CN102065309B - 一种dct实现方法及dct实现电路 - Google Patents

一种dct实现方法及dct实现电路 Download PDF

Info

Publication number
CN102065309B
CN102065309B CN 201010588632 CN201010588632A CN102065309B CN 102065309 B CN102065309 B CN 102065309B CN 201010588632 CN201010588632 CN 201010588632 CN 201010588632 A CN201010588632 A CN 201010588632A CN 102065309 B CN102065309 B CN 102065309B
Authority
CN
China
Prior art keywords
data
register
line
dct
row
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.)
Active
Application number
CN 201010588632
Other languages
English (en)
Other versions
CN102065309A (zh
Inventor
刘书豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hisense Visual Technology Co Ltd
Original Assignee
Qingdao Hisense Xinxin Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao Hisense Xinxin Technology Co Ltd filed Critical Qingdao Hisense Xinxin Technology Co Ltd
Priority to CN 201010588632 priority Critical patent/CN102065309B/zh
Publication of CN102065309A publication Critical patent/CN102065309A/zh
Application granted granted Critical
Publication of CN102065309B publication Critical patent/CN102065309B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种DCT实现方法,包括以下步骤:1.将M×M图像数据块中的数据串行输入至M个寄存器中;2.寄存器将数据输出至乘法模块,与乘法模块中保存的常系数矩阵进行乘法运算并将结果送至加法模块;3.加法模块对数据求和输出;4.并以M×M矩阵的形式逐行或者逐列存储到存储模块中,形成M×M的数据块,完成一维DCT运算;5.将存储模块中的数据逐列或者逐行输入到另外M个寄存器中,重复执行步骤2、3的过程,完成二维DCT运算。本发明同时公开了一种DCT实现电路,包括一维运算电路和二维运算电路,均采用串行运算的方式,运算速度快,不用串并转换,具有较强的抗干扰能力和中断恢复功能。

Description

一种DCT实现方法及DCT实现电路
技术领域
本发明属于图像信号处理技术领域,具体地说,是涉及一种DCT(离散余弦变换)实现电路。
背景技术
随着多媒体技术的快速发展,信号的分辨率和采样率都在提高,由此带来的数据量的急剧增多加大了数据传输和存储的压力,因此对于高速实时的数据压缩具有重要的意义。
二维DCT是被广泛使用的图像变换域编码方法,该方法使用了非均匀量量化的方法来降低被处理图像中的高频分量,优化掉人眼不易察觉的冗余图像信息,并在优化后将图像数据转换为可归一、量化和可变长度编码的数据。图像信息经过二维DCT变换后绝大部分的能量集中在直流分量和少数低频分量上,减少了空间冗余。JPEG(Joint Photographic Experts Group,联合图像专家组)、MPEG(MovingPicture Expert Group,运动图像专家组),H.263以及我国自主研发的AVS等标准都采用了DCT技术作为压缩编码的主要方案。
二维DCT的定义如下:
x ( n , m ) = 2 MN [ Σ n = 0 N - 1 Σ m = 0 M - 1 C ( k ) C ( j ) X ( k , j ) cos ( 2 n + 1 ) kπ 2 N cos ( 2 m + 1 ) jπ 2 M ]
其中,K=0,1,...,N-1;J=0,1,...,M-1;
Figure BSA00000386135000012
二维DCT最简单明了实现方法是采用行列分离法,即首先对矩阵的每一行进行DCT,
然后再对每一列进行DCT,其原理简述如下:
X ( k , j ) = 2 N Σ n = 0 N - 1 [ 2 M Σ m = 0 M - 1 x ( n , m ) cos ( 2 m + 1 ) jπ 2 M ] cos ( 2 n + 1 ) kπ 2 N
即对矩阵运算进行变换后可转换为Y=CXCt=C(CXt)t,对二维DCT进行的两次运算使用的是同一个系数表。
行列分离法减少了运算量,但是运算速度有待提高,而且需要使用较多加法器,浪费电路资源。
为了解决上述问题,有人提出了一种DCT快速变换结构,利用奇偶对称性来减少运算量,但是在该方案中寄存器组的设计需要等一组数据凑齐后进行串并转换;此外该方案没有数据中断和恢复功能,数据中断后便停止运算。
采用上述方法设计的DCT快速变换电路,进行串并转换需要较多的加法器,浪费电路开支。
基于以上原因,如何发明一种DCT的快速实现方法,节约电路资源,无需进行串并转换,而且可处理不连续的块数据。
发明内容
本发明为了解决现有DCT实现方法的运算速度慢,而且需将输入数据进行串并转换,提供了一种DCT实现方法,运算速度快,无需将数据串并转换。
为了解决上述技术问题,本发明采用以下技术方案予以实现:
一种DCT实现方法,包括以下步骤:
(1)、将接收到的图像数据划分成若干个M×M的图像数据块,将每一个图像数据块中的数据逐行或者逐列串行输入到M个寄存器中;
(2)、在所述的M个寄存器中,第i个寄存器将当前输入的数据在下一个时钟周期到来时,输出至乘法模块与M×M的常系数矩阵中的第i行的常系数相乘,其中,所述乘法模块在接收到第i个寄存器输出的第d个数据时,将该数据与常系数矩阵中的第i行第j列的常系数相乘,所述j为d/M的余数,并将乘法运算后的结果按行输送至加法模块;
(3)、所述加法模块接收乘法模块输出的M行数据,并以M为单位对各行的连续M个数据进行求和运算后输出;已参与求和运算的M个数据从加法模块中删除;
(4)、将所述加法模块输出的数据存入存储模块,并在存储模块中以M ×M矩阵的形式逐行依次存储,形成一个M×M的数据块,得到图像数据块的一维DCT运算结果;
(5)、所述存储模块对于按照逐行存储的M×M数据块以逐列的方式输出,并对后续读入的数据逐列依次存储,对于按照逐列存储的M×M数据块以逐行的方式输出,并对后续读入的数据逐行依次存储;通过存储模块输出的逐列或者逐行数据串行输入到另外M个寄存器中,重复执行步骤(2)、(3)的过程,得到图像数据块的二维DCT运算结果;
其中,M=2n,n为正整数;i为不大于M的正整数。
进一步的,当M×M的图像数据块以逐行的方式依次串行输入到所述的M个寄存器中时,在所述乘法模块中保存的常系数矩阵为DCT变换的常规系数矩阵;当M×M的图像数据块以逐列的方式依次串行输入到所述的M个寄存器中时,在所述乘法模块中保存的常系数矩阵为DCT变换的常规系数矩阵的转置。
又进一步的,通过控制寄存器对所述的每一个寄存器中输入的数据个数分别进行计数,且由1累计满M后,重新开始计数;所述乘法模块根据控制寄存器的计数值,确定将当前接收到的寄存器输出的数据与M×M的常系数矩阵中的哪一列上的常系数相乘。
再进一步的,在所述加法模块中包括加法器和存储器,所述存储器临时存储加法器输出的结果,若连续M个数据未全部完成求和运算,则将结果返回至加法器继续累加,直至连续M个数据全部完成求和运算后,将结果输出,并清空存储器中的数据。
优选的,所述的M=8;所述存储模块是容量至少为64×8bit的RAM。
基于上述DCT实现方法,本发明又提供了一种DCT实现电路,包括一维运算电路和二维运算电路,所述一维运算电路包括M个串联的第一寄存器、M个存储有常系数向量的乘法器、M个加法器以及一个存储模块;将接收到的图像数据划分成若干个M×M的图像数据块后,将每一个图像数据块中的数据逐行或者逐列串行输入到M个第一寄存器中;其中,
所述的M个第一寄存器将当前输入的数据在下一个时钟周期到来时,输出至与其一一对应连接的乘法器中;
所述的M个乘法器将接收到的数据与其内部存储的常系数向量中与该数据同列的常系数相乘后,输出结果至加法器中;
所述M个加法器与M个乘法器一一对应连接,对连续输入的M个数据进行求和运算后,输出至存储模块进行保存,并丢弃上述求和运算后的M个数据;
所述存储模块对接收到的数据以M×M矩阵的形式逐行依次存储,形成一个M×M的数据块,得到图像数据块的一维DCT运算结果;所述存储模块对于按照逐行存储的M×M数据块以逐列的方式输出,并对后续读入的数据逐列依次存储,对于按照逐列存储的M×M数据块以逐行的方式输出,并对后续读入的数据逐行依次存储;
在所述二维运算电路中也包括M个串联的第一寄存器、M个存储有常系数向量的乘法器以及M个加法器,且连接关系与所述的一维运算电路相同;在二维运算电路中,所述的M个第一寄存器串行读取所述存储模块输出的数据,通过乘法器和加法器执行同一维运算电路中相同器件执行的运算过程后,输出图像数据块的二维DCT运算结果;
其中,M=2n,n为正整数。
进一步的,当M×M的图像数据块以逐行的方式依次串行输入到所述一维运算电路中的M个寄存器中时,在所述一维运算电路和二维运算电路中,第i个乘法器中保存的常系数向量是DCT变换的常规系数矩阵的第i行;当M×M的图像数据块以逐列的方式依次串行输入到所述一维运算电路中的M个寄存器中时,在所述一维运算电路和二维运算电路中,第i个乘法器中保存的常系数向量是DCT变换的常规系数矩阵的第i列;其中,i为不大于M的正整数。
又进一步的,在所述的一维运算电路和二维运算电路中均包含有一个控制寄存器,对M个第一寄存器中输入的数据个数分别进行计数,且由1累计满M后,重新开始计数;并在每一个时钟周期输出与所述M个第一寄存器一一对应的计数值,一一对应地传输至M个乘法器中;所述乘法器根据接收到的计数值确定将计数值所指列的常系数与当前接收到的第一寄存器输出的数据相乘。
再进一步的,在所述的一维运算电路和二维运算电路中还均包含有M个第二寄存器、与所述的M个第二寄存器一一对应连接的选择器、以及与M个第二寄存器的输出端连接的多路选择器;所述的M个第二寄存器与所述的M个加法器一一对应连接,所述第二寄存器临时存储加法器输出的结果,所述选择器连接控制寄存器,接收控制寄存器输出的计数值,若计数值小于M,则控制加法器将当前接收到的数据与第二寄存器中保存的数据进行累加,否则,输出累加结果至多路选择器,并清空第二寄存器中的数据;所述多路选择器在所述控制寄存器的控制下,将运算后的结果存入存储模块。
更进一步的,在所述存储模块中包括RAM和状态机,通过状态机控制RAM将接收到的数据逐行存储或逐列存储;优选的,所述RAM的容量至少为64×8bit,所述M=8。
与现有技术相比,本发明的优点和积极效果是:本发明的DCT实现方法采用若干个寄存器组,将常系数矩阵中的常系数按行或者按列存放在乘法器中,由控制寄存器控制乘法器,控制选择串行输入的数据相乘的系数,避免了将串行数据转换为并行数据再进行DCT运算的过程,提高了DCT运算速度,而且具有数据中断和恢复功能,使用本方法设计的电路,减少了加法器的使用,节约了电路资源。
结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
附图说明
图1是本发明所提出的DCT实现电路的一种实施例的二维DCT运算电路原理图;
图2是本发明所提出的DCT实现方法的二维DCT运算流程图;
图3是图1中一维DCT运算电路的运算原理图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步详细地说明。
本发明为了提高DCT运算速度,在数据输入端口不需要对输入数据进行串并转换,同时提高抗干扰能力,前端数据输入停止对后端电路不造成影响,提供了一种DCT实现方法及其DCT实现电路,将二维DCT运算采用行列分离运算的方式,运算速度快,而且直接将串行的输入数据进行DCT运算,不用串并转换,此外具有较强的抗干扰能力,具有中断恢复功能。
实施例一,参见图2所示,本实施例提出了一种DCT实现方法,以将图像数据划分为8×8的图像数据块为例,说明本实施例的实现方法,包括以下步骤:
(1)、将接收到的图像数据划分成若干个8×8的图像数据块,将每一个图像数据块中的数据逐行的方式串行输入到8个寄存器中,因此,第一个输入数据data1通过数据端口推送至寄存器reg0中;
(2)、还包括乘法模块,为了方便各行矩阵的乘法运算,所述的乘法模块包含有若干个与所述8个寄存器一一对应的乘法子模块:乘法运算0至乘法运算7,reg0将当前输入的数据在下一个时钟周期到来时,输出至乘法运算0中,所述的乘法运算0中存储有8×8的常系数矩阵中的第1行的常系数,以此类推,乘法运算8中存储有8×8的常系数矩阵中的第8行的常系数。data1被推入至乘法运算0中与系数行的第一个常系数相乘,当输入的第二个数据data2被输入至乘法运算0时,与系数行的第二个常系数相乘,以此类推,并将乘法运算后的结果按行输送至加法模块;当data1被送至reg1,并由reg1送至乘法运算1中,则data1与乘法运算1中与系数行的第一个常系数相乘,以此类推,依次完成各寄存器所对应乘法器的乘法计算,当8×8的图像数据块以逐列的方式依次串行输入到所述的8个寄存器中时,在所述乘法模块中保存的常系数矩阵为DCT变换的常规系数矩阵的转置,即所述的乘法运算0中存储有8×8的常系数矩阵中的第1列的常系数,以此类推,乘法运算8中存储有8×8的常系数矩阵中的第8列的常系数,所述的输入数据与常系数的计算由控制寄存器控制,控制寄存器对所述的每一个寄存器中输入的数据个数分别进行计数,且由1累计满8后,重新开始计数,所述乘法模块根据控制寄存器的计数值,确定将当前接收到的寄存器输出的数据与8×8的常系数矩阵中的哪一列上的常系数相乘,才能使输入数据准确的与其相对应的系数相乘。
(3)、为了方便各行矩阵的加法运算,加法模块中设有与所述乘法子模块一一对应的加法子模块,接收乘法模块输出的数据,在各加法子模块中,以8为单位对各行的连续8个数据进行求和运算输出;8个求和计算全部完成后,已参与求和运算的8个数据从加法模块中删除;
为了方便加法结果的计算和保存,还包括存储器,存储器用于临时存储加法器输出的结果,若连续8个数据未全部完成求和运算,则将结果返回至加法器继续累加,直至连续8个数据全部完成求和运算后,将结果输出,并清空存储器中的数据。
(4)、将所述加法模块输出的数据存入至少为64×8bit的存储模块,本实施例中采用容量为64×8bit的RAM进行存储,并在RAM中以8×8矩阵的形式逐行依次存储,形成一个8×8的数据块,得到图像数据块的一维DCT运算结果,其中RAM可以为静态随机存储器SRAM或者是动态随机存储器DRAM;
(5)、所述RAM对于完成一维DCT运算后将运算结果按照8×8数据块逐行存储的话,则二维DCT运算读取时以逐列的方式读出,当RAM中再次写入一维DCT运算结果时,按照逐列的方式依次存储,对于按照逐列存储的8×8数据块,读出的时候以逐行的方式输出,并对后续读入的数据逐行依次存储;这种读写方式避免了乒乓RAM,通过RAM输出的逐列或逐行数据串行输入到另外8个寄存器中,重复执行步骤(2)、(3)的过程,在此不做赘述,得到图像数据块的二维DCT运算结果。
当然,可以根据实际需求将图像数据划分为M×M的图像数据块,M=2n,n为正整数,数据块的大小不为限制本实施例的条件。
实施例二,本实施例以一种DCT实现电路为例对本实施例所提出的DCT实现方法进行详细描述。
参见图1所示,本实施例的DCT实现电路包括一维运算电路和二维运算电路两部分,所述的一维运算电路包括M个第一寄存器,M个乘法器,以及M个加法器,所述的M个第一寄存器采用串联的方式连接,所述的M个第一寄存器的输出端与M个乘法运器的输入端一一对应连接,所述的M个加法器的输入端与M个乘法器的输出端一一对应连接,数据串行输入至所述的第一寄存器,在时钟周期信号下,第一寄存器向下一个第一寄存器传输数据,而且在第一寄存器组输出数据的同时将数据传送给乘法器进行乘法运算,由于M个乘法器是与M个第一寄存器一一对应连接的,因此每个第一寄存器是将数据传送给与其相对应的乘法器,所述的乘法器存储有常系数向量,所述的DCT实现电路还包括与M个加法器的输出端一一对应连接的M个第二寄存器,乘法器将乘法运算结果输送至与其对应的加法器,并将加法结果保存至与所述加法器相对应的第二寄存器中,所述的M个第二寄存器的输出端一一对应连接有选择器,因此共有M个选择器,本实施例的一维运算电路还包括控制寄存器,所述的控制寄存器同时M个选择器以及M个乘法器的输入端连接。所述的二维运算电路与所述一维运算电路结构一致,一维运算电路和二维运算电路通过存储模块连接,所述的一维运算电路中的选择器输出端与存储模块的输入端连接,所述存储模块的输出端与二维运算电路的第一个第一寄存器连接。
为了使电路结构稳定,所述选择器的输出端连接有一个多路选择器,所述的多路选择器由控制寄存器控制,选通所述M个选择器的通道,选择器通过多路选择器与所述的存储模块连接。
由于目前的图像处理中一般将图像分成8×8的块,因此,本实施例以M=8为例进行说明。
8×8的数据块逐行串行的方式输入一维运算电路中,首先将数据送至第一寄存器组中的寄存器0中,在时钟周期信号的作用下,寄存器0将数据推送至寄存器1,同时将数据推送至乘法器0,控制寄存器中标示了该数据在行矩阵中的位置,由于所述的每个乘法器中存储了一行常系数矩阵中的一行系数,控制寄存器对所述的每一个寄存器中输入的数据个数分别进行计数,且由1累计满8后,重新开始计数,控制寄存器将该数据在行矩阵中的位置输入乘法器中,在常系数矩阵中选择相乘的系数,并将乘法结果推送至加法器,加法器的初始为0,加法运算后将结果保存至第二寄存器组中的寄存器0中,控制寄存器标示该行的数据是否全部完成计算,未完成则将前一步的求和结果送至加法器,与加法器中新输入的乘法结果相加,完成加法运算后结果仍保持在第二寄存器中,直至该行的数据全部完成计算,控制器通过控制选择器,将加法运算结果输入多路选择器,并通过控制多路选择器将数据存储至RAM中,并清空第二寄存器的数据,二维运算电路的结构与一维矩阵结构一致,二维矩阵通过读取RAM中的数据,进行列矩阵DCT运算,最终由二维运算电路中的控制器控制输出二维DCT运算的结果,其他的存储器工作方式依次类推,不再做赘述,在该行的最后一个时钟周期完成所有运算后被丢弃,
当然可以根据实际需要设置M=2n(n为正整数),图像数据块的大小不为限制本实施例的条件。
本实施例寄存器组不需要等待一组数据凑齐进行串并转换,直接将串行输入的数据进行DCT运算,运算方式较为简单,加法器数量较少,节约了电路资源。
为了节省存储器空间,根据图像灰度值的范围,即可以完成存储图像值又不浪费寄存器资源,所述的第一寄存器和第三寄存器为优选采用8位寄存器。
同样的,为了节省存储器空间,所述的第二寄存器优选采用11位寄存器。
为了简化电路结构,降低制作成本,所述的一维运算电路和二维运算电路中的控制寄存器包括8个3位寄存器,如图3所示,8个3位控制寄存器通过与8个第一寄存器一一对应连接,可以用来标示当前数据是矩阵运算中行向量或列向量上的第几个元素,以及向与其所连接的器件中发出控制脉冲信号,达到控制的目的。
为了避免电路资源浪费,所述的乘法器和加法器的个数均为8,所述的选择器的个数为8,这样既可以完成发明目的,又节约了电路资源。
所述存储模块容量至少为64×8bit,为了方便存储,本实施例中采用容量为64×8bit的RAM进行存储,并在RAM中以8×8矩阵的形式逐行依次存储,形成一个8×8的数据块,得到图像数据块的一维DCT运算结果,其中RAM可以为静态随机存储器SRAM或者是动态随机存储器DRAM;
在RAM中设置有控制读写方式的状态机,在列矩阵DCT运算过程中需要使用行矩阵DCT运算的第1,8,16,24,32,40,48,56个结果,如果将深度为64的RAM看作是8×8的阵列的话,如果行矩阵DCT运算完成后按逐行的顺序存储至RAM,则列矩阵DCT运算需按列的顺序进行读取,由于行矩阵DCT运算连续进行,会有数据连续写入RAM,在下一次写入时改成按列写入,从而避免了乒乓RAM,节省了硬件资源,若改变行矩阵DCT的存储顺序,反之亦然,不再做赘述。
此外,在行矩阵DCT电路的乘法运算中,由于一维DCT输入为YUV信号数据,是无符号数,所以在加法移位处理中采用了高位补0的操作,而在列矩阵DCT电路中,输入的是一维矩阵结果,是有符号数据,因此高数据位填补使用的是输入数据的最高bit位数据。
在行矩阵DCT运算中,每个周期中只有一路乘法运算会完全完成,因此在有效数据输入8个周期后开始,以每周期一个数据的速度存入RAM中,避免了数据的堆积。
本实施例的行矩阵DCT运算当数据停止输入后,一维矩阵的第一寄存器停止自加,整个运算部分均停止工作,但不影响列矩阵的DCT处理,列矩阵DCT运算依然会将已有的处理结果完全处理完毕后输出,并且可以当行矩阵DCT再次输入数据时继续进行处理,实现了数据中断和恢复功能。
本实施例的DCT实现电路,减少了加法器的使用,节约了电路资源。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

Claims (8)

1.一种DCT实现方法,其特征在于:包括以下步骤:
(1)、将接收到的图像数据划分成若干个M×M的图像数据块,将每一个图像数据块中的数据逐行或者逐列串行输入到M个寄存器中,当M×M的图像数据块以逐行的方式依次串行输入到所述的M个寄存器中时,在乘法模块中保存的常系数矩阵为DCT变换的常规系数矩阵;当M×M的图像数据块以逐列的方式依次串行输入到所述的M个寄存器中时,在所述乘法模块中保存的常系数矩阵为DCT变换的常规系数矩阵的转置;
(2)、在所述的M个寄存器中,第i个寄存器将当前输入的数据在下一个时钟周期到来时,输出至乘法模块与M×M的常系数矩阵中的第i行的常系数相乘,其中,所述乘法模块在接收到第i个寄存器输出的第d个数据时,将该数据与常系数矩阵中的第i行第j列的常系数相乘,所述j为d/M的余数,并将乘法运算后的结果按行输送至加法模块;
(3)、所述加法模块接收乘法模块输出的M行数据,并以M为单位对各行的连续M个数据进行求和运算后输出;已参与求和运算的M个数据从加法模块中删除;
(4)、将所述加法模块输出的数据存入存储模块,并在存储模块中以M×M矩阵的形式逐行依次存储,形成一个M×M的数据块,得到图像数据块的一维DCT运算结果;
(5)、所述存储模块对于按照逐行存储的M×M数据块以逐列的方式输出,并对后续读入的数据逐列依次存储,对于按照逐列存储的M×M数据块以逐行的方式输出,并对后续读入的数据逐行依次存储;通过存储模块输出的逐列或者逐行数据串行输入到另外M个寄存器中,重复执行步骤(2)、(3)的过程,得到图像数据块的二维DCT运算结果;
其中,M=2n,n为正整数;i为不大于M的正整数。
2.根据权利要求1所述的DCT实现方法,其特征在于:通过控制寄存器对所述的每一个寄存器中输入的数据个数分别进行计数,且由1累计满M后,重新开始计数;所述乘法模块根据控制寄存器的计数值,确定将当前接收到的寄存器输出的数据与M×M的常系数矩阵中的哪一列上的常系数相乘。
3.根据权利要求1所述的DCT实现方法,其特征在于:在所述加法模块中包括加法器和存储器,所述存储器临时存储加法器输出的结果,若连续M个数据未全部完成求和运算,则将结果返回至加法器继续累加,直至连续M个数据全部完成求和运算后,将结果输出,并清空存储器中的数据。
4.根据权利要求1至3中任一项所述的DCT实现方法,其特征在于:所述的M=8;所述存储模块是容量至少为64×8bit的RAM。
5.一种DCT实现电路,其特征在于:包括一维运算电路和二维运算电路,所述一维运算电路包括M个串联的第一寄存器、M个存储有常系数向量的乘法器、M个加法器以及一个存储模块;将接收到的图像数据划分成若干个M×M的图像数据块后,将每一个图像数据块中的数据逐行或者逐列串行输入到M个第一寄存器中;当M×M的图像数据块以逐行的方式依次串行输入到所述一维运算电路中的M个寄存器中时,在所述一维运算电路和二维运算电路中,第i个乘法器中保存的常系数向量是DCT变换的常规系数矩阵的第i行;当M×M的图像数据块以逐列的方式依次串行输入到所述一维运算电路中的M个寄存器中时,在所述一维运算电路和二维运算电路中,第i个乘法器中保存的常系数向量是DCT变换的常规系数矩阵的第i列;其中,i为不大于M的正整数,其中,
所述的M个第一寄存器将当前输入的数据在下一个时钟周期到来时,输出至与其一一对应连接的乘法器中;
所述的M个乘法器将接收到的数据与其内部存储的常系数向量中与该数据同列的常系数相乘后,输出结果至加法器中;
所述M个加法器与M个乘法器一一对应连接,对连续输入的M个数据进行求和运算后,输出至存储模块进行保存,并丢弃上述求和运算后的M个数据;
所述存储模块对接收到的数据以M×M矩阵的形式逐行依次存储,形成一个M×M的数据块,得到图像数据块的一维DCT运算结果;所述存储模块对于按照逐行存储的M×M数据块以逐列的方式输出,并对后续读入的数据逐列依次存储,对于按照逐列存储的M×M数据块以逐行的方式输出,并对后续读入的数据逐行依次存储;
在所述二维运算电路中也包括M个串联的第一寄存器、M个存储有常系数向量的乘法器以及M个加法器,且连接关系与所述的一维运算电路相同;在二维运算电路中,所述的M个第一寄存器串行读取所述存储模块输出的数据,通过乘法器和加法器执行同一维运算电路中相同器件执行的运算过程后,输出图像数据块的二维DCT运算结果;
其中,M=2n,n为正整数。
6.根据权利要求5所述的DCT实现电路,其特征在于:在所述的一维运算电路和二维运算电路中均包含有一个控制寄存器,对M个第一寄存器中输入的数据个数分别进行计数,且由1累计满M后,重新开始计数;并在每一个时钟周期输出与所述M个第一寄存器一一对应的计数值,一一对应地传输至M个乘法器中;所述乘法器根据接收到的计数值确定将计数值所指列的常系数与当前接收到的第一寄存器输出的数据相乘。
7.根据权利要求6所述的DCT实现电路,其特征在于:在所述的一维运算电路和二维运算电路中还均包含有M个第二寄存器、与所述的M个第二寄存器一一对应连接的选择器、以及与M个第二寄存器的输出端连接的多路选择器;所述的M个第二寄存器与所述的M个加法器一一对应连接,所述第二寄存器临时存储加法器输出的结果,所述选择器连接控制寄存器,接收控制寄存器输出的计数值,若计数值小于M,则控制加法器将当前接收到的数据与第二寄存器中保存的数据进行累加,否则,输出累加结果至多路选择器,并清空第二寄存器中的数据;所述多路选择器在所述控制寄存器的控制下,将运算后的结果存入存储模块。
8.根据权利要求5至7中任一项所述的DCT实现电路,其特征在于:在所述存储模块中包括RAM和状态机,通过状态机控制RAM将接收到的数据逐行存储或逐列存储;其中,所述RAM的容量至少为64×8bit,所述M=8。
CN 201010588632 2010-12-07 2010-12-07 一种dct实现方法及dct实现电路 Active CN102065309B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010588632 CN102065309B (zh) 2010-12-07 2010-12-07 一种dct实现方法及dct实现电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010588632 CN102065309B (zh) 2010-12-07 2010-12-07 一种dct实现方法及dct实现电路

Publications (2)

Publication Number Publication Date
CN102065309A CN102065309A (zh) 2011-05-18
CN102065309B true CN102065309B (zh) 2012-12-05

Family

ID=44000370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010588632 Active CN102065309B (zh) 2010-12-07 2010-12-07 一种dct实现方法及dct实现电路

Country Status (1)

Country Link
CN (1) CN102065309B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857756B (zh) * 2012-07-19 2015-04-08 西安电子科技大学 适于hevc标准的变换编码器
CN103092559B (zh) * 2013-01-30 2015-12-02 上海交通大学 用于hevc标准下dct/idct电路的乘法器结构
CN103533378B (zh) * 2013-10-09 2017-01-18 天津大学 基于fpga的三维整数dct变换系统及其变换方法
JP2018067154A (ja) * 2016-10-19 2018-04-26 ソニーセミコンダクタソリューションズ株式会社 演算処理回路および認識システム
CN108629406B (zh) * 2017-03-24 2020-12-18 展讯通信(上海)有限公司 用于卷积神经网络的运算装置
CN107105245B (zh) * 2017-05-26 2019-08-06 西安电子科技大学 基于tms320c6678芯片的高速jpeg图像压缩方法
US11360744B2 (en) * 2017-06-29 2022-06-14 Beijing Qingying Machine Visual Technology Co., Ltd. Two-dimensional data matching method, device and logic circuit
CN110555802B (zh) * 2019-08-02 2021-04-20 华中科技大学 为图像并行运算电路提供数据的多像素拼接方法和系统
WO2021072732A1 (zh) * 2019-10-18 2021-04-22 北京希姆计算科技有限公司 矩阵运算电路、装置以及方法
CN113746471B (zh) * 2021-09-10 2024-05-07 中科寒武纪科技股份有限公司 运算电路、芯片和板卡
CN114281301B (zh) * 2021-11-10 2023-06-23 电子科技大学 支持内部数据乒乓的高密度存内计算乘加单元电路

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1142162A (zh) * 1995-01-28 1997-02-05 大宇电子株式会社 二维逆离散余弦变换电路
CN1268231A (zh) * 1997-08-25 2000-09-27 夸尔柯姆股份有限公司 数据块规模可变的2维逆向离散余弦变换机
CN1289213A (zh) * 2000-10-13 2001-03-28 清华大学 无转置部件行列分离二维离散余弦变换/反变换vlsi结构及其方法
CN1553707A (zh) * 2003-06-02 2004-12-08 杭州高特信息技术有限公司 一种dct快速变换结构
CN101489129A (zh) * 2009-01-19 2009-07-22 山东大学 一种实现高速二维离散余弦变换的集成电路及方法
CN101778291A (zh) * 2010-01-27 2010-07-14 山东大学 基于提升结构的dct变换结构及其方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1142162A (zh) * 1995-01-28 1997-02-05 大宇电子株式会社 二维逆离散余弦变换电路
CN1268231A (zh) * 1997-08-25 2000-09-27 夸尔柯姆股份有限公司 数据块规模可变的2维逆向离散余弦变换机
CN1289213A (zh) * 2000-10-13 2001-03-28 清华大学 无转置部件行列分离二维离散余弦变换/反变换vlsi结构及其方法
CN1553707A (zh) * 2003-06-02 2004-12-08 杭州高特信息技术有限公司 一种dct快速变换结构
CN101489129A (zh) * 2009-01-19 2009-07-22 山东大学 一种实现高速二维离散余弦变换的集成电路及方法
CN101778291A (zh) * 2010-01-27 2010-07-14 山东大学 基于提升结构的dct变换结构及其方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙阳等.一种用于实时视频处理的高速二维DCT的电路设计和实现.《微电子技术》.2003,第31卷(第02期),全文. *

Also Published As

Publication number Publication date
CN102065309A (zh) 2011-05-18

Similar Documents

Publication Publication Date Title
CN102065309B (zh) 一种dct实现方法及dct实现电路
US11775801B2 (en) Neural processor
CN103294648B (zh) 支持多mac运算部件向量处理器的分块矩阵乘法向量化方法
US4849922A (en) Circuit for computing the quantized coefficient discrete cosine transform of digital signal samples
CN101290613B (zh) Fft处理器的数据存储系统和方法
CN109521994A (zh) 乘法硬件电路、片上系统及电子设备
CN101409051A (zh) 液晶显示器动态图像显示品质改善装置及其方法
KR20220007700A (ko) 행렬 연산들을 위한 장치 및 방법
CN117933314A (zh) 处理装置、处理方法、芯片及电子装置
CN103369326B (zh) 适于高性能视频编码标准hevc的变换编码器
CN112686379B (zh) 集成电路装置、电子设备、板卡和计算方法
CN103760525A (zh) 一种补齐式原地矩阵转置方法
CN110598844A (zh) 一种基于fpga的并行卷积神经网络加速器及加速方法
CN101146222B (zh) 视频系统的运动估计内核装置
CN101426134A (zh) 用于视频编解码的硬件装置及方法
Shahshahani et al. Memory optimization techniques for fpga based cnn implementations
CN101561797A (zh) 在处理系统上对矩阵进行奇异值、特征值分解的方法和装置
CN112559952B (zh) 基于序列分层的异构众核快速傅里叶变换方法
CN103455367A (zh) 用于实现可重构系统中多任务调度的管理单元和方法
Cantor et al. Logarithmic and exponential function evaluation in a variable structure digital computer
CN101794276B (zh) 适用于soc的dct_idct协处理器
CN102447898B (zh) 用fpga实现klt变换的方法
Huang et al. A low-bit quantized and hls-based neural network fpga accelerator for object detection
CN111382852B (zh) 数据处理装置、方法、芯片及电子设备
CN115081603A (zh) 执行Winograd卷积的计算装置、集成电路装置及板卡

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170222

Address after: 266100 Zhuzhou Road, Laoshan District, Shandong, No. 151, No.

Patentee after: Qingdao Hisense Electric Co., Ltd.

Address before: 266100 Zhuzhou Road, Laoshan District, Shandong, No. 151, No.

Patentee before: Qingdao Hisense Xinxin Technology Co., Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 266100 Zhuzhou Road, Laoshan District, Shandong, No. 151, No.

Patentee after: Hisense Video Technology Co.,Ltd.

Address before: 266100 Zhuzhou Road, Laoshan District, Shandong, No. 151, No.

Patentee before: HISENSE ELECTRIC Co.,Ltd.