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

はじめに

この仕様では、高速かつ高精度のストリートビューの撮影と公開の機能を備えた高度な 360° カメラのハードウェア、タイミング、データに関するすべての要件について詳しく説明しています。(このプログラムは操作機能や機械機能には適用されません)。

画像

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

IMU

推奨コンポーネント:

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

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

ジャイロスコープは、次の仕様を満たす必要があります。

  • 解像度: 16 ビット以上
  • 範囲: +/- 1,000 deg/s 以上、32 LSB/dps 以上
  • サンプリング レート: 200 Hz 以上、ジッター 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 メートル(サーキュラーエラー確率(CEP)、50%、24 時間静的 >6 SV)
  • 速度精度:0.06 m/s (30 m/s で 50%)
  • オペレーションの上限: 4 g 以上
  • 既知のタイプの内蔵アンテナまたは固定された外部アンテナ

アンテナの設計

GPS レシーバー システムと多数の複雑な電子システムの両方を搭載したカメラなど、物理的に小さな製品は、付属の電子システムからの RF 放射によってラジオ受信機の性能に問題が生じやすくなります。多くの場合、この干渉はラジオ受信機の帯域内で発生するため、除去できません。そのため、下記の GPS テストでは、デバイスが正常に機能することを確認するために一連のテストを用意しています。

カメラのアーキテクチャ

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

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

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

カメラの構成

  • カメラで画像に手ぶれ補正を適用しないでください。
  • 屋内でも屋外でも画像をキャプチャできるように、カメラの設定を調整する必要があります。

その他

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

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

機械、環境

  • テザリング電源に接続したカメラは、定格 IP65 以上である必要があります。

タイミングの仕様

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

GPS

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

動画 / 画像

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

免責事項

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 動画には、次の user-data 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 は GPS 技術の先進的なエキスパートで、5 つの無響テスト室と以下の試験の実施に必要なすべての機器を備えています。ただし、同等のサービス プロバイダに以下のテストを依頼できます。

テストのセットアップ

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

デバイスは、GPS ステータスの評価のために、NMEA の GPS 結果文字列 [2] を外部コンピュータにレポートする手段を提供しなければなりません。必須要件であり、それ以外の場合でテストを行うことはできません。

チャンバー内の測定/送信アンテナは、軸比 1 dB 以上の右円偏波(RHCP)である必要があります。

GPS 信号発生器は、一つの GPS 衛星 L1/CA 信号を複製します。

以下のテスト プロセスで説明する信号強度は、測定周波数を中心とした双極子を用い、テスト対象デバイス(DUT)の位置で測定して +/- 1 dB、オフセット 3 dB と定義されます。例えば、試験で -120 dBm が要求される場合、試験室のキャリブレーションは、DUT の位置で測定した電力が -117 dBm +/-1 dB であることを示すものとします。この 3 dB のオフセットは、キャリブレーション アンテナが直線偏波の双極子であるためです。

テスト データポイントは、デバイスの典型的なユースケースを最もよく表す半球を対象とします。メーカーは、幅広いユーザーによる使用に対応できるように、アンテナの範囲を最大限確保する必要があります。

合否の判定

合否を判定するには、以下の Acquisition and Tracking Conformance テストが必要です。これらのテストは GPS L1/CA 信号に対してのみ実行されます。

Data Point Dwell Time(DPDT)や Required Acquisition Signal Quality(RASQ)など、特定の DUT サンプルで変化しない値が決定された後、その値を後のテストで特定の DUT サンプルに再利用することで、DUT サンプルになんらかの変更がない限り、テスト時間を短縮できます。

取得適合性テストの手順

これは、合否を素早く判断するための単一ポイント オフセット テストです。DUT は、測定対象が測定半球のベース面に垂直な方向、つまり、theta = 0° または天頂に位置します。

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

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

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

DUT の捕捉を許可するテスト信号レベルが決定したら、GPGSV 文字列を 10 秒間にわたって評価し、DUT が報告した衛星信号品質値を記録します。この 10 個の値を平均化し、必須取得シグナル品質(RASQ)として定義します。

