Patent ID: 8837601

Claim:
A computer-implemented method for encoding, in parallel, chunks of a source video file, the method comprising: generating complexity data for the source video file, wherein the complexity data reflects the complexity across the source video file and includes a complexity for each sampling point in a plurality of sampling points; dividing the source video file into a plurality of chunks, wherein each chunk represents a portion of the source video file; for each chunk in the plurality of chunks: allocating a respective portion of a total encoding bandwidth to the chunk based on a portion of the complexity data that indicates an overall complexity of the chunk relative to each other chunk in the plurality of chunks; determining a respective encoding rate for the chunk based on (i) the portion of the total encoding bandwidth allocated to the chunk and (ii) sampled data from one or more chunks in the plurality of chunks that are adjacent to the chunk; encoding the chunk at the determined encoding rate, wherein the chunk is encoded in parallel to at least one other chunk in the plurality of chunks; and assembling the encoded chunks to produce an encoded video.