IP Library Granted Patent US 11,659,255
Granted Patent B2
US 11,659,255 · App. 17/099,964 · Granted May 23, 2023

Detection of common media segments

Inventors: Zeev Neumeier (Berkeley, CA); Michael Collette (San Rafael, CA)
Assignee: INSCAPE DATA, INC.
H04N21/8126H04N21/23418H04N21/25866H04N21/2668H04N21/26283H04N21/4532H04N21/462H04N21/812H04N21/84H04N21/8456H04N21/2625
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 11,659,255
App. No.
17/099,964
Granted
May 23, 2023
Kind
B2
Abstract

Provided are systems, methods, and computer-program products for identifying a media content stream when the media content stream is playing an unscheduled media segment. A computing device may receive a plurality of media content streams, where at least two of the plurality of media content streams concurrently includes a same unscheduled media segment. The computing device may determine that the media display device is playing the unscheduled media segment by examining the media content available at the current time in each of the plurality of media content streams. The computing device may determine identification information from the media content included in the media content stream. The computing device may determine contextually-related content, which may be disabled while the unscheduled media segment is being played by the media display device. The computing device may display the media content stream and the contextually-related content after the unscheduled media segment has been played.

Claims (73)

1. A method of detecting a graphic, the method comprising:

obtaining one or more video frames of a media segment, the media segment being displayed by a media device;

detecting one or more image edges in a first video frame of the one or more video frames, wherein detecting the one or more image edges comprises:

comparing a first portion of the video frame with a second portion of the video frame; and

determining one or more differences between image data of the first portion of the video frame and image data of the second portion of the video frame;

determining a duration of time that the one or more image edges remains within the one or more video frames; and

detecting, based on determining that the duration of time is greater than a threshold duration, a particular type of image data included in the video frame.

2. The method of claim 1 , wherein the particular type of image data is a graphic.

3. The method of claim 2 , wherein the graphic includes a banner, a logo, or information related to a media program.

4. The method of claim 1 , further comprising identifying, using at least the graphic, a media content stream being displayed, the media content stream including the media segment.

5. The method of claim 4 , wherein the media content stream includes media content according to a schedule.

6. The method of claim 5 , wherein the media content stream includes an unscheduled media segment.

7. The method of claim 6 , wherein the graphic is superimposed onto the unscheduled media segment while the unscheduled media segment is being displayed.

8. The method of claim 1 , further comprising generating one or more cues using the graphic, wherein the media segment is identified using the one or more cues.

9. The method of claim 1 , wherein comparing a first portion of the video frame with a second portion of the video frame comprises:

determining one or more pixel patches from the first portion of the first video frame or second first portion of the first video frame, each pixel patch including a plurality of pixels;

for each of the one or more pixel patches, performing a discrete cosine transform for the pixel patch; and

for each discrete cosine transform for the one or more pixel patches, determining one or more coefficients associated with the discrete cosine transform,

wherein determining one or more differences between image data of the first portion of the video frame and image data of the second portion of the video frame comprises determining that an edge is present in the image data based at least on the one or more coefficients associated with the discrete cosine transform.

10. The method of claim 1 , wherein comparing a first portion of the video frame with a second portion of the video frame comprises:

applying a Scharr filter, a Sobel filter, or a perceptual hashing algorithm to at least the first portion of the video frame.

11. The method of claim 1 , wherein comparing a first portion of the video frame with a second portion of the video frame comprises:

determining one or more pixel patches from the first portion of the first video frame or second first portion of the first video frame, each pixel patch including a plurality of pixels; and

performing a convolution-coded stepwise sweep using at least one of the one or more pixel patches,

wherein determining one or more differences between image data of the first portion of the video frame and image data of the second portion of the video frame comprises determining that an edge is present in the image data based at least on a result of the convolution-coded stepwise sweep.

12. The method of claim 1 , wherein comparing a first portion of the video frame with a second portion of the video frame comprises:

determining a pixel patch from the first portion of the first video frame or second first portion of the first video frame, the pixel patch including a plurality of pixels and including pixel information corresponding to at least a portion of the pixel patch;

reducing the pixel information of the pixel patch;

applying a Gaussian blur to the pixel patch;

determining a portion of the video frame; and

calculating a first-order differential of the pixel information in the pixel patch relative to a vertical or horizontal axis of the video frame,

wherein determining one or more differences between image data of the first portion of the video frame and image data of the second portion of the video frame comprises determining that an edge is present in the image data based at least on the first-order differential of the pixel information.

13. A computing device, comprising:

one or more processors; and

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

