Single pass variable bit rate control strategy and encoder for processing a video frame of a sequence of video frames
Abstract
An encode control strategy is provided for variable bit rate encoding of a sequence of video frames in a single pass. The control strategy includes determining whether a video frame has a complexity level statistically outside a defined range from a complexity level of at least one preceding frame of the sequence of video frames, and if so, determining a new average bit rate target for the video frame. The new average bit rate for the video frame is determined employing at least one of spatial complexity and temporal complexity of the video frame. The new average bit rate target for the video frame is used to set frame level bit rate control parameter(s), and the video frame is encoded using the set frame level bit rate control parameter(s).
Claims
exact text as granted — not AI-modified1 . A method of processing a video frame of a sequence of video frames, said method comprising:
determining whether a video frame has a complexity level statistically within a defined range of a complexity level of at least one preceding frame of the sequence of video frames; determining a new average bit rate target for the video frame when the video frame complexity level is statistically outside the defined range of the complexity level of the at least one preceding frame, the determining of a new average bit rate target for the video frame comprising obtaining complexity statistics for at least one of spatial complexity or temporal complexity of the video frame and statistics derived from at least one of spatial complexity or temporal complexity of at least one preceding frame of the sequence of video frames, wherein determining the new average bit rate target for the video frame comprises determining the new average bit rate target utilizing a function representing a comparison between the video frame's complexity statistics and the at least one preceding frame's statistics; utilizing the new average bit rate target for the video frame to set at least one frame level bit rate control parameter; and encoding the video frame using the set frame level bit rate control parameter(s).
2 . The method of claim 1 , wherein the determining the new average bit rate target further includes employing a modified average bit rate, the modified average bit rate being less than a simple average bit rate for the sequence of video frames, the simple average bit rate being obtained by dividing a total target allocation for the sequence of video frames by the number of video frames in the sequence of video frames.
3 . The method of claim 2 , wherein the modified average bit rate is a fixed percentage of the simple average bit rate in the range of 50% to 99%.
4 . The method of claim 1 , wherein determining the new average bit rate target further comprises determining the new average bit rate target utilizing a nominal maximum bit rate for the video frame and a modified average bit rate attained by dividing a total target allocation for the sequence of video frames by the number of video frames in the sequence of video frames and then reducing that simple average bit rate by a fixed percentage.
5 . The method of claim 1 , wherein when the video frame has a complexity level statistically within the defined range of complexity level of the at least one preceding frame of the sequence of video frames, the method further comprises recalculating an existing average bit rate target for encoding the video frame if an absolute average bit rate difference, determined as the existing average bit rate target less an actual number of bits used for encoding at least one preceding video frame of a scene containing the video frame, is greater than a defined threshold, and wherein the method further includes utilizing the recalculated average bit rate target for the video frame to set the at least one frame level bit rate control parameter for the video frame.
6 . The method of claim 1 , wherein the determining whether the video frame has a complexity level statistically within the defined range of a complexity level of at least one preceding frame in the sequence of video frames comprises determining whether the video frame begins a new scene in the sequence of video frames.
7 . The method of claim 1 , wherein spatial complexity of the video frame is quantified by determining at least one of a value proportional to the standard deviation of luminance intensity of the video frame (PDIFF) and a value proportional to the standard deviation of chrominance intensity of the video frame (CDIFF), and wherein the temporal complexity of the video frame is quantified by determining a difference between PDIFF values of successive video frames in the sequence of video frames or a difference between CDIFF values of successive video frames in the sequence of video frames.
8 . The method of claim 1 , wherein the processing of the video frame comprises single pass processing of the video frame.
9 . A system for processing a video frame of a sequence of video frames, said system comprising:
means for determining whether a video frame has a complexity level statistically within a defined range of a complexity level of at least one preceding frame of the sequence of video frames; means for determining a new average bit rate target for the video frame when the video frame complexity level is statistically outside the defined range of the complexity level of the at least one preceding frame, the means for determining the new average bit rate target for the video frame comprising means for obtaining complexity statistics for at least one of spatial complexity or temporal complexity of the video and statistics derived from at least one of spatial complexity or temporal complexity of at least one preceding frame of the sequence of video frames, wherein the means for determining the new average bit rate target for the video frame comprises means for determining the new average bit rate target utilizing a function representing a comparison between the video frame's complexity statistics and the at least one preceding frame's statistics; means for utilizing the new average bit rate target for the video frame to set at least one frame level bit rate control parameter; and means for encoding the video frame using the set frame level bit rate control parameter(s).
10 . The system of claim 9 , wherein the means for determining the new average bit rate target further includes means for employing a modified average bit rate, the modified average bit rate being less than a simple average bit rate for the sequence of video frames, the simple average bit rate being obtained by dividing a total target allocation for the sequence of video frames by the number of video frames in the sequence of video frames.
11 . The system of claim 10 , wherein the modified average bit rate is a fixed percentage of the simple average bit rate in the range of 50% to 99%.
12 . The system of claim 9 , wherein determining the new average bit rate target further comprises means for determining the new average bit rate target utilizing a nominal maximum bit rate for the video frame and a modified average bit rate attained by dividing a total target allocation for the sequence of video frames by the number of video frames in the sequence of video frames and then reducing that simple average bit rate by a fixed percentage.
13 . The system of claim 9 , wherein when the video frame has a complexity level statistically within the defined range of complexity level of the at least one preceding frame of the sequence of video frames, the system further comprises means for recalculating an existing average bit rate target for encoding the video frame if an absolute average bit rate difference, determined as the existing average bit rate target less an actual number of bits used for encoding at least one preceding video frame of a scene containing the video frame, is greater than a defined threshold, and wherein the system further includes means for utilizing the recalculated average bit rate target for the video frame to set the at least one frame level bit rate control parameter for the video frame.
14 . The system of claim 9 , wherein the means for determining whether the video frame has a complexity level statistically within the defined range of a complexity level of at least one preceding frame in the sequence of video frames comprises means for determining whether the video frame begins a new scene in the sequence of video frames.
15 . The system of claim 9 , wherein spatial complexity of the video frame is quantified by determining at least one of a value proportional to the standard deviation of luminance intensity of the video frame (PDIFF) and a value proportional to the standard deviation of chrominance intensity of the video frame (CDIFF), and wherein the temporal complexity of the video frame is quantified by determining a difference between PDIFF values of successive video frames in the sequence of video frames or a difference between CDIFF values of successive video frames in the sequence of video frames.
16 . The system of claim 9 , wherein the system for processing comprises a single pass processing system.
17 . At least one program storage device readable by a processor tangibly embodying at least one program of instructions executable by the processor to perform when executing a method of processing a video frame of a sequence of video frames comprising:
determining whether a video frame has a complexity level statistically within a defined range of a complexity level of at least one preceding frame of the sequence of video frames; determining a new average bit rate target for the video frame when the video frame complexity level is statistically outside the defined range of the complexity level of the at least one preceding frame, the determining of a new average bit rate target for the video frame comprising obtaining complexity statistics for at least one of spatial complexity or temporal complexity of the video frame and statistics derived from at least one of spatial complexity or temporal complexity of at least one preceding frame of the sequence of video frames, wherein determining the new average bit rate target for the video frame comprises determining the new average bit rate target utilizing a function representing a comparison between the video frame's complexity statistics and the at least one preceding frame's statistics; utilizing the new average bit rate target for the video frame to set at least one frame level bit rate control parameter; and encoding the video frame using the set frame level bit rate control parameter(s).
18 . The at least one program storage device of claim 17 , wherein the determining the new average bit rate target further includes employing a modified average bit rate, the modified average bit rate being less than a simple average bit rate for the sequence of video frames, the simple average bit rate being obtained by dividing a total target allocation for the sequence of video frames by the number of video frames in the sequence of video frames.
19 . The at least one programs storage device of claim 18 , wherein the modified average bit rate is a fixed percentage of the simple average bit rate in the range of 50% to 99%.
20 . The at least one program storage device of claim 17 , wherein determining the new average bit rate target further comprises determining the new average bit rate target utilizing a nominal maximum bit rate for the video frame and a modified average bit rate attained by dividing a total target allocation for the sequence of video frames by the number of video frames in the sequence of video frames and then reducing that simple average bit rate by a fixed percentage.Join the waitlist — get patent alerts
Track US2009110081A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.