用于數(shù)字白板的工具欄動力學(xué)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及用于數(shù)字協(xié)作的裝置、方法和系統(tǒng),并且更特別地涉及有助于多個同時的用戶的數(shù)字白板系統(tǒng)。
【背景技術(shù)】
[0002]數(shù)字白板經(jīng)常用于交互式演示以及用于其他目的。一些白板是聯(lián)網(wǎng)的并且可以用于協(xié)作,從而使得對在一個白板上的顯示圖像做出的修改被復(fù)制到另一個白板或者顯示器上。大規(guī)模的白板為多于一個用戶提供機會以在同一表面上同時地呈現(xiàn)或者作注釋。然而,在多個用戶的協(xié)調(diào)中問題可能發(fā)生,并且在一些情況下,多個用戶對單個白板的使用可能限制他們的表達的靈活性。
[0003]因此,希望找到允許多個用戶分享共同的白板表面的方式,在這種方式中每個用戶具有表達他的或者她的想法的最大的自由。機會因此出現(xiàn)以創(chuàng)建對該問題的魯棒的解決方案。更好的想法、協(xié)作和結(jié)果可以被實現(xiàn)。
【發(fā)明內(nèi)容】
[0004]粗略地描述,本發(fā)明涉及在同一白板上針對不同用戶打開不同繪畫區(qū)域。每個繪畫區(qū)域具有它自己的線條外觀屬性的集合,用戶可以利用工具欄設(shè)置該線條外觀屬性的集合。在繪畫區(qū)域中繪畫的線條采用那時對該繪畫區(qū)域有效的線條外觀屬性,這些線條外觀屬性也應(yīng)用于在協(xié)作會話中在其他設(shè)備上復(fù)制線條。隨著用戶朝著用戶的繪畫區(qū)域的邊界繪畫,該邊界自動地移動以使得繪畫繼續(xù)包含用戶的繪畫活動。
[0005]本發(fā)明的以上
【發(fā)明內(nèi)容】
被提供以便提供對本發(fā)明的一些方面的基礎(chǔ)理解。這一
【發(fā)明內(nèi)容】
并不旨在標(biāo)識本發(fā)明的關(guān)鍵或者重要元件或者勾畫本發(fā)明的范圍。它的唯一目的是以簡化的形式呈現(xiàn)本發(fā)明的一些概念作為稍后被呈現(xiàn)的更詳細的描述的序幕。本發(fā)明的特定方面在權(quán)利要求書、說明書以及附圖中被描述。
【附圖說明】
[0006]將關(guān)于本發(fā)明的具體實施例描述本發(fā)明,并且將參考附圖,這些附圖不一定按比例繪制,并且其中:
[0007]圖1A和圖1B(統(tǒng)稱為圖1)圖示了并入了本發(fā)明的特征的數(shù)字白板協(xié)作環(huán)境的示例方面。
[0008]圖2、圖3、圖4、圖5、圖6、圖7、圖8A、圖8B (統(tǒng)稱為圖8)以及圖9圖示了在圖1的白板上的繪畫區(qū)域行為的方面。
[0009]圖10是計算機系統(tǒng)110 (圖1B)的簡化的框圖。
[0010]圖11是計算機系統(tǒng)110(圖1B)可訪問地存儲的數(shù)據(jù)庫的示意圖。
[0011]圖12(由圖12A、圖12B、圖12C和圖12D組成)是圖示了在其中兩個用戶在圖1的白板上工作的典型流程的流程圖。
[0012]圖13是圖示了引起關(guān)于圖2至圖9所描述的區(qū)域邊界行為的計算機系統(tǒng)100的操作的流程圖。
【具體實施方式】
[0013]以下描述被呈現(xiàn)以使得任何本領(lǐng)域技術(shù)人員能夠制造和使用本發(fā)明,并且在特定應(yīng)用和它的要求的情境中被提供。對公開的實施例的各種修改對于本領(lǐng)域技術(shù)人員來說是顯而易見的,并且在不背離本發(fā)明的精神和范圍的情況下,在此定義的一般原理可以被應(yīng)用于其他實施例和應(yīng)用。因此,本發(fā)明并不旨在限制示出的實施例,而是旨在符合與在此公開的原理和特征一致的最寬范圍。
[0014]圖1圖示了并入了本發(fā)明的特征的數(shù)字白板協(xié)作環(huán)境的示例方面。在該示例中,多個用戶IlOa至110d(統(tǒng)稱為101)可能希望在復(fù)雜的圖像、音樂、視頻、文檔和/或其他媒體(在圖1A中全部通常被指定為103a至103d(統(tǒng)稱為103))中互相協(xié)作。圖示的示例中的用戶使用多個設(shè)備以便互相協(xié)作,例如,平板計算機102a、個人計算機(PC) 102b以及大格式白板102c(統(tǒng)稱為設(shè)備102)。在圖示的示例中,在此有時被稱為“墻”的大格式白板102c容納用戶中的多于一個用戶,在這一情況下為用戶1lc和101d。
[0015]圖1B圖示了與圖1A相同的環(huán)境。如在圖1B中所示,在此有時被稱為“墻”的大格式白板102c由計算機系統(tǒng)110控制,該計算機系統(tǒng)110轉(zhuǎn)而與具有另外可訪問的數(shù)據(jù)庫106的中心協(xié)作服務(wù)器105網(wǎng)絡(luò)通信。如在此所用,術(shù)語“數(shù)據(jù)庫”未必意味著結(jié)構(gòu)的任何統(tǒng)一。例如,當(dāng)兩個或者更多個分離的數(shù)據(jù)庫被一起考慮時,仍然構(gòu)成如該術(shù)語在此被使用“數(shù)據(jù)庫”。例如,數(shù)據(jù)庫106存儲白板畫布的數(shù)字表示。畫布具有無限制的或者實際上無限制的尺寸,并且每個設(shè)備102僅顯示全部畫布的一部分。優(yōu)選地,畫布是根據(jù)需要的大小,僅受制于存儲器存儲和尋址限制。服務(wù)器105存儲用于多個協(xié)作會話的會話數(shù)據(jù),并且向參與會話的白板提供會話數(shù)據(jù)。會話數(shù)據(jù)然后由設(shè)備用來確定要顯示的圖像,并且在白板的顯示表面上向未知分配用于交互的對象。在一些備選中,服務(wù)器105可以記錄用于每個設(shè)備102的“視口(viewpoint) ”,其指示畫布在該設(shè)備上可視的部分,并且可以向每個設(shè)備102提供渲染視口所需的數(shù)據(jù)。
[0016]存儲在數(shù)據(jù)庫106中的用戶接口數(shù)據(jù)包括各種類型的對象,諸如圖像位圖、視頻對象、多頁文檔、可縮放矢量圖形等。設(shè)備102各自經(jīng)由網(wǎng)絡(luò)104與協(xié)作服務(wù)器105通信。網(wǎng)絡(luò)104可以包括全部形式的聯(lián)網(wǎng)組件,諸如LAN、WAN、路由器、交換機、WiFi組件、蜂窩組件、有線和光學(xué)組件以及因特網(wǎng)。在一種情況下,用戶101中的兩個或者更多個用戶位于相同的房間,并且他們的設(shè)備102經(jīng)由WiFi與協(xié)作服務(wù)器105通信。在另一種情況下,用戶101中的兩個或者更多個用戶彼此分離數(shù)千英里,并且他們的設(shè)備102經(jīng)由因特網(wǎng)與協(xié)作服務(wù)器105通信。注意,然而,如圖1中所圖示的協(xié)作環(huán)境是最有利的,在此描述的繪畫區(qū)域邊界特征和移動工具欄特征中的許多特征也可以在單獨的白板102c上被使用。
[0017]墻102c是多點觸摸設(shè)備,該多點觸摸設(shè)備不僅顯示圖像,而且還可以感測通過利用觸針或者身體的一部分(諸如,一個或者多個手指)觸摸顯示表面而提供的用戶手勢。墻102c可以在通過一個或者多個手指(例如,或者整個手)的觸摸與通過觸針的觸摸之間進行區(qū)分。在一個實施例中,墻通過發(fā)射紅外光并且檢測所接收的光來感測觸摸;從用戶的手指反射出的光具有墻區(qū)別于環(huán)境的接收的光的特性。觸針以墻可以區(qū)別于環(huán)境的光和從用戶的手指反射的光二者的方式發(fā)射它的紅外光。例如,墻102c可以是由芬蘭赫爾辛基的MultiTouch有限責(zé)任公司制造的垂直地和水平地平鋪的型號N0.MT553UTBL MultiTact1n單元的陣列。為了提供多種表現(xiàn)手段,墻102c以它維護“狀態(tài)”這樣的方式被操作。也就是說,它可以根據(jù)輸入的序列(等)對給定的輸入不同地作出反應(yīng)。例如,使用工具欄,用戶可以選擇多個可用畫刷(brush)樣式和顏色中的任何可用畫刷樣式和顏色。一旦被選擇,墻就處于在其中通過觸針的隨后的筆畫將使用選擇的畫刷樣式和顏色繪畫線條的狀態(tài)。
[0018]在例示性實施例中,陣列總數(shù)近似6’高和30’寬,該陣列對于多個用戶站在墻的不同部分并且同時操作它是足夠?qū)挼?。然而,由于在該實施例中墻不在不同用戶的手指之間或者由不同用戶操作的觸針之間進行區(qū)分,因此墻上的表達的靈活性可能被限制在多個用戶場景中。因為墻不具有識別第二個用戶的輸入被不同地對待的方式,因此,如果一個用戶將墻放置在一個期望的狀態(tài)中,則第二個用戶將被限于使用該相同的狀態(tài)。
[0019]為了避免該限制,系統(tǒng)在墻102c上定義了“繪畫區(qū)域”。如在此所用的繪畫區(qū)域是在其內(nèi)墻的狀態(tài)的至少一個方面可以獨立于墻上的其他區(qū)域而被改變的區(qū)域。在本實施例中,可以在繪畫區(qū)域中不同的狀態(tài)的方面是使用觸針在墻上繪畫的線條的屬性。對手指觸摸行為的系統(tǒng)的響應(yīng)不被繪畫區(qū)域影響。
[0020]圖2圖示了墻102c。在這一實施例中墻是6’高30’寬。它最初是默認背景顏色或者圖像,并且具有貫穿墻的默認繪畫狀態(tài)。繪畫狀態(tài)由線條繪畫屬性定義,在圖2的實施例中,該線條繪畫屬性包括線條外觀屬性,諸如畫刷類型、畫刷大小和顏色。當(dāng)用戶1lc觸摸墻時,使用觸針或者一個或者多個手指(在此有時被統(tǒng)稱為書寫工具(writingimplement)),工具欄210在附近出現(xiàn)并且繪畫區(qū)域212被定義。對觸摸點進行觸摸是在此有時被稱為“打開用戶輸入”的一個實施例;其他實施例對讀者來說將是顯而易見的。新定義的繪畫區(qū)域的初始繪畫狀態(tài)是預(yù)先定義的默認值(諸如,畫刷類型=墨水,厚度=5mm,顏色=白),在各種實施例中,該默認值可以與墻的剩余部分的默認狀態(tài)匹配或者不匹配。在圖2的實施例中,為繪畫區(qū)域建立的繪畫屬性貫穿繪畫區(qū)域應(yīng)用。線條繪畫在邏輯上在可以運行在計算機系統(tǒng)110上的任何應(yīng)用程序之上的層中的墻上操作,而不管程序是否具有對墻102c的任何特定區(qū)域的所有權(quán)。
[0021]在圖2的實施例中,繪畫區(qū)域總是充滿墻的全部垂直范圍,盡管在其他實施例中,區(qū)域可以是更短和/或具有非矩形的形狀。同樣,在圖2的實施例中,繪畫區(qū)域用左右手邊界214和216被可察覺地劃分;在另一個實施例中,其他手段可以被用來劃分區(qū)域,諸如背景陰影。在又一個實施例中,區(qū)域邊界對用戶不是可感知的。假定向左右足夠的空間,計算機系統(tǒng)110在以用戶的觸摸點為中心的位置上產(chǎn)生繪畫區(qū)域。繪畫區(qū)域具有最小寬度Wmin和理想寬度Wideal。最小寬度優(yōu)選地被選擇為允許合理無拘束的表達的最小的寬度,并且在圖2的實施例中是4’。理想寬度優(yōu)選地被選擇為粗略地等于水平伸出的平均用戶的手臂的最寬跨度,并且在圖2的實施例中是6’。
[0022]如果在用戶的觸摸點的任意一邊存在大量空間,則計算機系統(tǒng)110將初始區(qū)域?qū)挾仍O(shè)置為Wideal。這是在圖2中所圖示的場景。如果用戶的觸摸點對于以它為中心的新的繪畫區(qū)域靠墻邊緣太近,則計算機系統(tǒng)110將靠著墻邊緣鄰接新的繪畫區(qū)域。新的繪畫區(qū)域?qū)⑷匀痪哂屑俣ㄗ銐蚩臻g可用的寬度Wideal,因此,新的繪畫區(qū)域?qū)⒉灰杂脩舻挠|摸點為中心。這可以在圖3中被看到,其中響應(yīng)于在圖示的示例中離邊緣小于一半的Wmin的距離內(nèi)的用戶1lc觸摸點316,繪畫區(qū)域312鄰近墻邊緣314被產(chǎn)生。在另一方面,如果用戶的觸摸點對于創(chuàng)建以觸摸點為中心的繪畫區(qū)域來說離墻邊緣足夠遠,但是