引言
服務器、交換機,、前端編碼器以及專用演播顯示器等廣播基礎設備系統(tǒng)支持各種輸入圖像格式,在存儲、編碼和顯示之前,,通常需要將圖像轉換為高清晰(HD) 或者其他分辨率格式。專用ASSP 雖然滿足了這一市場需求,,取得了一定的成功,,但仍然面臨通過采用單芯片方案來滿足廣播設備供應商各種特殊需求這一挑戰(zhàn)。例如,,在交換機應用中,,總延時非常重要,延時是顯示和視頻會議系統(tǒng)的關鍵因素,,而圖像質(zhì)量是攝制后期設備最重要的指標,。除了這些特殊應用需求,器件還必須能夠支持各種幀速率,、分辨率和格式,。
而且,這類設備的設計周期相對較短,,當需求變化時,,設計人員沒有足夠的時間等待長周期ASSP 重制的完成。結果,,很多優(yōu)秀的視頻技術ASSP 供應商在這一領域未能及時跟上市場的腳步,,被消費類電子芯片生產(chǎn)商收購,,為消費類市場提供視頻處理專業(yè)技術。例如,, Gennum (VXP),、Genesis、Silicon Optix 和LetIt Wave 分別被Sigma Designs,、ST Micro,、IDT 和Zoran 收購。
在這一ASSP 行業(yè)合并和重新定位過程中,, FPGA 視頻處理功能不斷增強,,成為定制圖像格式轉換應用的理想平臺。為支持加速實現(xiàn)FPGA 圖像格式轉換,, Altera 開發(fā)了本白皮書介紹的1080p 視頻設計工作臺,,幫助系統(tǒng)設計人員輕松開發(fā)定制圖像格式轉換信號鏈。本文所討論的圖像格式轉換參考設計可以作為起點,,適當修改后用于定制視頻處理應用開發(fā),。本設計經(jīng)過硬件驗證,可以提供給授權用戶,。
1 視頻設計工作臺
Altera 視頻設計工作臺集成了各種工具和構建模塊視頻功能,,有助于加速定制圖像格式轉換設計的開發(fā)和實現(xiàn)。它包括以下組成:
■ 構建模塊視頻知識產(chǎn)權(IP) 內(nèi)核
■ 格式轉換參考設計,,展示FPGA 功能,,提供設計起點。
■ 低開銷開放視頻接口,,支持混合匹配定制或者商用IP 模塊,。
■ 用于集成處理器和存儲器子系統(tǒng)的系統(tǒng)級設計工具
■ 可迅速進行原型設計的各種視頻開發(fā)套件
Altera 為視頻處理開發(fā)了各種構建模塊,即,,視頻和圖像處理(VIP) 包( 參見圖1),。在這一開發(fā)包的眾多功能中,縮放和去隔行是圖像格式轉換設計最常用的功能,。Altera 的VIP 包具有復雜的多相縮放引擎和去隔行功能,,可以配置實現(xiàn)運動自適應去隔行功能。其他常用的功能包括色度重新采樣,、顏色空間轉換以及幀速率轉換等,,這些都含在VIP 包中??梢园堰@些視頻功能結合在一起,,開發(fā)定制視頻格式轉換設計。
圖1. 視頻圖像處理(VIP) 包
這一視頻設計工作臺提供以前由ASSP 實現(xiàn)的功能,還具有定制設計并進行更新的優(yōu)點( 參見表1),。
表1. Altera 視頻設計工作臺與廣播ASSP 的對比
2 圖像格式轉換設計
如圖2 所示,,幾乎所有的演播系統(tǒng),包括服務器,、交換機,、前端編碼器和面板等都需要進行定制圖像格式轉換,這是非常適合可編程FPGA 體系結構的應用,。Altera 圖像格式轉換設計實現(xiàn)了隔行和逐行格式視頻標準清晰度(SD) 和HD 視頻流的高質(zhì)量上,、下、交叉轉換,。這一設計在硬件中進行了驗證,,可以從當?shù)谹ltera 現(xiàn)場應用工程師(FAE) 那里獲得。
圖2. 典型演播系統(tǒng)的功能結構圖
圖3 所示的格式轉換設計實現(xiàn)了雙通道視頻的圖像格式轉換,。該設計包括兩路SDI 通道視頻,,處理SD,、HD 以及3G-SDI ( 全HD),。
圖3. Altera 采用視頻設計工作臺開發(fā)的圖像格式轉換設計
首先由同步視頻輸入MegaCore 功能來處理SDI 視頻數(shù)據(jù)。該功能將同步視頻格式數(shù)據(jù)( 例如,, BT656 或者DVI) 轉換為流控制Avalon 流(Avalon-ST) 視頻協(xié)議,,實現(xiàn)與數(shù)據(jù)通路后面其他視頻處理功能的鏈接。
采用高質(zhì)量視頻處理數(shù)據(jù)通路來處理第一個視頻通道,。對每一輸入視頻圖像( 這個例子中是NTSC) 場的前三行進行剪輯,,輸出720x240 圖像。剪輯后的視頻數(shù)據(jù)在從YcbCr 顏色空間轉換為RGB 之前,,經(jīng)過色度上采樣,,轉換為YCbCr 4:4:4 格式。色度上采樣功能使用具有固定Lanczos-2 系數(shù)的4 抽頭濾波器,。顏色空間轉換器也采用了取整( 向上半數(shù)取整) 算法,,輸出8 位位寬數(shù)據(jù)。
然后,,將視頻傳送至去隔行功能模塊,。由于運動自適應算法要求輸入顏色通道具有相同的采樣率,因此,,在進行去隔行處理之前,,先進行色度上采樣。( 今后的去隔行IP 將支持4:2:2 模式的視頻處理功能),。去隔行器經(jīng)過配置后,,能夠同時接收逐行和隔行視頻。當輸入視頻是隔行格式時,運動自適應算法產(chǎn)生逐行格式的視頻流,。當輸入視頻是逐行格式時,,去隔行器直接輸出數(shù)據(jù),不對其進行處理,。當進行運動自適應去隔行處理時,,數(shù)據(jù)在外部存儲器中進行緩沖,完成基本幀速率轉換處理,。
然后,,通過參數(shù)賦值縮放器功能( 具有12 個橫向和12 個縱向抽頭) 的多相算法對逐行視頻流進行縮放。
采用Avalon 存儲器映射(Avalon-MM) 從機控制接口對縮放器進行配置,,支持縮放器輸出分辨率運行時規(guī)范要求,。此外,當縮放比率變化時,, Nios,? II 處理器上運行的軟件計算并重新裝入合適的系數(shù),從而提高了圖像質(zhì)量,。最后,,在將視頻流與背景測試碼型以及第二個視頻流混合之前,幀緩沖功能在外部存儲器中緩沖視頻數(shù)據(jù),。兩路視頻流輸入到合成器進行縮放和同步,,需要對突發(fā)數(shù)據(jù)流進行平滑處理。
第二個通道處理質(zhì)量稍差,,這樣可以提高視頻格式轉換的資源利用率,。主要有兩種方法來處理兩路不同格式的視頻流:
■ 使用簡單的最近鄰居縮放算法對第二個視頻流進行縮放,需要較少的片內(nèi)存儲器和乘法器資源,。
■ 使用場合并去隔行算法對第二個視頻流進行去隔行處理,,需要較少的邏輯資源和外部存儲器帶寬。
3 定制您的圖像格式轉換設計
Altera 視頻工作臺從根本上支持用戶定制設計,。工作臺支持三級定制,,非常靈活,如圖4 所示,。在FPGA 領域,,這種定制功能是前所未有的,采用ASSP 進行設計是無法實現(xiàn)的,。
圖4. Altera 視頻工作臺支持不同層面的定制功能
采用Altera 視頻工作臺開發(fā)設計時,,可以使用兩種創(chuàng)新技術實時進行更新:
■ 數(shù)據(jù)包格式流接口——設計用于在功能模塊之間同時傳送視頻和控制數(shù)據(jù)包。
■ 算法功能模塊配置——可以配置為存儲器映射組件,,通過寫入相應的控制寄存器,,實時更新功能。
Avalon-ST 視頻協(xié)議是Altera 新的低開銷流協(xié)議,提供面向數(shù)據(jù)包的方法來發(fā)送視頻和控制數(shù)據(jù),??刂茢?shù)據(jù)包用于發(fā)送動態(tài)參數(shù),該參數(shù)描述流視頻幀格式,。這些參數(shù)應用于將要到達的下一視頻數(shù)據(jù)包,,或者在編譯時設定,用在復位后接收到的第一個視頻數(shù)據(jù)包上,。( 表2 列出了控制數(shù)據(jù)包是怎樣提供下一幀信息的),。數(shù)據(jù)到達時,視頻數(shù)據(jù)流中的嵌入式控制數(shù)據(jù)包支持采用新數(shù)據(jù)對視頻處理流水線進行重新配置,。
表2. 控制數(shù)據(jù)包支持對視頻流格式的動態(tài)更新
除了通過流接口實現(xiàn)運行時更新,, Altera 開發(fā)的大部分視頻功能模塊都具有運行時更新功能。這表明,,這些模塊使用存儲器映射從機接口,,支持對狀態(tài)機和片內(nèi)處理器的更新。每個從機接口支持對一組控制寄存器的訪問,。例如,,可以使用片內(nèi)處理器,在運行時更新這些控制寄存器,。在新一幀的開始,,更新后的控制數(shù)據(jù)被裝入到IP 功能模塊中,。這樣,,您可以在系統(tǒng)運行時更新圖像大小和縮放系數(shù),改變縮放比,。圖5 顯示了Altera 視頻工作臺多相縮放引擎是怎樣實現(xiàn)運行時控制的,。
圖5. 更新縮放功能
為進一步定制設計,您可以針對MegaCore 功能來修改參數(shù),。Altera 開發(fā)的所有視頻功能都是可以進行參數(shù)賦值的,。如圖6 所示,利用去隔行器功能,,您不但可以選擇去隔行算法,,還可以選擇默認場、直通模式,、外部存儲器緩沖幀數(shù)量,、輸出幀速率和運動控制補償?shù)人惴ā?/p>
圖6. 參數(shù)賦值硬件功能模塊
Avalon-ST 和Avalon-MM 接口標準的開放即插即用規(guī)范意味著您可以先進行圖像格式轉換設計,然后,,采用定制模塊來替換Altera 模塊,。很多設計人員都有適合自己應用的定制算法。為實現(xiàn)定制算法的簡單集成,Altera 提供支持Avalon-ST 接口打包器的HDL 模板,。打包器包括以下模塊:
■ VIP 控制數(shù)據(jù)包解碼器——從數(shù)據(jù)流中解碼VIP 控制數(shù)據(jù)包,,將解碼后的數(shù)據(jù)( 寬度、高度,、隔行信息)作為單獨的信號發(fā)送給算法功能模塊,。
■ VIP 控制數(shù)據(jù)包編碼器——根據(jù)接收到的寬度、高度和隔行信息對VIP 控制數(shù)據(jù)包編碼,,將其插入到數(shù)據(jù)流中,。
■ VIP 流控制打包器——圍繞用戶算法進行打包處理,實現(xiàn) Avalon-ST 與簡單讀寫接口的流控制轉換,。
■ 用戶算法內(nèi)核——HDL 模板在用戶算法模塊中提供了簡單的設計實例,。您可以采用自己的算法替代這一模塊。
圖7 所示為HDL 模板的高級結構視圖,。
圖7. Avalon 流HDL 模板
Algolith 作為Altera IP 合作伙伴,,是視頻IP 領域的專業(yè)公司,采用了HDL 模板來評估其內(nèi)核,。Algolith 開始時采用Altera 參考設計進行圖像格式轉換,,然后使用自己的專用運動自適應去隔行器替代Altera 去隔行器,并提供給用戶,,在硬件中進行評估,。同樣, Algolith 使用Altera 視頻設計工作臺開發(fā)了參考設計,,幫助用戶評估他們的噪聲抑制IP,。
4 結論
Altera 視頻工作臺為廣播基礎實施系統(tǒng)實現(xiàn)圖像格式轉換提供所有必須的關鍵功能。采用Altera 視頻設計工作臺和圖像格式轉換參考設計,, FPGA 設計人員現(xiàn)在可以使用以前只有廣播ASSP 才能提供的功能,,而且還具有靈活性和硬件定制等優(yōu)勢。