新型人机交互平板电视空间遥控器设计与实现
2012-06-25彭婷婷周敏仪汪红兵
傅 勇,彭婷婷,周敏仪,汪红兵
(1.广州市弘元互动数字技术开发有限公司,广东 广州 510006;2.佛山云联科技有限公司,广东 佛山 528200;3.广州市亿新传播媒介技术研究院有限公司,广东 广州 510030;4.广州弘洋视讯科技有限公司,广东 广州 510006)
随着数字电视[1]的不断进步,第二浪潮互联网电视向第三浪潮智能电视转变,基于智能电视开放应用服务平台与内容层出不穷[2],正以快速的发展速度向前迈进。基于此,各种形式的界面操作不断创新,使越来越多的应用内容表现方式更多样化,但传统遥控器上下左右固定式按键操作已不能满足界面表现需要[3]及多元化表现方式,为了应对数字电视内容服务产业的发展需要,突破传统遥控器只能用按键作控制的瓶颈问题,本文提出自由操控的空间遥控器,以人的操控意识为主导,自由控制遥控器,以遥控光标的自由移动操控方式满足数字电视互动内容产业发展需要。
1 空间遥控器总体设计
空间遥控器[4]采用2.4 GHz无线传输模块,摆脱传统遥控器通信单一的模式。该款遥控器装备陀螺仪[5]和加速度传感器,极大限度地模拟人类的手部动作,不需借助任何按键便能做到倾斜和上下旋转,倾斜和左右旋转,围着主轴旋转,上下加速度,左右加速度,朝向屏幕加速和远离屏幕加速等操控动作。该设计可工作于全球开放的ISM频段,不单具备电压低、效率高、成本低、可进行双向高速数据传输的特点,还可实现快速跳频,前向纠错及进行校验等功能。
2 空间遥控器软件设计
基于遥控器总体设计,以下描述遥控器驱动程序的工作流开发设计思路,给出层次结构关系及程序功能规划。遥控器驱动程序包含数据处理类库、驱动运行程序和驱动启动程序,如图1所示。
数据处理库类为模块程序的核心部分,从硬件搜索到数据库抓取,再到模拟出鼠标数据全过程,及其抓取加速度数据模拟粗略的方向控制。该模块属于子模块,由驱动运行程序开启子线程运作,内部逻辑负责提供调用接口,供驱动运行程序使用,如图2所示。
图2 数据处理类功能图
驱动设备数据获取,启动对遥控器的数据获取,初次启动的时候分为连接设备和读取数据两步,并启动鼠标和键盘钩子,检测鼠标和键盘的特殊操作,正常启动之后由程序自行负责意外中断后的再运行,及其异常处理。程序关闭释放设备,当驱动程式关闭后,释放程序占据的资源,并且关闭鼠标和键盘钩子。接口处理类定义接口供驱动运行程序实现:关闭开启声音,遥控器电量获取,遥控器键盘命令获取,发送静止状态要求。
总体上需要实现长时间后台运行,且不能占用过多CPU和内存资源。对精度要求为数据格式的准确性和数据信息的完整性,鼠标模拟的及时性,允许细微的移动漂移。遥控器的随时更换要求为灵活性要求。长时间后台运行,每秒处理数据次数在300左右。
该数据处理库类模块虽然为类库,实际上是驱动运行的主要功能部分,对遥控器的逻辑操作和数据操作全部集中在该模块中,驱动运行程序只是一个载体,如图3所示。
图3 模块流程逻辑框图
驱动运行程序模块主要负责启动和关闭驱动,与互动应用系统框架进行消息通信,并操作系统资源。该模块为驱动程序的运行窗体,是其面模块的承载模块,负责与外部程序的消息收发、操作注册表等功能。如图4所示,驱动运行程序包含启动关闭驱动、消息处理及其他操作,如注册表操作、INI文件操作和界面操作。启动关闭驱动用于触发驱动的启动和关闭,资源的获取和释放。消息处理模块与其他进程之间进行消息通信、命令的转发和接收,并触发相关功能。
图4 驱动运行程序结构框图
驱动运行模块运行比较简单,主要任务集中在消息的接收和发送,如图5及图6所示。
图5 模块流程逻辑图
图6 驱动启动程序模块流程逻辑框图
3 空间遥控器硬件设计
空间遥控器硬件设计体积小,不需要外接天线,遥控器的接收器采用标准USB接口,即插即用,方便快捷,且接收灵敏度高。USB枚举成标准的应用设备,不需要安装额外驱动。接收器与遥控器单一配对,可以通过自身的对频功能,与同系统的遥控器进行对频使用。
为了增加对家电的控制,遥控器还增加了红外学习功能。通过采集遥控器发射的波形中的高低电平的宽度,并翻译成红外码储存在存储器上,从而实现自主地学习家电遥控器的编码,对家电进行自由控制。图7为空间遥控器按键功能图示。
该款遥控器还具备语音通话功能,可以当电话使用。USB AUDIO拥有充裕的带宽,声音质量高。
空间遥控器配备了可充电的锂电池,能通过MINI-USB接口进行充电,如图8所示。另外,对电池电量进行实时监控,并将电池电量通过无线传输给主机。
4 空间遥控器的应用
电视通话应用实现结果如图9所示,在该应用中可通过界面软键盘输入或通过遥控器数字键输入被呼入方号码,选择界面右方呼叫键便可进行该号码用户呼叫功能;当呼叫操作成功,被呼叫方可选择接听或挂断。以下表1给出了遥控器于电视呼叫应用的关键类功能说明。
表1 遥控器于电视呼叫应用关键类功能
5 小结
通过以上介绍,文中重点介绍了空间遥控器总体设计原理,遥控器驱动程序的基本组成结构,分析了驱动程序内数据处理类库、驱动运行程序与驱动启动程序之间的关系和逻辑结构,给出空间遥控器工作流的整体设计思路,并介绍了空间遥控器硬件和与电视呼叫应用结合的应用实例。
[1]刘亚峰.浅谈交互式数字电视应用及其发展[J].电脑知识与技术,2008(3):722-723.
[2]罗克露,姜连波.开放式体系架构的数字家庭中心服务器——智能化构件容器的研究与实现[J].电子科技大学学报,2010(2):255-259.
[3]张碧潇,许晓云.数字家庭的交互特性研究[J].大众文艺,2010(15):6.
[4]倪新国,杨华波,张士峰.空间陀螺仪显示标定与隐式标定方法[J].中国空间科学技术,2008(5):39-45.
[5]陈亮,黄玉美,林义忠,等.陀螺仪角速度的检测与处理[J].传感器与微系统,2006(4):58-59.