IP Library Granted Patent US 9,848,235
Granted Patent B1
US 9,848,235 · App. 15/098,135 · Granted Dec 19, 2017

Video fingerprinting based on fourier transform of histogram

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 9,848,235
App. No.
15/098,135
Granted
Dec 19, 2017
Kind
B1
Abstract

A content device and method is disclosed to include a processing device to process streaming video content. A fingerprinter receives captured frames of the streaming video content and, for each frame of a plurality of the captured frames, generates a one-dimensional histogram function of pixel values and transforms the histogram function with a Fast Fourier Transform (FFT), to generate a plurality of complex values for the frame. The fingerprinter further, for each of the plurality of complex values, assigns a binary one (“1”) when a real part of the complex value is greater than zero (“0”) and assigns a binary zero (“0”) when the real part is less than or equal to zero, to generate a plurality of bits. The fingerprinter further concatenates a specific number of the bits to generate a fingerprint for the frame.

Claims (53)

1. A content device comprising:

a non-transitory memory storing instructions;

a capture interface including a port configured to receive streaming video content from a content provider; and

a processing device operatively coupled to the non-transitory memory and the capture interface and configured to execute the instructions, the executed instructions causing the processing device to perform operations comprising:

splitting the streaming video content into a first thread and a second thread;

encoding the first thread of the streaming video content into encoded video content;

sending the encoded video content from the processing device to a broadcast server, the broadcast server in response to receiving the encoded video content, delivering the encoded video content to a media consumption device;

capturing frames of the second thread of the streaming video content; and

for each captured frame of the second thread of the streaming video content, fingerprinting the corresponding captured frame simultaneously or in parallel with the encoding of the first thread of the streaming video content by:

generating a one-dimensional histogram function of pixel values;

transforming the histogram function with a Fast Fourier Transform (FFT) to generate a plurality of complex values for the corresponding captured frame;

for each of the plurality of complex values, generating a plurality of bits by assigning a binary one (“1”) when a real part of the complex value is greater than zero (“0”) and assigning a binary zero (“0”) when the real part is less than or equal to zero; and

concatenating a specific number of the plurality of bits to generate a fingerprint for the corresponding captured frame; and

sending the fingerprint for the corresponding captured frame to an automatic content recognition (ACR) server, the ACR server in response to receiving the fingerprint, storing the fingerprint in a fingerprint database.

2. The content device of claim 1 , wherein the histogram function includes an x axis representing specific pixel values and a y axis representing a number of pixels at each respective specific pixel value.

3. The content device of claim 2 , wherein each specific pixel value of the histogram function comprises a corresponding Y value of a YUV color space.

4. The content device of claim 1 , wherein the operations further comprise, when fingerprinting the corresponding captured frame, indexing the plurality of complex values from zero (“0”) to 255.

5. The content device of claim 1 , wherein the generated fingerprint is 128 bits long or 256 bits long.

6. The content device of claim 1 , wherein the ACR server, in response to receiving the fingerprint, is further configured to store the fingerprint in relation to corresponding broadcast schedule metadata.

7. A method comprising:

receiving, at a processing device of a content device, streaming video content from a content provider via a capturer interface, the capturer interface operatively coupled to the processing device;

splitting, by the processing device, the streaming video content into a first thread and a second thread;

encoding, by the processing device, the first thread of the streaming video content into encoded video content;

sending the encoded video content from the processing device to a broadcast server, the broadcast server in response to receiving the encoded video content, delivering the encoded video content to a media consumption device;

capturing, by the processing device, frames of the second thread of the streaming video content; and

for each captured frame of the second thread of the streaming video content, fingerprinting, by the processing device, the corresponding captured frame simultaneously or in parallel with the encoding of the first thread of the streaming video content by:

generating a one-dimensional histogram function of pixel values;

transforming the histogram function with a Fast Fourier Transform (FFT) to generate a plurality of complex values for the corresponding captured frame;

for each of the plurality of complex values, generating a plurality of bits by assigning a binary one (“1”) when a real part of the complex value is greater than zero (“0”) and assigning a binary zero (“0”) when the real part is less than or equal to zero;

concatenating a specific number of the plurality of bits to generate a fingerprint for the corresponding captured frame; and

sending the fingerprint for the corresponding captured frame to an automatic content recognition (ACR) server, the ACR server in response to receiving the fingerprint, storing the fingerprint in a fingerprint database.

8. The method of claim 7 , wherein the histogram function includes an x axis representing specific pixel values and a y axis representing a number of pixels at each respective specific pixel value.

9. The method of claim 8 , wherein each specific value of the histogram function comprises a corresponding Y value of a YUV color space.

10. The method of claim 7 , further comprising, when fingerprinting the corresponding captured frame, indexing, by the processor device, the plurality of complex values from zero (“0”) to 255.

11. The method of claim 7 , wherein the generated fingerprint is 128 bits long or 256 bits long.

12. The method of claim 7 , ACR server in response to receiving the fingerprint, is further configured to store the fingerprint in relation to corresponding broadcast schedule metadata.

13. A non-transitory machine-readable storage medium storing instructions that, when executed by a processing device, cause the processing device to perform operations comprising:

receiving streaming video content from a content provider via a capturer interface, the capturer interface operatively coupled to the processing device;

splitting the streaming video content into a first thread and a second thread;

encoding the first thread of the streaming video content into encoded video content;

sending the encoded video content from the processing device to a broadcast server, the broadcast server in response to receiving the encoded video content, delivering the encoded video content to a media consumption device;

capturing frames of the second thread of the streaming video content; and

for each captured frame of the second thread of the streaming video content, fingerprinting the corresponding captured frame simultaneously or in parallel with the encoding of the first thread of the streaming video content by:

generating a one-dimensional histogram function of pixel values;

transforming the histogram function with a Fast Fourier Transform (FFT)) to generate a plurality of complex values for the corresponding captured frame;

for each of the plurality of complex values, generating a plurality of bits by assigning a binary one (“1”) when a real part of the complex value is greater than zero (“0”) and assigning a binary zero (“0”) when the real part is less than or equal to zero;

concatenating a specific number of the plurality of bits to generate a fingerprint for the corresponding captured frame; and

sending the fingerprint for the corresponding captured frame to an automatic content recognition (ACR) server, the ACR server in response to receiving the fingerprint, storing the fingerprint in a fingerprint database.

14. The non-transitory machine-readable storage medium of claim 13 , wherein the histogram function includes an x axis representing specific pixel values and a y axis representing a number of pixels at each respective specific pixel value.

15. The non-transitory machine-readable storage medium of claim 14 ,

wherein each specific pixel value of the histogram function comprises a corresponding Y value of a YUV color space.

16. The non-transitory machine-readable storage medium of claim 13 , wherein the operations further comprise, when fingerprinting the corresponding captured frame, indexing the plurality of complex values from zero (“0”) to 255.

17. The non-transitory machine-readable storage medium of claim 13 , wherein the generated fingerprint is 128 bits long or 256 bits long.

Assignments (11)
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: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, 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 Feb 15, 2019
From: SORENSON MEDIA, INC.
To: THE NIELSEN COMPANY (US), LLC
Reel/Frame 048355/0949 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2016
From: CHEN, JUIKUN
To: SORENSON MEDIA, INC.
Reel/Frame 038273/0119 →