Back to results
US 8,542,705 B2Granted
Key frame detection and synchronization
AssigneeMobiTV, Inc.
InventorsKay Johansson, Kent Karlsson
Life of this patent
Estimating the term…
Abstract
Mechanisms are provided for allowing a streaming server to efficiently provide frames associated with a media stream to a client device. A streaming server receives multiple media streams and determines which frames in the multiple media streams are key frames. When a connection request is received from a client device, a key frame is selected and provided to the client device. A client device receiving a key frame does not have to drop any predictive frames prior to playing a media stream.
Claims20
A method, comprising:
- receiving a first media stream including a first plurality of frames, the first media stream received at a streaming server and maintained in a first buffer, the streaming server configured to receive the first media stream from a media aggregation server, wherein a plurality of buffers at the streaming server are allocated on a per group of pictures (GOP) basis;
- receiving a second media stream including a second plurality of frames, the second media stream received at the streaming server and maintained in a second buffer;
- determining positions of a plurality of key frames in the first buffer and the second buffer, the plurality of key frames including a first key frame in the first buffer and a second key frame in the second buffer, wherein determining positions of the plurality of key frames includes determining at the streaming server a group of pictures (GOP) size N and identifying Nth frames following the first key frame as subsequent key frames;
- receiving a channel change request from a client device receiving the first media stream, the channel change request corresponding to a switch from the first media stream to the second media stream;
- identifying a next available key frame associated with the second media stream, wherein the next available key frame is provided as the second key frame in response to the channel change request, wherein no predictive frames are transmitted at the beginning of the channel change request.
2 more elements
A system, comprising:
- an interface configured to receive a first media stream including a first plurality of frames and a second media stream including a second plurality of frames, the first media stream received at a streaming server and maintained in a first buffer and the second media stream received at the streaming server and maintained in a second buffer, the streaming server configured to receive the first media stream from a media aggregation server, wherein a plurality of buffers at the streaming server are allocated on a per group of pictures (GOP) basis;
- a processor configured to determine positions of a plurality of key frames in the first buffer and the second buffer, the plurality of key frames including a first key frame in the first buffer and a second key frame in the second buffer, wherein determining positions of the plurality of key frames includes determining at the streaming server a group of pictures (GOP) size N and identifying Nth frames following the first key frame as subsequent key frames;
- wherein the processor is further configured to identify a next available key frame associated with the second media stream, wherein the next available key frame is provided as the second key frame in response to the channel change request, wherein no predictive frames are transmitted at the beginning of the channel change request.
A non-transitory computer readable medium, comprising:
- computer code for receiving a first media stream including a first plurality of frames, the first media stream received at a streaming server and maintained in a first buffer, the streaming server configured to receive the first media stream from a media aggregation server, wherein a plurality of buffers at the streaming server are allocated on a per group of pictures (GOP) basis;
- computer code for receiving a second media stream including a second plurality of frames, the second media stream received at the streaming server and maintained in a second buffer;
- computer code for determining positions of a plurality of key frames in the first buffer and the second buffer, the plurality of key frames including a first key frame in the first buffer and a second key frame in the second buffer, wherein determining positions of the plurality of key frames includes determining at the streaming server a group of pictures (GOP) size N and identifying Nth frames following the first key frame as subsequent key frames;
- computer code for receiving a channel change request from a client device receiving the first media stream, the channel change request corresponding to a switch from the first media stream to the second media stream;
- computer code for identifying a next available key frame associated with the second media stream, wherein the next available key frame is provided as the second key frame in response to the channel change request, wherein no predictive frames are transmitted at the beginning of the channel change request.
2 more elements
Dependencies are inferred from the claim text.