画像処理デバイス排他制御装置、制御方法、プログラム及び記録媒体
【課題】画像処理デバイス制御において不整合が起きない排他制御を行う装置を提供する。
【解決手段】1以上のタスクで画像データに対して画像処理を行う画像処理デバイスへのアクセス要求が競合する場合の画像処理デバイス制御であって、1以上のタスクからアクセスされる、デジタル画像データに対して画像処理を行う画像処理デバイスと、画像処理デバイスへのアクセスを制御する画像処理デバイス制御手段と、1スレッドを実行するタスク単位で、複数のタスクを非同期で実行するCPUと、1以上のタスクで前記画像処理デバイス制御手段による画像処理デバイスアクセス要求が競合する場合に、前記画像処理デバイスごとに画像処理デバイスアクセスの競合を防止する排他制御手段と、を有する。
【解決手段】1以上のタスクで画像データに対して画像処理を行う画像処理デバイスへのアクセス要求が競合する場合の画像処理デバイス制御であって、1以上のタスクからアクセスされる、デジタル画像データに対して画像処理を行う画像処理デバイスと、画像処理デバイスへのアクセスを制御する画像処理デバイス制御手段と、1スレッドを実行するタスク単位で、複数のタスクを非同期で実行するCPUと、1以上のタスクで前記画像処理デバイス制御手段による画像処理デバイスアクセス要求が競合する場合に、前記画像処理デバイスごとに画像処理デバイスアクセスの競合を防止する排他制御手段と、を有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理デバイスアクセス要求が競合する画像処理デバイス制御に関し、特に画像処理デバイスごとに画像処理デバイスアクセスの競合を防止する排他制御に関する。
【背景技術】
【0002】
CCD(Charg Coupled Device)光電変換素子からなるラインセンサを用いた読み取り装置や、レーザー照射によるトナー書き込み装置の発展により、アナログ複写機からデジタル化された画像データにてコピーを作成するデジタル複写機が登場した。
【0003】
デジタル複写機となってからは、デジタル画像データを扱う他の装置との親和性が高まり、複写機としての機能だけでなく、ファクシミリ機能、プリンタ機能、スキャナ機能等、いろいろな機能と複合し、単なるデジタル複写機ではなく、デジタル複合機(MFP:Multifunction Peripheral)と呼ばれるようになった。
【0004】
HDDドライブ等メモリの大容量化・低コスト化、ネットワーク等通信技術の高速化や普及、CPU(Central Processing Unit)の処理能力の向上、デジタル画像データに関連する技術(圧縮技術等)等々、MFPに関連する技術の進化に伴い、MFPに搭載される機能も多種・多様化してきている。
【0005】
またMFPの使われ方も多種・多様化してきている。例えばPCの横にペアで設置され、操作者が手軽に複写機・ファクシミリ・プリンター・スキャナの機能を使用することができる小型MFPと呼ばれる物。部署や課単位の複数名で共有され、ある程度の生産性やソート・パンチ・ステープル等の機能が使用できる中型MFPと呼ばれる物。企業の中で複写関連業務を集中して行なう部署、もしくは複写関連業務そのものを生業とする会社などでは、高生産性・高品位で、多機能な大型MFPと呼ばれる物が使用されている。
【0006】
このように、小型から大型まで多様化してきているMFPは、各クラスに亘って共有できる機能も存在するが、そのクラスごとに要求が強い機能も存在する。例えば大型MFPではパンチ・ステープル・紙折り等、プロット後の紙に対する後加工や、複写業務と同時に電子ファイリング化すること等が求められ、小型MFPではインターネットFAXやPC−FAX等の充実や、パーソナル的な使用目的として、専用紙に対する高品位画像印刷等が求められている。
【0007】
このように多種・多様化してきているMFP市場に対して、従来は各クラスに必要な機能をセットにしたシステムを構築し、販売・提供していた。
【0008】
また、ビジネスにおける情報価値の重要性は既に認知されており、情報を早く・正確に・確実に伝えるだけでなく、分かりやすく・効果的に伝えることも要求されている。そして通信技術の高速化/普及化・メモリの大容量化/低コスト化/小型化・PCの高性能化にともない、デジタルデータを利用した情報を効率的にあつかう新しい機能が提供されてきており、デジタルデータの一部であるデジタル画像データを扱うMFPにも、新機能の提供や融合が望まれてきている。
【0009】
さらに製品も多機能化してきており、多くの要求を操作部で設定可能になり、その多くの要求を制御する画像処理制御装置が必要になってきた。また、従来のハードウェア(ASIC)に比べデジタルシグナルプロセッサ(DSP:デジタルシグナルプロセッサ)はプログラムやデータを入れ替えることによってさまざまな画像処理を実現可能にするものである。しかし、画像処理のバリエーションが増えた一方、そのDSPを制御する制御装置は煩雑になってしまう。さらに、仕様変更が容易に行なえるので画像処理制御は多々発生が予想される仕様変更に対し、早急にかつ確実に対応していかなければならなくなってきた。
【0010】
そして、操作部からのさまざまな要求を満たす画像処理制御装置だけではなく、柔軟に仕様変更に対応できることが望まれている。ただし、DSPはASICに比べ高価であるので、変更があまり起こらないような画像処理に対してはASICで画像処理を実現している。このように画像処理を実現するデバイスも用途によって選択、あるいは両立するので、その制御装置が必要になっている。
【0011】
そこで、μITRON(Micro Industrial TRON)準拠の組込み系ソフトウェアの問題領域において複数のタスクから画像処理デバイスをアクセスする必要ができ排他制御が必要になっている。しかし、既存のRTOS(Real−time operating system)のセマフォやPC上で動作する一般的なアプリケーションにおける排他制御を適用すると、他のタスクの動作を止めたり、タスクごとに割り当てられた時間に対してタスク間のやり取りが発生して画像処理デバイスにアクセスするタスクで待ちが発生するという問題があった。従って、タスクに割り当てられた時間に対して画像処理デバイスをアクセスするタスクは最小単位の処理(以下スレッド)を実行に対し出来るだけ待ちが発生しない排他方式が必要になる。
【0012】
また、組込み系ソフトウェアは複数のタスクを起動し、時分割でタスクごとに割り当てられた優先順位に従って実行されていることや、1タスクは1スレッドごとに処理されることや、タスク間はメモリを共有できないため、情報のやり取りは同期/非同期のタスク間通信をすることはμITRONの仕様として既に知られている。
【0013】
しかし、今までのμITRON準拠の組込み系ソフトウェアにおける画像処理デバイス制御においては、複数のタスクによる画像処理デバイスアクセスにおいて、不整合が起きないようにセマフォ(Semaphore)管理を行っていた。この方法では先に画像処理デバイスへアクセスを開始したタスクが画像処理デバイス制御を独占してその制御を実行している間は他のタスクに処理が切り替わることがなくなり他のタスクの実行を止めてしまうため、画像処理デバイス制御が完了しないと他のタスクの制御を実行することができず、すぐに処理をする必要があるタスク内の処理実行が遅れるという問題があった。
【0014】
例えば特許文献1においては、タスク排他制御方法及びタスク排他制御装置の発明が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0015】
しかし特許文献1に記載されている方法では、図1に示すように、タスク1が優先度をあげるとタスク1に割り当てられた時間に関係なく優先度を元に戻すまで処理を占有し続けるという問題がある。また、タスク2のスレッド2−1の処理は大幅にずらされる。特に画像処理デバイスアクセス実行で設定する量によりタスク1が処理を占有する時間が増加するという問題がある。
【0016】
図1は、2つのタスクでタスク2の処理が遅れる例を示すが、実際のMFPは約50〜60タスクあり、制御が他のタスクと競合する画像処理デバイスアクセスをするタスク数や設定量に比例して次に行うタスクのスレッド実行が遅れるという問題がある。
【0017】
そこで図2に示すような、タスク内のスレッド処理が必要となる。画像処デバイスへアクセスする排他機構管理を設けスレッドの完了、生成のトリガーを送る管理を行う。画像処理デバイスにアクセスするタスクは画像処理デバイスアクセス許可、画像処理デバイスアクセス許可後のアクセスとスレッド処理を分割する。画像処理デバイスにアクセス許可を通知し次に要求されているスレッド処理に移行する。従って、タスクのスレッド管理は優先順位が無く受け付けた順番に処理を実行するため簡略化できる。また、スレッドに優先順位の概念が無いため画像処理デバイスをアクセスするタスク側のスレッド管理機構が簡略化できる。さらに、画像処理デバイスの状態に応じて画像処理デバイスを管理するタスクは画像処理デバイスアクセス要求を出すタスクを含め他のタスクに対して送るメッセージの内容を切り替えることが可能となる。
【0018】
そこで本発明は、上記問題点に鑑みてなされたもので、画像処理デバイス制御において不整合が起きない排他制御を行うことを目的とする。
【課題を解決するための手段】
【0019】
上記課題を解決するため、本発明に係る画像処理デバイス排他制御装置は、1以上のタスクで画像データに対して画像処理を行う画像処理デバイスへのアクセス要求が競合する場合の画像処理デバイス制御であって、1以上のタスクからアクセスされる、デジタル画像データに対して画像処理を行う画像処理デバイスと、画像処理デバイスへのアクセスを制御する画像処理デバイス制御手段と、1スレッドを実行するタスク単位で、複数のタスクを非同期で実行するCPUと、1以上のタスクで前記画像処理デバイス制御手段による画像処理デバイスアクセス要求が競合する場合に、前記画像処理デバイスごとに画像処理デバイスアクセスの競合を防止する排他制御手段と、を有し、排他制御手段は、画像処理デバイスアクセスを要求するタスクのスレッドの管理を行ない、画像処理デバイスアクセス要求時にスレッドを完了し、画像処理デバイスアクセスが可能になった場合には画像処理デバイスアクセスを要求するタスクに対して画像処理デバイスアクセス許可を通知し、画像処理デバイスアクセスを要求するタスクのスレッドを生成させて、画像処理デバイスアクセスを実行することを特徴とする。
【0020】
また本発明に係る画像処理デバイス排他制御方法は、1以上のタスクで画像データに対して画像処理を行う画像処理デバイスへのアクセス要求が競合する場合の画像処理デバイス制御の制御方法であって、1以上のタスクからアクセスされる、デジタル画像データに対して画像処理を行う画像処理デバイスへのアクセスを制御する画像処理デバイス制御工程と、1スレッドを実行するタスク単位で、複数のタスクを非同期で実行するCPU工程と、1以上のタスクで画像処理デバイス制御工程による画像処理デバイスアクセス要求が競合する場合に、画像処理デバイスごとに画像処理デバイスアクセスの競合を防止する排他制御工程と、を有し、排他制御工程は、画像処理デバイスアクセスを要求するタスクのスレッドの管理を行なう工程と、画像処理デバイスアクセス要求時にスレッドを完了する工程と、画像処理デバイスアクセスが可能になった場合には画像処理デバイスアクセスを要求するタスクに対して画像処理デバイスアクセス許可を通知する工程と、画像処理デバイスアクセスを要求するタスクのスレッドを生成させる工程と、画像処理デバイスアクセスを実行する工程と、を有することを特徴とする。
【0021】
また本発明に係るプログラムは、上記に記載の画像処理デバイス排他制御方法をコンピュータに実行させることを特徴とする。
【0022】
また本発明に係る記録媒体は、上記に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
【発明の効果】
【0023】
本発明により、画像処理デバイス制御において不整合が起きない排他制御を行うことが可能になる。
【図面の簡単な説明】
【0024】
【図1】従来の制御方法による問題点を示した図である。
【図2】本発明の実施形態に係るタスク内のスレッド処理の関係を示した図である。
【図3】本発明の実施形態に係るイメージプロセッシングユニット(IPU)の例を示す図である。
【図4】本発明の実施形態に係るイメージプロセッシングユニット(IPU)における画像データの流れを示す図である。
【図5】本発明の実施形態に係るアプリケーションと用いる画像データパスを示す図である。
【図6】本発明の実施形態に係るコントローラ部のCPUの制御装置と上位の制御装置と画像処理制御装置の関係を示す図である。
【図7】本発明の実施形態に係る上位の制御装置と画像処理制御装置の呼び出しタイミングの例を示す図である。
【図8】本発明の実施形態に係るデジタルシグナルプロセッサ(DSP)とハードウェア内の画像処理モジュールの例を示す図である。
【図9】本発明の実施形態に係る画像処理デバイス制御タスクとアクセス管理タスクの関係を示す図である。
【図10】本発明の実施形態に係るデジタルシグナルプロセッサ(DSP)にアクセスするタスクの制御フローの例を示す図である。
【図11】本発明の実施形態に係るデジタルシグナルプロセッサ(DSP)のアクセス状況管理タスクの制御フローの例を示す図である。
【図12】本発明の実施形態に係るアクセス状況管理タスクと情報I/Fとの例を示す図である。
【図13】本発明の実施形態に係るアクセス状況更新の処理フローの例を示す図である。
【図14】本発明の実施形態に係るデジタルシグナルプロセッサ(DSP)アクセス要求とアクセス状況管理タスクのリスト要素の遷移の例を示す図である。
【図15】本発明の実施形態に係るアクセスの優先順位を考慮したアクセス状況更新の処理フローの例を示す図である。
【図16】本発明の実施形態に係るリードライトアクセスを考慮したDSPにアクセスするタスクの制御フローの例を示す図である。
【図17】本発明の実施形態に係るリードライトアクセスを考慮したDSPのアクセス状況管理タスク制御フローの例を示す図である。
【発明を実施するための形態】
【0025】
本発明の好適な実施の形態について以下に図等を参照して説明する。
【0026】
(実施例1)
図3は、本発明の一実施形態に係るイメージプロセッシングユニット(IPU)の例を示す図である。
【0027】
画像処理デバイスに、スキャナCCD301のランプが切れているかの確認やスキャナ画像補正を行うためのデジタルシグナルプロセッサ(DSP)305とハードウェア(ASIC)306と、プリンタ出力画像補正309とを適用した例である。
【0028】
なお、本実施形態において画像処理デバイスをアクセスする制御ソフトである画像制御装置703の制御対象は、このデジタルシグナルプロセッサ(DSP)305と309とハードウェア(ASIC)306であり、パワーサプライユニット(PSU)303や一次記憶装置308への画像の転送や、画像データの画像処理デバイス305と306と309への入出力のタイミングを管理するのはMFPシステム内に組み込まれている後述する上位の制御装置602になる。
【0029】
この上位の制御装置602と画像処理制御装置603はエンジン部(IPU)304の画像処理デバイスやスキャナCCD301やプリンタ302やPSU303を制御するCPU310内に組み込まれたソフトウェアを示している。
【0030】
上位の制御装置602や画像処理制御装置603は複数のタスクを起動しディスパッチにより割り当てられた時間に対し処理を切り替えて実行するCPU310内で起動されるタスクで、別のタスクに割り当てられている。
【0031】
画像制御装置603は、デジタルシグナルプロセッサ(DSP)305と309と、ハードウェア(ASIC)306へ画像データを送り画像処理が開始される前までに最適な画像処理が画像処理デバイス305と306と309内で行えるように画像処理パラメータを設定することである。
【0032】
図4は、本発明の一実施形態に係るイメージプロセッシングユニット(IPU)における画像データの流れを示す図である。
【0033】
本実施形態におけるMFPシステムでは、使用可能なアプリケーションとしてコピー、スキャナ、FAX(送信、受信)、プリントの4種類があり、それぞれの画像データの流れを示す。
【0034】
図5は、本発明の一実施形態に係る、それぞれのアプリケーションと用いる画像データパスを示す図である。
【0035】
図4と図5に示すように、コピーは、スキャナCCD301から画像処理デバイスであるデジタルシグナルプロセッサ(DSP)305とハードウェア306でスキャナ入力の画像に対する補正処理を行い、コントローラ部307に送られる。
【0036】
その後コントローラ部307から再びIPU304に画像データが送られ、画像処理デバイスであるデジタルシグナルプロセッサ309でプリンタ出力の画像に対する補正処理を行いプリンタ302へ画像データが送られて紙出力される。
【0037】
スキャナ、FAX(送信)は、基本的にコピーのAの画像データパスになり、デジタルシグナルプロセッサ(DSP)305とハードウェア306で画像処理された画像データはコントローラ部307へ送られ、ローカルエリアネットワークLAN等のネットワークで接続されたクライアントPCやプリンタへ送信される。
【0038】
プリンタ、FAX(受信)は、Bのコントローラ部307からデジタルシグナルプロセッサ(DSP)309でプリンタ出力の画像に対する補正処理を行いプリンタ302へ画像データが送られて紙出力される。
【0039】
図6は、本発明の一実施形態に係るコントローラ部のCPUの制御装置と上位の制御装置と画像処理制御装置の関係を示す図である。
【0040】
コントローラ部307のCPU311の制御装置と上位の制御装置602と画像処理制御装置603の関係を示したものである。画像処理制御装置603は、コントローラ部307にある操作画面部(ユーザインターフェース)のユーザが指定する情報を上位の制御装置602を経由して送られる。
【0041】
上位の制御装置602から送られてきたユーザが指定する情報(原稿モードや変倍率や濃さ設定等)を受け取り制御対象である画像処理デバイスのデジタルシグナルプロセッサ(DSP)305や309にプログラムやデータを、ハードウェア(ASIC)306にデータをダウンロードすることによって、ユーザに最適な画像を出力するように画像処理パラメータの設定を制御する。
【0042】
上位の制御装置602は操作画面から設定されるユーザ情報を送ることと、画像処理制御装置603が処理を実装するための読み出しタイミングを制御する。
【0043】
画像処理制御装置603は読み出された事をトリガーにして呼び出された要求に従って処理を切り替える。
【0044】
図7は、本発明の一実施形態に係る上位の制御装置と画像処理制御装置の呼び出しタイミングの例を示す図である。
【0045】
上位の制御装置602と画像処理制御装置603の呼び出しタイミングの例を示したものである。
【0046】
図7に示したように、上位の制御装置602はタスクごとに分割され、スキャナ入力やプロッタ出力に画像処理が必要になる設定を画像処理制御装置603が行っているため、設定の要求元はスキャンプロセスとプロッタプロセスの2つのプロセスになる。
【0047】
本実施形態におけるMFPのIPU構成では、スキャンとプロッタで別の画像処理デバイスで処理を行うため、図7に示したように要求タイミングが重なることがある。
【0048】
画像処理制御装置603は1画像処理の単位をプロセスとして管理していて、計算要求、設定要求、終了設定要求で1プロセス内の制御動作が完了する。
【0049】
計算要求は、画像処理パラメータを計算し画像処理デバイスに設定する画像処理パラメータを保持する。設定要求で、あらかじめ計算されて保持された画像処理パラメータの内容を画像処理デバイスに設定する。
【0050】
終了設定要求では、保持した計算結果の開放等のメモリリークが起きないように後処理を実施する。
【0051】
スキャンプロセスは、画像処理デバイスが画像処理を開始する前までに計算要求と設定要求を送り画像処理デバイスが画像処理実行可能な状態にし、画像データを画像処理デバイスに送り画像処理を実行させ、終了設定要求を送り画像処理制御装置603の1プロセス制御を完了させる。
【0052】
本実施形態では、スキャンタスク、スキャンタスクから呼び出されて処理をするスキャナ画像処理タスク、プロッタタスク、プロッタタスクから呼び出されて処理をするプロッタ画像処理タスクが、画像処理デバイスにアクセス制御を行い、画像処理デバイス排他制御が、動作するタスクへ画像処理デバイスアクセス許可を送るタスクになる。画像処理デバイス排他制御装置は別タスクでの処理となる。
【0053】
図8は、本発明の一実施形態に係るデジタルシグナルプロセッサ(DSP)とハードウェア内の画像処理モジュールの例を示す図である。
【0054】
デジタルシグナルプロセッサ(DSP)305と309とハードウェア(ASIC)306内の画像処理モジュールの一例を示したものである。本実施形態におけるMFPシステムのIPUに実装されている画像処理デバイスであるデジタルシグナルプロセッサ(DSP)305と309とハードウェア(ASIC)306内の画像処理内容を示した図である。
【0055】
デジタルシグナルプロセッサ(DSP)305とハードウェア(ASIC)309はスキャナCCD301入力の画像データを補正するためシェーディング補正801、フィルタ処理802、色変換処理803が実装されている。
【0056】
デジタルシグナルプロセッサ(DSP)309はプリンタ302のための画像処理であり、プリンタ特性に合わせたγ処理804と階調処理805により入力と出力に要求される階調数が異なるため階調変換を行う。
【0057】
本実施形態では画像処理制御装置が制御する対象モジュールはこの5つの画像処理モジュールとする。また、デジタルシグナルプロセッサ(DSP)305内のシェーディング補正処理801は、スキャンタスクでランプ切れ検知確認でアクセスし、スキャナ画像処理タスクではスキャナ入力の画像補正用に画像処理パラメータ設定を行うため、2つのタスクで制御が競合する画像処理とする。
【0058】
本実施形態の詳細について説明する。スキャンタスク、プロッタタスクなどの複数のタスクが画像処理デバイスにアクセスする制御に際して、以下の特徴を有する。
【0059】
本実施形態においては、画像処理デバイスアクセスの許可を排他制御の管理をするタスクを用いる。画像処理デバイスへアクセス制御を行う要求元から画像処理デバイスアクセス要求を受け取ると、画像処理デバイスアクセスを管理するタスクは要求の受付とともにスレッドを完了する。
【0060】
画像処理デバイスアクセス要求を出しているタスクにアクセス順番がまわってきたら、画像処理デバイスアクセスを管理するタスクから要求元がスレッドを生成するためのトリガーになる非同期で実行するメッセージを送る。
【0061】
要求元から画像処理デバイスアクセス開放要求を受け取るとスレッドを完了し、要求元からの要求を削除することが特徴になっている。
【0062】
図9は、本発明の一実施形態に係る画像処理デバイス制御タスクとアクセス管理タスクの関係を示す図である。
【0063】
画像処理デバイス305にアクセスするスキャンタスク901とスキャン画像処理タスク902と画像処理デバイスアクセス状況を管理するドライバ管理904、905と、画像処理デバイス305へのアクセス手段のドライバ906、907と画像処理デバイス(DSP)305と、の関係図になる。
【0064】
矢印の方向によって、それぞれの関連と情報のやり取りを示している。
【0065】
画像処理デバイスアクセスを管理するための管理を処理時間に余裕があるタスクAに割り当てる。タスクAの画像処理デバイスアクセス状況管理は制御が競合しない画像処理デバイスを含め全ての画像処理デバイスごとにある。
【0066】
図10は、本発明の実施形態に係るデジタルシグナルプロセッサ(DSP)にアクセスするタスクの制御フローの例を示す図である。
【0067】
デジタルシグナルプロセッサ(DSP)305にアクセスするタスクの制御フローの一例を示したものである。スキャンタスクや、スキャン画像処理タスクの処理フローを示している。
【0068】
各タスク共通である、自タスクが管理するメッセージBOXのメッセージ確認処理1001を行いメッセージBOXにある最初のメッセージ(要求)から順番に処理を実行する。
【0069】
あらかじめスケジューリングされて自タスクの処理の処理時間中にメッセージが全てなくなった場合は、次タスクへ処理を移行させて自タスクの処理を完了する。メッセージを受け取ると必ずタスクはスレッド生成1002をする。生成されたスレッド内で具体的なそのタスクに割り当てられている処理を実行していく。スレッド完了1008で受信したメッセージに対する処理が完結し、次の受信したメッセージの処理に移行する。
【0070】
生成したスレッドでDSP305にアクセス許可が必要な処理1003判断を行い、アクセス許可を行うスレッドである場合は、アクセス状況を管理するタスクに対し、ドライバ管理にアクセス許可をメッセージで通知1004を行いスレッド完了1008をする。
【0071】
DSP305にアクセスをする処理1005である場合は、アクセス状況を管理するタスクからメッセージとともに後述するDSP305へアクセスするために必要な情報を受け取っていて、その情報を用いてドライバ管理から通知されたドライバを用いてDSP305アクセス実行1006を行ってDSP305へリードまたはライトアクセスを行う。
【0072】
DSP305制御とは無関係な処理である場合は、DSP305アクセスしない処理を実行1007、スキャンタスクであれば、例えばスキャナのキャリッジ移動等の処理を行う。
【0073】
図11は、本発明の実施形態に係るデジタルシグナルプロセッサ(DSP)のアクセス状況管理タスクの制御フローの例を示す図である。
【0074】
デジタルシグナルプロセッサ(DSP)305のアクセス状況管理タスクの制御フローの一例を示したものである。
【0075】
図10で説明した各タスク共通の処理である1001、1002、1008は全てのタスクにおいて共通に行われる処理であるため、説明を省略する。タスクは、自タスクが管理するメッセージBOXにあるメッセージによりスレッドを生成し、処理を実行し、スレッドを完了して次のメッセージに対応する処理を実行する。メッセージは、自タスク内や他のタスクからメッセージとして通知されメッセージBOXで管理される。
【0076】
本実施形態においては、DSP305アクセス状況判断は、比較的処理時間に余裕があるタスクの処理に割り当てられるため、本来そのタスクに割り当てられた処理とDSP305アクセス状況判断の2つに分かれる。
【0077】
DSP305のアクセス状況判断スレッド1101の場合、アクセス状況更新1102を行う。アクセス状況更新1102の詳細なフローに関しては図13で説明する。
【0078】
DSP305のアクセス状況判断スレッドでは無い場合、アクセス状況更新しない処理を実行1103して次のスレッドの処理を行う。
【0079】
図12は、本発明の一実施形態に係るアクセス状況管理タスクと情報I/Fとの例を示す図である。
【0080】
DSP305にアクセスするタスクからDSP305のアクセス状況を管理するタスクへは、タスクID、要求ID、R/Wアクセス、優先順位、アクセスのデータ量を設定して、アクセス権ドライバ管理にアクセス許可をメッセージで通知1004を送る。
【0081】
本実施形態では、タスクIDはスキャンタスク:0、スキャナ画像処理タスク1にする。
【0082】
要求IDはアクセス取得と開放で同じ値なら何でも良い値にする。R/Wアクセスはリードアクセスなら0、ライトアクセスなら1を指定する。優先順位は、ランプ切れ検知確認のようにすぐにアクセスしたい要求である場合は高:0を設定し、それ以外の要求であれば通常アクセスである中:1を設定する。
【0083】
アクセスのデータ量はアクセスするデータのサイズで正確な数値がわからない大量のデータアクセスをする場合は上限値(0xFFFF)を設定する。これらの情報を元にDSP305のアクセス状況を管理するタスクは、次にアクセス権を送るタスクを決定する。
【0084】
図13は、本発明の実施形態に係るアクセス状況更新の処理フローの例を示す図である。
【0085】
アクセス状況更新1102の処理フローの一例を示したものである。(a)は複数のタスクでアクセスが競合する場合で、(b)は競合しない場合で、システムの初期化時にどちらかに決まる。
【0086】
本実施形態ではDSP305にアクセスを管理する場合(a)になり、それ以外の画像処理デバイスでは(b)になる。
【0087】
(a)は、アクセス要求に関するメッセージ受信1301している処理で、アクセス許可要求メッセージを受け取った場合、リストの状況判断1302を行う。リストに要求が無い場合はすぐにアクセス許可をメッセージで通知1303を要求したタスクに出して処理が完了する。
【0088】
リストに要求がある場合はDSP305にアクセス中の可能性があるため、リスト最後に保存1304をしてリストにその要求を保存する。アクセス開放要求メッセージを受け取った場合、その要求に対するアクセスが完了したのでリストから削除1305を行う。
【0089】
削除した状態でリストの状況判断1302を行い、まだリストに要求が残っている状態であれば、アクセス待ちをしているタスクに対してリストの先頭の要求に対しアクセス許可をメッセージで通知1306を実行してメッセージを送り処理を完了する。
【0090】
(b)は、アクセス要求を受け取ると、複数のタスクでアクセスが競合していないので、すぐにアクセス許可をメッセージで通知1303を要求したタスクに出して処理が完了する。
【0091】
図14は、本発明の一実施形態に係るデジタルシグナルプロセッサ(DSP)アクセス要求とアクセス状況管理タスクのリスト要素の遷移の例を示す図である。
【0092】
デジタルシグナルプロセッサ(DSP)305アクセス要求とアクセス状況管理タスクのリスト要素の遷移の一例を示したものである。
【0093】
図14は、スキャンタスクとスキャナ画像処理タスクがアクセス要求、アクセス開放要求を行ったときのアクセス管理を行っているドライバ管理層が保持しているリスト内の要素の関係を示している。
【0094】
スキャンタスクからアクセス要求1αを受け取ると、要求がまだ無いため、リストに保存してすぐにスキャンタスクにアクセス許可メッセージを送る。その状態でスキャナ画像処理タスクから要求2βが送られた場合リストに保存し、メッセージは送らない。アクセス権開放要求がきた場合、リストから要求1αを削除し、要求2βを送っているスキャナ画像処理タスクにアクセス許可メッセージを送る。DSP305へアクセスを行いアクセス権開放要求をしてリストから要求2βを削除して初期の何も要求がきていない状態に戻る。
【0095】
(実施例2)
図15は、本発明の一実施形態に係るアクセスの優先順位を考慮したアクセス状況更新の処理フローの例を示す図である。
【0096】
アクセスの優先順位を考慮したアクセス状況更新1102の処理フローの一例を示したものである。図12のアクセス状況管理タスクとの情報I/Fにある優先順位にDSP305にアクセスするタスクは高、中を指定してアクセス状況を管理するタスクでDSP305アクセス要求を送る。
【0097】
アクセス状況管理タスクのアクセス状況更新1102の詳細のフローは図13とほぼ同じで、アクセス開放要求を受け取りリストに要求の要素が存在した場合、リストの順番と優先順位を考慮してアクセス許可をメッセージで通知1501にて、リストの先頭要素から優先順位高の要求を検索し、最初に条件にあった要求に対してアクセス許可メッセージを送る。
【0098】
要素の最後まで優先順位高の要求が無い場合、リストの先頭に戻り今度はアクセスデータ量を検索する。リストの先にあり、アクセスデータ量がある閾値以下の要求に対してアクセス許可メッセージを送る。アクセスデータ量が多く時間がかかるアクセス要求はアクセス許可を出すタイミングを遅らせてアクセスデータ量が少ない処理を優先させる。
【0099】
(実施例3)
図16は、本発明の実施形態に係るリードライトアクセスを考慮したDSPにアクセスするタスクの制御フローの例を示す図である。
【0100】
リードライトアクセスを考慮したデジタルシグナルプロセッサ(DSP)305にアクセスするタスクの制御フローの一例を示したものである。
【0101】
DSP305にアクセスするタスクの制御フローを示していて基本的に図10で説明したフローと同じになる。
【0102】
DSP305にアクセスをする処理1005を受け取ると、図12に示したアクセス状況管理タスクとの情報I/Fにあるドライバ識別子により直接アクセス0か、ディスクリプタアクセス1なのか判断する。
【0103】
直接アクセスの場合、直接アクセス用ドライバを用いてDSP305アクセス実行1602をして今回設定が必要な差分のみ、CPUが直接アクセスできるようにメモリ上のアドレスにマッピングされたDSPのレジスタを示すアドレスに直接設定する。
【0104】
ディスクリプタアクセス用ドライバを用いてDSP305アクセス実行1603の場合、指定されたメモリのアドレスを示すポインタが、図12に示すドライバへのポインタに設定されているので、DSP305を動作させる全ての設定を指定されたメモリのアドレス上に設定する。
【0105】
ディスクリプタを用いたDSP305へのアクセス方法については従来からある技術であるため説明を省略する。
【0106】
図17は、本発明の実施形態に係るリードライトアクセスを考慮したDSPのアクセス状況管理タスク制御フローの例を示す図である。
【0107】
リードライトアクセスを考慮したデジタルシグナルプロセッサ(DSP)305のアクセス状況管理タスクの制御フローの一例を示したものである。
【0108】
(a)のDSP305で複数のタスクで制御が競合する場合は、アクセス許可の順番が回ってきたタスクにメッセージを送る際にリードライドアクセス判断1701を行い、図12に示したドライバ識別子と、ドライバへのポインタに直接アクセスするドライバへのポインタかディスクリプタ用のドライバへのポインタを設定し、直接アクセス用のアクセス許可をメッセージで通知1702かディスクリプタアクセス用のアクセス許可をメッセージで通知1703を実行する。
【0109】
メッセージ受信1301でアクセス開放要求メッセージを受け取ってかつリストに要求の要素がある場合も同じで、リードライドアクセス判断1701を行い、図12に示したドライバ識別子と、ドライバへのポインタに直接アクセスするドライバへのポインタかディスクリプタ用のドライバへのポインタを設定し、リストの先頭の要求に対し直接アクセス用のアクセス許可をメッセージで通知1704かリストの先頭の要求に対しディスクリプタアクセス用のアクセス許可をメッセージで通知1705を実行する。
【0110】
DSPアクセスが複数のタスクで競合しない場合の(b)はリード、ライト要求に関係なく、直接アクセス用のアクセス許可をメッセージで通知1702にて直接アクセス用のドライバを送る。
【0111】
上記の実施形態によれば、μITRON準拠の組込み系ソフトウェアで実装された制御ソフトに対して、複数のタスクによる画像処理デバイスアクセスにおいて、それぞれのタスクごとに割り当てられた時間をそのタスク内のスレッド処理を効率的に実行する、かつ複数のタスクで画像処理デバイス制御において不整合が起きない排他制御を行うことができる。
【0112】
また上記の実施形態によれば、画像処理デバイスからの結果を取得して、その後の処理にフィードバックする処理の画像処理デバイスアクセスを優先させることによって、結果の内容によっては、すぐに停止させないといけないような処理を優先させて実行することができ、いち早くランプ切れのような異常状態の場合ユーザに通知することができる。
【0113】
また上記の実施形態によれば、画像処理デバイスへの設定量によって画像処理デバイスアクセスを優先させることによって、画像データを画像処理デバイスへ送る前に設定する必要がある画像処理パラメータ設定を遅らせ、画像処理デバイス異常検知のような数レジスタアクセスして画像処理デバイスの異常判断する処理を優先させて実行することができ、いち早く画像処理デバイス異常のような異常状態の場合ユーザに通知することができる。
【0114】
また上記の実施形態によれば、画像処理デバイスのアクセス制御が競合している場合、ライト要求に対しては、ディスクリプタ情報を用いたDMA転送し、リード要求に対しては、直接アクセスする。競合していない場合は、ライトとリード要求に対して直接アクセスするように画像処理デバイスの制御の競合状況やライト、リード要求の要求に対してアクセス方法を使い分けることによって複数のタスクで画像処理デバイス制御において不整合が起きない排他制御を行ことができる。なぜならば、画像処理デバイスへのアクセスには制御CPUから直接アクセスと、画像処理デバイスに設定するパラメータをレジスタイメージとしてメモリ中に保持し、保持しているレジスタイメージのアドレスからパラメータに対するディスクリプタ情報を生成し、DMA転送することによって設定するディスクリプタアクセスがあるからである。
【0115】
また上記の実施形態によれば、複数のタスクで画像処理デバイスアクセス制御において競合が起きない排他制御において、アクセス要求が要求された場合、すぐにアクセス許可を送るようにすることによってアクセス要求をする制御ソフトの画像処理デバイスの他のタスクとの競合状態を意識しない共通化することと、排他機構の簡略化をすることができる。
【0116】
また上記の実施形態によれば、画像処理デバイスの競合を防止する排他制御をタスクが処理を実行する占有時間において比較的少ないタスクに割り当てることによってタスクごとの処理を均等化して全体の処理終了を早く完了し高速化することができる。
【0117】
また上記の実施形態によれば、画像処理デバイスはデジタルシグナルプロセッサ(DSP)でリードライトアクセスにおいて決められたプロトコルに従って制御が必要なDSPに対し不整合が起きない排他制御を行うことができる。
【0118】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【0119】
そして、上記実施形態の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ読み取り可能な記録媒体、すなわち記憶メディアを介して、画像処理装置や画像形成装置のコンピュータ(CPUやMPU)が記憶メディアに格納されたプログラムコードを読み出し実行することによっても、本発明の目的は達成される。
【0120】
また、プログラムは、記録メディアを介さず、通信回線を通じて直接にコンピュータにロードし実行することもでき、これによっても同様に本発明の目的は達成される。
【0121】
この場合、記憶メディアから読み出された又は通信回線を通じてロードし実行されたプログラムコード自体が前述の実施形態の機能を実現することになる。そして、そのプログラムコードを記憶した記憶メディアは本発明を構成する。
【0122】
また、プログラムコードを供給するための記憶メディアとしては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、不揮発性のメモリカード、ROM、磁気テープ等を用いることができる。
【0123】
また本発明に係る画像処理デバイス排他制御装置の前記排他制御手段は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求の画像処理内容と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする。
【0124】
また本発明に係る画像処理デバイス排他制御装置の前記排他制御手段は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求のアクセス量と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする。
【0125】
また本発明に係る画像処理デバイス排他制御装置の前記排他制御手段は、前記画像処理デバイスアクセスを要求するタスクに対して通知する前記メッセージ送信の内容を、ライト要求とリード要求と画像処理デバイスの複数のタスクによる制御の競合状態と、に基づいて切り替えることを特徴とする。
【0126】
また本発明に係る画像処理デバイス排他制御装置の前記排他制御手段は、前記画像処理デバイスアクセスが1以上のタスクの処理で競合しない画像処理デバイスに割り当てられている場合、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージの内容を、画像処理デバイスへのアクセス要求をしている要求状況情報に基づかないで無条件にアクセス許可を通知することを特徴とする。
【0127】
また本発明に係る画像処理デバイス排他制御装置の前記排他制御手段は、前記画像処理デバイスアクセスを実行させる場合、そのタスクが処理を実行する占有時間が少ないタスクに優先して割り当てることを特徴とする。
【0128】
また本発明に係る画像処理デバイス排他制御装置の前記画像処理デバイスは、デジタルシグナルプロセッサ(DSP)であることを特徴とする。
【0129】
また本発明に係る画像処理デバイス排他制御方法の前記排他制御工程は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求の画像処理内容と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする。
【0130】
また本発明に係る画像処理デバイス排他制御方法の前記排他制御工程は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求のアクセス量と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする。
【0131】
また本発明に係る画像処理デバイス排他制御方法の前記排他制御工程は、前記画像処理デバイスアクセスを要求するタスクに対して通知する前記メッセージ送信の内容を、ライト要求とリード要求と画像処理デバイスの複数のタスクによる制御の競合状態と、に基づいて切り替えることを特徴とする。
【0132】
また本発明に係る画像処理デバイス排他制御方法の前記排他制御工程は、前記画像処理デバイスアクセスが1以上のタスクの処理で競合しない画像処理デバイスに割り当てられている場合、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージの内容を、画像処理デバイスへのアクセス要求をしている要求状況情報に基づかないで無条件にアクセス許可を通知することを特徴とする。
【0133】
また本発明に係る画像処理デバイス排他制御方法の前記排他制御工程は、前記画像処理デバイスアクセスを実行させる場合、そのタスクが処理を実行する占有時間が少ないタスクに優先して割り当てることを特徴とする。
【産業上の利用可能性】
【0134】
本発明によれば、デジタル複合機(MFP)、画像処理装置、画像形成装置及びプロセッサの制御方法や制御プログラム、画像処理デバイスの制御方法や制御プログラムなどの用途に適用できる。
【符号の説明】
【0135】
301 スキャナCCD
302 プリンタ
303 パワーサプライユニット(PSU)
304 エンジン部:イメージプロセッシングユニット(IPU)
305 デジタルシグナルプロセッサ(DSP)
306 ハードウェア(ASIC)
307 コントローラ部
308 一次記憶装置
309 プリンタ出力画像補正:デジタルシグナルプロセッサ(DSP)
310 CPU
311 CPU
602 上位の制御装置
603 画像処理制御装置
801 シェーディング補正
802 フィルタ補正
803 色変換処理
804 γ処理
805 階調処理
901 スキャンタスク
902 スキャン画像処理タスク
904、905 ドライバ管理
906、907 アクセス手段のドライバ
【先行技術文献】
【特許文献】
【0136】
【特許文献1】特開2004−127039号公報
【技術分野】
【0001】
本発明は、画像処理デバイスアクセス要求が競合する画像処理デバイス制御に関し、特に画像処理デバイスごとに画像処理デバイスアクセスの競合を防止する排他制御に関する。
【背景技術】
【0002】
CCD(Charg Coupled Device)光電変換素子からなるラインセンサを用いた読み取り装置や、レーザー照射によるトナー書き込み装置の発展により、アナログ複写機からデジタル化された画像データにてコピーを作成するデジタル複写機が登場した。
【0003】
デジタル複写機となってからは、デジタル画像データを扱う他の装置との親和性が高まり、複写機としての機能だけでなく、ファクシミリ機能、プリンタ機能、スキャナ機能等、いろいろな機能と複合し、単なるデジタル複写機ではなく、デジタル複合機(MFP:Multifunction Peripheral)と呼ばれるようになった。
【0004】
HDDドライブ等メモリの大容量化・低コスト化、ネットワーク等通信技術の高速化や普及、CPU(Central Processing Unit)の処理能力の向上、デジタル画像データに関連する技術(圧縮技術等)等々、MFPに関連する技術の進化に伴い、MFPに搭載される機能も多種・多様化してきている。
【0005】
またMFPの使われ方も多種・多様化してきている。例えばPCの横にペアで設置され、操作者が手軽に複写機・ファクシミリ・プリンター・スキャナの機能を使用することができる小型MFPと呼ばれる物。部署や課単位の複数名で共有され、ある程度の生産性やソート・パンチ・ステープル等の機能が使用できる中型MFPと呼ばれる物。企業の中で複写関連業務を集中して行なう部署、もしくは複写関連業務そのものを生業とする会社などでは、高生産性・高品位で、多機能な大型MFPと呼ばれる物が使用されている。
【0006】
このように、小型から大型まで多様化してきているMFPは、各クラスに亘って共有できる機能も存在するが、そのクラスごとに要求が強い機能も存在する。例えば大型MFPではパンチ・ステープル・紙折り等、プロット後の紙に対する後加工や、複写業務と同時に電子ファイリング化すること等が求められ、小型MFPではインターネットFAXやPC−FAX等の充実や、パーソナル的な使用目的として、専用紙に対する高品位画像印刷等が求められている。
【0007】
このように多種・多様化してきているMFP市場に対して、従来は各クラスに必要な機能をセットにしたシステムを構築し、販売・提供していた。
【0008】
また、ビジネスにおける情報価値の重要性は既に認知されており、情報を早く・正確に・確実に伝えるだけでなく、分かりやすく・効果的に伝えることも要求されている。そして通信技術の高速化/普及化・メモリの大容量化/低コスト化/小型化・PCの高性能化にともない、デジタルデータを利用した情報を効率的にあつかう新しい機能が提供されてきており、デジタルデータの一部であるデジタル画像データを扱うMFPにも、新機能の提供や融合が望まれてきている。
【0009】
さらに製品も多機能化してきており、多くの要求を操作部で設定可能になり、その多くの要求を制御する画像処理制御装置が必要になってきた。また、従来のハードウェア(ASIC)に比べデジタルシグナルプロセッサ(DSP:デジタルシグナルプロセッサ)はプログラムやデータを入れ替えることによってさまざまな画像処理を実現可能にするものである。しかし、画像処理のバリエーションが増えた一方、そのDSPを制御する制御装置は煩雑になってしまう。さらに、仕様変更が容易に行なえるので画像処理制御は多々発生が予想される仕様変更に対し、早急にかつ確実に対応していかなければならなくなってきた。
【0010】
そして、操作部からのさまざまな要求を満たす画像処理制御装置だけではなく、柔軟に仕様変更に対応できることが望まれている。ただし、DSPはASICに比べ高価であるので、変更があまり起こらないような画像処理に対してはASICで画像処理を実現している。このように画像処理を実現するデバイスも用途によって選択、あるいは両立するので、その制御装置が必要になっている。
【0011】
そこで、μITRON(Micro Industrial TRON)準拠の組込み系ソフトウェアの問題領域において複数のタスクから画像処理デバイスをアクセスする必要ができ排他制御が必要になっている。しかし、既存のRTOS(Real−time operating system)のセマフォやPC上で動作する一般的なアプリケーションにおける排他制御を適用すると、他のタスクの動作を止めたり、タスクごとに割り当てられた時間に対してタスク間のやり取りが発生して画像処理デバイスにアクセスするタスクで待ちが発生するという問題があった。従って、タスクに割り当てられた時間に対して画像処理デバイスをアクセスするタスクは最小単位の処理(以下スレッド)を実行に対し出来るだけ待ちが発生しない排他方式が必要になる。
【0012】
また、組込み系ソフトウェアは複数のタスクを起動し、時分割でタスクごとに割り当てられた優先順位に従って実行されていることや、1タスクは1スレッドごとに処理されることや、タスク間はメモリを共有できないため、情報のやり取りは同期/非同期のタスク間通信をすることはμITRONの仕様として既に知られている。
【0013】
しかし、今までのμITRON準拠の組込み系ソフトウェアにおける画像処理デバイス制御においては、複数のタスクによる画像処理デバイスアクセスにおいて、不整合が起きないようにセマフォ(Semaphore)管理を行っていた。この方法では先に画像処理デバイスへアクセスを開始したタスクが画像処理デバイス制御を独占してその制御を実行している間は他のタスクに処理が切り替わることがなくなり他のタスクの実行を止めてしまうため、画像処理デバイス制御が完了しないと他のタスクの制御を実行することができず、すぐに処理をする必要があるタスク内の処理実行が遅れるという問題があった。
【0014】
例えば特許文献1においては、タスク排他制御方法及びタスク排他制御装置の発明が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0015】
しかし特許文献1に記載されている方法では、図1に示すように、タスク1が優先度をあげるとタスク1に割り当てられた時間に関係なく優先度を元に戻すまで処理を占有し続けるという問題がある。また、タスク2のスレッド2−1の処理は大幅にずらされる。特に画像処理デバイスアクセス実行で設定する量によりタスク1が処理を占有する時間が増加するという問題がある。
【0016】
図1は、2つのタスクでタスク2の処理が遅れる例を示すが、実際のMFPは約50〜60タスクあり、制御が他のタスクと競合する画像処理デバイスアクセスをするタスク数や設定量に比例して次に行うタスクのスレッド実行が遅れるという問題がある。
【0017】
そこで図2に示すような、タスク内のスレッド処理が必要となる。画像処デバイスへアクセスする排他機構管理を設けスレッドの完了、生成のトリガーを送る管理を行う。画像処理デバイスにアクセスするタスクは画像処理デバイスアクセス許可、画像処理デバイスアクセス許可後のアクセスとスレッド処理を分割する。画像処理デバイスにアクセス許可を通知し次に要求されているスレッド処理に移行する。従って、タスクのスレッド管理は優先順位が無く受け付けた順番に処理を実行するため簡略化できる。また、スレッドに優先順位の概念が無いため画像処理デバイスをアクセスするタスク側のスレッド管理機構が簡略化できる。さらに、画像処理デバイスの状態に応じて画像処理デバイスを管理するタスクは画像処理デバイスアクセス要求を出すタスクを含め他のタスクに対して送るメッセージの内容を切り替えることが可能となる。
【0018】
そこで本発明は、上記問題点に鑑みてなされたもので、画像処理デバイス制御において不整合が起きない排他制御を行うことを目的とする。
【課題を解決するための手段】
【0019】
上記課題を解決するため、本発明に係る画像処理デバイス排他制御装置は、1以上のタスクで画像データに対して画像処理を行う画像処理デバイスへのアクセス要求が競合する場合の画像処理デバイス制御であって、1以上のタスクからアクセスされる、デジタル画像データに対して画像処理を行う画像処理デバイスと、画像処理デバイスへのアクセスを制御する画像処理デバイス制御手段と、1スレッドを実行するタスク単位で、複数のタスクを非同期で実行するCPUと、1以上のタスクで前記画像処理デバイス制御手段による画像処理デバイスアクセス要求が競合する場合に、前記画像処理デバイスごとに画像処理デバイスアクセスの競合を防止する排他制御手段と、を有し、排他制御手段は、画像処理デバイスアクセスを要求するタスクのスレッドの管理を行ない、画像処理デバイスアクセス要求時にスレッドを完了し、画像処理デバイスアクセスが可能になった場合には画像処理デバイスアクセスを要求するタスクに対して画像処理デバイスアクセス許可を通知し、画像処理デバイスアクセスを要求するタスクのスレッドを生成させて、画像処理デバイスアクセスを実行することを特徴とする。
【0020】
また本発明に係る画像処理デバイス排他制御方法は、1以上のタスクで画像データに対して画像処理を行う画像処理デバイスへのアクセス要求が競合する場合の画像処理デバイス制御の制御方法であって、1以上のタスクからアクセスされる、デジタル画像データに対して画像処理を行う画像処理デバイスへのアクセスを制御する画像処理デバイス制御工程と、1スレッドを実行するタスク単位で、複数のタスクを非同期で実行するCPU工程と、1以上のタスクで画像処理デバイス制御工程による画像処理デバイスアクセス要求が競合する場合に、画像処理デバイスごとに画像処理デバイスアクセスの競合を防止する排他制御工程と、を有し、排他制御工程は、画像処理デバイスアクセスを要求するタスクのスレッドの管理を行なう工程と、画像処理デバイスアクセス要求時にスレッドを完了する工程と、画像処理デバイスアクセスが可能になった場合には画像処理デバイスアクセスを要求するタスクに対して画像処理デバイスアクセス許可を通知する工程と、画像処理デバイスアクセスを要求するタスクのスレッドを生成させる工程と、画像処理デバイスアクセスを実行する工程と、を有することを特徴とする。
【0021】
また本発明に係るプログラムは、上記に記載の画像処理デバイス排他制御方法をコンピュータに実行させることを特徴とする。
【0022】
また本発明に係る記録媒体は、上記に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
【発明の効果】
【0023】
本発明により、画像処理デバイス制御において不整合が起きない排他制御を行うことが可能になる。
【図面の簡単な説明】
【0024】
【図1】従来の制御方法による問題点を示した図である。
【図2】本発明の実施形態に係るタスク内のスレッド処理の関係を示した図である。
【図3】本発明の実施形態に係るイメージプロセッシングユニット(IPU)の例を示す図である。
【図4】本発明の実施形態に係るイメージプロセッシングユニット(IPU)における画像データの流れを示す図である。
【図5】本発明の実施形態に係るアプリケーションと用いる画像データパスを示す図である。
【図6】本発明の実施形態に係るコントローラ部のCPUの制御装置と上位の制御装置と画像処理制御装置の関係を示す図である。
【図7】本発明の実施形態に係る上位の制御装置と画像処理制御装置の呼び出しタイミングの例を示す図である。
【図8】本発明の実施形態に係るデジタルシグナルプロセッサ(DSP)とハードウェア内の画像処理モジュールの例を示す図である。
【図9】本発明の実施形態に係る画像処理デバイス制御タスクとアクセス管理タスクの関係を示す図である。
【図10】本発明の実施形態に係るデジタルシグナルプロセッサ(DSP)にアクセスするタスクの制御フローの例を示す図である。
【図11】本発明の実施形態に係るデジタルシグナルプロセッサ(DSP)のアクセス状況管理タスクの制御フローの例を示す図である。
【図12】本発明の実施形態に係るアクセス状況管理タスクと情報I/Fとの例を示す図である。
【図13】本発明の実施形態に係るアクセス状況更新の処理フローの例を示す図である。
【図14】本発明の実施形態に係るデジタルシグナルプロセッサ(DSP)アクセス要求とアクセス状況管理タスクのリスト要素の遷移の例を示す図である。
【図15】本発明の実施形態に係るアクセスの優先順位を考慮したアクセス状況更新の処理フローの例を示す図である。
【図16】本発明の実施形態に係るリードライトアクセスを考慮したDSPにアクセスするタスクの制御フローの例を示す図である。
【図17】本発明の実施形態に係るリードライトアクセスを考慮したDSPのアクセス状況管理タスク制御フローの例を示す図である。
【発明を実施するための形態】
【0025】
本発明の好適な実施の形態について以下に図等を参照して説明する。
【0026】
(実施例1)
図3は、本発明の一実施形態に係るイメージプロセッシングユニット(IPU)の例を示す図である。
【0027】
画像処理デバイスに、スキャナCCD301のランプが切れているかの確認やスキャナ画像補正を行うためのデジタルシグナルプロセッサ(DSP)305とハードウェア(ASIC)306と、プリンタ出力画像補正309とを適用した例である。
【0028】
なお、本実施形態において画像処理デバイスをアクセスする制御ソフトである画像制御装置703の制御対象は、このデジタルシグナルプロセッサ(DSP)305と309とハードウェア(ASIC)306であり、パワーサプライユニット(PSU)303や一次記憶装置308への画像の転送や、画像データの画像処理デバイス305と306と309への入出力のタイミングを管理するのはMFPシステム内に組み込まれている後述する上位の制御装置602になる。
【0029】
この上位の制御装置602と画像処理制御装置603はエンジン部(IPU)304の画像処理デバイスやスキャナCCD301やプリンタ302やPSU303を制御するCPU310内に組み込まれたソフトウェアを示している。
【0030】
上位の制御装置602や画像処理制御装置603は複数のタスクを起動しディスパッチにより割り当てられた時間に対し処理を切り替えて実行するCPU310内で起動されるタスクで、別のタスクに割り当てられている。
【0031】
画像制御装置603は、デジタルシグナルプロセッサ(DSP)305と309と、ハードウェア(ASIC)306へ画像データを送り画像処理が開始される前までに最適な画像処理が画像処理デバイス305と306と309内で行えるように画像処理パラメータを設定することである。
【0032】
図4は、本発明の一実施形態に係るイメージプロセッシングユニット(IPU)における画像データの流れを示す図である。
【0033】
本実施形態におけるMFPシステムでは、使用可能なアプリケーションとしてコピー、スキャナ、FAX(送信、受信)、プリントの4種類があり、それぞれの画像データの流れを示す。
【0034】
図5は、本発明の一実施形態に係る、それぞれのアプリケーションと用いる画像データパスを示す図である。
【0035】
図4と図5に示すように、コピーは、スキャナCCD301から画像処理デバイスであるデジタルシグナルプロセッサ(DSP)305とハードウェア306でスキャナ入力の画像に対する補正処理を行い、コントローラ部307に送られる。
【0036】
その後コントローラ部307から再びIPU304に画像データが送られ、画像処理デバイスであるデジタルシグナルプロセッサ309でプリンタ出力の画像に対する補正処理を行いプリンタ302へ画像データが送られて紙出力される。
【0037】
スキャナ、FAX(送信)は、基本的にコピーのAの画像データパスになり、デジタルシグナルプロセッサ(DSP)305とハードウェア306で画像処理された画像データはコントローラ部307へ送られ、ローカルエリアネットワークLAN等のネットワークで接続されたクライアントPCやプリンタへ送信される。
【0038】
プリンタ、FAX(受信)は、Bのコントローラ部307からデジタルシグナルプロセッサ(DSP)309でプリンタ出力の画像に対する補正処理を行いプリンタ302へ画像データが送られて紙出力される。
【0039】
図6は、本発明の一実施形態に係るコントローラ部のCPUの制御装置と上位の制御装置と画像処理制御装置の関係を示す図である。
【0040】
コントローラ部307のCPU311の制御装置と上位の制御装置602と画像処理制御装置603の関係を示したものである。画像処理制御装置603は、コントローラ部307にある操作画面部(ユーザインターフェース)のユーザが指定する情報を上位の制御装置602を経由して送られる。
【0041】
上位の制御装置602から送られてきたユーザが指定する情報(原稿モードや変倍率や濃さ設定等)を受け取り制御対象である画像処理デバイスのデジタルシグナルプロセッサ(DSP)305や309にプログラムやデータを、ハードウェア(ASIC)306にデータをダウンロードすることによって、ユーザに最適な画像を出力するように画像処理パラメータの設定を制御する。
【0042】
上位の制御装置602は操作画面から設定されるユーザ情報を送ることと、画像処理制御装置603が処理を実装するための読み出しタイミングを制御する。
【0043】
画像処理制御装置603は読み出された事をトリガーにして呼び出された要求に従って処理を切り替える。
【0044】
図7は、本発明の一実施形態に係る上位の制御装置と画像処理制御装置の呼び出しタイミングの例を示す図である。
【0045】
上位の制御装置602と画像処理制御装置603の呼び出しタイミングの例を示したものである。
【0046】
図7に示したように、上位の制御装置602はタスクごとに分割され、スキャナ入力やプロッタ出力に画像処理が必要になる設定を画像処理制御装置603が行っているため、設定の要求元はスキャンプロセスとプロッタプロセスの2つのプロセスになる。
【0047】
本実施形態におけるMFPのIPU構成では、スキャンとプロッタで別の画像処理デバイスで処理を行うため、図7に示したように要求タイミングが重なることがある。
【0048】
画像処理制御装置603は1画像処理の単位をプロセスとして管理していて、計算要求、設定要求、終了設定要求で1プロセス内の制御動作が完了する。
【0049】
計算要求は、画像処理パラメータを計算し画像処理デバイスに設定する画像処理パラメータを保持する。設定要求で、あらかじめ計算されて保持された画像処理パラメータの内容を画像処理デバイスに設定する。
【0050】
終了設定要求では、保持した計算結果の開放等のメモリリークが起きないように後処理を実施する。
【0051】
スキャンプロセスは、画像処理デバイスが画像処理を開始する前までに計算要求と設定要求を送り画像処理デバイスが画像処理実行可能な状態にし、画像データを画像処理デバイスに送り画像処理を実行させ、終了設定要求を送り画像処理制御装置603の1プロセス制御を完了させる。
【0052】
本実施形態では、スキャンタスク、スキャンタスクから呼び出されて処理をするスキャナ画像処理タスク、プロッタタスク、プロッタタスクから呼び出されて処理をするプロッタ画像処理タスクが、画像処理デバイスにアクセス制御を行い、画像処理デバイス排他制御が、動作するタスクへ画像処理デバイスアクセス許可を送るタスクになる。画像処理デバイス排他制御装置は別タスクでの処理となる。
【0053】
図8は、本発明の一実施形態に係るデジタルシグナルプロセッサ(DSP)とハードウェア内の画像処理モジュールの例を示す図である。
【0054】
デジタルシグナルプロセッサ(DSP)305と309とハードウェア(ASIC)306内の画像処理モジュールの一例を示したものである。本実施形態におけるMFPシステムのIPUに実装されている画像処理デバイスであるデジタルシグナルプロセッサ(DSP)305と309とハードウェア(ASIC)306内の画像処理内容を示した図である。
【0055】
デジタルシグナルプロセッサ(DSP)305とハードウェア(ASIC)309はスキャナCCD301入力の画像データを補正するためシェーディング補正801、フィルタ処理802、色変換処理803が実装されている。
【0056】
デジタルシグナルプロセッサ(DSP)309はプリンタ302のための画像処理であり、プリンタ特性に合わせたγ処理804と階調処理805により入力と出力に要求される階調数が異なるため階調変換を行う。
【0057】
本実施形態では画像処理制御装置が制御する対象モジュールはこの5つの画像処理モジュールとする。また、デジタルシグナルプロセッサ(DSP)305内のシェーディング補正処理801は、スキャンタスクでランプ切れ検知確認でアクセスし、スキャナ画像処理タスクではスキャナ入力の画像補正用に画像処理パラメータ設定を行うため、2つのタスクで制御が競合する画像処理とする。
【0058】
本実施形態の詳細について説明する。スキャンタスク、プロッタタスクなどの複数のタスクが画像処理デバイスにアクセスする制御に際して、以下の特徴を有する。
【0059】
本実施形態においては、画像処理デバイスアクセスの許可を排他制御の管理をするタスクを用いる。画像処理デバイスへアクセス制御を行う要求元から画像処理デバイスアクセス要求を受け取ると、画像処理デバイスアクセスを管理するタスクは要求の受付とともにスレッドを完了する。
【0060】
画像処理デバイスアクセス要求を出しているタスクにアクセス順番がまわってきたら、画像処理デバイスアクセスを管理するタスクから要求元がスレッドを生成するためのトリガーになる非同期で実行するメッセージを送る。
【0061】
要求元から画像処理デバイスアクセス開放要求を受け取るとスレッドを完了し、要求元からの要求を削除することが特徴になっている。
【0062】
図9は、本発明の一実施形態に係る画像処理デバイス制御タスクとアクセス管理タスクの関係を示す図である。
【0063】
画像処理デバイス305にアクセスするスキャンタスク901とスキャン画像処理タスク902と画像処理デバイスアクセス状況を管理するドライバ管理904、905と、画像処理デバイス305へのアクセス手段のドライバ906、907と画像処理デバイス(DSP)305と、の関係図になる。
【0064】
矢印の方向によって、それぞれの関連と情報のやり取りを示している。
【0065】
画像処理デバイスアクセスを管理するための管理を処理時間に余裕があるタスクAに割り当てる。タスクAの画像処理デバイスアクセス状況管理は制御が競合しない画像処理デバイスを含め全ての画像処理デバイスごとにある。
【0066】
図10は、本発明の実施形態に係るデジタルシグナルプロセッサ(DSP)にアクセスするタスクの制御フローの例を示す図である。
【0067】
デジタルシグナルプロセッサ(DSP)305にアクセスするタスクの制御フローの一例を示したものである。スキャンタスクや、スキャン画像処理タスクの処理フローを示している。
【0068】
各タスク共通である、自タスクが管理するメッセージBOXのメッセージ確認処理1001を行いメッセージBOXにある最初のメッセージ(要求)から順番に処理を実行する。
【0069】
あらかじめスケジューリングされて自タスクの処理の処理時間中にメッセージが全てなくなった場合は、次タスクへ処理を移行させて自タスクの処理を完了する。メッセージを受け取ると必ずタスクはスレッド生成1002をする。生成されたスレッド内で具体的なそのタスクに割り当てられている処理を実行していく。スレッド完了1008で受信したメッセージに対する処理が完結し、次の受信したメッセージの処理に移行する。
【0070】
生成したスレッドでDSP305にアクセス許可が必要な処理1003判断を行い、アクセス許可を行うスレッドである場合は、アクセス状況を管理するタスクに対し、ドライバ管理にアクセス許可をメッセージで通知1004を行いスレッド完了1008をする。
【0071】
DSP305にアクセスをする処理1005である場合は、アクセス状況を管理するタスクからメッセージとともに後述するDSP305へアクセスするために必要な情報を受け取っていて、その情報を用いてドライバ管理から通知されたドライバを用いてDSP305アクセス実行1006を行ってDSP305へリードまたはライトアクセスを行う。
【0072】
DSP305制御とは無関係な処理である場合は、DSP305アクセスしない処理を実行1007、スキャンタスクであれば、例えばスキャナのキャリッジ移動等の処理を行う。
【0073】
図11は、本発明の実施形態に係るデジタルシグナルプロセッサ(DSP)のアクセス状況管理タスクの制御フローの例を示す図である。
【0074】
デジタルシグナルプロセッサ(DSP)305のアクセス状況管理タスクの制御フローの一例を示したものである。
【0075】
図10で説明した各タスク共通の処理である1001、1002、1008は全てのタスクにおいて共通に行われる処理であるため、説明を省略する。タスクは、自タスクが管理するメッセージBOXにあるメッセージによりスレッドを生成し、処理を実行し、スレッドを完了して次のメッセージに対応する処理を実行する。メッセージは、自タスク内や他のタスクからメッセージとして通知されメッセージBOXで管理される。
【0076】
本実施形態においては、DSP305アクセス状況判断は、比較的処理時間に余裕があるタスクの処理に割り当てられるため、本来そのタスクに割り当てられた処理とDSP305アクセス状況判断の2つに分かれる。
【0077】
DSP305のアクセス状況判断スレッド1101の場合、アクセス状況更新1102を行う。アクセス状況更新1102の詳細なフローに関しては図13で説明する。
【0078】
DSP305のアクセス状況判断スレッドでは無い場合、アクセス状況更新しない処理を実行1103して次のスレッドの処理を行う。
【0079】
図12は、本発明の一実施形態に係るアクセス状況管理タスクと情報I/Fとの例を示す図である。
【0080】
DSP305にアクセスするタスクからDSP305のアクセス状況を管理するタスクへは、タスクID、要求ID、R/Wアクセス、優先順位、アクセスのデータ量を設定して、アクセス権ドライバ管理にアクセス許可をメッセージで通知1004を送る。
【0081】
本実施形態では、タスクIDはスキャンタスク:0、スキャナ画像処理タスク1にする。
【0082】
要求IDはアクセス取得と開放で同じ値なら何でも良い値にする。R/Wアクセスはリードアクセスなら0、ライトアクセスなら1を指定する。優先順位は、ランプ切れ検知確認のようにすぐにアクセスしたい要求である場合は高:0を設定し、それ以外の要求であれば通常アクセスである中:1を設定する。
【0083】
アクセスのデータ量はアクセスするデータのサイズで正確な数値がわからない大量のデータアクセスをする場合は上限値(0xFFFF)を設定する。これらの情報を元にDSP305のアクセス状況を管理するタスクは、次にアクセス権を送るタスクを決定する。
【0084】
図13は、本発明の実施形態に係るアクセス状況更新の処理フローの例を示す図である。
【0085】
アクセス状況更新1102の処理フローの一例を示したものである。(a)は複数のタスクでアクセスが競合する場合で、(b)は競合しない場合で、システムの初期化時にどちらかに決まる。
【0086】
本実施形態ではDSP305にアクセスを管理する場合(a)になり、それ以外の画像処理デバイスでは(b)になる。
【0087】
(a)は、アクセス要求に関するメッセージ受信1301している処理で、アクセス許可要求メッセージを受け取った場合、リストの状況判断1302を行う。リストに要求が無い場合はすぐにアクセス許可をメッセージで通知1303を要求したタスクに出して処理が完了する。
【0088】
リストに要求がある場合はDSP305にアクセス中の可能性があるため、リスト最後に保存1304をしてリストにその要求を保存する。アクセス開放要求メッセージを受け取った場合、その要求に対するアクセスが完了したのでリストから削除1305を行う。
【0089】
削除した状態でリストの状況判断1302を行い、まだリストに要求が残っている状態であれば、アクセス待ちをしているタスクに対してリストの先頭の要求に対しアクセス許可をメッセージで通知1306を実行してメッセージを送り処理を完了する。
【0090】
(b)は、アクセス要求を受け取ると、複数のタスクでアクセスが競合していないので、すぐにアクセス許可をメッセージで通知1303を要求したタスクに出して処理が完了する。
【0091】
図14は、本発明の一実施形態に係るデジタルシグナルプロセッサ(DSP)アクセス要求とアクセス状況管理タスクのリスト要素の遷移の例を示す図である。
【0092】
デジタルシグナルプロセッサ(DSP)305アクセス要求とアクセス状況管理タスクのリスト要素の遷移の一例を示したものである。
【0093】
図14は、スキャンタスクとスキャナ画像処理タスクがアクセス要求、アクセス開放要求を行ったときのアクセス管理を行っているドライバ管理層が保持しているリスト内の要素の関係を示している。
【0094】
スキャンタスクからアクセス要求1αを受け取ると、要求がまだ無いため、リストに保存してすぐにスキャンタスクにアクセス許可メッセージを送る。その状態でスキャナ画像処理タスクから要求2βが送られた場合リストに保存し、メッセージは送らない。アクセス権開放要求がきた場合、リストから要求1αを削除し、要求2βを送っているスキャナ画像処理タスクにアクセス許可メッセージを送る。DSP305へアクセスを行いアクセス権開放要求をしてリストから要求2βを削除して初期の何も要求がきていない状態に戻る。
【0095】
(実施例2)
図15は、本発明の一実施形態に係るアクセスの優先順位を考慮したアクセス状況更新の処理フローの例を示す図である。
【0096】
アクセスの優先順位を考慮したアクセス状況更新1102の処理フローの一例を示したものである。図12のアクセス状況管理タスクとの情報I/Fにある優先順位にDSP305にアクセスするタスクは高、中を指定してアクセス状況を管理するタスクでDSP305アクセス要求を送る。
【0097】
アクセス状況管理タスクのアクセス状況更新1102の詳細のフローは図13とほぼ同じで、アクセス開放要求を受け取りリストに要求の要素が存在した場合、リストの順番と優先順位を考慮してアクセス許可をメッセージで通知1501にて、リストの先頭要素から優先順位高の要求を検索し、最初に条件にあった要求に対してアクセス許可メッセージを送る。
【0098】
要素の最後まで優先順位高の要求が無い場合、リストの先頭に戻り今度はアクセスデータ量を検索する。リストの先にあり、アクセスデータ量がある閾値以下の要求に対してアクセス許可メッセージを送る。アクセスデータ量が多く時間がかかるアクセス要求はアクセス許可を出すタイミングを遅らせてアクセスデータ量が少ない処理を優先させる。
【0099】
(実施例3)
図16は、本発明の実施形態に係るリードライトアクセスを考慮したDSPにアクセスするタスクの制御フローの例を示す図である。
【0100】
リードライトアクセスを考慮したデジタルシグナルプロセッサ(DSP)305にアクセスするタスクの制御フローの一例を示したものである。
【0101】
DSP305にアクセスするタスクの制御フローを示していて基本的に図10で説明したフローと同じになる。
【0102】
DSP305にアクセスをする処理1005を受け取ると、図12に示したアクセス状況管理タスクとの情報I/Fにあるドライバ識別子により直接アクセス0か、ディスクリプタアクセス1なのか判断する。
【0103】
直接アクセスの場合、直接アクセス用ドライバを用いてDSP305アクセス実行1602をして今回設定が必要な差分のみ、CPUが直接アクセスできるようにメモリ上のアドレスにマッピングされたDSPのレジスタを示すアドレスに直接設定する。
【0104】
ディスクリプタアクセス用ドライバを用いてDSP305アクセス実行1603の場合、指定されたメモリのアドレスを示すポインタが、図12に示すドライバへのポインタに設定されているので、DSP305を動作させる全ての設定を指定されたメモリのアドレス上に設定する。
【0105】
ディスクリプタを用いたDSP305へのアクセス方法については従来からある技術であるため説明を省略する。
【0106】
図17は、本発明の実施形態に係るリードライトアクセスを考慮したDSPのアクセス状況管理タスク制御フローの例を示す図である。
【0107】
リードライトアクセスを考慮したデジタルシグナルプロセッサ(DSP)305のアクセス状況管理タスクの制御フローの一例を示したものである。
【0108】
(a)のDSP305で複数のタスクで制御が競合する場合は、アクセス許可の順番が回ってきたタスクにメッセージを送る際にリードライドアクセス判断1701を行い、図12に示したドライバ識別子と、ドライバへのポインタに直接アクセスするドライバへのポインタかディスクリプタ用のドライバへのポインタを設定し、直接アクセス用のアクセス許可をメッセージで通知1702かディスクリプタアクセス用のアクセス許可をメッセージで通知1703を実行する。
【0109】
メッセージ受信1301でアクセス開放要求メッセージを受け取ってかつリストに要求の要素がある場合も同じで、リードライドアクセス判断1701を行い、図12に示したドライバ識別子と、ドライバへのポインタに直接アクセスするドライバへのポインタかディスクリプタ用のドライバへのポインタを設定し、リストの先頭の要求に対し直接アクセス用のアクセス許可をメッセージで通知1704かリストの先頭の要求に対しディスクリプタアクセス用のアクセス許可をメッセージで通知1705を実行する。
【0110】
DSPアクセスが複数のタスクで競合しない場合の(b)はリード、ライト要求に関係なく、直接アクセス用のアクセス許可をメッセージで通知1702にて直接アクセス用のドライバを送る。
【0111】
上記の実施形態によれば、μITRON準拠の組込み系ソフトウェアで実装された制御ソフトに対して、複数のタスクによる画像処理デバイスアクセスにおいて、それぞれのタスクごとに割り当てられた時間をそのタスク内のスレッド処理を効率的に実行する、かつ複数のタスクで画像処理デバイス制御において不整合が起きない排他制御を行うことができる。
【0112】
また上記の実施形態によれば、画像処理デバイスからの結果を取得して、その後の処理にフィードバックする処理の画像処理デバイスアクセスを優先させることによって、結果の内容によっては、すぐに停止させないといけないような処理を優先させて実行することができ、いち早くランプ切れのような異常状態の場合ユーザに通知することができる。
【0113】
また上記の実施形態によれば、画像処理デバイスへの設定量によって画像処理デバイスアクセスを優先させることによって、画像データを画像処理デバイスへ送る前に設定する必要がある画像処理パラメータ設定を遅らせ、画像処理デバイス異常検知のような数レジスタアクセスして画像処理デバイスの異常判断する処理を優先させて実行することができ、いち早く画像処理デバイス異常のような異常状態の場合ユーザに通知することができる。
【0114】
また上記の実施形態によれば、画像処理デバイスのアクセス制御が競合している場合、ライト要求に対しては、ディスクリプタ情報を用いたDMA転送し、リード要求に対しては、直接アクセスする。競合していない場合は、ライトとリード要求に対して直接アクセスするように画像処理デバイスの制御の競合状況やライト、リード要求の要求に対してアクセス方法を使い分けることによって複数のタスクで画像処理デバイス制御において不整合が起きない排他制御を行ことができる。なぜならば、画像処理デバイスへのアクセスには制御CPUから直接アクセスと、画像処理デバイスに設定するパラメータをレジスタイメージとしてメモリ中に保持し、保持しているレジスタイメージのアドレスからパラメータに対するディスクリプタ情報を生成し、DMA転送することによって設定するディスクリプタアクセスがあるからである。
【0115】
また上記の実施形態によれば、複数のタスクで画像処理デバイスアクセス制御において競合が起きない排他制御において、アクセス要求が要求された場合、すぐにアクセス許可を送るようにすることによってアクセス要求をする制御ソフトの画像処理デバイスの他のタスクとの競合状態を意識しない共通化することと、排他機構の簡略化をすることができる。
【0116】
また上記の実施形態によれば、画像処理デバイスの競合を防止する排他制御をタスクが処理を実行する占有時間において比較的少ないタスクに割り当てることによってタスクごとの処理を均等化して全体の処理終了を早く完了し高速化することができる。
【0117】
また上記の実施形態によれば、画像処理デバイスはデジタルシグナルプロセッサ(DSP)でリードライトアクセスにおいて決められたプロトコルに従って制御が必要なDSPに対し不整合が起きない排他制御を行うことができる。
【0118】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【0119】
そして、上記実施形態の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ読み取り可能な記録媒体、すなわち記憶メディアを介して、画像処理装置や画像形成装置のコンピュータ(CPUやMPU)が記憶メディアに格納されたプログラムコードを読み出し実行することによっても、本発明の目的は達成される。
【0120】
また、プログラムは、記録メディアを介さず、通信回線を通じて直接にコンピュータにロードし実行することもでき、これによっても同様に本発明の目的は達成される。
【0121】
この場合、記憶メディアから読み出された又は通信回線を通じてロードし実行されたプログラムコード自体が前述の実施形態の機能を実現することになる。そして、そのプログラムコードを記憶した記憶メディアは本発明を構成する。
【0122】
また、プログラムコードを供給するための記憶メディアとしては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、不揮発性のメモリカード、ROM、磁気テープ等を用いることができる。
【0123】
また本発明に係る画像処理デバイス排他制御装置の前記排他制御手段は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求の画像処理内容と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする。
【0124】
また本発明に係る画像処理デバイス排他制御装置の前記排他制御手段は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求のアクセス量と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする。
【0125】
また本発明に係る画像処理デバイス排他制御装置の前記排他制御手段は、前記画像処理デバイスアクセスを要求するタスクに対して通知する前記メッセージ送信の内容を、ライト要求とリード要求と画像処理デバイスの複数のタスクによる制御の競合状態と、に基づいて切り替えることを特徴とする。
【0126】
また本発明に係る画像処理デバイス排他制御装置の前記排他制御手段は、前記画像処理デバイスアクセスが1以上のタスクの処理で競合しない画像処理デバイスに割り当てられている場合、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージの内容を、画像処理デバイスへのアクセス要求をしている要求状況情報に基づかないで無条件にアクセス許可を通知することを特徴とする。
【0127】
また本発明に係る画像処理デバイス排他制御装置の前記排他制御手段は、前記画像処理デバイスアクセスを実行させる場合、そのタスクが処理を実行する占有時間が少ないタスクに優先して割り当てることを特徴とする。
【0128】
また本発明に係る画像処理デバイス排他制御装置の前記画像処理デバイスは、デジタルシグナルプロセッサ(DSP)であることを特徴とする。
【0129】
また本発明に係る画像処理デバイス排他制御方法の前記排他制御工程は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求の画像処理内容と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする。
【0130】
また本発明に係る画像処理デバイス排他制御方法の前記排他制御工程は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求のアクセス量と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする。
【0131】
また本発明に係る画像処理デバイス排他制御方法の前記排他制御工程は、前記画像処理デバイスアクセスを要求するタスクに対して通知する前記メッセージ送信の内容を、ライト要求とリード要求と画像処理デバイスの複数のタスクによる制御の競合状態と、に基づいて切り替えることを特徴とする。
【0132】
また本発明に係る画像処理デバイス排他制御方法の前記排他制御工程は、前記画像処理デバイスアクセスが1以上のタスクの処理で競合しない画像処理デバイスに割り当てられている場合、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージの内容を、画像処理デバイスへのアクセス要求をしている要求状況情報に基づかないで無条件にアクセス許可を通知することを特徴とする。
【0133】
また本発明に係る画像処理デバイス排他制御方法の前記排他制御工程は、前記画像処理デバイスアクセスを実行させる場合、そのタスクが処理を実行する占有時間が少ないタスクに優先して割り当てることを特徴とする。
【産業上の利用可能性】
【0134】
本発明によれば、デジタル複合機(MFP)、画像処理装置、画像形成装置及びプロセッサの制御方法や制御プログラム、画像処理デバイスの制御方法や制御プログラムなどの用途に適用できる。
【符号の説明】
【0135】
301 スキャナCCD
302 プリンタ
303 パワーサプライユニット(PSU)
304 エンジン部:イメージプロセッシングユニット(IPU)
305 デジタルシグナルプロセッサ(DSP)
306 ハードウェア(ASIC)
307 コントローラ部
308 一次記憶装置
309 プリンタ出力画像補正:デジタルシグナルプロセッサ(DSP)
310 CPU
311 CPU
602 上位の制御装置
603 画像処理制御装置
801 シェーディング補正
802 フィルタ補正
803 色変換処理
804 γ処理
805 階調処理
901 スキャンタスク
902 スキャン画像処理タスク
904、905 ドライバ管理
906、907 アクセス手段のドライバ
【先行技術文献】
【特許文献】
【0136】
【特許文献1】特開2004−127039号公報
【特許請求の範囲】
【請求項1】
1以上のタスクで画像データに対して画像処理を行う画像処理デバイスへのアクセス要求が競合する場合の画像処理デバイス制御であって、
1以上のタスクからアクセスされる、デジタル画像データに対して画像処理を行う画像処理デバイスと、
前記画像処理デバイスへのアクセスを制御する画像処理デバイス制御手段と、
1スレッドを実行するタスク単位で、複数のタスクを非同期で実行するCPUと、
1以上のタスクで前記画像処理デバイス制御手段による画像処理デバイスアクセス要求が競合する場合に、前記画像処理デバイスごとに画像処理デバイスアクセスの競合を防止する排他制御手段と、
を有し、
前記排他制御手段は、画像処理デバイスアクセスを要求するタスクのスレッドの管理を行ない、画像処理デバイスアクセス要求時にスレッドを完了し、画像処理デバイスアクセスが可能になった場合には画像処理デバイスアクセスを要求するタスクに対して画像処理デバイスアクセス許可を通知し、画像処理デバイスアクセスを要求するタスクのスレッドを生成させて、画像処理デバイスアクセスを実行することを特徴とする画像処理デバイス排他制御装置。
【請求項2】
前記排他制御手段は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求の画像処理内容と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする請求項1に記載の画像処理デバイス排他制御装置。
【請求項3】
前記排他制御手段は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求のアクセス量と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする請求項1または2に記載の画像処理デバイス排他制御装置。
【請求項4】
前記排他制御手段は、前記画像処理デバイスアクセスを要求するタスクに対して通知する前記メッセージ送信の内容を、ライト要求とリード要求と画像処理デバイスの複数のタスクによる制御の競合状態と、に基づいて切り替えることを特徴とする請求項1から3のいずれか1項に記載の画像処理デバイス排他制御装置。
【請求項5】
前記排他制御手段は、前記画像処理デバイスアクセスが1以上のタスクの処理で競合しない画像処理デバイスに割り当てられている場合、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージの内容を、画像処理デバイスへのアクセス要求をしている要求状況情報に基づかないで無条件にアクセス許可を通知することを特徴とする請求項1から4のいずれか1項に記載の画像処理デバイス排他制御装置。
【請求項6】
前記排他制御手段は、前記画像処理デバイスアクセスを実行させる場合、そのタスクが処理を実行する占有時間が少ないタスクに優先して割り当てることを特徴とする請求項1から5のいずれか1項に記載の画像処理デバイス排他制御装置。
【請求項7】
前記画像処理デバイスは、デジタルシグナルプロセッサ(DSP)であることを特徴とする請求項1から6のいずれか1項に記載の画像処理デバイス排他制御装置。
【請求項8】
1以上のタスクで画像データに対して画像処理を行う画像処理デバイスへのアクセス要求が競合する場合の画像処理デバイス制御の制御方法であって、
1以上のタスクからアクセスされる、デジタル画像データに対して画像処理を行う画像処理デバイスへのアクセスを制御する画像処理デバイス制御工程と、
1スレッドを実行するタスク単位で、複数のタスクを非同期で実行するCPU工程と、
1以上のタスクで前記画像処理デバイス制御工程による画像処理デバイスアクセス要求が競合する場合に、前記画像処理デバイスごとに画像処理デバイスアクセスの競合を防止する排他制御工程と、
を有し、
前記排他制御工程は、画像処理デバイスアクセスを要求するタスクのスレッドの管理を行なう工程と、画像処理デバイスアクセス要求時にスレッドを完了する工程と、画像処理デバイスアクセスが可能になった場合には画像処理デバイスアクセスを要求するタスクに対して画像処理デバイスアクセス許可を通知する工程と、画像処理デバイスアクセスを要求するタスクのスレッドを生成させる工程と、画像処理デバイスアクセスを実行する工程と、を有することを特徴とする画像処理デバイス排他制御方法。
【請求項9】
前記排他制御工程は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求の画像処理内容と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする請求項8に記載の画像処理デバイス排他制御方法。
【請求項10】
前記排他制御工程は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求のアクセス量と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする請求項8または9に記載の画像処理デバイス排他制御方法。
【請求項11】
前記排他制御工程は、前記画像処理デバイスアクセスを要求するタスクに対して通知する前記メッセージ送信の内容を、ライト要求とリード要求と画像処理デバイスの複数のタスクによる制御の競合状態と、に基づいて切り替えることを特徴とする請求項8から10のいずれか1項に記載の画像処理デバイス排他制御方法。
【請求項12】
前記排他制御工程は、前記画像処理デバイスアクセスが1以上のタスクの処理で競合しない画像処理デバイスに割り当てられている場合、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージの内容を、画像処理デバイスへのアクセス要求をしている要求状況情報に基づかないで無条件にアクセス許可を通知することを特徴とする請求項8から11のいずれか1項に記載の画像処理デバイス排他制御方法。
【請求項13】
前記排他制御工程は、前記画像処理デバイスアクセスを実行させる場合、そのタスクが処理を実行する占有時間が少ないタスクに優先して割り当てることを特徴とする請求項8から12のいずれか1項に記載の画像処理デバイス排他制御方法。
【請求項14】
請求項8から13のいずれか1項に記載の画像処理デバイス排他制御方法をコンピュータに実行させるためのプログラム。
【請求項15】
請求項14に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項1】
1以上のタスクで画像データに対して画像処理を行う画像処理デバイスへのアクセス要求が競合する場合の画像処理デバイス制御であって、
1以上のタスクからアクセスされる、デジタル画像データに対して画像処理を行う画像処理デバイスと、
前記画像処理デバイスへのアクセスを制御する画像処理デバイス制御手段と、
1スレッドを実行するタスク単位で、複数のタスクを非同期で実行するCPUと、
1以上のタスクで前記画像処理デバイス制御手段による画像処理デバイスアクセス要求が競合する場合に、前記画像処理デバイスごとに画像処理デバイスアクセスの競合を防止する排他制御手段と、
を有し、
前記排他制御手段は、画像処理デバイスアクセスを要求するタスクのスレッドの管理を行ない、画像処理デバイスアクセス要求時にスレッドを完了し、画像処理デバイスアクセスが可能になった場合には画像処理デバイスアクセスを要求するタスクに対して画像処理デバイスアクセス許可を通知し、画像処理デバイスアクセスを要求するタスクのスレッドを生成させて、画像処理デバイスアクセスを実行することを特徴とする画像処理デバイス排他制御装置。
【請求項2】
前記排他制御手段は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求の画像処理内容と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする請求項1に記載の画像処理デバイス排他制御装置。
【請求項3】
前記排他制御手段は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求のアクセス量と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする請求項1または2に記載の画像処理デバイス排他制御装置。
【請求項4】
前記排他制御手段は、前記画像処理デバイスアクセスを要求するタスクに対して通知する前記メッセージ送信の内容を、ライト要求とリード要求と画像処理デバイスの複数のタスクによる制御の競合状態と、に基づいて切り替えることを特徴とする請求項1から3のいずれか1項に記載の画像処理デバイス排他制御装置。
【請求項5】
前記排他制御手段は、前記画像処理デバイスアクセスが1以上のタスクの処理で競合しない画像処理デバイスに割り当てられている場合、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージの内容を、画像処理デバイスへのアクセス要求をしている要求状況情報に基づかないで無条件にアクセス許可を通知することを特徴とする請求項1から4のいずれか1項に記載の画像処理デバイス排他制御装置。
【請求項6】
前記排他制御手段は、前記画像処理デバイスアクセスを実行させる場合、そのタスクが処理を実行する占有時間が少ないタスクに優先して割り当てることを特徴とする請求項1から5のいずれか1項に記載の画像処理デバイス排他制御装置。
【請求項7】
前記画像処理デバイスは、デジタルシグナルプロセッサ(DSP)であることを特徴とする請求項1から6のいずれか1項に記載の画像処理デバイス排他制御装置。
【請求項8】
1以上のタスクで画像データに対して画像処理を行う画像処理デバイスへのアクセス要求が競合する場合の画像処理デバイス制御の制御方法であって、
1以上のタスクからアクセスされる、デジタル画像データに対して画像処理を行う画像処理デバイスへのアクセスを制御する画像処理デバイス制御工程と、
1スレッドを実行するタスク単位で、複数のタスクを非同期で実行するCPU工程と、
1以上のタスクで前記画像処理デバイス制御工程による画像処理デバイスアクセス要求が競合する場合に、前記画像処理デバイスごとに画像処理デバイスアクセスの競合を防止する排他制御工程と、
を有し、
前記排他制御工程は、画像処理デバイスアクセスを要求するタスクのスレッドの管理を行なう工程と、画像処理デバイスアクセス要求時にスレッドを完了する工程と、画像処理デバイスアクセスが可能になった場合には画像処理デバイスアクセスを要求するタスクに対して画像処理デバイスアクセス許可を通知する工程と、画像処理デバイスアクセスを要求するタスクのスレッドを生成させる工程と、画像処理デバイスアクセスを実行する工程と、を有することを特徴とする画像処理デバイス排他制御方法。
【請求項9】
前記排他制御工程は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求の画像処理内容と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする請求項8に記載の画像処理デバイス排他制御方法。
【請求項10】
前記排他制御工程は、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージ送信の内容と優先順位と、を前記画像処理デバイスへのアクセス要求をしている要求状況情報と、アクセス要求のアクセス量と、に基づいて前記メッセージ送信内容と優先順位とを判断することを特徴とする請求項8または9に記載の画像処理デバイス排他制御方法。
【請求項11】
前記排他制御工程は、前記画像処理デバイスアクセスを要求するタスクに対して通知する前記メッセージ送信の内容を、ライト要求とリード要求と画像処理デバイスの複数のタスクによる制御の競合状態と、に基づいて切り替えることを特徴とする請求項8から10のいずれか1項に記載の画像処理デバイス排他制御方法。
【請求項12】
前記排他制御工程は、前記画像処理デバイスアクセスが1以上のタスクの処理で競合しない画像処理デバイスに割り当てられている場合、画像処理デバイスアクセスを要求するタスクに対して通知するメッセージの内容を、画像処理デバイスへのアクセス要求をしている要求状況情報に基づかないで無条件にアクセス許可を通知することを特徴とする請求項8から11のいずれか1項に記載の画像処理デバイス排他制御方法。
【請求項13】
前記排他制御工程は、前記画像処理デバイスアクセスを実行させる場合、そのタスクが処理を実行する占有時間が少ないタスクに優先して割り当てることを特徴とする請求項8から12のいずれか1項に記載の画像処理デバイス排他制御方法。
【請求項14】
請求項8から13のいずれか1項に記載の画像処理デバイス排他制御方法をコンピュータに実行させるためのプログラム。
【請求項15】
請求項14に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2011−145761(P2011−145761A)
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願番号】特願2010−4111(P2010−4111)
【出願日】平成22年1月12日(2010.1.12)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願日】平成22年1月12日(2010.1.12)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]