IP Library Granted Patent US 10,185,768
Granted Patent B2
US 10,185,768 · App. 15/240,815 · Granted Jan 22, 2019

Systems and methods for addressing a media database using distance associative hashing

Inventors: Zeev Neumeier (Berkeley, CA); Brian Reed (Stamford, CT)
Assignee: INSCAPE DATA, INC.
G06F17/30858G06F17/30799H04N5/44591H04N21/23109H04N21/23418H04N21/23424H04N21/4394H04N21/44008H04N21/44204H04N21/4532H04N21/462H04N21/4667H04N21/8126H04N21/8456H04N21/478
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 10,185,768
App. No.
15/240,815
Granted
Jan 22, 2019
Kind
B2
Abstract

A system, method and computer program utilize a distance associative hashing algorithmic means to provide a highly efficient means to rapidly address a large database. The indexing means can be readily subdivided into a plurality of independently-addressable segments where each such segment can address a portion of related data of the database where the subdivided indexes of said portions reside entirely in the main memory of each of a multiplicity of server means. The resulting cluster of server means, each hosting an addressable sector of a larger database of searchable audio or video information, provides a significant improvement in the latency and scalability of an Automatic Content Recognition system, among other uses.

Claims (51)

1. A computer-implemented method comprising:

identifying multiple video frames represented in a media database, wherein an identified video frame is represented in the media database by one or more hash values associated with one or more pixel locations in the identified video frame, and wherein the one or more hash values are stored in the media database;

identifying a pixel location in a video frame, wherein the pixel location includes one or more pixels in the video frame;

identifying, for the pixel location, multiple pixel values from the multiple video frames represented in the media database, wherein an identified pixel value represents the pixel location in an identified video frame;

computing a median value for the pixel location, wherein the median value is computed using the multiple pixel values identified for the pixel location from the multiple video frames, and wherein the median value is used to determine a hash value associated with the pixel location;

receiving a new pixel value for the pixel location in a new video frame;

modifying the new pixel value using the median value;

generating a new hash value for the new video frame, wherein the new hash value is generated by performing a hashing function on the modified new pixel value;

determining a media database sector of the media database for storing the new hash value, wherein the media database sector is determined using the new hash value; and

storing the new hash value in the media database sector.

2. The computer-implemented method of claim 1 , wherein the new pixel value is an average of two or more pixels included in the pixel location in the new video frame, and wherein a pixel value of the multiple pixel values is an average of two or more pixels included in the pixel location in a video frame.

3. The computer-implemented method of claim 1 , wherein modifying the new pixel value using the median value includes subtracting the median value from the new pixel value.

4. The computer-implemented method of claim 1 , further including:

facilitating an identification of an unknown video segment being displayed on a media system, wherein the identification is performed using pixel data received from the media system and the new hash value stored in the media database sector.

5. The computer-implemented method of claim 1 , wherein the new video frame is received from a media system displaying a stream of video, and wherein the stream of video includes the new video frame.

6. The computer-implemented method of claim 1 , wherein the media database sector corresponds to a sector of a graph of pixel values representing the media database, wherein the sector includes the modified new pixel value, and wherein an origin of the graph is the median value.

7. A system comprising:

one or more processors; and

a non-transitory computer-readable medium containing instructions that, when executed by the one or more processors, cause the one or more processors to:

identify multiple video frames represented in a media database, wherein an identified video frame is represented in the media database by one or more hash values associated with one or more pixel locations in the identified video frame, and wherein the one or more hash values are stored in the media database;

identify a pixel location in a video frame, wherein the pixel location includes one or more pixels in the video frame;

identify, for the pixel location, multiple pixel values from the multiple video frames represented in the media database, wherein an identified pixel value represents the pixel location in an identified video frame;

compute a median value for the pixel location, wherein the median value is computed using the multiple pixel values identified for the pixel location from the multiple video frames, and wherein the median value is used to determine a hash value associated with the pixel location;

receive a new pixel value for the pixel location in a new video frame;

modify the new pixel value using the median value;

generate a new hash value for the new video frame, wherein the new hash value is generated by performing a hashing function on the modified new pixel value;

determine a media database sector of the media database for storing the new hash value, wherein the media database sector is determined using the new hash value; and

store the new hash value in the media database sector.

