(57)【要約】【課題】入力データを変換テーブルにより出力データに変換する際に、変換テーブルの容量を低減しつつも精度よくデータを変換できるようにする。【解決手段】対数関数に基づく変換テーブルにより入力データＤｉｎを出力データＤｏｕｔに変換する。入力データＤｉｎが対数関数において入力値に対する出力値の変化が急峻な範囲にある場合は、入力データＤｉｎのビット数と同一の要素数を有する変換テーブルＴ１により入力データＤｉｎを変換する。入力データＤｉｎが入力値に対する出力値の変化が緩やかな範囲にある場合は、入力データＤｉｎのビット数よりも少ない要素数を有する変換テーブルＴ２により入力データＤｉｎを変換する。【選択図】          図１
2004288072.tif 000002
【特許請求の範囲】
【請求項１】
入力値に対する出力値の変化の程度が前記入力値の範囲に応じて異なる関数に基づいて作成した変換テーブルにより、入力データを出力データに変換するデータ変換装置において、
前記入力値を少なくとも１つのしきい値を境界とする複数の範囲に分割し、該複数の範囲のそれぞれに対応して作成された、該複数の範囲のそれぞれにおける前記出力値の変化の程度が小さいほど、前記入力値のビット数よりも要素数を小さくした複数の変換テーブルを記憶するテーブル記憶手段と、
前記入力データのデータ値の範囲に対応する変換テーブルにより、該入力データを前記出力データに変換するデータ変換手段とを備えたことを特徴とするデータ変換装置。
【請求項２】
前記関数が対数関数、対数関数に近似する関数、ルート関数および指数関数のいずれかであることを特徴とするデータ変換装置。
【請求項３】
入力値に対する出力値の変化の程度が前記入力値の範囲に応じて異なる関数に基づいて作成した変換テーブルにより、入力データを出力データに変換するデータ変換方法において、
前記入力値を少なくとも１つのしきい値を境界とする複数の範囲に分割し、該複数の範囲のそれぞれに対応して作成された、該複数の範囲のそれぞれにおける前記出力値の変化の程度が小さいほど、前記入力値のビット数よりも要素数を小さくした複数の変換テーブルを記憶するテーブル記憶手段を参照して、前記入力データのデータ値の範囲に対応する変換テーブルにより、該入力データを前記出力データに変換することを特徴とするデータ変換方法。
【請求項４】
入力値に対する出力値の変化の程度が前記入力値の範囲に応じて異なる関数に基づいて作成した変換テーブルにより、入力データを出力データに変換するデータ変換方法をコンピュータに実行させるためのプログラムにおいて、
前記入力値を少なくとも１つのしきい値を境界とする複数の範囲に分割し、該複数の範囲のそれぞれに対応して作成された、該複数の範囲のそれぞれにおける前記出力値の変化の程度が小さいほど、前記入力値のビット数よりも要素数を小さくした複数の変換テーブルを記憶するテーブル記憶手段を参照して、前記入力データのデータ値の範囲に対応する変換テーブルにより、該入力データを前記出力データに変換する手順を有することを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば画像データのような入力データを変換テーブルにより出力データに変換するデータ変換装置および方法並びにデータ変換方法をコンピュータに実行させるためのプログラムに関するものである。
【０００２】
【従来の技術】
変換テーブルを用いてデータを変換することが種々の分野において行われている。例えば、原稿をＣＣＤを用いて読み取ることにより得た読み取りデータを、対数変換テーブルを用いて濃度データに変換する方法が特許文献１に記載されている。
【０００３】
上述したような変換テーブルにより、精度よくデータを変換するためには、入力データのビット数に対応した要素数を有する変換テーブルを用意する必要がある。例えば、入力データのビット数が１２ビットの場合は、要素数が４０９６個（＝２＾１２）の変換テーブルを、入力データのビット数が１６ビットの場合は、要素数が６５５３６個（＝２＾１６）の変換テーブルを、入力データのビット数が２０ビットである場合には、要素数が１０４８５７６個（＝２＾２０）の変換テーブルを用意する必要がある。
【０００４】
【特許文献１】
特開平７−１５４５８７号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、上述したように変換テーブルを用いて入力データを変換する場合、入力データのビット数が大きいほど指数関数的に変換テーブルの要素数が増大し、その結果変換テーブルの容量が増大するという問題がある。このため、変換テーブルの要素数を少なくすることが考えられるが、変換テーブルの要素数を少なくすると、データの変換精度が悪くなる。
【０００６】
本発明は上記事情に鑑みなされたものであり、変換テーブルの容量を低減しつつも精度よくデータを変換できるようにすることを目的とする。
【０００７】
【課題を解決するための手段】
例えば対数関数のように、入力値に対する出力値の変化の程度が入力値の範囲に応じて異なる場合、出力値の変化の程度が緩やかな範囲については、変換テーブルの要素数を少なくしても、変換精度はそれほど低減しない。本発明はこの点に着目してなされたものである。
【０００８】
すなわち、本発明によるデータ変換装置は、入力値に対する出力値の変化の程度が前記入力値の範囲に応じて異なる関数に基づいて作成した変換テーブルにより、入力データを出力データに変換するデータ変換装置において、
前記入力値を少なくとも１つのしきい値を境界とする複数の範囲に分割し、該複数の範囲のそれぞれに対応して作成された、該複数の範囲のそれぞれにおける前記出力値の変化の程度が小さいほど、前記入力値のビット数よりも要素数を小さくした複数の変換テーブルを記憶するテーブル記憶手段と、
前記入力データのデータ値の範囲に対応する変換テーブルにより、該入力データを前記出力データに変換するデータ変換手段とを備えたことを特徴とするものである。
【０００９】
なお、本発明によるデータ変換装置においては、前記関数が対数関数、対数関数に近似する関数、ルート関数および指数関数のいずれかであることが好ましい。
【００１０】
本発明によるデータ変換方法は、入力値に対する出力値の変化の程度が前記入力値の範囲に応じて異なる関数に基づいて作成した変換テーブルにより、入力データを出力データに変換するデータ変換方法において、
前記入力値を少なくとも１つのしきい値を境界とする複数の範囲に分割し、該複数の範囲のそれぞれに対応して作成された、該複数の範囲のそれぞれにおける前記出力値の変化の程度が小さいほど、前記入力値のビット数よりも要素数を小さくした複数の変換テーブルを記憶するテーブル記憶手段を参照して、前記入力データのデータ値の範囲に対応する変換テーブルにより、該入力データを前記出力データに変換することを特徴とするものである。
【００１１】
なお、本発明によるデータ変換方法をコンピュータに実行させるためのプログラムとして提供してもよい。
【００１２】
【発明の効果】
本発明によれば、入力値を少なくとも１つのしきい値を境界として複数の範囲に分割し、複数の範囲のそれぞれに対応して複数の変換テーブルを作成してテーブル記憶手段に記憶しておく。これらの変換テーブルは、複数の範囲のそれぞれにおける出力値の変化の程度が小さいほど、入力値のビット数よりも要素数を小さくしたものとなっている。そして、データ変換手段が、入力データを出力データに変換する際には、入力データのデータ値の範囲に対応する変換テーブルにより、入力データを出力データに変換する。
【００１３】
ここで、出力値の変化が大きい範囲において変換テーブルの要素数を入力データのビット数よりも小さくすると、変換テーブルの容量は小さくできるものの、その変換テーブルにより入力データを変換して得た出力データは、単位データ当たりのデータ値の変化量が大きくなることから、入力データのビット数と同一の要素数を有する変換テーブルにより変換した場合と比較して、出力データの誤差が大きくなってしまう。一方、出力値の変化が小さい範囲において変換テーブルの要素数を小さくしても、元々その範囲においては出力値の変化が小さいことから、入力データのビット数と同一の要素数を有する変換テーブルにより変換した場合と比較しても、誤差はそれほど大きくない。
【００１４】
したがって、複数の変換テーブルを、複数の範囲のそれぞれにおける出力値の変化の程度が小さいほど、入力値のビット数よりも要素数を小さくしたものとすることにより、変換精度をそれほど低下させることなく入力データを出力データに変換することができる。また、複数の変換テーブルの総要素数を入力値のビット数よりも少なくすることができるため、変換テーブルの総容量を小さくすることができる。
【００１５】
【発明の実施の形態】
以下図面を参照して本発明の実施形態について説明する。図１は本発明の実施形態によるデータ変換装置の構成を示す概略ブロック図である。図１に示すように、本実施形態によるデータ変換装置１は、画像を表す２次元の入力データＤｉｎ（ｘ，ｙ）（以降、（ｘ，ｙ）は省略する）を対数変換して出力データＤｏｕｔ（ｘ，ｙ）（以降、（ｘ，ｙ）は省略する）を得るデータ変換部２と、入力データＤｉｎを出力データＤｏｕｔに変換するための変換テーブルを記憶するメモリ３と、メモリ３に記憶する変換テーブルを作成するテーブル作成部４とを備える。
【００１６】
なお、本実施形態においては、例えば放射線画像を読み取ることにより得られる画像を表す１６ビットの２次元の画像データを、低線量域においてビット分解能が悪くなることを防止するために２０ビット化してこれを入力データＤｉｎとし、対数変換によって得られる出力データのＤｏｕｔのビット数を１２ビットとする。
【００１７】
以下、テーブル作成部４における変換テーブルの作成について説明する。図２は対数変換を行うための対数関数を示すグラフである。図２に示すように対数関数には、入力値に対する出力値の変化が急峻な範囲Ａ１と、範囲Ａ１と比較して入力値に対する出力値の変化が緩やかな範囲Ａ２とがある。本実施形態は対数関数がこのように出力値の変化が急峻な範囲Ａ１と緩やかな範囲Ａ２とを含むものであることに着目し、範囲Ａ１，Ａ２の境界にしきい値Ｔｈ１を設定し、入力データＤｉｎが範囲Ａ１にある場合と範囲Ａ２にある場合とで、それぞれ異なる第１および第２の変換テーブルＴ１，Ｔ２により入力データＤｉｎを変換するようにしたものである。
【００１８】
具体的には、入力データＤｉｎが範囲Ａ１にある場合には、入力データＤｉｎのビット数と同一の２０ビットの要素数を有する第１の変換テーブルＴ１により変換を行い、入力データＤｉｎが範囲Ａ２にある場合には、入力データＤｉｎのビット数の２＾６分の１の１４ビットの要素数を有する第２の変換テーブルＴ２により変換を行うようにしたものである。
【００１９】
なお、しきい値Ｔｈ１の値を大きくすると、変換精度は向上できるものの変換テーブルＴ１，Ｔ２の総要素数が大きくなる。逆にしきい値Ｔｈ１の値を小さくすると、変換精度は低下するものの変換テーブルＴ１，Ｔ２の総要素数は小さくなる。このため、しきい値Ｔｈ１の値および範囲Ａ２についての変換テーブルＴ２の要素数は、変換精度と変換テーブルＴ１，Ｔ２の総要素数との関係を考慮して最適な値を設定すればよい。
【００２０】
本実施形態においては、しきい値Ｔｈ１の値として１４２０８を使用し、第２の変換テーブルＴ２の要素数を入力データＤｉｎのビット数の２＾６分の１の１４ビットとする。
【００２１】
ここで、２０ビットの入力データＤｉｎを単一の変換テーブルにより変換する場合において、変換テーブルの要素数を入力データＤｉｎのビット数と同一とすると、要素数は１０４８５７６個となる。本実施形態のようにしきい値Ｔｈ１の値を１４２０８と設定すると、範囲Ａ１にある入力データＤｉｎを変換する第１の変換テーブルＴ１の要素数は１４２０８個となる。一方、範囲Ａ２にある入力データＤｉｎを変換する第２の変換テーブルＴ２の要素数は１６３８４個（＝２＾１４）となる。したがって、第１および第２の変換テーブルＴ１，Ｔ２の総要素数は３０５９２個となり、単一の変換テーブルを使用する場合よりも大幅に要素数を低減でき、その結果、第１および第２の変換テーブルＴ１，Ｔ２の総容量を、単一の変換テーブルの容量よりも大幅に低減できる。
【００２２】
次いで、本実施形態において行われる処理について説明する。図３は、本実施形態において行われる処理を示すフローチャートである。なお、メモリ３にはテーブル作成部４が作成した第１および第２の変換テーブルＴ１，Ｔ２が記憶されているものとする。また、図３に示す処理は全ての入力データＤｉｎ（ｘ，ｙ）に対して行われるものである。
【００２３】
まず、データ変換部２は入力データＤｉｎ（ｘ，ｙ）がしきい値Ｔｈ１以下であるか否かを判定する（ステップＳ１）。ステップＳ１が肯定されると、入力データＤｉｎ（ｘ，ｙ）が範囲Ａ１にあることから、第１の変換テーブルＴ１により入力データＤｉｎ（ｘ，ｙ）を変換して出力データＤｏｕｔ（ｘ，ｙ）を得（ステップＳ２）、処理を終了する。
【００２４】
一方、ステップＳ１が否定されると、入力データＤｉｎ（ｘ，ｙ）が範囲Ａ２にあることから、入力データＤｉｎ（ｘ，ｙ）を２＾６により除算して１４ビット化し（ステップＳ３）、１４ビット化した入力データＤｉｎ（ｘ，ｙ）を第２の変換テーブルＴ２により変換して出力データＤｏｕｔ（ｘ，ｙ）を得（ステップＳ４）、処理を終了する。
【００２５】
ここで、対数関数において出力値の変化が急峻な範囲Ａ１において変換テーブルの要素数を入力データＤｉｎのビット数よりも小さくすると、変換テーブルの容量は小さくできるものの、その変換テーブルにより入力データＤｉｎを変換して得た出力データＤｏｕｔは、単位データ当たりのデータ値の変化量が大きくなることから、入力データＤｉｎのビット数と同一の要素数を有する変換テーブルにより変換した場合と比較して、出力データＤｏｕｔの誤差が大きくなってしまう。
【００２６】
一方、対数関数において出力値の変化が緩やかな範囲Ａ２において変換テーブルの要素数を小さくしても、元々その範囲においては出力値の変化が小さいことから、入力データＤｉｎのビット数と同一の要素数を有する変換テーブルにより変換した場合と比較しても、誤差はそれほど大きくない。
【００２７】
したがって、本実施形態のように、入力データＤｉｎが範囲Ａ１にある場合には入力データＤｉｎのビット数と同一の要素数を有する第１の変換テーブルＴ１により変換を行い、入力データＤｉｎが範囲Ａ２にある場合には入力データＤｉｎのビット数よりも小さい要素数を有する第２の変換テーブルＴ２により変換を行うことにより、変換精度をそれほど低下させることなく入力データＤｉｎを出力データＤｏｕｔに変換することができる。また、第１および第２の変換テーブルＴ１，Ｔ２の総要素数を入力データＤｉｎのビット数よりも少なくすることができるため、変換テーブルの総容量を小さくすることができる。
【００２８】
なお、上記実施形態においては、第１および第２の変換テーブルＴ１，Ｔ２として対数関数に基づいて作成したものを用いているが、入力値に対する出力値の変化の程度が入力値の範囲に応じて異なる関数であれば対数関数に限定されるものではなく、対数関数に近似する関数、ルート関数および指数関数等、いかなる関数をも用いることができる。
【００２９】
また、上記実施形態においては、対数関数をしきい値Ｔｈ１を境界として２つの範囲Ａ１，Ａ２に区分し、範囲Ａ１，Ａ２のそれぞれに対応して第１および第２の変換テーブルＴ１，Ｔ２を作成しているが、３以上の区分に対数関数を区分し、それぞれの区分に対応して変換テーブルを作成してもよい。この場合、各区分における出力値の変化が緩やかなほど、変換テーブルの要素数を入力データＤｉｎのビット数よりも少なくすればよい。
【００３０】
例えば、図４に示すように対数関数を２つのしきい値Ｔｈ１，Ｔｈ２を境界として３つの範囲Ａ１，Ａ２，Ａ３に区分し、範囲Ａ１については２０ビットの要素数を有する変換テーブルを、範囲Ａ２については１４ビットの要素数を有する変換テーブルを、範囲Ａ３については１２ビットの要素数を有する変換テーブルを作成するようにしてもよい。
【図面の簡単な説明】
【図１】本発明の実施形態によるデータ変換装置の構成を示す概略ブロック図
【図２】対数関数を示すグラフ（その１）
【図３】本実施形態において行われる処理を示すフローチャート
【図４】対数関数を示すグラフ（その１）
【符号の説明】
１    データ変換装置
２    データ変換部
３    メモリ
４    テーブル作成部
【図１】
2004288072.tif 000003
【図２】
2004288072.tif 000004
【図３】
2004288072.tif 000005
【図４】
2004288072.tif 000006