TWI579707B - 以圖形處理器提升可互動內容瀏覽服務的系統與方法 - Google Patents

以圖形處理器提升可互動內容瀏覽服務的系統與方法 Download PDF

Info

Publication number
TWI579707B
TWI579707B TW100140388A TW100140388A TWI579707B TW I579707 B TWI579707 B TW I579707B TW 100140388 A TW100140388 A TW 100140388A TW 100140388 A TW100140388 A TW 100140388A TW I579707 B TWI579707 B TW I579707B
Authority
TW
Taiwan
Prior art keywords
content
icb
execution environment
graphics
application
Prior art date
Application number
TW100140388A
Other languages
English (en)
Other versions
TW201319822A (zh
Inventor
郭榮昌
彭偉豪
Original Assignee
優必達公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 優必達公司 filed Critical 優必達公司
Priority to TW100140388A priority Critical patent/TWI579707B/zh
Publication of TW201319822A publication Critical patent/TW201319822A/zh
Application granted granted Critical
Publication of TWI579707B publication Critical patent/TWI579707B/zh

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Description

以圖形處理器提升可互動內容瀏覽服務的系統與方法
本發明係為一種以圖形處理器提升可互動內容瀏覽服務的系統與方法,尤指一種藉由圖形處理器直接擷取、編碼與串流顯示卡載記憶體內之原圖,來避免佔用中央處理器運作頻寬的一種以圖形處理器提升可互動內容瀏覽服務的系統與方法。
在現今之雲端服務系統例如但不侷限於雲端網路瀏覽服務系統或是雲端網路應用服務系統中,其伺服器的典型功能是用來提供以網頁形式或其他形式顯示之內容給位於遠端的一或多個用戶端。當這被提供的內容中包含影像(Video)時,這些影像的原圖(Raw Images)必須先在伺服器端被編碼成串流形式之資料後,才能傳輸給用戶端並以網頁形式或其他形式在用戶端之瀏覽器或影像視窗上顯示。然而,若是在同一時間內有許多用戶端想自單一雲端服務系統中擷取各種包含影像的內容時,則對於影像原圖的編碼工作以及將編碼串流傳送於圖形處理器(GPU)與中央處理器(CPU)之間的操作,將會大量佔用原可被應用程式使用之系統資源與中央處理器之工作頻寬,進而限制了該雲端服務系統可同時連線(也就是雲端服務系統可提供服務)之用戶端的數量與系統的運作效能。另一方面,對於具有相同服務容量之不同雲端服務系統來說,其能量消耗多寡也是一重要議題。
請參閱圖一所示,為習知雲端服務系統1的第一種例子。該雲端服務系統1是藉由如下操作來提供一資料庫中心的雲端網路應用與瀏覽服務:1. 顯示111:由雲端服務系統1之伺服器11端所執行的瀏覽器應用程式經由作業系統(Operating System;簡稱OS)之應用程式介面(Application Programming Interface;簡稱API)來繪製可供顯示於顯示週邊(Display Peripheral)上的複數原圖內容;2. 編碼112:自該顯示週邊擷取該些原圖並傳送給一硬體或軟體編碼器進行編碼串流;3. 串流113:自該編碼器擷取該串流並經由一網路設備14傳送給位於遠端的用戶端91。
在如圖一所示之此種習知技術中,雲端服務系統1之各伺服器11、12、13端所執行的瀏覽器應用程式經由作業系統內的每一伺服器11、12、13在同一時間僅能提供服務給單一個用戶端91、92、93。如欲提高雲端服務系統1的服務能量,則必須增加雲端服務系統1中的伺服器11、12、13數量而導致成本的大幅提高,並非經濟的解決方案。
請參閱圖二所示,為習知雲端服務系統2的第二種例子。該雲端服務系統2是藉由如下操作來提供一資料庫中心的雲端網路應用與瀏覽服務:1. 程式211:雲端服務系統2內之一伺服器21中可執行有複數個應用程式211、212,每一個應用程式211、212分別構成一應用程式執行環境以供位於遠端之一用 戶端91、92可以透過網路設備24來連線並使用伺服器21(雲端服務系統2)所提供的服務;2.記憶體2111:由雲端服務系統2之伺服器21端所執行的瀏覽器應用程式經由作業系統之應用程式介面來繪製可供顯示於顯示週邊上的複數原圖內容,並將這些原圖儲存於受作業系統控制之伺服器21的系統記憶體2111內;3. 編碼2112:自作業系統層控制下之該系統記憶體2111中擷取該些原圖並傳送給一硬體或軟體編碼器進行編碼串流;4. 串流2113:自該編碼器擷取該串流並經由網路設備24傳送給位於遠端之相對應的用戶端91。
在如圖二所示之此種習知技術中,雲端服務系統2之每一伺服器21、22將得以同時提供服務給數個用戶端91、92、93。然而,由於其將原圖儲存於系統記憶體2111、以及原圖的編碼操作必須使用到伺服器之中央處理器(CPU)的工作能量,且其原圖資料在系統記憶體2111與顯示卡載記憶體(Video RAM;簡稱VRAM)之間的傳輸過程也會佔用許多匯流排頻寬(Bus Bandwidth),進而對於伺服器21、22的運作造成相當大的負擔,不僅因而限制了單一伺服器所能同時提供服務的用戶端數量、也相對地消耗了較多的能源,而有進一步改善的空間。
本發明的主要目的係在於提供一種以圖形處理器提升可互動內容瀏覽服務的系統與方法,其不僅可以增加單一伺服器可同時提供服務之用戶端的數量,同時亦有耗能相對較低的優點。
為達上述之目的,本發明提供一種以圖形處理器提升可互動內容瀏覽服務的系統與方法,其藉由繪圖卡中之圖形處理器的運算能力來協助進行原需由中央處理器來執行的運算工作,使得由執行於伺服器上之瀏覽器應用程式所繪製的複數原圖可被圖形處理器內的編碼器直接自繪圖卡內的顯示卡載記憶體中取出並編碼串流後,即直接傳送給位於遠端的用戶端。因此,可大幅降低中央處理器的工作負荷以及匯流排頻寬的使用量,進而相對增加單一伺服器所能同時提供服務的用戶端數量、也相對地減少了能源的消耗。
於一較佳實施例中,本發明之以圖形處理器提升可互動內容瀏覽服務系統包括有至少一網路設備以及至少一伺服器,其可供至少一用戶端透過一網路環境進行連線並擷取一內容。該至少一網路設備是用來連線於該網路環境。該至少一伺服器係連接於該至少一網路設備,該至少一網路設備可供該至少一用戶端透過該網路環境與該至少一伺服器建立連線。其中,各伺服器分別包括有:一中央處理器模組,其包括有至少一中央處理器(CPU)且執行有一作業系統(OS),且在該作業系統下執行有至少一應用程式(Application);其中,所執行之 各個該至少一應用程式分別構成一應用程式執行環境(App Runtime environment)供其中之一該用戶端所連線及使用,使已連線之該用戶端可以透過該應用程式執行環境提出一擷取要求;以及至少一繪圖卡,各個該至少一繪圖卡分別包括有一顯示卡載記憶體(VRAM)以及至少一圖形處理編碼器(GPU based encoder);其中,各個該應用程式執行環境係分別對應於其中之一該圖形處理編碼器,且該應用程式執行環境至少產生一原圖(Raw image)儲存於該顯示卡載記憶體中,並且,依據該已連線之用戶端的該擷取要求,對應之該圖形處理編碼器係自該顯示卡載記憶體取出對應之該原圖並加以編碼串流後傳送給該用戶端。
於本發明之一實施例中,該擷取要求是已連線之該用戶端欲將由該應用程式執行環境所產生之該原圖顯示於已連線之該用戶端以供瀏覽的要求,且該應用程式執行環境會根據該擷取要求而提出一應用程式介面(API)轉向事件,使該對應之該圖形處理編碼器依據該應用程式介面(API)轉向事件來自該顯示卡載記憶體取出對應之該原圖並加以編碼串流後傳送給該用戶端,而不需經由該中央處理器來對該原圖進行編碼串流運算。
於本發明之一實施例中,該內容是一可互動內容瀏覽服務(Interact-able Content Browsing Service;簡稱ICB)的內容,且可以一網頁(webpage)的形式顯示於該用戶端上,且於該網頁中包括有該原圖。
於本發明之一實施例中,該作業系統可以是下列其中 之一:Windows XP、Windows Vista、Windows 7。
於本發明之一實施例中,該網路環境可以是下列其中之一:網際網路(Internet)環境、電話通訊網路環境、有線電視網路環境。
於本發明之一實施例中,該用戶端可以是具網路連結功能的下列其中之一:電腦、個人數位助理(PDA)、手機、遊戲機、電視機上盒。
本發明所揭露之以圖形處理器提升可互動內容瀏覽服務的系統與方法,主要是藉由繪圖卡中之圖形處理器的運算能力來協助進行原需由中央處理器來執行的運算工作,使得由執行於伺服器上之瀏覽器應用程式所繪製的複數原圖可被圖形處理器內的編碼器直接自繪圖卡內的顯示卡載記憶體中取出並編碼串流後,即直接傳送給位於遠端的用戶端。因此,可大幅降低中央處理器的工作負荷以及匯流排頻寬的使用量,進而相對增加單一伺服器所能同時提供服務的用戶端數量、也相對地減少了能源的消耗。
為了能更清楚地描述本發明所提出之以圖形處理器提升可互動內容瀏覽服務的系統與方法,以下將配合圖式詳細說明之。
請參閱圖三與圖四所示,其中,圖三為說明本發明以圖形處理器提升可互動內容瀏覽服務的系統一實施例的架構圖,且圖四為本發明以圖形處理器提升可互動內容瀏覽服務的系統中之一伺服器實施例的示意圖。
如圖三所示,本發明以圖形處理器提升可互動內容瀏覽服務的系統3,其可供至少一用戶端91、92、93透過一網路環境90與該系統3進行連線並使用由該系統3所提供的服務,例如但不侷限於:自該系統3擷取一內容並顯示於用戶端91、92、93之顯示器上。其中,該網路環境90可以是下列其中之一:網際網路(Internet)環境、有線電視網路環境、或是電話通訊網路環境例如但不侷限於全球行動通訊網路(Global System for Mobile Communications;簡稱GSM)、整合封包無線電服務網路(General Packet Radio Service;簡稱GPRS)、分碼多工擷取網路(Code Division Multiple Access;簡稱CDMA)等。而該用戶端91、92、93則泛指提供一般使用者連結至該些網路環境90所使用的電子資訊裝置,例如但不侷限於具網際網路、電話通訊網路或是有線電視網路連結功能的下列其中之一:電腦、個人數位助理(PDA)、手機、遊戲機、或是電視機上盒等。
於本發明之一實施例中,該以圖形處理器提升可互動內容瀏覽服務的系統3包括有:至少一網路設備34、以及至少一伺服器31、32(以複數個伺服器為佳)。該至少一網路設備34可用以連線於該網路環境90,並讓位於遠端之至少一用戶端91、92、93(通常為複數個用戶端)透過該網路環境90而與該些伺服器31、32建立連線,進而使用由本發明系統3中之伺服器31、32所提供的雲端服務。本發明之以圖形處理器提升可互動內容瀏覽服務系 統3中的各個伺服器31、32,是藉由如下操作來提供一資料庫中心的雲端網路應用與瀏覽服務給各個用戶端91、92、93使用:1. 程式311、312:於各個伺服器31中分別可執行有複數個應用程式311、312(例如但不侷限於:瀏覽器應用程式),每一個應用程式311、312分別構成一應用程式執行環境(Application Runtime Environment)以供位於遠端之一用戶端91、92可以透過網路設備34來連線並同時使用同一伺服器31所提供的服務(例如但不侷限於:網頁內容下載與瀏覽服務);2.顯示卡載記憶體(VRAM)3111:由各應用程式311之執行所構成之各個應用程式執行環境來繪製可供顯示於顯示週邊上之視覺化的一系列原圖內容,並將這些原圖儲存於繪圖卡(Graphic Card)上之顯示卡載記憶體3111內;其中,第一個該原圖的每一個元件都會被寫入顯示卡載記憶體3111中,而其後之各個該原圖只有與前一個該原圖不同的部分才會被寫入該顯示卡載記憶體3111中以更新其內所儲存之原圖資料;3. 編碼3112:藉由繪圖卡上的圖形處理編碼器(Graphic Processing Unit Encoder;簡稱GPU Encoder)自繪圖卡控制下之該顯示卡載記憶體3111中擷取該些原圖加以編碼成串流(Stream)形式;4. 串流3113:自該圖形處理編碼器擷取該串流3113並經由網路設備34傳送給位於遠端的用戶端91,使該用 戶端91可將該些原圖以網頁形式顯示於用戶端91之瀏覽器上。本發明中所述之用戶端91瀏覽器,並非僅狹義地侷限於例如微軟公司開發之Internet Explorer等等的網際網路瀏覽器,而是泛指可以將用戶端91自網際網路所接收到的影像內容(例如該些原圖)顯示於用戶端91之顯示螢幕上的瀏覽器。
由於繪製原圖的操作可由特定元件狀態或配置發生改變時所驅動,所以,在產生一系列原圖的過程中,可以只把有改變的部分圖像元件更新到先前已繪製過的原圖即可,不需把整個新原圖全部由伺服器31內的系統記憶體全部重新寫入顯示卡載記憶體3111中,藉此可以減少寫入資料量、降低對伺服器31之中央處理器的需求、進而提高處理效率。當需要將原圖編碼時,圖形處理編碼器將直接自顯示卡載記憶體3111擷取當前的原圖並加以編碼串流後傳出,所以並不會額外佔用伺服器31內之匯流排的傳輸頻寬、也不會增加伺服器31內之中央處理器的工作負擔。藉此,本發明以圖形處理器提升可互動內容瀏覽服務的系統3與方法相較於習知技術將具有以下優點:1. 每一伺服器31、32將可以同時執行更多數量的應用程式311、312而不至於降低服務效能,因為本發明之方法並不會把顯示週邊的輸出傳輸到伺服器31、32之作業系統層控制下的軟體或硬體編碼器;2. 每一伺服器31、32將可以提供更高的服務容量給更多的用戶端91、92、93來同時使用,因為本發明之方法大幅減少了匯流排頻寬的消耗; 3. 使用繪圖卡內之圖形處理編碼器35來直接對原圖編碼可具有更高的工作效率;4. 相對減少伺服器31、32提供此類服務時的能源消耗。
如圖四所示,於本發明之一實施例中,各伺服器4分別包括有:至少一中央處理器模組41以及至少一繪圖卡42。
該中央處理器模組41包括有至少一中央處理器40(CPU)且執行有一作業系統411(OS),且在該作業系統411下執行有至少一應用程式4121(以複數個應用程式為佳),並由中央處理器40來控制該作業系統411以及該些應用程式4121的運作以協同執行影像與音訊資料之處理。其中,所執行之各個應用程式4121分別構成一應用程式執行環境412、413以供位於遠端之一用戶端(本圖未示)所連線及使用,使已連線之該用戶端可以透過該應用程式執行環境412、413提出一擷取要求以便自伺服器4擷取一內容。各個繪圖卡42分別包括有一顯示卡載記憶體421以及至少一圖形處理編碼器422、423、424(以複數個圖形處理編碼器為佳)。其中,各個應用程式執行環境412、413係分別對應於其中之一該圖形處理編碼器422、423,且該應用程式執行環境412、413至少產生一原圖4211、4212儲存於該顯示卡載記憶體421中。之後,依據該已連線之用戶端的該擷取要求,對應之該圖形處理編碼器422係自該顯示卡載記憶體421取出對應之該原圖4211並加以編碼成預定格式之串流後傳送給該用戶端。
於本實施例中,所述之作業系統411可以是一原生作業系統(Native OS)為較佳,例如但不侷限於:Windows XP、Windows Vista、Windows 7等作業系統。並且,用戶端自伺服器4所擷取之內容是一可互動內容瀏覽服務(Interact-able Content Browsing Service;簡稱ICB)的內容,其可以一網頁(webpage)的形式顯示於該用戶端的瀏覽器上,且於該網頁中包括有該原圖4211。於本發明中,所述之可互動內容瀏覽服務(Interact-able Content Browsing Service;簡稱ICB)的內容,其並非只是單純自伺服器接收影像檔(或影像串流)並加以播放於用戶端上而已,而是用戶端可以互動式地控制、變更所顯示的內容。若以線上遊戲為例,則在用戶端所執行的用戶端遊戲程式本身並不會直接繪製欲顯示於用戶端上的原圖,而是會將來自用戶端之輸入週邊(例如滑鼠、方向鍵或功能鍵、或觸控式螢幕等)的操作訊號轉換成控制訊息後傳輸給位於遠端系統內的伺服器,並由伺服器端依據該些控制訊息來繪製產生該些原圖及編碼串流、之後再回傳給用戶端加以顯示。因此,於用戶端上所顯示的原圖內容實際上會依據用戶端之輸入週邊的操作訊號而變化,導致用戶端的使用者會有原圖是在用戶端內所繪製的錯覺,然而事實上該些原圖卻是由遠端的ICB系統所產生,所以於用戶端的運算負載可大幅降低。
於本實施例中,所述之該擷取要求是已連線之該用戶端欲將由該應用程式執行環境412所產生之該原圖4211以網頁形式顯示於已連線之該用戶端以供瀏覽的要求。並 且,該應用程式執行環境412會根據該擷取要求而提出一應用程式介面(API)轉向事件4122,使該對應之該圖形處理編碼器422依據該應用程式介面(API)轉向事件4122來自該顯示卡載記憶體421取出對應之原圖4211並加以編碼串流後傳送給用戶端,而不需經由該中央處理器40來對該原圖4211進行編碼串流運算、也不需將原圖4211資料傳輸於系統記憶體與顯示卡載記憶體421之間而佔用匯流排頻寬。
以下為說明本發明在發現應用程式介面(API)轉向事件後如何以圖形處理編碼器自顯示卡載記憶體中取出原圖並加以編碼串流的程式原始碼其中之一範例。請注意,以下之程式原始碼雖然是以nVidia CUDA為例來編碼,但卻並不侷限於此例;由於以下之程式原始碼乃屬於本項技術領域中具有通常知識者所能理解、且可依實際需求之不同而修改其內容,所以將不予詳述其內容,且以下之程式原始碼也不應用以限制本發明之可實施範圍。
請參閱圖五,為說明本發明在可互動內容瀏覽服務(ICB)執行環境下之伺服器端操作的一實施例流程圖,其包括有下列步驟:
步驟501:開始。
步驟502:本發明之可互動內容瀏覽(ICB)服務係在執行於一伺服器中之作業系統(例如但不侷限於:Windows作業系統)環境下來操作,並藉由執行一ICB應用程式來構成一ICB執行環境,以提供位於遠端之用戶端來連線並擷取ICB內容之服務,接著執行步驟503。
步驟503:檢查用戶端所欲擷取之ICB內容是否包含影片(Video)或是音訊(Audio)的輸出?倘若有包含影片則執行步驟504,若有包含音訊則執行步驟者,若兩都不包含則回到步驟502也就是等待下一個ICB內容的擷取要求。
步驟504:ICB內容依據其被轉向至ICB執行環境之類型,來使用作業系統之視覺化輸出的應用程式介面(API),此步驟之操作係由步驟505來決定。
步驟505:檢查ICB內容的類型為何?倘若ICB內容的類型為視窗圖形裝置介面(Windows GDI)的影片,則執行步驟506,若ICB內容的類型為多媒體編程介面(DirectX)的影片,則執行步驟507,而若ICB內容的類型為供網路瀏覽(Web Browsing)的影片,則執行步驟 508。
步驟506:將影像驅動程式之GDI繪圖功能轉向至顯示卡載記憶體(VRAM)。
步驟507:由多媒體編程介面提供之圖像是儲存於顯示卡載記憶體中。
步驟508:將顯示卡載記憶體中之繪圖內容轉向提供。
步驟509:每一ICB執行環境分別有其自己的音訊驅動介面,此步驟之操作是依據步驟510來執行。
步驟510:ICB內容請求使用作業系統之音訊輸出應用程式介面被指向至目前ICB執行環境下的音訊驅動程式。
請參閱圖六,為說明本發明以圖形處理器提升可互動內容瀏覽服務方法於系統端的一實施例流程圖,其包括有下列步驟:
步驟550:開始。
步驟551:本發明之以圖形處理器提升可互動內容瀏覽服務系統接受來自一用戶端之一ICB服務的要求,接著執行步驟552。
步驟552:本發明之ICB服務發送伺服器內之一可用位置給該用戶端,接著執行步驟553。
步驟553:檢查是否找到一可用位置?倘若有找到可用位置則執行步驟557,倘若沒有找到可用位置則執行步驟554。
步驟554:等待可用位置,接著執行步驟555。
步驟555:檢查是否逾時?倘若已逾時則執行步驟556,倘若尚未逾時則跳回執行步驟551。
步驟556:結束。
步驟557:以特定內容來執行ICB執行環境,接著執行步驟558。
步驟558:檢查用戶端所欲擷取之ICB內容是否包含影片(Video)或是音訊(Audio)的輸出?倘若有包含影片則執行步驟559,若有包含音訊則執行步驟562,若兩都不包含則回到步驟557。
步驟559:圖形處理編碼器自ICB執行環境取出視覺化內容,接著執行步驟560。
步驟560:以互動式串流協定將ICB內容編碼成串流形式並傳送給用戶端,接著執行步驟561。
步驟561:影片實況編碼器自ICB執行環境取出視覺化內容。
步驟562:音訊實況編碼器自ICB執行環境取出音訊化內容,接著執行步驟560。
請參閱圖七,為說明本發明以圖形處理器提升可互動內容瀏覽服務方法於用戶端操作的一實施例流程圖,其包括有下列步驟:
步驟61:執行中。於用戶端持續執行一用戶端應用程式,使用戶端可連線到本發明以圖形處理器提升可互動內容瀏覽服務(ICB)系統、以連線並使用由該系統內之其中之一伺服器中所執行之其中之一伺服器端應用程式所構成的應用程式執行環境、進而有能力得以擷取由該被 使用之伺服器內之其中之一繪圖卡所編碼串流的若干原圖。
步驟62:連接於ICB系統之用戶端等待來自其輸入週邊(例如但不侷限於:滑鼠、方向鍵或功能鍵、鍵盤、或觸控式螢幕等)的操作訊號並將其轉換成對應之控制訊息。
步驟63:是否有操作訊息?若否則回到步驟62,若是則執行步驟64。
步驟64:將用戶端之控制訊息傳送給ICB系統的伺服器。
步驟65:由ICB系統的伺服器檢查是否能辨識該控制訊息?若否,則執行步驟66,由ICB系統的伺服器將該控制訊息丟棄後,再回到步驟62。若是,則執行步驟67。
步驟67:由ICB系統的伺服器處理相對應之控制訊息並將控制訊息傳給執行於伺服器內所執行之相對應的應用程式環境。
步驟67:由ICB系統的伺服器內所執行之應用程式環境根據該控制訊息來產生相對應的視覺化內容(例如原圖)。
步驟68:接續至圖八所示之播放程序。
請參閱圖八,為說明本發明以圖形處理器提升可互動內容瀏覽服務方法於用戶端播放程序的一實施例流程圖,其包括有下列步驟:
步驟691:於用戶端之播放程序開始。
步驟692:由用戶端自位於遠端ICB系統內的伺服器接收原圖經編碼後的串流。
步驟693:用戶端將串流解碼並播放於用戶端之顯示裝置上。
步驟694:是否有欲結束播放的結束信號?若否,則回到步驟692。若是,則執行步驟695以結束播放程序。
唯以上所述之實施例不應用於限制本發明之可應用範圍,本發明之保護範圍應以本發明之申請專利範圍內容所界定技術精神及其均等變化所含括之範圍為主者。即大凡依本發明申請專利範圍所做之均等變化及修飾,仍將不失本發明之要義所在,亦不脫離本發明之精神和範圍,故都應視為本發明的進一步實施狀況。
1、2‧‧‧習知雲端服務系統
11、12、13、21、22‧‧‧伺服器
111‧‧‧顯示
112、2112‧‧‧編碼
113、2113‧‧‧串流
14、24‧‧‧網路設備
211、212‧‧‧程式
2111‧‧‧系統記憶體
3‧‧‧本發明以圖形處理器提升可互動內容瀏覽服務系統
31、32、4‧‧‧伺服器
311、312、4121‧‧‧程式
3111‧‧‧顯示卡載記憶體
3112‧‧‧編碼
3113‧‧‧串流
34‧‧‧網路設備
35‧‧‧圖形處理編碼器
41‧‧‧中央處理器模組
411‧‧‧作業系統
412、413‧‧‧應用程式執行環境
4122‧‧‧提出API轉向
42‧‧‧繪圖卡
421‧‧‧顯示卡載記憶體
4211、4212‧‧‧原圖
422、423、424‧‧‧圖形處理編碼器
90‧‧‧網路環境
91、92、93‧‧‧用戶端
圖一為習知雲端服務系統的第一種例子示意圖。
圖二為習知雲端服務系統的第二種例子示意圖。
圖三為說明本發明以圖形處理器提升可互動內容瀏覽服務的系統一實施例的架構圖。
圖四為本發明以圖形處理器提升可互動內容瀏覽服務的系統中之一伺服器實施例的示意圖。
圖五為說明本發明在可互動內容瀏覽服務(ICB)執行環境下之伺服器端操作的一實施例流程圖。
圖六為說明本發明以圖形處理器提升可互動內容瀏覽服務方法於系統端的一實施例流程圖。
圖七為說明本發明以圖形處理器提升可互動內容瀏覽服務方法於用戶端操作的一實施例流程圖。
圖八為說明本發明以圖形處理器提升可互動內容瀏覽服務方法於用戶端播放程序的一實施例流程圖。
3‧‧‧本發明以圖形處理器提升可互動內容瀏覽服務系統
31、32‧‧‧伺服器
311、312‧‧‧程式
3111‧‧‧顯示卡載記憶體
3112‧‧‧編碼
3113‧‧‧串流
34‧‧‧網路設備
35‧‧‧圖形處理編碼器
90‧‧‧網路環境
91、92、93‧‧‧用戶端

Claims (8)

  1. 一種以圖形處理器提升可互動內容瀏覽服務的系統,其可供複數個用戶端透過一網路環境進行連線並擷取一內容,該系統包括有:至少一網路設備,用以連線於該網路環境;以及至少一伺服器,連接於該至少一網路設備,該至少一網路設備可供該複數個用戶端透過該網路環境與該至少一伺服器建立連線;其中,各個該至少一伺服器分別包括有:一中央處理器模組,其包括有至少一中央處理器(CPU)且執行有一作業系統(OS),且在該作業系統下執行有複數個應用程式(Application);其中,所執行之各個該應用程式分別構成一應用程式執行環境(App Runtime environment)供其中之一該用戶端所連線及使用,使已連線之該用戶端可以透過該應用程式執行環境提出一擷取要求;以及至少一繪圖卡,各個該繪圖卡分別包括有一顯示卡載記憶體(VRAM)以及複數個圖形處理編碼器(GPU based encoder);其中,各個該應用程式執行環境係分別對應於其中之一該圖形處理編碼器,且該應用程式執行環境至少產生一原圖(Raw image)儲存於該顯示卡載記憶體中,並且,依據該已連線之用戶端的該擷取要求,對應之該圖形處理編碼器係自該顯示卡載記憶體取出對應之該原圖並加以編碼串流後傳送給該用戶端; 其中,該擷取要求是已連線之該用戶端欲將由該應用程式執行環境所產生之該原圖顯示於已連線之該用戶端以供瀏覽的要求,且該應用程式執行環境會根據該擷取要求而提出一應用程式介面(API)轉向事件,使該對應之該圖形處理編碼器依據該應用程式介面(API)轉向事件來自該顯示卡載記憶體取出對應之該原圖並加以編碼串流後傳送給該用戶端,而不需經由該中央處理器來對該原圖進行編碼串流運算。
  2. 如申請專利範圍第1項所述之以圖形處理器提升可互動內容瀏覽服務的系統,其中:該內容是一可互動內容瀏覽服務(Interact-able Content Browsing Service;簡稱ICB)的內容,且可以一網頁(webpage)的形式顯示於該用戶端上,且於該網頁中包括有該原圖;該作業系統可以是下列其中之一:Windows XP、Windows Vista、Windows 7;該網路環境可以是下列其中之一:網際網路(Internet)環境、電話通訊網路環境、有線電視網路環境;該用戶端可以是具網路連結功能的下列其中之一:電腦、個人數位助理(PDA)、手機、遊戲機、電視機上盒。
  3. 一種以圖形處理器提升可互動內容瀏覽服務的方法,實施於包括有至少一伺服器之一系統中以供複數個用戶端透過一網路環境進行連線並擷取一內容,該方法包括 有下列步驟:於各個該伺服器中分別執行複數個應用程式以構成複數個應用程式執行環境;並且,於各個該伺服器中分別包括有至少一繪圖卡,各個該繪圖卡分別包括有一顯示卡載記憶體(VRAM)以及複數個圖形處理編碼器;其中,各個該應用程式執行環境係分別對應於其中之一該圖形處理編碼器;由各個該應用程式執行環境分別提供其中之一該用戶端所連線及使用,使已連線之該用戶端可以透過其所連線之該應用程式執行環境提出一擷取要求;並且,所連線之該應用程式執行環境至少產生一原圖儲存於該伺服器內之一顯示卡載記憶體中;以及由該伺服器內與所連線之該應用程式執行環境對應之該圖形處理編碼器依據已連線之該用戶端的該擷取要求,自該顯示卡載記憶體中取出對應之該原圖並加以編碼串流後傳送給該用戶端;其中,該擷取要求是已連線之該用戶端欲將由該應用程式執行環境所產生之該原圖顯示於已連線之該用戶端以供瀏覽的要求,且該應用程式執行環境會根據該擷取要求而提出一應用程式介面(API)轉向事件,使該對應之該圖形處理編碼器依據該應用程式介面(API)轉向事件來自該顯示卡載記憶體取出對應之該原圖並加以編碼串流後傳送給該用戶端,而不需經由該中央處理器來對該原圖進行編碼串流運算。
  4. 如申請專利範圍第3項所述之以圖形處理器提升可互動 內容瀏覽服務的方法,其中,所連線之該應用程式執行環境係產生視覺化之一系列的複數個該原圖,其中,第一個該原圖的每一個元件都會被寫入該顯示卡載記憶體中,其後之各個該原圖只有與前一個該原圖不同的部分才會被寫入該顯示卡載記憶體中。
  5. 如申請專利範圍第3項所述之以圖形處理器提升可互動內容瀏覽服務的方法,其中,該內容是一可互動內容瀏覽服務(Interact-able Content Browsing Service;簡稱ICB)的內容,且可以一網頁(webpage)的形式顯示於該用戶端上,且於該網頁中包括有該原圖。
  6. 如申請專利範圍第5項所述之以圖形處理器提升可互動內容瀏覽服務的方法,其更包括有下列步驟:步驟(A):檢查該ICB內容是否包含影片(Video)或是音訊(Audio)的輸出?倘若有包含影片則執行步驟(B),若有包含音訊則執行步驟(G),若兩者都不包含則等待下一個ICB內容的擷取要求;步驟(B):該ICB內容依據其被轉向至一ICB執行環境之類型,來使用一作業系統之視覺化輸出的一應用程式介面(API),此步驟之操作係由步驟(C)來決定;步驟(C):檢查該ICB內容的類型為何?倘若該ICB內容的類型為一視窗圖形裝置介面(Windows GDI)的影片則執行步驟(D),若該ICB內容的類型為一多媒體編程介面(DirectX)的影片則執行步驟(E),而若ICB內容的類型為供網路瀏覽(Web Browsing)的影片則執行步驟(F); 步驟(D):將一影像驅動程式之GDI繪圖功能轉向至該顯示卡載記憶體;步驟(E):由該多媒體編程介面提供之圖像是儲存於該顯示卡載記憶體中;步驟(F):將該顯示卡載記憶體中之繪圖內容轉向提供;步驟(G):每一該ICB執行環境分別有其自己的一音訊驅動介面,此步驟之操作是依據步驟(H)來執行;步驟(H):該ICB內容請求使用該作業系統之一音訊輸出應用程式介面被指向至目前該ICB執行環境下的一音訊驅動程式。
  7. 如申請專利範圍第5項所述之以圖形處理器提升可互動內容瀏覽服務的方法,其更包括有下列步驟:步驟(a):以一特定內容來執行一ICB執行環境,接著執行步驟(b);步驟(b):檢查該用戶端所欲擷取之該ICB內容是否包含影片(Video)或是音訊(Audio)的輸出?倘若有包含影片則執行步驟(c),若有包含音訊則執行步驟(f),若兩都不包含則回到步驟(a);步驟(c):該圖形處理編碼器自該ICB執行環境取出一視覺化內容,接著執行步驟(d);步驟(d):以互動式串流協定將該ICB內容編碼成串流形式並傳送給該用戶端,接著執行步驟(e);步驟(e):以一影片實況編碼器自該ICB執行環境取出一視覺化內容;步驟(f):以一音訊實況編碼器自該ICB執行環境取出一 音訊化內容,接著執行步驟(d)。
  8. 一種以圖形處理器提升可互動內容瀏覽服務的方法,實施於包括有至少一伺服器之一系統中以供複數個用戶端透過一網路環境進行連線並擷取一內容,該方法包括有下列步驟:於各個該伺服器中分別執行複數個應用程式以構成複數個應用程式執行環境,使各個該用戶端分別是連線於一對應之該應用程式執行環境;並且,於各個該伺服器中分別包括有至少一繪圖卡,各個該繪圖卡分別包括有一顯示卡載記憶體(VRAM)以及複數個圖形處理編碼器;其中,各個該應用程式執行環境係分別對應於其中之一該圖形處理編碼器;由連線之該應用程式執行環境至少產生一原圖儲存於該伺服器內之一顯示卡載記憶體中;以及依據由連線之該用戶端之一要求可促使所連線之該應用程式執行環境依據該要求而提出一應用程式介面(API)轉向事件,使該伺服器內與所連線之該應用程式執行環境對應之該圖形處理編碼器自該顯示卡載記憶體中取出對應之該原圖並加以編碼串流後傳送給該用戶端。
TW100140388A 2011-11-04 2011-11-04 以圖形處理器提升可互動內容瀏覽服務的系統與方法 TWI579707B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW100140388A TWI579707B (zh) 2011-11-04 2011-11-04 以圖形處理器提升可互動內容瀏覽服務的系統與方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW100140388A TWI579707B (zh) 2011-11-04 2011-11-04 以圖形處理器提升可互動內容瀏覽服務的系統與方法

Publications (2)

Publication Number Publication Date
TW201319822A TW201319822A (zh) 2013-05-16
TWI579707B true TWI579707B (zh) 2017-04-21

Family

ID=48872501

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100140388A TWI579707B (zh) 2011-11-04 2011-11-04 以圖形處理器提升可互動內容瀏覽服務的系統與方法

Country Status (1)

Country Link
TW (1) TWI579707B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9727942B2 (en) 2013-10-29 2017-08-08 International Business Machines Corporation Selective utilization of graphics processing unit (GPU) based acceleration in database management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200525391A (en) * 2003-09-26 2005-08-01 Red Hat Inc Software and data file updating process
US20100118019A1 (en) * 2008-11-12 2010-05-13 International Business Machines Corporation Dynamically Managing Power Consumption Of A Computer With Graphics Adapter Configurations
TW201117129A (en) * 2009-11-12 2011-05-16 Nvidia Corp Method and system for communicating with external device through processing unit in graphics system
TW201120663A (en) * 2009-12-15 2011-06-16 Ubitus Technology Ltd Method of distributed computing, electronic device and system applying the method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200525391A (en) * 2003-09-26 2005-08-01 Red Hat Inc Software and data file updating process
US20100118019A1 (en) * 2008-11-12 2010-05-13 International Business Machines Corporation Dynamically Managing Power Consumption Of A Computer With Graphics Adapter Configurations
TW201117129A (en) * 2009-11-12 2011-05-16 Nvidia Corp Method and system for communicating with external device through processing unit in graphics system
TW201120663A (en) * 2009-12-15 2011-06-16 Ubitus Technology Ltd Method of distributed computing, electronic device and system applying the method

Also Published As

Publication number Publication date
TW201319822A (zh) 2013-05-16

Similar Documents

Publication Publication Date Title
EP3046331B1 (en) Media control method and system based on cloud desktop
CN102761603B (zh) VDI环境下的网页flash视频重定向的方法
CN106713937A (zh) 视频播放控制方法、装置及终端设备
US11089349B2 (en) Apparatus and method for playing back and seeking media in web browser
WO2022257699A1 (zh) 图像画面显示方法、装置、设备、存储介质及程序产品
CN102254292A (zh) 远程3d指令渲染系统及方法
US20140108940A1 (en) Method and system of remote communication over a network
CN104053072B (zh) 分发控制系统、分发系统以及分发控制方法
US20110093891A1 (en) Information processing apparatus and video content data playback method
CN102033726A (zh) 一种显示方法和服务器
CN112843676A (zh) 数据处理方法、装置、终端、服务器及存储介质
WO2024037110A1 (zh) 数据处理方法、装置、设备以及介质
CN113535063A (zh) 直播页面切换方法、视频页面切换方法、电子设备及存储介质
WO2012018786A1 (en) System and method for efficiently streaming digital video
US9483996B2 (en) System and method of leveraging GPU resources to increase performance of an interact-able content browsing service
US20090328037A1 (en) 3d graphics acceleration in remote multi-user environment
US20230379373A1 (en) Information switching and sharing method, device, electronic apparatus, and storage medium
US9729931B2 (en) System for managing detection of advertisements in an electronic device, for example in a digital TV decoder
US20120268650A1 (en) System and method for a thin-client terminal system using a serial bus
TWI579707B (zh) 以圖形處理器提升可互動內容瀏覽服務的系統與方法
US10223997B2 (en) System and method of leveraging GPU resources to increase performance of an interact-able content browsing service
CN116347158A (zh) 视频播放的方法、装置、电子设备及计算机可读存储介质
TWI814134B (zh) 虛擬行動架構的遠端渲染系統、方法及裝置
CN102289358A (zh) 用于更有效地显示数据的计算机实现的方法、计算机程序产品和嵌入式系统
KR20210133229A (ko) 클라우드 스트리밍 서비스에서의 사용자 인터페이스 세션 복구 방법 및 이를 위한 장치