專利名稱:增強的基于相機的輸入的制作方法
技術領域:
本公開一般涉及計算機輸入,并且根據(jù)一個具體實施方式
,涉及基于相機的人機 界面。
背景技術:
在用戶界面的領域中,控件(或微件)是計算機用戶與之交互的界面元素,例如窗 口或文本框。在一些情況下,控件(例如虛擬按鈕)可具有與該控件的物理對應物相似的 功能和外觀。典型地,用戶使用計算機鼠標或鍵盤與控件交互。
發(fā)明內(nèi)容
根據(jù)一個一般實施方式,在此描述的增強控件可以用于便于從項目組中選擇項 目,例如在構成字母表的字母組中選擇字母,或者在大量的功能中選擇功能。通過沿基準線 確定這些項目朝向或?qū)蔬@些項目,這些項目可以顯示得不重疊、不妨礙或不使也顯示在 用戶界面中的一部分目標不清楚,從而使用戶能夠直觀地選擇項目??梢酝ㄟ^將光標懸停在項目上持續(xù)設定的一段時期,或在光標定位在項目上方的 同時通過選擇諸如鼠標按鍵或鍵盤按鍵的物理控件,或通過其它方法,來出現(xiàn)選擇。項目的 選擇或潛在選擇可導致項目改變其外觀(也就是1 敫活的’或‘突出的’),從而沿基準線將 項目彼此區(qū)分開并且減少選擇錯誤。給基準線的定義或定位提供基礎的目標可以自己與項 目交互,例如在輸入裝置或其它用戶輸入的動作映射到由沿基準線對準的項目所圍繞的化 身的手臂動作的情況下。根據(jù)一個一般實施方式,計算機執(zhí)行的處理包括在用戶界面中相對于目標定義基 準線,以及在不模糊目標的條件下顯示與基準線對準的項目。該處理還包括基于接收對所 顯示項目其中一個的選擇而輸出所選擇的項目。實施方式可包括一個或多個下列特征。例如,選擇可以是基于光標的用戶選擇。可 以確定目標在用戶界面中的位置,其中基準線可以動態(tài)地定義為圍繞所確定的位置的至少 一部分。在用戶界面中可以檢測第二目標,其中基準線可以動態(tài)地定義為在與第二目標相 對的目標的一側(cè)上??梢詸z測所確定的位置的改變,并且可以基于所確定的改變相對于目 標重新定義基準線。在另一例子中,基準線可以是直的、彎曲的、圓形的、多邊形的或鋸齒形的基準線, 其中每個項目可以是文字數(shù)字式字符、符號、背景或名稱。輸出所選擇的項目還可以包括突出所選擇的項目,例如通過改變所選擇的項目的顏色、不透明度或大小。改變所選擇的項目的顏色、不透明度或大小還可以包括將所選擇的項目的顏色、不透明度或大小改變?yōu)榈谝?級別,并且將與所選擇的項目鄰接的項目的顏色、不透明度或大小改變?yōu)榈诙墑e。顯示項 目還可包括沿基準線均勻地分布項目。目標可以是用戶界面中的空白區(qū)域或化身。基準線 的起點和終點可以水平地或垂直地對準。在另外的例子中,定義基準線還可以包括確定化身的控制部分的動作范圍,以及 在控制部分的動作范圍內(nèi)定義基準線,其中該基準線可以定義為沿控制部分的動作范圍的 外邊緣。可以指定化身的第一或第二潛在控制部分為控制部分,指定的控制部分可以被活 動起來,并且可以將控制部分指定從第一潛在控制部分交換到第二潛在控制部分,或從第 二潛在控制部分交換到第一潛在控制部分。根據(jù)另一一般實施方式,計算機程序產(chǎn)品有形地具體體現(xiàn)在機器可讀介質(zhì)中。計 算機程序產(chǎn)品包括這樣的指令當由機器讀取時運行以致使數(shù)據(jù)處理設備在用戶界面中相 對于目標定義基準線,用以在不模糊目標的條件下顯示與基準線對準的項目,以及用以基 于接收對所顯示的項目中的一個的選擇而輸出所選擇的項目。根據(jù)另外的一般實施方式,一種裝置包括處理器和用戶界面。處理器在用戶界面 中相對于目標定義基準線。用戶界面在不模糊目標的條件下顯示與基準線對準的項目,以 及基于接收對所顯示項目中的一個的選擇而輸出所選擇的項目。在再一一般實施方式中,用戶例如通過在他們身體周圍的空間中擺動或有目的地 確定他們的一只手臂或兩只手臂的位置來做示意動作。相機拍攝用戶的圖像,并且從圖像 確定用戶的位置。使用該位置,在用戶周圍定義這樣的檢測區(qū)域如果用戶打算執(zhí)行輸入示 意動作,那么用戶的手或手臂將可能在該檢測區(qū)域中。通過檢查該定義的檢測區(qū)域來檢測 用戶的手或手臂,并且這些檢測到的控制目標的位置或動作映射到計算機應用的輸入。在一個實例中,并且基于對用戶身體的能力和限制定義或建模的解剖模型,檢測 區(qū)域定義為在用戶頭部上方圖像的區(qū)域中,并且向外延伸到用戶體側(cè)。檢測到的控制目標 的位置或動作可以被映射到光標、化身、表現(xiàn)、鼠標事件或其它元素,以與用戶界面上的控 件(例如,滾動條、按鈕、虛擬鍵盤、下拉菜單或任何其它控件)交互。根據(jù)再一一般實施方式,在場景內(nèi)用戶的圖像中定義圍繞用戶的檢測區(qū)域,并且 檢測目標(例如手)在檢測區(qū)域內(nèi)的位置。另外,基于檢測到的目標的位置與用戶界面中 的控件(例如虛擬鍵盤的按鍵)交互。與控件交互還可以包括選擇字符。實施方式可包括一個或多個下列特征。例如,可以檢測用戶的約定示意動作 (engagement gesture),其中可以基于檢測約定示意動作來檢測目標的位置。用戶界面還 可以包括用戶的代表,其中控件可以包括與相對于代表定義的基準線對準的項目,并且在 不模糊代表的條件下顯示項目。用戶的代表還可以包括這樣的化身或光標,其中基于檢測 到的目標的位置使化身活動起來以模仿用戶的動作??丶梢燥@示在用戶界面內(nèi)代表的上 方或旁邊。在再一例子中,定義檢測區(qū)域還可以包括確定用戶的頭部或軀干的位置,以及基 于所確定的頭部或軀干的位置定義檢測區(qū)域不包括軀干??梢允褂脠D像分割來確定用戶的 軀干位置,并且可以使用面部檢測確定用戶的頭部位置??商鎿Q地,定義檢測區(qū)域還可以包 括確定用戶手臂的到達范圍,以及基于所確定的手臂的到達范圍,定義檢測區(qū)域不包括手臂不能達到的圖像區(qū)域的至少一部分。相反地,定義檢測區(qū)域還可以包括基于所確定的軀 干的位置,確定目標不能到達的、圖像的不能到達區(qū)域,以及定義檢測區(qū)域不包括所確定的 圖像的不能到達區(qū)域。用戶的手臂的到達范圍可以是基于用戶的軀干、頭部或肩部的所確 定的位置在再一例子中,圖像可以被裁剪且顯示在用戶界面內(nèi)。用戶的圖像可以居中,其中 可以基于將圖像居中來裁剪圖像??梢源_定放大倍數(shù),該放大倍數(shù)使得在居中的圖像內(nèi)用 戶可到達控件,其中可以基于放大倍數(shù)來裁剪圖像??梢允褂媒馄誓P痛_定放大倍數(shù)???以檢測用戶的面部,可以基于檢測到的面部確定用戶的身份,并且可以基于用戶的身份調(diào) 整控件??梢詸z測第二目標在檢測區(qū)域內(nèi)的位置,并且可以基于檢測到的第二目標的位置 與用戶界面內(nèi)的第二控件交互,或可以基于第二目標的位置調(diào)整控件。在再一例子中,可以使用相機拍攝圖像。檢測區(qū)域可以成形為用戶上方的弧形檢 測子區(qū)域,該弧形檢測子區(qū)域與兩個直線形檢測子區(qū)域鄰近,每個直線形檢測子區(qū)域位于 用戶一側(cè)。可以檢測目標關于映射的基準線在檢測區(qū)域內(nèi)的位置??梢燥@示經(jīng)分割的圖像 作為用戶的代表。根據(jù)再一一般實施方式,計算機可讀介質(zhì)通過計算機程序產(chǎn)品編碼。計算機程序 產(chǎn)品包括這樣的指令當執(zhí)行該指令時運行以使得計算機在場景內(nèi)用戶的圖像中定義圍繞 用戶的檢測區(qū)域,并且檢測目標在檢測區(qū)域內(nèi)的位置。計算機程序產(chǎn)品還包括這樣的指令 當機器讀取該指令時運行以使得數(shù)據(jù)處理設備基于檢測到的目標的位置與用戶界面中的 控件交互。根據(jù)再一一般實施方式,裝置包括處理器。處理器配置成適合于或可操作以在場 景內(nèi)用戶的圖像中定義圍繞用戶的檢測區(qū)域,以及檢測目標在檢測區(qū)域內(nèi)的位置。處理器 還配置成基于檢測到的目標的位置與用戶界面內(nèi)的控件交互。提供了該簡短概要,以便能夠快速理解通過本文件描述的各種構想和實施方式。 通過參考下面的詳細描述以及附圖可以獲得更加全面的理解。應該理解,可以采用其它實 施方式并且可以進行改變。
圖1是示出增強的基于相機的輸入的概念示意圖。圖2是用于執(zhí)行增強的基于相機的輸入的裝置的框圖。圖3示出了使用增強的基于相機的輸入的示例性處理過程。圖4示出了用于拍攝用戶的圖像的示例性系統(tǒng)。圖5描述了使用圖4的系統(tǒng)拍攝的用戶的示例性圖像。圖6描述了在圖5中示出的圖像內(nèi)定義的示例性檢測區(qū)域。圖7示出了通過對較大圖像進行居中和裁剪產(chǎn)生較小的圖像。圖8示出了在包括兩個候選用戶的場景中在控制用戶周圍定義的檢測區(qū)域。圖9示出了示意動作到控件輸入的示例性映射。圖10是使用示例性增強控件的用戶界面的概念示意圖。圖11示出了包括目標和示例性增強控件的用戶界面,該示例性增強控件還包括 基準線(guide line)。
圖12至圖19示出了示例性基準線布置以及基準線和目標之間的示例性關系。圖20至圖38示出了沿基準線對準的項目的示例性選擇。圖39示出了包括一個或多個示例性增強控件的用戶界面。
圖40示出了使用基于相機的輸入的其它示例性控件。圖41示出了計算裝置的外觀的例子。圖42是示出圖41中所示的計算機的內(nèi)部結(jié)構的框圖。
具體實施例方式根據(jù)一個一般實施方式,在此描述的增強控件可以用于便于從項目組中選擇項 目,例如在構成字母表的字母組中選擇字母,或者在大量的功能中選擇功能。通過沿基準線 定位或?qū)蔬@些項目,這些項目可以顯示得不重疊、不妨礙或不以其它方式模糊也顯示在 用戶界面中的目標的一部分,從而使用戶能夠直觀地選擇項目。另外,使用在此描述的增強方法,用戶可以通過在他們身體周圍的空間中擺動或 以其它方式定位他們的一只手臂或兩只手臂而用示意動作表達。相機拍攝用戶的圖像,并 且從圖像中確定用戶的位置。使用該位置,在用戶周圍定義這樣的檢測區(qū)域如果用戶打算 給計算機應用輸入命令,那么在檢測區(qū)域中很可能發(fā)現(xiàn)用戶的手或手臂。通過檢查定義區(qū) 域來檢測用戶的手或手臂,并且這些檢測到的控制目標的位置或動作用作給計算機應用的 輸入。在一個實例中,并且基于定義或模擬用戶身體的能力和限制的解剖模型,檢測區(qū) 域定義在用戶頭部上方并且向外延伸到用戶體側(cè)的區(qū)域中。檢測到的控制目標的位置或動 作可以被映射到光標、化身、代表、鼠標事件或其它元素,以與用戶界面上的控件(例如,滾 動條、按鈕、虛擬鍵盤、下拉菜單或任何其它微件)交互。圖1是示出增強的基于相機的輸入的概念示意圖。場景100包括用戶101,用戶 101坐在機頂盒104前面的沙發(fā)102上,觀看電視節(jié)目或聽音樂。機頂盒104連接到電視 105和相機106。作為與機頂盒104交互的一種方法,用戶可伸展他的左手107超過他的頭 部109,并且使用相機106生成場景100的圖像110。該圖像可以是用靜態(tài)相機拍攝的單個 圖像,或者是使用攝影機拍攝的一系列圖像中的一個或多個圖像。在場景100的圖像110中,定義用戶101周圍的檢測區(qū)域111。在該例子中,檢測 區(qū)域111包括用戶101上方的弧形檢測子區(qū)域111a,該弧形檢測子區(qū)域Illa與用戶101兩 側(cè)的直線形檢測子區(qū)域Illb和Illc鄰接。檢測區(qū)域111可以表示圖像110的這樣一部分 其中除了命令輸入示意動作之外不太可能出現(xiàn)其它動作。例如,檢測區(qū)域111可以不包括與用戶的軀干或頭部相關聯(lián)的圖像區(qū)域,因為這 些區(qū)域會經(jīng)歷與輸入示意動作無關的正常身體運動所引起的動作的很大部分。類似地,也 可以不包括接近于軀干的這些區(qū)域在用戶101下意識地移動或僅僅調(diào)整他們自己的位置 時,手臂或頭部可能占據(jù)在該區(qū)域中。另外,用戶101身體不能夠到達的圖像區(qū)域也可以不 包括在檢測區(qū)域111中。因此,檢測區(qū)域111占據(jù)圖像的這樣一部分在該區(qū)域內(nèi)檢測到的控制目標將較 可能表示用戶101輸入命令的故意示意動作。在這點上,在后續(xù)的檢查檢測區(qū)域111以確 定控制目標是否位于該區(qū)域內(nèi)的處理操作中,可以僅對于檢測區(qū)域111或?qū)τ谛∮谡麄€圖像但包括檢測區(qū)域111的那些圖像部分來執(zhí)行這些操作。因此,檢測區(qū)域111可定義為相機106的視場內(nèi)這樣的區(qū)域在該區(qū)域中用戶101可以通過身體部分的動作來表明他們正在執(zhí)行命令輸入、發(fā)信號或做示意動作。然而,類似 地,檢測區(qū)域111可以定義為也不包括相機106的這樣一部分視場其中動作發(fā)生地如此頻 繁以至于難于辨別不打算作為命令輸入的示意動作與打算作為命令輸入的示意動作。在這點上,在調(diào)整(setup)或校準操作中,對于圖像中的每個像素,像素圖可以量化裝置工作期間視場內(nèi)每個單獨的像素經(jīng)歷的動作數(shù)量。使用該像素圖,檢測區(qū)域可以通 過將經(jīng)歷的動作數(shù)量小于特定最小閾值的那些像素排除在外定義,因為這些像素可能表示 用戶到達范圍之外的背景或像素。類似地,檢測區(qū)域可以定義為不包括經(jīng)歷的動作數(shù)量大 于特定的最大閾值的那些像素,因為這些像素可能表示經(jīng)歷不表示命令輸入的頻繁動作的 像素。不表示命令輸入的示意動作或動作的例子可以包括,由呼吸導致的用戶胸膛的動作, 在對內(nèi)容、身體語言反應時用戶的眼睛或面部的活動,或者下意識的身體移動、顫搐或抖 動。可以基于解剖模型(anatomical model)定義檢測區(qū)域111。例如,可以估計或測 量用戶頭部的高度或?qū)挾?,并且用戶的手的正常到達范圍可以估計為該測量值的三倍。使 用該估計,弧形檢測區(qū)域可以定義在遠離用戶胸部兩倍到三倍該測量值的距離處。通過該 估計,可以忽略小于該距離發(fā)生的、表示身體或軀干運動的動作,以及該距離之外發(fā)生的、 表示不可能由用戶手臂產(chǎn)生的背景運動的動作。在這方面,圖像110包括不能到達區(qū)域113,該不能達到區(qū)域113包括圖像110的 那些這樣的部分基于解剖模型并假設用戶的就座位置將保持相對固定而確定為手107不 能夠到達的部分。圖像110還包括由軀干占據(jù)的軀干區(qū)域114,預期該軀干區(qū)域114包括 這樣的背景目標或用戶動作與檢測到的其它目標(例如檢測區(qū)域111內(nèi)檢測到的手107) 的動作或位置相比,這些背景目標或用戶動作與基于相機的輸入不太相關或是基于相機的 輸入的干擾。由于相機106可以保持固定,因此檢測區(qū)域111可以以直接方式映射到另一 圖像或其它圖像上,例如后續(xù)圖像。一旦將檢測區(qū)域111映射到另一圖像,那么就可以從其它圖像中檢測出手107在 檢測區(qū)域111內(nèi)的絕對位置或相對位置??商鎿Q地,因為動作可能比位置更易于檢測到,因 此可以檢測出手107在檢測區(qū)域111中的動作。另外,如果檢測區(qū)域111被劃分成或定義 為多個離散的塊,例如塊112a至112g,那么可以輸出哪個指示塊最接近于手107或由于手 107而最模糊的指示。例如,如果手107使塊112e比使任何其它塊更模糊,那么可以輸出塊 112e是所選擇的塊的指示。該指示可以包括標識該塊的唯一標識符。在用戶界面114中,手107在檢測區(qū)域111內(nèi)的位置映射到與控件117交互的光 標位置、代表(!^presentation)或虛擬控制目標,例如化身116的虛擬手115。在控制控 件117或與控件117交互中,手107在檢測區(qū)域111內(nèi)的運動可使化身116活動起來,從而 使得與控件117的交互對于用戶而言更直觀并且視覺上愉快。通過與控件117交互,用戶 101選擇項目119(字母“R”),該項目119出現(xiàn)在用戶界面114的輸出區(qū)域120中?;砜梢杂脠D像110拍攝用戶的身體外觀的一部分來包裝。通過該方法,對于用 戶101而言看起來似乎他們在用戶界面114中操作裝置或物理上與裝置交互。換一種說法, 相機106可以拍攝用戶101的外觀圖像,并將該外觀圖像覆蓋到構成化身的三維線框上,將用戶101的外觀賦予該化身。用戶101的動作到化身116的動作的映射能夠以1 1的關系出現(xiàn),可以將動作鏡 像,可以采用加速,或者可以將化身的動作強制到特定的“鎖定(snap to)”點。另外,在速 度模式中,控制目標在檢測區(qū)域內(nèi)的位置還可以表示這樣的速度化身應該以該速度繼續(xù) 移動直到控制目標的位置改變。根據(jù)所期望的具體配置,例如,用戶101的動作和化身116 的動作可以相互鏡像,以使得用戶抬高左手107會使化身的右手121抬高。圖2是用于實現(xiàn)增強的基于相機的輸入的裝置200的框圖。簡言之,除其它部 件之外,裝置200包括用戶界面201、存儲介質(zhì)202、輸入單元204和處理器205。使用 裝置200,增強的基于相機的輸入可以用于便于與用戶界面的控件交互,例如使得用戶 能夠選擇項目。與控件交互并不需要用戶手握任何專門的目標,例如他們手中的回射器 (retro-reflector)、陀螺儀裝置(gyroscopic device)或遙感控制器,而是直觀地將手臂 或手的動作映射到光標或其它輸入。用戶界面201是用于使得用戶能夠與裝置或與由裝置調(diào)用的應用交互的機構。用 戶界面201既可以影響輸入也可以影響輸出,使得用戶能夠操作裝置或使得裝置產(chǎn)生用戶 的操作的效果。裝置200可以采用任何類型的用戶界面201,例如圖形用戶界面(GUI)、聲 音用戶界面或觸摸的或觸覺的用戶界面。用戶界面201可以配置成呈現(xiàn)視覺顯示圖像。例如,用戶界面201可以是監(jiān)視器、 電視機、液晶顯示器(IXD)、等離子顯示裝置、具有投影屏幕的投影機、自動立體顯示器、陰 極射線管(CRT)顯示器、數(shù)字光處理(DLP)顯示器或配置成呈現(xiàn)顯示圖像的任何其它類型 的顯示裝置。用戶界面201可以包括一個或多個顯示裝置。在一些構造中,用戶界面201 可以配置成顯示與應用相關聯(lián)的圖像,例如由應用生成的顯示圖像,包括控件和諸如化身 的目標。存儲介質(zhì)202存儲和記錄信息或數(shù)據(jù),并且可以是光學存儲介質(zhì)、磁存儲介質(zhì)、閃 存或任何其它存儲介質(zhì)類型。相機204是用于拍攝圖像的裝置,將圖像拍攝為靜止照片或一系列運動圖像。相 機204可以使用可見光譜的光或電磁頻譜的其它部分,例如紅外線。例如,相機204可以是 數(shù)碼相機、數(shù)碼攝像機或配置成拍攝圖像的任何其它類型的裝置。相機204可以包括一個 或多個相機。在一些例子中,相機204可以配置成拍攝與應用交互的目標或用戶的圖像。例 如,相機204可以配置成拍攝在相機204的視場內(nèi)物理上與應用交互的用戶或人的圖像。相機可以是立體相機(stereo camera)、飛行時間(time-of-flight)相機或任何 其它相機。例如,相機204可以是能夠?qū)Ρ尘皥D像采樣的圖像檢測器,以便檢測用戶的動作 以及類似地,用戶的示意動作。相機204可生成灰度圖像、彩色圖像或距離圖像(distance image),例如能夠生成距離圖像的立體相機或飛行時間相機。立體相機可以包括在稍有不 同的視點處獲取圖像的兩個圖像傳感器,在立體相機中處理器比較從不同視點獲得的圖像 以計算圖像部分的距離。飛行時間相機可以包括生成光脈沖的發(fā)射器,該光可以是紅外光, 在飛行時間相機中光脈沖從發(fā)射器到目標并且返回到傳感器的時間被測量以計算圖像部 分的距離。裝置200經(jīng)過有線或無線路徑電連接到相機204和用戶界面201,并且配置成控 制處理器205的操作以提供基于相機的輸入。在一個構造中,裝置200使用處理器205或 其它控制電路以執(zhí)行提供用于增強的基于相機的輸入的應用。具體地,裝置接收來自相機204的輸入并且處理接收的輸入,以計算用戶的代表在用戶界面201中的位置和運動,并且 基于這些運動與控件交互。在一個示例的實施方式中,通過使用相機檢測做示意動作的用戶的圖像來產(chǎn)生輸入。例如,移動電話可以置于桌上并且可以是可操作用于使用面前(face-forward)的相機 生成用戶的圖像??商鎿Q地,使用相機204可以檢測或識別示意動作,例如通過使用光流 (optical flow)或一些其它方法檢測“向左(tilt left)傾斜”示意動作,以及使用檢測到 的示意動作以向左移動用戶的代表且選擇位于控件的左側(cè)的項目,或通過檢測“向前和向 右傾斜”示意動作,以向上移動用戶的代表且移動到中心位置的右方,從而選擇位于控件的 上部右側(cè)的項目。因此,相機204還可以包括或替換成能夠檢測裝置200的角位置的一些其它類 型的輸入裝置或模塊,例如陀螺儀(gyroscope)、加速計(accelerometer)或光流追蹤器 (optical flow tracker)。在這點上,相機可以補充以傾斜傳感器輸入或用傾斜傳感器輸 入替換,以執(zhí)行用戶期望的功能或命令。同樣地,可以不使用相機而發(fā)生用戶示意動作的檢 測。例如,通過以在用戶界面上的控件上可視化的相同類型的筆劃模式(stroke pattern) 移動裝置,用戶能夠以直接的、直覺的和視覺上愉快且刺激的方式控制相同的界面或應用。盡管已經(jīng)將裝置200描述為個人計算機(PC)或機頂盒,但是這樣的描述僅僅是為 了簡明,并且還可構思其它實施方式或表現(xiàn)形式。例如,裝置200可以實現(xiàn)為電視機、超便 攜式個人計算機(ultra-mobile personal computer, UMPC)、移動互聯(lián)網(wǎng)設備(MID)、數(shù)碼 相框(digital picture frame,DPF)、便攜式媒體播放器(PMP)、通用計算機(例如臺式計 算機、工作站或筆記本計算機)、服務器、游戲設備或控制臺,或包括處理器或配置成執(zhí)行指 令的其它控制電路的任何其它類型的電子裝置,或包括用戶界面的任何其它設備。圖3示出了實時地或接近實時地使用增強的基于相機的輸入的處理過程300。周 圍檢測區(qū)域可以與用戶重疊或可以不與用戶重疊,包括用戶的頻繁移動部分。簡言之,處理 過程300包括在場景內(nèi)用戶的圖像中定義圍繞用戶的檢測區(qū)域,以及檢測目標在檢測區(qū)域 內(nèi)的位置。另外,處理過程300包括基于檢測到的目標的位置與用戶界面內(nèi)的控件交互。更詳細地,當處理過程300開始(S301)時,在場景內(nèi)用戶的圖像中定義圍繞用戶 的檢測區(qū)域(S302)。簡要地參考前述,圖4示出了用于拍攝用戶410 (從側(cè)面示出)的圖像 的示例性系統(tǒng)400,并且圖5描述了使用相同的示例性系統(tǒng)400拍攝的用戶410 (從正面示 出)的示例性圖像500。具體地,系統(tǒng)400包括機頂盒401、相機402和電視機404。相機402拍攝其視場 403內(nèi)的某一場景的圖像,其中該場景例如包括伸展的右手405、頭部406、軀干407和用戶 410的兩條腿409的一部分、用戶410坐在其上的沙發(fā)411以及用戶410和沙發(fā)411后面的
背景,例如墻壁??梢允褂萌魏螖?shù)量的圖像壓縮技術中一種或多種來壓縮或存儲圖像500,該圖像 500是靜止圖像或來自一系列運動圖像中的一幅圖像。圖像500可以是用于觸摸檢測的經(jīng) 分割的相機圖像,也用于確定和顯示用戶界面中的用戶代表。使用相機402拍攝圖像之后, 可以在網(wǎng)絡上傳輸該圖像。在用戶執(zhí)行約定示意動作之后,可以定義圍繞用戶的檢測區(qū)域。約定示意動作激 活或調(diào)用這樣的功能監(jiān)控用于基于示意動作的命令輸入的其它圖像,以及忽略、過濾或排除隨機的、無意識的身體動作或者沒有定義命令輸入的其它身體動作或背景動作。如此處始終使用的那樣,“示意動作”意在指代通過人體的部分或整體或多個人體 進行的非語言(non-verbal)交流形式,并且與諸如講話這樣的語言交流形成對照。例如, 可以通過在第一位置、姿勢或表情與第二姿勢、位置或表情之間的移動、改變或變換來定義 示意動作。示例性的示意動作例如包括“打引號(air quote)”手勢、鞠躬姿勢、屈膝禮、面 頰親吻、手指或手動作、跪拜、頭部搖動或移動、擊掌、點頭、悲傷的面部、舉起的拳頭、敬禮、 擊打或搖動動作、豎起大拇指的動作或手指指向示意動作。約定示意動作可以是保持預定量時間的、在顯示器前面的相機跟蹤區(qū)域中用手勢 表達的特定手勢或手動作序列。一個示例性的手勢是這樣一個手勢保持豎直位置且所 有的手指和拇指充分地分開。另一例子是通過在用戶面前伸展他們的手臂,并且在用戶頭 部前方呈圓形地移動他們的手臂而完成的圓形手動作。實質(zhì)上,約定示意動作向生成用戶 界面的裝置說明用戶已準備好發(fā)生更進一步的基于相機的輸入。為了減少錯誤,約定示意 動作可以是非典型的示意動作,例如在正常交談期間不會下意識地用身體語言做出的示意 動作,或在正常人類活動的通常表現(xiàn)中不會做出的示意動作。因而,從這兩幅圖像可以得到定義了用戶的想法、意見、情感、交流、命令、示范或 表情的示意動作。例如,用戶的示意動作可以是單個或多個手指姿勢;單個手姿勢;單個手 和手臂姿勢;單個手和手臂以及身體姿勢;雙手姿勢;頭部姿勢或姿態(tài)的改變;眼睛位置的 改變;面部表情的改變;身體姿勢或姿態(tài)的改變或任何其它表達性的身體狀態(tài)的轉(zhuǎn)換。為了簡潔,用于執(zhí)行相關示意動作的身體部分或多個身體部分通常稱為“控制目 標”。例如,用戶可以使用他們的整個身體或用其他身體目標表達命令,在此情況下,他們的 整個身體或其他身體目標可以是控制目標。用戶可以通過眨眼睛、通過擴鼻孔或通過擺動 手指,更加微妙地表達命令,在此情況下,眼瞼、鼻子或手指可以是控制目標。單個圖像中或 兩個圖像之間用戶的示意動作可以是啟動或“約定”示意動作的表示??刂颇繕诉€可以是 物理裝置,例如紅外手指光、回射器或遙控裝置。存在從相機圖像中確定用戶示意動作的許多方式。例如,通過使用手、手臂、身體、 頭部或其它目標位置信息的示意動作分析和檢測處理,可以檢測“在空中畫圓”或“將手揮 到一側(cè)”的示意動作。盡管示意動作可以包括兩維或三維位置轉(zhuǎn)移,例如當做出揮動手勢 時,但是在其它情況下示意動作包括沒有伴隨的位置轉(zhuǎn)移的轉(zhuǎn)換。例如,如果通過伸直五個 手指、手掌向前用手發(fā)出“停止”信號,那么如果所有五個手指縮回成球并且手掌保持向前, 則即使是手或手臂的整體位置保持固定,用戶的姿勢也發(fā)生改變并由此表達示意動作??梢允褂脝l(fā)式技術檢測示意動作,例如通過確定手位置信息是否通過明確 (explicit)的規(guī)則集。例如,如果下面的示意動作檢測規(guī)則得以滿足(1)經(jīng)過小于預定 限度的時間間隔,水平位置的改變大于預定距離;(2)經(jīng)過該時間間隔,水平位置單調(diào)地改 變;(3)經(jīng)過該時間間隔,垂直位置的改變小于預定距離;以及(4)在該時間間隔的結(jié)束 時的位置比在該時間間隔的開始時的位置更靠近檢測區(qū)域的邊界(或在檢測區(qū)域的邊界 上),那么可以識別“將手揮到一側(cè)”的示意動作?!┦疽鈩幼鞑捎靡悦鞔_的次序被執(zhí)行且滿足的多個規(guī)則集,其中規(guī)則集的滿足 致使系統(tǒng)改變到應用不同規(guī)則集的狀態(tài)。這樣的系統(tǒng)可能不能夠檢測微妙的示意動作,在 此情況下可以使用隱馬爾可夫模型(Hidden MarkovModel),因為這些模型使得能夠檢測一系列具體動作,并且還考慮這些動作充分符合某一示意動作的整體可能性。除了身體、手臂或手的示意動作之外,可以從一個或多個圖像中識別出手指指向示意動作。例如,“指向左”的示意動作可以用用戶手指的指尖做出,并且通過分析手指圖 像來檢測。指紋分析或其它方法可以用于確定指向指尖的方向。在其它示例性的實施方式 中,并且如上所述,可以不使用相機來檢測示意動作,例如在示意動作是語言示意動作的情 況下或者使用傾斜傳感器或加速計來檢測時。在相機拍攝的用戶圖像中,用戶的手臂可以被識別為做出從向下第一位置到伸開 的手掌向前的第二位置的手勢。用戶執(zhí)行該約定示意動作可以致使用戶的代表連同控件一 起顯示在用戶界面內(nèi)。因為當執(zhí)行該示意動作時,用戶可能不在相機視場的中心,因此在約 定之后可以調(diào)用重新對準、裁剪、重新確定中心或放大處理。在一個示例性實施方式中,圖像500是摳像相機圖像,例如所獲得的位于彩色背 景前面的用戶410的圖像。摳像處理識別圖像500的那些顏色與背景顏色匹配的部分并且 將那些部分分類為背景。圖像500的那些顏色偏離背景顏色的部分較可能是用戶410的部 分,并且被分類為前景。在其它示例性實施方式中,圖像500是深度鍵相機圖像。典型地,通過能夠確定深 度或距離的相機來獲得深度鍵相機圖像,例如飛行時間相機(例如由CANESTAINC. 生 產(chǎn)的相機)或立體相機(例如由TYZX INC. 生產(chǎn)的相機)。對于一個示例性的飛行時間 相機,紅外發(fā)射器發(fā)射紅外光脈沖,光學傳感器測量光行進到目標并且返回到相機所花費 的時間,并且基于該時間計算目標的距離。對于一個示例性的立體相機,多個光學傳感器從多個視角拍攝場景的圖像。于是 立體相機能夠比較多個圖像,以確定多個視角之間目標位置的差異,并且基于該差異計算 目標的距離。基于該距離將圖像部分分類為前景和背景。分類處理可以包括將該距離與閾 值進行比較,從而,如果該距離小于閾值則將這些部分分類為前景,并且如果該距離大于閾 值則將這些部分分類為背景。分類處理還可以包括將該距離與背景模型進行比較,由此背 景模型表示沒有用戶的場景部分(例如地板和家具)的深度。如果該距離短于模型的相應 部分,則這些部分可以分類為前景,并且如果該距離等于或長于模型的相應部分,則這些部 分可以分類為背景。在另一例子中,圖像500使用背景顏色模型。例如,圖像500可以與表示背景的期 望外觀的背景顏色模型進行比較。通過存儲沒有用戶的場景圖像可以獲取背景顏色模型。 如果相機圖像的某部分的顏色與背景顏色模型的相應部分的顏色相似,那么就將該部分分 類為背景。如果相機圖像的某部分的顏色不與背景顏色模型的相應部分的顏色相似,那么 就將該部分分類為前景。在另外的例子中,使用皮膚顏色模型對圖像500進行分割。例如,可以將圖像500 與表示用戶皮膚的期望外觀的皮膚顏色模型進行比較??梢灶A先定義皮膚顏色模型,并且 基于大量的人的圖像中采樣的皮膚顏色。還可以基于用戶皮膚的圖像來定義皮膚顏色模 型。如果相機圖像的某部分的顏色與皮膚顏色模型內(nèi)的顏色相似,那么就將該部分分類為 前景。如果顏色不與皮膚顏色模型內(nèi)出現(xiàn)的任何顏色相似,那么就將該部分分類為背景。另外,圖像500可以是動作圖像,從而包括動作的圖像部分被分類為前景,并且看 起來靜態(tài)的圖像部分被分類為背景。通過動作劃分相機圖像可以包括獲取一系列相機圖像,計算連續(xù)圖像之間的差異,以及將該差異與閾值進行比較??梢允褂糜糜跈z測一個或多 個圖像中的動作的其它技術,例如光流。盡管上文已經(jīng)描述數(shù)個用于產(chǎn)生經(jīng)分割的相機圖像的示例性方法,但是實際上可 以構思其它方法或技術,并且這些其它方法或技術可以取代所述方法、作為所述方法的補 充或結(jié)合所述方法使用。因為隨后可以使用用戶410的位置(“身體位置”)(除了別的之外)來定義檢測 區(qū)域的位置,用以定義控件在用戶界面內(nèi)的位置,或用以裁剪或放大圖像,因此在圖像500 內(nèi)檢測身體位置。身體位置可以是使用面部檢測確定的頭部406的位置。面部檢測可以掃 描相機圖像的各部分以檢測與人面部外觀相應的特征。身體位置還可以是用戶的手臂位置,使得所有的項目都在手臂容易到達范圍內(nèi); 軀干407、腿部409、重心或軀干中心的位置;或者該位置可以與用戶410的其它部分或方面 相關,例如肩部位置。身體位置可以定義為點、線或定義為包括用戶身體的全部或一部分的 區(qū)域或范圍。為了計算效率,身體位置可以定義為簡單的形狀,例如方形或圓形。例如,在 圖5中,可以將位置501 (示出為加號(+))確定、計算或估計為身體位置。如圖6所示,在用戶410的圖像500中定義用戶410周圍的檢測區(qū)域600。一般地, 檢測區(qū)域表示檢測到控制目標(也就是手或手臂)的圖像部分,因此一般不包括圖像500 中控制目標不可能位于的的部分以及其中的背景、動作或其它因素使得難以發(fā)現(xiàn)控制目標 或計算昂貴的圖像部分。因此,將圖像500例如分割成檢測區(qū)域600、不可到達區(qū)域601和 軀干區(qū)域602。由于用戶軀干或頭部這些身體部分運動頻繁,因此檢測區(qū)域600可以不包括與用 戶軀干或頭部相關聯(lián)的軀干區(qū)域602。軀干區(qū)域602還包括圖像500的這些區(qū)域該區(qū)域 接近軀干,在用戶410下意識地運動或僅僅調(diào)整他們自己的位置時手臂或手也可能占據(jù)該 區(qū)域。另外,用戶410身體不能夠到達的不可到達區(qū)域601不包括在檢測區(qū)域600中。剩 余的檢測區(qū)域600占據(jù)這樣一部分圖像在該區(qū)域內(nèi)檢測的控制目標應當更可能表明用戶 410的故意身體運動或命令輸入。在這點上,在檢查檢測區(qū)域600以確定控制目標是否位于 該區(qū)域內(nèi)的后續(xù)處理操作中,可以僅對于檢測區(qū)域600或者對于小于整個圖像但包括檢測 區(qū)域600的那些圖像部分來執(zhí)行這些處理操作??梢愿鶕?jù)用戶的動作范圍對檢測區(qū)域600定位。動作范圍的確定可以基于復雜的 解剖模型,例如模仿生物運動(bio-kinetic)限制或人類身體的能力并且將這些能力應用 于用戶的模型。在一些情況下,也可以使用較簡單的拇指規(guī)則(rules-of-thumb),例如估計 用戶手臂可到達的距離等于用戶頭部的大小乘以某一乘數(shù)的方法。在其它情況下,可以基 于用戶身份(例如,使用面部識別而確定)以及存儲在裝置內(nèi)關于用戶的信息(例如,用戶 的年齡和性別)來估計用戶手臂到達范圍。在任何情況下,通過用戶的一些方面來定義檢 測區(qū)域600的具體定位。照此,假定用戶被檢測區(qū)域600圍繞。因此,可以將檢測區(qū)域600定義為在相機的視場內(nèi)這樣的區(qū)域中在該區(qū)域中對 于用戶410而言,通過身體部分的動作來表明他們在執(zhí)行命令輸入、發(fā)信號或打手勢是可 行的或可能的。然而,類似地,可以將檢測區(qū)域600定義為在相機的這樣一部分視場外在 該部分中動作發(fā)生得如此頻繁以至于難于將有意圖的命令輸入示意動作與非命令輸入動 作區(qū)分開來。
可以將基準線604定位在檢測區(qū)域600中。例如,基準線604可以確定為平行于 檢測區(qū)域600的邊界603的線(或與之具有其它的空間關系)。如下面更加詳細的描述,可 以沿基準線604設置可選擇項目。例如,在圖10中,沿用戶界面1000內(nèi)的基準線1009設 置可選擇項目IOlOa至ΙΟΙΟζ。圖7示出了通過對較大圖像進行居中和裁剪來產(chǎn)生較小圖像。具體地,類似于圖像500的圖像700已經(jīng)以用戶頭部701的頭部位置703為中心且被放大,以產(chǎn)生經(jīng)裁剪的 圖像702。使相機圖像的某些部分居中或放大能夠使得控制目標(例如手704)的運動能夠 更加直觀地或容易地映射到最后所得到的用戶界面內(nèi)的用戶的代表上??梢栽谟脩艚缑鎯?nèi)顯示裁剪的圖像702或裁剪的圖像702的放大視圖??梢允褂?戶的圖像居中,其中可以基于將圖像居中對圖像進行裁剪??梢源_定使得居中的圖像內(nèi)控 件對用戶是可到達的放大倍數(shù),其中可以基于該放大倍數(shù)而進一步裁剪圖像??梢允褂媒?剖模型確定放大倍數(shù)。在圖7中,對圖像700拍全景或進行縮放使得身體位置相對于例如在用戶界面中 示出的控件的組件這樣的一些項目進行定位。通過這樣的處理可以模擬拍全景或縮放拍 攝全相機圖像700,以及從全相機圖像700中選擇將放大或縮小以適合顯示的經(jīng)裁剪的圖 像702。將經(jīng)裁剪的圖像702按比例縮放以填充用戶界面的顯示圖像,并且存儲或丟棄全相 機圖像的剩余部分。如下文進一步詳細地描述,坐標,例如身體位置703或手位置704的坐 標,可以相應地映射到在用戶界面上顯示的用戶的代表上的特征。檢測區(qū)域可以包括用戶上方的弧形檢測子區(qū)域,該弧形檢測子區(qū)域與兩個直線形 檢測子區(qū)域鄰接,每個直線形檢測子區(qū)域位于用戶一側(cè)。盡管上文已經(jīng)將檢測區(qū)域描述和 示出為馬蹄形,但是還可以基于制造商的預先設置或用戶設置使用其它形狀,或者可以動 態(tài)地確定檢測區(qū)域的形狀。例如,檢測區(qū)域可以是圓形形狀,僅僅直線形狀或包括對稱或非 對稱形狀的任何其它形狀。檢測區(qū)域還可以定義多個非鄰近區(qū)域,例如對于具有虛擬鍵盤 控件的用戶(例如參見圖40)。圖8示出了在包括兩個候選用戶的場景中,在控制用戶周圍定義的檢測區(qū)域。具 體地,一旦在圖像800中檢測到兩個候選用戶801和802時,檢測區(qū)域804可以定義成考慮 非控制用戶802的手臂的動作范圍805。換種說法,如果在檢測區(qū)域804的某一部分中能夠 檢測到非控制用戶802(或非控制用戶802的控制目標),那么就可以不將該部分從檢測區(qū) 域中排除在外。另外,可以針對用戶界面800內(nèi)每個用戶定義檢測區(qū)域,其中在那些不然就 將出現(xiàn)檢測區(qū)域重疊的圖像區(qū)域處,裁剪(或者對于具體的處理操作,標記)每個檢測區(qū)域 的邊界。結(jié)果是,檢測區(qū)域804可以采用更加復雜的、動態(tài)定義的形狀??商鎿Q地,可以將 較少計算花費的規(guī)則應用于圖像,以便基于圖像的主題或場景定義檢測區(qū)域。例如,如果用 戶接近墻壁或其他人,那么在墻壁或其他人的相反側(cè),可以接近于用戶定義直線形的或其 它形狀的檢測區(qū)域??梢詫⒔换ロ椖吭O置在檢測區(qū)域804中??梢杂嬎沩椖康奈恢煤痛笮∫允沟盟?的項目至少部分地設置在檢測區(qū)域804中,并且當改變檢測區(qū)域定義時,例如為了避免非 控制用戶802的手臂,可以重新計算,以使得所有的項目保持在檢測區(qū)域內(nèi)??梢匝貦z測區(qū) 域804內(nèi)的基準線設置項目,并且可以使項目的位置活動起來以沿基準線移動,使得所有的項目出現(xiàn)在經(jīng)裁剪的檢測區(qū)域內(nèi)。檢測目標(例如手)在檢測區(qū)域內(nèi)的位置(S304)。通過將先前定義的檢測區(qū)域應 用或疊在新圖像上,可以檢測在同一圖像或另一圖像或其它圖像中,例如后續(xù)圖像中的目 標的位置。例如,檢測區(qū)域可以定義在場景的區(qū)域內(nèi)或圖像的區(qū)域內(nèi)。如果相機或用戶在 移動,那么可以從圖像到圖像地調(diào)整檢測區(qū)域以補償該運動。為了與用戶界面中的控件交 互,確定用戶的控制部分的位置(“用戶位置”),用于映射到用戶界面內(nèi)的光標、標記、化身 或用戶的其它代表??梢砸匀舾煞绞奖磉_控制目標的位置。例如并且如圖9的圖像900所示,用戶902 的手位置901可以表達為絕對或相對坐標(x,y),或者表達為角度0或離已知點904(例 如身體位置)的角度e和絕對或相對距離d。另外,如果檢測區(qū)域905被劃分成多個子區(qū) 域(例如子區(qū)域905a至905h)或與多個交互元素相關聯(lián),那么控制目標的位置可以表達為 子區(qū)域的唯一標識符或者與手位置901重疊或最靠近手位置901的交互元素。在圖9中, 例如,因為手位置901重疊子區(qū)域905e,所以控制目標的位置可以簡單地表達為與子區(qū)域 905e相關聯(lián)的標識符。還可以使用以一維、兩維或三維表達目標位置的其它方法。確定用戶位置可以包括分析經(jīng)分割的相機圖像,其中相機圖像被分割成前景部分 和背景部分。例如,可能表示用戶的部分圖像(例如像素)分類為前景,不可能表示用戶的 部分分類為背景。使用經(jīng)分割的相機圖像確定用戶位置將基準線上方的圖像部分考慮在 內(nèi),并且選擇地,可以包括基準線下方的短距離??梢詫⒂脩粑恢糜嬎銥閰^(qū)域內(nèi)所有前景部 分的平均位置。使用經(jīng)分割的相機圖像確定用戶位置可以包括對區(qū)域內(nèi)前景部分的數(shù)量進 行計數(shù),以及將該計數(shù)與閾值進行比較,并且如果該計數(shù)大于閾值則根據(jù)所找到的用戶位 置對用戶位置分類。使用經(jīng)分割的相機圖像確定用戶位置還可以包括將區(qū)域內(nèi)的前景部分聚集成簇, 選擇簇(cluster),以及將用戶位置計算為簇內(nèi)所有前景部分(例如像素)的平均位置。計 算平均位置可以包括計算加權平均,其中對于越在基準線上方的部分,該部分的權重越大。通過對越在基準線上方的部分加權越大,平均位置較可能是基準線上方的一部分 用戶。在一些實施方式中,系統(tǒng)可以配置成使得與用戶界面交互的用戶位置大部分是在基 準線下方。在這些實施方式中,系統(tǒng)可以配置成使得用戶能夠通過將用戶的手定位在頭上 并且在基準線上方而選擇字符。另外,在這些實施方式中,通過對越在基準線上方的部分加 權越大,用戶的檢測到的平均位置較可能是表示用戶的手的指尖。在其它實施方式中,使用經(jīng)分割的相機圖像確定用戶位置包括分析經(jīng)分割的相機 圖像的前景部分的形狀。分析前景部分的形狀可以包括識別頂端前景部分,以及將用戶位 置計算為頂端前景部分的位置??商鎿Q地,分析經(jīng)分割的相機圖像的前景部分的形狀可以 包括生成前景部分的輪廓,識別輪廓的形狀特征,以及確定形狀特征是否是手??梢詫⒂脩?位置計算為手位置。另外,確定用戶位置可以包括分析相機圖像以識別用戶的手,以及確定手的位置。 識別相機圖像內(nèi)的手位置可以包括將部分相機圖像與表示用戶皮膚的期望外觀的皮膚顏 色模型進行比較。如果部分相機圖像的顏色類似于皮膚顏色模型內(nèi)的顏色,那么就將該部 分分類為皮膚。被分類為皮膚的部分聚集成部分簇,并且將總體位置和大小滿足一個或多 個標準的部分簇分類為手??梢允褂米R別相機圖像內(nèi)的手位置的各種方法,并且應該理解,可以采用其它手跟蹤方法。用戶界面可以采用區(qū)域集合。區(qū)域集合可以包括關于集合中每個項目的區(qū)域。確 定每個區(qū)域的觸摸狀態(tài)可以包括確定是否有被分類為前景的經(jīng)分割的相機圖像(例如用 戶)的部分在區(qū)域內(nèi)。在其它例子中,確定每個區(qū)域的觸摸狀態(tài)可以包括確定被分類為用 戶的手的、經(jīng)分割的相機圖像的一部分是否在區(qū)域內(nèi)。該區(qū)域集合可以包括關于子集的每 個項目的區(qū)域。區(qū)域集合可以基于用戶的交互而變動(例如,在顯示圖像內(nèi)移動)。顯示用戶的代表可以包括顯示這樣的化身其外觀可以由用戶配置。例如,用戶可 以配置化身的性別、大小、面部特征和衣服。顯示用戶的代表可以包括檢測用戶的身份,以 及顯示與檢測到的用戶的身份相應的用戶代表。可以使用面部識別檢測用戶的身份。與檢 測到的用戶的身份相應的用戶代表可以包括化身,其外觀由用戶配置。顯示用戶的代表可以包括顯示相機圖像,例如覆蓋到化身上的用戶的紋理圖像。 例如,從攝像機獲取視頻圖像并且呈現(xiàn)在顯示器中。視頻圖像可以包括用戶的圖像以及用 戶所在的房間(以及用戶周圍的其它事物)。包括子集的項目和文本的前景圖形集合可以 呈現(xiàn)在視頻相機圖像上,部分地遮住相機圖像。顯示用戶的代表可以包括顯示經(jīng)分割的相機圖像,其中相機圖像分割成前景部分 和背景部分。例如,很可能代表用戶的圖像部分被分類為前景,較不可能代表用戶的部分被 分類為背景。顯示經(jīng)分割的相機圖像可以包括僅僅呈現(xiàn)分類為前景的部分。僅僅呈現(xiàn)分類為前 景的部分可以包括生成表示不透明度(opacity)的阿爾法通道(alphacharmel),以及使用 阿爾法通道將相機圖像與背景圖形集合組合,其中前景部分定義為不透明的,并且背景部 分定義為透明的。因此,用戶界面可以顯示前景元素和背景元素。前景元素可以遮住背景元素。包 括子集的項目和文本的前景圖形集合呈現(xiàn)在前景元素和背景圖形上,部分地與前景元素和 背景元素重疊??梢酝ㄟ^應用生成另外的前景元素和背景元素或圖形?;跈z測到的目標的位置,與用戶界面中的控件(例如虛擬鍵盤的按鍵)交互 (S305),并且處理過程300結(jié)束(S306)。在一個例子中,控件是虛擬鍵盤或鼠標。在另一例 子中,控件可以包括與相對于代表定義的基準線對準的項目,其中在不使代表模糊的條件 下顯示項目。再次返回到圖9,控制目標的位置被映射到控制輸入。例如,可以基于將手位置 901 (表達為(x,y),6,e+d,子區(qū)域或交互元素標識符或一些其它標記)輸入到查找表、數(shù) 據(jù)庫或公式,來確定光標位置。例如,在用戶界面910中,光標位置911可以表達為絕對或 相對屏幕坐標(X’,y’),或角度e,或遠離已知位置(例如化身身體位置912)的角度e, 加距離d’。可替換地,如果用戶界面910定義多個區(qū)域914,那么輸出光標位置911可以標 識為與輸入子區(qū)域或交互元素標識符相應的區(qū)域的唯一標識符。在示出的例子中,因為區(qū) 域914d相應于子區(qū)域905e,因此光標位置911顯示在區(qū)域914d內(nèi)。于是,通過調(diào)用與光標位置相關聯(lián)的功能性而發(fā)生與控件交互。例如,調(diào)用的功能 性可以選擇或挑選靠近光標位置的項目、運行應用、執(zhí)行媒體集線器功能、觸發(fā)鼠標事件、 改變控件的狀態(tài)或執(zhí)行任何其它人機輸入。輸入位置參數(shù)(例如x,y,9或d)可以與輸出位置參數(shù)相同或可以與之處于1 1的關系。例如,用戶手臂的角度9可以與化身手臂的角度0’相同或與之鏡像。例如在用 戶界面920中,將光標位置921設置在相對于化身身體位置922的角度0處。因此化身 (或光標)可以表示用戶,并且可以位于控件的上方、下方或旁邊。基于檢測到的目標的位置,可以使化身活動起來以模仿用戶的動作??梢詸z測用 戶的面部,可以基于檢測到的面部確定用戶的身份,并且可以基于用戶的身份調(diào)整控件???以檢測檢測區(qū)域內(nèi)第二目標的位置,并且可以基于檢測到的第二目標的位置與用戶界面內(nèi) 的第二控件交互。上文的圖1至圖9示出了可以將基于相機的輸入應用于增強的控件,例如通過將 圖像中拍攝到的用戶手臂動作映射到用戶界面內(nèi)的光標或用戶的其它代表。在這點上,下 文中圖10至圖39示出了一種增強的控件的非限制性例子,其可以通過基于相機的輸入使 用,或者適配為接受基于相機的輸入。不同控件也可以使用基于相機的輸入,例如圖40或 其它圖中示出的控件。圖10是在狀態(tài)1004a至1004d中示出的使用示例性增強的控件1002的用戶界面 1000的概念示意圖,該增強的控件1002使用基于相機的輸入。在狀態(tài)1004a中,用戶界面 1000包括(除了其它之外)化身1006和設置在化身1006上方的控件1002,其中該狀態(tài) 1004a出現(xiàn)在檢測約定示意動作之前,或者在檢測約定示意動作之后但在所定義的檢測區(qū) 域內(nèi)檢測到控制目標之前??丶?002包括基準線1009 (在狀態(tài)1004a中示為虛線),以及 每一個都表示英文字母表中的字母的項目1010a至lOIOz。盡管將項目1010a至lOIOz示 出為表示字母,但是它們也可以表示其它的,例如圖標、功能、圖像、目標、符號、應用、字符 或者相似或不相似的項目的組或簇。在狀態(tài)1004a中,因為還沒有檢測到用戶輸入(也就是,在圖像中用戶周圍的定義 區(qū)域內(nèi)沒有檢測到用戶的手或手臂),所化身1006描繪成處于松弛(neutral)或放松位置, 其中化身1006的手臂1011a和1011b放松地沿靠著化身1006的軀干1012。化身1006可以具有類似人的外觀,并且能夠在虛擬世界里操縱(navigate)?;?的例子包括類似于由 BLIZZARD ENTERTAINMENT 出品的 WORLD OF WARCRAFT 的視頻游戲以及諸如由LINDEN RESEARCH,INC 出品的SECOND LIFE 的虛擬世界中的可 以游戲的字符。可以將基于相機的輸入映射到目標的控制部分,例如化身的手,用化身的動 作在用戶身體周圍的空間中鏡像或模仿他們的動作。通過用相機拍攝用戶的紋理圖像以及 將該圖像重疊到化身1006上,化身1006可以具有用戶的外觀。“項目,,意在指代用戶可能想從單元或元素集合中選擇的任何單元或元素,包括但 不限于與該項目類似或不類似的單元或元素。該集合可以包括少至沒有項目或多至數(shù)百、 數(shù)千或數(shù)百萬個項目。在一個簡單的例子中,項目是字母字符,并且項目集合包括英文字母 表中的26個字母,或52個大小寫字母。類似地,該集合可以由符號字符組成或包括符號字 符,例如符號!、@、#、$、%、"、&、*、(、)、{、}、<、>、、;、‘、“、?、/、 、\或一般經(jīng)由鍵 盤或小鍵盤選擇不可得到的其它符號。其它集合可以包括從名稱、圖標、功能或設置的列表 中可以選擇的名稱,例如人名或地名,該設置例如是媒體設置(例如,“播放”、“音量調(diào)大”、 “關閉”、“記錄系列”等)。在這點上,項目可以包括數(shù)字(0至9);字母(例如,英文字母表的字母A至Z,或 日文文字中的假名(kana)字符);文本符號(例如,空格“”,連字符“_”,句號“.”);預定的或動態(tài)確定的文本短語(例如,“.com",", org”,“常見問題解答”、“主菜單”、“發(fā)送”、“接 聽電話”、“播放DVD”、“關機”等);名稱;標題;時間;日期;操作、事件、處理或功能(例如, “保存游戲”、“載入游戲”、“開始應用”、“傳輸數(shù)據(jù)”、“媒體播放器”、“照片瀏覽器”、“漆刷”、 “電子郵件”、“地圖”);配置選項(例如,“640X480分辨率模式”、“800X600分辨率模式”、 “專家模式”、“新手模式”、“訓練模式”、“作弊模式”);或任何其它信息或信息組合。當在用戶周圍的定義區(qū)域內(nèi)檢測到用戶的諸如手的控制目標時,出現(xiàn)狀態(tài)1004b。 該位置被映射到用加號示出的光標位置,其通過項目IOlOz所處的用戶界面1000區(qū)域上 方,并由此定義與鼠標懸停情形相類似的情形。一旦檢測到鼠標懸停情形,就使化身1006 的手臂IOllb活動起來以看起來似乎化身1006指向或抓取項目ΙΟΙΟζ。另外,當項目IOlOz 的大小增大時它變得突出,如同鄰近項目IOlOy真的變小一樣。在項目IOlOz上方的鼠標 懸停情形還導致輸出項目ΙΟΙΟζ,例如通過在輸出區(qū)域1014中顯示項目ΙΟΙΟζ,或通過使用 文本語音轉(zhuǎn)換器以使用揚聲器發(fā)出項目IOlOz的音。因此鼠標懸停情形可以將相關聯(lián)的項 目置于預先選擇的、激活的或突出的狀態(tài),盡管項目的預先選擇或突出沒有嚴格地要求項 目改變其外觀。當用戶在他們身體周圍的空間中將他伸展的手移動到接近他的頭部上方的定義區(qū)域內(nèi)的位置時,并且當檢測到該更加垂直的位置時,用戶界面1000過渡到狀態(tài)1004c。該 手位置映射到控件1002的項目1010s上方沿基準線1009的新光標位置。使化身1006的 手臂IOllb活動起來,并且跟隨用戶的手在空間中的運動。由于用戶的代表接近項目或越 過基準線1009,因此被接近的項目通過增大尺寸而變得突出,并且隨著代表遠離突出的項 目行進,項目減小尺寸。當用戶選擇物理按鈕或執(zhí)行另外的選擇示意動作(例如用他的另一只手執(zhí)行的 示意動作,或通過改變他的手姿勢)時,可以輸出激活的項目1010s。也可以通過將代表 懸停在字母上方持續(xù)預定時間段,或者通過在標簽式光標位于字母上方的同時選擇鍵盤按 鍵,來出現(xiàn)選擇。字母的選擇(或潛在選擇)可以導致項目變得突出,從而沿基準線將字母 區(qū)分開?;砘蛴糜诙x基準線位置的其它目標可以自身與項目交互,如同用戶的運動映 射到化身1006的手臂IOllb的動作的情況一樣。在狀態(tài)1004d中,已經(jīng)選擇項目1010s。一旦選擇,項目就返回到它們初始的非突 出的情形。另外,化身1006的手臂IOllb返回到其鄰近軀干1012的初始放松位置。例如 在輸出區(qū)域1014中輸出選擇的項目1010s。如各種狀態(tài)所示,可以使用增強的控件,以便于從組成字母表的字母組中選擇一 個字母或多個字母。通過將這些項目沿基準線定向或?qū)剩@些項目顯示得不重疊、不阻塞 或不以其它方式模糊化身或其它目標,從而使得用戶能夠直觀地選擇項目。使用圖2所示的裝置,可以調(diào)用、輸出和使用增強的控件。簡言之,該處理可以包 括相對于用戶界面內(nèi)的一個目標定義基準線,以及在不使目標模糊的條件下顯示以基準線 對準的項目。另外,基于接收選擇所顯示項目中的一個項目可以輸出所選擇的項目。更具體地,可以相對于用戶界面內(nèi)的一個目標定義基準線。這可以在當用戶手動 地表明應該顯示增強的控件時、或者當確定項目是將輸入的項目時(例如用戶前進到文本 輸入?yún)^(qū)時)開始。因為,通過增大突出的項目的大小,可以使用增強的控件以沿著基準線顯 示更多的項目,其中如果所有的項目具有相同的尺度,那么該基準線通常將適合于用戶界面內(nèi),因此,也可以在確定了在不使用增強的控件條件下所有的項目無法有效地顯示在用 戶界面內(nèi)之后開始基準線的定義。這樣做,增強的控件為項目子集提供以充分的或有效的 大小顯示,以使得用戶能夠容易且可靠地選擇特定項目。 簡要地參考前述,圖11示出了用戶界面1101,該用戶界面1101包括目標1102(用 虛線描述)和還包括基準線1104的控件1105。盡管在圖11中將基準線1104示出為虛線, 但是在其它示例性的實施方式中,基準線1104描述為實線或完全不描述??丶?105使得能夠直觀地選擇或輸出諸如字母1106的項目,同時使得能夠在鄰 接、靠近、部分地或完全地由基準線1104界定或圍繞或定義的區(qū)域中示出一部分或全部目 標1102。當確定將輸出或所選擇的項目時,例如當用戶選擇要求文本數(shù)據(jù)輸入的輸入字段 時,控件定位在用戶界面1101中這樣的位置該位置使得能夠顯示項目1106和目標1102, 并且由此相對于、對于、基于或關于目標1102定義。換種說法,目標1102的位置可以表示 這樣的錨位置基準線1104和控件1105的其它元素可以關于該錨位置定向或?qū)?,或其?元素可以相對于該錨位置定位。為了確定該錨位置,確定將通過其來定義基準線1104的目標和該目標的位置。在 一些情況下,可以預先確定或預定義目標,這些情況例如連同化身、用戶的圖像、旋鈕、圖 標、列表、數(shù)據(jù)表、數(shù)據(jù)圖形、文本輸入字段、另外的控件或微件、或用戶界面1101的已知空 白區(qū)域一起輸出控件1105或者控件1105包括上述的情況。在其它情況下,當將輸出控件 1105時,動態(tài)地確定目標,這些情況例如在用戶跳格到文本字段并且該文本字段用作目標 的情況,在基于用戶界面1101的當前狀態(tài)對用戶界面1101的空白區(qū)域定位的情況,在動態(tài) 地確定屏幕上最大的、突出的、最鮮艷或最不鮮艷的目標成為目標的情況,或動態(tài)地確定焦 點對準的元素、區(qū)域或窗口為目標的情況。在這些或其它情況中,檢測目標1102的大小、形狀、位置、邊界或其它背景,并且 關于這些檢測到的背景定義基準線1104。例如,可以將基準線1104定義成與目標或一部分 目標具有重疊或非重疊的關系、平分的關系、劃分的關系、空間約束或限制的關系、或任何 其它關系,例如基于目標1102的大小、形狀、比例或解剖模型的關系??傊似渌?,用戶界面1101包括可以是用戶代表的目標1102以及組成項 目集合的項目1106??梢砸詣討B(tài)的方式顯示項目1106,使得項目1106顯示的大小和位置 使得用戶能夠便利地且可靠地選擇每個項目。因為可能不能夠使得每一個項目1106都適 合于用戶界面1101或以大尺寸與基準線1104對準,因此可以以較大的尺寸呈現(xiàn)項目1106 的子集。圖12和圖13示出了示例性的基準線布置以及基準線和目標之間的示例性關系。 在圖12中,基準線1201是直的,并且定義成與目標1202重疊,或劃分目標1202的頂部三 分之一,或使目標的頭部1204與目標1202的軀干1205分開。在圖13中,基準線1301是 彎曲的,并且定義成頂部距目標1302上方某個像素的距離,或者不使目標1302變模糊,或 者在目標1302的手臂1304 (或其它控制部分)的動作范圍內(nèi)??梢韵鄬τ谀繕硕x基準線,使得以基準線對準的項目在目標的到達范圍內(nèi)。如 圖13所示,彎曲的基準線1301形成弧形,使得化身1302的其中一個伸展的手臂1304能夠 到達任何單個項目或項目子集。在一些情況下,基于化身1302的手臂1304的長度可以確定 彎曲的基準線1301的曲率半徑,以使得當其中一個手臂1304處于伸展和頭頂上的位置時,彎曲的基準線1301的位置相應于其中一個手臂1304的自然擺動。在其它情況下,可以基 于輸入裝置的范圍(例如,傾斜傳感器的傾斜角度的范圍,或視頻游戲控制器上方向鍵的 運動范圍)確定彎曲的基準線1301的曲率半徑。在其它情況下,基于用戶的動作范圍(例 如,根據(jù)用戶手臂的長度)可以確定彎曲的基準線1301的曲率半徑。確定用戶的動作范圍 可以包括檢測用戶的身份(使用面部檢測),以及基于特定用戶的年齡、性別或關于用戶的 其它信息來估計該用戶的動作范圍。盡管已經(jīng)將基準線描述為位于項目下方,其中光標在基準線上方移動以選擇項 目,但是可以是其它布局和配置。例如,基準線可以定位在可選擇項目的上方,或可選擇項 目的側(cè)面,并且可以水平地、垂直地或?qū)堑爻?。除了圖12和圖13中示出的直的和彎曲的基準線之外,基準線可以采用鋸齒形、圓 形、多邊形或任何其它形狀。基準線的起點和終點可以水平地或垂直地對準,或者這些點可 以不處于任何類型的對準中?;鶞示€可以是圓形的和連續(xù)的,從而基準線沒有受限的起點 或終點(或沒有出現(xiàn)起點或終點),或起點和終點是一致的?;鶞示€自身可以是運動的或被 活動起來的目標,使得沿基準線對準的項目自身恒定地或間歇地運動或活動??梢曰趶碗s的解剖模型確定動作范圍,例如模仿生物運動限制或人體能力并且 將這些能力應用于化身或用戶的模型。還可以使用更簡單的拇指規(guī)則,例如化身手臂可到 達的距離等于化身頭部的大小乘以乘數(shù)的估計方法。在任何情況下,通過目標的一些方面 來定義基準線的具體定位、定向、對準、或構造。為此,可以說目標1302由基準線1301包圍?;谀繕说奈恢?,可以動態(tài)地將基準線定義為圍繞一部分已確定的位置。如果目 標或目標的一部分位于圓周內(nèi),并且基準線定義為該圓周的任何一部分的弧線,那么可以 將基準線視為圍繞目標。例如如圖13所示,如果延伸的話,那么基準線1301將形成圍繞大 部分目標1302的圓周,除了表示目標1302的手指的、將伸到圓周之外的小區(qū)域之外。由于基準線的定義可以是動態(tài)的,因而可以實時地或接近實時地重新定義基準 線,使得用戶可以察覺或觀察基準線的重新定義或重新定位。例如,當檢測到?jīng)]有其它目標 鄰近目標時,基準線可以初始地定義為在該目標上方,如圖13所示。如圖14所示,如果第 二目標1401進入控制目標1404的左側(cè)的用戶界面1402內(nèi),那么可以對基準線1405重新 定義或重新定位以遠離第二目標1401,或者被動態(tài)地定義為在與第二目標1401相對的控 制目標1404的一側(cè)。第二目標可以相應于相機圖像中的第二用戶、通過網(wǎng)絡控制的第二用 戶的化身、通過程序控制的非參與人物的化身或其它類型的目標。該特征可以有利地使增 強的控件能夠更加有效地應用于具有多個運動目標的非靜態(tài)用戶界面。定義基準線還可以包括確定化身的控制部分的動作范圍,以及在控制部分的動作 范圍內(nèi)定義基準線,其中可以沿控制部分的動作范圍的外邊緣來定義基準線。例如,可以基 于化身的手臂長度確定垂直朝向的基準線1405的曲率半徑,使得當手臂處于到一側(cè)的伸 展位置時,垂直定向的基準線1405的位置相應于化身的手臂的自然擺動。在另一例子中,例如在項目的數(shù)量太大而不能與單個基準線相關聯(lián)的情況下,或 者在用戶界面擠滿其它元素的情況下,每個項目可能實際上表示多個項目或項目簇,或者 可以將基準線劃分成多個部分并且由此可以定義不連續(xù)的部分,或者可以定義多個基準 線。在圖15中,因為用戶界面1500包括幾乎占據(jù)其整個垂直長度的目標1501,因此基準線 1502定義有非連續(xù)的部分或區(qū)域1504 (如虛線所示),從而有效地將基準線1502劃分成基準線部分1502a和1502b。在圖16中,因為待選擇或輸出的項目的數(shù)量大,并且可能使得難以在單個基準線 上顯示或選擇項目或不直觀,因此在用戶界面內(nèi)定義兩個基準線1601和1602。盡管基準線 1601和1602示出為具有相同的一般形狀且平行,但是不是必須采用這兩個特征。例如,基 準線1601可以是一般沿目標1604的左側(cè)垂直對準的鋸齒形基準線,基準線1602可以是定 義成與目標1604自身的軀干重疊的六邊形基準線,或在所有側(cè)完全圍繞目標1604的圓形 基準線。第一基準線上的項目的選擇可以產(chǎn)生與第二基準線對準的項目的顯示或定義,例 如在第一基準線用于字母字符的選擇的情況下,在這種情況下,一旦選定了字母字符,以第 一基準線上顯示的字母字符開始的名稱(或其它項目類型)就在第二基準線上顯示或輸
出ο代替相對于目標來定義基準線,還可以基于用戶界面的邊界來定義或定位基準 線。例如,基準線可以定義成從用戶界面的一個邊緣(或靠近一個邊緣的點)延伸到相對 的邊緣(或靠近相對邊緣的點)。可以基于用戶界面的位置或其它部件,例如,相對于桌面 圖標、用戶界面按鈕、或虛擬世界內(nèi)的目標,來定義或定位基準線?;鶞示€可以是關于用戶 界面的邊界對稱的或不對稱的??梢栽谀:繕嘶虿荒:繕说臈l件下顯示與基準線對準的項目。如果每個項目 的底部、中間、右側(cè)、左側(cè)、中心或其它部分在基準線上,或設置成平行于基準線上與項目相 應的點,那么項目可以與基準線對準。例如在圖11中,因為各個項目的一部分平行于基準 線1104,所以即使項目1106a和1106z沒有彼此嚴格地對準,項目1106a和1106z也都各自 與基準線1104對準。當顯示時,對準的項目1106整體上呈現(xiàn)基準線1104自身的通常形狀 或外表。圖12還示出了與基準線1201對準的項目,因為基準線1201是直的,因此第一項 目1206a和最后的項目1206z —般也彼此對準。如圖17的用戶界面1700所示,在每個項目的中心或其它內(nèi)部點與基準線1701對 準的情況下,每個項目可以繞其中心旋轉(zhuǎn),以給予所顯示的項目不那么完全一樣或者看起 來比較隨機化。還可以通過將項目偏移到基準線上方和下方(或平行于基準線的一些其它 線)來進一步強調(diào)該隨機化,使得一些項目出現(xiàn)在基準線上方而一些項目出現(xiàn)在基準線的 下方,雖然成批的項目一般仍與基準線對準,或呈現(xiàn)由基準線定義的一般外表、感覺、方向、 配置或布置。項目可以沿基準線均勻地分布或者也可以不均勻分布。例如,項目可以初始地均 勻分布,然后當光標懸停在具體項目上且該項目調(diào)整大小時不均勻地重新分布??商鎿Q地, 默認或優(yōu)選的項目可以沿基準線分布,以看起來與較不優(yōu)選的項目相比較為突出。另外,通 過模板或算術函數(shù)可以確定項目之間的間隔,或者該間隔可以是完全地隨機化的。因為當顯示目標時,目標或至少一部分目標是可見的,因此認為目標是不模糊的。 換種說法,通過在不模糊目標的條件下顯示項目,項目不會完全重疊或者妨礙目標的可見 性。項目的一些特征,例如項目的透明性、顏色或線寬可以改變(或選擇性地改變,例如在 項目將重疊目標的地方),以使得目標差不多是可見的。在第一時間點可以在不模糊目標的條件下顯示項目,例如初始地顯示項目的時 間,并且在早于或晚于第一時間點的第二時間點,項目可以模糊、遮蔽、使暗淡、妨礙或重疊目標或一部分目標。舉例來說,圖12和圖13中分別示出了在不模糊各個目標的條件下顯 示的項目,因為各個目標的至少一部分在用戶界面內(nèi)是可見的。在另一例子中,圖16示出 了在不模糊相關聯(lián)的目標的條件下顯示的項目,因為任一項目都沒有哪一部分重疊、妨礙 或干預用戶界面內(nèi)相關聯(lián)的目標的任何部分的可見性。例如使用鼠標或相機輸入,可以接收對所顯示的項目其中之一的選擇。在一個實 施方式中,用戶界面可以定義圍繞每個項目的這樣的區(qū)域其中如果在一個項目的相關聯(lián) 區(qū)域內(nèi)檢測到光標或目標的控制部分,那么就選擇該項目??梢曰谟脩舻慕换討B(tài)地重 新定義該區(qū)域,例如,基于鼠標懸停情形或者當檢測到光標已經(jīng)越過基準線時就增大尺寸, 或者當光標遠離、突出不同的項目或再次越過了基準線時就減小區(qū)域的尺寸。如下文更詳細的描述,根據(jù)用戶使用的實現(xiàn)選擇的輸入單元類型,可以經(jīng)由多種 方法出現(xiàn)項目的選擇。例如,該選擇可以是使用鼠標的、基于光標的用戶選擇,其中用戶將 鼠標的光標定位或懸停在將選擇的項目上方(導致鼠標懸停事件),壓下鼠標按鍵(導致鼠 標按下事件),以及釋放鼠標按鍵(導致鼠標釋放(mouseup)事件)。也可以使用其它鼠標 事件,以便使用鼠標選擇項目,例如點擊事件,連按(雙擊)事件,或僅鼠標懸停事件。使用鍵盤,用戶可以從一個項目跳格到另一個項目,并且選擇另外的鍵盤按鍵 (例如,空格鍵或返回鍵)以選擇突出的項目,或者用戶可以開始鍵入字符以縮減期望的項 目或識別期望的項目以進行選擇。使用視頻游戲控制器或手持式遙控器,用戶可以壓下方 向鍵來改變突出的項目,或壓下按鈕來選擇突出的項目。使用具有傾斜傳感器的移動裝置, 用戶可以使裝置向左、向右、向上或向下傾斜,以向左、向右、向上或向下移動光標或其它指 示器,直至突出期望的項目,然后壓下按鍵或搖動移動裝置以記錄該選擇。使用觸摸屏裝 置,用戶可以直接地觸摸輸出期望項目的用戶界面X和Y坐標。使用語音界面,用戶可以說 出命令,例如“tab (跳格)”、“l(fā)eft (左)”、“right (右)”、“select (選擇)”或者使光標在 項目之間移動的其它相似語音命令,并且選擇期望的項目。用戶可以使用鼠標或視頻游戲控制器來直接地控制化身。例如,使用視頻游戲控 制器,用戶可以移動模擬控制棒來移動化身的手臂,從而將模擬控制棒的角度映射到化身 的手臂的角度。用戶可以使用動作拍攝裝置來直接地控制化身,從而化身的手臂模仿用戶 真實的手臂動作。在此描述的增強的控件與基于控制系統(tǒng)的視頻相兼容。具體地,相機可以檢測圖 像,例如用戶的圖像,并且圖像的部分、圖像內(nèi)的動作或從圖像識別的示意動作可以實時地 或接近實時地動態(tài)映射到光標。例如,圍繞用戶的檢測區(qū)域可以定義為在場景內(nèi)用戶的圖 像中,并且可以檢測目標(例如手)在檢測區(qū)域內(nèi)的位置?;跈z測到的目標的位置與增 強的控件交互。盡管為了簡要省略了其它輸入機制、方法或技術的進一步描述,但是可以說,可以 使用任何想到的方法、技術或機制來自動地或手動地選擇項目。目標可以是用戶的代表,例如化身。通過在用戶界面內(nèi)顯示用戶的代表,減少了訓 練需求,這是因為,用戶可以容易地識別目標相對于項目位置的位置,并且可以快速地移動 光標或化身的控制部分(例如手)的位置,以與期望的項目位置相一致。在此方面,光標或 化身的控制部分的位置用于檢測對用戶界面中顯示的項目的選擇或“觸摸”。在目標是化身的情況下,可以將化身的潛在控制部分指定為將被活動起來的控制部分。例如,控制部分可以是化身的一個或多個手臂、腿、肘、膝蓋、手或手指;或化身的頭部 或軀干;或化身的身體特征,例如鼻子、眼睛、耳朵、肚臍、頸部或頭發(fā);或化身的衣服、佩戴 物或其它穿著,例如衣服、珠寶或其它個人物品。隨著接收到用戶輸入,指定的控制部分被 活動起來以與項目交互或給出與項目交互的景象。
在目標具有旋鈕或開關外觀的情況下,控制部分可以是從目標主體延伸的箭頭, 并且目標可以旋轉(zhuǎn)到朝向項目的點。在目標包括粒子系統(tǒng)效應的情況下,例如火焰、等離子 體、閃電的模擬或液體,粒子可以形成指向項目的延伸,例如閃電或水滴的變形,從而給出 與項目交互的景象。例如在圖13中,目標1302是化身,并且化身的手臂1304a指定為控制部分。隨著 用戶移動或使他們的手臂在他們身體周圍的空間中向左或向右運動,手臂1304a被活動起 來以分別地向左或向右移動,并且基于項目接近手臂,或更具體地來說接近手臂上的手或 手指,來選擇項目。類似地,手1307也可以指定為控制部分。在相似的配置中,用戶的單只 手或雙手在他們身體周圍的空間中向上或向下的動作可以致使手臂1304a或手1305向上 或向下運動,例如以與人的動作相合的方式。因為在手臂1304a或手1305沒有接近項目或基準線(或沒有與之交互)的一些情 況下,這些向上或向下的動作可以使手臂1304a或手1305遠離項目,因此項目表面上的“選 擇”將不會導致輸出項目。通過定義基準線使得化身大部分在基準線下方,通過將化身的手 定位在化身的頭部上方并且在基準線上方,可以出現(xiàn)由目標進行的字符或項目的選擇。指定化身的潛在控制部分作為控制部分可以動態(tài)地交換到另外的控制部分。例 如并且再次參考圖13,如果用戶交換他們用作控制目標的手臂,或向右移動單個手臂經(jīng)過 與項目1306η相關聯(lián)的位置,那么控制部分就可以從左臂1304a轉(zhuǎn)換到右臂1304b,使得左 臂1304a能夠沿基準線1301與項目1306η左側(cè)的所有項目交互并進行選擇,以及使得右臂 1304b能夠沿基準線1301與項目1306ο右側(cè)的所有項目交互并進行選擇。這樣的特征可以 增加用戶體驗的視覺愉悅性,因為代替僅僅使用簡單的鼠標光標沿著項目選擇項目,用戶 看起來像是控制以現(xiàn)實和直觀方式反應的化身。如果出現(xiàn)交換,并且不再將左臂1304a指定為控制目標,那么使左臂1304a活動起 來以返回到松弛的、休息的或放松的位置,例如沿目標1302的體側(cè)的位置。相反地,這樣的 交換將導致右臂1304b被無痕跡地活動起來,以沿著目標1302的體側(cè)從放松位置移動到之 前由手臂1304a占據(jù)的位置,或鄰近該位置的位置。繼續(xù)該例子,如果用戶沿基準線在由項 目1306η和1306ο限制的空間之間來回地快速移動他們的手臂或雙臂,那么化身將以愉悅 的、幽默的或視覺上刺激的方式交替地使他們的手臂從目標1302的側(cè)部擺動到目標1302 的頭上。在另一例子中,可以將化身的眼睛指定為控制目標,并且他們可以看起來可以沿 基準線凝視或跟隨項目,該基準線可以圍繞目標。沒有指定為控制目標的其它部分化身也 可以被活動起來,例如看起來對突出的項目反應,或基于突出的項目將化身定位在期望的 姿勢或更加現(xiàn)實的姿勢中。在一個實施方式中,可以使化身的嘴活動起來,以看起來似乎在 說話或用語言表達所選擇的或突出的項目,或者可以使化身的頸部或頭部活動起來以伸長 脖子,從而增加強調(diào)化身正在盡力看或考慮突出的目標的景象。以類似的方式,如果在用戶界面中顯示多個目標(例如,多個化身),那么當接近于突出的字母或增強的控制時,可以基于用戶選擇或基于任何其它因素換入第二目標作為 控制目標。因此,控制部分或控制目標的指定可以從第一潛在控制部分或目標交換到第二 潛在控制部分或目標,或從第二潛在控制部分或目標交換到第一潛在控制部分或目標??梢暂敵鏊x擇的項目。輸出所選擇的項目還可以包括顯示所選擇的項目,輸出 所選擇的項目的電子標記,或通過在用戶界面內(nèi)改變所選擇的項目的顏色、不透明度或大 小來突出所選擇的項目。所選擇的項目或所選擇的項目的標記可以輸出到另外的裝置或存 儲介質(zhì)以供后續(xù)使用。在圖11中,所選擇的項目1106r的顏色、不透明度或大小已經(jīng)改變到第一級別或 程度,從而使得所選擇的項目11061 在沿基準線1104顯示的所有項目中看起來最大,并且 與所選擇的項目1106r等距且鄰接的項目1106p和1106t的顏色、不透明性或大小已經(jīng)改 變到第二較低級別或程度。仍然通過改變鄰接項目的顏色、不透明度、大小或其它特征,用 戶能夠較容易地識別光標的位置或所選擇的項目的位置,增加直觀特性和控制器的易于使 用性。即使在沒有明確地呈現(xiàn)光標圖像的情況下,項目的顏色、不透明度、大小或其它特征 也可以指示光標位置。因為增強的控件使得在給定時間點能夠選擇少量的項目,從而大部分項目保持未 選擇,所以可以減小未選擇項目的大小以使得能夠在用戶界面內(nèi)顯示大量的項目。然而,增 大考慮選擇的某些項目的大小可能會增大考慮選擇的項目的整體識別或可讀性,從而提高 控件的可靠性。換種說法,通過減小未選擇項目的大小,能夠比分開地選擇或觸摸給用戶呈 現(xiàn)數(shù)量更多的可選擇項目。如下面更加詳細地描述,在用戶界面1101的輸出區(qū)域1107中可以連同之前選擇 的項目1106f以及預測項目1109 —起輸出所選擇的項目1106r,預測項目1109是基于當前 選擇的項目和之前選擇的項目,使用預測或預言試探法動態(tài)地確定的。增強的控件提供了從項目集合中屏幕(on-screen)選擇項目,例如從字母表中選 擇字母。顯示用戶代表,以使得代表可以便利地且可靠地觸摸沿基準線或相對于代表動態(tài) 定位的弧線對準的可選擇項目??梢栽诖淼囊徊糠峙c沿基準線的項目區(qū)域交互的情況下 確定觸摸。當代表的一部分進入觸摸區(qū)域時,可以放大或突出接近該觸摸區(qū)域的項目。盡管在上文中將基準線描述為相對于用戶界面的邊界或目標在二維中定義,但是 也可以在三維中定義基準線。例如,并且如圖18所示,基準線1801可以具有一般在與用戶 界面相同的X-Y平面內(nèi)定義的第一基準線部分1802,以及一般在Z平面內(nèi)定義的第二基準 線部分1804,Z平面看起來相對于用戶界面的X-Y平面正交地延伸??梢允褂闷渌矫婊?軸o使用三維的基準線,能夠用控件顯示的項目數(shù)量會呈指數(shù)增長。例如,除了通過左 右移動化身1806的手臂來選擇基準線1801上的項目“0”之外,用戶可以在空間中向前或 向后移動他們的手臂來選擇其它項目,當該其它項目被選擇時在輸出區(qū)域1809中顯示,例 如字符“b” 1807?;鶞示€部分1802和1804這兩者都定義在化身1806的手臂的三維方向 上可以到達范圍內(nèi)。另外,盡管上文已經(jīng)將基準線描述為包括離散的起點和終點,但是在其它實施方 式中,基準線可以不具有起點和終點,或可以具有沒有起點和終點的外觀,或起點和終點可 以一致。例如,圖19中的用戶界面1900包括用于選擇項目1902a至1902g的圓形基準線
261901。圓形基準線包括起點1905和終點1906,然而這些點相一致,且與任何其它點相比在基準線1901上沒有突出或可見。另外,并且與一些其它示例性控件不同,項目1902a至1902g各自相應于將由應用 調(diào)用的功能,如圖標所示。例如,當化身1904選擇地球圖標1902a時,可以調(diào)用映射應用。 同樣地,可以以直觀地且視覺上愉悅的方式使用在此描述的增強的控件,用于字符的選擇 以及用于調(diào)用更復雜的功能性。其它圖標可以表示其它功能,包括諸如音量調(diào)大和調(diào)小功 能的媒體功能、發(fā)送郵件功能、禁止控制功能或圖像瀏覽功能。圖20至圖24示出了在沿基準線2002對準的項目集合2001中具體項目的示例性 選擇。在圖20中,映射到且描述為化身的手的光標2004朝向感興趣的項目2001r移動。在 圖21中,光標2004的位置越過基準線2002。越過基準線2002可以起動進一步的檢測處 理,該檢測處理基于每個項目和光標2004之間的距離,選擇或識別項目2001的子集2101。 基于用戶的手在圍繞他們身體的空間中的位置來確定光標2004的位置,如在相機圖像中 檢測一樣。以更大的尺寸或字體比例顯示項目2001的子集2101,便于用戶更容易選擇。可以 響應于檢測到光標2004已經(jīng)越過基準線2002,出現(xiàn)項目2001的子集2101的選擇以及項 目2001的子集2101的放大顯示,或者不管光標2004相對于基準線2002的位置為何都可 以出現(xiàn)。當在基本位置2102檢測到光標2004越過基準線2001或者檢測到已經(jīng)選擇項目 時,就可以生成用戶反饋,包括例如聲音、肖像和/或諸如振動的觸覺輸出。在圖22中,用戶選擇感興趣的項目2001r。突出子集2101使得用戶能夠選擇包括 感興趣項目2001r的一般區(qū)域,“放大”該區(qū)域內(nèi)的項目,以及可靠地且便利地選擇感興趣的 項目2001r,該項目2001r表示字母“R”??梢允褂檬髽耸录?、鍵盤或鍵區(qū)敲擊、示意動作識 另O、基于相機的輸入或通過許多其它方法來出現(xiàn)選擇??梢杂迷S多方式檢測基本位置2102的位置,該基本位置表示光標2004已經(jīng)越過 基準線2001的位置。例如,并且如圖23所示,基本位置2102的位置可以確定為基準線2001 上這樣的位置該位置是在檢測出光標2004在基準線2001上方之后的時刻觀察到的最靠 近光標2004的位置,或最靠近諸如項目200Ir的突出項目的位置。也可以使用其它方法檢測基本位置。例如,可以在光標2004越過基準線2001時, 或者在越過基準線2001之前和之后的時間使用光標2004的位置,檢測基本位置2102的位 置。例如,圖24示出了端點2401以及端點2402,端點2401表示在越過基準線2002之前 的時間觀察的光標2004的位置,端點2402表示在越過基準線2002之后的時間觀察的光標 2004的位置?;疚恢每梢源_定為由端點2401和2402定義的線段2404與基準線2001的 交叉點。突出項目2001的子集2101可以包括確定沿組成子集2101的項目的基準線2001 的位置。在一些實施方式中,選擇位于接近基本位置2102的項目為項目2001的子集2101 的將突出(例如,以大尺寸顯示)的部分,使得接近基本位置2102的項目保持在或接近它 們初始的非突出的位置,并且更加遠離基本位置2102的項目向外移動,以適合項目2001的 子集2101的尺寸增大。下面的方程(1)可以用于在已經(jīng)突出子集2101之后確定不在子集2101內(nèi)的項目 的位置。<formula>formula see original document page 28</formula>在方程(1)中,Xi表示在初始狀態(tài)下項目i沿基準線的位置-X i表示在放大狀 態(tài)下項目i沿基準線的位置;Xb表示沿基準線的基本位置;Si表示在初始狀態(tài)下項目i的 基本尺寸;并且S' i表示在放大狀態(tài)下項目i的尺寸。圖25示出了在突出項目的子集之前的第一狀態(tài)2501中以及在突出項目的子集之 后的第二狀態(tài)2502中項目的子集。例如,如果光標2505最初越過項目“S”下方的基準線 2505 (使得基本位置2506與項目“S”相一致),那么項目“S”就保持在其初始位置,而項目 “R”相對于其初始位置左移距離2507。因此,第二狀態(tài)2502表明在突出顯示后項目的縮放 大小和位置。圖26示出了在突出項目的子集之前的第一狀態(tài)2601中以及在突出項目的子集 之后的第二狀態(tài)2602中項目的子集。例如,如果光標2604越過項目“Q”下方的基準線 2605 (使得基本位置2606與項目“Q”相一致),那么項目“Q”將保持在其初始位置,并且項 目“R”相對于其初始位置右移距離2607。因此,第二狀態(tài)2602表明在突出顯示后經(jīng)縮放的 項目。因而,用于選擇具體項目的光標2604的位置可以取決于光標2604最初地越過基準 線2605的位置。圖27示出了在與突出項目子集相關聯(lián)的狀態(tài)2701至2704下項目的子集。具體 地,圖27示出了項目2710的第一子集2706至第三子集2708的選擇和突出的概況??梢?根據(jù)相對于第一子集2706和第二子集2707的光標2711的位置,分別對第二子集2707和 第三子集2708定位。在第一狀態(tài)2701中,項目2710反映它們初始的沒有突出的大小和位置。在狀態(tài) 2702中,已經(jīng)選擇和突出項目2710的第一子集2706。在狀態(tài)2703中,已經(jīng)選擇和突出項 目2710的第二子集2707。在狀態(tài)2704中,已經(jīng)選擇和突出項目2710的第三子集2708。在狀態(tài)2702中,光標2711最初地越過項目“S”下方的基準線2712 (使得基本位 置與項目“S”相一致),項目“S”保持在其初始位置,并且周圍的字母從它們的初始位置向 外移。從狀態(tài)2702過渡到狀態(tài)2703,如果光標2711向右移動,那么選擇光標2711的距離 內(nèi)項目2710的第二子集2707。在狀態(tài)2703中,如果光標2711沿基準線2712移動以與放 大的項目“T”相一致,那么項目“T”保持在其放大的位置,并且沿基準線2712進一步朝向 右側(cè)移動距離2715來突出項目“V”。如果在基準線2712上沒有足夠的空間用于某些項目,例如項目“W”至“Z”,那么 這些項目就被“推出”基準線的末端,并且不顯示。從狀態(tài)2703過渡到狀態(tài)2704,如果光 標2711朝向基準線2712的右端繼續(xù)移動,那么也可能沒有足夠的空間顯示作為第二子集 2707的一部分的另外的項目,并且可以組成第三子集2708 (作為第二子集2707的子集)。為了選擇第二子集2707的右側(cè)部分上的項目,例如項目“U”,或已經(jīng)被“推出”基 準線的末端的項目,例如項目“W”至“Z”,用戶可以用光標2711再次越過基準線2712,并且 第三次越過基準線2712以建立更靠近期望項目的新基本位置。另外,代替將項目“推出”基 準線2712的右端,而可以將基準線左端上的項目“推出”,以容納否則將被“推出”右端的項 目的顯示。在一些實施方式中,代替“推出”項目,可以根據(jù)基準線上可用的空間來減小項 目大小,使得所有的項目顯示在基準線上。
在其它實施方式中,被“推出”基準線右端的項目可以再次出現(xiàn)在基準線左端。在 采用連續(xù)的(例如圓形的)基準線的實施方式中,項目可以繞基準線推進。因此,在用戶可 以繞連續(xù)的基準線順時針移動光標的圓形基準線的例子中,排除在項目的當前子集中以外 的項目可以以比光標更小的角速度順時針流動(它們?yōu)轫椖框v出空間以便當增加到子集 時提高速度的)。在該例子中,對于項目繞基準線的一次回轉(zhuǎn),光標可以繞基準線移動多次 回轉(zhuǎn)。
可以使用滾動(scrolling)以便于選擇否則將被推出基準線末端的項目。滾動可 以包括檢測光標2711是否在基準線2712末端的預定距離內(nèi),并且將某一速度應用于項目 位置。在相對于基本位置來計算項目位置的情況下(參見上文中的方程(1)),可以將速度 應用于基本位置,并且因此可以移動項目。圖28示出了示例性的速度函數(shù),其中橫軸2801表示沿基準線的位置,并且縱軸 2802表示速度。使用該速度函數(shù),當光標位置接近基準線末端時,通過施加速度來移動或轉(zhuǎn) 移項目,當光標位置在基準線的中間時,不移動或轉(zhuǎn)移項目(因為速度是零)。圖29示出了這樣的示例性縮放函數(shù),其用于基于光標位置相對于基準線的距離 (由橫軸2902反映),縮放項目子集中的項目的大小(由縱軸2901反映)。如曲線2904所 示,項目(S' 0的大小因此可以是光標的當前位置的函數(shù)。通過參考點2905確定與非突 出項目或所有項目(如果光標沒有越過基準線的話)相關聯(lián)的基本尺寸(Si),而線2906定 義與突出項目相關聯(lián)的最大尺寸。在一個示例性的實施方式中,曲線2904靠近點2905的斜率大約是1 1,因此隨 著與光標接近距離的減小,項目大小看起來線性地且按比例地增大。項目將開始增大接近 最大尺寸,以隨著光標變得逐漸接近于突出的項目而產(chǎn)生審美愉悅的過渡。圖30和圖31示出了增強的控件的縮放特征的使用,特別是出現(xiàn)在光標3001越 過基準線3002時。高度3004表示光標3001的位置和基準線3002之間的距離,并且高度 2005表示子集3007中的項目的大小,例如項目3006r。子集3007中項目的高度3005基于 高度3004而縮放,使得項目在圖30中看起來比在圖31中更大,在圖30中,光標3001已經(jīng) 越過基準線3002較小量,而在圖31中,光標3001已經(jīng)越過基準線3002更小的量。如上, 可以使用基于相機的輸入來確定光標3001的位置。圖32和圖33示出了示例性的基準線,其中突出了項目的子集。具體地,圖32示 出了示例性的基準線3201,其中以放大的方式顯示項目3204的子集3202。選擇項目3204 的子集3202可以包括選擇預定數(shù)量的項目,或基于項目的大小動態(tài)地一定數(shù)量的項目以 包括在子集3202內(nèi)??梢詣討B(tài)地選擇包括在子集3202內(nèi)的一定數(shù)量的項目,使得子集3202的項目跨 越基準線3201的整個長度3207,或者它們可以跨越一部分基準線3201。如圖32所示,也 可以沿基準線3201顯示不包括在子集3202中的項目3205a和3205b??梢曰谧蛹瘍?nèi)項 目的大小改變子集3202中項目的數(shù)量,例如子集3007 (圖30中)顯示五個項目,而子集 3007 (圖31中)顯示三個項目,即使子集3007的寬度保持一樣。通過以大尺寸顯示子集的項目來突出項目可以包括以相同的大尺寸顯示所有突 出項目,如圖32所示,或通過在子集內(nèi)以這樣的大小顯示各個項目該尺寸取決于各個項 目相對于光標位置沿基準線的位置,如圖25所示。
圖33示出了這樣的示例性基準線3301 其中以變化的項目大小顯示項目3304的子集3302。例如,在子集3302端處的項目3305p和3305t (分別表示字母“P”和“T”)的大 小可以比子集3302中心處的一個項目或多個項目要小,例如比項目33051 (表示字母“R”) 小。用變化的尺寸顯示子集3302中的項目可以產(chǎn)生愉悅的審美外觀,并且可以更加直觀地 使用增強的控件。如圖33所示,也可以沿基準線3301顯示不包括在子集3302中的項目 3305a 和 3305b。以大尺寸顯示子集3202和3302的項目可以包括使項目活動起來。使項目活動起 來可以包括放大子集的項目以及經(jīng)過短的時間段沿基準線平移項目的位置(例如,保持項 目垂直于基準線)??梢允共话ㄔ谧蛹?202和3302中的項目活動起來以收縮尺寸并沿 基準線朝外移動,從而為子集3202和3302 “騰出空間”?!巴瞥觥被鶞示€末端的項目可以簡單地消失,或者可以被活動為以跌出基準線的邊 緣,或以視覺上刺激或幽默的方式消滅,例如通過燃燒、內(nèi)爆、蒸發(fā)、爆炸、液化、壓碎或其它 技術。類似地,由于在基準線上產(chǎn)生空間而再次出現(xiàn)的先前被“推出”項目可以簡單地重新 出現(xiàn),或者可以被活動為從用戶界面的頂部落下返回到基準線,或以視覺上刺激或幽默的 方式自發(fā)生成。在基準線不連續(xù)的情況下,可以使項目活動起來以移動越過不連續(xù)處。可以使項 目活動為以高速移動越過間歇,或可以使用任何上述視覺效應而被活動為被“推出”和“重 新出現(xiàn)”。同樣地,可以被“推出”基準線的一端以重新出現(xiàn)在相對端上的項目活動為在基準 線端點之間高速移動,或可以使用任何上述視覺效應而被活動為被“推出”和“重新出現(xiàn)”。圖34描述了項目沿基準線的激活,其中“激活”或“突出” 一般地涉及確定項目以 進行選擇。確定項目以進行選擇的系統(tǒng)可以使用滯后現(xiàn)象。選擇可以包括確定當光標初始 地越過基準線時初始選擇的項目,其中初始選擇的項目可以是其位置在距離上最靠近基本 位置的項目。此后,為了減小當光標放置在兩個相鄰項目之間時項目之間非有意的閃爍,選 擇可以包括每當光標移動超出相鄰項目之間的中點預定距離就確定新選擇的項目。例如,由線3404r和3404s示出兩個項目3402r和3402s沿基準線3401的位置, 由線3405示出項目3402r和3402s之間的中點位置,并且距離3406表示預定義距離。例 如,如果項目3402s (也就是字母“S”)是初始選擇的項目,那么用戶將光標移動到線3407 左側(cè)沿朝向項目3402r (也就是字母“R”)的方向超過中點3405的預定義距離3406,以選 擇項目3402r。如果隨后選擇了項目3402r,那么為了重新選擇項目3402s,用戶就將光標移 動到線3409的右側(cè)沿朝向項目3402s的方向超過中點3405的預定義距離3406。考慮由無意的身體顫動或輸入單元的限制而導致的用戶運動的影響,可以基于預 期最大距離定義所述預定義距離,所述預期最大距離是在用戶嘗試保持靜止的同時,可能 預期光標搖擺或搖動的距離。當光標的位置在基準線下方時,或當沒有找到光標或光標不 在特定用戶界面內(nèi)或者不在由增強的控件占據(jù)的用戶界面區(qū)域內(nèi)時,可以取消選擇項目。 項目的選擇還可以生成用戶反饋,包括例如聲音、肖像和/或諸如振動的觸覺輸出。顯示子集的項目可以包括顯示項目以使得它們的外觀給用戶提供關于它們的選 擇狀態(tài)的反饋。例如,可以以唯一的顏色顯示所選擇的項目,或用諸如增大外觀的視覺效果 來顯示所選擇的項目。當項目處于選擇狀態(tài)持續(xù)的時間長于第一預定持續(xù)閾值時,可以激 活或突出當前所選擇的項目。在這點上,當光標保持在項目上方持續(xù)一時間段時激活該項目。如果所選擇的項目保持被選擇持續(xù)的時間長于第二預定持續(xù)閾值,就可以重復激活或 取消激活。另外,當光標的位置是固定的且持續(xù)一時間段時,可以激活或突出項目。當平行于 基準線的分量的位置改變小于預定距離閾值且持續(xù)時間長于預定時間閾值時,光標可以分 類為固定的。例如,識別和激活最靠近光標位置的項目。如果光標保持分類為固定的且持 續(xù)時間長于第二預定持續(xù)閾值,那么可以重復激活或取消激活。另外地,可以基于光標的位 置之間且相對于基準線的距離來激活項目。例如,可以在該距離超過預定距離閾值時激活 項目。在其它例子中,可以在選擇項目之后通過另外類型的用戶輸入導致激活項目。例 如,用戶可以提供另外類型的用戶輸入以激活所選擇的項目。在這些例子中,為了激活所選 擇的項目,用戶可以觸摸用戶輸入按鈕(例如,在控制器上),提供聽覺的輸入(例如,說“激 活”),執(zhí)行另外類型的示意動作(例如,朝向顯示器移動用于選擇項目的手,或移動用戶的 另一只手到顯示圖像的另外部分以激活所選擇的項目),或提供任何其它類型的用戶輸入。圖35至圖38示出了示例性的項目集合。在圖35中,具有來自英文字母表的字符 的項目3501包括項目3502,當激活或選擇該項目3502時,該項目3502打開第二項目集合。 當選擇時,可以沿基準線3504出現(xiàn)具有項目3501或項目3501 —部分的第二項目集合,或 第二項目集合可以替換基準線3504上的項目3501。從用于表示項目3502的符號中,用戶 可以直觀地確定第二項目集合包括數(shù)字。圖36示出了與基準線3602對準的項目3601。當選擇圖35中的項目3502時顯示 項目3601。一旦選擇第二項目集合,移除基準線3602下方的光標或從顯示項目3601的用 戶界面中移除光標就可以導致重新選擇或重新激活項目3501。項目3601包括項目3604, 當項目3604被激活時重新打開、重新激活或重新選擇項目3501。從用于表示項目3604的 符號中,用戶可以直觀地確定項目3501包括來自英文字母表的字符。圖37示出了與基準線3701對準的項目3701,其中這些項目各自表示已知與標準 電話鍵區(qū)上的按鍵相關聯(lián)的數(shù)字和字母的結(jié)合。圖38示出了項目3801,當選擇項目3701 的項目3702 (參見圖37)時顯示該項目3801,并且該項目3801包括與標準電話鍵區(qū)上的數(shù) 字鍵“ 7,,相關聯(lián)的字符和數(shù)字“ 7,,的結(jié)合。使用圖35至圖38中示出的項目,可以提供基于相機的文本輸入機制,例如通過順 序地將組成詞的字母填入到文本字段中。一旦激活數(shù)字、字母、文本符號或預定文本,數(shù)字、 字母、文本符號或預定文本就可以附到已經(jīng)輸入的字符串中。可替換地,項目(例如圖35 中來自項目3501的項目)的激活可以顯示更多的項目,更多項目的項目激活可以將激活的 字符附到字符串。其中一個項目可以是退格項目,以便于從項目串中去除最近的項目?;谙鄼C的文本輸入機制可以包括組合字符以組成復合字符。用于日文文本輸入 的文本輸入機制可以包括結(jié)合假名字符以組成日文漢字字符(以對于日本個人計算機鍵 盤的用戶來說熟悉的方法)。第一項目集合可以包括表示假名的項目。當激活假名項目時, 將相應的假名字符附到字符串上。項目集合可以包括表示操作的項目,該項目在被激活時 激活將串的最近假名字符轉(zhuǎn)換成日文漢字的處理。將串的最近假名字符轉(zhuǎn)換成日文漢字的 處理可以包括顯示候選的日文漢字項目的第二集合。激活日文漢字項目激活這樣的處理 其中用激活的日文漢字替換串的最近假名字符。該基于相機的文本輸入方法可以延伸到其它語言。用于日文文本輸入的替換方法可以包括顯示表示假名的第一項目集合。當激活假名項目時,顯示第二項目集合。第二項目集合可以包括日文漢字,激活的假名組成該日文漢 字的一部分。該集合可以大于上述的第二集合。該文本輸入方法可以延伸到其它語言。文本輸入機制可以包括確認項目集合中的項目。經(jīng)確認的項目在被激活時激活處 理,由此將字符串提供給應用。另外,文本輸入機構可以包括預測(predictive)文本完成 處理。預測文本完成處理可以檢索字典以發(fā)現(xiàn)包括字符串的字符的最可能文本??梢栽谳?出字段中顯示該最可能文本。可以基于其中使用了文本輸入機制的上下文來選擇用于預測 文本完成處理的字典。例如,當文本輸入機構用于輸入名稱時,字典可以包括名稱。根據(jù)應用的狀態(tài),應用處理可以確定用于用戶界面的項目。激活項目可以將消息 提供給應用處理?;谠撓⒖梢钥刂圃搼锰幚怼D39示出了包括基于相機輸入和示例性增強的控件的示例性用戶界面3900。由 于用戶可以訪問用戶界面3900上各種文本輸入字段,因此文本輸入字段用作定義基準線 的目標,并且適合于文本輸入字段的項目顯示為與基準線對準而不使文本輸入字段本身模 糊。用戶可以選擇與基準線對準的項目,以填充相關聯(lián)的文本輸入字段。盡管用戶界面3900 看起來同時示出多個可見的增強的控件,但是這樣的模擬顯示僅僅是示例性的,并且用于 示出可能的控制位置、構造、對準和項目類型。例如在其它的用戶界面中,每次將顯示一個 增強的控件。例如,如果用戶訪問文本輸入字段3901,例如通過跳格到該字段,通過用鼠標光標 選擇該字段,或通過做出合適的示意動作,則相對于文本輸入字段3901定義基準線3902, 并且項目3904顯示成與基準線3902對準,以使得不模糊文本輸入字段3901。因為文本輸 入字段3901接受文本或字符數(shù)據(jù),因此增強的控件自動確定字母字符項目3904適合于目 標類型。當用戶從項目3904中選擇項目時,文本輸入字段3901填充有所選擇的項目。代 替從基準線3902選擇項目,用戶還可以使用圍繞化身3906定義的增強的控件3905,用于用 項目填充各種字段。根據(jù)用戶打手勢以跳格或者訪問用戶界面3900中的其它字段,可以動態(tài)地定義 其它增強的控件,輸出項目用于選擇。例如,訪問社會保障號碼字段3907可以致使在字段 3907上方顯示數(shù)字項目3909 ;訪問性別字段3910可以致使在字段3910上方動態(tài)地輸出 性別項目3911 ;訪問國籍字段3912可以致使在兩個基準線3914和3915上顯示國家項目 3913,這兩個基準線3914和3915分別在字段3912的上方和下方;訪問婚姻狀態(tài)字段3917 可以致使在字段3917的右側(cè)的基準線3910上顯示婚姻狀態(tài)指示器項目3919,其中由于 空間限制、用戶偏好或其它原因,基準線3910可以動態(tài)地定義在右側(cè);訪問街道地址字段 3920可以致使在字段3920上方的基準線3924上顯示項目3921,項目3921包括數(shù)字以及 沿基準線3924用字母字符替換數(shù)字的字母符號3922 ;以及訪問狀態(tài)字段3925可以致使在 定義于字段3925上方的兩個基準線3927和3929上顯示包括狀態(tài)名稱的項目3926。雖然在上文中已經(jīng)將增強的基于相機的輸入描述為使用具體類型的控件,但是也 可以使用其它類型的控件。例如,如圖40所示,基于相機的輸入可以用于與控件4001交 互,該控件4001包括基準線部分4002 (如上所述)以及虛擬的按鈕部分4004。控件4005 包括在化身4007的任一側(cè)對準的多個按鈕4006a至4006h。控件4008是這樣的示意動作輪控件(gesture wheelcontrol)其中通過用戶代表(在此情況下是手4010)選擇交互元 素(例如交互元素4009)致使交互元素進一步顯示字符或由交互元素表示的其它項目。 另外,控件4012是一個虛擬鍵盤,該虛擬鍵盤包括以QWERTY鍵盤構造布置在用戶 界面上的虛擬按鍵4014??丶?012可以不需要用戶代表出現(xiàn)在用戶界面上。例如,代替示 出作為用戶代表的手或化身,當空間中的用戶控制目標占據(jù)與虛擬按鍵相應的檢測區(qū)域內(nèi) 的位置時,虛擬按鍵4014中的每一個都可以點亮??丶?015是一個標準窗口應用桌面,包 括可以使用代表4019與之交互的圖標4016a至4016c以及功能元素4017??丶?020包括用戶4021的一個代表,該代表可以是被交互元素4022a至4022c 圍繞的、用戶的相機圖像,這些交互元素分別表示向左滾動、向右滾動以及調(diào)用功能。使用 基于相機的輸入,用戶4021的代表致使調(diào)用與交互元素4022a至4022c相關聯(lián)的功能性。 在該例子中,滾動功能使得用戶能夠從在用戶界面底部顯示的應用條中選擇應用4024,并 且調(diào)用所選擇的應用。在顯示的例子中,已經(jīng)選擇代表4021以調(diào)用照片瀏覽應用4024d。圖41示出了計算裝置4101的外在外觀的例子,該計算裝置4101還包括處理器和 用戶界面。處理器被配置、適配或可以操作為在場景內(nèi)的用戶圖像中定義圍繞用戶的檢測 區(qū)域,并且檢測目標在檢測區(qū)域內(nèi)的位置。處理器還被配置成基于檢測到的目標的位置與 用戶界面內(nèi)的控件交互。更詳細地,計算裝置4101的硬件環(huán)境包括用于顯示文本和圖像以與用戶交互的 監(jiān)視器4108,用于將文本數(shù)據(jù)和用戶命令輸入到計算裝置4101的鍵盤4109,用于指向、選 擇和操作在監(jiān)視器4108上顯示的目標的鼠標4110,固定磁盤驅(qū)動器4111,可移動磁盤驅(qū)動 器4112,磁帶機4114,硬拷貝輸出裝置,計算機網(wǎng)絡連接和數(shù)字輸入裝置4117。監(jiān)視器4108顯示這樣的圖形、圖像和文本其包括用于由計算裝置4101使用的軟 件應用的用戶界面,以及需要操作計算裝置4101的操作系統(tǒng)程序。用戶使用鍵盤4109輸入 命令和數(shù)據(jù),以操作和控制計算機操作系統(tǒng)程序以及應用程序。鼠標4110可以是任何類型 的指向裝置,并且可以是操作桿、軌跡球、觸摸板或其它指向裝置。在諸如固定磁盤驅(qū)動器 4111的計算機可讀存儲介質(zhì)中,本地地存儲有用于顯示用戶界面以及使得用戶能夠輸入或 選擇文本、數(shù)字或從選項菜單中選擇的軟件。在另外的實施方式中,固定磁盤驅(qū)動器4111自身可以包括大量的物理驅(qū)動單元, 例如獨立磁盤的冗余陣列(“RAID”),或可以是物理上位于分立的計算單元中的磁盤陣列 或磁盤驅(qū)動器場所。這樣的計算機可讀存儲介質(zhì)允許計算裝置4101訪問存儲在可移動的 和不可移動的存儲介質(zhì)中的計算機可執(zhí)行處理步驟、應用程序等。計算機網(wǎng)絡連接可以是調(diào)制解調(diào)器連接,包括以太網(wǎng)的局域網(wǎng)(“LAN”)連接,或 諸如數(shù)字用戶線(“DSL”)、電纜高速因特網(wǎng)連接、撥號連接、T-I線、T-3線、光纖連接或衛(wèi) 星連接的寬帶廣域網(wǎng)(“WAN”)連接。網(wǎng)絡4106可以是LAN網(wǎng)絡、公司或政府WAN網(wǎng)絡、因 特網(wǎng)或其它網(wǎng)絡。計算機網(wǎng)絡連接可以是有線或無線連接器。無線連接器的例子例如包括 INFRARED DATA ASSOCIATION ( "IrDA ")無線連接器、光學無線連接器、INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS ( "IEEE ,,)標準 802. 11 無線連接器、 BLUETOOTH .無線連接器、正交頻分復用(“0FDM”)超寬帶(“UWB”)無線連接器、時 間調(diào)制超寬帶(“TM-UWB”)無線連接器、或其它無線連接器。有線連接器的例子例如包括IEEE -1394FIREWIRE 連接器、通用串行總線(“USB”)連接器、串行端口連接器、并 行端口連接器或其它有線連接器??梢苿哟疟P驅(qū)動器4112是用于從計算裝置4101下載數(shù)據(jù)或?qū)?shù)據(jù)上載到計算裝 置4101的可移動存儲裝置??梢苿哟疟P驅(qū)動器4112可以是軟盤驅(qū)動器、IOMEGA ZIP 驅(qū)動器、只讀光盤存儲器(“⑶-ROM”)驅(qū)動器、可記錄光盤驅(qū)動器(“⑶-R”)、可重寫光盤 驅(qū)動器(“CD-RW”)、閃存、USB 閃存存儲器、閃盤(thumb drive)、pen drive、key drive、 高密度數(shù)字多功能光盤(“HD-DVD”)光盤驅(qū)動器、藍光光盤驅(qū)動器、全息數(shù)字數(shù)據(jù)存儲 (“HDDS”)光盤驅(qū)動器或各種可記錄的或可重寫的數(shù)字多功能光盤(“DVD”)驅(qū)動器中的任 何一種,例如可記錄的 DVD ( “DVD-R” 或“DVD+R”)、可重寫的 DVD ( "DVD-Rff"或"DVD+RW,,) 或DVD-RAM。操作系統(tǒng)程序、應用和各種數(shù)據(jù)文件存儲在磁盤中,這些磁盤存儲在固定磁盤 驅(qū)動器4111上或存儲在用于可移動磁盤驅(qū)動器4112的可移動介質(zhì)上。磁帶機4114是用于從計算裝置4101下載數(shù)據(jù)或?qū)?shù)據(jù)上載到計算裝置4101的磁帶存儲裝置。該磁帶機4114可以是四分之一英寸盤式磁帶(“QIC”)、4mm數(shù)字音頻磁帶 (“DAT”)、8mm數(shù)字線性磁帶(“DLT”)驅(qū)動器或其它類型的磁帶。另外,盡管在上文中將計算裝置4101描述為桌面PC,但是在另外的實施方式中, 計算裝置4101可以是膝上型計算機、工作站、中型計算機、大型機、嵌入系統(tǒng)、電話、掌上計 算機或平板計算機、PDA、游戲裝置或控制臺、數(shù)碼相框、電線會議裝置或其它類型的計算 機。圖42是示出圖41中所示的計算機的內(nèi)部結(jié)構的框圖。現(xiàn)在描述計算裝置4101 的示例性內(nèi)部結(jié)構。計算環(huán)境包括計算機中央處理單元(“CPU”)4201,其中處理包括操 作系統(tǒng)或應用的計算機指令;提供通信界面以及用于在監(jiān)視器4108上呈現(xiàn)圖形、圖像和文 本的處理功能的顯示界面4202 ;給鍵盤4109提供通信界面的鍵盤界面4204 ;給鼠標4110 提供通信界面的指向裝置界面4205或等效的指向裝置;給數(shù)字輸入裝置4117提供通信界 面的數(shù)字輸入界面4206 ;給硬拷貝輸出裝置提供通信界面的硬拷貝輸出裝置界面;隨機存 取存儲器(“RAM”)4210,其中計算機指令和數(shù)據(jù)存儲在易失性存儲裝置中用于由計算機 CPU4201處理;只讀存儲器(“R0M”)4211,其中用于基本系統(tǒng)功能的不變低級系統(tǒng)代碼或 數(shù)據(jù)存儲在非易失性存儲裝置中,該基本系統(tǒng)功能例如是基本的輸入和輸出(“I/O”)、啟 動或接收來自鍵盤4109的按鍵輸入;以及存儲器4220或其它合適類型的存儲器(例如,隨 機存取存儲器(“RAM”)、只讀存儲器(“ROM”)、可編程的只讀存儲器(“PR0M”)、可擦寫 可編程只讀存儲器(“EPR0M”)、電可擦寫可編程只讀存儲器(“EEPR0M”)、磁盤、光盤、軟 盤、硬盤、可移動磁帶、閃存驅(qū)動器),其中存儲包括操作系統(tǒng)4221、應用程序4222 (包括增 強的基于相機的輸入應用4223,以及根據(jù)需要的其它應用4224)的文件和數(shù)據(jù)文件4225 ; 經(jīng)由計算機網(wǎng)絡連接給網(wǎng)絡提供通信界面的計算機網(wǎng)絡界面。組成裝置和計算機CPU4201 通過計算機總線4227而彼此通信。根據(jù)另一一般實施方式,通過計算機程序產(chǎn)品而編碼計算機可讀介質(zhì)。計算機程 序產(chǎn)品包括這樣的指令當執(zhí)行該指令時運行以使得計算機在場景內(nèi)的用戶圖像中定義圍 繞用戶的檢測區(qū)域,以及檢測目標在檢測區(qū)域內(nèi)的位置。計算機程序產(chǎn)品還包括這樣的指 令當機器讀取該指令時運行以使得數(shù)據(jù)處理設備基于檢測到的目標的位置與用戶界面內(nèi) 的控件交互。
ram 4210與計算機總線4227交互,以在執(zhí)行諸如操作系統(tǒng)應用程序之類的軟件 程序期間,將提供快速ram存儲給計算機cpu 4201以及裝置驅(qū)動器。更具體地,計算機 cpu4201將來自固定磁盤驅(qū)動器4111或其它存儲介質(zhì)中的計算機可執(zhí)行處理步驟載入到 ram 4210的字段中,以為了執(zhí)行軟件程序。數(shù)據(jù)這樣存儲在ram4210中其中在執(zhí)行期間 通過計算機cpu4201訪問數(shù)據(jù)。計算裝置4101存儲用于操作系統(tǒng)4221、應用程序4222的計算機可以執(zhí)行代碼, 應用程序4222例如是文字處理、電子數(shù)據(jù)表、介紹、游戲或其它應用。盡管可以使用上述 的實施方式提供基于相機的輸入,但是還可以將根據(jù)本公開的這些功能實現(xiàn)為動態(tài)鏈接庫 (“DLL”)或者插入到其它應用程序,例如諸如MICROSOFT Internet Explorer網(wǎng)頁 瀏覽器的因特網(wǎng)網(wǎng)頁瀏覽器。
計算機CPU 4201是大量的高性能計算機處理器中的一個,這些高性能計算機 處理器包括INTEL 或AMD 處理器、POWERPC 處理器、MIPS 精簡指令集計算 機(“Rise”)處理器、SPARC 處理器、ACORN RISC機器("ARM ”)構架處理器、 HP ALPHASERVER 處理器或用于大型機的專用計算機處理器。在另外的配置中,計算 機CPU 3301是多于一個的處理單元,包括在高性能工作站和服務器中的多個CPU構造,或 大型機中的多個可擴展處理單元。操作系統(tǒng)4221 可以是 MICROSOFT windows NT /WINDOWS 2OOO/WINDOWS xp 工作站;windows NT AVINDOWS 2000/WINDOWS xp 服 務器;各種UNIX 風格的操作系統(tǒng),包括用于IBM 工作站和服務器的AIX 、用于SUN 工作站和服務器的SUNOS 、用于INTEL 基于CPU的工作站和服務器的LINUX 、用 于HP 工作站和服務器的hp ux workload MANAGER 、用于SGI 工作站和服務器的 IRIX , 用于數(shù)字設備公司計算機的vax/vms、用于hp ALPHASERVER 基于計算機 的OPENVMS 、用于POWERPC 基礎工作站和服務器的MAC OS X、用于移動裝置的 symbian OS 、windows MOBILE 或 windows CE 、PALM 、NOKIA OS ( "nos")、 OSE 或EPOC ,或用于計算機的專用操作系統(tǒng)或嵌入系統(tǒng)。用于操作系統(tǒng)4221的應用開 發(fā)或框架可以是binaryruntime environment for WIRELESS ( "BREW " );Java 平 臺、MicroEdition( "Java ME”)或 Java 2 平臺、Micro Edition( "J2ME " ) ;PYTHON , FLASH LITE 或MICROSOFT . net Compact。雖然圖41和42示出了計算裝置的一個可能實施方式,該計算裝置執(zhí)行程序代碼 或程序或處理步驟,并被配置成提供增強的控件以使得用戶能夠直觀地且容易地輸入文 本、數(shù)字或從大量的項目中進行選擇,但是也可以使用其它類型的計算機或?qū)嵤┓绞?。已?jīng)描述了大量的實施方式。然而,應當理解,在不脫離本公開的精神和范圍的情 況下可以進行各種修改。因而,其它實施方式都在所附權利要求的范圍內(nèi)。
權利要求
一種通過計算機程序產(chǎn)品編碼的計算機可讀介質(zhì),所述計算機程序產(chǎn)品包括當被執(zhí)行時運行以使計算機執(zhí)行操作的指令,所述操作包括生成在場景內(nèi)的用戶的圖像;在所述圖像中定義圍繞用戶的檢測區(qū)域,還包括確定軀干的位置和用戶手臂的到達范圍;以及定義所述檢測區(qū)域不包括軀干以及不包括手臂不能夠到達的圖像區(qū)域的至少一部分;在所述檢測區(qū)域內(nèi)檢測用戶的手的位置;以及基于檢測到的手的位置與用戶界面內(nèi)的控件交互,所述控件包括與基準線對準的項目,其中相對于用戶界面上表示用戶的化身代表來定義所述基準線。
2.一種計算機實現(xiàn)的方法,包括在場景內(nèi)的用戶圖像中定義圍繞用戶的檢測區(qū)域;在所述檢測區(qū)域內(nèi)檢測目標的位置;以及基于檢測到的所述目標的位置與用戶界面內(nèi)的控件交互。
3.根據(jù)權利要求2所述的方法,還包括檢測用戶的約定示意動作,其中基于檢測所述 約定示意動作來檢測所述目標的位置。
4.根據(jù)權利要求2所述的方法,其中所述目標是用戶的手。
5.根據(jù)權利要求2所述的方法,其中與所述控件交互還包括選擇字符。
6.根據(jù)權利要求2所述的方法,其中所述用戶界面還包括用戶的代表。
7.根據(jù)權利要求6所述的方法,還包括顯示經(jīng)分割的圖像作為用戶的代表。
8.根據(jù)權利要求6所述的方法,其中所述控件包括與相對于所述代表定義的基準線對 準的項目,并且其中在不模糊所述代表的條件下顯示所述項目。
9.根據(jù)權利要求6所述的方法,其中用戶的所述代表還包括化身或光標。
10.根據(jù)權利要求9所述的方法,還包括基于檢測到的所述目標的位置,使所述化身活 動起來以模仿用戶的動作。
11.根據(jù)權利要求6所述的方法,還包括在所述用戶界面內(nèi)在所述代表的上方或旁邊 顯示所述控件。
12.根據(jù)權利要求2所述的方法,其中定義所述檢測區(qū)域還包括 確定用戶的軀干的位置;以及基于所確定的軀干的位置,定義所述檢測區(qū)域不包括軀干。
13.根據(jù)權利要求12所述的方法,其中使用圖像分割來確定用戶的軀干的位置。
14.根據(jù)權利要求12所述的方法,其中定義所述檢測區(qū)域還包括基于所確定的軀干的位置,確定所述目標不能夠到達的、所述圖像的不能到達區(qū)域;以及定義所述檢測區(qū)域不包括所確定的、所述圖像的不能到達區(qū)域。
15.根據(jù)權利要求2所述的方法,其中定義所述檢測區(qū)域還包括 確定用戶的手臂的到達范圍;以及基于所確定的所述手臂的到達范圍,定義所述檢測區(qū)域不包括所述手臂不能夠到達的 圖像區(qū)域的至少一部分。
16.根據(jù)權利要求15所述的方法,其中用戶的所述手臂的到達范圍是基于所確定的、 用戶的軀干、頭部或肩部的位置。
17.根據(jù)權利要求2所述的方法,其中定義所述檢測區(qū)域還包括 確定用戶的頭部的位置;以及基于所確定的頭部的位置,定義所述檢測區(qū)域不包括頭部。
18.根據(jù)權利要求17所述的方法,其中使用面部檢測來確定用戶的頭部的位置。
19.根據(jù)權利要求2所述的方法,還包括 裁剪所述圖像;以及在所述用戶界面內(nèi)顯示所述圖像。
20.根據(jù)權利要求19所述的方法,還包括將關于用戶的所述圖像居中,其中基于將所 述圖像居中來裁剪所述圖像。
21.根據(jù)權利要求20所述的方法,還包括確定在居中的圖像內(nèi)使得用戶能夠到達所述 控件的放大倍數(shù),其中基于所述放大倍數(shù)來裁剪所述圖像。
22.根據(jù)權利要求21所述的方法,其中使用解剖模型來確定所述放大倍數(shù)。
23.根據(jù)權利要求2所述的方法,還包括 檢測用戶的面部;基于檢測到的面部確定用戶的身份;以及 基于用戶的身份調(diào)整所述控件。
24.根據(jù)權利要求2所述的方法,還包括 在所述檢測區(qū)域內(nèi)檢測第二目標的位置;以及 基于所述第二目標的位置調(diào)整所述控件。
25.根據(jù)權利要求2所述的方法,還包括使用相機拍攝所述圖像。
26.根據(jù)權利要求2所述的方法,其中所述檢測區(qū)域定形為用戶上方的弧形檢測子區(qū) 域,所述弧形檢測子區(qū)域與用戶每側(cè)各一個的兩個直線形檢測子區(qū)域鄰接。
27.根據(jù)權利要求2所述的方法,其中在所述檢測區(qū)域內(nèi)檢測所述目標的位置還包括 檢測所述目標映射到所述檢測區(qū)域內(nèi)的、相對于基準線的位置。
28.一種通過計算機程序產(chǎn)品編碼的計算機可讀介質(zhì),所述計算機程序產(chǎn)品包括當被 執(zhí)行時運行以致使計算機執(zhí)行操作的指令,所述操作包括在場景內(nèi)的用戶的圖像中定義圍繞用戶的檢測區(qū)域;在所述檢測區(qū)域內(nèi)檢測目標的位置;以及基于檢測到的所述目標的位置與用戶界面內(nèi)的控件交互。
29.—種包括處理器的裝置,所述處理器配置成在場景內(nèi)的用戶的圖像中定義圍繞用戶的檢測區(qū)域;在所述檢測區(qū)域內(nèi)檢測目標的位置;以及基于檢測到的所述目標的位置與用戶界面內(nèi)的控件交互。
30.一種計算機實現(xiàn)的方法,包括在用戶界面內(nèi)相對于目標定義基準線;在不模糊所述目標的條件下顯示與所述基準線對準的項目;以及 基于接收對所顯示項目中的一個的選擇而輸出所選擇的項目。
31.根據(jù)權利要求30所述的方法,其中所述選擇是基于光標的用戶選擇。
32.根據(jù)權利要求30所述的方法,還包括在所述用戶界面內(nèi)確定所述目標的位置,其 中動態(tài)地定義所述基準線為圍繞所確定的位置的至少一部分。
33.根據(jù)權利要求32所述的方法,還包括在所述用戶界面內(nèi)檢測第二目標,其中動態(tài) 地定義所述基準線為在與所述第二目標相對的所述目標的一側(cè)上。
34.根據(jù)權利要求32所述的方法,還包括 確定所確定的位置的改變,以及基于所確定的改變相對于所述目標重新定義所述基準線。
35.根據(jù)權利要求30所述的方法,其中所述基準線包括直的、圓形的、彎曲的、多邊形 的或鋸齒形的基準線。
36.根據(jù)權利要求30所述的方法,其中每個項目包括字母數(shù)字字符、符號、設置或名稱。
37.根據(jù)權利要求30所述的方法,其中輸出所選擇的項目還包括突出所選擇的項目。
38.根據(jù)權利要求37所述的方法,其中突出所選擇的項目還包括改變所選擇的項目的 顏色、不透明度或大小。
39.根據(jù)權利要求38所述的方法,其中改變所選擇的項目的顏色、不透明度或大小還 包括將所選擇的項目的顏色、不透明度或大小改變到第一級別;以及 將與所選擇的項目鄰近的項目的顏色、不透明度或大小改變到第二級別。
40.根據(jù)權利要求30所述的方法,其中顯示所述項目還包括沿所述基準線均勻地分布 所述項目。
41.根據(jù)權利要求30所述的方法,其中所述目標是所述用戶界面中的空白區(qū)域。
42.根據(jù)權利要求30所述的方法,其中所述基準線的起點和終點水平地或垂直地對準。
43.根據(jù)權利要求30所述的方法,其中所述目標包括化身。
44.根據(jù)權利要求43所述的方法,其中定義所述基準線還包括 確定所述化身的控制部分的動作范圍;以及在所述控制部分的動作范圍內(nèi)定義所述基準線。
45.根據(jù)權利要求44所述的方法,其中沿所述控制部分的動作范圍的外邊緣定義所述基準線。
46.根據(jù)權利要求43所述的方法,還包括指定所述化身的第一潛在控制部分或第二潛在控制部分作為控制部分; 使所指定的控制部分活動起來;以及將所述控制部分的指定從所述第一潛在控制部分交換到所述第二潛在控制部分或從 所述第二潛在控制部分交換到所述第一潛在控制部分。
47.一種有形地具體體現(xiàn)在機器可讀介質(zhì)中的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品 包括指令當機器讀取所述指令時運行以導致數(shù)據(jù)處理設備在用戶界面內(nèi)相對于目標定義基準線;在不模糊所述目標的條件下顯示與所述基準線對準的項目;以及基于接收對所顯示的項目中的一個的選擇而輸出所選擇的項目。
48. 一種裝置,包括處理器, 被配置成在用戶界面內(nèi)相對于目標定義基準線;以及 用戶界面,所述用戶界面被配置成在不模糊所述目標的條件下顯示與所述基準線對準的項目;以及 基于接收對所顯示的項目中的一個的選擇而輸出所選擇的項目。
全文摘要
本發(fā)明涉及一種增強的基于相機的輸入,其中在場景內(nèi)用戶的圖像中定義圍繞用戶的檢測區(qū)域,并且檢測目標(例如手)在檢測區(qū)域內(nèi)的位置。另外,基于檢測到的目標的位置與用戶界面中的控件(例如虛擬鍵盤的按鍵)交互。
文檔編號H04N7/18GK101810003SQ200880109208
公開日2010年8月18日 申請日期2008年7月25日 優(yōu)先權日2007年7月27日
發(fā)明者埃文·希爾德雷思 申請人:格斯圖爾泰克股份有限公司