テストレポート
HDMI 1.4で4K/60Hz出力対応!? 「GeForce 340.43 Driver Beta」でサポートされた新機能を試す
リリース時の紹介記事にもあるとおり,340.43βドライバにおけるトピックは,新作ゲームタイトルへの最適化なのだが,それとは別にひっそりと追加された機能が,一部で話題となっている。何かというと,KeplerおよびMaxwell世代のGPUで(当面はシングルカード構成時に)サポートされる「HDMIで4K/60Hz伝送を行える特殊な動作モード」だ。
現行世代のGeForceが搭載されたグラフィックスカードのHDMI出力は,基本的にすべてHDMI 1.4対応である。世界中をくまなく探せば例外があるのかもしれないが,少なくとも筆者の知る限り,国内に流通するGeForce搭載製品はすべてがHDMI 1.4止まり。HDMIで4K/60Hzに対応するにはHDMI 2.0規格への対応が必要なので,GeForceではHDMI経由での4K/60Hz出力は行えないはずである。
ではなぜ,340.43βを導入すると,GeForce搭載グラフィックスカードで4K/60Hz出力を行えるようになるのか。今回はその説明と,実際にテストを行った結果をまとめてお届けしたい。
HDMI 2.0と4K製品の最新動向
PCディスプレイの世界には,いま“4K化の波”が押し寄せていると言ってよく,そのスピード感たるや,かつてのフルHD(解像度1920×1080ドット)ブームに近いものを感じる。少なくとも,2560×1600ドットや2560×1440ドットのようなXHD(eXtreme High Definition)ディスプレイが登場したときと比べると,波の勢いは今回のほうがある。
ただ困ったことに,PC側,具体的にいうとGPU側の対応度はというと,少なくとも完璧ではない。
3840×2160ドットの4K解像度を毎秒60コマ(=60fps=60Hz)でHDMI伝送するには,映像出力側も映像受け手側も,2013年9月に立ち上がったHDMI 2.0規格に対応していなければならない。そのため,PCディスプレイやテレビ側では,2013年後半からHDMI 2.0対応の製品が出始めている状況にある。
それに対してGPUはというと,2009年に登場したDisplayPort 1.2規格で4K/60Hz(=60fps)出力を余裕でカバーできるようになってしまったためなのか,HDMIでの4K/60Hz伝送対応にはどちらかと言えば消極的である。
現状,コンシューマ向けグラフィックスカードでは,GeForceもRadeonもHDMI 2.0に対応していない。NVIDIAもAMDも基本的には「4K/60Hz出力したいならDisplayPortを使えばいいじゃない」というスタンスなのだ。
たしかに,PC用の4Kディスプレイは多くの場合,DisplayPort入力が搭載されているので,その理屈も分からないではない。ただ,4Kテレビだと,DisplayPort入力を持つのはパナソニックの4Kビエラくらいで,ほかのメーカーはHDMI 2.0をサポートする一方,DisplayPort端子は非搭載だ。4Kテレビは,「HDMI 2.0のみ対応」が明らかな主流となっている。
NVIDIAが340.43βドライバでひっそりと導入してきたHDMI関連のアップデートは,この“ギャップ”に対するものだ。根本的な解決を示すのではなく,やや場つなぎ的ではあるものの,いまあるGPUが持つ仕様の枠内で,HDMI経由での4K/60Hz出力を行えるようにして,HDMI 2.0対応の4Kテレビとも接続可能にしようというわけなのである。
HDMI 1.4で4K/60Hz出力を実現するカラクリ
とはいえ,言うまでもないが,ハードウェアの壁を越えることはできない。 HDMI 2.0規格が18Gbps,DisplayPort 1.2規格が21.6Gbpsのデータ転送レートに対応するのに対し,HDMI 1.4規格は10.2Gbpsだ。
ここで注意したいのは,3840×2160ドットを24bitカラーで60fpsで伝送するときに必要な帯域幅が,
で求められるわけではないということである。実際には,表示画素以外の制御区間が垂直・水平それぞれにあるからだ(図)。さらに,HDMIで採用されているTMDS(Transition Minimized Differential Signaling)はデータに同期信号を挟み込み,8bitを10bitに変換して(=符号化して)伝送する仕様を採用しているため,伝送データ量は25%増し(※10÷8=1.25)になる。
結果として,3840×2160ドット(もしくは4096×2160ドット)をHDMIのTDMSで伝送するときには,それ以上の帯域幅が必要になる。どれくらいかは製品によって異なるのだが,たとえば東芝やソニー製の4Kテレビだと4400×2250ピクセル分だ。そして,仮にそれを24bitカラーの60fpsで伝送しようとすると,実際に必要な帯域幅は,
となり,10.2GbpsのHDMI 1.4規格では収まりきらなくなってしまう。
そこでNVIDIAは,Kepler世代以降のGPUで4K/60Hz出力を選択した場合は,RGB各8bitではなく,色差信号の「YCbCr=4:2:0」で出力することにした。これが,HDMI 1.4で4K/60Hz出力を行うためのキモだ。
PCにおいて,1ピクセルは赤緑青(RGB)3原色の値を組み合わせたもので表現される。ゲームグラフィックスなどで利用されるハイダイナミックレンジ(High Dynamic Range,HDR)レンダリングなど,一部の例外を除けば,一般にRGB各8bitの24bitカラーが利用されることになる。
対する映像(=ビデオ)機器などでは,RGBではなく,YCbCrで表される色差信号を用いるのが一般的で,これは白黒映像に相当する輝度(Y)と青色差(Cb),赤色差(Cr)で表される。
ここでいう「色差」とは,色信号から輝度(Y)を差し引いたパラメータのこと。青色差は青(B)からYを引いて特定の定数をかけた「(B-Y)×定数」,赤色差は同様に「(R-Y)×定数」で求められる。数学上は,RGBとYCbCrの相互可逆変換が可能だ。
ではなぜYCbCr方式のようなまどろっこしいものがあるかというと,YCbCrのYが白黒映像に等しいから。大昔,テレビの映像が白黒からカラーへ移行するとき,白黒映像との互換性を維持したままカラー映像に移行するときに都合がよかったのである。
さて,YCbCr方式でも,Yを8bit,CbとCrをそれぞれ8bitで表現すれば1ピクセルあたり24bit表現で,色表現精度としてはRGBと同じになる。つまり,映像を構成するすべてのピクセルが24bitで表現されている限り,RGB映像とYCbCr映像の表現品質に違いはないことになる。
しかし実際には,テレビ放送やDVD-Video,BD-Videoだと,そうなっていない。
これはアナログカラーテレビ時代に,映像データの伝送するにあたって,輝度と色差をフル解像度で送っているとデータ量が多くなりすぎるため,ある手段で映像を圧縮していたためだ。
現在ほどコンピュータの性能が優秀でなかったその時代にあっては,MPEGのようなフレーム相関圧縮技術もなかったため,大胆な手法で映像を不可逆圧縮した。
具体的には,データ(=信号)の間引きである。
人間の視覚は輝度解像度に敏感だが,色解像度にはそれほど敏感でないため,「輝度(=実質的には白黒映像)をフル解像度で転送しつつ,色情報(=色差信号)は間引いてしまう」ことにしたのだ。
色情報の間引き方には何種類かのパターンがあるのだが,まったく間引かないものは「YCbCr=4:4:4」,走査時に偶数列のピクセルでCbCrを間引いたモノが「YCbCr=4:2:2」,4:2:2の奇数列においてさらに,奇数行ではCr,偶数行ではCbといった具合で順番に間引くこととしたものが「YCbCr=4:2:0」となる。4:4:4では輝度も色もフル解像度だが,4:2:2では色の解像度が半分になり,4:2:0では色の解像度が輝度比で4分の1となる。
ちなみに,現在の地上デジタルテレビ放送やDVD-Video,BD-Videoでは,大半がYCbCr=4:2:0を採用している。
ここまで説明すると,NVIDIAが340.43βドライバでYCbCr=4:2:0の色差フォーマットを採用した理由がよく分かるだろう。Kepler世代以降のGPUで4K/60Hz出力を選択した場合,YCbCr=4:2:0出力されるため,その帯域幅は,
となる。色信号の解像度を4分の1に間引いた結果,色情報は1920×1080ドット解像度止まりということになるものの,HDMI 1.4の10.2Gbpsという帯域幅に収まるのである。
読者の中には「NVIDIAはなぜYCbCr=4:2:2をなぜサポートしなかったのか」と思う人がいるかもしれない。YCbCr=4:2:2は,輝度を4Kフル解像度,色情報も1920×2160ドット解像度でそれぞれ保持でき,また,転送レートもHDMI 1.4の帯域幅に収まりそうな気配があるからだ。
だが実際には,YCbCr=4:2:2ではYが12bit,CbCrが12bitとってしまい,8bit深度しか使っていなくても,下位4bitをゼロで埋めた12bitデータとして取り扱われてしまうという仕様がある。そのため,データは間引かれても,帯域幅はYCbCr=4:4:4と同じ17.82Gbpsとなり,HDMI 1.4の上限である10.2Gbpsをやすやすと超えてしまうのだった(表1)。
YCbCr=4:2:0による4K/60Hz出力の実力を検証する
概要を掴んだところで,今回は340.43βドライバを使って,YCbCr=4:2:0による4K/60Hz出力を試してみよう。
テストに用いたシステムは表2のとおりで,グラフィックスカード以外は筆者の私物である。
このPCを4KテレビとHDMI接続して起動したところ,標準では4K/30Hzディスプレイと認識された。4K/60Hz化したい場合は,NVIDIAコントロールパネルの「解像度の変更」に用意された「リフレッシュレート」を「60Hz」に変更するか,Windowsの「画面の解像度」から「詳細設定」を開いて,「モードの一覧」から「3840 x 2160,True Color(32 ビット),60 ヘルツ」を選択する必要がある。
ユーザー側で明示的にYCbCr=4:2:0を選択したりする必要はなく,4KテレビとHDMI 1.4接続された状態から4K/60Hz動作を選択すると,自動的にYCbCr=4:2:0モードへ切り替わるようだ。
4K/60Hz化によってすぐ気づくのは,マウスカーソル動作のスムーズさだ。というか,4K/30Hz時のマウスカーソルはなんとなくスカスカした,粗い動きに見えるのに対し,4K/60Hz時には普段見慣れたとおりの動きを見せてくれる。
デスクトップ画面も,ぱっと見た限り,それほどの違和感はない。ただ,Webブラウザから4Gamerのトップページを開いてみると,何となく違和感があるのに気づいた。「よく見れば分かる」程度の,わずかな違いではあるのだが,偽色(※「本来,そこはその色ではないはずだ」と確実に分かる画素表現のこと)が散見されるのだ。
そこで,この特性をより明確にするために,いくつかのテストを行ってみることにした。
画面撮影にはサンワダイレクトのデジタル顕微鏡「400-CAM025」を用い,4Kテレビは東芝レグザ「40J9X」を用意した。リンク先は筆者がAV Watchへ寄稿した記事となっているので,興味のある人はそちらも参照してもらえればと思う。
というわけで,最初は,4K/60Hz(YCbCr=4:2:0)のデメリットが分かりにくい例から。
輝度情報はフル解像度なのだから,明暗差が激しい映像なら,YCbCr=4:2:0によるデメリットが出てこないはずと,黒地に白い文字を表示させたのが下の画像だ。左が4K/60HzのYCbCr=4:2:0,右が4K/30HzのRGBだが,見栄えに違いはほとんどない。
4K/60Hz(YCbCr=4:2:0) |
4K/30Hz(RGB) |
続いては人物写真だが,色はディテール表現のみで,陰影情報が主体的なものとなる写真でも,違いはほとんど感じられないのが分かるだろう。
4K/60Hz(YCbCr=4:2:0) |
4K/30Hz(RGB) |
続いては,「色の違いは明白である一方,輝度差自体は近い表現」を見ていくことにする。
下に示したのは,白背景に緑や赤で文字が書かれた表現のところだ。見て分かるように,YCbCr=4:2:0でも文字の判読自体は可能だが,オリジナルのRGBからは色味が変わってしまっており,とくに緑の文字は曲線部や「プ」の横線部に黄色い偽色(≒緑+赤)が出てしまっている。これは,色が大ざっぱになって,輝度情報メインで文字が描かれていることによる弊害だ。
4K/60Hz(YCbCr=4:2:0) |
4K/30Hz(RGB) |
橙色の,比較的輝度の高い背景に白文字を描画したところが下の画像だ。一応の明暗差があるため,かろうじて文字は判読可能だが,YCbCr=4:2:0のほうは,1ドット単位で見ると,高輝度な橙色の背景にかなり溶けてしまっている。とくに顕著なのは「動」の字の「力」部分であり,青(Cb)が間引かれた影響を見て取れよう。
4K/60Hz(YCbCr=4:2:0) |
4K/30Hz(RGB) |
背景も文字も暗くしてみたらどうだろうか。黒地に青い文字と白い文字を書いてみた例が下の画像で,白い文字のほうだと違いはない一方,青い文字で書かれた「駆動」は,YCbCr=4:2:0だとほぼ判別不能になってしまった。「駆動」の青い文字は,輝度差ではなく色だけで表現されていたため,色解像度情報が落ちてしまうと,情報はここまで抜けてしまうというわけだ。
4K/60Hz(YCbCr=4:2:0) |
4K/30Hz(RGB) |
以上のテストから言えることは下記の2点である。
- 陰影主体の表現は4K/60Hz(YCbCr=4:2:0)でも比較的正確に再現される
- 輝度差の少ない,色の違いだけで表されたところは,4K/60Hz(YCbCr=4:2:0)だとかなり曖昧な表現になってしまう
PCゲームを4K/60Hz(YCbCr=4:2:0)でプレイしてみる
テストに用いたのはElectronic Artsの「Dead Space 3」。グラフィックス設定は最も高いプリセット「Very High」を選択した。Vsyncは無効としている。
Dead Space 3は比較的グラフィックス負荷が低いため,GeForce GTX 780 Tiを利用している今回のテストでは,フレームレートは60fps近くをキープできていたのだが,前段で指摘したような4K/60Hz(YCbCr=4:2:0)特有のデメリットは知覚されず,むしろ,4K特有の高解像感を堪能できた。
「アサシン クリード4 ブラック フラッグ」もプレイしてみたが,目立った解像感不足は感じられず。
実写に近いゲームグラフィックスで,しかも動いている画面ということになると,4K/60Hz(YCbCr=4:2:0)のデメリットよりは,高解像感とハイフレームレートによる恩恵のほうが,プレイ感に対してはプラスに働いてくれるということなのだろう。
つなぎとしては間違っていない
NVIDIAのアプローチ
GPU負荷の見地からすると,GPUがせっかく輝度も色も4K解像度でレンダリングしているのに,4K/60Hz(YCbCr=4:2:0)出力の選択によって色情報の4分の3が捨てられてしまうのは純粋にもったいない。なので,GPU,そしてグラフィックスカード側がHDMI 2.0を正式にサポートし,フル解像度の4K出力をHDMI端子で実現してくれることが最良の解決策となる。ここに疑いの余地はないと述べていいだろう。
ただ,実際問題として,それこそアサシン クリード4 ブラック フラッグのような最新世代のゲームタイトルだと,4K解像度でゲームを快適にプレイするのはなかなか難かしったりする。シングルGPU構成のゲームPCだと,アンチエイリアシングやポストエフェクトの設定を落として,なんとか30fpsを超えるかどうかといったところなわけで,そういうときに,HDMI 2.0への対応を果たすであろう次世代グラフィックスカードを待ちつつ,とりあえずHDMI 1.4でも4K/60Hz出力が可能かどうか試せるようになるというのは,「つなぎ」としては十分にありがたい。
というわけで,HDMI 2.0対応のテレビとGeForce搭載のPCをつないでみる場合は,ひとまず4K/60Hz(YCbCr=4:2:0)設定のうえ動かしてみて,30fpsを超えてくるようならそのまま,そうでないならHDMI 1.4の規格内に収まるよう解像度を下げてプレイするか,HDMI 1.4でも伝送可能な4K/30Hzを選択をするかすればいいのではなかろうか。デスクトップ表示を4K/60Hz(YCbCr=4:2:0)で行って常用するのはなかなか厳しいが,ゲーム用途であれば試す価値がある。
●GeForce 340.43 Driver Beta入手先
→32bit版Windows 8.1・8・7・Vista用GeForce 340.43 Driver Beta(227MB)
→64bit版Windows 8.1・8・7・Vista用GeForce 340.43 Driver Beta(285MB)
→Windows XP用GeForce 340.43 Driver Beta(194MB)
→ノートPC向けの32bit版Windows 8.1・8・7・Vista用GeForce 340.43 Driver Beta(227MB)
→ノートPC向けの64bit版Windows 8.1・8・7・Vista用GeForce 340.43 Driver Beta(285MB)
- 関連タイトル:
GeForce Driver
- この記事のURL:
Copyright(C)2011 NVIDIA Corporation