亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于中英文命令的人機(jī)交互系統(tǒng)和方法

文檔序號(hào):7716123閱讀:169來源:國(guó)知局
專利名稱:一種基于中英文命令的人機(jī)交互系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明屬于電視/機(jī)頂盒的消費(fèi)類電子領(lǐng)域,涉及到軟件編程,電視信號(hào)和功能 處理,模糊匹配技術(shù),人機(jī)交互界面。
背景技術(shù)
隨著電視技術(shù)的進(jìn)步和數(shù)字技術(shù)的運(yùn)用,電視(以下稱為TV)特別是數(shù)字電視 (以下稱為DTV)或者機(jī)頂盒(以下稱為STB)的功能越來越多,越來越完善,已經(jīng)大大超過 了傳統(tǒng)的收看電視節(jié)目的范疇,例如現(xiàn)在典型的DTV和STB除了播放數(shù)字和模擬電視節(jié)目 外,還能接收來自DVD,電腦等各種信號(hào)源的各種格式的視音頻信號(hào),能夠上網(wǎng)瀏覽,播放 USB數(shù)據(jù)(例如MP3等),視頻錄像,打游戲,看照片等等,但與此同時(shí),以菜單和遙控為組合 的人機(jī)交互界面在越來越不適應(yīng)這個(gè)趨勢(shì)可操作性菜單設(shè)置項(xiàng)目繁多,嵌套層數(shù)偏多,同時(shí)遙控按鍵越來越多,遙控面板 也是越做越大,用戶需要拿著大的遙控,低頭在遙控上找到正確的按鍵,再抬頭對(duì)準(zhǔn)TV按 下按鍵,再低頭找按鍵,再抬頭…經(jīng)歷好幾個(gè)循環(huán),而且需要兩只手配合才能完成,這使得 用戶體驗(yàn)非常糟糕。易懂性菜單和遙控的專業(yè)性越來越強(qiáng),普通用戶需要面多很多專業(yè)術(shù)語,這也大 大降低了用戶的體驗(yàn)。綜上所述,傳統(tǒng)的菜單式的人機(jī)交互界面已經(jīng)大大落后于TV/STB的發(fā)展,成為現(xiàn) 代視聽體驗(yàn)的重要瓶頸,用戶亟待更加靈活方便高效易懂的人機(jī)交互方式。

