IP Library › Granted Patent US 11,595,221
Granted Patent B1
US 11,595,221 · App. 17/692,738 · Granted Feb 28, 2023

Verifying media stream quality for multiparty video conferences

Inventors: Robert Albert Wlodarczyk (Issaquah, WA); Chandler Boone Ferry (Auburn, WA); Derek Alan Streat (Seattle, WA)
Assignee: DexCare, Inc.
H04L12/1827H04L65/403H04L65/80H04N7/147
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,595,221
App. No.
17/692,738
Filed
Mar 11, 2022
Granted
Feb 28, 2023
Kind
B1
Art Unit
2448
USPC
709/204
Abstract

Embodiments are directed to verifying media stream quality for multiparty video conferences. A verification video may be generated based on verification goals for a video provided by a video service. A marker may be embedded in the verification video. A video conference may be established using video stations such that the video conference may be provided by a video service. The verification video may be streamed to a video input of each video station. The video may be streamed to a video output buffer of each video station such that the video provides a view of the video conference and such that the marker that corresponds to each video station may be included in the video. Video information may be captured from the video output buffer of the video stations. The video service may be classified based on the video information from each video station.

Claims (105)

1. A method for managing video streaming applications over a network using one or more processors that are configured to execute instructions, wherein the execution of the instructions performs actions, comprising:

generating a verification video based on one of a collection of pre-made videos that are specifically arranged to verify media stream quality for multiparty video conferences and one or more verification goals for a video provided by a video service, wherein the verification video includes one or more of a simulated type of video source, a simulated environment or a simulated condition of interest to an organization for providing a video conference between one or more video stations;

embedding a marker in the verification video, wherein the marker includes an identifier of for one or more frames of the verification video;

establishing the video conference using the one or more video stations, wherein the video conference is provided by a video service that is separate from the one or more video stations;

streaming the verification video to a video input of each video station;

streaming the video to a video output buffer of each video station, wherein the video provides a view of the video conference, and wherein the marker that corresponds to each video station is included in the video;

capturing video information from the video output buffer of the one or more video stations, wherein the video information is associated with the video and each video station, and wherein the video information includes the marker and one or more frames of the video;

classifying the video service based on the video information from each video station; and

generating one or more reports that include one or more results of the classification.

2. The method of claim 1 , wherein capturing the video information from the video output buffer of the one or more video stations, further comprises:

capturing one or more of a rendering of the video in a display buffer, a frame of the video, or a snippet that includes more than one frame of the video.

3. The method of claim 1 , wherein capturing the video information from the video output buffer of the one or more video stations, further comprises:

determining one or more metrics associated with each video station that corresponds to the video output buffer, wherein the one or more metrics include one or more of a display resolution, a display type, an operating system identifier, an available amount of general purpose memory, an amount of available video memory, a type of available processor unit, or a type of available graphics processor unit.

4. The method of claim 1 , wherein providing the verification video, further comprises:

determining one or more characteristics that include one or more of a video resolution, a color range, an amount of video noise, or a lighting condition;

generating the verification video to simulate the one or more characteristics; and

providing the generated verification video.

5. The method of claim 1 , wherein classifying the video service based on the video information from each video station, further comprises:

determining one or more values for one or more metrics, wherein the one or more metrics include one or more of latency between the one or more video stations, video frame drops, output resolution, or color range;

negatively classifying the video service for each of the one or more values that are outside of a predetermined range of values; and

positively classifying the video service for each of the one or more values that are within the predetermined range of values.

6. The method of claim 1 , wherein capturing the video information from the video output buffer of the one or more video stations, further comprises:

storing one or more portions of the video information at the one or more video stations; and

in response to an expiry of a timer or a local storage amount threshold being exceeded, providing the one or more portions of the video information to a verification engine that is arranged to classify the one or more portions of the video information.

7. A processor readable non-transitory storage media that includes instructions for managing video streaming applications, wherein execution of the instructions by one or more processors, performs actions, comprising

