グレインノイズを残すには | x264

2008/08/03

パーマリンク 14:02:28, 著者: Charlie

グレインノイズを残すには | x264

今回のエンコのターゲットは、アニメ「ルパン三世 sweet lost night~魔法のランプは悪夢の予感~」(2008-07-25 AX系で放送)。

あちこちに出てくる回想シーンが、砂嵐状ノイズ(しかも色付き)によるエフェクトなのでいつもの品質指定では潰れてしまう。 CRF (Constant Rate Factor)のパラメータを小さくすれば潰れを抑えられるが、回想シーン以外で過剰なビットレートになってしまうので、必要なカットの範囲だけパラメータを変更したい。 こんなときはzoneオプションを使うようだ。 zoneの範囲はフレーム番号で指定することになっている。

--crf=21 --zones 935,1138,q=10/5542,5589,q=10
のように書けば、フレーム番号(0開始)で935〜1138の範囲と、5542〜5589の範囲のCRFを10に、その他の範囲のCRFを21にできる。

今回、Aviutlで24fps化(テレシネ解除)したが、Aviutlでは24fps化後の正確なフレーム番号を知る術が無いので、Aviutlの作業ファイル(aup)を読み込むAvisynth script(avs)を作って、VirtualDubModでこのavsファイルを読んで回想シーンのフレーム番号を確認した。

以下、ノイズを効果として含む映像の場合のCRFと画質、ビットレートの関係についての考察。

[◇◇◇]

通例、アニメだと19〜21程度のCRFを指定すればノイズが気にならない画質を得られるが、今回のルパンでは回想シーンのノイズ効果が潰れてしまう(しかも全体に潰れるのではなく、ノイズの残る部分もあるので余計気になる)。
通常、CRF=21を指定すればだいたい量子化パラメータ(QP)も21前後になるのだが、 なんと30前後にまで劣化している。
H.264のQP=30〜32は、MPEGのQP=8〜10に相当する。 MPEG-2ならQP=10あたりからブロックノイズがはっきりと見えるようになるという経験則とも一致する。

CRF vs SSIM

模擬映像として、Cornes du Chamoix, Cirque du Fer à Cheval (by Pascal Vuylsteker, Some rights reserved) から640×480ピクセルを切り出して、Photoshopで10通りのランダムなノイズを加えた画像を作って、Avisynthで10回ループする映像を用意した。

▼ CRF=21。空の部分にブロックノイズが散見される。

CRF=10を指定すると、やっとQP=20前後になった。

▼ CRF=10。ノイズの再現性が高まった。

ただ、画質は向上したもののビットレートが8Mbps→33Mbpsへと4倍になってしまった。 33Mbpsといったら地デジの16Mbpsの倍であり、 MPEG2のまま記録するより記録効率が悪くなるなんて悲しい。 回想シーンの比率は低いので、全体の平均ビットレートは それほど高くないとも言えるが、 DVDの等倍速11Mbpsでは間に合わないビットレートであり、 保存媒体が限られてしまう(HDDやBlu-ray)という問題は残る。

▼ CRFとビットレートの関係
CRF vs bitrate
▼ CRF=30。ほとんどノイズ効果は潰れてしまった。
▼ ビットレートと画質の関係 (各点の数値はCRF)。
bitrate vs SSIM

H.264は今回取り上げたような粒状ノイズの再現性に難があることは 以前からよく問題にされている。

プロ世界では量子化マトリクスをカスタマイズしてフィルムグレインに対応している模様…なんだけど、x264にはGOP単位で指定する方法は無いようなので(そもそも事前にGOPの切れ目を指定できない?)、今回のルパンのように「一部のシーンだけグレインノイズを残したい」っていうニーズには対応してなさげ。量子化マトリクスの異なるファイルをmkvmergeで繋げることができるのなら、ノイズを残したいシーンだけ別パラメータでエンコして繋げるのがよいかも。

関連記事

この記事へのトラックバック アドレス

http://blog.mura.com/blogs/htsrv/trackback.php/471

コメント, トラックバック, ピンバック:

この投稿への コメント/トラックバック/ピンバック はまだありません...

コメントを残す:

頂いたメールアドレスはこのサイト上には表示されません
頂いたURLは表示されます。

使用可能な XHTML タグ: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
(改行が自動で <br /> になります)
(名前、メールアドレス、URLを記憶する Cookie を発行します)
(ユーザがメッセージ・フォームを通してあなたに連絡することを許可します (あなたのメール・アドレスは表示されません))

Charlie's volatile short

11月 2008
 << <   > >>
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

リンク

  • ありくい - ブログが手軽に書けます。ボタン一つでコンテンツマッチ・アフィリエイトが挿入できるブログツール「どこでもありくい」も提供中。
  • glucose2 - ブログをたくさん読むならRSSリーダー
  • エンジニア募集中 [Perl, PHP, JavaScript][SOHO, アルバイト可]

  • EC厨房 [EC-CUBE,osCommerce,Zen Cart][ECサイト制作、カスタマイズ]

アーカイブ

検索

いろいろ

XMLフィード

RSSとは?

オンラインユーザ一覧

  • ゲスト ユーザ: 9

powered by
b2evolution