はじめに
2015年以降に流通したCPU/SoCがどのcodecに対応しているかを調べてみました。
動画視聴やWeb会議をしながら、同時に他の作業を快適に行いたいという場面がよくあると思います。
こうした場面ではCPUに負荷をかけないようサービス側でcodecの選択を配慮する必要があって、動画視聴やWeb会議で使うcodecを正しく選択すると専用プロセッサ(Hardware Encoder/Decoder)に処理をオフロードできるため快適に他の作業ができます。選択を間違えてしまうとCPUリソースをガンガン使い、排熱のためファンが勢いよく回転してしまい利用者に嫌がられてしまいます。
このようにCPUに優しいcodecの選択は、ユーザー体験の向上において配慮すべきポイントになります。
2025年現在、h264、VP8、VP9、h265、AV1など、他にも様々なのコーデックが利用できますが、果たしてどのcodecが最もCPUに優しいのでしょうか?
Intel Core
CPU/SOC | Year | h264 Enc | h264 Dec | VP8 Enc | VP8 Dec | VP9 Enc | VP9 Dec | h265 Enc | h255 Dec | AV1 Enc | AV1 Dec |
---|---|---|---|---|---|---|---|---|---|---|---|
5th Generation Intel® Core™ Processors | 2015 | ✔ | ✔ | ||||||||
Intel Atom® Processors x5 and x7 Processor Series | 2015 | ✔ | ✔ | ||||||||
6th Generation Intel® Core™ Processors | 2015 | ✔ | ✔ | ✔ | ✔ | ✔- | ✔ | ||||
Intel Atom® Processor E3900 Series, and Intel® Pentium® and Celeron® Processor N- and J-Series | 2016 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
7th Generation Intel® Core™ Processors | 2017 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔- | ✔ | |||
8th Generation Intel® Core™ Processors | 2017 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔- | ✔ | |||
9th Generation Intel® Core™ Processors Intel® UHD Graphics 630 |
2019 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔- | ✔ | |||
10th Generation Intel® Core™ Processors Other processors |
2020 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Intel® Core™ Processors with Intel® Hybrid Technology | 2020 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
10th Generation Intel® Core™ Processors Ice Lake Intel® Iris® Plus Graphics Intel® UHD Graphics 630 |
2020 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
Intel Atom® x6000E Series, and Intel® Pentium® and Celeron® N and J Series Processors for Internet of Things (IoT) Applications | 2021 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
11th Generation Intel® Core™ Processors: Intel® Iris® Xe Graphics Intel® UHD Graphics 750 |
2021 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
12th Generation Intel® Core™ Processors Intel® UHD Graphics |
2021 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
13th Generation Intel® Core™ Processors: Intel® UHD Graphics 770,730,710 Intel® Iris® Xe Graphics |
2022 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Apple Silicon
CPU/SOC | Year | h264 Enc | h264 Dec | VP8 Enc | VP8 Dec | VP9 Enc | VP9 Dec | h265 Enc | h255 Dec | AV1 Enc | AV1 Dec |
---|---|---|---|---|---|---|---|---|---|---|---|
A8 | 2015 | ✔ | |||||||||
A9 | 2015 | ✔ | ✔ | ✔ | |||||||
A10 Fusion | 2016 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
A11 | 2017 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
A12 Bionic | 2018 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
A13 Bionic | 2019 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
A14 Bionic | 2020 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
M1 | 2020 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
A15 Bionic | 2021 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
M2 | 2022 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
A16 Bionic | 2022 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
M3 | 2023 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
A17 Pro | 2022 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
M4 | 2024 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
A18 Pro | 2024 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Qualcom Snapdragon
CPU/SOC | Year | h264 Enc | h264 Dec | VP8 Enc | VP8 Dec | VP9 Enc | VP9 Dec | h265 Enc | h255 Dec | AV1 Enc | AV1 Dec |
---|---|---|---|---|---|---|---|---|---|---|---|
Snapdragon 616 / 617 | 2014 | ✔ | ✔ | ✔ | |||||||
Snapdragon 430 / 435 | 2015 | ✔ | ✔ | ✔ | |||||||
Snapdragon 450 | 2015 | ✔ | ✔ | ✔ | |||||||
Snapdragon 625 / 626 | 2015 | ✔ | ✔ | ✔ | |||||||
Snapdragon 650 / 652 / 653 | 2015 | ✔ | ✔ | ✔ | ✔ | ||||||
Snapdragon 660 | 2015 | ✔ | ✔ | ✔ | ✔ | ||||||
Snapdragon 810 | 2015 | ✔ | ✔ | ✔ | |||||||
Snapdragon 425 / 427 | 2016 | ✔ | ✔ | ✔ | ✔ | ||||||
Snapdragon 820 / 821 | 2016 | ✔ | ✔ | ✔ | ✔ | ||||||
Snapdragon 630 / 636 | 2017 | ✔ | ✔ | ✔ | ✔ | ||||||
Snapdragon 835 | 2017 | ✔ | ✔ | ✔ | ✔ | ||||||
Snapdragon 429 / 439 | 2018 | ✔ | ✔ | ✔ | |||||||
Snapdragon 670 / 675 / 678 | 2018 | ✔ | ✔ | ✔ | ✔ | ||||||
Snapdragon 710 / 712 | 2018 | ✔ | ✔ | ✔ | ✔ | ||||||
Snapdragon 845 | 2018 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 215 | 2019 | ✔ | ✔ | ✔ | |||||||
Snapdragon 460 | 2019 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 662 / 665 | 2019 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 680 685 4G | 2019 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 6 Gen 1 | 2019 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 720G | 2019 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 730 / 732G | 2019 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 765 / 765G | 2019 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 768G | 2019 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 855 / 855+ | 2019 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
Snapdragon 860 | 2019 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
Snapdragon 865 / 865+ | 2019 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
Snapdragon 870 | 2019 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
Snapdragon 480 / 480+ 5G | 2020 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 4 Gen 1 | 2020 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 750G | 2020 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 690 5G | 2020 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 778G / 778G+ / 782G | 2021 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 780G | 2021 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
Snapdragon 888 / 888+ | 2021 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
Snapdragon 7 Gen 1 | 2021 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
Snapdragon 8 Gen 1 / 8+ Gen 1 | 2021 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
Snapdragon 695 5G | 2022 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 8 Gen 2 | 2022 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
Snapdragon 4 Gen 2 | 2023 | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
Snapdragon 7+ Gen 2 | 2023 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
Snapdragon 8 Gen 3 | 2023 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Google Tensor
CPU/SOC | Year | h264 Enc | h264 Dec | VP8 Enc | VP8 Dec | VP9 Enc | VP9 Dec | h265 Enc | h255 Dec | AV1 Enc | AV1 Dec |
---|---|---|---|---|---|---|---|---|---|---|---|
Tensor | 2021 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
Tensor G2 | 2021 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
Tensor G3 | 2022 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Tensor G4 | 2022 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
結論
2025年現在、h264がもっともCPUに優しい。
思っていた通りの結果となりました。VP8はもう少し健闘するかと思いましたがGen11 Intel Coreからサポートがなくなり若干不安です。
意外だったのがVP9とh265です。両者はほぼ同等にHWサポートが進んでいてVP9,h265はデコードでは有力な選択肢になると思います。
- H.264は2016年以降のCPUであればエンコードデコードを専用プロセッサに処理を任せることができる。
- VP8は2020年以降デスクトップ向けCPUで専用-プロセッサのサポートが減りつつある。サポートが減った理由はVP8の利用頻度低下やCPUの処理能力が高くなって専用プロセッサに任せる必要があまりなくなったのかも。
- h265とVP9は2017年以降のCPUであればデコードはほぼOK。映像の視聴などデコードだけであればh265VP9はかなりCPUに優しい状態。映像制作やビデオ会議で必要なエンコードは2020年ごろからからサポートが増えつつある。
- AV1に対する専用プロセッサのデコードが最初にサポートされはじめたのが2021年頃。エンコードはまだサポートがないためAV1はまだCPU依存状態。
雑感
各CPU/SoCのハードウェアエンコーダー、デコーダーの搭載状況を調べてみましたが、やはり「h264強し」という結果でした。
もちろん、Codecの選択はCodecのハードウェアサポートだけで決めるわけではなく、ソフトウエアのサポートも関係します。
-
h.264はブラウザのサポートもしっかりしています
https://caniuse.com/mpeg4 -
safari以外のサポートが微妙なh265
https://caniuse.com/hevc -
safari以外で対応が進むVPx、AV1
https://caniuse.com/webm
https://caniuse.com/av1
h264に続く次世代コーデックはApple、Google次第という感じですね。
動画配信やWeb-rtcであれば専用プロセッサが搭載されていてもOSやドライバ、ブラウザがハードウェアエンコード、デコードに対応している必要があったり、simulcastingやmultistreamingとの兼ね合いもあるのでその点もCodec選択の際には調べておく必要があります。
映像クオリティやネットワーク帯域といったトレードオフもあるので品質や帯域重視であればh265やVP9という選択も全然ありえます。環境が固定されていればAV1も良い選択になると思います。
「コーデックごとのハードウェアサポートの有無」について一面的に調べてみましたが、多面的に検討される際の参考していただければ幸いです。
余談ですがSnapdragonは種類が多すぎて全部網羅できているか自信ありませんが、プロセッサの登場時期を時系列で並べていますのでエンコードに対応し出した時期などをざっくり把握することはできるかと思います。
今後どうなるのか
Codecの世代交代は5-10年単位で進みます。h264はしばらく使われ続けると思いますが、h265とVP9もかなりクロスデバイス対応で十分検討可能な水準まで来ていると思いました。
参考にしたサイト
https://www.intel.com/content/www/us/en/docs/onevpl/developer-reference-media-intel-hardware/1-1/overview.html
https://www.qualcomm.com/
https://www.cpu-monkey.com/
https://encyclopedia.pub/
https://en.wikichip.org/wiki/WikiChip/
私たちの作っているサービス
学習管理システム
ライブ講義システム
We are hireing!