国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

三網融合下基于云計算的實時轉碼技術研究和應用

2011-03-11 07:28段保通邵鋒軍
電信科學 2011年3期
關鍵詞:轉碼矢量分辨率

包 盛,段保通,邵鋒軍

(中國電信股份有限公司上海研究院 上海 200122)

1 引言

在三網融合新政下,電信運營商以IPTV業(yè)務為切入點,圍繞視頻應用,在不同終端上開展各類視頻業(yè)務,包括IPTV業(yè)務、PC視頻業(yè)務和移動視頻業(yè)務。視頻業(yè)務的種類包含視頻點播、直播、回看和增值等,視頻業(yè)務的內容質量在不同終端上的標準各不相同,主要分為IPTV高清、IPTV標清、互聯(lián)網視頻、移動清晰、移動流暢等規(guī)格。同一視頻內容為了能在不同終端上進行播放,需要預先做好離線轉碼工作,每個原始視頻內容需要對應7~8個轉碼后的視頻內容,既浪費了線下轉碼時間、消耗了大量的存儲空間,又增加了數(shù)據(jù)一致性的維護成本。三網融合后,以“內容為王”的跨屏視頻應用需要更快、更強、更節(jié)省資源的轉碼方式。

目前,視頻領域采用的常見轉碼方案有硬件轉碼和軟件轉碼:硬件轉碼主要應用于視頻直播流轉碼,一般采用專用ASIC芯片或者FPGA可編程器件,轉碼參數(shù)設置好后很難改變,每臺轉碼設備能夠支持4~8路視頻流的轉換;軟件轉碼則可以應用在各種轉碼場景,包括實時轉碼和離線轉碼,轉碼參數(shù)設置靈活,轉碼路數(shù)和速度取決于轉碼計算機的性能及數(shù)據(jù)的訪問和寫入速度。軟件轉碼是目前業(yè)界的首選方案,哈雷公司在2009年推出的基于工作流程的分布式轉碼系統(tǒng)RhozetTMCarbon ServerTM4.0就是一個全自動化的軟件轉碼產品。但是,由于視頻應用的飛速發(fā)展,分布式轉碼技術將無法勝任高并發(fā)、海量視頻的轉碼需求,云計算技術的出現(xiàn),使得解決各種視頻格式、各種碼流要求的海量實時視頻轉碼問題成為可能。

本文提出了一種基于云計算技術的視頻內容實時轉碼[1]的解決方法,通過該方法實現(xiàn)視頻內容的實時轉換和終端匹配,大大減輕了運維人員日常轉碼和內容數(shù)據(jù)的維護工作。同時,通過建設云轉碼平臺,開放實時轉碼能力,為第三方用戶提供視頻云轉碼服務,創(chuàng)造能力出租、內容匯聚、媒體經營的商業(yè)模式。

2 云計算轉碼關鍵技術

云計算轉碼關鍵技術主要包括視頻轉碼技術和云計算技術,視頻轉碼技術按照結構可以分為像素域轉碼和變換域轉碼,像素域轉碼采用“全解全編”結構,優(yōu)點主要表現(xiàn)在實現(xiàn)靈活,可以滿足各種轉碼需求,轉碼輸出的圖像質量較高,而其復雜度高、計算量大的缺點正好可以使用云計算技術進行彌補。下面我們將重點介紹這兩種關鍵技術。

2.1 視頻轉碼技術

視頻轉碼的功能主要包括碼率轉換、空間分辨率轉換、時間分辨率轉換和編碼格式轉換。

(1)碼率轉換

