TMPGEnc Video Mastering Works 6 V6.1.5.26(内蔵GPU)

さて動画のトランスコードであるが、TMPGEnc Mastering Works 6はIntel Media SDKをサポートしており、Media Engineを利用してのエンコードが可能である。

そこで、動画ソースは先ほどと同じTears of Steel 4Kを利用して

  • H.264 HW:フォーマットはH.264/AVC。プロファイルはHigh@Level 5.1、エンコーダはIntel Media SDK、システムストリームはMP4として出力。フレームレートと画面サイズは変わらず。VBR。
  • H.264 SW:エンコーダはx264にした以外はH.264 HWと同じ。
  • H.265 HW:フォーマットはH.265/HEVC。プロファイルはMain@Level 6.2、エンコーダはIntel Media SDK、システムストリームはMP4として出力。フレームレートと画面サイズは変わらず。VBR。
  • H.265 SW:エンコーダはx265にした以外はH.265 HWと同じ。

としてみた。H.265では先ほどのテストとはレベルが異なる(先ほどはMain 10@Level 6.2、今回はMain@Level 6.2)のだが、これはTMPGEnc Video Mastering Works 6がサポートしているIntel Media SDKがMain 10プロファイルをサポートしていないため、こちらに合わせたためだ。

さて結果はグラフ78である。興味深いのは、ほとんどのケースでKabyLakeがセオリー通り高速だが、Intel Media SDK経由でのH.265エンコードはSkylakeの方が高速なことだ。

この理由は、実は簡単で最新のIntel Media SDKを使っていないためだと考えられる。というのは最新版(2016 R2)のリリースノートを見ると、HW HEVC Encodeの項目に"Full HW HEVC encode MAIN10 profile supported on 7th Generation Intel Core and Core M platforms with limited feature coverage, please refer to limitations section"という項目があり、そのlimitationとは"HW Accelerated HEVC Encode supports MAIN10 profile only starting 7th generation Intel Core platforms."となっているからだ。

つまりKabyLakeの場合は、Main 10プロファイルを利用できていいはずなのに、これが利用できないのはTMPGEnc Video Mastering Works 6側の問題ということになる。

先にTMPGEnc Video Mastering Works 6が2016年5月からアップデートがないという話をしたが、この最新版のMedia SDKがリリースされたのは、モバイル向けKabyLakeのリリースである2016年8月であり、当然アップデートに追いついていない。

要するにソフトウェア側の対応が間に合っていないので、Skylake互換としてKabyLakeのエンコーダは動作しており、これだとフルに性能が出せない、というあたりが理由と思われる。

ではH.264はなぜ高速になったかといえば、こちらはすでに改良が無い(つまりSkylakeもKabyLakeも同じ)部分なので、あとは動作速度が上がればそのままエンコードも高速になるということだろう。このあたりはペガシスの今後の対応に期待したいところだ。