16:13余裕の1万ドル超え。SSD、稼働32,768時間超えでデータ喪失。06:00)今回の検証環境。GIGABYTEのGA-F2A88X-UP4とA10-7850Kを利用したAMDの新APU「Kaveri」(Aシリーズ7000番台)では、グラフィックスコアが従来Trinity/Richlandで採用されたVLIW4から、GCNアーキテクチャに置き換わっていることが既に明らかになっている。APIのサポートが大きくフィーチャーされているが、実は動画再生における画質向上機能の強化も図っている。今回はこの動画の画質向上機能について検証していきたい。そもそも、動画再生における画質向上は意味があるのか検証に入る前に、そもそも動画再生時の画質向上機能に意義があるのか、それがきちんと機能しているのかというのを理解しなければならない。同じ動画を再生しても、AMDとIntel、NVIDIAのGPUの画質向上機能は異なっており、このため例えば同じエッジ強調に関する画質向上機能があったとし、同じ値に設定しても、得られる絵が同じだとは限らないからだ。Classic」を用いて、EVR経由でハードウェア再生支援を用いながら動画を再生。同じフレームのところで一時停止し、PrintScreenキーで取得できた画像をBMPファイルで保存し、比較することにした。ここで、筆者は驚くべき結果を知ることとなった。そもそも、この3種類のGPUの画質向上機能をすべてオフにしたところで、同じ画像が得られなかったのだ。630で再生された画像をバイナリレベルで比較すると、合致率は71.6%。Photoshopで2つの画像の絶対値の差(差分を取り、差がない場合は0つまり黒、差がある場合は大きい方の値で上書きをする)をとってみても、やはりわずかに異なる場所が検出できる。絶対値を取ると、全体的にIntelのほうが明るい傾向が見られた。同じ動画ファイルを再生しているし、画質向上機能をすべてオフにしているのに、なぜ画質が異なるのか。考えられるのは、AVC/H.264というファイルフォーマット自体が、完全な元データに戻ることができない不可逆圧縮方式だからだ。エンジニアを務める矢戸知得氏に尋ねてみたところ、「デコードのプロセスで用いられる量子化テーブルは、ハードウェアによって違うものを持つ可能性がある」ということを示唆された。杉山浩二氏に伺ったところ、「圧縮フォーマットの動画ファイルの輝度情報は、TVの互換性を配慮しているため完全ではなく、最低輝度が0、最大輝度が最大値である255ではない可能性がある。そこでPCで動画再生を行なう際、その値を255まで伸張するが、伸張のアルゴリズムの違いによって差異が生まれる可能性がある」という。動画ファイルの形式が不可逆圧縮方式である限り、違うハードウェア上で同じ絵が得られない可能性が極めて高いということだ。同じハードウェアで再生した場合の画像についても検証してみた。R7両方で、1回目を再生してキャプチャした後、PCを再起動し、2回目同じところでキャプチャしてみた。結果的にバイナリレベルで完全一致した。不可逆圧縮形式でも、ハードウェアが同一ならば同じ画像が得られるということだ。630と同じ結果だった。Radeonで2回再生した場合の画像バイナリ比較GeForceで2回再生した場合の画像バイナリ比較では、Microsoftが本来考える「リファレンスの画像」はあるのだろうか。GeForceとRadeonそれぞれのドライバをアンインストールし、Microsoft基本ディスプレイアダプタでハードウェア再生支援が得られない状態で同じファイルを再生してみたが、こちらは同じハードウェア構成でも、1回目と2回目の画像が異なっていた。ソフトウェアによるデコードの量子化テーブルは一定ではない、ということだろう。「ビデオカードが違えば画質が異なる」というのは、もはやDVI-Dが登場する以前、RAMDACが存在するミニD-Sub15ピンを使っていた時代の話だと思っていただけに、現代においても不可逆圧縮方式の再生でGPUによって画質が異なるというのは、意外な話だった。そもそも「Windowsにおいて、PrintScreenキーが押された時の画像はどこから取得したものなのか」というのも気になった。Graphicsで表示される画像は共通、という可能性は無きにしもあらずだ。PrintScreenの仕組みについてMicrosoftに問い合わせてみたが、Windows非公開の仕様のためか、回答が得られなかった。上記の検証の通りGPUによって画質は異なるし、画質向上機能のオン/オフでもきちんとした効果が得られたので、ここからさらなる画質補正が加わる可能性は少ない。よって今回の検証はいずれも「PrintScreenによる結果の比較」であり、「最終的に出力されるものの画質を保証するものではない」ことをお断りしなければならない。それぞれの処理にちゃんとした意義があった前置きが非常に長くなってしまったが、それではいよいよ画質向上機能のオン/オフによる違いを検証していく。比較しやすいよう、オンとオフの画像の絶対値をとった画像と、そのコントラスト比を高めてより分かりやすくした画像を掲載する。Radeon、GeForce、Intelに共通項目があるエッジ強調。いずれも50%前後の値に設定してキャプチャした。写真を見ればわかるように、いずれのGPUもコントラストの差でエッジを検出して、エッジ近辺の内側にある色を明るくすることで強調しているようである。Intelのエッジ強調は控えめだ。4000のエッジ強調と無加工画像の差の絶対値のコントラスト比を高めた場合ノイズ低減も、いずれも周りの色に応じて、均一化を図ろうとピクセルごとに色の補正を行なっていることが分かる。画素センサーが不得意な暗い部分において、かなりの効果があることが伺える。この機能も含めて、以降はコントラスト比をかなり高めないと分からない程度の差であることも事実だ。ちなみにGeForceでは以上の2つの機能しか備えていない。4000のノイズ低減と無加工画像の差の絶対値のコントラスト比を高めた場合Radeonのみにあるモスキートノイズ低減は、圧縮画像のエッジ近辺でよく見られるギザギザしたようなノイズを低減するもの。画像では、輝度差が大きい文字の周辺や人物の服のシワなどの輪郭近辺を中心に補正が入っていることが分かる。モスキートノイズ低減モスキートノイズ低減と無加工画像の差の絶対値モスキートノイズ低減と無加工画像の差の絶対値のコントラスト比を高めた場合またブロックノイズ低減もRadeonのみ存在する機能だ。適用してみたところ、確かにブロック状になっている画像の付近でのみ、補正がかかっていることが分かった。これは良く出来たアルゴリズムだろう。Centerの英語では「De-contouring」、日本語ではどうやら「輪郭矯正解除」という謎の項目で実装されているようだ。これを適用したところ、差の絶対値による比較ではかなり複雑な補正が行なわれていることが分かった。今回用意した映像は、ドラムのライトなどにグラデーションがあるが、マッハバンドはそれほど目立たないほうだ。それでも独自のアルゴリズムによって補正しようとしているのが分かる。reduction」、日本語では「高度なアーチファクト除去を有効にする」というこれまた謎の項目となっている。こちらは検証に使ったディスプレイが1,920×1,080ドット表示対応で、先ほどのファイルと同解像度のためそのままだと効果が現れない(再生してもバイナリレベルで100%一致)。4で撮影した別の映像を利用して検証した。すると、主となる物体の明るい部分を中心に、赤と青で立体的に補正していることが分かった。赤と青だけだとディテール強調に繋がるのが分かりにくいが、カメラのピントが合っている物体を明るめに強調することで、背景との差別化を図り、立体的に見せようとしているのではないだろうか。比較画像を見る限り、これまでのアルゴリズムとは異なり、立体的に物体を捉えようとしているのが分かる。これも確かに、高度にCPUとGPUが密接し、複雑な演算が可能なAPUでなければ、リアルタイム処理での実現が難しそうな機能だ。以上、Kaveriの動画再生に関する高画質化機能を検証してきたが、確かにAPUらしい高度な処理が実装されていることが分かった。エッジ強調以外、50%の設定値では、個々にオン/オフしてもあまり違いが分からない程度でしかないが、少なくともきちんと機能していることが今回の検証で証明されたわけで、これがAMDが目指す絵作りであることがよく分かる結果となった。再度注意しなければならないのは、1つは、以上のデータがすべてPrintScreenキーによるキャプチャである点。述べた通り最終出力段でどうデータが変わっているのか知りようがなかったので、結果として3種類のGPUともにさらにデータを加工してしまう可能性がある。1つは、近年はGPUによる絵作りよりも、ディスプレイやTVによる絵作りのほうが重視されているし、実際にユーザーの目に届くのはディスプレイのデータであるということだ。LGやアイ・オー・データ機器、三菱電機、EIZOなどは超解像技術を搭載したディスプレイを発売しており、これらのディスプレイで最終的にユーザーの目に届く映像はGPUが絵作りしたものとは異なる。パネルの特性やバックライトの特性、内蔵LSIの違いにより異なる。厳密に言えば、同じモデルでも異なる可能性も十分にある。ユーザーがずっと同じディスプレイを使っているならば話は別であり、(PrintScreenで得られた絵が出力最終段の映像であることが前提だが)GPUによってビデオ画質が異なるというのは事実である。その中でKaveriは間違いなく画質向上機能がもっとも豊富であり、「なんかイマイチ動画がパッとしない」というユーザーなら、試してみる価値はあるだろう。