碼率轉換是指為使視頻內容適合在互聯(lián)網、移動網等低帶寬網絡上進行播放,通過有效地降低視頻碼率,使得經過編碼器輸出的碼率符合網絡傳輸要求。視頻碼率轉換主要包括4種方法:第一種是截斷高頻DCT分量,通過丟棄部分高頻DCT系數(shù),使得各塊的碼流符合要求,其缺點是丟棄高頻系數(shù)會造成圖像細節(jié)的缺失,轉換之后的圖像質量較差;第二種是選擇合適的量化步長,對解碼后頻域系數(shù)進行再量化來降低碼率,該方法是對第一種方法的優(yōu)化;第三種方法是利用提取的運動矢量和編碼模式對圖像重新編碼,避免重做運動估計和編碼模式選擇;第四種方法是從視頻流中提取相應的編碼信息,只做一次DCT、IDCT,采用運動矢量優(yōu)化方法提取運動估計的精準性。前兩種方法屬于開環(huán)系統(tǒng),不需要通過DCT/IDCT進行重建圖像,雖然很大程度上降低了計算的復雜度,但是圖像質量較差;后兩種方法屬于閉環(huán)系統(tǒng),對解碼圖像進行了重建,反饋了參考幀圖像,重新計算了各宏塊的殘差,計算復雜度較高,但是獲得的圖像質量比較好。

(2)空間分辨率轉換[2]

空間分辨率轉換是指將高質量的視頻(1080P)通過降低空間分辨率在移動終端(QCIF)上進行播放,通過在“全解全編”架構中添加采樣模塊實現(xiàn),主要包括下采樣算法和運動矢量的映射算法和伸縮算法。降低空間分辨率的下采樣算法是指為了縮小圖像的空間尺寸,對原有的采樣方式進行更改,可采用的方法有:像素平均法,即采用2×2像素的平均表示一個像素;濾波采用法,通過濾波器對原始圖像進行濾波,然后進行抽樣。運動矢量的映射算法和伸縮算法是指利用運動矢量的等比例縮放進行視頻圖像的壓縮,當空間分辨率降低后,低分辨率圖像的一個宏塊會對應原來的多個宏塊,采用一定的方法計算合適的運動矢量作為新宏塊的運動矢量,并將所得的運動矢量除以分辨率的壓縮比,以獲得低分辨率圖像下最終的運動矢量。具體的映射算法包括平均值法、中值法和任意選取一個矢量作為當前宏塊的運動矢量。

(3)時間分辨率轉換

時間分辨率轉換是指通過降低視頻序列的幀率,降低對解碼設備處理能力的要求,以適合帶寬小、終端處理能力弱、設備分辨率低的情況。降低幀率并不是簡單的丟棄幀,有時需要利用丟棄幀的運動信息重新合成運動矢量。時間分辨率轉換的方法主要包括丟幀、幀類型轉換和運動矢量合成算法。丟幀策略考慮到B幀對I、P幀沒有影響,首先丟棄B幀。同時,應該根據(jù)運動矢量的積累程度決定是否需要采用合適的跳幀策略。幀類型轉換主要包括B幀到P幀的轉碼,即把原來前向、后向、雙向運動矢量全部轉換成前向運動矢量。運動矢量合成算法是指視頻幀之間的運動矢量依賴關系由于丟幀之后產生了中斷,通過利用丟棄幀中的運動信息,采用運動矢量合成算法,生成新的參考幀運動矢量。具體的運動矢量合成算法包括雙線性插值法、前向主矢量選擇法、伸縮矢量合成法和宏塊活躍度矢量選擇法等。

(4)編碼格式轉換

編碼格式轉換是將原始視頻內容所采用的編碼格式轉換成終端能夠解碼播放的格式。視頻編碼格式主要包括H.264、MPEG-4、MPEG-2、VC-1、RealVideo、H.263、VP6 等 ,由于H.264采用了許多新技術,提高了編碼效率,并且同等畫質下相比其他編碼格式碼率較低,已經成為當前主流的編碼格式。因此,在從傳統(tǒng)的視頻編碼標準到H.264轉換的過程中,需要根據(jù)H.264采用多參考幀、多編碼模式以及1/4像素運動估計等特點進行優(yōu)化[3],以減少高準確度所帶來的高計算量,主要包括幀內圖像預測、多模式選擇和運動估計等[4]。

由上述分析可見,視頻轉碼過程中所涉及的編碼模式選擇、運動矢量提取、預測估計和合成等步驟都需要大量的數(shù)學運算,傳統(tǒng)的轉碼平臺無法支持大并發(fā)量的實時轉碼請求,云計算技術的出現(xiàn)為大容量實時轉碼平臺提供了解決方案。

