IP Library Granted Patent US 11,290,682
Granted Patent B1
US 11,290,682 · App. 16/141,588 · Granted Mar 29, 2022

Background modification in video conferencing

Inventors: Victor Shaburov (Castro Valley, CA); Yurii Monastyrshyn (Santa Monica, CA)
H04N7/15G06K9/00228G06K9/00711G06T5/002G06T7/38G06T19/006H04N7/157G06K2009/4666G06T2207/10024G06T2207/20036G06T2207/20124G06T2207/20182
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,290,682
App. No.
16/141,588
Granted
Mar 29, 2022
Kind
B1
Abstract

Methods and systems for real-time video processing can be used in video conferencing to modify image quality of background. One example method includes the steps of receiving a video including a sequence of images, identifying at least one object of interest (e.g., a face) in one or more of the images, detecting feature reference points of the at least one object of interest, and tracking the at least one object of interest in the video. The tracking may comprise aligning a virtual face mesh to the at least one object of interest in one or more of the images. Further, a background is identified in the images by separating the at least one object of interest from each image based on the virtual face mesh. The background is then modified in each of the images by blurring, changing a resolution, colors, or other parameters.

Claims (54)

1. A computer-implemented method for performing video processing, the method comprising:

identifying a foreground object in one or more images in a video, the foreground object comprising a feature reference point;

identifying a background in each of the one or more images in the video by forming a binary mask aligned to the foreground object, inverting the binary mask to select an area not associated with the foreground object, and separating the foreground object from each of the one or more images in the video based on a shape unit, a position vector, and an intensity vector of the shape unit associated with the foreground object, the position vector corresponding to a rotation and translation around three axes orthogonal to the foreground object and the shape unit corresponding to a vertical position of the feature reference point identified in the foreground object;

determining a gray value intensity of a plurality of pixels associated with the foreground object;

comparing the gray value intensity of each of the plurality of pixels with the feature reference point;

based on the comparison, determining object pixels associated with the foreground object and applying a binary morphological closing function to the object pixels;

tracking the foreground object comprising the object pixels in the video based on the shape unit, the position vector, and the intensity vector; and

modifying the background in the video and the foreground object in the video separately based on the tracking of the foreground object to generate a modified video in which the foreground object and the modified background are at different image qualities.

2. The method of claim 1 , wherein the modified background has a first image quality in the modified video and the foreground object has a second image quality in the modified video; and wherein the first image quality is lower than the second image quality.

3. The method of claim 1 , further comprising identifying the background in the video by separating the foreground object from each image of the video based on the shape unit, the position vector, and the intensity vector, wherein the identifying of the background includes selecting an image portion which excludes pixels associated with a virtual face mesh.

4. The method of claim 1 , wherein the modifying of the background includes blurring of the background.

5. The method of claim 1 , wherein the modifying of the background includes changing one or more background colors.

6. The method of claim 1 , wherein the modifying of the background includes changing a background resolution.

7. The method of claim 1 , wherein the modifying of the background includes changing a video dot density.

8. The method of claim 1 , wherein the modifying of the background includes changing posterization or pixelization of the background.

9. The method of claim 1 , wherein the modifying of the background includes replacing the background with a predetermined image.

10. The method of claim 1 , wherein the foreground object includes at least a portion of an individual other than a human face.

11. The method of claim 1 , wherein the foreground object includes a human face.

12. The method of claim 1 , further comprising transmitting the modified video over a communications network.

13. The method of claim 1 , further comprising receiving a request to blur the background of the video.

14. The method of claim 1 , further comprising:

monitoring quality of service associated with a communications network; and

based on the monitoring, generating a request to blur the background of the video.

15. The method of claim 1 , further comprising:

dynamically monitoring a network parameter associated with transferring of the video over a communications network;

if the network parameter is below a predetermined threshold value, generating a request to blur the background of the video; and

if the network parameter is above the predetermined threshold value, generating a request to transmit the video without blurring.

