【特別企画】MPEG-4 AVCエンコード高速化から超解像まで

-CUDAで試す、PCビデオ製作環境の最適化



 パソコンでの高負荷作業の代名詞といえるのが、ビデオ編集/出力だろう。CPUのパフォーマンスが向上して、だいぶ楽になったとはいえ、HDVファイルや、フルHD解像度でMPEG-4 AVC/H.264映像を記録する「AVCHD」などの比較的新しいフォーマットについては、2~3年前のスペックのパソコンで編集/出力するのはかなり厳しい。

LeadtekのWinFast PxVC1100

 そこでCPU以外のアクセラレータを使った、ビデオ制作環境の提案も行なわれている。例えば、東芝のメディアプロセッサ「SpursEngine」を使ったリードテックの「WinFast PxVC1100」やカノープス「FIRECODER Blu」では対応ソフトウェアと併用でかなりの高速化を実現している。価格は3万円弱から2桁万円までソフトウェアなどの違いにより幅はあるものの、コンシューマ向けとしてはやや高価な製品と感じさせる。

 そうした「専用カード」だけでなく、注目したいのはパソコンのビデオカードを使ったエンコードや各種ビデオ処理の高速化だ。例えばNVIDIAのGPU「GeForce 8800 GTX」以降の製品では「CUDA(Compute unified device architecture:クーダ)」と呼ばれるアーキテクチャを搭載しており、これをエンコードの高速化やビデオ再生支援などに活用できるのだ。

 同様にAMDのGPU向けには「ATI Stream」が用意されている。いずれも、かつてはCPUが担ってきた処理にGPUのパワーを割り当てることで、処理の高速化や高画質化などのさまざまな機能を組み込むというものだ。以前はPCゲームなど限定された使い方がされてきたが、最近は「GPGPU(General Purpose Computeing on GPU)」という呼ばれ方もしており、こうしたGPUのパワーを積極的に活用するソリューションが生まれてきている。

ZOTAC 9800GT SYNERGY EDTION 512MB

 たとえば、「PowerDirector7」や「TMPGEnc Xpress」におけるフィルタ処理など、ビデオ関係のソフトウェアではかなり対応が増えている。対応ソフトウェア製品の数でいえば、現状はCUDA対応のものが多く、今回はGeForce 9800GTを搭載した「ZOTAC 9800GT SYNERGY EDTION 512MB」を利用し、CUDAによるビデオ処理の高速化についてまとめてみた。

 このクラスのビデオカードは1万円以下でも販売されているので、デスクトップPCのアップグレードとしては比較的安価といえる。テスト環境には、CPUはIntel Core 2 Quad Q6600(2.40GHz)、メモリ 4GB、HDD 500B(7,200prm)のデスクトップPCを利用した。



■ Super Loilo ScopeでAVCエンコードを大幅に高速化

 CUDAの活用事例で最も分かりやすいのが、ビデオのエンコードやフィルタ処理だ。なんといっても、ビデオをパソコンで扱う際に最も処理負荷が高いのが、エンコード作業だろう。特にAVCHDにおけるハイビットレートなMPEG-4 AVCなどは、最新CPUを搭載したパソコンでもCPU負荷率は常に天井に張り付いた状態になってしまう。

Super Loilo Scope

 そこで重要になるのがGPU+CUDAによるエンコードだ。今回は株式会社Loiloの「SuperLoiloScope」を利用した。価格は6,900円。これはユニークUIが特徴的なビデオ編集ソフトでElectric Zooma!でも取り上げている。

 主な操作についてはZooma!を参照してほしいが、動画を「デスクトップ」と呼ばれるメイン画面でプロジェクトごとに一括管理して、それらの素材を適時タイムラインに並べ替えて編集できる。またマウス操作で素材を右上などに投げるように移動してまとめるなど、ユニークな操作体系が特徴となっている。従来のビデオ編集とはちょっと違った感覚が面白い。

 ただし、結構CPU負荷も高いようで、複数のHD映像を扱うと、Core 2 Quad搭載のパソコンでもメインのタイムラインのプレビュー画面で、フレーム落ちが発生してしまう。ここをCUDAによる支援機能を使うことで、動作の高速化とともにフレーム落ちもある程度防げるようになった。

Super Loilo ScopeのUI「GPUによる動画再生をONにする」でフレーム落ちを防ぐことができる
出力形式の選択画面で、CUDA(.mp4)を選択

 操作よりもっと大きな違いがでるのがエンコードの高速化だ。映像出力については、「シェア」のタブから宝箱のアイコン(映像をファイルに保存)を押すと、出力ファイル形式として「.WMV」、「.mov」、「.avi」「.mp4(CPU)」、「.mp4(CUDA)」の各項目が現れる。

 MP4の高速書き出しが可能なのは、もちろん「.mp4(CUDA)」なので、これを選択すると、プリセット設定として、iPod、PSP、AVCHD、BlurayとCustomの各項目があらわれる。


