楊萬鈞
四川音樂學(xué)學(xué)院作曲系 成都 610021
作者:楊萬鈞,工學(xué)學(xué)士,四川音樂學(xué)院作曲系錄音藝術(shù)與電腦音樂教研室講師,主要從事錄音藝術(shù)、電腦音樂、音樂聲學(xué)的基礎(chǔ)理論教學(xué)及相關(guān)研究。
2009年12月,電影《阿凡達(dá)》在全球公映,公映后數(shù)周內(nèi)在全球掀起一股阿凡達(dá)熱和3D立體電影的熱潮,一時間多部立體電影相繼上映。《阿凡達(dá)》以其細(xì)膩逼真的立體畫面和震撼的音響效果,征服了全球億萬影迷,使得在短短數(shù)周內(nèi)票房就飆升到10億美元以上,并在之后不斷刷新票房紀(jì)錄,成為好萊塢歷史上少有的幾部票房達(dá)到10億美元的電影之一。
當(dāng)人們被阿凡達(dá)的影音效果所震撼而發(fā)出感嘆的時候,專業(yè)的影視及媒體工作者開始思考:是什么樣的技術(shù)成就了阿凡達(dá)的巨大成功呢?電影《阿凡達(dá)》由好萊塢著名導(dǎo)演詹姆斯·卡梅隆執(zhí)導(dǎo),他數(shù)年來為影迷們奉獻(xiàn)了一部又一部的電影佳作,《阿凡達(dá)》是卡梅隆繼《泰坦尼克號》之后為觀眾獻(xiàn)出的又一視聽盛宴。當(dāng)然,除了導(dǎo)演高超的導(dǎo)演藝術(shù)之外,成就該影片最重要的因素之一就是現(xiàn)代高度發(fā)展的計算機(jī)媒體制作技術(shù),可以說沒有現(xiàn)代先進(jìn)的計算機(jī)技術(shù),就沒有《阿凡達(dá)》的誕生和成功。
詹姆斯·卡梅隆在其影片中大量使用計算機(jī)影像技術(shù)已經(jīng)不是什么新鮮事,早在20世紀(jì)90年代,他就以一部《泰坦尼克號》震撼了全球影迷及電影工作者,大量逼真的計算機(jī)建模及電腦合成影像,成就了《泰坦尼克號》的輝煌。
對于國內(nèi)專業(yè)影視工作者而言,利用計算機(jī)影音制作已經(jīng)多年,現(xiàn)今已發(fā)展到一個較成熟的階段,但與好萊塢相比,仍有顯著的差距。好萊塢多年以前已經(jīng)在影音制作中運用網(wǎng)絡(luò)系統(tǒng)與分布式處理技術(shù)及團(tuán)隊化的工作模式,極大提高處理能力和效率;而國內(nèi)主要還處在一個單機(jī)系統(tǒng)為主,手工作坊式的工作模式。在某種意義上說,由于技術(shù)層面的差異,也制約了國內(nèi)影視及音樂工業(yè)的發(fā)展。
國內(nèi)著名導(dǎo)演張藝謀在2010年“兩會”期間,以全國政協(xié)委員的身份,基于《阿凡達(dá)》現(xiàn)象,提出一份“關(guān)于借鑒《阿凡達(dá)》現(xiàn)象,培養(yǎng)跨計算機(jī)、工科、理科的電影專業(yè)導(dǎo)演高端人才”的提案,這一提案的背后是張藝謀委員從創(chuàng)造全球票房奇跡的3D電影《阿凡達(dá)》中獲得的啟示與思考。張藝謀在提案中提到:“《阿凡達(dá)》絕對是電影界史無前例的大作,我們確實還差得很遠(yuǎn)。中國電影要發(fā)展,要創(chuàng)新,必須要培養(yǎng)既懂藝術(shù)又懂現(xiàn)代信息技術(shù)的復(fù)合型、外向型人才?!?/p>
本文將從技術(shù)層面對計算機(jī)網(wǎng)絡(luò)系統(tǒng)中的分布式處理技術(shù)進(jìn)行簡單的軟硬件方面的分析和探討,嘗試分析國內(nèi)外在技術(shù)應(yīng)用上的差異,并對未來的發(fā)展提出自己的分析和觀點。
分布式系統(tǒng)(Distributed System)是建立在網(wǎng)絡(luò)之上的進(jìn)行分布式計算的軟件系統(tǒng)。而分布式計算是一種把需要進(jìn)行大量計算的工程數(shù)據(jù)分割成小塊,由多臺計算機(jī)分別計算,在上傳運算結(jié)果后,將結(jié)果統(tǒng)一合并得出數(shù)據(jù)結(jié)論的工作模式。因為其軟件的特性,分布式系統(tǒng)具有高度的內(nèi)聚性和透明性。因此,網(wǎng)絡(luò)和分布式系統(tǒng)之間的區(qū)別更多的在于高層軟件(特別是操作系統(tǒng)),而不是硬件。簡單而言,一個分布式系統(tǒng)是為完成共同任務(wù)而相互連接的若干個獨立的網(wǎng)絡(luò)計算機(jī)的集合,但是對該系統(tǒng)的用戶來說,系統(tǒng)就像一臺計算機(jī)一樣。其中“分布”一詞特指計算機(jī)網(wǎng)絡(luò)中各節(jié)點在地理位置上相互離散。在網(wǎng)絡(luò)技術(shù)高度發(fā)展的今天,日常應(yīng)用中經(jīng)常會接觸到分布式處理的相關(guān)技術(shù),如360軟件中的云查殺病毒功能、Windows中的分布式文件系統(tǒng)和服務(wù)都是分布式技術(shù)的典型應(yīng)用。
而分布式軟件系統(tǒng)(Distributed Software Systems)是支持分布式處理的系統(tǒng)軟件,是在由通信網(wǎng)絡(luò)互聯(lián)的多處理機(jī)體系結(jié)構(gòu)上執(zhí)行任務(wù)的系統(tǒng)。它包括分布式操作系統(tǒng)、分布式程序設(shè)計語言及其編譯(解釋)系統(tǒng)、分布式文件系統(tǒng)和分布式數(shù)據(jù)庫系統(tǒng)等。分布式系統(tǒng)的特點:無主從區(qū)分;計算機(jī)之間交換信息;資源共享;相互協(xié)作完成一個共同任務(wù)。使用分布式系統(tǒng)有這樣一些優(yōu)點:方便使用;強(qiáng)壯性和可靠性;資源共享;可擴(kuò)展性;提高最終用戶的生產(chǎn)效率;維護(hù)方便。
在一個分布式系統(tǒng)中,一組獨立的計算機(jī)展現(xiàn)給用戶的是一個統(tǒng)一的整體,就好像是一個獨立系統(tǒng)。系統(tǒng)擁有多種通用的物理和邏輯資源,可以動態(tài)地分配任務(wù),分散的物理和邏輯資源通過計算機(jī)網(wǎng)絡(luò)實現(xiàn)信息交換。系統(tǒng)中存在一個以全局的方式管理計算機(jī)資源的分布式操作系統(tǒng)。對用戶來說,分布式系統(tǒng)只有一個模型或范型。在操作系統(tǒng)之上有一層軟件中間件(MiddleWare)負(fù)責(zé)實現(xiàn)這個模型。一個著名的分布式系統(tǒng)的例子就是為人所熟知的萬維網(wǎng)(World Wide Web),在萬維網(wǎng)中,所有的一切看起來就好像是一個HTML超文本文檔(Web頁面)一樣。
分布式系統(tǒng)和計算機(jī)網(wǎng)絡(luò)系統(tǒng)的共同點:多數(shù)分布式系統(tǒng)是建立在計算機(jī)網(wǎng)絡(luò)之上的,所以分布式系統(tǒng)與計算機(jī)網(wǎng)絡(luò)在物理結(jié)構(gòu)上是基本相同的。其中,共享稀有資源和平衡負(fù)載是計算機(jī)分布式計算的核心思想之一。它們的區(qū)別在于:分布式操作系統(tǒng)的設(shè)計思想和網(wǎng)絡(luò)操作系統(tǒng)是不同的,這決定了它們在結(jié)構(gòu)、工作方式和功能上也不同。網(wǎng)絡(luò)操作系統(tǒng)要求網(wǎng)絡(luò)用戶在使用網(wǎng)絡(luò)資源時首先必須了解網(wǎng)絡(luò)資源,網(wǎng)絡(luò)用戶必須知道網(wǎng)絡(luò)中各個計算機(jī)的功能與配置、軟件資源、網(wǎng)絡(luò)文件結(jié)構(gòu)等情況;分布式操作系統(tǒng)是以全局方式管理系統(tǒng)資源的,它可以為用戶任意調(diào)度網(wǎng)絡(luò)資源,并且調(diào)度過程是“透明”的。當(dāng)用戶提交一個作業(yè)時,分布式操作系統(tǒng)能夠根據(jù)需要在系統(tǒng)中選擇最合適的處理器,將用戶的作業(yè)提交到該處理程序,在處理器完成作業(yè)后,將結(jié)果傳給用戶。在這個過程中,用戶并不會意識到有多個處理器存在,整個(具有多個處理器的)系統(tǒng)就像是一個處理器一樣。
1)資源的充分利用。把多個不同的系統(tǒng)連接起來,可向用戶提供更為豐富的資源,以滿足不同用戶的應(yīng)用需求。一個節(jié)點機(jī)的用戶不僅可使用本機(jī)的局部資源,還可方便地使用各種遠(yuǎn)程資源,特別是一些專門用途的設(shè)備(如高速陣列計算機(jī))。分布式系統(tǒng)一般都提供這樣的資源共享機(jī)構(gòu):共享遠(yuǎn)程文件,訪問分布式數(shù)據(jù)庫,使用遠(yuǎn)程專用硬設(shè)備等。此外,從經(jīng)濟(jì)角度看,一個由微型機(jī)組成的分布式系統(tǒng),其造價通常要遠(yuǎn)低于一臺大型通用計算機(jī)系統(tǒng)。
2)加速作業(yè)的運行。如果一個用戶作業(yè)可以分割成若干可并發(fā)執(zhí)行的作業(yè)步,則可把該作業(yè)分布在不同的節(jié)點機(jī)上并使各作業(yè)步并發(fā)執(zhí)行,從而減少一個作業(yè)的周轉(zhuǎn)時間。此外,如果某節(jié)點機(jī)當(dāng)前收容的作業(yè)已超載,那么可以將某些作業(yè)遷移到其他低負(fù)載的節(jié)點機(jī)上。這種作業(yè)的遷移也是一種資源共享,稱為負(fù)載共享。
3)提高可靠性。一個分布式系統(tǒng)一般具有這樣的容錯能力:如果一個節(jié)點機(jī)發(fā)生故障,仍可保證整個系統(tǒng)繼續(xù)工作。對于具有專用節(jié)點機(jī)的分布式系統(tǒng),這種專用節(jié)點機(jī)通常是小型機(jī)或微型機(jī),它負(fù)責(zé)某種專門的系統(tǒng)服務(wù)功能(如文件服務(wù)),如果某個專用節(jié)點機(jī)發(fā)生故障,就有可能導(dǎo)致整個系統(tǒng)的崩潰。解決這種問題的通常做法是提供冗余的軟硬資源和系統(tǒng)自檢以及置換和恢復(fù)手段。當(dāng)系統(tǒng)檢測到某個專用節(jié)點機(jī)已失效,就用其他節(jié)點機(jī)來取而代之,在失效節(jié)點機(jī)被修復(fù)之后,可以再將它重新連接回系統(tǒng)內(nèi)。
4)方便用戶通信。在一個分布式系統(tǒng)中,不同節(jié)點機(jī)的用戶可以方便地相互交換信息。系統(tǒng)支持的用戶通信功能包括文件傳送、遠(yuǎn)程登錄以及電子郵件。不同節(jié)點機(jī)上的2個用戶可以利用用戶通信功能共同完成某項應(yīng)用任務(wù)。通過文件傳送,他們可以共享對方的文件;通過遠(yuǎn)程登錄,可以在對方的機(jī)器上運行程序;通過電子郵件,他們可隨時交換信息,協(xié)調(diào)任務(wù)的進(jìn)行。
要真正實現(xiàn)一個實際可行的分布式處理系統(tǒng),需要滿足以下多方面的條件。
1)網(wǎng)絡(luò)構(gòu)架。通過分布式系統(tǒng)的定義可以知道,分布式系統(tǒng)從整體結(jié)構(gòu)上和網(wǎng)絡(luò)是非常相似的,分布式系統(tǒng)是構(gòu)建在網(wǎng)絡(luò)硬件基礎(chǔ)之上的上層應(yīng)用。因此,要構(gòu)建分布式系統(tǒng),首先要組建基本的網(wǎng)絡(luò)系統(tǒng),根據(jù)實際使用的目標(biāo)不同,需要從組網(wǎng)的角度多方面考慮網(wǎng)絡(luò)的構(gòu)成,如連接方式、拓?fù)浣Y(jié)構(gòu)、帶寬因素、主從關(guān)系等。當(dāng)然,在同等條件下,網(wǎng)絡(luò)帶寬越寬、節(jié)點數(shù)量越多,所組成的系統(tǒng)效率將會越高。
2)硬件系統(tǒng)。分布式系統(tǒng)的最終應(yīng)用,還是要基于分布式網(wǎng)絡(luò)中各節(jié)點的實際運算。因此,在構(gòu)成一個基本的分布式系統(tǒng)的時候,除考慮宏觀的網(wǎng)絡(luò)結(jié)構(gòu)之外,還需考慮每個節(jié)點的實際硬件系統(tǒng),提高單個節(jié)點的處理能力,將有效地提高整個系統(tǒng)的處理能力。因此,在實際構(gòu)建系統(tǒng)的時候,應(yīng)考慮節(jié)點的核心數(shù)量、內(nèi)存大小、硬盤存儲容量及內(nèi)部總線帶寬等因素。
3)操作系統(tǒng)。硬件系統(tǒng)只是構(gòu)建起基本的物質(zhì)基礎(chǔ),要充分發(fā)揮硬件的能力還需要操作系統(tǒng)的有效管理,不同的操作系統(tǒng)在功能上側(cè)重各有不同,因此需要根據(jù)分布式系統(tǒng)的最終需求來選擇合適的操作系統(tǒng)。如Windows和Mac一類的圖形化操作系統(tǒng)側(cè)重于個人桌面型的應(yīng)用,在構(gòu)建復(fù)雜的網(wǎng)絡(luò)系統(tǒng)的時候效率相對較低;Unix及Linux等網(wǎng)絡(luò)操作系統(tǒng),雖然人機(jī)界面沒有Windows那么友好,但在提供網(wǎng)絡(luò)管理和服務(wù)方面能力較強(qiáng),而且效率較高,因此根據(jù)需要可以考慮選擇。
4)軟件系統(tǒng)。分布式系統(tǒng)的最終目的是利用網(wǎng)絡(luò)系統(tǒng)完成在特定領(lǐng)域中的運算、管理、存儲等方面的應(yīng)用,在構(gòu)建起網(wǎng)絡(luò)系統(tǒng),有了合適的硬件系統(tǒng)和操作系統(tǒng)之后,還應(yīng)該選擇合適的軟件系統(tǒng)。常規(guī)的很多軟件都是為獨立處理系統(tǒng)而設(shè)計的,要想利用集群來完成應(yīng)用,就需要軟件在設(shè)計過程中充分考慮分布式系統(tǒng)的需求,合理設(shè)計,才能充分發(fā)揮分布式系統(tǒng)軟硬件的能力,實現(xiàn)有效的應(yīng)用。
5)存儲系統(tǒng)。分布式系統(tǒng)在實際應(yīng)用中,存在大量的數(shù)據(jù)交換和運算,因此,要求整個系統(tǒng)要有足夠容量和安全有效的存儲系統(tǒng),通常需要考慮每個節(jié)點配備容量、速度、安全性合適的存儲設(shè)備,同時在中央節(jié)點需要考慮使用如RAID一類的系統(tǒng)以提高冗余度的方式來提供數(shù)據(jù)安全性。
發(fā)行于1997年的《泰坦尼克》(Titanic),是第一部在Linux下利用分布式視頻技術(shù)渲染特技效果的大片。該片的制作是用DEC公司的基于Alfa的100多臺高性能服務(wù)器協(xié)同運算了3個多月以后的成果。在做出利用Linux制作《泰坦尼克》的大膽決策之前,著名的特技工作室Digital Domain早已證實Linux可以與他們使用的SGI集群工作站兼容。今天,Linux集群工作站技術(shù)已日臻成熟。
2009年詹姆斯?卡梅隆導(dǎo)演的巨作《阿凡達(dá)》(Avatar)好評如潮,觀眾無不被片中呈現(xiàn)的美輪美奐的畫面所震撼。影片中驚人的動畫效果實際是由一家位于新西蘭惠靈頓的名為WETA Digital(威塔數(shù)碼)的公司渲染制作的。WETA Digital因為給《魔戒》(Lord of the Rings)制作特效而受到業(yè)界矚目,其實還有不少電影,如《金剛》(King Kong)、《機(jī)械公敵》(The Robot)、《神奇四俠》(Fantastic Four)等,以及2010年異?;鸨摹?012》,也都是由WETA Digital制作的特效。從現(xiàn)有資料看,國內(nèi)的導(dǎo)演還沒有創(chuàng)建過類似的公司,當(dāng)然,國內(nèi)電影工業(yè)中對動畫特效的運用與理解比起好萊塢還有一段距離。
WETA Digital的計算集群在2008重新進(jìn)行設(shè)計,采用HP Cluster Platform 3000BL集群平臺作為其解決方案,操作系統(tǒng)是Linux,在TOP500超級計算機(jī)中排名也從最初的400多名上升到190多名。這套環(huán)境在2008年的時候是4 096個核心,到2009年增加到5 936個。
整部《阿凡達(dá)》大約3 PB(1 PB=1 000 TB)的數(shù)據(jù)存放在BlueArc和NetApp的存儲上,數(shù)據(jù)傳輸使用光纖通道。電影完成后一幀的數(shù)據(jù)是12 MB,一秒鐘24幀,每分鐘的數(shù)據(jù)就有17.28 GB。而整部《阿凡達(dá)》長達(dá)160多分鐘,其數(shù)據(jù)量之大可想而知,在目前普通用戶的計算機(jī)上是不可能存放這樣的一部電影,同時也是沒辦法播放的。
圖1 WETA Digital使用的超過4 000臺的HP刀片服務(wù)器
圖2 服務(wù)器集群的水冷制冷系統(tǒng)
制作《阿凡達(dá)》特效的超級Linux計算機(jī),渲染服務(wù)器采用的是RHEL(Red Hat Enterprise Linux)Cluster系統(tǒng),節(jié)點數(shù)超過4 000臺以上;服務(wù)器硬件采用的是惠普面向高性能計算推出的刀片服務(wù)器BL2x220c,其獨到之處是1個刀片內(nèi)放2臺服務(wù)器,每服務(wù)器有2個4核CPU,使用Intel Xeon處理器(支持EM64T技術(shù));使用基于Linux的64位3D建模和渲染軟件;內(nèi)聯(lián)采用萬兆以太網(wǎng)以滿足數(shù)據(jù)交換要求。圖1為WETA Digital使用的超過4 000臺的HP刀片服務(wù)器。圖2為服務(wù)器集群的水冷制冷系統(tǒng)。
值得高興的是,國內(nèi)電影人也開始認(rèn)識到應(yīng)用分布式技術(shù)進(jìn)行影視特效的制作和處理的重要性,并不斷在其作品中與國外機(jī)構(gòu)合作進(jìn)行特效制作。2003年,張藝謀在拍攝《英雄》時,選擇澳大利亞的Animal Logic公司來實現(xiàn)他在影片中的創(chuàng)意。澳大利亞的數(shù)字效果制作技師讓《英雄》中宏大的戰(zhàn)爭場面真正震撼人心。2010年7月上映的馮小剛導(dǎo)演的《唐山大地震》,其中4分鐘的大地震場景的特效,是由WETA Digital來進(jìn)行制作的。WETA Digital為《唐山大地震》制作了整條街道的模型,又借用德國的模仿地震的設(shè)備和軍用掃描器,邀請韓國特效小組做地裂,才得以實現(xiàn)影片中令人震撼的地震效果。
這樣的例子還有很多,如馮小剛導(dǎo)演的《大腕》和《手機(jī)》、何平導(dǎo)演的《天地英雄》都是在澳大利亞進(jìn)行的后期制作;黃健中導(dǎo)演的《我的1919》和葉纓導(dǎo)演的《紅色戀人》也是通過在澳大利亞的合作完成的。
當(dāng)然所有這些熒幕上成功,其幕后技術(shù)也主要是基于分布式系統(tǒng)的。
就目前國內(nèi)普通媒體制作的現(xiàn)狀而言,在經(jīng)濟(jì)條件、技術(shù)能力和運作方式等方面與國外還有很大差異,不可能像小部分高投入電影一樣使用國外機(jī)構(gòu)進(jìn)行后期制作,所以基本都還處于基于單機(jī)系統(tǒng)編輯制作的方式。不過令人欣慰的是,在現(xiàn)有的基于PC和Mac平臺下出現(xiàn)很多利用網(wǎng)絡(luò)技術(shù)和分布式處理技術(shù)的軟硬件系統(tǒng),能在一定程度上有效提高媒體的編輯和制作能力。
眾所周知,視頻編輯后期進(jìn)行視頻合成與編碼階段需要消耗大量的系統(tǒng)資源,運算量大,運算時間長。因此在網(wǎng)絡(luò)時代,分布式媒體制作的技術(shù)最先發(fā)軔于視頻編輯制作領(lǐng)域,并逐步形成一個全新的分布式視頻編碼理論技術(shù)體系?!栋⒎策_(dá)》可以說是該技術(shù)體系的一個典型的成功范例。
分布式視頻編碼(Distributed Video Coding)基于Slepian-Wolf理論和Wyner-Ziv理論,對2個或多個獨立同分布的信源進(jìn)行獨立編碼,然后由單一解碼器利用信源之間的相關(guān)性對所有編碼的信源進(jìn)行聯(lián)合解碼。
目前在PC平臺上常見的視頻分布式合成與編碼的軟件有SONY Vegas和Royal Render等。
1)SONY Vegas。在常用的視頻編輯軟件中,SONY Vegas是比較常用的一個,在其早期版本中,軟件開發(fā)人員就開始網(wǎng)絡(luò)分布式視頻渲染的嘗試,發(fā)展到目前的9.0版本,技術(shù)已經(jīng)比較成熟。
做過視頻編輯的用戶都知道,在視頻編輯基本完成后,要得到編輯成品就必須將所編輯的各類影像素材、聲音素材和特效按照所需的編碼格式,使用Render(渲染)的方式合成為最終的媒體文件。由于視頻渲染在不使用昂貴的專業(yè)視頻壓縮卡的情況下將完全利用計算機(jī)處理器來進(jìn)行運算,對系統(tǒng)資源消耗非常大,通常做視頻渲染的主機(jī)CPU將是滿負(fù)荷運算,而且渲染過程耗時都非常長,根據(jù)主機(jī)配置不同以及編輯內(nèi)容和特效的復(fù)雜程度不同,渲染時間一般都是被渲染視頻長度的數(shù)倍至十?dāng)?shù)倍。而且,在后期的制作中,如果對渲染的成品有部分改動,還需要重復(fù)渲染,整個渲染的時間都非常長,大大降低后期編輯的效率。
在SONY Vegas中提供了Network Render Service(網(wǎng)絡(luò)渲染服務(wù))功能,在安裝Vegas以后,可以根據(jù)需要安裝和激活該服務(wù)。利用該服務(wù),允許用戶使用局域網(wǎng)中的多臺計算機(jī)作為渲染的主機(jī),并行地對同一個視頻渲染任務(wù)進(jìn)行分布式的網(wǎng)絡(luò)渲染。Vegas的Network Render Service還會自動根據(jù)網(wǎng)絡(luò)中各渲染節(jié)點的實際處理能力均衡地進(jìn)行任務(wù)的分配,充分利用網(wǎng)絡(luò)資源和各節(jié)點的處理器資源。在各節(jié)點完成各自的渲染任務(wù)之后,再交由渲染任務(wù)提請的主機(jī)對各節(jié)點渲染結(jié)果進(jìn)行組合,完成一個完整的渲染成品。
當(dāng)然,要使用Vegas的Network Render Service服務(wù),需要具備一定的軟硬件條件:100 M以上的高速局域網(wǎng)絡(luò),滿足大數(shù)據(jù)量的網(wǎng)絡(luò)交換需求;SONY Vegas是為Windows系統(tǒng)設(shè)計的非線性編輯軟件,所以網(wǎng)絡(luò)渲染服務(wù)只能運行于Windows XP以上的操作系統(tǒng);參與網(wǎng)絡(luò)渲染的各主機(jī)需要將用于存儲交換數(shù)據(jù)的目錄權(quán)限完全打開,便于數(shù)據(jù)交換;再有就是購買同一渲染集群的注冊序列號和激活碼,使之可以協(xié)同工作,在常規(guī)情況下,Vegas允許同一組序列號和激活碼工作在最多3臺主機(jī)上。
正確安裝和設(shè)置好Network Render Service,在項目編輯完成后,在Render As選項中選擇使用Render Using Networked Computers選項,就可以利用配置好的網(wǎng)絡(luò)渲染主機(jī)來完成分布式網(wǎng)絡(luò)渲染任務(wù)了。
在實際測試中,使用相同的2臺主機(jī),渲染一段2分鐘的SONY AVCHD 1440×1080i高清視頻到720×576i DVD(MPEG-2),分別使用單機(jī)和網(wǎng)絡(luò)方式進(jìn)行渲染,渲染時間:單機(jī)渲染5分20秒,2臺機(jī)器同時渲染3分16秒。由此可見,使用網(wǎng)絡(luò)渲染確實可以提高渲染的效率,但實際工作效率受到網(wǎng)絡(luò)和主機(jī)條件的限制,而且協(xié)同工作需要額外占用一些系統(tǒng)資源,并非增加一臺渲染主機(jī)就能成比例地降低渲染時間,工作效率要比理論上低一些。
2)Royal Render。Binary Alchemy Royal Render是一款強(qiáng)大的渲染任務(wù)管理軟件,它可以從圖形工作站上向各個節(jié)點的機(jī)器分配渲染任務(wù),以使所有的客戶端工作站對指定的部分進(jìn)行渲染;它可適用于主流的3D軟件,如Lightwave、Maya、XSI、Shake、Nuke、Digital Fusion、3Ds Max、After FX、Combustion、MentalRay等主流三維軟件,以及其他支持命令行渲染的工具。Royal Render是在Render Farm上管理渲染任務(wù)的強(qiáng)大工具,可以在任何圖形工作站上遠(yuǎn)程發(fā)送渲染任務(wù),這些任務(wù)將自動在渲染服務(wù)器的客戶端上被渲染。
無論是使用Mac還是PC,甚至是PDA,用戶都可以在線查看渲染進(jìn)度。軟件的渲染分析功能可以顯示哪些客戶端在渲染,以及內(nèi)存使用情況。如果渲染崩潰或者客戶端不再響應(yīng),用戶可以得到E-mail通知。即使在一個任務(wù)發(fā)送之后仍然可以修改渲染設(shè)置選項。有問題的渲染文件和圖像會自動被刪除并重新渲染。智能解決隔幀渲染分發(fā)的一些小問題(使用網(wǎng)絡(luò)渲染小樣時經(jīng)常使用),也可以解決諸如Shake和Lightwave不支持“跳過已存在幀”進(jìn)行渲染的問題。
使用Royal Render,可以縮短管理時間,把用戶的時間用于其他更重要的事情。Royal Render支持多達(dá)400個客戶端,支持多達(dá)3 000個渲染任務(wù),占用更少的CPU資源。
實際上,Royal Render代表了一類叫做Render Farm(渲染農(nóng)場)的管理軟件,Royal Render只是其中目前較常見的一種。Render Farm是一種通俗的叫法,實際上規(guī)范的名稱是“分布式并行集群計算系統(tǒng)”,這是一種利用現(xiàn)有的CPU、以太網(wǎng)和操作系統(tǒng)構(gòu)建的超級計算機(jī),它使用主流的商業(yè)計算機(jī)硬件設(shè)備達(dá)到或接近超級計算機(jī)的計算能力。
而集群(Cluster)則指的是一組計算機(jī)通過通信協(xié)議連接在一起的計算機(jī)群,它們能夠?qū)⒐ぷ髫?fù)載從一個超載的計算機(jī)遷移到集群中的其他計算機(jī)上,這一特性稱為負(fù)載均衡(Load Balancing),它的目標(biāo)是使用主流的硬件設(shè)備組成網(wǎng)格計算能力,達(dá)到甚至超過天價的超級計算機(jī)的計算性能。前面提到的WETA Digital所使用的系統(tǒng)實際上也屬于分布式并行集群計算系統(tǒng)。
目前市場上集群渲染管理軟件較多,如歐雷公司的Ultra Render,多平臺網(wǎng)絡(luò)渲染管理系統(tǒng)Deadline、Pipelinefx公司開發(fā)的qube!等主流集群渲染管理軟件,此外還有Platform LSF(從SGI移植的渲染管理軟件)、Enfuzion(交叉平臺的渲染管理軟件)、Rush等。一般渲染管理軟件都會支持主流的三維軟件(如Maya、Softimage、3Ds Max、Shake、Nuke、Mental ray等),并且提供開放的API結(jié)構(gòu)。
渲染農(nóng)場是基于軟件和硬件應(yīng)用的完美結(jié)合,可采用基于微軟Windows的渲染農(nóng)場,也可采用Unix及Linux核心的操作系統(tǒng),利用現(xiàn)行的網(wǎng)絡(luò)管理方式,制定和管理復(fù)雜的和跨平臺的高級3D和2D網(wǎng)絡(luò)渲染解決方案。渲染農(nóng)場獨特的構(gòu)架消除了對集中“管理器”的需求。其主要特點是:高性能、良好的兼容性、良好的用戶界面、對當(dāng)前各種渲染包的良好支持、多個工作時間表選項、管理和審查等。
計算機(jī)音樂技術(shù)從20世紀(jì)80年代的純MIDI技術(shù)發(fā)展到現(xiàn)今的MIDI與高質(zhì)量音頻技術(shù)及虛擬樂器、效果器技術(shù)高度結(jié)合,對于計算機(jī)處理能力的要求大大提高。在很多復(fù)雜的專業(yè)應(yīng)用中,盡管有了像Pro Tools HD這一類昂貴的軟硬件一體的高性能音樂工作站,單機(jī)系統(tǒng)的處理能力還是顯得力不從心。因此在過去的很多年中,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,技術(shù)人員也嘗試在計算機(jī)音樂及相關(guān)領(lǐng)域中引入網(wǎng)絡(luò)技術(shù)及分布式處理技術(shù),提高計算機(jī)音樂制作和處理的能力和效率,以下是一些相關(guān)應(yīng)用的簡單分析。
1)CobraNet和EtherSound。以太網(wǎng)上傳輸音頻信號是近幾年來專業(yè)計算機(jī)音頻行業(yè)的一個技術(shù)熱點,也是日后專業(yè)工程項目中的一個重要的傳輸技術(shù)環(huán)節(jié)。因為它是不依賴于控制系統(tǒng)而獨立存在的一個產(chǎn)品,可以廣泛地應(yīng)用到很多的不同項目中去,一方面解決多線纜的布線困難問題,同時也解決遠(yuǎn)距離傳輸、數(shù)據(jù)備份、自動冗余等一系列在模擬傳輸時代所無法面對的問題。
目前比較成熟的以太網(wǎng)音頻傳輸技術(shù)主要是CobraNet和EtherSound技術(shù),前者已經(jīng)開發(fā)和使用多年,用戶較多,交互性好,缺點是網(wǎng)絡(luò)延時長;而后者主要解決了延時的問題,但是開發(fā)和使用普及程度稍差。兩者在技術(shù)上各有特點,現(xiàn)簡單分析兩種網(wǎng)絡(luò)的應(yīng)用區(qū)別,便于了解網(wǎng)絡(luò)化在音頻傳輸中的應(yīng)用。
①CobraNet網(wǎng)絡(luò)是美國PeakAudio公司開發(fā)的一種在以太網(wǎng)上傳輸專業(yè)非壓縮音頻信號的技術(shù),它在100 M以太網(wǎng)下單向可以傳輸64個48 kHz、20 bit的音頻信號通道(48 kHz、24 bit信號為56路);除音頻信號外,還可以傳輸RS485串口通信數(shù)據(jù)及其他非同步IP數(shù)據(jù);開放的MIB文件,支持SNMP。使用模塊化的CM-1可以方便地將音頻信號轉(zhuǎn)換為CobraNet信號,具有成型的軟件工具包(SDK)和API。
②EtherSound網(wǎng)絡(luò)是由法國Digigram公司開發(fā)的一種基于以太網(wǎng)傳輸音頻信號的技術(shù),傳輸能力為100 M以太網(wǎng)下單向64個24 bit、48 kHz(或44.1 kHz)的音頻通道。雖然它不能傳遞串口信號以及其他IP數(shù)據(jù),但是其技術(shù)最大的亮點就是極低的延時,因此EtherSound技術(shù)最適合應(yīng)用到現(xiàn)場演出中。
2)mLAN。在專業(yè)數(shù)字音樂制作領(lǐng)域中,硬件系統(tǒng)越來越復(fù)雜,其中一個原因就是設(shè)備多、電纜多、連接復(fù)雜、同步困難、控制難度大。通常每個設(shè)備、不同的輸入輸出都有專門的纜線連接,如果遇到大型制作和演出系統(tǒng),同時考慮連接的準(zhǔn)確性,問題還會變得更加復(fù)雜。這些情況在一定程度上增加了構(gòu)建成本和構(gòu)建難度,降低了系統(tǒng)的靈活性、有效性和穩(wěn)定性。
普通計算機(jī)音樂系統(tǒng)使用不同的電纜傳輸MIDI、音頻、字時鐘和同步數(shù)據(jù),而YAMAHA的mLAN(圖3)技術(shù)通過一條IEEE 1394(火線)標(biāo)準(zhǔn)電纜在網(wǎng)絡(luò)中2個設(shè)備間傳輸所有信號。使用mLAN技術(shù)可以簡便快捷地使計算機(jī)與電子合成器、調(diào)音臺、各種MIDI設(shè)備、數(shù)字音頻設(shè)備等相互連接,規(guī)范地進(jìn)行聲音、MIDI數(shù)據(jù)的收發(fā)與處理,無需擔(dān)心連接設(shè)備的順序。mLAN支持熱插拔,在插拔設(shè)備時不必關(guān)閉或重啟系統(tǒng)。動態(tài)連接,即僅在有請求時占用帶寬。
圖3 YAMAHA mLAN硬件接口
第一代的mLAN連接帶寬為200 Mbps,可以同時傳送256個通道的MIDI數(shù)據(jù),或100軌道的24 bit/44.1 kHz格式數(shù)字音頻。2003年開始采用的第二代的通信速度增加到400 Mbps,可以同時傳送512個通道的MIDI數(shù)據(jù),或200軌道的數(shù)字音頻數(shù)據(jù)。利用IEEE 1394的高速傳輸能力,大大節(jié)約使用電纜連接的長度,同時也降低連接的復(fù)雜程度,提高系統(tǒng)有效性和工作效率。
使用提供的連接管理軟件,可以輕松配置系統(tǒng),根據(jù)需要連接或斷開設(shè)備,不必插拔設(shè)備或改變電纜連接,僅需要改變計算機(jī)的路徑或配置。路徑信息被保存,當(dāng)有電源斷電的情況,配置信息自動被設(shè)置。
mLAN的優(yōu)點:音頻和MIDI數(shù)據(jù)直接進(jìn)入PC/Mac,無需專門配置音頻卡;從任何輸入進(jìn)入到任何輸出。缺點是必須購買mLAN的硬件接口,增加硬件成本,沒有1394的設(shè)備便無法連接。
3)Logic Pro的網(wǎng)絡(luò)分布式音頻處理。Mac系統(tǒng)下的Logic音樂音頻制作系統(tǒng)從Logic Pro 7開始創(chuàng)新地提供了強(qiáng)大的分布式音頻處理技術(shù)DAP(Distributed Audio Processing)。此技術(shù)與視頻后期工作站采用的分布式渲染技術(shù)類似,利用TCP/IP技術(shù),在同一網(wǎng)段下,主機(jī)將音軌上的DSP音頻運算任務(wù)分發(fā)到啟動Logic Node服務(wù)的其他節(jié)點上,借助這些節(jié)點的CPU進(jìn)行DSP運算,計算完成后再將結(jié)果發(fā)回主機(jī)。采用分布式音頻處理技術(shù),使整套Logic系統(tǒng)變得更為靈活與高效。在該技術(shù)出現(xiàn)之前,音樂制作人員需要借助音頻卡的DSP資源和CPU的處理能力,但是由于單個工作站的DSP資源總是有限的,所以反過來會限制音頻項目的處理能力和創(chuàng)新的制作手段。
在Logic Pro中并不是將MIDI信息發(fā)送到網(wǎng)絡(luò)中傳輸,而是將所有效果器、虛擬樂器的運算工作均衡地分配給每個節(jié)點上,有效提高整個系統(tǒng)的處理效率。
在Logic Pro全球巡展的演示中,曾使用一臺PowerBook筆記本電腦完成極為復(fù)雜和繁重的Logic演示工作,最大的一個項目打開110條音軌,使用170個效果器。之所以能提供如此強(qiáng)大的音頻處理能力而沒有在現(xiàn)場出現(xiàn)任何故障,是因為采用分布式音頻處理技術(shù),將PowerBook筆記本上的運算壓力,通過一根800 M帶寬的火線分擔(dān)給一臺Power Mac G5臺式機(jī)。稍微有點遺憾的是Logic的這種分布式音頻處理技術(shù)目前只能工作在Mac操作系統(tǒng)下,而且必須配合Logic Pro音樂制作系統(tǒng)才能完成相應(yīng)的功能。
該系統(tǒng)的主要優(yōu)點:①真正的分布式運算系統(tǒng);②從機(jī)節(jié)點只需要安裝專用的Logic節(jié)點軟件,而非龐大的Logic Pro系統(tǒng),降低節(jié)點的成本和維護(hù)難度。該系統(tǒng)的主要缺點:①必須使用千兆網(wǎng)絡(luò),百兆網(wǎng)絡(luò)不能使用分布式計算;②Mac系統(tǒng)下的Audio Unit格式的插件不能進(jìn)行分布式計算。
4)Nuendo與Cubase的網(wǎng)絡(luò)數(shù)字音頻功能。Nuendo和Cubase是音樂制作軟件中最受歡迎的系列軟件之一。Steinberg積累了近15年的發(fā)展經(jīng)驗,將音樂家的所有需要和最新技術(shù)都濃縮到最先進(jìn)的Nuendo之中。有了Nuendo,用戶不再需要任何其他昂貴的音頻硬件設(shè)備、頻繁更新音頻硬件設(shè)備就能獲得非常強(qiáng)大的音頻工作站。Nuendo提供許多強(qiáng)大的功能,比如支持VST2.0 Plug-ins、虛擬Instrument以及ASIO2.0兼容音頻硬件的智能化自動MIX處理等。
除了Nuendo強(qiáng)大的單機(jī)系統(tǒng)能力外,由Nuendo所支持的VST System Link技術(shù)使得用戶能夠通過多臺計算機(jī)的相互連接以形成龐大的系統(tǒng)工程,從而完成巨大數(shù)據(jù)量的項目。利用VST System Link技術(shù),安裝有Cubase SX或Nuendo系統(tǒng)的多臺計算機(jī)就可以利用以太網(wǎng)絡(luò)實現(xiàn)MIDI信息和音頻信息的網(wǎng)絡(luò)互聯(lián),而不必依賴昂貴的專用MIDI和音頻接口。
使用VST Syetem Link的優(yōu)點:可以直接在Nuendo、Cubase及相互間進(jìn)行互聯(lián);可以直接進(jìn)行音頻數(shù)據(jù)和VST插件的互聯(lián)和分布式處理。當(dāng)然該系統(tǒng)也有其不足:每個節(jié)點必須安裝Nuendo或Cubase;只能在Nuendo和Cubase軟件之間互聯(lián);數(shù)字音頻接口必須支持較低的延遲ASIO驅(qū)動;對某些型號的音頻接口兼容性不太好。
5)局域網(wǎng)MIDI及音頻傳輸技術(shù)。通常支持網(wǎng)絡(luò)化處理或分布式處理技術(shù)的軟硬件系統(tǒng)成本都比較高昂,對于普通的音樂制作者而言都難以承受。因此,很多軟件開發(fā)者嘗試開發(fā)基于局域網(wǎng)的通用型的網(wǎng)絡(luò)化MIDI及音頻傳輸軟件。利用此類軟件,用戶可以利用局域網(wǎng)進(jìn)行多節(jié)點的MIDI信息或音頻信息的傳輸,甚至在一定程度上實現(xiàn)分布式處理任務(wù)。此類軟件的出現(xiàn),解決了很多預(yù)算有困難的音樂工作者利用網(wǎng)絡(luò)進(jìn)行MIDI和音頻制作的困境,為網(wǎng)絡(luò)化和分布式技術(shù)應(yīng)用作出有益的貢獻(xiàn)。
隨著軟件技術(shù)的發(fā)展,目前出現(xiàn)很多該類型的軟件,軟件數(shù)量較多,類型也較雜。通過對互聯(lián)網(wǎng)資料的收集和整理,目前常見的利用以太網(wǎng)絡(luò)進(jìn)行MIDI及音頻傳輸?shù)能浖^受歡迎的主要包括表1所示軟件,通過列表的方式對其功能和應(yīng)用場合進(jìn)行簡單的分析。
表1
從以上的分析不難看出,使用分布式媒體處理技術(shù)可以有效降低成本,提高制作能力,提高處理效率,簡化專業(yè)系統(tǒng)的復(fù)雜程度,將大大提高媒體制作水平。雖然從實際使用的情況來看,目前在PC平臺下的分布式應(yīng)用軟硬件平臺穩(wěn)定性及實際工作效率還不夠理想,但從其發(fā)展歷程來看,仍然是在飛速的發(fā)展和改善中,可以欣喜地看到越來越多的進(jìn)步。
近年來,互聯(lián)網(wǎng)上出現(xiàn)的分布式計算項目已經(jīng)被用于使用世界各地成千上萬位志愿者的計算機(jī)的閑置計算能力,通過互聯(lián)網(wǎng)進(jìn)行一些復(fù)雜的計算項目,如解決較為復(fù)雜的數(shù)學(xué)問題、研究尋找最為安全的密碼系統(tǒng)、生物病理研究、各種各樣疾病的藥物研究、信號處理等。這些項目都很龐大,需要驚人的計算量,僅僅由單個的電腦或是個人在一個能讓人接受的時間內(nèi)計算完成是絕不可能的。利用分布式計算技術(shù),通過全球的志愿者的計算機(jī),這些項目都取得可喜的成績。
可以預(yù)見的是,隨著計算機(jī)網(wǎng)絡(luò)全球化進(jìn)程的深入,在未來媒體制作過程中,利用計算機(jī)網(wǎng)絡(luò)及分布式技術(shù)將成為一種主流,越來越多的軟硬件產(chǎn)品都會充分考慮分布式處理的可能和需要,充分利用分布式技術(shù)的特性,提高媒體制作的效率和質(zhì)量。未來的影音產(chǎn)品將會越來越多地由分布式處理的網(wǎng)絡(luò)系統(tǒng)中產(chǎn)生,并為人類社會的發(fā)展提供積極的促進(jìn)作用。
要想在未來的發(fā)展中處于前沿地位,就需要把握技術(shù)革新和發(fā)展的方向,更新原有知識結(jié)構(gòu)體系,學(xué)習(xí)和應(yīng)用新的技術(shù)。相關(guān)媒體工作者應(yīng)該在現(xiàn)有設(shè)備條件下,積極嘗試深入應(yīng)用分布式系統(tǒng),探索其可能的應(yīng)用方式與應(yīng)用領(lǐng)域,并努力進(jìn)行相關(guān)的研究與開發(fā),為把握新的應(yīng)用戰(zhàn)略高度而努力。
由于時間緊,技術(shù)條件差,加之個人專業(yè)水平有限,所作的測試和分析還比較片面,謬誤在所難免,還請專家批評指正。
[1]詹姆斯?卡梅隆.阿凡達(dá)的藝術(shù)[M].長沙:湖南美術(shù)出版社,2010
[2]劉玉貴,楊學(xué)良.分布式多媒體計算機(jī)系統(tǒng)[M].北京:電子工業(yè)出版社,2009
[3]楊旋.數(shù)字音樂創(chuàng)世紀(jì)Apple Logic Pro 7[M].北京:機(jī)械工業(yè)出版社,2007
[4]Galli D L.分布式操作系統(tǒng)原理與實踐[M].徐良賢,等,譯.北京:機(jī)械工業(yè)出版社,2003
[5]湯楠,盧小旭.MIDIFAN電腦音樂技術(shù)[M].北京:清華大學(xué)出版社,2007
[6]王飛飛,郎慶泉.Vegas數(shù)碼影像剪輯[M].北京:清華大學(xué)出版社,2007
[7]Distributed Computing[EB/OL].http://www.wikipedia.org