Patent ID: 8311102

Claim:
A method comprising: generating, by a computing device using a first encoding algorithm, multiple encoded bitstreams of a same piece of video content, each encoded bitstream of the encoded bitstreams being encoded at a different bit rate; creating, by the computing device using a second encoding algorithm that is different than the first encoding algorithm, multiple encoded side bitstreams of the same piece of video content, each encoded side bitstream being encoded at a different bit rate and including switching frames generated from frames of the same piece of video content and corresponding to frames of respective ones of the multiple encoded bitstreams, and the second encoding algorithm being a Wyner-Ziv encoding algorithm; streaming, by the computing device and at non-bitstream switching points, frames from an encoded bitstream generated with the first encoding algorithm to a client; switching, by the computing device and at a bitstream switching point, from the encoded bitstream to a different bitstream of the multiple encoded bitstreams by: streaming a switching frame from a side bitstream encoded with the second algorithm to the client, the switching frame corresponding to a frame in the different bitstream, and the switching frame including a partial amount of parity bits that is sufficient to correct errors in the multiple encoded side bitstreams using a request-bits feedback loop; and streaming at least a portion of a frame from the bitstream switching point from the different bitstream and subsequent frames from the different bitstream to the client; and wherein receipt by the client of frames from the encoded bitstream, the switching frame, and frames from the different bitstream causes the client to reconstruct respective frames of the same piece of video content for presentation to a user.