generating a verification video based on one of a collection of pre-made videos that are specifically arranged to verify media stream quality for multiparty video conferences and one or more verification goals for a video provided by a video service, wherein the verification video includes one or more of a simulated type of video source, a simulated environment or a simulated condition of interest to an organization for providing a video conference between one or more video stations;

embedding a marker in the verification video, wherein the marker includes an identifier of for one or more frames of the verification video;

establishing the video conference using the one or more video stations, wherein the video conference is provided by a video service that is separate from the one or more video stations;

streaming the verification video to a video input of each video station;

streaming the video to a video output buffer of each video station, wherein the video provides a view of the video conference, and wherein the marker that corresponds to each video station is included in the video;

capturing video information from the video output buffer of the one or more video stations, wherein the video information is associated with the video and each video station, and wherein the video information includes the marker and one or more frames of the video;

classifying the video service based on the video information from each video station; and

generating one or more reports that include one or more results of the classification.

8. The media of claim 7 , wherein capturing the video information from the video output buffer of the one or more video stations, further comprises:

capturing one or more of a rendering of the video in a display buffer, a frame of the video, or a snippet that includes more than one frame of the video.

9. The media of claim 7 , wherein capturing the video information from the video output buffer of the one or more video stations, further comprises:

determining one or more metrics associated with each video station that corresponds to the video output buffer, wherein the one or more metrics include one or more of a display resolution, a display type, an operating system identifier, an available amount of general purpose memory, an amount of available video memory, a type of available processor unit, or a type of available graphics processor unit.

10. The media of claim 7 , wherein providing the verification video, further comprises:

determining one or more characteristics that include one or more of a video resolution, a color range, an amount of video noise, or a lighting condition;

generating the verification video to simulate the one or more characteristics; and

providing the generated verification video.

11. The media of claim 7 , wherein classifying the video service based on the video information from each video station, further comprises:

determining one or more values for one or more metrics, wherein the one or more metrics include one or more of latency between the one or more video stations, video frame drops, output resolution, or color range;

negatively classifying the video service for each of the one or more values that are outside of a predetermined range of values; and

positively classifying the video service for each of the one or more values that are within of the predetermined range of values.

12. The media of claim 7 , wherein capturing the video information from the video output buffer of the one or more video stations, further comprises:

storing one or more portions of the video information at the one or more video stations; and

in response to an expiry of a timer or a local storage amount threshold being exceeded, providing the one or more portions of the video information to a verification engine that is arranged to classify the one or more portions of the video information.

13. A system for managing video streaming applications:

a network computer, comprising:

a memory that stores at least instructions; and

one or more processors that execute instructions that perform actions, including:

generating a verification video based on one of a collection of pre-made videos that are specifically arranged to verify media stream quality for multiparty video conferences and one or more verification goals for a video provided by a video service, wherein the verification video includes one or more of a simulated type of video source, a simulated environment or a simulated condition of interest to an organization for providing a video conference between one or more video stations;

embedding a marker in the verification video, wherein the marker includes an identifier of for one or more frames of the verification video;

establishing the video conference using the one or more video stations, wherein the video conference is provided by a video service that is separate from the one or more video stations;

streaming the verification video to a video input of each video station;

streaming the video to a video output buffer of each video station, wherein the video provides a view of the video conference, and wherein the marker that corresponds to each video station is included in the video;

capturing video information from the video output buffer of the one or more video stations, wherein the video information is associated with the video and each video station, and wherein the video information includes the marker and one or more frames of the video;

classifying the video service based on the video information from each video station; and

generating one or more reports that include one or more results of the classification; and

a client computer, comprising:

a memory that stores at least instructions; and

one or more processors that execute instructions that perform actions, including:

displaying the one or more reports.

14. The system of claim 13 , wherein capturing the video information from the video output buffer of the one or more video stations, further comprises:

capturing one or more of a rendering of the video in a display buffer, a frame of the video, or a snippet that includes more than one frame of the video.

15. The system of claim 13 , wherein capturing the video information from the video output buffer of the one or more video stations, further comprises:

