首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
ARM
» AVS全I帧视频编码器的FPGA实时实现(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
AVS全I帧视频编码器的FPGA实时实现(2)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-1-28 08:45
|
只看该作者
AVS全I帧视频编码器的FPGA实时实现(2)
编码器
,
资源
4.2 变换量化模块
该模块主要包括DCT变换、量化、反量化和反DCT变换[5]4个部分。DCT变换采用蝶形算法,每次处理8×8的一行数据,节省了大量的运算时间,且大量的乘法用移位和加法代替。量化中涉及查表运算,表格存放在ROM中,通过地址即可得到所需数据。残差数据经DCT变换、量化后,量化系数传给熵编码模块;同时将量化后的数据再进行反量化和反DCT变换,得到8×8子宏块的重构数据,重构的数据反馈给帧内预测模块,进行下一个8×8子宏块的预测。
由于亮度和色度算法相同,因此该模块可以共享,减少了资源的利用。变换量化模块涉及大量的运算,是最耗时的模块,为了提高处理速度,算法使用了适当的并行操作,将量化与反量化、反DCT变换并行执行;同时把数据位数扩展,可同时对8×8矩阵的一行数据赋值,从而节省了读取数据占用的时间,并且提高了数据的利用率。
用ModelSim进行仿真的结果如图4所示,设定qp为36的情况下,n0_o的输出为量化数据。
在进行熵编码模块的设计时,算法采用一种较少存储空间来存储码表的方法,并将码表查询、码表优化和指数哥伦布编码合并为一个流水线单元并行处理,节省了存储中间结果所需的大量存储空间;将熵编码各任务并行执行,加快了处理速度。
用ModelSim进行仿真的结果如图6所示,状态机在4、5、6循环判断,并在6状态时输出子宏块编码码流(dataout)。
5 仿真与验证
本设计使用VHDL硬件描述语言进行设计实现,采用Xilinx ISE进行综合验证、ModelSim 6.2b进行仿真,器件选用Xilinx公司的xc4vsx25-10ff668,最高工作频率达到110 MHz,综合后的资源利用情况如图7所示。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议