説明

ディゾルブ検出装置及びプログラム

【課題】映像内の被写体に動きがあるディゾルブ区間を、高い精度で検出すること。
【解決手段】映像を構成する一連のフレームのうち、N番目(N≧2)からN+M番目(M≧2)のフレーム区間をディゾルブ区間候補として取得するディゾルブ区間候補取得部5と、ディゾルブ区間候補がディゾルブ区間であるか否かを判定するディゾルブ区間判定部6と、を含むことを特徴とするディゾルブ区間検出装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディゾルブ検出装置及びプログラムに関する。
【背景技術】
【0002】
一台のカメラで連続して撮影された映像の区間はショットと呼ばれ、ショットを連結してなる映像(以下、連結映像と称する。)におけるショットの切り替え点はショット境界と呼ばれる。
【0003】
ショット境界においては、ディゾルブという切り替え手法が用いられることがある。ディゾルブは、複数フレームにわたってショットを徐々に切り替えていくもので、自然な切り替えを演出するために用いられるものである。
【0004】
図7は、ディゾルブの例を説明するための説明図である。同図は、横軸をフレーム、縦軸を画素値(RGB方式を用いる場合にはR成分,G成分,B成分それぞれの値。輝度−色差方式を用いる場合には輝度成分及び2つの色差成分それぞれの値。)の合成比率としたグラフであり、ショットAとショットBとをディゾルブを用いて連結した例を示している。
【0005】
図7の例において、フレームt1までの各フレームでは、ショットAの合成比率が1(100%)であり、ショットAの画素値がそのまま連結映像の画素値となっている。また、フレームt2(t2>t1)以降の各フレームでは、ショットBの合成比率が1(100%)であり、ショットBの画素値がそのまま連結映像の画素値となっている。
【0006】
一方、フレームt1とフレームt2の間(ディゾルブ区間という。通常10フレーム(1秒)程度。)の各フレームでは、連結映像の各画素の画素値は、次に示す式(1)により決定されている。ここで、f(r)は連結映像のフレームtにおける座標r(変数rはベクトル値である。以下同じ。)の画素の画素値であり、ft1(r)は、ショットAのフレームt1における座標rの画素の画素値であり、ft2(r)はショットBのフレームt2における座標rの画素の画素値である。また、α(t)はフレームtにおけるショットAの合成比率であり、式(2)で表される。
【0007】
【数1】

【0008】
【数2】

【0009】
式(1)において、右辺のft1(r)及びft2(r)は、それぞれフレームt1及びフレームt2における各ショットの各画素の画素値である。このことは、ディゾルブ区間内の各フレームにおいては映像内の被写体が動かないということを意味している。
【0010】
さて、近年、放送の多チャンネル化に伴って大量の映像が生産されるようになり、そのような映像群の中から必要な情報を見つけるための映像の要約技術や検索技術の必要性が増している。これらの技術において上記連結映像を扱う場合、上述したショット単位で分割することが必要不可欠である。そして、この分割を行うためには、連結映像内のショット境界を検出することが必要となる。
【0011】
瞬時にショットが切り替わるショット境界については、隣接するフレーム間の差分を算出する方法によって比較的容易にショット境界を検出できる。一方、上述したディゾルブを用いるショット境界については、隣接するフレーム間の差分の変化が小さいため、上記方法でのショット境界の検出は困難である。
【0012】
このため、ショット境界の検出のためのディゾルブ区間検出技術が種々提案されている。そのような技術の一例においては、式(1)及び式(2)から導かれる式(3)の関係が用いられる。すなわち、この技術は、ディゾルブ区間内の隣接フレーム間では式(3)の関係が成り立つことに鑑み、連結映像内の各フレームについて順次、隣接フレームとの間で式(3)の関係が成り立つか否かを判定するものである。そして、式(3)の関係が成り立つフレームが所定数フレームにわたって続いた場合に、それらのフレームはディゾルブ区間内にあると判定するものである。
【0013】
【数3】

