IP Library Granted Patent US 8,627,509
Granted Patent B2
US 8,627,509 · App. 11/772,582 · Granted Jan 7, 2014

System and method for monitoring content

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,627,509
App. No.
11/772,582
Granted
Jan 7, 2014
Kind
B2
Abstract

A method for processing media files includes receiving a request to download a first media file and, in response to receiving the request, generating a first signature that describes a first characteristic of the first media file. The method also includes determining whether the first signature matches any of a first plurality of stored signatures. The method also includes generating a second signature that describes a second characteristic of the first media file in response to determining that the first signature matches one of the first plurality of stored signatures. Additionally the method includes determining whether the second signature matches any of a second plurality of stored signatures and, in response to determining that the second signature matches one or more of the second plurality of stored signatures, denying the request to download the first media file.

Claims (91)

1. A method for processing media files, comprising:

receiving a request to download a first media file, wherein the first media file comprises video data;

in response to receiving the request, generating a plurality of first signatures, each first signature describing a first characteristic of a frame of the video data contained in the first media file;

generating a second signature based on the first media file, wherein the second signature describes a second characteristic of the first media file;

determining a number of matches between the plurality of first signatures and a first plurality of stored signatures, wherein each stored signature of the first plurality of stored signatures describes a first characteristic of video data of a different media file;

in response to determining that the number of matches is greater than a pre-determined threshold value:

determining whether the second signature matches any of a second plurality of stored signatures, wherein each of the second plurality of stored signatures describes the second characteristic of a different media file; and

in response to determining that the second signature matches one or more of the second plurality of stored signatures, denying the request to download the first media file;

counting a number of requests to download media files that are denied during a predetermined period of time;

determining that the number of denied requests exceeds a predetermined maximum; and

in response to determining that the number of denied requests exceeds the predetermined maximum, increasing the threshold value.

2. A method for processing media files, comprising:

receiving a request to download a first media file, wherein the first media file comprises video data;

in response to receiving the request, generating a plurality of first signatures, each first signature describing a first characteristic of a frame of the video data contained in the first media file;

generating a second signature based on the first media file, wherein the second signature describes a second characteristic of the first media file;

determining a number of matches between the plurality of first signatures and a first plurality of stored signatures, wherein each stored signature of the first plurality of stored signatures describes a first characteristic of video data of a different media file;

in response to determining that the number of matches is greater than a pre-determined threshold value:

determining whether the second signature matches any of a second plurality of stored signatures, wherein each of the second plurality of stored signatures describes the second characteristic of a different media file; and

in response to determining that the second signature matches one or more of the second plurality of stored signatures, denying the request to download the first media file;

counting a number of stored signatures that are processed without being detected during a predetermined period of time;

determining that the number of undetected signatures exceeds a predetermined maximum; and

in response to determining that the number of undetected signatures exceeds the predetermined limit, decreasing the threshold value.

3. The method of claim 1 , further comprising adjusting the threshold value based on a network traffic level.

4. The method of claim 1 , wherein:

receiving the request to download the first media file comprises receiving an internet protocol (IP) packet from a remote device over a packet-based network, wherein the IP packet comprises a request to download the first media file; and further comprising:

transmitting the first media file to the remote device over the packet-based network in response to determining that none of the plurality of first signatures match any of the first plurality of stored signatures.

5. The method of claim 1 , wherein generating the plurality of first signatures comprises:

decoding the video data included in the first media file based on a first codec;

generating first signatures that each describe a first characteristic of the decoded video data; and further comprising:

encoding the decoded video data based on a second codec based at least in part on the number of matches; and

transmitting the encoded video data to a remote device.

6. A system for processing media files, comprising:

a transcoder operable to:

receive a request to download a first media file, wherein the first media file comprises video data;

in response to receiving the request, generate a plurality of first signatures, each first signature describing a first characteristic of a frame of the video data contained in the first media file; and

generate a second signature based on the first media file, wherein the second signature describes a second characteristic of the video data contained in the first media file; and

a signature server operable to:

determine a number of matches between the plurality of first signatures and a first plurality of stored signatures, wherein each stored signature of the first plurality of stored signatures describes a first characteristic of video data of a different media file;

in response to determining that the number of matches is greater than a pre-determined threshold:

determine whether the second signature matches any of a second plurality of stored signatures, wherein each of the second plurality of stored signatures describes the second characteristic of a different media file; and

in response to determining that the second signature matches one or more of the second plurality of stored signatures, deny the request to download the first media file;

count a number of requests to download media files that are denied during a predetermined period of time;

determine that the number of denied requests exceeds a predetermined maximum; and

in response to determining that the number of denied requests exceeds the predetermined maximum, increase the threshold value.

7. A system for processing media files, comprising:

a transcoder operable to:

receive a request to download a first media file, wherein the first media file comprises video data;

in response to receiving the request, generate a plurality of first signatures, each first signature describing a first characteristic of a frame of the video data contained in the first media file; and

generate a second signature based on the first media file, wherein the second signature describes a second characteristic of the video data contained in the first media file; and

a signature server operable to:

determine a number of matches between the plurality of first signatures and a first plurality of stored signatures, wherein each stored signature of the first plurality of stored signatures describes a first characteristic of video data of a different media file;

in response to determining that the number of matches is greater than a pre-determined threshold:

determine whether the second signature matches any of a second plurality of stored signatures, wherein each of the second plurality of stored signatures describes the second characteristic of a different media file; and

