(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022112995
(43)【公開日】2022-08-03
(54)【発明の名称】画像処理方法
(51)【国際特許分類】
G06T 5/00 20060101AFI20220727BHJP
H04N 5/243 20060101ALI20220727BHJP
【FI】
G06T5/00 735
H04N5/243
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021009066
(22)【出願日】2021-01-22
(11)【特許番号】
(45)【特許公報発行日】2021-04-28
(71)【出願人】
【識別番号】518375720
【氏名又は名称】株式会社ロジック・アンド・デザイン
(74)【代理人】
【識別番号】100085257
【弁理士】
【氏名又は名称】小山 有
(72)【発明者】
【氏名】小林 正浩
【テーマコード(参考)】
5B057
5C122
【Fターム(参考)】
5B057CA08
5B057CA12
5B057CA16
5B057CB08
5B057CB12
5B057CB16
5B057CE11
5B057DA17
5B057DB02
5B057DB09
5B057DC22
5C122EA12
5C122FH01
5C122FH11
5C122FH24
5C122HA88
5C122HB10
(57)【要約】
【課題】部分的に突出した明るさの部分がなく、且つ画像全体としての明るさとコントラストを有する画像処理方法を提供する。
【解決手段】
参照ピクセルP1からP8まで順にピクセル値(明るさ)を注目ピクセルP0のピクセル値と比較する。そして、注目ピクセルP0のピクセル値以下であり、かつ参照ピクセルのヒストグラム値を+1して、傾き制限値と比較し、傾き制限値以下となった参照ピクセルの数を双方真のカウント値としてカウントし、この双方真のカウント値から注目ピクセルの明るさを出力する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
取り込んだ画像データをピクセル単位で処理するにあたり、画像走査の走査位置となる注目ピクセルの周囲にn個(nは整数)の参照ピクセルを設定し、注目ピクセルのピクセル値(輝度)と各参照ピクセルのピクセル値(輝度)を順次比較し、注目ピクセル値以下のピクセル値であった参照ピクセルの数をカウントし、これと並行して各参照ピクセルのヒストグラム値を+1して予め設定した傾き制限値と比較し、参照ピクセル値が注目ピクセル値以下である条件とピクセルのヒストグラム値が傾き制限値以下である条件の両方の条件を満たす参照ピクセルの数をカウントすることで双方真のカウント値を求め、この双方真のカウント値を比例按分して出力することを特徴とする画像処理方法。
【請求項2】
請求項1に記載の画像処理方法において、前記傾き制限値との比較でカウントされなかった参照ピクセルの数を非カウント値としてカウントし、また輝度のオフセット値を外部パラメータとして設定し、以下の式(1)に代入して出力することで画面全体の明るさを調整することを特徴とする画像処理方法。
式(1)
出力=双方真のカウント値+(非カウント値×オフセット値/n)
nは参照ピクセル数
【請求項3】
請求項1に記載の画像処理方法において、前記参照ピクセル値の平均値を算出して輝度のオフセット値とし、注目ピクセルに応じた適応的なオフセット値を出力時に加算して画面の明るさを適応的に自動調整することを特徴とする画像処理方法。
【請求項4】
請求項2に記載の画像処理方法において、前記傾き制限値との比較でカウントされなかった参照ピクセルの数を非カウント値としてカウントし、またコントラスト強度値を外部パラメータとして設定し、以下の式(2)に代入して出力することで適応的なコントラスト強度値を持つことを特徴とする画像処理方法。
式(2)
出力 = {双方真のカウント値+(非カウント値×オフセット値/n)} × n/(n-非カウント数×コントラスト強度値/n)
nは参照ピクセル数、コントラスト強度値は0~n
【請求項5】
請求項2または3に記載のオフセット値を持つ画像処理方法において、コントラスト強度値を外部パラメータとして設定し、前記参照ピクセル値の平均値を算出し、また前記傾き制限値との比較でカウントされなかった参照ピクセルの数を非カウント値としてカウントし、これら平均値及び非カウント値とコントラスト強度値を以下の式(3)に代入して出力することを特徴とする画像処理方法。
式(3)
出力=請求項2または3の出力 ×{n/(n-非カウント値×コントラスト強度値/n)}+{非カウント値×(n-コントラスト強度値)/n×オフセット値/n}
nは参照ピクセル数、コントラスト強度値は0~n
【請求項6】
請求項1に記載の画像処理方法において、前記注目ピクセル値と各参照ピクセル値とを比較して注目ピクセル値と等しいピクセル値の参照ピクセル数と、注目ピクセル値よりも小さいピクセル値の参照ピクセル数を個別にカウントし、前者のピクセル数を注目ピクセルの値に比例して後者のピクセル数に加えることでそれぞれの真のカウント数を求めることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラ映像において室内の窓など同一画面内に極端に明るい部分と暗い部分が混在する画面や水中・霧など極端にコントラストが低い部分が混在する画像を見やすい画面に変換する画像処理方法に関する。
【背景技術】
【0002】
極端に明るい部分と暗い部分が混在する画面を見やすい画面に変換する画像処理方法として、特許文献1には、光学像を光電変換して電気信号を出力する撮像素子と、該撮像素子から出力された電気信号を処理して映像信号を生成する信号処理手段と、該信号処理手段から出力された映像信号からヒストグラムを生成するヒストグラム回路と、該ヒストグラム回路によって検出されたヒストグラムを用いて露光制御を行う露光制御手段とを有する撮像装置が開示されている。
【0003】
また特許文献2には、原稿からの光を読取って画像データを生成する工程と、前記画像データから濃度分布のヒストグラムを作成する工程と、前記画像データの全データ数に対する濃度分布の明暗両端寄りのデータ数の割合に基づいて濃度補正曲線を生成する工程と、前記濃度補正曲線で画像データの濃度補正を行う工程とを有する画像処理方法が開示されている。
【0004】
特許文献3には、被写体を撮像し、撮像画像の画像データを取得する撮像手段と、その撮像手段により取得された画像データからなる撮像画像の所定の画素部分であって輝度レベルが所定の範囲内にある画素からなる画素部分に対し、当該画素部分における各画素の輝度値を、各画素間の相対的な輝度の上下関係を維持したまま各画素間の輝度間隔を増大させるよう変換する階調補正を行う階調補正手段とを備えた撮像装置が開示されている。
【0005】
また特許文献2には、原稿からの光を読取って画像データを生成する工程と、前記画像データから濃度分布のヒストグラムを作成する工程と、前記画像データの全データ数に対する濃度分布の明暗両端寄りのデータ数の割合に基づいて濃度補正曲線を生成する工程と、前記濃度補正曲線で画像データの濃度補正を行う工程とを有する画像処理方法が開示されている。
【0006】
更に特許文献3には、被写体を撮像し、撮像画像の画像データを取得する撮像手段と、その撮像手段により取得された画像データからなる撮像画像の所定の画素部分であって輝度レベルが所定の範囲内にある画素からなる画素部分に対し、当該画素部分における各画素の輝度値を、各画素間の相対的な輝度の上下関係を維持したまま各画素間の輝度間隔を増大させるよう変換する階調補正を行う階調補正手段とを備えた撮像装置が開示されている。
【0007】
上記した特許文献1~3に開示される画像処理方法は、能力の高いコンピュータやデバイスを使わないと処理時間が長くなってしまい、ハイビジョン以上の動画のリアルタイム処理などには適用することができない。
【0008】
処理時間を短くし動画のリアルタイム処理も可能とする提案を本発明者は特許文献4に提案している。この特許文献4の内容は、撮影した画像からピクセル単位の画像データを1パスで取り込み、取り込んだ画像データをピクセル単位で特定の色空間に分解した後に輝度のヒストグラムを生成し、この画像輝度情報を所定の読み取りパターンで読み出し、前記読み取りパターンの中の特定位置(中心)のピクセルを除いた平均ヒストグラムを基本として前記読み取りパターンの特定位置のピクセルの輝度を設定する方法である。
【0009】
同じく本発明者が提案した特許文献5には、入力信号を局所的に分割してトーンマップを求め、このトーンマップを補正することで入力信号のコントラストを改善するにあたり、輝度変化が少ない領域についてはトーンマップの入力輝度信号を出力輝度信号に変換する際に勾配制限を設けて出力輝度信号が一定以上に変化しないようにして輝度変化を抑制し、更に前記勾配制限によって低下した領域全体の輝度を全体的に調整する内容が開示されている。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2002-142150号公報
【特許文献2】特開2003-051944号公報
【特許文献3】特開2007-124087号公報
【特許文献4】特許第4386959号公報
【特許文献5】特許第6126054号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
上述した特許文献4に開示した方法によれば、特許文献1~3に比較し、大幅に処理時間を短縮し、動画のリアルタイム処理が可能になる。
しかしながら、特許文献4に記載した方法でも、部分的に明るさの変動が大きすぎる箇所が生じたり、ノイズを除去できない場合が生じる。
【0012】
特許文献5に開示した内容は、AHE(Adaptive Histogram Equalization)やCLAHE(Constract Limited AHE)といった取り込んだ画像データを所定のパターンで読み出したり、取り込んだ画像を複数のブロックに分割し、それぞれの小領域のヒストグラムを生成し、その領域ごとにトーンマップを作成している。
【0013】
このように、小領域ごとにトーンマップを作成すると、小領域の境界線がぼんやりと見えてしまうことがある。
【0014】
更に、AHEやCLAHEは画像をスキャンして領域ごとにヒストグラムを作成してからトーンマップを作成するためリアルタイム処理を行うには多くの高速メモリを必要とすること、および画素単位で独立した処理ができないことから、GPUやFGPAには不向きと言える。
【課題を解決するための手段】
【0015】
本発明は取り込んだ画像データを小領域ごとに分けることなくピクセル(画素)単位で独立して処理することを前提とする。即ち、各領域ごとのヒストグラムも生成しない。
【0016】
即ち、本発明は、取り込んだ画像データをピクセル単位で処理するにあたり、画像走査の走査位置となる注目ピクセルの周囲にn個(nは整数)の参照ピクセルを設定し、注目ピクセルのピクセル値(輝度)と各参照ピクセルのピクセル値(輝度)を順次比較し、注目ピクセル値以下のピクセル値であった参照ピクセルの数をカウントし、n個の参照ピクセルとの輝度比較が終了したらカウント数を出力輝度として比例按分する。
【0017】
また、本発明は、取り込んだ画像データをピクセル単位で処理するにあたり、画像走査の走査位置となる注目ピクセルの周囲にn個(nは整数)の参照ピクセルを設定し、注目ピクセルのピクセル値(輝度)と各参照ピクセルのピクセル値(輝度)を順次比較し、注目ピクセル値以下のピクセル値であり、かつ各参照ピクセルのヒストグラム値を+1して予め設定した傾き制限値と比較してこの傾き制限値以下であった参照ピクセルの数をカウントすることで傾き制限を考慮したカウント数を求めて出力する。
【0018】
本発明にあっては、従来のように実際に多くのメモリを使って領域別のヒストグラムとトーンマップを作成するのではなく、ロジックを実行することでトーンマップを作成したのと同じ結果が得られる。
【0019】
前記の画像処理方法における傾き制限に起因する暗くなった画像の明るさを補正するために、傾き制限値との比較でカウントされなかった参照ピクセルの数をカウントし、このカウントされなかった参照ピクセルの数をオフセット値として出力に加算することができる。
【0020】
前記の固定オフセット値を領域ごとに自動計算すべく、前記参照ピクセル値の平均値を算出し、また前記傾き制限値との比較でカウントされなかった参照ピクセルの数をカウントし、前記参照ピクセル値の平均値と前記カウントされなかった参照ピクセルの数を考慮して出力することができる。
【0021】
前記によって処理した画像の全体のコントラストを高めるため、前記傾き制限値との比較でカウントされなかった参照ピクセルの数をカウントし、このカウントされなかった参照ピクセルの数を考慮して出力することができる。
【0022】
また、全体の明るさとコントラストを高めるため、前記参照ピクセル値の平均値を算出し、また前記傾き制限値との比較でカウントされなかった参照ピクセルの数をカウントし、これら平均値及びカウントされなかった参照ピクセルの数を考慮して出力することができる。
【0023】
また、全体が暗い画像でピクセル値が0に偏った場合に画面全体が白っぽくなることがある。これを解消するため、前記注目ピクセル値と各参照ピクセル値とを比較して注目ピクセル値と等しいピクセル値の参照ピクセル数と、注目ピクセル値よりも小さいピクセル値の参照ピクセル数を個別にカウントし、前者のカウント数を注目ピクセルの値に比例して後者のカウント数に加えて平均化することで、これらを考慮して出力するができる。
【図面の簡単な説明】
【0024】
【
図1】本願発明にかかるロジカルな画像処理方法の基本を説明した図
【
図2】
図1に対応する参照ピクセルのヒストグラムを平均化した仮想トーンマップ
【
図3】本願発明にかかる画像処理方法の実装例を示す図
【
図5】本願発明にかかる画像処理方法の別の実装例を示す図
【
図7】本願発明にかかる画像処理方法の別の実装例を示す図
【
図9】本願発明にかかる画像処理方法の別の実装例を示す図
【
図11】本願発明にかかる画像処理方法の別の実装例を示す図
【
図13】本願発明にかかる画像処理方法の別の実装例を示す図
【発明を実施するための形態】
【0025】
図1は本願発明にかかる画像処理方法を実装した場合の説明図であり、図中P0は注目ピクセルで、この注目ピクセルP0の明るさ(輝度)を調整する。また、
図2は
図1の方法で処理する際の参照ピクセル(
図1では、P1~P8の8個)から求められる実行結果を参照ピクセルが持ち得る全ての明るさでグラフ化した仮想トーンマップである。
本発明は注目ピクセルと参照ピクセルから注目ピクセルに対する唯一1つの変換結果を得るものでありトーンマップを出力するものではない。
【0026】
処理の手順は、先ず注目ピクセルP0とその周囲の参照ピクセルP1~P8の輝度を比較し、注目ピクセルP0の輝度より小さな輝度の参照ピクセルの数をカウントし、このカウント値に応じて注目ピクセルP0の輝度を所定のアルゴリズムに従って修正する。
【0027】
例えば注目ピクセルP0の輝度より小さな輝度の参照ピクセルの数が1個で、P0の輝度より大きな輝度の参照ピクセルの数が7個の場合には、参照ピクセルの値を出力可能な最大輝度を1として1/8の輝度に修正する。尚、修正アルゴリズムはこれに限らない。
【0028】
以上の操作をFPGAやCPUに実装する場合は注目ピクセルを1個ずつ行方向に移動させ、この処理を各行ごとに並行処理することで、全てのピクセルの輝度を修正し、明度の平滑化を行う。
またGPUに実装する場合はこれらの操作がピクセル毎に独立しているため複数のコアで同時に並列処理を行うことで全てのピクセルの輝度を修正し、明度の平滑化を行う。
【0029】
一方、
図2に示す仮想トーンマップは実際にアルゴリズム上生成されるわけでなく、すべての入力輝度に対してロジックの実行結果を分かりやすく示したものである。
【0030】
上記実装例には改良の余地が残されている。具体的には
図2の仮想トーンマップには、入力に対して出力が急激に大きくなる箇所、具体的には45°以上の傾きになる箇所が3箇所存在する。この箇所はノイズなどのように明るさが突出して大きくなる箇所である。
【0031】
図3は上記を改良した実装例を示す図、
図4は
図3に対応する仮想トーンマップであり、
図4において点線は
図2のロジックを実行した場合の仮想トーンマップである。
【0032】
このような明るさが突出した部分をなくすため、参照ピクセルP1からP8まで順にピクセル値(輝度)を注目ピクセルP0のピクセル値と比較し、注目ピクセルP0のピクセル値以下かどうかの判断を行う。
【0033】
これと並行して、参照ピクセルのヒストグラム値を+1して、傾き制限値(45°)と比較し、傾き制限値以下かどうかの判断を行う。
【0034】
そして、前項2つの判断が両方成り立つ参照ピクセル数を双方真のカウント値としてカウントし、この双方真のカウント値に基づいて注目ピクセルの明るさを出力する。
上記の処理により、
図4の実線で示すように、明るさが突出して変化する部分のない見やすい画像が得られる。
【0035】
注目ピクセル値以下のピクセル値であり、かつ各参照ピクセルのヒストグラム値を+1して予め設定した傾き制限値と比較してこの傾き制限値以下であった参照ピクセルの数を双方真のカウント値としてカウントすることで傾き制限を考慮した
一方、この状態では画像全体が暗くなることがある。これを是正する構成を
図5と
図6の仮想トーンマップに示す。
【0036】
図5に示す実装例では、注目ピクセルP0のピクセル値以下であること及び傾き制限値以下であることの両方の条件を満たす参照ピクセル数を双方真のカウント値とし、更に傾き制限値よりも大きいヒストグラムの参照ピクセル数(非カウント値)をカウントし、輝度のオフセット値を0~nの値を持つ外部パラメータとして設定し、前記双方真のカウント値に(非カウント値×オフセット値/n)を加えて出力する。
ここで、オフセット値は傾き制限によって減った終点値の明るさ(a+b)の何割を持ち上げるかで決定する。
出力=双方真のカウント値+(非カウント値×オフセット値/n)
(n:参照ピクセル数、例えば128または256)
(オフセット値は0~n)
【0037】
上記によって、
図6に示すように、画像の過疎トーンマップ特性には変化がないが画像全体がオフセット分だけ明るくなる。
【0038】
図7は前記したオフセット量を領域ごとに自動計算する実装例を示した例であり、この実装例では、読みだした参照ピクセル値と注目ピクセル値を比較し、参照ピクセルのヒストグラム値を+1して予め設定した傾き制限値と比較し、参照ピクセルのヒストグラム値が傾き制限値より大なら非カウント値としてカウントする。
【0039】
上記と並行して予め設定した傾き制限値以下であった参照ピクセル値を単純に加算し、参照ピクセル数で割って平均値を算出し、これをピクセルの最大輝度(8ビットなら256)で割った値を0~nに比例按分してオフセット値とする。即ち、参照ピクセルの平均輝度をそのままオフセット値とすることで、注目ピクセルP0の輝度を周辺の輝度にマッチさせることができる。
【0040】
そして、以下に示すように双方真のカウント値に(非カウント値×オフセット値/n)を加えて出力する。
出力=双方真のカウント値+(非カウント値×オフセット値/n)
【0041】
図8は上記の処理による仮想トーンマップであり、この実装例では、参照ピクセルの平均輝度をそのままオフセット値とすることで、周辺の明るさにマッチしたトーンマップを自動生成できる。
【0042】
上述した画像処理により、周囲に対し極端に明るさが突出した部分がなくなり且つ画像全体が暗くなることもなくなったが、画像全体のコントラストが不足する場合がある。これを解消する実装例を
図9に示す。
【0043】
この実装例では、注目ピクセルP0のピクセル値以下であること及び傾き制限値以下であることの両方の条件を満たす参照ピクセル数を双方真のカウント値とし、更に傾き制限値よりも大きいヒストグラムの参照ピクセル数(非カウント値)をカウントする。
【0044】
そして、コントラストの強度値を0~nの値を持つ外部パラメータとして設定し、前記双方真のカウント値に{n/(n-非カウント値×強度値/n)}を掛け合わせることで、注目ピクセルP0の輝度が出力される。
出力=双方真のカウント値×n/(n-非カウント値×強度値/n)
(n:参照ピクセル数、例えば128または256)
(強度値は0~n)
【0045】
図10は上記処理によって得られた画像の仮想トーンマップであり、上述した実装例では傾き制限で減った終点値(最大輝度)をオフセットによって均一に引き上げる処理であったが、この実装例では掛け合わせる処理を行うため、傾きも変化している。
【0046】
図11はオフセット機能とコントラス機能を同時に発揮する実装例を示す。この実装例では、注目ピクセルP0のピクセル値以下であること及び傾き制限値以下であることの両方の条件を満たす参照ピクセル数を双方真のカウント値とし、上記と並行して予め設定した傾き制限値以下であった参照ピクセル値を単純に加算し、参照ピクセル数で割って平均値を算出しこれをオフセット値とする。
【0047】
そして、上記双方真のカウント値に{n/(n-非カウント値×強度値/n)}を掛け合わせ、更に{非カウント値×(n-強度値)/n×オフセット値/n}を加えて出力する。即ち、出力={n/(n-非カウント値×強度値/n)}+{非カウント値×(n-強度値)/n×オフセット値/n}となる。
(n:参照ピクセル数、例えば128または256)
(オフセット値、強度値は0~n)
【0048】
上記の各処理により、部分的に極端に明るさが周囲と異なる箇所(ノイズなど)がなくなり、画像全体のコントラストも修正することができる。しかし、このような処理は同値のピクセルが大半を占める領域においては特定の輝度に偏る傾向がある。例えば、暗い画像でピクセル値が0に偏った場合には画像が白っぽくなる問題がある。
【0049】
図13は
図3に示した部分を更に改善した図であり、この実装例では、参照ピクセル値と注目ピクセル値を比較するコンパレータを2つ用意し、注目ピクセル値よりも小さい輝度でかつ傾き制限値以下となった参照ピクセル数と注目ピクセル値と等しい輝度でかつ傾き制限値以下となった参照ピクセルの数を個別にそれぞれカウントする。
【0050】
前項で得られた注目ピクセル値より小さい輝度のカウント数に注目ピクセル値と等しい輝度のカウント数を注目輝度に応じて比例加算する。
このようにすることで、
図14に示すように、終点(最大輝度)が固定され、始点が原点(0,0)に移動するトーンマップが得られる。