一种基于随机计算的离散余弦变换实现方法及系统的制作方法

文档序号:7805564阅读:219来源:国知局
一种基于随机计算的离散余弦变换实现方法及系统的制作方法
【专利摘要】本发明公开了一种基于随机计算的离散余弦变换实现方法及系统,其中,该方法包括:将图像变换单元(TU)与离散余弦变换(DCT)系数映射为预设范围内的小数,再将小数转化为随机序列;将所述随机序列转化为随机计算域序列,并利用随机计算乘法器与随机计算加法器进行计算;将计算结果转化为二进制补码形式,从而实现离散余弦变换。通过采用本发明公开的方法及系统,可以大大的减少硬件消耗的同时提高系统的工作时钟频率。
【专利说明】一种基于随机计算的离散余弦变换实现方法及系统
【技术领域】
[0001]本发明涉及数字图像压缩或视频压缩【技术领域】,尤其涉及一种基于随机计算的离散余弦变换实现方法及系统。
【背景技术】
[0002]离散余弦变换(DCT)因具有接近理想的去相关的性能而广泛用于图像和视频编码标准中。
[0003]目前,主流图像和视频编码标准均是基于块的编码架构,这就意味着DCT的实现也要以变换块(TU)为基本单元。图像处理中通常采用8X8大小的块,而视频处理中则相对较灵活,比如4 X 4?8 X 8 (H.264),4 X 4?32 X 32 (H.265)。硬件电路中,若直接实现浮点或定点的DCT运算,会带来较多硬件消耗和无法容忍的关键路径延时。所以,DCT硬件实现方面的改进有两个方向:一是减少硬件消耗,比如寻找快速算法和乘法器的替代方案,二是采用并行和流水线架构以增加吞吐量和时钟频率。
[0004]但是,目前的DCT实现即使融合快速算法(比如部分蝶形运算)和无乘法器结构,也同时会带来繁琐的移位和加法运算,而且流水线结构势必也会引入更多的硬件消耗。所以,DCT硬件电路实现的面积和时钟频率仍需进一步改善。

【发明内容】

