JP2007279829A - 画像処理装置およびプログラム - Google Patents
画像処理装置およびプログラム Download PDFInfo
- Publication number
- JP2007279829A JP2007279829A JP2006102067A JP2006102067A JP2007279829A JP 2007279829 A JP2007279829 A JP 2007279829A JP 2006102067 A JP2006102067 A JP 2006102067A JP 2006102067 A JP2006102067 A JP 2006102067A JP 2007279829 A JP2007279829 A JP 2007279829A
- Authority
- JP
- Japan
- Prior art keywords
- data
- amount
- image
- image data
- processing
- 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.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Image Input (AREA)
Abstract
【課題】パイプライン処理を行いつつ、キャッシュメモリを効率良く使用できるようにする。
【解決手段】画像データから抽出されてキャッシュメモリに書き込まれるデータのデータ量Nを、画像データからデータが抽出される毎に順次増加させ、抽出されたデータをパイプライン処理機能により画像処理する。この際、キャッシュメモリにデータ量Nの画像データが書き込まれてからパイプラインによる該データ量Nの画像データの加工が終了するまでの処理時間を、増加したデータ量N毎に計時する。そして、計時された処理時間を解析し、データ量Nの増加に応じて処理時間の変化量が増大した場合、データ量Nの増加を停止させ、画像データから抽出してキャッシュメモリに書き込むデータ量を変化量が増大する前のデータ量に固定する。
【選択図】図1
【解決手段】画像データから抽出されてキャッシュメモリに書き込まれるデータのデータ量Nを、画像データからデータが抽出される毎に順次増加させ、抽出されたデータをパイプライン処理機能により画像処理する。この際、キャッシュメモリにデータ量Nの画像データが書き込まれてからパイプラインによる該データ量Nの画像データの加工が終了するまでの処理時間を、増加したデータ量N毎に計時する。そして、計時された処理時間を解析し、データ量Nの増加に応じて処理時間の変化量が増大した場合、データ量Nの増加を停止させ、画像データから抽出してキャッシュメモリに書き込むデータ量を変化量が増大する前のデータ量に固定する。
【選択図】図1
Description
本発明は、パイプライン方式で画像処理を行う技術に関する。
入力された画像データに各種画像処理を施して出力する画像処理装置が種々提案されており、その一例としては、特許文献1に開示されたパイプライン方式の画像処理装置がある。特許文献1には、画像の拡大や縮小、解像度変換や色変換などの基本的な処理を実行するモジュールを各処理毎に備え、これらモジュールを適宜組み合わせてパイプラインを形成し、そのパイプラインを形成するモジュールを順次機能させることによって、多様な画像処理を柔軟に実現する画像処理装置が開示されている。
特開平7−105020号公報
さて、上記パイプライン方式の画像処理装置では、モジュールの処理結果を、次の処理を行うモジュールへ引き渡す必要があり、このようなデータの引渡しは、例えば、以下のようにして行われる。まず、各モジュールの起動に先立って、画像処理を行うプロセッサのキャッシュメモリ内に各モジュールが使用するデータを格納するための領域が割り当てられる。そして、前段のモジュールは、処理結果であるデータを自身に割り当てられている領域に書き込むとともに、後段のモジュールに割り当てられている領域に引き渡すようになっている。
ここで、キャッシュメモリのサイズは小さいため、処理するデータのサイズがキャッシュメモリに割り当てられた領域サイズより大であるとキャッシュのヒットミスが生じ、キャッシュメモリを使用しているにも拘わらず処理の高速化が実現されないこととなる。
本発明は、上述した背景の下になされたものであり、パイプライン処理を行いつつ、キャッシュメモリを効率良く使用できる技術を提供することを目的とする。
上述した課題を解決するために本発明は、キャッシュメモリに書き込まれた画像データを加工する複数のモジュールを組み合わせて構成されたパイプラインにより画像処理を行う画像処理装置であって、画像データを記憶する記憶手段と、前記画像データから抽出されて前記キャッシュメモリに書き込まれるデータのデータ量Nを、前記画像データからデータが抽出される毎に所定のデータ量から順次増加させる可変手段と、前記記憶手段に記憶された画像データから前記データ量Nの画像データを抽出し、抽出したデータ量Nの画像データをキャッシュメモリに書き込む書込手段と、前記書込手段によりキャッシュメモリにデータ量Nの画像データが書き込まれてから前記パイプラインによる該データ量Nの画像データの加工が終了するまでの処理時間を前記可変手段により増加させられたデータ量N毎に計時する計時手段と、前記計時手段により計時された処理時間を解析し、前記データ量Nの増加に応じて前記処理時間の変化量が増大した場合、前記可変手段によるデータ量Nの増加を停止させ、前記画像データから抽出してキャッシュメモリに書き込むデータ量を変化量が増大する前のデータ量に固定するデータ量固定手段とを備えることを特徴とする画像処理装置を提供する。
また、本発明は、キャッシュメモリに書き込まれた画像データを加工する複数のモジュールを組み合わせて構成されたパイプラインにより画像処理を行う画像処理装置であって、画像データを記憶する記憶手段と、前記画像データから抽出されて前記キャッシュメモリに書き込まれるデータのデータ量Nを、前記画像データからデータが抽出される毎に所定のデータ量から順次減少させる可変手段と、前記記憶手段に記憶された画像データから前記データ量Nの画像データを抽出し、抽出したデータ量Nの画像データをキャッシュメモリに書き込む書込手段と、前記書込手段によりキャッシュメモリにデータ量Nの画像データが書き込まれてから前記パイプラインによる該データ量Nの画像データの加工が終了するまでの処理時間を前記可変手段により増加させられたデータ量N毎に計時する計時手段と、前記計時手段により計時された処理時間を解析し、前記データ量Nの減少に応じて前記処理時間の変化量が減少した場合、前記可変手段によるデータ量Nの減少を停止させ、前記画像データから抽出してキャッシュメモリに書き込むデータ量を変化量が減少したときのデータ量に固定するデータ量固定手段とを備えることを特徴とする画像処理装置を提供する。
また、本発明は、コンピュータ装置を、キャッシュメモリに書き込まれた画像データを加工する複数のモジュールを組み合わせて構成されたパイプラインにより画像処理を行う装置として機能させるプログラムであって、コンピュータ装置に、画像データを記憶する記憶ステップと、前記画像データから抽出されて前記キャッシュメモリに書き込まれるデータのデータ量Nを、前記画像データからデータが抽出される毎に所定のデータ量から順次増加させる可変ステップと、前記記憶ステップにより記憶された画像データから前記データ量Nの画像データを抽出し、抽出したデータ量Nの画像データをキャッシュメモリに書き込む書込ステップと、前記書込ステップによりキャッシュメモリにデータ量Nの画像データが書き込まれてから前記パイプラインによる該データ量Nの画像データの加工が終了するまでの処理時間を前記可変ステップにより増加させられたデータ量N毎に計時する計時ステップと、前記計時ステップにより計時された処理時間を解析し、前記データ量Nの増加に応じて前記処理時間の変化量が増大した場合、前記可変ステップによるデータ量Nの増加を停止させ、前記画像データから抽出してキャッシュメモリに書き込むデータ量を変化量が増大する前のデータ量に固定するデータ量固定ステップとを実行させるプログラムを提供する。
本発明によれば、パイプライン処理を行いつつ、キャッシュメモリを効率良く使用することができる。
[実施形態の構成]
図1は、本発明の実施形態に係る画像形成装置1の要部の構成を示したブロック図である。図1に示したように、画像形成装置1の各部は、バス101に接続されており、このバス101を介して各部間でデータの授受を行う。
図1は、本発明の実施形態に係る画像形成装置1の要部の構成を示したブロック図である。図1に示したように、画像形成装置1の各部は、バス101に接続されており、このバス101を介して各部間でデータの授受を行う。
画像入力部108は、文書を光学的に読み取るスキャナ機構や、文書をスキャナ機構に搬送するADF(Auto Document Feeder)を具備している。ADFにセットされた文書は、スキャナ機構が具備するプラテンガラス上に一枚づつ搬送される。スキャナ機構は、ADFによってプラテンガラス上に搬送された文書に光を照射する。そして文書で反射した光をCCD(Charge Coupled Device)により読み取り、読み取った文書を表す画像データを生成する。この画像データは記憶部105に記憶される。
入力部106は、テンキーや矢印キー等、画像形成装置1を操作するための各種キーを備えている。ユーザがこれらのキーを操作することにより、画像形成装置1に対する各種指示の入力や画像形成装置1の各種設定が行われる。表示部107は、例えば、液晶ディスプレイ等の表示デバイスを有しており、CPU102の制御の下、画像形成装置1を操作するためのメニュー画面や各種メッセージ等を表示する。
通信部110は、LAN(Local Area Network:図示略)に接続されており、同じくLANに接続されているパーソナルコンピュータ等のコンピュータ装置(図示略)と通信を行う通信インターフェースとして機能する。通信部110は、LANを介して送られた画像データや、画像データが表す画像を形成する際の書式を表す書式データを受信する。この受信されたデータは記憶部105に記憶される。
画像形成部109は、電子写真方式によって記録シートにトナー像を形成する画像形成エンジン(図示略)を具備している。この画像形成エンジンは中間転写方式を採用しており、Y(Yellow),M(Magenta),C(Cyan),K(黒)の各色のトナー像を形成する画像形成ユニットを備えている。各画像形成ユニットは、記憶部105に記憶された画像データに従って感光体上に静電潜像を形成した後、感光体上にトナーを付着させてYMCKの各色のトナー像を形成する。そして、このトナー像を中間転写ベルトに転写した後、中間転写ベルトに転写されたトナー像を用紙トレイから搬送される記録シートに転写する。そして、記録シートに転写されたトナー像に熱と圧力を加えて定着させた後、トナー像が形成された記録シートを画像形成装置1外へ排出する。
記憶部105はハードディスク装置を具備しており、画像入力部108で生成された画像データや通信部110で受信した画像データ等の各種データを記憶する。ROM103は、CPU102により実行されるプログラムを記憶している。具体的には、ROM103は、オペレーティングシステム(Operating System:以下「OS」と略称する)の機能をCPU102に実現させるためのOSプログラムと、パイプライン方式の画像処理を行うパイプライン処理機能を実現させるためのパイプラインプログラムと、パイプライン処理機能を構成する画像処理モジュールをCPU102に実現させる複数のモジュールプログラムA〜Cを記憶している。例えば、モジュールプログラムAは、画像の輪郭を際だたせる処理(以下、「シャープネスフィルタリング処理」)を処理対象の画像データに施す処理モジュールAを実現させるためのプログラムであり、モジュールプログラムBは、画像の画線部と非画線部の濃度差を調整する処理(以下、「コントラスト調整処理」)を処理対象の画像データに施す処理モジュールBを実現させるためのプログラムである。また、モジュールプログラムCは、画像の色調を調整する処理(以下、「色調整処理」)を処理対象の画像データに施す処理モジュールCを実現させるためのプログラムである。
CPU102は、キャッシュメモリ102aを備えており、ROM103に記憶されているOSプログラムを読み出し、RAM104を作業エリアにしてOSプログラムを実行し、画像形成装置1の各部を制御する。また、CPU102は、ROM103からパイプラインプログラムと、モジュールプログラムA〜Cを読み出して実行する。CPU102がパイプラインプログラムを実行すると、モジュールプログラムA〜CがROM103から読み出されてCPU102により実行される。ここで、モジュールプログラムA〜Cが実行される際には、CPU102が備えるキャッシュメモリ102aにおいて、図2に示したように、処理モジュールAにより使用されるキャッシュ領域であって容量がSバイトのキャッシュ領域A、処理モジュールBにより使用されるキャッシュ領域であって容量がSバイトのキャッシュ領域B、および処理モジュールCにより使用されるキャッシュ領域であって容量がSバイトのキャッシュ領域Cが確保される。
そして、モジュールプログラムA〜Cが実行されると、図3に示したように処理モジュールA〜Cが実現し、パイプライン方式の画像処理を行うパイプライン処理機能が実現する。パイプライン処理機能が実現すると、記憶部105に記憶されている画像データがキャッシュ領域Aに格納される。処理モジュールAは、キャッシュ領域Aに格納された画像データに画像処理を施し、この画像処理を施した画像データをキャッシュ領域Bに引き渡す。次に処理モジュールBは、キャッシュ領域Bに格納された画像データに画像処理を施し、この画像処理を施した画像データをキャッシュ領域Cに引き渡す。そして、処理モジュールCは、キャッシュ領域Cに格納された画像データに画像処理を施し、この画像処理を施した処理画像データを記憶部105に記憶する。
[実施形態の動作]
次に、本実施形態の動作について図面を参照して説明する。
次に、本実施形態の動作について図面を参照して説明する。
(初期化動作)
まず、画像形成装置1の電源が投入されると、CPU102は、ROM103に記憶されているOSプログラムを読み出して実行する。これにより、画像形成装置1の各部を制御する機能が実現する。CPU102は、OSプログラムを実行した後、パイプラインプログラムを読み出して実行する。
まず、画像形成装置1の電源が投入されると、CPU102は、ROM103に記憶されているOSプログラムを読み出して実行する。これにより、画像形成装置1の各部を制御する機能が実現する。CPU102は、OSプログラムを実行した後、パイプラインプログラムを読み出して実行する。
パイプラインプログラムが実行されると、モジュールプログラムA〜CがROM103から読み出されてCPU102により実行される。ここで、モジュールプログラムA〜Cが実行される際には、CPU102が備えるキャッシュメモリ102aにおいて、図2に示したように、処理モジュールAにより使用されるキャッシュ領域A、処理モジュールBにより使用されるキャッシュ領域B、および処理モジュールCにより使用されるキャッシュ領域Cが確保される。そして、モジュールプログラムA〜Cが実行されると、図3に示したように処理モジュールA〜Cが実現し、パイプライン方式の画像処理を行うパイプライン処理機能が実現する。
(画像処理動作)
次にパイプライン処理機能により画像処理が行われるときの動作について説明する。まず、LANを介して送信された画像データが通信部110にて受信されると、この画像データは記憶部105に記憶される。画像データが記憶部105に記憶されると、キャッシュ領域Aに格納するために記憶部105から抽出するデータの量を表す変数Nが初期化されて変数Nの値が「1」になる(図4:ステップSA1)。
次にパイプライン処理機能により画像処理が行われるときの動作について説明する。まず、LANを介して送信された画像データが通信部110にて受信されると、この画像データは記憶部105に記憶される。画像データが記憶部105に記憶されると、キャッシュ領域Aに格納するために記憶部105から抽出するデータの量を表す変数Nが初期化されて変数Nの値が「1」になる(図4:ステップSA1)。
変数Nの値が初期化されると、パイプライン処理機能による画像処理が開始されてから画像処理が終了するまでの画像処理時間のカウントが開始され(ステップSA2)、この後、パイプライン処理機能による画像処理が行われる(ステップSA3)。
具体的には、記憶部105に記憶された画像データから変数Nが表す量のデータ(ここではNが1であるため1バイト分)が抽出され、抽出されたデータがキャッシュ領域Aに格納される(図5(a))。処理モジュールAは、キャッシュ領域Aに1バイト分のデータが格納されると、格納されたデータを読み込んで画像処理を施し(図5(b))、この画像処理を施したデータをキャッシュ領域Bに引き渡す(図5(c))。次に処理モジュールBは、キャッシュ領域Bに引き渡された1バイト分のデータを読み込んで画像処理を施す(図5(d))。ここで処理モジュールBは、キャッシュメモリに格納されたデータを読み込むので処理が高速に行われる。処理モジュールBは、画像処理を終了すると、この画像処理を施したデータをキャッシュ領域Cに引き渡す(図5(e))。そして、処理モジュールCは、キャッシュ領域Cに引き渡された1バイト分のデータに画像処理を施す。ここでも、処理モジュールCは、キャッシュメモリに格納されたデータを読み込むので処理が高速に行われる。処理モジュールCは、画像処理を終了すると、この画像処理を施した処理画像データを記憶部105に記憶する(図5(f))。
ここで、処理モジュールCによる画像処理が終了すると、画像処理時間のカウントが停止され(ステップSA4)、変数Nとカウントされた画像処理時間T1とが対応付けされて記憶部105に記憶される(ステップSA5)。そして、この後に記憶部105が参照され、記憶部105に画像処理時間が2以上記憶されているか否かが判断される(ステップSA6)。この時点では、画像処理時間Tは一つしか記憶されていないので(ステップSA6;NO)、この後、記憶部105に記憶されている画像データについて画像処理が終了したか否かが判断される(ステップSA7)。ここでは、まだ1バイト分のデータしか処理されていないので、終了していないと判断される。ここで画像処理が終了していないと判断されると、変数Nに「1」が加算されて(ステップSA8)変数Nが「2」となる。そして処理の流れがステップSA2に戻される。
処理の流れがステップSA2に戻されると、画像処理時間Tが一旦初期化された後、再び画像処理時間Tのカウントが開始され(ステップSA2)、この後、パイプライン処理機能による画像処理が行われる(ステップSA3)。
具体的には、記憶部105に記憶された画像データにおいて、画像処理が施されていないデータの中から変数Nが表す量のデータ(ここではNが2であるため2バイト分)が抽出され、抽出されたデータがキャッシュ領域Aに格納される(図6(a))。処理モジュールAは、キャッシュ領域Aに2バイト分のデータが格納されると、格納された2バイト分のデータを読み込んで画像処理を施し(図6(b))、この画像処理を施したデータをキャッシュ領域Bに引き渡す(図6(c))。ここで処理モジュールBは、キャッシュメモリに格納されたデータを読み込む(図6(d))ので処理が高速に行われる。処理モジュールBは、画像処理を終了すると、この画像処理を施したデータをキャッシュ領域Cに引き渡す(図6(e))。そして、処理モジュールCは、キャッシュ領域Cに格納された2バイト分のデータに画像処理を施す。ここでも、処理モジュールCは、キャッシュメモリに格納されたデータを読み込むので処理が高速に行われる。処理モジュールCは、画像処理を終了すると、この画像処理を施した処理画像データを記憶部105に記憶する(図6(f))。
処理モジュールCによる画像処理が終了すると、画像処理時間Tのカウントが停止され(ステップSA4)、変数Nとカウントした画像処理時間T2とが対応付けされて記憶部105に記憶される(ステップSA5)。ここでカウントされた画像処理時間T2は、記憶部105から抽出したデータ量が1バイトのとき(変数Nが1のとき)の画像処理時間T1と比較すると、処理するデータの量が2バイトに増えているので、図7に示したように、その分だけ処理時間が増加している。
次に、画像形成装置1においては記憶部105が参照され、記憶部105に画像処理時間Tが2以上記憶されているので(ステップSA6;YES)、記憶部105から抽出したデータ量が1バイトのときにカウントした画像処理時間T1と、データ量が2バイトのときにカウントした画像処理時間T2との時間差(T2−T1)、即ち、キャッシュ領域にデータを格納する際に記憶部105から抽出するデータの量を増やしたことに伴って増加した画像処理時間の増加量の算出が行われる。そして、この算出された時間差が変数Nに対応付けられて記憶部105に記憶される(ステップSA9)。
次に、画像形成装置1においては記憶部105が参照され、記憶部105に時間差が2以上記憶されているか否かが判断される(ステップSA10)。この時点では、時間差は一つしか記憶されていないので、ステップSA10でNOと判断される。
ステップSA10でNOと判断されると、この後、記憶部105に記憶されている画像データについて画像処理が終了したか否かが判断される(ステップSA7)。ここでは、まだ3バイト分のデータしか処理されていないので、終了していないと判断され、変数Nに「1」が加算されて変数Nが「3」となる(ステップSA8)。そして、処理の流れがステップSA2に戻される。
処理の流れがステップSA2に戻されると、画像処理時間Tが一旦初期化された後、再び画像処理時間Tのカウントが開始され(ステップSA2)、この後、パイプライン処理機能による画像処理が行われ(ステップSA3)、画像処理が終了すると、画像処理時間Tのカウントが停止される(ステップSA4)。そして、変数Nとカウントした画像処理時間T3とが対応付けされて記憶部105に記憶された後(ステップSA5)、カウントした画像処理時間T3と、画像処理時間T2との時間差の算出が行われる。そして、この算出された時間差(T3−T2)が記憶部105に記憶される(ステップSA9)。
ここで、記憶部105された時間差の数が2以上になると(ステップSA10;YES)、算出した時間差と、変数Nが「N−1」であった時に算出した時間差との比較(換言すると、記憶部105から抽出したデータ量がN−2バイトからN−1バイトへ増加したときの画像処理時間の増加量と、データ量がN−1バイトからNバイトへ増加したときの画像処理時間の増加量との比較)が行われる。ここでは、変数Nの値が「3」であるため、記憶部105から抽出されたデータ量が3バイトのときに掛かった画像処理時間T3とデータ量が2バイトのときに掛かった画像処理時間T2の時間差D2(T3−T2)と、データ量が2バイトのときに掛かった画像処理時間T2とデータ量が1バイトのときに掛かった画像処理時間T1の時間差D1(T2−T1)との比較が行われる(ステップSA11)。
ここで、算出した時間差D2が時間差D1以下である場合(ステップSA11;YES)(換言すると、キャッシュ領域に格納されるデータ量が「2バイト」から「3バイト」へ増加したときの画像処理時間の増加量が、キャッシュ領域に格納されるデータ量が「1バイト」から「2バイト」へ増加したときの画像処理時間の増加量より少ないか等しい場合)、ステップSA7およびステップSA8の処理が行われた後、処理の流れがステップSA2に移行する。
この後、上述したステップSA2〜ステップSA11、ステップSA7〜ステップSA8の処理が繰り返され、順次増加した変数Nの値が「S+1」、即ち、キャッシュ領域の容量Sの値より大きくなると、画像処理時間Tが一旦初期化された後、再び画像処理時間Tのカウントが開始され(ステップSA2)、この後、パイプライン処理機能による画像処理が行われる(ステップSA3)。
この場合、記憶部105からS+1バイトのデータが抽出されるが、抽出した量のデータは一度にはキャッシュ領域に格納できないため、まず、読み出したS+1バイトのデータのうち、キャッシュ領域Aに格納できる分のデータ(Sバイト)がキャッシュ領域Aに格納される(図8(a))。
この場合、記憶部105からS+1バイトのデータが抽出されるが、抽出した量のデータは一度にはキャッシュ領域に格納できないため、まず、読み出したS+1バイトのデータのうち、キャッシュ領域Aに格納できる分のデータ(Sバイト)がキャッシュ領域Aに格納される(図8(a))。
処理モジュールAは、キャッシュ領域AにSバイト分のデータが格納されると、格納されたデータを読み込んで画像処理を施し(図8(b))、この画像処理を施したデータをキャッシュ領域Bに引き渡す(図8(c))。次に処理モジュールBは、キャッシュ領域Bに格納されたSバイト分のデータを読み込んで画像処理を施す(図8(d))。処理モジュールBは、画像処理を終了すると、この画像処理を施したデータをキャッシュ領域Cに引き渡す(図8(e))。そして、処理モジュールCは、キャッシュ領域Cに格納されたSバイト分のデータに画像処理を施す。処理モジュールCは、画像処理を終了すると、この画像処理を施した処理画像データを記憶部105に記憶する(図8(f))。
次に画像形成装置1においては、抽出したS+1バイトのデータのうち、まだ画像処理が行われていない残りの1バイトのデータをキャッシュ領域Aに格納する。データがキャッシュ領域Aに格納されると、変数Nが「1」のときと同様に各処理モジュールにより画像処理が行われ、この画像処理が施された処理データが記憶部105に記憶される。これにより、読み出されたNバイト(S+1バイト)のデータの画像処理が終了する。
ここで、処理モジュールCによる画像処理が終了すると、画像処理時間Tのカウントが停止され(ステップSA4)、変数Nとカウントした画像処理時間Tnとが対応付けされて図9に示したように記憶部105に記憶される(ステップSA5)。このようにキャッシュ領域の容量Sより大きなサイズのデータを記憶部105から抽出してキャッシュ領域に格納しようとすると、読み出されたデータは一度にキャッシュ領域に格納することができず、キャッシュ領域に格納できなかった分のデータを後で処理することになるため、画像処理時間Tは、この後で処理した分だけ増えることとなる。
次に、画像形成装置1においては記憶部105が参照され、記憶部105に画像処理時間Tが2以上記憶されているので(ステップSA6;YES)、記憶部105から抽出したデータ量がSバイトのときにカウントした画像処理時間Tn−1と、データ量がS+1バイトのときにカウントした画像処理時間Tnとの時間差Dn、即ち、キャッシュ領域にデータを格納する際に記憶部105から抽出するデータの量を増やしたことに伴って増加した画像処理時間の増加量の算出が行われる。そして、この算出された時間差が変数Nに対応付けられて記憶部105に記憶される(ステップSA9)。
次に画像形成装置1においては、時間差が2以上記憶されているので(ステップSA10;YES)、この算出した時間差Dと、変数Nが「N−1」であった時に算出した時間差Dn−1との比較(換言すると、キャッシュ領域に格納するために記憶部105から抽出されたデータ量がS−1バイトからSバイトへ増加したときの画像処理時間の増加量と、データ量がSバイトからS+1バイトへ増加したときの画像処理時間の増加量との比較)が行われる(ステップSA11)。
抽出したデータ量がSバイトのときには、抽出したデータを一度にキャッシュ領域に格納できるため、抽出されたデータ量がS−1バイトからSバイトへ増加したときの画像処理時間の増加量は、それまの画像処理時間の増加量と比較して大きく変化することがない。一方、抽出したデータ量がS+1バイトのときには、上述したようにパイプラインによる画像処理が2回行われ、抽出したデータ量がSバイトの場合と比較して処理時間が大幅に増加しているため、算出した処理時間の増加量は、それまでの増加量と比較して大幅に大となる(図7)。
ここで、この算出した時間差Dと、変数Nが「N−1」であった時に算出した時間差Dn−1より大になったと判断されると(ステップSA11;NO)、これ以降、記憶部105から読み出されるデータ量は、変数Nが表す値Nから1を引いた「N−1」バイト(即ちSバイト)に固定される。そして、ステップSA3と同様にパイプライン機能による画像処理(ステップSA12)が実行され、記憶部105に記憶されている画像データについて画像処理が終了すると(ステップSA14;YES)、記憶部105に記憶された処理画像データに従って記録シートに画像が形成されて出力される。
以上説明したように、本実施形態によれば、処理モジュールに対応して確保されたキャッシュ領域の容量に対応して、記憶部105からキャッシュメモリへ格納するデータの量を制御するので、キャッシュミスが発生する回数が少なくなり、効率良く画像処理を行うことができる。
[変形例]
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。
上述した実施形態においては、3つのモジュールプログラムがROM103に記憶されており、この3つのモジュールプログラムにより実現する画像処理モジュールで画像処理のパイプラインが構成されている場合について説明したが、ROM103に記憶されるモジュールプログラムの数は3つに限定される2または4以上であってもよい。また、画像処理のパイプラインを構成する画像処理のモジュールの数は、2または4以上であってもよい。
上述した各処理モジュールにおいては、次の処理モジュールが使用するキャッシュ領域に引き渡すデータ量が各々同じとなっているが、画像処理の内容によっては処理後のデータの量が異なり、次のモジュールに引き渡すデータの量が処理モジュール毎に異なる場合もある。
上述した実施形態においては、変数Nの値を順次増加させていっているが、予め定めた値から順次減少させていき、処理時間の減少量が大きく変化したところで、変数Nの値を固定するようにしてもよい。
上述した実施形態においては、パイプライン処理機能と、処理モジュールA〜Cは画像形成装置1において実現されているが、パイプライン処理機能と、処理モジュールA〜Cをパーソナルコンピュータ装置やサーバ装置等のコンピュータ装置上で実現し、画像処理をこれらのコンピュータ装置で行い、画像処理の結果を画像形成装置1に出力するようにしてもよい。
上述した実施形態においては、OSプログラム、パイプラインプログラム、およびモジュールプログラムA〜CはROMに記憶されているが、これらのプログラムは記憶部105に記憶させるようにしてもよい。また、これらのプログラムをCD−ROMやDVD等の記録媒体に記録し、CPU102は、この記録媒体から各種プログラムを読み出して実行するようにしてもよいし、これらのプログラムを記録媒体から読み出して記憶部105にインストールするようにしてもよい。また、これらのプログラムを通信ネットワークを介してサーバ装置からダウンロードしてインストールするようにしてもよい。
1・・・画像形成装置、101・・・バス、102・・・CPU、102a・・・キャッシュメモリ、103・・・ROM、104・・・RAM、105・・・記憶部、106・・・入力部、107・・・表示部、108・・・画像入力部、109・・・画像形成部、110・・・通信部
Claims (3)
- キャッシュメモリに書き込まれた画像データを加工する複数のモジュールを組み合わせて構成されたパイプラインにより画像処理を行う画像処理装置であって、
画像データを記憶する記憶手段と、
前記画像データから抽出されて前記キャッシュメモリに書き込まれるデータのデータ量Nを、前記画像データからデータが抽出される毎に所定のデータ量から順次増加させる可変手段と、
前記記憶手段に記憶された画像データから前記データ量Nの画像データを抽出し、抽出したデータ量Nの画像データをキャッシュメモリに書き込む書込手段と、
前記書込手段によりキャッシュメモリにデータ量Nの画像データが書き込まれてから前記パイプラインによる該データ量Nの画像データの加工が終了するまでの処理時間を前記可変手段により増加させられたデータ量N毎に計時する計時手段と、
前記計時手段により計時された処理時間を解析し、前記データ量Nの増加に応じて前記処理時間の変化量が増大した場合、前記可変手段によるデータ量Nの増加を停止させ、前記画像データから抽出してキャッシュメモリに書き込むデータ量を変化量が増大する前のデータ量に固定するデータ量固定手段と
を備えることを特徴とする画像処理装置。 - キャッシュメモリに書き込まれた画像データを加工する複数のモジュールを組み合わせて構成されたパイプラインにより画像処理を行う画像処理装置であって、
画像データを記憶する記憶手段と、
前記画像データから抽出されて前記キャッシュメモリに書き込まれるデータのデータ量Nを、前記画像データからデータが抽出される毎に所定のデータ量から順次減少させる可変手段と、
前記記憶手段に記憶された画像データから前記データ量Nの画像データを抽出し、抽出したデータ量Nの画像データをキャッシュメモリに書き込む書込手段と、
前記書込手段によりキャッシュメモリにデータ量Nの画像データが書き込まれてから前記パイプラインによる該データ量Nの画像データの加工が終了するまでの処理時間を前記可変手段により増加させられたデータ量N毎に計時する計時手段と、
前記計時手段により計時された処理時間を解析し、前記データ量Nの減少に応じて前記処理時間の変化量が減少した場合、前記可変手段によるデータ量Nの減少を停止させ、前記画像データから抽出してキャッシュメモリに書き込むデータ量を変化量が減少したときのデータ量に固定するデータ量固定手段と
を備えることを特徴とする画像処理装置。 - コンピュータ装置を、
キャッシュメモリに書き込まれた画像データを加工する複数のモジュールを組み合わせて構成されたパイプラインにより画像処理を行う装置として機能させるプログラムであって、
コンピュータ装置に、
画像データを記憶する記憶ステップと、
前記画像データから抽出されて前記キャッシュメモリに書き込まれるデータのデータ量Nを、前記画像データからデータが抽出される毎に所定のデータ量から順次増加させる可変ステップと、
前記記憶ステップにより記憶された画像データから前記データ量Nの画像データを抽出し、抽出したデータ量Nの画像データをキャッシュメモリに書き込む書込ステップと、
前記書込ステップによりキャッシュメモリにデータ量Nの画像データが書き込まれてから前記パイプラインによる該データ量Nの画像データの加工が終了するまでの処理時間を前記可変ステップにより増加させられたデータ量N毎に計時する計時ステップと、
前記計時ステップにより計時された処理時間を解析し、前記データ量Nの増加に応じて前記処理時間の変化量が増大した場合、前記可変ステップによるデータ量Nの増加を停止させ、前記画像データから抽出してキャッシュメモリに書き込むデータ量を変化量が増大する前のデータ量に固定するデータ量固定ステップと
を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006102067A JP2007279829A (ja) | 2006-04-03 | 2006-04-03 | 画像処理装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006102067A JP2007279829A (ja) | 2006-04-03 | 2006-04-03 | 画像処理装置およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007279829A true JP2007279829A (ja) | 2007-10-25 |
Family
ID=38681242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006102067A Pending JP2007279829A (ja) | 2006-04-03 | 2006-04-03 | 画像処理装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007279829A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012529695A (ja) | 2009-06-16 | 2012-11-22 | ユニバーシティ−インダストリ コーポレーション グループ オブ キュン ヘ ユニバーシティ | メディアデータカスタマイズ |
JP2013132012A (ja) * | 2011-12-22 | 2013-07-04 | Hiroshima Univ | 映像配信プラットフォームおよび映像配信方法 |
US8775767B2 (en) | 2010-09-10 | 2014-07-08 | International Business Machines Corporation | Method and system for allocating memory to a pipeline |
JP2015534169A (ja) * | 2012-09-07 | 2015-11-26 | 日本テキサス・インスツルメンツ株式会社 | マルチメディアデータ処理のための方法及びシステム |
JP2018124607A (ja) * | 2017-01-30 | 2018-08-09 | オムロン株式会社 | 画像処理システム、情報処理装置、情報処理方法、および情報処理プログラム |
-
2006
- 2006-04-03 JP JP2006102067A patent/JP2007279829A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012529695A (ja) | 2009-06-16 | 2012-11-22 | ユニバーシティ−インダストリ コーポレーション グループ オブ キュン ヘ ユニバーシティ | メディアデータカスタマイズ |
US9008464B2 (en) | 2009-06-16 | 2015-04-14 | University-Industry Cooperation Group Of Kyung Hee University | Media data customization |
US8775767B2 (en) | 2010-09-10 | 2014-07-08 | International Business Machines Corporation | Method and system for allocating memory to a pipeline |
JP2013132012A (ja) * | 2011-12-22 | 2013-07-04 | Hiroshima Univ | 映像配信プラットフォームおよび映像配信方法 |
JP2015534169A (ja) * | 2012-09-07 | 2015-11-26 | 日本テキサス・インスツルメンツ株式会社 | マルチメディアデータ処理のための方法及びシステム |
JP2018124607A (ja) * | 2017-01-30 | 2018-08-09 | オムロン株式会社 | 画像処理システム、情報処理装置、情報処理方法、および情報処理プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007279829A (ja) | 画像処理装置およびプログラム | |
JP2007068040A (ja) | 画像形成装置 | |
JP2012056161A (ja) | 画像処理装置及び画像形成装置 | |
JPH11234490A (ja) | 画像形成装置 | |
JP2017047642A (ja) | 先行rip時におけるrip後データ保存方法 | |
JP2007021808A (ja) | 画像形成装置 | |
JP2008078923A (ja) | 印刷制御装置およびそれを備えてなる印刷装置、印刷制御方法 | |
JP2010171732A (ja) | 画像形成装置 | |
JP3756856B2 (ja) | 画像形成装置及び画像形成システム | |
US9619395B2 (en) | Storage medium and information processing device for exchanging data with secondary storage section through cache | |
JP7176355B2 (ja) | 画像処理装置、画像処理装置の制御方法およびプログラム | |
JP2004222223A (ja) | カラー画像形成装置およびカラー画像形成装置の制御方法およびプログラムおよび記憶媒体 | |
JP5269044B2 (ja) | 画像処理装置及び画像形成装置 | |
JP2011103635A (ja) | 画像形成システム | |
JP2002108584A (ja) | 画像処理装置および画像形成装置 | |
JP2012222591A (ja) | 画像処理装置、画像処理装置の制御方法、および画像処理装置の制御プログラム | |
JP5107086B2 (ja) | 画像形成装置 | |
JP6091481B2 (ja) | 画像処理装置、画面表示方法 | |
JP4044581B2 (ja) | 画像形成装置及び画像形成システム並びに画像形成動作の制御方法 | |
JP4359047B2 (ja) | 画像形成装置 | |
JPH07212568A (ja) | 画像形成装置 | |
JP3954513B2 (ja) | 画像形成装置、画像形成システムおよび画像形成方法 | |
JP2009218924A (ja) | 画像処理装置および画像形成装置 | |
JP2011123212A (ja) | 画像形成装置、画像形成方法、画像形成プログラム及び記録媒体 | |
JP6085942B2 (ja) | 情報処理装置、画像形成装置、データ処理方法 |