ちょっとだけエンコード

アニメエンコを極めよう

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-->

< 続きを読む >

PageTop
サイトマップです。


【Avisynth関数】
自動片フィールド補完フィルタ(DecombUCF)
    片フィールドに発生したノイズを除去します。

シーンチェンジ置換(Clean_SC)
    フレーム置換によってシーンチェンジを綺麗にします。

プルダウン2224txt60mc
    プルダウン2224にある60iテロップを処理する関数です。

縦テロップ用txt60mcHybrid
    縦スクロールテロップ用のtxt60mc関数です。

【Avisynth用ツール】
デッドロック対策avs2pipemod
    マルチスレッドAVSファイルデコード時に発生するデッドロックを回避するための改造版avs2pipemodです。
    一部環境では動かないかも。

【エンコーダ】
x264 exMod CAQ(CustomAQ)
    カスタムAQを搭載したx264です。マクロブロックの輝度・模様の複雑さ・フレームに応じてビットレート配分できます。

【DTV関連】
自動化のためのエンコツール
    高画質なエンコードを目指しつつも、可能な限り自動化するためのツールパックです。
    内容は
     「D2V作成、aac抽出、チャプターファイル、AVSの自動作成Bat」
     「自動ロゴ除去Bat」
     「AutoVFR自動実行Bat」
     「テンプレート作成Bat」
     「x264エンコードBat(CRF,2pass)」

LNB電源関連を改造したPT3Ctrl_r4mod
一端子電流通過型の分配器も使えるPT3Ctrlです。
LNB電圧も変更可能。

EDCBの正規表現
    EDCBでよく使うであろう正規表現を纏めてあります。

【映像関連】
動画から48BitRGBで画像抽出
    YV12映像を48BitRGBで可能な限り綺麗に抜き出す方法です。

画像抽出
    映像からffmpegを用いて簡単に画像を抜き出す方法です。

【音声関連】
qaacの導入
    qaacの導入方法の説明とか。

【Aviutl】
同一プラグインを複数回使う
    同一プラグインを複数回使う為の方法とか。

< 続きを読む >

スポンサーサイト
PageTop
一端子電流通過型(全端子電通型ではない)の分配器でも使えるPT3Ctrlです。一つでも衛星チューナーを利用した場合に全てのPT3のLNB電源をONに出来ます。オリジナルの動作も可能。
また、LNB電圧も変更できるようにしました。

【Download】
http://alturl.com/wfh8o
「PT3Ctrl_r4mod_LNB制御版v0.01.7z」

【使い方】
UseLNB=1は、オリジナルのバイナリと同じ動作(使用チューナーがあるPT3のLNB電源のみを有効化)、
UseLNB=2は、衛星チューナーを使用した際に全てのPT3のLNB電源を一括で有効にします。

VolLNBの値を弄ると、LNB電源の電圧を11Vか15Vに選択設定できます。

PT3Ctrl_r4modベースに改造

< 続きを読む >

PageTop
プルダウン2224用の60iテロップを処理する関数です。(縦・横スクロール対応)
txt60mcのプルダウン2224版です。
が、本質的には2224にある60iテロップは移動距離等均等には出来ません。

【Download】

http://alturl.com/ttkhz

(deint_txt60mc2224_ho_vt.avsi)

【使い方】
プルダウン2224は
ABCDD
のように、5フレーム毎に同一フレームが連続して続きます。縞は一切ありません。
frame_refに、
”上記のCのフレーム番号” - ”適用区間の戦闘フレーム番号”
を指定して下さい。(連続する同一フレームの一つ前)

txt60mcは「連続する縞フレームの一つ前」を指定するので、あわせときました。

< 続きを読む >

PageTop
[エンコード自動化のためのツール詰め合わせ]

アニメの高品質なエンコードを目指しつつ、可能な限り自動化する方法・ツールの紹介です。
目視確認が必要なCMカットを除き、他の全ての処理を自動化します。

改造や組み込みしやすいよう、全てBatファイルで動くようにしてます。
適当に改造して使って下さい。

【前提条件】
・何故か放送波の生tsを持っている。
・高品質なエンコードをしたい。けど、時間がない。

・AvisynthやBatファイルをある程度扱える。
・逆テレシネ等の基本的な知識がある。

