13
技術論文 富士ゼロックス テクニカルレポート No18 2008 99 DRP * 技術を活用した リアルタイム画像処理システムの構築 Development of Real time image processing system based on DRP technology *Dynamically Reconfigurable Processor 富士ゼロックスでは複合機上での’リアルタイムな’ サービス&ソリューション実現のため、画像処理プロ セッサ技術を核としたリアルタイム画像処理システ ムを構築し、商品に導入してきた。本システムにより、 お客様のニーズに迅速に対応できるほか、新たな画像 処理などのテクノロジー・シーズをリアルタイムに提 供可能となった。富士ゼロックスにおける画像処理プ ロセッサ技術への取り組みは既に第三世代を迎え成 熟期に入ってきており、一般オフィス向け複合機を含 む様々なシステムへの展開が進んでいる。本稿では、 これら画像処理プロセッサの技術比較、これを核とし た画像処理システム、開発環境について述べるととも に、複合機上での画像処理プロセッサ活用の「あるべ き姿」についても言及する。 Abstract 執筆者 山田 和雄(Kazuo Yamada) *1 内藤 孝雄(Takao Naito) *1 土渕 清隆(Kiyotaka Tsuchibuchi) *2 臻瑞(Zhang Zhenrui) *2 *1 研究技術開発本部 オプト&エレクトロニクス要素技術研究所 (Opt. & Electronics Technology Laboratory) *2 コントローラ開発本部 CTPF 第 5 開発部 (Controller Platform Development Ⅴ) We have developed and launched a real-time imaging system that uses an image processor as the core technology to realize real-time service and solutions on multi-function peripherals (MFP). This system enables us to respond to customers' needs and also provides the technology seeds for new and fast methods of image processing. The image processor technology developed at Fuji Xerox has already reached the third generation and its use is spreading widely as part of various systems as well as general office MFP. This report contains the technical specifications for the real-time imaging system and describes its development environment, as well as listing the ideal goals of the image processor-based platform.

