Dynamic resolution switching in live streams based on video quality assessment
AssigneeiStreamPlanet Co., LLC
InventorSteven Roeder
Life of this patent
Estimating the term…
Abstract
A method for reducing artifacts in streaming video implemented by a computing device involves determining whether a video quality assessment score for a current segment of a channel of a video stream with a first resolution and a first bit rate meets a quality threshold, replacing the current segment with a replacement segment with a lower resolution than the first resolution, in response to the current segment failing to meet the quality threshold, and publishing the replacement segment at the first bit rate as part of the video stream.
Claims20
A method for reducing one or more artifacts in a streaming video implemented by a computing device, the method comprising:
- receiving, by one or more processors, a video stream from a video source, wherein the video stream is characterized by a first resolution;
- determining, by the one or more processors, a set of features corresponding to one or more video frames of the video stream, wherein the set of features include at least one of:
- a quantization parameter, a motion vector, a scene cut, a derived parameter, and a preceding video quality score;
- generating, by the one or more processors, a video quality score for the one or more video frames based on the set of features;
- determining, by the one or more processors, whether dynamic resolution switching of the one or more video frames of the video stream is supported;
- in response to determining that the dynamic resolution switching of the one or more video frames of the video stream is supported,
- evaluating, by the one or more processors, whether the video quality score for the one or more video frames meets a quality threshold;
- and
- in response to the one or more video frames failing to meet the quality threshold:
- forming, by the one or more processors, a replacement set of video frames characterized by a second resolution that is less than the first resolution;
- replacing, by the one or more processors, the one or more video frames with the replacement set of video frames in the video stream;
- and
- upscaling, by the one or more processors, the replacement set of video frames to the first resolution.
A computer system for reducing one or more artifacts in a streaming video implemented by a computing device, the computer system comprising:
- a processor;
- and
- a non-transitory computer readable medium having program instructions stored thereon, which, when executed by the processor, cause the computer system to perform operations comprising:
- receiving a video stream from a video source, wherein the video stream is characterized by a first resolution;
- determining a set of features corresponding to one or more video frames of the video stream, wherein the set of features include at least one of:
- a quantization parameter, a motion vector, a scene cut, a derived parameter, and a preceding video quality score;
- generating a video quality score for the one or more video frames based on the set of features;
- determining whether dynamic resolution switching of the one or more video frames of the video stream is supported;
- in response to determining that the dynamic resolution switching of the one or more video frames of the video stream is supported, evaluating whether the video quality score for the one or more video frames meets a quality threshold;
- and
- in response to the one or more video frames failing to meet the quality threshold:
- forming a replacement set of video frames characterized by a second resolution that is less than the first resolution;
- replacing the one or more video frames with the replacement set of video frames in the video stream;
- and
- upscaling the replacement set of video frames to the first resolution.
A non-transitory computer-readable medium comprising one or more sequences of instructions, which, when executed by one or more processors, causes a computing system to perform operations comprising:
- receiving, by a computing system, a video stream from a video source, wherein the video stream is characterized by a first resolution;
- determining, by the computing system, a set of features corresponding to one or more video frames of the video stream, wherein the set of features include at least one of:
- a quantization parameter, a motion vector, a scene cut, a derived parameter, and a preceding video quality score;
- generating, by the computing system, a video quality score for the one or more video frames based on the set of features;
- determining, by the computing system, whether dynamic resolution switching of one or more frames of the video stream is supported;
- in response to determining that the dynamic resolution switching of the one or more video frames of the video stream is supported, evaluating, by the computing system, whether the video quality score for the one or more video frames meets a quality threshold;
- and
- in response to the one or more video frames failing to meet the quality threshold:
- forming, by the computing system, a replacement set of video frames characterized by a second resolution that is less than the first resolution;
- replacing, by the computing system, the one or more video frames with the replacement set of video frames in the video stream;
- and
- upscaling, by the computing system the replacement set of video frames to the first resolution.
Dependencies are inferred from the claim text.