AMD HEROES

twitter
facebook
line

CPUよりも7倍以上速いことも!?RadeonのGPUエンコーダーでアドビソフトの動画エンコード速度を検証(1/3)

加藤勝明(KTU) 編集●ジサトラ ハッチ/ASCII

※この記事はASCII.jpからの転載です(文中リンクはASCII.jpの記事に飛ぶことがあります)

RadeonのGPUエンコーダーで
Premiere ProやMedia Encoderの出力時間が激減するって本当?

動画編集を行なう者にとって、処理時間の短縮はかなり重要な要素だ。とりわけ最終成果物を得るためのエンコード作業は、作品の尺が長く、画質を求めるほどに長くなる。動画編集をするならある程度コア数の多いCPUが必須なことを考えると、最近であれば多コアでコスパに優れるAMDのRyzenやRyzen Threadripperを選ぶのはごく自然の流れだ。

しかし、こと動画エンコードの処理速度でいえば、CPUよりもGPUの方がずっと高速に処理できる。今時のGPUに搭載されているハードウェアエンコード機能は、ゲーム画面をCPUパワーをほとんど使わずに、高画質エンコードする機能を備えているのだ。最新のNavi世代のRadeonでは「Radeon Media Engine」と呼ばれる機能がこれにあたる。

GPUに内蔵されたハードウェアエンコーダーを使うには、動画編集アプリ側がこれに対応している必要がある。ここで注目したいのが、先日アドビが定番動画編集アプリ「Premiere Pro」および動画エンコーダー「Media Encoder」において、Radeon(とGeForce)に内蔵されたエンコーダー(以降これをGPUエンコーダーと呼ぶ)を利用できるようにした、というニュースだ。

正確を期すために記しておくが、Premiere ProでGPUエンコード対応は特別なニュースではない。既にインテルの内蔵GPUが持つ「Quick Sync Video」では対応しているし、サードパーティーのプラグイン「Cinegy Adobe CC 2019 Accelerator Plugin」等を導入するという手も存在する。ただQuick Sync VideoはRyzenにはない機能だし、サードパーティー製プラグインはRadeonが非対応なことも多い。つまり今回のアップデートは、公式にRadeonのGPUエンコーダーが対応したという点で、かなりの前進といえる。

アドビのブログでRadeonやGeForceのGPUエンコーダーが利用できるようになったと解説している(赤線は筆者が追加したもの)

そこで今回は、Premiere ProやMedia Encoder経由でRadeonのGPUエンコーダーを利用し、CPU利用時と比べ速度や画質がどう変化したのか、簡単に検証してみたい。

1パスエンコードのみ対応

RadeonのGPUエンコーダーを利用するには、Premiere ProやMedia Encoderを最新版にしておく必要がある。あとは普通にPremiere Proで直接「書き出し」をするか、Premiere ProからMedia Encoderへエンコードキューを発行すればよい(AfterEffectsからMedia Encoderへの書き出しでも可)。Radeon環境の場合「エンコード設定」で「ハードウェア」を選択すれば、プライマリで使用しているビデオカードに内蔵された動画エンコーダーを使って、エンコード処理が実行される(ただしRyzen Gでは未検証)。

ここまで読んでピンと来たかもしれないが、現時点のPremiere ProやMedia Encoderは利用するGPUを選択できない。1台のPCにGeForceとRadeonを挿しておいて、状況により使い分けるということはできないのだ。

Premiere ProやMedia Encoderの設定で特に難しい部分はないが、GPUエンコードを利用する場合、CBRもしくはVBRの1パスエンコードに限定される点は注意すべき点だろう。2パスエンコードも選択できるが、選択しても自動的にCPUエンコードに切り替わるだけだ。

Premiere ProやMedia Encoderで動画を書き出す際の設定ウインドウ。GPUエンコーダーを利用できる環境ならば「エンコード設定」の部分で「ハードウェア」が選択できるようになった

エンコード手法によりビットレート設定のUIが変化する。これはソフトウェア&VBR(1パスまたは2パス)に設定した場合。目標ビットレートと最大ビットレートの2種類のパラメーターを設定できる

ハードウェア(GPUエンコード)かつVBRを選択すると、CPUエンコード時では存在していた最大ビットレート設定が消滅し、平均ビットレートのみ設定可能になる

ここでエンコード処理中のCPUとGPUの負荷も確認しておきたい。筆者がよく使っているPremiere Proのフッテージ(映像素材)をH.264の4K動画にエンコードした時の負荷を比較してみた。元の動画はPremiere Pro 2020で編集しているが、エンコードはMedia Encoder 2020で実施している。

「Media Encoder 2020」でPremiere Pro 2020で編集した4K動画をCPUエンコードした時のCPU負荷。GPUをあまり使わない編集になっているため、CPUはほぼ全コアが活用されている(続く)

(続き)CPUエンコードでもGPUは微妙に動いている。動画をデコードする作業をGPUが負担しているからだ。とはいえGPU負荷は極めて小さい

今度は同じ動画をGPUエンコードした時のCPU負荷。フル稼働に近いコアもあるが、CPU負荷は3分の1程度に低下した(続く)

(続き)その時のGPU負荷を見ると、エンコードエンジンがほぼ全力で回転し、さらにコンピュート処理も20%弱発生していた

この記事もおすすめ

PAGE TOP