1 概 述
电子纸显示屏是一种全新显示屏,具有功耗低、阅读舒适等优点。作为一种新型显示屏技术,电子纸显示屏催生了众多创新性移动应用,比如电子书、电子报纸、电子显示牌等。S1D13521是Epson公司和E Ink公司2008年联合推出的一款电子纸显示控制器,具有多种全新特性,为E Ink电子纸显示屏提供了强大的技术支持。如何充分利用S1D13521的特性,为新一代电子纸显示屏提供更佳的人机交互体验已成为一个有待研究与解决的问题。本文以津科V30型手持阅读器为实例,介绍一些实际开发中的设计经验和实现技术。
2 S1D13521及开发平台
2.1S1 D13521简介
S1D13521提供多种主机处理功能,极大地减轻了主机负载,提升了系统整体性能;支持2 048×1 536的分辨率(50 Hz),最大支持4 096×4 096分辨率(低于50 Hz),支持32灰度级显示;支持多区域并行显示刷新,提高了电子纸显示屏的响应速度。使用这种控制器,电子纸显示屏最多可同时执行16个区域的局部擦写。显示屏响应速度的大幅提升使触摸屏式的用户交互方式成为可能,并带来响应式手写笔输入、下拉菜单等一系列新的应用。这一技术为提升电子纸用户界面体验提供了强大支持。
S1D13521系统结构如图1所示。S1D13521显示控制器在主机与电子纸显示屏之间,用于控制电子纸的显示刷新。
2.2 S1D13521显示控制原理
电子纸显示屏具有独特的显示刷新机制。不同于CRT和TFT等显示屏的动态主动刷新方式,电子纸显示屏只有当数据更新时才会刷新,相对而言是一种静态被动刷新。
基于电子纸显示屏这种特性,S1D13521主要向上层提供2种功能,即贴图和刷屏。贴图功能是把内存中的一块区域复制到显存中;刷屏功能是把显存中的一块区域刷新到电子纸显示屏。刷屏分为全屏幕刷新和部分矩形区域的块刷新。块刷又可分为多级灰度块刷和黑白两级块刷,其中黑白两级块刷具有更高的响应速度。
2.3开发平台简介
本文的开发平台使用津科V30型手持阅读器。该设备采用S1D13521显示控制器,配置6英寸E Ink电子纸显示屏,分辨率为600×800。本文程序运行于应用程序层,经底层驱动封装的S1D13521编程接口如下:
3 电子纸人机交互设计
3.1 电子纸人机交互结构模型
S1D13521大幅度提升了电子纸的响应速度,从而加速了显示屏对用户操作的反馈,使动态的视觉反馈效果成为可能。基于这种特性与优势,本文设计了一种控制-反馈人机交互结构模型,如图2所示。
模型中最核心的两部分是动态视觉反馈和触摸屏输入。通过简单的触摸屏操作手势,用户可以方便直观地操控设备;系统根据触摸屏输入及时给出动态视觉反馈,以指导用户操控;当用户得到反馈信息,随即根据感官获取而改变操控动作。这就是一个控制-反馈的循环过程,这一动态交互过程极大地提升了用户交互体验。
3.2操控手势及界面布局
基于上述模型,本文针对津科V30型手持阅读器设计了7种基本操控手势,并以此为基础设计了合理界面布局,如图3所示。
这种设计可以通过几种简单的操控手势实现所有阅读器的基本功能,很好地遵循了人机交互设计的一致性和界面简洁性原则;同时,通过动态视觉反馈给予用户及时响应,从而实现整个交互功能。
4电子纸人机交互实现
在电子纸人机交互的实现中,充分利用S1D13521的特性,对各种操作及时产生动态视觉反馈,可达到直观、易用的人机交互效果。
4.1简单动态反馈的实现
动态反馈的实现依赖于显示器快速刷屏响应,而S1D13521的一个重要特性就是可以加速块刷。相对于传统800 ms的块刷时间,S1D13521可以把黑白两级块刷时间降为300 ms。充分利用这一特性,可实现多种简单动态反馈效果。
实现的一般过程是,首先计算每一帧显示屏变化区域大小,然后调用快速块刷函数GrFastPartialPrint完成对变化区域的显示刷新,这样就能以3帧/s的速率实现动态效果。这一技术的关键是计算合适的块刷区域,从而保证有效的刷屏速度。
津科V30型阅读器人机交互的翻转、退出、撤销3种操作就是使用这一技术实现的。这里以退出操作的卷帘效果为例说明。退出操作是从阅读状态返回书架,当用户从屏幕上方下向下划动,书架随之以卷帘效果展开。图4展示了书架的卷帘效果及显示刷新过程。其中,框出区域为每帧块刷区域。
4.2即时响应动态交互的实现
为了增强人机交互的易用性和趣味性,需要进一步设计即时响应的动态反馈效果。这就要求,在使用快速块刷技术的基础上,综合运用几种针对电子纸的实现技巧。
4.2.1 效果展示
津科V30型阅读器人机交互的翻页、跳页操作就是即时响应的动态交互。这里以翻页操作为例。图5展示了翻页操作,以三角形简单模拟翻起的页角,同时在翻起的区域显示下一页部分内容,翻起页角随用户触摸移动而变化,视觉即时响应触觉。
4.2.2实现技术
(1)即时响应的实现技术
用户触摸移动会触发MouseMove事件。即时响应要求对触发事件作及时处理,而电子纸块刷时间是300 ms,其刷新速率无法跟上事件触发速度,所以即时响应实现的一个很重要策略是舍弃一部分MouseMove事件。每次在OnMouseMove事件处理函数中,刷屏后调用DropMouseEvent函数,从而在本次处理之后舍弃一小部分触发事件。DropMouseEvent函数实现如下:
因为舍弃事件的速度大于用户触发事件的速度,所以舍弃一些MouseMove事件后队列变空,之后会再次响应用户动作。
(2)高频刷屏中的填充处理
在即时响应的高频刷屏中,容易出现滞留现象,即会有上一帧的残留。尤其是翻页动画中存在填充区域,这种现象非常明显。这是由于电子纸的刷屏特性导致的,电子纸的像素在由黑(白)反白(黑)时,耗时长且易出现刷屏残留。
基于这一原理,可以在填充时采用固定格式的隔像素填充技术。具体做法是,每4个像素为固定一组,左上角填黑,其他3个像素填白。这样,从整体看呈现了隔行隔列填充的效果。从局部看,排列是固定的,当填充区域变化时减少了由黑(白)反白(黑)的像素个数,基本可以去除残留现象,也起到了加速的作用。具体实现采用查表技术,每填充一个像素之前,调用GetPointColor函数查表判断是否填充该像素。GetPointColor(int x,int y)函数实现如下:
4.3 16通道技术的应用
16通道技术是S1D13521的另一个重要特性。其原理是当多块不重叠区域连续块刷时,S1D13521可以提供16个并行通道,使每个块刷时间降为300/16 ms。充分利用这一技术,可以实现更为流畅的动态效果。
以百叶窗动画为例说明16通道技术的使用。还是调用GrFastPartialPrint函数,当连续块刷的区域均不重叠时,SlD13521会自动开启16通道。百叶窗的实现是把整屏图分为m块,每一块分为n条,按一定次序依次显示其中一条区域。程序实现如下:
需注意,块刷区域长宽必须是4的倍数,才能正确使用16通道。否则,S1D13521会认为区域有重叠,把多个区域一起刷出,无法显示动画效果。
4.4 实现结果
通过使用上述技术,在津科V30型阅读器上实现了各种操控手势的动态交互,实现了所有基本阅读功能人机交互。撤销操作类似于退出操作,也是以卷帘效果动态反馈。跳页操作是拖拽出若干条等间隔区域,表示当前文件页号列表,并在顶角处标以页号,当前页用黑色区域标记。翻转操作是在屏幕中间以小图标转动响应用户动作。
结 语
与传统的电子纸用户界面相比,基于S1D13521显示控制器的电子纸人机交互更具人性化,更为易用。作为新一代显示控制器,S1D13521的强大功能还有待进一步挖掘,以推动新一代电子纸显示屏的发展与应用。