Patent ID: 7474701

Claim:
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 employing at least one of spatial complexity and temporal complexity of the video frame; utilizing the new average bit rate target for the video frame to set at least one frame level bit rate control parameter; encoding the video frame using the set frame level bit rate control parameter(s); and wherein the determining the new average bit rate target further utilizes at least one of: (i) statistics derived from at least one of spatial complexity and temporal complexity of at least one preceding frame of the sequence of video frames; and (ii) reference video complexity level statistics determined prior to encoding of the sequence of video frames; wherein the determining the new average bit rate target includes obtaining complexity statistics for at least one of spatial complexity and temporal complexity of the video frame and comparing the video frame's complexity statistics with at least one of the statistics (i) and the statistics (ii); and wherein determining the new average bit rate target further comprises calculating the new average bit rate target as: BA_TARGET=(BA_MAX−(BA_MOD_AVG/M))· f (SPAT_COMP, TEMP_COMP)+(BA_MOD_AVG/N) where: BA_TARGET=new average bit rate target; BA_MAX=nominal maximum bit rate (which may be a multiple of BA_MOD_AVG); BA_MOD_AVG=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; M, N=constants; and f(SPAT_COMP, TEMP_COMP)=a function representing a comparison between the video frame's complexity statistics and at least one of the statistics (i) and the statistics (ii).