信息處理裝置、控制方法、程序、及存儲介質(zhì)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種處理裝置、控制方法、程序、及存儲介質(zhì),尤其涉及一種利用CPU與GPU的編碼技術(shù)。
【背景技術(shù)】
[0002]近年來,在利用因特網(wǎng)等網(wǎng)絡(luò)的動態(tài)圖像傳送的領(lǐng)域中,不僅傳送已預先編碼的動態(tài)圖像數(shù)據(jù),而且還進行將所生成的動態(tài)圖像幀實時地編碼,并傳送所獲得的動態(tài)圖像數(shù)據(jù)。
[0003]這種實時地進行編碼并傳送動態(tài)圖像數(shù)據(jù)的內(nèi)容之一有經(jīng)由網(wǎng)絡(luò)提供游戲畫面的游戲內(nèi)容。動態(tài)圖像傳送服務(wù)器通過將GPU所生成的游戲畫面根據(jù)特定的編碼形式編碼,并作為動態(tài)圖像數(shù)據(jù)傳送,而可以提供顯示在客戶端機器中的游戲畫面。
[0004]GPU具備比CPU多的運算核心,專門用于并行處理。編碼技術(shù)中,也存在著眼于GPU的并行處理能力,使用GPU進行編碼的情況(專利文獻I)。
[0005]現(xiàn)有技術(shù)文獻
[0006]專利文獻
[0007]專利文獻1:日本專利特開2009-017535號公報
【發(fā)明內(nèi)容】
[0008][發(fā)明所要解決的課題]
[0009]另一方面,由于GPU具備多個運算核心,所以各個運算核心的處理能力與CPU相比受到限定。具體來說,在CPU與GPU中,預先準備的命令集不同。例如,在進行從32bit的比特串中計數(shù)值為I的比特的運算的情況下,典型來說,GPU依序指定比特并重復發(fā)行簡單的命令來執(zhí)行處理,相對于此,CPU可僅通過執(zhí)行預先準備的命令集而獲得所期望的運算結(jié)果。也就是說,GPU專門用于并行處理,相反,執(zhí)行處理所需要的命令發(fā)行較多,在由處理內(nèi)容獲得結(jié)果之前需要時間。
[0010]所述專利文獻I中,僅由GPU執(zhí)行編碼處理,并未考慮這種CPU及GPU的特性進行分散處理。
[0011]本發(fā)明是鑒于所述問題而完成的,其目的在于提供一種通過使用CPU與GPU而有效率地進行編碼處理的信息處理裝置、控制方法、程序、及存儲介質(zhì)。
[0012][解決課題的技術(shù)手段]
[0013]為了達成所述目的,本發(fā)明的信息處理裝置的特征在于具備以下構(gòu)成。具體來說,信息處理裝置是具有中央處理器(CPU)與圖形處理器(GPU),且將圖像編碼的信息處理裝置,該信息處理裝置的特征在于,GPU具有:獲取手段,獲取將編碼對象的圖像分割而獲得的具有既定像素數(shù)的多個區(qū)塊;排除手段,針對由獲取手段獲取到的多個區(qū)塊的每一個,生成排除空間冗長性后的中間區(qū)塊;解析手段,解析由排除手段生成的各中間區(qū)塊的數(shù)據(jù)串,生成確定出該數(shù)據(jù)串中的值包含在既定范圍內(nèi)的數(shù)據(jù)的位置的確定信息;以及輸出手段,針對多個區(qū)塊的每一個,將中間區(qū)塊的至少一部分數(shù)據(jù)及與該中間區(qū)塊對應的確定信息輸出至存儲手段;CPU具有:讀出手段,針對多個區(qū)塊的每一個,從存儲手段讀出所對應的確定信息;以及壓縮手段,參照由讀出手段讀出的確定信息,從存儲手段讀出與該確定信息對應的至少一部分數(shù)據(jù)并執(zhí)行壓縮處理。
[0014][發(fā)明的效果]
[0015]根據(jù)本發(fā)明的所述構(gòu)成,能夠通過使用CPU與GPU而有效率地進行編碼處理。
[0016]本發(fā)明的其它特征及優(yōu)點可根據(jù)參照隨附圖式的以下說明而明了。此外,在隨附圖式中,對于相同或同樣的構(gòu)成,標注相同的參照編號。
【附圖說明】
[0017]隨附圖式包含在說明書中,構(gòu)成說明書的一部分,表示本發(fā)明的實施方式,并與說明書的記述一起用于說明本發(fā)明的原理。
[0018]圖1是表示本發(fā)明的實施方式的PC100的功能構(gòu)成的框圖。
[0019]圖2是例示由本發(fā)明的實施方式的PC100執(zhí)行的編碼處理的流程圖。
[0020]圖3是例示本發(fā)明的實施方式的GPU104執(zhí)行的數(shù)據(jù)生成處理的流程圖。
[0021]圖4是表示本發(fā)明的實施方式的數(shù)據(jù)生成處理中的中間數(shù)據(jù)的掃描順序的一例的圖。
[0022]圖5是表示由本發(fā)明的實施方式的數(shù)據(jù)生成處理所生成的輸出用數(shù)據(jù)的數(shù)據(jù)構(gòu)成的圖。
【具體實施方式】
[0023][實施方式]
[0024]以下,參照附圖對本發(fā)明的例示性的實施方式進行詳細說明。此外,以下說明的一個實施方式是對將本發(fā)明應用于作為信息處理裝置的一例的具備CPU與GPU進行編碼處理的PC的示例進行說明。然而,本發(fā)明可以應用于具備CPU及GPU且能夠使用CPU及GPU進行編碼處理的任意機器。
[0025]《PC100的構(gòu)成》
[0026]圖1是表示本發(fā)明的實施方式的PC100的功能構(gòu)成的框圖。
[0027]CPUlOl控制PC100所具有的各區(qū)塊。具體來說,CPUlOl通過讀出存儲在例如R0M102或存儲介質(zhì)107中的各區(qū)塊的動作程序,在RAM103展開并執(zhí)行,來控制各區(qū)塊的動作。
[0028]R0M102是可覆寫的非易失性存儲器。R0M102存儲各區(qū)塊的動作或PC100的動作所需要的參數(shù)等信息。RAM103是易失性存儲器。RAM103不僅用作各區(qū)塊的動作程序的展開區(qū)域,而且還用作暫時存儲各區(qū)塊的動作中輸出的中間數(shù)據(jù)等的存儲區(qū)域。
[0029]GPU104進行有關(guān)畫面描繪的處理。GPU104具有多個運算核心以用于進行并行處理,從而同時執(zhí)行有關(guān)畫面描繪的處理。例如,在要描繪的畫面為3D場面的特定視點的畫面的情況下,GPU104從下述存儲介質(zhì)107讀出3D場面的描繪范圍中所包含的描繪目標,并在GPU存儲器105展開。然后,GPU104對在GPU存儲器105展開的描繪目標執(zhí)行與特定的描繪參數(shù)對應的運算處理,并在所連接的VRAM106中生成(描繪)畫面。
[0030]存儲介質(zhì)107是例如HDD等可裝卸的存儲裝置。在本實施方式中,存儲介質(zhì)107存儲編碼對象的動態(tài)圖像數(shù)據(jù)的各幀、及由下述編碼處理而編碼后的編碼動態(tài)圖像數(shù)據(jù)。
[0031]操作輸入部108是例如鼠標或鍵盤等連接于PC100的用戶界面。當檢測到已對用戶界面進行操作輸入時,操作輸入部108將所對應的控制信號輸出至CPU101,并通知該操作輸入。
[0032]《編碼處理》
[0033]關(guān)于具有這種構(gòu)成的本實施方式的PC100中的動態(tài)圖像數(shù)據(jù)的編碼處理,使用圖2的流程圖對具體的處理進行說明。與該流程圖對應的處理能夠通過由CPUlOl讀出例如存儲在存儲介質(zhì)107中的對應的處理程序,在RAM103展開并執(zhí)行而實現(xiàn)。
[0034]此外,以如下方式進行說明:例如在進行動態(tài)圖像數(shù)據(jù)的編碼的應用程序中,當存儲介質(zhì)107檢測出已進行編碼開始的指示輸入時開始本編碼處理。然而,本發(fā)明并不限定于動態(tài)圖像數(shù)據(jù)的編碼處理,也可以應用于由如下所述的處理步驟進行的靜止圖像數(shù)據(jù)的編碼處理。另外,以下說明的編碼處理并不限定應用本發(fā)明的編碼處理,而是概念性地說明一個例示性的編碼形式中的處理步驟。也就是說,容易理解為本實施方式的編碼處理中所說明的各處理步驟可以根據(jù)編碼對象或所采用的編碼形式而適當變更。
[0035]S201中,CPUlOl將編碼對象的動態(tài)圖像數(shù)據(jù)(對象動態(tài)圖像數(shù)據(jù))的信息通知給GPU104。對象動態(tài)圖像數(shù)據(jù)的信息也可以為能夠由GPU104確定出編碼對象的數(shù)據(jù)的信息,例如存儲在存儲介質(zhì)107中的對應的動態(tài)圖像文件的存儲位置的信息等。
[0036]S202中,GPU104參照對象動態(tài)圖像數(shù)據(jù)的信息,讀出對象動態(tài)圖像數(shù)據(jù)中的進行編碼的幀的圖像(對象圖片),并在GPU存儲器105展開。
[0037]S203中,GPU104將被讀出至GPU存儲器105的對象圖片分割成具有預先決定的像素數(shù)的區(qū)塊,該區(qū)塊作為并行處理的執(zhí)行單位。此外,對象圖片無須被實際地分割成區(qū)塊,例如也可以相對于GPU存儲器105上的存儲器地址而定義區(qū)塊。另外,本實施方式中雖未敘述詳細情況,但在對于對象圖片進行幀內(nèi)預測或幀間預測的情況下,與以下的并行處理分開對圖片進行預測處理。
[0038]S204中,GPU104將GPU104的運算核心分配至各區(qū)塊。然后,GPU104針對各區(qū)塊并行執(zhí)行離散余弦轉(zhuǎn)換處理(DCT)等正交轉(zhuǎn)換處理及量化處理,除去各區(qū)塊的空間冗長性。此外,在進行預測處理的情況下,反映預測結(jié)果的區(qū)塊成為本步驟的處理對象。另外,本實施方式中,為了使說明簡單,以對各區(qū)塊分配GPU104的一個運算核心的方式進行說明,但本發(fā)明的實施并不限定于此。通常,GPU104