JP4045823B2 - 画像処理装置および画像処理方法 - Google Patents
画像処理装置および画像処理方法 Download PDFInfo
- Publication number
- JP4045823B2 JP4045823B2 JP2002076925A JP2002076925A JP4045823B2 JP 4045823 B2 JP4045823 B2 JP 4045823B2 JP 2002076925 A JP2002076925 A JP 2002076925A JP 2002076925 A JP2002076925 A JP 2002076925A JP 4045823 B2 JP4045823 B2 JP 4045823B2
- Authority
- JP
- Japan
- Prior art keywords
- image information
- processing
- image
- processing module
- skip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 320
- 238000003672 processing method Methods 0.000 title claims description 7
- 230000006870 function Effects 0.000 claims description 65
- 238000000034 method Methods 0.000 description 36
- 238000007781 pre-processing Methods 0.000 description 36
- 230000008569 process Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 28
- 230000010365 information processing Effects 0.000 description 23
- 238000011144 upstream manufacturing Methods 0.000 description 13
- 238000012805 post-processing Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 5
- 238000012905 input function Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011143 downstream manufacturing Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41B—MACHINES OR ACCESSORIES FOR MAKING, SETTING, OR DISTRIBUTING TYPE; TYPE; PHOTOGRAPHIC OR PHOTOELECTRIC COMPOSING DEVICES
- B41B27/00—Control, indicating, or safety devices or systems for composing machines of various kinds or types
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Multi Processors (AREA)
- Editing Of Facsimile Originals (AREA)
Description
【発明の属する技術分野】
本発明は、デジタル化された画像データを処理する画像処理装置および画像処理方法に関し、特に複数の要素機能的な画像処理モジュールを用意して、その組み合わせにより多種多様な画像処理機能を実現するような画像処理装置および画像処理方法に関する。
【0002】
【従来の技術】
複数の要素機能的な画像処理モジュールを用意して、その組み合わせにより多種多様な画像処理機能を提供する技術は、例えば文書エディタや描画ツール、あるいは画像伝送装置やプリンタ等、デジタル画像を取り扱う様々なシステムにおいて利用される。そして、このような画像処理機能は、しばしば画像処理ライブラリファイルとして提供され、その場合には画像処理機能を利用したいアプリケーションプログラムとリンクすることによりその機能が利用される。
【0003】
画像を入力可能なDTP(デスクトップ・パブリッシング)システム、画像を出力可能なプリントシステムなどでは、処理対象となる画像に対して、例えば拡大・縮小、回転、アフィン変換、色変換、フィルタ、合成などの各種の画像処理が行われる。これらの処理を行う際には、入力画像の属性や処理内容、手順、パラメータなどが固定されている場合には専用のハードウェアを用いて処理を行う場合もあるが、例えば色空間や画素当たりのビット数が異なる様々な画像が入力されたり、処理内容や手順、パラメータなどが様々に変更される場合には、より柔軟性のある構成で対応することが必要となる。
【0004】
このような要求を満たす手段としては、従来、プログラマブルなモジュールをパイプライン形態やDAG(Directed Acyclic Graph:有向非循環グラフ)形態に接続して、柔軟に所望の処理を行う技術が提案されている(例えば、特開平5−260373号公報や特開平7−105020号公報を参照)。
【0005】
特開平5−260373号公報には、複数のプログラマブル演算処理部の各演算処理内容と、ネットワーク部による各プログラマブル演算処理部の接続形態とを、ホストコントロール手段を通じて外部から自在に設定できるように構成することにより、高速かつ高度な演算処理が可能で、機能変更、系統変更に対する自由度が高いデジタル映像信号処理装置が記載されている。
【0006】
また、特開平7−105020号公報には、必要な機能モジュールを所望の順番でパイプライン状に接続/初期化し、処理を行うことで柔軟に画像処理を行うパイプライン化画像処理システムが記載されている。当該パイプライン化画像処理システムでの動作は次の通りである。
【0007】
すなわち、接続が終了すると、最後尾のモジュールに対して必要に応じてヘッダの取得を要求し、この要求は接続されたモジュールを順次遡って先頭の画像入力モジュールに達して読み込まれる画像のヘッダ情報を返し、各モジュールは自身が変更する部分の情報を書き換えた後に後段のモジュールに渡す。例えば入力画像のサイズが1000×1000画素であり、処理パイプラインの中に500×500画素への縮小処理モジュールが含まれていた場合には、当該縮小モジュールは前段から渡されたヘッダ情報のうちのサイズ情報を1000×1000から500×500に変更して後段に渡す。
【0008】
このような処理を順次繰り返して、最終的に最後尾のモジュールは外部に対して当該画像処理パイプラインが出力する画像のヘッダ情報を出力する。次に、得られたヘッダ情報などをもとにデータの処理を行う。データの処理もヘッダの処理と同様に、最後尾のモジュールに対して一定量のデータ出力を要求すると、最後尾のモジュールは前段のモジュールに対してそれに必要な画像データの入力を要求する。この要求は同様により前段に対して遡って伝えられて画像入力モジュールに伝えられ、必要な画像データが読み出されて後段に渡され、順次処理をされながら最終的に最後尾の処理モジュールから出力される。
【0009】
上記の処理が画像の最後まで、または必要な部分に対して行われると、処理パイプラインは不要となるので、最後尾のモジュールに対して終了を要求する。この終了要求もヘッダ情報取得や上記処理と同様にモジュールの接続を遡って最前部の画像入力モジュールに達し、画像入力モジュールは処理に用いたリソースを解放するとともに自身を解放して後段に制御を返す。制御が戻された後段も同様にリソースや自身を解放する処理を行ってさらに後段に返し、最終的に最後尾のモジュールのリソース/自身の解放が終了した時点で全ての操作が終了する。
【0010】
特開平7−105020号公報に記載の上記技術は、例えばUNIX(登録商標)などのオペレーティングシステムで用いられている単一プロセッサによる多重処理パイプラインのシミュレーション方式を画像処理などの分野に応用したものである。そして、特に画像処理においては、1回の処理単位を例えば画像の1ラインのように画像の一部に限定することにより、各処理モジュールが処理用に保持するメモリ領域を極めて少なくすることが可能となる。
【0011】
その結果、少ないメモリ容量で複雑な処理を実行できるコストの安い画像処理装置を提供することが可能となったり、あるいは仮想記憶をサポートするオペレーティングシステム上で動作させる場合には、メモリ不足によるスワップアウトが最小限に抑えられるため、高速に処理を実行することが可能となる。
【0012】
さらに、他の従来技術として、例えば90度回転処理のように出力の1ラインを得るために入力画像全体を必要とする処理や、入力画像を複数の処理モジュールに対して出力する分岐モジュールなどの場合には、画像全体のバッファリングが終了したらそれよりも前段のモジュールに対して終了処理を行うことで、必要なメモリ資源を最小に抑えて高速に処理することを目指した画像処理装置も提案されている(特開平8−272981号公報参照)。
【0013】
【発明が解決しようとする課題】
しかしながら、特開平8−272981号公報に記載の従来技術では、例えば処理対象画像の特定範囲(クリップ範囲)の画像情報だけを取得するための処理を行うクリップ処理モジュールの出力は、クリップ範囲内の入力画像情報について実行されるが、出力情報に何ら影響を与えないクリップ範囲外の入力画像情報についても処理モジュールへの読み込み処理が実行されることになるため、計算機資源を無駄に消費してしまう。
【0014】
また、例えば画像の上下を反転させるような反転処理モジュールの場合は、モジュール出力1ライン目は最後のモジュール入力ライン、モジュール出力2ライン目はモジュール入力の最後から2番目のラインであることから、上記従来技術にあっては、モジュール内にページバッファを保持する必要があるため、多くのメモリ資源を消費してしまう。
【0015】
本発明は、上記課題に鑑みてなされたものであり、その目的とするところは、メモリの要求や開放を伴うシステム上で画像情報を処理する際に、画像情報の処理および取得を効率的に行うことが可能な画像処理装置および画像処理方法を提供することにある。
【0016】
【課題を解決するための手段】
上記目的を達成するために、本発明では、各々所定の処理を実行する複数の処理手段(処理モジュール)がパイプライン形態に接続されてなるパイプライン処理において、複数の処理モジュールのうちの少なくとも1つに、所定の処理を行うに当たって処理対象の画像情報の一部を読み飛ばす画像情報読み飛ばし(いわゆるスキップ処理)機能を持たせるようにしている。そして、後段の処理手段からの画像情報読み飛ばし要求を受けて、前段の処理手段に画像情報読み飛ばしを指示するようにする。
【0017】
パイプライン処理において、複数の処理手段(処理モジュール)のうちの少なくとも1つに画像情報読み飛ばし機能を持たせることにより、当該処理手段(処理モジュール)への画像情報の無駄な読み込み処理を抑えることができる。その結果、処理をより高速に行える。また、必要な画像情報位置まで読み飛ばすことで、不要な画像情報の読み込みをなくし、無駄なバッファリングをなくすることができる。その結果、メモリ消費量が抑えられる。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0019】
図1は、本発明による画像処理装置の構成例を示すブロック図である。図1から明らかなように、本画像処理装置10は、ホストアプリケーション20から与えられた画像処理命令を記憶する処理記憶手段11と、画像情報を記憶する画像記憶手段12と、当該画像記憶手段12に記憶された画像を処理記憶手段11に記憶された画像処理命令にしたがって画像処理を行う画像処理手段13と、画像処理の実行を制御する処理実行制御手段14とを具備するシステム構成となっている。
【0020】
[第1実施形態]
図2は、本発明の第1実施形態に係る画像処理手段13の構成例を示すブロック図である。
【0021】
図2から明らかなように、本実施形態に係る画像処理手段13は、各種処理を行う少なくとも1つ、例えばN個の処理機能131−1〜131−Nを有する構成となっている。また、処理機能131−1〜131−Nのうちの少なくとも1つは画像情報読み飛ばし手段132を有し、当該画像情報読み飛ばし手段132を有する処理機能から生成される処理モジュールは画像情報読み飛ばし機能を有する。この画像情報読み飛ばし機能については後で詳細に説明する。
【0022】
なお、画像処理手段13の変形例として、図3に示すように、画像情報読み飛ばし手段132を処理機能131−1〜131−N以外に保持し、処理モジュール生成時に適宜画像情報読み飛ばし機能を処理モジュールに持たせるような構成の画像処理手段13aであっても構わない。
【0023】
また、処理実行制御手段14は、図4に示すように、処理記憶手段11に記憶された画像処理命令に対応する処理機能131−1〜131−Nから処理モジュールの生成および処理モジュール間の接続を行うモジュール生成手段141と、各処理モジュールを展開するメモリや各処理モジュールが利用するバッファなどの確保および解放を行うメモリ確保手段142とを有する構成となっている。なお、処理モジュールがバッファとしてのメモリの確保および解放を行う手段を有していても構わないが、以降の説明では省略する。
【0024】
図5は、モジュール生成手段141によって生成される処理モジュール21に対して、その前段処理モジュール22と後段処理モジュール23とを接続してなるパイプラインの構成を説明するブロック図である。
【0025】
処理モジュール21は、前段処理モジュール22から取得した画像情報を保持するための入力バッファ211と、処理モジュール21の制御を行う制御部212と、処理モジュール21内で処理後の画像情報を後段処理モジュール23に出力するための出力バッファ213とを有する構成となっている。同様に、処理モジュール22は、入力バッファ221、制御部222および出力バッファ223を有し、処理モジュール23は、入力バッファ231、制御部232および出力バッファ233を有する構成となっている。
【0026】
このパイプラインにおいて、処理モジュール21が後段処理モジュール23から画像情報出力要求を受けるとその要求が制御部212に伝えられる。すると、制御部212は前段処理モジュール22に対して画像情報出力要求を送る。画像情報出力要求を受け取った前段処理モジュール22は、処理した画像情報を出力バッファ223に書き込むので、処理モジュール21の制御部212は前段処理モジュール22の出力バッファ223に書き込まれた画像情報を入力バッファ211にコピーする。そして、制御部212は、入力バッファ211の画像情報の処理結果を出力バッファ213に書き込み、後段処理モジュール23の制御部232によって入力バッファ231にコピーされる。
【0027】
処理モジュール21が後段処理モジュール23から画像情報読み飛ばし要求を受けると、その要求が制御部212に伝えられる。制御部212は、次回の画像情報出力要求時の画像情報処理開始位置を変更し、読み飛ばす画像情報量が入力バッファ211に保持されている画像情報を読み飛ばすだけでは足りない場合には、前段処理モジュール22に画像情報読み飛ばし要求を送る。このとき、画像情報読み飛ばし要求を受け取った前段処理モジュール22は、画像情報読み飛ばし要求を受け取ったときの処理モジュール21と同様に動作する。
【0028】
図6は、画像情報読み飛ばし要求が、副走査方向に対して順方向にm行の画像情報読み飛ばしを行うことを指示する要求である場合の動作を説明するための図である。
【0029】
前段処理モジュール22の画像情報処理開始位置は、画像情報30に対してy行目の先頭画素である位置31に設定されているとする。前段処理モジュール22は、処理モジュール21から順方向m行の画像情報読み飛ばしを指示する画像情報読み飛ばし要求を受けると、さらにその前段に処理モジュールが接続されている場合には、その処理モジュールに順方向m行の画像情報読み飛ばしを指示する。これは、前段処理モジュール22の画像情報処理開始位置を、y行目の先頭画素位置31からy+m行目の先頭画素位置32に設定し直すことに等しい。
【0030】
次に、前段処理モジュール22が処理モジュール21から画像情報出力要求を受けると、前段処理モジュール22の制御部222はさらに前段の処理モジュールに画像情報出力要求を送り、返された画像情報を入力バッファ221にコピーする。入力バッファ221にコピーされた画像情報は、画像情報出力要求を受けたときには画像情報処理開始位置が位置32に設定されているため、y行目の画像情報33ではなく、y+m行目の画像情報34である。前段処理モジュール22は、入力バッファ221に保持された画像情報34の処理結果を処理モジュール21に返す。
【0031】
図7は、画像情報読み飛ばし要求が副走査方向に対して逆方向にn行の画像情報読み飛ばしを行うことを指示する要求である場合の動作を説明するための図である。
【0032】
前段処理モジュール22の画像情報処理開始位置は、画像情報30に対してy行目の先頭画素位置31に設定されているとする。前段処理モジュール22は、処理モジュール21から逆方向n行の画像情報読み飛ばしを指示する画像情報読み飛ばし要求を受けると、さらにその前段に処理モジュールが接続されている場合には、その処理モジュールに逆方向n行の画像情報読み飛ばしを指示する。これは、前段処理モジュール22の画像情報処理開始位置を、y行目の先頭画素位置31からy−n行目の先頭画素位置35に設定し直すことに等しい。
【0033】
次に、前段処理モジュール22が処理モジュール21から画像情報出力要求を受けると、前段処理モジュール22の制御部222はさらに前段の処理モジュールに画像情報出力要求を送り、返された画像情報を入力バッファ221にコピーする。入力バッファ221にコピーされた画像情報は、画像情報出力要求を受けた時には画像情報処理開始位置が位置35に設定されているため、y行目の画像情報33ではなく、y−n行目の画像情報36である。前段処理モジュール22は、入力バッファ221に保持された画像情報36を処理した結果を処理モジュール21に返す。
【0034】
図8は、画像情報読み飛ばし要求が主走査方向に対して順方向にo画素の画像情報読み飛ばしを行うことを指示する要求である場合の動作を説明するための図である。
【0035】
前段処理モジュール22の画像情報処理開始位置は、w画素の幅を持つ画像情報40に対して主走査方向x画素目の位置41に設定されているとする。前段処理モジュール22は、処理モジュール21から順方向o画素の画像情報読み飛ばしを指示する画像情報読み飛ばし要求を受けると、さらにその前段に処理モジュールが接続されている場合には、さらに前段の処理モジュールに順方向o画素の画像情報読み飛ばしを指示する。これは、前段処理モジュール22の画像情報処理開始位置を、主走査方向x画素目の位置41から主走査方向x+o画素目の位置42に設定し直すことに等しい。
【0036】
次に、前段処理モジュール22が処理モジュール21から画像情報出力要求を受けると、前段処理モジュール22の制御部222はさらに前段の処理モジュールに画像情報出力要求を送り、返された画像情報を入力バッファ221にコピーする。入力バッファ221にコピーされた画像情報は、画像情報出力要求を受けたときには画像情報処理開始位置が位置42に設定されているため、w−x−o画素分の画像情報43である。前段処理モジュール22は、入力バッファ221に保持された画像情報43の処理結果を処理モジュール21に返す。
【0037】
図9は、画像情報読み飛ばし要求が主走査方向に対して逆方向にp画素の画像情報読み飛ばしを行うことを指示する要求である場合の動作を説明するための図である。
【0038】
前段処理モジュール22の画像情報処理開始位置は、w画素の幅を持つ画像情報40に対して主走査方向x画素目の位置44に設定されているとする。前段処理モジュール22は、処理モジュール21から逆方向p画素の画像情報読み飛ばしを指示する画像情報読み飛ばし要求を受けると、さらにその前段に処理モジュールが接続されている場合には、さらに前段の処理モジュールに逆方向p画素の画像情報読み飛ばしを指示する。これは、前段処理モジュール22の画像情報処理開始位置を、主走査方向x画素目の位置44から主走査方向x−p画素目の位置45に設定し直すことに等しい。
【0039】
次に、前段処理モジュール22が処理モジュール21から画像情報出力要求を受けると、前段処理モジュール22の制御部222はさらに前段の処理モジュールに画像情報出力要求を送り、返された画像情報を入力バッファ221にコピーする。入力バッファ221にコピーされた画像情報は、画像情報出力要求を受けたときには画像情報処理開始位置が位置41に設定されているため、w−x+p画素分の画像情報46である。前段処理モジュール22は、入力バッファ221に保持された画像情報46を処理した結果を処理モジュール21に返す。
【0040】
上述したように、第1実施形態では、複数の処理モジュール22,21,23がパイプライン形態に接続されてなるパイプライン処理において、例えば処理モジュール21に、画像情報読み飛ばし(スキップ処理)機能を持たせたことにより、当該処理モジュール21への画像情報の無駄な読み込み処理を抑えることができるため、処理をより高速に行うことができ、しかも必要な画像情報位置まで読み飛ばすことで、不要な画像情報の読み込みをなくし、無駄なバッファリングをなくすることができため、メモリ消費量を抑えることができる。これにより、メモリの要求や開放を伴うシステム上で画像情報を処理する際に、画像情報の処理および取得を効率的に行うことが可能となる。
【0041】
[第2実施形態]
図10は、本発明の第2実施形態に係る画像処理手段13bの構成例を示すブロック図であり、図中、図2と同等部分には同一符号を付して示している。
【0042】
図10から明らかなように、本実施形態に係る画像処理手段13bは、各種処理を行う少なくとも1つ、例えばN個の処理機能131−1〜131−Nを有するとともに、処理機能131−1〜131−Nによっては画像情報読み飛ばし手段132および画像情報読み飛ばし制御手段133を有し、画像情報読み飛ばし手段132および画像情報読み飛ばし制御手段133を有する処理機能から生成される処理モジュールが画像情報読み飛ばし機能および画像情報読み飛ばし制御機能を有する構成となっている。
【0043】
なお、画像処理手段13bの変形例として、図11に示すように、画像情報読み飛ばし手段132が処理機能131−1〜131−Nに備えられ、画像情報読み飛ばし制御手段133を処理機能131−1〜131−Nと別に備えるような構成の画像処理手段13cであっても構わない。画像情報読み飛ばし手段132を備えた処理機能131−1〜131−Nから生成される処理モジュールは、画像情報読み飛ばし機能および画像情報読み飛ばし制御機能を有する。
【0044】
また、画像処理手段13bの他の変形例として、図12に示すように、画像情報読み飛ばし手段132および画像情報読み飛ばし制御手段133を共に処理機能131−1〜131−Nと別に備えるような構成の画像処理手段13dであっても構わない。この場合、画像情報読み飛ばし機能が必要な処理機能から生成される処理モジュールには、モジュール生成手段141(図4を参照)がモジュール生成時に画像情報読み飛ばし機能および画像情報読み飛ばし制御機能を持たせる。
【0045】
図13は、処理モジュール21が画像情報読み飛ばし制御機能を備えている場合の動作を説明するための図であり、図中、図5と同等部分には同一符号を付して示している。
【0046】
処理モジュール21が後段処理モジュール23から画像情報読み飛ばし要求を受けると、その制御部212の画像情報読み飛ばし制御機能は、前段処理モジュール22が画像情報読み飛ばし可能であるか否かを判断して、可能である場合には前段処理モジュール22に画像情報読み飛ばし要求24を送り、可能でない場合には何もしないかもしくは画像情報読み飛ばしが失敗した旨のエラー通知25を後段処理モジュール23に送る。
【0047】
上述したように、第2実施形態では、処理モジュールに対して第1実施形態での画像情報読み飛びし機能に加えて、画像情報読み飛ばし制御機能をも持たせたことにより、例えば処理モジュールへの入力が入力画像情報を読み飛ばすことで画像情報が欠落してしまうような圧縮情報であるような場合には画像情報を読み飛ばさずに処理を行うような制御ができるため、処理モジュールへの入力が圧縮または非圧縮であるかを気にせずに処理モジュールへの接続を可能にできる。
【0048】
これまでの説明では、説明の都合上、処理モジュール21は入力バッファおよび出力バッファ213の両方を有しているものとしたが、図14に示すように、入力バッファ211のみを有する構成の処理モジュール21aであっても構わない。処理モジュール21aは、後段処理モジュール23から画像情報出力要求を受け取ると、制御部212が処理した結果を後段の処理モジュール23の入力バッファ231に直接書き込む。このような構成では、出力バッファ213から後段処理モジュール23の入力バッファ231への画像情報のコピーが不要であるため、処理速度の向上が期待できる。また、出力バッファ213が不要であるため、その分だけメモリの節約にもなる。
【0049】
<第1具体例>
本具体例は、図15に示すように、画像入力処理モジュール51、クリップ処理モジュール52および画像出力処理モジュール53が接続されてなるパイプラインを構築した場合において、図1の画像記憶手段12に保持されている図16に示す画像60を処理したときのクリップ処理モジュール52の動作についての例である。
【0050】
最初に、クリップ処理モジュール52の一般的な動作について説明し、それをふまえて画像60を処理するときの動作について説明する。先ず、図1の処理記憶手段11に記憶された画像処理命令に基づき、図4のメモリ確保手段142は処理モジュール生成に必要なメモリを確保する。ここでの画像処理命令は、画像記憶手段12から画像入力機能により画像情報60を読み込み、この読み込んだ画像情報からクリップ処理機能により領域61をクリップし、クリップ後の画像情報を画像出力機能により記憶装置54に出力することである。
【0051】
図4のモジュール生成手段141は、メモリ確保手段142が確保したメモリ上に、図1の画像処理手段13が備える画像入力機能から画像入力処理モジュール51を、クリップ処理機能からクリップ処理モジュール52を、画像出力処理機能から画像出力処理モジュール53をそれぞれ生成し、各モジュールを接続してパイプラインを構築する。このとき、クリップ処理モジュール52は、必要な入力バッファのバイト数やクリップ領域に関する情報などが与えられ、それらの情報から出力バッファを計算して入力バッファおよび出力バッファを生成し、クリップ処理に必要な情報を保持する。
【0052】
図17は、クリップ処理モジュール52の一般的な処理の流れを示すフローチャートである。このフローチャートに沿って、クリップ処理モジュール52の一般的な処理について説明する。
【0053】
クリップ処理モジュール52は、後段処理モジュールである画像出力処理モジュール53から画像情報出力要求があると、前段処理モジュールに画像情報出力要求を送ったときに得られるはずの画像情報が、副走査方向に読み飛ばすラインか否かを判定し(ステップS11)、読み飛ばすラインである場合には、副走査方向の指定した行数の順方向への画像情報読み飛ばし要求を前段処理モジュールに送る(ステップS12)。
【0054】
ステップS12の処理後、またはステップS11で読み飛ばすラインでないと判定した場合には、前段処理モジュールに画像情報出力要求を送ったときに得られるはずの画像情報の先頭画素が主走査方向に読み飛ばす画素であるか否かを判定し(ステップS13)、読み飛ばす画素である場合には、主走査方向の指定した画素数の順方向への画像情報読み飛ばし要求を前段処理モジュールに送る(ステップS14)。
【0055】
ステップS14の処理後、またはステップS13で読み飛ばす画素でないと判定した場合には、前段処理モジュールに画像情報出力要求を送り、画像情報を取得する(ステップS15)。ここで、入力バッファのバイト数がクリップ領域の幅分の画素を保持するバイト数である場合には、取得した画像情報をクリップする幅分の画素のバイト数を先頭画素から順に入力バッファにコピーするだけで、クリップ処理モジュールでは画像情報に対する処理は他には不要である。
【0056】
次いで、入力バッファの画像情報を出力バッファにコピーし、出力バッファにコピーされた画像情報を後段処理モジュールに送る(ステップS16)。なお、先述したように、入力バッファの画像情報をそのまま後段処理モジュールに送っても良い。次いで、ステップS15の処理で前段処理モジュールから取得した画像情報が画像の最終ラインであるか否かを判断し(ステップS17)、最終ラインである場合には一連の処理を終了する。最終ラインでない場合には、後段処理モジュールから何らかの要求を待ち(ステップS18)、次の画像出力要求があると、ステップS11に戻って次のラインについて同様の処理を実行する。
【0057】
図18は、クリップ処理モジュール52の画像60を処理したときの流れを示すフローチャートである。
【0058】
画像情報処理開始位置は、最初先頭ラインの先頭画素に設定されている。先頭ラインからh1ライン目まではクリップ領域が存在しないので、h1ライン目までの画像情報は必要ない。そこで、クリップ処理モジュール52は、前段処理モジュールである画像入力処理モジュール51に副走査方向h1行順方向の画像情報読み飛ばし要求を送り、画像情報処理開始位置をh1+1ライン目の先頭画素に設定する(ステップS21)。
【0059】
画像情報処理開始位置はクリップ領域が存在するライン上だが、画像情報を利用しない先頭画素に設定されている。そこで、先頭画素からw1画素目までの画像情報は必要ないので、前段処理モジュールに主走査方向w1画素順方向の画像情報読み飛ばし要求を送り、画像情報処理開始位置をw1+1画素目に設定する(ステップS22)。
【0060】
次いで、前段処理モジュールに画像情報出力要求を送り、画像情報を取得する(ステップS23)。ここで、処理モジュールが取得する画像情報は、画素数w2+w3分のバイト数である。入力バッファのバイト数が画素数w2分のバイト数である場合には、取得した画像情報を先頭画素から順に画素数w2のバイト数分だけ入力バッファにコピーする。
【0061】
次いで、入力バッファの画像情報を出力バッファにコピーし、出力バッファにコピーされた画像情報を後段処理モジュールに送る(ステップS24)。なお、先述したように、入力バッファの画像情報をそのまま後段処理モジュールに送っても良い。
【0062】
次いで、現在のラインがクリップ領域の最終ラインであるh1+h2ライン目であるかどうかを判定し(ステップS25)、h1+h2ライン目である場合には、それ以降のラインは必要ないので一連の処理を終了する。h1+h2ライン目でない場合には、後段処理モジュールからの画像情報出力要求を待ち(ステップS26)、画像情報出力要求を受けると、次のラインを処理するためにステップS22に戻って上述した一連の処理を繰り返す。
【0063】
このように、クリップ処理モジュール52を含む複数の処理モジュールを接続してなるパイプラインの処理において、クリップ処理モジュール52に画像情報読み飛ばし機能を持たせたことにより、クリップ処理モジュール52への画像情報の無駄な読み込み処理を抑えることができるため、より高速に処理を行うことができるとともに、必要な画像情報位置まで読み飛ばすことで、不要な画像情報の読み込みをなくし、無駄なバッファリングをなくすることができるため、メモリ消費量を抑えることができる。
【0064】
<第2具体例>
本具体例は、図18に示すように、画像入力処理モジュール71、上下反転処理モジュール62および画像出力処理モジュール63が接続されてなるパイプラインを構築した場合において、図1の画像記憶手段12に保持されている画像を処理したときの上下反転処理モジュール72の動作についての例である。
【0065】
先ず、図1の処理記憶手段11に記憶された画像処理命令に基づき、図4のメモリ確保手段142は処理モジュール生成に必要なメモリを確保する。ここでの画像処理命令は、画像記憶手段12から画像入力機能により画像を読み込み、読み込んだ画像を上下反転処理機能により画像を反転させ、上下反転後の画像情報を画像出力機能により記憶装置74に出力することである。
【0066】
図4のモジュール生成手段141は、メモリ確保手段142が確保したメモリ上に、画像処理手段11が備える画像入力機能から画像入力処理モジュール71を、上下反転処理機能から上下反転処理モジュール72を、画像出力処理機能から画像出力処理モジュール73をそれぞれ生成し、各モジュールを接続してパイプラインを構築する。このとき、上下反転処理モジュール72は、必要な入力バッファおよび出力バッファのバイト数などの情報が与えられ、それらの情報から入力バッファおよび出力バッファを生成し、上下反転処理に必要な情報を保持する。
【0067】
図20は、高さh、幅wの画像を上限反転処理する際の上下反転処理モジュール72の処理の流れを示すフローチャートである。また、図21は、上下反転処理を説明するための図であり、図中、画像80は上下反転処理前の画像を、画像81は上下反転処理後の画像をそれぞれ示している。
【0068】
最初、画像情報処理開始位置は位置82に設定されている。上下反転処理モジュール72は、後段処理モジュールである画像出力処理モジュール73から画像出力要求を受けると、前段処理モジュールである画像入力処理モジュール71に副走査方向h−1行の順方向への画像情報読み飛ばし要求を送り、画像情報処理開始位置を最終行の先頭画素(位置83)に設定する(ステップS31)。
【0069】
次いで、前段処理モジュールに画像情報出力要求を送り、1ライン分の画像情報を取得する(ステップS32)。そして、画像情報処理開始位置は取得したラインの次ラインの先頭画素に移動する。例えば画像情報84を取得した場合について説明すると、画像情報84の取得前に画像情報処理開始位置は位置83であり、取得後の画像情報処理開始位置は位置86に移動する。
【0070】
続いて、取得した画像情報を後段処理モジュールに送る(ステップS33)。次いで、取得した画像情報が画像80の1ライン目の画像情報85であるか否かを判定し(ステップS34)、画像情報85である場合には一連の処理を終了する。画像85でない場合には、前段処理モジュールからの次の画像情報出力要求を待ち(ステップS35)、画像情報出力要求を受けると、前段処理モジュールに副走査方向2行の逆方向への画像情報読み飛ばし要求を送り、画像情報処理開始位置を2ライン前の先頭画素に設定し(ステップS36)、しかる後ステップS32に戻って上述した一連の処理を繰り返す。
【0071】
このように、上下反転処理モジュール72を含む複数の処理モジュールを接続してなるパイプラインの処理において、上下反転処理モジュール72に画像情報読み飛ばし機能を持たせたことにより、従来の処理方法ではページバッファが必要であった上下反転処理に対して、副走査方向の逆方向へ読み飛ばすことで1ラインの入力バッファしか必要とせず、無駄なメモリを消費せずに効率的な処理を行うことができる。
【0072】
【発明の効果】
以上説明したように、本発明によれば、処理モジュールに画像の一部の不要な情報を読み飛ばす画像情報読み飛ばし機能を持たせたことにより、処理モジュールへの無駄な読み込み処理を抑えることができるためより高速に処理を行うことができ、しかも必要な画像情報位置まで読み飛ばすことで、無駄なバッファリングをなくすことができるため、メモリ消費量を抑えることができる。
【0073】
さらに、画像情報読み飛ばし機能に加えて、その処理モジュールに画像情報を読み飛ばすか否かを判断する制御機能を持たせたことにより、例えば処理モジュールへの入力が入力画像情報を読み飛ばすことで画像情報が欠落してしまうような圧縮情報であるような場合には画像情報を読み飛ばさずに処理を行うような制御ができるため、処理モジュールへの入力が圧縮または非圧縮であるかを気にせずに処理モジュールへの接続を可能にできる。
【図面の簡単な説明】
【図1】 本発明による画像処理装置の構成例を示すブロック図である。
【図2】 本発明の第1実施形態に係る画像処理手段の構成例を示すブロック図である。
【図3】 第1実施形態に係る画像処理手段の変形例を示すブロック図である。
【図4】 処理実行制御手段の構成例を示すブロック図である。
【図5】 画像処理パイプラインの構成例を示すブロック図である。
【図6】 副走査方向の順方向への画像情報の読み飛ばしを行う場合の動作説明図である。
【図7】 副走査方向の逆方向への画像情報の読み飛ばしを行う場合の動作説明図である。
【図8】 主走査方向の順方向への画像情報の読み飛ばしを行う場合の動作説明図である。
【図9】 主走査方向の逆方向への画像情報の読み飛ばしの例を行う場合の動作説明図である。
【図10】 本発明の第2実施形態に係る画像処理手段の構成例を示すブロック図である。
【図11】 第2実施形態に係る画像処理手段の変形例を示すブロック図である。
【図12】 第2実施形態に係る画像処理手段の他の変形例を示すブロック図である。
【図13】 画像情報読み飛ばし制御機能を実現する場合の動作説明図である。
【図14】 処理モジュールの他の構成例を示すブロック図である。
【図15】 第1具体例に係るクリップ処理のパイプラインの構成例を示すブロック図である。
【図16】 画像とそのクリップ領域を示す図である。
【図17】 クリップ処理モジュールの処理例の流れを示すフローチャートである。
【図18】 クリップ処理モジュールが画像を処理する際の流れを示すフローチャートである。
【図19】 第2具体例に係る上下反転処理のパイプラインの構成例を示すブロック図である。
【図20】 上下反転処理モジュールの処理例の流れを示すフローチャートである。
【図21】 上下反転処理前および処理後の画像を示す図である。
【符号の説明】
10…画像処理装置、11…画像記憶手段、12…画像記憶手段、13,13a〜13d…画像処理手段、14…処理実行制御手段、20…ホストアプリケーション、21…処理モジュール、22…前段処理モジュール、23…後段処理モジュール、51,71…画像入力モジュール、52…クリップ処理モジュール、53,73…画像出力処理モジュール、72…上下反転処理モジュール、131−1〜131−N…処理機能、132…画像情報読み飛ばし手段、133…画像情報読み飛ばし制御手段
Claims (6)
- パイプライン形態に接続されて各々所定の処理を実行する複数の処理手段を有する画像処理装置であって、
前記複数の処理手段は、所定の処理を行うに当たって処理対象の画像情報の一部を読み飛ばす画像情報読み飛ばし手段を有し、
後段の処理手段からの画像情報読み飛ばし要求を受けて、前段の処理手段に画像情報読み飛ばしを指示する
ことを特徴とする画像処理装置。 - 前記画像情報読み飛ばし手段は、副走査方向に対して順方向に読み飛ばす機能、副走査方向に対して逆方向に読み飛ばす機能、主走査方向に対して順方向に読み飛ばす機能、主走査方向に対して逆方向に読み飛ばす機能のうちの少なくとも1つを有する
ことを特徴とする請求項1記載の画像処理装置。 - 前記画像情報読み飛ばし手段は、副走査方向に対して順方向に読み飛ばす機能、副走査方向に対して逆方向に読み飛ばす機能、主走査方向に対して順方向に読み飛ばす機能、主走査方向に対して逆方向に読み飛ばす機能のうちの少なくとも2つを有し、これらの機能の中からいずれかの機能を選択して実行する
ことを特徴とする請求項1記載の画像処理装置。 - 前記複数の処理手段は、画像処理命令の種類によって前記画像情報読み飛ばし手段を制御する画像情報読み飛ばし制御手段をさらに有し、
前記画像情報読み飛ばし制御手段は、前段の処理手段が画像情報読み飛ばし可能であるか否かを判断して、可能である場合には前段の処理手段に画像情報読み飛ばし要求を送り、可能でない場合には何もしないかもしくは画像情報読み飛ばしが失敗した旨のエラー通知を後段の処理手段に送る
ことを特徴とする請求項1〜請求項3のいずれかに記載の画像処理装置。 - 各々所定の処理を実行する複数の処理モジュールがパイプライン形態に接続されてなるパイプライン処理において、
前記複数の処理モジュールに、所定の処理を行うに当たって処理対象の画像情報の一部を読み飛ばす画像情報読み飛ばし機能を持たせ、
後段の処理モジュールからの画像情報読み飛ばし要求を受けて、前段の処理モジュールに画像情報読み飛ばしを指示する
ことを特徴とする画像処理方法。 - 前記複数の処理モジュールに、前記画像情報読み飛ばし機能に加えて画像処理命令の種類によって当該画像情報読み飛ばす機能を制御する画像情報読み飛ばし制御機能を持たせ、
前記画像情報読み飛ばし制御機能では、前段の処理モジュールが画像情報読み飛ばし可能であるか否かを判断して、可能である場合には前段の処理モジュールに画像情報読み飛ばし要求を送り、可能でない場合には何もしないかもしくは画像情報読み飛ばしが失敗した旨のエラー通知を後段の処理モジュールに送る
ことを特徴とする請求項5記載の画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002076925A JP4045823B2 (ja) | 2002-03-19 | 2002-03-19 | 画像処理装置および画像処理方法 |
US10/388,809 US20040027609A1 (en) | 2002-03-19 | 2003-03-17 | Image processing apparatus and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002076925A JP4045823B2 (ja) | 2002-03-19 | 2002-03-19 | 画像処理装置および画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003281519A JP2003281519A (ja) | 2003-10-03 |
JP4045823B2 true JP4045823B2 (ja) | 2008-02-13 |
Family
ID=29227854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002076925A Expired - Fee Related JP4045823B2 (ja) | 2002-03-19 | 2002-03-19 | 画像処理装置および画像処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20040027609A1 (ja) |
JP (1) | JP4045823B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004021347A1 (en) * | 2002-09-02 | 2004-03-11 | Settec, Inc. | A copying apparatus for copying a recoding medium, a method thereof and a computer program thereof |
JP4407231B2 (ja) * | 2003-10-16 | 2010-02-03 | セイコーエプソン株式会社 | 印刷装置、印刷処理方法およびそのプログラム |
JP4863438B2 (ja) * | 2004-09-10 | 2012-01-25 | キヤノン株式会社 | データ処理装置及び処理方法 |
US20060245642A1 (en) * | 2005-04-29 | 2006-11-02 | Stmicroelectronics S.R.L. | Software implemented image generating pipeline using a dedicated digital signal processor |
JP4979287B2 (ja) * | 2006-07-14 | 2012-07-18 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
WO2017125151A1 (en) * | 2016-01-20 | 2017-07-27 | Hewlett-Packard Development Company L.P. | Imaging pipeline processing |
US10467142B1 (en) * | 2019-05-07 | 2019-11-05 | 12 Sigma Technologies | Enhancement of real-time response to request for detached data analytics |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2006567B (en) * | 1977-08-25 | 1982-08-25 | Dainippon Screen Mfg | Machine for and method of image production with variable reproduction scale |
JP2692797B2 (ja) * | 1986-09-02 | 1997-12-17 | キヤノン株式会社 | 画像処理装置 |
JP2578448B2 (ja) * | 1987-11-28 | 1997-02-05 | キヤノン株式会社 | 画像処理装置 |
US5557795A (en) * | 1993-06-15 | 1996-09-17 | Xerox Corporation | Pipelined image processing system for a single application environment |
US5995996A (en) * | 1993-06-15 | 1999-11-30 | Xerox Corporation | Pipelined image processing system for a single application environment |
JPH104467A (ja) * | 1996-04-18 | 1998-01-06 | Ricoh Co Ltd | 画像形成装置 |
JP3685421B2 (ja) * | 1996-09-18 | 2005-08-17 | 富士写真フイルム株式会社 | 画像処理装置 |
JP3408124B2 (ja) * | 1997-11-06 | 2003-05-19 | シャープ株式会社 | コンピュータシステムを利用した印刷処理装置 |
JP2000148997A (ja) * | 1998-11-13 | 2000-05-30 | Minolta Co Ltd | 画像処理装置 |
US6870648B2 (en) * | 2001-02-12 | 2005-03-22 | Hewlett-Packard Development Company, L.P. | Apparatus, method and system for scanning a bounded scan area of a scanning device |
-
2002
- 2002-03-19 JP JP2002076925A patent/JP4045823B2/ja not_active Expired - Fee Related
-
2003
- 2003-03-17 US US10/388,809 patent/US20040027609A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20040027609A1 (en) | 2004-02-12 |
JP2003281519A (ja) | 2003-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7605819B2 (en) | Image processing device, method, and storage medium which stores a program | |
JP4979287B2 (ja) | 画像処理装置及びプログラム | |
US7605818B2 (en) | Image processing device, method, and storage medium which stores a program | |
US20060274967A1 (en) | Image processing device, method, and storage medium which stores a program | |
JP4795138B2 (ja) | 画像処理装置及びプログラム | |
US7595803B2 (en) | Image processing device, method, and storage medium which stores a program | |
JP2006338500A (ja) | 画像処理装置、方法及びプログラム | |
JPH04107070A (ja) | 符号,復号装置 | |
US7598957B2 (en) | Image processing device, method, and storage medium which stores a program | |
JP4045823B2 (ja) | 画像処理装置および画像処理方法 | |
US20060274968A1 (en) | Image processing device, method, and storage medium which stores a program | |
JP4051974B2 (ja) | 画像処理装置および画像処理方法 | |
US20070247466A1 (en) | Image processing apparatus and program | |
JP4082051B2 (ja) | 画像処理装置および画像処理方法 | |
JP4816272B2 (ja) | 画像処理装置及び制御プログラム | |
JP2010097346A (ja) | 画像処理装置、プログラム及びシステム | |
JP4259062B2 (ja) | 画像処理装置 | |
JP4062995B2 (ja) | 画像処理装置 | |
JP4818893B2 (ja) | 画像処理装置及びプログラム | |
JP5560785B2 (ja) | 情報処理装置、画像形成装置及び情報処理方法 | |
JP4869890B2 (ja) | 画像処理装置及びプログラム | |
JP2006172244A (ja) | 画像処理装置 | |
JP2008140170A (ja) | 画像処理装置及びプログラム | |
US8566597B2 (en) | Digital signature program, digital signature apparatus, and digital signature method | |
JP4677327B2 (ja) | 画像処理装置、画像処理方法及びコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040917 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070718 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070724 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070920 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071112 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101130 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4045823 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111130 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111130 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121130 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121130 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131130 Year of fee payment: 6 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |