IP Library Granted Patent US 9,208,796
Granted Patent B2
US 9,208,796 · App. 13/214,641 · Granted Dec 8, 2015

Estimation of speech energy based on code excited linear prediction (CELP) parameters extracted from a partially-decoded CELP-encoded bit stream and applications of same

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,208,796
App. No.
13/214,641
Granted
Dec 8, 2015
Kind
B2
Abstract

Methods, systems, and non-transitory computer readable media for estimating speech energy of an encoded bit stream based on coding parameters extracted from the partially-decoded bit stream are disclosed. In an embodiment, a disclosed method includes receiving a CELP-encoded bit stream, partially decoding the bit stream, and estimating the speech energy of the bit stream based a set of four or fewer CELP parameters extracted from the partially decoded bit stream. In another embodiment, a disclosed method includes receiving a CELP-encoded bit stream, partially decoding the bit stream, extracting at least one CELP parameter from the partially decoded bit stream, and estimating the speech energy of the bit stream based on the extracted at least one CELP parameter without calculating a linear prediction coding (LPC) filter response energy.

Claims (78)

1. A method comprising:

receiving a plurality of encoded bit streams including at least one CELP-encoded bit stream and at least one non-CELP-encoded bit stream;

partially decoding the at least one CELP-encoded bit stream in a data processor to provide a partially decoded bit stream;

estimating speech energy of the at least one CELP-encoded bit stream based on a set of four or fewer CELP parameters extracted from the partially decoded bit stream in the data processor;

estimating speech signal energy of the at least one non-CELP-encoded bit stream by fully decoding the non-CELP-encoded bit stream and determining the speech signal energy of the fully-decoded non-CELP bit stream;

using the estimated speech energies to identify bit streams that contain active speech data; and

selecting, using the estimated speech energies, at least one bit stream from among bit streams identified as containing active speech data.

2. The method of claim 1 wherein the set of four or fewer CELP parameter comprises four or fewer parameters selected from the set of: a fixed codebook gain; an adaptive codebook gain; a set of linear predictive coding coefficients; a set of reflections coefficients; a fixed codebook index; an adaptive codebook index; and an energy of the excitation signal.

3. The method of claim 1 wherein the set of four or fewer parameters consists of a fixed codebook gain parameter (G.sub.F).

4. The method of claim 3 wherein estimating the speech energy comprises calculating estimated speech energy (E) using the equation E=G.sub.F.

5. The method of claim 3 wherein the set of parameters consists of a fixed codebook gain parameter (G.sub.F) and an adaptive codebook gain parameter (G.sub.A).

6. The method of claim 5 wherein estimating the speech energy comprises, for each frame m, calculating estimated speech energy for the frame (E.sub.F) using the equation E.sub.F(m)=G.sub.F(m)+G.sub.A(m)*E.sub.F(m−1), wherein E.sub.F(m) is the estimated speech energy for the frame, G.sub.F(m) is the fixed codebook gain for the frame, G.sub.A(m) is the adaptive codebook gain for the frame, and E.sub.F(m−1) is the estimated speech energy for the previous frame.

7. The method of claim 1 wherein using the estimated speech energies to identify bit streams that contain active speech data further comprises using the estimated speech energy of the at least one CELP-encoded bit stream to determine, without fully decoding the at least one CELP-encoded bit stream, whether the bit stream contains active speech data.

8. The method of claim 1 further comprising estimating a speech energy of each of a plurality of CELP-encoded bit streams using the set of four or fewer CELP parameters to determine an estimated speech energy of each of the CELP-encoded bit streams without fully decoding the CELP-encoded bit streams, and using the estimated speech energies to identify CELP-encoded bit streams that contain active speech data.

9. The method of claim 1 wherein selecting at least one bit stream from among bit streams identified as containing active speech data comprises selecting bit streams having estimated speech energy higher than a threshold value.

10. The method of claim 1 wherein selecting at least one bit stream from among bit streams identified as containing active speech data comprises selecting bit streams having the highest values of estimated speech energy.

11. The method of claim 1 wherein the at least one selected bit stream is used as an input into a mixer.

12. The method of claim 11 wherein the plurality of encoded bit streams are received at a conference bridge from a plurality of conference participants and wherein the output of the mixer is provided to the plurality of conference participants.

13. The method of claim 1 wherein the fully decoded at least one non-CELP-encoded-bit stream comprises a pulse code modulated (PCM) bit stream and wherein short-term energy values comprise mean square energy values of the PCM bit stream.

14. The method of claim 1 further comprising: calculating in the data processor a moving average energy of an audio level (STA) for a frame of data in the at least one CELP-encoded bit stream; calculating a dynamic noise floor (NF) for the frame; calculating a compensated moving average energy of the audio level (cSTA) for the frame; and calculating a speech energy for the frame based on the cSTA.