obtaining one or more video frames of a media segment, the media segment being displayed by a media device;

detecting one or more image edges in a first video frame of the one or more video frames, wherein detecting the one or more image edges comprises:

comparing a first portion of the first video frame with a second portion of the first video frame; and

determining one or more differences between image data of the first portion of the first video frame and image data of the second portion of the first video frame;

determining a duration of time that the one or more image edges remains within the video frame; and

detecting, based on determining that the duration of time is greater than a threshold duration, a particular type of image data included in the video frame.

14. The computing device of claim 13 , wherein comparing a first portion of the video frame with a second portion of the video frame comprises:

determining one or more pixel patches from the first portion of the first video frame or second first portion of the first video frame, each pixel patch including a plurality of pixels;

for each of the one or more pixel patches, performing a discrete cosine transform for the pixel patch;

for each discrete cosine transform for the one or more pixel patches, determining one or more coefficients associated with the discrete cosine transform,

wherein determining one or more differences between image data of the first portion of the video frame and image data of the second portion of the video frame comprises determining that an edge is present in the image data based at least on the one or more coefficients associated with the discrete cosine transform.

15. The computing device of claim 13 , wherein comparing a first portion of the video frame with a second portion of the video frame comprises:

applying a Scharr filter, a Sobel filter, or a perceptual hashing algorithm to at least the first portion of the video frame.

16. The computing device of claim 13 , wherein detecting one or more image edges in the video frame further comprises:

determining one or more pixel patches from the first portion of the first video frame or second first portion of the first video frame, each pixel patch including a plurality of pixels; and

performing a convolution-coded stepwise sweep using at least one of the one or more pixel patches,

wherein determining one or more differences between image data of the first portion of the video frame and image data of the second portion of the video frame comprises determining that an edge is present in the image data based at least on a result of the convolution-coded stepwise sweep.

17. The computing device of claim 13 , wherein comparing a first portion of the video frame with a second portion of the video frame comprises:

determining a pixel patch from the first portion of the first video frame or second first portion of the first video frame, the pixel patch including a plurality of pixels and including pixel information corresponding to at least a portion of the pixel patch;

reducing the pixel information of the pixel patch;

applying a Gaussian blur to the pixel patch;

determining a portion of the video frame; and

calculating a first-order differential of the pixel information in the pixel patch relative to a vertical or horizontal axis of the video frame,

wherein determining one or more differences between image data of the first portion of the video frame and image data of the second portion of the video frame comprises determining that an edge is present in the image data based at least on the first-order differential of the pixel information.

18. 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:

obtaining a video frame of a media segment, the media segment being displayed by a media device;

detecting one or more image edges in a first video frame of the one or more video frames, wherein detecting the one or more image edges comprises:

comparing a first portion of the first video frame with a second portion of the first video frame; and

determining one or more differences between image data of the first portion of the first video frame and image data of the second portion of the first video frame;

determining a duration of time that the one or more image edges remains within the video frame; and

detecting, based on determining that the duration of time is greater than a threshold duration, a particular type of image data included in the video frame.

19. The computer-program product of claim 18 , wherein comparing a first portion of the video frame with a second portion of the video frame comprises:

determining one or more pixel patches from the first portion of the first video frame or second first portion of the first video frame, each pixel patch including a plurality of pixels;

for each of the one or more pixel patches, performing a discrete cosine transform for the pixel patch; and

for each discrete cosine transform for the one or more pixel patches, determining one or more coefficients associated with the discrete cosine transform,

wherein determining one or more differences between image data of the first portion of the video frame and image data of the second portion of the video frame comprises determining that an edge is present in the image data based at least on the one or more coefficients associated with the discrete cosine transform.

20. The computer-program product of claim 18 , wherein comparing a first portion of the video frame with a second portion of the video frame comprises:

applying a Scharr filter, a Sobel filter, or a perceptual hashing algorithm to at least the first portion of the video frame.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2021
From: NEUMEIER, ZEEV; COLLETTE, MICHAEL
To: VIZIO INSCAPE TECHNOLOGIES, LLC
Reel/Frame 055062/0559 →
ENTITY CONVERSION Recorded Jan 28, 2021
From: VIZIO INSCAPE TECHNOLOGIES, LLC
To: INSCAPE DATA, INC.
Reel/Frame 055156/0083 →
Continuity (4)
Continuation 16444152 · Jun 18, 2019
Continuation 15211345 · Jul 15, 2016
Provisional Application 62193322 · Jul 16, 2015
Related Publication 20210144450A1 · May 13, 2021