以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
図1〜図11は、本発明の画像処理装置、画像処理制御方法、画像処理制御プログラム及び記録媒体の一実施例を示す図であり、図1は、本発明の画像処理装置、画像処理制御方法、画像処理制御プログラム及び記録媒体の一実施例を適用した複合装置1の要部ブロック構成図である。
図1において、複合装置1は、エンジン100とコントローラ200及び図示しないオペレーションパネル、ファクシミリ通信部等を備えており、コピー処理、プリンタ処理、スキャナ処理及びファクシミリ通信処理等を行う。
エンジン100は、エンジンASIC101、スキャナ102、スキャナ画像処理ASIC103、プロッタ制御ASIC104、プロッタ105、エンジンCPU(Central Processing Unit )106、RAM(Random Access Memory)107及びフラッシュメモリ108等を備えており、エンジンASIC101は、アービタ110、ビデオ出力部111、コミュニケーションバッファ112及び圧縮伸長部113等を備えている。
一方、コントローラ200は、コントローラASIC201、コントローラCPU202、メインメモリ203及びハードディスク204等を備えており、コントローラASIC201は、ビデオ入力部210、アービタ211、配信画像処理部212、画像処理コントローラ213及びハードディスクI/F214等を備えている。
スキャナ102は、スキャナ動作、コピー動作、ファクシミリ送信動作時に、原稿に読み取り光を照射して、該原稿を主走査・副走査し、該原稿の画像を読み取って、原稿の画像データをスキャナ画像処理ASIC103に出力する。
スキャナ画像処理ASIC103は、スキャナ102で読み取られた原稿の画像データに適宜の補正を行った画像データ(RGBの画像データ)及び原稿における文字部/写真部、有彩/無彩を判定した画像分離データ(Xデータ)を生成してコントローラ200のビデオ入力部210に出力する。
プロッタ105は、例えば、電子写真式記録装置等が使用されており、複写装置1が外部から受信した画像データやスキャナ部102で読み取った画像データから印刷用に変換した描画データをプロッタ制御ASIC104から受け取って、画像を用紙に記録出力する。
プロッタ制御ASIC104は、プロッタ105からの同期信号に合わせて、エンジンASIC101から入力される画像データ(描画データ)をプロッタ105へ出力する。
RAM107は、エンジンCPU106がエンジン102の全体の制御を実行するための作業用メモリであり、エンジンCPU106により、プログラム実行中の変数記憶領域等の用途に使用される。
フラッシュメモリ108は、エンジンCPU106が実行するプログラムを記憶するための書き換え可能な不揮発性メモリである。
エンジンCPU106は、フラッシュメモリ108のプログラムに基づいてRAM107をワークメモリとして利用して、スキャナ制御、用紙の搬送、プロッタ105での作像、定着等のエンジン100全般の制御を行う。
エンジンASIC101は、コントローラ200とエンジンCPU106、コントローラ200とプロッタ制御ASIC104との間のデータのインターフェイスを行う。
ビデオ出力部111は、画像データをコントローラ200のメインメモリ203から読み込み、マスク処理、合成処理、フォーマット変換等を行ってプロッタ制御ASIC104へ出力する。エンジンASIC101は、このとき、プロッタ制御ASIC104が画像データをプロッタ105へ出力するのに合わせて、一定時間内に一定量の画像データをプロッタ制御ASIC104に出力する。
アービタ110は、エンジンASIC101内の各モジュールであるビデオ出力部111及び圧縮伸長部113等からコントローラCPU202へのアクセスの調停を行う。
コミュニケーションバッファ112は、エンジンCPU106とコントローラCPU202との間の通信のためのバッファ領域である。
圧縮伸長部113は、メインメモリ203に確保する画像データ領域を削減するために、メインメモリ203上の画像の圧縮及び伸長を行うモジュールであり、処理後の画像データをメインメモリ203上に書き込む。
なお、エンジンASIC111は、プリンタ動作、ファックス動作時に、メインメモリ203上の低解像度の画像データからプロッタ105に適合する高解像度の画像データへの変換を行って、変換後の画像データをメインメモリ203に出力する解像度変換部を搭載していてもよい。
コントローラ200は、複合装置1の全体制御や各種アプリケーションの実行を行う制御装置であり、コントローラ200のコントローラASIC201は、エンジン100から入力された画像データのメインメモリ203への転送、コピー時の画像処理、ハードディスク204へのリード/ライト等の制御を行う。
ビデオ入力部210は、スキャナ画像処理ASIC103から入力されるスキャナ102の読み取った画像データを圧縮して、メインメモリ203へ転送する。
アービタ211は、コントローラASIC201内の各モジュールであるビデオ入力部210、配信画像処理部212、画像処理コントローラ213及びハードディスクI/F214からコントローラCPU202へのアクセスの調停を行う。
配信画像処理部212は、メインメモリ203上の画像データをネットワークを経由して配信するために、画像の変換処理を行うモジュールであり、変換後の画像データをメインメモリ203へ書き戻す。
画像処理コントローラ213は、メインメモリ203上の圧縮画像データを展開して、フィルタ処理、色変換処理、階調処理等を施す画像処理モジュールを搭載し、処理後の画像データをメインメモリ203へ書き戻す。
ハードディスクI/F214は、ハードディスク204へのリード/ライトの制御を行い、ハードディスク204は、各種画像データの蓄積やコントローラCPU202の一時記憶領域に使用される記憶装置である。
コントローラCPU202は、メモリコントローラ及びPCI Express、PCIの汎用インターフェイスを備え、メインメモリ203の領域確保及びリード/ライト制御、プリンタの画像描画、コピー、スキャナ、ファクシミリ、配信等の各種アプリケーションの実行等を行う。
メインメモリ203は、コントローラCPU202がプロッタ105で出力する画像描画や各種アプリケーションの実行を行うための作業用メモリであり、コントローラCPU202により、各種データの一時記憶領域やDMAC用ディスクリプタ領域等の用途に使用される。
上記画像処理コントローラ213は、図2に示すように、ブロック構成されており、メインメモリ203との間で、アービタ211を介してデータ転送する。
すなわち、画像処理コントローラ213は、画像処理部221、レジスタ制御部222、データリードDMAC223、パラメータDMAC224、4つのデータライトDMAC225〜228等を備えている。
パラメータDMAC(アドレス生成手段、パラメータ設定手段)224は、メインメモリ203上に予めロードされた画像処理パラメータを読み出して、レジスタ制御部222内のパラメータレジスタ(図示略)に設定する。
データリードDMAC223は、メインメモリ203から、画素順次のRGB(R:レッド、G:グリーン、B:ブルー)の画像データと分離データX(入力画像データ)を読み出して、画像処理部221へ送出する。
画像処理部221は、入力画像データに各種画像処理を施す画像処理モジュールの集まりであり、例えば、プリンタ105の特性に応じたγ変換を画像データに施すγ変換モジュール、エッジ強調や平滑化等の周波数特性を変更するフィルタモジュール、スキャナ102の色空間から予め定められた色空間に変換する色補正モジュール、スキャナ102から入力された画像データの解像度から予め定められた解像度、例えば、600dpiへと解像度を変換する階調処理モジュール等を備えているが、実行可能な画像処理モジュールは、複合装置1が上位(高速)機種であるか、下位(低速)機種であるか等によって異なる。
データライトDMAC225〜228は、画像処理部221から送り出された画像処理後のCMYK面順次の画像データをそれぞれメインメモリ203へ転送して、メインメモリ203に出力画像データ(C、M、Y、K)として書き込む。
レジスタ制御部(パラメータ設定制御手段)222は、レジスタ空間230(図5、図6参照)を有し、画像処理部221の各画像処理モジュールが画像処理を行う際に使用するパラメータを、パラメータDMAC224から受け取って、パラメータDMAC224の指定するアドレスのレジスタ空間230のパラメータレジスタに格納する。また、レジスタ制御部222は、各DMAC223〜228に起動を指示するためのEXECレジスタや割り込みのステータスを保持する割り込みステータスレジスタ、各DMAC223〜228のディスクリプタポインタレジスタ等を備え、各DMAC223〜228の起動処理及びコントローラCPU202への割り込み信号の出力を行う。
そして、コントローラCPU202がメインメモリ203に書き込むデータリードDMAC223用のディスクリプタ及びデータライトDMAC225〜228用のディスクリプタは、例えば、図3に示すようなものであり、NDP(ネクスト・ディスクリプタ・ポインタ)、SA(スタートアドレス)、LINE(ライン)及びMODE(モード)等の各項目が登録される。
NDPには、次のディスクリプタのアドレスが設定され、コントローラCPU202は、1ページ分の画像領域をメインメモリ203上に連続して確保できない場合は、飛び飛びに画像領域を確保して、それぞれの領域に対してディスクリプタを作成して、次のディスクリプタのアドレスをここに書き込むことで、飛び飛びの画像領域に対して連続して処理を行うことができるようにする。
SAには、データを入力または出力する先頭のアドレスが設定され、データリードDMAC223の場合は、このアドレスから画像データの読み出しを、データライトDMAC225〜228の場合は、このアドレスから画像データを書き込みを、それぞれ行う。
LINEには、2次元画像の副走査方向のライン数、または、1次元データのデータ数が設定され、MODEには、転送データの種類や割り込み、繰り返し等が設定される。
また、ページの先頭のディスクリプタは、上記エントリに加えて、ページ内に共通の情報のエントリを持つ。ディスクリプタをこのような構成にすることにより、1ページを多数のディスクリプタで構成する場合におけるディスクリプタ用のメモリ領域の増大を抑えることができる。
そして、コントローラCPU202がメインメモリ203に書き込むパラメータDMAC224用のディスクリプタは、例えば、図4に示すように、画像処理部221の各画像処理モジュールに設定するパラメータのスタートアドレス(SA)のエントリを持ち、γ変化用パラメータのSA(スタートアドレス)、フィルタ用パラメータのSA、色補正用パラメータのSA及び階調処理用パラメータのSA等の各項目が登録される。
γ変換用パラメータのSAには、γ変換に使用するテーブルの値等のパラメータのスタートアドレスが設定され、フィルタ用パラメータのSAには、平滑化やエッジ強調に使用するフィルタ係数等のパラメータのスタートアドレスが設定される。色補正用パラメータのSAには、画像データをRGBからCMYKに変換する際に使用するマスキング係数等のパラメータのスタートアドレスが設定され、階調処理用パラメータのSAには、階調処理を行う際に使用するディザテーブル等のパラメータのスタートアドレスが設定される。
上記レジスタ制御部222及びパラメータDMAC224は、図5に示すようにブロック構成されており、レジスタ制御部222は、レジスタ空間230、アドレスデコード・パラメータ部分231、アドレスデコード・EndFlag部分232、skip制御部233、レジスタアクセス有効信号生成部234、アドレス加算部235及びアクセプトプロテクト部236等を備えている。また、パラメータDMAC224は、レジスタI/F240及びアービタI/F241等を備え、レジスタI/F240は、MAddrカウンタ242を備えていて、パラメータ設定手段として機能している。
アドレスデコード・パラメータ部分231は、パラメータDMAC224からのレジスタアクセスを、レジスタ空間230を参考にしてアドレスデコードし、パラメータを設定する。
アドレスデコード・EndFlag部分232は、アドレス加算部235から出力されるアドレス(EndFlagAddr)に対して、レジスタ空間230のEndFlag値をリードし、skip制御部233へリード値を転送する。
アクセプトプロテクト部236は、パラメータDMAC224のレジスタアクセスの終了通知を示す(SCmdAccept信号)のプロテクトを行い、アドレス加算部235は、パラメータDMAC224のアドレスを1だけ加算する。アドレス加算部235の加算したアドレス(EndFlagAddr)は、上述のように、アドレスデコード・EndFlag部分232によって、Endflagリードに使用される。
skip制御部233は、画像処理部221の各画像処理モジュールのイネーブル信号とEndFlagに基づいて、addr_skip信号(スキップ信号)を生成して、アクセプトプロテクト236及びパラメータDMAC224のレジスタI/F240に出力する。
レジスタアクセス有効信号生成部234は、アクセプトプロテクト部236がパラメータDMAC224のレジスタI/F240に出力するSCmdAcceptと、レジスタI/F240からアドレスデコード・パラメータ部分231に出力されるMCmdが入力され、「MCmd=WR(ライトコマンド)、かつ、SCmdAccept=1」のときに、skip制御部233に出力しているレジスタアクセスが有効であることを示す制御信号であるcmd_vldをアサートする。
パラメータDMAC224は、上述のように、レジスタI/F241とアービタI/F241を備えている。
アービタI/F241は、パラメータアドレス開始テーブルを有していて、このパラメータドレス開始テーブルに基づいて各機能レジスタアクセスのスタートアドレス(SA:Start_Adr)を生成し、また、パラメータDMACディスクリプタのスタートアドレス(SA)に格納されているメインメモリ203上のパラメータ群REG_DATAをリードして、レジスタI/F240へ転送する。
レジスタI/F240はアドレスデコード・パラメータ部分231とOCP I/Fを介してレジスタアクセスを行う。レジスタI/F240は、MAddrカウンタ242でアドレス制御を行うが、まず、Start_Addrを初期値として、レジスタアクセスが終了(SCmdAccept=1)となると、すなわち、パラメータの設定終了情報を取得すると、カウントアップし、skip制御部233からのaddr_skip信号がアサート(addr_skip=1)されると、カウントアップする。
したがって、上記アービタI/F241及びレジスタI/F240のMAddrカウンタ242は、全体としてアドレス生成手段として機能している。
そして、レジスタ制御部222のレジスタ空間230は、図6(a)、(b)に示すように、構成されており、図6(a)は、パラメータDMAC設定対象外のパラメータ群を、図6(b)は、パラメータDMAC設定対象のパラメータ群を、それぞれ示している。
図6(a)において、EXECレジスタは、画像処理コントローラ213を起動するレジスタであり、割り込みステータスレジスタは、画像処理コントローラ213の各DMAC223〜228の終了割り込みやエラー等の割り込み情報を保持する。割り込みマスクレジスタは、画像処理コントローラ213の各割り込みのマスク制御が設定される。
データリードDMACレジスタ制御関連は、ディスクリプタポインタアドレス設定、読み取り画像サイズの設定、ロードしているディスクリプタ情報のモニタに使用され、パラメータDMAC制御関連は、ディスクリプタポインタアドレスの設定、ロードしているディスクリプタ情報のモニタに使用される。データライトDMAC制御関連は、データライトDMAC225〜228に対応して設けられ、ディスクリプタポインタアドレス設定、書き込み画像サイズの設定、ロードしているディスクリプタ情報のモニタに使用される。
γ変換機能イネーブル(図5のenable_gammaに相当)は、γ変換機能On/Off制御であり、「off」の場合、画像処理部221のγ変換モジュールへの入力信号は、出力信号へ接続(入力信号=出力信号)される。
フィルタ機能イネーブル(図5のenable_filに相当)は、フィルタ機能On/Off制御であり、「off」の場合、画像処理部221のフィルタモジュールへの入力信号は、出力信号へ接続(入力信号=出力信号)される。
色補正機能イネーブル(図5のenable_hoseiに相当)は、色補正機能On/Off制御であり、「off」の場合、画像処理部221の色補正モジュールへの入力信号は、出力信号へ接続(入力信号=出力信号)される。
階調処理機能イネーブル(図5のenable_kaichoに相当)は、階調処理機能On/Off制御であり、「off」の場合、画像処理部221の階調処理モジュールへの入力信号は、出力信号へ接続(入力信号=出力信号)される。
上記γ変換機能イネーブル、フィルタ機能イネーブル、色補正機能イネーブル及び階調処理機能イネーブルのレジスタは、全体として動作設定用レジスタとして機能している。
次に、図6(b)において、γ変換用パラメータは、γ変換機能に必要なパラメータを保持し、フィルタ用パラメータは、フィルタ機能に必要なパラメータを保持する。色補正用パラメータは、色補正機能に必要なパラメータを保持し、階調処理用パラメータは、階調処理機能に必要なパラメータを保持する。
そして、EndFlagレジスタは、γ変化用パラメータ、フィルタ用パラメータ、色補正用パラメータ及び階調処理用パラメータのレジスタ範囲を示しており、各機能の最終アドレスに対応する箇所が、EndFlag=1(終了指示情報)、それ以外は、EndFlag=0となる。
そして、複合装置1は、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory )、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory )、CD−RW(Compact Disc Rewritable )、DVD(Digital Video Disk)、SD(Secure Digital)カード、MO(Magneto-Optical Disc)等のコンピュータが読み取り可能な記録媒体に記録されている本発明の画像処理制御方法を実行する画像処理制御プログラムを読み込んで図示しないROMやハードディスク204、メインメモリ203等に導入することで、後述する必要な画像処理モジュールのレジスタへのパラメータ設定のみを効率的にかつ高速に実行する画像処理制御方法を実行する画像処理装置として構築されている。この画像処理制御プログラムは、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
次に、本実施例の作用について説明する。本実施例の複合装置1は、パラメータDMAC224の再利用性に富み、実行可能な機能に必要なパラメータのみを設定して高速画像処理を行う。
すなわち、複合装置1は、コントローラASIC201は、上位機種と下位機種に共通で利用可能なように開発され、同じハードウェア及びソフトウェア構成となっており、複合装置1が上位(高速)機種であるか、下位(低速)機種であるか等の機種の相違にかかわらず、コントローラASIC201に搭載されている画像処理コントローラ213の画像処理部221には画像処理モジュールの数や種類が同じであるが、機種の相違によって、実行可能な画像処理モジュールの数や種類が異なる。
複合装置1は、例えば、コピーモード処理の場合、スキャナ102で読み取った画像データをスキャナ画像処理ASIC103、アービタ211、コントローラCPU202を介してメインメモリ203に蓄積して、このメインメモリ203上の画像データを、コントローラCPU202、アービタ211を介して画像処理コントローラ213に送り、画像処理コントローラ213でフィルタ処理、色変換処理、階調処理等の画像処理コントローラ213の画像処理部221の実行可能な画像処理モジュールのうち必要な画像処理モジュールを利用して画像処理を施して、アービタ211、コントローラCPU202を介してメインメモリ203に書き戻す。そして、複合装置1は、このメインメモリ203上の画像データをコントローラCPU202、エンジン100のアービタ110、ビデオ出力部111、プロッタ制御ASIC104を介してプロッタ105に送り、プロッタ105で用紙に印刷出力する。
また、複合装置1は、メインメモリ203上の画像データに必要な画像処理を施して、配信処理、ファクシミリ処理及びプリンタ処理等を行う。
すなわち、複合装置1は、配信処理を行う場合、メインメモリ203上の画像データをコントローラCPU202及びアービタ211を介して配信画像処理部213に送り、配信画像処理部213で、ネットワークを経由して配信するのに必要な画像変換処理を行って、アービタ211及びコントローラCPU202を介してメインメモリ203上に書き戻す。複合装置1は、このメインメモリ203上の画像変換処理された画像データを図示しないネットワーク部を介して配信する。また、複合装置1は、プリンタ処理を行う場合、図示しないホスト装置から受信してメインメモリ203上に保管した画像データをコントローラCPU202及びアービタ110を介して圧縮伸長部113に送って、圧縮伸長部113で圧縮・伸長した後、アービタ110及びコントローラCPU202を介してメインメモリ203に書き戻して、最終的に、プロッタ105で印刷出力する。
そして、複合装置1は、画像処理コントローラ213の画像処理部221の画像処理モジュールで画像処理を行わせるに際して、パラメータDMAC224が、レジスタ制御部22のレジスタ空間230の画像変換用パラメータレジスタ(γ変換用パラメータレジスタ、フィルタ用パラメータレジスタ、色補正用パラメータレジスタ、階調処理用パラメータレジスタ)へのパラメータの設定を行い、画像処理部221は、この画像変換用パラメータに基づいて、画像処理を実行するとともに、各画像処理モジュール毎に実行可否を設定する動作可否情報であるイネーブル信号(γ変換機能イネーブル:enable_gamma、フィルタ機能イネーブル:enable_fil、色補正機能イネーブル:enable_hosei、階調処理機能イネーブル:enable_kaicho)の状態に応じて、対応する画像処理の実行の可否が制御されるとともに、イネーブル信号とγ変化用パラメータ、フィルタ用パラメータ、色補正用パラメータ及び階調処理用パラメータのレジスタ範囲を示すEndFlagに基づいて、skip制御部233が、レジスタアクセスをスキップさせるaddr_skip信号(好きっぷ信号)を生成して、レジスタI/F240のMAddrカウンタ242及びアクセスプロテクト部236に出力する。そして、画像処理モジュールは、イネーブル信号によって当該機能がoffに設定されると、入力信号をそのまま出力信号とする。
そして、Skip制御部233は、図7及び図8と図9に示すようにパラメータ設定スキップ処理を行う。すなわち、skip制御部233は、図7に示すように、SKIP_IDEL:パラメータDMAC224の起動待ち状態において、図8及び図9に示すように、レジスタI/F240からのkick信号が「1」になってパラメータDMAC224の起動が開始されると(ステップS101)、まず、SKIP_CTRL_Aとして、γ変換レジスタアクセスのSKIP判断制御、すなわち、γ変換機能イネーブルenable_gammaが「1」で、addr_skip信号が「0」であるか否かによってスキップ(skip)するか否かの判断を行い(ステップS102)、SKIP_CTRL_Bとして、アドレスデコード・EndFlag部分232からのEndFlag及びレジスタアクセス有効信号生成部234からの制御信号cmd_vldに基づいて、γ変換レジスタアクセス終了待ちを行うとともに、終了待ち後に、フィルタレジスタアクセスのSKIP判断制御、すなわち、フィルタ機能イネーブルenable_filが「1」で、addr_skip信号が「0」であるか否かによってスキップ(skip)するか否かの判断を行う(ステップS103)。
次に、skip制御部233は、SKIP_CTRL_Cとして、アドレスデコード・EndFlag部分232からのEndFlag及びレジスタアクセス有効信号生成部234からの制御信号cmd_vldに基づいて、フィルタレジスタアクセス終了待ちを行うとともに、終了待ち後に、色補正レジスタアクセスのSKIP判断制御、すなわち、色補正機能イネーブルenable_hoseiが「1」で、addr_skip信号が「0」であるか否かによってスキップ(skip)するか否かの判断を行う(ステップS104)。
同様に、skip制御部233は、SKIP_CTRL_Dとして、アドレスデコード・EndFlag部分232からのEndFlag及びレジスタアクセス有効信号生成部234からの制御信号cmd_vldに基づいて、フィルタレジスタアクセス終了待ちを行うとともに、終了待ち後に、階調処理レジスタアクセスのSKIP判断制御、すなわち、階調機能イネーブルenable_kaichoが「1」で、addr_skip信号が「0」かによってスキップ(skip)するか否かの判断を行う(ステップS105)。
そして、skip制御部233は、アドレスデコード・EndFlag部分232からのEndFlag及びレジスタアクセス有効信号生成部234からの制御信号cmd_vldに基づいて、SKIP_CTRL_Eとして、階調処理レジスタアクセス終了待ちを行い(ステップS106)、最後に、SKIP_ENDとして、パラメータDMAC224からのkick信号が「0」になるパラメータDMAC終了待ちを行って(ステップS107)、パラメータDMAC終了になると、SKIP_IDEL:パラメータDMAC224の起動待ち状態に戻る。
なお、図8及び図9は、上記skip制御部233における制御の詳細を、Verilog−HDL形式で示した図である。
そして、複合装置1は、コピー処理、転送処理、プリンタ処理等の処理において、画像処理部221による画像データに対するγ変換処理等の画像処理を行う場合、図10に示すような画像処理シーケンスに従って画像処理を行う。なお、図10は、プリンタモジュールと階調処理モジュールに対して、その機能がoff(enable_fil=0、enable_kaicho=0)に設定されている場合の画像処理シーケンスを示している。
図10において、コントローラCPU202が、ソフトウェアSwによってデータリードDMAC用ディスクリプタ及びデータライトDMAC用ディスクリプタをメインメモリ203に書き込み、次に、パラメータDMAC用ディスクリプタをメインメモリ203に書き込んで、処理内容の画像パラメータをメインメモリ203に書き込む。
そして、ソフトウェアSwに従ってコントローラCPU202がレジスタ制御部222に割り込み設定、モード設定、データリードDMAC制御設定及び画像処理機能イネーブル設定を行って、各DMAC223〜228に起動を指示するためのEXECレジスタにデータ設定を行う。
各DMAC223〜228は、起動されると、まず、パラメータDMAC224が、メインメモリ203からパラメータDMAC用ディスクリプタを読み出し、データリードDMAC223が、データリードDMAC用ディスクリプタを読み出す。そして、データライトDMAC225〜228が、メインメモリ203からデータライトDMAC用ディスクリプタを読み出す。
その後、パラメータDMAC224が、パラメータDMAC用ディスクリプタに従って、メインメモリ203から、まず、γ変換用パラメータを読み出して、レジスタ制御部222の対応するレジスタに設定するγ変換用パラメータ設定処理行うが、このとき、skip制御部233が、上記スキップ制御処理を行う。いま、γ変換モジュールに対しては、機能が動作を許可するon(enable_gamma=1)であるので、パラメータDMAC224は、γ変換用パラメータのレジスタ制御部222への設定を行う。
パラメータDMAC224は、γ変換用パラメータのレジスタ制御部222への設定が完了すると、次に、フィルタ用パラメータを読み出して、レジスタ制御部222の対応するレジスタに設定するフィルタ用パラメータ設定処理行うが、このときも同様に、skip制御部233が、上記スキップ制御処理を行う。いま、フィルタモジュールに対しては、機能が動作を不許可とするoff(enable_fil=0)であるので、パラメータDMAC224は、上述のように、addr_skip信号をレジスタI/F240及びアドレスデコード・パラメータ部分231に出力して、フィルタ用パラメータのレジスタ制御部222への設定を行うことなく、次の色補正用パラメータの設定処理に移行する。
次に、パラメータDMAC224は、色補正用パラメータを読み出して、レジスタ制御部222の対応するレジスタに設定する色補正用パラメータ設定処理行うが、このときも上記同様に、skip制御部233が、上記スキップ制御処理を行う。いま、色補正モジュールに対しては、機能がon(enable_hosei=1)であるので、パラメータDMAC224は、色補正用パラメータのレジスタ制御部222への設定を行う。
次に、パラメータDMAC224は、色補正用パラメータのレジスタ制御部222への設定が完了すると、次に、階調処理用パラメータを読み出して、レジスタ制御部222の対応するレジスタに設定する階調処理用パラメータ設定処理行うが、このときも同様上記に、skip制御部233が、上記スキップ制御処理を行う。いま、階調処理モジュールに対しては、機能がoff(enable_kaicho=0)であるので、パラメータDMAC224は、上述のように、addr_skip信号をレジスタI/F240及びアドレスデコード・パラメータ部分231に出力して、階調処理用パラメータのレジスタ制御部222への設定を行うことなく、パラメータ設定処理を終了する。
パラメータ設定処理が完了すると、データリードDMAC223が、データリードDMAC用ディスクリプタに従ってメインメモリ203からRGB画像データ及び分離データXを読み出して、画像処理部221にDMA転送する。
画像処理部221は、上述のようにして、レジスタ制御部222のパラメータレジスタに設定されたパラメータに従って、転送されてきた画像データに対して、順次、γ変換処理及び色補正処理を施して、画像処理の完了したCMYK(C:シアン、M:マゼンタ、Y:イエロー、K:ブラック)の画像データをデータライトDMAC225〜228に渡す。
データライトDMAC225〜228は、画像処理部221から渡された画像データをデータライトDMAC用ディスクリプタに従って、メインメモリ203に転送して、指定のアドレスに書き込む。
上記パラメータDMAC224によるレジスタ制御部222へのパラメータの設定処理において、イネーブル信号によって実行の許可されているγ変換モジュール用のレジスタと色補正モジュール用のレジスタに対しては、適切にパラメータの設定処理を行うとともに、イネーブル信号によって実行の許可されていないフィルタ用のレジスタと階調処理用のレジスタに対しては、パラメータの設定にかかる時間待つことなくスキップして次の処理に移行している。したがって、図10に示すように、フィルタ用パラメータの設定時にかかる処理時間Xと階調処理用パラメータの設定時にかかる処理時間Yは、他のパラメータの設定時に要する時間に比較して、短くなっている。
すなわち、γ変換モジュールと色補正モジュールが動作要求され、フィルタモジュールと階調処理モジュールが非動作要求されている場合、従来では、図12において、t1〜t11で示したように、全てのモジュールのレジスタに対してアクセスしてパラメータの設定動作を行っており、動作が拒否されているにもかかわらず、パラメータの設定処理時間を必要としている。
ところが、本実施例の複合装置1の場合、図11に示すように、モジュールが非動作要求となっているフィルタ用のレジスタ及び階調処理用のレジスタに対するパラメータ設定処理をスキップし、速やかに次の動作に移行しており、レジスタ設定時間を短くすることができる。なお、図10と図11において、Xで示すフィルタ処理ブロックのレジスタアクセス時間とYで示す階調処理ブロックのレジスタアクセス時間が、短縮されている。
このように、本実施例の複合装置1は、画像処理部221に搭載されている複数の各画像処理モジュールに対応するレジスタ制御部222のパラメータレジスタに、メインメモリ203上に保管されているパラメータを転送して設定するパラメータ設定処理において、画像処理モジュール毎に動作の許可/不許可を指定する動作可否情報であるイネーブル信号をイネーブル設定用レジスタ(動作設定用レジスタ)に設定し、イネーブル設定用レジスタのイネーブル信号によって動作不許可となっている画像処理モジュールに対応するパラメータレジスタへのパラメータ設定をスキップしている。
したがって、動作が許可されている画像処理モジュールのパラメータレジスタに対してのみパラメータ設定を行って、動作が許可されていない画像処理モジュールのパラメータレジスタに対するパラメータ設定をスキップすることができ、パラメータ設定時間を短縮して、高速画像処理を行うことができる。また、動作させる画像処理モジュールが追加された場合にも、イネーブル設定用レジスタへのイネーブル信号の設定を変更するだけで、対応することができ、パラメータDMACの再利用性を向上させることができる。
また、本実施例の複合装置1は、パラメータレジスタが、画像処理モジュール毎におけるパラメータ設定範囲の最終アドレスに該パラメータレジスタの設定範囲の終了を示すEndFlag(EndFlag=1:終了指示情報)を保持し、skip制御部233が、イネーブル信号によって動作不許可となっている画像処理モジュールに対応するパラメータレジスタに対してパラメータDMAC224が指定するアドレスに「1」を加算したアドレスを生成して、該アドレスに「1」のEndFlag(終了指示情報)があると、addr_skip信号(スキップ信号)をパラメータDMAC224のMAddrカウンタ242に出力し、MAddrカウンタが、addr_skip信号が入力されると、次アドレスを生成(アドレスを+1)している。
したがって、動作不許可となっている画像処理モジュールのパラメータレジスタの設定範囲の終了を示す「1」のEndFlagの設定されているアドレスまで、パラメータレジスタへのパラメータの設定を行うことなく、速やかにアドレス移動することができ、パラメータDMACの再利用性を向上させつつ、高速画像処理を行うことができる。
さらに、本実施例の複合装置1は、パラメータレジスタが、画像処理モジュール毎におけるパラメータ設定範囲の最終アドレスに該パラメータレジスタの設定範囲の終了を示すEndFlag(EndFlag=1:終了指示情報)を保持し、ソフトウェアに従ってコントローラCPU202が、レジスタ空間230のイネーブル用レジスタに、各画像処理モジュールに対するイネーブル信号と、イネーブル信号が動作不許可である画像処理モジュールに対しては「1」のEndFlagのアドレスへのアドレス移行を指示するアドレス移行情報とを設定し、skip制御部233が、イネーブル用レジスタに動作不許可のイネーブル信号とアドレス移行情報が設定されていると、該アドレス移行情報の指示するパラメータレジスタのアドレスから「1」のEndFlagを取得して、addr_skip信号(スキップ信号)をパラメータDMAC224のMAddrカウンタ242に出力し、MAddrカウンタ242が、addr_skip信号が入力されると、次アドレスを生成(アドレスを+1)するようにしてもよい。
このようにすると、動作不許可となっている画像処理モジュールのパラメータレジスタの設定範囲の終了を示す「1」のEndFlagの設定されているアドレスまで、パラメータのパラメータレジスタへの設定を行うことなく、より一層速やかにアドレス移動することができ、パラメータDMACの再利用性を向上させつつ、より一層高速画像処理を行うことができる。
また、本実施例の複合装置1は、パラメータDMAC224のMAddrカウンタ242が、パラメータレジスタから設定終了情報である「1」のSCmdAcceptを取得する毎に、順次、「1」を加算したアドレスを生成し、skip制御部233が、addr_skip信号をMAddrカウンタ242に出力している間、アクセプトプロテクト部236が、パラメータレジスタからの「1」のScmdAcceptの取得を禁止している。
したがって、MAddrカウンタ242がaddr_skip信号に基づいて正確にアドレスをカウントすることができ、アドレス処理の適正化を図ることができる。
さらに、本実施例の複合装置1は、MAddrカウンタ242が、skip制御部233からaddr_skip信号が入力されると、レジスタアクセスのアドレスを「1」だけ加算している。
したがって、動作不許可となっている画像処理モジュールのパラメータレジスタの設定範囲の終了を示す「1」のEndFlagの設定されているアドレスまで、確実にかつ速やかにアドレスを加算することができ、速やかにアドレス移動することができ、パラメータDMACの再利用性を向上させつつ、高速画像処理を行うことができる。
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。