嵌入式Linux软件平台系统设计说明书.pdf

上传人:tbuqq 文档编号:5489261 上传时间:2020-05-23 格式:PDF 页数:28 大小:325.81KB
返回 下载 相关 举报
嵌入式Linux软件平台系统设计说明书.pdf_第1页
第1页 / 共28页
嵌入式Linux软件平台系统设计说明书.pdf_第2页
第2页 / 共28页
嵌入式Linux软件平台系统设计说明书.pdf_第3页
第3页 / 共28页
嵌入式Linux软件平台系统设计说明书.pdf_第4页
第4页 / 共28页
嵌入式Linux软件平台系统设计说明书.pdf_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《嵌入式Linux软件平台系统设计说明书.pdf》由会员分享,可在线阅读,更多相关《嵌入式Linux软件平台系统设计说明书.pdf(28页珍藏版)》请在三一文库上搜索。

1、实用文案 文案大全 面向行业手持设备的嵌入式Linux 软件平台项目 嵌入式 Linux 软件平台系统设计说明书 编写者:CY 实用文案 文案大全 版本说明 日期版本号发布说明作者 批准人 签字岗位 实用文案 文案大全 目录 1 引言 . 1 1.1 编写目的 1 1.2 背景 1 1.3 基线 1 1.4 范围 1 1.5 定义 1 1.6 参考资料 1 2 总体设计 . 1 2.1 概述 1 2.2 设计思想 3 2.3 基本处理流程 5 2.4 产品的系统体系结构 8 2.5 功能需求与系统单元的关系 9 2.6 人工处理过程. 11 3 系统主要数据结构说明 11 3.1 数据结构 .

2、 11 3.2 数据结构与系统单元的关系. 16 4 接口设计 16 4.1 外部接口 . 16 4.2 内部接口 . 17 5 运行设计 17 5.1 系统初始化. 17 5.2 运行控制 . 17 5.3 运行结束 . 17 6 系统出错处理设计 17 6.1 出错信息 . 17 6.2 补救措施 . 17 7 系统维护设计 18 7.1 检测点的设计. 18 实用文案 文案大全 7.2 检测专用模块的设计. . 18 8 尚待解决的问题 18 附录 A:嵌入式中文字库关键技术和算法 . 19 GLYPH的矢量表示 . 19 计算转换系数 SCALE. 20 附录 B: 嵌入式中文字库数据

3、流程图 . 21 附录 C :全屏手写系统结构图 22 附录 D:多媒体软件移植系统流程图 . 23 实用文案 文案大全 1引言 1.1编写目的 本文档是为保证“面向行业手持设备的嵌入式linux 软件平台 ” 项目在整个开发过程中的完整性、可追 溯性,并保证软件产品与面向行业手持设备的嵌入式Linux 软件平台项目系统需求规格说明书保持一 致性而编写的。 预期读者为项目相关开发人员、项目管理人员和SCM 、SQA人员、客户代表。 1.2背景 项目名称:面向行业手持设备的嵌入式Linux 软件平台 用户:无线手持通信设备厂商 1.3基线 面向行业手持设备的嵌入式Linux 软件平台项目系统需求

4、规格说明书 1.4范围 本软件结构设计说明书所涉及的内容范围包括总体的结构设计,系统单元的结构设计,系统主要数据 结构说明,接口设计,运行设计,系统出错处理设计和维护设计。 1.5定义 无。 1.6参考资料 1)面向行业手持设备的嵌入式Linux 软件平台项目系统需求规格说明书 面向行业手持设备的嵌入式Linux 开发平台项目总体开发计划 2)本文件中引用的其他文献、资料以及软件开发标准。 2总体设计 2.1概述 2.1.1功能描述 本产品要实现的功能包括: 嵌入式 Linux 系统 目标系统的软件开发环境 对运行平台提供的各种接口,提供稳定的驱动程序 基于 QT/embedded 的图形用户

