[go: up one dir, main page]

TW202311815A - 在實體表面上顯示數位媒體內容 - Google Patents

在實體表面上顯示數位媒體內容 Download PDF

Info

Publication number
TW202311815A
TW202311815A TW111130220A TW111130220A TW202311815A TW 202311815 A TW202311815 A TW 202311815A TW 111130220 A TW111130220 A TW 111130220A TW 111130220 A TW111130220 A TW 111130220A TW 202311815 A TW202311815 A TW 202311815A
Authority
TW
Taiwan
Prior art keywords
display surface
book
page
media content
pose
Prior art date
Application number
TW111130220A
Other languages
English (en)
Inventor
洋 于
史考特 巴克
喬納森 齊斯
Original Assignee
美商高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商高通公司 filed Critical 美商高通公司
Publication of TW202311815A publication Critical patent/TW202311815A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • G09G3/002Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to project the image of a two-dimensional display, such as an array of light emitting or modulating elements or a CRT
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本文描述了用於在實體表面或物件上顯示數位媒體內容(例如,電子書)的系統和技術。該系統和技術可以經由各種類型的系統(諸如經由擴展現實(XR)系統或設備)來實施。例如,一種程序可以包括由擴展現實設備接收對在顯示表面上顯示媒體內容的請求。該程序可以包括決定顯示表面的姿態和擴展現實設備的姿態。該程序可以包括基於顯示表面的姿態和擴展現實設備的姿態,由擴展現實設備相對於顯示表面顯示媒體內容。

Description

