Systems and methods for application- and content-aware real-time video encoding
AssigneeFacebook, Inc.
InventorsJose M Gonzalez, Eric W Hwang
Life of this patent
Estimating the term…
Abstract
The disclosed computer-implemented method may include (i) receiving a video stream for encoding, (ii) determining that the video stream is associated with an application, (iii) analyzing the video stream to label one or more regions of a frame within the video stream with a semantic category, (iv) determining, based at least in part on the application with which the video stream is associated, a prioritization of the semantic category, and (v) allocating encoding resources to one or more portions of the frame that comprise at least a part of the one or more regions of the frame based at least in part on the prioritization of the semantic category. Various other methods, systems, and computer-readable media are also disclosed.
Claims18
A computer-implemented method comprising:
- receiving a video stream, associated with an application, for encoding;
- labeling one or more regions of a frame within the video stream with a semantic category;
- determining, based at least in part on a mapping between the application with which the video stream is associated and the semantic category, an application-based prioritization of the semantic category for the application;
- allocating encoding resources to one or more portions of the frame that comprise at least a part of the one or more regions of the frame based at least in part on the application-based prioritization of the semantic category for the application;
- receiving an additional video stream for encoding;
- determining that the additional video stream is associated with an additional application;
- analyzing the additional video stream to label one or more additional regions of an additional frame within the additional video stream with the semantic category;
- and
- determining, based at least in part on a mapping between the additional application with which the additional video stream is associated and the semantic category, an additional application-based prioritization of the semantic category for the application, the additional application-based prioritization of the semantic category differing from the application-based prioritization of the semantic category based at least in part on the mapping between the additional application and the semantic category differing from the mapping between the application and the semantic category.
A system comprising:
- at least one physical processor;
- physical memory comprising computer-executable instructions that, when executed by the physical processor, cause the physical processor to:
- receive a video stream, associated with an application, for encoding;
- label one or more regions of a frame within the video stream with a semantic category;
- determine, based at least in part on a mapping between the application with which the video stream is associated and the semantic category, an application-based prioritization of the semantic category for the application;
- allocate encoding resources to one or more portions of the frame that comprise at least a part of the one or more regions of the frame based at least in part on the application-based prioritization of the semantic category for the application;
- receive an additional video stream for encoding;
- determine that the additional video stream is associated with an additional application;
- analyze the additional video stream to label one or more additional regions of an additional frame within the additional video stream with the semantic category;
- and
- determine, based at least in part on a mapping between the additional application with which the additional video stream is associated and the semantic category, an additional application-based prioritization of the semantic category for the application, the additional application-based prioritization of the semantic category differing from the application-based prioritization of the semantic category based at least in part on the mapping between the additional application and the semantic category differing from the mapping between the application and the semantic category.
A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:
- receive a video stream, associated with an application, for encoding;
- label one or more regions of a frame within the video stream with a semantic category;
- determine, based at least in part on a mapping between the application with which the video stream is associated and the semantic category, an application-based prioritization of the semantic category for the application;
- allocate encoding resources to one or more portions of the frame that comprise at least a part of the one or more regions of the frame based at least in part on the application-based prioritization of the semantic category for the application;
- receive an additional video stream for encoding;
- determine that the additional video stream is associated with an additional application;
- analyze the additional video stream to label one or more additional regions of an additional frame within the additional video stream with the semantic category;
- and
- determine, based at least in part on a mapping between the additional application with which the additional video stream is associated and the semantic category, an additional application-based prioritization of the semantic category for the application, the additional application-based prioritization of the semantic category differing from the application-based prioritization of the semantic category based at least in part on the mapping between the additional application and the semantic category differing from the mapping between the application and the semantic category.
Dependencies are inferred from the claim text.