IP Library Granted Patent US 8,181,217
Granted Patent B2
US 8,181,217 · App. 11/964,737 · Granted May 15, 2012

Monitoring presentation timestamps

View Patent ↗
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 8,181,217
App. No.
11/964,737
Granted
May 15, 2012
Kind
B2
Abstract

Techniques to monitor presentation timestamps for content are described, which may be used to render content at a client. In an implementation, content is received having timestamps that define expected timing for output of the content at a client. The timestamps may then be monitored and compared to a client clock to determine if the content rendered matches the content expected to be rendered. When a discrepancy is detected, one or more corrective actions may be undertaken to restore output of the content to the timing defined by the timestamps.

Claims (59)

1. A method comprising:

receiving, at a client, content packetized and distributed by a network operator over an IP network and having timestamps encoded by the network operator in the content that define timing for output of the content including different sets of timestamps associated with multiple different streams that make-up the content;

setting a client clock based on the timestamps;

when the content is output, comparing the timestamps to the client clock; and

controlling output of the content at the client to correspond with the timing defined by the timestamps based on the comparing using the different sets of timestamps to separately control the multiple different streams including resolving a hang up due to a data impairment when a tolerance value for deviation from the client clock is exceeded by skipping some portions of the content to restore output of the content to expected timing defined by the timestamps.

2. A method as described in claim 1 , wherein the setting of the client clock comprises setting the client clock to zero and starting the clock to keep time when the content is output.

3. A method as described in claim 1 , wherein the timestamps define a presentation clock indicating expected times for output of portions of the content relative to one another.

4. A method as described in claim 3 , wherein the setting of the client clock comprises synchronizing the client clock with the presentation clock defined by the timestamps.

5. A method as described in claim 1 , wherein the content includes video content and the timestamps are associated with the video content at a frame interval that corresponds to a number of video frames between the timestamps.

6. A method as described in claim 1 , wherein the content is television content received over a network from a network operator.

7. A method as described in claim 6 , wherein the network operator is configured to associate the timestamps with the content to define the timing for output of the content.

8. A method as described in claim 7 , wherein:

the content includes at least an audio stream and a video stream;

the network operator associates a set of timestamps derived from a common time-base with both the audio stream and the video stream; and

the comparing includes:

comparing the timestamps associated with the audio stream to the client clock; and

simultaneously comparing the timestamps associated with the video stream to the client clock.

9. A method as described in claim 1 , wherein the content is recorded video content that is received locally from computer-readable media via a media drive associated with the client.

10. A method as described in claim 1 , wherein the controlling of the output of the content includes:

determining an expected timestamp value based on the client clock;

obtaining a portion of the content associated with a said timestamp that matches the expected timestamp value; and

outputting the obtained portion of the content to restore output of the content to correspond to the timing defined by the timestamps.

11. A method as described in claim 1 , wherein the controlling is performed when the comparing determines that a tolerance value defining an acceptable amount of deviation between the client clock and the timing defined by the timestamps is exceeded.

12. A method as described in claim 1 , wherein controlling output of the content to correspond with the timing defined by the timestamps includes performing one or more corrective actions selected from a group consisting of:

resetting the client;

resetting a renderer of the client that is configured to output the content;

skipping a portion of the content;

obtaining and outputting a portion of the content having a timestamp that matches an expected timestamp value to restore output of the content to correspond with the timing defined by the timestamps; and

outputting a prompt to a viewer to perform one or more corrective actions.

13. A method as described in claim 1 , further comprising:

determining a difference between the client clock and the timing defined by the timestamps; and

establishing a tolerance value that defines an acceptable amount of deviation for the determined difference;

wherein, for each portion of the content associated with one of said timestamps, the comparing includes determining when a difference between said timestamp associated with the portion and the client clock when the portion is output exceeds the tolerance value.

14. One or more computer-readable storage media excluding a signal per se storing computer-executable instructions that, when executed by a client, direct the client to perform acts including:

receiving, at the client, packetized content obtained over an IP network having timestamps encoded in the content that define timing for output of the content independently for an audio stream and a video stream of the content;

setting a client clock based on the timestamps;

when the content is output, separately comparing the timestamps for the audio stream and the video stream to the client clock; and

controlling output of the content at the client to correspond with the timing defined by the timestamps based on the comparing including resolving a data impairment when a tolerance value for deviation from the client clock is exceeded by instructing a rendering module to ignore content associated with the data impairment and restarting rendering at a starting place corresponding to expected timing defined by the time stamps.

15. One or more computer-readable storage media as described in claim 14 , wherein the timestamps define a presentation clock indicating expected times for output of portions of the content relative to one another.

16. One or more computer-readable storage media as described in claim 14 , wherein the setting of the client clock comprises synchronizing the client clock with the presentation clock defined by the timestamps.

17. One or more computer-readable storage media method as described in claim 14 , wherein the content includes video content and the timestamps are associated with the video content at a frame interval that corresponds to a number of video frames between the timestamps.

18. A client device comprising:

one or more processors; and

one or more computer-readable storage media storing computer-executable instructions executable via the one or more processors to perform acts including:

receiving, at the client device, packetized content received from a network over an IP network and having timestamps encoded in the content that define expected timing for output of multiple streams of the content individually;

setting multiple client clocks based on the timestamps for each of the multiple streams;

when the content is output, comparing respective timestamps to the multiple client clocks to independently manage the multiple streams; and

controlling output of the multiple streams of content at the client device to correspond with the timing defined by respective timestamps based on the comparing, including resolving a hang up due to a data impairment when a tolerance value is exceeded and instructing a renderer of the client device to skip at least some portions of the content to restore output of the content to expected timing defined by the timestamps when a data impairment is detected.

19. A client device as described in claim 18 , wherein:

the content is television content received over a network from a network operator;

the content includes at least an audio stream and a video stream;

the network operator associates a set of timestamps derived from a common time-base with both the audio stream and the video stream; and

the comparing includes:

comparing the timestamps associated with the audio stream to the client clock; and

simultaneously comparing the timestamps associated with the video stream to the client clock.

20. A client device as described in claim 18 , wherein the controlling of the output of the content includes:

determining an expected timestamp value based on the client clock;

obtaining a portion of the content associated with a said timestamp that matches the expected timestamp value; and

outputting the obtained portion of the content to restore output of the content to correspond to the timing defined by the timestamps.

Assignments (8)
CHANGE OF NAME Recorded Sep 25, 2024
From: ROVI TECHNOLOGIES CORPORATION
To: ADEIA TECHNOLOGIES INC.
Reel/Frame 069047/0828 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2014
From: MICROSOFT CORPORATION
To: ROVI TECHNOLOGIES CORPORATION
Reel/Frame 034539/0676 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2007
From: GNANASAMBANDAM, SENTHIL KUMAR; YEKOLLU, SANATH K; FATEHPURIA, PRADIP K
To: MICROSOFT CORPORATION
Reel/Frame 020291/0102 →