專利名稱::多目標檢測和應用項目狀態(tài)導航系統(tǒng)的制作方法
技術領域:
:本發(fā)明涉及檢測和跟蹤諸如用戶或用戶工具在表面上或表面附近做出的觸摸或移動這樣的目標,以及跟蹤和顯示應用項目演化的歷史。特別是,本發(fā)明涉及能夠用角測量同時檢測和跟蹤用戶接口表面上的多個目標的系統(tǒng),通過該系統(tǒng),操作者可以在時間上導航通過應用項目狀態(tài)、對應用項目采取的動作以及那些動作的觸發(fā),以觀察處于選定的過去的時間點的應用項目。
背景技術:
:多群人經(jīng)常長期地利用復雜的協(xié)作和決策支持工具來執(zhí)行復雜的設計以及計劃的動作和決策,該復雜的設計以及計劃的動作和決策驅(qū)使應用項目(例如,化工廠工藝配置或復雜的物料分銷鏈)達到其當前狀態(tài)。在計算機被多于一個人訪問、使用或査看的許多情形中,允許多個用戶同時向系統(tǒng)輸入數(shù)據(jù)會是很有用的。時間和復雜性的組合經(jīng)常會遮蔽過去的動作和決策,使得很難記住影響計劃中的較早階段的因素。如果一項任務涉及許多人并且不同的人在不同的時間工作,則實際情況尤其會是這樣。因此,在過去,由于復雜的設計和計劃的任務而產(chǎn)生的應用項目具有相對不透明的歷史。對應用項目是如何達到其當前狀態(tài)的任何理解經(jīng)常受到個體的、經(jīng)常是不精確的記憶、匆忙做出的筆記和貧乏的文件編制的限制。因此,很難拆解致使應用項目達到當前狀態(tài)的設計和計劃步驟的歷史。出于這些和其他原因,在提供對決策是如何和為什么做出、誰做出了決策以及那些決策是如何影響應用項目的當前狀態(tài)這些問題的理解方面,存在著相當大的挑戰(zhàn)。這些限制妨礙了對應用項目的進一步開發(fā)、改善和改變,還妨礙了理解應用項目如何到達其當前狀態(tài)的嘗試。這些限制還極大增加了有效地和高效地引入新人進行開發(fā)或為應用項目計劃任務的難度。同時,應用項目的歷史所蘊含的大量數(shù)據(jù)提出了重大的顯示、操縱和呈現(xiàn)的挑戰(zhàn)。特別是,分布式數(shù)據(jù)采集和處理系統(tǒng)允許對大量數(shù)據(jù)(包括實時數(shù)據(jù))進行收集、存儲和操縱。實時數(shù)據(jù)是這樣的數(shù)據(jù),該數(shù)據(jù)以與它被接收到的速率相同的速率得到更新和處理。實時數(shù)據(jù)可以來源于各種源。其實例包括待監(jiān)視的系統(tǒng)或環(huán)境中的傳感器網(wǎng)絡,和用于庫存或資產(chǎn)的射頻識別標簽(RFID)跟蹤系統(tǒng)。這些和其它相關技術己經(jīng)使組織能夠訪問關于組織的運作的所有方面的大量實時信息。這些方面包括例如,消費者行為、競爭者行為、員工生產(chǎn)率、供應鏈活動、制造、工作場所活動等等。對于大規(guī)模的組織,該信息對于做出決策或者發(fā)展洞察力而言會是極其有價值的。總的來說,該信息可以揭示出不是立即就明顯的模式或趨勢。當隨著時間的流逝來處理該信息時,該信息可以揭示出可用于未來預測的發(fā)展。采集和管理大量數(shù)據(jù)可以提供系統(tǒng)狀態(tài)或操作的新的視觀。然而,龐大的數(shù)據(jù)量和互連密度使得難以輕松地使該信息在標準工作站上可視化。常規(guī)的工作站基于個人計算機技術,并且通常包括處理設備和用戶接口,其中的用戶接口包括例如,顯示屏、鼠標或其它輸入設備。雖然多媒體能力可以增強信息的呈現(xiàn),但是常規(guī)設備的尺寸小并且特性有限,這使得常規(guī)設備難以對信息進行有意義的呈現(xiàn)。此外,數(shù)據(jù)處理和決策處理的復雜度使得必需在多個專家之間共享視觀并進行協(xié)作。即使帶有大屏幕和多媒體能力,也只有很少的人能夠同時看到和與常規(guī)工作站進行交互。如果需要操縱鼠標或鍵盤,則只有一個人能夠控制工作站,同時只有有限數(shù)量的其他參與者能夠觀看到該處理。對這兩個問題的一種解決方案是使專家們能夠訪問沉浸式環(huán)境,利用該沉浸式環(huán)境,他們能夠觀看、共享并物理地與信息進行交互。在一個實例中,這種環(huán)境由大型高分辨率顯示器、個人數(shù)字助理(PDA)和三維(3-D)顯示器,以及可選的交互通道(interactionmodality)(諸如,觸摸激活式屏幕、3-D鼠標、數(shù)據(jù)手套等)組成??捎|式顯示器允許一個或多個用戶或者結(jié)合使用鼠標、指示器等,或者作為鼠標、指示器等的替代,來直接與屏幕交互。這些顯示器包括感測系統(tǒng),該感測系統(tǒng)將關于用戶的觸摸或交互的狀態(tài)信息傳遞給應用軟件,該應用軟件在應用項目的環(huán)境下解釋該狀態(tài)信息??捎|式顯示器可使用各種類型的傳感器來檢測接觸或近接觸。一種類型的可觸式顯示器可感測由于對屏幕的接觸而導致的電容的改變。另一種類型的可觸式顯示器可使用照相機或其他類型的光傳感器(例如,可視光和/或紅外光傳感器)來檢測屏幕上的接觸?;谡障鄼C的可觸式顯示器通常是針對大尺寸顯示器使用的。與電容性可觸式系統(tǒng)不同,使用三角測量的基于照相機的系統(tǒng)被限制為檢測屏幕上的單個目標。在屏幕的第二部分被同時或并發(fā)地接觸的情況下,基于照相機的系統(tǒng)將具有未定義的或不合需要的效果。這是由于照相機不能夠感測深度信息以及使用三角測量辨別接觸位置的限制。由于技術和形狀因素(formfactor)這二者的限制,這種環(huán)境需要能夠?qū)⒁粋€邏輯應用項目分布到組成沉浸式環(huán)境的多個計算機和顯示系統(tǒng)上的系統(tǒng)。這種系統(tǒng)必須處理視覺顯示和用戶交互這二者的分布。還沒有出現(xiàn)提供必要能力的足以滿足需要的系統(tǒng)。當前還沒有用于構建跨越多臺并且可能是不同種類的計算機、可能具有不同形狀因素的多臺顯示器、以及多個交互通道的應用項目的標準架構、語言或協(xié)議。這種應用項目必須由管理多臺計算機、多臺顯示器和多個交互通道之間的交互的應用項目開發(fā)者從頭開始創(chuàng)建。一些市場上能夠買到的系統(tǒng)典型地是使用允許信息和圖形數(shù)據(jù)顯示在屏幕上的昂貴的視頻處理器來構建的,但是不一定被構建為一個內(nèi)聚的應用項目。其實例可從Jupiter.com得到并且被定價為數(shù)十萬美元。對一種基于照相機的系統(tǒng)的需求已經(jīng)長久存在,這種基于照相機的系統(tǒng)使用三角測量檢測和跟蹤多個同時存在的目標,使理解、回顧和設計復雜的應用項目變得容易,并且解決了與顯示應用項目的歷史所蘊含的潛在的大量數(shù)據(jù)相關的困難。
發(fā)明內(nèi)容給定復雜規(guī)劃設計和導致復雜應用項目的規(guī)劃的這種背景,多目標檢測和應用項目導航系統(tǒng)提供了允許操作者實時地操作應用項目,和回顧應用項目的歷史的獨立于應用項目的機制。多目標檢測和應用項目狀態(tài)導航系統(tǒng)因此允許操作者更好地理解(或記住)在過去采取的動作和那些動作的觸發(fā)。因為各個動作確定應用項目如何到達任何給定時間處的任何給定狀態(tài),所以多目標檢測和應用項目狀態(tài)導航系統(tǒng)允許操作者獲得不僅理解應用項目的當前狀態(tài)而且理解應用項目隨時間改變的方式以及為什么會這樣所必需的見識。此外,由相互協(xié)作的顯示設備生成的顯示圖像可提供寬廣的圖形界面,用于傳達應用項目歷史、對應用項目采取的動作、同時期的環(huán)境數(shù)據(jù)或?qū)斫鈶庙椖康臍v史有用的任何其他數(shù)據(jù)。多目標檢測和應用項目狀態(tài)導航系統(tǒng)可包括由多個圖像拼片(imagetile)和一時間選擇接口元件形成的顯示器。多目標檢測和應用項目狀態(tài)導航系統(tǒng)存儲關于應用項目及其隨時間的發(fā)展的歷史數(shù)據(jù)。作為一個例子,歷史動作數(shù)據(jù)庫可存儲動作記錄,這些動作記錄任選地通過對影響應用項目的動作負責的操作者來區(qū)分。動作記錄可包括定義在動作時間對應用項目采取的動作(例如,修改物料運輸路線)的應用項目動作數(shù)據(jù),識別對采取的動作負責的操作者的操作者識別符,和表示動作時間的應用項目動作時間戳。作為另一個例子,歷史狀態(tài)數(shù)據(jù)庫可存儲狀態(tài)記錄。狀態(tài)記錄可包括定義應用項目在狀態(tài)時間時的應用項目狀態(tài)的應用項目狀態(tài)數(shù)據(jù),和表示狀態(tài)時間的應用項目狀態(tài)時間戳。作為第三個例子,歷史環(huán)境數(shù)據(jù)庫可存儲定義在環(huán)境狀態(tài)時間時應用項目的環(huán)境狀態(tài)的環(huán)境數(shù)據(jù),和表示環(huán)境狀態(tài)時間的應用項目環(huán)境時間戳。多目標檢測和應用項目狀態(tài)導航系統(tǒng)中的處理器執(zhí)行多目標檢測和應用項目狀態(tài)導航系統(tǒng)的存儲器中存儲的程序。例如,接口輸入程序可從時間選擇接口元件獲得時間選擇(例如,"一周以前")。時間索引程序可基于時間選擇來啟動數(shù)據(jù)庫搜索。作為例子,時間索引程序可啟動歷史動作數(shù)據(jù)庫的動作搜索,這會產(chǎn)生檢索出的應用項目動作數(shù)據(jù);歷史狀態(tài)數(shù)據(jù)庫的狀態(tài)搜索,這會產(chǎn)生檢索出的應用項目狀態(tài)數(shù)據(jù);以及歷史環(huán)境數(shù)據(jù)庫的環(huán)境搜索,這會產(chǎn)生檢索出的環(huán)境數(shù)據(jù)。輸出程序然后可根據(jù)檢索出的應用項目狀態(tài)數(shù)據(jù)來呈遞應用項目表現(xiàn)??商鎿Q或追加的,多目標檢測和應用項目狀態(tài)導航系統(tǒng)可在給定了檢索出的應用項目動作數(shù)據(jù)的情況下傳播或重建應用項目狀態(tài)。多目標檢測和應用項目狀態(tài)導航系統(tǒng)也可顯示應用項目動作數(shù)據(jù)以便回顧。此外,多目標檢測和應用項目狀態(tài)導航系統(tǒng)可將檢索出的環(huán)境數(shù)據(jù)輸出以便為應用項目狀態(tài)提供本地或遠程視聽上下文(audiovisualcontsxt)。關于呈現(xiàn)應用項目歷史的拼貼(tiled)輸出顯示,僅通過介紹的方式,目前公開的實施例提供了用于分布式信息處理和交互的系統(tǒng)和方法。在一個通常的實施例中,應用處理器對一個或多個軟件應用程序做出響應以產(chǎn)生輸出,使得各個輸出一起形成系統(tǒng)輸出。各個單獨的處理器輸出可以是顯示設備上的顯示,諸如對電子鎖進行開鎖的激勵器的操作,或者是對數(shù)據(jù)庫中的信息進行的改變。處理器輸出可以像來自處理器的輸出數(shù)據(jù)的改變一樣簡單。由處理器產(chǎn)生的每個改變或輸出是各個處理器的本地狀態(tài)的改變以及整個系統(tǒng)狀態(tài)的改變。在狀態(tài)改變消息中,將應用處理器的狀態(tài)的每個改變報告給狀態(tài)服務器。狀態(tài)服務器運行以使各個處理器的本地狀態(tài)同步。狀態(tài)服務器將從一個應用處理器接收到的狀態(tài)改變消息反映給系統(tǒng)中的所有其它應用處理器。同樣,任何系統(tǒng)輸入也被報告給狀態(tài)服務器,狀態(tài)服務器再次將狀態(tài)改變反映給所有應用處理器。用這種方式,應用處理器被保持在同步狀態(tài)。通過將改變報告給狀態(tài)服務器并將改變反映給所有其它處理器,應該被反映到其它處理器的輸出中的一個處理器中的輸出改變,被自動地并且無縫地這樣得到處理。在一個特定實施例中,每個應用處理器驅(qū)動產(chǎn)生拼貼輸出顯示的一個或多個圖像拼片的顯示設備。每個處理器使用來自狀態(tài)服務器的狀態(tài)改變消息來更新整個顯示器的狀態(tài)信息,即使處理器僅負責對顯示器的指定部分進行顯示。顯示器的分配的、指定的部分是處理器的上下文。輸入設備檢測用戶與顯示器的交互,類似于鼠標運動和鼠標點擊,但是在一個實施例中,這種交互是顯示器前面的手的運動。檢測到的用戶交互被報告給狀態(tài)服務器,并且關于用戶交互的信息從狀態(tài)服務器被反映給產(chǎn)生圖像的應用處理器?;趤碜誀顟B(tài)服務器的信息對圖像進行更新。在研究過以下的附圖和詳細描述后,對于本領域技術人員來說,本發(fā)明的其它系統(tǒng)、方法、特征和優(yōu)點將是或?qū)⒆兊蔑@而易見。所有這些附加系統(tǒng)、方法、特征和優(yōu)點都應包括在本說明書內(nèi),包括在本發(fā)明的范圍內(nèi),并由所附權利要求保護。參考以下附圖和描述,可以更好地理解本發(fā)明。圖中的組件不必要依比例,而是將重點放在說明本發(fā)明的原理上。此外,在附圖中,相似的附圖標記在不同示圖中始終指示相應的部分或元件。圖1是示出用于分布式信息呈現(xiàn)和交互的系統(tǒng)的架構的框圖。圖2是示出圖1的系統(tǒng)中的處理流程的流程圖。圖3是圖1所示系統(tǒng)的一個軟件實施例的架構流程圖。圖4示出了應用項目歷史儲存庫(repository),其可向圖1所示的信息處理系統(tǒng)提供歷史上的應用項目狀態(tài)數(shù)據(jù)、應用項目動作數(shù)據(jù)和環(huán)境數(shù)據(jù)。圖5示出了可為應用項目動作提供歷史上的上下文數(shù)據(jù)的信息源。圖6示出了戰(zhàn)略規(guī)劃室,在該戰(zhàn)略規(guī)劃室中,多目標檢測和應用項目狀態(tài)導航系統(tǒng)允許操作者導航應用項目歷史。圖7示出了用于導航應用項目狀態(tài)的時間選擇接口。圖8顯示了用于導航應用項目狀態(tài)的導航接口。圖9顯示了導航接口在導航應用項目狀態(tài)時可采取的動作。圖10顯示了可向圖1所示的信息處理系統(tǒng)提供歷史上的應用項目狀態(tài)數(shù)據(jù)、應用項目動作數(shù)據(jù)和環(huán)境數(shù)據(jù)的應用項目歷史儲存庫。圖11顯示了通過接口與應用設備連接的多目標檢測器系統(tǒng)的配置。圖12顯示了圖ll所示的多目標狀態(tài)檢測器的展開框圖。圖13顯示了多目標狀態(tài)檢測器為了確定潛在的目標位置可采取的動作。圖14繼續(xù)顯示圖13所示的流程圖并顯示了多目標狀態(tài)檢測器為了確定潛在的目標位置可采取的動作。圖15是顯示平面上的兩個目標的示意圖。圖16是顯示圖15中繪出的兩個目標和為第一組遮擋(occlusion)確定的光線(ray)的示意圖。圖17是顯示圖15中繪出的兩個目標和為第二組遮擋確定的光線的示意圖。圖18是顯示圖15中繪出的兩個目標和為第三組遮擋確定的光線的示意圖。圖19顯示了由圖15所示的兩個照相機產(chǎn)生的感覺信息的示意圖,所述感覺信息包括關于圖15中繪出的兩個目標的多個遮擋。圖20顯示了多目標狀態(tài)檢測器可采取來縮小可能目標的列表的其它動作。圖21繼續(xù)顯示圖20所示的流程圖并顯示了多目標狀態(tài)檢測器可采取來縮小可能目標的列表的其它動作。圖22顯示了多目標狀態(tài)檢測器可釆取來縮小可能目標的列表以及確定目標的移動的動作。圖23繼續(xù)顯示圖22所示的流程圖,顯示了多目標狀態(tài)檢測器可采取來縮小可能目標的列表以及確定目標的移動的其它動作。具體實施例方式各附圖中所示的元件按照以下更詳細解釋的那樣進行相互操作。然而,在闡述詳細解釋以前,應注意,無論正在描述的特定實現(xiàn)方案如何,以下的所有討論在本質(zhì)上都是示例性的,而不是限制性的。例如,盡管這些實現(xiàn)方案的選擇的方面、特征或組成部分被描述為存儲在存儲器中,但與多目標檢測和應用項目狀態(tài)導航系統(tǒng)和方法相一致的系統(tǒng)和方法的全部或一部分可存儲在以下介質(zhì)上,分布在以下介質(zhì)上,或從以下介質(zhì)中讀取其他機器可讀介質(zhì),例如諸如硬盤、軟盤和CD-ROM的輔助存儲設備;從網(wǎng)絡接收到的信號;或目前己知的或未來開發(fā)出的其他形式的ROM或RAM。此外,盡管將描述多目標檢測和應用項目狀態(tài)導航系統(tǒng)的具體部件,但與多目標檢測和應用項目狀態(tài)導航系統(tǒng)相一致的方法、系統(tǒng)和制造商品可包括附加的或不同的部件。例如,處理器可實現(xiàn)為微處理器、微控制器、專用集成電路(ASIC)、離散邏輯或其他類型的電路或邏輯的組合。類似的,存儲器可以是DRAM、SRAM、閃存或任何其他類型的存儲器。標記、數(shù)據(jù)、數(shù)據(jù)庫、表格和其他數(shù)據(jù)結(jié)構可分開存儲和管理,可以并入到單個存儲器或數(shù)據(jù)庫中,可以被分布,或可以以許多不同方式在邏輯上或物理上組織起來。程序可以是單個程序的一些部分、分開的多個程序或分布在幾個存儲器和處理器上。此外,也可以以硬件實現(xiàn)程序或程序的任何部分來作為替代。本實施例提供了軟件架構和統(tǒng)一的抽象層,該抽象層允許應用項目開發(fā)者創(chuàng)建數(shù)據(jù)密集型和協(xié)同型的應用項目,而不必明確關注應用項目可能會如何分布到沉浸式環(huán)境內(nèi)的多個顯示器和計算機上。該架構是通過包括以下五個機制的高級原語(primitive)實現(xiàn)的(a)將應用項目或者應用項目的集合劃分到多個機器和多個形狀因素上,(b)提供用于配準輸出部分(諸如不同計算機和/或諸如投影儀的不同輸出設備上的顯示段)的機制,(c)提供用于從可以由多個機器控制的多個輸入設備收集用戶交互的裝置,使得應用項目具有用戶交互的同步化的視觀,(d)提供通信/同步機制,以使多個數(shù)據(jù)密集型和協(xié)同型的應用項目能夠在單個計算環(huán)境內(nèi)執(zhí)行和協(xié)作,以及(e)提供使應用項目的多個用戶能夠在沉浸式環(huán)境內(nèi)彼此進行交互的用戶接口構造。根據(jù)這些實施例的軟件架構提供了統(tǒng)一的抽象層,用于構建用于沉浸式環(huán)境的數(shù)據(jù)密集型和協(xié)同型的應用項目。該統(tǒng)一的抽象層使應用項目開發(fā)者免于管理環(huán)境的低級別的細節(jié),從而顯著地提高他們的生產(chǎn)率和應用項目質(zhì)量。該創(chuàng)新還使得應用項目開發(fā)者能夠開發(fā)用于沉浸式環(huán)境的數(shù)據(jù)密集型和協(xié)同型的應用項目。該架構被構建成支持分布式、沉浸式、多用戶環(huán)境(典型的桌面操作構造所不支持的環(huán)境)中的應用項目和應用項目歷史的回顧。因此,該架構被構建成使開發(fā)者不受環(huán)境的復雜度的影響,并使他們可以通過統(tǒng)一的抽象層來編寫終端用戶應用項目。該層假定任何應用項目都可能駐留在多于一個的物理計算機上。因此,其提供了對于將應用項目分段和使分段同步的透明支持。開發(fā)者創(chuàng)建應用項目,就好像該應用項目是單個計算機上的單個處理。該架構還假定若干應用項目可能在單獨的環(huán)境或者多個位置內(nèi)協(xié)作。因此,其提供了保持整個環(huán)境所需的甚至是跨越多個平臺和通道的消息接發(fā)和同步機制。開發(fā)者僅需要確保每個不同的應用項目理解不同的狀態(tài)。此外,該架構假定可以有若干種輸入機制,并且輸入機制中的一個或多個可能允許來自一個或多個用戶的多個同時輸入。該架構為終端應用項目提供了對所有輸入的共同的同步化的視觀。開發(fā)者僅需要(基于應用項目規(guī)則)將那些輸入映射到狀態(tài)改變,這些狀態(tài)改變繼而被該架構同步化。最后,該架構假定一些終端顯示器可能由多個拼貼式投影儀組成。在這種情況下,該架構供應為精確配準和融合多個拼片的邊緣所需的軟件功能。這可以由用戶在運行的時候完成,但是該復雜度對于應用項目開發(fā)者而言是隱藏的。每個組件的細節(jié)列出如下連網(wǎng)消息接發(fā)組件該架構自動地將所有應用項目連接到控制同步和消息接發(fā)的集中式服務器。連網(wǎng)的復雜度對于開發(fā)者而言是隱藏的,并且該架構將消息直接傳遞給應用項目。結(jié)果,本地交互(諸如,來自附帶的鍵盤)和連網(wǎng)交互(諸如,來自連網(wǎng)的控制設備)之間沒有區(qū)別。此外,開發(fā)者以與Windows"消息映射"非常相似的方式處理消息,但是該架構處理將消息映射的結(jié)果分發(fā)給所有計算機的任務。消息可以來源于應用項目或者專用用戶接口設備(諸如觸摸屏或數(shù)據(jù)手套)。連網(wǎng)時間同步該架構還確保所有應用項目和/或應用項目碎片具有共同的、同步的時間。這對于動畫和狀態(tài)管理是至關緊要的。除了共同的時間數(shù)據(jù)外,該架構還提供"內(nèi)插器"類別,其可被用于管理狀態(tài)、動畫和任何其它基于時間的數(shù)據(jù)。內(nèi)插器對象可以被分配開始和結(jié)束時間、開始和結(jié)束值、以及確定這些值如何隨時間改變的內(nèi)插函數(shù)。一旦被創(chuàng)建,內(nèi)插器就向動畫和其它對時間敏感的特征供應時間同步的值。應用項目分片(fragmentation):應用項目開發(fā)者可以編寫單個應用項目,該單個應用項目將對象放置在單個非常大的虛擬畫布上并制作其動畫。每個主計算機均具有小數(shù)據(jù)文件,該小數(shù)據(jù)文件指定它們所控制的該虛擬畫布的區(qū)域。這通常是由計算機的能力和屏幕的物理放置確定的。當應用項目在多個機器上運行時,該架構使用數(shù)據(jù)文件來繪制畫布的適當部分。先前的兩個特征確保所有碎片都是同步的并且將它們自身呈現(xiàn)為一個邏輯應用項目。應用項目協(xié)調(diào)在一些環(huán)境(特別是具有不同硬件平臺的那些環(huán)境)中,若干單獨的應用項目(與一個分片的應用項目相反)可能需要進行交互,以提供單個工作環(huán)境。這也被該架構支持。該架構使用連網(wǎng)消息接發(fā)組件來將環(huán)境狀態(tài)改變發(fā)消息傳送給所有登記的應用項目。每個應用項目可以根據(jù)其自己的標準做出響應。屏幕配準該架構支持使用拼貼式的投影圖像來呈現(xiàn)顯示輸出。使用拼貼式投影的一個固有問題是,相鄰的投影儀必須進行仔細的配準和邊緣融合,以創(chuàng)建單個連續(xù)的顯示空間。該架構使用上述的數(shù)據(jù)文件中的信息來確定圖像是否必須被配準,以及必須如何進行配準。如果有必要進行配準,則該架構加載帶有用戶供應的配準數(shù)據(jù)的文件,并對應用項目輸出執(zhí)行必要的圖像變形。該特征可以被擴展到投影儀之間的彩色校正。終端顯示設備的細節(jié)對于應用項目開發(fā)者而言是被屏蔽的。高級原語該架構用一組公共高級原語使開發(fā)者免于受到底層圖形技術的復雜度的影響。這些原語表示公共對象,諸如2D對象、3D對象、線、網(wǎng)眼(webcam)、圖片、視頻、聲音、文本、圖形,以及二進制數(shù)據(jù)對象。場景封裝最后,應用項目開發(fā)者通過創(chuàng)建將所有對象、數(shù)據(jù)和邏輯封裝到給定"場景"內(nèi)的"控制器"對象的實例,來利用上述特征。該架構將每次顯示一個控制器的輸出,使控制器與"應用項目"或者"事件(episode)"幾乎同步。然而,控制器還可以是嵌套的,并被另外用于將對象放置到單獨的批處理(batch)中。這有助于應用項目開發(fā)者將開發(fā)工作分配到若干人上。由于不同的批處理可以在必要的時候以不同的頻率得到更新,所以這還有助于提高整個圖形性能。現(xiàn)在參考附圖,圖1顯示出用于分布式信息處理和交互的系統(tǒng)100,其支持復雜應用項目歷史的導航。系統(tǒng)100包括狀態(tài)服務器102、多個應用處理器或輸出設備104,以及帶有多個輸入設備108的輸入/輸出(I/O)控制器106。系統(tǒng)100是跨越多個不同種類的計算機設備、多個輸出設備和多個通道的架構的一個實施例。系統(tǒng)100對從輸入設備108接收到的輸入做出響應,以對輸出設備104產(chǎn)生影響。所產(chǎn)生的影響可以對于一個或多個輸出設備而言是相同的,或者所產(chǎn)生的影響可以取決于影響和特定輸出設備而不同。如下面將會進一步詳細描述的那樣,對任何一個輸出設備產(chǎn)生的影響將取決于輸出設備和影響的性質(zhì)。通常,狀態(tài)服務器102保持系統(tǒng)100的一個或多個狀態(tài),并確保輸出設備104被同步化。狀態(tài)服務器102通過發(fā)送消息與輸出設備104通信,優(yōu)選地是釆用預定的消息協(xié)議。狀態(tài)服務器102將其接收到的關于系統(tǒng)100的所有消息反映回給系統(tǒng)中所有適當?shù)脑O備,特別是,反映回給所有輸出設備104。狀態(tài)服務器102從輸入設備108接收輸入信號并將消息發(fā)送給適當?shù)妮敵鲈O備104以便以下文中更詳細討論的方式使輸出設備的狀態(tài)同步化。輸入設備108可以包括任何種類的傳感器或數(shù)據(jù)采集設備。輸出設備104可以包括任何種類的音頻或視頻或其它輸出設備或系統(tǒng),包括諸如平板PC的個人計算機(PC)、個人數(shù)字助理(PDA)或膝上型計算機或者其它專門的設備或處理器。輸出設備104最通常地包括用于引起交互或環(huán)境中的結(jié)果的任何類型的激勵器。將在示例性系統(tǒng)的上下文中討論圖1的實施例,其中在示例性系統(tǒng)中,系統(tǒng)100在顯示表面110上控制顯示圖像。顯示圖像由多個顯示設備112組成。在示例性系統(tǒng)中,顯示設備112是各個應用處理器116中的一個或多個的控制下的視頻投影儀114,其中各個應用處理器116中的一個或多個被配置成將顯示投影到形成顯示表面112的玻璃幕墻120的面板118上。可以使用任何適合數(shù)量的投影儀114和玻璃面板118來形成顯示圖像。在圖l的實例中,投影儀的2X4陣列一起在玻璃面板118的類似陣列上形成顯示圖像。在其它實施例中,可以使用其它數(shù)量的投影儀和其它數(shù)量的玻璃面板。在另外的其它實施例中,可以用其它類型的視頻顯示設備來作為替代,諸如平板顯示器、等離子體顯示器或者陰極射線管。本文中描述的原理不應該由任何特定技術限制,而是可以應用于最寬廣種類的設備。在圖1的示例性實施例中,輸入設備108包括一個或多個照相機122、數(shù)據(jù)手套124、指向設備126和紅外傳感器128。如附圖中所指示的那樣,與這些類似的其它輸入設備或者其它類型的輸入設備可以被添加到系統(tǒng)100中。照相機122是拍攝視頻圖像的設備。圖像可以是任何適合格式(包括諸如jpeg(是指由聯(lián)合照相專家組提出的標準數(shù)據(jù)格式)或者gif(圖形交換格式)或者其它格式的數(shù)字格式)的單個圖像,或者視頻圖像可以是電影圖像,諸如根據(jù)諸如由運動圖像專家組(MPEG或者其變體之一)提出的標準或者其它標準而被編碼的數(shù)據(jù)文件。數(shù)據(jù)手套124是用于虛擬現(xiàn)實和其它數(shù)據(jù)處理設備的采取手套的形式的輸入設備,該手套測量穿戴者的手指的運動并將它們傳送給數(shù)據(jù)處理設備或計算機。高級的數(shù)據(jù)手套還測量手腕和肘的動作,或者也可以測量其它身體部分的運動。數(shù)據(jù)手套還可以包含控制按鈕,或者充當輸出設備,例如在計算機的控制下振動。用戶通??吹綌?shù)據(jù)手套的虛擬圖像并可以指向或者抓住并且推動對象。指向設備126可以是任何數(shù)據(jù)輸入和操縱設備,諸如計算機鼠標或手寫板。紅外傳感器可以是對來自設備的熱、能量或無線電輻射做出響應以產(chǎn)生圖像的任何傳感設備。1/0控制器106充當系統(tǒng)100和輸入設備108之間的數(shù)據(jù)采集接口。因此,I/O控制器106被配置成從各個輸入設備108接收信號,并繼而提供任何必要的信號。例如,為了接收來自照相機122的jpeg格式的文件,1/O控制器106通過向照相機122提供適當?shù)木W(wǎng)絡握手信號,而從照相機122接收jpeg格式的文件并存儲該文件。在另一實例中,該格式可以是來自另一照相機120或者來自數(shù)據(jù)手套124的流式數(shù)據(jù)。1/0控制器106向輸入設備提供必要的握手信號,并存儲接收到的數(shù)據(jù)用于觀看,或者立即將數(shù)據(jù)提供給狀態(tài)服務器102。1/O控制器106從輸入設備108接收以各個輸入設備中的每個所提供的格式表示的數(shù)據(jù),并將數(shù)據(jù)格式化成狀態(tài)服務器102和輸出設備104所需的格式。在系統(tǒng)100控制顯示器表面110上的顯示圖像的示例性實施例中,輸入設備108包括用于檢測顯示器表面附近的用戶的手或者其它身體部分,并充當指向設備以操縱圖像的一部分的傳感設備。例如,在一個實施例中,輸入設備108包括位于顯示器表面110附近的用于檢測用戶的手的位置和運動的一組照相機,并與I/O處理器106結(jié)合來向狀態(tài)服務器102提供信號,指示用戶的手的位置和運動。信號被傳達給各個應用處理器116,并被用于產(chǎn)生適當?shù)娘@示或者顯示中的改變。例如,如果手的運動應該被解釋為左點擊、右點擊或者顯示器表面110上的顯示的其它鼠標激勵,則各個應用處理器116中的每個將會通過處理手的運動,并且在適當?shù)那闆r下,將手的運動反映到各個應用處理器所控制的顯示器部分中,來適當?shù)刈龀鲰憫?。如上面提到的那樣,在該實施例中,輸出設備104包括一個或多個顯示設備,其中該一個或多個顯示設備被配置成顯示系統(tǒng)的輸出顯示的各個顯示部分。為了完成這個任務,顯示器表面120的玻璃面板118和與它們相關聯(lián)的投影儀114被拼貼,使得它們一起形成合成圖像。每個投影儀產(chǎn)生的每個圖像是唯一的,并且是在與顯示設備相關聯(lián)的應用處理器116的控制下產(chǎn)生的。通常,應用處理器116是為特定應用軟件定制以執(zhí)行系統(tǒng)100中的特定功能的通用數(shù)據(jù)處理系統(tǒng)。應用處理器116通過數(shù)據(jù)鏈路被連接到狀態(tài)服務器102。這些可以是有線線路或無線數(shù)據(jù)鏈路,或者是任何適合的數(shù)據(jù)通信設備。應用處理器116可以包括特定硬件組件或者與特定硬件組件相關聯(lián),其中的特定硬件組件用于產(chǎn)生特定的輸出激勵。用于通用輸出設備的一個示例性的激勵是打開遠程位置的電控鎖。在這種應用項目中,應用處理器116與伺服電機或者其它設備協(xié)作,以通過機械方法打開該鎖。于是通常每個應用處理器被配置成處理應用程序,并對上下文信息做出響應。各個應用處理器中的每個與相關聯(lián)的各個輸出設備104進行數(shù)據(jù)通信,以控制輸出設備104提供系統(tǒng)輸出的輸出部分。系統(tǒng)輸出是所有輸出設備104的輸出部分的集合體。在圖1的特定示例性實施例中,應用處理器116被定制為用于處理系統(tǒng)100的輸出顯示的各個顯示部分。因此,應用處理器從狀態(tài)處理器102接收消息形式的數(shù)據(jù)和指令,并將控制信號提供給一個或多個相關聯(lián)的投影儀114。圖1顯示出應用處理器的示例性的軟件架構130。軟件架構130包括核心組件132和應用層134。核心組件132是軟件架構130的被所有為應用處理器116準備軟件應用程序的開發(fā)者共享的各方面。其實例包括輸入/輸出驅(qū)動器、存儲和檢索例程,以及其它操作系統(tǒng)組件。應用層134包括函數(shù)、例程和其它組件,它們由每個軟件開發(fā)者為應用處理器116定制,以為應用處理器創(chuàng)建獨特的應用項目行為。應用層134包括消息處理程序136和一個或多個對象138。消息處理程序136與狀態(tài)服務器102通信。特別地,消息處理程序136從狀態(tài)服務器102接收定義系統(tǒng)100中的改變的消息140以供各個應用服務器處理。此外,消息處理程序向狀態(tài)服務器發(fā)送定義各個應用服務器處產(chǎn)生的系統(tǒng)中的改變,并且應該被反映給其它應用服務器116的消息142。優(yōu)選地,根據(jù)預先定義的數(shù)據(jù)傳輸協(xié)議將消息格式化,包括例如,帶有源地址和目的地地址的信頭,和包括定義系統(tǒng)中的狀態(tài)改變的數(shù)據(jù)的凈荷。然而,可以用任何適合的數(shù)據(jù)傳輸格式來作為替代。對象138由應用層134的開發(fā)者例示。對象是可以被選擇和操縱的離散項目,諸如屏幕上的圖形。在面向?qū)ο蟮木幊讨?,對象包括?shù)據(jù)和對該數(shù)據(jù)進行操作所必要的步驟。在應用層134的控制下,應用處理器116的操作可以使對象被生成和工作。在所示出的實例中,對象138包括它們自己的消息處理程序,以與應用層的其它部分和狀態(tài)服務器102通信。由對象138傳遞的消息可以接收影響單獨的對象的對系統(tǒng)狀態(tài)的更新,或者可以包含關于由對象檢測到的或產(chǎn)生的改變的信息,該信息應該由狀態(tài)服務器102反映給其它應用處理器116。根據(jù)本發(fā)明,圖1例示的架構支持多個處理器(諸如應用處理器116)和處理器116上活動的多個應用項目(諸如,應用層134)之間的共享狀態(tài)。狀態(tài)服務器102的工作確保應用處理器116的狀態(tài)是同步化的。換言之,狀態(tài)服務器102工作以確保所有狀態(tài)改變都盡可能同時地被反映給所有處理器116。本上下文中的同步是指,最通常地,每個應用處理器的狀態(tài)達到這樣的相同程度這些狀態(tài)包括相同的信息。對于運行同一應用程序的本地副本的應用處理器,當應用項目的每個副本具有相同的數(shù)據(jù)時,它們的狀態(tài)相同。在各個應用項目中可能有偏差。例如,在本文描述的具體實例中,兩個或多個應用處理器產(chǎn)生顯示器上的圖像的一些部分。每個處理器被分配以顯示整個圖像的指定部分,本文中稱為其上下文。然而,每個處理器保持產(chǎn)生整個圖像而不只是產(chǎn)生其上下文所必要的數(shù)據(jù)?;趯庙椖康奶幚聿⑶一趶臓顟B(tài)服務器接收到的同步信息,來對不是上下文的一部分的數(shù)據(jù)進行更新,以便使應用項目的本地副本同步化或者包含與具有其它上下文的其它副本相同的數(shù)據(jù)。在本申請中,同步不僅僅是時間上的同步。所有同步包含公共框架。同步涉及應用處理器的本地狀態(tài)。在第一實例中,時間同步包括向指定當前時間的所有應用項目發(fā)送消息的服務器,例如因為服務器訪問可以被認為是時間傳感器的系統(tǒng)時鐘。響應于該消息,一些應用處理器上的一些應用項目可能會簡單地更新動畫。其它應用項目可能會執(zhí)行一些邏輯,以將新的時間映射到更高級別的狀態(tài)改變(例如,映射到這樣的指示是火車到達的時間了),并使用該架構將該新狀態(tài)反映給其它應用項目。其它處理器上的其它應用項目可能不具有任何與時間有關的方面,并且因此不對消息做出響應。不同的應用項目適當?shù)貙蟾娴臓顟B(tài)改變做出響應。在第二實例中,火車具有形成位置傳感器的全球定位系統(tǒng)(GPS)接收器,和本文所描述的類型的應用處理器?;疖嚰捌鋺锰幚砥靼l(fā)送報告GPS位置數(shù)據(jù)作為火車的新狀態(tài)的消息。該消息在狀態(tài)服務器處被接收,并且被反映給若干其它鐵路院(railyard)應用項目。例如,在鐵路院命令中心,消息中的該信息影響火車位置的顯示的改變。在帶有數(shù)據(jù)處理設備的計算機機房中,用數(shù)據(jù)庫條目來處理消息。在鐵路院中,另一處理器上的另一應用項目打開門。在第三實例中,觸摸屏傳感器檢測觸摸的位置,并將該位置報告給狀態(tài)服務器。服務器將關于狀態(tài)改變的信息發(fā)送給系統(tǒng)中的所有應用項目。一個應用項目將該狀態(tài)改變映射到更高級別的狀態(tài),"按鈕已被按下"。另一應用項目將觸摸映射到不同的更高級別的狀態(tài),"在命令中心中有人為活動"。再一次,每個應用項目接收相同的狀態(tài)更新消息并適當?shù)刈龀鲰憫?。在這些實例中的每個實例中,時間是以在概念上與任何其它狀態(tài)改變相同的方式被處理的。觸摸、運動以及對系統(tǒng)的任何其它傳感器輸入(諸如,在讀卡器中刷識別卡,或者使用指紋讀取器),被報告給狀態(tài)服務器并且全部以適合于系統(tǒng)中的每個應用處理器的相同的方式被處理。狀態(tài)改變不是必須以相同方式來處理。一個應用項目可能會簡單地更新顯示器。另一個應用項目可能會促動機械手(robot)。再次參考圖1,在最通常的應用項目中,狀態(tài)改變受各種傳感器和/或程序邏輯的影響,并且狀態(tài)的改變不限于用戶交互。關于狀態(tài)的改變的任何信息被傳遞給狀態(tài)服務器102,該狀態(tài)服務器102將該信息反射(mirror)或者重新傳送給系統(tǒng)100中的其它設備,包括應用處理器116。應用處理器116或者任何其它輸出設備104從狀態(tài)服務器接收更新后的狀態(tài)信息,并適當?shù)刈龀鲰憫?。該響應可能是更新存儲在輸出設備104上的數(shù)據(jù)。該響應可能是改變顯示的圖像或者程序狀態(tài)。該響應可能是提供一些適合的激勵。在最通常的情況下,每個輸出設備的響應被定制成適合于其操作或功能的性質(zhì)和更新后的狀態(tài)信息。在圖1所示的輸出設備104包括應用控制器116控制下的投影儀114的特定應用項目中,狀態(tài)改變受輸入設備108或應用處理器116上運行的程序邏輯的影響。響應于由1/0處理器106檢測到的輸入信號,狀態(tài)服務器102更新其狀態(tài)信息,并將該信息反射或者重新傳送給系統(tǒng)100中的其它設備,包括應用處理器116。也就是說,每個應用處理器116被配置成,響應于處理應用程序,將更新消息派送給狀態(tài)服務器102,以產(chǎn)生形成應用處理器所產(chǎn)生的各個顯示部分的圖像中的改變。狀態(tài)服務器102將消息反映給其它應用處理器116。應用處理器116從狀態(tài)服務器102接收更新后的狀態(tài)信息,并適當?shù)刈龀鲰憫?。在圖1的該特定應用項目中,每個應用處理器116的響應是改變與其相關聯(lián)的顯示屏幕118上所產(chǎn)生的顯示。在該特定實施例中,位于顯示器表面120附近的照相機120作為輸入檢測器工作,其中的輸入檢測器被安置用來檢測發(fā)生在由各顯示面板118形成的顯示設備之一附近的用戶激活。響應于檢測到的用戶激活,輸入檢測器或照相機產(chǎn)生用戶激活信號。例如,該信號可能是以x和y坐標定義用戶的手在顯示面板118的表面上所處的位置的數(shù)字數(shù)據(jù)。I/O處理器106與由照相機120形成的輸入檢測器和狀態(tài)服務器102進行數(shù)據(jù)通信,以傳達關于用戶激活信號的信息。例如,1/0處理器可以簡單地提供x和y坐標數(shù)據(jù),或者數(shù)據(jù)可以用其它信息來增強或者格式化。此外,在本文描述的特定實施例中,每個應用處理器116都運行基本上相同的程序,或者同樣的應用程序。每個應用處理器116保持其自己的關于系統(tǒng)100的狀態(tài)的副本(其響應于從狀態(tài)服務器102接收到的狀態(tài)消息而被更新)?;谄湎到y(tǒng)狀態(tài)的本地副本,每個應用處理器116在分離的顯示設備112上的預先定義的顯示部分中顯示應用程序的輸出顯示。應用項目的處理由作為同步器工作的狀態(tài)服務器102同步化。在該系統(tǒng)中,各個應用處理器116中的每個控制各個顯示設備112,以用于在各個顯示設備112上顯示輸出顯示的各個顯示部分。當檢測到用戶交互(諸如,靠近顯示面板的手)時,在與各個顯示設備相關聯(lián)的各個應用處理器上,更新各個顯示部分上的顯示。作為同步器的狀態(tài)服務器將關于用戶交互的信息傳達給各個應用處理器中的每個,其中每個應用處理器都具有所有系統(tǒng)數(shù)據(jù)。然而,應用處理器中的每個僅負責顯示其各自的顯示部分。因此,應用處理器僅在用戶交互影響顯示部分的情況下才更新其顯示部分。例如,如果用戶移動手部靠近2X4面板顯示器(其中的每個面板由其各自的處理器來控制)中的最左邊的面板,則手部運動所表示的用戶交互被狀態(tài)服務器報告給所有處理器。然而,只有控制最左邊的面板的處理器才改變該面板上產(chǎn)生的顯示,以反映用戶交互。所有其它顯示保持不變,盡管所有其它處理器具有同樣的數(shù)據(jù)匹配。每個處理器保持其自己的上下文,并僅在上下文已經(jīng)改變從而需要更新的情況下才更新其顯示。上下文信息定義整個顯示的什么樣的顯示部分是由處理器產(chǎn)生的。同樣,如果用戶交互需要改變多于一個顯示面板(例如,因為在該顯示器上打開了新的應用程序窗口)中的顯示,則系統(tǒng)的狀態(tài)將會反映出受到影響的每個應用處理器的各個上下文中的每個的改變。由于應用處理器的上下文內(nèi)的改變,處理器的顯示得到了更新。圖2是示出圖1的系統(tǒng)中的處理流程的流程圖。特別地,圖2示出了圖1的系統(tǒng)的特定實施例,在該系統(tǒng)中,使用一組獨立的并且同步的應用處理器來顯示和呈現(xiàn)信息。實現(xiàn)圖1的系統(tǒng)的其它方法可以作為替代,并且對該實施例的變形可以容易地推出。在圖2中,該處理被實現(xiàn)為計算機代碼,在該實例中,是被命名為RWExecutable.cpp的C+十代碼部分202。在流程塊204,代碼部分202首先創(chuàng)建被稱為CRWApplication的對象的實例。在流程塊206,代碼部分202然后調(diào)用新創(chuàng)建的對象。如圖2中的線指示的那樣,控制然后轉(zhuǎn)移到代碼部分210,該代碼部分210是CRWApplication的例示。在代碼部分210的處理之后,在流程塊208,CRWApplication的實例被代碼部分202銷毀。代碼部分210是C十+對象CRWApplication的例示。該對象處理為圖1的系統(tǒng)中的應用項目建立圖形環(huán)境的任務。該對象還初始化和保持應用項目中所定義的所有CRWController的列表,這將在下文中進一步詳細描述。倘若應用項目需要通過多投影儀系統(tǒng)來進行顯示,則內(nèi)容包括CRWScreenAlignmentObject。代碼部分或者應用項目210實現(xiàn)圖2所示的流程圖。在流程塊212,應用項目210讀取包含機器專用設置的任何文件。這種設置的實例包括,定義該機器負責處理各個顯示部分的哪個片段。更寬泛地,機器專用設置定義什么樣的輸出設備將由機器控制。輸出設備可以是顯示設備、激勵器或者任何其它適當?shù)脑O備。在流程塊214,應用項目210建立用于任何所需的圖形、視頻、網(wǎng)絡或音頻能力的DirectX環(huán)境。DirectX是用于訪問若干低級別功能(諸如,連網(wǎng)、圖形、輸入、音頻以及視頻)的庫。所示實施例的系統(tǒng)最廣泛地使用圖形庫,但是網(wǎng)絡庫被用于通信。在流程塊216,應用項目210創(chuàng)建和初始化一個或多個CRWController對象??刂破鲗ο笫菍ο蟮牧斜硪约鞍l(fā)送和從這些對象接收消息的邏輯。在流程塊218,應用項目210創(chuàng)建被稱為CRWScreenAligner的對象。這是允許使用多投影儀拼貼式系統(tǒng)的對象,其中在多投影儀拼貼式系統(tǒng)中,應用項目的顯示被無縫地鋪在許多被投影的區(qū)域上。通過扭曲實際被發(fā)送到投影儀的顯示輸出,該對象校正投影儀的失真,使投影區(qū)域之間的接縫最小化。校正的確切特性可通過該對象完全由用戶配置。在流程塊220,應用項目210初始化網(wǎng)絡對象。該對象允許應用處理器通過網(wǎng)絡與包括狀態(tài)服務器的其它設備通信。在流程塊222,應用項目210檢查退出消息或者指示應用應該被終止的其它數(shù)據(jù)。如果沒有接收到這種消息,則在流程塊224,任何待決消息從應用處理器被傳送到狀態(tài)服務器。在流程塊226,被稱為Render的對象被調(diào)用,以在顯示器上渲染圖像。控制停留在包括流程塊222、224、226的循環(huán)中,直至接收到退出消息。響應于退出消息,控制前進到流程塊228,在該流程塊中,應用項目210向狀態(tài)服務器發(fā)送終止消息,以停止與狀態(tài)服務器的通信。在流程塊230,應用通過銷毀已經(jīng)由應用創(chuàng)建的CRWController對象的所有實例來進行清理。在流程塊232,所有DirectX資源都被釋放,并且該應用終止。圖3示出了圖1的系統(tǒng)的一個軟件實施例的架構流程圖。圖3示出了由于圖2的流程圖中發(fā)生的動作而引起的操作。響應于圖2的流程塊216,在流程塊304,代碼部分302被調(diào)用以初始化專用于Controller對象的任何數(shù)據(jù)結(jié)構。同樣,響應于流程塊216,在流程塊308、310,代碼部分306被調(diào)用,以創(chuàng)建和初始化為應用所需的所有對象。流程塊308例示出了被稱為CRWBaseController的接口312。CRWBaseCon加ller是定義Controller對象的基本屬性的接口。控制器包含從CRWBaseObject得到的對象的列表,以及發(fā)送和從這些對象接收消息的邏輯。CRWBaseObject是定義通用對象(諸如,文本塊(CRWSimpleTextObject)、圖片(CRWTextured2DObject)、或者網(wǎng)眼供給(webcamfeed)(CRWWebCamObject))的屬性的接口??刂破鲃?chuàng)建并維護對象。對象具有初始化的能力,以便在每幀上繪制它們自己的內(nèi)容,并且它們還能夠?qū)碜钥刂破鞯南⒆龀鲰憫詫脤懭胂到y(tǒng)中。開發(fā)者必須編寫從CRWBaseController接口繼承并實現(xiàn)CRWBaseController接口的類。開發(fā)者將對象填入控制器,并且通過指定對象的邏輯,他們定義應用的內(nèi)容和行為。具體地,在流程塊314,CRWBaseController接口允許應用處理器了解子區(qū)域或者整個輸出顯示的各個顯示部分或者應用的幾何結(jié)構的范圍,并建立范圍數(shù)據(jù)以存儲該信息。這些范圍在本文中也被稱為該應用處理器的上下文。此外,在流程塊316,CRWBaseController接口創(chuàng)建在其上繪制控制器內(nèi)容的圖形紋理。流程塊310創(chuàng)建并初始化該應用的所有對象。響應于流程塊310,初始化對象318。在流程塊320,調(diào)用對象CRWBaseObject322。如上面所提到的,CRWBaseObject定義通用對象(例如,對象被"渲染"的一般想法)的功能。圖片、視頻等(CRWVideoObject和本文中描述的其它對象)從基本對象(例如,定義該特定類型的對象如何被渲染)繼承并擴展基本對象。這樣,CRWBaseObject定義所有對象都理解(初始化、渲染等)的命令的基本集合,并且每個對象類型定義對象如何對那些命令做出響應。這允許控制器向?qū)ο蟀l(fā)送命令,而不需要理解它們確切是什么。控制器根據(jù)CRWBaseObject工作,但是每個專用對象用專用的行為做出響應。在流程塊322,創(chuàng)建并初始化對象。然而,在流程塊324,如果應用項目開發(fā)者已經(jīng)指示,該對象將永遠不會被顯示在副本所負責的子區(qū)域或者各個顯示部分中,則抑制對象的創(chuàng)建。再次參考流程塊318,在流程塊320的CRWBaseObject的初始化之后,在流程塊326,初始化當前對象專用的任何資源。第一實例是CRWTextured2DObject,其是二維空間中的矩形,由兩個角點定義。該矩形可以具有簡單的顏色,或者其可容納圖像("紋理")??捎眠x項包括設置對象的顏色值、對其進行旋轉(zhuǎn)、調(diào)整大小、設置其位置、改變其透明度。其它類似實例包括以下實例CRWLineObject,其是二維空間中的直線,由兩個端點定義。除了適用于CRWTextured2DObject的所有屬性和設置外,還可以對該直線的厚度和類型進行設置;CRWMagLine,其是二維空間中的多邊形,由四個角點定義。這使得可以實現(xiàn)比CRWTextured2DObject更靈活的幾何結(jié)構,并主要被用于在視覺上將縮放的區(qū)域連接到未縮放的區(qū)域;CRWWebCamObject,其是二維空間中的矩形,由兩個角點定義。該對象顯示從服務器或網(wǎng)眼取回的連續(xù)的圖像供給。CRWVideoTexture,其是處理從文件取得視頻和向紋理寫入視頻的任務,以及處理對該文件進行的相關聯(lián)的操作(諸如,解壓縮)的對象。CRWVideoObject,其類似于CRWTextured2DObject,但是容納視頻剪輯(見CRWVideoTexture)而不是靜止的圖像。CRWCompoundObject,其是包含和管理對象的集合并將該集合繪制到2D紋理的對象,其中的2D紋理然后可以被繪制到屏幕上。用這種方式復合,該集合中的對象可以全部共享與整體坐標系統(tǒng)分離的坐標系統(tǒng)。改變復合對象的位置、縮放比例、旋轉(zhuǎn)、顏色等會引起所有子對象的成比例的改變。CRWSimpleTextObject,其是一塊文本。設置包括邊界矩形的大小和形狀、字體高度和寬度、顏色和透明度,以及一些格式選項(例如,左對齊和右對齊)。CRWSpriteScatter,其是空間中的點的集合,如同地圖上的圖釘。該集合的規(guī)模可以由用戶設置成任意值。集合中的每個點可以具有一定大小,并且可任選地容納圖像。所有點具有相同的圖像;在該上下文中,圖像被稱為"子畫面"。各點的位置可以從位像中讀取出來,這使得開發(fā)者可以在視覺上安置它們。CRWVideoSpriteScatter,其類似于CRWSpriteScatter,但是每個點可以容納視頻圖像,而不是靜止的圖像。CRWStencilController。模板被用于定義繪制和不繪制對象的位置。CRWStencilController是定義模板和從屬于該模板的各種對象的對象。該對象包含兩個列表將被用作模板的對象,和繪制的對象。CRW3DObject,其與CRWTextured2DObject相似,但是其頂點出現(xiàn)在三維空間中,并且可以有許多的頂點。對象知道如何從文件加載頂點列表,并進行三維光照和三維變換。RW3DRenderObject,其是包含和管理場景中的三維對象的集合并且將該場景繪制到二維紋理上的對象,其中該二維紋理然后可以被繪制到屏幕上。RW3DBiUBoardObject,其是在三維世界中創(chuàng)建二維對象并動態(tài)地更新其方向以使其始終面向觀看者的對象。CRWSoundPlayer,其是被綁定到磁盤上的音頻文件的對象。方法包括播放、暫停、停止等。CRWDataBimdle,其是用于以行列格式容納數(shù)據(jù)的對象。數(shù)據(jù)可以被用戶功能性地插入,或者可以從適當格式化的文本文件中加載。數(shù)據(jù)內(nèi)容也可以被寫入格式化的文本文件。多個CRWDataBundle可以被用于提供一組數(shù)據(jù),用于由CRWChat接口(諸如,CRWPieChart)的實施者進行顯示。CRWChart,其是定義所有圖表對象共同具有的屬性和方法(包括它們的數(shù)據(jù)基礎)的抽象類(或者接口)。CRWPieChart,其是餅形圖對象,實現(xiàn)CRWChart接口。用CRWDataBundle來定義數(shù)據(jù)內(nèi)容。CRWLineChart,其是線圖對象,實現(xiàn)CRWChart接口。用CRWDataBundle來定義數(shù)據(jù)內(nèi)容。CRWBarChart,其是條形圖對象,實現(xiàn)CRWChart接口。用CRWDataBundle來定義數(shù)據(jù)內(nèi)容。CRWScatterPlotChart,其是散點圖對象,實現(xiàn)CRWChart接口。用CRWDataBundle來定義數(shù)據(jù)內(nèi)容。CRWToggle,其是當被放置于觸摸屏消息發(fā)送系統(tǒng)的上下文中時充當按鈕的對象。該對象偵聽與其邊界相對應的坐標范圍內(nèi)的觸摸消息;當被觸發(fā)時,它發(fā)出某個預置的消息,該消息被傳遞給服務器并被轉(zhuǎn)播給網(wǎng)絡上的所有機器,從而提醒每個機器注意狀態(tài)改變。對象知道其自己的狀態(tài),并且也控制其可以被觸發(fā)的頻繁程度。CRWWhiteboardObject,其是容納二維表面上設置的線或點的集合的對象。這些線或點代表白板上的"標記"。該對象的用戶可以將標記添加到白板中或者從白板中除去標記。CRWValuelnterpolatorObject,其是起到類似于停表的作用的對象。用起始時間、持續(xù)時間及起始和停止值將其初始化。在該段持續(xù)時間內(nèi),其采取起始值并將起始值變成停止值(即,其"插入"該值)。各對象和各控制器使用該對象來幫助它們流暢地進行動畫顯示。CRWBezierlnterpolatorObject,其類似于CRWValuelnterpolatorObject,但是使用專用的Bezier函數(shù)來進行插值。在圖2的流程塊226中,對所有CRWController調(diào)用例程Render()。在這種情況下,控制前進至圖3的流程塊330處的開發(fā)者的代碼。在流程塊330,應用控制器在流程塊332更新為正確繪制該幀所需的Controller數(shù)據(jù),并在流程塊334例示CRWBaseController對象以渲染該幀。CRWBaseController例示336循環(huán)訪問控制器中的所有對象,并在流程塊338對每個對象調(diào)用Render()方法。這會使所有對象都被繪制出來。在圖2的流程塊224中,在狀態(tài)服務器和控制器之間傳送消息。在這種情況下,控制前進至開發(fā)者的代碼340。代碼340處理DistributeCommandMessage或者DistributeKeyMessage。在》荒禾呈塊342,調(diào)用用于該消息類型的CRWBaseController344。在流程塊346,該對象循環(huán)訪問控制器中的所有對象,并調(diào)用適當?shù)膶ο?48以處理用于每個對象的消息。這樣,在流程塊350,對象348在流程塊352調(diào)用相對應的CRWBaseObject方法,并在流程塊354處理與一些高級對象相關聯(lián)的特定響應。在開發(fā)者的代碼340對流程塊342進行處理之后,在流程塊360,處理所有系統(tǒng)消息以創(chuàng)建系統(tǒng)的行為的細節(jié)。根據(jù)前文,可以看出目前公開的實施例提供了用于分布式信息處理和交互的系統(tǒng)和方法。在一個一般實施例中,應用處理器對一個或多個軟件應用做出響應以產(chǎn)生輸出,各個輸出一起形成系統(tǒng)輸出。應用處理器的狀態(tài)中的每個改變在狀態(tài)改變消息中被報告給狀態(tài)服務器,狀態(tài)服務器將該消息反映給系統(tǒng)中的所有其它應用處理器。同樣,任何系統(tǒng)輸入都被報告給狀態(tài)服務器,狀態(tài)服務器再次將狀態(tài)改變反映給所有應用處理器。用這種方式,應用處理器被保持在同步狀態(tài)。應該被反映到其它處理器的輸出中的一個處理器中的輸出改變,被自動地并且無縫地這樣得到處理。每個應用處理器可驅(qū)動產(chǎn)生拼貼輸出顯示的一個圖像拼片的顯示設備。應用處理器可以是任何數(shù)據(jù)處理設備,包括例如桌上型或膝上型計算機系統(tǒng),PDA或任何其他處理設備。此外,圖像拼片可在多個顯示器上延伸。每個處理器使用來自狀態(tài)服務器的狀態(tài)改變消息來更新整個顯示器的狀態(tài)信息,即使處理器僅負責對顯示器的指定部分進行顯示。顯示器的分配的、指定的部分是處理器的上下文。輸入設備檢測用戶與顯示器的交互,類似于鼠標運動和鼠標點擊,但是在一個實施例中,這種交互是顯示器前面的手的運動。檢測到的用戶交互被報告給狀態(tài)服務器,并且關于用戶交互的信息從狀態(tài)服務器被反映給產(chǎn)生圖像的應用處理器?;趤碜誀顟B(tài)服務器的信息對圖像進行更新。圖4示出了應用項目歷史儲存庫400。儲存庫400提供了一種用于存儲有關應用項目隨時間的發(fā)展的數(shù)據(jù)的機制。在以下的討論中,應用項目是物料路線安排和配送應用項目,其協(xié)調(diào)將廣泛的各種各樣的物料配送到不同制造廠。然而,應有項目不限于物料路線安排。而是,應用項目實質(zhì)上可以是任何應用項目,包括,例如,化學反應建模;能量(例如,油或氣)供應路線安排;醫(yī)院管理和工作分配及調(diào)度;模擬,諸如軍事演習,病原體的傳播,或原子核的相互作用;復雜結(jié)構(諸如手表、微處理器或飛機)的部件選擇和組裝;藥物代謝的預測;心臟中毒的預測;企業(yè)結(jié)構的確定,諸如要建立多少個工廠或倉庫以及在何處建立工廠或倉庫,或者如何在工廠或倉庫間分配資源;或土木工程任務,諸如規(guī)劃新的道路或修改現(xiàn)有道路,包括估計或模擬的交通負荷和行程時間。儲存庫400包括歷史動作數(shù)據(jù)庫402、歷史狀態(tài)數(shù)據(jù)庫404和歷史環(huán)境數(shù)據(jù)庫406。數(shù)據(jù)處理器408執(zhí)行數(shù)據(jù)庫管理程序410,該數(shù)據(jù)庫管理程序410在通信接口412接收到數(shù)據(jù)之后將數(shù)據(jù)存儲到數(shù)據(jù)庫402-406中。更具體而言,歷史動作數(shù)據(jù)庫402可存儲動作記錄414。每個動作記錄可包括應用項目動作數(shù)據(jù)416、操作者識別符418和應用項目數(shù)據(jù)時間戳420。然而,在動作記錄中可存在更多、更少或不同類型的數(shù)據(jù)。應用項目動作數(shù)據(jù)416表現(xiàn)在給定的動作時間對應用項目采取的動作。操作者識別符提供對動作負責的操作者的識別符(例如,字母數(shù)字字符串)。如果多個操作者聯(lián)合對動作負責,則動作記錄414可包括每個有責任的操作者的操作者識別符。應用項目數(shù)據(jù)時間戳420識別操作者對應用項目采取動作時的時間("應用項目時間")。應用項目動作數(shù)據(jù)416可在用于表現(xiàn)對應用項目或關于應用項目采取的所有動作的類型、形式和內(nèi)容方面變化很大。對物料裝運路線安排應用項目采取的動作的實例包括將物料分配給運輸車輛(例如,火車、卡車或飛機);改變物料的配送時間表;改變運輸車輛的可用性;改變需要物料的制造廠或工廠;改變制造廠所需的物料;改變需要物料的時間或日期;增加新的制造廠、產(chǎn)品、物料供應商、物料、運輸車輛或運輸路線;改變配送車輛的最大速度、最小速度或預期速度;改變運輸、物料或產(chǎn)品當中的一種或多種的費用;設置或改變由制造廠制造的產(chǎn)品,或制造廠的制造量;對顯示表面110上示出的顯示做出注釋;以及改變對制造廠、倉庫、運輸車輛或物料的標簽、標記或其他描述符。其他類型的應用項目動作也可被監(jiān)視、跟蹤和記錄。作為例子,這樣的動作可包括選擇顯示表面110上的地圖的一部分;放大或縮小以觀察地圖上的額外的細節(jié);促使報告被顯示在顯示表面110上;或滾動通過顯示表面110上的信息。附加的例子包括移動指示物(例如,鼠標指針),點擊按鈕,輸入鍵盤的鍵擊,觸摸顯示表面110,或拖拽顯示表面110上的指示物(例如,手指)。通常,可當作應用項目動作的操作者的動作可被預先配置、在運行時選擇或在應用項目執(zhí)行的同時被改變。例如,系統(tǒng)的存儲器中的動作偏好設置可識別那些被認為是應用項目動作的操作者動作。然后,作為操作者動作,系統(tǒng)可確定能當作應用項目動作的動作是否將被存儲到歷史動作數(shù)據(jù)庫402中。圖4示出了這樣一個例子應用項目歷史儲存庫400可包括存儲動作偏好設置的存儲器442。如圖4中所示,動作偏好設置444指示對應用項目的鍵盤輸入將被記錄為歷史動作數(shù)據(jù)庫402中的應用項目動作。動作偏好設置446指示鼠標運動將不會被記錄為歷史動作數(shù)據(jù)庫402中的應用項目動作。此外,在圖4的例子中,動作偏好設置448、450、452和454指定對制造廠、物料、車輛和車輛路線的更新(例如,名字、類型、位置或任何其他特征的改變)將被記錄為歷史動作數(shù)據(jù)庫402中的應用項目動作。這樣,當操作者動作數(shù)據(jù)436到達時,處理器408可比較操作者動作數(shù)據(jù)(例如,包括動作識別符)與偏好設置,以確定數(shù)據(jù)庫管理程序410是否應該將操作者動作作為應用項目動作保存在歷史動作數(shù)據(jù)庫402中。在其他實現(xiàn)方案中,操作者動作可在傳輸?shù)綉庙椖繗v史儲存庫400以前被過濾。在那種情況下,應用項目歷史儲存庫400可將每個操作者動作保存在歷史動作數(shù)據(jù)庫402中,或可使用存儲器442中的本地動作偏好設置來執(zhí)行附加過濾。除了存儲關于應用項目所采取的動作之外,應用項目歷史儲存庫400還存儲應用項目狀態(tài)。特別是,歷史狀態(tài)數(shù)據(jù)庫404存儲狀態(tài)記錄422。狀態(tài)記錄422包括表現(xiàn)處于給定狀態(tài)時間的應用項目狀態(tài)的應用項目狀態(tài)數(shù)據(jù)424和表現(xiàn)狀態(tài)時間(即,捕獲應用項目狀態(tài)數(shù)據(jù)424表現(xiàn)的應用項目狀態(tài)時的時間)的應用項目狀態(tài)時間戳426。當前應用項目狀態(tài)可以以指定應用項目的任何部分的當前特征或?qū)傩缘淖兞縼矸从场_@樣,應用項目狀態(tài)數(shù)據(jù)424可表現(xiàn)作為應用項目在時間上的快照(snapshot)的應用項目狀態(tài),包括例如,運輸車輛的數(shù)目、類型、位置、速度和當前的貨物;制造廠的數(shù)目、類型、位置和產(chǎn)品輸出;一個或多個產(chǎn)品的當前配送時間表或預期;制造廠當前所需物料的數(shù)量、類型和成本;對物料的不足或過剩的當前預測,以及當前分配給每個制造廠或運輸車輛的工人。應用項目狀態(tài)還可包括表列數(shù)據(jù),諸如與應用項目中示出或操縱的實體有關的數(shù)量、成本和信用。應用項目狀態(tài)還可包括系統(tǒng)100(例如,通過網(wǎng)絡)接收到的數(shù)據(jù)。這種網(wǎng)絡數(shù)據(jù)的一個例子包括由應用項目顯示或集成到應用項目中的網(wǎng)頁數(shù)據(jù)。其它例子是符號(例如,地圖符號)、注釋或?qū)︼@示表面110上所示的應用項目做出的或添加到該應用項目上的修訂。另一個例子是從外部天氣報告系統(tǒng)接收到并覆蓋到被合并到顯示表面110上的應用項目中的地圖上的實時的云層。以下的討論涉及反映應用項目所存在的上下文的環(huán)境數(shù)據(jù)。環(huán)境數(shù)據(jù)與應用項目狀態(tài)之間的區(qū)別是靈活的。額外的或不同的區(qū)別或區(qū)別之間的劃分線可在應用項目歷史儲存庫400中確定和實現(xiàn)。這樣,例如,門鎖傳感器可利用顯示表面110提供關于室內(nèi)的個人的環(huán)境數(shù)據(jù)。另一方面,顯示可由操作者操縱的門鎖接口的應用項目可具有的應用項目狀態(tài)包括門鎖及其控制的門的操作和狀態(tài)。在一種實現(xiàn)方案中,可基于應用項目的核心功能來區(qū)分環(huán)境數(shù)據(jù)與應用項目狀態(tài)。那么,環(huán)境數(shù)據(jù)可反映應用項目自始至終發(fā)生了什么,而應用項目狀態(tài)可反映什么應用項目正在實際上被實施、被處理或被顯示。歷史環(huán)境數(shù)據(jù)庫406存儲上下文數(shù)據(jù)。特別是,歷史環(huán)境數(shù)據(jù)庫406存儲環(huán)境記錄428。環(huán)境記錄428可包括環(huán)境數(shù)據(jù)430和應用項目環(huán)境時間戳432。應用項目環(huán)境時間戳432表現(xiàn)捕獲環(huán)境數(shù)據(jù)430時的時間和/或日期。環(huán)境數(shù)據(jù)430提供應用項目動作發(fā)生的和應用項目狀態(tài)存在的上下文。該上下文可以是本地的或遠程的。環(huán)境數(shù)據(jù)的例子包括對應用項目被開發(fā)、研究、使用或修改的環(huán)境的音頻捕獲或視頻捕獲。環(huán)境數(shù)據(jù)可從附近的(例如,在同一建筑物中的不同房間中)或地理上分散的(例如,在洛杉磯、芝加哥和紐約的辦公室中)的多個位置(例如,在分布式開發(fā)關境中)采集。本地環(huán)境數(shù)據(jù)的附加例子包括在一區(qū)域內(nèi)(例如,在規(guī)劃室中)的人的數(shù)目、身份和特征,一個或多個人已經(jīng)在應用項目上工作的時間長度,房間溫度、噪音級、天氣狀況和其他環(huán)境數(shù)據(jù)。其他環(huán)境數(shù)據(jù)可從生物傳感器提供的上下文產(chǎn)生,所述生物傳感器讀取并報告諸如心率、血壓、腦電波活動、體重、身高、體溫的操作者生物數(shù)據(jù)或任何其他生物數(shù)據(jù)。環(huán)境數(shù)據(jù)430還可包括來自于不一定直接與應用項目自身相關的其它信息源的信息。該附加的環(huán)境數(shù)據(jù)可以被加上時間戳以供存儲和后來的檢索和回放。其他信息源可代表網(wǎng)站、免費的或訂閱的電子數(shù)據(jù)庫、新聞組、電子新聞供給(newsfeeds)、期刊論文數(shù)據(jù)庫、手動數(shù)據(jù)錄入服務或其他信息源。如圖5所示,其他信息源的例子包括政府出版物信息源502、在線價格信息源504、財務報告信息源506以及本地和國家新聞信息源508。信息源還可包括一個或多個日志、在線討論或USENET信息源510、分析報告信息源512、產(chǎn)品評論信息源514和商業(yè)新聞信息源516。信息源502-516僅僅是例子,并且儲存庫400可從任何其他信息源接收環(huán)境數(shù)據(jù)。通常,這些源包括可在因特網(wǎng)上或諸如Lexis/Nexis之類的個人付費的訂閱服務上獲得的本地和國家的新報道。公司財務報告也可在公司網(wǎng)站或在政府報告網(wǎng)站上得到。產(chǎn)品的定價信息可經(jīng)常在線獲得,并且信息源可被監(jiān)視以發(fā)現(xiàn)改變和弓I入新信息。附加的信息源包括政府出版物、產(chǎn)品評論、分析報告和商業(yè)新聞,以及可靠性較低的信息源,諸如網(wǎng)絡日志和在線社區(qū)討論公告板或聊天室。返回到圖4,通信接口412通過通信網(wǎng)絡434接收關于在顯示表面110上顯示的應用項目的歷史數(shù)據(jù)。作為例子,通信接口412可接收操作者動作數(shù)據(jù)436、應用項目狀態(tài)數(shù)據(jù)438和環(huán)境數(shù)據(jù)440。如上所述,環(huán)境數(shù)據(jù)440可由本地或遠程的上下文的源頭來提供。操作者動作數(shù)據(jù)436可由系統(tǒng)100提供,系統(tǒng)100檢測并響應操作者與其上顯示應用項目的顯示表面110的交互。例如,操作者動作可由通過輸入設備108進行的操作者輸入產(chǎn)生,或者由諸如與系統(tǒng)100通信的語音識別系統(tǒng)這樣的其它輸入設備產(chǎn)生。應用項目狀態(tài)數(shù)據(jù)438也可由系統(tǒng)100提供。特別是,系統(tǒng)100可在任意給定時間提供當前應用項目狀態(tài)的快照并將該狀態(tài)數(shù)據(jù)傳遞給儲存庫400。應用項目狀態(tài)數(shù)據(jù)438可表現(xiàn)指定整個應用項目或應用項目的任何部分的特征或?qū)傩缘淖兞?。例如,響應于對保存應用項目狀態(tài)的操作者請求,系統(tǒng)100可串行化每個應用項目對象以提供每個對象的二級制表示。應用項目對象可從其重建的二進制表示,然后可作為應用項目狀態(tài)數(shù)據(jù)438被提供給儲存庫400。如上所述,儲存庫400可用操作者識別符418來標記每個由動作記錄414表示的應用項目動作。結(jié)果,應用項目的歷史不僅在全球意義上得到跟蹤,還針對潛在的許多個體行動者得到跟蹤。換言之,操作者識別符418允許儲存庫在多個操作者之間進行區(qū)分并識別哪個操作者對任何給定的應用項目動作負責。對于大量的人員組為其工作的復雜應用項目,操作者標識(identification)會是在回顧應用項目歷史時要具有的非常有益的附加的一條信息。操作者標識數(shù)據(jù)可與操作者動作數(shù)據(jù)436—起被包括。圖6示出了多目標檢測和應用項目狀態(tài)導航系統(tǒng)600的一種實現(xiàn)方案。多目標檢測和應用項目狀態(tài)導航系統(tǒng)600包括應用項目歷史儲存庫400、導航接口系統(tǒng)800(將在下面描述)和包括顯示表面110的分布式信息處理系統(tǒng)100的實現(xiàn)。多目標檢測和應用項目狀態(tài)導航系統(tǒng)600位于戰(zhàn)略規(guī)劃室602中,在該戰(zhàn)略規(guī)劃室602中,一個或多個操作者可研究、修改或評論顯示表面110上顯示的應用項目。如上所述,儲存庫可根據(jù)對動作負責的操作者存儲每個應用項目動作。舉例來說,定義每個應用項目動作的數(shù)據(jù)可由以下提到的傳感器接收,由信息處理系統(tǒng)100封裝到報告消息(例如,XML報告消息)中,并被傳遞給應用項目歷史儲存庫400。戰(zhàn)略規(guī)劃室602并入識別技術,該識別技術提供逐漸增多的關于操作者身份和他們的影響應用項目狀態(tài)的應用項目動作的信息。對識別技術進行區(qū)分的一種方式是把它們當作多個類別(諸如在場類別(presencecategory)、使用類另U(usagecategory)禾口輸入類另廿)中的一部分。然而,識別技術可以以其它方式加以分類。關于在場類別,操作者標識信息傳達了給定操作者在應用項目動作期間在場以及操作者在場的時間。作為一個例子,鑰匙卡門鎖604(或其他門或鎖傳感器)可提供戰(zhàn)略規(guī)劃室602中的個人的身份和刷卡進入室602的時間。無論何時鑰匙卡門鎖604檢測到刷卡,都可發(fā)布操作者標識更新。作為另一個例子,操作者可佩戴證章(badge)606或其它可被感測到的標記。證章606向放置在室602周圍的一個或多個檢測器610發(fā)射ID信號608。在一個實現(xiàn)方案中,證章606是紅外或RFID證章系統(tǒng)的一部分。檢測器610可放置在室602的天花板上或墻壁上。證章606以紅外或RF頻譜發(fā)射唯一的操作者識別符。檢測器610可向信息處理系統(tǒng)100或應用項目歷史儲存庫400報告作為操作者標識數(shù)據(jù)的檢測到的操作者識別符和任何可獲得的附加信息,諸如操作者處于房間的哪一部分(例如,基于多個檢測器610采用的三角測量或其他定位技術)。使用類別中的識別技術可提供關于操作者身份的信息,例如何時知道操作者在場,以及何時存在更大程度的關于何時的確定性。通常,操作者實際上產(chǎn)生應用項目動作的更多證據(jù)是可獲得的。作為一個例子,可采用局部化的標記系統(tǒng)(taggingsystem)。局部化的標記系統(tǒng)可包括電子證章612和傳感器614。證章612和傳感器614可以以限定局部化區(qū)域的功率水平操作,該局部化區(qū)域例如是,與顯示表面110相距0-48英寸、0-36英寸、0-24英寸或0-12英寸。標記系統(tǒng)可以在寬帶頻譜中操作,以支持操作者標識數(shù)據(jù)到儲存庫400的高帶寬通信,該高帶寬通信具有比更粗糙的傳感器系統(tǒng)更高的精確性、更高的分辨率以及更高的頻率。因此,標記系統(tǒng)可不僅檢測操作者是否處于規(guī)劃室602內(nèi),還檢測哪些操作者在顯示表面110本身附近。即使不可能精確地確定哪個操作者對應用項目動作負責,傳感器614也可以提供可能已經(jīng)采取了應用項目動作的人和可能己經(jīng)目擊、支持或?qū)庙椖縿幼髯龀鲐暙I的人的操作者識別符的列表。輸入類別中的識別技術可提供關于操作者身份、操作者采取應用項目動作的時間和操作者采取的特定應用項目動作的信息。這些識別技術更適合于明確地將應用項目動作與特定操作者關聯(lián)起來。以下給出實例。作為一個例子,操作者可攜帶識別輸入設備,諸如鐵筆(stylus)616,系統(tǒng)100可將其與其他鐵筆或其他輸入設備區(qū)分開。每個操作者的鐵筆可通過顏色、形狀、尺寸或其它特征而得以區(qū)分。結(jié)果是,照相機122可捕獲鐵筆的特征(例如,鐵筆的形狀或顏色),這允許確定操作者(已知使用鐵筆的)與應用項目動作之間的對應關系。鐵筆的識別特征然后可與操作者身份關聯(lián)起來,并可被傳遞給儲存庫400??商鎿Q的或追加的,鐵筆可包括RFID標簽或?qū)⒉僮髡咦R別符傳遞給系統(tǒng)100或連接到系統(tǒng)上的傳感器的其它電子識別機構。作為另一個例子,信息處理系統(tǒng)100可從諸如膝上型計算機、PDA、桌上型計算機、蜂窩式電話這樣的其他輸入機構接收應用項目動作。這些輸入機構可并入有認證系統(tǒng)(例如,用戶名/密碼,或公共密鑰/私有密鑰系統(tǒng))。當例如膝上型計算機618連接到信息處理系統(tǒng)IOO(例如,通過WiFi、以太網(wǎng)或其他網(wǎng)絡連接)時,信息處理系統(tǒng)100可認證和識別膝上型計算機618的操作者或膝上型計算機618自身。結(jié)果,任何通過膝上型計算機618采取的或提交的應用項目動作可被識別為由與膝上型計算機618相關聯(lián)的操作者造成(或者被識別為來源于膝上型計算機618自身)。如圖6所示,儲存庫400可與信息處理系統(tǒng)100通信。響應于操作者對導航通過應用項目歷史的請求,信息處理系統(tǒng)100可向儲存庫400中的數(shù)據(jù)庫查詢歷史動作數(shù)據(jù)、應用項目狀態(tài)數(shù)據(jù)和環(huán)境數(shù)據(jù)??商鎿Q的,對應用項目導航的請求可來自于另一個源(例如,直接來自于操作者),而儲存庫400響應該請求并將歷史數(shù)據(jù)提供給信息處理系統(tǒng)100。在一個實現(xiàn)方案中,信息處理系統(tǒng)100生成時間選擇接口元件。操作者可使用時間選擇接口元件來導航通過應用項目歷史。圖7示出了信息處理系統(tǒng)100在其上生成時間選擇接口元件702的顯示表面110的實例。在這種情況下,時間選擇接口元件702是在顯示表面110上呈遞的滾動條。在其他實現(xiàn)方案中,時間選擇接口可包括語音識別系統(tǒng)、菜單選擇、鼠標輪或任何其它輸入機構。時間選擇接口允許操作者提供一個或多個關于在哪觀看應用項目歷史的時間選擇(即,時間和/或日期)。時間選擇接口元件遵守使用語義704。如圖7所示,使用語義704建立滾動條的中心表示應用項目的當前狀態(tài),向左滾動會在時間上向后導航,而向右滾動會在時間上向前導航應用項目。響應于從時間選擇接口元件702獲得的時間選擇(例如,"一周以前","從現(xiàn)在開始一個小時后",或"現(xiàn)在"),信息處理系統(tǒng)IOO生成顯示表面IIO上的應用項目表現(xiàn)。應用項目表現(xiàn)是處于時間接口元件702選擇的時間處的應用項目的呈遞。為了創(chuàng)建應用項目表現(xiàn),信息處理系統(tǒng)100可啟動對儲存庫400中的數(shù)據(jù)庫402-406的查詢。查詢可指定時間選擇,從而導致檢索到的應用項目狀態(tài)數(shù)據(jù)、應用項目動作數(shù)據(jù)和環(huán)境數(shù)據(jù)。當應用項目狀態(tài)數(shù)據(jù)包括處于時間選擇所指定的(或處于預先選擇的操作者或系統(tǒng)選擇的時間閾值內(nèi)的)時間處的應用項目狀態(tài)的快照時,信息處理系統(tǒng)100可根據(jù)檢索出的應用項目狀態(tài)數(shù)據(jù)來呈遞應用項目表現(xiàn)。當應用項目狀態(tài)數(shù)據(jù)不包括指定時間處的應用項目的快照時,信息處理系統(tǒng)100可從在時間上接近于指定時間的應用項目狀態(tài)數(shù)據(jù)開始。然后,信息處理系統(tǒng)100可應用檢索出的應用項目動作數(shù)據(jù)所指定的隨后的操作者動作,以得到指定時間處的應用項目狀態(tài)??商鎿Q的,信息處理系統(tǒng)100可在應用項目開始處開始,并重新應用每個應用項目動作直至指定時間,以達到將在顯示表面110上呈遞的應用項目狀態(tài)。此外,信息處理系統(tǒng)100可回放操作者動作和回放或傳達在每個操作者動作和/或應用項目狀態(tài)期間存在的環(huán)境。這樣,例如,當信息處理系統(tǒng)100應用操作者動作時,信息處理系統(tǒng)100可顯示應用項目動作。作為例子,信息處理系統(tǒng)可顯示鼠標光標移動到選擇菜單并挑選選項,或者可打印描述應用項目動作及其參數(shù)的文本消息。另外,信息處理系統(tǒng)ioo可輸出檢索出的環(huán)境數(shù)據(jù)。例如,信息處理系統(tǒng)100可輸出與應用項目動作同時期地從規(guī)劃室602捕獲的音頻或視頻數(shù)據(jù),任選地由從圖5所示的信息源獲得的同時期的新聞報道或其他上下文信息進行補充。再次參考圖7,該圖顯示了導航實例706,其中操作者已經(jīng)提供了時間選擇720,該時間選擇720指定在應用項目開發(fā)的開始附近的時間。結(jié)果,應用項目表現(xiàn)708顯示應用項目開始附近的應用項目狀態(tài)(例如,帶有表示與其他部件的相關性的連線的三個部件庫存水平)。如導航實例706中所示,部件庫存水平726和728表示兩個部件的庫存豐足,而庫存水平730顯示第三個部件還沒有庫存。圖7也顯示出第二導航實例710。在第二個實例710中,操作者已經(jīng)提供了指定當前的時間選擇722。因此,信息處理系統(tǒng)100顯示應用項目表現(xiàn)712,該應用項目表現(xiàn)712示出當前的應用項目狀態(tài)。在當前的應用項目狀態(tài)中,第一部件的庫存水平726保持豐足,而第二庫存水平728己經(jīng)降低到一半的容量。另外,第三存儲水平730顯示對第三部件的供應已經(jīng)到達一半的容量。圖7也顯示出第三導航實例716,其中操作者己經(jīng)指定對應于未來時間(即明天)的時間選擇724。作為響應,信息處理系統(tǒng)100可應用預測建模、增長預測、外插或內(nèi)插技術來獲得對未來應用項目狀態(tài)的預測。作為一個例子,信息處理系統(tǒng)100可基于部件消耗、制造和補給的歷史水平來預測庫存部件水平。在預測的應用項目狀態(tài)中,第一和第二庫存水平726和728顯示一半容量,而第三庫存水平730顯示豐足的容量。作為另一個例子,信息處理系統(tǒng)100可通過對運輸車輛的當前速度進行外插、咨詢己建立的行程時間表或使用其他因素來預測運輸車輛的位置。作為又一個例子,信息處理系統(tǒng)100可取決于歷史的制造增長速率來預測將會存在的工廠數(shù)目。應用項目表現(xiàn)718響應于預測建模、增長預測、外插、內(nèi)插或其他預測技術,而顯示預測出的處于時間選擇代表的時間處的應用項目的未來狀態(tài)。可替換的,信息處理系統(tǒng)100可將應用項目的當前狀態(tài)與未來時間選擇724—起傳遞給分離的預測建模系統(tǒng)。預測建模系統(tǒng)然后可對當前狀態(tài)應用任何預測建模、增長預測、外插或內(nèi)插技術。所產(chǎn)生的預測的未來應用項目狀態(tài)被傳遞給信息處理系統(tǒng)100以便在顯示表面100上呈遞或作為未來的應用項目狀態(tài)存儲在應用項目歷史儲存庫400中。在圖8中,操作者導航接口系統(tǒng)800接收導航請求和時間選擇,并使應用項目狀態(tài)的顯示與信息處理系統(tǒng)100協(xié)調(diào)。在其他實現(xiàn)方案中,圖8所示的硬件和軟件可被并入到狀態(tài)服務器102中,或者可在與信息處理系統(tǒng)100和/或應用項目歷史儲存庫400通信的其他處理系統(tǒng)上實現(xiàn)。導航接口系統(tǒng)800包括存儲器802、處理器804和顯示器806。導航接口還包括通信接口808,該通信接口808通過網(wǎng)絡434與應用項目歷史儲存庫400和信息處理系統(tǒng)100通信。導航接口系統(tǒng)800從應用項目操作者、從信息處理系統(tǒng)100或從另一個源接收時間選擇812。更具體而言,在存儲器802中運行的接口輸入程序814獲得時間選擇812。接口輸入程序814可以是設備驅(qū)動器,例如,其接收鼠標、鍵盤或觸摸屏輸入。作為其他例子,接口輸入程序814可以是語音識別系統(tǒng),或接收來自信息處理系統(tǒng)100的操作者輸入數(shù)據(jù)的消息接收器。在后一種情況下,接口輸入程序814可從信息處理系統(tǒng)100接收消息,這些消息指示操作者已經(jīng)使用顯示表面110上的時間選擇接口702做出了時間選擇。響應于該時間選擇,時間索引程序816啟動應用項目歷史儲存庫400中的數(shù)據(jù)庫402-406的搜索。時間索引程序816指定用于搜索的時間選擇。搜索可包括以下搜索的任何組合中的一個或多個對歷史動作數(shù)據(jù)庫402的動作搜索,其產(chǎn)生檢索出的應用項目動作數(shù)據(jù)818;對歷史狀態(tài)數(shù)據(jù)庫404的狀態(tài)搜索,其產(chǎn)生檢索出的應用項目狀態(tài)數(shù)據(jù)820;以及對歷史環(huán)境數(shù)據(jù)庫406的環(huán)境搜索,其產(chǎn)生檢索出的環(huán)境數(shù)據(jù)822。輸出程序824將檢索出的數(shù)據(jù)818-822提供給信息處理系統(tǒng)100。信息處理系統(tǒng)100然后可基于上述的時間選擇在顯示表面110上呈遞應用項目表現(xiàn)。顯示表面110不必要被用來顯示應用項目歷史。而是,諸如顯示器806這樣的任何其他顯示器可顯示包括應用項目狀態(tài)、應用項目動作和環(huán)境數(shù)據(jù)的應用項目歷史的全部或一部分。輸出程序824也可輔助信息處理系統(tǒng)100傳達應用項目歷史。例如,輸出程序可包括音頻和/或視頻編碼器/解碼器以再現(xiàn)與任何應用項目動作或應用項目狀態(tài)同時期的音頻和視頻上下文數(shù)據(jù)。圖9示出了導航接口系統(tǒng)800和程序814、816和824可采取的動作的實例。接口輸入程序814監(jiān)視一個或多個時間輸入選擇設備(動作902)。接口輸入程序814獲得操作者己經(jīng)使用時間選擇接口元件指定(動作卯4)的時間選擇??商鎿Q的,接口輸入程序814可獲得來自信息處理系統(tǒng)100或來自另一個源的消息中的時間選擇。接口輸入程序814將時間選擇提供給時間索引程序816(動作906)。時間索引程序816啟動對歷史動作數(shù)據(jù)庫402的動作搜索(動作908)。產(chǎn)生檢索出的應用項目動作數(shù)據(jù)818。時間索引程序816也啟動對歷史狀態(tài)數(shù)據(jù)庫404的狀態(tài)索引(動作910)。產(chǎn)生檢索出的應用項目狀態(tài)數(shù)據(jù)820。另外,時間索引程序816啟動對歷史環(huán)境數(shù)據(jù)庫406的環(huán)境索引以獲得檢索出的環(huán)境數(shù)據(jù)822(動作912)。輸出程序824將檢索出的搜索數(shù)據(jù)818-822傳遞給信息處理系統(tǒng)100(動作914)。信息處理系統(tǒng)100然后可在顯示表面110上重建和呈遞應用項目狀態(tài)。然而,如上所述,輸出程序824或?qū)Ш浇涌谙到y(tǒng)800中的其他邏輯可輸出包括應用項目狀態(tài)、應用項目動作和環(huán)境數(shù)據(jù)的應用項目歷史的全部或一部分??苫趩为毣蚪M合的操作者偏好或預置文件(profile)來建立動作偏好設置。此外,可取決于為應用項目工作的特定操作者來建立或修改信息處理系統(tǒng)IOO、應用項目歷史儲存庫400、多目標檢測和應用項目狀態(tài)導航系統(tǒng)600或?qū)Ш浇涌谙到y(tǒng)800中的其他參數(shù)。例如,每個操作者(或每組操作者)可指定將被認為是那個操作者(那組操作者)的應用項目動作的動作。為了該目的,存儲器422可包括在各個單獨的操作者或多組操作者的基礎上建立的多組偏好數(shù)據(jù)??扇Q于操作者預置文件而變化的參數(shù)的其他例子包括為每個應用項目動作回放的環(huán)境數(shù)據(jù)的數(shù)量、類型和時間間隔,為得到指定的以前或未來的應用項目狀態(tài)而顯示和/或應用歷史應用項目動作的速率,以及用于確定應用項目狀態(tài)記錄何時匹配指定的時間選擇的閾值(例如,帶有處于指定的時間選擇的12個小時內(nèi)的時間戳426的應用項目狀態(tài)記錄422將被認為是匹配的)。操作者預置文件可被當作用戶預置文件的具體實例。用戶預置文件可在管理角色、監(jiān)督角色、操作者角色或任何其他角色中為個體建立系統(tǒng)配置參數(shù)。然后系統(tǒng)100和/或600可提供響應于用戶預置文件的歷史應用項目導航。例如,管理角色中的個體可請求應用項目導航。系統(tǒng)100和/或600可根據(jù)為管理個體建立的預置文件過濾歷史應用項目數(shù)據(jù)。圖IO顯示了應用項目歷史儲存庫1000的第二實例。儲存庫1000中的存儲器422存儲操作者預置文件1002和管理預置文件1004。操作者預置文件1002包括動作偏好1006和回放偏好1008。類似的,管理預置文件包括動作偏好1010和回放偏好1012。盡管預置文件1002和1004被顯示在儲存庫1000中,但預置文件1002和1004可全部或部分地在其他系統(tǒng)中建立或維護,所述其他系統(tǒng)包括信息處理系統(tǒng)100。動作偏好1006、1010可指定將為對應用項目動作負責的特定類型的用戶(例如,操作者或管理個體)記錄的應用項目動作(例如,如上面針對偏好設置444-454提到的那樣)。回放偏好1008、1012可指定在特定類型的用戶啟動應用項目導航時將提供哪些應用項目動作和/或環(huán)境數(shù)據(jù)??山⒏郊拥钠脕砉芾硐到y(tǒng)100和/或600的任何其他方面針對任何特定類型的用戶的行為。作為附加的例子,偏好可指定歷史細節(jié)的級別以基于時間來提供所請求的應用項目導航的時間或回顧或其他上下文。舉例來說,偏好可指定回顧的非常詳細的級別,其中每個應用項目動作和所有可用的環(huán)境數(shù)據(jù)都被回放;概要回顧,其中僅僅回放應用項目動作;或者任何其他回顧級別。應用項目導航技術可結(jié)合用于確定平面上的多個目標的位置的技術(如以下結(jié)合多目標檢測器系統(tǒng)所描述的那樣)來使用。這些技術可用于區(qū)分或識別顯示表面110上的輸入(例如,觸摸、筆寫或其他輸入)以精確地檢測操作者輸入。多目標檢測和應用項目狀態(tài)導航系統(tǒng)600然后可通過如上所述導航操作者通過應用項目狀態(tài)和交互歷史來對輸入做出響應??商鎿Q的或追加的,多目標檢測和應用項目狀態(tài)導航系統(tǒng)600可使用下面描述的多目標檢測器系統(tǒng)來區(qū)分和識別對顯示表面110的輸入,以便幫助解析和指定操作者所采取的應用項目動作。存在各種各樣的用于多目標檢測器系統(tǒng)的應用項目。例如,在大型交互地圖(或其他數(shù)據(jù))正在顯示實時信息的命令中心中,多個用戶可能會希望同時利用地圖工作,從而選擇地圖表面上的對象?,F(xiàn)有的基于照相機的目標系統(tǒng),被限制為檢測單個目標(諸如單個觸摸、筆寫等),需要每個用戶依次觸摸屏幕以便正確地檢測用戶的單個觸摸。對于額外的觸摸輸入,現(xiàn)有的系統(tǒng)可能會具有未定義的或不合需要的效果。相反,下面描述的系統(tǒng)不受這樣的限制。單個用戶或多個用戶可觸摸屏幕多次,并且觸摸的位置甚至利用基于照相機的觸摸系統(tǒng)也能夠正確地得到檢測。用于多目標檢測器系統(tǒng)的消費者應用項目包括例如,電影院大廳中的公共服務亭,其以幾碼寬的列表的格式顯示關于當前放映的電影的信息,即一種數(shù)字布告板。多個、不相關的用戶可同時走近和瀏覽該信息。多目標檢測器系統(tǒng)允許可觸摸的計算出的區(qū)域被當作所有用戶可用的有效表面(activesurface)(不需要用戶獲得諸如鼠標或指示工具這樣的輸入通道以便使用它的表面)對待。多目標檢測器系統(tǒng)因此支持一種新型的有價值的多用戶應用項目。圖11顯示了通過接口與應用設備1110連接的多目標檢測器系統(tǒng)1100的配置。多目標檢測器系統(tǒng)1100可提供指示目標(即,單個用戶(或多個用戶)已經(jīng)觸摸了表面1102)的單個位置或多個位置的數(shù)據(jù)。表面1102可以是平坦的或基本上平坦的。平坦表面1102可由透明塑料或玻璃構成,并且可鄰接單個或一系列顯示屏幕(諸如LCD顯示屏幕)。或者,平坦表面1102可涂覆在一側(cè)上,而將顯示投影到該表面1102的一側(cè)上。表面1102可以是顯示表面1102,并且在用于分布式信息處理和交互的系統(tǒng)100的控制下由一個或多個顯示設備112顯示圖像。多目標檢測器系統(tǒng)1100還可包括一個或多個視覺傳感器1104。視覺傳感器1104可包括照相機,諸如基于CCD的照相機或其他圖像采集設備?;贑CD的照相機可捕獲電磁信息,諸如來自可視和/或紅外光譜的電磁信息。CCD照相機的例子是LumeneraLu275?;贑CD的照相機捕獲的圖像可以是任何適合格式(包括諸如jpeg(是指由聯(lián)合照相專家組提出的標準數(shù)據(jù)格式)或者gif(圖形交換格式)或者其它格式的數(shù)字格式)的單個圖像,或者視頻圖像可以是電影圖像,諸如根據(jù)諸如由運動圖像專家組(MPEG或者其變體之一)提出的標準或者其它標準而被編碼的數(shù)據(jù)文件。其他視覺傳感器1104可包括紅外傳感器,其可以是對來自設備的熱、能量或無線電輻射做出響應以產(chǎn)生圖像的任何傳感設備。多目標檢測器系統(tǒng)1100的配置的一個實例包括兩個或多個沿著觀察表面1102進行查看的照相機,所述照相機的視場平行于表面1102。示例性的基于照相機的系統(tǒng)被公開在2005年4月14日公開的美國專利申請第2005/0077452Al號(美國申請第10/312,983號)中,通過引用將其結(jié)合在本文中。一段黑膠帶可沿著表面1102的底部和側(cè)邊放置,使得如果不存在任何接觸,則感測表面1102附近的圖像的照相機的那部分是黑的。實際上,當不存在接觸時照相機僅可以"看到"黑帶。當諸如用戶的手指或肘、筆或類似物這樣的目標接近或接觸表面1102時,以黑膠帶為背景觀察到的手指在照相機的視場中登記一改變或遮擋(occlusion),該改變或遮擋可隨后被處理。例如,遮擋可包括照相機內(nèi)的視場內(nèi)的亮點。這樣,照相機可獲得平面1102上多個同時出現(xiàn)的目標的圖像。來自照相機的信息可被發(fā)送給多目標狀態(tài)檢測器1106。多目標狀態(tài)檢測器1106因此被配置成從視覺傳感器1104接收信號并反過來提供任何必要的信號。例如,為了從照相機接收jpeg格式文件,多目標狀態(tài)檢測器1106從照相機接收jpeg格式的文件并存儲該文件,從而向照相機提供適當?shù)木W(wǎng)絡握手信號。在另一個例子中,格式可以是來自另一照相機的流式數(shù)據(jù)。在任何一種情況下,格式可包括指示表面1102上多個同時出現(xiàn)的目標的圖像的數(shù)據(jù)。如以下更充分描述的那樣,多目標狀態(tài)檢測器1106可感測表面1102上的單個目標的狀態(tài)或表面1102上的多個目標的狀態(tài)。如上所述,目標可包括手指、筆或者接近或接觸平面1102的其他對象。目標的狀態(tài)可包括目標的任何特征,諸如目標的位置、目標的尺寸或目標的移動(例如,總體移動(向上、向下、向左、向右)或速度)。目標的狀態(tài)可被發(fā)送給用于進行處理的應用設備1110。應用設備1110可包括從多目標狀態(tài)檢測器1106接收目標的所確定的狀態(tài)的輸入接口1112。此外,應用程序1114可使用目標的狀態(tài)作為對程序的控制或歷史導航的輸入。應用程序然后可將其輸出發(fā)送給顯示程序1116。例如,顯示程序1116可在表面1102上顯示圖像或其他呈遞。如上所述,顯示的圖像可包括單個圖像或拼貼輸出顯示的一系列圖像拼片。這樣,多目標檢測器系統(tǒng)1100可檢測用戶的手的位置和移動,并與應用設備1110相結(jié)合地指示用戶的手的位置和運動。例如,如果手部運動應被解釋為左點擊、右點擊或?qū)Ρ砻?102上的顯示的其他鼠標激勵,則應用設備1110將通過處理手部運動并在適當情況下在受控制的顯示部分中反映手部運動來適當?shù)刈龀鲰憫?。圖12顯示了多目標狀態(tài)檢測器1106的展開框圖。多目標狀態(tài)檢測器1106可包括具有處理單元1210、系統(tǒng)存儲器1200和系統(tǒng)總線1212的通用計算設備,所述系統(tǒng)總線1212將包括系統(tǒng)存儲器1200的各種系統(tǒng)部件連接到處理單元1210。處理單元1210可通過訪問系統(tǒng)存儲器1200來執(zhí)行算術、邏輯和/或控制操作。系統(tǒng)存儲器1200可以與處理單元1210相結(jié)合地存儲供使用的信息和/或指令。系統(tǒng)存儲器1200可包括易失性和非易失性存儲器,諸如隨機存取存儲器(RAM)1202和只讀存儲器(ROM)1208。RAM1202可包括狀態(tài)檢測器程序1204,該狀態(tài)檢測器程序1204可包括與圖13-14、20-21和22-23中的流程圖相對應的計算機可讀編程。此外,RAM1202可包括諸如用于執(zhí)行狀態(tài)檢測器程序1204的數(shù)據(jù)這樣的程序數(shù)據(jù)1206。基本輸入/輸出系統(tǒng)(BIOS)可存儲在ROM1208中。系統(tǒng)總線1212可以是包括使用各種總線架構中的任何總線架構的存儲器總線或存儲器控制器、外圍總線和本地總線的幾種總線結(jié)構中的任何總線結(jié)構。多目標狀態(tài)檢測器1106可經(jīng)由視覺傳感器接口1214從視覺傳感器1104接收輸入。如以下更詳細描述的那樣,來自視覺傳感器接口1214的輸入可包括諸如圖19中所示的數(shù)據(jù)那樣的數(shù)據(jù)。多目標狀態(tài)檢測器1106還可包括用于數(shù)據(jù)存儲的硬盤驅(qū)動1218,和用于從可移動外部磁盤1224讀取或向可移動外部磁盤1224寫入的外部磁盤驅(qū)動1222??梢苿哟疟P可以是用于磁盤驅(qū)動器的磁盤或用于光盤驅(qū)動的諸如CDROM這樣的光盤。硬盤驅(qū)動1218和外部磁盤驅(qū)動1222可分別通過硬盤驅(qū)動接口1216和外部磁盤驅(qū)動接口1220連接到系統(tǒng)總線1212。驅(qū)動和與它們相關聯(lián)的計算機可讀介質(zhì)提供用于多目標狀態(tài)檢測器1106的計算機可讀指令、數(shù)據(jù)結(jié)構、程序模塊和其他數(shù)據(jù)的非易失性存儲。也可以使用可存儲能由計算機訪問的數(shù)據(jù)的其他類型的計算機可讀介質(zhì),諸如磁帶盒、閃存卡、隨機存取存儲器、只讀存儲器等。盡管圖12將RAM1202描繪為存儲狀態(tài)檢測器程序1204,但是硬盤1218、外部磁盤1224、ROM1208或RAM1202中的任何一個、任何組合或全部都可以存儲狀態(tài)檢測器程序1204。系統(tǒng)可同時跟蹤多個目標。最初,可能沒有目標登記在系統(tǒng)中。當新的目標到達時,可一次一個地將目標添加到己知的活動目標的列表中,并可與其他預先存在的目標相獨立地得到跟蹤。多目標檢測器系統(tǒng)1100可以不斷地或周期性地向任何連接的客戶軟件(諸如應用設備1110)通知所有被跟蹤的目標的狀態(tài)。應用設備1110可包括適于接受這樣的狀態(tài)信息的任何程序,例如命令中心或電影服務亭應用程序。給定狀態(tài)信息,應用程序的開發(fā)者被允許提供反映這些多個輸入流的軟件行為,諸如基于獨立的用戶輸入在屏幕的不同部分上獨立地移動兩個目標。在本發(fā)明的一個方面中,多目標檢測器系統(tǒng)noo首先確定潛在位置。潛在位置既可包括對應于"真實"目標(例如,對應于實際接觸的目標)的位置,又可包括對應于"幻影(ghost)"目標(例如,不對應于實際目標的目標)的位置。然后分析潛在位置以確定哪些是對應于"真實"目標的位置以及哪些是對應于"幻影"目標的位置。圖13和14顯示了動作1300,多目標狀態(tài)檢測器1106可采取該動作1300來確定潛在位置以及潛在位置對應于"真實"目標還是"幻影"目標。多目標狀態(tài)檢測器1106確定是否存在任何遮擋(動作1302)。動作1302可以對從照相機接收到的每幀信息執(zhí)行,或者可在接收到一組幀之后執(zhí)行。如上所述,遮擋可以是照相機視場中的任何變化。例如,遮擋可包括視場中比相鄰部分更亮的部分。如果目標出現(xiàn)在照相機獲得的圖像中,則遮擋可因此登記。如果存在遮擋,則選擇其中一個照相機作為首要照相機(動作1304)。例如,視覺傳感器1104可包括兩個照相機,照相機A和照相機B。可首先將照相機A指定為首要照相機。對于選出的首要照相機,選擇其視場中的其中一個遮擋(動作1306)。利用該遮擋,可被指定為首要光線的光線被確定為從照相機穿過目標的位置(動作1308)。圖15示出照相機A和照相機B以及平面1102上的兩個目標1502、1504的實例。如上所述,照相機A登記遮擋。遮擋可登記為照相機A的視場中的亮點1910、1920,如圖19所示。遮擋1910、1920指示兩個目標1502、1504。因為照相機A不提供深度信息(即,觸摸或目標距離照相機多遠),所以照相機B提供用于對位置作三角測量的附加信息,如以下更詳細描述的那樣。類似地,照相機B可登記遮擋1930和1940,諸如圖19中所示。遮擋1930、1940指示目標1502、1504。照相機A和照相機B被放置成使得每個視場延伸超出平面1102的外圍邊緣。用這種方式,整個平面1102都在照相機A和照相機B的視場內(nèi)。圖19示出了照相機提供的一幀數(shù)據(jù)。在一個實施例中,照相機可編程為以近似135幀/秒的速度傳遞數(shù)據(jù)??梢皂樞虻匕l(fā)送各幀使得照相機提供順序的圖像信息。市場上能買到的基于照相機的可觸摸顯示器通常以低的多的幀速率工作,諸如大約30幀/秒。幀速率的增大可允許更好地確定表面1102上的目標。例如,對以前幀中的目標的分析潛在地允許更好地確定當前幀的目標,如以下更詳細描述的那樣。照相機的輸出中的僅僅一部分需要被發(fā)送給多目標狀態(tài)檢測器1106以便進行處理,如圖19所示。因此,可將照相機編程為僅發(fā)送處理所需的窄帶數(shù)據(jù),如圖19所示。這可允許照相機增大發(fā)送的幀速率。利用來自照相機A的遮擋,可計算出光線,該光線指示穿過潛在的目標。例如,如圖19所示,其中一個遮擋是1910。利用査找表,遮擋可與光線1602關聯(lián)起來,如圖16所示。例如,圖19中所示的CCD照相機的輸出可包括與捕獲的圖像相對應的一組像素,諸如1到1,600。如果CCD照相機中的像素數(shù)目1350高于指示遮擋的預定亮度,則可訪問查找表以確定與像素數(shù)目1350相關聯(lián)的光線??梢砸愿鞣N方式來表示光線,諸如利用沿著光線的兩個點(xl,yl;x2,y2)或沿著光線的一個點和傾斜度(x,y;m)來表示光線。査找表可在操作期間的任何時間處生成,諸如在初始化處理期間。例如,當視覺傳感器1104是CCD照相機時,照相機生成的像素可與特定光線關聯(lián)起來。如圖19所示,發(fā)送的窄帶數(shù)據(jù)可對應于離散數(shù)目個像素,諸如1600個像素。多個像素中的每一個或多組像素中的每一組可被分配給一光線。為了在初始化期間編譯査找表,平面1102上的各個預先確定的點可被觸摸(諸如通過將一個白色目標貼到平面1102上的一點上)。點亮的相應像素然后可被記錄下來,并被分配給平面1102上的預先確定的點。利用該數(shù)據(jù),可確定與每個像素或一組像素相對應的光線。如果照相機相對于屏幕發(fā)生偏移,則可能需要以上述的方式重新初始化或校準系統(tǒng)??稍谥T如照相機B的次要照相機中選擇遮擋以便進行分析(動作1310)。例如,可選擇遮擋1930。對于次要照相機,利用來自照相機B的遮擋,可計算出指示穿過潛在的觸摸的光線(動作1312)。對于遮擋1930,光線1604穿過觸摸1502。計算兩條光線(首要光線和次要光線)的交點(動作1314)??赏ㄟ^為兩條光線算術地確定是否存在交叉點來計算交點。交叉點(1502)被認為是潛在位置。隨后的分析確定潛在位置是"真實"目標的位置還是"幻影"目標的位置。在圖16所示的情況中,隨后的分析將確定潛在位置是"真實"目標的位置。在兩個真實目標的情況下,有四個潛在位置生成,兩個位置對應于"真實"目標并且兩個位置對應于"幻影"目標。如圖15和16所示,兩個"真實"目標是1502和1504。在圖17和18中,兩個"幻影"目標被顯示為1702和1802。系統(tǒng)也可確定多于兩個真實目標(諸如三個、四個、五個或六個真實目標)的位置。存在幾種確定潛在位置是"真實"目標還是"幻影"目標的位置的方式,如圖14所示,其中圖14續(xù)自圖13開始的流程圖。一種方式是確定潛在位置是否處于平面1102的邊界內(nèi)(動作1316)。如果交叉點處于邊界內(nèi),則交點可能是對應于真實目標的位置。因此,交叉點被添加到所有可能目標的全局列表中(動作1318)。目標的全局列表經(jīng)受進一步的分析,如以下參考圖20-21和圖22-22描述的那樣。在圖16中,光線1602和1604的交叉點出現(xiàn)在目標1502處,該目標1502處于平面1102的邊界內(nèi)。因此,將潛在位置添加到所有潛在目標的全局列表中。多目標狀態(tài)檢測器1106然后確定在次要照相機的視場中是否存在任何其他亮點(動作1320)。在圖19中,例如,還有一個遮擋1940。因此,選擇下一個斑點(動作1322)。圖17示出了為照相機A的遮擋1910和照相機B的遮擋1940確定光線和交叉點的示意圖。如上所述,光線1602是對應于遮擋1910的光線。光線1704是對應于遮擋1940的光線。圖17顯示了兩條光線的交叉點,其可以如上所述算術地計算。在圖17中指定為1702的交叉點處于平面1102的邊界以外。因此,根據(jù)動作1316,交叉點被認為不是對應于"真實"目標的位置并且將不被添加到用于進一步分析的全局列表中。然后分析來自首要照相機的輸出以確定是否存在任何其他遮擋(動作1324)。如果有,則選擇下一個遮擋(動作1326),并且重復處理。例如,圖18顯示了為來自照相機A的第二遮擋1920確定光線的情況。第二遮擋對應于光線1804。如上所述,遮擋1930對應于光線1604。兩條光線產(chǎn)生交叉點1802。交叉點1802處于平面1102的邊界內(nèi)并因此根據(jù)動作1318被添加到可能目標的全局列表中。然而,因為交叉點并不與在該交叉點處的物理目標的存在相對應,所以該交叉點對應于"幻影"目標。在圖20和21中描述的隨后的處理進一步分析潛在位置對應于"真實"目標還是"幻影"目標。在照相機B的所有遮擋都被分析之后,可分析其他照相機。例如,如果使用了第三照相機,諸如照相機C,則該方法可通過將照相機A選為首要照相機并將照相機C選為次要照相機,來重復類似的分析。在所有的次要照相機都被分析之后,確定是否存在任何照相機還沒有被選擇首要照相機(動作1328)。例如,如果照相機B還沒有被選為首要照相機,則選擇它(動作1330),并且重復該處理。通過這種方式,所有的潛在位置可得以確定??煞治鰸撛谖恢玫牧斜恚源_定哪些是對應于"真實"目標的位置以及哪些是對應于"幻影"目標的位置。如上所述,可基于各種因素來進行分析。例如,關于潛在位置是否對應于"真實"目標的確定可以基于之前目標的歷史(包括位置和/或速度歷史)來進行。在一個方面中,可一次一個.目標地編譯歷史,由此僅僅一個附加目標可被添加到處理的當前幀中的歷史中。以這種方式,系統(tǒng)首先看到平面1102上沒有目標,然后看到平面1102上的一個目標,然后看到平面1102上的多個目標。利用該次序,當看到多于一個的目標在平面1102上時,可利用歷史(其包括至少一個目標)來檢測屏幕1102上當前存在的多個目標,如在以下更詳細描述的那樣。圖20-21和圖22-23顯示了動作2000和2200,多目標狀態(tài)檢測器1106可采取這些動作來確定哪些當前的潛在位置對于用真實目標以及確定真實目標的狀態(tài)信息。通常,多目標狀態(tài)檢測器1106編譯真實目標的列表。該列表可在每次分析的開始處(諸如在每一幀被接收到之后)被清除。通過分析之前目標的各個方面(包括之前目標的位置和當前預期位置),可將潛在位置添加到列表中。例如,可以以各種方式來比較之前目標與潛在位置(對應于當前幀中的潛在目標)。具體而言,之前目標的位置和潛在位置之間的距離。作為另一個例子,外插至當前幀的之前目標的位置可與潛在位置相比較。作為又一個例子,可分析之前目標的位置和潛在位置之間形成的光線。此外,觸摸的預期位置可與潛在位置相比較以確定哪個潛在位置對應于"真實"目標。例如,如果預期表面1102的某個部分具有觸摸(諸如請求選擇"打開"、"取消"等的彈出框),則可將表面1102的該部分與潛在位置進行比較。如果潛在位置處于表面1102的預期具有接觸的其中一個部分內(nèi),則可認為潛在位置對應于"真實"目標;否則,潛在位置可被確定為對應于"幻影"目標。對于該分析,多目標狀態(tài)檢測器U06可從應用程序1114接收指示表面1102的哪些部分預期具有觸摸的信息。例如,圖20和21顯示了動作2000,多目標狀態(tài)檢測器1106可采取該動作2000來分析潛在位置。為了分析潛在位置,潛在位置(對應于當前幀中的潛在目標)被分析以確定潛在目標中的一個或一些是否與之前目標"相關"或相對應。例如,可認為潛在目標和之前目標通過"祖先-后代"關系而"相關"起來。"祖先目標"描述在之前的處理循環(huán)(諸如最后一個照相機幀)中對應于真實目標的交點。"后代目標"描述當前幀中"相關"的目標,諸如之前目標延續(xù)到當前幀中的目標。來自之前幀的"祖先目標"可被選擇(動作2002)。可從之前的處理循環(huán)(諸如最后一個照相機幀)中編譯和保存零個或更多個"祖先目標"的列表。在當前正處理的新幀中,一種分析模式是確定是否這個當前幀中的潛在目標中的任何一個與來自最后一幀的"祖先目標"相匹配。這可指示交點均指的是2D平面上的單個真實目標,即使該目標可從一個幀到另一幀移動。如果在過去的和現(xiàn)在的目標之間存在對應關系,則我們可定義這兩個目標之間的祖先-后代關系。預期位置可在當前幀中為選定的祖先目標導出(動作2004)??梢砸愿鞣N方式確定預期位置,諸如基于祖先目標的位置和之前幀中的祖先目標的瞬時速度來確定??纱_定之前幀中的祖先目標的位置與對應于潛在目標的每個潛在位置之間的距離(動作2006)??梢詠G棄與之前幀中的祖先目標的位置相距的距離大于預定閾值的潛在目標(動作2008)。預定閾值可以是幾個變量(諸如照相機的幀速率、屏幕的分辨率和/或目標將以多快的速度移動的假定)的函數(shù)。例如,如果照相機的幀速率更高,則閾值會更低。此外,如果CCD照相機提供像素信息,則閾值可以是屏幕的真實物理分辨率的函數(shù)。例如,如果我們假定一個人以僅僅l英寸每幀(即,近似1/100秒)的速度移動其手指,并且屏幕的分辨率為50像素/英寸,則閾值近似為50個像素。對于未丟棄的潛在目標,確定根據(jù)動作2004的祖先目標的預期位置與每個未丟棄的可能目標之間的距離(動作2010)。位置最接近預期位置的潛在目標被指定為祖先目標的后代(動作2012)。這就完成并延續(xù)了祖先-后代關系,該祖先-后代關系可在許多個照相機幀中延續(xù)。該處理為任何其他祖先目標重復(動作2014),并且選擇下一個祖先目標(動作2016)。(動作2014在圖21中示出,圖21延續(xù)了在圖20中開始的流程圖。)此外,可計算在后代目標和它的相關祖先目標之間形成的光線(動作201S)。例如,后代目標與其潛在位置的一組坐標(諸如xC和yC)相關聯(lián)。類似的,祖先目標與它在之前幀中的位置的一組坐標(諸如xA和yA)相關聯(lián)??捎嬎惆▋山M坐標(xC,yC;xA,yA)的光線。對光線的分析可輔助確定潛在目標是否是"真實"目標。例如,如果兩個后代目標共享相同的光線,則祖先-后代關系向過去追溯得更遠的目標(具有更長歷史的后代)勝出,而其它后代作為可能的幻影而被刪除。作為另一個例子,如果一后代目標與一孤兒(orphan)共享任何光線,該孤兒可以是還沒有與任何祖先成功匹配的新交叉點,則該后代目標勝出并且那個孤兒可作為幻影被刪除。多目標狀態(tài)檢測器1106確定是否有任何后代目標共享相同的光線(動作2020)。如果有,則具有更長的歷史的后代目標被保留在列表上,而其他后代目標被作為幻影刪除(動作2022)。此外,多目標狀態(tài)檢測器1106確定任何后代目標是否與孤兒共享相同的光線(動作2024)。如果是,則后代目標被保留在列表上,而孤兒作為可能的幻影被刪除(動作2026)。保留下來的后代目標被因此指定為"真實的"交點(動作2028)。圖22和23還示出了動作2200,多目標狀態(tài)檢測器1106可采取該動作2200來分析包括潛在的孤兒目標的潛在目標以及分析目標的移動。從真實目標的列表中選出一目標(動作2202)。確定選出的目標是否具有相關聯(lián)的祖先(動作2204)。如果是,則確定后代目標相對于它的相關聯(lián)的祖先的距離和方向(動作2206)。該距離和方向信息以及其他移動信息可被存儲以便在未來的分析中使用。例如,可利用該距離和方向信息來確定目標在下一幀中的預期位置。為了確定目標是否已經(jīng)被移走,諸如用戶將他的手指從屏幕上抬起,確定是否任何祖先不與后代相匹配(動作2208)。此外,確定是否已經(jīng)發(fā)生了超時(動作2210)。如果是,則從列表中除去祖先目標(動作2212),并且除去的祖先被指定為"升上去的目標(targetup)"(動作2214)。取決于取樣速率,超時可包括預定的期滿時間段,諸如特定數(shù)目個毫秒或特定數(shù)目個幀。可選擇超時使得給予目標在非常短暫的暫停(諸如由于振動或傳感器錯誤引起)之后重新出現(xiàn)的機會??稍谀繕瞬辉俦坏怯浀念A定數(shù)目個幀中測量超時時間段。例如,超時時間段可包括目標不再被登記的3個幀(或者在如果各幀以每秒100幀的速度流動則近似為1秒的3/100)。作為另一個例子,超時時間段可包括1個幀。多目標狀態(tài)檢測器1106可確定可能目標的列表上是否有任何可能的目標還沒有與祖先匹配(動作2216)。(動作2216在圖23中示出,圖23延續(xù)了圖22中開始的流程圖)。這指示己經(jīng)獲得了新目標(即,沒有祖先的孤兒)。例如,用戶可能僅僅將他的手指放到平面1102上。未匹配的可能目標被移動到真實目標的列表中(動作2218)并被指定為"降下來的目標(targetdown)"(動作2220)。確定真實目標的列表上的每個條目之間的距離(動作2222)。如果任何距離少于預定的最小值(動作2224),則來自真實目標的列表的歷史較短的條目被除去(動作2226)。預定的距離充當同一目標從一幀移到另一幀(諸如同一手指從一幀移到下一幀)的度量??苫贑CD照相機的當前幀速率來選擇預定的最小值。例如,如果幀速率較低(例如,每秒20幀),則一個人可在一個幀中移動他/她的手指的時間量大于更高的幀速率。因此,對于更慢的照相機,預定的最小值(其充當修剪處理的一部分)會更大。對于以每秒IOO幀的速率工作的照相機,預定的最小值可以是100個像素(為4096像素的近似10英尺的表面選擇的)。該序列除去了與更確定的目標相接近的潛在無意的目標。例如,用戶可能用他的手指觸摸了屏幕的一部分,并且其襯衫袖口無意中接觸了屏幕。為了除去或剪除這些無意目標,建立合格目標之間的最小距離,使得該列表中的一些條目可被剪除。具有較長歷史的目標,諸如維持了較久的祖先-后代關系的那些目標,相對于具有較年輕的祖先-后代關系的目標而言是更優(yōu)選的。這可實現(xiàn)這樣的啟發(fā)(heuristic),即在平面1102上最穩(wěn)固且持續(xù)時間最長的目標是對用戶最重要的目標。盡管已經(jīng)描述了本發(fā)明的各種實施例,但對于本領域普通技術人員來說很明顯的是,在本發(fā)明范圍內(nèi)還可以存在許多實施例和實現(xiàn)方案。因此,本發(fā)明除了所附權利要求及其等價物以外,并不受其他限制。權利要求1.一種用于應用項目的歷史導航的多目標檢測和應用項目狀態(tài)導航系統(tǒng),該系統(tǒng)包括多個輸出設備,其被配置成產(chǎn)生系統(tǒng)輸出的各個輸出部分,各個輸出部分中的每個由整個圖像的指定部分定義;多個應用處理器,每個應用處理器被配置成處理各個應用程序中的一個或多個,每個應用處理器對所述指定部分做出響應并與相關聯(lián)的各個輸出設備相連接,以控制所述相關聯(lián)的各個輸出設備產(chǎn)生所述各個輸出部分;狀態(tài)服務器,其與所述多個應用處理器進行數(shù)據(jù)通信以將所述整個圖像的所述指定部分提供給所述應用處理器;包括歷史狀態(tài)數(shù)據(jù)庫的應用項目歷史儲存庫,所述歷史狀態(tài)數(shù)據(jù)庫包括定義所述應用項目在預定狀態(tài)時間的應用項目狀態(tài)的應用項目狀態(tài)數(shù)據(jù),和表示所述預定狀態(tài)時間的應用項目狀態(tài)時間戳;和導航接口系統(tǒng),其被連接到所述應用項目歷史儲存庫和所述狀態(tài)服務器,所述導航接口系統(tǒng)包括存儲接口輸入程序、時間索引程序和輸出程序的存儲器,所述接口輸入程序可操作地獲得時間選擇,所述時間索引程序可操作地從所述應用項目歷史儲存庫獲得與所述時間選擇相對應的檢索出的應用項目狀態(tài)數(shù)據(jù),所述輸出程序可操作地將所述應用項目狀態(tài)數(shù)據(jù)提供給所述狀態(tài)服務器以在所述多個輸出設備上呈遞與所述時間選擇相對應的應用項目狀態(tài)的應用項目表現(xiàn);和連接到所述存儲器的處理器,其執(zhí)行所述接口輸入程序、所述輸出程序和所述時間索引程序。2.如權利要求l所述的系統(tǒng),其中,所述應用項目歷史儲存庫還包括歷史動作數(shù)據(jù)庫,該歷史動作數(shù)據(jù)庫包括多個操作者的動作記錄,所述動作記錄包括定義在預定動作時間對所述應用項目采取的動作的應用項目動作數(shù)據(jù),識別對采取的動作負責的操作者的操作者識別符,和表示所述預定動作時間的應用項目動作時間戳,并且其中所述時間索引程序還可操作地從所述歷史動作數(shù)據(jù)庫獲得檢索出的應用項目動作數(shù)據(jù);并且所述輸出程序還可操作地將所述檢索出的應用項目動作數(shù)據(jù)與所述應用項目狀態(tài)數(shù)據(jù)一起提供給所述狀態(tài)服務器。3.如權利要求l所述的系統(tǒng),其中,所述應用項目歷史儲存庫還包括歷史環(huán)境數(shù)據(jù)庫,該歷史環(huán)境數(shù)據(jù)庫包括環(huán)境數(shù)據(jù)和應用項目環(huán)境時間戳,所述環(huán)境數(shù)據(jù)定義所述應用項目在預定環(huán)境狀態(tài)時間的環(huán)境狀態(tài),所述應用項目環(huán)境時間戳表示所述預定環(huán)境狀態(tài)時間,并且其中所述時間索引程序還可操作地從所述歷史環(huán)境數(shù)據(jù)庫獲得檢索出的環(huán)境數(shù)據(jù);并且所述輸出程序還可操作地將所述檢索出的環(huán)境數(shù)據(jù)與所述應用項目狀態(tài)數(shù)據(jù)一起提供給所述狀態(tài)服務器。4.如權利要求2所述的系統(tǒng),其中,所述檢索出的應用項目狀態(tài)數(shù)據(jù)與不同于所述時間選擇的應用項目狀態(tài)時間相對應,并且其中,所述檢索出的應用項目動作數(shù)據(jù)定義在所述應用項目狀態(tài)時間和所述時間選擇之間采取的應用項目動作。5.如權利要求3所述的系統(tǒng),其中,所述檢索出的環(huán)境數(shù)據(jù)包括在所述應用項目的開發(fā)期間相對于所述輸出設備而言局部捕獲的音頻信息、視頻信息或這兩者。6.如權利要求5所述的系統(tǒng),還包括輸入檢測器,其被設置來檢測操作者激活并響應于該操作者激勵而產(chǎn)生操作者激活信號;和輸入處理器,其與所述輸入檢測器和所述狀態(tài)服務器進行數(shù)據(jù)通信以傳遞關于所述操作者激活信號的信息以便由所述狀態(tài)服務器處理。7.如權利要求6所述的系統(tǒng),其中,所述檢索出的環(huán)境數(shù)據(jù)包括在所述應用項目的開發(fā)期間相對于所述輸出設備而言局部捕獲的音頻信息、視頻信息或這兩者。8.如權利要求l所述的系統(tǒng),其中,顯示器包括平面,并且還包括至少兩個照相機,其相對于所述平面設置以獲取所述平面上的多個同時存在的目標的圖像;并且其中,所述存儲器還包括邏輯,該邏輯用于接收指示所述多個同時存在的目標的圖像的數(shù)據(jù),利用三角測量確定包括所述多個同時存在的目標的位置和不與所述平面上的觸摸相關聯(lián)的目標的位置的潛在位置,并分析所述潛在位置以確定所述潛在位置中的哪些潛在位置包括所述多個同時存在的目標的位置。9.如權利要求8所述的系統(tǒng),其中,目標被登記為由所述照相機獲取的圖像中的遮擋;并且其中,利用三角測量確定潛在位置的所述邏輯包括用于選擇所述至少兩個照相機中的一個并為選擇的照相機的每個遮擋重復以下邏輯的邏輯確定與所述選擇的照相機的遮擋相對應的光線;確定與未被選擇的照相機的遮擋相對應的光線;和對與所述選擇的照相機的遮擋相對應的光線和與未被選擇的照相機的遮擋相對應的光線進行三角測量以確定所述潛在位置。10.如權利要求l所述的系統(tǒng),其中所述時間索引程序還可操作地執(zhí)行以下操作-獲得根據(jù)用戶預置文件而被過濾的檢索出的應用項目狀態(tài)數(shù)據(jù);從所述應用項目歷史儲存庫獲得檢索出的應用項目動作數(shù)據(jù);和從所述應用項目歷史儲存庫獲得檢索出的環(huán)境數(shù)據(jù);并且所述輸出程序還可操作地執(zhí)行以下操作將所述檢索出的應用項目動作數(shù)據(jù)與所述應用項目狀態(tài)數(shù)據(jù)一起提供給所述狀態(tài)服務器,其中,所述檢索出的應用項目動作數(shù)據(jù)根據(jù)所述用戶預置文件而被過濾;和將所述檢索出的環(huán)境數(shù)據(jù)與所述應用項目狀態(tài)數(shù)據(jù)一起提供給所述狀態(tài)服務器,其中,所述檢索出的環(huán)境數(shù)據(jù)根據(jù)所述用戶預置文件而被過濾。11.一種多目標檢測和應用項目狀態(tài)導航系統(tǒng),用于檢測基本上平坦的表面上的多個同時存在的目標的位置,所述多目標檢測和應用項目狀態(tài)導航系統(tǒng)包括至少兩個照相機,其相對于平坦表面設置以獲取所述平坦表面上的所述多個同時存在的目標的圖像;計算機可讀存儲器,其上存儲有邏輯,該邏輯用于接收指示所述多個同時存在的目標的圖像的數(shù)據(jù),利用三角測量確定包括所述多個同時存在的目標的位置和不與所述平坦表面上的觸摸相關聯(lián)的目標的位置的潛在位置,并分析所述潛在位置以確定所述潛在位置中的哪些潛在位置包括所述多個同時存在的目標的位置。12.如權利要求11所述的系統(tǒng),其中,目標被登記為由所述照相機獲取的圖像中的遮擋;并且其中,利用三角測量確定潛在位置的所述邏輯包括用于選擇所述至少兩個照相機中的一個并為選擇的照相機的每個遮擋重復以下邏輯的邏輯確定與所述選擇的照相機的遮擋相對應的光線;確定與未被選擇的照相機的遮擋相對應的光線;和對與所述選擇的照相機的遮擋相對應的光線和與未被選擇的照相機的遮擋相對應的光線進行三角測量以確定所述潛在位置。13.如權利要求11所述的系統(tǒng),其中,分析潛在位置以確定多個同時存在的目標的位置的所述邏輯包括用于確定所述潛在位置是否與之前識別的目標相關的邏輯。14.如權利要求13所述的系統(tǒng),其中,所述照相機以順序的圖像幀提供信息;并且其中,所述之前識別的目標包括在之前的幀中識別的目標。15.如權利要求14所述的系統(tǒng),其中,在之前的幀中識別的目標包括之前的幀中的目標的位置;并且其中,確定潛在位置是否與之前識別的目標相關的所述邏輯包括用于將所述潛在位置與所述之前的幀中的目標的位置進行比較的邏輯,該邏輯包括用于確定與之前的幀中的目標的位置最接近的潛在位置的邏輯;和用于將與之前的幀中的目標的位置最接近的潛在位置指定為與之前的幀中的目標相關的邏輯。16.如權利要求14所述的系統(tǒng),其中,所述多個同時存在的目標在當前幀中被感測;并且其中,確定潛在位置是否與之前識別的目標相關的所述邏輯包括用于將所述潛在位置與當前幀中的目標的預期位置進行比較的邏輯,該邏輯包括用于確定與之前的幀中的目標的預期位置最接近的潛在位置的邏輯;和用于將與之前的幀中的目標的預期位置最接近的潛在位置指定為與之前的幀中的目標相關的邏輯。17.如權利要求13所述的系統(tǒng),其中,分析潛在位置以確定多個同時存在的目標的位置的所述邏輯包括用于執(zhí)行以下操作的邏輯-確定在所述潛在位置和之前識別的與所述潛在位置相關的目標之間形成的光線;和比較所述光線以確定是否有任何光線是相同的。18.如權利要求17所述的系統(tǒng),其中,分析潛在位置以確定多個同時存在的目標的位置的所述邏輯還包括用于執(zhí)行以下操作的邏輯為光線相同的潛在位置確定哪個潛在位置與之前識別的目標之間具有更長的歷史;和將與之前識別的目標之間具有更長的歷史的潛在位置識別為所述多個同時存在的目標中的一個。19.如權利要求11所述的系統(tǒng),其中,分析潛在位置以確定多個同時存在的目標的位置的所述邏輯包括用于確定所述潛在位置是否處于所述平坦表面的2維邊界內(nèi)的邏輯。20.如權利要求11所述的系統(tǒng),還包括用于執(zhí)行以下操作的邏輯:確定所述多個同時存在的目標的位置之間的距離;將所述距離與預定的最小距離進行比較;如果所述距離小于所述預定的最小距離,則確定所述多個同時存在的目標中的哪個具有較短的歷史;和刪除具有較短的歷史的多個同時存在的目標。全文摘要復雜的協(xié)作或決策支持應用項目執(zhí)行復雜的設計或規(guī)劃任務,通常具有很多組人長期的輸入。時間和復雜性的組合經(jīng)常會遮蔽過去的動作,使得很難記住影響計劃任務的較早階段的因素。如果一項任務涉及同時以及在不同的時間工作的許多人,則實際情況尤其會是這樣。當多組人同時協(xié)作時,檢測和跟蹤用戶或用戶工具在表面(例如,平坦表面)上或表面附近的多個同時的觸摸或移動是必不可少的能力。多目標檢測和應用項目狀態(tài)導航系統(tǒng)提供了一種獨立于應用項目的機制,其允許操作者實時地操作應用項目,以及回顧應用項目的歷史以便更好地理解(或記住)在過去采取的應用項目動作和那些動作的觸發(fā)。文檔編號G06F3/03GK101322091SQ200680043130公開日2008年12月10日申請日期2006年11月17日優(yōu)先權日2005年11月18日發(fā)明者B·L·哈維,K·L·登普斯基申請人:埃森哲全球服務有限公司