TW201501763A - 動畫配信伺服器、動畫播放裝置、控制方法、程式、及記錄媒體 - Google Patents

動畫配信伺服器、動畫播放裝置、控制方法、程式、及記錄媒體 Download PDF

Info

Publication number
TW201501763A
TW201501763A TW102124500A TW102124500A TW201501763A TW 201501763 A TW201501763 A TW 201501763A TW 102124500 A TW102124500 A TW 102124500A TW 102124500 A TW102124500 A TW 102124500A TW 201501763 A TW201501763 A TW 201501763A
Authority
TW
Taiwan
Prior art keywords
animation
screen
picture
server
encoded
Prior art date
Application number
TW102124500A
Other languages
English (en)
Other versions
TWI523673B (zh
Inventor
Tetsuji Iwasaki
Original Assignee
Square Enix Holdings Co Ltd
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 Square Enix Holdings Co Ltd filed Critical Square Enix Holdings Co Ltd
Priority to TW102124500A priority Critical patent/TWI523673B/zh
Publication of TW201501763A publication Critical patent/TW201501763A/zh
Application granted granted Critical
Publication of TWI523673B publication Critical patent/TWI523673B/zh

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本發明之動畫配信伺服器依序獲取描繪之畫面、該畫面之描繪中使用之視點資訊、及對應於該畫面之深度緩衝區。動畫配信伺服器針對分割所獲取之第1畫面而得之複數個區塊分別設定評估像素,並針對評估像素中描繪之描繪物件,特定在第1畫面之前獲取之第2畫面中之螢幕座標及深度值。又,對與第2畫面對應之深度緩衝區中之螢幕座標之深度值、與評估像素中描繪之描繪物件之深度值進行比較,並針對視為2個深度值相同之區塊,在與第2畫面之間進行幀間編碼。然後,將編碼詳細資訊傳送至外部裝置,該編碼詳細資訊包含第1畫面之描繪中使用之視點資訊、與第1畫面對應之深度緩衝區、及表示是否針對第1畫面之各區塊進行幀間編碼之資訊。

Description

動畫配信伺服器、動畫播放裝置、控制方法、程式、及記錄媒體
本發明係關於一種動畫配信伺服器、動畫播放裝置、控制方法、程式、及記錄媒體,尤其是關於一種編碼動畫資料之流式配信技術。
可連接於網路之個人電腦(PC)等客戶端機器正在普及。由於此種機器之普及,網際網路中之網路人口正在增加。近年來,正開展針對網路使用者之利用網際網路之各種服務,亦提供遊戲等娛樂服務。
作為針對網路使用者之服務之一,有MMORPG(Massively Multiplayer Online Role-Playing Game,大型多人在線角色扮演遊戲)等多人數同時參加型之網路遊戲。在多人數同時參加型之網路遊戲中,藉由將使用者使用之客戶端機器連接至提供遊戲之伺服器機器,而可與使用連接於該伺服器機器之客戶端機器之使用者進行對戰遊戲或合作遊戲。
在通常之多人數參加型之網路遊戲中,客戶端機器在與伺服器機器之間進遊戲之描繪所必需之資料之收發。客戶端機器藉由使用接收到之描繪所必需之資料來執行描繪處理,並將生成之遊戲畫面顯示於連接於客戶端機器之顯示裝置上,而對使用者提供遊戲畫面。又,藉由由使用者操作輸入界面而將輸入之資訊傳送至伺服器機器,用於伺服器機器中之運算處理,或傳送至連接於伺服器機器之其他客戶端機器。
然而,於此種藉由客戶端機器進行描繪處理之網路遊戲中,有時需要使用者使用具有充分描繪性能之PC或專用遊戲機。因此,網路遊戲(1內容)之使用者數依賴於內容所要求之客戶端機器之性能。高性能之機器當然高價,可擁有該機器之使用者亦有限。即,例如提供漂亮之圖畫之遊戲等要求較高之描繪性能之遊戲難以增加使用者數。
與此相對,近年來,亦提供有不依賴於客戶端機器之描繪性能等處理能力而可由使用者玩之遊戲。在如專利文獻1之遊戲中,伺服器機器獲取在客戶端機器中完成之操作之資訊,並對客戶端機器提供使用該資訊來執行描繪處理而獲得之遊戲畫面。
[先前技術文獻]
[專利文獻]
專利文獻1:國際公開第2009/138878號說明書
在如上述專利文獻1之遊戲中,伺服器機器對客戶端機器提供之遊戲畫面,為了削減傳送之資訊量而以已編碼之動畫資料之形態提供。雖然亦依賴於所採用之編碼方式,但例如如MPEG規格般,在通常動畫編碼方式中,針對分割1幀圖像而得之各區塊,進行不伴隨有運動補償之幀內編碼(intra coding),或伴隨有利用幀間預測之運動補償之幀間編碼(inter coding)。在各編碼方式中存在壓縮效率較佳之被寫體,通常針對各區塊,生成已分別進行幀內編碼及幀間編碼之區塊(iblock、pblock),並將壓縮效率較高之區塊包含在編碼資料中。
幀內編碼在不對壓縮對象之區塊之圖像進行加工之情況下應用DCT變換(Discrete Cosine Transform,離散餘弦變換)及游程長度編碼等進行壓縮。另一方面,幀間編碼生成壓縮對象之區塊之圖像與自前幀之 圖像抽出之與該區塊對應之參照圖像之差分圖像,並應用DCT轉換及游程長度編碼等來進行壓縮。因此,在幀間編碼中,包含針對前幀之圖像,特定與壓縮對象之區塊之圖像之相關性最高之區域之處理。此種檢測相關性最高之區域之處理係針對前幀之圖像一面使評估區域移動,一面計算與壓縮對象之區塊之圖像之類似度及距離並進行分析,因此存在分析處理花費時間之問題。
特別是在根據使用者之輸入而交互地使描繪內容變化之遊戲等中,要求實時性、即對輸入之高速響應,而動畫編碼處理所需之時間受到限制。在此種情況下,要求高速地進行判斷進行針對各區塊之編碼處理、以及幀內編碼及幀間編碼中之何者之處理。然而,關於高速且高效地對描繪之畫面進行動畫編碼之具體方法,至今為止仍未有揭示。
本發明係鑒於上述問題點而完成之,其目的在於提供一種高速且高效地對藉由描繪處理而獲得之畫面進行動畫編碼之動畫配信伺服器、動畫播放裝置、控制方法、程式、及記錄媒體。
為了達成上述目的,本發明之動畫配信伺服器具備以下構成。
本發明之動畫配信伺服器之特徵在於具有:獲取手段,其依序獲取描繪之畫面、該畫面之描繪中使用之視點資訊、及對應於該畫面之深度緩衝區;分割手段,其將藉由獲取手段而獲取之第1畫面分割為複數個區塊;設定手段,其針對藉由分割手段分割而得之各區塊設定評估像素;特定手段,其針對藉由設定手段而設定之評估像素中描繪之描繪物件,特定在第1畫面之前獲取之第2畫面中之螢幕座標及深度值;判斷手段,其對與第2畫面對應之深度緩衝區中之螢幕座標之深度值、與藉由特定手段而特定之評估像素中描繪之描繪物件之深度值進行比較,判斷是否將2個深度值視 為相同;編碼手段,其針對藉由判斷手段而視為2個深度值相同之區塊,在與第2畫面之間進行幀間編碼,並針對藉由判斷手段而視為2個深度值不同之區塊,進行幀內編碼;及傳送手段,其將編碼詳細資訊傳送至外部裝置,上述編碼詳細資訊包含第1畫面之描繪中使用之視點資訊、與第1畫面對應之深度緩衝區、及表示是否針對第1畫面之各區塊藉由編碼手段進行幀間編碼之資訊;且傳送手段在已藉由編碼手段進行編碼之第1畫面之各區塊之編碼資料之生成結束之前,將編碼詳細資訊傳送至外部裝置。
為了達成上述目的,本發明之動畫播放裝置具備以下構成。
本發明之動畫播放裝置係自動畫配信伺服器依序獲取1幀畫面已編碼之編碼動畫資料,進行解碼並播放之動畫播放裝置,其特徵在於具有:第1接收手段,其自動畫配信伺服器接收編碼詳細資訊,上述編碼詳細資訊包含第1編碼動畫資料中已編碼之第1畫面之描繪中使用之視點資訊、與第1畫面對應之深度緩衝區、及表示是否已針對第1畫面之各區塊進行幀間編碼之資訊;解碼預處理手段,其基於藉由第1接收手段而接收之編碼詳細資訊,根據對在第1編碼動畫資料之前獲取之第2編碼動畫資料進行解碼而獲得之第2畫面,生成第1編碼動畫資料之解碼中使用之參照資料;第2接收手段,其自動畫配信伺服器接收第1編碼動畫資料;及解碼手段,其使用藉由解碼預處理手段而生成之參照資料,對藉由第2接收手段而接收之第1編碼動畫資料進行解碼並播放。
根據上述構成,藉由本發明可對藉由描繪處理而獲得之畫面高速且高效地進行動畫編碼。
關於本發明之其他特徵及優點,利用參照隨附圖式之以下說明來闡明。再者,在隨附圖式中,對相同或同樣之構成標註相同之參照編號。
100‧‧‧PC
101‧‧‧CPU
102‧‧‧ROM
103‧‧‧RAM
104‧‧‧解碼部
105‧‧‧通信部
106‧‧‧顯示部
107‧‧‧操作輸入部
200‧‧‧動畫配信伺服器
201‧‧‧伺服器CPU
202‧‧‧伺服器ROM
203‧‧‧伺服器RAM
204‧‧‧伺服器GPU
205‧‧‧伺服器VRAM
206‧‧‧伺服器編碼部
207‧‧‧伺服器記錄媒體
208‧‧‧伺服器通信部
300、1100‧‧‧網路
601‧‧‧遊戲畫面
602、603‧‧‧評估像素
604、605‧‧‧評估像素物件
606‧‧‧前幀畫面
607、608‧‧‧對應像素
1000‧‧‧中央伺服器
1001‧‧‧中央CPU
1002‧‧‧中央ROM
1003‧‧‧中央RAM
1004‧‧‧中央通信部
1100‧‧‧網路
隨附圖式包含於說明書中並構成其一部分,表示本發明之實施形態,與其記述一同用來說明本發明之原理。
圖1係表示本發明之實施形態1之動畫配信系統之系統構成之圖。
圖2係表示本發明之實施形態之PC100之功能構成之方塊圖。
圖3係表示本發明之實施形態之動畫配信伺服器200之功能構成之方塊圖。
圖4係例示利用本發明之實施形態1之動畫配信伺服器200執行之動畫配信處理之流程圖。
圖5係例示利用本發明之實施形態之動畫配信伺服器200執行之編碼判斷處理之流程圖。
圖6係用來說明本發明之實施形態之評估深度值與前幀深度值之比較方法之圖。
圖7係例示利用本發明之實施形態之動畫配信伺服器200執行之編碼處理之流程圖。
圖8係例示利用本發明之實施形態之PC100執行之動畫播放處理之流程圖。
圖9係例示利用本發明之實施形態之PC100執行之預解碼處理之流程圖。
圖10係表示本發明之實施形態2之動畫配信系統之系統構成之圖。
圖11係表示本發明之實施形態2之中央伺服器1000之功能構成之方塊圖。
圖12係例示利用本發明之實施形態2之動畫配信伺服器200執行之資訊收集處理之流程圖,。
圖13係例示利用本發明之實施形態2之中央伺服器1000執行之判斷處 理之流程圖。
圖14係例示利用本發明之實施形態2之動畫配信伺服器200執行之動畫配信處理之流程圖。
[實施形態1]
以下,參照圖式對本發明之例示性之實施形態進行詳細說明。再者,以下說明之一實施形態係說明在作為動畫配信系統之一例之動畫播放裝置即PC100與遞送動畫之動畫配信伺服器200中應用本發明之例。
《動畫配信系統之構成》
圖1係表示本發明之實施形態之動畫配信系統之系統構成之圖。
如圖所示,PC100與動畫配信伺服器200係經由網際網路等網路300而連接。在本實施形態中,PC100作為動畫配信內容之一例,接收在動畫配信伺服器200中執行之遊戲內容所涉及之遊戲畫面作為編碼動畫資料。在本實施形態中,動畫配信伺服器200接收在PC100中進行之操作(使用者輸入),並逐幀地描繪與該操作對應之遊戲畫面。然後,動畫配信伺服器200對描繪之遊戲畫面進行編碼,並將所得之編碼動畫資料遞送至PC100。又,PC100當自動畫配信伺服器200接收到編碼動畫資料時,對該編碼動畫資料進行解碼並播放,由此可對使用者提供遊戲畫面。
再者,在本實施形態中,作為動畫配信內容之一例,說明提供藉由在網路300上之動畫配信伺服器200中執行之遊戲程式而描繪之遊戲畫面之內容,但本發明之實施並不限定於此。動畫配信伺服器200只要為如下構成即可:藉由描繪處理而描繪對配信目的地提供之動畫配信內容之1幀,並配信藉由針對每一幀進行之編碼處理而獲得之編碼動畫資料。又,1幀之畫面之描繪並非必須在動畫配信伺服器200中執行,例如亦可藉由外部之描繪伺服器執行。即,動畫配信伺服器200只要接收1幀之畫面、該畫 面之描繪中使用之視點資訊(相機參數)、及對應於該畫面之深度緩衝區,並執行下述編碼處理即可。
又,在本實施形態中,作為連接於動畫配信伺服器200之客戶端機器,使用PC100進行說明,但本發明之實施並不限定於此。例如與動畫配信伺服器200連接之客戶端機器只要係家庭用遊戲機、便攜式遊戲機、手機、PDA、平板電腦等可對自動畫配信伺服器200接收到之編碼動畫資料進行解碼並播放之機器即可。
<PC100之構成>
圖2係表示本發明之實施形態之PC100之功能構成之方塊圖。
CPU101控制PC100所具有之各區塊之動作。具體而言,CPU101藉由讀出例如在ROM102中記錄之動畫播放處理之動作程式,且在RAM103中解壓並執行,從而控制各區塊之動作。
ROM102例如為可改寫之非揮發性記憶體。ROM102除記憶有動畫播放處理等動作程式以外,還記憶有PC100所具有之各區塊之動作所必需之常數等資訊。
RAM103係揮發性記憶體。RAM103不僅用作動作程式之解壓區域,亦用作儲存區域,暫時性地記憶在PC100所具有之各區塊之動作中輸出之中間資料等。
解碼部104對下述之通信部105接收到之編碼動畫資料進行解碼處理,生成1幀之遊戲畫面。又,解碼部104在進行針對編碼動畫資料之解碼處理之前,進行準備該解碼處理中使用之參照資料之預解碼處理。關於在解碼部104中執行之預解碼處理及解碼處理,將在下述動畫播放處理中進行詳細敍述。
通信部105係PC100所具有之通信界面。通信部105在與經由網路300而連接之動畫配信伺服器200等其他機器之間進行資料收發。於 資料傳送時,通信部105將資料轉換為在與網路300或傳送目的地之機器之間規定之資料傳輸形式,並對傳送目的地之機器進行資料傳送。又,當資料接收時,通信部105將經由網路300而接收到之資料轉換為可由PC100讀取之任意資料形式,並記憶於例如RAM103中。
再者,在本實施形態中,說明PC100與動畫配信伺服器200為經由網路300而連接,但應容易想像到亦可為例如PC100與動畫配信伺服器200係直接利用電纜而連接之形態。
顯示部106例如為LCD監視器等連接於PC100之顯示裝置。顯示部106進行將輸入之遊戲畫面顯示於顯示區域之顯示控制。再者,顯示部106既可如膝上型PC般為內置於PC100中之顯示裝置,亦可為使用電纜而自外部連接於PC100之顯示裝置。
操作輸入部107係例如滑鼠、鍵盤、遊戲板等PC100所具有之使用者界面。操作輸入部107當檢測到由使用者完成使用者界面之操作時,對CPU101輸出與該操作對應之控制信號。
<動畫配信伺服器200之構成>
圖3係表示本發明之實施形態之動畫配信伺服器200之功能構成之方塊圖。
伺服器CPU201控制動畫配信伺服器200所具有之各區塊之動作。具體而言,伺服器CPU201藉由讀出例如伺服器ROM202中記憶之動畫配信處理之動作程式,且在伺服器RAM203中解壓並執行,而控制各區塊之動作。
伺服器ROM202例如為可改寫之非揮發性記憶體。伺服器ROM202除記憶有動畫配信處理等之動作程式以外,還記憶有動畫配信伺服器200所具有之各區塊之動作中必需之常數等資訊。
伺服器RAM203係揮發性記憶體。伺服器RAM203不僅用 作動作程式之解壓區域,亦用作儲存區域,暫時性地記憶在動畫配信伺服器200所具有之各區塊之動作中輸出之中間資料等。
伺服器GPU204生成顯示於PC100之顯示部106之遊戲畫面。在伺服器GPU204中連接有伺服器VRAM205。伺服器GPU204當自伺服器CPU201接收到描繪命令及遊戲畫面之描繪中使用之相機之位置及方向之資訊(視點資訊)時,自例如下述之伺服器記錄媒體207讀出該描繪命令所涉及之描繪物件,並儲存於GPU記憶體中。伺服器GPU204在對連接之伺服器VRAM205進行描繪之情況下,在進行向高速緩衝記憶體解壓描繪物件之後,將該解壓後之描繪物件寫入伺服器VRAM205。
伺服器編碼部206對藉由伺服器GPU204而在伺服器VRAM205中生成之遊戲畫面進行編碼處理。伺服器編碼部206將編碼對象之遊戲畫面分割成區塊,並對各區塊進行幀內編碼(intra coding)或幀間編碼(inter coding)。編碼處理之詳細情況將於下文敍述,但在本實施形態中,伺服器編碼部206針對YCbCr之色通道之每一個而對各區塊進行離散餘弦變換(DCT)後,利用游程長度編碼而進行壓縮。
伺服器記錄媒體207為例如HDD等可裝卸地連接於動畫配信伺服器200之記錄裝置。在本實施形態中,在伺服器記錄媒體207中,記錄有於描繪處理中用於畫面之生成之描繪物件之模型資料或光源資訊等。
伺服器通信部208係動畫配信伺服器200所具有之通信界面。在本實施形態中,伺服器通信部208在與經由網路300而連接之PC100等其他機器之間進行資料收發。再者,伺服器通信部208與通信部105同樣地,依照通信規格進行資料形式之轉換。
《動畫配信處理》
對於在具有上述構成之本實施形態之動畫配信系統之動畫配信伺服器200中執行之動畫配信處理,使用圖4之流程圖來說明具體處理。該流程圖 所對應之處理可藉由由伺服器CPU201讀出例如伺服器ROM202中記憶之對應之處理程式,於伺服器RAM203中解壓並執行而實現。再者,說明例如當伺服器CPU201檢測到自PC100接收到動畫配信伺服器200提供之遊戲內容之提供請求時開始本動畫配信處理,並針對遊戲之每一幀而反覆執行。
再者,在本實施形態中,說明動畫配信伺服器200以編碼動畫資料之形態將描繪有三維場景之遊戲畫面提供至PC100。然而,如上所述,由動畫配信伺服器200配信之內容並不限定於此,可以係提供描繪有三維場景之畫面之任意內容。又,於以下說明中為了簡化說明,而說明描繪之遊戲畫面中包含之描繪物件均為不進行移動之靜態目標。
在S401中,伺服器CPU201更新接下來要描繪之遊戲畫面之視點資訊。具體而言,伺服器CPU201參照例如伺服器通信部208接收到之在PC100中由使用者完成之與遊戲相關之操作輸入之資訊,更新接下來要描繪之遊戲畫面之視點資訊。可產生視點資訊之更新之由使用者進行之操作例如有視點位置及方向之變更操作、或使用者之操作對象之角色之移動等。再者,用於遊戲畫面之描繪之視點資訊之更新並不僅由在PC100中進行之使用者操作而更新,例如亦可根據遊戲之進展狀況而變更。
在S402中,伺服器CPU201使伺服器GPU204描繪與在S401中更新之視點資訊對應之遊戲畫面。具體而言,伺服器CPU201特定要描繪之遊戲畫面中包含之描繪物件,並決定該描繪物件之描繪順序。然後伺服器CPU201根據決定之描繪順序而向伺服器GPU204傳輸針對描繪物件之描繪命令。又,伺服器CPU201自伺服器記錄媒體207讀出要使伺服器GPU204描繪之描繪物件之模型資料(或頂點資料及接線資料)、紋理資料、及關於描繪物件之位置、旋轉資訊之參數,並傳輸至伺服器GPU204。伺服器GPU204將傳輸之關於描繪物件之資訊儲存在GPU記憶體中。
伺服器GPU204依照接收到描繪命令之關於描繪物件之位 置、旋轉資訊之參數,使GPU記憶體中儲存之模型資料進行移動及旋轉。然後,伺服器GPU204對該描繪物件應用紋理或光源效果後,在伺服器VRAM205之幀緩衝區進行描繪。
再者,在畫面之描繪中,以像素(pixel)為單位考慮因描繪物件之前後關係而產生之遮蔽(遮擋(occlusion))。即,對於特定之像素,於在對象之描繪物件之前,已經進行了較該描繪物件位於更靠視點側(近前)之其他描繪物件之描繪之情況下,省略向對象之描繪物件之描繪物件之像素之描繪。
描繪物件之前後關係之把握係參照深度緩衝區(亦稱為z緩衝區、深度圖等)來進行之。深度緩衝區係由各像素之像素值表示該像素中描繪之描繪物件與視點(相機)之直線距離(z值:深度值)之二維圖像,且儲存在伺服器VRAM205中。伺服器GPU204當依照描繪順序而描繪畫面中包含之各描繪物件時,特定描繪對象之描繪物件之像素並參照其深度值,與要描繪之描繪物件之該像素中之深度值進行大小比較。如果要描繪之對象之描繪物件之深度值較小,則表示對象之描繪物件配置於近前,因此伺服器GPU204在伺服器VRAM205之該像素中描繪對象之描繪物件。此時,伺服器GPU204藉由將深度緩衝區之該像素之深度值變更為對象之描繪物件之深度值,而更新深度緩衝區。
如此,當針對所有描繪物件之描繪結束時,在伺服器VRAM205中描繪之遊戲畫面所對應之深度緩衝區完成。
在S403中,伺服器CPU201將描繪之遊戲畫面、該遊戲畫面之描繪中使用之視點資訊、及該遊戲畫面所對應之深度緩衝區儲存在伺服器RAM203中。本實施形態之動畫配信伺服器200針對向PC100提供之編碼動畫資料之各幀,將描繪之遊戲畫面、該遊戲畫面之描繪中使用之視點資訊、及該遊戲畫面所對應之深度緩衝區儲存在伺服器RAM203中,並 至少保持到下一幀之編碼處理結束為止。這些資訊除用於當前幀之編碼動畫資料之製作以外,還用於下一幀之編碼處理或下述之編碼判斷處理。
在S404中,伺服器CPU201在YCbCr空間中對描繪之遊戲畫面進行色轉換之後,將遊戲畫面分割成特定之像素數(例如16 pixel×16 pixel)之區塊。
在S405中,伺服器CPU201執行編碼判斷處理,決定對各區塊進行幀內編碼或進行幀間編碼。
<編碼判斷處理>
此處,對於藉由本實施形態之動畫配信伺服器200而執行之編碼判斷處理,使用圖5之流程圖來說明詳細情況。
在S501中,伺服器CPU201選擇描繪之遊戲畫面(對象遊戲畫面)之區塊中之未決定編碼方法之區塊。
在S502中,伺服器CPU201將選擇區塊內之像素中之1個像素設定為評估像素。再者,伺服器CPU201將關於設定之評估像素之在對象遊戲畫面中之螢幕座標(Scurrent)儲存於伺服器RAM203中。
在S503中,伺服器CPU201特定設定之評估像素中描繪之描繪物件(評估像素物件)之三維座標(Dcurrent)。具體而言,伺服器CPU201首先自對象遊戲畫面所對應之深度緩衝區獲取評估像素之螢幕座標Scurrent中之深度值(zcurrent)。其次,伺服器CPU201根據對象遊戲畫面之描繪中使用之視點資訊、及評估像素之螢幕座標Scurrent而特定朝向評估像素物件之方向。然後,伺服器CPU201根據視點資訊、特定之朝向評估像素物件之方向、及評估像素之深度值zcurrent而特定評估像素物件之三維座標Dcurrent
在S504中,伺服器CPU201計算在當前幀之前1幀所描繪之遊戲畫面(前幀畫面)中之評估像素物件之螢幕座標(Sprevious)及深度值(評估深度值zestimate)。具體而言,伺服器CPU201讀出伺服器RAM203中儲 存之前幀畫面之描繪中使用之視點資訊,將評估像素物件之三維座標Dcurrent轉換為前幀畫面中之螢幕座標Sprevious。又,伺服器CPU201計算前幀畫面之描繪中使用之視點資訊中包含之視點位置、與評估像素物件之三維座標Dcurrent之距離即深度值zestimate
在S505中,伺服器CPU201自伺服器RAM203讀出前幀畫面所對應之深度緩衝區,獲取螢幕座標Sprevious中之深度值(前幀深度值zprevious)。
在S506中,伺服器CPU201判斷是否可以視為前幀畫面中之評估像素物件之評估深度值zestimate與前幀深度值zprevious相同。具體而言,伺服器CPU201判斷評估深度值zestimate與前幀深度值zprevious之差分之絕對值是否為視為相同之閾值以下。在本步驟中,伺服器CPU201判斷評估像素物件是否在前幀之遊戲畫面中被遮蔽。
例如,如圖6所示,對針對視點A而描繪之當前幀之遊戲畫面(對象遊戲畫面)601中之評估像素602及603進行考慮。評估像素602所對應之評估像素物件604在針對視點B而描繪之前幀之遊戲畫面(前幀畫面)606中被描繪在對應像素607之位置上。此時,由於評估像素物件604在前幀畫面606中未被遮蔽,因此評估深度值zestimate與前幀深度值zprevious一致。另一方面,評估像素603所對應之評估像素物件605在前幀畫面606中被描繪在對應像素608之位置上。然而,此時,由於評估像素物件605在前幀畫面606中被遮蔽,因此評估深度值zestimate與前幀深度值zprevious不同。
如此,在本實施形態之編碼判斷處理中,藉由使用當前幀與前幀之視點資訊及深度緩衝區,而判斷在選擇區塊中描繪之描繪物件是否已描繪在前幀畫面中。
伺服器CPU201在判斷視為前幀畫面中之評估像素物件之評估深度值與前幀深度值相同之情況下使處理移至S507,在判斷無法視為相 同之情況下使處理移至S508。
在S507中,伺服器CPU201更新伺服器RAM203中儲存之評估深度值與前幀深度值一致之次數。
在S508中,伺服器CPU201判斷針對選擇區塊設定之評估像素之數量是否達到預先規定之評估樣本數。伺服器CPU201在判斷針對選擇區塊設定之評估像素之數量達到評估樣本數之情況下使處理移至S509,在判斷未達到之情況下使處理返回S502。
在S509中,伺服器CPU201判斷伺服器RAM203中儲存之評估深度值與前幀深度值一致之次數是否超過閾值。伺服器CPU201在判斷評估深度值與前幀深度值一致之次數超過閾值之情況下,設為選擇區塊之遮蔽狀態未產生變化而使處理移至S510。又,伺服器CPU201在判斷評估深度值與前幀深度值一致之次數未超過閾值之情況下,使處理移至S511。
在S510中,伺服器CPU201對選擇區塊關聯表示進行幀間編碼之編碼識別資訊。編碼識別資訊例如可以係1bit之邏輯型資訊。即,在本實施形態中,藉由選擇區塊中包含之描繪物件在前幀中是否為遮蔽狀態而決定對選擇區塊執行幀內編碼及幀間編碼之何者。即,在選擇區塊中包含之描繪物件在前幀中不係遮蔽狀態之情況下,成為在前幀畫面中存在具有與選擇區塊類似度較高之圖案(紋理等)之區域。因此,伺服器CPU201判斷進行幀間預測壓縮效率較高,從而設為在該選擇區塊中進行幀間編碼來生成編碼動畫資料。
在S511中,伺服器CPU201判斷是否已對對象遊戲畫面之所有區塊執行S502至S510之處理。伺服器CPU201在判斷存在仍未執行處理之區塊之情況下使處理返回S501,在判斷不存在之情況下結束本編碼判斷處理。
伺服器CPU201以此種方式判斷對利用編碼判斷處理而描繪 之遊戲畫面之各區塊進行幀內編碼與幀間編碼中之何者。
在S406中,伺服器CPU201將描繪之遊戲畫面之各區塊之編碼識別資訊、該遊戲畫面之描繪中使用之視點資訊、及與描繪之遊戲畫面對應之深度緩衝區作為編碼詳細資訊傳輸至伺服器通信部208,並傳送至PC100。編碼詳細資訊用於在PC100中執行之下述之預解碼處理。
在S407中,伺服器CPU201對描繪之遊戲畫面執行編碼處理,生成編碼動畫資料。
<編碼處理>
此處,對於在本實施形態之動畫配信伺服器200中執行之編碼處理,參照圖7進行詳細說明。
在S701中,伺服器CPU201選擇描繪之遊戲畫面之區塊中之未進行編碼之區塊。
在S702中,伺服器CPU201判斷選擇區塊是否與編碼識別資訊建立關聯。即,伺服器CPU201藉由編碼識別資訊來判斷是否對選擇區塊進行幀間編碼。伺服器CPU201在判斷選擇區塊與編碼識別資訊建立關聯之情況下使處理移至S703,在判斷未建立關聯之情況下使處理移至S705。
在S703中,伺服器CPU201自在當前幀之前1幀所描繪之遊戲畫面(前幀畫面)內之選擇區塊所對應之區域之圖像,生成幀間編碼中使用之參照圖像(參照資料)。具體而言,伺服器CPU201首先利用與上述編碼判斷處理相同之方法,藉由將選擇區塊之四角之像素轉換為前幀畫面之螢幕座標而特定對應之區域之四角之座標。然後,伺服器CPU201藉由使該對應之區域之圖像乘以例如自前幀畫面與當前幀之遊戲畫面之描繪中使用之視點資訊生成之轉換矩陣,而生成與選擇區塊相同之像素數之參照圖像。
在S704中,伺服器CPU201生成選擇區塊之圖像與參照圖 像之差分作為差分圖像,並設定為編碼對象圖像。具體而言,伺服器CPU201藉由自選擇區塊之圖像之各像素值中減去參照圖像之對應之像素之像素值而生成差分圖像(pblock)。
另一方面,於在S702中判斷選擇區塊未與編碼識別資訊建立關聯之情況下,伺服器CPU201在S705中,將選擇區塊之圖像設定為編碼對象圖像。
在S706中,伺服器CPU201將編碼對象圖像傳輸至伺服器編碼部206,並執行DCT處理而轉換為頻率區域之資料。又,伺服器CPU201藉由使伺服器編碼部206對利用轉換而獲得之頻率區域之資料進行游程長度編碼,從而生成選擇區塊之編碼資料。
在S707中,伺服器CPU201判斷是否已對描繪之遊戲畫面之所有區塊執行S702至S706之處理。伺服器CPU201在判斷存在仍未執行處理之區塊之情況下使處理返回S701,在判斷不存在之情況下結束本編碼處理。
如此,伺服器CPU201根據描繪之遊戲畫面而生成編碼動畫資料。再者,藉由本實施形態之編碼處理而生成之編碼動畫資料無需針對進行幀間編碼之區塊包含運動向量。即,在本實施形態之動畫配信伺服器200中,未如以往般進行與區塊之圖像相關性最高之區域之檢索等,而係使用畫面之描繪中使用之視點資訊及深度緩衝區來進行該區域之特定,因此在編碼動畫資料中不包含運動向量。又,在S406中,特定相關性最高之區域所必需之資訊亦已作為編碼詳細資訊而傳送至PC100,因此在PC100中亦同樣地進行解碼時所必需之參照圖像之生成即可,而無需使用運動向量。
在S408中,伺服器CPU201將在S407中生成之編碼動畫資料傳輸至伺服器通信部208,並對PC100傳送,從而結束當前幀之動畫配信處理。
《動畫播放處理》
其次,關於在本實施形態之PC100中執行之動畫播放處理,使用圖8之流程圖來對具體處理進行說明。該流程圖所對應之處理可藉由CPU101讀出例如ROM102中記錄之對應之處理程式,且在RAM103中解壓並執行而實現。再者,說明例如於在PC100中接收動畫配信伺服器200提供之遊戲內容之應用程式執行時開始本動畫播放處理,並針對遊戲之每一幀反覆執行。
在S801中,CPU101判斷通信部105是否自動畫配信伺服器200接收到編碼詳細資訊。CPU101在判斷自動畫配信伺服器200接收到編碼詳細資訊之情況下使處理移至S802,在判斷未接收到之情況下反覆進行本步驟之處理。
在S802中,CPU101參照編碼詳細資訊,執行準備當前幀之遊戲畫面之解碼所必需之參照資料之預解碼處理。
<預解碼處理>
此處,使用圖9之流程圖對利用本實施形態之PC100而執行之預解碼處理進行詳細說明。
在S901中,CPU101選擇當前幀所接收之遊戲畫面之區塊中之未進行使用之編碼方式之判定之區塊。
在S902中,CPU101參照編碼詳細資訊,判斷選擇區塊是否已經與表示進行幀間編碼之編碼識別資訊建立關聯。CPU101在判斷選擇區塊已經與編碼識別資訊建立關聯之情況下使處理移至S903,在判斷未建立關聯之情況下使處理移至S904。
在S903中,CPU101自在當前幀之前一幀中解碼之遊戲畫面(前幀畫面)內之選擇區塊所對應之區域之圖像,生成選擇區塊之解碼中使用之參照圖像(參照資料)。本實施形態之PC100與動畫配信伺服器200同 樣地,將在前一幀中解碼之前幀畫面、前幀畫面之描繪中使用之視點資訊、及前幀畫面所對應之深度緩衝區保持在RAM103中。CPU101利用與上述動畫配信伺服器200之編碼處理相同之方法生成與選擇區塊相同像素數之參照圖像。
在S904中,CPU101判斷是否已對在當前幀中接收之遊戲畫面之所有區塊執行S902至S903之處理。伺服器CPU201在判斷存在仍未執行處理之區塊之情況下使處理返回S901,在判斷不存在之情況下結束本預解碼處理。
如此,在本實施形態之PC100中,藉由參照在編碼動畫資料之前接收之編碼詳細資訊,而可先於接收到編碼動畫資料之後進行之解碼處理,準備解碼處理中使用之參照資料。
在S803中,CPU101判斷通信部105是否自動畫配信伺服器200接收到編碼動畫資料。CPU101在判斷自動畫配信伺服器200接收到編碼動畫資料之情況下使處理移至S804,在判斷未接收到之情況下反覆進行本步驟之處理。
在S804中,CPU101將接收到之編碼動畫資料傳輸至解碼部104,使該解碼部104執行解碼處理而生成遊戲畫面。具體而言,解碼部104藉由對編碼動畫資料之各區塊進行游程長度編碼資料列之解碼、及逆DCT處理而生成當前幀之遊戲畫面之區塊資料。又,藉由使已進行幀間編碼之區塊與藉由上述預解碼處理而生成之參照資料相加,從而解碼部104生成當前幀之遊戲畫面。
在S805中,CPU101將在S804中生成之當前幀之遊戲畫面傳輸至顯示部106,並顯示在對應之顯示區域中,從而結束當前幀之動畫播放處理。
如此,本實施形態之動畫配信系統中之動畫配信伺服器200 可在編碼動畫資料之生成結束而進行配信之前,將編碼方法之資訊傳送至作為動畫播放裝置之PC100。即,可在編碼動畫資料之接收前準備參照圖像作為前處理,因此可縮短接收編碼動畫資料後進行之解碼處理。即,與參照接收之編碼動畫資料中包含之運動向量而根據前一幀之圖像,生成已進行幀間編碼之區塊之解碼中使用之參照圖像之以往之方法相比,本實施形態之動畫配信方法可縮短解碼之動畫之播放前所需之時間。
又,本實施形態之動畫配信伺服器200無須針對進行幀間編碼之區塊進行類似度之計算,以自前幀之遊戲畫面中探索相關性最高之區域。例如,在計算歐幾里德距離作為圖像間之類似度之計算之情況下,一面使設定為基準圖像之圖像相對於對象圖像偏移像素單位或半個像素單位,一面特定距離成為最短之位置。因此,計算量對應於在探索範圍內使基準圖像移動之次數而增大。另一方面,在本實施形態之動畫配信伺服器200中,可藉由參照與幀之畫面一同生成之深度緩衝區及該畫面之描繪中使用之視點資訊,而進行相關性成為最高之區域之特定及相關度之高度之推定。即,可利用使用座標轉換矩陣之單純之計算來特定成為參照圖像之區域,因此與以往之方式中使用之方式相比可減少計算量,結果為可縮短編碼處理所需之時間。再者,針對2幀之向螢幕座標之轉換中使用之轉換矩陣係分別根據2幀之描繪中使用之視點資訊而計算之,因此可對幀內之所有區塊進行再利用。
再者,在本實施形態中幀間編碼或其解碼中參照之參照圖像,係作為自在當前幀之前一幀中描繪之畫面生成者來說明之,但本發明之實施並不限定於此。參照圖像之生成只要為在當前幀之前之幀中描繪之畫面即可。
又,在本實施形態中為了簡化說明,描繪範圍中包含之描繪物件係作為不活動之靜態目標來進行說明,但本發明之實施並不限定於 此。由於進行深度值之比較,因此優選靜態目標,但考慮到例如若為1幀間則各描繪物件之變化亦較小。因此,只要係視為評估深度值與前幀深度值相同之範圍,即可應用本發明。在該情況下,亦可考慮評估像素中描繪之描繪物件之自前幀之移動量,而判斷是否進行深度值之比較。即,在描繪物件之移動量為閾值以上之情況下,亦可決定不進行深度值之比較而進行幀內編碼。
又,在上述動畫配信處理中,說明對當前幀之畫面之所有區塊進行編碼判斷處理後,將所得之編碼詳細資訊傳送至PC100,但可容易想像到編碼詳細資訊之傳送時序並不限定於此。即,在獲得是否對各區塊進行幀間編碼之判斷結果之情況下,伺服器CPU201亦可不等待獲得所有區塊之判斷結果便將該區塊之編碼詳細資訊傳送至PC100。
如以上說明,本實施形態之動畫配信伺服器可對藉由描繪處理而獲得之畫面高速且高效地進行動畫編碼。具體而言,動畫配信伺服器依序獲取描繪之畫面、該畫面之描繪中使用之視點資訊、及對應於該畫面之深度緩衝區。動畫配信伺服器分別對分割所獲取之第1畫面而得之複數個區塊設定評估像素,並針對評估像素中描繪之描繪物件,特定在第1畫面之前獲取之第2畫面中之螢幕座標及深度值。又,對與第2畫面對應之深度緩衝區中之螢幕座標之深度值、與評估像素中描繪之描繪物件之深度值進行比較,並針對視為2個深度值相同之區塊決定在與第2畫面之間進行幀間編碼。然後將編碼詳細資訊傳送至外部裝置,上述編碼詳細資訊包含第1畫面之描繪中使用之視點資訊、與第1畫面對應之深度緩衝區、及表示是否對第1畫面之各區塊進行幀間編碼之資訊。
由此,可減低幀間編碼處理之計算量,並在接收編碼動畫資料之前準備外部裝置之解碼中使用之參照資料。因此,可在動畫配信伺服器遞送根據動畫播放裝置中之使用者輸入而變化之動畫內容之情況下,對 動畫播放裝置之使用者提供對於使用者輸入之響應性提高之動畫內容。
[變形例]
在上述之實施形態中,說明與幀之畫面之描繪一同獲得深度緩衝區,但本發明可藉由畫面之描繪方法而特別高效地實施。
以往之描繪方法為依序選擇遊戲畫面中包含之各描繪物件,並對該描繪物件進行如下處理來描繪,即該處理為:
1.利用頂點著色器之移動、旋轉處理
2.利用幾何形狀著色器之頂點處理
3.利用像素著色器之包含像素單位之陰影處理之效果處理。
即,針對各描繪物件進行具有陰影處理→描繪之流程之所謂Forward Rendering(正向渲染)。在Forward Rendering中,由於逐次對各目標進行處理,因此根據像素而存在如下情況,即在描繪1個目標後,藉由位於更靠近相機之位置上之(位於較該目標更靠前之)其他目標之描繪,而對描繪內容進行覆寫。在該情況下,對於被其後描繪之目標遮蔽之先前描繪之目標之一部分區域應用之陰影處理變為無用。又,例如描繪之場景中存在之光源等對於場景中存在之目標而言為共用,但在Forward Rendering中難以將描繪1個目標時共用之計算內容再利用於其他目標之描繪。因此,尤其在進行複雜之陰影處理之遊戲畫面之描繪中,Forward Rendering之效率不高。
與此相對,在Deferred Rendering(延遲渲染)中,與Forward Rendering不同,先進行陰影處理中使用之幾何形狀之計算,其後集中地對所有描繪物件進行陰影處理。即,進行具有幾何形狀描繪→陰影處理→描繪之流程之2階段之描繪處理。在Deferred Rendering中,在前段之描繪中,不進行照明而一併使用陰影處理中所使用之參數來進行幾何形狀之描繪處理,生成陰影處理中使用之表示中值之複數個中值圖(散射圖、深度圖、法線圖、反射圖、擴散圖等)。然後,在後段之描繪處理中,一面利用生成 之複數個中值圖,一面描繪應用光源並進行陰影處理之畫面。
如此,在動畫配信伺服器200中,在利用Deferred Rendering而描繪幀之遊戲畫面之情況下,於獲得最終遊戲畫面之前,在前段之描繪中生成深度緩衝區(深度圖)。即,由於上述編碼判斷處理可在最終遊戲畫面之描繪之前執行,因此動畫配信伺服器200可在早於上述實施形態之階段,對PC100傳輸編碼詳細資訊。又,針對已藉由編碼判斷處理而決定執行幀間編碼之區塊,亦可在第2行程之描繪中移至參照圖像之準備,因此可進一步縮短生成最終遊戲畫面後至結束編碼處理為止之時間。
[實施形態2]
在上述實施形態及變形例中,說明了如下方法:藉由使用在不同幀之描繪中生成之深度緩衝區,來決定遊戲畫面之編碼處理採用幀內編碼及幀間編碼中之哪一編碼方式,而對遊戲畫面高速且高效地進行動畫編碼。在本實施形態中,說明對動畫配信伺服器200連接有複數個作為動畫播放裝置之PC100之情況下之遊戲畫面之高速動畫編碼、及動畫編碼資料之高效之配信方法。
《動畫配信系統之構成》
圖10係表示本實施形態之動畫配信系統之系統構成之圖。再者,在本實施形態之說明中,對與上述實施形態1相同之構成及裝置標註相同之參照編號,並省略說明。
如圖所示,在本實施形態之動畫配信伺服器200中,經由網路300而連接有複數個PC100。在本實施形態中,動畫配信伺服器200接收在各PC100中完成之操作,並逐幀地描繪與該操作對應之遊戲畫面。此時,動畫配信伺服器200同時並行地執行分別對複數個PC100提供之遊戲畫面之描繪處理及畫面之編碼處理。而且,動畫配信伺服器200對各PC100同時並行地遞送編碼動畫資料。
又,在本實施形態之動畫配信系統中,動畫配信伺服器200經由網路1100而連接於中央伺服器1000。通常,在聯機之遊戲服務中,為了分散服務之負荷而在複數個地點配置服務提供用動畫配信伺服器200。在本實施形態中,由中央伺服器1000統一管理以此種方式分散配置在複數個地點之複數個動畫配信伺服器200。中央伺服器1000自各動畫配信伺服器200收集動畫配信狀況之資訊並進行判斷處理,且對動畫配信伺服器200指示可實現高效之動畫配信之適當之參數,由此實現高效之動畫配信。
再者,在本實施形態中,動畫配信伺服器200與中央伺服器1000經由網路1100而連接,但本發明之實施並不限定於此,中央伺服器1000亦能夠與PC100同樣地以經由網路300而連接於動畫配信伺服器200之方式進行設計。又,在本實施形態中,設想實際之實施態樣而說明由中央伺服器1000統一管理分散配置在複數個地點之動畫配信伺服器200,但本發明之實施並不限定於此。複數個動畫配信伺服器200既可分別獨立地存在於同一地點,亦能夠以由中央伺服器1000統一管理其等之方式進行設計。在該情況下,動畫配信伺服器200與中央伺服器1000亦可不經由網路1100連接,而各機器彼此直接有線連接。
在上述本實施形態之動畫配信系統中,對於動畫配信伺服器200,要求具有同時並行地處理對連接之複數個PC100遞送編碼動畫資料之能力。然而,如聯機遊戲服務般,在連接於動畫配信伺服器200之客戶端數隨時間而變動之服務之情況下,動畫配信伺服器200之性能設計較為困難。例如,在以連接之客戶端數處於流量之峰值時間帶中之服務提供為基準進行性能設計之情況下,在峰值時間帶以外之時間帶中基礎設施性能變得過剩。此種性能設計會導致動畫配信伺服器200之導入成本不必要地增加。又,在以例如峰值時間帶以外之時間帶中之服務提供為基準而進行性能設計之情況下,在峰值時間帶中無法對超過允許客戶端數之客戶端提供 服務,因此需要增加動畫配信伺服器200之導入數,結果導致導入成本不必要地增加。
在本實施形態之動畫配信系統中,提出在如此以峰值時間帶以外之時間帶為基準而進行動畫配信服務中之動畫配信伺服器200之性能設計之情況下之、高速動畫編碼及動畫編碼資料之高效的配信方法及高效之負荷分散。
<中央伺服器1000之構成>
圖11係表示本發明之實施形態之中央伺服器1000之功能構成之方塊圖。
中央CPU1001控制中央伺服器1000所具有之各區塊之動作。具體而言,中央CPU1001藉由讀出例如中央ROM1002中記憶之各區塊之動作程式,在中央RAM1003中解壓並執行而控制各區塊之動作。
中央ROM1002例如為可改寫之非揮發性記憶體。中央ROM1002除記憶中央伺服器1000所具有之各區塊之動作程式以外,還記憶在各區塊之動作中所必需之常數等資訊。
中央RAM1003為揮發性記憶體。中央RAM1003不僅用作動作程式之解壓區域,亦用作儲存區域,暫時性地記憶中央伺服器1000所具有之各區塊之動作中輸出之中間資料等。在本實施形態中,在中央RAM1003中,儲存表示連接於中央伺服器1000之動畫配信伺服器200中之動畫配信狀況之資訊。
中央通信部1004係中央伺服器1000所具有之通信界面。在本實施形態中,中央通信部1004自經由網路1100而連接之動畫配信伺服器200,接收表示在動畫配信伺服器200中執行之動畫配信處理所涉及之動畫配信狀況之資訊。又,中央通信部1004將作為中央伺服器1000中之動畫配信狀況之判斷處理之結果而獲得之、在對各動畫配信伺服器200之動畫配 信處理中提供之編碼動畫資料之品質調整之參數傳送至各動畫配信伺服器200。
《資訊收集處理》
首先,對於收集資訊之資訊收集處理,使用圖12之流程圖來說明具體處理,上述資訊係表示在各動畫配信伺服器200中執行之動畫配信處理之動畫配信狀況之資訊。該流程圖所對應之處理可藉由由伺服器CPU201讀出例如伺服器ROM202中儲存之對應之處理程式,且在伺服器RAM203中解壓並執行而實現。再者,說明本資訊收集處理例如在動畫配信伺服器200進行對PC100之動畫配信期間,以特定之時間間隔而定期地執行。
在S1201中,伺服器CPU201獲取當前連接於動畫配信伺服器200之客戶端數。當前連接之客戶端數例如藉由當伺服器通信部208接受來自各PC100之連接請求時,更新伺服器RAM203中儲存之連接數之資訊來進行管理即可。
在S1202中,伺服器CPU201計算於動畫配信時每台客戶端使用之平均CPU使用率。具體而言,伺服器CPU201藉由使當前之總CPU使用率除以在S1201中獲取之客戶端數,而計算出平均CPU使用率。再者,所謂CPU使用率係指1台客戶端使用CPU可提供之資源中之百分之幾之資源。
在S1203中,伺服器CPU201同樣地計算出於動畫配信時每台客戶端使用之平均GPU使用率。再者,所謂GPU使用率係指1台客戶端使用GPU可提供之資源中之百分之幾之資源。
在S1204中,伺服器CPU201計算出於動畫配信時每台客戶端傳送之編碼動畫資料之平均動畫資料大小。在如本實施形態之動畫配信系統中,設想在各PC100中以各種顯示解析度來閱覽編碼動畫資料。即,在PC100中,使用者或應用程式根據PC100之性能或喜好而自480p、720p、 1080p等中選擇接受提供之編碼動畫資料之解析度,並自動畫配信伺服器200接收對應之編碼動畫資料。又,由於根據描繪之場景而編碼效率亦會改變,因此對各PC100提供之編碼動畫資料之資料大小只要未以編碼比特率加以固定,則有可能成為各種資料大小。如此,設想到對各PC100傳送之編碼動畫資料之資料大小不同,因此伺服器CPU201在本步驟中計算出平均動畫資料大小。再者,在本實施形態中,說明對各PC100提供之編碼動畫資料作為顯示解析度及資料大小不同之資料而計算出平均動畫資料大小,但在保證這些為固定之情況下,亦可不進行本步驟之處理。
在S1205中,伺服器CPU201將利用S1202~S1204中之處理而計算之平均CPU使用率、平均GPU使用率、及平均動畫資料大小作為動畫配信狀況之資訊而經由伺服器通信部208傳送至中央伺服器1000,從而結束本資訊收集處理。
《判斷處理》
對於在已獲取藉由如此般在動畫配信伺服器200中執行之資訊收集處理而獲得之動畫配信狀況之資訊之中央伺服器1000中執行之判斷處理,使用圖13之流程圖來說明具體處理。該流程圖所對應之處理可藉由使中央CPU1001讀出例如中央ROM1002中記憶之對應之處理程式,且在中央RAM1003中解壓並執行而實現。再者,說明本判斷處理例如於自各動畫配信伺服器200接收到動畫配信狀況之資訊時執行,或以特定之時間間隔而定期地執行。
又,在以下之說明中,在中央伺服器1000中接收到之各動畫配信伺服器200之動畫配信狀況之資訊係藉由中央CPU1001而儲存在中央RAM1003中。
在S1301中,中央CPU1001參照自連接於中央伺服器1000之各動畫配信伺服器200接收到之動畫配信狀況之資訊,計算作為系統整 體之平均CPU使用率、平均GPU使用率、及平均動畫資料大小。具體而言,中央CPU1001藉由針對自所有動畫配信伺服器200接收到之各資訊計算平均值,而特定作為系統整體之配信狀況。
在S1302中,中央CPU1001根據作為當前系統整體之動畫配信狀況之資訊,計算出作為系統整體可支持之客戶端數之預測值。在本實施形態之中央伺服器1000中,使用如下3種運算式來計算可支持之客戶端數之預測值。
1.每台伺服器之CPU數×動畫配信伺服器200數/平均CPU使用率
2.每台伺服器之GPU數×動畫配信伺服器200數/平均GPU使用率
3.網路300可傳輸之最大資料大小/平均動畫資料大小
中央CPU1001將根據上述3式而獲得之預測值分別設為預測值1、預測值2、及預測值3,並儲存在中央RAM1003中。
在S1303中,中央CPU1001判斷在S1302中計算出之預測值中最小之客戶端數之預測值是否小於預先規定為進行最低限度服務提供之客戶端數之客戶端數Z。中央CPU1001在判斷預測值小於進行最低限度服務提供之客戶端數Z之情況下使處理移至S1304,在判斷不小於之情況下結束本判斷處理。
在S1304中,中央CPU1001決定自各動畫配信伺服器200提供至PC100之編碼動畫資料之最大解析度,以使計算出最小客戶端數之預測值之運算式之解成為大於進行最低限度服務提供之客戶端數Z之值。如上所述,編碼動畫資料之最大解析度已預先規定有可提供之解析度。在本步驟中,中央CPU1001選擇其中之任一解析度作為提供之編碼動畫資料之最大解析度。
再者,藉由變更提供之編碼動畫資料之最大解析度而減少之CPU使用率、GPU使用率、及平均動畫資料大小之資訊例如可預先獲取, 並作為表格而儲存在中央ROM1002等中即可。然後,中央CPU1001藉由參照該表格而決定滿足條件之最大解析度即可。又,即使不作為表格而預先記憶,亦可藉由其他方法獲取自各動畫配信伺服器200對各PC100提供之編碼動畫資料之解析度之資訊,並根據該資訊而決定最適當之最大解析度。
在S1305中,中央CPU1001將決定之編碼動畫資料之最大解析度之資訊經由中央通信部1004而傳送至各動畫配信伺服器200,從而結束本判斷處理。
如此,在本實施形態之動畫配信系統中,中央CPU1001考慮到各動畫配信伺服器200中之動畫配信狀況,決定動畫配信中之編碼動畫資料之最大解析度而對各動畫配信伺服器200進行通知。由此,即使於在系統整體中,對動畫配信伺服器200連接有超過性能設計之客戶端數之情況下,亦可在降低配信之編碼動畫資料之解析度,從而維持最低限度之服務品質之狀態下進行服務提供。
再者,在本實施形態中,說明中央CPU1001以作為系統整體保證最低限度之服務品質之方式,決定提供之編碼動畫資料之最大解析度,但此時針對即使設為該最大解析度,亦無法在資源內對連接之各PC100提供服務之動畫配信伺服器200,亦能夠以使連接於該伺服器之一部分客戶端連接到連接數較少之網路1100上之其他動畫配信伺服器200之方式,進行工作負載之平衡調整。
《動畫配信處理》
以下,對於在本實施形態之動畫配信系統之動畫配信伺服器200中執行之動畫配信系統,使用圖14之流程圖來說明具體處理。再者,在本動畫配信處理中對進行與實施形態1之動畫配信處理相同之處理之步驟標註相同之參照編號並省略說明,在本實施形態中,以下僅對特徵性之處理進行說明。
在S1401中,伺服器CPU201判斷是否已設定編碼動畫資料之最大解析度。具體而言,伺服器CPU201藉由自中央伺服器1000接收到之編碼動畫資料之最大解析度之資訊是否儲存在伺服器RAM203中來進行本步驟之判斷。伺服器CPU201在判斷設定有編碼動畫資料之最大解析度之情況下使處理移至S1402,在判斷為未設定最大解析度之情況下使處理移至S401。
在S1402中,伺服器CPU201判斷遊戲畫面之提供目的地之PC100是否請求以大於最大解析度之解析度提供編碼動畫資料。伺服器CPU201在判斷請求之編碼動畫資料之解析度大於最大解析度之情況下使處理移至S1403,在判斷為未達最大解析度之情況下使處理移至S401。
在S1403中,伺服器CPU201將在S402中描繪之遊戲畫面之解析度設定為由中央伺服器1000提供之最大解析度,並使處理移至S401。
由此,可設定在動畫配信處理中描繪之遊戲畫面之最大解析度。又,藉由如此般設定遊戲畫面之最大解析度,而同時生成之深度緩衝區之解析度及最大解析度亦得以被規定,因此亦可降低上述編碼判斷處理中之處理量。
如以上說明,在本實施形態之動畫配信系統中,可根據連接於系統之客戶端數及動畫配信狀況,可對遊戲畫面高速地進行動畫編碼,並高效地遞送動畫編碼資料。再者,在本實施形態中,說明中央伺服器1000考慮系統整體之動畫配信狀況而設定配信之編碼動畫資料之最大解析度,但本發明之實施並不限定於此,上述判斷處理亦可例如藉由各動畫配信伺服器200來執行。即,亦可不考慮系統整體,而考慮針對連接之客戶端之動畫配信狀況,由各動畫配信伺服器200進行判斷處理,從而一面動態地變更動畫配信中之最大解析度一面進行動畫配信。
本發明並不限定於上述實施形態,可在不脫離本發明之精神 及範圍之情況下進行各種變更及變形。因此,為了公開本發明之範圍而隨附以下之技術方案。
本申請案基於2012年2月23日提出之日本專利申請案特願2012-037769、及2012年4月25日提出之日本專利申請案特願2012-100328並主張其優先權,將其記載內容全部引用於此。

Claims (13)

  1. 一種動畫配信伺服器,其特徵在於具有:獲取手段,其依序獲取描繪之畫面、該畫面之描繪中使用之視點資訊、及對應於該畫面之深度緩衝區;分割手段,其將藉由上述獲取手段而獲取之第1畫面分割成複數個區塊;設定手段,其針對藉由上述分割手段分割而得之各區塊設定評估像素;特定手段,其針對藉由上述設定手段而設定之上述評估像素中描繪之描繪物件,特定在上述第1畫面之前獲取之第2畫面中之螢幕座標及深度值;判斷手段,其對與上述第2畫面對應之深度緩衝區中之上述螢幕座標之深度值、與藉由上述特定手段而特定之上述評估像素中描繪之描繪物件之深度值進行比較,判斷是否將2個深度值視為相同;編碼手段,其針對藉由上述判斷手段而視為上述2個深度值相同之區塊,在與上述第2畫面之間進行幀間編碼,且針對藉由上述判斷手段而視為上述2個深度值不同之區塊進行幀內編碼;及傳送手段,其將編碼詳細資訊傳送至外部裝置,上述編碼詳細資訊包含上述第1畫面之描繪中使用之視點資訊、與上述第1畫面對應之深度緩衝區、及表示是否已針對上述第1畫面之各區塊藉由上述編碼手段而進行幀間編碼之資訊;且上述傳送手段在藉由上述編碼手段而編碼之上述第1畫面之各區塊之編碼資料之生成結束之前,將上述編碼詳細資訊傳送至上述外部裝置。
  2. 如申請專利範圍第1項之動畫配信伺服器,其中在上述各區塊之編碼資料中不包含運動向量。
  3. 如申請專利範圍第1或2項之動畫配信伺服器,其中上述編碼手段 針對進行幀間編碼之區塊,使用上述第1畫面之描繪中使用之視點資訊及與上述第1畫面對應之深度緩衝區、與上述第2畫面之描繪中使用之視點資訊,來特定並抽出與該區塊對應之上述第2畫面之區域,對該區塊之圖像與該對應之區域之圖像之差分進行編碼。
  4. 如申請專利範圍第1至3項中任一項之動畫配信伺服器,其中上述特定手段包含:第1計算手段,其根據上述第1畫面之描繪中使用之視點資訊及與上述第1畫面對應之深度緩衝區,計算出上述評估像素中描繪之描繪物件之三維座標;及轉換手段,其使用上述第2畫面之描繪中使用之視點資訊,將藉由上述第1計算手段計算出之三維座標轉換為上述第2畫面中之螢幕座標及深度值。
  5. 如申請專利範圍第1至3項中任一項之動畫配信伺服器,其中上述動畫配信伺服器對連接之複數個動畫接收裝置,同時並行地生成編碼動畫資料並傳送,上述動畫配信伺服器還具有:描繪手段,其進行畫面之描繪及對應於該畫面之深度緩衝區之生成;收集手段,其針對深度緩衝區及編碼詳細資訊之生成、利用上述描繪手段之描繪處理、及利用上述編碼手段之編碼處理,收集每台上述動畫接收裝置之上述動畫配信伺服器中之平均CPU使用率、平均GPU使用率、及編碼動畫資料之平均資料大小;及解析度設定手段,其在基於藉由上述收集手段而收集到之上述平均CPU使用率、上述平均GPU使用率、及上述平均資料大小而計算出之可進行動畫配信之動畫接收裝置之預測數,小於預先規定之可進行動畫配信之動畫接收裝置之最低數之情況下,設定使上述預測數滿足該最低數之對各 動畫接收裝置傳送之編碼動畫資料之最大解析度;且上述描繪手段依照藉由上述解析度設定手段而設定之最大解析度來進行畫面之描繪及深度緩衝區之生成。
  6. 一種動畫播放裝置,其係自動畫配信伺服器依序獲取1幀畫面已編碼之編碼動畫資料,進行解碼並播放者,其特徵在於具有:第1接收手段,其自上述動畫配信伺服器接收編碼詳細資訊,上述編碼詳細資訊包含第1編碼動畫資料中已編碼之第1畫面之描繪中使用之視點資訊、與上述第1畫面對應之深度緩衝區、及表示是否已針對上述第1畫面之各區塊進行幀間編碼之資訊;解碼預處理手段,其基於藉由上述第1接收手段而接收之上述編碼詳細資訊,自對在上述第1編碼動畫資料之前獲取之第2編碼動畫資料進行解碼而獲得之第2畫面,生成上述第1編碼動畫資料之解碼中使用之參照資料;第2接收手段,其自上述動畫配信伺服器接收上述第1編碼動畫資料;及解碼手段,其使用藉由上述解碼預處理手段而生成之上述參照資料,對藉由上述第2接收手段而接收到之上述第1編碼動畫資料進行解碼並播放。
  7. 如申請專利範圍第6項之動畫播放裝置,其中上述解碼預處理手段針對已進行幀間編碼之區塊,使用上述第1畫面之描繪中使用之視點資訊及與上述第1畫面對應之深度緩衝區、與上述第2畫面之描繪中使用之視點資訊,特定與該區塊對應之第2畫面之區域,並抽出作為上述參照資料。
  8. 如申請專利範圍第6或7項之動畫播放裝置,其中藉由上述第1接收手段接收上述編碼詳細資訊,係在藉由上述第2接收手段接收上述第1編碼動畫資料之前進行。
  9. 一種動畫配信伺服器之控制方法,其特徵在於具有:獲取步驟,由動畫配信伺服器之獲取手段依序獲取描繪之畫面、該畫面之描繪中使用之視點資訊、及對應於該畫面之深度緩衝區;分割步驟,由上述動畫配信伺服器之分割手段將在上述獲取步驟中獲取之第1畫面分割成複數個區塊;設定步驟,由上述動畫配信伺服器之設定手段針對在上述分割步驟中分割而得之各區塊設定評估像素;特定步驟,由上述動畫配信伺服器之特定手段針對在上述設定步驟中設定之上述評估像素中描繪之描繪物件,特定在上述第1畫面之前獲取之第2畫面中之螢幕座標及深度值;判斷步驟,由上述動畫配信伺服器之判斷手段對與上述第2畫面對應之深度緩衝區中之上述螢幕座標之深度值、與在上述特定步驟中特定之上述評估像素中描繪之描繪物件之深度值進行比較,判斷是否將2個深度值視為相同;編碼步驟,由上述動畫配信伺服器之編碼手段針對在上述判斷步驟中視為上述2個深度值相同之區塊,在與上述第2畫面之間進行幀間編碼,且針對在上述判斷步驟中視為上述2個深度值不相同之區塊,進行幀內編碼;及傳送步驟,由上述動畫配信伺服器之傳送手段將編碼詳細資訊傳送至外部裝置,該編碼詳細資訊包含上述第1畫面之描繪中使用之視點資訊、與上述第1畫面對應之深度緩衝區、及表示針對上述第1畫面之各區塊在上述編碼步驟中是否進行幀間編碼之資訊;且上述傳送手段在上述傳送步驟中,於已在上述編碼步驟中進行編碼之上述第1畫面之各區塊之編碼資料之生成結束之前,將上述編碼詳細資訊傳送至上述外部裝置。
  10. 一種動畫播放裝置之控制方法,其係自動畫配信伺服器依序獲取1幀畫面已編碼之編碼動畫資料,進行解碼並播放之動畫播放裝置者,其特徵在於具有:第1接收步驟,由上述動畫播放裝置之第1接收手段自上述動畫配信伺服器接收編碼詳細資訊,上述編碼詳細資訊包含第1編碼動畫資料中已編碼之第1畫面之描繪中使用之視點資訊、與上述第1畫面對應之深度緩衝區、及表示針對上述第1畫面之各區塊是否已進行幀間編碼之資訊;預解碼處理步驟,使上述動畫播放裝置之解碼預處理手段基於在上述第1接收步驟中接收之上述編碼詳細資訊,自對在上述第1編碼動畫資料之前獲取之第2編碼動畫資料進行解碼而獲得之第2畫面,生成上述第1編碼動畫資料之解碼中使用之參照資料;第2接收步驟,由上述動畫播放裝置之第2接收手段自上述動畫配信伺服器接收上述第1編碼動畫資料;及解碼步驟,由上述動畫播放裝置之解碼手段使用在上述預解碼處理步驟中生成之上述參照資料,對在上述第2接收步驟中接收之上述第1編碼動畫資料進行解碼並播放。
  11. 一種程式,其用來使電腦作為如申請專利範圍第1至5中任一項上述之動畫配信伺服器之各手段而發揮功能。
  12. 一種程式,其用來使電腦作為如申請專利範圍第6至8中任一項上述之動畫播放裝置之各手段而發揮功能。
  13. 一種記錄媒體,其記錄有如申請專利範圍第11或12上述之程式,且可由電腦讀取。
TW102124500A 2013-07-09 2013-07-09 動畫配信伺服器、動畫播放裝置、控制方法、程式、及記錄媒體 TWI523673B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW102124500A TWI523673B (zh) 2013-07-09 2013-07-09 動畫配信伺服器、動畫播放裝置、控制方法、程式、及記錄媒體

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102124500A TWI523673B (zh) 2013-07-09 2013-07-09 動畫配信伺服器、動畫播放裝置、控制方法、程式、及記錄媒體

Publications (2)

Publication Number Publication Date
TW201501763A true TW201501763A (zh) 2015-01-16
TWI523673B TWI523673B (zh) 2016-03-01

Family

ID=52718196

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102124500A TWI523673B (zh) 2013-07-09 2013-07-09 動畫配信伺服器、動畫播放裝置、控制方法、程式、及記錄媒體

Country Status (1)

Country Link
TW (1) TWI523673B (zh)

Also Published As

Publication number Publication date
TWI523673B (zh) 2016-03-01

Similar Documents

Publication Publication Date Title
JP5833599B2 (ja) プログラム、記録媒体及び符号化方式決定方法
JP5155462B2 (ja) 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
JP5404971B1 (ja) 動画配信サーバ、制御方法、プログラム、及び動画配信システム
TWI523673B (zh) 動畫配信伺服器、動畫播放裝置、控制方法、程式、及記錄媒體
TWI532005B (zh) An animation distribution server, an animation reproduction apparatus, a control method, a program, and a recording medium