画像処理装置及び画像処理方法
【課題】格子点情報として線形補完するための傾き・切片情報を保持するガンマ補正方法において、格子点を等分割にすると格子点情報記憶コストが大きくなる。逆に格子点を不等分割にすると、ガンマ補正実行時に格子点情報を取り出す際の格子点情報取り出し速度が低下してしまう。
【解決手段】ガンマ補正部107はガンマ補正処理を行い、画像データ入力画素210はガンマ補正部107によりガンマ補正され、画像データ出力画素211としてガンマ補正部107から出力される。またバス104を介して、図1におけるCPU101はガンマ補正部107に格子点情報やレジスタ設定を行う。制御部201は、図1における読み取り部105からの画像データを入力画素210として入力し、CPU101によって設定された格子点情報やレジスタ設定に従ってガンマ補正を行い、印刷部109への画像データとして出力画素211を出力する。
【解決手段】ガンマ補正部107はガンマ補正処理を行い、画像データ入力画素210はガンマ補正部107によりガンマ補正され、画像データ出力画素211としてガンマ補正部107から出力される。またバス104を介して、図1におけるCPU101はガンマ補正部107に格子点情報やレジスタ設定を行う。制御部201は、図1における読み取り部105からの画像データを入力画素210として入力し、CPU101によって設定された格子点情報やレジスタ設定に従ってガンマ補正を行い、印刷部109への画像データとして出力画素211を出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置及び画像処理方法に関し、特にデジタル画像のガンマ補正処理を近似演算で行う場合のメモリを制御することができる画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
従来、画像処理装置において全入力に対し一律にLUTを利用してガンマ補正を行なった場合ガンマ補正回路規模が増大してしまうため、より回路規模を削減する技術が知られている。すなわち、ガンマ補正処理を行うハードウェア回路として少量のLUTと一次近似式で実現することにより、ガンマ補正処理両を軽減し、処理に必要なメモリを削減する技術である。例えば、特許文献1に開示された技術では、まず入力画素値を等間隔に区切った点を格子点として、格子点間のガンマ補正線を一次式で表した際の傾き、切片の値を格子点情報としてLUTに記憶する。入力画素値の上位ビットをそのままLUTに適用することで、入力画素の値から即座にLUTに記憶した格子点情報を得られるようにし、高速に格子点情報を得てガンマ補正する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−233131号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般に、複写機や印刷装置におけるガンマ特性は入力値の増加に対して傾き変化がほとんどない線形領域と、傾き変化が激しい非線形領域に大別される。しかしながら特許文献1に記載のシステムでは、線形領域・非線形領域に関わらず、入力データの取りうる値の範囲全体を等分割し、等分割格子点における傾きおよび切片情報をLUTに保持している。したがって例えば、傾き変化の激しい非線形領域で変化を十分再現できるよう等分割格子点の数を増やせば(全体を細分等分割すれば)ガンマ特性はなめらかな曲線を再現でき、ガンマ補正画質は向上する。しかし、非線形領域に合わせた処理を実行すると、全体を細分等分割した格子点情報を全て保持しなければならなくなるため、処理回路規模が増大してしまうという課題がある。
【0005】
逆に傾きの変化がほとんどない線形領域に合わせて等分割格子点の数を減らした場合は、記憶しなければならない格子点情報が減り処理回路規模を小さくすることができる。しかし、格子点の数が少ないことにより非線形領域の傾きの激しい変化を十分再現することが困難となり、ガンマ補正画質が低下してしまうという課題がある。
【0006】
一方、高画質で処理回路規模を小さくするために、全体を等分割ではなく傾き変化量に応じて全体を部分的に細かく、または粗く分割する不等分割として各格子における傾きおよび切片情報を使用する方法がある。しかい不等分割格子を採用すると、入力画素値がどの格子点間に位置するのかを割り出すために、各格子点位置と入力画素とを逐次比較していかなければならず、従来のLUT方式と比較して著しく処理速度が低下してしまうという課題がある。
【0007】
したがって、入力画素値の取りうる範囲全体を複数の格子点に分割し、格子点情報として線形補完するための傾きおよび切片情報を保持してガンマ補正を実行する方法において、小規模回路により高画質かつ高速処理が可能な構成を実現することが課題となっている。
【課題を解決するための手段】
【0008】
上記課題を解決すべく、本発明における画像処理装置は、入力画像データの信号値を複数の領域に分け、領域の境を格子点として、各格子点間の入力画像データに対するガンマ補正処理に必要な格子点情報を記憶する格子点情報記憶手段であって、入力画像データの信号値を等分割した等分割格子点の情報を記憶する第1記憶手段と、第1記憶手段よりも細かく等分割した細分等分割格子点の情報を記憶する第2記憶手段とを含む格子点情報記憶手段と、入力画像データの信号値の演算処理に用いる格子点情報が格子点情報記憶手段の第1記憶手段に記憶されているか、または第2記憶手段に記憶されているかを判定し、判定された記憶手段から格子点情報を読み込み、読み込んだ格子点情報と入力画像データの信号値から演算処理を行ってガンマ補正処理を行い、入力画像データの信号値の補正を行う補正手段とを備えたことを特徴とする。
【発明の効果】
【0009】
ガンマ曲線の全領域を細分割格子点とする方法に比べ、格子点数を減らすことで情報の記憶量を削減することができ、高品質を保ったまま、画像処理装置におけるメモリの小規模化を実現できる。また制御回路からは全体が細分等分割されているように見せることで高速に処理することができる。さらにキャリブレーションに伴うガンマ曲線の非線形領域の移動に合わせて細分位置を再設定することにより、移動前と同等の画質を保持できる。
【図面の簡単な説明】
【0010】
【図1】本発明におけるガンマ補正処理装置の構成の一例を示す図である。
【図2】本発明における格子点情報記憶手段の構成の一例を示す図である。
【図3】本発明の一実施例における格子点情報とアドレスの関係を示す図である。
【図4】本発明の一実施例における第一の時点でのガンマ補正特性を示す図である。
【図5】本発明の一実施例における第二の時点でのガンマ補正特性を示す図である。
【図6】本発明における細分位置設定処理フローの一例を示すフローチャートである。
【図7】本発明における格子点情報設定処理フローの一例を示すフローチャートである。
【図8】本発明におけるガンマ補正処理フローの一例を示すフローチャートである。
【図9】本発明の一実施例における格子点情報記憶部動作を示すフローチャートである。
【図10】本発明の一実施例における格子点情報記憶部動作を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明を実施するための形態について図面を用いて説明する。
<実施例1>
図1は、本発明の実施例1におけるガンマ補正処理を実行するハードウェアを含む、画像処理装置の構成を示す図である。CPU101には、CPU101を動作させるためのプログラムを格納するROM103、およびROM103に格納されたプログラムに従いCPU101が動作する際に使用するRAM102が接続される。また読み取り部105は、原稿を読み取り、1画素ずつ画像データを出力する。
【0012】
ガンマ補正部107は、1画素ずつ画像データを入力し、入力した入力画像データにガンマ補正処理を行い、1画素ずつ画像データを出力する。印刷部109は、1画素ずつ画像データを入力し、紙媒体などに画像データを印刷する。またバス104は、CPU101、ROM103、RAM102、読み取り部105、ガンマ補正部107、印刷部109を接続し、イメージデータバス110は読み取り部105からガンマ補正部107に画像データを送るためのものである。同様にイメージデータバス111は、ガンマ補正部107から印刷部109に画像データを送るものである。
【0013】
図2は、図1におけるガンマ補正部107の構成を示す図である。ガンマ補正部107はガンマ補正処理を行い、画像データ入力画素210はガンマ補正部107によりガンマ補正され、画像データ出力画素211としてガンマ補正部107から出力される。またバス104を介して、図1におけるCPU101はガンマ補正部107に格子点情報やレジスタ設定を行う。制御部201は、図1における読み取り部105からの画像データを入力画素210として入力し、CPU101によって設定された格子点情報やレジスタ設定に従ってガンマ補正を行い、印刷部109への画像データとして出力画素211を出力する。
【0014】
格子点情報記憶部202は、制御部201によって格子点情報やレジスタ値を設定され、制御部201によって設定された格子点情報を読み出し、略等分割記憶部203、細分等分割記憶部204、細分位置レジスタ205などを含む。略等分割記憶部203は、アドレス信号、読み出しおよび書き込み選択信号、選択信号、書き込みデータ信号並びに読み出しデータ信号などにより動作する記憶素子であり、略等分割格子点の情報を記憶する。同様に細分等分割記憶部204は、アドレス信号、読み出しおよび書き込み選択信号、選択信号、書き込みデータ信号並びに読み出しデータ信号などにより動作する記憶素子であり、細分等分割格子点の情報を記憶する。
【0015】
細分位置レジスタ205には、読み取り要求あるいは書き込み要求が略等分割記憶部203に対するものか、あるいは細分等分割記憶部204に対するものかを判断するためのアドレス上位ビット値を抽出し保持しておく。本実施例では、細分位置レジスタは、細分位置レジスタアドレス0x100でアクセスすることができるが、これには限られない。また206選択回路部は、細分位置レジスタ205の値と格子点情報記憶部202に入力されたアドレスの上位ビットから各記憶部に対するチップセレクト(有効)信号を出力する。
【0016】
また、図3は、印刷部109にて測色用パッチを印刷し、読み取り部105で読み取った測色値から算出した格子点情報と、図2における制御部201がアクセスする際の略等分割記憶部203および細分等分割記憶部204のアドレスとの関係を示す図である。本実施例においては、図2における入力画素210、出力画素211が12bit、格子点測色値から256個の格子点情報を算出することを想定して説明するがこれに限られるものではない。また、図3には8個の格子点をまとめ、全体を略等分割し32個の格子点情報306を略等分割記憶部203に記憶していることを示す。さらに、一部、すなわち非線形領域における連続する8個の格子点情報307を細分等分割記憶部204に記憶していることを図示する。
【0017】
配列番号301は256個の格子点情報をa[i](i=0から255)という配列で表現したものであり、制御部アドレス302は制御部201が出力するためのアドレスである。また、後述するように略分割記憶部アドレス303は略等分割記憶部203で入力するためのアドレスであり、細分等分割記憶部アドレス304は細分等分割記憶部204で入力するためのアドレスを示している。
【0018】
本実施例においては格子点情報が全部で256であるため、制御部アドレス302は8ビットで表現でき、ビット7からビット0で構成される。ここで、略等分割記憶部203および細分等分割記憶部204へのアクセスを高速にするため、略等分割記憶部アドレス303は制御部アドレスの上位5ビット分、すなわちビット7からビット3までとする。同様に細分等分割記憶部アドレス304は制御部アドレスの下位ビットの3ビット分、すなわちビット2からビット0とする。
【0019】
図3に戻ると、256個の全格子点情報305はCPU101が測色値から算出し、具体的には傾きa[i]と切片b[i]で構成される。格子点情報306は全格子点情報305のうち略等分割記憶部203に記憶され、格子点情報307は細分等分割記憶部204に記憶される。また、格子点情報308は略等分割記憶部203にも細分等分割記憶部204にも記憶されない情報である。
【0020】
次に本実施例において、ガンマ補正処理の詳細を説明する。本実施例のガンマ補正処理は、大きく<細分位置設定処理>、<格子点情報設定処理>、<ガンマ補正処理>および<格子点情報記憶部動作>に分けることができるので、各々に分けて処理フローを以下に説明する。
【0021】
<細分位置設定処理>
まず本実施例における細分位置設定処理フローについて図6を用いて説明する。本フローチャートは、図1におけるROM103に格納されたプログラムに従って、CPU101が実行することによって実現される。本実施例で説明する画素データは12bitであり、色値の範囲0から4095の全体を256に等分割すると、格子点の色値としては0、16、32、・・・となる。これらの格子点色値を画像出力部109にて印刷した測色用パッチを画像読み取り部105にて読み取ることで各格子点の測色値を取得(S101)する。
【0022】
このようにして得られた隣り合う格子点の測色値を直線で結んだ一次式は、
Y=aX+b
で表すことができる。このときXは入力画素の色値であり、Yは出力画素の色値を示し、aは一次式の傾き、bは切片を示している。隣り合う格子点A、Bにおける一次式の傾きa、切片bは、左側に隣接する格子点AにおけるX、Yの値および右側に隣接する格子点BにおけるX、Yをそれぞれ一次式に代入したものから導きだすことができる。左側格子点Bおよび右側格子点AにおけるX、Yはそれぞれ画像出力部109で印刷した色値とそれを画像読み取り部105にて読み取った際の測色値である。このようにして隣り合う格子点間を結ぶ一次式の傾きa、切片bの一番目をa[0]、b[0]、二番目をa[1]、b[1]として、a[255]、b[255]まで演算(S102)し、図3における格子点情報データを作成する。
【0023】
次に、傾きa[i](i=0から255)の変化量を算出するため、隣り合う傾きa[i]とa[i+1]の差分を演算する。このようにして得られた差分値を隣り合う傾き間の変化量とし、その中で最も値の大きいものを差分値の極大点と判断する。すなわち、この極大点の前後がガンマ特性における非線形領域であり、ここでは細分領域とも呼ぶこととし、この細分領域に含まれる入力値の傾き及び切片の値が上述の細分等分割記憶部204に記憶される。この差分値の極大点における傾き値a[N](N=0から255のいずれか)は、最も傾き変化量の大きい位置Nを示す。そこで、CPU101はa[N]前後を非線形領域と決定し、この領域の格子点情報は、細分割格子点の情報として細分等分割記憶部204に記憶する。
【0024】
このa[N]の前後である非線形領域は、ある等分割格子点から次の等分割格子点で構成される範囲であり、細分割格子点はこの等分格子点で構成される一定範囲に含まれる。つまり、変化量が最大の格子点と同一の等分格子点で構成される一定範囲に含まれる格子点が細分割格子点となる。
【0025】
図3においてはa[218]とa[219]間の差分値0.3が最大となるので、ここが極大点と判定する。そこでCPU101は、インターフェース104を通じて、ガンマ補正部200の細分位置レジスタ205のアドレスを示す細分位置レジスタアドレス0x100に、N=219の上位ビットであるビット7からビット3までの値0x1Bを設定するよう送信する。S105にて、プロセッサインターフェース104を介して、細分位置レジスタ205への設定を認識した制御部201は、細分位置レジスタ205のアドレスおよび設定値を格子点情報記憶部202に出力する。細分位置レジスタ205のアドレスおよび設定値を出力された格子点情報記憶部202は、後述する図9のフローに従って、設定値を細分位置レジスタ205に設定する。以上により細分位置レジスタ205に設定された値を用いて、ガンマ補正時、入力値が細分領域に含まれているか否かを判定することができる。
【0026】
<格子点情報設定処理>
次に格子点情報をガンマ補正処理部107の格子点情報記憶部202に設定するフローについて図7を用いて説明する。本処理は、図1におけるROM103に格納されたプログラムをCPU101が実行することによって実現される。特にここでは、図6のS102で算出された格子点間の傾きa[i]、b[i](i=0から255)を略等分割記憶部203あるいは細分等分割記憶部204などに選択して設定する方法を説明する。
【0027】
まず、S201ではアドレスiに初期値としてゼロを設定する。次にアドレスiの値が細分等分割記憶部204に記憶すべき領域、すなわち非線形領域にあるかどうかを、アドレスiの上位ビットであるビット7からビット3の値が図6のS105で設定した値に一致するか否かにより確認(S202)する。一致する場合は非線形領域、すなわち細分当分割記憶部に記憶すべき領域であると判断し、S204の処理に移る。一致しない場合は非線形領域以外であると判断し、略分割格子点の情報としてS203にて略等分割記憶部203に記憶させるかどうかを確認する。
【0028】
S203で、本実施例においては、256個の格子点情報のうち8個おきにまとめて略等分割した32個の格子点情報を略等分割記憶部に記憶させるため、アドレスiの値が8の倍数かどうかで略等分割記憶部に記憶させるかどうかを判断する。アドレスiが8の倍数であるかどうかは例えばiのビット2からビット0の値が全てゼロであるかどうかで確認できる。8の倍数であると判断された場合、S204の処理に移り、略等分割記憶部203に記憶する処理を行う。8の倍数でないと判断された場合はS205の処理に進み格子点情報の記憶は行わない。
【0029】
S204では、図2におけるプロセッサインターフェース104を介して格子点情報a[i]、b[i]の制御部アドレスおよび設定データをガンマ補正部200に入力する。S204でCPU101から格子点情報を受けたガンマ補正部200の制御部201は、後述する図9のフローに従って格子点情報記憶部202に格子点情報を記憶する。S205にてアドレスiの値に1を加算する。S206にてアドレスiの値が最終値255と一致するかどうかを確認し、一致しない場合はS202の処理から再度フローを繰り返す。一致すると判断された場合は、全ての格子点について処理を完了したものとして格子点情報設定処理フローを終了する。
【0030】
<ガンマ補正処理>
以上の<細分位置設定処理>、<格子点情報設定処理>によりガンマ補正の演算処理を実行するための準備ができたので、図1におけるガンマ補正処理部107にて行われる、図8に示すガンマ補正処理フローにそってガンマ補正処理を実行する。図8に示すフローチャートは、図2における制御部201によって実現される。また制御部201は、ハードウェア回路だけでなくプロセッサやDSPなどで構成しても構わない。本フローチャートでは、図2における制御部201が入力画素値に応じて<細分位置設定処理>、<格子点情報設定処理>で設定された格子点情報を格子点情報記憶部202から読み出し、ガンマ補正する処理を示している。以下、本フローチャートに沿ってガンマ補正処理を説明する。
【0031】
まず、図1の読み取り部105から送られた12ビットの入力画素210の画素値を入力(S301)する。次にS301で入力された入力画素値の上位8ビット分、すなわちビット12からビットビット5を制御部アドレスiとし、図9のフローに従って、格子点情報記憶部202から格子点情報a[i]、b[i]を読み出す(S302)。例えば入力画素210が0xD80であった場合、上位8ビット分である制御部アドレスiは0xD8となる。また、制御部201は格子点情報の読み取りなので、R/W信号を読み取り要求として格子点情報記憶部202に読み取り要求を出す。以下、図9を参照して格子点情報の読み出し処理を説明するが、格子点情報の読み出し処理の詳細は、本処理の説明の後にさらに後述する。
【0032】
図9に示すS401にて、制御部201から制御部アドレスおよびR/W信号を受けた格子点情報記憶部202は、S402でR/W信号が読み取り要求か否か判定され、ここでは読み取り要求(すなわち“Y”)なのでS403に移る。S403では、入力アドレス値0xD8が細分レジスタアドレス0x100と一致しないのでS404に遷移する。S404では、制御部アドレスの上位5ビット0x1Bが細分位置レジスタの値0x1Bと一致するのでS406に移る。S406では制御部アドレスの下位3ビット0x0なので、そのまま細分等分割記憶部204のアドレス0x0として使用する。このアドレスに記憶されたデータ値(例えば、図3の例ではa[i]=0.50、b[i]=-300)が読み取りデータとして制御部201に出力される。
【0033】
次に、S302にて図9に示す格子点情報の読み出し処理のフローに従って読み出した格子点情報a[i]、b[i]から以下の式により出力値を演算(S303)する。
出力画素値Y=a[i] * 入力画素値X + b[i]
入力画素210が0xD80(10進数表記で3456)の場合の格子点情報として、a[i]=0.50、b[i]=-300が読みだされた場合は
Y=0.5*3456+(−300)
となり、演算結果は1428となる。演算結果1428をガンマ補正後の出力画素値211として出力(S304)して、1画素分のガンマ補正処理が終了する。これを全ての画素について行うことにより全体のガンマ補正処理が終了する。
【0034】
<格子点情報記憶部動作>
次に図2に示す制御部201から読み取り、あるいは設定要求された際の格子点情報記憶部202の動作フローについて、図9を用いて詳細に説明する。まず、格子点情報記憶部202は、制御部201からの読み取り、あるいは書き込み要求を受け、アドレス信号と読み書き信号を検出し、対応する読み取りデータを送信、あるいは書き込みデータを受信(S401)する。
【0035】
次に格子点情報記憶部202は、読み書き信号によって、読み取り要求であるか、書き込み要求であるかを判断(S402)する。S402にて読み書き信号値が読み取り要求であると判断された場合、S403以降の読み取り要求されたデータの出力に関する処理を行う。まず、S403では読み取り要求が細分位置レジスタ205に対するものであるかどうかを、アドレス信号により得られたアドレス値が細分位置レジスタ205のアドレス値に一致するかどうかで確認する。一致すると判断された場合は、S405にて細分位置レジスタ205の値を読み取りデータとして出力する。一致しないと判断された場合は、S404にて読み取り要求が細分領域に対するものであるかどうかをアドレスの上位5ビット、すなわちbit7からbit3と、細分位置レジスタ205に記憶された値とが一致するかどうかで確認する。細分領域であると判断された場合にはS406の処理を行って、細分等分割記憶部204の値を読取る処理に進む。細分領域でないと判断された場合にはS407の処理を行って、略等分割記憶部203の値を読取る処理に進む。
【0036】
S406では、細分領域における傾き及び切片の読み取りなので、アドレスの下位3ビット、すなわちbit2からbit0をアドレスとして細分等分割記憶部204に入力し、アドレスの示す位置に記憶された格子点情報を読み取りデータとして出力する。S407では、細分領域ではないので、アドレスの上位5ビット、すなわちbit7からbit3をアドレスとして略等分割記憶部203に入力し、アドレスの示す位置に記憶された格子点情報を読み取りデータとして出力する。以上でS402にて読み取り要求であると判断された場合の格子点情報記憶部動作を終了する。
【0037】
S402にて読み書き信号値が書き込み要求であると判断された場合、図10に示すフローへ移り、まずS413の処理を行う。S413では、上述の読み取り要求の場合と同様、書き込み要求が細分位置レジスタに対するものであるかどうかを、アドレス値が細分位置レジスタのアドレス値に一致するるかどうかで確認する。一致すると判断された場合は、S415にて書き込みデータであるWRデータの値を細分位置レジスタに書き込む。一致しないと判断された場合は、S414にて書き込み要求が細分領域に対するものであるかどうかを前記アドレスの上位5ビット、すなわちbit7からbit3と、細分位置レジスタに記憶された値とが一致するかどうかで確認する。細分領域であると判断された場合には、S416の処理を行って、細分等分割記憶部204に値を書き込む処理に進む。細分領域でないと判断された場合にはS417の処理を行って、略等分割記憶部203に値を書き込む処理に進む。S416ではアドレスの下位3ビット、すなわちbit2からbit0をアドレスとして細分等分割記憶部204に入力し、WRデータ値を格子点情報としてアドレスに書き込む。
【0038】
S417ではアドレスの上位5ビット、すなわちbit7からbit3をアドレスとして略等分割記憶部203に入力し、WRデータ値を格子点情報としてアドレスに書き込む。以上でS402にて書き込み要求であると判断された場合の格子点情報記憶部動作を終了する。
【0039】
<格子点情報更新>
図4および図5は、本実施例の印刷部109にて測色用パッチを印刷し、読み取り部105で読み取った測色値から算出した格子点情報を線で結んだガンマ曲線と、図3で示した格子点情報表との対応を示す図である。図4は、最初に測色パッチを読み取った測色値から算出した時点でのガンマ曲線と、格子点情報との対応を示したものである。ガンマ曲線401は、最初に測色値から算出した格子点情報を線で結んだ特性であり、細分等分割位置402はそれに対する格子点情報表の位置を示している。
【0040】
また図5は、一定時間経過後に再度測色パッチを読み取った測色値から算出した時点でのガンマ曲線と、格子点情報との対応を示したものである。ガンマ曲線501は一定時間経過後に再度測色パッチを読み取った測色値から算出した格子点情報を線で結んだ特性であり、細分等分割位置502はそれに対する格子点情報表の位置を示している。
【0041】
図4および図5に示すように、印刷装置においては機械的動作や部材の経年劣化により、図4におけるガンマ曲線401から図5におけるガンマ曲線501のようにガンマ特性が変化することがある。このようなガンマ特性変化に対しても、本実施例で説明した<細分位置設定処理>を再度行うことで、各ガンマ曲線の傾き変化の大きい部分に応じた細分化位置に修正することが可能となり、高画質なガンマ補正処理を行うことが可能となる。
【0042】
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、本発明は、複数のプロセッサが連携して処理を行うことによっても実現できるものである。
【技術分野】
【0001】
本発明は画像処理装置及び画像処理方法に関し、特にデジタル画像のガンマ補正処理を近似演算で行う場合のメモリを制御することができる画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
従来、画像処理装置において全入力に対し一律にLUTを利用してガンマ補正を行なった場合ガンマ補正回路規模が増大してしまうため、より回路規模を削減する技術が知られている。すなわち、ガンマ補正処理を行うハードウェア回路として少量のLUTと一次近似式で実現することにより、ガンマ補正処理両を軽減し、処理に必要なメモリを削減する技術である。例えば、特許文献1に開示された技術では、まず入力画素値を等間隔に区切った点を格子点として、格子点間のガンマ補正線を一次式で表した際の傾き、切片の値を格子点情報としてLUTに記憶する。入力画素値の上位ビットをそのままLUTに適用することで、入力画素の値から即座にLUTに記憶した格子点情報を得られるようにし、高速に格子点情報を得てガンマ補正する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−233131号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般に、複写機や印刷装置におけるガンマ特性は入力値の増加に対して傾き変化がほとんどない線形領域と、傾き変化が激しい非線形領域に大別される。しかしながら特許文献1に記載のシステムでは、線形領域・非線形領域に関わらず、入力データの取りうる値の範囲全体を等分割し、等分割格子点における傾きおよび切片情報をLUTに保持している。したがって例えば、傾き変化の激しい非線形領域で変化を十分再現できるよう等分割格子点の数を増やせば(全体を細分等分割すれば)ガンマ特性はなめらかな曲線を再現でき、ガンマ補正画質は向上する。しかし、非線形領域に合わせた処理を実行すると、全体を細分等分割した格子点情報を全て保持しなければならなくなるため、処理回路規模が増大してしまうという課題がある。
【0005】
逆に傾きの変化がほとんどない線形領域に合わせて等分割格子点の数を減らした場合は、記憶しなければならない格子点情報が減り処理回路規模を小さくすることができる。しかし、格子点の数が少ないことにより非線形領域の傾きの激しい変化を十分再現することが困難となり、ガンマ補正画質が低下してしまうという課題がある。
【0006】
一方、高画質で処理回路規模を小さくするために、全体を等分割ではなく傾き変化量に応じて全体を部分的に細かく、または粗く分割する不等分割として各格子における傾きおよび切片情報を使用する方法がある。しかい不等分割格子を採用すると、入力画素値がどの格子点間に位置するのかを割り出すために、各格子点位置と入力画素とを逐次比較していかなければならず、従来のLUT方式と比較して著しく処理速度が低下してしまうという課題がある。
【0007】
したがって、入力画素値の取りうる範囲全体を複数の格子点に分割し、格子点情報として線形補完するための傾きおよび切片情報を保持してガンマ補正を実行する方法において、小規模回路により高画質かつ高速処理が可能な構成を実現することが課題となっている。
【課題を解決するための手段】
【0008】
上記課題を解決すべく、本発明における画像処理装置は、入力画像データの信号値を複数の領域に分け、領域の境を格子点として、各格子点間の入力画像データに対するガンマ補正処理に必要な格子点情報を記憶する格子点情報記憶手段であって、入力画像データの信号値を等分割した等分割格子点の情報を記憶する第1記憶手段と、第1記憶手段よりも細かく等分割した細分等分割格子点の情報を記憶する第2記憶手段とを含む格子点情報記憶手段と、入力画像データの信号値の演算処理に用いる格子点情報が格子点情報記憶手段の第1記憶手段に記憶されているか、または第2記憶手段に記憶されているかを判定し、判定された記憶手段から格子点情報を読み込み、読み込んだ格子点情報と入力画像データの信号値から演算処理を行ってガンマ補正処理を行い、入力画像データの信号値の補正を行う補正手段とを備えたことを特徴とする。
【発明の効果】
【0009】
ガンマ曲線の全領域を細分割格子点とする方法に比べ、格子点数を減らすことで情報の記憶量を削減することができ、高品質を保ったまま、画像処理装置におけるメモリの小規模化を実現できる。また制御回路からは全体が細分等分割されているように見せることで高速に処理することができる。さらにキャリブレーションに伴うガンマ曲線の非線形領域の移動に合わせて細分位置を再設定することにより、移動前と同等の画質を保持できる。
【図面の簡単な説明】
【0010】
【図1】本発明におけるガンマ補正処理装置の構成の一例を示す図である。
【図2】本発明における格子点情報記憶手段の構成の一例を示す図である。
【図3】本発明の一実施例における格子点情報とアドレスの関係を示す図である。
【図4】本発明の一実施例における第一の時点でのガンマ補正特性を示す図である。
【図5】本発明の一実施例における第二の時点でのガンマ補正特性を示す図である。
【図6】本発明における細分位置設定処理フローの一例を示すフローチャートである。
【図7】本発明における格子点情報設定処理フローの一例を示すフローチャートである。
【図8】本発明におけるガンマ補正処理フローの一例を示すフローチャートである。
【図9】本発明の一実施例における格子点情報記憶部動作を示すフローチャートである。
【図10】本発明の一実施例における格子点情報記憶部動作を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明を実施するための形態について図面を用いて説明する。
<実施例1>
図1は、本発明の実施例1におけるガンマ補正処理を実行するハードウェアを含む、画像処理装置の構成を示す図である。CPU101には、CPU101を動作させるためのプログラムを格納するROM103、およびROM103に格納されたプログラムに従いCPU101が動作する際に使用するRAM102が接続される。また読み取り部105は、原稿を読み取り、1画素ずつ画像データを出力する。
【0012】
ガンマ補正部107は、1画素ずつ画像データを入力し、入力した入力画像データにガンマ補正処理を行い、1画素ずつ画像データを出力する。印刷部109は、1画素ずつ画像データを入力し、紙媒体などに画像データを印刷する。またバス104は、CPU101、ROM103、RAM102、読み取り部105、ガンマ補正部107、印刷部109を接続し、イメージデータバス110は読み取り部105からガンマ補正部107に画像データを送るためのものである。同様にイメージデータバス111は、ガンマ補正部107から印刷部109に画像データを送るものである。
【0013】
図2は、図1におけるガンマ補正部107の構成を示す図である。ガンマ補正部107はガンマ補正処理を行い、画像データ入力画素210はガンマ補正部107によりガンマ補正され、画像データ出力画素211としてガンマ補正部107から出力される。またバス104を介して、図1におけるCPU101はガンマ補正部107に格子点情報やレジスタ設定を行う。制御部201は、図1における読み取り部105からの画像データを入力画素210として入力し、CPU101によって設定された格子点情報やレジスタ設定に従ってガンマ補正を行い、印刷部109への画像データとして出力画素211を出力する。
【0014】
格子点情報記憶部202は、制御部201によって格子点情報やレジスタ値を設定され、制御部201によって設定された格子点情報を読み出し、略等分割記憶部203、細分等分割記憶部204、細分位置レジスタ205などを含む。略等分割記憶部203は、アドレス信号、読み出しおよび書き込み選択信号、選択信号、書き込みデータ信号並びに読み出しデータ信号などにより動作する記憶素子であり、略等分割格子点の情報を記憶する。同様に細分等分割記憶部204は、アドレス信号、読み出しおよび書き込み選択信号、選択信号、書き込みデータ信号並びに読み出しデータ信号などにより動作する記憶素子であり、細分等分割格子点の情報を記憶する。
【0015】
細分位置レジスタ205には、読み取り要求あるいは書き込み要求が略等分割記憶部203に対するものか、あるいは細分等分割記憶部204に対するものかを判断するためのアドレス上位ビット値を抽出し保持しておく。本実施例では、細分位置レジスタは、細分位置レジスタアドレス0x100でアクセスすることができるが、これには限られない。また206選択回路部は、細分位置レジスタ205の値と格子点情報記憶部202に入力されたアドレスの上位ビットから各記憶部に対するチップセレクト(有効)信号を出力する。
【0016】
また、図3は、印刷部109にて測色用パッチを印刷し、読み取り部105で読み取った測色値から算出した格子点情報と、図2における制御部201がアクセスする際の略等分割記憶部203および細分等分割記憶部204のアドレスとの関係を示す図である。本実施例においては、図2における入力画素210、出力画素211が12bit、格子点測色値から256個の格子点情報を算出することを想定して説明するがこれに限られるものではない。また、図3には8個の格子点をまとめ、全体を略等分割し32個の格子点情報306を略等分割記憶部203に記憶していることを示す。さらに、一部、すなわち非線形領域における連続する8個の格子点情報307を細分等分割記憶部204に記憶していることを図示する。
【0017】
配列番号301は256個の格子点情報をa[i](i=0から255)という配列で表現したものであり、制御部アドレス302は制御部201が出力するためのアドレスである。また、後述するように略分割記憶部アドレス303は略等分割記憶部203で入力するためのアドレスであり、細分等分割記憶部アドレス304は細分等分割記憶部204で入力するためのアドレスを示している。
【0018】
本実施例においては格子点情報が全部で256であるため、制御部アドレス302は8ビットで表現でき、ビット7からビット0で構成される。ここで、略等分割記憶部203および細分等分割記憶部204へのアクセスを高速にするため、略等分割記憶部アドレス303は制御部アドレスの上位5ビット分、すなわちビット7からビット3までとする。同様に細分等分割記憶部アドレス304は制御部アドレスの下位ビットの3ビット分、すなわちビット2からビット0とする。
【0019】
図3に戻ると、256個の全格子点情報305はCPU101が測色値から算出し、具体的には傾きa[i]と切片b[i]で構成される。格子点情報306は全格子点情報305のうち略等分割記憶部203に記憶され、格子点情報307は細分等分割記憶部204に記憶される。また、格子点情報308は略等分割記憶部203にも細分等分割記憶部204にも記憶されない情報である。
【0020】
次に本実施例において、ガンマ補正処理の詳細を説明する。本実施例のガンマ補正処理は、大きく<細分位置設定処理>、<格子点情報設定処理>、<ガンマ補正処理>および<格子点情報記憶部動作>に分けることができるので、各々に分けて処理フローを以下に説明する。
【0021】
<細分位置設定処理>
まず本実施例における細分位置設定処理フローについて図6を用いて説明する。本フローチャートは、図1におけるROM103に格納されたプログラムに従って、CPU101が実行することによって実現される。本実施例で説明する画素データは12bitであり、色値の範囲0から4095の全体を256に等分割すると、格子点の色値としては0、16、32、・・・となる。これらの格子点色値を画像出力部109にて印刷した測色用パッチを画像読み取り部105にて読み取ることで各格子点の測色値を取得(S101)する。
【0022】
このようにして得られた隣り合う格子点の測色値を直線で結んだ一次式は、
Y=aX+b
で表すことができる。このときXは入力画素の色値であり、Yは出力画素の色値を示し、aは一次式の傾き、bは切片を示している。隣り合う格子点A、Bにおける一次式の傾きa、切片bは、左側に隣接する格子点AにおけるX、Yの値および右側に隣接する格子点BにおけるX、Yをそれぞれ一次式に代入したものから導きだすことができる。左側格子点Bおよび右側格子点AにおけるX、Yはそれぞれ画像出力部109で印刷した色値とそれを画像読み取り部105にて読み取った際の測色値である。このようにして隣り合う格子点間を結ぶ一次式の傾きa、切片bの一番目をa[0]、b[0]、二番目をa[1]、b[1]として、a[255]、b[255]まで演算(S102)し、図3における格子点情報データを作成する。
【0023】
次に、傾きa[i](i=0から255)の変化量を算出するため、隣り合う傾きa[i]とa[i+1]の差分を演算する。このようにして得られた差分値を隣り合う傾き間の変化量とし、その中で最も値の大きいものを差分値の極大点と判断する。すなわち、この極大点の前後がガンマ特性における非線形領域であり、ここでは細分領域とも呼ぶこととし、この細分領域に含まれる入力値の傾き及び切片の値が上述の細分等分割記憶部204に記憶される。この差分値の極大点における傾き値a[N](N=0から255のいずれか)は、最も傾き変化量の大きい位置Nを示す。そこで、CPU101はa[N]前後を非線形領域と決定し、この領域の格子点情報は、細分割格子点の情報として細分等分割記憶部204に記憶する。
【0024】
このa[N]の前後である非線形領域は、ある等分割格子点から次の等分割格子点で構成される範囲であり、細分割格子点はこの等分格子点で構成される一定範囲に含まれる。つまり、変化量が最大の格子点と同一の等分格子点で構成される一定範囲に含まれる格子点が細分割格子点となる。
【0025】
図3においてはa[218]とa[219]間の差分値0.3が最大となるので、ここが極大点と判定する。そこでCPU101は、インターフェース104を通じて、ガンマ補正部200の細分位置レジスタ205のアドレスを示す細分位置レジスタアドレス0x100に、N=219の上位ビットであるビット7からビット3までの値0x1Bを設定するよう送信する。S105にて、プロセッサインターフェース104を介して、細分位置レジスタ205への設定を認識した制御部201は、細分位置レジスタ205のアドレスおよび設定値を格子点情報記憶部202に出力する。細分位置レジスタ205のアドレスおよび設定値を出力された格子点情報記憶部202は、後述する図9のフローに従って、設定値を細分位置レジスタ205に設定する。以上により細分位置レジスタ205に設定された値を用いて、ガンマ補正時、入力値が細分領域に含まれているか否かを判定することができる。
【0026】
<格子点情報設定処理>
次に格子点情報をガンマ補正処理部107の格子点情報記憶部202に設定するフローについて図7を用いて説明する。本処理は、図1におけるROM103に格納されたプログラムをCPU101が実行することによって実現される。特にここでは、図6のS102で算出された格子点間の傾きa[i]、b[i](i=0から255)を略等分割記憶部203あるいは細分等分割記憶部204などに選択して設定する方法を説明する。
【0027】
まず、S201ではアドレスiに初期値としてゼロを設定する。次にアドレスiの値が細分等分割記憶部204に記憶すべき領域、すなわち非線形領域にあるかどうかを、アドレスiの上位ビットであるビット7からビット3の値が図6のS105で設定した値に一致するか否かにより確認(S202)する。一致する場合は非線形領域、すなわち細分当分割記憶部に記憶すべき領域であると判断し、S204の処理に移る。一致しない場合は非線形領域以外であると判断し、略分割格子点の情報としてS203にて略等分割記憶部203に記憶させるかどうかを確認する。
【0028】
S203で、本実施例においては、256個の格子点情報のうち8個おきにまとめて略等分割した32個の格子点情報を略等分割記憶部に記憶させるため、アドレスiの値が8の倍数かどうかで略等分割記憶部に記憶させるかどうかを判断する。アドレスiが8の倍数であるかどうかは例えばiのビット2からビット0の値が全てゼロであるかどうかで確認できる。8の倍数であると判断された場合、S204の処理に移り、略等分割記憶部203に記憶する処理を行う。8の倍数でないと判断された場合はS205の処理に進み格子点情報の記憶は行わない。
【0029】
S204では、図2におけるプロセッサインターフェース104を介して格子点情報a[i]、b[i]の制御部アドレスおよび設定データをガンマ補正部200に入力する。S204でCPU101から格子点情報を受けたガンマ補正部200の制御部201は、後述する図9のフローに従って格子点情報記憶部202に格子点情報を記憶する。S205にてアドレスiの値に1を加算する。S206にてアドレスiの値が最終値255と一致するかどうかを確認し、一致しない場合はS202の処理から再度フローを繰り返す。一致すると判断された場合は、全ての格子点について処理を完了したものとして格子点情報設定処理フローを終了する。
【0030】
<ガンマ補正処理>
以上の<細分位置設定処理>、<格子点情報設定処理>によりガンマ補正の演算処理を実行するための準備ができたので、図1におけるガンマ補正処理部107にて行われる、図8に示すガンマ補正処理フローにそってガンマ補正処理を実行する。図8に示すフローチャートは、図2における制御部201によって実現される。また制御部201は、ハードウェア回路だけでなくプロセッサやDSPなどで構成しても構わない。本フローチャートでは、図2における制御部201が入力画素値に応じて<細分位置設定処理>、<格子点情報設定処理>で設定された格子点情報を格子点情報記憶部202から読み出し、ガンマ補正する処理を示している。以下、本フローチャートに沿ってガンマ補正処理を説明する。
【0031】
まず、図1の読み取り部105から送られた12ビットの入力画素210の画素値を入力(S301)する。次にS301で入力された入力画素値の上位8ビット分、すなわちビット12からビットビット5を制御部アドレスiとし、図9のフローに従って、格子点情報記憶部202から格子点情報a[i]、b[i]を読み出す(S302)。例えば入力画素210が0xD80であった場合、上位8ビット分である制御部アドレスiは0xD8となる。また、制御部201は格子点情報の読み取りなので、R/W信号を読み取り要求として格子点情報記憶部202に読み取り要求を出す。以下、図9を参照して格子点情報の読み出し処理を説明するが、格子点情報の読み出し処理の詳細は、本処理の説明の後にさらに後述する。
【0032】
図9に示すS401にて、制御部201から制御部アドレスおよびR/W信号を受けた格子点情報記憶部202は、S402でR/W信号が読み取り要求か否か判定され、ここでは読み取り要求(すなわち“Y”)なのでS403に移る。S403では、入力アドレス値0xD8が細分レジスタアドレス0x100と一致しないのでS404に遷移する。S404では、制御部アドレスの上位5ビット0x1Bが細分位置レジスタの値0x1Bと一致するのでS406に移る。S406では制御部アドレスの下位3ビット0x0なので、そのまま細分等分割記憶部204のアドレス0x0として使用する。このアドレスに記憶されたデータ値(例えば、図3の例ではa[i]=0.50、b[i]=-300)が読み取りデータとして制御部201に出力される。
【0033】
次に、S302にて図9に示す格子点情報の読み出し処理のフローに従って読み出した格子点情報a[i]、b[i]から以下の式により出力値を演算(S303)する。
出力画素値Y=a[i] * 入力画素値X + b[i]
入力画素210が0xD80(10進数表記で3456)の場合の格子点情報として、a[i]=0.50、b[i]=-300が読みだされた場合は
Y=0.5*3456+(−300)
となり、演算結果は1428となる。演算結果1428をガンマ補正後の出力画素値211として出力(S304)して、1画素分のガンマ補正処理が終了する。これを全ての画素について行うことにより全体のガンマ補正処理が終了する。
【0034】
<格子点情報記憶部動作>
次に図2に示す制御部201から読み取り、あるいは設定要求された際の格子点情報記憶部202の動作フローについて、図9を用いて詳細に説明する。まず、格子点情報記憶部202は、制御部201からの読み取り、あるいは書き込み要求を受け、アドレス信号と読み書き信号を検出し、対応する読み取りデータを送信、あるいは書き込みデータを受信(S401)する。
【0035】
次に格子点情報記憶部202は、読み書き信号によって、読み取り要求であるか、書き込み要求であるかを判断(S402)する。S402にて読み書き信号値が読み取り要求であると判断された場合、S403以降の読み取り要求されたデータの出力に関する処理を行う。まず、S403では読み取り要求が細分位置レジスタ205に対するものであるかどうかを、アドレス信号により得られたアドレス値が細分位置レジスタ205のアドレス値に一致するかどうかで確認する。一致すると判断された場合は、S405にて細分位置レジスタ205の値を読み取りデータとして出力する。一致しないと判断された場合は、S404にて読み取り要求が細分領域に対するものであるかどうかをアドレスの上位5ビット、すなわちbit7からbit3と、細分位置レジスタ205に記憶された値とが一致するかどうかで確認する。細分領域であると判断された場合にはS406の処理を行って、細分等分割記憶部204の値を読取る処理に進む。細分領域でないと判断された場合にはS407の処理を行って、略等分割記憶部203の値を読取る処理に進む。
【0036】
S406では、細分領域における傾き及び切片の読み取りなので、アドレスの下位3ビット、すなわちbit2からbit0をアドレスとして細分等分割記憶部204に入力し、アドレスの示す位置に記憶された格子点情報を読み取りデータとして出力する。S407では、細分領域ではないので、アドレスの上位5ビット、すなわちbit7からbit3をアドレスとして略等分割記憶部203に入力し、アドレスの示す位置に記憶された格子点情報を読み取りデータとして出力する。以上でS402にて読み取り要求であると判断された場合の格子点情報記憶部動作を終了する。
【0037】
S402にて読み書き信号値が書き込み要求であると判断された場合、図10に示すフローへ移り、まずS413の処理を行う。S413では、上述の読み取り要求の場合と同様、書き込み要求が細分位置レジスタに対するものであるかどうかを、アドレス値が細分位置レジスタのアドレス値に一致するるかどうかで確認する。一致すると判断された場合は、S415にて書き込みデータであるWRデータの値を細分位置レジスタに書き込む。一致しないと判断された場合は、S414にて書き込み要求が細分領域に対するものであるかどうかを前記アドレスの上位5ビット、すなわちbit7からbit3と、細分位置レジスタに記憶された値とが一致するかどうかで確認する。細分領域であると判断された場合には、S416の処理を行って、細分等分割記憶部204に値を書き込む処理に進む。細分領域でないと判断された場合にはS417の処理を行って、略等分割記憶部203に値を書き込む処理に進む。S416ではアドレスの下位3ビット、すなわちbit2からbit0をアドレスとして細分等分割記憶部204に入力し、WRデータ値を格子点情報としてアドレスに書き込む。
【0038】
S417ではアドレスの上位5ビット、すなわちbit7からbit3をアドレスとして略等分割記憶部203に入力し、WRデータ値を格子点情報としてアドレスに書き込む。以上でS402にて書き込み要求であると判断された場合の格子点情報記憶部動作を終了する。
【0039】
<格子点情報更新>
図4および図5は、本実施例の印刷部109にて測色用パッチを印刷し、読み取り部105で読み取った測色値から算出した格子点情報を線で結んだガンマ曲線と、図3で示した格子点情報表との対応を示す図である。図4は、最初に測色パッチを読み取った測色値から算出した時点でのガンマ曲線と、格子点情報との対応を示したものである。ガンマ曲線401は、最初に測色値から算出した格子点情報を線で結んだ特性であり、細分等分割位置402はそれに対する格子点情報表の位置を示している。
【0040】
また図5は、一定時間経過後に再度測色パッチを読み取った測色値から算出した時点でのガンマ曲線と、格子点情報との対応を示したものである。ガンマ曲線501は一定時間経過後に再度測色パッチを読み取った測色値から算出した格子点情報を線で結んだ特性であり、細分等分割位置502はそれに対する格子点情報表の位置を示している。
【0041】
図4および図5に示すように、印刷装置においては機械的動作や部材の経年劣化により、図4におけるガンマ曲線401から図5におけるガンマ曲線501のようにガンマ特性が変化することがある。このようなガンマ特性変化に対しても、本実施例で説明した<細分位置設定処理>を再度行うことで、各ガンマ曲線の傾き変化の大きい部分に応じた細分化位置に修正することが可能となり、高画質なガンマ補正処理を行うことが可能となる。
【0042】
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、本発明は、複数のプロセッサが連携して処理を行うことによっても実現できるものである。
【特許請求の範囲】
【請求項1】
入力画像データの信号値を複数の領域に分け、領域の境を格子点として、各格子点間の入力画像データに対するガンマ補正処理に必要な格子点情報を記憶する格子点情報記憶手段であって、入力画像データの信号値を等分割した等分割格子点の情報を記憶する第1記憶手段と、該第1記憶手段よりも細かく等分割した細分等分割格子点の情報を記憶する第2記憶手段とを含む格子点情報記憶手段と、
入力画像データの信号値の演算処理に用いる格子点情報が格子点情報記憶手段の第1記憶手段に記憶されているか、または第2記憶手段に記憶されているかを判定し、当該判定された記憶手段から格子点情報を読み込み、当該読み込んだ格子点情報と前記入力画像データの信号値から演算処理を行ってガンマ補正処理を行い、前記入力画像データの信号値の補正を行う補正手段と
を備えたことを特徴とする画像処理装置。
【請求項2】
前記格子点情報は、隣接する格子点の色値を一次式で表した場合の傾きと切片であることを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記細分割格子点は、全体を細分割格子で等分割した格子点の傾きの変化量が最も大きい格子点と、該格子点と同一の等分割格子点で構成される範囲に含まれる格子点であることを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記制御手段は、前記入力画像データの信号値から格子点情報記憶手段の制御部アドレスを抽出し、該アドレスにより前記格子点情報記憶手段に記憶された格子点情報を読み込み、
前記第1記憶手段は、前記制御部アドレスの上位ビットにより略等分割格子点の情報を読み込み、
前記第2記憶手段は、前記制御部アドレスの下位ビットにより細分等分割格子点の情報を読み込むことを特徴とする請求項1ないし3のいずれかに記載の画像処理装置。
【請求項5】
前記細分等分割格子点として設定された入力画像データの信号値を記憶する記憶手段をさらに備えたことを特徴とする請求項1ないし4のいずれかに記載の画像処理装置。
【請求項6】
全体を細分割格子で等分割した格子点の傾きの変化量を算出して、算出された変化量が最も大きい格子点と、該格子点と同一の等分割格子点で構成される範囲に含まれる格子点とを、前記細分等分割格子点と設定する設定手段をさらに備えたことを特徴とする請求項1ないし5のいずれかに記載の画像処理装置。
【請求項7】
入力画像データの信号値を複数の領域に分け、領域の境を格子点として、各格子点間の入力画像データに対するガンマ補正処理に必要な格子点情報を記憶する格子点情報記憶ステップであって、入力画像データの信号値を等分割した等分割格子点の情報を第1記憶手段に記憶し、該第1記憶手段よりも細かく等分割した細分等分割格子点の情報を第2記憶手段に記憶する格子点情報記憶ステップと、
入力画像データの信号値の演算処理に用いる格子点情報が第1記憶手段に記憶されているか、または第2記憶手段に記憶されているかを判定し、当該判定された記憶手段から格子点情報を読み込み、当該読み込んだ格子点情報と入力画像データの信号値から演算処理を行ってガンマ補正処理を行い、前記入力画像データの信号値の補正を行う補正ステップと
を備えたことを特徴とする画像処理方法。
【請求項1】
入力画像データの信号値を複数の領域に分け、領域の境を格子点として、各格子点間の入力画像データに対するガンマ補正処理に必要な格子点情報を記憶する格子点情報記憶手段であって、入力画像データの信号値を等分割した等分割格子点の情報を記憶する第1記憶手段と、該第1記憶手段よりも細かく等分割した細分等分割格子点の情報を記憶する第2記憶手段とを含む格子点情報記憶手段と、
入力画像データの信号値の演算処理に用いる格子点情報が格子点情報記憶手段の第1記憶手段に記憶されているか、または第2記憶手段に記憶されているかを判定し、当該判定された記憶手段から格子点情報を読み込み、当該読み込んだ格子点情報と前記入力画像データの信号値から演算処理を行ってガンマ補正処理を行い、前記入力画像データの信号値の補正を行う補正手段と
を備えたことを特徴とする画像処理装置。
【請求項2】
前記格子点情報は、隣接する格子点の色値を一次式で表した場合の傾きと切片であることを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記細分割格子点は、全体を細分割格子で等分割した格子点の傾きの変化量が最も大きい格子点と、該格子点と同一の等分割格子点で構成される範囲に含まれる格子点であることを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記制御手段は、前記入力画像データの信号値から格子点情報記憶手段の制御部アドレスを抽出し、該アドレスにより前記格子点情報記憶手段に記憶された格子点情報を読み込み、
前記第1記憶手段は、前記制御部アドレスの上位ビットにより略等分割格子点の情報を読み込み、
前記第2記憶手段は、前記制御部アドレスの下位ビットにより細分等分割格子点の情報を読み込むことを特徴とする請求項1ないし3のいずれかに記載の画像処理装置。
【請求項5】
前記細分等分割格子点として設定された入力画像データの信号値を記憶する記憶手段をさらに備えたことを特徴とする請求項1ないし4のいずれかに記載の画像処理装置。
【請求項6】
全体を細分割格子で等分割した格子点の傾きの変化量を算出して、算出された変化量が最も大きい格子点と、該格子点と同一の等分割格子点で構成される範囲に含まれる格子点とを、前記細分等分割格子点と設定する設定手段をさらに備えたことを特徴とする請求項1ないし5のいずれかに記載の画像処理装置。
【請求項7】
入力画像データの信号値を複数の領域に分け、領域の境を格子点として、各格子点間の入力画像データに対するガンマ補正処理に必要な格子点情報を記憶する格子点情報記憶ステップであって、入力画像データの信号値を等分割した等分割格子点の情報を第1記憶手段に記憶し、該第1記憶手段よりも細かく等分割した細分等分割格子点の情報を第2記憶手段に記憶する格子点情報記憶ステップと、
入力画像データの信号値の演算処理に用いる格子点情報が第1記憶手段に記憶されているか、または第2記憶手段に記憶されているかを判定し、当該判定された記憶手段から格子点情報を読み込み、当該読み込んだ格子点情報と入力画像データの信号値から演算処理を行ってガンマ補正処理を行い、前記入力画像データの信号値の補正を行う補正ステップと
を備えたことを特徴とする画像処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2013−54679(P2013−54679A)
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願番号】特願2011−194114(P2011−194114)
【出願日】平成23年9月6日(2011.9.6)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願日】平成23年9月6日(2011.9.6)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]