發(fā)明內(nèi)容
本發(fā)明的首要目的是為TV/STB操作提供一種簡(jiǎn)單方便的操作方式,表現(xiàn)為兩方 面一是可以大大簡(jiǎn)化現(xiàn)有的TV/STB菜單系統(tǒng)而代之以一個(gè)簡(jiǎn)單的命令編輯窗口,以及若 干簡(jiǎn)單的菜單,使用戶擺脫繁瑣而專業(yè)的菜單設(shè)置,二是可以大大簡(jiǎn)化遙控面板(理論上 只需數(shù)字鍵(Γ9,power鍵,4個(gè)方向鍵和若干功能鍵),減小遙控面積,使得單手操作成為可 能,明顯減少了用戶操作遙控時(shí)的不便本發(fā)明的另外一個(gè)目的是拓展TV/STB的互動(dòng)功能,實(shí)現(xiàn)了在傳統(tǒng)菜單方式很難 實(shí)現(xiàn)的互動(dòng)功能,譬如智能化節(jié)目搜索等。本發(fā)明的第三個(gè)目的是實(shí)現(xiàn)了用戶自定義命令功能,用戶可以按照自己習(xí)慣的方 式組織各種命令,實(shí)現(xiàn)自動(dòng)批處理,增加了用戶操作的自由度??偠灾?,本發(fā)明實(shí)現(xiàn)了這樣一種功能用戶可以用類似于日常對(duì)話的語言,通過 遙控發(fā)送‘短消息’給TV/STB,就可以控制TV/STB,使其可以做某個(gè)或者一系列連續(xù)的動(dòng) 作,不僅僅方便易懂,而且提高了控制能力。本發(fā)明的基本思路是接收用戶通過遙控輸入的中英文消息序列,然后通過模糊 匹配,將隨意的消息轉(zhuǎn)換為系統(tǒng)能夠辨識(shí)的命令并執(zhí)行。本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的
一種基于中英文命令的TV/STB人機(jī)交互系統(tǒng),包括文本輸入模塊,命令處理模塊 和其他功能模塊以及這些模塊之間的通信和控制路徑,如附圖1所示所述的文本輸入模塊包括輸入法子模塊實(shí)現(xiàn)用戶通過遙控輸入中英文的功能,將輸入的英文字符編碼為 ASCII碼,中文字符編碼為GB2312碼,送給消息管理子模塊。消息管理子模塊接收輸入法子模塊送來的編碼中英文字符,存放到buffer中, 連續(xù)的中英文字符組成消息序列,管理buffer,管理命令編輯窗口內(nèi)容的顯示和更新。所述的命令處理模塊是本發(fā)明的核心內(nèi)容(如圖2),包括消息接收子模塊讀取文本輸入模塊的buffer中的消息序列,按照消息序列定義 解析消息序列并存到自己的消息數(shù)組中。模糊匹配子模塊對(duì)消息序列數(shù)組的每個(gè)消息進(jìn)行模糊匹配,找到與之匹配的系 統(tǒng)注冊(cè)命令,并替換掉原消息,最終使消息序列轉(zhuǎn)換為命令序列命令管理子模塊管理命令序列的計(jì)數(shù),存儲(chǔ),命令延時(shí)和執(zhí)行等命令分發(fā)子模塊把命令執(zhí)行信息通過通知報(bào)文分發(fā)到各執(zhí)行模塊。調(diào)度子模塊中心控制功能,和其他外部模塊通信并協(xié)調(diào)命令處理模塊內(nèi)部的動(dòng) 作。所述的其他模塊包括視音頻解碼模塊,圖像聲音設(shè)置模塊,頻道管理模塊,信號(hào)源切換模塊等TV/STB 的基本功能模塊,此外還包括可選的網(wǎng)絡(luò)瀏覽模塊,靜態(tài)圖片顯示模塊,MP3播放模塊等其 他擴(kuò)展功能模塊,在本發(fā)明中,它們是最終的命令執(zhí)行模塊。一種基于上述系統(tǒng)的人機(jī)交互方法,包括步驟A、文本輸入模塊將遙控按鍵轉(zhuǎn)換為中英文字符存放到buffer中,buffer中連續(xù) 的中英文字符組成中英文消息序列,當(dāng)收到連續(xù)0個(gè)及以上)的回車符即通知命令處理模 塊。B、命令處理模塊接到通知,讀取buffer中的中英文消息序列,經(jīng)模糊匹配后轉(zhuǎn)換 為命令序列,再經(jīng)解析后分發(fā)給TV/STB的各執(zhí)行模塊。C、各執(zhí)行模塊接收命令處理模塊分發(fā)給自己的命令執(zhí)行信息并執(zhí)行,然后反饋執(zhí) 行結(jié)果給命令處理模塊。在所述的步驟A之前還包括文本輸入模塊接收用戶的進(jìn)入命令模式的請(qǐng)求,并向所述的命令處理模塊轉(zhuǎn)發(fā)請(qǐng) 求信息;命令處理模塊使系統(tǒng)進(jìn)入命令模式,命令處理模塊調(diào)用TV/STB的顯示模塊,顯示 命令編輯窗口;所述步驟A還包括輸入法子模塊將遙控按鍵編碼為英文ASCII碼和中文GB2312碼送給消息管理子 模塊,消息管理子模塊接收連續(xù)的字符編碼存放到buffer中形成消息序列,當(dāng)消息序列長(zhǎng) 度超過buffer大小時(shí),用戶無法繼續(xù)輸入;消息管理子模塊調(diào)用TV/STB的顯示模塊產(chǎn)生,在命令編輯窗口中同步顯示用戶 輸入的消息序列;
用戶連續(xù)輸入回車符O次及以上),結(jié)束消息序列輸入,消息管理子模塊將連續(xù) 的回車符合并為一個(gè)回車符,構(gòu)造通知報(bào)文通知命令處理模塊讀取消息序列。所述步驟B還包括命令處理模塊的消息輸入子模塊接收到文本輸入模塊的通知,讀取buffer中的 消息序列(包括結(jié)尾的回車符),按照本發(fā)明定義的消息序列格式分解消息序列到自己的 消息數(shù)組中,然后將消息數(shù)組傳給模糊匹配子模塊。所述步驟B還包括本發(fā)明對(duì)消息序列的語義的定義為消息序列=消息項(xiàng)1+分隔符+消息項(xiàng) 2+... +消息項(xiàng)N+結(jié)束符,其中,消息項(xiàng)=‘控制+分隔符+文本+參數(shù)’,‘文本’代表消息 項(xiàng)內(nèi)容,‘控制’代表消息項(xiàng)所對(duì)應(yīng)的命令的執(zhí)行方式延遲時(shí)間,單次執(zhí)行或者循環(huán)執(zhí)行, ‘參數(shù)’代表消息所對(duì)應(yīng)的命令的參數(shù),分隔符和結(jié)束符不能出現(xiàn)在‘控制’,‘文本’和‘參 數(shù)’中,‘文本’和‘參數(shù)’不能以‘控制’項(xiàng)中的字符開始(其后可以包含控制項(xiàng)字符);本發(fā)明中‘控制’項(xiàng)采用時(shí)間,‘分隔符’是空格,‘結(jié)束符’是回車,因此消息序列 的一般形式就是‘時(shí)間1+空格+文本1+參數(shù)1+時(shí)間2+空格+文本2+參數(shù)2+. . . +時(shí) 間N+空格+文本N+參數(shù)N+回車,,其意義是延遲‘時(shí)間1,后,以‘參數(shù)1,執(zhí)行‘文本1, 所對(duì)應(yīng)的命令,第一個(gè)命令結(jié)束后,延遲‘時(shí)間2’,以‘參數(shù)2’執(zhí)行‘文本2’所對(duì)應(yīng)的命 令,...以此類推,直到‘文本N’所對(duì)應(yīng)的命令執(zhí)行完畢,空格作為分隔符,不能出現(xiàn)在‘時(shí) 間’,‘文本’,‘參數(shù)’項(xiàng)中,‘時(shí)間’項(xiàng)必須以0 9的ASCII碼開始而‘文本,‘參數(shù)’項(xiàng)不 能以0 9的ASCII碼開始;消息輸入子模塊基于上述定義來分解消息序列以空格來分解序列中的每一項(xiàng), 如果當(dāng)前項(xiàng)全部由ο 9的ASCII碼組成,則認(rèn)為是‘時(shí)間,項(xiàng),如果以非0 9的ASCII 碼開始即認(rèn)為是‘文本’和‘參數(shù)’項(xiàng),其他情況認(rèn)為是非法輸入予以拋棄,然后將‘時(shí)間’, ‘文本’,‘參數(shù)’項(xiàng)分別填入消息數(shù)組的各自位置,并把數(shù)組地址傳送給模糊匹配子模塊,模 糊匹配子模塊定位數(shù)組中的‘文本’和‘參數(shù)’項(xiàng),進(jìn)行模糊匹配。所述步驟B還包括模糊匹配子模塊定位消息數(shù)組中的‘文本’和‘參數(shù)’項(xiàng),通過模糊匹配算法,試圖 在系統(tǒng)命令表,改進(jìn)頻道表和自定義命令表中找到與之匹配的命令,并替換掉‘文本’和‘參 數(shù)’,最終將隨意的消息序列轉(zhuǎn)換為標(biāo)準(zhǔn)的命令序列使得系統(tǒng)能夠辨識(shí)和執(zhí)行。所述的步驟B還包括在進(jìn)入命令模式之前,在flash中存儲(chǔ)了系統(tǒng)命令表,如附圖9所示,表里是系統(tǒng) 命令名和相應(yīng)的執(zhí)行信息,系統(tǒng)命令從功能上劃分為代替?zhèn)鹘y(tǒng)菜單設(shè)置和操作的命令,基 于EPG數(shù)據(jù)庫的內(nèi)容搜索和查詢命令,TV/STB的高級(jí)應(yīng)用功能如‘生活百科’,‘詞典’等, 管理命令的命令(‘顯示命令’,‘編輯命令’,‘刪除命令’,‘查找命令’,命令管理命令是可以 帶參數(shù)的命令),改進(jìn)頻道表中的節(jié)目別名;在進(jìn)入命令模式之前,在flash中存儲(chǔ)了改進(jìn)的頻道表,如附圖10所示,在傳統(tǒng)的 頻道表中增加了節(jié)目別名,在搜臺(tái)結(jié)束后,用戶須逐項(xiàng)手動(dòng)輸入節(jié)目別名,可以是用戶自己 定義的任意名稱。命令序列存儲(chǔ)于flash中成為命令文件,文件名即為自定義命令,自定義文件可 以被反復(fù)讀取和執(zhí)行,所有的自定義命令被注冊(cè)到自定義命令表中,自定義命令表如附圖11所示。所示的步驟B還包括系統(tǒng)命令是可以擴(kuò)展的,通過編寫新的軟件模塊并編譯鏈接進(jìn)系統(tǒng),然后將模塊 名或者模塊中特定功能的API名稱作為系統(tǒng)命令名注冊(cè)進(jìn)系統(tǒng)命令表,即可實(shí)現(xiàn)特定功能 的新的系統(tǒng)命令,系統(tǒng)命令的擴(kuò)展僅僅受到flash存儲(chǔ)容量的限制;自定義命令是可以擴(kuò)展的,用戶可以任意建立和編輯自己的命令文件,存儲(chǔ)到 flash中,自定義命令文件的數(shù)量?jī)H受到flash容量的限制;系統(tǒng)命令和自定義命令都是可以改變名稱的,即運(yùn)行‘編輯命令’ + ‘參數(shù)’,‘參 數(shù)’為系統(tǒng)命令和自定義命令,命令編輯窗口會(huì)提示輸入新的命令名,輸入并確認(rèn)即可改變 系統(tǒng)命令和自定義命令的名稱。所述的步驟B還包括當(dāng)出現(xiàn)無匹配命令的情況,系統(tǒng)提示用戶重新輸入或者放棄,出現(xiàn)多個(gè)匹配命令 的情況,系統(tǒng)提示用戶重新輸入,選擇一個(gè)匹配命令或者放棄。如果重新輸入后,匹配過程 會(huì)反復(fù)進(jìn)行直到找到確定的匹配命令或者放棄。所述的步驟B還包括消息序列被轉(zhuǎn)換為命令序列后,命令管理子模塊檢查此命令序列,如果包括2個(gè) 及以上的命令,才被允許存儲(chǔ)成命令文件,否則僅能執(zhí)行但不允許存儲(chǔ)到flash中。所述步驟B還包括命令管理子模塊解析命令得到模塊名和API,據(jù)此構(gòu)造通知報(bào)文,通知報(bào)文的ID 是模塊名,報(bào)文內(nèi)容是API函數(shù),在延遲指定的時(shí)間后根據(jù)通知報(bào)文ID分發(fā)到相應(yīng)的報(bào)文 隊(duì)列所述步驟C還包括各執(zhí)行模塊通過自己的報(bào)文隊(duì)列讀取分發(fā)到的通知報(bào)文,分解出其中的API并調(diào) 用執(zhí)行,并反饋結(jié)果給命令處理模塊。