在實體表面上顯示數位媒體內容
本案係關於擴展現實系統。例如,本案的各態樣係關於在實體表面或物件上顯示數位媒體內容(諸如電子書)的系統和技術。
擴展現實(XR)系統可以包括虛擬實境(VR)系統、增強現實(AR)系統、混合現實(MR)系統及/或其他系統。XR系統可以提供多種類型的XR環境。例如,XR系統可以將虛擬內容疊加到真實世界環境的影像上,使用者可以經由XR設備(例如,頭戴式顯示器、XR眼鏡或其他XR設備)查看這些影像。一些XR系統可以向使用者提供隨附的音訊內容。真實世界環境可以包括實體物件、人或其他真實世界物件。XR系統可以使得使用者能夠與疊加在真實世界環境上的虛擬內容進行互動。在一些情況下,與虛擬內容的互動可能涉及與環境中的實體物件的互動。例如,基於XR的閱讀應用可能需要使用者查看、持有實體圖書及/或與其互動。
自由度(DoF)是指剛性物件可以移動經由三維(3D)空間的基本方式的數量。在一些實例中,可以追蹤六個不同的DoF(稱為6DoF)。6DoF的六個DoF包括三個平移DoF,其對應於沿著三個垂直軸線(可以稱為x、y和z軸)的平移運動。六個DoF亦包括三個旋轉DoF,其對應於圍繞三個軸線的旋轉運動,其可以稱為俯仰、偏航和滾動。一些XR設備(諸如VR或AR頭戴式耳機或眼鏡)可以追蹤六個自由度中的一些或全部自由度。例如,3DoF XR頭戴式耳機通常追蹤三個旋轉DoF,並且因此可以追蹤使用者是否轉動及/或傾斜他們的頭部。6DoF XR頭戴式耳機追蹤所有六個DoF,並且因此除了三個旋轉DoF之外,亦追蹤使用者的平移運動。
本文描述了用於在實體表面或物件上顯示數位媒體內容(例如,電子書)的系統和技術。根據至少一個實例,提供了一種用於顯示媒體內容的方法。該方法包括:由擴展現實設備接收對在顯示表面上顯示媒體內容的請求;決定該顯示表面的姿態和該擴展現實設備的姿態;及基於該顯示表面的姿態和該擴展現實設備的姿態,由該擴展現實設備相對於該顯示表面顯示該媒體內容。
在另一個實例中,提供了一種用於顯示媒體內容的裝置,該裝置包括記憶體(例如,被配置為儲存諸如虛擬內容資料、一或多個影像等的資料)和耦合到記憶體的一或多個處理器(例如,在電路中實施)。該一或多個處理器被配置為並且可以:由擴展現實設備接收對在顯示表面上顯示媒體內容的請求;決定該顯示表面的姿態和該擴展現實設備的姿態;及基於該顯示表面的姿態和該擴展現實設備的姿態,由該擴展現實設備相對於該顯示表面顯示該媒體內容。
在另一實例中,提供了一種其上儲存有指令的非暫時性電腦可讀取媒體,該指令在由一或多個處理器執行時使該一或多個處理器:由擴展現實設備接收對在顯示表面上顯示媒體內容的請求;決定該顯示表面的姿態和該擴展現實設備的姿態;及基於該顯示表面的姿態和該擴展現實設備的姿態,由該擴展現實設備相對於該顯示表面顯示該媒體內容。
在另一個實施例中,提供了一種用於顯示媒體內容的裝置。該裝置包括:用於由擴展現實設備接收對在顯示表面上顯示媒體內容的請求的構件;用於決定該顯示表面的姿態和該擴展現實設備的姿態的構件;及用於基於該顯示表面的姿態和該擴展現實設備的姿態由該擴展現實設備相對於該顯示表面顯示該媒體內容的構件。
在一些態樣,該顯示表面包括圖書的頁面的至少一部分。
在一些態樣,決定該顯示表面的姿態包括決定該顯示表面的至少一個特徵的變形模型。
在一些態樣,上述方法、裝置和電腦可讀取媒體中的一者或多者亦包括:基於該顯示表面的至少一個特徵的變形模型來決定該顯示表面的至少一部分的變形模型。
在一些態樣,相對於該顯示表面顯示該媒體內容包括相對於該顯示表面的變形模型顯示該媒體內容。
在一些態樣,該顯示表面的至少一個特徵包括圖書的頁面的邊緣。
在一些態樣,該顯示表面的至少一個特徵包括印刷在圖書的頁面上的複數個本文字元。
在一些態樣,上述方法、裝置和電腦可讀取媒體中的一者或多者亦包括:決定該顯示表面的特徵的複數個圖元位置;及決定對該顯示表面的特徵的複數個圖元位置的曲線擬合。
在一些態樣,決定該曲線擬合包括使該曲線擬合與該複數個圖元位置之間的均方誤差最小化。
在一些態樣,該曲線擬合包括多項式曲線擬合。
在一些態樣,上述方法、裝置和電腦可讀取媒體中的一者或多者亦包括:決定該擴展現實設備與該顯示表面之間的相對姿態變化;及由該擴展現實設備基於該決定的相對姿態變化以相對於該顯示表面的更新的方向來顯示該媒體內容。
在一些態樣,該相對姿態變化包括該擴展現實設備在六個自由度中的至少一者中的姿態變化。
在一些態樣,該相對姿態變化至少部分地基於從慣性量測單元獲得的輸入來偵測。
在一些態樣,上述方法、裝置和電腦可讀取媒體中的一者或多者亦包括:獲得指示該擴展現實設備將該媒體內容的顯示從該顯示表面改變為另一個顯示表面的輸入;並且基於該輸入:決定該另一個顯示表面的姿態和該擴展現實設備的另一個姿態;及基於該另一個顯示表面的姿態和該擴展現實設備的另一個姿態,由該擴展現實設備相對於該另一個顯示表面顯示該媒體內容。
在一些態樣,由該擴展現實設備偵測指示該擴展現實設備更新該媒體內容的顯示部分的手勢輸入;及基於該輸入來更新該媒體內容的顯示部分。
在一些態樣,上述方法、裝置和電腦可讀取媒體中的一者或多者亦包括:基於該顯示表面的頁面的邊緣的位置來決定用於相對於該顯示表面顯示該媒體內容的位置和方向。
在一些態樣,上述方法、裝置和電腦可讀取媒體中的一者或多者亦包括:基於該顯示表面的一或多個特徵來決定要在該顯示表面上顯示的媒體內容的一部分。
在一些態樣,該顯示表面上的一或多個特徵包括印刷在圖書的頁面上的頁碼。
在一些態樣,顯示媒體內容包括在顯示表面上顯示數位圖書的第一頁,該方法亦包括:偵測該圖書的頁面的翻動;及基於偵測到該頁面的翻動,顯示該數位圖書的與該第一頁不同的第二頁。
在一些態樣,上述方法、裝置和電腦可讀取媒體中的一者或多者亦包括:接收關於顯示表面的邊界的資訊。
在一些態樣,關於該顯示表面的邊界的資訊是基於由該擴展現實設備偵測到的手勢。
在一些態樣,上述裝置中的一者或多者是以下各項、是以下各項的一部分或包括以下各項:行動設備(例如,行動電話或所謂的「智能手機」或其他行動設備)、可穿戴設備、擴展現實設備(例如、虛擬實境(VR)設備、增強現實(AR)設備或混合現實(MR)設備)、個人電腦、膝上型電腦、伺服器電腦、交通工具(例如,交通工具的計算設備)或其他設備。在一些態樣,一種裝置包括用於擷取一或多個影像的一或多個相機。在一些態樣,該裝置包括用於顯示一或多個影像、通知及/或其他可顯示資料的顯示器。在一些態樣,該裝置可以包括一或多個感測器。在一些情況下,該一或多個感測器可以用於決定該裝置的位置及/或姿態、該裝置的狀態及/或用於其他目的。
本發明內容既非意圖標識所要求保護的主題的關鍵或必要特徵,亦非意圖單獨用於決定所要求保護的主題的範疇。應經由參考本專利的完整說明書的適當部分、任何或全部附圖以及每條請求項來理解主題。
經由參考以下說明書、請求項和附圖,前述內容連同其他特徵和實施例將變得更加明顯。
下文提供本案的某些態樣和實施例。這些態樣和實施例中的一些可以獨立地應用並且其中的一些可以組合應用,這對於本發明所屬領域中具有通常知識者來說是顯而易見的。在以下描述中,出於解釋的目的,闡述了具體細節以便提供對本案的實施例的透徹理解。然而,顯而易見的是,可以在沒有這些具體細節的情況下實踐各種實施例。附圖和描述不意圖是限制性的。
以下描述僅提供示例性實施例,而不意圖限制本案的範疇、適用性或配置。相反,對示例性實施例的以下描述將為本發明所屬領域中具有通常知識者提供用於實施示例性實施例的可行描述。應當理解,在不脫離所附請求項中闡述的本案的範疇的情況下,可以對元素的功能和佈置作出各種改變。
擴展現實(XR)系統或設備可以向使用者提供虛擬內容及/或可以將真實世界或實體環境與虛擬環境(由虛擬內容組成)結合以為使用者提供XR體驗。真實世界環境可以包括真實世界物件(亦稱為實體物件),諸如圖書、人、交通工具、建築物、桌子、椅子及/或其他真實世界或實體物件。XR系統或設備可以促進與不同類型的XR環境的互動(例如,使用者可以使用XR系統或設備與XR環境進行互動)。XR系統可以包括促進與VR環境互動的虛擬實境(VR)系統、促進與AR環境互動的增強現實(AR)系統、促進與MR環境互動的混合現實(MR)系統、及/或其他XR系統。如本文所使用的,術語XR系統和XR設備可互換使用。XR系統或設備的實例包括頭戴式顯示器(HMD)、智慧眼鏡等等。在一些情況下,XR設備可以追蹤使用者的一部分(例如,使用者的手及/或指尖)以允許使用者與虛擬內容項進行互動。
AR是在使用者對實體、真實世界場景或環境的視圖上提供虛擬或電腦產生的內容(稱為AR內容)的技術。AR內容可以包括虛擬內容,諸如視訊、影像、圖形內容、位置資料(例如,全球定位系統(GPS)資料或其他位置資料)、聲音、其任意組合、及/或其他增強內容。AR系統或設備被設計成增強(enhance)(或增強(augment))而不是替代人員當前對現實的感知。例如,使用者可以經由AR設備顯示器看到真實的靜止或移動的實體物件,但是使用者對實體物件的視覺感知可能經由該物件的虛擬影像(例如,經由DeLorean的虛擬影像替換真實世界的汽車)、經由添加到實體物件的AR內容(例如,添加到活體動物的虛擬翅膀)、經由相對於實體物件顯示的AR內容(例如,顯示在建築物上的標牌附近的資訊虛擬內容、以虛擬方式錨定到一或多個影像中的真實世界桌子上(例如,放置在桌子上)的虛擬咖啡杯)及/或經由顯示其他類型的AR內容來增強。各種類型的AR系統可以用於遊戲、娛樂及/或其他應用。
在一些情況下,可以用於提供AR內容的兩種類型的AR系統包括視訊透視(亦稱為視訊穿透)顯示器和光學透視顯示器。視訊透視和光學透視顯示器可以用於增強使用者對真實世界或實體物件的視覺感知。在視訊透視系統中,顯示真實世界場景的實況視訊(例如,包括在實況視訊上增強的一或多個物件)。可以使用行動設備(例如,行動電話顯示器上的視訊)、HMD或可以顯示視訊和在視訊上方顯示電腦產生的物件的其他合適的設備來實施視訊透視系統。
具有AR特徵的光學透視系統可以將AR內容直接顯示到真實世界場景的視圖上(例如,不顯示真實世界場景的視訊內容)。例如,使用者可以經由顯示器(例如,眼鏡或鏡片)查看真實世界場景中的實體物件,並且AR系統可以將AR內容顯示(例如,投影或以其他方式顯示)在顯示器上,以向使用者提供對一或多個真實世界物件的增強視覺感知。光學透視AR系統或設備的實例是AR眼鏡、HMD、另一個AR頭戴式耳機或其他類似設備,這些設備可以在每只眼睛的前面包括鏡片或眼鏡(或在雙眼上的單個鏡片或眼鏡)以允許使用者直接看到具有實體物件的真實世界場景,同時亦允許將該物件的增強影像或額外AR內容投影到顯示器上,以增強使用者對真實世界場景的視覺感知。
VR在三維電腦產生的VR環境或圖示真實世界環境的虛擬版本的視訊中提供完整的沉浸式體驗。VR環境可以經由看似真實或實體的方式進行互動。當體驗VR環境的使用者在真實世界中移動時,在虛擬環境中渲染的影像亦會發生變化,從而使使用者感知到使用者正在VR環境中移動。例如,使用者可以向左或向右轉、向上或向下看,及/或向前或向後移動,因此改變使用者對VR環境的視點。呈現給使用者的VR內容可以相應地改變,使得使用者的體驗就像在真實世界中一樣無瑕疵。在一些情況下,VR內容可以包括VR視訊,這些視訊可以以非常高的品質被擷取和渲染,從而可能提供真正沉浸式的虛擬實境體驗。虛擬實境應用可以包括遊戲、培訓、教育、體育視訊、線上購物等等。VR內容可以使用VR系統或設備(諸如VR HMD或其他VR頭戴式耳機)進行渲染和顯示,該VR系統或設備在VR體驗期間完全覆蓋使用者的眼睛。
MR技術可以結合VR和AR的各態樣以為使用者提供沉浸式體驗。例如,在MR環境中,真實世界和電腦產生的物件可以互動(例如,真人可以與虛擬人員互動,就好像虛擬人員是真人一樣)。
視覺同步定位和映射(VSLAM)是用在具有相機的設備(諸如機器人、頭戴式顯示器(HMD)、行動頭戴式耳機和自主交通工具)中的計算幾何技術。在VSLAM中,設備可以基於由設備的一或多個相機擷取的影像構建和更新未知環境的地圖。當設備更新地圖時,設備可以追蹤設備在環境中的姿態(例如,位置及/或方向)。例如,該設備可以在建築物的特定房間中被啟動,並且可以移動經由建築物內部,從而擷取影像。該設備可以映射環境,並基於追蹤環境中的不同物件在不同影像中出現的位置來追蹤其在環境中的位置。XR系統或設備可以利用VSLAM,諸如允許XR系統辨識和追蹤真實世界中的三維(3D)物件和場景(例如,牆壁、障礙物等)(例如,用於錨定虛擬內容、用於預測功能,諸如推薦等)。
自由度(DoF)是指剛性物件可以移動經由3D空間的基本方式的數量。在一些情況下,可以追蹤六個不同的DoF。六個自由度包括與沿著三個垂直軸線的平移運動相對應的三個平移自由度。這三個軸可以稱為x、y和z軸。六個自由度亦包括三個旋轉自由度,其對應於圍繞三個軸線的旋轉運動,其可以稱為俯仰、偏航和滾動。
在追蹤經由環境的運動的系統(諸如XR系統及/或VSLAM系統)的背景中,自由度可以代表系統能夠追蹤的六個自由度中的哪一個自由度。3DoF系統通常追蹤三個旋轉DoF-俯仰、偏航和滾動。例如,3DoF頭戴式耳機可以追蹤頭戴式耳機的使用者向左或向右轉動頭部、向上或向下傾斜頭部、及/或向左或向右傾斜頭部。6DoF系統可以追蹤三個平移DoF以及三個旋轉DoF。因此,例如,6DoF AR頭戴式耳機除了追蹤三個旋轉DoF之外亦可以追蹤使用者向前、向後、橫向及/或豎直移動。
追蹤經由環境的運動的系統(諸如XR系統及/或VSLAM系統)通常包括強大的處理器。這些強大的處理器可以用於足夠快地執行複雜操作,以向這些系統的使用者顯示基於這些操作的最新輸出。此類複雜操作可能涉及特徵追蹤、6DoF追蹤、VSLAM、渲染虛擬物件以在XR中看起來疊加在環境上、對虛擬物件進行動畫處理、及/或本文論述的其他操作。
與印刷圖書相比,電子書(eBook)提供了許多優點。一個實例優點是能夠在不同的照明條件下閱讀。例如,閱讀電子書的許多設備包括背光,以允許使用者在黑暗中閱讀,並亦提供在自然照明條件下閱讀的能力。另一個優點是便攜性,因為電子書可以允許使用者一次攜帶許多(例如,數百、數千等)圖書,而不受紙張重量的限制。其他電子書優點包括以電子方式記筆記、突出顯示段落和書簽位置的能力。在一些情況下,電子書可以包括促進在筆記、突出顯示和書簽之間快速導航的導航特徵。在一些情況下,電子書包括額外的使用者便利工具,諸如用於搜尋未知詞含義的字典功能和增強現實特徵等等。
紙質圖書亦比電子書更有優勢。例如,使用者可能更喜歡拿著圖書並觸摸它的頁面的觸感。對於使用者來說,在印刷圖書的相鄰頁面之間翻頁亦是相對容易。一些使用者可能亦會發現閱讀和處理印刷圖書的體驗更具沉浸式及/或更容易集中注意力。
如本文更詳細地描述的,系統、裝置、方法(亦稱為程序)和電腦可讀取媒體(在本文中統稱為「系統和技術」)在本文中被描述用於提供結合了電子書和印刷圖書的益處的XR系統。在一些情況下,XR系統可以包括可穿戴設備,諸如頭戴式顯示器(HMD)或XR眼鏡,其可以在實體圖書及/或其他表面或物件的頁面上顯示媒體內容(例如,電子書內容、影像、視訊等)。在一些情況下,電子書內容可以由XR系統投影及/或渲染,以使使用者看起來好像本文印刷在實體圖書的頁面上一樣。在一些實例中,實體圖書可以是具有空白頁面的圖書。在一些實施方式中,實體圖書可以是包括與由XR系統顯示的電子書內容不同的本文及/或插圖的任何印刷圖書。XR系統可以提供電子書的特徵和益處,諸如筆記、突出顯示、書簽、搜尋工具等。XR系統可以包括AR系統或設備(例如,視訊透視/穿透AR系統或設備)、VR系統或設備,或MR系統或設備。
儘管經由本案提供了將電子書內容投影和渲染到實體圖書上的具體實例,但是本文描述的系統和技術可以更通常用於在任何類型的顯示表面(可以包括實體圖書)上投影及/或渲染數位媒體內容(其可以包括電子書)。另外,本文對數位媒體內容的任何引用皆可以包括電子書,並且對顯示表面的任何引用皆可以包括實體圖書或其部分。
在一些情況下,XR系統可以決定用於在顯示表面(例如,實體圖書的頁面)上顯示電子書內容的顯示區域。在一些情況下,XR系統可以經由偵測實體圖書的特徵來決定顯示區域,諸如角落、邊緣、現有的印刷本文等。在一些情況下,XR系統可以至少部分地經由偵測一或多個特定(例如,預定義)手勢來決定用於顯示電子書內容的顯示區域。此類手勢的說明性實例可以包括指向印刷圖書的頁面的邊界、使用手指沿著頁面的邊界畫線、其任何組合、及/或其他手勢。在一些情況下,印刷圖書可以是如下圖書:在頁面上具有特殊標記以説明偵測圖書及/或決定圖書姿態。
在一些情況下,XR系統可以決定實體圖書及其頁面的姿態(例如,方向和平移),以便決定相對於圖書頁面顯示數位媒體內容的正確位置和方向。在一些實例中,XR系統可以使用6DoF追蹤來決定圖書的姿態及/或XR系統的姿態。
在一些實例中,實體圖書的頁面可以相對於XR系統以任意方向打開。在一些情況下,XR系統可以決定圖書的頁面的角落及/或邊緣的位置。在一些實例中,XR系統可以基於實體圖書的大小、角落及/或邊緣的位置、頁面上的現有本文及/或插圖、頁面上的陰影、或與實體圖書相關的任何其他特徵來決定頁面的輪廓(在本文中亦稱為變形模型)。在一些情況下,XR系統可以使用6DoF追蹤來偵測使用者何時轉動及/或傾斜其頭部及/或平移移動,以確保投影或渲染的數位媒體內容在實體圖書頁面上的正確位置和方向。
在一些情況下,XR系統可以類比實體圖書的閱讀行為,以顯示數位媒體內容。例如,對於電子書內容,當XR系統偵測到實體圖書的頁面已經翻動時,可以推進電子書內容的頁面。在一些實例中,可以調整電子書內容的大小以匹配實體圖書頁面的實體尺寸。在一些情況下,可以調整數位媒體內容的大小,使得在每個頁面上顯示的本文量與數位圖書內容的印刷版本的頁碼一致。
在一些情況下,XR系統可以經由方便使用者但不同於印刷圖書的閱讀行為的方式呈現電子書內容。例如,XR系統可以在實體圖書的左右頁面上顯示電子書的不連續頁面。在一個說明性實例中,使用者可以提供輸入以指示XR系統維持顯示在印刷圖書的左(或右)頁面上的數位書內容靜態,同時使用者指示XR系統在電子書的相對頁面上翻閱頁面。
在一些實施方式中,使用者可以選擇(例如,經由使用者輸入)指示XR系統將數位媒體內容顯示在除實體圖書之外的顯示表面上。在一些情況下,使用者可以選擇將一些或全部數位媒體內容的顯示從實體圖書頁面移動到另一個表面。例如,使用者可以選擇將內容從實體圖書頁面移動到牆壁、天花板、物件、不同的印刷圖書、報紙、雜誌、漫畫書及/或另一個表面上。在一個說明性實例中,使用者可以將他們的頭部向上定位以面向牆壁,發出命令(例如,使用者輸入,諸如執行手勢、選擇實體或虛擬按鈕等),並且回應於該命令,XR系統可以使內容(或內容的一部分)的顯示從相對於實體圖書頁面顯示改變為相對於牆壁顯示。在一些情況下,使用者可以向XR系統提供命令,該命令使XR系統將數位媒體內容顯示在牆壁上並將圖書頁面顯示為同時顯示的表面。例如,使用者可能希望查看多於兩頁的本文而不必翻頁。在另一個實例中,使用者可能希望比較兩本圖書的內容,一本渲染在印刷圖書的頁面上,而另一本渲染在牆壁上。
在一些情況下,XR系統可以回應其他使用者輸入,諸如手勢、語音輸入或命令等。例如,可以使用使用者手勢(例如,手部手勢)將所顯示的數位圖書內容改變一頁,將數位圖書內容改變預定頁數(例如,3頁、10頁),改變到下一章,改變到包含一或多個突出顯示、筆記或其他註釋的最近頁面,其任何組合,及/或其他命令。圖書內容的改變可以是向前的或向後的(例如,取決於使用者手勢的方向)。
在一些情況下,電子書內容的本文及/或畫面內容可以用額外內容來增強。例如,XR系統可以顯示電子書本文,同時渲染視訊、音訊、音樂或其他數位內容,在本文統稱為補充內容。在一個說明性實例中,若段落描述約塞米特蒂國家公園,則可以相對於該段落(例如,在段落旁邊、在段落上方或下方等)渲染描述約塞米特蒂國家公園的視訊。在另一個實例中,若段落正在介紹特定的鋼琴家,則XR系統可以為使用者播放鋼琴家的音樂取樣。在一些情況下,使用者可以控制XR系統是否渲染補充內容。在一些情況下,XR系統可以向使用者呈現與亦使用XR系統的其他使用者共享使用者正在查看/閱讀的媒體內容的選項(例如,作為使用者介面元素,諸如圖示、本文、語音提示或其他使用者介面元素)。
將關於附圖描述本案的各個態樣。圖1是示出根據本案的一些態樣的實例擴展現實(XR)系統100的架構的示意圖。XR系統100可以執行(或執行)XR應用並實施XR操作。在一些實例中,作為XR體驗的一部分,XR系統100可以執行追蹤和定位、實體世界(例如,場景)中的環境的映射及/或虛擬內容在顯示器109(例如,螢幕、可見平面/區域及/或其他顯示器)的定位和渲染。例如,XR系統100可以產生實體世界中的環境的地圖(例如,三維(3D)地圖),追蹤XR系統100相對於環境(例如,相對於環境的3D地圖)的姿態(例如,位置(location)和位置(position))、在環境的地圖上(例如,在顯示表面(諸如實體圖書的頁面)上)的特定位置中錨定虛擬內容(例如,數位媒體內容,諸如電子書),並在顯示器109上渲染虛擬內容,使得虛擬內容看起來位於與虛擬內容所處及/或錨定的場景的地圖上的特定位置相對應的環境中的位置處。例如,XR系統100可以渲染電子書內容的本文,使得其看起來像是印刷在實體圖書的頁面上。顯示器109可以包括眼鏡、螢幕、鏡片、投影儀及/或允許使用者看到真實世界環境並且亦允許XR內容被疊加、重疊、混合或以其他方式顯示在其上的其他顯示機制。
在圖1的說明性實例中,XR系統100包括一或多個影像感測器102、加速度計104、陀螺儀106、存放裝置107、計算部件110、XR引擎120、介面佈局和輸入管理引擎122、影像處理引擎124、和渲染引擎126。應當注意,圖1中所示的部件102至126是出於說明和解釋目的而提供的非限制性實例,並且其他實例可以包括比圖1中所示的那些更多、更少或不同的部件。例如,在一些情況下,XR系統100可以包括在圖1中未圖示的一或多個其他感測器(例如,一或多個慣性量測單元(IMU)、雷達、光偵測和測距(LIDAR)感測器、無線電偵測和測距(RADAR)感測器、聲音偵測和測距(SODAR)感測器、聲音導航和測距(SONAR)感測器、音訊感測器等)、一或多個顯示裝置、一或多個其他處理引擎、一或多個其他硬體部件、及/或一或多個其他軟體及/或硬體部件。儘管XR系統100的各種部件(諸如影像感測器102)在本文中可能以單數形式引用,但是應當理解,XR系統100可以包括本文論述的任何部件中的多個部件(例如,多個影像感測器102)。
XR系統100包括輸入裝置108或與輸入裝置108(有線或無線)通訊。輸入裝置108可以包括任何合適的輸入裝置,諸如觸控式螢幕、筆或其他指標裝置、鍵盤、滑鼠、按鈕或鍵、用於接收語音命令的麥克風、用於接收手勢命令的手勢輸入裝置、視訊遊戲控制器、方向盤、操縱桿、一組按鈕、軌跡球、遙控器、本文論述的任何其他輸入裝置(例如,圖10中所示的輸入裝置1045)、或其任何組合。在一些情況下,影像感測器102可以擷取可以被處理用於解釋手勢命令的影像。
在一些實施方式中,一或多個影像感測器102、加速度計104、陀螺儀106、存放裝置107、計算部件110、XR引擎120、介面佈局和輸入管理引擎122、影像處理引擎124和渲染引擎126可以是同一計算設備的一部分。例如,在一些情況下,一或多個影像感測器102、加速度計104、陀螺儀106、存放裝置107、計算部件110、XR引擎120、介面佈局和輸入管理引擎122、影像處理引擎124、和渲染引擎126可以整合到HMD、擴展現實眼鏡、智慧手機、膝上型電腦、平板電腦、遊戲系統及/或任何其他計算設備中。然而,在一些實施方式中,一或多個影像感測器102、加速度計104、陀螺儀106、存放裝置107、計算部件110、XR引擎120、介面佈局和輸入管理引擎122、影像處理引擎124、和渲染引擎126可以是兩個或兩個以上獨立計算設備的一部分。例如,在一些情況下,部件102至126中的一些可以是一個計算設備的一部分或由其實施,而其餘部件可以是一或多個其他計算設備的一部分或由其實施。
存放裝置107可以是用於儲存資料的任何存放裝置。此外,存放裝置107可以儲存來自XR系統100的任何部件的資料。例如,存放裝置107可以儲存來自影像感測器102的資料(例如影像或視訊資料)、來自加速度計104的資料(例如,量測值)、來自陀螺儀106的資料(例如,量測值)、來自計算部件110的資料(例如,處理參數、偏好、虛擬內容、渲染內容、場景地圖、追蹤和定位資料、物件偵測資料、隱私資料、XR應用資料、臉孔辨識資料、遮擋資料等)、來自XR引擎120的資料、來自介面佈局和輸入管理引擎122的資料、來自影像處理引擎124的資料、及/或來自渲染引擎126的資料(例如,輸出訊框)。在一些實例中,存放裝置107可以包括用於儲存供計算部件110處理的訊框的緩衝器。
一或多個計算部件110可以包括中央處理單元(CPU)112、圖形處理單元(GPU)114、數位訊號處理器(DSP)116、影像訊號處理器(ISP)118及/或其他處理器(例如,實施一或多個經過訓練的神經網路的神經處理單元(NPU))。計算部件110可以執行各種操作,諸如影像增強、電腦視覺、圖形渲染、擴展現實操作(例如,追蹤、定位、姿態估計、映射、內容錨定、內容渲染等)、影像及/或視訊處理、感測器處理、辨識(例如,本文辨識、臉孔辨識、物件辨識、特徵辨識、追蹤或模式辨識、場景辨識、遮擋偵測等)、經過訓練的機器學習操作、濾波、及/或本文描述的各種操作中的任何操作。在一些實例中,計算部件110可以實施(例如,控制、操作等)XR引擎120、介面佈局和輸入管理引擎122、影像處理引擎124和渲染引擎126。在其他實例中,計算部件110亦可以實施一或多個其他處理引擎。
影像感測器102可以包括任何影像及/或視訊感測器或者捕捉設備。在一些實例中,影像感測器102可以是多相機部件(諸如雙相機部件)的一部分。影像感測器102可以擷取影像及/或視訊內容(例如,原始影像及/或視訊資料),隨後可以由如本文描述的計算部件110、XR引擎120、介面佈局和輸入管理引擎122、影像處理引擎124及/或渲染引擎126處理該影像及/或視訊內容。
在一些實例中,影像感測器102可以擷取影像資料並且可以基於影像資料產生影像(亦稱為訊框)及/或可以將影像資料或訊框提供給XR引擎120、介面佈局和輸入管理引擎122、影像處理引擎124、及/或渲染引擎126,以便處理。影像或訊框可以包括視訊序列的視訊訊框或靜止影像。影像或訊框可以包括表示場景的圖元陣列。例如,影像可以是每個圖元具有紅色、綠色和藍色分量的紅-綠-藍(RGB)影像;每個圖元具有一個亮度分量和兩個色度(顏色)分量(色度-紅色和色度-藍色)的亮度、色度-紅色、色度-藍色(YCbCr)影像;或任何其他合適類型的彩色或單色影像。
在一些情況下,影像感測器102(及/或XR系統100的其他相機)可以被配置為亦擷取深度資訊。例如,在一些實施方式中,影像感測器102(及/或其他相機)可以包括RGB深度(RGB-D)相機。在一些情況下,XR系統100可以包括一或多個深度感測器(未圖示),其與影像感測器102(及/或其他相機)分開並且可以擷取深度資訊。例如,此類深度感測器可以獨立於影像感測器102獲得深度資訊。在一些實例中,深度感測器可以與影像感測器102實體地安裝在相同的一般位置中,但是可以與影像感測器102以不同頻率或畫面播放速率操作。在一些實例中,深度感測器可以採用光源的形式,該光源可以將結構化或紋理化光圖案投影到場景中的一或多個物件上,該光圖案可以包括一或多個窄頻光。隨後可以經由利用由物件表面形狀引起的投影圖案的幾何失真來獲得深度資訊。在一個實例中,深度資訊可以從立體感測器(諸如紅外結構光投影儀與配准到相機(例如,RGB相機)的紅外相機的組合)獲得。
XR系統100亦可以在其一或多個感測器中包括其他感測器。一或多個感測器可以包括一或多個加速度計(例如,加速度計104)、一或多個陀螺儀(例如,陀螺儀106)、及/或其他感測器。一或多個感測器可以向計算部件110提供速度、方向及/或其他位置相關資訊。例如,加速度計104可以經由XR系統100偵測加速度並且可以基於偵測到的加速度產生加速度量測值。在一些情況下,加速度計104可以提供可以用於決定XR系統100的位置或姿態的一或多個平移向量(例如,上/下、左/右、前/後)。陀螺儀106可以偵測和量測XR系統100的方向和角速度。例如,陀螺儀106可以用於量測XR系統100的俯仰、滾動和偏航。在一些情況下,陀螺儀106可以提供一或多個旋轉向量(例如,俯仰、偏航、滾動)。在一些實例中,影像感測器102及/或XR引擎120可以使用由加速度計104(例如,一或多個平移向量)及/或陀螺儀106(例如,一或多個旋轉向量)獲得的量測值來計算XR系統100的姿態。如前文提及,在其他實例中,XR系統100亦可以包括其他感測器,諸如慣性量測單元(IMU)、磁力計、視線及/或眼睛追蹤感測器、機器視覺感測器、智慧場景感測器、語音辨識感測器、碰撞感測器、震動感測器、位置感測器、傾斜感測器等。
如上文提及,在一些情況下,一或多個感測器可以包括至少一個IMU。IMU是使用一或多個加速度計、一或多個陀螺儀及/或一或多個磁力計的組合來量測XR系統100的特定力、角速率及/或方向的電子設備。在一些實例中,一或多個感測器可以輸出與由影像感測器102(及/或XR系統100的其他相機)擷取的影像的擷取相關聯的量測資訊及/或使用XR系統100的一或多個深度感測器獲得的深度資訊。
XR引擎120可以使用一或多個感測器(例如,加速度計104、陀螺儀106、一或多個IMU及/或其他感測器)的輸出來決定XR系統100的姿態(亦稱為頭部姿態)及/或影像感測器102(或XR系統100的其他相機)的姿態。在一些情況下,XR系統100的姿態和影像感測器102(或其他相機)的姿態可以是相同的。影像感測器102的姿態是指影像感測器102相對於參考系的位置和方向。在一些實施方式中,可以針對6自由度(6Dof)決定相機姿態,該6自由度涉及三個平移分量(例如,其可以由相對於諸如影像平面之類的參考系的X(水平)、Y(豎直)和Z(深度)座標提供)和三個角度分量(例如,相對於同一參考系的滾動、俯仰和偏航)。在一些實施方式中,可以針對代表三個角度分量(例如,滾動、俯仰和偏航)的3自由度(3DoF)決定相機姿態。
在一些情況下,設備追蹤器(未圖示)可以使用來自一或多個感測器的量測值和來自影像感測器102的影像資料來追蹤XR系統100的姿態(例如,6DoF姿態)。例如,設備追蹤器可以(例如,使用視覺追蹤解決方案)將來自影像資料的視覺資料與來自量測的慣性資料融合以決定XR系統100相對於實體世界(例如,場景)以及實體世界的地圖的位置和運動。如下文描述,在一些實例中,當追蹤XR系統100的姿態時,設備追蹤器可以產生場景(例如,現實世界)的3D地圖及/或產生場景的3D地圖的更新。3D地圖更新可以包括例如但不限於新的或更新的特徵及/或與場景及/或場景的3D地圖相關聯的特徵、界標點、標識或更新XR系統100在場景以及場景的3D地圖內的位置的定位更新等。3D地圖可以提供現實/實體世界中的場景的數位表示。在一些實例中,3D地圖可以將基於位置的物件及/或內容錨定到現實世界座標及/或物件。XR系統100可以使用映射場景(例如,由3D地圖表示及/或與其相關聯的實體世界中的場景)來將實體世界與虛擬世界合併及/或將虛擬內容(例如,電子書內容)或物件與實體環境(例如,圖書、報紙、顯示表面等)合併。
在一些態樣,計算部件110可以使用視覺追蹤解決方案基於由影像感測器102(及/或XR系統100的其他相機)擷取的影像來決定及/或追蹤作為整體的影像感測器102及/或XR系統100的姿態。例如,在一些實例中,計算部件110可以使用基於電腦視覺的追蹤、基於模型的追蹤及/或同時定位和映射(SLAM)技術來執行追蹤。例如,計算部件110可以執行SLAM或者可以與SLAM系統(未圖示)(諸如圖2的SLAM系統200)(有線或無線)通訊。SLAM是指其中建立環境地圖(例如,由XR系統100建模的環境地圖)同時追蹤相機(例如,影像感測器102)及/或XR系統100相對於該地圖的姿態的一類技術。該地圖可以稱為SLAM地圖,並且可以是3D的。SLAM技術可以使用由影像感測器102(及/或XR系統100的其他相機)擷取的彩色或灰階影像資料來執行,並且可以用於產生影像感測器102及/或XR系統100的6DoF姿態量測的估計。被配置為執行6DoF追蹤的此類SLAM技術可以稱為6DoF SLAM。在一些情況下,一或多個感測器(例如,加速度計104、陀螺儀106、一或多個IMU及/或其他感測器)的輸出可以用於估計、校正及/或以其他方式調整估計的姿態。
在一些情況下,6DoF SLAM(例如,6DoF追蹤)可以將從來自影像感測器102(及/或其他相機)的某些輸入影像觀察到的特徵與SLAM地圖相關聯。例如,6DoF SLAM可以使用來自輸入影像的特徵點關聯來針對輸入影像決定影像感測器102及/或XR系統100的姿態(位置和方向)。亦可以執行6DoF映射來更新SLAM地圖。在一些情況下,使用6DoF SLAM維護的SLAM地圖可以包含從兩個或兩個以上影像三角量測的3D特徵點。例如,可以從輸入影像或視訊串流中選擇關鍵訊框來表示觀察到的場景。對於每個關鍵訊框,可以決定與影像相關聯的相應6DoF相機姿態。可以經由將來自3D SLAM地圖的特徵投影到影像或視訊訊框中並根據驗證的2D-3D對應關係更新相機姿態來決定影像感測器102及/或XR系統100的姿態。
在一個說明性實例中,計算部件110可以從某些輸入影像(例如,每個輸入影像、輸入影像的子集等)或從每個關鍵訊框中提取特徵點。如本文使用的特徵點(亦稱為配准點)是影像的獨特或可辨識部分,諸如手的一部分、桌子的邊緣等等。從擷取的影像中提取的特徵可以表示沿著3D空間(例如,X、Y和Z軸上的座標)的不同特徵點,並且每個特徵點皆可以具有關聯的特徵位置。關鍵訊框中的特徵點與先前擷取的輸入影像或關鍵訊框的特徵點匹配(相同或對應)或不匹配。特徵偵測可以用於偵測特徵點。特徵偵測可以包括用於檢查影像的一或多個圖元以決定特徵是否存在於特定圖元處的影像處理操作。特徵偵測可以用於處理整個擷取的影像或影像的某些部分。對於每個影像或關鍵訊框,一旦偵測到特徵,就可以提取特徵周圍的局部影像補片(patch)。可以使用任何合適的技術來提取特徵,這些技術諸如尺度不變特徵變換(SIFT)(其定位特徵並產生其描述)、學習不變特徵變換(LIFT)、加速穩健特徵(SURF)、梯度位置取向長條圖(GLOH)、定向快速和旋轉簡要(ORB)、二進位穩健不變可縮放關鍵點(BRISK)、快速視網膜關鍵點(FREAK)、KAZE、加速KAZE(AKAZE)、正規化互相關(NCC)、描述符匹配、另一種合適的技術,或其組合。
在一些情況下,XR系統100亦可以追蹤使用者的手及/或手指以允許使用者與虛擬環境中的虛擬內容互動及/或控制該虛擬內容。例如,XR系統100可以追蹤使用者的手及/或指尖的姿態及/或移動,以辨識或轉譯使用者與虛擬環境的互動。使用者互動可以包括例如但不限於移動虛擬內容項、調整虛擬內容項、選擇虛擬使用者介面中的輸入介面元素(例如,行動電話的虛擬表示、虛擬鍵盤及/或其他虛擬介面)、經由虛擬使用者介面提供輸入、執行手勢等。
圖2是示出同步定位和映射(SLAM)系統200的架構的方塊圖。在一些實例中,SLAM系統200可以是、可以包括擴展現實(XR)系統(諸如圖1的XR系統100)或可以包括在其中。在一些實例中,SLAM系統200可以是無線通訊設備、行動設備或手持設備(例如,行動電話或所謂的「智能手機」或其他行動設備)、可穿戴設備、個人電腦、膝上型電腦、伺服器電腦、可攜式視訊遊戲控制台、可攜式媒體播放機、相機設備、有人駕駛或無人駕駛的地面交通工具、有人駕駛或無人駕駛的飛行器、有人駕駛或無人駕駛水上交通工具、有人駕駛或無人駕駛的水下交通工具、有人駕駛或無人駕駛的交通工具、自主交通工具、交通工具、交通工具的計算系統、機器人、另一種設備、或其任何組合。
圖2的SLAM系統200包括或耦合到一或多個感測器205中的每一者。一或多個感測器205可以包括一或多個相機210。一或多個相機210中的每一者可以回應於來自特定光譜的光。光譜可以是電磁(EM)光譜的子集。例如,一或多個相機210中的每一者可以是回應於VL光譜的可見光(VL)相機、回應於IR光譜的紅外(IR)相機、回應於紫外(UV)光譜的UV相機、回應於來自電磁光譜的另一部分的另一光譜的光的相機、或其組合。
一或多個感測器205可以包括除了相機210之外的一或多個其他類型的感測器,諸如以下各項中的一者或多者:加速度計、陀螺儀、磁力計、慣性量測單元(IMU)、高度計、氣壓計、溫度計、無線電偵測和測距(RADAR)感測器、光偵測和測距(LIDAR)感測器、聲音導航和測距(SONAR)感測器、聲音偵測和測距(SODAR)感測器、全球導航衛星系統(GNSS)接收器、全球定位系統(GPS)接收器、北斗導航衛星系統(BDS)接收器、伽利略接收器、全球衛星導航系統(Globalnaya Navigazionnaya Sputnikovaya Sistema,GLONASS)接收器、印度導航群集(NavIC)接收器、準天頂衛星系統(QZSS)接收器、Wi-Fi定位系統(WPS)接收器、蜂巢網路定位系統接收器、藍芽®信標定位接收器、短程無線信標定位接收器、個人區域網路(PAN)定位接收器、廣域網(WAN)定位接收器、無線區域網路(WLAN)定位接收器、其他類型的定位接收器、本文論述的其他類型的感測器、或其組合。在一些實例中,一或多個感測器205可以包括圖1的XR系統100的感測器的任何組合。
圖2的SLAM系統200包括視覺慣性里程計(VIO)追蹤器215。術語視覺慣性里程計在本文中亦可以稱為視覺里程計。VIO追蹤器215從一或多個感測器205接收感測器資料265。例如,感測器資料265可以包括由一或多個相機210擷取的一或多個影像。感測器資料265可以包括來自一或多個感測器205的其他類型的感測器資料,例如來自本文列出的任何類型的感測器205的資料。例如,感測器資料265可以包括來自一或多個感測器205的一或多個IMU的IMU資料。
在從一或多個感測器205接收到感測器資料265後,VIO追蹤器215使用VIO追蹤器215的特徵追蹤引擎220執行特徵偵測、提取及/或追蹤。例如,在感測器資料265包括由SLAM系統200的一或多個相機210擷取的一或多個影像的情況下,VIO追蹤器215可以辨識、偵測及/或提取每個影像中的特徵。特徵可以包括影像中的視覺上不同的點,諸如圖示邊緣及/或角落(例如,實體圖書的角落或邊緣)的影像部分。VIO追蹤器215可以例如經由在一或多個相機210擷取視訊時繼續從一或多個相機210接收更多影像而定期地及/或連續地從一或多個感測器205接收感測器資料265,其中影像是視訊的視訊訊框。VIO追蹤器215可以產生特徵的描述符。可以至少部分地經由產生特徵的描述(如在特徵周圍提取的局部影像補片中所圖示的)來產生特徵描述符。在一些實例中,特徵描述符可以將特徵描述為一或多個特徵向量的集合。VIO追蹤器215(在一些情況下與映射引擎230及/或重定位引擎255一起)可以基於此類特徵描述符將複數個特徵與環境地圖相關聯。VIO追蹤器215的特徵追蹤引擎220可以經由辨識每個影像中的特徵來執行特徵追蹤,VIO追蹤器215先前已經在一或多個先前影像中(在一些情況下,基於辨識在不同影像中具有匹配特徵描述符的特徵)辨識了這些特徵。特徵追蹤引擎220可以追蹤在不同影像中的每一者中圖示特徵的一或多個位置的變化。例如,特徵提取引擎可以偵測在由相機210的第一相機擷取的第一影像的左側所圖示的房間的特定角落。特徵提取引擎可以偵測在由第一相機擷取的第二影像的右側所圖示的同一特徵(例如,同一房間的同一特定角落)。特徵追蹤引擎220可以辨識出在第一影像和第二影像中偵測到的特徵是對同一特徵(例如,同一房間的同一特定角落)的兩個圖示,並且該特徵出現在兩個影像中的兩個不同位置中。例如,若特徵(例如,房間的特定角落)圖示了環境的靜態部分,則VIO追蹤器215可以基於出現在第一影像的左側和第二影像的右側的相同特徵來決定第一相機已經移動。
VIO追蹤器215可以包括感測器整合引擎225。感測器整合引擎225可以使用來自其他類型感測器205(除了相機210)的感測器資料來決定特徵追蹤引擎220在執行特徵追蹤時可以使用的資訊。例如,感測器整合引擎225可以從一或多個感測器205的IMU接收IMU資料(例如,其可以被包括作為感測器資料265的一部分)。感測器整合引擎225可以基於感測器資料265中的IMU資料來決定SLAM系統200從相機210中的第一相機採集或擷取第一影像到該第一相機採集或擷取第二影像已經順時針旋轉了15度。基於該決定,感測器整合引擎225可以辨識在第一影像中的第一位置處圖示的特徵預期出現在第二影像中的第二位置,並且第二位置預期位於第一位置左側達預定距離(例如,預定數量的圖元、英寸、釐米、毫米或另一距離度量)。特徵追蹤引擎220可以在追蹤第一影像與第二影像之間的特徵時考慮這種預期。
基於特徵追蹤引擎220的特徵追蹤及/或感測器整合引擎225的感測器整合,VIO追蹤器215可以決定特定特徵的3D特徵位置272。3D特徵位置272可以包括一或多個3D特徵位置並且亦可以稱為3D特徵點。3D特徵位置272可以是沿著彼此垂直的三個不同軸線的一組座標,諸如沿著X軸(例如,在水平方向上)的X座標、沿著垂直於X軸的Y軸(例如,在豎直方向上)的Y座標,以及沿著垂直於X軸和Y軸兩者的Z軸(例如,在深度方向上)的Z座標。VIO追蹤器215亦可以決定與特定特徵相對應的一或多個關鍵訊框270(以下稱為關鍵訊框270)。在一些實例中,與特定特徵相對應的關鍵訊框(來自一或多個關鍵訊框270)可以是其中清楚地圖示了特定特徵的影像。在一些實例中,與特定特徵相對應的關鍵訊框可以是當特徵追蹤引擎220及/或感測器整合引擎225考慮用於決定3D特徵位置272時減少特定特徵的3D特徵位置272中的不決定性的影像。在一些實例中,與特定特徵相對應的關鍵訊框亦包括關於在關鍵訊框的擷取期間SLAM系統200及/或相機210的姿態285的資料。在一些實例中,VIO追蹤器215可以將與一或多個特徵相對應的3D特徵位置272及/或關鍵訊框270發送到映射引擎230。在一些實例中,VIO追蹤器215可以從映射引擎230接收地圖切片275。VIO追蹤器215可以以地圖切片275內的資訊為特徵,以用於使用特徵追蹤引擎220進行特徵追蹤。
基於特徵追蹤引擎220的特徵追蹤及/或感測器整合引擎225的感測器整合,VIO追蹤器215可以決定在感測器資料265中的影像中的每一者的擷取期間SLAM系統200及/或相機210的姿態285。姿態285可以包括SLAM系統200及/或相機210在3D空間中的位置,諸如沿著彼此垂直的三個不同軸線的一組座標(例如,X座標、Y座標、和Z座標)。姿態285可以包括SLAM系統200及/或相機210在3D空間中的方向,諸如俯仰、滾動、偏航或其某種組合。在一些實例中,VIO追蹤器215可以將姿態285發送到重定位引擎255。在一些實例中,VIO追蹤器215可以從重新定位引擎255接收姿態285。
SLAM系統200亦包括映射引擎230。映射引擎230基於從VIO追蹤器215接收的3D特徵位置272及/或關鍵訊框270來產生環境的3D地圖。映射引擎230可以包括地圖緻密化引擎235、關鍵訊框移除器240、束調整器245及/或環封閉偵測器250。地圖緻密化引擎235可以執行地圖緻密化,在一些實例中,增加描述地圖幾何形狀的3D座標的數量及/或密度。關鍵訊框移除器240可以移除關鍵訊框,及/或在一些情況下添加關鍵訊框。在一些實例中,關鍵訊框移除器240可以移除與地圖的要更新的區域相對應及/或其對應置信度值低的關鍵訊框270。在一些實例中,束調整器245可以根據涉及所有點的對應影像投影的最優性標準來細化描述場景幾何的3D座標、相對運動的參數、及/或用於產生訊框的影像感測器的光學特性。環封閉偵測器250可以辨識SLAM系統200何時已經返回到先前映射的區域,並且可以使用此類資訊來更新地圖切片及/或減少地圖幾何中的某些3D特徵點或其他點的不決定性。映射引擎230可以將地圖切片275輸出到VIO追蹤器215。地圖切片275可以表示地圖的3D部分或子集。地圖切片275可以包括表示地圖的新的、先前未映射的區域的地圖切片275。地圖切片275可以包括表示對地圖的先前映射的區域的更新(或修改或修訂)的地圖切片275。映射引擎230可以將地圖資訊280輸出到重定位引擎255。地圖資訊280可以包括由映射引擎230產生的地圖的至少一部分。地圖資訊280可以包括構成地圖的幾何形狀的一或多個3D點,諸如一或多個3D特徵位置272。地圖資訊280可以包括與某些特徵和某些3D特徵位置272相對應的一或多個關鍵訊框270。
SLAM系統200亦包括重定位引擎255。例如,當VIO追蹤器215未能辨識影像中的超過閾值數量的特徵及/或VIO追蹤器215失去對由映射引擎230產生的地圖內的SLAM系統200的姿態285的追蹤時,重定位引擎255可以執行重定位。重定位引擎255可以經由使用提取和匹配引擎260執行提取和匹配來執行重定位。例如,提取和匹配引擎260可以在SLAM系統200處於當前姿態285時從由SLAM系統200的相機210擷取的影像中提取特徵,並且可以將提取的特徵與在不同關鍵訊框270中圖示、由3D特徵位置272辨識及/或在地圖資訊280中辨識的特徵匹配。經由將這些提取的特徵與先前辨識的特徵匹配,重定位引擎255可以辨識SLAM系統200的姿態285是先前辨識的特徵對SLAM系統200的相機210可見的姿態285,並且因此類似於先前辨識的特徵對相機210可見的一或多個先前姿態285。在一些情況下,重定位引擎255可以基於寬基線映射或當前相機位置與最初擷取特徵的相機位置之間的距離來執行重定位。重定位引擎255可以從VIO追蹤器215接收姿態285的資訊,例如關於SLAM系統200及/或相機210的一或多個最近姿態的資訊,重定位引擎255可以使其重定位決定基於該資訊。一旦重定位引擎255重定位SLAM系統200及/或相機210並因此決定姿態285,重定位引擎255就可以將姿態285輸出到VIO追蹤器215。
在一些實例中,VIO追蹤器215可以修改感測器資料265中的影像,隨後對修改後的影像執行特徵偵測、提取及/或追蹤。例如,VIO追蹤器215可以對影像進行重新縮放及/或重新取樣。在一些實例中,對影像進行重新縮放及/或重新取樣可以包括對影像的一次或多次縮小、下取樣、子縮放及/或子取樣。在一些實例中,VIO追蹤器215修改影像可以包括例如經由使影像中的顏色去飽和、剝離某些顏色通道、降低影像中的色彩深度、替換影像中的顏色、或其組合,將影像從彩色轉換為灰階,或從彩色轉換為黑白。在一些實例中,VIO追蹤器215修改影像可以包括VIO追蹤器215掩蔽影像的某些區域。動態物件可以包括可以在一個影像與另一個影像之間具有改變的外觀的物件。例如,動態物件可以是在環境中移動的物件,諸如人、交通工具或動物。動態物件可以是在不同時間具有變化外觀的物件,諸如可以在不同時間顯示不同事物的顯示螢幕。動態物件可以是具有基於相機210的姿態而變化的外觀的物件,諸如取決於相機210相對於動態物件的位置而以不同方式反射、折射及/或散射光的反射表面、棱鏡或鏡面。VIO追蹤器215可以使用面部偵測、臉孔辨識、面部追蹤、物件偵測、物件辨識、物件追蹤或其組合來偵測動態物件。VIO追蹤器215可以使用一或多個人工智慧演算法、一或多個受過訓練的機器學習模型、一或多個受過訓練的神經網路或其組合來偵測動態物件。VIO追蹤器215可以經由在影像的包括一或多個動態物件的圖示的區域上疊加遮罩來掩蔽影像中的一或多個動態物件。遮罩可以是不透明的顏色,諸如黑色。該區域可以是具有矩形或其他多邊形形狀的邊界框。該區域可以在逐圖元的基礎上被決定。
圖3圖示包含可以由XR系統301用作用於投影數位媒體內容的顯示表面的實體圖書的實例環境。儘管下文的實例是根據在實體圖書上顯示電子書內容來描述的,但是本文描述的技術可以類似地用於顯示其他類型的數位媒體內容,諸如視訊、照片等。在一些情況下,內容可以顯示在其他顯示表面上,該等顯示表面包括但不限於其他印刷媒體,諸如報紙、雜誌、漫畫書等,以及其他物件,諸如投影儀螢幕、牆壁、桌布、窗簾、天花板等。XR系統301可以是圖1的XR系統100、圖2的SLAM系統200及/或圖10的計算系統1000、其變型或其組合的實例,可以包括圖1的XR系統100、圖2的SLAM系統200及/或圖10的計算系統1000、其變型或其組合的部分及/或可以包括在圖1的XR系統100、圖2的SLAM系統200及/或圖10的計算系統1000、其變型或其組合中。在圖3的所示實例中,佩戴XR系統301的使用者302可以位於環境300內。在一些實例中,XR系統301可以(例如,使用圖2的SLAM系統)偵測和映射環境中的物件,包括書架304、桌子306、位於書架304上的一本或多本實體圖書308A、308B、308C、308D,以及位於桌子306上的實體圖書310。
在一些情況下,使用者可以提供請求XR系統301開始電子書閱讀操作的輸入。在一些情況下,使用者可以經由在XR系統301的顯示器(例如,圖1的顯示器109)上可見的使用者介面向XR系統301提供輸入。在一些實例中,使用者302可以經由執行手勢來請求XR系統301開始電子書閱讀操作。在一些情況下,一旦XR系統301開始閱讀操作,使用者302就可以選擇要閱讀的電子書。在一些實例中,可以由XR系統301從儲存在XR系統存放裝置(例如,圖1的存放裝置107、圖10的系統記憶體1015或圖10的存放裝置1030)內的庫及/或從遠端存放位置中檢索電子書。在一些情況下,在使用者選擇要閱讀的電子書之後,XR系統301可以開始用於偵測用於顯示電子書內容的合適的顯示表面的偵測操作。在一些實例中,XR系統301可以偵測環境300內的圖書308A、308B、308C、308D和310中的每一者,並且為使用者302提供介面以從偵測到的圖書中進行選擇以用作顯示表面。在一些情況下,使用者302可以具有與在同一環境300內亦使用XR系統的另一使用者共享所選擇的電子書內容的選項。
在一些情況下,XR系統301可以經由例如偵測圖書的封面及/或防塵套上的書寫及/或插圖來辨識實體圖書308A、308B、308C、308D、310中的一者或多者。在一些情況下,XR系統301可以從資料庫獲得關於圖書的資訊,諸如字體大小、頁數、頁面大小等。在一些實施方式中,資料庫可以儲存在XR系統301的記憶體中及/或從遠端存放位置中檢索。在一些情況下,基於使用者選擇的電子書的特性和獲得的關於實體圖書308A、308B、308C、308D、310的資訊,XR系統301可以提供關於哪些可用實體圖書可以為所選擇的電子書提供最佳閱讀體驗的推薦。例如,XR系統301可以推薦具有足夠頁數的實體圖書來顯示所選擇的電子書的所有內容。在一些情況下,基於XR系統301的姿態及/或特定實體圖書310在使用者視野中心及/或視線方向314附近的位置,XR系統301可以突出顯示312或以其他方式強調特定的實體圖書310,並向使用者302提供具有選擇強調的圖書作為期望的顯示表面的選項的提示。在一些情況下,若使用者302選擇特定的實體圖書310作為顯示表面並且所選擇的實體圖書被合上,則XR系統301可以提示使用者302打開實體圖書。在一些實例中,一旦使用者選擇了顯示表面,XR系統301就可以開始決定顯示表面上的顯示區域以用於投影所選擇的電子書內容。
圖4A、圖4B、圖4C和圖4D圖示實例顯示表面和用於偵測用於在顯示表面上顯示數位媒體內容的顯示區域的技術。圖4A圖示實例顯示表面404,其包括具有空白頁面的實體圖書,該空白頁面可以用作用於由XR系統401投影及/或渲染數位媒體內容(例如,電子書)的顯示表面。在一些情況下,在使用者402已經選擇顯示表面404作為期望的顯示表面之後,XR系統401可以決定顯示表面404上的用於顯示數位媒體內容的顯示區域。例如,在一些情況下,顯示區域可以包括圖書的兩個相對頁面的整個區域。在一些實施方式中,XR系統401可以偵測頁面邊緣、封面、裝訂及/或顯示表面404的任何其他特徵中的一者或多者,以決定用於顯示數位媒體內容的顯示區域。
圖4B圖示實例顯示表面406,其包括具有引導標記408A、408B、408C、408D的空白圖書,這些引導標記可以用於説明XR系統401偵測顯示表面406。在所示實例中,引導標記408A到408D被示為位於顯示表面406的四個角落附近的小曲線或直角。在一些情況下,XR系統401可以偵測引導標記408A至408D以便偵測顯示表面406。在一些情況下,引導標記408A至408D亦可以用於説明偵測顯示表面406的頁面的輪廓(亦稱為變形模型),如下文將關於圖6A至圖6D更詳細地論述的。儘管引導標記408A至408D被示為位於顯示表面的四個角落中的小曲線或直角,但是應當理解,標記可以具有其他形狀,可以有更多(例如,每頁四個標記,每頁八個標記、每頁十個標記)或更少(例如,一個、兩個或三個標記)標記,及/或這些標記可以放置在顯示表面406上的不同位置,而不脫離本案的範疇。在一些情況下,標記可以以僅對包括在XR系統401中的感測器(例如,圖2的一或多個感測器205)(諸如包括在XR系統401中的近紅外感測器)可見的方式設置在圖書的頁面上。在一些情況下,儘管在顯示表面406的偵測期間標記可能是可見的,但是在XR系統401開始在顯示表面406上顯示媒體內容(例如,電子書)之後,引導標記408A至408D可以被遮蔽、模糊或以其他方式不再對使用者402可見。
圖4C圖示實例顯示表面410,其包括具有預先存在的印刷本文411(表示為曲線)的實體圖書。在圖4C的實例中,除了偵測圖書的特徵(諸如邊緣、輪廓、裝訂、封面等)之外,XR系統401亦可以偵測本文411的存在,作為用於將顯示表面410的顯示區域辨識為可以用於顯示媒體內容的圖書的另一個特徵。在一些情況下,XR系統401可能能夠辨識實體圖書的內容並從包括在XR系統401中的存放裝置中及/或從遠端存放位置中檢索關於實體圖書的資訊。在一些情況下,印刷在顯示表面410上的本文411亦可以用於決定用於在顯示表面410上顯示數位媒體內容的顯示區域。在一些情況下,本文411亦可以用於決定顯示表面410的頁面的變形模型(例如,對頁面的曲率建模),如下文將關於圖6A至圖6D更詳細描述的。
圖4D圖示另一個實例顯示表面412,其包括具有類似於實例顯示表面410的預先存在的印刷本文的圖書。正如顯示表面410一樣,顯示表面412可以是任何印刷圖書。在一些情況下,XR系統401可以偵測使用者輸入以説明XR系統401偵測顯示區域及/或顯示表面412。在一個說明性實例中,使用者402可以執行包括圍繞顯示表面412的邊緣追蹤邊界416的手勢(例如,使用手414)。在另一個實例(未圖示)中,使用者402可以在顯示表面412的頁面中的一者上輕敲手指以辨識用於顯示數位媒體內容的期望顯示區域。儘管描述了用於説明XR系統401偵測顯示區域及/或顯示表面412的兩種特定類型的使用者輸入,但是應當理解,可以使用許多其他使用者輸入(包括額外手勢、經由XR系統401的使用者介面的輸入、使用輸入裝置(例如,圖1的輸入裝置108)提供的輸入等),而不脫離本案的範疇。在一些情況下,一旦已經選擇了顯示表面,XR系統401就可以投影所選擇的電子書內容,該電子書內容具有印刷在顯示表面上電子書內容的外觀(例如,實體圖書的頁面)。
圖5A和圖5B圖示將數位媒體內容506投影到實體圖書504的頁面上的XR系統501的實例。在圖5A的所示實例中,數位媒體內容506位元於實體圖書504的頁面上。在圖5A和圖5B的圖示中,與在圖4C和圖4D中用於圖示印刷本文的實線形成對比,投影的數位媒體內容506(例如,電子書的本文)被圖示為虛線。如上文關於圖1的XR系統100和圖2的SLAM系統200所描述的,實體圖書504的位置可以被偵測(例如,經由特徵追蹤引擎220偵測)並且包括在環境500的地圖中(例如,經由映射引擎230)。在所示實例中,實體圖書504可以固定在桌子508上。在一些情況下,XR系統501可以決定用於在實體圖書504上顯示數位媒體內容的顯示區域(例如,如關於圖4A至圖4D所描述的)。在一些情況下,由XR系統501產生的環境500的地圖可以包括實體圖書504和桌子508兩者在環境500的映射中的位置。XR系統501亦可以決定XR系統501及/或使用者頭部的姿態,如上面關於圖2所描述的。例如,經由6DoF追蹤,XR系統501可以追蹤使用者502向前、向後、橫向及/或豎直移動以及追蹤XR系統501的使用者502向左或向右轉動他們的頭部、向上或向下傾斜他們的頭部,及/或向左或向右傾斜他們的頭部。在圖5A的圖示中,使用者502相對於實體圖書504的中線507大致居中定位,並且使用者的視線510(如虛線所示)在實體圖書504的方向上。在一些實施方式中,XR系統501可以基於實體圖書504的偵測到的及/或映射的位置、使用者502的偵測到的姿態及/或兩者將數位媒體內容506投影或渲染到實體圖書504的頁面上。
圖5B圖示了使用者502在環境500中相對於實體圖書504和桌子508具有新姿態。如圖所示,從使用者502的角度來看,由XR系統501投影及/或渲染的數位媒體內容506可以保持固定在實體圖書504的頁面上,就好像數位媒體內容506印刷在實體圖書的頁面上一樣。在一些情況下,XR系統501可以在使用者在環境500內移動時更新關於使用者502的姿態的資訊(例如,使用6DoF追蹤)。在一些情況下,當XR系統501偵測到使用者502的姿態變化時,可以相應地更新數位媒體內容的投影及/或渲染的位置。在圖5B的圖示中,使用者502位元於實體圖書504的中線中心的右側。從圖5B所示的使用者502的位置來看,實體圖書504的左頁面可以比實體圖書504的右頁面稍微遠離使用者。XR系統501可以修改數位媒體內容506(例如,電子書)的顯示以匹配印刷在實體圖書的頁面上的真實本文的外觀。例如,實體圖書504的右側頁面上的本文可以由XR系統501投影及/或渲染以看起來比實體圖書504的左側頁面上的本文稍大。
在一些情況下,實體圖書504亦可以在環境500內移動及/或改變姿態。例如,使用者可以拿著實體圖書504,同時閱讀電子書內容。在此類情況下,XR系統可以同時追蹤實體圖書504的姿態和XR系統501的姿態的變化,並且修改或維持數位媒體內容506的顯示以保持錨定到實體圖書504的頁面。
在一些情況下,XR系統501可以在整個顯示的數位媒體內容506上提供均勻的照明。在一些情況下,由XR系統501投影或渲染的數位媒體內容506可能不需要外部照明即可供使用者502看到。例如,使用者502可以在黑暗的房間中查看顯示在實體圖書504的頁面上的數位媒體內容506(例如,電子書),而不會打擾他們周圍的其他人。在一些情況下,使用者可能希望以更逼真的照明條件查看數位媒體內容506以獲得與閱讀實體圖書更一致的閱讀體驗。例如,在一些照明條件下,由於書本的頁面的輪廓和光源在環境500中的位置、亮度及/或照明特性造成的陰影,實體圖書504的中線507可能看起來比頁面的其他部分更暗。在一些情況下,XR系統501可以包括關於光源在使用者502正在佔據的環境500的地圖內的位置、亮度及/或特性的資訊。在一些實施方式中,XR系統501可以在數位媒體內容506的投影中複製及/或模擬環境500的照明條件。在一個說明性實例中,數位媒體內容506可以在實體圖書504的中線507附近顯示有陰影,以類比環境500的照明條件。在一些情況下,XR系統501可以基於使用者502相對於實體圖書504的偵測到的姿態變化來更新頁面的照明條件。
如圖5A和圖5B所示,實體圖書504的頁面可以具有曲率,該曲率基於例如圖書的裝訂類型、頁面的高度、寬度和厚度、圖書的打開程度(例如,相對頁面之間的角度)以及使用者502操縱圖書的頁面的方式。在一些情況下,為了符合數位媒體內容506的顯示,XR系統501可以決定變形模型來表示圖書的頁面的曲率。
圖6A、圖6B、圖6C、圖6D圖示用於對顯示表面(例如,實體圖書、報紙等的頁面)的變形進行偵測和建模的實例技術。出於說明性目的,圖6A至圖6D的實例僅圖示了圖書的單頁。然而,應當理解,相同或相似的技術可以應用於圖書的兩個相對頁面,以及可能經歷變形的任何其他顯示表面,諸如報紙、雜誌、漫畫書、窗簾等。
如圖6A所示,未變形頁面602表示完全平坦而沒有任何變形的頁面。未變形頁面602具有寬度X和高度Y。在所示實例中,寬度X和高度Y可以指示例如未變形頁面602的影像中的圖元數量。在一些情況下,寬度X和高度Y可以表示多個英寸、釐米、毫米或其他距離度量。在一些情況下,未變形頁面602的影像可以由包括在XR系統(諸如圖1的XR系統100、圖2的SLAM系統200、圖4A至圖4D的XR系統401及/或圖5A和圖5B的XR系統501)中的一或多個相機(例如,圖1的影像感測器102及/或圖2的相機210)擷取。如圖所示,頁面602的左上圖元位於圖元位置或位置(0,0),而頁面602的右下圖元位於圖元位置或位置(X,Y)。在一些情況下,位置(0,0)可以對應於實體圖書的相對頁面之間的中線的頂部,並且未變形頁面602可以表示兩個相對頁面的右側頁面。在此類實施方式中,實體圖書的中線左側的圖元位置可以具有負的x座標值。在一些態樣,位置(0,0)可以對應於圖書的兩個相對頁面中的左側頁面的左上角,而未變形頁面602可以表示兩個相對頁面中的左側頁面。在此類實施方式中,與實體圖書相對應的所有圖元位置的x座標可以具有正值。
在一些情況下,在未變形頁面602上顯示的圖元604可以包括圖元位置(x,y),其可以表示距未變形頁面602的左側邊緣x個圖元的距離和距未變形頁面602的頂部邊緣的y個圖元的距離。例如,圖元604可以表示由XR設備顯示的電子書的本文中的小寫字母「i」上的點。
圖6B圖示變形頁面606的實例,其可以由應用於圖6A的未變形頁面602的彎曲或曲率引起。如圖所示,由於頁面變形,變形頁面606的左上圖元位於圖元位置或位置(X 1,Y 1),變形頁面606的右上方圖元位於圖元位置或位置(X 2,Y 2),變形頁面606的左下圖元位於圖元位置或位置(X 3,Y 3),而頁面606的右下圖元位於圖元位置或位置(X 4,Y 4)。在一些情況下,XR系統可以改變投影在變形頁面606上的數位媒體內容的投影,以保持投影媒體內容位於變形頁面上的外觀。在一些情況下,圖元612可以表示電子書的本文的與在變形頁面606上顯示的圖元604(例如,字母「i」的點)相同的部分。在一些情況下,變形頁面606的變形模型可以由XR系統產生。可以經由將變形模型應用於未變形頁面602來決定圖元612在變形頁面上的位置。在一些情況下,基於變形模型,可以將未變形頁面602的圖元604投影到變形頁面上的圖元612在圖元位置(x',y')處的對應位置。在一些情況下,x'可以不同於x及/或y'可以不同於y。
如圖6C所示,與由XR系統(例如,由圖2的特徵追蹤引擎220)偵測到的變形圖書頁面的頂部邊緣608相關聯的特徵點可以被表示為複數個圖元位置
Figure 02_image001
)、
Figure 02_image003
)至
Figure 02_image005
)。在一些實施方式中,頂部邊緣608的曲率模型可以經由使用下文的等式(1.a)中所示的多項式模型擬合頂部邊緣608的偵測到的圖元位置
Figure 02_image007
)、
Figure 02_image003
)至
Figure 02_image005
)來建模,該多項式模型近似於經由圖元
Figure 02_image001
)、
Figure 02_image003
)至
Figure 02_image005
)的曲線:
Figure 02_image012
(1.a)
其中N是大於零的整數,其表示為擬合曲線而選擇的多項式的階數。例如,對於N=2,函數
Figure 02_image014
變為: y =
Figure 02_image016
(2)
XR系統可以經由等式(1.a)中的係數
Figure 02_image018
Figure 02_image020
決定與頂部邊緣608的最佳曲線擬合,以最小化建模曲線與頁面邊緣的偵測到的圖元位置
Figure 02_image001
)、
Figure 02_image003
)至
Figure 02_image005
)之間的均方誤差(MSE)。在一些實例中,最小化MSE亦可以包括決定哪個N值將為變形頁面606的不同曲率提供最佳擬合。在一些情況下,基於準確度與雜訊容限之間的權衡來選擇N。在一些實例中,隨著N增加,曲線擬合可以更準確地描述模型及/或提供對在頁面邊界處量測的圖元位置資料的更好擬合。然而,隨著N的增加,曲線擬合會變得對量測雜訊(例如,頁面邊界的量測的圖元位置中的誤差)更加敏感。在一種說明性實施方式中,曲線擬合與頁面邊界(例如,頂部邊緣608)的量測的圖元位置之間的誤差可以與誤差閾值E進行比較。在一些情況下,N的值可以被設置為使誤差低於誤差閾值E的最小N值。當XR系統偵測到變形頁面606的曲率變化時,可以更新變形模型以保持數位媒體內容(例如,電子書本文)在變形頁面606的表面上的投影。在一些情況下,變形頁面606的頂部邊緣608可以由第一變形模型f 1表示。在一些情況下,與變形頁面606的底部邊緣610相關聯的圖元點可以類似地被偵測到並擬合到曲線以決定底部邊緣610的曲率的變形模型f 2。下文的等式(1.b)提供了變形模型f 2的實例:
Figure 02_image025
(1.b)
其中
Figure 02_image027
Figure 02_image029
是變形模型f 2的係數。
在一些情況下,與變形頁面606的左側邊緣607及/或右側邊緣609相關聯的圖元點可以類似地被偵測到並擬合到左側邊緣607及/或右側邊緣609的曲線。在一個說明性實例中,下文的等式(1.c)可以用於決定左側邊緣607曲率的變形模型f 3
Figure 02_image031
(1.c)
其中
Figure 02_image033
Figure 02_image035
是變形模型f 3的係數。
在另一個說明性實例中,下文的等式(1.d)可以用於決定右側邊緣609曲率的變形模型f 4
Figure 02_image037
(1.d)
其中
Figure 02_image039
Figure 02_image041
是變形模型f 4的係數。
儘管上面描述了使用等式(1.a)至等式(1.d)中的一者或多者的實例多項式擬合技術,用於將曲線擬合到變形頁面606的頂部邊緣608、底部邊緣610、左側邊緣607及/或右側邊緣609的圖元位置來決定對應的變形模型f 1、f 2、f 3、f 4,但是應當理解,可以使用任何合適的曲線擬合技術來建立用於圖書的邊界及/或圖書的頁面的模型。例如,在不脫離本案的範疇的情況下,可以使用諸如高斯函數、三角函數(例如,正弦和餘弦)或s形(sigmoid)函數、或其任何組合的其他函數。儘管用於產生以上變形模型的實例技術集中於使用圖書頁面的頂部邊緣608、底部邊緣610、左側邊緣607和右側邊緣607,但是與圖書頁面相關聯的任何特徵(例如角落、邊緣、印刷本文、特殊標記、陰影等)可以用於決定實體圖書頁面的特徵的變形模型。在一些實施方式中,可以訓練神經網路以決定實體圖書頁面的特徵的變形模型。
在一些實施方式中,用於決定與圖元604在未變形頁面602上的位置(x,y)相對應的圖元612在變形頁面606上的位置(x',y')的組合模型可以根據下文的等式(3)和等式(4),使用變形頁面606的頂部邊緣608的變形模型f 1與底部邊緣610的變形模型f 2之間的內插以及左邊緣607的變形模型f 3與右側邊緣609的變形模型f 4之間的內插來決定:
Figure 02_image043
(3)
Figure 02_image045
(4)
其中Y是未變形頁面602的高度,y是圖元在未變形頁面602上的y座標位置,X是未變形頁面602的寬度,以及x是圖元在未變形頁面上的座標位置。例如,等式(3)的結果可以提供圖元612在變形頁面606上的投影x座標,並且等式(4)可以提供與圖元604在未變形頁面602上的位置(x,y)相對應的圖元612在變形頁面606上的投影y座標。
圖6D圖示用於基於印刷在印刷圖書的頁面上的本文字元來決定變形模型的實例技術。在一些實例中,若印刷圖書上有本文而不是空白圖書,則XR系統可以決定一行或多行本文的變形模型。如圖6D所示,未變形頁面626可以包括一行或多行本文614、616、618,並且對應的變形頁面636可以包括相同的一行或多行本文614、616、618。在一些實例中,變形頁面636上的一行或多行本文614、616、618可以使用多項式曲線擬合(諸如等式(1.a)至等式(1.d)中所示的多項式曲線擬合)來擬合。在一個說明性實例中,可以分割出每行本文的每個字元,並且可以根據下文的等式(5)和等式(6)來決定該行的第k個字元的字元中心位置(x c,k ,y c,k ):
Figure 02_image047
(5)
Figure 02_image049
(6)
其中N是組成字元的圖元總數,而(x i,k ,y i,k )是第k個字元上的第i個圖元的(x,y)座標。在一些情況下,變形頁面636上的本文行614、616、618的變形模型可以經由擬合穿過字元中心位置的曲線來產生。例如,等式(1.a)或等式(1.b)可以用於水平本文行(諸如本文行614、616、618)的變形模型。
在一些情況下,一旦已經計算出本文行614、616、618的一或多個變形模型,就可以基於變形模型將數位媒體內容(例如,電子書的本文)投影到變形頁面636上。在一個說明性實例中,投影在變形頁面636上的本文行的圖元位置可以使用模型等式(1.a)或等式(1.b)基於圖元的x座標和預測的y座標的內插來決定。
在一個說明性實例中,對於將被投影在未變形頁面626上的位置
Figure 02_image051
處的圖元,用於將圖元投影在變形頁面636上的對應值
Figure 02_image053
可以根據下文的等式(7)經由內插來決定:
Figure 02_image055
(
Figure 02_image057
) (7)
在一些實施方式中,在決定
Figure 02_image053
之後,可以經由使用下文的等式(8)中所示的變形模型來獲得
Figure 02_image060
的值:
Figure 02_image062
(8)
其中
Figure 02_image064
Figure 02_image066
分別是最左側和最右側圖元的圖元座標,這些圖元座標將用於在未變形頁面636上投影本文行,而
Figure 02_image068
Figure 02_image070
分別是本文行618的最左側和最右側圖元在變形頁面636上的圖元座標。在另一個說明性實例中,可以基於一或多個水平本文行、一或多個豎直本文行、頂部邊緣608、底部邊緣610、左側邊緣607和右側邊緣609或其任何組合的變形模型之間的內插來決定在變形頁面606上顯示的本文的投影圖元位置。儘管本文提供了基於頂部邊緣608、底部邊緣610、左側邊緣607和右側邊緣609以及實體圖書的一行或多行本文來決定變形模型的實例,但是應當理解,在不脫離本案的範疇的情況下,可以使用基於實體圖書的各種特徵(例如,陰影、用於輔助偵測顯示區域的特殊標記及/或其他特徵)的變形模型來決定實體圖書頁面的變形模型。另外,在不背離本案的範疇的情況下,類似技術可以用於基於顯示表面的偵測到的特徵來決定顯示表面而不是實體圖書的變形模型。
圖7A、圖7B、圖7C、圖7D和圖7E圖示使用者與顯示在實體圖書702的頁面上的投影的電子書內容的互動的實例。在下文的實例中的每一者中,互動可以由圖1的XR系統100、圖2的SLAM系統2、圖4A至圖4D的XR系統401、圖5A和圖5B的XR系統501及/或其任何部分、變型或組合來執行。
圖7A至圖7E中的每一者包括具有左側頁面704A和右側頁面704B的實體圖書702的表示,其中在每個頁面上包括印刷本文以及實例頁碼706A和706B。圖7A至圖7E亦包括具有帶頁碼712A和712B的左側頁面710A和右側頁面710B的電子書708的投影或渲染的本文的表示,如在整個本案中描述,該本文由XR系統投影到實體圖書702上。
圖7A圖示在具有現有印刷本文703的實體圖書702(例如,顯示表面)的頁面上顯示的電子書的投影本文709的實例外觀。在一些實例中,可以調整電子書內容的大小以匹配印刷圖書頁面的實體尺寸。在一些情況下,可以調整電子書內容的大小,使得在每個頁面上顯示的本文量與電子書內容的印刷版本的頁碼一致。例如,可以調整電子書內容的字體大小、列寬及/或本文行之間的間距,以實現電子書內容的渲染本文在實體圖書的頁面上的期望外觀。
圖7A和圖7B一起圖示翻頁操作的結果的實例,該翻頁操作可以基於使用者實體地對實體圖書702翻頁來推進電子書內容。在一些態樣,XR系統可以決定使用者已經對實體圖書702翻頁,並且可以基於偵測到的翻頁來使電子書708的顯示頁面前進或後退。在圖7A中,實體圖書702的顯示的頁碼706A和706B是一和二,並且電子書的頁碼712A和712B被示為具有匹配的頁碼一和二。圖7B圖示實體圖書702的頁面704A和704B以及電子書的頁面710A和710B皆前進了單次翻頁,其中電子書708的第三頁和第四頁被投影到實體圖書702的第三頁和第四頁上。
圖7C圖示實體圖書的頁碼706A和706B與電子書708的頁碼712A、712B不匹配的實例。在一些實例中,使用者可以在不翻動實體圖書702的頁面的情況下使電子書708的頁面前進。在此類實例中,隨著電子書708的頁碼712A、712B在不翻動實體圖書702的頁面的情況下前進,電子書的頁碼712A和712B可以遞增,而實體圖書的頁碼706A、706B書保持固定。在一些情況下,使用者可以經由執行手勢(諸如滑動動作或在頁面邊緣輕敲一次、從使用者介面選擇期望的頁面、其組合及/或經由其他方法)來推進電子書708的內容。在一些實施方式中,可以向使用者提供用於向前及/或向後移動經由電子書708內容的額外選項。例如,使用者可以執行特定手勢(例如,快速連續輕敲一頁三次)以便在圖書中向前或向後移動預定頁數(例如,三頁、十頁、三十頁、或任何其他頁數)。在一些情況下,由於手勢而遞增或遞減的頁面數量可以基於使用者設置。在此類情況下,使用者可能能夠基於執行特定手勢來調整電子書708內容向前或向後移動的頁數。在一些實施方式中,使用者可能能夠在對實體圖書702翻頁以推進電子書708內容與在不翻動實體圖書的頁面的情況下推進電子書之間切換。
在一些情況下,XR系統可以偵測並回應其他手勢。例如,可以使用使用者手勢將所顯示的數位圖書內容改變一頁,將數位圖書內容改變預定頁數(例如,三頁、十頁或任何其他頁數),改變到下一章,改變到包含一或多個突出顯示、筆記或其他註釋的最近頁面,其任何組合,及/或其他命令。圖書內容的改變可以是向前的或向後的(例如,取決於使用者手勢的方向)。
在另一個實例中,隨著使用者實體地翻閱電子書708的頁面,當實體圖書702中沒有足夠的頁面來顯示所有電子書708內容時,實體圖書702和電子書708的頁面可能不匹配。在一些情況下,若XR系統偵測到使用者已到達實體圖書702的最後一頁,則XR系統可以向使用者提供提示以翻回到實體圖書702的較早頁面(例如,第一頁、封面頁、目錄頁、或除最後一頁之外的任何其他頁面)。在一些情況下,一旦XR系統偵測到使用者已經將實體圖書702翻頁到較早頁面,XR系統就可以在最近查看的頁面或下一個連續頁面處恢復顯示電子書內容。在一些實施方式中,使用者可以經由執行手勢、與使用者介面互動及/或使用輸入裝置(例如,圖1中所示的輸入裝置108)來為特定電子書708的頁面添加書簽。在一些情況下,在下次使用者選擇特定電子書並打開實體圖書702開始閱讀時,XR系統可以顯示電子書的加書簽頁面,而不管使用者正在查看的實體圖書的頁面。在一些實施方式中,XR系統可以提示使用者將實體圖書702打開到特定頁面,諸如與電子書708的加書簽頁面的頁碼匹配的實體圖書702的頁面、使用者上一次正在閱讀特定電子書時使用者正在查看的實體圖書702的頁碼,或實體圖書的任何其他頁面。在一些情況下,XR系統可以在使用者完成閱讀通信期時保存實體圖書702的影像,並且基於偵測到使用者在稍後的時間已經存取了同一實體圖書702,XR系統可以提醒使用者翻到使用者離開時實體圖書702的頁碼。
圖7D圖示對電子書708內容的額外增強的實例,該額外增強可以由XR系統投影到實體圖書702的頁面上。圖7D的所示實例圖示了突出顯示714電子書708內容和將筆記716添加到電子書內容。在一些實例中,使用者可以選擇電子書708的部分本文來突出顯示。在一些情況下,使用者可以經由執行手勢、在使用者介面上進行選擇、使用輸入裝置(例如,圖1中所示的輸入裝置108)進行輸入來突出顯示部分本文。在一些情況下,可以保存、共享、組織、搜尋及/或下載電子書708內容的突出顯示的部分。在一些情況下,XR設備可以允許使用者對電子書708內容記筆記或註釋。在一些情況下,使用者可以使用手指、特殊筆或棒狀筆記工具在圖書做筆記。在一些情況下,XR系統可以偵測使用者的書寫動作以辨識符元,並且XR系統可以將寫入的內容作為筆記716投影到電子書內容上。在一些實施方式中,筆記可以由使用者保存和編輯。在一些情況下,當使用者到達包括筆記716的頁面時,使用者可以選擇該筆記,並且XR系統可以在頁面邊緣、彈窗718或相對於實體圖書702顯示的另一個位置中顯示保存的筆記。
在一些情況下,電子書708的本文和畫面內容可以用其他額外內容來增強。例如,XR系統可以顯示電子書708本文,同時渲染視訊、音訊、音樂或其他數位內容,在本文統稱為補充內容。在一個說明性實例中,若段落正在描述約塞米特蒂國家公園,則可以在該段落旁邊渲染描述約塞米特蒂國家公園的視訊。在另一個實例中,若段落正在介紹特定的鋼琴家,則XR系統可以為使用者播放該鋼琴家的音樂取樣。在一些情況下,使用者可以控制XR系統是否渲染及/或執行補充內容。在一些情況下,XR系統亦可以提供詞典功能以使得使用者能夠在電子書中檢視單詞的含義。在一些情況下,XR系統可以提供用於在電子書內容中搜尋及/或搜尋背景資訊(例如,來自網際網路)的搜尋功能。
圖7E圖示在實體圖書702的鄰近頁面上顯示電子書708內容的非鄰近頁面的實例。在一些情況下,XR系統可以經由手勢、經由使用者介面得到的輸入、經由輸入裝置(例如,圖1中所示的輸入裝置108)及/或經由其他技術從使用者接收對顯示實體圖書的非鄰近頁面的請求。在一個說明性實例中,若使用者當前正在閱讀電子書的左側頁面710A,則使用者可以指示XR系統將右側頁面設定為使用者想要同時閱讀的不同頁面。在圖7E的所示實例中,電子書內容的第五頁顯示在左側頁面710A上,而電子書內容的第七十八頁顯示在右側頁面710B上。在一些情況下,使用者可以選擇額外的顯示區域來顯示電子書內容的額外頁面,而不是使用實體圖書702的頁面來查看非鄰近頁面。在一個說明性實例中,使用者可以指示XR系統在牆壁上顯示電子書708內容的特定頁面,同時顯示使用者當前在實體圖書702上查看的電子書708內容的一或多個頁面。在一些情況下,使用者可以指示XR系統在特定實體圖書702上顯示電子書708內容與在另一個表面上顯示電子書內容之間切換。在另一個說明性實例中,使用者可以指示XR系統顯示具有使用者想要參考的內容的頁面,例如,使用者當前正在閱讀的頁面上的術語可以在圖書的另一部分的某處定義,使用者可以指示XR系統顯示術語的定義,並且XR系統可以決定適當的頁面來顯示在右側頁面710B或另一個表面上。在一些情況下,XR系統可以突出顯示或以其他方式強調包括該定義的頁面部分。在一些實施方式中,XR系統可以在右側頁面710或另一個表面上僅顯示適當頁面的一部分,諸如定義本身。
在一些情況下,使用者亦可以經由翻轉實體圖書702的左側頁面710A或右側頁面710B來查看電子書708的額外頁面。在一些情況下,使用者可以設定XR系統的電子書708的頁面投影到實體圖書702的翻頁上。在一些情況下,XR系統可以偵測使用者翻動的實體圖書702的頁數以決定要顯示電子書708內容的哪個頁面。在一個說明性實例中,XR系統可以將實體圖書702的頁碼706A及/或706B與在實體圖書702的翻頁上顯示的頁碼進行比較,以決定要在翻頁上顯示的電子書708內容的頁碼。在另一個說明性實例中,XR系統可以偵測使用者翻轉的頁面的厚度以估計由使用者翻轉的頁數,並基於該厚度來決定要在翻頁上顯示的電子書708內容的頁碼。
圖8A是示出根據一些實例的執行特徵追蹤及/或視覺同步定位和映射(VSLAM)的頭戴式顯示器(HMD)810的透視圖800。HMD 810例如可以是增強現實(AR)頭戴式耳機、虛擬實境(VR)頭戴式耳機、混合現實(MR)頭戴式耳機、擴展現實(XR)頭戴式耳機、或其某種組合。HMD 810可以包括XR系統100、SLAM系統200、XR系統401、XR系統501、其變型或其組合。HMD 810包括沿著HMD 810的前部的第一相機830A和第二相機830B。第一相機830A和第二相機830B可以是一或多個相機210中的兩個相機。在一些實例中,HMD 810可能只有單個相機。在一些實例中,除了第一相機830A和第二相機830B之外,HMD 810亦可以包括一或多個額外相機。在一些實例中,除了第一相機830A和相機830B之外,HMD 810亦可以包括一或多個額外感測器。
圖8B是示出根據一些實例的由使用者820佩戴的圖8A的頭戴式顯示器(HMD)810的透視圖830。使用者820將HMD 810佩戴在使用者820的頭部上位於使用者820的眼睛上方。HMD 810可以利用第一相機830A和第二相機830B來擷取影像。在一些實例中,HMD 810向使用者820的眼睛顯示一或多個顯示影像,其是基於由第一相機830A和第二相機830B擷取的影像。顯示影像可以提供環境的立體視圖,在一些情況下,該立體視圖具有疊加的資訊及/或其他修改。例如,HMD 810可以向使用者820的右眼顯示第一顯示影像,該第一顯示影像基於由第一相機830A擷取的影像。HMD 810可以向使用者820的左眼顯示第二顯示影像,該第二顯示影像基於由第二相機830B擷取的影像。例如,HMD 810可以在顯示影像中提供疊加資訊,該顯示影像疊加在由第一相機830A和第二相機830B擷取的影像的上方。
HMD 810不包括輪子推進器或它自己的其他運輸工具。相反,HMD 810依賴於使用者820的移動以將HMD 810圍繞環境移動。在一些情況下,HMD 810可以使用路徑規劃引擎執行路徑規劃,並且可以向使用者820指示遵循建議路徑的方向,以引導使用者沿著使用路徑規劃引擎規劃的建議路徑。在一些情況下,例如在HMD 810是VR頭戴式耳機的情況下,環境可能是完全或部分虛擬的。若環境至少部分是虛擬的,則經由虛擬環境的移動亦可能是虛擬的。例如,經由虛擬環境的移動可以由輸入裝置(例如,圖1中所示的輸入裝置108)控制。移動致動器可以包括任何此類輸入裝置。經由虛擬環境的移動可能不需要輪子、推進器、腿或任何其他形式的運輸工具。若環境是虛擬環境,則HMD 810仍然可以使用路徑規劃引擎及/或移動致動來執行路徑規劃。若環境是虛擬環境,則HMD 810可以經由在虛擬環境內執行虛擬移動來使用移動致動器來執行移動致動。即使環境是虛擬的,SLAM技術可能仍然是有價值的,因為虛擬環境可以是非映射的及/或可能已經由除HMD 810之外的設備(諸如與視訊遊戲或視訊遊戲平臺相關聯的遠端伺服器或控制台)產生。
圖9是示出顯示媒體內容的程序900的實例的流程圖。在方塊902處,程序900包括經由擴展現實設備接收對在顯示表面上顯示媒體內容的請求。在一個說明性實例中,顯示表面包括圖書的頁面的至少一部分。
在方塊904處,程序900包括決定顯示表面的姿態和擴展現實設備的姿態。在一些情況下,決定顯示表面的姿態包括決定顯示表面的至少一個特徵的變形模型。在一些實施方式中,決定該顯示表面的姿態包括決定該顯示表面的至少一個特徵的變形模型。例如,至少一個特徵可以包括頁面的角落、頁面的邊緣、特殊標記、印刷在頁面上的豎直本文行、印刷在頁面上的水平本文行、陰影或其任何組合。在一些實施方式中,決定該顯示表面的特徵的變型模型包括:決定該顯示表面的特徵的複數個圖元位置以及決定對該顯示表面的特徵的複數個圖元位置的曲線擬合。在一些情況下,決定該曲線擬合包括使該曲線擬合與該複數個圖元位置之間的均方誤差最小化。在一些實例中,曲線擬合是多項式曲線擬合、高斯曲線擬合、三角(例如,正弦和餘弦)曲線擬合、S形曲線擬合、或其任何組合。
在方塊906處,程序900包括基於顯示表面的姿態和擴展現實設備的姿態,由擴展現實設備相對於顯示表面顯示媒體內容。在一些情況下,相對於該顯示表面顯示該媒體內容包括相對於該顯示表面的變形模型顯示該媒體內容。在一些情況下,顯示媒體內容包括:決定該擴展現實設備與該顯示表面之間的相對姿態變化以及由該擴展現實設備基於該決定的相對姿態變化以相對於該顯示表面的更新方向來顯示該媒體內容。在一個說明性實例中,該相對姿態變化包括該擴展現實設備在六個自由度中的至少一者中的姿態變化。在一些情況下,至少部分地基於從一或多個運動感測器獲得的輸入來決定相對姿態變化。在一個說明性實例中,一或多個運動感測器包括IMU。在一些情況下,決定要在該顯示表面上顯示的媒體內容的一部分是基於該顯示表面的一或多個特徵。例如,一或多個特徵可以包括印刷在圖書的頁面上的頁碼。在一些實例中,決定用於相對於該顯示表面顯示該媒體內容的位置和方向是基於該顯示表面的頁面的邊緣的位置。
在一些情況下,程序900包括在顯示表面上顯示數位圖書的第一頁。在一些情況下,程序900包括偵測數位圖書的頁面的翻動。在一些實例中,基於偵測到該頁面的翻動,顯示該數位圖書的與該第一頁不同的第二頁。
在一些情況下,程序900包括獲得指示擴展現實設備將媒體內容的顯示從顯示表面改變到另一個顯示表面(例如,牆壁、另一圖書、桌面、窗簾和投影儀螢幕)的輸入。在一些情況下,基於該輸入,程序900可以決定該另一個顯示表面的姿態和該擴展現實設備的另一個姿態。在一些實例中,基於該另一個顯示表面的姿態和該擴展現實設備的另一個姿態,程序900可以經由該擴展現實設備相對於該另一個顯示表面顯示該媒體內容。
在一些實施方式中,程序900包括由擴展現實設備偵測指示擴展現實設備更新媒體內容的顯示部分的手勢輸入(例如,翻動實體圖書的頁面、執行模仿翻動圖書的頁面的動作、輕敲實體圖書的頁面,或任何其他手勢)。在一些情況下,基於該輸入,程序900可以更新該媒體內容的顯示部分。
在一些情況下,程序900包括接收關於顯示表面的邊界的資訊。在一個說明性實例中,關於該顯示表面的邊界的資訊是基於由該擴展現實設備偵測到的手勢。
在一些情況下,由程序900所示的技術的至少一個子集可以由雲服務的一或多個網路服務器遠端執行。在一些實例中,本文描述的程序(例如,程序900及/或本文描述的其他程序)可以由計算設備或裝置執行。流程900可以由圖1所示的XR系統100、圖2所示的SLAM系統200、圖3所示的XR系統301、圖4A至圖4D所示的XR系統401、圖5A和圖5B中所示的XR系統501、圖8A和圖8B中所示的頭戴式顯示器(HMD)810、其變型或其組合來執行。程序900亦可以由具有圖10所示的計算系統1000的架構的計算設備來執行。計算設備可以包括任何合適的設備,諸如行動設備(例如,行動電話)、桌上型計算設備、平板計算設備、可穿戴設備(例如,VR頭戴式耳機、AR頭戴式耳機、AR眼鏡、聯網手錶或智慧手錶、或其他可穿戴設備)、伺服器電腦、自主交通工具或自主交通工具的計算設備、機器人設備、電視機及/或具有用於執行本文描述的程序(包括程序900)的資源能力的任何其他計算設備。在一些情況下,計算設備或裝置可以包括各種部件,諸如一或多個輸入裝置、一或多個輸出裝置、一或多個處理器、一或多個微處理器、一或多個微型電腦、一或多個相機、一或多個感測器、及/或被配置為執行本文描述的程序的步驟的其他部件。在一些實例中,計算設備可以包括顯示器、被配置為傳送及/或接收資料的網路介面、其任何組合及/或其他部件。網路介面可以被配置為傳送及/或接收基於網際網路協定(IP)的資料或其他類型的資料。
計算設備的部件可以在電路中實施。例如,該部件可以包括電子電路或其他電子硬體、及/或可以使用電子電路或其他電子硬體來實施,該電子電路或其他電子硬體可以包括一或多個可程式設計電子電路(例如,微處理器、圖形處理單元(GPU)、數位訊號處理器(DSP)、中央處理單元(CPU)及/或其他合適的電子電路);及/或可以包括電腦軟體、韌體或其任何組合及/或使用電腦軟體、韌體或其任何組合來實施,以執行本文描述的各種操作。
由圖1(XR系統100的)、圖2(SLAM系統200的)和圖10(系統1000的)中的方塊圖所示的程序和示出程序900的流程圖說明邏輯流程圖或被組織為邏輯流程圖,該邏輯流程圖的動作表示可以在硬體、電腦指令或其組合中實施的操作序列。在電腦指令的上下文中,該動作表示儲存在一或多個電腦可讀取儲存媒體上的電腦可執行指令,該電腦可執行指令在由一或多個處理器執行時執行所敘述的操作。通常,電腦可執行指令包括執行特定功能或實施特定資料類型的常式、程式、物件、部件、資料結構等。描述操作的順序不意欲被解釋為限制,並且可以以任何順序及/或並行地組合任意數量的所描述的操作來實施該程序。
另外,由圖1(XR系統100的)、圖2(SLAM系統200的)和圖10(系統1000的)中的方塊圖所示的程序和示出程序900的流程圖及/或本文描述的其他程序可以在被配置有可執行指令的一或多個電腦系統的控制下執行,並且可以被實施為在一或多個處理器上共同執行、經由硬體執行或其組合執行的代碼(例如,可執行指令、一或多個電腦程式、或者一或多個應用)。如上文提及,該代碼可以例如以包括可由一或多個處理器執行的複數個指令的電腦程式的形式儲存在電腦可讀或機器可讀儲存媒體上。電腦可讀或機器可讀儲存媒體可以是非暫時性的。
圖10是示出用於實施本技術的某些態樣的系統的實例的示意圖。具體地,圖10圖示計算系統1000的實例,該計算系統可以是例如XR系統100、SLAM系統200、遠端計算系統或其任何部件,其中該系統的部件使用連接1005彼此進行通訊。連接1005可以是使用匯流排的實體連接,或者是到處理器1010中的直接連接,諸如在晶片組架構中。連接1005亦可以是虛擬連接、聯網連接或邏輯連接。
在一些實施例中,計算系統1000是分散式系統,其中本案所描述的功能可以分佈在資料中心、多個資料中心、對等網路等中。在一些實施例中,所描述的系統部件中的一者或多者表示許多此類部件,其各自皆執行描述該部件的部分或全部功能。在一些實施例中,該等部件可以是實體或虛擬裝置。
實例系統1000包括至少一個處理單元(CPU或處理器)1010和連接1005,該連接將包括系統記憶體1015(諸如唯讀記憶體(ROM)1020和隨機存取記憶體(RAM)1025)的各種系統部件耦合到處理器1010。計算系統1000可以包括與處理器1010直接連接、緊密接近或整合為處理器的一部分的高速記憶體的快取記憶體1012。
處理器1010可以包括任何通用處理器以及被配置為控制處理器1010的硬體服務或軟體服務(諸如儲存在存放裝置1030中的服務1032、1034和1036)以及其中將軟體指令併入實際的處理器設計中的專用處理器。處理器1010本質上可以是完全獨立的計算系統,其包含多個核或處理器、匯流排、記憶體控制器、快取記憶體等。多核處理器可以是對稱的或不對稱的。
為了實現使用者互動,計算系統1000包括一個輸入裝置1045,它可以表示任意數量的輸入機構,諸如用於語音的麥克風、用於手勢或圖形輸入的觸敏螢幕、鍵盤、滑鼠、運動輸入、語音等。計算系統1000亦可以包括輸出裝置1035,其可以是許多輸出機構中的一者或多者。在一些情況下,多模態系統可以使得使用者能夠提供多種類型的輸入/輸出以與計算系統1000進行通訊。計算系統1000可以包括通訊介面1040,其通常可以控制和管理使用者輸入和系統輸出。通訊介面可以使用有線及/或無線收發器來執行或促進接收及/或發送有線或無線通訊,包括利用以下各項的有線或無線通訊:音訊插孔/插頭、麥克風插孔/插頭、通用序列匯流排(USB)埠/插頭、Apple® Lightning®埠/插頭、乙太網路埠/插頭、光纖埠/插頭、專有有線埠/插頭、BLUETOOTH®無線訊號傳遞、BLUETOOTH®低功耗(BLE)無線訊號傳遞、IBEACON®無線訊號傳遞、無線電頻率辨識(RFID)無線訊號傳遞、近場通訊(NFC)無線訊號傳遞、專用短程通訊(DSRC)無線訊號傳遞、802.11 Wi-Fi無線訊號傳遞、無線區域網路(WLAN)訊號傳遞、可見光通訊(VLC)、微波存取全球互通(WiMAX)、紅外(IR)通訊無線訊號傳遞、公用交換電話網(PSTN)訊號傳遞、整合式服務數位網路絡(ISDN)訊號傳遞、3G/4G/5G/LTE蜂巢資料網路無線訊號傳遞、自組織網路訊號傳遞、無線電波訊號傳遞、微波訊號傳遞、紅外訊號傳遞、可見光訊號傳遞、紫外光訊號傳遞、沿著電磁頻譜的無線訊號傳遞、或其某種組合。通訊介面1040亦可以包括一或多個全球導航衛星系統(GNSS)接收器或收發器,其用於基於從與一或多個GNSS系統相關聯的一或多個衛星接收到的一或多個訊號來決定計算系統1000的位置。GNSS系統包括但不限於基於美國的全球定位系統(GPS)、基於俄羅斯的全球導航衛星系統(GLONASS)、基於中國的北斗導航衛星系統(BDS)和基於歐洲的伽利略GNSS。對於在任何特定硬體佈置上進行操作沒有限制,並且因此在開發改進的硬體或韌體佈置時,此處的基本功能可以輕鬆替換為改進的硬體或韌體佈置。
存放裝置1030可以是非揮發性及/或非暫時性及/或電腦可讀存放裝置並且可以是硬碟或其他類型的電腦可讀取媒體,其可以儲存可由電腦存取的資料,該電腦可讀取媒體諸如盒式磁帶、快閃記憶卡、固態記憶體設備、數位多功能磁碟、磁帶盒、軟碟、軟碟、硬碟、磁帶、磁條/磁碟、任何其他磁性儲存媒體、快閃記憶體、憶阻器記憶體、任何其他固態記憶體、光碟唯讀記憶體(CD-ROM)光碟、可讀寫光碟(CD)光碟、數碼影碟(DVD)光碟、藍光光碟(BDD)光碟、全息光碟、另一種光學媒體、安全數位(SD)卡、微型安全數位(microSD)卡、記憶棒®卡、智慧卡晶片、EMV晶片、用戶身份模組(SIM)卡、迷你/微型/奈米/微微SIM卡、另一積體電路(IC)晶片/卡、隨機存取記憶體(RAM)、靜態RAM(SRAM)、動態RAM(DRAM)、唯讀記憶體(ROM)、可程式設計唯讀記憶體(PROM)、可抹除可程式設計唯讀記憶體(EPROM)、電子可抹除可程式設計唯讀記憶體(EEPROM)、快閃記憶體EPROM(FLASHEPROM)、高速緩衝記憶體(L1/L2/L3/L4/L5/L#)、電阻式隨機存取記憶體(RRAM/ReRAM)、相變記憶體(PCM)、自旋轉移扭矩RAM(STT-RAM)、另一記憶體晶片或磁帶盒,及/或其組合。
存放裝置1030可以包括軟體服務、伺服器、服務等,當定義這種軟體的代碼由處理器1010執行時使系統執行功能。在一些實施例中,執行特定功能的硬體服務可以包括儲存在電腦可讀取媒體中的軟體部件,其與必要的硬體部件(諸如處理器1010、連接1005、輸出裝置1035等)連接以執行功能。
如本文中所使用的,術語「電腦可讀取媒體」包括但不限於可攜式或非可攜式存放裝置、光存放裝置以及能夠儲存、包含或攜帶指令及/或資料的各種其他媒體。電腦可讀取媒體可以包括其中可以儲存資料並且不包括無線地或經由有線連接傳播的載波及/或暫時性電子訊號的非暫時性媒體。非暫時性媒體的實例可以包括但不限於磁碟或磁帶、諸如壓縮光碟(CD)或數位通用磁碟(DVD)等光學儲存媒體、快閃記憶體、記憶體或記憶體設備。電腦可讀取媒體在其上可以儲存代碼及/或機器可執行指令,它們可以表示程式(procedure)、函數、副程式、程式(program)、常式、子常式、模組、套裝軟體、類別,或者指令、資料結構或程式語句的任何組合。程式碼片段可以經由傳遞及/或接收資訊、資料、引數、參數或記憶體內容而耦合到另一個程式碼片段或硬體電路。資訊、引數、參數、資料等可以使用任何合適的方式來傳遞、轉發或發送,這些方式包括記憶體共享、訊息傳遞、符記傳遞、網路傳輸等。
在一些實施例中,電腦可讀存放裝置、媒體和記憶體可以包括包含位元串流等的有線或無線訊號。然而,在提及時,非暫時性電腦可讀取儲存媒體明確排除諸如能量、載波訊號、電磁波和訊號本身等媒體。
在以上描述中提供了具體細節以提供對本文提供的實施例和實例的透徹理解。然而,本發明所屬領域中具有通常知識者將理解,可以在沒有這些具體細節的情況下實踐這些實施例。為了解釋清楚,在某些情況下,本技術可以被表示為包括個別功能方塊,該功能方塊包括包含以軟體或硬體和軟體的組合體現的方法中的設備、設備部件、步驟或常式的功能方塊。可以使用除了圖中所示及/或本文描述的那些之外的額外部件。例如,電路、系統、網路、程序和其他部件可以以方塊圖形式示出為部件,以免在不必要的細節中混淆實施例。在其他情況下,可以在沒有不必要的細節的情況下示出公知電路、程序、演算法、結構和技術以免混淆實施例。
上文可以將各個實施例描述為程序或方法,該程序或方法被圖示為流程圖、流程圖、資料流圖、結構圖或方塊圖。儘管流程圖可以將操作描述為循序程序,但是許多操作可並行或同時執行。另外,可以重新佈置操作順序。程序在其操作完成時終止,但是可能具有圖中未包括的額外步驟。程序可以對應方法、函數、程式、子常式、副程式等。當程序對應於函數時,它的終止可以對應於函數返回到調用函數或主函數。
可以使用儲存在電腦可讀取媒體中或以其他方式可從電腦可讀取媒體中獲得的電腦可執行指令來實施根據上述實例的程序和方法。此類指令可以包括例如導致或以其他方式配置通用電腦、專用電腦或處理設備以執行特定功能或功能組的指令和資料。可以經由網路存取所使用的電腦資源的部分。電腦可執行指令可以是例如二進位檔案、中間格式指令(諸如組合語言)、韌體、原始程式碼等。可以用於儲存指令、所使用的資訊及/或在根據所描述的實例的方法期間建立的資訊的電腦可讀取媒體的實例包括磁碟、光碟、快閃記憶體、設置有非揮發性記憶體的USB設備、聯網存放裝置等等。
實施根據這些揭示內容的程序和方法的設備可以包括硬體、軟體、韌體、中介軟體、微代碼、硬體描述語言或其任何組合,並且可以採用多種形式因素中的任何一種。當以軟體、韌體、中介軟體或微代碼實施時,用於執行必要任務(例如,電腦程式產品)的程式碼或程式碼片段可以儲存在電腦可讀或機器可讀取媒體中。處理器可以執行必要的任務。形狀因數的典型實例包括膝上型電腦、智慧手機、行動電話、平板設備或其他小形狀因數的個人電腦、個人數位助理、機架式設備、獨立設備等等。本文描述的功能亦可以體現在周邊設備或擴展卡中。經由進一步的實例,這種功能亦可以在不同晶片之間的電路板上或在單個設備中執行的不同程序上實施。
指令、用於傳達此類指令的媒體、用於執行其計算資源以及用於支援此類計算資源的其他結構是用於提供本案中描述的功能的實例構件。
在前面的描述中,參考本案的具體實施例描述了本案的各態樣,但是本發明所屬領域中具有通常知識者將認識到本案不限於此。因此,儘管本文已經詳細描述了本案的說明性實施例,但是應當理解,可以其他方式不同地實施和採用創造性概念,並且所附請求項意圖被解釋為包括除了受現有技術的限制的變形之外的這種變型。上述申請的各種特徵和態樣可以單獨或聯合使用。此外,在不脫離本說明書的範疇的情況下,實施例可以在超出本文描述的那些環境和應用的任何數量的環境和應用中使用。因此,說明書和附圖被認為是說明性的而不是限制性的。出於說明目的,按特定順序描述了方法。應當理解,在替代實施例中,可以以與所描述的順序不同的順序來執行該方法。
本發明所屬領域中具有通常知識者將理解,在不脫離本說明書的範疇的情況下,本文使用的小於(「<」)和大於(「>」)符號或術語分別可以被替換為小於或等於(「≦」)和大於或等於(「≧」)符號。
在部件被描述為「被配置為」執行某些操作的情況下,此類配置可以例如經由設計電子電路或其他硬體來執行操作、經由對可程式設計電子電路(例如,微處理器,或其他合適的電子電路)進行程式設計以執行操作、或其任何組合來實現。
短語「耦合到」是指直接或間接地實體連接到另一個部件的任何部件,及/或與另一個部件直接或間接通訊(例如,經由有線或無線連接、及/或其他合適的通訊介面連接到另一部件)的任何部件。
敘述集合中的「至少一者」及/或集合中的「一者或多者」的請求項語言或其他語言指示該集合的一個成員或該集合的多個成員(以任何組合)滿足請求項。例如,敘述「A和B中的至少一者」的請求項語言表示A、B或A和B。在另一個實例中,敘述「A、B和C中的至少一者」的請求項語言表示A、B、C,或A和B,或A和C,或B和C,或A和B和C。語言集合中的「至少一者」及/或集合中的「一者或多者」不將該集合限制為該集合中列出的專案。例如,敘述「A和B中的至少一者」的請求項語言可以表示A、B或A和B,並且可以另外包括未在A和B的集合中列出的專案。
結合本文揭示的實施例描述的各種說明性邏輯區塊、模組、電路和演算法步驟可以被實施為電子硬體、電腦軟體、韌體或其組合。為了清楚地示出硬體和軟體的這種可互換性,上面已經對各種說明性部件、方塊、模組、電路和步驟在其功能態樣進行了整體描述。將這種功能實施為硬體還是軟體取決於特定應用和強加於整個系統的設計約束。具有通常知識者可以針對每個特定應用以不同方式實施所描述的功能,但是這種實施決策不應被解釋為導致脫離本案的範疇。
本文描述的技術亦可以在電子硬體、電腦軟體、韌體或其任何組合中實施。此類技術可以在多種設備中的任一種中實施,該設備諸如通用電腦、無線通訊設備手持機或具有多種用途的積體電路設備,該多種用途包括在無線通訊設備手持機和其他設備中的應用。被描述為模組或部件的任何特徵可以一起在整合邏輯裝置中實施,或者作為離散但可交互動操作的邏輯裝置分開實施。若以軟體實施,則該技術可以至少部分地經由包括程式碼的電腦可讀取資料儲存媒體來實施,該程式碼包括在被執行時執行上述方法中的一者或多者的指令。電腦可讀取資料儲存媒體可以形成電腦程式產品的一部分,該電腦程式產品可以包括包裝材料。電腦可讀取媒體可以包括記憶體或資料儲存媒體,諸如隨機存取記憶體(RAM),諸如同步動態隨機存取記憶體(SDRAM)、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電子可抹除可程式設計唯讀記憶體(EEPROM)、快閃記憶體、磁性或光學資料儲存媒體等。另外或替代地,該技術可以至少部分地由電腦可讀通訊媒體(諸如傳播訊號或波)來實現,該電腦可讀通訊媒體以指令或資料結構的形式攜帶或傳送程式碼,並且可以由電腦來存取、讀取及/或執行。
程式碼可以由處理器執行,該處理器可以包括一或多個處理器,諸如一或多個數位訊號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、現場可程式設計邏輯陣列(FPGA)、或其他等效的整合或離散邏輯電路。此類處理器可以被配置為執行本案中描述的任何技術。通用處理器可以是微處理器;但是替代地,處理器可以是任何習知處理器、控制器、微控制器或狀態機。處理器亦可以被實施為計算設備的組合,例如,DSP與微處理器的組合、複數個微處理器、一或多個微處理器結合DSP核、或者任何其他此類配置。因此,如本文所使用的術語「處理器」可以代表任何前述結構、前述結構的任何組合、或適用於實施本文描述的技術的任何其他結構或裝置。另外,在一些態樣,本文描述的功能可以被提供於被配置用於編碼和解碼或者被結合在組合視訊轉碼器-解碼器(CODEC)中的專用軟體模組或硬體模組內。
本案的說明性態樣包括:
態樣1.一種顯示媒體內容的方法,包括:由擴展現實設備接收對在顯示表面上顯示媒體內容的請求;決定該顯示表面的姿態和該擴展現實設備的姿態;及基於該顯示表面的該姿態和該擴展現實設備的該姿態,由該擴展現實設備相對於該顯示表面顯示該媒體內容。
態樣2.根據態樣1之方法,其中該顯示表面包括圖書的頁面的至少一部分。
態樣3.根據態樣1至2中任一項所述的方法,亦包括:在該顯示表面上顯示數位圖書的第一頁並偵測該數位圖書的頁面的翻動;及基於偵測到該頁面的翻動,顯示該數位圖書的與該第一頁不同的第二頁。
態樣4.根據態樣1至3中任一項所述的方法,其中決定該顯示表面的該姿態包括決定該顯示表面的至少一個特徵的變形模型。
態樣5.根據態樣1至4中任一項所述的方法,亦包括基於該顯示表面的該至少一個特徵的該變形模型來決定該顯示表面的至少一部分的變形模型。
態樣6.根據態樣1至5中任一項所述的方法,其中相對於該顯示表面顯示該媒體內容包括相對於該顯示表面的該變形模型顯示該媒體內容。
態樣7.根據態樣1至6中任一項所述的方法,其中該顯示表面的該至少一個特徵包括圖書的頁面的邊緣。
態樣8.根據態樣1至7中任一項所述的方法,其中該顯示表面的該至少一個特徵包括印刷在圖書的頁面上的複數個本文字元。
態樣9.根據態樣1至8中任一項所述的方法,其中決定該顯示表面的該特徵的該變型模型包括:決定該顯示表面的該特徵的複數個圖元位置;及決定對該顯示表面的該特徵的該複數個圖元位置的曲線擬合。
態樣10.根據態樣1至9中任一項所述的方法,其中決定該曲線擬合包括使該曲線擬合與該複數個圖元位置之間的均方誤差最小化。
態樣11.根據態樣1至10中任一項所述的方法,其中該曲線擬合是多項式曲線擬合。
態樣12.根據態樣1至11中任一項所述的方法,亦包括:決定該擴展現實設備與該顯示表面之間的相對姿態變化;及由該擴展現實設備基於所決定的相對姿態變化以相對於該顯示表面的更新的方向來顯示該媒體內容。
態樣13.根據態樣1至12中任一項所述的方法,其中該相對姿態變化包括該擴展現實設備在六個自由度中的至少一者中的姿態變化。
態樣14.根據態樣1至13中任一項所述的方法,其中該相對姿態變化至少部分地基於從慣性量測單元獲得的輸入來決定。
態樣15.根據態樣1至14中任一項所述的方法,亦包括:獲得指示該擴展現實設備將該媒體內容的顯示從該顯示表面改變為另一個顯示表面的輸入;並且基於該輸入:決定該另一個顯示表面的姿態和該擴展現實設備的另一個姿態;及基於該另一個顯示表面的該姿態和該擴展現實設備的該另一個姿態,由該擴展現實設備相對於該另一個顯示表面顯示該媒體內容。
態樣16.根據態樣1至15中任一項所述的方法,亦包括:由該擴展現實設備偵測指示該擴展現實設備更新該媒體內容的顯示部分的手勢輸入;及基於該輸入來更新該媒體內容的該顯示部分。
態樣17.根據態樣1至16中任一項所述的方法,亦包括:基於該顯示表面的頁面的邊緣的位置來決定用於相對於該顯示表面顯示該媒體內容的位置和方向。
態樣18.根據態樣1至17中任一項所述的方法,亦包括:基於該顯示表面的一或多個特徵來決定要在該顯示表面上顯示的該媒體內容的一部分。
態樣19.根據態樣1至18中任一項所述的方法,其中該顯示表面上的該一或多個特徵包括印刷在圖書的頁面上的頁碼。
態樣20.根據態樣1至19中任一項所述的方法,亦包括接收關於該顯示表面的邊界的資訊。
態樣21.根據態樣1至20中任一項所述的方法,其中關於該顯示表面的該邊界的該資訊是基於由該擴展現實設備偵測到的手勢。
態樣22:一種用於顯示媒體內容的裝置。該裝置包括記憶體(例如,在電路中實施)和耦合到該記憶體的一或多個處理器。該一或多個處理器被配置為:由擴展現實設備接收對在顯示表面上顯示媒體內容的請求;決定該顯示表面的姿態和該擴展現實設備的姿態;及基於該顯示表面的該姿態和該擴展現實設備的該姿態,由該擴展現實設備相對於該顯示表面顯示該媒體內容。
態樣23:根據態樣22之裝置,其中該顯示表面包括圖書的頁面的至少一部分。
態樣24:根據態樣22至23中任一項所述的裝置,其中為了顯示該媒體內容,該一或多個處理器被配置為在該顯示表面上顯示數位圖書的第一頁;偵測該數位圖書的頁面的翻動;及基於偵測到該頁面的翻動,顯示該數位圖書的與該第一頁不同的第二頁。
態樣25:根據態樣22至24中任一項所述的裝置,其中為了決定該顯示表面的該姿態,該一或多個處理器被配置為決定該顯示表面的至少一個特徵的變形模型。
態樣26:根據態樣22至25中任一項所述的裝置,其中該一或多個處理器被配置為基於該顯示表面的該至少一個特徵的該變形模型來決定該顯示表面的至少一部分的變形模型。
態樣27:根據態樣22至26中任一項所述的裝置,其中為了相對於該顯示表面顯示該媒體內容,該一或多個處理器被配置為相對於該顯示表面的該變形模型顯示該媒體內容。
態樣28:根據態樣22至27中任一項所述的裝置,其中該顯示表面的該至少一個特徵包括圖書的頁面的邊緣。
態樣29:根據態樣22至28中任一項所述的裝置,其中該顯示表面的該至少一個特徵包括印刷在圖書的頁面上的複數個本文字元。
態樣30:根據態樣22至29中任一項所述的裝置,其中該一或多個處理器被配置為:決定該顯示表面的該特徵的複數個圖元位置;及決定對該顯示表面的該特徵的該複數個圖元位置的曲線擬合。
態樣31:根據態樣22至30中任一項所述的裝置,其中為了決定該曲線擬合,該一或多個處理器被配置為使該曲線擬合與該複數個圖元位置之間的均方誤差最小化。
態樣32:根據態樣22至31中任一項所述的裝置,其中該曲線擬合包括多項式曲線擬合。
態樣33:根據態樣22至32中任一項所述的裝置,其中該一或多個處理器被配置為:決定該擴展現實設備與該顯示表面之間的相對姿態變化;及由該擴展現實設備基於所決定的相對姿態變化以相對於該顯示表面的更新的方向來顯示該媒體內容。
態樣34:根據態樣22至33中任一項所述的裝置,其中該相對姿態變化包括該擴展現實設備在六個自由度中的至少一者中的姿態變化。
態樣35:根據態樣22至34中任一項所述的裝置,其中該相對姿態變化至少部分地基於從慣性量測單元獲得的輸入來決定。
態樣36:根據態樣22至35中任一項所述的裝置,其中該一或多個處理器被配置為:獲得指示該擴展現實設備將該媒體內容的顯示從該顯示表面改變為另一個顯示表面的輸入;並且基於該輸入:決定該另一個顯示表面的姿態和該擴展現實設備的另一個姿態;及基於該另一個顯示表面的該姿態和該擴展現實設備的該另一個姿態,由該擴展現實設備相對於該另一個顯示表面顯示該媒體內容。
態樣37:根據態樣22至36中任一項所述的裝置,其中該一或多個處理器被配置為:由該擴展現實設備偵測指示該擴展現實設備更新該媒體內容的顯示部分的手勢輸入;及基於該輸入來更新該媒體內容的該顯示部分。
態樣38:根據態樣22至37中任一項所述的裝置,其中該一或多個處理器被配置為:基於該顯示表面的頁面的邊緣的位置來決定用於相對於該顯示表面顯示該媒體內容的位置和方向。
態樣39:根據態樣22至38中任一項所述的裝置,其中該一或多個處理器被配置為基於該顯示表面的一或多個特徵來決定要在該顯示表面上顯示的該媒體內容的一部分。
態樣40:根據態樣22至39中任一項所述的裝置,其中該顯示表面上的該一或多個特徵包括印刷在圖書的頁面上的頁碼。
態樣41:根據態樣22至40中任一項所述的裝置,其中該一或多個處理器被配置為接收關於該顯示表面的邊界的資訊。
態樣42:根據態樣22至41中任一項所述的裝置,其中關於該顯示表面的該邊界的該資訊是基於由該擴展現實設備偵測到的手勢。
態樣43:一種其上儲存有指令的非暫時性電腦可讀取儲存媒體,該等指令在由一或多個處理器執行時使該一或多個處理器執行態樣1至42的操作中的任一項。
態樣44:一種裝置,其包括用於執行根據態樣1至42之操作中的任一者的構件。
100:擴展現實(XR)系統 102:影像感測器 104:加速度計 106:陀螺儀 107:存放裝置 108:輸入裝置 109:顯示器 110:計算部件 112:中央處理單元(CPU) 114:圖形處理單元(GPU) 116:數位訊號處理器(DSP) 118:影像訊號處理器(ISP) 120:XR引擎 122:介面佈局和輸入管理引擎 124:影像處理引擎 126:渲染引擎 200:SLAM系統 205:感測器 210:相機 215:VIO追蹤器 220:特徵追蹤引擎 225:感測器整合引擎 230:映射引擎 235:地圖緻密化引擎 240:關鍵訊框移除器 245:束調整器 250:環封閉偵測器 255:重定位引擎 260:提取和匹配引擎 265:感測器資料 270:不同關鍵訊框 272:3D特徵位置 275:地圖切片 280:地圖資訊 285:姿態 300:環境 301:請求XR系統 302:使用者 304:書架 306:桌子 308A:實體圖書 308B:實體圖書 308C:實體圖書 308D:實體圖書 310:實體圖書 312:顯示 314:使用者視野中心及/或視線方向 401:XR系統 402:使用者 404:顯示表面 406:顯示表面 408A:引導標記 408B:引導標記 408C:引導標記 408D:引導標記 410:顯示表面 411:本文 412:顯示表面 414:手 416:邊緣追蹤邊界 500:環境 501:XR系統 502:使用者 504:實體圖書 506:數位媒體內容 507:中線 508:桌子 510:視線 602:未變形頁面 604:圖元 606:變形頁面 607:左側邊緣 608:頂部邊緣 609:右側邊緣 610:底部邊緣 612:圖元 614:本文 616:本文 618:本文 626:未變形頁面 636:變形頁面 702:實體圖書 703:印刷本文 704A:頁面 704B:頁面 706A:頁碼 706B:頁碼 708:電子書 709:投影本文 710A:頁面 710B:頁面 712A:頁碼 712B:頁碼 714:突出顯示 716:筆記 718:彈窗 800:透視圖 810:HMD 820:使用者 830A:第一相機 830B:第二相機 900:程序 902:方塊 904:方塊 906:方塊 1000:計算系統 1005:連接 1010:處理器 1012:快取記憶體 1015:系統記憶體 1020:唯讀記憶體(ROM) 1025:隨機存取記憶體(RAM) 1030:存放裝置 1032:服務 1034:服務 1035:輸出裝置 1036:服務 1040:通訊介面 1045:輸入裝置 f 1:第一變形模型 f 2:變形模型 f 3:變形模型 f 4:變形模型
下文參考以下附圖詳細地描述本案的說明性實施例:
圖1是示出根據本案的一些實例的實例擴展現實(XR)系統的架構的方塊圖;
圖2是示出同步定位和映射(simultaneous localization and mapping,SLAM)設備的架構的方塊圖;
圖3是示出包含可以用作數位媒體內容的顯示表面的實體圖書的環境內的使用者的透視圖;
圖4A、圖4B、圖4C和圖4D圖示根據一些實例的顯示表面偵測技術的透視圖;
圖5A和圖5B圖示根據一些實例的在實體圖書上的數位媒體內容投影的透視圖;
圖6A、圖6B、圖6C和圖6D圖示根據一些實例的頁面變形偵測和建模技術的示意圖;
圖7A、圖7B、圖7C、圖7D和圖7E圖示根據一些實例的使用者與顯示在實體圖書的頁面上的投影的電子書內容的互動的實例;
圖8A是示出根據一些實例的可以將電子書內容投影到顯示表面上的頭戴式顯示器(HMD)的透視圖;
圖8B是示出根據一些實例的由使用者穿戴的圖8A的頭戴式顯示器(HMD)的透視圖;
圖9是示出根據一些實例的用於顯示媒體內容的技術的實例的流程圖;
圖10是示出用於實施本技術的某些態樣的系統的實例的示意圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記) 無 國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記) 無
401:XR系統
402:使用者
404:顯示表面

