Intent to Implement: Media Capture Depth Stream Extensions

151 views
Skip to first unread message

Dongseong Hwang

unread,
Jun 1, 2016, 10:08:44 AM6/1/16
to blink-dev

Contact emails

dongseo...@intel.com, ningx...@intel.com, robert....@intel.com, harr...@intel.com, joon...@intel.com, aleksandar....@intel.com


Spec

http://w3c.github.io/mediacapture-depth/

In the Editor's Draft phase.


Summary

Media Capture Depth Stream Extensions enables to use depth stream camera.


Motivation

Depth camera becomes an area of intense research and developer interest recently, following the efforts of Realsense camera to cost-effective hardware to developers and eventually consumers. Several large tech companies released depth camera development kits such as Tango by Google, and Kinect and HoloLens by Microsoft.


Web developers are eager to experiment with this new medium but since the web lacks native support existing efforts have centered around plugins or downstream chromium changes. Native support of depth stream encourages Web developers to create next immersive experience. For example, WebVR experience on the top of real world space reconstructed by depth camera.


Interoperability and Compatibility Risk

Since the technology behind this feature is fairly new some standards and best practices are still being formulated. However, the spec is designed to provide calibrated depth stream to developers as hiding implementation details behind the API. The spec explicitly defines “The rendering of the a video stream track and a depth stream track are intended to be synchronized. The resolution of the two tracks are intended to be same. And the coordination of the two tracks are intended to be calibrated.”. So the API isn’t affected by supporting another depth camera.


In detail, there are two available depth cameras in the market such as Intel Realsense and Microsoft Kinect. Both have different distortion and calibration model, but the spec will remain stable as the spec delegates all calibration details to each browser. Developers will get a synchronized depth and color stream in a Cartesian coordinate after all necessary post-processing by a browser implementation.


With that in mind the intent is produce an experimental API that remains behind a flag until industry trends have indicated a clear trajectory. In the meantime the API should remain flexible to allow developers to experiment and provide feedback about what is required for and effective depth camera experience, but also allow the browser react to changes in the depth camera landscape quickly and without concern for breaking existing content.


Ongoing technical constraints

None.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes.


OWP launch tracking bug

http://crbug.com/616098


Link to entry on the feature dashboard

https://www.chromestatus.com/feature/5713419084759040


Requesting approval to ship?

No

Niklas Enbom

unread,
Jun 2, 2016, 12:07:11 PM6/2/16
to Dongseong Hwang, blink-dev
Happy to see this added. The WebRTC team will help out with code and design review for extending the capture path and MediaStreams to support depth.

Dongseong Hwang

unread,
Jun 2, 2016, 1:02:38 PM6/2/16
to blink-dev, dongseo...@intel.com
I'm glad to hear positive feedback from the WebRTC team. I hope Web API owners be happy with this.

Rick Byers

unread,
Jun 16, 2016, 12:57:08 PM6/16/16
to Dongseong Hwang, blink-dev, Harald Alvestrand

This sounds exciting to me!  Certainly sounds reasonable to implement (maybe even a good fit for an origin trial at some point?).

As always shipping decisions will depend on the interop risk (signals from other vendors etc.).

Reply all
Reply to author
Forward
0 new messages