2012/04/22

ロゴ検出型自動CMカットプログラム logoGuillo v2.06β を公開しました

v2.07を公開したのでそちらを使用して下さい。旧版は削除しました。

そろそろlogoGuilloを初公開してから半年です。ほぼ実証実験に近いv1.00の頃から利用されている方は少ないとは思いますが、今までお付き合い頂き有り難う御座います。

さて、今回logoGuilloのv2.06βを公開しました。v2.05からはポスト処理系の機能追加がメインの小改良ですが、あまりデバッグが出来ていないので人柱向けのβ版となっています。またβ版につき、配布内容はバイナリのみですのでv2.05の配布パッケージと合わせてご利用下さい。

主な変更点は以下の通りです。

・字幕データに対するネガティブ/ポジティブワード処理の実装
・外部フレームリストとの論理演算機能を追加

logoGuilloは自動的に不要なシーン(CM)を判定する事で、視聴時間と容量を節約する事を目指してきました。なるべく本編が欠けないよう安全側に設計してあるので、全自動で任せても不完全ながらそれなりの結果を得られるようにはなったと思います。
今回は更に一歩、字幕情報を元に内容にまで踏み込んで不愉快なシーンを取り除く実験です。某社のレコーダーのダイジェスト再生とは逆の発想です。

ネガティブワード機能は、不愉快なキーワード等を登録して、特定の話題周辺のシーンを削除する機能です。
嫌なら見るな、という言葉に習い番組内の興味のない話題を自動で排除してみましょう。


画像の利用想定例では不愉快なグループや人物名を登録して周辺シーンを削除する使い方ですが、取材に行く出演者とスタジオ雛壇の出演者が決まっている番組の場合、スタジオ側の出演者名をNG登録しておけば実質的な本編を残す事も可能かも知れません。ギャップの設定によってはNGワード付近がブツ切れになりそうですが、容量は節約できると思います。

逆にポジティブワード機能は、特定のキーワードが含まれる本編ブロックのみを抜き出す機能です。
キーワードによる自動予約録画と同じキーワードを使用する事で、番組全体の中からライブラリに必要なパートだけを自動で抜き出す用途を想定しています。


ネガティブ/ポジティブワード機能は共にコンセプトモデルの域を出ていませんが、色々面白い使い方があるかも知れません。是非実験してみてください。

また、別アプリケーションで作成したフレームリストとlogoGuilloの出力結果をブール演算する機能を追加したので、今までよりはlogoGuilloの出力を加工しやすくなったと思います。
現在のlogoGuilloの実装では本編中のシーンチェンジは検出していませんが、シーンチェンジ情報と字幕情報を付き合わせるプログラムを自作して、logoGuilloの出力結果と組み合わせる事でより便利になるかも知れません。


入手先

Googleドキュメントに置いておきます。リンク先の左上のボタンのFile->Downloadを選択してください。
logoGuillo_v2.06_beta.rar

SHA256:24fcd5690c1771b7ff1d368e17bcce6a16dcdda1ccff6f573144c763a40fa702


変更点詳細(v2.05 -> v2.06β)

●字幕データに対するNGワード&PSワード処理機能を追加

*字幕データを元にCMカット結果に対してポスト処理を行います。
*動画の同一ディレクトリ内に字幕(*.srt)が存在する場合のみ利用可能です。
*NGワード処理とPSワード処理は同時使用可能です。(PSワード処理が先に行われます。)
*キーワードのリストは、1行毎に1キーワードを記述したテキストファイルを使用します。
*文字コードは*.srtとキーワードリストで統一した方が良いと思います。
*大文字小文字は区別されませんが、正規表現などは利用できません。

◎ネガティブワード(NGワード)処理(-ngwDsp "path")
*指定パスのリスト内に載っているNGワードが字幕に含まれる場合、その字幕の表示期間のシーンを削除します。
・NGワードの表示期間を前後に延長処理する長さを設定(-ngwMrg f)初期値:1.0(Sec)
・NGワード間の短いギャップを埋めて処理する閾値を設定(-ngwGap f)初期値:30.0(Sec)
*表示期間を延長処理した後でギャップ埋め処理が行われます。


◎ポジティブワード(PSワード)処理(-pswBlk "path")
*指定パスのリスト内に載っているPSワードが字幕に含まれる場合、その字幕が表示される本編ブロックを残します。
・キーワードを含む字幕が複数の本編ブロックに表示される場合は、複数のブロックが残ります。
・動画全域でPSワードが検出されなかった場合は、そのまま何もせず全ての本編ブロックを残します。

●logoGuilloの最終出力に対して、外部フレームリストとの論理演算(OR/AND/NOR/NAND/XOR)を行う機能を追加

*フレームリストの形式はlogoGuilloの.keyframe形式での出力と同じです。
*演算は5種類(-extOR "path" / -extAND "path" / -extNOR "path" / -extNAND "path" / -extXOR "path")
*複数指定した場合は引数の記述順に処理されます。(最大8個まで)
*フレームリスト内のフレーム番号が負の値の場合は、総ビデオフレーム数に置き換えられます。
*別アプリケーションやユーザーの自作スクリプトとの連携用です。
*字幕データを元に生成したフレームリストとOR/AND演算してlogoGuilloの出力を加工する等の用途を想定しています。

●CM出力モードの追加

*最終出力を単純に論理反転することでCMだけを出力します。(-cmMode で有効)
*logoGuilloが本編に対して安全側に動作する設計となっている都合上、CMが欠ける可能性が高いです。
*使用する場合はシーンチェンジ検出を無効にしてカットマージンを0にすると良いかも知れません。

●バイナリにバージョン情報を追加
*一部のアンチウイルスによる誤検出対策用(効果は不明)、バージョン値自体はダミー。(2.0.0.)