(57)【要約】【目的】  画像処理装置に実行させる画像処理の待ち時間を、その指示順によらず、処理する画像データのサイズに応じた程度の時間とする。【構成】  画像処理ユニット１８に、入力する画像データに対して画像処理を行って出力する第１及び第２の画像処理部５２ａ，５２ｂと、第１及び第２の画像処理部５２ａ，５２ｂに実行させる画像処理要求を複数記憶する要求内容記憶部３０と、要求内容記憶部３０に記憶している画像処理要求に係る処理内容を分割し、その分割した処理内容毎に実行する画像処理要求を順次切り替えながら、処理対象の画像データを読み出し、第１及び第２の画像処理部５２ａ，５２ｂのいずれかにその画像データを渡して上記分割した処理内容に係る画像処理を実行させる要求分割部４０とを設けた。【選択図】        図２
2007164665.tif 000002
【特許請求の範囲】
【請求項１】
入力する画像データに対して画像処理を行って出力する画像処理手段と、
前記画像処理手段に実行させる画像処理要求を複数受け付ける要求受付手段と、
該手段が受け付けた各画像処理要求に係る処理内容を分割し、前記分割した処理内容毎に実行する画像処理要求を順次切り替えながら、前記画像処理手段に前記分割した処理内容に係る画像処理を実行させる要求分割手段とを設けたことを特徴とする画像処理装置。
【請求項２】
請求項１記載の画像処理装置であって、
前記画像処理手段を複数有し、
前記要求分割手段が画像処理手段に実行させる処理内容を、前記複数の画像処理手段のうち画像処理を実行中でない画像処理手段に振り分ける振分手段を有することを特徴とする画像処理装置。
【請求項３】
請求項１又は２記載の画像処理装置であって、
前記要求分割手段に、
受け付けた画像処理要求に優先順位が付されている場合に、優先順位の高い画像処理要求に係る処理を先に前記画像処理手段に実行させる手段を設けたことを特徴とする画像処理装置。
【請求項４】
請求項１乃至３のいずれか一項記載の画像処理装置であって、
前記要求分割手段が、前記画像処理手段に画像処理を実行させる場合に、処理対象の画像データと、実行させる処理の内容を示すデータとをセットで前記画像処理手段に渡す手段であることを特徴とする画像処理装置。
【請求項５】
請求項１乃至４のいずれか一項記載の画像処理装置であって、
前記要求分割手段が、前記画像処理手段に画像処理を実行させる場合に、処理対象の画像データと、実行させる処理がどの画像処理要求に係るものであるかを示すデータとをセットで前記画像処理手段に渡す手段であることを特徴とする画像処理装置。
【請求項６】
請求項１乃至５のいずれか一項記載の画像処理装置と、
その画像処理装置に画像処理要求を行って形成すべき画像のデータを処理させる手段とを備えた画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像データを処理する画像処理装置及び、画像処理した画像データに基づいて像担持体に画像を形成する画像形成装置に関する。
【背景技術】
【０００２】
従来から、入力する画像データに対して種々の画像処理を行って出力する画像処理装置が知られている。また、スキャナで原稿を読み取って得た画像データをこのような画像処理装置で処理し、その処理後の画像データをプリンタに供給して画像を形成させる画像形成装置も知られている。
なお、上記のような画像処理装置及び、これをスキャナやプリンタと組み合わせて使用することは、特許文献１に記載されている。
【特許文献１】特開平１１−２８９４５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、画像処理装置に大きいサイズの画像データを処理させようとすると、処理に時間がかかる場合がある。そして、従来の画像処理装置では、ある画像データの処理を開始してしまうと、その処理で装置の画像処理機能を占有してしまうため、後から他の画像処理を実行させようとしても、前の処理が完了するまで待つ必要があった。
従って、先に大きいサイズの画像データの処理を開始させてしまった場合、後から小さいサイズの画像データの処理を行わせようとしても、先に開始させた大きいサイズの画像データの処理が完了するまで、長時間待たされることになるという問題があった。
【０００４】
この発明は、このような問題を解決し、画像処理装置に実行させる画像処理の待ち時間を、その指示順によらず、処理する画像データのサイズに応じた程度の時間とすることを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するため、この発明の画像処理装置は、入力する画像データに対して画像処理を行って出力する画像処理手段と、上記画像処理手段に実行させる画像処理要求を複数受け付ける要求受付手段と、その手段が受け付けた各画像処理要求に係る処理内容を分割し、上記分割した処理内容毎に実行する画像処理要求を順次切り替えながら、上記画像処理手段に上記分割した処理内容に係る画像処理を実行させる要求分割手段とを設けたものである。
【０００６】
このような画像処理装置において、上記画像処理手段を複数設け、上記要求分割手段が画像処理手段に実行させる処理内容を、上記複数の画像処理手段のうち画像処理を実行中でない画像処理手段に振り分ける振分手段を設けるとよい。
さらに、上記要求分割手段に、受け付けた画像処理要求に優先順位が付されている場合に、優先順位の高い画像処理要求に係る処理を先に上記画像処理手段に実行させる手段を設けるとよい。
【０００７】
さらに、上記要求分割手段を、上記画像処理手段に画像処理を実行させる場合に、処理対象の画像データと、実行させる処理の内容を示すデータとをセットで上記画像処理手段に渡す手段とするとよい。
さらにまた、上記要求分割手段を、上記画像処理手段に画像処理を実行させる場合に、処理対象の画像データと、実行させる処理がどの画像処理要求に係るものであるかを示すデータとをセットで上記画像処理手段に渡す手段とするとよい。
【０００８】
また、この発明の画像形成装置は、上記のいずれかの画像処理装置と、その画像処理装置に画像処理要求を行って形成すべき画像のデータを処理させる手段とを設けたものである。
【発明の効果】
【０００９】
以上のようなこの発明の画像処理装置又は画像形成装置によれば、画像処理の待ち時間を、その指示順によらず、処理する画像データのサイズに応じた程度の時間とすることができる。
【発明を実施するための最良の形態】
【００１０】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
まず、図１に、この発明の画像処理装置の実施形態のハードウェア構成を示す。なお、この画像処理装置１０のエンジン部２１にプリントエンジンを設ければ、この画像処理装置１０はこの発明の画像形成装置の実施形態にもなる。
【００１１】
図１に示すように、この画像処理装置１０は、ＣＰＵ１１，ＲＯＭ１２，ＲＡＭ１３，ＮＶＲＡＭ（不揮発ＲＡＭ）１４，通信Ｉ／Ｆ（インタフェース）１５，エンジンＩ／Ｆ１６，パネルＩ／Ｆ１７，画像処理ユニット１８を備え、これらはシステムバス１９により接続されている。また、エンジン部２１をエンジンＩ／Ｆ１６に、操作パネル２２をパネルＩ／Ｆ１７に、それぞれ接続して設けている。
【００１２】
そして、このうちＣＰＵ１１は、画像処理装置１０全体を統括制御する制御手段であり、ＲＯＭ１２に記録された種々のプログラムを実行することにより、種々の機能を実現する。
ＲＯＭ１２は、不揮発性の記憶手段であり、ＣＰＵ１１が実行するプログラムや、固定的なパラメータ等を記憶する。ＲＯＭ１２を書き換え可能な記憶手段として構成し、これらのデータをアップデートできるようにしてもよい。
【００１３】
ＲＡＭ１３は、一時的に使用するデータを記憶したり、ＣＰＵ１１のワークメモリとして使用する記憶手段である。また、エンジン部２１に備えるプリンタエンジンにより形成する画像のデータをビットマップ展開したり、画像処理ユニット１８により画像処理を行う画像データやその処理後の画像データを記憶させたりする画像メモリも、ＲＡＭ１３に設けることができる。
【００１４】
ＮＶＲＡＭ１４は、書き換え可能な不揮発性記憶手段であり、画像処理装置１０の制御に使用するパラメータの値等で、装置の電源がＯＦＦされた後でも保持しておく必要があるデータを記憶する。
通信Ｉ／Ｆ１５は、画像処理装置１０を何らかの通信経路を介して他の装置と通信可能にするためのインタフェースであり、例えば、ネットワークに接続してイーサネット（登録商標）方式の通信を行うためのネットワークインタフェースとすることができる。そして、画像処理装置１０が他の装置と通信を行う場合、この通信Ｉ／Ｆ１５とＣＰＵ１１とが通信手段として機能する。なお、通信Ｉ／Ｆ１５は、通信経路の規格や使用する通信プロトコル等に応じて適切なものを用意する。通信経路は、有線／無線を問わず任意のものを利用可能であるし、複数の規格に対応させて複数の通信Ｉ／Ｆ１５を設けることも当然可能である。
【００１５】
エンジンＩ／Ｆ１６は、エンジン部２１をシステムバス１９に接続し、ＣＰＵ１１から制御できるようにするためのインタフェースである。
エンジン部２１は、プリンタエンジンとスキャナエンジンとを備える。
このうち、プリンタエンジンは、ビットマップ展開された画像データに基づいて用紙に画像を形成する画像形成手段であり、画像形成方式としては、電子写真方式等、公知の任意の方式を採用することができる。
また、スキャナエンジンは、原稿の画像を読み取ってその画像の画像データを取得する画像読取手段であり、読み取って得た画像データは、ＲＡＭ１３やＮＶＲＡＭ１４に記憶させたり、画像処理ユニット１８による画像処理に供したり、プリンタエンジンに供給して読み取った画像の複製を形成させたりすることができる。
【００１６】
パネルＩ／Ｆ１７は、操作パネル２２をシステムバス１９に接続し、ＣＰＵ１１から制御できるようにするためのインタフェースである。
操作パネル２２は、液晶ディスプレイ（ＬＣＤ）や発光ダイオード（ＬＥＤ）等による表示部と、種々のキーやボタン及びＬＣＤに積層したタッチパネル等による操作部とを備える。そして、表示部には、画像処理装置１０の動作状態、設定内容、メッセージ、操作受付のためのＧＵＩ（グラフィカル・ユーザ・インタフェース）等を表示し、操作部では、画像処理装置１０に対するユーザの操作や指示を受け付ける。
【００１７】
画像処理ユニット１８は、ＣＰＵ１１からの処理要求に従って、画像データを画像メモリから読み出して画像処理を行い、その結果の画像データを画像メモリに書き込む機能を有する。画像データの読み出し位置と書込み位置は、当然異なっていてよい。
また、画像処理の内容としては、シェーディング補正，位置ズレ補正，ＭＴＦ補正，回転，変倍，γ補正，色補正，階調処理等、種々のものが考えられ、これらの処理を、単独で行うものであっても、複数連続して行うものであっても、単独で行うものを複数種類備え、任意に組み合わせて処理を行わせることができるものであってもよい。
ここでは、説明を簡単にするため、画像処理ユニット１８は、画像回転処理を行うユニットであるとする。
【００１８】
そして、以上のような画像処理装置１０は、外部装置から通信Ｉ／Ｆ１５を介して受信した印刷データに基づく描画処理を行って得た画像データや、スキャナエンジンによって原稿の画像を読み取って得た画像データに対して、画像処理ユニット１８やＣＰＵ１１の画像処理機能による画像処理を施し、その結果の画像データに基づいて用紙に画像を形成することができる。
【００１９】
次に、図１に示した画像処理ユニット１８のより詳細な構成及びその機能について説明する。
図２は、その画像処理ユニット１８の構成を示すブロック図である。
この図に示すように、画像処理ユニット１８は、要求内容記憶部３０，要求分割部４０，データ振り分け部５１，第１及び第２の画像処理部５２ａ，５２ｂ，出力先アドレス設定部５３ａ，５３ｂ，出力調停部５４，画像データ書込部５５を備えている。
【００２０】
このうち、要求内容記憶部３０は、ＣＰＵ１１が画像処理ユニット１８に実行を要求した画像処理の内容を示す画像処理要求のデータを記憶する記憶手段である。そして、ＣＰＵ１１は、画像内容記憶部３０に備えるレジスタに、画像処理要求のデータを書き込むことにより、画像処理ユニット１８に画像処理の実行を指示することができる。また、ここの画像処理要求のデータが書き込まれた場合に、画像処理ユニット１８がその画像処理要求を受け付けたことになる。従って、要求内容記憶部３０は、画像処理要求を受け付ける要求受付手段としても機能する。また、要求内容記憶部３０には、複数の画像処理要求を同時に記憶させることも可能である。
【００２１】
要求分割部４０は、画像内容記憶部３０に記憶されている画像処理要求に係る画像処理の処理内容を分割し、分割した処理内容毎に第１又は第２の画像処理部５２ａ又は５２ｂ画像処理を実行させる要求分割手段である。
そして、要求内容管理部４１，画像データ読出部４２，ヘッダ付加部４３を備えている。
【００２２】
要求内容管理部４１は、要求内容記憶部３０から画像処理要求の内容を読み出し、その内容に応じて、画像データ読出部４２に読み出しアドレス及び読み出しデータ量を設定して画像データの読み出しを指示する機能を有する。また、ヘッダ付加部４３に対して、画像データ読出部４２が読み出した画像データに対する画像処理の実行及びその結果の書き込みアドレスの決定に必要な情報を渡してそれらの情報を含むヘッダを生成させる機能も有する。また、要求内容記憶部３０が記憶している画像処理要求のデータを、画像処理の進捗に応じて書き換える機能も有する。
【００２３】
画像データ読出部４２は、第１及び第２の画像処理部５２ａ，５２ｂにおける画像処理の対象とする画像データを画像メモリから読み出す機能を有する。具体的には、ＤＭＡＣ（ダイレクト・メモリ・アクセス・コントローラ）として構成することができ、読み出しアドレスと読み出しデータ量を指示されると、その内容に従って外部の画像メモリにアクセスし、データを読み出すことができる。読み出したデータを、一時的に保存しておくためのメモリも有する。
【００２４】
ヘッダ付加部４３は、後段の画像処理の実行及びその結果の書き込みに必要な情報を含むヘッダを生成すると共に、画像データ読出部４２が読み出した画像データにそのヘッダを付し、データ振り分け部５１を介して第１又は第２の画像処理部５２ａ又は５２ｂのいずれかに渡す機能を有する。
【００２５】
また、データ振り分け部５１は、要求分割部４０から供給される画像データ及びヘッダを、画像処理を実行中でないいずれかの画像処理部へ振り分ける機能を有する振分手段である。どの画像処理部が画像処理を実行中かは、画像処理部から供給されるｂｕｓｙ信号の有無により把握することができる。また、データの振り分け及び第１又は第２の画像処理部５２ａ又は５２ｂへの入力には、Data In ARBを利用することができる。
【００２６】
第１及び第２の画像処理部５２ａ，５２ｂはそれぞれ、入力する画像データに対して画像処理を行って出力する画像処理手段であり、２つの画像処理部の間で機能的な差はない。そこで、これらを総称する符号として「５２」を用いる。また、実行可能な画像処理の内容は、上述の通り種々のものが考えられるが、ここでは回転処理としている。また、実際に実行する処理の内容は、供給される画像データに付されたヘッダの情報を参照して決定する。例えば、画像処理部５２を、９０度回転、１８０度回転、２７０度回転のいずれかの処理を選択的に実行可能な回路として構成し、ヘッダにより、これらのうちどの処理を実行するかを指定できるようにする等である。
【００２７】
なお、画像処理部５２は、処理対象の画像データに付されていたヘッダのうち、少なくとも処理結果の書き込みアドレスの決定に必要な部分については、処理後の画像データと共に出力先アドレス設定部５３ａ，５３ｂに渡す。また、画像データの処理及び画像データ書込部５５までのデータの引渡しが完了するまでは、データ振り分け部５１にｂｕｓｙ信号を送出し、処理中であることを示す。
【００２８】
出力先アドレス設定部５３ａ，５３ｂはそれぞれ、画像処理部５２ａ，５２ｂから渡される画像処理後の画像データにつき、そのヘッダを参照して、書き込み先のアドレスを決定する機能を有する。また、そのアドレスを画像処理後の画像データに付し、出力調停部５４を介して画像データ書込部５５に供給して、画像メモリへの書き込みを行わせる機能も有する。なお、２つの出力先アドレス設定部の間で機能的な差はない。そこで、これらを総称する符号として「５３」を用いる。
【００２９】
出力調停部５４は、出力アドレス設定部５３が出力する画像処理後の画像データ及びヘッダを画像データ書込部５５に転送する機能を有するが、複数の出力アドレス設定部からのデータが重複しないように、タイミングの調停を行う。
画像データ書込部５５は、転送されてきた画像データを画像メモリに書き込む機能を有する。具体的には、ＤＭＡＣ（ダイレクト・メモリ・アクセス・コントローラ）として構成することができ、書き込みアドレスと書き込むべきデータが転送されてくると、その内容に従ってメモリにアクセスし、データを書き込むことができる。書き込むべきデータを、一時的に保存しておくためのメモリも有する。ここでは、書き込みアドレスは、画像データに付されたヘッダに記載されている。
以上のような画像処理ユニット１８は、ここでは専用のハードウェアにより構成している。ただし、このようにすることは必須ではない。
【００３０】
次に、ＣＰＵ１１が画像処理ユニット１８に画像処理を行わせる場合の画像処理ユニット１８の動作について説明する。
図３は、画像処理ユニット１８が設定された画像処理要求に係る画像処理を行う場合に行う動作を、順を追って示す図である。また、図５には、図３に示す処理中、各処理部が次段にデータを引き渡す際に、どのような情報と共に引き渡すかを模式的に示した。もちろん、この図に示す情報以外の情報を引き渡しても構わない。
【００３１】
ＣＰＵ１１が画像処理ユニット１８に画像処理を行わせる場合、ＣＰＵ１１は、上述のように、要求内容記憶部３０に画像処理要求のデータを書き込む。
そのデータは、図４に示すようなものであり、要求ＩＤ，処理対象データ読出元情報，ブロックサイズ情報，処理後データ出力先情報，処理内容情報を含む。
【００３２】
このうち、要求ＩＤは、個々の画像処理要求を識別するための識別情報である。
処理対象データ読出元情報は、画像処理の対象とする画像データの読出元を示す情報であり、画像データの格納開始アドレス及び画像サイズ等、画像データ読出部４２に、画像データを読み出すアドレスを指示するために必要な情報を含む。
ブロックサイズ情報は、画像処理部５２に一度に処理させる画像データのサイズを示す情報、すなわち画像処理要求に係る画像処理をどの程度の細かさに分割して実行させるかを示す情報であり、主走査方向と副走査方向の画素数や、画像データのバイト数等により指定することができる。
【００３３】
ここでは、ブロックサイズ情報により指定されるサイズの画像データを、１ブロック分の画像データと呼ぶことにする。このサイズは、例えば画像処理部５２における回転処理の最小単位の矩形領域とすることが考えられるが、全ての画像処理要求について一致している必要はない。なお、画像処理部５２が一度に処理できないようなサイズが指定された場合や、指定がない場合には、所定のデフォルトサイズが指定されたと解釈するようにしてもよい。
【００３４】
処理後データ出力先情報は、画像処理後の画像データの出力先を示す情報であり、処理後画像データの格納開始アドレス及び画像サイズ等、出力先アドレス設定部５３に、画像処理後の画像データを書き込むアドレスを生成させるために必要な情報を含む。
処理内容情報は、画像処理部５２に実行させる画像処理の内容を指定する情報であり、例えば回転処理における回転角を指定する情報等である。
【００３５】
そして、ＣＰＵ１１がこのような画像処理要求のデータを要求内容記憶部３０に書き込むと、図３に示すように、要求内容管理部４１が、その内容を読み出す（Ｓ１１）。画像処理要求が複数書き込まれている場合には、その何れかを読み出すが、どのような順番で読み出すかについては、後述する。
【００３６】
次に、要求内容管理部４１は、読み出した要求中の、処理対象データ読出元情報と、ブロックサイズ情報とに基づき、画像データを読み出すべきアドレスを算出し、画像データ読出部４２に設定して、画像メモリから１ブロック分の画像データを読み出させる（Ｓ１２）。
また、要求内容管理部４１は、ヘッダ付加部４３に、画像処理要求のうち処理後データ出力先情報、ブロックサイズ情報及び処理内容情報を渡し、画像処理部５２での処理内容、処理データ量、及び処理後のデータの書込先を示すヘッダを生成させる（Ｓ１３）。このヘッダには、処理後のデータの書込開始アドレスの情報を含めるとよい。
【００３７】
次に、要求内容管理部４１は、要求内容記憶部３０に記憶している画像処理要求につき、読み出した画像データの分だけずらした読出開始アドレスと書込開始アドレスの情報を設定する（Ｓ１４）。すなわち、次のブロックの画像データの読み出しを開始するアドレスを読出開始アドレスとして設定し、その画像データを処理した処理後のデータの書き込みを開始するアドレスを書込開始アドレスとして設定する。そして、次のブロックの処理を行う場合には、ここで設定した情報も参照して画像データの読み出しや書き込みを行うアドレスを算出する。
【００３８】
なお、アドレスをどの程度ずらせばよいかは、画像データの格納開始アドレス、画像サイズ、ブロックサイズ、及び処理内容等の情報から算出することができる。始めのブロックに関する読出開始アドレス及び書込開始アドレスも、これらの情報から算出することができる。読出開始アドレスと書込開始アドレスの情報は、もとの処理対象データ読出元情報と処理後データ出力先情報とを残したまま、設定するようにするとよい。
また、処理すべき全ての画像データの読み出しを完了した画像処理要求は、処理が完了したものとして削除してしまってよい。画像データ書込部５５による処理後の画像データの書き込みが完了した時点で削除するようにしてもよい。
【００３９】
そして、画像データの読み出し及びヘッダの生成が完了すると、ヘッダ付加部４３は、生成したヘッダを画像データ読出部４２が読み出した画像データに付してデータ振り分け部５１に渡す（Ｓ１５）。このようなヘッダを付しておくことにより、以後要求内容管理部４１が画像データの取扱いに関与しなくても、後段の各部に画像データを適切に処理させることができる。
なお、画像データをデータ振り分け部５１に渡す際には、先にデータ振り分け部５１にアクセスして処理実行中でない画像処理部５２があるか否か確認し、ない場合には、いずれかの画像処理部５２における処理が完了するまで待機するようにするとよい。
【００４０】
データ振り分け部５１は、要求分割部４０から画像データ及びヘッダを渡されると、処理実行中でない画像処理部５２のいずれかに、画像データ及びヘッダを渡す（Ｓ１６）。ここでは、各画像処理部５２及び出力先アドレス設定部５３は同じ機能を有しているので、どの画像処理部５２に画像データが渡されても、以後の処理は同じである。
この時点で要求分割部４０は１つのブロックに関する処理から解放され、ステップＳ１１に戻る。そして、まだ処理が完了していない画像処理要求が残っていれば、これがなくなるまで処理を繰り返す。画像データの転送をスムーズに行うためには、Ｓ１４までの処理は、画像処理部５２の処理完了を待たずに、予め行っておくとよい。
【００４１】
一方、画像データを渡された画像処理部５２は、渡された画像データに対して、ヘッダに記載された画像処理を実行し、その結果を対応する出力先アドレス設定部５３に渡す。このとき、ヘッダ及び、処理後の画像データのサイズを示す処理後データサイズの情報も、処理後の画像データと共に渡す（Ｓ２１）。なお、ヘッダについては、処理後の画像データの書き込み先を算出するための、出力先情報のみ渡せば足りる。
【００４２】
そして、出力先アドレス設定部５３は、ヘッダと処理後データサイズの情報とに基づいて、処理後の画像データを書き込むアドレスを算出し、処理後の画像データに、出力先アドレス及び出力データ量を示すヘッダを付す（Ｓ２２）。なお、ここでヘッダに記載する出力先アドレスの情報は、形式は問わないが、画像データ中の各バイトのデータを書き込むアドレスを、具体的に規定するものである。
【００４３】
その後、出力先アドレス設定部５３は、処理後の画像データをヘッダと共に出力調停部５４を介して画像データ書込部５５に渡す（Ｓ２３）。このとき、画像データ書込部５５が他の出力先アドレス設定部５３から渡される画像データを書き込み中であれば、これが完了するまで出力調停部５４が他の画像データ書込部５５からのデータ転送を待機させる。
【００４４】
そして、出力先アドレス設定部５３から画像データ書込部５５へ画像データが渡されると、画像データ書込部５５は、ヘッダを参照し、そのヘッダにより指定されたアドレスに画像データを書き込む（Ｓ２４）。この書き込みの終了後、転送終了割り込みを発生させてもよい。
以上で、１ブロック分の画像データに関する処理が終了する。
【００４５】
なお、画像処理部５２は、ステップＳ２１からＳ２３までの処理を行っている間は、データ振り分け部５１にｂｕｓｙ信号を送信し、処理を実行中で新たなブロックのデータを受け取れない旨を示す。
また、以上の処理において、要求内容管理部４１以外は、実行中の処理がどの画像処理要求に係る処理であるかを認識している必要はない。
【００４６】
ここで、図６を用いて、画像処理部５２に実行させる画像処理と、ブロックとの関係について説明する。図６は、この関係を説明するための説明図である。
画像処理部５２に実行させる画像処理は、例えば、図６に符号６１で示すような元の画像を、符号６２で示すように９０度回転させたり、符号６３で示すように１８０度回転させたりする処理である。この処理は、画像データの全領域を対象として一度に行うこともできるが、大きなデータを取り扱うと、大容量のメモリを要するし、処理時間もかかる。
【００４７】
そこで、ここでは、元の画像６１を符号６４で示すようなブロックに分け、ブロック毎に画像データを読み出して回転処理を行うようにしている。図６に示す通り、このようにしても、各ブロックの画像データを回転させ、回転後の画像データを記憶させる領域のうち適切な位置に記憶させれば、全体として回転した画像の画像データを得ることができる。
そしてこのブロックが、画像処理部５２における処理の実行単位や、要求分割部４０による処理の分割単位となるブロックである。
画像処理ユニット１８では、実行すべき画像処理をブロックに分割して画像処理部に実行させているため、複数の画像処理部への処理の分配を容易に行うことができる。
【００４８】
次に、画像処理ユニット１８がＣＰＵ１１から要求された画像処理を実行する際の、処理の実行順及び実行タイミングについて説明する。
まず、図７及び図８に、画像処理要求が１つのみである場合の処理タイミングの例を示す。なお、図８において、読み出しタイミングを示す長方形の中の文字は、アルファベットが、どの画像処理要求に係る画像データであるかを、数字が、何番目のブロックの画像データであるかを、それぞれ示すものである。
【００４９】
図７に示すように、要求内容記憶部３０に、画像処理要求が１つのみ登録されている場合、図８に示すように、画像データ読出部４２には、その画像処理要求Ａに係る各ブロックの画像データを順次読み出させる。
そして、画像データ読出部４２が読み出した画像データは、空いている画像処理部５２に渡し、画像処理を行わせる。また、１ブロック分の画像データを画像処理部５２に渡し終わると、画像データ読出部４２に次のブロックの画像データを読み出させる。空いている画像処理部５２がない場合でも、画像データの読み出しは行っておき、空きができ次第、その画像処理部５２に渡す。
そして、以上を画像処理要求Ａに係る全ブロックの処理が完了するまで繰り返す。
【００５０】
次に、図９及び図１０に、画像処理要求が３つ同時になされた場合の画像データの処理タイミングの例を示す。これらの図は、図７及び図８と対応する図である。
図９に示すように、要求内容記憶部３０に、３つの画像処理要求Ａ〜Ｃがほぼ同時に登録されている場合でも、画像データ読出部４２が読み出した画像データを、空いている画像処理部５２に渡し、画像処理を行わせる点は上記の図８の場合と変わらない。
【００５１】
しかし、図１０に示すように、処理順については、画像処理要求Ａ〜Ｃを順次切り替えながら、各画像処理要求に係る画像データを、均等に読み出して画像処理に供するようにしている。すなわち、まず画像処理要求Ａに係る処理対象の１ブロック目の画像データを読み出して画像処理部に渡し、次に画像処理要求Ｂに係る処理対象の１ブロック目の画像データを読み出して画像処理部に渡し、その後画像処理要求Ｃに係る処理対象の１ブロック目の画像データを読み出して画像処理部に渡し、全ての画像処理要求について１ブロック分ずつの画像データの読み出しが完了したら、また画像処理要求Ａから順に、２ブロック目の画像データを読み出して画像処理部に渡す、という具合である。
なお、読み出し順は、常に同じでなくてもよく、また、厳密にブロック数の均等さが守られることも、必須ではない。例えば、Ａ１→Ｂ１→Ｃ１→Ｃ２→Ｂ２→Ａ２といった順番でもよい。
【００５２】
この画像処理ユニット１８では、複数の画像処理要求に係る画像処理を行う場合、上記のように、各画像処理要求に係る処理内容を複数のブロックに分割し、実行する画像処理要求をブロック毎に順次切り替えながら、ブロック毎に画像処理を実行するようにしているため、画像処理装置に実行させる画像処理の待ち時間を、その指示順によらず、処理する画像データのサイズに応じた程度の時間とすることができる。
すなわち、サイズの大きい画像データに係る処理で処理に時間を要する処理と、サイズの小さい画像データに係る処理で処理にあまり時間を要しない処理とを同時に要求された場合、特に処理順を入れ替えるような処理をしなくても、後者の処理を比較的短時間で完了させることができる。
【００５３】
図１１乃至図１４を用いて、この点について説明する。
図１１及び図１２は、画像処理要求を１つずつ順番に処理する従来の画像処理ユニットの場合に各処理の完了に要する時間を示す図である。図１３及び図１４は、画像処理ユニット１８の場合の例を示す、図１１及び図１２と対応する図である。図１２及び図１４において、バーに付したアルファベットは、各タイミングでどの画像処理要求に係る画像処理を実行しているかを示す。
【００５４】
図１１に示すように、複数の画像処理要求Ａ〜Ｃを受け取った場合に、これらに関する処理を順番に画像処理部に実行させる場合、画像サイズの大きい画像に係る画像処理要求Ａが先に処理対象となってしまうと、図１２に示すように、他の画像処理要求に係る処理は、画像処理要求Ａに係る処理Ａが完了するまで、実行されない。従って、画像処理要求Ｂに係る処理Ｂや、画像処理要求Ｃに係る処理Ｃは、実行に要する時間自体は短いものの、実際に処理が完了するまでは、長い時間がかかることになる。このような問題は、処理をブロック毎に分けて実行したとしても、同様に発生するものである。
【００５５】
これに対し、画像処理ユニット１８は、図１３に示すように、複数の画像処理要求Ａ〜Ｃを受け取った場合に、処理する要求をブロック単位で切り替えながら実行する。そして、図１４に示すように、始めは３つの画像処理要求Ａ〜Ｃに係る処理を並列的に実行し、処理に要する時間が最も短い処理Ｂが、最初に完了する。そして、次に処理に要する時間が短い処理Ｃが、次に完了する。すなわち、処理に要する時間の長い処理Ａの完了を待たずに、処理Ｂや処理Ｃを完了させることができる。そして、このためには、特に実行順を入れ替えるような処理は要しない。
【００５６】
特に、画像処理ユニット１８が専用のハードウェアにより構成されている場合には、画像処理ユニット１８に画像処理要求を行う側のＣＰＵ１１は、単に画像処理要求のデータを適当な順番で画像処理ユニットにセットするだけで、要求の順番を特に制御しなくても、各画像処理要求につき、概ね要求に係る処理量に応じた時間で処理結果を得ることができる。また、処理開始までの待機時間も、極めて短くなる。従って、ＣＰＵ１１における要求管理の負荷を低減することができる。
途中で画像処理要求の追加や中断がある場合でも、各時点で要求内容記憶部３０に登録されている画像処理要求を順次切り替えながら、各画像処理要求に係る画像データを、均等に読み出して画像処理に供するようにすれば、同様な効果を得られる。
【００５７】
また、画像形成装置のように、画像処理後の画像データに基づいて、ユーザに対して出力を行う装置の場合、ユーザは、出力を指示した後、出力完了まで装置の前で待つことも多い。そして、本来時間のかからないはずの処理を行う場合に、実行中の処理に完了まで処理に取りかかれず、ユーザを待たせることになると、装置の利便性を著しく損ねることになる。従って、ユーザに対して出力を行う装置に、上述のような構成を適用することは、特に有効である。
【００５８】
ところで、図９及び図１０では、全ての画像処理要求についてブロックのサイズが一定である場合の例を示したが、図９に示したように複数の画像処理要求が要求内容記憶部３０に登録されている場合、その全ての画像処理要求について、ブロックのサイズが一定であるとは限らない。
【００５９】
図１５に、ブロックのサイズが一定でない場合の画像データの処理タイミングの例を示す。この図は、図１０と対応する図である。
ブロックのサイズが画像処理要求によって異なる場合、図１５に示すように、画像処理部において１ブロック分の画像データを処理するために要する時間が、処理毎に異なることになる。従って、画像処理部においてどのタイミングで１ブロック分の画像処理が完了するかは、どのブロックの処理を実行中であるかによって異なることになる。
【００６０】
一方、画像処理ユニット１８においては、画像データを画像メモリから読み出した時点では、そのデータをどの画像処理部に渡すかは決定せず、処理中でない画像処理部があった（又はできた）場合に、その画像処理部に渡すようにしている。
従って、（ａ）に示すように、読み出した画像データを、先に処理が終了した画像処理部から順に渡すことができるため、画像処理部に待ち時間が発生してしまうことはない。
【００６１】
しかし、画像データの読み出し時に、どの画像処理部にそのデータを渡すかを決定してしまうことも考えられる。例えば、読み出した各ブロックの画像データを、第１及び第２の画像処理部５２に交互に供給するようにする等である。しかし、このようにすると、（ｂ）に示すように、処理Ｂ第２ブロックの処理開始が、処理Ｃ第１ブロックの処理完了まで待たされることになる。また、処理Ｂ第２ブロックの画像データが第１の画像処理部５２ａに渡されるまで、次の処理Ｃ第２ブロックの画像データの読み出しが行えないため、第２の画像処理部５２ｂにおいて、処理Ａ第２ブロックの処理完了後、無駄な待機時間が生じてしまう。そしてこのため、全体的に処理に時間を要し、処理Ａ第３ブロックの処理が完了するまでには、（ａ）の場合と比べ、矢印７１で示す分だけ、余計に時間がかかることになる。
【００６２】
従って、画像処理ユニット１８のように、画像データを画像処理部５２に転送する際に、画像データの読み出し時ではなく転送時に、転送先とする画像処理部を決定することは、処理速度の向上に効果があると言える。
また、ここまで説明してきた例では、常に第１及び第２の画像処理部５２の双方が要求分割部４０からの画像データを処理できる状態である場合について説明した。しかし、一部の画像処理部５２が、他の制御部により占有されていることも考えられる。
【００６３】
図１６に、このような場合の処理タイミングの例を示す。この図は、図１０と対応する図である。
図１６に示す例のように、第２の画像処理部５２ｂが他の制御部により占有されている場合、要求分割部４０は、第２の画像処理部５２ｂには、画像データを渡すことができない。しかし、この場合でも、要求分割部４０の動作を特に変える必要はない。そして、要求分割部４０は、処理が完了した画像処理部に次に読み出したブロックの画像データを順次渡すため、ここでは全ての画像データを第１の画像処理部５２ａに渡すことになる。
【００６４】
そして、この場合でも、処理に時間はかかることになるが、図１３及び図１４を用いて説明したように、各画像処理要求につき、概ね要求に係る処理量に応じた時間で処理結果を得ることができる。
この点は、一部の画像処理部が、長大な処理時間を要する処理を実行中である場合や、優先順位が高い処理により優先的に使用されている場合であっても同様である。また、初めから画像処理部が１つしかない場合でも同様である。
【００６５】
〔変形例〕
以上で実施形態の説明を終了するが、装置の構成、具体的な処理内容、データ形式、実行する画像処理の内容等が、上述の実施形態で説明したものに限られないことはもちろんである。
例えば、画像処理部の数が２つである必要はなく、任意の数であってもよい。また、異なる画像処理機能を有する複数の画像処理部を設け、データ振り分け部５１が、ヘッダ中の画像処理の内容を示す情報も参照して、処理を実行させるために適当な画像処理部に画像データを渡すようにしてもよい。
【００６６】
また、画像処理要求に優先順位の情報を持たせ、要求分割部４０に、優先順位の高い画像処理要求から順番に処理させることができるようにしてもよい。この場合、要求内容管理部４１が、要求内容記憶部３０に設定されている各画像処理要求の優先順位を確認し、優先順位の高いものがあればその画像処理要求に係る画像データの読み出しを先に行い、同順位のものが複数あった場合には、図９，図１０等を用いて説明したように、１ブロック読み出す毎に画像処理要求を切り替えながら、画像データの読み出しを行うようにするとよい。
【００６７】
図１７乃至図１９に、このようにする場合の処理タイミング例を示す。これらはそれぞれ、図９，図１０，図１４と対応する図である。
図１７に示すように、要求内容記憶部３０に、まず優先順位が低い画像処理要求Ａ，Ｂが設定され、その後、優先順位が高い画像処理要求Ｃが追加された場合を考える。
要求内容記憶部３０に画像処理要求Ａ，Ｂしか設定されていない場合には、これらの画像処理に係る画像データを、１ブロック分ずつ交互に読み出して、いずれかの画像処理部５２に渡す。そして、画像処理要求Ｃが追加されると、こちらの方が優先順位が高いため、画像処理要求Ｃに係る画像データのみを１ブロック分ずつ読み出して、順次画像処理部５２に渡す。
【００６８】
従って、図１９に示すように、画像処理要求Ｃが追加した時点で、画像処理要求Ａ，Ｂに係る処理Ａ，Ｂを中断させ、画像処理要求Ｃに係る処理Ｃを先に行わせることができる。また、処理Ｃの終了後、優先順位の高い処理がなくなれば、特に再開を指示しなくても、中断した処理Ａ，Ｂを自動的に再開させることができる。
従って、このような構成を採用すれば、図１３及び図１４を用いて説明したように、各画像処理要求につき、概ね要求に係る処理量に応じた時間で処理結果を得ることができるようにしながら、ビデオ出力用画像等の、処理に急を要する画像の処理は先に行わせることができ、利便性が向上する。
【００６９】
また、上述した実施形態においては、ヘッダ付加部４３に、画像処理部５２に実行させる処理内容を示す情報や、出力先情報を含むヘッダを処理対象の画像データに付加させ、出力先アドレス設定部５３まで引き渡させたが、このようにする必要はない。例えば、これに代えて、画像データと対応する画像処理要求の要求ＩＤ、すなわち実行させる処理がどの画像処理要求に係るものであるかを示すデータを画像データに付すようにしてもよい。
このようにし、かつ、画像処理部５２や出力先アドレス設定部５３から要求内容記憶部３０を参照できるようにすれば、要求ＩＤをキーにして、画像処理要求に含まれる、処理内容の情報や出力先情報を取得して、利用することができる。
【００７０】
また、各画像処理要求について処理済みブロック数の情報を管理し、この情報と、ブロックサイズ情報と、処理後データ出力先情報とから、処理後の画像データを書き込むアドレスを求めるようにしてもよい。
また、以上の他、この発明の画像処理装置を、画像処理ユニット１８のような、装置に組み込んで使用するユニットとして実施することも可能である。あるいは、ＣＰＵに所要のプログラムを実行させて画像処理ユニット１８のような機能を実現させて実施することも可能である。
また、以上の各実施形態又は変形例で述べた構成は、矛盾しない範囲で適宜組み合わせて適用することも可能である。
【産業上の利用可能性】
【００７１】
以上説明してきたように、この発明の画像処理装置又は画像形成装置によれば、画像処理の待ち時間を、その指示順によらず、処理する画像データのサイズに応じた程度の時間とすることができる。
従って、この発明を適用することにより、画像処理装置又は画像形成装置の利便性を向上させることができる。
【図面の簡単な説明】
【００７２】
【図１】この発明の画像処理装置の実施形態のハードウェア構成を示すブロック図である。
【図２】図１に示した画像処理ユニットの構成を示すブロック図である。
【図３】図２に示した画像処理ユニットが設定された画像処理要求に係る画像処理を行う場合に行う動作を、順を追って示す図である。
【図４】図２に示した要求内容記憶部に記憶させる画像処理要求に含まれる情報の例を示す図である。
【図５】図３に示す処理中、各処理部が次段にデータを引き渡す際に、どのような情報と共に引き渡すかを模式的に示す図である。
【００７３】
【図６】図２に示した画像処理部に実行させる画像処理と、ブロックとの関係について説明するための図である。
【図７】画像処理要求が１つのみである場合の画像データの処理タイミングについて説明するための図である。
【図８】その別の図である。
【図９】画像処理要求が複数同時になされた場合の例について説明するための、図７と対応する図である。
【図１０】同じく、図８と対応する図である。
【００７４】
【図１１】画像処理要求を１つずつ順番に処理する従来の画像処理ユニットにおいて処理の完了に要する時間について説明するための図である。
【図１２】その別の図である。
【図１３】図２に示した画像処理ユニットにおいて処理の完了に要する時間について説明するための、図１１と対応する図である。
【図１４】同じく、図１２と対応する図である。
【図１５】ブロックのサイズが一定でない場合の画像データの処理タイミングの例を示す、図１０と対応する図である。
【００７５】
【図１６】一部の画像処理部が他の制御部により占有されている場合の処理タイミングの例を示す、図１０と対応する図である。
【図１７】画像処理要求に優先順位の情報を持たせるようにした場合の処理について説明するための、図９と対応する図である。
【図１８】同じく、図１０と対応する図である。
【図１９】同じく、図１４と対応する図である。
【符号の説明】
【００７６】
１０：画像処理装置，１１：ＣＰＵ，１２：ＲＯＭ，１３：ＲＡＭ，１４：ＮＶＲＡＭ，
１５：通信Ｉ／Ｆ，１６：エンジンＩ／Ｆ，１７：パネルＩ／Ｆ，
１８：画像処理ユニット，１９：システムバス，２１：エンジン部，２２：操作パネル，
３０：要求内容記憶部，４０：要求分割部，４１：要求内容管理部，
４２：画像データ読出部，４３：ヘッダ付加部，５１：データ振り分け部，
５２：画像処理部，５３：出力先アドレス設定部，５４：出力調停部，
５５：画像データ書込部
【図１】
2007164665.tif 000003
【図２】
2007164665.tif 000004
【図３】
2007164665.tif 000005
【図４】
2007164665.tif 000006
【図５】
2007164665.tif 000007
【図６】
2007164665.tif 000008
【図７】
2007164665.tif 000009
【図８】
2007164665.tif 000010
【図９】
2007164665.tif 000011
【図１０】
2007164665.tif 000012
【図１１】
2007164665.tif 000013
【図１２】
2007164665.tif 000014
【図１３】
2007164665.tif 000015
【図１４】
2007164665.tif 000016
【図１５】
2007164665.tif 000017
【図１６】
2007164665.tif 000018
【図１７】
2007164665.tif 000019
【図１８】
2007164665.tif 000020
【図１９】
2007164665.tif 000021