「ストリートビュー対応(プロ仕様)」の仕様

はじめに

以下の仕様では、高速かつ高精度のストリートビューのキャプチャおよび公開機能を提供する高度な 360° カメラのハードウェア、タイミング、データ要件をすべて詳述しています。(このプログラムは、操作機能や機械機能には適用されません)。

画像

  • 8,000 以上(5 FPS)
  • 水平画角 360°
  • 垂直画角が連続 135° 以上
  • Google が画像とジオメトリの品質を審査します

IMU

推奨コンポーネント:

加速度計は、次の仕様を満たしている必要があります。

  • 解像度: 16 ビット以上
  • 範囲:±8G 以上、4096LSB/g 以上(代表値)
  • サンプリング・レート:200Hz 以上、ジッター:1% 未満
  • エイリアスを排除するには、ローパス フィルタリングを有効にする必要があります。カットオフ周波数は、ナイキスト周波数(サンプリング レートの半分)より低い最大値に設定する必要があります。たとえば、周波数が 200 Hz の場合、ローパス フィルタのカットオフは 100 Hz 未満で、できるだけ近くする必要があります。
  • ノイズ密度は 300 μg/√Hz 以下、150 μg/√Hz 以下である必要があります。
  • 定常ノイズバイアスの安定性 <15 μg * √Hz(24 時間静的データセットから)
  • 温度に対するバイアス変化: ≤ +/- 1mg / °C
  • 最良適合線の非線形性: ≤0.5%
  • 温度に対する感度変化 ≤ 0.03%/°C

ジャイロスコープは以下の仕様を満たしている必要があります。

  • 解像度: 16 ビット以上
  • 範囲: +/- 1000 deg/s 以上、32 LSB/dps 以上
  • サンプリング・レート:200Hz 以上、ジッター:1% 未満
  • エイリアスを排除するには、ローパス フィルタリングを有効にする必要があります。カットオフ周波数は、ナイキスト周波数(サンプリング レートの半分)より低い最大値に設定する必要があります。たとえば、サンプリング周波数が 200 Hz の場合、ローパス フィルタのカットオフは 100 Hz 未満で、できるだけ近くする必要があります。
  • ノイズ密度:≤0.01°/s/√Hz
  • 定常バイアス安定性 <0.0002 °/s *√Hz(24 時間静的データセットから)
  • 温度に対するバイアス変化: ≤ +/- 0.015 °/ s / °C
  • 最良適合線の非線形性は 0.2% 以下、0.1% 以下である必要があります。
  • 温度に対する感度変化: ≤0.02% / °C

GPS

推奨コンポーネント

  • u-blox MAX-M8 シリーズまたは u-blox NEO-M8 シリーズのいずれか

要件

  • サンプリング レート: 4 Hz 以上
  • コンステレーション: GPS と GLONASS 以上の同時トラッキング
  • 最初の修正にかかる時間:
    • 低温: 40 秒以下
    • ホット: 5 秒以下
  • 機密性:
    • トラッキング: -158 dBm
    • 取り込み: -145 dBm
  • 水平方向の位置精度: 2.5 m(円形誤差の確率(CEP)、50%、6 SV を超える 24 時間静止時)
  • 速度精度:0.06 m/s(30 m/s で 50%)
  • オペレーション制限: 4 g 以上
  • 内部アンテナ、または既知のタイプの外部固定アンテナ

アンテナの設計

GPS 受信機システムと多数の複雑な電子システムの両方を搭載したカメラなど、物理的に小さな製品では、搭載されている電子機器からの高周波放射によってラジオ受信機の性能に問題が生じやすくなります。この干渉は、多くの場合、ラジオ受信機の帯域内にあるため、除去できません。そこで、下記の「GPS テスト」セクションで、デバイスが適切に動作することを確認するためのテストをいくつか指定しました。

カメラのアーキテクチャ

各センサーと各カメラの基準フレーム(FOR)の間の 6 自由度(6-DOF)変換(相対位置と向き)は、加速度計 FOR に対して指定する必要があります。センサー FOR は、センサーのデータシートで定義されているとおり、デバイス上のセンサーの物理的な配置に合わせなければなりません。各カメラの FOR の Z 軸は正です。Z 軸は正の Z 軸で、デバイスから向って光軸に沿ってカメラの FOV 方向を向き、X 軸は右を向き、Y 軸は上から下を向いており、FOR の原点はカメラの光学的中心です。GPS FOR はアンテナにあります。

