IP Library Granted Patent US 7,933,767
Granted Patent B2
US 7,933,767 · App. 11/022,610 · Granted Apr 26, 2011

Systems and methods for determining pitch lag for a current frame of information

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 7,933,767
App. No.
11/022,610
Granted
Apr 26, 2011
Kind
B2
Abstract

Methods, computer code products, devices, modules, systems, and encoders are disclosed which are configured to use an adaptive lag search window for determining a lag estimate for a current frame of information in an audio encoding system. The system can determine if the lag estimate is reliable and if not a new search window can be selected and a new lag estimate can be calculated based on the new search window. An adaptive threshold can be compared to the cross correlation for a lag estimate in order to determine whether the lag estimate is reliable. The system can also determine if an encoding gain is likely to be achieved using the prediction and if not, the computationally expensive time-to-frequency transformation can be avoided.

Claims (78)

1. A method for determining pitch lag for a current frame of information in a long term prediction (LTP) encoding system, the method comprising:

selecting a lag search window for the current frame in a vicinity of a previous frame pitch lag, the lag search window having an upper boundary and a lower boundary;

calculating, by a processor associated with the LTP encoding system, a pitch lag estimate in the lag search window for the current frame;

determining if the pitch lag estimate is unreliable based in part on an average cross-correlation for a plurality of previous frames; and

upon determination of the pitch lag estimate to be unreliable, selecting a new lag search window and calculating a new pitch lag estimate in the new lag search window.

2. The method of claim 1 , wherein the selecting of the new lag search window comprises:

calculating a lower pitch lag for a lag range N−1, . . . , M n1 +1 and calculating an upper pitch lag for a lag range M n1 −1, . . . , 0, where M n1 represents the pitch lag estimate and N is frame size in the time domain;

selecting a new search window locator corresponding to the one of either the lower pitch lag or upper pitch lag that produces a maximum cross correlation;

setting a new search window around the new search window locator;

calculating a new pitch lag for the new search window; and

selecting as a lag estimator the one of either the pitch lag or the new pitch lag that produces a maximum cross correlation.

3. The method of claim 1 , wherein the determining if the pitch lag is unreliable is also based in part on a comparison of a cross correlation associated with the pitch lag to an adaptive threshold.

4. The method of claim 1 , further comprising determining whether encoding gain can be achieved using prediction for the pitch lag estimate, and if the encoding gain cannot be achieved, foregoing performing a time-to-frequency transformation.

5. The method of claim 3 , further comprising determining whether encoding gain can be achieved using prediction for the pitch lag estimate, and if encoding gain can be achieved performing a time-to-frequency transformation, evaluating prediction in a frequency domain, and determining whether to update the adaptive threshold.

6. A computer program product for determining pitch lag for a current frame of information in a long term prediction (LTP) encoding system, the computer program product comprising:

computer readable code and a non-transitory computer readable storage medium configured for:

selecting a lag search window for the current frame in a vicinity of a previous frame pitch lag, the lag search window having an upper boundary and a lower boundary;

calculating a pitch lag estimate in the lag search window for the current frame;

determining if the pitch lag estimate is unreliable based in part on an average cross-correlation for a plurality of previous frames; and

upon determination of the pitch lag estimate to be unreliable, selecting a new lag search window and calculating a new pitch lag estimate in the new lag search window.

7. The computer program product of claim 6 , wherein the selecting of the new lag search window comprises:

calculating a lower pitch lag for a lag range N−1, . . . , M n1 +1 and calculating an upper pitch lag for a lag range M n1 −1, . . . , 0, where M n1 represents the pitch lag estimate and N is frame size in the time domain;

selecting a new search window locator corresponding to the one of either the lower pitch lag or upper pitch lag that produces a maximum cross correlation;

setting a new search window around the new search window locator;

calculating a new pitch lag for the new search window; and

selecting as a lag estimator the one of either the pitch lag or the new pitch lag that produces a maximum cross correlation.

8. The computer program product of claim 6 , wherein the determining if the pitch lag estimate is unreliable is also based in part on a comparison of a cross correlation associated with the pitch lag estimate to an adaptive threshold.