【0014】
特許文献1〜5及び非特許文献1〜3にも、ディゾルブ区間検出技術の例が開示されている。
特許文献1には、フレームのエッジ強度を用いて算出される特徴量に基づいてディゾルブ区間の検出を行う技術が開示されている。
【0015】
特許文献2には、フレームのエッジ特徴の時間的変化に基づいてディゾルブ区間の検出を行う技術が開示されている。映像内の被写体が動く場合、うまくいかない可能性有り。
特許文献3には、連結映像から複数フレームにわたって変化傾向が一定している領域(緩変化領域)を抽出し、緩変化領域の画面に占める割合がしきい値よりも大きいフレームをディゾルブ区間内のフレームであると判定することによりディゾルブ区間の検出を行う技術が開示されている。映像内の被写体が動く場合、緩変化領域として抽出できるとは限らない。
【0016】
特許文献4には、フレーム間の2次差分画像の画素値が0付近に集中するというディゾルブ区間の特徴を利用してディゾルブ区間の検出を行う技術が開示されている。映像内の被写体が動く場合、必ずしもそうなるとは限らない。
特許文献5には、ディゾルブ区間を一旦検出した後、動きシーンやパニングシーンの特徴を有する場合にディゾルブ区間でないと判定する技術が開示されている。この技術は、ディゾルブを検出した後に、防止するものであり、未検出を防止できるものではない。
【0017】
非特許文献1には、ディゾルブのパターンを学習し、学習結果に基づくパターン認識を行うことにより、ディゾルブ区間の検出を行う技術が開示されている。
非特許文献2には、フレーム空間における映像シーケンスの3次元表現が、ディゾルブ区間では直線になるというディゾルブの特徴を利用してディゾルブ区間の検出を行う技術が開示されている。
非特許文献3には、ディゾルブ区間中では輝度が単調増減するというディゾルブの特徴を用いてディゾルブ区間の検出を行う技術が開示されている。
【特許文献1】特開平07−288840号公報
【特許文献2】特開2006−140805号公報
【特許文献3】特開平09−322171号公報
【特許文献4】特開平09−182079号公報
【特許文献5】特開2005−237002号公報
【非特許文献1】レインナー・ラインハート(Rainer Lienhart)著、「信頼できるディゾルブ検出(Reliable Dissolve Detection)」、SPIE(the Society of Photo-optical Instrumentation Engineers) Proceedings、Vol.4315、2001年1月、p.219-230
【非特許文献2】ジョイス R.(Joyce, R.)他著、「フレーム及びヒストグラム空間を用いる映像の一時的分割(Temporal Segmentation of Video Using Frame and Histogram Space)」、IEEE TRANSACTIONS ON MULTIMEDIA、VOL.8,NO.1、2006年、p.130-140
【非特許文献3】長坂晃朗他著、「輝度変化の単調性に着目したデゾルブ検出手法」、電子情報通信学会総合大会、D-615、1996年
【発明の開示】
【発明が解決しようとする課題】
【0018】
ところで、近年、ディゾルブ区間内の各フレームにおいても、映像内の被写体を動かすことが多くなっている。そのような場合、式(1)は次の式(4)のように書き換えられる。ここで、fA,t(r)は、ショットAのフレームtにおける座標rの画素の画素値であり、fB,t(r)はショットBのフレームtにおける座標rの画素の画素値である。
【0019】
【数4】

