IP Library Granted Patent US 9,336,459
Granted Patent B2
US 9,336,459 · App. 14/918,478 · Granted May 10, 2016

Interactive content generation

Inventors: Bertin Rudolph Cordova-Diba (Del Mar, CA); Jose Adrian Munguia (Vista, CA); Tyson Simon (San Diego, CA); Eric Williams (Skaneateles, NY)
Assignee: OIM SQUARED INC.
G06K9/6215G06F17/30247G06K9/4604G06K9/52G06T5/00G06T7/0044G06T7/0081G06T7/0083G06T11/60G06K2009/4666
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,336,459
App. No.
14/918,478
Granted
May 10, 2016
Kind
B2
Abstract

Generation of interactive content. In an embodiment, a representation of candidate object(s) in content of a digital media asset are received. For each of the candidate object(s), feature(s) of the candidate object are compared to corresponding feature(s) of a plurality of reference objects to identify reference object(s) that match the candidate object. For each of the matched candidate object(s), a hotspot package is generated. The hotspot package may comprise a visual overlay which comprises information associated with the reference object(s) matched to the respective candidate object.

Claims (77)

1. A computer-implemented method that comprises using at least one hardware processor to:

receive a representation of one or more candidate objects in content of a digital media asset;

for each of the one or more candidate objects, compare a plurality of features of the candidate object to a plurality of corresponding features of each of a plurality of reference objects to identify one or more reference objects that match the candidate object, wherein the comparison comprises, for each of the plurality of reference objects,

for each of the plurality of features of the candidate object, comparing the feature of the candidate object to a corresponding feature of the reference object, and generating a feature score based on the comparison of the feature of the candidate object to the corresponding feature of the reference object,

determining a weight for each feature score,

weighting each feature score according to the weight determined for that feature score, and

generating a matching score based on each weighted feature score; and,

for each of the one or more candidate objects that is matched to one or more reference objects, generate a hotspot package, wherein the hotspot package comprises a visual overlay, and wherein the visual overlay comprises information associated with the one or more reference objects matched to the candidate object.

2. The method of claim 1 , wherein the representation of one or more candidate objects is received in a visual query that is received from a network device via at least one network.

3. The method of claim 2 , further comprising using the at least one hardware processor of the network device to generate the visual query, wherein generating the visual query comprises:

displaying the content of the digital media asset;

receiving a selection of a portion of the displayed content via a user operation; and

generating the visual query based on the selected portion of the displayed content.

4. The method of claim 1 , wherein the representation of one or more candidate objects comprises, for each of the one or more candidate objects, an image of the candidate object.

5. The method of claim 4 , wherein the digital media asset is a digital image, and wherein each of the one or more images, in the representation of one or more candidate objects, is a portion of the digital image.

6. The method of claim 4 , wherein comparing a plurality of features of the candidate object to a plurality of corresponding features of each of a plurality of reference objects further comprises deriving the plurality of features of the candidate object from visual attributes in the image of the candidate object.

7. The method of claim 6 , wherein deriving the plurality of features of the candidate object from visual attributes in the image of the candidate object comprises detecting the candidate object in the image of the candidate object prior to deriving the plurality of features of the candidate object.

8. The method of claim 7 , wherein detecting the candidate object in the image of the candidate object comprises:

normalizing the image of the candidate object; and

determining a boundary that surrounds the candidate object within the image of the candidate object.

9. The method of claim 8 , wherein normalizing the image of the candidate object comprises:

removing image noise from the image of the candidate object;

converting the image of the candidate object to a photometric invariant color space; and

converting the image of the candidate object to one or both of a predefined size and a predefined aspect ratio.

10. The method of claim 8 , wherein determining a boundary that surrounds the candidate object within the image of the candidate object comprises:

segmenting the image of the candidate object into regions;

merging similar neighboring regions until no similar neighboring regions remain; and

determining a boundary around one or more remaining regions as the boundary that surrounds the candidate object.

11. The method of claim 10 , wherein merging similar neighboring regions comprises, for a pair of neighboring regions:

calculating a variation between the pair of neighboring regions;

merging the pair of neighboring regions when the variation is less than a threshold, and

not merging the pair of neighboring regions when the variation is greater than the threshold.

12. The method of claim 1 , wherein the digital media asset is a video, and wherein the representation of one or more candidate objects comprises a frame of the video.

13. The method of claim 1 , wherein the plurality of features comprise two or more of a color feature, a texture feature, a shape feature, and a keypoints feature.

14. The method of claim 1 , wherein, for each of the one or more candidate objects that is matched to one or more reference objects, the matched one or more reference objects comprise an object that is identified as the candidate object.

15. The method of claim 14 , wherein the visual overlay of each hotspot package comprises one or more of an image, title, description, and price associated with the object that is identified as the candidate object.

16. The method of claim 1 , wherein, for each of the one or more candidate objects that is matched to one or more reference objects, the matched one or more reference objects comprise an object that is visually similar to the candidate object.

17. The method of claim 16 , wherein the visual overlay of each hotspot package comprises a representation of each object, from the matched one or more reference objects, that is visually similar to the candidate object.

18. The method of claim 1 , wherein generating a hotspot package for each of the one or more candidate objects that is matched to one or more reference objects comprises, for each of the one or more reference objects matched to the candidate object:

