(57)【特許請求の範囲】
【請求項１】
入力デジタル画像信号の階調データのビット数を縮退する画像信号処理装置において、
前記入力デジタル画像信号の階調データを下位Ｌビット分（但しＬ<Ｎ）拡張して（Ｍ＋Ｎ）ビットの階調データを生成する下位拡張部と、
前記拡張された（Ｍ＋Ｎ）ビットの階調データに、下位Ｎビットを平滑化するフィルタ処理を施すフィルタ処理部と、
Ｎビットの乱数を生成する乱数生成部と、
前記フィルタ処理が施された（Ｍ＋Ｎ）ビットの階調データの下位Ｎビットに前記乱数生成部で生成したＮビットの乱数を加算する乱数加算部と、
前記加算された（Ｍ＋Ｎ）ビットの階調データの下位Ｎビットを切り捨ててＭビットの階調データを生成する切り捨て部と、
を備えることを特徴とする画像信号処理装置。
【請求項２】
コンピュータを、
入力デジタル画像信号の階調データを下位Ｌビット分（但しＬ<Ｎ）拡張して（Ｍ＋Ｎ）ビットの階調データを生成する下位拡張部と、
前記拡張された（Ｍ＋Ｎ）ビットの階調データに、下位Ｎビットを平滑化するフィルタ処理を施すフィルタ処理部と、
Ｎビットの乱数を生成する乱数生成部と、
前記フィルタ処理が施された（Ｍ＋Ｎ）ビットの階調データの下位Ｎビットに前記乱数生成部で生成したＮビットの乱数を加算する乱数加算部と、
前記加算された（Ｍ＋Ｎ）ビットの階調データの下位Ｎビットを切り捨ててＭビットの階調データを生成する切り捨て部、
として機能させることを特徴とする画像信号処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像のビット数を縮退する画像信号処理装置および画像信号処理プログラムに関する。
【背景技術】
【０００２】
デジタル画像信号処理では、その画像の階調を有限なビット数で表現するため、グラデーション領域やＣＧ（Computer Graphics）画像などにおいて、急激な明るさの変化を実際以上に大きく感じてしまい、階調が段階的に変化して境界線が線や縞に見えてしまうマッハバンド効果が発生する。このマッハバンド効果は、デジタル画像信号の分解能に満たない端数が単純に切り捨てまたは四捨五入されるとき、例えば、Ａ／Ｄ（Analog to Digital）変換の際やデジタル信号処理のビット数を縮退する過程において発生する。
【０００３】
このうち後者にあたる、デジタル信号処理のビット数を縮退する際に発生するマッハバンド効果を抑制する研究が従来から行われている。例えば、特許文献１に記載のカラーシェーディング方法では、上位ビットと下位ビットからなる輝度データの下位ビットに乱数を加算して得た輝度データの上位ビットを用いて乱数補間する技術が開示されている。かかる技術では少ないメモリでマッハバンド効果を抑制することができる。
【特許文献１】特開昭６１−１２６５９３号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した従来の画像信号処理装置では、ビット縮退時に発生するマッハバンド効果を抑制することは可能であるが、原画像信号に既にマッハバンド効果が生じている場合、例えば、下位ビット全てが「0」や「1」に固定されている場合や「10」と「01」等数点の所定値に偏っている場合には、そのマッハバンド効果を抑制することができなかった。
【０００５】
また、上述した従来の画像信号処理装置では、マッハバンド効果を抑制する範囲が下位ビット分に限られるため、そのビット数によってはマッハバンド効果を解消しきれず、線や縞を十分に取り切れない場合が生じ得る。
【０００６】
本発明は、このような課題に鑑み、分解能が低い階調データの出現頻度を調整することで見かけ上の階調データの分解能を上げマッハバンド効果を有効に抑制することが可能な、画像信号処理装置および画像信号処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の代表的な構成は、入力デジタル画像信号の階調データのビット数を縮退する画像信号処理装置において、入力デジタル画像信号の階調データを下位Ｌビット分（但しＬ<Ｎ）拡張して（Ｍ＋Ｎ）ビットの階調データを生成する下位拡張部と、拡張された（Ｍ＋Ｎ）ビットの階調データに、下位Ｎビットを平滑化するフィルタ処理を施すフィルタ処理部と、Ｎビットの乱数を生成する乱数生成部と、フィルタ処理が施された（Ｍ＋Ｎ）ビットの階調データの下位Ｎビットに乱数生成部で生成したＮビットの乱数を加算する乱数加算部と、加算された（Ｍ＋Ｎ）ビットの階調データの下位Ｎビットを切り捨ててＭビットの階調データを生成する切り捨て部と、を備えることを特徴とする。ただし、Ｍ、Ｎおよび後述するＬは１以上の整数である。
【０００８】
かかるフィルタ処理部により、端数となる下位Ｎビットにも適切な数値が設定され、グラデーションを形成する領域において離散データを補間する。また、そのように適切な数値が設定された下位Ｎビットに乱数を加算することで、下位Ｎビットの値を上位Ｍビットへの切り上げの出現頻度に置き換えることができ、縮退された階調データはＭビットであるが、その出現頻度（密度）によってＭビットの分解能より細かい階調を表現することができ、マッハバンド効果を有効に抑制することが可能となる。
【０００９】
さらに、原画像信号に既にマッハバンド効果が生じている、下位Ｎビット全てが「0」や「1」に固定されている場合や「10」と「01」等数点の所定値に偏っている場合であっても、フィルタ処理部のフィルタ処理によってその偏りを均すことができるので、マッハバンド効果の抑制を有効化することが可能となる。
【００１１】
ここでは、画像信号処理装置に入力された階調データ（以下、単に原階調データという。）をＬビット拡張した（Ｍ＋Ｎ）ビットの階調データをフィルタ処理および乱数加算し、最終的にＭビットの階調データを取得する。即ち、階調データのビット数は（Ｍ＋Ｎ−Ｌ）からＬ拡張して（Ｍ＋Ｎ）、Ｎ縮退してＭへと変化する。かかる構成により、縮退前のビット数（Ｍ＋Ｎ−Ｌ）と、縮退後のビット数Ｍを自由に選択することができる。また、縮退後のＭビット階調データの出現頻度による実質的な分解能は、画素数の制限を無視すると、拡張されたＬビットに応じて高くなる。従って、このようなＬビットの拡張によりマッハバンド効果をより有効に抑制することが可能となり、グラデーションやＣＧ画像のさらなる高画質化を図ることができる。
【００１３】
本発明の画像信号処理プログラムの代表的な構成は、コンピュータを、入力デジタル画像信号の階調データを下位Ｌビット分（但しＬ<Ｎ）拡張して（Ｍ＋Ｎ）ビットの階調データを生成する下位拡張部と、拡張された（Ｍ＋Ｎ）ビットの階調データに、下位Ｎビットを平滑化するフィルタ処理を施すフィルタ処理部と、Ｎビットの乱数を生成する乱数生成部と、フィルタ処理が施された（Ｍ＋Ｎ）ビットの階調データの下位Ｎビットに乱数生成部で生成したＮビットの乱数を加算する乱数加算部と、加算された（Ｍ＋Ｎ）ビットの階調データの下位Ｎビットを切り捨ててＭビットの階調データを生成する切り捨て部、として機能させることを特徴とする。
【００１４】
上述した画像信号処理装置おける技術的思想に対応する構成要素やその説明は、当該画像信号処理プログラムにも適用可能である。
【発明の効果】
【００１５】
以上説明したように本発明によれば、分解能が低い階調データの出現頻度を調整することで見かけ上の階調データの分解能を上げマッハバンド効果を有効に抑制することが可能となる。その結果、グラデーションやＣＧ画像をさらに高画質化することができる。
【発明を実施するための最良の形態】
【００１６】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値などは、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書及び図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【００１７】
デジタル画像信号における１２ビットや１０ビットといった階調データを、そのデジタル画像を再生する装置で利用可能な８ビットの階調データに落とし込む場合、上位８ビットを維持したまま下位ビットを削除するビットの縮退が行われる。ここで、下位２ビットを単純に切り捨てまたは四捨五入すると階調が段階的に変化して境界線が線や縞に見えてしまうマッハバンド効果が生じる。本実施形態では、グラデーション領域等において階調の境界線が線や縞として視認されてしまうこのようなマッハバンド効果を有効に抑制する画像信号処理装置および画像信号処理プログラムを提供する。
【００１８】
（画像信号処理装置１００）
図１は、画像信号処理装置１００の概略的な構成を示した機能ブロック図である。画像信号処理装置１００は、フィルタ処理部１１０と、乱数生成部１１２と、乱数加算部１１４と、クリッピング部１１６と、切り捨て部１１８と、下位拡張部１２０とを含んで構成され、デジタル画像信号の階調データのビット数を（Ｍ＋Ｎ）ビットからＭビットに縮退する。このような各構成要素は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）等のプロセッサによってソフトウェア的に動作してもよいし、それぞれ単独の集積回路によってハードウェア的に動作してもよい。
【００１９】
フィルタ処理部１１０は、入力された（Ｍ＋Ｎ）ビットの階調データの下位Ｎビットに影響を与える程度（上位Ｍビットに影響を与えない）のフィルタ処理を行い、下位Ｎビットを適切な数値に変化（平滑化、緩斜化）させる。かかるフィルタ処理部１１０のフィルタとして、高周波成分を除去する空間ＬＰＦ（Low Pass Filter）を用いることができる。ここでＬＰＦの理論、次数、方式（ＦＩＲ（Finite Impluse Response）、ＩＩＲ（Infinite Impulse Response））は問われず、既存の様々なアルゴリズムを用いることができる。本実施形態では、典型的に、特定の画素を中心とする周囲横７×縦５の画素のそれぞれの階調データに重み付けを行い、階調データを平均化した値を上記特定の画素の階調データとするボックスフィルタを用いる。
【００２０】
かかるフィルタ処理部１１０により、Ｍビットへの縮退時に切り捨てられる端数（下位Ｎビット）にも適切な数値が設定される。
【００２１】
図２は、グラデーション領域におけるフィルタ処理部１１０の動作を示した説明図である。例えば、階調データの実際の画像（アナログ量）が破線１５０で示す値であった場合に、その階調を示す（Ｍ＋Ｎ）ビットデータ（ここでは、１０ビットデータ）が実線１５２で表されているとする。この１０ビットデータは１０ビットの分解能を有しているにも拘わらず、下位Ｎビット（ここでは２ビット）が０に固定され、階調データは、図２（ａ）に示すように、領域１５４において「0000110000（２進数）」、領域１５６において「0000110100（２進数）」となる。ここで当該フィルタ処理部１１０によるフィルタ処理を施すと、下位２ビット１５８にもグラデーションに沿った適切な数値が設定され、図２（ｂ）に示すように、隣接する画素間における階調データのスムーズな移行を実現することができる。
【００２２】
乱数生成部１１２は、Ｎビットの乱数を生成する。例えば、（Ｍ＋Ｎ）が１０であるのに対してＮが２であった場合、生成する乱数は、上位８（Ｍ）ビットが全て０となり、かつ下位２（Ｎ）ビットがランダム値「00」「01」「10」「11」（２進数）となる。
【００２３】
図３は、乱数生成部１１２で生成される乱数の一覧を示した説明図である。乱数の種類はビット数Ｎに応じて決まる。従って、Ｎが２の場合、乱数の種類は２２＝４となる。乱数生成部１１２は、かかる４つの乱数を均等な出現確率（２５％）で生成し、後述する乱数加算部１１４に伝達する。
【００２４】
乱数加算部１１４は、フィルタ処理が施された（Ｍ＋Ｎ）ビットの階調データの下位Ｎビットに乱数生成部１１２で生成したＮビットの乱数を加算する。
【００２５】
図４は、乱数加算部１１４の動作を示した説明図である。乱数加算部１１４は、フィルタ処理部１１０から伝送された１０ビットの階調データの下位２ビットに、乱数生成部１１２で生成された２ビットの乱数を加算している。図４では、理解を容易にするため乱数が加算される前の階調データ（以下、単に階調元データという。）の上位８ビットを「00001100」に固定して説明する。
【００２６】
例えば、階調元データが「0000110000」であった場合、いずれの乱数を加算したとしても上位８ビットへの切り上げは行われず、多数の階調元データを当該乱数加算部１１４に通したとしたとしても加算後の階調データの上位８ビットが変更することはない。これに対して、階調元データが「0000110001」であった場合、乱数「11」を加算した場合のみ上位８ビットへの切り上げが生じる。これは、多数の階調元データを乱数加算部１１４に通した場合に、２５％の出現頻度で上位８ビットが「00001101」になることを示している。同様にして、階調元データが「0000110010」であった場合、５０％の確率で上位８ビットへの切り上げが生じ、階調元データが「0000110011」であった場合、７５％の確率で上位８ビットへの切り上げが生じる。
【００２７】
換言すれば、フィルタ処理部１１０により適切な数値が設定された（分解能が上がった）下位２ビットに、乱数加算部１１４が２ビットの乱数を加算することで、下位２ビットの値を上位８ビットへの切り上げの出現頻度に置き換えることができ、上位８ビットのみを注視すると、多数の階調データのその出現頻度（密度）によって分解能より細かい階調を表現することができ、見かけ上の分解能が高くなる。こうしてマッハバンド効果を有効に抑制することが可能となる。
【００２８】
図５は、乱数加算部１１４の動作を画像的に表現した説明図である。ここでは、理解を容易にするため、上位８ビットのうちの最下位ビットと下位２ビットとの３ビットのみを用いて説明する。上位８ビットの最下位のみが１ビット相異する図５（ａ）の２つの領域１６０、１６２の下位２ビットがいずれも「0」で埋められ、その領域１６０、１６２が「000」と「100」で表されるとする。このとき、フィルタ処理部１１０がフィルタ処理を実行することによって、領域１６０の「000」は、図５（ｂ）に示すように、４つの領域１７０、１７２、１７４、１７６における「000」「001」「010」「011」に分けられる。図５（ｂ）では、図５（ａ）と比べて下位２ビット分、分解能が上がっているのが理解できる。しかし、最終的には上位８ビットに縮退され、下位２ビットは切り捨てられるので、フィルタ処理によって見かけ上の分解能が上がっても、そのまま上位８ビットに縮退されると、その下位２ビットの階調を有効に表現することができない。
【００２９】
ここで、乱数加算部１１４による乱数の加算が行われると、実際の画像が「000」と「100」とが混在した状態で表現され、図５（ｃ）に示すようにその出現頻度に応じて、見かけ上のグラデーションを表現することができる。かかる出現頻度による見かけ上のグラデーションは、上位８ビットのみによって表されているものの、人の視覚を通じて、下位２ビット分、分解能を上げた場合の階調の違いによる真のグラデーションと等しくなる。
【００３０】
また、図２（ａ）に示したような、原画像信号に既にマッハバンド効果が生じている、下位２ビット全てが「0」や「1」に固定されている場合や「10」と「01」等数点の所定値に偏っている場合であっても、フィルタ処理部１１０のフィルタ処理によってその偏りを均すことができるので、マッハバンド効果の抑制を有効化することが可能となる。
【００３１】
クリッピング部１１６は、当該画像信号処理装置１００の階調データに上限値が設けられる場合、加算された（Ｍ＋Ｎ）ビットの階調データがその上限値を超えるようであれば強制的に上限値に変更する。本実施形態では、階調元データの上位Ｍビットに１加算する頻度によって階調を表している。これは、入力される階調データの数値が増加することを示している。そして、その階調元データの上位Ｍビットが上限値を指している場合、その階調元データに１を加算すると上限値を超えてしまい、さらに、上限値が２Ｍ−１である場合データがオーバフローを起こしてしまう。例えば、階調元データの上位８ビットが「11111111」であった場合に乱数を加算することで切り上げが生じたとしても、このようなクリッピング部１１６によって、オーバフローは抑制され、階調データは「11111111」を維持する。かかる構成により、当該画像信号処理装置１００のオーバフローによるビット反転等の障害を防止することが可能となる。
【００３２】
切り捨て部１１８は、クリッピングされた（Ｍ＋Ｎ）ビットの階調データの下位Ｎビットを切り捨ててＭビットの階調データを生成する。上述したように、乱数加算部１１４が下位Ｎビットに埋もれたデータを出現頻度として上位Ｍビットに反映しているので、乱数を加算し終えた下位Ｎビットは不要となる。従って、切り捨て部１１８は、その不要となった下位Ｎビットを切り捨てる。
【００３３】
下位拡張部１２０は、フィルタ処理を施す前に下位ビットの拡張を行う場合に、階調データを下位Ｌビット分拡張して（Ｍ＋Ｎ）ビットの階調データを生成し、その階調データをフィルタ処理部１１０に伝送する。このとき拡張したＬビットには「0」または「1」を埋めてもよいし、所定の数値を入れてもよい。ここでは、原階調データをＬビット拡張した（Ｍ＋Ｎ）ビットの階調データをフィルタ処理および乱数加算し、最終的にＭビットの階調データを取得する。かかる構成により、縮退前のビット数（Ｍ＋Ｎ−Ｌ）と、縮退後のビット数Ｍを自由に選択することができる。例えば、１０ビットの階調データを１２ビットに拡張しフィルタ処理および乱数加算後８ビットに縮退したり、８ビットの階調データを１０ビットに拡張し８ビットに戻したり、８ビットの階調データを一旦１２ビットに拡張し１０ビットに変更したりすることが可能となる。
【００３４】
また、縮退後のＭビット階調データの出現頻度による実質的な（見た目上の）分解能は、画素数の制限を無視すると、拡張されたＬビットに応じて（２Ｌに比例して）高くなる。従って、このようなＬビットの拡張によりマッハバンド効果をより有効に抑制することが可能となり、グラデーションやＣＧ画像のさらなる高画質化を図ることができる。
【００３５】
（画像信号処理プログラム）
次に、コンピュータを上述した画像信号処理装置１００として機能させる画像信号処理プログラムについて具体例を挙げて詳述する。
【００３６】
図６は、画像信号処理プログラムの処理を示したフローチャートである。ここでは、１０ビットの階調データを１２ビットに拡張し、最終的に８ビットに縮退する例を挙げている。
【００３７】
まず、下位拡張部１２０は、１０ビットの階調データの下位２ビットを拡張して１２ビットの階調データを生成する（Ｓ２００）。このとき拡張した２ビットには「0」を埋める。続いてフィルタ処理部１１０は、入力された１２ビットの階調データを、高周波成分を除去するＬＰＦを用いてフィルタ処理し（Ｓ２０２）、下位４ビットを適切な数値に平滑化する。こうして下位４ビットの端数にも適切な数値が設定される。
【００３８】
次に、乱数生成部１１２は、下位４ビット分の乱数、即ち１６通りの乱数を生成し（Ｓ２０４）、乱数加算部１１４は、フィルタ処理（Ｓ２０２）が施された１２ビットの階調データの下位４ビットに乱数生成部１１２で生成された４ビットの乱数を加算する（Ｓ２０６）。
【００３９】
図７は、このような乱数加算部１１４の動作の一例を示した説明図である。ここでは、フィルタ処理された１２ビットの階調データ「010110011001」に「0000」〜「1111」の１６通りの乱数を加算しているので、切り上がる出現頻度は５６．２５％となる。
【００４０】
クリッピング部１１６は、乱数加算部１１４から出力された１２ビットの階調データをクリッピングし（Ｓ２０８）、切り捨て部１１８が、クリッピングされた１２ビットの階調データの下位４ビットを切り捨てて最終的な８ビットの階調データを生成する（Ｓ２１０）。
【００４１】
こうして乱数加算部１１４に入力された「010110011001」の階調データの５６．２５％は「01011010」となり、残りの４３．７５％が「01011001」となる。これは、下位４ビットが表す補間値を上位８ビットへの切り上げの出現頻度に置き換えることであり、この出現頻度によって見かけ上の分解能が向上することとなる。かかる見かけ上の分解能は、上位８ビットに加えてさらに４ビットあることとなる。
【００４２】
図８は、当該画像信号処理プログラムによる画像変化の実施例を示した説明図である。ここでは、図８（ａ）に示すようなマッハバンド効果を含む１０ビットの階調データを本実施形態の画像信号処理プログラムによって８ビットに縮退している。かかる縮退後の図８（ｂ）を参照すると、乱数を用いることにより均等な出現頻度でグラデーションを形成でき、マッハバンド効果が著しく抑制されているのが理解できる。
【００４３】
このように、本実施形態では、（Ｍ＋Ｎ−Ｌ）ビットの原画像信号を（Ｍ＋Ｎ）ビットに拡張し、（Ｍ＋Ｎ）ビットの階調でフィルタ処理した後、フィルタ処理後の階調データの下位（Ｎ）ビットに基づいて決定される出現頻度に応じてＭビットに縮退処理を施すことで、ビット縮退時に発生するマッハバンド効果のみならず、原画像信号に存在するマッハバンド効果も抑制することが可能となる。その結果、グラデーションやＣＧ画像も高画質化することができる。
【００４４】
なお、上述した画像信号処理プログラムは、記録媒体から読みとられてコンピュータに取り込まれてもよいし、通信ネットワークを介して伝送されてコンピュータに取り込まれてもよい。
【００４５】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【００４６】
例えば、上述した実施形態においては、階調データに乱数を加算する構成を述べているが、かかる部分を減算によって遂行可能であることは言うまでもない。この場合、クリッピング部１１６は、下限をクリッピングすることになる。
【００４７】
また、上述した階調データは、特に動画か静止画に限るものではなく、デジタル画像信号を用いる様々な局面において利用可能である。
【００４８】
なお、本明細書の画像信号処理プログラムの処理として挙げた各工程は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むとしてもよい。
【産業上の利用可能性】
【００４９】
本発明は、デジタル画像の画像信号処理装置及び画像信号処理プログラムに関する。
【図面の簡単な説明】
【００５０】
【図１】画像信号処理装置の概略的な構成を示した機能ブロック図である。
【図２】グラデーション領域におけるフィルタ処理部の動作を示した説明図である。
【図３】乱数生成部で生成される乱数の一覧を示した説明図である。
【図４】乱数加算部の動作を示した説明図である。
【図５】乱数加算部の動作を画像的に表現した説明図である。
【図６】画像信号処理プログラムの処理を示したフローチャートである。
【図７】乱数加算部の動作の一例を示した説明図である。
【図８】画像信号処理プログラム処理による画像変化の実施例を示した説明図である。
【符号の説明】
【００５１】
１００  …画像信号処理装置
１１０  …フィルタ処理部
１１２  …乱数生成部
１１４  …乱数加算部
１１６  …クリッピング部
１１８  …切り捨て部
１２０  …下位拡張部
【図１】
0005024112.tif 000002
【図２】
0005024112.tif 000003
【図３】
0005024112.tif 000004
【図４】
0005024112.tif 000005
【図５】
0005024112.tif 000006
【図６】
0005024112.tif 000007
【図７】
0005024112.tif 000008
【図８】
0005024112.tif 000009