基于OSD的数字机顶盒用户界面设计
1 引言
开发完善的机顶盒产品,友好的用户界面是其中不可或缺的一部分。它使用户对机顶盒系统的设置和操作变得简单而形象。osd(on screen display——现场显示显示信息)提供一种在电视节目图像上叠加输出图形及文字的一种操作,通过软件编程可以提供一套图形函数接口,以便进一步根据不同应用需要进行图形用户界面(gui)的开发。
2 硬件系统
机顶盒硬件系统结构如图1所示。系统由含解复用硬件单元的cpu,视频解码模块,音频解码模块、视频编码输出单元、音频d/a转换单元、高频头单元、 tuner(调谐器)、qam解调器、存储系统(包括系统dram, flash rom, eeprom、视频解码sdram)、jtag接口、遥控和前面板控制芯片等组成。
图1 机顶盒硬件系统结构图
从卫星、有线和地面来的视频节目信号被接收后,先由高频头进行解调,解调输出的ts流送至解复用芯片,该芯片对送来的ts流进行解复用,并将当前有效的音 频和视频数据包分别送往音频和视频解码芯片进行音频和视频解码。解码芯片对送来的音、视频数据进行解码后经输出单元输出。
3 软件系统
机顶盒软件系统采用了分层体系结构进行描述和实现。这样,一旦硬件模块发生变化,软件的实现只需修改和硬件相关的固件层,中间层和应用层可以保持不变,可大大节省编程时间,提高代码的重用率。保证了软件的实现在硬件模块,主要是微处理芯片发生变动时,软件只需最小的修改和维护。机顶盒软件系统的分层模型如图2所示。
图2 机顶盒软件系统的分层模型
固件层主要有硬件bios和实时内核,完成对硬件设备的最低层的封装。驱动层对各系统设备进行了进一步的封装,为flash、eeprom、智能卡、前面 版、以及高频头等设备提供驱动程序、图形引擎等。中间件层对驱动进行封装,为应用层提供所需各个功能的具体实现。使应用程序独立于操作系统和硬件平台,从而将应用的开发变得更加简捷,使产品的开放性和可移植性更强。中间件层主要有信道控制、解复用控制、解码控制、网络控制等模块、人机接口。与机顶盒有关的 上层功能的实现在应用层完成。
4 基于osd的gui设计
gui的基本功能是向应用程序层提供图形和文字显示的api以及图形元素的组织机制。系统中gui的设计和实现建立在osd的基础上。
机顶盒软件系统的设计是在hmd2003硬件环境和软件开发包下进行,并以keil uvision2 c51作为开发和调试工具。
4.1 osd图形引擎模块
虽然hmd2003的osd单元从硬件上提供了对osd的支持,但如果每次输出osd数据时都对底层的硬件进行操作,其操作过程将非常繁琐,并且容易出 错。系统的osd模块采用分层设计的思想,并结合hmd2003硬件特性进行设计。整个osd模块实现函数分三层:硬件层、api层、应用层。osd图形库分层结构如图3所示。在用户应用程序与底层的osd硬件之间增加了osd图形库,它提供了功能完备的api函数,其目的是为了屏蔽底层的硬件细节,便于上层应用的开发。该结构使最终的菜单设计只涉及一些应用层函数,不仅可以在所提供的函数包上做出完善的osd界面,也很容易在驱动层的基础上进行二次开发,做出适合自己的一些api层函数。
相关文章
- 2023-05-18微加速度计在恶劣环境下的可靠性
- 2024-07-29单元结构尺寸对不锈钢/空气二维声子晶体声波禁带的影响
- 2024-08-08大尺寸量具检测装置的研制
- 2024-02-02轻量化折衍混合中波红外热像仪光学系统设计
- 2024-01-16输液瓶液位测量及报警装置
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。