Patent ID: 8355437

Claim:
A method of encoding a set of video frames, the method comprising an apparatus: receiving an indication associated with a first video frame of the set of video frames, the indication indicating that the first video frame is to be encoded in a non-temporally-predicted video frame format; choosing a second video frame of the set of video frames to be encoded in the non-temporally-predicted video frame format instead of the first video frame; encoding the chosen second video frame in the non-temporally-predicted video frame format instead of the first video frame; encoding a first sub-set of video frames in a temporally-backward-predicted video frame format using the chosen second video frame as a starting point for temporal prediction, wherein the first sub-set of video frames comprises N video frames of the set of video frames, and wherein the N video frames occur prior to the chosen second video frame in temporal order; and encoding a second sub-set of video frames in a temporally-forward-predicted video frame format using the chosen second video frame as a starting point for temporal prediction, wherein the second sub-set of video frames comprises M video frames of the set of video frames, wherein the M video frames occur after the chosen second video frame in temporal order, and wherein the selection of the chosen second video frame provides respective prediction path lengths for the first and second sub-sets of video frames that reduce the likelihood of error propagation when decoding the set of encoded video frames compared with the likelihood of error propagation that would have existed when decoding the set of encoded video frames if the first video frame had been used as the starting point for temporal prediction.