APP下载

个性化数字电视用户界面的设计与实现

2010-08-18刘春英吴德华

电子设计工程 2010年6期
关键词:用户界面调用绘图

刘春英,宋 烨,吴德华

(长沙航空职业技术学院 湖南 长沙 410124)

随着数字电视和通信技术的不断发展,用户除了能看到越来越多的电视节目外,还能享受到数字电视增值业务带来的众多好处。但随着中国数字电视总体转换工作在各地市相继完成,数字电视增值业务并没有让运营商获得较好的经济回报,也没有在老百姓中博得好口碑。与开展得如火如荼的电信增值业务相比,更是相形见绌。数字电视用户相对于电脑用户而言更加大众化,大多数的数字电视用户只具备模拟时代积累下的电视使用经验,只会用遥控器开关机、换台和调音量[1]。因此一个界面友好的个性化数字电视应该易于学会、易于使用、易于理解、易于排错、易于维护和易于群体共享。用户界面是否直观、清晰,又不失美感,操作是否简单明了,是消费者在选购数字电视时的重要考虑因素。

1 个性化数字电视用户界面的设计

数字电视用户要通过用户界面实现选台、调节音量、浏览信息等众多功能,因此用户界面是软件设计的重要模块[2]。就功能而言,它能把系统提供的所有功能协调,集成在一起;就外观而言,它必须提供一个简单明了的操作机制,使用户能方便调用系统提供的所有功能。用户界面的功能调用由系统API实现,外观设计主要由OSD显示单元实现。用户界面由两部分组成:菜单部分和非菜单部分,如图1所示。

图1 用户界面主菜单

各个菜单部分在功能上相互独立,具体功能如下:

1)节目指南菜单 通过该菜单可以了解正在接收节目的接收进度、节目名称、频道数、节目数、频道、时间等信息,它包括全频道、全天候、全类型和全星期4个子菜单。

2)视频点播菜单 该菜单可使用户根据自己兴趣自由点播节目库中的视频节目和信息,充分体现交互式操作的特点。

3)系统设置菜单 系统设置包含网络设置、自动搜台、频道排序、查询余额、版本信息、语言选择等子菜单。

4)电视资讯菜单 该菜单可使用户能在电视机上浏览各种感兴趣的信息,实现个性化浏览。

上述是菜单部分所完成的功能。非菜单部分则可实现节目列表的切换、静音、音量调节、画面静止和屏幕信息显示等功能。键盘、前面板按键、遥控器、OSD画面显示等是用户能直观感受到的,而用户输入/输出接口控制器则是真正起执行作用的部分。

2 个性化数字电视用户界面的实现

2.1 用户界面的实现方案

目前的数字电视终端主要以数字电视机顶盒为主,本设计是在以ST(SGS-THOMSON)公司提供的高集成度单片解码器STi5518为核心的单片方案基础上实现的。

该系统设计中,用户界面创建是通过调用绘图函数库中的函数实现的。绘图函数库之间的从属关系[3-4]如图2所示。

图2 绘图函数库之间的从属关系

STOSD底层驱动程序中含有画点、线、弧等最基本的函数。高级OSD程序库hl_stosd.h包含了在STOSD底层驱动程序基础上建立起来的一些高级绘图函数,如字库操作函数集(hlosd-font模块)、OSD 基本图形函数集(hl_stosd模块)和贴图(hlosd_bitmap模块)函数集等。STWTK程序库则位于所有绘图函数的最顶层,大多数绘图函数都靠它支持。

该用户界面软件的主要特点是模块化。STWTK程序库由许多图形界面的“软件元素”组成,它是创建界面的基本元素。STWTK程序库提供的软件元素主要有以下4类:

1)Menu(菜单)标准Menu由许多小单元组成,一个小单元代表一个可选项。同时Menu还应支持对这些选项的索引、排序和删除等操作。

2)Button(按钮)该结构被调用后,可以在图形界面上显示一个与“按钮”类似的图形,该“按钮”从视觉上看也可达到按下或弹起的效果。

