用于顯示全景圖像的方法和系統的制作方法
【專利摘要】提供了用于導航全景圖像的方法和系統。如果用戶將全景圖像旋轉到具有偏離超過閾值視角的視角的視圖,則將所述全景圖像的所述視圖調整到所述閾值視角。在特定的實施方式中,將所述視圖漂移到所述閾值視角,使得用戶可以至少暫時查看偏離超過所述閾值視角的圖像。當將所述圖像漂移到所述閾值視角時,可以使用各種轉變動畫。例如,可以使所述視圖彈性回彈到所述閾值視角,以向用戶提供視覺上吸引人的轉變。
【專利說明】用于顯示全景圖像的方法和系統
【技術領域】
[0001 ] 本公開一般地涉及顯示圖像,更具體地涉及顯示全景圖像。
【背景技術】
[0002]用于顯示圖像(具體地是全景圖像)的計算機化的方法和系統是已知的。在地理信息系統和數字地圖系統的背景下,例如谷歌地圖的服務能夠提供地理位置的街道級圖像。在谷歌地圖稱為“街景圖”的這些圖像通常提供以感興趣的地理區域為中心的身臨其境的360°全景視圖。全景視圖允許用戶從一個人的角度查看地理位置,就像用戶位于與該地理位置相關聯的街道面或地面上那樣。
[0003]用于導航全景圖像的用戶界面通常允許用戶平移、傾斜、旋轉和縮放全景圖像。在某些情況下,用戶可以導航到使進一步導航更麻煩的圖像的特定視圖。例如,用戶可以導航到其中用戶完全仰視或完全俯視的狀態。由于缺乏在這些視圖中描繪的特征,從這些視圖進行導航可能是迷惑和困難的,從而導致用戶受挫。
【發明內容】
[0004]本發明的方面和優點將部分在下面的描述中闡述,或可以是從描述中顯而易見,或者可以通過本發明的實踐而得知。
[0005]本公開的一個示例性方面涉及一種用于導航全景圖像的計算機實現的方法。該方法包括:在顯示設備的視口上以第一視角呈現全景圖像的至少一部分的第一視圖;接收將全景圖像的視圖旋轉到第二視角的用戶輸入;將全景圖像的視圖從第一視角旋轉到第二視角;以及確定第二視角是否偏離超過閾值視角。如果第二視角偏離超過閾值視角,則該方法包括將全景圖像的視圖從第二視角調整到閾值視角。
[0006]本公開的其它示例性實施方式涉及用于導航全景圖像的系統、裝置、計算機可讀介質、設備和用戶界面。
[0007]參考下面的描述和所附的權利要求,本發明的這些和其它特征、方面和優點將變得更好理解。合并在本說明書中并構成本說明書的一部分的附圖示出了本發明的實施例,并與描述一起用于解釋本發明的原理。
【專利附圖】
【附圖說明】
[0008]在本說明書中參考附圖闡述針對本領域的普通技術人員的本發明的完整和能夠實現的公開,包括其最佳模式,在附圖中:
[0009]圖1描繪了根據本公開的示例性實施例的用于顯示全景圖像的示例性系統;
[0010]圖2描繪了根據本公開的示例性實施例的用于顯示全景圖像的示例性用戶界面;
[0011]圖3和圖4提供了呈現為關于感興趣的地理點的三維圓柱表面的示例性360°全景圖像的概念圖;
[0012]圖5描繪了根據本公開的示例性實施例的具有已偏離超過閾值傾斜角的傾斜角的示例性的街道級圖像;
[0013]圖6描繪了根據本公開的示例性實施例的具有調整到閾值傾斜角的傾斜角的示例性的街道級圖像;
[0014]圖7提供了根據本公開的示例性實施例的示例性方法的流程圖;
[0015]圖8提供了與圖5中描繪的街道級圖像相關聯的概念圖;
[0016]圖9提供了與圖6中描繪的街道級圖像相關聯的概念圖;
[0017]圖10描繪了根據本公開的示例性實施例的具有已偏離超過閾值方位角的方位角的示例性的街道級圖像;
[0018]圖11描繪了根據本公開的示例性實施例的具有已調整到閾值方位角的方位角的示例性的街道級圖像;
[0019]圖12提供了與圖10中描繪的街道級圖像相關聯的概念圖;以及
[0020]圖13提供了與圖11中描繪的街道級圖像相關聯的概念圖。
【具體實施方式】
[0021]現在將對本發明的實施例進行詳細參考,其一個或多個示例在附圖中示出。每個示例是通過解釋本發明而不是限制本發明的方式提供。事實上,對于本領域技術人員顯而易見的是,在不脫離本發明的范圍或精神的前提下,可以在本發明中進行各種修改和變化。例如,被示出或描述為一個實施例的一部分的特征可以與另一個實施例一起使用,以產生又一個實施例。因此,意在本發明涵蓋歸入所附權利要求及其等同物的范圍內的這些修改和變化。
[0022]一般地,本公開涉及導航圖像,例如與地理區域相關聯的身臨其境的全景圖像。根據本公開的方面,將與圖像相關聯的一個或多個閾值視角定義為使得如果用戶導航超過閾值視角中的一個,則全景圖像的視圖將漂移回到閾值視角。因為視圖漂移回到閾值視角,因此允許用戶至少暫時查看超過閾值角度的圖像,同時避免用戶被卡在潛在迷惑和/或麻煩的視圖的情形。
[0023]例如,在一個特定的實施方式中,可以定義相對于與圖像相關聯的水平軸的最大傾斜角,使得如果用戶旋轉圖像超過最大傾斜角,則視圖將漂移回到最大傾斜角。在這個示例中,如果用戶拖動或旋轉圖像過高或過低時,視圖將轉回到靠近地平線,以防止用戶被卡在其中用戶完全仰視或俯視的視圖。
[0024]作為另一個示例,可以定義關于圖像的方位的一個或多個角度作為閾值角度。在這個示例中,如果用戶沿方位角方向旋轉或拖動視圖超過閾值視角,則視圖將轉回到最接近的閾值視角。在特定的實施方式中,可以基于與圖像相關聯的規范視圖或主導特征來定義閾值視角,使得用戶可以更容易地在感興趣的區域的主導視圖當中導航。例如,如果用戶旋轉超過感興趣的主導特征的視圖,則視圖將漂移回到主導視圖,使得用戶不必精確導航以觀察主導特征。
[0025]根據本發明的特定方面,可以使用各種轉變動畫(transition animation)來將視圖向閾值視角的漂移動畫化。例如,在一個示例性實施方式中,轉變動畫可以包括以恒定的漂移速率來漂移視圖。在另一個示例性實施方式中,轉變動畫可以包括以不同漂移速率來漂移視圖,例如當視角接近閾值視角時以較慢的漂移速率來漂移視圖。在又一個示例性實施方式中,視圖可以包括使視圖彈性回彈到閾值視角。轉變動畫的使用可以在圖像漂移回到閾值視角時向用戶提供更吸引人的視覺體驗。以這種方式,本發明的主題可以在導航圖像時提供改進的用戶體驗。
[0026]圖1描繪了根據本公開的示例性實施例的用于顯示全景圖像的示例性系統100。盡管是參考全景圖像對本公開進行討論,但是本領域的普通技術人員通過使用本文提供的公開內容應當理解本發明的主題同樣適用于任何類型的圖像,例如在谷歌地球中提供的三維圖像、斜視圖圖像、街道地圖圖像、衛星圖像或其它合適的圖像。
[0027]如圖所示,系統100包括計算設備110,用于向用戶顯示身臨其境的全景圖像。計算設備110設備可以采取任何適當的形式,例如個人計算機、智能電話、桌上型計算機、膝上型計算機、PDA、平板電腦或其它計算設備。計算設備110包括適當的輸入和輸出設備115,例如顯不屏、觸摸屏、觸摸板、數據輸入鍵、鼠標、揚聲器和/或適合于語音識別的麥克風。用戶可以通過與計算設備110上的適當的用戶界面交互來請求全景圖像。然后,計算設備110可以接收全景圖像和與全景圖像相關聯的數據,并通過任何合適的輸出設備上的視口,例如通過在顯示屏上呈現的瀏覽器中闡述的視口,來呈現全景圖像的至少一部分。
[0028]圖2描繪了計算設備110的示例性用戶界面200,例如瀏覽器。用戶界面200包括顯示例如街道級圖像320的身臨其境的全景圖像的一部分的視口 210。街道級圖像320描述了由一個或多個相機從在地面或街道面或者接近地面或街道面的角度捕獲的對象的圖像。盡管本公開使用術語“街道級”圖像,但是全景圖可以描繪非街道區域,例如小路(trail)和建筑物內部。如所示,街道級圖像320可以向用戶提供地理區域的身臨其境的查看體驗。
[0029]返回參考圖1,計算設備110包括(多個)處理器112和存儲器114。(多個)處理器112可以是任何已知的處理設備。存儲器114可以包括任何合適的計算機可讀介質,其中包括但不限于RAM、R0M、硬盤驅動器、閃存驅動器或其它存儲設備。存儲器114存儲由(多個)處理器112可訪問的信息,包括可以通過(多個)處理器112執行的指令。指令可以是任何指令集合,當由(多個)處理器112執行時,使(多個)處理器112提供期望的功能。例如,指令可以是以計算機可讀形式渲染的軟件指令。當使用軟件時,可以使用任何合適的編程、腳本或其它類型的語言或語言的組合來實現本文中所包含的教導。替選地,可以通過包括但不限于特定于應用的電路的硬連線邏輯或其它電路來實現指令。
[0030]計算設備110可以包括網絡接口 116,用于通過網絡120訪問信息。網絡120可以包括網絡的組合,例如蜂窩網絡、WiFi網絡、LAN、WAN、因特網和/或其它合適的網絡并且可以包括任何數量的有線或無線通信鏈路。例如,計算設備110可以使用WAP標準或其它適當的通信協議通過蜂窩網絡來通信。蜂窩網絡可以進而與因特網直接或通過另一網絡通?目。
[0031]計算設備110可以通過網絡120與另一個計算設備130通信。計算設備130可以是服務器,例如web服務器,其通過網絡120向例如計算設備110和150的多個客戶端計算設備提供信息。計算設備130從計算設備110接收請求并且響應于該請求而定位信息以返回到計算設備110。計算設備130可以采取任何適用的形式,并且可以例如包括提供地圖服務的系統,所述地圖服務例如由谷歌公司提供的谷歌地圖服務。
[0032]類似于計算設備110,計算設備130包括(多個)處理器132和存儲器134。存儲器134可以包括用于接收對地理信息的請求,例如來自客戶端設備的對街道級圖像的請求,以及用于將所請求的信息提供到客戶端設備以呈現給用戶的指令136。存儲器134還可以包括或耦合到包含用于呈現給用戶的信息的各種數據庫。例如,存儲器134可以包括地圖數據庫138和街道級圖像數據庫140。此外,計算設備130可以根據需要與其它數據庫進行通信。數據庫可以通過高帶寬LAN或WAN連接到計算設備130,或者也可以通過網絡120連接到計算設備130。包括地圖數據庫138和街道級圖像數據庫140的數據庫可以被分割,使得它們位于多個地點。
[0033]地圖數據庫138存儲地圖相關的信息,其至少一部分可以被發送到客戶端設備,例如計算設備110。例如,地圖數據庫138可以存儲地圖瓦片,其中每一瓦片是特定的地理區域的圖像。取決于分辨率(例如地圖是否被放大或縮小),單個瓦片可以以相對小的細節覆蓋較大的地理區域或以高細節僅覆蓋幾條街道。地圖信息不限于任何特定的格式。例如,圖像可以包括街道地圖、衛星圖像、斜視圖圖像或這些的組合。
[0034]各種地圖瓦片每個與地理位置相關聯,使得計算設備130能夠響應于接收到地理位置而選擇、檢索和發送一個或多個瓦片。可以以各種方式來表示位置,包括但不限于緯度/經度的位置、街道地址、地圖上的點、建筑名稱以及能夠識別地理位置的其它數據。
[0035]地圖數據庫138還可以包括感興趣點。感興趣點可以是一個或多個用戶感興趣并且與地理位置相關聯的任何項。例如,感興趣點可以包括地標、體育場、公園、古跡、餐廳、商業、建筑或其它合適的感興趣點。感興趣點可以由專業的地圖提供商、個人用戶或其它實體添加到地圖數據庫138。
[0036]地圖數據庫138還可以存儲街道信息。除了瓦片中的街道圖像,街道信息可以包括街道相對于地理區域或其它街道的位置。例如,它可以存儲指示旅行者是否可以從另一條街道直接到達一個街道的信息。街道信息還可以包括街道名稱(如果可獲得的話)和潛在的其它信息,例如路口之間的距離和速度限制。
[0037]街道級圖像數據庫140存儲與地理位置相關聯的街道級圖像。街道級圖像包括由定位在地理位置處的相機從在地面或街道面或者接近地面或街道面的角度捕獲的地理位置處的對象的圖像。盡管使用術語“街道級”圖像,但是圖像可以描繪非街道區域,例如小路和建筑物內部。示例性街道級圖像320描繪于圖2中。街道級圖像320可以從地面以上幾英尺的角度描繪對象,例如建筑物、樹木、古跡等。可以使用街道級圖像來以感興趣的地理區域為中心向用戶提供身臨其境的360°全景查看體驗。
[0038]可以使用任何合適的技術來捕獲圖像。例如,街道級圖像可以由安裝在車輛的頂部的相機從大致平行于地面指向的相機角度和從處于或低于車輛高度的法律限制(例如7到14英尺)的相機位置捕獲。街道級圖像不限于地面以上的任何特定的高度。例如,可以從建筑物的頂部拍攝街道級圖像。可以通過將從不同的角度拍攝的多個照片拼接在一起來創建全景街道級圖像。可以將全景圖像呈現為平的表面或呈現為紋理映射的三維表面,例如圓柱體或球體。
[0039]可以將街道級圖像作為與顏色和亮度值相關聯的一組像素存儲在街道級數據庫140中。例如,如果以JPEG格式存儲圖像,則圖像可以顯示為一組像素行和列,其中每一個像素與定義圖像在像素的位置處的顏色和亮度的值相關聯。
[0040]除了與地理位置相關聯外,用于構成360°全景圖像的街道級圖像還可以與指示在街道級圖像中描繪的視圖的方向或視角的信息相關聯。特定的街道級圖像的視角可以是與特定的視圖相關聯的相機角度,并且可以由傾斜角和方位角二者定義。在街道級圖像中描繪的視圖的傾斜角可以是視圖相對于水平軸的角度。方位角可以是關于360°全景圖像相對于例如與正北相關聯的視角的參考角的特定角度。例如,特定視圖的方位角可以是正北偏東30°。
[0041]參考圖3和圖4可以更容易地理解不范性街道級圖像的視角。圖3和圖4提供不例性360°全景圖像300的概念圖,其被呈現為關于感興趣的地理點的三維圓柱面。全景圖像300也可以被呈現為平的表面或球形表面。全景圖像300包括多個街道級圖像,例如街道級圖像320,其提供在全景圖像300中描繪的地理區域的各種視圖。構成全景圖像300的每個街道級圖像中的每一個與由在街道級圖像中呈現的視圖的傾斜角和/或方位角定義的視角相關聯。
[0042]例如,街道級圖像320與相對于水平軸330的傾斜角φ相關聯。街道級圖像也與全景圖像300相對于預定義的方向340的方位角Θ相關聯。預定義的方向340或0°方位參考可以與例如正北的方向相關聯,或者可以與在全景圖像300中描繪的興趣的規范視圖或主導特征相關聯。
[0043]返回參考圖1,計算設備130可以通過網絡120向計算設備110提供映射信息,包括街道級圖像和相關聯的方向信息。可以以任何合適的格式將信息提供到計算設備110。信息可以包括HTML代碼、XML消息、WAP代碼、Flash、Java小程序、xhtml、純文本、語音XML、VoxML, VXML或其它合適的格式的信息。計算設備110可以以任何合適的格式向用戶顯示信息。在一個實施例中,可以在瀏覽器中顯示信息,例如谷歌瀏覽器或其它合適的瀏覽器。
[0044]圖2描繪了通過視口 210顯示例如街道級圖像320的身臨其境的全景圖像的示例性用戶界面200。用戶界面200可以是瀏覽器顯示,其呈現與地圖服務和身臨其境的全景圖像二者相關聯的信息。例如,除了街道級圖像320外,用戶界面可以向用戶顯示地圖和其它信息,例如行進方向230。可以在任何合適的計算設備上,例如在移動設備、智能電話、PDA、平板電腦、膝上型計算機、桌上型計算機或其它合適的計算設備上,呈現用戶界面200。
[0045]用戶界面200可以為用戶請求與將通過視口 210顯示的地理區域相關聯的街道級圖像提供靈活性。例如,用戶可以在搜索域240中輸入文本,例如地址、建筑物的名稱或特定的緯度和經度。用戶也可以使用例如鼠標或觸摸屏的輸入設備來選擇顯示在地圖上的特定地理位置。更進一步地,用戶界面200可以提供圖標或其它特征,其允許用戶請求在指定的地理位置的街道級視圖。當通過視口 210提供街道級圖像時,用戶界面200可以用街道級視點標記250指示視圖的位置和方向。
[0046]用戶界面200可以包括用于導航與圖像320相關聯的視點的用戶可選擇的控件260。控件可以包括用于放大和縮小圖像的控件,以及用于改變在圖像320中描繪的視圖的方向的控件。用戶也可以通過例如用用戶可操作的光標或通過與觸摸屏的交互將圖像選擇和拖動到不同的視圖來調整視點。如果街道級圖像被下載作為完整的360度全景,則改變視圖的方向可能僅需要顯示全景的不同部分,而不用從服務器檢索更多信息。也可以包括其它導航控件,例如沿著街道布置的箭頭形式的控件,可以選擇這些控件以沿街道上下移動優越位置點。
[0047]在某些情況下,用戶可能將圖像導航到可能是迷惑或難以從其導航的視圖。例如,如圖5所示,用戶可能導航到完全仰視的圖像320的視圖。由于在此視圖中缺乏特征,從這個視點進一步導航可能是困難或麻煩的,從而導致用戶受挫。根據本發明的各方面,可以自動將圖像320的視圖轉移到更合適的視點,使得用戶能夠更容易地繼續身臨其境的查看體驗。例如,圖像320可以被轉移到在圖6所示中描繪的視圖,它描繪了更多的特征并促進用戶導航。
[0048]圖7描繪了根據本公開的方面的用于呈現全景圖像的示例性方法500。在(502),方法包括以第一視角呈現全景圖像的視圖。第一視角可以包括與視圖相關聯的傾斜角和/或與視圖相關聯的方位角。圖2描繪了在用戶界面200的視口 210上呈現的示例性街道級圖像320。如所示,街道級圖像320從第一視角的優越位置點向用戶提供示例性360°全景圖像的視圖。
[0049]返回參考圖7,在(504),方法包括接收將全景圖像的視圖從以第一視角的第一視圖旋轉到以第二視角的第二視圖的用戶輸入。用戶輸入可以是與例如圖2所描繪的導航控件260的導航控件的用戶交互,其將全景圖像的視圖從第一視角旋轉到第二視角。用戶輸入也可以是將全景圖像的視圖從第一視角選擇和拖動到第二視角。例如,用戶可以通過跨越視口 210向上或向下選擇和拖動圖像320來調整圖2中的圖像320的傾斜角。用戶可以通過跨越視口 210向左或向右選擇和拖動圖像320來調整圖2的圖像230的方位角。本領域的普通技術人員通過使用本文提供的公開內容應當理解可以在不脫離本公開的范圍的情況下使用用于旋轉全景圖像的視圖的任何合適的用戶輸入。
[0050]參考圖7,在(506),方法響應于用戶輸入而將全景圖像的視圖從以第一視角的第一視圖調整到以第二視角的第二視圖。例如,如圖5所示,可以將圖2中描繪的圖像320調整到以第二視角的第二視圖。 [0051]參考圖7,在(508),方法確定第二視角是否偏離超過與全景圖像相關聯的閾值視角。如果第二視角未偏離超過閾值視角,則全景圖像的視圖保持相同,并且方法返回到(502),直到接收到旋轉全景圖像的視圖的另一個用戶輸入。如果第二視角偏離超過閾值視角,方法將全景圖像的視圖調整到閾值視角(510)。例如,可以將圖5中描繪的圖像320的視圖調整到如圖6所示的閾值視角。優選地,預先確定閾值視角以向用戶提供期望的視圖。因為方法500自動將全景圖像的視圖調整到閾值視角,因此能夠避免用戶卡在全景圖像的麻煩的視圖的情況。
[0052]在本公開的一個示例性實施方式中,閾值視角包括用于全景圖像的閾值傾斜角。例如,圖8描繪了包括多個閾值傾斜角φ’的示例性360°全景圖像300的概念圖。相對于與全景圖像300相關聯的水平軸330來定義閾值傾斜角?可以將閾值傾斜角定義為使得在閾值傾斜角零’的視圖向用戶提供易于導航的視圖。例如,在特定的實施例中,可以將閾值傾斜角φ‘定義為在距與全景圖像330相關聯的水平軸330約45°到約60°的范圍內。
[0053]如果全景圖像300的視角偏離超過閾值傾斜角φ’中的任何一個,則視圖將轉移回到最接近的閾值傾斜角φ’。例如,圖5描繪了具有偏離超過閾值傾斜角的視角的圖像320。這在圖8概念性地示出,其示出圖像320的傾斜角φ偏離超過閾值傾斜角φ%
[0054]因為圖像320的傾斜角偏離超過閾值傾斜角因此圖像320的傾斜角f將被調整為近似等于閾值傾斜角φ、圖6描繪了在視圖已被調整到最接近的閾值傾斜角之后的圖
5的示例性圖像320。這在圖9概念性地示出,它示出了具有已被調整為近似等于閾值傾斜
角f的傾斜角φ的圖6的圖像320。圖6的圖像320的視圖相比于圖5的圖像320的視圖
描繪了更多的特征。因此,在用戶導航到麻煩的視圖,例如在全景圖像中完全仰視或完全俯視的視圖的情況下,可以向用戶呈現圖像的更易于導航的視圖。
[0055]在本公開的另一個示例性實施方式中,閾值視角可以包括用于全景圖像的閾值方位角。例如,圖12描繪了包括多個閾值方位角Θ i和Θ 2的示例性360°全景圖像300的概念圖。可以相對于參考角度340,例如與正北或其它方向相關聯的角度,來定義閾值方位角。可以基于全景圖像300的預定視圖來定義閾值方位角。
[0056]在一個示例中,可以基于與全景圖像相關聯的規范視圖來定義閾值方位角。規范視圖是從標準化的方向或視點的圖像的視圖。例如,感興趣的地理區域的規范視圖可以包括向北視圖、向南視圖、向東視圖或向西視圖。感興趣的地理區域的規范視圖還可以包括東北視圖、西北視圖、東南視圖和西南視圖。在其它實施方式中,規范視圖可以一般地沿圖像中所描繪的主導道路或矢量或一般地垂直于圖像中所描繪的主導道路或矢量。
[0057]在另一個示例中,可以基于感興趣的主導特征的視圖來定義閾值方位角。例如,可以將閾值方位角定義為提供在全景圖像中描繪的感興趣的特征的最佳視圖。例如,可以將閾值方位角定義為提供建筑物、地標、路口、街道或是在全景圖像中描繪的其它特征的最佳視圖。
[0058]圖12描繪了具有兩個閾值方位角Θ i和Θ 2的示例性全景圖像300的概念圖。雖然在圖12描繪了兩個閾值方位角,但是本領域的普通技術人員通過使用本文提供的公開內容應當理解可以根據需要使用任何數量的閾值方位角。可以基于與全景圖像相關聯的規范視圖,例如與全景圖像300相關聯的向南視圖,來定義閾值方位角%。可以基于感興趣的主導特征的視圖,例如在全景圖像300中描繪的建筑物322的最佳視圖(在圖11示出),來定義閾值方位角θ2。
[0059]如果全景圖像300的視角偏離超過閾值方位角01和Θ 2中的任何一個,則視圖將轉移回到最接近的閾值方位角。例如,圖10描繪了已旋轉至稍微偏離超過閾值視角02的方位角視角Θ的圖像320。如所示,圖10的圖像320未描繪在圖像320中描繪的建筑物322的完整視圖。這在圖12概念性地示出,它示出了圖11的圖像320的方位角Θ偏離超過閾值方位角θ2。
[0060]因為圖像320的方位角Θ偏離超過閾值方位角Θ 2,因此圖像320的視圖將被調整到近似等于閾值方位角02的視角。圖11描繪了在視圖已被調整到閾值方位角θ2之后的圖10的示例性圖像320。這在圖13概念性地示出,它描繪了具有已被調整為近似等于閾值方位角92的方位角Θ的圖11的圖像320。由于閾值方位角θ2開始被定義為提供感興趣的主導特征(例如建筑物322)的視圖,因此與圖10的視圖相比,圖11的視圖提供建筑物320的更好視圖。通過提供方位角的調整,用戶可以在規范視圖或感興趣的主導特征的視圖之間更輕松地導航,而不必精確導航。
[0061]為了防止在用戶導航期間意外校正全景圖像的視圖,可以只有當視角稍微偏離超過閾值視角時才將視角調整到閾值視角。例如,如果視角偏離超過閾值視角20°或更小,則可以將視角調整到閾值視角。然而,如果視角偏離超過閾值方位角視角20°,則不對視角進行任何調整。因此,如果用戶導航顯著超過閾值視角,則用戶不必擔心視圖調整到意外的視角。
[0062]根據本發明的特定的方面,可以通過將全景圖像的視圖漂移到閾值視角來將全景圖像的視圖調整到閾值視角。漂移視圖可以包括將圖像的視圖從視角連續平移到閾值角度。例如,用戶可以通過跨越視口選擇和拖動全景圖像來將全景圖像的視圖從第一視角旋轉到第二視角。在用戶釋放全景圖像時,全景圖像的視圖可以從第二視角漂移或平移到閾值視角。漂移全景圖像允許用戶在視角向閾值視角漂移時至少暫時以超過閾值視角的視角查看全景圖像。
[0063]為了增強用戶的查看體驗,可以使用各種轉變動畫來將視角漂移到閾值視角。例如,在一個示例中,轉變動畫可以包括以恒定漂移速率將視角漂移到閾值視角。漂移速率指定當全景圖像的視圖連續向閾值視角平移時,視角隨時間改變的速率。可以根據需要將恒定漂移速率指定為相對較快或相對較慢。使用較慢的恒定漂移速率可以在全景圖像的視圖向閾值視角漂移時為用戶提供更多的時間來查看全景圖像的特征。
[0064]在另一個示例中,轉變動畫可以包括以變化的漂移速率將視角漂移到閾值視角。使用變化的漂移速率可以允許轉變動畫向用戶提供各種美觀的效果。例如,在一個示例中,當全景圖像的視角接近閾值視角時,漂移速率可以減速或減慢。這可以向用戶提供緩入閾值視角的外觀。
[0065]在又一個示例中,轉變動畫可以包括使全景圖像彈性回彈到閾值視角。使全景圖像彈性回彈可以包括將轉變動畫化,使得全景圖像的視圖相對于閾值視角似乎被彈性構件支撐。在用戶在偏離超過閾值視角的視角釋放全景圖像時(即在用戶停止旋轉全景圖像的視圖之后),全景圖像的視圖以類似于彈性構件在被拉伸之后回彈到平衡位置的方式回彈到閾值視角。
[0066]也可以在用戶導航全景圖像時實現彈性回彈動畫。例如,當用戶旋轉全景圖像的視角超過閾值視角時,可以將全景圖像的視圖動畫化以模擬彈性構件“拉伸”超過平衡位置。用戶旋轉圖像的視圖超過閾值視角越遠,用戶導航到該視角可能越困難。在用戶釋放全景圖像時,全景圖像如上面所討論地回彈到閾值角度。
[0067]使用彈性回彈動畫可以通過向用戶通知閾值角度的位置來改進用戶的查看體驗。具體地,回彈到閾值角度可以向用戶提供強大的視覺象征,向用戶表明閾值角度的位置。此夕卜,視圖“拉伸”超過閾值角度可以向用戶表明用戶正導航到全景圖像的麻煩或不期望的視圖。
[0068]可以使用其它轉變動畫來向用戶提供改進的視覺體驗。例如,可以將視圖動畫化為當到達閾值視角時反彈或擺動。本領域的普通技術人員通過使用本文提供的公開內容應當理解在不脫離本公開的范圍的前提下,可以使用各種轉變動畫來向用戶提供視覺上吸引人的導航體驗。
[0069]雖然已經關于具體的示例性實施例和方法對本發明的主題進行了詳細的描述,但是應當理解的是,本領域技術人員一旦獲得對前文的理解可容易地產生這些實施例的替代、變體和等同物。因此,本公開的范圍是通過舉例的方式而不是通過限制的方式,并且本公開不排除包括對于本領域的普通技術人員來說將是顯而易見的對本發明的主題的這樣 的修改、變化和/或添加。
【權利要求】
1.一種用于顯示全景圖像的計算機實現的方法,包括: 在顯示設備的視口上以第一視角呈現所述全景圖像的至少一部分的第一視圖; 接收將所述全景圖像的所述視圖旋轉到第二視角的用戶輸入; 將所述全景圖像的所述視圖從所述第一視角旋轉到所述第二視角; 確定所述第二視角是否偏離超過閾值視角;以及 如果所述第二視角偏離超過所述閾值視角,則將所述全景圖像的所述視圖從所述第二視角調整到所述閾值視角。
2.根據權利要求1所述的計算機實現的方法,其中,將所述全景圖像的所述視圖從所述第二視角調整到所述閾值視角包括:將所述全景圖像的所述視圖從所述第二視角漂移到所述閾值視角。
3.根據權利要求1所述的計算機實現的方法,其中,使用轉變動畫將所述全景圖像的所述視圖從所述第二視角漂移到所述閾值視角。
4.根據權利要求3所述的計算機實現的方法,其中,所述轉變動畫包括以恒定的漂移速率在所述第一視角和所述第二視角之間漂移所述圖像。
5.根據權利要求3所述的計算機實現的方法,其中,所述轉變動畫包括以變化的漂移速率在所述第一視角和所述第二視角之間漂移所述圖像。
6.根據權利要求5所述的計算機實現的方法,其中,所述轉變動畫包括在所述全景圖像的所述視圖達到所述閾值視角之前將所述漂移速率減速。
7.根據權利要求3所述的計算機實現的方法,其中,所述轉變動畫包括使所述全景圖像從所述第二視角彈性回彈到所述閾值視角。
8.根據權利要求1所述的計算機實現的方法,其中,所述閾值視角包括閾值傾斜角。
9.根據權利要求7所述的計算機實現的方法,其中,所述閾值傾斜角在距與所述全景圖像相關聯的水平軸約45°到約60°的范圍內。
10.根據權利要求1所述的計算機實現的方法,其中,所述閾值視角包括閾值方位角。
11.根據權利要求1所述的計算機實現的方法,其中,至少部分地基于所述全景圖像的規范視圖來定義所述閾值視角。
12.根據權利要求1所述的計算機實現的方法,其中,至少部分地基于所述全景圖像中的主導特征的視圖來定義所述閾值視角。
13.根據權利要求1所述的計算機實現的方法,其中,確定所述第二視角是否偏離超過閾值視角包括:確定所述第二視角是否偏離超過多個閾值視角中的一個。
14.根據權利要求12所述的計算機實現的方法,其中,所述方法包括:如果所述第二視角偏離超過多個閾值視角中的一個,則將所述全景圖像的所述視圖從所述第二視角調整到最接近的閾值視角。
15.根據權利要求1所述的計算機實現的方法,其中,所述全景圖像包括街道級圖像。
16.一種用于顯示圖像的系統,包括: 顯示設備; 一個或多個處理器;以及 耦合到所述一個或多個處理器的至少一個存儲器,所述至少一個存儲器包括由所述一個或多個處理器執行以使所述一個或多個處理器執行操作的計算機可讀指令,所述操作包括: 在所述顯示設備的視口上以第一視角呈現所述全景圖像的至少一部分的第一視圖; 接收將所述全景圖像的所述視圖旋轉到第二視角的用戶輸入; 將所述全景圖像的所述視圖從所述第一視角旋轉到所述第二視角; 確定所述第二視角是否偏離超過閾值視角;以及 如果所述第二視角偏離超過所述閾值視角,則將所述全景圖像的所述視圖從所述第二視角漂移到所述閾值視角。
17.根據權利要求16所述的系統,其中,使用轉變動畫將所述全景圖像從所述第二視角漂移到所述閾值視角。
18.根據權利要求17所述的系統,其中,所述轉變動畫包括所述視圖從所述第二視角彈性回彈到所述閾值視角。
19.根據權利要求16所述的系統,其中,所述閾值視角包括閾值傾斜角。
20.根據權利要求19所述的系統,其中,所述閾值傾斜角在距與所述全景圖像相關聯的水平軸約45°到約60 °的范圍內。
21.根據權利要求16所述的系統,其中,所述閾值視角包括閾值方位角。
22.根據權利要求16所述的系統,其中,至少部分地基于規范視圖或所述全景圖像中的主導特征的視圖來定義所述閾值視角。
23.根據權利要求16所述的系統,其中,所述一個或多個處理器被配置為執行確定所述第二視角是否偏離超過多個閾值視角中的一個的操作。
24.根據權利要求24所述的系統,其中,一個或多個處理器被配置為執行如果所述第二視角視圖偏離超過所述多個閾值視角中的一個則將所述全景圖像的所述視圖從所述第二視角調整到最接近的閾值視角的操作。
25.一種用于提供全景圖像的系統,所述系統包括處理設備和網絡接口,所述處理設備被配置為: 經由所述網絡接口以第一視角提供全景圖像的至少一部分的第一視圖; 接收對以第二視角的所述全景圖像的至少一部分的第二視圖的請求; 經由所述網絡接口提供以所述第二視角的所述全景圖像的所述第二視圖; 確定所述第二視角是否偏離超過閾值視角;以及 為所述全景圖像的所述第二視圖提供指令,用以如果所述第二視角偏離超過所述閾值視角,則將所述全景圖像的所述視圖從所述第二視角調整到所述閾值視角。
26.根據權利要求25所述的系統,其中,所述指令指定用于將所述全景圖像的所述視圖從所述第二視角調整到所述閾值視角的轉變動畫。
27.根據權利要求25所述的系統,其中,所述閾值視角包括閾值傾斜視角。
28.根據權利要求27所述的系統,其中,所述閾值傾斜視角在距與所述全景圖像相關聯的水平軸40°到約60°的范圍內。
29.根據權利要求25所述的系統,其中,所述閾值視角包括閾值方位角視角。
30.根據權利要求29所述的系統,其中,基于規范視圖或所述全景圖像中的感興趣的主導特征來定義所述閾值視角。
【文檔編號】G06F17/30GK104040546SQ201380005344
【公開日】2014年9月10日 申請日期:2013年1月11日 優先權日:2012年1月11日
【發明者】喬納·瓊斯, 馬修·羅伯特·辛普森 申請人:谷歌公司