IP Library Patent Application 13905867
Patent Application
App. No. 13/905,867

DEVICE VIDEO STREAMING WITH TRICK PLAY BASED ON SEPARATE TRICK PLAY FILES

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
13/905,867
Abstract

Network services encode multimedia content, such as video, into multiple adaptive bitrate streams of encoded video and a separate trick play stream of encoded video to support trick play features. The trick play stream is encoded at a lower encoding bitrate and frame rate than each of the adaptive bitrate streams. The adaptive bitrate streams and the trick play stream are stored in the network services. During normal content streaming and playback, a client device downloads a selected one of the adaptive bitrate streams from network serviced for playback at the client device. To implement a trick play feature, the client device downloads the trick play stream from the network services for trick play playback.

Claims (110)

1 . A method of video playback with trick play, comprising:

downloading files of encoded video from a selected stream of encoded video;

playing back video from the downloaded selected stream files; and

receiving a trick play request, and in response thereto:

sending a trick play playlist request corresponding to the selected stream;

receiving a trick play playlist identifying files of encoded video from a trick play stream of encoded video corresponding to the selected stream;

downloading the trick play files based on the playlist; and

playing back video from the downloaded trick play files.

2 . The method of claim 1 , wherein:

the encoded video in the downloaded selected stream files comprises encoded video frames, including

non-key frames each encoded based on video from one or more previous video frames, and

key frames interspersed among the non-key frames, each of the key frames encoded independent of previous video frames; and

the encoded video in the downloaded trick play files comprises encoded video frames, including key frames without non-key frames.

3 . The method of claim 2 , wherein:

the playing back video from the downloaded selected stream files includes playing back video from the non-key frames and the key frames at a normal video frame rate; and

the playing back video from the downloaded trick play files includes playing back video from the key frames at a trick play video frame rate that is less than the normal frame rate.

4 . The method of claim 3 , wherein the playing back video at the trick play video frame rate includes, selectively:

playing back all of the video from each trick play file to achieve a normal trick play playback rate; and

playing back a subset of the video in each trick play file to achieve an accelerated trick play playback rate.

5 . The method of claim 1 , wherein:

the downloaded selected stream files are associated with successive time codes;

the playing back video from the downloaded selected stream files includes playing back the video in a forward direction of increasing time codes;

the downloaded trick play files are associated with successive time codes; and

the playing back video from the downloaded trick play files includes playing back the video in a rewind direction of decreasing time codes.

6 . The method of claim 1 , further comprising, prior to downloading of the selected stream files:

sending a playlist request for selected stream files associated with time codes greater than a current time specified in the playlist request; and

receiving a playlist listing network addresses where the selected stream files associated with successive time codes greater than the current time are stored, wherein

the downloading includes downloading the selected stream files from the network addresses, and

the playing back video from the downloaded selected stream files includes playing back video from the downloaded selected stream files in an order of increasing time codes.

7 . The method of claim 1 , wherein:

the trick play playlist request is a request for trick play files associated with time codes less than a trick play time when the trick play request was received;

the trick play playlist lists network addresses of the trick play files associated with time codes less than the trick play time;

the downloading the trick play files include downloading the trick play files from their network addresses; and

the playing back video from the downloaded trick play files includes playing back video in an order of decreasing time codes.

8 . An apparatus for video playback with trick play, comprising:

a processor system configured to:

download files of encoded video from a selected stream of encoded video;

playback video from the downloaded selected stream files; and

receive a trick play request, and in response thereto:

send a trick play playlist request corresponding to the selected stream;

receive a trick play playlist identifying files of encoded video from a trick play stream of encoded video corresponding to the selected stream;

download the trick play files based on the playlist; and

playback video from the downloaded trick play files.

9 . The apparatus of claim 8 , wherein:

the encoded video in the downloaded selected stream files comprises encoded video frames, including

non-key frames each encoded based on video from one or more previous video frames, and

key frames interspersed among the non-key frames, each of the key frames encoded independent of previous video frames; and

the encoded video in the downloaded trick play files comprises encoded video frames, including key frames without non-key frames.

10 . The apparatus of claim 9 , wherein:

the processor system configured to playback video from the downloaded selected stream files is further configured to playback video from the non-key frames and the key frames at a normal video frame rate; and

the processor system configured to playback video from the downloaded trick play files is further configured to playback video from the key frames at a trick play video frame rate that is less than the normal frame rate.

11 . The apparatus of claim 10 , wherein the processor system configured to playback video at the trick play video frame rate is further configured to, selectively:

playback all of the video from each trick play file to achieve a normal trick play playback rate; and

playback a subset of the video in each trick play file to achieve an accelerated trick play playback rate.

12 . The apparatus of claim 8 , wherein:

the downloaded selected stream files are associated with successive time codes;

