係数の間引きを止めるようになる。どんな効果があるかのサンプルを。「指定しない」もので、右側は「指定した」もの。サンプル内でズームしてある場所を注意深く比較すると、右側には残っているのに左側ではなくなってるモノとか、左側にだけ奇妙なゴミが出てるのとかに気が付くと思う。以外のオプションについては以下を指定した。係数が小さくて少なければ、量子化で消えちゃったことにしちゃおーぜ」という内容のもの。間引きしてしまうという処理になっている。画質は悪くなるのだけど、その分ビットが節約できるからという理由で追加されている処理だ。使っている時以外は、常にこのオプションを有効にして、間引き処理を無効にしておいた方が良いと思う。次回、その辺りの詳細な理由を説明してみる。係数の間引き処理について。始まるコメントには次のように書かれている。blocks.必要ないよーな気もするけど、一応訳しておく。以下の処理の目的は、単一の「高価」な係数が符号化されるのを防ぐことだ。為に更に数ビットが必要になる。観点からは、圧縮誤差の改善と比較して大きすぎる。この処理はインター輝度ブロックでのみ実行される。「単一の小さな係数」というのはデコード画像の画素値に変換するとどれぐらいの大きさになるのかを確認しておこうと思う。処理後の差分値で実際に幾らになるかを示したもの。マトリックスを使った場合の復号差分値。場合は、参照フレームと動きベクトルで作成した予測ブロックに、上記の差分が追加されてデコード画像になる。なり、参照フレームと動きベクトルから作成した予測ブロックがそのまま復号画像になる。係数だけが存在する場合、本当に劣化に気がつかないだろうか。これぐらい大きな違いであれば、普通は気がついてしまうのじゃないかと思う。実装にも奇妙なところがある。係数の位置に応じたコストを足し合わせていって、それが閾値を超えなければ間引きを実行というロジックになっている。値という相対位置で決定されるという仕組みになっている。0上記ブロックはジグザグスキャン順に以下のように並び替えられる。ブロックのコストになる。比較しているので、このブロックは間引き対象となる。場合の復号後の差分値は以下になる。0,で、これを行列転置しただけのものだと、スキャン順が近くなるので、コスト値が高くなり間引き対象外になる。*/当然復号差分値も縦横ひっくり返るので、以下の形になるだけで、視覚特性的には変化しない。こちらは間引き対象外で、あちらは間引き対象。値での相対位置にしている理由はさっぱり推測不能。係数の間引きは無効にした方がよいと考えている理由。一緒に使ってる場合でも間引き判定のロジックは別の処理にした方が良いと思ってる。いうソフトウェアがある。以下はそのスクリーンショット。確認することができるものだったりする。個人でも手の届く製品になっている。まー実際のところエンコーダの中の人ぐらいしかこの手のソフトって必要としないから、どーしても高価になってしまうんだよね。日間の試用版がダウンロード可能になっているので、興味がある人は試してみるといいかも。出力ログの項目の解説を。エンコード完了時には次のようなログが出力される。拡張機能を表示してるだけであまり意味はない。