個性化數(shù)字電視用戶界面的設(shè)計與實現(xiàn)
隨著數(shù)字電視和通信技術(shù)的不斷發(fā)展,用戶除了能看到越來越多的電視節(jié)目外,還能享受到數(shù)字電視增值業(yè)務(wù)帶來的眾多好處。但隨著中國數(shù)字電視總體轉(zhuǎn)換工作在各地市相繼完成,數(shù)字電視增值業(yè)務(wù)并沒有讓運營商獲得較好的經(jīng)濟回報,也沒有在老百姓中博得好口碑。與開展得如火如荼的電信增值業(yè)務(wù)相比,更是相形見絀。數(shù)字電視用戶相對于電腦用戶而言更加大眾化,大多數(shù)的數(shù)字電視用戶只具備模擬
時代積累下的電視使用經(jīng)驗,只會用遙控器開關(guān)機、換臺和調(diào)音量。因此一個界面友好的個性化數(shù)字電視應(yīng)該易于學(xué)會、易于使用、易于理解、易于排錯、易于維護和易于群體共享。用戶界面是否直觀、清晰,又不失美感,操作是否簡單明了,是消費者在選購數(shù)字電視時的重要考慮因素。
1個性化數(shù)字電視用戶界面的設(shè)計
數(shù)字電視用戶要通過用戶界面實現(xiàn)選臺、調(diào)節(jié)音量、瀏覽信息等眾多功能,因此用戶界面是軟件設(shè)計的重要模塊。就功能而言,它能把系統(tǒng)提供的所有功能協(xié)調(diào),集成在一起;就外觀而言,它必須提供一個簡單明了的操作機制,使用戶能方便調(diào)用系統(tǒng)提供的所有功能。用戶界面的功能調(diào)用由系統(tǒng)API實現(xiàn),外觀設(shè)計主要由OSD顯示單元實現(xiàn)。用戶界面由兩部分組成:菜單部分和非菜單部分,如圖1所示。各個菜單部分在功能上相互獨立,具體功能如下:
1)節(jié)目指南菜單 通過該菜單可以了解正在接收節(jié)目的接收進(jìn)度、節(jié)目名稱、頻道數(shù)、節(jié)目數(shù)、頻道、時間等信息,它包括全頻道、全天候、全類型和全星期4個子菜單。
2)視頻點播菜單 該菜單可使用戶根據(jù)自己興趣自由點播節(jié)目庫中的視頻節(jié)目和信息,充分體現(xiàn)交互式操作的特點。
3)系統(tǒng)設(shè)置菜單 系統(tǒng)設(shè)置包含網(wǎng)絡(luò)設(shè)置、自動搜臺、頻道排序、查詢余額、版本信息、語言選擇等子菜單。
4)電視資訊菜單 該菜單可使用戶能在電視機上瀏覽各種感興趣的信息,實現(xiàn)個性化瀏覽。
上述是菜單部分所完成的功能。非菜單部分則可實現(xiàn)節(jié)目列表的切換、靜音、音量調(diào)節(jié)、畫面靜止和屏幕信息顯示等功能。鍵盤、前面板按鍵、遙控器、OSD畫面顯示等是用戶能直觀感受到的,而用戶輸入/輸出接口控制器則是真正起執(zhí)行作用的部分。
2 個性化數(shù)字電視用戶界面的實現(xiàn)
2.1 用戶界面的實現(xiàn)方案
目前的數(shù)字電視終端主要以數(shù)字電視機頂盒為主,本設(shè)計是在以ST(SGS-THOMSON)公司提供的高集成度單片解碼器STi5518為核心的單片方案基礎(chǔ)上實現(xiàn)的。
該系統(tǒng)設(shè)計中,用戶界面創(chuàng)建是通過調(diào)用繪圖函數(shù)庫中的函數(shù)實現(xiàn)的。繪圖函數(shù)庫之間的從屬關(guān)系如圖2所示。STOSD底層驅(qū)動程序中含有畫點、線、弧等最基本的函數(shù)。高級OSD程序庫hl_stosd.h包含了在STOSD底層驅(qū)動程序基礎(chǔ)上建立起來的一些高級繪圖函數(shù),如字庫操作函數(shù)集(hlosd-font模塊)、OSD基本圖形函數(shù)集(hl_stosd模塊)和貼圖(hlosd_bitmap模塊)函數(shù)集等。STWTK程序庫則位于所有繪圖函數(shù)的最頂層,大多數(shù)繪圖函數(shù)都靠它支持。
該用戶界面軟件的主要特點是模塊化。STWTK程序庫由許多圖形界面的“軟件元素”組成。它是創(chuàng)建界面的基本元素。STWTK程序庫提供的軟件元素主要有以下4類:
1)Menu(菜單) 標(biāo)準(zhǔn)Menu由許多小單元組成,一個小單元代表一個可選項。同時Menu還應(yīng)支持對這些選項的索引、排序和刪除等操作。
2)Button(按鈕) 該結(jié)構(gòu)被調(diào)用后,可以在圖形界面上顯示一個與“按鈕”類似的圖形,該“按鈕”從視覺上看也可達(dá)到按下或彈起的效果。
3)EntryBox(輸入文本框) 該結(jié)構(gòu)被調(diào)用后,可在圖形界面上顯示一個包含用戶輸入信息(用字符表示)的矩形框。
4)Slider(滾動條) 標(biāo)準(zhǔn)Slider是由滑動槽和一個移動塊組成?;瑒硬蹧Q定了Slider是水平還是垂直的。
本方案采用面向?qū)ο蟮乃枷雭碓O(shè)計軟件的結(jié)構(gòu)。單個“軟件元素”類似于C++中的一個類,它有著自己的特性和依據(jù)其特性設(shè)計的專用操作,并且每個軟件元素均包括數(shù)據(jù)結(jié)構(gòu)和成員函數(shù)兩部分。數(shù)據(jù)結(jié)構(gòu)描述了對象的基本形式、特性以及它所能完成的功能,而成員函數(shù)則描述了外部能對對象進(jìn)行何種操作。
2.2 用戶界面的軟件實現(xiàn)
通過上面的分析可得,用戶界面應(yīng)用程序模塊主程序流程如圖3所示。
評論