US20230396736A1 - Tag-Based Virtual Background Boundary Area - Google Patents
Tag-Based Virtual Background Boundary Area Download PDFInfo
- Publication number
- US20230396736A1 US20230396736A1 US18/450,637 US202318450637A US2023396736A1 US 20230396736 A1 US20230396736 A1 US 20230396736A1 US 202318450637 A US202318450637 A US 202318450637A US 2023396736 A1 US2023396736 A1 US 2023396736A1
- Authority
- US
- United States
- Prior art keywords
- virtual background
- boundary area
- virtual
- tag
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000004044 response Effects 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 41
- 230000015654 memory Effects 0.000 claims description 17
- 238000004891 communication Methods 0.000 description 70
- 238000012545 processing Methods 0.000 description 24
- 238000003860 storage Methods 0.000 description 22
- 238000003490 calendering Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 230000003442 weekly effect Effects 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
- H04N7/157—Conference systems defining a virtual conference space and using avatars or agents
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1818—Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1827—Network arrangements for conference optimisation or adaptation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1831—Tracking arrangements for later retrieval, e.g. recording contents, participants activities or behavior, network status
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/272—Means for inserting a foreground image in a background image, i.e. inlay, outlay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
Definitions
- the present invention relates generally to digital communication, and more particularly, to systems and methods providing for video communications with dynamic virtual backgrounds within a video communication platform.
- a user may select a virtual background that is displayed as an image or video behind a live video feed of a user.
- These systems may use computer vision processing techniques to extract an outline (e.g., a border of the user) and then display the virtual background about or around the user during video communications with other users.
- an outline e.g., a border of the user
- users need to manually select a virtual background to be used for a meeting or assign a default virtual background to be used for all meetings. While providing some flexibility in the choice of a virtual background to use for video communication (e.g., video conference), contextual information of a planned meeting with other users is not utilized by these systems.
- the current state-of the-art video conferencing systems lack the ability to create virtual background templates that provide for consistency and uniformity of the virtual backgrounds used among users participating in a video meeting. These current state-of-the-art systems also lack the ability to automatically or dynamically choose a virtual background template to be used by meeting participants.
- the invention overcomes the existing problems by providing a user interface for the creation of a virtual background template for the rule-based selection and/or contextual-based selection of virtual background templates for use during a video meeting within a video communication platform.
- the video communication system provides functionality allowing a user to create virtual background use templates where the system selects a virtual background use template to be used by the user during video communications with other users of the system.
- the virtual background use template may be selectable based on user defined rules. These user defined rules provide for the automatic selection of virtual background template based on contextual information of a planned meeting. The rules are evaluated by the system and compared against information of the planned meeting. Based on information of the planned meeting, the system may determine a virtual background template to be used by the user for the planned meeting.
- the system may display a virtual background template via an interactive user interface where the user places one or more bounding boxes for those areas of the user interface where the user would like to display a virtual background.
- the user interface may be configured to also receive user defined selection rules for the respective bounding boxes. For example, a user may draw or define a bounding box on the user interface, and then select or associate a virtual background to be used for that bounding box.
- the system may then receive criteria for the creation of user defined rules of when to select the virtual background template for use and/or of when to select a particular bounding box for use to display the associated virtual background for that bounding box.
- the user defined rules may include key words and Boolean logical operators to be compared against the information of the planned meeting.
- the rules may be simple comparisons of key words to be found in a planned meeting, or complex rules using various syntax and logical constructs to determine whether the rule criteria or conditions are met.
- the system is flexible in the sources of where meeting information are retrieved, and the manner in which a virtual background may be selected for use.
- the planned meeting information may be retrieved from a calendaring application or other databases that stores electronic meeting information.
- These data sources may be resident on a user device and/or stored in a cloud-based storage system or service.
- the rules may evaluate various data of the planned meeting information, such as whether particular users or participants are attending the planned meeting, whether particular e-mail domain names exist, whether certain words occur in information descriptive of meeting, whether the meeting is scheduled during certain times or dates, the number of meeting participants, and so forth.
- the system selects a virtual background template that has been associated with the rule.
- a user may create a rule and then the system may select or assign a virtual background template to be used when the system determines that the rule criteria is met.
- the user created rules allow consistent use of a virtual background template for video communications with other users.
- the system may automatically select the same virtual background template for various planned meetings in which the user participates. For example, users may have many repeating meetings, or meetings with similar user participants. A user may only need to set up a rule once, and the system then may use the rule to select the same virtual background template for future or subsequent repeating planned meetings.
- Some users may use the video communication system to engage in video communications in different contexts, such as using the video communication system for video meetings in a business context or personal context.
- the system dynamically selects a virtual background template for use based on particular contextual information of a planned meeting.
- the system functionality provides for the automatic selection of the virtual background template based on the meeting context.
- the virtual background template may include multiple virtual backgrounds where each virtual background has a unique or different virtual background than other virtual backgrounds defined in the virtual background template. For example, a user may define a template to use two smaller sized virtual backgrounds to be displayed over a primary larger virtual background. The user may only want to display the first smaller virtual background in some meeting contexts, and the second virtual background in other meeting contexts. The system may evaluate each rule defined for the virtual backgrounds of the virtual background template. During video communications, the virtual backgrounds meeting the rule criteria would then be displayed.
- Methods, systems, and apparatus, including computer programs encoded on computer storage media relate to a method for providing video communications with dynamic virtual backgrounds within a communication platform.
- the system provides a user interface for the configuration of a virtual background configuration template.
- the user interface receives the placement of one or more virtual background boundary areas that may be associated with one or more particular virtual backgrounds to be used for video communications.
- the selection of the configuration template to be used and/or the specific virtual backgrounds to be used for a video meeting may be determined based on rules as applied to contextual information of a planned meeting defined in a calendaring system.
- One embodiment relates to a communication system configured to perform a number of operations.
- the system displays a template configuration user interface.
- the template configuration user interface may be configured to receive the placement of one or more virtual background boundary areas.
- the system receives, via the template configuration user interface, the placement of one or more virtual background boundary areas.
- the system receives, via the template configuration user interface, a selection for one or more virtual backgrounds to be associated with each of the one or more placed virtual background boundary areas.
- the system stores, on a storage device, a virtual background template.
- the virtual background template may include the location of the one or more virtual background boundary areas about the user interface, information as to the selected one or more virtual backgrounds for the respective virtual background boundary areas, and any rules associated to the selection of the virtual background template and/or the selection of the virtual background areas.
- the system may assign template use conditions or parameters to when to use the stored virtual background template for a planned meeting. Based on the template use conditions or parameters as applied to contextual information of a planned meeting, the system may select the stored virtual background template to be used for the planned meeting.
- the system displays, via a user interface to one or more meeting participants, the one or more virtual backgrounds assigned to the virtual background template.
- the present invention relates generally to digital communication, and more particularly, to systems and methods providing for containment of sensitive data within a communication or messaging platform.
- FIG. 1 A is a diagram illustrating an exemplary environment in which some embodiments may operate.
- FIG. 1 B is a diagram illustrating an exemplary computer system that may execute instructions to perform some of the methods herein.
- FIG. 2 is a diagram illustrating an example of planned meeting contextual information.
- FIG. 3 is a flow chart illustrating an exemplary method 300 that may be performed in some embodiments.
- FIG. 4 is a flow chart illustrating an exemplary method 400 that may be performed in some embodiments.
- FIG. 5 A illustrates an example user interface 500 according to one embodiment of the present disclosure.
- FIG. 5 B illustrates an example user interface 500 according to one embodiment of the present disclosure.
- FIG. 5 B illustrates an example user interface 500 according to one embodiment of the present disclosure.
- FIG. 5 C illustrates an example user interface 500 according to one embodiment of the present disclosure.
- FIG. 6 is a flow chart illustrating an exemplary method 600 that may be performed in some embodiments.
- FIG. 7 illustrates an example user interface 700 according to one embodiment of the present disclosure.
- FIG. 8 is a flow chart illustrating an exemplary method 800 that may be performed in some embodiments.
- FIG. 9 illustrates an example user interface 900 according to one embodiment of the present disclosure.
- FIG. 10 is a flow chart illustrating an exemplary method I 000 that may be performed in some embodiments.
- FIG. 11 is a diagram illustrating an exemplary computer system 1100 that may perform processing in some embodiments.
- steps of the exemplary methods set forth in this exemplary patent can be performed in different orders than the order presented in this specification. Furthermore, some steps of the exemplary methods may be performed in parallel rather than being performed sequentially. Also, the steps of the exemplary methods may be performed in a network environment in which some steps are performed by different computers in the networked environment.
- a computer system may include a processor, a memory, and a non-transitory computer-readable medium.
- the memory and non-transitory medium may store instructions for performing methods and steps described herein.
- FIG. 1 A is a diagram illustrating an exemplary environment in which some embodiments may operate.
- a first user's client device 150 and one or more additional users' client device(s) 160 are connected to a processing engine 102 and, optionally, a video communication platform 140 .
- the processing engine 102 is connected to the video communication platform 140 , and optionally connected to one or more repositories and/or databases, including a user account repository 130 , video content repository 132 , and/or an annotation repository 134 .
- One or more of the databases may be combined or split into multiple databases.
- the first user's client device 150 and additional users' client device(s) 160 in this environment may be computers, and the video communication platform server 140 and processing engine 102 may be applications or software hosted on a computer or multiple computers which are communicatively coupled via remote server or locally.
- the exemplary environment 100 is illustrated with only one additional user's client device, one processing engine, and one video communication platform, though in practice there may be more or fewer additional users' client devices, processing engines, and/or video communication platforms.
- one or more of the first user's client device, additional users' client devices, processing engine, and/or video communication platform may be part of the same computer or device.
- the processing engine 102 may perform the method 200 ( FIG. 2 A ) or other method herein and, as a result, provide multi-point video presentations with live annotations within a video communication platform. In some embodiments, this may be accomplished via communication with the first user's client device, additional users' client device(s), processing engine, video communication platform, and/or other device(s) over a network between the device(s) and an application server or some other network server.
- the processing engine 102 is an application, browser extension, or other piece of software hosted on a computer or similar device, or is itself a computer or similar device configured to host an application, browser extension, or other piece of software to perform some of the methods and embodiments herein.
- the first user's client device 150 and additional users' client device(s) 160 are devices with a display configured to present information to a user of the device.
- the first user's client device 150 and additional users' client device(s) 160 present information in the form of a user interface (UI) with UI elements or components.
- UI user interface
- the first user's client device 150 and additional users' client device(s) 160 send and receive signals and/or information to the processing engine 102 and/or video communication platform 140 .
- the first user's client device 150 is configured to perform functions related to presenting and playing back video, audio, documents, annotations, and other materials within a video presentation (e.g., a virtual class, lecture, webinar, or any other suitable video presentation) on a video communication platform.
- the additional users' client device(s) 160 are configured to viewing the video presentation, and in some cases, presenting material and/or video as well.
- first user's client device 150 and/or additional users' client device(s) 160 include an embedded or connected camera which is capable of generating and transmitting video content in real time or substantially real time.
- one or more of the client devices may be smartphones with built-in cameras, and the smartphone operating software or applications may provide the ability to broadcast live streams based on the video generated by the built-in cameras.
- the first user's client device 150 and additional users' client device(s) are computing devices capable of hosting and executing one or more applications or other programs capable of sending and/or receiving information.
- the first user's client device 150 and/or additional users' client device(s) 160 may be a computer desktop or laptop, mobile phone, virtual assistant, virtual reality or augmented reality device, wearable, or any other suitable device capable of sending and receiving information.
- the processing engine 102 and/or video communication platform 140 may be hosted in whole or in part as an application or web service executed on the first user's client device 150 and/or additional users' client device(s) 160 .
- one or more of the video communication platform 140 , processing engine 102 , and first user's client device 150 or additional users' client devices 160 may be the same device.
- the first user's client device 150 is associated with a first user account on the video communication platform, and the additional users' client device(s) 160 are associated with additional user account(s) on the video communication platform.
- optional repositories can include one or more of a user account repository 130 , meetings repository 132 , virtual background repository 134 and/or virtual background configuration repository 136 .
- the optional repositories function to store and/or maintain, respectively, user account information associated with the video communication platform 140 , video content received by the video communication platform 140 for display within video communication, and virtual background, which may include images, video and other graphical visual content.
- the optional database(s) may also store and/or maintain any other suitable information for the processing engine 102 or video communication platform 140 to perform elements of the methods and systems herein.
- the optional database(s) can be queried by one or more components of system 100 (e.g., by the processing engine 102 ), and specific stored data in the database(s) can be retrieved.
- Video communication platform 140 is a platform configured to facilitate video presentations and/or communication between two or more parties, such as within a video conference or virtual classroom.
- FIG. 1 B is a diagram illustrating an exemplary computer system 150 with software modules that may execute some of the functionality described herein.
- the Planned Meeting Evaluation module 152 provides system functionality for the interaction and retrieval of planned meeting contextual information from calendaring systems and/or database, and as further described herein.
- the Virtual Background Template Configuration module 154 provides system functionality for the configuration, processing, storage, and management of virtual background templates, and as further described herein.
- the Virtual Background Rules Configuration module 156 provides system functionality for the selection, creation, configuration, processing, storage, and management of virtual background selection rules, and as further described herein.
- Virtual Background Selection module 158 provides system functionality for the selection, creation, configuration, processing, storage, and management of particular virtual backgrounds.
- Virtual Real-time Meeting Monitoring module 160 provides system functionality for the monitoring and evaluation of meetings that are in progress to identify and determine real-time video communications, audio communications and textual communications, and as further described herein.
- Virtual Background Synchronization module 162 provides system functionality for the synchronization of virtual backgrounds among users of a meeting, and as further described herein.
- a virtual background file may be a file such as a video file, an image files (e.g., a jpeg, gif, etc.), or any other type of graphics or multimedia file.
- a virtual background file is of a file of any type that allows for the system to present a still graphic image and/or a video image as a virtual background in conjunction with a user's video feed.
- the virtual background file may be stored on a file system, computer system memory, either in local storage or in a server-based storage system or database. The system retrieves the virtual background file to be used by the system as a virtual background while a user is engaged in video communications with one or more other users.
- the virtual background files may be cataloged or indexed by the system and associated with rules for the selection of particular virtual background files.
- FIG. 2 is a diagram illustrating an example of planned meeting contextual information.
- the system 100 may retrieve from a meetings repository, such as a calendar application, information that is specific to a planned meeting event.
- a planned meeting event may include a title 202 , a meeting location 204 , a meeting date and time 206 , a list of meeting attendees 210 and other information.
- the listing of meeting attendees usually are identified in the format of usemame@domain-name. For example, a meeting attendee might be identified with the email address JApplesseed@zoom.com.
- a user creating a meeting via a calendaring application, will provide a meeting title 202 to provide context for the meeting.
- preconfigured rules may use conditions and/or parameters that are evaluated against contextual information of a planned meeting.
- some contextual information include: the title of the meeting, number of meeting participants, the time zone of one or more meeting participants, the description of the meeting, the particular participant user ids, email address or time zone of meeting participants.
- the planned meeting contextual information may be presented, via a user interface, such as a calendaring application user interface.
- the calendaring application user interface may provide for the association of a virtual background file, via user interaction with the calendaring application user interface.
- the calendaring application user may display a graphical icon where a user may upload or assign a particular virtual background to be used by one or more attendees of a meeting.
- preconfigured rules for virtual background selection may be user defined, automatically generated by the system, preconfigured by the system for a user and/or the rules shared among users.
- the system provides functionality allowing a user to define conditions and/or parameters where a virtual background file is automatically selected for use as a virtual background for prospective meetings.
- the system evaluates contextual information of a planned meeting, and then applies the preconfigured rule to the contextual information to determine whether the criteria for the selection of a virtual background are met. Where the conditions and/or parameters for the selection of a virtual background are met, then the system selects the virtual background to be used for user video communications.
- the system may automatically generate preconfigured rules for a user for the selection of a virtual background to be used for video communications.
- the system may evaluate historical meeting information from a calendaring system, or other electronic repository having past meeting information for the user.
- the system may store information about a prior selected virtual background that was used or assigned for use for users for various meetings.
- the system may determine commonality about contextual information of the various meeting, and automatically generate a preconfigured rule for a user to select a virtual background for prospective meetings. For example, the system may determine that a user used the same virtual background where the meeting participants included a specific user email domain name, or a particular user email address.
- the system then may create a preconfigured rule to automatically select the same virtual background that was previously used, where the user has a planned meeting with any other users having a similar email domain name and/or if the particular user email address is found in the contextual information of a planned meeting.
- the system may determine that a user typically uses the same virtual background (such as an image with the user's company logo) where the title of a meeting (as found in the meeting contextual information) is called “Company All-hands”.
- the system may then generate a preconfigured rule for that user where the system would evaluate the contextual information of a planned meeting for keywords of “Company All-hands” (either case-sensitive or not), and then associate the previously used virtual background for the planned meeting where the preconfigured rule criteria are met.
- the system would automatically select the image of the user's company logo, when the title of a planned meeting includes the keywords “Company All-hands”.
- the system provides functionality where users may share their preconfigured rules with other users.
- the system may provide a user interface where a user may select one or more preconfigured rules to send to one or more other users.
- the selection user interface may allow for the input of user names and/or email addresses to whom the preconfigured rules would be shared.
- sharing the preconfigured rule the system provides the rule name, conditions and parameters, and copy of the underlying virtual background file to the other user.
- This functionality provides for one user to share a preconfigured rule with the other users. The other users may now use or modify the preconfigured rules for their own meetings.
- the preconfigured rules may be given a rule priority order or weight for consideration by the system.
- the system may receive an indication that a rule has a higher priority than another rule.
- the preconfigured rules may be given a rank or priority order for evaluation by the system.
- a user interface may display a listing of the preconfigured rules, and the order of the rules (for example, top to bottom) indicate the order or priority that the system will evaluate the rule.
- a user interface may receive a ranking number to indicate the order the preconfigured rule would be evaluated by the system.
- the conditions and/or parameters of a preconfigured rule may include key words to match, Boolean logic operators to find matches (such as “and”, “or”), wild card operators and different character strings.
- a preconfigured rule may also include negative operators to preclude when a virtual background is not to be used. For example, a user may have personal based virtual backgrounds that are used when video conferencing with family or friends, and may not want to have the virtual background used for company or business meetings. The user may identify conditions and/or parameters of when not to use a particular virtual background for certain meeting contextual information. In this instance, this would preclude use of the virtual background from being automatically selected for those do not use meeting situations.
- system may be configured to preclude the user from manually selecting the virtual background is such situations, or at least prompt the user noting the virtual background has been precluded for use for the particular meeting at hand, and then allowing the user to override the preconfigured rule is the user so desires.
- the system may in some instances, select two or more virtual backgrounds that may be used for a video meeting based on the application of two or more preconfigured rules as applied to contextual information of a planned meeting.
- the system may present to the user a user interface depicting two or more graphical representations of the selected two or more virtual backgrounds.
- the system may receive a selection from a user for one of the displayed graphical representations.
- the system then would use the virtual background associated with the received selection of the graphical representation for use as a virtual background for the user during video communications.
- FIG. 3 is a flow chart illustrating an exemplary method 300 that may be performed in some embodiments.
- the system 100 provides for virtual background selection using preconfigured rules.
- the system 100 provides functionality where a user may define a rule to select a particular virtual background to be used for a planned video meeting.
- the system 100 evaluates planned meeting contextual information and determines a specific virtual background to be used for video communication.
- two or more rules may be applicable and result in the selection of two different virtual backgrounds for use.
- the system may present a user interface displaying a representation of the two virtual backgrounds, and receive a selection for the desired virtual background to be used during video communications by the user.
- the system 100 provides one or more preconfigured rules for the selection of one or more virtual backgrounds to be used for planned video meetings.
- the preconfigured rules may be stored on a local or cloud data storage device and retrieved by the system.
- the system 100 receives contextual information about a planned meeting.
- the system may retrieve contextual information from a calendaring system or other database storing contextual information about planned meetings.
- the system 100 selects at least one virtual background for use by a first user for the planned meeting.
- the system may select a virtual background based on the application of one or more preconfigured rules as applied to the received contextual information of the planned meeting.
- the system 100 receives video content depicting imagery of the first user, the video content having multiple video frames.
- the system provides functionality for a user to capture and display video imagery to other users.
- the system may receive a video stream from digital camera depicting imagery of the first user.
- the system determines a boundary about the first user in the video frames, wherein the boundary has an interior portion and exterior portion.
- the system may use various computer vision techniques to identify the border or outline of the user depicted in the video.
- the system 100 generates, for display on one or more client devices, a composite video depicting the interior portion depicting imagery of the first user overlaid on imagery of the selected virtual background.
- the system combines or composites video imagery of the user shown with the selected virtual background.
- FIG. 4 is a flow chart illustrating an exemplary method 400 that may be performed in some embodiments.
- the method 400 show an example of processing multiple preconfigured rules, where the rules are evaluating the meeting contextual information.
- the method of evaluating meeting contextual information is illustrated for a search and match process for multiple preconfigured rules, with each preconfigured rule searching for and matching key words.
- the system may retrieve from a data storage device multiple preconfigured to determine a virtual background filed to be selected for a user as a virtual background during video communications with other users.
- the system evaluates one or more retrieved n preconfigured rules.
- the system determines particular key words for the particular nth rule.
- the system determines the rule's logical operators and syntax, for example, determining which key words to match to planned meeting contextual information. For example, one or more key words may be required to be matched to meeting contextual information for a particular virtual background file to be selected.
- the system compares or tries to find matches of the key words with contextual information of a planned meeting.
- the system determines whether or not a match was found. For each of the key words, the system determines whether all of the key words are found. If all of the key words are matched to contextual information of the meeting, then the system may then select a virtual background file that was associated with the preconfigured rule (step 450 ). The system would use the virtual background file to provide the virtual background during video communications by the user. While a simple key word match may be configured as a rule, more complex rules, operations, parameters and conditions may be required for a preconfigured rule.
- next preconfigured rule is then evaluated against the contextual information, and so on until no more rules exist (looping back to step 430 ).
- the system may be configured such that a particular virtual background file would be used if none of the preconfigured rules apply to the contextual meeting information.
- FIG. 5 A illustrates an example user interface according to one embodiment of the present disclosure.
- the system 100 may generate and display a user interface 500 where a user may select a virtual background to use as a default virtual background.
- the user interface 500 may provide a selection for virtual background configuration where the user interface 500 provides functionality where a user may configure one or more rules for the selection of a virtual background to be used for a planned video meeting.
- FIG. 5 B illustrates an example user interface 500 according to one embodiment of the present disclosure.
- the system 100 may display the user interface section 530 .
- the user interface section 530 depicts a listing of key terms and a group of virtual background from which a virtual background may be selected to be used when the key words are found in the contextual information for a planned meeting.
- the listing of key words 532 may be removed by the selection of the trashcan icon to the left of a particular key word.
- the following example illustrates how a user may interact with the user interface section 530 .
- a user may want to set or select a virtual background to be used for planned meeting.
- the user would enter key words into the input text box 534 .
- a user had typed in text in the user interface input text box 534 . From the listing of virtual backgrounds, the user had also selected a particular virtual background to be used for the input key words.
- a user may have selected the graphical representation of virtual background 542 A to be used when a planned meeting's contextual information includes the key words “ABC CO”.
- the system 100 may evaluate the planned meeting contextual information to identify that the planned meeting has the phrase “ABC CO”. In such a case, the system 100 will select and utilize the virtual background that is associated with the graphical representation of virtual background 542 A to be used as a virtual background for the user during video communications with other users.
- a user may have selected the graphical representation of virtual background 542 B to be used when a planned meeting's contextual information includes the key words “Weekly Review”.
- the system 100 may evaluate the planned meeting contextual information to identify that the planned meeting has the phrase “Weekly Review” for instance in the title of the meeting. In such a case, the system 100 will select and utilize the virtual background that is associated with the graphical representation of virtual background 542 B to be used as a virtual background for the user during video communications with other users.
- a user may have selected the graphical representation of virtual background 542 C to be used when a planned meeting's contextual information includes the key words “@zoom.com”.
- the system 100 may evaluate the planned meeting contextual information to identify that the planned meeting has the phrase “@zoom.com”, for instance in the e-mail address of one of the meeting participants. In such a case, the system 100 will select and utilize the virtual background that is associated with the graphical representation of virtual background 542 C to be used as a virtual background for the user during video communications with other users.
- FIG. 5 C illustrates an example user interface according to one embodiment of the present disclosure.
- the system 100 may present the user interface with an input section where the user interface 500 may receive a selection for the name of a rule, a selection or input for a user calendar associated with the rule (e.g., Outlook.com, Gmail.com, iCloud.com, etc.), and one or more key words to be matched for a planned meeting's contextual information.
- the user interface may upload a virtual background to the system local or cloud-based storage repository in association with an account and/or user id of the user.
- the system 100 may evaluate the historical use of virtual backgrounds that were previously used for a meeting, and automatically construct rules for use of virtual backgrounds for planned meetings. As described previously, the system may determine that a previous virtual background was used for many different meetings. The system may perform processing to determine similarities of contextual information of the different meetings and derive or create rules to use the same virtual background where a planned meeting has similar contextual information as the historical meetings.
- the system may establish a connection to the calendar account of a first user, or other database storing previous meeting information.
- a calendar account of a user is capable of storing informational details about one or more meetings.
- the informational details may include for each meeting: a title for the meeting, participant e-mail addresses of the meeting, a date for the meeting and a time for the meeting.
- the system 100 may store information for particular virtual backgrounds that were used for past meetings.
- the system 100 may evaluate the informational details of prior meetings of the calendar account of the first user.
- the system may retrieve and generate a dataset include the information details for those meetings where the same virtual background was used.
- the system 100 may generate one or more rules for the selection of a virtual background to be used for prospective meetings by the first user.
- the generated one or more rules may be generated based on an evaluation of the informational details of the prior meetings. For example, the system may determine that similar key words exist in the contextual information for the meetings. The system may then generate a rule where the system would use the same virtual background as previously used, where the key words are found in the contextual information for a planned meeting.
- the system 100 may the determine, by applying the generated one or more rules, a virtual background to use for a planned meeting.
- FIG. 6 is a flow chart illustrating an exemplary method 600 that may be performed in some embodiments.
- the system 100 provides functionality to display a user interface (as further described with respect to FIG. 7 ) where a user may define a template for the selection of one or more virtual backgrounds to be used for a planned video meeting.
- the system may then evaluate planned meeting contextual information and select a specific virtual background template to be used for video communication. During video communications by the user, the system would use the virtual backgrounds configured for the selected virtual background template.
- the system displays a template configuration user interface.
- the template configuration user interface may be configured to receive the placement of one or more virtual background boundary areas.
- the system receives, via the template configuration user interface, the placement of one or more virtual background boundary areas.
- the user interface may receive selection about the template configuration interface of where the user would like to add a virtual background boundary area.
- the system receives, via the template configuration user interface, a selection for one or more virtual backgrounds to be associated with each of the one or more placed virtual background boundary areas. For each of the virtual background boundary areas, a user may select a virtual background to be displayed within a particular virtual background boundary area.
- the system stores, on a storage device, the user configured virtual background template including the location of the one or more virtual background boundary areas about the user interface, and the information as to the selected one or more virtual backgrounds for the respective virtual background boundary areas.
- the system assigns use conditions/parameters to determine when to use the stored virtual background template for a planned meeting.
- the use conditions may be preconfigured rules as described herein, such as assigning keywords to be matched as to the contextual information of a planned meeting.
- the system based on the template use conditions/parameters as applied to the contextual information of a planned meeting, selecting the stored virtual background template to be used for the meeting.
- the system 100 displays, via a user interface, to one or more meeting participants during a video meeting, the one or more virtual backgrounds assigned to the virtual background template.
- FIG. 7 illustrates an example user interface 700 according to one embodiment of the present disclosure.
- the system I 00 may generate and display a user interface 700 where a user may configure a virtual background template to use for video communications with other users.
- the user interface 700 may provide functionality for the selection and placement of sections and/or borders (i.e., virtual background boundary areas) on the user interface 700 for the display of one or more virtual backgrounds.
- the virtual background template during configuration may optionally display a video feed of a user 708 during the configuration of the virtual background template.
- the system may generate and display the user interface 700 which allows a user to design or configure one or more virtual backgrounds to be displayed during a video communication with other users.
- a user may select, draw, move, delete and/or resize one or more virtual background boundary areas on the user interface 700 (e.g., using a selection tool via a mouse input, touch input or other input device).
- the user interface 700 may receive the placement of one or more virtual background boundary area onto the user interface.
- the user interface 700 depicts three virtual background boundary areas showing a desired placement of three different virtual background boundary areas (represented by the dashed borders 702 , 704 , 706 ).
- a virtual background boundary area may be layered such that top layer (or most forward positioned) virtual background boundary area displays a virtual background over another virtual background during the video communications.
- a virtual background boundary area may be associated with a particular virtual background to be displayed during video communications when the virtual background template is selected for use for a meeting.
- the virtual background boundary area 704 is associated with a virtual background of a graphical image of the word “ZOOM”.
- the associated virtual backgrounds for the respective virtual background boundary areas may be stored collectively together as a virtual background template.
- the virtual background template may include the locations, shape and size of the virtual background boundary areas, and an indication such as a file name, link, identifier or other reference for a specific virtual background to be used in association with the virtual background boundary area.
- the virtual background template may be stored on a local data storage device and/or a remote storage service.
- the virtual background files may be stored along with the virtual background as a collective container of the data, information and files needed to use or recreate the virtual background template.
- a particular virtual background template may be associated with pre-configuration rules (i.e., similar to the virtual background rule configuration as discussed previously). Additionally, each of the individual virtual background boundary areas may be associated with the same or different pre-configuration rules.
- a virtual background boundary area may be associated with a rule that if key words are matched in the contextual information of a planned meeting, then the virtual background boundary area would be displayed. For example, if a preconfigured rule includes the keywords “zoom.com”, and the contextual information includes a reference to zoom.com, such as a user email address, then the virtual background boundary area 704 would be initiated and become active during the video meeting, and the system would display the associated virtual background (e.g., the graphical image of the word “ZOOM”.)
- each of the virtual background boundary areas may be associated with different or similar preconfigured rules.
- a particular virtual background boundary area may be associated with multiple preconfigured rules.
- the virtual background boundary area 704 may also be associated with the keywords “Baseball”, and virtual background (such as a logo of one's favorite baseball team) may be associated with the keywords and the virtual background boundary area 704 .
- a planned meeting includes contextual information include a keyword for baseball, then the system 100 would present associated virtual background for the associated baseball team logo.
- This functionality allows a user to configure a dynamic virtual background template that displays different virtual backgrounds for the same virtual background boundary areas based on a preconfigured rule and the informational content of a planned meeting.
- the user interface 700 may receive a textual input directly into the virtual background boundary area.
- the user interface 700 may receive the input for the word Hobby, CompanyName, etc.
- the system 100 may receive and store user input tags for different virtual backgrounds.
- system 100 may receive a tag from a user input, associating a particular virtual background with the tag.
- an image to be used as a virtual background may be tagged with the word “Hobby” and another image tagged with a company name. Then for a planned video meeting, the virtual background would be used where the word “Hobby” or the company name is found in the contextual information for the meeting.
- the virtual background boundary area may be set as random. In this case, a different virtual background may be automatically chosen by the system 100 for each new video meeting in which the user participates.
- FIG. 8 is a flow chart illustrating an exemplary method 800 that may be performed in some embodiments.
- the system 100 provides functionality to display a user interface where a first user may select a virtual background to be used for a video meeting.
- the system 100 will synchronize the virtual background of the other user with the virtual background selected by the first user.
- the system 100 may optionally transmit a file for the virtual background to those users that do not already have access to the same virtual background selected by the first user.
- the selected virtual background would be used by the first user and at least one other user.
- the system receives a selection of a first user for the use of a virtual background to be used for a video meeting. For example, a user may select which virtual background should be used for a meeting. Alternatively, the system may use a preconfigured rule to select a virtual background to be used for the meeting.
- the system synchronizes the selected virtual background to be used by one or more other users of the video meeting.
- the system provides for the selection of one or more other user to use the selected virtual background.
- This functionality provides, for example, a meeting admin, meeting host, etc., to enforce a common virtual background to be used by the other meeting participants.
- the system optionally transmits a file of the selected virtual background to the one or more other users if the other one or more users do not have access to the virtual background selected by the first users. For example, a user may not have access to virtual background selected by the first user. In this instance, the system may transmit a file of the selected virtual background to the other user. The other user may the receive and store the received virtual background on their local or cloud data storage device.
- the system displays for the first user, and each of the one or more other users of the video meeting, the selected virtual background.
- the first user and the other users would display during the video meeting the virtual background as selected by the first user.
- FIG. 9 illustrates an example user interface according to one embodiment of the present disclosure.
- the user interface allows the presentation of different virtual backgrounds for selection by a user.
- the system retrieves from a data storage device one or more virtual background files that correspond to preconfigured rules for the user.
- the displayed listing of virtual backgrounds for one user may be different than the listing of virtual backgrounds for other users.
- the selection and display of the virtual backgrounds may depend upon the preconfigured rules for each user and on the contextual information of the meeting in which the users participate.
- the system synchronizes the displayed virtual backgrounds and displays at least a group of similar virtual backgrounds for each user participating in the meeting. For example, the system may determine that two or more users have a similar virtual background that may be chosen based on one or more preconfigured rules for the selection of a virtual background based on the contextual information of the meeting. In such instances, where the system determines that each of the users have a same virtual background that may be used for the video meeting, the system may automatically select for use for those users the same virtual background to be used during the meeting.
- a user may select a virtual background to be used by other meeting participants.
- the system provides functionality allowing a user, such as a host or co-host of a meeting, to select one of the virtual backgrounds to be used by all of the meeting participants, a group of meeting participants, and/or or specific identified meeting participants. For example, this functionality is especially useful in that the system allows a host to select which virtual background would be used for the meeting for some or all of the users.
- a user of the company hosting the meeting can ensure a consistent virtual background to be used by all of the users of the company participating on a video conference call.
- the system would cause the selection of the particular virtual backgrounds to be used by each of the certain users.
- each of their virtual backgrounds would be uniformly displayed with the same virtual background.
- a user such as a meeting host or admin, may assign a virtual background to be used by the particular user.
- a primary user may assign a virtual background to be used directly for a user. During the video meeting, the primary user assigned virtual background would then be used by the respective users.
- the primary user may assign a particular virtual background to be used by all meeting participants. In other words, a virtual background may be assigned at a meeting level where each meeting participant would be displayed with the same virtual background.
- FIG. 10 is a flow chart illustrating an exemplary method I 000 that may be performed in some embodiments.
- the system may evaluate meeting content and select a virtual background for a user based on the evaluated meeting context.
- the system may convert speech-to-text and based on an evaluation of the text determine a virtual background to use, or dynamically change to during the meeting.
- the system 100 assigns a virtual background to be used for a video meeting, the assignment based on based on key words or character strings of textual content of the meeting.
- the system 100 initiates a video meeting, the video meeting including two or more video meeting participants, wherein a first meeting participant utilizes a first virtual background for display.
- the system 100 convert audio speech of the two or more video meeting participants to textual data.
- the system 100 evaluates the textual data for key words or character strings.
- the system 100 selects the virtual background for use during the video meeting where the key words or character strings match textual data.
- the system 100 displays for the first user, the selected virtual background during the video meeting or for at least a portion of the video meeting.
- the system 100 may evaluate the video stream of a user and determine a virtual background to use for video communications based on text found in the video stream of a user. For example, the system 100 may receive video frames, evaluate the video frames and identify one or more objects in the video frames. The system 100 may determine whether an object includes textual information, such as the name on a hat and/or a logo on a t-shirt. The system 100 may then suggest to a user or automatically select a virtual background to use for video communications that is associated with the text identified in one or more objects of the video frames.
- the system 100 may evaluate the video stream of a user and determine a virtual background to use for video communications based on motions of the user. For example, the system 100 may receive video frames, evaluate the video frames and identify user motions in the video frames. The system 100 may determine whether a particular motion has been made (for example, hand signing or performing a gesture with the hands, or head movement). The motion may be associated with a particular virtual background to be used when the motion is identified by the system. For example, the system 100 may detect that a user is performing the motion of waving goodbye, the system 100 may in response display a virtual background associated with the detected waving goodbye motion.
- a particular motion for example, hand signing or performing a gesture with the hands, or head movement.
- the motion may be associated with a particular virtual background to be used when the motion is identified by the system.
- the system 100 may detect that a user is performing the motion of waving goodbye, the system 100 may in response display a virtual background associated with the detected waving goodbye motion.
- FIG. 11 is a diagram illustrating an exemplary computer that may perform processing in some embodiments.
- Exemplary computer 1100 may perform operations consistent with some embodiments.
- the architecture of computer 1100 is exemplary. Computers can be implemented in a variety of other ways. A wide variety of computers can be used in accordance with the embodiments herein.
- Processor 1101 may perform computing functions such as running computer programs.
- the volatile memory 1102 may provide temporary storage of data for the processor 1101 .
- RAM is one kind of volatile memory.
- Volatile memory typically requires power to maintain its stored information.
- Storage 1103 provides computer storage for data, instructions, and/or arbitrary information. Non-volatile memory, which can preserve data even when not powered and including disks and flash memory, is an example of storage.
- Storage 1103 may be organized as a file system, database, or in other ways. Data, instructions, and information may be loaded from storage 1103 into volatile memory 1102 for processing by the processor 1101 .
- the computer 1100 may include peripherals 1105 .
- Peripherals 1105 may include input peripherals such as a keyboard, mouse, trackball, video camera, microphone, and other input devices.
- Peripherals 1105 may also include output devices such as a display.
- Peripherals 1105 may include removable media devices such as CD-R and DVD-R recorders/players.
- Communications device 1106 may connect the computer 100 to an external medium.
- communications device 1106 may take the form of a network adapter that provides communications to a network.
- a computer 1100 may also include a variety of other devices 1104 .
- the various components of the computer 1100 may be connected by a connection medium such as a bus, crossbar, or network.
- the present disclosure also relates to an apparatus for performing the operations herein.
- This apparatus may be specially constructed for the intended purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer.
- a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, each coupled to a computer system bus.
- the present disclosure may be provided as a computer program product, or software, that may include a machine-readable medium having stored thereon instructions, which may be used to program a computer system (or other electronic devices) to perform a process according to the present disclosure.
- a machine-readable medium includes any mechanism for storing information in a form readable by a machine (e.g., a computer).
- a machine-readable (e.g., computer-readable) medium includes a machine (e.g., a computer) readable storage medium such as a read only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 17/246,521, filed Apr. 30, 2021, the entire disclosure of which is incorporated herein by reference.
- The present invention relates generally to digital communication, and more particularly, to systems and methods providing for video communications with dynamic virtual backgrounds within a video communication platform.
- During video communications while using a video conferencing application or system, such as on a mobile device, smart phone or a laptop, a user may select a virtual background that is displayed as an image or video behind a live video feed of a user. These systems may use computer vision processing techniques to extract an outline (e.g., a border of the user) and then display the virtual background about or around the user during video communications with other users. However, users need to manually select a virtual background to be used for a meeting or assign a default virtual background to be used for all meetings. While providing some flexibility in the choice of a virtual background to use for video communication (e.g., video conference), contextual information of a planned meeting with other users is not utilized by these systems. This often results in situations where users may have inconsistent virtual backgrounds, for example, when employees of one company meet with employees of another company, some of the employees of the same company may be using different virtual backgrounds. The current state-of the-art video conferencing systems lack the ability to create virtual background templates that provide for consistency and uniformity of the virtual backgrounds used among users participating in a video meeting. These current state-of-the-art systems also lack the ability to automatically or dynamically choose a virtual background template to be used by meeting participants.
- Thus, there is a need in the field of digital communication to create a new and useful system and method for providing video communications with virtual background template for use within a video communication platform. The source of the problem, as discovered by the inventors, is a lack of an ability for multiple video meeting participants to configure a virtual background template prior to a meeting, where the virtual background template is selected based on either predefined rules and/or contextual information about a meeting.
- The invention overcomes the existing problems by providing a user interface for the creation of a virtual background template for the rule-based selection and/or contextual-based selection of virtual background templates for use during a video meeting within a video communication platform.
- The video communication system provides functionality allowing a user to create virtual background use templates where the system selects a virtual background use template to be used by the user during video communications with other users of the system. The virtual background use template may be selectable based on user defined rules. These user defined rules provide for the automatic selection of virtual background template based on contextual information of a planned meeting. The rules are evaluated by the system and compared against information of the planned meeting. Based on information of the planned meeting, the system may determine a virtual background template to be used by the user for the planned meeting.
- The system may display a virtual background template via an interactive user interface where the user places one or more bounding boxes for those areas of the user interface where the user would like to display a virtual background. The user interface may be configured to also receive user defined selection rules for the respective bounding boxes. For example, a user may draw or define a bounding box on the user interface, and then select or associate a virtual background to be used for that bounding box. The system may then receive criteria for the creation of user defined rules of when to select the virtual background template for use and/or of when to select a particular bounding box for use to display the associated virtual background for that bounding box.
- The user defined rules may include key words and Boolean logical operators to be compared against the information of the planned meeting. The rules may be simple comparisons of key words to be found in a planned meeting, or complex rules using various syntax and logical constructs to determine whether the rule criteria or conditions are met.
- The system is flexible in the sources of where meeting information are retrieved, and the manner in which a virtual background may be selected for use. The planned meeting information may be retrieved from a calendaring application or other databases that stores electronic meeting information. These data sources may be resident on a user device and/or stored in a cloud-based storage system or service.
- The rules may evaluate various data of the planned meeting information, such as whether particular users or participants are attending the planned meeting, whether particular e-mail domain names exist, whether certain words occur in information descriptive of meeting, whether the meeting is scheduled during certain times or dates, the number of meeting participants, and so forth.
- If the rule criteria or conditions are met, then the system selects a virtual background template that has been associated with the rule. A user, for example, may create a rule and then the system may select or assign a virtual background template to be used when the system determines that the rule criteria is met.
- The user created rules allow consistent use of a virtual background template for video communications with other users. The system may automatically select the same virtual background template for various planned meetings in which the user participates. For example, users may have many repeating meetings, or meetings with similar user participants. A user may only need to set up a rule once, and the system then may use the rule to select the same virtual background template for future or subsequent repeating planned meetings.
- Some users may use the video communication system to engage in video communications in different contexts, such as using the video communication system for video meetings in a business context or personal context. The system dynamically selects a virtual background template for use based on particular contextual information of a planned meeting. The system functionality provides for the automatic selection of the virtual background template based on the meeting context.
- While a virtual background template may be selected based on the user rules, the virtual background template may include multiple virtual backgrounds where each virtual background has a unique or different virtual background than other virtual backgrounds defined in the virtual background template. For example, a user may define a template to use two smaller sized virtual backgrounds to be displayed over a primary larger virtual background. The user may only want to display the first smaller virtual background in some meeting contexts, and the second virtual background in other meeting contexts. The system may evaluate each rule defined for the virtual backgrounds of the virtual background template. During video communications, the virtual backgrounds meeting the rule criteria would then be displayed.
- Methods, systems, and apparatus, including computer programs encoded on computer storage media relate to a method for providing video communications with dynamic virtual backgrounds within a communication platform. The system provides a user interface for the configuration of a virtual background configuration template. The user interface receives the placement of one or more virtual background boundary areas that may be associated with one or more particular virtual backgrounds to be used for video communications. The selection of the configuration template to be used and/or the specific virtual backgrounds to be used for a video meeting may be determined based on rules as applied to contextual information of a planned meeting defined in a calendaring system.
- One embodiment relates to a communication system configured to perform a number of operations. First, the system displays a template configuration user interface. The template configuration user interface may be configured to receive the placement of one or more virtual background boundary areas. The system receives, via the template configuration user interface, the placement of one or more virtual background boundary areas. The system receives, via the template configuration user interface, a selection for one or more virtual backgrounds to be associated with each of the one or more placed virtual background boundary areas. The system stores, on a storage device, a virtual background template. The virtual background template may include the location of the one or more virtual background boundary areas about the user interface, information as to the selected one or more virtual backgrounds for the respective virtual background boundary areas, and any rules associated to the selection of the virtual background template and/or the selection of the virtual background areas. The system may assign template use conditions or parameters to when to use the stored virtual background template for a planned meeting. Based on the template use conditions or parameters as applied to contextual information of a planned meeting, the system may select the stored virtual background template to be used for the planned meeting. The system displays, via a user interface to one or more meeting participants, the one or more virtual backgrounds assigned to the virtual background template.
- Further areas of applicability of the present disclosure will become apparent from the detailed description, the claims and the drawings. The detailed description and specific examples are intended for illustration only and are not intended to limit the scope of the disclosure.
- The present invention relates generally to digital communication, and more particularly, to systems and methods providing for containment of sensitive data within a communication or messaging platform.
- The present disclosure will become better understood from the detailed description and the drawings, wherein:
-
FIG. 1A is a diagram illustrating an exemplary environment in which some embodiments may operate. -
FIG. 1B is a diagram illustrating an exemplary computer system that may execute instructions to perform some of the methods herein. -
FIG. 2 is a diagram illustrating an example of planned meeting contextual information. -
FIG. 3 is a flow chart illustrating anexemplary method 300 that may be performed in some embodiments. -
FIG. 4 is a flow chart illustrating anexemplary method 400 that may be performed in some embodiments. -
FIG. 5A illustrates an example user interface 500 according to one embodiment of the present disclosure. -
FIG. 5B illustrates an example user interface 500 according to one embodiment of the present disclosure. -
FIG. 5B illustrates an example user interface 500 according to one embodiment of the present disclosure. -
FIG. 5C illustrates an example user interface 500 according to one embodiment of the present disclosure. -
FIG. 6 is a flow chart illustrating anexemplary method 600 that may be performed in some embodiments. -
FIG. 7 illustrates anexample user interface 700 according to one embodiment of the present disclosure. -
FIG. 8 is a flow chart illustrating anexemplary method 800 that may be performed in some embodiments. -
FIG. 9 illustrates anexample user interface 900 according to one embodiment of the present disclosure. -
FIG. 10 is a flow chart illustrating an exemplary method I 000 that may be performed in some embodiments. -
FIG. 11 is a diagram illustrating anexemplary computer system 1100 that may perform processing in some embodiments. - In this specification, reference is made in detail to specific embodiments of the invention. Some of the embodiments or their aspects are illustrated in the drawings.
- For clarity in explanation, the invention has been described with reference to specific embodiments, however it should be understood that the invention is not limited to the described embodiments. On the contrary, the invention covers alternatives, modifications, and equivalents as may be included within its scope as defined by any patent claims. The following embodiments of the invention are set forth without any loss of generality to, and without imposing limitations on, the claimed invention. In the following description, specific details are set forth in order to provide a thorough understanding of the present invention. The present invention may be practiced without some or all of these specific details. In addition, well known features may not have been described in detail to avoid unnecessarily obscuring the invention.
- In addition, it should be understood that steps of the exemplary methods set forth in this exemplary patent can be performed in different orders than the order presented in this specification. Furthermore, some steps of the exemplary methods may be performed in parallel rather than being performed sequentially. Also, the steps of the exemplary methods may be performed in a network environment in which some steps are performed by different computers in the networked environment.
- Some embodiments are implemented by a computer system. A computer system may include a processor, a memory, and a non-transitory computer-readable medium. The memory and non-transitory medium may store instructions for performing methods and steps described herein.
- Many other possibilities and options can be contemplated for this use case and others, as will be described in further detail throughout.
-
FIG. 1A is a diagram illustrating an exemplary environment in which some embodiments may operate. In theexemplary environment 100, a first user'sclient device 150 and one or more additional users' client device(s) 160 are connected to aprocessing engine 102 and, optionally, avideo communication platform 140. Theprocessing engine 102 is connected to thevideo communication platform 140, and optionally connected to one or more repositories and/or databases, including auser account repository 130,video content repository 132, and/or anannotation repository 134. One or more of the databases may be combined or split into multiple databases. The first user'sclient device 150 and additional users' client device(s) 160 in this environment may be computers, and the videocommunication platform server 140 andprocessing engine 102 may be applications or software hosted on a computer or multiple computers which are communicatively coupled via remote server or locally. - The
exemplary environment 100 is illustrated with only one additional user's client device, one processing engine, and one video communication platform, though in practice there may be more or fewer additional users' client devices, processing engines, and/or video communication platforms. In some embodiments, one or more of the first user's client device, additional users' client devices, processing engine, and/or video communication platform may be part of the same computer or device. - In an embodiment, the
processing engine 102 may perform the method 200 (FIG. 2A ) or other method herein and, as a result, provide multi-point video presentations with live annotations within a video communication platform. In some embodiments, this may be accomplished via communication with the first user's client device, additional users' client device(s), processing engine, video communication platform, and/or other device(s) over a network between the device(s) and an application server or some other network server. In some embodiments, theprocessing engine 102 is an application, browser extension, or other piece of software hosted on a computer or similar device, or is itself a computer or similar device configured to host an application, browser extension, or other piece of software to perform some of the methods and embodiments herein. - The first user's
client device 150 and additional users' client device(s) 160 are devices with a display configured to present information to a user of the device. In some embodiments, the first user'sclient device 150 and additional users' client device(s) 160 present information in the form of a user interface (UI) with UI elements or components. In some embodiments, the first user'sclient device 150 and additional users' client device(s) 160 send and receive signals and/or information to theprocessing engine 102 and/orvideo communication platform 140. The first user'sclient device 150 is configured to perform functions related to presenting and playing back video, audio, documents, annotations, and other materials within a video presentation (e.g., a virtual class, lecture, webinar, or any other suitable video presentation) on a video communication platform. The additional users' client device(s) 160 are configured to viewing the video presentation, and in some cases, presenting material and/or video as well. In some embodiments, first user'sclient device 150 and/or additional users' client device(s) 160 include an embedded or connected camera which is capable of generating and transmitting video content in real time or substantially real time. For example, one or more of the client devices may be smartphones with built-in cameras, and the smartphone operating software or applications may provide the ability to broadcast live streams based on the video generated by the built-in cameras. In some embodiments, the first user'sclient device 150 and additional users' client device(s) are computing devices capable of hosting and executing one or more applications or other programs capable of sending and/or receiving information. In some embodiments, the first user'sclient device 150 and/or additional users' client device(s) 160 may be a computer desktop or laptop, mobile phone, virtual assistant, virtual reality or augmented reality device, wearable, or any other suitable device capable of sending and receiving information. In some embodiments, theprocessing engine 102 and/orvideo communication platform 140 may be hosted in whole or in part as an application or web service executed on the first user'sclient device 150 and/or additional users' client device(s) 160. In some embodiments, one or more of thevideo communication platform 140,processing engine 102, and first user'sclient device 150 or additional users'client devices 160 may be the same device. In some embodiments, the first user'sclient device 150 is associated with a first user account on the video communication platform, and the additional users' client device(s) 160 are associated with additional user account(s) on the video communication platform. - In some embodiments, optional repositories can include one or more of a
user account repository 130,meetings repository 132,virtual background repository 134 and/or virtual background configuration repository 136. The optional repositories function to store and/or maintain, respectively, user account information associated with thevideo communication platform 140, video content received by thevideo communication platform 140 for display within video communication, and virtual background, which may include images, video and other graphical visual content. The optional database(s) may also store and/or maintain any other suitable information for theprocessing engine 102 orvideo communication platform 140 to perform elements of the methods and systems herein. In some embodiments, the optional database(s) can be queried by one or more components of system 100 (e.g., by the processing engine 102), and specific stored data in the database(s) can be retrieved. -
Video communication platform 140 is a platform configured to facilitate video presentations and/or communication between two or more parties, such as within a video conference or virtual classroom. -
FIG. 1B is a diagram illustrating anexemplary computer system 150 with software modules that may execute some of the functionality described herein. - The Planned
Meeting Evaluation module 152 provides system functionality for the interaction and retrieval of planned meeting contextual information from calendaring systems and/or database, and as further described herein. - The Virtual Background Template Configuration module 154 provides system functionality for the configuration, processing, storage, and management of virtual background templates, and as further described herein.
- The Virtual Background Rules
Configuration module 156 provides system functionality for the selection, creation, configuration, processing, storage, and management of virtual background selection rules, and as further described herein. - Virtual
Background Selection module 158 provides system functionality for the selection, creation, configuration, processing, storage, and management of particular virtual backgrounds. - Virtual Real-time
Meeting Monitoring module 160 provides system functionality for the monitoring and evaluation of meetings that are in progress to identify and determine real-time video communications, audio communications and textual communications, and as further described herein. - Virtual
Background Synchronization module 162 provides system functionality for the synchronization of virtual backgrounds among users of a meeting, and as further described herein. - The above modules and their functions will be described in further detail in relation to an exemplary methods and systems below.
- Virtual Background Files
- A virtual background file may be a file such as a video file, an image files (e.g., a jpeg, gif, etc.), or any other type of graphics or multimedia file. In general, a virtual background file is of a file of any type that allows for the system to present a still graphic image and/or a video image as a virtual background in conjunction with a user's video feed. The virtual background file may be stored on a file system, computer system memory, either in local storage or in a server-based storage system or database. The system retrieves the virtual background file to be used by the system as a virtual background while a user is engaged in video communications with one or more other users. The virtual background files may be cataloged or indexed by the system and associated with rules for the selection of particular virtual background files.
- Planned Meeting Contextual Information
-
FIG. 2 is a diagram illustrating an example of planned meeting contextual information. Thesystem 100 may retrieve from a meetings repository, such as a calendar application, information that is specific to a planned meeting event. By way of illustration,FIG. 2 depicts common information typically stored by a calendaring application. A planned meeting event may include atitle 202, ameeting location 204, a meeting date andtime 206, a list of meetingattendees 210 and other information. The listing of meeting attendees usually are identified in the format of usemame@domain-name. For example, a meeting attendee might be identified with the email address JApplesseed@zoom.com. Often a user creating a meeting, via a calendaring application, will provide ameeting title 202 to provide context for the meeting. - In some embodiments, preconfigured rules (as described herein) may use conditions and/or parameters that are evaluated against contextual information of a planned meeting. For instance, by way of illustration, but not limitation, some contextual information that may be evaluated by the system include: the title of the meeting, number of meeting participants, the time zone of one or more meeting participants, the description of the meeting, the particular participant user ids, email address or time zone of meeting participants.
- The planned meeting contextual information may be presented, via a user interface, such as a calendaring application user interface. In some embodiments, the calendaring application user interface may provide for the association of a virtual background file, via user interaction with the calendaring application user interface. For example, the calendaring application user may display a graphical icon where a user may upload or assign a particular virtual background to be used by one or more attendees of a meeting.
- Virtual Background Selection Rules
- In some embodiments, preconfigured rules for virtual background selection may be user defined, automatically generated by the system, preconfigured by the system for a user and/or the rules shared among users. The system provides functionality allowing a user to define conditions and/or parameters where a virtual background file is automatically selected for use as a virtual background for prospective meetings. In determining which virtual background to select, the system evaluates contextual information of a planned meeting, and then applies the preconfigured rule to the contextual information to determine whether the criteria for the selection of a virtual background are met. Where the conditions and/or parameters for the selection of a virtual background are met, then the system selects the virtual background to be used for user video communications.
- The system may automatically generate preconfigured rules for a user for the selection of a virtual background to be used for video communications. The system may evaluate historical meeting information from a calendaring system, or other electronic repository having past meeting information for the user. The system may store information about a prior selected virtual background that was used or assigned for use for users for various meetings. The system may determine commonality about contextual information of the various meeting, and automatically generate a preconfigured rule for a user to select a virtual background for prospective meetings. For example, the system may determine that a user used the same virtual background where the meeting participants included a specific user email domain name, or a particular user email address. The system then may create a preconfigured rule to automatically select the same virtual background that was previously used, where the user has a planned meeting with any other users having a similar email domain name and/or if the particular user email address is found in the contextual information of a planned meeting.
- In another example, the system may determine that a user typically uses the same virtual background (such as an image with the user's company logo) where the title of a meeting (as found in the meeting contextual information) is called “Company All-hands”. The system may then generate a preconfigured rule for that user where the system would evaluate the contextual information of a planned meeting for keywords of “Company All-hands” (either case-sensitive or not), and then associate the previously used virtual background for the planned meeting where the preconfigured rule criteria are met. In this instance, the system would automatically select the image of the user's company logo, when the title of a planned meeting includes the keywords “Company All-hands”.
- The system provides functionality where users may share their preconfigured rules with other users. The system may provide a user interface where a user may select one or more preconfigured rules to send to one or more other users. The selection user interface may allow for the input of user names and/or email addresses to whom the preconfigured rules would be shared. When sharing the preconfigured rule, the system provides the rule name, conditions and parameters, and copy of the underlying virtual background file to the other user. This functionality provides for one user to share a preconfigured rule with the other users. The other users may now use or modify the preconfigured rules for their own meetings.
- In some embodiments, the preconfigured rules may be given a rule priority order or weight for consideration by the system. In other words, the system may receive an indication that a rule has a higher priority than another rule. For example, the preconfigured rules may be given a rank or priority order for evaluation by the system. In one embodiment, a user interface may display a listing of the preconfigured rules, and the order of the rules (for example, top to bottom) indicate the order or priority that the system will evaluate the rule. In another embodiment, a user interface may receive a ranking number to indicate the order the preconfigured rule would be evaluated by the system.
- In some embodiments, the conditions and/or parameters of a preconfigured rule may include key words to match, Boolean logic operators to find matches (such as “and”, “or”), wild card operators and different character strings. A preconfigured rule may also include negative operators to preclude when a virtual background is not to be used. For example, a user may have personal based virtual backgrounds that are used when video conferencing with family or friends, and may not want to have the virtual background used for company or business meetings. The user may identify conditions and/or parameters of when not to use a particular virtual background for certain meeting contextual information. In this instance, this would preclude use of the virtual background from being automatically selected for those do not use meeting situations. Also, the system may be configured to preclude the user from manually selecting the virtual background is such situations, or at least prompt the user noting the virtual background has been precluded for use for the particular meeting at hand, and then allowing the user to override the preconfigured rule is the user so desires.
- In some embodiments, the system may in some instances, select two or more virtual backgrounds that may be used for a video meeting based on the application of two or more preconfigured rules as applied to contextual information of a planned meeting. In such a case, the system may present to the user a user interface depicting two or more graphical representations of the selected two or more virtual backgrounds. The system may receive a selection from a user for one of the displayed graphical representations. The system then would use the virtual background associated with the received selection of the graphical representation for use as a virtual background for the user during video communications.
- Virtual Background Selection
-
FIG. 3 is a flow chart illustrating anexemplary method 300 that may be performed in some embodiments. In one embodiment, thesystem 100 provides for virtual background selection using preconfigured rules. Thesystem 100 provides functionality where a user may define a rule to select a particular virtual background to be used for a planned video meeting. Thesystem 100 evaluates planned meeting contextual information and determines a specific virtual background to be used for video communication. In some instances, two or more rules may be applicable and result in the selection of two different virtual backgrounds for use. In the case, the system may present a user interface displaying a representation of the two virtual backgrounds, and receive a selection for the desired virtual background to be used during video communications by the user. - At
step 310, thesystem 100 provides one or more preconfigured rules for the selection of one or more virtual backgrounds to be used for planned video meetings. The preconfigured rules may be stored on a local or cloud data storage device and retrieved by the system. - At
step 320, thesystem 100 receives contextual information about a planned meeting. For example, the system may retrieve contextual information from a calendaring system or other database storing contextual information about planned meetings. - At
step 330, thesystem 100 selects at least one virtual background for use by a first user for the planned meeting. The system may select a virtual background based on the application of one or more preconfigured rules as applied to the received contextual information of the planned meeting. - At
step 340, thesystem 100 receives video content depicting imagery of the first user, the video content having multiple video frames. The system provides functionality for a user to capture and display video imagery to other users. For example, the system may receive a video stream from digital camera depicting imagery of the first user. - At
step 350, the system determines a boundary about the first user in the video frames, wherein the boundary has an interior portion and exterior portion. The system may use various computer vision techniques to identify the border or outline of the user depicted in the video. - At
step 360, thesystem 100 generates, for display on one or more client devices, a composite video depicting the interior portion depicting imagery of the first user overlaid on imagery of the selected virtual background. The system combines or composites video imagery of the user shown with the selected virtual background. -
FIG. 4 is a flow chart illustrating anexemplary method 400 that may be performed in some embodiments. Themethod 400 show an example of processing multiple preconfigured rules, where the rules are evaluating the meeting contextual information. - The method of evaluating meeting contextual information is illustrated for a search and match process for multiple preconfigured rules, with each preconfigured rule searching for and matching key words. The system may retrieve from a data storage device multiple preconfigured to determine a virtual background filed to be selected for a user as a virtual background during video communications with other users. In
step 410, the system evaluates one or more retrieved n preconfigured rules. Instep 420, the system determines particular key words for the particular nth rule. The system determines the rule's logical operators and syntax, for example, determining which key words to match to planned meeting contextual information. For example, one or more key words may be required to be matched to meeting contextual information for a particular virtual background file to be selected. - At
step 430, the system compares or tries to find matches of the key words with contextual information of a planned meeting. Atstep 440, the system determines whether or not a match was found. For each of the key words, the system determines whether all of the key words are found. If all of the key words are matched to contextual information of the meeting, then the system may then select a virtual background file that was associated with the preconfigured rule (step 450). The system would use the virtual background file to provide the virtual background during video communications by the user. While a simple key word match may be configured as a rule, more complex rules, operations, parameters and conditions may be required for a preconfigured rule. If no required key word matches are found, then next preconfigured rule is then evaluated against the contextual information, and so on until no more rules exist (looping back to step 430). The system may be configured such that a particular virtual background file would be used if none of the preconfigured rules apply to the contextual meeting information. -
FIG. 5A illustrates an example user interface according to one embodiment of the present disclosure. Thesystem 100 may generate and display a user interface 500 where a user may select a virtual background to use as a default virtual background. The user interface 500 may provide a selection for virtual background configuration where the user interface 500 provides functionality where a user may configure one or more rules for the selection of a virtual background to be used for a planned video meeting. -
FIG. 5B illustrates an example user interface 500 according to one embodiment of the present disclosure. In response to the selection of “Virtual Background Configuration” text, thesystem 100 may display the user interface section 530. The user interface section 530 depicts a listing of key terms and a group of virtual background from which a virtual background may be selected to be used when the key words are found in the contextual information for a planned meeting. The listing of key words 532 may be removed by the selection of the trashcan icon to the left of a particular key word. - The following example illustrates how a user may interact with the user interface section 530. A user may want to set or select a virtual background to be used for planned meeting. The user would enter key words into the input text box 534. In the examples 532A, 532B and 532C, a user had typed in text in the user interface input text box 534. From the listing of virtual backgrounds, the user had also selected a particular virtual background to be used for the input key words.
- In one example, for the key words “ABC CO” 532A, a user may have selected the graphical representation of virtual background 542A to be used when a planned meeting's contextual information includes the key words “ABC CO”. As will be described further below, the
system 100 may evaluate the planned meeting contextual information to identify that the planned meeting has the phrase “ABC CO”. In such a case, thesystem 100 will select and utilize the virtual background that is associated with the graphical representation of virtual background 542A to be used as a virtual background for the user during video communications with other users. - In another example, for the key words “Weekly Review” 532B, a user may have selected the graphical representation of virtual background 542B to be used when a planned meeting's contextual information includes the key words “Weekly Review”. As will be described further below, the
system 100 may evaluate the planned meeting contextual information to identify that the planned meeting has the phrase “Weekly Review” for instance in the title of the meeting. In such a case, thesystem 100 will select and utilize the virtual background that is associated with the graphical representation of virtual background 542B to be used as a virtual background for the user during video communications with other users. - In yet another example, for the key words “@zoom.com” 532C, a user may have selected the graphical representation of virtual background 542C to be used when a planned meeting's contextual information includes the key words “@zoom.com”. As will be described further below, the
system 100 may evaluate the planned meeting contextual information to identify that the planned meeting has the phrase “@zoom.com”, for instance in the e-mail address of one of the meeting participants. In such a case, thesystem 100 will select and utilize the virtual background that is associated with the graphical representation of virtual background 542C to be used as a virtual background for the user during video communications with other users. -
FIG. 5C illustrates an example user interface according to one embodiment of the present disclosure. In this embodiment of the user interface 500, thesystem 100 may present the user interface with an input section where the user interface 500 may receive a selection for the name of a rule, a selection or input for a user calendar associated with the rule (e.g., Outlook.com, Gmail.com, iCloud.com, etc.), and one or more key words to be matched for a planned meeting's contextual information. In this embodiment, the user interface may upload a virtual background to the system local or cloud-based storage repository in association with an account and/or user id of the user. - Automatic Virtual Background Rule Generation
- In some embodiments, the
system 100 may evaluate the historical use of virtual backgrounds that were previously used for a meeting, and automatically construct rules for use of virtual backgrounds for planned meetings. As described previously, the system may determine that a previous virtual background was used for many different meetings. The system may perform processing to determine similarities of contextual information of the different meetings and derive or create rules to use the same virtual background where a planned meeting has similar contextual information as the historical meetings. - In this embodiment, the system may establish a connection to the calendar account of a first user, or other database storing previous meeting information. A calendar account of a user is capable of storing informational details about one or more meetings. The informational details, for example, may include for each meeting: a title for the meeting, participant e-mail addresses of the meeting, a date for the meeting and a time for the meeting. Also, the
system 100 may store information for particular virtual backgrounds that were used for past meetings. - The
system 100 may evaluate the informational details of prior meetings of the calendar account of the first user. The system may retrieve and generate a dataset include the information details for those meetings where the same virtual background was used. - The
system 100 may generate one or more rules for the selection of a virtual background to be used for prospective meetings by the first user. The generated one or more rules may be generated based on an evaluation of the informational details of the prior meetings. For example, the system may determine that similar key words exist in the contextual information for the meetings. The system may then generate a rule where the system would use the same virtual background as previously used, where the key words are found in the contextual information for a planned meeting. - The
system 100 may the determine, by applying the generated one or more rules, a virtual background to use for a planned meeting. - Virtual Background Template Configuration
-
FIG. 6 is a flow chart illustrating anexemplary method 600 that may be performed in some embodiments. Thesystem 100 provides functionality to display a user interface (as further described with respect toFIG. 7 ) where a user may define a template for the selection of one or more virtual backgrounds to be used for a planned video meeting. The system may then evaluate planned meeting contextual information and select a specific virtual background template to be used for video communication. During video communications by the user, the system would use the virtual backgrounds configured for the selected virtual background template. - At
step 610, the system displays a template configuration user interface. The template configuration user interface may be configured to receive the placement of one or more virtual background boundary areas. - At
step 620, the system receives, via the template configuration user interface, the placement of one or more virtual background boundary areas. The user interface may receive selection about the template configuration interface of where the user would like to add a virtual background boundary area. - At
step 630, the system receives, via the template configuration user interface, a selection for one or more virtual backgrounds to be associated with each of the one or more placed virtual background boundary areas. For each of the virtual background boundary areas, a user may select a virtual background to be displayed within a particular virtual background boundary area. - At
step 640, the system stores, on a storage device, the user configured virtual background template including the location of the one or more virtual background boundary areas about the user interface, and the information as to the selected one or more virtual backgrounds for the respective virtual background boundary areas. - At
step 650, the system, assigns use conditions/parameters to determine when to use the stored virtual background template for a planned meeting. The use conditions may be preconfigured rules as described herein, such as assigning keywords to be matched as to the contextual information of a planned meeting. - At
step 660, the system based on the template use conditions/parameters as applied to the contextual information of a planned meeting, selecting the stored virtual background template to be used for the meeting. - At
step 670, thesystem 100 displays, via a user interface, to one or more meeting participants during a video meeting, the one or more virtual backgrounds assigned to the virtual background template. - Virtual Background Template
-
FIG. 7 illustrates anexample user interface 700 according to one embodiment of the present disclosure. The system I 00 may generate and display auser interface 700 where a user may configure a virtual background template to use for video communications with other users. Theuser interface 700 may provide functionality for the selection and placement of sections and/or borders (i.e., virtual background boundary areas) on theuser interface 700 for the display of one or more virtual backgrounds. The virtual background template during configuration may optionally display a video feed of auser 708 during the configuration of the virtual background template. - The system may generate and display the
user interface 700 which allows a user to design or configure one or more virtual backgrounds to be displayed during a video communication with other users. A user may select, draw, move, delete and/or resize one or more virtual background boundary areas on the user interface 700 (e.g., using a selection tool via a mouse input, touch input or other input device). Theuser interface 700 may receive the placement of one or more virtual background boundary area onto the user interface. For example, theuser interface 700 depicts three virtual background boundary areas showing a desired placement of three different virtual background boundary areas (represented by the dashedborders - A virtual background boundary area may be associated with a particular virtual background to be displayed during video communications when the virtual background template is selected for use for a meeting. As an example, the virtual
background boundary area 704 is associated with a virtual background of a graphical image of the word “ZOOM”. - The associated virtual backgrounds for the respective virtual background boundary areas may be stored collectively together as a virtual background template. The virtual background template may include the locations, shape and size of the virtual background boundary areas, and an indication such as a file name, link, identifier or other reference for a specific virtual background to be used in association with the virtual background boundary area. The virtual background template may be stored on a local data storage device and/or a remote storage service. In some embodiments, the virtual background files may be stored along with the virtual background as a collective container of the data, information and files needed to use or recreate the virtual background template.
- A particular virtual background template may be associated with pre-configuration rules (i.e., similar to the virtual background rule configuration as discussed previously). Additionally, each of the individual virtual background boundary areas may be associated with the same or different pre-configuration rules. A virtual background boundary area may be associated with a rule that if key words are matched in the contextual information of a planned meeting, then the virtual background boundary area would be displayed. For example, if a preconfigured rule includes the keywords “zoom.com”, and the contextual information includes a reference to zoom.com, such as a user email address, then the virtual
background boundary area 704 would be initiated and become active during the video meeting, and the system would display the associated virtual background (e.g., the graphical image of the word “ZOOM”.) - In some embodiments, each of the virtual background boundary areas may be associated with different or similar preconfigured rules. Also, a particular virtual background boundary area may be associated with multiple preconfigured rules. For example, the virtual
background boundary area 704 may also be associated with the keywords “Baseball”, and virtual background (such as a logo of one's favorite baseball team) may be associated with the keywords and the virtualbackground boundary area 704. In this instance, if a planned meeting includes contextual information include a keyword for baseball, then thesystem 100 would present associated virtual background for the associated baseball team logo. This functionality allows a user to configure a dynamic virtual background template that displays different virtual backgrounds for the same virtual background boundary areas based on a preconfigured rule and the informational content of a planned meeting. - In some embodiments, the
user interface 700 may receive a textual input directly into the virtual background boundary area. For example, theuser interface 700 may receive the input for the word Hobby, CompanyName, etc. Thesystem 100 may receive and store user input tags for different virtual backgrounds. For example,system 100 may receive a tag from a user input, associating a particular virtual background with the tag. In one instance an image to be used as a virtual background may be tagged with the word “Hobby” and another image tagged with a company name. Then for a planned video meeting, the virtual background would be used where the word “Hobby” or the company name is found in the contextual information for the meeting. - Additionally, the virtual background boundary area may be set as random. In this case, a different virtual background may be automatically chosen by the
system 100 for each new video meeting in which the user participates. - Virtual Background Synchronization
-
FIG. 8 is a flow chart illustrating anexemplary method 800 that may be performed in some embodiments. Thesystem 100 provides functionality to display a user interface where a first user may select a virtual background to be used for a video meeting. Thesystem 100 will synchronize the virtual background of the other user with the virtual background selected by the first user. Thesystem 100 may optionally transmit a file for the virtual background to those users that do not already have access to the same virtual background selected by the first user. During a video meeting the selected virtual background would be used by the first user and at least one other user. - At
step 810, the system receives a selection of a first user for the use of a virtual background to be used for a video meeting. For example, a user may select which virtual background should be used for a meeting. Alternatively, the system may use a preconfigured rule to select a virtual background to be used for the meeting. - At
step 820, the system synchronizes the selected virtual background to be used by one or more other users of the video meeting. The system provides for the selection of one or more other user to use the selected virtual background. This functionality provides, for example, a meeting admin, meeting host, etc., to enforce a common virtual background to be used by the other meeting participants. - At
step 830, the system optionally transmits a file of the selected virtual background to the one or more other users if the other one or more users do not have access to the virtual background selected by the first users. For example, a user may not have access to virtual background selected by the first user. In this instance, the system may transmit a file of the selected virtual background to the other user. The other user may the receive and store the received virtual background on their local or cloud data storage device. - At
step 840, during a video meeting, the system displays for the first user, and each of the one or more other users of the video meeting, the selected virtual background. The first user and the other users would display during the video meeting the virtual background as selected by the first user. -
FIG. 9 illustrates an example user interface according to one embodiment of the present disclosure. In some embodiments, the user interface allows the presentation of different virtual backgrounds for selection by a user. The system retrieves from a data storage device one or more virtual background files that correspond to preconfigured rules for the user. The displayed listing of virtual backgrounds for one user may be different than the listing of virtual backgrounds for other users. The selection and display of the virtual backgrounds may depend upon the preconfigured rules for each user and on the contextual information of the meeting in which the users participate. - In some embodiments, the system synchronizes the displayed virtual backgrounds and displays at least a group of similar virtual backgrounds for each user participating in the meeting. For example, the system may determine that two or more users have a similar virtual background that may be chosen based on one or more preconfigured rules for the selection of a virtual background based on the contextual information of the meeting. In such instances, where the system determines that each of the users have a same virtual background that may be used for the video meeting, the system may automatically select for use for those users the same virtual background to be used during the meeting.
- In some embodiments, a user may select a virtual background to be used by other meeting participants. The system provides functionality allowing a user, such as a host or co-host of a meeting, to select one of the virtual backgrounds to be used by all of the meeting participants, a group of meeting participants, and/or or specific identified meeting participants. For example, this functionality is especially useful in that the system allows a host to select which virtual background would be used for the meeting for some or all of the users. In a situation where employees of the same company are meeting with another company, a user of the company hosting the meeting can ensure a consistent virtual background to be used by all of the users of the company participating on a video conference call. Where a user selects a virtual background for use by certain users or all of users, the system would cause the selection of the particular virtual backgrounds to be used by each of the certain users. When the certain users participate in a video meeting, each of their virtual backgrounds would be uniformly displayed with the same virtual background.
- In some embodiments, a user, such as a meeting host or admin, may assign a virtual background to be used by the particular user. As described with respect the planned meeting contextual information, a primary user may assign a virtual background to be used directly for a user. During the video meeting, the primary user assigned virtual background would then be used by the respective users. In alternative embodiments, the primary user may assign a particular virtual background to be used by all meeting participants. In other words, a virtual background may be assigned at a meeting level where each meeting participant would be displayed with the same virtual background.
- Dynamic Virtual Background Selection
-
FIG. 10 is a flow chart illustrating an exemplary method I 000 that may be performed in some embodiments. In some embodiments, the system may evaluate meeting content and select a virtual background for a user based on the evaluated meeting context. - Speech-to-Text and Selection of Virtual Backgrounds
- In one embodiment, the system may convert speech-to-text and based on an evaluation of the text determine a virtual background to use, or dynamically change to during the meeting.
- In reference to
FIG. 10 , atstep 1010, thesystem 100 assigns a virtual background to be used for a video meeting, the assignment based on based on key words or character strings of textual content of the meeting. - At
step 1020, thesystem 100 initiates a video meeting, the video meeting including two or more video meeting participants, wherein a first meeting participant utilizes a first virtual background for display. - At
step 1030, thesystem 100 convert audio speech of the two or more video meeting participants to textual data. - At
step 1040, thesystem 100 evaluates the textual data for key words or character strings. - At step 1050, the
system 100 selects the virtual background for use during the video meeting where the key words or character strings match textual data. - At
step 1060, thesystem 100 displays for the first user, the selected virtual background during the video meeting or for at least a portion of the video meeting. - Object Detection of User Video and Selection of Virtual Backgrounds
- In other embodiments, the
system 100 may evaluate the video stream of a user and determine a virtual background to use for video communications based on text found in the video stream of a user. For example, thesystem 100 may receive video frames, evaluate the video frames and identify one or more objects in the video frames. Thesystem 100 may determine whether an object includes textual information, such as the name on a hat and/or a logo on a t-shirt. Thesystem 100 may then suggest to a user or automatically select a virtual background to use for video communications that is associated with the text identified in one or more objects of the video frames. - In other embodiments, the
system 100 may evaluate the video stream of a user and determine a virtual background to use for video communications based on motions of the user. For example, thesystem 100 may receive video frames, evaluate the video frames and identify user motions in the video frames. Thesystem 100 may determine whether a particular motion has been made (for example, hand signing or performing a gesture with the hands, or head movement). The motion may be associated with a particular virtual background to be used when the motion is identified by the system. For example, thesystem 100 may detect that a user is performing the motion of waving goodbye, thesystem 100 may in response display a virtual background associated with the detected waving goodbye motion. - Exemplary Computer System
-
FIG. 11 is a diagram illustrating an exemplary computer that may perform processing in some embodiments.Exemplary computer 1100 may perform operations consistent with some embodiments. The architecture ofcomputer 1100 is exemplary. Computers can be implemented in a variety of other ways. A wide variety of computers can be used in accordance with the embodiments herein. -
Processor 1101 may perform computing functions such as running computer programs. Thevolatile memory 1102 may provide temporary storage of data for theprocessor 1101. RAM is one kind of volatile memory. Volatile memory typically requires power to maintain its stored information.Storage 1103 provides computer storage for data, instructions, and/or arbitrary information. Non-volatile memory, which can preserve data even when not powered and including disks and flash memory, is an example of storage.Storage 1103 may be organized as a file system, database, or in other ways. Data, instructions, and information may be loaded fromstorage 1103 intovolatile memory 1102 for processing by theprocessor 1101. - The
computer 1100 may includeperipherals 1105.Peripherals 1105 may include input peripherals such as a keyboard, mouse, trackball, video camera, microphone, and other input devices.Peripherals 1105 may also include output devices such as a display.Peripherals 1105 may include removable media devices such as CD-R and DVD-R recorders/players.Communications device 1106 may connect thecomputer 100 to an external medium. For example,communications device 1106 may take the form of a network adapter that provides communications to a network. Acomputer 1100 may also include a variety ofother devices 1104. The various components of thecomputer 1100 may be connected by a connection medium such as a bus, crossbar, or network. - Some portions of the preceding detailed descriptions have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the ways used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
- It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as “identifying” or “determining” or “executing” or “performing” or “collecting” or “creating” or “sending” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage devices.
- The present disclosure also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the intended purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, each coupled to a computer system bus.
- Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the method. The structure for a variety of these systems will appear as set forth in the description above. In addition, the present disclosure is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the disclosure as described herein.
- The present disclosure may be provided as a computer program product, or software, that may include a machine-readable medium having stored thereon instructions, which may be used to program a computer system (or other electronic devices) to perform a process according to the present disclosure. A machine-readable medium includes any mechanism for storing information in a form readable by a machine (e.g., a computer). For example, a machine-readable (e.g., computer-readable) medium includes a machine (e.g., a computer) readable storage medium such as a read only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices, etc.
- In the foregoing disclosure, implementations of the disclosure have been described with reference to specific example implementations thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of implementations of the disclosure as set forth in the following claims. The disclosure and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/450,637 US20230396736A1 (en) | 2021-04-30 | 2023-08-16 | Tag-Based Virtual Background Boundary Area |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/246,521 US11832023B2 (en) | 2021-04-30 | 2021-04-30 | Virtual background template configuration for video communications |
US18/450,637 US20230396736A1 (en) | 2021-04-30 | 2023-08-16 | Tag-Based Virtual Background Boundary Area |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/246,521 Continuation US11832023B2 (en) | 2021-04-30 | 2021-04-30 | Virtual background template configuration for video communications |
Publications (1)
Publication Number | Publication Date |
---|---|
US20230396736A1 true US20230396736A1 (en) | 2023-12-07 |
Family
ID=83807961
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/246,521 Active US11832023B2 (en) | 2021-04-30 | 2021-04-30 | Virtual background template configuration for video communications |
US18/450,637 Pending US20230396736A1 (en) | 2021-04-30 | 2023-08-16 | Tag-Based Virtual Background Boundary Area |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/246,521 Active US11832023B2 (en) | 2021-04-30 | 2021-04-30 | Virtual background template configuration for video communications |
Country Status (1)
Country | Link |
---|---|
US (2) | US11832023B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020119601A1 (en) * | 2020-07-24 | 2022-01-27 | Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg | background playback system |
US11689696B2 (en) | 2021-03-30 | 2023-06-27 | Snap Inc. | Configuring participant video feeds within a virtual conferencing system |
US11943072B2 (en) | 2021-03-30 | 2024-03-26 | Snap Inc. | Providing a room preview within a virtual conferencing system |
US11979244B2 (en) | 2021-09-30 | 2024-05-07 | Snap Inc. | Configuring 360-degree video within a virtual conferencing system |
US20230126108A1 (en) * | 2021-10-22 | 2023-04-27 | Zoom Video Communications, Inc. | Dynamic context-sensitive virtual backgrounds for video conferences |
US11799926B2 (en) * | 2022-02-11 | 2023-10-24 | Motorola Mobility Llc | Methods, systems, and devices for presenting demonstration objects in a videoconference |
US20230403440A1 (en) * | 2022-06-10 | 2023-12-14 | Loop Now Technologies, Inc. | Manipulating video livestream background images |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030001948A1 (en) * | 2001-06-29 | 2003-01-02 | Yoshiyuki Mochizuki | Content distribution system and distribution method |
US20120050323A1 (en) * | 2010-08-25 | 2012-03-01 | International Business Machines Corporation | Background replacement for videoconferencing |
US20160132233A1 (en) * | 2013-02-17 | 2016-05-12 | Keyless Systems Ltd. | Data entry systems |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105590312B (en) * | 2014-11-12 | 2018-05-18 | 株式会社理光 | Foreground image dividing method and device |
US9948893B2 (en) * | 2015-11-18 | 2018-04-17 | Avaya Inc. | Background replacement based on attribute of remote user or endpoint |
US11558562B2 (en) * | 2019-09-06 | 2023-01-17 | LINE Plus Corporation | Apparatus and method for providing 360-degree panoramic background during video call |
-
2021
- 2021-04-30 US US17/246,521 patent/US11832023B2/en active Active
-
2023
- 2023-08-16 US US18/450,637 patent/US20230396736A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030001948A1 (en) * | 2001-06-29 | 2003-01-02 | Yoshiyuki Mochizuki | Content distribution system and distribution method |
US20120050323A1 (en) * | 2010-08-25 | 2012-03-01 | International Business Machines Corporation | Background replacement for videoconferencing |
US20160132233A1 (en) * | 2013-02-17 | 2016-05-12 | Keyless Systems Ltd. | Data entry systems |
Also Published As
Publication number | Publication date |
---|---|
US11832023B2 (en) | 2023-11-28 |
US20220353473A1 (en) | 2022-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11902710B2 (en) | Automated rule generation and virtual background selection for video communications | |
US11832023B2 (en) | Virtual background template configuration for video communications | |
US11204963B2 (en) | Digital processing systems and methods for contextual auto-population of communications recipients in collaborative work systems | |
US11709874B2 (en) | Secure bubble content recommendation based on a calendar invite | |
US11829404B2 (en) | Functional image archiving | |
US20240273795A1 (en) | Virtual Background Synchronization | |
US20220245529A1 (en) | Distributing a user interface for accessing files | |
US10171401B2 (en) | Personalized electronic message | |
US10088981B2 (en) | User engagement application across user interface applications | |
US20180365654A1 (en) | Automatic association and sharing of photos with calendar events | |
US20110067087A1 (en) | Organizing documents through utilization of people tags | |
US20170310812A1 (en) | Method And Apparatus For Communication Using Images, Sketching, And Stamping | |
US10338780B2 (en) | System and method for graphical resources management and computer program product with application for graphical resources management | |
US20220318755A1 (en) | Systems and methods for adaptive curation of rendered digital assets within a virtual workspace in a collaboration system | |
US10628860B2 (en) | System and method for creation of visual job advertisements | |
US20190043020A1 (en) | Generating and enhancing meeting-related objects based on image data | |
US12052114B2 (en) | System and method for documenting and controlling meetings employing bot | |
US20240073368A1 (en) | System and method for documenting and controlling meetings with labels and automated operations | |
CN104375815B (en) | Information processing method and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ZOOM VIDEO COMMUNICATIONS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SPRINGER, SHANE PAUL;REEL/FRAME:064608/0213 Effective date: 20220627 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: ZOOM VIDEO COMMUNICATIONS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SPRINGER, SHANE;REEL/FRAME:065508/0895 Effective date: 20210804 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |