專利名稱:基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻碼流轉(zhuǎn)碼技術(shù),尤其涉及一種基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)及方法。
背景技術(shù):
目前我國有5億部移動電話,3.5億臺家庭電視機和1.22億臺接入互聯(lián)網(wǎng)的個人計算機,這些電子設(shè)備構(gòu)成了一個巨大的終端群體,也形成一個覆蓋多種消費人群的巨大市場。面向這一市場,廣播電視網(wǎng)、電信網(wǎng)和互聯(lián)網(wǎng)的業(yè)務(wù)融合不僅會帶動6至7千億元的投資和消費,還有增加20萬個左右的就業(yè)崗位。從擴大內(nèi)需和應(yīng)對全球金融危機的角度來看,“三網(wǎng)融合”的意義十分重大。對于視頻服務(wù)領(lǐng)域,三網(wǎng)融合將在體制、機制、模式等層面引發(fā)一系列變革。傳統(tǒng)意義上,廣電和電信在我國是兩個相對封閉的業(yè)務(wù)體系,分別擁有各自的內(nèi)容服務(wù)體系,包括內(nèi)容服務(wù)頭端、分發(fā)網(wǎng)絡(luò)和用戶終端體系。廣電的視頻業(yè)務(wù)主要是基于廣電分發(fā)網(wǎng)絡(luò)的廣播電視業(yè)務(wù),電信的視頻業(yè)務(wù)則包括基于電信網(wǎng)的IPTV服務(wù)和基于互聯(lián)網(wǎng)到網(wǎng)絡(luò)視頻服務(wù)。從內(nèi)容來源看,三網(wǎng)融合前廣電體系視頻業(yè)務(wù)完全使用自制內(nèi)容,即由電視臺集成和生產(chǎn)的節(jié)目;在電信體系中,視頻業(yè)務(wù)的內(nèi)容來源包括廣電提供的內(nèi)容(如電視頻道、IPTV視頻點播節(jié)目)、互聯(lián)網(wǎng)媒體生產(chǎn)的內(nèi)容(如新浪寬頻、鳳凰寬頻等寬頻網(wǎng)站)和用戶創(chuàng)造的內(nèi)容(如優(yōu)酷、土豆等內(nèi)容分享平臺)。三網(wǎng)融合前,上述兩大類視頻業(yè)務(wù)有一個共同特點,即:每一類業(yè)務(wù)都有明確的服務(wù)對象,如廣電針對有線網(wǎng)絡(luò)機頂盒生產(chǎn)內(nèi)容,電信針對IPTV機頂盒和手機生產(chǎn)內(nèi)容,互聯(lián)網(wǎng)媒體則針對PC等自由終端生產(chǎn)內(nèi)容,對于每項業(yè)務(wù),音視頻編碼和元數(shù)據(jù)組織的需求都非常明確,而終端計算能力、網(wǎng)絡(luò)帶寬等條件的差異導致各種視頻業(yè)務(wù)都有私有的音視頻編碼格式和元數(shù)據(jù)格式,例如:目前廣電視頻點播標清節(jié)目的視頻編碼格式為MPEG-2,碼率為3.75Mbps,而電信IPTV視頻點播標清節(jié)目的視頻編碼格式通常為H.264或M PEG-4,碼率低于3Mpbs。這些編碼格式和元數(shù)據(jù)的差異造成內(nèi)容文件不能直接跨業(yè)務(wù)使用。三網(wǎng)融合后,廣電和電信將實現(xiàn)業(yè)務(wù)的相互準入。就視頻業(yè)務(wù)而言,傳統(tǒng)的兩大縱向業(yè)務(wù)體系將不復存在,取而代之的是跨網(wǎng)絡(luò)、跨終端的多層次業(yè)務(wù)體系結(jié)構(gòu)。三網(wǎng)融合的視頻業(yè)務(wù)體系將分為4個主要層次,即內(nèi)容層、播控層、網(wǎng)絡(luò)層和終端層。內(nèi)容層:包括傳統(tǒng)的電視臺、互聯(lián)網(wǎng)電視臺、互聯(lián)網(wǎng)內(nèi)容提供商以及其他內(nèi)容提供商,內(nèi)容層的職能是內(nèi)容生產(chǎn)和集成。播控層:播控層的職能是對內(nèi)容層的視頻業(yè)務(wù)進行集成、審查與播出控制,確保內(nèi)容本身以及內(nèi)容播出過程的安全性,并向內(nèi)容層和網(wǎng)絡(luò)層提供共性服務(wù)。網(wǎng)絡(luò)層:包括廣電網(wǎng)絡(luò)運營商、電信網(wǎng)絡(luò)運營商以及相應(yīng)的廣電網(wǎng)絡(luò)和電信網(wǎng)絡(luò)基礎(chǔ)設(shè)施,網(wǎng)絡(luò)層的職能是面向用戶終端分發(fā)內(nèi)容
終端層:包括運營商派發(fā)的終端(如機頂盒、手機)和自由終端(如PC),終端層呈現(xiàn)多屏特征(包括計算機、電視機(機頂盒)、手機以及其他接收終端)??梢?,為了面向異構(gòu)網(wǎng)絡(luò)中的多屏終端提供內(nèi)容服務(wù),內(nèi)容層必須解決音視頻轉(zhuǎn)碼和元數(shù)據(jù)匹配等內(nèi)容適配問題,具體需求可以歸納為:I)對海量視頻內(nèi)容的轉(zhuǎn)碼支持;2)對多格式視頻內(nèi)容的轉(zhuǎn)碼支持;3)對高時效性節(jié)目的轉(zhuǎn)碼支持;4)對異構(gòu)元數(shù)據(jù)的支持。也就是說,每個內(nèi)容提供商都必須具備一套內(nèi)容適配系統(tǒng),以便將不同編碼格式和不同元數(shù)據(jù)結(jié)構(gòu)的內(nèi)容源進行轉(zhuǎn)碼和元數(shù)據(jù)適配,輸出為多種目標格式。而為了滿足上面所列的四點需求,這一系統(tǒng)的規(guī)模將非常龐大,對于大部分內(nèi)容提供商而言,這一系統(tǒng)的建設(shè)和運維成本相當可觀,甚至難以承受。
發(fā)明內(nèi)容
本發(fā)明旨在提出一種利用分布式技術(shù)來實現(xiàn)視頻碼流轉(zhuǎn)碼的轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)和方法。根據(jù)本發(fā)明的一實施例,提出一種基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng),該分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)連接到廣電網(wǎng)、電信網(wǎng)和互聯(lián)網(wǎng)并接收內(nèi)容提供商提供的內(nèi)容數(shù)據(jù),所述分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)包括:內(nèi)容接收接口,連接到廣電網(wǎng)、電信網(wǎng)和互聯(lián)網(wǎng),從廣電網(wǎng)、電信網(wǎng)和互聯(lián)網(wǎng)接收由內(nèi)容提供商提供的內(nèi)容數(shù)據(jù),內(nèi)容數(shù)據(jù)是含有視音頻碼流的原始文件;存儲系統(tǒng),連接到內(nèi)容接收接口,存儲含有視音頻碼流的原始文件;碼流預處理模塊,連接到存儲系統(tǒng),從存儲系統(tǒng)接收原始文件,解析文件容器,按照內(nèi)容提供商定制的轉(zhuǎn)碼參數(shù)進行碼流解復用,實現(xiàn)視頻碼流和音頻碼流的分離;碼流分割模塊,連接到碼流預處理模塊,碼流分割模塊將由碼流預處理模塊分離出的視頻碼流分割成具有先后順序的視頻碼流段;數(shù)個轉(zhuǎn)碼節(jié)點,連接到碼流分割模塊,每一個轉(zhuǎn)碼節(jié)點從碼流分割模塊讀取分割后的一個視頻碼流段,根據(jù)內(nèi)容提供商定制的轉(zhuǎn)碼參數(shù)完成轉(zhuǎn)碼;碼流合并模塊,連接到數(shù)個轉(zhuǎn)碼節(jié)點,碼流合并模塊將轉(zhuǎn)碼后的視頻碼流段按照先后順序組合成轉(zhuǎn)碼后的視頻碼流;碼流后處理模塊,連接到碼流合并模塊和存儲系統(tǒng),碼流后處理模塊對轉(zhuǎn)碼后的視頻碼流按照內(nèi)容提供商定制的文件格式進行復用,并入音頻碼流并生成成品文件,碼流后處理模塊將成品文件存儲在存儲系統(tǒng)中;內(nèi)容發(fā)送接口,連接到廣電網(wǎng)、電信網(wǎng)和互聯(lián)網(wǎng),還連接到存儲系統(tǒng),內(nèi)容發(fā)送接口從存儲系統(tǒng)中提取成品文件并對外發(fā)送;任務(wù)調(diào)度模塊,連接到內(nèi)容接收接口、存儲系統(tǒng)、碼流預處理模塊、碼流分割模塊、數(shù)個轉(zhuǎn)碼節(jié)點、碼流合并模塊、碼流后處理模塊和內(nèi)容發(fā)送接口,任務(wù)調(diào)度模塊在接收到內(nèi)容數(shù)據(jù)后,將內(nèi)容數(shù)據(jù)設(shè)置成任務(wù),并向上述各個組件發(fā)送控制指令,指示組件工作。在一個實施例中,每一個轉(zhuǎn)碼節(jié)點包括編解碼庫,編解碼庫以插件的形式部署在轉(zhuǎn)碼節(jié)點中。在一個實施例中,碼流分割模塊基于圖像組對視頻碼流進行分割。在一個實施例中,任務(wù)調(diào)度模塊為任務(wù)分配優(yōu)先級標記,并根據(jù)優(yōu)先級標記的高低安排執(zhí)行任務(wù)的順序。根據(jù)本發(fā)明的一實施例,提出一種基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度方法,包括:從廣電網(wǎng)、電信網(wǎng)和互聯(lián)網(wǎng)接收由內(nèi)容提供商提供的內(nèi)容數(shù)據(jù),內(nèi)容數(shù)據(jù)是含有視音頻碼流的原始文件;接收到內(nèi)容數(shù)據(jù)后,將內(nèi)容數(shù)據(jù)設(shè)置成任務(wù)并執(zhí)行;存儲含有視音頻碼流的原始文件;提取原始文件,解析文件容器,按照內(nèi)容提供商定制的轉(zhuǎn)碼參數(shù)進行碼流解復用,實現(xiàn)視頻碼流和音頻碼流的分離;將分離出的視頻碼流分割成具有先后順序的視頻碼流段;由數(shù)個轉(zhuǎn)碼節(jié)點同時進行轉(zhuǎn)碼,每一個轉(zhuǎn)碼節(jié)點讀取分割后的一個視頻碼流段,根據(jù)內(nèi)容提供商定制的轉(zhuǎn)碼參數(shù)完成轉(zhuǎn)碼;將轉(zhuǎn)碼后的視頻碼流段按照先后順序組合成轉(zhuǎn)碼后的視頻碼流;對轉(zhuǎn)碼后的視頻碼流按照內(nèi)容提供商定制的文件格式進行復用,并入音頻碼流并生成成品文件,存儲成品文件;提取成品文件并對外發(fā)送。在一個實施例中,每一個轉(zhuǎn)碼節(jié)點包括編解碼庫,編解碼庫以插件的形式部署在轉(zhuǎn)碼節(jié)點中。在一個實施例中,基于圖像組對視頻碼流進行分割。在一個實施例中,為任務(wù)分配優(yōu)先級標記,并根據(jù)優(yōu)先級標記的高低安排執(zhí)行任務(wù)的順序。本發(fā)明提出的基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)和方法,是一種多格式細粒度的視頻轉(zhuǎn)碼系統(tǒng),通過搭建分布式集群轉(zhuǎn)碼系統(tǒng),將一個高復雜度的轉(zhuǎn)碼任務(wù)拆分為若干個低復雜度的子任務(wù)后在集群內(nèi)統(tǒng)一調(diào)度,由單個計算節(jié)點完成子任務(wù)后再統(tǒng)一合并,達到快速轉(zhuǎn)碼的目的。同時,對于較難采用拆分合并機制的實時視頻流,系統(tǒng)將集成高性能的硬件轉(zhuǎn)碼板卡設(shè)備,實現(xiàn)實時轉(zhuǎn)碼。
圖1揭示了根據(jù)本發(fā)明的一實施例的基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)的結(jié)構(gòu)圖。圖2揭示了根據(jù)本發(fā)明的一實施例的碼流分割的過程。圖3揭示了根據(jù)本發(fā)明的一實施例的任務(wù)調(diào)度的過程。圖4揭示了 “全解全編”結(jié)構(gòu)的轉(zhuǎn)碼系統(tǒng)的結(jié)構(gòu)。圖5揭示了根據(jù)本發(fā)明的一實施例的并行轉(zhuǎn)碼架構(gòu)。圖6揭示了根據(jù)本發(fā)明的一實施例的基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度方法的流程圖。
具體實施例方式首先參考圖1所示,本發(fā)明揭示了一種基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)100,該分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)100連接到廣電網(wǎng)202、電信網(wǎng)204和互聯(lián)網(wǎng)206并通過廣電網(wǎng)202、電信網(wǎng)204和互聯(lián)網(wǎng)206接收內(nèi)容提供商200提供的內(nèi)容數(shù)據(jù)。如圖1所示,該分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)100包括:內(nèi)容接收接口 102,連接到廣電網(wǎng)202、電信網(wǎng)204和互聯(lián)網(wǎng)206。內(nèi)容接收接口102從廣電網(wǎng)202、電信網(wǎng)204和互聯(lián)網(wǎng)206接收由內(nèi)容提供商200提供的內(nèi)容數(shù)據(jù)。內(nèi)容數(shù)據(jù)是含有視音頻碼流的原始文件。存儲系統(tǒng)104連接到內(nèi)容接收接口 102,存儲系統(tǒng)104存儲含有視音頻碼流的原始文件。該視音頻碼流是待轉(zhuǎn)碼的視頻和音頻的混合碼流。存儲系統(tǒng)104同時還存儲轉(zhuǎn)碼后的視頻和音頻的混合碼流,并以成品文件的形式保存,供內(nèi)容發(fā)送接口 116提取使用。碼流預處理模塊106連接到存儲系統(tǒng)104,碼流預處理模塊106從存儲系統(tǒng)104接收原始文件,解析文件容器,按照內(nèi)容提供商定制的轉(zhuǎn)碼參數(shù)進行碼流解復用,實現(xiàn)視頻碼流和音頻碼流的分離。碼流分割模塊108連接到碼流預處理模塊106,碼流分割模塊108將由碼流預處理模塊106分離出的視頻碼流分割成具有先后順序的視頻碼流段。碼流分割模塊108將視頻碼流分割成視頻碼流段,在分割時需要考慮轉(zhuǎn)碼后合并碼流的圖像連續(xù)性,避免產(chǎn)生跳幀或重幀等現(xiàn)象。對于音頻碼流,由于音頻轉(zhuǎn)碼的復雜度遠遠低于視頻,因此音頻碼流不做分害I],直接轉(zhuǎn)碼。數(shù)個轉(zhuǎn)碼節(jié)點110連接到碼流分割模塊108,每一個轉(zhuǎn)碼節(jié)點110從碼流分割模塊讀取分割后的一個視頻碼流段,根據(jù)內(nèi)容提供商定制的轉(zhuǎn)碼參數(shù)完成轉(zhuǎn)碼。或者,一個轉(zhuǎn)碼節(jié)點110也可以用于進行音頻碼流的轉(zhuǎn)碼,這樣的話,該轉(zhuǎn)碼節(jié)點110獲取完整的音頻碼流,對整個音頻碼流進行轉(zhuǎn)碼。在一個實施例中,每一個轉(zhuǎn)碼節(jié)點110包括編解碼庫,編解碼庫以插件的形式部署在轉(zhuǎn)碼節(jié)點中,使得每個轉(zhuǎn)碼節(jié)點支持的碼流格式具有可擴展性。碼流合并模塊112連接到數(shù)個轉(zhuǎn)碼節(jié)點110,碼流合并模塊112將轉(zhuǎn)碼后的視頻碼流段按照先后順序組合成轉(zhuǎn)碼后的視頻碼流。碼流合并是碼流分割的逆操作,主要目的是將轉(zhuǎn)碼后的視頻碼流段重新組合到一起,形成完整的視頻碼流并保持原始的碼流先后順序。碼流后處理模塊114連接到碼流合并模塊112和存儲系統(tǒng)104,碼流后處理模塊114對轉(zhuǎn)碼后的視頻碼流按照內(nèi)容提供商定制的文件格式進行復用,并入音頻碼流并生成成品文件,碼流后處理模塊114將成品文件存儲在存儲系統(tǒng)104中。內(nèi)容發(fā)送接口 116,連接到廣電網(wǎng)202、電信網(wǎng)204和互聯(lián)網(wǎng)206,還連接到存儲系統(tǒng)104,內(nèi)容發(fā)送接口 116從存儲系統(tǒng)104中提取成品文件并對外發(fā)送。任務(wù)調(diào)度模塊118,連接到內(nèi)容接收接口 102、存儲系統(tǒng)104、碼流預處理模塊106、碼流分割模塊108、數(shù)個轉(zhuǎn)碼節(jié)點110、碼流合并模塊112、碼流后處理模塊114和內(nèi)容發(fā)送接口 116。任務(wù)調(diào)度模塊118在接收到內(nèi)容數(shù)據(jù)后將內(nèi)容數(shù)據(jù)設(shè)置成任務(wù),并向上述各個組件發(fā)送控制指令,指示上述的各個組件工作。任務(wù)調(diào)度模塊118的任務(wù)調(diào)度是整個分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)的核心,負責管理系統(tǒng)內(nèi)的所有計算資源,當發(fā)現(xiàn)有新的任務(wù)到達時,它首先根據(jù)改任務(wù)的優(yōu)先級以及當前系統(tǒng)的可用資源,分配適當?shù)挠嬎阗Y源依次去完成碼流預處理、碼流分割、轉(zhuǎn)碼、碼流合并、碼流后處理這幾個步驟。在一個實施例中,碼流分割模塊108基于圖像組對視頻碼流進行分割。圖2揭示了根據(jù)本發(fā)明的一實施例的碼流分割的過程。視頻碼流中的圖像組(Group Of Pictures,GOP)是由一系列連續(xù)的圖像組成的,每段視頻碼流包含了若干個連續(xù)的圖像組。每個圖像組至少有一個I幀,并且I幀處于圖像組的開頭。I幀可以獨立解碼而無需依賴其他幀,因此一般說來,一個圖像組內(nèi)出現(xiàn)的錯誤最多延續(xù)至下一個I幀。在視頻文件分割的過程中,圖像組級別的粒度比較適中,相比單幀的粒度而言,有更好的解碼獨立性;相比一整段完整的視頻粒度,有更好的轉(zhuǎn)碼并發(fā)性。因此,在視頻文件分割的過程中,需要對碼流的圖像組結(jié)構(gòu)進行判斷,分別針對Open GOP和Close GOP的情況采取不同的分割策略,即Open GOP時需要對每一段分割碼流片斷的前部增加一個GOP的冗余,保證解碼器能夠解出這個片斷中的所有幀。同時在進行分割時還要記錄下分割策略的選擇情況,供合并程序參考使用。在一個實施例中,任務(wù)調(diào)度模塊118為任務(wù)分配優(yōu)先級標記,并根據(jù)優(yōu)先級標記的高低安排執(zhí)行任務(wù)的順序。圖3揭示了根據(jù)本發(fā)明的一實施例的任務(wù)調(diào)度的過程。如圖3所示,當任務(wù)請求到達后,任務(wù)分析根據(jù)任務(wù)的屬性將任務(wù)分為“非緊急任務(wù)”與“緊急任務(wù)”。非緊急任務(wù)帶有可量化的優(yōu)先級標記,進入任務(wù)隊列后依據(jù)優(yōu)先級進行排隊,在任務(wù)隊列中的任務(wù)優(yōu)先級會隨著在隊列中的時間的增長而提高,這樣可以防止“餓死”的問題出現(xiàn),即某個較低優(yōu)先級的任務(wù)由于一直排在較高優(yōu)先級任務(wù)后面而一直無法得到轉(zhuǎn)碼服務(wù)。緊急任務(wù)具有非常高的優(yōu)先級,可以繞過一般的任務(wù)隊列,直接請求計算資源以完成轉(zhuǎn)碼。在可用計算資源不足的情況下,可以通過調(diào)度將其他正在進行的非緊急轉(zhuǎn)碼任務(wù)暫停,騰出足夠的計算資源服務(wù)于該緊急轉(zhuǎn)碼任務(wù),保證緊急轉(zhuǎn)碼任務(wù)在較低的時間內(nèi)完成。資源調(diào)度一方面通過節(jié)點監(jiān)控傳達的信息,得到集群的負載分布,再根據(jù)節(jié)點計算能力庫中存儲的信息,得到實時的集群可用計算資源分布情況;另一方面根據(jù)任務(wù)情況(緊急任務(wù)和非緊急任務(wù)隊列),調(diào)配可用的計算資源。最終形成一系列的控制命令發(fā)給節(jié)點控制模塊。節(jié)點控制執(zhí)行由資源調(diào)度模塊發(fā)來的節(jié)點控制命令,使計算節(jié)點執(zhí)行、暫?;蚧謴湍硞€特定任務(wù),包括碼流預處理、碼流分割、轉(zhuǎn)碼、碼流合并和碼流后處理,控制命令除了執(zhí)行、暫停和恢復基本操作外,還指定了任務(wù)的輸入和輸出,以及相關(guān)的參數(shù)設(shè)置。節(jié)點監(jiān)控接受從所有計算節(jié)點發(fā)來的心跳信號,心跳信號包含節(jié)點當前負載、當前執(zhí)行的任務(wù)優(yōu)先級和進度或結(jié)果,將這些信息匯總后形成集群負載分布報告,提供給資源調(diào)度模塊。數(shù)個轉(zhuǎn)碼節(jié)點110用于執(zhí)行轉(zhuǎn)碼任務(wù)。在一個實施例中,轉(zhuǎn)碼節(jié)點為內(nèi)容提供商提供統(tǒng)一的服務(wù)接口,內(nèi)容提供商不必建設(shè)自己的轉(zhuǎn)碼系統(tǒng),而只需將內(nèi)容(待轉(zhuǎn)碼的視頻碼流與元數(shù)據(jù))和轉(zhuǎn)碼需求通過服務(wù)接口輸入轉(zhuǎn)碼節(jié)點即可,轉(zhuǎn)碼節(jié)點將按需進行轉(zhuǎn)碼計算,輸出目標格式的內(nèi)容(包括轉(zhuǎn)碼后的視頻碼流和元數(shù)據(jù))。目前最廣泛使用的轉(zhuǎn)碼系統(tǒng)的最基本結(jié)構(gòu)是“全解全編”結(jié)構(gòu),圖4揭示了目前廣泛使用的“全解全編”結(jié)構(gòu)的轉(zhuǎn)碼系統(tǒng)的結(jié)構(gòu)。該種結(jié)構(gòu)的轉(zhuǎn)碼系統(tǒng)直接由解碼器和編碼器串聯(lián)而成。該轉(zhuǎn)碼系統(tǒng)先對輸入的視頻碼流進行完全解碼,然后再按新的視頻格式要求進行編碼。然而,“全解全編”轉(zhuǎn)碼的計算復雜度較高,一般適合離線應(yīng)用場合。一些快速的轉(zhuǎn)碼系統(tǒng)結(jié)構(gòu)一般是在上述結(jié)構(gòu)的基礎(chǔ)上采取了許多優(yōu)化措施,如在解碼環(huán)路中利用輸入碼流中如視頻序列頭信息、宏塊編碼模式信息、運動矢量信息、頻域的壓縮系數(shù)等壓縮域信息,在保持視頻質(zhì)量下降不大的條件下,盡可能降低編碼計算的復雜度,提高轉(zhuǎn)碼速度。視頻轉(zhuǎn)碼器的類型多種多樣,按照結(jié)構(gòu)主要分為兩大類:像素域轉(zhuǎn)碼(Pixel-Domain Transcoding, PDT)和壓縮域轉(zhuǎn)石馬(Compressed-Domain Transcoding,⑶T),后者也可以稱為變換域轉(zhuǎn)碼。PDT是指對輸入流進行完全解碼得到像素域圖像,在像素域進行轉(zhuǎn)碼;CDT則不需要完全解碼,而是在變換域中進行轉(zhuǎn)碼。PDT有著實現(xiàn)靈活的特點,可以滿足多種不同的轉(zhuǎn)碼需要,輸出圖像質(zhì)量較高,但在轉(zhuǎn)碼時需要做IDCT和DCT計算,復雜度較高;CDT則是直接處理壓縮域系數(shù),減少重新編碼的計算量,但其實現(xiàn)框架不夠靈活,轉(zhuǎn)碼質(zhì)量下降較大。從視頻轉(zhuǎn)碼器所依賴的計算平臺來看,視頻轉(zhuǎn)碼軟件的實現(xiàn)從最初單純簡單依靠單個CPU的通用計算能力,發(fā)展到利用CPU的多功能指令集(如MMX、3D Now,SSE等)。但在經(jīng)歷了 CPU核心的計算能力快速提高的階段后,單個核心的計算能力已經(jīng)接近瓶頸,而人們對視頻質(zhì)量的需求卻與日俱增,從最早的V⑶(分辨率352 X 288,碼率約1.5Mbps),到標清DVD (分辨率720 X 576,碼率約4.5Mbps),再到高清藍光(分辨率1920 X 1080,碼率約25Mbps),使得相應(yīng)的轉(zhuǎn)碼復雜度也大大增加。隨著多核計算機和并行計算思想的普及,視頻轉(zhuǎn)碼的并行化成為大勢所趨。本發(fā)明的數(shù)個轉(zhuǎn)碼節(jié)點110采用的是并行轉(zhuǎn)碼的系統(tǒng)架構(gòu),使得多個轉(zhuǎn)碼節(jié)點可以以多核并行轉(zhuǎn)碼的方式同時進行轉(zhuǎn)碼,以提升轉(zhuǎn)碼效率。圖5揭示了根據(jù)本發(fā)明的一實施例中數(shù)個轉(zhuǎn)碼節(jié)點采用的并行轉(zhuǎn)碼架構(gòu)。該架構(gòu)包括了如下的幾個主要部件或者處理步驟:501.流量監(jiān)控模塊監(jiān)測圖像幀到達時間間隔,得到流量到達速率并檢測出速率變化點。502.電源管理模塊維護操作表,根據(jù)當前活躍的核心數(shù)和所需的核心頻率改變操作級別。503.核心配置模塊根據(jù)操作中的操作級別調(diào)整單個核心的頻率級別。504.任務(wù)調(diào)度模塊基于當前的核心頻率配置信息作出調(diào)度決定,根據(jù)每個核心的轉(zhuǎn)碼速率分配負載。每一個單核的轉(zhuǎn)碼節(jié)點可以采用上述的具有“全解全編”結(jié)構(gòu)的轉(zhuǎn)碼系統(tǒng)。多核并行轉(zhuǎn)碼技術(shù)極大地提高了轉(zhuǎn)碼系統(tǒng)的轉(zhuǎn)碼速度。本發(fā)明還揭示了一種基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度方法,如圖6所示,圖6揭示了根據(jù)本發(fā)明的一實施例的基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度方法的流程圖。該方法600包括:601.從廣電網(wǎng)、電信網(wǎng)和互聯(lián)網(wǎng)接收由內(nèi)容提供商提供的內(nèi)容數(shù)據(jù),內(nèi)容數(shù)據(jù)是含有視音頻碼流的原始文件。602.接收到內(nèi)容數(shù)據(jù)后,將內(nèi)容數(shù)據(jù)設(shè)置成任務(wù)并執(zhí)行。在一個實施例中,為任務(wù)分配優(yōu)先級標記,并根據(jù)優(yōu)先級標記的高低安排執(zhí)行任務(wù)的順序。603.存儲所述含有視音頻碼流的原始文件。604.提取原始文件,解析文件容器,按照內(nèi)容提供商定制的轉(zhuǎn)碼參數(shù)進行碼流解復用,實現(xiàn)視頻碼流和音頻碼流的分離。605.將分離出的視頻碼流分割成具有先后順序的視頻碼流段。在一個實施例中,基于圖像組對視頻碼流進行分割。606.由數(shù)個轉(zhuǎn)碼節(jié)點同時進行轉(zhuǎn)碼,每一個轉(zhuǎn)碼節(jié)點讀取分割后的一個視頻碼流段,根據(jù)內(nèi)容提供商定制的轉(zhuǎn)碼參數(shù)完成轉(zhuǎn)碼。一個轉(zhuǎn)碼節(jié)點也可以用于進行音頻碼流的轉(zhuǎn)換,因為音頻碼流的復雜度較低,進行音頻碼流的轉(zhuǎn)換時,可以讀入完整的音頻碼流進行整體轉(zhuǎn)換。在一個實施例中,每一個轉(zhuǎn)碼節(jié)點包括編解碼庫,編解碼庫以插件的形式部署在轉(zhuǎn)碼節(jié)點中。607.將轉(zhuǎn)碼后的視頻碼流段按照先后順序組合成轉(zhuǎn)碼后的視頻碼流。608.對轉(zhuǎn)碼后的視頻碼流按照內(nèi)容提供商定制的文件格式進行復用,并入音頻碼流并生成成品文件,存儲成品文件。609.提取成品文件并對外發(fā)送。上述的方法600中的執(zhí)行細節(jié)與前述分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)100中的實現(xiàn)細節(jié)相對應(yīng),此處不再贅述。綜合而言,本發(fā)明的基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)和方法具有如下的特點:可擴展性強,通過增加計算節(jié)點就可以增強集群的轉(zhuǎn)碼能力,而集群對單個計算節(jié)點的計算能力沒有過多限制,從而提高單機的利用率,避免資源浪費;任務(wù)調(diào)度靈活,可以根據(jù)單個轉(zhuǎn)碼任務(wù)的優(yōu)先級、當前空余的計算節(jié)點數(shù)和剩余計算能力進行任務(wù)的拆分和計算資源的調(diào)配;系統(tǒng)魯棒性高,集群中計算節(jié)點的冗余使得即便單個或少數(shù)幾個節(jié)點出現(xiàn)故障,系統(tǒng)僅損失相應(yīng)的一小部分計算能力,仍可以正常運轉(zhuǎn)。本發(fā)明提出的基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)和方法,是一種多格式細粒度的視頻轉(zhuǎn)碼系統(tǒng),通過搭建分布式集群轉(zhuǎn)碼系統(tǒng),將一個高復雜度的轉(zhuǎn)碼任務(wù)拆分為若干個低復雜度的子任務(wù)后在集群內(nèi)統(tǒng)一調(diào)度,由單個計算節(jié)點完成子任務(wù)后再統(tǒng)一合并,達到快速轉(zhuǎn)碼的目的。同時,對于較難采用拆分合并機制的實時視頻流,系統(tǒng)將集成高性能的硬件轉(zhuǎn)碼板卡設(shè)備,實現(xiàn)實時轉(zhuǎn)碼。
權(quán)利要求
1.一種基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng),其特征在于,該分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)連接到廣電網(wǎng)、電信網(wǎng)和互聯(lián)網(wǎng)并接收內(nèi)容提供商提供的內(nèi)容數(shù)據(jù),所述分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)包括: 內(nèi)容接收接口,連接到所述廣電網(wǎng)、電信網(wǎng)和互聯(lián)網(wǎng),從廣電網(wǎng)、電信網(wǎng)和互聯(lián)網(wǎng)接收由內(nèi)容提供商提供的內(nèi)容數(shù)據(jù),所述內(nèi)容數(shù)據(jù)是含有視音頻碼流的原始文件; 存儲系統(tǒng),連接到所述內(nèi)容接收接口,存儲所述含有視音頻碼流的原始文件; 碼流預處理模塊,連接到所述存儲系統(tǒng),從存儲系統(tǒng)接收所述原始文件,解析文件容器,按照內(nèi)容提供商定制的轉(zhuǎn)碼參數(shù)進行碼流解復用,實現(xiàn)視頻碼流和音頻碼流的分離;碼流分割模塊,連接到所述碼流預處理模塊,碼流分割模塊將由碼流預處理模塊分離出的視頻碼流分割成具有先后順序的視頻碼流段; 數(shù)個轉(zhuǎn)碼節(jié)點,連接到所述碼流分割模塊,每一個轉(zhuǎn)碼節(jié)點從碼流分割模塊讀取分割后的一個視頻碼流段,根據(jù)內(nèi)容提供商定制的轉(zhuǎn)碼參數(shù)完成轉(zhuǎn)碼; 碼流合并模塊,連接到所述數(shù)個轉(zhuǎn)碼節(jié)點,碼流合并模塊將轉(zhuǎn)碼后的視頻碼流段按照先后順序組合成轉(zhuǎn)碼后的視頻碼流; 碼流后處理模塊,連接到所述碼流合并模塊和存儲系統(tǒng),碼流后處理模塊對轉(zhuǎn)碼后的視頻碼流按照內(nèi)容提供商定制的文件格式進行復用,并入音頻碼流并生成成品文件,碼流后處理模塊將成品文件存儲在存儲系統(tǒng)中; 內(nèi)容發(fā)送接口,連接到所述廣電網(wǎng)、電信網(wǎng)和互聯(lián)網(wǎng),還連接到所述存儲系統(tǒng),內(nèi)容發(fā)送接口從存儲系統(tǒng)中提取成品文件并對外發(fā)送; 任務(wù)調(diào)度模塊,連接到所述內(nèi)容接收接口、存儲系統(tǒng)、碼流預處理模塊、碼流分割模塊、數(shù)個轉(zhuǎn)碼節(jié)點、碼流合并 模塊、碼流后處理模塊和內(nèi)容發(fā)送接口,任務(wù)調(diào)度模塊在接收到內(nèi)容數(shù)據(jù)后,將內(nèi)容數(shù)據(jù)設(shè)置成任務(wù),并向上述各個組件發(fā)送控制指令,指示所述組件工作。
2.如權(quán)利要求1所述的基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng),其特征在于,每一個轉(zhuǎn)碼節(jié)點包括編解碼庫,編解碼庫以插件的形式部署在轉(zhuǎn)碼節(jié)點中。
3.如權(quán)利要求1所述的基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng),其特征在于,所述碼流分割模塊基于圖像組對視頻碼流進行分割。
4.如權(quán)利要求1所述的基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng),其特征在于,所述任務(wù)調(diào)度模塊為任務(wù)分配優(yōu)先級標記,并根據(jù)優(yōu)先級標記的高低安排執(zhí)行任務(wù)的順序。
5.一種基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度方法,其特征在于,包括: 從廣電網(wǎng)、電信網(wǎng)和互聯(lián)網(wǎng)接收由內(nèi)容提供商提供的內(nèi)容數(shù)據(jù),所述內(nèi)容數(shù)據(jù)是含有視音頻碼流的原始文件; 接收到內(nèi)容數(shù)據(jù)后,將內(nèi)容數(shù)據(jù)設(shè)置成任務(wù)并執(zhí)行; 存儲所述含有視音頻碼流的原始文件; 提取原始文件,解析文件容器,按照內(nèi)容提供商定制的轉(zhuǎn)碼參數(shù)進行碼流解復用,實現(xiàn)視頻碼流和音頻碼流的分離; 將分離出的視頻碼流分割成具有先后順序的視頻碼流段; 由數(shù)個轉(zhuǎn)碼節(jié)點同時進行轉(zhuǎn)碼,每一個轉(zhuǎn)碼節(jié)點讀取分割后的一個視頻碼流段,根據(jù)內(nèi)容提供商定制的轉(zhuǎn)碼參數(shù)完成轉(zhuǎn)碼;將轉(zhuǎn)碼后的視頻碼流段按照先后順序組合成轉(zhuǎn)碼后的視頻碼流; 對轉(zhuǎn)碼后的視頻碼流按照內(nèi)容提供商定制的文件格式進行復用,并入音頻碼流并生成成品文件,存儲成品文件; 提取成品文件并對外發(fā)送。
6.如權(quán)利要求5所述的基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度方法,其特征在于,每一個轉(zhuǎn)碼節(jié)點包括編解碼庫,編解碼庫以插件的形式部署在轉(zhuǎn)碼節(jié)點中。
7.如權(quán)利要求5所述的基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度方法,其特征在于,基于圖像組對視頻碼流進行分割。
8.如權(quán)利要求5所述的基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度方法,其特征在于,為任務(wù)分配優(yōu)先級標 記,并根據(jù)優(yōu)先級標記的高低安排執(zhí)行任務(wù)的順序。
全文摘要
本發(fā)明揭示了一種基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng),該分布式轉(zhuǎn)碼任務(wù)調(diào)度系統(tǒng)連接到廣電網(wǎng)、電信網(wǎng)和互聯(lián)網(wǎng)并接收內(nèi)容提供商提供的內(nèi)容數(shù)據(jù),包括內(nèi)容接收接口、存儲系統(tǒng)、碼流預處理模塊、碼流分割模塊、數(shù)個轉(zhuǎn)碼節(jié)點、碼流合并模塊、碼流后處理模塊、內(nèi)容發(fā)送接口和任務(wù)調(diào)度模塊。任務(wù)調(diào)度模塊連接到上述的各個組件,任務(wù)調(diào)度模塊在接收到內(nèi)容數(shù)據(jù)后,將內(nèi)容數(shù)據(jù)設(shè)置成任務(wù),并向上述各個組件發(fā)送控制指令,指示組件工作。本發(fā)明還揭示了一種基于視頻圖像組分割的分布式轉(zhuǎn)碼任務(wù)調(diào)度方法。
文檔編號H04N7/26GK103152613SQ20111040013
公開日2013年6月12日 申請日期2011年12月6日 優(yōu)先權(quán)日2011年12月6日
發(fā)明者張世樂, 王嶺, 盧寶豐, 陸偉 申請人:上海文廣互動電視有限公司