技術論文 DRP 技術を活用した リアルタイム画像処理システム ......技術論文 DRP 技術を活用したリアルタイム画像処理システムの構築 100

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • 技術論文

    富士ゼロックス テクニカルレポート No18 2008 99

    DRP*技術を活用したリアルタイム画像処理システムの構築 Development of Real time image processing system basedon DRP technology *:Dynamically Reconfigurable Processor

    要 旨 富士ゼロックスでは複合機上での’リアルタイムな’

    サービス&ソリューション実現のため、画像処理プロセッサ技術を核としたリアルタイム画像処理システムを構築し、商品に導入してきた。本システムにより、お客様のニーズに迅速に対応できるほか、新たな画像処理などのテクノロジー・シーズをリアルタイムに提供可能となった。富士ゼロックスにおける画像処理プロセッサ技術への取り組みは既に第三世代を迎え成熟期に入ってきており、一般オフィス向け複合機を含む様々なシステムへの展開が進んでいる。本稿では、これら画像処理プロセッサの技術比較、これを核とした画像処理システム、開発環境について述べるとともに、複合機上での画像処理プロセッサ活用の「あるべき姿」についても言及する。

    Abstract 執筆者 山田 和雄(Kazuo Yamada)*1 内藤 孝雄(Takao Naito)*1 土渕 清隆(Kiyotaka Tsuchibuchi)*2 張 臻瑞(Zhang Zhenrui)*2 *1 研究技術開発本部 オプト&エレクトロニクス要素技術研究所 (Opt. & Electronics Technology Laboratory)

    *2 コントローラ開発本部 CTPF第 5開発部 (Controller Platform Development Ⅴ)

    We have developed and launched a real-time imaging system that uses an image processor as the core technology to realize real-time service and solutions on multi-function peripherals (MFP). This system enables us to respond to customers' needs and also provides the technology seeds for new and fast methods of image processing. The image processor technology developed at Fuji Xerox has already reached the third generation and its use is spreading widely as part of various systems as well as general office MFP. This report contains the technical specifications for the real-time imaging system and describes its development environment, as well as listing the ideal goals of the image processor-based platform.

  • 技術論文

    DRP技術を活用したリアルタイム画像処理システムの構築

    100 富士ゼロックス テクニカルレポート No.18 2008

    1. 緒言

    サービス&ソリューションの時代と言われて久しい。複合機もその例に漏れず、単なるコピー&プリントからお客様のワークフローを複合機上で実現する機器として変化しつつある。日本版 SOX 法の施行もその一因となっている。富士ゼロックスでは、ドキュメント・ライフサイクル(図1)を循環させることに加え、’Sense& Response’をキーワードに、お客様の様々なニーズを短期間で複合機上に実現することによって、オフィス・ワーカーの生産性を飛躍的に向上させることを狙いとしている。 一方、現在複合機のコピーやプリントなどの基本機能(場合によっては、応用機能)は固定化されたハードウェア(以下、ASIC)で実現されている。これはスキャナ(入力装置)あるいは、プリントエンジン(出力装置)に追従して画像処理を行うための‘リアルタイム性’を確保するためである。しかしながら、真の’Sense& Response’を実現するためには、お客様の様々なニーズに応えられる画像処理技術や、時代を先取りしたテクノロジー・シーズを短期間で複合機上に実現できるメカニズムが必要である。換言すれば、「ニーズのキャッチと実現」、双方のリアルタイム性が必須である。それを実現するのが「リアルタイム画像処理システム」であり、システムの中核を担うのが「画像処理プロ

    セッサ」である。 プロセッサ適用は既に第三世代を迎えている。第一世代はプロトタイプとしてシステム開発したSIMD型プロセッサであり、第二世代は Intel/米ゼロックス・コーポレーションが共同開発し、富士ゼロックスがDocuCentreColor-f450 等に導入(@’04 年 9 月)した Intel® MXP5800 である。一方、第三世代は富士ゼロックスがアイピーフレックス社と共同開発し、ApeosPort-Ⅲ等に導入(@’07年 11月)したDAPDNA-IMXである。本稿では画像処理プロセッサ技術、それを活用したシステム、更に短期開発を実現する開発環境について述べる。富士ゼロックスは既に本システム上にいくつかの画像処理機能を実現しただけでなく、今後もお客様に高い満足を提供できる「リアルタイム画像処理サービス」をリアルタイムに実現していく計画である。

    2. リアルタイム画像処理システム

    以下、中核をなす画像処理プロセッサとそれを活用した画像処理システムの 2つの観点から解説する。 2.1 画像処理プロセッサの技術分類 画像処理プロセッサ技術選択の世代を図 2に示す。第一世代はいわゆるDSP(Digital Signal Processor)、VLIW(Very Long Instruction

    電子を紙に変換

    MFPPrinter部

    MFPScanner部

    紙を電子に変換

    DocuWorks

    Document Service(共有)紙と紙と電子の融合電子の融合

    =ドキュメント・サイクル=ドキュメント・サイクル

    検索、編集、加工、OCR、Security、電子署名

    など

    階層構造でファイル管理

    情報の共有

    協同作業

    検索、閲覧

    紙と電子を一元的に扱う

    ArcSuiteOffice

    Image

    Text高圧縮PDFの例

    図 1. ドキュメント・ ライフ サイクルDocument life cycle

  • 技術論文

    DRP技術を活用したリアルタイム画像処理システムの構築

    富士ゼロックス テクニカルレポート No.18 2008 101

    Word)型、SIMD(Single Instruction stream Multiple Data stream)型などのプロセッサである。これらのタイプのプロセッサは、内部データパスが固定化されているため、アプリケーションに依存して大きく性能が変わる。第一世代の典型例は SIMD型プロセッサである。フィルタ等の並列化処理には向くものの、それ以外の処理、特に誤差拡散などの逐次処理に弱い。プロトタイプ開発まで行ったが、結果として補完する外部回路が大きくなりコストパフォーマンスで劣る結果となった。現在では半導体プロセス微細化も進んで、このインパクトも低下している可能性もあるが、本質的にプロセッサそのものでは扱えないという事は、処理の自由度を損ねる・チップ面積増大からくるコストパフォーマンスの低下を招く、などの短所がある。 第二世代はヘテロジニアス(非対称)マルチコア型(参考文献:5)である。複合機の画像処理部にマルチコア・プロセッサを応用したのは富士ゼロックスが業界初である。本マルチコア型では、内部データパスの自由度が確保され、SIMD 型の欠点である逐次処理にも適用できる。また、ヘテロジニアス型であることがチップ面

    積を削減し、コストパフォーマンスを達成している。その高速性からスキャナに同期して画像処理が可能となり、富士ゼロックスに「プロセッサでリアルタイム性を持ったシステム開発ができる」という文化を築くという役割を担った。しかし、技術課題も数多く存在したため、次世代では、これらの課題を解決することに主眼を置いた。具体的課題については後述する。 そ の他として、コンフィギャラブル(Configurable)プロセッサがある。アプリケーションの負荷分析を行い、高負荷部(ホットスポット)に対して専用命令を設ける。専用命令は専用ハードウェアによって実現されるが、これは CPU 内部に設けられるため性能が出しやすいほか、低消費電力化にも寄与する。但し、専用命令は(プロセッサ)チップ開発後には変更できないという短所がある。 第三世代は、動的再構成可能プロセッサ(Dynamically Reconfigurable Processor、以下 DRP)である。DRP の特徴は、内部データパスがアプリケーションに応じて変更できるため、様々な画像処理に対して安定した性能を発揮できる、演算能力が不足する場合に瞬時

    図 2. 画像処理の観点から見たプロセッサアーキテクチャ分類 Classification of processor architecture from the point ofview of the image processing

    スーパー・パイプライン、スーパースケーラ、VLIW

    ハーバード・アーキテクチャ

    VLIW

    --

    複合アーキテクチャ(例 :VLIW+SIMD)

    SIMD

    SIMD Processor

    単一アーキテクチャ(SIMD)

    狙い:シリアル処理を高速に・・・

    狙い:積和演算を高速に

    狙い:シリアル処理&並列処理を高速に

    狙い:並列処理を高速に

    Rigid Configurable Processor

    IntermediateRe-Configurable

    Processor

    DAPDNA(IP Flex)

    狙い:種々のアプリケーションのボトルネックをデータパスの再構成で改善

    Flexible

    PEアーキテクチャ

    ヘテロジニアスMulti-coreGila(Intel/XC)

    第1世代

    第2世代

    第3世代

    ホモジニアスMulti-core

    狙い:特定アプリケーションのボトルネックをHWで改善カスタム命令やアクセラレータ追加が可能

    MPU

    DSP

  • 技術論文

    DRP技術を活用したリアルタイム画像処理システムの構築

    102 富士ゼロックス テクニカルレポート No.18 2008

    (nsec オーダー)に再構成(内部書き換え)が可能なため、所望の性能の範囲内であれば何度でも再構成が可能であることが挙げられる。次に性能と再構成回数の関係を説明する。目標生産性 P[dpm(documents per minute)]に対する300dpi(dot per inch)/A4(=8M ピクセル)時の必要転送レート Fpic[Mpix/sec]は、 Fpic[Mpix/sec] = P[dpm] * 8[Mpix]/60[sec] … (式 1)

    これより、再構成の許容回数 Nrec は、DRP内部動作周波数を Fint[MHz]とすると、 Nrec[回] = Fint[MHz] / Fpic[Mpix/sec] … (式 2)

    で 、 表 す 事 が で き る 。 こ こ で Fint は DAPDNA-IMX の DNA 部 の動作周波数200MHz を代入すると、 Nrec[回] = 200[MHz] / (P[dpm] * 8[Mpix]/60[sec]) = 1,500*(1/ P)[dpm] … (式 3)

    これをグラフ化すると図 3になる。 このグラフより所望性能が 100dpm@300dpi/A4 の場合、15 回もの再構成が可能である事がわかる。これは DRP に含まれる演算器数が 15 倍に増加することを意味する。つまり DRP はリアルタイム系画像処理に対し、十分なハードウェア量を供給可能である事を示している。 同種のプログラマブル・デバイスに FPGA(Field Programmable Gate Array)が存在す

    るが、今 FPGA と DRP の再構成時間をそれぞれ Tf[msec]、Td[nsec]と仮定し、FPGAにおける画像処理全体で必要な再構成回数を Nr とすると、FPGA の再構成時間中に DRP で処理できるピクセル数 Ppは、 Pp =(Tfx106/Td)xNr … (式 4) 今、Tf=5 ms、Td=5ns、Nr=10 回を代入すると、10x106ピクセル。つまり、FPGAの再構成時間で、DRP は 1.2 ページ(300dpi/A4= (8x106ピクセル)に対して)の画像処理を完了する事ができる。 2.2 画像処理プロセッサ基本特性 基本特性の比較を表1に示す。 基本特性の中で、特に重要であるのが基本構成要素(PE:Processing Element、以下、PE)への「画像処理割付け」(以下、マッピング)と「負荷バランス」である。これらは、PE種類によって大きく状況が異なる。すなわち、PEが(ヘテロジニアスな)CPUの場合は負荷バランスを考慮した「一括マッピング」、PE が演算器の場合は負荷バランスを考慮しない「部分マッピング」となる。ここで、「一括マッピング」とは全画像処理全モジュールを同時に動作させることであり、「部分マッピング」は任意の1モジュールのみ動作させることを意味する(表 2)。「一括マッピング」では、全メモリ入出力や割り込み信号を同時に処理しないとならないため、管理が非常に複雑になる。また、PEが CPUの場

    0

    20

    40

    60

    80

    100

    120

    140

    160

    180

    0 20 40 60 80 100 120 140 160

    再構成回数

    性能[DPM](条件)データサイズ300dpi@A4

    図 3. 性能と再構成回数の関係 Relations between performance and the number of reconfigurations

  • 技術論文

    DRP技術を活用したリアルタイム画像処理システムの構築

    富士ゼロックス テクニカルレポート No.18 2008 103

    16 Channel DMA

    266 MHz x16 DDR Interface

    16 Channel DMA

    266 MHz x16 DDR Interface

    EI

    EI

    EI

    EI

    To PCI

    ISP4ISP2

    ISP5 ISP6 ISP8

    ISP3

    ISP7

    ISP1To ISP1

    To ISP5

    To ISP4

    To ISP8

    66 MHz 32-bit PCI

    MACMAC

    General Purpose Registers

    8KBRAM

    MCH

    MACPEMACPE GPE

    OutputPE

    InputPE

    Acceleratorunit

    ISP

    66 MHz 32-bit PCI

    MACMAC

    General Purpose Registers

    8KBRAM

    MCH

    MACPEMACPE GPE

    OutputPE

    InputPE

    Acceleratorunit

    ISP

    Co-processor

    第2世代MXP(Intel/XC)

    第3世代DRP(IPFlex等)

    Processor Element(ヘテロジニアス) Processing Element (ヘテロジニアス)

    第1世代SIMD型

    N-PE

    Processor Element (ホモジニアス)基本PE

    PE

    REGREGREGREG

    PE

    Reg

    file

    PE

    REGREGREGREG

    PE

    Reg

    file

    PE

    REGREGREGREG

    PE

    Reg

    file

    PE

    REGREGREGREG

    PE

    Reg

    file

    PE

    REGREGREGREG

    PE

    Re g

    file

    IN

    OUT

    REGREGREGREG

    REGREGREGREG

    REGREGREGREG

    REGREGREGREG

    REGREGREGREG

    構成

    △: アプリケーションに特化したHW ◎: 不要 (汎用HWは許容)X: 弱点を補うため必要

    保守性 △ : 負荷バランスをとることが性能保証の前提、機能追加・修正時は再度バランス化が必要

    ○: コンフィグレーション単位で追加や変更が可能

    △: 全プログラム一括コーディング必要、インストラクションメモリがオーバフローの可能性あり

    アクセラレータ

    回路

    開発環境

    コスト X: アクセラレータ回路でコストアップ

    ○: ヘテロジニアスな構成でコストアップを抑制 ○:アクセラレータ回路不要

    ○:高級言語に対応 △:アセンブラ言語のみ △:拡張C言語に変換工数要

    表 1. 画像処理プロセッサのアーキテクチャ Image processing processor architecture

    process1

    process2

    process5

    process4

    process3

    process 1process 2process 3process 4process 5

    全モジュールが並列にマッピング

    Reconfig

    ReconfigProcess

    部分マッピング

    一括マッピング

    Process

    第2世代(MXP)

    第3世代(DRP)

    Type Mapping方式 Local memoryアクセス方式

    process1

    process2

    process5

    process4

    process3

    DMACDMAC

    MemoryMemory

    中間BufferimmediateBuffer 中間Buffer

    immediateBuffer中間Buffer

    immediateBuffer中間Buffer

    immediateBuffer中間Buffer

    immediateBuffer中間Buffer

    immediateBuffer中間Buffer

    immediateBuffer

    MemoryMemory

    中間Buffer

    immediateBuffer 中間Buffer

    immediateBuffer中間Buffer

    immediateBuffer中間Buffer

    immediateBuffer中間Buffer

    immediateBuffer中間Buffer

    immediateBuffer中間Buffer

    immediateBuffer

    process 1process 2process 3process 4process 5

    DMACDMAC

    Access is concentrated

    Access is distributed

    順番にActiveモジュールのみマッピング

    [t]

    [t]

    表 2. 画像処理モジュールのマッピング方式 Mapping method of image processing module

    合、負荷バランスを考慮しないとストールが発生するため性能が大きく落ちるが、演算器の場合はパイプライン・ディレイとなりほとんど生産性には影響を与えない。そのため、第二世代プロセッサでは、ストール発生を最少化するプログラム最適化が完了するまで、最終性能が明確にならなかった。

    この意味で、「部分マッピング」、かつ PE が演算器であるDRPに優位性があると言える。 見方を変えると、第二世代はこのような組み込み系マルチコア・プロセッサの課題を露呈している。すなわち、マッピングを「一括」で行うか、「部分」で行うかの課題である(参考文献:2)。保守性から後者が優れる訳であるが、この

  • 技術論文

    DRP技術を活用したリアルタイム画像処理システムの構築

    104 富士ゼロックス テクニカルレポート No.18 2008

    ためにはホモジニアスなプロセッサ構成が前提であり、第二世代はこれに合致しない。また、消費電力問題が挙げられる。複合機上で許されるデバイス当たりの消費電力は高々数 W である。ここから、第二世代では動作周波数(266MHz)が低く抑えられているため、チップ全体の消費電力も抑えられているが、組込み系マルチコアプロセッサでも、高性能なものになると数 10W の帯域に達する。つまり、基本構成要素がプロセッサの場合、マッピングの観点からホモジニアスな構成が良いが、この構成下では周波数を低く抑えるためにアクセラレータを(ホモジニアスに)持つことはチップ面積の増大を招くため困難である。結果として、周波数を上げざるを得なくなり消費電力問題が発生する。つまり、消費電力やチップ面積を抑えながら高速化を計るためには、マルチコア型より演算器アレイ型の方が適すると言える。 2.3 プロセッサの画像処理適合性比較 次に画像処理適合性から見た技術比較を表 3に示す。様々な画像処理に対応するためには、様々なデータ・アクセス方法やデータ・フロー制御の柔軟性が必須である。一般には、クロック・スピード、CPU数や演算器数でプロセッサ

    性能を評価しがちであるが、画像処理適合性を評価しない限り内在する課題が明確化できない。 例えば色空間変換処理の場合、第一世代SIMD型プロセッサでは(画素)並列処理で高速性を稼ぐアーキテクチャであるため、プロセッサ内部にLUT(Look-Up Table:係数などを格納するメモリ)を多重に持たないとならないが、大規模LUTでは内部メモリ不足が生じるためプロセッサ外部にLUTを持たざるを得ない。第二世代(ヘテロジニアス)マルチコアでは、大規模メモリを持ったコアでのみ大規模LUT処理が可能であるが、性能不足な場合に処理を並列化するなどの対応策がない。一方、第三世代DRPでは逐次処理での高速性が確保されているため、基本的に大規模LUT を多重で持つ必要はないが、異なる色成分を点順次処理(同時処理)する場合でも 3~4 個のLUT で済むため、十分対応可能である(図4)。ここから、DRP は全方位的な画像処理適合性があることが分かる。そのため、DRP にはプロセッサの弱点を補完するアクセラレータ回路を持つ必要性は低い。アクセラレータの存在は、アプリケーションが該アクセラレータを必要としない限りオーバーヘッドでしかない訳で、その意味で基本構成要素(PE)で全機能を実現することが理想と言える。

    X全ステートを処理しないとならないため、処理時間大

    X基本的に逐次処理はできない

    X全PEに同一のLUTを持

    たない限りできない

    X回転処理などメモリ入出力はできない

    X基本的に逐次処理はできない

    ライン入出力が基本(但し、内蔵メモリがウィンドウサイズの制約となる)

    プログラミング、入力タイミングが変則的になる

    第1世代SIMD

    データフロー制御

    文字列処理性能

    =逐次処理性能

    アクセス性能

    (ランダムアクセス)

    アクセス性能

    (連続領域)

    逐次処理性能

    並列処理性能

    (ライン単位)

    並列処理性能

    (ブロック単位)

    DSPに求められる能力

    ステート遷移に数クロックかかるので工夫が必要

    DAPで可能(DNAとは並列動作が可能)

    大規模LUTでも内蔵SRAM連結で対応

    DDR入出力バッファをアドレス制御することで可能

    逐次処理も高速パイプライン処理できる。

    1コンフィギュレーションで50ライン分が使用可能

    DDR入出力バッファはSRAMで、ランダムアクセスが可能

    第3世代DRP DAPDNA(IPFlex)

    インストラクションコードサイズが大きくなる

    汎用プロセッサと同様に処理可能

    大規模LUTにも対応

    DMA制御だけで可能

    X汎用プロセッサと同様に遅

    X各PE毎に1ライン分(600dpi)のメモリしかない

    DDRアクセスは2次元DMAをサポート

    第2世代MXP

    X全ステートを処理しないとならないため、処理時間大

    X基本的に逐次処理はできない

    X全PEに同一のLUTを持

    たない限りできない

    X回転処理などメモリ入出力はできない

    X基本的に逐次処理はできない

    ライン入出力が基本(但し、内蔵メモリがウィンドウサイズの制約となる)

    プログラミング、入力タイミングが変則的になる

    第1世代SIMD

    データフロー制御

    文字列処理性能

    =逐次処理性能

    アクセス性能

    (ランダムアクセス)

    アクセス性能

    (連続領域)

    逐次処理性能

    並列処理性能

    (ライン単位)

    並列処理性能

    (ブロック単位)

    DSPに求められる能力

    ステート遷移に数クロックかかるので工夫が必要

    DAPで可能(DNAとは並列動作が可能)

    大規模LUTでも内蔵SRAM連結で対応

    DDR入出力バッファをアドレス制御することで可能

    逐次処理も高速パイプライン処理できる。

    1コンフィギュレーションで50ライン分が使用可能

    DDR入出力バッファはSRAMで、ランダムアクセスが可能

    第3世代DRP DAPDNA(IPFlex)

    インストラクションコードサイズが大きくなる

    汎用プロセッサと同様に処理可能

    大規模LUTにも対応

    DMA制御だけで可能

    X汎用プロセッサと同様に遅

    X各PE毎に1ライン分(600dpi)のメモリしかない

    DDRアクセスは2次元DMAをサポート

    第2世代MXP

    表 3. 画像処理適合性から見るプロセッサ性能比較 Comparison of processor performance from the point ofview of the image processing requirement

  • 技術論文

    DRP技術を活用したリアルタイム画像処理システムの構築

    富士ゼロックス テクニカルレポート No.18 2008 105

    DRP

    内蔵SRAM

    LUT 画像入力データ

    (メモリ)

    データセット

    Pixel

    前処理

    後処理

    外付けHWでLUT処理対応

    データIn

    データoutLUT

    Packing

    SIMDプロセッサ

    前処理

    後処理

    Packing

    前処理出力

    後処理入力

    LUT内蔵でパイプライン処理

    データセット

    MXP

    Processor

    LUT 画像入力データ

    (メモリ)

    Processor

    LUT 画像入力データ

    (メモリ)

    Processor

    ALUALUALU

    RAM(24KB)

    ALUALU

    ISP-1

    ALUALUALU

    RAM(8KB)

    ALUALU

    ISP-n

    大規模LUT内蔵のISP-1で処理

    図 4. 色空間変換用 LUT 処理の比較 Comparison of LUT processing for color conversion

    次に開発環境的側面であるが、第二世代と第三世代では大きな違いがある。第二世代では(レイテンシの不均一な)アセンブラ言語のみであるのに対し、第三世代では回路図入力(スケマティック・エントリ)に加え、高級言語(正確にはDRP用に拡張されたC言語=DFC(Data Flow C))が使用可能である(参考文献:6)。この様な高級言語で開発が進められることは、’Sense& Response’を実現するための必須条件である。但し、C言語から拡張C言語への変換オーバーヘッドを考えると、必ずしもこの環境は十分であるとは言えないが、富士ゼロックスでは独自の利用技術でカバーしてきている。この部分は後述する。

    3. 画像処理システム

    3.1 ハードウェア構成 画像処理システムのハードウェア構成を図 5に示す。画像処理プロセッサ(DAPDNA-IMX)に加え、画像処理システム全体の制御と一部の画像処理を行うコ・プロセッサ(PowerPC)、それぞれのローカルメモリ、複合機コントローラとの接続を果たすブリッジ・チップ等からなる。 本画像処理システムは、複合機コントローラの PCI バスに接続され、画像データの送受信はPCI バスを介して行われる。転送された画像データは、処理内容に応じて画像処理プロセッサ

    とコ・プロセッサが分担して処理を行う。デジタルフィルタに代表されるラスタ画像処理は画像処理プロセッサが、リスト操作や画像の特徴量の解析など一般的なソフトウェア処理に向いた処理はコ・プロセッサが担当する。従来の複合機の一般的な機能、たとえばコピーの画像処理などでは、ラスタ画像処理が大半を占めるが、近年導入される新しい画像処理技術では、ラスタ画像処理に加えて画像から情報を抽出し得られた情報を解析、その結果から新たな画像を生成するなど処理内容が多様化しており、高い処理性能(リアルタイム性)を得るためにはソフトウェアとハードウェアが協調して処理を行うことが求められる。これを「ハードウェア・ソフトウェア協調設計」(以下、協調設計:詳細は後述)と呼ぶ。本画像処理システムでは、そのような画像処理に対しても、2 つのプロセッサを使い分けることで柔軟に対応可能である。ま

    CoProcessor

    Bus Bridge

    RO

    M

    RAM

    画像処理Processor R

    AM

    MF Controller

    Image dataPipeline informationConfiguration Data

    Bus

    Brid

    ge

    図 5. 画像処理システムのハードウェア構成 Hardware diagram of image processing system

  • 技術論文

    DRP技術を活用したリアルタイム画像処理システムの構築

    106 富士ゼロックス テクニカルレポート No.18 2008

    た、画像処理アルゴリズムによっては、それらのプロセッサの処理を並行して動作させることにより、より高い処理性能を得ることが可能である。 3.2 ソフトウェア構成 画像処理システムのソフトウェア構成を図6に示す。本画像処理システムの一般的な処理のフローに沿って、ソフトウェアモジュールの構成要素の役割を説明する。Application モジュールは、複合機コントローラとの通信や画像データの送受信などインターフェイス制御、ならびにコントローラからの処理要求内容に応じてシステム内部モジュールの制御を行い、複合機コントローラから処理要求指示を受信し、処理対象画像をコントローラから本画像処理システムのローカルメモリに転送・蓄積する。Pipeline Control モジュールは、要求された画像処理に対応した画像処理パイプラインを構築する。このとき、パイプラインの構築に必要な様々な機能を提供するのが Pipeline Manager モジュールである。ローカルメモリへの蓄積と画像処理パイプラインの構築後、コ・プロセッサのローカルメモリから画像処理プロセッサのローカルメモリにパイプライン情報と処理対象画像を転送する。パイプライン情報には、DRPの演算器アレイ部(以下、DNA部)で実行する画像処理を構成する複数のコンフィグレーションデータやそれらの実行順などの情報が含まれている。DAPDNA Pipeline Manager モジュールは、送られてきたパイプライン情報に従って、DNA部をリコンフィグレーション制御し複数のコンフィグレーションデータを切り替えて実行することで所望の画像処理結果を得る。処理結果は再びコ・プロセッサのローカルメモリへ転送され、コ・プロセッサの画像処理モジュールの処理結

    果との合成や、ヘッダ情報を付与された後、複合機コントローラへ転送される。 3.3 画像処理パイプライン管理 ここでは前述した“画像処理パイプライン”について補足する。画像処理は複数の処理の組み合わせによって実現されており、本システムではそれら一連の処理を“画像処理パイプライン”として管理・制御している。画像処理パイプラインは、処理内容によって幾つかに分割したサブパイプラインと、それらサブパイプラインを繋ぐ接続情報、中間処理結果を格納するバッファ情報とで構成されている。画像処理プロセッサで実行されるサブパイプライン内の処理はさらに、コンフィグレーションデータ単位で定義された細粒度のパイプライン情報を持っている(図7)。 新規の画像処理を追加する際には、コンフィグレーションデータを設計し、それらの依存関係や制御内容を細粒度のパイプライン情報に定義するだけでよく、各コンフィグレーションデータのリコンフィグレーション制御やデータ転送を制御するソフトウェアを変更する必要がない。また、各サブパイプラインは独立性が高いため、サブパイプライン単位で他機種への転用が容易である。これにより、新規機能の実装/評価に関わる期間が短縮できる。 一方画像処理システムには、より高い処理性能が求められている。ラスタ処理性能の高い画像処理プロセッサと、コ・プロセッサを活用することだけでも高い性能を得ることは可能であるが、さらに高い処理性能を得るためには、前述したサブパイプラインの粒度が重要となる。

    写真 1. DRP 搭載 画像処理ボード Image processing board with DRP

    UtilitiesUtilities

    ApplicationApplication

    Pipeline ControlPipeline Control

    Pipeline ManagerPipeline Manager

    Lib/Dev DriversLib/Dev Drivers

    ImageProcessing Lib

    ImageProcessing Lib

    DAPDNA Pipeline Manager

    DAPDNA Pipeline Manager

    OSOS

    Co-ProcessorCo-Processor画像処理

    Processor画像処理

    Processor

    図 6. 画像処理システムのソフトウェア構成 Software diagram of image processing system

  • 技術論文

    DRP技術を活用したリアルタイム画像処理システムの構築

    富士ゼロックス テクニカルレポート No.18 2008 107

    処理B

    処理A

    処理C

    処理D

    Pipeline Managerモジュールが処理の実行を管理

    Pipeline Controlモジュールにより構築される画像処理パイプライン

    DAPDNA Pipeline Managerモジュールが処理の実行を制御 コ・プロセッサ上で実行される

    画像処理サブパイプライン

    画像処理プロセッサ上で実行される画像処理サブパイプライン

    バッファ1 バッファ2

    バッファ3

    バッファ4

    バッファ1

    処理A-1

    処理A-2

    処理A-3

    処理A-4

    バッファ情報

    処理間の接続情報

    図 7. 画像処理パイプラインの構築 Construction of image processing pipeline

    Start(C/C++ code)

    負荷分析

    HW・SW 別 性能見積り(PE数&コンフィグレーション数)

    DAP,DNA 設計と個別シミュレーション

    フロアプラン

    フィッティング(配置配線)

    Whole chip シミュレーション

    評価ボード上での検証

    End

    DRP開発フロー

    HW/SW協調設計

    図 8. DRP 開発フロー DRP Development Flow

    サブパイプラインの粒度を細かくした場合、コ・プロセッサと画像処理プロセッサ間でデータ転送の頻度が高くなり、転送時間やプロセッサ間の通信によるオーバーヘッドが増加してしまう。逆に、サブパイプラインの粒度が大きすぎた場合は、再利用性が低下する。また、処理速度の目標を達成するにあたり、前述した画像処理プロセッサとコ・プロセッサの並列処理により全体の処理時間を短縮する必要がある場合にもサブパイプラインの粒度が重要な要素となる。粒度を決定するに当たり、アルゴリズムとして並列処理が可能な箇所を抽出し、画像処理プロセッサの処理時間とコ・プロセッサの処理時間が均等になるようにすることが重要となる。本システムで提供している高圧縮 PDF 生成処理では、一部の処理を並列化することで処理時間の短縮を図っている。

    4. 開発環境及び設計技術

    図 8に全体の開発フローを示す。最初に対象となる画像処理の負荷分析を行う。負荷の軽い部分はCPUで、ホットスポットはDRPに実装することで、開発期間と性能を同時に満足することができる。ホットスポット部は DRP 設計フローに従う。 次に協調設計について説明する。前述したハードウェア構成により2種類の協調設計が可能となる。つまりコ・プロセッサと DRP との疎

    結合(loosely coupled)協調設計(以下、疎結合)、DRP 内部の RISC プロセッサ(DAP)とDNA部の密結合(tightly coupled)協調設計(以下、密結合)である。これらの使い分けは、データ交換の頻度による。バンド幅の確保されている密結合ではデータ交換の頻度が高い場合に、よりバンド幅の低い疎結合では(例えば)ストレートフォワードなデータパスに適する。また、より高いCPUパワーを必要とする場合は、コ・プロセッサをスケーラブルに交換可能なアーキテクチャになっている。これらを図 9に示す。

  • 技術論文

    DRP技術を活用したリアルタイム画像処理システムの構築

    108 富士ゼロックス テクニカルレポート No.18 2008

    C言語モジュール 入力

    DFCコード変更

    モジュール全体DFC対応可能

    NoYes

    DNA合成

    DNAスケマティック入力

    extern(外部マクロ)宣言でライブラリ化

    DFC部分対応可能

    DFCコード変更&DNA合成

    合成後マニュアル修正

    NoYes

    検証フェーズヘ

    Externの埋込み

    (DNA一括生成パス)

    (DNA部分生成パス)

    図 10. DFC 適用の設計フローの確立 Established design flow by DFC adaptation

    4.1 DRP設計フロー DRP 設計フローでは、DFC とスケマティック・エントリーとを組み合わせて利用する。DFCを適用した開発フローを図 10に示す。 DFCは演算系には強いので、C言語からDNAハードウェアがそのまま合成できるが、拡大縮小のように回路上、制御信号及び非同期部を必要とする場合は対応していない。そこで、対応可能な部分のみを抽出してハードウェアを合成し、していない箇所をスケマティック・エントリーで作成して、DFC上で合成した回路と接続

    する方法をとる。例えば 2次元縮小の場合、主走査方向の縮小と副走査方向の縮小を別々に合成し、スケマティック・エントリー上で FIFOを介して接続する。このプログラムと自動合成した回路を図 11、図 12に示す。 生成した回路は、DNAシミュレータによって動作検証する。その後、レイアウト設計(フィッティング)を行って、評価ボード上で最終動作確認を行う。レイアウト設計では、基本的に演算器数使用率が許容範囲内(80%程度が目安)であれば問題は発生しない。また、各演算器間では必ずデータがラッチされる構造なので、ASIC設計のようにタイミング問題は起こらない。評価ボード上での最終確認は現在のところ必須で

    Co-processor

    HW(DNA)

    Local CPU

    DRPLoosely Coupled

    ソースコード(モジュール別)

    DRP (HW)処理

    No

    Yes

    高負荷モジュール

    Local CPUでの性能OK

    Local CPUで実装

    Yes

    システム性能OK

    No

    End

    HW/SW割当て、CPU 再検討

    Yes

    Co-processor処理

    No

    Tightly Coupled

    負荷分析結果より

    図 9. HW/SW 協調設計技術 Hardware/Software co-design method

    int main(int argc, char* argv[]){…………..for (InLineC = 0 ;InLineC < InLineMax ;InLineC++) {

    if ( (InLineC % SkipLine ) == 0 ){

    for (InColC = 0 ; InColC < InColMax ; InColC++){

    if ( (InColC % SkipCol) == 0){

    tmp = (InDat[InColC][InLineC] + InDat[InColC+1][InLineC])/2;OutDat[OutColC][OutLineC] = tmp ;OutColC ++ ;

    }}

    OutLineC ++;OutColC = 0 ;

    }}

    }

    extern "reduct_SS:d2:reduct_SS"{void reduct_SS(

    in unsigned int 16 in1, out unsigned int 16 out1);}extern "reduct_FS:d2:reduct_FS"{

    void reduct_FS(in unsigned int 16 in1, out unsigned int 16 out1);}

    …………………void Reduct(unsigned int 16 InDat[], unsigned int 16 OutDat[]){ delayline int dly;…………………

    for (InLineC = 0 ;InLineC < InLineMax ;InLineC++) {

    for (InColC = 0 ; InColC < InColMax ; InColC++){

    dly = InDat[InLineC*InColMax + InColC] ;tmp0 = ( dly[0]+dly[1] ) >>1;reduct_SS(tmp0,tmp1);reduct_FS(tmp1,tmp2);OutDat[InLineC*InColMax + InColC] = tmp2;

    }}

    }

    (C ソースコード) (DFCコードへの変換)

    DFC対応不可部を外部マクロ化

    副走査externCall

    副走査処理

    主走査処理

    主走査externCall

    図 11. 縮小処理の C コードから DFC コードへの変換 Conversion C code to DFC code in case of reduction process

  • 技術論文

    DRP技術を活用したリアルタイム画像処理システムの構築

    富士ゼロックス テクニカルレポート No.18 2008 109

    Extern記述で結合

    副走査 主走査

    図 12. DFC による自動合成回路(縮小処理) Automatic generation of circuits by DFC(reduction function)

    ある。これは、例えばチップ内部のアービター(調停器)がシミュレータでは考慮されていないなど、実チップを 100%シミュレートしていないためである。 4.2 C ベース設計(DFC)での効率化 DRPにおけるマニュアル設計(スケマティック・エントリー)は、一見生産性の悪い古い設計スタイルをイメージさせるが、プロセッサの基本構成要素が演算器という粗粒度セルのため、ASIC 設計におけるスケマティック・エントリーとは異なり、問題となるほどの開発期間低下は発生しない。しかしDFCを使用する事で更なる開発期間の短縮が計れる。本開発フローを適用して新たな画像処理機能を実現したところ、ハードウェア設計期間はマニュアル設計に比べ1/4 に短縮する事ができた(図 13)。

    5. 将来のシステム(今後)

    図 14 に画像処理システムの今後の姿(あるべき姿)を示す。システムは画像処理プロセッサ(DRP)と固定ハードウェア(ASIC)から構成されており、DRP部はリアルタイムにお客様のニーズを実現するとともに、新たな画像処理技術(テクノロジー・シーズ)をタイムリーに導入するための役割を、ASIC 部は過去に DRP部に実装された機能を集約し、標準機能となったものをコストパフォーマンスよく実装する役割を果たす。このようにDRPと ASIC を組み合わせることで、DRP部に新たな機能を実装する「空間」が生まれると共に、ASIC 開発スパンが2 倍程度に伸びるため開発投資を抑制することができる。これを「DRPと ASIC の循環」と呼ぶ。一般的にDRPを ASIC と対峙する実装手段と考えるケースがあるが、DRPと ASIC を混在させることでお互いを補完する手段と位置づけることができる。

    6. DRP利用技術の社内展開

    現在、本DRPを活用した様々な商品開発が進んでいる。これらの具体例から、DRP 活用の狙いが浮き彫りになる。いずれもリアルタイム性の達成はもちろんであるが、同時に①’Sense& Response’の実現、②量産数量が少ないためASIC開発投資が困難なもの、③協調設計による

    図 13. DFC 適用における設計効率化 Shortened design term by DFC adaptation

    20 3 2 1

    5 3 2 1

    0 10 20 30

    マニュアル設計

    DFC適用DNA設計

    DNAシミュレーション

    W/C シミュレーション

    実ボードテスト

    開発工数(人・日)

  • 技術論文

    DRP技術を活用したリアルタイム画像処理システムの構築

    110 富士ゼロックス テクニカルレポート No.18 2008

    図 14. 画像処理システムのあるべき姿 Ideal goal on image processing system

    DRPはデバイスの付加価値向上のパイロット役になる

    DRP

    ニーズ 1 ニーズ 2 ニーズN

    ASICASIC

    新たな要求が短期間で実現する

    いつでも最新の画像処理サービスが利用できる

    標準機能になったらHW化でコストダウンを達成

    Network経由で新機能をDownload !

    シーズ1 シーズ 2 シーズ N

    DRPとASICの循環

    開発期間短縮、④アルゴリズムを今後も発展させていくもの、⑤量産数量が見込めるもののASIC開発投資を抑制したいもの等が挙げられる。 特にケース④では、リアルタイム系画像処理では元来、ASIC 開発という大きな投資を伴っていたため、時間をかけて「完成されたアルゴリズム、十分な機能」で提供してきたが、DRPによって限定された機能で即時リリースし、マーケット・プローブ、あるいはテクノロジー・プローブを行うなどの適用方法が可能となってきたことは特筆すべきことである。

    7. 結び

    DRP の活用は、ASIC が主流であったリアルタイム画像処理の固定化した(Rigid な)文化に確実にパラダイムシフトを起こしている。この技術の延長上には、ネットワーク上に画像処理コンテンツを流通させ、お客様が必要なときに必要な機能を手に入れられる’オンデマンド複合機’もイメージできる。富士ゼロックスは今後も、真の‘Sense&Response’を目指して、「画像処理プロセッサ技術」によって複合機の革新を目指してゆく。

    8. 商標について

    IPFlex、アイピーフレックス、DAPDNA、DFCはアイピーフレックス(株)の登録商標です。 PowerPC は、IBM Corporation の登録商標です。

    参考文献

    1) 山田、内藤、「リアルタイム画像処理システムの構築」電子情報通信学会技報 Vol.106 No.393 pp21-26 RECONF2006-40 (2006-11) copyright©2006IEICE

    2) 山田、内藤、「画像処理適合性から見たデジタル・メディア・プロセッサと動的再構成可能プロセッサの技術比較」電子情報通信学 会 技 報 Vol.107 No.341 pp7-12 RECONF2007‒37(2007-11) copyright© 2007IEICE

    3) 「富士ゼロックスが動的再構成技術 複合機の画像処理コア部品に採用」日経エレクトロニクス 2008.3.10 号 p12-13

    4) 「東芝の次世代 SoC「Venezia」ホモジニアス・マルチコアを採用」日経エレクトロニクス 2008.6.30 号 p105-124

    5) Intel® MXP5800 Digital Media Processor Developer ’ s Masnual October 2003 Rev3.1

  • 技術論文

    DRP技術を活用したリアルタイム画像処理システムの構築

    富士ゼロックス テクニカルレポート No.18 2008 111

    6) 「DFC ランゲージリファレンスマニュアル」 アイピーフレックス社

    筆者紹介

    山田 和雄 エレクトロニクス技術研究Gに所属。 専門分野:画像処理プロセッサ技術 電子情報通信学会 正会員 内藤 孝雄 エレクトロニクス技術研究Gに所属。 専門分野:画像処理プロセッサ技術 電子情報通信学会 正会員 土渕 清隆 IPS Gに所属。 専門分野:画像処理システム開発 張 臻瑞 IPS G に所属。 専門分野:画像処理システム開発