1 概述 電子紙顯示屏是一種全新顯示屏,具有功耗低、閱讀舒適等優點。作為一種新型顯示屏技術,電子紙顯示屏催生了眾多創新性移動應用,比如電子書、電子報紙、電子顯示牌等。S1D13521是Epson公司和E Ink公司2008年聯合推出的一款電子紙顯示控制器,具有多種全新特性,為E Ink電子紙顯示屏提供了強大的技術支持。如何充分利用S1D13521的特性,為新一代電子紙顯示屏提供更佳的人機交互體驗已成為一個有待研究與解決的問題。本文以津科V30型手持閱讀器為實例,介紹一些實際開發中的設計經驗和實現技術。 2 S1D13521及開發平臺 2.1 S1 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的強大功能還有待進一步挖掘,以推動新一代電子紙顯示屏的發展與應用。 參考文獻 1. Seiko Epson Corporation.S1D13521B01 Epson/E Ink Broadsheet Hardware Functional Specification,2008. 2. 郭景峰.電子紙手持閱讀器人機交互設計實現[D].天津:南開大學,2008. 3. 張亮.從蘋果的iphone看人機交互技術[J].程序員,2007(4). 4. 杭久成,何衛平.淺析數控機床觸摸屏人機交互界面設計[J].機械制造,2008(3). 作者:南開大學 李慶誠 鮑彬 張占營 來源:《單片機與嵌入式系統應用》 2009(10) |