15. The method of claim 1 , wherein partially decoding the at least one CELP-encoded bit stream is performed on either a frame-by-frame basis or a sub-frame-by-sub-frame basis and does not require post-processing.

16. A method comprising:

receiving a plurality of encoded bit streams including at least one CELP-encoded bit stream and at least one non-CELP-encoded bit stream;

partially decoding the at least one CELP-encoded bit stream in a data processor;

extracting at least one CELP parameter from the partially decoded at least one CELP-encoded bit stream with the data processor;

estimating speech energy of the at least one CELP-encoded bit stream based on the extracted at least one CELP parameter, using the data processor, without calculating a linear prediction coding (LPC) filter response energy;

estimating speech signal energy of the at least one non-CELP-encoded bit stream by fully decoding the non-CELP-encoded bit stream and determining the speech signal energy of the fully-decoded non-CELP bit stream;

using the estimated speech energies to identify bit streams that contain active speech data; and

selecting, using the estimated speech energies, at least one bit stream from among bit streams identified as containing active speech data.

17. The method of claim 16 wherein estimating the speech energy of the at least one CELP-encoded bit stream based on the at least one CELP parameter without calculating a linear prediction coding (LPC) filter response energy comprises extracting LPC coefficients and using the extracted LPC coefficients to reconstruct a frame energy calculation performed during encoding of the at least one CELP-encoded bit stream.

18. The method of claim 16 wherein estimating the speech energy of the at least one CELP-encoded bit stream based on the at least one CELP parameter without calculating a linear prediction coding (LPC) filter response energy comprises extracting LPC coefficients for a frame, using the extracted LPC coefficients to reconstruct a set of autocorrelation coefficients for the frame, and estimating the speech energy of the frame based on at least one autocorrelation coefficient from the set of autocorrelation coefficients for the frame.

19. The method of claim 16 wherein estimating the speech energy of the at least one CELP-encoded bit stream based on the at least one CELP parameter without calculating a linear prediction coding (LPC) filter response energy consists of, for each frame m:

extracting a fixed codebook gain parameter G.sub.F(m) for the frame, an adaptive codebook gain parameter G.sub.A(m) for the frame, and a set of LPC coefficients {LPC}(m) for the frame;

for each sub-frame n, using G.sub.A(m) and an extracted pitch delay for the sub-frame to calculate an adaptive excitation for the sub-frame v(n), using G.sub.F(m) and an extracted fixed codebook index for the sub-frame to calculate a fixed codebook excitation for the sub-frame c(n), and calculating a sub-frame excitation energy exc(n) using the equation

exc( n )= G .sub. F ( m )* c ( n )+ G .sub. A ( m )* v ( n );

calculating frame error power E.sub.ERR(m) as the square root of the sum of the squares of the sub-frame excitation energies; calculating frame reflections coefficients {K}(m) based on {LPC}(m);

calculating frame autocorrelations coefficients {R}(m) based on {K}(m); and calculating an estimated speech energy for the frame E.sub.F(m) based on E.sub.ERR(m) and {R}(m).

20. The method of claim 19 wherein calculating frame reflections coefficients {K}(m) based on {LPC}(m) comprises using values of {LPC}(m) as inputs into an inverse Levinson-Durbin algorithm to calculate values of {K}(m).

21. The method of claim 16 further comprising:

calculating a moving average energy of an audio level (STA) for a frame of data in the at least one CELP-encoded bit stream;

calculating a dynamic noise floor (NF) for the frame;

calculating a compensated moving average energy of the audio level (cSTA) for the frame; and

calculating a speech energy for the frame based on the cSTA.

22. The method of claim 16 , wherein using the estimated speech energies to identify bit streams that contain active speech data further comprises using the estimated speech energy of the at least one CELP-encoded bit stream to determine, without fully decoding the at least one CELP-encoded bit stream, whether the at least one CELP-encoded bit stream contains active speech data.

23. The method of claim 16 further comprising estimating the speech energy of each of a plurality of CELP-encoded bit streams using the at least one CELP parameter to determine an estimated speech energy of each of the CELP-encoded bit streams without fully decoding the CELP-encoded bit streams, and using the estimated speech energies to identify CELP-encoded bit streams that contain active speech data.

24. The method of claim 16 , wherein partially decoding the at least one CELP-encoded bit stream is performed on either a frame-by-frame basis or a sub-frame-by-sub-frame basis and does not require post-processing.

25. A system for estimating speech energy comprising:

an interface module for receiving a plurality of encoded bit streams including at least one CELP-encoded bit stream and at least one non-CELP-encoded bit stream; and