3)EntryBox(输入文本框)该结构被调用后,可在图形界面上显示一个包含用户输入信息(用字符表示)的矩形框。

4)Slider(滚动条)标准Slider是由滑动槽和一个移动块组成。滑动槽决定了Slider是水平还是垂直的。

本方案采用面向对象的思想来设计软件的结构。单个“软件元素”类似于C++中的一个类,它有着自己的特性和依据其特性设计的专用操作,并且每个软件元素均包括数据结构和成员函数两部分。数据结构描述了对象的基本形式、特性以及它所能完成的功能,而成员函数则描述了外部能对对象进行何种操作。

2.2 用户界面的软件实现

通过上面的分析可得,用户界面应用程序模块主程序流程如图3所示。

图3 用户界面模块主程序流程

菜单的形式和功能是由预先设置好的软件元素的数据结构和成员函数来确定,并且不同菜单的显示流程都是一样的。因此当用户选中某个菜单时,通过调用成员函数可以显示菜单并记录按键值,最后按要求执行菜单功能。例如要在屏幕上创建一个按钮,则首先可设置如下数据结构[5-6]:

然后合理调用 STWTK_CreatButton( )、STWTK_FreeButtonStructure()等成员函数即可达到目的。

3 用户界面中的信息浏览交互过程

个性化数字电视除了能向用户提供高质量的数字电视节目外,还应具备方便、快捷的信息浏览功能。信息浏览实现过程为:当用户想要在电视机上浏览某一信息时,可以通过遥控器输入或通过用户界面中选择对应的关键词。此时,系统首先会在用户词典中查看有无这一关键词,如果关键词已经在用户词典中存在,系统就通过索引找到与此关键词相关的篇目在段落文本库中的位置,并将其提取出来呈现在显示器上。用户可以用遥控器的“上”、“下”键来翻页或使其上下滚动,方便用户浏览。

如果在用户词典中没有此关键词,一方面要将此关键词添加进用户词典;另一方面系统就直接到段落文本库中去寻找。假如某一段落包含了此关键词,就先判断该关键词的属性,看能否隶属于索引树中的某一条目。如果属于某一条目的话,就不需在索引中重新添加,直接把相关内容提取并显示出来即可,否则就要将此关键词添加进索引,并把相关内容在屏幕上显示,供用户浏览,工作流程见图4。

4 结束语

本文通过定义基本软件元素和对应成员函数来设计用户界面软件,能完成用户界面的显示和其他基本功能,便于用户通过选择对应关键词实现个性化信息浏览与交互。由于软件是由一个个功能模块构成,结构性很强,大大减少工作量和复杂性,也便于日后的移植和升级。

图4 实现浏览交互的工作流程

[1]于华利.数字电视人机交互及图形界面方法[J].中国数字电视,2008(49):70-71.

[2]汪阳,张明义.广播电视系统人机交互界面的设计与实现[J].微计算机信息,2008(24):27-29.

[3]SGS-THOMSON.STi5518 single-chip set-top box decoder with MP3 and hard disk drive support preliminary data[M/CD].SGS-THOMSON,2000.

[4]SGS-THOMSON.STi5518 single-chip set-top box decoder with MP3 and hard disk drive support data sheet[M/CD].SGS-THOMSON,2000.

[5]黄欣,陈珊,俞斯乐.数字电视接收机用户接口界面软件的设计与实现[J].信号处理,2002(18):480-483.

[6]黄维通.Visual C++面向对象与可视化程序设计[M].北京:清华大学出版社,2003.

猜你喜欢

用户界面调用绘图
来自河流的你
“禾下乘凉图”绘图人
基于CiteSpace的国外用户界面体验图谱量化分析
核电项目物项调用管理的应用研究
物联网用户界面如何工作
垂涎三尺
LabWindows/CVI下基于ActiveX技术的Excel调用
UI用户界面色彩设计研究
基于系统调用的恶意软件检测技术研究
Surfer和ArcView结合在气象绘图中的应用