プリセットはiPod、PSP、AVCHD、BlurayとCustomが選べるCustomで15MbpsのAVC出力を選択GPUを利用しない場合の設定画面

 今回はCustomを中心に利用したが、ここではAVCのプロファイル(Main/High/Baseline)の選択やビットレートモード(可変/固定)、リサイズなどの設定が行なえる。CUDA対応のビデオカードを利用している場合は、この項目に「.mp4(CUDA)」と表示され、その違いが確認できるようになっている。

 AVCHDカメラ「HDR-TG5V」で撮影した1,920×1,080ドット17Mbps、15秒のAVCHDビデオ(mts)をMPEG-4 AVC、15MbpsでMP4出力したところ、CPUのみでは1分36秒となった。一方でCUDAを利用すると17秒と圧倒的に高速に処理が終了。20秒のHDVファイルについては、CUDA ONで33秒。対してCUDAをOFFにすると2分37秒ほどかかった。

 21分38秒のHDVファイルを15MbpsのMPEG-4 AVCに変換してみたところ、CUDA ONで29分33秒で終了した。一方、CUDA OFFだと2時間38分(コンバートに1時間18分、Exportに1時間20分)かかってしまう。CUDA利用で5倍強の処理の高速化が図れたこととなり、この差の分だけでもGPUのパワーの恩恵は大きいといえるだろう。

CUDA利用時とCPUのみのAVC変換速度比較
 

 HD映像だけでなく、ポータブル用の動画を作れるのも特徴だ。アナログ録画した54分のテレビ番組(SD解像度を)をiPod/iPhone用(320×240ドット/MPEG-4 AVC/Baseline Profile/1.5Mbps)に出力してみたところ。CUDA ONで12分8秒。対して、CUDA OFFでは80分10秒かかった。

 このようにGPU+CUDAを使った高速化はかなり強力。特にアナログ録画のユーザーや、ビデオ編集を積極的に行なうユーザーにとっては、大きな作業時間短縮が可能といえる。

GeForce GTX285搭載カードでもテスト

 なお、今回試用した「ZOTAC 9800GT SYNERGY EDTION 512MB」については、ローエンドクラスに位置づけられる製品だが、最新/最上位のGPU「GeForce GTX285」を搭載したビデオカードでもテストしてみた。前述の21分のHDVファイルを利用したところ、5分ほど早く、24分10秒で作業終了した。

 つまり、ビデオカードのアップグレードにより、さらなる高速化が可能ということで、カード/GPUの進化に合わせて高速化が見込めるわけだ。このあたりは予算と利用頻度にあわせて判断したい。

□製品情報(SuperLoiloScope)
http://loilo.tv/product/1


■ DVDアップスケーリング時の負荷も低減

Total Media Theater 3

 もう一つGPUパワーを生かせる部分としては、動画の再生支援があげられる。といってもNVIDIAのGPUの場合、Blu-ray Discの再生にはPureVideo HDというデコーダを内蔵しているので、基本的にはこちらが利用できる。最新のプレーヤーソフトやGPUでは、こうした動画再生支援機能が充実しており、一昔前のパソコンに比べるとBlu-ray Disc再生もそれほど負荷は高くなくなったといえるだろう。

 そんな中でユニークな取り組みと言えるのが、ArcSoftの「Total Media Theater 3」。DVDのアップスケーリングにおいて、CUDAを使った独自開発のDVDアップスケーラー「SimHD」を搭載し、CPU利用率の低下とともに、画質の向上を図っているという。ダウンロード版の価格は89.99ドルだ。

 SimHD機能をONにして、実際に「パイレーツ・オブ・カリビアン 3」のチャプタ4を見てみると、暗い海の上のシーンでの松明の輪郭のぼけがすっきりとし、暗い船上のキーラ・ナイトレイの肌の階調もしっかりと見えるようになる。その後の海賊船が海上に浮きあがるシーンの船の外装のディティールや水しぶきなど、解像度が上がったように感じられる。海図を見ながら戦略を話し合うシーンにおける線の見え方の違いでも、その効果は確認できた。

SimHDをONにしてCUDAを高画質化に利用CPU利用率も通常再生時より数%低下する

 
□製品情報
http://www.arcsoft.com/public/software_title.asp?ProductID=418&dyContent=


■ 超解像処理ソフト「vReveal」も

vReveal。Gallaryに動画を登録

 CUDAを使った面白い試みとしては、米MotionDSPによる「vReveal」があげられる。動画に対して超解像処理を行なうソフトウェアで、49.95ドルで発売されている。超解像といえば、東芝が2008年秋発売の液晶テレビ「REGZA Z7000」シリーズで採用。最新のZX/Z8000シリーズでも搭載されている。

 REGZAでは地上デジタル放送や外部入力のHD映像を、1,920×1,080ドットのフルHDパネルで最適化して表示する、というアプローチであったが、vRevealは携帯電話やデジタルカメラの撮影動画、Youtubeアップロード向けの映像など、低解像度ファイルを高画質化するもの。そのため、対応解像度は垂直解像度が最高576ドットとなっている。

 技術的には、複数枚のフレームを参照した超解像を利用しており、Motion DSP独自のアルゴリズムがその特徴としている。なお、HD解像度対応については上位バージョンとして将来的に提供予定としている。

 対応ファイルは、入力が、AVI/MPG/ASF/WMV。QuickTimeがインストールされた環境では、MOV/3GP/MP4/3G2にも対応する。出力形式はAVIとWMV。編集部で試したところFLVも読みこめたが、FLVを出力できないのはやや残念なところだ。

