Bitstream Switching in Multiple Bit-Rate Video Streaming Environments
First Claim
1. A method at least partially implemented by a computer, the method comprising:
- generating, 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, 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 comprising switching frames generated from frames of the same piece of video content and corresponding to frames of respective ones of the encoded bitstreams;
streaming, at non-bitstream switching points, frames from an encoded bitstream generated with the first encoding algorithm to a client;
switching, at a bitstream switching point, from the encoded bitstream to a different bitstream of the 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 second bitstream; 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 second bitstream causes the client to reconstruct respective frames of the same piece of video content for presentation to a user.
2 Assignments
0 Petitions
Accused Products
Abstract
Bitstream switching for multiple bit rate video streaming uses a first algorithm to generate multiple encoded bitstreams of a piece of video at different bit rates. A different algorithm is used to generate multiple side bitstreams of the video. Each side stream is generated at respective ones of the different bit rates. The side bitstreams comprise switching frames to switch from a first bitstream encoded with the first algorithm at a first bit rate to a second bitstream encoded with the first algorithm at a different bit rate. At non-bitstream switching points, frames from respective ones of bitstreams generated with the first algorithm are streamed for presentation. At a bitstream switching point, a switching frame from a respective side bitstream is transmitted to a decoder to transition streaming from a first of the respective ones of the bitstreams to a second of the respective ones of the bitstreams.
-
Citations
20 Claims
-
1. A method at least partially implemented by a computer, the method comprising:
-
generating, 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, 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 comprising switching frames generated from frames of the same piece of video content and corresponding to frames of respective ones of the encoded bitstreams; streaming, at non-bitstream switching points, frames from an encoded bitstream generated with the first encoding algorithm to a client; switching, at a bitstream switching point, from the encoded bitstream to a different bitstream of the 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 second bitstream; 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 second bitstream causes the client to reconstruct respective frames of the same piece of video content for presentation to a user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable medium comprising computer-program instructions executable by a processor, the computer-program instructions implementing, when executed, operations for:
-
receiving a set of frames associated with a current bitstream; decoding the frames with a first decoding algorithm for presentation to a user; receiving, at a switching point n, a switching frame generated from a piece of video content encoded at a different bit rate than the current bitstream; responsive to receiving the switching frame; decoding the switching frame to generate a transition frame, the decoding being performed with a second decoding algorithm using at least a reconstructed frame as side information, the reconstructed frame corresponding to a frame from the current bitstream, the second decoding algorithm being different than the first decoding algorithm, the second decoding algorithm being different than the first decoding algorithm; and presenting the transition frame to the user; and receiving a set of frames from the different bitstream for decoding using the first decoding algorithm and subsequent presentation to the user. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A computing device comprising:
-
a processor; and a memory coupled to the processor, the memory comprising computer-program instructions executable by the processor for; encoding, using Wyner-Ziv encoding, video content to generate a bitstream of switching frames at a particular bit rate; encoding, using an encoding algorithm different from Wyner-Ziv, frames of the video content at the particular bit rate and at a different bit rate; streaming frames encoded at the different bit rate for decoding and presentation to a user; determining that network conditions are incompatible with streaming the frames but compatible with frames encoded at the particular bit rate; responsive to the determining; transmitting, at a switching point, a switching frame from the bitstream of switching frames for reconstructing a first frame from frames encoded at the particular bit rate with a non-Wyner-Ziv encoding, the first frame for presentation to the user; and streaming respective ones of the frames encoded at the particular bit rate with a non-Wyner-Ziv encoding for presentation to the user, the frames being at least subsequent in a video presentation timeline to the switching point. - View Dependent Claims (20)
-
Specification