5、界面 中文图形界面 中英文手写输入、键盘输入 实用文案 文案大全 多媒体播放器 个人助理套件 英汉词典 浏览器 面向交通、物流行业的应用编程接口 本参考平台包括开发包和运行包。要求参考平台具备高度的可配置性,方便开发人员根据其需 要在参考平台的基础上进行添加、裁减和上层开发,快速形成产品。 2.1.2运行环境 开发平台的运行环境:推荐采用PIII650 以上 CPU,内存大于128M,硬盘空间大于4G;推荐完全安 装普华 Linux 3.0 ,并安装开发包和目标系统源代码。 运行包硬件环境: 硬件采用PXA250开发板,规格如下: socketed processor for easy upg

6、rades 64 MBytes SDRAM 32 MBytes Boot ROM 32 MBytes Flash Memory 1 MByte SRAM one Intel? SA- 1111? Companion Chip, which provides: one PCMCIA slot one Compact Flash slot one USB Host port PS/2 keyboard and mouse support Standard Microsystems LAN91C96* Ethernet controller touch-screen panel controller

7、s: Philips UCB 1400* Burr Brown ADS7846* audio CODECs with MIC, LINE IN, and HEADPHONE connectors: Philips UCB 1400 Cirrus CS4201* Sharp LM8V31 LCD panel, with support for other LCD types 实用文案 文案大全 one USB Client port pulse width modulation control one infrared (IrDA) transceiver Full Function and B

8、luetooth UART serial ports one slot for one Secure Digital memory card or MultiMediaCard I2C bus communications logic analyzer connections one expansion-card slot for custom development isolatable processor core voltage for precise power measurements eight 7-segment LED digits, eight discrete LEDs,

9、eight discrete switches, and two hexadecimal-encoding switches for use by application software 2.2设计思想 2.2.1系统构思 本项目向用户提供参考平台包含开发包和运行包,在系统设计中因此也分为开发平台和运行平台,其中 开发平台系统构思如图1 所示 , 运行平台构思如图2 所示。 目标系统源码 包 PXA开 发 包 PC 环境 目标系 统交叉 编译工 目 标 系 统 下 载 工具 Qpe源代码 目 标 系 统 裁 减 工具 目 标 系 统 打 包 工具 目 标 系 统 远 程 调 试 工 PXA2

10、50的 Linux核 心 和 glibc 库 Bash源代码 标准 Linux 系统 图 1 开发平台系统构思 实用文案 文案大全 2.2.2关键技术与算法 关键技术: 嵌入式 Linux 操作系统: 主要是基于IntePXA 250 硬件平台进行嵌入式Linux 系统优化,保证系统具备良好的可移植性和 可扩展性,此过程主要涉及的技术包括: 系统可剪裁可配置技术; 支持无硬盘及闪存工作方式技术; JFFS2 文件系统技术; 支持随时直接关机; 支持运行时核心模块动态加载机制; 嵌入式图形用户界面: 支持基于Framebuffer 的 GUI 系统; 支持 GIF、JPEG、 XPM 、PNG、

11、BMP 等常用图像格式; 嵌入式 GUI 嵌入式矢量字库全屏手写识别输入法 嵌入式 多媒体套 件 嵌入式 文本浏 览器 邮件客 户端 中文终 端 文件管 理器 基本库和扩展库支持 (C 库、网络、多媒体( IPP) 、图形) 音频 I/O 驱动 LCD 驱 动 网卡驱 动 触摸屏、键 盘、鼠标驱 动 Linux 核心 USB 驱动背光灯驱 动 串口驱动 图 2 运行平台系统构思 实用文案 文案大全 提供易用的、可定制的、功能完善的人机交互界面; 提供已预制的应用模块接口,提供对应用程序添加的扩展机制等; 图形界面支持完整的中文机制及环境; 为提高用户的开发效率,提供丰富的控件集和开发工具; 面

