US 9,813,740 B2
Method and apparatus for streaming multimedia data with access point positioning information
Krishna Prasad Panje, Bangalore (IN); Christopher S. Del Sordo, Souderton, PA (US); and Sundar Murthy Tumuluru, Bangalore (IN)
Assigned to GOOGLE INC., Mountain View, CA (US)
Filed by Krishna Prasad Panje, Bangalore (IN); Christopher S. Del Sordo, Souderton, PA (US); and Sundar Murthy Tumuluru, Bangalore (IN)
Filed on Aug. 24, 2012, as Appl. No. 13/593,680.
Prior Publication US 2014/0059244 A1, Feb. 27, 2014
Int. Cl. G06F 15/16 (2006.01); H04N 21/2343 (2011.01); H04N 21/262 (2011.01); H04N 21/442 (2011.01); H04N 21/845 (2011.01)
CPC H04N 21/234363 (2013.01) [H04N 21/23439 (2013.01); H04N 21/26258 (2013.01); H04N 21/44209 (2013.01); H04N 21/8456 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A method comprising:
downloading, by a client device, a playlist file for a multimedia presentation over a network from a streaming server using a transfer protocol, the playlist file including an ordered list of Universal Resource Indicators (URIs) for a plurality of media files, each of the plurality of media files including compressed video data corresponding to a segment of the multimedia presentation and containing reference frames;
downloading, by the client device, a data file that is associated with the playlist file, the data file including, for each of a plurality of reference frames included in a media file from the plurality of media files, reference frame information indicating a location of the reference frame in the media file;
displaying, by the client device, the multimedia presentation based on video data received from the streaming server and included in the media file;
responsive to a user requesting to perform a trick play related to the displaying of the multimedia presentation, transmitting, by the client device to the streaming server, a request for the plurality of reference frames, the request including the reference frame information for each of the plurality of reference frames included in the data file;
responsive to transmitting the request, receiving, by the client device from the streaming server, the plurality of reference frames identified by the streaming server in the media file based on the reference frame information;
performing the trick play using one or more reference frames from the plurality of reference frames, wherein downloading the playlist file includes downloading a plurality of playlist files providing a plurality of variant streams for the multimedia presentation with each of the plurality of variant streams providing an encoding of the multimedia presentation at a different bit rate, and a separate data file is downloaded for each of the of the plurality of variant streams;
determining available bandwidth of the network;
selecting, based on the available bandwidth from the plurality of variant streams, a first variant stream for use in playing the multimedia presentation;
downloading media files associated with the first variant stream;
reassembling segments included in the downloaded media files to play the multimedia presentation as a continuous stream;
selecting, from the plurality of variant streams, a second variant stream for playing the multimedia presentation; and
switching between the first variant stream and the second variant stream by aligning corresponding reference frames of the first and second variant streams based on time stamps of the reference frames included in the data file for each of the first and second variant streams.