机顶盒遥控器的鼠标模式设计
2016-06-20王帅卿
王帅卿,杨 帆,华 中
(1.河北工业大学 电子信息工程学院,天津 300401;2.天津铂创国茂电子科技有限公司,天津 300384)
机顶盒遥控器的鼠标模式设计
王帅卿1,杨帆1,华中2
(1.河北工业大学 电子信息工程学院,天津 300401;2.天津铂创国茂电子科技有限公司,天津 300384)
摘要:多数机顶盒上只提供上下左右的滑动方式在不同选项之间选择,而设计优化了一种新的方式,该方式可以让机顶盒的用户做到定点选择。该方式是利用一种多功能触屏遥控器实现的。遥控器内部由单片机做主控芯片,采集触摸屏的数据并判断用户操作的当前状态,如果是滑动操作再由量化算法计算出移动距离的量化结果。最后,自定义一种红外协议,将数据通过这种红外协议发送给机顶盒,以达到控制机顶盒的目的。实验结果表明遥控器的平均正确操作率在95%以上,而且定位精度和有线鼠标接近,易操作性良好。
关键词:触摸屏遥控器;鼠标模式;机顶盒控制;红外协议
智能机顶盒或者网络机顶盒等智能设备已经进入了大众生活[1]。为了能够更加方便地使用机顶盒遥控器控制机顶盒,在遥控器上添加了鼠标模式。目前,电脑上的鼠标已经近乎完美,而将这一工具用在遥控器上控制机顶盒才刚刚开始。目前,国内外市场上应用较多的是按键鼠标,按键鼠标是在原来的遥控器上附加的一种功能,靠按键被按下的时间长短区分鼠标指针的移动速度。这样的鼠标模式和传统遥控器合并,按键较多,使用不方便。而在鼠标遥控器开发设计中,比较热门的要数空中飞鼠,空中鼠标是利用陀螺仪感应人手的动作,得出鼠标指针的移动方向和距离的一种工具[2-3]。而且这类鼠标多采用2.4 GHz无线技术,辐射高,且在第一次使用时必须要经过码率配对过程;电池供电,使用成本高[4]。
本文所设计的鼠标模式是基于一种多功能触屏遥控器设计的,用户可以在遥控器上选择鼠标模式,并通过对触屏遥控器的点击、滑动和长按等操作,将操作数据通过红外协议传输到机顶盒,实现对机顶盒的控制。
1鼠标模式硬件平台
现在市场上流行的遥控器鼠标模式是基于传统按键式遥控器开发的,鼠标模式的人机交互很不方便,也很少被用到;而人们又不太习惯使用空中鼠标。本文设计的触摸屏遥控器是全触屏控制鼠标,就像便携式计算机的触摸板,控制方便。触摸屏是一种流行的大众人机接口[5]。触摸屏上分区域画出了操作区域和功能触摸键。使用时,用户在规定区域完成操作就可以控制对应机顶盒。这样的触摸屏遥控器具有诸多优点:
1)由单片机开发,成本更低廉;
2)手掌大小的面积,产品更轻便;
3)鼠标模式只有4个功能触摸键和两个操作区,更易学易用;
4)功能由软件编程实现,可重开发;
5)触摸屏可印刷,可定制;
6)充电式电池供电,环保省电,使用成本低[5]。
图1是触屏遥控器的硬件平台,本平台采用导电油墨触摸屏,由触控处理模块将屏幕采到的数据信息经过一系列算法处理后传输给单片机CPU,CPU经过对信息的筛选处理,决定是否发送红外数据和发送什么数据。
图1 硬件平台
控制器采用HAV1007型号单片机,此款单片机集成C*Core和触控芯片于一身,可以直接连接触摸屏,是一款专门为触屏设备设计的功能强大的单片机。
2鼠标模式软件设计
整个鼠标的实现可以分为3个步骤:采点处理,状态机,红外发送。3个模块分3个函数模块,其中以状态机为主体函数,完成操作判断和作出回应。由于机顶盒多是采用NEC红外协议,所以红外发送模块也采用NEC红外协议,以便和机顶盒对接。
2.1采点处理
采点处理的缓冲器是专门为了配合触屏遥控器而设计的。采用定长数组循环存放信息,这样可以节约单片机内存。采点处理过程把一个定长的数组作为缓冲器,记录坐标信息有效点个数和总点的个数并标记当前点是否有效。这里的无效点是指第一次操作之后,等待是否有第二次操作时的(0,0)点。为了便于统一管理,不存放无效点坐标信息,而将无效点的个数存放在x坐标的位置,无效点后接有效点标志存放在y坐标的位置。这样也节省了存储空间。此外,标记信息也能起到计数的作用。每一个坐标的标记信息都是16位长的数,用32 768(215,是16位二进制数可表示范围的一半)以上的数字表示有效点标志,以下的数字表示无效点标志。采集到新点时从0或32 768开始加1记录标志信息。经过对点的标识、分类等预处理后放入缓冲器。连续的采点将循环的存储在缓冲器当中,以这样边采点边由其他模块读取点信息的方式,完成采点处理的操作。图2是缓冲器流程图。
图2 缓冲器流程图
2.2状态机
壮态转换是整个鼠标模式的关键,也是软件部分的主体。用软件状态机实现,其下分为:空闲态(G_IDLE)、触摸态(G_T)、滑动态(G_DM)、长按态(G_LP)、单击提起态(G_SC_UP)和双击触摸态(G_DS_T)等状态。不同操作对应不同状态,用户完成想要的操作,遥控器就可以发生红外数据。
如图3的状态跳转图。没有动作时状态机处于空闲态。当开始有新的触摸点输入时,状态机就从空闲态跳入触摸态,再根据接下来的点信息判断是滑动态、长按态还是单击提起态。如果以后的点符合滑动判断,则进入滑动态,发送红外信息;如果采集到的坐标点在一个阈值范围内且时间够长,则进入长按态,然后发生长按对应的键值;如果采集到无效点,则进入单击提起态。在单击提起态会等待一段时间,一段时间之内有新坐标点则进入双击触摸态,否则发出单击动作的红外键值并返回空闲态。双击触摸态时,如果有滑动或长按发生,则进入滑动态或长按态。如果又采集到无效点,则完成双击操作。双击操作需要判断两次触摸屏幕的坐标点符合不符合阈值范围内,符合则发出双击动作对应的红外键值,否则按第二次触摸的点发出单击动作的红外键值并返回空闲态。图4清楚地列出了各个状态的流程图。下面以是否发生滑动的判断方法为例分析状态机的状态跳转过程。
图3 状态转换图
图4 各状态流程图
状态机决定鼠标做出什么动作,然而鼠标能移动到准确的位置,能拥有良好的用户体验的因素是滑动的判断和量化。而且滑动的判断和量化是相互影响的。主要体现在:
1)当滑动判断阈值较大时,每次判断成一次滑动采集到的点就多;反之,点少。而慢滑时的量化又是根据点的多少得出结果的。所以滑动判断影响量化结果。
2)量化结果较小时,红外发送的数据较小,鼠标指针移动较小;反之,较大。滑动结果就不理想。所以量化影响滑动的效果。
2.2.1滑动判断方法
滑动判断的方法较简单。滑动判断模块的判断方法是根据连续有效触摸点的距离差是否大于滑动判断阈值,大于该阈值则有滑动发生,否则没有滑动发生。滑动判断阈值是通过输入变量传给滑动判断函数的,所以怎样才算是滑动不是滑动判断模块决定,而是在状态机调用滑动判断函数时,由状态机的当前状态决定的。主要有触摸态(G_T)和滑动态(G_DM)等调用。如果是触摸态调用,滑动判断阈值的设定是为了区分下一个状态是滑动态还是长按态;如果是滑动态,滑动判断阈值的设定是为了良好的用户体验。阈值具体的大小要通过多人多次实验得出。这样的滑动判断函数不仅满足了状态机不同状态的需求,而且符合大多数人的使用习惯,具有普适性。
2.2.2鼠标量化算法
鼠标量化就是将用户手指在遥控器上滑动的速度和距离用合适的数据表示出来;即屏幕鼠标指针移动的方向和距离是由遥控器触摸屏采集点的变化量和变化速度决定的。
适合人手的遥控器的体积较小,因此,用户在控制鼠标慢滑的时候,滑动判断模块判断出的每一次滑动的坐标变化量和触摸屏上的移动速度和距离并没有明显的关系,利用距离不能有效区分鼠标指针应有的移动距离。但是,采集到点的数目却和移动速度和距离有关系。因此,鼠标量化可分作两部分理解:慢滑时根据滑动判断模块判断出一次滑动时的总坐标点数量化出鼠标指针的移动距离;快滑时再根据滑动距离量化出屏幕鼠标指针移动距离。虽然鼠标量化分为快滑和慢滑,却可以用一个公式表示单方向的移动量。
鼠标量化得出的数据结果是由两个变化量计算出的。一个是一次滑动的点数,一个是一次滑动的距离,也就是说量化结果和点数和距离有关系。量化函数将横纵轴分开量化,先处理纵轴采集的数据,然后再量化横轴[6]。设横向变化量为dx,纵向变化量为dy,每次判断成滑动时的总点数为p。将量化结果存储在结构体s中,则在x轴和y轴的量化结果分别为
(1)
(2)
公式中的系数4和条件中的系数4是根据理论计算和经验修正得出。这样的处理方式是将每次滑动的距离用每次滑动的点数转换压缩,以达到良好用户体验的效果。在单位距离内,最终的量化结果和滑动时的手指速度是成正比的。以x轴为例,慢滑时dx为50左右,函数图像类似图5a;快滑时p等于2或3,函数图像是线性的,如图5b。
图5 量化结果函数图
2.3红外协议
红外发送模块发送的数据包括两个16位二进制数。如果是确定、返回或者开关机或者翻页的键值,则发送的两个16位二进制数一个是固定的系统码,一个是键值。机顶盒收到对应键值就给出回应。如果是滑动的量化结果,则一个表示横轴移动量,一个表示纵轴移动量。两轴移动量配合得出屏幕鼠标指针的平面移动方向和距离[7]。
图6中,以单轴量化结果为例分析了滑动时屏幕鼠标指针的移动距离的二进制量化结果键值的权重和符号位。当相应数据位为1,表示屏幕鼠标指针要移动对应权重的距离。+/-位是符号位,“1”表示结果为负。标“0”的位是固定标志位,表示当前数据代表鼠标偏移量。
图6 量化结果
将键值或滑动的量化结果通过红外模块发送给机顶盒,则机顶盒就根据接收的数据作出回应。这样就形成了遥控器鼠标模式的一组红外协议。
3实验结果
通过不断地对触摸屏和软件改进调优,最终实验得出了理想的效果。图7和图8分别是一次向下翻页和一次右上到左下的快速滑动效果,慢速滑动也可以达到毫米级的滑动。可见翻页和传统按键遥控器效果相同,滑动比传统按键遥控器更方便,更符合使用习惯。表1是测试得出的统计表,平均正确判断率在95%左右。
图7 翻页效果(照片)
图8 快滑效果(照片)
对于用户来说,评价一款鼠标的优劣需要考虑定位精度、平滑性、易操作性[8]。本文的量化成功地做到移动量受滑动速度和滑动距离两个因素影响。理论上,红外数据的量化结果可以到达1个像素点。实际应用中也可以到达毫米级的移动,完全满足用户需求。由于遥控器是无线传输数据,而且是红外传输,所以速度较慢,采样速度慢,平滑性欠佳。
表1 测试统计表
4结论
无线红外协议的数据传输速率较慢[9],但在机顶盒遥控器上实现的鼠标模式用红外传输数据还是取得了较好的结果。以后,智能机顶盒和网络机顶盒的普及率会越来越高,遥控器也会越来越多,利用遥控器实现鼠标模式也会与时俱进,更加增大人们生活的便捷性。另外,遥控器的用户体验和操作的成功率和触摸屏的灵敏度有直接关系,也和操作区域和触摸功能的大小有一定关系。
参考文献:
[1]LO S C,YU T H,TSENG C C. A remote control and media-sharing system using smart devices[J]. Journal of Systems Architecture,2004(60):671-683.
[2]郭斌, 罗少锋, 李小东.基于nRF24L的带鼠标功能的电视遥控器[J]. 电子产品世界, 2011(6):49-51.
[3]韩近跃. 空中鼠标的设计与实现[D]. 北京:北京工业大学,2009.
[4]LI C Y,LI M.Intelligent remote control design research[C]//Proc. 2011 IEEE 12th International Conference on Computer-Aided Industrial Design & Conceptual Design.[S.l.]:IEEE,2011:135-137.
[5]COHE A,HACHET M. Beyond the mouse:understanding user gestures for manipulating 3D objects from touchscreen inputs[J]. Computers & graphics,2012(36):1119-1131
[6]FARSHCHI S,NEZHADHOSEINI S,MOHAMMADI F. A novel implementation of G-Fuzzy logic controller algorithm on mobile robot motion planning problem[J]. Computer and information science,2011,4(2):102-114.
[7]周彬,叶以正,李兆麟. 基于二维测试数据压缩的BIST方案[J]. 计算机辅助设计与图形学学报, 2009,21(4):481-492.
[8]滕莉. 空中鼠标自由“掌握”——详解空中鼠标技术方案[J]. 个人电脑, 2010(2):78-79.
[9]WU Y C,CHEN M J,CHANG B S,et al. A low-cost web-based infrared remote control system for energy management of aggregated air conditioners[J]. Energy and buildings,2014(72):24-30.
责任编辑:许盈
Mouse mode of remote controller for set-top box
WANG Shuaiqing1, YANG Fan1, HUA Zhong2
(1.SchoolofElectronicandInformationEngineering,HebeiUniversityofTechnology,Tianjin300401,China;2.TianjinBotroElectronicTechnologyDevelopmentCo. ,Ltd.,Tianjin300384,China)
Abstract:Most remote controllers of set-top box could only make a choice between the four options -- sliding up or down or left or right. In this paper, a new way is designed and optimized. In this way, users can control set-top boxes to do fixed-point selection. This device is based on the multi-functional touch-screen remote controller that is dominated by single-chip microcomputer. Microcontroller unit (MCU) collects information from touch-screen, and then sends a message after receiving the state of user’s operation. If current state is slide state, the message would be calculated by quantization algorithm. Finally, the final data is sent to set-top boxes via an infrared protocol that is defined in advance. So users can control the mouse pointer displayed on screen of the set-top box, and do fixed-point selection by operating the touch-screen remote controller. The experimental results show that the average correct rate of operation of the remote controller is above 95% and the positional accuracy is close to wired mouse.
Key words:touch-screen remote controller; mouse mode; set-top box control; infrared protocol
中图分类号:TN835
文献标志码:A
DOI:10.16280/j.videoe.2016.05.002
作者简介:
王帅卿(1990— ),硕士生,主要从事智能信息处理研究工作;
杨帆(1966— ),教授,主要从事图像处理、模式识别及电路与系统等方面的研究工作,为本文通讯作者。
收稿日期:2015-11-01
文献引用格式:王帅卿,杨帆,华中. 机顶盒遥控器的鼠标模式设计[J].电视技术,2016,40(5):4-8.
WANG S Q,YANG F,HUA Z. Mouse mode of remote controller for set-top box[J].Video engineering,2016,40(5):4-8.