JP2010183409A - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP2010183409A
JP2010183409A JP2009025941A JP2009025941A JP2010183409A JP 2010183409 A JP2010183409 A JP 2010183409A JP 2009025941 A JP2009025941 A JP 2009025941A JP 2009025941 A JP2009025941 A JP 2009025941A JP 2010183409 A JP2010183409 A JP 2010183409A
Authority
JP
Japan
Prior art keywords
image
histogram
pixels
pixel
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009025941A
Other languages
English (en)
Other versions
JP4386959B1 (ja
Inventor
Masahiro Kobayashi
正浩 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to JP2009025941A priority Critical patent/JP4386959B1/ja
Application granted granted Critical
Publication of JP4386959B1 publication Critical patent/JP4386959B1/ja
Priority to US13/145,388 priority patent/US8724196B2/en
Priority to PCT/JP2009/007201 priority patent/WO2010089836A1/ja
Publication of JP2010183409A publication Critical patent/JP2010183409A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/94Dynamic range modification of images or parts thereof based on local image properties, e.g. for local contrast enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20208High dynamic range [HDR] image processing

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Character Input (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

【課題】 画像におけるコントラスト改善手段のひとつであるヒストグラム平均化で動画の画質処理をしようとすると、画素数の多い画面全体のヒストグラムを計算すると時間がかかってしまい、装置が大かがりになってしまう。
【解決手段】 動画のフレーム毎又は静止画の画像処理において、被写体を撮影した画像からピクセル単位の画像データを取り込む取込手段と、取り込んだ画像データを特定の色空間に分解した後に輝度のヒストグラムを生成するヒストグラム生成手段を備え、前記画像を色別に所定のパターンで読み出し、前記パターンの中の特定位置のピクセルを除いた平均ヒストグラムを基本として前記パターンの特定位置のピクセルの輝度を設定するようにした。
【選択図】 図1

Description

監視カメラや室内の窓など同一画面内において極端に明るい部分と暗い部分が混在する画面で構成される画面を見やすい画面に変換する画像処理方法を提供する。
監視カメラの映像は24時間稼動しているため、極端に明るい状況や暗い状況が刻々変化する。カメラの一般的なオートゲインコントロールなどでは変化が大きい場合には極端な変化に追いつけない場合が多い。また、室内の窓など同一画面内において極端に明るい部分と暗い部分が混在する場合はゲインコントロールでは対応することが出来ない。
そこで、画像評価技術としてヒストグラムを使い、各カラーの明るさのレベル別にピクセル数をグラフ化し、画像内のピクセル分布を示したものであり、シャドウ(ヒストグラムの左側部分)、中間調(ヒストグラムの中央)およびハイライト(ヒストグラムの右側部分)のディテールが表示され、画像に適切な補正を行うための十分なディテールがあるかどうかを判断する方法が使われている。
例えば、特許文献1には、光学像を光電変換して電気信号を出力する撮像素子と、該撮像素子から出力された電気信号を処理して映像信号を生成する信号処理手段と、該信号処理手段から出力された映像信号からヒストグラムを生成するヒストグラム回路と、該ヒストグラム回路によって検出されたヒストグラムを用いて露光制御を行う露光制御手段とを有する撮像装置が開示されている。
また特許文献2には、原稿からの光を読取って画像データを生成する工程と、前記画像データから濃度分布のヒストグラムを作成する工程と、前記画像データの全データ数に対する濃度分布の明暗両端寄りのデータ数の割合に基づいて濃度補正曲線を生成する工程と、前記濃度補正曲線で画像データの濃度補正を行う工程とを有する画像処理方法が開示されている。
更に特許文献3には、被写体を撮像し、撮像画像の画像データを取得する撮像手段と、その撮像手段により取得された画像データからなる撮像画像の所定の画素部分であって輝度レベルが所定の範囲内にある画素からなる画素部分に対し、当該画素部分における各画素の輝度値を、各画素間の相対的な輝度の上下関係を維持したまま各画素間の輝度間隔を増大させるよう変換する階調補正を行う階調補正手段とを備えた撮像装置が開示されている。
特開2002−142150号公報 特開2003−051944号公報 特開2007−124087号公報
特許文献1では、例えば静止画の撮影を行う場合において、CPUを使って画面全体でヒストグラム生成部25により生成された撮像画像のヒストグラムについて、有用データ範囲とした、明るさが分布している輝度範囲と、無用データ範囲とした明るさが分布していない輝度範囲とを検索しているが、画素数の多い画面では大きな処理能力を持つCPUを使わないとリアルタイムでの静止画撮影は難しい。
特許文献2では、カラーモードの場合にはR、G、B全色を合成したヒストグラムを、グレーモードの場合にはG色のみのヒストグラムを生成する画像処理システムにおいては多くの処理能力が必要となり、能力の高いホストコンピュータを使わないと処理時間が長くなってしまうという問題点がある。
特許文献3では、撮像画像のヒストグラムを使って補正カーブに従ってガンマ補正(階調補正)を行ない、例えば分布にふたつの山がある場合は、双方の分布域範囲が、処理以前に各々の高輝度側に存在していた無用データ範囲(明るさが分布していない輝度範囲)を消失させるよう、それぞれ高輝度側に拡大することにより記録画像には、全体の階調関係を保持しながら暗い部分(遠距離の背景)と明るい部分(近距離の被写体)に十分な階調を割り当てることができるとしている。しかしこの方法では、画素数の多い画面全体のヒストグラムを計算すると時間がかかってしまい、動画には使えないという問題がある。
上記の課題を解決するために、本発明においては、動画のフレーム毎又は静止画の画像処理方法であって、
被写体を撮影した画像からピクセル単位の画像データを取り込む取込手段と、取り込んだ画像データをピクセル単位で色分解した後に特定の色空間に分解した後に輝度のヒストグラムを生成するヒストグラム生成手段を備え、
前記取込手段にて前記画像を色別に所定のパターンで読み出し、前記ヒストグラム生成手段を使って前記パターンの中の特定位置のピクセルの周囲の平均ヒストグラムを生成し、この平均ヒストグラムを使って前記特定位置のピクセルの輝度を設定するようにした。
また、前記特定位置のピクセルの輝度を設定した後に、所定規則に従ってピクセルと所定パターンを移動させ、移動後の所定パターンの平均ヒストグラムを生成する際に、移動前後で重複しなくなったピクセルのヒストグラムを減算し且つ新たに所定パターンのエリアに入ったピクセルのヒストグラムのみを加算することや、前記所定パターン全体が前記画面内にある場合には、移動前後のパターンは重複部分において所定オーバーラップ部分を持たせながら所定規則に従って移動させることも考えられる。
本発明によるアルゴリズムは、2パス方式を取らず単純なアルゴリズムで同等の結果を得るアルゴリズムであり、現在一般的に市販されている安価なマイクロコンピュータやパーソナルコンピュータとグラフィックボードの組み合わせで容易にVGA動画のリアルタイム処理を行うことが可能であり、FPGAなどへのハードウエア化やDSPによる処理も可能となる。
基本システム例である。 ヒストグラムの比較例である。 画面と所定の読み取りパターンの位置関係を示す図である。 画面と所定の読み取りパターンの位置関係を示す図である。 画面と所定の読み取りパターンの位置関係を示す図である。 画面と所定の読み取りパターンの位置関係を示す図である。 画面と所定の読み取りパターンの位置関係を示す図である。 画面と所定の読み取りパターンの位置関係を示す図である。 ピクセル単位検出のヒストリ最適化の基本原理例である。 2列毎にスキャンする例である。 複数分散処理の例である。 補正前と補正後の画像比較例である。
以下に本発明の実施例を記載する。なお、以下の実施例は本発明においてグラフィックボードは旧来のものではなく、プロセッサあたり120個以上のコアを搭載したマルチコアGPUを搭載したグラフィックボード使うことが望ましい。
図1は、本発明の基本システム例である。本システムは、基本的にはグラフィクスボードを搭載したマイクロコンピュータまたはパーソナルコンピュータであって、CPU1にはシステムバス3を介してグラフィックボード、ROM2a、RAM2b、PCIなどのインターフェイス4を通して画像を取り込むフレームグラバ6で構成される。また、本装置を操作するためにI/Oインターフェイス5を通してボタン等の操作装置7やシリアルポート等の外部接続ポート8を持つ。
グラフィックボードは、一並列処理セルを持つGPU9、処理用フレームバッファ11、出力用フレームバッファ12、表示出力回路13から構成されている。
動画のフレーム毎又は静止画の画像処理方法において、上記の構成をとることにより、本発明の画像処理方法では、被写体を撮影した画像からピクセル単位の画像データを取り込む取込手段と、取り込んだ画像データを特定の色空間に分解した後に輝度のヒストグラムを生成するヒストグラム生成手段を備え、前記取込手段にて前記画像を色別に所定のパターンで読み出し、前記ヒストグラム生成手段を使って前記パターンの中の特定位置のピクセルの周囲の平均ヒストグラムを生成し、この平均ヒストグラムを使って前記特定位置のピクセルの輝度を設定するようにした。
GPU9はCPU1から指示を受けて各セルに対して処理用フレームバッファ11にある画像データを指示に従って処理を行い、処理結果を出力用フレームバッファ12へ書き込むよう命令する。セルは複数あり並列処理を行うことでCPUからの指示をセルの数だけ一斉に処理する。
コンピュータのCPU1は、起動時にROM2aから本件処理に相当するソフトウエアをRAM2bへ転送しソフトウエアを実行する。実行したソフトウエアは
(1)フレームグラバから画像を取り込む
(2)取り込んだ画像をグラフィックボード上の処理用フレームバッファ11へ転送する
(3)GPUへ本件処理を指示する
(4)GPU内セルが並列処理によって指示を実行する
(5)処理結果がすべて出力用フレームバッファに書き込まれるまで待つ
(6)処理結果を表示
といった一連の動作を繰り返す。
処理用フレームバッファ11や出力用フレームバッファ12では複数の色空間を表現することが出来る。本件ではYCbCr、HSV、Lab、HLSを対象とする。
表示出力回路13は上記色空間表現となっている出力用フレームバッファ12の内容をディスプレイに適合した映像信号に変換する。複数の映像信号に対応しており、アナログRGBが一般的であるが、DVI、コンポーネント(D1〜D4)、YC分離、コンポジットなどを出力することも出来る。
本発明の画像処理方法は、動画のフレーム毎又は静止画の画像を扱い、被写体を撮影した画像からピクセル単位の画像データを取り込む取込手段と、取り込んだ画像データをピクセル単位で特定の色空間に分解した後に輝度のヒストグラムを生成するヒストグラム生成手段を備え、前記画像輝度情報を所定の読み取りパターン16で読み出し、前記読み取りパターン16の中の特定位置のピクセルを除いた平均ヒストグラムを基本として前記読み取りパターン16の特定位置のピクセルの輝度を設定するようにした。
また、前記所定の読み取りパターン16は水平走査方向に移動させた場合に、移動前後の読み取りパターン16は重複部分において移動前後で完全にオーバーラップさせることにより、前記画像上で読み取りパターン16を移動させてもデータ互換が保証される。
上記において、計算をコンピュータのCPUではなく、グラフィックボードのGPUを使うことにより、基本的に動的なデータをストリームとして処理が可能となり、カーネルでの演算処理過程においては、データをリアルタイムに解析し、高精度かつ高速処理が行える。
カーネルがストリームの演算処理を行う際には、動的なデータの並列処理が可能なパイプライン処理が利用され、従来のマルチコアCPUのコア数が2〜4コアであるのに対して、本実施例で使ったGPUは並列処理が可能な128個の演算ユニットを持つスカラプロセッサとなっている。
上記のスカラプロセッサを使っても、画像のリアルタイム処理には莫大な計算量があるので、3Dグラフィクスには960コアのGPUが使われる例もあり、まだ充分な計算能力には達していないのが現状であり、本発明は3D処理には充分な性能とは言えないGPUを使ってリアルタイムで動画のヒストグラム最適化を可能とするものである。
図2はヒストグラムの比較例である。図2(a)はオリジナルのヒストグラム例で、左右にふたつの山がある。図2(b)は均一化して略フラット化したヒストグラムである。
一般的には明るさの分布が均一でない画像に対しては一般的にヒストグラムの平均化を行って明るさ分布を調整して画像改善を行うか、S字カーブを持つガンマ曲線変換を用いてコントラストの低い画像を伸張することによってコントラストを広げ、暗い箇所は暗く、明るい箇所は明るくしメリハリのある画像にする処理を行っている。
ヒストグラムの平均化を行えば、暗い部分はディテールがはっきりするが、暗い部分が多いため空と空に接している部分が明るくなり過ぎてディテールを損なう。この境界部分のディテールを抽出するには、例えば空(明るい部分)と空と背景の境界と地上(暗い部分)にエリアを分割してそれぞれの領域でヒストグラムの平均化を行うことでディテールの損失を軽減出来る。
また、予め画像を走査して明るさの分布を検出し、エリアを分けてヒストグラムの平均化を行うことで、明暗が極端な画像に対しても中間部分のディテールを抽出することも可能である。
前記の方法ではエリア分割のために画像を走査する必要があり、その後にヒストグラムの平均化を行うためにもう一度画像走査を行う2パス方式となる。
前記の方法は動画をリアルタイム処理するにあたって下記の問題があり高速に処理出来ないし、エリアを分割するアルゴリズムは一般化が難しく複雑なアルゴリズムになってしまう。
また、ヒストグラムの平均化は全画面を走査して明るさの変換テーブルを作成した後にテーブルに従って画像を変換する必要があり、分割結果を記憶する画像と同程度のメモリが必要となる。
更に、エリア分割で2回、ヒストグラムの平均化で2回の計4回画像を走査する必要があり、エリアとエリアの境界部分が不自然もしくはフェード合成を行う必要がある。
しかし、以下に詳細を説明する本発明の方法であれば、算出エリアを1ピクセルとすることでエリアを区切る算出過程が不要なのでヒストグラムの平均化1パスのみで処理できるようになる。
図3は、画面と所定の読み取りパターンの位置関係を示している。図3(a)は画像を表示する画面の全体を示し画像表示画面15における読み取りパターン16を示している。
本発明においては以下に詳細説明されているように、前記特定位置のピクセルの輝度を設定した後に、所定規則に従ってピクセルと所定パターンを移動させ、移動後の所定パターンの平均ヒストグラムを生成する際に、移動前後で重複しなくなったピクセルのヒストグラムを減算し且つ新たに所定パターンのエリアに入ったピクセルのヒストグラムのみを加算する画像処理方法を採用している。
ここで、画面がm行n列のピクセルで構成されるとすると、(行、列)で配列を表現すれば、(0,0)のピクセルから画面が始まり、1行目は(1,n)のピクセルで終わり、最終は(m、n)のピクセルとなる。
図3(b)は読み取りパターンを示していて、読み取りパターン16において、特定ピクセルを着目ピクセル17として設定している。
図3(c)は、画像表示画面内の処理画像領域を示した図である。もしヒストグラム平均化処理を行う際に、読み取りパターン16の全てが画像表示画面15内にない場合には異なるヒストグラム平均化アルゴリズムを使わなくてはならなくなり、余計な処理時間が発生する。
そこで、処理画面領域を画像表示画面15より狭い領域に限定し、必ず読み取りパターン16の全てが画像表示画面15内に入るようにすることで、読み取りパターン16の全てが画像表示画面15内にあるかどうかの判定を省略することができる。
具体的には、例えば読み取りパターン16が縦横共に7セルで構成されている場合には、各行と各列に3セル幅の非スキャン領域を設定し、(3,3)、(1,n−3)、(m−3、n−3)、(3、n−3)で囲まれる領域を処理画面領域とすれば読み取りパターン16は必ず画像表示画面15内に存在することになる。
(3,3)、(1,n−3)、(m−3、n−3)、(3、n−3)で囲まれる領域の全てのセルに対してヒストグラム平均化処理が終了した時点で、(4,4)、(4,6)、(6,6)、(6,4)で囲まれた領域のデータを(1,1)、(1,3)、(3,3)、(1,3)で囲まれた領域に平行移動してセル(4、4)のデータがセル(1、1)となり、セル(6,6)のデータがセル(3、3)になるようにコピーする。
同様に、セル(m−5,4)、(m−5,6)、(m−3,4)、(m−3,6)で囲まれた領域のデータをセル(m−2,1)、(m−2,3)、(m,3)、(m,1)で囲まれた領域にコピーする。
図3(e)は、画面四隅を除く1〜3行目およびm−2〜m行目のデータコピー方法を図示したものである。セル(4,4)、(4,n−3)、(3、n−3)、(6、4)で囲まれた領域のデータを左方向に3セル分シフトして、セル(1,4)、(1,n−3)、(3、n−3)、(3、4)の領域にコピーする。
同様に、セル(m−5,4)、(m−5,n−3)、(m−3、n−3)、(m−3、4)で囲まれた領域のデータを下方向に3セル分シフトして、セル(m−2,4)、(m−2,n−3)、(m,n−3)、(m、4)の領域にコピーする。
図3(f)は、画面四隅を除く1〜3列目のデータコピー方法を図示したものである。セル(4,4)、(4,6)、(m−3、6)、(m−3、4)で囲まれた領域のデータを左方向に3セル分シフトして、セル(4,1)、(4,3)、(m−3、3)、(m−3、1)の領域にコピーする。
同様に、セル(4,n−5)、(4,n−3)、(m−3、n−3)、(m−3、n−5)で囲まれた領域のデータを下方向に3セル分シフトして、セル(4,n−2)、(4,n)、(m−3,n)、(m−3、n−2)の領域にコピーする。
ここで、ヒストリとはヒストリ抽出エリア内の各ピクセルの明るさの分布として定義する。明るさが8ビット情報であれば明るさを示す256個の配列となる。
上記に述べたように、明るすぎる画像や暗すぎる画像についてはヒストリの平均化を行うことでディテール抽出が可能となり、明るい部分と暗い部分が混在している画像においては領域を区切ってそれぞれの領域内で別々にヒストリの平均化を行えば境界部分のディテールも抽出することが出来る。
しかしエリアを区切るアルゴリズムは複雑になると予想出来るし、エリアの境界を画像上で自然に繋ぐにはフェードなどの処理が必要となってしまい、エリアは小さい範囲で多数に分割する方がより自然にディテールを抽出出来るが、エリアが狭すぎるとエリア周辺とのつながりが不自然になり、エリアと同サイズのディテールを抽出することが出来ない場合がある等の問題がある。
そこで、算出エリアを1ピクセルとし、そのピクセルの明るさを決めるために周辺のヒストリを利用してヒストリの平均化の算出を行うことを考案した。
算出エリアを1ピクセルとすることで次のメリットが考えられる。
− エリアを区切る算出過程が不要となり、ヒストリの平均化1パスのみで実現出来る。
− エリア境界の合成を考える必要がない。
− エリアと同サイズのディテールを失う問題を回避出来る。
ただし、全ピクセル(VGAで約30万)に対してヒストリの平均化計算が必要となり、この計算量を減らすアルゴリズムが必要となる。
配列の添え字番号を明るさとして、各要素はその明るさを持つピクセルの数が格納される。
一般的には配列をクリアした後にエリアを走査してピクセルの明るさを取得し、各配列の要素をインクリメントすることで実装される。
本アルゴリズムではピクセル単位で算出を行うため、最初の1ピクセルでは上記算出が必要になるが、2回目は着目ピクセル17が右へひとつ移動するだけであるため、ヒストリを再計算する必要はなく、移動によって失った左列のピクセルを減算し、追加された右列のピクセルを加算するだけでよい。
このようにピクセル単位でヒストリの平均化を算出することでヒストリの更新は大幅に省力化が可能となる。
また、処理は各ラインで独立しているため、一般的なグラフィックボードに搭載されているセルを利用して並列処理を行って高速な処理が可能となり、256セルのグラフィックボードだと2ライン分の処理時間で処理が完了する。
一般的なヒストリの平均化算出は前項で算出したヒストリ配列を元に明るさ変換テーブルを生成し、変換テーブルに従って明るさを算出する。
以下に、一般的なテーブルの算出アルゴリズムを示す。(明るさは8ビットを想定、ヒストリ配列はhistry、変換テーブル配列はtable、エリア内の画素数の合計をtotalとしている)
for ( i=n=0; i<256; i++) {
n = n + hist[ i ];
table[ i ] = n * 256 / total;
この後、以下のようなアルゴリズムを使って変換テーブルに従ってエリアの明るさを算出する。
for ( i=0; i<dy; i++) {
for ( j=0; j<dx; j++) {
p = get_pix( x + j , y + i);
p = table[ p ];
put_pix( x + j , y + i , p );
}}
上記において、x,yはエリア原点、dx,dyはエリア範囲、関数get_pix(x,y)は画像の明るさ取得、put_pix(x,y,p)は画像へ算出後の明るさ格納配列である。
ここで、本アルゴリズムでは算出エリアを1ピクセルとしたため、上記例のようなループは不要となる。また、変換テーブルも算出対象となっているピクセルの明るさのみ変換出来ればよいので、段落(0043)および(0044)と同等処理のアルゴリズムは下記のようになる。
p = get_pix( x , y );
for ( i=n=0; i<=p; i++){
n = n + hist[ i ];
}
p = n * 256 / total;
put_pix( x , y , p );
白黒画像の場合は本アルゴリズムをそのまま適応可能であるが、カラー画像の場合は、一般的には色情報と明るさ情報を分ける必要がある。
一般的にヒストリの平均化はRGBの各プレーンに対して処理されるが、本件ではJPEGやMPEGなどで用いられている色空間を利用することで、グラフィックボードが持つ基本機能を使って色空間を分離し、必要なプレーンのみを処理することで白黒画像と同等の処理となっている。
色空間と処理するプレーンの対応は例えば下記のものが考えられる。
YCbCr : Yプレーン
HSV : Vプレーン
Lab : Lプレーン
HLS : Lプレーン
入力画像はグラフィックボードの内部表現に合わせて上記の色空間から選択し、輝度プレーンのみを処理することでRGB変換処理と3回同じ処理の繰り返しや色相の変動を回避する。
図4はピクセル単位検出のヒストグラム最適化の原理図である。本実施例においては、図4(a)読み取りパターン16において選択ピクセルのヒストグラムを計算し、着目ピクセル17の値を段落(0046)のアルゴリズムで計算する。
その後、ヒストグラム計算のための選択ピクセルは右へシフトする。
着目ピクセル17が1ピクセル右へ移動した図4(b)においては、ヒストグラム計算における選択ピクセル1行目から7行目までのうち2列目〜7列目は図4(a)と共通であるが、新たに2列目〜7列目までの8列目が追加となっている。
よって2列目〜7列目までの8列目にあるピクセルについては新たな計算対象となるが、これは前回のヒストグラムの計算において、ピクセル(1,1)、(1、7)、(7、1)、(7,7)で囲まれる領域のヒストグラムの合計値から2列目〜7列目までの1列目のデータを減算し、2列目〜7列目までの8列目のデータを加算すれば容易にヒストグラムを計算することができる。
図4(b)の実線領域は次の計算時の計算エリアを示し、4行5列目のピクセルがヒストリ平均化による明るさ算出対象となる着目ピクセル17、ピクセル(1、2)、(1,8)、(7,2)、(7、8)で囲まれる領域から着目ピクセル(4、5)を除いた領域が計算領域となるが、前述の通り、実際の計算は、前の計算値から1列目のヒストグラムを減算し、5列目を加算するだけなので短時間で処理できる。
図5は、ひとつおきにピクセルを移動させて計算する例である。本発明においては、上記の如くピクセルを1つずつスキャンさせる方法以外に、前記所定のパターンは水平走査方向に移動させる際に、前記所定パターン全体が前記画面内にある場合には、移動前後のパターンは重複部分において所定オーバーラップ部分を持たせながら所定規則に従って移動させることで間引き処理を行い、画面全体に対するコントラストを改善させながら処理の高速化ができる。以下に、前記間引き高速処理の詳細を説明する。
最初に図5(a)に示すように、ピクセル(1,1)、(1、5)、(5,1)、(5,5)で囲まれる領域において、ピクセル(1,1)からピクセル(5,1)までの領域とピクセル(1,3)と(2,3)の領域、ピクセル(4,3)と(5,3)の領域、ピクセル(1、5)から(5,5)までの領域についてピクセルの平均値を計算し、着目ピクセル17であるピクセル(3,3)の値を決定する。
次に、図5(b)のように水平方向に2ピクセル分移動して、着目ピクセル17をピクセル(3,5)とし、ピクセル(1,3)、(1、7)、(5,3)、(5,7)で囲まれる領域において、ピクセル(1,3)からピクセル(5,3)までの領域とピクセル(1,5)と(2,5)の領域、ピクセル(4,5)と(5,5)の領域、ピクセル(1、7)から(5,7)までの領域についてピクセルの平均値を計算し、着目ピクセル17であるピクセル(3,5)の値を決定する。
図6は並列処理の例である。処理を複数の計算セルに分散し、並列処理することにより計算時間を短縮できる。図6(a)において、ピクセル(1,1)、(1,5)、(5、1)、(5,5)で囲まれた領域が第1読み取りパターン16で、ピクセル(6,1)、(6,5)、(10、1)、(10,5)で囲まれた領域が第2パターン16aである。
第1読み取りパターン16では、セル(1,1)〜(5、1)と、セル(1,3)及び(2,3)と、セル(4,3)及び(5,3)と、セル(1,5)〜(5,5)のヒストグラムを計算し、その平均値を使ってセル(3,3)の値を決定する。
第2読み取りパターン16aでは、セル(6,1)〜(10、1)と、セル(6,3)及び(7,3)と、セル(9,3)及び(10,3)と、セル(6,5)〜(10,5)のヒストグラムを計算し、その平均値を使ってセル(3,3)の値を決定する。
図7(a)は元画像の例であり、森の手前にある橋付近を夕方撮影したものである。全体的に暗い画面となっている。
図7(b)は、本発明によるアルゴリズムで補正した画像で、森の手前にある橋付近が認識できる画像となっている。
本発明の画像処理方法で採用したアルゴリズムを使うことにより、短時間で画像処理できるので、図5にある静止画のみならず、同様の暗い場面を撮影したビデオ画像でもリアルタイムに再生することができるので監視カメラや室内の窓など同一画面内において極端に明るい部分と暗い部分が混在する場面を撮影したビデオ画像においても画像補整に有効な技術である。
本発明の画像処理方法を使うことにより、監視カメラだけでなく、一般のビデオカメラにおいても高価な明るいレンズを使わなくとも回路で補正することにより暗視カメラに近い高い感度を持たせることができるので安価に高性能な映像機器を市場に提供することにより映像芸術の世界を広げることができる。
1 CPU
2a ROM
2b RAM
2c 本体メモリ
3 システムバス
4 I/F(PCI等)
5 I/F(I/O等)
6 フレームグラバ
7 操作装置
8 外部接続ポート
9 GPU
10 GPUメモリ
11 フレームバッファ(処理用)
12 フレームバッファ(出力用)
13 表示出力回路
14 ディスプレイ
15 画像表示画面
16 読み取りパターン
16a 読み取りパターン
17 着目ピクセル
17a 着目ピクセル
監視カメラや室内の窓など同一画面内において極端に明るい部分と暗い部分が混在する画面で構成される画面を見やすい画面に変換する画像処理方法を提供する。
監視カメラの映像は24時間稼動しているため、極端に明るい状況や暗い状況が刻々変化する。カメラの一般的なオートゲインコントロールなどでは変化が大きい場合には極端な変化に追いつけない場合が多い。また、室内の窓など同一画面内において極端に明るい部分と暗い部分が混在する場合はゲインコントロールでは対応することが出来ない。
そこで、画像評価技術としてヒストグラムを使い、各カラーの明るさのレベル別にピクセル数をグラフ化し、画像内のピクセル分布を示したものであり、シャドウ(ヒストグラムの左側部分)、中間調(ヒストグラムの中央)およびハイライト(ヒストグラムの右側部分)のディテールが表示され、画像に適切な補正を行うための十分なディテールがあるかどうかを判断する方法が使われている。
例えば、特許文献1には、光学像を光電変換して電気信号を出力する撮像素子と、該撮像素子から出力された電気信号を処理して映像信号を生成する信号処理手段と、該信号処理手段から出力された映像信号からヒストグラムを生成するヒストグラム回路と、該ヒストグラム回路によって検出されたヒストグラムを用いて露光制御を行う露光制御手段とを有する撮像装置が開示されている。
また特許文献2には、原稿からの光を読取って画像データを生成する工程と、前記画像データから濃度分布のヒストグラムを作成する工程と、前記画像データの全データ数に対する濃度分布の明暗両端寄りのデータ数の割合に基づいて濃度補正曲線を生成する工程と、前記濃度補正曲線で画像データの濃度補正を行う工程とを有する画像処理方法が開示されている。
更に特許文献3には、被写体を撮像し、撮像画像の画像データを取得する撮像手段と、その撮像手段により取得された画像データからなる撮像画像の所定の画素部分であって輝度レベルが所定の範囲内にある画素からなる画素部分に対し、当該画素部分における各画素の輝度値を、各画素間の相対的な輝度の上下関係を維持したまま各画素間の輝度間隔を増大させるよう変換する階調補正を行う階調補正手段とを備えた撮像装置が開示されている。
特開2002−142150号公報 特開2003−051944号公報 特開2007−124087号公報
特許文献1では、例えば静止画の撮影を行う場合において、CPUを使って画面全体でヒストグラム生成部25により生成された撮像画像のヒストグラムについて、有用データ範囲とした、明るさが分布している輝度範囲と、無用データ範囲とした明るさが分布していない輝度範囲とを検索しているが、画素数の多い画面では大きな処理能力を持つCPUを使わないとリアルタイムでの静止画撮影は難しい。
特許文献2では、カラーモードの場合にはR、G、B全色を合成したヒストグラムを、グレーモードの場合にはG色のみのヒストグラムを生成する画像処理システムにおいては多くの処理能力が必要となり、能力の高いホストコンピュータを使わないと処理時間が長くなってしまうという問題点がある。
特許文献3では、撮像画像のヒストグラムを使って補正カーブに従ってガンマ補正(階調補正)を行ない、例えば分布にふたつの山がある場合は、双方の分布域範囲が、処理以前に各々の高輝度側に存在していた無用データ範囲(明るさが分布していない輝度範囲)を消失させるよう、それぞれ高輝度側に拡大することにより記録画像には、全体の階調関係を保持しながら暗い部分(遠距離の背景)と明るい部分(近距離の被写体)に十分な階調を割り当てることができるとしている。しかしこの方法では、画素数の多い画面全体のヒストグラムを計算すると時間がかかってしまい、動画には使えないという問題がある。
上記の課題を解決するために、本発明においては、動画のフレーム毎又は静止画毎の画像処理方法であって、被写体を撮影した画像からピクセル単位の画像データを取り込む取込手段と、取り込んだ画像データを特定の色空間に分解した後に輝度のヒストグラムを生成するヒストグラム生成手段を備え、前記取込手段にて前記画像を所定のパターンで読み出し、前記ヒストグラム生成手段を使って前記所定パターンのヒストグラムを生成し、次いで、当該所定パターンの中の特定位置のピクセルの輝度を生成したヒストグラムに基づいて決定するにあたり、ループ回数をピクセル値としたアルゴリズムに基づいて行うようにした。
また、前記特定位置のピクセルの輝度を設定した後に、所定規則に従ってピクセルと所定パターンを移動させ、移動後の所定パターンのヒストグラムを生成する際に、移動前後で重複しなくなったピクセルのヒストグラムを減算し且つ新たに所定パターンのエリアに入ったピクセルのヒストグラムのみを加算することや、前記所定パターン全体が前記画面内にある場合には、移動前後のパターンは重複部分において所定オーバーラップ部分を持たせながら所定規則に従って移動させることも考えられる。
本発明によるアルゴリズムは、2パス方式を取らず単純なアルゴリズムで同等の結果を得るアルゴリズムであり、現在一般的に市販されている安価なマイクロコンピュータやパーソナルコンピュータとグラフィックボードの組み合わせで容易にVGA動画のリアルタイム処理を行うことが可能であり、FPGAなどへのハードウエア化やDSPによる処理も可能となる。
基本システム例である。 ヒストグラムの比較例である。 画面と所定の読み取りパターンの位置関係を示す図である。 画面と所定の読み取りパターンの位置関係を示す図である。 画面と所定の読み取りパターンの位置関係を示す図である。 画面と所定の読み取りパターンの位置関係を示す図である。 画面と所定の読み取りパターンの位置関係を示す図である。 画面と所定の読み取りパターンの位置関係を示す図である。 ピクセル単位検出のヒストリ最適化の基本原理例である。 2列毎にスキャンする例である。 複数分散処理の例である。 補正前と補正後の画像比較例である。
以下に本発明の実施例を記載する。なお、以下の実施例は本発明においてグラフィックボードは旧来のものではなく、プロセッサあたり120個以上のコアを搭載したマルチコアGPUを搭載したグラフィックボード使うことが望ましい。
図1は、本発明の基本システム例である。本システムは、基本的にはグラフィクスボードを搭載したマイクロコンピュータまたはパーソナルコンピュータであって、CPU1にはシステムバス3を介してグラフィックボード、ROM2a、RAM2b、PCIなどのインターフェイス4を通して画像を取り込むフレームグラバ6で構成される。また、本装置を操作するためにI/Oインターフェイス5を通してボタン等の操作装置7やシリアルポート等の外部接続ポート8を持つ。
グラフィックボードは、一並列処理セルを持つGPU9、処理用フレームバッファ11、出力用フレームバッファ12、表示出力回路13から構成されている。
動画のフレーム毎又は静止画の画像処理方法において、上記の構成をとることにより、本発明の画像処理方法では、被写体を撮影した画像からピクセル単位の画像データを取り込む取込手段と、取り込んだ画像データを特定の色空間に分解した後に輝度のヒストグラムを生成するヒストグラム生成手段を備え、前記取込手段にて前記画像を色別に所定のパターンで読み出し、前記ヒストグラム生成手段を使って前記パターンの中の特定位置のピクセルの周囲の平均ヒストグラムを生成し、この平均ヒストグラムを使って前記特定位置のピクセルの輝度を設定するようにした。
GPU9はCPU1から指示を受けて各セルに対して処理用フレームバッファ11にある画像データを指示に従って処理を行い、処理結果を出力用フレームバッファ12へ書き込むよう命令する。セルは複数あり並列処理を行うことでCPUからの指示をセルの数だけ一斉に処理する。
コンピュータのCPU1は、起動時にROM2aから本件処理に相当するソフトウエアをRAM2bへ転送しソフトウエアを実行する。実行したソフトウエアは
(1)フレームグラバから画像を取り込む
(2)取り込んだ画像をグラフィックボード上の処理用フレームバッファ11へ転送する(3)GPUへ本件処理を指示する
(4)GPU内セルが並列処理によって指示を実行する
(5)処理結果がすべて出力用フレームバッファに書き込まれるまで待つ
(6)処理結果を表示
といった一連の動作を繰り返す。
処理用フレームバッファ11や出力用フレームバッファ12では複数の色空間を表現することが出来る。本件ではYCbCr、HSV、Lab、HLSを対象とする。
表示出力回路13は上記色空間表現となっている出力用フレームバッファ12の内容をディスプレイに適合した映像信号に変換する。複数の映像信号に対応しており、アナログRGBが一般的であるが、DVI、コンポーネント(D1〜D4)、YC分離、コンポジットなどを出力することも出来る。
本発明の画像処理方法は、動画のフレーム毎又は静止画の画像を扱い、被写体を撮影した画像からピクセル単位の画像データを取り込む取込手段と、取り込んだ画像データをピクセル単位で特定の色空間に分解した後に輝度のヒストグラムを生成するヒストグラム生成手段を備え、前記画像輝度情報を所定の読み取りパターン16で読み出し、前記読み取りパターン16の中の特定位置のピクセルを除いた平均ヒストグラムを基本として前記読み取りパターン16の特定位置のピクセルの輝度を設定するようにした。
また、前記所定の読み取りパターン16は水平走査方向に移動させた場合に、移動前後の読み取りパターン16は重複部分において移動前後で完全にオーバーラップさせることにより、前記画像上で読み取りパターン16を移動させてもデータ互換が保証される。
上記において、計算をコンピュータのCPUではなく、グラフィックボードのGPUを使うことにより、基本的に動的なデータをストリームとして処理が可能となり、カーネルでの演算処理過程においては、データをリアルタイムに解析し、高精度かつ高速処理が行える。
カーネルがストリームの演算処理を行う際には、動的なデータの並列処理が可能なパイプライン処理が利用され、従来のマルチコアCPUのコア数が2〜4コアであるのに対して、本実施例で使ったGPUは並列処理が可能な128個の演算ユニットを持つスカラプロセッサとなっている。
上記のスカラプロセッサを使っても、画像のリアルタイム処理には莫大な計算量があるので、3Dグラフィクスには960コアのGPUが使われる例もあり、まだ充分な計算能力には達していないのが現状であり、本発明は3D処理には充分な性能とは言えないGPUを使ってリアルタイムで動画のヒストグラム最適化を可能とするものである。
図2はヒストグラムの比較例である。図2(a)はオリジナルのヒストグラム例で、左右にふたつの山がある。図2(b)は均一化して略フラット化したヒストグラムである。
一般的には明るさの分布が均一でない画像に対しては一般的にヒストグラムの平均化を行って明るさ分布を調整して画像改善を行うか、S字カーブを持つガンマ曲線変換を用いてコントラストの低い画像を伸張することによってコントラストを広げ、暗い箇所は暗く、明るい箇所は明るくしメリハリのある画像にする処理を行っている。
ヒストグラムの平均化を行えば、暗い部分はディテールがはっきりするが、暗い部分が多いため空と空に接している部分が明るくなり過ぎてディテールを損なう。この境界部分のディテールを抽出するには、例えば空(明るい部分)と空と背景の境界と地上(暗い部分)にエリアを分割してそれぞれの領域でヒストグラムの平均化を行うことでディテールの損失を軽減出来る。
また、予め画像を走査して明るさの分布を検出し、エリアを分けてヒストグラムの平均化を行うことで、明暗が極端な画像に対しても中間部分のディテールを抽出することも可能である。
前記の方法ではエリア分割のために画像を走査する必要があり、その後にヒストグラムの平均化を行うためにもう一度画像走査を行う2パス方式となる。
前記の方法は動画をリアルタイム処理するにあたって下記の問題があり高速に処理出来ないし、エリアを分割するアルゴリズムは一般化が難しく複雑なアルゴリズムになってしまう。
また、ヒストグラムの平均化は全画面を走査して明るさの変換テーブルを作成した後にテーブルに従って画像を変換する必要があり、分割結果を記憶する画像と同程度のメモリが必要となる。
更に、エリア分割で2回、ヒストグラムの平均化で2回の計4回画像を走査する必要があり、エリアとエリアの境界部分が不自然もしくはフェード合成を行う必要がある。
しかし、以下に詳細を説明する本発明の方法であれば、算出エリアを1ピクセルとすることでエリアを区切る算出過程が不要なのでヒストグラムの平均化1パスのみで処理できるようになる。
図3は、画面と所定の読み取りパターンの位置関係を示している。図3(a)は画像を表示する画面の全体を示し画像表示画面15における読み取りパターン16を示している。
本発明においては以下に詳細説明されているように、前記特定位置のピクセルの輝度を設定した後に、所定規則に従ってピクセルと所定パターンを移動させ、移動後の所定パターンの平均ヒストグラムを生成する際に、移動前後で重複しなくなったピクセルのヒストグラムを減算し且つ新たに所定パターンのエリアに入ったピクセルのヒストグラムのみを加算する画像処理方法を採用している。
ここで、画面がm行n列のピクセルで構成されるとすると、(行、列)で配列を表現すれば、(0,0)のピクセルから画面が始まり、1行目は(1,n)のピクセルで終わり、最終は(m、n)のピクセルとなる。
図3(b)は読み取りパターンを示していて、読み取りパターン16において、特定ピクセルを着目ピクセル17として設定している。
図3(c)は、画像表示画面内の処理画像領域を示した図である。もしヒストグラム平均化処理を行う際に、読み取りパターン16の全てが画像表示画面15内にない場合には異なるヒストグラム平均化アルゴリズムを使わなくてはならなくなり、余計な処理時間が発生する。
そこで、処理画面領域を画像表示画面15より狭い領域に限定し、必ず読み取りパターン16の全てが画像表示画面15内に入るようにすることで、読み取りパターン16の全てが画像表示画面15内にあるかどうかの判定を省略することができる。
具体的には、例えば読み取りパターン16が縦横共に7セルで構成されている場合には、各行と各列に3セル幅の非スキャン領域を設定し、(3,3)、(1,n−3)、(m−3、n−3)、(3、n−3)で囲まれる領域を処理画面領域とすれば読み取りパターン16は必ず画像表示画面15内に存在することになる。
(3,3)、(1,n−3)、(m−3、n−3)、(3、n−3)で囲まれる領域の全てのピクセルに対してヒストグラム平均化処理が終了した時点で、(4,4)、(4,6)、(6,6)、(6,4)で囲まれた領域のデータを(1,1)、(1,3)、(3,3)、(1,3)で囲まれた領域に平行移動してピクセル(4、4)のデータがピクセル(1、1)となり、ピクセル(6,6)のデータがピクセル(3、3)になるようにコピーする。
同様に、ピクセル(m−5,4)、(m−5,6)、(m−3,4)、(m−3,6)で囲まれた領域のデータをピクセル(m−2,1)、(m−2,3)、(m,3)、(m,1)で囲まれた領域にコピーする。
図3(e)は、画面四隅を除く1〜3行目およびm−2〜m行目のデータコピー方法を図示したものである。ピクセル(4,4)、(4,n−3)、(3、n−3)、(6、4)で囲まれた領域のデータを左方向に3セル分シフトして、ピクセル(1,4)、(1,n−3)、(3、n−3)、(3、4)の領域にコピーする。
同様に、ピクセル(m−5,4)、(m−5,n−3)、(m−3、n−3)、(m−3、4)で囲まれた領域のデータを下方向に3ピクセル分シフトして、ピクセル(m−2,4)、(m−2,n−3)、(m,n−3)、(m、4)の領域にコピーする。
図3(f)は、画面四隅を除く1〜3列目のデータコピー方法を図示したものである。ピクセル(4,4)、(4,6)、(m−3、6)、(m−3、4)で囲まれた領域のデータを左方向に3ピクセル分シフトして、ピクセル(4,1)、(4,3)、(m−3、3)、(m−3、1)の領域にコピーする。
同様に、ピクセル(4,n−5)、(4,n−3)、(m−3、n−3)、(m−3、n−5)で囲まれた領域のデータを下方向に3ピクセル分シフトして、ピクセル(4,n−2)、(4,n)、(m−3,n)、(m−3、n−2)の領域にコピーする。
ここで、ヒストグラムとはヒストグラム抽出エリア内の各ピクセルの明るさの分布として定義する。明るさが8ビット情報であれば明るさを示す256個の配列となる。
上記に述べたように、明るすぎる画像や暗すぎる画像についてはヒストグラムの平均化を行うことでディテール抽出が可能となり、明るい部分と暗い部分が混在している画像においては領域を区切ってそれぞれの領域内で別々にヒストグラムの平均化を行えば境界部分のディテールも抽出することが出来る。
しかしエリアを区切るアルゴリズムは複雑になると予想出来るし、エリアの境界を画像上で自然に繋ぐにはフェードなどの処理が必要となってしまい、エリアは小さい範囲で多数に分割する方がより自然にディテールを抽出出来るが、エリアが狭すぎるとエリア周辺とのつながりが不自然になり、エリアと同サイズのディテールを抽出することが出来ない場合がある等の問題がある。
そこで、算出エリアを1ピクセルとし、そのピクセルの明るさを決めるために周辺のヒストグラムを利用してヒストグラムの平均化の算出を行うことを考案した。
算出エリアを1ピクセルとすることで次のメリットが考えられる。
− エリアを区切る算出過程が不要となり、ヒストグラムの平均化1パスのみで実現出来る。
− エリア境界の合成を考える必要がない。
− エリアと同サイズのディテールを失う問題を回避出来る。
ただし、全ピクセル(VGAで約30万)に対してヒストグラムの平均化計算が必要となり、この計算量を減らすアルゴリズムが必要となる。
配列の添え字番号を明るさとして、各要素はその明るさを持つピクセルの数が格納される。
一般的には配列をクリアした後にエリアを走査してピクセルの明るさを取得し、各配列の要素をインクリメントすることで実装される。
本アルゴリズムではピクセル単位で算出を行うため、最初の1ピクセルでは上記算出が必要になるが、2回目は着目ピクセル17が右へひとつ移動するだけであるため、ヒストグラムを再計算する必要はなく、移動によって失った左列のピクセルを減算し、追加された右列のピクセルを加算するだけでよい。
このようにピクセル単位でヒストグラムの平均化を算出することでヒストグラムの更新は大幅に省力化が可能となる。
また、処理は各ラインで独立しているため、一般的なグラフィックボードに搭載されているピクセルを利用して並列処理を行って高速な処理が可能となり、256セルのグラフィックボードだと2ライン分の処理時間で処理が完了する。
一般的なヒストグラムの平均化算出は前項で算出したヒストグラム配列を元に明るさ変換テーブルを生成し、変換テーブルに従って明るさを算出する。
以下に、一般的なテーブルの算出アルゴリズムを示す。(明るさは8ビットを想定、ヒストグラム配列はhist、変換テーブル配列はtable、エリア内の画素数の合計をtotalとしている)
for ( i=n=0; i<256; i++) {
n = n + hist[ i ];
table[ i ] = n * 256 / total;
}
この後、以下のようなアルゴリズムを使って変換テーブルに従ってエリアの明るさを算出する。
for ( i=0; i<dy; i++) {
for ( j=0; j<dx; j++) {
p = get_pix( x + j , y + i);
p = table[ p ];
put_pix( x + j , y + i , p );
}
}
上記において、x,yはエリア原点、dx,dyはエリア範囲、get_pix(x,y)は画像の明るさを取得する関数、put_pix(x,y,p)は変換先画像へ算出後の明るさを格納する関数である。
ここで、本アルゴリズムでは算出エリアを1ピクセルとしたため、上記例のようなループは不要となる。また、変換テーブルも算出対象となっているピクセルの明るさのみ変換出来ればよいので、段落(0061)および(0062)と同等処理のアルゴリズムは下記のようになる。
p = get_pix( x , y );
for ( i=n=0; i<=p; i++){
n = n + hist[ i ];
}
p = n * 256 / total;
put_pix( x , y , p );
白黒画像の場合は本アルゴリズムをそのまま適応可能であるが、カラー画像の場合は、一般的には色情報と明るさ情報を分ける必要がある。
一般的にヒストリの平均化はRGBの各プレーンに対して処理されるが、本件ではJPEGやMPEGなどで用いられている色空間を利用することで、グラフィックボードが持つ基本機能を使って色空間を分離し、必要なプレーンのみを処理することで白黒画像と同等の処理となっている。
色空間と処理するプレーンの対応は例えば下記のものが考えられる。
YCbCr : Yプレーン
HSV : Vプレーン
Lab : Lプレーン
HLS : Lプレーン
入力画像はグラフィックボードの内部表現に合わせて上記の色空間から選択し、輝度プレーンのみを処理することでRGB変換処理と3回同じ処理の繰り返しや色相の変動を回避する。
図4はピクセル単位検出のヒストグラム最適化の原理図である。本実施例においては、図4(a)読み取りパターン16において選択ピクセルのヒストグラムを計算し、着目ピクセル17の値を段落(0064)のアルゴリズムで計算する。
その後、ヒストグラム計算のための選択ピクセルは右へシフトする。
着目ピクセル17が1ピクセル右へ移動した図4(b)においては、ヒストグラム計算における選択ピクセル1行目から7行目までのうち2列目〜7列目は図4(a)と共通であるが、新たに2列目〜7列目までの8列目が追加となっている。
よって2列目〜7列目までの8列目にあるピクセルについては新たな計算対象となるが、これは前回のヒストグラムの計算において、ピクセル(1,1)、(1、7)、(7、1)、(7,7)で囲まれる領域のヒストグラムの合計値から2列目〜7列目までの1列目のデータを減算し、2列目〜7列目までの8列目のデータを加算すれば容易にヒストグラムを計算することができる。
図4(b)の実線領域は次の計算時の計算エリアを示し、4行5列目のピクセルがヒストリ平均化による明るさ算出対象となる着目ピクセル17、ピクセル(1、2)、(1,8)、(7,2)、(7、8)で囲まれる領域から着目ピクセル(4、5)を除いた領域が計算領域となるが、前述の通り、実際の計算は、前の計算値から1列目のヒストグラムを減算し、5列目を加算するだけなので短時間で処理できる。
図5は、ひとつおきにピクセルを移動させて計算する例である。本発明においては、上記の如くピクセルを1つずつスキャンさせる方法以外に、前記所定のパターンは水平走査方向に移動させる際に、前記所定パターン全体が前記画面内にある場合には、移動前後のパターンは重複部分において所定オーバーラップ部分を持たせながら所定規則に従って移動させることで間引き処理を行い、画面全体に対するコントラストを改善させながら処理の高速化ができる。以下に、前記間引き高速処理の詳細を説明する。
最初に図5(a)に示すように、ピクセル(1,1)、(1、5)、(5,1)、(5,5)で囲まれる領域において、ピクセル(1,1)からピクセル(5,1)までの領域とピクセル(1,3)と(2,3)の領域、ピクセル(4,3)と(5,3)の領域、ピクセル(1、5)から(5,5)までの領域についてピクセルの平均値を計算し、着目ピクセル17であるピクセル(3,3)の値を決定する。
次に、図5(b)のように水平方向に2ピクセル分移動して、着目ピクセル17をピクセル(3,5)とし、ピクセル(1,3)、(1、7)、(5,3)、(5,7)で囲まれる領域において、ピクセル(1,3)からピクセル(5,3)までの領域とピクセル(1,5)と(2,5)の領域、ピクセル(4,5)と(5,5)の領域、ピクセル(1、7)から(5,7)までの領域についてピクセルの平均値を計算し、着目ピクセル17であるピクセル(3,5)の値を決定する。
図6は並列処理の例である。処理を複数の計算セルに分散し、並列処理することにより計算時間を短縮できる。図6(a)において、ピクセル(1,1)、(1,5)、(5、1)、(5,5)で囲まれた領域が第1読み取りパターン16で、ピクセル(6,1)、(6,5)、(10、1)、(10,5)で囲まれた領域が第2パターン16aである。
第1読み取りパターン16では、ピクセル(1,1)〜(5、1)と、ピクセル(1,3)及び(2,3)と、ピクセル(4,3)及び(5,3)と、ピクセル(1,5)〜(5,5)のヒストグラムを計算し、その平均値を使ってピクセル(3,3)の値を決定する。
第2読み取りパターン16aでは、ピクセル(6,1)〜(10、1)と、ピクセル(6,3)及び(7,3)と、ピクセル(9,3)及び(10,3)と、ピクセル(6,5)〜(10,5)のヒストグラムを計算し、その平均値を使ってピクセル(3,3)の値を決定する。
図7(a)は元画像の例であり、森の手前にある橋付近を夕方撮影したものである。全体的に暗い画面となっている。
図7(b)は、本発明によるアルゴリズムで補正した画像で、森の手前にある橋付近が認識できる画像となっている。
本発明の画像処理方法で採用したアルゴリズムを使うことにより、短時間で画像処理できるので、図5にある静止画のみならず、同様の暗い場面を撮影したビデオ画像でもリアルタイムに再生することができるので監視カメラや室内の窓など同一画面内において極端に明るい部分と暗い部分が混在する場面を撮影したビデオ画像においても画像補整に有効な技術である。
本発明の画像処理方法を使うことにより、監視カメラだけでなく、一般のビデオカメラにおいても高価な明るいレンズを使わなくとも回路で補正することにより暗視カメラに近い高い感度を持たせることができるので安価に高性能な映像機器を市場に提供することにより映像芸術の世界を広げることができる。
1 CPU
2a ROM
2b RAM
2c 本体メモリ
3 システムバス
4 I/F(PCI等)
5 I/F(I/O等)
6 フレームグラバ
7 操作装置
8 外部接続ポート
9 GPU
10 GPUメモリ
11 フレームバッファ(処理用)
12 フレームバッファ(出力用)
13 表示出力回路
14 ディスプレイ
15 画像表示画面
16 読み取りパターン
16a 読み取りパターン
17 着目ピクセル
17a 着目ピクセル

Claims (3)

  1. 動画のフレーム毎又は静止画の画像処理方法であって、
    被写体を撮影した画像からピクセル単位の画像データを取り込む取込手段と、取り込んだ画像データを特定の色空間に分解した後に輝度のヒストグラムを生成するヒストグラム生成手段を備え、
    前記取込手段にて前記画像を色別に所定のパターンで読み出し、前記ヒストグラム生成手段を使って前記パターンの中の特定位置のピクセルの周囲の平均ヒストグラムを生成し、この平均ヒストグラムを使って前記特定位置のピクセルの輝度を設定することを特徴とする画像処理方法。
  2. 請求項1に記載の画像処理方法において、前記特定位置のピクセルの輝度を設定した後に、所定規則に従ってピクセルと所定パターンを移動させ、移動後の所定パターンの平均ヒストグラムを生成する際に、移動前後で重複しなくなったピクセルのヒストグラムを減算し且つ新たに所定パターンのエリアに入ったピクセルのヒストグラムのみを加算することを特徴とする画像処理方法。
  3. 請求項1又は2に記載の画像処理方法において、前記所定のパターンは水平走査方向に移動させた場合に、
    前記所定パターン全体が前記画面内にある場合には、移動前後のパターンは重複部分において所定オーバーラップ部分を持たせながら所定規則に従って移動させることを特徴とする画像処理方法。
JP2009025941A 2009-02-06 2009-02-06 画像処理装置 Active JP4386959B1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009025941A JP4386959B1 (ja) 2009-02-06 2009-02-06 画像処理装置
US13/145,388 US8724196B2 (en) 2009-02-06 2009-12-24 Image processing device
PCT/JP2009/007201 WO2010089836A1 (ja) 2009-02-06 2009-12-24 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009025941A JP4386959B1 (ja) 2009-02-06 2009-02-06 画像処理装置

Publications (2)

Publication Number Publication Date
JP4386959B1 JP4386959B1 (ja) 2009-12-16
JP2010183409A true JP2010183409A (ja) 2010-08-19

Family

ID=41549814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009025941A Active JP4386959B1 (ja) 2009-02-06 2009-02-06 画像処理装置

Country Status (3)

Country Link
US (1) US8724196B2 (ja)
JP (1) JP4386959B1 (ja)
WO (1) WO2010089836A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012090230A (ja) * 2010-10-22 2012-05-10 Canon Inc 画像処理装置およびその制御方法
US9082163B2 (en) 2012-05-21 2015-07-14 Masahiro Kobayashi Image processing device
WO2022158010A1 (ja) * 2021-01-22 2022-07-28 株式会社ロジック・アンド・デザイン 画像処理方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102917180B (zh) * 2011-08-05 2015-03-25 佳能企业股份有限公司 影像撷取方法及影像撷取装置
TWI473039B (zh) * 2013-03-05 2015-02-11 Univ Tamkang 影像的動態範圍壓縮與局部對比增強方法及影像處理裝置
WO2017132858A1 (en) * 2016-02-03 2017-08-10 Chongqing University Of Posts And Telecommunications Methods, systems, and media for image processing
US11049224B2 (en) 2018-12-05 2021-06-29 Microsoft Technology Licensing, Llc Automated real-time high dynamic range content review system
TWI727306B (zh) * 2019-04-16 2021-05-11 瑞昱半導體股份有限公司 對比調整系統及對比調整方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3501252B2 (ja) * 1995-06-16 2004-03-02 三菱電機株式会社 階調補正装置
JPH099040A (ja) * 1995-06-21 1997-01-10 Minolta Co Ltd 画像処理装置
JP2002142150A (ja) 2000-10-31 2002-05-17 Hitachi Ltd 撮像装置
GB0110748D0 (en) 2001-05-02 2001-06-27 Apical Ltd Image enhancement methods and apparatus therefor
JP2003051944A (ja) 2001-08-07 2003-02-21 Canon Inc 画像処理方法、画像処理システム、プログラム及び記憶媒体
JP3918788B2 (ja) * 2003-08-06 2007-05-23 コニカミノルタフォトイメージング株式会社 撮像装置、およびプログラム
JP4774915B2 (ja) 2005-10-26 2011-09-21 カシオ計算機株式会社 撮像装置、階調補正方法及びプログラム
US7639893B2 (en) * 2006-05-17 2009-12-29 Xerox Corporation Histogram adjustment for high dynamic range image mapping
JP4664938B2 (ja) * 2007-03-30 2011-04-06 パナソニック株式会社 画像処理装置、画像処理方法及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012090230A (ja) * 2010-10-22 2012-05-10 Canon Inc 画像処理装置およびその制御方法
US9082163B2 (en) 2012-05-21 2015-07-14 Masahiro Kobayashi Image processing device
WO2022158010A1 (ja) * 2021-01-22 2022-07-28 株式会社ロジック・アンド・デザイン 画像処理方法

Also Published As

Publication number Publication date
WO2010089836A1 (ja) 2010-08-12
US20110273748A1 (en) 2011-11-10
US8724196B2 (en) 2014-05-13
JP4386959B1 (ja) 2009-12-16

Similar Documents

Publication Publication Date Title
JP4386959B1 (ja) 画像処理装置
JP7077395B2 (ja) 多重化高ダイナミックレンジ画像
JP2007060457A (ja) 画像信号処理装置および画像信号処理方法
KR100548611B1 (ko) 영상 처리에 있어서의 에지 강조를 위한 장치 및 방법
JP2011124948A (ja) 情報処理装置、情報処理方法、プログラム、及び光学顕微鏡を搭載した撮像装置
JPWO2006134923A1 (ja) 画像処理装置、コンピュータプログラム製品および画像処理方法
CN111970432A (zh) 一种图像处理方法及图像处理装置
JP4985660B2 (ja) 擬似濃淡画像生成装置及びプログラム
JP2010193037A (ja) 擬似カラー画像生成装置、及びプログラム
JP4694306B2 (ja) 輪郭強調処理ユニット
JP7057079B2 (ja) 画像処理装置、撮像装置、画像処理方法、及びプログラム
KR20220030877A (ko) 다양한 인트라-프레임 아날로그 비닝을 사용하는 이미지 센서
JP2006262062A (ja) 画像処理装置および画像処理プログラム
JP5218634B2 (ja) 擬似濃淡画像生成装置及びプログラム
JP5256236B2 (ja) 画像処理装置および方法,ならびに画像処理プログラム
JP5178933B1 (ja) 画像処理装置
JP7442989B2 (ja) 撮像装置、該撮像装置の制御方法、及びプログラム
JP4306687B2 (ja) 画像処理方法、画像処理プログラムおよび画像処理装置
JP5883715B2 (ja) 画像処理lsi、画像処理システムおよび画像処理方法
JP2009239772A (ja) 撮像装置、画像処理装置、および画像処理方法、並びにプログラム
JP4764177B2 (ja) 投影型表示装置、書き込み画像抽出方法及びそのプログラム並びにこれが記録されたコンピュータが読み取り可能な情報記録媒体
KR100688757B1 (ko) 이미지 데이터의 에지 강조 장치 및 방법
JP2005136497A (ja) 画像処理方法、画像処理装置
JP4677924B2 (ja) 撮影システム、動画像処理方法および動画像処理装置
JP2011193487A (ja) 擬似カラー画像生成装置、及びプログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090929

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090929

R150 Certificate of patent or registration of utility model

Ref document number: 4386959

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151009

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250