新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于RF5框架的視頻處理系統(tǒng)研究

基于RF5框架的視頻處理系統(tǒng)研究

作者: 時間:2008-11-12 來源:網絡 收藏
引 言
隨著DSP芯片類型的增多和技術的不斷提高,DSP向著多功能、高性能、低功耗方向發(fā)展,DSP硬件技術的更新速度也不斷加快,然而相關軟件技術的開發(fā)卻遠遠落后于硬件的開發(fā)。TMS320 DSP算法參考框架(Reference Framework,RF)的提出就是為了應對這個難題。RF為一種使用DSP/BIOS內核和TMS320 DSP算法標準的通用初始化代碼,用戶可以通過使用并修改該通用代碼使之符合eXpressDSP標準,以實現特定的應用。按復雜程度,從用于產生緊縮用戶系統(tǒng)的RFl,到可提供多算法多通道和不同運行級別的RF5等,參考框架分為多個等級,但目前應用最廣泛的為RFl、RF3和RF5。所有的參考框架都是應用程序可屏蔽的,每個參考框架可以適用于多種應用程序,包括音頻、視頻、網絡通信等。
實際上,參考框架是應用程序的藍本。目前,存儲器管理策略、線程模型和通道封裝是開發(fā)者用于構建系統(tǒng)的主要通用框架單元。把這些工作移交給參考框架來做,開發(fā)者可以專注于自身系統(tǒng)的需求。開發(fā)者可以在參考框架的上層來構建自己的應用程序,而不用擔心下層模塊的穩(wěn)健性和對目標應用程序特性的適應性。參考框架包含了很多已設計成型并且可重用的C語言源代碼。當然,參考框架也提供了一些其他的調整入口點,以供應用程序做調整。參考框架的結構如圖1所示。左側的方框是可提供的框架成員。對于每一個成員,都有入口點,可用于改變相應的應用程序。右側的方框與左側的方框相對應,描述了相應框架所能做的改變,包括應用行為改變、算法替代、驅動改變和硬件改變。


1 RF5框架
參考框架。RF5適用于含有多通道和多算法結構的高密集度應用程序。與低等級參考框架不同,RF5使用線程(任務TSK)阻塞,可用于包含線程間有復雜依賴關系的應用程序。另外,RF5還具有可變的通道管理、基于任務TSK的應用程序、高效的任務間通信,以及結構化的線程安全控制機制,且易于替換I/O驅動設備和易于調試。

參考框架最重要的要求就是保證易于與用戶硬件接口。每一個參考架構均被打包成基于TI DSP開發(fā)工具包或其他板卡的完整的應用程序。針對每一個板卡,可以提供不同等級的參考框架。對應用軟件進行調整以適合參考框架,主要有3個基本要求:調整算法單元和改變通道數量;調整應用程序以使其適應硬件系統(tǒng);改變驅動以利于運行終端硬件。RF5提供了一個通道基礎框架,使其很容易就可以封裝XDAIS算法。通過這一封裝,應用程序設計者可以很容易地使應用程序囊括大量的通道和算
法單元。參考框架RF5模塊的拓撲結構如圖2所示。

1.1 RF5數據處理
RF5共有4個基本的數據處理部件:任務(task)、通道(channel)、單元(cell)和標準算法(XDAIS algorithm)。它們之間的關系如圖3所示。

