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

?

一種艦載傳感器圖像編碼實現(xiàn)方法

2020-03-27 06:35周國良彭益智
火力與指揮控制 2020年1期
關鍵詞:內核子系統(tǒng)編碼

周國良,彭益智,曲 偉

(江蘇自動化研究所,江蘇 連云港 222061)

0 引言

在艦船火力與指揮控制系統(tǒng)中,采用數(shù)字視頻總線準確、實時地傳輸傳感器視頻圖像信息,實現(xiàn)多傳感器圖像信息共享。傳感器視頻圖像信息先在前端圖像處理系統(tǒng)進行編碼處理,然后通過數(shù)字視頻總線實時傳輸,在指揮終端解碼實現(xiàn)圖像資源共享。隨著視頻圖像高清化發(fā)展趨勢,傳感器采集的圖像數(shù)據(jù)量激增,為實現(xiàn)圖像數(shù)據(jù)實時傳輸,對圖像處理系統(tǒng)的數(shù)據(jù)處理能力和數(shù)字視頻總線傳輸能力提出了更高的要求。針對艦船傳感器視頻圖像高清化和傳輸實時化需求,本文在分析多核DSP 并行處理和JPEG 編碼算法的基礎上,提出了一種基于多核DSP 的JPEG 圖像編碼實現(xiàn)方法,并實現(xiàn)了多核DSP 核間高效通信和任務級并行處理。

1 TI TMS320C6678 多核處理器

為滿足移動網絡領域對通道密度及高質量媒體服務日益增長的需求,德州儀器(TI) 推出TMS320C66x 系列數(shù)字信號處理器,提供系統(tǒng)級的低成本、低功耗和高密度媒體解決方案。

TMS320C6678(簡稱C6678)處理器基于創(chuàng)新型Key Stone 構架,集成了8 個C66x 內核,支持高性能信號處理應用。每個內核主頻1 GHz,最高可達1.25 GHz,可以進行160 km/s 次浮點運算,功耗不到10 w。每個內核擁有32 kBL1P、32 kB L1D、512 kBL2內存,4 MB 多核共享內存,8 192 個多用途硬件隊列,支持DMA 傳輸。處理器網絡性能優(yōu)越,支持雙千兆網口,帶有由1 個數(shù)據(jù)包加速器和1 個安全加速器組成的網絡協(xié)處理器[1-2]。此外,C6678 的拓展資源豐富,支持PCle、Serial RapidIO[3]、Gigabit Ethernet 以及HyperLink 等多種高速接口。

2 JPEG 編碼并行實現(xiàn)框架

2.1 JPEG 算法簡介

JPEG 是第一個國際圖像壓縮標準,能夠在提供良好的壓縮性能的同時,具有比較好的重建質量,被廣泛應用于圖像、視頻處理領域,尤其適用于互聯(lián)網和數(shù)碼相機,網站上80 %的圖像都采用了JPEG 壓縮標準。

該編碼算法步驟如下:源圖像數(shù)據(jù)分成8×8的數(shù)據(jù)塊,通過DCT 變換將8×8 的數(shù)據(jù)塊變換為DCT 系數(shù),數(shù)據(jù)塊按從左到右、從上到下的順序處理,根據(jù)量化表對DCT 系數(shù)進行量化,DCT 系數(shù)按Z 字形方式排序,其中直流系數(shù)采用差分脈沖編碼,交流系數(shù)采用行程編碼,最后經過二次編碼輸出壓縮圖像數(shù)據(jù)[4]。

2.2 基于多核DSP 的JPEG 編碼并行實現(xiàn)

JPEG 編碼算法分解為以下7 個模塊:

1)初始化;2)DCT 變換;3)量化;4)Z 形掃描;5)直流系數(shù)(DC)編碼;6)交流系數(shù)(AC)編碼;7)熵編碼。

