EP2661875B1

Systems and methods for performing smooth visual search of media encoded for adaptive bitrate streaming using trick play streams

Abstract

This record has no abstract on file.

EP2661875B1, drawing sheet 1
Sheet 1 of 14

Term

5.2 yearsleft in the term

Expires 23 December 2031.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

14 claims: 2 independent, 12 dependent

  1. 1
    A method of performing visual search of encoded media for adaptive bitrate streaming using a trick play stream (32) sent over a network (16), where the media is encoded as a plurality of alternative streams (32) that are each stored in a separate container file and are used during normal playback and a trick play stream (32) stored in a separate container file and used during visual search, the method comprising:- requesting from a remote server (14) over the network (16) at least a portion of a top level index file, wherein: the top level index file identifies a plurality of alternative streams (32) that are each stored in a separate container file and are used during normal playback and a trick play stream (32) stored in a separate container file and used during visual search;each of the container files (32) that contain one of the plurality of alternative streams comprise a plurality of elements (46) and an index, where each element (46) contains a portion of encoded video (48);the container file (32) that contains the trick play stream contains an index and frames of encoded video, where each of the frames of encoded video is an intra frame, entries in the index of the container file containing the trick play stream (32) comprise locations of individual frames in the container file, the portion of encoded video (48) in each of the elements (46) for the plurality of alternative streams (32) commences with an intra frame;the trick play stream (32) has a lower bitrate and a lower resolution compared to the plurality of alternative streams when the frames of the trick play stream are requested from a remote server (14) over a network (16);the intra frames of the trick play stream (32) have associated time codes in the container file that contains the trick play stream corresponding to time codes of elements (46) of the alternative streams (32);- requesting from a remote server (14) over the network (16) using the at least a portion of the top level index file portions of one or more of the container files that contain the plurality of alternative streams, where the portions include information concerning the encoded media contained within the container from which the portion is requested and an index to the encoded media within the container file;- requesting from a remote server (14) over the network (16) and buffering portions of video (46) from at least one of the alternative streams (32) using a playback device (18);- decoding the buffered portions of video (46) using a decoder on the playback device;- receiving at least one user instruction directing the playback device (18) to perform a visual search of the media, wherein the received at least one user instruction indicates a desired rate for the visual search;- requesting from a remote server (14) over the network (16) and buffering index information from the container file (32) containing the trick play stream using the playback device (18);- manipulating time codes assigned to buffered frames prior to providing the frames to a decoder on the playback device, wherein the time codes are manipulated in order to achieve an accelerated rate of trick play visual search based on the desired rate for the visual search, wherein the accelerated rate is a rate greater than a normal playback rate utilizing the trick play stream (32);- providing the buffered frames to the decoder on the playback device;- decoding the buffered portions of the trick play stream using the decoder on the playback device (18);and - playing back the frames at a higher speed than the nominal frame rate of the trick play stream such that a smooth visual search is provided.
  2. 14
    A playback device (18) configured to perform visual search of encoded media for adaptive bitrate streaming using a trick play stream (32) sent over a network (16), where the media is encoded as a plurality of alternative streams (32) that are each stored in a separate container file and are used during normal playback and a trick play stream (32) stored in a separate container file and used during visual search, the playback device comprising a processor configured to communicate with memory, where the processor is configured by a playback client application stored in the memory; wherein the playback client application configures the processor to:- request from a remote server (14) over the network (16) at least a portion of a top level index file, wherein: the top level index file identifies a plurality of alternative streams (32) that are each stored in a separate container file and are used during normal playback and a trick play stream (32) stored in a separate container file and used during visual search;each of the container files (32) that contain one of the plurality of alternative streams comprise a plurality of elements (46) and an index, where each element (46) contains a portion of encoded video (48);the container file (32) that contains the trick play stream contains an index and frames of encoded video, where each of the frames of encoded video is an intra frame, entries in the index of the container file containing the trick play stream (32) comprise locations of individual frames in the container file, the portion of encoded video (48) in each of the elements (46) for the plurality of alternative streams (32) commences with an intra frame;the trick play stream (32) has a lower bitrate and a lower resolution compared to the plurality of alternative streams when the frames of the trick play stream are requested from a remote server (14) over a network (16);the intra frames of the trick play stream (32) have associated time codes in the container file that contains the trick play stream corresponding to time codes of elements (46) of the alternative streams (32);- request from a remote server (14) over the network (16) using the at least a portion of the top level index file portions of one or more of the container files that contain the plurality of alternative streams, where the portions include information concerning the encoded media contained within the container from which the portion is requested and an index to the encoded media within the container file;- request from a remote server (14) over the network (16) and buffering portions of video (46) from at least one of the alternative streams (32);- decode the buffered portions of video (46) using a decoder on the playback device;- receive at least one user instruction directing the playback device (18) to perform a visual search of the media, wherein the received at least one user instruction indicates a desired rate for the visual search;- request from a remote server (14) over the network (16) and buffering index information from the container file (32) containing the trick play stream;- manipulate time codes assigned to buffered frames prior to providing the frames to a decoder on the playback device, wherein the time codes are manipulated in order to achieve an accelerated rate of trick play visual search based on the desired rate for the visual search, wherein the accelerated rate is a rate greater than a normal playback rate utilizing the trick play stream (32);- provide the buffered frames to the decoder on the playback device;- decode the buffered portions of the trick play stream using the decoder on the playback device (18);and - play back the frames at a higher speed than the nominal frame rate of the trick play stream such that a smooth visual search is provided.