Claims (30)

  1. 一種顯示媒體內容的方法,包括以下步驟: 由一擴展現實設備接收對在一顯示表面上顯示媒體內容的一請求; 決定該顯示表面的一姿態和該擴展現實設備的一姿態;及 基於該顯示表面的該姿態和該擴展現實設備的該姿態,由該擴展現實設備相對於該顯示表面顯示該媒體內容。
  2. 根據請求項1之方法,其中該顯示表面包括一圖書的一頁面的至少一部分。
  3. 根據請求項1之方法,其中決定該顯示表面的該姿態包括決定該顯示表面的至少一個特徵的一變形模型。
  4. 根據請求項3之方法,亦包括基於該顯示表面的該至少一個特徵的該變形模型來決定該顯示表面的至少一部分的一變形模型。
  5. 根據請求項4之方法,其中相對於該顯示表面顯示該媒體內容包括相對於該顯示表面的該變形模型顯示該媒體內容。
  6. 根據請求項3之方法,其中該顯示表面的該至少一個特徵包括一圖書的一頁面的一邊緣。
  7. 根據請求項3之方法,其中該顯示表面的該至少一個特徵包括印刷在一圖書的一頁面上的複數個本文字元。
  8. 根據請求項3之方法,其中決定該顯示表面的該特徵的該變形模型包括以下步驟: 決定該顯示表面的該特徵的複數個圖元位置;及 決定對該顯示表面的該特徵的該複數個圖元位置的一曲線擬合。
  9. 根據請求項8之方法,其中決定該曲線擬合包括使該曲線擬合與該複數個圖元位置之間的一均方誤差最小化。
  10. 根據請求項8之方法,其中該曲線擬合包括一多項式曲線擬合。
  11. 根據請求項1之方法,亦包括以下步驟: 決定該擴展現實設備與該顯示表面之間的一相對姿態變化;及 由該擴展現實設備基於所決定的相對姿態變化以相對於該顯示表面的一更新的方向來顯示該媒體內容。
  12. 根據請求項11之方法,其中該相對姿態變化包括該擴展現實設備在六個自由度中的至少一者中的一姿態變化。
  13. 根據請求項12之方法,其中該相對姿態變化至少部分地基於從一慣性量測單元獲得的一輸入來決定。
  14. 根據請求項1之方法,亦包括以下步驟: 基於該顯示表面的一頁面的一邊緣的一位置來決定用於相對於該顯示表面顯示該媒體內容的一位置和一方向。
  15. 根據請求項1之方法,亦包括以下步驟: 基於該顯示表面的一或多個特徵來決定要在該顯示表面上顯示的該媒體內容的一部分。
  16. 一種用於顯示媒體內容的裝置,包括: 一記憶體;及 一或多個處理器,該一或多個處理器耦合到該記憶體並且被配置為: 由一擴展現實設備接收對在一顯示表面上顯示媒體內容的一請求; 決定該顯示表面的一姿態和該擴展現實設備的一姿態;及 基於該顯示表面的該姿態和該擴展現實設備的該姿態,由該擴展現實設備相對於該顯示表面顯示該媒體內容。
  17. 根據請求項16之裝置,其中該顯示表面包括一圖書的一頁面的至少一部分。
  18. 根據請求項16之裝置,其中為了決定該顯示表面的該姿態,該一或多個處理器被配置為決定該顯示表面的至少一個特徵的一變形模型。
  19. 根據請求項18之裝置,其中該一或多個處理器被配置為基於該顯示表面的該至少一個特徵的該變形模型來決定該顯示表面的至少一部分的一變形模型。
  20. 根據請求項19之裝置,其中為了相對於該顯示表面顯示該媒體內容,該一或多個處理器被配置為相對於該顯示表面的該變形模型顯示該媒體內容。
  21. 根據請求項18之裝置,其中該顯示表面的該至少一個特徵包括一圖書的一頁面的一邊緣。
  22. 根據請求項18之裝置,其中該顯示表面的該至少一個特徵包括印刷在一圖書的一頁面上的複數個本文字元。
  23. 根據請求項18之裝置,其中該一或多個處理器被配置為: 決定該顯示表面的該特徵的複數個圖元位置;及 決定對該顯示表面的該特徵的該複數個圖元位置的一曲線擬合。
  24. 根據請求項23之裝置,其中為了決定該曲線擬合,該一或多個處理器被配置為使該曲線擬合與該複數個圖元位置之間的一均方誤差最小化。
  25. 根據請求項23之裝置,其中該曲線擬合包括一多項式曲線擬合。
  26. 根據請求項16之裝置,其中該一或多個處理器被配置為: 決定該擴展現實設備與該顯示表面之間的一相對姿態變化;及 由該擴展現實設備基於所決定的相對姿態變化以相對於該顯示表面的一更新的方向來顯示該媒體內容。
  27. 根據請求項26之裝置,其中該相對姿態變化包括該擴展現實設備在六個自由度中的至少一者中的一姿態變化。
  28. 根據請求項27之裝置,其中該相對姿態變化至少部分地基於從一慣性量測單元獲得的一輸入來決定。
  29. 根據請求項16之裝置,其中該一或多個處理器被配置為: 基於該顯示表面的一頁面的一邊緣的一位置來決定用於相對於該顯示表面顯示該媒體內容的一位置和一方向。
  30. 根據請求項16之裝置,其中該一或多個處理器被配置為: 基於該顯示表面的一或多個特徵來決定要在該顯示表面上顯示的該媒體內容的一部分。
