JP2015139009A - 画像処理装置、その制御方法及びプログラム - Google Patents

画像処理装置、その制御方法及びプログラム Download PDF

Info

Publication number
JP2015139009A
JP2015139009A JP2014008075A JP2014008075A JP2015139009A JP 2015139009 A JP2015139009 A JP 2015139009A JP 2014008075 A JP2014008075 A JP 2014008075A JP 2014008075 A JP2014008075 A JP 2014008075A JP 2015139009 A JP2015139009 A JP 2015139009A
Authority
JP
Japan
Prior art keywords
data
unit
dynamic partial
configuration data
partial reconfiguration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014008075A
Other languages
English (en)
Inventor
賀久 野村
Shigehisa Nomura
賀久 野村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014008075A priority Critical patent/JP2015139009A/ja
Publication of JP2015139009A publication Critical patent/JP2015139009A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】 FPGAに構成する機能部の種類が増大すると、FPGAへのコンフィグレーションデータの転送、割り込み処理が多くなってCPUの負担が増大し、処理速度の低下を招くおそれがある。【解決手段】 CPUと、コンフィグレーションデータに応じて、少なくとも一部の回路を動的に再構成できる動的部分再構成部を有する画像処理装置において、コンフィグレーションデータと動的部分再構成部で処理されるデータをメモリに記憶し、DMACは、CPUの指示に従って、そのメモリからコンフィグレーションデータと処理対象のデータとを動的部分再構成部にDMAで転送する。動的部分再構成部は、DMACにより転送されるコンフィグレーションデータによる動的部分再構成部の再構成と、その再構成された機能部による、処理対象のデータの処理を実行する。【選択図】 図8

Description

