Cpu和gpu混合云渲染方法、裝置和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,特別涉及一種CPU和GPU混合云渲染方法、裝置和系統(tǒng)。
【背景技術(shù)】
[0002]渲染云是一種基于云端遠(yuǎn)程渲染服務(wù),讓用戶以Web界面、全自主完成各種渲染任務(wù)。渲染(Rendering)是指在電腦繪圖中,將2D或3D模型變換為圖像的過程。在圖形流水線中,渲染是最后一項(xiàng)重要步驟,通過它得到模型與動(dòng)畫最終顯示效果。
[0003]每幅圖片的渲染時(shí)間,根據(jù)模型復(fù)雜度不同,相差很大,少則幾秒,多則幾天;模型越復(fù)雜,渲染時(shí)間就越長。以電影《阿凡達(dá)》為例,單機(jī)渲染平均一幀(一層,2K?4K分辨率)時(shí)間為2小時(shí);160分鐘的影片,每分鐘9000幅圖片(60秒X 30幀X 5層),整體渲染時(shí)間需要2880000小時(shí),相當(dāng)于328年。加上3D立體電影效果,每幀畫面有兩個(gè)圖像,渲染需要超過600年才能完成。
[0004]正是由于上述原因,將渲染任務(wù)放置云端,同時(shí)調(diào)用成百上千臺(tái)機(jī)器進(jìn)行圖片渲染,整體運(yùn)算時(shí)間會(huì)呈現(xiàn)幾何數(shù)量級的下降,原來單機(jī)需幾百年完成的渲染任務(wù),不到一年甚至幾天即可完成。
[0005]同時(shí),各種大型渲染軟件Blender、Maya和3Ds MAX等許可(License)價(jià)格高,而且運(yùn)行環(huán)境要求高,對于小型動(dòng)漫、游戲企業(yè)來說難以承受,使用渲染云可以很好地解決開發(fā)成本,有利于行業(yè)發(fā)展和相關(guān)產(chǎn)品開發(fā)。
[0006]渲染云的關(guān)鍵是云端的處理技術(shù),目前市面上大多數(shù)采用CPU串行架構(gòu)進(jìn)行渲染運(yùn)算,例如阿里云、上海網(wǎng)渲、Renderbus等。因CPU串行架構(gòu),采用進(jìn)程逐個(gè)處理的邏輯,對于具備先后次序的靜態(tài)式畫面是適用的;但對于大規(guī)模連續(xù)性例如視頻流、具備3維模型的圖形應(yīng)用等,其不具備高效的處理能力。
[0007]相對于CPU來說,GPU采用并行架構(gòu),具有更多的計(jì)算單元和內(nèi)存位寬,使其在浮點(diǎn)運(yùn)算、并行計(jì)算等方面具有更加突出的優(yōu)勢。其渲染能力方面,對于連續(xù)性實(shí)時(shí)圖形處理,例如電影動(dòng)畫等具有CPU難以比擬的優(yōu)勢。目前亞馬遜已推出了基于GPU的云計(jì)算服務(wù)一亞馬遜集群超強(qiáng)圖形計(jì)算實(shí)例,該實(shí)例提供了云中的GPU處理能力,包括22GB的存儲(chǔ)容量,33.5個(gè)EC2計(jì)算單元為開發(fā)者和企業(yè)提供高度協(xié)調(diào)的GPU計(jì)算性能的即時(shí)訪問。國內(nèi)贊奇科技,也同樣構(gòu)建了相似架構(gòu),利用GPU優(yōu)勢,處理三維模型在線實(shí)時(shí)渲染。
[0008]不過,目前云渲染服務(wù)都是基于單一 CPU或GPU架構(gòu)提供服務(wù),對于同時(shí)需要靜態(tài)畫面渲染和實(shí)時(shí)三維模型在線渲染需求的大型CG、電影動(dòng)畫,并不能很好滿足。
【發(fā)明內(nèi)容】
[0009]本發(fā)明的發(fā)明人發(fā)現(xiàn)上述現(xiàn)有技術(shù)中存在問題,并因此針對所述問題中的至少一個(gè)問題提出了一種新的技術(shù)方案。
[0010]本發(fā)明的一個(gè)目的是提供一種用于云渲染的技術(shù)方案。
[0011]根據(jù)本發(fā)明的第一方面,提供了一種CPU和GPU混合云渲染方法,包括:
[0012]將渲染任務(wù)分解為邏輯連續(xù)型渲染任務(wù)和并行渲染任務(wù),將邏輯連續(xù)型渲染任務(wù)發(fā)送給CPU串行處理,將并行渲染任務(wù)發(fā)送給GPU進(jìn)行并行運(yùn)算處理,并通過CPU與GPU渲染結(jié)果的聯(lián)動(dòng)輸出渲染生成的原始幀圖;
[0013]對渲染生成的原始幀圖按照流化進(jìn)行整合和排序,輸出排序的原始幀圖;
[0014]對排序的原始幀圖進(jìn)行分段,按次序?qū)⒃紟瑘D分段分配給統(tǒng)一編碼處理資源池中的編碼通道進(jìn)行分段式流化編碼,其中,統(tǒng)一編碼處理資源池由CPU、GPU編碼能力構(gòu)建而成;
[0015]將各個(gè)編碼通道輸出的編碼結(jié)果進(jìn)行排序并整合形成媒體流。
[0016]可選地,該方法還包括:在完成流化處理的媒體流中增加人物或卡通角色。
[0017]可選地,通過CPU與GPU渲染結(jié)果的聯(lián)動(dòng)輸出渲染生成的原始幀圖包括:
[0018]CPU與GPU進(jìn)行渲染任務(wù)之前,CPU在資源協(xié)調(diào)和硬件分配過程中為渲染任務(wù)進(jìn)行次序登記,渲染過程中按照相關(guān)的次序分配渲染,輸出結(jié)果整合過程中對應(yīng)相應(yīng)次序編號(hào)將圖形結(jié)果進(jìn)行整合。
[0019]可選地,將邏輯連續(xù)型渲染任務(wù)發(fā)送給CPU串行處理包括:CPU采用多核同時(shí)處理機(jī)制按照先后邏輯對渲染任務(wù)完成串行處理,并輸出相關(guān)的渲染結(jié)果;
[0020]將并行渲染任務(wù)發(fā)送給GPU進(jìn)行并行運(yùn)算處理包括:采用GPU本地內(nèi)存和總線內(nèi)存交互,并依靠GPU共享內(nèi)容傳遞給GPU各處理核心對渲染任務(wù)進(jìn)行并行處理和計(jì)算,并最終輸出相應(yīng)的渲染處理結(jié)果。
[0021]可選地,邏輯連續(xù)型渲染任務(wù)包括角色模型渲染、動(dòng)作渲染;并行渲染任務(wù)包括大型場景渲染。
[0022]根據(jù)本發(fā)明的另一方面,提供一種CPU和GPU混合云渲染裝置,包括:
[0023]聯(lián)動(dòng)混合渲染模塊,用于將渲染任務(wù)分解為邏輯連續(xù)型渲染任務(wù)和并行渲染任務(wù),將邏輯連續(xù)型渲染任務(wù)發(fā)送給CPU串行處理,將并行渲染任務(wù)發(fā)送給GPU并行運(yùn)算處理,并通過CPU與GPU渲染結(jié)果的實(shí)時(shí)聯(lián)動(dòng)輸出渲染生成的原始幀圖,對渲染生成的原始幀圖按照流化進(jìn)行整合和排序,輸出排序的原始幀圖;
[0024]動(dòng)態(tài)流化處理模塊,用于將來自聯(lián)動(dòng)混合渲染模塊的排序的原始幀圖進(jìn)行分段,按次序?qū)⒃紟瑘D分段分配給統(tǒng)一編碼處理資源池中的編碼通道進(jìn)行分段式流化編碼,其中,統(tǒng)一編碼處理資源池由CPU、GPU編碼能力構(gòu)建而成;將各個(gè)編碼通道輸出的編碼結(jié)果進(jìn)行排序并整合形成媒體流。
[0025]可選地,該裝置還包括:人物角色內(nèi)嵌模塊,用于在完成流化處理的媒體流中增加人物或卡通角色。
[0026]可選地,聯(lián)動(dòng)混合渲染模塊包括:
[0027]渲染任務(wù)分類調(diào)度單元,用于將渲染任務(wù)將渲染任務(wù)分解為邏輯連續(xù)型渲染任務(wù)和并行渲染任務(wù),將邏輯連續(xù)型渲染任務(wù)發(fā)送給CPU串行處理,將并行渲染任務(wù)發(fā)送給GPU并行運(yùn)算處理;
[0028]幀原圖渲染處理單元,用于基于CPU和GPU的運(yùn)算單元完成相應(yīng)的渲染工作,CPU集中處理單個(gè)串行大運(yùn)算量渲染任務(wù);GPU集中處理并行同步的大運(yùn)算量渲染任務(wù);渲染完成后各自輸出原始巾貞圖;
[0029]圖形結(jié)果整合排序單元,用于將CPU與GPU混合渲染輸出的原始幀圖,按照流化順序整合和排序輸出排序的原始幀圖。
[0030]可選地,動(dòng)態(tài)流化處理模塊包括:
[0031]原始幀圖分段單元,用于將渲染輸出的原始幀圖按照順序分解成各個(gè)分段;
[0032]分段流化處理單元,用于利用CPU、GPU流化能力構(gòu)建統(tǒng)一視頻編碼處理資源池,將不同片段的原始幀圖對應(yīng)分配給統(tǒng)一資源池的編碼處理通道進(jìn)行流化處理,處理完成以后編碼處理通道各自輸出分段媒體流;
[0033]流化結(jié)果整合單元,用于整合各編碼處理通道輸出的分段流化處理結(jié)果,進(jìn)行整合形成最終的媒體流。
[0034]可選地,邏輯連續(xù)型渲染任務(wù)包括角色模型渲染、動(dòng)作渲染;并行渲染任務(wù)包括大型場景渲染。
[0035]根據(jù)本發(fā)明的又一方面,提供一種云渲染系統(tǒng),包括上述的CPU和GPU混合云渲染
>J-U ρ?α裝直。
[0036]本發(fā)明的一個(gè)優(yōu)點(diǎn)在于,采用CPU和GPU渲染能力整合,聯(lián)合又有側(cè)重分工的模式,通過CPU、GPU統(tǒng)一編碼處理能力資源池統(tǒng)一分段流化處理,實(shí)現(xiàn)圖片渲染到流化的一體化解決方案,能夠有效提升服務(wù)質(zhì)量和服務(wù)效能。
[0037]通過以下參照附圖對本發(fā)明的示例性實(shí)施例的詳細(xì)描述,本發(fā)明的其它特征及其優(yōu)點(diǎn)將會(huì)變得清楚。
【附