【 ソフト名 】ロゴ検出型自動CMカットプログラム logoGuillo
【 著作権者 】Wirewriggle
【　種　別　】フリーウェア
【サ　イ　ト】Loggia Logic ( http://loggialogic.blogspot.com/ )
【連　絡　先】wirewriggle+loggialogic @gmail.com
【　転　載　】不可
【バージョン】2.07
【 開発環境 】・Windows 7 SP1 x64
　　　　　　　・Visual Studio 2008
　　　　　　　・Java SE Development Kit 6/7
　　　　　　　・Eclipse IDE for Java Developers（Indigo）
　　　　　　　・Intel Core i7-860 (Nehalem - Lynnfield, MMX/SSE/SSE2/SSE3/SSSE3/SSE4.1/SSE4.2)
　　　　　　　
―――――――――――――――――――――――――――――――――――――
≪著作権および免責事項等≫

本ソフトウェアは個人的な研究として開発したフリーウェアです。そのため商用利用はご遠慮下さい。
非商用目的であれば個人・団体を問わず無料で使用可能です。
配布及び転載は不可としますが、配布等を伴わないサイトや雑誌での紹介は一切制限しません。
その際は旧版や改竄されたバイナリの流通を防ぐ為、
公式サイト"Loggia Logic"( http://loggialogic.blogspot.com/ )を入手先として下さい。
なお、著作権は作者である"Wirewriggle"が保有しています。

このソフトウェアは自動的にCMをカットすることを目的としていますが、その動作の確実性は保証されません。
このソフトウェアを使用したことによって生じた全ての障害・損害・不具合等に関しては、
私と私の関係者および私の所属するいかなる団体・組織とも、一切の責任を負いません。
各自の責任においてご使用ください。
―――――――――――――――――――――――――――――――――――――

●はじめに
 
　このプログラム(logoGuillo)は動画から放送局のロゴを検出することでCMを判別し、
　結果をフレームリストやAvisynth用Trimコマンド等の形式で出力します。
　極力、本編を取りこぼすことがないように動作しますが、失敗してしまった場合はご容赦下さい。

　◎ロゴデータについて
　　解析に使用するロゴデータは、MakKi's SoftWareさん(http://vm104.xen.klab.org/mksoft/index.html)の
　　AviUtl用プラグイン「ロゴ解析プラグイン version 0.07」で作成した*.lgdファイルが使用できます。
　　ロゴのエッジから3,4ピクセル程度の範囲を含むようにロゴデータを作成して下さい。
　　ただし、完全な互換性はなく以下の制限事項があります。
　　　・ロゴサイズは 240x192 pixelまで
　　　・*.lgdファイル内のロゴデータは１つまで

　◎動画の読み込みについて
　　logoGuilloはパイプ経由でavs2yuvを起動することで、Avisynthを利用した動画の読み込みを行います。
　　そのため64bit版logoGuilloと32bit版Avisynthの組み合わせ、又はその逆でも動作します。
　　
　　また、入力の制限事項は以下の通りです。
　　　解像度　　　　　：1920x1080 pixelまで
　　　長　さ　　　　　：647999 frame(約6時間@30fps)まで
　　　圧縮形式　　　　：m2v.vfp又はDGDecode.dll、ffms2.dllで読み込み可能な形式
　　　フレームレート　：24-60fps(CFR)
　　　インターレース形式

●動作環境

　・OS
　　Windows 7 64bit以外では動作未検証です。

　・CPU
　　x86-MMX,SSE,SSE2命令に対応したCPU
　　 (Nehalem以降のSSE4.2に対応したIntel製CPUを推奨。それ以外ではSIMD演算は使用されません。)

　・基本動作に必要なソフトウェア
　　・Avisynth（2.58以降の32bit版を推奨）
　　・Avisynth用の入力プラグイン（下記のうちの何れか）
　　　・MPEG-2 VIDEO VFAPI Plug-In(m2v.vfp)＋warpsharpプラグイン(warpsharp.dll)　（推奨）
　　　・DGIndex（DGDecode.dll）
　　　・FFmpegSource v2.x (ffms2.dll)
　　
　　　＊m2v.vfpを使用するとMPEG2-TSや*.m2v等の読み込みが可能です。
　　　　デコーダとしての信頼性も高く、開発時の標準環境となっています。
　　　
　　　＊DGDecode.dllを使用すると*.d2vの読み込みが可能です。比較的高速ですが、作者は使用していません。
　　　
　　　＊FFmpegSourceは対応形式が多くMPEG-2 VIDEO VFAPI Plug-Inに比べ3倍程度高速ですが、m2vやTSを読み込んだ場合は
　　　　フレームアキュレートではありません。その為、フレーム番号が数フレームずれる場合があります。
　　　　また、シーンチェンジ検出と組み合わせると不正な結果となる可能性があります。
　　　
　　・avs2yuv又はMOD(avs2yuv.exe/avs2pipe.exe/avs2pipemod.exe)

　　　＊avs2pipemod.exeを推奨

　・GUIフロントエンドに必要なソフトウェア
　　・Java Runtime Environment（開発環境より新しいバージョンを推奨）

●同梱物一覧

　readme_v207.txt
　　このドキュメントです。
　　
　logoGuillo.exe
　　GUIフロントエンドが参照するプログラム本体です。64bit版です。

　bin_v207_x64（ディレクトリ）
　bin_v207_x86（ディレクトリ）
　　64bit/32bit版のプログラム本体です。アンチウイルスの誤検出を防ぐ為ファイル名は変更しないで下さい。
　　32bit版をGUIフロントエンドから使用する場合は、上記のlogoGuillo.exeと差し替えて下さい。
　　x86  ：32bit版
　　x64  ：64bit版（推奨）
　　
　lggf_v107.jar
　　GUIフロントエンド本体です。JREがインストールされた環境ならそのまま実行可能です。
　　
　Profile（ディレクトリ）
　　GUIフロントエンドのプロファイルの保存先です。
　
　Sample_for_autoTune_Framelist.txt
　　検出パラメータ調整モードで使用する参考フレームリストのサンプルです。

　negPosWordListSample.txt
　　NGワード/PSワードのキーワードリストのサンプルです。

　Sample_Param（ディレクトリ）
　　ロゴ検出パラメータのサンプルが入っています。
　　お手持ちのロゴデータと組み合わせても、恐らく動作すると思います。
　　・BS11（BS11）
　　・CL（チバテレビ）
　　・CX（フジテレビ）
　　・EX（テレビ朝日）
　　・MX（TOKYO MX）
　　・RX（TBS）
　　・TX（テレビ東京）
　
　bin_options（ディレクトリ）
　　logoGuilloの補助ソフト、AviUtl用のプラグイン（logoGuilloAUP.auf）とJAVAアプリ（atf02）が入っています。
　　AviUtlを使った自動CMカットの結果確認と手動CMカット等に使用できます。
　
●インストール方法
 
　お好きな場所にバイナリを展開して下さい。
 
●アンインストール方法
 
　インストールした場所から削除するだけです。レジストリは使用していません。
　＊実行途中で終了した場合はOSのTempフォルダ内に"logoGuillo〜"で始まるファイル名の一時ファイルが残る場合があります。

●使い方

　◎詳しくは…
　　詳細な導入方法・使い方・動作確認結果やTips、最新情報はblog(http://loggialogic.blogspot.com/)にて順次公開していく
　　予定です。

　◎準備作業（ロゴ毎に一度行う必要があります）
　　1-1．ロゴが表示される動画ファイルを用意する
　　1-2．ロゴデータ（*.lgdファイル）を作成する（AviUtl用 ロゴ解析プラグイン version 0.07を使用）
　　1-3．動画ファイルのうち「ロゴが表示されている」範囲を記述したフレームリスト（参考フレームリスト）を作成する。
　　　　（フェードイン/アウトするロゴの場合でもロゴが少しでも見えたフレームを指定する。）
　　　　＊フレーム番号2〜30,400〜677でロゴが表示される動画の場合、
　　　　　以下のような各行にフレーム番号を順に記述した*.txtを作成する。
　　　　　2
　　　　　30
　　　　　400
　　　　　677

　　2-1.GUIフロントエンドで自動調整を実行し、検出パラメータファイルを作成
　　　GUIフロントエンドを起動し、以下のように設定する。
　　　　[モード]：
　　　　　"検出パラメータ調整モード"を選択する
　　　　[Avisynthの設定]：
　　　　　avs2yuvと入力プラグインのパスを指定する
　　　　[動画ファイル]：
　　　　　1-1で用意した動画ファイルのパスを指定
　　　　[ロゴデータファイル]：
　　　　　1-2で作成したロゴデータのパスを指定
　　　　[自動調整用の参考フレームリスト]：
　　　　　1-3で作成した参考フレームリストのパスを指定
　　　　
　　　右下の[実行]ボタンを押して自動調整を開始します。30分番組で4分〜18分程度掛かります。
　　　自動調整が完了すると、指定したロゴデータに対応する検出パラメータファイル（"*.lgd.autoTune.param"）が
　　　ロゴデータと同じディレクトリに出力されます。
　　　＊得られた*.paramは同じロゴを使用する限り変更する必要はありません。

　◎自動CMカットの実行（GUIフロントエンドを使用した場合）
　　　GUIフロントエンドを起動し、以下のように設定する。
　　　　[モード]：
　　　　　"CMカットモード"を選択する
　　　　[Avisynthの設定]：
　　　　　avs2yuvと入力プラグインのパスを指定する
　　　　[動画ファイル]：
　　　　　CMをカットしたい動画ファイルのパスを指定
　　　　[ロゴデータファイル]：
　　　　　動画ファイルに対応するロゴデータのパスを指定
　　　　[検出パラメータファイル]：
　　　　　ロゴデータに対応する検出パラメータファイルのパスを指定
　　　　[フレームリストの出力形式]：
　　　　　用途に合わせてCMカットの結果の出力形式を指定します。
　　　　　
　　　　　.keyframe形式     ：本編と判断された区間の開始フレームと終了フレームを順番に記述した形式です。
　　　　　　　　　　　　　　　TMPGEnc/AviUtl/atf02で使用できます。
　　　　　　　　　　　　　　　
　　　　　Trimコマンド形式  ：本編と判断された区間をAvisynthのTrimコマンドの形で記述した形式です。
　　　　　　　　　　　　　　　Avisynthスクリプトで使用できます。
　　　　　　　　　　　　　　　
　　　　　.chapters.txt形式 ：本編と判断された区間の開始時間と終了時間を順番に記述した形式です。
　　　　　　　　　　　　　　　CMカットせずそのままエンコードしたファイルに埋め込む用途を想定しています。
　　　　　　　　　　　　　　　
　　　　　.chapters.txt形式（本編開始位置のみ） ：
　　　　　　　　　　　　　　　本編と判断された区間の開始時間を順番に記述した形式です。
　　　　　　　　　　　　　　　CMカットせずそのままエンコードしたファイルに埋め込む用途を想定しています。
　　　　　　　　　　　　　　　
　　　　　Avisynth Script形式：入力動画と音声を本編のみ切出し、YUY2形式で出力するAVSファイルを出力します。
　　　　　　　　　　　　　　　AviUtl ver 0.99k以降ならCMカット済の動画ソースとしてそのまま開く事が出来ます。
　　　　　　　　　　　　　　　音声は動画と同一ディレクトリ内の"拡張子抜き入力動画ファイル名.wav"から読み込む為、
　　　　　　　　　　　　　　　BonTsDemuxでwav出力するか、BonTsDemuxでaac出力した物をFakeAacWavで疑似wav等にしたものを
　　　　　　　　　　　　　　　置いておく必要があります。
　　　　　　　　　　　　　　　
　　　　[フレームリストの保存先]：
　　　　　CMカットの結果の保存先のパスを指定
　　　　　
　　　右下の[実行]ボタンを押して自動CMカットを開始します。30分番組で30秒〜5分程度掛かります。
　　　指定した場所に結果が保存されます。
　　　　　
　◎コマンドラインでの使用法/BATの記述方法
　　GUIフロントエンドで各項目を設定し、[BATを書き出し]ボタンを押すと実行可能なBATが出力されるので参考にして下さい。
　　一部のオプションはGUIフロントエンドでは設定出来ないので、[追加オプション]欄に直接記述する必要があります。
　　　　　
　　○必須オプション（全モード共通）

　　　-video "path"
　　　　入力する動画のフルパス

　　　-lgd "path"
　　　　動画に対応するロゴデータのフルパス
　　　　
　　　-avs2x "path"
　　　　avs2yuv（avs2yuv.exe/avs2pipe.exe/avs2pipemod.exe）のフルパス
　　　　＊種類の判別はファイル名で行います。
　　　　
　　　-avsPlg "path"
　　　　Avisynthで使用する入力プラグイン（m2v.vfp/ffms2.dll）のフルパス
　　　　＊種類の判別はファイル名で行います。
　　　　
　　○追加オプション（全モード共通）
　　
　　　-wsharp "path"
　　　　Avisynthで使用するプラグイン（warpsharp.dll）のフルパス
　　　　＊Avisynthのプラグインのオートローディングが正常に動作しない環境で、明示的にwarpsharp.dllのパスを指定します。
　　　　　LoadAviUtlInputPluginが見つからないとのエラーが出る場合に使用して下さい。
　　　　　入力にm2v.vfpを使用する場合にのみ関係します。
　　　　
　　　-fldOdr ****
　　　　入力する動画のフィールドオーダーを指定（何れか一種を指定）
　　　　＊通常は指定する必要はありません。
　　　
　　　　-fldOdr top 
　　　　　トップフィールドファースト
　　　　　
　　　　-fldOdr bottom 
　　　　　ボトムフィールドファースト
　　　　　
　　　　-fldOdr unknown 
　　　　　フィールドオーダーが不明又は混在（デフォルト）
　　　　
　　　-fps f
　　　　fpsの指定（f = 小数[frame/sec]）
　　　　＊入力する動画のfpsを任意の値で指定します。通常は自動的にfpsが認識される為、指定する必要はありません。
　　　　　29.97fpsを指定すると(30000/1001)fpsになります。同様に23.98fps、59.94fpsを指定した場合も修正されます。
　　　
　　　-disSSE3
　　　　SSE3以降の拡張命令を使用しない
　　　　＊SSE3以降の拡張命令を使用しません。処理速度が低下するため、不具合が発生した場合のみ指定して下さい。
　　　　
　　○必須オプション（CMカットモードのみ）

　　　-prm "path"
　　　　ロゴデータに対応する検出パラメータファイルのフルパス
　　　　
　　　-out "path"
　　　　CMカットの結果の保存先のフルパス
　　　　
　　　-outFmt ****
　　　　CMカットの結果の保存形式（何れか一種を指定）

　　　　-outFmt keyF
　　　　　.keyframe形式（デフォルト）
　　　　　
　　　　-outFmt trim
　　　　　Trimコマンド形式
　　　　　
　　　　-outFmt chap
　　　　　.chapters.txt形式
　　　　　
　　　　-outFmt chapIn
　　　　　.chapters.txt形式（番組開始位置のみ）
　　　　　
　　　　-outFmt avs
　　　　　Avisynth Script 形式
　　　　
　　○追加オプション（CMカットモードのみ）

　　　-cmMode
　　　　最終出力を単純に論理反転（NOT演算）することでCMだけを出力します。
　　　　logoGuilloが本編に対して安全側に動作する設計となっている都合上、CMが欠ける可能性が高いです。

　　　-cutMrgIn n
　　　　CM終了後、ロゴが表示されるまでのフレーム数(n >= 0)を指定(frame)
　　　　＊シーンチェンジ検出を使用する場合は理想値より1,2フレーム程度少ない値を指定してください。

　　　-cutMrgOut n
　　　　ロゴが消えてからCM開始までのフレーム数(n >= 0)を指定(frame)
　　　　＊シーンチェンジ検出を使用する場合は理想値より1,2フレーム程度少ない値を指定してください。
　　　　
　　　-disScnChgDtc
　　　　シーンチェンジ検出を無効化する
　　　　＊シーンチェンジ検出によるカット位置の自動調整等の処理を行いません。また処理時間が短くなります。
　　　　
　　　-disEndCardDtc
　　　　ロゴが白飛びしたエンドカードの検出を無効にする
　　　　＊このオプションは高輝度でロゴが見えなくなる局にのみ作用します。
　　　　
　　　-strict
　　　　より詳細な探索を行う
　　　　＊ロゴの表示期間が数秒程度の本編の検出精度が向上する場合がありますが、処理時間が増加します。
　　　　　通常は有効にする必要はありません。
　　　　　このオプションは高輝度でロゴが見えなくなる局では自動的に適用されます。
　　　　
　　　-frameOffset n 
　　　　出力オフセットの指定(frame)
　　　　＊指定したフレーム数(-999 <= n <= +999)だけフレーム番号にオフセットを加えて出力します。
　　　　
　　　-disASCD
　　　　シーンチェンジ検出によるカット位置補正に第二候補のフレームを使用しない
　　　　
　　　-agrPstFlt
　　　　積極的なポストフィルタリングを行う
　　　　＊積極的に本編/CMの尺やシーン分析結果を利用してCMカット位置の修正や高輝度CMの除去を行います。
　　　　　多くのケースで精度は向上しますが、万が一誤動作した場合には高輝度の本編が欠ける恐れがあります。
　　　　
　　　-disSrtAst
　　　　字幕データによる補完を行わない
　　　　＊字幕データ（*.srt）を読み込んで、ロゴ検出結果を補完する機能を無効にします。
　　　　　字幕データによる補完機能は常に安全側に動作する為、不具合が発生しない限りは無効にする必要はありません。

　　　　-srtMrg f
　　　　　字幕表示期間の前後の無視する期間を指定します。(デフォルト値：0.4 sec)

　　　　-srtGap f
　　　　　字幕表示期間の隙間を埋める上限を指定。srtMrg*2を加算した値を指定してください。(デフォルト値：15.0 sec)

　　　-dtcThd f
　　　　DTCが使用される閾値を指定(デフォルト値：0.70)
　　　　番組の有効フレーム数の割合が規定値以下の場合、規定値を超えるまでロゴ検出閾値を下げる自動増感機能（DTC)。
　　　　デフォルトで有効の為、無効にする場合は負の値を指定します。この機能は常に安全側に動作します。

　　　　-dtcThdAbs n
　　　　　DTCが使用される閾値を秒で指定(内部で割合に自動で変換されます)

　　　　-dtcStep f
　　　　　DTCの閾値変更ステップを指定(デフォルト値：0.0125)

　　　-delFstBlk f
　　　　先頭ブロックの削除（f = 小数[sec]）
　　　　＊先頭ブロックの長さが指定秒数以下の場合削除します。前番組の一部が混入する事を防ぎます。
　　　　　この機能はデフォルトで有効な為、無効にする場合は負の値を指定します。
　　　
　　　-delLstBlk f
　　　　末尾ブロックの削除（f = 小数[sec]）
　　　　＊末尾ブロックの長さが指定秒数以下の場合削除します。後番組の一部が混入する事を防ぎます。
　　　　　大きい値を指定するとエンドカードが削除される場合があります。
　　　　　この機能はデフォルトで有効な為、無効にする場合は負の値を指定します。
　　　　　
　　　-ngwDsp "path"
　　　　指定されたリスト内のNGワードが含まれる字幕が表示される期間を削除する

　　　　-ngwGap f
　　　　　NGワード間の短いギャップを埋めて処理する閾値を設定（-ngwGap f）(デフォルト値：30.0 sec)

　　　　-ngwMrg f
　　　　　NGワードの表示期間を前後に延長処理する長さを設定(デフォルト値：1.0 sec)

　　　-pswBlk "path"
　　　　指定されたリスト内のPSワードが含まれる本編のブロックを抜き出します。
　　　　複数のブロックで一致した場合は、複数抜き出されます。一致する本編がない場合はそのまま加工しません。
　　　　
　　　-extOR "path"
　　　-extAND "path"
　　　-extNOR "path"
　　　-extNAND "path"
　　　-extXOR "path"
　　　　logoGuilloの最終出力と、指定されたパスの外部フレームリストとの論理演算を行います。
　　　　・論理演算の種類は5種類（OR/AND/NOR/NAND/XOR）
　　　　・フレームリストの形式はlogoGuilloの*.keyframe形式での出力と同等
　　　　・フレーム番号が負の値の場合は総ビデオフレーム数に置き換えられる
　　　　・複数指定した場合は引数の記述順に処理される(最大8個)

　　○必須オプション（検出パラメータ調整モードのみ）

　　　-autoTune "path"
　　　　ロゴ検出パラメータの自動調整に使用する参考フレームリストのフルパス
　　　　＊このオプションを使用することで検出パラメータ調整モードになります。

　　○追加オプション（検出パラメータ調整モードのみ）

　　　-dtcFuncB 又は -JOEX 
　　　　別のロゴ検出方法を使用
　　　　＊ロゴ検出に別のアルゴリズムを使用します。JOEX(テレビ朝日)や不透明ロゴ等が検出可能です。
　　　　　通常の設定でロゴが検出出来ない場合に使用して下さい。
　　　　　
　◎終了コード
	 0：正常終了
	-9：ロゴ未検出
	-1：何らかのエラー
	
	＊ロゴ未検出はPhase1の完了時に判定されます。ただし、字幕が利用できた場合にはそのまま通常の処理が行われます。

●更新履歴

2011/10/30　v1.00 　初公開

2011/11/06　v1.00b　補助アプリ（logoGuilloAUP.auf , atf02）を同梱しました。
　
2011/12/27　v2.00 　大幅に変更 (v1.00とは互換性無し)
　
　　　　　・GUIフロントエンドを搭載
　　　　　
　　　　　・シーンチェンジを検出してカット位置を補正する機能を追加
　　　　　
　　　　　・自動調整エンジンを改良、調整精度を向上
　　　　　　・自動調整時にカットマージンも自動で調整するようにした
　　　　　　・従来通り-cutMrgIn.-cutMrgOutオプションによる手動指定も可能
　　　　　　
　　　　　・高輝度でロゴが見ない局でのCMカット精度を向上（BS11/JOCX等）
　　　　　　・自動調整時にロゴが高輝度でも表示されるか自動判別する
　　　　　　・シーンを分析した結果を利用するようにした
　　　　　　・ロゴが白飛びしたエンドカードの検出処理追加
　　　　　　
　　　　　・avs2yuvとのパイプを自動作成して動画を読み取るように変更
　　　　　　・AVSの手動作成が不要になった
　　　　　　・avs2yuvはavs2yuv.exe/avs2pipe.exe/avs2pipemod.exeに対応
　　　　　　・入力プラグインは  m2v.vfp/ffms2.dllに対応
　　　　　　・解像度を自動判別するので-inW,-inH,-cropW,-cropH オプション廃止
　　　　　　
　　　　　・ロゴの検出処理を一部変更、検出精度を向上
　　　　　　・上記変更に伴いロゴ検出パラメータの後方互換性は無し
　　　　　　
　　　　　・ロゴ検出パラメータを設定ファイル(*.param)として扱うように変更
　　　　　　・上記変更に伴い-prm1A,-prm1B,-prm2B オプションの廃止
　　　　　　
　　　　　・CMカット動作を高速化
　　　　　
　　　　　・.chapter.txt形式での出力に対応
　　　　　　・カットせずにエンコードしてチャプターを加える用途を想定
　　　　　
　　　　　・出力フレーム番号を指定値だけずらす機能を追加
　　　　　・29.97fps以外に25fpsに対応（未検証）
　　　　　・読み込みの進捗状態を%表示するようにした
　　　　　・一部の処理をSSE化
　　　　　・読み込み時のタイムアウト処理を追加
　　　　　・引数のチェックを若干強化
　　　　　・一部のオプションを最後の引数で指定すると無視される場合があるバグを修正
　　　　　・その他、細かいバグを修正

2012/01/14　v2.03 　機能追加とバグ修正 (v2.00と後方互換）

	・別のロゴ検出方法を使用できるようにした ( -dtcFuncB 又は -JOEX )
	＊JOEX(テレビ朝日)や不透明のロゴを検出する為に追加。他に検出出来ないロゴがあれば試して下さい。

	・シーンチェンジ検出による補正の第二候補フレームも場合により使用するようにした(-disASCDで無効化)
	・その他シーンチェンジ検出エンジンの動作を改良。

	・本編の最小粒度を0.8 -> 1.6secに変更
	＊TsSplitterで分離した際に糊代が1.6sec以下なら前後の番組が入らないように対策。

	・CMカットモードでの高輝度モードの挙動を安全側に若干修正。
	＊高輝度モードでは閾値の調整がシビアだったので修正。

	・出力形式で*.chapters.txt形式以外を選択した場合に、カット後の動画に対する*.chapters.txtを出力するようにした
	＊出力ファイル名は"入力動画.chapters.txt"で固定。
	＊自動CMカット結果そのままでエンコードしたmp4にmp4chaps.exe等でチャプターとして追加できます。

	・Avisynthスクリプト形式での出力をサポート（ -outFmt avs )
	＊入力動画の本編のみ抜きだしを行うAVSファイルを出力します。
	＊音声は"入力動画.wav"から読み込むので、FAWのWAV偽装aacかBonTsDemuxでWAV出力しておく必要があります。

	・本編の各パートの開始位置のみを記した*.chapters.txt形式での出力をサポート( -outFmt chapIn )
	＊CMカットせずチャプターのみを埋め込む場合にはCM開始位置は不要な為。

	・自動CMカット結果の概要を出力するようにした
	＊出力ファイル名は"入力動画_autoCutSummary.log"で固定。
	＊結果の簡易確認用に各パート/CMの長さや数、総時間などを出力します。

	・*.chapters.txt形式での出力時に0秒位置にチャプターを追加するようにした
	＊mp4chaps.exeでそのまま追加するとズレが発生する為修正。

	・SSE4.2に未対応のCPUではSSE2までに制限するように変更。
	・使用する拡張命令を強制的にSSE2までに制限する機能を追加。(-disSSE3)
	＊logoGuilloが動作停止する場合は試してみて下さい。

	・GUIフロントエンドも合わせて更新
	・GUIフロントエンドの挙動を修正（フレームリスト保存先の拡張子まわり）

	・その他細かい修正
	

2012/02/23　v2.05 　機能追加とバグ修正 (v2.00-v2.03と後方互換）

	・シーン分析エンジンの改良

	・積極的なポストフィルタ機能を実装(デフォルトでは無効、-agrPstFltで有効化)
	　＊積極的に本編/CMの尺やシーン分析結果を利用してCMカット位置の修正や高輝度CMの除去を行います。
	　　多くのケースで精度が向上しますが、万が一誤動作した場合には高輝度の本編が欠ける恐れがあります。

	・字幕の表示範囲を有効範囲として扱うようにした(デフォルト有効、 -disSrtAst で無効化)
	　＊テロップや高輝度シーンなどで長時間ロゴが検出困難な状況が続いても、字幕データを利用して補完動作を行います。
	　　この機能は常に安全側に動作します。字幕データは*.srtが存在する場合に自動で読み込みます。
	
	・前後端のブロックの長さが指定秒数以下の場合に削除する機能を追加（-delFstBlk f、-delLstBlk f）
	　＊先頭または末尾のブロックの長さが指定秒数以下の場合削除します。
	　　前後の番組の一部が混入する事を防ぎますが、長くしすぎるとエンドカードが欠ける可能性があります。
	　　デフォルトで有効（前：4.0sec、後：2.0sec）です。無効にする場合は負の値を指定します。
	
	・DGIndex(DGDecode.dll)のサポートにより*.d2v形式での入力に対応

	・warpsharp.dllのパスを明示指定出来るようにした（-wsharp "path"）
	　＊Avisynthのプラグインのオートローディングが正常に動作しない一部の環境への対策用。
	　　m2v.vfp使用時にLoadAviUtlInputPlugin関係でエラーが出る場合に指定して下さい。
	
	・fpsを上書き指定できるようにした(-fps 29.97 で30000/1001 fpsに設定される)
	　＊正常に動画からfpsが取得できない場合の対策用。
	
	・動画読み出し開始までのタイムアウト時間を延ばした(60sec -> 180sec)
	　＊GOPリストやインデックスが生成されていない場合でのタイムアウト対策。
	
	・高輝度のエンドカードが動画の終端に有る場合に検出出来ずに取りこぼす事があるバグを修正

	・CMカットモードでの高輝度モードの挙動を安全側に極僅かに修正。(v2.03から再度修正)
	　＊高輝度モードでは閾値の調整がシビアだったので修正。

	・チャプター出力の形式を0:00:00.000から00:00:00.000に変更

	・自動調整時にLm-Lvマップを出力するようにした
	　＊調整結果の確認及び手動でのパラメータ調整用。

	・終了コードを変更
	　＊ 0：正常終了、-9：ロゴ未検出、-1：何らかのエラー
	　　ロゴ未検出はPhase1の完了時に判定されます。ただし、字幕が利用できた場合にはそのまま通常の処理が行われます。
	
	・GUIフロントエンドも合わせて更新
	　・フィールドオーダーの指定機能を廃止
	　・GUIで指定出来ないオプションも追加オプションとして直接記述して指定出来るようにした
	
	・その他細かい修正

2012/04/22　v2.06β　ポスト処理系の機能追加 (v2.00-v2.05と後方互換）

	・字幕データに対する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.)
		
2012/04/29　v2.06β2　テロップ検出漏れ対策 (v2.00-v2.06βと後方互換）

	・Dynamic Threshold Control 機能を追加

		＊番組中の本編の割合が規定値以下の場合、自動的にロゴ検出閾値を下げて増感します。
		＊この機能はデフォルトで有効なので、無効にする場合は負の割合を指定します。
		＊この機能は常に安全側に動作します。また、使用した場合は概要に結果が出力されます。

		（-dtcThd double）DTCが使用される本編の割合の下限値を指定(デフォルト値：0.70)
		（-dtcThdAbs int）DTCが使用される閾値を秒で指定(内部で割合に自動で変換される)

		＊アニメ等の尺がしっかり決まった番組ではデフォルトの0.70ではなく、0.75以上を指定するか、
		若干短めの秒数を指定すると良いと思います。

		（-dtcStep double）DTCによる閾値の変更ステップを指定(デフォルト値：0.0125)

		＊通常は変更する必要はありません。

	・字幕データの処理を若干修正

		・字幕表示期間の前後の無視する期間を指定出来るようにした(-srtMrg double)[デフォルト:0.4 sec]
		＊字幕と映像のタイミング誤差を吸収する為のマージンです。デフォルトでは若干大きめの値が設定されています。

		・字幕表示期間の隙間を埋める上限を指定出来るようにした(-srtGap double)[デフォルト:15.0 sec]
		＊字幕同士の間隔が指定値以下の場合連続と見なします。(設定したい値) ＋ (srtMrg x 2) の値を指定して下さい。

	・CMカット結果の概要の形式を少し変更
	
	
2012/05/06　v2.07　小改良 (v2.00-v2.06β2と後方互換）

	・CMカットモードでフレーム毎のロゴ検出値等を出力するようにした（"ファイル名_frmLvOut.csv"）
		＊以下の項目が出力されます
		・　フレーム番号
		・　ロゴ検出レベル
		・　字幕データによる有効フレーム
		・　logoGuilloの最終出力

	・ログ出力を無効化する機能を追加(-noLog)
		＊以下のログファイルが出力されなくなります。
		_autoCutSummary.log		//CMカット結果概要（CMカットモード）
		_frmLvOut.csv			//フレーム毎のロゴ検出値出力（CMカットモード）
		_rawLmLvMap.csv			//ロゴ検出値-輝度特性マップ（検出パラメータ調整モード）

	・チャプター出力を無効化する機能を追加(-noChap)
		＊チャプター形式以外の出力方法を選択した際、CMカット後用のチャプターファイルを出力しません。

	・後番組混入防止機能のデフォルト値を変更（-delLstBlk, 2.0 -> 3.3）

	・GUIフロントエンドも合わせて更新
		・指定ファイルのフルパスをクリップボードにコピーする機能を追加