【0020】
式(3)を用いる方法は式(1)に従うディゾルブを前提としており、式(4)に従うディゾルブ(映像内の被写体に動きがあるディゾルブ)を用いるショット境界の検出には使えない。
【0021】
また、上記各文献に記載された技術にも、式(4)に従うディゾルブに適用する場合、高い検出精度が得られないという問題がある。すなわち、特許文献1〜4及び非特許文献2〜3に記載のディゾルブ検出技術は、いずれもディゾルブ区間に現れる特徴を検出することによりディゾルブ区間を検出しようとするものであるが、式(4)に従うディゾルブでは必ずしもそのような特徴が現れるとは限らないため、高い検出精度が得られない。また、特許文献5の技術では、ディゾルブ区間の誤検出を防止することはできるもののディゾルブ区間の未検出を防止することはできず、結局高い検出精度が得られない。さらに、非特許文献1の技術では、学習度が上がらないと高い検出精度を望むことはできない。
【0022】
従って、本発明の課題の一つは、映像内の被写体に動きがあるディゾルブ区間を、ディゾルブパターンの学習による方法を用いずとも、高い精度で検出可能なディゾルブ検出装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0023】
上記課題を解決するための本発明にかかるディゾルブ区間検出装置は、映像を構成する一連のフレームのうち、N番目(N≧2)からN+M番目(M≧2)のフレーム区間をディゾルブ区間候補として取得するディゾルブ区間候補取得手段と、前記ディゾルブ区間候補がディゾルブ区間であるか否かを判定するディゾルブ区間判定手段と、を含み、前記ディゾルブ区間判定手段は、N−K番目(K≧1)からN番目までの各フレームに基づいて、N+1番目からN+M−1番目までの各第1予測フレームを生成する第1予測フレーム群生成手段と、N+M番目からN+M+L番目(L≧1)までの各フレームに基づいて、N+1番目からN+M−1番目までの各第2予測フレームを生成する第2予測フレーム群生成手段と、前記各第1予測フレームそれぞれと、対応する前記第2予測フレームと、を合成することによりN+1番目からN+M−1番目までの各合成フレームを生成する合成フレーム群生成手段と、前記合成フレーム群生成手段により生成された前記各合成フレームそれぞれと、対応する前記ディゾルブ区間候補内の各フレームと、の類似度を算出する類似度算出手段と、前記類似度算出手段により算出された類似度に基づき、前記ディゾルブ区間候補がディゾルブ区間であるか否かを判定する判定手段と、を含む、ことを特徴とする。
これによれば、動きを考慮した上で予測フレームを生成することができるので、映像内の被写体に動きがあるディゾルブ区間を、ディゾルブパターンの学習による方法を用いずとも、高い精度で検出可能となる。
【0024】
また、上記ディゾルブ区間検出装置において、N−K番目(K≧1)からN番目までの各フレームに基づいて、N番目のフレームを構成する複数ブロックそれぞれの動きを判定する第1動き判定手段と、N+M番目からN+M+L番目(L≧1)までの各フレームに基づいて、N+M番目のフレームを構成する複数ブロックそれぞれの動きを判定する第2動き判定手段と、を含み、前記第1予測フレーム群生成手段は、前記第1動き判定手段の判定結果に基づいて前記各第1予測フレームを生成し、前記第2予測フレーム群生成手段は、前記第2動き判定手段の判定結果に基づいて前記各第2予測フレームを生成する、こととしてもよい。
これによれば、N番目のフレームの前に続く1又は複数のフレーム及びN+M番目のフレームの後に続く1又は複数のフレームに基づいて、ブロックの動きを判定することができる。
【0025】
また、上記各ディゾルブ区間検出装置において、前記ディゾルブ区間候補取得手段は、前記Mの複数の値について前記ディゾルブ区間候補の取得を行う、こととしてもよい。
これによれば、ディゾルブ区間長が不明な場合であっても、適切にディゾルブ区間を検出できる。
【0026】
また、上記各ディゾルブ区間検出装置において、前記一連のフレームについて、順次隣接フレーム間差分を算出する隣接フレーム間差分算出手段、を含み、前記ディゾルブ区間候補取得手段は、I番目のフレームとI+1番目のフレームとの間の前記隣接フレーム間差分が所定の閾値以上である場合に、前記Iを前記Nとして前記ディゾルブ区間候補の取得を行う、こととしてもよい。
これによれば、効率的にディゾルブ区間の判定を行うことができる。
【0027】
また、本発明にかかるプログラムは、映像を構成する一連のフレームのうち、N番目(N≧2)からN+M番目(M≧2)のフレーム区間をディゾルブ区間候補として取得するディゾルブ区間候補取得手段、及び前記ディゾルブ区間候補がディゾルブ区間であるか否かを判定するディゾルブ区間判定手段、としてコンピュータを機能させるためのプログラムであって、前記ディゾルブ区間判定手段は、N−K番目(K≧1)からN番目までの各フレームに基づいて、N+1番目からN+M−1番目までの各第1予測フレームを生成する第1予測フレーム群生成手段と、N+M番目からN+M+L番目(L≧1)までの各フレームに基づいて、N+1番目からN+M−1番目までの各第2予測フレームを生成する第2予測フレーム群生成手段と、前記各第1予測フレームそれぞれと、対応する前記第2予測フレームと、を合成することによりN+1番目からN+M−1番目までの各合成フレームを生成する合成フレーム群生成手段と、前記合成フレーム群生成手段により生成された前記各合成フレームそれぞれと、対応する前記ディゾルブ区間候補内の各フレームと、の類似度を算出する類似度算出手段と、前記類似度算出手段により算出された類似度に基づき、前記ディゾルブ区間候補がディゾルブ区間であるか否かを判定する判定手段と、を含む、ことを特徴とする。
【発明を実施するための最良の形態】
【0028】
以下、本発明の実施の形態について、図面を参照しながら説明する。
図1は、本発明の実施の形態にかかるディゾルブ区間検出装置1のシステム構成を示す図である。同図に示すように、ディゾルブ区間検出装置1は、映像入力受付部2、映像記憶部3、隣接フレーム間差分算出部4、ディゾルブ区間候補取得部5、ディゾルブ区間判定部6を含んで構成される。このディゾルブ区間検出装置1は、入力される映像からショット境界を検出するために用いられるものである。
【0029】
映像入力受付部2は、一連のフレームにより構成される映像の入力を受け付け、受け付けた映像を映像記憶部3に記憶させる。
映像記憶部3は、映像入力受付部2から入力された映像を記憶する。図2には、映像記憶部3の記憶内容の例を示している。同図に示すように、映像記憶部3は、映像を構成する一連のフレームを順序付けて記憶するものである。なお、全フレームを描くことはできないので、同図の例では、N−1番目(N≧2)、N番目、N+1番目、N+M−1番目(M≧2)、N+M番目、N+M+1番目の各フレームのみを示している。
【0030】
隣接フレーム間差分算出部4は、映像記憶部3に記憶される一連のフレームについて、順次隣接フレーム間差分を算出する(隣接フレーム間差分算出手段)。この隣接フレーム間差分としては、フレーム間の輝度の差分の二乗和や、これらのフレームに含まれるエッジ部分のフレーム間変化量を用いることが好適である。このうち、エッジ部分変化量は、具体的には式(5)のECRで表される。ここで、ECRは、n−1番目のフレーム(以下、フレームn−1と表記する。以下同じ。)とフレームnの間でのエッジ部分変化量である。また、σはフレームnにおけるエッジ画素(エッジ部分の画素)の総数、Xinはフレームn−1ではエッジ画素ではなかったがフレームnで新たにエッジ画素となった画素の数、Xn−1outはフレームn−1ではエッジ画素であったがフレームnではエッジ画素でなくなった画素の数、である。
【0031】
【数5】

