IP Library Granted Patent US 11,743,474
Granted Patent B2
US 11,743,474 · App. 17/459,472 · Granted Aug 29, 2023

Shot-change detection using container level information

Inventors: Maxim Bykov (Redwood City, CA); Ioannis Katsavounidis (San Jose, CA)
Assignee: Meta Platforms, Inc.
H04N19/172H04N19/103H04N19/136
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,743,474
App. No.
17/459,472
Granted
Aug 29, 2023
Kind
B2
Abstract

The disclosed computer-implemented method may include, for a current frame of a sequence of video frames, determining a frame type label of the current frame. The method may include, in response to determining that the current frame is labeled as an intra frame (I-frame), decoding the current frame and comparing the decoded frame to historical I-frame data. The method may also include, in response to the comparison satisfying a shot-change threshold, flagging the current frame as a shot-change frame, and in response to flagging the current frame as the shot-change frame, storing the current frame for a subsequent shot-change detection. The method may further include updating, based on flagged shot-change frames, shot boundaries for the sequence of video frames. Various other methods, systems, and computer-readable media are also disclosed.

Claims (58)

1. A computer-implemented method comprising, for a each frame of a sequence of video frames:

determining a frame type label of a current frame;

in response to determining that the current frame is labeled as an inter frame:

determining a frame size of the current frame;

comparing the frame size to an average frame size of frames following a previous shot-change frame; and

in response to the frame size exceeding the average frame size, flagging the current frame as a shot-change frame; and

updating, based on flagged shot-change frames, shot boundaries for the sequence of video frames.

2. The method of claim 1 , further comprising, in response to flagging the current frame as the shot-change frame:

decoding the current frame; and

storing pixel values of the decoded frame as an I-frame.

3. The method of claim 1 , further comprising, in response to the frame size being less than or equal to the average frame size, unflagging the current frame as a shot-change frame.

4. The method of claim 1 , wherein the average frame size comprises a running average frame size of one or more frames following the previous shot-change frame and having a same frame type as the current frame.

5. The method of claim 1 , further comprising, in response to determining that the current frame is labeled as an intra frame (I-frame):

decoding the current frame;

comparing the decoded frame to historical I-frame data;

in response to the comparison satisfying a shot-change threshold, flagging the current frame as a shot-change frame; and

in response to flagging the current frame as the shot-change frame, storing the current frame for a subsequent shot-change detection.

6. The method of claim 5 , further comprising, in response to the comparison not satisfying the shot-change threshold, unflagging the current frame as a shot-change frame.

7. The method of claim 5 , wherein comparing the decoded frame to historical I-frame data further comprises comparing the decoded frame to at least one of a histogram of differences (HOD) of one or more prior shot-change frames or a difference of histograms (DOH) with one or more prior shot-change frames.

8. A system comprising:

at least one physical processor; and

physical memory comprising computer-executable instructions that, when executed by the physical processor, cause the physical processor to, for each frame of a sequence of video frames:

determine a frame type label of a current frame,

in response to determining that the current frame is labeled as an inter frame:

determine a frame size of the current frame;

compare the frame size to an average frame size of frames following a previous shot-change frame; and

in response to the frame size exceeding the average frame size, flag the current frame as a shot-change frame; and

update, based on flagged shot-change frames, shot boundaries for the sequence of video frames.

9. The system of claim 8 , wherein the computer-executable further comprise instructions that cause the physical processor to, in response to flagging the current frame as the shot-change frame:

decode the current frame; and

store pixel values of the decoded frame as an I-frame.

10. The system of claim 8 , wherein the computer-executable further comprise instructions that cause the physical processor to, in response to the frame size being less than or equal to the average frame size, unflag the current frame as a shot-change frame.

11. The system of claim 8 , wherein the average frame size comprises a running average frame size of one or more frames following the previous shot-change frame and having a same frame type as the current frame.

12. The system of claim 8 , wherein the computer-executable further comprise instructions that cause the physical processor to, in response to determining that the current frame is labeled as an intra frame (I-frame):

decode the current frame;

compare the decoded frame to historical I-frame data;

in response to the comparison satisfying a shot-change threshold, flag the current frame as a shot-change frame; and

in response to flagging the current frame as the shot-change frame, store the current frame for a subsequent shot-change detection.

13. The system of claim 12 , wherein the computer-executable further comprise instructions that cause the physical processor to, in response to the comparison not satisfying the shot-change threshold, unflag the current frame as a shot-change frame.

14. The system of claim 12 , wherein comparing the decoded frame to historical I-frame data further comprises comparing the decoded frame to at least one of a histogram of differences (HOD) of one or more prior shot-change frames or a difference of histograms (DOH) with one or more prior shot-change frames.

15. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to, for each frame of a sequence of video frames:

determine a frame type label of a current frame;

in response to determining that the current frame is labeled as an inter frame:

determine a frame size of the current frame;

compare the frame size to an average frame size of frames following a previous shot-change frame; and

in response to the frame size exceeding the average frame size, flag the current frame as a shot-change frame; and

update, based on flagged shot-change frames, shot boundaries for the sequence of video frames.

16. The non-transitory computer-readable medium of claim 15 , wherein the computer-executable further comprise instructions that cause the computing device to, in response to flagging the current frame as the shot-change frame:

decode the current frame; and

store pixel values of the decoded frame as an I-frame.

17. The non-transitory computer-readable medium of claim 15 , wherein the computer-executable further comprise instructions that cause the computing device to, in response to the frame size being less than or equal to the average frame size, unflag the current frame as a shot-change frame.

18. The non-transitory computer-readable medium of claim 15 , wherein the computer-executable further comprise instructions that cause the computing device to, in response to determining that the current frame is labeled as an intra frame (I-frame):

decode the current frame;

compare the decoded frame to historical I-frame data;

in response to the comparison satisfying a shot-change threshold, flag the current frame as a shot-change frame; and

in response to flagging the current frame as the shot-change frame, store the current frame for a subsequent shot-change detection.

19. The non-transitory computer-readable medium of claim 18 , wherein the computer-executable further comprise instructions that cause the computing device to, in response to the comparison not satisfying the shot-change threshold, unflag the current frame as a shot-change frame.

20. The non-transitory computer-readable medium of claim 18 , wherein comparing the decoded frame to historical I-frame data further comprises comparing the decoded frame to at least one of a histogram of differences (HOD) of one or more prior shot-change frames or a difference of histograms (DOH) with one or more prior shot-change frames.

Assignments (2)
CHANGE OF NAME Recorded Jan 11, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058685/0901 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2021
From: BYKOV, MAXIM; KATSAVOUNIDIS, IOANNIS
To: FACEBOOK, INC.
Reel/Frame 057871/0143 →