JP4189577B2 - 色変換処理装置 - Google Patents
色変換処理装置 Download PDFInfo
- Publication number
- JP4189577B2 JP4189577B2 JP2003083301A JP2003083301A JP4189577B2 JP 4189577 B2 JP4189577 B2 JP 4189577B2 JP 2003083301 A JP2003083301 A JP 2003083301A JP 2003083301 A JP2003083301 A JP 2003083301A JP 4189577 B2 JP4189577 B2 JP 4189577B2
- Authority
- JP
- Japan
- Prior art keywords
- color conversion
- holding area
- data holding
- job
- memory
- 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
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Color, Gradation (AREA)
- Image Processing (AREA)
- Storing Facsimile Image Data (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
Description
【発明の属する技術分野】
この発明は、PS(ポストスクリプト)プリンタやMFP(Multi Function Products)等に搭載され、カラーマネージメントシステム(CMM)を実現する色変換処理装置に関する。
【0002】
【従来の技術】
上記のような色変換処理装置は、色変換処理に関するジョブを実行する場合の作業を行うメモリを有しており、また、ジョブの実行に際しては、このメモリに、ジョブの実行に必要な内容を保持するデータ保持領域が割り当てられるものとなされている。
【0003】
前記データ保持領域としては、色変換テーブルである1個または複数個のルックアップテーブル(以下LUTという)を保持する領域がある。また、ユーザによって入力されたICC(International Color Consortium)プロファイルを解析してLUTを作成する場合には、入力されたプロファイルを保持するプロファイルバッファとして機能するデータ保持領域が割り当てられる。さらには、色変換対象入力データの一部または色変換後の出力データの一部を保持するデータバッファとして機能するデータ保持領域がある。
【0004】
ところで、色変換処理装置で実行されるジョブの内容は、処理対象データの種類や、ユーザの設定等に応じて多岐にわたっており、全ての機能を常に実現するように動作していると、ジョブの実行に必要なメモリ容量が不足し、正常に動作できなくなる可能性がある。
【0005】
例えば、PSプリンタやMFPなどに搭載される色変換処理装置では、前述のようにユーザがICCプロファイルを色変換処理装置に送ることができるが、そのICCプロファイルが巨大な場合には、プロファイルバッファの使用量が多くなり、使用可能なメモリ容量が不足する。
【0006】
また、ユーザによって多数のLUTが作成されたときや、色変換処理対象の入力データが巨大であるような場合にも、容量不足が発生する。
【0007】
従来、下記特許文献1には、メモリに記憶されているカラーLUTを確認し、入力される画像データに、既に記憶されているLUTと重複したLUTが存在していれば、いずれかのLUTを削除して重複を解消する色変換処理装置が開示されている。
【0008】
【特許文献1】
特開2000−227788号公報
【0009】
【発明が解決しようとする課題】
しかし、上記文献に記載されたものは、重複したLUTが存在するときにのみ、いずれかのLUTを削除するものであり、重複したLUTが存在しないときには、使用可能なメモリ容量の不足が発生していてもLUTを削除することはしない。このため、メモリ容量不足に対して、根本的な解決にはならなかった。
【0010】
この発明は、このような技術的背景に鑑みてなされたものであって、色変換に関するジョブの実行に際して、使用可能なメモリ容量が不足しても、この容量不足を解消して正常な動作を行わせることができる色変換処理装置を提供することを課題とする。
【0011】
【発明を解決するための手段】
上記課題は、色変換テーブルを用いて入力データの色変換を行うジョブを実行する際に用いられる、1個または複数個の色変換テーブルの保持と前記ジョブの実行に用いられるメモリと、前記ジョブに必要なメモリ容量を取得する必要メモリ取得手段と、現在使用している使用メモリ容量を取得する使用メモリ容量取得手段と、前記ジョブの実行に際して、前記使用メモリ容量と前記必要メモリとに基づいて、前記メモリの使用可能なメモリ容量が不足するか否かを判別する判別手段と、前記判別手段により、使用可能なメモリ容量の不足が判別された場合には、不足が解消されるまで前記データ保持領域を一部ずつ開放することにより、使用可能なメモリ容量を増加する制御手段と、を備えたことを特徴とする色変換処理装置によって解決される。
【0012】
この色変換処理装置では、ジョブの実行に際して、現在使用している使用メモリ容量とジョブに必要なメモリ容量とに基づいて、使用可能なメモリ容量の不足が判別されると、制御手段により、不足が解消されるまでデータ保持領域が一部ずつ開放される。これにより、使用可能なメモリ容量が増加してメモリの容量不足が解消され、正常な動作が行われる。
【0013】
この色変換処理装置において、開放されるデータ保持領域は、色変換テーブルを保持する第1のデータ保持領域、色変換のために生成された中間データを保持する第2のデータ保持領域、または色変換処理対象の入力データまたは色変換後の出力データを保持可能な第3のデータ保持領域、のうちの少なくともいずれかとしても良い。
【0014】
この場合には、第1のデータ保持領域、第2のデータ保持領域、第3のデータ保持領域の少なくともいずれかの一部または全部が開放される。
【0015】
また、第1のデータ保持領域が開放される場合であって、第1のデータ保持領域に保持されている色変換テーブルが複数個存在するとともに、各データ保持領域に予め開放順位が設定されている場合には、制御手段は、前記開放順位に従ってそのデータ保持領域を開放する構成としても良い。
【0016】
この場合には、優先順位に従って開放順位を設定しておくことで、優先順位の低いデータ保持領域から順に開放することができる。
【0017】
また、前記開放順位は、メモリ容量の不足した原因によって変更する構成としても良い。
【0019】
また、制御手段は、データ保持領域を開放する時に、そのデータ保持領域に保持されている内容を、外部記憶手段に記憶退避させ、ジョブの実行終了後に、開放前に退避されていた内容をメモリに復帰させる復帰手段を備えている構成としても良い。
【0020】
データ保持領域の開放時にその内容を外部記憶手段に記憶退避させ、ジョブの実行終了後に、開放前に退避されていた内容をメモリに復帰させることができる。この場合、前ジョブ実行終了から一定時間経過しているか否かを判断する判断手段をさらに備え、前記判断手段により、一定時間経過していると判断された場合に、前記復帰手段による復帰を行う構成としても良い。
【0021】
【発明の実施の形態】
次に、この発明の一実施形態を説明する。
【0022】
図1は、この発明の一実施形態に係る色変換処理装置の構成を示すブロック図である。
【0023】
図1において、色変換処理装置1は、色変換部2、テーブル解析部3、入力データメモリ4、出力データメモリ5、ジョブ実行用メモリ6、制御部7、LUT管理カウンタ8を備えている。
【0024】
前記色変換部2は、設定や入力データの属性に応じて、前記ジョブ実行用メモリ6に保持されているLUTを用いて色変換対象である入力データの色変換を行い、出力する。
【0025】
この実施形態では、ICCプロファイルを色変換処理装置1に入力して色変換に使用することが可能となっており、前記テーブル解析部3は、前記ユーザから入力されたICCプロファイルを解析し、色変換部2に適した形式のLUTを作成するものである。なお、ICCプロファイルは、入力データに添付されて入力されても良い。
【0026】
前記入力データメモリ4は、色変換部2に入力される入力データを記憶し、出力データメモリ5は色変換処理後の出力データを記憶するものである。
【0027】
前記ジョブ実行用メモリ6は、色変換に関するジョブを実行する際に用いられるものであり、図2に示すように、ジョブの実行に必要なデータを保持する1個または複数のデータ保持領域を有している。
【0028】
この実施形態では、LUTが保持される第1のデータ保持領域61、プロファイルバッファとして機能する第2のデータ保持領域62、データバッファとして機能する第3のデータ保持領域63を有しており、これらが一つのメモリ空間内で割り当てられている。
【0029】
前記第1のデータ保持領域61は、標準的なLUTを保持するデータ保持領域611と、特殊LUTを保持するデータ保持領域612とを有している。なお、標準的なLUTは、テーブル切り替えの高速化等のために、標準的な色変換パターンの数に対応して複数個設けられており、後述するROM72や外部記憶装置9に、予めデフォルトで記憶されている。そして、ジョブの実行に際して、ROM72等から呼び出して、データ保持領域611に保持させる。
【0030】
前記特殊LUTは、色変化の対応範囲を拡大するために、ユーザが入力したICCプロファイルや設定に応じて作成されたものである。
【0031】
前記第2のデータ保持領域62(プロファイルバッファともいう)は、プロファイルの解析や、ユーザからのプロファイル取得命令(プロファイル出力要求)等に備えて、ユーザがテーブル解析部3に入力したICCプロファイルや、プロファイル解析部で生成された一時的なデータ等の中間データを保持する。
【0032】
前記第3のデータ保持領域(データバッファともいう)63は、入力データメモリ4と出力データメモリ5が同一の場合に、データの安全性、処理の高速化、画像解析での使用等を考慮して、データの一部を複製して保持するものである。
【0033】
前記制御部7は、色変換処理装置1の全体を統括的に制御するほか、ジョブの実行に際して、ジョブ実行用メモリ6の使用可能なメモリ容量が不足するか否かを判別する機能を有している。そして、容量不足が判別された場合には、前述した第1〜第3のデータ保持領域の一部または全部を開放するように制御し、これにより使用可能なメモリ容量を増加させる。また、データ保持領域を開放する場合には、その内容を外部記憶装置9に予め記憶退避させた上で開放すると共に、ジョブの実行完了後は、必要に応じて退避させた内容を再度復帰させる。
【0034】
前記使用可能なメモリ容量が不足するか否かの判別方法は特に限定されることはないが、一例として、メモリアロケーションエラーが発生したか否かを判別し、発生したときにメモリ容量不足が発生したと判別する方法を挙げることができる。また、他の方法として、現在使用しているメモリ領域の合計容量を常時把握しておき、その容量値がしきい値に達したらメモリ容量不足が発生したとする方法がある。さらに他の方法として、そのジョブの実行のために新たに必要とされるメモリ容量が一定値を越えて巨大であるとき、即ちジョブ処理のデータ量が多いとき、使用可能なメモリ容量の不足が発生したとする方法もある。
【0035】
前記制御部7は、CPU71、ROM72等を有するコンピュータによって構成されており、その動作は、ROM72や外部記憶装置9等のプログラム登録用記憶媒体に登録されているプログラムに従って規定される。
【0036】
前記LUT管理カウンタ8は、第1のデータ保持領域611に保持される標準的なLUTについて、ジョブの実行に使用された回数をカウントするものであり、経時的な使用頻度に応じて各LUTの開放順位を決定するためのものである。即ち、使用頻度が少ないほどそのLUTの重要度は低く、開放順位は高いものとなる。
【0037】
前記外部記憶装置9は、例えばハードディスク装置(HDD)等により構成されている。
【0038】
図1に示した色変換処理装置において、色変換に関して実行されるジョブの内容によっては、メモリ使用量が多くなり、使用可能なメモリ容量が不足して、動作が正常に行われないおそれがある。例えば、ユーザによって巨大なICCプロファイルや数多くのプロファイルがテーブル解析部3に入力されたときや、ユーザによって多数のLUTが作成されたとき、あるいは色変換部2に巨大なデータバッファを必要とするデータが入力されたとき等である。
【0039】
そこで、この実施形態では、前記制御部7により、ジョブの処理に際して使用可能なメモリ容量が不足したと判別された場合には、使用可能なメモリ容量の増加処理を行う。
【0040】
例えば、ユーザによって巨大なサイズのICCプロファイルが入力された場合について説明する。
【0041】
ユーザによってICCプロファイルが入力されると、色変換処理装置1は、テーブル解析部3でICCプロファイルを解析し、色変換部2に適した形式のLUTに変換して、第1のデータ保持領域61における特殊LUTを保持するデータ保持領域612に渡す。また、ユーザからのプロファイル出力命令に備え、プロファイル出力に必要な一時的データを保持する。
【0042】
もし、ユーザから送られてきたICCプロファイルのサイズが巨大である場合、テーブル解析部3で必要なプロファイルバッファ62のサイズが大きくなり、メモリアロケーションエラーが発生し、必要なメモリ容量を確保できなくなる。
【0043】
そこで、現在割り当てられている各データ保持領域の一部または全部を開放して、データ保持領域の割り当てを変更する。開放は、使用頻度の低いメモリ(開放順位の高いデータ保持領域)から行う。
【0044】
上述のように、ICCプロファイルが原因で容量不足が生じた場合、開放順位は1位:標準的なLUTを保持するデータ保持領域611、2位:特殊LUTを保持するデータ保持領域612、3位:データバッファ63、4位:プロファイルバッファ62とし、開放順位の上位から開放する。
【0045】
この実施形態では、データ保持領域を開放する場合は、制御部7が、開放前にそのデータ保持領域の内容を外部記憶装置9に記憶させ退避させておく。但し、標準的LUTについては、デフォルトとして既に外部記憶装置9に記憶されているから、退避処理は行わない。また、データバッファ3については全てを開放するのではなく、最小限サイズのデータ保持領域を再確保しておく。
【0046】
こうしてデータ保持領域を開放してジョブを実行する。即ち、省メモリ動作によりジョブを実行する。実行中に、開放したデータ保持領域の内容が必要になったときは、退避させた外部記憶装置9から必要に応じて取得する。また、データバッファ63については、開放時に確保した最小限サイズのデータ保持領域にデータを随時複写して処理を行う。
【0047】
また、各LUT毎に開放順位を設定しても良い。例えば、標準的なLUTとして用意されているビットマップ用LUT、文字・グラフ用LUT、測色値用LUT等を持っているとき、一般的に使用頻度が低い測色値用LUTやレンダリング用LUT等が保持されているデータ保持領域の開放順位を高くする。
【0048】
また、LUT管理カウンタ8の計数値から、制御部7が使用頻度を判別し、その時点で使用頻度の低いLUTを保持しているデータ保持領域の開放順位を高くしても良い。
【0049】
データ保持領域の開放順位は、ジョブの内容、換言すれば使用可能なメモリ容量が不足した原因によって変更する。
【0050】
例えば、ユーザによって多数のLUTが作成されたときは、特殊LUTが保持されるデータ保持領域612の開放順位は低くなり、プロファイルバッファ62の開放順位が高くなる。開放順位は1位:標準的なLUTを保持するデータ保持領域611、2位:プロファイルバッファ62、3位:データバッファ63、4位:特殊LUTを保持するデータ保持領域612とし、開放順位の上位から開放する。
【0051】
また、色変換部に巨大なデータバッファを必要とするデータが入力された時は、開放順位は1位:標準的なLUTを保持するデータ保持領域611、2位:特殊LUTを保持するデータ保持領域612、3位:プロファイルバッファ62、4位:データバッファ63とし、開放順位の上位から開放する。但し、色変換処理において、データバッファを使用する必要性が低く、省メモリ動作でも問題のないような場合、例えばデータが巨大すぎてデータ保持領域を開放しても追いつかないような場合には、データバッファ63のみを開放しても良い。
【0052】
ジョブの実行終了後、メモリの容量不足が解消された場合には、必要に応じて制御部7は復帰処理を行い、外部記憶装置9に退避させておいた元の内容を呼び出してデータ保持領域に保持させる。データバッファ63については元の領域を再確保する。
【0053】
復帰のタイミングは、ジョブの終了直後でも良いし、使用可能なメモリ容量が増加してから一定時間経過後でも良いし、プリンタやMFPに適用する場合は、マシンがスリーブモードに入る直前としても良い。ジョブ終了後直ちに復帰しないようにすることで、データ保持領域の開放を必要とするジョブが連続して投入されたときに、その都度データ保持領域の開放動作を行う非効率さを防止できる。
【0054】
また、ハードディスク装置がないPSプリンタ等、外部記憶装置9が存在しない場合には、データ保持領域の開放順位は前記と異なるものとなる。即ち、ROM72にデフォルトとして記憶されている標準的なLUTを保持するデータ保持領域611を1位、最小限の領域を確保するデータバッファ63を2位とし、保持内容を外部記憶装置に退避できないプロフィルバッファ62及び特殊LUTを保持するデータ保持領域612を、それぞれ3位、4位とする。
【0055】
この場合、プロフィルバッファ62及び特殊LUTを保持するデータ保持領域612の元の内容を復帰させる必要がある場合には、ユーザに再取得メッセージを送り、入力してもらう。
【0056】
次に、図1に示した色変換処理装置1の制御部7が、データ保持領域の開放動作(メモリ開放動作ともいう)を行うときの処理について、図3のフローチャートを参照して説明する。なお、以下の説明及び図面において、「ステップ」を「S」と略記する。
【0057】
S301において装置を起動すると、S302で装置を初期化して標準的なLUTをROM72あるいは外部記憶装置9から取得し、データ保持領域611に保持する。
【0058】
次に、S303でジョブ入力を待ち、ジョブ入力があれば(S303にてYES)、S304でジョブ入力を受け付ける。
【0059】
次いで、S305で、ジョブに必要なメモリサイズ即ちメモリ容量値を取得した後、S306で、前記ジョブの処理に必要なメモリ領域を確保できたか(アロケーションエラーが発生しなかったか)否か、換言すれば、使用できるメモリ容量が不足しているか否かを判断する。
【0060】
メモリ容量が不足していなければ(S306にてYES)、S307で、ジョブを実行させ、次いでS308で、ジョブの終了後に一時的なメモリ領域を開放した後、S303に戻る。
【0061】
一方、前記S306において、メモリ容量が不足しているときは(S306にてNO)、S309で優先順位の低い(開放順位の高い)データ保持領域が存在しているか否かを判断する。
【0062】
優先順位の低い(開放順位の高い)データ保持領域が存在していなければ(S309にてNO)、S315でジョブエラーと判断して、S313に進む。優先順位の低い(開放順位の高い)データ保持領域が存在していれば(S309にてYES)、S310で、データ保持領域の開放処理を行う。即ち、メモリ6に保持されているLUT等を外部記憶装置9に退避させたのち、開放する。開放されるデータ保持領域によっては、ジョブ処理機能の一部が削減される。
【0063】
次に、S311で、メモリ容量を確保できたか否かを再度判断し、確保できなければ(S311にてNO)、S309に戻って次に優先順位の低い(開放順位の高い)データ保持領域を開放し、容量不足が解消されるまでこれを繰り返す。
【0064】
容量不足が解消されると(S311にてYES)、S312で、省メモリモードでジョブを実行する。ジョブが終了すると、S313で、一時的なメモリ領域を開放した後、S314で復帰処理を行い、データ保持領域の開放時に退避させたLUT等、元の内容を保持させたのち、S303に戻って次のジョブに備える。
【0065】
このように、メモリ容量不足が判別されると、メモリ容量不足が解消されるまで開放順位の高いデータ保持領域から順に開放されるから、ジョブの実行が正常に行われる。
【0066】
図4は、装置内部で省メモリモードを設定して、処理を行う場合を示している。
【0067】
S401において装置を起動すると、S402で装置を初期化して標準的なLUTをROM72あるいは外部記憶装置9から取得し、データ保持領域611に保持する。
【0068】
次に、S403でジョブ入力を待ち、ジョブ入力があれば(S403にてYES)、S404でジョブ入力を受け付ける。
【0069】
次いで、S405で、ジョブに必要なメモリサイズ即ちメモリ容量値を取得した後、S406で、前記ジョブの処理に必要なメモリ領域を確保できたか(アロケーションエラーが発生しなかったか)否か、換言すれば、使用できるメモリ容量が不足しているか否かを判断する。
【0070】
メモリ容量が不足していなければ(S406にてYES)、S407で、省メモリモードはONか否かを判断する。省メモリモードがONでなければ(S407にてNO)、データ保持領域の開放処理を行わなくても、メモリ容量は足りているから、S408で、ジョブを実行させ、次いでS409で、ジョブの終了後に一時的なデータ保持領域を開放した後、S403に戻る。
【0071】
一方、前記S406において、メモリ容量が不足しているときは(S406にてNO)、S413で優先順位の低い(開放順位の高い)データ保持領域が存在しているか否かを判断する。
【0072】
優先順位の低い(開放順位の高い)データ保持領域が存在していなければ(S413にてNO)、S414でジョブエラーと判断して、S411に進む。優先順位の低い(開放順位の高い)データ保持領域が存在していれば(S413にてYES)、S415で、データ保持領域の開放処理を行う。即ち、メモリ6に保持されているLUT等を外部記憶装置9に退避させたのち、開放する。開放されるデータ保持領域によっては、ジョブ処理機能の一部が削減される。同時に省メモリモードをONに設定する。そして、S406に戻り、容量不足が解消されるまでS406、S413〜S415のステップを繰り返す。
【0073】
容量不足が解消されると、S406の判断がYES、S407の判断がYESとなるから、S410に進み、省メモリモードでジョブを実行させる。次いでS411で、ジョブの終了後に一時的なメモリ領域を開放した後、S412で復帰処理を行い、データ保持領域の開放時に退避させたLUT等、元の内容を保持させると共に省メモリモードをOFFにし、S403に戻る。
【0074】
図4に示した処理によっても、メモリ容量不足が判別されると、メモリ容量不足が解消されるまで開放順位の高いデータ保持領域から順に開放されるから、ジョブの実行が正常に行われる。
【0075】
前記図3及び図4に示した処理では、開放したデータ保持領域の内容を復帰させる復帰処理を、ジョブの終了後直ちに行うものであったが、図5は、ジョブの実行終了後一定時間経過したとき、例えば色変換装置が組み込まれているプリンタ等がスリープモードに入る直前等に、復帰処理を行う場合についてのフローチャートである。
【0076】
図5において、S501において装置を起動すると、S502で装置を初期化して標準的なLUTをROM72あるいは外部記憶装置9から取得し、データ保持領域611に保持する。
【0077】
次に、S503でジョブ入力があるか否かを判断し、ジョブ入力があれば(S503にてYES)、S504でジョブ入力を受け付けた後、S505で、ジョブに必要なメモリサイズ即ちメモリ容量値を取得する。さらにS506で、前記ジョブの処理に必要なメモリ領域を確保できたか(アロケーションエラーが発生しなかったか)否か、換言すれば、使用できるメモリ容量が不足しているか否かを判断する。
【0078】
メモリ容量が不足していなければ(S506にてYES)、S507で、省メモリモードはONか否かを判断する。省メモリモードがONでなければ(S507にてNO)、データ保持領域の開放処理を行わなくても、メモリ容量は足りているから、S508で、ジョブを実行させ、次いでS509で、ジョブの終了後に一時的なメモリ領域を開放した後、S503に戻る。
【0079】
一方、前記S506において、メモリ容量が不足しているときは(S506にてNO)、S512で優先順位の低い(開放順位の高い)データ保持領域が存在しているか否かを判断する。
【0080】
優先順位の低い(開放順位の高い)データ保持領域が存在していなければ(S512にてNO)、S513でジョブエラーと判断して、S511に進む。優先順位の低い(開放順位の高い)データ保持領域が存在していれば(S512にてYES)、S514で、データ保持領域の開放処理を行う。即ち、メモリ6に保持されているLUT等を外部記憶装置9に退避させたのち、開放する。開放されるデータ保持領域によっては、ジョブ処理機能の一部が削減される。同時に省メモリモードをONに設定する。そして、S506に戻り、容量不足が解消されるまでS506、S512〜S514のステップを繰り返す。
【0081】
容量不足が解消されると、S506の判断がYES、S507の判断がYESとなるから、S510に進み、省メモリモードでジョブを実行させる。次いでS511で、ジョブの終了後に一時的なメモリ領域を開放した後、S503に戻る。
【0082】
また、ジョブの実行後は、S503で次のジョブの有無が判断されるが、次のジョブがなければ(S503にてNO)、S515に進み、省メモリモードのまま前のジョブ実行終了から一定時間経過しているか否かを判断する。
【0083】
一定時間経過していなければ(S515にてNO)、S503に戻って次ジョブを待つ。一定時間経過していると(S515にてYES)、S516で復帰処理を行い、データ保持領域の開放時に退避させたLUT等、元の内容を保持させると共に省メモリモードをOFFにし、S503に戻る。
【0084】
このように、ジョブ終了後直ちに復帰しないようにすることで、データ保持領域の開放を必要とするジョブが連続して投入されたときに、その都度データ保持領域の開放動作を行う必要はなくなる。
【0085】
図6は、使用可能なメモリ容量の不足を判別するための他の方法を説明するものであり、現在使用しているメモリの合計容量値を監視することによって判別する方法を示しており、処理の要部のみを示している。
【0086】
図6において、S601で、ジョブの入力を受け付けた後、S602でジョブに必要なメモリサイズ即ちメモリ容量値を取得した後、S603で、メモリ6において現在使用している合計容量値を示すメモリカウンタの値とS602で取得した必要なメモリサイズとの合計値が、しきい値よりも大か否かを判別する。合計値がしきい値よりも大きい場合は(S603にてYES)、メモリ容量の不足を意味するから、S604で、優先順位の低い(開放順位の高い)データ保持領域が存在しているか否かを判断する。
【0087】
優先順位の低い(開放順位の高い)データ保持領域が存在していなければ(S604にてNO)、S605でジョブエラーと判断する。優先順位の低い(開放順位の高い)データ保持領域が存在していれば(S604にてYES)、S606で、データ保持領域の開放処理を行うとともに、開放したデータ保持領域のサイズ(容量値)をメモリカウンタから差し引いたのち、S603に戻る。そして、メモリカウンタの値と取得した必要なメモリサイズとの合計値がしきい値以下となるまで、換言すれば使用可能なメモリ容量の不足が解消されるまで、S603、S604、S606のステップを繰り返す。
【0088】
S603において、メモリカウンタの値と取得した必要なメモリサイズとの合計値がしきい値以下と判断されると(S603にてNO)、S607で、ジョブの処理に必要なメモリ領域を確保すると共に、メモリカウンタに、確保したメモリサイズを加算したのち、S608でジョブを実行させる。
【0089】
なお、S601のジョブ入力の受付までの処理、あるいはS608のジョブ実行、S605のジョブエラー後の処理は、図3〜図5に示した処理と同様に行えばよい。
【0090】
図7は、使用可能なメモリ容量の不足を判別するためのさらに他の方法を説明するものであり、ジョブに必要なメモリサイズ(メモリ容量)から判別する方法を示しており、処理の要部のみを示している。
【0091】
図7において、S701で、ジョブの入力を受け付けた後、S702でジョブに必要なメモリサイズを取得した後、S703で、必要なメモリサイズがしきい値よりも大か否かを判別する。必要なメモリサイズがしきい値よりも大きい場合は(S703にてYES)、メモリ容量の不足を意味するから、S704で、優先順位の低い(開放順位の高い)データ保持領域が存在しているか否かを判断する。
【0092】
優先順位の低い(開放順位の高い)データ保持領域が存在していなければ(S704にてNO)、S705でジョブエラーと判断する。優先順位の低い(開放順位の高い)データ保持領域が存在していれば(S704にてYES)、S706で、データ保持領域の開放処理を行うとともに、省メモリモードをONしたのち、S707に戻る。
【0093】
S707では、ジョブの処理に必要なメモリ領域が確保されたか否かを判断する。確保されていなければ(S707にてNO)、S704に進み、確保されるまで、S704、S706、S707のステップを繰り返す。
【0094】
メモリ領域が確保されると(S707にてYES)、S708でジョブを実行させる。
【0095】
なお、S701のジョブ入力の受付までの処理、あるいはS708のジョブ実行、S705のジョブエラー後の処理は、図3〜図5に示した処理と同様に行えばよい。
【0096】
以上本発明の一実施形態を説明したが、この発明はこの実施形態に限定されることはない。例えば、データ保持領域として第1〜第3のデータ保持領域を有する場合を示したが、そのうちの1個のみを有していても良い。
【0097】
また、上記色変換処理装置は、プリンタやMFPに組み込まれて用いられても良いし、ドライバ側に組み込まれていても良いし、あるいはプリントサーバ等のサーバに組み込まれても良い。
【0098】
上記具体的実施形態には、以下の構成を有する発明が含まれる。
(1)使用可能なメモリ容量の不足の判別は、アロケーションエラーが発生したか否かにより行う請求項1に記載の色変換処理装置。
【0099】
これにより確実に判別することができる。
(2)使用可能なメモリ容量の不足の判別は、現在使用されているメモリ領域の合計容量値に基づいて行われる請求項1に記載の色変換処理装置。
【0100】
これにより、仮想メモリがあってメモリアロケーションエラーが発生しにくい場合であっても、簡易に判別を行うことができる。
(3)使用可能なメモリ容量の不足の判別は、ジョブの実行に必要となるメモリ容量値が所定値を越えるか否かによって行われる請求項1に記載の色変換処理装置。
【0101】
これにより、仮想メモリがあってメモリアロケーションエラーが発生しにくい場合であっても、簡易に判別を行うことができる。
(4)復帰手段による復帰は、ジョブの実行終了後一定時間経過後に行われる請求項4に記載の色変換処理装置。
【0102】
ジョブの実行終了後一定時間経過後に行うことで、データ保持領域の開放を必要とするジョブが連続して投入されたときに、その都度データ保持領域の開放動作を行う不都合がなくなる。
(5)全てのデータ保持領域は1つのメモリ空間内に割り当てられている請求項1に記載の色変換処理装置。
(6)色変換に関するジョブの実行に際して、そのジョブの実行に用いられるメモリの使用可能な容量が不足しているか否かを判別するステップと、
使用可能なメモリ容量の不足が判別された場合には、前記メモリが有するジョブの実行に必要なデータを保持するデータ保持領域の一部または全部を開放することにより、使用可能なメモリ容量を増加するステップと、
を備えたことを特徴とする色変換処理方法。
(7)開放されるデータ保持領域は、色情報が配列されたルックアップテーブルを保持する第1のデータ保持領域、ルックアップテーブル作成用の中間データを保持する第2のデータ保持領域、または色変換処理対象の入力データまたは色変換後の出力データの一部を保持する第3のデータ保持領域、のうちの少なくともいずれかである請求項1に記載の色変換処理装置。
(8)第1のデータ保持領域に保持されているルックアップテーブルが複数個存在するとともに、実行されるジョブに応じて各ルックアップテーブルに予め開放順位が設定されており、第1のデータ保持領域を開放する場合には、前記開放順位に従ってそのルックアップテーブルのデータ保持領域を開放する(7)に記載の色変換処理方法。
(9)ジョブの実行終了後に、開放前に保持されていた内容をメモリに復帰させるステップをさらにを備えている(6)ないし(8)のいずれかに記載の色変換処理方法。
(10)データ保持領域を開放する時は、そのデータ保持領域に保持されている内容を、外部記憶手段に記憶退避させる(9)に記載の色変換処理方法。
(11)色変換に関するジョブの実行に際して、そのジョブの実行に用いられるメモリの使用可能な容量が不足しているか否かを判別するステップと、
使用可能なメモリ容量の不足が判別された場合には、前記メモリが有するジョブの実行に必要なデータを保持するデータ保持領域の一部または全部を開放することにより、使用可能なメモリ容量を増加するステップと、
をコンピュータに実行させるためのプログラムが記憶されている記憶媒体。
(12)色変換に関するジョブの実行に際して、そのジョブの実行に用いられるメモリの使用可能な容量が不足しているか否かを判別するステップと、
使用可能なメモリ容量の不足が判別された場合には、前記メモリが有するジョブの実行に必要なデータを保持するデータ保持領域の一部または全部を開放することにより、使用可能なメモリ容量を増加するステップと、
をコンピュータに実行させるためのコンピュータ読み取り可能なプログラム。
【0103】
【発明の効果】
請求項1に係る発明によれば、ジョブの実行に際して、使用可能なメモリ容量の不足が判別されると、制御手段により、不足が解消されるまでデータ保持領域が一部ずつ開放されるから、使用可能なメモリ容量を増加し得てメモリの容量不足を解消でき、正常な動作を確保することができる。
【0104】
請求項2に係る発明によれば、第1のデータ保持領域、第2のデータ保持領域、第3のデータ保持領域の少なくともいずれかの一部または全部を開放でき、使用可能なメモリ容量を増加できる。
【0105】
請求項3に係る発明によれば、開放順位の高いLUTのデータ保持領域から開放されるから、ジョブに必要なLUTの開放順位を低く設定することにより、重要なLUTを確保しながら、使用可能なメモリ容量を増加できる。
【0106】
請求項4に係る発明によれば、ジョブ実行終了後には元のメモリ状態に自動復帰させることができる。
【0107】
請求項5に係る発明によれば、元のメモリ状態への復帰を容易に行うことができる。
【図面の簡単な説明】
【図1】この発明の一実施形態に係る色変換処理装置の構成を示すブロック図である。
【図2】メモリにおけるデータ保持領域の割り当て状態を示す図である。
【図3】図1に示した色変換処理装置におけるデータ保持領域の開放処理を説明するためのフローチャートである。
【図4】同じく他の開放処理を説明するためのフローチャートである。
【図5】同じくさらに他の開放処理を説明するためのフローチャートである。
【図6】使用可能なメモリ容量の不足を判別するための他の方法を示す要部フローチャートである。
【図7】使用可能なメモリ容量の不足を判別するためのさらに他の方法を示す要部フローチャートである。
【符号の説明】
1 色変換処理装置
2 色変換部
3 テーブル解析部
6 ジョブ実行用メモリ
7 制御部(判別手段、復帰手段)
9 外部記憶装置
61 ULTを保持するデータ保持領域
611 標準的ULTを保持するデータ保持領域
612 特殊ULTを保持するデータ保持領域
62 プロファイルバッファ
63 データバッファ
Claims (6)
- 色変換テーブルを用いて入力データの色変換を行うジョブを実行する際に用いられる、1個または複数個の色変換テーブルの保持と前記ジョブの実行に用いられるメモリと、
前記ジョブに必要なメモリ容量を取得する必要メモリ容量取得手段と、
現在使用している使用メモリ容量を取得する使用メモリ容量取得手段と、
前記ジョブの実行に際して、前記使用メモリ容量と前記必要メモリ容量とに基づいて、前記メモリの使用可能なメモリ容量が不足するか否かを判別する判別手段と、
前記判別手段により、使用可能なメモリ容量の不足が判別された場合には、不足が解消されるまで前記データ保持領域を一部ずつ開放することにより、使用可能なメモリ容量を増加する制御手段と、
を備えたことを特徴とする色変換処理装置。 - 開放されるデータ保持領域は、色変換テーブルを保持する第1のデータ保持領域、色変換のために生成された中間データを保持する第2のデータ保持領域、または色変換処理対象の入力データまたは色変換後の出力データを保持可能な第3のデータ保持領域、のうちの少なくともいずれかである請求項1に記載の色変換処理装置。
- 第1のデータ保持領域が開放される場合であって、第1のデータ保持領域に保持されている色変換テーブルが複数個存在するとともに、各データ保持領域に予め開放順位が設定されている場合には、制御手段は、前記開放順位に従ってそのデータ保持領域を開放する請求項2に記載の色変換処理装置。
- 前記開放順位は、メモリ容量の不足した原因によって変更する請求項3に記載の色変換処理装置。
- 前記制御手段は、データ保持領域を開放する時に、そのデータ保持領域に保持されている内容を、外部記憶手段に記憶退避させ、
ジョブの実行終了後に、開放前に退避されていた内容をメモリに復帰させる復帰手段を備えている請求項1ないし4のいずれかに記載の色変換処理装置。 - 前ジョブ実行終了から一定時間経過しているか否かを判断する判断手段をさらに備え、
前記判断手段により、一定時間経過していると判断された場合に、前記復帰手段による復帰を行う請求項5に記載の色変換処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003083301A JP4189577B2 (ja) | 2003-03-25 | 2003-03-25 | 色変換処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003083301A JP4189577B2 (ja) | 2003-03-25 | 2003-03-25 | 色変換処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004297161A JP2004297161A (ja) | 2004-10-21 |
JP4189577B2 true JP4189577B2 (ja) | 2008-12-03 |
Family
ID=33398817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003083301A Expired - Fee Related JP4189577B2 (ja) | 2003-03-25 | 2003-03-25 | 色変換処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4189577B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008073895A (ja) * | 2006-09-19 | 2008-04-03 | Ricoh Co Ltd | 画像形成装置、画像形成方法、画像形成プログラム、及び、情報記録媒体 |
JP4948129B2 (ja) * | 2006-11-17 | 2012-06-06 | キヤノン株式会社 | 色処理装置 |
JP5137555B2 (ja) * | 2007-12-17 | 2013-02-06 | 株式会社リコー | 文書配信システム、文書配信装置、文書配信制御方法、文書配信制御プログラム及び記録媒体 |
JP5656770B2 (ja) * | 2011-08-11 | 2015-01-21 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
-
2003
- 2003-03-25 JP JP2003083301A patent/JP4189577B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004297161A (ja) | 2004-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3175620B2 (ja) | 印刷装置 | |
US6795663B2 (en) | Multi-function peripheral and method for controlling the same, and storage medium storing software for controlling the same | |
US7787140B2 (en) | Printing system and method of printing data on a designated paper | |
US7248385B2 (en) | Printer controller that has a printer perform print processing on print jobs transmitted from a plurality of terminals, an image forming apparatus for performing print processing on the plurality of print jobs, and a terminal that transmits print jobs to the printer controller | |
JP6351315B2 (ja) | 画像処理装置、その制御方法及びプログラム | |
JP4189577B2 (ja) | 色変換処理装置 | |
JP4696748B2 (ja) | 画像形成システムおよび割り込み処理方法および印刷装置 | |
JP2000035864A (ja) | 印刷制御装置 | |
JP4661940B2 (ja) | 画像処理システムおよび画像形成装置 | |
KR100246460B1 (ko) | 복합기에서의 인쇄작업 처리방법 | |
JP2009131961A (ja) | 印刷装置 | |
JP5298827B2 (ja) | 画像処理装置、電源制御方法、電源制御プログラム、及びそのプログラムを記録した記録媒体 | |
JP2006224398A (ja) | プリンタ装置 | |
JP5168220B2 (ja) | 画像形成装置 | |
JP2012061639A (ja) | 画像形成装置および印刷制御方法 | |
JP3875870B2 (ja) | 印刷装置及び、印刷制御プログラム | |
JPH09282118A (ja) | 印刷装置選択方式 | |
JP2007305143A (ja) | 情報処理装置および情報処理方法 | |
JP2006005963A (ja) | 情報処理装置および情報処理方法 | |
JP5661347B2 (ja) | 情報処理装置及び方法 | |
JP2006035558A (ja) | 画像形成装置 | |
JP2004009499A (ja) | 印字制御装置 | |
JPH06152821A (ja) | 複合型画像形成装置に於けるモード設定装置 | |
JP2005107818A (ja) | 調停装置およびそれを用いる画像形成装置 | |
JP2017078992A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20040927 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050317 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050401 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050401 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071225 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080221 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080513 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080708 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080723 |
|
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: 20080819 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080901 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110926 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |