(57)【特許請求の範囲】
【請求項１】
画像データの現在の画面におけるそれぞれのラインのライン平均輝度と、前記現在の画面の少なくとも１画面前の画面である過去の画面の全画面平均輝度と算出し、それぞれのラインの前記ライン平均輝度と前記全画面平均輝度とを比較することによって、画面の一部のラインがフラッシュの発光によって高輝度となっているか否かを検出するフラッシュ検出部と、
前記画像データの前記過去の画面を保持する保持部と、
前記フラッシュ検出部によって前記現在の画面の一部のラインが高輝度となっていることが検出されたら、前記現在の画面における高輝度となっているラインを前記保持部に保持された前記過去の画面のラインに置換することにより画像データを補正するフラッシュ補正部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記フラッシュ検出部は、前記ライン平均輝度と前記全画面平均輝度との差分が第１の閾値以上であるラインに基づいて、フラッシュの発光によって高輝度となっている複数のラインの開始ラインを決定し、前記ライン平均輝度と前記全画面平均輝度との差分が、前記第１の閾値より小さい値である第２の閾値未満であるラインに基づいて、フラッシュの発光によって高輝度となっている複数のラインの終了ラインを決定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記フラッシュ検出部は、フラッシュの発光によって高輝度となっている最初のラインであるフラッシュ開始ラインと最後のラインであるフラッシュ終了ラインとを検出し、
前記フラッシュ補正部は、前記フラッシュ開始ラインよりも上方に位置し、前記フラッシュ開始ラインに隣接する第１の隣接領域と、前記フラッシュ終了ラインよりも下方に位置し、前記フラッシュ終了ラインに隣接する第２の隣接領域とをそれぞれ設定し、前記第１の隣接領域では、前記第１の隣接領域の最初のラインから最後のラインに進行するに従って前記現在の画面の画像データを順次減少させ、前記過去の画面の画像データを順次増加させるように両者の画像データを混合し、前記第２の隣接領域では、前記第２の隣接領域の最初のラインから最後のラインに進行するに従って前記過去の画面の画像データを順次減少させ、前記現在の画面の画像データを順次増加させるように両者の画像データを混合する
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記フラッシュ検出部は、フラッシュの発光によって高輝度となっている最初のラインであるフラッシュ開始ラインと最後のラインであるフラッシュ終了ラインとを検出し、
前記フラッシュ補正部は、前記フラッシュ開始ラインよりも上方に位置し、前記フラッシュ開始ラインに隣接する第１の隣接領域と、前記フラッシュ終了ラインよりも下方に位置し、前記フラッシュ終了ラインに隣接する第２の隣接領域とをそれぞれ設定し、前記第１及び第２の隣接領域では、前記第１及び第２の隣接領域内のそれぞれの画素の明るさが第３の閾値より小さければ前記現在の画面の画素データのみとし、前記第３の閾値より大きい値である第４の閾値より大きければ前記過去の画面の画素データのみとし、前記第３の閾値以上前記第４の閾値以下であれば前記現在の画面の画素データと前記過去の画面の画素データとを混合する
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項５】
画像データにおける現在の画面におけるそれぞれのラインのライン平均輝度を算出し、
前記画像データにおける前記現在の画面の少なくとも１画面前の画面である過去の画面の全画面平均輝度を算出し、
それぞれのラインの前記ライン平均輝度と前記全画面平均輝度とを比較することによって、画面の一部のラインがフラッシュの発光によって高輝度となっているか否かを検出し、
前記画像データの前記過去の画面を保持部に保持し、
前記現在の画面の一部のラインが高輝度となっていることが検出されたら、前記現在の画面における高輝度となっているラインを前記保持部に保持された前記過去の画面のラインに置換することにより画像データを補正する
ことを特徴とする画像処理方法。
【請求項６】
前記ライン平均輝度と前記全画面平均輝度との差分が第１の閾値以上であるラインに基づいて、フラッシュの発光によって高輝度となっている複数のラインの開始ラインを決定し、前記ライン平均輝度と前記全画面平均輝度との差分が、前記第１の閾値より小さい値である第２の閾値未満であるラインに基づいて、フラッシュの発光によって高輝度となっている複数のラインの終了ラインを決定することを特徴とする請求項５記載の画像処理方法。
【請求項７】
フラッシュの発光によって高輝度となっている最初のラインであるフラッシュ開始ラインと最後のラインであるフラッシュ終了ラインとを検出し、
前記フラッシュ開始ラインよりも上方に位置し、前記フラッシュ開始ラインに隣接する第１の隣接領域と、前記フラッシュ終了ラインよりも下方に位置し、前記フラッシュ終了ラインに隣接する第２の隣接領域とをそれぞれ設定し、
前記第１の隣接領域では、前記第１の隣接領域の最初のラインから最後のラインに進行するに従って前記現在の画面の画像データを順次減少させ、前記過去の画面の画像データを順次増加させるように両者の画像データを混合し、
前記第２の隣接領域では、前記第２の隣接領域の最初のラインから最後のラインに進行するに従って前記過去の画面の画像データを順次減少させ、前記現在の画面の画像データを順次増加させるように両者の画像データを混合する
ことを特徴とする請求項５または６に記載の画像処理方法。
【請求項８】
フラッシュの発光によって高輝度となっている最初のラインであるフラッシュ開始ラインと最後のラインであるフラッシュ終了ラインとを検出し、
前記フラッシュ開始ラインよりも上方に位置し、前記フラッシュ開始ラインに隣接する第１の隣接領域と、前記フラッシュ終了ラインよりも下方に位置し、前記フラッシュ終了ラインに隣接する第２の隣接領域とをそれぞれ設定し、
前記第１及び第２の隣接領域では、前記第１及び第２の隣接領域内のそれぞれの画素の明るさが第３の閾値より小さければ前記現在の画面の画素データのみとし、前記第３の閾値より大きい値である第４の閾値より大きければ前記過去の画面の画素データのみとし、前記第３の閾値以上前記第４の閾値以下であれば前記現在の画面の画素データと前記過去の画面の画素データとを混合する
ことを特徴とする請求項５または６に記載の画像処理方法。
【請求項９】
コンピュータに、
画像データにおける現在の画面におけるそれぞれのラインのライン平均輝度を算出する機能と、
前記画像データにおける前記現在の画面の少なくとも１画面前の画面である過去の画面の全画面平均輝度を算出する機能と、
それぞれのラインの前記ライン平均輝度と前記全画面平均輝度とを比較することによって、画面の一部のラインがフラッシュの発光によって高輝度となっているか否かを検出する機能と、
前記現在の画面の一部のラインが高輝度となっていることが検出されたら、前記現在の画面における高輝度となっているラインを保持部に保持された前記過去の画面のラインに置換することにより画像データを補正する機能と、
を実現させることを特徴とする画像処理プログラム。
【請求項１０】
コンピュータに、前記ライン平均輝度と前記全画面平均輝度との差分が第１の閾値以上であるラインに基づいて、フラッシュの発光によって高輝度となっている複数のラインの開始ラインを決定させ、前記ライン平均輝度と前記全画面平均輝度との差分が、前記第１の閾値より小さい値である第２の閾値未満であるラインに基づいて、フラッシュの発光によって高輝度となっている複数のラインの終了ラインを決定させる機能を実現させることを特徴とする請求項９記載の画像処理プログラム。
【請求項１１】
前記コンピュータに、
フラッシュの発光によって高輝度となっている最初のラインであるフラッシュ開始ラインと最後のラインであるフラッシュ終了ラインとを検出する機能と、
前記フラッシュ開始ラインよりも上方に位置し、前記フラッシュ開始ラインに隣接する第１の隣接領域と、前記フラッシュ終了ラインよりも下方に位置し、前記フラッシュ終了ラインに隣接する第２の隣接領域とをそれぞれ設定する機能と、
前記第１の隣接領域では、前記第１の隣接領域の最初のラインから最後のラインに進行するに従って前記現在の画面の画像データを順次減少させ、前記過去の画面の画像データを順次増加させるように両者の画像データを混合する機能と、
前記第２の隣接領域では、前記第２の隣接領域の最初のラインから最後のラインに進行するに従って前記過去の画面の画像データを順次減少させ、前記現在の画面の画像データを順次増加させるように両者の画像データを混合する機能と、
を実現させることを特徴とする請求項９または１０に記載の画像処理プログラム。
【請求項１２】
前記コンピュータに、
フラッシュの発光によって高輝度となっている最初のラインであるフラッシュ開始ラインと最後のラインであるフラッシュ終了ラインとを検出する機能と、
前記フラッシュ開始ラインよりも上方に位置し、前記フラッシュ開始ラインに隣接する第１の隣接領域と、前記フラッシュ終了ラインよりも下方に位置し、前記フラッシュ終了ラインに隣接する第２の隣接領域とをそれぞれ設定する機能と、
前記第１及び第２の隣接領域では、前記第１及び第２の隣接領域内のそれぞれの画素の明るさが第３の閾値より小さければ前記現在の画面の画素データのみとし、前記第３の閾値より大きい値である第４の閾値より大きければ前記過去の画面の画素データのみとし、前記第３の閾値以上前記第４の閾値以下であれば前記現在の画面の画素データと前記過去の画面の画素データとを混合する機能と、
を実現させることを特徴とする請求項９または１０に記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の撮影時に撮影者以外の他者のフラッシュ等によって、画像の明るさが不連続となった画面を補正することができる画像処理装置、画像処理方法、画像処理プログラムに関する。
【背景技術】
【０００２】
近年、ビデオカメラ等の撮像装置においては、CMOS（Complementary Metal Oxide Semiconductor）センサが数多く採用されている。CMOSセンサにおける撮像信号の読み出しは、全画素で同一タイミングでなく、ライン単位で順次、リセット、露光、読み出しを行うことにより、読み出しタイミングがライン方向に順次ずれていくローリングシャッタ方式にて行われる。
【０００３】
このため、例えば結婚式等において多数のビデオカメラやスチルカメラが、同一の被写体を同時に撮影する場合において、他者のフラッシュによる発光期間が短く強い光が一部のラインのみの露光期間中にCMOSセンサに入射することがある。この場合、撮像する画面の一部で露光量が異なり、画面内に白帯状の明るい領域が発生して不連続な画像となってしまう。この問題点はフラッシュに限らず、フラッシュと同様の発光期間が短く強い光がCMOSセンサに入射した場合も同様に発生する。
【０００４】
この問題点の解決策が例えば特許文献１〜３に記載されているように種々提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２１３２２０号公報
【特許文献２】特開２０１１−１５２２２号公報
【特許文献３】特開２０１１−１０１２０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
フラッシュ等の発光期間が短く強い光がCMOSセンサに入射して画面内で画像の明るさが不連続となったことを、極力、誤検出少なく検出して補正することが求められる。また、画面内で画像の明るさが不連続となったことを検出するためにメモリリソースが増大することは好ましくない。メモリリソースが増大せず、画像の明るさが不連続となったことを検出することが求められる。さらに、画像の明るさが不連続となったことを検出して補正した場合に補正処理による遅延を極力少なくすることが求められる。
【０００７】
本発明はこのような要望に対応するため、画面内で画像の明るさが不連続となったことを精度よく検出することができる画像処理装置、画像処理方法、画像処理プログラムを提供することを目的とする。また、メモリリソースを増大させることなく、画面内で画像の明るさが不連続となったことを検出することができる画像処理装置、画像処理方法、画像処理プログラムを提供することを目的とする。さらに、画像の明るさの不連続を補正した場合に補正処理による遅延を少なくすることができる画像処理装置、画像処理方法、画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上述した従来の技術の課題を解決するため、画像データの現在の画面におけるそれぞれのラインのライン平均輝度と、前記現在の画面の少なくとも１画面前の画面である過去の画面の全画面平均輝度と算出し、それぞれのラインの前記ライン平均輝度と前記全画面平均輝度とを比較することによって、画面の一部のラインがフラッシュの発光によって高輝度となっているか否かを検出するフラッシュ検出部（２，２０）と、前記画像データの前記過去の画面を保持する保持部（４）と、前記フラッシュ検出部によって前記現在の画面の一部のラインが高輝度となっていることが検出されたら、前記現在の画面における高輝度となっているラインを前記保持部に保持された前記過去の画面のラインに置換することにより画像データを補正するフラッシュ補正部（８）とを備えることを特徴とする画像処理装置を提供する。
【０００９】
また、本発明は、上述した従来の技術の課題を解決するため、画像データにおける現在の画面におけるそれぞれのラインのライン平均輝度を算出し、前記画像データにおける前記現在の画面の少なくとも１画面前の画面である過去の画面の全画面平均輝度を算出し、それぞれのラインの前記ライン平均輝度と前記全画面平均輝度とを比較することによって、画面の一部のラインがフラッシュの発光によって高輝度となっているか否かを検出し、前記画像データの前記過去の画面を保持部に保持し、前記現在の画面の一部のラインが高輝度となっていることが検出されたら、前記現在の画面における高輝度となっているラインを前記保持部に保持された前記過去の画面のラインに置換することにより画像データを補正することを特徴とする画像処理方法を提供する。
【００１０】
さらに、本発明は、上述した従来の技術の課題を解決するため、コンピュータに、画像データにおける現在の画面におけるそれぞれのラインのライン平均輝度を算出する機能と、前記画像データにおける前記現在の画面の少なくとも１画面前の画面である過去の画面の全画面平均輝度を算出する機能と、それぞれのラインの前記ライン平均輝度と前記全画面平均輝度とを比較することによって、画面の一部のラインがフラッシュの発光によって高輝度となっているか否かを検出する機能と、前記現在の画面の一部のラインが高輝度となっていることが検出されたら、前記現在の画面における高輝度となっているラインを保持部に保持された前記過去の画面のラインに置換することにより画像データを補正する機能とを実現させることを特徴とする画像処理プログラムを提供する。
【発明の効果】
【００１１】
本発明の画像処理装置、画像処理方法、画像処理プログラムによれば、画面内で画像の明るさが不連続となったことを精度よく検出することができる。また、本発明の画像処理装置、画像処理方法、画像処理プログラムによれば、メモリリソースを増大させることなく、画面内で画像の明るさが不連続となったことを検出することができる。さらに、本発明の画像処理装置、画像処理方法、画像処理プログラムによれば、画像の明るさの不連続を補正した場合に補正処理による遅延を少なくすることができる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態の画像処理装置を示すブロック図である。
【図２】CMOSセンサを用いた動画像の撮影時にフラッシュの発光によって発生する画像の明るさが不連続となる現象を説明するための図である。
【図３】第１実施形態の画像処理装置における撮影及び記録処理の全体的な流れを示すフローチャートである。
【図４】第１実施形態におけるフラッシュ検出・補正処理の詳細を示すフローチャートである。
【図５】図４におけるステップＳ305，Ｓ310で用いる閾値の好ましい例を説明するための図である。
【図６】第１実施形態による画像データの補正を説明するための図である。
【図７】第２実施形態の画像処理装置を示すブロック図である。
【図８】第２実施形態におけるフラッシュ検出・補正処理の詳細を示すフローチャートである。
【図９】第２実施形態による効果を説明するための図である。
【図１０】第３実施形態におけるフラッシュ検出・補正処理の詳細を示すフローチャートである。
【図１１】第３実施形態による動作を説明するための隣接領域を示す図である。
【図１２】第３実施形態による動作を説明するための混合特性を示す図である。
【図１３】第４実施形態におけるフラッシュ検出・補正処理の詳細を示すフローチャートである。
【図１４】第４及び第５実施形態による効果を説明するための図である。
【図１５】第５実施形態におけるフラッシュ検出・補正処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の画像処理装置、画像処理方法、画像処理プログラムの各実施形態について、添付図面を参照して説明する。各実施形態においては、画像処理装置をビデオカメラに適用し、ビデオカメラで行われる画像処理方法、ビデオカメラに搭載されているコンピュータに画像処理を実行させる画像処理プログラムを例として説明する。
【００１４】
＜第１実施形態＞
図１を用いて、第１実施形態の画像処理装置であるビデオカメラ１０１の全体構成について説明する。ビデオカメラ１０１は、撮像部１，フラッシュ検出部２，画像信号処理部３，バッファメモリ４，圧縮伸張処理部５，出力信号処理部６，表示部７，フラッシュ補正部８，制御部９，メモリ１０，記録再生部１１，操作スイッチ１２を備える。
【００１５】
撮像部１は、レンズや絞り等の光学系（図示せず）、CMOSセンサ１ｓ、露出やピントの制御機構（図示せず）等を有する。一例として、撮像部１は３つのCMOSセンサ１ｓを有し、３つのCMOSセンサ１ｓから赤，緑，青それぞれの色信号であるＲ，Ｇ，Ｂ信号を示す電気信号を出力する。勿論、CMOSセンサ１ｓは１つであってもよい。撮像部１は、レンズを介してCMOSセンサ１ｓに入力された光情報を所定のタイミングで電気信号として取り出し、電気信号をフラッシュ検出部２及び画像信号処理部３に供給する。
【００１６】
フラッシュ検出部２は、ライン平均輝度算出部２１，ライン平均輝度保持部２２，全画面平均輝度算出部２３，全画面平均輝度保持部２４，差分算出部２５，フラッシュ判定部２６を有する。フラッシュ検出部２は、制御部９による制御に従って以下のようにフラッシュの発光を検出する。
【００１７】
ライン平均輝度算出部２１は、撮像部１から供給された電気信号におけるラインごとの明るさの平均を算出する。第１実施形態においては、Ｒ，Ｇ，Ｂ信号の内、Ｇ信号に基づいてラインごとの明るさの平均を算出する。具体的には、ライン平均輝度算出部２１は、Ｇ信号の値を１ラインの有効画素分に渡って加算し、有効画素数で除算することによって１ラインの明るさの平均（ライン平均輝度）を算出する。ライン平均輝度を算出する基にする信号はＧ信号に限定されるものではない。
【００１８】
ライン平均輝度算出部２１によって算出されたライン平均輝度は、ライン平均輝度保持部２２及び全画面平均輝度算出部２３に入力される。ライン平均輝度保持部２２は、ライン平均輝度算出部２１によって算出されたライン平均輝度を一時的に保持する。全画面平均輝度算出部２３は、１画面（１フレーム）全体の明るさの平均を算出する。具体的には、全画面平均輝度算出部２３は、順次入力されるライン平均輝度を１画面の有効ラインに渡って加算し、有効ライン数で除算することによって１画面全体の明るさの平均（全画面平均輝度）を算出する。全画面平均輝度保持部２４は、全画面平均輝度を一時的に保持する。
【００１９】
差分算出部２５には、ライン平均輝度保持部２２で保持されたライン平均輝度と、全画面平均輝度保持部２４で保持された全画面平均輝度とが入力される。なお、全画面平均輝度を算出した画面とライン平均輝度を算出した画面とは１画面ずれており、全画面平均輝度を算出した画面は、ライン平均輝度を算出した画面の１画面前の画面である。１画面前の画面の全画面平均輝度を１画面の期間保持しておき、２画面前の画面の全画面平均輝度として用いてもよい。また、１画面前の画面の全画面平均輝度と２画面前の画面の全画面平均輝度との双方を保持し、１画面前の画面がフラッシュの発光の影響を受けている場合に、２画面前の画面の全画面平均輝度を用いるようにしてもよい。
【００２０】
第１実施形態では、ライン平均輝度を算出している画面を現在の画面、全画面平均輝度を算出した画面を１画面前の画面とする。差分算出部２５は、現在の画面におけるそれぞれのライン平均輝度と１画面前の画面における全画面平均輝度との差分を順次算出する。差分算出部２５は差分の絶対値をとり、差分値として出力する。
【００２１】
差分算出部２５によって算出された差分値は、フラッシュ判定部２６に入力される。フラッシュ判定部２６は、ラインごとの差分値が設定された閾値以上であるか否かを判定するとともに、差分値が閾値以上である状態が予め設定したライン数以上継続するか否かを判定する。フラッシュ判定部２６は、差分値が閾値以上である状態が予め設定したライン数以上継続したと判定した場合に、フラッシュの発光によって画像の明るさが不連続となったと検出する。フラッシュ判定部２６は、フラッシュが発光したことを示す検出信号と併せて、フラッシュの発光の開始時点である差分値が閾値以上となった最初のライン番号を示すデータと、差分値が閾値未満となった最初のライン番号を示すデータとを出力する。差分値が閾値未満となった最初のラインの１ライン前のラインがフラッシュの発光の最終ラインである。
【００２２】
なお、フラッシュ判定部２６は、例えば、フラッシュが発光したと判定した場合にはフラッシュが発光したことを示す検出信号として“１”を、フラッシュが発光しなかったと判定した場合にはフラッシュが発光しなかったことを示す検出信号として“０”を生成すればよい。
【００２３】
以上の説明より分かるように、フラッシュ検出部２は、ライン平均輝度、全画面平均輝度、差分値を算出し、差分値を判定してフラッシュの発光を検出するだけであるので、フレームメモリのような大容量のメモリリソースを備える必要はない。なお、ここではフラッシュの発光を検出としたが、上記のように、フラッシュと同様の発光期間が短く強い光がCMOSセンサ１ｓに入射した場合にもフラッシュ検出部２は画像の明るさが不連続となったことを検出する。このような場合も含めてフラッシュの発光の検出とする。
【００２４】
フラッシュ検出部２は、現在の画面におけるそれぞれのラインのライン平均輝度と、例えば１画面前の画面である過去の画面の全画面平均輝度とを比較するので、画面の一部のラインがフラッシュの発光によって高輝度となっている場合には、高輝度となっている全てのラインで差分値が閾値以上となる。仮に現在の画面内で隣接するラインのライン平均輝度を比較した場合には、正常なラインと高輝度となったラインの境界のみしか差分値が閾値以上とならない。従って、本実施形態においては、画面内で画像の明るさが不連続となったことを誤検出少なく検出することが可能である。
【００２５】
画像信号処理部３は、撮像部１から供給された電気信号を所定の信号方式に変換する。上記のように第１実施形態においては、電気信号はＲ，Ｇ，Ｂ信号であるため、ホワイトバランスやゲインを調整し、ガンマ処理等を行った後に、輝度信号Ｙと色差信号Ｃｂ，Ｃｒに変換する。フラッシュ検出部２は、輝度信号Ｙに基づいてライン平均輝度及び全画面平均輝度を算出してもよい。バッファメモリ（保持部）４は、画像信号処理部３より出力された輝度信号Ｙと色差信号Ｃｂ，Ｃｒの画像データを一時的に保持する。色差信号Ｃｂ，Ｃｒを帯域制限して輝度信号Ｙと時間軸多重すれば、画像処理に必要なメモリや演算リソースを少なくすることができる。
【００２６】
フラッシュの発光が検出された場合には、画像信号処理部３からバッファメモリ４へと入力されて保持された画像データが後述するフラッシュ補正部８による画像データの補正処理の際に用いられる。
【００２７】
圧縮伸張処理部５は、バッファメモリ４より読み出した画像データをMPEG-2，MPEG-4 AVC/H.264，JPEG等の圧縮方式によって圧縮処理して符号化データを生成するとともに、記録再生部１１に記録された符号化データを再生して読み出した場合に符号化データを伸張処理する。
【００２８】
出力信号処理部６は、バッファメモリ４より読み出した画像データを外部機器（図示せず）に出力するとともに、後段の表示部７の入力フォーマットに合わせて例えばＮＴＳＣ信号方式に変換し、表示部７の表示画面の大きさに合わせて画像データのサイズを変更する。これによって、画像データは表示部７に表示可能なデータとなり、表示部７に供給されて表示される。出力信号処理部６には制御部９から出力されたオンスクリーン信号も入力され、出力信号処理部６はオンスクリーン信号を画像データに重畳する。
【００２９】
フラッシュ補正部８には、フラッシュ判定部２６より出力された検出信号が入力される。フラッシュ補正部８は、補正制御部８１と補正処理部８２とを有する。フラッシュ補正部８は、制御部９による制御に従って、フラッシュの発光によって明るさが不連続となった画像データを補正する。フラッシュ検出部２がフラッシュの発光を検出した場合には、補正制御部８１にはフラッシュが発光したことを示す検出信号（“１”）と、フラッシュ発光の最初のライン番号及びフラッシュ発光終了後の最初のライン番号を示すデータとが入力される。フラッシュ発光終了後の最初のライン番号を示すデータの代わりに、フラッシュ発光の最終のライン番号を示すデータを入力してもよい。フラッシュ検出部２がフラッシュの発光を検出しなかった場合には、補正制御部８１にはフラッシュが発光しなかったことを示す検出信号（“０”）が入力される。
【００３０】
制御部９には、後述する低遅延モードと画面単位切換モードとのいずれかが設定されている。フラッシュ検出部２及びフラッシュ補正部８は、制御部９に設定されているモードの情報を参照する。補正制御部８１は、補正処理部８２が制御部９に設定されているモードに応じた補正処理動作を実行するよう補正処理部８２を制御する。なお、画面単位切換モードは必須ではなく、必要に応じて低遅延モードと画面単位切換モードとを選択するようにすればよい。
【００３１】
まず、フラッシュ検出部２がフラッシュの発光を検出しなかった場合の補正処理部８２の動作について説明する。低遅延モードに設定されている場合、補正処理部８２は、画像信号処理部３より出力されて補正処理部８２へと入力された画像データをそのままバッファメモリ４へと供給する。バッファメモリ４から読み出された画像データは、圧縮伸張処理部５及び出力信号処理部６へと供給されて、上述した圧縮伸張処理部５と出力信号処理部６とにおけるそれぞれの処理が行われる。
【００３２】
画面単位切換モードに設定されている場合、補正処理部８２には、画像信号処理部３からバッファメモリ４へと入力されて読み出された１画面遅延の画像データが入力され、補正処理部８２は、入力された１画面遅延の画像データをそのままバッファメモリ４へと供給する。同様に、バッファメモリ４から読み出された画像データは、圧縮伸張処理部５及び出力信号処理部６へと供給されて、上述した圧縮伸張処理部５と出力信号処理部６とにおけるそれぞれの処理が行われる。
【００３３】
次に、フラッシュ検出部２がフラッシュの発光を検出した場合の補正処理部８２の動作について説明する。低遅延モードに設定されている場合、補正処理部８２は、画像信号処理部３からバッファメモリ４へと入力された１画面遅延の画像データを読み出す。補正処理部８２は、画像信号処理部３より出力されて補正処理部８２へと入力された画像データにおけるフラッシュの発光によって明るさが不連続となった複数のラインを、バッファメモリ４から読み出した１画面遅延の画像データにおける対応する複数のラインに置換することによって画像データを補正する。補正処理部８２によって補正された画像データは、同様に、バッファメモリ４を介して圧縮伸張処理部５及び出力信号処理部６へと供給される。
【００３４】
バッファメモリ４によって画像信号処理部３より出力された画像データを２画面分遅延させて、補正処理部８２へと入力された画像データにおけるフラッシュの発光によって明るさが不連続となった複数のラインを、２画面遅延の画像データにおける対応する複数のラインに置換してもよい。
【００３５】
画面単位切換モードに設定されている場合、補正処理部８２は、入力された１画面遅延の画像データにおけるフラッシュの発光によって明るさが不連続となった複数のラインを含む画面を過去の画面に置換することによって画像データを補正する。補正処理部８２によって補正された画像データは、同様に、バッファメモリ４を介して圧縮伸張処理部５及び出力信号処理部６へと供給される。
【００３６】
画面単位切換モードを設ける場合には、バッファメモリ４は、画像信号処理部３より出力された画像データを少なくとも２画面分、保持する必要がある。フラッシュの発光のタイミングによっては、３画面の期間分過去の画面が必要となる。なお、第１実施形態では、バッファメモリ４は画像データを３画面分、保持することとする。低遅延モードのみとする場合には、バッファメモリ４は画像データを少なくとも１画面分、保持すればよい。
【００３７】
制御部９は、ＣＰＵを有するマイクロコンピュータによって構成することができる。制御部９はビデオカメラ１０１の全体を制御する制御プログラムを記憶した記憶部を有し、制御プログラムに基づいてビデオカメラ１０１の全体を制御する。第１実施形態による画像処理を画像処理プログラムによって実現する場合には、制御プログラムの一部として第１実施形態の画像処理を実行させる画像処理プログラムを含むようにすればよい。この場合、制御部９は画像処理プログラムを実行させてフラッシュの発光を検出し、フラッシュが発光した場合に画像データを補正する。
【００３８】
制御部９には、制御部９の作業用メモリとしてのメモリ１０が接続されている。また、制御部９には、記録再生部１１と操作スイッチ１２とが接続されている。制御部９は操作スイッチ１２によって撮像した動画像を記録する指示がなされたら、圧縮伸張処理部５より出力された符号化データを記録再生部１１に記録するよう制御する。また、制御部９は操作スイッチ１２によって撮像した動画像を記録する指示がなされたら、記録再生部１１に符号化データを再生させて読み出し、圧縮伸張処理部５へと供給するよう制御する。制御部９は、操作スイッチ１２による操作に従ってオンスクリーン信号を発生して、出力信号処理部６へと供給する。
【００３９】
図１では、フラッシュ検出部２をハードウェアにて構成した例を示しているが、ソフトウェアによって構成してもよい。即ち、第１実施形態の画像処理プログラムの一部であるフラッシュ検出プログラムを実行させることによって、フラッシュ検出部２と同等の構成を実現してもよい。また、フラッシュ補正部８もソフトウェアによって構成してもよい。即ち、第１実施形態の画像処理プログラムの一部であるフラッシュ補正プログラムを実行させることによって、フラッシュ補正部８と同等の構成を実現してもよい。
【００４０】
ここで、図２を用いて、動画像の撮影時に撮影者以外の他者のフラッシュが発光した場合に発生する画像の明るさが不連続となる現象について説明する。ローリングシャッタ方式を採用するCMOSセンサ１ｓはラインＬｎ単位で撮像した画素データを読み出していくので、撮像部１による被写体の撮像ＳＴ１，ＳＴ２，ＳＴ３，ＳＴ４…は、図２の（ｂ）に示すように、画面の最初のラインＬｎから最後のラインＬｎまでタイミングが時間方向に順次ずれていく。１つのラインＬｎの撮像は、図２の（ａ）に示すように、露光時間と画素データの読み出し時間とを含む。
【００４１】
撮像部１による撮像ＳＴ１，ＳＴ２，ＳＴ３，ＳＴ４…によって、撮像部１からは図２の（ｃ）に示すように、有効データＤ１，Ｄ２，Ｄ３，Ｄ４…が出力される。時刻ｔ１にて他者のフラッシュによる発光ＦＬがあり、CMOSセンサ１ｓに入射したとする。この場合、撮像ＳＴ２の一点鎖線で示す位置から最後のラインＬｎまでの各ラインＬｎと、撮像ＳＴ３の最初のラインＬｎから一点鎖線で示す位置までの各ラインＬｎは発光ＦＬによる影響を受けることになる。
【００４２】
第１実施形態による画像データの補正を行わないとすると、表示部７に表示される画像（記録再生部１１に記録される画像）Ｉｍ１，Ｉｍ２，Ｉｍ３，Ｉｍ４…は図２の（ｄ）に示すようになる。画像Ｉｍ１，Ｉｍ４は発光ＦＬによる影響を受けておらず、画面の明るさが連続して正常な画像である。画像Ｉｍ２は、一点鎖線以降の下端部で白帯状に明るくなっており、画像の明るさが不連続となった正常でない画像である。ハッチングを付した部分が高輝度の部分を示す。画像Ｉｍ３は、上端から一点鎖線までの上端部で同様に白帯状に明るくなっており、画像の明るさが不連続となった正常でない画像である。
【００４３】
なお、撮影者が所有するビデオカメラ１０１のフラッシュを発光させる場合には、フラッシュの発光のタイミングを図２の（ｂ）に示す撮像のタイミングと合わせるので、図２の（ｄ）に示すような画像の明るさが不連続となる現象は発生しない。
【００４４】
図３，図４を用いて、第１実施形態によるビデオカメラ１０１の動作についてさらに詳細に説明する。図３は、ビデオカメラ１０１による撮影及び記録処理の全体的な流れを示している。図３において、制御部９は、ステップＳ１にて、操作スイッチ１２による撮影開始の指示があったか否かを判定する。撮影開始の指示があったと判定されれば（YES）、制御部９は、ステップＳ２にて、絞り及びシャッタースピード等の条件に合わせて撮像部１を制御して撮影を開始させる。なお、操作スイッチ１２によるビデオカメラ１０１の電源投入の指示を撮影開始の指示としてもよい。撮影開始の指示があったと判定されなければ（NO）、制御部９は処理をステップＳ１に戻してステップＳ１を繰り返す。
【００４５】
制御部９は、ステップＳ３にて、フラッシュ検出部２によるフラッシュ検出処理及びフラッシュ補正部８によるフラッシュ補正処理を実行させる。また、制御部９は、ステップＳ３と並行して、ステップＳ４にて、画像信号処理部３による画像信号処理を実行させる。ステップＳ３のフラッシュ検出・補正処理の詳細については後述する。制御部９は、ステップＳ５にて、出力信号処理部６を制御して表示部７に撮影した画像を表示させる。
【００４６】
制御部９は、ステップＳ６にて、操作スイッチ１２による記録開始の指示があったか否かを判定する。記録開始の指示があったと判定されれば（YES）、制御部９は、ステップＳ７にて、圧縮伸張処理部５より出力された符号化データを記録再生部１１に記録させる。記録開始の指示があったと判定されなければ（NO）、制御部９は、処理をステップＳ１０に移行させる。
【００４７】
制御部９は、ステップＳ８にて、記録終了の指示があったか否かを判定する。記録終了の指示があったと判定されれば（YES）、制御部９は、ステップＳ９にて、記録再生部１１への記録を停止させる。記録終了の指示があったと判定されなければ（NO）、制御部９は処理をステップＳ７に戻してステップＳ７を繰り返す。そして、制御部９は、ステップＳ１０にて、操作スイッチ１２による撮影終了の指示があったか否かを判定する。撮影終了の指示があったと判定されれば（YES）、制御部９は処理を終了させる。撮影終了の指示があったと判定されなければ（NO）、制御部９は、処理をステップＳ２に戻してステップＳ２以降を繰り返す。操作スイッチ１２によるビデオカメラ１０１の電源切断の指示を撮影終了の指示としてもよい。
【００４８】
図４を用いて、図３に示すステップＳ３のフラッシュ検出・補正処理の詳細について説明する。以下の各ステップは、制御部９による制御に基づいてフラッシュ検出部２及びフラッシュ補正部８によって実行される。第１実施形態におけるステップＳ３をステップＳ３１とする。
【００４９】
図４において、フラッシュ検出部２は、ステップＳ301にて、有効ラインにおける有効画素の画素値を加算する処理を有効ラインごとに順次実行する。有効ラインとは垂直ブランキング期間を除く期間のラインであり、有効画素とは水平ブランキング期間を除く期間の画素である。フラッシュ検出部２は、ステップＳ302にて、ステップＳ301にて得た画素値の加算値を有効画素数で除算してライン平均輝度を算出し、ライン平均輝度を保持する。
【００５０】
フラッシュ検出部２は、ステップＳ303にて、ライン平均輝度を順次加算する処理を実行する。フラッシュ検出部２は、ステップＳ304にて、ステップＳ302で算出したライン平均輝度と１画面前の全画面平均輝度との差分演算処理を実行する。ステップＳ304における差分演算処理は、ステップＳ302でライン平均輝度を算出するたびに実行される。フラッシュ検出部２は、ステップＳ305にて、差分値が閾値以上のラインを検出したか否かを判定する。この際の閾値は、好ましくは被写体の状況によって変化させるべきであるが、実験によって最適な値を求めて設定すればよい。他者のフラッシュの発光によって明るさが大きく変化した状態を検出するため、閾値は、入力されたＧ信号のダイナミックレンジよりも十分に大きい値とすることが好ましい。なお、閾値を小さくするほど、フラッシュ発光の検出感度を高めることができる。
【００５１】
差分値が閾値以上のラインを検出したと判定されれば（YES）、フラッシュ検出部２は、処理をステップＳ306に移行させる。なお、この際、フラッシュ検出部２は、検出したラインがフレームの最初のラインから何ライン目かを示す検出ライン情報を記憶しておく。記憶する検出ライン情報はラインが連続して検出される場合は最初の１ライン目のみでよい。一方、差分値が閾値以上のラインを検出したと判定されなければ（NO）、フラッシュ検出部２は、既に検出ライン情報を記憶している場合は、それを消去するとともに、処理をステップＳ314に移行させる。差分値が閾値以上のラインを検出しなければ、フラッシュは発光していないということである。
【００５２】
フラッシュ検出部２は、ステップＳ306にて、差分値が閾値以上である状態が所定ライン数以上継続したか否かを判定する。所定ライン数以上継続したと判定されれば（YES）、フラッシュ検出部２は、処理をステップＳ307に移行させ、所定ライン数以上継続したと判定されなければ（NO）、フラッシュ検出部２は、処理をステップＳ314に移行させる。
【００５３】
ステップＳ306を設けることによって、ステップＳ305での閾値を小さくしたとしても誤検出を防止することができる。ステップＳ306でのライン数も実験によって最適な値を求めて設定すればよい。差分値が閾値以上のラインを検出したとしても、差分値が閾値以上である状態が所定ライン数以上継続しなかった場合は、フラッシュは発光していないと判断することができる。
【００５４】
ステップS306にて所定ライン数以上継続したと判定された場合には、フラッシュが発光したということである。そこで、フラッシュ検出部２は、ステップＳ307にて、フラッシュが発光していないことを示す検出信号“０”からフラッシュが発光したことを示す検出信号“１”へと切り換え、この切り換えた検出信号と、記憶している検出ライン情報とをフラッシュ補正部８に供給するとともに、検出ライン情報を消去する。フラッシュ検出部２及びフラッシュ補正部８は、ステップＳ308にて、設定されているモードが低遅延モードであるか否かを判定する。低遅延モードであると判定されれば（YES）、フラッシュ補正部８は、処理をステップＳ309に移行させる。低遅延モードであると判定されなければ（NO）、フラッシュ検出部２は、処理をステップＳ316に移行させる。
【００５５】
フラッシュ補正部８は、ステップＳ309にて、供給された検出ライン情報が示す、１画面前のラインへの置換を開始する。フラッシュ検出部２は、ステップS310にて、差分値が閾値未満のラインを検出したか否かを判定する。差分値が閾値未満のラインを検出したと判定されれば（YES）、フラッシュ検出部２は、処理をステップＳ311に移行させる。なお、この際、フラッシュ検出部２は、検出したラインがフレームの最初のラインから何ライン目かを示す検出ライン情報を記憶しておく。記憶する検出ライン情報はラインが連続して検出される場合は最初の１ライン目のみでよい。一方、差分値が閾値未満のラインを検出したと判定されなければ（NO）、フラッシュ検出部２は、記憶していた検出ライン情報を消去するとともに、処理をステップＳ314に移行させる。
【００５６】
フラッシュ検出部２は、ステップS311にて、差分値が閾値未満である状態が所定ライン数以上継続したか否かを判定する。所定ライン数以上継続したと判定されれば（YES）、フラッシュ検出部２は、処理をステップＳ312に移行させ、所定ライン数以上継続したと判定されなければ（NO）、フラッシュ検出部２は、処理をステップＳ314に移行させる。
【００５７】
ステップＳ311を設けることによって、ステップＳ310での閾値を小さくしたとしても誤検出を防止することができる。ステップＳ305での閾値とステップＳ310での閾値は同じ値である。ステップＳ311でのライン数も実験によって最適な値を求めて設定すればよい。ステップＳ306での所定ライン数とステップＳ311での所定ライン数とは同じでよい。差分値が閾値未満のラインを検出したとしても、差分値が閾値未満である状態が所定ライン数以上継続しなかった場合は、フラッシュの発光は終了していないと判断することができる。
【００５８】
フラッシュ検出部２は、ステップＳ312にて、検出信号“１”を検出信号“０”へと切り換え、この切り換えた検出信号と、記憶している検出ライン情報とをフラッシュ補正部８に供給するとともに検出ライン情報を消去する。フラッシュ補正部８は、ステップＳ313にて、供給された検出ライン情報が示す、１画面前のラインへの置換を終了し、フラッシュ検出部２は、処理をステップＳ314に移行させる。フラッシュ検出部２は、ステップＳ314にて、全有効ラインに対する判定が終了したか否かを判定する。全有効ラインに対する判定が終了したと判定されれば（YES）、フラッシュ検出部２は、処理をステップＳ315に移行させ、全有効ラインが終了したと判定されなければ（NO）、フラッシュ検出部２は、処理をステップＳ301に戻してステップＳ301以降を繰り返す。
【００５９】
フラッシュ検出部２は、ステップＳ315にて、ライン平均輝度の加算値を有効ライン数で除算して全画面平均輝度を算出し、全画面平均輝度を保持して、図３のステップＳ５へと移行させる。
【００６０】
一方、ステップS308にて低遅延モードであると判定されなかった（即ち、画面単位切換モードであると判定された）場合、フラッシュ検出部２は、ステップＳ316にて、全有効ラインに対する判定が終了したか否かを判定する。全有効ラインに対する判定が終了したと判定されなければ（NO）、フラッシュ検出部２は、ステップＳ316の処理を繰り返す。全有効ラインに対する判定が終了したと判定されれば（YES）、フラッシュ検出部２は、ステップＳ317にて、ライン平均輝度の加算値を有効ライン数で除算して全画面平均輝度を算出し、全画面平均輝度を保持する。
【００６１】
フラッシュ補正部８は、ステップＳ318にて、次の画面に移行したか否かを判定する。次の画面に移行したか否かの情報は、フラッシュ検出部２または制御部９からフラッシュ補正部８へと供給すればよい。次の画面に移行したと判定されなければ（NO）、フラッシュ補正部８は、ステップＳ318の処理を繰り返す。次の画面に移行したと判定されれば（YES）、フラッシュ補正部８は、ステップＳ319にて、フラッシュの発光が検出された現在の画面を過去の正常画面に置換して、図３のステップＳ５へと移行させる。
【００６２】
ところで、図４に示すフローチャートにおいては、ステップＳ305で用いる閾値とステップS310で用いる閾値とを同じ値としているが、ステップＳ305で用いる閾値と、ステップS310で用いる閾値とを異なる値としてもよい。
【００６３】
ステップＳ305で用いる閾値とステップS310で用いる閾値とを異なる値とした場合、フラッシュ検出部２は、次のように動作することになる。フラッシュ検出部２は、ライン平均輝度と全画面平均輝度との差分値が第１の閾値以上であるラインに基づいて、フラッシュの発光によって高輝度となっている複数のラインの開始ラインを決定する。但し、図４においては、開始ラインは、ステップＳ306にて差分値が第１の閾値以上である状態が所定ライン数以上継続したと判定された場合に決定することになる。
【００６４】
フラッシュ検出部２は、ライン平均輝度と全画面平均輝度との差分値が、第１の閾値より小さい値である第２の閾値未満であるラインに基づいて、フラッシュの発光によって高輝度となっている複数のラインの終了ラインを決定する。差分値が第２の閾値未満となったラインの１つ前のラインが終了ラインとなる。但し、図４においては、終了ラインは、ステップＳ311にて差分値が第２の閾値未満である状態が所定ライン数以上継続したと判定された場合に決定することになる。
【００６５】
図５において、（ａ）は、画面内の垂直位置と差分値との関係の一例を示している。横軸の垂直位置は、０が画面上端部である。画像データは、フラッシュの発光がなければ図５の（ａ）に示すような特性を有するとする。図５の（ａ）に示す特性では、画面の下端部近傍において差分値が低下している。図５の（ｂ）に示すように、画面の垂直方向中央部においてフラッシュの発光があったとすると、差分値は急上昇する。
【００６６】
ステップＳ305，S310で用いる閾値が値ＴＨ１であったとすると、差分値は画面の下端部までフラッシュの発光による影響を受けているものの、下端部よりも上方の位置で、フラッシュの発光による影響が終了したと検出してしまう。そこで、ステップＳ305で用いる閾値を閾値ＴＨ１とし、ステップS310で用いる閾値を、閾値ＴＨ１よりも小さい値の閾値ＴＨ２とすることが好ましい。ステップS310で用いる閾値を閾値ＴＨ２とすることにより、画面の下端部までフラッシュの発光による影響を受けていることが正しく検出される。
【００６７】
図６を用いて、第１実施形態による画像データの補正について説明する。図６の（ａ）は、図２の（ｄ）に示す補正前の画像Ｉｍ１，Ｉｍ２，Ｉｍ３，Ｉｍ４…を示している。制御部９に低遅延モードが設定されている場合には、フラッシュ補正部８は次のように画像データを補正する。
【００６８】
フラッシュ検出部２は、図６の（ａ）に示す画像Ｉｍ２においては、図４のステップＳ305，Ｓ306によって、画像Ｉｍ２における一点鎖線以降の画面の途中から高輝度となっている複数のラインを検出する。画像Ｉｍ２では、画面の下端のラインまで高輝度となっているので、フラッシュ補正部８は、図４のステップＳ309以降の処理によって、図６の（ａ）に示すように、画像Ｉｍ２におけるハッチングを付した部分の高輝度となっている複数のラインを、画像Ｉｍ１における対応する複数のラインに置換する。
【００６９】
フラッシュ検出部２は、図６の（ａ）に示す画像Ｉｍ３においては、図４のステップＳ305，Ｓ306によって、画像Ｉｍ３における画面の上端から高輝度となっている複数のラインを検出する。フラッシュ検出部２は、図４のステップＳ310，Ｓ311によって、画像Ｉｍ３における一点鎖線以降の正常な画像の複数のラインを検出する。フラッシュ補正部８は、図４のステップＳ309以降の処理によって、図６の（ａ）に示すように、画像Ｉｍ３におけるハッチングを付した部分の高輝度となっている複数のラインを、画像Ｉｍ２における対応する複数のラインに置換する。
【００７０】
結果として、フラッシュ補正部８は、図６の（ｂ）に示すように、画像Ｉｍ２を画像Ｉｍ２’へと補正し、画像Ｉｍ３を画像Ｉｍ３’へと補正する。従って、フラッシュ補正部８からバッファメモリ４へと供給される画像データは、図６の（ｂ）に示す画像Ｉｍ１，Ｉｍ２’，Ｉｍ３’，Ｉｍ４…となる。ここでは、画像Ｉｍ３を、画像Ｉｍ２を用いて補正して画像Ｉｍ３’としたが、画像Ｉｍ１を用いて補正してもよい。この場合には、バッファメモリ４は２画面前の画像データを保持しておくことが必要になる。
【００７１】
この低遅延モードでは、画像データの遅延は、画像信号処理部３における信号処理に起因する複数ライン程度の時間であり、実質的にはほとんど遅延がない。例えば、ビデオカメラ１０１でマニュアルにて動画像を撮影する場合には、表示部７に表示されている画像を確認しながらビデオカメラ１０１における種々の設定を調整する。画像データに大幅な遅延があると、リアルタイムで画像を確認することができず、適切な操作が困難となる場合がある。第１実施形態による低遅延モードでは遅延がほとんどないので、リアルタイムで画像を確認でき、適切な操作も可能となる。
【００７２】
一方、制御部９に画面単位切換モードが設定されている場合には、フラッシュ補正部８は次のように画像データを補正する。前述のように、画面単位切換モードが設定されている場合には、フラッシュ補正部８は、画像データの補正の有無にかかわらず、バッファメモリ４から１画面遅延の画像データを読み出してバッファメモリ４を介して圧縮伸張処理部５及び出力信号処理部６へと供給する。従って、図６の（ｃ）に示すように、図６の（ａ）の補正前の画像Ｉｍ１，Ｉｍ２のタイミングで、画像Ｉｍ１，Ｉｍ２よりそれぞれ１画面前の画像Ｉｍ０，Ｉｍ１が出力される。
【００７３】
フラッシュ補正部８は、図４のステップＳ319によって、高輝度部分を有する画像Ｉｍ２の代わりに画像Ｉｍ１を出力し、高輝度部分を有する画像Ｉｍ３の代わりに画像Ｉｍ１を出力する。従って、フラッシュ補正部８からバッファメモリ４へと供給される画像データは、図６の（ｂ）に示す画像Ｉｍ０，Ｉｍ１，Ｉｍ１，Ｉｍ１，Ｉｍ４…となる。この場合、高輝度部分を有する画像が２画面連続しているので、バッファメモリ４は３画面前の画像データを保持しておくことが必要になる。
【００７４】
＜第２実施形態＞
図７に示す第２実施形態において、図１と同一部分には同一符号を付し、その説明を適宜省略することとする。第２実施形態の画像処理装置であるビデオカメラ１０２は、フラッシュ検出部２の代わりにフラッシュ検出部２０を備える。フラッシュ検出部２０は、ブロック平均輝度算出部２０１，ブロック平均輝度保持部２０２，ライン平均輝度算出部２０３，ライン平均輝度保持部２０４，全画面平均輝度算出部２０５，全画面平均輝度保持部２０６，差分算出部２０７，フラッシュ判定部２０８を有する。
【００７５】
フラッシュ検出部２０は、制御部９による制御に従って以下のようにフラッシュの発光を検出する。ブロック平均輝度算出部２０１は、撮像部１から供給された電気信号における１ラインの有効画素を複数のブロックに分割しブロックごとの明るさの平均を算出する。ブロックの数は２のべき乗であることが好ましい。具体的には、ブロック平均輝度算出部２０１は、Ｇ信号の値を各ブロックの有効画素分に渡って加算し、有効画素数で除算することによって１ブロックの明るさの平均（ブロック平均輝度）を算出する。
【００７６】
ブロック平均輝度算出部２０１によって算出されたブロック平均輝度は、ブロック平均輝度保持部２０２及びライン平均輝度算出部２０３に入力される。ライン平均輝度算出部２０３は、１ラインにおけるブロック平均輝度を加算し、１ラインのブロック数で除算することによって１ラインの明るさの平均（ライン平均輝度）を算出する。ライン平均輝度算出部２０３によって算出されたライン平均輝度は、ライン平均輝度保持部２０４及び全画面平均輝度算出部２０５に入力される。ライン平均輝度保持部２０４は、ライン平均輝度算出部２０３によって算出されたライン平均輝度を一時的に保持する。
【００７７】
全画面平均輝度算出部２０５は、順次入力されるライン平均輝度を１画面の有効ラインに渡って加算し、有効ライン数で除算することによって１画面全体の明るさの平均（全画面平均輝度）を算出する。全画面平均輝度保持部２０６は、全画面平均輝度を一時的に保持する。
【００７８】
差分算出部２０７には、ブロック平均輝度保持部２０２で保持されたブロック平均輝度と、ライン平均輝度保持部２０４で保持されたライン平均輝度と、全画面平均輝度保持部２０６で保持された全画面平均輝度とが入力される。差分算出部２０７は、ブロック平均輝度と全画面平均輝度との差分と、ライン平均輝度と全画面平均輝度との差分とをそれぞれ順次算出する。差分算出部２０７は差分の絶対値をとり、差分値として出力する。
【００７９】
差分算出部２０７によって算出されたそれぞれの差分値は、フラッシュ判定部２０８に入力される。フラッシュ判定部２０８は、ライン平均輝度と全画面平均輝度との差分値が設定された閾値（閾値１）以上であるか否かを判定する。フラッシュ判定部２０８は、ライン平均輝度と全画面平均輝度との差分値が閾値以上の場合には、それぞれのブロック平均輝度と全画面平均輝度との差分値が設定された閾値（閾値２）以上であるか否かを判定する。閾値１と閾値２とは異なる値であってよい。閾値１と閾値２とは異なる値とする場合には、閾値１よりも閾値２の値を大きくすることが好ましい。
【００８０】
フラッシュ判定部２０８は、ラインごとの差分値が閾値１以上であり、ブロックごとの差分値が閾値２以上である状態が予め設定したライン数以上継続するか否かを判定する。フラッシュ判定部２０８は、それぞれの差分値が閾値１，２以上である状態が予め設定したライン数以上継続したと判定した場合に、フラッシュの発光によって画像の明るさが不連続となったと検出する。
【００８１】
フラッシュ判定部２０８は、フラッシュが発光したと判定した場合には、フラッシュの発光の開始時点である、ライン平均輝度と全画面平均輝度との差分値が閾値１以上であり、かつそれぞれのブロック平均輝度と全画面平均輝度との差分値が閾値２以上となった最初のライン番号を示すデータと、ライン平均輝度と全画面平均輝度との差分値が閾値１以上と、それぞれのブロック平均輝度と全画面平均輝度との差分値が閾値２以上との少なくとも一方の条件を満たさなくなった最初のライン番号を示すデータとを出力する。フラッシュ判定部２０８は、フラッシュが発光したことを示す検出信号も出力する。
【００８２】
第２実施形態においては、図３に示すステップＳ３のフラッシュ検出・補正処理を図８に示すステップＳ３２とする。図８を用いて、ステップＳ３２のフラッシュ検出・補正処理の詳細について説明する。図８において、フラッシュ検出部２０は、ステップＳ321にて、有効ラインにおける各ブロックの有効画素の画素値を加算する処理を有効ラインごとに順次実行する。フラッシュ検出部２０は、ステップＳ322にて、ステップＳ321にて得た各ブロックの画素値の加算値をブロック内の有効画素数で除算してブロック平均輝度を算出し、ブロック平均輝度を保持する。
【００８３】
フラッシュ検出部２０は、ステップＳ323にて、１ライン内のブロック平均輝度を加算し、ステップＳ324にて、ブロック平均輝度の加算値をブロック数で除算してライン平均輝度を算出し、ライン平均輝度を保持する。フラッシュ検出部２０は、ステップＳ325にて、ライン平均輝度を順次加算する処理を実行する。フラッシュ検出部２０は、ステップＳ326にて、ステップＳ322で算出したブロック平均輝度と１画面前の全画面平均輝度との差分演算と、ステップＳ324で算出したライン平均輝度と１画面前の全画面平均輝度との差分演算とのそれぞれの処理を実行する。ステップＳ326における差分演算処理は、ステップＳ324でライン平均輝度を算出するたびに実行される。
【００８４】
フラッシュ検出部２０は、ステップＳ327にて、ライン平均輝度と全画面平均輝度との差分値が閾値（閾値１）以上のラインを検出したか否かを判定する。ステップＳ327〜Ｓ329，Ｓ333，Ｓ334は、フラッシュ判定部２０８によって判定される。ライン平均輝度と全画面平均輝度との差分値が閾値以上のラインを検出したと判定されれば（YES）、フラッシュ検出部２０は、処理をステップＳ328に移行させ、ライン平均輝度と全画面平均輝度との差分値が閾値以上のラインを検出したと判定されなければ（NO）、フラッシュ検出部２０は、処理をステップＳ337に移行させる。ライン平均輝度と全画面平均輝度との差分値が閾値以上のラインを検出しなければ、フラッシュは発光していないということである。
【００８５】
フラッシュ検出部２０は、ライン平均輝度と全画面平均輝度との差分値が閾値以上のラインを検出した場合、さらに、ステップＳ328にて、そのライン内のそれぞれのブロック平均輝度と全画面平均輝度との差分値が閾値（閾値２）以上であるか否かを判定する。フラッシュ検出部２０は、それぞれのブロック平均輝度と全画面平均輝度との差分値が閾値以上であると判定されれば（YES）、フラッシュ検出部２０は、処理をステップＳ329に移行させる。なお、この際、フラッシュ検出部２は、検出したラインがフレームの最初のラインから何ライン目かを示す検出ライン情報を記憶しておく。記憶する検出ライン情報はラインが連続して検出される場合は最初の１ライン目のみでよい。
【００８６】
一方、それぞれのブロック平均輝度と全画面平均輝度との差分値が閾値以上であると判定されなければ（NO）、フラッシュ検出部２０は、既に検出ライン情報を記憶している場合は、それを消去するとともに、処理をステップＳ337に移行させる。
【００８７】
フラッシュ検出部２０は、ステップＳ329にて、ライン平均輝度と全画面平均輝度との差分値が閾値以上であり、それぞれのブロック平均輝度と全画面平均輝度との差分値が閾値以上であるという２つの条件を満たすラインが所定ライン数以上継続したか否かを判定する。この２つの条件を満たす状態を特定状態とする。特定状態が所定ライン数以上継続したと判定されれば（YES）、フラッシュ検出部２０は処理をステップＳ330に移行させ、特定状態が所定ライン数以上継続したと判定されなければ（NO）、フラッシュ検出部２０は処理をステップＳ337に移行させる。
【００８８】
第２実施形態においては、上記の２つの条件を満たす特定状態のラインが所定ライン数以上継続したとき、フラッシュが発光したと判定する。仮に、ライン平均輝度と全画面平均輝度との差分値が閾値以上である状態が所定ライン数以上継続する状態が発生しても、ライン内のそれぞれのブロック平均輝度と全画面平均輝度との差分値が閾値以上であるという条件を満たさない場合には、フラッシュは発光していないと判定されることになる。この理由については後述する。
【００８９】
フラッシュ検出部２０は、上記の２つの条件を満たす特定状態のラインが所定ライン数以上継続したら、ステップＳ330にて、フラッシュが発光していないことを示す検出信号“０”からフラッシュが発光したことを示す検出信号“１”へと切り換え、この切り換えた検出信号と、記憶している検出ライン情報とをフラッシュ補正部８に供給するとともに、検出ライン情報を消去する。フラッシュ検出部２０及びフラッシュ補正部８は、ステップＳ331にて、設定されているモードが低遅延モードであるか否かを判定する。低遅延モードであると判定されれば（YES）、フラッシュ補正部８は、処理をステップＳ332に移行させる。低遅延モードであると判定されなければ（NO）、フラッシュ検出部２０は、処理をステップＳ339に移行させる。
【００９０】
フラッシュ補正部８は、ステップＳ332にて、供給された検出ライン情報が示す、１画面前のラインへの置換を開始する。フラッシュ検出部２０は、ステップS333にて、ライン平均輝度と全画面平均輝度との差分値が閾値未満であるか、または、それぞれのブロック平均輝度と全画面平均輝度との差分値が閾値未満であるラインを検出したか否かを判定する。即ち、フラッシュ検出部２０は、ステップＳ333にて、上記の２つの条件の少なくとも一方を満たさないラインが現れたか否かを判定する。
【００９１】
上記の２つの条件の少なくとも一方を満たさないラインが現れたと判定されれば（YES）、フラッシュ検出部２０は処理をステップＳ334に移行させる。なお、この際、フラッシュ検出部２は、検出したラインがフレームの最初のラインから何ライン目かを示す検出ライン情報を記憶しておく。記憶する検出ライン情報はラインが連続して検出される場合は最初の１ライン目のみでよい。
【００９２】
一方、上記の２つの条件の少なくとも一方を満たさないラインが現れたと判定されなければ（NO）、フラッシュ検出部２０は、記憶していた検出ライン情報を消去するとともに、処理をステップＳ337に移行させる。
【００９３】
フラッシュ検出部２０は、ステップS334にて、上記の２つの条件の少なくとも一方を満たさない状態が所定ライン数以上継続したか否かを判定する。所定ライン数以上継続したと判定されれば（YES）、フラッシュ検出部２０は処理をステップＳ335に移行させ、所定ライン数以上継続したと判定されなければ（NO）、フラッシュ検出部２０は処理をステップＳ337に移行させる。
【００９４】
フラッシュ検出部２０は、ステップＳ335にて、検出信号“１”を検出信号“０”へと切り換え、この切り換えた検出信号と、記憶している検出ライン情報とをフラッシュ補正部８に供給するとともに検出ライン情報を消去する。フラッシュ補正部８は、ステップＳ336にて、供給された検出ライン情報が示す、１画面前のラインへの置換を終了し、フラッシュ検出部２０は、処理をステップＳ337に移行させる。
【００９５】
フラッシュ検出部２０は、ステップＳ337にて、全有効ラインに対する判定が終了したか否かを判定する。全有効ラインに対する判定が終了したと判定されれば（YES）、フラッシュ検出部２０は、処理をステップＳ338に移行させ、全有効ラインが終了したと判定されなければ（NO）、フラッシュ検出部２０は、処理をステップＳ321に戻してステップＳ321以降を繰り返す。
【００９６】
フラッシュ検出部２０は、ステップＳ338にて、ライン平均輝度の加算値を有効ライン数で除算して全画面平均輝度を算出し、全画面平均輝度を保持して、図３のステップＳ５へと移行させる。
【００９７】
一方、ステップS331にて低遅延モードであると判定されなかった（即ち、画面単位切換モードであると判定された）場合、フラッシュ検出部２０はステップＳ316〜Ｓ319と同じであり、説明を省略する。
【００９８】
第２実施形態においても、第１実施形態と同様、ステップS333においてライン平均輝度と全画面平均輝度との差分値と比較する閾値を、ステップＳ327においてライン平均輝度と全画面平均輝度との差分値と比較する閾値よりも小さな値とすることが好ましい。
【００９９】
第２実施形態によれば、第１実施形態よりもフラッシュが発光したか否かの検出精度を向上させることができる。図９を用いて、検出精度を向上させることができる理由について説明する。図９は、画面内に部分的に矩形状の高輝度領域Ａｒｈが含まれる画像Ｉｍｉの例を示している。ハッチングを付した高輝度領域Ａｒｈは例えば白レベルであるとする。高輝度領域Ａｒｈは矩形状でなくてもよい。有効ラインＬｎｅにおいては、ライン平均輝度は比較的高い値となる。有効ラインＬｎｅ以外のラインでも高輝度領域Ａｒｈが存在している垂直方向の範囲では同様である。従って、第１実施形態においては、高輝度領域Ａｒｈが存在している垂直方向の範囲でフラッシュが発光したと誤判定する可能性がある。
【０１００】
図９では、１ラインを４つのブロックＢ１〜Ｂ４に分割した例を示している。ブロック平均輝度算出部２０１で算出されるブロック平均輝度は、ブロックＢ１ではさほど高い値とはならない。ブロック平均輝度はブロックＢ２，Ｂ３では高い値となり、ブロックＢ４ではブロックＢ２，Ｂ３よりも小さな値となる。有効ラインＬｎｅにおいて、図８のステップＳ327にて、ライン平均輝度と全画面平均輝度との差分値が閾値以上であると判定されたとしても、ステップＳ328にて、少なくともブロックＢ１で、ブロック平均輝度と全画面平均輝度との差分値が閾値以上であると判定されない。
【０１０１】
従って、第２実施形態によれば、図９の例のように部分的な高輝度領域Ａｒｈを含む画像Ｉｍｉであっても、フラッシュが発光したと誤判定する可能性を大幅に低減させることができる。
【０１０２】
＜第３実施形態＞
第３実施形態の画像処理装置の構成は、図１に示す第１実施形態のビデオカメラ１０１または図７に示す第２実施形態のビデオカメラ１０２と同様であり、フラッシュ補正部８での画像データの補正処理が第１及び第２実施形態とは異なっている。図１０〜図１２を用いて、第３実施形態における画像データの補正処理について説明する。第３実施形態においては、図３に示すステップＳ３のフラッシュ検出・補正処理を図１０に示すステップＳ３３とする。図１０を用いて、ステップＳ３３のフラッシュ検出・補正処理の詳細について説明する。
【０１０３】
図１０は、画像処理装置の構成を、フラッシュ検出部２を有する図１のビデオカメラ１０１とした場合を例にしている。特に図示しないが、フラッシュ検出部２０を有する図７のビデオカメラ１０２においても、図１０のステップＳ３３と同様の処理を行うことが可能である。図１０において、図４と同一のステップには同一の符号を付し、その説明を適宜省略する。
【０１０４】
図１０において、ステップＳ304以前は図４と同じであり、図示を省略している。図１０のステップＳ307までは図４と同じである。フラッシュ検出部２がステップＳ307にてフラッシュが発光していないことを示す検出信号“０”からフラッシュが発光したことを示す検出信号“１”へと切り換え、この切り換えた検出信号と、記憶している検出ライン情報とをフラッシュ補正部８に供給したら、フラッシュ補正部８は、ステップＳ351にて、供給された検出ライン情報が示すフラッシュ開始ラインよりも上方に位置し、フラッシュ開始ラインに隣接する隣接領域を設定する。
【０１０５】
具体的には、図１１の（ａ）に示すように、フラッシュ補正部８は、供給された検出ライン情報が示す最初のフラッシュ検出ラインであるフラッシュ開始ラインＬｎfsに隣接する複数ラインの隣接領域Ａadjsを設定する。隣接領域Ａadjsは例えば５〜１０ライン程度でよい。
【０１０６】
フラッシュ補正部８は、低遅延モードであると判定されたとき、ステップＳ352にて、隣接領域Ａadjsにおいて、現在の画面のラインと１画面前の画面のラインとを混合して隣接領域Ａadjsの新たなラインを生成し、隣接領域Ａadjs内のラインを新たなラインに置換する。フラッシュ補正部８は、ステップＳ353にて、フラッシュ開始ラインＬｎfs以降、１画面前のラインへの置換を開始する。
【０１０７】
フラッシュ検出部２がステップＳ312にて検出信号“１”を検出信号“０”へと切り換え、この切り換えた検出信号と、記憶している検出ライン情報とをフラッシュ補正部８に供給したら、フラッシュ補正部８は、ステップＳ354にて、供給された検出ライン信号が示すフラッシュ終了ライン（ステップＳ310にて検出したフラッシュ発光終了後の最初のラインの１ライン前のライン）下方に位置し、フラッシュ終了ラインに隣接する隣接領域を設定する。具体的には、図１１の（ｂ）に示すように、フラッシュ補正部８は、フラッシュ終了ラインＬｎfeに隣接する複数ラインの隣接領域Ａadjeを設定する。隣接領域Ａadjeも例えば５〜１０ライン程度でよい。
【０１０８】
フラッシュ補正部８は、ステップＳ313にて、１画面前のラインへの置換を終了し、ステップＳ355にて、隣接領域Ａadjeにおいて、現在の画面のラインと１画面前の画面のラインとを混合して隣接領域Ａadjeの新たなラインを生成し、隣接領域Ａadje内のラインを新たなラインに置換する。他のステップによる処理は図４で説明した通りである。
【０１０９】
図１１の（ａ）において、隣接領域Ａadjsの最初のラインをＬＳ、隣接領域Ａadjsの最後のラインをＬＥとし、隣接領域Ａadjsの画素位置をＬｆ（ｉ，ｊ）とすると、現在の画面の画像データの合成重み付け係数Ｗｆ（ｉ，ｊ）と、１画面前の画面の画像データの合成重み付け係数Ｗｂ（ｉ，ｊ）は式（１）となる。図１０のステップＳ352では、式（１）に基づいて現在の画面のラインと１画面前の画面のラインとを混合して隣接領域Ａadjsの新たなラインを生成する。式（１）では、画素位置Ｌｆ（ｉ，ｊ）としているが、１画面前の画面の画像データと現在の画面の画像データとはライン単位で混合するので、画像の水平方向の位置を示すｉの情報はなくてもよい。
【０１１０】
【数１】
0005928290.tif 000002
【０１１１】
図１１の（ｂ）において、隣接領域Ａadjeの最初のラインをＬＳ、隣接領域Ａadjeの最後のラインをＬＥとし、隣接領域Ａadjeの画素位置をＬｆ（ｉ，ｊ）とすると、現在の画面の画像データの合成重み付け係数Ｗｆ（ｉ，ｊ）と、１画面前の画面の画像データの合成重み付け係数Ｗｂ（ｉ，ｊ）は式（２）となる。同様に、式（２）では、画素位置Ｌｆ（ｉ，ｊ）としているが、１画面前の画面の画像データと現在の画面の画像データとはライン単位で混合するので、画像の水平方向の位置を示すｉの情報はなくてもよい。
【０１１２】
【数２】
0005928290.tif 000003
【０１１３】
式（１）による現在の画面のラインと１画面前の画面のラインとを混合特性は図１２の（ａ）となる。図１２の（ａ）において、実線は現在の画面のラインの混合率を示し、破線は１画面前の画面のラインの混合率を示している。図１２の（ａ）に示すように、図１１の（ａ）に示す画像Ｉｍ２の場合には、画面の上端側から隣接領域Ａadjsの手前までは現在の画面のラインのみである。ステップＳ352によって、隣接領域Ａadjsの最初のラインＬＳから最後のラインＬＥまで現在の画面のラインの混合率が順次減少していく一方、１画面前の画面のラインの混合率が順次増加していく。最後のラインＬＥ以降、ステップＳ353によって１画面前の画面のラインのみとなる。なお、フラッシュ開始ラインＬｎfsと最後のラインＬＥとを同一のラインとしてもよい。
【０１１４】
式（２）による現在の画面のラインと１画面前の画面のラインとを混合特性は図１２の（ｂ）となる。図１２の（ｂ）において、実線は現在の画面のラインの混合率を示し、破線は１画面前の画面のラインの混合率を示している。図１２の（ｂ）に示すように、図１１の（ｂ）に示す画像Ｉｍ３の場合には、画面の上端側から隣接領域Ａadjeの手前までは１画面前の画面のラインのみである。ステップＳ356によって、隣接領域Ａadjeの最初のラインＬＳから最後のラインＬＥまで１画面前の画面のラインの混合率が順次減少していく一方、現在の画面のラインの混合率が順次増加していく。最後のラインＬＥ以降、現在の画面のラインのみとなる。なお、フラッシュ終了ラインＬｎfeと最初のラインＬＳとを同一のラインとしてもよい。
【０１１５】
第３実施形態によれば、図２に示す画像Ｉｍ２のように画面の途中から高輝度となっている場合には、フラッシュ開始ラインＬｎfsに対して上方に位置するフラッシュの影響を受けていない隣接領域Ａadjsにおいて、最初のラインＬＳから最後のラインＬＥに進行するに従って１画面前の画面のラインに徐々に切り替わっていく。従って、現在の画面の画像データと１画面前の画面の画像データとを混合する不自然さが低減される。
【０１１６】
また、第３実施形態によれば、図２に示す画像Ｉｍ３のように画面の途中まで高輝度で途中から正常な画像となっている場合には、フラッシュ終了ラインＬｎfeに対して下方に位置するフラッシュの影響を受けていない隣接領域Ａadjeにおいて、最初のラインＬＳから最後のラインＬＥに進行するに従って現在の画面のラインに徐々に切り替わっていく。従って、現在の画面の画像データと１画面前の画面の画像データとを混合する不自然さが低減される。
【０１１７】
上述した式（１），（２）の代わりに、式（３）を用いて画素単位で現在の画面の画像データと１画面前の画面の画像データとを混合してもよい。式（３）において、Ｍｆ（ｉ，ｊ）は画素の明るさであり、ＴｈH，ＴｈLはＴｈH＞ＴｈLを満たす明るさの閾値である。この場合には、フラッシュ検出部２，２０で検出したそれぞれの有効画素の明るさをフラッシュ補正部８に入力すればよい。
【０１１８】
【数３】
0005928290.tif 000004
【０１１９】
式（３）によれば、隣接領域Ａadjs及び隣接領域Ａadjeにおいて、それぞれの画素の明るさＭｆ（ｉ，ｊ）が小さい方の値の閾値ＴｈLよりも小さければ、現在の画面の画像データの合成重み付け係数Ｗｆ（ｉ，ｊ）が１となり、１画面前の画面の画像データの合成重み付け係数Ｗｂ（ｉ，ｊ）が０となる。即ち、画素の明るさＭｆ（ｉ，ｊ）が閾値ＴｈLよりも小さいということはフラッシュの発光による影響を受けていない可能性が高く、現在の画面の画素データのみとする。
【０１２０】
また、それぞれの画素の明るさＭｆ（ｉ，ｊ）が大きい方の閾値ＴｈHよりも大きければ、現在の画面の画像データの合成重み付け係数Ｗｆ（ｉ，ｊ）が０となり、１画面前の画面の画像データの合成重み付け係数Ｗｂ（ｉ，ｊ）が１となる。即ち、画素の明るさＭｆ（ｉ，ｊ）が閾値ＴｈHよりも大きいということはフラッシュの発光による影響を受けている可能性が高く、１画面前の画面の画素データのみとする。
【０１２１】
それぞれの画素の明るさＭｆ（ｉ，ｊ）が閾値ＴｈL以上閾値ＴｈH以下であれば、式（３）の特性で現在の画面の画素データと１画面前の画面の画素データとが適応的に混合されることになる。
【０１２２】
＜第４実施形態＞
第４実施形態の画像処理装置の構成は、図７に示す第２実施形態のビデオカメラ１０２と同様であり、フラッシュ検出部２０におけるフラッシュ発光の検出処理が第２実施形態とは異なっている。図１３，図１４を用いて、第４実施形態におけるフラッシュ発光の検出処理について説明する。第４実施形態においては、図３に示すステップＳ３のフラッシュ検出・補正処理を図１３に示すステップＳ３４とする。図１３を用いて、ステップＳ３４のフラッシュ検出・補正処理の詳細について説明する。図１３において、図８と同一のステップには同一の符号を付し、その説明を適宜省略する。
【０１２３】
ステップＳ321〜Ｓ326の処理は、図８と同じである。フラッシュ検出部２０は、ステップＳ327にて、ライン平均輝度と全画面平均輝度との差分値が閾値（閾値１）以上のラインを検出したか否かを判定する。ライン平均輝度と全画面平均輝度との差分値が閾値以上のラインを検出したと判定されれば（YES）、フラッシュ検出部２０は、処理をステップＳ361に移行させ、ライン平均輝度と全画面平均輝度との差分値が閾値以上のラインを検出したと判定されなければ（NO）、フラッシュ検出部２０は、処理をステップＳ337に移行させる。
【０１２４】
フラッシュ検出部２０は、ライン平均輝度と全画面平均輝度との差分値が閾値以上のラインを検出した場合、ステップＳ361にて、１ライン前の全てのブロックにおいて、ブロック平均輝度と全画面平均輝度との差分値が閾値未満であるか否かを判定する。ステップＳ361における閾値は、ステップＳ328における閾値２と同じでもよく、多少異ならせてもよい。ここではステップＳ361における閾値を閾値２とする。
【０１２５】
１ライン前の全てのブロックにおいて、ブロック平均輝度と全画面平均輝度との差分値が閾値（閾値２）未満であると判定されれば（YES）、フラッシュ検出部２０は、処理をステップＳ328に移行させ、１つのブロックでもブロック平均輝度と全画面平均輝度との差分値が閾値（閾値２）以上であれば（NO）、フラッシュ検出部２０は、処理をステップＳ337に移行させる。
【０１２６】
ステップＳ328以降の処理は、図８と同じである。フラッシュ検出部２０は、ステップＳ329にて、ライン平均輝度と全画面平均輝度との差分値が閾値以上であり、それぞれのブロック平均輝度と全画面平均輝度との差分値が閾値以上であるという２つの条件を満たす特定状態のラインが所定ライン数以上継続したか否かを判定する。第４実施形態においては、ステップＳ361にて、１ライン前の全てのブロックにおいて、ブロック平均輝度と全画面平均輝度との差分値が閾値未満であると判定されたときのみ、現在のラインが特定状態に該当するラインであると判定して、ステップＳ329の処理が実行されることになる。
【０１２７】
図１４を用いて、ステップＳ361を設けることによる効果について説明する。図１４は、画面内に部分的に例えば台形状の高輝度領域Ａｒh1が含まれる画像Ｉｍi1の例を示している。ハッチングを付した高輝度領域Ａｒh1は例えば白レベルであるとする。高輝度領域Ａｒh1は台形状でなくてもよく、高輝度となっている領域の最上端の位置が水平方向の位置においてばらついているような画像であってもよい。画像Ｉｍi1の１フレーム前は、高輝度領域Ａｒh1を含まない通常の画像であるとする。
【０１２８】
図１４では理解を容易にするため、高輝度領域Ａｒh1における有効ラインＬｎe1の１ライン前の有効ラインＬｎe0が図示の位置であるとする。有効ラインＬｎe0においては、ブロックＢ１ではブロック平均輝度と全画面平均輝度との差分値は比較的小さい値となるものの、ブロックＢ２〜Ｂ４ではブロック平均輝度と全画面平均輝度との差分値は比較的大きな値となる。従って、有効ラインＬｎe1が現在のラインであるとき、１ライン前の全てのブロックにおいて、ブロック平均輝度と全画面平均輝度との差分値が閾値未満とはならない。従って、フラッシュ検出部２０は、ステップＳ361の処理によって、高輝度領域Ａｒh1がフラッシュの発光による高輝度領域であると誤検出することはない。
【０１２９】
現在のラインが有効ラインＬｎe1以降となった場合には、ブロックＢ１〜Ｂ４の全てで、ブロック平均輝度と全画面平均輝度との差分値は比較的大きな値となる。従って、同様に、フラッシュ検出部２０は、ステップＳ361の処理によって、高輝度領域Ａｒh1がフラッシュの発光による高輝度領域であると誤検出することはない。
【０１３０】
第４実施形態においては、差分算出部２０７は、１ライン前のそれぞれのブロックのブロック平均輝度と全画面平均輝度との差分値を保持しておけばよい。
【０１３１】
第４実施形態によれば、図１４の例のように高輝度領域Ａｒh1を含む画像Ｉｍi1であっても、フラッシュが発光したと誤判定する可能性を第２実施形態よりも低減させることができる。
【０１３２】
第４実施形態では、現在のラインの１ライン前におけるブロック平均輝度と全画面平均輝度との差分値が閾値未満であるか否かを判定しているが、例えば２〜３ライン前におけるブロック平均輝度と全画面平均輝度との差分値が閾値未満であるか否かを判定してもよい。即ち、現在のラインの近傍であり、現在のラインより上方のラインにおけるブロック平均輝度と全画面平均輝度との差分値が閾値未満であるか否かを判定すればよい。なお、ステップＳ327，Ｓ361，Ｓ328の順は、図１３に示す順に限定されることはなく、順番を適宜入れ替えてもよい。
【０１３３】
第４実施形態においても、第１実施形態と同様、ステップS333においてライン平均輝度と全画面平均輝度との差分値と比較する閾値を、ステップＳ327においてライン平均輝度と全画面平均輝度との差分値と比較する閾値よりも小さな値とすることが好ましい。
【０１３４】
以上説明した第４実施形態の構成と第３実施形態の構成とを組み合わせることが好ましい。
【０１３５】
＜第５実施形態＞
第５実施形態の画像処理装置の構成は、図７に示す第２実施形態のビデオカメラ１０２と同様であり、フラッシュ検出部２０におけるフラッシュ発光の検出処理が第２実施形態とは異なっている。図１５を用いて、第５実施形態におけるフラッシュ発光の検出処理について説明する。第５実施形態においては、図３に示すステップＳ３のフラッシュ検出・補正処理を図１５に示すステップＳ３５とする。図１５を用いて、ステップＳ３５のフラッシュ検出・補正処理の詳細について説明する。図１５において、図８と同一のステップには同一の符号を付し、その説明を適宜省略する。
【０１３６】
ステップＳ321〜Ｓ326の処理は、図８と同じである。フラッシュ検出部２０は、ステップＳ327にて、ライン平均輝度と全画面平均輝度との差分値が閾値（閾値１）以上のラインを検出したか否かを判定する。ライン平均輝度と全画面平均輝度との差分値が閾値以上のラインを検出したと判定されれば（YES）、フラッシュ検出部２０は、処理をステップＳ371に移行させ、ライン平均輝度と全画面平均輝度との差分値が閾値以上のラインを検出したと判定されなければ（NO）、フラッシュ検出部２０は、処理をステップＳ337に移行させる。
【０１３７】
フラッシュ検出部２０は、ライン平均輝度と全画面平均輝度との差分値が閾値以上のラインを検出した場合、ステップＳ371にて、現在のラインと同一の画面内において、現在のラインのそれぞれのブロック平均輝度と、１ライン前のそれぞれのブロック平均輝度との差分値が所定の閾値以上であるか否かを判定する。フラッシュ検出部２０は、現在のラインと１ライン前とで、同じ水平方向の位置のブロックのブロック平均輝度どうしを比較する。ステップＳ371における閾値（閾値３）は、ステップＳ328における閾値２と同じである必要はなく、値を適宜設定すればよい。
【０１３８】
現在のラインのブロック平均輝度と１ライン前のブロック平均輝度との差分値が全て閾値以上であると判定されれば（YES）、フラッシュ検出部２０は、処理をステップＳ328に移行させ、１つのブロックでもブロック平均輝度の差分値が閾値未満であれば（NO）、フラッシュ検出部２０は、処理をステップＳ337に移行させる。
【０１３９】
ステップＳ328以降の処理は、図８と同じである。第５実施形態においては、ステップＳ371にて、現在のラインのブロック平均輝度と１ライン前のブロック平均輝度との差分値が全て閾値以上であると判定されたときのみ、現在のラインが特定状態に該当するラインであると判定して、ステップＳ329の処理が実行されることになる。
【０１４０】
図１４を用いて、ステップＳ371を設けることによる効果について説明する。第５実施形態の場合には、有効ラインＬｎe1が現在のラインであるとき、有効ラインＬｎe1のブロックＢ１〜Ｂ４のブロック平均輝度と、１ライン前の有効ラインＬｎe0のブロックＢ１〜Ｂ４のブロック平均輝度とを比較すると、ブロックＢ１では閾値以上となるものの、ブロックＢ２〜Ｂ４では閾値以上とはならない。有効ラインＬｎe0や有効ラインＬｎe0より上方のラインが現在のラインである場合も同様に、全て閾値以上であるとは判定されない。従って、フラッシュ検出部２０は、ステップＳ371の処理によって、高輝度領域Ａｒh1がフラッシュの発光による高輝度領域であると誤検出することはない。
【０１４１】
現在のラインが有効ラインＬｎe1以降となった場合には、ブロックＢ１〜Ｂ４の全てで、現在のラインのブロック平均輝度と１ライン前のブロック平均輝度との差分値が比較的小さな値となる。従って、同様に、フラッシュ検出部２０は、ステップＳ371の処理によって、高輝度領域Ａｒh1がフラッシュの発光による高輝度領域であると誤検出することはない。
【０１４２】
第５実施形態においては、差分算出部２０７は、１ライン前のそれぞれのブロックのブロック平均輝度を保持しておき、現在のラインのブロック平均輝度と１ライン前のブロック平均輝度との差分値を算出すればよい。
【０１４３】
第５実施形態によれば、図１４の例のように高輝度領域Ａｒh1を含む画像Ｉｍi1であっても、フラッシュが発光したと誤判定する可能性を第２実施形態よりも低減させることができる。
【０１４４】
第５実施形態においては、現在のラインのブロック平均輝度と１ライン前のブロック平均輝度との差分値が閾値以上であるか否かを判定しているが、例えば現在のラインのブロック平均輝度と２〜３ライン前のブロック平均輝度との差分値が閾値以上であるか否かを判定してもよい。即ち、同一画面内において、現在のラインのブロック平均輝度と、現在のラインの近傍であり、現在のラインより上方のラインにおけるブロック平均輝度との差分値が閾値以上であるか否かを判定すればよい。なお、ステップＳ327，Ｓ371，Ｓ328の順は、図１５に示す順に限定されることはなく、順番を適宜入れ替えてもよい。
【０１４５】
第５実施形態においても、第１実施形態と同様、ステップS333においてライン平均輝度と全画面平均輝度との差分値と比較する閾値を、ステップＳ327においてライン平均輝度と全画面平均輝度との差分値と比較する閾値よりも小さな値とすることが好ましい。
【０１４６】
以上説明した第５実施形態の構成と第３実施形態の構成とを組み合わせることが好ましい。第４実施形態の構成と第５実施形態の構成とを組み合わせることも可能である。
【０１４７】
本発明は以上説明した各実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変更可能である。各実施形態ではビデオカメラを例としたが、画像データを扱う任意の電子機器において本発明の画像処理装置、画像処理方法、画像処理プログラムを用いることができる。例えば、画像表示装置やコンピュータ等の情報処理装置において各実施形態の画像処理装置を搭載し、画面の一部が高輝度となっている画像データを画像表示装置や情報処理装置の内部で補正するようにしてもよい。
【０１４８】
また、各実施形態においては、画像信号処理部３での処理を終了した映像データを補正する構成を示したが、画像信号処理部３での処理する前の映像データを補正してもよい。各実施形態においては、画像信号処理部３や圧縮伸張処理部５とは独立して設けたバッファメモリ４を用いる構成を示したが、画像信号処理部３や圧縮伸張処理部５で使用するバッファメモリを用いてもよく、回路（ブロック）構成は適宜に変更が可能である。
【０１４９】
本発明の画像処理プログラムを記録媒体に記録して提供してもよく、インターネット等の通信回線にて画像処理プログラムを配信してもよい。記録媒体に記録された画像処理プログラムや通信回線にて配信された画像処理プログラムを画像処理装置に記憶させて、上述した画像処理方法を実行させるようにしてもよい。
【符号の説明】
【０１５０】
１  撮像部
１ｓ  CMOSセンサ
２，２０  フラッシュ検出部
３  画像信号処理部
４  バッファメモリ（保持部）
５  圧縮伸張処理部
６  出力信号処理部
７  表示部
８  フラッシュ補正部
９  制御部（コンピュータ）
１０  メモリ
１１  記録再生部
１２  操作スイッチ
２１，２０３  ライン平均輝度算出部
２３，２０５  全画面平均輝度算出部
２５，２０７  差分算出部
２６，２０８  フラッシュ判定部
１０１，１０２  ビデオカメラ
２０１  ブロック平均輝度算出部
【図１】
0005928290.tif 000005
【図２】
0005928290.tif 000006
【図３】
0005928290.tif 000007
【図４】
0005928290.tif 000008
【図５】
0005928290.tif 000009
【図６】
0005928290.tif 000010
【図７】
0005928290.tif 000011
【図８】
0005928290.tif 000012
【図９】
0005928290.tif 000013
【図１０】
0005928290.tif 000014
【図１１】
0005928290.tif 000015
【図１２】
0005928290.tif 000016
【図１３】
0005928290.tif 000017
【図１４】
0005928290.tif 000018
【図１５】
0005928290.tif 000019