IP Library Granted Patent US 9,064,186
Granted Patent B2
US 9,064,186 · App. 13/991,721 · Granted Jun 23, 2015

Limited-context-based identifying key frame from video sequence

Inventors: Xiaohui Xie (Beijing, CN); Xiao Zeng (Beijing, CN); Yingfei Liu (Beijing, CN); Yanming Zou (Beijing, CN); Kongqiao Wang (Beijing, CN); Zhicheng Zhao (Beijing, CN); Anni Cai (Beijing, CN)
Assignee: Nokia Technologies Oy
G06K9/6202G06K9/00751
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,064,186
App. No.
13/991,721
Granted
Jun 23, 2015
Kind
B2
Abstract

An example apparatus is caused to receive a video sequence of a plurality of frames, and perform a number of operations as each of at least some of the frames is received but before all of the frames are received. The apparatus is caused to calculate a score for the frame, and compare the score for the frame to a predefined threshold. The apparatus is caused to cause output of the frame as a key frame in an instance in which the frame is received within a specified period of time and the score for the frame is above the predefined threshold. Otherwise, in an instance in which none of the scores for frames received within the specified period of time is above the predefined threshold, the apparatus is caused to cause output of one of the frames received within the specified period of time as a key frame.

Claims (65)

1. An apparatus comprising:

at least one processor; and

at least one memory including computer program code,

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to at least:

receive a video sequence of a plurality of frames; and as each of at least some of the frames is received but before all of the frames are received,

calculate a score for the frame as a function of a value of each of one or more properties of a picture of the frame;

compare the score for the frame to a predefined threshold; and

cause output of the frame as a key frame in an instance in which the frame is received within a specified period of time and the score for the frame is above the predefined threshold; or otherwise,

cause output of one of the frames received within the specified period of time as a key frame in an instance in which none of the scores for frames received within the specified period of time is above the predefined threshold, the respective one of the frames being the frame having the highest score among the frames received within the specified period of time,

wherein as each frame is received subsequent to the output of the key frame, the memory and computer program code are further configured to, with the at least one processor, cause the apparatus to:

calculate the score for the frame;

compare a weighted score for the frame to the score for the key frame, the weighted score comprising the score for the frame weighted by a weight coefficient; and

cause updating of the key frame with the frame in an instance in which the weighted score for the frame is greater than the score for the key frame.

2. The apparatus of claim 1 , wherein the one or more properties include one or more of a luminance, edge point detection, grayscale entropy or color entropy of a picture of the frame.

3. The apparatus of claim 1 , wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus to further:

receive user input to select a received frame of the video sequence as a key frame, the user input being received before all of the frames of the video sequence are received; and in response thereto,

cause output of one of the received frames as a key frame.

4. The apparatus of claim 3 , wherein being configured to cause the apparatus to cause output of one of the received frames includes being configured to cause the apparatus to cause output of one of the received frames having a highest score among a plurality of the received frames.

5. The apparatus of claim 1 , wherein the video sequence includes at least one of a long segment or a plurality of segments, each of which includes a plurality of frames, wherein a long segment comprises a segment comprising a number of frames satisfying a threshold number of frames, and

wherein the at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus to calculate a score, compare the score, and cause output of the frame as a key frame in an instance in which the score for the frame is above the predefined threshold or cause output of one of the frames received within a specified period of time in a plurality of instances for the long segment, or for each of at least some of the segments of the video sequence.

6. The apparatus of claim 5 , wherein the at least one memory and the computer program code are further configured to, with the at least one processor and as at least some but before all of the frames of the video sequence are received, cause the apparatus to further detect at least some of the segments, including:

calculate an inter-frame difference between pictures of one or more successive pairs of frames, the inter-frame difference being calculated as a function of values of each of one or more second properties of the pictures of the respective frames; and

identify a pair of frames as a boundary between segments to thereby detect an end of one segment and a beginning of a next segment in an instance in which the inter-frame difference is above a second threshold.

7. The apparatus of claim 6 , wherein being configured to cause the apparatus to identify a pair of frames as a boundary between segments includes being configured to cause the apparatus to:

identify a pair of frames as a potential boundary between segments in an instance in which the inter-frame difference is above the second threshold;

calculate motion information for at least one of the identified pair of frames or one or more successive pairs of frames after the identified pair of frames; and

identify the pair of frames as an actual boundary between segments in an instance in which the pair of frames satisfy one or more conditions, at least one of which is a function of the motion information.

8. The apparatus of claim 5 , wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus to further:

group at least one plurality of frames output as key frames based on an identification of at least two of the frames in each plurality being similar, the respective frames being identified as being similar based on values of one or more second properties of pictures of the respective frames satisfying a difference threshold.

