專利名稱:基于場(chǎng)景識(shí)別的虛擬觸摸屏技術(shù)的設(shè)計(jì)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于嵌入式系統(tǒng)應(yīng)用程序設(shè)計(jì)領(lǐng)域,具體涉及支持采用智能系統(tǒng)的數(shù)字家電、個(gè)人電腦等電子設(shè)備的人機(jī)交互方法,即通過遙控器等設(shè)備作為輸入來模擬觸摸屏的按壓、滑動(dòng)操作,即虛擬觸摸屏技術(shù)。
背景技術(shù):
許多智能操作系統(tǒng),如Android、Bada、Meego等,廣泛應(yīng)用在嵌入式便攜設(shè)備中,并被摩托羅拉、三星、華為等眾多知名廠商應(yīng)用在其智能手機(jī)中,已取得巨大的成功。目前,這些系統(tǒng)已開始滲透到數(shù)字電視領(lǐng)域當(dāng)中,三星、索尼等廠商在2012年初推出基于Android系統(tǒng)的智能電視,各傳統(tǒng)電視廠商也在積極研發(fā)此類技術(shù),以在新一代數(shù)字電視的競(jìng)爭(zhēng)中取得優(yōu)勢(shì)。數(shù)字電視的智能化,尤其是使用智能操作系統(tǒng),使得人們可以在電視上處理的較為的復(fù)雜的文本、圖像、搜索、游戲等操作,這必然要求數(shù)字電視要有更智能的交互方式來全面提升用戶體驗(yàn)。集成這些系統(tǒng)的智能手機(jī)主要采用觸摸屏點(diǎn)擊方式完成操作,但這種觸摸方式對(duì)數(shù)字電視來說有著造價(jià)高昂,精度低,操作困難等等弊病。于是各大電視廠商對(duì)智能電視的交互方式進(jìn)行革新,并相繼推出各種智能交互方式比如體感遙控、語音識(shí)別、動(dòng)作識(shí)別、智能觸控、多屏互動(dòng)等來搶占市場(chǎng)。探索智能電視新的交互方式已在Google TV推出時(shí)就做了一些嘗試,Google TV通過無線全鍵盤遙控器在電視上網(wǎng)和娛樂,但這種方式與人們使用電腦上網(wǎng)搜索并沒有太大的區(qū)別,且這對(duì)于那些較少接觸電腦的用戶來說無疑有著不少的難度。LG于2010年推出了采用動(dòng)感應(yīng)遙控器的電視,LG動(dòng)感應(yīng)遙控器具有指向定位和動(dòng)作感應(yīng)功能,可以像無線鼠標(biāo)一樣控制光標(biāo)在畫面上隨意滑動(dòng)。該項(xiàng)技術(shù)需要使用帶有重力傳感器的特制遙控器,存在定位精度不高,遙控器功耗較大和軟硬件成本增加的問題。考慮到成本和可操作性,本專利提出一種通過場(chǎng)景識(shí)別技術(shù)將傳統(tǒng)遙控器上的按鍵操作模擬成屏幕上特定位置的點(diǎn)擊操作,這樣在不增加硬件成本的前提下,利用成熟的遙控器技術(shù),完成對(duì)集成Android系統(tǒng)的數(shù)字電視的操作。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種通過場(chǎng)景識(shí)別技術(shù)將遙控器的按鍵操作模擬成屏幕特定位置的點(diǎn)擊操作的設(shè)計(jì)方法。利用幀緩沖(Frame Buffer)中圖像信息,預(yù)先分析智能操作系統(tǒng)中應(yīng)用程序的各個(gè)界面的顏色特征和按鈕點(diǎn)位置,根據(jù)這些特征采用場(chǎng)景識(shí)別算法識(shí)別出當(dāng)前屏幕上所顯示應(yīng)用的場(chǎng)景,并將遙控器上的按鍵信息解析成鼠標(biāo)箭頭在場(chǎng)景按鈕點(diǎn)位置的移動(dòng)或點(diǎn)擊操作。該項(xiàng)技術(shù)能夠在不增加電視機(jī)硬件設(shè)施成本的情況下,最大限度的利用已有成熟穩(wěn)定的遙控器驅(qū)動(dòng)程序,符合用戶對(duì)電視的使用習(xí)慣。為了達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案予以實(shí)現(xiàn)
基于場(chǎng)景識(shí)別的虛擬觸摸屏技術(shù)的設(shè)計(jì)方法,通過從幀緩沖中讀取應(yīng)用程序各界面的圖像數(shù)據(jù)信息,預(yù)先分析和處理的顏色信息特征,找到場(chǎng)景的特征點(diǎn)集。當(dāng)應(yīng)用程序運(yùn)行時(shí),僅當(dāng)接收到用戶輸入事件時(shí)才進(jìn)行場(chǎng)景識(shí)別,即動(dòng)態(tài)地讀取幀緩沖中的圖像數(shù)據(jù),利用場(chǎng)景識(shí)別算法判別當(dāng)前應(yīng)用的場(chǎng)景。預(yù)先從幀緩沖中讀取應(yīng)用程序各界面的按鈕點(diǎn)位置,分析其布局關(guān)系,當(dāng)已識(shí)別 到正在運(yùn)行的應(yīng)用程序的某個(gè)場(chǎng)景時(shí),遙控器的按鍵信息被解析為鼠標(biāo)箭頭在該場(chǎng)景中按鈕位置的移動(dòng)或點(diǎn)擊操作。遙控器對(duì)智能操作系統(tǒng)應(yīng)用程序的控制可被模擬成鼠標(biāo)的控制操作,即遙控器的按鍵操作被解釋成定位鼠標(biāo)箭頭到當(dāng)前界面的某個(gè)點(diǎn)處(一般是某個(gè)按鈕上方),并執(zhí)行點(diǎn)擊操作。為此,需要預(yù)先獲取應(yīng)用程序中的控制界面(即包含按鈕點(diǎn)的應(yīng)用界面,稱為“場(chǎng)景”,可從幀緩沖設(shè)備中讀取),提取這些場(chǎng)景的中按鈕點(diǎn)位置,使得當(dāng)應(yīng)用運(yùn)行到該場(chǎng)景時(shí),遙控器的按鍵操作可被解釋為依次將鼠標(biāo)箭頭移動(dòng)到這些位置,或進(jìn)行點(diǎn)擊操作。不同場(chǎng)景的按鍵信息不同,故需要識(shí)別當(dāng)前場(chǎng)景屬于應(yīng)用程序所有界面中的某一個(gè),即場(chǎng)景識(shí)別算法。該算法根據(jù)預(yù)先獲得的應(yīng)用程序的各個(gè)場(chǎng)景的圖像信息,分析這些場(chǎng)景中顏色信息不同點(diǎn)(即特征點(diǎn))的位置。每個(gè)特征點(diǎn)表示成集合的一個(gè)元素A,A包含Rxy和RRGB兩個(gè)屬性,分別表示其坐標(biāo)位置和顏色值(RGB三色值)。場(chǎng)景中的特征點(diǎn)構(gòu)成特征點(diǎn)集S i(l ^N, N表示場(chǎng)景的個(gè)數(shù)),而該款應(yīng)用程序中的所有場(chǎng)景中的特征點(diǎn)共同構(gòu)成超集S,即Si e S。則場(chǎng)景識(shí)別算法表述如下I)當(dāng)應(yīng)用程序運(yùn)行時(shí),通過讀取當(dāng)前場(chǎng)景中圖像數(shù)據(jù)信息,記為P,此時(shí)i賦值為1,轉(zhuǎn)入2);2)根據(jù)特征點(diǎn)集Si的Rxy屬性,從P中讀出Si中元素在Rxy處點(diǎn)的實(shí)際顏色值BRGB,若存在對(duì)應(yīng)元素的RRGB不等于BRGB,則轉(zhuǎn)入3),否則轉(zhuǎn)入4);3)將i賦值為i+Ι,若i不等于N,則搜索Si集合(即下一場(chǎng)景的特征點(diǎn)集合)的Rxy屬性,即跳轉(zhuǎn)入2),否則宣告無法識(shí)別該場(chǎng)景,退出系統(tǒng)。4)宣告識(shí)別出該場(chǎng)景,退出系統(tǒng)。為識(shí)別眾多可由遙控器操作的應(yīng)用,需要編寫可運(yùn)行于智能操作系統(tǒng)上的應(yīng)用管理程序,其功能在于管理可被遙控器操作的多個(gè)應(yīng)用,包括獲取用于識(shí)別應(yīng)用的ID,應(yīng)用的打開和關(guān)閉等信息,并將這些信息通過進(jìn)程間通信手段(如Socket方式)通知給遙控器模擬屏幕點(diǎn)擊的程序,后者根據(jù)應(yīng)用的ID和相應(yīng)的操作信息來輔助對(duì)當(dāng)前場(chǎng)景的識(shí)別和遙控器按鍵的解析。本專利的設(shè)計(jì)方法能夠在不增加電視機(jī)硬件設(shè)施成本的情況下操作智能數(shù)字電視,最大限度的利用已有成熟穩(wěn)定的遙控器驅(qū)動(dòng)程序,符合用戶對(duì)電視的使用習(xí)慣,并且在不增加硬件成本的前提下,利用成熟的遙控器技術(shù),完成對(duì)集成Android系統(tǒng)的數(shù)字電視的操作。
圖I為基于場(chǎng)景識(shí)別的虛擬觸摸屏技術(shù)的框架結(jié)構(gòu)示意圖;圖2為場(chǎng)景的預(yù)處理過程示意圖;圖3為通過遙控器控制正在運(yùn)行著的應(yīng)用程序的示意圖;圖4為基于場(chǎng)景識(shí)別的虛擬觸摸屏技術(shù)的運(yùn)行過程框圖5為基于場(chǎng)景 識(shí)別的虛擬觸摸屏技術(shù)的實(shí)現(xiàn)過程流程圖;圖6為場(chǎng)景識(shí)別技術(shù)的算法流程圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)描述參見圖1-6,為使遙控器能夠控制眾多智能操作系統(tǒng)(如Android)應(yīng)用程序,實(shí)現(xiàn)在數(shù)字電視上的流暢操作,且不需要改變?cè)袘?yīng)用的代碼,可通過以下方式將遙控器的按鍵操作模擬成鼠標(biāo)在顯示屏上的點(diǎn)擊操作。首先,提取應(yīng)用程序的所有場(chǎng)景,以便于分析其顏色特征和按鈕位置。場(chǎng)景的獲取可通過從幀緩沖設(shè)備中讀取信息至文本文件,其所保存的內(nèi)容為當(dāng)前顯示屏上的圖像數(shù)據(jù)信息。為了便于查看,可向圖像數(shù)據(jù)文件首部加入位圖文件頭信息,轉(zhuǎn)化為位圖文件(即BMP格式)。接著,提取場(chǎng)景特征點(diǎn)和按鈕點(diǎn)。特征點(diǎn)指場(chǎng)景中顏色特征顯著的點(diǎn),通過這些點(diǎn)的顏色值信息可唯一確定該場(chǎng)景。按鈕點(diǎn)指場(chǎng)景中完成應(yīng)用控制的按鈕所在的位置,當(dāng)鼠標(biāo)箭頭移動(dòng)到這些點(diǎn)的位置并通過左鍵點(diǎn)擊時(shí),能夠?qū)崿F(xiàn)該按鈕的功能。這兩類點(diǎn)的獲取需要反復(fù)比較之前獲取的應(yīng)用程序場(chǎng)景信息。然后,利用場(chǎng)景識(shí)別算法根據(jù)特征點(diǎn)信息識(shí)別當(dāng)前運(yùn)行的場(chǎng)景。設(shè)每個(gè)場(chǎng)景的特征點(diǎn)組成特征點(diǎn)集合Si,其中I < i < N,N表示場(chǎng)景個(gè)數(shù),所有場(chǎng)景的特征點(diǎn)組成超集S,即Si e S。集合S中每一個(gè)元素A表示一個(gè)供識(shí)別的點(diǎn),A包含Rxy和RRGB兩個(gè)屬性,分別表示其坐標(biāo)位置和顏色值(RGB三色值)。為識(shí)別當(dāng)前場(chǎng)景,可依次根據(jù)應(yīng)用的特征點(diǎn)集SI、S2…SN中元素A的Rxy屬性,讀取其RGB顏色值BRGB,并與該元素對(duì)應(yīng)的RRGB值進(jìn)行比較。若某個(gè)特征點(diǎn)集Si中所有元素通過Rxy屬性讀取到的顏色值BRGB均與RRGB相等,則認(rèn)為當(dāng)前場(chǎng)景已被識(shí)別為場(chǎng)景i,若不存在這樣的特征點(diǎn)集Si,則認(rèn)為當(dāng)前場(chǎng)景無法被識(shí)別。場(chǎng)景被識(shí)別出后,可根據(jù)該場(chǎng)景預(yù)先提取到的按鈕點(diǎn),將遙控器的按鍵值解釋為鼠標(biāo)箭頭移動(dòng)到屏幕上特定位置的操作。根據(jù)之前提取到的場(chǎng)景圖像信息,分析各個(gè)場(chǎng)景中按鈕的布局關(guān)系,將一個(gè)場(chǎng)景的按鈕組成一個(gè)雙向鏈表,通過遙控器的“上”“下”定位鍵,能夠引導(dǎo)鼠標(biāo)箭頭依次移動(dòng)到下一個(gè)按鈕所在的位置,并通過“確定”鍵模擬鼠標(biāo)左鍵點(diǎn)擊箭頭所在位置。在某些Android應(yīng)用的場(chǎng)景中,也會(huì)將鼠標(biāo)箭頭直接定位到某個(gè)按鈕點(diǎn)處,如賽車應(yīng)用中,“左”鍵表示移動(dòng)鼠標(biāo)箭頭到屏幕左側(cè)固定位置并點(diǎn)擊,“右”鍵對(duì)應(yīng)右側(cè)點(diǎn)擊,“上”鍵直接對(duì)應(yīng)移動(dòng)到屏幕右下方的加速按鈕的點(diǎn)擊,“下”鍵對(duì)應(yīng)屏幕左下方的剎車踏板位置處的點(diǎn)擊。最后,對(duì)于不同應(yīng)用來說,主要通過Android應(yīng)用管理程序來將不同應(yīng)用的ID通過進(jìn)程間通信手段(如SOCKET)發(fā)送給遙控器模擬屏幕點(diǎn)擊的程序(簡(jiǎn)稱“模擬程序”,以下類同),模擬程序在識(shí)別場(chǎng)景前會(huì)首先判斷當(dāng)前運(yùn)行的哪一個(gè)應(yīng)用,根據(jù)應(yīng)用的ID選擇該應(yīng)用所屬的場(chǎng)景特征點(diǎn)集合S進(jìn)行識(shí)別。該應(yīng)用管理程序主要負(fù)責(zé)控制可被遙控器操作的多個(gè)應(yīng)用,包括獲取用于識(shí)別應(yīng)用的ID,應(yīng)用的打開和關(guān)閉等信息,并將這些信息通過Socket通知給遙控器模擬屏幕點(diǎn)擊的程序,后者可根據(jù)應(yīng)用的ID和相應(yīng)的操作信息來輔助對(duì)當(dāng)前場(chǎng)景的識(shí)別和遙控器按鍵的解析。
以上所述,僅是本發(fā)明的較佳實(shí)施例而已,并非對(duì)本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實(shí)施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)可利用上述揭示的方法及技術(shù)內(nèi)容作出些許的更動(dòng)或修飾為等同變化的等效實(shí)施例,但凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的 技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡(jiǎn)單修改、等同變化與修飾,仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
權(quán)利要求
1.基于場(chǎng)景識(shí)別的虛擬觸摸屏技術(shù)的設(shè)計(jì)方法,其特征在于通過從幀緩沖中讀取應(yīng)用程序各界面的圖像數(shù)據(jù)信息,預(yù)先分析和處理的顔色信息特征,找到場(chǎng)景的特征點(diǎn)集。
2.如權(quán)利要求I所述的設(shè)計(jì)方法,其特征在于當(dāng)應(yīng)用程序運(yùn)行時(shí),僅當(dāng)接收到用戶輸入事件時(shí)才進(jìn)行場(chǎng)景識(shí)別,即動(dòng)態(tài)地讀取幀緩沖中的圖像數(shù)據(jù),利用場(chǎng)景識(shí)別算法判別當(dāng)前應(yīng)用的場(chǎng)景。
3.如權(quán)利要求I所述的設(shè)計(jì)方法,其特征在于預(yù)先從幀緩沖中讀取應(yīng)用程序各界面的按鈕點(diǎn)位置,分析其布局關(guān)系,當(dāng)已識(shí)別到正在運(yùn)行的應(yīng)用程序的某個(gè)場(chǎng)景時(shí),遙控器的按鍵信息被解析為鼠標(biāo)箭頭在該場(chǎng)景中按鈕位置的滑動(dòng)或點(diǎn)擊操作。
4.如權(quán)利要求I所述的設(shè)計(jì)方法,其特征在于遙控器對(duì)智能操作系統(tǒng)應(yīng)用程序的控制被模擬成鼠標(biāo)的控制操作,即遙控器的按鍵操作被解釋成定位鼠標(biāo)箭頭到當(dāng)前界面的某個(gè)點(diǎn)處,并執(zhí)行點(diǎn)擊操作;為此,需要預(yù)先獲取應(yīng)用程序中的控制界面,該控制界面是包含按鈕點(diǎn)的應(yīng)用界面,稱為場(chǎng)景,該場(chǎng)景能從幀緩沖設(shè)備中讀取,提取這些場(chǎng)景的中按鈕點(diǎn)位置,使得當(dāng)應(yīng)用運(yùn)行到該場(chǎng)景時(shí),遙控器的按鍵操作可被解釋為依次將鼠標(biāo)箭頭移動(dòng)到這些位置,或進(jìn)行點(diǎn)擊操作。
5.如權(quán)利要求4所述的設(shè)計(jì)方法,其特征在于采用場(chǎng)景識(shí)別算法識(shí)別當(dāng)前場(chǎng)景是屬于應(yīng)用程序所有界面中的某一個(gè);場(chǎng)景識(shí)別算法根據(jù)預(yù)先獲得的應(yīng)用程序的各個(gè)場(chǎng)景的圖像信息,分析這些場(chǎng)景中顏色信息不同點(diǎn)的位置;選取若干信息不同點(diǎn)作為特征點(diǎn),每個(gè)特征點(diǎn)表不成集合的一個(gè)兀素A, A包含Rxy和RRGB兩個(gè)屬性,分別表不其坐標(biāo)位置和顏色值,顏色值為RGB三色值;場(chǎng)景中的特征點(diǎn)構(gòu)成特征點(diǎn)集S i,l ^ i ^N, N表示場(chǎng)景的個(gè)數(shù),而該款應(yīng)用程序中的所有場(chǎng)景中的特征點(diǎn)共同構(gòu)成超集S,即Si e S ;則場(chǎng)景識(shí)別算法表述如下 1)當(dāng)應(yīng)用程序運(yùn)行時(shí),通過讀取當(dāng)前場(chǎng)景中圖像數(shù)據(jù)信息,記為P,此時(shí)i賦值為1,轉(zhuǎn)入2); 2)根據(jù)特征點(diǎn)集Si的Rxy屬性,從P中讀出Si中元素在Rxy處點(diǎn)的實(shí)際顏色值BRGB,若存在對(duì)應(yīng)元素的RRGB不等于BRGB,則轉(zhuǎn)入3),否則轉(zhuǎn)入4); 3)將i賦值為i+Ι,若i不等于N,則搜索Si集合的Rxy屬性,即跳轉(zhuǎn)入2),否則宣告無法識(shí)別該場(chǎng)景,退出系統(tǒng);Si集合的Rxy屬性即下ー場(chǎng)景的特征點(diǎn)集合; 4)宣告識(shí)別出該場(chǎng)景,退出系統(tǒng); 為識(shí)別眾多由遙控器操作的應(yīng)用,需要編寫可運(yùn)行于智能操作系統(tǒng)上的應(yīng)用管理程序,其功能在于管理可被遙控器操作的多個(gè)應(yīng)用,包括獲取用于識(shí)別應(yīng)用的ID,應(yīng)用的打開和關(guān)閉信息,并將這些信息通過進(jìn)程間通信手段通知給遙控器模擬屏幕點(diǎn)擊的程序,后者根據(jù)應(yīng)用的ID和相應(yīng)的操作信息來輔助對(duì)當(dāng)前場(chǎng)景的識(shí)別和遙控器按鍵的解析。
全文摘要
本發(fā)明的目的在于提供一種通過場(chǎng)景識(shí)別技術(shù)將遙控器的按鍵操作模擬成屏幕特定位置的滑動(dòng)、點(diǎn)擊等操作的設(shè)計(jì)方法。利用幀緩沖中圖像信息,預(yù)先分析智能操作系統(tǒng)中應(yīng)用程序的各個(gè)界面的顏色特征和按鈕點(diǎn)位置,根據(jù)這些特征采用場(chǎng)景識(shí)別算法識(shí)別出當(dāng)前屏幕上所顯示應(yīng)用的場(chǎng)景,并將遙控器上的按鍵信息解析成鼠標(biāo)箭頭在場(chǎng)景按鈕點(diǎn)位置的移動(dòng)或點(diǎn)擊等操作。該項(xiàng)技術(shù)能夠在不增加額外硬件設(shè)施的情況下控制采用智能系統(tǒng)的電視,最大限度的利用已有成熟穩(wěn)定的遙控器驅(qū)動(dòng)程序,符合用戶對(duì)電視的使用習(xí)慣。
文檔編號(hào)G06F3/048GK102662559SQ20121006520
公開日2012年9月12日 申請(qǐng)日期2012年3月13日 優(yōu)先權(quán)日2012年3月13日
發(fā)明者丑文龍, 馮升, 張磊, 李國輝, 梅魁志 申請(qǐng)人:西安交通大學(xué)