retrieving information associated with the reference object using an identifier of the reference object; and

incorporating the information into the hotspot package.

19. The method of claim 18 , wherein each of the plurality of reference objects represents a product, and wherein the information associated with the one or more reference objects comprises one or more of an image, a title, a description, and a price.

20. The method of claim 1 , further comprising using the at least one hardware processor to generate a navigation hotspot package, wherein the navigation hotspot package comprises a visual overlay, and wherein the visual overlay comprises one or more inputs for one or both of searching and selecting each of the hotspot packages for the one or more candidate objects that were matched to one or more reference objects.

21. The method of claim 1 , further comprising using the at least one hardware processor to embed each hotspot package with the digital media asset, wherein embedding each hotspot package with the digital media asset comprises:

generating an asset template;

embedding a viewer for the digital media asset into the asset template; and, for each hotspot package,

generating a hotspot package template, and

embedding the hotspot package template into the asset template.

22. The method of claim 21 , wherein the asset template and each hotspot package template are generated in a markup language.

23. The method of claim 1 , wherein the visual overlay of each hotspot package for the one or more candidate objects that were matched to one or more reference objects comprises one or more inputs for initiating a purchase for at least one of the matched one or more reference objects.

24. The method of claim 1 , further comprising using the at least one hardware processor to, for each of the one or more candidate objects that is matched to one or more reference objects:

determine a position of the candidate object in the content of the digital media asset; and

generate a hotspot, wherein the hotspot comprises a visual indication to be overlaid at a hotspot position in the content of the digital media asset corresponding to the determined position of the candidate object, and wherein the hotpot is associated with the hotspot package generated for the candidate object.

25. The method of claim 24 , wherein the visual indication of each hotspot is selectable via a user operation so as toggle the associated hotspot package between a visible and invisible state.

26. The method of claim 25 , further comprising rendering the content of the digital media asset with the visual indication of each hotspot overlaid at its respective hotspot position in the content of the digital media asset.

27. The method of claim 1 , wherein comparing a plurality of features of a candidate object to a plurality of corresponding features of each of a plurality of reference objects is performed according to a first feature-matching algorithm defined by a first feature-matching software module, and wherein the method further comprises using the at least one hardware processor to:

receive a second feature-matching software module, defining a second feature-matching algorithm, via an interface; and,

subsequently, compare a plurality of features of a candidate object to a plurality of corresponding features of each of a plurality of reference objects according to the second feature-matching algorithm defined by the second feature-matching software module, instead of the first feature-matching algorithm defined by the first feature-matching software module.

28. The method of claim 1 , further comprising using the at least one hardware processor to embed each hotspot package with the digital media asset.

29. A system comprising:

at least one hardware processor; and

one or more software modules that are configured to, when executed by the at least on hardware processor,

receive a representation of one or more candidate objects in content of a digital media asset,

for each of the one or more candidate objects, compare a plurality of features of the candidate object to a plurality of corresponding features of each of a plurality of reference objects to identify one or more reference objects that match the candidate object, wherein the comparison comprises, for each of the plurality of reference objects,

for each of the plurality of features of the candidate object, comparing the feature of the candidate object to a corresponding feature of the reference object, and generating a feature score based on the comparison of the feature of the candidate object to the corresponding feature of the reference object,

determining a weight for each feature score,

weighting each feature score according to the weight determined for that feature score, and

generating a matching score based on each weighted feature score, and,

for each of the one or more candidate objects that is matched to one or more reference objects, generate a hotspot package, wherein the hotspot package comprises a visual overlay, and wherein the visual overlay comprises information associated with the one or more reference objects matched to the candidate object.

30. A non-transitory computer-readable medium having instructions stored thereon, wherein the instructions, when executed by a processor, cause the processor to:

receive a representation of one or more candidate objects in content of a digital media asset;

for each of the one or more candidate objects, compare a plurality of features of the candidate object to a plurality of corresponding features of each of a plurality of reference objects to identify one or more reference objects that match the candidate object, wherein the comparison comprises, for each of the plurality of reference objects,

for each of the plurality of features of the candidate object, comparing the feature of the candidate object to a corresponding feature of the reference object, and generating a feature score based on the comparison of the feature of the candidate object to the corresponding feature of the reference object,

determining a weight for each feature score,

weighting each feature score according to the weight determined for that feature score, and

generating a matching score based on each weighted feature score; and,

for each of the one or more candidate objects that is matched to one or more reference objects, generate a hotspot package, wherein the hotspot package comprises a visual overlay, and wherein the visual overlay comprises information associated with the one or more reference objects matched to the candidate object.

Assignments (2)
SECURITY INTEREST Recorded Oct 4, 2016
From: OIM SQUARED, INC.
To: PAPA DOUG TRUST U/A/D JANUARY 11, 2010
Reel/Frame 040221/0357 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2015
From: CORDOVA-DIBA, BERTIN RUDOLPH; MUNGUIA, JOSE ADRIAN; SIMON, TYSON; WILLIAMS, ERIC
To: OIM SQUARED INC.
Reel/Frame 036838/0499 →
Continuity (3)
Continuation 14790602 · Jul 2, 2015
Provisional Application 62020873 · Jul 3, 2014
Related Publication 20160042250A1 · Feb 11, 2016