【0032】
ディゾルブ区間候補取得部5は、映像記憶部3に記憶される映像を構成する一連のフレームのうち、フレームN+1において隣接フレーム間差分ECRn+1が所定の閾値以上となったとすると、フレームNからフレームN+Mまでのフレーム区間をディゾルブ区間候補として取得する(ディゾルブ区間候補取得手段)。換言すると、ディゾルブ区間候補取得部5は、フレームIとフレームI+1との間の上記隣接フレーム間差分が上記閾値以上である場合に、上記Iを上記Nとしてディゾルブ区間候補の取得を行う。
【0033】
また、ディゾルブ区間候補取得部5は、上記Mの複数の値についてディゾルブ区間候補の取得を行う。具体的には、まず、Mの所定の最大値Mmaxについてディゾルブ区間候補の取得を行い、次いで、Mを1ずつ減らしながら、Mが所定の最小値Mminとなるまで、順次ディゾルブ区間候補の取得を行う。
ディゾルブ区間候補取得部5は、以上のようにして取得した各ディゾルブ区間候補を、取得した順に、順次ディゾルブ区間判定部6に出力する。
【0034】
ディゾルブ区間判定部6は、ディゾルブ区間候補がディゾルブ区間であるか否かを判定する(ディゾルブ区間判定手段)。以下、ディゾルブ区間判定部6の処理の具体的内容について、ディゾルブ区間判定部6内部の機能ブロックを参照しながら説明する。
【0035】
図2は、ディゾルブ区間判定部6内部の機能ブロックを示す概略ブロック図である。同図に示すように、ディゾルブ区間判定部6は、第1動き判定部60、第1予測フレーム群生成部61、第2動き判定部62、第2予測フレーム群生成部63、合成フレーム群生成部64、類似度算出部65、判定部66を含んで構成される。なお、ディゾルブ区間判定部6は、各機能ブロックの処理を、ディゾルブ区間候補取得部5からディゾルブ区間候補が入力されたときに開始する。以下、フレームNからフレームN+Mまでのフレーム区間がディゾルブ区間候補であるとして説明する。
【0036】
まず、第1動き判定部60は、N−K番目(Kは1以上の所定値。)からN番目までの各フレームに基づいて、フレームN(ディゾルブ区間候補の1つ前のフレーム)を構成する複数ブロックそれぞれの動きを判定する(第1動き判定手段)。
【0037】
具体的には、第1動き判定部60は、まずフレームNを所定の大きさのブロック(例えば16×16画素の正方形ブロック。)に分割する。そして、ブロックごとに、フレームN−1において、画素値が類似している部分(以下、類似部分という。)を検索する。類似部分は、例えば、各画素の画素値の差がいずれも所定値以下である部分であってもよいし、各画素の画素値の差の平均が所定値以下である部分であってもよい。
【0038】
第1動き判定部60は、検索の結果あるブロックについて類似部分が見つかった場合、その類似部分のフレームN−1内での位置と、該ブロックのフレームN内での位置と、に基づいて、該ブロックの動きを判定する。類似部分が見つからなかった場合には、動きがないと判定する。
第1動き判定部60は、判定した動きを動きベクトルによって表し、第1予測フレーム群生成部61に出力する。
【0039】
図3(a)及び(b)は、第1動き判定部60の処理の具体的な例を示している。図3(a)に示すフレームN−1には被写体O1が含まれており、この被写体O1は、図3(b)に示すフレームNでは少し右上に移動している。この移動の方向及び量が、フレームN−1からフレームNに向かって動きベクトルv(動きベクトルvはベクトル値である。以下同じ。)で表される方向及び量であったとすると、第1動き判定部60は、被写体O1内の各ブロックについて、動きベクトルvで表される動きがあったと判定し、動きベクトルvを出力する。
【0040】
第1予測フレーム群生成部61は、N−K番目からN番目までの各フレームに基づいて、また、第1動き判定部60の判定結果に基づいて、N+1番目からN+M−1番目までの各第1予測フレームを生成する(第1予測フレーム群生成手段)。
【0041】
より具体的には、第1予測フレーム群生成部61は、以下の式(6)を用いて、順次各第1予測フレームの各画素の画素値を決定していく。ここで、pf(y)(yはベクトル値)は、フレームXの座標yにある画素の画素値を示している。
【0042】
【数6】

