(57)【特許請求の範囲】
【請求項１】
第１の長さを有する第１のコマーシャルと、前記第１の長さより短い第２の長さを有する第２のコマーシャルから構成されるコマーシャルブロックが放送番組情報に挿入された放送信号を受信して、その放送信号から前記コマーシャルブロックを検出する方法であって、
コマーシャルが切り替わる時点であるコマーシャル切替時点を検出するコマーシャル境界の検出ステップと、
前記コマーシャル切替時点間の時間間隔が前記第１の長さに相当する第１のコマーシャル候補区間を各々のコマーシャル切替時点について検出する第１のコマーシャル候補区間の検出ステップと、
前記コマーシャル切替時点間の時間間隔が前記第２の長さに相当する第２のコマーシャル候補区間を各々のコマーシャル切替時点について検出する第２のコマーシャル候補区間の検出ステップと、
前記第１のコマーシャル候補区間と第２のコマーシャル候補区間により形成されるブロックを判定して前記コマーシャルブロックを検出するコマーシャルブロックの検出ステップとを備え、
前記第１のコマーシャル候補区間の検出ステップは、
検出した第１のコマーシャル候補区間を特徴量によりクラスタリングしてコマーシャルクラスタを生成し、
前記第１のコマーシャル候補区間が所定数以上含まれていないコマーシャルクラスタに分類される前記第１のコマーシャル候補区間を処理対象から除外する
ことを特徴とするコマーシャル検出方法。
【請求項２】
コマーシャルブロックの検出ステップは、
前記ブロックに含まれる前記第１のコマーシャル候補区間と第２のコマーシャル候補区間の長さが所定のしきい値以上であるブロックをコマーシャルブロックとして検出する
ことを特徴とする請求項１に記載のコマーシャル検出方法。
【請求項３】
コマーシャルブロックの検出ステップは、
時間軸上で重なり合うブロックが検出されたとき、最も長いブロックをコマーシャルブロックであると判定する
ことを特徴とする請求項１又は請求項２の何れかに記載のコマーシャル検出方法。
【請求項４】
コマーシャルブロックの検出ステップは、
時間軸上で重なり合うブロックが検出されたとき、当該ブロックに含まれる前記第１のコマーシャル候補区間と前記第２のコマーシャル候補区間の合計数が最も大きいブロックをコマーシャルブロックであると判定する
ことを特徴とする請求項１又は請求項２の何れかに記載のコマーシャル検出方法。
【請求項５】
第１の長さを有する第１のコマーシャルと、前記第１の長さより短い第２の長さを有する第２のコマーシャルから構成されるコマーシャルブロックが放送番組情報に挿入された放送信号を受信して、その放送信号から前記コマーシャルブロックを検出するコマーシャル検出装置であって、
コマーシャルが切り替わる時点であるコマーシャル切替時点を検出するコマーシャル境界検出手段と、
前記コマーシャル切替時点間の時間間隔が前記第１の長さに相当する第１のコマーシャル候補区間を各々のコマーシャル切替時点について検出する第１のコマーシャル候補区間検出手段と、
前記コマーシャル切替時点間の時間間隔が前記第２の長さに相当する第２のコマーシャル候補区間を各々のコマーシャル切替時点について検出する第２のコマーシャル候補区間検出手段と、
前記第１のコマーシャル候補区間と第２のコマーシャル候補区間により形成されるブロックを判定して前記コマーシャルブロックを検出するコマーシャルブロック検出手段とを備え、
前記第１のコマーシャル候補区間検出手段は、
検出した第１のコマーシャル候補区間を特徴量によりクラスタリングしてコマーシャルクラスタを生成し、
前記第１のコマーシャル候補区間が所定数以上含まれていないコマーシャルクラスタに分類される前記第１のコマーシャル候補区間を処理対象から除外する
ことを特徴とするコマーシャル検出方法。
【請求項６】
第１の長さを有する第１のコマーシャルと、前記第１の長さより短い第２の長さを有する第２のコマーシャルから構成されるコマーシャルブロックが放送番組情報に挿入された放送信号から、前記コマーシャルブロックを検出するためのプログラムが記録された記録媒体であって、
前記プログラムは、
コマーシャルが切り替わる時点であるコマーシャル切替時点を検出するコマーシャル境界の検出ステップと、
前記コマーシャル切替時点間の時間間隔が前記第１の長さに相当する第１のコマーシャル候補区間を各々のコマーシャル切替時点について検出する第１のコマーシャル候補区間の検出ステップと、
前記コマーシャル切替時点間の時間間隔が前記第２の長さに相当する第２のコマーシャル候補区間を各々のコマーシャル切替時点について検出する第２のコマーシャル候補区間の検出ステップと、
前記第１のコマーシャル候補区間と第２のコマーシャル候補区間により形成されるブロックを判定して前記コマーシャルブロックを検出するコマーシャルブロックの検出ステップとをコンピュータに実行させ、
前記第１のコマーシャル候補区間の検出ステップは、
検出した第１のコマーシャル候補区間を特徴量によりクラスタリングしてコマーシャルクラスタを生成し、
前記第１のコマーシャル候補区間が所定数以上含まれていないコマーシャルクラスタに分類される前記第１のコマーシャル候補区間を処理対象から除外する
ことを特徴とするプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、放送信号に含まれるコマーシャルを自動的に検出するためのコマーシャル検出方法とその装置に関する。
【背景技術】
【０００２】
例えばテレビ放送に代表される放送信号に含まれるコマーシャル（以下ＣＭという）を自動的に検出して、契約どおりにＣＭが放送されていることを監視したり、新規のＣＭをデータベースに登録したり、ＣＭを自動的にスキップして放送信号を録画すること等が従来から行なわれている。
【０００３】
図１１はテレビ放送の番組本編に挿入されたＣＭを検出する方法に関する第１の従来例である（特許文献１）。これは、番組本編からＣＭへの切り替わりや１つのＣＭから別のＣＭへの切り替わりの際には短い期間の無音区間が存在すること、１つのＣＭは１５秒や３０秒等の一定時間長であることに着目してＣＭを検出するもので、テレビ信号の音声信号から無音区間を検出する無音区間検出部と、隣接する無音区間の時間間隔がＣＭの時間に相当する場合にその区間をＣＭ候補区間として抽出する区間間隔一定箇所抽出部と、複数のＣＭ候補区間が連続して配置されるブロックの中で、そのブロックに含まれるＣＭ候補区間の数が最も多いブロックをＣＭブロックと判定するＣＭ放映区間判定部と連続性評価部により構成されるものである。また、ＣＭが切り替わると画面のカットが生じることを利用して、受信した画像の特徴量の検出結果に基づいてカットを検出するカット検出部をさらに備え、抽出したＣＭ候補区間の信頼度を向上させる技術も記載されている。
【０００４】
図１２はテレビ放送信号に含まれるＣＭを検出する第２の従来例である（特許文献２）。この例は、１本のＣＭは１５秒または３０秒の長さを持ち、ＣＭ中にはカットが多発することが多く、ＣＭ区間は１分以上連続して出現する場合がほとんどであり、ＣＭの切替の際には無音区間がある、というＣＭ特有の性質を利用してＣＭを検出するものである。具体的には、画面のカットが生じた時刻を検出したカット系列Ｃｔと、無音区間を検出した無音区間系列Ｓを求め、双方が同時に起きた時刻、つまり無音区間であってかつ画面のカットが起きた時刻の間隔が１５秒か３０秒の時にその区間をＣＭ候補区間として取り出し、連続するＣＭ候補区間の長さが６０秒以上である場合にその区間をＣＭ区間と判定するものである。
【０００５】
また、特許文献３にはＣＭ検出方法に関する第３の従来例が記載されている。これは、予めＣＭの音声データをデータベースに登録しておき、受信した放送信号に含まれる無音区間と画面のカットの双方が同時に発生した時点から次に無音区間と画面カットが同時に発生した時点までの秒数、つまり画面カットと無音区間が同時に発生した時間間隔がＣＭ放送秒数として予め定められた値と一致した場合にその間をＣＭ候補区間とし、ＣＭ候補区間の音声データを予め蓄積したＣＭ音声データと照合することによりＣＭの誤検出をなくして検出信頼度を向上させるものである。
【０００６】
さらに最も単純で古典的なＣＭ検出方法としては、音声多重方式を利用する方法がある（特許文献４）。ＣＭはステレオ音声を使用し、番組本編はモノラル音声を使用することに着目して、ステレオ音声部分をＣＭとして判断する方法である。
【特許文献１】特開２００３−０４７０３１号公報
【特許文献２】特開平０９−２１９８３５号公報
【特許文献３】特開平０３−２８９８２９号公報
【特許文献４】特開平０２−０８１３４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記第１から第３のいずれの従来例も、ＣＭの切替の際は無音区間が発生し、かつ画面のカットが多発すること、１つのＣＭの放送時間は１５秒か３０秒であること、連続した複数のＣＭにより構成されるＣＭブロックは１分間以上継続すること、というＣＭの特性を利用した方法であるため、ＣＭとＣＭの間に番組宣伝などの短い情報が挿入されると上記の条件を満足しなくなるためＣＭの検出に失敗するという欠点があった。また、無音区間だけでなく画面のカットを検出する必要があるため処理コストが高く、ハードディスク等に容易に利用することができないという欠点もあった。また、最近は番組本編でもステレオ放送が増えてきたため、第４の従来例はほとんど使用できない。
【課題を解決するための手段】
【０００８】
本発明のＣＭ検出方法は、ＣＭが切り替わる時点を検出し、隣接するＣＭ切替時点の時間間隔が１５秒や３０秒等の１つのＣＭの放送時間に相当する場合にＣＭ候補区間（第１のコマーシャル候補区間）として検出するとともに、上記時間間隔が例えば５秒の番組宣伝等の別の種類のＣＭ放送時間に相当する場合には準ＣＭ候補区間（第２のコマーシャル候補区間）として検出し、ＣＭ候補区間と準ＣＭ候補区間の双方により形成されるブロックの長さが例えば６０秒を超える場合には、そのブロックをＣＭ区間と判定するものである。このように、従来のＣＭ候補区間の検出だけでなく準ＣＭ候補区間の検出を併せて行うことにより、ＣＭとＣＭの間に番組宣伝等のより時間の短い別種類のＣＭが挿入された場合でも、正確にＣＭを検出することができる。
【０００９】
またさらに、各々のＣＭ候補区間をＣＭクラスタに分類し、ＣＭ候補区間が１つしか含まれないＣＭクラスタ内のＣＭ候補区間はＣＭではないとみなして削除するものである。このように、ＣＭ候補区間に含まれるコンテンツ（音声や画像）の特徴量に基づくクラスタリングを用いてＣＭの誤検出を防止できるので、場面カット検出のような大きな処理量を必要とすることなく、ＣＭ検出精度を向上させることができる。さらに、ＣＭクラスタに分類したＣＭをデータベースに登録することにより、人手をかけなくてもＣＭデータベースを作成することができるので経済的にデータベースを作成できる。
【発明の効果】
【００１０】
以上記載したように、本発明のＣＭ検出方法によれば、ＣＭとＣＭの間にＣＭより時間の短い番組宣伝等の別種類のＣＭが挿入された場合でも、正確にＣＭブロックを検出することができる。また場面カット検出のような大きな処理量を必要とすることなく、ＣＭの誤検出を減らしてＣＭ検出精度を向上させることができる。さらにＣＭ分類結果をデータベースに保存することにより人手をかけずに安価にＣＭデータベースを構築することもできる。
【発明を実施するための最良の形態】
【００１１】
第１の実施例
図１は本発明の骨子であるＣＭ検出手順、図２は本発明の動作対象である入力信号の１例である。図２の５０は番組本編、５１は第１のコマーシャル（ＣＭ１）に相当する通常のＣＭ、５２は通常のＣＭ５１の間に挟まれて放送される番組宣伝などの別種類のＣＭで、これが第２のコマーシャル（ＣＭ２）に相当する。複数のＣＭや番組宣伝等がまとめて番組に挿入されるケースがほとんどであり、５３は番組本編５０の間に挿入されたＣＭ５１（第１のコマーシャル）と番組宣伝５２（第２のコマーシャル）により形成されるＣＭブロックであり、通常は複数のＣＭ５１と番組宣伝５２が連続して放送される。ＣＭブロック５３内におけるＣＭ５１とＣＭ５２の放送回数や放送順序は様々であるが、いずれの場合にも本発明は適用できる。受信された放送信号の中から、このＣＭブロック５３を検出することが本発明の目的である。ＣＭ５１は１５秒や３０秒等の予め定まった時間（第１の所定の長さ）で放送され、番組宣伝５２はＣＭ５１より短い時間、例えば５秒等の予め定まった時間（第２の所定の長さ）で放送される。ＣＭ５１と番組宣伝５２の放送時間が予め定まっていることを利用してＣＭブロック５３を検出する。なお、ここではテレビジョン放送等を対象に説明するが、もちろんそれには限定されず、ラジオ放送やインターネットを利用した動画配信等にも適用可能なことはもちろんである。要するに、図２に示した信号形式であれば送信媒体は問わない。なおこの第１実施例は、本願の前提の構成を示すものである。
【００１２】
図１において、Ｓ１はＣＭ５１または番組宣伝５２が切り替わる時刻であるＣＭ境界を検出するＣＭ境界検出ステップ、Ｓ２はＣＭ境界に基づいてＣＭ５１の区間であるＣＭ候補区間を検出するステップ、Ｓ３はＣＭ境界に基づいてＣＭ５１とＣＭ５１の間に挿入される番組宣伝５２の区間である準ＣＭ候補区間を検出するステップ、Ｓ４はＣＭ候補区間と準ＣＭ候補区間に基づいて番組本編に挿入されたＣＭブロック５３を検出するステップである。なお、ＣＭ候補区間検出ステップＳ２と準ＣＭ候補区間検出ステップＳ３の順序は問わない。図１に示したようにＣＭ候補区間検出ステップＳ２が先でもいいし、逆に準ＣＭ候補区間検出ステップＳ３が先でもいいが、後述のようにＣＭ候補区間検出ステップＳ２と準ＣＭ候補検出ステップＳ３は一連の動作として実行されることが好適である。
【００１３】
ＣＭ境界検出ステップＳ１では、無音検出や場面の切り替わり（画面カット）の検出によってＣＭ境界を検出することができるが、具体的には様々な方法を利用することができる。例えば無音区間の検出方法は、受信音声信号をデジタル化し、典型的なＣＭ切替時間である５００ミリ秒程度の区間ごとに音声サンプルの二乗和を計算し、その値がしきい値よりも小さい場合にその区間を無音区間と判定することができる。画面カットの検出方法としては、数十〜数百ミリ秒の間隔で取得した２枚のフレーム画像の差分を計算し、その差分の絶対値がしきい値より大きい場合に場面の切り替わりがあったと判定することができる。さらに、ＣＭ画面がフェードインやフェードアウトする場合には、画面全体の画素値の分散を各フレームで計算し、分散が小さいところをＣＭ境界として検出することもできる。また従来例でも述べたように、無音区間と画面カットが同時に出現した時刻をＣＭ境界と判定することもできる。
【００１４】
ＣＭ候補区間検出ステップＳ２では、ステップＳ１で検出したＣＭ境界の情報を用いて第１のコマーシャルであるＣＭ５１を検出するためのＣＭ候補区間を検出する。ＣＭ５１は一般的に１５秒、３０秒、４５秒といった時間間隔で製作されるので、２つのＣＭ境界の間隔が１５秒、３０秒、４５秒等に一致する場合には、その２つのＣＭ境界で区切られる区間をＣＭ候補区間と判定する。なお、ＣＭ候補区間の間隔を計算する際には、数百ミリ秒程度の誤差が生じること考慮して、幅を持った判定を行うことが望ましいことはもちろんである。
【００１５】
準ＣＭ候補区間検出ステップＳ３では、ステップＳ１で検出したＣＭ境界の情報を用いて第２のコマーシャルである番組宣伝５２を検出するための準ＣＭ候補区間を検出する。番組宣伝５２は、ＣＭ５１より短い間隔、例えば５秒という時間間隔で製作されるので、２つのＣＭ境界の間隔が例えば５秒の場合に、その区間を準ＣＭ候補区間と判定する。
【００１６】
ＣＭブロック検出ステップＳ４では、ステップＳ２で検出したＣＭ候補区間とステップＳ３で検出した準ＣＭ候補区間の情報に基づいてＣＭブロック５３を検出する。詳細は後述するが、このステップの骨子は次のとおりである。すなわち、ＣＭブロック５３は短くても６０秒程度は続くことが多いという性質を有するため、ＣＭ候補区間または準ＣＭ候補区間が６０秒以上連続する場合に、そのＣＭ候補区間、準ＣＭ候補区間の列をＣＭブロックとして検出することができる。これが請求項２に記載した発明である。また、この検出動作は各々のＣＭ境界について行うため、複数のＣＭブロックが検出される場合がほとんどであるが、互いに重なりを持つＣＭブロックがあれば、その中から区間長が最大のＣＭブロックのみを採用し、それ以外のＣＭブロックを削除する。これは、重なるＣＭブロックがある場合には、長さが最長のＣＭブロックが正解であるという経験則に基づいており、これが請求項３に記載した発明である。なお、ＣＭブロックの長さではなく、ＣＭブロックに含まれるＣＭ候補区間の数が多いＣＭブロックを採用することもでき、これが請求項４に記載した発明である。
【００１７】
番組宣伝５２、つまり準ＣＭ候補区間は、複数のＣＭ５１の間、つまりＣＭ候補区間の間に挿入される場合が多いので、準ＣＭ候補区間は一定回数以上連続しないという性質、あるいはＣＭブロックの先頭または末尾には準ＣＭ候補区間は存在しないという性質を利用してＣＭブロックの過剰検出を抑制することにより処理負荷を軽減することもできる。
【００１８】
図３は本発明のＣＭ検出方法の原理を説明する図である。ここでは無音区間や画面カットの検出等を用いてＣＭ境界検出ステップＳ１によって検出されたＣＭ境界として、例えばｔ１、ｔ２からｔ１１までが検出されたと仮定する。ＣＭ境界＝［ｔ１、ｔ２・・・ｔ１１］である。なお、説明をわかり易くするため、具体的な時間の例を用いることとし、例えばＣＭ境界＝［００：００、００：０７、００：１５、００：３０、００：３５、００：３７、００：４５、０１：００、０１：０５、０１：０７、０１：１５］とする。（００：０７とは０分７秒の意味である。）また、第１のコマーシャルである通常のＣＭ５１の時間長として、Δ１とΔ２の２種類の長さを想定する。もちろん３種類以上であってもよい。この具体例として、Δ１＝１５秒、Δ２＝３０秒と仮定する。第２のコマーシャルである番組宣伝５２の時間長として、Δ１やΔ２より短いδを想定する。これももちろん２種類以上あってもよい。δの具体例として５秒を仮定する。
【００１９】
まず、最初のＣＭ境界ｔ１で、次のＣＭ境界までの時間長がΔ１、Δ２、δに相当する直近のＣＭ境界があるどうかを探索する。ここではｔ３までの間隔（００：１５−００：００）がΔ１（１５秒）に相当するので、長さΔ１のＣＭ候補区間６１を抽出する。なお、ｔ４までの間隔（００：３０−００：００）もΔ２（３０秒）に相当するが、ＣＭ候補区間として既にｔ３までの区間を抽出しているのでｔ４までの区間は抽出しない。また、準ＣＭ候補区間はＣＭ候補区間とは独立に検出するので、もしｔ１からδだけ後にＣＭ境界があればそれを準ＣＭ候補区間として抽出するが、ここではそれに該当するＣＭ境界は存在しないのでｔ１では準ＣＭ候補区間は抽出しない。次のＣＭ境界ｔ２でも、上記と同様にｔ６までの長さΔ２（３０秒）のＣＭ候補区間６６を抽出する。ただし、このＣＭ候補区間６６は、ｔ１で抽出したＣＭ候補区間６１とは連続しないので別系列のＣＭブロックになる。これについては後述する。ｔ３では、ｔ１と同様にｔ４までの長さΔ１のＣＭ候補区間６２を抽出する。これはｔ１で抽出したＣＭ候補区間６１と連続するので同一系列のＣＭ候補区間になる。ｔ４では、ｔ７までの長さΔ１のＣＭ候補区間６３を抽出するとともにｔ６までの準ＣＭ候補区間６７を抽出する。以上の動作をｔ１０まで繰り返す。これによって２種類の長さ、Δ１とΔ２を持ついくつかのＣＭ候補区間と、長さδの準ＣＭ候補区間が抽出される。以上がＣＭ候補区間検出ステップＳ２と準ＣＭ候補区間検出ステップＳ３における動作である。このように、この２つのステップは一連の流れとして実行するのが好適である。
【００２０】
次に、抽出したＣＭ候補区間と準ＣＭ候補区間に基づいてＣＭブロックを検出する。まずＣＭ境界ｔ１を起点に考えると、ｔ１、ｔ３、ｔ４、ｔ７、ｔ８でそれぞれ抽出した、長さΔ１のＣＭ候補区間６１が時間的に連続して形成される。わかり易くするために、図３ではこれらのＣＭ候補区間に６１から６５までの符号を付した。このブロックの時間長はｔ１〜ｔ１１であり、これが所定の時間長、例えば６０秒を超えているので、これを１つのＣＭブロック５７−１として抽出する。次に、ｔ１、ｔ３で抽出した長さΔ１のＣＭ候補区間６１、６２と、ｔ４で抽出した準ＣＭ候補区間６７と、ｔ５で抽出した長さΔ２のＣＭ候補区間６９が時間的に連続しており、この間の時間長ｔ１〜ｔ９も６０秒を超えているので、これをもう１つのＣＭブロック５７−２として抽出する。ｔ１を起点とするＣＭブロックはこの２つしかないので、次にｔ２を起点とするＣＭブロックの検出を行う。ここではｔ２、ｔ６で抽出した長さΔ２のＣＭ候補区間６６、６８が時間的に連続しており、この区間が６０秒を超えているので、これを別のＣＭブロック５７−３として抽出する。ｔ２を起点とするＣＭブロックはこれだけであるので、次にｔ３を起点とするＣＭブロックの検出を行う。ここではｔ３、ｔ４、ｔ６、ｔ８で抽出した長さΔ１のＣＭ候補区間６２、６３、６４，６５が時間的に連続しており、これが６０秒であるのでＣＭブロックとして抽出できるが、これは既にｔ１起点の際に検出したＣＭブロック５７−１に含まれるので図示は省略する。
【００２１】
ｔ４起点の場合は、ｔ４とｔ７とｔ８で抽出した長さΔ１のＣＭ候補区間のつながりと、ｔ４で抽出した準ＣＭ候補区間とｔ６で抽出した長さΔ２のＣＭ候補区間のつながりがあるが、いずれも時間長が６０秒に達しないのでＣＭブロックとして抽出しない。ｔ５起点でも、長さΔ２のＣＭ候補区間が１つだけであり、６０秒に達しないのでやはりＣＭブロックとしては抽出しない。以上のプロセスをｔ１０まで繰り返すと、最終的に３つの有効なＣＭブロックが抽出できる。このブロックは時間的に重なっているので、最も時間長の長いＣＭブロック５７−１を正しいＣＭ区間と判断し、ＣＭブロック５７−２とＣＭブロック５７−３は棄却する。これがＣＭブロック検出ステップＳ４の動作であり、これによってＣＭブロックを検出することができる。
【００２２】
図３に示した検出方法を動作アルゴリズムとして詳細に示したのが図４と図５である。図４は全体の動作手順であり、ＣＭ境界検出ステップＳ１によって検出されたＣＭ境界を入力して、ＣＭブロックを検出するアルゴリズムである。Ｓ１０ではＣＭ境界検出ステップＳ１で抽出したＣＭ境界ｔｉ（ｉ＝１〜Ｎ）を入力し、出力変数をリセットする。Ｓ１１ではｉ＝１にセットすることで、最初のＣＭ境界ｔ１についてＣＭブロックの抽出処理を行う。Ｓ１２はＣＭブロックを探索するサブルーチンの部分で、ここでの詳細なアルゴリズムは図５に示す。このサブルーチンはｉ番目のＣＭ境界についてＣＭブロックを探索し、探索した結果を変数Ｂｌｏｃｋに格納するものなので、ｉ＝１であればｔ１についてＣＭブロックを探索することになる。ＣＭブロックはＣＭ境界の時間の配列として表現できる。例えば、図３に示したＣＭブロック５７−１の場合は［００：００、００：１５、００：３０、００：４５、０１：００、０１：１５］のように表現できる。Ｓ１２で取り出したＣＭブロックの長さ、つまり変数Ｂｌｏｃｋの長さが６０秒を超えているかどうかをＳ１３でチェックし、超えていなければそのブロックはＣＭブロックではないと判断できるので棄却し、Ｓ１８でｉを１つ増分する処理、つまりＣＭ境界を１つ進ませる処理を行う。変数Ｂｌｏｃｋの長さは、格納された時間列の末尾と先頭との時間差をとることで計算できる。
【００２３】
Ｓ１２で探索したブロックの長さが６０秒以上であれば、そのブロックはＣＭの可能性があるので、Ｓ１４で既に抽出済みのＣＭブロックと重なりがあるかどうかを検査する。もし、重なりがなければ、既に抽出済みのブロック（変数ｐｒｅｖ＿ｂｌｏｃｋに格納済みのブロック）はこれ以降のＣＭ境界についてのＣＭブロックと重なりを持たないことが明確になったので、Ｓ１５で既に抽出済みのブロックをＣＭブロックとして取り出すこととし、さらにＳ１７で今回の処理で抽出したＣＭブロックを既に抽出済みのブロックとしてからＳ１８で次のＣＭ境界の処理に移行する。もし、Ｓ１４で今回探索したブロック（変数Ｂｌｏｃｋに格納）と既に抽出済みのブロック（変数ｐｒｅｖ＿ｂｌｏｃｋに格納）とが重なっていれば、Ｓ１６で双方の長さを比較し、もし今回探索したブロックの方が長ければ、それを既に抽出済みのブロックに移してからＳ１８で次のＣＭ境界の処理に移行し、既に抽出済みのブロックの方が長ければ、今回探索したＣＭブロックはＣＭブロックではないとして棄却する。以上の処理を全てのＣＭ境界について実行したか否かをＳ１９で判定し、完了していなければＳ１２に戻り、完了したらＳ２０で既に抽出済みのブロック（変数ｐｒｅｖ＿ｂｌｏｃｋに格納したブロック）をブロックリストに追加する。
【００２４】
以上のステップにより、ＣＭブロックである変数ｂｌｏｃｋｌｉｓｔを出力することができる。例えば、図３に示した例の場合には、Ｓ１２で出力した３つのＣＭブロック５７−１、５７−２、５７−３の中から、長さが最も長いＣＭブロック５７−１が抽出されるので、これに対応するリストであるｂｌｏｃｋｌｉｓｔ＝［００：００、００：１５、００：３０、００：４５、０１：００、０１：１５］が得られる。なお、Ｓ１３では探索したブロックの長さ（時間間隔）に基づいて、そのブロックがＣＭブロックか否かを判定したが、時間間隔ではなくそのブロックに含まれるＣＭ候補区間の数に基づいて判定することもできる。この場合、Ｓ１３ではブロックに含まれるＣＭ候補区間の数が例えば３個以上か否かを判定する条件となる。Ｓ１６における判定条件もＳ１３と同様に、ブロックの長さではなく、ブロックに含まれるＣＭ候補区間の数によることもできる。
【００２５】
図５はブロック探索サブルーチンＳ１２の部分の詳細なアルゴリズムである。このフローの前半は、ＣＭ候補区間から始まるＣＭブロックの探索部分であり、後半は準ＣＭ候補区間から始まるＣＭブロックの探索部分である。ここではＣＭ境界ｔｉから始まるＣＭブロックを探索する手順を示す。従って、ｔｉ＋１以降のＣＭ境界とｔｉとの間の時間間隔を調べることになるので、Ｓ１２０１からＳ１２０３までの間でｔｉとの間の時間間隔が１５秒、３０秒、４５秒のいずれかに該当するＣＭ境界があるかどうかを検査する。もし該当するＣＭ境界がなければＣＭ候補区間は発見できなかったと判断して準ＣＭ候補区間の探索を行うか否かの判断ポイントに移行する。もし、該当するＣＭ境界があれば、その区間をＣＭ候補区間として抽出し、Ｓ１２０５でＣＭ候補区間（ｔｉ、ｔｊ）をＣＭブロックのｂｌｏｃｋに加える。また、そのＣＭ境界ｔｊを始点として、それ以降のＣＭ境界に対しても同じ処理を繰り返すために、Ｓ１２０４でこの関数を再帰的に実行する。この際は、ＣＭ候補区間だけでなく準ＣＭ候補区間から始まるＣＭブロックも探索する。このようにして、ＣＭ候補区間が発見できなくなるまでＳ１２０６でＣＭ境界ｔｊを増加させながらＣＭ候補区間を探索する処理を行い、その結果をＳ１２０５でＣＭブロックの変数ｂｌｏｃｋに加える。
【００２６】
例えば図３に示した例では、ＣＭ境界ｔ１を始点としてこの関数を実行すると、まずＳ１２０１ではｊ＝２として、すなわちｔ２とｔ１の時間間隔が１５秒、３０秒、４５秒か否かをＳ１２０２で調べる。この間は７秒のため、上記の条件を満足しないからＳ１２０３に移行し、Ｓ１２０３の条件も満足しないからＳ１２０１に戻ってｊを１つ増加させたＣＭ境界ｔ３について同様にチェックする。ｔ３とｔ１の時間間隔は１５秒なのでＳ１２０２の条件を満足してＳ１２０４に移行するとともに変数ｂｌｏｃｋにｔ１が代入される。Ｓ１２０４では、ｔ３を始点として同じ処理が繰り返され、ｔ４までのＣＭ候補区間が発見されるので変数ｂｌｏｃｋにｔ３が加えられてｂｌｏｃｋ＝［ｔ１、ｔ３］となる。さらにｔ４以降についても同様な処理が繰り返されて１つのＣＭブロック５７−１が抽出される。このときの変数ｂｌｏｃｋは［ｔ１、ｔ３、ｔ４、ｔ７、ｔ８、ｔ１１］となる。
【００２７】
図５に戻ると、Ｓ１２０７は準ＣＭ候補区間から始まるＣＭブロックを検索するか否かの判定であり、検索する場合はＳ１２０８に移行する。基本的なアルゴリズムはＣＭ候補区間の抽出の場合と同様であり、異なる点はＳ１２０９での時間間隔の判定条件が５秒になっている点と、発見した準ＣＭ候補区間を表す変数がｂｌｏｃｋ２に変わっているだけである。Ｓ１２１３では、ＣＭ候補区間から始まるＣＭブロックと準ＣＭ候補区間から始まるＣＭブロックの長さを比較し、後者の方が長ければ後者の方を正しいＣＭブロックであると判断して、Ｓ１２１４で後者をＣＭブロックとするものである。以上の処理を全てのＣＭ境界について実行すれば、このサブルーチンでは、例えば図３や図４の例で既に述べたように、３つのＣＭブロック５７−１、５７−２、５７−３を抽出することができる。
第２の実施例
第１の実施例は、音声信号の無音区間や画面の切り替わり時刻等の時間情報のみを用いたＣＭ検出方法であるが、ＣＭの画像や音声等のＣＭコンテンツの分類結果を併用すれば、さらにＣＭの検出精度を向上させることができる。まず、この方法の基になるＣＭコンテンツ分類方法を説明する。図６はコンテンツ分類手順である。Ｓ３０は図１に示したＣＭ候補区間検出ステップＳ２で抽出したＣＭ候補区間ＣＭｉに含まれる音声や画像データからコンテンツの特徴量を算出する。特徴量の算出方法には様々な方法がある。例えば音声の場合はゼロ交差数、短時間パワースペクトル、ＬＰＣケプストラム、ＭＦＣＣ等を用いることができ、画像の場合は小ブロック内での画素の輝度値の平均値を用いることができるが、これらは本発明の特徴ではないので説明を省略する。Ｓ３１では、各々のＣＭ候補区間ＣＭｉをＳ３０で算出した特徴量に基づいて特徴空間の中で分類分け（クラスタリング）を行う。分類の方法としてはｋ平均法などの既存の方法を用いることができる。また簡便な方法としては、各クラスタの最大半径αを設定しておき、各クラスタの特徴ベクトルの平均である代表ベクトルと各ＣＭ候補区間ＣＭｉの特徴ベクトルとの間の距離がα以下ならば、ＣＭｉはそのクラスタに属すると判定する方法がある。
【００２８】
図７はこの分類分けの過程を模式的に示したものであり、ＣＭ１、ＣＭ２、ＣＭ３は特徴空間上で半径α以下の超球に含まれるので、１つのクラスタＣＭＣ１に属すると判定される。一方、ＣＭ４はＣＭＣ１の超球には含まれないので、別のクラスタＣＭＣ２が新たに生成される。図６に戻って、Ｓ３２では生成された全クラスタＣＭＣｊ（ｊ＝１・・Ｎ）を出力する。同一クラスタに属するＣＭ候補区間は、異なる時刻に放送された同一ＣＭであると判断することができる。なお、Ｓ３１ではＣＭ候補区間全体から特徴量を抽出する例を述べたが、ＣＭ候補区間の一部のみを用いることもできる。例えば、ＣＭの最後には、広告主の会社名やロゴ等が表示される場合が多いので、ＣＭ候補区間の最後から０．５秒間の区間から特徴量を抽出することにより、ＣＭ候補区間を商品の単位ではなく、会社の単位に分類することもできる。また、会社のロゴを予め登録しておけば、そのロゴとの類似度に基づいて分類を行うこともできる。
【００２９】
以上のコンテンツ分類法を利用してＣＭ検出精度を向上させるための手順を図８に示す。これは図６に示した分類の後に実行される処理であり、図１に示したＣＭ候補検出ステップＳ２によって検出されたＣＭ候補区間を図６に示した処理によって各クラスタに分類した後に実行される。Ｓ４０は最初のＣＭ候補区間ＣＭ１をセットするステップである。Ｓ４１ではＣＭ候補区間ＣＭｉが属するクラスタＣＭＣｊを検索する部分で、最初はＣＭ１が属するクラスタを検索することになる。Ｓ４２ではこのクラスタＣＭＣｊに属するＣＭ候補区間が複数あるか否かをチェックし、なければＳ４３でそのＣＭ候補区間ＣＭｉをＣＭ候補区間から削除する。これはテレビ番組の中で、まったく同一の映像が２回放映されることは稀であるのに対して、コマーシャルは複数回繰り返して放送されるという性質を有するためである。Ｓ４４、Ｓ４５では最後のＣＭ候補区間まで、同様の処理を繰り返す部分である。以上のように、検出した全てのＣＭ候補区間についてコンテンツ分類法を用いた再選別を行うことが望ましいが、ＣＭブロックの先頭または末尾のＣＭ候補区間のみを選別処理の対象とすることもできる。
【００３０】
図９は既に説明した本発明のＣＭ検出方法を実施するＣＭ検出装置の構成例である。これは、第１実施例と第２実施例の双方に対応する構成である。１は例えばテレビ放送信号を受信して映像信号と音声信号を出力するチューナ部、２はチューナ部によって出力された信号からＣＭ境界信号を検出するＣＭ境界検出部、３はＣＭ境界信号に基づいてＣＭ候補区間を検出するＣＭ候補区間検出部、４はＣＭ境界信号に基づいて準ＣＭ候補区間を検出する準ＣＭ候補区間検出部、５は検出したＣＭ候補区間と準ＣＭ候補区間に基づいてＣＭブロックを検出するＣＭブロック検出部であり、これらが第１実施例のＣＭ検出方法を実施するために必要な構成部分である。６は検出したＣＭ情報、例えばＣＭ候補区間と準ＣＭ候補区間に関する情報、ＣＭブロックの情報等を蓄積するＣＭ情報蓄積部であり、ＣＭ候補区間と準ＣＭ候補区間の開始時刻、終了時刻、ＣＭ候補区間か準ＣＭ候補区間かを識別するフラグ、ＣＭ出現頻度等を保存する。
【００３１】
７は画像等のコンテンツの特徴量に基づいてＣＭ候補区間をクラスタに分類するＣＭ分類部、８は分類したＣＭ候補区間を蓄積するＣＭクラスタ蓄積部であり、これらが第２実施例のＣＭ検出方法を実施するために付加的に必要な構成部分である。９はこの装置の動作を制御する制御部、１０はチューナ部１から出力された映像および音声信号を符号化する符号化部、１１は符号化した映像を蓄積する映像蓄積部、１２は各構成部分を接続する信号バスである。なお符号化部１０は受信した映像信号と音声信号を圧縮して蓄積に適した信号形式に変換するものだが、本発明の動作には関係がない部分である。チューナ１は受信波の種類に応じて適切な機能を持つので、テレビ放送だけでなく、ＣＡＴＶを用いた映像配信や、インターネットを用いた動画配信等の各種の放送形態に対応することができる。以下ではテレビ放送の場合を例にとって本装置の動作を説明する。
【００３２】
受信した放送波がチューナ１に入力され、チューナ１から特定チャネルの映像信号と音声信号が出力される。チューナ１にＡＤ変換機能を含ませることで、デジタル形式の信号を出力することができる。この音声信号と映像信号を符号化部１０で圧縮多重化して映像蓄積部１１に蓄積する。符号化部１０は例えばＭＰＥＧエンコーダを用いることができる。また、チューナ１から出力された映像信号と音声信号はＣＭ境界検出部２に入力される。
【００３３】
ＣＭ境界検出部２は、例えば無音検出部２−１とカット検出部２−２、およびその出力の論理積を取るＡＮＤ部２−３で構成される。無音検出部２−１は、時系列で入力される音声データのパワーを数百ミリ秒の期間で平均を取り、その値が所定のしきい値より小さい場合に無音区間として検出する。カット検出部２−２は、時系列として入力されるフレーム画像の画素毎の差をとり、その差の絶対値又は二乗の和が所定のしきい値より大きい場合にカット点を表す信号を出力する。ＡＮＤ部２−３では無音検出部２−１とカット検出部２−２の出力の論理積が取られ、カットと無音の双方が同時に検知された場合にＣＭ境界であるとしてＣＭ境界検出信号を出力する。
【００３４】
ＣＭ候補区間検出部３は、ＣＭ境界検出部２から入力したＣＭ境界検出信号を処理してＣＭ候補区間を検出し、ＣＭ情報蓄積部６に記録する。ここではＣＭ境界が検出された時刻を一定時間（例えば６０秒間）蓄積しておき、ＣＭ境界が１５秒、３０秒、４５秒のいずれかの間隔で出現した場合に、ＣＭ境界で区切られる区間をＣＭ候補区間として出力する。
【００３５】
準ＣＭ候補区間検出部４は、ＣＭ候補区間検出部３と同様の原理で準ＣＭ候補区間を検出する。すなわち、５秒または１０秒といったＣＭ区間より短い時間間隔で現れるＣＭ境界を検出する。
【００３６】
ＣＭ情報蓄積部６は、例えばリレーショナルデータベースのテーブルとして構成することができる。ＣＭ分類部７は、検出したＣＭ候補区間がＣＭ情報蓄積部６に書き込まれると起動され、新たに書き込まれたＣＭ候補区間に対してＣＭクラスタ蓄積部８に蓄積されたクラスタの中から最近傍のクラスタを検索し、そのクラスタとの距離が所定のしきい値より小さければそのクラスタに分類し、そうでなければ新たなＣＭクラスタが見つかったと判断して、その情報をＣＭクラスタ蓄積部８に追加する。
【００３７】
ＣＭブロック検出部５はＣＭ情報蓄積部６をスキャンして、ＣＭ候補区間又は準ＣＭ候補区間が一定時間以上連続して出現する場合に、その区間をＣＭブロックとして出力する。この詳細な動作については既に説明した。
【００３８】
本発明のＣＭ検出方法をＤＶＤレコーダやハードディスクレコーダに適用することができる。例えば、テレビ番組やインターネットで配信された動画を録画しておき、録画した番組を見るときにＣＭをカットして番組本編だけを再生することができる。またＤＶＤ等の記憶媒体に映像をダビングする際にＣＭを除くことで、限られた容量の記憶媒体に多くの映像を効率的に記録することもできる。またＣＭのモニタリング業務では、検出したＣＭ候補区間をタイムライン表示又はアイコン表示することによりＣＭに関する情報を効率的に取得することができる。
【００３９】
図１０はＣＭモニタリング用の画面の例である。７１は録画した映像を表示するビデオ表示エリア、７２は本発明により抽出したＣＭ情報を表示するＣＭ情報リスト、７３は受信する放送チャネルを選択するチャネル選択ボタン、７４はＣＭを時刻別に表示するためのタイムライン表示エリア、７５はマーカーである。ＣＭ情報リスト７２には、抽出したＣＭ区間情報の例として、開始時刻、終了時刻、時間長、頻度等が表示される。この頻度は、同一のＣＭが一定時間内に放送された回数であり、ＣＭ分類処理の結果として取得することができる。備考欄には、関連情報を登録しておくことも可能である。タイムライン表示エリア７４には、縦軸に時間帯が表示され、横軸には各時間帯における分単位の時間が表示され、ＣＭ区間を空間的に表示することにより、ＣＭの出現状況を視覚的に一覧表示することができる。マーカー７５を用いてＣＭ情報リストで選択したＣＭの放送時刻を表示することができる。
【図面の簡単な説明】
【００４０】
【図１】本発明のＣＭ検出手順である。
【図２】本発明の処理対象である放送信号の構成例である。
【図３】本発明のＣＭ検出方法の原理である。
【図４】本発明のＣＭ検出方法の動作アルゴリズムである。
【図５】本発明のＣＭ検出方法の動作アルゴリズムに含まれるＣＭブロック探索サブルーチンの詳細アルゴリズムである。
【図６】ＣＭコンテンツ分類手順である。
【図７】ＣＭ候補区間のクラスタリングの概念図である。
【図８】クラスタリングを用いた本発明のＣＭ候補区間の再選別手順である。
【図９】本発明のＣＭ検出装置の構成である。
【図１０】本発明の応用事例であるＣＭモニタリング装置の画面の例である。
【図１１】ＣＭ検出方法の第１の従来例である。
【図１２】ＣＭ検出方法の第２の従来例である。
【符号の説明】
【００４１】
２  ＣＭ境界検出部
３  ＣＭ候補検出部
４  準ＣＭ候補検出部
５  ＣＭブロック検出部
６  ＣＭ情報蓄積部
７  ＣＭ分類部
８  ＣＭクラスタ蓄積部
９  制御部（ＣＰＵ）
５１  通常のＣＭ（第１のコマーシャル）
５２  番組宣伝等の別種類のＣＭ（第２のコマーシャル）
Ｓ１  ＣＭ境界検出ステップ
Ｓ２  ＣＭ候補区間検出ステップ
Ｓ３  準ＣＭ候補区間検出ステップ
Ｓ４  ＣＭブロック検出ステップ
【図１】
0004719604.tif 000002
【図２】
0004719604.tif 000003
【図３】
0004719604.tif 000004
【図４】
0004719604.tif 000005
【図５】
0004719604.tif 000006
【図６】
0004719604.tif 000007
【図７】
0004719604.tif 000008
【図８】
0004719604.tif 000009
【図９】
0004719604.tif 000010
【図１０】
0004719604.tif 000011
【図１１】
0004719604.tif 000012
【図１２】
0004719604.tif 000013