12、向行业类的应用编程接口库: 提供具体行业的API 函数的实现机制; 实现不同系统平台间的通讯; 使开发出的API 函数能够让开发人员较方便地实现上层应用程序与底层硬件之间的通讯; 嵌入式 JAVA : 嵌入式 Java虚拟机; 提供 Java处理程序; 支持 Java applet 和 Java application; 提供 Java工具; 提供 Java运行环境; 嵌入式中文信息处理子系统: 全面的中文显示支持; 提供多种中文输入法; 嵌入式中文字体; 支持嵌入式手写输入; 本项目目的是提供系统平台,所以具体算法主要由合作厂商提供相关接口,本项目设计的主要算 法有: 基于 IPP 的多媒体

13、编解码算法 矢量字体的轮廓描绘、填充、平滑算法(算法分析见附录A) 高效、准确的手写笔迹匹配识别算法 2.2.3关键数据结构 无 2.3基本处理流程 (1)系统流程图 开发平台系统流程如图3 所示 : 实用文案 文案大全 根据开发需要对参 考平台进行配置 根据配置对源代码 进行编译 链接库文件, 形成可 执行代码 生成动态库或静态 库 判断是否需 要裁减 根据需要进行裁减 按配置要求对相关 文件进行打包 判断是否需 要打包 写入目标系统 Y Y N N 图 3 开发平台系统流程图 实用文案 文案大全 运行平台系统流程图如图4 所示 . 开发板加电 初始化设备 挂装文件系统 加载 busybox

14、 启动 init 进程 加载图形界面(QPE) 上层应用 (记事本, 媒体 播放,关机等) 退出运行环境 图 4 运行平台系统流程图 关机 实用文案 文案大全 (2)数据流程图 本项目提供系统平台,因此项目没有核心数据流程,相关模块的数据流程见附录 B。 2.4产品的系统体系结构 系统单元如下例表所示: 单元名称标识符功能 开发平台包kfptb 交叉编译源代码, 并打包 下载到 PXA 开发板 设备 /接口驱动程序qdcx 访问设备 / 接口的IO 端 口/ 寄存器 /配置空间, 进 行设备检测和参数设定, 并初始化设备。 处理中断 请求,完成数据读写操作 检测错误和处理异常 中软嵌入式Lin

15、ux 操作系统czxt 嵌入式 Linux 核心、基本 库和扩展库 (C 库、 网络、 多媒体、图形库) 嵌入式中文GUIzwgui QPE 图形环境(窗口管 理、 中文字库、 中文手写) 上层应用scyy QPE 下的上层应用程序 (包含个人助理套件、多 媒体应用等) 2.4.1系统层次结构 运行平台系统层次结构如图5 所示: 嵌入式中文 GUI 上层应用(关键是多媒体应用) 实用文案 文案大全 2.4.2系统单元设计 开发平台: 将现有的交叉编译工具、调试器、软件包下载工具等整合在一起,并增加裁减、打包工具。 设备 /接口驱动程序: 在现有的相关驱动程序源代码基础上,对PS/2,USB,

16、以太网口, LCD 以及音频口进行测试,并 实现 x86 平台到 PXA 平台的移植。 中软嵌入式Linux 操作系统: 使用开发平台提供的交叉编译工具编译基于PXA 平台的嵌入式Linux 核心和基本库以及启动程序, 并使用开发平台的相关工具下载到开发板上。 嵌入式中文GUI : 开放源码的图形环境QPE 的修改和汉化 (另包括全屏中文手写单元和嵌入式中文字库单元),然 后交叉编译修改后的QPE 源码并下载到开发板上(全屏中文手写流程图见附录 C) 上层应用: 修改一些已有源码的应用并交叉编译下载到开发板上,关键是实现一个基于Intel IPP 的多媒体播 放器,主要方法是在分析QPE 多媒

