Radeon DxVAとffdshowのインターレス解除性能比較
今までに何度か画質チェック記事中でRadeon DxVA(UVD2)のインターレース解除性能が優れていると書いてきましたが試験を記事化しました。
PCの基本的な設定は「HTPCの高画質設定 その3」を参照して下さい。
Radeon HD4650を使用しており、Color vibrance等の画質補正機能は全て切ってあります。
試験にはHQVベンチマークDVDの2シーンを利用しました。
試験1
元画像

動画編集ツールでフレームを表示して一部を切り出した物。
後の画像と縦横比が違うのはこれだけ画面縦横比(4:3)を無視しているから。
また逆に後の画像は720×480のDVD映像を640×480で表示しているので縦線に問題が出ているが無視して下さい。
CyberLink Video/SP Decoder

CyberLinkとWindows7に最初から入っているデコーダーはUVD2の機能を完全に使用出来ているのでDxVA使用時の映像代表とします。
(参照:「PowerDVD、WinDVD、TotalMedia Theatre 3 の画質チェック」)
また以下全てMPC-HCで表示してます(CyberLinkについてはPowerDVD8でも同画質だった)。
注目する所は「1」の横縞がちゃんと出ているか。
そして「2」「3」「4」で白黒と赤緑の横縞の太さも同じになっているか。
「2」「3」「4」の赤緑の横縞は元画像と違う見た目になるが、これはインターレース映像のクロマアップサンプリングが理想的に動作しているかのテストで白黒の横縞と同じ太さになるのが正解。
ffdshow libmpeg + TomsMoComp

ボケが酷く、「1」の縦縞におかしなドットも見られる。
これでもyadifが搭載される前までは一番まともな方のインターレース解除だった。
ffdshow libmpeg + yadif(フレームレート2倍)

「1」の横縞が完全に潰れている、この部分は実際には白黒で1フレーム毎に反転している。
赤緑の横縞もうまく表示出来ていない。
yadifは適応型のインターレース解除と説明されているが、まだ性能は高くない。
今後の改良を期待したい。
試験2
一般的な映像でどのように見えるか。
元画像

観客席に大きな干渉縞が見え、動いている物が縦1ドット単位でジグザグにぶれている。
これはインターレース映像なので偶数フィールドと奇数フィールドを分解すれば干渉縞もぶれも無くなる。
単純にそうすると解像度が下がるので、適応型(Adaptive)インターレス解除では複雑な処理をして解像度が落ちないようにすると共におかしな見た目にもならないように工夫している。
CyberLink Video/SP Decoder

Radeon DxVA(UVD2)ではこの映像は最初にちらちらと干渉縞が見えた後で干渉縞の無い状態になる。
非常に優れている。
ffdshow libmpeg + TomsMoComp

テスト1では酷い有様だったがこちらではそれ程酷くは感じられない。
一般的な映像だけで試験する事の難しさを意味している。
干渉縞はまったく消えず。
そしてTomsMoCompは滑らかに再生されないのでその点で大きく劣る。
ffdshow libmpeg + yadif(フレームレート2倍)

干渉縞はまったく消えないが滑らかに再生されるのでその点ではRadeon DxVA(UVD2)と比肩できる。
以上で現状ではffdshowに搭載されているインターレース解除よりもRadeon DxVA(UVD2)の方が良いという結果になりました。
また、面倒なので画像は載せませんがPowerDVD等に搭載されているソフトウェア処理のインターレース解除も性能は良くなく、ffdshowに搭載されている物寄りの性能です。
それらについて興味のある方は、「PowerDVD、WinDVD、TotalMedia Theatre 3 の画質チェック」から色々見ていって下さい。
最後にアップコン(リサイズ)で現在もっとも優れているffdshowのLanczos10とRadeon DxVA(UVD2)のインターレース解除を組み合わせられないか試してみました。
ffdshow libmpeg + NV12出力 + インターレース関連情報をメディアタイプに設定する

これはちゃんと処理されている。
ffdshow libmpeg + Lanczos10 1920x1080 + NV12出力 + インターレース関連情報をメディアタイプに設定する

うまくいかない。
Lanczosがインターレース映像をフィールド分離してから処理してないのかもしれない。
現状両方の良い所取りが出来ないのは残念な事だ。
2011/3/2追記
ffdshowのLanczos10とRadeon(UVD2)のインターレース解除を組み合わせられない理由について調べてみました。
結論を書きますと、どうも色差信号をリサイズした時点でインターレース解除がまともに動かなくなるようです。
例えば720x480→1920x480のように横に引き伸ばすだけでも駄目になります。
これは他の数種類のリサイズ手法を試してみても同様でした。
理屈がはっきりしない事ですが、今の所Radeonではどうにもならない事と諦めるしかないようです。
2011/2/9追記
Intel HD3000のテストをして、逆テレシネ(プルダウン)検出は良いけどインターレース解除性能は低いという場合もある事を知りましたのでHQVの別のベンチシーンを追加掲載する事にしました。
このシーンは60iです。
今回の3種類の設定の比較ではレース場の動画と同じような結果になってます。
CyberLink Video/SP Decoder

