IP Library Granted Patent US 9,041,864
Granted Patent B2
US 9,041,864 · App. 14/063,575 · Granted May 26, 2015

Method and apparatus for temporal stabilization of streaming frames

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,041,864
App. No.
14/063,575
Granted
May 26, 2015
Kind
B2
Abstract

A method, apparatus and computer program product are disclosed to provide improved temporal stabilization of a control algorithm associated with the processing of streaming frames. In the context of a method, the number of immediately preceding consecutive frames during which a filtered value has been greater than a current value of the current frame is determined or the number of immediately preceding, consecutive frames during which the filtered value has been less than the current value of the current frame is determined. The method also includes determining a weight based upon the number of immediately preceding, consecutive frames. The weight is configured to vary in a direct relationship to the number of immediately preceding, consecutive frames. The method also determines a filtered value of a current frame based upon a combination of the weight and the difference between the prior filtered value and the value of the current frame.

Claims (27)

1. A method comprising:

determining, with a processor, a number of preceding, consecutive frames during which a an associated filtered value has been greater than a current value of a current frame or the number of preceding, consecutive frames during which the associated filtered value has been less than the current value of the current frame, wherein determining the number of preceding, consecutive frames comprises maintaining a first counter of the number of preceding, consecutive frames during which the associated filtered value has been greater than the current value of the current frame or maintaining a second counter of the number of preceding, consecutive frames during which the associated filtered value has been less than the current value of the current frame;

determining a weight based upon the number of preceding, consecutive frames, wherein the weight varies in a direct relationship to the number of preceding, consecutive frames;

determining a filtered value of the current frame based upon a combination of the weight and a difference between a prior filtered value associated with a previous frame and the current value of the current frame; and

resetting at least one of the first and second counters in an instance in which the filtered value associated with the proceeding, consecutive frames equals or exceeds the current value of the current frame.

2. A method according to claim 1 further comprising reducing at least one of the first and second counters in an instance in which the filtered value associated with the proceeding, consecutive frames equals or exceeds the current value of the current frame.

3. A method according to claim 2 further comprising determining that the preceding, consecutive frames are ascending or determining that the preceding, consecutive frames are descending, wherein reducing at least one of the first and second counters comprises reducing, but not resetting, at least one of the first and second counters in an instance in which the preceding, consecutive frames are determined to be ascending or to be descending.

4. A method according to claim 1 further comprising determining a weight associated with the difference between the prior filtered value and the current value of the current frame, and wherein determining the filtered value of the current frame comprises determining the filtered value of the current frame based upon a combination of the plurality of weights and the current value of the current frame.

5. A method according to claim 4 further comprising combining the weight associated with the difference between the prior filtered value and the current value of the current frame and the weight based upon the number of preceding, consecutive frames.

6. A method according to claim 1 , where in the number of preceding consecutive frames comprises a number of immediately preceding, consecutive frames.

7. 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 processor, cause the apparatus to at least:

determine a number of preceding, consecutive frames during which an associated filtered value has been greater than a current value of a current frame or the number of preceding, consecutive frames during which the associated filtered value has been less than the current value of the current frame, wherein the at least one memory and the computer program code are configured to, with the processor, cause the apparatus to determine the number of preceding, consecutive frames by maintaining a first counter of the number of preceding, consecutive frames during which the associated filtered value has been greater than the current value of the current frame or by maintaining a second counter of the number of preceding, consecutive frames during which the associated filtered value has been less than the current value of the current frame;

determine a weight based upon the number of preceding, consecutive frames, wherein the weight varies in a direct relationship to the number of preceding, consecutive frames;

determine a filtered value of the current frame based upon a combination of the weight and a difference between a prior filtered value associated with a previous frame and the current value of the current frame; and

reset at least one of the first and second counters in an instance in which the filtered value associated with the proceeding, consecutive frames equals or exceeds the current value of the current frame.

8. An apparatus according to claim 7 wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to reduce at least one of the first and second counters in an instance in which the filtered value associated with the proceeding, consecutive frames equals or exceeds the current value of the current frame.

9. An apparatus according to claim 8 wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to determine that the preceding, consecutive frames are ascending or to determine that the preceding, consecutive frames are descending, wherein the at least one memory and the computer program code are configured to, with the processor, cause the apparatus to reduce at least one of the first and second counters by reducing, but not resetting, at least one of the first and second counters in an instance in which the preceding, consecutive frames are determined to be ascending or to be descending.

10. An apparatus according to claim 7 wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to determine a weight associated with the difference between the prior filtered value and the current value of the current frame, and wherein the at least one memory and the computer program code are configured to, with the processor, cause the apparatus to determine the filtered value of the current frame by determining the filtered value of the current frame based upon a combination of the plurality of weights and the current value of the current frame.

11. An apparatus according to claim 7 wherein the at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to combine the weight associated with the difference between the prior filtered value and the current value of the current frame and the weight based upon the number of preceding, consecutive frames.

12. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code portions stored therein, the computer-executable program code portions comprising program code instructions for:

determining a number of preceding, consecutive frames during which an associated filtered value has been greater than a current value of a current frame or the number of preceding, consecutive frames during which the associated filtered value has been less than the current value of the current frame, wherein the program code instructions for determining the number of preceding, consecutive frames comprise program code instructions for maintaining a first counter of the number of preceding, consecutive frames during which the associated filtered value has been greater than the current value of the current frame or program code instructions for maintaining a second counter of the number of preceding, consecutive frames during which the associated filtered value has been less than the current value of the current frame;

determining a weight based upon the number of preceding, consecutive frames, wherein the weight varies in a direct relationship to the number of preceding, consecutive frames;

determining a filtered value of the current frame based upon a combination of the weight and a difference between a prior filtered value associated with a previous frame and the current value of the current frame; and

resetting at least one of the first and second counters in an instance in which the filtered value associated with the proceeding, consecutive frames equals or exceeds the current value of the current frame.

13. A computer program product according to claim 12 wherein the computer-executable program code portions further comprise program code instructions for reducing at least one of the first and second counters in an instance in which the filtered value associated with the proceeding, consecutive frames equals or exceeds the current value of the current frame.

14. A computer program product according to claim 13 wherein the computer-executable program code portions further comprise program code instructions for determining that the preceding, consecutive frames are ascending or program code instructions for determining that the preceding, consecutive frames are descending, wherein the program code instructions for reducing at least one of the first and second counters comprise program code instructions for reducing, but not resetting, at least one of the first and second counters in an instance in which the preceding, consecutive frames are determined to be ascending or to be descending.

15. A computer program product according to claim 12 wherein the computer-executable program code portions further comprise program code instructions for determining a weight associated with the difference between the prior filtered value and the current value of the current frame, and wherein program code instructions for determining the filtered value of the current frame comprise program code instructions for determining the filtered value of the current frame based upon a combination of the plurality of weights and the current value of the current frame.

Assignments (10)
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035208/0587 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2013
From: NENONEN, PETRI
To: NOKIA CORPORATION
Reel/Frame 031480/0670 →