考慮模塊間的耦合性、結合性以及模塊間通信,將DCT 變換、量化和Z 形掃描合并為DCT 子系統(tǒng),將DC 編碼、AC 編碼和熵編碼合并為編碼子系統(tǒng),將模塊或子系統(tǒng)映射到多核DSP 內核上。JPEG編碼算法采用任務并行模式[5],將算法的模塊或子系統(tǒng)映射到C6678 處理器內核上,應用多核DSP 并行程序設計方法實現(xiàn)算法的任務級并行處理和核間高效通信。

圖1 編碼并行實現(xiàn)框圖

DCT 子系統(tǒng)和編碼子系統(tǒng)涉及大量復雜運算,直接制約了編碼速度。因此,采用了3 條任務并行流水線來進行處理,分別為CORE1 和CORE4、CORE2 和CORE5、CORE3 和CORE6。CORE1、2 和3 并行進行DCT 變換,后級的CORE4、5 和6 分別接收CORE1、2 和3 的數(shù)據(jù),進行編碼,這樣把算法映射到多個DSP 核,變換與編碼流水線并行處理,提高了編碼速度。具體實現(xiàn)機制如下:

1)初始化和同步[6-9]

C6678 處理器共有8 個C66x 內核,命名為CORE0~CORE7,每個內核分別進行初始化,然后同步執(zhí)行。

* CORE0 初始化:接收源圖像數(shù)據(jù)并存儲在DDR3 上、初始化6 個EDMA3[10-11]通道;

*CORE1、2 和3 初始化:根據(jù)設定的圖像壓縮質量初始化量化表,CORE1、2 初始化亮度量化表,CORE3 初始化色度量化表;

* CORE4、5 和6 初始化:直流、交流系數(shù)Huffman 編碼表初始化,生成相應的直流、交流系數(shù)Huffman 碼字;

*CORE7 初始化(保留):傳輸壓縮圖像數(shù)據(jù)初始化。

每個內核初始化結束,調用Ipc_start 函數(shù)進入同步等待狀態(tài),直到所有內核都調用Ipc_start 函數(shù)進入同步狀態(tài),各個內核上的程序繼續(xù)執(zhí)行。

2)內核間任務調度和通信

根據(jù)SYS/BIOS 實時操作系統(tǒng)線程調度機制[7-9]和內核間通信機制,為并行JPEG 編碼系統(tǒng)選取合適的任務調度方式,并實現(xiàn)內核間高效通信。CORE0 與CORE1、2、3 間的通信采用最小通信模式,CORE1 與CORE4、CORE2 與CORE5、CORE3與CORE6 間的通信采用消息傳遞模式[5]。

基于C6678 的并行JPEG 編碼系統(tǒng)的任務調度過程如下:

*各個內核初始化;

*EDMA 完成從DDR3[12-13]到MSM_BUF 的源圖像數(shù)據(jù)傳輸后,CORE0 發(fā)送Notify 到CORE1、2和3;

* CORE1、2 和3 接收Notify,然后分別調用Task_dct 任務。Task_dct 任務從MSM 緩沖區(qū)[14]取源圖像數(shù)據(jù),并完成DCT 變換、量化和Z 字形掃描后,發(fā)送包含DCT 系數(shù)的Message 到對應的CORE4、CORE5 和CORE6;

* CORE4、CORE5 和CORE6 接收Message,然后分別調用Task_enc 任務。Task_enc 任務從Message 中讀取DCT 系數(shù),并對DC 和AC 系數(shù)編碼,最后Huffman 編碼輸出壓縮圖像數(shù)據(jù)到MSM_OUT 存儲區(qū)。

基于C6678 的并行JPEG 編碼系統(tǒng)的整個處理流程如圖2 所示。

3 測試試驗與結果

3.1 算法核心組件測試

本文設計的基于C6678 的JPEG 編碼系統(tǒng)采用任務并行方式,各內核執(zhí)行的任務單一,可以針對具體的任務進行優(yōu)化。由于不同任務的計算復雜度不同,任務并行很難實現(xiàn)各內核間實時負載平衡,系統(tǒng)性能受限于計算負載最大的處理核[15]。