【参考】
・逆テレシネの切り替え機にITsのDefファイルを使います。
・tsファイルはDGIndexを用いて読み込みます。
・音声はaacを抽出して利用します。

【Download】

http://alturl.com/hkcob

自動・手動逆テレシネ用で別々なので注意して下さい。

【同梱ツール一覧】
一部機能を使いたい人は参考にして下さい。

・D2V作成、aac抽出、チャプターファイル、AVSの自動作成Bat
・自動ロゴ除去Bat(フェード・片フィールドロゴ対応。ロゴ除去関数を自動で書き込みます。)
・AutoVFR自動実行Bat(ITsのDefファイルの自動作成)
・テンプレート作成Bat(作品や放送局毎にテンプレート管理できます)
・x264エンコードBat(CRF,2pass)

【下準備】
Batを使えるようにします。
必要な準備は4つです。

①TSファイル名の設定(録画設定)
録画ソフトの設定を変更して、
・tsファイル名に半角スペースを少なくとも一つ含ませる
・放送局名を入れる
ようにして下さい。
自動ロゴ除去やテンプレート作成で役立ちます。

②Avisynth用DLL・関数の用意
解凍したpluginsフォルダ内にあるファイルを、Avisynthのオートローディングフォルダに放り込んで下さい。
既にある場合は不要です。
尚、同梱しているファイルはAvisynth2.60用です。

③ロゴデータの準備
自動ロゴ除去Batは、入力AVSのファイル名から該当するロゴデータを検索して利用します。
ロゴデータは
encode\tstools\logo\logodata
フォルダ内に配置して下さい。このフォルダ・下層フォルダ内を自動検索します。(Bat内で変更可能)

toolpack_pre_01.jpg

また、ファイル名を用いてロゴ検索を行います。セミコロン区切りで
検索名1;検索名2;;;;検索名n;fade_in;fade_out;説明.lgd
の様に改名して下さい。

検索名 : いくつでも追記OKです。この値全てを含むAVSファイルに対して適用されます。
       (半角括弧等やピリオド、&は含まないようにして下さい)
fade_in : ロゴのフェードインフレーム数を指定して下さい
fade_out : ロゴのフェードアウトフレーム数を指定して下さい
説明 : 必ず何か記載して下さい

④テンプレートの準備
ロゴデータと同じように検索し、エンコード用AVSを作成します。

encode\tstools\template\samples
内・下層フォルダにあるテンプレートを自動検索します。(Bat内で変更可能)

toolpack_pre_02.jpg

ファイル名はロゴデータ同様セミコロン区切りで、
検索名1;検索名2;;;;検索名n;説明.avs
として下さい。

さらに、拡張子が.defの同名ファイルを作成し、Its用のset関数を記載しておいて下さい。
txt60mc等のテロップ範囲もここで設定します。

よく分からない場合は、サンプルを同梱しているのでコピーして使って下さい。
フィルタに関しても、テンプレート内のコメントにある感じで掛ければ良いかと。

【手順概説】
生TSからmp4ファイルを作成するまでの大まかな手順です。
各ツールの詳細な利用方法は【詳説】を参照して下さい。

利用するBatファイルは以下の5つです。
基本的に順番にファイルをD&Dしていけばmp4が完成します。
toolpack_00.jpg


①「D2V・AAC・分析用AVS・チャプターファイル」を生成します。
取り敢えずAvisynthでTSファイルを読み込めるようにします。
TSが入っているフォルダを
「0_A_TS読み込み_tsフォルダをD&D.bat」
にD&Dして下さい。
(*TSをD&Dしないように注意)
下層フォルダも参照されます。
処理したくないフォルダには0tempという文字を含ませて下さい。

toolpack_02.jpg


D2V・AAC・分析用AVS・チャプターファイルの4つのファイルが作成されます。


②ロゴ解析をします。
①で作成された分析用AVSファイルを
「0_B_LOGO解析.bat」
にD&Dして処理が終了するまで待って下さい。

toolpack_04.jpg


ロゴ除去関数(片フィールドロゴ対応)がBatファイルに追記されます。

toolpack_05.jpg

本当はCMカット時にロゴが残ってる方が良いのですが、逆にするとロゴ検出の精度が下がるのでこの順番にしています。
Batを改造するか、CMカット時に手動でロゴ除去関数をコメントアウトして下さい。

