本申請要求2014年3月31日遞交的發(fā)明名稱為“支持增強現(xiàn)實的交互和協(xié)作的系統(tǒng)和方法(SYSTEM AND METHOD FOR AUGMENTED REALITY-ENABLED INTERACTIONS AND COLLABORATION)”的第14/231,375號美國非臨時專利申請的在先申請優(yōu)先權(quán),該在先申請的全部內(nèi)容以引入的方式并入本文本中。
背景技術(shù):
通過同時雙向傳輸采用遠程協(xié)作技術(shù),諸如視頻會議軟件,使遠程位置上的多個用戶一起參加會議。然而,執(zhí)行這類任務(wù)的許多傳統(tǒng)系統(tǒng)無法建立參與者在其中能夠享受相同物理工作區(qū)內(nèi)的共享存在感的通信環(huán)境。正因如此,遠程用戶之間通過通信網(wǎng)絡(luò)執(zhí)行協(xié)作和交互可能會成為一項艱巨的任務(wù)。因此,需要一種方案,使通過通信網(wǎng)絡(luò)執(zhí)行協(xié)作會話的參與者具有相互共享相同物理工作區(qū)的感覺,同時在此等事件期間還能提高用戶體驗。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種用于在遠程終端用戶之間執(zhí)行網(wǎng)上協(xié)作和交互的新穎系統(tǒng)和/或方法。本發(fā)明實施例產(chǎn)生的感知效果是:每個用戶共享相同的物理工作區(qū),而每個人實際上位于不同的物理環(huán)境中。以這種方式,本發(fā)明實施例允許用戶之間的更加無縫交互,同時減輕他們使用公共計算機外圍設(shè)備,諸如鼠標(biāo)、鍵盤和其它常用于執(zhí)行這類交互的硬件的負擔(dān)。
附圖說明
附圖包含在并且構(gòu)成本說明書的一部分,其中相同的數(shù)字描繪相同的元件,附圖說明本發(fā)明的實施例,并且與描述內(nèi)容一起用于解釋本發(fā)明的原理。
圖1A描繪了根據(jù)本發(fā)明實施例的在用于執(zhí)行支持增強現(xiàn)實的交互和協(xié)作的客戶端設(shè)備上實施的示例性硬件配置。
圖1B描繪了根據(jù)本發(fā)明實施例的駐留在由用于執(zhí)行支持增強現(xiàn)實的交互和協(xié)作的客戶端設(shè)備執(zhí)行的存儲器中的示例性部件。
圖2描繪了根據(jù)本發(fā)明實施例的用于在執(zhí)行支持增強現(xiàn)實的交互和協(xié)作期間從本地環(huán)境實時捕獲真實信息的示例性本地媒體數(shù)據(jù)計算模塊。
圖3描繪了根據(jù)本發(fā)明實施例的用于在執(zhí)行支持增強現(xiàn)實的交互和協(xié)作期間處理通過通信網(wǎng)絡(luò)從遠程客戶端設(shè)備接收的數(shù)據(jù)的示例性遠程媒體數(shù)據(jù)計算模塊。
圖4描繪了根據(jù)本發(fā)明實施例的用于生成虛擬工作區(qū)顯示以執(zhí)行支持增強現(xiàn)實的交互和協(xié)作的示例性基于對象的虛擬空間構(gòu)成模塊。
圖5描繪了根據(jù)本發(fā)明實施例的用于執(zhí)行支持增強現(xiàn)實的交互和協(xié)作的示例性多客戶端實時通信。
圖6A為根據(jù)本發(fā)明實施例的一種用于在通過通信網(wǎng)絡(luò)執(zhí)行的協(xié)作會話期間生成本地媒體數(shù)據(jù)的示例性計算機實施方法的流程圖。
圖6B為根據(jù)本發(fā)明實施例的一種生成構(gòu)造數(shù)據(jù)以創(chuàng)建用于通過通信網(wǎng)絡(luò)執(zhí)行的協(xié)作會話的虛擬工作區(qū)顯示的示例性計算機實施方法的流程圖。
圖6C為根據(jù)本發(fā)明實施例的一種在通過通信網(wǎng)絡(luò)執(zhí)行的協(xié)作會話期間同時呈現(xiàn)虛擬工作區(qū)顯示和檢測手勢輸入的示例性計算機實施方法的流程圖。
圖7A描繪了根據(jù)本發(fā)明實施例的用于執(zhí)行支持增強現(xiàn)實的交互和協(xié)作的示例性用例。
圖7B描繪了根據(jù)本發(fā)明實施例的用于執(zhí)行支持增強現(xiàn)實的交互和協(xié)作的另一示例性用例。
圖7C描繪了根據(jù)本發(fā)明實施例的用于執(zhí)行支持增強現(xiàn)實的交互和協(xié)作的再一示例性用例。
具體實施方式
現(xiàn)將詳細地對本發(fā)明的各種實施例、附圖示出的示例做出參考。雖然會結(jié)合這些實施例進行描述,但可以理解的是它們并不用于將本發(fā)明限制于這些實施例。相反,本發(fā)明公開旨在覆蓋可以包括在由所附權(quán)利要求書限定的本發(fā)明公開的精神和范圍內(nèi)的替代物、修改和等同物。另外,在以下本發(fā)明的詳細描述中,闡述了許多特定細節(jié)以便提供對本發(fā)明的透徹理解。然而,可以理解的是,實際應(yīng)用中,可以不包括本發(fā)明的這些特定細節(jié)。在其它實例中沒有詳細描述眾所周知的方法、流程、部件和電路,以免對本發(fā)明的各方面造成不必要地模糊。
雖然結(jié)合優(yōu)選實施例描述該請求保護的主題,但應(yīng)該理解它們不是旨在將請求保護的主題限制于這些實施例。相反,請求保護的主題旨在覆蓋可以包括在由附加的權(quán)利要求書的精神和范圍內(nèi)的替代物、修改和等同物。
此外,在本請求保護的主題的實施例的以下具體描述中,闡述許多具體細節(jié)以便提供對本請求保護的主題的透徹理解。然而,所屬領(lǐng)域的普通技術(shù)人員將認識到,可以在沒有這些具體細節(jié)的情況下實踐本請求保護的主題。在其它實例中沒有詳細描述眾所周知的方法、流程、部件和電路,以免對本請求保護的主題的各方面造成不必要地模糊。
該具體實施方式的一些部分按照程序、步驟、邏輯塊、處理、以及對計算機存儲器中的數(shù)據(jù)位的操作的其它符號表示來呈現(xiàn)。這些描述和表示是數(shù)據(jù)處理領(lǐng)域技術(shù)人員向該領(lǐng)域其他技術(shù)人員有效傳達工作實質(zhì)內(nèi)容使用的方法。將程序、計算機產(chǎn)生的步驟、邏輯塊、過程等一般設(shè)想為首尾一致的步驟或指令序列,以產(chǎn)生期望的結(jié)果。這些步驟需要物理量的物理操控。通常,并不是完全必須的,這些量以電信號或磁信號的形式存在,可以被存儲、轉(zhuǎn)移、合并和比較,否則將在電腦系統(tǒng)中被操控。有時候這種方法被證明是行之有效的,主要出于常見用法的考慮,將這些信號作為比特位、數(shù)值、元素、符號、字符、術(shù)語、或數(shù)字等等。
然而,應(yīng)牢記,所有這些和類似術(shù)語與適當(dāng)物理量相關(guān)聯(lián),且僅為應(yīng)用于這些量的方便標(biāo)簽。除非確切地陳述為從以下論述顯而易見,否則應(yīng)了解,在本請求保護的主題中,利用例如“捕獲”、“接收”、“渲染”等術(shù)語的論述是指將表示為計算機系統(tǒng)的寄存器和存儲器內(nèi)的物理(電子)量的數(shù)據(jù)操控和變換為類似地表示為計算機系統(tǒng)存儲器或寄存器或其它此類信息儲存、傳輸或顯示設(shè)備內(nèi)的物理量的其它數(shù)據(jù)的、包括內(nèi)嵌系統(tǒng)的計算機系統(tǒng)或集成電路或類似電子計算設(shè)備的動作和進程。
因此,本發(fā)明實施例提供了一種用于執(zhí)行支持增強現(xiàn)實的交互和協(xié)作的系統(tǒng)和/或方法。
用于執(zhí)行支持增強現(xiàn)實的交互和協(xié)作的示例性客戶端設(shè)備
圖1A描繪了本發(fā)明各實施例使用的示例性硬件配置。盡管圖1A公開了具體部件,但是應(yīng)了解,此類部件是示例性的。也就是,本發(fā)明實施例非常適合擁有各種其它硬件部件或圖1A列舉的部件的變體。應(yīng)了解,圖1A的硬件部件可以與除那些展示的部件之外的其它部件一起操作,并且不需要圖1A所描述的所有硬件部件來實現(xiàn)本發(fā)明的目標(biāo)。
客戶端設(shè)備101可以實施為能夠通過通信網(wǎng)絡(luò)與其它遠程計算機系統(tǒng)通信的電子設(shè)備??蛻舳嗽O(shè)備101可以實施為,例如數(shù)字攝像機、手機攝像機、便攜式電子設(shè)備(例如音頻設(shè)備、娛樂設(shè)備、手持設(shè)備)、網(wǎng)絡(luò)攝像機、視頻設(shè)備(例如可攜式攝像機)等等??蛻舳嗽O(shè)備101的部件可以包括如下相應(yīng)功能:確定和配置相應(yīng)光屬性和設(shè)置,包括但不限于,對焦、曝光、上色或白平衡,以及興趣領(lǐng)域(例如,通過對焦馬達、光圈控制等)。此外,客戶端設(shè)備101的部件可以通過內(nèi)部通信總線105耦合以及接收/傳輸圖像數(shù)據(jù)以通過這種通信總線進一步處理。
在其最基本的硬件配置中,客戶端設(shè)備101可以包括傳感器100、計算機存儲介質(zhì)135、可選圖形系統(tǒng)141、復(fù)用器260、處理器110和可選顯示設(shè)備111。
傳感器100可以包括多個傳感器,它們的排列方式使得從客戶端設(shè)備101外部的本地化環(huán)境中實時捕獲不同形式的真實信息??蛇x圖形系統(tǒng)141可以包括圖形處理器(未圖示),其可用于處理來自駐留在計算機可讀存儲介質(zhì)135中的應(yīng)用的指令以及通過內(nèi)部總線105與處理器110傳送數(shù)據(jù)??梢酝ㄟ^幀緩存以將數(shù)據(jù)呈現(xiàn)在可選顯示設(shè)備111上的方式來傳送數(shù)據(jù)。
以這種方式,可選圖形系統(tǒng)141可以根據(jù)呈現(xiàn)命令生成輸出圖像的像素數(shù)據(jù)以及可配置為由多個并行執(zhí)行的應(yīng)用并行使用的多個虛擬圖形處理器。復(fù)用器260包括如下功能:在本地和通過通信網(wǎng)絡(luò)傳輸數(shù)據(jù)。因此,復(fù)用器260可以復(fù)用從客戶端設(shè)備101傳送來的外呼數(shù)據(jù)以及解復(fù)用由客戶端設(shè)備101接收的入呼數(shù)據(jù)。根據(jù)客戶端設(shè)備的確切配置和類型,計算機可讀存儲介質(zhì)135可以是易失性的(諸如RAM)、非易失性的(諸如ROM、閃存等)或兩者的組合。計算機可讀存儲介質(zhì)135的各部分,在被執(zhí)行時,有助于存儲器操作或線程組請求的有效執(zhí)行。
圖1B描繪了本發(fā)明各實施例使用的示例性計算機存儲介質(zhì)部件。盡管圖1B公開了具體部件,但是應(yīng)了解,此類計算機存儲介質(zhì)部件是示例性的。也就是,本發(fā)明實施例非常適合擁有各種其它部件或圖1B列舉的計算機存儲介質(zhì)部件的變體。應(yīng)了解,圖1B的部件可以與除那些展示的部件之外的其它部件一起操作,并且不需要圖1B所描述的所有計算機存儲介質(zhì)部件來實現(xiàn)本發(fā)明的目標(biāo)。
如圖1B所描繪,計算機可讀存儲介質(zhì)135可以包括操作系統(tǒng)(例如操作系統(tǒng)112)。操作系統(tǒng)112可以在初始化客戶端設(shè)備101時加載到處理器110內(nèi)。此外,在處理器110執(zhí)行之后,操作系統(tǒng)112可以用于將編程接口提供給客戶端設(shè)備101。而且,如圖1B所示,計算機可讀存儲介質(zhì)135可以包括本地媒體數(shù)據(jù)計算模塊200、遠程媒體數(shù)據(jù)計算模塊300和基于對象的虛擬空間構(gòu)成模塊400,它們可以為處理器110提供指令以通過內(nèi)部總線105處理。因此,現(xiàn)在將更詳細地論述本地媒體數(shù)據(jù)計算模塊200、遠程媒體數(shù)據(jù)計算模塊300和基于對象的虛擬空間構(gòu)成模塊400的功能。
圖2更加詳細地描述了根據(jù)本發(fā)明實施例的本地媒體數(shù)據(jù)計算模塊200的功能。如圖2所示,傳感器100包括一組傳感器(例如,S1、S2、S3、S4等),它們的排列方式使得從客戶端設(shè)備101外部的本地化環(huán)境中實時捕獲不同形式的真實信息。因此,傳感器100內(nèi)的不同傳感器可以捕獲各種形式的外部數(shù)據(jù),諸如視頻(例如RGB數(shù)據(jù))、深度信息、紅外反射數(shù)據(jù)、熱阻數(shù)據(jù)等。例如,傳感器100在時間ti收集的一組示例性數(shù)據(jù)可描繪為:
(X,Y,R,G,B),紋理(圖像)數(shù)據(jù);
(X',Y',Z'),深度數(shù)據(jù);
(X”,Y”,IR”),紅外數(shù)據(jù);
(X”',Y”',T”'),熱阻數(shù)據(jù)
其中X和Y表示空間坐標(biāo),主要標(biāo)記表示不同的坐標(biāo)系統(tǒng);R、G和B值分別表示相應(yīng)顏色通道值(例如,分別為紅、綠和藍通道);Z表示深度值;IR表示紅外線值;T表示熱阻數(shù)據(jù)。以這種方式,客戶端設(shè)備101可以在任何給定時間內(nèi)以數(shù)據(jù)圖的形式從傳感器100內(nèi)的不同傳感器獲取一組讀數(shù)。
傳感器數(shù)據(jù)增強模塊210包括如下功能:在傳遞到客戶端設(shè)備101內(nèi)的其它模塊(例如上下文提取220、興趣對象提取230、用戶配置檢測240等)之前預(yù)處理通過傳感器100接收的數(shù)據(jù)。例如,傳感器100內(nèi)的各個不同傳感器獲得的原始數(shù)據(jù)可能不一定對應(yīng)相同的空間坐標(biāo)系。因此,傳感器數(shù)據(jù)增強模塊210可以執(zhí)行對齊過程,使得傳感器100內(nèi)的傳感器獲得的每個測量可以統(tǒng)一到一個坐標(biāo)系。以這種方式,從不同傳感器中獲取的信息可以由客戶端設(shè)備101內(nèi)的其它模塊組合并統(tǒng)一分析。
例如,在對齊過程期間,傳感器數(shù)據(jù)增強模塊210可以將針對每個傳感器數(shù)據(jù)的適當(dāng)變換矩陣校準(zhǔn)為參考坐標(biāo)系。在一個實例中,由傳感器數(shù)據(jù)增強模塊210創(chuàng)建的參考坐標(biāo)系可以為傳感器100中的任一傳感器(例如視頻傳感器)的內(nèi)在坐標(biāo)系或與任一傳感器的相應(yīng)坐標(biāo)系不關(guān)聯(lián)的新坐標(biāo)系。例如,施加到由獲取顏色的傳感器獲取到的原始傳感器數(shù)據(jù)的一組合成變換可描繪為:
(X*,Y*,R*,G*,B*)=Trgb(X,Y,R,G,B),紋理(圖像)數(shù)據(jù);
(X*,Y*,Z*)=Tz(X',Y',Z'),深度數(shù)據(jù);
(X*,Y*,(IR)*)=Tir(X”,Y”,IR”),紅外數(shù)據(jù);
(X*,Y*,T*)=Tt(X”',Y”',T”'),熱阻數(shù)據(jù)
其中,注冊過程先前已經(jīng)為傳感器100中的每個傳感器確定了變換Trgb、Tz、Tir和Tt。變換T可以為仿射變換(即,T(v)=Av+b,其中v為待變換的輸入向量,A為矩陣,b為另一向量)、線性變換或非線性變換。在執(zhí)行對齊過程之后,參考坐標(biāo)系中的每個點,描述為(X*,Y*),應(yīng)該具有來自所有輸入傳感器的關(guān)聯(lián)值。
在某些場景中,從傳感器100獲得的數(shù)據(jù)可以很嘈雜。另外,數(shù)據(jù)圖可以包含未知或未定義值的點,這是因為特定傳感器不完善或者是因為從空間的不同角度重對齊數(shù)據(jù)的結(jié)果。因此,傳感器數(shù)據(jù)增強模塊210還可以對混有噪聲的信號值進行校正以及矯正根本沒有定義的信號值。因此,傳感器增強模塊210的輸出數(shù)據(jù)可以以更新的測量圖(例如表示為圖2的(x,y,z,r,g,b,ir,t……))為形式,輸出數(shù)據(jù)隨后可以傳遞給客戶端設(shè)備101內(nèi)的其它部件以供進一步處理。
興趣對象提取模塊230包括如下功能:基于在當(dāng)前協(xié)作會話(例如電話會議、智真等)期間通過傳感器數(shù)據(jù)增加模塊210接收的數(shù)據(jù)劃分本地用戶和/或任何其它興趣對象(例如本地用戶想要展示給遠程用戶的各種物理對象、協(xié)作相關(guān)的物理文檔等)。興趣對象提取模塊230可以通過使用經(jīng)由傳感器100收集的外部數(shù)據(jù)(例如RGB數(shù)據(jù)、紅外線數(shù)據(jù)、熱阻數(shù)據(jù))或者通過組合不同源并聯(lián)合處理它們來檢測興趣對象。以這種方式,興趣對象提取模塊230可以應(yīng)用不同的計算機實施的RGB分割過程,諸如分水嶺、均值偏移等,來檢測用戶和/或?qū)ο?。如圖2所示,除了興趣對象數(shù)據(jù)圖(m)之外,由興趣對象提取模塊230產(chǎn)生的合成輸入(例如(x,y,z,r,g,b,m))可以包括深度數(shù)據(jù)(例如坐標(biāo)(x,y,z))和/或RGB圖數(shù)據(jù)(例如坐標(biāo)(r,g,b))。例如,關(guān)于RGB分割過程的更多信息和詳情可以參考發(fā)明人Jana Ehman于2013年8月23日遞交的發(fā)明名稱為“TEMPORALLY COHERENT SEGMENTATION OF RGBt VOLUMES WITH AID OF NOISY OR INCOMPLETE AUXILIARY DATA”的第61/869,574號美國臨時申請中找到,該申請的全部內(nèi)容以引入的方式并入本文中。該結(jié)果隨后可以轉(zhuǎn)發(fā)給復(fù)用器260,以及轉(zhuǎn)發(fā)給用戶配置檢測模塊240以供進一步處理。
上下文提取模塊220包括如下功能:從通過傳感器數(shù)據(jù)增強模塊210接收的數(shù)據(jù)在本地用戶各自的環(huán)境內(nèi)自動提取關(guān)于他們的高級信息。例如,上下文提取模塊220可以使用計算機實施的過程來分析從傳感器數(shù)據(jù)增強模塊210接收的關(guān)于本地用戶的體溫的數(shù)據(jù)和/或確定用戶的當(dāng)前情緒(例如憤怒、厭煩等)。因此,基于這種數(shù)據(jù),上下文提取模塊220可以根據(jù)推斷地確定用戶是否主動參與到當(dāng)前協(xié)作會話內(nèi)。
在另一示例中,上下文提取模塊220可以分析本地用戶的臉部表情、姿勢和動作以確定用戶參與度。上下文提取模塊220進行的確定可以作為上下文數(shù)據(jù)發(fā)送給復(fù)用器260,復(fù)用器進一步在本地和通過通信網(wǎng)絡(luò)傳輸數(shù)據(jù)。以這種方式,上下文數(shù)據(jù)可提供給當(dāng)前協(xié)作會話的遠程參與者或者它可以影響數(shù)據(jù)在本地呈現(xiàn)給本地用戶的方式。
用戶配置檢測模塊240包括如下功能:使用由興趣對象提取模塊230處理的數(shù)據(jù)確定由檢測到的用戶和/或?qū)ο髨?zhí)行的能夠識別的手勢的存在。例如,在一項實施例中,用戶配置檢測模塊240可以檢測和提取與檢測到的用戶的手關(guān)聯(lián)的點子集。因此,用戶配置檢測模塊240然后還可以分類和標(biāo)記手的各點為手指或手掌??梢曰谂渲米帜副?50已知的可用配置檢測和計算手特征,諸如手部姿勢、手指姿勢、手之間的相關(guān)運動等。另外,用戶配置檢測模塊240可以檢測空中手勢,諸如“揮手”或“向右掠過”。以這種方式,用戶配置檢測模塊240可以使用配置數(shù)據(jù)庫以確定如何將檢測到的配置(手部姿勢、手指姿勢、運動等)轉(zhuǎn)換為空中手勢。所提取的手部特征以及,如果檢測到,關(guān)于空中手勢的信息隨后可發(fā)送給基于對象的虛擬空間構(gòu)成模塊400(例如,參見圖4)以供進一步處理。
圖3更詳細地描述了根據(jù)本發(fā)明實施例的遠程媒體數(shù)據(jù)計算模塊300的功能。遠程媒體數(shù)據(jù)計算模塊300包括如下功能:從遠程客戶端設(shè)備對端接收復(fù)用數(shù)據(jù)(例如遠程客戶端設(shè)備以類似于客戶端設(shè)備101的方式生成的本地媒體數(shù)據(jù))以及通過解復(fù)用器330解復(fù)用入呼數(shù)據(jù)。數(shù)據(jù)可以解復(fù)用為遠程協(xié)作參數(shù)(其包括遠程上下文數(shù)據(jù))和遠程紋理數(shù)據(jù),其包括來自遠程對端的物理環(huán)境的深度(x,y,z)、紋理(r,g,b)和/或興趣對象(m)數(shù)據(jù)。因此,這種信息隨后可以分配給客戶端設(shè)備101內(nèi)的不同部件以供進一步處理。
錯誤消除模塊320包括如下功能:從解復(fù)用器330接收遠程紋理數(shù)據(jù)并最小化分割誤差所帶來的顯示問題以創(chuàng)建一個更美觀呈現(xiàn)的遠程用戶環(huán)境。為了增加主體在虛擬空間呈現(xiàn)的吸引力以及隱藏分割錯誤,諸如嘈雜邊界、丟失區(qū)域等,分割用戶的混合和/或用戶的背景可以通過包含輪廓-影線紋理的計算機實施的過程來完成。關(guān)于分割過程的更多信息和詳情可以參照發(fā)明人Onur G.Guleryuz和Antonius Kalker于2012年12月31遞交的發(fā)明名稱為“VISUAL CONDITIONING FOR AUGMENTED-REALITY-ASSISTED VIDEO CONFERENCING”的第US 2013/0265382A1號美國專利申請找到,該申請的全部內(nèi)容以引入的方式并入本文中。這些過程可以環(huán)繞用戶邊界并減少分割不完善所帶來的顯示問題。
錯誤消除模塊320還可以基于給定主體的分割邊界的潛在估計誤差確定需要掩蔽的遠程用戶環(huán)境內(nèi)的區(qū)域。另外,錯誤消除模塊320可以執(zhí)行各種優(yōu)化過程,其可包括但不限于調(diào)整用戶光照、改變對比度、執(zhí)行色彩校正等。因此,可以將精確的遠程紋理數(shù)據(jù)轉(zhuǎn)發(fā)給基于對象的虛擬空間構(gòu)成模塊400和/或虛擬空間生成模塊310以供進一步處理。
虛擬空間生成模塊310包括如下功能:為當(dāng)前協(xié)作會話配置虛擬工作區(qū)的顯示效果。例如,基于一組預(yù)定系統(tǒng)設(shè)置,虛擬空間生成模塊310可以選擇房間大小或房間類型(例如會議室、演講廳等)并將虛擬家具放入和/或放置在所選的房間內(nèi)。以這種方式,可以呈現(xiàn)虛擬椅子、書桌、飯桌等,帶來的效果是每個參與者在會議過程中都坐在相同的物理環(huán)境內(nèi)。此外,在這種虛擬環(huán)境內(nèi),協(xié)作會議所必需的其它相關(guān)對象,諸如黑板、幻燈片、演示屏等也可以包含在虛擬工作區(qū)內(nèi)。
另外,虛擬空間生成模塊310可以使用戶以在當(dāng)前協(xié)作會話期間隱藏他們各自本地物理環(huán)境內(nèi)的差異的方式呈現(xiàn)。此外,虛擬空間生成模塊310可以調(diào)整虛擬工作區(qū)的顯示效果,使得來自各種不同遠程環(huán)境的用戶可以更美觀的方式呈現(xiàn)。例如,出現(xiàn)的遠離他們各自攝像機的興趣主體可以嚴重少于那些更接近他們各自攝像機的主體。因此,虛擬空間生成模塊310可以通過利用關(guān)于參與協(xié)作會話的各個主體以及其它興趣對象的深度信息來調(diào)整主體的顯示效果。以這種方式,虛擬空間生成模塊310可以用于選擇一個比例來呈現(xiàn)用戶的顯示效果,使得他們可以根據(jù)預(yù)定布局符合度度量適合給定顯示器的尺寸。
此外,虛擬空間生成模塊310還可以確保虛擬工作區(qū)的色彩、照明、對比度等與每個用戶的顯示效果形成一個更美觀的組合。虛擬工作區(qū)內(nèi)的某些部件(例如墻壁、背景、家具等)的色彩可以根據(jù)預(yù)定色彩符合度度量來調(diào)整,該度量測量虛擬工作區(qū)的合成呈現(xiàn)以及協(xié)作會議的參與者的愉悅度。因此,布局符合度度量和色彩符合度度量的最大化可以導(dǎo)致多個不同的虛擬環(huán)境。相應(yīng)地,虛擬空間生成模塊310可以為任意數(shù)目的用戶生成用于給定任務(wù)/協(xié)作會話的最優(yōu)虛擬環(huán)境。相應(yīng)地,由虛擬空間生成模塊310生成的結(jié)果可以向基于對象的虛擬空間構(gòu)成模塊400傳送以供進一步處理。
圖4更詳細地描述了根據(jù)本發(fā)明實施例的基于對象的虛擬空間構(gòu)成模塊400的功能。協(xié)作應(yīng)用模塊410包括如下功能:從本地媒體數(shù)據(jù)計算模塊200接收本地媒體數(shù)據(jù),以及從遠程媒體數(shù)據(jù)計算模塊300接收任何遠程協(xié)作參數(shù)(例如手勢數(shù)據(jù)、類型狀態(tài)指示符數(shù)據(jù))?;谒邮盏臄?shù)據(jù),協(xié)作應(yīng)用模塊410可以執(zhí)行使用戶在當(dāng)前協(xié)作期間與其它參與者交互的各種功能。
例如,協(xié)作應(yīng)用模塊410包括如下功能:處理通過用戶配置檢測模塊240接收的手勢數(shù)據(jù)和/或確定本地用戶或遠程用戶在當(dāng)前協(xié)作會話期間是否希望操控呈現(xiàn)在他們各自顯示屏幕上的特定對象。以這種方式,協(xié)作應(yīng)用模塊410可以充當(dāng)手勢控制界面,其使協(xié)作會話的參與者能夠自由操控呈現(xiàn)在他們各自顯示屏幕上的數(shù)字媒體對象(例如幻燈片演示、文檔等),無需特定用戶保持對整個協(xié)作會話的完全控制。
例如,協(xié)作應(yīng)用模塊410可以用于執(zhí)行空中手勢檢測和/或控制協(xié)作對象。以這種方式,協(xié)作應(yīng)用模塊410可以轉(zhuǎn)換檢測到的手部手勢,諸如滑動(例如向右滑動手)并確定為了響應(yīng)檢測到的手勢而要執(zhí)行的對應(yīng)動作(例如為了響應(yīng)檢測手部滑動手勢而返回前一幻燈片)。在一項實施例中,協(xié)作應(yīng)用模塊410可以用于檢測由用戶通過觸摸敏感顯示板提供的觸摸輸入,其表示用戶想要操控當(dāng)前呈現(xiàn)在用戶的本地顯示屏上的對象。屏幕數(shù)據(jù)的操控可以涉及至少一個參與者和一個數(shù)據(jù)媒體對象。另外,協(xié)作應(yīng)用模塊410可以用于識別給定協(xié)作會話的權(quán)限集(例如哪個用戶是特定協(xié)作過程的所有者,允許哪個用戶操控某些媒體對象,等等)。因此,協(xié)作應(yīng)用模塊410可以使多個用戶能夠控制呈現(xiàn)在他們本地顯示屏上的相同對象和/或不同對象。
在本地圖形系統(tǒng)(例如可選圖形系統(tǒng)141)的協(xié)助下,基于對象的虛擬空間呈現(xiàn)模塊420可以使用從遠程客戶端設(shè)備接收的數(shù)據(jù)以及在本地生成的數(shù)據(jù)(例如演示數(shù)據(jù)、上下文數(shù)據(jù)、由協(xié)作應(yīng)用模塊410生成的數(shù)據(jù)等)呈現(xiàn)虛擬工作區(qū)顯示。以這種方式,基于對象的虛擬空間呈現(xiàn)模塊420可以將虛擬空間參數(shù)送入到本地圖形系統(tǒng)以向用戶呈現(xiàn)顯示(例如通過可選顯示設(shè)備111)。因此,由基于對象的虛擬空間呈現(xiàn)模塊420生成的合成虛擬工作區(qū)顯示使本地用戶能夠感知到與所有參與當(dāng)前協(xié)作會話的遠程用戶共享公共物理工作區(qū)的效果。
圖5描繪了根據(jù)本發(fā)明實施例的示例性多客戶端實時通信。圖5描繪了在協(xié)作會話的執(zhí)行期間通過通信網(wǎng)絡(luò)交換信息的兩個客戶端設(shè)備(例如客戶端設(shè)備101和101-1)。因此,如圖5所示,客戶端設(shè)備101和101-1都可以包括一組傳感器100,其能夠從它們各自的本地環(huán)境捕獲信息。以本文描述的方式,本地媒體數(shù)據(jù)計算模塊200和200-1可以分析它們各自的本地數(shù)據(jù),而遠程媒體數(shù)據(jù)計算模塊300和300-1分析從對方接收到的數(shù)據(jù)。相應(yīng)地,以本文描述的方式,基于對象的虛擬空間構(gòu)成模塊400和400-1可以組合它們各自的本地和遠程數(shù)據(jù)以在協(xié)作會話期間向它們各自的本地用戶進行最后演示。
用于執(zhí)行支持增強現(xiàn)實的交互和協(xié)作的示例性方法
圖6A為根據(jù)本發(fā)明實施例的一種用于在通過通信網(wǎng)絡(luò)執(zhí)行的協(xié)作會話期間生成本地媒體數(shù)據(jù)的示例性計算機實施方法的流程圖。
在步驟801處,在通過通信網(wǎng)絡(luò)與其它遠程客戶端設(shè)備的協(xié)作會話期間,本地客戶端設(shè)備使用耦合到該設(shè)備的一組傳感器從其本地化物理環(huán)境中主動捕獲外部數(shù)據(jù)。從傳感器收集的數(shù)據(jù)包括實時收集的不同形式的真實信息(例如RGB數(shù)據(jù)、深度信息、紅外線反射數(shù)據(jù)、熱阻數(shù)據(jù))。
在步驟802處,本地客戶端設(shè)備的興趣對象模塊執(zhí)行分割過程以基于步驟801期間收集的數(shù)據(jù)來檢測終端用戶和/或其它興趣對象。興趣對象模塊生成數(shù)據(jù)圖形式的合成輸出,其包括檢測到的終端用戶和/或?qū)ο蟮奈恢谩?/p>
在步驟803處,本地客戶端設(shè)備的上下文提取模塊提取與終端用戶關(guān)聯(lián)的高級數(shù)據(jù)(例如用戶情緒、體溫、面部表情、姿勢、動作)。
在步驟804處,本地客戶端設(shè)備的用戶配置模塊從興趣對象模塊接收數(shù)據(jù)圖信息以確定由檢測到的用戶或?qū)ο髨?zhí)行的能夠識別的手勢(例如手勢)的存在。
在步驟805處,步驟803和/或804期間產(chǎn)生的數(shù)據(jù)被打包為本地媒體數(shù)據(jù)并傳送給本地客戶端設(shè)備的基于對象的虛擬空間構(gòu)成模塊以供進一步處理。
在步驟806處,復(fù)用步驟805期間生成的本地媒體并將其傳送給參與通過通信網(wǎng)絡(luò)的當(dāng)前協(xié)作會話的其它遠程客戶端設(shè)備。
圖6B為根據(jù)本發(fā)明實施例的一種生成構(gòu)造數(shù)據(jù)以創(chuàng)建用于通過通信網(wǎng)絡(luò)執(zhí)行的協(xié)作會話的虛擬工作區(qū)顯示的示例性計算機實施方法的流程圖。
在步驟901處,在通過通信網(wǎng)絡(luò)與其它遠程客戶端設(shè)備的協(xié)作會話期間,本地客戶端設(shè)備的遠程媒體數(shù)據(jù)計算模塊接收和解復(fù)用從遠程客戶端設(shè)備接收的媒體數(shù)據(jù)。從遠程客戶端設(shè)備接收的媒體數(shù)據(jù)包括遠程客戶端設(shè)備實時收集的上下文數(shù)據(jù)、協(xié)作數(shù)據(jù)和/或傳感器數(shù)據(jù)(例如RGB數(shù)據(jù)、深度信息、紅外線反射、熱阻數(shù)據(jù))。
在步驟902處,本地客戶端設(shè)備的錯誤消除模塊對步驟901期間接收的數(shù)據(jù)(例如RGB數(shù)據(jù))執(zhí)行分割校正過程。
在步驟903處,使用步驟901和902期間接收的數(shù)據(jù),本地客戶端設(shè)備的虛擬空間生成模塊生成配置數(shù)據(jù)以為協(xié)作會話的參與者創(chuàng)建虛擬工作區(qū)顯示。該數(shù)據(jù)包括創(chuàng)建配備有虛擬家具和/或其它虛擬對象的虛擬房間的形態(tài)數(shù)據(jù)。另外,虛擬空間生成模塊以一致、統(tǒng)一地將每個遠程用戶呈現(xiàn)在本地客戶端設(shè)備上的方式調(diào)整和/或調(diào)節(jié)步驟902期間接收的RGB數(shù)據(jù)方式,而不論每個遠程用戶的當(dāng)前物理環(huán)境和/或與用戶攝像機的距離。
在步驟904處,向本地客戶端設(shè)備的基于對象的虛擬空間構(gòu)成模塊傳送虛擬空間生成模塊在步驟903期間生成的數(shù)據(jù)以供進一步處理。
圖6C為根據(jù)本發(fā)明實施例的一種在通過通信網(wǎng)絡(luò)執(zhí)行的協(xié)作會話期間同時呈現(xiàn)虛擬工作區(qū)顯示和檢測手勢輸入的示例性計算機實施方法的流程圖。
在步驟1001處,本地客戶端設(shè)備的基于對象的虛擬空間構(gòu)成模塊接收步驟805期間生成的本地媒體數(shù)據(jù)和虛擬空間生成模塊在步驟904期間生成的數(shù)據(jù)以將計算機生成的虛擬工作區(qū)顯示呈現(xiàn)給參與協(xié)作會話的每個終端用戶。通過它們各自的本地圖形系統(tǒng),每個終端用戶的本地顯示設(shè)備的基于對象的虛擬空間呈現(xiàn)模塊以使每個會話的參與者感知相互共享公共物理工作區(qū)的效果的方式呈現(xiàn)虛擬工作區(qū)。
在步驟1002處,參與協(xié)作會話的每個客戶端設(shè)備的協(xié)作應(yīng)用模塊等待通過每個終端用戶各自的客戶端設(shè)備的用戶配置檢測模塊從它們各自的終端用戶接收手勢數(shù)據(jù)(例如空中手勢、觸摸輸入)。
在步驟1003處,協(xié)作應(yīng)用模塊從相應(yīng)用戶配置檢測模塊接收手勢數(shù)據(jù)并確定由用戶配置檢測模塊識別的手勢是否為終端用戶要操控當(dāng)前呈現(xiàn)在每個參與者的本地顯示屏上的對象的命令。
在步驟1004處,協(xié)作應(yīng)用模塊對步驟1003期間接收的手勢數(shù)據(jù)是否表示用戶表達想要操控當(dāng)前呈現(xiàn)在其屏幕上的對象做出確定。如果協(xié)作應(yīng)用模塊確定手勢不是表示用戶表達想要操控當(dāng)前呈現(xiàn)在其屏幕上的對象,那么參與協(xié)作會話的每個客戶端設(shè)備的協(xié)作應(yīng)用模塊繼續(xù)等待手勢數(shù)據(jù),如步驟1002中詳細所述。如果協(xié)作應(yīng)用模塊確定手勢表示用戶表達想要操控當(dāng)前呈現(xiàn)在其屏幕上的對象,那么協(xié)作應(yīng)用使用戶能夠操控該對象,如步驟1005中詳細所述。
在步驟1005處,協(xié)作應(yīng)用模塊確定手勢表示用戶表達想要操控當(dāng)前呈現(xiàn)在其屏幕上的對象,因此,協(xié)作應(yīng)用使用戶能夠控制和操控該對象。用戶對該對象執(zhí)行的動作實時呈現(xiàn)在參與協(xié)作會話的所有用戶的顯示屏上。另外,系統(tǒng)繼續(xù)等待手勢數(shù)據(jù),如步驟1002詳細所述。
用于執(zhí)行支持增強現(xiàn)實的交互和協(xié)作的示例性用例
圖7A描繪了根據(jù)本發(fā)明實施例的協(xié)作會話期間執(zhí)行的示例性幻燈片演示。圖7A同時示出了本發(fā)明實施例生成的虛擬化工作區(qū)顯示(例如虛擬化工作區(qū)顯示305)的本地用戶視圖和遠程用戶視圖以供幻燈片演示。如圖7A所示,使用類似于客戶端設(shè)備101的設(shè)備,主體601可以與使用類似的客戶端設(shè)備的其它遠程參與者一起參與通過通信網(wǎng)絡(luò)設(shè)備的協(xié)作會話。因此,本發(fā)明實施例可以以本文描述的方式編碼和傳輸它們各自的本地協(xié)作應(yīng)用數(shù)據(jù)給所有觀看該演示(例如在時間1至3期間)的遠程用戶的客戶端設(shè)備。例如,這種數(shù)據(jù)可以包括但不限于,演示幻燈片的空間定位、顯示比例數(shù)據(jù)、虛擬指針位置數(shù)據(jù)、控制狀態(tài)數(shù)據(jù)等。
圖7B和圖7C描述了根據(jù)本發(fā)明實施例執(zhí)行的智真會話。參考圖7B,主體602可以是與若干遠程用戶(例如通過客戶端設(shè)備101)通過通信網(wǎng)絡(luò)參與協(xié)作會話的用戶。如圖7B所示,主體602可以在物理位置603參與會話,該物理位置可以是與其它參與者物理上分離的酒店房間、辦公室等。
圖7A描繪了根據(jù)本發(fā)明實施例的在協(xié)作會話期間生成的示例性虛擬化工作區(qū)環(huán)境。如圖7C所示,本發(fā)明實施例以使協(xié)作會話中的每個參與者(包括主體602)感知相互共享公共物理工作區(qū)的效果的方式呈現(xiàn)虛擬化工作區(qū)顯示305-1、305-2和305-3。因此,虛擬化工作區(qū)顯示305-1、305-2和305-3包括可以配備有虛擬家具和/或其它虛擬化對象的背景或“虛擬房間”。另外,可以以一致、統(tǒng)一地呈現(xiàn)每個遠程用戶的方式調(diào)整和/或調(diào)節(jié)虛擬化工作區(qū)顯示305-1、305-2和305-3,而不論每個用戶的當(dāng)前物理環(huán)境和/或與用戶攝像機的距離。此外,本發(fā)明實施例允許用戶在共享虛擬工作區(qū)根據(jù)交互或協(xié)作類型建立媒體對象的布局。例如,用戶可以選擇2維共享會議空間,具有用于虛擬交互的簡單背景,或者3維共享會議空間,用于與媒體對象協(xié)作的虛擬交互。
結(jié)合大量具體的可隨實現(xiàn)方式變化而變化的細節(jié),實施例已在上述說明書中描述。因此,判斷何為本發(fā)明以及申請人旨在認為的本發(fā)明的唯一排他性指標(biāo)是:本發(fā)明申請中包括的一組特定形式的權(quán)利要求,該申請公開了該權(quán)利要求,包括任何隨后所做的校正。因此,任何在權(quán)利要求中沒有表述清楚的局限性、要素、性質(zhì)、特征、優(yōu)點或?qū)傩圆粦?yīng)該以任何方式限制該權(quán)利要求的范圍。相應(yīng)地,應(yīng)認為本說明書和附圖具有說明性意義而非限制性意義。