TW111130220A 2021-09-13 2022-08-11 在實體表面上顯示數位媒體內容 TW202311815A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/473,691 2021-09-13
US17/473,691 US20230082420A1 (en) 2021-09-13 2021-09-13 Display of digital media content on physical surface

Publications (1)

Publication Number Publication Date
TW202311815A true TW202311815A (zh) 2023-03-16

Family

ID=83192088

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111130220A TW202311815A (zh) 2021-09-13 2022-08-11 在實體表面上顯示數位媒體內容

Country Status (5)

Country Link
US (1) US20230082420A1 (zh)
EP (1) EP4402556A1 (zh)
CN (1) CN117897682A (zh)
TW (1) TW202311815A (zh)
WO (1) WO2023039327A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230349693A1 (en) * 2009-09-03 2023-11-02 Electronic Scripting Products, Inc. System and method for generating input data from pose estimates of a manipulated object by using light data and relative motion data
WO2024019899A1 (en) * 2022-07-18 2024-01-25 Nant Holdings Ip, Llc Virtual production based on display assembly pose and pose error correction
WO2026006752A1 (en) * 2024-06-28 2026-01-02 Magic Leap, Inc. Conditional, probabilistic generation of 3d virtual environment based on incomplete information available to an extended reality device

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5769392B2 (ja) * 2010-08-26 2015-08-26 キヤノン株式会社 情報処理装置およびその方法
US11288472B2 (en) * 2011-08-30 2022-03-29 Digimarc Corporation Cart-based shopping arrangements employing probabilistic item identification
US9367770B2 (en) * 2011-08-30 2016-06-14 Digimarc Corporation Methods and arrangements for identifying objects
US10474858B2 (en) * 2011-08-30 2019-11-12 Digimarc Corporation Methods of identifying barcoded items by evaluating multiple identification hypotheses, based on data from sensors including inventory sensors and ceiling-mounted cameras
US9129277B2 (en) * 2011-08-30 2015-09-08 Digimarc Corporation Methods and arrangements for identifying objects
US11074495B2 (en) * 2013-02-28 2021-07-27 Z Advanced Computing, Inc. (Zac) System and method for extremely efficient image and pattern recognition and artificial intelligence platform
US11195057B2 (en) * 2014-03-18 2021-12-07 Z Advanced Computing, Inc. System and method for extremely efficient image and pattern recognition and artificial intelligence platform
US8873813B2 (en) * 2012-09-17 2014-10-28 Z Advanced Computing, Inc. Application of Z-webs and Z-factors to analytics, search engine, learning, recognition, natural language, and other utilities
US11914674B2 (en) * 2011-09-24 2024-02-27 Z Advanced Computing, Inc. System and method for extremely efficient image and pattern recognition and artificial intelligence platform
US8638989B2 (en) * 2012-01-17 2014-01-28 Leap Motion, Inc. Systems and methods for capturing motion in three-dimensional space
US9224060B1 (en) * 2013-09-17 2015-12-29 Amazon Technologies, Inc. Object tracking using depth information
US20150310601A1 (en) * 2014-03-07 2015-10-29 Digimarc Corporation Methods and arrangements for identifying objects
US10203762B2 (en) * 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
WO2015144209A1 (en) * 2014-03-25 2015-10-01 Metaio Gmbh Method and system for representing a virtual object in a view of a real environment
US10852838B2 (en) * 2014-06-14 2020-12-01 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US10845463B2 (en) * 2015-07-17 2020-11-24 Origin Wireless, Inc. Method, apparatus, and system for wireless object scanning
IL293873B2 (en) * 2015-10-20 2024-03-01 Magic Leap Inc Selecting virtual objects in a three-dimensional space
JP2017146938A (ja) * 2016-02-19 2017-08-24 富士通株式会社 書籍検出装置、書籍検出方法及び書籍検出用コンピュータプログラム
US11927965B2 (en) * 2016-02-29 2024-03-12 AI Incorporated Obstacle recognition method for autonomous robots
US10839573B2 (en) * 2016-03-22 2020-11-17 Adobe Inc. Apparatus, systems, and methods for integrating digital media content into other digital media content
US11348269B1 (en) * 2017-07-27 2022-05-31 AI Incorporated Method and apparatus for combining data to construct a floor plan
US10810780B2 (en) * 2017-07-28 2020-10-20 Baobab Studios Inc. Systems and methods for real-time complex character animations and interactivity
EP4354207A3 (en) * 2018-01-17 2024-07-17 Magic Leap, Inc. Eye center of rotation determination, depth plane selection, and render camera positioning in display systems
US20220198814A1 (en) * 2019-08-14 2022-06-23 Hewlett-Packard Development Company, L.P. Image dewarping with curved document boundaries