16. The method of claim 15 , wherein the network parameter includes a bit rate or a network bandwidth.

17. The method of claim 1 , further comprising:

dynamically determining a value related to quality of service associated with a communications network;

based on the determining, if the value associated with the quality of service is within a first predetermined range, generating a first request to blur only the background of the video;

based on the determining, if the value associated with the quality of service is within a second predetermined range, generating a second request to blur the background of the video and other parts of the video excluding a user face; and

based on the determining, if the value associated with the quality of service is within a third predetermined range, no request to blur the background is generated; and

wherein the first range differs from the second range and the third range, and wherein the second range differs from the third range and the first range.

18. The method of claim 1 , further comprising

receiving the video including a sequence of images; and

detecting the shape unit and the position vector of the foreground object, and the intensity vector of the shape unit, the feature reference point representing a parameter of a face of the foreground object, and wherein the detecting includes applying an Active Shape Model algorithm to areas of the images associated with the foreground object.

19. A system comprising:

a computing device including at least one processor and a memory storing processor-executable codes, which, when implemented by the at least one processor, cause to perform the steps of:

identifying a foreground object in one or more images in a video, the foreground object comprising a feature reference point;

identifying a background in each of the one or more images in the video by forming a binary mask aligned to the foreground object, inverting the binary mask to select an area not associated with the foreground object, and separating the foreground object from each of the one or more images in the video based on a shape unit, a position vector, and an intensity vector of the shape unit associated with the foreground object, the position vector corresponding to a rotation and translation around three axes orthogonal to the foreground object and the shape unit corresponding to a vertical position of the feature reference point identified in the foreground object;

determining a gray value intensity of a plurality of pixels associated with the foreground object;

comparing the gray value intensity of each of the plurality of pixels with the feature reference point;

based on the comparison, determining object pixels associated with the foreground object and applying a binary morphological closing function to the object pixels;

tracking the foreground object comprising the object pixels in the video based on the shape unit, the position vector, and the intensity vector; and

modifying the background in the video and the foreground object in the video separately based on the tracking of the foreground object to generate a modified video in which the foreground object and the modified background are at different image qualities.

20. A non-transitory processor-readable medium having instructions stored thereon, which when executed by one or more processors, cause the one or more processors to implement a method, comprising:

identifying a foreground object in one or more images in a video, the foreground object comprising a feature reference point;

identifying a background in each of the one or more images in the video by forming a binary mask aligned to the foreground object, inverting the binary mask to select an area not associated with the foreground object, and separating the foreground object from each of the one or more images in the video based on a shape unit, a position vector, and an intensity vector of the shape unit associated with the foreground object, the position vector corresponding to a rotation and translation around three axes orthogonal to the foreground object and the shape unit corresponding to a vertical position of the feature reference point identified in the foreground object;

determining a gray value intensity of a plurality of pixels associated with the foreground object;

comparing the gray value intensity of each of the plurality of pixels with the feature reference point;

based on the comparison, determining object pixels associated with the foreground object and applying a binary morphological closing function to the object pixels;

tracking the foreground object comprising the object pixels in the video based on the shape unit, the position vector, and the intensity vector; and

modifying the background in the video and the foreground object in the video separately based on the tracking of the foreground object to generate a modified video in which the foreground object and the modified background are at different image qualities.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2022
From: SHABUROV, VICTOR; MONASTYRSHYN, YURII
To: LOOKSERY INC.
Reel/Frame 059025/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2022
From: LOOKSERY, INC.
To: AVATAR ACQUISITION CORP.
Reel/Frame 059025/0990 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2022
From: AVATAR ACQUISITION CORP.
To: AVATAR MERGER SUB II, LLC
Reel/Frame 059026/0063 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2022
From: AVATAR MERGER SUB II, LLC
To: SNAP INC.
Reel/Frame 059026/0194 →
Continuity (2)
Continuation 14987514 · Jan 4, 2016
Continuation 14661367 · Mar 18, 2015
Cited By (2)
US 12,309,523 US 12,493,966