您好,欢迎来到61ic! | [登录] [注册] 忘记密码 | 设为首页 帮助
 . 网站首页 . 业界新闻 . 设计中心 . 移动技术 . TI专栏 . ADI专栏 . FPGA专栏 . 代码工厂 . 官方商城 . 
 . 活动专区 . 新品快递 . 解决方案 . 前沿科技 . TI资源 . ADI资源 . FPGA资源 . 下载中心 . 产品展示 . 
加入收藏
付款方式
联系我们
您现在的位置: 61IC电子在线 >> TI专栏 >> TI C6000 >> TMS320C64x DSP >> 正文
  [组图]基于DM642-VGA开发板的例程-在DM642开发板上回送JPEG           ★★★ 【字体:
基于DM642-VGA开发板的例程-在DM642开发板上回送JPEG
作者:明月 清    文章来源:明月 清    点击数:    更新时间:2013-3-19    

一、摘要

软件演示在DM642开发板上实时的D1 JPEG编码和译码图象,JPEG标准适用于压缩静态图象。执行速度为30帧/秒,在单个的图像隔绝方面被认为是针对活动图象而进行优化的JPEG压缩算法,示例用途:

1.JPEG编译库在DM642开发板上能够实时进行最优的D1的编码
2.JPEG解码库在DM642开发板上能够实时进行最优的D1的解码
3.JPEG编译库和解码库结合IDMA组件层规则
4.jpeg编译库和解码库采用xdais接口执行
5. 整体取样的JPEG编码器和解码器在RF-5框架下显示JPEG回送( encode + decode ) 可编程特性及帧频

二、软件架构/数据流

 

图1 数据流图

数据流图演示:
1. 从输入端接收一帧(DVD/camera),而且已取得YUV 4:2:2格式的帧数据,被再次取样成YUV 4:2:0格式。
2. 数据帧被送到JPEG编码库,产生一个由使用者指定所需质量的JPEG-encoded图象
3. 已经编译的JPEG图象过后作为JPEG解码器的输入,JPEG解码器产生YUV 4:2:0格式的解码图象
4. YUV 4:2:0格式的解码图象转换成YUV 4:2:2格式

这个例程使用RF-5框架结合JPEG编译库和解码库。4步安装,第4步是控制任务,用邮箱发送消息给进程(由于空间限制没有在图中给出),进程收到从邮箱发送的消息并且判断应用程序运行的帧频,或者在未处理消息的基础上改变编码图象的质量

板和处理器:

1. 系统进行DSPBIOS和CSL初始化,
2. 2级缓存设为128K
3. EMIFA CE0 和EMIFAC E1做为缓存使能
4. DMA 优先队列长度设为最大
5?2级缓存请求优先级设为高
6. DMA管理器与被分配的内部的和外部的堆一起初始化

RF-5模块:
1. 初始化RF-5的通道模块
2. 为单元间通信和消息初始化ICC和RF-5的SCOM模块
3. 安装通道和内部外部缓冲堆一起被执行

捕获和显示通道:

1. 一个获取通道的请求被建立并开始
2. 一个显示通道的请求被建立并开始

经过这些初始化后,系统进入了4步处理后被DSPBIOS管理,这4个任务使用RF-5的SCOM模块进行相互传输
1. 输入任务

输入任务负责从NTSC输入装置中获取帧,他利用由操作者提供的FVID_exchange 调用去获取一帧,请求帧是YUV 4:2:2格式,他被重新采样成YUV 4:2:0格式,然后结束包含帧指针信息的进程,然后等待进程继续的信息

2. 处理任务

在这个示例中有两个进程任务单元,第一个单元是JPEG编码单元,他能接收一个输入的YUV 4:2:0格式图象并且产生一个预期的压缩的JPEG图象,第二个单元是JPEG解码单元,他接收一个JPEG编码的图象并且产生一个解码图象,解码图象 是JPEG解码器以YUV 4:2:0格式产生的,完成JPEGA解码后,进程任务分别向输入输出任务发送消息,并且输出任务指出缓冲已经通过可能重用

3. 输出任务

输出任务负责在NTSC设备上显示输出帧,他利用由操作者提供的FVID- exchange调用在NTSC输出设备上显示帧,请求帧是YUV 4:2:0格式并且被重新取样成YUV 4:2:2格式优先显示,然后等待进程任务的消息以继续。

