US-12627771-B1 - Dynamic content in virtual background
Abstract
An indication of a portion of a virtual background associated with dynamic content is received from a conference participant. A dynamic content source is received from the conference participant. While a condition related to setting the portion of the virtual background based on the dynamic content is met, the following steps are performed. New content is obtained from the dynamic content source. An image associated with the conference participant that includes the new content within the portion of the virtual background is generated. The image is transmitted for display at a device of another conference participant of a conference that includes the conference participant.
Inventors
- Lara Marie Nelson
- Brandon Kevin Roper
Assignees
- ZOOM COMMUNICATIONS, INC.
Dates
- Publication Date
- 20260512
- Application Date
- 20230421
Claims (19)
- 1 . A method, comprising: receiving, from a conference participant via a user interface, an indication of a portion of a virtual background associated with dynamic content, wherein the indication comprises a bounding box indicating an area of the virtual background to be populated with the dynamic content; receiving, from the conference participant, a dynamic content source comprising a whiteboard software and a viewport specification defining a portion of a whiteboard to be used as the dynamic content; receiving, from the conference participant, a timeout period associated with setting the portion of the virtual background based on the dynamic content, wherein the timeout period determines when to stop setting the portion of the virtual background based on the dynamic content; receiving, from the conference participant, representation handling criteria indicating placement of a representation of the conference participant in relation to the dynamic content; while a condition related to setting the portion of the virtual background based on the dynamic content is met, the condition comprising that the timeout period has not expired, performing steps comprising: obtaining new content from the dynamic content source; generating an image associated with the conference participant that includes the new content within the portion of the virtual background, wherein generating the image comprises positioning the representation of the conference participant according to the representation handling criteria; and transmitting the image for display at a device of another conference participant of a conference that includes the conference participant; and stopping setting the portion of the virtual background based on the dynamic content upon expiration of the timeout period.
- 2 . The method of claim 1 , wherein obtaining the new content from the dynamic content source comprises: querying the dynamic content source for the new content.
- 3 . The method of claim 1 , wherein obtaining the new content from the dynamic content source comprises: receiving the new content via a push of the new content from the dynamic content source.
- 4 . The method of claim 1 , wherein the condition related to setting the portion of the virtual background based on the dynamic content is met comprises that a device of the conference participant has not disconnected from the conference.
- 5 . The method of claim 1 , wherein the condition related to setting the portion of the virtual background based on the dynamic content is met comprises that an indication to stop including the dynamic content in the portion of the virtual background has not been received from the conference participant.
- 6 . The method of claim 1 , wherein the portion of the virtual background is co-extensive with the virtual background.
- 7 . The method of claim 1 , further comprising: receiving, from the conference participant, a fitting criterion indicating how the new content should be adjusted to fit within the portion of the virtual background; and adjusting a size of the new content according to the fitting criterion before generating the image.
- 8 . The method of claim 1 , further comprising: receiving, from the conference participant, a size setting criterion indicating whether to automatically determine a size of a representation of the conference participant or to set the size of the representation based on a provided size, wherein generating the image comprises adjusting the size of the representation according to the size setting criterion.
- 9 . The method of claim 1 , wherein the conference comprises an immersive view displaying conference participants in a virtual environment, and the image is generated for display within the immersive view such that the conference participant appears to be physically co-located with other conference participants.
- 10 . A device, comprising: a memory; and a processor, the processor configured to execute instructions stored in the memory to: receive, from a conference participant via a user interface, an indication of a portion of a virtual background associated with dynamic content, wherein the indication comprises a bounding box indicating an area of the virtual background to be populated with the dynamic content; receive, from the conference participant, a dynamic content source comprising a whiteboard software and a viewport specification defining a portion of a whiteboard to be used as the dynamic content; receive, from the conference participant, a timeout period associated with setting the portion of the virtual background based on the dynamic content, wherein the timeout period determines when to stop setting the portion of the virtual background based on the dynamic content; receive, from the conference participant, representation handling criteria indicating placement of a representation of the conference participant in relation to the dynamic content; while a condition related to setting the portion of the virtual background based on the dynamic content is met, the condition comprising that the timeout period has not expired, perform instructions to: obtain new content from the dynamic content source; generate an image associated with the conference participant that includes the new content within the portion of the virtual background, wherein to generate the image comprises to position the representation of the conference participant according to the representation handling criteria; and transmit the image for display at a device of another conference participant of a conference that includes the conference participant; and stop setting the portion of the virtual background based on the dynamic content upon expiration of the timeout period.
- 11 . The device of claim 10 , wherein the instructions to obtain the new content from the dynamic content source comprise instructions to: query the dynamic content source for the new content.
- 12 . The device of claim 10 , wherein the instructions to obtain the new content from the dynamic content source comprise instructions to: receive the new content via a push of the new content from the dynamic content source.
- 13 . The device of claim 10 , wherein the condition related to setting the portion of the virtual background based on the dynamic content is met comprises that a device of the conference participant has not disconnected from the conference.
- 14 . The device of claim 10 , wherein the condition related to setting the portion of the virtual background based on the dynamic content is met comprises that an indication to stop including the dynamic content in the portion of the virtual background has not been received from the conference participant.
- 15 . The device of claim 10 , wherein the portion of the virtual background is co-extensive with the virtual background.
- 16 . A non-transitory computer readable medium storing instructions operable to cause one or more processors to perform operations comprising: receiving, from a conference participant via a user interface, an indication of a portion of a virtual background associated with dynamic content, wherein the indication comprises a bounding box indicating an area of the virtual background to be populated with the dynamic content; receiving, from the conference participant, a dynamic content source comprising a whiteboard software and a viewport specification defining a portion of a whiteboard to be used as the dynamic content; receiving, from the conference participant, a timeout period associated with setting the portion of the virtual background based on the dynamic content, wherein the timeout period determines when to stop setting the portion of the virtual background based on the dynamic content; receiving, from the conference participant, representation handling criteria indicating placement of a representation of the conference participant in relation to the dynamic content; while a condition related to setting the portion of the virtual background based on the dynamic content is met, the condition comprising that the timeout period has not expired, performing steps comprising: obtaining new content from the dynamic content source; generating an image associated with the conference participant that includes the new content within the portion of the virtual background, wherein generating the image comprises positioning the representation of the conference participant according to the representation handling criteria; and transmitting the image for display at a device of another conference participant of a conference that includes the conference participant; and stopping setting the portion of the virtual background based on the dynamic content upon expiration of the timeout period.
- 17 . The non-transitory computer readable medium of claim 16 , wherein the condition related to setting the portion of the virtual background based on the dynamic content is met comprises that a device of the conference participant has not disconnected from the conference.
- 18 . The non-transitory computer readable medium of claim 16 , wherein the condition related to setting the portion of the virtual background based on the dynamic content is met comprises that an indication to stop including the dynamic content in the portion of the virtual background has not been received from the conference participant.
- 19 . The non-transitory computer readable medium of claim 16 , wherein obtaining the new content from the dynamic content source comprises: registering a callback function with the whiteboard software to receive notifications of content changes within the viewport specification, wherein the whiteboard software is configured to transmit notifications through the callback function when an edit to the whiteboard results in modifications to any portion of the viewport specification.
Description
FIELD This disclosure relates generally to communication management and, more specifically, to including dynamic content in virtual backgrounds (VBGs). BRIEF DESCRIPTION OF THE DRAWINGS This disclosure is best understood from the following detailed description when read in conjunction with the accompanying drawings. It is emphasized that, according to common practice, the various features of the drawings are not to-scale. On the contrary, the dimensions of the various features are arbitrarily expanded or reduced for clarity. FIG. 1 is a block diagram of an example of an electronic computing and communications system. FIG. 2 is a block diagram of an example internal configuration of a computing device of an electronic computing and communications system. FIG. 3 is a block diagram of an example of a software platform implemented by an electronic computing and communications system. FIG. 4 is a block diagram of an example of a system for setting at least a portion of a target output image based on dynamic content. FIG. 5 is a block diagram of example functionality of a VBG software. FIGS. 6A-6F illustrate examples of setting portions of VBGs based on dynamic content from dynamic content sources. FIG. 7A is an example of an interaction diagram for setting a portion of a VBG based on dynamic content obtained from a whiteboard. FIG. 7B is an example of an interaction diagram for setting a portion of a VBG based on dynamic content obtained from a whiteboard. FIG. 8 is a flowchart of an example of a technique for setting a portion of a VBG based on dynamic content from a whiteboard. FIG. 9 is a flowchart of an example of a technique for setting a portion of a VBG based on dynamic content from a dynamic content source. DETAILED DESCRIPTION A conferencing software, which may be standalone software or part of a software platform such as a unified communications as a service (UCaaS) platform, may allow conference participants to participate in audio-visual conferences. To visually participate in a conference, a user may enable use of their camera (e.g., a front-facing webcam) with the conferencing software. The conferencing software may obtain a video feed of the participant for transmission to other participants of the conference. A conference participant may in some cases use a background replacement media item in place of the actual background of the conference participant. A background replacement media item may also be referred to as a VBG. The conference participant may select a VBG within a client-side conferencing software (e.g., a conferencing software) that is included in an application executable on a device of the user. A VBG is media data used to mask (e.g., overlay, overwrite, or replace) portions of one or more images of a video feed of the conference participant. The portion of an image that is masked by the VBG is referred to as a background segment of the image. The VBG may be a single image or may include multiple images. For example, the VBG may be an image file, a video file, an animation file (such as a Graphics Interchange Format (GIF) file), or a streaming video. The conferencing software or a component (e.g., tool, software, or application) associated therewith may process images (e.g., video frames) of an image stream (e.g., a video feed) of the user to replace the actual background captured by the camera with a corresponding (e.g., co-located and co-extensive) portion from the VBG. VBGs as described above are static in that once a conference participant sets a VBG, that VBG remains the same until changed again by the conference participant. Static VBGs may not elicit sufficient interest or engagement by conference participants. It is desirable that VBGs reflect, in real-time, actual (e.g., current) conditions, aspects, properties, or the like (collectively, characteristics) related to conference participants or that VBGs of conference participants automatically change as the characteristics change during a conference. However, conventional conferencing software approaches lack the technical capabilities for solving or for enabling solutions to such problems. At best, and as described above, conventional conferencing software may merely include technical capabilities that participants can use to set VBGs. Additionally, conventional conferencing software may enable a conference participant to share (e.g., display) dynamic content during a conference. To do so, the conference participant may screen-share an application (e.g., a whiteboard), a document, or some other window displayed at their device. To illustrate, and without limitations, the conference participant may wish to share an application (e.g., a whiteboard) in order to walk through a step-by-step solution to a mathematical problem or to describe a mockup of a user interface design. However, by enabling (e.g., setting or turning on) a screen-share, the faces of each of the conference participants, as displayed to the other conference p