JPEG 編碼算法中計算量較大的模塊是DCT 子系統(tǒng)和編碼子系統(tǒng),測試這兩個子系統(tǒng)的運行時間(包括初始化時間和處理時間),如DCT 子系統(tǒng)中,初始化時間對量化表進行初始化,處理時間對數(shù)據(jù)塊進行DCT 變換、量化和Z 字形掃描等。測試數(shù)據(jù)為多個8×8 的源圖像數(shù)據(jù)塊,實驗結果如表1 所示,測試平臺是C6678 處理器,主頻是1 GHz。

表1 DCT 與Huffman 子系統(tǒng)與測試結果

程序執(zhí)行時,各個子系統(tǒng)只初始化一次,因此,初始化時間對于子系統(tǒng)的計算量影響有限。DCT 子系統(tǒng)處理一個數(shù)據(jù)塊的處理時間是1 266 ns,而編碼子系統(tǒng)的處理時間是4 570 ns,編碼子系統(tǒng)的計算量遠大于DCT 子系統(tǒng)的計算量,編碼子系統(tǒng)制約了系統(tǒng)的實時處理能力。隨著數(shù)據(jù)塊數(shù)量的增加,子系統(tǒng)的初始化時間不變,但單個數(shù)據(jù)塊的平均處理時間略有下降。若想進一步提高基于C6678 的并行JPEG 編碼系統(tǒng)的實時處理能力,最好的方法是繼續(xù)優(yōu)化編碼子系統(tǒng)。

3.2 系統(tǒng)性能驗證

圖2 系統(tǒng)處理流程圖

把相同復雜度的JPEG 編碼算法程序分別在單核DSP 和多核DSP 處理器上運行,單核DSP 處理器采用C6678 處理器的單個C66x 內核,多核DSP處理器采用C6678 處理器。對比編碼系統(tǒng)的處理能力,實驗結果如表2 所示。測試源圖像來自光電跟蹤儀,分辨率為768*576。

表2 系統(tǒng)測試結果

JPEG 編碼算法復雜度基本相同(為實現(xiàn)算法的并行處理,多核DSP 平臺上算法略有改動),比較不同JPEG 編碼系統(tǒng)處理同一源圖像數(shù)據(jù)的時間,基于C6678 的并行JPEG 編碼系統(tǒng)的運行時間為13 ms,系統(tǒng)的處理能力是基于單核系統(tǒng)的5 倍。

4 結論

基于TI 公司C6678 處理器,采用任務并行模式,將算法的模塊或子系統(tǒng)映射到C6678 處理器多個內核上,實現(xiàn)了JPEG 編碼算法的任務級并行處理和核間高效通信。測試結果表明,基于C6678 的JPEG 編碼系統(tǒng)是基于C66x 單核系統(tǒng)的5 倍,這說明該系統(tǒng)充分發(fā)揮了多核DSP 的性能優(yōu)勢,大幅度縮短了壓縮編碼時間,提高了視頻圖像壓縮效率。

猜你喜歡
內核子系統(tǒng)編碼
HEVC對偶編碼單元劃分優(yōu)化算法
住院病案首頁ICD編碼質量在DRG付費中的應用
生活中的編碼
強化『高新』內核 打造農業(yè)『硅谷』
活化非遺文化 承啟設計內核
微軟發(fā)布新Edge瀏覽器預覽版下載換裝Chrome內核
網絡空間供應鏈中入侵檢測及防御子系統(tǒng)的投資機制研究
網絡空間供應鏈中入侵檢測及防御子系統(tǒng)的投資機制研究
團隊與知識管理的關系研究
淺談中職學校新型模塊化機房建設
亳州市| 新疆| 沛县| 汝阳县| 赣榆县| 达州市| 玉山县| 东阿县| 东方市| 阿瓦提县| 武宣县| 弥渡县| 泸州市| 叶城县| 藁城市| 龙胜| 台北市| 讷河市| 邻水| 钟祥市| 淮北市| 托里县| 宁都县| 绍兴市| 新巴尔虎右旗| 宁津县| 永安市| 平安县| 左云县| 星座| 六盘水市| 桐庐县| 布拖县| 肥东县| 湛江市| 察哈| 康平县| 五大连池市| 青阳县| 慈利县| 杭州市|