本發(fā)明涉及數(shù)字球幕電影制作技術(shù)領(lǐng)域,特別涉及一種數(shù)字球幕電影的集群制作平臺(tái)系統(tǒng)及工作方法。
背景技術(shù):
數(shù)字球幕電影,又稱為數(shù)字穹幕電影,它是指在圓頂式結(jié)構(gòu)的觀眾廳內(nèi),銀幕成半球形,觀眾被包圍其中的一種大銀幕數(shù)字電影。與傳統(tǒng)電影相比,球幕放映廳的銀幕面積更大,影像視角更為寬闊,為了保證全銀幕覆蓋,球幕電影的視角需要達(dá)到180°或者更大,這樣才可以觀眾帶來置身場(chǎng)景之中沉浸和震撼效果。為了達(dá)到這樣的效果,數(shù)字球幕電影在制作中存在多個(gè)難點(diǎn):如:為了保證全銀幕的覆蓋,制作中的圖像序列需要通過魚眼變形;為了保證球幕電影不低于4096×4096的分辨率,將多個(gè)較低分辨率的圖像組合為4K球幕圖像;為了在球幕劇場(chǎng)投影輸出,需要將球幕圖像切分為對(duì)應(yīng)每個(gè)投影機(jī)的子圖像,再輸出高碼率數(shù)字視頻等等。所以,相比于普通銀幕的數(shù)字電影,數(shù)字球幕電影的制作過程更為繁瑣、復(fù)雜且效率低。
為了更好地理解本發(fā)明,下面結(jié)合圖1對(duì)現(xiàn)有數(shù)字球幕電影的制作過程進(jìn)行介紹。
一般來說,數(shù)字球幕電影的制作過程可以抽象為如圖1所示的四個(gè)步驟:
步驟1、多攝像機(jī)通道渲染:動(dòng)畫師可以在三維動(dòng)畫軟件中設(shè)置好動(dòng)畫場(chǎng)景,通過擺放多個(gè)攝像機(jī)來實(shí)現(xiàn)可視角度覆蓋全球幕區(qū)域,每個(gè)攝像機(jī)渲染出一個(gè)通道圖像。目前,較為常用的是五個(gè)攝像機(jī)位,分別對(duì)應(yīng)前、后、左、右、天頂區(qū)域,如圖1中的渲染步驟所示。
步驟2、全景魚眼圖像拼接:將步驟1中不同攝像機(jī)渲染出的平面通道圖像通過魚眼拼接算法合成為一個(gè)魚眼圖像。此操作是數(shù)字球幕電影制作中的核心步驟,一般由動(dòng)畫師或后期制作人員完成,如圖1中的拼接步驟所示。
步驟3、全景特效及后期合成:后期制作人員對(duì)制作好的魚眼圖像序列幀進(jìn)行處理,具體包括多個(gè)圖層合成、顏色校正、特效制作、字幕疊加等等。該步驟既可以在魚眼圖像上直接制作,也可以在平面圖像上處理后再合成魚眼圖像,如圖1中的后期處理步驟所示。
步驟4、多投影通道的圖像切分、視頻編碼:劇場(chǎng)工作人員根據(jù)劇場(chǎng)設(shè)置,將制作完成的魚眼圖像序列幀拆分成多通道圖像,并編碼成視頻。一般拆分通道的數(shù)量與球幕劇場(chǎng)的投影方式以及球幕大小等有關(guān),如圖1中的拆分所示,可以拆分為十六通道視頻。
另外,在上述介紹的球幕電影的制作過程中,由于涉及到魚眼圖像的高分辨率以及投影方式等問題,會(huì)多次用到多通道圖像拼接合成魚眼圖像,或者魚眼圖像拆分為多通道圖像的操作步驟,再根據(jù)需要的每一個(gè)通道的圖像進(jìn)行操作。下面結(jié)合圖2對(duì)球幕電影的制作過程中涉及的拼接和拆分進(jìn)行介紹如下:
1、拼接:在制作球幕電影時(shí),受限于三維制作軟件的魚眼攝像機(jī)的投影方式,一般將多個(gè)平面視角通道渲染出的圖像,拼接合成為一個(gè)魚眼圖像。目前,在Maya制作軟件中,一般采用5個(gè)正交通道拼接魚眼圖像的方法,如圖2所示。
2、拆分:在劇場(chǎng)播放時(shí),由于受限于單投影的分辨率及視角限制,會(huì)將魚眼圖像拆分為對(duì)應(yīng)的多通道投影圖像,每個(gè)通道的圖像就可以由對(duì)應(yīng)投影機(jī)播放,最終通過實(shí)時(shí)的拼接融合技術(shù)實(shí)現(xiàn)全天域的播放效果。一般直徑為18米的球幕劇場(chǎng),采用16個(gè)或者更多的投影機(jī)通道實(shí)現(xiàn)。
現(xiàn)有較為成熟的渲染農(nóng)場(chǎng)管理軟件,可以使用分布式集群完成渲染工作,如Axceleon Enfuzion、ThinkBox Deadline等,可以滿足平面動(dòng)畫電影的渲染工作。然而,對(duì)于制作數(shù)字球幕電影,操作步驟更為復(fù)雜、繁瑣,市場(chǎng)上并沒有直接可用的解決方案。
綜上所述,目前,數(shù)字球幕電影的制作存在以下缺點(diǎn):
(1)數(shù)字球幕電影的制作較為分散。首先,動(dòng)畫制作人員較為分散:一般來說,三維動(dòng)畫的制作部分及渲染成圖由動(dòng)畫人員完成,之后魚眼合成、圖像轉(zhuǎn)換、視頻編碼等步驟交由后期制作人員制作,切圖等步驟由劇場(chǎng)放映人員負(fù)責(zé),這樣,動(dòng)畫制作人員的精力有限,很難保證數(shù)字球幕電影的每個(gè)制作環(huán)節(jié)的銜接緊密,準(zhǔn)確性和效率都很難保證;其次,制作步驟也較為分散:每個(gè)步驟完成后,如果發(fā)現(xiàn)不足之處,還需要在三維動(dòng)畫中修改,重新執(zhí)行該步驟直至效果滿意為止,這樣用戶操作復(fù)雜,數(shù)字球幕電影的制作效率低。
(2)數(shù)字球幕電影的制作除了三維動(dòng)畫部分的渲染工作可以使用現(xiàn)有的渲染農(nóng)場(chǎng)并行制作外,其它的步驟大多需要專用的球幕魚眼圖像處理工具,需要使用單機(jī)順序完成,制作環(huán)節(jié)中的多個(gè)步驟只能通過單機(jī)運(yùn)算完成,運(yùn)行時(shí)間很長(zhǎng),導(dǎo)致節(jié)目制作效率和準(zhǔn)確率均變低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種數(shù)字球幕電影的集群制作平臺(tái)系統(tǒng),用以提高數(shù)字球幕電影制作的效率和準(zhǔn)確率,該系統(tǒng)包括:
管理節(jié)點(diǎn),用于接收用戶根據(jù)數(shù)字球幕電影制作流程輸入的作業(yè)需求信息,將作業(yè)需求信息生成數(shù)字球幕電影作業(yè),再將數(shù)字球幕電影作業(yè)拆分成多層任務(wù),為其中的每個(gè)任務(wù)設(shè)置編號(hào)和執(zhí)行命令,并分配給計(jì)算節(jié)點(diǎn)執(zhí)行;接收計(jì)算節(jié)點(diǎn)返回的任務(wù)的執(zhí)行結(jié)果;
多個(gè)計(jì)算節(jié)點(diǎn),每一個(gè)計(jì)算節(jié)點(diǎn)用于接收來自管理節(jié)點(diǎn)分配的一個(gè)任務(wù),根據(jù)任務(wù)的編號(hào)和執(zhí)行命令,調(diào)用相應(yīng)的數(shù)字球幕電影功能函數(shù),將任務(wù)的執(zhí)行結(jié)果返回給管理節(jié)點(diǎn)。
本發(fā)明還實(shí)施例提供了一種數(shù)字球幕電影的集群制作平臺(tái)系統(tǒng)的工作方法,用以提高數(shù)字球幕電影制作的效率和準(zhǔn)確率,該方法包括:
管理節(jié)點(diǎn)接收用戶根據(jù)數(shù)字球幕電影制作流程輸入的作業(yè)需求信息,將作業(yè)需求信息生成數(shù)字球幕電影作業(yè),再將數(shù)字球幕電影作業(yè)拆分成多層任務(wù),為其中的每個(gè)任務(wù)設(shè)置編號(hào)和執(zhí)行命令,并分配給計(jì)算節(jié)點(diǎn)執(zhí)行;接收計(jì)算節(jié)點(diǎn)返回的任務(wù)的執(zhí)行結(jié)果;
多個(gè)計(jì)算節(jié)點(diǎn)的每一個(gè)計(jì)算節(jié)點(diǎn)接收來自管理節(jié)點(diǎn)分配的一個(gè)任務(wù),根據(jù)任務(wù)的編號(hào)和執(zhí)行命令,調(diào)用相應(yīng)的數(shù)字球幕電影功能函數(shù),將任務(wù)的執(zhí)行結(jié)果返回給管理節(jié)點(diǎn)。
與現(xiàn)有技術(shù)相比較,本發(fā)明實(shí)施例提供的技術(shù)方案,具有如下優(yōu)點(diǎn):
首先,本發(fā)明實(shí)施例提供的技術(shù)方案,整合了制作數(shù)字球幕電影的全部流程,用戶可以快速提交全部流程,從渲染動(dòng)畫場(chǎng)景開始,順序執(zhí)行,到最后生成可以在球幕劇場(chǎng)播放的多通道視頻;當(dāng)然,用戶也可以根據(jù)需要,合并所需的工作流程,例如從動(dòng)畫場(chǎng)景渲染多通道圖像到合成魚眼圖像,或者集成魚眼圖像切圖并編碼成視頻等常用步驟,這樣集成現(xiàn)有工作流程,保證每個(gè)環(huán)節(jié)的銜接緊密,簡(jiǎn)化了用戶的操作,優(yōu)化了制作流程,提高了數(shù)字球幕電影的制作效率和準(zhǔn)確率;
其次,通過管理節(jié)點(diǎn)將數(shù)字球幕電影作業(yè)拆分成多個(gè)任務(wù),并將任務(wù)分配給多個(gè)計(jì)算節(jié)點(diǎn)并行執(zhí)行,這樣,將現(xiàn)有單機(jī)執(zhí)行的步驟利用多個(gè)計(jì)算節(jié)點(diǎn)并行處理,簡(jiǎn)化了用戶的操作,提高了數(shù)字球幕電影的制作效率;
另外,每個(gè)計(jì)算節(jié)點(diǎn)將當(dāng)前任務(wù)的執(zhí)行結(jié)果返回給管理節(jié)點(diǎn),管理節(jié)點(diǎn)接收計(jì)算節(jié)點(diǎn)返回的任務(wù)的執(zhí)行結(jié)果,這樣,在一個(gè)計(jì)算節(jié)點(diǎn)的作業(yè)任務(wù)的執(zhí)行結(jié)果為失敗的情況下,只需要重新執(zhí)行該任務(wù)的計(jì)算即可,相對(duì)于一次性單機(jī)順序執(zhí)行的方法而言,提高了數(shù)字球幕電影的制作的準(zhǔn)確率和效率。
綜上所述,本發(fā)明提供的技術(shù)方案既實(shí)現(xiàn)了數(shù)字球幕電影全流程整合,又應(yīng)用了分布式并行計(jì)算技術(shù),提高了數(shù)字球幕電影的制作效率和準(zhǔn)確率。
附圖說明
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,并不構(gòu)成對(duì)本發(fā)明的限定。在附圖中:
圖1是本發(fā)明中現(xiàn)有數(shù)字球幕電影的制作過程的流程示意圖;
圖2是本發(fā)明中現(xiàn)有數(shù)字球幕電影制作過程中的拼接和拆分的示意圖;
圖3是本發(fā)明實(shí)施例中數(shù)字球幕電影的集群制作平臺(tái)系統(tǒng)的結(jié)構(gòu)示意圖;
圖4是本發(fā)明另一實(shí)施例中數(shù)字球幕電影的集群制作平臺(tái)系統(tǒng)的結(jié)構(gòu)示意圖。
圖5是本發(fā)明實(shí)施例中數(shù)字球幕電影的集群制作平臺(tái)系統(tǒng)的工作方法的流程示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施方式和附圖,對(duì)本發(fā)明做進(jìn)一步詳細(xì)說明。在此,本發(fā)明的示意性實(shí)施方式及其說明用于解釋本發(fā)明,但并不作為對(duì)本發(fā)明的限定。
本發(fā)明的目的是通過搭建一個(gè)完整、統(tǒng)一的制作平臺(tái),針對(duì)現(xiàn)階段球幕電影的制作過程主流方法,集成(整合)工作流程,最大程度的調(diào)用集群的計(jì)算能力,使得球幕電影的制作過程更加簡(jiǎn)單、高效、智能。
該制作平臺(tái)是在集群計(jì)算的基礎(chǔ)上搭建,集群是指將多個(gè)服務(wù)器集中起來一起進(jìn)行同一種服務(wù),其中每一個(gè)服務(wù)器稱之為一個(gè)節(jié)點(diǎn)。節(jié)點(diǎn)可以分為管理節(jié)點(diǎn)、計(jì)算節(jié)點(diǎn)等,管理節(jié)點(diǎn)負(fù)責(zé)調(diào)度集群,計(jì)算節(jié)點(diǎn)按照管理節(jié)點(diǎn)的指令提供運(yùn)算。一般來說,一個(gè)集群環(huán)境內(nèi)有一個(gè)到兩個(gè)管理節(jié)點(diǎn),多個(gè)計(jì)算節(jié)點(diǎn)。用戶需要集群運(yùn)算的一組任務(wù)稱之為作業(yè),其中每個(gè)任務(wù)是指在給定的計(jì)算節(jié)點(diǎn)上執(zhí)行的程序。一個(gè)作業(yè),可以由一個(gè)或者多個(gè)任務(wù)組成。
數(shù)字球幕電影制作平臺(tái)可以分為管理節(jié)點(diǎn)、計(jì)算節(jié)點(diǎn)、數(shù)據(jù)庫(kù)、存儲(chǔ)盤陣四部分。管理節(jié)點(diǎn)負(fù)責(zé)與用戶交互,根據(jù)用戶的要求,生成相應(yīng)的作業(yè),將作業(yè)分發(fā)給指定的計(jì)算節(jié)點(diǎn),并且可以及時(shí)返回當(dāng)前的作業(yè)執(zhí)行狀況和執(zhí)行結(jié)果,以便了解當(dāng)前的作業(yè)信息。計(jì)算節(jié)點(diǎn)用來接收來自管理節(jié)點(diǎn)的作業(yè)任務(wù),分析、優(yōu)化并執(zhí)行,并將執(zhí)行中的信息返回管理節(jié)點(diǎn)。數(shù)據(jù)庫(kù)用于存儲(chǔ)作業(yè)、用戶等平臺(tái)系統(tǒng)配置數(shù)據(jù)。存儲(chǔ)盤陣用于存放球幕電影的制作數(shù)據(jù),包括工程文件、序列幀、視頻等。整個(gè)平臺(tái)采用B/S架構(gòu),用戶通過瀏覽器即可訪問,無需另行安裝客戶。下面對(duì)該制作平臺(tái)系統(tǒng)進(jìn)行詳細(xì)地介紹。
圖3是本發(fā)明實(shí)施例中數(shù)字球幕電影的集群制作平臺(tái)系統(tǒng)的結(jié)構(gòu)示意圖,如圖3所示,該制作平臺(tái)系統(tǒng),包括:
管理節(jié)點(diǎn)10,用于接收用戶根據(jù)數(shù)字球幕電影制作流程輸入的作業(yè)需求信息,將作業(yè)需求信息生成數(shù)字球幕電影作業(yè),再將數(shù)字球幕電影作業(yè)拆分成多層任務(wù),為其中的每個(gè)任務(wù)設(shè)置編號(hào)和執(zhí)行命令,并分配給計(jì)算節(jié)點(diǎn)20執(zhí)行;接收計(jì)算節(jié)點(diǎn)20返回的任務(wù)的執(zhí)行結(jié)果;
多個(gè)計(jì)算節(jié)點(diǎn)20,每一個(gè)計(jì)算節(jié)點(diǎn)20用于接收來自管理節(jié)點(diǎn)10分配的一個(gè)任務(wù),根據(jù)任務(wù)的編號(hào)和執(zhí)行命令,調(diào)用相應(yīng)的數(shù)字球幕電影功能函數(shù),將任務(wù)的執(zhí)行結(jié)果返回給管理節(jié)點(diǎn)10。
與現(xiàn)有技術(shù)相比較,本發(fā)明實(shí)施例提供的技術(shù)方案,具有如下優(yōu)點(diǎn):
首先,本發(fā)明實(shí)施例提供的技術(shù)方案,整合了制作數(shù)字球幕電影的全部流程,用戶可以快速提交全部流程,從渲染動(dòng)畫場(chǎng)景開始,順序執(zhí)行,到最后生成可以在球幕劇場(chǎng)播放的多通道視頻;當(dāng)然,用戶也可以根據(jù)需要,合并所需的工作流程,例如從動(dòng)畫場(chǎng)景渲染多通道圖像到合成魚眼圖像,或者集成魚眼圖像切圖并編碼成視頻等常用步驟,這樣集成現(xiàn)有工作流程,保證每個(gè)環(huán)節(jié)的銜接緊密,簡(jiǎn)化了用戶的操作,優(yōu)化了制作流程,提高了數(shù)字球幕電影的制作效率和準(zhǔn)確率;
其次,通過管理節(jié)點(diǎn)將數(shù)字球幕電影作業(yè)拆分成多個(gè)任務(wù),并將任務(wù)分配給多個(gè)計(jì)算節(jié)點(diǎn)并行執(zhí)行,這樣,將現(xiàn)有單機(jī)執(zhí)行的步驟利用多個(gè)計(jì)算節(jié)點(diǎn)并行處理,簡(jiǎn)化了用戶的操作,提高了數(shù)字球幕電影的制作效率;
另外,每個(gè)計(jì)算節(jié)點(diǎn)將當(dāng)前任務(wù)的執(zhí)行結(jié)果返回給管理節(jié)點(diǎn),管理節(jié)點(diǎn)接收計(jì)算節(jié)點(diǎn)返回的任務(wù)的執(zhí)行結(jié)果,這樣,在一個(gè)計(jì)算節(jié)點(diǎn)的作業(yè)任務(wù)的執(zhí)行結(jié)果為失敗的情況下,只需要重新執(zhí)行該任務(wù)的計(jì)算即可,相對(duì)于一次性單機(jī)順序執(zhí)行的方法而言,提高了數(shù)字球幕電影的制作的準(zhǔn)確率和效率。
綜上所述,本發(fā)明提供的技術(shù)方案既實(shí)現(xiàn)了數(shù)字球幕電影全流程整合,又應(yīng)用了分布式并行計(jì)算技術(shù),提高了數(shù)字球幕電影的制作效率和準(zhǔn)確率。
下面首先對(duì)本發(fā)明實(shí)施中的管理節(jié)點(diǎn)10進(jìn)行詳細(xì)介紹如下。
在一個(gè)實(shí)施例中,作業(yè)需求信息可以包括:數(shù)字球幕電影制作的路徑、起始序列幀號(hào)、終結(jié)序列幀號(hào)和通道數(shù);
圖4是本發(fā)明另一實(shí)施例中數(shù)字球幕電影的集群制作平臺(tái)系統(tǒng)的結(jié)構(gòu)示意圖,如圖4所示,管理節(jié)點(diǎn)10可以包括:前端界面模塊,用于接收數(shù)字球幕電影制作的路徑、起始序列幀號(hào)、終結(jié)序列幀號(hào)和通道數(shù)。
在一個(gè)實(shí)施例中,上述任務(wù)可以包括:工作流任務(wù)、序列幀任務(wù)和通道任務(wù);
如圖4所示,管理節(jié)點(diǎn)10可以包括:
作業(yè)生成模塊,用于將作業(yè)需求信息生成數(shù)字球幕電影作業(yè),再將數(shù)字球幕電影作業(yè)拆分成工作流任務(wù)、序列幀任務(wù)和/通道任務(wù),并為其中的每個(gè)任務(wù)設(shè)置編號(hào)和執(zhí)行命令;
作業(yè)調(diào)度模塊,用于根據(jù)數(shù)字球幕電影作業(yè)的優(yōu)先級(jí),以及計(jì)算節(jié)點(diǎn)的空閑情況,將工作流任務(wù)、序列幀任務(wù)和通道任務(wù)分配給計(jì)算節(jié)點(diǎn)。
具體實(shí)施時(shí),為了更好的理解本發(fā)明如何實(shí)施,下面對(duì)本發(fā)明實(shí)施例中提到的詞匯含義及其作用進(jìn)行詳細(xì)介紹如下。
作業(yè):作業(yè)是該平臺(tái)系統(tǒng)中的基本單位。用戶可以根據(jù)針對(duì)作業(yè)進(jìn)行提交、調(diào)度、執(zhí)行以及控制等機(jī)制。
任務(wù):作業(yè)由任務(wù)組成,一個(gè)作業(yè)可以包含一個(gè)或者多個(gè)任務(wù)。任務(wù)可以直接運(yùn)行應(yīng)用程序,完成相應(yīng)的操作。
在本發(fā)明實(shí)施例中提到的任務(wù)共分為如下三種:
1、工作流任務(wù):工作流任務(wù)包括但不局限于數(shù)字球幕電影制作過程中所述的四個(gè)制作流程,如圖1所示。常用的工作流任務(wù)還包括缺幀檢查、序列幀色彩校驗(yàn)、序列幀修復(fù)等,也可以自定義工作流任務(wù)的操作。該平臺(tái)將每一個(gè)工作流任務(wù)模塊化,用戶根據(jù)業(yè)務(wù)需求,按照順序添加并設(shè)置即可。每個(gè)工作流任務(wù)執(zhí)行完畢后繼續(xù)執(zhí)行下一個(gè)直至全部完成為止。計(jì)算節(jié)點(diǎn)的作業(yè)處理模塊中,針對(duì)每個(gè)工作流任務(wù),會(huì)有相應(yīng)的功能函數(shù)來處理。每個(gè)作業(yè)中至少包含一個(gè)工作流任務(wù)。
2、序列幀任務(wù):幀是視頻中最小單位的單幅影像畫面,序列幀是一組順序的幀圖像文件。由于每個(gè)制作步驟都會(huì)處理不同數(shù)量的序列幀,所以根據(jù)用戶設(shè)置,每個(gè)工作流任務(wù)會(huì)分解為成為一個(gè)或者多個(gè)序列幀任務(wù)執(zhí)行。
3、通道任務(wù):數(shù)字球幕電影的制作過程中需要頻繁的拼接或者拆分魚眼圖像,會(huì)頻繁的出現(xiàn)多通道圖像,因此系統(tǒng)根據(jù)序列幀,以及需要執(zhí)行的步驟的通道數(shù),生成相應(yīng)的通道任務(wù)。每個(gè)序列幀任務(wù)中包含一個(gè)或者多個(gè)通道任務(wù),通道任務(wù)是整個(gè)制作平臺(tái)系統(tǒng)的最小任務(wù)。
作業(yè)相當(dāng)于一個(gè)容器,可以向其中添加需要各種各樣的任務(wù),可以是已有的,也可以是自定義的,滿足用戶在使用上的靈活性,作業(yè)與任務(wù)的分配由作業(yè)調(diào)度模塊完成。
進(jìn)一步地,為了更好地理解本發(fā)明,對(duì)于上述工作流任務(wù)進(jìn)行詳細(xì)解釋:具體實(shí)施時(shí),在數(shù)字球幕電影的制作過程中,有很多復(fù)雜、繁瑣的連續(xù)步驟,前一個(gè)步驟的輸出可以作為下一個(gè)步驟的輸入,對(duì)于這樣的作業(yè)可以集成在一起,形成一個(gè)統(tǒng)一的工作流。這樣既可以簡(jiǎn)化動(dòng)畫人員的操作步驟,又可以提高制作效率。在作業(yè)生成模塊中,允許用戶將多個(gè)作業(yè)順序的排列,形成一個(gè)完整的作業(yè)。只有當(dāng)前一個(gè)作業(yè)完成后,才會(huì)執(zhí)行下一個(gè)作業(yè)。比如在制作數(shù)字球幕電影中最常用的一個(gè)過程就是圖像的魚眼變形,動(dòng)畫師可以根據(jù)需要,在制作平臺(tái)中,將動(dòng)畫渲染、魚眼變形、視頻編碼集成在一起,通過作業(yè)生成模塊生成一個(gè)作業(yè),動(dòng)畫渲染完畢后即可執(zhí)行魚眼變形,最后再進(jìn)行視頻編碼,動(dòng)畫師只需要一次提交作業(yè),就可以通過集群運(yùn)算得到最終的視頻文件。
為了更好的理解本發(fā)明如何實(shí)施,下面對(duì)作業(yè)和任務(wù)的具體實(shí)施過程進(jìn)行舉例說明如下。
在本發(fā)明實(shí)施例提供的數(shù)字球幕電影制作平臺(tái)系統(tǒng)中,用戶使用最多的操作就是通過動(dòng)畫場(chǎng)景直接輸出魚眼圖片的過程,即多通道渲染-缺幀檢查-魚眼圖像拼接工作流。如果用戶需要完成一段3000幀的圖像(采用五攝像機(jī)合成方案),可以在新建的作業(yè)中,依次添加上述三個(gè)工作流任務(wù)。其中,第一個(gè)工作流任務(wù),即多通道渲染,根據(jù)設(shè)置將分解為3000個(gè)序列幀任務(wù),每個(gè)序列幀任務(wù)中有1個(gè)通道任務(wù),分配給每個(gè)計(jì)算機(jī)點(diǎn)執(zhí)行;第二個(gè)工作流任務(wù),即缺幀檢查,由于上一步驟每一個(gè)渲染圖片存在多通道輸出,將會(huì)在每個(gè)序列幀任務(wù)的基礎(chǔ)上,再分解出5個(gè)通道任務(wù)執(zhí)行;而第三個(gè)工作流任務(wù),即魚眼圖像拼接,將輸入的5個(gè)通道圖片合并,即包含3000個(gè)序列幀任務(wù),每個(gè)序列幀任務(wù)中包含1個(gè)通道任務(wù)。
具體實(shí)施時(shí),作業(yè)生成模塊除了可以像上述提到的將數(shù)字球幕電影的多個(gè)制作步驟按照制作順序排列成一個(gè)作業(yè)之外,具體還可以將數(shù)字球幕電影的多個(gè)制作步驟按照邏輯順序排列生成一個(gè)作業(yè)。
本發(fā)明實(shí)施例中的管理節(jié)點(diǎn)不僅可以包括上述介紹的模塊,如圖4所示,管理節(jié)點(diǎn)還可以包括:
身份驗(yàn)證模塊,用于對(duì)用戶登錄進(jìn)行校驗(yàn),并根據(jù)不同身份用戶提供不同的權(quán)限;
作業(yè)管理模塊,用于調(diào)取數(shù)字球幕電影的當(dāng)前和歷史數(shù)字球幕電影作業(yè)的信息和狀態(tài);
集群管理模塊,用于對(duì)所述計(jì)算節(jié)點(diǎn)的狀態(tài)進(jìn)行監(jiān)控,及時(shí)反饋計(jì)算節(jié)點(diǎn)的軟、硬件信息。
上述作業(yè)管理模塊和集群管理模塊還可以用于接收計(jì)算節(jié)點(diǎn)返回的任務(wù)的執(zhí)行結(jié)果。
具體實(shí)施時(shí),綜上,管理節(jié)點(diǎn)可以分為六個(gè)模塊。前段界面模塊負(fù)責(zé)向用戶提供界面,方便用戶操作;身份驗(yàn)證模塊對(duì)用戶登錄進(jìn)行校驗(yàn),并根據(jù)不同身份用戶提供不同權(quán)限的服務(wù);作業(yè)管理模塊可以查看當(dāng)前和歷史作業(yè)的信息、狀態(tài),包括是否成功,作業(yè)輸出內(nèi)容等等,用戶可以根據(jù)這些信息判斷作業(yè)的執(zhí)行情況;集群管理模塊用于對(duì)計(jì)算節(jié)點(diǎn)狀態(tài)進(jìn)行監(jiān)控,及時(shí)反饋集群的硬、軟件信息;作業(yè)生成模塊用于生成任務(wù),根據(jù)用戶選擇的作業(yè),填寫相關(guān)的作業(yè)參數(shù)以及調(diào)度的集群信息等,生成對(duì)應(yīng)的作業(yè)模板;作業(yè)調(diào)度模塊根據(jù)作業(yè)模板,動(dòng)態(tài)的將作業(yè)命令分配到指定計(jì)算節(jié)點(diǎn)上,并根據(jù)實(shí)際情況進(jìn)行作業(yè)的再分配。
下面再對(duì)本發(fā)明實(shí)施例中的計(jì)算節(jié)點(diǎn)20進(jìn)行詳細(xì)介紹如下。
具體實(shí)施時(shí),計(jì)算節(jié)點(diǎn)端(計(jì)算節(jié)點(diǎn))用來完成作業(yè)的具體運(yùn)算工作,可以分為兩個(gè)模塊。作業(yè)處理模塊根據(jù)制作數(shù)字球幕電影的不同步驟分別調(diào)用不同的應(yīng)用程序,保證集群能夠正確的運(yùn)行任務(wù)。作業(yè)優(yōu)化模塊,針對(duì)特定的作業(yè),對(duì)作業(yè)的前置條件進(jìn)行檢查,優(yōu)化執(zhí)行效率,并反饋?zhàn)鳂I(yè)狀態(tài)到管理節(jié)點(diǎn)。下面結(jié)合圖4,對(duì)這兩個(gè)模塊進(jìn)行詳細(xì)介紹。
在一個(gè)實(shí)施例中,如圖4所示,計(jì)算節(jié)點(diǎn)20可以包括:
作業(yè)處理模塊,用于根據(jù)任務(wù)的編號(hào)和執(zhí)行命令,調(diào)用相應(yīng)的數(shù)字球幕電影功能函數(shù),對(duì)任務(wù)進(jìn)行處理;
作業(yè)優(yōu)化模塊,用于在對(duì)接收到的任務(wù)進(jìn)行處理之前,對(duì)任務(wù)的待處理數(shù)據(jù)進(jìn)行檢查,對(duì)不合格的待處理數(shù)據(jù)進(jìn)行修復(fù)優(yōu)化;
作業(yè)處理模塊具體用于根據(jù)任務(wù)的編號(hào)和執(zhí)行命令,調(diào)用相應(yīng)的數(shù)字球幕電影功能函數(shù),對(duì)修復(fù)優(yōu)化后的任務(wù)進(jìn)行處理。
具體實(shí)施時(shí),在以上文提到的用多個(gè)計(jì)算節(jié)點(diǎn)進(jìn)行分段視頻編碼為例進(jìn)行說明本發(fā)明實(shí)施例是如何對(duì)任務(wù)的待處理數(shù)據(jù)進(jìn)行檢查(對(duì)作業(yè)的前置條件進(jìn)行檢查,優(yōu)化執(zhí)行效率,并反饋?zhàn)鳂I(yè)狀態(tài)到管理節(jié)點(diǎn))的。由于可能存在序列幀缺幀、壞幀等情況,所以計(jì)算節(jié)點(diǎn)接收到視頻編碼作業(yè)任務(wù)時(shí),首先要對(duì)每段的序列幀進(jìn)行檢驗(yàn)。對(duì)于位深度不符或Alpha通道問題等可檢測(cè)出的壞幀問題,可以通過應(yīng)用程序?qū)D像進(jìn)行自動(dòng)修復(fù);對(duì)缺幀,即幀號(hào)不連續(xù)的問題,則將所缺幀號(hào)記錄到日志文件并標(biāo)記該段子任務(wù)失敗,等待用戶對(duì)相應(yīng)幀進(jìn)行處理后重新執(zhí)行失敗任務(wù)。若所有段均未檢測(cè)出缺幀、壞幀問題,或已手動(dòng)處理完問題,則自動(dòng)運(yùn)行至下一步,例如進(jìn)行正式的視頻編碼過程。
在一個(gè)實(shí)施例中,如圖4所示,上述平臺(tái)系統(tǒng)還可以包括:
數(shù)據(jù)庫(kù),與管理節(jié)點(diǎn)連接,用于存儲(chǔ)管理節(jié)點(diǎn)生成的數(shù)字球幕電影作業(yè);當(dāng)然,該數(shù)據(jù)庫(kù)還可以存儲(chǔ)制作平臺(tái)的配置數(shù)據(jù)。
存儲(chǔ)盤陣,與多個(gè)計(jì)算節(jié)點(diǎn)連接,用于存儲(chǔ)多個(gè)計(jì)算節(jié)點(diǎn)處理數(shù)字球幕電影任務(wù)時(shí)的制作數(shù)據(jù),以及數(shù)字球幕電影功能函數(shù)。所述制作數(shù)據(jù)可以包括:工程文件、序列幀和視頻。例如:存儲(chǔ)盤陣存儲(chǔ)有每個(gè)計(jì)算節(jié)點(diǎn)需要進(jìn)行視頻編碼的序列幀圖像文件,或是進(jìn)行該視頻編碼需要調(diào)用的應(yīng)用程序等等。
基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種數(shù)字球幕電影的集群制作平臺(tái)系統(tǒng)的工作方法,如下面的實(shí)施例。由于數(shù)字球幕電影的集群制作平臺(tái)系統(tǒng)的工作方法解決問題的原理與數(shù)字球幕電影的集群制作平臺(tái)系統(tǒng)相似,因此數(shù)字球幕電影的集群制作平臺(tái)系統(tǒng)的工作方法的實(shí)施可以參見數(shù)字球幕電影的集群制作平臺(tái)系統(tǒng)的實(shí)施,重復(fù)之處不再贅述。以下所使用的,術(shù)語“單元”或者“模塊”可以實(shí)現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實(shí)施例所描述的裝置較佳地以軟件來實(shí)現(xiàn),但是硬件,或者軟件和硬件的組合的實(shí)現(xiàn)也是可能并被構(gòu)想的。
圖5是本發(fā)明實(shí)施例中視頻編碼裝置的結(jié)構(gòu)示意圖,如圖5所示,該方法包括如下步驟:
步驟101:管理節(jié)點(diǎn)接收用戶根據(jù)數(shù)字球幕電影制作流程輸入的作業(yè)需求信息,將作業(yè)需求信息生成數(shù)字球幕電影作業(yè),再將數(shù)字球幕電影作業(yè)拆分成多層任務(wù),為其中的每個(gè)任務(wù)設(shè)置編號(hào)和執(zhí)行命令,并分配給計(jì)算節(jié)點(diǎn)執(zhí)行;接收計(jì)算節(jié)點(diǎn)返回的任務(wù)的執(zhí)行結(jié)果;
步驟102:多個(gè)計(jì)算節(jié)點(diǎn)的每一個(gè)計(jì)算節(jié)點(diǎn)接收來自管理節(jié)點(diǎn)分配的一個(gè)任務(wù),根據(jù)任務(wù)的編號(hào)和執(zhí)行命令,調(diào)用相應(yīng)的數(shù)字球幕電影功能函數(shù),將任務(wù)的執(zhí)行結(jié)果返回給管理節(jié)點(diǎn)。
在一個(gè)實(shí)施例中,作業(yè)需求信息可以包括:數(shù)字球幕電影制作的路徑、起始序列幀號(hào)、終結(jié)序列幀號(hào)和通道數(shù);
數(shù)字球幕電影的集群制作平臺(tái)系統(tǒng)的工作方法還可以包括:管理節(jié)點(diǎn)的前端界面模塊接收數(shù)字球幕電影制作的路徑、起始序列幀號(hào)、終結(jié)序列幀號(hào)和通道數(shù)。
在一個(gè)實(shí)施例中,上述任務(wù)可以包括:工作流任務(wù)、序列幀任務(wù)和通道任務(wù);
數(shù)字球幕電影的集群制作平臺(tái)系統(tǒng)的工作方法還可以包括:
管理節(jié)點(diǎn)的作業(yè)生成模塊將作業(yè)需求信息生成數(shù)字球幕電影作業(yè),再將數(shù)字球幕電影作業(yè)拆分成工作流任務(wù)、序列幀任務(wù)和通道任務(wù),并為其中的每個(gè)任務(wù)設(shè)置編號(hào)和執(zhí)行命令;
管理節(jié)點(diǎn)的作業(yè)調(diào)度模塊根據(jù)數(shù)字球幕電影作業(yè)的優(yōu)先級(jí),以及計(jì)算節(jié)點(diǎn)的空閑情況,將工作流任務(wù)、序列幀任務(wù)和通道任務(wù)分配給計(jì)算節(jié)點(diǎn)。
在一個(gè)實(shí)施例中,上述制作平臺(tái)的工作方法還可以包括:
計(jì)算節(jié)點(diǎn)的作業(yè)處理模塊根據(jù)任務(wù)的編號(hào)和執(zhí)行命令,調(diào)用相應(yīng)的數(shù)字球幕電影功能函數(shù),對(duì)任務(wù)進(jìn)行處理;
計(jì)算節(jié)點(diǎn)的作業(yè)優(yōu)化模塊在對(duì)接收到的任務(wù)進(jìn)行處理之前,對(duì)任務(wù)的待處理數(shù)據(jù)進(jìn)行檢查,對(duì)不合格的待處理數(shù)據(jù)進(jìn)行修復(fù)優(yōu)化;
計(jì)算節(jié)點(diǎn)的作業(yè)處理模塊具體根據(jù)任務(wù)的編號(hào)和執(zhí)行命令,調(diào)用相應(yīng)的數(shù)字球幕電影功能函數(shù),對(duì)修復(fù)優(yōu)化后的任務(wù)進(jìn)行處理。
在一個(gè)實(shí)施例中,上述制作平臺(tái)的工作方法還可以包括:
數(shù)據(jù)庫(kù)存儲(chǔ)管理節(jié)點(diǎn)生成的數(shù)字球幕電影作業(yè);
存儲(chǔ)盤陣存儲(chǔ)多個(gè)計(jì)算節(jié)點(diǎn)執(zhí)行數(shù)字球幕電影作業(yè)任務(wù)時(shí)的制作數(shù)據(jù),以及數(shù)字球幕電影功能函數(shù)。
通過應(yīng)用上述技術(shù)方案,在制作中心中部署平臺(tái),動(dòng)畫師通過本機(jī)瀏覽器即可訪問。
目前該平臺(tái)系統(tǒng)不僅支持Maya、3DMax、After Effects、Fusion等主流動(dòng)畫、后期軟件的調(diào)度,也能夠通過集群快速的完成魚眼圖像合成、圖像轉(zhuǎn)換、水印字幕設(shè)置、切圖等數(shù)字球幕電影特有的功能。用戶可以根據(jù)需求,將其中的步驟按照順序集成起來,更加方便快速的完成作業(yè)。
綜上所述,本發(fā)明的有益技術(shù)效果為:
一方面,該平臺(tái)整合了制作球幕電影的全部流程:用戶可以快速提交全部流程,從渲染動(dòng)畫場(chǎng)景開始,順序執(zhí)行工作流序列,到最后生成可以在球幕劇場(chǎng)播放的多通道視頻,也可以根據(jù)需要,合并所需的工作流,例如從動(dòng)畫場(chǎng)景渲染多通道圖像到合成魚眼圖像,或者魚眼圖像切圖并編碼成視頻等常用步驟,簡(jiǎn)化了用戶的操作,優(yōu)化了制作流程;另一方面,該平臺(tái)內(nèi)所有的作業(yè)都通過分布式集群(計(jì)算節(jié)點(diǎn))并行計(jì)算完成,并針對(duì)不同的制作流程進(jìn)行計(jì)算資源分配和存儲(chǔ)讀寫的優(yōu)化,極大的提高了制作效率。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明實(shí)施例的各模塊、裝置或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明實(shí)施例不限制于任何特定的硬件和軟件結(jié)合。
以上僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明實(shí)施例可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。