專利名稱:用于靜態和視頻圖像的遠程觀看的方法和系統的制作方法
技術領域:
這一般地涉及圖像的遠程觀看,并且更特別地涉及在客戶端服務器環境中靜態和諸如視頻的移動圖像的同時遠程桌面觀看。
背景技術:
存在促進遠程站處的操作者對計算機的遠程控制和訪問的系統。此類系統通常使用使遠程站處的操作者能夠控制所謂的目標(或本地)計算機的方面的設備或機制。更特別地,此類系統通常允許遠程站向目標計算機提供鼠標和鍵盤輸入,并且還允許遠程站觀看視頻顯示輸出。這些類型的系統通常被稱作鍵盤-視頻-鼠標(KVM)系統。諸如這些的系統允許用戶在桌面具有計算機桌面的典型相對靜態圖像時遠程訪問另一計算機并且觀看其桌面。然而,當桌面正在顯示視頻(諸如來自于DVD)時,圖像質量、 傳輸和顯示變壞。傳統KVM系統通常很好地顯示相對靜態遠程計算機桌面。然而,當運動視頻顯示在遠程桌面上時,在此類系統中使用的Dambrackas視頻壓縮(DVC)方案對視頻的編碼不好,并且因此顯示的視頻不呈現與在遠程桌面上呈現的相同的運動的量。除了運動視頻沒有以其全幀速率顯示以外,在鼠標的延遲時間中存在明顯的性能降級。通常,對于相對靜態屏幕,鼠標延遲時間短并且可接受。然而,對于全運動視頻,鼠標延遲時間可能長并且可能顯著減少遠程桌面對于用戶的有用性。傳統系統對于在遠程桌面系統上觀看運動視頻沒有優化并且沒有有效地將靜態圖像和移動圖像顯示在一起。因而,存在對于用于提供對靜態和全運動視頻圖像兩者的有效遠程觀看而減少鼠標延遲時間的系統的期望。
發明內容
根據與本發明一致的方法和系統,提供了一種用于靜止和運動圖像的遠程觀看的數據處理系統,其包括顯示圖像的屏幕,以及存儲器,被配置為存儲用于確定屏幕上的圖像是靜止圖像還是運動圖像的運動閾值。該數據處理系統還包括處理器,被配置為監視在屏幕上顯示的圖像,并且確定在屏幕上顯示的圖像的一個或多個是否多于運動閾值移動。其還包括運動視頻編碼器,被配置為對多于運動閾值移動的屏幕上的圖像進行編碼,以及靜止圖像編碼器,被配置為對少于運動閾值移動的屏幕上的圖像進行編碼。根據另一實現,提供一種用于靜止圖像和運動圖像的遠程觀看的數據處理系統中的方法,其包括顯示具有圖像的屏幕,以及存儲用于確定屏幕上的圖像是靜止圖像還是運動圖像的運動閾值。該方法還包括監視在屏幕上顯示的圖像,并且確定在屏幕上顯示的圖像的一個或多個是否多于運動閾值移動。最后,該方法還包括利用運動圖像編碼器對多于運動閾值移動的屏幕上的圖像進行編碼,并且利用靜止圖像編碼器對少于運動閾值不移動的屏幕上的圖像進行編碼。在又一實現中,提供一種用于靜止圖像和運動圖像的遠程觀看的數據處理系統中的方法,其包括接收利用運動視頻編碼器編碼的、將在屏幕上顯示的圖像,其中該圖像多于運動閾值移動,并且利用運動視頻解碼器對該運動視頻編碼的圖像進行解碼。該方法還包括接收利用靜止圖像編碼器編碼的、將在屏幕上顯示的圖像,其中該圖像少于運動閾值移動,并且利用靜止圖像解碼器對該靜止圖像編碼的圖像進行解碼。該方法還包括在屏幕上顯示解碼的運動視頻圖像和解碼的靜止圖像,并且向目標計算機發送控制信號來控制目標計算機。
圖1示出了根據與本發明一致的方法和系統的示例性KVM計算機系統網絡。圖2示出了同與本發明一致的系統和方法一致的示例性計算機系統。圖3示出了根據與本發明一致的方法和系統的靜態圖像的屏幕視圖。圖4示出了根據與本發明一致的方法和系統的靜態圖像和視頻圖像的屏幕視圖。圖5示出了根據與本發明一致的方法和系統的用于遠程觀看靜態和移動圖像的方法中的步驟。
具體實施例方式根據本發明的方法和系統允許用戶遠程訪問另一計算機并且觀看其桌面而不考慮該桌面是否具有計算機桌面的典型的相對靜態圖像或其是否正在播放諸如來自于DVD 的視頻。可以在此類系統中連同全運動視頻一起來顯示相對靜態屏幕。與本發明一致的方法和系統也可以在顯示全運動視頻時提供兩個短鼠標延遲時間。在一個實現中,硬件和固件捕獲并編碼來自于遠程計算機的視頻,并且客戶端計算機上的軟件解碼已編碼的視頻并且將其顯示給用戶。捕獲和壓縮視頻的硬件和固件識別屏幕的矩形區域何時超過運動閾值,這可以由用戶設置。在這點上,系統定義“運動窗口”。在運動窗口內,諸如MPEG編碼器的運動視頻編碼器對運動視頻進行編碼。在運動窗口之外,更適合靜止圖像的編碼器(諸如DVC編碼器) 對相對靜態視頻進行編碼,尤其避免對運動窗口區域進行編碼。編碼器可以是任何合適的編碼器,包括任何遠程桌面編碼器,諸如遠程桌面協議(RDP)編碼器或虛擬網絡計算(VNC) 編碼器。當運動窗口內的運動落在運動閾值之下時,運動窗口區域恢復到相對靜態視頻圖像。這樣,遠程桌面上的相對靜態視頻與運動視頻共存,并具有可接受的鼠標延遲時間。在一個實現中,這些解決方案組合了針對相對靜態圖像的無損壓縮(諸如DVC)和針對遠程桌面的區域的有損壓縮(諸如MPEG-4)。用于屏幕的靜態圖像的DVC編碼器的無損功能提供了改進的鼠標延遲時間。在以下的討論中,被控制或訪問的計算機或系統通常被稱作目標計算機或目標系統。在某些情況中,目標計算機也被稱作本地計算機。用于訪問或控制目標(本地)計算機的系統通常在此被稱作客戶端系統。為了方便描述,目標計算機上的或直接連接至目標計算機的組件在此被稱作“本地”,而客戶端系統上的或直接連接至客戶端系統的組件在此被稱作“客戶端”。圖1示出了根據與本發明一致的方法和系統的示例性KVM計算機系統。在圖1中示出了 KVM系統100,其中一個或多個客戶端站124-1、124-2,…,(統稱124)控制或訪問一個或多個目標系統114-1-114-k。每個目標系統114包括具有關聯的或附著的本地單元116的目標計算機102。每個客戶端站1 通常包括客戶端單元126、鍵盤106、視頻監視器108和鼠標(或類似的點和點擊(point-and-click)設備)110,盡管某些客戶端站可以僅包括視頻顯示器108和客戶端單元。可以在任意客戶端站IM的視頻監視器108上遠程觀看特定目標計算機102-i的操作,并且可以將客戶端站124的鍵盤106和鼠標110用于向目標計算機102-i提供鍵盤和鼠標輸入。如圖1所示,在KVM系統100中,客戶端站124 能夠控制或訪問不止一個目標計算機。注意,在圖1中繪制在目標系統與客戶端站之間的線表示那些側之間潛在的(并且不必是實際的)有線或無線(例如,RF)鏈路。因此,每個目標計算機102可以由不止一個客戶端站IM控制或訪問,并且每個客戶端站IM可以控制不止一個目標計算機102。在一個實現中,客戶端站IM可以位于目標系統的數百英尺內。此外,在某些上下文中,將目標系統114視為視頻發射器或發送單元,并且客戶端系統IM是視頻接收單元或接收器,盡管兩個單元都發射和接收。通常,視頻從目標系統 114向客戶端站IM傳播,而鍵盤和鼠標數據從客戶端站向目標系統移動。如圖1所示,本地或目標系統114包括目標計算機102和關聯的本地單元116。本地系統114還可以包括鍵盤118、鼠標(或其他點和點擊類型設備)120以及本地監視器122, 每個都直接連接至本地單元116。客戶端站IM包括客戶端單元126。本地或目標計算機 102可以是計算機、服務器、處理器或處理器或邏輯元件的其他集合。通常,目標計算機102 可以包括任何處理器或處理器的集合。通過示例,目標計算機102可以是位于(或嵌入在) 服務器、桌面計算機(諸如PC、Apple Macintosh等)、報亭、ATM、交換機、機頂盒、電器(諸如電視、DVR、DVD播放器等)、車輛、電梯中、制造或處理產品線上的處理器或處理器或邏輯元件的集合。目標計算機102的集合例如可以是機架中的服務器集合或某些其他集合,它們可以彼此獨立或在網絡中或通過某些其他結構彼此連接。本地和客戶端監視器122、108可以是數字的或模擬的。本地單元116是設備或機構(例如,印刷電路板(“PCB”)),其本地安裝到目標/本地計算機102。該設備可以接近計算機但是在計算機的外部,或可以安裝在計算機外殼的內部。不論本地單元116如何定位,在一個實現中,在目標計算機102與本地單元116之間存在直接電氣連接。本地/目標系統114上的各種組件無線地或經由有線連接與客戶端站IM上的組件經由無線連接鏈路134通信。在一個實現中,無線連接或鏈路134遵循IEEE 802. Ila標準協議,盡管本領域技術人員將認識到通信的其他協議和方法是可能的。本地單元116接收本地鼠標和鍵盤信號,例如,如PS2信號。這些信號由本地單元 116提供給目標計算機102。目標計算機102生成視頻輸出信號,例如RGB (紅、綠,藍)信號,將它們提供給本地單元116,本地單元116繼而提供信號以驅動本地監視器122。目標計算機102還可以生成提供給本地單元116的音頻輸出信號。如指出的那樣,目標計算機 102不需要具有鍵盤、鼠標或監視器,并且可以由客戶端站IM完全控制。本地單元116向客戶端站(例如,經由客戶端單元126)傳輸圖像數據用于傳輸。可以在傳輸之前壓縮某些或所有數據。此外,本地單元116可以(從客戶端站124)接收鼠標和鍵盤數據,繼而將鼠標和鍵盤數據提供給本地/目標計算機102。目標計算機102可以執行接收的數據并且可以在其本地監視器122上顯示輸出。客戶端站124經由有線或無線連接(例如,802. Ila無線連接134)從目標計算機102的本地單元116接收視頻數據。客戶端單元1 從本地單元116接收(可能壓縮的)視頻。客戶端單元1 解壓縮(按需)來自于本地單元116的視頻數據并且將其提供給適當的呈現設備,例如,分別提供給客戶端監視器108 (其顯示視頻數據)并且提供給客戶端揚聲器 109。此夕卜,客戶端鼠標110和鍵盤106可以用于生成適當的信號(例如,PS2信號),可以經由客戶端單元126向本地單元116傳輸該信號以便在目標計算機102上執行。圖2示出了同與本發明一致的系統和方法一致的示例性客戶端計算機系統。目標計算機102包括總線203或用于傳送信息的其他通信機制,以及與總線203耦合的處理器 205用于處理信息。客戶端站IM還可以包括與目標計算機102類似的組件,包括提及的某些或所有組件。目標計算機102還包括耦合至總線203的用于存儲由處理器205執行的信息和指令的主存儲器207,諸如隨機訪問存儲器(RAM)或其他動態存儲設備。此外,主存儲器207可以用于存儲在指令的執行期間將由處理器205執行的臨時變量或其他中間信息。 主存儲器207包括用于實現與根據本發明的方法和系統一致的處理的程序213。可以以視頻板、分立的視頻控制器、視頻專用集成電路(ASIC)或其他硬件組件實現視頻編碼器和相關固件。替代地,客戶端站1 上的主存儲器207也可以存儲MPEG編碼器、DVC編碼器或用于對相對靜止和全運動視頻進行編碼的任何其他合適編碼器。客戶端計算機1 的存儲器可以包括靜止圖像和視頻解碼器,例如DVC解碼器和MPEG解碼器。目標計算機102還包括只讀存儲器(R0M)209或耦合至總線203的其他靜態存儲設備,用于存儲用于處理器205 的靜態信息和指令。提供存儲設備211 (諸如磁盤或光盤)并且存儲設備211耦合至總線 203用于存儲信息和指令。根據一個實施例,處理器205執行包含在主存儲器207中的一個或多個指令的一個或多個序列。可以將此類指令從另一計算機可讀介質(諸如存儲設備211)讀入主存儲器 207中。對主存儲器207中指令序列的執行使得處理器205執行在此描述的過程。還可以采用多處理布置中的一個或多個處理器來執行包含在主存儲器207中的指令序列。在替代實施例中,可以使用硬線電路代替軟件指令或與之組合。因此,實施例不限于硬件電路和軟件的任何具體組合。盡管相對于主存儲器207和存儲設備211進行了描述,但是指令和與本發明一致的方法和系統的其他方面可以駐留在另一計算機可讀介質上,另一計算機可讀介質諸如軟盤、柔性盤、硬盤、磁帶、CD-ROM、磁、光或物理介質、RAM、PROM和EPROM、FLASH-EPR0M、任何其他存儲器芯片或帶盒、或現在已知的或之后發現的計算機可以從其讀取的任何其他介質。圖3示出了根據與本發明一致的方法和系統的靜態圖像的屏幕視圖。圖3示出了連接至客戶端站計算機1 以及向用戶顯示的屏幕300,其包括302-308的各種相對靜態圖像。靜態圖像302-308可以是靜止圖像或文本,或可能是相對靜止圖像或文本,并且靜態圖像302-308是從目標計算機102接收的。用戶能夠遠程觀看、操縱這些靜止圖像302-308 并且與之遠程交互。DVC編碼器對相對靜態圖像進行編碼。圖4示出了根據與本發明一致的方法和系統的靜態圖像和視頻圖像的屏幕視圖。 圖4與圖3類似,除了靜止圖像308中的一個變成了全運動視頻圖像310。在檢測到該圖像或屏幕300的區域正在以多于如由用戶設置的或由系統預定的最小運動閾值的速率移動時,系統創建運動窗口 312。替代地,運動窗口 312也可以由用戶通過利用鼠標指示屏幕的區域來創建。該運動窗口 312環繞并包含全運動視頻的區域。在一個實現中,該運動窗口 312不必是矩形的,但是包含正在移動的屏幕300的部分。在運動窗口 312內,MPEG編碼器(或其他合適的運動視頻編碼器)對運動視頻進行編碼,而在運動窗口之外,DVC編碼器 (或其他合適的靜止圖像編碼器)對相對靜態視頻進行編碼,尤其避免對運動窗口區域進行編碼。DVC壓縮也可以實現在芯片上,并且DVC解壓縮可以以客戶端上的軟件完成。在一個實現中,MPEG-4壓縮芯片對視頻進行編碼。系統向客戶端發送編碼的圖像,并且客戶端上的軟件對編碼的圖像進行解碼。用戶能夠遠程觀看、操縱靜止圖像302-306以及全運動視頻圖像308并且與之遠程交互。在一個實現中,觀看器可以是MPEG的任何觀看器,諸如 Windows媒體播放器或任何其他合適的觀看器。圖5示出了根據與本發明一致的方法和系統的用于遠程觀看靜態和移動圖像的方法中的步驟。首先,用戶或系統設置運動閾值,在該運動閾值之上,將確定圖像是運動視頻圖像(步驟502)。在該運動閾值之下,將認為圖像是相對靜態圖像302-306。然后,系統監視屏幕300和屏幕上顯示的圖像以檢測大于運動閾值的運動(步驟504)。利用DVC編碼器對相對靜止圖像302-306進行編碼并且相對靜止圖像302-306顯示在屏幕300上(步驟 506)。如果不存在大于運動閾值的運動(步驟508),則系統繼續監視圖像(步驟504),而利用DVC編碼器顯示靜止圖像302-306 (步驟506)。如果系統確定屏幕300的一部分大于運動閾值移動(步驟508),則創建環繞屏幕移動部分的運動窗口 312 (步驟510)。利用MPEG編碼器或任何其他合適的運動視頻編碼器對運動窗口 312中的區域編碼,并且將其顯示給用戶(步驟512)。同時,利用DVC編碼器或其他合適的靜止圖像編碼器對運動窗口 312之外的部分編碼并且顯示(步驟514)。向客戶端1 發送編碼的圖像,客戶端1 包括對該編碼的圖像進行解碼的軟件。用戶能夠觀看靜態和移動圖像兩者。系統監視運動窗口 312中的運動是否落在運動閾值之下(步驟516)。如果該運動落在運動閾值之下,則其移除運動窗口 312并且將該區域恢復到由DVC編碼器編碼的相對靜態圖像(步驟518)。然后,系統繼續監視屏幕300上的圖像(步驟504)。如果運動窗口 312 中的運動沒有落在運動閾值之下,則系統繼續利用MPEG編碼器顯示圖像,直至其落在運動閾值之下(步驟520)。系統繼續監視屏幕300上的圖像以確定是否顯示任何附加運動視頻并且是否將創建任何附加運動窗口 312 (步驟504)。各種實施例的前述描述提供示范和描述,但是不旨在窮舉本發明或將本發明限制為公開的精確形式。修改和變型按照上述教導是可能的或可以從根據本發明的實踐中獲取。應該理解,本發明旨在覆蓋包括在所附權利要求書的精神和范圍內的各種修改和等同布置。
權利要求
1.一種用于靜止和運動圖像的遠程觀看的數據處理系統,包括 顯示圖像的屏幕;存儲器,被配置為存儲用于確定所述屏幕上的圖像是否是(1)靜止圖像和(2)運動圖像之一的運動閾值; 處理器,被配置為 監視在所述屏幕上顯示的圖像;以及確定在所述屏幕上顯示的所述圖像的一個或多個是否多于所述運動閾值移動; 運動視頻編碼器,被配置為對多于所述運動閾值移動的所述屏幕上的圖像進行編碼;以及靜止圖像編碼器,被配置為對少于所述運動閾值移動的所述屏幕上的圖像進行編碼。
2.根據權利要求1所述的數據處理系統,還包括靜止圖像解碼器,被配置為對由所述靜止圖像編碼器編碼的圖像進行解碼;以及運動視頻解碼器,被配置為對由所述運動視頻編碼器編碼的圖像進行解碼。
3.根據權利要求1所述的數據處理系統,還包括 遠程控制目標計算機的客戶端計算機。
4.根據權利要求1所述的數據處理系統,還包括用于從用戶接收所述運動閾值的輸入。
5.根據權利要求1所述的數據處理系統,其中所述靜止圖像編碼器是遠程桌面編碼ο
6.根據權利要求5所述的數據處理系統,其中所述遠程桌面編碼器是(I)DVC編碼器、 (2) RDP編碼器和(3) VNC編碼器之一。
7.根據權利要求1所述的數據處理系統,其中所述運動視頻編碼器是MPEG編碼器。
8.根據權利要求1所述的數據處理系統,還包括一個或多個運動窗口,所述一個或多個運動窗口環繞多于所述運動閾值移動的一個或多個圖像。
9.根據權利要求8所述的數據處理系統,其中所述處理器還被配置為監視所述一個或多個運動窗口并且確定所監視的運動窗口的一個或多個中的運動是否落在所述運動閾值之下。
10.根據權利要求8所述的數據處理系統,其中所述處理器還被配置為將落在所述運動閾值之下的一個或多個監視的運動窗口作為靜止圖像處理,并且其中所述靜止圖像編碼器被配置為顯示落在所述運動閾值之下的所述一個或多個監視的運動窗口。
11.一種用于靜止圖像和運動圖像的遠程觀看的數據處理系統中的方法,包括 顯示具有圖像的屏幕;存儲用于確定所述屏幕上的圖像是否是(1)靜止圖像和(2)運動圖像之一的運動閾值;監視在所述屏幕上顯示的圖像;確定在所述屏幕上顯示的所述圖像的一個或多個是否多于所述運動閾值移動; 利用運動圖像編碼器對多于所述運動閾值移動的所述屏幕上的圖像進行編碼;以及利用靜止圖像編碼器對少于所述運動閾值不移動的所述屏幕上的圖像進行編碼。
12.根據權利要求11所述的方法,還包括顯示編碼的圖像。
13.根據權利要求11所述的方法,還包括創建一個或多個運動窗口,所述一個或多個運動窗口環繞多于所述運動閾值移動的一個或多個圖像。
14.根據權利要求11所述的方法,還包括對由所述靜止圖像編碼器編碼的圖像進行解碼;以及對由所述運動圖像編碼器編碼的圖像進行解碼。
15.根據權利要求11所述的方法,還包括 利用客戶端計算機遠程控制目標計算機。
16.根據權利要求11所述的方法,還包括 從用戶接收所述運動閾值。
17.根據權利要求11所述的方法,其中所述靜止圖像編碼器是遠程桌面編碼器。
18.根據權利要求11所述的方法,其中所述遠程桌面編碼器是(I)DVC編碼器、(2)RDP 編碼器和(3) VNC編碼器之一。
19.根據權利要求11所述的方法,其中所述運動視頻編碼器是MPEG編碼器。
20.根據權利要求11所述的方法,還包括監視所述一個或多個運動窗口以確定所監視的運動窗口的一個或多個中的運動是否落在所述運動閾值之下。
21.根據權利要求20所述的方法,還包括利用所述靜止圖像編碼器對落在所述運動閾值之下的一個或多個監視的運動窗口進行編碼。
22.一種用于靜止圖像和運動圖像的遠程觀看的數據處理系統中的方法,包括 接收利用運動視頻編碼器編碼的、將在屏幕上顯示的圖像,其中所述圖像多于運動閾值移動;利用運動視頻解碼器對運動視頻編碼的圖像進行解碼;接收利用靜止圖像編碼器編碼的、將在所述屏幕上顯示的圖像,其中所述圖像少于運動閾值移動;利用靜止圖像解碼器對靜止圖像編碼的圖像進行解碼; 在所述屏幕上顯示解碼的運動視頻圖像和解碼的靜止圖像;以及向目標計算機發送控制信號來控制所述目標計算機。
全文摘要
提供允許用戶遠程訪問另一計算機并且觀看其桌面而不考慮該桌面是否具有計算機桌面的典型的相對靜態圖像或其是否正在播放諸如來自于DVD的視頻的方法和系統。可以在此類系統中連同全運動視頻一起來顯示相對靜態屏幕。這些系統也可以在顯示全運動視頻時提供兩個短鼠標延遲時間。在一個實現中,硬件和固件捕獲并編碼來自于遠程計算機的視頻,并且客戶端計算機上的軟件解碼已編碼的視頻并且將其顯示給用戶。
文檔編號H04N7/50GK102474624SQ201080025717
公開日2012年5月23日 申請日期2010年6月15日 優先權日2009年8月4日
發明者S. 西格曼 C., O. 迪恩 G., R. 古德利二世 G., M. 菲利普斯 J., 科斯塔 M. 申請人:阿沃森特公司