IP Library Granted Patent US 11,064,256
Granted Patent B1
US 11,064,256 · App. 16/743,391 · Granted Jul 13, 2021

Dynamic configuration of communication video stream arrangements based on an aspect ratio of an available display area

Inventors: Chad A. Voss (Redmond, WA); Jason Thomas Faulkner (Seattle, WA)
Assignee: Microsoft Technology Licensing, LLC
H04N21/47G06F3/0481H04N7/15H04N21/4316G06F2203/04803
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,064,256
App. No.
16/743,391
Granted
Jul 13, 2021
Kind
B1
Abstract

The provided techniques improve user engagement and more efficient use of computing resources by dynamically configuring video stream arrangements based on an aspect ratio of an available display area and a target aspect ratio. Such techniques provide dynamically optimized user interface arrangements that accommodate any given shape of an available display area. The techniques can also help viewers maintain focus on the salient content of a multi-stream display when users resize a display window, move a window to a random shape, rotate a device, join a communication session, leave a communication session, present content streams, remove content streams, etc. A target aspect ratio can be utilized in a process to recursively divide a display area horizontally or vertically to accommodate any number of stream renderings. An adjustment of the target aspect can allow for an optimal display any number of video stream renderings for any shape of a display screen.

Claims (65)

1. A method performed by a computing system, the method comprising:

receiving a number of streams, individual streams of the number of streams comprising a video component;

receiving configuration data defining a target aspect ratio condition based on a target aspect ratio;

configuring user interface data defining a user interface by

vertically dividing an available display area creating a first vertical bin and a second vertical bin, if an aspect ratio of an available display area does not meet the target aspect ratio condition, or

horizontally dividing the available display area creating a first horizontal bin and a second horizontal bin, if the aspect ratio of the available display area meets the target aspect ratio condition;

recursively dividing the vertical bins or the horizontal bins to insert a number of cells equal to the number of streams, wherein individual cells are arranged within the vertical bins or the horizontal bins based on the target aspect ratio condition and at least one of an aspect ratio of the individual cells within the vertical bins or an aspect ratio of individual cells within the horizontal bins; and

causing a display of the user interface having the number of cells that are arranged by the target aspect ratio condition and at least one of an aspect ratio of individual cells within the vertical bins or an aspect ratio of individual cells within the horizontal bins, wherein individual cells of the number of cells each comprise a rendering of individual streams of the number of streams, wherein an aspect ratio of each cell is based on a number of divisions of the horizontal bins or the vertical bins.

2. The method of claim 1 , wherein the aspect ratio of the available display area does not meet the target aspect ratio condition if the aspect ratio of the available display area is greater than a target aspect ratio.

3. The method of claim 1 , wherein the aspect ratio of the available display area does not meet the target aspect ratio condition if the aspect ratio of the available display area is greater than or equal to a target aspect ratio.

4. The method of claim 1 , wherein recursively dividing the vertical bins or the horizontal bins comprises:

determining that the vertical bins are equally filled with cells; and

in response to determining that the vertical bins are equally filled with cells, and if an aspect ratio of the individual cell existing within a selected vertical bin is less than a target aspect ratio, adding a new cell to the selected vertical bin causing a horizontal division of the selected vertical bin.

5. The method of claim 4 , further comprising:

determining if the first vertical bin and the second vertical bin are equally filled with cells; and

in response to determining that the first vertical bin and the second vertical bin are not equally filled with cells, adding a new cell to a vertical bin having a least number of cells.

6. The method of claim 5 , further comprising:

determining that the vertical bins are equally filled with cells; and

in response to determining that the vertical bins are equally filled with cells, and if an aspect ratio of an individual cell existing within a selected vertical bin is greater than the target aspect ratio, generating data defining a transformation from the vertical bins to new horizontal bins and adding a new cell to one of the new horizontal bins.

7. The method of claim 1 , wherein the aspect ratio of an available display area meets the target aspect ratio condition if the aspect ratio of the available display area is less than a target aspect ratio.

8. The method of claim 1 , wherein recursively dividing the vertical bins or the horizontal bins comprises:

determining that the first horizontal bin and the second horizontal bin are equally filled with cells; and

in response to determining that the first horizontal bin and the second horizontal bin are equally filled with cells, and if an aspect ratio of the individual cell existing within a selected horizontal bin is greater than a target aspect ratio, adding a new cell to the selected horizontal bin causing a vertical division of the selected horizontal bin.

9. The method of claim 8 , further comprising: determining if the first horizontal bin and the second horizontal bin are equally filled with cells; and in response to determining that the first horizontal bin and the second horizontal bin are equally filled with cells, and if an aspect ratio of an individual cell existing within a selected horizontal bin is less than the target aspect ratio, generating data defining a transformation from the horizontal bins to new vertical bins and adding a new cell to one of the new vertical bins.

10. A method performed by a computing system, the method comprising:

receiving a number of streams, individual streams of the number of streams comprising a video component;

receiving configuration data defining a target aspect ratio;

configuring user interface data defining a user interface by

vertically dividing an available display area to generate a first vertical bin and a second vertical bin within the available display area, if an aspect ratio of the available display area is greater than the target aspect ratio, or

