新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用FPGA來加速采用OpenCL的多功能打印機圖像處理

用FPGA來加速采用OpenCL的多功能打印機圖像處理

作者: 時間:2015-03-19 來源:網(wǎng)絡(luò) 收藏

  D. TRC調(diào)整

本文引用地址:http://m.butianyuan.cn/article/271266.htm

  TRC調(diào)整算法是一個簡單的LUT.它允許C、M、Y、K值的進一步調(diào)整,以校正非線性色調(diào)再現(xiàn)。具體C、M、Y、K LUT條目憑經(jīng)驗來測量。

  E.誤差擴散

  最后階段執(zhí)行半色調(diào)功能。彩色激光MFP產(chǎn)品使用一個激光系統(tǒng)來消除感光介質(zhì)上的電荷。無論電荷清除的是C、M、Y、K,墨粉都不能轉(zhuǎn)移到感光體。激光束掃過移動的感光體,被調(diào)制來創(chuàng)建一個倒置的圖像。調(diào)制的最小時間周期是一個像素。在反轉(zhuǎn)圖像被寫入感光體后,它經(jīng)過一個墨粉分配器附近。然后,帶有相反電荷的墨粉被吸引到電荷存在的感光區(qū)。墨粉“粘”到感光體上。最后一個步驟是將感光體上的圖像轉(zhuǎn)印到紙張或其他介質(zhì)上。單個像素或開或關(guān),實現(xiàn)二進制的1過程。來自TRC內(nèi)核的8位CMYK像素必須半色調(diào)或二進制化,以驅(qū)動打印機中的激光系統(tǒng)。有許多算法可以將連續(xù)色調(diào)數(shù)據(jù)轉(zhuǎn)換為二進制數(shù)據(jù)。誤差擴散是MFP/打印機中使用的一種通用算法。我們選擇了實施眾所周知的弗洛伊德-斯坦伯格(Floyd-Steinberg)誤差擴散算法的一個變種,它有簡單的算術(shù)修正系數(shù)[7].

  弗洛伊德-斯坦伯格誤差擴散量化了基于一個閾值陣列的輸入像素,然后將剩余誤差分配到相鄰像素。在我們的案例中,我們將一個8位輸入像素減少到二進制輸出像素。因此,我們的閾值陣列是一個127的值。大于127的輸入像素成為了邏輯1.≤127的像素成為了0.該算法定義如下:

  

 

  1. IP(x,y)是當(dāng)前輸入像素

  2. EPP是來自以前像素的剩余閾值誤差,IP(x-1,y)

  3. EP是來自以前掃描線的誤差矢量,y-1.

  VII.擴展和增強

  A.擴展CCP到整個系統(tǒng)

  下一步驟是采用CCP并將其連接到數(shù)據(jù)輸入的掃描裝置和數(shù)據(jù)輸出的打印裝置。這將需要增加一個校準(zhǔn)內(nèi)核和簡單的CST將RGB轉(zhuǎn)換為L*a*b*.根據(jù)在掃描設(shè)備中使用的傳感器陣列類型,即電荷耦合器件或接觸式圖像傳感器,紅、綠和藍行數(shù)據(jù)可能無法在垂直方向?qū)?zhǔn)。行數(shù)據(jù)的對準(zhǔn)可能需要幾十行緩沖區(qū),這在內(nèi)存資源方面是非常昂貴的。為了緩解這一問題,原始RGB數(shù)據(jù)將使用DMA暫時保存在HPS內(nèi)存中。然后,紅、綠、藍、行數(shù)據(jù)的對準(zhǔn)可以使用DMA指針和偏移來完成。然后校準(zhǔn)對準(zhǔn)的RGB數(shù)據(jù),并通過通道傳遞到基本CST內(nèi)核。

  基本CST內(nèi)核將依次使用通道直接將數(shù)據(jù)傳遞到濾波器輸入模塊。我們的期望是,這些額外內(nèi)核將適合未使用的邏輯和內(nèi)存資源。圖22顯示了完整的復(fù)印流水線。請注意,除了有全掃描儀接口的CCP,分割、無損壓縮模塊和引擎級都不適合Cyclone V SoC器件。完整的圖像路徑將需要更大型的.

  B. ARM內(nèi)核和NEON協(xié)處理

  除了架構(gòu)和,Altera SoC系列器件還采用了雙核ARM Cortex A9內(nèi)核和NEON協(xié)處理器。圖像處理流水線的某些模塊可以卸載到CPU.在分割操作和完成壓縮/解壓縮功能的特定部分可以使用NEON提供的有SIMD加速的CPU來完成。

  C.動態(tài)FPGA可重編程性

  Altera SoC FPGA提供的動態(tài)重新配置允許用戶重新編程FPGA架構(gòu),同時CPU運算繼續(xù)運行。這個特點在MFP中特別有用,而其中的一些操作永遠不可能同時發(fā)生。例如,掃描和復(fù)印操作共享6個共同輸入功能,如圖22所示。其余的復(fù)印操作、CST壓縮,以及剩下的掃描輸入功能、JPEG壓縮將永遠不會同時運行。因此,我們可以創(chuàng)建兩套內(nèi)核,其中包括共同的掃描儀功能和多種后端功能。這些流水線可以在給定所需時間基于MFP操作來動態(tài)加載。在一個傳統(tǒng)ASIC中,這些模塊和數(shù)據(jù)通路都必須包括在內(nèi)。動態(tài)圖像路徑的重新配置可以實現(xiàn)更小的FPGA,從而實現(xiàn)更低成本的圖像路徑。

  D. Arria V和Arria 10 SoC

  Altera的Arria V和最近發(fā)布的Arria10 SoC為功能齊全的MFP圖像路徑解決方案提供了一個可擴展平臺。增加的內(nèi)存、更快的時鐘速度,加上更高性能ARM內(nèi)核的大型FPGA架構(gòu)為圖像處理和一般計算要求提供了完整解決方案。

  

 

  圖:完整的復(fù)印和掃描流水線

  圖字:

  復(fù)印流水線

  來自CCD或基于CIS掃描儀的RGB;分割;圖像內(nèi)存;無損解壓縮;圖像調(diào)整;引擎接口

  掃描儀接口;校準(zhǔn)和調(diào)整;CST(RGB到Lab);濾波器;縮放R E;CST(Lab到CMYK);調(diào)整;誤差擴散;無損壓縮;至引擎

  掃描出口流水線

  來自CCD或基于CIS掃描儀的RGB;分割;圖像內(nèi)存;JGEG解壓縮;至網(wǎng)絡(luò)

  掃描儀接口;校準(zhǔn)和調(diào)整;CST(RGB到Lab);濾波器;縮放R E;JGEG壓縮;JGEG壓縮;出口處理;無損壓縮

  通用內(nèi)核/模塊;流水線特定內(nèi)核/模塊

  VIII.總結(jié)和結(jié)論

  和Altera的工具鏈有助于2名全職軟件工程師、1名全職硬件工程師和其他兼職人員的一個小型團隊在約4.5個月內(nèi)實現(xiàn)CCP.團隊可從C語言算法開始,創(chuàng)建一個高水平的基于C語言的CCP圖像流水線,將算法移植到OpenCL,在x86平臺上測試OpenCL以驗證基本功能,增加廠商特定擴展,學(xué)會Altera OpenCL工具流程,最后在Altera的參考平臺上測試結(jié)果。團隊還可開發(fā)一個測試環(huán)境來驗證位級別OpenCL結(jié)果的正確性。此外,團隊可創(chuàng)建一個基于Web的應(yīng)用,允許用戶選擇源圖像,通過一個基于C語言的CCP和OpenCL加速的CCP運行圖像,顯示半色調(diào)圖像,并提供計時結(jié)果。軟件工程師可以沒有以往的FPGA經(jīng)驗,硬件工程師也可以沒有以往的OpenCL經(jīng)驗。

  這種新模式演示了一個小型團隊如何可以快速從一組算法到全面功能,優(yōu)化以硬件實現(xiàn)的流水線。大約50%的開發(fā)時間專注于優(yōu)化,包括最大限度地提高性能和最大限度地減少FPGA資源利用。該團隊預(yù)計,后續(xù)項目開發(fā)時間可減少50%。

  MFP廠商不再需要投入數(shù)百萬美元和多年時間來開發(fā)ASIC或SoC.OpenCL和Altera SoC器件提供了一種在最短時間內(nèi)實現(xiàn)高性能、低成本MFP控制器的新模式。

fpga相關(guān)文章:fpga是什么


三維掃描儀相關(guān)文章:三維掃描儀原理

上一頁 1 2 3 下一頁

關(guān)鍵詞: FPGA OpenCL

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