9. The computer program product of claim 6 , further comprising computer readable code configured for determining whether encoding gain can be achieved using prediction for the pitch lag estimate, and if encoding gain cannot be achieved, foregoing performing a time-to-frequency transformation.

10. The computer program product of claim 8 , further comprising computer readable code configured for determining whether encoding gain can be achieved using prediction for the pitch lag estimate, and if encoding gain can be achieved, performing a time-to-frequency transformation, evaluating prediction in a frequency domain, and determining whether to update the adaptive threshold.

11. A device for determining pitch lag for a current frame of information in a long term prediction (LTP) encoding system, the encoder comprising:

a processor;

a memory communicatively coupled to the processor; and

an encoder communicatively coupled to the processor and configured for:

selecting a lag search window for the current frame in a vicinity of a previous frame pitch lag, the lag search window having an upper boundary and a lower boundary;

calculating a pitch lag estimate in the lag search window for the current frame;

determining if the pitch lag estimate is unreliable based in part on an average cross-correlation for a plurality of previous frames; and

upon determination of the pitch lag estimate to be unreliable, selecting a new lag search window and calculating a new pitch lag estimate in the new lag search window.

12. The device of claim 11 , wherein the selecting of the new lag search window comprises:

calculating a lower pitch lag for a lag range N−1, . . . , M n1 +1 and calculating an upper pitch lag for a lag range M n1 −1, . . . , 0, where M n1 represents the pitch lag estimate and N is frame size in the time domain;

selecting a new search window locator corresponding to the one of either the lower pitch lag or upper pitch lag that produces a maximum cross correlation;

setting a new search window around the new search window locator;

calculating a new pitch lag for the new search window; and

selecting as a lag estimator the one of either the pitch lag or the new pitch lag that produces a maximum cross correlation.

13. The device of claim 11 , wherein the determining if the pitch lag estimate is unreliable is also based in part on a comparison of a cross correlation associated with the pitch lag estimate to an adaptive threshold.

14. The device of claim 11 , wherein the encoder is further configured for determining whether encoding gain can be achieved using prediction for the pitch lag estimate, and if encoding gain cannot be achieved foregoing performing a time-to-frequency transformation.

15. The device of claim 13 , wherein the encoder is further configured for determining whether encoding gain can be achieved using prediction for the pitch lag estimate, and if encoding gain can be achieved performing a time-to-frequency transformation, evaluating prediction in a frequency domain, and determining whether to update the adaptive threshold.

16. A tangible plug-in module configured for determining pitch lag for a current frame of information in a long term prediction (LTP) encoding system, the module comprising:

an encoder configured to:

select a lag search window for the current frame in a vicinity of a previous frame pitch lag, the lag search window having an upper boundary and a lower boundary;

calculate a pitch lag estimate in the lag search window for the current frame;

determine if the pitch lag estimate is unreliable based in part on an average cross-correlation for a plurality of previous frames; and

upon determination of the pitch lag estimate to be unreliable, select a new lag search window and calculate a new pitch lag estimate in the new lag search window.

17. The module of claim 16 , wherein the encoder is further configured to:

calculate a lower pitch lag for a lag range N−1, . . . , M n1 +1 and calculating an upper pitch lag for a lag range M n1 −1, . . . , 0, where M n1 represents the pitch lag estimate and N is frame size in the time domain;

select a new search window locator corresponding to the one of either the lower pitch lag or upper pitch lag that produces a maximum cross correlation;

set a new search window around the new search window locator;

calculate a new pitch lag for the new search window; and

select as a lag estimator the one of either the pitch lag or the new pitch lag that produces a maximum cross correlation.

18. The module of claim 16 , wherein the determining if the pitch lag is unreliable is also based in part on a comparison of a cross correlation associated with pitch lag to an adaptive threshold.

19. The module of claim 16 , wherein the encoder is further configured to determine if encoding gain can be achieved using prediction for the pitch lag, and if encoding gain cannot be achieved, foregoing performing a time-to-frequency transformation.

20. The module of claim 18 , wherein the encoder is further configured to determine if encoding gain can be achieved using prediction for the pitch lag, and if encoding gain can be achieved, perform a time-to-frequency transformation, evaluate prediction in a frequency domain, and determine whether to update the adaptive threshold.