the processor system configured to playback video from the downloaded selected stream files is further configured to playback the video in a forward direction of increasing time codes;

the downloaded trick play files are associated with successive time codes; and

the processor system configured to playback video from the downloaded trick play files is further configured to playback the video in a rewind direction of decreasing time codes.

13 . The apparatus of claim 8 , wherein the processor system is further configured to, prior to downloading of the selected stream files:

send a playlist request for selected stream files associated with time codes greater than a current time specified in the playlist request; and

receive a playlist listing network addresses where the selected stream files associated with successive time codes greater than the current time are stored, wherein

the processor system configured to download is further configured to download the selected stream files from the network addresses, and

the processor system configured to playback video from the downloaded selected stream files is further configured to playback video from the downloaded selected stream files in an order of increasing time codes.

14 . The apparatus of claim 8 , wherein:

the trick play playlist request is a request for trick play files associated with time codes less than a trick play time when the trick play request was received;

the trick play playlist lists network addresses of the trick play files associated with time codes less than the trick play time;

the processor system configured to download the trick play files is further configured to download the trick play files from their network addresses; and

the processor system configured to playback video from the downloaded trick play files is further configured to playback video in an order of decreasing time codes.

15 . The apparatus of claim 8 , further comprising:

a communication system to communicate with a communication network;

a user interface system; and

a housing to house the processor system, the communication system, and the user the interface system.

16 . The apparatus of claim 15 , wherein:

the communication system includes a wireless communication system; and

the housing includes a mobile hand-held housing to house the processor system, the communication system, the user interface system, and a battery.

17 . A non-transitory computer readable medium encoded with a computer program including instructions to cause a processor to:

download files of encoded video from a selected stream of encoded video;

playback video from the downloaded selected stream files; and

receive a trick play request, and in response thereto:

send a trick play playlist request corresponding to the selected stream;

receive a trick play playlist identifying files of encoded video from a trick play stream of encoded video corresponding to the selected stream;

download the trick play files based on the playlist; and

playback video from the downloaded trick play files.

18 . The computer readable medium of claim 17 , wherein:

the encoded video in the downloaded selected stream files comprises encoded video frames, including

non-key frames each encoded based on video from one or more previous video frames, and

key frames interspersed among the non-key frames, each of the key frames encoded independent of previous video frames; and

the encoded video in the downloaded trick play files comprises encoded video frames, including key frames without non-key frames.

19 . The computer readable medium of claim 18 , wherein:

the instruction to cause the processor to playback video from the downloaded selected stream files include instructions to cause the processor to playback video from the non-key frames and the key frames at a normal video frame rate; and

the instruction to cause the processor to playback video from the downloaded trick play files include instructions to cause the processor to playback video from the key frames at a trick play video frame rate that is less than the normal frame rate.

20 . The computer readable medium of claim 19 , wherein the instructions to cause the processor to playback video at the trick play video frame rate include instructions to cause the processor to, selectively:

playback all of the video from each trick play file to achieve a normal trick play playback rate; and

playback a subset of the video in each trick play file to achieve an accelerated trick play playback rate.

21 . The computer readable medium of claim 17 , wherein:

the downloaded selected stream files are associated with successive time codes;

the instructions to cause the processor to playback video from the downloaded selected stream files include instructions to cause the processor to playback the video in a forward direction of increasing time codes;

the downloaded trick play files are associated with successive time codes; and

the instructions to cause the processor to playback video from the downloaded trick play files include instructions to cause the processor to playback the video in a rewind direction of decreasing time codes.

22 . The computer readable medium of claim 17 , wherein the instructions include further instructions to cause the processor to, prior to downloading of the selected stream files:

send a playlist request for selected stream files associated with time codes greater than a current time specified in the playlist request; and

receive a playlist listing network addresses where the selected stream files associated with successive time codes greater than the current time are stored, wherein

the instruction to cause the processor download include instructions to cause the processor to download the selected stream files from the network addresses, and

the instructions to cause the processor to playback video from the downloaded selected stream files include instructions to cause the processor to playback video from the downloaded selected stream files in an order of increasing time codes.

23 . The computer readable medium of claim 17 , wherein:

the trick play playlist request is a request for trick play files associated with time codes less than a trick play time when the trick play request was received;

the trick play playlist lists network addresses of the trick play files associated with time codes less than the trick play time;

the instructions to cause the processor to download the trick play files include instructions to cause the processor to download the trick play files from their network addresses; and

the instructions to cause the processor to playback video from the downloaded trick play files include instructions to cause the processor to play back video in an order of decreasing time codes.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Apr 9, 2014
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DIVX, LLC
Reel/Frame 032645/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2014
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 032575/0144 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2014
From: SHIVADAS, ABHISHEK; BRAMWELL, STEPHEN R.
To: DIVX, LLC
Reel/Frame 032340/0500 →