IP Library Granted Patent US 11,395,037
Granted Patent B2
US 11,395,037 · App. 16/870,482 · Granted Jul 19, 2022

Content-modification system with determination of input-buffer switching delay feature

Inventors: Andrew Laurence Ashbacher (Aptos, CA); John L. Haynes, III (Sandy, UT)
Assignee: Roku, Inc.
H04N21/4415H04N21/23424H04N21/4302H04N21/812
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 11,395,037
App. No.
16/870,482
Granted
Jul 19, 2022
Kind
B2
Abstract

In one aspect, a method includes: (i) determining a baseline input-to-output delay, which represents a time period between when content is input into a first input buffer and output by an output buffer; (ii) establishing a synchronous lock between (a) first fingerprint data representing content in the first input buffer and (b) second fingerprint data representing content in the output buffer; (iii) determining an instruction time-point at which a content-presentation device is instructed to switch from using content in the first input buffer to populate the output buffer, to using content in the second input buffer to populate the output buffer; (iv) determining a loss of synchronous lock time-point; (v) using the determined baseline input-to-output delay, the determined instruction time-point, and the determined loss of synchronous lock time-point to determine an input-buffer switching delay; and (vi) using the determined input-buffer switching delay to facilitate performing a content-modification operation.

Claims (46)

1. A method for use in connection with a content-presentation device comprising a first input buffer, a second input buffer, and an output buffer, wherein the content-presentation device is configured such that content from either the first input buffer or the second input buffer can be communicated to the output buffer, the method comprising:

determining a baseline input-to-output delay, which represents a time period between when content is input into the first input buffer and output by the output buffer, wherein determining the baseline input-to-output delay comprises subtracting a time-point at which content is input into the first input buffer from a time-point at which the content is output by the output buffer, to arrive at the baseline input-to-output delay;

establishing a synchronous lock between (i) first fingerprint data representing content in the first input buffer and (ii) second fingerprint data representing content in the output buffer;

determining an instruction time-point at which the content-presentation device provides an instruction for the content-presentation device to switch from using content in the first input buffer to populate the output buffer, to using content in the second input buffer to populate the output buffer;

determining a loss of synchronous lock time-point at which the established synchronous lock is lost;

using the determined baseline input-to-output delay, the determined instruction time-point, and the determined loss of synchronous lock time-point to determine an input-buffer switching delay; and

using the determined input-buffer switching delay to facilitate performing a content-modification operation.

2. The method of claim 1 , wherein the content-presentation device is a television and the output buffer is a display buffer.

3. The method of claim 1 , further comprising generating the first fingerprint data and the second fingerprint data.

4. The method of claim 1 , wherein using the determined baseline input-to-output delay, the determined instruction time-point, and the determined loss of synchronous lock time-point to determine an input-buffer switching delay comprises subtracting the determined baseline input-to-output delay and the determined instruction time-point from the determined loss of synchronous lock time-point, to arrive at the input-buffer switching delay.

5. The method of claim 1 , wherein the instruction time-point is a first instruction time-point, and wherein using the determined input-buffer switching delay to facilitate performing the content-modification operation comprises:

determining a modification start-time, which corresponds to a start of a modifiable content-segment;

at a second instruction time-point, which is the determined modification start-time minus the determined input-buffer switching delay, instructing the content-presentation device to switch from using content in the first input buffer to populate the output buffer to using content in the second input buffer to populate the output buffer.

6. The method of claim 5 , wherein the content in the first input buffer is a modifiable content segment associated with the content-modification operation and the content in the second input buffer is supplemental content associated with the content-modification operation.

7. The method of claim 1 , further comprising transmitting an indication of the determined input-buffer switching delay and data associated with the content-presentation device.

8. The method of claim 7 , wherein the data associated with the content-presentation device comprises model number of the content-presentation device.

9. A non-transitory computer-readable storage medium, having stored thereon program instructions that, upon execution by a processor, cause performance of a set of operations for use in connection with a content-presentation device comprising a first input buffer, a second input buffer, and an output buffer, wherein the content-presentation device is configured such that content from either the first input buffer or the second input buffer can be communicated to the output buffer, the set of operations comprising:

determining a baseline input-to-output delay, which represents a time period between when content is input into the first input buffer and output by the output buffer, wherein determining the baseline input-to-output delay comprises subtracting a time-point at which content is input into the first input buffer from a time-point at which the content is output by the output buffer, to arrive at the baseline input-to-output delay;

establishing a synchronous lock between (i) first fingerprint data representing content in the first input buffer and (ii) second fingerprint data representing content in the output buffer;

determining an instruction time-point at which the content-presentation device provides an instruction for the content-presentation device to switch from using content in the first input buffer to populate the output buffer, to using content in the second input buffer to populate the output buffer;

determining a loss of synchronous lock time-point at which the established synchronous lock is lost;

using the determined baseline input-to-output delay, the determined instruction time-point, and the determined loss of synchronous lock time-point to determine an input-buffer switching delay; and

using the determined input-buffer switching delay to facilitate performing a content-modification operation.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the content-presentation device is a television and the output buffer is a display buffer.

11. The non-transitory computer-readable storage medium of claim 9 , further comprising generating the first fingerprint data and the second fingerprint data.