CUDA支援をONに。OneClickFixの設定も

 操作はいたってシンプルで、取り込んだ映像に対して、各種画質改善機能を選択するというもの。その機能を「Clean」(ノイズ除去)、「2x Resolution」(解像度2倍)、「Sharpen」(シャープ化)、「Auto Contrast」(自動コントラスト補正)、「Stabilize」(ぶれ修正)、「Fill Light」(明るさ増強)という6つを用意している。

 各機能はEnhance画面で適用可能で、出力前にプレビューしながら効果のほどを確認できる。どの機能も一見してその違いがわかり、Cleanでは明確にモスキートノイズが軽減され、Sharpenでは、いわゆるシャープネス強調なのだが、強調に伴うリンギング(疑似輪郭)の発生をほとんど感じさせないのが特徴。Auto Contrastの精度もなかなか高く、これらを併存して適用することも可能だ。

 また、「One Click Fix」というボタンも用意。これをクリックすると、指定しておいた効果を一度にON/OFFするものとなっている。デフォルトではStabilizeとFill Light以外の効果をMediumに設定するようになっている。また、それぞれの項目の詳細設定も可能で、Cleanであれば、3段階に効果を変更できる。


Clean、AutoContrastなど、6種類の機能を用意するOne Click Fixで各種設定を1クリックで決定各項目の詳細な設定も可能だ
Cleanで本の背表紙の文字周辺のモスキートノイズを低減(srm01e.wmv)元ファイル(srm01.avi)
sharpnessで花壇の草花のディティール感を向上(srm03e.wmv)元ファイル(srm03.wmv)
Clean+sharpness+
AutoContrast
(srm04e.wmv)。コントラスト感は向上。ただし、CleanはMedium設定だが、若干噴水の水しぶきのディティールがかけてしまった
元ファイル(srm04.wnv)

 Stabilize機能も面白い。いわゆる手ぶれ補正機能だが、結構うまく手ぶれが補正されているので、手持ちのデジタルカメラなどで撮影した動画などには効果が高い。ただし、一部の撮影領域がトリミングされてしまうので、このあたりは注意が必要だ。デジタルカメラの撮影時にそのあたりを留意して撮影するのもいいかもしれない。

Clear+SharpnessにStabilizeも適用(srm02e.wmv)。元ファイルと比較するとややトリミングされている元ファイル(srm02.flv)

 vRevealはかなり負荷の高い処理を行なっているためGPUの利用は必須といえる。たとえば上記のマーライオンの動画は640×360ドットの24fpsで長さは10秒のファイルだが、これに対してOne Click FixでClean、Auto Cotnrast、SharpenessをMediumでかけた場合、GPU ONではフレームレート17~18fps程度でプレビューできる。CPU利用率も20%後半だ。一方、CPUのみでは4~8fpsとなり表示がかなりガタガタで効果のほどがわかりにくい。それだけでなく、CPU利用率も70%後半から80%前半となり、通常のPC操作に支障をきたす。また、出力時にもCUDAを利用できるので、VGA程度の動画であればファイルの実時間程度で出力できる。

 ある意味CUDAの能力をフルに発揮する、というか使わないとストレスが溜まるという意味でも、GPGPUの可能性の高さを感じさせるソフトといえる。SpursEngineを搭載した最新の東芝「Qosmio G60」でも全画面表示したWebブラウザ上での超解像処理を実現していたが、vRevealでは、Webブラウザ上では動作しないもののローカルのファイルの高画質化でさまざまな応用が効くという点で汎用性は高い。何よりCUDA+GPGPUさえあれば、専用のカード/パソコンを用意せずに簡単に超解像を楽しめるというのは大きな魅力といえるだろう。

 □製品情報
http://www.vreveal.com/


■ 安価なビデオ制作環境強化として注目

 ソフトウェアの追加により、高速出力、高画質化など、さまざまなビデオ機能強化が楽しめ、パソコンで動画を扱う楽しさを広げてくれる。CUDAにおいては順次ドライバアップデートにより機能強化も行なわれているので、そうした「進化」も楽しめる。また、エンコードの例のように最新のビデオカードに入れ替えることで、さらなる処理速度向上も図れるところも魅力。毎年ビデオカードの性能は上がり、それにより、より高性能なものが低価格化していく。それにあわせてパフォーマンスとコストに見合ったカード選択ができるという点も魅力的だ。

 「CPUのみ」と比較すれば、高速化と快適操作という恩恵は明らか。今回利用したビデオカードが実売1万円弱。これで、アプリケーションを追加購入する場合でも2万円以下で、エンコード高速化なり高画質化を体験できるという柔軟性の高さは、動画制作環境に悩む人にとっては魅力的な選択肢となるのではないだろうか。


(2009年 6月 12日)

[AV Watch編集部 臼田勤哉]