(57)【要約】      （修正有）【課題】プログラマブルロジックの書換え処理をプログラマブルロジックにより行わせる。【解決手段】プログラマブルロジックの書換えが必要かどうかを判定し、書換えが必要と判定すると、プログラマブルロジックに書換えるための書換えレジスタ設定データをプログラマブルロジックに供給する（Ｓ１０３）。プログラマブルロジックは、書換え設定データに応じて、回路情報を記憶しているメモリから回路情報を読み込んでプログラマブルロジックの配線を書換える。そしてＣＰＵは、プログラマブルロジックに書換えレジスタ設定データを転送した後、書換えが完了したプログラマブルロジックにより処理されるデータを当該プログラマブルロジックに転送する（Ｓ１０４）。【選択図】図９
2010251925.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルロジック及び前記プログラマブルロジックの配線を書換えるための複数種類の回路情報を記憶するメモリを含むデータ処理手段と、
前記プログラマブルロジックの配線を書換えるための書換え設定データを前記データ処理手段に送信するよう制御する制御手段とを有し、
前記データ処理手段は、前記書換えデータを受信したことに応じて、前記複数の回路情報に含まれる何れかの回路情報に基づいて前記プログラマブルロジックの配線を書換え、
前記データ処理手段は、前記プログラマブルロジックの配線の書換え中に前記制御手段から送信される前記プログラマブルロジックにより処理されるべきデータをバッファに保持し、前記プログラマブルロジックの配線の書換えが完了した後に前記バッファに保持されたデータに基づく処理を前記プログラマブルロジックに実行させることを特徴とするデータ処理装置。
【請求項２】
前記データ処理手段は、前記回路情報に基づいて前記プログラマブルロジックの配線を書換えている間は、前記バッファから前記プログラマブルロジックへのデータの入力を禁止するバス制御手段を更に有することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記プログラマブルロジックは、ＦＰＧＡであることを特徴とする請求項１又は２に記載のデータ処理装置。
【請求項４】
前記プログラマブルロジックは、リコンフィグアブルプロセッサであることを特徴とする請求項１又は２に記載のデータ処理装置。
【請求項５】
プログラマブルロジック及び前記プログラマブルロジックの配線を書換えるための複数種類の回路情報を記憶するメモリを含むデータ処理手段と、前記プログラマブルロジックの配線を書換えるための書換え設定データを前記データ処理手段に送信するよう制御する制御手段とを具備するデータ処理装置の制御方法であって、
前記データ処理手段が、前記書換えデータを受信したことに応じて、前記複数の回路情報に含まれる何れかの回路情報に基づいて前記プログラマブルロジックの配線を書換える書換え工程と、
前記データ処理手段が、前記プログラマブルロジックの配線の書換え中に前記制御手段から送信される前記プログラマブルロジックにより処理されるべきデータをバッファに保持する保持工程と、
前記データ処理手段が、前記プログラマブルロジックの配線の書換えが完了した後に前記バッファに保持されたデータに基づく処理を前記プログラマブルロジックに実行させる実行工程と、
を有することを特徴とするデータ処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックを含むデータ処理回路を具備するデータ処理装置及びその制御方法に関するものである。
【背景技術】
【０００２】
近年、特定用途向けのデータ処理回路をＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックによって構成した製品が増大している。このＦＰＧＡは、これまでは研究開発のデバッグ用の治具として多く使用されていたが、ＬＳＩ製造技術が向上してＦＰＧＡで構成できる回路の規模が増大し、且つその製造コストが低下したため各種製品に搭載される傾向にある。特に少ロットの製品の場合には、特定用途向けのデータ処理回路をＡＳＩＣ（Application Specific Integrated Circuit）で構成するよりもコストを抑えることが可能になってきている。
【０００３】
しかしながらこのＦＰＧＡは、一般的にＡＳＩＣの回路規模や処理速度に及ばないことがある。その一方で、ＦＰＧＡでは配線を書き換えられる機能を持っているため、このＦＰＧＡを採用したデータ処理回路の機能に応じて、その配線を書き換えることが考えられる。例えば、複合機（多機能処理装置）の画像処理回路をＦＰＧＡで構成した場合、スキャンジョブ、コピージョブ、プリントジョブのそれぞれに応じてＦＰＧＡの内容を書き換えることが考えられている。これによりユーザにより指定されたジョブに応じて最適な画像処理回路を構成することができ、その画像処理回路のパフォーマンスを向上させることができる。また、各ジョブに対応するハードウェアの処理回路を搭載する必要が無くなるため、全体として回路規模を小さくすることができる。特許文献１には、文字や図形、画像などの描画要素を所定の描画命令で処理するために、回路のハードウェア構成を変更することが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許３８３４９３５号公報
【特許文献２】特開２００４−４８２２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＦＰＧＡを書き換えるためには、その配線情報を書き換えるための制御手段が新たに必要となる。このため前述したＦＰＧＡを使用した複合機では、例えば以下のような処理を実行する必要がある。いま例えばユーザがネットワーク上のＰＣから印刷ジョブを複合機に投入すると、その印刷ジョブを受信した複合機のメインＣＰＵは、画像処理回路の書き換えが必要かどうかを判断する。そして書き換えが必要であると判定すると、ＰＣから受信した印刷データを一時的にＨＤＤなどの記憶装置に格納するとともに、画像処理回路を構成するＦＰＧＡを印刷ジョブを処理するように書き換える。そして、この書き換えが完了すると、記憶装置に記憶している印刷データを画像処理回路に供給して、その画像処理回路により画像処理を実行させる。このようにＦＰＧＡを書き換えている間は、ＦＰＧＡで構成された画像処理回路に対してデータを供給できないという問題がある。
【０００６】
特許文献２には、プログラマブル論理部の書込みが完了する前に、外部回路から初期化信号が入力されると、その初期化信号の有効／無効を判断して外部回路に返信する技術が開示されている。特許文献２の発明では、外部回路はプログラマブル論理部の書き換え中かどうかを判断する必要がない。
【０００７】
本発明の目的は、上記従来技術の課題を解決することにある。
【０００８】
本願発明の特徴は、プログラマブルロジックの書換え処理をプログラマブルロジックにより行わせることにより、ＣＰＵ等の制御部の負荷を低減させてデータ処理のパフォーマンスを向上させることにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明の一態様に係るデータ処理装置は以下のような構成を備える。即ち、
プログラマブルロジック及び前記プログラマブルロジックの配線を書換えるための複数種類の回路情報を記憶するメモリを含むデータ処理手段と、
前記プログラマブルロジックの配線を書換えるための書換え設定データを前記データ処理手段に送信するよう制御する制御手段とを有し、
前記データ処理手段は、前記書換えデータを受信したことに応じて、前記複数の回路情報に含まれる何れかの回路情報に基づいて前記プログラマブルロジックの配線を書換え、  前記データ処理手段は、前記プログラマブルロジックの配線の書換え中に前記制御手段から送信される前記プログラマブルロジックにより処理されるべきデータをバッファに保持し、前記プログラマブルロジックの配線の書換えが完了した後に前記バッファに保持されたデータに基づく処理を前記プログラマブルロジックに実行させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、プログラマブルロジックの書換え処理をプログラマブルロジックにより行わせることができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係るデータ処理装置を複合機（ＭＦＰ）に適用した構成を示すブロック図である。
【図２】本実施形態に係る複合機のスキャナの概観図である。
【図３】本実施形態に係る複合機のプリンタの概観図である。
【図４】本実施形態に係る複合機のスキャナ画像処理部の機能構成を説明するブロック図である。
【図５】本実施形態に係る複合機のプリンタ画像処理部の機能構成を説明するブロック図である。
【図６】本実施形態に係る複合機の操作部の外観図である。
【図７】本実施形態に係る複合機の操作部の液晶操作パネルにコピー画面が表示されている様子を示す外観図である。
【図８】本実施形態に係る複合機の制御部のプリンタ画像処理部の構成を説明するブロック図である。
【図９】本実施形態１に係るＭＦＰがジョブを受信したときの制御部による制御処理を説明するフローチャートである。
【図１０】本実施形態１に係るプリンタ画像処理部の処理を説明するフローチャートである。
【図１１】図１０のステップＳ２０２で受信するデータの構成を説明する図である。
【図１２】本実施形態に係るバス制御回路の処理を説明するフローチャートである。
【図１３】本発明の実施形態２に係るデータ処理装置を複合機（ＭＦＰ）に適用した構成を示すブロック図である。
【図１４】本実施形態２に係るＭＦＰがＦＡＸジョブを受信したときの制御部による制御処理を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１３】
図１は、本発明の実施形態に係るデータ処理装置を複合機（ＭＦＰ）に適用した構成を示すブロック図である。ここでＭＦＰ(Multi-Functional Peripheral)とは、原稿のスキャン機能、コピー機能、印刷機能、ＢＯＸ機能、ファクシミリ機能等を搭載した多機能処理装置（複合機とも言う）を指す。
【００１４】
制御部１００は、この複合機全体の動作を制御している。制御部１００は、操作部４００、スキャナ２００やプリンタ３００と接続し、またＬＡＮ１１、公衆回線１２等のネットワークと接続して、画像情報やデバイス情報の入出力を行っている。
【００１５】
ＣＰＵ１０３は、この複合機を制御する制御部１００の制御を司っている。ＣＰＵ１０３は、操作部４００から、或いはＬＡＮ１１或いは公衆回線１２を介してジョブを受信すると、そのジョブのデータをＲＡＭ１０７やＨＤＤ１０９に格納する。そして、そのジョブの送信側の状態に応じて、そのジョブの画像データをＲＡＭ１０７やＨＤＤ１０９から読み込んで画像処理部１１５或いは１１７へ供給する。また適時、後述するプリンタ画像処理部１１７内部のプログラマブルロジックを書き換えるためのレジスタ設定データを送信する。尚、レジスタ設定データ、ジョブのデータは、転送された順に画像処理回路に到達し、後続のデータが先発のデータを追い越すことはないものとする。
【００１６】
ＲＡＭ１０７はＣＰＵ１０３が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリとしても利用される。ＲＯＭ１０８はブートＲＯＭとして利用され、この複合機のブートプログラムが格納されている。ＨＤＤ１０９はハードディスクドライブで、システムソフトウェア、画像データ、アドレス帳などの個人データを格納している。これらのデータは、後述の画像圧縮／伸張部（ＣＯＤＥＣ）１１４で符号化されて格納され、使用時には伸張されて復元される。尚、ＨＤＤを具備していない機器は、他の記憶媒体（フラッシュメモリなど）に記憶するものとする。操作部Ｉ／Ｆ１０４は、操作部４００とのインターフェース部で、操作部４００に表示する画像データを操作部４００に対して出力したり、操作部４００からユーザが入力した情報をＣＰＵ１０３に伝える役割をする。ネットワークＩ／Ｆ１０５は、ＬＡＮ１１に接続されて情報の入出力を行う。モデム１０６は公衆回線１２に接続され、データ送受信を行うための変調復調処理を行う。以上のデバイスがシステムバス１０１に配置される。
【００１７】
イメージバスＩ／Ｆ１１０は、システムバス１０１と画像データを高速で転送するイメージバス１０２とを接続し、それらバスの間でデータ構造を変換するバスブリッジである。
【００１８】
イメージバス１０２は、ＰＣＩバス又はＩＥＥＥ１３９４などの高速バスで構成される。イメージバス１０２には以下のデバイスが配置される。ラスタイメージプロセッサ（ＰＤＬアクセラレータ）１１１は、ＰＤＬコードをビットマップイメージデータに展開する。スキャナデバイスＩ／Ｆ部１１２は、スキャナ２００と制御部１００とを接続し、画像データの同期系／非同期系の変換を行う。プリンタデバイスＩ／Ｆ部１１３は、プリンタ３００と制御部１００とを接続し、画像データの同期系／非同期系の変換を行う。画像圧縮／伸張部１１４は、多値画像データはＪＰＥＧ、２値画像データはＪＢＩＧ、ＭＭＲ、ＭＨ等の圧縮及び伸張処理を行う。尚、画像データは、ＨＤＤ１０９から読み出して圧縮或いは伸張処された後、再びＨＤＤ１０９に格納される。スキャナ画像処理部１１５は、スキャナ２００から入力された画像データに対して、補正、加工、編集を行う。プリンタ画像処理部１１７は、プリンタ３００に出力する印刷データに対して、プリンタに合わせた補正、解像度変換等を行う。ＲＯＭ１１８は、プリンタ画像処理部１１７の画像処理用の回路配線情報を格納しており、プリンタ画像処理部１１７は、このＲＯＭ１１８に格納された回路配線情報をもとに、その内部回路が書き換えられる。バス制御回路１１６は、イメージバス１０２の制御信号を生成する回路で、プリンタ画像処理部１１７の回路情報を書き換えている間は、イメージバス１０２からのデータ受信を停止させるための制御信号を出力する。
【００１９】
図２は、本実施形態に係る複合機のスキャナ２００の概観図である。
【００２０】
このスキャナ２００は、原稿となる紙上の画像を照明し、ＣＣＤラインセンサ（不図示）がこの画像を走査することにより、ラスタイメージデータである画像データを得る。原稿は原稿フィーダ２０１のトレイ２０２にセットされ、ユーザが操作部４００から、この原稿の読み取りを起動指示することにより、ＣＰＵ１０３がスキャナ２００に読み取り指示を与える。これにより原稿フィーダ２０１は原稿を一枚ずつ給送して原稿の読み取り動作を行う。
【００２１】
図３は、本実施形態に係る複合機のプリンタ３００の概観図である。
【００２２】
プリンタ３００は、ラスタイメージデータを基に用紙に画像を印刷する。その印刷方式には、感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印刷するインクジェット方式等があるが、どの方式でも構わない。プリンタ３００による印刷動作は、ＣＰＵ１０３からの指示によって開始される。プリンタ３００は、異なる用紙サイズ又は異なる用紙向きを選択できるように複数の給紙段（用紙カセット３０２，３０３，３０４，３０５）を装着できる。また、排紙トレイ３０６は、プリンタから排紙された印刷済の用紙を受ける。またここでは図示しないがＣＰＵ１０３からの指示により用紙をソートしたり、両面印刷、或いは拡大縮小して印刷した用紙を、ステイプル装置或いは製本装置によって製本できるようにしても良い。
【００２３】
図４は、本実施形態に係る複合機のスキャナ画像処理部１１５の機能構成を説明するブロック図である。
【００２４】
画像バスＩ／Ｆコントローラ４１０はイメージバス１０２と接続し、そのバスアクセスシーケンスを制御する働きと、スキャナ画像処理部１１５内の各デバイスの制御及びタイミングを発生する。像域分離処理部５１１は、入力画像から文字部を検出することにより像域を判定し、その後の画像処理に利用する像域信号を生成する。テーブル４１２は、読み取った輝度データである画像データを濃度データに変換するために、ルックアップテーブルを使用した変換を行う。フィルタ４１３は、エッジ強調などの目的に従ったデジタル空間フィルタでコンボリューション演算を行う。編集部４１４は、例えば入力画像データからマーカペンで囲まれた閉領域を認識して、その閉領域内の画像データに対して、影つけ、網掛け、ネガポジ反転等の画像加工処理を行う。こうして画像処理が終了した画像データは、再び画像バスＩ／Ｆコントローラ４１０を介してイメージバス１０２に転送される。
【００２５】
図５は、本実施形態に係る複合機のプリンタ画像処理部１１７の機能構成を説明するブロック図である。
【００２６】
画像バスＩ／Ｆコントローラ５０１はイメージバス１０２と接続し、そのバスアクセスシーケンスを制御する働きと、プリンタ画像処理部１１７内の各デバイスの制御及びタイミングを発生する。下地除去部５０２は、背景に薄い色がある原稿を読み取った画像データ等が送られてきた場合に、その背景色を除去する。色変換部５０３は、プリンタ３００の出力特性に合わせた色変換を行う。解像度変換部５０４は、ＬＡＮ１１或いは公衆回線１２を介して受信した画像データを、プリンタ３００の解像度に変換するために解像度変換を行う。スムージング部５０５は、解像度変換後の画像データのジャギー（斜め線等の白黒境界部に現れる画像のガサツキ）を滑らかにする処理を行う。
【００２７】
図６は、本実施形態に係る複合機の操作部４００の外観図である。
【００２８】
液晶操作パネル４０１は、液晶にタッチパネルを組み合わせたものであり、設定内容の表示、ソフトキーの表示等がなされるものである。スタートキー４０２は、コピー動作等を開始を指示するためのハードキーであり、内部に緑色及び赤色のＬＥＤが組み込まれており、スタート可能のときに緑色、スタート不可のときに赤色のＬＥＤが点灯する。ストップキー４０３は、実行中の動作を停止させるときに使用するハードキーである。ハードキー群４０４には、テンキー、クリアキー、リセットキー、ガイドキー、ユーザモードキーが設けられている。
【００２９】
図７は、本実施形態に係る複合機の操作部４００の液晶操作パネル４０１にコピー画面が表示されている様子を示す外観図である。
【００３０】
設定表示部７１１は、この複合機の現在の動作状況、設定されている倍率、用紙、部数を表示する部分である。倍率ソフトキー群７１２には、複写時の倍率に関するソフトキーである等倍、拡大、縮小、ズームキーが設けられる。自動縮小レイアウトキー７１３は、本実施形態に係る機能を指定する場合に用いるキーである。ソータキー７１４は、印刷済の用紙の処理方法を指定するときに使用される。両面キー７１５は、原稿又は印刷方法が両面印刷である場合に使用する。用紙選択キー７１６は、用紙のサイズ、色、マテリアル等を指定するための画面に遷移するときに使用される。濃度指定キー群７１７は、読み取り又は印刷画像の濃度を調整し、設定内容を表示する部分である。応用モードキー７１８は、応用モード画面に移るときに使用される。
【００３１】
図８は、本実施形態に係る複合機の制御部１００のデータ処理回路に相当するプリンタ画像処理部１１７の構成を説明するブロック図である。尚、前述の図１と共通する部分は同じ記号で示し、それらの説明を省略する。尚、この実施形態では、プリンタ画像処理部１１７をデータ処理回路としているが、スキャナ画像処理部１１５も同様にＦＰＧＡを用いたデータ処理回路としても良い。
【００３２】
プログラマブルロジック８０１は、プリンタ画像処理部１１７の主要部を構成しており、処理するデータに応じて最適な回路に書き換え可能なロジック回路用のＬＳＩチップである。このようなプログラマブルロジックの代表的なものとしてはＦＰＧＡが挙げられる。このプログラマブルロジック８０１は、ConfigA８０２が有効（active）になるとConfig_startA８０３をイネーブル（アクティブ）にしてＲＯＭ１１８に出力する。これにより、ＲＯＭ１１８から回路情報をConfig_dataA８０４を介してロードし、その回路情報に従って内部の配線を書き換えて、その回路構成を変更することができる。尚、ＦＰＧＡはＬＳＩチップであるが、ＡＳＩＣ等のＬＳＩチップの一部として、このプログラマブルロジック８０１が構成されていても良い。
【００３３】
Ｉ／Ｏ制御回路８０５は、このプログラマブルロジック８０１内部に構成されたレジスタである。Ｉ／Ｏ制御回路８０５は、ＣＰＵ１０３から送信されたプログラマブルロジック８０１を書き換えるためのレジスタ設定データを受信するとConfigA８０２をイネーブル状態に制御する。尚、図では、このＩ／Ｏ制御回路８０５は、プログラマブルロジック８０１の内部に実装されているが、プログラマブルロジック８０１の外部にあっても良い。バッファ８１１は、ＣＰＵ１０３から受信したジョブデータを一時的に格納するのに使用される。
【００３４】
ＲＯＭ１１８は、プログラマブルロジック８０１の回路情報を記憶しており、Config_startA８０３がアクティブになるとConfig_dataA８０４を介して、その回路情報が読み出される。尚、複数種類の回路情報で書き換えを行えるように、複数のＲＯＭがＲＯＭ１１８と同様にプログラマブルロジック８０１に接続されていて、処理内容に応じてそれらＲＯＭのいずれかを選択できる構成であっても良い。また或いは、ＲＯＭ１１８に複数の回路情報を保持しておき、アドレスもしくはセレクタ信号によって、所望の情報を選択して読み出す構成でも良い。また、この回路情報は、制御部１００のＲＯＭ１０８に記憶されて、ＣＰＵ１０３の制御の下に読み出されてプログラマブルロジック８０１に供給されても良い。
【００３５】
バス制御回路１１６は、Config_doneA８０６もしくはReady８０７が非アクティブ状態のときにBusReady８０８を非アクティブ状態とする。これによりバス１０２からのデータの入力を禁止する。尚、図では、バス制御回路１１６はプログラマブルロジック８０１の外部に実装されているがプログラマブルロジックロジック８０１の内部にあっても良い。
【００３６】
プリンタデバイスＩ／Ｆ１１３は、プログラマブルロジック８０１からの出力をプリンタ３００に出力するためのインターフェースである。
【００３７】
ConfigA８０２は、プログラマブルロジック８０１を書き換え開始させるための制御信号である。Config_startA８０３は、ＲＯＭ１１８から回路情報のロード開始するための制御信号である。Config_dataA８０４は、ＲＯＭ１１８から読み出された情報をプログラマブルロジック８０１に転送するためのバス信号である。Config_doneA８０６は、プログラマブルロジック８０１が回路情報の書き換え中には非アクティブ、書き換えが完了するとアクティブ状態になる制御信号である。
【００３８】
イメージバス１０２は、レジスタ設定データ、画像データを送信するためのバスである。尚、図１では、ＣＰＵ１０３はシステムバス１０１とイメージバスＩ／Ｆ１１０を介してイメージバス１０２と接続されているが、ここではそれらを省略して示している。
【００３９】
Ready８０７は、プログラマブルロジック８０１がデータ処理が可能か否かを示すための制御信号である。BusReady８０８はプログラマブルロジック８０１がデータ受信可能か否かをＣＰＵ１０３に通知するための制御信号である。BusData８０９，８１０は、ＣＰＵ１０３からプログラマブルロジック８０１へ出力するデータを示す。
【００４０】
［実施形態１］
本発明の実施形態１では、ＭＦＰのプリンタ画像処理部１１７がＦＰＧＡで構成されていて、そのＭＦＰがコピージョブを処理中にプリントジョブを受信した場合の処理方法について説明をする。
【００４１】
ＭＦＰがコピージョブを実行中、スキャナ２００でスキャンされた画像データがスキャナデバイスＩ／Ｆ１１２を介して制御部１００へ入力される。この入力された画像データは、スキャナ画像処理７００で補正、加工、編集などの画像処理がなされる。そして更に必要であれば画像圧縮／伸張部１１４で圧縮された後、イメージバス１０２、イメージバスＩ／Ｆ１１０、システムバス１０１を介してＲＡＭ１０７或いはＨＤＤ１０９へ格納される。
【００４２】
またＣＰＵ１０３は、プリンタ３００と通信し、プリンタ３００の印刷準備ができるとＨＤＤ１０９に格納した画像データを、システムバス１０１、イメージバスＩ／Ｆ１１０、イメージバス１０２を介してプリンタ画像処理部１１７へデータを送信する。尚、この際、必要であれば画像圧縮／伸張部１１４で伸長も行う。プリンタ画像処理部１１７は、プリンタ３００の仕様に合わせて画像データの補正、解像度変換等の画像処理を行う。尚、ここではコピージョブで入出力される画像データ処理に適したプリンタ画像処理回路が使用されるものとする。そしてプリンタ用の画像処理を実行した後、その画像データはプリンタデバイスＩ／Ｆ１１３を介してプリンタ３００へ送信されて印刷が実行される。
【００４３】
次に、このコピージョブの処理が実行中、或いは実行後にプリントジョブを受信した際のＭＦＰの処理について説明する。
【００４４】
図９は、本実施形態１に係るＭＦＰがジョブを受信したときの制御部による制御処理を説明するフローチャートである。尚、この処理を実行するプログラムはＲＯＭ１０８に記憶されているか、或いは実行時にＨＤＤ１０９からＲＡＭ１０７にロードされ、ＣＰＵ１０３の制御の下に実行される。
【００４５】
先ずステップＳ１０１で、図示はしていないがネットワーク上の情報処理端末からプリントジョブを受信する。これによりＣＰＵ１０３はＬＡＮ１１、ネットワークＩ／Ｆ１０５、システムバス１０１を介して、その受信したジョブデータをＨＤＤ１０９へ格納する。次にステップＳ１０２に進み、ＣＰＵ１０３は、その受信したジョブによってプリンタ画像処理部１１７のＦＰＧＡを書き換える必要があるか否かを判断する。ここで必要があると判断した場合はステップＳ１０３に進み、そうでないと判断したときはステップＳ１０４に進む。
【００４６】
このステップＳ１０２では、ＣＰＵ１０３はジョブ管理リストをＨＤＤ１０９に記憶しており、受信したジョブのデータの先頭にあるヘッダから受信したジョブの種類を特定する。そして、その受信したジョブと、記憶しているジョブ管理リストの最後に処理されたジョブとを比較し、それらが異なっていれば書き換えが必要であると判断する。尚、同じジョブであれば書き換えが不要と判断するが、同じジョブでもモノクロかカラーかの情報をジョブ管理リストに付加しておくことにより、同じジョブでもモノクロかカラーによって書き換えが必要であると判断しても良い。また、ジョブ管理リストに記載する内容と比較条件式については予め決められているものとする。
【００４７】
本実施形態１では、現在コピージョブを実行中で、そのジョブ情報がジョブ管理リストに保持されている状態でプリンタジョブを受信すると、ＦＰＧＡを書き換える必要があると判断する場合で説明する。
【００４８】
ステップＳ１０３では、ＣＰＵ１０３は、ＦＰＧＡ内部に実装されているＦＰＧＡ書き換え用のレジスタ設定を書き換え開始の設定にしたレジスタ設定データを転送する。更に、書き換え後のプリンタ画像処理部１１７に対するパラメータ設定をするためのレジスタ設定データを転送する。ここでパラメータ設定は、プリンタ画像処理部１１７におけるＬＵＴ（ルックアップテーブル）の値や画像サイズなどを示すものとする。
【００４９】
そして次にステップＳ１０４に進み、ＣＰＵ１０３は、ステップＳ１０１で格納したジョブデータをＨＤＤ１０９から読み出してプリンタ画像処理部１１７へ転送する。このジョブデータは、ＦＰＧＡの書換え処理が開始されていないためプリンタ画像処理部１１７により受信されてプリンタ画像処理部１１７のバッファ８１１に一時的に記憶される。そして、ＦＰＧＡの書換え処理が完了した後、そのバッファ８１１に格納されているジョブデータが、その書き換えられたＦＰＧＡの機能に従って処理されることになる。これによりＣＰＵ１０３は、ステップＳ１で受信したジョブデータの処理から速やかに解放されることになる。
【００５０】
図１０は、本実施形態１に係るプリンタ画像処理部１１７の処理を説明するフローチャートである。
【００５１】
ステップＳ２０１で、バス制御回路１１６からのデータの受信を待ち、データを受信するとステップＳ２０２に進み、その受信したデータの種別を判別する。
【００５２】
図１１は、ステップＳ２０２で受信するデータの構成を説明する図である。
【００５３】
図１１において、１１００はヘッダを示し、このヘッダには、このデータの種別が記述されており、このヘッダ１１００の内容がステップＳ２０２で判別される。
【００５４】
ステップＳ２０２で、ＦＰＧＡ書換フラグがオン（１）であると判定するとステップＳ２０３へ進み、レジスタデータフラグがオンであるときはステップＳ２０４へ、また画像データフラグがオンであればステップＳ２０５へそれぞれ進む。尚、この判別方法において、ヘッダを使用するのは一例であって、本発明はこれに限定されない。
【００５５】
ステップＳ２０４でプリンタ画像処理部１１７は、レジスタの設定を行う。ここではヘッダ１１００に続くレジスタデータを受信し、そのレジスタデータを内部処理ブロックに対して設定することによりレジスタの設定を行う。そしてステップＳ２０１に進んで次のデータを受信する。
【００５６】
またステップＳ２０５では、プリンタ画像処理部１１７は、ヘッダ１１００の後の画像データを受信してプリンタ用の画像処理を行う。そしてステップＳ２０１へ進んで、次のデータを受信する。
【００５７】
ヘッダ１１００のＦＰＧＡ書換フラグがオンのときは、ステップＳ２０３で、プリンタ画像処理部１１７は、ＦＰＧＡ書換処理を実行する前にＦＰＧＡ内部のデータ処理が完了しているか否かを確認する。ここでの確認方法は、内部の最後段の画像処理ブロックが全ての画像データを処理した場合にアサートする割り込み制御信号により判定する。ここでは、例えば、図１１に示す、受信したデータの最後にあるフッタの画像データエンドフラグ１１０１を受信すると、処理が終了したと判断して割り込み制御信号をアサートする。
【００５８】
こうしてＦＰＧＡ内部のデータ処理が完了していると判断するとステップＳ２０６に進み、プリンタ画像処理部１１７は、ヘッダ１１００以降に続くデータを受信してＦＰＧＡの書換制御レジスタを設定する。ここで、ＦＰＧＡの書換制御レジスタは、入出力制御ポートを制御する。ここでは書換制御レジスタに「１」を書き込むことにより、ConfigA８０２をアサートしてＦＰＧＡの書き換えを開始する。
【００５９】
尚、このレジスタを設定する前にジョブに応じたＲＯＭ１１８の回路情報を選択するようにしてもよい。例えば図示していないがＲＯＭ１１８以外のＲＯＭを複数用意し、各ジョブ処理に適した回路情報を格納しても良い。またプリンタ画像処理部１１７とＲＯＭ１１８との間にバスセレクト回路を実装する。更に、プリンタ画像処理部１１７にＩ／Ｏ制御回路８０５の設定用のバスセレクトレジスタを用意し、そのバスセレクト回路を切り替える制御を行わせても良い。ＣＰＵ１０３は、ＦＰＧＡの書換制御レジスタ設定の前にジョブに応じてバスセレクトレジスタ設定データを送信することで、複数の回路情報の中からジョブ処理の種類に応じた回路情報を選択可能となる。
【００６０】
次にステップＳ２０７に進み、プリンタ画像処理部１１７は、ステップＳ２０６でＦＰＧＡ書換制御レジスタを「１」に設定したことにより、ConfigAをアサートしてＦＰＧＡの書換え開始する。またこのときプリンタ画像処理部１１７は、同時にConfig_doneAをデアサートしてＦＰＧＡが書換え中であることを外部に知らせる。次にステップＳ２０８へ進み、プリンタ画像処理部１１７は、ＲＯＭ１１８に対してConfig_startAをアサートする。次にステップＳ２０９に進み、プリンタ画像処理部１１７は、Config_startAがトリガとなってＲＯＭ１１８からConfig_dataAを介して回路情報をダウンロードし、それに従ってＦＰＧＡの内部回路を書き換える。次にステップＳ２１０へ進み、プリンタ画像処理部１１７は、ステップＳ２０９でＦＰＧＡの内部回路が書き換えが完了するとConfig_doneAをアサートする。そしてステップＳ２０１に進んで、次のデータ受信を待つ。
【００６１】
図１２は、本実施形態に係るバス制御回路１１６の処理を説明するフローチャートである。
【００６２】
先ずステップＳ３０１で、バス制御回路８２０は、Reset信号がデアサート（イネーブルでない）されているか否かを検出する。Reset信号がデアサートされていればステップＳ３０２へ進み、そうでないとき（アサートされている）はステップＳ３０５へ進む。ステップＳ３０２で、バス制御回路８２０は、Config_doneA信号がアサートされているか否かを判定する。アサートされていればステップＳ３０３へ進み、デアサートされていればステップＳ３０５へ進む。ステップ３０３では、バス制御回路８２０は、プリンタ画像処理部１１７からのReady信号がアサートされているか否かを判定する。アサートされていればステップＳ３０４へ進み、デアサートされていればステップＳ３０５へ進む。ステップＳ３０４で、バス制御回路８２０はBusReady信号をアサートしてイメージバス１０２に接続された処理部からデータが受信できることを通知する。一方、ステップＳ３０では、バス制御回路８２０はBusReady信号をデアサートして、イメージバス１０２に接続された処理部からデータを受信できないことを通知する。こうしてステップＳ３０４或いはＳ３０５を実行するとステップＳ３０６に進み、バス制御回路８２０はシステムクロックの１周期だけ待ってステップＳ３０１に進む。
【００６３】
このようにバス制御回路８２０は、システムクロックに同期してBusReady信号を制御する。これによりプリンタ画像処理部１１７が配線の書換えを実行中であるステップＳ２０７からステップＳ２１０の期間は、Config_doneA信号がデアサートされているためイメージバス１０２に接続された処理部からデータが受信できない。これによってイメージバス１０２からのデータの入力を停止させることが可能となる。
【００６４】
以上説明したように本実施形態１によれば、ＭＦＰがコピージョブの実行中にプリントジョブを受信した場合は、ＣＰＵはＦＰＧＡの書換え設定データをジョブ間に挿入し、そのプリントジョブをＦＰＧＡの書換えが完了する前に送信できる。尚、本実施形態１はＭＦＰに適用しているが、プログラマブルロジックを使用した情報処理装置にも適用できることは言うまでもない。
【００６５】
［実施形態２］
冒頭で述べたように、ＦＰＧＡを含む回路の規模や動作速度の仕様は、ＡＳＩＣのように開示されない場合がある。その場合、そのような回路を２つ以上のブロックに分割することが行われる。そこで本実施形態２では、プリンタ画像処理部１１７の内部モジュールを２つに分割し、２つのＦＰＧＡをカスケード接続した場合の例を図１３に示す。
【００６６】
図１３は、本発明の実施形態２に係るデータ処理装置を複合機（ＭＦＰ）に適用した構成を示すブロック図である。尚、図１と共通する部分は同じ記号で示し、それらの説明を省略する。
【００６７】
図１３では、ＭＦＰの制御部１００のプリンタ画像処理部１１７を、第１プリンタ画像処理部１３００と第２プリンタ画像処理部１３０１とに分割する。尚、本実施形態２では、プリンタ画像処理部での画像処理が、入力した画像データの順に行われることを想定して第１プリンタ画像処理部１３００と第２プリンタ画像処理部１３０１とを直列に接続している。しかし、内部処理の順番に依存性がなければ並列に構成しても良いものとする。
【００６８】
画像分割処理部１３０４は、画像データを複数のブロックに分割する。また画像統合処理部１３０５は、これら分割された画像データを統合して１つの画像データにする処理を行う。
【００６９】
またＦＰＧＡを書き換えるためのＲＯＭ１３０２と、第１プリンタ画像処理部１３００と第２プリンタ画像処理部１３０１とを接続するバス制御回路１３０３も追加される。次に、上記構成において、ＭＦＰがプリントジョブを処理中にＦＡＸジョブを受信した場合の処理方法について説明をする。
【００７０】
図１４は、本実施形態２に係るＭＦＰがＦＡＸジョブを受信したときの制御部による制御処理を説明するフローチャートである。尚、この処理を実行するプログラムはＲＯＭ１０８に記憶されているか、或いは実行時にＨＤＤ１０９からＲＡＭ１０７にロードされ、ＣＰＵ１０３の制御の下に実行される。
【００７１】
先ずステップＳ４０１で、ＣＰＵ１０３は、公衆回線１２から入力される画像データをモデム１０６を介して制御部１００へ入力する。入力された画像データは画像圧縮／伸張部１１４でＦＡＸのデータ送受信で用いられるＭＭＲ，ＭＨで伸張処理する。その後、その伸張した画像データをイメージ１０２、イメージバスＩ／Ｆ１１０、システムバス１０１を介してＲＡＭ１０７或いはＨＤＤ１０９へ格納する。
【００７２】
次にステップＳ４０２に進み、ＣＰＵ１０３は、ステップＳ１で受信したジョブによって第１プリンタ画像処理部１３００のＦＰＧＡを書き換える必要があるか否かを判断する。ここで書き換える必要があると判断するとステップＳ４０３に進み、そうでないと判断するとステップＳ４０４に進む。ここでは、第１プリンタ画像処理部１３００は、実行中のプリントジョブの画像処理に適した回路になっている。このためＣＰＵ１０３は、ＦＡＸジョブの画像処理に適した回路に書き換える必要があると判断してステップＳ４０３に進む。ステップＳ４０３では、ＣＰＵ１０３は第１プリンタ画像処理部１３００のＦＰＧＡ内部に実装されているＦＰＧＡ書き換え用のレジスタ設定を書き換え開始の設定にするためにレジスタ設定データを転送してステップＳ４０４に進む。
【００７３】
ステップＳ４０４では、前述のＳ４０２と同様に、ＣＰＵ１０３は、ステップＳ１で受信したジョブによって第２プリンタ画像処理部１３０１のＦＰＧＡを書き換える必要があるか否かを判断する。ここで必要があると判断するとステップＳ４０５へ進むが、そうでないときはステップＳ４０６に進む。ここでは、第２プリンタ画像処理部１３０１は、実行中のプリントジョブの画像処理に適した回路になっているため、ＦＡＸジョブの画像処理に適した回路に書き換える必要があると判断する。
【００７４】
ステップＳ４０５では、ＣＰＵ１０３は第２プリンタ画像処理部１３０１のＦＰＧＡ内部に実装されているＦＰＧＡ書き換え用のレジスタ設定を書き換え開始の設定にするレジスタ設定データを転送してステップＳ４０６に進む。ステップＳ４０６では、ＣＰＵ１０３は、ステップＳ４０１で格納した画像データをＨＤＤ１０９から第１プリンタ画像処理部１３００へ転送する。これにより前述の図９のステップＳ１０４と同様に、ＣＰＵ１０３は、ジョブデータの処理から速やかに解放されるため、ＣＰＵ１０３のパフォーマンスが向上する。
【００７５】
第１及び第２プリンタ画像処理部１３００，１３０１、ＦＰＧＡ書換のための第２ＲＯＭ１３０２、第２バス制御回路１３０３の動作は、前述の実施形態１のプリンタ画像処理部１１７、ＲＯＭ１１８及びバス制御回路１１６の動作とほぼ同じである。このため、これらの説明を割愛する。
【００７６】
以上説明したように本実施形態によれば、ＭＦＰがプリントジョブの処理中にＦＡＸジョブを受信した場合に、ＣＰＵはＦＰＧＡの書き換えが必要と判断すると、ＦＰＧＡの書換設定データをジョブ間に挿入して書き換えを指示する。これにより、ＦＡＸジョブを処理できるようになる。
【００７７】
更に、ＦＰＧＡが複数接続されている場合でも、各々に対するＦＰＧＡの書換設定データをジョブ間に挿入して、複数のＦＰＧＡの書換えを実行する。
【００７８】
尚、本実施形態２はＭＦＰに適用して説明したが、プログラマブルロジックを使用した、ＰＣ等の情報処理装置にも適用できることは言うまでもない。またプログラマブルロジックは、リコンフィグアブルプロセッサであっても良い。
【００７９】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
【００８０】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【００８１】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【図１】
2010251925.tif 000003
【図２】
2010251925.tif 000004
【図３】
2010251925.tif 000005
【図４】
2010251925.tif 000006
【図５】
2010251925.tif 000007
【図６】
2010251925.tif 000008
【図７】
2010251925.tif 000009
【図８】
2010251925.tif 000010
【図９】
2010251925.tif 000011
【図１０】
2010251925.tif 000012
【図１１】
2010251925.tif 000013
【図１２】
2010251925.tif 000014
【図１３】
2010251925.tif 000015
【図１４】
2010251925.tif 000016