# US 9,521,437 B2 · Insertion of recorded secondary digital video content during playback of primary digital video content

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

- Number: US 9,521,437 B2
- Document ID: US9521437B2
- Status: Granted
- Kind: B2
- Application number: 12/486,214
- Filed: 2009-06-17
- Published: 2010-12-23
- Granted: 2016-12-13
- Earliest claimed: 2009-06-17
- Assignees: Google Technology Holdings LLC
- Applicants: Scott D. Sellers; Christopher S. del Sordo
- Inventors: Scott D. Sellers; Christopher S. del Sordo
- Web page: https://patentgrep.com/patent/US9521437B2

## CPC

- H04N 21/23424: {involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement}
- H04N 21/2387: Stream processing in response to a playback request from an end-user, e.g. for trick-play
- H04N 21/4147: PVR [Personal Video Recorder] (H04N5/76 takes precedence {; arrangements for broadcast with accumulation-type receivers H04H20/40})
- H04N 21/4331: {Caching operations, e.g. of an advertisement for later insertion during playback}
- H04N 21/44016: {involving splicing one content stream with another content stream, e.g. for substituting a video clip}
- H04N 21/458: Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules {; time-related management operations (arrangements for replacing or switching information during the broadcast or during the distribution H04H20/10)}
- 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/6336: directed to decoder
- H04N 21/812: {involving advertisement data (advertising per se G06Q30/02)}
- H04N 21/8455: {involving pointers to the content, e.g. pointers to the I-frames of the video stream}
- H04N 21/8547: involving timestamps for synchronizing content
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method of operating a digital video service set top box system is provided. The set top box system accommodates playback of locally stored recorded secondary digital video content. The method begins by initiating playback of a primary digital video program. Insertion points associated with the primary digital video program are detected; these insertion points indicate frame-accurate transition points in the primary digital video program. During playback of the primary digital video program, the recorded secondary digital video program is inserted at any appropriate insertion point in a frame-accurate manner. The termination of the secondary digital video program is likewise marked and triggers a return to the primary digital video program, at the original insertion point or any other desired insertion point which may exist in the primary digital video program.

## Claims

### Claim 1

A method of operating a digital video service set top box system having digital video recorder functionality, the method comprising:
receiving an insertion content file that includes secondary video content;
creating insertion content change records (CCRs) associated with the insertion content file based on detected splice marks in the insertion content file, the insertion CCRs each comprising at least one indicator value selected from a group consisting of a file offset value and a presentation time stamp (PTS) value, wherein a first indicator value of a first CCR enables frame-accurate location of an initial video frame of the secondary video content and a second indicator value of a second CCR enables frame-accurate location of a last video frame of the secondary video content;
storing the insertion CCRs associated with the insertion content file;
initiating playback of a primary content file that includes at least a first video segment and a second video segment;
during playback of the primary content file, determining a transition between the first video segment and the second video segment;
in response to the determining step, using the first indicator value of the first CCR to locate the initial video frame of the secondary video content, and transitioning from an ending video frame of the first video segment to the initial video frame of the secondary video content indicated in the first CCR; and
initiating playback of the insertion content file, starting with the initial video frame of the secondary video content,
wherein the secondary video content replaces the second video segment of the primary content file, and wherein the duration of the secondary video content is different than the duration of the second video segment of the primary content file.

### Claim 2 (depends on 1)

The method of claim 1, wherein the secondary video content is inserted between the first video segment and the second video segment.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
during playback of the insertion content file, monitoring file offset values of the insertion content file;
detecting when a current file offset value of the insertion content file satisfies predetermined trigger criteria corresponding to the second indicator value; and
in response to the detecting step, transitioning from the last video frame of the secondary video content to a starting video frame of another video segment of the primary content file.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
during playback of the insertion content file, monitoring presentation time stamp values of the insertion content file;
detecting when the current presentation time stamp value of the insertion content file satisfies predetermined trigger criteria corresponding to the second indicator value; and
in response to the detecting step, transitioning from the last video frame of the secondary video content to a starting video frame of another video segment of the primary content file.

### Claim 5 (depends on 3)

The method of claim 3, further comprising:
receiving the primary content file;
creating a primary CCR associated with the primary content file, the primary CCR comprising a primary indicator value selected from a group consisting of a file offset value and a presentation time stamp (PTS) value, wherein the primary indicator value enables frame-accurate location of the transition between the first video segment of the primary content file and the second video segment of the primary content file; and
storing the primary CCR associated with the primary content file,
wherein transitioning from the last video frame of the secondary video content to the starting video frame of another video segment of the primary content file comprises using the primary indicator value to locate an initial video frame of the second video segment of the primary content file.

### Claim 6