【0043】
式(6)は、各第1予測フレームの各画素の画素値は、各第1予測フレームの前に位置する2つのフレームの画素値の平均により決定されるということを示している。このようにするのは、1つのフレームのみから画素値を決定すると、ノイズの影響を受けやすくなるからである。
【0044】
図3(c)は、以上のようにして生成される各第1予測フレームのうち、第1予測フレームN+1の例を示している。同図では、フレームN−1からフレームNにかけて被写体O1が動きベクトルvで示される動きをしており(図3(a)及び(b))、第1予測フレーム群生成部61は、この動きを継続させて被写体O1を構成する各ブロックの位置を移動させることにより、第1予測フレームN+1を生成する。その結果、生成される第1予測フレームN+1における被写体O1の位置は、フレームNにおける当該被写体O1の位置から動きベクトルvの分だけずれた位置となる。
【0045】
なお、このようにして各第1予測フレームを生成する場合、各画素の画素値の決定において次の2つの問題が生じ得る。一つ目は、例えば2つのブロックがある第1予測フレームにおいて重なる場合、重なっている部分の画素の画素値をいずれのブロックに基づいて決定すればよいか、という問題である。二つ目は、逆に、いずれのブロックにも含まれないこととなる画素の画素値を何に基づいて決定すればよいか、という問題である。一つ目の問題については、動きの大きい方のブロックに基づいて決定すればよい。また、二つ目の問題については、白色や黒色など所定の画素値にすればよい。
【0046】
次に、第2動き判定部62は、N+M番目からN+M+L番目(Lは1以上の所定値)までの各フレームに基づいて、N+M番目のフレーム(ディゾルブ区間の1つ後のフレーム)を構成する複数ブロックそれぞれの動きを判定する(第2動き判定手段)。
【0047】
具体的には、第2動き判定部62は、まずフレームN+Mを所定の大きさのブロック(例えば16×16画素の正方形ブロック。)に分割する。そして、ブロックごとに、フレームN+M+1において、画素値が類似している部分を検索する。類似部分の具体的内容は、上述した通りである。
【0048】
第2動き判定部62は、検索の結果あるブロックについて類似部分が見つかった場合、その類似部分のフレームN+M内での位置と、該ブロックのフレームN+M+1内での位置と、に基づいて、該ブロックの動きを判定する。類似部分が見つからなかった場合には、動きがないと判定する。
第2動き判定部62は、判定した動きを動きベクトルによって表し、第2予測フレーム群生成部63に出力する。
【0049】
図4(b)及び(c)は、第2動き判定部62の処理の具体的な例を示している。図4(b)に示すフレームN+Mには被写体O2が含まれており、この被写体O2は、図4(c)に示すフレームN+M+1では少し右に移動している。この移動の方向及び量が、フレームN+MからフレームN+M+1に向かって動きベクトルu(動きベクトルuはベクトル値である。以下同じ。)で表される方向及び量であったとすると、第2動き判定部62は、被写体O2内の各ブロックについて、動きベクトルuで表される動きがあったと判定し、動きベクトルuを出力する。
【0050】
第2予測フレーム群生成部63は、N+M番目からN+M+L番目までの各フレームに基づいて、また、第2動き判定部62の判定結果に基づいて、N+1番目からN+M−1番目までの各第2予測フレームを生成する(第2予測フレーム群生成手段)。
より具体的には、第2予測フレーム群生成部63は、以下の式(7)を用いて、順次各第2予測フレームの各画素の画素値を決定していく。
【0051】
【数7】

