IP Library Granted Patent US 12,167,060
Granted Patent B2
US 12,167,060 · App. 16/667,331 · Granted Dec 10, 2024

Content identification with privacy and security

Inventors: Brian A. Whitman (Brooklyn, NY); Erica R. Greene (Boston, MA); Benjamin Recht (Berkeley, CA)
Assignee: TURNER BROADCASTING SYSTEM, INC.
H04N21/252G06F17/16H04L67/306H04N21/258H04N21/44224H04N21/4532H04N21/4755
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 12,167,060
App. No.
16/667,331
Granted
Dec 10, 2024
Kind
B2
Abstract

Disclosed examples can relate to obtaining identifications of content (e.g., content recommendations) while keeping at least some interaction data locally private. For a given user and device, content items for which the user may have an affinity can be predicted based on the interactions of the user with other content items. Respective interaction data for respective content items can stay local to the user device by transforming the respective content items into content codes (e.g., determined based on a codebook generated by clustering perceptual values). The affinity for content codes can be transmitted to the server for use in determining identifications of content items to provide to the device.

Claims (41)

1. A method comprising:

for each respective content item of a set of content items:

determining an affinity value indicating a liking of a user for the respective content item, the determining based on data regarding one or more user interactions with the respective content item, wherein the one or more user interactions includes a selected like button, a selected dislike button, or a rating corresponding to the respective content item;

determining a perceptual value for the respective content item, wherein the perceptual value represents a projection of the respective content item onto a lower-order perceptual space; and

determining a classification code, based on the perceptual value for the respective content item, representing a group of related content items including the respective content item, wherein determining the classification code maintains user privacy by obscuring the classification code;

creating an affinity vector from affinity values and the classification codes determined for the each respective content item of the set of content items, wherein the affinity vector relates one of the affinity values to a corresponding one of the classification codes for the set of content items;

transmitting the affinity vector to a server;

receiving, from the server, one or more identifications of content items based on the transmitted affinity vector; and

outputting the one or more identifications of content items on a user interface of a user device.

2. The method of claim 1 , wherein determining the classification code further includes: determining the classification code based on the perceptual value using a codebook.

3. The method of claim 2 , further comprising: receiving the codebook from the server.

4. The method of claim 2 , further comprising: generating the codebook based on clustering performed on perceptual values.

5. The method of claim 1 , wherein determining the affinity value is further based on an affinity expressed by the user for the respective content item.

6. The method of claim 1 , further comprising: combining multiple affinity vectors, each associated with a different content type, to form a combined affinity vector, wherein transmitting the affinity vector to the server includes transmitting the affinity vector as part of the combined affinity vector.

7. The method of claim 1 , further comprising obscuring the affinity vector prior to transmitting the affinity vector to the server.

8. The method of claim 1 , wherein the method is performed by a personalization engine operating on a user device.

9. A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to:

for each respective content item of a set of content items:

determine an affinity value indicating a liking of a user for the respective content item, the determining based on data regarding one or more user interactions with the respective content item, wherein the one or more user interactions includes a selected like button, a selected dislike button, or a rating corresponding to the respective content item; and

determine a perceptual value for the respective content item, wherein the perceptual value represents a projection of the respective content item onto a lower-order perceptual space; and

determine a classification code, based on the perceptual value for the respective content item, representing a group of related content items including the respective content item, wherein determining the classification code maintains user privacy by obscuring the classification code;

create an affinity vector from affinity values and the classification codes determined for the each respective content item of the set of content items, wherein the affinity vector relates one of the affinity values to a corresponding one of the classification codes for the set of content items;

transmit the affinity vector to a server;

receive, from the server, one or more identifications based on the transmitted affinity vector; and

output the one or more identifications of content items on a user interface of a user device.

10. The non-transitory computer-readable medium of claim 9 , wherein to determine the classification code further includes: determining the classification code based on the perceptual value using a codebook received from the server.

11. The non-transitory computer-readable medium of claim 9 , wherein to determine the affinity value is further based on an affinity expressed by the user for the respective content item.

12. The method of claim 1 , further comprising obscuring the respective content item for which the perceptual value pertains at least in part by masking with perceptual values for other content items.

13. The method of claim 1 , further comprising obscuring the respective content item for which the perceptual value pertains at least in part by adding random data.

14. The method of claim 1 , wherein the affinity vector represents a relative affinity that the user has for content associated with each of the classification codes.

15. The method of claim 14 , wherein creating the affinity vector further comprises generating a code-affinity data set that indicates an amount of user affinity for each of the set of content items having an associated classification code.

16. The method of claim 2 , wherein the affinity vector is expressed by at least one of: a vector having a length indicating a number of possible codes in the codebook corresponding to a classification code, or a pair of values consisting essentially of a classification code and an affinity value.

17. An apparatus comprising a processor coupled the a memory and to a video output, the memory holding instructions that when executed by the processor cause the apparatus to perform:

for each respective content item of a set of content items:

determining an affinity value indicating a liking of a user for the respective content item, the determining based on data regarding one or more user interactions with the respective content item, wherein the one or more user interactions includes a selected like button, a selected dislike button, or a rating corresponding to the respective content item; and

determining a perceptual value for the respective content item, wherein the perceptual value represents a projection of the respective content item onto a lower-order perceptual space; and

determining a classification code, based on the perceptual value for the respective content item, representing a group of related content items including the respective content item, wherein determining the classification code maintains user privacy by obscuring the classification code;

creating an affinity vector from affinity values and the classification codes determined for the each respective content item of the set of content items, wherein the affinity vector relates one of the affinity values to a corresponding one of the classification codes for the set of content items;

transmitting the affinity vector to a server;

receiving, from the server, one or more identifications of content items based on the transmitted affinity vector; and

outputting the one or more identifications of content items on a user interface of a user device.

Assignments (4)
SECURITY INTEREST Recorded Oct 1, 2025
From: WARNER BROS. DISCOVERY, INC.; WARNER MEDIA, LLC; TURNER BROADCASTING SYSTEM, INC.; HOME BOX OFFICE, INC.; DISCOVERY COMMUNICATIONS, LLC; WARNERMEDIA DIRECT LLC; DISCOVERY.COM LLC; WARNER BROS. ENTERTAINMENT INC.; CNN INTERACTIVE GROUP, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 072995/0858 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2021
From: CANOPY CREST CORPORATION
To: CNN INTERACTIVE GROUP, INC.
Reel/Frame 055045/0120 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2021
From: CNN INTERACTIVE GROUP, INC.
To: TURNER BROADCASTING SYSTEM, INC.
Reel/Frame 055045/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2019
From: WHITMAN, BRIAN A.; GREENE, ERICA R.; RECHT, BENJAMIN
To: CANOPY CREST CORP.
Reel/Frame 051335/0715 →