12. The non-transitory computer-readable storage medium of claim 9 , wherein using the determined baseline input-to-output delay, the determined instruction time-point, and the determined loss of synchronous lock time-point to determine an input-buffer switching delay comprises subtracting the determined baseline input-to-output delay and the determined instruction time-point from the determined loss of synchronous lock time-point, to arrive at the input-buffer switching delay.

13. The non-transitory computer-readable storage medium of claim 9 , wherein the instruction time-point is a first instruction time-point, and wherein using the determined input-buffer switching delay to facilitate performing the content-modification operation comprises:

determining a modification start-time, which corresponds to a start of a modifiable content-segment;

at a second instruction time-point, which is the determined modification start-time minus the determined input-buffer switching delay, instructing the content-presentation device to switch from using content in the first input buffer to populate the output buffer to using content in the second input buffer to populate the output buffer.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the content in the first input buffer is a modifiable content segment associated with the content-modification operation and the content in the second input buffer is supplemental content associated with the content-modification operation.

15. The non-transitory computer-readable storage medium of claim 9 , the set of operations further comprising transmitting an indication of the determined input-buffer switching delay and data associated with the content-presentation device.

16. The non-transitory computer-readable storage medium of claim 9 , wherein the data associated with the content-presentation device comprises model number of the content-presentation device.

17. A computing system comprising:

a processor; and

a non-transitory computer-readable storage medium, having stored thereon program instructions that, upon execution by the processor, cause performance of a set of operations for use in connection with a content-presentation device comprising a first input buffer, a second input buffer, and an output buffer, wherein the content-presentation device is configured such that content from either the first input buffer or the second input buffer can be communicated to the output buffer, the set of operations comprising:

determining a baseline input-to-output delay, which represents a time period between when content is input into the first input buffer and output by the output buffer, wherein determining the baseline input-to-output delay comprises subtracting a time-point at which content is input into the first input buffer from a time-point at which the content is output by the output buffer, to arrive at the baseline input-to-output delay;

establishing a synchronous lock between (i) first fingerprint data representing content in the first input buffer and (ii) second fingerprint data representing content in the output buffer;

determining an instruction time-point at which the content-presentation device provides an instruction for the content-presentation device to switch from using content in the first input buffer to populate the output buffer, to using content in the second input buffer to populate the output buffer;

determining a loss of synchronous lock time-point at which the established synchronous lock is lost;

using the determined baseline input-to-output delay, the determined instruction time-point, and the determined loss of synchronous lock time-point to determine an input-buffer switching delay; and

using the determined input-buffer switching delay to facilitate performing a content-modification operation.

18. The computing system of claim 17 , wherein the instruction time-point is a first instruction time-point, and wherein using the determined input-buffer switching delay to facilitate performing the content-modification operation comprises:

determining a modification start-time, which corresponds to a start of a modifiable content-segment;

at a second instruction time-point, which is the determined modification start-time minus the determined input-buffer switching delay, instructing the content-presentation device to switch from using content in the first input buffer to populate the output buffer to using content in the second input buffer to populate the output buffer.

19. The computing system of claim 17 , wherein the content-presentation device is a television and the output buffer is a display buffer.

20. The computing system of claim 17 , wherein using the determined baseline input-to-output delay, the determined instruction time-point, and the determined loss of synchronous lock time-point to determine an input-buffer switching delay comprises subtracting the determined baseline input-to-output delay and the determined instruction time-point from the determined loss of synchronous lock time-point, to arrive at the input-buffer switching delay.

Assignments (10)
SECURITY INTEREST Recorded Sep 18, 2024
From: ROKU, INC.
To: CITIBANK, N.A.
Reel/Frame 068982/0377 →
RELEASE (REEL 053473 / FRAME 0001) Recorded May 11, 2023
From: CITIBANK, N.A.
To: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063603/0001 →
RELEASE (REEL 054066 / FRAME 0064) Recorded May 11, 2023
From: CITIBANK, N.A.
To: GRACENOTE, INC.; A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063605/0001 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT (REEL/FRAME 056982/0194) Recorded Feb 22, 2023
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROKU, INC.; ROKU DX HOLDINGS, INC.
Reel/Frame 062826/0664 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Jun 29, 2021
From: ROKU, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 056982/0194 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2021
From: THE NIELSEN COMPANY (US), LLC
To: ROKU, INC.
Reel/Frame 056106/0376 →
PARTIAL RELEASE OF SECURITY INTEREST Recorded Apr 20, 2021
From: CITIBANK, N.A.
To: THE NIELSEN COMPANY (US), LLC; GRACENOTE, INC.
Reel/Frame 056973/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENTS LISTED ON SCHEDULE 1 RECORDED ON 6-9-2020 PREVIOUSLY RECORDED ON REEL 053473 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SUPPLEMENTAL IP SECURITY AGREEMENT. Recorded Oct 7, 2020
From: A.C. NIELSEN (ARGENTINA) S.A.; A.C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A
Reel/Frame 054066/0064 →
SUPPLEMENTAL SECURITY AGREEMENT Recorded Jun 9, 2020
From: A. C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NIELSEN UK FINANCE I, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A.
Reel/Frame 053473/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2020
From: ASHBACHER, ANDREW LAURENCE; HAYNES III, JOHN L.
To: THE NIELSEN COMPANY (US), LLC
Reel/Frame 052625/0231 →