Mac業界の最新動向はもちろん、読者の皆様にいち早くお伝えしたい重要な情報、
日々の取材活動や編集作業を通して感じた雑感などを読みやすいスタイルで提供します。

Mac Fan メールマガジン

掲載日:

Appleシリコンの映像処理を支える「メディアエンジン」の秘密

著者: 今井隆

Appleシリコンの映像処理を支える「メディアエンジン」の秘密

画像●Apple

※本記事は『Mac Fan』2022年10月号に掲載されたものです。

読む前に覚えておきたい用語

メディアエンジンとは何か?

2022年6月にリリースされた第2世代のAppleシリコン「M2」では、そのメディアエンジンに8K H・264およびHEVCに対応したビデオデコーダを搭載した、と発表されている。また、M1 ProやM1 Maxには、ProRes、HEVC、H・264のエンコードとデコードをサポートするメディアエンジンの採用が謳われている。

Appleは今年6月のWWDC22で新世代のAppleシリコン「M2」を発表。その中でH.264、HEVC(H.265)、ProResの8Kデコードに対応した新しいメディアエンジンを搭載したことを明らかにした。

その特徴から推測すると、メディアエンジンとは映像の圧縮伸張を担うハードウェアコーデック(CODEC)のことを指し、一種のアクセラレータと言えるだろう。従来から映像のコーデック処理はCPUにとって重い負荷だったこともあり、歴史的にも専用のアクセラレータにその処理が委ねられてきた経緯がある。

メディアエンジンの役割は、ビデオコンテンツなどの圧縮ビデオデータをベースバンドにデコードすることと、撮影されてイメージプロセッサで処理されたベースバンドビデオを圧縮ビデオデータにエンコードすること。

古くは1999年にリリースされたPower Macintosh G3(Blue and White)に搭載されたビデオカード「ATI RAGE128」に、MPEG−2デコードボードがオプション設定されていた。これは同モデルにはじめて搭載されたDVD−ROMドライブを用いて、当時普及し始めたばかりのDVDビデオ(映像信号の圧縮方式がMPEG2)をデコードするためのアクセラレータだ。これ以降、映像のデコードはグラフィックアクセラレータ(後のGPU)の重要な機能のひとつとなっている。

メディアデータのエンコード&デコード処理には、複数の実行手段がある。ハードウェアに依存しない手段としてはソフトウェアコーデックのみで実行する方法があるが、これは非常にCPU負荷が大きい。そこで30年ほど前に登場したのがSIMD(Single Instruction, Multiple Data)拡張命令をCPUに追加する方法で、並列処理専用のベクター演算ユニットをCPUに組み込むことでCPUのメディアデータに対する演算能力を引き上げる。

4Kや8K映像のベースバンド(RAWデータ)のビットレートは、数Gbpsから百数十Gbpsと非常に高速で、ネットワークで伝送するには適さない。これを伝送可能なビットレートに圧縮伸張するのがCODECの役割だ。

こちらも古くはIntelプロセッサのMMX、SSE、AVXなどが該当し、ARMコアではNEONやSVEなどがこれに相当する。一方でより多数の演算ユニットを備え、CPUより並列演算能力に優れるGPUに処理させる方法もある。後者になるほど演算能力が向上すると同時に、処理のエネルギー効率が高くなる。

そしてもっともエネルギー効率に優れているのが、専用のエンジン(ハードウェア)でエンコード&デコード処理を実行する方法であり、メディアエンジンはこれに該当する。処理の大半がハードウェアで実行されるため処理能力は非常に高い反面、対応できる圧縮アルゴリズムに限界がある、未知のアルゴリズムには対応できない、といったデメリットがある。

Appleシリコンのメディアエンジンが支える高性能メディア処理

Appleシリコンが高性能なメディアエンジンを搭載する理由は、高いメディア処理能力を優れたエネルギー効率で実現するためだ。中でもバッテリ容量の限られたiPhoneでは、その役割は重要になる。

ネットワークなどで提供されるメディアコンテンツの多くは、H・264やHEVCでエンコードされた高解像度の映像を含むことから、ネット動画の視聴時にスムースなデコードを低電力で実行できるメディアエンジンの存在は欠かせない。その一方でiPhoneの4Kビデオ撮影時には、極めて処理が重いHEVCでのリアルタイムエンコードが要求されるが、これはソフトウェアCODECでは到底実現できない。メディアエンジンが4KビデオのHEVCエンコードに対応しているからこそ、実現できた4K撮影機能だと言える。

メディアエンジンの最大の特徴は、CPUやGPUより高速かつ低消費電力でビデオデータのデコード&エンコードを処理できること。その一方で、一定のCODECやビデオフォーマットにしか対応できない汎用性の低さが弱点だ。

またAppleがホストプロダクション(映像制作)向けに開発した「Apple ProRes」は、複雑な編集作業における画質劣化を抑えることができるコーデックだ。これは「Final Cut X」や「Adobe Premiere Pro」をはじめとする数多くの映像編集アプリケーションでサポートされているが、メディアエンジンはこのApple ProResのエンコード&デコードをサポートする。

2019年にリリースされたMac Pro向けの「Apple AfterBurner」は、Apple ProResを処理するために開発されたハードウェアアクセラレータカードで、その中心部にロジック(論理回路)をプログラム可能なFPGA(Field Programmable Gate Array)を備え、30fpsの8K ProRes RAWビデオを最大6ストリーム、30fpsの4K ProRes RAWビデオを最大23ストリーム、同時にデコードできる処理能力を持っている。

Mac Proのオプション製品として用意された「AfterBunnerカード」はProRes専用のアクセラレータカードで、複数の4Kまたは8K ProResビデオストリームを同時かつリアルタイムにデコードできる能力を備える。
画像●Apple

Appleシリコンに搭載されているメディアエンジンのProResエンジンは、このAfterBurnerの技術をベースに開発されたと推測している。

ProRes対応から8Kデコードまで進化を続ける映像処理技術

メディアエンジンはM1 Pro/Maxではじめてその存在が明らかになったが、それまでのAppleシリコンにも同様の機能は組み込まれていた。ただし、初代M1やAシリーズでは、そのサポートコーデックはHEVCおよびH・264に限定されており、高解像度のProResに対応したのはM1 Pro/Maxからとなる。

それにより、14/16インチMacBook Pro、Mac Studioでは、ProRes編集の結果をプレビューしたり、ミックスダウンしたりする際に、メディアエンジンがその威力を発揮し作業時間を大幅に短縮できる。さらにM2ではHEVCおよびH・264の8Kデコードにも対応している。

今後の進化の方向性としては、HEVCエンコーダが8Kに対応することが期待される。これがiPhone向けのAppleシリコンに搭載されることで、カメラセンサの高解像度化と合わせて高画質な8Kビデオの撮影が可能になるためだ。

さらに今後はVR(仮想現実)/AR(拡張現実)などのリアリティをさらに向上させるために、高解像度イメージの高効率かつ高圧縮率でのリアルタイム処理が求められる。また、2020年7月にはHEVCの2倍の高圧縮率を実現するという新コーデック「H・266(VCC)」が発表され、今後の普及が期待されている。メディアエンジンの本格的な進化は、まだ始まったばかりなのかもしれない。

おすすめの記事

著者プロフィール

今井隆

今井隆

IT機器の設計歴30年を越えるハードウェアエンジニア。1983年にリリースされたLisaの虜になり、ハードウェア解析にのめり込む。

この著者の記事一覧