專利名稱:遠程顯示協議、視頻顯示系統、以及終端設備的制作方法
技術領域:
本發明涉及一種遠程顯示技術,通過該技術能夠將儲存在一臺服務器上的或是由服務器生成的數據顯示在終端設備一端,比如客戶端等等。
背景技術:
作為與本發明有關的一項相關技術,在例如日本公開專利2001-251594號(專利文檔1)中已經有所說明。在同一份刊物中說明了一項技術,其中,為了能夠瀏覽或觀看每臺遠程或遠端計算機終端的屏幕、同時又要不使用專用軟件即可保證安全性,計算機終端的顯示器上所顯示的RGB圖像信號被轉換成一個NTSC信號,對應于轉換后的輸出信號的該輸入NTSC信號重新被轉換成RGB圖像信號,該RGB圖像信號再由一個MPEG圖像編碼/解碼單元進行編碼,而來自耳機的語音信號則由一個語音信號編碼/解碼單元進行編碼,MPEG圖像編碼/解碼單元和語音信號編碼/解碼單元的這些輸出被復合在一起,再將這種復合信號發送到一個網絡。
例如,在上述刊物所說明的相關技術中,計算機終端所顯示的數據在外部硬件中被轉換成RGB圖像數據,該圖像數據再由MPEG圖像編碼/解碼單元編碼,隨后再以MPEG圖像數據形式發送出去。接收到數據的遠程終端設備再次將其解碼成RGB圖像數據,該圖像被顯示在顯示器上。
當計算機終端所顯示的數據是MPEG圖像數據時,需要執行解碼、編碼和解碼這樣三個處理步驟,在計算機終端中MPEG圖像數據被解碼以獲取它對應的RGB圖像數據,在外部硬件中RGB圖像數據被編碼以獲取它對應的MPEG圖像數據,然后在遠程外部設備中MPEG圖像數據被解碼以獲取它對應的RGB圖像數據。
本發明的問題是,在用來將儲存在服務器中或由服務器生成的圖像數據顯示在例如客戶端這樣的終端設備上的技術中,省略相關技術中所執行的三個處理步驟中的編碼步驟,(1)要使得能夠通過在服務器端及遠程終端一端進行解碼來回放運動畫面,并且(2)要減少服務器端和遠程終端設備端的相應流量,從而使得在諸如遠程終端設備端顯示運動畫面的幀速率有所改善。
發明內容
本發明提供一種遠程顯示協議、一種視頻顯示系統以及一種終端設備,它們分別解決了上述的問題。
換句話說,本發明的遠程顯示協議和用來在該協議基礎上傳輸顯示數據的服務器或終端設備,其中之一或兩者都配備了附帶路由器的圖形引擎。
(1)本發明提供了一種遠程顯示協議,其中,在一種與傳統遠程顯示協議類似的方式下,一臺服務器將一個窗口以及其裝飾到一個虛擬VRAM中、計算出繪制數據中的差值、將繪圖位置信息添加到其中、并將添加結果發送到終端設備一端,而終端設備則對接收數據進行解碼,并根據繪圖位置信息繪制并顯示數據。
(2)在本發明的遠程顯示協議中,如果要被顯示在窗口內的RGB圖像數據是儲存在服務器中的MPEG圖像數據,那么服務器不會將MPEG圖像數據解碼成相應的RGB圖像數據,該圖像數據是從RGB圖像數據差分解碼成低效率RGB圖像數據的。相反的,服務器會執行一個第一解碼步驟作為預處理、將繪圖位置信息添加到第一解碼步驟獲取的中間數據中以獲得運動畫面流數據、并將運動畫面流數據發送給終端設備。終端設備對接收到的運動畫面流數據執行一個第二解碼步驟作為后處理,并根據繪圖位置信息繪制和顯示經過如此處理的數據。也就是說,服務器只是執行解碼處理的一部分,而不是執行例如完整的MPEG-4解碼,而客戶端的終端設備則執行了剩下的解碼處理步驟,再將數據寫入VRAM并將其顯示出來。
(3)本發明的遠程顯示協議適合使用在某種視頻顯示系統中,該視頻顯示系統是用來在第一和第二終端設備之間傳輸視頻的,也就是,將視頻從第二終端設備發送到第一終端設備并將視頻顯示在第一終端設備上。在該視頻顯示設備中,第一終端設備向第二終端設備通告關于它自己的第一圖形引擎的資源的信息。響應于這個通告,第二終端設備會根據通告信息,在關于第一圖形引擎資源的通告信息和關于它自己的第二圖形引擎資源的信息之間作出比較,并根據比較結果發送中間階段數據,該數據是根據第二圖形引擎資源而不是第一圖形引擎資源進行處理的,因而沒有用到第一圖形引擎資源的部分。第一終端設備以未使用資源處理程序的替代形式對原始MPEG圖像數據執行第一解碼步驟,從而生成對應于中間數據的運動畫面流數據并發送之,然后再生結果產生的視頻。
(4)本發明提供一種能夠發送和接收運動畫面流數據的終端設備。終端設備中所包括的一個CPU將拍攝的視頻、接收到的視頻或是讀取的視頻編碼成中間數據并發送得到的數據,而接收到的運動畫面流數據則在一個圖形引擎中被解碼。
圖1示出了符合本發明的一臺配備了附帶路由器的圖形引擎的計算機的基本配置示意圖;圖2示出了一幅示意圖,用來說明符合本發明的基于遠程顯示傳輸系統的MPEG-4回放步驟;圖3示出了符合本發明的服務器和終端設備的示意圖;圖4示出了一幅示意圖,它圖示出了圖3中所示服務器和終端設備之間的通信狀態;圖5示出了一幅示意圖,它展示了在PC屏幕上顯示便攜式終端設備的顯示內容的顯示實例;圖6示出了一幅示意圖,它圖示出了在TV屏幕上顯示便攜式終端設備的顯示內容的顯示實例;圖7示出了一幅示意圖,它圖示出在便攜式終端設備的屏幕上顯示一個DVD播放機的回放屏幕的實例;圖8示出了一幅示意圖,它展示了配備有符合本發明的附帶路由器的圖形引擎的液晶控制器芯片的配置實例;圖9示出了一幅示意圖,它圖示出配備有符合本發明的附帶路由器的圖形引擎的液晶系統實例;以及圖10示出了一幅示意圖,它展示了一臺配備未附帶路由器的圖形引擎的計算機的配置實例;具體實施方式
下面將參照附圖對本發明的實施例進行說明。
圖1至10是本發明實施例的說明性示意圖。圖1示出了符合本發明的一臺配備了附帶路由器的圖形引擎的計算機的基本配置示意圖;圖2示出了一幅示意圖,用來說明基于遠程顯示傳輸系統的MPEG-4回放步驟;圖3示出了符合本發明的服務器和終端設備的示意圖;圖4示出了一幅示意圖,它圖示出了圖3中所示服務器和終端設備之間的通信狀態;圖5示出了一幅示意圖,它展示了便攜式終端設備的顯示內容被顯示在一臺個人計算機(以下稱為“ PC”)屏幕上的顯示實例;圖6示出了一幅示意圖,它圖示出了便攜式終端設備的顯示內容被顯示在電視機(以下稱為“TV”)屏幕上的顯示實例;圖7示出了一幅示意圖,它圖示出一個DVD播放機的回放屏幕被顯示在便攜式終端設備屏幕上的顯示實例;圖8示出了一幅示意圖,它展示了配備有符合本發明的附帶路由器的圖形引擎的液晶控制器芯片的配置實例;圖9示出了一幅示意圖,它圖示出配備有符合本發明的附帶路由器的圖形引擎的液晶系統實例;以及圖10示出了一幅示意圖,它展示了一臺配備未附帶路由器的圖形引擎的計算機的配置實例。
在圖1中,引用號1代表一個附帶路由器的圖形引擎,引用號10代表一個圖形引擎,引用號11代表一個路由器,引用號12代表一個VRAM,引用號13代表一個傳輸芯片,比如一個無線LAN模塊,引用號14代表一個液晶控制器,引用號15代表一個液晶顯示器,引用號20代表一個CPU,引用號21代表一個北橋,引用號22代表一個主存儲器,引用號23代表一個I/O,引用號24代表一個用作I/O的攝像頭,引用號25代表一個用作I/O的存儲器,以及引用號3代表一臺被用作終端設備的計算機。
CPU 20、主存儲器22、I/O 23、攝像頭24、存儲器25等等都與北橋21相連。I/O 23、攝像頭24以及存儲器25都是通過I/O總線連接北橋21。附帶路由器的圖形引擎1被連接到一條圖形總線上。附帶路由器的圖形引擎1由圖形引擎10和路由器11構成。VRAM12與圖形引擎10相連,并被用作幀存儲器、計算存儲器或是通信緩存。北橋21、圖形引擎10,以及傳輸芯片13都與路由器11相連。路由器11實現這些部件之間的信息傳輸。也就是說,路由器11要實現從CPU 20到圖形引擎10和VRAM 12的PIO訪問、傳輸芯片13到主存儲器22的DMA訪問、從圖形引擎10到傳輸芯片13的I/O至I/O傳輸的中繼等等。液晶控制器14也與圖形引擎10相連。液晶控制器14讀取幀存儲器的位圖數據并將其輸出給液晶顯示器15。液晶顯示器15根據位圖數據完成圖像顯示。
圖2是一幅示意圖,用來說明一臺服務器和一臺客戶端終端設備在根據本發明進行基于遠程顯示傳輸系統的MPEG-4回放時的工作步驟。
作為符合本發明的遠程顯示傳輸系統,已知有一種MPEG流系統(圖2(b)),還有一種解碼過程分布系統(圖2(c))。在MPEG流系統中,窗口圖形繪制在虛擬VRAM上完成并被差分編碼,得到的結果連同MPEG-4的流數據一起被發送給客戶端終端設備。客戶端終端設備對關于差分編碼窗口的數據進行解碼,解碼MPEG-4數據,并將獨立解碼的數據顯示在一起。在解碼過程分布系統中,MPEG流系統中利用客戶端終端設備完成的MPEG-4解碼步驟被分為預處理步驟和后處理步驟,并且其中的預處理步驟是由服務器完成的。伴隨信息被作為標簽添加到從預處理步驟的結果得到的數據中,得到的結果作為中間數據發送給客戶端終端設備。客戶端終端設備對接收到的差分編碼窗口的數據進行解碼,根據標簽對中間數據進行后處理,從而完成MPEG-4的解碼步驟,再將獨立解碼的數據顯示在一起。標簽信息指示了后處理步驟所必需的MPEG-4參數,比如量化系數、序列號或宏塊的顯示位置;下一步要執行的處理步驟,比如對從宏塊中取出的數據進行iDCT(反離散余弦變換);等等。
接著將對信息終端之間的遠程顯示協議及其工作原理進行說明,尤其要對基于解碼過程分布系統的圖形引擎的連接過程進行說明,所述的解碼過程分布系統相應于符合本發明的遠程顯示傳輸系統。
圖3示出了符合本發明的服務器和終端設備的示意圖,而圖4中的示意圖則圖示出了圖3中所示的服務器與終端設備之間的通信狀態。
在圖3中,引用號3a代表一臺服務器(服務器信息終端),而引用號3b則代表一臺客戶端的終端設備。在圖4中,引用號401代表各個信息終端的圖形繪制,引用號402代表服務器3a和客戶端終端設備3b之間的遠程顯示協議,引用號403代表從服務器3a發往客戶端終端設備3b中的圖形引擎10b的指令,引用號404代表從服務器3a向客戶端終端設備3b傳送(釋放)運動畫面流及其圖形繪制,引用號405代表在客戶端終端設備3b的VRAM 12b上根據服務器3a發出的指令而進行的BitBlt(比特塊傳輸)處理步驟,引用號406代表根據服務器的指令從服務器3a的主存儲器22a向客戶端終端設備3b的VRAM 22b進行存儲器復制,引用號407代表根據服務器3a的指令從服務器3a的VRAM 12a向客戶端終端設備3b的VRAM12b進行存儲器復制,引用號408代表在服務器3a端由圖形引擎10a執行中間解碼(生成中間階段數據),將其傳送給客戶端終端設備3b,并由客戶端終端設備3b對其解碼并表示出來,引用號409代表由服務器3a的圖形引擎10a處理儲存在服務器3a端的VRAM 12a中的數據,并將其寫入客戶端終端設備3b的VRAM 12b,以及將它表示出來。
在圖3和圖4中,服務器3a與客戶端終端設備3b在對應于各個無線LAN的傳輸芯片13a和13b之間進行通信。服務器3a依照遠程顯示協議402將關于分辨率的信息以及顏色的數量發送給客戶端終端設備3b,以建立一次會話。在會話被啟動之后,服務器3a會立即得到關于客戶端終端設備3b的圖形引擎10b的型號、VRAM 12b的容量等等的信息,并分離出一個可以由服務器3a的圖形引擎10a接管的處理程序。
在服務器3a和客戶端終端設備3b中,客戶端終端設備3b依照遠程顯示協議402向服務器3a發送分辨率和顏色的數量、以及關于像鍵盤這樣的輸入設備(I/O 23b)的信息,從而建立會話,并由此建立服務器與其對應客戶的關系(402)。
服務器3a的CPU 20a向客戶端終端設備3b的圖形引擎10b指定一塊圖形繪制區域,并獲得一個響應(403)。隨后,CPU 20a根據會話建立時所要求的分辨率和顏色數量打開窗口,并完成修飾,如放置按鈕等等。
服務器3a直接將MPEG-4的運動畫面流數據或類似數據發送給客戶端終端設備3b的圖形引擎10b。圖形引擎10b對其進行解碼,而液晶顯示器15b則將解碼結果顯示出來(404)。
當由于服務器3a的I/O 23a的窗口操作而使得它的顯示位置發生變化時,服務器3a的CPU 20a會向客戶端終端設備3b的圖形引擎10b發送一條BitBlt指令。圖形引擎10b根據BitBlt指令讀取VRAM 12b上的數據并對其進行計算,再把數據寫入指定的地址,從而改變一個對象在窗口或窗口面板上的顯示位置,所述的窗口或窗口面板是顯示在液晶顯示器15b上的(405)。
服務器3a將映射在主存儲器22a中的比特映射數據以特定尺寸和樣式的形式寫入客戶端終端設備3b的VRAM 12b,從而顯示出字符信息(406),所述樣式的字體是由CPU 20a指定的。
服務器3a指示客戶端終端設備3b的圖形引擎10b讀取儲存在VRAM 12a中的一幅很小的圖片和一個圖標。圖形引擎10b根據它的指令讀取VRAM 12a指定地址上的數據,將數據寫入VRAM 12b并顯示出來(407)。
CPU 20a根據另一個處理程序對攝像頭24a的運動畫面進行編碼,并將儲存在主存儲器22a中的運動畫面流數據傳送給客戶端終端設備3b。服務器3a的CPU 20a指示圖形引擎10a和客戶端終端設備3b的圖形引擎10b完成數據回放。這些引擎中的圖形引擎10a執行部分解碼工作以產生中間階段的數據,并將該數據發送給圖形引擎10b。接收到數據的圖形引擎10b完成剩下的解碼工作,將經過如此解碼的數據寫入VRAM 12b并將其顯示在液晶顯示器15b上(408)。中間階段數據是,例如對應于MPEG-4每個塊單元的數據集。圖形引擎10b僅執行最后的iDCT(反離散余弦變換)。
服務器3a的CPU 20a還要向圖形引擎10a發出一條指令,以便讓圖形引擎10a把已經顯示在液晶顯示器15a上的信息顯示到客戶端終端設備3b的液晶顯示器15b上。圖形引擎10a傳送一條指令(寫入指定地址/禁止覆寫)給客戶端終端設備3b的圖形引擎10b。圖形引擎10a處理VRAM 12a上的數據,也就是執行一個多邊形處理程序和表現一個3D圖像,從而生成例如位圖數據,再將數據寫入客戶端3b的VRAM 12b并將其顯示出來。
根據CPU 20a所發出的一系列指令,圖形引擎10a和10b在進行運動畫面流傳輸和3D顯示時彼此協作,以處理并顯示數據。
在接著要說明的例子中,運動畫面流將在便攜式終端設備之間被傳輸、解碼及顯示,所述的便攜式設備可以是例如移動電話、PC、電視機和DVD播放機。
圖5示出了一個顯示實例,其中便攜式終端設備的顯示內容被顯示在PC屏幕上,圖6示出了一個顯示實例,其中便攜式終端設備的顯示內容被顯示在TV屏幕上,圖7也示出了一個顯示實例,其中DVD播放機的回放屏幕被顯示在便攜式終端設備的屏幕上。
在圖5中,引用號30代表便攜式終端設備的顯示屏,引用號40代表顯示了便攜式終端設備的顯示內容的PC屏幕。在圖6中,引用號50代表顯示了便攜式終端設備的顯示內容的TV屏幕。在圖7中,引用號60代表便攜式DVD播放機的顯示屏,引用號30代表便攜式終端設備的屏幕,該屏幕上顯示的DVD內容是由便攜式DVD播放機與便攜式終端設備共同解碼的。
假設在圖5中,一個用戶在發出下一步指令之前正通過便攜式終端設備進行可視電話通話。我們設想有一個用于無線LAN的模塊與圖形引擎相連,并且便攜式終端設備能夠與位于周圍的各臺PC進行通信。用戶在遠程顯示協議的基礎上完成便攜式終端設備與位于周圍的各臺PC之間相應會話的建立。當會話被建立后,便攜式終端設備的屏幕30就出現在PC屏幕40的一部分上。此后,用戶在進行可視電話通話時,就既能夠觀看較大較寬的PC屏幕40,也可以觀看便攜式終端設備的屏幕30。
在會話建立之前,便攜式終端設備的圖形引擎執行運動畫面的編碼和解碼。便攜式終端設備不具有與PC屏幕那樣的大屏幕相對應的VRAM。因此,在會話建立之后,便攜式終端設備將運動畫面數據發送給相應的PC,在PC中進行解碼和放大處理,以實現放大的顯示。通過按動便攜式終端設備的垂直和水平鍵,在PC上表示出來的便攜式終端設備的顯示內容能在PC屏幕40的垂直與水平方向上平移。
即使在會話建立之后,PC的OS或設備驅動器也會在遠程顯示協議的基礎上向便攜式終端設備發送一張按鍵映射表,以便將例如一個鍵盤的數字鍵綁定到便攜式終端設備的虛擬I/O。當會話被繼續時,PC的鍵盤也繼續允許撥號或類似操作。
在圖6中,一個用戶在發出下一步指令之前利用便攜式終端設備進行可視電話通話。現在設想便攜式終端設備配備了附帶路由器的圖形引擎,并且有一個用于無線LAN的模塊與圖形引擎相連。再設想位于用戶周圍的每臺TV、或是與TV相連的STB(機頂盒)也都配備了附帶路由器的圖形引擎,并且能夠與用戶的便攜式終端設備通信。用戶在遠程顯示協議的基礎上完成便攜式終端設備與位于周圍的各臺STB之間會話的建立。當會話被建立后,便攜式終端設備的屏幕30出現在TV屏幕50的一部分上。隨后,用戶在進行可視電話通話時,即可觀看較大且較寬的TV屏幕50,也可觀看便攜式終端設備的屏幕30。在該會話期間,STB響應MPEG-2的程序流與傳輸流,但是不適合MPEG-4的回放。因此,便攜式終端設備對MPEG-4的數據流進行去量化,并解碼一個運動矢量以產生中間階段數據,并將其發送給STB。STB根據反離散余弦變換將對應于去量化后的各個塊單元的數據集轉換成位圖數據,并根據運動矢量執行存儲器讀取和計算,從而實現運動畫面的回放。通過按動便攜式終端設備的垂直和水平鍵,在TV屏幕50上表示出來的便攜式終端設備的顯示器30能在TV屏幕50的垂直與水平方向上平移。
在從便攜式終端設備建立了會話之后,STB的OS在遠程顯示協議的基礎上向便攜式終端設備發送一張對應于顯示在TV屏幕50上的軟鍵盤的按鍵映射表,以便實現對移動電話虛擬I/O的按鍵綁定。隨后,當會話被繼續時,軟鍵盤被顯示在TV屏幕50上,并且撥號或類似操作可以通過軟鍵盤實現。
在圖7中,假設用戶的便攜式終端設備配備了附帶路由器的圖形引擎,并且有一個用于無線LAN的模塊與圖形引擎相連。還假設位于用戶附近的DVD播放機或是與DVD播放機相連的STB(機頂盒)也配備了附帶路由器的圖形引擎,而且它能夠與用戶的便攜式終端設備通信。用戶在遠程顯示協議的基礎上完成便攜式終端設備與位于周圍的各臺STB之間會話的建立。當會話被建立后,由DVD再生的一幅圖像,在其回放開始時的頂部菜單等等都被顯示在顯示屏60上。幾乎在同時,安裝在DVD播放機或STB中的圖形引擎執行圖像按比例縮小的處理程序,例如,把一幅525i的640×320圖像縮小到QCIF尺寸、將幀速率轉換成15幀/秒、并通過無線LAN將其發送給便攜式終端設備。用戶按下與便攜式終端設備屏幕30上各個圖標相關的按鈕或按鍵來實現回放控制。
另外,在遠程顯示協議的基礎上建立會話時,關于便攜式終端設備的交叉方向按鈕與按鍵的映射信息就在便攜式終端設備與DVD播放機之間進行了交換與登記。因此,通過按下例如便攜式終端設備的十字按鈕或按鍵就可以對BML說明的DVD的菜單屏幕進行切換與選擇,從而指示DVD播放機執行相應的操作。
在本配置中,DVD播放機執行MPEG-2中固有的一個處理程序作為預處理,這樣便攜式終端設備就只需執行MPEG-2和MPEG-4都需要的一個處理程序。因此,只能實現MPEG-4回放的便攜式終端設備也能夠實現MPEG-2的回放。
根據參照圖1至7說明的實施例,能夠對MPEG-4的流回放進行加速或類似操作,并能保持高幀速,在傳統的遠程顯示傳輸系統中進行所述加速或類似操作會帶來較低的幀速。服務器端不需要對MPEG-4流數據進行解碼以及對從MPEG-4流數據中解碼出來的圖像進行差分編碼,從而能夠降低主存儲器的容量和CPU的負荷。同時也可以降低對主存儲器上的虛擬VRAM的存儲器訪問次數。另外,還可以降低存儲器總線的占用時間、減少對緩沖存儲器的環境開關的操作次數,等等。此外還能夠緩解施加到CPU所執行的其他程序上的影響,并縮短執行其他程序所需的時間。另外,服務器與客戶端終端設備通過附帶路由器的圖形引擎將MPEG-4的解碼處理程序分為預處理和后處理兩個部分,從而能夠在服務器與客戶端終端設備之間達到負荷平衡。增加預處理量還使得處理性能較低的客戶端終端設備能夠進行運動畫面的回放。例如,通過將預處理定義為MPEG-4中固有的處理程序,并將后處理定義為MPEG-2和MPEG-4共同需要的處理程序,即使是只能進行MPEG-2回放的各個終端也能進行MPEG-4回放了。
圖8示出了一幅示意圖,它展示了配備有附帶路由器的圖形引擎的液晶控制器芯片的配置實例。
在圖8所示的液晶控制器芯片中,在同一個芯片內提供了一個圖形引擎10和一個液晶控制器14,它們共同使用VRAM 12。由于這樣一種配置,工作區RAM的容量就可以減少,這種RAM以前是分別包含在液晶控制器和圖形引擎中的。由液晶控制器14提供來讀取VRAM 12的時間安排是已知的,因而對傳輸芯片13、CPU 20以及圖形引擎10進行讀/寫的時序安排就變得容易了。
圖9示出了一幅示意圖,它展示了符合本發明的配備有附帶路由器的圖形引擎的液晶系統的配置實例。
在圖9中,液晶系統包括一個圖形引擎10、一個路由器11和一個液晶控制器14,它們與一個液晶驅動LSI(未示出)共同被安裝在液晶顯示器15的液晶面板(未示出)的背后。由于液晶驅動LSI能夠很容易地判斷出是否存在對VRAM 12、重寫或重新編程區域等的改寫,因此顯示內容在未經重寫的區域內保持不變。在MPEG-1與2的p和b幀情況下,特別是在MPEG-4的pVOP和bVOP情況下,數據流中的每一個宏塊都被繪制在由其位置信息指定的區域上,在沒有宏塊被繪制的顯示區域中不對該區域進行改寫,而且緊靠前的屏幕、也就是緊靠前的幀數據會被保留并顯示出來。
由于VRAM 12和顯示區域中的各個單獨象素都由液晶驅動LSI支配,所以除非進行了改寫,否則顯示內容就會保持不變。在沒有顯示內容內容被改變時,可以避免額外的處理與功率消耗。由于傳輸芯片13會使得位圖數據直接流入VRAM 12,并讓一條指令和一個MPEG的(數據)流或類似數據直接流入圖形引擎10,這樣就能夠實現高速繪圖和高速顯示。
圖10示出了一幅本申請中發明內容的比較說明示意圖,它還是一幅展示了一個基本配置實例的示意圖,其中((a))是配置了不附帶路由器的圖形引擎的計算機的配置實例,((b))是它的工作過程。
當基于一臺服務器和一臺客戶端終端設備的遠程顯示是由具有圖10中所示配置的計算機構成時,服務器會把窗口繪制和解碼處理的結果寫入被指定為虛擬VRAM的主存儲器22中,隨后執行差分計算并將計算結果發送給客戶端終端設備。客戶端終端設備顯示出作為差分解碼結果的一個窗口和一個運動畫面流(圖2(a))。例如,在服務器中,一塊北橋21p與CPU 20p相連,一塊傳輸芯片26p-比如無線LAN-與主存儲器22p以及一條PCI總線相連。一塊顯卡配備了圖形引擎10p,該圖形引擎通過AGP總線與北橋21p相連。在服務器端準備好了取決于顯示尺寸的虛擬VRAM和用于客戶端終端設備的顏色數量。服務器在虛擬VRAM上進行圖形繪制。在虛擬VRAM中存在顯示周期(讀周期)。每當顯示周期運行一個循環,虛擬VRAM中繪圖數據的變化就會被計算出來,并且差分數據會被發送給客戶端終端設備,以便完成客戶端終端設備上的圖形繪制。
在進行運動畫面數據的回放時,例如在MPEG-4的情況下,服務器(個人電腦4)完成對MPEG-4的解碼,并在主存儲器22中的虛擬VRAM上實現圖形繪制。即使在不依賴于MPEG-4的幀速率且與之無關的虛擬VRAM中,也存在顯示周期。每當顯示周期運行一個循環,即使在MPEG-4解碼期間,CPU 20p也會計算主存儲器22p(504)中虛擬VRAM上繪圖數據的變化,并通過傳輸芯片26p將該差分數據發送給客戶端終端設備(505),從而實現客戶端終端設備的圖形繪制。
在一部分圖形工作站中,通過與AGP相連的顯卡使用取回受到渲染或或解碼相關的數據的功能,圖形引擎10p取代CPU 20p來完成MPEG-4的解碼(502)。圖形引擎10p將數據臨時儲存在它相應的VRAM 12p中,并通過AGP總線重新將數據取回主存儲器22p(503)。CPU 20p計算出主存儲器22p中虛擬VRAM上繪圖數據的變化(504),并通過傳輸芯片26p將差分數據發送給客戶端終端設備(505)。
在根據具有圖10所示配置的遠程顯示傳輸系統進行MPEG-4的回放時,解碼是在服務器端完成,并且差分解碼是重新執行的,從而提高了總處理量。因此,客戶端終端設備可能實現僅相當于2幀/秒這樣較低幀速率的再生。根據參照圖1至9進行說明的本申請中的發明內容,這一看法也可以得到解決。
根據在圖1至圖9各圖中所示出的實施例的配置,客戶端終端設備能夠在一種簡單的構造下實現運動畫面的再生,在這種簡單的構造中,例如消除了對外部硬件的需求。還可以避免降低每個再生運動畫面的幀速率。
根據本發明,終端設備端能夠在運用了遠程顯示技術的簡單構造下再生運動畫面。還可以避免降低再生運動畫面的幀速率。
在不偏離本發明的精神與主要特征的前提下,還能以其他各種不同的實施方式來實現本發明。由于這個原因,上述的實施例僅僅是本發明各個方面的示例,而不該被看成是具有限制意義的。本發明的范圍由附帶的權利要求限定。另外,任何屬于權利要求等效范圍內的改進或修改都屬于本發明的范圍之內。
權利要求
1.一種遠程顯示協議,用來在一臺終端設備端上顯示儲存在一臺服務器上或是由該服務器產生的運動畫面流數據,其中所述的服務器把一個窗口以及對窗口的裝飾繪制到一個虛擬VRAM中,計算繪圖數據的差異,執行一個第一解碼過程作為預處理,向第一解碼過程獲得的中間數據中添加繪圖位置信息,并將所述添加的結果發送給終端設備端,并且其中所述的終端設備在接收到運動畫面流數據之后執行一個第二解碼過程作為后處理,并根據繪圖位置信息在窗口中繪制并顯示數據。
2.根據權利要求1所述的遠程顯示協議,其中所述的服務器將第二解碼過程所必需的信息作為標簽添加到中間數據中,并將如此獲得的數據順次傳送給終端設備端。
3.根據權利要求2所述的遠程顯示協議,其中所述的作為標簽添加的信息是在第一解碼過程中獲得的流數據的參數。
4.根據權利要求2所述的遠程顯示協議,其中所述的作為標簽添加的信息是用來為一個已經在第一解碼過程中完成的處理過程標示一個程序的信息,或是用來為一個要在第二解碼過程中啟動的處理過程標示一個程序的信息。
5.根據權利要求1所述的遠程顯示協議,其中所述的服務器和所述的終端設備分別能夠與對方交換關于其包含的圖形引擎資源的信息。
6.根據權利要求5所述的遠程顯示協議,其中所述的服務器和所述的終端設備之一或兩者會根據關于圖形引擎資源的交換信息執行第一解碼過程和第二解碼過程之一或兩者。
7.根據權利要求6所述的遠程顯示協議,其中所述的服務器將第一解碼過程中獲得的中間數據發送給終端設備端。
8.根據權利要求1所述的遠程顯示協議,其中當一次會話被建立后,所述的服務器指示終端設備端為每個顯示資源確保一個環境。
9.根據權利要求1所述的遠程顯示協議,其中一旦建立了會話,所述的終端設備就向所述服務器公開每個顯示資源的一個環境以及輸入設備的信息。
10.一種視頻顯示系統,用來在第一及第二終端設備之間發送和接收視頻并顯示該視頻,該系統包括所述的第一終端設備,它將關于它自己的第一圖形引擎資源的信息通告給所述的第二終端設備;以及所述的第二終端設備,它根據通告信息在關于第一圖形引擎資源的通告信息與關于它自己的第二圖形引擎資源的信息之間作出比較,根據第二圖形引擎的資源而非第一引擎的資源來執行上述處理過程,而不使用第一圖形引擎的部分資源,再將經過處理的中間階段的數據發送出去,其中具有停用了的第一圖形引擎部分資源的所述第一終端設備根據未被停用的資源來處理所述中間階段的數據,以回放視頻。
11.根據權利要求10所述的視頻顯示系統,其中所述關于第一及第二圖形引擎資源的信息是處在圖形引擎控制下的存儲器的信息。
12.根據權利要求10所述的視頻顯示系統,其中所述關于第一及第二圖形引擎資源的信息是關于圖形引擎資源的工作頻率的信息、關于圖形引擎計算單元每個功能的計算功率的信息、或是關于圖形引擎制造商以及圖形引擎類型的信息。
13.一種視頻顯示系統,用來在多個終端設備之間發送和接收視頻并顯示該視頻,其中所述的終端設備各自帶有主CPU、圖形引擎、多個傳輸芯片、存儲器與輸入/輸出單元,所述的圖形引擎的內部配備了路由器,并且分別與多個傳輸芯片及主CPU相連。
14.根據權利要求13所述的視頻顯示系統,其中所述的多個終端設備包括一個第一終端設備,它通過它自己的第一圖形引擎中的路由器和與第一圖形引擎相連的傳輸器把它自己的主CPU所準備的視頻發送出去,還包括一個第二終端設備,它具有一個與它自己的第二圖形引擎相連的傳輸器,所述的傳輸器接收從第二終端設備發送來的一個視頻,并通過第一圖形引擎的路由器直接將接收到的視頻寫入第一圖形引擎。
15.根據權利要求14所述的視頻顯示系統,其中所述的由第一終端設備的主CPU準備的視頻是由主CPU編碼的視頻。
16.根據權利要求14所述的視頻顯示系統,其中所述的第一圖形引擎通過第一圖形引擎的路由器向與第一圖形引擎相連的傳輸器發送一條讀指令,并且該傳輸器根據該讀指令從第一圖形引擎或包含在第一圖形引擎中的VRAM中讀取發送視頻。
17.根據權利要求14所述的視頻顯示系統,其中當與第二圖形引擎相連的傳輸器接收到一段視頻時,第二圖形引擎的路由器對該視頻的開頭部分進行分析并將分析結果寫入第二終端設備的CPU或主存儲器中,或是寫入第二圖形引擎或第二圖形引擎所包含的VRAM中,其中上述設備被設為傳送目的地。
18.一種用來發送和接收運動畫面流數據的終端設備,包括一個CPU,其中所述的CPU對一段拍攝的視頻、接收的視頻或讀取的視頻進行編碼,向經過編碼的視頻中添加一條顯示單元圖形引擎的指令、或是它的一條指示了對編碼視頻進行解碼所必需的資源的工作代碼,發送該視頻,以及在顯示單元的圖形引擎上根據所述指令或工作代碼對接收到的數據進行解碼。
全文摘要
為了防止終端設備上再生運動畫面幀速率的降低以及為了能在利用遠程顯示技術的簡單結構下進行運動畫面的回放,一臺服務器或一臺終端設備或兩者都配備了附帶路由器的圖形引擎。服務器把一個窗口以及對窗口的渲染修飾繪制到一個虛擬VRAM中,計算繪圖數據的改變,執行一個第一解碼程序作為預處理,向第一解碼過程獲得的中間數據中添加繪圖位置信息,并將運動畫面流數據發送給終端設備。終端設備對接收到的數據執行一個第二解碼程序作為后處理,并根據繪圖位置信息繪制及顯示經過如此處理的數據。
文檔編號H04L29/06GK1578452SQ0315538
公開日2005年2月9日 申請日期2003年8月28日 優先權日2003年7月23日
發明者梅村雅也, 原敦, 廣井和重, 重松和男, 花岡誠之 申請人:株式會社日立制作所