Also Published As

Publication number Publication date
EP4402556A1 (en) 2024-07-24
CN117897682A (zh) 2024-04-16
US20230082420A1 (en) 2023-03-16
WO2023039327A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
US12399568B2 (en) Dynamic configuration of user interface layouts and inputs for extended reality systems
US20240386680A1 (en) Virtual content generation
US11194388B2 (en) Visibility improvement method based on eye tracking, machine-readable storage medium and electronic device
TWI654539B (zh) 虛擬實境交互方法、裝置與系統
EP2956843B1 (en) Human-body-gesture-based region and volume selection for hmd
EP3316080B1 (en) Virtual reality interaction method, apparatus and system
KR20240155971A (ko) 실시간 3d 신체 모션 캡처로부터의 사이드-바이-사이드 캐릭터 애니메이션
US12236631B2 (en) Keypoint detection and feature descriptor computation
EP2560145A2 (en) Methods and systems for enabling the creation of augmented reality content
TW202311815A (zh) 在實體表面上顯示數位媒體內容
US20250252593A1 (en) Multi-sampling poses during reprojection
US12382008B2 (en) Head mounted display (HMD) device calibration based on hinge motion
US20250156063A1 (en) Mapping touch and gesture controls to increase control options
US12482193B2 (en) Independent scene movement based on mask layers
KR102911463B1 (ko) 타겟 스코어 제공방법 및 시스템
US20240428608A1 (en) Ambiguity resolution for object selection and faster application loading for cluttered scenarios
US20240386532A1 (en) Jitter estimation using physical constraints
US20250131660A1 (en) Displaying information based on gaze
US20260003425A1 (en) Hand tracking and power optimization for extended reality (xr) systems
WO2025085323A1 (en) Displaying information based on gaze
HK40044513B (zh) 视频数据处理方法、装置、计算机设备及存储介质