Application enhancement tracks
First Claim
1. A method of encoding and playing back a media file, comprising:
- extracting a video track from an original media file, where content is encoded in the video track;
using the encoded content to encode a tricky-play track configured to enable the visual-search of the video track, where encoding the tricky-play track includes encoding at least one key frame that corresponds to a frame in the encoded content that is not a key frame and where the distance between key frames in the encoded content is not uniform;
requesting portions of the encoded content from a media server using HTTP using a playback device;
playing back a portion of the compressed video track using the playback device;
receiving a trick-play request using the playback device;
determining, in response to the received trick-play request, a position in the trick-play track corresponding to the position of the compressed video track being played using a first index using the playback device;
playing back a portion of the trick-play track starting from the determined position in the trick-play track using the playback device;
receiving a normal-play request using the playback device;
determining, in response to the received normal-play request, a position in the compressed video track corresponding to the position of the trick-play track being played using a second index using the playback device;
locating a key frame with the closest timestamp preceding the determined position in the compressed video track;
recursively decoding the located key frame and decoding the difference frames between the located key frame and the difference frame at the determined position in the compressed video track; and
playing back a portion of the compressed video track starting from the difference frame at the determined position in the compressed video track.
10 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods of providing enhanced digital media playback through application enhancement tracks are described. Application enhancement tracks are derived from the main content that they are associated with and are encoded to aid the performance of one or more functions related to the content, such as visual-search using a video application enhancement track, or trick-play track. In several embodiments, a method of decoding a media file for play back includes obtaining a media file containing compressed content and an accompanying application enhancement track which is a subset of the compressed content, playing back the compressed content, and decoding frames of the application enhancement track at a rate proportional to a visual-search speed and from a location determined by the portion of the compressed content most recently played back.
-
Citations
17 Claims
-
1. A method of encoding and playing back a media file, comprising:
-
extracting a video track from an original media file, where content is encoded in the video track; using the encoded content to encode a tricky-play track configured to enable the visual-search of the video track, where encoding the tricky-play track includes encoding at least one key frame that corresponds to a frame in the encoded content that is not a key frame and where the distance between key frames in the encoded content is not uniform; requesting portions of the encoded content from a media server using HTTP using a playback device; playing back a portion of the compressed video track using the playback device; receiving a trick-play request using the playback device; determining, in response to the received trick-play request, a position in the trick-play track corresponding to the position of the compressed video track being played using a first index using the playback device; playing back a portion of the trick-play track starting from the determined position in the trick-play track using the playback device; receiving a normal-play request using the playback device; determining, in response to the received normal-play request, a position in the compressed video track corresponding to the position of the trick-play track being played using a second index using the playback device; locating a key frame with the closest timestamp preceding the determined position in the compressed video track; recursively decoding the located key frame and decoding the difference frames between the located key frame and the difference frame at the determined position in the compressed video track; and playing back a portion of the compressed video track starting from the difference frame at the determined position in the compressed video track. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of decoding a media file for playing back, comprising:
-
requesting portions of a media file from a media server using HTTP using a playback device, where the media file contains compressed video content and is associated with an accompanying trick-play track which contains at least one key frame that corresponds to a frame in the compressed video content that is not a key frame and where the distance between key frames in the compressed video content is not uniform; playing back a potion of the compressed video content; receiving a trick-play request using the payback device determining, in response to the received trick-play request, a position in the trick-play track corresponding to the position of the compressed video content being played back using a first index using the playback device; decoding frames of the trick-play track at a rate proportional to a visual-search speed and from a the determined position in the trick-play track using the playback device; receiving a normal-play request using the playback device; determining, in response to the received normal-play request, a position in the compressed video content corresponding to the position of the trick-play track being played using a second index using the playback device; locating a key frame with the closest timestamp preceding the determined position in the compressed video content; recursively decoding the located key frame and decoding the difference frames between the located key frame and the difference frame at the determined position in the compressed video content; and playing back a portion of the compressed video content starting from the difference frame at the determined position in the compressed video content. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A system for playback of a media file, comprising:
a media server configured to generate at least one trick-play track from an original media file, the at least one trick-play track containing at least one key frame that corresponds to a frame encoded content contained in the original media file that is not a key frame, and where the distance between key frames in the encoded content is not uniform; and create a media file including encoding content from the original media file encoded in a compressed video track and an accompanying trick-play track and being substantially smaller in file size than the original media file; and a client processor in network communication with the media server and configured to; send requests for portions of the media file to the media server using HTTP, the media server configured to transmit the requested media file using HTTP; play back a portion of the compressed video track; receive a trick-play request; determine, in response to the received trick-play request, a position in the trick-play track corresponding to the position of the compressed video track being played using a first index; play back a portion of the trick-play track starting from the determined position in the trick-play track; receive a normal-play request using the playback device; determine, in response to the received normal-play request, a position in the compressed video track corresponding to the position of the trick-play track being played using a second index using the playback device; locate a key frame with the closest timestamp preceding the determined position in the compressed video track; recursively decode the located key frame and decoding the difference frames between the located key frame and the difference frame at the determined position in the compressed video track; and play back a portion of the compressed video track starting from the difference frame at the determined position in the compressed video track.
Specification