Patent ID: 8358693

Claim:
A computer-implemented method for encoding multiple frames of video data, the method comprising: for each of at least a subset of inter-coded frames of the multiple frames: adapting complexity of operations to encode an inter-coded frame of the subset of inter-coded frames to a computational budget scheduled to ensure that the inter-coded frame is encoded before a certain delay targeted to process the inter-coded frame between upper and lower computational bounds of a processor, the upper and lower computational bounds being calculated by the processor based on fullness of computation buffer when the inter-coded frame arrives at an encoding buffer, the computational budget being determined based on actual computational resources used to encode a previous inter-coded frame; encoding the inter-coded frame using the computational budget to generate a frame of encoded video data for subsequent transmission and presentation to a user; identifying a plurality of motion estimation (ME) operations to encode the inter-coded frame; segmenting the plurality of ME operations into at least two ME paths by separating fast ME operations of the plurality of ME operations from other ME operations of the plurality of ME operations; and selecting from the at least two ME paths a particular ME path comprising at least a subset of the plurality of ME operations to encode the inter-coded frame, the at least a subset being selected such that a computational cost of implementing the at least a subset is not greater than the computational budget.