傅 勇,彭婷婷,周敏儀,汪紅兵
(1.廣州市弘元互動數字技術開發(fā)有限公司,廣東 廣州 510006;2.佛山云聯(lián)科技有限公司,廣東 佛山 528200;3.廣州市億新傳播媒介技術研究院有限公司,廣東 廣州 510030;4.廣州弘洋視訊科技有限公司,廣東 廣州 510006)
隨著數字電視[1]的不斷進步,第二浪潮互聯(lián)網電視向第三浪潮智能電視轉變,基于智能電視開放應用服務平臺與內容層出不窮[2],正以快速的發(fā)展速度向前邁進?;诖耍鞣N形式的界面操作不斷創(chuàng)新,使越來越多的應用內容表現方式更多樣化,但傳統(tǒng)遙控器上下左右固定式按鍵操作已不能滿足界面表現需要[3]及多元化表現方式,為了應對數字電視內容服務產業(yè)的發(fā)展需要,突破傳統(tǒng)遙控器只能用按鍵作控制的瓶頸問題,本文提出自由操控的空間遙控器,以人的操控意識為主導,自由控制遙控器,以遙控光標的自由移動操控方式滿足數字電視互動內容產業(yè)發(fā)展需要。
空間遙控器[4]采用2.4 GHz無線傳輸模塊,擺脫傳統(tǒng)遙控器通信單一的模式。該款遙控器裝備陀螺儀[5]和加速度傳感器,極大限度地模擬人類的手部動作,不需借助任何按鍵便能做到傾斜和上下旋轉,傾斜和左右旋轉,圍著主軸旋轉,上下加速度,左右加速度,朝向屏幕加速和遠離屏幕加速等操控動作。該設計可工作于全球開放的ISM頻段,不單具備電壓低、效率高、成本低、可進行雙向高速數據傳輸的特點,還可實現快速跳頻,前向糾錯及進行校驗等功能。
基于遙控器總體設計,以下描述遙控器驅動程序的工作流開發(fā)設計思路,給出層次結構關系及程序功能規(guī)劃。遙控器驅動程序包含數據處理類庫、驅動運行程序和驅動啟動程序,如圖1所示。
數據處理庫類為模塊程序的核心部分,從硬件搜索到數據庫抓取,再到模擬出鼠標數據全過程,及其抓取加速度數據模擬粗略的方向控制。該模塊屬于子模塊,由驅動運行程序開啟子線程運作,內部邏輯負責提供調用接口,供驅動運行程序使用,如圖2所示。
圖2 數據處理類功能圖
驅動設備數據獲取,啟動對遙控器的數據獲取,初次啟動的時候分為連接設備和讀取數據兩步,并啟動鼠標和鍵盤鉤子,檢測鼠標和鍵盤的特殊操作,正常啟動之后由程序自行負責意外中斷后的再運行,及其異常處理。程序關閉釋放設備,當驅動程式關閉后,釋放程序占據的資源,并且關閉鼠標和鍵盤鉤子。接口處理類定義接口供驅動運行程序實現:關閉開啟聲音,遙控器電量獲取,遙控器鍵盤命令獲取,發(fā)送靜止狀態(tài)要求。
總體上需要實現長時間后臺運行,且不能占用過多CPU和內存資源。對精度要求為數據格式的準確性和數據信息的完整性,鼠標模擬的及時性,允許細微的移動漂移。遙控器的隨時更換要求為靈活性要求。長時間后臺運行,每秒處理數據次數在300左右。
該數據處理庫類模塊雖然為類庫,實際上是驅動運行的主要功能部分,對遙控器的邏輯操作和數據操作全部集中在該模塊中,驅動運行程序只是一個載體,如圖3所示。
圖3 模塊流程邏輯框圖
驅動運行程序模塊主要負責啟動和關閉驅動,與互動應用系統(tǒng)框架進行消息通信,并操作系統(tǒng)資源。該模塊為驅動程序的運行窗體,是其面模塊的承載模塊,負責與外部程序的消息收發(fā)、操作注冊表等功能。如圖4所示,驅動運行程序包含啟動關閉驅動、消息處理及其他操作,如注冊表操作、INI文件操作和界面操作。啟動關閉驅動用于觸發(fā)驅動的啟動和關閉,資源的獲取和釋放。消息處理模塊與其他進程之間進行消息通信、命令的轉發(fā)和接收,并觸發(fā)相關功能。
圖4 驅動運行程序結構框圖
驅動運行模塊運行比較簡單,主要任務集中在消息的接收和發(fā)送,如圖5及圖6所示。
圖5 模塊流程邏輯圖
圖6 驅動啟動程序模塊流程邏輯框圖
空間遙控器硬件設計體積小,不需要外接天線,遙控器的接收器采用標準USB接口,即插即用,方便快捷,且接收靈敏度高。USB枚舉成標準的應用設備,不需要安裝額外驅動。接收器與遙控器單一配對,可以通過自身的對頻功能,與同系統(tǒng)的遙控器進行對頻使用。
為了增加對家電的控制,遙控器還增加了紅外學習功能。通過采集遙控器發(fā)射的波形中的高低電平的寬度,并翻譯成紅外碼儲存在存儲器上,從而實現自主地學習家電遙控器的編碼,對家電進行自由控制。圖7為空間遙控器按鍵功能圖示。
該款遙控器還具備語音通話功能,可以當電話使用。USB AUDIO擁有充裕的帶寬,聲音質量高。
空間遙控器配備了可充電的鋰電池,能通過MINI-USB接口進行充電,如圖8所示。另外,對電池電量進行實時監(jiān)控,并將電池電量通過無線傳輸給主機。
電視通話應用實現結果如圖9所示,在該應用中可通過界面軟鍵盤輸入或通過遙控器數字鍵輸入被呼入方號碼,選擇界面右方呼叫鍵便可進行該號碼用戶呼叫功能;當呼叫操作成功,被呼叫方可選擇接聽或掛斷。以下表1給出了遙控器于電視呼叫應用的關鍵類功能說明。
表1 遙控器于電視呼叫應用關鍵類功能
通過以上介紹,文中重點介紹了空間遙控器總體設計原理,遙控器驅動程序的基本組成結構,分析了驅動程序內數據處理類庫、驅動運行程序與驅動啟動程序之間的關系和邏輯結構,給出空間遙控器工作流的整體設計思路,并介紹了空間遙控器硬件和與電視呼叫應用結合的應用實例。
[1]劉亞峰.淺談交互式數字電視應用及其發(fā)展[J].電腦知識與技術,2008(3):722-723.
[2]羅克露,姜連波.開放式體系架構的數字家庭中心服務器——智能化構件容器的研究與實現[J].電子科技大學學報,2010(2):255-259.
[3]張碧瀟,許曉云.數字家庭的交互特性研究[J].大眾文藝,2010(15):6.
[4]倪新國,楊華波,張士峰.空間陀螺儀顯示標定與隱式標定方法[J].中國空間科學技術,2008(5):39-45.
[5]陳亮,黃玉美,林義忠,等.陀螺儀角速度的檢測與處理[J].傳感器與微系統(tǒng),2006(4):58-59.