本発明は、画像処理装置、その制御方法及びプログラムに関する。
論理回路を再構成可能なデバイスを使用してハードウェアリソースを時分割で多重化し、かつアプリケーションを変更することでコストの削減や消費電力の減少を実現し、所望の処理を実現する動的再構成が知られている。一方、電源投入時などに一度だけハードウェアリソースの構成を行う方法を静的再構成という。このように論理回路を再構成可能なデバイスとしてFPGAがよく知られている。一般に、FPGAは揮発性メモリであるコンフィギュレーションメモリへ論理ブロックの構成情報(コンフィグレーションデータ)を書き込むことで、内部ロジックの機能を切り替えて論理回路を再構成できる。このコンフィグレーションデータは、ROM等の不揮発性メモリへ格納されており、再構成時に適宜読み出される。FPGAのコンフィギュレーションメモリに記憶された情報は電源遮断時にクリアされるため、電源投入時には再度、ROMからコンフィグレーションデータを読み出してコンフィギュレーションメモリに書き込むことで静的再構成を行う必要がある。一方、動的再構成が可能なデバイスの場合は、処理に合わせて適宜動的再構成が実施される。
一方で、動的部分再構成も知られている。この動的部分再構成とは、動的再構成時にコンフィギュレーションメモリ全体を書き換えるのではなく、コンフィギュレーションメモリ領域の一部のみを書き換えることで、FPGA内部ロジックを部分的に再構成することである。動的再構成の場合は、デバイスにインプリメントされたアプリケーション全体の処理を止めた状態で再構成を行う必要がある。しかし動的部分再構成では、再構成されない部分で実行されているアプリケーションに影響を与えることなく、対象とする部分のみを再構成することができる。このように動的部分再構成を行うことで、アプリケーションで使用する論理回路を柔軟に変更できるため、アプリケーションの機能を実行するのに必要なFPGAのデバイスサイズを減少でき、コスト及び消費電力を削減できる。
この動的部分再構成では、コンフィグレーションデータはコンフィグレーションメモリからシステムバスを介して動的再構成制御回路に転送される。この動的再構成制御回路は、そのコンフィグレーションデータにより、指定されたFPGA内部ロジックを再構成する。従って最小限のFPGAの内部ロジックを使用してジョブを実行する場合は、ジョブ処理中に、何度も、そのロジックを書きかえなければならない。例えば特許文献1には、CPUがプログラムに従って画像処理回路のコンフィグレーションデータをコンフィグレーションメモリから切り替えて読み出し、動的再構成部の再構成を制御する技術が記載されている。
特開2010−232801号公報
このように、CPUがプログラムに従ってスケジューリングして動的再構成部を制御する場合は、CPUによるコンフィグレーションデータの転送、割り込み処理などの負荷が頻繁に発生する。特に動的再構成を行う場合は、通常の処理に比べて長い時間を要するため、書き換え頻度が多くなるほどパフォーマンスが低下するという課題がある。例えばMFP(Multifunction Peripheral)におけるコピー処理では、原稿のスキャン、編集、プリントの各処理が実施される。それらの各処理を機能毎にさらに細分化すると、20〜30個の画像処理回路が必要になる。その場合、CPUはそれら画像処理回路をFPGAで構成しようとすると、コンフィグレーションデータの転送、割り込み処理をその数だけ実行しなければならなくなり、CPUの負担が増大し、処理速度の低下を招くおそれがある。
本発明の目的は、上記従来技術の問題点を解決することにある。
本発明の特徴は、動的部分再構成部のコンフィグレーションを行う際のCPUの負担を軽減させる技術を提供することにある。
上記目的を達成するために本発明の一態様に係る画像形成装置は以下のような構成を備える。即ち、
CPUと、
コンフィグレーションデータに応じて、少なくとも一部の回路を動的に再構成できる動的部分再構成手段と、
前記コンフィグレーションデータと前記動的部分再構成手段で処理されるデータを記憶する記憶手段と、
前記CPUの指示に従って、前記記憶手段から、前記コンフィグレーションデータと前記処理されるデータとを前記動的部分再構成手段にDMAで転送するDMA手段とを有し、
前記動的部分再構成手段は、前記DMA手段により転送される前記コンフィグレーションデータによる前記動的部分再構成手段の再構成と、当該再構成された回路による前記処理されるデータの処理を実行することを特徴とする。
本発明によれば、動的部分再構成部のコンフィグレーションを行う際のCPUの負担を軽減させることができる。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態に係る画像形成装置を含むシステム構成の一例を示す図。 実施形態に係る画像形成装置のハードウェア構成の一例を示すブロック図。 本発明の実施形態に係る画像形成装置における動的部分再構成部の詳細な構成を示すブロック図。 本発明の実施形態に係る画像形成装置のDMACの機能構成を示すブロック図。 実施形態に係る画像形成装置が実行する処理に対応して、CPUがコンフィグレーションデータ、パラメータデータ及び画像データを管理するテーブルのデータ構成を説明する図(A)(B)、実施形態に係るヘッダを説明する図(C)。 実施形態に係る画像形成装置でRAMに展開されたコンフィグレーションデータ、パラメータデータ、画像データのメモリマップを説明する図。 実施形態1に係る画像形成装置のCPU210による処理を説明するフローチャート。 実施形態1に係る画像形成装置のDMACによる処理を説明するフローチャート。 実施形態2に係る両面スキャンコピー動作時のテーブルの一例を示す図。 実施形態2に係る画像形成装置でRAMに展開されたコンフィグレーションデータ、パラメータデータ、画像データのメモリマップを説明する図。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、本実施形態では、本発明の画像処理装置を画像形成装置を例に説明するが、本発明は、この画像形成装置に限定されないことはもちろんである。
図1は、本発明の実施形態に係る画像形成装置101を含むシステム構成の一例を示す図である。
画像形成装置101は、各種入力データを処理し、画像形成(作像)を行って印刷物を出力する。プリントサーバ102は、ネットワーク104を介して画像形成装置101と接続されている。クライアントPC103は、プリントサーバ102と同様にネットワーク104を介して画像形成装置101に接続されている。尚、この画像形成装置101は動的部分再構成可能なFPGAを有し、プリントサーバ102又はクライアントPC103から入力されるジョブの種類に応じて、それらジョブの種類ごとに必要となる画像処理機能を動的に部分再構成することができる。
図2は、実施形態に係る画像形成装置101のハードウェア構成の一例を示すブロック図である。
画像形成装置101は、大別して、画像形成装置101を使用するユーザが各種の操作を行うための操作部201と、画像情報を読み取るスキャナ部202と、画像データを用紙に印刷するプリンタ部205及びコントローラ206を有する。スキャナ部202は、スキャナ部202を制御するCPUや原稿読取を行うための照明ランプや走査ミラー(いずれも不図示)などを有する。プリンタ部205は、プリンタ部の制御を行うCPUや画像形成や定着を行うための感光体ドラムや定着器等(いずれも不図示)を有する。またコントローラ206は、スキャナ部202やプリンタ部205を制御し、ネットワーク(LAN)104や公衆回線(WAN)203、無線LAN204等介して外部のPCクライアント103や汎用コンピュータ240との通信を制御している。
次にコントローラ206の構成を詳しく説明する。
動的部分再構成部(FPGA)230は、PCクライアント103や操作部201等から受信したジョブの種類に応じて、必要となる処理機能を部分的に再構成できる。CPU241は、画像形成装置101を統括的に制御する制御部である。RAM242は、CPU241が動作するためのシステムワークメモリを提供し、また画像データ等を一時記憶するのに使用される。ROM211は、CPU241が実行するブートプログラムや各種設定情報などを格納している。操作部I/F214は、操作部201に表示する画像データを操作部201に対して出力し、また操作部201からユーザが入力した情報をCPU241に伝える役割をする。ネットワーク部215はLAN104に接続され、PCクライアント103やLAN104上のその他のコンピュータ端末(不図示)との通信(送受信)を行う。またモデム216は、公衆回線203に接続された外部のファクシミリ装置(不図示)との間のデータの通信(送受信)を行う。また無線通信I/F217は、無線204により外部の汎用コンピュータ240と通信する。ハードディスクドライブ(HDD)213は、システムソフトウェア、画像データ、ソフトウェアカウンタ値などを格納する。また内部の通信I/F219は、スキャナ部202及びプリンタ部205と夫々通信を行う。タイマ218は、CPU241の指示に従って所定時間の計時や、日時などを計時している。イメージバスI/F220は、システムバス221とイメージバス250とを接続し、それらの間でデータ構造を変換するバスブリッジである。以上説明した各部はシステムバス221を介してCPU241と接続されている。
次にイメージバス250に接続されている各部を説明する。CPU210はROM243に記憶されているプログラムに従って、後述する動的部分再構成部(FPGA)230の再構成や画像データの転送などの制御を行う。RAM212はCPU210のワークエリアとして使用され、またコンフィグレーションデータを事前に展開するプリロードメモリとしても使用される。ROM243は、CPU210により実行されるプログラムや、動的部分再構成部230に構成するコンフィグレーションデータ等を格納している。DMAC(DMA制御部)222は、CPU210から設定されRAM212に格納されたコンフィグレーションデータ或いは各I/Fから入力されてRAM212に格納された画像データ等をコンフィグI/F226或いは動的部分再構成部230へ転送する。またDMAC222は、動的部分再構成部230で処理された画像データをRAM212にDMA転送して書き込むことができる。画像圧縮部223は、多値画像データをJPEGで、2値画像データをJBIG,MMR又はMHによる圧縮・伸張処理を行う。またデバイスインターフェース224は、スキャナ部202及びプリンタ部205とコントローラ206を接続して、画像データの同期系/非同期系の変換を行う。
次に動的部分再構成部230に構成される機能について説明する。
ラスタイメージプロセッサ(RIP)231は、LAN104を介してPCクライアント103から受信した印刷ジョブに含まれるPDLコードをビットマップイメージに展開する。スキャナ画像処理部232は、スキャナ部202から受け取った画像データに対し補正、加工、編集を行う。プリンタ画像処理部233は、プリンタ部205で出力(印刷)される画像データに対して補正、解像度変換等を行う。画像回転部234は、画像データを90度単位で回転させた画像データを得ることができる。尚、これは、あくまでも、ある時点での動的部分再構成部230の機能部の構成を示しており、常に、このような機能が設けられているわけではない。
コントローラ206は、動的部分再構成部230の内部のリソース使用状況及び構成情報を保持し、実行対象のジョブに必要となる画像処理機能のコンフィグレーションデータを、その構成情報を基に、対応する読み出し元から選択して読み出す。そして、その読み出したコンフィグレーションデータを、動的部分再構成部230へDMAC222経由で転送する。コンフィグコントローラ225は、コンフィグレーションデータのCRCチェック結果を受信する。コンフィグI/F226は、コンフィグコントローラ225と動的部分再構成部230との間のコンフィグレーションデータ及びCRCチェック結果をやり取りを制御する。
コントローラ206は、印刷やコピージョブ実行時の、ユーザ名や印刷部数、カラー印刷等の出力属性情報をジョブ実行時のジョブログ情報としてHDD213或いはRAM242に記憶して管理している。
尚、実施形態における印刷ジョブの入力は、PCクライアント103だけでなく、操作部201から入力されても良い。また実施形態に係る動的部分再構成部230に構成されうる画像処理機能の一部は、コントローラ206のハードウェア資源を利用して達成されても良い。また画像圧縮部223の機能が、動的部分再構成部230内に構成されてもよい。またデバイスI/F機能を実現するデバイスI/F224の機能が動的部分再構成部230内に構成されても良い。またコンフィグレーションデータの格納部として、コントローラ206のHDD213を使用しても良い。
図3は、本発明の実施形態に係る画像形成装置101における動的部分再構成部230の詳細な構成を示すブロック図である。
動的部分再構成部230は、コンフィグレーションデータ及びCRCチェックの結果を転送するコンフィグレーションポート301を有する。このCRCチェックは、コンフィグレーションデータがビット落ちなどがなく、正常に転送されたかどうかを判定するのに使用される。CRCチェックの結果によって動的部分再構成部230のコンフィグレーションが正常に完了したか否かを判定できる。また動的部分再構成部230は、論理回路が構成されるコンフィグレーションメモリ303とコンフィグレーション回路部302とを有する。コンフィグレーション回路部302は、コンフィグコントローラ225から送信されたコンフィグレーションデータを解析して、コンフィグレーションメモリ303の適切なアドレスへコンフィグレーションデータを転送する。またコンフィグレーションデータのCRCチェックを行う。従って、コンフィグコントローラ225からコンフィグレーションメモリ303へのコンフィグレーションデータの転送がCRCエラーなく正常に終了すると、動的部分再構成部230の再構成が完了したと判定できる。
コンフィグレーションメモリ303は、それぞれアドレスが指定できる最小単位の論理ブロック304を複数有する。またコンフィグレーションメモリ303は、いくつかの論理ブロックのまとまりで再構成を行うことのできるリコンフィグ画像処理機能(図2の231〜234のいずれか)が構成され得る再構成領域305を1つ以上有する。またコンフィグレーションメモリ303は、クロック及びクロック調整ロジック、I/O及びI/O関連コンポーネント、その他FPGAデバイスアーキテクチャ特有のコンポーネントが含まれるスタティック領域306を有する。再構成領域305は、スタティック領域306に構成されたI/O関連コンポーネントを介してDMAC222経由でイメージバス250に接続され、CPU210或いはDMAC222からの制御情報の受信及びRAM212の画像データへのアクセスを行う。また動的部分再構成部230は、画像データのアクセス及び処理を完了すると処理完了の割り込み(不図示)を生成する。
図4は、本発明の実施形態に係る画像形成装置のDMAC222の機能構成を示すブロック図である。
DMAC222は、バス制御部401、セレクタ402、割り込み検知部403、割り込み生成部404及びCONFIG ID保持部405を有する。バス制御部401は、イメージバス250に接続され、イメージバス250を介して転送されたデータを受け取り、そのデータに付与された後述するヘッダを判定する。尚、バス制御部401は、割り込み検知部403からのステータス信号に基づいてデータの送受信を制御する。即ち、バス制御部401は、コンフィグレーションデータの転送時に、そのステータス信号が動的部分再構成部230が構成中であることを示していると、次の画像データの転送を禁止する。また、ステータス信号が画像データの処理中を示していると、次のコンフィグレーションデータの転送を禁止するように制御する。またバス制御部401は、CONFIG ID保持部405に保持されているデータID(図5(C)を参照して後述する)を基に、現在の動的部分再構成部230に構成されている回路、即ちコンフィグレーションデータの種類を判別できる。従って、送られてきたコンフィグレーションデータのヘッダに含まれるデータIDがCONFIG ID保持部405に保持されている識別情報(ID)と同じであれば、動的部分再構成部230の再構成は不要であると判断できる。そのような場合は、そのコンフィグレーションデータの転送を不許可にすることもできる。
セレクタ402は、バス制御部401で判定した結果に基づいて、バス制御部401からのデータをコンフィグコントローラ225に送るか、動的部分再構成部230に送るかを切り替える。即ち、コンフィグレーションデータの場合はコンフィグコントローラ225に送り、画像データの場合は動的部分再構成部230に送るように切り替える。割り込み検知部403は、コンフィグレーションデータを転送するときのCRCチェック結果を受信して、コンフィグレーションが正常に終了したか否かを判定し、バス制御部401に対してコンフィグレーション中か否かを示すステータス信号を送信する。また割り込み検知部403は、動的部分再構成部230からの画像処理の完了割り込みを受信すると、画像処理が完了したことを示すステータス信号をバス制御部401に送信する。割り込み生成部404は、設定されたデータ処理が全て完了したか、或いはエラーが発生した場合に、CPU210への割り込み信号を生成する。CONFIG ID保持部405は、動的部分再構成部230に転送されたコンフィグレーションデータのヘッダに記述されているコンフィグレーションデータの識別情報を保持する。
図5(A)は、実施形態に係る画像形成装置101が実行する処理に対応して、CPU210がコンフィグレーションデータ、パラメータデータ及び画像データを管理するテーブルのデータ構成を説明する図である。このテーブルは図6に示すように、RAM212のアドレス(0x1C00_0000)〜(0x1FFF_FFFF)に記憶されている。
このテーブルはCPU210がRAM212に作成し、動的部分再構成部230が処理するためな必要なCONFIG ID、コンフィグレーションデータ、パラメータデータ及び画像データのそれぞれ開始及び終了アドレスを関連付けている。図5(A)は、(N+1)個の処理を実行する場合を示し、処理0から処理(N+1)の順にデータを格納する。
図5(B)は、上記テーブルの具体例を示す図である。
ここでは例えば、コピー動作が指示された場合に、先ずADFにセットされている原稿を読み取って、その原稿をカラー原稿モードで処理するか白黒原稿モードで処理するかを判定し、読み取った原稿の画像データをRAM212に展開する。こうして指示されたコピー処理を実行するのに必要な機能を動的部分再構成部230に構成するためのコンフィグレーションデータ及びパラメータデータをROM211からRAM212に展開する。これにより図5(B)に示すようなテーブルが作成される。
図6は、実施形態に係る画像形成装置101でRAM212に展開されたコンフィグレーションデータ、パラメータデータ、画像データのメモリマップを説明する図である。
図5(B)と図6とを参照して説明すると、CONFIG IDの「001」は、カラー原稿を読み取る処理に該当する。ここではRAM212の開始アドレス(0x0000_1000)から終了アドレス(0x0000_1FFC)のカラースキャン用のコンフィグレーションデータ(SCAN_CL)を使用する。またRAM212の開始アドレス(0x1000_0000)から終了アドレス(0x1000_FFFC)のカラースキャン用のパラメータデータ(SCAN_CL)を使用して動的部分再構成部230を構成する。またこのときのスキャン画像データ(SCAN)は、RAM212のアドレス(0x1200_0000)からアドレス(0x13FF_FFFC)に格納されている。従って、CPU210は、図5(B)のテーブルをDMAC222に指示してDMAC222を起動することにより、RAM212のコンフィグレーションデータ、パラメータデータ及び画像データが動的部分再構成部230に送られる。これにより動的部分再構成部230に、カラースキャン処理を実行するための機能部(例えばスキャナ画像処理部232)が構成される。そして、その構成された機能部により、スキャン画像データが処理されてRAM212のアドレス(0x1400_0000)から記憶される。
また図5(B)のCONFIG IDの「002」は、コピー用のハーフトーン処理、即ち、スキャンにより読み取って得られたカラー画像データに対してハーフトーン処理を実行することに該当している。このハーフトーン処理では、RAM212のアドレス(0x0000_6000)から記憶されているハーフトーン用のコンフィグレーションデータ、アドレス(0x1001_0000)から記憶されているパラメータデータが使用される。またハーフトーン処理の対象となる画像データはRAM212のアドレス(0x1400_0000)から記憶されている。この場合も前述と同様に、DMAC222は図5(B)のテーブルのID「002」を参照して、動的部分再構成部230に、コピー用のハーフトーン処理を実行するための機能部を構成する。そして、その機能部を構成した後、RAM212のアドレス(0x1400_0000)から画像データを読み出して動的部分再構成部230に転送する。これにより、その構成された機能部により、その転送された画像データがハーフトーン処理されてRAM212の先頭アドレス(0x1600_0000)より記憶される。
更に図5(B)のCONFIG IDの「003」は、印刷処理に該当している。この印刷処理では、RAM212のアドレス(0x0000_2000)から記憶されているカラー印刷用のコンフィグレーションデータ、アドレス(0x1002_0000)から記憶されているパラメータデータが使用される。また印刷処理の対象となる画像データはRAM212のアドレス(0x1600_0000)から記憶されている。この場合も前述と同様に、DMAC222は図5(B)のID「003」を参照して、動的部分再構成部230に印刷処理を実行するための機能部(例えばプリンタ画像処理部233)を構成する。そして、その構成された機能部により、RAM212に記憶されている画像データが印刷される。
尚、図6に示すRAM212に記憶されたコンフィグレーションデータ、パラメータデータ、及び画像データのそれぞれはヘッダを有しており、後述するコンフィグコントローラ225は、そのヘッダを参照して、転送するデータの種類を判別する。
図5(C)は、実施形態に係るヘッダを説明する図である。
図において、501は、図5(B)のCONFIG IDに対応する、どの処理で使用されるかを示す識別情報、502は、コンフィグレーションデータ、パラメータ、画像データのいずれかを示すデータIDである。503,504は、そのデータが格納されているRAM212の開始アドレスと終了アドレスを示している。このヘッダは、例えば図6に示す各データの先頭に格納されている。
上述のバス制御部401は、このヘッダのデータID502がコンフィグレーションデータを示していれば、セレクタ402がコンフィグレーションデータをコンフィグコントローラ225へ転送するように制御する。またデータID502が画像データを示していれば、セレクタ402が画像データを動的部分再構成部230へ転送するように制御する。これにより、コンフィグレーションデータにより動的部分再構成部230に機能部を構成し、またその構成された機能部により、転送された画像データが処理されることになる。
[実施形態1]
次に本発明の実施形態1に係る画像形成装置101において、ユーザが操作部201を介してコピー指示を行った場合の処理を説明する。尚、本実施形態1では、一つの処理毎に動的部分再構成部230に一つの機能部を再構成する場合で説明するが、複数の機能部を構成しても良いことはもちろんである。
図7は、実施形態1に係る画像形成装置101のCPU210による処理を説明するフローチャートである。尚、この処理を実行するプログラムはROM243に記憶されていて、CPU210がそのプログラム読み出して実行することにより、この処理が実現される。
ここでは、例えばユーザが操作部201を介して用紙サイズ、画質(濃度、色味、コントラスト)など等の設定情報を入力して、コピー処理の開始を指示した場合で説明する。この場合、メインのCPU241は、スキャナ部202を制御して原稿の読み取りを行い、読み取って得られた画像データをRAM212のアドレス(0x1200_0000)から格納した後に開始されるものとして説明する。
まずS701でCPU210は、コピー指示に応じて、動的部分再構成部230で実施する画像処理用のコンフィグレーションデータをROM211或いはHDD213からRAM212に展開する。ここではコピー動作に応じて、スキャン処理、プリント画像処理(ハーフトーン処理)、プリント画像処理(プリント処理)用のコンフィグレーションデータをRAM212に格納する。ここでRAM212にコンフィグレーションデータを展開した状態は、前述の図6に示す通りである。このとき図5(B)に示すテーブルのコンフィグレーションデータのアドレスを更新する。尚、図6では、この実施形態1に係るコピー処理で使用されないコンフィグレーションデータも格納されているが、このように前以って、例えば電源オン時等にRAM212にコンフィグレーションデータを展開しておけばS701の処理は省略できる。
ここでスキャン処理は、各色のラインずれ補正やガンマ補正、MTF補正、ノイズ除去処理などを含む。またハーフトーン処理は、RGBの多値データに対して色変換処理、誤差拡散、スクリーン処理等を行って、二値データに変換する処理を含む。またプリント処理は、スムージング処理や印刷部のPWM(Pulse Width Modular)に合わせたシリアルデータへの変換処理を含む。尚、ここでは代表的な画像処理について述べているが、それ以外の画像処理の詳細については割愛する。
尚ここで、CPU210は、各コンフィグレーションデータをRAM212に展開した状態で、どこに、どのコンフィグレーションデータが格納されているかを把握できる。また図6に示すようにRAM212に格納されている各コンフィグレーションデータの中から、動的部分再構成部230の再構成に必要なデータを選択する。尚、RAM212に所望のコンフィグレーションデータが格納されていない場合は、ROM211或いはHDD213等から必要なコンフィグレーションデータを読み込んで格納する。そして、前述のテーブルにコンフィグレーションデータの識別情報(CONFIG ID)、RAM212の先頭アドレスとエンドアドレスを格納する。また各コンフィグレーションデータの先頭に、それら情報を含むヘッダを用意する。以下の説明ではコンフィグレーションデータの先頭にヘッダ情報を設ける例で説明する。
次にS702に進みCPU210は、各処理に対するパラメータデータをRAM212に展開する。このパラメータデータもROM211或いはHDD213に記憶されている。ここでもS701と同様に、前述のテーブルの識別情報(CONFIG ID)に対応付けて、そのパラメータデータの先頭アドレスと終了アドレスを図5(B)に示すテーブルに格納する。
次にS703に進みCPU210は、処理対象の画像データが格納されているRAM212のアドレスを取得して図5(B)に示すテーブルを更新する。例えばスキャンデータはスキャナ部202で読み取ったデータで、アドレス(0x1200_0000)〜(0x13FF_FFFC)に格納され、動的部分再構成部230が、その格納された画像データに対してスキャン画像処理を施すことになる。
次にS704に進みCPU210は、DMAC222に対して、図5(B)に示すテーブルの値に従って処理するように設定してDMAC222を起動する。ここでテーブルはRAM212に用意されており、DMAC222が、そのテーブルを読み込み、そのテーブルに従って処理を実行する。尚、そのテーブルの内容をDMAC222が備えるメモリ(レジスタなど)に書き込む方法でも良いものとする。
こうしてDMAC222は、例えば図5(B)のテーブルで示す処理順に従って、動的部分再構成部230の動的部分再構成と、その再構成された動的部分再構成部230への画像データの供給とを実行する。これにより動的部分再構成部230は、コンフィグレーションデータにより再構成された機能部を使用して、処理対象の画像データを処理してRAM212に格納する処理を、例えば図5(B)のテーブルに従って順次実行する。これにより、上述したように、スキャナ部202による原稿のスキャン、そのスキャン画像のハーフトーン処理、そしてプリンタ部205を使用した印刷処理が、動的部分再構成部230に再構成された機能部を使用して実行される。こうして印刷までの処理が完了すると、DNMAC222からCPU210への処理完了の割り込みが発生する。
これによりS705でCPU210は、DMAC222からの割り込み信号を受け取るとS706に進み、CPU210は、その割り込みをクリアし、コピー処理が終了したと判定する。そしてRAM212に格納した各コンフィグレーションデータ、パラメータデータ、画像データ、テーブルを消去し、その領域を解放して、この処理を終了する。
尚、図6に示すスキャン画像データ、ハーフトーン処理用の画像データ、印刷用の画像データを格納する開始アドレスは、固定して設定されても良い。
次に、コピー動作時を例に、実施形態1に係るDMAC222の動作を説明する。
図8は、実施形態1に係る画像形成装置のDMAC222による処理を説明するフローチャートである。
先ずS801でDMAC222は、CPU210からの起動指示を待ち、前述の図7のS704で発行される起動指示を受け付けるとS802に進む。S802でDMAC222は、割り込み検知部403からのステータス信号に基づいて、動的部分再構成部230の状態を判定する。ここでコンフィグレーションデータの更新中、或いは画像データ等の処理中であると判定した場合は、それらの処理が終わるまで待機する。データの更新中或いはデータ処理中でないときはS803に進み、例えば図5(B)のテーブルのID「001」で示されるコンフィグレーションデータ(SCAN_CL)のヘッダをRAM212のアドレス(0x0000_1000)から読み込む。S804でDMAC222は、読み込んだヘッダのデータIDから、そのデータがコンフィグレーションデータかどうかを判定し、コンフィグレーションデータであればS805に進むが、そうでないときはエラーとしてS818に進む。S805でDMAC222は、そのデータIDがCONFIG ID保持部405のIDと同じか否かを判断する。これはIDが同じであれば、そのコンフィグレーションデータに基づく機能部が既に動的部分再構成部230に構成されていること示しているため、動的部分再構成部230を再構成する必要がないと判断してS808へ遷移する。一方、データIDがCONFIG ID保持部405のIDと同じでないときはS806に進む。S806でDMAC222は、バス制御部401により、セレクタ402に対してデータをコンフィグコントローラ225に転送するように制御する。更にDMAC222は、RAM212のアドレス(0x0000_1000)からアドレス(0x0000_1FFC)に記憶されている、ヘッダを除いたコンフィグレーションデータをフィグコントローラ225に転送する。こうしてコンフィグレーションデータの転送が終了するとS807へ進みDMAC222は、割り込み検知部403からのステータス信号を待って、動的部分再構成部230のコンフィグレーションが完了したかを判定する。S807でコンフィグレーションの実行中であると判定した場合はS809に進み、CRC結果が異常か、もしくは一定時間以上応答がなかったかどうかを判定し、そうでないときはS807に進む。S809でCRC結果が異常、或いはタイムアウトが発生したときはS818のエラー割り込みの発生処理に進む。
こうしてS807で動的部分再構成部230のコンフィグレーションが完了したと判定するとS808のパラメータデータの読込み処理に進む。尚、ここで従来は、S807,S809でのCRCの結果の判定をCPU210が実施していたが、実施形態1ではDMAC222が実施する。
S808でDMAC222は、図5(B)のテーブルの2番目のRAM212のパラメータデータの開始アドレス(0x1000_0000)からデータを読み込む。そして、そのヘッダのデータIDから、そのデータがパラメータデータ(SCAN_CL)であるかどうかを判定し、そうであればS810に進むが、そうでないときはS818に進む。ここでパラメータデータは、スキャン画像処理の設定用のデータで、動的部分再構成部230は、このパラメータデータを受信すると所望の機能で動作するように設定されるものとする。S810でDMAC222は、RAM212のアドレス(0x1000_0000)から(0x1000_FFFC)からヘッダを除いたパラメータデータを読み込んで動的部分再構成部230に転送する。
次にS811に進みDMAC222は、図5(B)テーブルの3番目のRAM212のアドレス(0x1200_0000)から画像データ(SCAN)のヘッダを読みとって画像データかどうかを判定する。そうであればS812に進むが、そうでないときはS818に進む。S812でDMAC222は、RAM212の開始アドレス(0x1200_0000)から(0x13FF_FFFC)に格納されている、ヘッダを除いた画像データを読み込んで動的部分再構成部230に転送する。これにより動的部分再構成部230で、その画像データに対する処理が実行される。
次にS813に進みDMAC222は、割り込み検知部403からのステータス信号に基づいて、動的部分再構成部230の状態を判定する。ここで画像データの処理中であると判定した場合はS815へ遷移し、タイムアウトが発生したかどうかを判定する。S815でタイムアウトが発生するとS818に進むが、そうでないときはS813に進む。S813でDMAC222は、動的部分再構成部230から画像処理の完了割り込みを受けるとS814に進む。従来は、画像処理が終了したかをCPU210が判定していたが、本実施形態1ではDMAC222が代わりに実施する。
S814でDMAC222は、動的部分再構成部230に対して割り込み処理を実施する。尚、この割り込み処理では、例えばスキャン画像処理の場合、機能として画像データが白黒データかカラーだったかの判定や、白紙だったかの判定結果を非図示のDMAC222の内部メモリ、もしくは外部メモリに格納する。次にS816に進みDMAC222は、図5(B)のテーブルを参照して、全ての処理を完了したかを判定し、まだ未処理の処理があると判定した場合はS802へ遷移する。本実施形態1では、図5(B)の例では、スキャン処理が完了すると、次はCONFIG_ID「002」のハーフトーン処理(HT_COPY)を実施する。更にハーフトーン処理が終了すると、CONFIG_ID「002」のプリント処理(PRT_CL)を実施する。こうしてS816で全てのデータ処理が終了するとS817に進みDMAC222は、全ての処理が正常に終了したことをCPU210に通知するために、割り込み生成部404で正常終了割り込みを生成して処理を終了する。一方、S818では、割り込み生成部404でエラー終了割り込みを生成して処理を終了する。
以上説明したように実施形態1によれば、CPUは、実行する処理と、各処理で使用するコンフィグレーションデータ、パラメータデータ、画像データが格納されているRAMのアドレスをテーブルに登録してDMACを起動する。これにより、DMACが自動的に動的部分再構成部の再構成と、その再構成された動的部分再構成部の機能部を使用したデータ処理を実現する。これによりCPUの負担を軽減して、処理のスループットを上げることができる。
また、各処理で必要となる機能部が既に動的部分再構成部に構成されている場合は、コンフィグレーションデータの転送による再構成を行わないようにするため、動的部分再構成部が無駄に再構成されるという不具合を解消できる。
[実施形態2]
次に本発明の実施形態2として、DMAC222が、動的部分再構成部230のコンフィグレーションをスキップする場合について説明する。尚、前述の実施形態1との相違点のみを説明し、それ以外は前述の実施形態1と同様であるため、その説明を割愛する。
図9は、実施形態2に係る両面スキャンコピー動作時のテーブルの一例を示す図である。前述の実施形態1の図5(B)との違いは、CONFIG_IDが「001」の最初(表面)のスキャン処理の後に、CONFIG_IDが「002」の裏面のスキャン処理がある。またCONFIG_IDが「004」の表面の画像データの解像度変換処理の後に、CONFIG_IDが「004」の裏面の画像データの解像度変換処理が設けられている。
図10は、実施形態2に係る画像形成装置101でRAM212に展開されたコンフィグレーションデータ、パラメータデータ、画像データのメモリマップを説明する図である。
この場合DMAC222は、図8のS805において2番目のコンフィグレーションデータ(SCAN_CL)のヘッダのデータIDから、既に同じコンフィグレーションが実行されていることを検知する。従って、この場合は、図9のテーブルに記載されたコンフィグレーションデータを読み込まずに、S806〜S807をスキップしてS808に遷移し、次のデータを読み込む。
更に、裏面のスキャンデータの解像度を変換する処理の場合も、同様の処理を実施する。即ち、図8のS805において、図9の4番目のコンフィグレーションデータ(解像度)のヘッダのデータIDから、既に同じコンフィグレーションが実行されていることを検知する。従って、この場合は、図9のテーブルに記載されたコンフィグレーションデータを読み込まずに、S806〜S807をスキップしてS808に遷移し、次のデータを読み込む。
このように既に動的部分再構成部230が構成されていて、再構成する必要がない場合は、コンフィグレーションデータの転送及び動的部分再構成部230の再構成を省略することで処理時間を短縮することが可能となる。
上述の実施形態1,2において、ユーザが操作部201から入力したコピー指示に従ってコピー処理を実行する場合で説明したが、本発明はこれに限定されない。例えばクライアントPC103がプリントジョブを発行し、プリントサーバ102を介して画像形成装置101でプリントする場合も同様である。その場合、動的部分再構成部230には、コンフィグレーションデータとしてPDLコードをビットマップイメージに展開するラスタイメージプロセッサ(RIP)231が構成される。また画像データの回転を行う場合は画像回転部234が動的部分再構成部230に構成されることになる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。