8. The system of claim 7 , wherein the new pixel value is an average of two or more pixels included in the pixel location in the new video frame, and wherein a pixel value of the multiple pixel values is an average of two or more pixels included in the pixel location in a video frame.

9. The system of claim 7 , wherein modifying the new pixel value using the median value includes subtracting the median value from the new pixel value.

10. The system of claim 7 , further comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including:

facilitating an identification of an unknown video segment being displayed on a media system, wherein the identification is performed using pixel data received from the media system and the new hash value stored in the media database sector.

11. The system of claim 7 , wherein the new video frame is received from a media system displaying a stream of video, and wherein the stream of video includes the new video frame.

12. The system of claim 7 , wherein the media database sector corresponds to a sector of a graph of pixel values representing the media database, wherein the sector includes the modified new pixel value, and wherein an origin of the graph is the median value.

13. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions that, when executed by one or more processors, cause the one or more processors to:

identify multiple video frames represented in a media database, wherein an identified video frame is represented in the media database by one or more hash values associated with one or more pixel locations in the identified video frame, and wherein the one or more hash values are stored in the media database;

identify a pixel location in a video frame, wherein the pixel location includes one or more pixels in the video frame;

identify, for the pixel location, multiple pixel values from the multiple video frames represented in the media database, wherein an identified pixel value represents the pixel location in an identified video frame;

compute a median value for the pixel location, wherein the median value is computed using the multiple pixel values identified for the pixel location from the multiple video frames, and wherein the median value is used to determine a hash value associated with the pixel location;

receive a new pixel value for the pixel location in a new video frame;

modify the new pixel value using the median value;

generate a new hash value for the new video frame, wherein the new hash value is generated by performing a hashing function on the modified new pixel value;

determine a media database sector of the media database for storing the new hash value, wherein the media database sector is determined using the new hash value; and

store the new hash value in the media database sector.

14. The computer-program product of claim 13 , wherein the new pixel value is an average of two or more pixels included in the pixel location in the new frame video, and wherein a pixel value of the multiple pixel values is an average of two or more pixels included in the pixel location in a video frame.

15. The computer-program product of claim 13 , wherein modifying the new pixel value using the median value includes subtracting the median value from the new pixel value.

16. The computer-program product of claim 13 , further including instructions that, when executed by the one or more processors, cause the one or more processors to:

facilitate an identification of an unknown video segment being displayed on a media system, wherein the identification is performed using pixel data received from the media system and the new hash value stored in the media database sector.

17. The computer-program product of claim 13 , wherein the new video frame is received from a media system displaying a stream of video, and wherein the stream of video includes the new video frame.

18. The computer-program product of claim 13 , wherein the media database sector corresponds to a sector of a graph of pixel values representing the media database, wherein the sector includes the modified new pixel value, and wherein an origin of the graph is the median value.

19. The method of claim 1 , wherein the median value is used to normalize new pixel values that are received.

Assignments (2)
ENTITY CONVERSION Recorded Jan 17, 2017
From: VIZIO INSCAPE TECHNOLOGIES, LLC
To: INSCAPE DATA, INC.
Reel/Frame 041447/0094 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2016
From: NEUMEIER, ZEEV; REED, BRIAN
To: VIZIO INSCAPE TECHNOLOGIES, LLC
Reel/Frame 040281/0058 →
Continuity (15)
Continuation 14678856 · Apr 3, 2015
Continuation In Part 14551933 · Nov 24, 2014
Continuation In Part 14217375 · Mar 17, 2014
Continuation In Part 14217425 · Mar 17, 2014
Continuation In Part 14217435 · Mar 17, 2014
Continuation In Part 14217039 · Mar 17, 2014
Continuation In Part 14217075 · Mar 17, 2014
Continuation In Part 14217094 · Mar 17, 2014
Continuation In Part 14089003 · Nov 25, 2013
Continuation In Part 12788748 · May 27, 2010
Continuation In Part 12788721 · May 27, 2010
Provisional Application 61791578 · Mar 15, 2013
Provisional Application 61290714 · Dec 29, 2009
Provisional Application 61182334 · May 29, 2009
Related Publication 20170032034A1 · Feb 2, 2017
Cited By (2)
US 12,238,371 US 12,321,377