Motion based dynamic resolution multiple bit rate video encoding
First Claim
1. A method of processing input video for motion based dynamic resolution encoding of segmented compressed video streams for multi bit rate video streaming using a computing device, the computing device comprising a processing unit and memory, the method comprising:
- with the computing device;
encoding input video content in one or more segments, each segment comprising one or more groups of pictures, wherein the encoding comprises;
for a group of pictures of the one or more groups of pictures, obtaining at least three encoding samples for varying resolution and quantization step size;
establishing a model relating resolution, quantization step size and resulting encoded size for the group of pictures;
calculating an average median motion vector value for the groups of pictures;
deciding a video resolution and quantization step size based, at least in part, on the average median motion vector value, a motion threshold, and the model; and
encoding the group of pictures with the decided video resolution and quantization step size.
2 Assignments
0 Petitions
Accused Products
Abstract
A video encoding system encodes video streams for multiple bit rate video streaming using an approach that permits the encoded resolution to vary based, at least in part, on motion complexity. The video encoding system dynamically decides an encoding resolution for segments of the multiple bit rate video streams that varies with video complexity so as to achieve a better visual experience for multiple bit rate streaming. Motion complexity may be considered separately, or along with spatial complexity, in making the resolution decision.
241 Citations
20 Claims
-
1. A method of processing input video for motion based dynamic resolution encoding of segmented compressed video streams for multi bit rate video streaming using a computing device, the computing device comprising a processing unit and memory, the method comprising:
with the computing device; encoding input video content in one or more segments, each segment comprising one or more groups of pictures, wherein the encoding comprises; for a group of pictures of the one or more groups of pictures, obtaining at least three encoding samples for varying resolution and quantization step size; establishing a model relating resolution, quantization step size and resulting encoded size for the group of pictures; calculating an average median motion vector value for the groups of pictures; deciding a video resolution and quantization step size based, at least in part, on the average median motion vector value, a motion threshold, and the model; and encoding the group of pictures with the decided video resolution and quantization step size. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A method of processing input video for motion based dynamic resolution encoding of segmented compressed video streams for multi bit rate video streaming using a computing device, the computing device comprising a processing unit and memory, the method comprising:
with the computing device; encoding input video content in segments, each segment comprising one or more groups of pictures, as a plurality of compressed video streams ranging in video quality from a top video stream to a bottom video stream, wherein the encoding comprises; for a group of pictures of a video stream to be encoded, obtaining at least three encoding samples for varying resolution and quantization step size; establishing a model relating resolution, quantization step size and resulting encoded size for the group of pictures; performing a texture complexity measurement on the group of pictures; performing a motion complexity measurement on the group of pictures; determining a quantization threshold for resizing resolution based, at least in part, on the texture complexity measurement; dynamically deciding a video resolution and quantization step size for encoding the group of pictures based, at least in part, on the model, the quantization threshold for resizing, the motion complexity measurement, and a motion resize threshold; and encoding the group of pictures with the dynamically decided video resolution and quantization step size. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
17. A video processing system for motion based dynamic resolution encoding of segmented compressed video streams for multi bit rate video streaming, the system comprising:
-
a memory for storing raw video content to be encoded; a computer processing means for encoding the raw video content using a variable bit rate and motion based dynamic resolution approach in segments comprising groups of pictures as a plurality of compressed video streams, wherein said encoding by the computer processing means comprises; for a group of pictures of the one or more groups of pictures, obtaining at least three encoding samples for varying resolution and quantization step size; establishing a model relating resolution, quantization step size and resulting encoded size for the group of pictures; calculating an average median motion vector value for the groups of pictures; deciding a video resolution and quantization step size based, at least in part, on the average median motion vector value, a motion threshold, and the model; and encoding the group of pictures with the decided video resolution and quantization step size. - View Dependent Claims (18, 19, 20)
-
Specification