IP Library Granted Patent US 11,961,299
Granted Patent B2
US 11,961,299 · App. 17/170,447 · Granted Apr 16, 2024

Method and apparatus for generating video fingerprint

Inventor: Changguo Chen (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
G06V20/46
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,961,299
App. No.
17/170,447
Granted
Apr 16, 2024
Kind
B2
Abstract

A method and an apparatus for generating a video fingerprint are disclosed. The method includes: performing shot boundary detection on content of a video; determining a time duration of each shot according to positional points of the shot boundary, and compose the time duration of each shot into a shot boundary time slice sequence; and obtaining video fingerprint information according to the time slice sequence.

Claims (60)

1. A method implemented by one or more computing devices, the method comprising:

performing shot boundary detection on content of a video;

determining a time duration of each shot according to positional points of a shot boundary, and compose the time duration of each shot into a shot boundary time slice sequence; and

obtaining video fingerprint information according to the time slice sequence, wherein obtaining the video fingerprint information according to the time slice sequence comprises:

obtaining video fingerprint information of a current shot according to a difference between a time slice element of the current shot and a time slice element of an adjacent shot in the time slice sequence, obtaining the video fingerprint information of the current shot comprising:

separately calculating quantized differences of the time slice element of the current shot with a time slice element of a previous shot and a time slice element of a next shot in the time slice sequence;

using the quantized differences corresponding to the time slice element of the current shot as an index item of the time slice element of the current shot; and

using the index item of the time slice element of the current shot, a video sequence number of the video and a shot sequence number of a time slice of the current shot as the video fingerprint information of the current shot.

2. The method of claim 1 , wherein obtaining the shot sequence number of the time slice of the current shot comprises:

determining the shot sequence number of the time slice of the current shot according to a ranking order of a time duration of the current shot in the shot boundary time slice sequence.

3. The method of claim 1 , wherein performing the shot boundary detection on the content of the video comprises:

processing each image frame of the content of the video to obtain a grayscale image of a preset size;

calculating a normalized histogram of each image frame;

calculating a normalized cumulative histogram of each image frame; and

calculating a difference between cumulative histograms of every two adjacent image frames to form a difference sequence.

4. The method of claim 3 , wherein performing the shot boundary detection on the content of the video further comprises:

smoothing the difference sequence using a window of a predefined size;

calculating a standard deviation of the difference sequence within a time window whose time length is a preset length.

5. The method of claim 4 , wherein performing the shot boundary detection on the content of the video further comprises:

determining that an image corresponding to a current window is a position of the shot boundary if a difference between a value of the current window and the standard deviation meets a preset condition.

6. An apparatus comprising:

one or more processors;

memory storing executable instructions that, when executed by the one or more processors, cause the one or more processors to perform acts comprising:

performing shot boundary detection on content of a video, wherein performing the shot boundary detection on the content of the video comprises:

calculating a normalized histogram of each image frame;

calculating a normalized cumulative histogram of each image frame; and

calculating a difference between cumulative histograms of every two adjacent image frames to form a difference sequence;

smoothing the difference sequence using a window of a preset size;

calculating a standard deviation of the difference sequence within a time window whose time length is a preset length;

determining a time duration of each shot according to positional points of a shot boundary, and composing the time duration of each shot into a shot boundary time slice sequence; and

obtaining video fingerprint information according to the time slice sequence.

7. The apparatus of claim 6 , wherein obtaining the video fingerprint information according to the time slice sequence comprises:

obtaining video fingerprint information of a current shot according to a difference between a time slice element of the current shot and a time slice element of an adjacent shot in the time slice sequence.

8. The apparatus of claim 7 , wherein obtaining the video fingerprint information of the current shot comprises:

separately calculating quantized differences of the time slice element of the current shot with a time slice element of a previous shot and a time slice element of a next shot in the time slice sequence;

using the two quantized differences corresponding to the time slice element of the current shot as an index item of the time slice element of the current shot; and

using the index item of the time slice element of the current shot, a video sequence number of the video and a shot sequence number of a time slice of the current shot as fingerprint information of the current shot.

9. The apparatus of claim 8 , wherein obtaining the shot sequence number of the time slice of the current shot comprises:

determining the shot sequence number of the time slice of the current shot according to a ranking order of a time duration of the current shot in the shot boundary time slice sequence.

10. The apparatus of claim 6 , wherein performing the shot boundary detection on the content of the video further comprises:

determining that an image corresponding to a current window is a position of the shot boundary if a difference between a value of the current window and the standard deviation meets a preset condition.

11. One or more computer readable media storing executable instructions that, when executed by one or more processors, cause the one or more processors to perform acts comprising:

performing shot boundary detection on content of a video;

determining a time duration of each shot according to positional points of a shot boundary, and compose the time duration of each shot into a shot boundary time slice sequence; and

obtaining video fingerprint information according to the time slice sequence, wherein obtaining the video fingerprint information according to the time slice sequence comprises:

obtaining video fingerprint information of a current shot according to a difference between a time slice element of the current shot and a time slice element of an adjacent shot in the time slice sequence, wherein obtaining the video fingerprint information of the current shot comprises:

separately calculating quantized differences of the time slice element of the current shot with a time slice element of a previous shot and a time slice element of a next shot in the time slice sequence;

using the quantized differences corresponding to the time slice element of the current shot as an index item of the time slice element of the current shot; and

using the index item of the time slice element of the current shot, a video sequence number of the video and a shot sequence number of a time slice of the current shot as the video fingerprint information of the current shot.

12. The one or more computer readable media of claim 11 , wherein obtaining the shot sequence number of the time slice of the current shot comprises:

determining the shot sequence number of the time slice of the current shot according to a ranking order of a time duration of the current shot in the shot boundary time slice sequence.

13. The one or more computer readable media of claim 11 , wherein performing the shot boundary detection on the content of the video comprises:

processing each image frame of the content of the video to obtain a grayscale image of a preset size;

calculating a normalized histogram of each image frame;

calculating a normalized cumulative histogram of each image frame; and

calculating a difference between cumulative histograms of every two adjacent image frames to form a difference sequence.

14. The one or more computer readable media of claim 13 , wherein performing the shot boundary detection on the content of the video further comprises:

smoothing the difference sequence using a window of a predefined size;

calculating a standard deviation of the difference sequence within a time window whose time length is a preset length; and

determining that an image corresponding to a current window is a position of the shot boundary if a difference between a value of the current window and the standard deviation meets a preset condition.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2021
From: CHEN, CHANGGUO
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 055200/0033 →
Priority Claims (1)
CN 201810905169.X · Aug 9, 2018 · national
Continuity (2)
Continuation PCTCN2019099051 · Aug 2, 2019
Related Publication 20210166036A1 · Jun 3, 2021