ffdshow libmpeg + TomsMoComp

ffdshow libmpeg + yadif(フレームレート2倍)

PCの基本的な設定は「HTPCの高画質設定 その3」を参照して下さい。
Radeon HD4650を使用しており、Color vibrance等の画質補正機能は全て切ってあります。
試験にはHQVベンチマークDVDの2シーンを利用しました。
試験1
元画像

動画編集ツールでフレームを表示して一部を切り出した物。
後の画像と縦横比が違うのはこれだけ画面縦横比(4:3)を無視しているから。
また逆に後の画像は720×480のDVD映像を640×480で表示しているので縦線に問題が出ているが無視して下さい。
CyberLink Video/SP Decoder

CyberLinkとWindows7に最初から入っているデコーダーはUVD2の機能を完全に使用出来ているのでDxVA使用時の映像代表とします。
(参照:「PowerDVD、WinDVD、TotalMedia Theatre 3 の画質チェック」)
また以下全てMPC-HCで表示してます(CyberLinkについてはPowerDVD8でも同画質だった)。
注目する所は「1」の横縞がちゃんと出ているか。
そして「2」「3」「4」で白黒と赤緑の横縞の太さも同じになっているか。
「2」「3」「4」の赤緑の横縞は元画像と違う見た目になるが、これはインターレース映像のクロマアップサンプリングが理想的に動作しているかのテストで白黒の横縞と同じ太さになるのが正解。
ffdshow libmpeg + TomsMoComp

ボケが酷く、「1」の縦縞におかしなドットも見られる。
これでもyadifが搭載される前までは一番まともな方のインターレース解除だった。
ffdshow libmpeg + yadif(フレームレート2倍)

「1」の横縞が完全に潰れている、この部分は実際には白黒で1フレーム毎に反転している。
赤緑の横縞もうまく表示出来ていない。
yadifは適応型のインターレース解除と説明されているが、まだ性能は高くない。
今後の改良を期待したい。
試験2
一般的な映像でどのように見えるか。
元画像

観客席に大きな干渉縞が見え、動いている物が縦1ドット単位でジグザグにぶれている。
これはインターレース映像なので偶数フィールドと奇数フィールドを分解すれば干渉縞もぶれも無くなる。
単純にそうすると解像度が下がるので、適応型(Adaptive)インターレス解除では複雑な処理をして解像度が落ちないようにすると共におかしな見た目にもならないように工夫している。
CyberLink Video/SP Decoder

Radeon DxVA(UVD2)ではこの映像は最初にちらちらと干渉縞が見えた後で干渉縞の無い状態になる。
非常に優れている。
ffdshow libmpeg + TomsMoComp

テスト1では酷い有様だったがこちらではそれ程酷くは感じられない。
一般的な映像だけで試験する事の難しさを意味している。
干渉縞はまったく消えず。
そしてTomsMoCompは滑らかに再生されないのでその点で大きく劣る。
ffdshow libmpeg + yadif(フレームレート2倍)

干渉縞はまったく消えないが滑らかに再生されるのでその点ではRadeon DxVA(UVD2)と比肩できる。
以上で現状ではffdshowに搭載されているインターレース解除よりもRadeon DxVA(UVD2)の方が良いという結果になりました。
また、面倒なので画像は載せませんがPowerDVD等に搭載されているソフトウェア処理のインターレース解除も性能は良くなく、ffdshowに搭載されている物寄りの性能です。
それらについて興味のある方は、「PowerDVD、WinDVD、TotalMedia Theatre 3 の画質チェック」から色々見ていって下さい。
最後にアップコン(リサイズ)で現在もっとも優れているffdshowのLanczos10とRadeon DxVA(UVD2)のインターレース解除を組み合わせられないか試してみました。
ffdshow libmpeg + NV12出力 + インターレース関連情報をメディアタイプに設定する

これはちゃんと処理されている。
ffdshow libmpeg + Lanczos10 1920x1080 + NV12出力 + インターレース関連情報をメディアタイプに設定する

うまくいかない。
Lanczosがインターレース映像をフィールド分離してから処理してないのかもしれない。
現状両方の良い所取りが出来ないのは残念な事だ。
2011/3/2追記
ffdshowのLanczos10とRadeon(UVD2)のインターレース解除を組み合わせられない理由について調べてみました。
結論を書きますと、どうも色差信号をリサイズした時点でインターレース解除がまともに動かなくなるようです。
例えば720x480→1920x480のように横に引き伸ばすだけでも駄目になります。
これは他の数種類のリサイズ手法を試してみても同様でした。
理屈がはっきりしない事ですが、今の所Radeonではどうにもならない事と諦めるしかないようです。
2011/2/9追記
Intel HD3000のテストをして、逆テレシネ(プルダウン)検出は良いけどインターレース解除性能は低いという場合もある事を知りましたのでHQVの別のベンチシーンを追加掲載する事にしました。
このシーンは60iです。
今回の3種類の設定の比較ではレース場の動画と同じような結果になってます。
CyberLink Video/SP Decoder

ffdshow libmpeg + TomsMoComp

ffdshow libmpeg + yadif(フレームレート2倍)