2.2 云計算技術

云計算關鍵技術[5]主要包括Bigtable技術、MapReduce技術和HDFS分布式文件系統(tǒng)技術。下面將對這3個關鍵技術進行展開討論。

(1)Bigtable技術

Bigtable是一種分布式的結構化數(shù)據(jù)庫技術,可以用來設計處理分布在數(shù)千臺服務器上的PB級海量數(shù)據(jù),具有很好的適用性、可擴展性和高可用性。Bigtable是一個稀疏、分布式、可持久化存儲的多維度排序Key-value數(shù)據(jù)庫。數(shù)據(jù)庫的索引是行關鍵字、列關鍵字和時間戳,數(shù)據(jù)庫的值是可以由用戶自己定義的XML格式。數(shù)據(jù)庫中的每個行可以支持動態(tài)分區(qū),分區(qū)后得到的Tablet是數(shù)據(jù)分布和負載均衡的最小單位,通過采用特定的Tablet服務器可以實現(xiàn)數(shù)據(jù)的分布式存儲。列是用來描述需要存放的數(shù)據(jù)屬性,多個列關鍵字可以組成列族,列族中的數(shù)據(jù)都屬于同一類型,列族的使用可以對多個列關鍵字進行批量的處理。Bigtable中每個存儲的數(shù)據(jù)項都可以包含同一個數(shù)據(jù)的不同版本,不同版本的數(shù)據(jù)通過時間戳進行區(qū)別。為了減輕版本管理的負擔,Bigtable對每個列族都配有兩個設置參數(shù),通過這兩個參數(shù)對廢棄版本的數(shù)據(jù)進行自動垃圾收集,比如,用戶可以指定只保存最后n個版本,或者只保存最后n天寫入的數(shù)據(jù)。

(2)MapReduce技術

MapReduce技術是一種新興的分布式計算模型[6],可以支持處理TB級別以上的巨量數(shù)據(jù)業(yè)務。MapReduce的基本原理是對輸入的數(shù)據(jù)進行邏輯上的Map操作,并根據(jù)需求計算出一對Key-value值,然后對輸出的Key-value值進行Reduce操作,合并后生成最終數(shù)據(jù)。在MapReduce執(zhí)行的過程中,首先會對輸入文件進行分片,然后在大量服務器中開始拷貝程序,由主控程序分配Map、Reduce任務給任意的空閑服務器。分配到Map任務的服務器讀取輸入的分片文件,分析出Key-value對,然后根據(jù)用戶自定義的Map函數(shù)進行處理,并將結果寫入磁盤上的多個不同區(qū)域中。分配到Reduce任務的服務器通過遠程調用獲取磁盤上的數(shù)據(jù),并對具有相同key值的內容進行排序和聚合。MapReduce技術在具體應用中還需要進一步考慮容錯機制和任務的顆粒度,從而獲得最大的計算性能。

(3)HDFS 分布式文件系統(tǒng)

HDFS分布式文件系統(tǒng)[7]是一種基于流模式(write one read many)的數(shù)據(jù)訪問文件系統(tǒng),能夠支持PB級的海量數(shù)據(jù)。HDFS采用主/從架構,一個HDFS集群包含一個中心服務器(namenode)和多個數(shù)據(jù)服務器(datanode)。中心服務器負責管理文件系統(tǒng)的命名空間和客戶端對文件的訪問。數(shù)據(jù)服務器負責管理節(jié)點上的數(shù)據(jù)存儲。在文件存儲時,文件將被分成一個或者多個塊(block),這些塊存儲在數(shù)據(jù)服務器中。在文件讀取時,由中心服務器執(zhí)行文件的打開、關閉等操作,并決定塊在數(shù)據(jù)服務器上的映射。在進行文件復制時,所有的塊都會被復制,每個文件的塊大小和復制因子都是可配置的。中心服務器負責管理塊的復制,它周期性地從集群中的每個數(shù)據(jù)服務器接收心跳包和一個塊報告。心跳包的接收表示該數(shù)據(jù)節(jié)點正常工作,而塊報告包括了該數(shù)據(jù)服務器上所有的塊組成的列表。

