Speed control for a hardware based H.264/AVC encoder

This paper proposes a novel processing time control algorithm for a hardware-based H.264/AVC encoder. In the proposed speed control, a macroblock processing time budget is allocated adaptively according to the processing time of the other blocks. Then, twelve complexity levels are defined to provide various combinations of processing time and compression efficiency. For a given time budget, the algorithm selects the proper complexity level that compresses most efficiently among the levels that meet the time budget. Experimental results show that real-time processing is achieved by the speed control with negligible quality degradation while between 31.2% and 50% macroblocks violates its time budget without speed control.