高速エンコーダの現状−インテルQSV機能と外付GPUカード
(本ページはプロモーションが含まれています)
動画映像のエンコード処理は、CPUの演算に依存したソフトウェア・エンコード中心に行なわれて来ましたが、ソフト方式は、CPU負荷が高いため、マルチコアCPU利用の並列処理で改善されて来たものの、それでも時間がかかっていました。
【関連の深いページ】:
●3DCG制作入門向けパソコン -Blenderが快適
●市販ハード・エンコーダに迫る新Core iシリーズQSV機能
●動画編集パソコン一覧
前のページ「市販ハード・エンコーダに迫る新Core iシリーズQSV」に書いたのは、第2世代インテルSandy Bridge CPU搭載のQSV (Quick Sync Video)機能と、「外付ハードウェア・エンコーダカード」との性能比較でした。
しかし、この動画エンコード処理に、もっと身近なパーツである外付グラフィックカード搭載の汎用計算コアGPUを使う、いわゆる「GPGPU利用技術」でのエンコードと比較したら、どちらが速いのでしょうか?
(技術的な発展経過を補足して置きますと)
元来、3D高速描画向けの(ピクセル/バーテックス・シェーダなど)シェーダ処理専用だったものが、汎用シェイダー(Streaming Processor:SP)へと進化し、単純計算に向いた小さなプロセッサがますます搭載されて来た最近のグラフィックカードのGPUを利用してエンコード処理(CUDA利用技術など)を行なわせると、CPUの負担が大幅に減り高速化できるようになったという背景があります。
この技術を利用した「Main Concept社(現在DivX傘下)のデコーダ・エンコーダエンジン」(注記3)も、Adobe Flashや、人気のペガシスの最新ビデオ編集ソフト「TMPGEnc Video Mastering Works 5」のMPEG-4 AVCエンコーダとして広く使われるようになって来ました。
さて、こういった背景があるとして現状はどうなっているのでしょうか。
インテルCPU内蔵のQSVエンコードとこのCUDAエンコード(AMDではAPP(注記4)エンコード)方式を詳しく比較した記事が、日経Win-PCの2011年6月号102ページに、「最新ハードで高速動画エンコード」というタイトルで出ていましたので、かいつまんで紹介しておきます。
【インテルQSVエンコード機能とCUDA(AMDではAPP)エンコードを比較】
内容は、ペガシス社のビデオ編集ソフト「TMPGEnc Video Mastering Works 5」や、コーレルの動画編集オーサリングソフト「VideoStudio Ultimate X4」、サイバーリンクの、「Media Espresso 6.5」、「ロイロスコープ2」の4つのソフトで、それぞれ動画のエンコードを行い、終了までの処理時間や画質の比較を行なったものです。
この中でも特筆に値するのは、サイバーリンクの「Media Espresso 6.5」でした。
それは、
記事での計測データでエンコード時間が一番短かったことだけでなく、CPU内蔵の「インテルQSVエンコーダ」とグラフィックカードに搭載のGPUである「Nvidia のCUDA」や「AMDのAPP(注記4)」を自動検出する点です。
つまり、インテルQSV機能だけでなく、Geforce 系とHD Radeon系のグラフィックGPUを自動検出し、そのエンコード利用していることをロゴマーク表示してくれるソフトであるということです。
前のページ「市販ハード・エンコーダに迫る新Core iシリーズQSV機能」に書いた、「外付けグラフィックカードとQSV機能を同時に使えないという問題を解決する面白い技術(Lucid Virtu:最新版Virtu MVP2.0)」が、すでに「Media Espresso 6.5」では採用されていたのです。
つまり、複数のエンコーダを利用できる環境のPCでは、最適なエンコーダをソフトが自動で選択してくれる。また、それをロゴマーク表示してくれるのです。
さて、日経Win-PC 6月号の記事では、ハードウェア・エンコーディングとハードウェア・デコーディングを有効として、1分間の動画ファイルソースをエンコードしていました。
(動画ソース:MPEG-2形式、1920 x 1080ドット、ビットレート30Mbps、1分(1800フレーム)を →エンコード設定:ファイル形式 MP4、動画形式H.264、解像度1920 x 1080、ビットレート13Mbps、音声ビットレート256kbps、で出力。)
【Media Espresso 6.5の計測データ結果】
●インテルQSVエンコーダ:
・「高画質」設定で 17秒:(素材の約28%の時間)大きな問題なし。
・「高速変換」設定で11秒:(素材の約18%の時間)動画の文字部にブロックノイズ多さ気になる。
●(Geforce系)CUDAエンコード利用:16秒:(素材の約27%の時間)動画の建物輪郭が若干つぶれたが視聴に問題なし。
(Geforce系カードは、GTS450、GTX460〜GTX590までミドルハイエンドで差がない)
●(Radeon系)APPエンコード利用:37秒:(素材の約62%の時間)モスキートノイズが多い、色がくすんだ。
(Radeon系カードは、HD 5850、HD5970〜HD6990までミドルハイエンドで差がない)
このソフト処理作業中で、最適なハードエンコーダとして利用しているエンコーダ種類をロゴマーク表示してくれると言う。
(「最適」というのは、WinPC誌の言であり、QSVとカードのどちらが優先されるかは未確認)
上記の測定PC性能は下記。
・CPU : Core i5- 2500(3.3GHz) ,
・Memory : 2GBx 2 DDR3-1333 ,
・Motherboard : H67DE3 (intel H67chipset , ASRock )
(←人気の編集ソフト :Corel VideoStudio Ultimate X6)
【記事からの結論】
各々測定の条件が同じなので、この記事から言えるのは、
★インテルQSVエンコードの「高速変換」設定が11秒と一番速い。 が、ブロックノイズが多い。
「高画質」設定エンコードでは、17秒で、CUDAエンコードの16秒より、わずかに遅いが画質では優れる。
★HD Radeon系カードのAPPエンコードは、2倍以上かかりだいぶ遅い。
という結果でした。(正確には、CUDAとAPPはハード・エンコーダではなく、GPGPU利用のエンコードソフトだが、上ではハード・エンコーダと表記。)
また、
Radeon系カードを使ったAPPエンコードは、「Media Espresso 6.5」以外の3つのソフトでは、結果が書かれてなく測定できないようでした。
AMD社のビデオ編集例ムービーとして、ホームページに紹介されているのは、サイバーリンク社の「Power Director 8〜9」であり、Radeon系カードは、このソフトと親和性がよいと思われます。もちろん、Geforce 系カードでも使えますが。
<結論>
以上から、
CUDAエンコードとの比較では、「QSVエンコーダ」性能は、同等以上のレベルと言えるかも知れません。
【GPGPU利用の役割分担について】
◆下記は、64bit OS 対応したソフト「PowerDirector 9 」の例です。
「PowerDirector 9 Ultra64 」は、「TrueVelocity Parallel 」という名称の(レンダリング)エンジンを開発し搭載していますが、その解説で、「エフェクトの適用、レンダリング、フォーマットの変換、動画のエンコード出力」などの処理におけるGPGPU技術としてGPUの汎用計算コア利用の解りやすい、流れブロック図が出ていましたので下に紹介して置きます。
右下のGPGPU Accelerationのブロックで、AMD Radeon Streaming Processers群、Nvidia CUDA コア、そして今回のインテルQuick Sync Video の処理位置がよく確認出来ます。
また左下のデコーダ処理ブロックでは、AMDのUVD (Unified Video Decoder)機能、NVIDIAの「Pure Video HD」、そしてインテルCPU内蔵のClear Video機能の動作処理位置が解ります。(サイバーリンクサイトではAMDをアピールするため、先頭に書かれている。)
下図では、エフェクトの下にマルチCPUコアが繋がっていますが、解説文には「(TrueVelocity Rapid Effect は)GPGPU を利用してエフェクト処理のような負荷の強いタスクの実行速度を向上させ・・・、動画や画像へのエフェクトを適用後、瞬時にプレビュー・・・」とあり、実際はGPUの演算コアで処理動作するようです。その他の負荷の強いタスクでも同様にGPUの演算コアが使われると思われます。
次に、
LEADTEK社のサイトでは、前ページに出て来た「SpursEngine搭載のエンコーダカード」利用環境でのGPGPU利用の役割分担が解りやすく出ていました。
このペガシスソフトは、「Main Concept社のデコーダ/H.264エンコーダエンジン」が搭載された(と思われる)最新版「TMPGEnc Video Mastering Works 5」より前のソフトのようです。このためCUDAの役割分担がフィルター処理のみに適用と思われます。
◆NVIDIA CUDA テクノロジーとの連携図ということで、エンコード処理での役割分担の概要が、LEADTEK社のエンコーダカードWinFast PxVc1100解説、「WINFAST PxVC1100 + TXP4.0 w/movie Plug-in SpursEngine」のページに出ていました。
本例では、CUDA に対応した(外付け)グラフィックカード(GPU)は、ハード・アクセラレータとしてフィルター処理作業を分担し、CPUでの計算処理より、GPUの汎用計算コアのベクトル演算(SIMD演算)ユニットの方がより速いと判断した時、フィルター処理を行なうようです。
◆下記は、もう一つの有名な編集ソフト「EDIUS Neo3」におけるGPGPU利用例です。
このソフトでは、3Dトランジション「GPUfx」と名付けた「グラフィックボードのGPUを活用した新方式」を「EDIUS Pro 5」(現在は「EDIUS Pro 6」)や「EDIUS Neo 2 Booster」から採用しているようです。
これは、フルHD映像に高速・高画質のエフェクトを行うために「CPU−GPU間のスムーズなデータ転送を可能にする」独自の方式で、トランジション処理のみに適用してるようです。
このソフトは、ビデオ編集用PCを得意とするツクモの下記参考例の機種にも標準採用されています。
ただし、このツクモのノンリニアビデオ編集PCは、標準で、ビデオカードが付いてなく、CPU内蔵GPUのインテル HD Graphics(Clear VideoデコーダとQSVエンコーダ)機能を利用した代表例として掲載しました。
この「3DトランジションGPUfx」の効果的な利用には、外部ビデオカードの追加が必要でしょう。ただし、CPU内蔵Intel Graphicsと外部ビデオカードは、通常同時に使えないという問題(「Windows 8 + Ivy Bridge 世代以降CPU」の環境下では、利用可能になった。→市販ハード・エンコーダに迫る新Core iシリーズQSV機能ページの重要な注記を参照方)があり、「Media Espresso 6.5」のような自動検出があるかは調べていません。
2011年5月18日作成
【ビデオ編集用PC(参考)例】
◆ツクモ:ノンリニアビデオ編集パソコンE-GEAR:EM7J-B31/S (ミニタワーモデル) :¥119,980 円
:編集ソフト「EDIUS Neo3」付属
注記1)エンコード処理:
ビデオ映像は、1秒間に24枚(プログレッシブ方式)ないしは30枚(インターレース方式)の静止画を連続して表示しており、その1枚(1フレーム)やその前後のフレームを解析し、必要のない部分を削ったりして圧縮していく作業を、エンコードと呼んでいる。
その時に、前後のフレームの依存関係や、各フレームを分解したブロック単位の解析作業などは細かな単位に分割でき、かつ作業も単純で並列処理が可能な場合が多いので、小さなプロセッサがたくさん内蔵されているGPUに向いている作業だと言える。
注記2)MPEG-4 AVCで利用されているH.264の圧縮方式:
H.264では1フレームが16×16ピクセルのマクロブロックに分解され、さらにそのマクロブロックが4×4ピクセルのスレッドブロックに分解され、さまざまな処理が行なわれる。
大きく2つの処理があり、1つは前後のフレームを比較して、その重なっている部分を判別し必要のない部分を削っていく処理。もう1つが、同じフレーム内のマクロブロックで同じような色である部分を判別し、そこを削っていく処理などが行なわれるていく処理。
前者ではInter-Dependancies(フレーム間の依存)が問題になり、後者ではIntra-Dependancies(フレーム内での依存)が問題になり、圧縮にかかる処理時間に大きな影響を与えるという。これらの処理を効率よく行なうことが「高速エンコードに重要」と言う。
以上の注記は、【GTC 2010レポート】「CUDAに対応したMain Concept社のMPEG-4 AVCエンコーダ」(2010年9月)講演報告内容からの抜粋です。
注記3)「Main Concept社のデコーダ・エンコーダエンジン」は、人気のペガシスのTMPGEnc最新版のMPEG-4 AVCのエンコーダや、Adobe FlashのMPEG-4 AVCエンコーダなど、各社のソフトウェアに組み込まれている。Main Concept社は、ドイツに本社があるソフトウェアベンダーで、サードパーティのソフトウェアベンダー(いわゆるISV)に製品を提供している。現在DivXに買収されその子会社。
注記4)APPは、Accelerated Parallel Processing の略で、AMDがATI Stream Technology(または、AMD App Accelerationなど)と呼ぶ技術のひとつであるが、GPUの汎用計算コアをグラフィックス表示以外に利用するGPGPU技術である。
【関連の深いページ】:
●3DCG制作入門向けパソコン -Blenderが快適
●市販ハード・エンコーダに迫る新Core iシリーズQSV機能
●動画編集パソコン一覧