はじめに
下記の仕様は随時更新されます。この仕様には、高速かつ高精度のストリートビューの撮影と公開の機能を提供する高度な 360° カメラのすべてのハードウェア、タイミング、データ要件が詳述されています。このプログラムは、オペレーションまたは機械的な機能には適用されません。
画像
- 15 メガピクセル以上(7 FPS 以上)
- 水平画角 360°
- 垂直画角が連続 135° 以上
- Google が画像とジオメトリの品質を審査します
IMU
推奨コンポーネント:
- 6 軸加速度計/ジャイロスコープ: BMI160 または ST-LSM6DSM
加速度計は、次の仕様を満たしている必要があります。
- 解像度: 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
推奨コンポーネント
要件
- サンプリング レート: 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 受信機システムと多数の複雑な電子システムの両方を搭載したカメラなど、物理的に小さな製品では、搭載されている電子機器からの高周波放射によってラジオ受信機の性能に問題が生じやすくなります。この干渉は、多くの場合、ラジオ受信機の帯域内にあるため、除去できません。
タイミングの仕様
すべてのセンサー測定には、同じ安定したシステム クロックを基準として正確にタイムスタンプが付けられる必要があります。測定値には、プロセッサがセンサーチップからメッセージを受信したときではなく、センサーが数量を測定したときにタイムスタンプを付ける必要があります。異なるセンサー測定値間のタイムスタンプ ジッターは、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
動画の要件
動画は 7 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 your_video.mp4 ... Metadata: make : my.camera.make model : my.camera.model firmware : v_1234.4321 ...
カメラのアーキテクチャ
各センサーと各カメラの基準フレーム(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)モデルから行われる場合があり、製造上のばらつきを考慮してデバイス固有である必要はありません。この情報は、評価プロセスの開始時に Google と共有する必要があります。
カメラの設定
- カメラで画像の手ぶれ補正機能を使用しないでください。
- 屋内でも屋外でも画像を撮影できるようにカメラ設定を調整してください。
電源(次のモデルのいずれかまたは両方を採用する必要があります):
- USB 3.1 テザリング電源および再充電、4 時間以上の録画をサポート
- バッテリー駆動で 1 時間以上の録画とアップロードに対応
ソフトウェア実装のリマインダー
Street View Publish API を使用したアップロードをサポートしている必要があります。API に対するすべてのリクエストは、こちらに記載されているとおり、認証を受ける必要があります。
ストリートビューにアップロードしたすべての画像について:
- 画像作成日時(画像がキャプチャされた日時)を指定する必要があります。
- 製品のメーカー、モデル、ファームウェア バージョンを報告する必要があります。
- 手ぶれ補正をオフにする必要があります。
- 未加工の GPS および IMU データのデータ コンポーネントはすべて共有する必要があります(受信時ではなく、測定時の正確なタイムスタンプを測定値に付ける必要があります)。
ストリートビューにアップロードされたすべての 360° 動画について:
- テレメトリー データは、カメラのモーション メタデータを使用して伝える必要があります。
- フォト シーケンスは、動画が撮影された正しいフレームレートでエンコードする必要があります。
また、ユーザーが公開する前に(少なくとも初めて)、申請書に次の文言と行を含めてください。
「このコンテンツは Google マップで一般公開されます。他の Google サービスにも表示される可能性があります。マップユーザーの投稿コンテンツに関するポリシーについて詳しくは、こちらをご覧ください。」 <ph type="x-smartling-placeholder">プロダクトの評価
- ストリートビュー対応プロにご興味をお持ちですか?準備はいいですか?
- Open Spherical Camera API と Street View Publish API を確認する
- Street View Publish API サポートから、360°写真シーケンスへのアクセスをリクエストします。その際、上記の仕様を満たす方法についての説明文も添えてください。Google チームが提供しているテンプレートを使用して、以下の情報の提供を求められる場合もあります。
- 上記の仕様を満たす MP4 ファイル 3 個と写真 3 個(Camera Motion Metadata Specification を含む)
- 360°写真シーケンスのドキュメントと、ストリートビュー対応プロの資格要件に必要なメソッドにアクセスできるよう、許可リストに登録するアカウント。
- ストリートビュー対応プロに選ばれた方は、さっそく始めましょう。
- お使いの製品のカメラ アーキテクチャを教えてください。
- Street View Publish API を使用して、商品の 360°写真と写真シーケンスをストリートビューにアップロードできるようにします
- 12 枚のフォト シーケンス(フォト シーケンスあたり少なくとも 20 km)と 12 枚の写真を、以下全体に均等に分散して公開します。担当チームが用意したテンプレートを使用して、結果をお知らせください。
- カメラ制御オペレーティング システム: Android、iOS、オンデバイス
- ソフトウェアのオペレーティング システムのアップロード: Android、iOS、MacOS、Windows、オンデバイス
- エリアタイプ: 都市谷、その他の都市部、郊外
- 5 人以上のベータ版テスターに協力して、それぞれ少なくとも 3 つのフォト シーケンスをアップロードします(フォト シーケンスごとに 5 km 以上)。担当チームが用意したテンプレートを使用して、結果をお知らせください。 お送りいただいた内容を確認し、フィードバックをお寄せください。テストデータが完全でポリシーに準拠していることが確認できたら、次のステップに進んでください。
- Google のチームと連携して、製品のエンドツーエンドのストリートビュー エクスペリエンスを評価するために必要な機器(アクセサリを含む)、アクセス権、ヘルプ コンテンツを提供します。 Google ではテストの結果を確認し、フィードバックを提供いたします。テストデータと公開フローに問題がないことを確認したら、次のステップに進んでください。
- ストリートビュー対応プロと認定された方は、お疲れさまでした。
- 最後のステップ - 共生マーケティングの機会に備えて、ヘルプ コンテンツやサポート チャネルへのリンクを含むリリース計画を提出してください(Google のブランディング ガイドラインに従います)。Google チームが提供しているテンプレートを使用して、貴社のプランを共有してください。申請が完全承認されると、Google はストリートビュー対応プロバッジの付与と、共同マーケティングの機会の調整についてご案内します。
- ストリートビュー対応(プログレード)として承認されました。このステータスは 1 年間有効です。ユーザーが最初の 1 年間に 5,000 km を超える画像を Google マップに公開した場合、プロダクトは自動的に 2 年目の対象になります。
例外
個々の要件には一致しないが、このドキュメントで規定されているエンドツーエンドの全体的なパフォーマンス指標を満たしている特定のハードウェア ソリューションとソフトウェア ソリューションについては、例外が認められることがあります。