determining one or more metrics associated with each video station that corresponds to the video output buffer, wherein the one or more metrics include one or more of a display resolution, a display type, an operating system identifier, an available amount of general purpose memory, an amount of available video memory, a type of available processor unit, or a type of available graphics processor unit.

16. The system of claim 13 , wherein providing the verification video, further comprises:

determining one or more characteristics that include one or more of a video resolution, a color range, an amount of video noise, or a lighting condition;

generating the verification video to simulate the one or more characteristics; and

providing the generated verification video.

17. The system of claim 13 , wherein classifying the video service based on the video information from each video station, further comprises:

determining one or more values for one or more metrics, wherein the one or more metrics include one or more of latency between the one or more video stations, video frame drops, output resolution, or color range;

negatively classifying the video service for each of the one or more values that are outside of a predetermined range of values; and

positively classifying the video service for each of the one or more values that are within the predetermined range of values.

18. The system of claim 13 , wherein capturing the video information from the video output buffer of the one or more video stations, further comprises:

storing one or more portions of the video information at the one or more video stations; and

in response to an expiry of a timer or a local storage amount threshold being exceeded, providing the one or more portions of the video information to a verification engine that is arranged to classify the one or more portions of the video information.

19. A network computer for managing video streaming applications, comprising:

a memory that stores at least instructions; and

one or more processors that execute instructions that perform actions, including:

generating a verification video based on one of a collection of pre-made videos that are specifically arranged to verify media stream quality for multiparty video conferences and one or more verification goals for a video provided by a video service, wherein the verification video includes one or more of a simulated type of video source, a simulated environment or a simulated condition of interest to an organization for providing a video conference between one or more video stations;

embedding a marker in the verification video, wherein the marker includes an identifier of for one or more frames of the verification video;

establishing the video conference using the one or more video stations, wherein the video conference is provided by a video service that is separate from the one or more video stations;

streaming the verification video to a video input of each video station;

streaming the video to a video output buffer of each video station, wherein the video provides a view of the video conference, and wherein the marker that corresponds to each video station is included in the video;

capturing video information from the video output buffer of the one or more video stations, wherein the video information is associated with the video and each video station, and wherein the video information includes the marker and one or more frames of the video;

classifying the video service based on the video information from each video station; and

generating one or more reports that include one or more results of the classification.

20. The network computer of claim 19 , wherein capturing the video information from the video output buffer of the one or more video stations, further comprises:

capturing one or more of a rendering of the video in a display buffer, a frame of the video, or a snippet that includes more than one frame of the video.

21. The network computer of claim 19 , wherein capturing the video information from the video output buffer of the one or more video stations, further comprises:

determining one or more metrics associated with each video station that corresponds to the video output buffer, wherein the one or more metrics include one or more of a display resolution, a display type, an operating system identifier, an available amount of general purpose memory, an amount of available video memory, a type of available processor unit, or a type of available graphics processor unit.

22. The network computer of claim 19 , wherein providing the verification video, further comprises:

determining one or more characteristics that include one or more of a video resolution, a color range, an amount of video noise, or a lighting condition;

generating the verification video to simulate the one or more characteristics; and

providing the generated verification video.

23. The network computer of claim 19 , wherein classifying the video service based on the video information from each video station, further comprises:

determining one or more values for one or more metrics, wherein the one or more metrics include one or more of latency between the one or more video stations, video frame drops, output resolution, or color range;

negatively classifying the video service for each of the one or more values that are outside of a predetermined range of values; and

positively classifying the video service for each of the one or more values that are within the predetermined range of values.

24. The network computer of claim 19 , wherein capturing the video information from the video output buffer of the one or more video stations, further comprises:

storing one or more portions of the video information at the one or more video stations; and

in response to an expiry of a timer or a local storage amount threshold being exceeded, providing the one or more portions of the video information to a verification engine that is arranged to classify the one or more portions of the video information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2022
From: WLODARCZYK, ROBERT ALBERT; FERRY, CHANDLER BOONE; STREAT, DEREK ALAN
To: DEXCARE, INC.
Reel/Frame 059241/0955 →
Cited By (2)
US 12,243,638 US 12,360,832