一种dct实现方法及dct实现电路的制作方法

文档序号:7635757阅读:506来源:国知局
专利名称:一种dct实现方法及dct实现电路的制作方法
技术领域
本发明属于图像信号处理技术领域,具体地说,是涉及一种DCT (离散余弦变换) 实现电路。
背景技术
随着多媒体技术的快速发展,信号的分辨率和采样率都在提高,由此带来的数据 量的急剧增多加大了数据传输和存储的压力,因此对于高速实时的数据压缩具有重要的意 义。二维DCT是被广泛使用的图像变换域编码方法,该方法使用了非均勻量量化的 方法来降低被处理图像中的高频分量,优化掉人眼不易察觉的冗余图像信息,并在优化 后将图像数据转换为可归一、量化和可变长度编码的数据。图像信息经过二维DCT变 换后绝大部分的能量集中在直流分量和少数低频分量上,减少了空间冗余。
权利要求
1.一种DCT实现方法,其特征在于包括以下步骤(1)、将接收到的图像数据划分成若干个MXM的图像数据块,将每一个图像数据块中 的数据逐行或者逐列串行输入到M个寄存器中;(2)、在所述的M个寄存器中,第i个寄存器将当前输入的数据在下一个时钟周期到来 时,输出至乘法模块与MXM的常系数矩阵中的第i行的常系数相乘,其中,所述乘法模块在 接收到第i个寄存器输出的第d个数据时,将该数据与常系数矩阵中的第i行第j列的常 系数相乘,所述j为d/M的余数,并将乘法运算后的结果按行输送至加法模块;(3)、所述加法模块接收乘法模块输出的M行数据,并以M为单位对各行的连续M个数 据进行求和运算后输出;已参与求和运算的M个数据从加法模块中删除;(4)、将所述加法模块输出的数据存入存储模块,并在存储模块中以MXM矩阵的形式 逐行依次存储,形成一个MXM的数据块,得到图像数据块的一维DCT运算结果;(5)、所述存储模块对于按照逐行存储的MXM数据块以逐列的方式输出,并对后续读 入的数据逐列依次存储,对于按照逐列存储的MXM数据块以逐行的方式输出,并对后续读 入的数据逐行依次存储;通过存储模块输出的逐列或者逐行数据串行输入到另外M个寄存 器中,重复执行步骤O)、(3)的过程,得到图像数据块的二维DCT运算结果;其中,M = 2η,η为正整数;i为不大于M的正整数。
2.根据权利要求1所述的DCT实现方法,其特征在于当MXM的图像数据块以逐行的 方式依次串行输入到所述的M个寄存器中时,在所述乘法模块中保存的常系数矩阵为DCT 变换的常规系数矩阵;当MXM的图像数据块以逐列的方式依次串行输入到所述的M个寄存 器中时,在所述乘法模块中保存的常系数矩阵为DCT变换的常规系数矩阵的转置。
3.根据权利要求2所述的DCT实现方法,其特征在于通过控制寄存器对所述的每一 个寄存器中输入的数据个数分别进行计数,且由1累计满M后,重新开始计数;所述乘法模 块根据控制寄存器的计数值,确定将当前接收到的寄存器输出的数据与MXM的常系数矩 阵中的哪一列上的常系数相乘。
4.根据权利要求1所述的DCT实现方法,其特征在于在所述加法模块中包括加法器 和存储器,所述存储器临时存储加法器输出的结果,若连续M个数据未全部完成求和运算, 则将结果返回至加法器继续累加,直至连续M个数据全部完成求和运算后,将结果输出,并 清空存储器中的数据。
5.根据权利要求1至4中任一项所述的DCT实现方法,其特征在于所述的M= 8 ;所 述存储模块是容量至少为64X8bit的RAM。
6.一种DCT实现电路,其特征在于包括一维运算电路和二维运算电路,所述一维运算 电路包括M个串联的第一寄存器、M个存储有常系数向量的乘法器、M个加法器以及一个存 储模块;将接收到的图像数据划分成若干个MXM的图像数据块后,将每一个图像数据块中 的数据逐行或者逐列串行输入到M个第一寄存器中;其中,所述的M个第一寄存器将当前输入的数据在下一个时钟周期到来时,输出至与其一一 对应连接的乘法器中;所述的M个乘法器将接收到的数据与其内部存储的常系数向量中与该数据同列的常 系数相乘后,输出结果至加法器中;所述M个加法器与M个乘法器一一对应连接,对连续输入的M个数据进行求和运算后,输出至存储模块进行保存,并丢弃上述求和运算后的M个数据;所述存储模块对接收到的数据以MXM矩阵的形式逐行依次存储,形成一个MXM的数 据块,得到图像数据块的一维DCT运算结果;所述存储模块对于按照逐行存储的MXM数据 块以逐列的方式输出,并对后续读入的数据逐列依次存储,对于按照逐列存储的MXM数据 块以逐行的方式输出,并对后续读入的数据逐行依次存储;在所述二维运算电路中也包括M个串联的第一寄存器、M个存储有常系数向量的乘法 器以及M个加法器,且连接关系与所述的一维运算电路相同;在二维运算电路中,所述的M 个第一寄存器串行读取所述存储模块输出的数据,通过乘法器和加法器执行同一维运算电 路中相同器件执行的运算过程后,输出图像数据块的二维DCT运算结果;其中,M= 2η,η为正整数。
7.根据权利要求6所述的DCT实现电路,其特征在于当MXM的图像数据块以逐行的 方式依次串行输入到所述一维运算电路中的M个寄存器中时,在所述一维运算电路和二维 运算电路中,第i个乘法器中保存的常系数向量是DCT变换的常规系数矩阵的第i行;当 MXM的图像数据块以逐列的方式依次串行输入到所述一维运算电路中的M个寄存器中时, 在所述一维运算电路和二维运算电路中,第i个乘法器中保存的常系数向量是DCT变换的 常规系数矩阵的第i列;其中,i为不大于M的正整数。
8.根据权利要求7所述的DCT实现电路,其特征在于在所述的一维运算电路和二维 运算电路中均包含有一个控制寄存器,对M个第一寄存器中输入的数据个数分别进行计 数,且由1累计满M后,重新开始计数;并在每一个时钟周期输出与所述M个第一寄存器 一一对应的计数值,一一对应地传输至M个乘法器中;所述乘法器根据接收到的计数值确 定将计数值所指列的常系数与当前接收到的第一寄存器输出的数据相乘。
9.根据权利要求8所述的DCT实现电路,其特征在于在所述的一维运算电路和二维 运算电路中还均包含有M个第二寄存器、与所述的M个第二寄存器一一对应连接的选择器、 以及与M个第二寄存器的输出端连接的多路选择器;所述的M个第二寄存器与所述的M个 加法器一一对应连接,所述第二寄存器临时存储加法器输出的结果,所述选择器连接控制 寄存器,接收控制寄存器输出的计数值,若计数值小于M,则控制加法器将当前接收到的数 据与第二寄存器中保存的数据进行累加,否则,输出累加结果至多路选择器,并清空第二寄 存器中的数据;所述多路选择器在所述控制寄存器的控制下,将运算后的结果存入存储模 块。
10.根据权利要求1至9中任一项所述的DCT实现电路,其特征在于在所述存储模块 中包括RAM和状态机,通过状态机控制RAM将接收到的数据逐行存储或逐列存储;其中,所 述RAM的容量至少为64X8bit,所述M = 8。
全文摘要
本发明公开了一种DCT实现方法,包括以下步骤1、将M×M图像数据块中的数据串行输入至M个寄存器中;2、寄存器将数据输出至乘法模块,与乘法模块中保存的常系数矩阵进行乘法运算并将结果送至加法模块;3、加法模块对数据求和输出;4、并以M×M矩阵的形式逐行或者逐列存储到存储模块中,形成M×M的数据块,完成一维DCT运算;5、将存储模块中的数据逐列或者逐行输入到另外M个寄存器中,重复执行步骤2、3的过程,完成二维DCT运算。本发明同时公开了一种DCT实现电路,包括一维运算电路和二维运算电路,均采用串行运算的方式,运算速度快,不用串并转换,具有较强的抗干扰能力和中断恢复功能。
文档编号H04N7/30GK102065309SQ20101058863
公开日2011年5月18日 申请日期2010年12月7日 优先权日2010年12月7日
发明者刘书豪 申请人:青岛海信信芯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1