NVIDIAはGeForce 6シリーズにおいて“PureVideo”(ピュアビデオ)と呼ばれる、新しいビデオ再生技術を投入したが、むろんGeForce 7800 GTXにおいても、PureVideoはサポートされており、いくつかの点で強化されている。 PureVideoはビデオシェーダと呼ばれるプログラマブルなビデオプロセッサを利用したビデオ再生技術だが、現時点では利用するためにソフトウェア側のサポートが必要という問題点も抱えている。そうした中で、業界ではMicrosoftに対してビデオシェーダの共通APIを用意して欲しいという声が高まりつつある。 ●ビデオ処理にもプログラマビリティをもたらすNVIDIAの“PureVideo”
NVIDIAは、昨年の末に“PureVideo”という新しいビデオ再生技術の導入を明らかにした。NVIDIAはPureVideoを、ビデオ再生の高画質化技術と位置づけており、多くの人がそういう認識を持っていると思うが、その実体は何であるかを理解している人は意外と少ないのではないだろうか。 これまでのGPUでは、固定のハードウェアを利用してビデオの処理が行なわれていた。具体的にはGPUに内蔵されているビデオ処理用のハードウェア(Video Processor Engine:VPEなどと呼ばれる)が、OS側から渡される動画のデータを処理して画面に表示していた。 一般的にPCにおけるビデオの処理は、CPU側で動画のデコード(伸張)が行なわれ、伸張されたデータがVPEに送られ、VPEの中でインタレース解除(半分の走査線しか表示されないテレビ放送の動画を、すべての走査線が表示されるPCディスプレイ用に変換する処理)や3:2プルダウン(映画など24フレームの動画を30フレームに変換する処理)などの処理が施され、ディスプレイ出力回路においてスケーリングや色補正などが行なわれてディスプレイに出力されることになる。 ただし、あらかじめ決まった処理しかできないVPEを利用した場合、すべてのシーンに適合できるような高品質なインタレース解除などは非常に難しい。このため、例えばソニーはVAIO type Vにおいて、MotionRealityと呼ばれる独自の高品質なビデオ処理エンジンを搭載しこの問題を解決しているが、PCにおいてGPU以外にビデオ処理のエンジンを搭載することはコスト増につながり、誰もができるというわけではない。 そこで、NVIDIAではインタレース解除や3:2プルダウンといった高画質の処理を、シェーダモデルのアプローチを利用して処理するという方針をとっている。NVIDIAのGeForce 6シリーズ以降(今回のGeForce 7800 GTXも含む)には、ビデオシェーダと呼ばれる仕組みがある。GPUに内蔵されているビデオ専用のシェーダエンジンにより、従来のハードウェア処理よりもプログラマブルで高度な処理が可能で、結果的に高品質なビデオ再生が可能になるのだ。 ●PureVideoを利用するには専用のデコーダソフトウェアが必要 ただし、PureVideoを利用するには、専用のソフトウェアが必要になる。なぜかと言えば、DirectXにこうした処理をシェーダエンジンで行なわせるためのAPIが用意されていないからだ。 3Dの描画において、WindowsではDirect3DのAPIを利用してGPUに処理を行なわせることが可能になっている。標準APIを利用するメリットは、GPUの仮想化だ。標準APIの存在により、ソフトウェアから見ると、どのGPUも同じGPUとして見えるので、ソフトウェアベンダは、GPUがNVIDIAでも、ATIでも、S3でも、Intelでも、Matroxでも、すべてのGPUベンダの製品に対応した3Dアプリケーションを作ることができる。 ところが、DirectXでは、ビデオをシェーダ処理するためのAPIが用意されていないので、各ソフトウェアベンダは、それぞれのGPUに対応したソフトウェアを作る必要がでてくる。だが、ソフトウェアベンダにしてみれば、すべてのGPUに対応するのは非常に大変な作業なので、対応はなかなか進まない。 そこで、NVIDIAは、自社でMPEG-2のデコーダソフトウェアを配布することで、この問題に対処した。それが、PureVideo Decoder(旧NVIDIA DVD Decoder)で、このデコーダソフトウェアをインストールすることで、ユーザーはPureVideoの機能の多くを利用できるようになる。 なお、旧バージョンのNVIDIA DVD Decoderでは、英語表示のみだったが、今回GeForce 7800 GTXのリリースと同時に公開されたPureVideo Decoderでは、新たに日本語もサポートされるようになっている。 PureVideo Decoderは、体験版をNVIDIAのWebサイトからダウンロードが可能だ。体験版は30日間利用でき、気に入ればレジストして継続利用すればよい。現時点では、PureVideo Decoderの価格は公開されていないが、NVIDIA DVD Decoderでは、2スピーカーのBasic版で19.95ドル、7.1chサポートのPlatinum版で49.95ドルとなっていた。 すでに、DVDデコーダソフトウェアを持っているユーザーには追加の投資が必要になるだけに、無料で配布して欲しいところが、DVD再生ソフトウェアの場合、MPEG-2やドルビーデジタルのロイヤリティがどうしても必要になってしまうので、無料にできないのだろう。 ●基本的にはGeForce 6世代とほぼ同じGeForce 7800 GTXのビデオ周り GeForce 6シリーズのビデオ再生エンジンは、MPEG-2デコーダエンジン、動き補正予測エンジン、ビデオプロセッサという3つのエンジンを搭載しており、このうち、ビデオプロセッサを利用して、PureVideoの処理をしていた。このビデオプロセッサは、16ウェイのSIMDベクタープロセッサから構成されており、この演算器を利用してPureVideoの処理が行なわれる。 GeForce 7800 GTXのビデオ再生エンジンのハードウェアそのものは、基本的にはGeForce 6シリーズのものとほぼ同じ構成。GeForce 7800 GTXの開発コードネームはG70だが、それ以前はNV47と呼ばれていたことからもわかるように、従来のNVIDIAのコードネームのルール(2桁目が同じ時には基本的なアーキテクチャに違いはない)に従えば、GeForce 7800 GTXは、GeForce 6シリーズの延長上にある製品ということになる。 実際、NVIDIAのマルチメディア事業部ジェネラルマネージャのスコット・ボウリ氏は「GeForce 7800 GTXとGeForce 6シリーズのビデオ周りのアーキテクチャに大きな違いはない。ただし、処理能力はGeForce 7800 GTXの方が高い」と説明しており、ほぼ同じだがGeForce 7800 GTXに内蔵されているビデオプロセッサの方が処理能力が高いというのがNVIDIAの公式見解だ。 GeForce 7800 GTXで新たにサポートされた機能は、HD解像度における時空間適応インタレース解除だ。従来のGeForce 6シリーズでもSD解像度において時空間適応インタレース解除は可能だったが、HD解像度でもできるようになった点が新しい。従来のビデオプロセッサでは処理能力が足りなかったが、GeForce 7800 GTXによって初めて可能になったと言えるのかもしれない。 このほか、前出のようにNVIDIA DVD Decoderが、PureVideo Decoderへとバージョンアップされたことにより、2:2プルダウン補正やATSC/DVB-T(米国、ヨーロッパのデジタル放送)の再生支援機能などの機能が追加された。これらはPureVideo Decoderへのバージョンアップにより、従来のGeForce 6 シリーズでも利用可能だ。 ●HD解像度のMPEG-4 AVCアクセラレーション機能も対応予定
GeForce 7800 GTXでは、このほかにも、HD解像度のMPEG-4 AVC(H.264)のアクセラレーション機能が実装されている。HD解像度のMPEG-4 AVCの再生は、CPU負荷が高いことで知られており、GPUによるアクセラレーションに大きな注目が集まっている。ATIもCOMPUTEX TAIPEIにおいてHD解像度のMPEG-4 AVCの再生デモを行なっていた。 ただし、現時点ではこの機能は有効にされておらず、今年の後半に予定されているソフトウェアのバージョンアップなどにより実現される予定であるという。もっとも、MPEG-4 AVCが本格的に必要になるのは、今年の年末にHD DVDなどが登場する段階であると考えられるので、その時期には間に合うことになるので問題はないだろう。 また、GeForce 7800 GTXではHDCPも標準でサポートされており、Microsoftが提供するCOPPと組み合わせることで、Windows XPにおいてセキュアなディスプレイ出力を実現することが可能になっている。 ●PureVideoが焙り出すビデオシェーダの標準API不在という問題点 PureVideoの最大の弱点は、専用のデコードソフトウェアが必要になるという点であることは論を待たないだろう。こうしたこともあり、「我々としては、サードパーティのソフトウェアベンダに対してPureVideoのサポートを働きかけていく。現在サイバーリンク(PowerDVD)やインタービデオ(WinDVD)に対して、PureVideoのサポートを働きかけている」(前出、NVIDIAのボウリ氏)との通り、NVIDIAは直接ソフトウェアベンダに対して働きかけていくという。 DVD再生ソフトウェアに関しては、サイバーリンクとインタービデオの2社をサポートできればそれでよいかもしれないが、それ以外のソフトウェアに関してはそうもいかないだろう。 例えば、今後エンコードソフトウェアがGPUを利用して処理する場合にも同じ問題が発生する。実際、NVIDIAは米国で行なったGeForce 7800 GTXの説明会において、PureVideoのビデオシェーダを利用した、ビデオ処理のデモを行なっている。HDコンテンツのリアルタイム再生において、CPUを利用した場合にはコマ落ちしてしまっていたのに対して、GPUのアクセラレーション機能を利用した場合にはコマ落ちせずに再生できる、というものだった。しかし、このソフトウェアも対応しているのは、NVIDIAのGPUのみであり、ATIなど他社のGPUには対応していないという。こうした状況では、ビデオシェーダの機能が広く利用されるというのは難しいだろう。 従って、長期的にはOS側に、ビデオシェーダを仮想化する仕組みが必要になるだろう。Direct3Dのように、ソフトウェアからはすべて同じハードウェアに見える仕組みを導入しなければ、広くソフトウェアベンダにサポートしてもらうことは難しい。 今後、GPUのアーキテクチャはユニファイドシェーダのように、一般的な演算器とシェーダプログラムの組み合わせが主流になっていく可能性が高いと言われている。しかし、標準APIが用意されない限り、そうなったとしてもビデオ処理には演算器が使えないという状況が生じることになる。 Microsoftにはぜひ、この問題に対する何らかの答えを早期に出して欲しいものだ、それはMicrosoftにしかできないことなのだから。 □関連記事 (2005年6月28日) [Reported by 笠原一輝]
【PC Watchホームページ】
|
|