※本記事は『Mac Fan』2022年10月号に掲載されたものです。
–読む前に覚えておきたい用語–
メディアエンジンとは何か?
2022年6月にリリースされた第2世代のAppleシリコン「M2」では、そのメディアエンジンに8K H・264およびHEVCに対応したビデオデコーダを搭載した、と発表されている。また、M1 ProやM1 Maxには、ProRes、HEVC、H・264のエンコードとデコードをサポートするメディアエンジンの採用が謳われている。
その特徴から推測すると、メディアエンジンとは映像の圧縮伸張を担うハードウェアコーデック(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のメディアデータに対する演算能力を引き上げる。
こちらも古くはIntelプロセッサのMMX、SSE、AVXなどが該当し、ARMコアではNEONやSVEなどがこれに相当する。一方でより多数の演算ユニットを備え、CPUより並列演算能力に優れるGPUに処理させる方法もある。後者になるほど演算能力が向上すると同時に、処理のエネルギー効率が高くなる。
そしてもっともエネルギー効率に優れているのが、専用のエンジン(ハードウェア)でエンコード&デコード処理を実行する方法であり、メディアエンジンはこれに該当する。処理の大半がハードウェアで実行されるため処理能力は非常に高い反面、対応できる圧縮アルゴリズムに限界がある、未知のアルゴリズムには対応できない、といったデメリットがある。
Appleシリコンのメディアエンジンが支える高性能メディア処理
Appleシリコンが高性能なメディアエンジンを搭載する理由は、高いメディア処理能力を優れたエネルギー効率で実現するためだ。中でもバッテリ容量の限られたiPhoneでは、その役割は重要になる。
ネットワークなどで提供されるメディアコンテンツの多くは、H・264やHEVCでエンコードされた高解像度の映像を含むことから、ネット動画の視聴時にスムースなデコードを低電力で実行できるメディアエンジンの存在は欠かせない。その一方でiPhoneの4Kビデオ撮影時には、極めて処理が重いHEVCでのリアルタイムエンコードが要求されるが、これはソフトウェアCODECでは到底実現できない。メディアエンジンが4KビデオのHEVCエンコードに対応しているからこそ、実現できた4K撮影機能だと言える。
また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ストリーム、同時にデコードできる処理能力を持っている。
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)」が発表され、今後の普及が期待されている。メディアエンジンの本格的な進化は、まだ始まったばかりなのかもしれない。