horizontally dividing the available display area to generate a first horizontal bin and a second horizontal bin within the available display area, if the aspect ratio of the display area is less than the target aspect ratio;

configuring the vertical bins or the horizontal bins with individual cells; and

causing a display of the user interface having the cells arranged within the vertical bins or the horizontal bins based on a comparison of the target aspect ratio and at least one of an aspect ratio of individual cells within the vertical bins or an aspect ratio of individual cells within the horizontal bins, wherein the individual cells each comprise a rendering of individual streams of the number of streams.

11. The method of claim 10 , further comprising:

determining that the first vertical bin and the second vertical bin are equally filled with cells; and

determining that the first vertical bin and the second vertical bin are equally filled with cells, and if an aspect ratio of an individual cell existing within a selected vertical bin is less than the target aspect ratio, add a new cell to the selected vertical bin causing a horizontal division of the selected vertical bin.

12. The method of claim 10 , further comprising:

determining if the first vertical bin and the second vertical bin are equally filled with cells; and

in response to determining if the first vertical bin and the second vertical bin are equally filled with cells, and if an aspect ratio of an individual cell existing within a selected vertical bin is greater than the target aspect ratio, generating data defining a transformation from the vertical bins to new horizontal bins and adding a new cell to one of the new horizontal bins causing a vertical division of a selected horizontal bin of the new horizontal bins.

13. The method of claim 10 , wherein recursively dividing the vertical bins or the horizontal bins comprises:

determining that the first horizontal bin and the second horizontal bin are equally filled with cells; and

in response to determining that the first horizontal bin and the second horizontal bin are equally filled with cells, and if an aspect ratio of the individual cell existing within a selected horizontal bin is greater than a target aspect ratio, adding a new cell to the selected horizontal bin causing a vertical division of the selected horizontal bin.

14. The method of claim 10 , further comprising:

determining if the first horizontal bin and the second horizontal bin are equally filled with cells; and

in response to determining that the first horizontal bin and the second horizontal bin are not equally filled with cells, adding a new cell a horizontal bin having a least number of cells.

15. The method of claim 10 , further comprising:

determining if the first horizontal bin and the second horizontal bin are equally filled with cells; and

in response to determining that the first horizontal bin and the second horizontal bin are equally filled with cells, and if an aspect ratio of an individual cell existing within a selected horizontal bin is less than the target aspect ratio, generating data defining a transformation from the horizontal bins to new vertical bins and adding a new cell to one of the new vertical bins causing a horizontal division of a selected vertical bin of the new vertical bins.

16. A computing system, comprising:

means for receiving a number of streams, individual streams of the number of streams comprising a video component;

means for receiving configuration data defining a target aspect ratio;

means for configuring user interface data defining a user interface by

vertically dividing an available display area to generate a first vertical bin and a second vertical bin within the available display area, if an aspect ratio of the available display area is greater than the target aspect ratio, or

horizontally dividing the available display area to generate a first horizontal bin and a second horizontal bin within the available display area, if the aspect ratio of the display area is less than the target aspect ratio;

means for configuring the vertical bins or the horizontal bins with individual cells; and

means for causing a display of the user interface having the cells arranged within the vertical bins or the horizontal bins based on a comparison of the target aspect ratio and at least one of an aspect ratio of individual cells within the vertical bins or an aspect ratio of individual cells within the horizontal bins, wherein the individual cells each comprise a rendering of individual streams of the number of streams.

17. The system of claim 16 , further comprising:

means for determining that the first vertical bin and the second vertical bin are equally filled with cells; and

means for determining that the first vertical bin and the second vertical bin are equally filled with cells, and if an aspect ratio of an individual cell existing within a selected vertical bin is less than the target aspect ratio, add a new cell to the selected vertical bin causing a horizontal division of the selected vertical bin.

18. The system of claim 17 , further comprising:

means for determining if the first vertical bin and the second vertical bin are equally filled with cells; and

means for in response to determining if the first vertical bin and the second vertical bin are equally filled with cells, and if an aspect ratio of an individual cell existing within a selected vertical bin is greater than the target aspect ratio, generate data defining a transformation from the vertical bins to new horizontal bins and add a new cell to one of the new horizontal bins causing a vertical division of a selected horizontal bin of the new horizontal bins.

19. The method of claim 1 , further comprising:

receiving a user input resizing the available display area;

in response to the user input, recalculating the size, shape, and position of each cell of the number of cells by reconfiguring the user interface data defining the user interface.

20. The method of claim 1 , wherein the number of cells is arranged by the target aspect ratio condition to minimize movement of one or more streams of the number of streams.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2020
From: VOSS, CHAD A.; FAULKNER, JASON THOMAS
To: MICROSOFT TECHNOLOGY LICENSING, LLC.
Reel/Frame 052456/0909 →
Cited By (22)
US 12,242,702 US 12,242,707 US 12,260,059 US 12,265,696 US 12,267,622 US 12,301,979 US 12,302,035 US 12,342,100 US 12,363,219 US 12,368,946 US 12,405,631 US 12,449,961 US 12,452,389 US 12,541,338 US 12,563,299 US 12,578,757 US 12,578,837 US 12,593,008 US 12,615,347 US 12,620,155 US 12,701,026 US 12,719,709