3 基于云計算的視頻轉碼架構

3.1 總體架構

目前,運營商開展的視頻業(yè)務采用離線轉碼的實現(xiàn)方式。在這種方式下,對于CP上傳的每個視頻內容,都需要在統(tǒng)一內容管理系統(tǒng)中進行轉換,生成MPEG-4、H.264兩種編碼格式以及標清、互聯(lián)網、移動清晰、移動流暢4種類型的碼流。對于今后大規(guī)模開展三網融合視頻業(yè)務,存在內容上線時間長、消耗存儲多、數(shù)據(jù)維護難等一系列問題。

通過運用云計算轉碼技術,新增云轉碼平臺,形成新的實時轉碼體系架構。統(tǒng)一內容管理系統(tǒng)在內容上線時,可直接向各個視頻業(yè)務系統(tǒng)發(fā)布同一內容及內容元數(shù)據(jù)。用戶通過不同終端使用視頻業(yè)務時,由云轉碼平臺從視頻業(yè)務系統(tǒng)中獲取內容數(shù)據(jù)并進行實時轉碼。體系架構如圖1所示。

體系架構中各模塊及功能作用如下。

(1)應用終端

可以通過客戶端方式或者“瀏覽器+視頻播放器”方式進行視頻流媒體的播放或者下載觀看,對于無法播放的視頻內容,直接向云轉碼平臺發(fā)起轉碼請求,由云轉碼平臺提供流媒體服務。

(2)視頻業(yè)務系統(tǒng)

三網融合視頻業(yè)務系統(tǒng)包括移動視頻業(yè)務系統(tǒng)、互聯(lián)網視頻業(yè)務系統(tǒng)和IPTV業(yè)務系統(tǒng)。每個業(yè)務系統(tǒng)都包含視頻門戶、視頻業(yè)務能力系統(tǒng)和視頻業(yè)務管理系統(tǒng)。視頻門戶主要提供業(yè)務展示,能夠同時為應用客戶端方式及“瀏覽器+播放器”方式提供業(yè)務展示;視頻業(yè)務能力系統(tǒng)主要提供點播、直播和回看等流媒體服務能力以及視頻內容下載能力;視頻業(yè)務管理系統(tǒng)提供視頻業(yè)務的認證、管理、計費,并可以平滑升級到由ISMP進行統(tǒng)一管理。

(3)統(tǒng)一內容管理系統(tǒng)

視頻內容均來自統(tǒng)一內容管理系統(tǒng),該系統(tǒng)提供視頻的內容獲取、元數(shù)據(jù)管理、內容發(fā)布等功能。

圖1 三網融合下的視頻業(yè)務實時轉碼體系架構

(4)云轉碼平臺

包括視頻轉碼倉庫和云轉碼能力,云轉碼平臺將視頻內容進行實時轉換后,提供給CDN系統(tǒng),由CDN系統(tǒng)提供給終端進行播放,同時將轉碼后的視頻內容保存在視頻倉庫中。視頻倉庫可根據(jù)轉碼內容定期進行用戶行為分析,并將分析結果反饋給統(tǒng)一內容管理系統(tǒng)。

3.2 云轉碼平臺的設計

云轉碼平臺的架構設計運用了云計算的關鍵技術,采用Bigtable技術對轉碼原始內容和轉碼后內容的存儲,可通過URL關鍵字排序快速獲取各種類型的碼流,將視頻編碼幀逐幀存儲在數(shù)據(jù)庫中,可進行快速讀取和復制,Tablet的易擴展性也能夠保障業(yè)務的擴容需求;采用MapReduce技術對切片的視頻幀進行高效并行的轉碼處理,由轉碼程序預先設置好的執(zhí)行程序可以滿足各種形式的轉碼需求;采用HDFS文件存儲技術對Bigtable表和轉碼中間文件進行存儲,對轉碼文件進行高速訪問和復制。云轉碼平臺的具體設計要求如下。

(1)云轉碼平臺在進行Key-value數(shù)據(jù)庫設計時,行關鍵字為視頻內容的URL播放地址,列關鍵字為需要轉碼的參數(shù),包括碼率、幀率、分辨率、終端類型等,存儲的數(shù)據(jù)為視頻內容的編碼幀數(shù)據(jù)。

