查看: 3019|回复: 0

数字图像处理的DCT及其FPGA实现研究(代码免费下载,提出问题

[复制链接]

该用户从未签到

发表于 2021-11-22 14:37:40 | 显示全部楼层 |阅读模式
分享到:
数字图像处理的DCT(离散余弦变换)及其FPGA实现研究
首先是预祝您  新年快乐!
这是我的毕业设计课题
我有DCT的 verilog 代码,调试通过。(代码来源www.opencore.org)
此源代码可以提供给大家
联系方法:zhouxinjun1@163.com
希望和大家一起交流  讨论  用 FPGA 来实现DCT 的 方案
数字图像处理DCT是数字图像处理中的一种重要处理手段,被广泛地用与图像的压缩编码算法中,已有的各种成熟的压缩标准如JPEG,MPEG,H.26X以及HDTV等都无一例外地采用基于DCT/IDCT的压缩编码。离散余弦变换(Discrete Cosine Transform)是一种最主要的正交变换。它将图像信号从空间域变换到DCT域,保持原始信号的熵和能量不变,却使得DCT域系数之间的相关性减弱,然后再对DCT域系数进行量化和编码,以达到压缩的目的。
问题1:
此代码描述的总体结构是什么?
DCT 的 有许多不同的实现结构,有 采用  多乘法器的并行结构
有 高平行和/或流水线结构的通用的dsp结构
最常用的是  分布结构(DA: distributed arithmetic )  的 查表式(LUT: look up table) 架构。
我认为  是使用 MAU(乘累加器) 同时由于DCT基图象系数固定,使用了查表式(LUT: look up table) 架构,总体来说是多乘法器的并行结构。

问题2:
此代码使用什么操作模式?
JPEG定义了4种操作模式:基于DCT的顺序模式,累进模式,无失真模式,层次模式。
我认为  是使用 顺序模式,8乘8样本块从左道右,从上到下(每次1个块)地顺序输入到DCT处理单元。
问题3:
此代码描述的时序步骤问题:
我试图用ModelSim SE 6.0c进行仿真(暂未能做到,正在努力中),想通过单步执行来了解DCT模块中数据流的情况,从第一个时钟周期到第几个时钟周期完成一次8乘8样本的DCT变换,同时弄清楚在整个变换过程每个时钟周期发生了什么具体事件。
测试文档(在Bench文件夹中),我想从测试向量也可以看出操作模式吧。
问题4
关于cosine table生成问题
由于DCT基图象系数固定,使用了查表架构
“function [31:0] dct_cos_table”
Function: cos( (2x +1) * u * pi)/16) * cos( (2y +1) * v * pi)/16)
当U,V确定后,和上式中的COS项也就确定了,就是说,f(x,y)和那个系数相乘,由U,V两个数共同确定,现在我需要建立一个这样的映射表来反映这个关系,用手工方式来计算出个表是不可能的,cosine table有四千多行呀,我想用C语言来编程生成个表,或者用MATLAB编程来生成个cosine table表。
(虽然原来程序有这个表了,但我需要自己做出来)
我想是用 2个FOR嵌套(双重循环)来实现,想是容易,做起来,对我说是难呀。
总之还有许多问题都没有解决,以后会提出,我正在努力,希望你能给我帮助。
感谢您抽出时间来阅读此文!

eetop.cn_5_3082.rar

26.48 KB, 下载次数: 3

回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条



手机版|小黑屋|与非网

GMT+8, 2024-9-21 19:42 , Processed in 0.120252 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.