被配置為隨時間確定構(gòu)件(例如,手指、觸筆等)相對于顯示器的位置的計算設(shè)備變得普遍存在。例如,移動電話、平板(板狀)計算設(shè)備、膝上型計算設(shè)備、大規(guī)模設(shè)備(諸如可以在博物館、在會議等找到的那些)當(dāng)前正被制造為包括觸敏顯示器。此外,諸如視頻游戲控制臺、機頂盒和電視之類的常規(guī)計算設(shè)備已經(jīng)被配置為基于捕獲的(深度和/或RGB)用戶的圖像來識別用戶相對于顯示器的手臂、手指、頭部等的位置。
通常,對于許多這些設(shè)備,以相對低的速率計算構(gòu)件的位置。例如,包括在觸敏設(shè)備中的常規(guī)觸摸控制器以60與120Hz之間的采樣率操作。該采樣速率不夠快以跟上在顯示器上快速移動的構(gòu)件,導(dǎo)致用戶感知到滯后,這可能負面地影響用戶的體驗。
技術(shù)實現(xiàn)要素:
以下是本文更詳細描述的主題的簡要概述。本發(fā)明內(nèi)容不旨在限制權(quán)利要求的范圍。
本文描述了計算裝置。該計算裝置包括預(yù)測器組件,其被配置為預(yù)測針對要顯示的相應(yīng)多個顯示幀的構(gòu)件相對于顯示器的位置,該預(yù)測器組件被配置為基于傳感器信號的樣本來預(yù)測構(gòu)件的位置。該計算裝置還包括操作組件,其被配置為基于由預(yù)測器組件預(yù)測的構(gòu)件的位置來使多個顯示幀顯示在顯示器上。
附圖說明
圖1是具有在其上相對快速移動的構(gòu)件的觸敏顯示器的等距視圖。
圖2示出了被配置為跟蹤用戶隨時間的運動的示例性系統(tǒng)。
圖3是配置成模擬構(gòu)件相對于顯示器的位置的實時檢測的示例性計算裝置的功能框圖。
圖4是配置成模擬構(gòu)件相對于顯示器的位置的實時檢測的示例性計算裝置的功能框圖。
圖5是示例性預(yù)測器組件的功能框圖,該預(yù)測器組件被配置為預(yù)測將在顯示器上顯示的若干幀的構(gòu)件相對于顯示器的位置。
圖6是被配置為學(xué)習(xí)預(yù)測器組件的示例性系統(tǒng)的功能框圖。
圖7示出了被配置為校準(zhǔn)預(yù)測器組件的示例性系統(tǒng)。
圖8是示出用于模擬構(gòu)件相對于觸摸敏感顯示器的位置的實時檢測的示例性方法的流程圖。
圖9是示出用于基于構(gòu)件相對于顯示器的預(yù)測位置來執(zhí)行計算操作的示例性方法的流程圖。
圖10是示出用于學(xué)習(xí)計算機實現(xiàn)的模型的示例性方法的流程圖,該方法有助于預(yù)測構(gòu)件相對于顯示器的位置。
圖11示出了示例性計算裝置。
具體實施方式
現(xiàn)在參考附圖描述與模擬構(gòu)件相對于顯示器的位置的實時檢測有關(guān)的各種技術(shù),其中相同的附圖標(biāo)記用于指代相同的元件。在下面的描述中,為了解釋的目的,闡述了許多具體細節(jié)以便提供對一個或多個方面的透徹理解。然而,可以顯而易見的是,這樣的方面可以在沒有這些具體細節(jié)的情況下實施。在其他實例中,以框圖形式示出了公知的結(jié)構(gòu)和設(shè)備,以便于描述一個或多個方面。此外,應(yīng)當(dāng)理解,被描述為由某些系統(tǒng)組件執(zhí)行的功能可以由多個組件執(zhí)行。類似地,例如,組件可以被配置為執(zhí)行被描述為由多個組件執(zhí)行的功能。
此外,術(shù)語“或”旨在表示包含性的“或”而不是排他性的“或”。也就是說,除非另有說明或者從上下文清楚可見,否則短語“X使用A或B”旨在表示任何自然的包括性排列。也就是說,短語“X使用A或B”通過以下任何實例來滿足:X使用A;X使用B;或X使用A和B兩者。此外,除非另有說明或從上下文清楚可見為指向單數(shù)形式,本申請和所附權(quán)利要求中使用的冠詞“一”和“一個”通常應(yīng)被解釋為意指“一個或多個”。
此外,如本文所使用的,術(shù)語“組件”和“系統(tǒng)”旨在包括配置有計算機可執(zhí)行指令的計算機可讀數(shù)據(jù)存儲器,該指令使得當(dāng)由處理器執(zhí)行時執(zhí)行某些功能。計算機可執(zhí)行指令可以包括例程、函數(shù)等。還應(yīng)當(dāng)理解,組件或系統(tǒng)可以位于單個設(shè)備上或分布在多個設(shè)備上。此外,如本文所使用的,術(shù)語“示例性”旨在表示用作某事物的圖示或示例,并且不旨在指示偏好。
現(xiàn)在參考圖1,示出了示例性觸敏顯示器100的等距視圖。觸敏顯示器100可以包括在移動電話中、平板(板狀)計算設(shè)備中、膝上型計算設(shè)備中、一體化計算設(shè)備中、大規(guī)模顯示器中(如可以在博物館、會議等發(fā)現(xiàn)的)等等。構(gòu)件102被示為與觸敏顯示器100的表面103接觸。構(gòu)件102可以是手指、觸筆或可以用于與包括觸敏顯示器100或與觸敏顯示器100通信的計算設(shè)備交互的其他合適的機構(gòu)。附加地,觸敏顯示器100可以被配置為檢測構(gòu)件102何時懸停在觸敏顯示器100上。因此,雖然本文所闡述的示例將構(gòu)件102描述為與觸敏顯示器100的表面103物理接觸,但是應(yīng)當(dāng)理解,本文所描述的特征可應(yīng)用于觸敏顯示器100,其被配置以在構(gòu)件102懸停在觸敏顯示器100的表面103上時檢測構(gòu)件102相對于觸敏顯示器100的位置。
在圖1所示的示例中,構(gòu)件102已經(jīng)在觸摸敏感顯示器100的表面103上移動以形成軌跡104。軌跡可以被定義為在檢測到發(fā)起事件之后并且在檢測到終止事件之前,構(gòu)件102相對于觸敏顯示器100的運動。在圖1所示的示例中,發(fā)起事件是構(gòu)件102接觸觸敏顯示器100的表面103,并且終止事件是構(gòu)件102從觸敏顯示器100的表面103移除接觸。軌跡104由構(gòu)件102在這些事件之間沿著觸敏顯示器100的表面103移動而形成。然后,軌跡104由觸敏顯示器100上的(檢測到的)位置定義,其中構(gòu)件102在發(fā)起事件與終止事件之間在觸敏顯示器100的表面103上接觸。在懸停的示例中,發(fā)起事件可以是構(gòu)件102進入距離顯示器100的表面103的某個閾值距離內(nèi),并且終止事件可以是當(dāng)構(gòu)件102遠離顯示器100的表面103移動時,使得構(gòu)件102不再在閾值距離內(nèi)。
為了增強用戶體驗,期望觸敏顯示器100實時地響應(yīng)來自用戶(通過構(gòu)件102)的輸入。例如,對于觸敏顯示器100可能期望的是在觸敏顯示器100上繪制軌跡104的至少部分,隨著這些部分正在形成(例如,向用戶指示通過觸敏顯示器100正在檢測的是什么)。這可以向用戶提供關(guān)于觸敏顯示器100上的什么位置已被標(biāo)識為包括在軌跡104中的視覺反饋。例如,當(dāng)計算裝置正在執(zhí)行筆記記錄應(yīng)用時,其中用戶可以經(jīng)由軌跡形成字母、單詞等,期望提供視覺反饋以向用戶指示用戶提出的軌跡已經(jīng)被計算裝置正確地解釋。在另一示例中,消息應(yīng)用解碼軌跡以識別要傳送給至少一個其他人的單詞。如上所述,常規(guī)觸敏顯示器中的觸摸控制器以相對較慢的速率計算位置信息,使得當(dāng)構(gòu)件在顯示器的表面上相對快速地移動時,滯后是顯著的。
根據(jù)本文描述的方面,包括觸敏顯示器100的計算裝置被配置為模擬構(gòu)件102的位置的實時檢測。因此,當(dāng)構(gòu)件102在顯示器100的表面103上移動時,可以實時地在顯示器100上顯示軌跡104的至少最近生成的部分。通過實時地模擬位置檢測,用戶可以感覺到觸敏顯示器100對通過構(gòu)件102從用戶輸入的實時響應(yīng)性。例如,關(guān)于上述筆記記錄應(yīng)用,計算裝置可以向用戶提供類似于采用筆和紙的用戶的手寫體驗。
如圖1所示,用戶已經(jīng)使得構(gòu)件102在觸敏顯示器100的表面103上形成軌跡104,其中當(dāng)用戶正在觀看的幀被顯示在顯示器100上時,構(gòu)件102處于觸敏顯示器100的表面103上的位置106(例如,X、Y位置)。觸敏顯示器100可以包括傳感器和觸摸控制器(未示出),其中觸摸控制器接收由傳感器輸出的數(shù)據(jù),并基于由傳感器輸出的數(shù)據(jù)計算構(gòu)件102在顯示器100的表面103上的位置(例如,X、Y坐標(biāo))。然而,由于觸摸控制器的相對低的采樣率,當(dāng)幀被顯示在顯示器上時,觸摸控制器計算構(gòu)件102的位置處于位置108。因此,當(dāng)幀被呈現(xiàn)用于在顯示器100上觀看時,由觸摸控制器報告的構(gòu)件102的位置是“舊的”——例如,構(gòu)件102已經(jīng)從軌跡104中的經(jīng)計算的位置108移動到其實際位置106。
如上所述,本文描述的方面便于實時地模擬位置計算(例如,用戶感知觸敏顯示器實時或接近實時地響應(yīng))。在一個示例中,包括觸敏顯示器的計算裝置可以預(yù)測要在觸敏顯示器100上顯示的幾個幀的構(gòu)件102的位置。此外,計算裝置可以被配置為基于預(yù)測位置中的至少一個預(yù)測位置來執(zhí)行計算操作。相應(yīng)地,當(dāng)幀被呈現(xiàn)在顯示器100上時,將已經(jīng)為幀(準(zhǔn)確地)預(yù)測顯示器的表面103上的構(gòu)件102的位置,使得用戶感知到顯示器100實時地對通過構(gòu)件102提出的輸入進行響應(yīng)。
在示例中,計算操作可以是實時地顯示軌跡104的至少一部分。該效果是減輕與常規(guī)觸敏顯示器相關(guān)聯(lián)的滯后(例如,至少部分地由觸摸控制器的相對低的采樣率引起)。如將在本文中更詳細地描述的,計算裝置可以被配置為針對要在顯示器100上顯示的接下來n個幀中的每個幀來預(yù)測構(gòu)件102相對于顯示器100的位置,其中n是大于1的整數(shù)。計算裝置可以被配置為基于由傳感器輸出的最新數(shù)據(jù)、先前接收的傳感器數(shù)據(jù)、由觸摸控制器報告的最近(和之前)位置等來預(yù)測這樣的位置。
雖然已經(jīng)關(guān)于預(yù)測單個構(gòu)件的位置描述了圖1所示的示例,但是應(yīng)當(dāng)理解,本文描述的方面支持多個構(gòu)件相對于觸敏顯示器100的表面103的位置的同時預(yù)測。也就是說,當(dāng)觸敏顯示器支持多點觸摸功能時,包括觸敏顯示器100的計算裝置可以被配置為預(yù)測與觸敏顯示器100的表面103接觸的幾個構(gòu)件的觸摸點。
現(xiàn)在轉(zhuǎn)到圖2,示出了被配置為模擬構(gòu)件相對于顯示器的位置的實時檢測的示例性系統(tǒng)200。系統(tǒng)200包括顯示器202,其可以是電視、投影屏幕等。例如,顯示器202可以不具有觸敏能力。系統(tǒng)200還包括傳感器204,該傳感器204被配置為輸出指示用戶206的至少一個構(gòu)件相對于顯示器202的位置的數(shù)據(jù)。在示例中,傳感器204可以被配置為輸出一個或多個視頻流、一個或多個深度流(例如,深度圖像流)等。
系統(tǒng)200還可以包括與傳感器204和顯示器202通信的計算裝置208。例如,傳感器204可以在計算裝置208的內(nèi)部。根據(jù)一個示例,計算裝置208可以是視頻游戲控制臺、機頂盒、電視內(nèi)部等。計算裝置208被配置為接收由傳感器204輸出的數(shù)據(jù),并計算用戶206的至少一個構(gòu)件相對于顯示器202的位置。在圖2所示的示例中,計算裝置208可以被配置為隨著用戶206移動右臂來計算用戶206的右臂相對于顯示器202的位置。
用戶206可以通過相對于顯示器202移動右臂來形成軌跡210,其中響應(yīng)于計算裝置208檢測到發(fā)起事件而發(fā)起軌跡210,并且響應(yīng)于計算裝置208檢測到終止事件而終止軌跡210。因此,在該示例中,計算裝置208監(jiān)視用戶206的右臂的移動以檢測軌跡210。在其他示例中,可以通過用戶206的頭部、用戶206的左手臂、用戶206的手指、通過用戶206的眼睛的移動等的移動來形成軌跡210。計算裝置208與顯示器202通信,并且可以基于計算出的用戶206的構(gòu)件相對于顯示器202的位置以及針對要在顯示器202上顯示的多個幀的用戶206的構(gòu)件相對于顯示器的預(yù)測位置而在顯示器202上呈現(xiàn)數(shù)據(jù)。
更詳細地,類似于上文所描述的,傳感器204被配置為捕獲例如用戶206的圖像并將這樣的圖像輸出到計算裝置208。計算裝置208被配置為基于由傳感器204輸出的圖像來識別用戶206的構(gòu)件相對于顯示器202的位置。在計算裝置208接收圖像、分析圖像并且計算用戶206的構(gòu)件相對于顯示器202的位置的時候,然而,用戶206的構(gòu)件已經(jīng)從這樣的位置移動到不同的位置。再次地,如果不考慮,這可以向用戶206提供滯后感覺(例如,用戶206可以感知計算裝置208不立即響應(yīng)于由用戶206執(zhí)行的手勢)。
計算裝置208被配置為通過針對將在顯示器202上呈現(xiàn)的接下來n個幀預(yù)測構(gòu)件相對于顯示器202的位置來減輕該滯后。因此,對于幀0(在當(dāng)前時間t0處示出),計算裝置208將已經(jīng)預(yù)測了用戶206的構(gòu)件相對于顯示器的當(dāng)前位置(X0,Y0)。同樣,對于幀1(緊接著在時間t0處的幀0顯示),計算裝置208將已經(jīng)預(yù)測了針對這種幀的用戶206的構(gòu)件的位置(X1,Y1)。繼續(xù)該示例,對于幀n(要在時間tn處顯示在顯示器202上),計算裝置208將已經(jīng)預(yù)測了針對該幀的用戶206的構(gòu)件的位置(Xn,Yn)。當(dāng)幀被顯示時,這些預(yù)測位置被更新,使得模擬用戶206的構(gòu)件相對于顯示器的位置的實時檢測。類似于上面已經(jīng)描述的,計算裝置208可以支持多個構(gòu)件的移動的同時檢測,并且可以進一步支持預(yù)測針對n個幀的多個構(gòu)件的位置。
現(xiàn)在參考圖3,示出了示例性計算裝置300的功能框圖。在示例中,計算裝置300可以是移動電話、平板(板狀)計算設(shè)備、膝上型計算設(shè)備、一體化計算設(shè)備或者包括觸敏顯示器或與觸敏顯示器通信的任何合適的計算設(shè)備。計算裝置300包括(或與之通信的)顯示器302,該顯示器302可以包括用于向用戶呈現(xiàn)數(shù)據(jù)的任何合適的顯示技術(shù)。例如,顯示器302可以是或包括液晶顯示器(LCD)、發(fā)光二極管(LED)顯示器等。
計算裝置300還包括多個傳感器304-306,其被配置為輸出指示構(gòu)件是否與顯示器302的暴露表面接觸和/或構(gòu)件是否懸停在顯示器上的傳感器數(shù)據(jù)。此外,傳感器數(shù)據(jù)可以指示構(gòu)件相對于顯示器302的位置(例如,構(gòu)件與顯示器302接觸的顯示器302的(X,Y)坐標(biāo))。傳感器304-306可以是或者包括電容傳感器,電阻傳感器或其他合適的傳感器,并且可以被配置為當(dāng)構(gòu)件與顯示器302接觸或懸停在顯示器302上時輸出指示構(gòu)件相對于顯示器302的位置的數(shù)據(jù)。例如,傳感器304-306可以耦合到網(wǎng)格的導(dǎo)電線,其中網(wǎng)格中的線之間的電容指示該構(gòu)件是否與顯示器302接觸(或懸停在顯示器上),并且進一步指示構(gòu)件相對于顯示器302的位置。
計算裝置300附加地包括可操作地耦合到傳感器304-306的觸摸控制器308。觸摸控制器308被配置為基于由傳感器304-306輸出的傳感器數(shù)據(jù)來計算與顯示器302接觸或懸停在顯示器302上的一個或多個構(gòu)件的位置數(shù)據(jù)(例如,(X,Y)坐標(biāo))。觸摸控制器308可以采樣由傳感器304-306輸出的傳感器信號,并且可以以小于實時的采樣率來計算位置信息。例如,觸摸控制器308可以具有在60Hz與1000Hz之間的采樣率。在另一示例中,觸摸控制器308可以具有在60Hz與240Hz之間的采樣率。在又一示例中,觸摸控制器308可以具有在60Hz與120Hz之間的采樣率。
計算裝置300附加地包括處理器310和存儲器312,其中處理器310被配置為執(zhí)行存儲器312中的指令。存儲器312包括操作系統(tǒng)314和可由處理器310在操作系統(tǒng)314之上執(zhí)行的多個應(yīng)用316-318。在示例中,操作系統(tǒng)314和/或應(yīng)用316-318中的至少一個應(yīng)用可以接收由觸摸控制器308輸出的位置信息(例如,構(gòu)件的(X,Y)坐標(biāo)),并且可以使得操作基于由觸摸控制器308報告的位置信息而被執(zhí)行。可以由操作系統(tǒng)314和/或應(yīng)用316-318中的至少一個應(yīng)用執(zhí)行的示例性操作可以包括使得在顯示器上呈現(xiàn)圖形內(nèi)容、發(fā)起應(yīng)用,選擇圖形按鈕以及其他操作。
存儲器312還可以包括預(yù)測器組件320,其被配置為針對要在顯示器302上顯示的多個幀來預(yù)測構(gòu)件相對于顯示器302的位置。例如,預(yù)測器組件320可以預(yù)測針對要在顯示器302上顯示的接下來n個幀的構(gòu)件的位置,其中n是大于零的整數(shù)。例如,預(yù)測器組件320可以基于顯示器302的幀率和/或觸摸控制器308的采樣率來確定n。因此,當(dāng)在顯示器302上顯示幀時,預(yù)測器組件320將已經(jīng)計算了用于這種幀的構(gòu)件相對于顯示器302的位置的預(yù)測。該預(yù)測有效地允許計算裝置300模擬對由用戶做出的手勢(諸如滑動、多手指手勢、敲擊等)的實時交互響應(yīng)性。
如本文將更詳細地描述的,預(yù)測器組件320可以基于由傳感器304-306輸出的信號來預(yù)測多個幀的位置。在示例中,預(yù)測器組件320可以接收由傳感器304-306中的至少一個傳感器輸出的原始數(shù)據(jù),并且可以基于原始傳感器數(shù)據(jù)來預(yù)測針對多個幀的構(gòu)件相對于顯示器302的位置。該原始傳感器數(shù)據(jù)可以包括活動的傳感器304-306中的傳感器的標(biāo)識、由傳感器輸出的原始(未過濾)值、原始圖像等。在其他示例中,預(yù)測器組件320可以基于與軌跡有關(guān)的以下任何一者或多者來預(yù)測針對多個幀的構(gòu)件的位置:1)由觸摸控制器308報告的位置信息(例如,(X,Y)坐標(biāo));2)觸摸控制器308報告的觸摸點之間的經(jīng)計算的速度;3)觸摸控制器308報告的觸摸點之間的經(jīng)計算的加速度;4)構(gòu)件的類型的確定(例如,手指或觸筆);5)觸摸點的形狀(例如,由觸摸控制器308報告或通過原始傳感器數(shù)據(jù)的分析識別);6)在一個或多個觸摸點處檢測或計算的壓力;7)構(gòu)件相對于參考軸線的經(jīng)計算的取向(例如,基于橢圓接觸點的法向軸線計算);8)經(jīng)計算的觸點的橢圓高度和寬度;9)最近報告的觸摸點相對于顯示器302的邊緣的接近度;和/或10)計算裝置300的上下文(例如,當(dāng)觸摸控制器308報告觸摸點時,由計算裝置300的用戶利用的應(yīng)用的標(biāo)識)。還設(shè)想了其他數(shù)據(jù)。
在非限制性示例中,預(yù)測器組件320可以訪問對構(gòu)件與顯示器302之間的交互進行建模的物理模型321。例如,物理模型321可以建模構(gòu)件相對于顯示器302的速度,構(gòu)件相對于顯示器的方向的變化等。預(yù)測器組件320例如可以基于以下來采樣物理模型321:先前計算的物理構(gòu)件相對于顯示器302的位置、構(gòu)件在顯示器302上隨時間的估計和/或計算的速度、構(gòu)件在顯示器302上(例如,隨時間)的估計和/或計算的軌線、原始傳感器輸出、網(wǎng)格特征、其派生等。
物理模型321可以可選地包括阻力模型322,該阻力模型322對顯示器302相對于在顯示器302的表面上移動的構(gòu)件的物理阻力進行建模。例如,第一顯示器的第一顯示表面可以由第一材料構(gòu)成,而第二顯示器的第二顯示表面可以由第二材料構(gòu)成,其中第一材料具有與第二材料不同的摩擦系數(shù)。因此,例如,當(dāng)?shù)谝伙@示表面移動越過第一顯示表面時,第一顯示表面可以向構(gòu)件提供比由第二顯示表面提供的物理阻力的量更小的物理阻力。預(yù)測器組件320可以利用例如1)構(gòu)件是手指還是觸筆;2)施加到顯示器302的表面的壓力量;3)接觸區(qū)域的尺寸;以及4)當(dāng)訪問阻力模型322時,構(gòu)件在顯示器302的表面上的速度和/或加速度,并且可以估計顯示器302的表面與針對要在顯示器302上顯示的多個幀的構(gòu)件之間的物理阻力。也就是說,對于多個幀中的每個幀,預(yù)測器組件320可以計算指示構(gòu)件與顯示器302的表面之間的物理阻力的相應(yīng)值,并且可以基于經(jīng)計算的阻力值來計算針對這些幀的構(gòu)件的位置。這些阻力值對于預(yù)測位置是有用的,因為物理阻力可以影響構(gòu)件將在顯示器302的表面上加速或減速有多快。
存儲器312還可以包括操作組件324,其基于由預(yù)測器組件320計算的構(gòu)件相對于顯示器302的位置的至少一個預(yù)測來使得操作被執(zhí)行。例如,操作組件324可以在用戶的構(gòu)件實際觸摸代表應(yīng)用的圖形圖標(biāo)時(而不是在觸摸控制器308計算該構(gòu)件正在觸摸該圖形圖標(biāo)時)發(fā)起應(yīng)用的執(zhí)行。在又一示例中,計算裝置300可以包括顯示處理器326,并且操作組件324可以與顯示處理器326通信。顯示處理器326可以被配置為基于針對多個幀的構(gòu)件相對于顯示器302的預(yù)測位置(例如,由預(yù)測器組件320輸出),使得圖形數(shù)據(jù)呈現(xiàn)在顯示器302上。例如,當(dāng)幀將被顯示在顯示器302上時,操作組件324可以基于被預(yù)測為處于或接近構(gòu)件的位置的這樣的像素,使得一個或多個像素被分配給幀中的特定顏色。相應(yīng)地,例如,如果由構(gòu)件在顯示器302上執(zhí)行的軌跡被實時地顯示在顯示器302上,則由顯示處理器326呈現(xiàn)的幀將包括表示針對這樣的幀的構(gòu)件的預(yù)測位置的像素。效果是,從用戶的角度來看,當(dāng)通過構(gòu)件與顯示器302的交互來創(chuàng)建軌跡時,軌跡被實時地示出。
現(xiàn)在闡述關(guān)于預(yù)測器組件320的操作的附加細節(jié)。如前所述,預(yù)測器組件320可以通過使用一個或多個特征和/或信號對物理模型321進行采樣來預(yù)測構(gòu)件相對于顯示器302的位置。例如,預(yù)測器組件320可以使用由傳感器304-306輸出的原始傳感器數(shù)據(jù)對物理模型321進行采樣。該原始傳感器數(shù)據(jù)可以直接從傳感器304-306獲取或者可以通過觸摸控制器308傳遞。當(dāng)預(yù)測構(gòu)件的位置時,原始傳感器數(shù)據(jù)可能是有用的,因為其未被觸摸控制器308過濾。此外,預(yù)測器組件320可以使用由觸摸控制器308計算的構(gòu)件的位置對物理模型321進行采樣,以預(yù)測針對多個幀的構(gòu)件相對于顯示器302的位置。如可以確定的,這些先前位置可以指示構(gòu)件的運動方向,這在預(yù)測構(gòu)件的位置時是有用的。預(yù)測器組件320還可以基于計算的對應(yīng)于軌跡中的構(gòu)件的先前位置的構(gòu)件的速度和/或加速度來對物理模型321進行采樣。這些特征還指示將在顯示器302上顯示的針對接下來n個幀的構(gòu)件的位置。類似地,預(yù)測器組件320可以基于觸摸點的形狀和由構(gòu)件在觸摸點處施加到顯示器302的壓力來對物理模型進行采樣。觸摸點的形狀和在觸摸點處施加的壓力可以指示構(gòu)件可以多快地在顯示器302上行進(當(dāng)考慮構(gòu)件與顯示器302之間的阻力)以及構(gòu)件在顯示器302上的移動的方向。這樣的信息繼而指示構(gòu)件在接下來n個幀的位置。例如,檢測到的觸摸點的形狀的改變可以指示構(gòu)件在顯示器302的表面上的方向的改變。
預(yù)測器組件320還可以在計算針對要顯示的幀的構(gòu)件的位置的預(yù)測時考慮上下文。例如,當(dāng)用戶正在使用筆記記錄應(yīng)用時,用戶不太可能導(dǎo)致觸筆從顯示器轉(zhuǎn)移到計算裝置300的邊框。相應(yīng)地,由處理器310執(zhí)行的應(yīng)用的標(biāo)識或與計算裝置300相關(guān)聯(lián)的其他上下文可以指示構(gòu)件相對于顯示器302的移動。類似地,構(gòu)件的經(jīng)計算的位置和構(gòu)件相對于顯示器302的邊緣的預(yù)測位置可以指示當(dāng)顯示框架時構(gòu)件的位置。例如,當(dāng)由觸摸控制器308輸出的經(jīng)計算的位置指示構(gòu)件在顯示器302與邊框之間的邊界附近時,則(至少在一些情況下)可以推斷出用戶將改變構(gòu)件的方向,使得該構(gòu)件保持與顯示器302的表面接觸。在其他情況下,計算裝置300可以支持手勢,其中當(dāng)構(gòu)件從顯示器過渡到計算裝置300的邊框時發(fā)起某些功能。例如,當(dāng)構(gòu)件在跨越顯示器的方向上滑動時,可以呈現(xiàn)新的“頁面”,可以發(fā)起新的應(yīng)用等。預(yù)測器組件320可以基于計算裝置300的上下文、用戶對計算裝置300的歷史使用等推斷正在做出這樣的手勢,并且可以基于這樣的信息預(yù)測針對多個幀的構(gòu)件的位置。此外,預(yù)測器組件320可以使用線性和非線性建模來擬合觸摸點,以便于為要顯示的幀(例如,接下來的n個幀)預(yù)測構(gòu)件相對于顯示器302的位置。
雖然觸摸控制器308、處理器310、存儲器312和顯示處理器326被示為是分離的,但是應(yīng)當(dāng)理解,在示例性實施例中,兩個或更多個這樣的元件可以共同嵌入在單個芯片上(例如,可以包括在片上系統(tǒng)或芯片上群集設(shè)計中)。
現(xiàn)在參考圖4,示出了計算裝置208(圖2)的功能框圖。計算裝置208包括處理器402和存儲器404。存儲器404包括由處理器402執(zhí)行的操作系統(tǒng)406以及由處理器402在操作系統(tǒng)406之上執(zhí)行的多個應(yīng)用408-410。存儲器404附加地包括位置確定器組件412,其被配置為接收來自傳感器的視頻和/或深度流。位置確定器組件412可以分析視頻和/或深度流的內(nèi)容并計算構(gòu)件相對于傳感器的位置,并且因此相對于顯示器的位置,其中位置確定器組件412基于接收到的視頻和/或深度流來計算位置。
存儲器404還包括預(yù)測器組件320,該預(yù)測器組件320被配置為對物理模型321進行采樣,以預(yù)測針對要在顯示器202上顯示的多個幀的構(gòu)件相對于傳感器的位置(例如,接下來的n幀)。在該示例中,預(yù)測器組件320可以利用先前描述為由預(yù)測器組件320利用的至少一些信息來預(yù)測構(gòu)件的位置。預(yù)測器組件320可以在對物理模型321進行采樣時附加地使用其他信息,諸如在視頻和/或深度流中捕獲的用戶的尺寸,在視頻和/或深度流中捕獲的用戶的近似年齡(例如,某些尺寸和年齡的人們本質(zhì)上可以比其他人更快或更慢地移動手臂)等。存儲器404還包括操作組件324,其可以使得操作基于針對幀的構(gòu)件的預(yù)測位置而被執(zhí)行。輸出組件414可以生成用于在顯示器202上呈現(xiàn)的輸出視頻流,其中由輸出組件414輸出的視頻流的內(nèi)容可以是針對幀的構(gòu)件的預(yù)測位置的函數(shù)。同樣,效果是從用戶206的角度模擬實時響應(yīng)性。
現(xiàn)在參考圖5,示出了預(yù)測器組件320的功能框圖。預(yù)測器組件320可以包括構(gòu)件標(biāo)識符組件502,其可以標(biāo)識正在與顯示器交互的構(gòu)件的類型,以及這樣的構(gòu)件的其他參數(shù)。例如,構(gòu)件標(biāo)識符組件502可以基于當(dāng)構(gòu)件與顯示器接觸時的觸摸點的尺寸、當(dāng)構(gòu)件與顯示器接觸時的觸摸點的形狀、當(dāng)構(gòu)件接近或接觸顯示器時由傳感器檢測到的電容量等來消除手指與觸筆之間的歧義。在一些情況下,構(gòu)件可以被配置為與包括顯示器(或與顯示器通信)的計算裝置通信,并且構(gòu)件可以傳送指示在計算設(shè)備的表面上移動的構(gòu)件是觸筆。此外,構(gòu)件標(biāo)識符組件502可以標(biāo)識與構(gòu)件相對應(yīng)的參數(shù),諸如當(dāng)與顯示器接觸時構(gòu)件的(一般)大小,該構(gòu)件被制成的材料的類型(其可以基于觀察到的構(gòu)件相對于顯示器的速度和加速度來推斷)等。
預(yù)測器組件320還可選地包括上下文確定器組件504,當(dāng)該構(gòu)件用于與顯示器上的內(nèi)容交互時,該上下文確定器組件504可以確定包括預(yù)測器組件320的計算裝置的上下文。例如,上下文確定器組件504可以在構(gòu)件與顯示器接觸時識別由計算裝置執(zhí)行的應(yīng)用,可以識別在顯示器上描繪的屏幕(例如,“首頁(home)”屏幕)等。
預(yù)測器組件320還可以包括速度確定器組件506,其可以被配置為計算在一系列最近識別的觸摸點處的顯示器上的構(gòu)件的速度和/或加速度(例如,其中觸摸點已經(jīng)被觸摸控制器識別之處)。速度確定器組件506還可以計算在一系列最近的觸摸點處顯示器上的構(gòu)件的移動方向。
此外,預(yù)測器組件320可以可選地包括阻力估計器組件508,其可以被配置為訪問阻力模型322并估計針對多個幀的構(gòu)件與顯示器之間的物理阻力。例如,阻力模型322可以被配置成對于不同的壓力、構(gòu)件橫截面尺寸、速度、加速度等,對構(gòu)件與顯示器的表面之間的物理阻力進行建模,并且阻力估計器組件508可以被配置為計算指示針對接下來n個幀中的至少一個幀的這種阻力的值。附加地,阻力模型322可以考慮顯示器的材料的摩擦系數(shù)。預(yù)測器組件320可以基于這樣的數(shù)據(jù)對物理模型進行采樣。
因此,預(yù)測器組件320可以基于構(gòu)件的類型和由構(gòu)件標(biāo)識符組件502標(biāo)識的構(gòu)件的參數(shù),由上下文確定器組件504識別的計算裝置的上下文,由速度確定器組件506計算的構(gòu)件的速度、加速度和/或最近的運動方向,以及由阻力估計器組件508輸出的阻力值來預(yù)測要在顯示器上呈現(xiàn)的多個幀的構(gòu)件的位置。預(yù)測器組件320可以連續(xù)地預(yù)測針對接下來的n個幀的構(gòu)件的位置,使得當(dāng)顯示幀時更新(減少)與未來幀相關(guān)聯(lián)的不確定性。
現(xiàn)在參考圖6,示出了有助于構(gòu)建物理模型321的示例性系統(tǒng)600。計算設(shè)備602(例如,移動電話)可以具有觸敏顯示器603。機器人臂604可以相對于觸敏顯示器603被定位,并且可以具有附接到其上的構(gòu)件606,其中構(gòu)件606的位置、速度、加速度、接觸角等可以由機器人臂604控制。此外,機器人臂604上可以具有輸出指示構(gòu)件606的已知位置、運動方向、速度等的數(shù)據(jù)的傳感器。因此,當(dāng)機器人臂604在計算設(shè)備602的觸敏顯示器603上移動構(gòu)件606時,機器人臂604可以生成指示構(gòu)件606隨著時間相對于觸敏顯示器603的位置、取向等的時間戳數(shù)據(jù)。
機器人臂604可以被編程為使得構(gòu)件606在觸敏顯示器603上執(zhí)行各種軌跡,模仿人在觸敏顯示器上執(zhí)行的手勢。構(gòu)件606可以被配置成表示特定尺寸、形狀等的人類手指。在另一個示例中,構(gòu)件606可以被配置成表示觸筆。當(dāng)機器人臂604在觸敏顯示器603的表面上創(chuàng)建具有構(gòu)件606的軌跡時,機器人臂604生成指示構(gòu)件606隨時間相對于顯示器603的已知位置(和速度、加速度、行進方向等)的數(shù)據(jù)。同時,計算設(shè)備602的觸摸控制器報告構(gòu)件606相對于顯示器603的經(jīng)計算的位置。
計算裝置608可以與機器人臂604和計算設(shè)備602通信,其中計算裝置608包括數(shù)據(jù)存儲裝置610。由機器人報告的數(shù)據(jù)(機器人數(shù)據(jù)612)和由觸摸控制器生成的位置數(shù)據(jù)(報告的數(shù)據(jù)614)可以包括在計算裝置608的數(shù)據(jù)存儲裝置610中。附加地,報告的數(shù)據(jù)614可以包括由計算設(shè)備602中的傳感器輸出的原始傳感器數(shù)據(jù)。因此,數(shù)據(jù)存儲裝置610包括構(gòu)件606相對于顯示器(如由機器人報告的)的實際位置數(shù)據(jù),由觸摸控制器計算的相同時間段的位置數(shù)據(jù),以及由觸摸控制器使用以計算位置數(shù)據(jù)的原始傳感器數(shù)據(jù)。
學(xué)習(xí)器組件616可以接收數(shù)據(jù)存儲裝置610中的數(shù)據(jù),并且利用機器學(xué)習(xí)技術(shù)來學(xué)習(xí)物理模型321。學(xué)習(xí)器組件616可以構(gòu)造物理模型321,使得可以確定由機器人臂604報告的數(shù)據(jù)與由計算設(shè)備602的觸摸控制器輸出的數(shù)據(jù)之間的關(guān)系。機器人數(shù)據(jù)612的至少一部分可以是學(xué)習(xí)的目標(biāo),并且可以用于驗證物理模型321。
現(xiàn)在參考圖7,示出了有助于校準(zhǔn)(更新)物理模型321的示例性系統(tǒng)700。計算設(shè)備702可以具有安裝在其上的校準(zhǔn)應(yīng)用,其使得圖形序列被呈現(xiàn)在計算設(shè)備702的顯示器704上——例如,可以指示用戶采用構(gòu)件706隨時間跟隨圖形708、710、712、714和716,從而指示用戶形成軌跡(例如,其中呈現(xiàn)圖形708-716以使軌跡的部分具有一定的速度、加速度、位置等)。精制器組件718可以隨時間相對于圖形708-716觀察構(gòu)件706,并且可以基于觀察到的與顯示器704的用戶交互來更新物理模型321的參數(shù)。例如,應(yīng)用可以請求用戶做出特定形狀,并且精制器組件718可以觀察到當(dāng)用戶通過使用構(gòu)件706形成這種形狀時做出的軌跡。精制器組件718然后可以基于該觀察到的軌跡來更新預(yù)測器組件320的參數(shù)。
圖8-10示出了與模擬觸敏顯示器的實時響應(yīng)性相關(guān)的示例性方法。雖然方法被示出和描述為在序列中執(zhí)行的一系列動作,但是應(yīng)當(dāng)理解和意識到,方法不受序列的順序的限制。例如,一些動作可以以與本文所描述的順序不同的順序發(fā)生。此外,一個動作可以與另一個動作同時發(fā)生。此外,在一些情況下,并非需要所有動作來實現(xiàn)本文所描述的方法。
此外,本文描述的動作可以是可由一個或多個處理器實現(xiàn)和/或存儲在計算機可讀介質(zhì)上的計算機可執(zhí)行指令。計算機可執(zhí)行指令可以包括例程、子例程、程序、執(zhí)行線程和/或類似物。此外,方法的動作的結(jié)果可以存儲在計算機可讀介質(zhì)中,顯示在顯示設(shè)備上等。
現(xiàn)在僅轉(zhuǎn)到圖8,示出了有助于模擬計算設(shè)備對通過觸敏顯示器進行的輸入的實時響應(yīng)性的示例性方法800。方法800在802開始,并且在804接收來自傳感器的傳感器數(shù)據(jù)。傳感器數(shù)據(jù)指示與計算裝置的顯示器接觸的構(gòu)件的位置。在806處,響應(yīng)于接收到傳感器數(shù)據(jù),針對要以一幀率在顯示器上顯示的n個幀來預(yù)測顯示器上的構(gòu)件的位置,其中n是大于零且小于100的整數(shù),并且其中基于傳感器數(shù)據(jù)來預(yù)測構(gòu)件的位置。在808,以該幀率在顯示器上顯示n個幀。在一個示例中,n個幀中的每個幀的內(nèi)容可以基于預(yù)測位置中的相應(yīng)位置。這允許用戶感知顯示器實時地響應(yīng)于用戶與顯示器的交互。方法800然后返回到804,其中方法800重復(fù),在多幀被顯示時更新預(yù)測位置。
現(xiàn)在轉(zhuǎn)到圖9,示出了用于基于構(gòu)件相對于顯示器的預(yù)測位置來執(zhí)行計算操作的示例性方法900。方法900在902開始,并且在904接收針對要顯示的相應(yīng)幀的構(gòu)件的預(yù)測位置。例如,對于要顯示的下一幀(f1),構(gòu)件的預(yù)測位置可以是(X1,Y1)。對于下一幀(f2),構(gòu)件的預(yù)測位置可以是(X2,Y2),使得幀n(fn)的構(gòu)件的預(yù)測位置是(Xn,Yn)。
在906,當(dāng)基于針對幀的構(gòu)件的預(yù)測位置顯示幀時,執(zhí)行計算操作。例如,當(dāng)顯示幀f2時,構(gòu)件(預(yù)測)的位置(X2,Y2)可以用于啟動應(yīng)用,以顯示軌跡的一部分等。方法900在908完成。
現(xiàn)在轉(zhuǎn)到圖10,示出了用于學(xué)習(xí)預(yù)測器組件320的示例性方法1000。方法1000在1002處開始,并且在1004處,隨時間從包括觸敏顯示器的移動計算設(shè)備的傳感器接收傳感器數(shù)據(jù)。這種傳感器數(shù)據(jù)可以是原始傳感器數(shù)據(jù)或者可以是由觸摸控制器輸出的計算位置。在1006,接收構(gòu)件的位置信息,其中這樣的位置信息對應(yīng)于隨時間變化的傳感器數(shù)據(jù)。例如,可以通過控制該構(gòu)件的機器人手臂來生成構(gòu)件的位置信息,使得可以知道位置信息。在1008處,基于在1004和1006處接收到的數(shù)據(jù)來學(xué)習(xí)計算機實現(xiàn)的模型,其有助于預(yù)測針對接下來n個幀(幾個幀)的構(gòu)件的位置。方法1000在1010完成。
現(xiàn)在闡述各種示例。
示例1:一種計算裝置,包括:預(yù)測器組件,其被配置為預(yù)測針對要顯示的相應(yīng)多個顯示幀的構(gòu)件相對于顯示器的位置,所述預(yù)測器組件被配置為基于傳感器信號的樣本來預(yù)測所述構(gòu)件的所述位置;以及操作組件,其被配置為基于由所述預(yù)測器組件預(yù)測的所述構(gòu)件的所述位置來使所述多個顯示幀顯示在所述顯示器上。
示例2:根據(jù)示例1所述的計算裝置,還包括觸摸控制器,其被配置為基于所述傳感器信號的至少一個樣本來計算所述構(gòu)件相對于所述顯示器的位置,所述預(yù)測器組件被配置為基于由所述觸摸控制器計算的所述位置來預(yù)測所述構(gòu)件的所述位置。
示例3:根據(jù)示例1-2中任一項所述的計算裝置,所述預(yù)測器組件被配置為基于由所述計算裝置中的傳感器輸出的原始信號、指示由所述構(gòu)件施加到所述顯示器的壓力的值、所述構(gòu)件的取向、所述計算裝置的電容網(wǎng)格的特征中的至少一者來預(yù)測所述構(gòu)件的所述位置。
示例4:根據(jù)示例1-3中任一項所述的計算裝置,所述預(yù)測器組件被配置為基于指示所述構(gòu)件與所述顯示器的表面之間的阻力的值來預(yù)測所述構(gòu)件的所述位置。
示例5:根據(jù)示例4所述的計算裝置,還包括存儲器,所述存儲器包括阻力模型,所述阻力模型被配置為對所述構(gòu)件與所述顯示器的所述表面之間的所述阻力建模,所述預(yù)測器組件被配置基于所述阻力模型來計算指示所述阻力的所述值。
示例6:根據(jù)示例1-5中任一項所述的計算裝置,所述預(yù)測器組件被配置為基于所述構(gòu)件是觸筆而不是手指來預(yù)測所述構(gòu)件的所述位置。
示例7:根據(jù)示例1-5中任一項所述的計算裝置,所述預(yù)測器組件被配置為基于所述構(gòu)件是手指而不是觸筆來預(yù)測所述構(gòu)件的所述位置。
示例8:根據(jù)示例1-7中任一項所述的計算裝置,其中所述預(yù)測器組件基于所述顯示器的幀率來選擇要包括在所述多個幀中的多個幀。
示例9:根據(jù)示例1-8中任一項所述的計算裝置,其中所述操作組件被配置為使得所述幀被顯示,使得所述計算裝置的用戶感知到正在實時檢測到所述構(gòu)件的位置。
示例10:根據(jù)示例1-9中任一項所述的計算裝置,其中所述預(yù)測器組件被配置為基于針對先前顯示的顯示幀的所述構(gòu)件相對于所述顯示器的位置、當(dāng)所述構(gòu)件在所述顯示器上移動時所述構(gòu)件的估計速度、以及當(dāng)所述構(gòu)件在所述顯示器上移動時在所述構(gòu)件與所述顯示器之間的估計的阻力,來預(yù)測針對所述相應(yīng)多個顯示幀的所述構(gòu)件相對于所述顯示器的所述位置。
示例11:根據(jù)示例1-10中任一項所述的計算裝置,其中所述預(yù)測器組件被配置為基于以下中的至少一個來預(yù)測所述位置:所述構(gòu)件相對于所述顯示器的邊緣的位置;或由所述計算裝置執(zhí)行的應(yīng)用的標(biāo)識。
示例12:根據(jù)示例1-11中任一項所述的計算裝置,其中所述預(yù)測器組件被配置為基于先前檢測到的軌跡中的所述構(gòu)件相對于所述顯示器的位置來預(yù)測所述位置。
示例13:接收來自傳感器的傳感器數(shù)據(jù),所述傳感器數(shù)據(jù)指示構(gòu)件在顯示器上的位置,所述構(gòu)件與所述顯示器接觸;響應(yīng)于接收所述傳感器數(shù)據(jù),針對要以一幀率顯示在所述顯示器上的n個幀預(yù)測所述構(gòu)件在所述顯示器上的位置,n是大于零且小于一百的整數(shù),所述構(gòu)件的所述位置基于所述傳感器數(shù)據(jù)而被預(yù)測;以及以所述幀率在所述顯示器上顯示所述n個幀,其中所述n個幀中的每個幀的內(nèi)容基于所述位置中的相應(yīng)位置。
示例14:根據(jù)示例13所述的方法,還包括:對于所述n個幀中的至少一個幀,估計所述構(gòu)件與所述顯示器之間的物理阻力;以及基于在所述構(gòu)件與所述顯示器之間估計的所述阻力,預(yù)測針對所述n個幀中的至少一個其他幀的所述構(gòu)件的位置。
示例15:根據(jù)示例13-14中任一項所述的方法,其中以所述幀率在所述顯示器上顯示所述n個幀包括在所述顯示器上顯示所述構(gòu)件的軌跡,其中從用戶的角度來看,所述軌跡在所述顯示器上實時地被描繪。
示例16:根據(jù)示例13-15中任一項所述的方法,還包括:接收所述構(gòu)件在所述顯示器上的計算的坐標(biāo),所計算的坐標(biāo)基于所述傳感器數(shù)據(jù);以及基于所述構(gòu)件在所述顯示器上的所計算的坐標(biāo),預(yù)測針對所述n個幀的所述構(gòu)件在所述顯示器上的所述位置。
示例17:根據(jù)示例16所述的方法,其中預(yù)測所述位置包括:基于來自所述傳感器的所述傳感器數(shù)據(jù)來估計所述構(gòu)件相對于第一幀的軌線和速度;以及基于所述構(gòu)件的所述軌線和所述速度來估計針對所述n個幀中的至少一個幀的所述構(gòu)件的位置。
示例18:根據(jù)示例13-16中任一項所述的方法,還包括:檢測所述構(gòu)件是觸筆而不是手指;以及基于檢測到所述構(gòu)件是所述觸筆而不是所述手指來預(yù)測針對所述n幀的所述觸筆在所述顯示器上的所述位置。
示例19:根據(jù)示例13-16中任一項所述的方法,還包括:檢測所述構(gòu)件是手指而不是觸筆;以及基于檢測到所述構(gòu)件是所述手指而不是所述觸筆來預(yù)測針對所述n幀的所述觸筆在所述顯示器上的所述位置。
示例20:一種計算裝置,包括:顯示器,其被配置為以一幀率顯示幀;傳感器,其被配置為輸出指示與所述顯示器物理接觸的構(gòu)件的位置的信號;觸摸控制器,其可操作地耦合到所述傳感器,所述觸摸控制器被配置為對所述信號進行采樣,并且還被配置為基于所述信號的采樣以一采樣率輸出坐標(biāo),當(dāng)所述信號被采樣時,所述坐標(biāo)指示所述構(gòu)件在所述顯示器上的位置;處理器,其可操作地耦合到所述觸摸控制器,所述處理器被編程為:在所述顯示器上預(yù)測針對若干幀的要在所述顯示器上顯示的所述構(gòu)件的位置;以及當(dāng)基于針對所述幀的所述構(gòu)件的所述顯示器上的預(yù)測位置來顯示所述幾個幀中的一個幀時,執(zhí)行計算操作。
示例21:一種計算系統(tǒng),包括:用于接收來自傳感器的傳感器數(shù)據(jù)的裝置,所述傳感器數(shù)據(jù)指示構(gòu)件在顯示器上的位置,所述構(gòu)件與所述顯示器接觸;用于針對要以一幀率顯示在所述顯示器上的n個幀預(yù)測所述構(gòu)件在所述顯示器上的位置的裝置,n是大于零且小于一百的整數(shù),所述構(gòu)件的所述位置基于所述傳感器數(shù)據(jù)而被預(yù)測;以及用于以所述幀率在所述顯示器上顯示所述n個幀的裝置,其中所述n個幀中的每個幀的內(nèi)容基于所述位置中的相應(yīng)位置。
現(xiàn)在參考圖11,示出了可以根據(jù)本文公開的系統(tǒng)和方法使用的示例性計算設(shè)備1100的高級圖示。例如,計算設(shè)備1100可以用在預(yù)測針對多個幀的要在顯示器上顯示的構(gòu)件相對于顯示器的位置的系統(tǒng)中。作為另一個示例,計算設(shè)備1100可以用于被配置為學(xué)習(xí)預(yù)測器組件的系統(tǒng)中,該預(yù)測器組件被配置為預(yù)測針對多個幀的要在顯示器上顯示的構(gòu)件相對于顯示器的位置。計算設(shè)備1100包括執(zhí)行存儲在存儲器1104中的指令的至少一個處理器1102。指令例如可以是用于實現(xiàn)被描述為由上述一個或多個組件執(zhí)行的功能的指令或用于實現(xiàn)上述方法中的一個或多個的指令。處理器1102可以通過系統(tǒng)總線1106訪問存儲器1104。除了存儲可執(zhí)行指令之外,存儲器1104還可以存儲幀、預(yù)測位置、傳感器數(shù)據(jù)、計算位置(例如,由觸摸控制器計算)等。
計算設(shè)備1100附加地包括可由處理器1102通過系統(tǒng)總線1106訪問的數(shù)據(jù)存儲裝置1108。數(shù)據(jù)存儲裝置1108可以包括可執(zhí)行指令、原始傳感器數(shù)據(jù)等。計算設(shè)備1100還包括允許外部設(shè)備與計算設(shè)備1100通信的輸入接口1110。例如,輸入接口1110可以用于接收來自外部計算機設(shè)備、來自用戶等的指令。計算設(shè)備1100還包括將計算設(shè)備1100與一個或多個外部設(shè)備對接的輸出接口1112。例如,計算設(shè)備1100可以通過輸出接口1112顯示文本、圖像等。
設(shè)想經(jīng)由輸入接口1110和輸出接口1112與計算設(shè)備1100通信的外部設(shè)備可以被包括在提供用戶可以與其交互的基本上任何類型的用戶接口的環(huán)境中。用戶接口類型的示例包括圖形用戶接口、自然用戶接口等。例如,圖形用戶接口可以接受來自使用諸如鍵盤、鼠標(biāo)、遙控器等的輸入設(shè)備的用戶的輸入,并在諸如顯示器之類的輸出設(shè)備上提供輸出。此外,自然用戶接口可以使得用戶能夠以不受諸如鍵盤、鼠標(biāo)、遙控器等的輸入設(shè)備強加的約束的方式與計算設(shè)備1100交互。相反,自然用戶接口可以依賴于語音識別、觸摸和觸筆辨識、屏幕上和屏幕附近的姿勢辨識、空氣姿勢、頭部和眼睛跟蹤、話音和語音、視覺、觸摸、手勢、機器智能等。
另外,雖然被示為單個系統(tǒng),但是應(yīng)當(dāng)理解,計算設(shè)備1100可以是分布式系統(tǒng)。因此,例如,若干設(shè)備可以通過網(wǎng)絡(luò)連接進行通信,并且可以共同地執(zhí)行被描述為由計算設(shè)備1100執(zhí)行的任務(wù)。
本文所描述的各種功能可以以硬件、軟件或其任何組合來實現(xiàn)。如果在軟件中實現(xiàn),則這些功能可以作為一個或多個指令或代碼存儲在計算機可讀介質(zhì)上或通過計算機可讀介質(zhì)傳輸。計算機可讀介質(zhì)包括計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)可以是可由計算機訪問的任何可用存儲介質(zhì)。作為示例而非限制,這樣的計算機可讀存儲介質(zhì)可以包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲器、磁盤存儲器或其他磁存儲設(shè)備,或可以用于以指令或數(shù)據(jù)結(jié)構(gòu)的形式攜帶或存儲期望的程序代碼,并且可由計算機訪問。如本文所使用的磁盤和光盤包括壓縮光盤(CD)、激光光盤、光盤、數(shù)字通用光盤(DVD)、軟盤和藍光光盤(BD),其中磁盤通常磁性地再現(xiàn)數(shù)據(jù),并且盤通常通過激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。此外,傳播的信號不包括在計算機可讀存儲介質(zhì)的范圍內(nèi)。計算機可讀介質(zhì)還包括通信介質(zhì),其包括有助于將計算機程序從一個地方傳送到另一個地方的任何介質(zhì)。例如,連接可以是通信介質(zhì)。例如,如果使用同軸電纜、光纖電纜、雙絞線、數(shù)字用戶線(DSL)或諸如紅外、無線電和微波之類的無線技術(shù)從網(wǎng)站、服務(wù)器或其他遠程源發(fā)送軟件,則同軸電纜、光纖電纜、雙絞線、DSL或諸如紅外、無線電和微波之類的無線技術(shù)包括在通信介質(zhì)的定義中。上述的組合也應(yīng)包括在計算機可讀介質(zhì)的范圍內(nèi)。
可替代地或另外,可至少部分地通過一個或多個硬件邏輯組件來執(zhí)行本文中功能性描述的功能。例如但不限于,可以使用的硬件邏輯組件的說明性類型包括現(xiàn)場可編程門陣列(FPGA)、程序特定集成電路(ASIC)、程序特定標(biāo)準(zhǔn)產(chǎn)品(ASSP)、系統(tǒng)級芯片系統(tǒng)(SOC)、復(fù)雜可編程邏輯器件(CPLD)等。
上面描述的包括一個或多個實施例的示例。當(dāng)然,為了描述上述方面的目的,不可能描述上述設(shè)備或方法的每個可想到的修改和改變,但是本領(lǐng)域普通技術(shù)人員可以認識到,各種方面的許多進一步的修改和置換是可能的。相應(yīng)地,所描述的方面旨在包括落入所附權(quán)利要求的精神和范圍內(nèi)的所有這樣的改變、修改和變化。此外,在術(shù)語“包括”用于具體實施方式或權(quán)利要求中的程度上,這種術(shù)語旨在以類似于術(shù)語“包括”的方式是包含性的,因為“包含”在權(quán)利要求中被用作過渡詞。