Linuxにおける高画質動画再生の頂上決戦

執筆日時:2015/03/25

はじめに

 以前に「VDPAUのhqscalingはアニメの画質向上に効果があるか?」という記事で、MPlayerを使った高画質なスケーリングのオプションについて紹介した。その際、Linux環境で使える他の高画質再生手段の1つとして、SMPlayerのソフトウェアスケーリング機能についても言及したが、実際に画像を比較することはしていなかった。加えて、MPlayerから派生したMPVにおいても、opengl-hqなるオプションにより、高品質な拡大が可能であるとの情報を得た。Linux環境でアニメを高画質で再生したいという目的を極める上で、これら複数の手法を比較しすることが必要であると考えたため、今回は高品質拡大のオプションが無い場合を含め、MPlayer2+VDPAU:hqscaling、MPV+VDPAU:Opengl-HQ、SMPlayer+Software scaling、の計4手法によりアニメ動画を再生した場合の画質を比較したいと想う。

環境

Hardware: AMD FX-8350 CPU + Quadro 600, FullHD Display
OS: Ubuntu 14.04 LTS 64bit, Kernel 3.16.0-31-generic
Software: MPlayer2 2.0-701-gd4c5b7f-2ubuntu2, SMPlayer v.0.8.6, mpv 0.3.4, NVIDIA Driver 331.113, VLC 2.1.4

材料

 検証のため使用した動画は以下の3つである。アニメ再生時の画質を検証するという目的のため、また再現性を確保するため、比較的低解像度なアニメ動画として、ニコニコ動画の公式アニメから第1話のものを3つ用意した。

(1) 大図書館の羊飼い 第一話
http://www.nicovideo.jp/watch/1412732843 ©白崎つぐみと迷える子羊たち
開始321秒あたり
以下、"羊飼い"。

(2) 幸腹グラフィティ ひとしなめ「ほかほか、じゅわっ。」
http://www.nicovideo.jp/watch/1420796391 ©川井マコト・芳文社/幸腹グラフィティ製作委員会
開始1183秒あたり。
以下、"幸腹"

(3) 一週間フレンズ。 第1話「友達のはじまり。」
http://www.nicovideo.jp/watch/1397120254 ©「一週間フレンズ。」製作委員会
開始755秒あたり
以下、"一週間"。

 いずれも640x360pxの解像度である。それぞれの動画で1箇所、同一のキャプチャ画像を撮りやすいシーンを選んでいる。

方法

 以下のコマンド (あるいは操作)により再生する。オプションには含めていないが、再生はいずれもフルスクリーン。決まった場所でスクリーンショットを撮りPNG形式で記録した。

VLC: # vlc [file]

MPlayer: # mplayer -vo vdpau:hqscaling=1 -vc ffh264vdpau [file]

MPV: # mpv --hwdec=vdpau --vo=opengl-hq [file]

SMPlayer: # smplayer [file]
(再生開始後にVideo→Filters→Software scalingにチェックを入れる)

結果1 (羊飼い)

 3種で共通であるが、比較画像は1920x1080pxのキャプチャ画像から720x405pxの範囲を選択しトリミングしてある (1920x1080pxのディスプレイにおけるdot by dotが保たれている)。VLCを使った高品質拡大オプション無しの画像以外は、マウスオーバー時にVLCの結果と切り替わり拡大補間の効果を確認しやすいようになっている (要JavaScript)。

結果2 (幸腹)

結果3 (一週間)

考察

 まず言えるのは、いずれの高品質拡大オプションも、効果があるということ。VLCで再生している場合と比べると、いずれも線がくっきりして拡大ボケがある程度解消されている。

 どれがもっとも高画質かというのは主観によるので (HD画質の元データを入手できれば拡大時の再現性を数値化することも可能であるが)あくまで私の感想ということになるが、3つの高品質拡大再生手法の中では、MPlayer2でのVDPAU:hqsalingとSMPlayerのSoftware-Scalingが同程度で、MPVのVDPAU:Opengl-HQは少し劣っている。

 MPlayer2でのVDPAU:hqsalingとSMPlayerのSoftware-Scalingが同程度の高画質をもたらすとした場合、CPU負荷を考えるとMPlayer2でのVDPAU:hqsalingに利がある。GPUのハードウェア支援を使うVDPAUのhqscalingオプションに比べ、SMPlayerでのソフトウェアスケーリングはCPU負荷が高い (デスクトップ向け高性能CPUなら余裕だが、低電圧CPUでは厳しい感じがする)。逆にMPlayer2でのVDPAU:hqsalingには、対応するハードウェアが限られるという欠点があり (確認している限りでは比較的最近のNvidia GPUが必要)、ノートPCなどでは多くの場合利用できないことから、SMPlayerが選択肢となる場合もあるだろう。