17、体软件底层接口的基础上,移植替换底层解码库。(多媒体解码流 程图见 附录 D) 2.5功能需求与系统单元的关系 开发平台: 图 5 运行平台系统层次结构图 实用文案 文案大全 可以在 PC 机上交叉编译PXA 的应用程序 可对生成的PXA 目标代码进行裁减 可对生成的系统进行打包集成 可以将软件包下载到PXA 开发板,并写入Flash 提供 minicom ,可通过串口进行调试 可在 PXA 开发板上通过gdb/gdbserver 调试二进制代码 设备 /接口驱动程序: 能使用 PS2 接口的键盘和鼠标 能通过 USB 口使用外接设备 能使用 10M 以太网接口 能使用 LCD 和触摸屏 能使

18、用外接的音频输入输出设备 中软嵌入式Linux 操作系统: 在开发板上Linux 核心正常启动 在开发板上能使用Linux 基本指令 嵌入式中文GUI : 完善稳定的QPE 图形界面 全面汉化处理 手写识别率高 中文字体美观、清晰 字符显示能够无级缩放 上层应用: 嵌入式中文套件 邮件客户端 多媒体应用软件(能正常播放MPEG4 和 MP3 文件,多媒体文件播放流畅,播放速率至少达到 25 帧/秒) 实用文案 文案大全 2.6人工处理过程 开发平台: 根据目标系统需求,修改配置文件或Makefile 软件的配置、编译过程,包括configure 、make、 make install 等 软件

19、裁剪、打包和下载过程。 运行平台: 无。 3系统主要数据结构说明 3.1数据结构 本项目主要是提供一个系统平台,因此没有全局的数据结构,系统单元的数据结构如下: a) 嵌入式中文字库主要数据结构 FT_Outline_ typedef struct FT_Outline_ short n_contours; /* number of contours in glyph */ short n_points; /* number of points in the glyph */ FT_Vector* points; /* the outlines points */ char* tags; /*

20、 the points flags */ short* contours; /* the contour end points */ int flags; /* outline masks */ FT_Outline; n_contours:表示在一个glyph outline 中所有的字形轮廓的数目 n_points:表示在一个glyph outline 的矢量表示中,所有坐标点的数目。 Points:一个指向有n_points 个 FT_Vector 元素的数组的指针,给出了outlines 点坐标 Tags:一个指向有n_points 个 char 元素的数组的指针,给出每个outlin

21、e point 的类型。 Contours: 一个 n_contours 个短整型元素的数组,给出了每个contour 的结束点的索引。 Flags:一系列bit flags 用来表示outline 的特征。 b) 全屏中文手写主要数据结构 class QMatcher / 识别库标准接口类 实用文案 文案大全 public: QMatcher (); / 初始化 virtual QMatcher();/ 析构 virtual void setType();/ 设置识别类型 virtual void setSpeed();/ 设置识别速度 virtual unsigned long getTy

22、pe();/ 获得识别类型 virtual short getSpeed();/ 获得识别速度 virtual int Recognize();/识别处理 virtual struct rangelist *TypeRange();/ 获得识别类型表列 ; struct Q_PACKED QIMPenGlyphLink/每个点的坐标结构 signed char dx; signed char dy; ; class QIMPenStroke/ 记录每一个笔画中的各个点 public: QIMPenStroke();/ 初始化 void clear();/ 清空 bool isEmpty();/

23、 判断是否为空 int length();/ 返回点的个数 const QArray /返回各个点 QPoint startingPoint();/ 返回开始点 void beginInput( QPoint p );/ 开始记录 bool addPoint( QPoint p );/ 把点加入links 数组 void endInput();/ 某个笔画结束 protected: QArray links;/某个笔画的各个点的坐标 ; 实用文案 文案大全 typedef QList QIMPenStrokeList;/一个字的所有笔画 c)多媒体软件移植主要数据结构 (1)mp3 解码所用到