a processing module, including a hardware processor, for:

partially decoding the at least one CELP-encoded bit stream;

estimating speech energy of the at least one CELP-encoded bit stream based on a set of four or fewer CELP parameters extracted from a resulting partially decoded bit stream;

estimating speech signal energy of the at least one non-CELP-encoded bit stream by fully decoding the non-CELP-encoded bit stream and determining the speech signal energy of the fully-decoded non-CELP bit stream;

using the estimated speech energies to identify bit streams that contain active speech data; and

selecting, using the estimated speech energies, at least one bit stream from among bit streams identified as containing active speech data.

26. A system for estimating speech energy comprising:

an interface module for receiving a plurality of encoded bit streams including at least one CELP-encoded bit stream and at least one non-CELP-encoded bit stream; and

a processing module including a hardware processor for:

partially decoding the at least one CELP-encoded bit stream;

extracting at least one CELP parameter from the partially decoded at least one CELP-encoded bit stream

estimating speech energy of the at least one CELP-encoded bit stream based on the extracted at least one CELP parameter without calculating a linear prediction coding (LPC) filter response energy;

estimating speech signal energy of the at least one non-CELP-encoded bit stream by fully decoding the non-CELP-encoded bit stream and determining the speech signal energy of the fully-decoded non-CELP bit stream;

using the estimated speech energies to identify bit streams that contain active speech data; and

selecting, using the estimated speech energies, at least one bit stream from among bit streams identified as containing active speech data.

27. A non-transitory computer readable medium having stored thereon executable instructions that when executed by the processor of a computer control the computer to perform steps comprising:

receiving a plurality of encoded bit streams including at least one CELP-encoded bit stream and at least one non-CELP-encoded bit stream;

partially decoding the at least one CELP-encoded bit stream;

estimating speech energy of the at least one CELP-encoded bit stream based on a set of four or fewer CELP parameters extracted from a resulting partially decoded bit stream;

estimating speech signal energy of the at least one non-CELP-encoded bit stream by fully decoding the non-CELP-encoded bit stream and determining the speech signal energy of the fully-decoded non-CELP bit stream;

using the estimated speech energies to identify bit streams that contain active speech data; and

selecting, using the estimated speech energies at least one bit stream from among bit streams identified as containing active speech data.

28. A non-transitory computer readable medium having stored thereon executable instructions that when executed by the processor of a computer control the computer to perform steps comprising:

receiving a plurality of encoded bit streams including at least one CELP-encoded bit stream and at least one non-CELP-encoded bit stream;

partially decoding the at least one CELP-encoded bit stream;

extracting at least one CELP parameter from the partially decoded at least one CELP-encoded bit stream;

estimating speech energy of the at least one CELP-encoded bit stream based on the extracted at least one CELP parameter without calculating a linear prediction coding (LPC) filter response energy;

estimating speech signal energy of the at least one non-CELP-encoded bit stream by fully decoding the non-CELP-encoded bit stream and determining the speech signal energy of the fully-decoded non-CELP bit stream;

using the estimated speech energies to identify bit streams that contain active speech data; and

selecting, using the estimated speech energies at least one bit stream from among bit streams identified as containing active speech data.

Assignments (11)
SHORT-FORM PATENTS SECURITY AGREEMENT Recorded Sep 5, 2024
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 068857/0290 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2024
From: CITIZENS BANK, N.A.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 067822/0433 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 044978/0801 Recorded Dec 6, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 058949/0497 →
MERGER Recorded Jul 15, 2020
From: GENBAND US LLC
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 053223/0260 →
SECURITY INTEREST Recorded Mar 3, 2020
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052076/0905 →
SECURITY INTEREST Recorded Jan 2, 2018
From: GENBAND US LLC; SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 044978/0801 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Dec 29, 2017
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: GENBAND US LLC
Reel/Frame 044986/0303 →
CORRECTIVE ASSIGNMENT TO CORRECT PATENT NO. 6381239 PREVIOUSLY RECORDED AT REEL: 039269 FRAME: 0234. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Recorded Jan 3, 2017
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 041422/0080 →
PATENT SECURITY AGREEMENT Recorded Jul 6, 2016
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 039269/0234 →
AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 2, 2011
From: GENBEND US LLC (A DELAWARE LLC)
To: COMERICA BANK (A TEXAS BANKING ASSOCIATION), AS AGENT; ATTN: NATIONAL DOCUMENTATION SERVICES
Reel/Frame 027315/0293 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2011
From: THEPIE FAPI, EMMANUEL ROSSIGNOL; POULIN, ERIC; DOYON, JEAN PIERRE
To: GENBAND US LLC
Reel/Frame 027016/0740 →