9. The apparatus of claim 8 , wherein the one or more second properties include one or more of a block histogram, color histogram or order sequence.

10. A method comprising:

receiving a video sequence of a plurality of frames; and as each of at least some of the frames is received but before all of the frames are received,

calculating a score for the frame as a function of a value of each of one or more properties of a picture of the frame;

comparing the score for the frame to a predefined threshold; and

causing output of the frame as a key frame in an instance in which the frame is received within a specified period of time and the score for the frame is above the predefined threshold; or otherwise,

causing output of one of the frames received within the specified period of time as a key frame in an instance in which none of the scores for frames received within the specified period of time is above the predefined threshold, the respective one of the frames being the frame having the highest score among the frames received within the specified period of time,

wherein as each of at least some of the frames is received after output of the key frame, the method further comprises:

calculating the score for the frame;

comparing a weighted score for the frame to the score for the key frame, the weighted score comprising the score for the frame weighted by a weight coefficient; and

causing updating of the key frame with the frame in an instance in which the weighted score for the frame is greater than the score for the key frame.

11. The method of claim 10 , wherein the one or more properties include one or more of a luminance, edge point detection, grayscale entropy or color entropy of a picture of the frame.

12. The method of claim 10 further comprising:

receiving user input to select a received frame of the video sequence as a key frame, the user input being received before all of the frames of the video sequence are received; and in response thereto,

causing output of one of the received frames as a key frame.

13. The method of claim 12 , wherein causing output of one of the received frames includes causing output of one of the received frames having a highest score among a plurality of the received frames.

14. The method of claim 10 , wherein the video sequence includes at least one of a long segment or a plurality of segments, each of which includes a plurality of frames, wherein a long segment comprises a segment comprising a number of frames satisfying a threshold number of frames, and

wherein calculating a score, comparing the score, and causing output of the frame as a key frame in an instance in which the score for the frame is above the predefined threshold or causing output of one of the frames received within a specified period of time occur in a plurality of instances for the long segment, or for each of at least some of the segments of the video sequence.

15. The method of claim 14 , wherein as at least some but before all of the frames of the video sequence are received, the method further comprises detecting at least some of the segments, including:

calculating an inter-frame difference between pictures of one or more successive pairs of frames, the inter-frame difference being calculated as a function of values of each of one or more second properties of the pictures of the respective frames; and

identifying a pair of frames as a boundary between segments to thereby detect an end of one segment and a beginning of a next segment in an instance in which the inter-frame difference is above a second threshold.

16. The method of claim 15 , wherein identifying a pair of frames as a boundary between segments includes:

identifying a pair of frames as a potential boundary between segments in an instance in which the inter-frame difference is above the second threshold;

calculating motion information for at least one of the identified pair of frames or one or more successive pairs of frames after the identified pair of frames; and

identifying the pair of frames as an actual boundary between segments in an instance in which the pair of frames satisfy one or more conditions, at least one of which is a function of the motion information.

17. A non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable storage medium and computer-readable program code portions being configured to, with at least one processor, cause an apparatus to at least:

receive a video sequence of a plurality of frames; and as each of at least some of the frames is received but before all of the frames are received,

calculate a score for the frame as a function of a value of each of one or more properties of a picture of the frame;

compare the score for the frame to a predefined threshold; and

cause output of the frame as a key frame in an instance in which the frame is received within a specified period of time and the score for the frame is above the predefined threshold; or otherwise,

cause output of one of the frames received within the specified period of time as a key frame in an instance in which none of the scores for frames received within the specified period of time is above the predefined threshold, the respective one of the frames being the frame having the highest score among the frames received within the specified period of time;

wherein as each frame is received subsequent to the output of the key frame, the computer-readable storage medium and computer-readable program code portions are further configured to, with at least one processor, cause an apparatus to:

calculate the score for the frame;

compare a weighted score for the frame to the score for the key frame, the weighted score comprising the score for the frame weighted by a weight coefficient; and

cause updating of the key frame with the frame in an instance in which the weighted score for the frame is greater than the score for the key frame.

18. The computer-readable storage medium of claim 17 , wherein the one or more properties include one or more of a luminance, edge point detection, grayscale entropy or color entropy of a picture of the frame.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035449/0205 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2013
From: XIE, XIAOHUI; ZENG, XIAO; LIU, YINGFEI; ZOU, YANMING; WANG, KONGQIAO; ZHAO, ZHICHENG; CAI, ANNI
To: NOKIA CORPORATION
Reel/Frame 030550/0294 →
Continuity (1)
Related Publication 20130251274A1 · Sep 26, 2013