③CMカットします。
②でロゴ除去した分析用AVSファイルを
「0_C_Aviutl_Trim.bat」
にD&Dして、

toolpack_06.jpg


開いたAviutlのチャプター編集に、①で作成されたチャプターファイルをD&Dします。

toolpack_07.jpg

これを参考にCMカットしたのち、
ファイル>エクスポート>Trim
をクリックして、クリップボードにTrim関数を貼り付けます。それをAVSの一番下に追記。

toolpack_08a.jpg

toolpack_09.jpg


④フレーム解析します。
③でCMカット情報を追記した分析用AVSを
「0_D_DEF・AVS作成.bat」
にD&DしてDefファイルとエンコード用AVSを作成します。

toolpack_10.jpg

toolpack_11.jpg


(a)Defファイル
逆テレシネの自動切り替えを行うファイルです。AVS内のITsにこのファイルを指定してあります。txt60mcも自動で記述されてるはず。(テロップ位置はテンプレートで予め指定しておくと便利です)
念のため中身をを確認して下さい。
(手動逆テレシネ版を使っている人は記載内容を参考に修正して下さい)
話数によってテロップの位置が変わるアニメもあるので、AVSの確認もお勧めします。

toolpack_12.jpg

(b)テンプレート
ロゴと同様に
tstools\template\samples
内を自動検索して適合したものを、ロゴ解析したAVSファイルの末尾に追加します。
予めテンプレートを作っておく必要があります。サンプルをコピー&リネームして使って下さい。

⑤CRFエンコード
④で新たに作成されたエンコード用AVSを、
「0_E1_CRFエンコード.bat」
にD&DすればCRFエンコードが開始されます。
TSのあるフォルダにタイムコードファイルも出力されます。エンコード時には利用されないので、必要なら同梱のBatで適用して下さい。

x264のプリセットは
encode\tstools\x264BAT\x264_TeeCRF_v1.04_qaac.bat
をメモ帳で開いて設定変更して下さい。

toolpack_13.jpg

以上でmp4の完成です。

【詳説】
同梱しているツールの機能を説明します。


【その他】
副音声・5.1ch音声、特殊なフレームレートの扱いについて解説します。

< 続きを読む >

PageTop
x264の新しいAQ(ビットレート配分方式)を開発してみた。
暗部や平坦部など、模様の複雑さ/輝度/フレームに応じて、自在にビットレート配分を変更できるカスタムAQです。

CRFエンコーダにとっては、画質・容量設定が詳細に行える、数少ない必須(w)機能。模様毎にAQ(QP offset)値を設定できます。
容量指定エンコードの場合は、AQ1と併せて使うと便利。
あと、aq1の機能拡張を行いました。画質の低下強度・向上強度をそれぞれ個別に設定できます。


【リンク】
取り敢えずベータ版です。未完成の機能盛りだくさんw
最新版置いてあります。
http://alturl.com/yxujp


【解説】
CRFエンコードとは、平均QPを指定することにより映像品質を一定にするエンコード手法のことです。
が、実際のビットレート配分はx264の開発側が指定したプリセットやAQに依存しています。
エンコードする素材によって、それらを微調整する必要があります。

たとえばアニメの場合、模様の組み合わせは

  輪郭輝度 / 背景輝度
①   低       低
②   低       中
③   中       中
④   低       高
⑤   中       高
が大半を占めます。

輝度差が小さく消失しやすい①と③により多くビットレートを、低輝度として模様が破綻しがちな②にも多めにビットレートを割くことで、飛躍的に画質が向上します。

実写の場合はビットレート削減のためにぼかしてしまうような境界も、アニメによっては重要な輪郭線です。
特にFateとか。


【使い方】

(1)概要
CustomAQでは、輝度(Luma)/模様の複雑さ(Energy)に応じて、マクロブロック(16x16ピクセル)のQP offsetを指定できます。
アニメでぼやけやすい輪郭線や、非常に暗いシーンの画質を自在に操れます。

(2)基本的な使い方
外部のプリセットファイルに設定(QP Offset Map等)を書き込み、x264から読み込んで利用します。

①プリセットファイルの読み込み
プリセットはテキストファイルに記載します。
x264のフルパスの末尾に.iniを付加したファイル名で保存(自動読み込み)するか、--caq-mapfileでプリセットファイルを指定して下さい。