次に、テスト信号強度を-138dBm に設定し、DUT が信号を捕捉できるようにします。その後、テストの残りの期間、テスト信号強度は一定に保たれます。

選択した半球上で 15° ずつ増加するたびに、レシーバーは DPDT の間、静止したままになります。この期間の終了時に、GPS NMEA 文字列 GPGSV が調査されます。データポイントが通過するには、DUT から報告された衛星信号品質値が、以前に記録された RASQ 値以上である必要があります。

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

適合性テスト手順の追跡

これは、合否を素早く判断するための単一ポイント オフセット テストです。DUT は、測定対象が測定半球のベース面に垂直な方向、つまり、theta = 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] National Marine Electronics Association「NMEA Standard 0183」、2008 年

ソフトウェアの実装

Street View Publish API を使用したアップロードに対応している必要があります。API へのリクエストはすべて、こちらの説明に沿って認証を受ける必要があります。

ストリートビューにアップロードしたすべての画像について:

  • 画像の作成日時(画像が撮影された日時)を指定する必要があります。
  • 製品のメーカー、モデル、ファームウェアのバージョンを報告する必要があります。
  • 手ぶれ補正機能をオフにする必要があります。
  • GPS および IMU の生データを共有する必要があります(測定には、受信した時点ではなく、測定した時点の正確なタイムスタンプが必要です)。

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

  • テレメトリー データは、Camera Motion Metadata、Camera Motion Metadata を使用してやり取りする必要があります。
  • 写真が撮影されたときの正しいフレームレートでフォトシーケンスをエンコードする必要があります。

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

「このコンテンツは Google マップで一般公開されます。また、他の Google サービスでも表示される場合があります。マップのユーザーの投稿コンテンツに関するポリシーについて詳しくは、こちらをご覧ください。」

例外

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

商品の評価

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

審査は、テスト、テスト、ベータ版ユーザーテスト、承認で構成されます。各ステージで、Google は該当するテスト データセット(お客様が共有したデータ、Google が作成したデータ、またはベータ版ユーザーが送信したデータ)を使用して、プロダクトの画質、テレメトリー データ、メタデータ、ワークフローを評価します(以下のテストセットの例で、変更される場合があります)。

  • 静止画
    • 5 枚の 360° 写真(屋内)
    • 5 枚の 360°写真(屋外で撮影(できれば晴れ))
    • 屋外での 360° 写真 5 枚(可能な場合は、日陰または曇りあり)
  • 移動中(約 30 mph(45 kph))
    • のどかな雰囲気を再現した 60 分間の動画を 5 本(5 FPS)
    • 郊外で撮影した 60 分間の動画を 5 本(5 FPS)
    • 都市部を舞台にした 60 分間の動画を 5 本(5 FPS)

テスト

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

テスト

テストが正常に完了したら、Google がお客様のチームと緊密に連携してテストを開始します。まず、画像を撮影する方法、またはストリートビューにアップロードする方法を教えていただけますでしょうか。

ユーザーテスト

テストと Google のテストの両方を完了したら、最低でも 5 人のユーザーにテストに参加してもらい、テスト期間は 1 ~ 2 週間にする。テスターとの連携についてサポートが必要な場合は、お知らせください。興味を持ったユーザーをご紹介できる可能性があります。なお、テスターとの連携(各種手配、サポートを含むが、これらに限定されない)は、参加者の責任となります。

承認

テストで良好な結果が得られた場合は、ストリートビュー固有のサポートやプロモーション用コンテンツ(ウェブベースまたはその他)を含めたリリース計画についてお知らせください。お送りいただいた資料を確認し、速やかにフィードバックを共有いたします。

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

承認された場合は、ストリートビュー対応バッジの使用が認められ、上記のガイドラインに従ってストリートビュー対応製品を販売できます。なお、承認されたカメラごとに、そのカメラの性能を表す代表として、Google のマーケティング資料にカメラが掲載されたり、製品の表面画像が掲載されたりする場合があります。