【0052】
式(7)は、各第2予測フレームの各画素の画素値は、後の2つのフレームの画素値の平均により決定されるということを示している。このようにするのは、式(6)と同様、1つのフレームのみから画素値を決定すると、ノイズの影響を受けやすくなるからである。
【0053】
図4(a)は、以上のようにして生成される各第2予測フレームのうち、第2予測フレームN+M−1の例を示している。同図では、フレームN+M+1からフレームN+Mにかけて被写体O2が動きベクトル−uで示される動きをしており(図3(a)及び(b))、第2予測フレーム群生成部63は、この動きを継続させて被写体O2を構成する各ブロックの位置を移動させることにより、第2予測フレームN+M−1を生成する。その結果、生成される第2予測フレームN+M−1における被写体O2の位置は、フレームN+Mにおける当該被写体O2の位置から動きベクトル−uの分だけずれた位置となる。
【0054】
なお、このようにして各第2予測フレームを生成する場合にも、各画素の画素値の決定において、各第1予測フレームを生成する場合と同様な2つの問題が生じ得るが、上記同様にすればよい。
【0055】
合成フレーム群生成部64は、各第1予測フレームそれぞれと、対応する第2予測フレームと、を合成することによりN+1番目からN+M−1番目までの各合成フレームを生成する(合成フレーム群生成手段)。
【0056】
具体的には、合成フレーム群生成部64は、以下の式(8)を用いて、各合成フレームを生成する。ここで、pf’(r)は、合成フレームXの座標rにある画素の画素値を、pffrom(r)は、第1予測フレームXの座標rにある画素の画素値を、pfto(r)は、第2予測フレームXの座標rにある画素の画素値を、それぞれ示している。また、α(k)は、フレームkにおける前方ショット(ディゾルブ区間候補がディゾルブ区間であるとして、合成されている2つのショットのうち時間的に前方に位置するショット。)の合成比率であり、式(9)で表される。
【0057】
【数8】

【0058】
【数9】

【0059】
類似度算出部65は、ディゾルブ区間候補内の各フレームそれぞれと、対応する上記合成フレームとの類似度を算出する(類似度算出手段)。
具体的には、類似度算出部65は、以下の式(10)又は式(11)を用いて、上記類似度を算出する。ここで、sim(f’,f)は、フレームi(f)と合成フレームi(f’)の類似度であり、pf(r)は、フレームXの座標rにある画素の画素値である。
【0060】
【数10】

【0061】
【数11】

【0062】
式(10)は、フレームiと合成フレームiの画素値の差分二乗和を類似度としたものである。また、式(11)では、フレームiと合成フレームiの各画素の画素値を要素とするベクトルのなす角の余弦値が類似度となっている。
判定部66は、類似度算出部65により算出された類似度に基づき、ディゾルブ区間候補がディゾルブ区間であるか否かを判定する(判定手段)。具体的には、各フレームの類似度の平均値が所定値以上である場合に、ディゾルブ区間候補がディゾルブ区間であると判定する。なお、各フレームの類似度の平均値Diss(N+1,N+M−1)は、式(12)によって算出することが好適である。
【0063】
【数12】

