なんで暗部がざわざわするのか

2008/04/19

パーマリンク 12:54:52, 著者: Charlie

なんで暗部がざわざわするのか

H.264動画では、暗部や青色部分のブロック感(もやもやざわざわ動いている感じ)が気になるというのは、昔から知られていて、 x264 HAQ (Haali Adaptive Quantization parameter)のような対策が打ち出されているわけですが、そもそもどうしてざわざわしてしまうのでしょう。実はQPを変えるだけでは対策になってないかもしれない、そう思っていろいろ調べてみました。
そのものずばりの情報は得られなかったので、とりあえず推測を幾つか挙げてみます。

[◇◇◇]

青色の輝度レンジは緑色の1/5以下だから?

これは、青がもやもやしやすい理由の推測です。

たとえばまるも製作所にITU-R BT.601の式があって、

Y=0.299×R+0.587×G+0.114×B

となっています。8ビット精度でRGB表現によるB=255 (一番青い?青)の色はYUV表現での輝度Y=29に相当し、G=255は輝度Y=150に相当します。 青色領域の輝度情報は0~29の範囲でしか値をとらないので、量子化の過程で削られやすいと考えられるわけです。

しかし反論も考えられます。
「それは低輝度の領域がブロック化しやすい理由であって、青だけがもやもやする理由にならないのでは?」
確かにそうですね。そこで別の理由も合わせて考えてみました。

視神経の特性?

人間の視神経には、 色を見分けるけれども輝度の違いに鈍感な錐体細胞と、 色は分からないけれども輝度の違いに敏感な 桿体細胞があって、 暗い時には桿体細胞が優位になるそうです。
桿体細胞は赤っぽい光を感じることができないので(Wikipediaの桿体細胞の解説のグラフを参照)、同じ薄暗さの赤と青では、赤は黒く潰れしてしまって気にならない可能性があります。 プルキンエ現象というそうです。

以上をまとめると、

  • 暗部はブロック化しやすい。
  • 青はもともと輝度が低い。
  • 暗部の赤はブロック化しても気付きにくい。
  • ⇒ 暗部でも特に青はブロック感が気になりやすいので対策が必要。

という仮説ができあがります。

AQは対策になっているのか?

QPを調整してブロックのざわざわ感を抑える、っていうのは 方針としては間違ってはいないのでしょうが、 設定が非常に難しいと思います。

というのも、今のHAQ, VAQではQPを変更する領域を判定する基準がこなれていないので、効果が出なかったり、最悪の場合、QPを下げてほしいところを上げてしまったりするからです。
また、動画エンコの本質は、 画質を維持しつつファイルサイズを小さくすることなので、 HAQの「画質を維持するためにファイルサイズを大きくする」というのは 困る人も多いと思います。

対策まとめ

AQはこれからノウハウが蓄積されてくる技術だと思います。 現段階で効果が出ないソースは、AQの改良を待てなければ 別の方法で対処するしかないです。
とはいっても、手間、ビットレート、画質、のうちどれかが犠牲になるわけですが。

手間をかけてもいい場合
--zonesを使って必要な個所だけ手動で強制的にQPを下げれば、確実にざわざわ感を抑えられます。
ビットレートが気にならない場合
HAQを使えば、ざわざわ感はそれなりに減らせます。 ただし、判定ミスでざわざわが逆に増すこともあって、 その場合はパラメータをいじってもどうにもならないです。 諦める (^^; か、 --zonesを併用するんでしょうね。
画質の低下を許す場合
容量制限のあるポータブル機器用エンコでは、 多重パスなどで特定のファイルサイズにしつつ HAQ / OreAQを使ってみるといいと思います。 ざわざわ感が抑えられる代わりに薄く広く全体的に画質が低下するでしょう。

あと、ソースがアナログ素材(アナログキャプチャだけでなく、フィルム素材の映画も含む)の場合は、時間方向のノイズフィルタをかけるのが効果的です。 ただし暗部で残像が出やすくなるので、パラメータをよく調整することが肝心となります。

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

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

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

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

コメントを残す:

頂いたメールアドレスはこのサイト上には表示されません
頂いた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とは?

オンラインユーザ一覧

  • ゲスト ユーザ: 8

powered by
b2evolution