IP Library Granted Patent US 10,666,902
Granted Patent B1
US 10,666,902 · App. 16/262,859 · Granted May 26, 2020

Display conflict elimination in videoconferencing

Inventors: Kshitij Mahendru (Kirkland, WA); Sabra Alexis Wieditz Rossman (Bellevue, WA); Shivaram Prabhakar (Bothell, WA)
Assignee: Microsoft Technology Licensing, LLC
H04N7/15G06F3/0484G06F3/0482
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,666,902
App. No.
16/262,859
Granted
May 26, 2020
Kind
B1
Abstract

A device is disclosed, which includes a processor and a memory in communication with the processor. The memory includes executable instructions that, when executed by the processor, cause the processor to control the device to perform functions of receiving user interaction data from a remote device via a communication network, the user interaction data indicating user interaction with a graphical user interface of the remote device; determining, based on the user interaction data, that the user interaction causes a display conflict between the graphical user interface of the remote device and visual information displayed on the graphical user interface of the remote device; and resolving the display conflict by causing the remote device to display modified visual information. The device thus allows a user to see and interact with the graphical user interface without needing to stop or pause displaying the visual information or to wait for the visual information display to be over.

Claims (57)

1. A device for resolving a display conflict at a remote device, comprising:

a processor; and

a memory in communication with the processor, the memory comprising executable instructions that, when executed by the processor, cause the processor to control the device to perform functions of:

controlling the remote device to generate a graphical user interface (GUI) at the remote device, the remote device configured to (i) generate a video based on source data provided from a source other than the device and (ii) display the generated GUI and video simultaneously via a display;

receiving, from the remote device via a communication network, user interaction data indicating user interaction with the GUI of the remote device;

determining, based on the received user interaction data, that the user interaction with the GUI causes a display conflict between the GUI and video, the display conflict including the video at least partially overlapping the GUI; and

causing the remote device to remove a portion of the video that overlaps the GUI.

2. The device of claim 1 , wherein the instructions, when executed by the processor, further cause the processor to control the device to perform a function of causing the source data to be directed from the source to the remote device via the communication network.

3. The device of claim 1 , wherein, for determining that the user interaction causes the display conflict, the instructions, when executed by the processor, further cause the processor to control the device to perform functions of:

determining that the user interaction causes a visual element to appear, the visual element being part of the GUI; and

determining that the video at least partially overlaps the visual element.

4. The device of claim 3 , wherein the visual element comprises a pop-up menu, dialog box or notification of the GUI.

5. The device of claim 1 , wherein the instructions, when executed by the processor, further cause the processor to control the device to perform a function of stopping or pausing the video when it is determined that the user interaction causes the display conflict.

6. The device of claim 1 , wherein the remote device operates a virtual application comprising the GUI in a virtual machine environment, generates the video outside the virtual machine environment, and overlays the generated video on the GUI of the virtual application.

7. The device of claim 6 , wherein:

the GUI of the virtual application comprises a video display area and a menu area,

the video is overlaid on the video display area of the GUI, and

for determining that the user interaction causes the display conflict, the instructions, when executed by the processor, further cause the processor to control the device to perform functions of:

determining that the user interaction causes a visual element to appear on the video display area of the GUI; and

determining that the video at least partially overlaps the visual element.

8. The device of claim 1 , wherein:

the video comprises a plurality of video streams,

the GUI comprises a video display area divided into a plurality of areas to display the plurality of video streams, respectively,

for determining that the user interaction causes the display conflict, the instructions, when executed by the processor, further cause the processor to control the device to perform a function of determining whether one or more of the video streams at least partially overlap the visual element, and

for causing the remote device to remove a portion of the video, the instructions, when executed by the processor, further cause the processor to control the device to perform a function of causing the remote device to remove a portion of each video stream overlapping the visual element.

9. A method of operating a device for resolving a display conflict at a remote device, comprising:

controlling the remote device to generate a graphical user interface (GUI) at the remote device, the remote device configured to (i) generate a video based on source data provided from a source other than the device and (ii) display the generated GUI and video simultaneously via a display;

receiving, from the remote device via a communication network, user interaction data indicating user interaction with the GUI of the remote device;

determining, based on the received user interaction data, that the user interaction with the GUI causes a display conflict between the GUI and video via the display, the display conflict including the video at least partially overlapping the GUI; and

causing the remote device to remove a portion of the video that overlaps the GUI.

10. The method of claim 9 , further comprising causing the source data to be directed from the source to the remote device via the communication network.

11. The method of claim 9 , wherein determining that the user interaction causes the display conflict comprises:

determining that the user interaction causes a visual element to appear, the visual element being part of the GUI; and

determining that the video at least partially overlaps the visual element.

12. The method of claim 9 , wherein the visual element comprises a pop-up menu, dialog box or notification of the GUI.

13. The method of claim 9 , further comprising stopping or pausing the video when it is determined that the user interaction causes the display conflict.

14. The method of claim 9 , wherein the remote device operates a virtual application comprising the GUI in a virtual machine environment, generates the video outside the virtual machine environment; and overlays the generated video on the GUI of the virtual application.

15. The method of claim 14 , wherein:

the GUI of the virtual application comprises a video display area and a menu area,

the video is overlaid on the video display area of the GUI, and

determining that the user interaction causes the display conflict comprises:

determining that the user interaction causes a visual element to appear on the video display area of the GUI; and

determining that the video at least partially overlaps the visual element.

16. The method of claim 15 , wherein:

the video comprises a plurality of video images streams displayed on the GUI, and the GUI comprises a video display area divided into a plurality of areas to display the plurality of video streams, respectively,

determining that the user interaction causes the display conflict comprises determining that one or more of the video streams at least partially overlap the visual element; and

causing the remote device to remove a portion of the video comprises causing the remote device to remove a portion of each video image overlapping the visual element.

17. A non-transitory computer readable medium containing instructions which, when executed by a processor, cause a device to perform functions of:

controlling a remote device to generate a graphical user interface (GUI) at the remote device, the remote device configured to (i) generate a video based on source data provided from a source other than the device and (ii) display the generated GUI and video simultaneously via a display;

receiving, from a the remote device via a communication network, user interaction data indicating user interaction with a graphical user interface (GUI) of the remote device;

determining, based on the received user interaction data, that the user interaction with the GUI causes a display conflict between the GUI and video displayed via the display, the display conflict including the video at least partially overlapping the GUI; and

causing the remote device to remove a portion of the video that overlaps the GUI.

18. The non-transitory computer readable medium of claim 17 , wherein, for determining that the user interaction causes the display conflict, the instructions, when executed by the processor, further cause the processor to control the device to perform functions of:

determining that the user interaction causes a visual element to appear, the visual element being part of the GUI; and

determining that the video at least partially overlaps the visual element.

19. The non-transitory computer readable medium of claim 18 , wherein the visual element comprises a pop-up menu, dialog box or notification of the GUI.

20. The non-transitory computer readable medium of claim 17 , wherein the remote device operates a virtual application comprising the GUI in a virtual machine environment, generates the video outside the virtual machine environment, and overlays the generated video on the GUI of the virtual application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2019
From: MAHENDRU, KSHITIJ; ROSSMAN, SABRA ALEXIS WIEDITZ; PRABHAKAR, SHIVARAM
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 048196/0986 →
Cited By (1)
US 12,519,907