【0064】
図5は、合成フレーム群生成部64、類似度算出部65、及び判定部66の処理について、図3及び図4の例に基づいて説明するための説明図である。なお、図5の例では、M=3としている。
【0065】
図5に示すように、合成フレーム群生成部64は、各第1予測フレームと、対応する第2予測フレームと、を合成することにより、各合成フレームを生成するのであるが、各合成フレームにおいては、式(8)によりディゾルブをかけたのと同様の効果が得られるため、被写体O1の濃度が少しずつ下がり、一方で、被写体O2の各濃度が少しずつ上がっている。ディゾルブ区間候補がディゾルブ区間であれば、映像記憶部3に記憶される一連のフレームでも同様な濃度変化が現れているはずであり、各合成フレームとの類似度は高くなる。判定部66は、このような類似度の特徴を利用して、ディゾルブ区間候補がディゾルブ区間であるか否かを判定している。
【0066】
さて、ディゾルブ区間判定部6は、判定部66の判定結果を出力する。ディゾルブ区間検出装置1は、映像記憶部3に記憶される一連のフレームのうち、ディゾルブ区間判定部6の出力によりディゾルブ区間であると判定されたディゾルブ区間候補にかかるフレーム区間を、ディゾルブ区間として検出する。
【0067】
以上説明したディゾルブ区間検出装置1の処理について、フローチャートを参照しながら再度より詳細に説明する。
図6は、ディゾルブ区間検出装置1が行うディゾルブ区間判定処理の処理フローを示すフロー図である。同図に示すように、隣接フレーム間差分算出部4は、映像記憶部3から順次フレームを取得し(ステップS1)、隣接フレーム間差分を算出する(ステップS2)。そして、算出した隣接フレーム間差分が所定閾値を上回っているか否かを判定し(ステップS3)、肯定的な判定結果が得られた場合に、処理をステップS4に進める。なおここでは、N番目のフレームにおいて隣接フレーム間差分が所定閾値を上回ったとする。
【0068】
ステップS4では、ディゾルブ区間候補取得部5は、変数Mの記憶領域を用意し、所定値Mmaxを代入する(ステップS4)。そして、フレームN+1からフレームN+M−1までのフレーム区間をディゾルブ区間候補に設定する(ステップS5)。
【0069】
次に、ディゾルブ区間判定部6は、設定された区間の前のフレーム(フレームN−1及びN)から、第1予測フレーム群を生成する(ステップS6)とともに、設定された区間の後のフレーム(フレームN+M及びN+M+1)から、第2予測フレーム群を生成する(ステップS7)。ディゾルブ区間判定部6は、さらに、生成した第1予測フレーム群及び第2予測フレーム群から、合成フレーム群を生成する(ステップS8)。そして、ディゾルブ区間判定部6は、合成フレーム群を構成する各合成フレームと、映像記憶部3に記憶される一連のフレームのうちフレームN+1からフレームN+M−1までの各フレームと、の類似度を算出する。
【0070】
次に、ディゾルブ区間判定部6は、各フレームの類似度の平均値を式(12)により算出し、所定閾値を上回っているか否かを判定する(ステップS10)。なお、この判定方法の他に、類似度が所定値以上のフレーム数が所定閾値を上回っているか否かを判定する判定方法を使用してもよい。
【0071】
ステップS10の判定結果が肯定的なものであった場合、ディゾルブ区間判定部6は、ディゾルブ区間候補を、ディゾルブ区間であると判定する(ステップ11)。この判定がなされると、ディゾルブ区間検出装置1は、残りのフレーム区間にもディゾルブ区間がないかどうか調べるため、映像記憶部3に記憶される全てのフレームについて確認が終わるのでの間、隣接フレーム間差分算出部4の処理から処理を繰り返す(ステップS15)。ただしこの場合、ディゾルブ区間検出装置1は、ステップS1で取得されるフレームの位置(一連のフレーム内での順番)にMを足す(ステップS12)。2つ以上のディゾルブ区間が重なって存在することは、通常考えられないからである。
【0072】
一方、ステップS10の判定結果が否定的なものであった場合、ディゾルブ区間判定部6は、ディゾルブ区間候補はディゾルブ区間でないと判定し、変数MにM−1を代入する(ステップS13)。ディゾルブ区間判定部6は、こうして得られる変数Mの値が所定値Mmin(Mmin<Mmax)より大きければ、ステップS5からの処理を繰り返し(S14の肯定判定)、小さければ、ステップS15の処理を開始する(S14の否定判定)。
【0073】
以上説明したように、ディゾルブ区間検出装置1によれば、動きを考慮した上で第1及び第2予測フレームを生成することができるので、映像内の被写体に動きがあるディゾルブ区間を、高い精度で検出可能となる。
また、フレームNの前に続く1又は複数のフレーム及びフレームN+Mの後に続く1又は複数のフレームに基づいて、ブロックの動きを判定することができる。
【0074】
さらに、MをMmaxからMminの間で変化させつつディゾルブ区間候補を取得するようにしているので、ディゾルブ区間長が不明な場合であっても、適切にディゾルブ区間を検出できる。
また、隣接フレーム間差分が所定閾値を上回った場合にのみディゾルブ区間候補を取得するようにしているので、効率的にディゾルブ区間の判定を行うことができる。
【0075】
以上本発明の実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明は、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
【0076】
例えば、本発明はディゾルブ区間検出後の後処理用としても用いることができる。すなわち、ディゾルブ区間を一旦背景技術により検出した後、検出された区間について本発明によるディゾルブ区間検出を行い、本当にディゾルブ区間であるか否かを判定する、という用途にも本発明を用いることができる。
【0077】
例えば、ディゾルブ区間検出装置1の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、上記ディゾルブ区間検出装置1の各処理を行ってもよい。
ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、この「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに、「コンピュータ読み取り可能な記録媒体」には、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
さらに、上記プログラムは、上述した各機能の一部を実現するためのものであってもよい。さらに、上述した各機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【図面の簡単な説明】
【0078】
【図1】本発明の実施の形態にかかるディゾルブ区間検出装置のシステム構成を示す図である。
【図2】本発明の実施の形態にかかるディゾルブ区間判定部内部の機能ブロックを示す概略ブロック図である。
【図3】本発明の実施の形態にかかる第1動き判定部の処理の具体的な例を示す図である。
【図4】本発明の実施の形態にかかる第2動き判定部の処理の具体的な例を示す図である。
【図5】本発明の実施の形態にかかる合成フレーム群生成部、類似度算出部、及び判定部の処理について、図3及び図4の例に基づいて説明するための説明図である。
【図6】本発明の実施の形態にかかるディゾルブ区間検出装置が行うディゾルブ区間判定処理の処理フローを示すフロー図である。
【図7】本発明の背景技術にかかるディゾルブの例を説明するための説明図である。
【符号の説明】
【0079】
1 ディゾルブ区間検出装置、
2 映像入力受付部、
3 映像記憶部、
4 隣接フレーム間差分算出部、
5 ディゾルブ区間候補取得部、
6 ディゾルブ区間判定部、
60 第1動き判定部、
61 第1予測フレーム群生成部、
62 第2動き判定部、
63 第2予測フレーム群生成部、
64 合成フレーム群生成部、
65 類似度算出部、
66 判定部、
O1,O2 被写体。

【特許請求の範囲】
【請求項1】
映像を構成する一連のフレームのうち、N番目(N≧2)からN+M番目(M≧2)のフレーム区間をディゾルブ区間候補として取得するディゾルブ区間候補取得手段と、
前記ディゾルブ区間候補がディゾルブ区間であるか否かを判定するディゾルブ区間判定手段と、
を含み、
前記ディゾルブ区間判定手段は、
N−K番目(K≧1)からN番目までの各フレームに基づいて、N+1番目からN+M−1番目までの各第1予測フレームを生成する第1予測フレーム群生成手段と、
N+M番目からN+M+L番目(L≧1)までの各フレームに基づいて、N+1番目からN+M−1番目までの各第2予測フレームを生成する第2予測フレーム群生成手段と、
前記各第1予測フレームそれぞれと、対応する前記第2予測フレームと、を合成することによりN+1番目からN+M−1番目までの各合成フレームを生成する合成フレーム群生成手段と、
前記合成フレーム群生成手段により生成された前記各合成フレームそれぞれと、対応する前記ディゾルブ区間候補内の各フレームと、の類似度を算出する類似度算出手段と、
前記類似度算出手段により算出された類似度に基づき、前記ディゾルブ区間候補がディゾルブ区間であるか否かを判定する判定手段と、
を含む、
ことを特徴とするディゾルブ区間検出装置。
【請求項2】
請求項1に記載のディゾルブ区間検出装置において、
N−K番目(K≧1)からN番目までの各フレームに基づいて、N番目のフレームを構成する複数ブロックそれぞれの動きを判定する第1動き判定手段と、
N+M番目からN+M+L番目(L≧1)までの各フレームに基づいて、N+M番目のフレームを構成する複数ブロックそれぞれの動きを判定する第2動き判定手段と、
を含み、
前記第1予測フレーム群生成手段は、前記第1動き判定手段の判定結果に基づいて前記各第1予測フレームを生成し、
前記第2予測フレーム群生成手段は、前記第2動き判定手段の判定結果に基づいて前記各第2予測フレームを生成する、
ことを特徴とするディゾルブ区間検出装置。
【請求項3】
請求項1又は2に記載のディゾルブ区間検出装置において、
前記ディゾルブ区間候補取得手段は、前記Mの複数の値について前記ディゾルブ区間候補の取得を行う、
ことを特徴とするディゾルブ区間検出装置。
【請求項4】
請求項1から3までのいずれか1項に記載のディゾルブ区間検出装置において、
前記一連のフレームについて、順次隣接フレーム間差分を算出する隣接フレーム間差分算出手段、
を含み、
前記ディゾルブ区間候補取得手段は、I番目のフレームとI+1番目のフレームとの間の前記隣接フレーム間差分が所定の閾値以上である場合に、前記Iを前記Nとして前記ディゾルブ区間候補の取得を行う、
を含むことを特徴とするディゾルブ区間検出装置。
【請求項5】
映像を構成する一連のフレームのうち、N番目(N≧2)からN+M番目(M≧2)のフレーム区間をディゾルブ区間候補として取得するディゾルブ区間候補取得手段、及び
前記ディゾルブ区間候補がディゾルブ区間であるか否かを判定するディゾルブ区間判定手段、
としてコンピュータを機能させるためのプログラムであって、
前記ディゾルブ区間判定手段は、
N−K番目(K≧1)からN番目までの各フレームに基づいて、N+1番目からN+M−1番目までの各第1予測フレームを生成する第1予測フレーム群生成手段と、
N+M番目からN+M+L番目(L≧1)までの各フレームに基づいて、N+1番目からN+M−1番目までの各第2予測フレームを生成する第2予測フレーム群生成手段と、
前記各第1予測フレームそれぞれと、対応する前記第2予測フレームと、を合成することによりN+1番目からN+M−1番目までの各合成フレームを生成する合成フレーム群生成手段と、
前記合成フレーム群生成手段により生成された前記各合成フレームそれぞれと、対応する前記ディゾルブ区間候補内の各フレームと、の類似度を算出する類似度算出手段と、
前記類似度算出手段により算出された類似度に基づき、前記ディゾルブ区間候補がディゾルブ区間であるか否かを判定する判定手段と、
を含む、
ことを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate