CN101977318B - Dct量化的并行装置及其方法 - Google Patents
Dct量化的并行装置及其方法 Download PDFInfo
- Publication number
- CN101977318B CN101977318B CN 201010527976 CN201010527976A CN101977318B CN 101977318 B CN101977318 B CN 101977318B CN 201010527976 CN201010527976 CN 201010527976 CN 201010527976 A CN201010527976 A CN 201010527976A CN 101977318 B CN101977318 B CN 101977318B
- Authority
- CN
- China
- Prior art keywords
- discrete cosine
- cosine transform
- factor
- module
- input
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种DCT量化的并行装置及其方法。其装置包括:整数离散余弦变换模块,参数预处理模块以及量化模块。其方法的步骤为:(1)整数离散余弦变换模块分别对数据矩阵进行列整数离散余弦变换和行整数离散余弦变换;(2)参数预处理模块同时获取乘法因子、加法因子及移位因子;(3)量化模块完成符号提取运算、绝对值运算、乘法运算、加法运算、移位运算及转换运算。本发明采用4×4整数离散余弦变换,在避免解码端图像数据匹配问题的同时具有计算量小的优点。本发明充分利用了FPGA的并行处理结构,具有数据处理的效率高的优点。
Description
技术领域
本发明属于图像处理技术领域,更进一步涉及一种DCT(离散余弦变换)及量化的装置及其方法,可用于H.264(新一代视频压缩编码标准)的视频编码技术中。
背景技术
随着视频编解码技术的飞速发展,数据压缩技术得到了广泛的应用,其中离散余弦变换(DCT)及量化技术作为一种有效的数据压缩方法而被广泛应用在视频编解码领域。例如,杭州高特信息技术有限公司拥有的专利技术“一种DCT快速变换结构”(授权公告号CN 1326397C)。该专利技术采用查表运算替代乘法运算,完成一次DCT需要一次蝶形运算,24个加法器,同时利用流水线设计思想以提高运算速度。该专利存在的主要不足是:第一,由于该发明是针对8×8数据块的实数变换,实数的浮点运算将会造成解码端数据失配,引起漂移问题。第二,由于该发明只涉及离散余弦变换,在实际应用中,还需单独设计量化部分,将DCT和量化分开设计的方法必然导致系统实时性降低。第三,由于该发明只是针对8×8数据块的处理,所以对于只允许采用4×4数据块离散余弦变换的新一代视频压缩编码标准-H.264则无能为力。
发明内容
本发明的目的在于克服现有技术的不足,提出一种基于FPGA的集4×4整数离散余弦变换和量化为一体的并行装置及其方法。
为实现上述目的,实现本发明的具体装置包括整数离散余弦变换模块、参数预处理模块以及量化模块。离散余弦变换模块由列整数离散余弦变换模块和行整数离散余弦变换模块组成。参数预处理模块由地址产生单元1、乘法因子存储器、地址产生单元2、加法因子存储器、除法器、加法器1组成。量化模块由求绝对值单元、乘法器、加法器2、移位器、符号提取单元、转换单元组成。列整数离散余弦变换模块、行整数离散余弦变换模块通过总线串接后的输出端与量化模块中求绝对值单元、符号提取单元的输入端相连。地址产生单元1、乘法因子存储器通过总线串接后的输出端与量化模块中乘法器的输入端相连。地址产生单元2、加法因子存储器通过总线串接后的输出端与量化模块中加法器2的输入端相连。除法器、加法器1通过总线串接后的输出端与量化模块中移位器的输入端相连。在量化模块内部,求绝对值单元、乘法器、加法器2、移位器通过总线串接后的输出端与转换单元的输入端相连,符号提取单元的输出端与转换单元的输入端相连。
本发明方法的具体实施步骤如下:
(1)整数离散余弦变换。
1a)列整数离散余弦变换。将4×4数据矩阵输入到列整数离散余弦变换模块中,与该模块中的变换矩阵进行加法及移位运算。
1b)行整数离散余弦变换。将列整数离散余弦变换结果输入到行整数离散余弦变换模块中,与该模块中的变换矩阵进行加法及移位运算。
(2)参数预处理。
2a)获取乘法因子。参数预处理模块中地址产生单元1对输入的量化参数q进行求余运算,获得地址值a1=q%6,a1作为输入信号触发乘法因子存储器,输出与a1对应的存储单元中的乘法因子。
(3)量化。
3a)符号提取运算。量化模块中符号提取单元将步骤(1b)行离散余弦变换结果的16个数据的符号位依次存放到一个符号矢量寄存器中,提取出每个数据的符号位。
3b)绝对值运算。量化模块中求绝对值单元对步骤(1b)行离散余弦变换结果的16个数据进行绝对值运算。
3c)乘法运算。量化模块中乘法器对步骤3b)得到的16个绝对值与步骤2a)得到的16个乘法因子进行乘法运算。
3d)加法运算。量化模块中加法器2对步骤3c)得到的16个乘法结果与步骤2b)得到的16个加法因子进行加法运算。
3e)移位运算。量化模块中的移位器将步骤3d)得到的16个加法结果分别向右移位y个位数,y为步骤2c)中获得的移位因子。
3f)转换运算。量化模块中转换单元将步骤3a)得到的符号位添加到步骤3e)的移位结果上,使得无符号数转化为有符号数。
与现有技术比较,本发明具有如下优点:
第一,在视频编解码应用中,由于本发明采用4×4整数离散余弦变换,与采用8×8实数离散余弦变换相比,避免了解码端图像数据的匹配问题,使得图像质量更好。
第二,本发明将离散余弦变换中的乘法和量化中的乘法合二为一,统一由量化中步骤3c)的乘法运算实现,与现有技术中将两者分开的设计相比效率更高。而且本发明采用整数运算代替现有技术中的实数运算,可有效减少计算量,使得效率更高。
第三,本发明中由于采用并行处理技术,对整数离散余弦变换与参数预处理并行执行;对乘法因子、加法因子与移位因子的获取并行执行;对符号提取运算与求绝对值运算也是并行执行,所以本发明充分利用了FPGA的并行处理结构,使得数据处理的效率大大提高。
附图说明
图1是本发明装置的结构示意图。
图2是本发明方法的流程图。
图3是本发明的仿真结果示意图。
具体实施方式
下面结合附图,对本发明做进一步的描述。
步骤一、整数离散余弦变换。
在视频编码技术中,为了节省图像传输码率,需要将图像数据进行整数离散余弦变换,整数离散余弦变换可以有效去除图像信号中数据的相关性,从而实现对图像数据的压缩。在FPGA硬件实现中,通常将整数离散余弦变换分成列整数离散余弦变换、行整数离散余弦变换两个过程,以提高效率。
1a)列整数离散余弦变换。将4×4数据矩阵输入到列整数离散余弦变换模块中,与该模块中的变换矩阵进行加法及移位运算。
1b)行整数离散余弦变换。将列整数离散余弦变换结果输入到行整数离散余弦变换模块中,与该模块中的变换矩阵进行加法及移位运算。
步骤二、参数预处理。
为了对整数离散余弦变换后的结果进行后续的量化操作,需要做一些参数预处理的操作,以获取量化过程中需要的乘法因子、加法因子以及移位因子。
2a)获取乘法因子。乘法因子存储器划分为6个存储区,每个存储区设定为16个存储单元,每个单元中存放一个14位位宽的乘法因子。参数预处理模块中的地址产生单元1对输入的量化参数q进行求余运算,获得取值范围0~5的地址值a1=q%6,a1作为输入信号触发乘法因子存储器,并行输出与a1对应的存储区中16个存储单元内的乘法因子。
2b)获取加法因子。加法因子存储器设定为18个存储单元,每个单元中存放一个26位位宽的加法因子。参数预处理模块中的地址产生单元2对输入的帧类型i以及量化参数q进行除法与加法运算,获得取值范围0~17的地址值a2作为输入信号触发加法因子存储器,输出与a2对应的存储单元内的加法因子。
步骤三、量化。
在视频编码技术中,为了节省图像传输码率,在将图像数据进行整数离散余弦变换后,还需要对变换后的图像数据进行量化操作。量化操作可以减少图像编码的动态范围,从而在离散余弦变换压缩的基础上,实现对图像数据的进一步压缩。
3a)符号提取运算。量化模块中的符号提取单元取出步骤(1b)行离散余弦变换结果中16个数据的16个最高位,即符号位,将16个数据的符号位按照从低位到高位的顺序依次存放到一个16位的符号矢量寄存器中。
3b)求绝对值。量化模块中的求绝对值单元对步骤(1b)获得的行离散余弦变换结果中16个数据分别取绝对值,绝对值的获取是调用Verilog原语库中现存的求绝对值模块lpm_abs0来实现的。
3c)乘法运算。量化模块中的乘法器将步骤3b)得到的16个绝对值与步骤2a)得到的16个乘法因子对应相乘,调用Verilog原语库中现存的乘法器模块lpm_mult0实现乘法运算。
3d)加法运算。量化模块中的加法器2对步骤3c)得到的16个乘法结果分别与步骤2b)得到的加法因子进行加法运算,调用Verilog原语库中现存的加法器模块lpm_add_sub0实现加法运算。
3e)移位运算。量化模块中的移位器将步骤3d)得到的16个加法结果分别向右移位y个位数,y为步骤2c)获得的移位因子。
3f)转换运算。量化模块的转换单元取出步骤3a)获得的符号位矢量寄存器中的16个符号位信息,按照从低位到高位的顺序,将该16个符号位分别添加到步骤3e)获得的16个移位结果上,完成无符号数向有符号数转换的运算。
本发明的效果可通过以下仿真进一步说明。
本发明在Quartus II 8.0软件下进行仿真,输入帧类型信号i,输入量化参数q,输入待处理的16路并行数据(x00、x01、...、x33),经本发明的离散余弦变换及量化处理后,输出16路并行处理结果(y00、y01、...、y33)。图3的仿真波形中:在第5个时钟clk上升沿到来时,(y00、y01、...、y33)的值是第一组数据的处理结果,随后每个时钟clk上升沿到来时,(y00、y01、...、y33)的值是下一组数据的处理结果。图3中所有输出结果与经离散余弦变换及量化后的理论值完全一致,验证了本发明的正确性。
Claims (4)
1.一种DCT量化的并行装置,包括整数离散余弦变换模块、参数预处理模块以及量化模块,其特征在于:列整数离散余弦变换模块、行整数离散余弦变换模块通过总线串接后的输出端与量化模块中求绝对值单元、符号提取单元的输入端相连;地址产生单元1、乘法因子存储器通过总线串接后的输出端与量化模块中乘法器的输入端相连;地址产生单元2、加法因子存储器通过总线串接后的输出端与量化模块中加法器2的输入端相连;除法器、加法器1通过总线串接后的输出端与量化模块中移位器的输入端相连;求绝对值单元、乘法器、加法器2、移位器通过总线串接后的输出端与转换单元的输入端相连;符号提取单元的输出端与转换单元的输入端相连;其中:
所述的列整数离散余弦变换模块,可用于将4×4数据矩阵与该模块中的变换矩阵进行加法及移位运算;
所述的行整数离散余弦变换模块,可用于将列整数离散余弦变换结果与该模块中的变换矩阵进行加法及移位运算;
所述的求绝对值单元,可用于对行离散余弦变换结果的16个数据分别取绝对值;
所述的符号提取单元,可用于提取行离散余弦变换结果的16个数据的符号位;
所述的地址产生单元1,可用于对输入的量化参数进行求余运算,获得地址值;
所述的乘法因子存储器,可用于存储乘法因子;
所述的乘法器,可用于对行离散余弦变换结果的绝对值与存储单元内的乘法因子进行乘法运算;
所述的地址产生单元2,可用于对输入的帧类型i以及量化参数q进行除法及加法运算,获得地址值
所述的加法因子存储器,可用于存储加法因子;
所述的加法器2,可用于对乘法结果与加法因子进行加法运算;
所述的除法器和加法器1,可用于对输入的量化参数q进行除法及加法运算,获得移位因子
所述的移位器,可用于对加法结果进行移位操作;
所述的转换单元,可用于将无符号数转换成有符号数。
2.根据权利要求1所述DCT量化的并行装置,其特征在于:所述的乘法因子存储器划分为6个存储区,每个存储区设定为16个存储单元,每个单元中存放一个14位位宽的乘法因子。
3.根据权利要求1所述DCT量化的并行装置,其特征在于:所述的加法因子存储器设定为18个存储单元,每个单元中存放一个26位位宽的加法因子。
4.一种DCT量化的并行方法,包括如下步骤:
(1)整数离散余弦变换
1a)列整数离散余弦变换:将4×4数据矩阵输入到列整数离散余弦变换模块中,与该模块中的变换矩阵进行加法及移位运算;
1b)行整数离散余弦变换:将列整数离散余弦变换结果输入到行整数离散余弦变换模块中,与该模块中的变换矩阵进行加法及移位运算;
(2)参数预处理
2a)获取乘法因子:参数预处理模块中地址产生单元1对输入的量化参数q进行求余运算,获得地址值a1=q%6,输入地址值a1触发乘法因子存储器并行输出与a1对应的存储区中16个存储单元内的16个乘法因子;
(3)量化
3a)符号提取运算:量化模块的符号提取单元将步骤(1b)行离散余弦变换结果的16个数据的符号位依次存放到一个16位的符号矢量寄存器中,提取出每个数据的符号位;
3b)绝对值运算:量化模块中求绝对值单元对步骤(1b)行离散余弦变换结果的16个数据分别取绝对值;
3c)乘法运算:量化模块中乘法器对步骤3b)得到的16个绝对值与步骤2a)得到的16个乘法因子进行乘法运算;
3d)加法运算:量化模块中加法器2对步骤3c)得到的16个乘法结果与步骤2b)得到的16个加法因子进行加法运算;
3e)移位运算:量化模块中的移位器将步骤3d)得到的16个加法结果分别向右移位y个位数,y为步骤2c)获得的移位因子;
3f)转换运算:量化模块中转换单元将步骤3a)得到的符号位添加到步骤3e)的移位结果上,使得无符号数转化为有符号数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010527976 CN101977318B (zh) | 2010-10-29 | 2010-10-29 | Dct量化的并行装置及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010527976 CN101977318B (zh) | 2010-10-29 | 2010-10-29 | Dct量化的并行装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101977318A CN101977318A (zh) | 2011-02-16 |
CN101977318B true CN101977318B (zh) | 2012-02-08 |
Family
ID=43577160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010527976 Expired - Fee Related CN101977318B (zh) | 2010-10-29 | 2010-10-29 | Dct量化的并行装置及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101977318B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857756B (zh) * | 2012-07-19 | 2015-04-08 | 西安电子科技大学 | 适于hevc标准的变换编码器 |
CN103533378B (zh) * | 2013-10-09 | 2017-01-18 | 天津大学 | 基于fpga的三维整数dct变换系统及其变换方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553707A (zh) * | 2003-06-02 | 2004-12-08 | 杭州高特信息技术有限公司 | 一种dct快速变换结构 |
JP2005070938A (ja) * | 2003-08-21 | 2005-03-17 | Matsushita Electric Ind Co Ltd | 信号処理装置及びそれを用いた電子機器 |
CN1770864A (zh) * | 2005-09-09 | 2006-05-10 | 海信集团有限公司 | 基于avs的4×4离散余弦变换的快速并行装置及其方法 |
CN101778291A (zh) * | 2010-01-27 | 2010-07-14 | 山东大学 | 基于提升结构的dct变换结构及其方法 |
-
2010
- 2010-10-29 CN CN 201010527976 patent/CN101977318B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553707A (zh) * | 2003-06-02 | 2004-12-08 | 杭州高特信息技术有限公司 | 一种dct快速变换结构 |
JP2005070938A (ja) * | 2003-08-21 | 2005-03-17 | Matsushita Electric Ind Co Ltd | 信号処理装置及びそれを用いた電子機器 |
CN1770864A (zh) * | 2005-09-09 | 2006-05-10 | 海信集团有限公司 | 基于avs的4×4离散余弦变换的快速并行装置及其方法 |
CN101778291A (zh) * | 2010-01-27 | 2010-07-14 | 山东大学 | 基于提升结构的dct变换结构及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101977318A (zh) | 2011-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112508125A (zh) | 一种图像检测模型的高效全整数量化方法 | |
CN102158694B (zh) | 一种基于gpu的遥感图像解压缩方法 | |
CN102065309B (zh) | 一种dct实现方法及dct实现电路 | |
CN103927290A (zh) | 一种任意阶下三角复矩阵求逆运算方法 | |
US8170334B2 (en) | Image processing systems employing image compression and accelerated image decompression | |
CN107154062A (zh) | 一种WebP有损压缩算法的实现方法、装置及系统 | |
US8170333B2 (en) | Image processing systems employing image compression | |
CN102624357B (zh) | 一种分数延迟数字滤波器的实现结构 | |
CN103823133A (zh) | 一种基于压缩感知的在线电能质量监测系统 | |
CN101977318B (zh) | Dct量化的并行装置及其方法 | |
CN104320668B (zh) | Hevc/h.265的dct变换和反变换的simd优化方法 | |
CN101426134A (zh) | 用于视频编解码的硬件装置及方法 | |
CN103985083A (zh) | 一种可重构的一维卷积处理器 | |
CN105635014A (zh) | 基于查表法的cpm调制数字化实现方法及数字化cpm调制模块 | |
CN101778291B (zh) | 基于提升结构的dct变换结构及其方法 | |
CN102300092B (zh) | 一种基于提升格式的9/7小波逆变换的图像解压缩方法 | |
CN113222129B (zh) | 一种基于多级缓存循环利用的卷积运算处理单元及系统 | |
CN102970545A (zh) | 一种基于二维离散小波变换算法的静态图像压缩方法 | |
CN111008691A (zh) | 一种权值和激活值都二值化的卷积神经网络加速器架构 | |
CN103902762A (zh) | 一种针对正定对称矩阵进行最小二乘方程求解的电路结构 | |
CN103092559A (zh) | 用于hevc标准下dct/idct电路的乘法器结构 | |
CN104700370B (zh) | 基于半确定性传感矩阵的图像压缩感知方法 | |
CN102006478A (zh) | 一种视频解码的反变换方法及装置 | |
CN102647597A (zh) | 一种基于多边形裁剪dct的jpeg图像压缩方法 | |
CN115147283A (zh) | 一种图像重建方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120208 Termination date: 20151029 |
|
EXPY | Termination of patent right or utility model |