A system comprising:
one or more computers; and
one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations for operating a digital video service set top box system having digital video recorder functionality, the operations comprising:
receiving an insertion content file that includes secondary video content;
creating insertion content change records (CCRs) associated with the insertion content file based on detected splice marks in the insertion content file, the insertion CCRs each comprising at least one indicator value selected from a group consisting of a file offset value and a presentation time stamp (PTS) value, wherein a first indicator value of a first CCR enables frame-accurate location of an initial video frame of the secondary video content and a second indicator value of a second CCR enables frame-accurate location of a last video frame of the secondary video content;
storing the insertion CCRs associated with the insertion content file;
initiating playback of a primary content file that includes at least a first video segment and a second video segment;
during playback of the primary content file, determining a transition between the first video segment and the second video segment;
in response to the determining step, using the first indicator value of the first CCR to locate the initial video frame of the secondary video content, and transitioning from an ending video frame of the first video segment to the initial video frame of the secondary video content indicated in the first CCR; and
initiating playback of the insertion content file, starting with the initial video frame of the secondary video content,
wherein the secondary video content replaces the second video segment of the primary content file, and wherein the duration of the secondary video content is different than the duration of the second video segment of the primary content file.

### Claim 7 (depends on 6)

The system of claim 6, wherein the secondary video content is inserted between the first video segment and the second video segment.

### Claim 8 (depends on 6)

The system of claim 6, the operations further comprising:
during playback of the insertion content file, monitoring file offset values of the insertion content file;
detecting when a current file offset value of the insertion content file satisfies predetermined trigger criteria corresponding to the second indicator value; and
in response to the detecting step, transitioning from the last video frame of the secondary video content to a starting video frame of another video segment of the primary content file.

### Claim 9 (depends on 6)

The system of claim 6, the operations further comprising:
during playback of the insertion content file, monitoring presentation time stamp values of the insertion content file;
detecting when the current presentation time stamp value of the insertion content file satisfies predetermined trigger criteria corresponding to the second indicator value; and
in response to the detecting step, transitioning from the last video frame of the secondary video content to a starting video frame of another video segment of the primary content file.

### Claim 10 (depends on 8)

The system of claim 8, the operations further comprising:
receiving the primary content file;
creating a primary CCR associated with the primary content file, the primary CCR comprising a primary indicator value selected from a group consisting of a file offset value and a presentation time stamp (PTS) value, wherein the primary indicator value enables frame-accurate location of the transition between the first video segment of the primary content file and the second video segment of the primary content file; and
storing the primary CCR associated with the primary content file,
wherein transitioning from the last video frame of the secondary video content to the starting video frame of another video segment of the primary content file comprises using the primary indicator value to locate an initial video frame of the second video segment of the primary content file.

### Claim 11

A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations for operating a digital video service set top box system having digital video recorder functionality, the operations comprising:
receiving an insertion content file that includes secondary video content;
creating insertion content change records (CCRs) associated with the insertion content file based on detected splice marks in the insertion content file, the insertion CCRs each comprising at least one indicator value selected from a group consisting of a file offset value and a presentation time stamp (PTS) value, wherein a first indicator value of a first CCR enables frame-accurate location of an initial video frame of the secondary video content and a second indicator value of a second CCR enables frame-accurate location of a last video frame of the secondary video content;
storing the insertion CCRs associated with the insertion content file;
initiating playback of a primary content file that includes at least a first video segment and a second video segment;
during playback of the primary content file, determining a transition between the first video segment and the second video segment;
in response to the determining step, using the first indicator value of the first CCR to locate the initial video frame of the secondary video content, and transitioning from an ending video frame of the first video segment to the initial video frame of the secondary video content indicated in the first CCR; and
initiating playback of the insertion content file, starting with the initial video frame of the secondary video content,
wherein the secondary video content replaces the second video segment of the primary content file, and wherein the duration of the secondary video content is different than the duration of the second video segment of the primary content file.

### Claim 12 (depends on 11)

The medium of claim 11, wherein the secondary video content is inserted between the first video segment and the second video segment.

### Claim 13 (depends on 11)

The medium of claim 11, the operations further comprising:
during playback of the insertion content file, monitoring file offset values of the insertion content file;
detecting when a current file offset value of the insertion content file satisfies predetermined trigger criteria corresponding to the second indicator value; and
in response to the detecting step, transitioning from the last video frame of the secondary video content to a starting video frame of another video segment of the primary content file.

### Claim 14 (depends on 11)

The medium of claim 11, the operations further comprising:
during playback of the insertion content file, monitoring presentation time stamp values of the insertion content file;
detecting when the current presentation time stamp value of the insertion content file satisfies predetermined trigger criteria corresponding to the second indicator value; and
in response to the detecting step, transitioning from the last video frame of the secondary video content to a starting video frame of another video segment of the primary content file.

### Claim 15 (depends on 13)

The medium of claim 13, the operations further comprising:
receiving the primary content file;
creating a primary CCR associated with the primary content file, the primary CCR comprising a primary indicator value selected from a group consisting of a file offset value and a presentation time stamp (PTS) value, wherein the primary indicator value enables frame-accurate location of the transition between the first video segment of the primary content file and the second video segment of the primary content file; and
storing the primary CCR associated with the primary content file,
wherein transitioning from the last video frame of the secondary video content to the starting video frame of another video segment of the primary content file comprises using the primary indicator value to locate an initial video frame of the second video segment of the primary content file.
