2012/09/16

エンコード関連記事一覧

著作権法改正案の施行に伴う当サイトの対応について

エンコード関連の記事が増えた為、インデックスページを作成しました。
2012/09/16までに投稿した各記事へのリンクを纏めてあります。

*下記ソフトウェアに関する記事は以下のリンクから辿って下さい。
ロゴ検出型自動CMカットプログラム logoGuillo
setTsTitle(TSファイル名の成形)

エンコード関連記事一覧

2012/09/15

現在運用中のx264オプション

現在運用中のエンコード環境でのx264オプションに関する記事です。

前提条件と仕様

・AVSは以前の記事に掲載した物と組み合わせて使用しています。
*別記事:現在運用中のAvisynth Scriptのマスタ

・アニメ用(実写は縮みにくく時間が掛かるのでエンコードしません)
*別記事:MPEG2を再エンコードせずにCMスキップ用チャプター&字幕付の(m2v+aac).mp4を作成する

・24fps(24000/1001 fps) CFR

・x264のバージョンはr2085 64bitを使用(しばらく更新していないので古いです)

・ハードウェア環境
CPU:Intel Core i7-860
MEM:DDR3-1333 12GB
GPU:AMD Radeon HD5850 x2

x264オプション(ソース別の設定)
*解像度・ピクセルアスペクト、fps、最大ビットレートの制限設定
*別記事:x264でビットレートを制限するメリット

【1440x1080 24fps 16:9 (地上波)】
--vbv-maxrate 17254 --vbv-bufsize 17254
--input-res 1440x1080 --sar 4:3 --fps 23.976025

【1920x1080 24fps 16:9 (BS)】
--vbv-maxrate 24576 --vbv-bufsize 24576
--input-res 1920x1080 --sar 1:1 --fps 23.976025

【1920x1080 24fps 16:9 (BS11)】
--vbv-maxrate 18432 --vbv-bufsize 18432
--input-res 1920x1080 --sar 1:1 --fps 23.976025

x264オプション(共通の設定)
*画質の設定、キーフレーム挿入頻度、マルチスレッド関係等

2012/09/11

人工知能超解像プログラム NeuronDoubler v3.05公開

v3.10を公開したのでそちらをご利用下さい。

人工知能超解像プログラム NeuronDoublerのv3.05を公開しました。
バージョンはマイナーチェンジですが、画質とパフォーマンスがかなり向上しました。

NeuronDoubler v3.05

主な変更点(v3.03->3.05)

・学習エンジンの改良等により超解像処理の画質を向上
・各種最適化により最大で40%の処理速度向上
・メモリ管理を改善し使用メモリ量を最大数百MB削減

・ニューラルネットワークのデータサイズを若干削減
・32bit環境での動作性向上
・空きメモリの動作環境を1GB->512MBに変更
・平坦部の拡大アルゴリズムをバイキュービック法からLanczos3に変更
・縮小処理アルゴリズムを平均画素法からLanczos3に変更
・PSNRだけ稼ぐ機能を追加
・その他内部的な細かい最適化と改良

画質の向上について

2012/09/09

並列処理を行うBATでエンコードやCMカットを高速化する

はじめに

エンコード等の処理を高速化する手段としてはマルチスレッド化が一般的だと思います。

しかしAvisynthでのフィルタ処理をMT等でマルチスレッド化してもそれほど効果がない場合も多く、またx264はスレッド数を増やすと(僅かですが)ファイルサイズが増加したり画質が低下したりします。
デュアルコアの時代は簡単にCPUを使い切る事ができましたが、最近のCPUでは8スレッドや12スレッドを実行できるのでスレッドを埋めるだけでも大変です。

そこで、古典的ですがメモリやHDD等のリソースの限り何本も同時に処理する事で高速化を図ります。一本あたりのスレッド数を極端に増やす必要がないので効率が良いです。またlogoGuillo等のシングルスレッドアプリも高速化します。
では以下にBATの機能とサンプルを記載します。

主な機能と処理内容

・指定本数(2本以上)毎にペアを作成し並列エンコードする
・m2vファイルを探し、bat,aac,CMカットファイル(txt)があるか確認
・既にmp4ファイルやlogが生成されている場合は処理しない
・フォルダ名に"noenc"が含まれるディレクトリは処理しない

以下のように処理する動画毎にBATファイルが生成されている状態を想定しています。
*私の環境ではマスタBATとAVSを動画毎に自動コピーして処理しています。

・動画A.m2v
・動画A.bat
・動画B.m2v
・動画B.bat

このBATをn本ずつ纏めてパイプで繋いで実行することで並列処理します。

(call 動画A.bat) | (call 動画B.bat)

片方が早く終わるとパイプが存在しないとの警告が出ますが、今のところ100本以上処理した中では正常に動作しています。
また、組み合わせる動画の長さに差があると効率が落ちますが、ファイル名順に処理する場合は大抵同じ番組でペアが生成されるので問題ないと思います。

サンプルBATコード