[0005]本发明的目的是提供一种基于随机计算的离散余弦变换实现方法及系统,大大的减少了硬件消耗。
[0006]本发明的目的是通过以下技术方案实现的:
[0007]一种基于随机计算的离散余弦变换实现方法,该方法包括:
[0008]将图像变换单元TU与离散余弦变换DCT系数映射为预设范围内的小数,再将小数转化为随机序列;
[0009]将所述随机序列转化为随机计算域序列,并利用随机计算乘法器与随机计算加法器进行计算;
[0010]将计算结果转化为二进制补码形式,从而实现离散余弦变换。
[0011]进一步的,所述将图像变换单元TU与离散余弦变换DCT系数映射为预设范围内的小数,再将小数转化为随机序列包括:
[0012]将TU中的数据和DCT变换系数转化为[0,I]或[-1,I]区间中的小数,再通过基于ROM的二进制权重随机序列生成器产生对应于TU和DCT变换系数的随机序列,并对所述随机序列进行不同位数的循环移位。
[0013]进一步的,所述将TU中的数据和DCT变换系数转化为[0,I]或[-1,I]区间中的小数,再通过基于ROM的二进制权重随机序列生成器产生对应于TU和DCT变换系数的随机序列,并对所述随机序列进行不同位数的循环移位,包括:
[0014]整数到小数的映射:TU的数据包括预测后的残差数据R,若TU数据的位宽为B,残差数据R的变化范围为[_2B+1,2b-1],则残差数据R的1/N为伸缩扩展后的数据,其中,N为扩展因子,N = 2b ;对DCT变换系数矩阵T进行伸缩变换,表示为T*2/N ;
[0015]小数的处理:将步骤整数到小数的映射获得的数据X进行双线双极性处理,包括将数据X分为数据部分Xdata和符号部分Xsign,表示为:
【权利要求】
1.一种基于随机计算的离散余弦变换实现方法,其特征在于,该方法包括: 将图像变换单元TU与离散余弦变换DCT系数映射为预设范围内的小数,再将小数转化为随机序列; 将所述随机序列转化为随机计算域序列,并利用随机计算乘法器与随机计算加法器进行计算; 将计算结果转化为二进制补码形式,从而实现离散余弦变换。
2.根据权利要求1所述的方法,其特征在于,所述将图像变换单元TU与离散余弦变换DCT系数映射为预设范围内的小数,再将小数转化为随机序列包括: 将TU中的数据和DCT变换系数转化为[O,I]或[-1,I]区间中的小数,再通过基于ROM的二进制权重随机序列生成器产生对应于TU和DCT变换系数的随机序列,并对所述随机序列进行不同位数的循环移位。
3.根据权利要求2所述的方法,其特征在于,所述将TU中的数据和DCT变换系数转化为[0,I]或[-1,I]区间中的小数,再通过基于ROM的二进制权重随机序列生成器产生对应于TU和DCT变换系数的随机序列,并对所述随机序列进行不同位数的循环移位,包括: 整数到小数的映射:TU的数据包括预测后的残差数据R,若TU数据的位宽为B,残差数据R的变化范围为[_2B+1,2b-1],则残差数据R的1/N为伸缩扩展后的数据,其中,N为扩展因子,N = 2B ;对DCT变换系数矩阵T进行伸缩变换,表示为T*2/N ; 小数的处理:将步骤整数到小数的映射获得的数据X进行双线双极性处理,包括将数据X分为数据部分Xdata和符号部分Xsign,表不为:
4.根据权利要求3所述的方法,其特征在于,该方法还包括: 将预先生成的权重比特流分段存储在多个ROM中实现并行计算,具体的:对于数据位宽为B的随机运算,ROM中需要存储B串权重比特流,若每串比特流分为L段,则硬件实现需要L个位宽为B,深度为2b/L的ROM。
5.根据权利要求1或2或3所述方法,其特征在于,所述基于随机计算理论将所述随机序列进行转化,并利用随机计算乘法器与随机计算加法器进行计算包括: 将所述随机序列进行转化包括:将进行双线极性处理的随机序列转化为双线随机计算域序列;其中,所述双线随机计算域序列表示为U,D序列,用于表征在区间[-1,I]内的数据X,具体的:由式子X = P(U = 1)-P(D = I)表征数据X,其中定义:
6.根据权利要求5所述的方法,其特征在于,所述将计算结果转化为二进制补码形式包括: 利用UP-DOWN计数器,将U序列接入计数加法端,D序列接入计数减法端,时钟上升沿触发计数更新,最后输出二进制补码形式的计数结果。
7.根据权利要求6所述的方法,其特征在于,该方法还包括: 利用有符号的计数器替代UP-DOWN计数器与随机计算加法器;其实现步骤包括:首先来自随机计算乘法器的L段随机序列进入L输入的I位并行加法器,并行加法器的输出结果进入2选I选择器;若所述随机计算乘法器的输出序列符号为正,则选择器输出并行加法器结果;否则,选择器输出算术取反后的结果;选择器的结果进入有符号的并行累加器,每个时钟周期累加器更新一次,运算周期结束输出最终的累加值。
8.一种实现1-7任一项所述的离散余弦变换实现方法的系统,其特征在于,该系统包括: 数据映射单元,用于将图像变换单元TU与离散余弦DCT变换系数映射为预设范围内的小数,再将小数转化为随机序列; 随机计算核单元,用于将所述随机序列转化为随机计算域序列,并利用随机计算乘法器与随机计算加法器进行计算 结果转换单元,用于将计算结果转化为二进制补码形式,从而实现离散余弦变换。
【文档编号】H04N19/625GK104038770SQ201410249646
【公开日】2014年9月10日 申请日期:2014年6月5日 优先权日:2014年6月5日
【发明者】张帅福, 杨灿美 申请人:中国科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1