(57)【要約】【課題】デジタル画像処理システムにおいて、画像処理による画質の劣化を避けつつ、画像データの増大を防ぐ。【解決手段】Ｍ個（Ｍは２以上の整数）の画素を有する画素領域内の各画素値をＮビット（Ｎは正の整数）で、２Nステップのデータに量子化するデジタル画像処理装置であって、画素領域全体のデータの小数点以下の値の確率で、Ｍ個の画素の内の各画素値を１増加又は減少させることにより、画素領域全体のデータの小数点以下の値を表現する。【選択図】      図２
2005086551.tif 000002
【特許請求の範囲】
【請求項１】
Ｍ個（Ｍは２以上の整数）の画素を有する画素領域内の各画素値をＮビット（Ｎは正の整数）で、２Nステップのデータに量子化するデジタル画像処理装置であって、
前記画素領域全体のデータの小数点以下の値の確率で、前記Ｍ個の画素の内の各画素値を１増加又は減少させることにより、前記画素領域全体のデータの小数点以下の値を表現することを特徴とするデジタル画像処理装置。
【請求項２】
１からＭステップ、又は１からＭ／整数ステップまでの乱数と前記画素領域全体のデータの小数点以下の値を比較し、前記乱数が前記小数点以下の値よりも小さい場合に、前記画素値を１増加又は減少させることを特徴とする請求項１に記載のデジタル画像処理装置。
【請求項３】
デジタル画像の所定領域内の画素データから、画素データの量子化ステップよりも高い精度を持つレベルシフト値を求めるレベルシフト装置であって、
前記レベルシフト値の量子化ステップ未満の部分に応じた確率で画素データから量子化の１ステップ分を加算もしくは減算することを特徴とするレベルシフト装置。
【請求項４】
前記レベルシフト値の量子化ステップ未満の部分と、一様な乱数とを比較することで前記量子化ステップ未満の部分に応じた確率で画素データから量子化の１ステップ分を加算もしくは減算することを特徴とする請求項３に記載のレベルシフト装置。
【請求項５】
画像データの量子化ステップよりも高い精度でクランプレベルを算出するデジタルクランプ装置であって、
前記クランプレベルの量子化ステップ未満のデータに応じた確率で、画素データから量子化の１ステップ分を減算することを特徴とするデジタルクランプ装置。
【請求項６】
前記クランプレベルの量子化ステップ未満のデータと、一様な乱数とを比較することで、前記量子化ステップ未満のデータに応じた確率で画素データから量子化の１ステップ分を減算することを特徴とする請求項５に記載のデジタルクランプ装置。
【請求項７】
Ｍ個（Ｍは２以上の整数）の画素を有する画素領域内の各画素値をＮビット（Ｎは正の整数）で、２Nステップのデータに量子化するデジタル画像処理方法であって、
前記画素領域全体のデータの小数点以下の値の確率で、前記Ｍ個の画素の内の各画素値を１増加又は減少させることにより、前記画素領域全体のデータの小数点以下の値を表現することを特徴とするデジタル画像処理方法。
【請求項８】
１からＭステップ、又は１からＭ／整数ステップまでの乱数と前記画素領域全体のデータの小数点以下の値を比較し、前記乱数が前記小数点以下の値よりも小さい場合に、前記画素値を１増加又は減少させることを特徴とする請求項７に記載のデジタル画像処理方法。
【請求項９】
デジタル画像の所定領域内の画素データから、画素データの量子化ステップよりも高い精度を持つレベルシフト値を求めるレベルシフト方法であって、
前記レベルシフト値の量子化ステップ未満の部分に応じた確率で画素データから量子化の１ステップ分を加算もしくは減算することを特徴とするレベルシフト方法。
【請求項１０】
前記レベルシフト値の量子化ステップ未満の部分と、一様な乱数とを比較することで前記量子化ステップ未満の部分に応じた確率で画素データから量子化の１ステップ分を加算もしくは減算することを特徴とする請求項９に記載のレベルシフト方法。
【請求項１１】
画像データの量子化ステップよりも高い精度でクランプレベルを算出するデジタルクランプ方法であって、
前記クランプレベルの量子化ステップ未満のデータに応じた確率で、画素データから量子化の１ステップ分を減算することを特徴とするデジタルクランプ方法。
【請求項１２】
前記クランプレベルの量子化ステップ未満のデータと、一様な乱数とを比較することで、前記量子化ステップ未満のデータに応じた確率で画素データから量子化の１ステップ分を減算することを特徴とする請求項１１に記載のデジタルクランプ方法。
【請求項１３】
請求項７又は８に記載のデジタル画像処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１４】
請求項９又は１０に記載のレベルシフト方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１５】
請求項１１又は１２に記載のデジタルクランプ方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１６】
請求項１３に記載のプログラムをコンピュータ読み取り可能に記憶したことを特徴とする記憶媒体。
【請求項１７】
請求項１４に記載のプログラムをコンピュータ読み取り可能に記憶したことを特徴とする記憶媒体。
【請求項１８】
請求項１５に記載のプログラムをコンピュータ読み取り可能に記憶したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルカメラ、デジタルビデオカメラ等にデジタル画像処理技術に関するものである。
【背景技術】
【０００２】
従来、デジタルスチルカメラ等の画像処理回路は、図１に示した様な構成となっている。図１において、被写体像は主撮影光学系１０２及び１０３を通して撮像素子１０４上に結像し、この撮像素子１０４からの電気信号が、ＣＤＳ／ＡＧＣ回路に入力され、既知の相関二重サンプリング等の方法で信号に含まれるリセットノイズが除去され、Ａ／Ｄ変換回路１０６に入力され、画素毎に順々に所定のビット幅を持ったデジタル信号に変換される。
【０００３】
Ａ／Ｄ変換回路１０６からの出力は、全体制御ＣＰＵ１００からの信号に基づいて信号の選択を行うセレクタ１０９を介してメモリコントローラ１１５に入力され、ここでフレームメモリ１１６に全ての信号出力が転送される。従って、この場合撮影フレーム毎の画素データは、一旦全てフレームメモリ１１６内に記憶されるため、連写撮影等の場合は全てフレームメモリ１１６への書き込み動作となる。
【０００４】
撮影動作終了後は、メモリコントローラ１１５の制御により、撮影データを記憶しているフレームメモリ１１６の内容が、セレクタ１０９を介してカメラＤＳＰ１１０へ転送される。このカメラＤＳＰ１１０では、フレームメモリに記憶されている各撮影データの各画素データを基にＲＧＢの各色信号を生成する。
【０００５】
通常、撮影前の状態では、この結果をビデオメモリ１１１に定期的(フレーム毎)に転送することで、モニタ表示手段１１２を介してファインダー表示等を行っている。
【０００６】
一方、カメラ操作スイッチ１０１の操作により、撮影動作を撮影者自身が行った場合には、全体制御ＣＰＵ１００からの制御信号によって、１フレーム分の各画素データがフレームメモリ１１６から読み出され、カメラＤＳＰ１１０で画像処理されてから一旦ワークメモリ１１３に記憶される。
【０００７】
続いて、ワークメモリ１１３のデータが圧縮・伸張手段１１４で所定の圧縮フォーマットに基づき圧縮され、その結果が外部不揮発性メモリ１１７(通常フラッシュメモリー等の不揮発性メモリを使用)に記憶される。
【０００８】
又、逆に撮影済みの画像データを観察する場合には、上記外部メモリに圧縮記憶されたデータが、圧縮・伸張手段１１４を通して通常の撮影画素毎のデータに伸張され、その結果がビデオメモリ１１１へ転送されることで、画像がモニタ表示手段１１２に表示される。
【０００９】
この様に、通常のデジタルカメラでは、撮像素子１０４からの出力が、ほぼリアルタイムでプロセス処理回路を通して実際の画像データに変換され、その結果がメモリ又はモニタ回路へ出力される構成となっている。
【特許文献１】特開平９−２８４５９５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
以上の様なデジタルカメラシステムにおいて、Ａ／Ｄ変換後の画像データは黒レベルが通常ゼロになっておらず、黒レベルをゼロにするためにはカメラＤＳＰ等において画像データ全体から一定値を減算するオフセット補正や、デジタルＯＢクランプ等のデジタル画像処理を行わなければならない。従来は、カメラＤＳＰ等のデジタル画像処理において、加減算をＡ／Ｄ変換回路の量子化ステップの精度で行っており、黒レベルを再生する精度が悪かったり、画像の横１ライン毎に異なったクランプレベルでデジタルＯＢクランプを行う際にクランプレベルが量子化ステップの精度しかないために、量子化ステップ分の横線ノイズが発生してしまったりしていた。
【００１１】
近年、デジタルカメラやデジタル画像処理の普及とともに、デジタル画像処理のアルゴリズムの高度化、複雑化が進んでいるが、画像処理が複雑になればなるほど上記の例のように量子化誤差（ノイズ）の蓄積は避けられない問題であり、画質に大きな影響を与える可能性がある。
【００１２】
従来、この対策として画像データのビット列の下位に０をつけ足したり、ビット列を左シフトする等の方法でビット数を拡張することで、量子化誤差の画質への影響を軽減していたが、この方法では画像データの容量や画像処理回路規模の増大、さらには画像処理スピードの低下を招き、年々増加する画像データの画素数とあいまって、設計を難しくしている。
【００１３】
さらに従来の技術では、特開平９−２８４５９５（特許文献１）のようにデジタル画像データからクランプレベルを量子化ステップ以下の精度で求め、Ｄ／Ａコンバーターでアナログ電圧値に直した後に、アナログ画像処理で量子化ステップ以下の精度のクランプを実現するものもあった。しかし、アナログ画像処理ではデジタル画像処理に比べると外からのノイズに対して本質的に弱いためにクランプ処理中にノイズが載ると画質に影響してしまい、アナログ回路部分でクランプが行われるために、画像処理の順序やクランプレベルを決定する際の自由度が低くなってしまう。
【００１４】
従って、本願発明は上述した課題に鑑みてなされたものであり、その目的は、デジタル画像処理システムにおいて、画像処理による画質の劣化を避けつつ、画像データの増大を防ぐことである。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するために、本発明に係わるデジタル画像処理装置は、Ｍ個（Ｍは２以上の整数）の画素を有する画素領域内の各画素値をＮビット（Ｎは正の整数）で、２Nステップのデータに量子化するデジタル画像処理装置であって、前記画素領域全体のデータの小数点以下の値の確率で、前記Ｍ個の画素の内の各画素値を１増加又は減少させることにより、前記画素領域全体のデータの小数点以下の値を表現することを特徴とする。
【００１６】
また、この発明に係わるデジタル画像処理装置において、１からＭステップ、又は１からＭ／整数ステップまでの乱数と前記画素領域全体のデータの小数点以下の値を比較し、前記乱数が前記小数点以下の値よりも小さい場合に、前記画素値を１増加又は減少させることを特徴とする。
【００１７】
また、本発明に係わるレベルシフト装置は、デジタル画像の所定領域内の画素データから、画素データの量子化ステップよりも高い精度を持つレベルシフト値を求めるレベルシフト装置であって、前記レベルシフト値の量子化ステップ未満の部分に応じた確率で画素データから量子化の１ステップ分を加算もしくは減算することを特徴とする。
【００１８】
また、この発明に係わるレベルシフト装置において、前記レベルシフト値の量子化ステップ未満の部分と、一様な乱数とを比較することで前記量子化ステップ未満の部分に応じた確率で画素データから量子化の１ステップ分を加算もしくは減算することを特徴とする。
【００１９】
また、本発明に係わるデジタルクランプ装置は、画像データの量子化ステップよりも高い精度でクランプレベルを算出するデジタルクランプ装置であって、前記クランプレベルの量子化ステップ未満のデータに応じた確率で、画素データから量子化の１ステップ分を減算することを特徴とする。
【００２０】
また、この発明に係わるデジタルクランプ装置において、前記クランプレベルの量子化ステップ未満のデータと、一様な乱数とを比較することで、前記量子化ステップ未満のデータに応じた確率で画素データから量子化の１ステップ分を減算することを特徴とする。
【００２１】
また、本発明に係わるデジタル画像処理方法は、Ｍ個（Ｍは２以上の整数）の画素を有する画素領域内の各画素値をＮビット（Ｎは正の整数）で、２Nステップのデータに量子化するデジタル画像処理方法であって、前記画素領域全体のデータの小数点以下の値の確率で、前記Ｍ個の画素の内の各画素値を１増加又は減少させることにより、前記画素領域全体のデータの小数点以下の値を表現することを特徴とする。
【００２２】
また、この発明に係わるデジタル画像処理方法において、１からＭステップ、又は１からＭ／整数ステップまでの乱数と前記画素領域全体のデータの小数点以下の値を比較し、前記乱数が前記小数点以下の値よりも小さい場合に、前記画素値を１増加又は減少させることを特徴とする。
【００２３】
また、本発明に係わるレベルシフト方法は、デジタル画像の所定領域内の画素データから、画素データの量子化ステップよりも高い精度を持つレベルシフト値を求めるレベルシフト方法であって、前記レベルシフト値の量子化ステップ未満の部分に応じた確率で画素データから量子化の１ステップ分を加算もしくは減算することを特徴とする。
【００２４】
また、この発明に係わるレベルシフト方法において、前記レベルシフト値の量子化ステップ未満の部分と、一様な乱数とを比較することで前記量子化ステップ未満の部分に応じた確率で画素データから量子化の１ステップ分を加算もしくは減算することを特徴とする。
【００２５】
また、本発明に係わるデジタルクランプ方法は、画像データの量子化ステップよりも高い精度でクランプレベルを算出するデジタルクランプ方法であって、前記クランプレベルの量子化ステップ未満のデータに応じた確率で、画素データから量子化の１ステップ分を減算することを特徴とする。
【００２６】
また、本発明に係わるデジタルクランプ方法において、前記クランプレベルの量子化ステップ未満のデータと、一様な乱数とを比較することで、前記量子化ステップ未満のデータに応じた確率で画素データから量子化の１ステップ分を減算することを特徴とする。
【００２７】
また、本発明に係わるプログラムは、上記の方法をコンピュータに実行させることを特徴とする。
【００２８】
また、本発明に係わる記憶媒体は、上記のプログラムをコンピュータ読み取り可能に記憶したことを特徴とする。
【発明の効果】
【００２９】
以上のように構成される本願発明によれば、デジタル画像データの一部もしくは全部の領域からある一定値を加減算する際、該領域内で誤差を拡散させることで、画像データを増大させること無く、領域全体で等価的に量子化ステップ以下の精度で加減算することができる。
【００３０】
また、上記の加減算方法をデジタルクランプに応用した時には、量子化誤差による横筋ノイズがなく、良好な画質を保ったままクランプ動作を行うことができる。
【００３１】
さらに、デジタル画像データのレベルシフトをする際に、画像データ容量を増大させること無く、画像データの量子化ステップより高い精度のレベルシフト値を加減算することができる。
【００３２】
また、画像データの量子化ステップよりも高い精度でクランプレベルを算出し、等価的に量子化ステップよりも高い精度でデジタルクランプを行うことができる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の好適な実施形態について説明する。
【００３４】
まず、本実施形態の概要について説明する。
【００３５】
本実施形態は、デジタルカメラ、デジタルビデオ等のデジタル画像処理装置において、高精度のデジタル画像処理を行うために量子化ビット数を多くとっていたり、画像データの量子化ステップよりも高精度のデジタル画像処理を行うことでビット幅が増加したりした場合で、画像処理後のデータをフレームメモリやメモリーカード等の記憶手段に記憶するときにはデータ量を減らす目的で画像データのビット幅を削減したい場合に、誤差拡散的な処理を行うことで削減するビットの情報の一部を保存し、ビット幅削減に伴う画質の劣化を抑制する方法に関するものである。
【００３６】
さらに、誤差拡散的な処理をすることで画像データのビット幅を増やさずに、画像データの量子化ステップよりも高精度のレベルシフト処理やデジタルクランプ処理を行う方法に関するものである。
【００３７】
本実施形態では、画素データの下位ビットを削減する際に、削減ずる下位ビットのデータに応じた確率で、削減後の画素データに量子化ステップを加算する。
【００３８】
例えば、削減する下位ビットのデータと同じビット幅を持つ一様な乱数を発生し、削減する下位ビットのデータと比較したとき、乱数のほうが小さいか等しければ量子化ステップを加算し、乱数のほうが大きければ量子化ステップを加算しないようにすれば、削減する下位ビットのデータに応じた確率で、削減後の画素データに量子化ステップを加算することが出来る。削減する下位ビットが４ビットで、２進数表現で「１０００」というデータならば、４ビットの一様な乱数と比較することで、５０%の確率で量子化ステップを加算する。
【００３９】
また、本実施形態の他の態様では、デジタル画像データのレベルシフトをする際、量子化ステップよりも高い精度のレベルシフト値の、量子化ステップ以上の部分は通常の加減算回路によってレベルシフトし、量子化ステップ未満の部分は、そのデータに応じた確率で量子化ステップを加減算することで、量子化ステップ以上の精度でレベルシフトをする。
【００４０】
例えば、１０bitの量子化ビット数を持つ画像データのある領域から量子化ステップ未満の桁として４bitを持つ１４bitの値を減算する際、量子化ステップ以上の１０bitに関しては画像データからそのまま減算し、量子化ステップ未満の４bitに関しては、その４bitの数字に応じた割合の画素を該当領域からランダムに選び出し、選んだ画素のみから量子化ステップの１bitを減算することで、その領域全体で見たときには等価的に１０bitの画像データから１４bitの値を減算することになる。この方法を用いると、画像データビット数をほとんど増やすことはないので、データ容量を増大させずに元画像データの量子化ステップ以下の精度で減算することが出来る。
【００４１】
また、本実施形態の他の態様では、デジタル画像データの量子化ステップより高い精度でクランプレベルを算出し、クランプレベルの量子化ステップ以上の部分は通常の整数減算回路にて減算し、クランプレベルの量子化ステップ未満のデータに応じた確率で、画素データから量子化ステップを減算することで、量子化ステップ以上の精度でクランプする。
【００４２】
例えば、１０bitの量子化ビット数を持つ画像データの黒レベル領域の平均値を整数部１０bit、小数部４bitの計１４bitで算出することで元画像データの量子化ステップよりも高い精度でクランプレベルを求め、クランプしたい画像領域から整数部１０bitを整数減算回路で減算し、クランプしたい画像領域の各画素から小数部４bitの値に応じた確率で量子化ビット数を減算することで、データ量の増大を招くことなく、元画像の量子化ステップよりも高い精度でデジタル的にクランプ処理することができる。
【００４３】
以下、本発明の実施形態について、図面を参照して具体的に説明する。
【００４４】
（第１の実施形態）
図２は本発明の第１の実施形態の原理を説明した図である。
【００４５】
図２（ａ）はデジタル画像データのある一部の領域（６×６ピクセル）を表した図である。マス（ピクセル）内の数字は画像データで画像の輝度を表しており、画像データの量子化ステップを、ＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）という単位を用いて１ＬＳＢと表し、画像データの量子化ビット数（量子化ステップ数）を一例として８ビットとすると、２５６段階の輝度レベル（たとえば０ＬＳＢ〜２５５ＬＳＢ）を表すことが出来る。すなわち図２（ａ）の画像は一様に５ＬＳＢという輝度を持つことになる。
【００４６】
このとき、この画像データ図２（ａ）から量子化ステップ（１ＬＳＢ）以下の精度で減算をしたものが図２（ｂ）となる。ここでは一例として０．２５ＬＳＢの減算をしている。
【００４７】
６×６＝３６ピクセルの画素のうち、その２５％にあたる９ピクセルの画素をランダムに選択し、そこから１ＬＳＢを減算するという誤差拡散的な処理をすることで、量子化ビット数を増やして画像データの増大を招くことなく、画像領域全体として０．２５ＬＳＢ分だけ輝度レベルが減ったように見えることになる。
【００４８】
図２の一つ一つの画素を見ると、ある画素の輝度レベルは変化しておらず、ある画素の輝度レベルは１ＬＳＢだけ減算されており、１つの画素では量子化ステップ以下の精度で減算したとは言えないが、注目している領域全体の平均輝度レベルを求めてみると、図２（ａ）は５ＬＳＢであり、図２（ｂ）は４．７５ＬＳＢとなる。そのため、領域全体として０．２５ＬＳＢ減算されており、画像として人間の目で見たときにも０．２５ＬＳＢ分だけ暗く見えるという効果をもつので、等価的に量子化ステップ（１ＬＳＢ）以下の精度で減算できたと言うことができる。
【００４９】
この領域全体としてみたときに高精度に画像の輝度レベルを操作しているように見える効果は、一般的に加減算の対象とする画像領域の画素数が大きくなればなるほど大きくなる。図２では画像領域を構成する全ての画素データが同じ、一様輝度画像の場合を説明したが、一様でない一般的な被写体の場合も同様に、等価的に量子化ステップ以下の精度で加減算ができる。
【００５０】
図３は本実施形態の回路構成の一例を示すブロック図である。
【００５１】
一例として、加減算する対象の領域の画像データが８ビット整数データであるとして、その画像データから整数部８ビット、小数点以下４ビットという計１２ビット精度のデータを減算する場合を挙げている。画像データと減算データの整数部は減算回路１０に入力され、整数演算で減算される。この減算の結果は、演算によるオーバーフローが無ければ８ビットとなり、演算前と同じである。演算によってオーバーフローが生じた場合は、符号ビットが１ビット付くことになる。ここでは符号ビットをｓであらわし、演算結果のビット数をｓ＋８ビットと表現している。減算データの小数部４ビットは、４ビット乱数発生回路１１によって発生した乱数とともに比較回路１２に入力される。４ビット乱数発生回路によって発生する乱数は、０ＬＳＢから１５ＬＳＢまでの値を取り、それぞれの値が略均等の確率で発生するものとする。
【００５２】
上記４ビット乱数発生回路は既知のＭ系列乱数発生回路でもかまわないし、画素データの下位１ビットは０と１とが均等に発生するノイズであるとみなして、注目画素近傍４画素のデータの下位１ビット部を４ビット乱数データの各ビットの値として１つの４ビット乱数とすることで、乱数を発生させてもかまわない。または、注目画素もしくは注目画素近傍の１画素の下位４ビットをほぼノイズデータであるとみなして、該４ビットから乱数を発生する方法もある。１０ビットや１２ビットといった多階調の画像データは、撮像素子やアナログ回路のノイズ、Ａ／Ｄ変換回路自身が発生するノイズ等によって、下位数ビット、特に下位１ビットはほとんどノイズ成分である場合が多く、上記のように画像データの下位ビットから乱数を発生させる方法は、略均一で好適な乱数を発生することができる。
【００５３】
比較回路では減算データの小数部Ａと４ビット乱数Ｂとを比較する。このとき、減算データの小数部Ａのほうが４ビット乱数Ｂよりも大きければ、比較回路１２の結果Ｙは１となり、ＢがＡよりも等しいか大きいならば、比較回路１２の結果Ｙは０となる。減算データの小数部４ビットＡが０ＬＳＢから１５ＬＳＢまでのいずれかの値を取ると表現すれば、４ビット乱数Ｂは０ＬＳＢから１５ＬＳＢの１６種類の値をランダムにとるので、比較回路１２の結果Ｙが１となる確率は、Ａ÷１６となる。つまり、減算データの小数点以下の数値で表される確率でＹが１となる。比較回路１２の結果Ｙは、減算回路１３に入力され、減算回路１０の結果からさらに減算されて次のブロックへと送られる。結局、減算データの小数部Ａで表される確率で、減算回路１０の出力から１が減算されることになり、加減算の対象とする領域の画像データ全体を見ると、等価的に画像データから減算データの整数部と小数部Ａが減算されたことになり、８ビット整数の画像データから、８ビット整数＋４ビット小数の、計１２ビット精度の減算データを減算できたことになる。
【００５４】
演算によるオーバーフローが無いとすると、元画像データの量子化ビット数と減算結果の量子化ビット数は等しく、画像データの増加無しに、画像データの量子化ステップよりも高い精度で減算できることになる。また、演算によるオーバーフローが生じた場合も、演算後の画像データの増加量は１ビットのみとなり、演算前の画像データ量からの増加量はわずかである。さらに、オーバーフロー分をクリップ回路等でクリップしてやれば演算前の画像データとデータ量は同じになり、画像データの増加無しに、画像データの量子化ステップよりも高い精度で減算ができる。この場合、クリップ回路による画像の劣化もわずかであると期待できる。
【００５５】
（第２の実施形態）
本発明の第２の実施形態として、量子化ステップ以下の精度での加減算をデジタル画像処理におけるクランプ動作に適用した場合を述べる。以下、このクランプ動作をデジタルクランプと呼ぶ。
【００５６】
図４はデジタルクランプの方法を説明するための取り込み画像の模式図である。
【００５７】
画像の左側にはオプティカルブラック（ＯＢ）領域があり、画像の黒レベルをあらわす。あるラインに注目したとき、このＯＢ領域の画素の平均値を取ったものをクランプレベルとし、このクランプレベルをライン内のすべての有効画素から減算するのがデジタルクランプである。
【００５８】
従来のデジタルクランプ動作は、減算の際に量子化ステップの精度でしか減算できなかったため、クランプ領域の平均値そのものは量子化ステップ以下の精度で算出できるが、減算の際にライン毎に量子化ステップ以上のレベルばらつきが生じてしまい、画像上で横筋模様のノイズとなって画質が劣化する問題があった。例えば、有効画素領域がすべて１０ＬＳＢというレベルを持っているときに、ライン１のクランプレベルが５ＬＳＢ、ライン２のクランプレベルが４ＬＳＢであると、デジタルクランプ後のライン１の有効画素は５ＬＳＢ、ライン２の有効画素は６ＬＳＢとなり、クランプ前の画像ではライン１とライン２の有効画素のレベルに差は無かったが、デジタルクランプによる量子化誤差ノイズによって、クランプ後は１ＬＳＢの差が出てしまう。
【００５９】
本実施形態の量子化ステップ以下の精度の加減算を用いると、デジタルクランプを行う際の量子化誤差ノイズを大幅に減らすことが可能である。例えば、０.１ＬＳＢの精度で加減算を行うと、量子化誤差ノイズは０.１ＬＳＢとなり、本実施形態を用いない場合と比べ０.９ＬＳＢも減らすことができる。この差は歴然とした画質の差としてあらわれ、本実施形態を用いたデジタルクランプは良好な画質を得られる。
【００６０】
図５は本実施形態の詳細なデジタルクランプ動作の一例をわかりやすく説明した図である。
【００６１】
図５は１２ビットの量子化ビット数を持つ画像データのある１ラインに着目したものである。有効画素部の長さは２４ピクセルであり、ＯＢ領域の平均値を求める等の方法で算出したクランプレベルは１１.６２５ＬＳＢとしている。クランプレベルは１２ビットの整数に加え、４ビットの小数部を用いて、１６進数表現で００ＢＡとあらわすことができる。ここでは１２ビットの画像データから１６ビットの精度でデジタルクランプを行う場合を述べる。
図５（ａ）が元画像の状態であり、ここからクランプレベルの整数部１１ＬＳＢを減算したのが図５（ｂ）である。この状態からクランプレベルの残りの０.６２５ＬＳＢを減算するために、図５（ｃ）のように、１ライン２４ピクセル中、減算するレベル（０.６２５ＬＳＢ）で表される確率、つまり２４ピクセルの６２.５％の１５ピクセルを乱数を用いて選択する。このように選択したピクセルが、図５（ｃ）において番号をふったピクセルである。この選択したピクセルから、図５（ｄ）のように１ＬＳＢを減算すると、１ライン全体として０.６２５ＬＳＢ減算できたことになり、結局、図５（ａ）のデジタルクランプ前の状態から等価的に１１.６２５ＬＳＢを減算できたことになる。
【００６２】
以上のような動作を画像データのライン数分繰り返すことで量子化誤差による画質劣化が従来に比べ大幅に少ないデジタルクランプが行われる。
【００６３】
（他の実施形態）
また、各実施形態の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００６５】
【図１】従来のカメラシステムの全体構成を示すブロック図である。
【図２】本発明の第１の実施形態の原理を説明した図である。
【図３】第１の実施形態の回路構成の一例を示すブロック図である。
【図４】本発明の第２の実施形態に係わるデジタルクランプの方法を説明するための取り込み画像の模式図である。
【図５】第２の実施形態の詳細なデジタルクランプ動作の一例をわかりやすく説明した図である。
【図１】
2005086551.tif 000003
【図２】
2005086551.tif 000004
【図３】
2005086551.tif 000005
【図４】
2005086551.tif 000006
【図５】
2005086551.tif 000007