Claims (7)

  1. CPUと、
    コンフィグレーションデータに応じて、少なくとも一部の回路を動的に再構成できる動的部分再構成手段と、
    前記コンフィグレーションデータと前記動的部分再構成手段で処理されるデータを記憶する記憶手段と、
    前記CPUの指示に従って、前記記憶手段から、前記コンフィグレーションデータと前記処理されるデータとを前記動的部分再構成手段にDMAで転送するDMA手段とを有し、
    前記動的部分再構成手段は、前記DMA手段により転送される前記コンフィグレーションデータによる前記動的部分再構成手段の再構成と、当該再構成された回路による前記処理されるデータの処理を実行することを特徴とする画像処理装置。
  2. 前記DMA手段は、
    前記コンフィグレーションデータによる回路が前記動的部分再構成手段に構成されているかどうかを判定する判定手段を有し、
    前記判定手段が、当該回路が前記動的部分再構成手段に構成されていると判定すると前記動的部分再構成手段への前記コンフィグレーションデータの転送をスキップすることを特徴とする請求項1に記載の画像処理装置。
  3. 前記DMA手段は、前記動的部分再構成手段の再構成と、当該再構成された回路による前記処理されるデータの処理が完了すると割り込み信号で前記CPUに通知することを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記動的部分再構成手段で処理する処理の識別情報と、当該処理のためのコンフィグレーションデータが記憶されている前記記憶手段のアドレスと、前記処理で使用されるデータが記憶されている前記記憶手段のアドレスとを関連付けて記憶するテーブルを更に有し、
    前記DMA手段は、前記テーブルを参照して、前記記憶手段から、前記コンフィグレーションデータと前記処理されるデータとを前記動的部分再構成手段に転送することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
  5. 前記DMA手段は、前記記憶手段から前記コンフィグレーションデータを前記動的部分再構成手段に転送した後、前記動的部分再構成手段の再構成が完了するのを待って、前記処理されるデータを前記動的部分再構成手段に転送することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
  6. CPUと、コンフィグレーションデータに応じて、少なくとも一部の回路を動的に再構成できる動的部分再構成部とを有する画像処理装置を制御する制御方法であって、
    前記コンフィグレーションデータと前記動的部分再構成部で処理されるデータをメモリに記憶する記憶工程と、
    前記CPUの指示に従って、前記メモリから、前記コンフィグレーションデータと前記処理されるデータとを前記動的部分再構成部にDMAで転送するDMA工程とを有し、
    前記動的部分再構成部は、前記DMA工程で転送される前記コンフィグレーションデータによる前記動的部分再構成部の再構成と、当該再構成された回路による前記処理されるデータの処理を実行することを特徴とする制御方法。
  7. コンピュータを、請求項1乃至5のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
