rijubrat...@intel.com,
eero.h...@intel.com
https://github.com/riju/backgroundBlur/blob/main/explainer.md
Background Blur API gives web developers a choice to use the native platform's API for background segmentation. Background Blur has become one of the most used features on Video conferencing apps like Teams, Meet, Zoom, Webex, etc. We want give Web apps similar capabilities as their native counterparts, leveraging the same platform APIs and to delight users without completely relying on ML frameworks like TensorFlow.js, Mediapipe, WASM libraries or cloud based solutions.
https://github.com/w3c/mediacapture-extensions/pull/49
https://github.com/w3c/mediacapture-extensions/pull/61
Pending
Gecko: No signal, but spec LGTM ed by Jan-Ivar (Mozilla).
https://github.com/mozilla/standards-positions/issues/658
WebKit: No signal but Apple co-author of explainer / PR.
https://lists.webkit.org/pipermail/webkit-dev/2022-June/032311.html
Web developers: No signals
Other signals: Almost every video-conference app has background blur feature.
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
Yes ( as part of CL )
MediaCaptureBackgroundBlur
False
No milestones specified
https://chromestatus.com/feature/5077577782263808
This intent message was generated by Chrome Platform Status.
Contact emails
rijubrat...@intel.com, eero.h...@intel.com
Explainer
https://github.com/riju/backgroundBlur/blob/main/explainer.md
Specification
Summary
Background Blur API gives web developers a choice to use the native platform's API for background segmentation. Background Blur has become one of the most used features on Video conferencing apps like Teams, Meet, Zoom, Webex, etc. We want give Web apps similar capabilities as their native counterparts, leveraging the same platform APIs and to delight users without completely relying on ML frameworks like TensorFlow.js, Mediapipe, WASM libraries or cloud based solutions.
Blink component
Motivation
A vast majority of communication these days happens on our client devices. During video meetings, participants are usually aware of how they look and what their environment (usually their home) is revealing to the audience. Most folks, especially ones without a dedicated office space would be inclined to hide messy rooms with pets and kids. Video meetings like face to face meetings are important for non-verbal communication but participants would rather focus on the important subject by removing the distractions in the background and prevent any accidental snafus. Microsoft says in a 38 minute conference call, 13 minutes are wasted dealing with distractions and interruptions. Background Blur goes a long way to cutting down those disruptions. Zoom says- "When a custom virtual background is unavailable or not suiting your needs, but you still want to maintain some privacy with regards to your surroundings, the blur background option can be a great alternative. This option simply blurs the background of your video, obscuring exactly who or what is behind you. It's great for hiding a cluttered dorm room, taking a meeting in a coffee shop, or just keeping things professional." . In fact, NCSC (National Cyber Security Centre UK) suggests using background Blur or a background image for staff meetings to add a degree of personal privacy.
On the Web, due to a lack of a standardized API for Background Blur and widespread demand, developers have no options but to use ML frameworks like Tensorflow.js and other WASM libraries to satisfy their customers. This Background Blur API gives developers a choice to use the native platform's API.
Initial public proposal
https://github.com/w3c/mediacapture-extensions/pull/49
https://github.com/w3c/mediacapture-extensions/pull/61
Search tags
TAG review
TAG review status
Pending
Risks
Interoperability and Compatibility
Gecko: No signal, but spec LGTM ed by Jan-Ivar (Mozilla). https://github.com/mozilla/standards-positions/issues/658
WebKit: No signal but Apple co-author of explainer / PR. https://lists.webkit.org/pipermail/webkit-dev/2022-June/032311.html
Web developers: No signals
Other signals: Almost every video-conference app has background blur feature.
WebView application risks
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
Debuggability
Is this feature fully tested by web-platform-tests?
Yes ( as part of CL )
Flag name
MediaCaptureBackgroundBlur
Requires code in //chrome?
False
Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1338665
Estimated milestones
No milestones specified
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5077577782263808
This intent message was generated by Chrome Platform Status.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/PH0PR11MB5191E86DD684B0D86A12B0EEF0B29%40PH0PR11MB5191.namprd11.prod.outlook.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfWu4kMKsspZYAchmqjLSvXKb5HT1wen0E5JqjBSyG8onw%40mail.gmail.com.
We are going to first implement this on Windows. “Real” support is dependent on driver support. If on your client machine, the camera app can do it, then this API can also do it.
I don’t have a Mac, but there’s
platform support, so we can collaborate once the initial Blink CLs lands.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5KKz%2BPuBdyTBP9w_W%3D5ny9jTErBVHpJbpYCVZmDmgLGbQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/PH0PR11MB5191F9937507ED7BDAC101FDF0B59%40PH0PR11MB5191.namprd11.prod.outlook.com.
Thanks Ken,
Hi Arthur,
Thanks for the questions, I will add more info in the
Explainer regarding Privacy in Security.
Replies inline -
From: Arthur Hemery <ahe...@google.com>
Sent: Wednesday, June 29, 2022 1:17 PM
To: blink-dev <blin...@chromium.org>
Cc: Bhaumik, Rijubrata <rijubrat...@intel.com>; François Beaufort <fbea...@google.com>; yoav...@chromium.org <yoav...@chromium.org>; blin...@chromium.org <blin...@chromium.org>; Guido Urdaneta <gui...@chromium.org>; Harald Alvestrand <h...@google.com>;
Youenn Fablet <you...@apple.com>; Bernard Aboba <Bernar...@microsoft.com>; Jan-Ivar Bruaroey @Mozilla <j...@mozilla.com>; Kenneth Russell <k...@chromium.org>
Subject: Re: [blink-dev] Intent to Prototype : Background Blur API.
Hi there!
We discussed this yesterday in the OWP Security&Privacy review and had a couple of questions/remarks:
- Using underlying platform APIs is fine as long as all providers are aware that they are going to receive random content from the internet. It's important because they are often more privileged than Chrome. We should strongly fuzz these API to verify that
they meet the bar.
[Bhaumik, Rijubrata] The only source for Background Blur API is client-side camera via getUserMedia() and the native API is going to do the entire processing on the client. The native APIs does in-stream correction. Only then is the "blurred" stream sent to the internet.
- From reading the spec it seems possible to obtain a MediaStreamTrack that contains arbitrary data and to apply background blur to it. Is that correct? If that's the case, then it makes fuzzing even more important.
[Bhaumik, Rijubrata] Actually, the implementation [CL] does not itself apply background blur but it instead requests camera (drivers) to apply background blur so that the browser gets video frames whose background is blurred. I am not sure if it’s possible for the browser to retrieve unblurred video frames and try to apply background blur constraint to (frames originating from a canvas) those video frames, but this implementation does not do that.
- With this change we know via constraints when the system has already blurred the image right? I imagine you get this information only after you've queried a MediaStreamTrack?
[Bhaumik, Rijubrata] Yes, it is possible to know via the MediaStreamTrack’s settings the current background blurring is in effect (whether it is due to a system wide default or due to a constraints applied by a web application). The MediaStreamTrack’s settings are only available after a web application has requested to get a MediaStream and the user has granted that.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/PH0PR11MB5191F7FB589497FC4BBED1A7F0BA9%40PH0PR11MB5191.namprd11.prod.outlook.com.