実施の形態1.
図1は、本発明の実施の形態1の映像記録装置100の構成を示すブロック図である。図1に示されるように、映像記録装置100は、図示しないチューナから又は外部から入力された入力映像データに対して、MPEG−2(Moving Picture Experts Group)に準拠した符号化を行う符号化手段としての符号化部101と、符号化部101によって生成された符号化ストリームが記録される記録手段としてのHDD(ハードディスクドライブ)105と、HDD105に対して符号化ストリームを安定的に書き込み及び読み出しを行うためのストリーム制御を行うストリーム制御手段としてのストリーム制御部103とを有している。また、映像記録装置100は、ストリーム制御部103が符号化ストリームを一時的に記憶しておく一時記憶手段としてのストリームバッファ104と、符号化部101に対して符号化の開始・終了などを指示する録画制御手段としての録画制御部102と、符号化部101によって生成された符号化ストリームからシーンチェンジを抽出する映像変化点抽出手段としてのシーンチェンジ抽出部110とを有している。図1には、記録手段としてHDD105が示されているが、記録手段は、DVDのような光ディスクや磁気テープなどの他の情報記録媒体であってもよい。また、映像記録装置100は、DVD/HDDハイブリッドレコーダであってもよい。さらに、映像記録装置100は、家庭用のビデオレコーダに限らず、パーソナルコンピュータ、映像サーバ、又は、監視システム用の監視レコーダなどの各種用途に適用できる。
符号化部101による符号化方式であるMPEG−2は可変レートに対応しており、そのため、1秒間に発生する符号量(ビットレート)は時間によって大きく変動する。そのため、ストリーム制御部103は、HDD105へのデータ書き込み及びHDD105からのデータ読み出しによって符号化ストリームがオーバーフロー又はアンダーフローしないように、符号化ストリームをストリームバッファ104に一時的に保持させ、HDD105の状態に応じて符号化ストリームのHDD105への書き出し及びHDD105からの読み込みを行っている。ストリームバッファ104は、リングバッファで構成されており、書き込み位置ポインタと読み出し位置ポインタによって有効なデータ領域が管理されている。すなわち、データの書き込み時には、書き込み位置ポインタを先頭にデータサイズ分書き込みを行い、書き込んだデータサイズ分だけ書き込み位置ポインタを進める。一方、データの読み出し時には、読み出し位置ポインタを先頭にデータサイズ分読み出しを行い、読み出したデータサイズ分だけ読み出し位置ポインタを進める。ただし、リングバッファの終了位置に来たときは、ポインタを先頭の位置に戻す処理を行う。
図2は、図1に示されるシーンチェンジ抽出部110の構成を示すブロック図である。図2に示されるように、シーンチェンジ抽出部110は、入力された符号化ストリームの復号化を行う復号化手段としての復号化部111と、復号化された映像データのヒストグラムを生成するヒストグラム生成手段としてのヒストグラム生成器112と、ヒストグラム生成器112によって生成されたヒストグラムを保持する第1のヒストグラムバッファ113及び第2のヒストグラムバッファ114と、第1のヒストグラムバッファ113に保持されたヒストグラムと第2のヒストグラムバッファ114に保持されたヒストグラムの差異を求める差分抽出手段としての差分抽出器115とを有している。また、シーンチェンジ抽出部110は、差分抽出器115で求めた差異値と予め設定された閾値を比較するシーンチェンジ判定手段としてのシーンチェンジ判定器116と、録画制御部102からのシーンチェンジ開始命令などの制御信号に基づいてシーンチェンジ抽出部110を制御するシーンチェンジコマンド制御手段としてのシーンチェンジコマンド制御部120とを有している。
次に、映像記録装置100の録画動作について説明する。録画が開始されると、録画制御部102は、符号化部101に対して制御信号CENを出力して符号化開始を指示し、符号化部101は入力された映像データPINの符号化処理を開始する。符号化部101は、例えば、符号化単位であるGOP(Group of Pictures)の符号化が完了する毎に、録画制御部102にGOP符号化完了通知IENを送る。ストリーム制御部103は、符号化部101によって符号化された符号化ストリームをストリームバッファ104の書き込み位置ポインタを先頭に順次書き込んでいく。一方、ストリーム制御部103は、HDD105が書き込み状態になっているのを確認しながら、ストリームバッファ104の読み出し位置ポインタから符号化ストリームを読み出し、HDD105に書き込みを行う。録画が実行されている間、前記動作が繰り返し行われる。録画終了時には、録画制御部102は、符号化部101に対して符号化終了を指示し、符号化部101は符号化を停止する。ストリーム制御部103は、ストリームバッファ104に残っている符号化ストリームをすべてHDD105に書き込む。
次に、録画を行いながらシーンチェンジを抽出する方法について説明する。録画制御部102は、例えば、GOPの符号化完了通知IENを符号化部101から受け取る毎に、シーンチェンジ抽出部110に対してシーンチェンジ抽出コマンドCSCを送る。シーンチェンジ抽出コマンドCSCは、シーンチェンジ抽出部110内のシーンチェンジ制御部120を経由して、復号化開始コマンドCDEとして復号化部111に送られる。復号化部111は、符号化ストリームPSTをストリーム制御部103を経由してストリームバッファ104から呼び出し、復号化を開始する。復号化部111によってMPEG−2からYUVに復号化された映像データはヒストグラム生成器112に入力され、ヒストグラム生成器112によって映像データのYUVの各区画に含まれる計数に基づいてヒストグラムが作成される。ここで、ヒストグラム生成のための区画分けは、値の取り得る範囲を一定間隔に区切る方法、又は、予め複数の閾値を定めておいて、各閾値に対する大小関係に応じて区画分けをする方法などがある。また、ここでは、輝度成分Yと色差成分U、Vのすべての成分に対してヒストグラムを作成する場合を説明しているが、輝度成分Yのみについてヒストグラムを生成する方法を採用してもよい。また、輝度成分Yと色差成分U、Vのすべての成分に対してヒストグラムを作成するが、色差成分U及びVに対しては重みを加えて区画分けを荒くする方法を採用してもよい。また、ヒストグラムの区画分けの方法は、以上に説明した例に限定されず、他の区画分け方法を採用してもよい。
ヒストグラム生成器112で生成されたヒストグラムは、第1のヒストグラムバッファ113又は第2のヒストグラムバッファ114に交互に送られ保持される。差分抽出器115は、第1のヒストグラムバッファ113及び第2のヒストグラムバッファ114に交互に記憶されたヒストグラムを用いて、現在の映像データと1つ前の映像データの映像の比較を行い(例えば、現在のフレームの映像データと、1フレーム前のフレームの映像データの比較を行い)、差異値を求める。2つのヒストグラムの差異値を求める方法としては、例えば、2つのヒストグラムの対応する成分の値の差を、すべての成分について累積する方法がある。ここで、i番目の映像のヒストグラムをH
i
H
i={h
i(1),h
i(2),・・・,h
i(K)}
とすると、i番目の映像のヒストグラムH
iと、1つ前のiー1番目の映像のヒストグラムH
i−1との差異値dを以下の式で求める。なお、Kは、所定の正の整数である。
ここで、Nは1フレーム内の画素数である。これによって、差異値dは0から1までの値をとり、i番目のフレームの映像とiー1番目のフレームの映像が同じ映像であれば差異値dは0になり、i番目のフレームの映像とiー1番目のフレームの映像の違いが大きければ差異値dは1に近づくことになる。
差分抽出器115で求められた差異値dは、シーンチェンジ判定器116に送られ、予めシーンチェンジコマンド制御部120によって設定された閾値ETHと比較され、設定された閾値ETHより大きな値であればシーンチェンジと判定し、その判定結果RSCをシーンチェンジコマンド制御部120に送る。さらに、録画終了時などに判定結果RSCを録画制御部102に送る。
以上に説明したように、符号化部101によってGOPの符号化が完了する毎に(すなわち、実施の形態1においては、GOPの符号化完了に同期して)、シーンチェンジ抽出部110でシーンチェンジ判定を行う処理を、映像の録画開始から終了までの間において継続的に行うことによって、映像ストリームPSTを録画しながら、映像ストリームPSTのシーンチェンジを抽出することができる。すなわち、符号化の最小単位であるGOPの符号化完了毎にシーンチェンジ抽出処理を実行するので、符号化と並行してシーンチェンジ抽出を行うことができる。
また、リアルタイムにシーンチェンジ抽出を行うので、シーンチェンジ抽出機能を有していないエンコーダを符号化部101に用いることができる。そのため、映像記録装置に採用するエンコーダの選定に際して、シーンチェンジ抽出機能を有しないエンコーダを選ぶことが可能になり、エンコーダ選択の幅が広がり、コストや調達性を重視したエンコーダの選択が可能になる。
また、既にHDDなどに蓄積された符号化ストリームを解析してシーンチェンジを抽出する方法では、符号化ストリームを記憶装置であるHDDから読み出すための時間が、シーンチェンジの解析時間に加えて、必要とされる。しかしながら、実施の形態1の映像記録装置100においては、HDD105よりも書き込み及び読出し速度が速く、ストリームを一時的に記憶しておくストリームバッファ104(通常は、揮発性半導体メモリを用いる)から読み出すため高速に読み出すことができ、結果として処理時間が早くなる。
また、シーンチェンジ抽出部110は符号化部101(エンコーダ)の動作よって影響されないので、エンコーダの種類や仕様が変更されたとしても、シーンチェンジの抽出基準を一定範囲に維持することができる。
また、実施の形態1の映像記録装置は、録画と並行してシーンチェンジを抽出できる機能のほかに、符号化ストリームを直接解析する機能をも有する。このため、直接HDDに記録された符号化ストリームに対してもストリーム制御部103を介して符号化ストリームを読み出すことによってシーンチェンジ抽出を行うことができる。
さらに、一般的にハードウェアで構成されるエンコーダチップ内のシーンチェンジ機能を利用するわけではなく、録画再生装置のファームウェアのみで構成することも可能なので、シーンチェンジ抽出のためのアルゴリズムを比較的容易に改変したり、録画再生装置の状態等に合わせてシーンチェンジ抽出処理の状態遷移や閾値を動的に変更したりすることができる。
例えば、入力映像データがCM映像データである期間は、シーンチェンジの判定の閾値ETHを大きくして、シーンチェンジであると判定され難くして、CM映像データに対するシーンチェンジ検出を実行させないように制御する方法を採用してもよい。
また、シーンチェンジにおいて音声信号が無音になる瞬間が存在することに着目し、音声信号が無音(すなわち、所定の閾値よりも低いレベル)のときに、シーンチェンジの判定の閾値ETHを小さくすることによって、シーンチェンジを映像データだけでなく、音声データをも考慮して検出し、シーンチェンジの検出精度を向上させる制御方法を採用してもよい。
また、以上の説明においては、シーンチェンジ抽出単位を1GOPとしているが、シーンチェンジ抽出単位を複数のGOP単位としてもよい。また、シーンチェンジ抽出単位を、1又は複数のスライス単位又は1又は複数のマクロブロック単位としてもよい。
また、以上の説明においては、復号化処理を行う方法としてソフトウェアによる例を示したが、ハードウェアによって実行してもよい。
実施の形態2.
本発明の実施の形態2の映像記録装置は、図2に示されるシーンチェンジコマンド制御部120の構成及び動作のみが、実施の形態1の映像記録装置と相違する。したがって、実施の形態2の説明においては、図1及び図2をも参照する。
実施の形態2の映像記録装置は、録画と並行してシーンチェンジ抽出を行う場合に、シーンチェンジ抽出動作をGOPの符号化処理と非同期に行う。この非同期に行われる符号化処理を、単に「非同期処理」とも言う。この非同期処理は、符号化部101による符号化処理が完了したGOPに対して実行されるシーンチェンジ抽出処理の開始タイミングが、符号化処理の完了タイミングと必ずしも一致しない状態でも実行できることである。非同期処理の実際の動作としては、あるGOPについて着目すると、符号化処理が完了した後、直ぐにシーンチェンジ抽出処理が行うのではなく、しばらく時間を置いてからシーンチェンジ抽出処理を実行する方法である。
一般的に、映像を記録する装置、例えば、HDD/DVDハイブリッドレコーダなどにおいては録画動作に並行して、再生やダビング等のような装置のCPUの負荷が上昇する動作が発生し得る。また、ユーザーによって不定期に行われる行為、例えば、DVDのトレーオープン、機能設定画面の表示、及び電子番組表の閲覧などの動作は、装置の一時的なCPUの負荷上昇を招く。これらの動作によって負荷上昇が発生した場合、シーンチェンジ抽出処理のために、CPUを占有し続けることができる保障はなく、他の処理の完了を待つ間、シーンチェンジ抽出処理をしばらく遅らせることが望ましい場合があり得る。一方、シーンチェンジ抽出処理によって、装置の基本機能である映像の記録機能が妨げられることがあってはならず、よってシーンチェンジ抽出処理は記録処理よりも優先度を落とした処理にすることが望ましい。このような機能を実現するために、実施の形態2の映像記録装置においては、シーンチェンジ抽出処理を録画動作と非同期に行うことができるように構成している。
図3は、実施の形態2の映像記録装置のシーンチェンジコマンド制御部120(図2に示される)の構成を示すブロック図である。図3に示されるように、シーンチェンジコマンド制御部120は、録画制御部102からのコマンドの受け付けを行うAPI(アプリケーション プログラム インターフェース)部121と、受け付けたコマンドを複数保持するコマンドバッファ122と、シーンチェンジ抽出部の状態遷移を司り、受け付けたコマンドを処理する状態制御部124と、シーンチェンジ抽出結果やエラー状態を保持し、録画制御部102に返すためのシーンチェンジ抽出結果バッファ123とを有している。実施の形態2の映像記録装置が実施の形態1の映像記録装置と相違する点は、録画制御部102から発行されたシーンチェンジ抽出コマンドがシーンチェンジコマンド制御部120内のAPI部121に伝えられ、コマンドバッファ122に一旦保持されることである。コマンドバッファ122が保持できるコマンドの数はストリームバッファ104の容量に応じて設定すればよい。例えば、ストリームバッファ104のサイズが実施の形態1で示した20Mバイトである仮定すると、符号化ストリームの約15秒分(すなわち、1GOPあたり15ピクチャ、0.5秒の時間長とすると、30GOPのデータ)が一時的に保持できることになり、よって、30個分のシーンチェンジ抽出コマンドを保持できるように構成すればよい。コマンドバッファ122が30個のシーンチェンジ抽出コマンドを保持でき、且つ、ストリームバッファ104に30GOP分のデータが残っていれば、最新のGOPから30個前のGOPまで遡ってシーンチェンジ抽出が可能であることを意味し、30個のGOP分、すなわち、15秒遅延したシーンチェンジ抽出処理が可能であることをも意味する。シーンチェンジコマンド制御部120のシーンチェンジ抽出結果バッファ123は、シーンチェンジ抽出部110の状態制御部124が実行したシーンチェンジ抽出結果の複数回分保持することが可能で、コマンドバッファ122に保持できるコマンド数と同数分を保持できるものとすればよい。
これによって、先行するGOPのシーンチェンジ抽出処理が完了していない状態(例えば、ユーザーが既に録画されているストリームの再生要求をしたために、システムの負荷が上昇し、シーンチェンジ抽出処理が完了できなかった場合)において、次のGOPの符号化が完了し、録画制御部102からシーンチェンジ抽出コマンドが発行された場合であっても、新しいシーンチェンジ抽出コマンドはコマンドバッファ122に保持される。コマンドバッファ122に保持されているシーンチェンジ抽出コマンドによって、現在実行中のシーンチェンジ抽出処理が完了後に、先行するGOPのシーンチェンジ抽出処理を実行できるので、GOPの符号化毎にシーンチェンジ抽出処理が完了しないために次のシーンチェンジ抽出処理が実行できないという問題を防ぐことができる。
次に、図4、図5、及び図6のフローチャートを用いて録画動作と非同期で動作するシーンチェンジ抽出処理の説明を行う。まず、録画制御部102の動作について説明する。映像記録装置100に電源が投入されると、システム起動(ステップS201)され、定期的にシステム終了の確認(ステップS202)と録画開始の確認(ステップS204)が行われ、システム終了の要求があれば、システム終了(ステップS202)に遷移する。一方、録画開始の要求があれば、シーンチェンジコマンド制御部120に対して、録画開始コマンド発行(ステップS205)が行われる。録画開始コマンドの発行の後は、録画終了を確認(ステップS206)し、録画終了であれば録画終了コマンドをシーンチェンジコマンド制御部120に発行する(ステップS207)。録画状態においては、GOP単位の符号化が完了すると(ステップS208)、シーンチェンジコマンド制御部120に対してシーンチェンジ検出コマンドが発行される(ステップS209)。GOP符号化検出(ステップS208)は、録画が完了するまで続けられる。録画制御部102から発行された制御コマンドは、シーンチェンジコマンド制御部120のAPI部121内で処理される。シーンチェンジ制御コマンドCSCが発行されるとコマンドバッファ122の空きをチェックし(ステップS223)、コマンドバッファ122の空きがあれば、コマンドバッファ122にコマンドを格納する(ステップS224)。コマンドバッファ122に格納できなかった場合も含めて、次にシーンチェンジ状態制御部124からシーンチェンジ結果バッファ123に蓄えられたシーンチェンジ抽出結果の取得を行う(ステップS225)。最後に、シーンチェンジ抽出結果とコマンドが受け付けられたか否かを録画制御部102に返す(ステップS226)。
一方、シーンチェンジ状態制御部124では電源起動されると(ステップS241)、コマンド待ち状態になり(ステップS242)、受け取ったコマンドがシステム終了(ステップS243)であればシステム終了に移る(ステップS245)。また、コマンドが録画開始コマンドであれば(ステップS252)、録画開始のための例えばメモリの確保や変数の初期化などの録画開始処理(ステップS253)を実行し、録画終了コマンド(ステップS254)であれば、例えば確保したメモリの開放やシーンチェンジ抽出結果を録画制御部102に送る録画終了処理(ステップS255)を行う。一方、受け取ったコマンドがシーンチェンジ抽出コマンドであれば、シーンチェンジ抽出コマンドに付けて渡される符号化ストリームのストリームバッファ104における先頭アドレスを元に、符号化ストリームの復号化を行う(ステップS246)。復号化部111によってYUVに変換された映像データからヒストグラムを生成し(ステップS247)、そのヒストグラムを第1のヒストグラムバッファ113(又は第2のヒストグラムバッファ114)に格納する(ステップS248)。生成したヒストグラムと第2のヒストグラムバッファ114(又は第1のヒストグラムバッファ113)に格納されている1つ前の映像のヒストグラムの差異値を求め(ステップS249)、予め設定されている閾値以上であればシーンチェンジと判定する(ステップS250)。この結果を、結果バッファ123に格納する(ステップS251)。
1つのGOPに対するシーンチェンジ抽出処理が終わると、次の処理を行うためにコマンド待ち(ステップS242)に移る。ここでもし既にコマンドバッファ122にコマンドが格納されていれば、即座に、次のGOPの解析が開始されるが、次のコマンドバッファがまだ設定されていなければ、コマンド待ちを継続する(ステップS242)。
実施の形態2の映像記録装置においては、シーンチェンジ抽出を行うソフトウェアモジュールのタスク又はスレッドの優先度は録画再生を行うモジュール群より低くしている。この理由は、シーンチェンジ抽出を行うモジュールは、MPEGのソフトウェアデコード処理を伴うために、非常に処理負荷が高く、よって図示しないがソフトウェアを処理するCPUを占有する時間が他のモジュールに比べて極めて大きくなるからである。そのため、もしシーンチェンジ抽出モジュールの優先度を録画再生モジュールの優先度と同じ又はそれ以上にしていると、録画再生時にCPUの処理時間の多くを占有し、そのために映像の記録に関するモジュールの処理が遅れ、結果記録又は再生ができない問題を引き起こす可能性があるからである。さらに、ユーザー入力によって動作するモジュール、例えば、キー入力、画面表示等を司るモジュールの動作も同様にシーンチェンジ抽出モジュールによってその動作を遅延させることが想定しうる。よって、シーンチェンジ抽出モジュールの優先度は、その他のモジュールの優先度に比べて、低くすることが望ましい。一方、次々と録画によって生成されるGOPに対してシーンチェンジの解析を実行していかなければ、シーンチェンジ検出を行うことはできない。しなしながら、符号化部101による符号化処理はリアルタイムに行われていくが、生成された符号化ストリームはHDD105に書き込みを行うために一時的にストリームバッファ104に保持されている。よって、符号化ストリームがストリームバッファ104に保持されている間にシーンチェンジモジュールがストリームバッファ104上の符号化ストリームを処理すれば、すべてのGOPに対してシーンチェンジ抽出処理を行うことができることになる。
実際に、シーンチェンジ抽出動作が継続して実行されている最中において、例えば、ユーザーによる別番組の再生要求やEPG番組表の表示などシステム的に負荷の大きな処理が起動された場合を想定してみる。先行するGOPのシーンチェンジ抽出実行時に大きな負荷がかかり、その処理の進行があまり進んでいない状況で、次のGOPの符号化完了通知が符号化部101から録画制御部102に上がってくる。録画制御部102は、即座にシーンチェンジ抽出部110のシーンチェンジコマンド制御部120に対して、シーンチェンジ抽出コマンドを発行する。シーンチェンジコマンド制御部120のAPI部は、コマンドバッファの空きを見て(ステップS223)、空きがあればコマンドバッファにシーンチェンジ抽出コマンドを格納する。シーンチェンジコマンド制御部120は、シーンチェンジ抽出コマンドの格納だけを行い、即座に録画制御部102にリターンを返す。さらに、次のGOPの符号化完了までに、先行するGOPのシーンチェンジ抽出が完了していなければ、さらにその次のGOPに対するシーンチェンジ抽出コマンドもコマンドバッファに格納する。その後シーンチェンジ抽出が完了すると、シーンチェンジ状態制御部はコマンド待ち(ステップS242)に移り、コマンドバッファより最古のコマンドを受け取り、次のGOPのシーンチェンジ抽出の実行を開始する。その後システムの負荷が定常状態になると、シーンチェンジ抽出処理の処理頻度が増加し、コマンドバッファの遅延されたコマンドを順次と実行する。ただし、この遅延に許された最大数は20GOP分であり、それ以上のシーンチェンジ処理要求が生じた場合はコマンドバッファにコマンドの空きがないため、該当するGOPに対してシーンチェンジ処理が実行されないことになる。このとき録画制御部102は何らかのエラー処理を実行してもよく、また、装置の主たる目的である録画動作が正常に行われているという理由で特にエラー処理を実行せずにそのまま処理を継続してもよい。
このようにストリームバッファ104上に一時的に保持されたストリームを解析することに加え、録画制御部102から発行されるコマンドをバッファリングすることによって、必ずしも映像が符号化される毎に符号化されたストリームに対してシーンチェンジ抽出を実行する必要がなく、遅延処理が可能である。そのため、録画制御部102による符号化処理における符号化単位とシーンチェンジ抽出部120における解析単位を連続的に処理する必要がなく、よって符号化処理とシーンチェンジ抽出処理を独立した処理単位として設計できる。
また、録画制御部102とシーンチェンジ抽出部120は独立して動作することが可能であり、さらにシーンチェンジ抽出部120の処理優先度を録画に関する処理のそれより低くすることによって、処理時間が長くかかるシーンチェンジ抽出部120の動作によって、録画制御部102の処理が遅れ、結果として通常の録画処理に影響を及ぼすといった悪影響を発生させることがない。
また、シーンチェンジ抽出処理は遅延処理が可能なため、システムの一時的な負荷上昇によってシーンチェンジ抽出処理がGOPの再生時間内で完了できなかった場合や、シーンチェンジ抽出処理に処理が回ってこない場合であっても、コマンドバッファ122に格納されたシーンチェンジ抽出コマンドを使って、過去に符号化されたストリームに対して順次抽出処理を実行できるため、シーンチェンジ抽出処理が飛ばされて実行されないといった問題を回避することができる。
なお、上記シーンチェンジ抽出処理の遅延可能な時間若しくは回数は、ストリームバッファ104及びコマンドバッファの数によって決定される。
また、実施の形態2において、上記以外の点は、上記実施の形態1の場合と同じである。
実施の形態3.
本発明の実施の形態3の映像記録装置は、実施の形態1の映像記録装置の復号化部111の構成を特定した点が、実施の形態1の映像記録装置と相違する。したがって、実施の形態3の説明においては、図1及び図2をも参照する。
図7は、図1の復号化部111の構成を示すブロック図である。実施の形態3の映像記録装置は、図7に符号化ストリームからシーンチェンジの抽出処理を行う場合の復号化処理において、DCT(離散コサイン変換)係数の復号化次数を制御する方法に特徴がある。図7に示されるように、復号化部111は、入力された符号化ストリームのヘッダから画素サイズを求める画素サイズ検出部301と、画素サイズ検出部301によって検出された画素サイズからDCTブロックの使用する成分(次数)を決定する次数決定部302と、符号化ストリームに対して次数決定部302で決定した次数まで逆量子化を行いながらDCT係数を抽出するDCT係数抽出部303と、抽出されたDCT係数から逆DCTを実行するIDCT部304と、削減された次数で実行された逆DCTによって離散化してしまった画素データを詰めて縮小された画像を生成する画像整形部305とを有している。
図8(A)乃至(D)は、実施の形態3の映像記録装置のDCT係数削減処理を説明するための図である。図8(A)は、符号化ストリーム画素サイズを示し、図8(B)は、DCTブロック(2×2を使用する場合)とDCTブロック(4×4を使用する場合)を示し、図8(C)は、復号済DCTブロック(2×2以外を無効とする場合)と復号済DCTブロック(4×4以外を無効とする場合)を示し、図8(D)は、復号画像を示す。実施の形態3においては、ユーザーの希望により符号化する映像の画素サイズを704×480画素と352×240画素から選択できる映像記録装置について説明する。よって、復号化部111に入力されるストリームは、704×480画素の符号化ストリーム又は352×240画素の符号化ストリームの2種類の画素サイズのものが存在する。復号化部111に符号化ストリームが入力されると、まず最初に画素サイズ検出部301が符号化ストリームの画素サイズの検出を行い、検出した画素サイズを次数決定部302に送る。次数決定部302では、検出した画素サイズに応じて、符号化ストリームに含まれるDCT係数のうちの処理する次数Deを決定する。例えば、704×480画素の符号化ストリームの場合はDCTブロックの内の次数2まで、一方、352×240画素の符号化ストリームの場合は次数4まで処理すると予め設定しておく。この次数に従ってDCT係数抽出部303とIDCT部304は、DCTブロックの処理対象とする次数を設定し、復号化を行う。IDCT部304から出力された復号化された映像データは、DCTブロック単位でDCT係数の間引きを行ったため復号化されたDCTブロックをつなぎ合わせて生成された復号化された映像の画素は離散的な映像になっている。この画素間が離散的な映像に対して画素の隙間をつめる処理を画素整形部305で行う。これによって、復号化された映像は、704×480画素の符号化ストリームの場合は176×120画素、352×240画素の符号化ストリームの場合は176×120画素となり、入力された符号化ストリームの画素サイズが違っていたにもかかわらず同じサイズの画像を得ることができる。このように復号化された映像を次のヒストグラム生成器112に送れば、実施の形態1と同様にシーンチェンジの検出を行うことができる。
すなわち、実施の形態3においては、復号化部111にDCT係数の制御を行う機能が付加されることによって、符号化部101によって異なる画素サイズとして符号化された符号化ストリームであってもシーンチェンジ抽出に使う映像は同じ画素サイズで行うことができることを示すと共に、シーンチェンジ抽出で解析対象とする映像の周波数帯域の上限を同じ帯域に揃えることができることを示している。また、ヒストグラム生成器112以降では常に同じ画素サイズの符号化ストリームに対してシーンチェンジ抽出を行うことができるので、次のヒストグラム生成器112以降の処理は画素サイズに依存することなく同じ処理を行うことができる。
上記のように構成することによって、符号化ストリームの画素サイズが違う場合であっても、同じ又は同程度の画素サイズに復号化された映像を得ることができる。
また、符号化ストリームの画素サイズが違う場合でも同じ画素サイズの復号化された映像に対して、シーンチェンジ抽出処理を行うことができるので、符号化ストリームの画素サイズが違っているストリームに対しても、同じシーンチェンジの評価方法と評価基準を用いることができ、結果として画素サイズを変えて同じ映像を録画した場合においても、同じ時間位置をシーンチェンジとして検出することができる。
また、画素サイズが異なる符号化ストリームに対してDCT係数を制御することによって、復号化された画像の周波数帯域を揃えることができるので、画素サイズを変えて同じ映像を録画した場合においても、同じ時間位置をシーンチェンジとして検出することができる。
また、高解像度の符号化データほど間引きを多くすることができるので、処理時間がかかる高解像度な符号化データであっても高速にシーンチェンジ抽出することができる。
また、高解像度の符号化データほど高周波の次数を間引きくことができるように構成できるので、比較的高周波ノイズの発生し易い高解像度の符号化データほどノイズ除去を効果的に行うことができる。
また、解像度によらず同一の復号化映像を生成するために、復号化映像を記憶するメモリサイズを同一にすることができる。
また、本来復号化映像を記憶するために大きなメモリサイズを必要とする高解像度映像ほど間引き処理を行うために、復号化処理のために用意しておくべきメモリ領域を小さくすることができる。
なお、実施の形態3において、上記以外の点は、上記実施の形態1乃至2の場合と同じである。
実施の形態4.
本発明の実施の形態4の映像記録装置は、実施の形態1の映像記録装置の復号化部111の構成を特定した点が、実施の形態1の映像記録装置と相違する。したがって、実施の形態4の説明においては、図1及び図2をも参照する。
図9は、本発明の実施の形態4の映像記録装置の復号化部の構成を示すブロック図である。図9を用いて符号化ストリームからシーンチェンジの抽出処理を行う場合の復号化処理において、復号化を実行するスライスを限定する処理について説明する。実施の形態4の映像記録装置の復号化部111は、入力された符号化ストリームのヘッダから画素サイズを求める画素サイズ検出部301と、画素サイズ検出部301の検出した画素サイズからシーンチェンジ抽出の処理対象とするスライスを決定する使用スライス決定部306と、符号化ストリームのヘッダを解析するヘッダ検出部307と、符号化ストリームの逆量子化を行う逆量子化部308と、周波数領域に変換された係数値を逆DCT処理するIDCT部304とを有している。
次に、スライス削減と合わせて動作するシーンチェンジ抽出処理の動作について説明する。画素サイズ検出部301が画素サイズの検出を行い、使用スライス決定部306が使用するスライスを決定する。ここでは、例えば、符号化部101で生成される符号化ストリームの解像度は720×480画素と352×240画素の2種類のみしか存在しない場合には、垂直方向の画素数が480のときには、上下5スライス、すなわち、
(16画素×5スライス)×2=80画素×2
を使用しないものとし、一方、画素数が240のときには、上下2スライス、すなわち、
(16画素×2スライス)×2=32画素×2
を使用しないものとしている。ここで解像度によって使用しない画素数が異なるが、垂直方向に対する割合は、480画素の場合、全30スライスに対して10スライスを使用しないので、1/3を使用しないことになり、一方、240画素の場合、全15スライスに対して4スライスを使用しないので、4/15を使用しないことになり、ほぼ同じ割合をシーンチェンジ抽出対象としていることが分かる。
このようにして使用スライス決定部306において使用するスライス数を求め、ヘッダ検出部307で符号化ストリームのヘッダを解析し、スライスヘッダを抽出する毎に先の使用スライス決定部306で使用しないスライスと判定したスライスであれば、次のスライスヘッダまでジャンプし、一方、使用するスライスであれば、該当するスライスを逆量子化部308に送る。逆量子化部308は、符号化ストリームの逆量子化を行い、IDCT部304は、逆DCTを実行する。上記構成によって、使用するスライスのみが復号化処理され、結果として垂直解像度が480画素であれば垂直解像度320画素の映像を、一方、垂直解像度が240画素であれば垂直172画素の復号化された映像を求めることができる。復号化部111によって上記のように垂直方向に削減され復号化された映像に対して、ヒストグラム生成器112では有効なスライス領域と同じ位置の画素を対象にヒストグラムの生成を行う。差分抽出器115で求める差異値dを導出するためにフレーム内の画素数を表すN(1フレーム内の画素数)を利用している。実施の形態4においては、垂直方向に画素を削減したので、フレーム内の画素数Nは以下のように補正される。まず、元が垂直解像度720画素の場合であれば、削減された垂直解像度が320画素で、水平解像度は720画素なので、
N=320×720=230400
となる。また、垂直解像度240画素の場合、削減された垂直解像度が172画素で、水平解像度は352画素であれば
N=172×352=60544
に補正を行う。本補正を行ったうえで求められる差異値dを用いて、シーンチェンジ判定器116は、実施の形態1と同様のシーンチェンジ判定を行うことができる。
上記説明においては、スライス単位で復号化をするか否かを設定しているが、シーンチェンジに利用する領域を画素位置又はマクロブロック単位で設定してもよい。この場合、シーンチェンジを検出する位置を特定できるので、検出精度を向上することができる。また、画素毎にシーンチェンジ抽出を行うか否かを設定する場合、すべての画素について復号化を行い、復号化した後に抽出したいエリアのヒストグラム及びヒストグラムの差異値をとることによって実現可能であるが、検出単位をマクロブロック単位で指定するようにすると、ヘッダ検出部又は復号化処理部においてマクロブロック単位で処理を実行するか否かを制御できるので、不必要な復号化を実行しないよう構成でき、処理速度を向上することができる。
以上のように構成することによって、復号化及びシーンチェンジ抽出する画素サイズがスライス単位で削減できるので、処理の高速化を実現できる。
また、スライスの削減によって復号した画像のサイズも小さくなるので使用するメモリサイズも小さくなる。
また、シーンチェンジを検出する対象が放送番組であれば、映像の上下位置のスライスを使用しないように構成することによって、番組の本編との関連性が低い、又は、余り重要ではない情報である、時刻表示、臨時ニュースの文字表示、又はテロップなどに影響されることなくシーンチェンジ抽出を行うことができる。
また、マクロブロック単位で復号化及びシーンチェンジ抽出処理の実行を指定することによって、任意の1つ若しくは複数のマクロブロックに対してのみシーンチェンジ検出が可能になり、位置を特定したシーンチェンジ抽出が可能になる。
なお、実施の形態4において、上記以外の点は、上記実施の形態1乃至3の場合と同じである。
実施の形態5.
実施の形態5の映像記録装置は、差分抽出器115の動作が実施の形態1の映像記録装置と相違する。したがって、実施の形態5の説明においては、図1及び図2をも参照する。
実施の形態5においては、シーンチェンジ抽出対象となる映像によってシーンチェンジの判定基準を切り替える方法について説明する。図10は映像の画素値のYUV分布を示している。一般的にYUVは各256値で表現され、輝度信号Yは0から255まで、色差信号U及びVは、−128から127までの値をとる。そのとき人間の目でほぼ白と感じる領域及びほぼ黒と感じる領域を、図10において、それぞれW及びBで示している。実施の形態5においては、抽出対象となる映像が、全体として白に近い色の領域が多い映像(以下「白映像」とも言う。)である場合は、領域W以外の領域で差異値を算出し、一方、全体として黒に近い色の領域が多い映像(以下「黒映像」とも言う。)である場合は、領域B以外の領域で差異値を算出する方法によって、比較する2つの映像がよく似た映像であっても的確にシーンチェンジを検出することを目的とする。
実施の形態5の差分抽出器115の動作を、図11にフローチャートで示す。まず、第1のヒストグラムバッファ113及び第2のヒストグラムバッファ114からi番目のフレーム(以下「iフレーム」とも言う。)及びi−1番目のフレーム(以下「i−1フレーム」とも言う。)のヒストグラムを取得する(ステップS301)。次にそれぞれのフレームの白領域Wの画素数をカウントする(ステップS302)。iフレーム及びi−1フレームの白画素数C
Wi、C
Wi−1は次式で表される。
次に、白領域Wの累積差異r
Wを次式で求める(ステップS303)。
一方、黒領域Bについても同様に、黒画素数C
Bi、C
Bi−1を次式で求める(ステップS304)。
また、黒領域Bの累積差異r
Bを次式で求める(ステップS305)。
次に、iフレーム及びi−1フレームが共に以下の条件式を満足すれば、白に近い色の領域が多い映像(「白映像」とも言う。)であると判断する(ステップS306)。
CW_MAX>CWi>CW_MIN 且つ
CW_MAX>CWi−1>CW_MIN
上記は、全体として白に近い色の領域が多い映像と判定する条件として、白領域Wの画素数が下限CW_MINより大きく、上限CW_MAX未満であることを条件としている。このように、白画素数が下限より大きいことを満足するだけでなく、上限を設けている理由は、白画素数がある値より大きい場合は、白に近い色の領域以外の画素数が非常に少なくなり、全体の画素数に対して非常に少ない白以外の画素で画像全体のシーンチェンジを判定を行ってしまうことを避けるためである。
上記条件を満足できれば、白領域Wを除いた領域について次式で差異値を求める(ステップS307)。
一方、白に近い色の領域が多い映像と判断されなかった場合は、以下の条件式で黒に近い色の領域が多い映像であるか否かを判定する(ステップS308)。
C
B_MAX>C
Bi>C
B_MIN 且つ
C
B_MAX>C
Bi−1>C
B_MIN
上記は、黒に近い色の領域が多い映像と判定する条件として、黒領域Bの画素数が下限C
B_MINより大きく、上限C
B_MAX未満であることを条件としている。上記条件を満足できれば、黒領域Bを除いた領域について次式で差異値を求める(ステップS309)。
一方、白に近い色の領域が多い映像と判断されず、且つ、黒に近い色の領域が多い映像とも判断されなかった場合は、実施の形態1で示した差異値の導出式
によって差異値を求める(ステップS310)。
以上によって求めた差異値dを用いて、実施の形態1で示した手法と同様に、シーンチェンジ判定器116によってシーンチェンジの判定が行われる。
上記動作により、比較する2つの映像が共に白に近い色の領域が多い映像であれば白領域Wを除いた領域で映像の変化を比較し、一方、比較する2つの映像が共に黒に近い色の領域が多い映像であれば黒領域Bを除いた領域で映像の変化を比較することができるので、特定の色領域を除いた映像のシーンチェンジを抽出することができる。
そのために、全体的に白に近い色の領域が多い映像又は黒に近い色の領域が多い映像が続いたシーンにおいてもシーンチェンジを検出することが可能である。
特に、放送番組のCM(Commercial Message)間のつなぎ目において、白い背景(又は黒い背景)に企業名や製品名が示されたシーンから同じように白い背景(又は黒い背景)に異なる企業名や製品名が示されるシーンに切り替わる場合において、白い背景や黒い背景を除いたエリアでシーンチェンジ判定を行うので、結果として企業名や製品名の領域からシーンチェンジとして検出することができ、CMの区切りを検出するのに非常に有効に動作することができる。
なお、実施の形態5において、上記以外の点は、上記実施の形態1乃至4の場合と同じである。
実施の形態6.
図12は、本発明の実施の形態6の映像音声記録装置20の構成を概略的に示すブロック図である。図12に示されるように、映像音声記録装置20は、アンテナ1によって受信された放送波から録画する放送番組を選局するチューナ2と、チューナ2から出力されたアナログ映像信号をデジタル化するビデオA/D変換部3と、チューナ2から出力されたアナログ音声信号をデジタル化するオーディオA/D変換部4と、デジタル映像信号をMPEG−2(Moving Picture Experts Group−2)に圧縮符号化する符号化手段としてのビデオエンコーダ5と、デジタル音声信号を、例えば、リニアPCM(Linear pulse code modulation)又はドルビーデジタル(Dolby Digital)に符号化する符号化手段としてのオーディオエンコーダ6と、符号化された映像及び音声信号を1つの符号化ストリームに多重するマルチプレクサ(Multiplexer)(以下「Mux」とも記す。)7と、ビデオエンコーダ5、オーディオエンコーダ6及びMux7を制御する録画制御部8とを有している。
また、映像音声記録装置20は、符号化ストリームを記録する記録手段としてのハードディスクドライブ(HDD)11と、Mux7で多重された符号化ストリームをHDD11に安定して書き込むためのストリーム制御手段としてのストリーム制御部9と、符号化ストリームを一時的に記憶するストリームバッファ17と、生成された各符号化ストリームをファイルとしてHDD11に保存するためのファイルシステム部10と、生成された符号化ストリームの番組名や生成日時に加え、特殊再生を実現するためのアドレス情報や後述するCM区間情報を生成及び管理するナビゲーション部12とを有している。
さらに、映像音声記録装置20は、映像の場面転換シーンを検出する映像変化点検出手段としてのシーンチェンジ検出部13と、音声の無音区間を検出する無音検出手段としての無音検出部14と、シーンチェンジと無音区間が同時に発生する変移点を検出する変移点検出手段としての変移点検出部15と、変移点を検出するためにシーンチェンジと無音区間の情報を保持する、変移点検出部15内に備えられた一時記憶手段としての変移点マッチングバッファ19と、複数の変移点からCMに固有の周期性等からCM区間を検出するCM放送区間判定手段としてのCMフィルタ16と、CMフィルタ16で解析する変移点を記憶する変移点スタックテーブル18とを有している。
図12には、記録手段としてHDD105が示されているが、記録手段は、DVDのような光ディスクや磁気テープなどの他の情報記録媒体であってもよい。また、映像音声記録装置20は、放送番組を受信及び録画する受信機又はDVD/HDDハイブリッドレコーダであってもよい。さらに、映像音声記録装置20は、家庭用のビデオレコーダに限らず、パーソナルコンピュータ、映像サーバ、又は、監視システム用の監視レコーダなどの各種用途に適用できる。
ファイルシステム部10は、HDD11に書き込む情報をファイル化することによって書き込み情報に対するアクセスが簡単に行えるようにするためのデータ管理を行う。ファイルシステム部10によって、ストリーム制御部9及びナビゲーション部12は、ストリームや情報をHDD11に書き込み又はHDD11から読み出しを行うときに、HDD11上の直接のアドレスを気にすることなく、ファイルを指定することによって、先頭から順に、又は、指定した位置から順に読み出し及び書き込みを行うことができる。
ビデオエンコーダ5による符号化方式であるMPEG−2は、可変レートに対応しており、そのため、1秒間に発生する符号量(ビットレート)は時間によって大きく変動する。そのため、ストリーム制御部9は、HDD11へのデータ書き込み及びHDD11からのデータ読み出しによって符号化ストリームがオーバーフロー又はアンダーフローしないように、符号化ストリームをストリームバッファ17に一時的に保持させ、HDD11の状態に応じて符号化ストリームのHDD11への書き出し及びHDD11からの読み込みを行っている。ストリームバッファ17は、リングバッファで構成されており、書き込み位置ポインタと読み出し位置ポインタによって有効なデータ領域が管理されている。すなわち、データの書き込み時には、書き込み位置ポインタを先頭にデータサイズ分書き込みを行い、書き込んだデータサイズ分だけ書き込み位置ポインタを進める。一方、データの読み出し時には、読み出し位置ポインタを先頭にデータサイズ分読み出しを行い、読み出したデータサイズ分だけ読み出し位置ポインタを進める。ただし、リングバッファの終了位置に来たときは、ポインタを先頭の位置に戻す処理を行う。
次に、放送番組を記録する動作について説明する。ユーザーが手動で録画開始ボタンを押した、又は、予め録画タイマーで設定しておいた録画開始時間になると、チューナ2はアンテナ1で受信した放送波から指定チャンネルを選局する。チューナ2から出力された映像及び音声のアナログ信号は、それぞれビデオA/D変換部3及びオーディオA/D変換部4に送られ、デジタル映像信号及びデジタル音声信号に変換される。録画制御部8は録画開始時にビデオエンコーダ5及びオーディオエンコーダ6に対してエンコード開始を、Mux7に対して多重処理開始を指示する。すると、ビデオA/D変換部3又はオーディオA/D変換部4から出力されたデジタル映像信号及びデジタル音声信号が順次ビデオエンコーダ5及びオーディオエンコーダ6で圧縮符号化処理が行われ、さらに、Mux7で1つのプログラムストリームに多重化が行われ、ストリーム制御部9でストリームの制御を行いながらHDD11に記録されていく。
ビデオエンコーダ5は、エンコード単位であるGOP(Group of Pictures)の符号化が完了する毎に録画制御部8にGOP符号化完了通知を送る。ストリーム制御部9は、ビデオエンコーダ5及びオーディオエンコーダ6によって符号化されMux7で多重された符号化ストリームをストリームバッファ17の書き込み位置ポインタを先頭に順次書き込む。一方、ストリーム制御部9は、HDD11が書き込み状態になっていることを確認しながら、ストリームバッファ17の読み出し位置ポインタから符号化ストリームを読み出し、HDD11に書き込みを行う。録画が実行されている間、前記動作を繰り返し行う。録画終了時には、録画制御部8は、ビデオエンコーダ5及びオーディオエンコーダ6に対して符号化終了を指示し、符号化を停止させる。符号化停止後、ストリーム制御部9は、ストリームバッファ17に残っている符号化ストリームを全てHDD11に書き込む。
次に、シーンチェンジ検出と無音検出について説明する。録画制御部8は、GOPの符号化完了をビデオエンコーダ5から受け取る毎に、シーンチェンジ検出部13に対してシーンチェンジ検出コマンドを送る。シーンチェンジ検出部13は、エンコードが完了したGOPデータをストリーム制御部9から読み出し、映像のシーンチェンジの検出を行う。検出方法の一例としては、以下の方法がある。まず、読み出したGOP単位のデータからIピクチャの復号化を行い、ヒストグラムを作成する。そのヒストグラムと一つ前のIピクチャのヒストグラムと比較を行い、ヒストグラムの各要素値の絶対値の差の合計をシーンチェンジ差異値と定義し、そのシーンチェンジ差異値が予め設定された閾値より大きければシーンチェンジであると判定する。以下の説明においては、説明を簡単にするために、GOPを構成するピクチャ数は15枚固定であり、そのGOPの時間は0.5秒であるものとする。よって、シーンチェンジの発生した時刻は、GOPの個数で簡単に表すことが可能となる。
オーディオA/D変換部4は、アナログ音声信号をデジタル音声信号であるリニアPCM信号に変換する。無音検出部14は、入力されたリニアPCM信号の振幅が予め設定されている閾値以下の状態が予め設定された時間以上続けば無音区間であると判定する。ここでは、入力されたリニアPCM信号の振幅が予め設定されている閾値以下の状態が、300ミリ秒以上続けば、無音区間が発生したと判定する。無音区間の条件として、ある時間以上、リニアPCM信号の振幅が低い状態が続くことを必要としている理由は、瞬間的な無音を、無音区間と判定しないようにするため、及び、無音の発生毎に後述するCM放送区間検出動作の頻度が多くなると、システムの処理負荷が大きくなってCM放送区間検出以外の動作に支障を来たすおそれがあるからである。無音区間であると判定した場合、録画開始からのサンプル数の累積番号により無音開始時刻を算出する。また、無音区間が継続されている状態でリニアPCM信号の振幅が、予め設定されている閾値より大きくなった場合、無音区間が終了したと判定し、同様にサンプル数の累積番号から無音終了時刻を算出する。
図13は、図12に示される映像音声記録装置20の変移点検出部15の動作を示すフローチャートである。変移点検出部15は、シーンチェンジ検出部13から送られるシーンチェンジ情報又は無音検出部14から送られる無音情報に基づいて動作を切り替える。例えば、変移点検出部15の動作が開始されて、シーンチェンジ検出部13においてシーンチェンジの検出動作を行い(ステップS101)、シーンチェンジ情報としてシーンチェンジ検出フラグ、GOP番号、及びシーンチェンジ差異値が変移点検出部15に送られたとすると、ステップS101において検出されたシーンチェンジ情報は、変移点検出部15内の変移点マッチングバッファ19に保存される(ステップS102)。
一方、無音検出部14によって無音区間が検出されると(ステップS103)、無音区間情報として無音検出フラグ、無音発生時刻、及び無音終了時刻を変移点検出部15に送る。ステップS103において判定された無音区間に関する無音情報は、変移点検出部15内の変移点マッチングバッファ19に保存される(ステップS104)。無音区間が検出された場合は、さらに変移点マッチングバッファ19上で変移点検出、つまりシーンチェンジと無音が同時に発生した時間位置の検出を行う(ステップS105)。無音区間検出毎に変移点検出を行うのは、シーンチェンジ検出区間と無音区間の積情報を取るには、シーンチェンジ検出より発生頻度の低い無音区間検出の度に行うことが処理効率の面から適しているためである。変移点マッチングバッファ19には、最新のシーンチェンジ及び無音区間の情報が一時的に保持されており、双方が一致した場合は、一致した情報が次の処理であるステップS106に送られるとともに、そのシーンチェンジ情報及び無音区間情報と、それ以前のシーンチェンジ情報及び無音区間情報が破棄される。また、予め設定された一定時間が経過したときにも、シーンチェンジ情報及び無音区間情報が破棄される。このような制御によって、有限のバッファサイズであっても、リアルタイムにシーンチェンジと無音区間の一致を検出することができる。したがって、変移点マッチングバッファ19上で、無音区間の開始時刻から終了時刻までの間に発生したシーンチェンジを、シーンチェンジのGOP番号をもとに変移点を検出することができる。そして、シーンチェンジのGOP番号を変移点の時刻を表す値として利用する。このようにして選出された変移点及び一致したシーンチェンジの差異値及び無音の時間長を次のCMフィルタ16に送り(ステップS106)、CMフィルタ16内の変移点格納用の変移点スタックテーブル18に保存し、CMフィルタ16の動作を実行する(ステップS107)。
次に、図12に示されるCMフィルタ16によってCM放送区間を検出する方法について説明する。図12に示されるように、CMフィルタ16内には、変移点に関する情報を記憶する変移点スタックテーブル18が設けられている。図14は、変移点スタックテーブル18の一例を示す図である。変移点スタックテーブル18は、録画と並行して実行されるCM放送区間検出動作時に更新されるので、リングバッファの構成をとる。よって、リードポインタからライトポインタの手前までがCM放送区間検出のための処理範囲である。変移点スタックテーブル18内には、変移点の時間位置を示す変移点GOP番号と、後続する変移点がCMとみなされた場合の最終変移点の時間位置を示す連結終了GOP番号と、後続する変移点の個数を示す変移点カウンタと、変移点における無音時間長と、変移点におけるシーンチェンジ差異値と、この変移点の有効・無効を示す有効無効フラグとが設けられている。
変移点GOP番号は、シーンチェンジが検出されたGOP番号である。実施の形態6においては、シーンチェンジの検出精度を1GOPとしているため、録画開始からのGOPの累積番号で時間を表すことができる。
連結終了GOP番号とは、ある変移点を基点としたCM放送区間における最終変移点のGOP番号である。図14においては、変移点GOP番号‘10’の場合、GOP番号‘10’、‘40’、‘101’においてCMが継続して検出されるので、GOP番号‘101’が連結終了GOP番号になる。変移点検出部15では、変移点33gが検出されると、GOP番号‘101’にGOP番号‘130’が連結され、変移点33bから変移点33gまでがCM放送区間と判定される。また、変移点GOP番号に後続する変移点がない場合は、連結終了GOP番号は、変移点GOP番号と同じ値になる。
変移点カウンタは、CM放送区間においてCMが変移点で連結された場合における変移点の数を示す。
無音時間長は、変移点における無音区間の長さをミリ秒単位で示す。
シーンチェンジ差異値は、変移点におけるシーンチェンジの変化量を0から1までの値で示す。シーンチェンジ差異値が大きいほど、映像の変化量が大きいことを意味する。
有効無効フラグは、変移点スタックテーブル内において処理対象範囲であることを示すフラグであり、変移点が登録されたときには有効‘1’が設定され、CMフィルタ16の処理において、例えば、‘40’のように、先行する変移点に連結された変移点について無効‘0’に変更される。また、ある変移点が処理対象範囲から外れた場合、例えば、‘10’、‘40’、‘101’、‘131’をCM区間として検出した場合に、‘10’以前の‘6’や、‘10’から‘131’の間の全ての変移点‘62’、‘83’を無効‘0’にすることによって、処理の高速化及び変移点スタックテーブルに必要なメモリサイズの低減を図ることができる。
CMフィルタ16においては、変移点スタックテーブル18の要素である変移点をそれぞれ比較し、変移点の間隔が所定の基準間隔、例えば、15秒、30秒、60秒、又は90秒相当であるものを抜き出していく。そのとき、検出誤差、CMのフレームレベルでの長さのばらつき等によりCMの長さが15秒からずれる可能性があるので、そのための許容誤差を、例えば、1GOP分設ける。よって、先の変移点の間隔として有効な間隔は、GOPの個数で表現でき、30GOP±1GOP、60GOP±1GOP、120GOP±1GOP、及び180GOP±1GOPのように、±1GOPの許容誤差を設けたGOPの数で表現することができる。CMフィルタ16においては、上記変移点の間隔が上記のように予め設定しているGOPの間隔と一致する変移点の間隔をCM候補間隔とする。さらに、CM候補間隔が連続して2個以上ある場合には、その区間をCM放送区間とする。
図15(A)乃至(E)は、実施の形態6の映像音声記録装置20におけるCM放送区間検出動作を説明するための図である。図15(A)乃至(E)を用いてCM区放送間を特定する方法について説明する。無音検出部14によって無音区間31a,…,31mが検出された場合を説明する。一方、図15(B)に示されるように、シーンチェンジ32a,…,32oが存在するものとする。無音区間については、無音発生時刻と無音終了時刻が得られ、シーンチェンジについては、シーンチェンジの発生したGOP番号が得られる。実施の形態6においては、GOPのフレーム数を固定にしているので、GOP番号によって一意に時刻を表すことができる。無音とシーンチェンジの時刻を比較し、同一時刻に無音とシーンチェンジが発生した場合に、この点を変移点とする。ここでは、図15(C)に示されるように、変移点33a,…,33iが検出されている。さらに、各変移点33a,…,33iの間で、上記CM間隔に一致するものをCMと判定する。ここでは、変移点33bから変移点33cまでの間隔が30GOPであり、変移点33cから変移点33fまでの間隔が61GOPであり、変移点33fから変移点33gまでの間隔が29GOPであるので、それぞれの区間がCMとして検出され、さらに、CMが3個連続して続くので、変移点33b,…,33gがCM放送区間であると判定する。さらに、変移点33gから201GOP経過したところで変移点33iが検出されるが、変移点33gから変移点33iまでの間隔は、予め設定されたCM放送区間の最大値である180GOPを超えているので、CMが終了したと判断することができ、CM放送区間検出を完了したことを示している。
次に、図16を用いてCMフィルタ16によるCM検出処理手順について説明する。変移点検出部15においてシーンチェンジと無音区間が同時に発生する変移点が検出されると、その情報がCMフィルタ16に送られることによって、CMフィルタ16の動作が開始する(ステップS401)。検出された変移点の情報は、CMフィルタ16内の変移点スタックテーブル18の最後尾に保存される(ステップS402)。CMフィルタ16内の変移点スタックテーブル18に保存される情報は、有効無効フラグ、変移点GOP番号、連結終了GOP番号、連続するCMとして検出された変移点の個数である変移点カウンタ値、検出された変移点の無音時間長、及びシーンチェンジの変化量を示すシーンチェンジ差異値である。次に、変移点スタックテーブル18の読み出し基点を設定する(ステップS403)。図15(C)において、例えば、前回、変移点33aの処理まで完了していたとすると、今回は次の変移点33bを最初の基点とする。次に、変移点の終点側を設定する(ステップS407)。図15(C)においては、変移点33cを終点とする。もしも、変移点スタックテーブル18に終点となる変移点がなければ(ステップS408)、次の基点を取得する(ステップS404)。図15(C)においては、基点が変移点33aで終点が変移点33iの場合に、基点を変移点33bにする処理である。ここで、次の基点が見つからなければ(ステップS404)、CM検出処理を終了する(ステップS406)。基点と終点が決定した場合、基点から終点までの時間長を求める(ステップS409)。図15(C)においては、基点が変移点33b、終点が変移点33cの場合には、基点‘10’と終点‘40’との差(すなわち、変移点間隔)である30GOPが、時間長である。この時間長が、CM基準時間である30GOP±1GOP、60GOP±1GOP、120GOP±1GOP、及び180GOP±1GOPのいずれかに一致していれば(ステップS410)、基点の連結終了GOP番号を終点の連結終了GOP番号で置き換える(ステップS411)。さらに、終点の有効無効フラグを無効化し(ステップS412)、基点の変移点カウントを一つ増分する(ステップS413)。また、ステップS410においてCM基準時間長ではないと判定された場合は、次に、基点と終点間の時間長が最大CM基準時間長である180GOP±1GOPを超えているか否かを判断し(ステップS414)、超えていると判定された場合には、基点から連結終了GOP番号までをCM放送区間と判定し、CM放送区間の情報を録画制御部8に送る(ステップS415)。さらに、次回のCM放送区間検出処理の基点を今回のCM放送区間の最終変移点の次の変移点に設定すると共に、検出した最終変移点より前の変移点の有効無効フラグを無効化する(ステップS416)。
上記ステップを録画動作中継続して実行することによって、記録する放送番組のCM放送区間をリアルタイムに検出することができる。CMフィルタ16で検出したCM放送区間の時刻情報は、録画制御部8に一旦渡され、録画した番組の管理情報を扱うナビゲーション部12に伝えられ、ファイルシステム10によってファイル化され、CM放送区間情報記録手段として機能するHDD11上に記録される。
上記のように映像音声記録装置20を構成することによって、放送番組を録画しながらCM放送区間を検出することができる。
また、シーンチェンジ検出機能を有しないエンコーダを用いた場合、通常、録画実行後にあらためて録画された番組を解析する必要があるが、本発明の構成においては、録画動作と並行してCM放送区間の検出が行うことができるので、エンコーダの選択の範囲が広くなり、結果コストや調達性を重視したエンコーダの選択が可能になる。
さらに、ストリーム制御部9からシーンチェンジ検出部13及び無音検出部14にストリームを送ることによって、HDD11に録画されている番組に対して、CM放送区間検出を行うことも可能である。ただし、その場合、無音検出はシーンチェンジと同様にストリームから解析する方法を使用しなければならない。
また、シーンチェンジ検出結果と無音検出結果を一時的な記憶領域である変移点マッチングバッファ19に記録し、変移点マッチングバッファ19の記憶領域上で比較することによって、リアルタイムに変移点を検出することができ、よって、録画と並行してCM放送区間の検出が可能になる。また、同時に発生しているシーンチェンジと無音区間が、ある程度の時間差をもって変移点検出部15に通知されたとしても、変移点マッチングバッファ19で情報が保持されているので、片方の情報をとりこぼすことなくCM放送区間の検出を実行できる。
また、シーンチェンジ検出時には一時的な記憶領域である変移点マッチングバッファ19への登録のみを実行し、一方で無音が検出されたときは変移点マッチングバッファ19への登録だけでなく、変移点マッチングバッファ19上で無音と同時に発生するシーンチェンジを検出し、さらに、CM放送区間の検出処理を行う構成にすることによって、検出回数の少ない無音検出に同期して処理を行うことができるので、CPUの処理時間が少なく、かつシステム負荷の少ない状態でCM放送区間の検出を行うことができる。
また、CM放送区間検出の単位をフレーム単位でなく、例えば、GOP単位とすることによって処理頻度及び処理負荷の低減を計れるだけでなく、CM毎にCMの長さが数フレーム違う場合であっても、各CMの長さの違いに影響されずに、CM放送区間の検出を行うことができる。
また、以上の説明においては、シーンチェンジ検出単位を1GOPとしているが、シーンチェンジ検出単位を複数のGOP単位としてもよい。また、シーンチェンジ検出単位を任意の数のフレーム毎にしてもよい。
また、以上の説明においては、シーンチェンジ及び無音検出処理を行う方法としてソフトウェアによる例を示したが、ハードウェアによって実行してもよい。また、音声はオーディオA/D変換部4出力を直接解析しているが、符号化ストリームから解析して無音を検出してもよい。
実施の形態7.
実施の形態7においては、CM間の境界付近に複数の変移点が存在する場合に、CM間の境界と判定する変移点を選択する方法について説明する。通常、CMの前後部分には、宣伝を行う企業名や製品名などのテロップが一時的に表示されることが多い。このため、CM間の境界付近においては、無音及びシーンチェンジが同時に起こり、変移点が複数回連続して発生する場合が多い。一方、CM放送区間の検出においては、CMの時間長さの誤差や検出遅れ及び検出ばらつきを補うため、基準とするCM長さに対して、ある程度の幅を持たせて検出を行っている。例えば、実施の形態6においては、15秒のCMを検出するために、30±1GOPの範囲内で検出を実行している。しかしながら、±1GOPの検出幅において複数回の変移点が存在することがあり、候補となる変移点から1つの変移点を選択する指針が必要であった。そこで、実施の形態7においては、候補となる変移点から1つの変移点を選択する指針となる3つの選択基準を示す。
図17(A)乃至(C)は、候補となる変移点と選択された変移点を示している。第1の方法は、図17(A)に示すように、変移点間隔が30GOP、60GOP、及び90GOPのように、基準時間から±0GOPとなるように、次の変移点を選択していく方法である。
第2の方法は、図17(B)のGOP番号‘30’からGOP番号‘59’までに示すように、あるCM境界検出において選択された変移点の間隔が29GOP(=30GOP−1GOP)となった場合に、図17(B)のGOP番号‘60’からGOP番号‘90’までに示すように、次のCM境界検出における選択された変移点の間隔を、31GOP(=30GOP+1GOP)を中心に選択する方法である。これは、選択された変移点が一時的に基準値からずれた場合(図17(B)におけるGOP番号‘59’に相当する。)、次の変移点は、ずれを打ち消すGOPを優先して選択するものである(図17(B)におけるGOP番号‘90’に相当する)。すなわち、予め設定された基準時間(例えば、30GOP)を中心とする所定の時間範囲内(±1GOPの範囲内)に、検出されたシーンチェンジと検出された無音区間が同時に発生する変移点が複数検出された場合には、CMフィルタ16は、直前に判定されたCMの時間長と、次に前判定されるCMの時間長との合計が、前記予め設定された基準時間(例えば、30GOP)の整数倍に近づける度合いの大きい変移点をCM放送区間を規定するための変移点と判定する。
第3の方法は、累積した時間が、できるだけ±0GOPになるように選択する方法である。これは、図17(C)に示されるように、選択された変移点をGOP番号‘0’、‘29’、‘58’とした後に、GOP間隔が30±0GOPとなるGOP番号‘88’を選択せずに、GOP間隔が30+1GOPとなるGOP番号‘89’を選択し、さらに次の検出に際して、GOP間隔が30GOP−1GOPや30GOP±0GOPを選択せずに、GOP番号‘120‘を選択することによって、変移点のずれが全体として±0GOPになるようにするものである。すなわち、予め設定された基準時間(例えば、30GOP)を中心とする所定の時間範囲内(±1GOPの範囲内)に、検出されたシーンチェンジと検出された無音区間が同時に発生する変移点が複数検出された場合には、CMフィルタ16は、判定されるCM放送区間を、予め設定された基準時間(例えば、30GOP)の整数倍に近づける度合いの大きい変移点をCM放送区間と規定するための変移点と判定する。
上記第2の方法又は第3の方法を採用することによって、検出誤差等によって、一旦変移点が本来のCM間の境界位置からずれた場合であっても、補正処理が可能となり、結果としてCM放送区間検出精度を向上させることができる。
また、変移点のずれが全体として±0GOPとなる変移点を優先的に選択することによって、検出したCM放送区間が基準時間に近くなるようになり、CM放送区間の検出精度が向上する。
また、累積時間数又はGOP数の累積値の基準時間からのずれが、±0GOPになるように、検出した変移点に対して重み付けを行うことによって、1つのCMを検出するための誤差である±1GOPがCM放送区間を継続して実行するなかで、CMの数が増えるほど累積する、すなわち、本来のCM境界からずれる、さらには本来のCM境界からずれることによって検出すべきCMが検出できなくなるという問題を低減することができる。
なお、実施の形態7において、上記以外の点は、上記実施の形態6の場合と同じである。
実施の形態8.
実施の形態8においては、変移点における無音時間長を用いてCM放送区間の検出精度を向上させる方法を説明する。
一般に、テレビ放送番組においては、1つのCMの前後には約0.5秒程度の無音部分が存在し、CMとCMのつなぎ目である境界付近においては、双方のCMの無音部分の和で約1秒(≒0.5秒×2)の無音部分が存在する。一方、番組本編からCMに移行するとき、及び、CMから番組本編に移行するときは、番組本編側の無音部分が短い場合が多く、双方の無音部分の和で約0.6秒程度の無音部分が入るのみである。
図18は、実際に放送されている任意の20番組、591本のCMを含む放送区間において、あるCMとその次のCMの間の無音部分の時間長さを測定した結果を示すグラフである。図18に示されるように、CM間の無音部分のほとんどが0.8秒から1.4秒までの間に存在している。
図19は、図18の場合と同じ任意の20番組の放送区間において、CM放送区間が終了して番組本編に移行するときの無音部分の時間長さを測定した結果を示すグラフである。図19に示されるように、CM放送区間から番組本編に移行するときは、無音部分の時間長さのほとんどが、約0.4秒から約1.2秒までの間に存在していることがわかる。すなわち、実施の形態6で示した変移点における無音時間長が0.4秒から0.8秒までの間、又は、1.4秒以上であれば、ほとんどの場合においてCMが終了し番組本編に移行したと判断することができる。
図20は、CM間の無音時間長を用いてCM放送区間を検出する方法を示すフローチャートである。図20において、図16のステップと同じステップには、同じ符号を付している。実施の形態8における基本的なCM放送区間の検出方法は、実施の形態6の場合と同じであるが、実施の形態8においては、ステップS420で変移点の無音時間長について検証を行い、CMが2つ以上検出されている状態において、先述のとおり、無音時間長が0.8秒から1.4秒まで(すなわち、第1の規定範囲)に入らなければCMが終了したと判定する工程が追加されている。また、CM放送区間が検出された場合においても、CM放送区間の各変移点の無音時間長において少なくとも1つ以上、0.8秒から1.4秒までの範囲内の時間長を持つ無音部分が存在しているかを検証し(ステップS420)、0.8秒から1.4秒までの範囲内の時間長を持つ無音部分が含まれていなければ、CM放送区間として採用しない工程が追加されている。
上記のように構成することによって、CM放送区間の終了及び本編開始位置を検出することができ、CM放送区間の検出精度を向上させることができる。
とくに、CMから番組本編に移行した後に、CM間隔と同じ間隔でシーンチェンジと無音が発生した場合、番組本編の冒頭部分をCMであると誤検出する場合があるが、無音時間長によりCM終了位置を精度良く検出でき、番組本編冒頭をCMと誤検出する事態の発生頻度を低減でき、結果として、CM放送区間の検出精度を向上させることができる。
さらに、番組本編中においてシーンチェンジと無音区間が同時に複数発生し、その間隔がCM放送区間におけるシーンチェンジと無音区間の発生の間隔と同じであった場合に、番組本編をCM放送区間であると誤検出する場合があるが、無音時間長がCM間の無音時間長と一致していることを条件とするために、番組本編をCMと誤検出する事態の発生頻度を低減させることができる。
なお、実施の形態8において、上記以外の点は、上記実施の形態6及び7の場合と同じである。
実施の形態9.
実施の形態9においては、シーンチェンジの変化量を示すシーンチェンジ差異値を利用して検出精度を向上させることができるCM放送区間の検出方法について説明する。
図21は、実施の形態9の映像音声記録装置における、シーンチェンジ差異値を利用したCM放送区間の検出方法を示すフローチャートである。また、図22は、実施の形態9の映像音声記録装置における、シーンチェンジ差異値を利用したCM放送区間検出方法を説明するための図である。図22には、検出されたCM放送区間と、CM放送区間における各CMの境界に位置する変移点51a,…,51fが示されている。一般に、CMと番組本編の間、又は、CMとCMの間の映像的な因果関係は乏しく、よって、シーンチェンジの変化量は極めて大きいものとなる。実施の形態9においては、CMと番組本編の間、及び、CMとCMの間におけるシーンチェンジ差異値が、番組本編内におけるシーンチェンジ差異値よりもが大きいことを利用して、番組本編を誤ってCMとみなす誤検出を低減する方法について示す。
図21のフローチャートに示される動作は、実施の形態6における図16のフローチャートに示される動作を基本とし、さらに、シーンチェンジ差異値を利用した幾つかの判断と処理が追加されている。図21において、図16のステップと同じ又は対応するステップには、同じ符号を付している。
まず、CMフィルタ16は、基点となる変移点から終点となる変移点までの時間長がCM基準時間長(例えば、15秒、30秒、60秒、90秒など)と同じと判定された(ステップS410)後に、その基点と終点が先頭CMであり、かつ、時間長が60秒又は90秒であるかを判定する(ステップS430)。その条件に一致した場合、基点のシーンチェンジ差異値と終点のシーンチェンジ差異値を比較し(ステップS431)、基点のシーンチェンジ差異値が大きければ基点位置からCMが開始されたと判定し、ステップS411に復帰する。図22においては、変移点51aと変移点51bのシーンチェンジ差異値を比較し、シーンチェンジ差異値が大きい方を番組本編とCMの境界と判定することを示す。
一方、ステップS431において、基点のシーンチェンジ差異値より終点のシーンチェンジ差異値のほうが大きいと判断した場合は、CMフィルタ16は、終点位置からCMが開始される、すなわち、この基点と終点の間は番組本編が継続されていると判定する。
同様に、CMフィルタ16は、CM終了時にも最終CMであり、かつ、時間長が60秒又は90秒であるかを判定し(ステップS432)、条件に一致した場合、基点のシーンチェンジ差異値と終点のシーンチェンジ差異値を比較し(ステップS433)、基点のシーンチェンジ差異値より終点のシーンチェンジ差異値が大きければ終点位置から番組本編が開始されたと判定し、処理をステップS435に移す。図22においては、変移点51eのシーンチェンジ差異値と変移点51fのシーンチェンジ差異値を比較し、シーンチェンジ差異値が大きい方をCMと番組本編の境界と判定することを示す。
一方、終点のシーンチェンジ差異値より基点のシーンチェンジ差異値のほうが大きいと判断した場合は、CMフィルタ16は、基点位置から番組本編が開始された、すなわち、この基点と終点の間はすでに番組本編に入っていると判定する。このように、CM開始時又は本編開始時において60秒又は90秒などの長く、かつ、放送される頻度の少ないCMの場合、その区間の前後のどちらがより映像の変化量が大きいかによって番組本編とCMの境界を判断する。番組本編の冒頭や最後は、ひとまとまりのエピソードや1コーナーなど編集された単位になっている場合があり、その場合に、CMと誤検出する可能性があるが、実施の形態9のCM放送区間検出方法においては、より映像変化の大きいCM境界を見つけることによって、正確にCMと番組本編の境界を検出することができる。
また、ステップS435においては、全変移点のシーンチェンジ差異値をチェックし、シーンチェンジの判定に用いた閾値より大きな、第2の閾値と比較し、CM放送区間の少なくとも一つの変移点のシーンチェンジ差異値が第2の閾値を越えていれば、CM放送区間として扱うステップS415に移り、反対に、超えていなければこのCM放送区間を無効化する(ステップS436)。図14で説明すると、シーンチェンジ差異値の閾値が0.9であったとすると、変移点33b,33c,33f,33gのうち変移点33b及び33gのシーンチェンジ差異値が閾値0.9を超えているため、変移点33bから変移点33gまでの期間をCM放送区間と判定する。
上記のように番組本編とCMとの境界のCMにおいてシーンチェンジ差異値を番組本編とCMの境界選択に利用することによって、番組本編とCMとの境界を判定することができ、番組本編の冒頭又は最後をCMとして誤検出する事態の発生頻度を低減させることができる。
また、検出したCM放送区間内においてシーンチェンジ差異値の少なくとも一つが、ある閾値を超えない場合、CMでないと判定することによって、CMに比べて映像の変化量の少ない番組本編をCMであると誤検出する事態の発生頻度を低減させることができる。
なお、実施の形態9において、上記以外の点は、上記実施の形態6乃至8の場合と同じである。
実施の形態10.
実施の形態10においては、記録されたストリームの先頭に数秒のCMがあり、そのCMに続いて本編が記録されているような場合に、その数秒の断片化されたCMを検出する方法について示す。通常、映像音声記録装置20は、記録を開始すると判断してから、実際の記録が開始されるまでに一定の時間が必要とされており、そのために予め設定されていた記録開始時刻から数秒遡って記録を開始するように構成されているものが多い。また、映像音声記録装置の内部に持っている時計は、常に正確な時刻を指し示している保障はない。そのため、例えば、放送番組がPM9:00に開始予定であり、かつ、PM9:00ちょうどの本編が開始されたとしても、記録されたストリームの先頭に記録されてしまうことがあった。実施の形態10では、記録されたストリームの先頭に記録された断片化されたCMを抽出する方法を示す。
図23を用いて実施の形態10を説明する。シーンチェンジと無音が同時に発生した点である変移点が、記録されているストリームから検出されたとする。その変移点が、図23の強制CM化区間61内の最終に発生した変移点60cをCMと本編の境界と判断し、記録開始位置62から60cの間をCMとみなす。強制CM化区間は、映像音声記録装置の仕様によって決定され、例えば、記録予定時刻より5秒前から記録が開始されるのであれば、強制CM化区間は5秒とすればよい。また、映像音声記録装置の内部時計の誤差分、例えば、2秒を勘案し、7秒に設定してもよい。ここで、強制CM化区間の最終変移点60cをCMと本編の境界として採用しているのは、強制CM化区間の時間幅が実際の記録開始時刻と記録予定時刻の差にほぼ等しいように設定していることと、CM内の変移点発生頻度は本編中の変移点発生頻度に比べて、かなり高いことによる。
以上より、予め設定された記録予定時刻ちょうどから記録を開始しないために、本編前の不要なCMから記録を開始するような映像音声記録装置であっても、本編より前の不要なCMを検出することができる。
また、映像音声記録装置の内部時計が正確な時刻を刻んでいなくても、本編より前の不要なCMを検出することができる。
また、実施の形態10では、強制CM化区間における最終変移点をCMと本編の境界として採用する方法を取ったが、強制CM化区間の代わりに、強制CM化時刻として記録開始時刻から、例えば、5秒経過した時刻を用い、その強制CM化時刻に最も近い変移点をCMと本編の境界として採用するよう構成してもよい。図23では、60dとCMを本編の境界として採用する方法である。
また、実施の形態6乃至10の各構成を選択的に組み合わせて、CM放送区間の検出を行うこともできる。