圖1為實(shí)現(xiàn)本發(fā)明的系統(tǒng)框圖,命令處理模塊是本發(fā)明的核心內(nèi)容,其他模塊是 本發(fā)明的必要支持模塊。圖2為本發(fā)明的命令處理模塊的組成模塊。圖3為本發(fā)明的命令解析和執(zhí)行流程4為命令編輯窗口,所示例為用戶輸入的消息序列以及輸入結(jié)束后顯示的存儲(chǔ) 提示信息圖5,圖6為通過命令編輯窗口顯示的具有多個(gè)匹配項(xiàng)時(shí)的處理選項(xiàng)及處理過程圖7為存儲(chǔ)提示信息圖8為執(zhí)行提示信息圖9為系統(tǒng)命令表,分為2列,一列存放著中英文系統(tǒng)命令名稱,例如‘改變顏 色’,‘體育節(jié)目’,‘詞典’,‘顯示命令列表’等,另一列存放著執(zhí)行信息欄,格式是‘執(zhí)行 模塊名稱API’,例如‘改變顏色,的執(zhí)行信息是Picturektting=Color,系統(tǒng)會(huì)調(diào)用 PictureSetting這個(gè)模塊里的ColorO這個(gè)API函數(shù)完成顏色調(diào)整。此圖中的模塊名和API名都是示例,API可以帶參數(shù)。圖10為改進(jìn)的頻道表,是在傳統(tǒng)頻道列表的基礎(chǔ)上增加了節(jié)目中英文名稱一欄, 在搜臺(tái)結(jié)束后,需要用戶給頻道列表中的每個(gè)節(jié)目起一個(gè)別名,例如“CCTV1”,“中央1套”, “ ZYYT ”之類,并手動(dòng)填寫,圖中的各名稱都是示例。圖11為自定義命令表。其中自定義命令一列存放著用戶自定義的命令文件名,命 令文件路徑一欄存放著命令文件的存儲(chǔ)路徑,和操作系統(tǒng)對(duì)flash的partition劃分是有 關(guān)系的,F(xiàn)lash中的一個(gè)固定區(qū)域(可以是一個(gè)partition或者partition的一部分)被 用來存放相應(yīng)的自定義命令文件,命令處理模塊會(huì)用這個(gè)信息打開命令文件,獲取包含的 具體命令。此圖中的各名稱都是示例。圖12為通過模糊匹配將用戶消息序列進(jìn)行轉(zhuǎn)換而得到的命令序列具體實(shí)施方法下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
做詳細(xì)說明圖3是本發(fā)明的系統(tǒng)流程圖,如圖所示主要有4個(gè)系統(tǒng)狀態(tài)輸入態(tài),修改態(tài),檢查 態(tài)和執(zhí)行態(tài),這四個(gè)狀態(tài)和命令處理模塊的5個(gè)子模塊共同完成了命令的處理流程。系統(tǒng)開機(jī)后,摁特定功能鍵進(jìn)入命令模式時(shí),先進(jìn)行初始化工作清空各個(gè)相關(guān) buffer,復(fù)位計(jì)時(shí)器,復(fù)位狀態(tài)位為輸入態(tài)等,系統(tǒng)進(jìn)入輸入態(tài)。前端文本輸入模塊收集和處理用戶通過遙控輸入的消息文本序列,此消息序列符 合前面所述的標(biāo)準(zhǔn)序列格式,同時(shí)文本輸入模塊通過調(diào)用TV/STB的顯示功能模塊顯示如 附圖4所示命令編輯窗口,大小為8行x32列,用于同步顯示用戶輸入的消息序列,窗口內(nèi) 容滿以后會(huì)向上滾行,buffer大小為512個(gè)字節(jié),所以消息序列的最大長(zhǎng)度是512個(gè)英文 字母或者256個(gè)漢字,buffer滿以后用戶無法繼續(xù)輸入,在接收到連續(xù)2次及以上回車鍵 時(shí),消息序列結(jié)束,文本輸入模塊將結(jié)尾的多個(gè)回車符合并為一個(gè)回車符,并通知命令處理 模塊讀取消息序列,然后命令處理模塊的調(diào)度子模塊調(diào)用消息接收子模塊讀消息序列到自 己的數(shù)組內(nèi),通知文本輸入模塊清空buffer。接下來命令管理子模塊按照定義的消息序列格式,分解出‘文本’和‘參數(shù)’給模 糊匹配子模塊,模糊匹配子模塊通過匹配算法,對(duì)消息序列中的每一個(gè)消息項(xiàng),試圖尋找它 在系統(tǒng)命令表,改進(jìn)的頻道列表和自定義命令表中的匹配命令,用匹配命令在各自表里的 偏移位置替換掉消息文本。三個(gè)命令表的表頭偏移各不相同,譬如系統(tǒng)命令表的表頭偏移 為0,改進(jìn)頻道表的表頭為300 (只要超過系統(tǒng)命令表的長(zhǎng)度即可),自定義命令表的表頭為 1300(只要超過系統(tǒng)命令表和改進(jìn)頻道表的長(zhǎng)度和即可),所以匹配命令表的偏移量決定 了它是在哪個(gè)表的哪個(gè)位置。匹配有一定的容差范圍,譬如用戶消息‘改變亮度’,‘提高亮 度’,‘亮一點(diǎn)’,‘亮度’,…,等都可以匹配到‘改變亮度’這個(gè)系統(tǒng)命令,這免除了用戶必須 記住標(biāo)準(zhǔn)命令的負(fù)擔(dān),賦予了很大的靈活性。匹配過程中,凡是無法找到匹配命令的消息會(huì)提示選擇處理方式,如圖5所示,如 果選擇放棄,則此消息用0代替(對(duì)應(yīng)系統(tǒng)命令表頭的無效命令項(xiàng)NULL)。匹配過程中,如果得到幾個(gè)匹配命令,譬如名字相同的系統(tǒng)命令和用戶自定義命 令,則編輯窗口中顯示如圖5,圖6所示處理選項(xiàng)。如果選擇重新輸入,則系統(tǒng)狀態(tài)變成‘修改態(tài)’,在接收到回車結(jié)束后,文本里的空 格都要被刪去(在同一個(gè)消息內(nèi)不允許出現(xiàn)空格),然后再重新匹配這個(gè)消息,直到找到1個(gè)匹配命令或者無匹配命令或者用戶放棄才終止,如圖6所示在匹配過程結(jié)束后,窗口中顯示最終的命令序列如圖6所示。接下來命令管理子模塊檢查命令序列中名列數(shù)目,如果多于1個(gè),則在命令編輯 窗口中提示是否需要存儲(chǔ)如圖7所示,如果選擇存儲(chǔ),命令管理子模塊將其存儲(chǔ)為命令文 件,如果是一個(gè)命令則立即執(zhí)行但不會(huì)存儲(chǔ),如果沒有命令則報(bào)錯(cuò)。接下來如果用戶選擇執(zhí)行,如圖8所示,命令管理子模塊先將數(shù)組轉(zhuǎn)換為鏈表結(jié) 構(gòu),每個(gè)數(shù)組元素構(gòu)造成一個(gè)鏈表單元,所有的鏈表單元鏈接起來。開始執(zhí)行后,首先遍歷 這個(gè)鏈表,如果是自定義命令并且不是作為上一個(gè)命令的參數(shù),則讀入相應(yīng)的命令文件并 展開成系統(tǒng)命令鏈表,如果是多層嵌套的自定義命令,重復(fù)此過程直到所有自定義命令完 全展開,然后把展開的命令鏈表鏈接進(jìn)原來的鏈表(這也是為什么用鏈表結(jié)構(gòu)的原因),至 此鏈表中只包括系統(tǒng)命令。計(jì)時(shí)器復(fù)位,查看第一個(gè)鏈表單元里的時(shí)間項(xiàng)T,如果T > 0, 計(jì)時(shí)器開始計(jì)時(shí)T分鐘,如果時(shí)間項(xiàng)未填或者等于0,則計(jì)時(shí)器保持復(fù)位狀態(tài),當(dāng)前單元里 的命令馬上執(zhí)行命令分發(fā)子模塊按照偏移量找到相應(yīng)命令的執(zhí)行信息,構(gòu)造通知報(bào)文,將 ‘執(zhí)行模塊:API’這個(gè)信息填充進(jìn)通知報(bào)文,對(duì)于改進(jìn)頻道表里的節(jié)目別名命令,執(zhí)行模塊 都是TV/STB的頻道管理模塊,API都是換臺(tái)函數(shù),以及頻道的載波頻率和PID信息。內(nèi)存中的命令序列格式如圖12所示,這個(gè)序列按照數(shù)組結(jié)構(gòu)存放,也按照數(shù)組結(jié) 構(gòu)存儲(chǔ)。以圖12所示序列為例說明執(zhí)行結(jié)果,圖12的命令序列是“0自動(dòng)搜臺(tái)0新聞 聯(lián)播30上海電視臺(tái)體育頻道10 NULL 0周一內(nèi)容0生活百科0刪除周二內(nèi)容0顯 示命令列表”,其中,‘周一內(nèi)容’是自定義命令,‘周二內(nèi)容’在這里是作為‘刪除’的參數(shù)而 非自定義命令,將‘周一內(nèi)容’展開并鏈接到序列中“0自動(dòng)搜臺(tái)0新聞聯(lián)播30上海電 視臺(tái)體育頻道10 NULL 0改變亮度DVD 60 MP3 0生活百科0刪除周二內(nèi)容0自定義 命令”,執(zhí)行的效果是這樣的開始自動(dòng)搜臺(tái),然后檢查當(dāng)前時(shí)間T,如果T < 19:00,則繼續(xù) 播放當(dāng)前節(jié)目,如果19 00 < T < 19 30,則調(diào)諧到中央1套播放新聞聯(lián)播,如果T > 19 30, 則報(bào)告說‘新聞聯(lián)播已結(jié)束,無法收看’,繼續(xù)當(dāng)前節(jié)目30分鐘后,調(diào)諧到上海臺(tái)體育頻道, 10分鐘后嘗試NULL命令是非法的,跳過去,執(zhí)行‘改變亮度’,彈出亮度設(shè)置對(duì)話框,用戶通 過左右方向鍵調(diào)整亮度值,確認(rèn)后,亮度改變,接著信號(hào)源切換到DVD,收看DVD 60分鐘后 彈出對(duì)話框讓用戶選擇是播放本地的MP3還是U盤的MP3,用戶選擇曲庫和歌曲播放結(jié)束 后,系統(tǒng)命令‘生活百科被執(zhí)行,顯示生活百科的界面,退出這個(gè)應(yīng)用后,自定義文件’周二 內(nèi)容‘會(huì)被刪除,然后馬上顯示自定義命令列表。在執(zhí)行過程中按下退出鍵,執(zhí)行過程會(huì)在當(dāng)前命令執(zhí)行結(jié)束后終止。本發(fā)明以中英文輸入法為基礎(chǔ),將‘短消息’的直觀方便的概念引入人機(jī)交互方 式,實(shí)現(xiàn)了一種基于中英文命令的人機(jī)交互系統(tǒng),不僅能完全代替?zhèn)鹘y(tǒng)的菜單系統(tǒng),而且更 加拓展了 TV/STB的操作能力,使其可以自動(dòng)執(zhí)行一系列的動(dòng)作,大大方便了用戶。以上所述僅是本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍不限于此,任何熟悉 本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易的想到的變化或者替換,都應(yīng) 涵蓋在本發(fā)明的保護(hù)范圍內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為主。10
權(quán)利要求
1.一種基于中英文命令的人機(jī)交互系統(tǒng),其特征在于包括文本輸入模塊,實(shí)現(xiàn)用戶通過遙控按鍵輸入中英文的功能,按照約定的方式同命令處 理模塊通信。命令處理模塊,實(shí)現(xiàn)消息序列匹配,轉(zhuǎn)換,解析,分發(fā)等核心處理功能各執(zhí)行模塊,是普通電視/機(jī)頂盒的必要的功能模塊,在本發(fā)明中是具體執(zhí)行命令的 模塊。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述的文本輸入模塊包括輸入法子模塊,基于特定的中文輸入法如T9或者自行開發(fā)的輸入法實(shí)現(xiàn)通過遙控輸 入中英文的功能。消息管理子模塊,管理buffer中的連續(xù)中英文字符組成的消息序列,并且和電視/機(jī) 頂盒的顯示模塊配合,共同實(shí)現(xiàn)命令編輯窗口功能,同步顯示用戶輸入,并能夠向上滾行。 窗口大小是事先規(guī)定的,本發(fā)明推薦8行x32列的窗口。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述的命令處理模塊包括命令處理模塊,完成從接受消息序列到命令分發(fā)執(zhí)行的核心處理過程。其中命令處理 模塊劃分為消息接收子模塊,用于接收消息序列并按照消息序列格式解析,存入消息數(shù)組,統(tǒng)計(jì)消 息項(xiàng)數(shù)目,決定是否需要存儲(chǔ)。模糊匹配子模塊,用于對(duì)消息序列中的每個(gè)消息,在系統(tǒng)命令表,改進(jìn)的頻道表和自定 義命令表中尋找匹配項(xiàng),得到與之匹配的命令來替換該消息。命令管理子模塊,用于對(duì)于無匹配,多匹配等情況的提示處理,存儲(chǔ)提示處理,命令解 析等功能命令分發(fā)子模塊,用于根據(jù)命令解析出來的執(zhí)行模塊和API等信息,構(gòu)造通知報(bào)文,并 分發(fā)至相應(yīng)的執(zhí)行模塊調(diào)度子模塊,用于調(diào)度,協(xié)調(diào)和管理前面的四個(gè)子模塊,實(shí)現(xiàn)‘輸入態(tài)’一‘修改 態(tài)’一‘匹配態(tài)’一‘執(zhí)行態(tài)’這樣的狀態(tài)機(jī)。
4.一種基于上述系統(tǒng)的人機(jī)交互方法,其特征在于,包括步驟A、文本輸入模塊將遙控按鍵轉(zhuǎn)換為中英文字符存放到buffer中,連續(xù)的中英文字符 組成中英文消息序列,當(dāng)收到連續(xù)0個(gè)及以上)的回車符即通知命令處理模塊。B、命令處理模塊接到通知,讀取buffer中的中英文消息序列,經(jīng)模糊匹配后轉(zhuǎn)換為命 令序列,再經(jīng)解析后分發(fā)給電視/機(jī)頂盒的各執(zhí)行模塊。C、各執(zhí)行模塊接收命令處理模塊分發(fā)給自己的命令執(zhí)行信息并執(zhí)行,然后反饋執(zhí)行結(jié) 果給命令處理模塊。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述步驟A之前還包括文本輸入模塊接收用戶的進(jìn)入命令模式的請(qǐng)求,并向所述的命令處理模塊轉(zhuǎn)發(fā)請(qǐng)求信息;命令處理模塊使系統(tǒng)進(jìn)入命令模式,命令處理模塊調(diào)用電視/機(jī)頂盒的顯示模塊,顯 示命令編輯窗口;
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟A還包括輸入法子模塊將遙控按鍵編碼為英文ASCII碼和中文GB2312碼送給消息管理子模塊,消息管理子模塊接收連續(xù)的字符編碼存放到buffer中形成消息序列,當(dāng)消息序列長(zhǎng)度超 過buffer大小時(shí),用戶無法繼續(xù)輸入;消息管理子模塊調(diào)用電視/機(jī)頂盒的顯示模塊產(chǎn)生,在命令編輯窗口中同步顯示用戶 輸入的消息序列;用戶連續(xù)輸入回車符O次及以上),可以結(jié)束消息序列輸入,消息管理子模塊將連續(xù) 的回車符合并為1個(gè)回車符,構(gòu)造通知報(bào)文通知命令處理模塊讀取消息序列。
7.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟B還包括命令處理模塊的消息輸入子模塊接收到文本輸入模塊的通知報(bào)文,讀取buffer中的 消息序列(包括結(jié)尾的回車符),按照本發(fā)明定義的消息序列格式分解消息序列到自己的 消息數(shù)組中,然后將消息數(shù)組傳給模糊匹配子模塊。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述步驟B還包括消息序列的語義的定義為消息序列=消息項(xiàng)1+分隔符+消息項(xiàng)2+…+消息項(xiàng)N+結(jié) 束符,其中,消息項(xiàng)=‘控制+分隔符+文本+參數(shù)’,‘文本’代表消息項(xiàng)內(nèi)容,‘控制’代表 消息項(xiàng)所對(duì)應(yīng)的命令的執(zhí)行方式延遲時(shí)間,單次執(zhí)行或者循環(huán)執(zhí)行,‘參數(shù)’代表消息所對(duì) 應(yīng)的命令的參數(shù),分隔符和結(jié)束符不能出現(xiàn)在‘控制’,‘文本’和‘參數(shù)’中,‘文本’和‘參 數(shù)’不能以‘控制’項(xiàng)中的字符開始(其后可以包含控制項(xiàng)字符);本發(fā)明中‘控制’項(xiàng)采用時(shí)間,‘分隔符’是空格,‘結(jié)束符’是回車,因此消息序列的一 般形式就是‘時(shí)間1+空格+文本1+參數(shù)1+時(shí)間2+空格+文本2+參數(shù)2+…+時(shí)間N+ 空格+文本N+參數(shù)N+回車,其意義是延遲‘時(shí)間1,后,以‘參數(shù)1,執(zhí)行‘文本1,所對(duì) 應(yīng)的命令,第一個(gè)命令結(jié)束后,延遲‘時(shí)間2’,以‘參數(shù)2’執(zhí)行‘文本2’所對(duì)應(yīng)的命令,… 以此類推,直到‘文本N’所對(duì)應(yīng)的命令執(zhí)行完畢,空格作為分隔符,不能出現(xiàn)在‘時(shí)間’,‘文 本’,‘參數(shù)’項(xiàng)中,‘時(shí)間’項(xiàng)必須以0、的ASCII碼開始而‘文本’ ‘參數(shù)’項(xiàng)不能以0、的 ASCII碼開始;消息輸入子模塊基于上述定義來分解消息序列以空格來分解序列中的每一項(xiàng),如果 當(dāng)前項(xiàng)全部由0、的ASCII碼組成,則認(rèn)為是‘時(shí)間’項(xiàng),如果以非(Γ9的ASCII碼開始即認(rèn) 為是‘文本’和‘參數(shù)’項(xiàng),其他情況認(rèn)為是非法輸入予以拋棄,然后將‘時(shí)間’,‘文本’,‘參 數(shù)’項(xiàng)分別填入消息數(shù)組的各自位置,并把數(shù)組地址傳送給模糊匹配子模塊,模糊匹配子模 塊定位數(shù)組中的‘文本’和‘參數(shù)’項(xiàng),進(jìn)行模糊匹配。
9.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟B還包括模糊匹配子模塊定位消息數(shù)組中的‘文本’和‘參數(shù)’項(xiàng),通過模糊匹配算法,試圖在系 統(tǒng)命令表,改進(jìn)頻道表和自定義命令表中找到與之匹配的命令,并替換掉‘文本’和‘參數(shù)’, 最終將隨意的消息序列轉(zhuǎn)換為標(biāo)準(zhǔn)的命令序列使得系統(tǒng)能夠辨識(shí)和執(zhí)行。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于包括在進(jìn)入命令模式之前,在flash中存儲(chǔ)了系統(tǒng)命令表,表里是系統(tǒng)命令名和相應(yīng)的執(zhí) 行信息,系統(tǒng)命令從功能上劃分為代替?zhèn)鹘y(tǒng)菜單設(shè)置和操作的命令,基于EPG數(shù)據(jù)庫的內(nèi) 容搜索和查詢命令,TV/STB的高級(jí)應(yīng)用功能如‘生活百科’,‘詞典’等,管理命令的命令(‘顯 示命令’,‘編輯命令’,‘刪除命令’,‘查找命令’,命令管理命令是可以帶參數(shù)的命令),改進(jìn) 頻道表中的節(jié)目別名;在進(jìn)入命令模式之前,在flash中存儲(chǔ)了改進(jìn)的頻道表在傳統(tǒng)的頻道表中增加了節(jié)目別名,在搜臺(tái)結(jié)束后,用戶須逐項(xiàng)手動(dòng)輸入節(jié)目別名,可以是用戶自己定義的任意名稱。命令序列存儲(chǔ)于flash中成為命令文件,文件名即為自定義命令,自定義文件可以被 反復(fù)讀取和執(zhí)行,所有的自定義命令被注冊(cè)到自定義命令表中。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于包括系統(tǒng)命令是可以擴(kuò)展的,通過編寫新的軟件模塊并編譯鏈接進(jìn)系統(tǒng),然后將模塊名或 者模塊中特定功能的API名稱作為系統(tǒng)命令名注冊(cè)進(jìn)系統(tǒng)命令表,即可實(shí)現(xiàn)特定功能的新 的系統(tǒng)命令,系統(tǒng)命令的擴(kuò)展僅僅受到flash存儲(chǔ)容量的限制;自定義命令是可以擴(kuò)展的,用戶可以任意建立和編輯自己的命令文件,存儲(chǔ)到flash 中,自定義命令文件的數(shù)量?jī)H受到flash容量的限制;系統(tǒng)命令和自定義命令都是可以改變名稱的,即運(yùn)行‘編輯命令’ + ‘參數(shù)’,‘參數(shù)’為 系統(tǒng)命令和自定義命令,命令編輯窗口會(huì)提示輸入新的命令名,輸入并確認(rèn)即可改變系統(tǒng) 命令和自定義命令的名稱。
12.根據(jù)權(quán)利要求9所述的方法,其特征在于所述的步驟B還包括當(dāng)出現(xiàn)無匹配命令的情況,系統(tǒng)提示用戶重新輸入或者放棄,出現(xiàn)多個(gè)匹配命令的情 況,系統(tǒng)提示用戶重新輸入,選擇一個(gè)匹配命令或者放棄。如果重新輸入后,匹配過程會(huì)反 復(fù)進(jìn)行直到找到確定的匹配命令或者放棄。
13.根據(jù)權(quán)利要求4所示的方法,其特征在于所述的步驟B還包括消息序列被轉(zhuǎn)換為命令序列后,命令管理子模塊檢查此命令序列,如果包括2個(gè)及以 上的的命令,才被允許存儲(chǔ)成命令文件,否則僅能執(zhí)行但不允許存儲(chǔ)到flash中。
14.根據(jù)權(quán)利要求4所述的方法,其特征在于所述的步驟B還包括在‘輸入態(tài)’,‘修改態(tài)’和‘匹配態(tài)’,命令序列可以包含系統(tǒng)命令和自定義命令,消息序 列和命令序列可以以數(shù)組形式存在于內(nèi)存或者存儲(chǔ)于flash,在‘執(zhí)行態(tài)’,自定義命令必須 展開,命令序列只能包含系統(tǒng)命令,并且必須將命令數(shù)組轉(zhuǎn)換為命令鏈表
15.根據(jù)權(quán)利要求4所述的方法,其特征在于所述的步驟B還包括命令管理子模塊解析命令得到模塊名和API,據(jù)此構(gòu)造通知報(bào)文,通知報(bào)文的ID是模 塊名,內(nèi)容是API函數(shù),根據(jù)通知報(bào)文ID分發(fā)到相應(yīng)的報(bào)文隊(duì)列
16.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述的步驟C還包括各執(zhí)行模塊通過自己的報(bào)文隊(duì)列讀取分發(fā)到的通知報(bào)文,分解出其中的API并調(diào)用執(zhí) 行,并反饋結(jié)果給命令處理模塊。
全文摘要
本發(fā)明一種基于中英文命令的人機(jī)交互系統(tǒng)和方法本發(fā)明涉及一種電視/機(jī)頂盒領(lǐng)域的人機(jī)交互系統(tǒng)和方法,該系統(tǒng)包括文本輸入模塊,命令處理模塊和執(zhí)行模塊。該方法包括文本輸入模塊實(shí)現(xiàn)通過遙控輸入中英文字符到buffer,命令處理模塊讀取buffer中的連續(xù)字符組成的消息序列,按照定義的格式分解消息序列,然后通過模糊匹配技術(shù)將消息序列轉(zhuǎn)換為系統(tǒng)能夠執(zhí)行的標(biāo)準(zhǔn)的命令序列,最后依次將每個(gè)命令的執(zhí)行信息分發(fā)到相應(yīng)的執(zhí)行模塊去執(zhí)行。本發(fā)明可以完全替代傳統(tǒng)的菜單操作方式,并且避免了繁瑣的操作步驟和晦澀的專業(yè)術(shù)語,簡(jiǎn)化了遙控器設(shè)計(jì),同時(shí)也明顯拓展了電視/機(jī)頂盒的功能,實(shí)現(xiàn)了菜單方式所不能實(shí)現(xiàn)的功能。
文檔編號(hào)H04N5/44GK102056021SQ20091019827
公開日2011年5月11日 申請(qǐng)日期2009年11月4日 優(yōu)先權(quán)日2009年11月4日
發(fā)明者李峰 申請(qǐng)人:李峰
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1