(57)【要約】【課題】ＬＵＴのメモリ容量を削減し、かつ精度の高い画像補正を行う画像補正装置を提供する。【解決手段】本発明の画像補正装置は、所定のビット数の画像データの補正値を有する補正テーブルと、前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する分離部と、前記補正値に基づいて、１階導関数が連続である曲線を作成する作成部と、作成された前記曲線を用いて前記下位ビットデータの補正値を算出する算出部と、算出された前記補正値で前記画像データを補正して出力する補正部と、を有する。【選択図】      図１
2018121139.tif 000002
【特許請求の範囲】
【請求項１】
所定のビット数の画像データの補正値を有する補正テーブルと、
前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する分離部と、
前記補正値に基づいて、１階導関数が連続である曲線を作成する作成部と、
作成された前記曲線を用いて前記下位ビットデータの補正値を算出する算出部と、
算出された前記補正値で前記画像データを補正して出力する補正部と、を有する画像補正装置。
【請求項２】
前記作成部は、所定の前記上位ビットデータの前記補正値と、前記所定の上位ビットデータの一つ前の、および次の、および更に次の前記上位ビットデータの前記補正値と、に基づいて前記曲線を作成する、請求項１記載の画像補正装置。
【請求項３】
前記作成部はベジェ曲線を作成する、請求項１または２記載の画像補正装置。
【請求項４】
前記算出部で算出された補正値を保存する記憶部を有する、請求項１から３の内の１項記載の画像補正装置。
【請求項５】
所定のビット数の画像データの補正値を有する補正テーブルを用いた画像補正方法において、
前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離し、
前記補正値に基づいて、１階導関数が連続である曲線を作成し、
作成された前記曲線を用いて前記下位ビットデータの補正値を算出し、
算出された前記補正値で前記画像データを補正して出力する、画像補正方法。
【請求項６】
所定の前記上位ビットデータの前記補正値と、前記所定の上位ビットデータの一つ前の、および次の、および更に次の前記上位ビットデータの前記補正値と、に基づいて前記曲線を作成する、請求項５記載の画像補正方法。
【請求項７】
前記曲線はベジェ曲線である、請求項５または６記載の画像補正方法。
【請求項８】
前記算出された補正値を保存する、請求項５から７の内の１項記載の画像補正方法。
【請求項９】
所定のビット数の画像データの補正値を有する補正テーブルを用いた画像補正をコンピュータに実行させる画像補正プログラムにおいて、
前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する処理と、
前記補正値に基づいて、１階導関数が連続である曲線を作成する処理と、
作成された前記曲線を用いて前記下位ビットデータの補正値を算出する処理と、
算出された前記補正値で前記画像データを補正して出力する処理と、を実行させる画像補正プログラム。
【請求項１０】
所定の前記上位ビットデータの前記補正値と、前記所定の上位ビットデータの一つ前の、および次の、および更に次の前記上位ビットデータの前記補正値と、に基づいて前記曲線を作成する処理を実行させる、請求項９記載の画像補正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ガンマ補正などの画像補正を行う技術に関する。
【背景技術】
【０００２】
ガンマ補正などの画像補正においては、入力信号に対する出力信号を割り当てたＬＵＴ（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ）により入力信号を出力信号に変換する方法や、高度な算術演算で入力信号を出力信号に変換する方法が行われている。
【０００３】
画像の高画質化に伴い画素ごとの輝度や階調を表す画像データのビット数が増すと、ＬＵＴを用いる場合、これに対応させてＬＵＴのデータのビット数を増やすとデータ容量が増えてしまい、データを記憶するメモリの記憶容量を増やす必要が生じる。一方、ＬＵＴのデータのビット数を増やさずに画像を処理すると、補正の精度が低下して画質が低下してしまう。また、算術演算で処理する場合、データのビット数が増すと演算規模が大きくなり所望の処理速度が得られない、もしくは高速処理できる回路が新たに必要となる、という問題が生じる。
【０００４】
特許文献１には、ＬＵＴのメモリ容量を削減することのできる階調変換処理装置が開示されている。特許文献１の階調変換処理装置は、デジタル入力された画像データを、上位ビットデータと下位ビットデータとに分離する。ＬＵＴは、上位ビットデータを変換するデータと、上位ビットデータを変換するデータに対応した変換曲線を規定する補正係数群とを有している。このＬＵＴから取得した補正係数群から、高次関数の階調変換関数を生成し、下位ビットデータを階調変換関数で演算し、階調変換された画像データを出力する。これにより特許文献１の階調変換処理装置のＬＵＴのメモリ容量は、画像データ全体に対応するビット数のデータを全て備える場合に比べて小さくて済むことになる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２７２０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の階調変換処理装置は、以下の課題を有している。すなわち、階調変換処理装置のＬＵＴは、画像データの上位ビットデータを変換するデータに加えて、上位ビットデータを変換するデータに対応した変換曲線を規定する補正係数群を備える必要がある。この補正係数群の分、データ容量が増えてしまうことから、ＬＵＴは大きいメモリ容量を必要としている。
【０００７】
本発明は、上記の課題に鑑みてなされたものであり、その目的は、ＬＵＴのメモリ容量を削減し、かつ精度の高い画像補正を行う画像補正装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の画像補正装置は、所定のビット数の画像データの補正値を有する補正テーブルと、前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する分離部と、前記補正値に基づいて、１階導関数が連続である曲線を作成する作成部と、作成された前記曲線を用いて前記下位ビットデータの補正値を算出する算出部と、算出された前記補正値で前記画像データを補正して出力する補正部と、を有する。
【０００９】
本発明の画像補正方法は、所定のビット数の画像データの補正値を有する補正テーブルを用いた画像補正方法において、前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離し、前記補正値に基づいて、１階導関数が連続である曲線を作成し、作成された前記曲線を用いて前記下位ビットデータの補正値を算出し、算出された前記補正値で前記画像データを補正して出力する。
【００１０】
本発明の画像補正プログラムは、所定のビット数の画像データの補正値を有する補正テーブルを用いた画像補正をコンピュータに実行させる画像補正プログラムにおいて、前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する処理と、前記補正値に基づいて、１階導関数が連続である曲線を作成する処理と、作成された前記曲線を用いて前記下位ビットデータの補正値を算出する処理と、算出された前記補正値で前記画像データを補正して出力する処理と、を実行させる。
【発明の効果】
【００１１】
本発明によれば、ＬＵＴのメモリ容量を削減し、かつ精度の高い画像補正を行う画像補正装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態の画像補正装置の構成を示すブロック図である。
【図２】本発明の第２の実施形態の画像補正装置の構成を示すブロック図である。
【図３】本発明の第２の実施形態の画像補正装置の動作を示すフローチャートである。
【図４】本発明の第２の実施形態の画像補正装置のベジェ曲線を作成する方法を説明するための図である。
【発明を実施するための形態】
【００１３】
以下、図を参照しながら、本発明の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
（第１の実施形態）
図１は、本発明の第１の実施形態の画像補正装置の構成を示すブロック図である。本実施形態の画像補正装置１は、所定のビット数の画像データの補正値を有する補正テーブル１１を有する。さらに、前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する分離部１２を有する。さらに、前記補正値に基づいて、１階導関数が連続である曲線を作成する作成部１３を有する。さらに、作成された前記曲線を用いて前記下位ビットデータの補正値を算出する算出部１４を有する。さらに、算出された前記補正値で前記画像データを補正して出力する補正部１５を有する。
【００１４】
画像補正装置１によれば、補正テーブル１１の有する所定のビット数の画像データの補正値に基づいて作成された曲線によって、所定のビット数よりも大きいビット数の画像データに対する補正値が算出される。補正テーブル１１は所定のビット数の画像データの補正値の容量だけで済むため、メモリ容量の削減が可能である。さらに、曲線により、補正テーブル１１の有する補正値の間は滑らかに繋がれるため、画像データの補正の精度を高くすることができる。
【００１５】
以上のように、本実施形態によれば、補正テーブルのメモリ容量を削減し、かつ精度の高い画像補正を行う画像補正装置を提供することができる。
（第２の実施形態）
図２は、本発明の第２の実施形態の画像補正装置の構成を示すブロック図である。本実施形態の画像補正装置２は、ＬＵＴ２１と、分離回路２２と、作成回路２３と、算出回路２４と、補正回路２５と、を有する。画像補正装置２は、輝度のガンマ補正や、コントラスト調整や、階調補正などの画像補正を行うことができる画像補正装置である。
【００１６】
ＬＵＴ２１は、輝度や階調などの画像データを表すビット数が所定のビット数である補正値を格納している。例えば、ＬＵＴ２１は、所定のビット数が８ビットのときのガンマ補正の場合、Ｙ＝２５５×（Ｘ／２５５）１／γ（Ｘは入力画像データで０から２５５までの整数、Ｙは出力補正画像データ、γはガンマ値）で算出されるＸとＹの値を格納している。本実施形態では、これ以降、所定のビット数を８ビットとして説明を行うが、これには限定されない。
【００１７】
分離回路２２は、所定のビット数よりも大きいビット数の画像データが入力されると、画像データを所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する。本実施形態では、これ以降、所定のビット数よりも大きいビット数を１２ビットとして説明を行うが、これには限定されない。所定のビット数が８ビット、所定のビット数よりも大きいビット数が１２ビットの場合、所定のビット数に対応する上位ビットデータは８ビット、下位ビットデータは４ビットとなる。
【００１８】
作成回路２３は、ＬＵＴ２１に格納されており上位ビットデータに対応する補正値に基づいて、下位ビットデータの補正値を算出するための曲線を作成する。曲線の作成の詳細は後述する。曲線は、上位ビットデータの補正値の間を滑らかに繋ぐことができる曲線である。
【００１９】
算出回路２４は、作成回路２３によって作成された曲線を用いて、下位ビットデータの補正値を算出する。下位ビットデータの補正値の算出の詳細は後述する。
【００２０】
補正回路２５は、算出回路２４により算出された下位ビットデータに対応する補正値で、入力された画像データを補正して出力する。画像データの補正は、例えば、入力された画像データを補正値で置き換える、また、入力された画像データに補正値を乗算する等の方法が可能である。
【００２１】
本実施形態の画像補正装置２は、コンピュータに実装される。具体的には、画像補正装置２は、プログラムの形式で補助記憶装置に記憶されている。補助記憶装置は、一時的でない有形の媒体である。コンピュータに搭載されたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）は、そのプログラムを補助記憶装置から読み出して主記憶装置に展開し、そのプログラムに従って処理を実行する。
【００２２】
図３は、本実施形態の画像補正装置２の動作を示すフローチャートである。ＬＵＴ２１は、輝度や階調などの画像データを表すビット数が所定のビット数である補正値を予め格納している。ここでは所定のビット数を８ビットとして説明を行うが、これには限定されない。本フローチャートは、画像補正装置２に画素ごとの画像データが入力されて開始となる。
【００２３】
まず、分離回路２２は、所定のビット数よりも大きいビット数の画像データが入力されると、画素ごとの画像データを、所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する（ステップＳ０１）。ここでは所定のビット数よりも大きいビット数を１２ビットとして説明を行うが、これには限定されない。所定のビット数が８ビット、所定のビット数よりも大きいビット数が１２ビットの場合、所定のビット数に対応する上位ビットデータは８ビット、下位ビットデータは４ビットとなる。
【００２４】
分離回路２２が、１２ビットの画像データを上位８ビットデータと下位４ビットデータとに分離する方法は、例えば以下の様である。例えば、１２ビットの画像データが「１０１１００１１１０１０」の場合、マスクデータを「１１１１１１１１００００」として画像データとの「ＡＮＤ」をとれば、上位８ビットデータである「１０１１００１１」を取り出すことができる。また、マスクデータを「００００００００１１１１」として画像データとの「ＡＮＤ」をとれば、下位４ビットデータである「１０１０」を取り出すことができる。
【００２５】
次に、作成回路２３は、ＬＵＴ２１に格納されており上位ビットデータに対応する補正値に基づいて、下位ビットデータの補正値を算出するための曲線を作成する（ステップＳ０２）。
【００２６】
図４は、作成回路２３が作成する曲線として、ベジェ曲線を作成する方法を説明するための図である。図４において、横軸（Ｘ軸）は１０進数で表記した入力画像データを、縦軸（Ｙ軸）は１０進数で表記した出力画像データ（補正画像データ）を、各々示す。
【００２７】
図４では、１２ビットの入力Ｘ（ｔ）の上位８ビットデータがＡ１である場合について、ＬＵＴ２１に格納されている８ビットの画像データの補正値に基づいて、Ａ１を通るベジェ曲線を作成する方法を説明する。
【００２８】
まず、作成回路２３は、ＬＵＴ２１に格納されている８ビットの画像データの補正値から、上位８ビットデータであるＡ１の補正値と、上位８ビットデータにおいてＡ１の１つ前（Ａ０）、およびＡ１の１つ後（Ａ２）、および更に１つ後（Ａ３）の、補正値を取得する。入力データは１２ビットであるので、１０進数で表記した場合、Ａ０の１６後がＡ１、Ａ１の１６後がＡ２、Ａ２の１６後がＡ３となる。ここではＡ０のＸ値を１０進数表記での０と置くと、Ａ０〜Ａ３は以下のように表される。
Ａ０（０、Ｙ０）：Ｙ０はＡ１の１つ前の補正値
Ａ１（１６、Ｙ１）：Ｙ１はＡ１の補正値
Ａ２（３２、Ｙ２）：Ｙ２はＡ１の１つ後の補正値
Ａ３（４８、Ｙ３）：Ｙ３はＡ１の２つ後の補正値
次に、作成回路２３は、Ａ０〜Ａ３に基づいてＡ１〜Ａ２のベジェ曲線を作成する。ベジェ曲線では、Ａ０とＡ１を通る直線Ｌ０と、Ａ２とＡ３を通る直線Ｌ２との交点Ｂ１（ＸＢ、ＹＢ）を基準点とする。すなわち、
始点（Ｘ１、Ｙ１）＝Ａ１（１６、Ｙ１）
基準点（ＸＢ、ＹＢ）＝Ｂ１（ＸＢ、ＹＢ）
終点（Ｘ２、Ｙ２）＝Ａ２（３２、Ｙ２）
このとき、０≦ｔ≦１において、
Ｘ（ｔ）＝（Ｘ２−２ＸＢ＋Ｘ１）ｔ２＋２（ＸＢ−Ｘ１）ｔ＋Ｘ１
Ｙ（ｔ）＝（Ｙ２−２ＹＢ＋Ｙ１）ｔ２＋２（ＹＢ−Ｙ１）ｔ＋Ｙ１
で表されるベジェ曲線が得られる。
【００２９】
ｔは、０≦ｔ≦１であり、Ａ１のＸ＝１６からＡ２のＸ＝３２の下位４ビットデータ（１０進数表記で１６、１７、１８、１９、２０、・・・、３１、３２）に対応するものである。例えば、Ｘ（０）＝Ｘ１＝１６、Ｘ（１）＝Ｘ２＝３２である。
【００３０】
算出回路２４は、Ａ１のＸ１＝１６からＡ２のＸ２＝３２の下位４ビットデータに対応する１０進数表記で１６、１７、・・・、３２ごとにＸ（ｔ）の式からｔ値を算出する。そして、算出されたｔ値を用いてＹ（ｔ）の式から下位４ビットデータに対応する補正値を算出する（ステップＳ０３）。すなわち、図４に示すように、１２ビットに対応する補正点Ｒ１（Ｘ（ｔ）、Ｙ（ｔ））が求まる。以上のようにしてベジェ曲線を作成することによって、Ａ１からＡ２の１２ビットの画像データＸ（ｔ）に対応する補正値Ｙ（ｔ）を算出することができる。
【００３１】
補正回路２５は、算出回路２４により算出された下位４ビットデータに対応する補正値で、画像データを補正して出力する（ステップＳ０４）。
【００３２】
ベジェ曲線から算出された補正点Ｒ１は、Ａ１とＡ２を結ぶ直線Ｌ１に対して差を有する。仮に、８ビットの画像データの補正値の間を直線で結んだＬ０、Ｌ１、Ｌ２から１２ビットの画像データの補正値を求めた場合、Ｌ０とＬ１の接続部分、およびＬ１とＬ２の接続部分は折れ線状態となっている。このため、接続部分では滑らかなグラデーションの表現ができない。これに対して、ベジェ曲線では、８ビットの画像データの補正値が滑らかに結ばれているため、折れ線状態は発生せず、滑らかなグラデーションの表現が可能である。すなわち、補正点Ｒ１の直線Ｌ１との差は、滑らかなグラデーションを可能とするという画像データの補正の精度を向上させる効果として現れる。
【００３３】
曲線が折れ線状態を生じないためには、曲線の１階導関数が連続であればよい。曲線が、曲線の１階導関数が連続でない箇所を有すると、１階導関数が連続でない箇所で折れ線状態が生じてしまう。このため、曲線の１階導関数が連続でない箇所を有することを避けることが望ましい。
【００３４】
なお、曲線を描く方法はベジェ曲線には限定されない。曲線は、上位ビットデータの補正値の間を滑らかに繋ぐことができる曲線であればよく、スプライン法、ニアレストネイバー法、リニア法、キュービック法などを用いることができる。曲線を描く方法は、前記のような折れ線状態を有さない曲線が描けるならば、前記の各種方法には限定されない。
【００３５】
なお、画像補正装置２は、処理速度や補正精度の要求に応じて、曲線を描く方法を選択することができる。すなわち、画像補正装置２では、作成回路２３により、ＬＵＴ２１に保存されている所定のビット数（例えば８ビット）の補正値を用いて、処理速度や補正精度の要求に適した方法を選択して曲線を描くことができる。これにより、処理速度や補正精度の要求に応じた補正値を得ることができる。
【００３６】
なお、画像補正装置２は、算出回路２４により算出された下位ビットデータに対応する補正値を保存するメモリやＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記憶部を備えていてもよい。下位ビットデータに対応する補正値を保存する記憶部を備えていることにより、同じ１２ビットの画像データの画素に対して記憶部に保存された補正値を適用することが可能となり、同じ演算を再び行う必要がなくなるため、処理速度を向上させることができる。
【００３７】
以上のように、画像補正装置２によれば、ＬＵＴ２１の有する所定のビット数の画像データの補正値に基づいて作成された曲線によって、所定のビット数よりも大きいビット数の画像データに対する補正値が算出される。ＬＵＴ２１は所定のビット数の画像データの補正値の容量だけで済むため、メモリ容量の削減が可能である。さらに、曲線により、ＬＵＴ２１の有する補正値の間は滑らかに繋がれるため、画像データの補正の精度を高くすることができる。
【００３８】
以上のように、本実施形態によれば、ＬＵＴのメモリ容量を削減し、かつ精度の高い画像補正を行う画像補正装置を提供することができる。
【００３９】
本発明は上記実施形態に限定されることなく、特許請求の範囲に記載した発明の範囲内で種々の変形が可能であり、それらも本発明の範囲内に含まれるものである。
【００４０】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
所定のビット数の画像データの補正値を有する補正テーブルと、
前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する分離部と、
前記補正値に基づいて、１階導関数が連続である曲線を作成する作成部と、
作成された前記曲線を用いて前記下位ビットデータの補正値を算出する算出部と、
算出された前記補正値で前記画像データを補正して出力する補正部と、を有する画像補正装置。
（付記２）
前記作成部は、所定の前記上位ビットデータの前記補正値と、前記所定の上位ビットデータの一つ前の、および次の、および更に次の前記上位ビットデータの前記補正値と、に基づいて前記曲線を作成する、付記１記載の画像補正装置。
（付記３）
前記作成部はベジェ曲線を作成する、付記１または２記載の画像補正装置。
（付記４）
前記算出部で算出された補正値を保存する記憶部を有する、付記１から３の内の１項記載の画像補正装置。
（付記５）
所定のビット数の画像データの補正値を有する補正テーブルを用いた画像補正方法において、
前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離し、
前記補正値に基づいて、１階導関数が連続である曲線を作成し、
作成された前記曲線を用いて前記下位ビットデータの補正値を算出し、
算出された前記補正値で前記画像データを補正して出力する、画像補正方法。
（付記６）
所定の前記上位ビットデータの前記補正値と、前記所定の上位ビットデータの一つ前の、および次の、および更に次の前記上位ビットデータの前記補正値と、に基づいて前記曲線を作成する、付記５記載の画像補正方法。
（付記７）
前記曲線はベジェ曲線である、付記５または６記載の画像補正方法。
（付記８）
前記算出された補正値を保存する、付記５から７の内の１項記載の画像補正方法。
（付記９）
所定のビット数の画像データの補正値を有する補正テーブルを用いた画像補正をコンピュータに実行させる画像補正プログラムにおいて、
前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する処理と、
前記補正値に基づいて、１階導関数が連続である曲線を作成する処理と、
作成された前記曲線を用いて前記下位ビットデータの補正値を算出する処理と、
算出された前記補正値で前記画像データを補正して出力する処理と、を実行させる画像補正プログラム。
（付記１０）
所定の前記上位ビットデータの前記補正値と、前記所定の上位ビットデータの一つ前の、および次の、および更に次の前記上位ビットデータの前記補正値と、に基づいて前記曲線を作成する処理を実行させる、付記９記載の画像補正プログラム。
（付記１１）
前記曲線はベジェ曲線である、付記９または１０記載の画像補正プログラム。
（付記１２）
前記算出された補正値を保存する処理を実行させる、付記９から１１の内の１項記載の画像補正プログラム。
【符号の説明】
【００４１】
１、２    画像補正装置
１１    補正テーブル
１２    分離部
１３    作成部
１４    算出部
１５    補正部
２１    ＬＵＴ
２２    分離回路
２３    作成回路
２４    算出回路
２５    補正回路
【図１】
2018121139.tif 000003
【図２】
2018121139.tif 000004
【図３】
2018121139.tif 000005
【図４】
2018121139.tif 000006