OSDN Git Service

Camera: Revise MOTION_TRACKING capability
authorEino-Ville Talvala <etalvala@google.com>
Tue, 6 Feb 2018 00:26:26 +0000 (16:26 -0800)
committerEino-Ville Talvala <etalvala@google.com>
Mon, 12 Feb 2018 19:28:52 +0000 (11:28 -0800)
Simplify the API for the P release.

Also clarify a bit of OIS control text.

Test: Revised Camera CTS passes
Bug: 63629224
Change-Id: Iff5a24a5699fa018e9385924f9d1c7b1cbe39576

camera/docs/docs.html
camera/docs/metadata_definitions.xml

index 5c53635..8f2fd14 100644 (file)
@@ -13755,13 +13755,12 @@ is therefore no larger than <code>|<wbr/>r|<wbr/> &lt;= sqrt(2)</code>.<wbr/></p
                     <span class="entry_type_enum_name">PRIMARY_CAMERA (v3.3)</span>
                     <span class="entry_type_enum_notes"><p>The value of <a href="#static_android.lens.poseTranslation">android.<wbr/>lens.<wbr/>pose<wbr/>Translation</a> is relative to the optical center of
 the largest camera device facing the same direction as this camera.<wbr/></p>
-<p>This default value for API levels before Android P.<wbr/></p></span>
+<p>This is the default value for API levels before Android P.<wbr/></p></span>
                   </li>
                   <li>
                     <span class="entry_type_enum_name">GYROSCOPE (v3.3)</span>
                     <span class="entry_type_enum_notes"><p>The value of <a href="#static_android.lens.poseTranslation">android.<wbr/>lens.<wbr/>pose<wbr/>Translation</a> is relative to the position of the
-primary gyroscope of this Android device.<wbr/></p>
-<p>This is the value reported by all devices that support the MOTION_<wbr/>TRACKING capability.<wbr/></p></span>
+primary gyroscope of this Android device.<wbr/></p></span>
                   </li>
                 </ul>
 
@@ -13792,9 +13791,6 @@ primary gyroscope of this Android device.<wbr/></p>
             <td class="entry_details" colspan="6">
               <p>Different calibration methods and use cases can produce better or worse results
 depending on the selected coordinate origin.<wbr/></p>
-<p>For devices designed to support the MOTION_<wbr/>TRACKING capability,<wbr/> the GYROSCOPE origin
-makes device calibration and later usage by applications combining camera and gyroscope
-information together simpler.<wbr/></p>
             </td>
           </tr>
 
@@ -16866,35 +16862,10 @@ during high speed streaming.<wbr/></p></span>
                   <li>
                     <span class="entry_type_enum_name">MOTION_TRACKING (v3.3)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