(2)云轉碼平臺單個任務的輸入數(shù)據(jù)一般切片為16~64 MB,Reduce任務一般為服務器數(shù)量的2~3倍。

(3)云轉碼平臺應采用“全解全編”的像素域轉碼結構,而不采用對轉碼質量影響較大的變換域轉碼結構。在進行視頻內容的碼率轉換時,應采用從視頻流中提取編碼信息,利用提取的運動矢量和編碼模式對圖像重新進行編碼的方式,而不應采用直接丟棄高頻DCT系數(shù)或者對頻域系數(shù)進行重新量化來降低碼率的方式。

(4)云轉碼平臺在進行空間分辨率轉換時,應通過在“全解全編”結構中增加采樣模塊來實現(xiàn)。使用下采樣算法和運動矢量的映射算法和伸縮算法實現(xiàn)空間分辨率的降低。

(5)云轉碼平臺在進行時間分辨率轉化時,應采用丟棄視頻幀和幀類型轉換的方式實現(xiàn)。在丟棄視頻幀和進行幀類型轉換后,還需要進一步通過運動矢量合成算法,重新生成新的參考幀的運動矢量,保證視頻幀的連貫性。

(6)云轉碼平臺在進行視頻轉碼時,應增加容錯機制,通過采用前向糾錯(FEC)和自動重發(fā)請求(ARQ)等容錯措施降低誤碼率。

(7)云轉碼平臺應盡量采用One-Pass轉碼方式,由于解碼過程不會造成圖像質量的損失,質量的下降是在編碼過程中引入的,所以應在編碼過程中盡量減少其他環(huán)節(jié),解碼后直接編碼。只在下面情況發(fā)生時采用Two-Pass轉碼:碼率無法壓縮到預定要求;碼流的雜聲太大,可以做濾波處理。

4 結束語

目前,云計算技術已經在互聯(lián)網領域得到廣泛應用,涉及海量數(shù)據(jù)的應用,如Facebook、GoogleMap等均采用云計算技術作為其基礎框架。電信運營商在三網融合業(yè)務中引入云計算技術是一種新的嘗試,其目的是為了加快運營效率、改善用戶體驗。在業(yè)務運營過程中,我們將更關注于云計算技術給實時轉碼平臺帶來的高效性、可擴展性和易部署性。

1 王海蓉,邢衛(wèi),魯東明.面向移動網絡的實時視頻轉碼系統(tǒng).計算機工程,2009(3)

2 韓鎮(zhèn),胡瑞敏,陳皓.一種基于精確度的降分辨率視頻轉碼運動矢量合成算法.中國圖像圖形學報,2010(1)

3 尚凱,張萬緒.AVS-H.264視頻轉碼快速算法.計算機工程,2010(12)

4 王波,劉滌塵,李敏.一種基于H.264的混合視頻轉碼方法.計算機應用研究,2009(5)

5 陳全,鄧倩妮.云計算及其關鍵技術.計算機應用,2009(9)

6 桂兵祥,何健.基于高性能云的分布式數(shù)據(jù)并行處理機制.武漢工業(yè)學院學報,2010(1)

7 許春玲,張廣泉.分布式文件系統(tǒng)Hadoop HDFS與傳統(tǒng)文件系統(tǒng)Linux FS的比較與分析.蘇州大學學報,2010,(4)

8 韋樂平.三網融合的思考.電信科學,2010,26(3)

猜你喜歡
轉碼矢量分辨率
一種適用于高軌空間的GNSS矢量跟蹤方案設計
矢量三角形法的應用
天津臺新聞云系統(tǒng)外來視頻文件轉碼方案
視頻轉碼技術在廣播電視中的應用研究
EM算法的參數(shù)分辨率
原生VS最大那些混淆視聽的“分辨率”概念
基于IPTV點播業(yè)務的視頻分段式轉碼方案的研究與應用
基于深度特征學習的圖像超分辨率重建
一種改進的基于邊緣加強超分辨率算法
基于矢量最優(yōu)估計的穩(wěn)健測向方法