專利名稱:一種基于多cpu平臺提高特技處理效率的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及節(jié)目制作技術(shù)領(lǐng)域,特別是涉及一種基于多CPU平臺提高特
技處理效率的方法。
背景技術(shù):
隨著計算機技術(shù)和集成電路技術(shù)的不斷進步,線性編輯系統(tǒng)(用于錄像 帶和膠巻的系統(tǒng))已經(jīng)非常陳舊,目前已被以計算機硬件平臺、 一見音頻處理 卡和大規(guī)4莫數(shù)字存儲載體為基礎(chǔ)的非線性編輯系統(tǒng)所取代。
非線性編輯系統(tǒng)是計算機和數(shù)字化電視技術(shù)相結(jié)合的產(chǎn)物,它基本上是 由計算機加視音頻處理卡配以相應(yīng)的非線性編輯軟件組成。數(shù)字非線編輯技 術(shù)應(yīng)用在視頻節(jié)目制作過程中具有編輯功能強大,搡作方便快捷等特點,因 此被廣泛用于電視節(jié)目的制作中。其中,非線性編輯系統(tǒng)中的"非線性"是指不 以線性方式為工作流程,即它突破了以往在線性工作環(huán)境下操作者必須以節(jié) 目時間先后為順序的操作模式。在非線性工作方式下,操作者可以自由地選 擇工作對象,不必以時間先后為順序。簡單說,就是剪輯時不用^f象編輯7磁帶 那樣來回地快進或是到帶來搜尋畫面。
在傳統(tǒng)線性編輯方式下,通常需要錄放機、切換臺、特技臺、調(diào)音臺、 字幕機等多臺設(shè)備組合,來完成節(jié)目的后期剪輯、串編、特技制作、字幕疊 加、視音頻混合等工作。而在以數(shù)字技術(shù)為基礎(chǔ)的非線性編輯方式下,只需 要1臺非線性編輯系統(tǒng)即可完成上述傳統(tǒng)編輯方式下數(shù)臺設(shè)備、多位技術(shù)人 員配合才能完成的工作。在傳統(tǒng)線性節(jié)目制作過程,因為線性編輯無法快速 方便地進行修改,有時只能依靠復(fù)制來達到目的。由于修改量大,所以很大 程度上影響了圖像質(zhì)量,也延長了節(jié)目制作的時間。而非線性編輯系統(tǒng)最大 的優(yōu)點就在于它的非線性編輯,它可以方便快捷地對節(jié)目進行剪接,且非線 性編輯系統(tǒng)在計算機磁盤記錄方式下,每一段素材都是以一個計算才幾文件的形式存儲在計算機磁盤上的,借助編輯軟件,可以自由地組合這些文件來完 成整個節(jié)目的編輯工作。如果需要在已完成的節(jié)目中間修改片段,加長或是 縮短,只需修改相關(guān)的文件序列即可。
因為非線性編輯系統(tǒng)存在上述巨大優(yōu)勢,因此很快在電視臺的節(jié)目制作 中得到了廣泛的應(yīng)用。通常對于非線性編輯的工作流程,都可以簡單地看成
輸入、編輯、輸出等步驟,其使用流程主要分成如下
1、 素材采集與輸入,采集就是利用非線性編輯系統(tǒng)將模擬視頻、音頻信 號轉(zhuǎn)換成數(shù)字信號存儲到計算機中,或者將外部的數(shù)字視頻存儲到計算機中, 成為可以處理的素材。輸入主要是把其它軟件處理過的圖像、聲音等等,導(dǎo) 入到非線性編輯系統(tǒng)中。
2、 素材編輯,素材編輯就是設(shè)置素材的入點與出點,以選擇最合適的部 分,然后按時間順序組接不同素材。
3、 特技處理,對于視頻素材,特技處理包括轉(zhuǎn)場、特效、合成疊加;對 于音頻素材,特技處理包括轉(zhuǎn)場、特效;令人震撼的畫面效果,就是在這一 過程中產(chǎn)生的。因此在特技處理中對非線性編輯系統(tǒng)的軟硬件能力要求非常 高,如果不能達到要求不僅處理速度非常慢,而且往往特技效果的實時性也 不能達到要求。
4、 字幕制作,字幕是節(jié)目中非常重要的部分,它包括文字和圖形兩個方 面。非線性編輯系統(tǒng)制作字幕很方便,幾乎沒有無法實現(xiàn)的效果,并且還有
大量的模板可以選擇。
5、 輸出與生成,節(jié)目編輯完成后,就可以輸出回錄到錄^f象帶上;也可以 生成纟見頻文件,發(fā)布到網(wǎng)上、刻錄VCD和DVD等等。
隨著觀眾對電視節(jié)目要求的不斷增加,電視臺在制作節(jié)目時需要大量使 用視音頻特技以達到渲染素材的效果。因此隨著計算機技術(shù)的不斷發(fā)展,在 這種需求的牽引下,越來越多的非線性編輯系統(tǒng)使用多CPU平臺和多核以及 超線程技術(shù),提升非線性編輯系統(tǒng)的硬件能力。上述技術(shù)在非線性編輯系統(tǒng) 中的應(yīng)用加快了特技算法的處理速度,能夠增加更多層數(shù)的軌道,提高特技 效果的實時性。然而本發(fā)明發(fā)明人在實現(xiàn)本發(fā)明時,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下技術(shù)
缺陷雖然在現(xiàn)有的非線性編輯系統(tǒng)中大量采用多CPU平臺和多核以及超線 程技術(shù)的平臺,但是現(xiàn)有的特技處理過程依然依靠其中的一個單CPU處理其 特技算法,使得多CPU平臺的性能不能夠得到充分的發(fā)揮,并且造成其他CPU 的閑置,是對現(xiàn)有非線性編輯系統(tǒng)資源的極大浪費。
發(fā)明內(nèi)容
本發(fā)明實施例要解決的問題是提供一種基于多CPU平臺提高特技處理 效率的方法,用于將特技處理任務(wù)分配到各個CPU上執(zhí)行,最大限度的增大 CPU的使用率,從而客服現(xiàn)有技術(shù)中多CPU平臺的性能不能夠得到充分發(fā)揮
的4支術(shù)缺陷。
為達到上述目的,本發(fā)明實施例一方面提出一種基于多CPU平臺提高特 技處理效率的方法,包括以下步驟創(chuàng)建特技處理任務(wù);根據(jù)所述多CPU平 臺的CPU數(shù)量將所述特技處理任務(wù)分配到每個CPU上執(zhí)行;匯總各個CPU 的執(zhí)行結(jié)果并提交。
其中,所述根據(jù)多CPU平臺的CPU數(shù)量將所述特技處理任務(wù)分配到每個 CPU上執(zhí)行具體包括根據(jù)所述多CPU平臺的CPU數(shù)量將所述特技處理任 務(wù)平均分配到每個CPU上執(zhí)行。
其中,還包括,在所述各個CPU執(zhí)行分配的特技處理任務(wù)時,將其他特 技處理任務(wù)設(shè)置為阻塞狀態(tài)。
其中,在所述匯總客個CPU的執(zhí)行結(jié)果并提交之后,還包括以下步驟 標(biāo)記所述特技處理任務(wù)為已完成狀態(tài)。
其中,在所述特技處理任務(wù)標(biāo)記為已完成狀態(tài)后,執(zhí)行其他特技處理任務(wù)。
其中,通過Windows API實現(xiàn)將所述特技處理任務(wù)分配到每個CPU上執(zhí)行。
其中,所述根據(jù)多CPU平臺的CPU數(shù)量將所述特技處理任務(wù)平均分配到 每個CPU上執(zhí)行具體包括:將需加載特技的圖像平均分配到每個CPU上執(zhí)行。
6本發(fā)明實施例還提出 一種計算機程序,包括若干指令用以執(zhí)行前述基于
多CPU平臺提高特技處理效率的方法。
本發(fā)明實施例還提出 一種存儲介質(zhì),存儲上述的計算機程序。
本發(fā)明實施例還提出一種計算機設(shè)備,包括用以執(zhí)行前述基于多CPU平
臺提高特技處理效率的方法的軟件及與軟件配合的硬件。
本發(fā)明實施例的技術(shù)方案具有以下優(yōu)點,本發(fā)明實施例通過將特技處理
任務(wù)分配到各個CPU上執(zhí)行,增大了CPU的使用效率,提高了多CPU平臺 的特技處理效率。并且通過本發(fā)明實施例對CPU的特技處理獨占式調(diào)用方式, 能夠保證特技處理任務(wù)操作的連貫性,減少任務(wù)之間的切換,更好地利用CPU 中的CACHE,進一步提高了非線性編輯系統(tǒng)特技制作流程的性能,從而在節(jié) 目制作中可以獲得更多實時的特技效果,剪輯出更高質(zhì)量的節(jié)目,提高觀眾 的滿意度。
圖1為本發(fā)明實施例一的基于多CPU平臺提高特技處理效率的方法的 流程圖2為本發(fā)明實施例多CPU特技執(zhí)行示意圖3為本發(fā)明實施例二的基于多CPU平臺提高特技處理效率的方法的 流程圖4為本發(fā)明實施例獨占式特技調(diào)用流程圖。
具體實施例方式
本發(fā)明發(fā)明人針對現(xiàn)有技術(shù)中采用多CPU平臺的非線性編輯系統(tǒng)的
技術(shù)缺陷,能夠在執(zhí)行特技處理任務(wù)時,將該特技處理任務(wù)分配到各個
CPU上執(zhí)行,不僅能夠充分利用現(xiàn)有多CPU平臺的非線性編輯系統(tǒng)的資
源,還能夠通過任務(wù)分割提高整體特技處理任務(wù)的處理速度。并且本發(fā)明
實施例還提出了一種對CPU的獨占式特技調(diào)用方式,能夠充分保證CPU 使用的連續(xù)性,減少任務(wù)切換對CPU處理速度的影響,能夠更好地利用CPU中的CACHE,進一步提高了非線性編輯系統(tǒng)特技制作流程的性能。 下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式
作進一步詳細(xì)描述 如圖1所示,為本發(fā)明實施例一的基于多CPU平臺提高特技處理效率
的方法的流程圖,通過該實施例能夠提高非線性編輯系統(tǒng)的性能,該實施例
包括以下步驟
步驟S101,創(chuàng)建特技處理任務(wù)。其中特技處理任務(wù)需要執(zhí)行大量的特技 算法,是一個算法密集型的處理過程。
步驟S102,特技執(zhí)行模塊調(diào)取上述特技處理任務(wù),并根據(jù)非線性編輯系 統(tǒng)中多CPU平臺的CPU數(shù)量將該特技處理任務(wù)分配到每個CPU上執(zhí)行。這 樣不僅能夠提高特技處理速度,并且還能夠充分利用其他CPU資源。如圖2 所示,為本發(fā)明實施例多CPU特技執(zhí)行示意圖,在該實施例中將特技任務(wù) 分割,分酉己到CPU0、 CPU1、 CPU2和CPU3這四個CPU上執(zhí)行,通過四 個CPU同時執(zhí)行一個特技處理任務(wù),提高特技處理的速度,滿足特技效果 的實時性要求。其中,作為一個優(yōu)選的實施例,發(fā)明人發(fā)現(xiàn)如果各個CPU 分配到的特技處理任務(wù)不同,有的多有的少,那么就會出現(xiàn)分配到較多處 理任務(wù)的CPU處理的時間就會較長,而分配較少任務(wù)的CPU任務(wù)執(zhí)行完 后還需要等待任務(wù)較多的CPU,因此還是會存在一定的資源浪費問題。因 此本發(fā)明實施例提出將特技處理任務(wù)平均分配到每個CPU上執(zhí)行,這樣CPU
之間也無需相互等待,進一步提高非線性編輯系統(tǒng)的使用效率。例如在為一
幀圖像加載特技時,可將該圖像橫向或縱向等分為四份,分別交由圖2中的 四個CPU分別執(zhí)行,這樣這四個CPU執(zhí)行的時間基本一致,從而保證了最高 效的處理速度。其中,本發(fā)明實施例還提出一種通過Windows API實現(xiàn)將特 技處理任務(wù)分配到每個CPU上執(zhí)行的方式,然而此方式并不是唯一能夠進行 特技處理任務(wù)分配的方式,因此通過其他方式實現(xiàn)特技處理任務(wù)的分配,也 均應(yīng)為本發(fā)明實施例保護范圍所涵蓋。
步驟S103,在各個CPU完成任務(wù)后,匯總各個CPU的執(zhí)行結(jié)果并提交。 如圖3所示,為本發(fā)明實施例二的基于多CPU平臺提高特技處理效率的 方法的流程圖,該實施例在實施例一的基礎(chǔ)上通過對CPU的獨占式特:忮調(diào)用模式,能夠保證CPU使用的連續(xù)性,進一步提高非線性編輯系統(tǒng)的性能。該
實施例包括以下步驟
步驟S301,創(chuàng)建特技處理任務(wù)。其中特技處理任務(wù)需要執(zhí)行大量的特技 算法,是一個算法密集型的處理過程。
步驟S302,特技執(zhí)行模塊調(diào)取上述特技處理任務(wù),并根據(jù)非線性編輯系 統(tǒng)中多CPU平臺的CPU數(shù)量將該特技處理任務(wù)分配到每個CPU上執(zhí)行。這 樣不僅能夠提高特技處理速度,并且還能夠充分利用其他CPU資源。如圖2 所示,為本發(fā)明實施例多CPU特技執(zhí)行示意圖,在該實施例中將特技任務(wù) 分割,分配到CPUO、 CPU1、 CPU2和CPU3這四個CPU上執(zhí)行,通過四 個CPU同時執(zhí)行一個特技處理任務(wù),提高特技處理的速度,滿足特技效果 的實時性要求。其中,作為一個優(yōu)選的實施例,發(fā)明人發(fā)現(xiàn)如果各個CPU 分配到的特技處理任務(wù)不同,有的多有的少,那么就會出現(xiàn)分配到較多處 理任務(wù)的CPU處理的時間就會較長,而分配較少任務(wù)的CPU任務(wù)執(zhí)行完 后還需要等待任務(wù)較多的CPU,因此還是會存在一定的資源浪費問題。因 此本發(fā)明實施例提出將特技處理任務(wù)平均分配到每個CPU上執(zhí)行,這樣CPU
之間也無需相互等待,進一步提高非線性編輯系統(tǒng)的使用效率。例如在為一
幀圖像加載特技時,可將該圖像橫向或縱向等分為四份,分別交由圖2中的 四個CPU分別執(zhí)行,這樣這四個CPU執(zhí)行的時間基本一致,從而保證了最高 效的處理速度。其中,本發(fā)明實施例還提出一種通過Windows API實現(xiàn)將特 技處理任務(wù)分配到每個CPU上執(zhí)行的方式,然而此方式并不是唯一能夠進行 特技處理任務(wù)分配的方式,因此通過其他方式實現(xiàn)特技處理任務(wù)的分配,也 均應(yīng)為本發(fā)明實施例保護范圍所涵蓋。
步驟S303,在各個CPU執(zhí)行分配的特技處理任務(wù)時,將其他特技處理任 務(wù)設(shè)置為阻塞狀態(tài)。因為對于多任務(wù)操作系統(tǒng)Windows來說,同一時間可能 會有多個任務(wù)在運行,任務(wù)之間需要互相切換執(zhí)行,這樣在切換任務(wù)的過程 中需要CONTEXT SWITCH,即保留當(dāng)前任務(wù)的現(xiàn)場,載入下一個任務(wù)的現(xiàn) 場并執(zhí)行下一個任務(wù)。因此任務(wù)切換會降低系統(tǒng)性能,由于保留當(dāng)前任務(wù)的 現(xiàn)場也會使CPU中的CACHE性能大大降低。為了保證特技處理任務(wù)能夠盡
9可能連續(xù)使用CPU,需要減少CONTEXT SWITCH,更好的利用CACHE。本 發(fā)明實施例通過對特技處理任務(wù)的控制調(diào)度,確保在單一進程內(nèi),兩次獨立 的算法操作不會同時進行。因此在各個CPU執(zhí)行分配的特技處理任務(wù)時,會 將其他特技處理任務(wù)設(shè)置為阻塞狀態(tài)。如圖4所示,為本發(fā)明實施例獨占式 特技調(diào)用流程圖,特技執(zhí)行模塊正在執(zhí)行特技處理任務(wù)1,因此將特技處理任 務(wù)2設(shè)置為阻塞狀態(tài),因此保證特技處理任務(wù)1能夠獨占當(dāng)前特技執(zhí)行^t塊。 步驟S304,在在各個CPU完成任務(wù)后,匯總各個CPU的執(zhí)行結(jié)果并提交。
步驟S305,標(biāo)記所述特技處理任務(wù)為已完成狀態(tài)。
步驟S306,在特技處理任務(wù)標(biāo)記為已完成狀態(tài)后,執(zhí)行其他特技處理任 務(wù)。如圖4中,在特技處理任務(wù)1完成后會將其標(biāo)記為已完成狀態(tài),此時特 技執(zhí)行模塊會接受特技處理任務(wù)2并執(zhí)行,同樣在執(zhí)行特技處理任務(wù)2時也 需要將其他特技處理任務(wù)設(shè)置為阻塞狀態(tài)。
本發(fā)明實施例通過將特技處理任務(wù)分配到各個CPU上執(zhí)行,增大了 CPU 的使用效率,提高了多CPU平臺的特技處理效率。并且通過本發(fā)明實施例對 CPU的特技處理獨占式調(diào)用方式,能夠保證特技處理任務(wù)l喿作的連貫性,減 少任務(wù)之間的切換,更好地利用CPU中的CACHE,進一步提高了非線性編 輯系統(tǒng)特技制作流程的性能,從而在節(jié)目制作中可以獲得更多實時的特技效 果,剪輯出更高質(zhì)量的節(jié)目,提高觀眾的滿意度。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本 發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬 件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技 術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體 現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使 得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行 本發(fā)明各個實施例所述的方法。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的 普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)^L為本發(fā)明的保護范圍
權(quán)利要求
1、一種基于多CPU平臺提高特技處理效率的方法,其特征在于,包括以下步驟創(chuàng)建特技處理任務(wù);根據(jù)所述多CPU平臺的CPU數(shù)量將所述特技處理任務(wù)分配到每個CPU上執(zhí)行;匯總各個CPU的執(zhí)行結(jié)果并提交。
2、 如權(quán)利要求1所述基于多CPU平臺提高特技處理效率的方法,其特 征在于,所述根據(jù)多CPU平臺的CPU數(shù)量將所述特技處理任務(wù)分配到每個 CPU上執(zhí)行具體包括根據(jù)所述多CPU平臺的CPU數(shù)量將所述特技處理任務(wù)平均分配到每個 CPU上執(zhí)行。
3、 如權(quán)利要求1所述基于多CPU平臺提高特技處理效率的方法,其特 征在于,還包括,在所述各個CPU執(zhí)行分配的特技處理任務(wù)時,將其他特技 處理任務(wù)設(shè)置為阻塞狀態(tài)。
4、 如權(quán)利要求1所述基于多CPU平臺提高特技處理效率的方法,其特 征在于,在所述匯總各個CPU的執(zhí)行結(jié)果并提交之后,還包括以下步驟標(biāo)記所述特技處理任務(wù)為已完成狀態(tài)。
5、 如權(quán)利要求3所述基于多CPU平臺提高特技處理效率的方法,其特 征在于,在所述特技處理任務(wù)標(biāo)記為已完成狀態(tài)后,執(zhí)行其他特技處理任務(wù)。
6、 如權(quán)利要求1所述基于多CPU平臺提高特技處理效率的方法,其特 征在于,通過Windows API實現(xiàn)將所述特技處理任務(wù)分配到每個CPU上執(zhí)行。
7、 如權(quán)利要求2所述基于多CPU平臺提高特技處理效率的方法,其特 征在于,所述根據(jù)多CPU平臺的CPU數(shù)量將所述特技處理任務(wù)平均分配到每 個CPU上執(zhí)行具體包括:將需加載特技的圖像平均分配到每個CPU上執(zhí)行。
8、 一種計算機程序,其特征在于,包括若干指令用以執(zhí)行前述權(quán)利要求 l-7所述的基于多CPU平臺提高特技處理效率的方法。
9、 一種存儲介質(zhì),其特征在于,存儲權(quán)利要求8所述的計算機程序。
10、 一種計算機設(shè)備,其特征在于,包括用以執(zhí)行前述權(quán)利要求l-7所述基于多CPU平臺提高特技處理效率的方法的軟件及與軟件配合的硬件。
全文摘要
本發(fā)明公開了一種基于多CPU平臺提高特技處理效率的方法,包括以下步驟創(chuàng)建特技處理任務(wù);根據(jù)所述多CPU平臺的CPU數(shù)量將所述特技處理任務(wù)分配到每個CPU上執(zhí)行;匯總各個CPU的執(zhí)行結(jié)果并提交。本發(fā)明實施例通過將特技處理任務(wù)分配到各個CPU上執(zhí)行,增大了CPU的使用效率,提高了多CPU平臺的特技處理效率。并且通過本發(fā)明實施例對CPU的特技處理獨占式調(diào)用方式,能夠保證特技處理任務(wù)操作的連貫性,減少任務(wù)之間的切換,進一步提高了非線性編輯系統(tǒng)特技制作流程的性能,從而在節(jié)目制作中可以獲得更多實時的特技效果,剪輯出更高質(zhì)量的節(jié)目,提高觀眾的滿意度。
文檔編號G06F9/50GK101446908SQ20071017805
公開日2009年6月3日 申請日期2007年11月26日 優(yōu)先權(quán)日2007年11月26日
發(fā)明者何宇飛, 郝曉鋒 申請人:新奧特(北京)視頻技術(shù)有限公司