(57)【要約】【課題】メモリの容量の増大を防止しつつ精度良く複数の異なる変換処理を施すことが可能なデータ処理装置を提供すること。【解決手段】係数演算部１１では入力データ信号に応じた係数信号が出力される。演算処理部１２では入力データ信号に係数信号が乗じられてアドレス信号が生成される。メモリ部１３ではルックアップテーブル１３１が参照されてアドレス信号に対応した出力データ信号が出力される。【選択図】図１
2010183275.tif 000002
【特許請求の範囲】
【請求項１】
入力データ信号に応じた係数信号を出力する係数演算部と、
前記入力データ信号と前記係数信号との対応特性に基づいてアドレス信号を出力する演算処理部と、
前記アドレス信号と所定の変換値との対応特性を記憶しており、前記演算処理部から入力された前記アドレス信号に対応する前記所定の変換値を出力データ信号として出力するメモリ部と、
を具備することを特徴とするデータ処理装置。
【請求項２】
前記係数演算部にはさらに識別信号が入力され、前記係数演算部は、前記識別信号と前記入力データ信号とに応じて異なる係数信号を出力することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記係数演算部にはさらにカーブ補正信号が入力され、前記係数演算部は、前記カーブ補正信号に応じて前記入力データ信号と前記係数信号との対応特性の傾きを変更することを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記入力データ信号と前記係数信号との対応特性の傾きは、予め記憶された前記入力データ信号と前記係数信号との対応特性と前記カーブ補正信号とから、演算によって求められることを特徴とする請求項３に記載のデータ処理装置。
【請求項５】
前記係数演算部にはさらに制御信号が入力され、前記係数演算部が、前記制御信号によって示される前記入力データ信号の値において前記入力データ信号と前記係数信号との対応特性の傾きを変化させることを特徴とする請求項３に記載のデータ処理装置。
【請求項６】
入力データ信号と選択信号とに応じて第１の係数信号を出力する第１の係数演算部と、
前記入力データ信号と前記第１の係数信号とに基づくアドレス信号を出力する第１の演算処理部と、
前記アドレス信号と所定の変換値との対応特性を記憶しており、前記第１の演算処理部から入力された前記アドレス信号に対応する前記所定の変換値をデータ信号として出力するメモリ部と、
前記入力データ信号と前記データ信号と前記選択信号とに応じて前記第１の係数信号と異なる第２の係数信号を出力する第２の係数演算部と、
前記第２の係数信号と前記データ信号と前記選択信号とに基づいて前記データ信号に対応する変換値を出力データ信号として出力する第２の演算処理部と、
を具備することを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルックアップテーブル（以下、ＬＵＴと略す）に従って入力データ信号を所定の出力データ信号に変換する処理を行うデータ処理装置に関する。
【背景技術】
【０００２】
例えば、ガンマ補正処理のような、入力データ信号に対して非線形な変換処理を行う際には、一般的にメモリを利用したＬＵＴ変換が用いられている。このようなＬＵＴ変換を用いるデータ処理装置において入出力特性の異なる複数の変換処理を施すための手法として各種の手法が提案されている。
【０００３】
例えば、特許文献１では、各々相異なる入出力特性を有する複数のＬＵＴをメモリに格納しておき、変換の種類に応じて複数のＬＵＴの中から１つを選択することにより、所望の入出力特性に応じた出力データ信号を得られるようにしている。
【０００４】
また、特許文献２の手法では、１つの所定の入出力特性を有するＬＵＴをメモリに格納しておき、このＬＵＴに対して所定の補正倍率で重み付け処理を施すことで所望の入出力特性のＬＵＴが得られるようにしている。
【特許文献１】特開２００１−３４２５５号公報
【特許文献２】特開２００６−５００１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ここで、特許文献１の手法の場合には、変換の種類に応じた複数のＬＵＴをメモリに格納する必要があるため、メモリの容量が増大し易い。また、特許文献２の手法の場合には、メモリの容量の増大は抑制されるが、ＬＵＴを構成するデータが既に丸められた値であった場合には、丸められた値に対して重み付け処理を施すことになる。このとき、入力データ信号の値によっては変換後の出力データ信号の精度が劣化する場合がある。
【０００６】
本発明は上記の事情に鑑みてなされたもので、メモリの容量の増大を防止しつつ精度良く複数の異なる変換処理を施すことが可能なデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明の第１の態様のデータ処理装置は、入力データ信号に応じた係数信号を出力する係数演算部と、前記入力データ信号と前記係数信号との対応特性に基づいてアドレス信号を出力する演算処理部と、前記アドレス信号と所定の変換値との対応特性を記憶しており、前記演算処理部から入力された前記アドレス信号に対応する前記所定の変換値を出力データ信号として出力するメモリ部とを具備することを特徴とする。
【０００８】
また、上記の目的を達成するために、本発明の第２の態様のデータ処理装置は、入力データ信号と選択信号とに応じて第１の係数信号を出力する第１の係数演算部と、前記入力データ信号と前記第１の係数信号とに基づくアドレス信号を出力する第１の演算処理部と、前記アドレス信号と所定の変換値との対応特性を記憶しており、前記第１の演算処理部から入力された前記アドレス信号に対応する前記所定の変換値をデータ信号として出力するメモリ部と、前記入力データ信号と前記データ信号と前記選択信号とに応じて前記第１の係数信号と異なる第２の係数信号を出力する第２の係数演算部と、前記第２の係数信号と前記データ信号と前記選択信号とに基づいて前記データ信号に対応する変換値を出力データ信号として出力する第２の演算処理部とを具備することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、メモリの容量の増大を防止しつつ精度良く複数の異なる変換処理を施すことが可能なデータ処理装置を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施形態について説明する。  
［第１の実施形態］
まず、本発明の第１の実施形態について説明する。図１は、本発明の第１の実施形態に係るデータ処理装置を示す全体構成図である。ここで、本実施形態におけるデータ処理装置１はガンマ補正処理回路に用いられる場合を例に説明する。ガンマ補正処理回路は、線形の階調特性を有する入力データ信号を表示装置等に適した階調特性を有する非線形の出力データ信号に変換する処理を行う回路である。
【００１１】
図１に示すように、本実施形態に係るデータ処理装置１は、係数演算部１１と、演算処理部１２と、メモリ部１３とを有している。
【００１２】
係数演算部１１は、入力データ信号Xに応じた係数信号を演算処理部１２に出力する。この係数信号は、入力データ信号Xの関数K(X)として生成されるものである。この関数K(X)は予め適当なものを設定しておくものとする。詳細については後述する。
【００１３】
演算処理部１２は、入力データ信号Xに係数信号K(X)を乗じた信号をアドレス信号Aとしてメモリ部１３に出力する。
【００１４】
メモリ部１３は、アドレス信号Aと出力データ信号Yとを対応付けたルックアップテーブル（ＬＵＴ）１３１を有しており、演算処理部１２から入力されるアドレス信号Aを参照し、参照したアドレス信号Aに対応した所定の変換値を出力データ信号Yとしてデータ処理装置１の外部に出力する。
【００１５】
次に、具体例を示して図１に示すデータ処理装置１の動作について説明する。ここで、以下の例においてはメモリ部１３に図２で示すような特性（関数Y=F(A)とする）を有するＬＵＴ１３１が格納されているものとする。また、図２の例においては、出力データ信号Yの取り得る階調数が２５６階調であるとする。したがって、出力データ信号Yはデジタル値で0から255までの値を取り得る。一般に、出力データ信号Yの取り得る階調数をN階調としたとき、出力データ信号Yはデジタル値で0からN−1までのN個の値を取り得るものである。また、図２の例においては、アドレス信号Aの階調数も２５６階調としている。
【００１６】
本実施形態では、ＬＵＴ１３１を用いてＬＵＴ１３１とは異なる特性の入出力データ変換を行うものである。例えば、メモリ部１３に格納されているＬＵＴ１３１を用いて図３の特性曲線ｂ（関数Y=F'(X)）で示す変換を行う場合を考える。
【００１７】
まず、図１に示すデータ処理装置１において、入力データ信号Xをアドレス信号Aとしてメモリ部１３に入力した場合（即ち係数信号＝1とした場合）、そのときの入出力データの特性曲線は図３の特性曲線ａ（関数Y=F(A)と等価な関係）で示すものとなる。
【００１８】
これに対し、入力データ信号Xに対してＬＵＴ１３１を用いて特性曲線ｂで示す変換を行うためには、図４に示すように、特性曲線ｂの出力データ信号Yと同一の値を有する出力データ信号Yが得られる特性曲線ａ上のアドレス信号Aがメモリ部１３の入力となるようにすれば良い。このような入力データ信号Xとアドレス信号Aとの間の変換を行うための信号が係数信号である。このような係数信号を生成するための関数K(X)は、Y=F'(X)=F(A)=F(K(X)・X)の関係を満足する関数である。図３の例では、入力データ信号Xが0≦X≦64の範囲内である時にK(X)=X/64＋1とし、入力データ信号Xが64＜X≦255の範囲内である時にK(X)=−X/(255−64)＋7/3とすることで実現できる。なお、ここで示した係数信号を表す関数K(X)は、実際に演算される関数K(X)を２つの１次関数で近似したものである。ここでは、実現したい特性曲線ｂの傾きとＬＵＴ１３１の特性曲線ａの傾きとの大小関係が変化する入力データ信号X=64を境として特性曲線ｂを２つの１次関数で近似している。関数K(X)を１次関数で近似することで多少の精度の劣化は生じるものの、係数演算部１１を１つの乗算器と１つの加算器から構成することができるので構成が簡略化される。勿論、関数K(X)を１次よりも高次の関数で近似するようにしても良いが、この場合にはＬＵＴ等を用いる必要が生じる。また、上記の１次関数による近似式も一例であってこれに限るものではない。
【００１９】
以上のような特性を有する関数K(X)を係数演算部１１に予め設定しておく。これにより、係数演算部１１から出力される係数信号を入力データ信号Xに乗じて得られるアドレス信号Aに従ってＬＵＴ１３１を用いた変換を行うことにより、入力データ信号Xと出力データ信号Yとの関係が特性曲線ｂで示したものとなる。
【００２０】
以上説明したように第１の実施形態によれば、実現したい変換の特性に応じて係数演算部１１に設定する関数K(X)を適宜設定することで、メモリ部１３に格納したＬＵＴ１３１の特性とは異なる入出力特性の変換を行うことが可能である。この場合、ＬＵＴ１３１を構成するデータを変更する必要がないので、ＬＵＴ１３１を構成するデータが既に丸められた値であったとしても出力データ信号の精度の劣化が生じにくい。
【００２１】
ここで、係数信号を入力データ信号の１次関数で近似した場合には、実現したい入出力データ信号の特性曲線の傾きがメモリ部１３に格納されたＬＵＴ１３１の特性曲線の傾きより鋭くなる場合（傾きの差が所定以上大きい場合）に特に出力データ信号の精度の劣化が生じにくくなる。例えば、ＬＵＴ１３１の特性がアドレス信号の値（1,2,3,4,5,…）に対して出力データ信号の値（3,4,5,6,7,…）であり、実現したい特性が入力データ信号の値（1,2,3,4,5,…）に対して出力データ信号の値（3,5,7,10,13,…）であるような場合には出力データ信号の劣化（精度落ち）を極力抑制することが可能である。したがって、メモリ部１３に格納するＬＵＴ１３１の特性曲線は、実現を想定している特性曲線の中で最も緩やかに変化する特性曲線としておくことが望ましい。
【００２２】
また、第１の実施形態においては、入力データ信号Xに係数信号を乗じることでアドレス信号Aを生成している。しかしながら、入力データ信号Xを係数信号の関数K(X)の特性に応じてシフトさせる等の手法によってアドレス信号Aを生成するようにしても良い。
【００２３】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。図５は、本発明の第２の実施形態に係るデータ処理装置１を示す全体構成図である。なお、図５において、図１と同様の構成については説明を省略する。第２の実施形態においては、係数演算部１１に識別信号Mが入力され、入力データ信号Xと識別信号Mとに基づいて係数信号が決定される点が第１の実施形態と異なる。
【００２４】
第２の実施形態における係数演算部１１は、係数信号を入力データ信号Xと識別信号Mの関数K(M,X)として生成する。識別信号Mは実現したい出力データ信号の特性を増やすために用いられるものである。
【００２５】
次に、具体例を示して図５に示すデータ処理装置の動作について説明する。ここで、第２の実施形態においても、メモリ部１３には図２に示す特性（関数Y=F(A)）を有するＬＵＴ１３１が格納されているものとする。また、係数演算部１１には関数K(M,X)が設定されており、識別信号Mは0≦M≦2の範囲で変化するものとする。この場合には１つのＬＵＴ１３１を用いて３種類の異なる変換を行うことが可能となる。
【００２６】
例えば、関数K(0,X)=1を設定しておくことにより、識別信号M=0のときに、入力データ信号に対して図６の特性曲線ａで示される特性を有する出力データ信号が得られる。この特性曲線ａは、アドレス信号A=XとなるのでＬＵＴ１３１の特性と同じものとなる。
【００２７】
また、例えば、入力データ信号Xが0≦X＜50の範囲内である時にK(1,X)=1/1.2で、入力データ信号Xが50≦X＜100の範囲内である時にK(1,X)=1/(2×(1.2−(X×(1.2−1)/100))−1)で、入力データ信号Xが100≦X＜178の範囲内である時にK(1,X)=((X−100)/(178−100)×(1.1−1)＋1)で、入力データ信号Xが178≦X≦255の範囲内である時にK(1,X)=(1.1−(X−178)/(255−178)×(1.1−1))で表される関数を設定しておくことにより、識別信号M=1のときに、入力データ信号に対して図６の特性曲線ｂで示される特性を有する出力データ信号が得られる。なお、この例においては、関数K(1,X)を４つの１次関数で近似しているが、第１の実施形態と同様に２つの１次関数で近似しても良いし、高次の関数で近似するようにしても良い。
【００２８】
さらに、例えば、入力データ信号Xが0≦X＜50の範囲内である時にK(2,X)=1×1.2で、入力データ信号Xが50≦X＜100の範囲内である時にK(2,X)=1×(2×(1.2−(X×(1.2−1)/100))−1)で、入力データ信号Xが100≦X＜178の範囲内である時にK(2,X)=1/((X−100)/(178−100)×(1.1−1)＋1)で、入力データ信号Xが178≦X≦255の範囲内である時にK(2,X)=1/(1.1−(X−178)/(255−178)×(1.1−1))で表される関数を設定しておくことにより、識別信号M=2のときに、入力データ信号に対して図６の特性曲線ｃで示される特性を有する出力データ信号が得られる。なお、この例においては、関数K(2,X)を４つの１次関数で近似しているが、第１の実施形態と同様に２つの１次関数で近似しても良いし、高次の関数で近似するようにしても良い。
【００２９】
以上説明したように第２の実施形態によれば、係数信号を入力データ信号Xと識別信号Mの関数として生成するようにしておくことにより、識別信号Mの変化範囲に応じた複数の異なる特性を有する係数信号を生成できる。これにより、第１の実施形態で説明した効果に加えて、さらに、共通のＬＵＴを用いて複数の異なる変換処理を行うことが可能となる。
【００３０】
ここで、第２の実施形態では識別信号Mの変化範囲を0≦M≦2としている。しかしながら、Mの変化範囲はこれに限るものではない。Mの変化範囲を広げる場合であっても各Mの値に対応した関数を設定しておくことで、共通のＬＵＴを用いて４種類以上の異なる変換処理を行うことも可能である。
【００３１】
［第３の実施形態］
次に、本発明の第３の実施形態について説明する。図７は、本発明の第３の実施形態に係るデータ処理装置１を示す全体構成図である。なお、図７において、図１と同様の構成については説明を省略する。第３の実施形態においては、係数演算部１１にカーブ補正信号Parが入力され、入力データ信号Xとカーブ補正信号Parとに基づいて係数信号が決定される点が第１の実施形態と異なる。
【００３２】
本実施形態における係数演算部１１は、係数信号を入力データ信号Xとカーブ補正信号Parの関数K(X,Par)として生成する。ここで、カーブ補正信号Parは、メモリ部１３１に格納されているＬＵＴ１３１に対応した入出力データ信号の特性曲線（以下、デフォルトの特性曲線という）を微調整（大きくしたり、小さくしたり）するために用いられるものである。詳細は後述するが、デフォルトの特性曲線を得るためにはカーブ補正信号Par=0とする。
【００３３】
第３の実施形態における係数信号を生成するための関数K(X,Par)は、入力データ信号の階調数をNとした場合に入力データ信号がN−1（即ち、最大値）である時に出力される係数信号の値が1となる関数であるとする。これは、データ処理装置１をガンマ補正処理回路に用いることを想定しているためである。
【００３４】
また、関数K(X,Par)は、入力データ信号Xに対して１次関数的に変化し、カーブ補正信号Parを変化させることによって入力データ信号Xに対して変化する係数信号の特性曲線の傾きが変化するものとする。なお、関数K(X,Par)は入力データ信号Xに応じて１次関数的に変化するものを例としたが、必ずしも１次関数的に変化するものとする必要はない。
【００３５】
さらに、関数K(X,Par)は入力データ信号Xの値が最小値（X=0）である時にカーブ補正信号Parの値に1を加算した値となるように設定する。したがって、Par=0の時の関数K(X,0)は傾きが0で切片が1、即ち入力データ信号Xの値によらずに1となる。この状態をデフォルトとする。デフォルトをこのように設定しておくことにより、デフォルト時にはアドレス信号A=Xとなり、メモリ部１３に格納されているＬＵＴ１３１の特性に従って変換がなされる。また、カーブ補正信号Parの値を0よりも大きくすると、そのときの入力データ信号に対する係数信号の特性曲線は、最小値が1でその傾きはデフォルトの特性曲線に対して大きくなる。このような係数信号によって生成されたアドレス信号Aに従って変換を行うことにより、デフォルトの特性曲線よりも大きな値が出力されるような変換がなされる。また、カーブ補正信号Parの値を0よりも小さくすると、そのときの入力データ信号に対する係数信号の特性曲線は、最大値が1でその傾きはデフォルトの特性曲線に対して小さくなる。このような係数信号によって生成されたアドレス信号Aに従って変換を行うことにより、デフォルトの特性曲線よりも小さな値が出力されるような変換がなされる。
【００３６】
以上のような条件を満足する係数信号は演算器（若しくはＬＵＴ）を利用して生成する。ここで、係数信号を入力データ信号Xとカーブ補正信号Parの１次関数とすることにより構成を簡略化することが可能となる。例えば、上述の条件を満足する関数K(X,Par)は、以下の式で表すことが可能である。  
K(X,Par)=(X・(−Par))/N＋(1＋Par)                      （式１）
この（式１）の演算は、係数演算部１１を１つの乗算器と２つの加算器で構成することで実現できる。なお、（式１）においてNは階調数を示す定数であり、また、除算はビットシフトで処理することができる。
【００３７】
ここで、第３の実施形態においては、カーブ補正信号Parの値によってはアドレス信号AがＬＵＴ１３１の最小値又は最大値を超える場合があり得る。このため、第３の実施形態における演算処理部１２は、係数演算部１１において入力データ信号Xに係数信号K(X,Par)を乗じて得られる結果に対してオーバーフロー処理を施すことでアドレス信号Aを生成する。このオーバーフロー処理とはアドレス信号Aの最小値（本例では0）又は最大値（本例では255）を超えた信号をそれぞれ最小値、最大値にクリップする処理である。
【００３８】
次に、具体例を示して図７に示すデータ処理装置の動作について説明する。ここで、第３の実施形態においても、メモリ部１３には図２に示す特性（関数Y=F(A)）を有するＬＵＴ１３１が格納されているものとする。また、係数演算部１１には、（式１）で示す関数K(X,Par)が設定されているものとする。
【００３９】
このような設定において、デフォルトであるカーブ補正信号Par=0の場合の入力データ信号−係数信号特性曲線、入力データ信号−アドレス信号特性曲線、アドレス信号−出力データ信号特性曲線は、それぞれ、図８（ａ）、図８（ｂ）、図８（ｃ）の特性曲線ａとなる。この場合、メモリ部１３に格納されたＬＵＴ１３１の特性に従った変換がなされる。また、カーブ補正信号Par=0.3の場合の入力データ信号−係数信号特性曲線、入力データ信号−アドレス信号特性曲線、アドレス信号−出力データ信号特性曲線は、それぞれ、図８（ａ）、図８（ｂ）、図８（ｃ）の特性曲線ｂとなる。この場合、メモリ部１３に格納されたＬＵＴ１３１の特性に対して全体的に大きな値が出力される変換がなされる。同様に、カーブ補正信号Par=−0.3の場合の入力データ信号−係数信号特性曲線、入力データ信号−アドレス信号特性曲線、アドレス信号−出力データ信号特性曲線は、それぞれ、図８（ａ）、図８（ｂ）、図８（ｃ）の特性曲線ｃとなる。この場合、メモリ部１３に格納されたＬＵＴ１３１の特性に対して全体的に小さな値が出力される変換がなされる。
【００４０】
なお、本具体例においてはカーブ補正信号Parを0,0.3,−0.3の３通りに変化させた例を示しているが、実際には任意の値として良い。
【００４１】
以上説明したように第３の実施形態によれば、係数信号を入力データ信号Xとカーブ補正信号Parの関数として生成するようにしておくことにより、あるＬＵＴの特性を微調整することが可能となる。即ち、第３の実施形態ではカーブ補正信号Parによって係数信号が可変であるので入力データ信号と係数信号の対応特性を無限に生成することができ、これによって特性曲線の微調整が可能となる。
【００４２】
なお、第３の実施形態に第２の実施形態を組み合わせるようにしても良い。即ち、係数信号をさらに識別信号Mの関数とするようにしても良い。
【００４３】
［第４の実施形態］
次に、本発明の第４の実施形態について説明する。図９は、本発明の第４の実施形態に係るデータ処理装置を示す全体構成図である。なお、図９において、図７と同様の構成については説明を省略する。第４の実施形態においては、係数演算部１１にカーブ補正信号Parと制御信号Thが入力され、入力データ信号Xとカーブ補正信号Parと制御信号Thとに基づいて係数信号が決定される点が第３の実施形態と異なる。
【００４４】
第４の実施形態における係数演算部１１は、入力データ信号Xとカーブ補正信号Parと制御信号Thに応じて係数信号を生成する。係数演算部１１は、例えば入力データ信号Xと制御信号Thの２次関数で、且つカーブ補正信号Parの関数K(X,Par,Th)として係数信号を生成する。ここで、カーブ補正信号Parは第３の実施形態と同様にデフォルトの特性曲線を微調整するために用いられるものである。また、制御信号Thは、特性曲線の変曲点を設定するために用いられるものである。ここで、関数K(X,Par,Th)は必ずしも入力データ信号Xと制御信号Thの２次関数でカーブ補正信号Parの関数とする必要はない。
【００４５】
また、第４の実施形態においてもカーブ補正信号Par=0の状態をデフォルトとし、このときの係数信号の値は入力データ信号の値によらずに1となるように設定する。このように設定しておくことにより、デフォルト時にはメモリ部１３に格納されているＬＵＴ１３１の特性を有する出力データ信号が得られる。さらに、第４の実施形態においては、入力データ信号がThである時、出力される係数信号の値が1となるように関数K(X,Par,Th)を設定する。これは、入力データ信号=Thを境にして屈曲が現れないようにするためである。なお、デフォルト時の制御信号ThはTh=255（最大値）とする。
【００４６】
また、第４の実施形態においては、カーブ補正信号Parの値を0よりも大きくすると、入力データ信号Xが0≦X＜Thの範囲ではデフォルトの特性曲線よりも大きな値が出力されるような変換がなされ、入力データ信号XがTh≦X≦N−1の範囲ではデフォルトの特性曲線よりも小さな値が出力されるような変換がなされる。一方、カーブ補正信号Parの値を0よりも小さくすると、入力データ信号Xが0≦X＜Thの範囲ではデフォルトの特性曲線よりも小さな値が出力されるような変換がなされ、入力データ信号XがTh≦X≦N−1の範囲ではデフォルトの特性曲線よりも大きな値が出力されるような変換がなされる。
【００４７】
以上のような条件を満足する係数信号は演算器（若しくはＬＵＴ）を利用して生成する。ここで、係数信号を入力データ信号Xと制御信号Thの２次関数で、且つカーブ補正信号Parの関数とすることにより、精度良くすることが可能となる。
【００４８】
ここで、第４の実施形態においてもカーブ補正信号Parの値によってはアドレス信号AがＬＵＴ１３１の最小値又は最大値を超える場合があり得るので、演算処理部１２においてオーバーフロー処理を施す必要がある。
【００４９】
次に、具体例を示して図９に示すデータ処理装置の動作について説明する。ここで、第４の実施形態においても、メモリ部１３には図２に示す特性（関数Y=F(A)）を有するＬＵＴ１３１が格納されているものとする。また、係数演算部１１には、上述の条件を満たす関数として、例えば以下の式で示す関数K(Th,Par,X)が設定されているものとする。  
K(X,Par,Th)=−100×Par×((X−Th/2)/5Th)2＋(1＋Par)  （0≦X＜Th）  
K(Th,Par,X)=−100×Par×(−1)×(((X−Th)−((N−1)−Th)/2)/5((N−1)−Th))2＋(1+Par×(−1)))  （Th≦X≦255）                                    （式２）
ここで、第４の実施形態において得たい特性曲線は、閾値Thを境に逆の特性をもった特性曲線であるため、（式２）においては、入力データ信号Xの値が制御信号Thの値以上の場合にはカーブ補正信号Parに−1を乗じるようにしている。
【００５０】
このような設定において、デフォルトであるカーブ補正信号Par=0、制御信号Th=255の場合の入力データ信号−係数信号特性曲線、入力データ信号−アドレス信号特性曲線、アドレス信号−出力データ信号特性曲線は、それぞれ、図１０（ａ）、図１０（ｂ）、図１０（ｃ）の特性曲線ａとなる。この場合、入力データ信号に対してメモリ部１３に格納されたＬＵＴ１３１の特性を有する出力データ信号が出力される。また、カーブ補正信号Par=0.2、制御信号Th=128の場合の入力データ信号−係数信号特性曲線、入力データ信号−アドレス信号特性曲線、アドレス信号−出力データ信号特性曲線は、それぞれ、図１０（ａ）、図１０（ｂ）、図１０（ｃ）の特性曲線ｂとなる。同様に、カーブ補正信号Par=−0.2、制御信号Th=128の場合の入力データ信号−係数信号特性曲線、入力データ信号−アドレス信号特性曲線、アドレス信号−出力データ信号特性曲線は、それぞれ、図１０（ａ）、図１０（ｂ）、図１０（ｃ）の特性曲線ｃとなる。
【００５１】
以上説明したように第４の実施形態によれば、カーブ補正信号Parと制御信号Thを用いることにより、共通のＬＵＴを使用して第３の実施形態よりもさらに多様な特性曲線を生成できる。
【００５２】
なお、第４の実施形態に第２の実施形態を組み合わせるようにしても良い。即ち、係数信号をさらに識別信号Mの関数とするようにしても良い。
【００５３】
［第５の実施形態］
次に、本発明の第５の実施形態について説明する。図１１は、本発明の第５の実施形態に係るデータ処理装置１を示す全体構成図である。なお、図１１において、図７と同様の構成については説明を省略する。第５の実施形態においては、図７に示す構成に対して除算部１４と、係数演算部１５と、演算処理部１６が追加されている点と、係数演算部１１にさらに制御信号と選択信号が入力される点が第３の実施形態と異なる。
【００５４】
第５の実施形態における係数演算部１１は、入力データ信号Xと選択信号Sと制御信号Thに応じて、入力データ信号Xとカーブ補正信号Parの１次関数K1(X,Par)としての前段係数信号を出力する。ここで、選択信号Sは、入力データ信号Xのうちのどのデータ範囲を係数演算部１１で処理するのかを選択するために用いられる。また、第５の実施形態における制御信号Thは、入力データ信号X=Thを境にして入力データ信号を区分するために用いられる。なお、本実施形態における制御信号Thは、実現したい入出力データ信号の特性曲線の傾きがメモリ部１３に格納されたＬＵＴ１３１の特性曲線の傾きより鋭くなる入力データ信号Xの値に対応している。
【００５５】
本実施形態における係数演算部１１は、例えば、選択信号S=0の時には、入力データ信号Xが0≦X≦Thの範囲で入力データ信号Xとカーブ補正信号Parに応じた係数信号（例えば関数K(X,Par)=(X・(−Par))/N＋(1＋Par)に応じた係数信号）を出力し、入力データ信号XがTh＜X≦255の範囲では一定の値（ここでは1）を出力する。また、選択信号S=1の時には、入力データ信号XがTh＜X≦255の範囲で入力データ信号Xとカーブ補正信号Parに応じた係数信号（例えば関数K(X,Par)=(X・(−Par))/N＋(1＋Par)に応じた係数信号）を出力し、入力データ信号Xが0≦X≦Thの範囲では一定の値（ここでは1）を出力する。
【００５６】
演算処理部１２は第４の実施形態と同様であり、入力データ信号Xに係数信号を乗じることによって生成される信号をアドレス信号Aとして出力する。メモリ部１３も第４の実施形態と同様であり、アドレス信号Aに対応して変換値をデータ信号Dとして出力する。
【００５７】
除算部１４は、入力データ信号Xと制御信号Thが一致した時にデータ信号Dを制御信号Th若しくは入力データ信号Xで除算して、その結果をパラメータ信号Pとして出力する。パラメータ信号Pは、入力データ信号=Thを境に屈曲が現れないように調整するための信号である。
【００５８】
係数演算部１５は、入力データ信号Xと選択信号Sと制御信号Thに応じて、入力データ信号Xと制御信号Thとパラメータ信号Pの関数K2(X,Th,P)としての後段係数信号を出力する。この係数演算部１５は、例えば、選択信号S=0の時には、入力データ信号Xが0≦X≦Thの範囲で入力データ信号Xとパラメータ信号Pに応じた後段係数信号を出力し、入力データ信号XがTh＜X≦255の範囲で一定の値（ここでは1）を出力する。また、選択信号S=1の時には、入力データ信号XがTh≦X≦255の範囲で入力データ信号Xとパラメータ信号Pに応じた係数信号を出力し、入力データ信号Xが0≦X＜Thの範囲では一定の値（ここでは1）を出力する。
【００５９】
ここで、関数K2(X,Th,P)は、入力データ信号Xに対して１次関数的に変化し、パラメータ信号Pが変化することによって入力データ信号Xに対して変化する係数信号の特性曲線の傾きが変化するものとする。また、関数K2(X,Th,P)は入力データ信号Xの階調数がNで入力データ信号がThであるときPとなり、また入力データ信号XがN−1若しくは0のときに1となる。このような関数K2(X,Th,P)は例えば以下の式によって表される。  
K2(X,Th,P)=((P−1)/(Th−(N−1))×X +(Th−P(N−1))/(Th−(N−1))  （式３）  
なお、関数K2(X,P)は入力データ信号Xに応じて１次関数的に変化するものを例としたが、必ずしも１次関数的に変化するものとする必要はない。
【００６０】
演算処理部１６は、入力データ信号Xと制御信号Thと選択信号Sに応じて、データ信号Dと後段係数信号とを乗じて出力データ信号Yとして出力する。例えば、選択信号Sが0の時には、入力データ信号Xが0≦X＜≦Thの範囲ではデータ信号Dに後段係数信号を乗じたものを出力し、入力データ信号XがTh＜X≦255の範囲ではデータ信号Dをそのまま出力する。また、選択信号Sが1の時には、入力データ信号XがTh≦X≦255の範囲でデータ信号Dに後段係数信号を乗じたものを出力し、入力データ信号Xが0≦X＜Thの範囲ではデータ信号Dをそのまま出力する。
【００６１】
ここで、上述したように、入力データ信号X=Thの場合には後段係数信号=Pとなる。このPを演算処理部１６においてデータ信号Dに乗ずることにより、前段及び後段での入力データ信号=Thの時のデータ処理装置１から出力されるデータの値が一致するので、屈曲が現れないようにすることができる。
【００６２】
以上説明したように第５の実施形態によれば、実現したい特性曲線の傾きの変化量がデフォルトの特性曲線の傾きの変化量より大きい場合（図１２のａの範囲）にはメモリ部１３の前段で係数信号を乗じ、実現したい特性曲線の傾きの変化量がデフォルトの特性曲線の傾きの変化量より小さい場合（図１２のｂの範囲）にはメモリ部１３の後段で係数信号を乗じることにより、第３の実施形態よりもさらに出力データの劣化を抑えることが可能となる。
【００６３】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。例えば、上述の各実施形態ではガンマ変換処理のような線形に変化する入力データ信号に対して非線形な出力データ信号を得るデータ処理装置を例にとって説明したが、本実施形態の手法は非線形に変化する入力データ信号を線形な出力データ信号を得るようなデータ処理装置に対しても適用可能である。
【００６４】
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。
【図面の簡単な説明】
【００６５】
【図１】本発明の第１の実施形態に係るデータ処理装置を示す全体構成図である。
【図２】メモリ部に格納されるＬＵＴの特性曲線を示す図である。
【図３】本発明の第１の実施形態において実現したい入出力データ信号の特性曲線を示す図である。
【図４】本発明の第１の実施形態における係数信号の導出手法の概念を説明するための図である。
【図５】本発明の第２の実施形態に係るデータ処理装置を示す全体構成図である。
【図６】本発明の第２の実施形態において実現したい入出力データ信号の特性曲線を示す図である。
【図７】本発明の第３の実施形態に係るデータ処理装置を示す全体構成図である。
【図８】本発明の第３の実施形態におけるデータ処理装置の各部の入出力特性を示す図である。
【図９】本発明の第４の実施形態に係るデータ処理装置を示す全体構成図である。
【図１０】本発明の第４の実施形態におけるデータ処理装置の各部の入出力特性を示す図である。
【図１１】本発明の第５の実施形態に係るデータ処理装置を示す全体構成図である。
【図１２】本発明の第５の実施形態におけるデータ処理装置の効果について説明するための図である。
【符号の説明】
【００６６】
１１，１５…係数演算部、１２，１６…演算処理部、１３…メモリ部、１４…除算部
【図１】
2010183275.tif 000003
【図２】
2010183275.tif 000004
【図３】
2010183275.tif 000005
【図４】
2010183275.tif 000006
【図５】
2010183275.tif 000007
【図６】
2010183275.tif 000008
【図７】
2010183275.tif 000009
【図８】
2010183275.tif 000010
【図９】
2010183275.tif 000011
【図１０】
2010183275.tif 000012
【図１１】
2010183275.tif 000013
【図１２】
2010183275.tif 000014