專利名稱:基于觸摸輸入來對齊用戶界面元素的制作方法
基于觸摸輸入來對齊用戶界面元素
背景技術:
具有用戶可以通過直接操縱而向計算機系統(tǒng)提供輸入的各種方式,其中用戶與用戶界面元素交互而無需屏幕上光標的幫助。這種直接操縱與其中由用戶諸如利用鼠標或滾輪來操縱屏幕上光標的間接操縱形成對比。直接操縱形式的示例包括利用手指或手寫筆對觸敏式表面進行的觸摸輸入;對數字化儀表面進行的數位筆輸入;利用麥克風捕獲的語音輸入;以及提供給運動捕獲設備(諸如MICROSOFT KINECT運動捕獲設備)的身體姿態(tài)或眼睛追蹤輸入。具體參考觸摸輸入,用戶可以諸如利用他或她的手指或手寫筆、通過觸摸觸敏式表面而向計算機系統(tǒng)提供輸入。這種觸敏式表面的示例是如同在許多膝上型計算機中找到的跟蹤墊,其中用戶沿著表面移動其手指,并且這些手指移動被反映為顯示設備上的光標或指針移動。這種觸敏式表面的另一個示例是如同在許多移動電話中找到的觸摸屏,其中觸敏式表面被集成到顯示設備中,并且其中用戶沿著顯示設備本身移動其手指,而且這些手指移動被解釋成針對計算機進行的輸入。也具有用于在針對計算機系統(tǒng)進行輸入的同時使用多根手指的通用技術。這些技術有時被稱為“多點”或“多點觸摸(multi-touch)”。“多點”手勢通常是牽涉多根手指或其他輸入設備的手勢,而“多點觸摸”手勢通常是牽涉與觸摸表面的多個區(qū)域交互的手勢, 但是該術語通常被用作“多點”的同義詞。如在這里使用的,這些術語都將用于表示包括多根手指或其他輸入設備的使用的手勢。這樣的多點手勢的示例是用戶將兩根手指按壓在觸敏式表面上并向下拖曳這些手指,而且這種輸入被解釋成向下滾動桌面上的活動窗口。用于用戶輸入至觸敏式表面的當前技術以及其他形式的直接操縱受到限制并且具有許多問題,其中的一些問題是眾所周知的。
發(fā)明內容
因此,提供用于改善的直接操縱輸入的發(fā)明將是一種改進。本發(fā)明涉及用于操縱視頻、圖像、文本列或嵌入窗口或諸如網頁之類的頁面內的其他元素的方式。一般具有用于控制窗口的大小或縮放的公知技術。例如,用戶可以在觸敏式表面的區(qū)域上輕叩兩次,以放大與所輕叩的區(qū)域相對應的顯示的部分。也具有分別允許用戶放大和縮小的“捏(pinch)”和“反向捏(reverse-pinch)”手勢。在捏手勢中,用戶將兩根手指放在觸敏式表面上并將這些手指靠攏(將這些手指拖曳得更為靠近),而這通常被解釋成以被“捏”的區(qū)域為中心的縮小的輸入。在反向捏手勢中,用戶將兩根手指放在觸敏式表面上并隨后將這些手指分開(將這些手指拖曳得分開),這通常被解釋成以被“反向捏”的區(qū)域為中心的放大的輸入。輕叩、捏和反向捏手勢具有的問題是這些手勢為用戶提供糟糕的手段來實現共同目標,即將用戶界面的元素(諸如視頻、圖像或文本列)“對齊(snap)”到邊界(頻繁地,顯示區(qū)域的邊緣)。極大地受益于對齊技術的情形是將視頻縮放至全屏,即將視頻的外邊緣縮放到顯示區(qū)域的邊緣(顯示區(qū)域包括其上顯示視頻的顯示器,或那個顯示器的不同部分,諸如那個顯示器內的窗口)。用戶可以使用反向捏手勢來將視頻縮放至全屏,但是難以精確地這樣做,這是因為使用用戶的手指操縱視頻無法精確到確切的像素數量,用戶可能將視頻縮放至超出全屏,這意味著沒有顯示視頻中的一些,或者用戶可能沒有將視頻縮放至全屏, 這意味著視頻沒有如希望的那樣填滿整個屏幕。此外,即使諸如在元素上輕叩之類的當前技術導致元素對齊到邊界,這種技術也損害用戶體驗,這是因為這種技術不能讓用戶相信他在控制該操縱。當用戶輕叩某元素時, 可能出現的情況不是將這個元素對齊到邊界,而正是包圍這個元素的第二元素被對齊到邊界。在這樣的情況下,留給用戶的感覺就好像他沒有在控制該計算機。用于為了對齊而間接操縱元素的技術在直接操縱環(huán)境中工作糟糕。如果用戶利用光標來對齊或解除對齊(unsnap)某元素,則在移動鼠標的用戶的手的位置(或用戶如何以其他方式提供間接輸入)與被操縱的光標和元素之間沒有直接關系。由于用戶沒有在直接操縱該元素,所以用戶沒有注意到在元素解除對齊時,它沒有“趕上”用戶的手位置,而甚至在該元素被對齊時用戶的手仍繼續(xù)移動。相反,它只是解除對齊。這在直接操縱情形中不起作用,這是因為現在用戶在觸摸屏上的手指(舉例來說)使該元素領先一段距離。為了在直接操縱情形中提供更好的用戶體驗,該元素必須在解除對齊之后趕上用戶的手指(或其他形式的直接操縱)。本發(fā)明克服這些問題。在示例實施例中,當用戶反向捏以放大視頻時,本發(fā)明追蹤縮放的量。當用戶已縮放至其中視頻的維度之一(高度或寬度)達到某閾值的點(諸如顯示設備的維度的某個百分比,例如視頻的寬度達到顯示設備的寬度的80%)時,本發(fā)明確定以全屏來顯示該視頻,并將該視頻“對齊”到全屏。本發(fā)明可以利用動畫來這樣做,諸如擴展視頻以填滿整個屏幕。在另一示例實施例中,用戶執(zhí)行直接操縱輸入,以便將元素朝著其上應用對齊的閾值移動。當該元素達到對齊閾值(諸如屏幕上的位置)時,它被對齊到對齊位置。當用戶繼續(xù)對元素提供直接操縱時,它保持被對齊到該對齊位置,直至用戶的直接操縱達到解除對齊閾值(諸如屏幕上的另一位置)。該元素隨后從對齊閾值中解除對齊,并且比直接操縱更快地移動該元素,直至該元素趕上直接操縱。例如,如果觸摸屏上的手指用于通過按下其中顯示元素的屏幕的部分而移動該元素,那么在該元素重新開始被顯示在手指所觸摸的觸摸屏的部分上時,該元素趕上直接操縱。在這里論述的本發(fā)明的主要實施例牽涉視頻的維度的操縱。如在這里所使用的, 維度的提及應被讀作也包括視頻位置的改變。這樣的其中視頻位置的改變導致對齊的情形可能是視頻的位置被移動的情形,以致它足夠靠近顯示區(qū)域的邊緣,從而確定該視頻將被對齊到顯示區(qū)域的邊緣。具有在附圖的詳細描述中描述的本發(fā)明的其他方面。這些方面包括通過操縱元素的俯仰或偏航或通過操縱其變換(其在區(qū)域內的中心點)而將元素對齊到邊界。如在這里所使用的,“視頻”可以指視頻本身或其中可以播放視頻的容器,即使在用戶作出全屏縮放手勢或其他手勢時在該容器中可能無法播放視頻??梢砸庾R到本發(fā)明可以應用于靜止圖像、文本和其他元素以及視頻,但是在這里將視頻作為主要實施例來論述。
也可以意識到視頻可能沒有與播放該視頻的顯示設備相同的維度或寬高比。例如,視頻可能具有4 :3寬高比(其中視頻的寬度是視頻的高度的4/3倍),并且它可能被顯示在具有16 9寬高比的顯示設備上。在這種情況下,當視頻擴大時,其高度可能在其寬度達到顯示器的寬度之前達到顯示器的高度。因而,在這種情況下,全屏可能被認為是將視頻填充,以致視頻的高度被設置為與顯示設備的高度即“限制維度”一樣大。然后,顯示設備的剩余部分可以利用除了視頻之外的某物諸如黑色(有時也被稱為“黑條”)來填充。在其中視頻的寬高比不同于顯示設備的寬高比的另一情形中,全屏可以包括“修剪”該視頻,其中該視頻被擴大,直至顯示器的每一個像素被該視頻占用,即使沒有顯示該視頻的某些部分。如果使用上面的4 3視頻和16 9顯示設備的示例,該視頻可以被擴大, 直至視頻的寬度等于顯示設備的寬度。這將導致視頻的頂部和底部的某些部分被“剪斷”或不被顯示,但是該視頻的某些部分將占據該顯示設備的全部。這有時被稱為“填充”屏幕。用于使用觸摸手勢來將視頻縮放至全屏的發(fā)明的其他實施例存在,并且參考附圖的詳細描述來描述這樣的一些示例。
參考附圖來進一步描述用于使用觸摸手勢將視頻縮放至全屏的系統(tǒng)、方法和計算機可讀媒體,其中
圖1描繪其中能夠實現本發(fā)明的實施例的方面的示例的通用計算環(huán)境。圖2描繪包括其中能夠實現本發(fā)明的實施例的方面的觸敏式表面的示例計算機。圖3描繪顯示用戶使用反向捏手勢縮放的視頻的示例觸敏顯示器。圖4描繪在用戶繼續(xù)使用反向捏手勢縮放時圖3的示例觸敏顯示器。圖5描繪在用戶已使用反向捏手勢縮放至達到閾值之后圖4的示例觸敏顯示器, 其中在所述閾值,本發(fā)明導致視頻以全屏模式進行顯示。圖6描繪比較用戶的一根或多根手指隨時間的移動與由用戶操縱的元素的位置的示例圖表。圖7、8、9和10描繪在與圖6的圖表有關的四個相應的不同時間點上用戶的一根或多根手指的位置以及由用戶操縱的元素的位置。圖11描繪比較用戶的一個或多個手指隨時間的移動與由用戶操縱的元素的位置的另一示例圖表。圖12描繪比較用戶的一個或多個手指隨時間的移動與由用戶操縱的元素的位置的另一示例圖表。圖13、14、15和16描繪在與6的圖表有關的四個相應的不同時間點上用戶的一根或多根手指的位置以及由用戶以不同于圖7-10中描繪的方式來操縱的元素的位置。圖17描繪用于使用觸摸手勢將視頻縮放至全屏的示例操作程序。
具體實施例方式實施例可以在一個或多個計算機系統(tǒng)上運行。圖1和下面的討論旨在提供其中可以實現所披露主題的合適計算環(huán)境的簡要的一般性描述。在整個說明書中使用的術語處理器能夠包括硬件組件,諸如硬件中斷控制器、網絡適配器、圖形處理器、基于硬件的視頻/音頻編解碼器以及用于操作這樣的硬件的固件。 術語處理器也能夠包括微處理器、專用集成電路和/或一個或多個邏輯處理器,例如利用從固件和/或軟件中讀取的指令配置的多核通用處理單元的一個或多個核心。一個或多個邏輯處理器能夠利用從例如RAM、ROM、固件之類的存儲器和/或大容量存儲設備中裝載的體現可操作來執(zhí)行一個或多個功能的邏輯的指令來配置?,F在參考圖1,描繪示例的通用計算系統(tǒng)。該通用計算系統(tǒng)能夠包括常規(guī)計算機 20等等,其包括至少一個處理器或處理單元21、系統(tǒng)存儲器22以及在該系統(tǒng)處于操作狀態(tài)中時將包括系統(tǒng)存儲器的各種系統(tǒng)組件通信耦合至處理單元21的系統(tǒng)總線23。系統(tǒng)總線23可以是若干類型的總線結構之中的任何一種,其包括存儲器總線或存儲控制器、外設總線以及使用各種總線架構中的任何一種的本地總線。系統(tǒng)存儲器能夠包括只讀存儲器 (R0M)24以及隨機存取存儲器(RAMM5。在ROM 24中存儲基本輸入/輸出系統(tǒng)^(BIOS), 其包含諸如在啟動期間幫助在計算機20內的元素之間傳送信息的基本例程。計算機20可以進一步包括用于讀取和寫入硬盤(未顯示)的硬盤驅動器27、用于讀取或寫入可拆卸磁盤 29的磁盤驅動器觀以及用于讀取或寫入諸如CD ROM或其他光學媒體之類的可拆卸光盤 31的光盤驅動器30。硬盤驅動器27、磁盤驅動器觀以及光盤驅動器30被顯示為分別通過硬盤驅動器接口 32、磁盤驅動器接口 33和光盤驅動器接口 34被連接到系統(tǒng)總線23。這些驅動器及其相關聯的計算機可讀媒體提供用于計算機20的計算機可讀指令、數據結構、程序模塊以及其他數據的非易失性存儲設備。雖然在這里描述的示例的環(huán)境采用硬盤、可拆卸磁盤四以及可拆卸光盤31,但是本領域技術人員應意識到在示例的操作環(huán)境中也可以使用其他類型的能夠存儲計算機可訪問的數據的計算機可讀媒體,諸如閃存卡、數字視頻光盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)等等。一般而言,在一些實施例中能夠使用這樣的計算機可讀存儲媒體來存儲體現目前披露的各方面的處理器可執(zhí)行指令。包括計算機可讀指令的許多程序模塊可以被存儲在諸如硬盤、磁盤四、光盤31、 ROM對或肌11 25之類的計算機可讀媒體上,其包括操作系統(tǒng)35、一個或多個應用程序36、 其他程序模塊37以及程序數據38。在由處理單元運行時,計算機可讀指令引起在下文更詳細描述的動作被執(zhí)行,或者引起各種程序模塊被實例化。用戶可以通過諸如鍵盤40和指示設備42之類的輸入設備將命令和信息輸入到計算機20中。其他的輸入設備(未顯示)可以包括麥克風、操縱桿、游戲墊、碟形衛(wèi)星天線、掃描儀等等。這些和其他輸入設備時常通過耦合到系統(tǒng)總線的串行端口接口 46而被連接到處理單元21,但是可以利用其他的接口諸如并行端口、游戲端口或通用串行總線(USB)來連接。監(jiān)視器47、顯示器或其他類型的顯示設備也能夠經由諸如視頻適配器48之類的接口而被連接到系統(tǒng)總線23。除了顯示器47之外,計算機通常還包括其他的外設輸出設備(未顯示),諸如揚聲器和打印機。圖1的示例系統(tǒng)也包括主機適配器55、小型計算機系統(tǒng)接口(SCSI)總線56以及連接到SCSI總線56的外部存儲設備62。計算機20可以使用至一臺或多臺遠程計算機、諸如遠程計算機49的邏輯連接而操作在聯網的環(huán)境中。遠程計算機49可以是另一計算機、服務器、路由器、網絡PC、對等設備或其他的公共網絡節(jié)點,并且通常能夠包括在上文相對于計算機20所描述的許多或所有的元素,但是在圖1中僅僅示出了記憶存儲設備50。圖1中所描繪的邏輯連接能夠包括局域網(LAN)51和廣域網(WAN)52。這樣的聯網環(huán)境在辦公室、企業(yè)范圍內計算機網絡、內聯網以及因特網中是司空見慣的。當在LAN聯網環(huán)境中使用時,計算機20能夠通過網絡接口或適配器53而被連接到LAN 51。當在WAN聯網環(huán)境中使用時,計算機20能夠通常包括調制解調器M或用于在諸如因特網之類的廣域網52上建立通信的其他裝置??梢允莾炔炕蛲獠康恼{制解調器M 能夠經由串行端口接口 46而被連接到系統(tǒng)總線23。在聯網的環(huán)境中,相對于計算機20所描繪的程序模塊或其中的部分可以被存儲在遠程記憶存儲設備中。將意識到所顯示的網絡連接是示例性的,并且可以使用在計算機之間建立通信鏈路的其他手段。此外,雖然設想當前披露的眾多實施例特別適合于計算機化系統(tǒng),但是這個文件中沒有任何內容意在將本披露限于這樣的實施例。計算機20的系統(tǒng)存儲器22可以包括在由計算機20運行時使得計算機20實現本發(fā)明的指令,諸如圖17的操作程序,其用于實行圖3-16中所描繪的本發(fā)明的各方面。圖2描繪包括觸敏式表面的示例計算機,其中能夠實現本發(fā)明的實施例的方面。 圖2的觸摸屏200在圖1的計算環(huán)境100中可以被實現為顯示器47。此外,計算機200的存儲器214可以包括在由計算機200運行時使得計算機200實現本發(fā)明的指令,諸如圖17 的操作程序,其用于實行圖3-16中所描繪的本發(fā)明的各方面。交互顯示設備200 (有時被稱為觸摸屏或觸敏顯示器)包括投影顯示系統(tǒng),該系統(tǒng)具有圖像源202、可選地用于增加投影顯示器的光學路徑長度和圖像大小的一個或多個反射鏡204以及圖像被投影到其上面的水平顯示屏206。雖然在投影顯示系統(tǒng)的上下文中進行顯示,但是將明白交互顯示設備可以包括任何其他的適當圖像顯示系統(tǒng),這包括但不限于液晶顯示(LCD)面板系統(tǒng)以及其他的光閥系統(tǒng)。此外,雖然在水平顯示系統(tǒng)的上下文中進行顯示,但是將明白所披露的實施例可以在任何方位的顯示器中進行使用。顯示屏206包括清澈的諸如玻璃板的透明部分208以及部署在清澈的透明部分 208之上的漫射屏幕層210。在一些實施例中,可以在漫射屏幕層210上部署附加的透明層 (未顯示),以便為顯示屏提供光滑的外觀和感覺。利用圖2繼續(xù),交互顯示設備200進一步包括電子控制器212,該控制器包括存儲器214和處理器216??刂破?12也可以包括被配置成與其他設備通信的無線發(fā)射機和接收機218。該控制器212可以包括存儲在存儲器214上或存儲在其他的計算機可讀存儲媒體上并由處理器216運行的計算機可執(zhí)行指令或代碼,諸如程序,這些指令或代碼控制下面更詳細描述的針對檢測到的觸摸的不同視覺響應。一般而言,程序包括執(zhí)行特定任務或實現特定抽象數據類型的例程、對象、組件、數據結構等等。在這里使用的術語“程序”可以暗示單個程序或共同行動的多個程序,并且可以用于表示應用、服務或任何其他類型或種類的程序。為了感測位于顯示屏206上的對象,交互顯示設備200包括一個或多個圖像捕獲設備220,這些圖像捕獲設備被配置成捕獲顯示屏206的整個背面的圖像,并將圖像提供給電子控制器212,以便檢測在圖像中出現的對象。漫射屏幕層210有助于避免沒有與顯示屏206接觸或未位于顯示屏206的幾毫米范圍內的對象的成像,并因此有助于確保只有正在觸摸顯示屏206 (或者在一些情況中,非常靠近顯示屏206)的對象被圖像捕獲設備220 檢測到。雖然所描繪的實施例包括單個圖像捕獲設備220,但是將理解任何適當數量的圖像捕獲設備可以用于成像顯示屏206的背面。此外,將理解在這里使用的術語“觸摸”可
8以包括物理觸摸和/或非??拷@示屏的對象的“幾乎觸摸”。圖像捕獲設備220可以包括任何適當的圖像感測機制。適當的圖像感測機制的示例包括但不限于CXD (電荷耦合器件)和CMOS (互補金屬氧化物半導體)圖像傳感器。此外, 圖像感測機制可以在足夠的頻率或幀速率上捕獲顯示屏206的圖像,以便以所需的速率來檢測對象在顯示屏206上的運動。在其他的實施例中,掃描激光器可以與適當的光電檢測器結合使用,以獲得顯示屏206的圖像。圖像捕獲設備220可以被配置成檢測任何適當波長的、包括但不限于紅外和可見波長的反射或發(fā)射的能量。為了協(xié)助檢測放置在顯示屏206上的對象,圖像捕獲設備220 可以進一步包括被配置成產生紅外或可見光的附加光源222,諸如一個或多個發(fā)光二極管 (LED)。來自光源222的光可以被放置在顯示屏222上的對象反射,并隨后被圖像捕獲設備 220檢測。使用紅外LED而不是可見光LED可能有助于避免沖洗掉在顯示屏206上投影圖像的外觀。圖2也描繪觸摸顯示屏的用戶的手的手指226。雖然在這里的實施例在用戶的手指觸摸觸敏顯示器的上下文中進行描述,但是將理解這些概念可以擴展到檢測在顯示屏 206上任何其他適當的物理對象,這包括但不限于手寫筆、手機、智能電話、相機、PDA、媒體播放器、其他的便攜式電子項、條形碼以及其他光學可讀標簽等等。此外,雖然在光學觸摸感應機制的上下文中進行披露,但是將理解在這里披露的概念可以與任何適當的觸摸感應機制一起使用。術語“觸敏顯示器”在這里用于不僅描述所描繪實施例的顯示屏206、光源222以及圖像捕獲設備220,而且還用于描述任何其他的適當的顯示屏以及相關聯的觸摸感應機制和系統(tǒng),這包括但不限于電容式和電阻式觸摸感應機制。圖3-5描繪用戶經由至觸敏顯示器的輸入來操縱元素的示例。雖然在詳細描述中論述的主要實施例是觸敏顯示器的實施例,但是可以意識到這些技術可以應用于其他形式的直接操縱,這包括針對數字化儀表面的數位筆輸入、利用麥克風捕獲的語音輸入以及提供給運動捕獲設備的身體姿態(tài)或眼睛追蹤輸入。圖3描繪示例觸敏顯示器(諸如圖2的觸敏顯示器200)300,其顯示包含視頻304的網頁302,其中用戶使用利用兩根手指306a和 306b作出的反向捏手勢來縮放該視頻。這種反向捏手勢僅僅在圖3所描繪的點上擴大視頻,而不將它對齊到邊界(諸如將它對齊到全屏模式)。圖4描繪在用戶繼續(xù)使用反向捏手勢縮放時圖3的示例觸敏顯示器。此時,用戶繼續(xù)采用反向捏手勢來分開其手指306。作為這種持續(xù)手勢的結果,視頻304相對地是較大的或被放大。視頻304的維度即其寬度現在已達到將視頻對齊到全屏模式的閾值。如所描繪的,視頻304的寬度是顯示區(qū)域的寬度的75%。如果75%是用于將縮放視頻對齊到全屏模式的下閾值,那么該視頻可以被對齊到全屏模式。圖5描繪在用戶已使用反向捏手勢(使用手指306a和306b)縮放至達到其中本發(fā)明引起視頻304以全屏模式進行顯示的閾值之后圖4的示例觸敏顯示器300。該視頻現在占用觸敏顯示器300的整個顯示區(qū)域,并且沒有網頁302的非視頻部分是可見的。圖6描繪比較用戶的一根或多根手指隨時間的移動與由用戶操縱的元素的位置的示例圖表。圖6中所描繪的圖表可以用于確定何時將圖3-5的視頻對齊到全屏模式或者從全屏模式中解除對齊圖3-5的視頻。圖6中描述的圖表在χ軸602上繪制時間,并且在y軸604上從參考點(相對于絕對位置)繪制位置。繪制在圖表上的是用戶的一根或多根手指隨時間的位置606以及由用戶操縱的元素隨時間的位置608。如利用用戶的一根或多根手指隨時間的位置606的曲線所描繪的,用戶以恒定的速率移動其一根或多根手指。用戶移動其一根或多根手指來操縱元素,但是如利用該元素隨時間的位置608的曲線所描繪的,該元素并沒有以恒定的速率移動。相反,當元素的位置達到下對齊閾值612時,該元素對齊到對齊位置610。換言之,當用戶移動該元素并且它接近對齊閾值(諸如顯示區(qū)域的邊緣)時,該元素被對齊到對齊位置 610 (這么顯示的原因在于該元素的位置對于某段時間沒有隨時間而改變,即使正在操縱該元素的用戶的一根或多根手指隨時間而改變)??梢砸庾R到當達到下對齊閾值612時,該元素沒有立即對齊到對齊位置610 (如果是這種情況的話,那么該元素在下對齊閾值612與對齊位置610之間的位置將被繪制成垂直線)。相反,該元素的移動朝著對齊位置610加速,如在那個部分期間具有比在前一部分期間更陡峭的斜率的該元素隨時間的位置608的曲線的那個部分所反映的。當用戶繼續(xù)朝著上對齊閾值614將其手指移動經過下對齊閾值612時,該元素的位置不改變,而是保持在對齊位置610上。當用戶手指的位置達到上對齊閾值614時,該元素的位置“解除對齊”,并以比用戶手指的位置更快的變化率移動,直至它趕上用戶手指的位置。元素616、618、620和622描繪這些移動發(fā)生的不同時間,并且將參照圖7_10更詳細進行解釋。也在圖6中描繪的是元素的變換624,即其在區(qū)域內的中心點。當用戶移動其手指時,不僅該元素當處于下對齊閾值612與上對齊閾值614之間時從對齊位置中對齊和解除對齊,而且元素的變換624當處于下對齊閾值612與上對齊閾值614之間時被改變。如所描繪的,當用戶手指的位置達到下對齊閾值612時,元素的變換增加,并隨后被保持在這個升高的水平上,直至用戶手指的位置達到上對齊閾值614,在那種情形下它被降到其初始值。圖7-10描述用戶的一根或多根手指以及由用戶操縱的元素在與圖6的圖表有關的三個相應的不同時間點上的位置。在圖7-10中,顯示包含嵌入視頻702的網頁700。用戶以反向捏手勢將其手指704彼此移開,以擴大視頻。圖7-10描繪用戶執(zhí)行導致以下發(fā)生的操作在顯示設備上顯示用戶界面,該用戶界面包括第一區(qū)域;確定包括用戶界面的直接操縱的用戶輸入指示將第一區(qū)域的維度修改成閾值;在顯示設備上顯示被對齊到邊界的第一區(qū)域,其中在顯示被對齊到邊界的第一區(qū)域之前,第一區(qū)域和用戶輸入具有相對的位置;確定包括用戶界面的直接操縱的第二用戶輸入指示將第一區(qū)域的維度或位置修改成第二閾值;在顯示設備上顯示被解除對齊到邊界的第一區(qū)域;以及在與第二用戶輸入的當前位置相對的位置中顯示第一區(qū)域。即,在元素或第一區(qū)域對齊到邊界之后,用戶手指的位置繼續(xù)移動。稍后,當第一位置解除對齊時,它趕上用戶的手指,于是它具有與在對齊之前相同的與手指相對的位置。這與當前形式的間接操縱形成對比,其中被解除對齊的元素沒有趕上相對于用戶的鼠標(或用戶用于間接操縱的其他輸入設備)的相對位置。在描繪圖6的時間616的圖7中,用戶的手指正在以視頻正在擴大的相同速率分開(或者如果速率不是相同的,那么在手指分開的速率與視頻擴大的速率之間具有線性關系)。元素704的變換6 此時保持不變,即它仍舊以顯示區(qū)域700的中心的下方和左側為中心。
在描繪圖6的時間618的圖8中,用戶已將視頻擴大至它已達到下對齊閾值612 的點,并且視頻現在已被對齊到對齊位置610,其中對齊位置在這里被描繪為顯示區(qū)域的邊界。在對齊到對齊位置610中,該視頻已移動比手指自圖7中描繪的時間以來所移動的更大的量。元素704的變換擬4現在已被改變。但是元素704原本沒有以顯示區(qū)域700為中心,而現在元素704以顯示區(qū)域700為中心。在描繪圖6的時間620的圖9中,用戶繼續(xù)將其手指分開,但是由于這些手指仍舊位于下對齊閾值612與上對齊閾值614之間的區(qū)域內,所以視頻的位置不改變,即它保持在全屏模式中。同樣,元素704的變換6M保持與圖8中所描繪的相同(并且不同于圖7中所描繪的)。元素704已被變換,因此它是以顯示區(qū)域700為中心的。在描繪圖6的時間622的圖10中,用戶繼續(xù)分開其手指,并且現在這些手指經過上對齊閾值614。因而,視頻已被解除對齊,并且繼續(xù)擴大而經過其處于全屏模式中的點(因此在顯示區(qū)域中不顯示該視頻的一些部分)。元素704的變換624已返回到圖7的變換,即以顯示區(qū)域700的中心的下方和左側為中心。圖11描繪比較用戶的一根或多根手指隨時間的移動與由用戶操縱的元素的位置的另一個示例圖表。在圖11中描繪的圖表可以用于確定何時將圖3-5的視頻對齊到全屏模式或者從全屏模式中解除對齊圖3-5的視頻。圖11中所描述的圖表與圖6中所描繪的圖表的不同之處在于在圖11中,用戶分開其手指,隨后靠攏其手指,而在圖6中,用戶僅僅分開其手指。在圖11中,用戶最初分開其手指,并在手指的位置增大時,用戶正在操縱的元素的位置也增大。當元素的位置達到下對齊閾值612時,它對齊到對齊位置610。在該元素已對齊到對齊位置610之后,但是在用戶手指的位置已達到上對齊閾值614之前,用戶改變其手指的方向。但是之前它們正在分開,而現在它們正在靠攏。即使它們開始靠攏,元素的位置保持被對齊到對齊位置610。只在用戶已將其手指靠攏到低于下對齊閾值612之后,該元素才解除對齊,并開始減少大小。圖12描繪比較用戶的一根或多根手指隨時間的移動與由用戶操縱的元素的位置的另一個示例圖表。圖11中所描繪的圖表可以用于確定何時將圖3-5的視頻對齊到全屏模式或從全屏模式中解除對齊圖3-5的視頻。圖12中描繪的圖表與圖6中所描繪的圖表相類似之處在于在兩個圖中,手指的位置單調增大。圖12中所描繪的圖表與圖6中所描繪的圖表的不同之處在于在圖12中,用戶作出輕彈手勢,其中該手勢包括簡短的移動,并且為該手勢計算的慣性用于確定被操縱的元素的附加移動,而在圖6中,沒有這樣的計算, 并且用戶在不斷地提供真正的輸入。圖13、14、15和16描繪位于與圖6的圖表有關的四個相應的不同時間點上用戶的一根或多根手指以及由用戶以不同于圖7-10中所描繪的方式操縱的元素的位置。在圖13-16中,顯示包含嵌入視頻304的網頁302。用戶將其手指306向右移動, 以便將視頻向右移動。在描繪圖6的時間616的圖13中,用戶已將其手指306向右移動一段距離,但是尚未滿足下對齊閾值1302,并且在手指306已移動以及視頻304已移動的速率和距離之間具有線性關系。在描繪6的時間618的圖14中,用戶已將其手指移動經過下對齊閾值1302 (但是在上對齊閾值1306之前)。結果,視頻304被對齊到對齊位置1304。在對齊到對齊位置1304中,視頻已移動比手指306自圖13中描繪的時間以來已移動的更大的量。在描繪圖6的時間620的圖15中,用戶繼續(xù)向右移動其手指306,但是由于手指 306仍然位于下對齊閾值1302與上對齊閾值1306之間的區(qū)域內,所以視頻的位置不改變, 即它保持被對齊到對齊位置1304。在描述圖6的時間622的圖16中,用戶繼續(xù)向右移動其手指306,并且現在手指經過上對齊閾值1306。因而,視頻304已被解除對齊,并且已“趕上”手指306,以致在圖16中所描繪的手指306和視頻304之間的相對位置與圖13中所描繪的手指306和視頻304之間的相對位置是相同的。圖17描繪用于使用觸摸手勢將某個區(qū)域對齊到對齊邊界的示例操作程序。圖17 的操作程序可以用于實行圖3-5、7-10或17-16中所描繪的用戶界面或繪制在圖6、11和12 所描繪的隨時間的手指位置與相應元素位置的圖表。圖17的操作程序開始于操作1700。 操作1700導致操作1702。操作1702描繪在顯示設備上顯示用戶界面,該用戶界面包括第一區(qū)域。例如,用戶界面可以包括網頁,并且第一區(qū)域可以包括被嵌入到那個網頁中的嵌入視頻。其中顯示第一區(qū)域的用戶界面可能占據整個顯示設備的視覺輸出或其子集,諸如在顯示設備的視覺輸出的部分中顯示的窗口。在實施例中,第一區(qū)域包括其中可以顯示視頻、圖像或文本欄的區(qū)域。第一區(qū)域可以包括這樣的區(qū)域,其中可以定義邊界或維度,以致在確定維度等于閾值時,邊界可以被對齊到對齊邊界。操作1704包括確定第一區(qū)域包括視覺媒體。這個操作可以包括(諸如通過解析構成網頁的超文本標記語言HTML以及其他代碼或文檔的文檔對象模型D0M)解析其中顯示該視頻的網頁,以確定第一區(qū)域包含視覺媒體,諸如視頻或圖像。操作1706包括確定第一區(qū)域的維度的大小。至于操作1704,這個操作可以包括 諸如通過評估為網頁中的第一區(qū)域定義的“高度”或“寬度”屬性,解析其中顯示該視頻的網頁。操作1708包括確定第一區(qū)域的寬高比。至于操作1704和1706,這可以包括諸如通過評估為網頁中的第一區(qū)域定義的“高度”和“寬度”屬性二者以確定寬高比(視覺媒體的寬高比通常是寬度與高度之比)來解析其中顯示該視頻的網頁。操作1710描繪確定在觸摸輸入設備上接收的用戶輸入指示將第一區(qū)域的維度修改成閾值。這個用戶輸入可以包括反向捏手勢。在實施例中,操作1710包括確定用戶輸入指示將第一區(qū)域的高度、寬度、維度或面積增大到閾值。用戶可以進行觸摸輸入來移動第一區(qū)域或對第一區(qū)域進行放大。這個用戶輸入可以如下進行處理分別移動第一區(qū)域或縮放第一區(qū)域,只要輸入不導致第一區(qū)域的維度被修改成閾值(諸如被縮放,直至其寬度至少是顯示設備的顯示區(qū)域的寬度的75%)。在其中觸摸輸入設備和顯示設備包括觸摸屏的實施例中,用戶輸入在其中第一區(qū)域被顯示在觸摸屏上的位置上進行接收。可能是用戶正在使用觸摸屏,其中顯示設備本身被配置成接受顯示區(qū)域上的用戶觸摸輸入。如果牽涉觸摸屏,那么用戶可以通過觸摸其中顯示第一區(qū)域的觸摸屏的區(qū)域來與第一區(qū)域交互。操作1712描繪在顯示設備上顯示被對齊到邊界的第一區(qū)域。一旦確定用戶輸入已導致第一區(qū)域的維度等于閾值,用戶界面可能顯示被對齊到顯示設備的邊界的第一區(qū)域。這未必是顯示設備的邊界(顯示區(qū)域的最頂部、最左側、最右側或最底部部分),而是“對齊邊界”,即其中具有的維度高于閾值的元素(諸如第一區(qū)域)被對齊至的預定位置。例如, 對齊邊界可以牽涉對齊第一區(qū)域,以致它以顯示設備為中心。此外,在顯示設備上顯示被對齊到邊界的第一區(qū)域可以包括在全屏模式中顯示第一區(qū)域,其中該邊界包括顯示區(qū)域的最頂部、最左側、最右側和最底部部分。在實施例中,操作1712包括動畫化從等于某閾值的第一區(qū)域的維度到在顯示設備上顯示被對齊到邊界的第一區(qū)域的變換。在其中用戶輸入指示以某速率增大第一區(qū)域的大小以及其中動畫化變換包括以第二速率來動畫化該變換的實施例中,第二速率大于該速率。一旦已確定將第一區(qū)域對齊到邊界,那么可能有益的是比用戶操縱第一區(qū)域更快地執(zhí)行這個對齊,以便加速該處理。在實施例中,操作1712包括在以全屏模式顯示第一區(qū)域之前,確定在觸摸輸入設備上接收的第二用戶輸入指示將維度修改為低于閾值;顯示第一區(qū)域,其中第一區(qū)域未被對齊到邊界;以及其中顯示被對齊到邊界的第一區(qū)域響應于確定在觸摸輸入設備上接收的第三用戶輸入指示將維度修改成該閾值而發(fā)生。在用戶的輸入已導致第一區(qū)域達到閾值之后,他仍然可以解除該變化,以便將該區(qū)域對齊到邊界。用戶可以通過執(zhí)行指示以相反方式操縱第一區(qū)域的手勢來這樣做。例如,如果之前他正在分開其手指以放大的話,他可以通過靠攏其手指以縮小來解除,或者如果之前他正在向右移動其手指以便向右移動該元素的話,他可以通過向左移動其手指以便向左移動該元素來解除。在實施例中,操作1712包括在將第一區(qū)域對齊到邊界時,修改第一區(qū)域的變換、 俯仰或偏航。變換指的是第一區(qū)域是否是以其中它被對齊的區(qū)域為中心。例如,如果將第一區(qū)域對齊到邊界包括以全屏模式顯示第一區(qū)域,并且在這種對齊即將開始的時候第一區(qū)域位于顯示區(qū)域的中心點的下方和左側,第一區(qū)域的變換可以被修改,以致它以顯示區(qū)域為中心。在將第一區(qū)域對齊到邊界時,第一區(qū)域的俯仰也可以被改變。例如,第一區(qū)域和顯示區(qū)域都可以是矩形,并且將第一區(qū)域對齊的邊界可以是顯示區(qū)域的邊界。如果將被對齊至邊界的第一區(qū)域的側邊與該邊界不平行的話,那么在第一區(qū)域的側邊與邊界之間存在俯仰差別,并且其在對齊處理期間被修改,以致邊緣與邊界齊平。第一區(qū)域的偏航也可以采用與區(qū)域的俯仰相類似的方式進行修改。在諸如其中用戶界面是三維(3D)或者除了在笛卡爾坐標系中的χ-y平面內的值之外該用戶界面還具有ζ深度的某些情況下,第一區(qū)域的偏航可能不同于邊界的偏航。操作1714描繪確定在觸摸輸入設備上接收的第二用戶輸入指示將第一區(qū)域的維度修改成第二閾值;以及終止在顯示設備上顯示被對齊到邊界的第一區(qū)域。一旦顯示被對齊到邊界的第一區(qū)域,用戶可以提供輸入來解除這種對齊。這個輸入可以包括利用如以前一樣的導致對齊的其輸入或通過提供不同的輸入而繼續(xù)。例如,如圖6所示,用戶可以增大第一區(qū)域的縮放,直至維度達到下閾值612,并且第一區(qū)域被對齊到對齊位置。然后,當用戶繼續(xù)移動其手指并達到上閾值614時,第一區(qū)域可以解除對齊。在這種情況下,第二閾值 (上閾值)不等于該閾值(下閾值),而是更大。同樣,如圖11所示,用戶可以通過將其手指位置增大直至再次達到下閾值而導致第一區(qū)域對齊。如所描繪的,進行對齊和解除對齊都是在下閾值上完成的,但是可以意識到對于作為增大手指位置的結果而對齊第一區(qū)域而言,具有不同的閾值,以及對于作為減小手指位置的結果而解除對齊第一區(qū)域而言,具有不同的閾值。操作1716描繪顯示對于在第一區(qū)域中顯示的媒體的控制;以及響應于確定在觸摸輸入設備上接收的用戶輸入指示將第一區(qū)域的維度修改成閾值而隱藏該控制。例如,當用戶導致第一區(qū)域中的視頻對齊到全屏模式時,這可能是因為用戶希望從顯示器向后坐下并觀看視頻。在這種情況下,用戶體驗可以通過在視頻被對齊到全屏模式時隱藏這些媒體控制而得到改善??梢砸庾R到不需要圖17的所有操作來實現本發(fā)明的實施例,并且所描繪的操作的置換也可以在本發(fā)明的實施例中進行實現。例如,本發(fā)明的實施例可以實現操作1702、 1710和1712。同樣,本發(fā)明的實施例可以在操作1704之前執(zhí)行操作1706。結論
雖然本發(fā)明已結合在不同附圖中所示的優(yōu)選方面進行描述了,但是明白可以使用其他的類似方面,并且可以對所描述的用于執(zhí)行本發(fā)明的相同功能的方面進行修改和添加而不偏離這些方面。因此,本發(fā)明不應限于任何單個方面,而應該根據所附的權利要求書的廣度和范圍來詮釋。例如,在這里所描述的各種程序可以利用硬件或軟件或二者的組合來實現。因而,所披露的實施例的方法和設備或其中的某些方面或部分可以采用在諸如軟盤、 CD-ROM、硬盤驅動器或任何其他的機器可讀介質之類的有形媒體中體現的程序代碼(S卩,指令)的形式。在程序代碼被加載到諸如計算機之類的機器中并由該機器運行時,該機器變成被配置用于實踐所披露的實施例的設備。除了在這里明確闡述的具體實現方式之外,通過考慮在這里披露的說明書,其他的方面和實現方式對本領域技術人員而言將是顯而易見的。意圖是本說明書和所闡明的實現方式應該僅被視為示例。
權利要求
1.一種用于控制用戶界面的方法,包括在顯示設備上顯示用戶界面,所述用戶界面包括第一區(qū)域(1702); 確定包括用戶界面的直接操縱的用戶輸入指示將第一區(qū)域的維度或位置修改成閾值 (1710);以及在顯示設備上顯示被對齊到邊界的第一區(qū)域(1712)。
2.權利要求1的方法,其中在顯示被對齊到邊界的第一區(qū)域之前,第一區(qū)域和用戶輸入具有相對位置,并且進一步包括確定包括用戶界面的直接操縱的第二用戶輸入指示將第一區(qū)域的維度或位置修改成第二閾值;在顯示設備上顯示被解除對齊到邊界的第一區(qū)域;以及在與第二用戶輸入的當前位置相對的位置中顯示第一區(qū)域。
3.權利要求1的方法,其中第一區(qū)域包括其中可以顯示視頻的區(qū)域,所述閾值包括顯示設備的維度與第一區(qū)域的維度之比,并且在顯示設備上顯示被對齊到邊界的第一區(qū)域包括在顯示設備上以全屏模式顯示第一區(qū)域。
4.權利要求1的方法,其中確定用戶輸入指示將被第一區(qū)域占用的區(qū)域修改成閾值包括確定用戶輸入指示將第一區(qū)域的高度、寬度或面積增大為高于閾值。
5.權利要求1的方法,其中用戶輸入包括利用手指或手寫筆對觸摸輸入設備進行的觸摸輸入,對數字化儀平板進行的數位筆輸入,對麥克風進行的語音輸入,或對相機作出的身體姿態(tài)或眼睛運動。
6.權利要求1的方法,其中第一區(qū)域包括圖像。
7.權利要求1的方法,進一步包括確定包括用戶界面的直接操縱的第二用戶輸入指示將第一區(qū)域的維度修改成第二閾值;以及終止在顯示設備上顯示被對齊到邊界的第一區(qū)域。
8.權利要求1的方法,進一步包括動畫化從等于閾值的第一區(qū)域的維度到在顯示設備上顯示被對齊到邊界的第一區(qū)域的變換。
9.權利要求7的方法,其中用戶輸入指示以一速率增大第一區(qū)域的大小,以及其中動畫化變換包括以第二速率來動畫化變換,其中第二速率大于所述速率。
10.權利要求1的方法,進一步包括在以全屏模式顯示第一區(qū)域之前,確定包括用戶界面的直接操縱的第二用戶輸入指示將維度修改成低于所述閾值;顯示第一區(qū)域,其中第一區(qū)域沒有被對齊到邊界;以及其中顯示被對齊到邊界的第一區(qū)域響應于確定包括用戶界面的直接操縱的第三用戶輸入指示將維度修改成所述閾值而發(fā)生。
11.權利要求1的方法,進一步包括顯示對于在第一區(qū)域中顯示的媒體的控制;以及響應于確定在觸摸輸入設備上接收的用戶輸入指示將第一區(qū)域的維度修改成所述閾值,隱藏所述控制。
12.一種用于控制用戶界面的系統(tǒng),包括 處理器(22);以及存儲器(21 ),在所述系統(tǒng)是操作的時,所述存儲器通信耦合到所述處理器,所述存儲器具有在由所述處理器運行時引起以下動作的指令在顯示設備上顯示用戶界面,所述用戶界面包括第一區(qū)域(1702);確定包括用戶界面的直接操縱的用戶輸入指示將第一區(qū)域的維度修改成閾值(1710);以及在顯示設備上顯示被對齊到邊界的第一區(qū)域(1712)。
13.權利要求12的系統(tǒng),其中確定包括用戶界面的直接操縱的用戶輸入指示將被第一區(qū)域占用的區(qū)域修改成閾值包括確定用戶輸入指示將第一區(qū)域的高度、寬度、對角線或面積修改成所述閾值。
14.權利要求12的系統(tǒng),其中所述存儲器進一步具有在由所述處理器運行時導致所述處理器執(zhí)行包括以下操作的指令在顯示被對齊到邊界的第一區(qū)域之前,確定包括用戶界面的直接操縱的第二用戶輸入指示將維度修改成低于所述閾值;顯示第一區(qū)域,其中第一區(qū)域沒有被對齊到邊界;以及其中顯示被對齊到邊界的第一區(qū)域響應于確定包括用戶界面的直接操縱的第三用戶輸入指示將維度修改成高于所述閾值而發(fā)生。
15.權利要求12的系統(tǒng),其中所述存儲器進一步具有在由所述處理器運行時導致所述處理器執(zhí)行包括以下操作的指令顯示對于在第一區(qū)域中顯示的媒體的控制;以及隱藏所述控制,以響應確定包括用戶界面的直接操縱的接收到的用戶輸入指示將第一區(qū)域的維度修改成所述閾值。
全文摘要
披露用于使用觸摸手勢將視頻縮放至全屏的發(fā)明。當用戶在觸敏式表面上反向捏以放大視頻時,本發(fā)明追蹤縮放的量。當用戶已縮放至其中視頻的維度之一(高度或寬度)達到閾值(諸如顯示設備的維度的某一百分比,例如視頻的寬度達到顯示設備的寬度的80%)的點時,本發(fā)明確定以全屏來顯示視頻,并將視頻“對齊”到全屏。本發(fā)明可以借助于動畫來這樣做,例如擴展視頻以填滿整個屏幕。
文檔編號G06F3/041GK102436343SQ201110318170
公開日2012年5月2日 申請日期2011年10月19日 優(yōu)先權日2010年10月19日
發(fā)明者J. 維多爾 D., 隆巴多 J., A. 霍弗 P., 西瓦吉 V. 申請人:微軟公司