②プリセットの書き方
プリセットのサンプルを同梱していますので参照して下さい。
"x264.exe.ini"は初期値0です。そのままでは何の効果もありません。
"x264.exe_sample_for_CRF23.ini"はCRF20-23相当のアニメエンコード(720pで1000-1500Kbps)で使えそうな設定値です。(蟲師やシュタゲあたりはもう少し下げた方が良い)

プリセットファイルに書く内容は4種類。
A.  基本設定(輝度や模様の複雑さの分割数、QP Offset Mapの総数を指定)
B.  輝度境界の指定
C.  Energy(模様の複雑さ)境界の指定
D.  QP Offset Map:基本設定で指定した数以内ならいくつでも指定可能

基本的にはA-Cは弄らないで良いと思います。Offset mapの数を増やしたい場合は、Aの設定を変えて下さい。

③QP offset mapの書き方
サンプルでは
・輝度を26段階
・模様の複雑さを16段階
に分割しています。
ので、マクロブロックは26x16=416種類に分類されます。

{1.0, 2.0, 3.0, , , , }のようにカンマ区切りで要素(416個)を並べていきます。対応した場所にある数値が、対応するマクロブロックのQP offsetとして適用されます。
サンプルにあるOffset Map(数字がいっぱい並んでいる部分)は、「模様の複雑さ」の区間数(16個)ごとに改行してあり、右に行くほど複雑な模様を、下に行くほど高輝度のマクロブロックに対応しています。

Map内の全ての要素を同一の値で埋めたい場合は
<8>
の様に記載して下さい。

Offset Mapは5種類指定可能です。現在利用できるのは初めの3つ。
・Base Map(全てのマクロブロックに適用するOffset群)
・Blue Map(ブロックノイズの発生しやすい青色のmbに追加されるOffset。Base Mapへの追加なので注意。)
・Dark Map(平均輝度が--caq-darkで指定した値以下のフレームに対して追加されるOffset値。Base Mapへの追加なので注意。)

Mapは、数値を下げるほど画質が向上します(QPを下げることに対応)。CRF23エンコードで、かなり綺麗にしたい場合は-12程度、十分綺麗にしたい場合は-5、容量減らしつつ綺麗にしたい場合は-2~-3程度にして下さい。容量削減したい場合は+1~+2程度、大きく減らしたいところでは+3~+4くらいまでにすると良いです。
ただし、量子化マトリクスの値によっても変わってきます。

オプションに
--caq-strength [base Down:Up][blue D:U][dark D:U][move D:U][me D:U]
がありますが、Mapに指定されたoffset値に、このオプションで指定した値が積算された数値が、最終のoffset値として利用されます。Downは負のoffsetに、Upは正のoffsetに掛け合わされます。
初期値は[1.00:0.30][1.00:1.00][1.00:1.00][1.00:1.00][1.00:1.00]です。

他にもいろいろ機能がありますが書ききれないので割愛。
--fullhelp や iniファイルを読んで推察して下さい(^^;)
分からないことがあれば、下のコメント欄にどうぞ。

あと、どんなMap要素がどんな画像に対応しているか分からない場合は、Debug機能等を試してみて下さい。


【Debug機能】
実際にエンコードした映像のどのマクロブロックに、どのoffsetが適用されているかを確認するには、
--caq-debug 1
を利用します。
(もしくは、極端に大きなoffsetを指定することで破綻した部分から推察するのも良いでしょう)

このオプションを追加した状態でエンコードすると、標準エラー出力に、フレーム・マクロブロック毎に、適用されたoffset値やどこの区間のoffsetが利用されたかを出力します。
適当にファイルに保存し、TeraPad等のエディタで開いてみて下さい。


下は一例です。

CAQ debug=1



[X 24][Y 40]は当該マクロブロックの中心が左上から(x,y)=(24,40)の位置であることを、
( 3: 0)は、輝度の4区間目かつEnergy(模様の複雑さ)の1区間目を示しています。
この場合、暗くて平坦です。

***************************************
【追記1 : 2015_06_28】
Aviutlでも使えるようバイナリを更新しました。
v2_1.17

【追記2 : 2015_06_29】
そーす欲しい人はメールフォームで連絡下さい

< 続きを読む >

PageTop
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。