24、的结构 typedef struct /*/ 1. ippsUnpackFrameHeader_MP3 */ IppMP3FrameHeader FrameHdr; /* MP3 帧头信息 */ Ipp8u HdrBufHDR_BUF_SIZE; /* MP3 帧头缓冲区 */ Ipp8u *pHdrBuf; /* MP3 帧头缓冲区指针*/ /* 2. ippsUnpackSideInfo_MP3 */ IppMP3SideInfo SideInfoMAX_GRANMAX_CHAN; /* MP3 side 信息表*/ /* 3. ippsUnpackScaleFactors_MP3_1u8

25、s */ Ipp8s ScaleFactorMAX_CHAN*IPP_MP3_SF_BUF_LEN; /* mp3 scalefactors 信息表 */ int ScfsiMAX_CHAN*SCF_BANDS; /* Scalefactor 信息选择表*/ /* 4. ippsHuffmanDecode_MP3_1u32s */ Ipp32s IsXrMAX_CHAN*IPP_MP3_GRANULE_LEN; /* Huffman 解码缓冲区和 IMDCT 流缓冲区*/ int NonZeroBoundMAX_CHAN; /* Non-zero bounds on Huffman IMDCT

26、 coefficient set for each channel */ /* 5. ippsReQuantize_MP3_32s_I */ 实用文案 文案大全 Ipp32s RequantBufIPP_MP3_GRANULE_LEN; /* Work space buffer required by requantization primitive */ /* 6. ippsMDCTInv_MP3_32s */ Ipp32s XsMAX_CHAN*IPP_MP3_GRANULE_LEN; /* IMDCT 输出 /PQMF 输 入缓冲区*/ Ipp32s OverlapAddBufMAX_C

27、HAN*IPP_MP3_GRANULE_LEN; /* Overlap-add buffer required by IMDCT primitive */ int PreviousIMDCTMAX_CHAN; /* Number of IMDCTs computed on previous granule/frame */ /* 7. ippsSynthPQMF_MP3_32s16s */ Ipp32s PQMF_V_BufMAX_CHAN*IPP_MP3_V_BUF_LEN; /* “V“ buffer - used by fast DCT-based algorithm for synth

28、esis PQMF bank */ int PQMF_V_IndxMAX_CHAN; /* Index used by the PQMF for internal maintainence of the “V“ buffer */ /* Main Data Decoding Buffer */ Ipp8u MainDataBufMAIN_DATA_BUF_SIZE; /* 数据区解码缓冲区*/ int MainDataEnd; /* 数据区指针*/ /* Application Interface Parameters */ int Channels; /* 通道数量*/ int pcmLen

29、; /* pcm 输出缓冲长度*/ MP3DecoderState; 实用文案 文案大全 (2) mpeg4 解码所用到的结构 /* 视频属性结构*/ typedef enum IPP_VIDEO_LUMINANCE, /* 亮度*/ IPP_VIDEO_CHROMINANCE, /* 色度*/ IPP_VIDEO_ALPHA /* Alpha component */ IppVideoComponent; /* Macroblock Types */ typedef enum IPP_VIDEO_INTER = 0, /* P picture or P-VOP */ IPP_VIDEO_IN

30、TER_Q = 1, /* P picture or P-VOP */ IPP_VIDEO_INTER4V = 2, /* P picture or P-VOP */ IPP_VIDEO_INTRA = 3, /* I and P picture, or I- and P-VOP */ IPP_VIDEO_INTRA_Q = 4, /* I and P picture, or I- and P-VOP */ IPP_VIDEO_INTER4V_Q = 5, /* P picture or P-VOP(H.263)*/ IPP_VIDEO_DIRECT = 6, /* B picture or

31、B-VOP (MPEG-4 only) */ IPP_VIDEO_INTERPOLATE = 7, /* B picture or B-VOP */ IPP_VIDEO_BACKWARD = 8, /* B picture or B-VOP */ IPP_VIDEO_FORWARD = 9 /* B picture or B-VOP */ IppMacroblockType; /* 矢量动作结构*/ typedef struct _IppMotionVector Ipp16s dx; Ipp16s dy; IppMotionVector; /* 透明状态结构*/ enum 实用文案 文案大全

