專利名稱:觸覺表面壓縮的制作方法
觸覺表面壓縮
背景技術(shù):
通過采用新的顯示技術(shù)和新的用戶輸入接收方式,電子設(shè)備及其用戶之間的交互變得更先進(jìn)。觸摸屏使得用戶能夠通過直接與用戶界面進(jìn)行交互而在設(shè)備上進(jìn)行輸入。觸覺技術(shù)甚至使得電子設(shè)備的用戶能夠感知用戶界面中的元素。例如,設(shè)備可通過短暫的振動反饋對按下按鈕做出反應(yīng),借此用戶可以感知設(shè)備對觸摸做出的響應(yīng)。同時,用戶界面的顯示器通常采用可顯示復(fù)雜、詳細(xì)信息的高分辨率屏幕。這使得在設(shè)備中實現(xiàn)觸覺反饋更具挑戰(zhàn)性
發(fā)明內(nèi)容
目前發(fā)明了改進(jìn)的方法以及實現(xiàn)此方法的技術(shù)設(shè)備來減輕上述問題。本發(fā)明的各方面包括一種方法、裝置、模塊和其上存儲計算機(jī)程序的計算機(jī)可讀介質(zhì),它們的特征在于獨立權(quán)利要求中聲明的內(nèi)容。在從屬權(quán)利要求中公開了本發(fā)明的各實施例。在不同的方面和實施例中,使用關(guān)于用戶界面上的觸覺元素的空間信息創(chuàng)建與用戶界面元素相關(guān)的觸覺反饋。所述空間信息例如以壓縮和/或編碼形式駐留在存儲器中,以便節(jié)省內(nèi)存和提高操作速度。所述空間信息在需要時被解碼或解壓縮,此外,布置觸覺高速緩存,以便提前解壓縮可能立即需要的空間信息。此預(yù)測性解壓縮被布置為基于用戶界面上的用戶輸入的移動來完成。例如,將用戶可能立即觸摸的塊解壓縮到所述觸覺高速緩存。根據(jù)第一方面,提供一種用于提供觸覺反饋的方法,包括自動確定關(guān)于用戶輸入的位置和移動的信息,基于所述位置信息將當(dāng)前觸覺數(shù)據(jù)取回到存儲器,根據(jù)所述關(guān)于位置和移動的信息自動預(yù)測所述用戶輸入的未來位置,將與所述未來位置相關(guān)的未來觸覺數(shù)據(jù)取回到所述存儲器,以及根據(jù)所取回的當(dāng)前和未來觸覺數(shù)據(jù)自動產(chǎn)生觸覺反饋。根據(jù)一個實施例,所述方法還包括將所述觸覺數(shù)據(jù)壓縮到存儲器,以及根據(jù)用于將所述未來觸覺數(shù)據(jù)取回到存儲器的所預(yù)測的未來位置來解壓縮所壓縮的觸覺數(shù)據(jù)。根據(jù)一個實施例,所述方法還包括根據(jù)當(dāng)前位置、至少一個過去位置、所述當(dāng)前位置和所述至少一個過去位置的距離以及從所述至少一個過去位置到所述當(dāng)前位置的方向來預(yù)測所述未來位置。根據(jù)一個實施例,所述方法還包括將所述觸覺數(shù)據(jù)壓縮到存儲器,其中通過包括行程長度編碼、掃描線編碼、基于塊的編碼、多通編碼、低通濾波、降尺度(downscaling)以及十中抽一采樣(decimation)的組中的至少一項執(zhí)行所述壓縮。根據(jù)一個實施例,所述方法還包括響應(yīng)于在過去未使用所述觸覺數(shù)據(jù)或者響應(yīng)于預(yù)測在未來不使用所述觸覺數(shù)據(jù)而從所述存儲器刪除所述觸覺數(shù)據(jù)。根據(jù)一個實施例,所述方法還包括使用適于圖形呈現(xiàn)的硬件來生成所述觸覺數(shù)據(jù)。根據(jù)一個實施例,所述方法還包括響應(yīng)于用戶界面的變化而生成所述觸覺數(shù)據(jù),以及將所述觸覺數(shù)據(jù)更新到所述存儲器。根據(jù)一個實施例,所述方法還包括從所述觸覺數(shù)據(jù)確定紋理信息,其中所述紋理信息是包括紋理像素、致動器使用參數(shù)和用于驅(qū)動致動器的程序代碼的組中的至少一項。根據(jù)一個實施例,所述方法還包括通過響應(yīng)于所述觸覺數(shù)據(jù)而驅(qū)動所述致動器來產(chǎn)生所述觸覺反饋,其中所述觸覺數(shù)據(jù)指示諸如柔軟度、圖案和彈性的材料性質(zhì)。根據(jù)一個實施例,所述方法還包括根據(jù)使用所述位置信息和觸覺數(shù)據(jù)的距離計算來產(chǎn)生所述觸覺反饋,其中首先使用觸覺數(shù)據(jù)塊并且隨后使用觸覺數(shù)據(jù)像素來執(zhí)行所述距離計算。根據(jù)第二方面,提供一種包括至少一個處理器、至少一個存儲器的裝置,所述存儲器包括計算機(jī)程序代碼,所述至少一個存儲器和所述計算機(jī)程序代碼被配置為與所述至少一個處理器一起導(dǎo)致所述裝置執(zhí)行至少以下操作確定關(guān)于用戶輸入的位置和移動的信息,基于所述位置信息將當(dāng)前觸覺數(shù)據(jù)取回到所述存儲器,根據(jù)所述關(guān)于位置和移動的信息預(yù)測所述用戶輸入的未來位置,將與所述未來位置相關(guān)的未來觸覺數(shù)據(jù)取回到所述存儲器,以及根據(jù)所取回的當(dāng)前和未來觸覺數(shù)據(jù)產(chǎn)生觸覺反饋。根據(jù)一個實施例,所述裝置還包括用于將所述觸覺數(shù)據(jù)壓縮到存儲器,以及根據(jù)用于將所述未來觸覺數(shù)據(jù)取回到存儲器的所預(yù)測的未來位置來解壓縮所壓縮的觸覺數(shù)據(jù)的計算機(jī)程序代碼。根據(jù)一個實施例,所述裝置還包括用于根據(jù)當(dāng)前位置、至少一個過去位置、所述當(dāng)前位置和所述至少一個過去位置的距離以及從所述至少一個過去位置到所述當(dāng) 前位置的方向來預(yù)測所述未來位置的計算機(jī)程序代碼。根據(jù)一個實施例,所述裝置還包括用于將所述觸覺數(shù)據(jù)壓縮到存儲器的計算機(jī)程序代碼,其中通過包括行程長度編碼、掃描線編碼、基于塊的編碼、多通編碼、低通濾波、降尺度以及十中抽一采樣的組中的至少一項執(zhí)行所述壓縮。根據(jù)一個實施例,所述裝置還包括用于響應(yīng)于在過去未使用所述觸覺數(shù)據(jù)或者響應(yīng)于預(yù)測在未來不使用所述觸覺數(shù)據(jù)而從所述存儲器刪除所述觸覺數(shù)據(jù)的計算機(jī)程序代碼。根據(jù)一個實施例,所述裝置還包括用于使用適于圖形呈現(xiàn)的硬件生成所述觸覺數(shù)據(jù)的計算機(jī)程序代碼。根據(jù)一個實施例,所述裝置還包括用于響應(yīng)于用戶界面的變化而生成所述觸覺數(shù)據(jù),以及將所述觸覺數(shù)據(jù)更新到所述存儲器的計算機(jī)程序代碼。根據(jù)一個實施例,所述裝置還包括用于從所述觸覺數(shù)據(jù)確定紋理信息的計算機(jī)程序代碼,其中所述紋理信息是包括紋理像素、致動器使用參數(shù)和用于驅(qū)動致動器的程序代碼的組中的至少一項。根據(jù)一個實施例,所述裝置還包括用于通過響應(yīng)于所述觸覺數(shù)據(jù)而驅(qū)動所述致動器來產(chǎn)生所述觸覺反饋的計算機(jī)程序代碼,其中所述觸覺數(shù)據(jù)指示諸如柔軟度、圖案和彈性之類的材料性質(zhì)。根據(jù)一個實施例,所述裝置還包括用于根據(jù)使用所述位置信息和觸覺數(shù)據(jù)的距離計算來產(chǎn)生所述觸覺反饋的計算機(jī)程序代碼,其中首先使用觸覺數(shù)據(jù)塊并且隨后使用觸覺數(shù)據(jù)像素來執(zhí)行所述距離計算。根據(jù)一個實施例,所述裝置還包括主處理器以及在操作上與所述主處理器相連的系統(tǒng)存儲器,觸覺處理器以及在操作上與所述觸覺處理器相連的本地存儲器,位于所述主處理器和所述觸覺處理器以及/或者所述系統(tǒng)存儲器和所述本地存儲器之間的數(shù)據(jù)總線,以及被配置為與所述至少一個處理器一起導(dǎo)致所述裝置將所述觸覺數(shù)據(jù)和所述未來觸覺數(shù)據(jù)取回到所述本地存儲器中的計算機(jī)程序代碼。根據(jù)一個實施例,所述裝置還包括響應(yīng)于所述用戶界面的變化而將所述觸覺數(shù)據(jù)更新到所述本地存儲器中,以及將所述未來觸覺數(shù)據(jù)解壓縮到所述本地存儲器中的計算機(jī)程序代碼。根據(jù)第三方面,提供一種包括至少一個處理器、至少一個存儲器的系統(tǒng),所述存儲器包括計算機(jī)程序代碼,所述至少一個存儲器和所述計算機(jī)程序代碼被配置為與所述至少一個處理器一起導(dǎo)致所述系統(tǒng)執(zhí)行至少以下操作確定關(guān)于用戶輸入的位置和移動的信息,基于所述位置信息將當(dāng)前觸覺數(shù)據(jù)取回到所述存儲器,根據(jù)所述關(guān)于位置和移動的信息預(yù)測所述用戶輸入的未來位置,將與所述未來位置相關(guān)的未來觸覺數(shù)據(jù)取回到所述存儲器,以及根據(jù)所取回的當(dāng)前和未來觸覺數(shù)據(jù)產(chǎn)生觸覺反饋。根據(jù)一個實施例,所述系統(tǒng)還包括主處理器以及在操作上與所述主處理器相連的系統(tǒng)存儲器,觸覺處理器以及在操作上與所述觸覺處理器相連的本地存儲器,位于所述主處理器和所述觸覺處理器以及/或者所述系統(tǒng)存儲器和所述本地存儲器之間的數(shù)據(jù)連接,以及被配置為與所述至少一個處理器一起導(dǎo)致所述系統(tǒng)將所述觸覺數(shù)據(jù)和所述未來觸覺數(shù)據(jù)取回到所述本地存儲器中的計算機(jī)程序代碼。根據(jù)第四方面,提供一種諸如芯片或獨立模塊之類的模塊,所述模塊包括處理器、包含計算機(jī)程序代碼的存儲器,所述存儲器和所述計算機(jī)程序代碼被配置為與所述處理器一起導(dǎo)致所述模塊執(zhí)行至少以下操作形成關(guān)于用戶輸入的位置和移動的信息,基于所述 位置信息將當(dāng)前觸覺數(shù)據(jù)取回到所述存儲器,形成所述用戶輸入的未來位置,所述未來位置基于所述關(guān)于位置和移動的信息,將與所述未來位置相關(guān)的未來觸覺數(shù)據(jù)取回到所述存儲器,以及根據(jù)所取回的當(dāng)前和未來觸覺數(shù)據(jù)提供用于產(chǎn)生觸覺反饋的信號。根據(jù)一個實施例,所述模塊可以布置為作為所述裝置和/或所述系統(tǒng)的一部分執(zhí)行操作,并且所述模塊可以作為多個類似模塊中的一個模塊執(zhí)行操作。根據(jù)第五方面,提供一種存儲在非臨時計算機(jī)可讀介質(zhì)上并且可在數(shù)據(jù)處理設(shè)備中執(zhí)行的計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品包括用于確定關(guān)于用戶輸入的位置和移動的信息的計算機(jī)程序代碼部分,用于基于所述位置信息將當(dāng)前觸覺數(shù)據(jù)取回到存儲器的計算機(jī)程序代碼部分,用于根據(jù)所述關(guān)于位置和移動的信息預(yù)測所述用戶輸入的未來位置的計算機(jī)程序代碼部分,用于將與所述未來位置相關(guān)的未來觸覺數(shù)據(jù)取回到所述存儲器的計算機(jī)程序代碼部分,以及用于根據(jù)所取回的當(dāng)前和未來觸覺數(shù)據(jù)產(chǎn)生觸覺反饋的計算機(jī)程序代碼部分。根據(jù)第六方面,提供一種裝置,包括用于處理數(shù)據(jù)和計算機(jī)程序代碼的處理器,用于確定關(guān)于用戶輸入的位置和移動的信息的部件,用于基于所述位置信息將當(dāng)前觸覺數(shù)據(jù)取回到存儲器的部件,用于根據(jù)所述關(guān)于位置和移動的信息預(yù)測所述用戶輸入的未來位置的部件,用于將與所述未來位置相關(guān)的未來觸覺數(shù)據(jù)取回到所述存儲器的部件,以及用于根據(jù)所取回的當(dāng)前和未來觸覺數(shù)據(jù)產(chǎn)生觸覺反饋的部件。
下面將參考附圖更詳細(xì)地描述本發(fā)明的各種實施例,這些附圖是圖I是根據(jù)一個實例實施例的用于產(chǎn)生觸覺反饋的方法的流程圖;圖2a示出根據(jù)一個實例實施例的觸覺反饋系統(tǒng)和模塊的框圖;圖2b示出根據(jù)一個實例實施例的觸覺反饋裝置的框圖;圖3a和3b示出根據(jù)一個實例實施例的與用戶界面元素相關(guān)的觸覺反饋的使用;圖4a、4b和4c示出根據(jù)一個實例實施例的空間觸覺信息的壓縮和解壓縮方法;圖5a、5b和5c示出根據(jù)一個實例實施例的帶有收縮的掃描線參考表的空間觸覺信息的壓縮和解壓縮方法;圖6a、6b和6c不出根據(jù)一個實例實施例的空間觸覺信息的基于塊的壓縮和解壓縮方法;
圖7a、7b、7c和7d示出根據(jù)一個實例實施例的計算觸覺反饋的距離的方法;圖8a和Sb示出根據(jù)一個實例實施例的空間觸覺信息的預(yù)測性解壓縮的操作;圖9示出根據(jù)一個實例實施例的觸覺紋理的使用以及將觸覺紋理分配給用戶界面元素;以及圖10是根據(jù)一個實例實施例的產(chǎn)生觸覺反饋的方法的流程圖。
具體實施例方式在下文中,將在便攜式電子設(shè)備的上下文中描述本發(fā)明的多個實施例。但是需要指出,本發(fā)明并不限于便攜式電子設(shè)備。實際上,不同的實施例廣泛地用于任何需要為用戶提供觸覺反饋的環(huán)境。例如,諸如小轎車、飛機(jī)和船只之類的交通工具的控制系統(tǒng)可以從使用下面描述的不同實施例獲益。此外,諸如智能樓宇和各種家用電器(例如,電視、廚房設(shè)備、洗衣機(jī)等)之類的較大物體的用戶界面可以具有根據(jù)不同實施例的增強(qiáng)觸覺反饋。各種實施例還可以實現(xiàn)為諸如芯片或觸覺反饋模塊之類的模塊或?qū)崿F(xiàn)為當(dāng)在處理器上運(yùn)行時,能夠操縱觸覺反饋的計算機(jī)程序產(chǎn)品。圖I是根據(jù)一個實例實施例的用于產(chǎn)生觸覺反饋的方法的流程圖。在階段110,確定當(dāng)前觸點的位置和移動。然后在階段120取回與當(dāng)前位置相關(guān)的觸覺數(shù)據(jù),所取回的觸覺數(shù)據(jù)可用于生成到用戶的觸覺反饋。在實際中,觸覺數(shù)據(jù)可與用戶界面上的對象相關(guān),并且可以描述用戶界面對象的表面或交互類型。通過生成觸覺(基于移動的物理觸覺)反饋,可使對象覺得具有特定種類表面或者使對象通過移動(例如,振動)對觸摸做出響應(yīng)。在階段130,預(yù)測未來觸摸位置。通過觀察用戶界面上的當(dāng)前和過去觸點以及根據(jù)所述當(dāng)前和過去觸點推斷未來觸點(多個)來完成此操作。例如,可以計算移動速度、移動方向和移動曲率,并且根據(jù)這些量來預(yù)測未來觸點。備選地或此外,可簡單地通過根據(jù)當(dāng)前觸點投射過去觸點(投射到另一側(cè))來創(chuàng)建未來觸點。在階段140,使用有關(guān)可能未來觸點的信息將觸覺數(shù)據(jù)取回到存儲器,以便例如可以更快地存取觸覺數(shù)據(jù)。例如,當(dāng)下一次進(jìn)入階段120時,可不必將任何新數(shù)據(jù)取回到本地存儲器,因為已在先前階段140預(yù)測性地取回數(shù)據(jù)。在階段150,未來觸覺數(shù)據(jù)可用于在用戶觸摸進(jìn)入未來觸點覆蓋的區(qū)域之時,生成到用戶的觸覺反饋。如上所述,此生成操作可在不將觸覺數(shù)據(jù)取回到存儲器的情況下完成,因為已在階段140取回所述數(shù)據(jù)。還可使用未來(預(yù)測的)觸覺數(shù)據(jù),以便在用戶觸摸進(jìn)入預(yù)測區(qū)域之前已經(jīng)給出觸覺反饋,以便例如指示用戶正在移向某個對象。 上述空間預(yù)測可用于優(yōu)化內(nèi)存的速度和利用率。使用此方法,可針對觸覺數(shù)據(jù)使用更少的本地內(nèi)存,并且由于觸覺數(shù)據(jù)已在本地存儲器中,所以可以更快地取回觸覺數(shù)據(jù)。在某些情況下,如果確定預(yù)測不能針對特定用戶界面布局而良好地工作,則可以關(guān)閉預(yù)測。預(yù)測性觸覺數(shù)據(jù)取回很適合于連續(xù)移動,例如平移、滾動和滾動條以及感知圖片。有視力障礙的人可以發(fā)現(xiàn)生成數(shù)據(jù)反饋尤其有用,因為盡管他們不能看到用戶界面,但是他們可以感知用戶界面。上述解決方案還可以包括以下特征。觸覺數(shù)據(jù)(觸覺表面標(biāo)識符(ID))可以通過現(xiàn)有圖形硬件來呈現(xiàn)。如果沒有可用圖形硬件,則可通過諸如矩形、圓形、多邊形之類的幾何形狀表示用戶界面,并且這些形狀可被轉(zhuǎn)換為掃描線格式??墒褂糜|覺協(xié)處理器。觸覺數(shù)據(jù)可被壓縮,以便放入?yún)f(xié)處理器的本地存儲器。此步驟可以包括減小原始觸覺數(shù)據(jù)的大小并進(jìn)行多輪壓縮,以便形成足夠小的壓縮數(shù)據(jù)??梢詫⒈镜卮鎯ζ髦械挠|覺數(shù)據(jù)和新的觸覺數(shù)據(jù)進(jìn)行比較,并且僅將修改后的壓縮數(shù)據(jù)傳輸?shù)接|覺協(xié)處理器的本地存儲器(例如,經(jīng)由I2C總線或其他任何用于連接觸覺處理器和主處理器的總線)。如果用戶界面保持靜態(tài),則沒有任何數(shù)據(jù)被發(fā)送到觸覺協(xié)處理器。觸覺算法可讀取用戶觸摸輸入并檢查屏幕的對應(yīng)部分是否具有某些與其關(guān)聯(lián)的觸覺材料。針對用戶的反饋可以使用簡單的預(yù)定義觸覺圖像圖案或預(yù)定義反饋參數(shù)而根據(jù)觸點的觸覺數(shù)據(jù)的材料ID來提供,或者通過執(zhí)行與所述ID關(guān)聯(lián)的一部分觸覺反饋代碼來提供。取決于觸覺算法,還可計算到最近用戶界面元素的距離以便生成反饋。圖2a示出根據(jù)一個實例實施例的觸覺反饋系統(tǒng)和模塊的框圖。在圖2a中,主集成處理單元核心201與觸覺協(xié)處理器202是分離的。觸覺模塊可以是圖中的單獨芯片,也可以集成在其他芯片或元件中。主集成核心201可以包括用于呈現(xiàn)用戶界面圖形的圖形硬件,或者包括單獨的圖形硬件。存在各種與圖形硬件相關(guān)的緩沖器,例如幀緩沖器、Z緩沖器(用于深度計算),以及模板緩沖器(未示出)。還可以存在觸覺表面緩沖器(觸覺數(shù)據(jù)緩沖器)。圖形硬件和緩沖器可通過用于發(fā)送圖形命令和用于取回觸覺數(shù)據(jù)的圖形軟件應(yīng)用編 程接口(API)進(jìn)行存取??刂扑鱿到y(tǒng)的應(yīng)用/用戶界面框架可以減小觸覺數(shù)據(jù)的大小并壓縮數(shù)據(jù),然后使用觸覺API (例如,使用I2C總線)將數(shù)據(jù)發(fā)送到觸覺協(xié)處理器。觸覺協(xié)處理器然后可以執(zhí)行觸覺數(shù)據(jù)的解壓縮,并根據(jù)用戶輸入和觸覺數(shù)據(jù)運(yùn)行致動器。觸覺處理器也可以僅解壓縮部分?jǐn)?shù)據(jù),或僅從壓縮后的數(shù)據(jù)取回需要的觸覺ID。為了足夠快地正確感知反饋,觸覺反饋循環(huán)可以在例如1000Hz或更高處運(yùn)行,因此需要特殊類型的處理器來使從用戶輸入到觸覺反饋(振動、致動器)的延遲保持較低。可編程觸覺協(xié)處理器可具有有限的處理能力(例如,2MHz)和較小的內(nèi)存占用(例如,4-32kB)。觸覺協(xié)處理器還可能不能訪問系統(tǒng)存儲器。在觸覺協(xié)處理器內(nèi)運(yùn)行的觸覺反饋程序代碼需要有關(guān)用戶界面窗口和元素位于何處以及它們的材料性質(zhì)為何的信息。用戶界面窗口和元素可以具有任何形狀和形式,并且僅將窗口直角坐標(biāo)發(fā)送到觸覺協(xié)處理器可能是不夠的。在此,認(rèn)識到可以使用現(xiàn)有圖形硬件來呈現(xiàn)觸覺數(shù)據(jù)以及規(guī)則圖形。例如,觸覺數(shù)據(jù)(觸覺表面)可以包括8位標(biāo)識符值來表示不同的表面材料??梢允褂脠D形處理器的Alpha色彩通道(在其未被系統(tǒng)以其他方式使用的情況下)。此外,可以使用圖形處理器的模板緩沖區(qū)。進(jìn)而,可以呈現(xiàn)單獨的觸覺圖像(可能具有較低分辨率)。觸覺表面的原始表示可能無法放入例如4kB的觸覺處理器內(nèi)存內(nèi),因為觸覺數(shù)據(jù)例如可能占據(jù)307kB (640*480*8位)的空間。另外,主機(jī)中央處理單元(CPU)與觸覺處理器之間可能沒有足夠的帶寬(25fps VGA觸覺表面需要7. 7 M B/s,而例如I2C總線帶寬一般為O. 46 M B/s)。通過快速壓縮和解壓縮來將觸覺表面?zhèn)鬏數(shù)接|覺處理器,這些問題已得到緩解或克服。圖2b示出根據(jù)一個實例實施例的觸覺反饋裝置的框圖。所述裝置可以具有各種在操作上相連的用戶交互模塊,例如,嵌入設(shè)備或者以有線或無線的方式連接到裝置。可以具有揚(yáng)聲器210和麥克風(fēng)212來執(zhí)行基于音頻的輸入/輸出,例如,發(fā)出語音命令和收聽音頻反饋。還可以具有顯示器211,例如能夠接收用戶觸摸輸入的觸摸屏。所述裝置還可以具有鍵盤KEYB,以及其他輸入設(shè)備,例如相機(jī)、鼠標(biāo)、手寫筆等。圖2b的裝置或系統(tǒng)還可以包括至少一個處理器PR0C、存儲器MEM和至少一個通信模塊C0MM。所述裝置還可以包括圖2a的所有元件,例如觸覺協(xié)處理器、數(shù)據(jù)總線、圖形硬件、致動器等。觸覺反饋可以布置在所述系統(tǒng)或裝置中的觸覺模塊內(nèi)。圖3a和3b示出根據(jù)一個實例實施例的與用戶界面元素相關(guān)的觸覺反饋的使用。如圖3a所示,用戶界面可以包含顯示器上的各種元素,例如圖標(biāo)310、按鈕311以及窗口312和313。如圖中所示的電子設(shè)備的用戶界面還可以包括鍵盤、麥克風(fēng)、相機(jī)、揚(yáng)聲器和其他交互模塊。如圖3b所示,觸覺ID表面具有每個用戶界面元素的ID號。例如,圖標(biāo)310具有與之關(guān)聯(lián)的觸覺區(qū)域320,按鈕311具有與之關(guān)聯(lián)的觸覺表面321,以及窗口 312和313分別具有與之關(guān)聯(lián)的觸覺區(qū)域322和323。不同區(qū)域的不同ID可用于確定用戶界面組件在被觸摸時具有何種感覺。圖3b示出用戶界面的不同區(qū)域如何具有不同的材料(自然地,有些區(qū)域可能還具有相同的ID)。由于用戶界面元素可能具有任何形狀,因此,諸如矩形之類的簡單基元可能不足以描述元素的觸覺區(qū)域。相反,可以使用更復(fù)雜的形狀和圖案。因此,可以借助像素來描述觸覺區(qū)域。
可使用各種壓縮方法壓縮觸覺數(shù)據(jù)??墒褂镁哂袇⒖急淼膾呙杈€編碼。可創(chuàng)建參考表以僅指向編碼數(shù)據(jù)中的少數(shù)掃描線。備選地,參考表可以包含每個掃描線起點的索引,自然地需要更多空間。此外,掃描線的編碼可被收縮(collapsed)以節(jié)省空間。還可使用基于塊的壓縮。圖4a、4b和4c示出根據(jù)一個實例實施例的空間觸覺信息的壓縮和解壓縮方法。在圖4a中,示出圖4b的觸覺數(shù)據(jù)的編碼。第一行觸覺數(shù)據(jù)420導(dǎo)致編碼410中只有一對數(shù)字O和31,指示在第一行上存在32 (31+1)個O值。這些數(shù)字置于第一代碼(C)位置414處,值為0,并且置于第一長度(L)位置415處,值為31。分別地,第四行觸覺數(shù)據(jù)421導(dǎo)致編碼411指示存在5 (4+1)個O值、2 (1+1)個I值、7 (6+1)個O值等。這些數(shù)字置于第一代碼位置414處,值為0,置于第一長度L位置415處,值為4,置于第二代碼位置416處,值為I,置于第二長度位置417處,值為I,置于第三代碼位置418處,值為0,置于第三長度位置處,值為6等。除了編碼后的觸覺數(shù)據(jù)之外,掃描線參考表還被累加,以便系統(tǒng)可直接存取位于數(shù)據(jù)中間的掃描線起點。這在圖4c中參考圖4a指示。所述參考表包含掃描線號對(采取編碼形式)和偏移值。所述參考表中的第一表項432指示可以在地址O處找到第一(或基于O的索引中的第O個)掃描線432,可以在地址20處找到第五(或基于O的索引中的第4個)掃描線433。這些表項的編碼后的掃描線可以分別從圖4a中的位置412和413確定。與觸覺數(shù)據(jù)的原始大小512相比,具有參考表的編碼總大小可以從434中看出為100字節(jié)。掃描線參考表使得編碼數(shù)據(jù)的隨機(jī)存取解碼更快速。如果用戶界面發(fā)生變化,則可能需要重新壓縮觸覺數(shù)據(jù)??梢酝ㄟ^重新壓縮,僅壓縮發(fā)生更改的數(shù)據(jù)并將其插入正確位置。但是,與舊數(shù)據(jù)相比,新數(shù)據(jù)的大小可能有所不同。數(shù)據(jù)可以按順序排列,以便不需要維護(hù)單獨的索引表。實際上,可使用兩個觸覺數(shù)據(jù)緩沖器,以便當(dāng)觸覺處理器使用其中一個緩沖器時,可將數(shù)據(jù)發(fā)送到另一緩沖器。因此,可以執(zhí)行更新,以便從正在被使用的另一緩沖器復(fù)制未更改的數(shù)據(jù),并且經(jīng)由數(shù)據(jù)總線從外部僅接收發(fā)生更改的數(shù)據(jù)。這可加快更新速度。在解壓縮時,可使用特定觸摸位置(X,Y)的觸覺數(shù)據(jù)值,并且無需解壓縮所有數(shù)據(jù)。觸覺加速器存儲器中可能沒有足夠的內(nèi)存來存放整個未壓縮的觸覺數(shù)據(jù)圖像。解壓縮時,基于Y位置從偏移表取回封閉的起始偏移。此后,我們具有4條數(shù)據(jù)掃描線并且其中一條掃描線是所需的基于Y位置的掃描線。通過添加長度數(shù)據(jù)來遍歷編碼的掃描線數(shù)據(jù)(顏色、長度對)來完成掃描線數(shù)據(jù)的解壓縮。由此找到X位置中的觸覺數(shù)據(jù)ID值。參考圖4b,將確定位于坐標(biāo)[X=23,Y=4]處的觸覺表面值。首先,計算參考表索引為Y/4=l,得到數(shù)據(jù)偏移20。然后,通過采用模數(shù)Υ%4=0計算4條掃描線中所需的掃描線,得出第一掃描線。通過檢查掃描線數(shù)據(jù),發(fā)現(xiàn)X坐標(biāo)可以從第6對顏色、長度值中找到。通過添加來自編碼數(shù)據(jù)的行程長度(L)值,直到達(dá)到X坐標(biāo)值來實現(xiàn)此操作。第6對的顏色值(觸覺數(shù)據(jù)ID)為I。作為另一實例,將確定位于坐標(biāo)[Χ=25,Υ=13]處的觸覺表面值。參考表索引為Υ/4=3,得到數(shù)據(jù)偏移76。所需的掃描線為¥%4=1,8卩,第二掃描線。掃描并跳過第一掃描線的數(shù)據(jù)(通過添加行程長度值,直到覆蓋整條線)。從第二掃描線的數(shù)據(jù)得出,可以從第3對顏色、長度值找到X坐標(biāo)。該對的顏色值(觸覺數(shù)據(jù)ID)為O。圖5a、5b和5c示出根據(jù)一個實例實施例的帶有收縮的掃描線參考表的空間觸覺信息的壓縮和解壓縮方法。所述收縮操作可以在壓縮期間或之后執(zhí)行。收縮不需要徹底,即,可存在多個具有相同內(nèi)容的線。將圖5a與圖4a相比較,除了已刪除重復(fù)表項之外,掃 描線壓縮表相同。換言之,由于圖5b中的掃描線520具有相同內(nèi)容,因此它們導(dǎo)致相同的壓縮數(shù)據(jù),并且可使用相同的掃描線編碼510來表示全部掃描線520。類似地,掃描線521的壓縮結(jié)果全部相同,并且可以由數(shù)據(jù)511表示。由于現(xiàn)在并非所有掃描線均在壓縮數(shù)據(jù)中具有唯一表項,因此無法僅通過添加壓縮數(shù)據(jù)的行程長度值來確定像素的數(shù)據(jù)偏移。因此,圖5c的掃描線參考表包含所有掃描線的表項。但是,掃描線表項530指向同一偏移(O),以及所有掃描線表項531指向同一偏移(42)。此方法提高了實例情況中的壓縮效率,并且總體壓縮后的大小為86字節(jié)。數(shù)據(jù)解碼過程與圖4a至4c的解碼過程類似,只是在此情況下,直接從參考表找到掃描線偏移(Y坐標(biāo))。圖6a、6b和6c不出根據(jù)一個實例實施例的空間觸覺信息的基于塊的壓縮和解壓縮方法。在基于塊的壓縮方法中,圖像被分為若干塊(在此實例中,32 X 16像素->4個塊,每個塊16X8像素,塊620、621、622和623)。每個塊被單獨壓縮,并且壓縮數(shù)據(jù)包括壓縮后的塊數(shù)據(jù)610、611、612和613, —個塊接著另一個塊。壓縮方式與之前的行程長度壓縮方式類似,只是整個塊在一次掃描中進(jìn)行壓縮,在邊緣處繞回到下一行。圖6c中的塊數(shù)據(jù)偏移表指示現(xiàn)在每個塊的塊數(shù)據(jù)的起點630、631、632和633。壓縮效率可能稍遜于634中指示的基于掃描線的壓縮。但是,如果要執(zhí)行距離計算,則基于塊的壓縮是有利的。可以在X方向或Y方向上壓縮塊,并且可以選擇更小的壓縮大小??梢岳缡褂闷茀⒖急碇械腎位來存儲塊的掃描方向。將理解,可根據(jù)用戶界面、用戶界面的變化、所使用的觸覺反饋算法、執(zhí)行距離計算的需要等而更改觸覺數(shù)據(jù)壓縮算法(例如,上述掃描線算法、基于塊的算法、參考表算法)。例如,如果觸覺反饋算法需要確定距離,則可使用基于塊的壓縮,否則可以使用具有收縮參考表的掃描線壓縮。此外,可以對數(shù)據(jù)運(yùn)行不同的壓縮算法,然后可以選擇最高效的算法。圖7a、7b、7c和7d示出根據(jù)一個實例實施例的計算觸覺反饋距離的方法。有些觸覺算法可以利用對到最近形狀的距離的了解。對于基于塊的行程長度壓縮,按如下方式確定最短距離。首先,找到到不為空的最近塊的距離711。在圖7a中,對于塊700-708,只有塊701、703和705不為空。如果塊不與參考點710的塊平行,則使用塊的角進(jìn)行計算,如果塊與參考點710的塊平行,則使用塊的左/右或上/下邊進(jìn)行計算。然后計算最近塊的最大距離712 (遠(yuǎn)端角或遠(yuǎn)端邊)。如果該最大距離內(nèi)具有其他塊,則需要將這些塊包括在距離計算中(圓713)。然后,在選定塊的壓縮后的掃描線中執(zhí)行搜索。如果掃描線起點X〈參考點X〈終點X,則針對所述距離使用掃描線的中點(與參考點具有相同X坐標(biāo)的像素)。如果掃描線起點X和終點X〈參考點X,則針對所述距離使用掃描線的終點X。如果掃描線起點X和終點X〉參考點X,則針對所述距離使用掃描線的起點X。然后在這些像素中找到最短距離。備選地,可以計算起點、終點和中點的距離并通過比較找到最短距離。在圖7b中,示出針對塊701中的掃描線的計算。發(fā)現(xiàn)最短距離為122 (這是距離的平方以避免取平方根)。在圖7c中,示出針對塊703的計算,并且發(fā)現(xiàn)對于掃描線6的終點,最短距離為52。在圖7d中,示出針對塊705的計算,并且發(fā)現(xiàn)最短距離為145。因此,最近距離為到塊703中的掃描線6的點7。 圖8a和Sb示出根據(jù)一個實例實施例的空間觸覺信息的預(yù)測性解壓縮操作。預(yù)測性解壓縮可以利用有關(guān)用戶觸點的移動的信息。所述移動可以具有諸如位置、速度、方向、加速度(或減速度)以及曲率之類的特性??梢詼y量和/或計算全部或部分特性以預(yù)測未來的觸點位置。例如,快速移動的觸點可以導(dǎo)致預(yù)測下一觸點距離當(dāng)前點相對較遠(yuǎn)。曲線移動可以導(dǎo)致預(yù)測未來點偏離到當(dāng)前移動線路的一側(cè)??深A(yù)測多個未來點,以及/或者可以確定未來點的跨距(span)。所預(yù)測的未來點和/或所確定的跨距然后可用于確定從存儲器取回到本地高速緩存和/或被解碼的塊或掃描線。為了提高處理速度,壓縮后的觸覺數(shù)據(jù)的某些區(qū)域可以以未壓縮的形式存在于觸覺處理器的本地存儲器中。例如,當(dāng)觸覺反饋算法需要在每個觸覺循環(huán)中取回大量點時,這是有利的。在此情況下,無需在運(yùn)行中查找或解壓縮數(shù)據(jù)可以提高操作速度并改進(jìn)觸覺反饋的功能。例如,本地存儲器中的解壓縮區(qū)域可以為ID表面的若干8X8塊,具體取決于可用內(nèi)存量。因此,如果用戶界面保持相對靜止并且用戶界面元素幾乎不包括動畫或移動,則可以促進(jìn)快速數(shù)據(jù)取回。非靜態(tài)用戶界面的區(qū)域中的塊可以從高速緩存中刪除并不隨新數(shù)據(jù)進(jìn)行壓縮。根據(jù)觸點位置X,Y,可以預(yù)測壓縮表面的哪些部分需要解壓縮以及可以從存儲器刪除哪些未壓縮數(shù)據(jù)。在圖8a中,示出手指在觸覺觸摸屏上的移動。塊800是手指當(dāng)前觸摸的區(qū)域。區(qū)域801覆蓋先前觸摸的塊,并且區(qū)域802示出預(yù)測用戶接下來要觸摸的塊。可以取回塊802并將其解壓縮到本地高速緩沖存儲器,以便在用戶觸摸移至新位置時,可以快速存取塊802。因此,舊塊801可以被從高速緩存刪除以釋放內(nèi)存,因為不再需要它們。在圖Sb中,示出針對觸覺數(shù)據(jù)解壓縮的移動的預(yù)測。白框815示出手指正在移動的最新預(yù)測。深灰框816示出可從塊高速緩存刪除的舊位置。使用由點C、NP和NA限定的預(yù)測矩形區(qū)域解壓縮塊。由點C、NP和NA限定的三角形還可用于獲取更精確的塊解壓縮并避免解壓縮不需要的塊。使用點高速緩存存儲例如最后8個或任何固定數(shù)量的先前坐標(biāo)。圖8b中示出來自點高速緩存的當(dāng)前手指位置C (cx,cy)、上一點P (px, py)以及平均點A(ax, ay )。還示出了所預(yù)測的點NP和NA??墒褂命cC、P和A按照以下方式計算所預(yù)測的點NP和NA。移動速度確定由點C、NP和NA限定的預(yù)計三角形的大小。實際上,從C到NA以及從C到NP的距離可以被設(shè)為等于從當(dāng)前點C到“上一”點P的距離。從C到點NA和NP的夾角可以被設(shè)為等于從C到點A和P的夾角,但是與從C到點A和P的夾角相比,其在另一側(cè)。換言之,點P相對于點C的鏡像定義點NP。點NA然后相對于點C從點A投射到線A-C的延長線上并且到C的距離等于點NP到點C的距離。這使得預(yù)測基于移動的當(dāng)前位置、速度和方向以及移動曲率。觸覺數(shù)據(jù)塊高速緩存可以包含塊的索引表,以便可以快速從存儲器中找到塊,然后可以直接使用解壓縮后的塊數(shù)據(jù)??梢詣?chuàng)建索引表,因為塊在高速緩存中可能未按順序排列。下面提供塊高速緩存的一個實例實施例的偽代碼。首先,確定當(dāng)前觸摸位置。然后將“上一點”(即,過去的軌跡點)計算為當(dāng)前點(5%)和上一點(95%)的加權(quán)平均值。換言之,在當(dāng)前點停留在同一位置時,上一點開始接近當(dāng)前點,但是變化并不突然。不允許上一點太遠(yuǎn),如果太遠(yuǎn),則重置高速緩存-這被解釋為發(fā)生跳轉(zhuǎn)。接下來,將當(dāng)前點添加到點高速緩存。然后,計算來自點高速緩存的中間(平均)坐標(biāo)點。接著,使用由上一點和當(dāng)前點 形成的兩個向量的點積來計算預(yù)計夾角。該夾角還展示出在一段時間內(nèi)的平滑行為,即,該夾角被緩慢更新。接下來,確定該夾角兩邊處的兩個預(yù)計點首先,通過相對于點C執(zhí)行鏡像獲取點NP,然后將點NA定義為具有到C的相同距離并且位于所計算的與線C-NA的預(yù)計夾角中。然后解壓縮由所述三個點(兩個預(yù)計點以及當(dāng)前點)限定的矩形中的塊。/*計算當(dāng)前點C*/
cx=curreiit_toiichJocatioii_xO;cy=current_toiich_!ocatioii_yO*
/*計算新的上一點P (95% P,5% C)*/px=p\· 0.95+cx*0.05;
py=py*0.95+cy*0J5;
/*檢查上一點是否太遠(yuǎn)*/if ( (distance (ex, cy, px, py) > BIG— DISTANCE){
resetPointCache (ex, cy); px=cx;
py=^y ·
}
/*將當(dāng)前點C添加到點高速緩存*/
adiPointToCacie (cit cy);
/*計算來自點高速緩存的平均坐標(biāo)崩calcAverage (&ai, &ay); /*計算雨量C-P和C-A之閡的點翁*/dotp=clot|)roduct (cx-px, cy-py, c\-a\, cy-av);
/*計算爾量C-P和C-A之闊的夾角*1
權(quán)利要求
1.一種用于提供觸覺反饋的方法,包括 -自動確定關(guān)于用戶輸入的位置和移動的信息, -基于所述位置信息將當(dāng)前觸覺數(shù)據(jù)取回到存儲器, -根據(jù)所述關(guān)于位置和移動的信息自動預(yù)測所述用戶輸入的未來位置, -將與所述未來位置相關(guān)的未來觸覺數(shù)據(jù)取回到所述存儲器,以及 -根據(jù)所取回的當(dāng)前和未來觸覺數(shù)據(jù)自動產(chǎn)生觸覺反饋。
2.根據(jù)權(quán)利要求I的方法,還包括 -將所述觸覺數(shù)據(jù)壓縮到存儲器,以及 -根據(jù)用于將所述未來觸覺數(shù)據(jù)取回到存儲器的所預(yù)測的未來位置來解壓縮所壓縮的觸覺數(shù)據(jù)。
3.根據(jù)權(quán)利要求I或2的方法,還包括 -根據(jù)當(dāng)前位置、至少一個過去位置、所述當(dāng)前位置和所述至少一個過去位置的距離以及從所述至少一個過去位置到所述當(dāng)前位置的方向來預(yù)測所述未來位置。
4.根據(jù)權(quán)利要求1、2或3的方法,還包括 -將所述觸覺數(shù)據(jù)壓縮到存儲器,其中通過包括行程長度編碼、掃描線編碼、基于塊的編碼、多通編碼、低通濾波、降尺度以及十中抽一采樣的組中的至少一項執(zhí)行所述壓縮。
5.根據(jù)權(quán)利要求I至4中任一項的方法,還包括 -響應(yīng)于在過去未使用所述觸覺數(shù)據(jù)或者響應(yīng)于預(yù)測在未來不使用所述觸覺數(shù)據(jù)而從所述存儲器刪除所述觸覺數(shù)據(jù)。
6.根據(jù)權(quán)利要求I至5中任一項的方法,還包括 -使用適于圖形呈現(xiàn)的硬件來生成所述觸覺數(shù)據(jù)。
7.根據(jù)權(quán)利要求I至6中任一項的方法,還包括 -響應(yīng)于用戶界面的變化而生成所述觸覺數(shù)據(jù),以及 -將所述觸覺數(shù)據(jù)更新到所述存儲器。
8.根據(jù)權(quán)利要求I至7中任一項的方法,還包括 -從所述觸覺數(shù)據(jù)確定紋理信息,其中所述紋理信息是包括紋理像素、致動器使用參數(shù)和用于驅(qū)動致動器的程序代碼的組中的至少一項。
9.根據(jù)權(quán)利要求I至8中任一項的方法,還包括 -通過響應(yīng)于所述觸覺數(shù)據(jù)而驅(qū)動所述致動器來產(chǎn)生所述觸覺反饋,其中所述觸覺數(shù)據(jù)指示諸如柔軟度、圖案和彈性的材料性質(zhì)。
10.根據(jù)權(quán)利要求I至9中任一項的方法,還包括 -根據(jù)使用所述位置信息和觸覺數(shù)據(jù)的距離計算來產(chǎn)生所述觸覺反饋,其中首先使用觸覺數(shù)據(jù)塊并且隨后使用觸覺數(shù)據(jù)像素來執(zhí)行所述距離計算。
11.一種包括至少一個處理器、至少一個存儲器的裝置,所述存儲器包括計算機(jī)程序代碼,所述至少一個存儲器和所述計算機(jī)程序代碼被配置為與所述至少一個處理器一起導(dǎo)致所述裝置執(zhí)行至少以下操作 -確定關(guān)于用戶輸入的位置和移動的信息, -基于所述位置信息將當(dāng)前觸覺數(shù)據(jù)取回到所述存儲器, -根據(jù)所述關(guān)于位置和移動的信息預(yù)測所述用戶輸入的未來位置,-將與所述未來位置相關(guān)的未來觸覺數(shù)據(jù)取回到所述存儲器,以及 -根據(jù)所取回的當(dāng)前和未來觸覺數(shù)據(jù)產(chǎn)生觸覺反饋。
12.根據(jù)權(quán)利要求11的裝置,還包括被配置為與所述處理器一起導(dǎo)致所述裝置執(zhí)行至少以下操作的計算機(jī)程序代碼 -將所述觸覺數(shù)據(jù)壓縮到存儲器,以及 -根據(jù)用于將所述未來觸覺數(shù)據(jù)取回到存儲器的所預(yù)測的未來位置來解壓縮所壓縮的觸覺數(shù)據(jù)。
13.根據(jù)權(quán)利要求11或12的裝置,還包括被配置為與所述處理器一起導(dǎo)致所述裝置執(zhí)行至少以下操作的計算機(jī)程序代碼 -根據(jù)當(dāng)前位置、至少一個過去位置、所述當(dāng)前位置和所述至少一個過去位置的距離以及從所述至少一個過去位置到所述當(dāng)前位置的方向來預(yù)測所述未來位置。
14.根據(jù)權(quán)利要求11、12或13的裝置,還包括被配置為與所述處理器一起導(dǎo)致所述裝置執(zhí)行至少以下操作的計算機(jī)程序代碼 -將所述觸覺數(shù)據(jù)壓縮到存儲器,其中通過包括行程長度編碼、掃描線編碼、基于塊的編碼、多通編碼、低通濾波、降尺度以及十中抽一采樣的組中的至少一項執(zhí)行所述壓縮。
15.根據(jù)權(quán)利要求11至14中任一項的裝置,還包括被配置為與所述處理器一起導(dǎo)致所述裝置執(zhí)行至少以下操作的計算機(jī)程序代碼 -響應(yīng)于在過去未使用所述觸覺數(shù)據(jù)或者響應(yīng)于預(yù)測在未來不使用所述觸覺數(shù)據(jù)而從所述存儲器刪除所述觸覺數(shù)據(jù)。
16.根據(jù)權(quán)利要求11至15中任一項的裝置,還包括被配置為與所述處理器一起導(dǎo)致所述裝置執(zhí)行至少以下操作的計算機(jī)程序代碼 -使用適于圖形呈現(xiàn)的硬件來生成所述觸覺數(shù)據(jù)。
17.根據(jù)權(quán)利要求11至16中任一項的裝置,還包括被配置為與所述處理器一起導(dǎo)致所述裝置執(zhí)行至少以下操作的計算機(jī)程序代碼 -響應(yīng)于用戶界面的變化而生成所述觸覺數(shù)據(jù),以及 -將所述觸覺數(shù)據(jù)更新到所述存儲器。
18.根據(jù)權(quán)利要求11至17中任一項的裝置,還包括被配置為與所述處理器一起導(dǎo)致所述裝置執(zhí)行至少以下操作的計算機(jī)程序代碼 -從所述觸覺數(shù)據(jù)確定紋理信息,其中所述紋理信息是包括紋理像素、致動器使用參數(shù)和用于驅(qū)動致動器的程序代碼的組中的至少一項。
19.根據(jù)權(quán)利要求11至18中任一項的裝置,還包括被配置為與所述處理器一起導(dǎo)致所述裝置執(zhí)行至少以下操作的計算機(jī)程序代碼 -通過響應(yīng)于所述觸覺數(shù)據(jù)而驅(qū)動所述致動器來產(chǎn)生所述觸覺反饋,其中所述觸覺數(shù)據(jù)指示諸如柔軟度、圖案和彈性的材料性質(zhì)。
20.根據(jù)權(quán)利要求11至19中任一項的裝置,還包括被配置為與所述處理器一起導(dǎo)致所述裝置執(zhí)行至少以下操作的計算機(jī)程序代碼 -根據(jù)使用所述位置信息和觸覺數(shù)據(jù)的距離計算來產(chǎn)生所述觸覺反饋,其中首先使用觸覺數(shù)據(jù)塊并且隨后使用觸覺數(shù)據(jù)像素來執(zhí)行所述距離計算。
21.一種根據(jù)權(quán)利要求11至20中任一項的裝置,包括-主處理器以及在操作上與所述主處理器相連的系統(tǒng)存儲器, -觸覺處理器以及在操作上與所述觸覺處理器相連的本地存儲器, -位于所述主處理器和所述觸覺處理器以及/或者所述系統(tǒng)存儲器和所述本地存儲器之間的數(shù)據(jù)總線,以及 -被配置為與所述至少一個處理器一起導(dǎo)致所述裝置將所述觸覺數(shù)據(jù)和所述未來觸覺數(shù)據(jù)取回到所述本地存儲器中的計算機(jī)程序代碼。
22.根據(jù)權(quán)利要求21的裝置,還包括被配置為與所述處理器一起導(dǎo)致所述裝置執(zhí)行至少以下操作的計算機(jī)程序代碼 -響應(yīng)于所述用戶界面的變化而將所述觸覺數(shù)據(jù)更新到所述本地存儲器中,以及 -將所述未來觸覺數(shù)據(jù)解壓縮到所述本地存儲器中。
23.一種包括至少一個處理器、至少一個存儲器的系統(tǒng),所述存儲器包括計算機(jī)程序代碼,所述至少一個存儲器和所述計算機(jī)程序代碼被配置為與所述至少一個處理器一起導(dǎo)致所述系統(tǒng)執(zhí)行至少以下操作 -確定關(guān)于用戶輸入的位置和移動的信息, -基于所述位置信息將當(dāng)前觸覺數(shù)據(jù)取回到所述存儲器, -根據(jù)所述關(guān)于位置和移動的信息預(yù)測所述用戶輸入的未來位置, -將與所述未來位置相關(guān)的未來觸覺數(shù)據(jù)取回到所述存儲器,以及 -根據(jù)所取回的當(dāng)前和未來觸覺數(shù)據(jù)產(chǎn)生觸覺反饋。
24.根據(jù)權(quán)利要求23的系統(tǒng),其中所述系統(tǒng)還包括 -主處理器以及在操作上與所述主處理器相連的系統(tǒng)存儲器, -觸覺處理器以及在操作上與所述觸覺處理器相連的本地存儲器, -位于所述主處理器和所述觸覺處理器以及/或者所述系統(tǒng)存儲器和所述本地存儲器之間的數(shù)據(jù)連接,以及 -被配置為與所述至少一個處理器一起導(dǎo)致所述系統(tǒng)將所述觸覺數(shù)據(jù)和所述未來觸覺數(shù)據(jù)取回到所述本地存儲器中的計算機(jī)程序代碼。
25.—種諸如芯片或獨立模塊的模塊,所述模塊包括處理器、包含計算機(jī)程序代碼的存儲器,所述存儲器和所述計算機(jī)程序代碼被配置為與所述處理器一起導(dǎo)致所述模塊執(zhí)行至少以下操作 -形成關(guān)于用戶輸入的位置和移動的信息, -基于所述位置信息將當(dāng)前觸覺數(shù)據(jù)取回到所述存儲器, -形成所述用戶輸入的未來位置,所述未來位置基于所述關(guān)于位置和移動的信息, -將與所述未來位置相關(guān)的未來觸覺數(shù)據(jù)取回到所述存儲器,以及 -根據(jù)所取回的當(dāng)前和未來觸覺數(shù)據(jù)提供用于產(chǎn)生觸覺反饋的信號。
26.一種存儲在非臨時計算機(jī)可讀介質(zhì)上并且可在數(shù)據(jù)處理設(shè)備中執(zhí)行的計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品包括 -用于確定關(guān)于用戶輸入的位置和移動的信息的計算機(jī)程序代碼部分, -用于基于所述位置信息將當(dāng)前觸覺數(shù)據(jù)取回到存儲器的計算機(jī)程序代碼部分, -用于根據(jù)所述關(guān)于位置和移動的信息預(yù)測所述用戶輸入的未來位置的計算機(jī)程序代碼部分,-用于將與所述未來位置相關(guān)的未來觸覺數(shù)據(jù)取回到所述存儲器的計算機(jī)程序代碼部分,以及 -用于根據(jù)所取回的當(dāng)前和未來觸覺數(shù)據(jù)產(chǎn)生觸覺反饋的計算機(jī)程序代碼部分。
27.一種裝置,包括 -用于處理數(shù)據(jù)和計算機(jī)程序代碼的處理器, -用于確定關(guān)于用戶輸入的位置和移動的信息的部件, -用于基于所述位置信息將當(dāng)前觸覺數(shù)據(jù)取回到存儲器的部件, -用于根據(jù)所述關(guān)于位置和移動的信息預(yù)測所述用戶輸入的未來位置的部件, -用于將與所述未來位置相關(guān)的未來觸覺數(shù)據(jù)取回到所述存儲器的部件,以及 -用于根據(jù)所取回的當(dāng)前和未來觸覺數(shù)據(jù)產(chǎn)生觸覺反饋的部件。
全文摘要
本發(fā)明涉及為電子設(shè)備的用戶提供觸覺反饋。使用關(guān)于用戶界面上的觸覺元素的空間信息來創(chuàng)建與用戶界面元素相關(guān)的觸覺反饋。所述空間信息例如以壓縮和/或編碼的形式駐留在存儲器中,以便節(jié)省內(nèi)存并提高操作速度。所述空間信息在需要時被解碼或解壓縮,此外,布置觸覺高速緩存,在該處提前解壓縮可能立即需要的空間信息。此預(yù)測性解壓縮被布置為基于用戶界面上的用戶輸入的移動來完成。例如,將用戶可能立即觸摸的塊解壓縮到所述觸覺高速緩存。
文檔編號G06F3/01GK102971689SQ201080067797
公開日2013年3月13日 申請日期2010年6月28日 優(yōu)先權(quán)日2010年6月28日
發(fā)明者M·派索寧 申請人:諾基亞公司