Googleは12月19日「Google Pixel 4 カメラ機能に関する記者説明会」を開催しました。説明してくれたのはGoogle Research Distinguished EngineerのMarc Levoy氏。ここでは日本のユーザーの関心の高いPixel 3/4での高画質化機能をかいつまんでレポートします。

スマホのカメラと通常のデジタルカメラの違い、それはソフトウェアのマジックで「ソフトウェアデファインドカメラ」にあるとMarc氏は言い、多くのトレーニングデータで機械学習を行う事で精度が上げられると説明します。さらにGoogleは世界に対して"マジックのタネ明かし"をすることで、イノベーションを加速させたいと言い、今回は4つの機能の裏側を説明しました。

  • 説明を行ったGoogle Research Distinguished EngineerのMarc Levoy氏

ライブでプレビュー表示できるHDRの威力

1つ目がHDR。通常のHDRはハイライト部分とシャドー部分に分けて撮影して合成しますが、この方法だと撮影に時間差があるので"動き"に対して問題が発生します。そこでGoogleが行ったのは(露光不足になっても)連写する事。これによって通常部分はそのまま利用できますし、シャドー部分は合成することでノイズを減らせます。

  • 右下のサンプルはハイライト部の窓しか写っていないように見えますが、GoogleのHDR+は多くの画像を撮影してそれを合成することでシャドー部の画質を上げます

  • 作例。通常のHDRでは外のハイライトが潰れてしまっています

  • HDR+の場合、外の地面の色、外から光の当たっている通路の模様までわかります

さらにPixel 4では、コンピュートパワーを生かして機械学習で近似値を計算し、結果の画像をライブでプレビュー画面に表示するライブHDR+と、それにより、プレビューしながらシャドーとハイライトの調整が可能になるデュアル画像補正を可能にしました。

  • Pixel 4では機械学習による再現でHDRをリアルタイムに表示させ、WIZWIG(見たままの結果)が得られます

  • さらにハイライトとシャドー部の明るさを調節できるデュアル画像補正に対応してます

  • My作例。Pixel 3ではズームの荒さも目立ち、これが精いっぱい(ハレーションも目立ちました)

  • Pixel 4では画像補正を入れると月の模様も撮影できます。こちらは12月12日のコールドムーン

機械学習で人と背景を見分けるポートレート

2つ目はポートレートモード。従来スマホのポートレートは二つ以上のカメラを使って、得られた奥行(深度)情報を元に「関係ないエリア」をボカすことで大口径カメラのようなボケを実現していました。

Pixel 3では一つのカメラでもポートレートモードが実現できています。これはセンサーが持つ位相差検知オートフォーカスの仕組みを使って奥行情報を得られます。これによって奥行によってボカシを入れることができるというわけです。ただし、通常のカメラと異なり、ある程度の奥行範囲に限定してボカしを入れないことができるので、鼻の頭も目もピントがあった状態の画像を得ることができます。

  • ボケ表現に必要な深度マップに関して、Pixel 3は機械学習(左)とフォーカスマップ(中央)を合成させています。機械学習を入れるのがポイントのようです

  • さらに本来ならできないボケの範囲を広げることも可能。一眼レフ等で下手に取ると「瞳にはピントがあうが、鼻はボケる」という事態を避けることができます

Pixel 4はデュアルカメラに進化したので、上下と左右の二つの深度マップを得ることができ、さらに画質を向上させることができます。

  • Pixel 4はデュアルカメラになったので、深度マップを上下の差と左右の差から得ることが可能で精度が上がります

  • Pixel 3まではこのような映像が取れなかったと説明していました

手振れを利用した超解像ズーム

3つ目は超解像ズーム。実はカラー撮影素子の一つ一つはすべての色を読み取ることができません(RGBの色フィルターが付いているので、各素子はその色しか読めないのです)。これを解決するために使用したのが「手振れ」です。

