Video communication systems and methods
First Claim
Patent Images
1. A method, comprising:
- storing by a computing system background video data of a videoconference participant environment in a data store, the background video data defining, for each of a plurality of pixels, color data values of the pixel and an alpha channel value of the pixel;
receiving by the computing system additional video data of the videoconference participant environment, the additional video data defining, for each of a plurality of pixels, color data values of the pixel and an alpha channel value of the pixel;
determining by the computing system whether a pixel of the additional video data is a match to a corresponding pixel of the background video data, wherein a match indicates that both color data values of a pixel of the additional video data and color data values of a corresponding pixel of the background video data are within a threshold range;
if a pixel of the additional video data is determined to be a match to a corresponding pixel of the background video data, then setting an alpha channel value for the pixel to a first value that designates the pixel of the additional video data as a transparent pixel;
if a pixel of the video data is determined not to be a match to a corresponding pixel of the background video data, then setting an alpha channel value for the pixel to a second value that designates the pixel of the additional video data as an opaque pixel;
generating by the computing system a first layer from the additional video data having pixels designated as transparent and pixels designated as opaque based on the respective alpha channel values, each of the pixels including the color data of the additional video data;
generating by the computing system a second layer from a substitute background video data item, the second layer including data defining, for each of a plurality of pixels, color data of the pixel;
merging by the computing system the first layer and the second layer to generate composite video data, the composite video data include each of the first layer and the second layer, the second layer being subordinate to the first layer so that only the pixels of the second layer that correspond to transparent pixels of the first layer are shown from the second layer when the composite video data is presented for display; and
transmitting by the computing system the composite video data to a videoconference for display to other video conference participants.
2 Assignments
0 Petitions
Accused Products
Abstract
An image of a background is stored and thereafter removed from a video stream. Substitute background video data is merged into the video stream and provided to videoconference participants.
42 Citations
16 Claims
-
1. A method, comprising:
-
storing by a computing system background video data of a videoconference participant environment in a data store, the background video data defining, for each of a plurality of pixels, color data values of the pixel and an alpha channel value of the pixel; receiving by the computing system additional video data of the videoconference participant environment, the additional video data defining, for each of a plurality of pixels, color data values of the pixel and an alpha channel value of the pixel; determining by the computing system whether a pixel of the additional video data is a match to a corresponding pixel of the background video data, wherein a match indicates that both color data values of a pixel of the additional video data and color data values of a corresponding pixel of the background video data are within a threshold range; if a pixel of the additional video data is determined to be a match to a corresponding pixel of the background video data, then setting an alpha channel value for the pixel to a first value that designates the pixel of the additional video data as a transparent pixel; if a pixel of the video data is determined not to be a match to a corresponding pixel of the background video data, then setting an alpha channel value for the pixel to a second value that designates the pixel of the additional video data as an opaque pixel; generating by the computing system a first layer from the additional video data having pixels designated as transparent and pixels designated as opaque based on the respective alpha channel values, each of the pixels including the color data of the additional video data; generating by the computing system a second layer from a substitute background video data item, the second layer including data defining, for each of a plurality of pixels, color data of the pixel; merging by the computing system the first layer and the second layer to generate composite video data, the composite video data include each of the first layer and the second layer, the second layer being subordinate to the first layer so that only the pixels of the second layer that correspond to transparent pixels of the first layer are shown from the second layer when the composite video data is presented for display; and transmitting by the computing system the composite video data to a videoconference for display to other video conference participants. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system, comprising:
-
a video camera configured to generate video data; a data store storing background data files; a communication subsystem to receive and transmit video data; and a video processing device configured to capture background video data of a videoconference environment and receive additional video data of the video conference environment, wherein the background video data and the additional video data define, for each of a plurality of pixels, color data values of the pixel and an alpha channel value of the pixel; determine whether a pixel of the additional video data is a match to a corresponding pixel of the background video data, wherein a match indicates that both color data values of a pixel of the additional video data and color data values of a corresponding pixel of the background video data are within a threshold range; set an alpha channel value of a pixel of the additional video data to a minimum value to designate the pixel as transparent if the pixel of the additional video data is determined to be a match to a corresponding pixel of the background video data; set an alpha channel value of a pixel of the additional video data to a maximum value to designate the pixel as opaque if the pixel of the additional video data is determined not to be a match to a corresponding pixel of the background video data; generate a first layer from the additional video data having pixels designated as transparent and pixels designated as opaque based on the respective alpha channel values, each of the pixels including the color data of the additional video data; generate a second layer from a background data file, the second layer including data defining, for each of a plurality of pixels, color data of the pixel; and merge the first layer and the second layer to generate composite video data including each of the first and second layers so that pixels in the second layer are shown through corresponding pixels in the first layer according to the alpha channel values of the corresponding pixels, and transmit the composite video data to a videoconference. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A system, comprising:
-
means for storing background video data of a videoconference participant environment, the background video data defining, for each of a plurality of pixels, color data values of the pixel and an alpha channel value of the pixel; means for receiving additional video data of the videoconference participant environment, the additional video data defining, for each of a plurality of pixels, color data values of the pixel and an alpha channel value of the pixel; means for determining if a pixel of the additional video data is a match to a corresponding pixel of the background video data, wherein a match indicates that both a color data value of a pixel of the video data and a color data value of a corresponding pixel of the background video data are within a threshold rang;
setting an alpha channel value for the pixel to a first value that designates the pixel of the additional video data as a transparent pixel if a pixel of the additional video data is determined to be a match to a corresponding pixel of the background video data, and setting an alpha channel value for the pixel to a second value that designates the pixel of the additional video data as an opaque pixel if a pixel of the additional video data is determined not to be a match to a corresponding pixel of the background video data;means for generating a first layer from the additional video data having pixels designated as transparent and pixels designated as opaque based on the respective alpha channel values, each of the pixels including the color data of the additional video data, generating a second layer from substitute background video data, the second layer including data defining, for each of a plurality of pixels, color data of the pixel, and merging the first layer and the second layer to generate composite video data, the second layer being subordinate to the first layer so that only the pixels of the second layer that correspond to transparent pixels of the first layer are shown when the composite video data is presented for display; and means for transmitting the composite video data to a videoconference.
-
Specification