專利名稱:信息處理裝置、用于控制信息處理裝置的方法、和程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及被配置來處理圖像的信息處理裝置,用于控制該信息處理裝置的方法,和程序。
背景技術(shù):
近年來,通用計(jì)算機(jī)硬件的增強(qiáng)性能和高功能性使得以前只有專用硬件才能夠?qū)崿F(xiàn)的圖像處理,通過使用通用計(jì)算機(jī)硬件即可實(shí)現(xiàn)。在計(jì)算機(jī)硬件中,具體而言,CPU和用作主存儲(chǔ)器的存儲(chǔ)器展示出極高的速度,并且因此,可以在經(jīng)濟(jì)的令人滿意的時(shí)間段中執(zhí)行針對(duì)大容量圖像數(shù)據(jù)的各種復(fù)雜特效處理。通過引入GPU(圖形處理單元)可以以更高的速度來執(zhí)行圖像處理,GPU是被設(shè)計(jì)來專用于并行算術(shù)處理的算術(shù)處理設(shè)備。通過GPU進(jìn)行的并行算術(shù)處理特別是在部分處理的算術(shù)結(jié)果不影響整個(gè)處理的處理(諸如圖像處理)中展示出增強(qiáng)的性能。GPU的并行算術(shù)處理是通過包括如下處理的機(jī)制來實(shí)現(xiàn)的向多個(gè)算術(shù)單元發(fā)出相同指令并且由各個(gè)算術(shù)單元獨(dú)立地執(zhí)行相同指令。相比較而言,在CPU中,不同的指令被發(fā)出給多個(gè)算術(shù)單元并且算術(shù)單元分別執(zhí)行不同的指令。因此,CPU適合順序處理。此外,近年來,已知了 GPGPU(圖形處理單元上的通用計(jì)算)的技術(shù)領(lǐng)域,其使得 GPU不僅能夠執(zhí)行圖像處理,還能夠用于其它數(shù)值處理。日本專利申請(qǐng)?jiān)缙诠_第2008-513890號(hào)(第0027段)(以下稱為專利文件1) 記載了 CPU和GPU處理一個(gè)工作單元的情況中的負(fù)荷分散。具體而言,GPU并行地計(jì)算多個(gè)光線與在至少一個(gè)圖形對(duì)象處交界的一組表面的相交,而CPU計(jì)算這多個(gè)光線中的至少一些光線與圖形對(duì)象的相交。然而,專利文件1沒有記載圖像處理被分散到CPU和GPU來被執(zhí)行,沒有記載考慮到CPU和GPU的負(fù)荷的狀態(tài)等來選擇最優(yōu)圖像處理主體。如上所述,近年來,CPU的高速事實(shí)上使能圖像處理中足夠的響應(yīng)。即,由CPU和 GPU分擔(dān)和執(zhí)行過去只依賴于GPU的圖像處理,作為結(jié)果,增大了以比只由GPU執(zhí)行時(shí)更高的速度來執(zhí)行圖像處理的可能性。此外,即使CPU和GPU從規(guī)格的角度以最高速度分擔(dān)執(zhí)行圖像處理,但根據(jù)CPU和GPU的負(fù)荷狀態(tài)以及它們的存儲(chǔ)器的使用狀態(tài),GPU本身就可以以比CPU和GPU分擔(dān)圖像處理的情況中更高的速度來執(zhí)行圖像處理。如上所述,從速度的角度來看,由CPU和GPU分擔(dān)執(zhí)行圖像處理并不總是最優(yōu)的。
發(fā)明內(nèi)容
根據(jù)上述情形,希望提供能夠靈活地使用CPU和GPU并且高效地執(zhí)行圖像處理的信息處理裝置、用于控制信息處理裝置的方法以及程序。根據(jù)本公開一個(gè)實(shí)施例,提供了一種信息處理裝置,該裝置包括第一處理單元, 該第一處理單元能夠處理圖像;第二處理單元,該第二處理單元能夠針對(duì)分割圖像的每個(gè)單位并行地處理圖像;以及控制器部件,該控制器部件被配置為進(jìn)行控制以選擇第一處理單元、第二處理單元或第一處理單元和第二處理單元兩者來作為處理圖像的一個(gè)或多個(gè)主體,在第一處理單元和第二處理單元兩者被選擇的情況下,將圖像分割成第一區(qū)域和第二區(qū)域,并且將通過分割獲得的第一區(qū)域的圖像的處理和通過分割獲得的第二區(qū)域的圖像的處理分別指派給第一處理單元和第二處理單元來執(zhí)行。根據(jù)本公開的實(shí)施例,第一處理單元、第二處理單元或第一處理單元和第二處理單元兩者被選擇作為處理圖像的一個(gè)或多個(gè)主體。因此,根據(jù)各個(gè)處理單元的負(fù)荷的狀態(tài)、 圖像處理?xiàng)l件等,圖像處理可以被高效地執(zhí)行??刂破鞑考慌渲脼樵谔幚碚麄€(gè)圖像的情況中,選擇第一處理單元和第二處理單元兩者來作為處理圖像的多個(gè)主體。有關(guān)圖像處理的負(fù)荷與將要處理的像素?cái)?shù),即圖像的面積,成比例。因此,在處理整個(gè)圖像的情況中,通過利用第一處理單元和第二處理單元兩者,圖像處理可以以更高的速度被執(zhí)行。控制器部件被配置為確定第一區(qū)域的面積和第二區(qū)域的面積,使得第一處理單元處理第一區(qū)域所用的第一處理時(shí)間等于或近似等于第二處理單元處理第二區(qū)域所用的第二處理時(shí)間。因此,各個(gè)區(qū)域的處理在相同或近似相同的定時(shí)被完成。結(jié)果,圖像處理可以以最高速度被完成。此外,根據(jù)本公開實(shí)施例的信息處理裝置還可以包括第一存儲(chǔ)器,第一存儲(chǔ)器用于由第一處理單元對(duì)圖像的處理;以及第二存儲(chǔ)器,第二存儲(chǔ)器用于由第二處理單元對(duì)圖像的處理,其中控制器部件被配置為計(jì)算在假定第一區(qū)域的圖像的處理和第二區(qū)域的圖像的處理被分別指派給第一處理單元和第二處理單元執(zhí)行的情形下的第二存儲(chǔ)器的預(yù)測(cè)使用量,并且在計(jì)算出的第二存儲(chǔ)器的預(yù)測(cè)使用量達(dá)到閾值的情況中,修改第一區(qū)域的所確定面積和第二區(qū)域的所確定面積,以使得預(yù)測(cè)使用量落在第二存儲(chǔ)器中允許第二處理單元使用的容量?jī)?nèi)。因此,在考慮了用于第二處理單元對(duì)圖像的處理的第二存儲(chǔ)器的使用狀態(tài)時(shí),圖像的處理優(yōu)選地被指派給相應(yīng)處理單元執(zhí)行??刂破鞑考杀慌渲脼樵诘诙鎯?chǔ)器的預(yù)測(cè)使用量沒有超過第二存儲(chǔ)器的容量的情況中,獲得第一處理單元的利用率,并且在利用率沒行達(dá)到閾值的情況中,將第一區(qū)域的圖像的處理和第二區(qū)域的圖像的處理分別指派給被選作主體的第一處理單元和第二處理單元來執(zhí)行。因此,在考慮了第一處理單元的利用率時(shí),圖像的處理優(yōu)選地被指派給相應(yīng)處理單元執(zhí)行??刂破鞑考杀慌渲脼樵谔幚韴D像的一部分的情況下,計(jì)算在假定由第一處理單元處理圖像的一部分的情形下的預(yù)測(cè)處理時(shí)間和在假定由第二處理單元處理圖像的一部分的情形下的預(yù)測(cè)處理時(shí)間,并且選擇預(yù)測(cè)處理時(shí)間較小的處理單元來作為處理圖像的一部分的主體??刂破鞑考梢员慌渲脼樵诘诙幚韱卧贿x作主體的情況中,計(jì)算在假定由第二處理單元處理圖像的一部分的情形下的第二存儲(chǔ)器的預(yù)測(cè)使用量,并且在第二存儲(chǔ)器的計(jì)算預(yù)測(cè)使用量沒有達(dá)到閾值的情況中,使得第二處理單元處理圖像的一部分。因此,在考慮了用于第二處理單元對(duì)圖像的處理的第二存儲(chǔ)器的使用狀態(tài)時(shí),第二處理單元可以處理該圖像的一部分。此外,控制器部件可以被配置為在第一處理單元被選作主體的情況中,獲得第一處理單元的利用率,以及在利用率沒有達(dá)到閾值的情況中,使得第一處理單元處理圖像的一部分。因此,在考慮了第一處理單元的利用率時(shí),第一處理單元可以處理該圖像的該部分。根據(jù)本公開另一實(shí)施例,提供一種用于控制信息處理裝置的方法,信息處理裝置包括能夠處理圖像的第一處理單元和能夠針對(duì)分割圖像的每個(gè)單位并行地處理圖像的第二處理單元,該方法包括由控制器部件選擇第一處理單元、第二處理單元或第一處理單元和第二處理單元兩者來作為處理圖像的一個(gè)或多個(gè)主體,在第一處理單元和第二處理單元兩者都被選擇的情況中,將圖像分割成第一區(qū)域和第二區(qū)域,并且將通過分割獲得的第一區(qū)域的圖像的處理和通過分割獲得的第二區(qū)域的圖像的處理分別指派給第一處理單元和第二處理單元來執(zhí)行。根據(jù)本公開另一實(shí)施例,提供了一種使得計(jì)算機(jī)動(dòng)作的程序,該計(jì)算機(jī)包括能夠處理圖像的第一處理單元和能夠針對(duì)分割圖像的每個(gè)單位并行地處理圖像的第二處理單元,該程序使得計(jì)算機(jī)用作控制器部件,控制器部件被配置為進(jìn)行控制以選擇第一處理單元、第二處理單元或第一處理單元和第二處理單元兩者來作為處理圖像的一個(gè)或多個(gè)主體,在第一處理單元和第二處理單元兩者被選擇的情況下,將圖像分割成第一區(qū)域和第二區(qū)域,并且將通過分割獲得的第一區(qū)域的圖像的處理和通過分割獲得的第二區(qū)域的圖像的處理分別指派給第一處理單元和第二處理單元來執(zhí)行。如上所述,根據(jù)本公開的實(shí)施例,通過靈活地使用CPU和GPU,圖像處理被高效地執(zhí)行。根據(jù)下面對(duì)如附圖所示的本公開的最佳模式實(shí)施例的詳細(xì)描述,本公開的這些和其它目的、特征和優(yōu)點(diǎn)將變得更顯而易見。
圖1是根據(jù)本公開一個(gè)實(shí)施例的信息處理裝置的結(jié)構(gòu)的示圖;圖2是示出圖1的信息處理裝置中的圖像處理程序的執(zhí)行模式的示圖;圖3是示出特效程序集合的結(jié)構(gòu)的示圖;圖4是示出GPU程序的動(dòng)作的示例的示圖;圖5是說明由CPU/GPU控制程序進(jìn)行的圖像的區(qū)域的分割的示圖;圖6是示出CPU/GPU控制程序的控制的示圖;圖7是示出特效程序選擇激活部件的結(jié)構(gòu)的框圖;圖8是示出特效程序選擇激活部件的動(dòng)作的過程的流程圖;圖9是示出根據(jù)本公開第二實(shí)施例的特效程序選擇激活部件的結(jié)構(gòu)的框圖;以及圖10是示出圖9的特效程序選擇激活部件的動(dòng)作的過程的流程圖。
具體實(shí)施例方式以下,將參考附圖來描述本公開的實(shí)施例。(第一實(shí)施例)(信息處理裝置)本實(shí)施例涉及在裝載了 CPU(中央處理單元)和GPU(圖形處理單元)的計(jì)算機(jī)中執(zhí)行圖像處理程序從而例如對(duì)圖像數(shù)據(jù)執(zhí)行諸如特效處理之類的圖像處理的信息處理裝置。
圖1是示出根據(jù)本公開一個(gè)實(shí)施例的信息處理裝置的結(jié)構(gòu)的示圖。如圖1中所示,信息處理裝置10包括CPU單元11、GPU單元12、存儲(chǔ)設(shè)備13、顯示接口單元14、操作接口單元15和將它們彼此相連的總線17。CPU單元11包括CPU 111(第一處理單元)和存儲(chǔ)器(以下稱為“CPU存儲(chǔ)器112”) (第一存儲(chǔ)器),并且執(zhí)行存儲(chǔ)在CPU存儲(chǔ)器112中的用于CPU的圖像處理程序,從而執(zhí)行 CPU存儲(chǔ)器112中有關(guān)各種算術(shù)處理的指令。CPU單元11解釋用戶從連接到操作接口單元 15的操作輸入設(shè)備18輸入的命令,從而將它們反映到圖像處理程序的動(dòng)作中。此外,CPU 單元11可以基于用戶等的命令來從存儲(chǔ)設(shè)備13讀取圖像數(shù)據(jù),將圖像數(shù)據(jù)存儲(chǔ)在設(shè)置在 CPU存儲(chǔ)器112中的圖像緩沖器中,并且對(duì)圖像數(shù)據(jù)執(zhí)行諸如特效之類的處理。圖像緩沖器中的圖像數(shù)據(jù)被提供給顯示接口單元14,經(jīng)歷描繪處理從而成為以像素為單位的可視數(shù)據(jù),并被輸出給顯示設(shè)備19。此外,CPU單元11可以基于用戶等的命令來將編輯后的圖像數(shù)據(jù)寫入存儲(chǔ)設(shè)備13中的圖像緩沖器中。GPU單元12包括GPU 121 (第二處理單元)和存儲(chǔ)器(以下稱為“GPU存儲(chǔ)器122”) (第二存儲(chǔ)器),并且可以執(zhí)行存儲(chǔ)在GPU存儲(chǔ)器122中的用于GPU的圖像處理程序,從而并行地執(zhí)行GPU存儲(chǔ)器122中的圖像處理。在CPU單元11的控制下,GPU單元12可以將從存儲(chǔ)設(shè)備13讀出的圖像數(shù)據(jù)存儲(chǔ)在被設(shè)置在GPU存儲(chǔ)器122中的圖像緩沖器中,并且從而針對(duì)諸如分割圖像等的線程之類的每個(gè)單位來對(duì)圖像數(shù)據(jù)并行地執(zhí)行諸如特效之類的處理。圖像緩沖器中的圖像數(shù)據(jù)被提供給顯示接口單元14,經(jīng)歷描繪處理從而成為以像素為單位的可見數(shù)據(jù),并且被輸出給顯示設(shè)備19。此外,GPU單元12可以例如基于CPU單元 11等的命令來將編輯后的圖像數(shù)據(jù)寫入存儲(chǔ)設(shè)備13中的圖像緩沖器中。顯示接口單元14是與顯示設(shè)備19的接口,從CPU單元11和/或GPU單元12接收?qǐng)D像數(shù)據(jù)來執(zhí)行描繪處理,并且將描繪數(shù)據(jù)提供給顯示設(shè)備19。顯示接口單元14的處理可以由設(shè)置在顯示接口單元14中的專用GPU(未示出)執(zhí)行,或者可以由例如以上提到的 GPU 121 執(zhí)行。操作接口單元15是與操作輸入設(shè)備18的接口,將由用戶從操作輸入設(shè)備18輸入的數(shù)據(jù)和命令提供給CPU 111,等等。存儲(chǔ)設(shè)備13存儲(chǔ)未被編輯的和編輯后的圖像數(shù)據(jù)。此外,存儲(chǔ)設(shè)備13還存儲(chǔ)圖像處理程序。存儲(chǔ)在存儲(chǔ)設(shè)備13中的圖像處理程序包括用于CPU 111的程序和用于GPU 121的程序。用于CPU 111的程序從存儲(chǔ)設(shè)備13被裝載到CPU單元11的CPU存儲(chǔ)器112 中,并且由CPU 111執(zhí)行。此外,用于GPU 121的程序從存儲(chǔ)設(shè)備13被裝載到GPU單元12 的GPU存儲(chǔ)器122中,并且由GPU 121執(zhí)行。(圖像處理程序的結(jié)構(gòu)和執(zhí)行模式)圖2是示出本實(shí)施例的信息處理裝置10中的圖像處理程序的執(zhí)行模式的示圖。如圖2中所示,圖像處理程序的執(zhí)行模式包括I/O程序21以及連接到I/O程序21的一個(gè)或多個(gè)特效插件程序22。這里,這一個(gè)或多個(gè)特效插件程序22分別對(duì)應(yīng)于用戶任意選擇的種類的特效。I/O程序21是控制圖像數(shù)據(jù)的輸入/輸出的程序。更具體而言,I/O程序21從圖 1的存儲(chǔ)設(shè)備13讀出圖像數(shù)據(jù),并且將其轉(zhuǎn)送到相連接的特效插件程序22。I/O程序21從特效插件程序22接收經(jīng)歷了特效處理的圖像數(shù)據(jù),并且將其寫回到存儲(chǔ)設(shè)備13或?qū)⑵渫ㄟ^顯示接口單元14輸出至顯示設(shè)備19。分別對(duì)應(yīng)于用戶任意選擇的種類的特效的一個(gè)或多個(gè)特效插件程序22被串聯(lián)連接到I/O程序21。具體而言,最上游的特效插件程序22從I/O程序21接收?qǐng)D像數(shù)據(jù)來執(zhí)行特效處理,并且將結(jié)果轉(zhuǎn)送至位于其下游側(cè)的一級(jí)的特效插件程序22。除最上游的特效插入程序和最下游的特效插入程序以外的特效插件程序22從位于其上游側(cè)一級(jí)的特效插件程序22接收?qǐng)D像數(shù)據(jù)來執(zhí)行特效處理,并且將結(jié)果轉(zhuǎn)送給位于其下游側(cè)一級(jí)的特效插件程序22。最下游的特效插件程序22從位于其上游側(cè)一級(jí)的特效插件程序22接收?qǐng)D像數(shù)據(jù)來執(zhí)行特效處理,并且將結(jié)果轉(zhuǎn)送至I/O程序21。如上所述,根據(jù)本實(shí)施例,圖像數(shù)據(jù)在特效插件程序22之間被直接地轉(zhuǎn)送??商鎿Q地,圖像數(shù)據(jù)可以經(jīng)由I/O程序21在鄰接的特效插件程序22之間被轉(zhuǎn)送。同時(shí),存儲(chǔ)設(shè)備13存儲(chǔ)分別用于各種特效的特效程序集合M。如圖3中所示,每個(gè)特效程序集合M包括使得CPU 111對(duì)圖像數(shù)據(jù)執(zhí)行特效處理的CPU程序M1,使得GPU 121執(zhí)行特效處理的GPU程序M2,以及進(jìn)行控制來將特效處理的執(zhí)行指派給CPU 111和 GPU 121來執(zhí)行處理的CPU/GPU控制程序?qū)?。在不用將它們相互區(qū)分開的情形下,CPU程序Ml、GPU程序242和CPU/GPU控制程序M3中的每一個(gè)都稱為“特效程序”。CPU程序241是使得CPU 111對(duì)圖像數(shù)據(jù)執(zhí)行特效處理的程序。更具特而言,CPU 程序241包括這樣的過程,例如(1)從I/O程序21或所連接的上游側(cè)一級(jí)的特效插件程序22接收CPU存儲(chǔ)器112 中的圖像緩沖器,( 使得CPU 111執(zhí)行特效處理,(3)將特效處理的結(jié)果寫入圖像緩沖器中,以及(4)將圖像緩沖器轉(zhuǎn)送至所連接的下游側(cè)一級(jí)的特效插件程序22或?qū)⑵浞祷亟o I/O程序21。GPU程序242是使得GPU 121對(duì)圖像數(shù)據(jù)執(zhí)行特效處理的程序。更具體而言,GPU 程序242包括這樣的過程,例如(1)將來自CPU存儲(chǔ)器112的圖像數(shù)據(jù)存儲(chǔ)在GPU存儲(chǔ)器122中或從所連接的上游側(cè)一級(jí)的特效插件程序22接收GPU存儲(chǔ)器122中的圖像緩沖器,(2)使得GPU 121執(zhí)行特效處理,(3)將特效處理的結(jié)果寫入圖像緩沖器中,以及(4)將圖像緩沖器轉(zhuǎn)送給相連接的上游側(cè)一級(jí)的特效插件程序22,或?qū)PU存儲(chǔ)器122中的圖像數(shù)據(jù)轉(zhuǎn)送至CPU存儲(chǔ)器112。此外,GPU程序242可以不被設(shè)計(jì)為僅通過GPU 121來完成特效處理,而是可以如圖4中所示,被設(shè)計(jì)為補(bǔ)充地請(qǐng)求CPU 111來執(zhí)行部分計(jì)算并將計(jì)算結(jié)果從CPU存儲(chǔ)器112 存儲(chǔ)到GPU存儲(chǔ)器122中。其具體示例包括濾波處理,諸如散焦(defocusing)。GPU 121 在簡(jiǎn)單的乘加運(yùn)算被大量執(zhí)行的處理中施展高速性能,而在諸如條件分支之類的順序處理中不能施展高速性能。例如,散焦處理包括生成用于散焦的濾波器和在圖像上卷積濾波器這兩級(jí)處理。生成用于散焦的濾波器需要少量(最多大約幾百抽頭(tap))的乘加運(yùn)算,但是需要許多依賴于諸如虹膜(iris)的形狀和角度之類的參數(shù)的條件分支。在這樣的散焦處理中,在CPU 111生成濾波器并且GPU 121在圖像上卷積濾波器的情況中,GPU 121施展高速性能并且可以提高處理效率。同時(shí),例如,由于無條件分支的濾波處理(諸如對(duì)像素執(zhí)行均勻加權(quán)的移動(dòng)平均濾波處理)不需要濾波器生成,所以GPU121通過自身完成處理。如上所述,GPU程序242可以被設(shè)計(jì)為使得GPU121通過自身完成處理,或GPU 121被請(qǐng)求執(zhí)行順序計(jì)算處理的一部分。CPU/GPU控制程序243是將用戶選擇的特效處理的執(zhí)行指派給CPUl 11和GPU 121 的特效程序。例如,如圖5和圖6中所示,CPU/GPU控制程序243將圖像分割成兩個(gè)區(qū)域, 并且將有關(guān)區(qū)域的信息分別提供給CPU程序241和GPU程序M2,以使得針對(duì)分割的區(qū)域的計(jì)算分別被指派給CPU 111和GPU 121。此外,CPU/GPU控制程序M3同步CPU 111和GPU 121的相應(yīng)處理結(jié)果并且將它們進(jìn)行耦合來生成用于全畫面的處理結(jié)果。再參考圖2,特效程序選擇激活部件23 (控制器部件)是這樣的程序,其使得CPU ill根據(jù)預(yù)定算法進(jìn)行作用來從與用戶所選擇的種類的特效相對(duì)應(yīng)的特效程序集合M中調(diào)用至少一個(gè)特效程序,并且將它們作為以上提到的特效插件程序22連接到I/O程序21。S卩,在圖2的圖像處理程序的執(zhí)行模式中,首先,I/O程序21從存儲(chǔ)設(shè)備13讀出由用戶選擇的圖像數(shù)據(jù)。接著,特效程序選擇激活部件23根據(jù)預(yù)定算法從與由用戶選擇的特效相對(duì)應(yīng)的特效程序集合M中調(diào)用至少一個(gè)特效程序,并且將它們作為特效插件程序22 連接到I/O程序21。因此,連接到I/O程序21的一個(gè)或多個(gè)特效插件程序22對(duì)圖像數(shù)據(jù)執(zhí)行特效處理。經(jīng)歷了特效處理的圖像數(shù)據(jù)被I/O程序21輸出給顯示接口單元14,并且被顯示在顯示設(shè)備19上作為可視圖像。此外,I/O程序21根據(jù)用戶的命令將經(jīng)歷了特效處理的圖像數(shù)據(jù)寫回到存儲(chǔ)設(shè)備13中。(特效程序選擇激活部件23)接著,將詳細(xì)描述特效程序選擇激活部件23。圖7是示出特效程序選擇激活部件23的結(jié)構(gòu)的框圖。如圖7中所示,特效程序選擇激活部件23包括全畫面處理判定部件231、處理面積計(jì)算部件232、CPU處理時(shí)間預(yù)測(cè)部件233、GPU處理時(shí)間預(yù)測(cè)部件234、CPU處理時(shí)間保存部件235、GPU處理時(shí)間保存部件236、處理面積分配計(jì)算部件237、程序確定部件238、負(fù)荷確定部件239、負(fù)荷信息更新部件239A和程序讀出部件239B。全畫面處理判定部件231,基于由用戶選擇的特效的種類、指定處理目標(biāo)區(qū)域的信息的有無等,來判斷特效處理是針對(duì)圖像數(shù)據(jù)的全部像素的處理還是針對(duì)其一部分的處理。處理面積計(jì)算部件232計(jì)算將要經(jīng)歷特效的處理區(qū)域的面積(=處理像素?cái)?shù))。CPU處理時(shí)間保存部件235針對(duì)多種特效保存用于一個(gè)像素的CPU處理時(shí)間段 (先前通過試驗(yàn)測(cè)得)。GPU處理時(shí)間保存部件236針對(duì)多種特效保存用于一個(gè)像素的GPU處理時(shí)間段 (先前通過試驗(yàn)測(cè)得)。CPU處理時(shí)間預(yù)測(cè)部件233在對(duì)部分圖像數(shù)據(jù)執(zhí)行特效處理的情況中被使用。CPU 處理時(shí)間預(yù)測(cè)部件233,通過使用由CPU處理時(shí)間保存部件235保存的CPU處理時(shí)間,計(jì)算 CPU 111執(zhí)行特效處理所必需的時(shí)間來作為“CPU預(yù)測(cè)處理時(shí)間”。GPU處理時(shí)間預(yù)測(cè)部件234在對(duì)部分圖像數(shù)據(jù)執(zhí)行特效處理的情況中被使用。GPU 處理時(shí)間預(yù)測(cè)部件234,通過使用由GPU處理時(shí)間保存部件236保存的GPU處理時(shí)間,計(jì)算GPU 121執(zhí)行特效處理所必需的時(shí)間來作為“GPU預(yù)測(cè)處理時(shí)間”。程序確定部件238基于由CPU處理時(shí)間預(yù)測(cè)部件233計(jì)算的CPU預(yù)測(cè)處理時(shí)間和由GPU處理時(shí)間預(yù)測(cè)部件234計(jì)算的GPU預(yù)測(cè)處理時(shí)間,確定特效程序集合M中的CPU程序241和GPU程序M2中的一者作為連接到I/O程序21的候選。此外,程序確定部件238 在全畫面處理判定部件231判定針對(duì)圖像數(shù)據(jù)的全部像素進(jìn)行特效處理的情況下,確定特效程序集合M中的相應(yīng)特效程序作為連接到I/O程序21的候選。處理面積分配計(jì)算部件237在特效程序集合M被確定為連接到I/O程序21的候選的情況中被使用。處理面積分配計(jì)算部件237在對(duì)一條圖像數(shù)據(jù)的特效處理被特效程序集合M中的CPU/GPU控制程序243指派給CPU 111和GPU 121來執(zhí)行的情況下,計(jì)算各個(gè)處理面積的最優(yōu)比率,并且將有關(guān)信息通知給CPU/GPU控制程序M3。負(fù)荷信息更新部件239A基于特效程序與I/O程序21的連接狀態(tài)來管理作為負(fù)荷信息的CPU 111和GPU 121的利用率以及GPU存儲(chǔ)器122的使用量。負(fù)荷確定部件239通過使用由負(fù)荷信息更新部件239A管理的負(fù)荷信息,來預(yù)測(cè)在假定特效程序被連接的情形下的有關(guān)CPU單元11和GPU單元12的每個(gè)的負(fù)荷信息。此外, 負(fù)荷確定部件239基于預(yù)測(cè)結(jié)果,請(qǐng)求程序確定部件238再次檢查連接候選的選擇結(jié)果,或者將連接候選的選擇結(jié)果按原樣通知給程序讀出部件239B。程序讀出部件239B基于從負(fù)荷確定部件239提供的有關(guān)連接候選的信息,從存儲(chǔ)設(shè)備13讀出與由用戶選擇的種類的特效相對(duì)應(yīng)的特效程序集合M中的至少部分程序,并且將程序作為特效插件程序22連接到I/O程序21。(特效程序選擇激活部件23的動(dòng)作)接著,將描述特效程序選擇激活部件23的動(dòng)作。圖8是示出特效程序選擇激活部件23的動(dòng)作的過程的流程圖。注意,將按以下順序描述動(dòng)作。1.確定特效程序作為連接候選時(shí)的動(dòng)作2.在GPU程序242被選作連接候選的情況中的動(dòng)作3.在CPU程序241被確定為連接候選之后的動(dòng)作4.在特效程序集合M被確定為連接候選的情況中的動(dòng)作(1、確定特效程序作為連接候選時(shí)的動(dòng)作)首先,將描述在確定特效程序作為連接到I/O程序21的候選時(shí)的動(dòng)作。全畫面處理判定部件231判定用戶所選擇的特效是針對(duì)圖像的全部像素的處理還是針對(duì)圖像的部分的處理(步驟S101)。這里,將描述在特效被應(yīng)用于圖像的一部分的情況之后的動(dòng)作(步驟S101,否)。 此情況中,CPU 111和GPU 121中每一個(gè)的處理時(shí)間如下這樣被預(yù)測(cè)。首先,處理面積計(jì)算部件232計(jì)算處理面積(=處理像素?cái)?shù))(步驟S102)。接著,CPU處理時(shí)間預(yù)測(cè)部件233,基于由CPU處理時(shí)間保存部件235保存的CPU 處理時(shí)間和在步驟S102中計(jì)算出的處理像素?cái)?shù)并且通過使用以下表達(dá)式(1),來計(jì)算CPU 111執(zhí)行特效處理所必需的時(shí)間作為“CPU預(yù)測(cè)處理時(shí)間”(步驟S103)。CPU預(yù)測(cè)處理時(shí)間=(用于一個(gè)像素的CPU處理時(shí)間)X (處理像素?cái)?shù))……(1)接著,GPU處理時(shí)間預(yù)測(cè)部件234,基于由GPU處理時(shí)間保存部件236保存的GPU處理時(shí)間和在步驟S102中計(jì)算出的處理像素?cái)?shù)并且通過使用以下表達(dá)式O),來計(jì)算GPU 121執(zhí)行特效處理所必需的時(shí)間作為“GPU預(yù)測(cè)處理時(shí)間”(步驟S104)。GPU預(yù)測(cè)處理時(shí)間=(CPU和GPU之間的轉(zhuǎn)送時(shí)間)+ (用于一個(gè)像素的GPU處理時(shí)間X處理像素?cái)?shù))……O)由CPU處理時(shí)間保存部件235和GPU處理時(shí)間保存部件236中的每一個(gè)保存的用于一個(gè)像素的處理時(shí)間是預(yù)先針對(duì)所有種類的特效通過試驗(yàn)測(cè)得并被存儲(chǔ)的信息。此外, 用于一個(gè)像素的處理時(shí)間可以通過如下方式獲得將用于一個(gè)像素的處理分割成算術(shù)指令 (包括加減乘除的4種算術(shù)運(yùn)算,裝載/存儲(chǔ),條件分支指令,移位運(yùn)算和邏輯運(yùn)算),并且基于指令的數(shù)目以及CPU 111和GPU 121的運(yùn)算頻率的數(shù)目來進(jìn)行近似計(jì)算。此外,關(guān)于表達(dá)式⑵中的“CPU和GPU之間的轉(zhuǎn)送時(shí)間”,針對(duì)將被處理的所有圖像的大小和格式的 "CPU和GPU之間的轉(zhuǎn)送時(shí)間”可以被預(yù)先測(cè)得并被存儲(chǔ),并且結(jié)果可被用來計(jì)算GPU預(yù)測(cè)處理時(shí)間。此外,“CPU和GPU之間的轉(zhuǎn)送時(shí)間”也可以基于CPU和GPU之間的總線17的帶寬以及圖像的數(shù)據(jù)量來計(jì)算。注意,在實(shí)際的圖像處理計(jì)算中,在精度方面,除了 “用于一個(gè)像素的算術(shù)時(shí)間X 處理像素?cái)?shù)”以外,還存在“用于遞增像素的算術(shù)時(shí)間”、“用于確定將被處理的像素和不被處理的像素的條件分支的算術(shù)時(shí)間”等等。然而,由于如上所述那樣計(jì)算出的CPU預(yù)測(cè)處理時(shí)間和GPU預(yù)測(cè)處理時(shí)間在占用算術(shù)時(shí)間的比率方面是支配性的,所以CPU預(yù)測(cè)處理時(shí)間和GPU預(yù)測(cè)處理時(shí)間可能是近似值。接著,程序確定部件238,基于CPU預(yù)測(cè)處理時(shí)間和GPU預(yù)測(cè)處理時(shí)間,來確定CPU 程序Ml或GPU程序242作為連接候選。具體而言,程序確定部件238將預(yù)測(cè)處理時(shí)間較小的特效程序確定為連接候選。例如,在GPU預(yù)測(cè)處理時(shí)間小于CPU預(yù)測(cè)處理時(shí)間的情況中 (步驟S105,是),程序確定部件238將GPU程序242確定為連接候選(步驟S106)。相比較而言,在GPU預(yù)測(cè)處理時(shí)間等于或長(zhǎng)于CPU預(yù)測(cè)處理時(shí)間的情況中(步驟S105中,否), 程序確定部件238將CPU程序241確定為連接候選(步驟Sl 12)。同時(shí),GPU預(yù)測(cè)處理時(shí)間小于CPU預(yù)測(cè)處理時(shí)間的情況的示例包括例如對(duì)占據(jù)圖像的絕大部分的區(qū)域均勻地應(yīng)用數(shù)百抽頭的乘加運(yùn)算的特效處理。這是因?yàn)镚PU 121能夠設(shè)置用于每個(gè)像素的線程并且并行執(zhí)行處理。相比較而言,在對(duì)作為圖像的一小部分的區(qū)域應(yīng)用特效的情況中,GPU 121可能不能充分施展其特性。此外,實(shí)際上,GPU 121的處理時(shí)間不僅包括算術(shù)時(shí)間還包括圖像數(shù)據(jù)在CPU和GPU之間的轉(zhuǎn)送時(shí)間。因此,例如,在GPU 121對(duì)具有相對(duì)大的尺寸(諸如4096 X 2160(像素))的圖像的一小部分執(zhí)行算術(shù)量小的處理(諸如色彩變換)的情況中,圖像數(shù)據(jù)的轉(zhuǎn)送時(shí)間占據(jù)整個(gè)處理時(shí)間的比率增大,從而處理可能消耗比CPU 111執(zhí)行特效處理的情況更多的時(shí)間?;氐絼?dòng)作的描述,已經(jīng)描述了直到從CPU程序241和GPU程序M2中確定作為連接候選的特效程序的動(dòng)作。然而,此時(shí),特效程序?qū)嶋H上還沒有作為特效插件程序22被連接到I/O程序21。此后,基于假定被確定為連接候選的特效程序被連接到I/O程序21情形下的CPU單元11和GPU單元12上的負(fù)荷的狀態(tài),負(fù)荷確定部件239判定特效程序的連接是否被允許。接著,將描述此動(dòng)作。(2、在GPU程序242被選作連接候選的情況中的動(dòng)作)首先,將描述在步驟S106中GPU程序242被選作連接候選的情況。
負(fù)荷確定部件239計(jì)算在假定GPU程序242被連接到I/O程序21的情形下的GPU 存儲(chǔ)器122的預(yù)測(cè)使用量(以下,稱為“GPU存儲(chǔ)器預(yù)測(cè)使用量”)。GPU存儲(chǔ)器預(yù)測(cè)使用量通過使用例如以下表達(dá)式C3)被計(jì)算出(步驟S107)。GPU存儲(chǔ)器預(yù)測(cè)使用量=(用于已連接特效的存儲(chǔ)器總量)+ (用于附加特效的圖像存儲(chǔ)器的數(shù)目)X (圖像存儲(chǔ)器大小)……(3)負(fù)荷確定部件239判斷所獲得的GPU存儲(chǔ)器預(yù)測(cè)使用量是否達(dá)到預(yù)定閾值(步驟 S108)。這里,GPU存儲(chǔ)器預(yù)測(cè)使用量的閾值是用來確定GPU存儲(chǔ)器122的耗竭狀態(tài)的預(yù)定值。在GPU存儲(chǔ)器預(yù)測(cè)使用量沒有達(dá)到預(yù)定閾值的情況中(步驟S108,是),負(fù)荷確定部件239請(qǐng)求程序讀出部件239B讀出被程序確定部件238確定為連接候選的GPU程序 242 0接收到該請(qǐng)求時(shí),程序讀出部件239B請(qǐng)求負(fù)荷信息更新部件239A更新由于GPU程序 242的添加引起的負(fù)荷信息。響應(yīng)于該請(qǐng)求,負(fù)荷信息更新部件239A更新有關(guān)GPU存儲(chǔ)器 122的負(fù)荷信息(使用量)(步驟S109)。此后,程序讀出部件239B從存儲(chǔ)設(shè)備13讀出被程序確定部件238確定為連接候選的GPU程序M2,并且將GPU程序242作為特效插件程序 22連接到I/O程序21 (步驟Sl 10)。此外,在步驟S108的判定中GPU存儲(chǔ)器預(yù)測(cè)使用量達(dá)到預(yù)定閾值的情況中(步驟S108,否),負(fù)荷確定部件239將作為連接候選的特效程序從GPU程序242改為CPU程序 Ml (在步驟Slll中為否的情況中)。作為隨后的動(dòng)作,考慮在假定連接候選被改為CPU程序Ml的情形下的CPU 111的利用率,負(fù)荷確定部件239判斷CPU程序Ml的連接是否被允許。注意,由于此動(dòng)作的細(xì)節(jié)與在步驟S112中CPU程序241被選作連接候選的情況之后的動(dòng)作類似,因此,稍后再進(jìn)行描述。此外,在GPU存儲(chǔ)器預(yù)測(cè)使用量等于或大于預(yù)定閾值 (步驟S108,否)并且已經(jīng)確定CPU程序Ml的連接不被允許(步驟S111,是)的情況中, 負(fù)荷確定部件239將作為連接候選的特效程序從GPU程序242改為特效程序集合M。由于隨后的動(dòng)作與在步驟S116中特效程序集合M被選作連接候選的情況之后的動(dòng)作(稍后描述)類似,所以將在稍后進(jìn)行描述。(3、在CPU程序241被確定為連接候選之后的動(dòng)作)接著,將描述在步驟S112中CPU程序241被確定為連接候選的情況。負(fù)荷確定部件239獲得CPU 111的當(dāng)前利用率(步驟S113)。CPUlll的利用率可以通過使用例如被實(shí)現(xiàn)在信息處理裝置中的OS (操作系統(tǒng))的CPU利用率監(jiān)控功能等來獲得。負(fù)荷確定部件239判斷CPU 111的利用率是否達(dá)到預(yù)定閾值(步驟S114)。CPU利用率的閾值是考慮了信息處理裝置的整體動(dòng)作的效率、穩(wěn)定性等的基于設(shè)計(jì)的預(yù)定值。在 CPU 111的利用率沒有達(dá)到預(yù)定閾值的情況中(步驟S114,是),負(fù)荷確定部件239請(qǐng)求程序讀出部件239B讀出被程序確定部件238確定為連接候選的CPU程序Ml。接收到該請(qǐng)求,程序讀出部件239B從存儲(chǔ)設(shè)備13讀出被程序確定部件238確定為連接候選的CPU程序M1,并且將CPU程序241作為特效插件程序22連接到I/O程序21 (步驟S110)。在CPU 111的利用率達(dá)到預(yù)定閾值(步驟S114,否)并且已經(jīng)確定GPU程序242 的連接不被允許(步驟S115,是)的情況中,負(fù)荷確定部件239向圖形用戶界面部件(未示出)通知用于告知特效程序的添加不被允許的特效添加不被允許代碼(步驟S124)。圖形用戶界面部件是這樣的程序,其接受用戶通過顯示設(shè)備19 (圖1)的顯示進(jìn)行的作為處理目標(biāo)的圖像數(shù)據(jù)的選擇、應(yīng)用于圖像數(shù)據(jù)的特效的選擇、各種參數(shù)的輸入等,并將對(duì)它們的答復(fù)返回給用戶,等等。接收到來自負(fù)荷確定部件239的特效添加不被允許代碼,圖形用戶界面部件通過顯示設(shè)備19(圖1)的畫面向用戶通知用戶選擇的特效的添加不被允許。此外, 在此情況中,負(fù)荷確定部件239要求程序讀出部件239B不要發(fā)出讀出特效程序的請(qǐng)求,從而特效程序不被新連接到I/O程序21,并且處理完成。此外,在步驟S114的判定中CPU 111的利用率達(dá)到預(yù)定閾值(步驟S114,否)并且未確定GPU程序M2的連接不被允許(步驟S115,否)的情況中,處理繼續(xù)到步驟S106, 并且連接候選從CPU程序241被改變?yōu)镚PU程序M2。隨后的動(dòng)作如上所述。(4、在特效程序集合M被確定為連接候選的情況中的動(dòng)作)接著,將描述全畫面處理判定部件231在步驟SlOl中判定特效處理被應(yīng)用于圖像的所有像素的情況(步驟S101,是)。在此情況中,全畫面處理判定部件231指示程序確定部件238將與用戶所選擇的特效相對(duì)應(yīng)的特效程序集合M (CPU程序Ml、GPU程序242和 CPU/GPU控制程序?qū)么_定為連接候選(步驟Sl 16)。接著,全畫面處理判定部件231激活處理面積分配計(jì)算部件237。處理面積分配計(jì)算部件237分別向CPU 111和GPU 121分配處理面積,使得CPU 111和GPU 121分擔(dān)要執(zhí)行的特效處理(步驟S117)。具體而言,處理面積如下這樣被分配。在以下描述中,分配給 CPU 111的處理面積稱為“CPU處理面積”,并且分配給GPU 121的處理面積稱為“GPU處理而積”。處理面積分配計(jì)算部件237請(qǐng)求CPU處理時(shí)間預(yù)測(cè)部件233和GPU處理時(shí)間預(yù)測(cè)部件234分別計(jì)算CPU預(yù)測(cè)處理時(shí)間和GOU預(yù)測(cè)處理時(shí)間。根據(jù)該請(qǐng)求,CPU處理時(shí)間預(yù)測(cè)部件233通過使用表達(dá)式(1),基于由CPU處理時(shí)間保存部件235保存的CPU處理時(shí)間以及圖像的總像素?cái)?shù),來計(jì)算CPU預(yù)測(cè)處理時(shí)間。類似地,GPU處理時(shí)間預(yù)測(cè)部件234通過使用表達(dá)式O),基于由GPU處理時(shí)間保存部件236保存的GPU處理時(shí)間以及圖像的總像素?cái)?shù), 來計(jì)算GPU預(yù)測(cè)處理時(shí)間。處理面積分配計(jì)算部件237獲得分別由CPU處理時(shí)間預(yù)測(cè)部件233和GPU處理時(shí)間預(yù)測(cè)部件234計(jì)算出的CPU預(yù)測(cè)處理時(shí)間和GPU預(yù)測(cè)處理時(shí)間彼此近似相等的比率。 處理面積分配計(jì)算部件237將整個(gè)處理面積(總像素?cái)?shù))按照所獲得的比率指派給CPU 處理面積和GPU處理面積,并且將有關(guān)各個(gè)處理面積的信息保存為處理面積分配信息(步驟S117)。由處理面積分配計(jì)算部件237保存的處理面積分配信息稍后將被程序讀出部件 239B從存儲(chǔ)設(shè)備13讀出,并且被通知給連接到I/O程序21的CPU/GPU控制程序M3。在處理面積分配計(jì)算部件237保存有關(guān)CPU處理面積和GPU處理畫積的分配信息之后,基于假定被確定為連接候選的特效程序集合M被連接的情形下的CPU 111的利用率,負(fù)荷確定部件239判斷特效程序集合M的連接是否被允許。接著,將描述此動(dòng)作。負(fù)荷確定部件239計(jì)算在假定特效程序集合M中的GPU程序242被連接到I/O 程序21的情形下的GPU存儲(chǔ)器預(yù)測(cè)使用量。GPU存儲(chǔ)器預(yù)測(cè)使用量通過以下表達(dá)式(4)被計(jì)算(步驟Sl 18)。GPU存儲(chǔ)器預(yù)測(cè)使用量=(用于已連接特效的存儲(chǔ)器總量)+ (用于附加特效的圖像存儲(chǔ)器的數(shù)目)χ (GPU處理面積)/ (全畫面面積)……
接著,負(fù)荷確定部件239判斷所計(jì)算出的GPU存儲(chǔ)器預(yù)測(cè)使用量是否達(dá)到預(yù)定閾值(步驟S119)。在GPU存儲(chǔ)器預(yù)測(cè)使用量沒有達(dá)到預(yù)定閾值的情況中(步驟S119,是), 與步驟S113類似,負(fù)荷確定部件239獲得CPU 111的利用率(步驟S120)。隨后,與步驟 S114類似,負(fù)荷確定部件239判斷CPU 111的利用率是否達(dá)到預(yù)定閾值(步驟S121)。在CPU 111的利用率沒有達(dá)到預(yù)定閾值的情況中(步驟S121,是),負(fù)荷確定部件 239判定特效程序集合M的連接被允許,并且請(qǐng)求程序讀出部件239B讀出特效程序集合 24。根據(jù)該請(qǐng)求,程序讀出部件239B從存儲(chǔ)設(shè)備13讀出特效程序集合M,并且將特效程序集合M作為特效插件程序22連接到I/O程序21 (步驟S110)。此后,連接到I/O程序21 的CPU/GPU控制程序243被通知由處理面積分配計(jì)算部件237保存的分配信息。因此,CPU 111和GPU 121分擔(dān)執(zhí)行用戶所選擇的特效處理的環(huán)境被構(gòu)建。接著,將描述在步驟S119中GPU存儲(chǔ)器預(yù)測(cè)使用量達(dá)到預(yù)定閾值的情況(步驟 Sl 19,否)。在此情況中,返回步驟Sl 17,處理面積分配計(jì)算部件237修改CPU處理面積和 GPU處理面積的分配(步驟S117)。分配如下這樣被修改。首先,處理面積分配計(jì)算部件237通過使用以下表達(dá)式( 來計(jì)算GPU處理面積的修正值。GPU處理面積的修正值=((允許GPU使用的存儲(chǔ)器總量)_ (用于已連接特效的存儲(chǔ)器總量))/(用于一個(gè)像素的存儲(chǔ)器使用量)……(5)此外,處理面積分配計(jì)算部件237從全畫面面積中減去GPU處理面積的修正值從而獲得作為CPU處理面積的修正值的結(jié)果。此后,負(fù)荷確定部件239通過使用GPU處理面積的修正值和以上提到的表達(dá)式(4) 來計(jì)算在假定特效程序集合M中的GPU程序242被連接到I/O程序21的情形下的GPU存儲(chǔ)器預(yù)測(cè)使用量(步驟S118)。負(fù)荷確定部件239判斷作為結(jié)果獲得的GPU存儲(chǔ)器預(yù)測(cè)使用量是否達(dá)到預(yù)定閾值(步驟S119)。在GPU存儲(chǔ)器預(yù)測(cè)使用量達(dá)到閾值(步驟S119,否) 并且CPU處理面積和GPU處理面積的分配已被修改(步驟S122,是)的情況中,負(fù)荷確定部件239向圖形用戶界面部件(未示出)通知用于告知特效程序的連接不被允許的特效添加不被允許代碼(步驟SlM)。隨后的動(dòng)作與以上的類似。如上所述,根據(jù)本實(shí)施例,在特效被應(yīng)用于圖像的所有像素,即,最大負(fù)荷的特效處理被執(zhí)行的情況中,包括CPU程序Ml、GPU程序242和CPU/GPU控制程序243的特效程序集合M被連接到I/O程序21。結(jié)果,CPU 111和GPU 121分擔(dān)執(zhí)行對(duì)整個(gè)圖像的特效處理。因此,可以提高相對(duì)于圖像的所有像素的特效處理的速度。此外,根據(jù)本實(shí)施例,在特效被應(yīng)用于作為圖像的一部分的區(qū)域的情況中,程序確定部件238從CPU程序241和GPU程序242中選擇預(yù)測(cè)處理時(shí)間較小的特效程序來作為連接候選,從而特效處理可以更快地被執(zhí)行。此外,根據(jù)本實(shí)施例,在GPU程序242被選作連接候選的情況中,負(fù)荷確定部件239 計(jì)算在假定GPU程序242被連接的情形下的GPU存儲(chǔ)器預(yù)測(cè)使用量,并且判斷其是否達(dá)到預(yù)定閾值。在其沒有達(dá)到閾值的情況中,GPU程序242作為特效插件程序22被原樣連接到 I/O程序21。此外,在其達(dá)到閾值的情況中,連接候選被改為CPU程序Ml。此外,負(fù)荷確定部件239判斷CPU利用率是否達(dá)到預(yù)定閾值,并且在其沒有達(dá)到閾值的情況中,將CPU程序 241作為特效插件程序22連接到I/O程序21。作為以上的結(jié)果,在GPU存儲(chǔ)器的耗盡的狀態(tài)中,可以以高的幾率保證特效處理的執(zhí)行。此外,根據(jù)本實(shí)施例,在CPU程序241被確定為連接候選的情況中,負(fù)荷確定部件 239計(jì)算在假定CPU程序241被連接的情形下的CPU利用率,并且判斷其是否達(dá)到預(yù)定閾值。在其沒有達(dá)到閾值的情況中,CPU程序241作為特效插件程序22被原樣連接到I/O程序21。此外,在其達(dá)到閾值的情況中,連接候選被改為GPU程序M2。此外,負(fù)荷確定部件 239判斷GPU存儲(chǔ)器預(yù)測(cè)使用量是否達(dá)到預(yù)定閾值,并且在其沒有達(dá)到閾值的情況中將GPU 程序242作為特效插件程序22連接到I/O程序21。作為以上的結(jié)果,即使在CPU利用率太高而不能執(zhí)行特效處理的情況中,也可以以高的幾率保證特效處理的執(zhí)行。此外,根據(jù)本實(shí)施例,在特效程序集合M被確定為連接候選的情況中,整個(gè)處理面積(總像素?cái)?shù))以CPU預(yù)測(cè)處理時(shí)間和GPU預(yù)測(cè)處理時(shí)間彼此近似相等的比率,被指派給CPU處理面積和GPU處理面積。因此,CPU單元111和GPU 121可以在它們的能力內(nèi)近似地以最高速度來執(zhí)行特效處理。此外,根據(jù)本實(shí)施例,在假定被確定為連接候選的特效程序集合M被連接的情形下的GPU存儲(chǔ)器預(yù)測(cè)使用量達(dá)到閾值的情況中,處理面積分配計(jì)算部件237將CPU處理面積和GPU處理面積的分配修改為考慮了 GPU存儲(chǔ)器的空余量的值。因此,在GPU存儲(chǔ)器122 的空余量太小而不能執(zhí)行特效處理的狀態(tài)中,CPU 111和GPU 121可以分擔(dān)特效處理來高速地執(zhí)行特效處理。(第二實(shí)施例)在以上提到的第一實(shí)施例,CPU預(yù)測(cè)處理時(shí)間是基于由CPU處理時(shí)間保存部件235 保存的CPU處理時(shí)間以及處理像素?cái)?shù)獲得的,GPU預(yù)測(cè)處理時(shí)間是基于由GPU處理時(shí)間保存部件236保存的GPU處理時(shí)間以及處理像素?cái)?shù)獲得的,并且預(yù)測(cè)處理時(shí)間較小的特效程序被確定為連接候選。在第二實(shí)施例中,基于對(duì)CPU程序241和GPU程序M2的特效處理時(shí)間的測(cè)量結(jié)果,使能較高速度的特效程序被確定為連接候選。圖9是示出根據(jù)第二實(shí)施例的特效程序選擇激活部件23a的結(jié)構(gòu)。圖10是示出特效程序選擇激活部件23a的動(dòng)作的過程的流程圖。在特效程序選擇激活部件23a中,CPU處理時(shí)間預(yù)測(cè)部件233a在特效處理被應(yīng)用于部分圖像數(shù)據(jù)的情況中,從存儲(chǔ)設(shè)備13中讀出CPU程序M1,并且實(shí)際地測(cè)量CPU程序 241的處理時(shí)間。同時(shí),GPU處理時(shí)間預(yù)測(cè)部件23 在特效處理被應(yīng)用于部分圖像數(shù)據(jù)的情況中,從存儲(chǔ)設(shè)備13讀出GPU程序M2,并且測(cè)量GPU程序M2的處理時(shí)間。這里,CPU 處理時(shí)間預(yù)測(cè)部件233a和GPU處理時(shí)間預(yù)測(cè)部件23 可以通過對(duì)由I/O程序21提供的實(shí)際圖像數(shù)據(jù)執(zhí)行特效處理來測(cè)量處理時(shí)間,而不必使用實(shí)際的圖像數(shù)據(jù)。即,可以與存儲(chǔ)在CPU存儲(chǔ)器112和GPU存儲(chǔ)器122中的數(shù)據(jù)無關(guān)地來計(jì)算處理時(shí)間。程序確定部件238將CPU程序241和GPU程序242中處理時(shí)間(如上所述那樣計(jì)算出的)較小的特效程序確定為連接候選。其它結(jié)構(gòu)和動(dòng)作與第一實(shí)施例的那些類似。根據(jù)此結(jié)構(gòu),也可以獲得與第一實(shí)施例的那些類似的效果。注意,本公開不限于如上所述的實(shí)施例,而是可以在本公開的技術(shù)思想的范圍內(nèi)進(jìn)行各種修改。本公開包含與2010年6月18日向日本專利局提交的日本在先專利申請(qǐng)JP2010-139719中所公開的主題有關(guān)的主題,該申請(qǐng)的全部?jī)?nèi)容通過引用結(jié)合于此。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,根據(jù)設(shè)計(jì)要求和其它因素可以進(jìn)行各種修改、組合、子組合和更改,只要它們?cè)谒綑?quán)利要求及其等同物的范圍內(nèi)即可。
權(quán)利要求
1.一種信息處理裝置,包括第一處理單元,所述第一處理單元能夠處理圖像;第二處理單元,所述第二處理單元能夠針對(duì)分割所述圖像的每個(gè)單位并行地處理所述圖像;以及控制器部件,所述控制器部件被配置為進(jìn)行控制以選擇所述第一處理單元、所述第二處理單元或所述第一處理單元和所述第二處理單元兩者來作為處理所述圖像的一個(gè)或多個(gè)主體,在所述第一處理單元和所述第二處理單元兩者被選擇的情況下,將所述圖像分割成第一區(qū)域和第二區(qū)域,并且將通過分割獲得的所述第一區(qū)域的圖像的處理和通過分割獲得的所述第二區(qū)域的圖像的處理分別指派給所述第一處理單元和所述第二處理單元來執(zhí)行。
2.根據(jù)權(quán)利要求1所述的信息處理裝置,其中所述控制器部件被配置為在處理整個(gè)圖像的情況下,選擇所述第一處理單元和所述第二處理單元兩者作為處理所述圖像的所述主體。
3.根據(jù)權(quán)利要求2所述的信息處理裝置,其中所述控制器部件被配置為確定所述第一區(qū)域的面積和所述第二區(qū)域的面積,使得所述第一處理單元處理所述第一區(qū)域所用的第一處理時(shí)間等于或近似等于所述第二處理單元處理所述第二區(qū)域所用的第二處理時(shí)間。
4.根據(jù)權(quán)利要求3所述的信息處理裝置,還包括第一存儲(chǔ)器,所述第一存儲(chǔ)器用于由所述第一處理單元對(duì)所述圖像的處理;以及第二存儲(chǔ)器,所述第二存儲(chǔ)器用于由所述第二處理單元對(duì)所述圖像的處理,其中所述控制器部件被配置為計(jì)算在假定所述第一區(qū)域的圖像的處理和所述第二區(qū)域的圖像的處理分別被指派給所述第一處理單元和所述第二處理單元執(zhí)行的情形下的所述第二存儲(chǔ)器的預(yù)測(cè)使用量,并且在計(jì)算出的所述第二存儲(chǔ)器的預(yù)測(cè)使用量達(dá)到閾值的情況下,修改所述第一區(qū)域的所確定面積和所述第二區(qū)域的所確定面積,以使得所述預(yù)測(cè)使用量落在所述第二存儲(chǔ)器中允許所述第二處理單元使用的容量?jī)?nèi)。
5.根據(jù)權(quán)利要求4所述的信息處理裝置,其中所述控制器部件被配置為在所述第二存儲(chǔ)器的預(yù)測(cè)使用量沒有超過所述第二存儲(chǔ)器的所述容量的情況下,獲得所述第一處理單元的利用率,并且在所述利用率沒有達(dá)到閾值的情況下,將所述第一區(qū)域的圖像的處理和所述第二區(qū)域的圖像的處理分別指派給被選作所述主體的所述第一處理單元和所述第二處理單元來執(zhí)行。
6.根據(jù)權(quán)利要求5所述的信息處理裝置,其中所述控制器部件被配置為在處理所述圖像的一部分的情況下,計(jì)算在假定由所述第一處理單元處理所述圖像的所述一部分的情形下的預(yù)測(cè)處理時(shí)間和在假定由所述第二處理單元處理所述圖像的所述一部分的情形下的預(yù)測(cè)處理時(shí)間,并且選擇預(yù)測(cè)處理時(shí)間較小的處理單元來作為處理所述圖像的所述一部分的主體。
7.根據(jù)權(quán)利要求6所述的信息處理裝置,其中所述控制器部件被配置為在所述第二處理單元被選作所述主體的情況下,計(jì)算在假定由所述第二處理單元處理所述圖像的所述一部分的情形下的所述第二存儲(chǔ)器的預(yù)測(cè)使用量,并且在所述第二存儲(chǔ)器的計(jì)算預(yù)測(cè)使用量沒有達(dá)到所述閾值的情況下,使得所述第二處理單元處理所述圖像的所述一部分。
8.根據(jù)權(quán)利要求7所述的信息處理裝置,其中所述控制器部件被配置為在所述第一處理單元被選作所述主體的情況下,獲得所述第一處理單元的利用率,以及在所述利用率沒有達(dá)到閾值的情況下,使得所述第一處理單元處理所述圖像的所述一部分。
9.根據(jù)權(quán)利要求1所述的信息處理裝置,其中所述控制器部件包括所述第一處理單元,通過所述控制器部件中的程序使得所述第一處理單元用作所述控制器部件。
10.一種用于控制信息處理裝置的方法,所述信息處理裝置包括能夠處理圖像的第一處理單元和能夠針對(duì)分割所述圖像的每個(gè)單位并行地處理所述圖像的第二處理單元,該方法包括由控制器部件選擇所述第一處理單元、所述第二處理單元或所述第一處理單元和所述第二處理單元兩者來作為處理所述圖像的一個(gè)或多個(gè)主體;在所述第一處理單元和所述第二處理單元兩者被選擇的情況下,將所述圖像分割成第一區(qū)域和第二區(qū)域;并且將通過分割獲得的所述第一區(qū)域的圖像的處理和通過分割獲得的所述第二區(qū)域的圖像的處理分別指派給所述第一處理單元和所述第二處理單元來執(zhí)行。
11.一種使得計(jì)算機(jī)動(dòng)作的程序,所述計(jì)算機(jī)包括能夠處理圖像的第一處理單元和能夠針對(duì)分割所述圖像的每個(gè)單位并行地處理所述圖像的第二處理單元,所述程序使得所述計(jì)算機(jī)用作控制器部件,所述控制器部件被配置為進(jìn)行控制以選擇所述第一處理單元、所述第二處理單元或所述第一處理單元和所述第二處理單元兩者來作為處理所述圖像的一個(gè)或多個(gè)主體,在所述第一處理單元和所述第二處理單元兩者被選擇的情況下,將所述圖像分割成第一區(qū)域和第二區(qū)域,并且將通過分割獲得的所述第一區(qū)域的圖像的處理和通過分割獲得的所述第二區(qū)域的圖像的處理分別指派給所述第一處理單元和所述第二處理單元來執(zhí)行。
全文摘要
本發(fā)明公開了信息處理裝置、用于控制信息處理裝置的方法、和程序。提供了一種信息處理裝置,其包括第一處理單元,其能夠處理圖像;第二處理單元,其能夠針對(duì)分割圖像的每個(gè)單位并行地處理圖像;以及控制器部件,其被配置為進(jìn)行控制來選擇第一處理單元、第二處理單元或第一處理單元和第二處理單元兩者來作為處理該圖像的一個(gè)或多個(gè)主體,在第一處理單元和第二處理單元兩者被選擇的情況中,將圖像分割成第一區(qū)域和第二區(qū)域,并且將通過分割獲得的第一區(qū)域的圖像的處理和通過分割獲得的第二區(qū)域的圖像的處理分別指派給第一處理單元和第二處理單元來執(zhí)行。
文檔編號(hào)G06T1/20GK102289782SQ20111016527
公開日2011年12月21日 申請(qǐng)日期2011年6月13日 優(yōu)先權(quán)日2010年6月18日
發(fā)明者白木壽一 申請(qǐng)人:索尼公司