# US 10,873,787 B2 · Intermediate key frame selection and animation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,873,787 B2
- Document ID: US10873787B2
- Status: Granted
- Kind: B2
- Application number: 16/550,428
- Filed: 2019-08-26
- Published: 2019-12-12
- Granted: 2020-12-22
- Earliest claimed: 2015-02-04
- Assignees: MobiTV, Inc.
- Applicants: MobiTV, Inc.
- Inventors: David Casey; Bob Carlson
- Web page: https://patentgrep.com/patent/US10873787B2

## CPC

- H04N 21/6587: Control parameters, e.g. trick play commands, viewpoint selection
- H04N 21/234: Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N 21/23406: {involving management of server-side video buffer}
- H04N 21/2393: {involving handling client requests (scheduling or organising the servicing of application requests H04L67/60)}
- H04N 21/41407: {embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop (constructional details of equipment or arrangements specially adapted for portable computer application G06F1/1626; arrangements specially adapted for mobile receivers in broadcast systems H04H20/57)}
- H04N 21/47202: {for requesting content on demand, e.g. video on demand}
- H04N 21/47217: {for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks (specific graphical features in visual interfaces H04N21/4312)}
- H04N 21/8146: {involving graphical data, e.g. 3D object, 2D graphics}
- H04N 21/8455: {involving pointers to the content, e.g. pointers to the I-frames of the video stream}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Mechanisms provide intermediate key frame animation during a media seek. A streaming server receives a seek request from a client device while the streaming server provides the client device with a media stream. The seek request is made when the media stream is playing at an initial location and the seek request includes a request to play the media stream from a seek location. In some embodiments, intermediate key frames before the seek location are identified. In other instances, intermediate key frames between the initial location and the seek location are identified. These intermediate key frames are provided to the client device for display before the media stream begins playing at the seek location.

## Claims

### Claim 1

A method comprising:
receiving a seek request from a client device, the seek request received at a streaming server providing a media stream to the client device, wherein the media stream is playing at an initial location at the time of the seek request, wherein the seek request includes a request to play the media stream from a seek location different from the initial location;
identifying intermediate key frames associated with the seek location;
sending thumbnails or low resolution versions of the identified intermediate key frames as bandwidth is available, wherein the thumbnail or low resolution versions of the identified intermediate key frames are provided as a series of images that can be viewed as a motion animation of the identified intermediate key frames for display before providing the media stream to the client device beginning at the seek location, wherein the identified intermediate key frames are shown as a series of images associated with a motion animation at the client device instead of displaying a spinner or other icon that indicates that the video is loading or buffering;
sending predictive frames and key frames to the client device for playback of the media stream starting at the seek location during playing of the animation; and
transitioning the animation into playback of the media stream at the seek location by cross-dissolving the animation directly into playback of the media stream, wherein the motion animation is timed to match full playback of the media stream from the new location to provide a seamless transition between the motion animation and the full playback of the media.

### Claim 2 (depends on 1)

The method of claim 1, wherein the intermediate key frames are I-frames.

### Claim 3 (depends on 1)

The method of claim 1, wherein the seek location is situated after the initial position in the media stream, wherein the intermediate key frames reside between the initial position and the seek position.

### Claim 4 (depends on 1)

The method of claim 1, wherein the seek location is situated before the initial position in the media stream, wherein the intermediate key frames reside between the initial position and the seek position.

### Claim 5 (depends on 1)

The method of claim 1, wherein the seek location is situated before the initial position in the media stream, wherein the intermediate key frames reside before the seek position.

### Claim 6 (depends on 1)

The method of claim 1, wherein the intermediate key frames are downloaded to the client device when excess bandwidth is available.

### Claim 7 (depends on 1)

The method of claim 1, wherein the client device is a mobile device.

### Claim 8 (depends on 7)

The method of claim 7, wherein the mobile device communicates with the streaming server over a wireless network.

### Claim 9 (depends on 1)

The method of claim 1, wherein the intermediate key frames are identified by using a decoding operation.

### Claim 10 (depends on 1)

The method of claim 1, wherein the intermediate key frames are identified based on frame size.

### Claim 11 (depends on 1)

The method of claim 1, wherein the intermediate key frames are displayed on the client device for a fixed amount of time.

### Claim 12 (depends on 1)

The method of claim 1, wherein the intermediate key frames are shown as a series of images associated with a motion animation upon the client device receiving user interface input.

### Claim 13

A system comprising:
an interface configured to receive a seek request from a client device, the seek request received at a streaming server providing a media stream to the client device, wherein the media stream is playing at an initial location at the time of the seek request, wherein the seek request includes a request to play the media stream from a seek location different from the initial location, wherein the interface is further configured to send sending thumbnails or low resolution versions of the identified intermediate key frames as bandwidth is available, wherein the thumbnail or low resolution versions of the identified intermediate key frames are provided as a series of images that can be viewed as a motion animation of the identified intermediate key frames for display before providing the media stream to the client device at the seek location, wherein the identified intermediate key frames are shown as a series of images associated with a motion animation at the client device instead of displaying a spinner or other icon that indicates that the video is loading or buffering;
a processor configured to send identify predictive frames and key frames to the client device for playback of the media stream starting at the seek location during playing of the motion animation and transition the into playback of the media stream at the seek location by cross-dissolving one or more intermediate key frames directly into playback of the media stream, wherein the motion animation is timed to match full playback of the media stream from the new location to provide a seamless transition between the motion animation and the full playback of the media.

### Claim 14 (depends on 13)

The system of claim 13, wherein the intermediate key frames are I-frames.

### Claim 15 (depends on 13)

The system of claim 13, wherein the seek location is situated after the initial position in the media stream, wherein the intermediate key frames reside between the initial position and the seek position.

### Claim 16 (depends on 13)

The system of claim 13, wherein the seek location is situated before the initial position in the media stream, wherein the intermediate key frames reside between the initial position and the seek position.

### Claim 17 (depends on 13)

The system of claim 13, wherein the seek location is situated before the initial position in the media stream, wherein the intermediate key frames reside before the seek position.

### Claim 18 (depends on 13)

The method of claim 13, wherein the intermediate key frames are downloaded to the client device when excess bandwidth is available.

### Claim 19 (depends on 13)

The method of claim 13, wherein the motion animation is viewable as user input is received at the client device.

### Claim 20

A non-transitory computer readable medium comprising:
computer code for receiving a seek request from a client device, the seek request received at a streaming server providing a media stream to the client device, wherein the media stream is playing at an initial location at the time of the seek request, wherein the seek request includes a request to play the media stream from a seek location different from the initial location;
computer code for identifying intermediate key frames associated with the seek location;
computer code for sending thumbnails or low resolution versions of the identified intermediate key frames as bandwidth is available, wherein the thumbnail or low resolution versions of the identified intermediate key frames are provided as a series of images that can be viewed as a motion animation of the identified intermediate key frames for display before providing the media stream to the client device beginning at the seek location, wherein the identified intermediate key frames are shown as a series of images associated with a motion animation at the client device instead of displaying a spinner or other icon that indicates that the video is loading or buffering;
computer code for sending predictive frames and key frames to the client device for playback of the media stream starting at the seek location during playing of the animation; and
computer code for transitioning the animation into playback of the media stream at the seek location by cross-dissolving the animation directly into playback of the media stream, wherein the motion animation is timed to match full playback of the media stream from the new location to provide a seamless transition between the motion animation and the full playback of the media.
