(57)【要約】【課題】階調性を保ちつつデータの丸め処理を行う。【解決手段】ｍビットの入力データに対して丸め処理を行い、ｎビットの出力データを出力する場合において、乱数生成部１２が（ｍ−ｎ）ビットの乱数を生成する。丸め演算部１１は、入力データの小数部（ｍ−ｎ）ビットと乱数生成部１２から取得した乱数を加算し、繰り上がり量を取得する。さらに入力データから小数部（ｍ−ｎ）ビットについて切り捨てを行い、切り捨て後の最下位ビットに取得した繰り上がり量を加算する。丸められる入力データの小数部（ｍ−ｎ）ビットの値に応じて乱数加算後の繰り上がり確率が大きくなり、ｍビットの入力データの階調性を擬似的に保持したままｎビットに丸め処理することができる。【選択図】  図１
2009010489.tif 000002
【特許請求の範囲】
【請求項１】
ｍビットの画像データのうちの小数部のデータを１に切り上げ、又は０に切り捨ててｍビットよりもビット数の小さいｎビットの画像データを生成する画像処理装置において、
前記ｍビットの画像データのうちの小数部のデータを入力し、この小数部のデータの大きさに対応する確率でランダムに１又は０を発生する繰り上がり発生手段と、
前記ｍビットの画像データのうちの小数部のデータを切り捨てるとともに、この切り捨てた小数部のデータに基づいて前記繰り上がり発生手段から発生した１又は０を加算する丸め処理手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記繰り上がり発生手段は、
所定ビット長の乱数データを発生する乱数発生手段を備え、
前記小数部と前記乱数データとを加算し、前記小数部のデータが桁上げしたか否かを検出することにより前記小数部のデータの大きさに対応する確率でランダムに１又は０を発生することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
画像データの階調特性を変化させる階調変換処理手段を備え、
前記丸め処理手段は、前記階調変換処理手段の出力データに対して丸め処理を行うことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記乱数発生手段は、前記階調変換処理手段の出力データのビット数に応じたビット数の乱数データを発生することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
画像データのノイズを低減させるノイズ低減処理手段を備え、
前記丸め処理手段は、前記ノイズ低減処理手段の出力データに対して丸め処理を行うことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項６】
前記乱数発生手段は、前記ノイズ低減処理の強さに応じたビット数の乱数データを発生することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
処理対象画素の周辺画素の画像データに基づいて前記処理対象画素近傍の画像の平坦度を算出する平坦度算出手段を備え、
前記乱数発生手段は、前記処理対象画素の画像データに対して前記算出した画像の平坦度に応じたビット数の乱数データを発生することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項８】
画像データのノイズを低減させるノイズ低減処理手段を備え、
前記丸め処理手段は、前記ノイズ低減処理手段の入力データに対して丸め処理を行うことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項９】
画像データのノイズを低減させるノイズ低減処理手段と、
前記ノイズ低減処理の強さに応じて、前記丸め処理手段がノイズ低減処理手段の入力データに対して丸め処理を行うか又はノイズ低減処理手段の出力データに対して丸め処理を行うかを選択する選択手段と、
を備えたことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項１０】
前記画像データは輝度データと色差データのうちの色差データであることを特徴とする請求項５から９のいずれかに記載の画像処理装置。
【請求項１１】
ｍビットの画像データのうちの小数部のデータを１に切り上げ、又は０に切り捨ててｍビットよりもビット数の小さいｎビットの画像データを生成する画像処理方法において、
前記ｍビットの画像データのうちの小数部のデータを入力し、この小数部のデータの大きさに対応する確率でランダムに１又は０を発生する繰り上がり発生工程と、
前記ｍビットの画像データのうちの小数部のデータを切り捨てるとともに、この切り捨てた小数部のデータに基づいて前記繰り上がり発生手段から発生した１又は０を加算する丸め処理工程と、
を備えたことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置及び画像処理方法に係り、特に画素毎に入力されるデータに対して階調性を保ちつつ丸め処理を行う画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
画像信号を処理する際に、画像の劣化を防止するためにノイズ低減の処理が行われており、このノイズを低減する手法が種々提案されている。例えば特許文献１には、ノイズを付加することで、入力画像に付加された低周波ノイズを低減しつつ認識させにくくする画像処理方法が記載されている。
【特許文献１】特開２００４−３０４６５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
画像信号を処理する過程で発生した小数部のデータを整数化する場合は、切り捨て、もしくは四捨五入が行われる。その際、小数部のデータが捨てられるため、精度が低下してしまう問題がある。例えば、図２３のように小数部のデータを切り捨てた場合、元のデータと比べて階段状の階調になってしまう。これにより、グラデーション部の階調性が保てなくなるなどの問題があった。
【０００４】
また、図２４（ａ）は、高周波ノイズを持つ信号を示した図であり、図２４（ｂ）は、図２４（ａ）に示した信号に対してノイズ低減処理を施し平滑化した、小数部を含む信号を示した図であり、図２４（ｃ）は、図２４（ｂ）に示した信号に対して整数化を行った信号である。図２４（ｃ）に示すように、ノイズ低減処理で高周波ノイズを除去した場合、低周波信号のみが残留し、斑状のむらが発生するという問題があった。特許文献１に記載の画像処理方法は、この斑状のむらを低減する技術であるが、低周波ノイズは低減できるものの、ノイズが増加してしまうという欠点があった。
【０００５】
本発明はこのような事情に鑑みてなされたもので、データを丸める際に、切り捨てや四捨五入ではなく、データ毎にランダムに繰り上がり閾値を変えて処理することで、擬似階調を持たせて階調性を保つ画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記目的を達成するために請求項１に記載の画像処理装置は、ｍビットの画像データのうちの小数部のデータを１に切り上げ、又は０に切り捨ててｍビットよりもビット数の小さいｎビットの画像データを生成する画像処理装置において、前記ｍビットの画像データのうちの小数部のデータを入力し、この小数部のデータの大きさに対応する確率でランダムに１又は０を発生する繰り上がり発生手段と、前記ｍビットの画像データのうちの小数部のデータを切り捨てるとともに、この切り捨てた小数部のデータに基づいて前記繰り上がり発生手段から発生した１又は０を加算する丸め処理手段とを備えたことを特徴とする。
【０００７】
これにより、元の階調性を擬似的に保持することができる。
【０００８】
請求項２に示すように請求項１に記載の画像処理装置において、前記繰り上がり発生手段は、所定ビット長の乱数データを発生する乱数発生手段を備え、前記小数部と前記乱数データとを加算し、前記小数部のデータが桁上げしたか否かを検出することにより前記小数部のデータの大きさに対応する確率でランダムに１又は０を発生することを特徴とする。
【０００９】
これにより、簡単に元の階調性を擬似的に保持することができる。
【００１０】
請求項３に示すように請求項１又は２に記載の画像処理装置において、画像データの階調特性を変化させる階調変換処理手段を備え、前記丸め処理手段は、前記階調変換処理手段の出力データに対して丸め処理を行うことを特徴とする。
【００１１】
これにより、データのビット数が減少しても、階調変換前の階調性を擬似的に保持することができる。
【００１２】
請求項４に示すように請求項３に記載の画像処理装置において、前記乱数発生手段は、前記階調変換処理手段の出力データのビット数に応じたビット数の乱数データを発生することを特徴とする。
【００１３】
これにより、状況に応じて適切に擬似階調を加えることができる。
【００１４】
請求項５に示すように請求項１又は２に記載の画像処理装置において、画像データのノイズを低減させるノイズ低減処理手段を備え、前記丸め処理手段は、前記ノイズ低減処理手段の出力データに対して丸め処理を行うことを特徴とする。
【００１５】
これにより、残留した低周波ノイズを目立たなくすることができる。
【００１６】
請求項６に示すように請求項５に記載の画像処理装置において、前記乱数発生手段は、前記ノイズ低減処理の強さに応じたビット数の乱数データを発生することを特徴とする。
【００１７】
これにより、階調性を維持しつつ、ノイズの増加を最小限に抑えることができる。
【００１８】
請求項７に示すように請求項１又は２に記載の画像処理装置において、処理対象画素の周辺画素の画像データに基づいて前記処理対象画素近傍の画像の平坦度を算出する平坦度算出手段を備え、前記乱数発生手段は、前記処理対象画素の画像データに対して前記算出した画像の平坦度に応じたビット数の乱数データを発生することを特徴とする。
【００１９】
これにより、階調性を維持しつつ、ノイズの増加を最小限に抑えることができる。
【００２０】
請求項８に示すように請求項１又は２に記載の画像処理装置において、画像データのノイズを低減させるノイズ低減処理手段を備え、前記丸め処理手段は、前記ノイズ低減処理手段の入力データに対して丸め処理を行うことを特徴とする。
【００２１】
これにより、ノイズ低減後のノイズ増加を抑えることができる。
【００２２】
請求項９に示すように請求項１又は２に記載の画像処理装置において、画像データのノイズを低減させるノイズ低減処理手段と、前記ノイズ低減処理の強さに応じて、前記丸め処理手段がノイズ低減処理手段の入力データに対して丸め処理を行うか又はノイズ低減処理手段の出力データに対して丸め処理を行うかを選択する選択手段とを備えたことを特徴とする。
【００２３】
これにより、適切な箇所に擬似階調を加えることができる。
【００２４】
請求項１０に示すように請求項５から９のいずれかに記載の画像処理装置において、前記画像データは輝度データと色差データのうちの色差データであることを特徴とする。
【００２５】
これにより、低周波な色差データに強くノイズ低減をかけても階調性を保つことができる。
【００２６】
前記目的を達成するために請求項１１に記載の画像処理方法は、ｍビットの画像データのうちの小数部のデータを１に切り上げ、又は０に切り捨ててｍビットよりもビット数の小さいｎビットの画像データを生成する画像処理方法において、前記ｍビットの画像データのうちの小数部のデータを入力し、この小数部のデータの大きさに対応する確率でランダムに１又は０を発生する繰り上がり発生工程と、前記ｍビットの画像データのうちの小数部のデータを切り捨てるとともに、この切り捨てた小数部のデータに基づいて前記繰り上がり発生手段から発生した１又は０を加算する丸め処理工程とを備えたことを特徴とする。
【００２７】
これにより、元の階調性を擬似的に保持することができる。
【発明の効果】
【００２８】
本発明によれば、データを丸める際に、切り捨てや四捨五入ではなく、データ毎にランダムに繰り上がり閾値を変えて処理することで、擬似階調を持たせて階調性を保つ画像処理装置及び画像処理方法を提供することができる。
【発明を実施するための最良の形態】
【００２９】
以下、添付図面に従って本発明を実施するための最良の形態について説明する。
【００３０】
＜画像処理装置の構成＞
まず最初に、本発明に係る画像処理装置１について説明する。図２５は、画像処理装置１の主要構成部であるデジタル信号処理部３０の内部構成を示すブロック図である。
【００３１】
このデジタル信号処理部３０は、オフセット補正回路３１、ゲイン補正回路３２、ホワイトバランス（ＷＢ）ゲイン算出回路３３、階調変換処理部３４、同時化回路３５、ＲＧＢ／ＹＣ変換回路３６、ノイズ低減処理部３７、輪郭補正回路３８、及び色差マトリクス回路３９から構成されており、図示しないＣＰＵからの指令に従って画像信号（Ｒ、Ｇ、ＢのＲＡＷデータ）を処理し、輝度信号と色差信号とからなるＹＣ信号を生成する。
【００３２】
即ち、Ｒ、Ｇ、ＢのＲＡＷデータ（Ｒ、Ｇ、Ｂ信号）が、画像撮影に使用した撮像素子のカラーフィルタ配列に応じて、例えばＲＧＢＧＲＧＢＧの点順次で順次取り込まれる。このＲ、Ｇ、Ｂ信号は、オフセット補正回路３１に加えられ、ここでＲ、Ｇ、Ｂ信号の黒レベルを揃えるオフセット処理がなされるのち、ゲイン補正回路３２に加えられる。
【００３３】
ゲイン補正回路３２の他の入力には、ＷＢゲイン算出回路３３によって決定された、Ｒ、Ｇ、Ｂ信号別のＷＢゲインＲg、Ｇg、Ｂgが加えられており、ゲイン補正回路３２は、入力するＲ、Ｇ、Ｂ信号に対応するＷＢゲインＲg、Ｇg、Ｂgにより、Ｒ、Ｇ、Ｂ信号のゲイン補正を行い、これによりＷＢ補正が行われる。
【００３４】
ＷＢ補正されたＲ、Ｇ、Ｂ信号は、階調変換処理部３４に加えられる。階調変換処理部３４は、入力するＲ、Ｇ、Ｂ信号の階調変換（ガンマ補正）を行い、ガンマ補正したＲ、Ｇ、Ｂ信号を同時化回路３５に加える。同時化回路３５は、画像撮影に使用した撮像素子のカラーフィルタ配列に伴うＲ、Ｇ、Ｂ信号の空間的なズレを補間してＲ、Ｇ、Ｂ信号を同時式に変換する処理を行い、同時化したＲ、Ｇ、Ｂ信号をＲＧＢ／ＹＣ変換回路３６に出力する。
【００３５】
ＲＧＢ／ＹＣ変換回路３６は、Ｒ、Ｇ、Ｂ信号を輝度信号Ｙ、色差信号Ｃr、Ｃｂに変換し、輝度信号Ｙをノイズ低減処理部３７を介して輪郭補正回路３８に出力するとともに、色差信号Ｃr、Ｃｂをノイズ低減処理部３７を介して色差マトリクス回路３９に出力する。輪郭補正回路３８は、輝度信号Ｙの輪郭部（輝度変化の大きい部分）を強調する処理を行い、色差マトリクス回路３９は、色差信号Ｃr、Ｃｂに対して所要のマトリクス変換を行って良好な色再現性を実現させる。
【００３６】
＜第１の実施の形態＞
図１は、本発明に係る第１の実施の形態の画像処理装置１における、丸め処理について示したブロック図である。画像処理装置１は、丸め演算部１１及び乱数生成部１２を備えている。丸め演算部１１は、ｍビットのデータについて丸め演算を行い、ｍ＞ｎの関係にあるｎビットのデータを生成する。
【００３７】
次に、丸め処理動作について説明する。図２は、第１の実施の形態の丸め処理動作について示したフローチャートである。ここでは、ｍビットの入力データをｎ＝ｍ−２であるｎビットの出力データに丸め処理を行う場合について説明する。
【００３８】
まず、乱数生成部１２が乱数を生成する（ステップＳ２１）。この乱数は、小数部（ｎ−ｍ）のビット数と同じ２ビットであり、００、０１、１０、１１の４値のうちのいずれかがランダムに同確率で生成され、出力される。この乱数は、発生回路により生成してもよいし、パターンテーブルを参照して生成してもよい。
【００３９】
次に、丸め演算部１１は、ｍビットの入力データと、乱数生成部１２が生成した乱数を取得し（ステップＳ２２）、入力データの小数部（ｎ−ｍ）ビットと取得した乱数を加算して繰り上がり量を算出する（ステップＳ２３）。ここでは、ｎ−ｍ＝２であるので、ｍビットの入力データのうち下位２ビットについて、繰り上げ制御を行う。図３は、取得した乱数と、入力データの下位２ビットを加算した場合における繰り上がり量を示した図である。取得した乱数と入力データの下位２ビットの和が１００を超える場合は繰り上がり量は＋１となり、また、取得した乱数と下位２ビットの和が１００未満の場合は繰り上がり量は＋０となる。
【００４０】
最後に、入力データから小数部ビットを切り捨て、切り捨て後の最下位ビットに繰り上がり量を加算し、データの丸め処理を終了する（ステップＳ２４）。即ち丸め演算部１１は、ｍビットの入力データから下位２ビットを切り捨ててｎビットのデータとし、最下位ビットに繰り上がり量を加算し、出力する。
【００４１】
このように、画素データ毎に乱数を更新して繰り上がりの制御をすることで、切り捨てや四捨五入を行う場合と異なり、丸められる値に対応して繰り上がる頻度が変化する繰り上がりを実現することができる。
【００４２】
図４は、丸められる値（小数部）と繰り上がる確率について示した図である。下位２ビットが００の場合は０／４、下位２ビットが０１の場合は１／４、下位２ビットが１０の場合は２／４、下位２ビットが１１の場合は３／４の確率で繰り上がりが発生することがわかる。このように、丸められる値が大きいほど繰り上がる確率が大きくなるため、元の階調性を擬似的に保持することが可能となる。
【００４３】
この丸め処理によれば、グラデーション部が入力されたときに効果が大きい。図５（ａ）は切り捨てを用いた丸め処理前後のデータを示す図であり、図５（ｂ）は本発明の方式を用いた丸め処理前後のデータを示す図である。図５に示すように、本発明の方式では、値が大きくなるほど繰り上がりの頻度も上がるため、巨視的に見た場合に元の階調を擬似的に表現できている。この際、繰り上がり値が周期的にパターンで現れると知覚されやすくなってしまうため、本発明で扱う乱数は非周期のものの方が望ましい。
【００４４】
＜第２の実施の形態＞
第２の実施の形態の丸め処理部２の丸め処理動作について、図２を用いて説明する。第１の実施の形態と同様に、ｍビットの入力データをｎ（＝ｍ−２）ビットの出力データに丸め処理を行う場合について説明する。
【００４５】
まず、乱数生成部１２が乱数を生成し（ステップＳ２１）、丸め演算部１１は、ｍビットの入力データと、乱数生成部１２が生成した乱数を取得（ステップＳ２２）する。
【００４６】
次に、入力データの小数部ビットと取得した乱数から繰り上がり量を算出する（ステップＳ２３）。第２の実施の形態では、図６に示すような装置内に記憶されたテーブルを用いて繰り上げ制御を行う。図６に示すように、下位２ビットが１０であり、かつ取得した乱数が１１のとき、及び下位２ビットが１１であり、かつ取得した乱数が１０又は１１のときに繰り上がり量が＋１となり、それ以外の場合は繰り上がり量は０となる。
【００４７】
最後に、丸め演算部１１は、ｍビットの入力データから小数部である下位２ビットを切り捨ててｎビットのデータとし、最下位ビットに繰り上がり量を加算し、出力する（ステップＳ２４）。
【００４８】
このように、取得した乱数を小数部に加算するのではなく、取得した乱数と小数部との対応によって繰り上がりを制御することも可能である。この場合は、図６のようなテーブルを用いて演算を行う。テーブルの内容は図６に限られるものではない。このようなテーブルを用いることで、繰り上がりの割合をそれぞれ個別に設定できるという利点がある。また、乱数のビット数を丸められるビット数より多くしてもよい。
【００４９】
＜第３の実施の形態＞
第３の実施の形態の丸め処理について説明する。図７は、第３の実施の形態の丸め処理について示したブロック図である。なお、図１のブロック図と共通する部分には同一の符号を付し、その詳細な説明は省略する。図７に示すように、本実施の形態では、階調変換処理部３４が階調変換処理を行ったデータについて丸め演算を行い、演算結果を同時化回路３５へ出力する。
【００５０】
図８は、第３の実施の形態の丸め処理動作について示したフローチャートである。なお、図２のフローチャートと共通する部分には同一の符号を付し、その詳細な説明は省略する。
【００５１】
まず、階調変換処理部３４が入力データに対して階調変換処理を行う（ステップＳ８１）。階調変換処理は、入力データの階調特性を変化させる処理である。階調変換処理は、所望のｎビットよりも大きいｍビットで出力する。
【００５２】
次に、乱数生成部１２が乱数を生成する（ステップＳ２１）。丸め演算部１１は、階調変換処理されたｍビットの入力データと乱数生成部１２が生成した乱数を取得し（ステップＳ２２）、第１の実施の形態と同様に、入力データの小数部ビットと取得した乱数から繰り上がり量を算出する（ステップＳ２３）。最後に、入力データから小数部ビットを切り捨て、切り捨て後の最下位ビットに繰り上がり量を加算し、データの丸め処理を終了する（ステップＳ２４）。この処理を、全ての画素のデータについて行う。
【００５３】
図９（ａ）は、階調変換処理における入力データと出力データの関係を示した図である。図９（ａ）に示すように、階調特性はハイライトになるにつれて（入力値が大きくなるにつれて）変化率が下がり、元の階調を保持しにくくなる。図９（ｂ）は、階調変換処理を所望のｎビットで出力した場合の、このハイライト部の入力データと出力データの関係を拡大して示した図である。このように、階段状の出力となってしまう。出力のビット精度を増やせばこの問題は緩和されるが、後段の処理のビット数が増えるため、回路規模の増大を招いてしまう。また画像フォーマットの規格上、出力が８ビットに制限される場合もある。
【００５４】
図９（ｃ）は、階調変換処理において所望のｎビットよりも大きいｍビットで出力し、本発明の方式によりｎビットに丸め処理を行った場合の、ハイライト部の入力データと出力データの関係を拡大して示した図である。このように、ｍビットの階調を保持したままｎビットの出力を得ることができる。
【００５５】
＜第４の実施の形態＞
第４の実施の形態の丸め処理について説明する。図１０は、第４の実施の形態の丸め処理について示したブロック図である。なお、図７のブロック図と共通する部分には同一の符号を付し、その詳細な説明は省略する。図７に示すブロック図とは、パラメータ取得部２２及び乱数制御部１３を備えたところが異なっている。
【００５６】
図１１は、第４の実施の形態の丸め処理動作について示したフローチャートである。なお、図８のフローチャートと共通する部分には同一の符号を付し、その詳細な説明は省略する。
【００５７】
まず、パラメータ取得部２２が擬似階調を加える程度を示すパラメータ値を取得する(ステップＳ１１１)。階調変換処理部３４は、パラメータ取得部２２が取得したパラメータ値に基づいて階調変換処理の出力精度、即ち出力データのビット数ｍを決定する（ステップＳ１１２）。
【００５８】
第３の実施の形態で説明したように、本発明の丸め処理においては、余分な精度が多ければ多いほど、即ち丸め演算部１１の丸めるビット数（ｍ−ｎ）が大きいほど擬似階調の精度が高くなる。しかし余分な精度を出す場合には、演算量が増加するなどの問題がある。また、場合によっては擬似階調の効果が必要でないこともある。例えば、高感度で撮影されたためノイズが多く、元々のデータがばらついている場合等が考えられる。これらを考慮して、階調変換処理の出力精度を決定する。このように決定した出力精度に基づいて、入力データに対して階調変換処理を行う（ステップＳ８１）。
【００５９】
次に、乱数生成部１２が乱数を生成する（ステップＳ２１）。乱数制御部１３は、乱数生成部１２が生成した乱数について、丸め演算部１１に入力されたデータのビット数ｍと、丸め演算部１１が出力すべきデータのビット数ｎから、小数部（ｍ−ｎ）に応じたビット数に制御する（ステップＳ１１３）。具体的には、乱数生成部１２が生成した乱数に対して、一定の値を減算したり値を右シフトしたりすることで、乱数のビット数を減少させる。
【００６０】
次に、丸め演算部１１は、入力されたデータと乱数制御部１３が制御した乱数を取得し（ステップＳ２２）、第１の実施の形態と同様に、入力データの小数部ビットと取得した乱数から繰り上がり量を算出する（ステップＳ２３）。繰り上げ制御を行った後、入力データから小数部ビットを切り捨て、切り捨て後の最下位ビットに繰り上がり量を加算し、データの丸め処理を終了する（ステップＳ２４）。この処理を、全ての画素のデータについて行う。
【００６１】
このように、擬似階調の必要度をパラメータ値として入力することで、状況に応じた擬似階調生成処理を行うことができる。これによって、余分な演算量の増加や出力データのばらつきを抑え、最適に処理を行うことができる。
【００６２】
＜第５の実施の形態＞
第５の実施の形態の丸め処理について説明する。図１２は、第５の実施の形態の丸め処理について示したブロック図である。なお、図１のブロック図と共通する部分には同一の符号を付し、その詳細な説明は省略する。図１２に示すように、本実施の形態では、ノイズ低減処理部３７がノイズ低減処理を行った輝度信号Ｙ及び色差信号Ｃｒ、Ｃｂについて丸め演算を行い、演算結果を輪郭補正回路３８及び色差マトリクス回路３９へ出力する。
【００６３】
図１３は、第３の実施の形態の丸め処理動作について示したフローチャートである。なお、図２のフローチャートと共通する部分には同一の符号を付し、その詳細な説明は省略する。
【００６４】
まず、ノイズ低減処理部３７が入力データに対してノイズ低減処理を行う（ステップＳ１３１）。ノイズ低減処理は、画像上のノイズを除去するために使われる処理であり、処理後の精度を余分に持たせたビット数で出力する。
【００６５】
次に、乱数生成部１２が乱数を生成する（ステップＳ２１）。丸め演算部１１は、ノイズ低減処理が施されたデータと乱数生成部１２が生成した乱数を取得し（ステップＳ２２）、入力データの小数部ビットと取得した乱数から繰り上がり量を算出する（ステップＳ２３）。最後に、入力データから小数部ビットを切り捨て、切り捨て後の最下位ビットに繰り上がり量を加算し、データの丸め処理を終了する（ステップＳ２４）。この処理を、全ての画素のデータについて行う。
【００６６】
ローパスフィルタ等によって画像のノイズを低減する処理を行うと、高周波信号がなくなり、低周波信号のみ残ることとなる。これが斑状のむらとなって現れるという問題点がある。一般的なフィルタ処理を例に挙げると、（１）カーネル内の画素毎に重みを割り当てて画素値と乗算、（２）それらの総和をとる、（３）カーネル内の画素数で割る、ことによって重み付け平均を求めている。このとき、（３）で丸め処理を行うことによって、（２）を演算した時点で持っている階調を失うことが斑状のむらの原因となることがある。
【００６７】
これに対して、ノイズ低減後の丸め処理（３）を本方式で行うことにより高周波信号が生まれ、斑状ノイズを抑制することができる。また丸め前の階調を擬似的に出すことができるため、巨視的に見た場合に低周波の階調を表現することができる。
【００６８】
図１４（ａ）は、切り捨て処理を行って丸め処理を行った場合の処理前後の信号を示した図であり、図１４（ｂ）は、本発明の丸め処理を行った場合の処理前後の信号を示した図である。このように、低周波ノイズを目立たなくすることができる。
【００６９】
本実施の形態の丸め処理で扱うデータは、色差信号Ｃｒ、Ｃｂだけであってもよい。色差信号Ｃｒ、Ｃｂのノイズ低減を行う場合には、色の変化には鈍感であるという人間の知覚特性を利用して、強力なノイズ低減をかけることがある。その際、高周波信号のみ除去され低周波のむらが残りやすくなってしまう。また色信号のむらは色づきとなって見えてしまうため、さらに知覚されやすくなる。よって、本実施の形態の処理は、色差信号Ｃｒ、Ｃｂに用いることにより、より効果を得ることができる。
【００７０】
＜第６の実施の形態＞
第６の実施の形態の丸め処理について説明する。図１５は、第６の実施の形態の丸め処理について示したブロック図である。なお、図１２のブロック図と共通する部分には同一の符号を付し、その詳細な説明は省略する。図１２に示すブロック図とは、パラメータ設定取得部２４及び乱数制御部１３を備えたところが異なっている。
【００７１】
また図１６は、第６の実施の形態の丸め処理動作について示したフローチャートである。なお、図１３のフローチャートと共通する部分には同一の符号を付し、その詳細な説明は省略する。
【００７２】
まず、パラメータ設定取得部２４がノイズ低減の強弱を示すパラメータ値を取得する(ステップＳ１６１)。次に、ノイズ低減処理部３７が、入力データに対してノイズ低減処理を行う（ステップＳ１３１）。これまでと同様に、ノイズ低減処理部３７は、所望ビット数よりも精度の多いビット数で出力する。
【００７３】
次に、乱数生成部１２が乱数を生成する（ステップＳ２１）。また、乱数制御部１３は、パラメータ設定取得部２４から得られたパラメータ値に基づいて、ノイズ低減が強いか否かを判定する（ステップＳ１６２）。ノイズ低減が弱いと判断されると、乱数制御部１３は、乱数生成部１２が生成した乱数のビット数を減少させる（ステップＳ１６３）。逆にノイズ低減が強いと判断すると、乱数制御部１３は、乱数生成部１２が生成した乱数をそのまま使用する（ステップＳ１６４）。
【００７４】
これは、ノイズ低減処理が弱く出力に高周波の信号が残っている場合は、斑状のむらは知覚されづらいので、ノイズ低減効果が弱いパラメータの場合は、乱数のビット数を抑えることで処理後のデータのばらつきを少なくし、無駄なノイズを増加させないようにするためである。乱数制御部１３は、乱数生成部１２が生成した乱数に対して、このパラメータ値に基づいて一定の値を減算したり右シフトしたりすることで、乱数のビット数を減少させる。
【００７５】
次に、丸め演算部１１は、入力されたデータと乱数制御部１３が制御した乱数を取得し（ステップＳ２２）、入力データの小数部ビットと取得した乱数を加算して繰り上がり量を算出する（ステップＳ２３）。入力データから小数部ビットを切り捨て、切り捨て後の最下位ビットに繰り上がり量を加算し、データの丸め処理を終了する（ステップＳ２４）。この処理を、全ての画素のデータについて行う。
【００７６】
ここで、乱数のビット数を減少させた場合の丸め処理について、図２６を用いて説明する。図２６は、丸められる小数部のビット数より乱数のビット数のほうが小さい場合の丸め処理の動作について示したフローチャートである。ここでは、丸められる小数部のビット数を６ビット、乱数制御部によりビット数を制御された乱数が２ビットの場合について説明する。
【００７７】
まず、入力データと乱数を取得する（ステップＳ２６１、ステップＳ２６２）。次に、入力データから丸められる小数部の６ビットを取得し（ステップＳ２６３）、乱数のビット数と合わせるために小数部の下位４ビットを切り捨てる（ステップＳ２６４）。このようにビット数を揃えてから、小数部と乱数を加算し、繰り上がり量を算出する（ステップＳ２６５）。そして、入力データから丸められる小数部を切り捨て（ステップＳ２６６）、入力データに繰り上がり量を加算する（ステップＳ２６７）。このように、乱数のビット数のほうが少ない場合は、小数部を乱数のビット数に合わせて切り捨てる。なお、乱数制御部が発生した乱数をそのまま使用するときは、これまでと同様に繰り上がり量を算出する。
【００７８】
このように、ノイズ低減効果をパラメータ値として入力することで、状況に応じた擬似階調生成処理を行うことができる。これによって、余分な演算量の増加や出力データのばらつきを抑え、最適に処理を行うことができる。
【００７９】
＜第７の実施の形態＞
第７の実施の形態の丸め処理について説明する。図１７は、第７の実施の形態の丸め処理について示したブロック図である。なお、図１５のブロック図と共通する部分には同一の符号を付し、その詳細な説明は省略する。図１５に示すブロック図とは、パラメータ設定取得部２４の代わりに、周辺画素データ算出部２５を備えたところが異なっている。
【００８０】
次に、第７の実施の形態の丸め処理動作について説明する。第７の実施の形態では、第５の実施の形態と同様に、ノイズ低減処理部３７がノイズ低減処理を行ったデータについて丸め処理を行う。図１８は、第７の実施の形態の丸め処理動作について示したフローチャートである。なお、図１６のフローチャートと共通する部分には同一の符号を付し、その詳細な説明は省略する。
【００８１】
まず、ノイズ低減処理部３７が、入力データに対してノイズ低減処理を行う（ステップＳ１３１）。これまでと同様に、ノイズ低減処理部３７は、所望のビット数よりも精度の多いビット数で出力する。このノイズ低減処理が行われたデータを用いて、周辺画素データ算出部２５が、画像の平坦度を算出する（ステップＳ１８１）。画像の平坦度は、周辺画素における分散値や最大最小差分値等から算出する。
【００８２】
次に、乱数生成部１２が乱数を生成する（ステップＳ２１）。乱数制御部１３は、周辺画素データ算出部２５から得られた画像の平坦度に基づいて、画像が平坦であるか否かを判定する（ステップＳ１８２）。
【００８３】
画像が平坦でないと判断すると、乱数制御部１３は、乱数生成部１２が生成した乱数のビット数を減少させる（ステップＳ１６３）。逆に画像が平坦であると判断すると、乱数制御部１３は、乱数生成部１２が生成した乱数をそのまま使用する（ステップＳ１６４）。
【００８４】
斑状のノイズは、画像データが緩やかで平坦な箇所に現れるという特徴を考慮し、周辺画素が平坦である場合は、斑状のむらを抑制するために第５の実施の形態の方式をそのまま行う。また、周辺画素が平坦でない場合は、乱数の精度を抑えることで処理後のデータのばらつきを少なくし、無駄なノイズを増加させないようにする。乱数制御部１３は、乱数生成部１２が生成した乱数に対して、画像の平坦度に基づいて一定の値を減算したり値を右シフトしたりすることで、乱数のビット数を減少させる。
【００８５】
次に、丸め演算部１１は、入力されたデータと乱数制御部１３が制御した乱数を取得し（ステップＳ２２）、入力データの小数部ビットと取得した乱数を加算して繰り上がり量を算出する（ステップＳ２３）。繰り上がり制御を行った後、入力データから小数部ビットを切り捨て、切り捨て後の最下位ビットに繰り上がり量を加算し、データの丸め処理を終了する（ステップＳ２４）。この処理を、全ての画素のデータについて行う。なお、乱数のビット数のほうが少ない場合は、第６の実施の形態と同様に丸め処理を行う。
【００８６】
このように、周辺画素の平坦度によって乱数の精度を制御することで、状況に応じた擬似階調生成処理を行うことができる。これによって、余分な演算量の増加や出力データのばらつきを抑え、最適に処理を行うことができる。
【００８７】
＜第８の実施の形態＞
第８の実施の形態の丸め処理について説明する。図１９は、第８の実施の形態の丸め処理について示したブロック図である。なお、図１２のブロック図と共通する部分には同一の符号を付し、その詳細な説明は省略する。図１２に示すブロック図とは、ノイズ低減処理部３７の位置が異なっている。
【００８８】
次に、第８の実施の形態の丸め処理動作について説明する。図２０は、第８の実施の形態の丸め処理について示したフローチャートである。なお、図１３のフローチャートと共通する部分には同一の符号を付し、その詳細な説明は省略する。図１３に示すフローチャートとは、ノイズ低減処理を行う位置が異なっている。第８の実施の形態では、ノイズ低減処理を行う前のデータに対して丸め処理を行う。
【００８９】
まず、乱数生成部１２が乱数を生成する（ステップＳ２１）。次に、丸め演算部１１は、入力されたｍビットのデータと乱数生成部１２が生成した乱数を取得し（ステップＳ２２）、入力データの小数部ビットと取得した乱数を加算して繰り上がり量を算出する（ステップＳ２３）。繰り上がり制御を行った後、入力データから小数部ビットを切り捨て、切り捨て後の最下位ビットに繰り上がり量を加算し、データの丸め処理を終了する（ステップＳ２４）。
【００９０】
このｎビットのデータをノイズ低減処理部３７によりノイズ低減処理を行い（ステップＳ１３１）、処理を終了する。この動作を、全ての画素のデータについて行う。
【００９１】
ノイズ低減があまり強くない場合には低周波信号以外にも高周波のノイズが残りやすく、斑状のむらが発生しにくいため、ノイズ低減後にばらつきを与える必要がない。よって、本実施の形態のようにノイズ低減前に前もって擬似階調を与えておくことで、ノイズ低減後のノイズを増加させないようにすることができる。
【００９２】
＜第９の実施の形態＞
第９の実施の形態の丸め処理について説明する。図２１は、第９の実施の形態の丸め処理について示したブロック図である。なお、図１５のブロック図と共通する部分には同一の符号を付し、その詳細な説明は省略する。図１５に示すブロック図とは、第１丸め演算部１１−１と第２丸め演算部１１−２の２つを備えたところが異なっている。
【００９３】
次に、第９の実施の形態の丸め処理動作について説明する。図２２は、第９の実施の形態のノイズ低減の動作について示したフローチャートである。なお、図１６のフローチャートと共通する部分には同一の符号を付し、その詳細な説明は省略する。
【００９４】
まず、パラメータ設定取得部２４がノイズ低減の強弱を示すパラメータ値を取得する(ステップＳ１６１)。次に乱数制御部１３が、パラメータ設定取得部２４から得られたパラメータ値に基づいて、ノイズ低減が強いか否かを判定する（ステップＳ１６２）。
【００９５】
まず、ノイズ低減が強いと判断した場合について説明する。高感度で撮影された等によりノイズ低減が強い場合は、乱数制御部１３は、第１丸め演算部１１−１に乱数を与えない。即ち、第１丸め演算部１１−１は、入力されたｍビットのデータを切り捨て制御によりｎビットのデータに丸め処理を行う（ステップＳ２２１−１）。この場合の丸め処理は四捨五入を行ってもよい。次に、このｎビットのデータに対して、ノイズ低減処理部３７がノイズ低減処理を行う（ステップＳ１３１−１）。ノイズ低減処理後のデータは、ｍ’ビットで出力される。
【００９６】
次に、乱数生成部１２が、乱数を生成する（ステップＳ２１−１）。乱数制御部１３は、この取得した乱数とノイズ低減処理されたｍ’ビットの入力データを第２丸め演算部１１−２に取得させる（ステップＳ２２−１）。第２丸め演算部１１−２は、入力データの小数部ビットと取得した乱数を加算して繰り上がり量を算出し（ステップＳ２３−１）、下位（ｍ’−ｎ’）ビットを切り捨て、切り捨て後の最下位ビットに繰り上がり量を加算し、ｎ’ビットのデータを生成し、処理を終了する（ステップＳ２４−１）。この処理を、全ての画素のデータについて行う。
【００９７】
次に、ノイズ低減が弱いと判断した場合について説明する。低感度で撮影された等によりノイズ低減が弱い場合は、まず乱数生成部１２が、乱数を生成し（ステップＳ２１−２）、乱数制御部１３は、この取得した乱数とｍビットの入力データを第１丸め演算部１１−１に取得させる（ステップＳ２２−２）。第１丸め演算部１１−１は、入力データの小数部ビットと取得した乱数を加算して繰り上がり量を算出し（ステップＳ２３−２）、小数部となる下位（ｍ−ｎ）ビットを切り捨て、切り捨て後の最下位ビットに繰り上がり量を加算し、ｎビットのデータを生成し、処理を終了する（ステップＳ２４−２）。
【００９８】
ノイズ低減処理部３７は、このｎビットのデータに対してノイズ低減処理を行う（ステップＳ１３１−２）。ノイズ低減処理後のデータは、ｍ’ビットで出力される。また乱数制御部１３は、第２丸め演算部１１−２に乱数を与えず、第２丸め演算部１１−２は、入力されたｍ’ビットのデータを切り捨て制御によりｎ’ビットのデータに丸め処理を行い（ステップＳ２２１−１）、処理を終了する。先ほどと同様に、この場合の丸め処理は四捨五入を行ってもよい。この処理を、全ての画素のデータについて行う。
【００９９】
このように、乱数制御部１３がノイズ低減の強さによって擬似階調を与える位置をノイズ低減前及びノイズ低減後から選択することにより、ノイズ低減処理に応じて適切な擬似階調生成処理を行うことができる。ノイズ低減処理が強い場合は、低周波むらが発生しやすいため、ノイズ低減後に擬似階調を生成することにより、擬似階調が残り、階調性がよくなる。またノイズ低減処理が弱い場合は、低周波むらが発生しにくいため、ノイズ低減前に擬似階調を生成することにより、無駄なノイズの増加を抑えることができる。
【０１００】
本実施の形態では、第１丸め演算部１１−１及び第２丸め演算部１１−２のいずれか一方において、乱数を用いた丸め処理を行ったが、両方において乱数を用いた丸め処理を行ってもよい。この場合は、乱数制御部１３により、それぞれに異なる乱数を与えてもよい。
【０１０１】
第３〜第９の実施の形態の丸め処理おいては、取得した乱数と入力データを加算して繰り上げ制御を行ったが、第２の実施の形態のようにテーブルを用いてもよい。
【図面の簡単な説明】
【０１０２】
【図１】図１は、本発明に係る第１の実施の形態の丸め処理について示したブロック図である。
【図２】図２は、第１の実施の形態の丸め処理動作について示したフローチャートである。
【図３】図３は、取得した乱数と、丸め処理される下位２ビットを加算した場合における繰り上がりを示した図である。
【図４】図４は、丸められる値と繰り上がる確率について示した図である。
【図５】図５は、丸め処理前後のデータを示す図である。
【図６】図６は、第２の実施の形態の丸め処理で用いるテーブルを示した図である。
【図７】図７は、第３の実施の形態の丸め処理について示したブロック図である。
【図８】図８は、第３の実施の形態の丸め処理動作について示したフローチャートである。
【図９】図９は、階調変換処理前後における入力データと出力データを示す図である。
【図１０】図１０は、第４の実施の形態の丸め処理について示したブロック図である。
【図１１】図１１は、第４の実施の形態の丸め処理動作について示したフローチャートである。
【図１２】図１２は、第５の実施の形態の丸め処理について示したブロック図である。
【図１３】図１３は、第５の実施の形態の丸め処理動作について示したフローチャートである。
【図１４】図１４は、丸め処理前後のデータを示した図である。
【図１５】図１５は、第６の実施の形態の丸め処理について示したブロック図である。
【図１６】図１６は、第６の実施の形態の丸め処理動作について示したフローチャートである。
【図１７】図１７は、第７の実施の形態の丸め処理について示したブロック図である。
【図１８】図１８は、第７の実施の形態の丸め処理動作について示したフローチャートである。
【図１９】図１９は、第８の実施の形態の丸め処理について示したブロック図である。
【図２０】図２０は、第８の実施の形態の丸め処理動作について示したフローチャートである。
【図２１】図２１は、第９の実施の形態の丸め処理について示したブロック図である。
【図２２】図２２は、第９の実施の形態の丸め処理動作について示したフローチャートである。
【図２３】図２３は、従来の方式により丸め処理を行った場合の入力データと出力データを示した図である。
【図２４】図２４は、高周波ノイズを低減した場合の低周波信号が残留を示す図である。
【図２５】図２５は、画像処理装置１の主要構成部であるデジタル信号処理部３０の内部構成を示すブロック図である。
【図２６】図２６は、丸められる小数部のビット数より乱数のビット数のほうが小さい場合の丸め処理の動作について示したフローチャートである。
【符号の説明】
【０１０３】
１１…丸め演算部、１２…乱数生成部、１３…乱数制御部、２２…パラメータ取得部、２４…パラメータ設定取得部、２５…周辺画素データ算出部、３４…階調変換処理部、３７…ノイズ低減処理部、３９…色差マトリクス回路
【図１】
2009010489.tif 000003
【図２】
2009010489.tif 000004
【図３】
2009010489.tif 000005
【図４】
2009010489.tif 000006
【図５】
2009010489.tif 000007
【図６】
2009010489.tif 000008
【図７】
2009010489.tif 000009
【図８】
2009010489.tif 000010
【図９】
2009010489.tif 000011
【図１０】
2009010489.tif 000012
【図１１】
2009010489.tif 000013
【図１２】
2009010489.tif 000014
【図１３】
2009010489.tif 000015
【図１４】
2009010489.tif 000016
【図１５】
2009010489.tif 000017
【図１６】
2009010489.tif 000018
【図１７】
2009010489.tif 000019
【図１８】
2009010489.tif 000020
【図１９】
2009010489.tif 000021
【図２０】
2009010489.tif 000022
【図２１】
2009010489.tif 000023
【図２２】
2009010489.tif 000024
【図２３】
2009010489.tif 000025
【図２４】
2009010489.tif 000026
【図２５】
2009010489.tif 000027
【図２６】
2009010489.tif 000028