-                    <span class="entry_type_enum_notes"><p>The device supports controls and metadata required for accurate motion tracking for
-use cases such as augmented reality,<wbr/> electronic image stabilization,<wbr/> and so on.<wbr/></p>
-<p>This means this camera device has accurate optical calibration and timestamps relative
-to the inertial sensors.<wbr/></p>
-<p>This capability requires the camera device to support the following:</p>
-<ul>
-<li>Capture request templates <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#TEMPLATE_MOTION_TRACKING_PREVIEW">Camera<wbr/>Device#TEMPLATE_<wbr/>MOTION_<wbr/>TRACKING_<wbr/>PREVIEW</a> and <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#TEMPLATE_MOTION_TRACKING_BEST">Camera<wbr/>Device#TEMPLATE_<wbr/>MOTION_<wbr/>TRACKING_<wbr/>BEST</a> are defined.<wbr/></li>
-<li>The stream configurations listed in <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createCaptureSession">CameraDevice#createCaptureSession</a> for MOTION_<wbr/>TRACKING are
-  supported,<wbr/> either at 30 or 60fps maximum frame rate.<wbr/></li>
-<li>The following camera characteristics and capture result metadata are provided:<ul>
-<li><a href="#static_android.lens.intrinsicCalibration">android.<wbr/>lens.<wbr/>intrinsic<wbr/>Calibration</a></li>
-<li><a href="#static_android.lens.radialDistortion">android.<wbr/>lens.<wbr/>radial<wbr/>Distortion</a></li>
-<li><a href="#static_android.lens.poseRotation">android.<wbr/>lens.<wbr/>pose<wbr/>Rotation</a></li>
-<li><a href="#static_android.lens.poseTranslation">android.<wbr/>lens.<wbr/>pose<wbr/>Translation</a></li>
-<li><a href="#static_android.lens.poseReference">android.<wbr/>lens.<wbr/>pose<wbr/>Reference</a> with value GYROSCOPE</li>
-</ul>
-</li>
-<li>The <a href="#static_android.sensor.info.timestampSource">android.<wbr/>sensor.<wbr/>info.<wbr/>timestamp<wbr/>Source</a> field has value <code>REALTIME</code>.<wbr/> When compared to
-  timestamps from the device's gyroscopes,<wbr/> the clock difference for events occuring at
-  the same actual time instant will be less than 1 ms.<wbr/></li>
-<li>The value of the <a href="#dynamic_android.sensor.rollingShutterSkew">android.<wbr/>sensor.<wbr/>rolling<wbr/>Shutter<wbr/>Skew</a> field is accurate to within 1 ms.<wbr/></li>
-<li>The value of <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a> is guaranteed to be available in the
-  capture result.<wbr/></li>
-<li>The <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> control supports MOTION_<wbr/>TRACKING to limit maximum
-  exposure to 20 milliseconds.<wbr/></li>
-<li>The stream configurations required for MOTION_<wbr/>TRACKING (listed at <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createCaptureSession">CameraDevice#createCaptureSession</a>) can operate at least at
-  30fps; optionally,<wbr/> they can operate at 60fps,<wbr/> and '[60,<wbr/> 60]' is listed in
-  <a href="#static_android.control.aeAvailableTargetFpsRanges">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Target<wbr/>Fps<wbr/>Ranges</a>.<wbr/></li>
-</ul></span>
+                    <span class="entry_type_enum_notes"><p>The camera device supports the MOTION_<wbr/>TRACKING value for
+<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a>,<wbr/> which limits maximum exposure time to 20 ms.<wbr/></p>
+<p>This limits the motion blur of capture images,<wbr/> resulting in better image tracking
+results for use cases such as image stabilization or augmented reality.<wbr/></p></span>
                   </li>
                   <li>
                     <span class="entry_type_enum_name">LOGICAL_MULTI_CAMERA (v3.3)</span>
@@ -24144,7 +24115,7 @@ the output result metadata.<wbr/></p>
             </td> <!-- entry_type -->
 
             <td class="entry_description">
-              <p>Whether the camera device will output the OIS data in output
+              <p>A control for selecting whether OIS position information is included in output
 result metadata.<wbr/></p>
             </td>
 
@@ -24170,7 +24141,7 @@ result metadata.<wbr/></p>
             <td class="entry_details" colspan="6">
               <p>When set to ON,<wbr/>
 <a href="#dynamic_android.statistics.oisTimestamps">android.<wbr/>statistics.<wbr/>ois<wbr/>Timestamps</a>,<wbr/> android.<wbr/>statistics.<wbr/>ois<wbr/>Shift<wbr/>Pixel<wbr/>X,<wbr/>
-android.<wbr/>statistics.<wbr/>ois<wbr/>Shift<wbr/>Pixel<wbr/>Y will provide OIS data in the output result metadata.<wbr/></p>
+and android.<wbr/>statistics.<wbr/>ois<wbr/>Shift<wbr/>Pixel<wbr/>Y provide OIS data in the output result metadata.<wbr/></p>
             </td>
           </tr>
 
@@ -26018,7 +25989,7 @@ the output result metadata.<wbr/></p>
             </td> <!-- entry_type -->
 
             <td class="entry_description">
-              <p>Whether the camera device will output the OIS data in output
+              <p>A control for selecting whether OIS position information is included in output
 result metadata.<wbr/></p>
             </td>
 
@@ -26044,7 +26015,7 @@ result metadata.<wbr/></p>
             <td class="entry_details" colspan="6">
               <p>When set to ON,<wbr/>
 <a href="#dynamic_android.statistics.oisTimestamps">android.<wbr/>statistics.<wbr/>ois<wbr/>Timestamps</a>,<wbr/> android.<wbr/>statistics.<wbr/>ois<wbr/>Shift<wbr/>Pixel<wbr/>X,<wbr/>
-android.<wbr/>statistics.<wbr/>ois<wbr/>Shift<wbr/>Pixel<wbr/>Y will provide OIS data in the output result metadata.<wbr/></p>
+and android.<wbr/>statistics.<wbr/>ois<wbr/>Shift<wbr/>Pixel<wbr/>Y provide OIS data in the output result metadata.<wbr/></p>
             </td>
           </tr>
 
index 1800dab..48a6462 100644 (file)
@@ -4113,14 +4113,12 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
             <notes>The value of android.lens.poseTranslation is relative to the optical center of
             the largest camera device facing the same direction as this camera.
 
-            This default value for API levels before Android P.
+            This is the default value for API levels before Android P.
             </notes>
             </value>
             <value>GYROSCOPE
             <notes>The value of android.lens.poseTranslation is relative to the position of the
             primary gyroscope of this Android device.
-
-            This is the value reported by all devices that support the MOTION_TRACKING capability.
             </notes>
             </value>
           </enum>
@@ -4130,10 +4128,6 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
           <details>
             Different calibration methods and use cases can produce better or worse results
             depending on the selected coordinate origin.
-
-            For devices designed to support the MOTION_TRACKING capability, the GYROSCOPE origin
-            makes device calibration and later usage by applications combining camera and gyroscope
-            information together simpler.
           </details>
         </entry>
       </static>
@@ -5103,38 +5097,11 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
             </value>
             <value optional="true" hal_version="3.3" >MOTION_TRACKING
               <notes>
-              The device supports controls and metadata required for accurate motion tracking for
-              use cases such as augmented reality, electronic image stabilization, and so on.
-
-              This means this camera device has accurate optical calibration and timestamps relative
-              to the inertial sensors.
-
-              This capability requires the camera device to support the following:
+              The camera device supports the MOTION_TRACKING value for
+              android.control.captureIntent, which limits maximum exposure time to 20 ms.
 
-              * Capture request templates {@link
-                android.hardware.camera2.CameraDevice#TEMPLATE_MOTION_TRACKING_PREVIEW} and {@link
-                android.hardware.camera2.CameraDevice#TEMPLATE_MOTION_TRACKING_BEST} are defined.
-              * The stream configurations listed in {@link
-                android.hardware.camera2.CameraDevice#createCaptureSession} for MOTION_TRACKING are
-                supported, either at 30 or 60fps maximum frame rate.
-              * The following camera characteristics and capture result metadata are provided:
-                  - android.lens.intrinsicCalibration
-                  - android.lens.radialDistortion
-                  - android.lens.poseRotation
-                  - android.lens.poseTranslation
-                  - android.lens.poseReference with value GYROSCOPE
-              * The android.sensor.info.timestampSource field has value `REALTIME`. When compared to
-                timestamps from the device's gyroscopes, the clock difference for events occuring at
-                the same actual time instant will be less than 1 ms.
-              * The value of the android.sensor.rollingShutterSkew field is accurate to within 1 ms.
-              * The value of android.sensor.exposureTime is guaranteed to be available in the
-                capture result.
-              * The android.control.captureIntent control supports MOTION_TRACKING to limit maximum
-                exposure to 20 milliseconds.
-              * The stream configurations required for MOTION_TRACKING (listed at {@link
-                android.hardware.camera2.CameraDevice#createCaptureSession}) can operate at least at
-                30fps; optionally, they can operate at 60fps, and '[60, 60]' is listed in
-                android.control.aeAvailableTargetFpsRanges.
+              This limits the motion blur of capture images, resulting in better image tracking
+              results for use cases such as image stabilization or augmented reality.
               </notes>
             </value>
             <value optional="true" hal_version="3.3">LOGICAL_MULTI_CAMERA
@@ -8337,12 +8304,12 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
             <value>ON
             <notes>Include OIS data in the capture result.</notes></value>
           </enum>
-          <description>Whether the camera device will output the OIS data in output
+          <description>A control for selecting whether OIS position information is included in output
           result metadata.</description>
           <range>android.Statistics.info.availableOisDataModes</range>
           <details>When set to ON,
           android.statistics.oisTimestamps, android.statistics.oisShiftPixelX,
-          android.statistics.oisShiftPixelY will provide OIS data in the output result metadata.
+          and android.statistics.oisShiftPixelY provide OIS data in the output result metadata.
           </details>
         </entry>
       </controls>