各センサーまたはカメラの 6 自由度変換(位置は 3 自由度、方向は 3 自由度)は、3x4 変換行列 T = [R p] として表されます。ここで、R は加速度計 FOR のセンサーまたはカメラ FOR の向きを表す 3x3 回転行列、p はカメラの原点の 3x1 の位置ベクトル(x、y、メートルでカメラを表す FOR の FOR センサーまたは FOR の位置ベクトルです。

要求される変換は、デバイスのコンピュータ支援設計(CAD)モデルから行われる場合があり、製造上のばらつきを考慮してデバイス固有である必要はありません。

カメラの設定

  • カメラで画像の手ぶれ補正機能を使用しないでください。
  • 屋内でも屋外でも画像を撮影できるようにカメラ設定を調整してください。

その他

電源(次のモデルのいずれかまたは両方を採用する必要があります):

  • USB 3.1 テザリング電源および再充電、4 時間以上の録画をサポート
  • バッテリー駆動で 1 時間以上の録画とアップロードに対応

機械、環境

  • テザリング電源に接続されている場合、カメラは IP65 以上である必要があります。

タイミングの仕様

すべてのセンサー測定には、同じ安定したシステム クロックを基準として正確にタイムスタンプが付けられる必要があります。測定値には、プロセッサがセンサーチップからメッセージを受信したときではなく、センサーが数量を測定したときにタイムスタンプを付ける必要があります。異なるセンサー測定値間のタイムスタンプ ジッターは、1 ms 未満でなければなりません。同じセンサーデータログに記録されるタイムスタンプはすべて、不連続でなく連続している必要があります。ハードウェアが再起動またはリセットされ、システム クロックがリセットされる場合は、新しい受信データを保存するために新しいログを作成する必要があります。

GPS

GPS センサーは、タイムパルスの出力と、そのタイムパルスに対応する GPS 時刻に関連するメッセージをサポートする必要があります。これを使用して、同じ GPS エポック タイムスタンプを持つ他の GPS データパケットにタイムスタンプを付けることができます。デバイスはこれらの時間パルスを受信するための入力を備えていて、立ち上がりエッジまたは立ち下がりエッジ(いずれか適切な方)を受信すると、安定したシステム クロックからのタイムスタンプを記録する必要があります。GPS 時刻を含む対応するメッセージ パケットを受信した場合、デバイスは GPS センサーから GPS 時刻を含むナビゲーション メッセージを受信するときに、安定したシステム クロックを基準にタイムスタンプを計算できます。

動画 / 画像

イメージ センサーは、安定したシステム クロックを基準として正確な時刻を決定するために、ハードウェアのタイミングをサポートする必要があります。フレーム落ちが発生しても、後続のフレームに正確なタイムスタンプが反映されていなければなりません。タイムスタンプは、画像内の最初のアクティブなフォトンを基準とします。メーカーは、これに対応するピクセルを指定する必要があります。

IMU

IMU(加速度計とジャイロスコープ)の測定には、受信時ではなく、測定時のタイムスタンプを付ける必要があります。

データの仕様

ストリートビュー用に最適化されたカメラとシステムでは、センサーごとに 1 秒間に複数の測定値を収集する必要があります。以下では、個々の測定のデータについて詳しく説明します。

IMU のデータ要件

IMU(加速度計とジャイロスコープ)測定データ:

int64 time_accel;    // The time in nanoseconds when the accelerometer
                     // measurement was taken. This is from the same stable
                     // system clock that is used to timestamp the GPS and
                     // image measurements.
// The accelerometer readings in meters/sec^2. The x, y, z refer to axes of
// the sensor.
float accel_x;
float accel_y;
float accel_z;

int64 time_gyro;     // The time in nanoseconds when the gyroscope
                     // measurement was taken. This is from the same stable
                     // system clock that is used to timestamp the GPS and
                     // image measurements.
// The gyro readings in radians/sec. The x, y, z refer to axes of the sensor.
float gyro_x;
float gyro_y;
float gyro_z;

GPS データの要件

int64 time;         // Time in nanoseconds, representing when the GPS
                    // measurement was taken, based on the same stable
                    // system clock that issues timestamps to the IMU
                    // and image measurements
double time_gps_epoch;      // Seconds from GPS epoch when measurement was taken
int gps_fix_type;           // The GPS fix type
                            // 0: no fix
                            // 2: 2D fix
                            // 3: 3D fix
double latitude;            // Latitude in degrees
double longitude;           // Longitude in degrees
float altitude;             // Height above the WGS-84 ellipsoid in meters
float horizontal_accuracy;  // Horizontal (lat/long) accuracy in meters
float vertical_accuracy;    // Vertical (altitude) accuracy in meters
float velocity_east;        // Velocity in the east direction represented in
                            // meters/second
float velocity_north;       // Velocity in the north direction represented in
                            // meters/second
float velocity_up;          // Velocity in the up direction represented in
                            // meters/second
float speed_accuracy;       // Speed accuracy represented in meters/second

動画の要件

動画は 5 Hz 以上のフレームレートで録画する必要があります。また、カメラでは各画像フレームに関連付けられたメタデータを記録する必要があります。画像ごとに、

int64 time;   // The time in nanoseconds when the image was taken.
              // This is from the same stable system clock that is used to
              // timestamp the IMU and GPS measurements.

// The corresponding frame in the video.
int32 frame_num;

また、MP4 360 動画には、次のユーザーデータ Atoms を入力する必要があります。

  • moov/udta/manu: カメラのメーカー(メーカー)(文字列)
  • moov/udta/modl: カメラモデル(文字列)
  • moov/udta/meta/ilst/FIRM: ファームウェア バージョン(文字列)
で確認できます。 動画を確認するには、ffprobe コマンドを使用します。
$ ffprobe your_video.mp4
...
  Metadata:
    make            : my.camera.make
    model           : my.camera.model
    firmware        : v_1234.4321
...

GPS テスト

ノイズ、アンテナの選択、アンテナの実装、LNA、フィルタ、伝送ラインの実装によってパフォーマンスが制限されるのはごくわずかです。このセクションでは、正確なデータ出力を確保し、ストリートビュー対応として適格となるために必要なパフォーマンス要件を最終成果物が(全体として)満たしていることを確認するためのテストプロセスを定義します。

認定サービス

デバイスのテストを簡単にするため、Google は Taoglas Antenna Solutions と協力して、Google Street View Qualification GPS RF Service を提供しています。Taoglas Antenna Solutions は、5 つの無響試験室と以下のテストを実行するために必要なすべての機器を備えた GPS 技術のトップ専門家です。ただし、同等のサービス プロバイダであれば、以下のテストの実施をご依頼いただけます。

テストのセットアップ

検査は 3D 無響室で行う必要があります。このチャンバーは、下記の他の要件と競合する場合を除き、GPS L1/CA 周波数 1575.42 MHz について、CTIA 無線無線デバイス テストプラン [1] セクション 3 およびセクション 4 の範囲要件とテストサイト特性に適合するものとします。

デバイスは、GPS ステータスの評価のために、NMEA GPS 結果文字列[2]を外部コンピュータにレポートする手段を提供する必要があります。これは必須であり、他の方法ではテストできません。

チャンバー内の測定/送信アンテナは、軸比 1 dB 以上の右円偏波(RHCP)でなければならない。

GPS 信号生成ツールでは、1 つの GPS 衛星 L1/CA 信号を複製します。

以下のテストプロセスに記載されている信号強度は、測定周波数を中心とするダイポールを持つテスト対象デバイス(DUT)の位置で測定したとき、オフセット 3 dB、精度 +/- 1 dB として定義されています。例えば、テストで -120 dBm が要求される場合、チャンバー校正では、DUT 位置での測定電力が -117 dBm +/-1 dB であることを示すものとします。3 dB オフセットは、校正アンテナが直線偏波ダイポールであることを説明するためのものです。

テスト データポイントは、デバイスの典型的なユースケースを最もよく表す半球をカバーする必要があります。メーカーは、アンテナの通信可能範囲を最大限に広げて、ユーザーの幅広い使用に対応するよう努める必要があります。

合否の判定

合否の判定には、以下の獲得およびトラッキング適合性テストが必要です。これらのテストは、GPS L1/CA 信号に対してのみ実行されます。

データ・ポイント滞留時間(DPDT)や要求されるアクイジション信号品質(RASQ)など、DUT の特定のサンプルで変化しない値が決定されたら、その値を以降のテストで特定の DUT サンプルに再利用することで、DUT サンプルが一切変更されていない限り、テスト時間を短縮できます。

取得適合性テスト手順

これは、合格/不合格の答えを迅速に得るための単一ポイント オフセット テストです。DUT は、測定半球の底面に垂直、つまりシータ = 0° または天頂に、測定値を向けて配置します。

-120 dBm に相当する入射信号が出力され、DUT をトリガーしてコールド スタートを開始します。

GPGSV メッセージ [2] を調べることでわかるように、DUT がテスト信号を取得した後、テスト信号をオフにし、記録された信号の損失を GPGSV 信号に反映させるのに必要な時間を測定します。この継続時間 + 3 秒は、データポイント滞留時間(DPDT)として定義されます。

テスト信号電源は、DUT の伝導取得感度レベルに設定する必要があります。判断に迷う場合は、レシーバーのデータシートに記載されているレベルを使用してください。{DUT にコールド スタートを指示し、45 秒後に GPGSV 文字列を評価して、レシーバがテスト信号を取得したかどうかを判定します。信号が取得されない場合は、テスト信号を 1 dB 上げる。}かっこ {} で囲まれた前のセクションは、テスト信号が取得されるまで繰り返されます。

DUT が取得できるテスト信号レベルが決定された後、GPGSV 文字列を 10 秒間にわたって評価し、記録した DUT が報告した衛星信号品質値を評価します。この 10 個の値が平均化され、Required Acquisition Signal Quality(RASQ)として定義されます。

その後、テスト信号強度を -138 dBm に設定し、DUT に信号を取り込みます。その後、残りのテストではテスト信号強度が一定に保たれます。

選択した半球上で 15° ずつ増分するごとに、DPDT 期間中、受信機は静止した状態に維持されるものとします。この期間の終了時に、GPS NMEA 文字列 GPGSV が調査されます。データポイントに合格するには、DUT から報告された衛星信号の品質値が、以前に記録された RASQ 値以上である必要があります。

テストに合格するには、すべてのデータポイントに合格する必要があります。

適合性テスト手順を追跡する

これは、合格/不合格の答えを迅速に得るための単一ポイント オフセット テストです。DUT は、測定半球の底面に垂直、つまりシータ = 0°(天頂)に測定値を向けて配置します。

-120 dBm に等しい入射信号が表示され、DUT をトリガーしてコールド スタートを開始します。

DUT が GPGSV メッセージ [2] を調べることで確認できるテスト信号を取得した後、テスト信号をオフにし、記録された信号の損失を GPGSV 信号に反映させるのに要します。この継続時間+3 秒は、データポイント滞留時間(DPDT)として定義されるものとします。

テスト信号が復元され、DUT が衛星を捕捉できるようになります。

入射テスト信号は、-151 dBm まで下げる。

選択された半球上で 15° ずつ増分するごとに、DPDT 期間中、受信機は静止した状態に維持されるものとします。この期間の終了時に、GPS NMEA 文字列 GPGSV を調べて、テスト信号が受信機によってまだ認識されているかどうか、およびそのデータポイントに記録された結果を判断します。

テストに合格するには、すべてのデータポイントに合格する必要があります。

参照

[1] CTIA、「www.ctia.org」、2016 年 6 月:http://www.ctia.org/initiatives/certification/certification-test-plans

[2] 全米海洋電子協会、「NMEA Standard 0183」2008 年

ソフトウェアの実装

Street View Publish API を使用したアップロードがサポートされている必要があります。API に対するすべてのリクエストは、こちらに記載されているように認証される必要があります。

ストリートビューにアップロードしたすべての画像について、次の要件が適用されます。

  • 画像作成日時(画像をキャプチャした日時)を指定する必要があります。
  • 製品のメーカー、モデル、ファームウェアのバージョンを報告する必要があります。
  • 手ぶれ補正をオフにする必要があります。
  • GPS と IMU の未加工データを共有しなければならない(受信時ではなく、測定が行われた日時に関する正確なタイムスタンプが測定に付く)。

ストリートビューにアップロードされたすべての 360° 動画について:

  • テレメトリー データは、カメラ モーション メタデータのカメラ モーション メタデータを使用して通信する必要があります。
  • フォト シーケンスは、動画が撮影された正しいフレームレートでエンコードする必要があります。

また、ユーザーが公開する前に(少なくとも初めて)、申請書に次の文言と行を含めてください。

「このコンテンツは Google マップで一般公開されます。他の Google サービスにも表示される可能性があります。マップユーザーの投稿コンテンツに関するポリシーについて詳しくは、こちらをご覧ください。」 <ph type="x-smartling-placeholder">
</ph>

例外

個々の要件には一致しないが、このドキュメントで規定されているエンドツーエンドの全体的なパフォーマンス指標を満たしている特定のハードウェア ソリューションとソフトウェア ソリューションについては、例外が認められることがあります。

プロダクトの評価

製品の評価について関心やご質問がある場合は、こちらからお問い合わせください。Street View Publish API での 360°動画サポートに関するメソッドとドキュメントへのアクセスは、現在(2018 年 5 月)招待制となっています。上記のリンク先のフォームを使用してアクセス権をリクエストしてください。

審査は、デベロッパーによるテスト、テスト、ベータ版ユーザーテスト、承認の段階で構成されます。各段階で、Google はそれぞれのテスト データセットを使用して、プロダクトの画質、テレメトリー データ、メタデータ、ワークフローを評価します。テスト データセットは、お客様が共有したデータ、Google が作成したデータ、またはベータ版ユーザーが送信したデータです(下記のテストセットの例は変更される可能性があります)。

  • 静止画
    • 360°写真 5 枚(屋内)
    • 屋外(可能な場合は晴れ)の 360°写真を 5 枚
    • 屋外の 360°写真を 5 枚(可能な場合は日陰または曇り)
  • 動作中(約 30 mph または 45 km/h)
    • 地方で 60 分の動画(5 fps)を 5 本撮影
    • 郊外で 60 分の動画(5 fps)を 5 本撮影
    • 都市環境で 60 分動画(5 fps)を 5 本撮影

テスト

まず、Google マップで公開しているテスト画像へのリンクを Google までお知らせください。また、製品がサポートするデバイスとオペレーティング システムを幅広くカバーし、さまざまなネットワーク条件(自宅、オフィス、屋外など)でテストを実施してください。

テスト

テストが正常に完了したら、Google はチームと緊密にコミュニケーションをとりながらテストを開始します。まず、画像の撮影方法やストリートビューへのアップロード方法をご提供ください。

ユーザーテスト

パートナー様と Google の両方のテストが正常に完了したら、最低 5 人のベータ版ユーザーを対象に 1 ~ 2 週間のテスト期間を設けて、最小限のテストを受けてください。テスターへの連絡についてサポートが必要な場合は、お気軽にお問い合わせください。関心のあるユーザーをご紹介できる場合があります。テスターとの調整(各種手配やサポートを含むがこれらに限定されない)は、ご自身の責任で行っていただく必要があります。

承認

テストで良好な結果が得られた場合は、リリース計画をお知らせいただく必要があります。これには、ストリートビュー向けのサポートやプロモーション用コンテンツ(ウェブベースかどうかを問わず)が含まれます。ご提出いただいた資料を速やかに審査し、フィードバックをお寄せください。

これらの資料を作成するときは、Google のブランドの取り扱いガイドラインを遵守してください。

申請が承認されると、ストリートビュー対応バッジの使用が認められ、上記のガイドラインに沿って、ストリートビュー対応製品として扱われるようになります。承認されたカメラごとに、カメラの性能を象徴するものとして、Google のマーケティング資料にそのカメラや製品の画像が表示されることがあります。