通常,一個任務中可以包括一個或多個通道,每個通道中可以包括一個或多個單元,而每個單元中則封裝有一個XDAIS算法。單元封裝XDAIS算法的作用在于:提供算法與外部世界的一個標準接口,每個單元執(zhí)行一個簡單的ICELL接口,通過該接口執(zhí)行算法。利用通道可以按序執(zhí)行多個單元,在典型應用中,多個通道可能包含一套執(zhí)行功能相同的單元序列。利用任務可以同時處理一個或多個通道,其目的在于組織任務間的數據通信和設備驅動會話等。與通道不同的是,任務有具體的執(zhí)行代碼,并需要用戶自己編寫。該部分代碼通常是從外界接收數據、控制通道執(zhí)行等。每個任務總是反復執(zhí)行自己的代碼,完成檢查控制信息、獲得數據、執(zhí)行通道、發(fā)送數據等操作。
1.2 RF5中數據通信
RF5中的數據通信包括task級通信和cell級通信。其通信機理為使用結構體進行信息傳遞,而非通過全局變量傳輸處理數據。
1.2.1 task級通信
任務級通信主要用到了SCOM消息隊列和郵箱(MBX)。
(1)SCOM
SCOM消息是用戶定義的一個數據結構,用于任務之間交換信息。為實現信息傳遞,某個任務申請一定大小的數據緩沖區(qū),以供其他任務讀/寫數據。每個任務需要知道其他任務的緩沖區(qū)位置,并阻止多個任務同時訪問自己的緩沖區(qū)。為保證這些功能,利用SCOM消息作為緩沖區(qū)描述器,并將其在任務之間傳遞。因此,SCOM消息相當于其所描述緩沖區(qū)的一個令牌,擁有該消息(令牌)的任務可以讀/寫對應的緩沖區(qū)。當完成讀/寫操作后,消息將傳遞給另一個任務,如圖4所示。
(2)郵 箱
在RF5中,任務通過郵箱(MBX)接收來自其他任務的控制消息。以TI公司提供的JPEG_loopback例程為例,來自用戶視頻端的圖像質量參數可通過全局變量傳遞到控制任務中。若該參數有所改變,則控制任務將改變值寫入一個郵箱中,圖像處理任務每500個時鐘周期檢查一次郵箱,并從郵箱中取出圖像質量參數的改變值,然后進行相關處理。
1.2.2 cell級通信
eell級通信同樣基于數據緩沖區(qū),且存在一個內部cell通信對象(ICC對象),用于對緩沖區(qū)的描述。每個cell的輸入、輸出隊列均指向該ICC對象。圖5為3個cell通信的結構圖。

通道中有3個cell和5個ICC對象。cell X從任務中讀取其數據,經處理后,將其輸出發(fā)送到另外的2個緩沖區(qū)中(Bur2和Bur3);緩沖區(qū)Bur2供cell Y讀??;Bur3供cell Z讀取,同時cell Z也讀取cell Y的輸出。最后,任務讀取cell Z的輸出。

2 視頻處理應用
基于RF5參考框架的通用視頻處理系統(tǒng)結構如圖6所示。整個DSP上的系統(tǒng)由4個任務線程組成。TSK_Input線程完成從視頻輸入端口讀數據,TSK_Output線程完成向視頻輸出端口寫數據,TSK_Process線程完成視頻流中數據的處理,三者之間靠SCOM消息隊列進行同步和消息傳遞。TSK_Process線程中包含一個數據處理通道,該通道中包含一個cell對象,由該對象加載和運行封裝的視頻處理算法。視頻處理控制算法可以放在TSK_Control線程中運行,也可以合并在視頻處理算法中。TSK_Control線程與TSK_Process線程之間通過消息信箱完成信息傳遞。

實現不同任務之間的通信時,采用SCOM消息隊列。用RF5的SCOM機制實現TSK_Input與TSK_Process之間通信的主要程序如下:



結 語
RF5是一個擴展性很強的軟件參考框架,其設計目的是讓開發(fā)人員避開復雜的底層設計,創(chuàng)建基于多通道下復雜算法的應用程序。
采用RF5所帶來的好處是:系統(tǒng)的模塊化功能比較強,系統(tǒng)功能的組合比較方便,通過修改設備驅動程序就可以直接運行到同類型的其他硬件平臺上;通過調整數據處理通道的數量和通道中算法的數量、種類及排列順序,可以實現多種不同的系統(tǒng)功能,配置非常靈活。因此該結構具有很好的通用性,可以直接在其他視頻、圖像的產品項目中使用。



評論


相關推薦

技術專區(qū)

關閉