4. 控制任务

控制任务负责控制这个示例中参数的变化,包括JPEG示例被执行的帧频和质量因数,控制任务检查一个被定义为全局结构的参数值的变化,外部控制,然后复制变化的参数值给一个本地结构,并且发送邮箱消息给处理线程,处理任务周期性的检查消息和调用相应单元的控制函数

三、系统要求/配置

软件要求:
1. Microsoft Windows XP (SP2)/Microsoft Windows 2000 (SP1 and SP2)
2.Code Composer Studio? Integrated Development Environment (IDE) version 2.20.18
3.Driver software (DDK 1.1)
硬件要求:
1.Pentium machines with 450 MHz, 64MB RAM (minimum)
2.DM642 EVM
3.NTSC TV for display purposes
4.Camera/DVD for NTSC capture purposes
5.XDS 510/560 emulator

硬件安装:
运行示例,合适安装硬件,如图2
1. DM624评估板连接相应电源
2. 输入视频端(合成视频)连接NTSC输入
3. DVD/camera源使用RCA线缆连接
4. 视频输出端(合成视频)连接NTSC
5. 输出设备(SDTV)使用RCA线缆连接
6. XDX510/560仿真器必须连接到JTAG引脚来下载示例代码到板子里,并且从CCS里控制它
 


图2 硬件连接图

四、示例运行:
1. 连接NTSC输入设备(DVD)使用合适的RCA线缆
2. 连接NTSC输出设备(SDTV)使用合适的RCA线缆
3. 启动DM642评估板
4. 启动CCS
5. 检查输出设备上的颜色
6. 进入二进制文件夹下的jpeg_loopback目录添加.out
7. 一旦程序被加载,进入CCS调试菜单按F5运行
8. 在输出屏幕上,在右上角观察JPEG改变的图象

示例的控制参数
1. 为了控制示例的质量和帧频,确使thrControl.C文件建立时有全部的符号调试特点
2. 在CCS中给观察窗口添加外部控制结构
3. 展开结构在控制窗口中,这个结构包括两个字段,帧率和质量
帧率是一个比率,顾名思义,是一个除数因子,值为1时提供30帧/秒输出帧,值为10时,提供3帧/秒输出帧
第二个字段,质量,允许作为结果的JEPG解码图象的质量被改变,质量的允许值是最大最小值被规定的1<=quality<=100

Void thrControlInit()
{
UTL_assert( NUMCONTROLS == 1 );

// set the default frame ratio
externalControl.frameRatio[0] = 1; //调整帧率
externalControl.quality[0] = 75; //调整质量
externalControlPrev = externalControl;
}

五、示例代码和程序建立
jepg_loopback的目录结构被定位在ti\myprojects
 

图3 jepg_loopback的目录结构

创建程序
1. 启动CCS
2.打开jepg_loopback 工程(jepg_loopback_lib.pjt)在文件夹ti\myprojects\jpeg_loopback下
3.进入菜单项Project->Build and rebuild the project
4.编译选项选择under preprocessor are CHIP_DM642=1, C6000, and
UTL_DBGLEVEL=70
5.创建工程加载可执行程序从二进制目录jpeg_loopback.out
6.按F5,观察解码JPEG图象

故障诊断
用TEST_FEEDBACK_LOOP预处理指令编译工程文件,他可以从示例中使能NPEG-2编码器,并且测试安装的回送部分,在任何问题中,这个特征能被定义成工程编译设置的预处理选项,并测试示例的安装部分

控制信号范围
1. 质量因数的范围:1~100
2. 帧频率必须是一个大于等于1的正数
3. 解码器检查是否解码图象是有效的JPEG并且在接收一个正确的JPEG流后返回错误代码

JPEG编码器和解码器的性能
表现JPEG编码和解码的图象的内容和质量依赖性,这里数字显示表示质量设置75并且合理的复杂图象,这是一个典型示例。

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    DM642在ccs5.1.0.08020 上的…
    DM642 VP:长短场检测
    DM642完成的第一个C到线性汇…
    DM642学习报告
    基于DM642的机器人双目视觉系…
    CCS v5中使用CSL库,以DM642…
    DM642 + CCS4 解决printf没结…
    DM642运动补偿程序及注释第一…
    DM642运动补偿程序及注释第二…
    DM642运动补偿程序及注释第三…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61 湘ICP备13001086号-2