没有合适的资源?快使用搜索试试~ 我知道了~
首页Motion-JPEG_MJPEG实验讲义
Motion-JPEG_MJPEG实验讲义
4星 · 超过85%的资源 需积分: 19 26 下载量 151 浏览量
更新于2023-03-03
评论
收藏 1.54MB DOC 举报
本实验是在SoCLib仿真平台上完成的。 SoCLib是一个由法国TIMA Lab、Lip6等研究机构与ST Microelectronics等知名企业联合开发的
资源详情
资源评论
资源推荐
实验
基于 ESL 设计方法的 Motion-JPEG 视频解码器设计
本实验是在 SoCLib 仿真平台上完成的。 SoCLib 是一个由法国 TIMA Lab、Lip6 等研究机
构与 ST Microelectronics 等知名企业联合开发的,用于多核 SoC 系统架构设计的 ESL 建模
仿真平台。SoCLib 仿真平台所包含的全部 IP 模型、工具以及各种文档均遵循 GNU Lesser
General Public License(LGPL)开源协议,可免费下载使用。本实验参考了法国 TIMA Lab
用 于 研 究 生 SoC 设 计 课 程 的 大 作 业 “ Integration of a Motion-JPEG Video Decodera
practical study。
实验总体目标:
以 Motion-JPEG(MJPEG)视频解码算法为应用范例,借助 SoCLib 建模仿真平台
[1]
,通
过 ESL 设计方法,使学生了解并掌握多核 SoC(Multi-processor SoC,MPSoC)的系统架
构设计与及软件设计方法。
实验内容与学时安排:
实验分为四个部分,由浅入深,从单核到多核,从单一任务执行到多线程并行执行,
涵盖完整的 SoC 系统架构设计及软件设计过程。
实验一 构建基于 SoCLib 的单核 SoC(4 学时)
了解 SoCLib 电子系统级仿真平台
学会如何在 SoCLib 平台上添加新的硬件模块
编写简单 C 程序验证所添加的模块的正确性
在所构建的单核 SoC 上实现串行 MJPEG 解码应用,验证所搭建的 SoC 的正确性
实验二 构建基于 SoCLib 的 MPSoC(4 学时)
在单核 SoC 架构之上添加若干处理器构成 MPSoC
了解基于 MPSoC 的并行应用设计需求
完成 MJPEG 解码的并行程序设计,移植到 MPSoC 之上,验证 MPSoC 的正确性
修改 MPSoC 中的各种系统参数,比较在不同配置下并行 MJPEG 的运行性能
实验三 系统软件开发 - 嵌入式操作系统及设备驱动设计(4 学时)
了解 SoC 的软件开发流程
掌握简单的嵌入式操作系统的工作原理以及设备驱动设计方法
编写帧缓存(framebuffer)的设备驱动程序
通过 MJPEG 应用验证所编写的驱动程序的正确性
实验四 面向 MJPEG 解码的 MPSoC 系统架构的优化(4 学时)
添加 DMA 模块
编写 IDCT 硬件模块的 ESL 高抽象层次模型,集成到 MPSoC 之上
编写 IDCT 设备驱动
通过 MJPEG 应用验证所优化的 MPSoC 的正确性
实验准备工作:
实验环境:Ubuntu 9.04
注:其他 Linux 操作系统也可,但 Windows 操作系统不可使用
实验平台:
实验平台下载地址:
libtool-1.5 下载地址:http://www.gnu.org/software/libtool/
实验平台安装与测试:
1. 对压缩包 libtool-1.5 解压缩,然后安装 libtool
2. 对压缩包 projet_soc 解压缩,得到文件夹 projet_soc
3. 设置环境变量 SOCLIB_DIR="projet_soc 文件夹所在的路径"
4. 在主目录/home 下创建一个工程目录,如/home/soclib_exp
5. 将文件夹 projet/TP/TP0/HW 复制到所创建的工程目录(注:该文件夹中包含了如图 2
所示的基于 SoCLib 构建的单核 SoC ESL 高层次抽象模型,即硬件部分)
6. 将文件夹 projet/TP/TP0/SW/hello_world 复制到所创建的工程目录(注:该文件夹中包
含了在单核 SoC 上需要运行的 helloworld 测试程序,即软件部分)
7. 打开 Shell 控制台,进入 projet/TP 文件夹,输入 source install_env.sh 设置系统环境变量
8. 进入/home/soclib_exp/hello_world 文件夹,输入 source install.sh configurations/mips 运行
脚本,然后输入 make 对软件部分进行编译
9. 进入/home/soclib_exp/HW 文件夹,输入 make 对硬件部分进行编译
10.在 HW 文件夹下,输入 ln -s ../hello_world/APP.x
11.输入./simulation.x -1,若出现如图 1 所示情况,则表示实验平台安装测试成功
注:每次重新启动一次 Shell 控制台,均要重新运行一下步骤 7 中的脚本“install_env.sh。
图 1 实验平台测试结果
实验平台目录结构:
本实验平台 projet_soc 的目录结构如图 2 所示。
图 2 实验平台 projet_soc 目录结构
实验平台 projet_soc 包含两个子文件夹:PLATFORM 和 TP。其中 PLATFORM 为实验
平台,TP 为 4 个实验内容。
PLATFORM 文件夹包含两个子文件夹:
HW_PLATFORM :实 验平台 的硬 件部 分,又 包含两 个子 文件 夹, SoCLib 和
utils。SoCLib 为本次实验所依赖的 SoCLib ESL 建模与仿真环境。utils 包括了实
验所需的工具,如仿真内核 Systemcass、调试工具 CDB。
SW_PLATFORM : 实 验 平 台 的 软 件 部 分 , 又 包 含 两 个 子 文 件 夹 , APES 和
Toolchains。APES 包括了本次实验所使用的嵌入式操作系统 DNA。Toolchains 包
括了实验所需的 MIPS 处理器交叉编译链。
TP 文件夹包含五个子文件夹和一个脚本文件:
TP0~TP2:分别对应了实验一、二、三的相关文件和说明。
vci_idct:对应实验四所需添加的 idct 模块的程序代码。
docs:包含了实现所需的文档,如 CDB 文档,VCI 协议文档。
install_env.sh:设置各种环境变量的脚本。
SoCLib ESL 仿真平台及 MJPEG 解码流程的介绍
1. SoCLib 平台
SoCLib 是一个由法国 TIMA Lab、Lip6 等研究机构与 STMicrelectronics 等知名企
业联合开发的,用于多核 SoC 系统架构设计的 ESL 建模仿真平台。
SoCLib 平台提供了用于 SoC 开发所需的丰富硬件 IP 模块的高抽象层次模型库,
包括:ARM、MIPS、Nios 等嵌入式微处理器、总线及片上网络、Cache、主存、
各种 外设等。所 有的 硬件 IP 模块 均采 用 C++ 以及 SystemC 进 行建 模。此外
SoCLib 平台还提供了多个嵌入式操作系统和用于进行系统调试、监控、设计空间
探测的工具。
SoCLib 平 台 所 提 供 的 硬 件 IP 模 块 均 具 有 两 种 抽 象 层 次 模 型 , 分 别 是 :
CABA(Cycle Accurate Bit Accurate)模型和 TLM-DT(Transaction Level Modeling
with Distributed Time)模型。
SoCLib 平台所提供的各种 IP 模块的高抽象层次模型均采用 VISA 组织(Virtual
Socket Interface Alliance)的 IP 标准化接口 VCI(Virtual Component Interface)进
行封装,大大增加了 IP 模块的可复用性,可与任意的总线及片上网络协议进行互
连。
SoCLib 平台所提供的所有模型以及工具均遵循 LGPL 开源协议,设计者可免费获
取并根据设计需求对其进行修改、裁剪与扩充。
更多关于 SoCLib 的细节,可浏览 SoCLib 主页进行了解与学习。主页地址:www.
soclib.fr
2. Motion-JPEG 解码流程
Motion-JPEG 是一种视频压缩编码格式,由一组连续的采用 JPEG 标准进行压缩的图像
组成。由于相比其他视频格式占用相对较少的存储空间,因此 MJPEG 目前已被数码照相
机、便携式摄像机广泛采用,用于视频短片的编码。在 MJPEG 中,每幅视频帧被单独捕
获,并采用 JPEG 算法进行压缩。JPEG 是由联合图像专家组(Joint Photographic Experts
Group)提出的有损图像压缩算法
[2]
,使用有损压缩算法压缩所得图像质量将低于原始图像
质量。但采用 JPEG 算法压缩的图像,其质量损失使用肉眼几乎无法识别,并能获得较高
压缩比。
JPEG 压缩算法将图像分割为以 8×8 个像素为单位的像素块,然后将每个像素块从时域
转换到频域之上,采用滤波器去除高频分量,最后使用哈夫曼编码方法将像素块编码二进
制码流。每个 8×8 的像素块称为宏块单元(MacroBlock Unit,MCU)。压缩的码流由一系
列原始二进制数串组成,并使用标记进行分割。
MJPEG 的 解 码 流 程 如 图 3 所 示 。 这 个 解 码 流 程 分 为 : 哈 夫 曼 解 码 ( Huffman
Decoding)、反锯齿扫描( Inverse Zigzag Scan)、反量化( Inverse Quantification)、块
重排(Block Reordering)、反离散余弦变换( Inverse Discrete Cosine Transform,IDCT)
五部分。
图 3 MJPEG 解码流程
实验一 构建基于 SoCLib 的单核 SoC
实验目的与内容:
1. 了解 SoCLib 平台工作原理。
2. 掌握如何利用 SoCLib 定义一个单核 SoC 硬件平台,如何在该 SoC 平台之上添加其他硬
件设备。
3. 学习如何编写简单 C 程序以控制各种硬件设备。
4. 在所定义的单核 SoC 上运行串行的 Motion-JPEG 程序。
5. 分析 MJPEG 解码每部分在单核上运行所需要的时间,思考对该算法进行并行化。
实验步骤:
1. 首先,利用实验平台所提供的一个最基本的单核 SoC 熟悉 SoCLib 的工作原理。如图 4
所示,该单核 SoC 硬件平台由一个 MIPS R3000 处理器,一个存储器以及一个显示终端
剩余25页未读,继续阅读
quickembed
- 粉丝: 1070
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论3