撮影中にカメラ動かすことで、止まっていては読み取れない隣接したピクセルの読み取りを可能にしており、手振れ補正のOISを使う事でわざと動かして情報量を増やしています。これによって2倍の光学ズーム相当の画質を得ることができます。さらにPixel 4では2倍の光学ズーム機能を併用することで実質4倍までかなりよい画質の画像が得られます。

ここでMarc氏は「広い画面から切り取りするよりもピンチ機能でズームしたほうが最終画像のクオリティがよくなる」とアドバイスしていました。

  • スマホの撮影素子はカラーフィルターがあるので、隣の画素を知ることはできません。たとえば赤い枠の隣の緑の枠に赤い光があるかどうかは取得できないのです

  • 光学手振れ補正を使う事で隣接する画素の情報も得ることが可能です

  • この機能を入れることで光学ズーム2倍相当まで画質劣化を避けることができます

  • Pixel 4では光学2倍+超解像度で実質4倍相当まで画質劣化を抑えることが可能です。ズームなしではこういう画像ですが

  • ピンチ操作でズームすればここまで見ることができます

  • 最良の結果を得るためには1倍の画像から切り取るのではなく、ズーム操作がよいと説明。ちょっとわかりにくいのですが、橋のワイヤーの明瞭度が異なります

星空も撮れる夜景モードは「絵画」に学んだ

4番目は夜景モード(ナイトショット)。これもHDR+同様に複数フレームの撮影を合成するもの。天体写真機能になれば最大16秒(Pixel 4の場合、Pixel 3は4秒)の長時間露光によってより暗い星を捉えることが可能になります。天体写真機能はカメラアプリで夜景モードに設定し、さらに三脚で固定するかスマホスタンド等で立てかけ動かさない事で利用可能になります(先日カメラアプリがアップデートされてPixel 3でも天体写真機能に対応しました)。

  • 夜景モード(説明ではNight Shot)も多数の画像を合成します。HDR+よりも露出時間が長い分、動きが問題になるので、動きを検知して対応させています

  • 夜景モード時にカメラの動きをキッチリ止めると星空撮影モードになります。Pixel 4では最愛16秒撮影、Pixel 3では4秒で、違いは今度検証しに行こうと考えてます

  • 夜景に関しては写実的なだけでなく、絵画に学ぶところもあると説明しました。つまり、コントラストはキツメでシャドーを真っ黒に落とした方が夜景っぽいとのこと

夜景モードの場合は動いているものの判断で露光時間を変えるほか、ホワイトバランスも機械学習を使い「雪と判断すれば白い」と判断させ調整するようになっています。また長時間露光を行うと素子のバラツキでドットが出てしまう「ホットピクセル」が発生しますが、これに対策は隣接画素から判断して対策するようになっています。

夜景モードはPixel 3から利用できるようになりましたが、プレビュー画面を見ると「え? こんな画像だったっけ?」と思う事がままあります。Marc氏はこれに対して、人間の目は暗い所だと色がわからないが、たとえばネズミならば色の違いを理解できる。同様に人の目にはわからない色味をセンサーが取り込むことができるからだと説明します。

  • Pixel 3で年始に撮った映像。左の手すりや自販機の前の緑は肉眼だとわからなく、プレビュー画像を見て「ああ、自販機の前は人工芝か」と思ったほど(山梨のほったらかし温泉にて)

  • 絵画に学ぶという点で言うと夜景モードは「バエる画像」とも言えます(六本木ヒルズにて)

  • コールドムーンの時にPixel 4で星空を撮ってみました。23区内で撮影中に車が通るような状況でもこのぐらい撮れます

  • 問題点も紹介。ボケは深度マップから人工的に作っているので、グラス越しのラベルがクリアに見えてしまいます。透明物を取る場合は背景に注意した方がよいでしょう(新橋の日本の酒情報館にて)

  • 一眼レフで撮れば、背景は正しく(?)ボケます(宮崎のDELLコールセンターにて)

  • Pixel 3/4はフリッカーに弱いのが弱点です。スマホの画面だけでなく、LED照明でもムラムラになるケースがあります

  • Pixel 4になって、ホワイトバランスが思った通りにならないケースが出てきました(メルペイ発表会のフォトセッションにて)