(57)【要約】【課題】フリッカー検出方法及びフリッカー検出装置を提供する。【解決手段】該方法は、画像フレームの選定行の平均値を計算し、平均値ベクトルを構成し；現在のフレームの平均値ベクトルと前の１フレームの平均値ベクトルとの差分ベクトルを計算し；差分ベクトルの各要素から差分ベクトルの直流成分を減算した後に得た直流成分除去ベクトルを計算し；直流成分除去ベクトルが対応するパワースペクトルを計算し；パワースペクトルの第一周波数における値又は第一周波数近傍の所定範囲内の平均値を第一周波数参照値として取得し；パワースペクトルの第二周波数における値又は第二周波数近傍の所定範囲内の平均値を第二周波数参照値として取得し；及び、第一周波数参照値と第二周波数参照値との差が第一閾値よりも大きい場合、現在のフレーム中にフリッカーが存在すると判断し、そうでない場合、フリッカーが存在しないと判断する。【選択図】図１
2015023577.tif 000002
【特許請求の範囲】
【請求項１】
画像フレームシーケンス中のフリッカーを検出するためのフリッカー検出方法であって、
画像フレームの選定行の平均値を計算し、計算した平均値は、行の順序に従って平均値ベクトルmean_row(k)を構成し；
現在のフレームの平均値ベクトルmean_row(k)と、前の１フレームの平均値ベクトルmean_row(k-1)との差分ベクトルdiff_frame(k)を計算し；
前記差分ベクトルdiff_frame(k)の各要素から、前記差分ベクトルdiff_frame(k)の直流成分を減算した後に得た直流成分除去ベクトルdiff_mean_row(k)を計算し；
前記直流成分除去ベクトルdiff_mean_row(k)が対応するパワースペクトルを計算し；
前記パワースペクトルの、第一周波数における値又は第一周波数近傍の所定範囲内の平均値を第一周波数参照値として取得し；
前記パワースペクトルの、第二周波数における値又は第二周波数近傍の所定範囲内の平均値を第二周波数参照値として取得し；及び、
前記第一周波数参照値と前記第二周波数参照値のとの差が所定第一閾値よりも大きい場合、現在のフレーム中にフリッカーが存在すると判断し、そうでない場合、現在のフレーム中にフリッカーが存在しないと判断することを含む、方法。
【請求項２】
請求項1に記載の方法であって、
現在のフレーム中にフリッカーが存在すると判断した場合、
前記第一周波数参照値が前記第二周波数参照値よりも大きいとき、前記フリッカーの周波数が前記第一周波数であると判断し；及び、
前記第二周波数参照値が前記第一周波数参照値よりも大きいとき、前記フリッカーの周波数が前記第二周波数であると判断する、方法。
【請求項３】
請求項1に記載の方法であって、
前記選定行は、画像フレームの全ての行、又は、画像フレームに対して均一サンプリングを行った後に得たサンプリング行である、方法。
【請求項４】
請求項3に記載の方法であって、
前記画像フレームは、グレースケール画像である、方法。
【請求項５】
請求項2に記載の方法であって、
第二段判断ステップを更に含み、
前記第二段判断ステップは、現在のフレーム、前の１フレーム、前の２フレームの３つの初期判断結果について、
そのうち少なくとも２つの判断結果が「第一周波数のフリッカーが存在し、且つ、そのうち第二周波数のフリッカーが存在しない」の場合、現在のフレーム中に第一周波数のフリッカーが存在すると更に判断し；
そのうち少なくとも２つの判断結果が「第二周波数のフリッカーが存在し、且つ、そのうち第一周波数のフリッカーが存在しない」の場合、現在のフレーム中に第二周波数のフリッカーが存在すると更に判断し；及び、
その以外の場合、現在のフレーム中にフリッカーが存在しないと判断する、方法。
【請求項６】
請求項5に記載の方法であって、
第三段判断ステップを更に含み、
前記第三段判断ステップは、
現在のフレーム及びその前のM-1フレーム計M個のフレームの第二段判断結果のうち、第一周波数のフリッカーが存在する第一比率及び第二周波数のフリッカーが存在する第二比率を統計し；
現在のフレーム及びその前のN-1フレーム計N個のフレームの第二段判断結果のうち、第一周波数のフリッカーが存在する第一個数及び第二周波数のフリッカーが存在する第二個数を統計し；
第一比率が第一比率閾値よりも大きく、且つ、第二個数が1よりも小さい場合、現在のフレーム中に第一周波数のフリッカーが存在すると更に判断し；
第二比率が第二比率閾値よりも大きく、且つ、第一個数が1よりも小さい場合、現在のフレーム中に第二周波数のフリッカーが存在すると更に判断し；及び
その以外の場合、現在のフレーム中にフリッカーが存在しないと判断し、
そのうち、M、Nは、１よりも大きい整数であり、且つ、M>Nである、方法。
【請求項７】
請求項1に記載の方法であって、
前記構築ステップにの前に、更に、
現在のフレームが前の１フレームに対して運動が存在するかどうかを検出し；及び、
検出結果が「現在のフレームが前の１フレームに対して運動が存在する」を表す場合、
現在のフレームの短縮平均値ベクトルMS_mean_row(k)を取得し、前記短縮平均値ベクトルMS_mean_row(k)は、現在のフレームの平均値ベクトルmean_row(k)から、頭部及び尾部の所定部分を除去した後に得たベクトルであり；
現在のフレームの前の１フレームの平均値ベクトルmean_row(k-1)の、現在のフレームの短縮平均値ベクトルMS_mean_row(k)の長さと同じであり且つ最も相似するセグメントを、マッチング短縮平均値ベクトルMt_mean_row(k-1)として見つけ；
現在のフレームの短縮平均値ベクトルMS_mean_row(k)と、前の１フレームのマッチング短縮平均値ベクトルMt_mean_row(k-1)との差分ベクトルdiff_frame_MM(k)を計算し；
前記差分ベクトルdiff_frame_MM(k)の各要素から、前記差分ベクトルdiff_frame_MM(k)の直流成分を減算した後に得た直流成分除去ベクトルdiff_mean_row(k)を計算することにより、
前記直流成分除去ベクトルdiff_mean_row(k)を計算することを含む、方法。
【請求項８】
請求項7に記載の方法であって、
現在のフレームの短縮平均値ベクトルMS_mean_row(k)の長さと同じウィンドウを用いてシフトすることによって、現在のフレームの前の１フレームの平均値ベクトルmean_row(k-1)のセグメントを候選セグメントとして取得し；
現在のフレームの短縮平均値ベクトルMS_mean_row(k)と、各候選セグメントとの間の差のベクトルの各要素の絶対値の平均値を計算し；及び、
最小平均値を有する候選セグメントを前記マッチング短縮平均値ベクトルMt_mean_row(k-1)として選択することにより、
前記マッチング短縮平均値ベクトルMt_mean_row(k-1)を見つける、方法。
【請求項９】
請求項7に記載の方法であって、
現在のフレームが前の１フレームに対して運動が存在するかどうかを検出することは、
前記直流成分除去ベクトルdiff_mean_row(k)の各要素の絶対値の平均値が所定運動閾値よりも大きい場合、現在のフレームが前の１フレームに対して運動が存在すると判断し；及び、
そうでない場合、現在のフレームが前の１フレームに対して運動が存在しないと判断する、方法。
【請求項１０】
検出画像フレームシーケンス中のフリッカーを検出するためのフリッカー検出装置であって、
画像フレームの選定行の平均値を計算し、計算した平均値は、行の順序に従って平均値ベクトルmean_row(k)を構成する平均値ベクトル計算装置；
現在のフレームの平均値ベクトルmean_row(k)と、前の１フレームの平均値ベクトルmean_row(k-1)との差分ベクトルdiff_frame(k)を計算する差分ベクトル計算装置；
前記差分ベクトルdiff_frame(k)の各要素から、前記差分ベクトルdiff_frame(k)の直流成分を減算した後に得た直流成分除去ベクトルdiff_mean_row(k)を計算する直流成分除去ベクトル計算装置；
前記直流成分除去ベクトルdiff_mean_row(k)が対応するパワースペクトルを計算するパワースペクトル計算装置；
前記パワースペクトルの、第一周波数における値又は第一周波数近傍の所定範囲内の平均値を第一周波数参照値として取得する第一周波数参照値計算装置；
前記パワースペクトルの、第二周波数における値又は第二周波数近傍の所定範囲内の平均値を第二周波数参照値として取得する第二周波数参照値計算装置；及び
存在判断ユニットを含むフリッカー判断装置であって、前記存在判断ユニットは、前記第一周波数参照値と前記第二周波数参照値との差が所定第一閾値よりも大きい場合、現在のフレーム中にフリッカーが存在すると判断し、前記第一周波数参照値と前記第二周波数参照値との差が所定第一閾値以下の場合、現在のフレーム中にフリッカーが存在しないと判断する、フリッカー判断装置を含む、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理に関し、特に、画像フレームシーケンス中のフリッカーを検出することができる方法及び装置に関する。
【背景技術】
【０００２】
近年、CMOS画像センサーが各種の画像取得装置、例えば、デジタルカメラ、デジタルビデオカメラ、携帯電話などに幅広く用いられている。光電変換プロセスにおいて、各画素又は各行の画素の光電変換時刻が異なるので、取得した画像には明暗の水平ストライプが存在し、特に、蛍光灯による照明、又は、明度が周期的に変化する他の照明の条件の下で画像取得を行う場合に存在する。このような照明光の周期性変化による取得画像（即ち、取得した画像）中の水平ストライプは、フリッカー（flicker）と称されている。
【０００３】
フリッカーの周波数に基づいて感光（露出）時間を合理的に設定することにより、取得画像中のフリッカーを抑制し、ひいては除去することができる。よって、フリッカーの存在及びフリッカーの周波数を検出する必要がある。
【０００４】
フリッカーの存在及びその周波数を検出するための従来の方法には、検出の正確率及び検出率が低く、画像フレームシーケンス中の運動（移動又は動き）により大きく影響されるとの欠点が存在する。
【０００５】
したがって、画像フレームシーケンス中のフリッカーを効率よく正確に検出することができ、且つ、画像フレームシーケンス中の運動からの影響を小さくさせることができるフリッカー検出方法及び装置が望ましい。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、現有技術の上述の問題に鑑みて、画像フレームシーケンス中のフリッカーを効率よく正確に検出することができる方法及び装置を提供することにある。
【課題を解決するための手段】
【０００７】
上述の目的を実現するために、本発明の一側面によれば、画像フレームシーケンス中のフリッカーを検出するためにフリッカー検出方法が提供され、該方法は、
画像フレームの選定行の平均値を計算し、計算した平均値は、行の順序に従って平均値ベクトルmean_row(k)を構成し；
現在のフレームの平均値ベクトルmean_row(k)と、前の１フレームの平均値ベクトルmean_row(k-1)との差分ベクトルdiff_frame(k)を計算し；
前記差分ベクトルdiff_frame(k)の各要素から、前記差分ベクトルdiff_frame(k)の直流成分（component）を減算した後に得た直流成分除去ベクトルdiff_mean_row(k)を計算し；
前記直流成分除去ベクトルdiff_mean_row(k)が対応するパワースペクトルを計算し；
前記パワースペクトルの、第一周波数における値又は第一周波数近傍の所定範囲内の平均値を第一周波数参照値として取得し；
前記パワースペクトルの、第二周波数における値又は第二周波数近傍の所定範囲内の平均値を第二周波数参照値として取得し；及び、
前記第一周波数参照値と前記第二周波数参照値との差が所定第一閾値（周波数参照値の差に関する閾値）よりも大きい場合、現在のフレーム中にフリッカーが存在すると判断し、そうでない場合、現在のフレーム中にフリッカーが存在しないと判断することを含む。
【０００８】
また、本発明の他の側面によれば、画像フレームシーケンス中のフリッカーを検出するためのフリッカー検出装置が提供され、該装置は、
画像フレームの選定行の平均値を計算し、計算した平均値は、行の順序に従って平均値ベクトルmean_row(k)を構成する平均値ベクトル計算装置；
現在のフレームの平均値ベクトルmean_row(k)と、前の１フレームの平均値ベクトルmean_row(k-1)との差分ベクトルdiff_frame(k)を計算する差分ベクトル計算装置；
前記差分ベクトルdiff_frame(k)の各要素から、前記差分ベクトルdiff_frame(k)の直流成分を減算した後に得た直流成分除去ベクトルdiff_mean_row(k)を計算する直流成分除去ベクトル計算装置；
前記直流成分除去ベクトルdiff_mean_row(k)が対応するパワースペクトルを計算するパワースペクトル計算装置；
前記パワースペクトルの、第一周波数における値又は第一周波数近傍の所定範囲内の平均値を第一周波数参照値として取得する第一周波数参照値計算装置；
前記パワースペクトルの、第二周波数における値又は第二周波数近傍の所定範囲内の平均値を第二周波数参照値として取得する第二周波数参照値計算装置；及び、
存在判断ユニットを含むフリッカー判断装置であって、前記存在判断ユニットは、前記第一周波数参照値と前記第二周波数参照値との差が所定第一閾値よりも大きい場合、現在のフレーム中にフリッカーが存在すると判断し、前記第一周波数参照値と前記第二周波数参照値と差が前記所定第一閾値以下の場合、現在のフレーム中にフリッカーが存在しないと判断する、フリッカー判断装置を含む。
【０００９】
また、本発明の他の側面によれば、記憶媒体が提供され、前記記憶媒体は、マシン可読プログラムコードを含み、情報処理装置において前記プログラムコードを実行する時に、前記プログラムコードは、前記情報処理装置に、本発明による上述の方法を実行させる。
【００１０】
また、本発明の他の側面によれば、プログラムプロダクトが提供され、前記プログラムプロダクトは、マシン可実行命令を含み、情報処理装置において前記命令を実行する時に、前記命令は、前記情報処理装置に、本発明による上述の方法を実行させる。
【００１１】
本発明の好適な実施例によるフリッカー検出方法及び装置は、さらに、画像フレームシーケンス中の運動からの影響を小さくさせることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第一実施例におけるフリッカー検出方法のフローチャートである。
【図２】直流成分除去ベクトルのパワースペクトルの例を示す図である。
【図３】本発明の第二実施例におけるフリッカー検出方法のフローチャートである。
【図４】本発明の第三実施例におけるフリッカー検出方法のフローチャートである。
【図５】本発明の第四実施例におけるフリッカー検出方法の運動有り場合の直流成分除去ベクトルの計算方法のフローチャートである。
【図６】本発明の実施例におけるフリッカー検出装置の構成ブロック図である。
【図７】本発明の実施例による方法及び装置を実施し得るコンピュータのブロック図である。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて本発明を実施するための形態を詳細に説明する。
【００１４】
次に、図１を基に、本発明の第一実施例におけるフリッカー検出方法を詳しく説明する。
【００１５】
図1は、本発明の第一実施例におけるフリッカー検出方法のフローチャートである。図1に示すように、本発明によるフリッカー検出方法は、次のようなステップを含む。
【００１６】
画像フレームの選定行の平均値を計算し、計算した平均値は、行の順序に従って平均値ベクトルmean_row(k)（ステップS1）を構成し；
現在のフレームの平均値ベクトルmean_row(k)と、前の１フレームの平均値ベクトルmean_row(k-1)との差分ベクトルdiff_frame(k)を計算し（ステップS2）；
前記差分ベクトルdiff_frame(k)の各要素から、前記差分ベクトルdiff_frame(k)の直流成分を減算した後に得た直流成分除去ベクトルdiff_mean_row(k)を計算し（ステップS3）；
前記直流成分除去ベクトルdiff_mean_row(k)が対応するパワースペクトルを計算し（ステップS4）；
前記パワースペクトルの、第一周波数における値又は第一周波数近傍の所定範囲内の平均値を第一周波数参照値として取得し（ステップS5）；
前記パワースペクトルの、第二周波数処における値又は第二周波数近傍の所定範囲内の平均値を第二周波数参照値として取得し（ステップS6）；
前記第一周波数参照値と前記第二周波数参照値との差が所定第一閾値よりも大きい場合、現在のフレーム中にフリッカーが存在すると判断し、そうでない場合、現在のフレーム中にフリッカーが存在しないと判断する（ステップS7）。
【００１７】
次に、本発明の第一実施例におけるフリッカー検出方法の各ステップについて具体的に説明する。
【００１８】
本発明のフリッカー検出方法の処理対象は、グレースケール画像からなる画像フレームシーケンスであり、該方法は、現在のフレーム及び現在のフレームの前のフレームの情報に基づいて、現在のフレーム中にフリッカーが存在するかどうかを判断することができ、さらに、フリッカーの周波数を判断（確定）することもできる。
【００１９】
画像フレームシーケンス中の画像フレームがカラー画像である場合、カラー画像をグレースケール画像に変換する前処理を行う必要がある。なお、カラー画像からグレースケール画像への変換は、この分野における任意の既知の方法を採用してもよく、これは、当業者にとって周知であるため、ここでは、詳しい説明を省略する。
【００２０】
ステップS1では、画像フレームの選定行の平均値を計算し、計算した平均値は、行の順序に従って平均値ベクトルmean_row(k)を構成する。
【００２１】
一つの画像フレーム、即ち、一つの画像は、複数の画素からなる。これらの画素は、行及び列に従って配置される。画像フレームの高さがheightであり、幅がwidthであるとすると、該画像フレームはheight行、width列の画素を有する。
【００２２】
画像フレームの選定行は、画像フレームの全ての行であってもよく、画像フレームに対して均一サンプリングを行うことによって得られたサンプリング行であってよい。サンプリング行を用いて計算を行うことによって、計算量を有効に低減させ、処理速度を向上させることができる。次に、サンプリング行を例として説明を行う。
【００２３】
例えば、画像フレームに対してサンプリングを行い、これによって、画像フレームの選定行の個数が256であるように統一させてもよい。それ相応に、サンプリング間隔は、次の式で計算されてもよい。
【００２４】
サンプリング間隔interval=floor(height/256)
そのうち、floor（）は、端数を切り捨てる（round  down）関数である。Heightは、画像フレームの高さである。なお、ここは256を例としているが、当業者は、システムの設計のニーズに応じて、サンプリング行の個数を柔軟に選択することができる。
【００２５】
サンプリング行の第i行、即ち、画像フレームの第iRow行は、
【数１】
2015023577.tif 000003
である。
【００２６】
frame（k,Row,Col）が第k個フレームの第Row行、第Col列のデータであると仮定する。Kは、フレームの順番号であり、その値は、正整数であり、Row及びColは、それぞれ、行及び列の順番号であり、その値も正整数である。
【００２７】
第k個画像フレームの各選定行の全ての画素の画素値の平均を行うことにより、選定行の平均値を求め、画像フレームの全ての選定行の平均値は、行の順序に従って配列され、画像フレームの平均値ベクトルmean_row(k)を構成する。
【００２８】
第k個フレームの第i個サンプリング行の平均値は、
【数２】
2015023577.tif 000004
と表されてもよい。そのうち、mean()は、平均の関数であり、符号“:”は、全ての列を表す。
【００２９】
ステップS2では、現在のフレームの平均値ベクトルmean_row(k)と、前の１フレームの平均値ベクトルmean_row(k-1)との差分ベクトルdiff_frame(k)を計算する。
【００３０】
即ち、diff_frame(k)=mean_row(k)-mean_row(k-1)である。
【００３１】
明らかであるように、このステップの実行の前提は、現在のフレームが画像フレームシーケンスの第二フレーム又はその後のフレームであり、即ち、現在のフレームの前の１フレームが存在するとのことである。
【００３２】
各フレームに対して行サンプリングを行った結果が256個のサンプリング行であると仮定すると、mean_row(k)の要素個数は256である。それ相応に、差分ベクトルdiff_frame(k)の要素個数も256である。
【００３３】
ステップS3では、差分ベクトルdiff_frame(k)の各要素から、前記差分ベクトルdiff_frame(k)の直流成分を減算した後の直流成分除去ベクトルdiff_mean_row(k)を計算する。
【００３４】
即ち、
【数３】
2015023577.tif 000005
である。
【００３５】
mean(diff_frame(k))は、差分ベクトルdiff_frame(k)の直流成分を表し、差分ベクトルdiff_frame(k)の全ての要素の平均値を求めることにより取得することができる。
【００３６】
異なるフレームのデータには差が存在し、特に、直流成分の差は大きいので、直流成分を除去することで、直流成分除去ベクトルの要素の数値を小さくさせることができ、且つ、異なるフレームの直流成分除去ベクトルはよい比較性を有するので、後続のステップに使用する各閾値の統一設計に有利である。
【００３７】
ステップS4では、直流成分除去ベクトルdiff_mean_row(k)が対応するパワースペクトルを計算する。
【００３８】
パワースペクトルの計算方法は、当業者に周知である。
【００３９】
具体的に、先ず、次の式で、直流成分除去ベクトルdiff_mean_row(k)の自己相関関数xcorrを計算する。
【数４】
2015023577.tif 000006
そのうち、corr()は自己相関関数である。
【００４０】
上式は次のようになり得る。
【数５】
2015023577.tif 000007
【００４１】
そのうち、NNは、直流成分除去ベクトルdiff_mean_row(k)の長さである。なお、次の第四実施例では、運動検出を導入することにより、運動有り場合の直流成分除去ベクトルdiff_mean_row(k)の長さが運動無し場合の直流成分除去ベクトルdiff_mean_row(k)の長さよりも短くなる。この時に、それ相応にNN値を調整し、NNが直流成分除去ベクトルdiff_mean_row(k)の長さと同じであるように保証する必要がある。
【００４２】
その後、自己相関関数を、時間領域-周波数領域の変換計算により、周波数領域に変換し、対応する周波数領域データFFT_xcorrを得る。時間領域-周波数領域の変換計算の方法は、当業者に周知であり、例えば、FFT（fast  Fourier  transform）を採用して、時間領域-周波数領域の変換計算を次に示すように行ってもよい。
【数６】
2015023577.tif 000008
【００４３】
そのうち、FFT()はfast  Fourier  transformであり、nfftは、FFT演算がnfft点のFFTであることを表す。FPSは、画像フレームのフレームレートを表し、上述のように、floor（）は、Round  Down関数であり、heightは、画像フレームの高さであり、floor(height/256)は、行サンプリング間隔である。
【００４４】
この時に、周波数領域において、正の周波数軸が対応する周波数領域データをパワースペクトルとして選択する。
【００４５】
即ち、FFT_xcorr(1:nfft/2)は、直流成分除去ベクトルdiff_mean_row(k)のパワースペクトル（周波数軸の値が1からnfft/2までの範囲内の周波数領域データ）であり、図2に示すようである。
【００４６】
図2は、直流成分除去ベクトルdiff_mean_row(k)のパワースペクトルの例を示す図である。
【００４７】
ステップS5では、パワースペクトルの、第一周波数における値又は第一周波数近傍の所定範囲内の平均値を第一周波数参照値として取得する。
【００４８】
即ち、第一周波数参照値sum_Fre1(k)は、次の式で計算してもよい。
【数７】
2015023577.tif 000009
【００４９】
そのうち、Fre1は第一周波数である。Frは所定範囲を表す。fr=0の時に得たのは、パワースペクトルの第一周波数における値である。Frは、経験及びテスト結果により決まってもよいが、好ましくは0である。
【００５０】
同様に、ステップS6では、パワースペクトルの、第二周波数における値又は第二周波数近傍の所定範囲内の平均値を第二周波数参照値として取得する。
【００５１】
即ち、第二周波数参照値sum_Fre2(k)は、次の式で計算してもよい。
【数８】
2015023577.tif 000010
【００５２】
同様に、Fre2は第二周波数である。Frは所定範囲を表す。fr=0の時に得たのは、パワースペクトルの第二周波数における値である。Frは、経験及びテスト結果により決まってもよいが、好ましくは0である。
【００５３】
蛍光灯の照射環境を例とし、フリッカー生成の原因は、交流電流に周波数が存在することにある。今のところ、商用交流電流は、よく見かける周波数が50hz及び60hzである。よって、フリッカーの可能な周波数（目標周波数）は100hz及び120hzである。
【００５４】
商用交流電流の供電の蛍光灯の場合、第一周波数及び第二周波数は、それぞれ、100hz及び120hzに等しくてもよい。
【００５５】
所定周波数のところ又はその近傍でパワースペクトルの値を取るのは、フリッカーが所定周波数における周波数領域の特性を比較するためである。当業者は、設計のニーズ及び応用の場面に応じて、所定周波数の値及び個数を柔軟に調整することができる。
【００５６】
ステップS7では、判断を行う。第一周波数参照値と第二周波数参照値のと差が所定第一閾値よりも大きい場合、現在のフレーム中にフリッカーが存在すると判断し、そうでない場合、現在のフレーム中にフリッカーが存在しないと判断する。
【００５７】
言い換えると、第一周波数参照値及び第二周波数参照値は、現在のフレーム中に存在する可能性のあるフリッカーの周波数と、第一周波数及び第二周波数との相関度を反映している。
【００５８】
第一周波数参照値及び第二周波数参照値のうちの１つと、もう１つとの差が十分に大きい時に、現在のフレーム中にフリッカーが存在すると認めてもよく、なぜなら、所期のフリッカーの周波数は、両者のうちの一つである。
【００５９】
そうでない場合、即ち、第一周波数参照値と第二周波数参照値との差が僅かである（明らかでない）時に、現在のフレームにフリッカーが存在しないと認めてもよく、これも、所期のフリッカーの周波数は、両者のうちの一つであるからである。
【００６０】
また、フリッカーが存在すると判断した場合、さらに、フリッカーの周波数を判断することもできる。
【００６１】
第一周波数参照値が第二周波数参照値よりも大きい場合、フリッカーの周波数が第一周波数であると判断し、第二周波数参照値が第一周波数参照値よりも大きい場合、フリッカーの周波数が第二周波数であると判断する。
【００６２】
言い換えると、第一周波数参照値が第二周波数参照値よりも遥かに大きい時に、第一周波数のフリッカーが存在すると判断し、第二周波数参照値が第一周波数参照値よりも遥かに大きい時に、第二周波数のフリッカーが存在すると判断し、第一周波数参照値と第二周波数参照値との差が僅かであると判断する時に、フリッカーが存在しないと判断する。
【００６３】
第一周波数参照値と第二周波数参照値との差を表す方法は、当業者が柔軟に設計し得るものである。例えば、次のような方式を採用してもよい。
【００６４】
第一周波数参照値sum_Fre1(k)と第二周波数参照値sum_Fre2(k)との差の絶対値diff_sum_Fre(k)を次のように計算する。
【数９】
2015023577.tif 000011
【００６５】
第一周波数参照値sum_Fre1(k)及び第二周波数参照値sum_Fre2(k)の最大値及び最小値の比div_sum_Fre(k)を次のように計算する。
【数１０】
2015023577.tif 000012
【００６６】
次の式で、第一段の判断結果FLFD(k)を計算する。
【数１１】
2015023577.tif 000013
【００６７】
そのうち、&&は、「且つ」を表し、Fre1は、判断結果が「第一周波数のフリッカーが存在する」を表し、Fre2は、判断結果が「第二周波数のフリッカーが存在する」を表し、Thre_div及びThre_diffは、対応する閾値を表し、noneは、「フリッカーが存在しない」を表し、elseは、他の場合を表す。Thre_divは、1よりも大きい数を取ってもよく、Thre_diffは、1よりも大きい数を取ってよい。
【００６８】
本発明の第一実施例では、一段（一回）判断方法（直接判断方法）を採用し、フリッカーの存在及び周波数を直接判断する。第二実施例では、数フレームの初段（初期）判断結果を総合し、さらなる判断を行い、より正確な判断結果を得る。
【００６９】
次に、図3に基づいて、本発明の第二実施例におけるフリッカー検出方法を詳細に説明する。
【００７０】
図3は、本発明の第二実施例におけるフリッカー検出方法のフローチャートである。図3に示すように、本発明によるフリッカー検出方法は、次のようなステップを含む。
【００７１】
画像フレームの選定行の平均値を計算し、計算した平均値は、行の順序に従って平均値ベクトルmean_row(k)を構成し（ステップS31）；
現在のフレームの平均値ベクトルmean_row(k)と、前の１フレームの平均値ベクトルmean_row(k-1)との差分ベクトルdiff_frame(k)を計算し（ステップS32）；
前記差分ベクトルdiff_frame(k)の各要素から、前記差分ベクトルdiff_frame(k)の直流成分を減算した後に得た直流成分除去ベクトルdiff_mean_row(k)を計算し（ステップS33）；
前記直流成分除去ベクトルdiff_mean_row(k)が対応するパワースペクトルを計算し（ステップS34）；
前記パワースペクトルの、第一周波数における値又は第一周波数近傍の所定範囲内の平均値を第一周波数参照値として取得し（ステップS35）；
前記パワースペクトルの、第二周波数における値又は第二周波数近傍の所定範囲内の平均値を第二周波数参照値として取得し（ステップS36）；
前記第一周波数参照値と前記第二周波数参照値との差が所定第一閾値よりも大きい場合、現在のフレーム中にフリッカーが存在すると初期判断し、そうでない場合、現在のフレーム中にフリッカーが存在しないと初期判断し（ステップS37）；
現在のフレーム、前の１フレーム、前の２フレームの３個の初期判断結果について、そのうち、少なくとも２個の判断結果が「第一周波数のフリッカーが存在し、且つ、そのうち、第二周波数のフリッカーが存在しない」の場合、現在のフレーム中に第一周波数のフリッカーが存在するとさらに判断し；そのうち、少なくとも２個の判断結果が「第二周波数のフリッカーが存在し、且つ、そのうち、第一周波数のフリッカーが存在しない」の場合、現在のフレーム中に第二周波数のフリッカーが存在するとさらに判断し；その以外の場合、現在のフレーム中にフリッカーが存在しないとさらに判断する（ステップS38）。
【００７２】
本発明の第二実施例のステップS31-S37は、第一実施例のステップS1-S7とは完全に同じであり、両実施例の相違点は、ステップS31-S37の初期（第一段）判断結果に基づいて、更なる総合判断を行うことにある（ステップS38）。
【００７３】
即ち、ステップS38では、現在のフレーム、前の１フレーム、前の２フレームの３個の初期判断結果を同時に参考する。そのうち、少なくとも２個の判断結果が「第一周波数のフリッカーが存在し、且つ、そのうち、第二周波数のフリッカーが存在しない」の場合、現在のフレーム中に第一周波数のフリッカーが存在するとさらに判断し；そのうち、少なくとも２個の判断結果が「第二周波数のフリッカーが存在し、且つ、そのうち、第一周波数のフリッカーが存在しない」の場合、現在のフレーム中に第二周波数のフリッカーが存在するとさらに判断し；以外の場合、現在のフレーム中にフリッカーが存在しないとさらに判断する。
【００７４】
明らかであるように、このような場合、現在のフレームは、画像フレームシーケンスの第三個のフレーム又はその後のフレームである。
【００７５】
本発明の第二実施例では、二段（二回）判断方法を採用することで、二回分けてフリッカーの存在及び周波数を判断することができる。第三実施例では、さらにより多くのフレームの判断結果（第二段判断結果）を総合して判断を行うことができる。
【００７６】
次に、図4に基づいて、本発明の第三実施例におけるフリッカー検出方法を詳細に説明する。
【００７７】
図4は、本発明の第三実施例におけるフリッカー検出方法のフローチャートである。図4に示すように、本発明によるフリッカー検出方法は、次のようなステップを含む。
【００７８】
画像フレームの選定行の平均値を計算し、計算した平均値は、行の順序に従って平均値ベクトルmean_row(k)を構成し（ステップS41）；
現在のフレームの平均値ベクトルmean_row(k)と、前の１フレームの平均値ベクトルmean_row(k-1)との差分ベクトルdiff_frame(k)を計算し（ステップS42）；
前記差分ベクトルdiff_frame(k)の各要素から、前記差分ベクトルdiff_frame(k)の直流成分を減算した後に得た直流成分除去ベクトルdiff_mean_row(k)を計算し（ステップS43）；
前記直流成分除去ベクトルdiff_mean_row(k)が対応するパワースペクトルを計算し（ステップS44）；
前記パワースペクトルの、第一周波数における値又は第一周波数近傍の所定範囲内の平均値を第一周波数参照値として取得し（ステップS45）；
前記パワースペクトルの、第二周波数における値又は第二周波数近傍の所定範囲内の平均値を第二周波数参照値として取得し（ステップS46）；
前記第一周波数参照値と前記第二周波数参照値との差が所定第一閾値よりも大きい場合、現在のフレーム中にフリッカーが存在すると初期判断し、そうでない場合、現在のフレーム中にフリッカーが存在しないと初期判断し（ステップS47）；
現在のフレーム、前の１フレーム、前の２フレームの３個の初期判断結果に基づいて、次のような二回目の判断を行い、即ち、そのうち、少なくとも２個の初期判断結果が「第一周波数のフリッカーが存在し、且つ、そのうち、第二周波数のフリッカーが存在しない」の場合、現在のフレーム中に第一周波数のフリッカーが存在するとさらに判断し；そのうち、少なくとも２個の初期判断結果が「第二周波数のフリッカーが存在し、且つ、そのうち、第一周波数のフリッカーが存在しない」の場合、現在のフレーム中に第二周波数のフリッカーが存在するとさらに判断し；その以外の場合、現在のフレーム中にフリッカーが存在しないとさらに判断し（ステップS48）；
現在のフレーム及びその前のM-1フレーム計M個のフレームの第二回判断結果のうち、第一周波数のフリッカーが存在する第一比率及び第二周波数のフリッカーが存在する第二比率を統計し（ステップS49）；
現在のフレーム及びその前のN-1フレーム計N個のフレームの第二回判断結果のうち、第一周波数のフリッカーが存在する第一個数及び第二周波数のフリッカーが存在する第二個数を統計し（ステップS50）；
第一比率が第一比率閾値よりも大きく、且つ、第二個数が1よりも小さい場合、現在のフレーム中に第一周波数のフリッカーが存在するとさらに判断し；第二比率が第二比率閾値よりも大きく、且つ、第一個数が1よりも小さい場合、現在のフレーム中に第二周波数のフリッカーが存在するとさらに判断し；その以外の場合、現在のフレーム中にフリッカーが存在しないと判断し（ステップS51）；そのうち、M、Nは、１よりも大きい整数であり、且つ、M>Nである。
【００７９】
本発明の第三実施例のステップS41-S48は、第二実施例のステップS31-S38とは完全に同じであり、両実施例の相違点は、ステップS41-S48の第二回判断結果に基づいて、更なる総合判断を行うことにある。
【００８０】
ステップS49では、現在のフレーム及びその前のM-1フレーム計M個のフレームの第二回判断結果のうち、第一周波数のフリッカーが存在する第一比率及び第二周波数のフリッカーが存在する第二比率を統計し、そのうち、Mは、１よりも大きい整数である。なお、システムのパフォーマンズ及びリソースの状況並びにテストの結果に基づいて、Mの値を柔軟に設計することができる。
【００８１】
ステップS50では、現在のフレーム及びその前のN-1フレーム計N個のフレームの第二回判断結果のうち、第一周波数のフリッカーが存在する第一個数及び第二周波数のフリッカーが存在する第二個数を統計する。そのうち、Nは、１よりも大きい整数であり、且つM>Nである。
【００８２】
ステップS49及びステップS50の統計結果に基づいて、ステップS51において次のような判断を行い、即ち、第一比率が第一比率閾値よりも大きく、且つ、第二個数が1よりも小さい場合、現在のフレーム中に第一周波数のフリッカーが存在するとさらに判断し；第二比率が第二比率閾値よりも大きく、且つ、第一個数が1よりも小さい場合、現在のフレーム中に第二周波数のフリッカーが存在するとさらに判断し；その以外の場合、現在のフレーム中にフリッカーが存在しないとさらに判断する。
【００８３】
そのうち、第一比率閾値及び第二比率閾値は同じであってもよく、異なってもよい。好ましくは、第一比率閾値及び第二比率閾値はともに0.5よりも大きい数を取る。
【００８４】
第二実施例と比べ、第三実施例は、第二回判断に基づいて修正を行った上で、より広い範囲内で総合判断を行う。
【００８５】
また、第三実施例では、M>Nと設定されることで、現在のフレーム及びその前の多くのフレームの範囲内で、２種類の判断結果（第一又は第二周波数のフリッカーが存在する）の比率に基づいて、判断を行うことができるので、現在のフレームの隣接したものの中でより厳しい判断を行うことができる。
【００８６】
また、現在のフレーム中にフリッカーが存在しないと判断した場合、さらに、現在のフレームが前の１フレームに対して運動が存在するかを判断することができる。この判断は、次に詳しく説明する運動検出プロセスに基づいて行われてもよい。言い換えると、本発明の出力結果の中で、次のような幾つの結果が存在する可能性があり、即ち、「第一周波数のフリッカーが存在する」、「第二周波数のフリッカーが存在する」、「運動が存在する」、「フリッカも運動も存在しない」である。
【００８７】
運動検出を行わない場合、本発明の出力結果は、「第一周波数のフリッカーが存在する」、「第二周波数のフリッカーが存在する」、「フリッカーが存在しない」を含む可能性がある。
【００８８】
第一〜第三実施例では、主に、フリッカーの存在及び周波数について判断を行った。次の第四実施例では、運動の要素を考慮し、巧妙な計算により、運動からフリッカー判断への影響を小さくさせ、検出率及び正確率をさらに向上させる。
【００８９】
第四実施例に導入の運動検出及びそれ相応の計算による調整は、同様に、第一〜第三実施例のうちの任意の１つにも適用し得る。以下、便宜のため、詳細なステップを省略し、第四実施例と、第一〜第三実施例との相違点のみを重点的に説明する。
【００９０】
第四実施例では、例えば、図１のステップS4の前に、さらに運動検出を行い、即ち、現在のフレームが前の１フレームに対して運動が存在するかどうかを検出する。
【００９１】
運動検出は、この分野における既知の任意の方法を採用してもよい。このような場合、フリッカー検出方法の一番最初に、運動検出を行い、そして、運動検出の結果に基づいて後続のステップを実行してもよい。
【００９２】
具体的に言えば、運動検出結果が「現在のフレームが前の１フレームに対して運動が存在しない」と表す場合、第一〜第三実施例中のプロセス従って、フリッカーに関する判断を行ってもよい。運動検出結果が「現在のフレームが前の１フレームに対して運動が存在する」と表す場合、第一〜第三実施例中の前の三つのステップを実行せず、次に詳しく説明する運動有り場合の直流成分除去ベクトル計算方法で計算を行い、その後、第一〜第三実施例中の残りのプロセスを行ってもよい。
【００９３】
また、運動検出ステップを、第一〜第三実施例中の前の三つのステップの後に設けてよく、この三つのステップの計算結果（直流成分除去ベクトルdiff_mean_row(k)）に基づいて、運動検出を行ってもよい。
【００９４】
具体的に言えば、直流成分除去ベクトルdiff_mean_row(k)の各要素の絶対値の平均値が所定運動閾値よりも大きい場合、現在のフレームが前の１フレームに対して運動が存在すると判断し、そうでない場合、現在のフレームが前の１フレームに対して運動が存在しないと判断する。
【００９５】
所定運動閾値は、当業者が経験に基づいて設定することができる。
【００９６】
運動検出結果が「現在のフレームが前の１フレームに対して運動が存在しない」と表す場合、第一〜第三実施例中の残りのプロセスに従ってフリッカーに関する判断を行ってもよい。運動検出結果が「現在のフレームが前の１フレームに対して運動が存在する」と表す場合、次に詳しく説明する運動有り場合の直流成分除去ベクトル計算方法で再び直流成分除去ベクトルdiff_mean_row(k)を計算し、その後、新しく計算した直流成分除去ベクトルdiff_mean_row(k)に基づいて第一〜第三実施例中の残りのプロセスを行ってもよい。
【００９７】
次に、図5を基に、本発明の第四実施例におけるフリッカー検出方法の運動有り場合のの直流成分除去ベクトルの計算方法を詳しく説明する。
【００９８】
図5は、本発明の第四実施例におけるフリッカー検出方法の運動有り場合の直流成分除去ベクトルの計算方法のフローチャートである。図5に示す、本発明の運動有り場合の計算直流成分除去ベクトルの方法は、次のようなステップを含む。
【００９９】
現在のフレームの短縮（Truncated）平均値ベクトルMS_mean_row(k)を取得し、前記短縮平均値ベクトルMS_mean_row(k)は、現在のフレームの平均値ベクトルmean_row(k)から、頭部及び尾部の所定部分を除去した後に得たベクトルであり（ステップS501）；
現在のフレームの前の１フレームの平均値ベクトルmean_row(k-1)の、現在のフレームの短縮平均値ベクトルMS_mean_row(k)の長さと同じであり、且つ、最も相似するセグメントを検索し（見つけ）、マッチング短縮平均値ベクトルMt_mean_row(k-1)とし（ステップS502）；
現在のフレームの短縮平均値ベクトルMS_mean_row(k)と、前の１フレームのマッチング短縮平均値ベクトルMt_mean_row(k-1)との差分ベクトルdiff_frame_MM(k)を計算し（ステップS503）；
差分ベクトルdiff_frame_MM(k)の各要素から、前記差分ベクトルdiff_frame_MM(k)の直流成分を減算した後に得た直流成分除去ベクトルdiff_mean_row(k)を計算する（ステップS504）。
【０１００】
ステップS501では、現在のフレームの短縮平均値ベクトルMS_mean_row(k)を取得し、前記短縮平均値ベクトルMS_mean_row(k)は、画像フレームの平均値ベクトルmean_row(k)から、頭部及び尾部の所定部分を除去した後に得たベクトルである。
【０１０１】
言い換えると、第一〜第三実施例中の第１ステップと同様に画像フレームの平均値ベクトルmean_row(k)を計算し、その後、平均値ベクトルmean_row(k)の頭部及び尾部の所定部分を除去し、この時に得たものは、短縮平均値ベクトルMS_mean_row(k)である。
【０１０２】
所定部分は、画像フレームの平均値ベクトルmean_row(k)の長さ及び所定の比率に関する。所定の比率は例えば0.1であり、言い換えると、画像フレームの平均値ベクトルmean_row(k)の前後の各10%の部分を除去し、中間の80%の部分を残してもよい。即ち、短縮平均値ベクトルMS_mean_row(k)は、中間の80%の選定行に対応する。
【０１０３】
ステップS502では、現在のフレームの前の１フレームの平均値ベクトルmean_row(k-1)の、現在のフレームの短縮平均値ベクトルMS_mean_row(k)長さと同じであり且つ最も相似するセグメントを検索し、マッチング短縮平均値ベクトルMt_mean_row(k-1)とする。
【０１０４】
次のステップでベクトルの差の演算を行うので、現在のフレームの前の１フレームのマッチング短縮平均値ベクトルMt_mean_row(k-1)と、現在のフレームの短縮平均値ベクトルMS_mean_row(k)との長が同じであるようにさせる必要がある。
【０１０５】
また、現在のフレームの前の１フレームの平均値ベクトルmean_row(k-1)の最も相似するセグメントを検索することにより、運動からのフリッカー検出への影響を小さくさせることができる。
【０１０６】
現在のフレームの短縮平均値ベクトルMS_mean_row(k)の長さと同じであるウィンドウを設定してもよく、該ウィンドウを用いて、現在のフレームの前の１フレームの平均値ベクトルmean_row(k-1)の最左側から、毎回、右へ１つの要素シフトし、ウィンドウ内のセグメントを取り出し、これにより、マッチング短縮平均値ベクトルMt_mean_row(k-1)の複数の候補を取得する。
【０１０７】
各候選と、現在のフレームの短縮平均値ベクトルMS_mean_row(k)との類似度を比較し、類似度が最大である候選をマッチング短縮平均値ベクトルMt_mean_row(k-1)とする。
【０１０８】
類似度の度量（measure）は、当業者が柔軟に設計してもよい。
【０１０９】
例えば、候選Mt_mean_rowと、現在のフレームの短縮平均値ベクトルMS_mean_row(k)との差のベクトルの各要素の絶対値の和matchingRateを類似度の度量としてもよい。最小matchingRateを持つ候選は、マッチング短縮平均値ベクトルMt_mean_row(k-1)として選択される。
【０１１０】
ステップS503では、現在のフレームの短縮平均値ベクトルMS_mean_row(k)と、前の１フレームのマッチング短縮平均値ベクトルMt_mean_row(k-1)との差分ベクトルdiff_frame_MM(k)を計算する。
【０１１１】
ステップS504では、前記差分ベクトルdiff_frame_MM(k)の各要素から、前記差分ベクトルdiff_frame_MM(k)の直流成分を減算した後に到た直流成分除去ベクトルdiff_mean_row(k)を計算する。
【０１１２】
このようにステップS501-S504により得た直流成分除去ベクトルdiff_mean_row(k)は、第一〜第三実施例中の第四ステップ及びその後のステップでのフリッカーの判断に用いることができ、運動からフリッカー検出への影響の低減に有利であり、フリッカーの検出率及び正確率をさらに向上させることができる。
【０１１３】
次に、図6を基に、本発明の実施例のフリッカー検出装置を詳しく説明する。
【０１１４】
図6は、本発明の実施例によるフリッカー検出装置の構成ブロック図である。図6に示すように、本発明によるフリッカー検出装置600は、次のようなものを含む。
【０１１５】
平均値ベクトル計算装置61：画像フレームの選定行の平均値を計算し、計算した平均値は、行の順序に従って平均値ベクトルmean_row(k)を構成し；
差分ベクトル計算装置62：現在のフレームの平均値ベクトルmean_row(k)と、前の１フレームの平均値ベクトルmean_row(k-1)との差分ベクトルdiff_frame(k)を計算し；
直流成分除去ベクトル計算装置63：前記差分ベクトルdiff_frame(k)の各要素から、前記差分ベクトルdiff_frame(k)の直流成分を減算した後に得た直流成分除去ベクトルdiff_mean_row(k)を計算し；
パワースペクトル計算装置64：前記直流成分除去ベクトルdiff_mean_row(k)が対応するパワースペクトルを計算し；
第一周波数参照値計算装置65：前記パワースペクトルの、第一周波数における値又は第一周波数近傍の所定範囲内の平均値を第一周波数参照値として取得し；
第二周波数参照値計算装置66：前記パワースペクトルの、第二周波数における値又は第二周波数近傍の所定範囲内の平均値を第二周波数参照値として取得し；
フリッカー判断装置67：存在判断ユニットを含み、前記存在判断ユニットは、前記第一周波数参照値と前記第二周波数参照値との差が所定第一閾値よりも大きい場合、現在のフレーム中にフリッカーが存在すると判断し、前記第一周波数参照値と前記第二周波数参照値との差が所定第一閾値以下である場合、現在のフレーム中にフリッカーが存在しないと判断する。
【０１１６】
１つの具体的な実施例では、フリッカー判断装置67はさらに周波数判断ユニットを含み、前記周波数判断ユニットは、存在判断ユニットが「現在のフレーム中にフリッカーが存在する」と判断した場合、前記第一周波数参照値が前記第二周波数参照値よりも大きいとき、前記周波数判断ユニットは、前記フリッカーの周波数が前記第一周波数であると判断し、前記第二周波数参照値が前記第一周波数参照値よりも大きいとき、前記周波数判断ユニットは、前記フリッカーの周波数が前記第二周波数であると判断する。
【０１１７】
１つの具体的な実施例では、選定行は、画像フレームの全ての行、又は、画像フレームに対して均一サンプリングを行った後に得たサンプリング行である。
【０１１８】
１つの具体的な実施例では、画像フレームは、グレースケール画像である。
【０１１９】
１つの具体的な実施例では、フリッカー判断装置67は更に第二段判断ユニットを含み、前記第二段判断ユニットは、前記存在判断ユニット及び前記周波数判断ユニットによる現在のフレーム、前の１フレーム、前の２フレームの三つの初期判断結果について、そのうち、少なくとも２つの判断結果が「第一周波数のフリッカーが存在し、且ち、そのうち、第二周波数のフリッカーが存在しない」の場合、前記第二段判断ユニットは、現在のフレーム中に第一周波数のフリッカーが存在するとさらに判断し；そのうち、少なくとも２つの判断結果が「第二周波数のフリッカーが存在し、且つ、そのうち、第一周波数のフリッカーが存在しない」の場合、前記第二段判断ユニットは、現在のフレーム中に第二周波数のフリッカーが存在するとさらに判断し；その以外の場合、前記第二段判断ユニットは、現在のフレーム中にフリッカーが存在しないとさらに判断する。
【０１２０】
１つの具体的な実施例では、フリッカー判断装置67はさらに第三段判断ユニットを含み、前記第三段判断ユニットは、次のようなものを含む。
【０１２１】
比率統計ユニット：現在のフレーム及びその前のM-1フレーム計M個のフレームの第二段判断結果のうち、第一周波数のフリッカーが存在する第一比率及び第二周波数のフリッカーが存在する第二比率を統計し；
個数統計ユニット：現在のフレーム及びその前のN-1フレーム計N個のフレームの第二段判断結果のうち、第一周波数のフリッカーが存在する第一個数及び第二周波数のフリッカーが存在する第二個数を統計し；
第三段判断サブユニット：第一比率が第一比率閾値よりも大きく、且つ、第二個数が1よりも小さい場合、現在のフレーム中に第一周波数のフリッカーが存在するとさらに判断し；第二比率が第二比率閾値よりも大きく、且つ、第一個数が1よりも小さい場合、現在のフレーム中に第二周波数のフリッカーが存在するとさらに判断し；その以外の場合、現在のフレーム中にフリッカーが存在しないとさらに判断し；そのうち、M、Nは１よりも大きい整数であり、且つ、M>Nである。
【０１２２】
１つの具体的な実施例では、第三段判断サブユニットはさらに、現在のフレーム中にフリッカーが存在しないと判断した場合、現在のフレームが前の１フレームに対して運動が存在するかどうかを判断する。
【０１２３】
１つの具体的な実施例では、フリッカー検出装置600はさらに運動検出装置を含み、それは、現在のフレームが前の１フレームに対して運動が存在するかどうかを検出するように構成される。運動検出装置の検出結果は、現在のフレームが前の１フレームに対して運動が存在すると表す場合、平均値ベクトル計算装置61は、現在のフレームの短縮平均値ベクトルMS_mean_row(k)を取得し、前記短縮平均値ベクトルMS_mean_row(k)は、現在のフレームの平均値ベクトルmean_row(k)から、頭部及び尾部の所定部分を除去した後に得たベクトルであり、現在のフレームの前の１フレームの平均値ベクトルmean_row(k-1)の、現在のフレームの短縮平均値ベクトルMS_mean_row(k)長さと同じで且つ最も相似するセグメントを検索し、マッチング短縮平均値ベクトルMt_mean_row(k-1)とするように構成され；差分ベクトル計算装置62は、現在のフレームの短縮平均値ベクトルMS_mean_row(k)と、前の１フレームのマッチング短縮平均値ベクトルMt_mean_row(k-1)との差分ベクトルdiff_frame_MM(k)を計算するように構成され；直流成分除去ベクトル計算装置63は、前記差分ベクトルdiff_frame_MM(k)の各要素から、前記差分ベクトルdiff_frame_MM(k)の直流成分を減算した後に得た直流成分除去ベクトルdiff_mean_row(k)を計算するように構成される。
【０１２４】
１つの具体的な実施例では、平均値ベクトル計算装置61はさらに、現在のフレームの短縮平均値ベクトルMS_mean_row(k)長さと同じであるウィンドウを用いてシフトすることにより、現在のフレームの前の１フレームの平均値ベクトルmean_row(k-1)のセグメントを候選セグメントとして取得し；現在のフレームの短縮平均値ベクトルMS_mean_row(k)と、各候選セグメントとの間の差のベクトルの各要素の絶対値の平均値をを計算し；最小平均値を持つ候選セグメントを、前記マッチング短縮平均値ベクトルMt_mean_row(k-1)として選択する。
【０１２５】
１つの具体的な実施例では、所定部分は、前記画像フレームの平均値ベクトルmean_row(k)の長さ及び所定の比率に関する。
【０１２６】
１つの具体的な実施例では、運動検出装置はさらに、前記直流成分除去ベクトルdiff_mean_row(k)の絶対値の平均値が所定運動閾値よりも大きい場合、現在のフレームが前の１フレームに対して運動が存在すると判断し；前記直流成分除去ベクトルdiff_mean_row(k)の絶対値の平均値が所定運動閾値以下である場合、現在のフレームが前の１フレームに対して運動が存在しないと判断する。
【０１２７】
本発明のフリッカー検出装置600に含まれる平均値ベクトル計算装置61、差分ベクトル計算装置62、直流成分除去ベクトル計算装置63、パワースペクトル計算装置64、第一周波数参照値計算装置65、第二周波数参照値計算装置66、フリッカー判断装置67、運動検出装置中の処理は、それぞれ、上述のフリッカー検出方法中の各ステップ中の処理と類似するので、便宜のため、ここでは、それらに関する詳しい説明を省略する。
【０１２８】
また、上述の一連の処理及び装置は、ソフトウェア、ファームウェア、ハードウェア又はそれらの任意の組む合せの方式で実現されてもよい。ソフトウェア又はファームウェアにより実現する場合、まず、記憶媒体又はネットワークから、専用ハードウェア構造を有するマシン（例えば、図7に示す汎用マシン700）に該ソフトウェア又はファームウェアのプログラムをインストールし、それから、該マシンは、各種プログラムがインストールされている時に、上述のユニットやサブユニットの各種機能を実行することができる。
【０１２９】
図７は、本発明の実施例による方法及び装置を実施し得るコンピュータのブロック図である。
【０１３０】
図7に示すように、中央処理ユニット（ＣＰＵ）701が、リードオンリーメモリ（ＲＯＭ）702に記憶されているプログラム、又は、記憶部708からランダムアクセスメモリ（ＲＡＭ）703にロードされているプログラムに基づいて各種の処理を行う。ＲＡＭ703は、ニーズに応じて、ＣＰＵ701が各種の処理などを実行するときに必要なデータを記憶してもよい。ＣＰＵ701、ＲＯＭ702及びＲＡＭ703は、バス704を経由して互いに接続される。また、入力／出力インターフェース705もバス704に接続される。
【０１３１】
入力／出力インターフェース705には、入力部706（キーボードやマウスなどを含む）、出力部分707（表示器例えばＣＲＴ、ＬＣＤ、スピーカーなどを含む）、記憶部708（ハードディスクなどを含む）、及び通信部709（ネットワーク接続カード例えばＬＡＮカード、モデムなどを含む）が接続される。通信部709は、ネットワーク例えばインターネットを経由して通信処理を行う。ドライブ710がニーズに応じて入力／出力インターフェース705に接続されてもよい。また、ニーズに応じて、取り外し可能な媒体711例えば磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどをドライブ710にセットすることにより、その中から読み出したコンピュータプログラムを記憶部708にインストールしてもよい。
【０１３２】
ソフトウェアにより上述の一連の処理を実現する場合は、ネットワーク例えばインターネット、又は記憶媒体例えば取り外し可能な媒体711から、このソフトウェアを構成するプログラムをインストールしてもよい。
【０１３３】
なお、当業者が理解すべきは、このような記憶媒体は、中にプログラムが記憶されており、ユーザにプログラムを提供するよう装置と独立して配られる図7に示すような取り外し可能な媒体711に限定されない。取り外し可能な媒体711の例としては、磁気ディスク（フロッピー（登録商標）ディスクを含む）、光ディスク（ＣＤ−ＲＯＭ及びＤＶＤを含む）、光磁気ディスク（ＭＤ（登録商標）を含む）、及び半導体メモリを含む。或いは、記憶媒体はＲＯＭ702、記憶部708に含まれるハードディスクなどであってもよく、それらにはプログラムが記憶されており、且つそれらを含む装置とともにユーザに配られてもよい。
【０１３４】
また、本発明は、マシン（例えば、コンピュータ）読取可能な命令コードからなるプログラムプロダクトにも関する。この命令コードは、マシンに読み取られて実行される時に、上述の実施例による方法を実行することができる。
【０１３５】
さらに、上述のマシン読取可能な命令コードからなるプログラムプロダクトを記憶している記憶媒体も本開示に含まれている。このような記憶媒体は、磁気ディスク（フロッピーディスク）、光ディスク、光磁気ディスク、メモリカード、メモリメモリスティックなどを含むが、これらに限定されない。
【０１３６】
本発明の上述の実施例による方法は、明細書に記載の又は図面に図示の時間順序に従って実行することに限定されず、他の時間順序に従って、並列に又は独立して実行してもよい。よって、本明細書又は図面に記載の方法の実行順序は、本発明の技術範囲を限定しない。
【０１３７】
また、もちろん、本発明の上述の方法の各処理プロセスは、各種のマシン可読記憶媒体に保存のコンピュータ実行可能なプログラムの方式により実現されてもよい。
【０１３８】
また、本発明の目的は、上述の実行可能なプログラムコードを記憶している記憶媒体を直接又は間接にシステム又は装置に提供し、且つ、該システム又は装置中のコンピュータ又は中央処理ユニット（CPU）が上述のプログラムコードを読み出して実行させる方式で実現されてもよい。
【０１３９】
また、該システム又は装置はプログラムを実行する機能を有すれば、本発明の実施方式はプログラムに限定されず、また、該プログラムは他の任意の形式、例えば、オブジェクトプログラム、インタープリター実行用プログラム、又は、オペレーティングシステム操作システムに提供するスクリプトプログラムなどであってもよい。
【０１４０】
上述のマシン可読記憶媒体は、各種の存儲器及び存儲ユニット、半導体装置、ディスユニット例えば光、磁気及び光磁気ディス、及び他の任意の使用可能な情報記憶媒体などであってもよい。
【０１４１】
また、クライントコンピュータが、インターネットに接続されている所定のウェブサイトを経由して、本発明の上述の実施例によるコンピュータプログラムコードをダウンロードし、コンピュータにインストールした後に、該プログラムを実行することにより、本発明を実現することもできる。
【０１４２】
また、上述の各実施例を含む実施形態に関し、更に以下の付記を開示する。
【０１４３】
（付記1）
画像フレームシーケンス中のフリッカーを検出するためのフリッカー検出方法であって、
画像フレームの選定行の平均値を計算し、計算した平均値は、行の順序に従って平均値ベクトルmean_row(k)を構成し；
現在のフレームの平均値ベクトルmean_row(k)と、前の１フレームの平均値ベクトルmean_row(k-1)との差分ベクトルdiff_frame(k)を計算し；
前記差分ベクトルdiff_frame(k)の各要素から、前記差分ベクトルdiff_frame(k)の直流成分を減算した後に得た直流成分除去ベクトルdiff_mean_row(k)を計算し；
前記直流成分除去ベクトルdiff_mean_row(k)が対応するパワースペクトルを計算し；
前記パワースペクトルの、第一周波数における値又は第一周波数近傍の所定範囲内の平均値を第一周波数参照値として取得し；
前記パワースペクトルの、第二周波数における値又は第二周波数近傍の所定範囲内の平均値を第二周波数参照値として取得し；及び、
前記第一周波数参照値と前記第二周波数参照値のとの差が所定第一閾値よりも大きい場合、現在のフレーム中にフリッカーが存在すると判断し、そうでない場合、現在のフレーム中にフリッカーが存在しないと判断することを含む、方法。
【０１４４】
（付記2）
付記1に記載の方法であって、
現在のフレーム中にフリッカーが存在すると判断した場合、
前記第一周波数参照値が前記第二周波数参照値よりも大きいとき、前記フリッカーの周波数が前記第一周波数であると判断し；
前記第二周波数参照値が前記第一周波数参照値よりも大きいとき、前記フリッカーの周波数が前記第二周波数であると判断する、方法。
【０１４５】
（付記3）
付記1に記載の方法であって、
前記選定行は、画像フレームの全ての行、又は、画像フレームに対して均一サンプリングを行った後に得たサンプリング行である、方法。
【０１４６】
（付記4）
付記3に記載の方法であって、
前記画像フレームは、グレースケール画像である、方法。
【０１４７】
（付記5）
付記2に記載の方法であって、
第二段判断ステップを更に含み、前記第二段判断ステップは、
現在のフレーム、前の１フレーム、前の２フレームの３つの初期判断結果について、
そのうち少なくとも２つの判断結果が「第一周波数のフリッカーが存在し、且つ、そのうち第二周波数のフリッカーが存在しない」の場合、現在のフレーム中に第一周波数のフリッカーが存在すると更に判断し；
そのうち少なくとも２つの判断結果が「第二周波数のフリッカーが存在し、且つ、そのうち第一周波数のフリッカーが存在しない」の場合、現在のフレーム中に第二周波数のフリッカーが存在すると更に判断し；及び、
その以外の場合、現在のフレーム中にフリッカーが存在しないと判断する、方法。
【０１４８】
（付記6）
付記5に記載の方法であって、
第三段判断ステップを更に含み、前記第三段判断ステップは、
現在のフレーム及びその前のM-1フレーム計M個のフレームの第二段判断結果のうち、第一周波数のフリッカーが存在する第一比率及び第二周波数のフリッカーが存在する第二比率を統計し；
現在のフレーム及びその前のN-1フレーム計N個のフレームの第二段判断結果のうち、第一周波数のフリッカーが存在する第一個数及び第二周波数のフリッカーが存在する第二個数を統計し；
第一比率が第一比率閾値よりも大きく、且つ、第二個数が1よりも小さい場合、現在のフレーム中に第一周波数のフリッカーが存在すると更に判断し；
第二比率が第二比率閾値よりも大きく、且つ、第一個数が1よりも小さい場合、現在のフレーム中に第二周波数のフリッカーが存在すると更に判断し；及び
その以外の場合、現在のフレーム中にフリッカーが存在しないと判断し；
そのうち、M、Nは、１よりも大きい整数であり、且つ、M>Nである、方法。
【０１４９】
（付記7）
付記6に記載の方法であって、
現在のフレーム中にフリッカーが存在しないと判断した場合、現在のフレームが前の１フレームに対して運動が存在するかどうかを判断する、方法。
【０１５０】
（付記8）
付記1に記載の方法であって、
前記構築ステップの前に、更に
現在のフレームが前の１フレームに対して運動が存在するかどうかを検出し；及び、
検出結果が「現在のフレームが前の１フレームに対して運動が存在する」を示す場合、
現在のフレームの短縮平均値ベクトルMS_mean_row(k)を取得し、前記短縮平均値ベクトルMS_mean_row(k)は、現在のフレームの平均値ベクトルmean_row(k)から、頭部及び尾部の所定部分を除去した後に得たベクトルであり；
現在のフレームの前の１フレームの平均値ベクトルmean_row(k-1)の、現在のフレームの短縮平均値ベクトルMS_mean_row(k)の長さと同じで且つ最も相似するセグメントを、マッチング短縮平均値ベクトルMt_mean_row(k-1)として見つけ；
現在のフレームの短縮平均値ベクトルMS_mean_row(k)と、前の１フレームのマッチング短縮平均値ベクトルMt_mean_row(k-1)との差分ベクトルdiff_frame_MM(k)を計算し；
前記差分ベクトルdiff_frame_MM(k)の各要素から、前記差分ベクトルdiff_frame_MM(k)の直流成分を減算した後に得た直流成分除去ベクトルdiff_mean_row(k)を計算することにより、
前記直流成分除去ベクトルdiff_mean_row(k)を計算することを含む、方法。
【０１５１】
（付記9）
付記8に記載の方法であって、
現在のフレームの短縮平均値ベクトルMS_mean_row(k)の長さと同じウィンドウを用いてシフトすることによって、現在のフレームの前の１フレームの平均値ベクトルmean_row(k-1)のセグメントを候選セグメントとして取得し；
現在のフレームの短縮平均値ベクトルMS_mean_row(k)と、各個候選セグメントとの間の差のベクトルの各要素の絶対値の平均値を計算し；及び、
最小平均値を有する候選セグメントを前記マッチング短縮平均値ベクトルMt_mean_row(k-1)として選択することにより、
前記マッチング短縮平均値ベクトルMt_mean_row(k-1)を見つける、方法。
【０１５２】
（付記10）
付記8に記載の方法であって、
前記所定部分は、前記画像フレームの平均値ベクトルmean_row(k)の長さ及び所定の比率に関する、方法。
【０１５３】
（付記11）
付記8に記載の方法であって、
現在のフレームが前の１フレームに対して運動が存在するかどうかを検出することは、
前記直流成分除去ベクトルdiff_mean_row(k)の各要素の絶対値の平均値が所定運動閾値よりも大きい場合、現在のフレームが前の１フレームに対して運動が存在すると判断し；及び、
そうでない場合、現在のフレームが前の１フレームに対して運動が存在しないと判断する、方法。
【０１５４】
（付記12）
検出画像フレームシーケンス中のフリッカーを検出するためのフリッカー検出装置であって、
画像フレームの選定行の平均値を計算し、計算した平均値は、行の順序に従って平均値ベクトルmean_row(k)を構成する平均値ベクトル計算装置；
現在のフレームの平均値ベクトルmean_row(k)と、前の１フレームの平均値ベクトルmean_row(k-1)との差分ベクトルdiff_frame(k)を計算する差分ベクトル計算装置；
前記差分ベクトルdiff_frame(k)の各要素から、前記差分ベクトルdiff_frame(k)の直流成分を減算した後に得た直流成分除去ベクトルdiff_mean_row(k)を計算する直流成分除去ベクトル計算装置；
前記直流成分除去ベクトルdiff_mean_row(k)が対応するパワースペクトルを計算するパワースペクトル計算装置；
前記パワースペクトルの、第一周波数における値又は第一周波数近傍の所定範囲内の平均値を第一周波数参照値として取得する第一周波数参照値計算装置；
前記パワースペクトルの、第二周波数における値又は第二周波数近傍の所定範囲内の平均値を第二周波数参照値として取得する第二周波数参照値計算装置；
存在判断ユニットを含むフリッカー判断装置であって、前記存在判断ユニットは、前記第一周波数参照値と前記第二周波数参照値との差が所定第一閾値よりも大きい場合、現在のフレーム中にフリッカーが存在すると判断し、前記第一周波数参照値と前記第二周波数参照値との差が所定第一閾値以下の場合、現在のフレーム中にフリッカーが存在しないと判断する、フリッカー判断装置を含む、装置。
【０１５５】
（付記13）
付記12に記載の装置であって、
前記フリッカー判断装置は更に周波数判断ユニットを含み、前記周波数判断ユニットは、存在判断ユニットにより、現在のフレーム中にフリッカーが存在すると判断した場合、
前記第一周波数参照値が前記第二周波数参照値よりも大きいとき、前記周波数判断ユニットは、前記フリッカーの周波数が前記第一周波数であると判断し；
前記第二周波数参照値が前記第一周波数参照値よりも大きいとき、前記周波数判断ユニットは、前記フリッカーの周波数が前記第二周波数であると判断する、装置。
【０１５６】
（付記14）
付記12に記載の装置であって、
前記選定行は、画像フレームの全ての行、又は、画像フレームに対して均一サンプリングを行った後に得たサンプリング行である、方法。
【０１５７】
（付記15）
付記14に記載の装置であって、
前記画像フレームは、グレースケール画像である、方法。
【０１５８】
（付記16）
付記13に記載の装置であって、
前記フリッカー判断装置は更に第二段判断ユニットを含み、前記第二段判断ユニットは、
前記存在判断ユニット及び前記周波数判断ユニットによる現在のフレーム、前の１フレーム、前の２フレームの３つの初期判断結果について、
そのうち少なくとも２つの判断結果が「第一周波数のフリッカーが存在し、且つ、そのうち第二周波数のフリッカーが存在しない」の場合、前記第二段判断ユニットは、現在のフレーム中に第一周波数のフリッカーが存在すると更に判断し；
そのうち少なくとも２つの判断結果が「第二周波数のフリッカーが存在し、且つ、そのうち第一周波数のフリッカーが存在しない」の場合、前記第二段判断ユニットは、現在のフレーム中に第二周波数のフリッカーが存在すると更に判断し；
その以外の場合、前記第二段判断ユニットは、現在のフレームにフリッカーが存在しないと判断する、装置。
【０１５９】
（付記17）
付記16に記載の装置であって、
前記フリッカー判断装置は更に第三段判断ユニットを含み、前記第三段判断ユニットは、
現在のフレーム及びその前のM-1フレーム計M個のフレームの第二段判断結果のうち、第一周波数のフリッカーが存在する第一比率及び第二周波数のフリッカーが存在する第二比率を統計する比率統計ユニット；
現在のフレーム及びその前のN-1フレーム計N個のフレームの第二段判断結果のうち、第一周波数のフリッカーが存在する第一個数及び第二周波数のフリッカーが存在する第二個数を統計する個数統計ユニット；及び、
第三段判断サブユニットであって、第一比率が第一比率閾値よりも大きく、且つ、第二個数が1よりも小さい場合、現在のフレーム中に第一周波数のフリッカーが存在すると更に判断し、第二比率が第二比率閾値よりも大きく、且つ、第一個数が1よりも小さい場合、現在のフレームに第二周波数のフリッカーが存在すると判断し、その以外の場合、現在のフレーム中にフリッカーが存在しないと判断する、第三段判断サブユニットを含み、
そのうち、M、Nは、１よりも大きい整数であり、且つ、M>Nである、装置。
【０１６０】
（付記18）
付記12に記載の装置であって、
運動検出装置を更に含み、前記運動検出装置は、現在のフレームが前の１フレームに対して運動が存在するかどうかを検出し、
前記運動検出装置の検出結果は、現在のフレームが前の１フレームに対して運動が存在すると表す場合、
前記平均値ベクトル計算装置は、
現在のフレームの短縮平均値ベクトルMS_mean_row(k)を取得し、前記短縮平均値ベクトルMS_mean_row(k)は、現在のフレームの平均値ベクトルmean_row(k)から頭部及び尾部の所定部分を除去した後に得たベクトルであり；及び、
現在のフレームの前の１フレームの平均値ベクトルmean_row(k-1)の、現在のフレームの短縮平均値ベクトルMS_mean_row(k)の長さと同じであり且つ最も相似するセグメントをマッチング短縮平均値ベクトルMt_mean_row(k-1)として見つけ、
前記差分ベクトル計算装置は、
現在のフレームの短縮平均値ベクトルMS_mean_row(k)と、前の１フレームのマッチング短縮平均値ベクトルMt_mean_row(k-1)との差分ベクトルdiff_frame_MM(k)を計算し；
前記直流成分除去ベクトル計算装置は、
前記差分ベクトルdiff_frame_MM(k)の各要素から、前記差分ベクトルdiff_frame_MM(k)の直流成分を減算した後に得た直流成分除去ベクトルdiff_mean_row(k)を計算する、装置。
【０１６１】
（付記19）
付記18に記載の装置であって、
前記平均値ベクトル計算装置は、更に、
現在のフレームの短縮平均値ベクトルMS_mean_row(k)の長さと同じであるウィンドウを用いてシフトすることにより、現在のフレームの前の１フレームの平均値ベクトルmean_row(k-1)のセグメントを候選セグメントとして取得し；
現在のフレームの短縮平均値ベクトルMS_mean_row(k)と、各候選セグメントとの間の差のベクトルの各要素の絶対値の平均値を計算し；及び、
最小平均値を有する候選セグメントを前記マッチング短縮平均値ベクトルMt_mean_row(k-1)として選択する、装置。
【０１６２】
（付記20）
付記18に記載の装置であって、
前記運動検出装置は更に、
前記直流成分除去ベクトルdiff_mean_row(k)の絶対値の平均値が所定運動閾値よりも大きい場合、現在のフレームが前の１フレームに対して運動が存在すると判断し；及び、
前記直流成分除去ベクトルdiff_mean_row(k)の絶対値の平均値が所定運動閾値以下である場合、現在のフレームが前の１フレームに対して運動が存在しないと判断する、装置。
【０１６３】
以上、本発明の好ましい実施形態を説明したが、本発明はこの実施形態に限定されず、本発明の趣旨を離脱しない限り、本発明に対するあらゆる変更は本発明の技術的範囲に属する。
【図１】
2015023577.tif 000014
【図２】
2015023577.tif 000015
【図３】
2015023577.tif 000016
【図４】
2015023577.tif 000017
【図５】
2015023577.tif 000018
【図６】
2015023577.tif 000019
【図７】
2015023577.tif 000020