This folder contains documents for building a VR180 camera.
A high-level overview is available in the overview.pptx.
- Camera Hardware
- See hardware.md for detailed guideline for choosing the right hardware.
- For initial evaluation of the camera app, you may use an Android phone as a camera emulator.
- Android Firmware
- Android 9.0 or above is recommended.
- A virtual stereo camera (left-Right-eye stitched image output) should be
provided through the
Android Camera2 API.
- Implementation is NOT provided in this repo.
- OEMs need to implement based on the hardware platform. Google's reference camera is built on the QCS605 platform.
- If the virtual camera id is not 0, customize the id in
CameraConfiguratorclass.
- Real timestamps are needed for synchronizing data between image and IMU data. Synchronization is critical for producing high-quality VR180 videos.
- It is recommended to pass CTS tests related to Camera2 API (and Bluetooth and WiFi if the camera needs connectivity to the VR180 companion app or Internet).
- Camera App Integration
- A reference implementation of the Camera App is provided in this repo. Customization is required for OEM-specific configurations.
- The Camera App requires system-level permission to be fully functional.
The APK file should be pushed to
/system/priv-app/and the native libraries (.so files) need to be pushed to/system/lib/(or/system/lib64depending on the architecture).
- Camera Calibration.
- VR180-specific camera calibration is required on a per-unit basis to generate the required metadata. The calibration tool is provided in the /tools folder. The Camera App has calibration recorder mode which can capture the required dataset.
- Once calibration is completed, the output files should be saved to the
camera's storage. It is recommended to store the calibration data under
/persistpartition. Customize theProjectionMetadataProviderclass for the actual location of the calibration data. - See calibration.md for instructions.
- Validation Tool
- Once proper hardware, firmware, and software are developed, and calibration is completed, the output photos and videos should be validated for file format and geometry.
- The validation tool is provided in the /tools folder.
- See validation.md for details.