in response to determining that the second signature matches one or more of the second plurality of stored signatures, deny the request to download the first media file;

count a number of stored signatures that are processed without being detected during a predetermined period of time;

determine that the number of undetected signatures exceeds a predetermined maximum; and

in response to determining that the number of undetected signatures exceeds the predetermined limit, decrease the threshold value.

8. The system of claim 6 , wherein the signature server is further operable to adjust the threshold value based on a network traffic level.

9. The system of claim 6 , wherein:

the transcoder is operable to receive the request to download the first media file by receiving an internet protocol (IP) packet from a remote device over a packet-based network, wherein the IP packet comprises a request to download the first media file; and

the signature server is further operable to transmit the first media file to the remote device over the packet-based network in response to determining that none of the plurality of first signatures match any of the first plurality of stored signatures.

10. The system of claim 6 , wherein the transcoder is operable to generate the plurality of first signatures by:

decoding the video data included in the first media file based on a first codec;

generating first signatures that each describe a first characteristic of the decoded video data; and wherein the transcoder is further operable to:

encode the decoded video data based on a second codec based at least in part on the number of matches; and

transmit the encoded video data to a remote device.

11. Logic encoded on a non-transitory computer-readable medium, the logic comprising code operable, when executed, to:

receive a request to download a first media file, wherein the first media file comprises video data;

in response to receiving the request, generate a plurality of first signatures, each first signature describing a first characteristic of a frame of the video data contained in the first media file;

generate a second signature based on the first media file, wherein the second signature describes a second characteristic of the first media file;

determine a number of matches between the plurality of first signatures and a first plurality of stored signatures, wherein each stored signature of the first plurality of stored signatures describes a first characteristic of video data of a different media file;

in response to determining that the number of matches is greater than a pre-determined threshold value:

determine whether the second signature matches any of a second plurality of stored signatures, wherein each of the second plurality of stored signatures describes the second characteristic of a different media file; and

in response to determining that the second signature matches one or more of the second plurality of stored signatures, deny the request to download the first media file;

count a number of requests to download media files that are denied during a predetermined period of time;

determine that the number of denied requests exceeds a predetermined maximum; and

in response to determining that the number of denied requests exceeds the predetermined maximum, increase the threshold value.

12. Logic encoded on a non-transitory computer-readable medium, the logic comprising code operable, when executed, to:

receive a request to download a first media file, wherein the first media file comprises video data;

in response to receiving the request, generate a plurality of first signatures, each first signature describing a first characteristic of a frame of the video data contained in the first media file;

generate a second signature based on the first media file, wherein the second signature describes a second characteristic of the first media file;

determine a number of matches between the plurality of first signatures and a first plurality of stored signatures, wherein each stored signature of the first plurality of stored signatures describes a first characteristic of video data of a different media file;

in response to determining that the number of matches is greater than a pre-determined threshold value:

determine whether the second signature matches any of a second plurality of stored signatures, wherein each of the second plurality of stored signatures describes the second characteristic of a different media file; and

in response to determining that the second signature matches one or more of the second plurality of stored signatures, deny the request to download the first media file;

count a number of stored signatures that are processed without being detected during a predetermined period of time;

determine that the number of undetected signatures exceeds a predetermined maximum; and

in response to determining that the number of undetected signatures exceeds the predetermined limit, decrease the threshold value.

13. The logic of claim 11 , wherein the code is further operable to adjust the threshold value based on a network traffic level.

14. The logic of claim 11 , wherein the code is operable to:

receive the request to download the first media file by receiving an internet protocol (IP) packet from a remote device over a packet-based network, wherein the IP packet comprises a request to download the first media file; and the code is further operable to transmit the first media file to the remote device over the packet-based network in response to determining that none of the plurality of first signatures match any of the first plurality of stored signatures.

Assignments (9)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 28, 2020
From: PNC BANK, NATIONAL ASSOCIATION, AS EXISTING AGENT
To: BROADCAST LENDCO, LLC, AS SUCCESSOR AGENT
Reel/Frame 052050/0074 →
SECURITY AGREEMENT Recorded Apr 1, 2015
From: IMAGINE COMMUNICATIONS CORP. (F/K/A HBC SOLUTIONS, INC.)
To: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 035353/0208 →
PATENT COLLATERAL SECURITY AGREEMENT Recorded Mar 27, 2015
From: IMAGINE COMMUNICATIONS CORPORATION (FORMERLY KNOWN AS HBC SOLUTIONS, INC.)
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 035327/0262 →
SECURITY INTEREST Recorded Mar 27, 2015
From: IMAGINE COMMUNICATIONS CORPORATION (FORMERLY KNOWN AS HBC SOLUTIONS, INC.)
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 035275/0228 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2015
From: RGB NETWORKS, INC.
To: IMAGINE COMMUNICATIONS CORP.
Reel/Frame 034973/0821 →
RELEASE OF SECURITY INTEREST Recorded Feb 11, 2015
From: SILICON VALLEY BANK
To: RGB NETWORKS, INC
Reel/Frame 034955/0630 →
SECURITY INTEREST Recorded Aug 3, 2014
From: RGB NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 033463/0440 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2010
From: RIPCODE, INC.
To: RGB NETWORKS, INC.
Reel/Frame 025113/0631 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2007
From: WASHINGTON, RICHARD G.; HALL, CLIFFORD L., III
To: RIPCODE, INC.
Reel/Frame 019508/0195 →