IP Library Granted Patent US 9,986,240
Granted Patent B2
US 9,986,240 · App. 15/395,405 · Granted May 29, 2018

Method for extracting features from a flow of digital video frames, and corresponding system and computer program product

Inventor: Danilo Pietro Pau (Sesto San Giovanni, IT)
Assignee: STMicroelectronics S.r.l.
H04N19/115G06K9/4671H04N19/146H04N19/172H04N19/196
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,986,240
App. No.
15/395,405
Granted
May 29, 2018
Kind
B2
Abstract

In an embodiment, digital video frames in a flow are subjected to a method of extraction of features including the operations of: extracting from the video frames respective sequences of pairs of keypoints/descriptors limiting to a threshold value the number of pairs extracted for each frame; sending the sequences extracted from an extractor module to a server for processing with a bitrate value variable in time; receiving the aforesaid bitrate value variable in time at the extractor as target bitrate for extraction; and limiting the number of pairs extracted by the extractor to a threshold value variable in time as a function of the target bitrate.

Claims (49)

1. A method of extracting features from a sequence of digital images, the method comprising:

extracting from each of the digital images respective sequences of value pairs;

transmitting the sequences of value pairs over a network to a server having an available bitrate that varies over time;

receiving over the network a value of the available bitrate of the server; and

limiting a number of value pairs extracted from each digital image to a threshold value that is based upon the available bitrate;

determining as a function of the value of the available bit rate a target number of bits available for the extracted value pairs of a given digital image in the sequence;

determining, for the given digital image, a difference between the target number of bits available for the value pairs extracted for the given digital image and a number of bits included in the value pairs extracted for the given digital image; and

determining the target number of bits available for the value pairs to be extracted for the digital image subsequent to the given digital image in the sequence by adding the difference to the target number of bits available for value pairs extracted for the given digital image.

2. The method of claim 1 , wherein extracting from each of the digital images respective sequences of value pairs comprises extracting, as each value pair, a keypoint and a corresponding descriptor.

3. The method of claim 2 , wherein extracting each keypoint comprises applying a Differences-of-Gaussians technique to the digital image.

4. The method of claim 1 , wherein receiving over the network the value of the available bitrate of the server comprises receiving the available bitrate of the server having a value indicating matching, or search or retrieval, capacity of the server at that point in time.

5. The method of claim 1 further comprising:

determining an average number of bits included in the value pairs extracted for the given digital image; and

determining the threshold value for the value pairs to be extracted for the digital image subsequent to the given digital image in the sequence as the ratio of the number of target bits available for the value pairs to be extracted for the digital image subsequent to the given digital image to the average number of bits included in the value pairs extracted for the given digital image.

6. An extraction device configured to:

receive a sequence of video frames and to extract from each of the video frames respective sequences of value pairs;

send the sequences of value pairs over a network to a server having an available bitrate that varies over time;

receive from the server over the network value of the available bitrate of the server;

limit a number of value pairs extracted from each video frame to a threshold value that is based upon the available bitrate of the server;

determine as a function of the value of the available bit rate a target number of bits available for the extracted value pairs of a given video frame in the sequence;

determine, for the given video frame, a difference between the target number of bits available for the value pairs extracted for the given video frame and a number of bits included in the value pairs extracted for the given video frame; and

determine the target number of bits available for the value pairs to be extracted for the video frame subsequent to the given video frame in the sequence by adding the difference to the target number of bits available for value pairs extracted for the given video frame.

7. The extraction device of claim 6 , wherein each value pair comprises a keypoint and a corresponding descriptor.

8. The extraction device of claim 7 , wherein the extraction device comprises a selection threshold computation device configured to generate the threshold value based upon the available bitrate, a parameter indicating the number of video frames per second for the video frames in the sequence, and a number of bits parameter indicating the number of bits in the number of value pairs corresponding to the threshold value.

9. The extraction device of claim 8 , wherein the extraction device is configured to extract each keypoint through a Differences-of-Gaussians technique applied to video frame.

10. The extraction device of claim 6 , wherein the available bitrate of the server has a value indicating matching or search or retrieval capacity of the server at that point in time.

11. The extraction device of claim 6 , wherein the extraction device if further configured to:

determine an average number of bits included in the value pairs extracted for the given video frame; and

determine the threshold value for the value pairs to be extracted for the video frame subsequent to the given video frame in the sequence as the ratio of the number of target bits available for the value pairs to be extracted for the video frame subsequent to the given video frame to the average number of bits included in the value pairs extracted for the given video frame.

12. An electronic system, comprising:

a server computer system having an available bitrate, the server computer system configured to communicate the available bitrate over a network; and

a computer system including configured to receive from the server over the network value of the available bitrate of the server, the computer system including an extraction device configured to receive a sequence of video frames and to extract from at least some of the video frames respective sequences of value pairs, the extraction device configured to communicate the sequences of value pairs over the network to the server and further configured to limit a number of value pairs extracted from each video frame to a threshold value that is based upon the available bitrate of the server and the extraction device further configured to:

determine as a function of the value of the available bit rate a target number of bits available for the extracted value pairs of a given video frame in the sequence;

determine, for the given video frame, a difference between the target number of bits available for the value pairs extracted for the given video frame and a number of bits included in the value pairs extracted for the given video frame; and

determine the target number of bits available for the value pairs to be extracted for the video frame subsequent to the given video frame in the sequence by adding the difference to the target number of bits available for value pairs extracted for the given video frame.

13. The electronic system of claim 12 , wherein the server computer system includes a plurality of stored reference images and wherein the server computer system performs matching or retrieval of reference images based on the sequences of value pairs received from the computer system.

14. The electronic system of claim 12 , wherein the extraction device if further configured to:

determine an average number of bits included in the value pairs extracted for the given video frame; and

determine the threshold value for the value pairs to be extracted for the video frame subsequent to the given video frame in the sequence as the ratio of the number of target bits available for the value pairs to be extracted for the video frame subsequent to the given video frame to the average number of bits included in the value pairs extracted for the given video frame.

15. The electronic system of claim 12 , wherein the available bitrate of the server computer system is based at least in part on a computational load of the server computer system.

16. The electronic system of claim 12 , wherein each value pair comprises an interest point and a corresponding descriptor.

17. A non-transitory computer readable medium containing program instructions for execution by at least one processor, wherein execution of the program instructions by the at least one processor causes the at least one processor to:

extract from digital images in a sequence of digital images respective sequences of value pairs;

transmit the sequences of value pairs over a network to a server having an available bitrate that varies over time;

receive over the network a value of the available bitrate of the server; and

limit a number of value pairs extracted from each digital image to a threshold value that is based upon the available bitrate;

determine as a function of the value of the available bit rate a target number of bits available for the extracted value pairs of a given digital image in the sequence;

determine, for the given digital image, a difference between the target number of bits available for the value pairs extracted for the given digital image and a number of bits included in the value pairs extracted for the given digital image; and

determine the target number of bits available for the value pairs to be extracted for the digital image subsequent to the given digital image in the sequence by adding the difference to the target number of bits available for value pairs extracted for the given digital image.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2022
From: STMICROELECTRONICS S.R.L.
To: STMICROELECTRONICS INTERNATIONAL N.V.
Reel/Frame 060301/0355 →
Priority Claims (1)
IT TO2012A0986 · Nov 14, 2012 · national
Continuity (2)
Continuation 14080080 · Nov 14, 2013
Related Publication 20170111638A1 · Apr 20, 2017