32、IPP_VIDEO_TRANSPARENT = 0, IPP_VIDEO_PARTIAL = 1, IPP_VIDEO_OPAQUE = 2 ; 3.2数据结构与系统单元的关系 嵌入式中文字库单元,在对矢量字库的处理中,数据结构FT_Outline_ 中描述了字形轮廓的矢量表示, 按照设置的字体格式,对字形轮廓的矢量表示的进行转换,并以此生成位图,输出显示字符。 全屏中文手写单元,在鼠标输入过程中,利用数据结构QIMPenStroke 记录每一个笔画中的各个点, 利用Qmatcher 识别引擎作为调用识别库标准接口,在手写识别程序和识别库之间进行数据交换,并产生 候选字列表。 多媒体软件移植单

33、元,主要通过这些数据结构在解码过程来描述媒体文件,并在最后通过数据结构返 回上层软件。 4接口设计 4.1外部接口 4.1.1 用户接口 开发平台: 采用命令行方式与用户交互信息。 运行平台: 用户通过手写输入或者虚拟终端同开发板交互信息。 4.1.2 其它外部接口 开发平台: 硬件接口:通过串口、并口、网口与开发板通讯。 软件接口:通过minicom 、ftp、telnet 与运行环境交互信息。 运行平台: 嵌入式 GUI :TrollTech 公司。 中英文手写输入:清华文通。 嵌入式中文字库:长沙东文 实用文案 文案大全 4.2内部接口 运行平台系统单元接口如6 所示: 5运行设计 5.

34、1系统初始化 加电复位,核心引导,执行初始化脚本,建立基本运行环境,启动图形界面。 5.2运行控制 无 5.3运行结束 退出系统,关闭电源。 6系统出错处理设计 6.1出错信息 本项目可能出错的信息有:运行平台系统启动失败,某设备不支持等。(x86 平台图形界面和应用编程 中出现的错误由开发人员根据实际情况修改调试,在此不做预测) 6.2补救措施 根据出错信息重新交叉编译Linux 核心源码,写入目标系统运行。 上层应用 QPE中文图形环境 全屏中文手写嵌 入 式 中 文 字 设备驱动 中软嵌入式 Linux 核心 图 6 运行平台系统单元接口 实用文案 文案大全 7系统维护设计 7.1检测点

35、的设计 无 7.2检测专用模块的设计 无 8尚待解决的问题 无 实用文案 文案大全 附录 A:嵌入式中文字库关键技术和算法 glyph 的矢量表示 Glyph image 的矢量表示被称为outline, outline 是一系列封闭的路径称之为contours 组成,每个 contours 划定了一个glyph 的外部和内部区域,它是由线段和贝塞尔曲线组成。 Contours 是由一系列的points 来表示,通过control points 来定义曲线的弧是二次还是三次的贝塞尔曲 线。因此,每一个point 都对应一个tag 标志,说明其是normal 还是 control point 。

36、 每一个 contour 对应下列四种情况: 图一图二 图三图四 由三个数组来进行描述: points 数组包含了contours 所有的点, tags 数组包含了与每一个point 相对应的flag, contours 数组包 含了一个contour 结束点的索引。 n_points 是 outline 所有的点数, n_contours 是 outline 包含的 contours 的数量。 Tag 可以为以下的三种value: FT_Curve_Tag_On:表示其所对应的point在曲线上,两个连续的FT_Curve_Tag_On的 point表 示一个直线段。如图一所示。 FT_Cu

37、rve_Tag_Conic :表示其所对应的point不在曲线上,但是一个control point,在两个 FT_Curve_Tag_On的 point中间有一个FT_Curve_Tag_Conic 的 point表示了一段二次贝塞尔曲线,如 实用文案 文案大全 图二所示。 FT_Curve_Tag_Cubic :也表示所对应的point是一个control point,在两个FT_Curve_Tag_On 的 point中间有两个FT_Curve_Tag_ Cubic的 points表示了一段三次贝塞尔曲线,如图三所示。 如果在两个FT_Curve_Tag_On的 point中间有两个FT