21. An audio encoding device for encoding an audio signal, the audio encoding device comprising:

a communication interface configured to receive the audio signal;

a processor; and

a computer-readable storage medium including computer-readable instructions stored therein that, upon execution by the processor, cause the audio encoding device to:

determine pitch lag for a current frame of information in long term prediction (LTP) encoding system by selecting a lag search window for a current frame of audio information in a vicinity of a previous frame pitch lag, the lag search window having an upper boundary and a lower boundary;

calculate a pitch lag estimate in the lag search window for the current frame;

determine if the pitch lag estimate is unreliable based in part on an average cross-correlation for a plurality of previous frames; and

upon determination of the pitch lag estimate to be unreliable, select a new lag search window and calculate a new pitch lag estimate in the new lag search window.

22. The audio encoding device of claim 21 , wherein the selecting of the new lag search window comprises:

calculating a lower pitch lag for a lag range N−1, . . . , M n1 +1 and calculating an upper pitch lag for a lag range M n1 −1, . . . , 0, where M n1 represents the pitch lag estimate and N is frame size in the time domain;

selecting a new search window locator corresponding to the one of either the lower pitch lag or upper pitch lag that produces a maximum cross correlation;

setting a new search window around the new search window locator;

calculating a new pitch lag for the new search window; and

selecting as a lag estimator the one of either the pitch lag or the new pitch lag that produces a maximum cross correlation.

23. The audio encoding device of claim 21 , wherein the determining if the pitch lag estimate is unreliable is also based on a comparison of a cross correlation associated with pitch lag to an adaptive threshold.

24. The audio encoding device of claim 21 , wherein the computer-readable storage medium includes further computer-readable instructions that, upon execution by the processor, cause the audio encoding device to determine whether encoding gain can be achieved using prediction for the pitch lag estimate, and if encoding gain cannot be achieved, forego performing a time-to-frequency transformation.

25. The audio encoding device of claim 23 , wherein the computer-readable storage medium includes further computer-readable instructions that, upon execution by the processor, cause the audio encoding device to determine whether encoding gain can be achieved using prediction for the pitch lag estimate, and if encoding gain can be achieved, perform a time-to-frequency transformation, evaluate prediction in a frequency domain, and determine whether to update the adaptive threshold.

Assignments (10)
CONFIRMATORY LICENSE Recorded Sep 20, 2023
From: IOWA STATE UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 064966/0084 →
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2021
From: CPPIB CREDIT INVESTMENTS INC.
To: CONVERSANT WIRELESS LICENSING S.A R.L.
Reel/Frame 057204/0857 →
AMENDED AND RESTATED U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Aug 22, 2018
From: CONVERSANT WIRELESS LICENSING S.A R.L.
To: CPPIB CREDIT INVESTMENTS, INC.
Reel/Frame 046897/0001 →
CHANGE OF NAME Recorded Oct 20, 2017
From: CORE WIRELESS LICENSING S.A.R.L.
To: CONVERSANT WIRELESS LICENSING S.A R.L.
Reel/Frame 044516/0772 →
UCC FINANCING STATEMENT AMENDMENT - DELETION OF SECURED PARTY Recorded Aug 30, 2016
From: NOKIA CORPORATION
To: MICROSOFT CORPORATION
Reel/Frame 039872/0112 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2011
From: 2011 INTELLECTUAL PROPERTY ASSET TRUST
To: CORE WIRELESS LICENSING S.A.R.L
Reel/Frame 027441/0819 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2011
From: NOKIA CORPORATION
To: NOKIA 2011 PATENT TRUST
Reel/Frame 027120/0608 →
CHANGE OF NAME Recorded Oct 26, 2011
From: NOKIA 2011 PATENT TRUST
To: 2011 INTELLECTUAL PROPERTY ASSET TRUST
Reel/Frame 027121/0353 →
SHORT FORM PATENT SECURITY AGREEMENT Recorded Sep 13, 2011
From: CORE WIRELESS LICENSING S.A.R.L.
To: NOKIA CORPORATION; MICROSOFT CORPORATION
Reel/Frame 026894/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2005
From: OJANPERA, JUHA
To: NOKIA CORPORATION
Reel/Frame 016337/0771 →