如何在FPGA中實現(xiàn)圖像格式轉(zhuǎn)換
然后,將視頻傳送至去隔行功能模塊。由于運動自適應算法要求輸入顏色通道具有相同的采樣率,因此,在進行去隔行處理之前,先進行色度上采樣。( 今后的去隔行IP 將支持4:2:2 模式的視頻處理功能)。去隔行器經(jīng)過配置后,能夠同時接收逐行和隔行視頻。當輸入視頻是隔行格式時,運動自適應算法產(chǎn)生逐行格式的視頻流。當輸入視頻是逐行格式時,去隔行器直接輸出數(shù)據(jù),不對其進行處理。當進行運動自適應去隔行處理時,數(shù)據(jù)在外部存儲器中進行緩沖,完成基本幀速率轉(zhuǎn)換處理。
然后,通過參數(shù)賦值縮放器功能( 具有12 個橫向和12 個縱向抽頭) 的多相算法對逐行視頻流進行縮放。
采用Avalon 存儲器映射(Avalon-MM) 從機控制接口對縮放器進行配置,支持縮放器輸出分辨率運行時規(guī)范要求。此外,當縮放比率變化時, Nios? II 處理器上運行的軟件計算并重新裝入合適的系數(shù),從而提高了圖像質(zhì)量。最后,在將視頻流與背景測試碼型以及第二個視頻流混合之前,幀緩沖功能在外部存儲器中緩沖視頻數(shù)據(jù)。兩路視頻流輸入到合成器進行縮放和同步,需要對突發(fā)數(shù)據(jù)流進行平滑處理。
第二個通道處理質(zhì)量稍差,這樣可以提高視頻格式轉(zhuǎn)換的資源利用率。主要有兩種方法來處理兩路不同格式的視頻流:
■ 使用簡單的最近鄰居縮放算法對第二個視頻流進行縮放,需要較少的片內(nèi)存儲器和乘法器資源。
■ 使用場合并去隔行算法對第二個視頻流進行去隔行處理,需要較少的邏輯資源和外部存儲器帶寬。
3 定制您的圖像格式轉(zhuǎn)換設計
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)運行時控制的。
評論