JP2014008075A 2014-01-20 2014-01-20 画像処理装置、その制御方法及びプログラム Pending JP2015139009A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014008075A JP2015139009A (ja) 2014-01-20 2014-01-20 画像処理装置、その制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014008075A JP2015139009A (ja) 2014-01-20 2014-01-20 画像処理装置、その制御方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2015139009A true JP2015139009A (ja) 2015-07-30

Family

ID=53769772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014008075A Pending JP2015139009A (ja) 2014-01-20 2014-01-20 画像処理装置、その制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2015139009A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2019116984A1 (ja) * 2017-12-12 2020-09-17 日本電気株式会社 Fpgaシステム、パーシャルリコンフィグレーション実行方法、記憶媒体及びデータ構造

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2019116984A1 (ja) * 2017-12-12 2020-09-17 日本電気株式会社 Fpgaシステム、パーシャルリコンフィグレーション実行方法、記憶媒体及びデータ構造
US11250194B2 (en) 2017-12-12 2022-02-15 Nec Corporation FPGA system, partial reconfiguration execution method, and storage medium

Similar Documents

Publication Publication Date Title
US8139243B2 (en) Information processing apparatus, control method, and computer-readable medium for distributed processing of print jobs
US8059285B2 (en) Image forming apparatus, image processing unit, image processing method, and recording medium having image processing control program with task management
JP5247542B2 (ja) 画像処理装置、画像処理装置の制御方法、及び、プログラム
JP5438371B2 (ja) 画像処理装置および画像処理方法
US20160036998A1 (en) Image processing apparatus and system for controlling processing for writing configuration data to partial reconfiguration area, and information processing method
US10037591B2 (en) Information processing apparatus and method of controlling the same
US9332151B2 (en) Image processing apparatus, method of controlling the same and storage medium
US9509878B2 (en) Image processing apparatus and method for controlling the same, and storage medium
JP2015162760A (ja) 画像処理装置、その制御方法及びプログラム
JP2015149025A (ja) 画像処理装置およびその制御方法、並びにプログラム
JP2016076867A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2015139009A (ja) 画像処理装置、その制御方法及びプログラム
JP5765096B2 (ja) 画像処理装置および画像処理方法
JP5233608B2 (ja) 画像形成装置、画像データ転送方法、及びプログラム
US20160050332A1 (en) Image processing apparatus for controlling dynamic reconfigurable apparatus, information processing method for image processing apparatus, and storage medium for storing program to achieve information processing method
JP5560785B2 (ja) 情報処理装置、画像形成装置及び情報処理方法
JP2016143920A (ja) 情報処理装置
JP2006285792A (ja) 画像処理装置、画像処理方法
JP2017108250A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP5315919B2 (ja) 画像形成装置、画像形成制御方法及び画像形成制御プログラム
JP2018118477A (ja) 画像処理装置とその制御方法、及びプログラム
JP2015191335A (ja) 画像処理装置、その制御方法及びプログラム
JP5202265B2 (ja) 画像処理装置、プログラム及び画像処理装置の制御方法
JP6436066B2 (ja) 画像形成装置および同期プログラム
JP2004110731A (ja) 画像形成装置、記憶領域確保方法