38、_Curve_Tag_ Conic 的 points ,则会在两个 off points的中间加上一个虚拟的point ,形成两个二次的贝塞尔曲线。如图四所示。 计算转换系数scale 设 char_width 为设置的字体大小,horz_resolution 为设备的分辨率 将字体大小放大64 倍: char_width=char_widthunits_per_EM )= dim_xunits_per_EM; 计算垂直方向pixels per font unit ,格式是16.16: y_scale = FT_DivFix( dim_y, face-units_per_EM ) 实用文案 文

39、案大全 附录 B: 嵌入式中文字库数据流程图 将字符编码转化成GBK 编码 (Unicode) 将字符编码转换成字库索引 按字库索引读入多级结构曲 线字参数 将得到的参数转换成FT_Outline 格式 按照设置的字体的大小,计算转换的系数scale 如果设置字体为斜体,则变换outline 的坐标 按照转换系数scale, 将字型轮廓转化成像素格式 按字型轮廓描述生成位图 显 示 字 符 字 符 编 码 实用文案 文案大全 附录 C :全屏手写系统结构图 手写识别程序界面 全屏 /窗 口手写切换候选字队列显帮 助 系 窗 口 手全 屏 手 截 获 所 有 窗 口 的 鼠 标事件 在窗口中提

40、供不同识别 库的选项, 根据选择加 载相应的手 写识别库, 并可以在窗 口中设置识 别范围 处理 N Y 把 窗 口 分 为 左 右两格。 当 鼠 标 切 换 到 另 一 格 时,则前 一 个 窗 判断 MouseEvent类型 MousePress 设置表示输 入状态的变 量,开始输入 MouseReleas e 改变输 入 状 态变量的值 把鼠标轨迹记录在队列 里,并在屏幕上画出轨迹 曲线 未写完 ,则继续读鼠标事 MouseClick 根据输入状 态,选择候选 字窗口中的 某个字 ,送入 焦点窗口 MouseMove 根据输入状 态记录鼠标 移 动 个 轨 迹 不处理其他类型的事件 鼠标

41、事件处理模块 识别库 :对输入的轨迹进行识别,结果放入一个候选字队 把队列中的轨迹坐标送入识别库,把结果显示在候选字 整 字 写 写完 在 窗 口 中 显 示 已 识 别 出 来 的 由 系 统 继 续 处 理 在窗口中, 提 供 本 手 写 识 别 软 件 的 使 用 方法说明, 及 其 他 相 手写识别功能基 本设 设 置 识 别 速 度 设 置 线 条 属 性 设 置 识 别 引 擎 在 窗 口 设 置 手 写 时 画 出 的 线 条的风格 实用文案 文案大全 附录 D:多媒体软件移植系统流程图 a) mp3 解码流程图 开始 初始化数据结构 MP3DecoderState MP3Bit

42、Stream 打开媒体文件流 从原始文件流中解 析mp3头部 在解析 mp3头部的 基础上解析 mp3 Side信息 在解析 mp3 side信息的 基础上解析 scalefactors 信息 根据信息进行Huffman 解码 得到原始数据流 进行综合过滤,产 生IMDCT 流 过滤IMDCT 流,产生 PCM流 把 PCM 流提交给上层软件 结束 写音频设备 实用文案 文案大全 b) mpeg解码流程图 提交上层软件 根据帧头信息读取音 频原始流放入缓冲区 根据帧头信息读取视 频原始流放入缓冲区 开始 读取帧头信息 初 始 化 解 码 需 要用到的结构 原始流解码成媒体流 原始流解码成媒体流 提交上层软件 音频 视 频 同步 处理 写音频设备和刷屏幕处理

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1