新iPhoneの「A12 Bionic」は何が凄いのか(本田雅一)

アップルが発表した「iPhone XS」「iPhone XS Max」「iPhone XR」。Engadget日本語版でも数多くの記事が出ており、いずれにしろ価格やスペックなどは、ほぼほぼ皆さん、把握していることでしょう。従って、このエントリーでは"個人的に気になっていたこと"がどうなったかと、カメラ機能について掘り下げられるところを掘り下げたいと思います。 A12 Bionicの何が凄いのか 今年のiPhoneでもっとも"思い切ったなぁ"と感じたのは、アップル独自設計のA12 Bionicです。7ナノメートルプロセスで生産される初めてのSoCには、69億個のトランジスタが1つのチップに収められました。従来のA11 Bionicは43億個だったので、26億個も一気に増えたことになります。 パソコン用プロセッサなどの常識では、これが"CPU性能の向上"に費やされるわけですが、A12 Bionicの場合、CPUにはほとんど投入されていないとみられます。15%高速になったと言っていますが、コア構成が同じとみられるため、動作クロックやメモリアクセスなどで高速化されたとみるのが妥当でしょう。 GPUは4コア化されて50%性能が向上したそうですが、これも半導体製造プロセスが進んだことを考えれば妥当なラインでしょう。 ではこのSoCの何が凄いかと言えば、僕は"思い切り"だと思います。思い切り......それは、目的地を見定めた上で脇目も振らずに進み始めたということです。 プロセッサ名に入る「Bionic」とは、ニューラルネットワークを応用した処理を高速に実行するために特化したアーキテクチャを持つ専用プロセッサ(アップルはニューラルエンジンと呼んでいます)を搭載していることを意味しています。 A11 Bionicではこのプロセッサを1個搭載していたのですが、今回はなんと8個に増えています。おそらく動作周波数も向上しているのだと思いますが、その能力は従来が約6000億OPS(1秒あたりの処理回数)だったのに対して、5兆OPSまで増加。つまり、アップルはニューラルネットワークの応用にこそ、価値があると考えて投資をしているということですね。 言い換えれば、CPUだけを高速化したところで、すでに高められる価値などない......と言っているようで、少しばかりパソコン(Macも含まれるでしょう)のことがかわいそうに思いましたが、それも時代の流れでしょうか。 こうした特定の目的を持ったプロセッサの活用は、OSや開発ツールなどの対応も含めた包括的なアプローチが必要です。アップルは機械学習機能をアプリから使いこなせるよう、昨年から環境を整えてきましたが、まさかここまで思い切りニューラルエンジン中心のチップになるとは想像していませんでした。 CPUでは解決できない問題をどう解決するか 大昔、90年代の前半までは"浮動小数点演算"を行うために、CPUとは別のプロセッサが搭載可能になっていたことをご存じの方は、おそらく50代以上でしょうか? 補助的なプロセッサという意味で「コ・プロセッサ」と言われていました。 技術が未成熟だった時代、高精度の演算をハードウェアで行うにはコストがかかりすぎるため、CPUには簡単な整数演算の回路だけを載せ、高精度演算を高速に実行したい人は、後からオプションでコ・プロセッサを足していたわけです。コ・プロセッサを搭載していない場合は、CPUで代替するプログラムを動かして解決していました。 A12 Bionicに搭載されているニューラルエンジンも、一般的なCPUの処理では解決が難しい問題に対して、特別に仕立てられたという面では似たような考え方のプロセッサと言えるでしょう。身近なところではGPUもそうですよね。昔のコ・プロセッサとの違いは外付けなのか、あるいはチップ内に組み込まれているかの違いです。 CPUでの処理も高速化されることで"できること"は増えますが、CPUが不得手な領域に大きな進化の可能性があるならば、専用のプロセッサを作り、それを骨までしゃぶる方がいい結果が得られることはGPUで証明されています。 そして、ニューラルネットワークを用いて、さまざまな機能を高めていくことに、より高い価値を見いだしたということでしょう。 アップル(そしてファーウェイもですが)が、ニューラルネットワークを利用し、画一的なアルゴリズムでは正しく認識できない情報、信号を"より確からしい"結果へと導びこうという強い意志を感じます。 その結果、もっとも大きく進化しているのがカメラでした。 もちろん、ニューラルエンジンの大幅な強化による改良はカメラだけにとどまるものではないのですが、iOS12とA12 Bionicの組み合わせで実現されるカメラ機能には、その可能性の片鱗がたっぷりと盛り込まれていました。 「A12 Bionic」におけるニューラルネットワークの進化とは ニューラルネットワークの応用による進歩は、"識別の精度が上がる"ことだと思います。たとえば映像処理。映像全体、あるいは一部に対して画一的な処理をい行うのでは、必ずしも良い結果ばかりを得られません。映像を分割し、特徴をデータベースと比較しながら分類し、それぞれに適切な処理を行うといったアプローチもありますが、それも"程度問題"です。(突っ込むと僕自身も間違う可能性がありますし、そもそもA12 BionicやiOS12のニューラルネットワークの実装、機械学習のモデルを詳細まで掘り下げられるわけではないので、あくまで一般的にそういうものだと捉えてください) A12 Bionicを採用したiPhoneには、これまでより高速な読み出しを可能にするカメラが搭載され、さらにカメラには多くの映像を保持するメモリもあるようです。常に4枚の映像フレームを保持し、A12 Bionicのニューラルエンジンはその映像を識別しようとします。 その結果、本来撮影しようとしていた写真が、レリーズした瞬間のものではない場合、前後フレームからより好ましいフレームを選ぼうとするようです。識別処理は後処理ではなく、常にカメラの映像に対してリアルタイムに行われるようです。 さらにこの4フレームの写真の間には、別のフレームもキャプチャされています。露出を変えて明るい部分、暗い部分の情報も得られるよう、イメージセンサーが捉える光を最適化してメモリしています。 このフレームはダイナミックレンジを拡張するために使っているようです(何しろ発表会で質疑しながらの理解でしたので、細かな部分で間違っていたらごめんなさい)。写真の世界ではあるときからHDR撮影が流行しはじめました。露出が異なる複数の写真を用い、そのデータのいいところ取りをして、明るいところから暗い領域まで、すべてが見通せる映像作品にするという処理です。 しかし、この処理は通常、撮影者が自分で被写体と背景などのバランスを考えながら、領域ごとに最適化を図って行うものです。それをニューラルエンジンで行うことで、iPhone XSやXRは「Smart HDR」を実現しています。おそらくですが、リアルタイムで各フレーム内の被写体や輪郭の識別などを終えているのでしょう。なぜなら、iPhone 7 Plusから順次進められ、昨年からはiOSの機能として組み込まれている写真の"深度(被写体との距離)"情報の検出が、より賢くできるようになっているからです。 iPhone XRで「ポートレートモード」が使える衝撃 iPhone XS、XS Maxとは異なり、iPhone XRにはシングルカメラしか搭載されていませんが、被写体が"人間"の場合、ポートレートモードで撮影すると深度情報を加えることができます。 実は人間の脳にも"単眼立体視"という能力が備わっており、被写体の細かなボケ具合や経験上の判断から、片眼であっても奥行きを感じます。本当に画質の良い4K映像をより良いディスプレイで観ると、片眼を手のひらで塞ぐと立体的に見えます(誰にでも備わっている能力です)。両眼で観ると平面であることを視差から認識してしまいますが、単眼では視差がないため映像情報だけから奥行きを感じるよう脳が処理するからと言われています。 アップルは例によって「なぜそれが可能か」について深くは語らないため、たぶんそんなところだろう......ということに過ぎませんが、このような単眼立体視の認識モデルを、あるいは問題解決の手段として実装しているのかもしれません。 被写体の顔を認識し、姿を認識しながらカメラが動作し、レリーズすると被写体と背景を分離した上で、被写体の形を識別しながら深度情報を加えていく。 実際にハンズオンの現場でiPhone XRを使って撮影してみると、試し撮り程度ではありますが、驚くほど的確に識別していたのです。 iPhone XS/XS Maxの(アウトカメラの)ポートレートモードは望遠に切り替える必要がありますが、XRのカメラはワイド側のままでも機能します。これは便利な側面もあり、ワイドマクロ的な撮影も可能という点では、より自由度の高い撮影ができるとも言えるでしょう(ただし被写体は顔認識される対象のみ)。 A12 Bionicを搭載したiPhoneでのみ利用できる機能として、ポートレートモードで撮影した写真に対して後編集で絞りを変え、被写界深度(ピントが合う範囲)を調整する機能も、そのままシングルカメラで実現できている点には本当に驚きました。 XRでポートレートモードが使えるところに、A12 Bionic(そして今後のアップル製SoC)が目指している未来の一端がもっともあらわれているように思います。 またiPhone XS/XS Maxのポートレートモードも、従来のiPhoneが搭載しているポートレートモードよりも、ずっと自然で美しい効果が得られます。 たとえば眼にピントが合ったまま、被写界深度を浅くしていくと背景がボケるのはもちろん、顔の丸みに従ってナチュラルにボケが耳や背景と顔の輪郭部に広がっていくのです。背景と被写体を分離し、背景だけをボケさせてブレンディングしているのではなく、被写体の形状を考慮した上でボケ処理を丁寧に行っているように見えました。 実は2倍速で識別処理が走っている動画撮影時のSmart HDR ところで上記はすべて静止画に対するものでしたが、ニューラルエンジンが約9倍も高性能化(とサードパーティの開発者が話していました)していると、動画に対してもリアルタイム処理を行えます。しかも2倍速で。 静止画に対して行っていたSmart HDR(動画の場合、HDR10やDolby Visionなどもあるので話がややこしいのですが、ここで言っているのは露出を変えながら撮影した広いダイナミックレンジの情報を1枚の絵としてまとめる表現手法のことです)を動画の中で自動的にこなしてしまいます。 これは4K映像を常に2倍速でキャプチャしつつ、露出を変えているのだそうです。しかも、その露出を変えた二つのフレームをニューラルエンジンが識別し、1枚のHDRフレームへと変換。HDR写真の連続で撮影された動画を誰でも簡単に撮影できてしまいます。 このように動画ストリームに対してもニューラルエンジンを適用できるため、サードパーティーのアプリケーションにも変化が起きるでしょう。 発表会ではカメラを向けているだけで、バスケットボールをプレイする人の動きと投げるボールの動きを細かく分析できるアプリが紹介されていましたが、"カメラを向けるだけ"で人に近い識別が可能になれば、そこにAR的に情報を付加していくことで、新しいアプリケーションが生まれていく余地がありそうです。"この先"までを想像すると、少しだけ(そして実に久々に)ワクワクするような期待感があります。 ライバルはファーウェイ? おそらく「ファーウェイだってKirin 980でNPUを4個にしたじゃないか」という方もいるかもしれません。同じ土俵で2つを戦わせたことがないので性能に関してはなんとも言えませんが、確かにこの2社は似た方向(エッジAIによる高付加価値)を目指しているようですね。 両者は自社でSoCを開発しているため、カメラ機能の進化においてもリーダーシップを取っています(このあたりは、以前にイメージシグナルプロセッサの話をエントリーとして書いた時に言及した下記記事を参照してください)。 Xperiaの失速とHUAWEIの躍進、カギを握るのは「内蔵カメラ」(本田雅一) この2社のカメラ画質に大きな方向性の違いがありますが(ファーウェイは幻想、アップルは本物より本物に見える現実"感"でしょうか)、そうした味付け以上に違うのが、iOSをアップル自身がすべてコントロールし、開発者向けツールを含めて計画的に開発を進めていることだと思います。 "端末だけ"の機能に限れば、ファーウェイの開発力をもってすれば、カメラだけでなく多様な機能へとNPUを活用していけるでしょう。しかし、ファーウェイはAndroidというプラットフォームを持っているわけではありません。 その年に発売するスマートフォンという即物的なモノの価値は高めることができますが、NPUを活用したアプリの増加を促すことは極めて難しいでしょう。大多数のAndroidスマートフォンはKirinを採用していないのですから。 Androidの舵取りをしているグーグルも、なんらかの考えを持っているはずですが、現時点では先にアップルが"次の世代"に向けて走り出したようです。