新聞中心

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

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

作者: 時間:2015-04-08 來源:網(wǎng)絡 收藏

  在高性能計算、娛樂和科學計算市場,的采用在持續(xù)增長。的靈活性和便攜性使之成為了一個開發(fā)圖像處理應用的優(yōu)秀平臺。然而,尚未應用到硬拷貝打印機和多功能打印機(MFP)市場。傳統(tǒng)上,打印機/MFP市場使用全定制系統(tǒng)級芯片(SoC或ASIC)、專用集成電路進行圖像處理。在本文中,我們探討了配合Altera SoC (現(xiàn)場可編程門陣列)的OpenCL在核心MFP圖像處理流水線中的應用。核心圖像處理流水線以每分鐘大于90頁信紙大小的全色RGB持續(xù)速率運行,圖像分辨率為600DPI(每英寸點數(shù)),同時采用了成本有效的器件。相比運行在嵌入式CPU上的基于C語言的軟件流水線,OpenCL流水線可實現(xiàn)至少40倍的性能提升,在高端臺式CPU上的運行改善了5倍。

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

  I.引言

  歷史上,MFP和打印機廠商都是開發(fā)定制ASIC或SoC器件來執(zhí)行圖像處理操作。這些ASIC/SoC器件包括圖像流水線,用以接受來自CCD或CIS傳感器的RGB數(shù)據(jù),執(zhí)行濾波、縮小/放大、色彩空間轉換、圖像分割和半色調(diào)操作。然后,由此產(chǎn)生的經(jīng)處理的圖像使用減色著色劑進行打?。呵嗌⑵芳t、黃色和黑色。其目標是在打印副本上精確地再現(xiàn)原始文檔,而不引入視覺假像。

  在底層技術(如DDR內(nèi)存和USB連接)變得過時之前,ASIC/SoC器件通常有三年的有限壽命。隨著硅技術的不斷萎縮,開發(fā)一個定制ASIC/SoC所需的投資在繼續(xù)增加。一個采用雙核處理器、必要的連接、DDR3內(nèi)存控制器、圖像處理、GPU、LCD控制器等的28納米SoC的設計、開發(fā)和交付需要花費超過1000萬美元的成本。

  取決于許多因素,大型SoC/ASIC器件的開發(fā)周期要花18至30個月,包括新IP的數(shù)量和大小、利用以往設計的能力、設計團隊經(jīng)驗和成熟的有針對性的硅技術。

  打印機/MFP市場的產(chǎn)品周期是24到36個月的時間。打印機/MFP市場成長速度平緩,增加了以較低成本和較短開發(fā)周期提供更多功能的競爭壓力[1].

  隨著ASIC/SoC開發(fā)周期接近同一時間MFP產(chǎn)品的生命周期,MFP/打印機廠商需要一個新的平臺來縮短開發(fā)和部署周期?;赟oC的OpenCL和的組合為解決這一難題提供了一個有趣的解決方案。

  II. MFP圖像處理流水線背景

  一個重要的研究機構已經(jīng)在文檔圖像處理領域積累了近20年的經(jīng)驗[2][3].大部分早期工作都側重于圖像處理的基礎知識,包括提供統(tǒng)一色彩的校準輸入傳感器數(shù)據(jù)、去除來自傳感器噪聲的濾波,實現(xiàn)圖像尺寸縮小或放大的縮放算法,以及實現(xiàn)使用二進制像素打印連續(xù)色調(diào)圖像數(shù)據(jù)的半色調(diào)。當前的文檔圖像處理研究和開發(fā)處于圖像分析、內(nèi)容提取和數(shù)據(jù)壓縮技術領域。[4][5][6]

  所有MFP文檔圖像處理產(chǎn)品都可執(zhí)行一系列基本功能——復印、掃描和打印。圖1用圖形說明了一臺個MFP設備的基本功能或流水線。復印和掃描的操作相類似,開始于從一個掃描設備到設備無關的彩色空間的原始RGB數(shù)據(jù)轉換。復印操作進一步處理設備無關的色彩空間圖像,并創(chuàng)建用于打印的CMYK圖像。掃描操作在設備無關的色彩空間圖像上執(zhí)行一組不同的圖像處理操作。這些操作可以包括:圖像分析、用不同頻率內(nèi)容將圖像分割為多個圖像層、OCR、光學字符識別和數(shù)據(jù)壓縮。然后,所產(chǎn)生的圖像轉被移到任一本地存儲介質(zhì),如USB閃存驅(qū)動器或網(wǎng)絡設備。

  

 

  圖1:簡化的MFP圖像處理流水線

  圖字:

  來自CCD或基于CIS掃描儀的RGB;分割

  掃描儀接口;校準和調(diào)整;CST(RGB到Lab);濾波器;縮放R E;CST(Lab到CMYK);調(diào)整;誤差擴散;無損或有損壓縮;解壓縮調(diào)整和/或操作

  來自網(wǎng)絡的PS/PCL/其他PDL;解譯;顯示列表;渲染器;位圖或字節(jié)圖;調(diào)整;半色調(diào);無損壓縮;圖像存儲;無損解壓縮;圖像調(diào)整;引擎接口

  有損解壓縮;有損壓縮;至引擎

  出口處理;至網(wǎng)絡

  外部接口;微觀圖像處理操作;圖像存儲;通用CPU操作;宏觀圖像處理操作

  打印功能接收一個采用PDL(頁面描述語言)的編碼,或圖形顯示接口格式的文件。在采用PDL文件的情況下,MFP設備必須首先解釋文檔語言,并創(chuàng)建一個原始對象列表。渲染器捕獲這些對象,并將其轉換成數(shù)字CMYK位圖/位圖圖像。所產(chǎn)生的數(shù)字圖像可被進一步處理和隨意壓縮。GDI打印機不需要解釋過程,因為傳送到打印機的圖像是一個顯示對象的列表。

  一旦打印或復印流水線創(chuàng)建了CMYK位圖/位圖圖像,圖像即被發(fā)送到引擎在所需介質(zhì)上打印。

  本文的重點是一個OpenCL MFP核心復印流水線(CCP)的開發(fā),如圖2所示。

  

 

  圖2:核心復印流水線

  圖字:

  濾波器;縮放R E;CST(Lab到CMYK);調(diào)整;誤差擴散

  圖像存儲

  源圖像5100x6600x24位LAB;目標圖像5100x6600x32位CMYK

  III. MFP核心復印流水線

  CCP由5個內(nèi)核組成:7×7濾波器;用pad/crop縮放或減小與放大;色彩空間轉換;調(diào)整和誤差擴散。我們將簡要地回顧各個算法和相關的內(nèi)存需求。

  A. 7×7濾波器

  7×7濾波器是一個2D對稱濾波器,可降低圖像噪聲。它的每一行需要跨連續(xù)7行乘連續(xù)7個像素的49個像素的上下文(context)。MFP應用通常使用一組系數(shù)來實現(xiàn)一個平均或銳化濾波器。7×7濾波器的一般形式是:

  

 

  圖3示出了該系數(shù)陣列和輸入像素陣列。系數(shù)C0 - C9足以定義一個7×7濾波器。

  

 

  7×7系數(shù)陣列

  

 

  7×7輸入像素陣列

  圖3:7×7系數(shù)和輸入濾波器陣列

  由于系數(shù)值經(jīng)常重復,濾波處理可以避免重復的乘法和加法。相反,乘以相同系數(shù)的像素可首先加入,然后與濾波器系數(shù)相乘一次。圖4直觀地顯示了潛在的優(yōu)化。這個數(shù)字僅為了清晰起見,并不代表OpenCL設計。

  

 

  圖4:濾波器工作矩陣

濾波器相關文章:濾波器原理


fpga相關文章:fpga是什么


c語言相關文章:c語言教程


濾波器相關文章:濾波器原理


三維掃描儀相關文章:三維掃描儀原理

上一頁 1 2 3 下一頁

關鍵詞: FPGA OpenCL

評論


相關推薦

技術專區(qū)

關閉