IP Library Granted Patent US 7,895,046
Granted Patent B2
US 7,895,046 · App. 10/497,530 · Granted Feb 22, 2011

Low bit rate codec

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,895,046
App. No.
10/497,530
Granted
Feb 22, 2011
Kind
B2
Abstract

The present invention relates to improvements of predictive encoding/decoding operations performed on a signal which is transmitted over a packet switched network. The signal is encoded on a block by block basis in such way that a block A-B is predictive encoded independently of any preceding blocks. A start state ( 715 ) located somewhere between the end boundaries A and B of the block is encoded using any applicable coding method. Both block parts surrounding the start state is then predictive encoded based on the start state and in opposite directions with respect to each other, thereby resulting in a full encoded representation ( 745 ) of the block A-B. At the decoding end, corresponding decoding operations are performed.

Claims (45)

1. A method of encoding a sampled signal which is divided into consecutive blocks, the sampled signal being obtained by transducing a sound wave into an analog electronic signal and sampling of the analog signal, wherein the method includes the following steps applied to a block:

encoding a first part of the block using an encoder, wherein the first part is located somewhere between the two end boundaries of the block, thereby obtaining an encoded start state for the block;

encoding a second part of the block using the encoder and a predictive coding method that is based on said encoded start state and that gradually encodes said second part in the direction of one of said two end boundaries; and

determining if there are any signal samples located between said start state and the other one of said two end boundaries, and if so, encoding a third part of the block including these samples using the encoder and a predictive coding method that is based on said encoded start state and that gradually encodes said third part in the direction of said other one of said two end boundaries, whereby said third part, with respect to a time base associated with the block, is encoded in an opposite direction as compared with the encoding of said second part, wherein the step of gradually encoding said third part in the direction of said other one of said two end boundaries starts from a sub-block immediately before the first part of the block and ends at a sub-block at the other one of said two end boundaries.

2. The method as claimed in claim 1 , wherein the encoding of said third part is based on, in addition to said encoded start state, at least a part of the encoded second part of the block.

3. The method as claimed in claim 2 , wherein said second part is encoded in a direction along said time base towards the one of said two end boundaries that is located at the end of the block.

4. The method as claimed in claim 2 , wherein said second part is encoded in a direction which is opposite to said time base and towards the one of said two end boundaries that is located at the beginning of the block.

5. The method as claimed in claim 1 , wherein said second part is encoded in a direction along said time base towards the one of said two end boundaries that is located at the end of the block.

6. The method as claimed in claim 1 , wherein said second part is encoded in a direction which is opposite to said time base and towards the one of said two end boundaries that is located at the beginning of the block.

7. The method as claimed in claim 1 , wherein the encoding of the start state is based on any coding method in which the encoding is independent on, or made to be independent on, any previously encoded parts of the signal.

8. The method as claimed in claim 1 , wherein the predictive coding of said second and third parts includes an additional step of synthesis filtering from the excitation domain to the encoded signal domain.

9. The method as claimed in claim 1 , wherein said signal is a residual signal of an analysis filtered digital signal.

10. The method as claimed in claim 9 , wherein the encoding of the start state is based on predictive encoding with noise shaping, which predictive encoding is made independent on any encoded part of the residual signal that precedes the part of the residual signal corresponding to said first part of the block.

11. The method as claimed in claim 1 , wherein the start state is all-pass filtered prior to encoding so as to distribute the energy more evenly among the samples of the start state.

12. The method as claimed in claim 1 , wherein the method uses recursive encoding by encoding a sub-block composed of said first part of the block in such way that the same steps as those applied to the block are applied to the sub-block.

13. The method as claimed in claim 1 , including partitioning the block into a set of consecutive intervals, wherein the encoding of said first part of the block includes encoding one or more consecutive intervals between the two end boundaries, in order to obtain said encoded start state.

14. The method as claimed in claim 13 , wherein said one or more consecutive intervals are chosen among those intervals having the highest signal energy.

15. The method as claimed in claim 1 , wherein the encoding of the second and third part is based on any of the following coding methods: Linear Prediction Coding (LPC); Code Excited Linear Prediction (CELP); CELP with one or more adaptive codebook stages; Self Excited Linear Prediction (SELP); or Multi-Pulse Linear Prediction Coding (MP-LPC).

16. The method as claimed in claim 1 , wherein the encoding of the second and third part is based on pre-weighting of an adaptive codebook memory and the target signal prior to construction of the adaptive codebook.

17. The method as claimed in claim 1 , wherein said signal is a speech signal.

18. The method as claimed in claim 1 , wherein said signal is an audio signal.

19. An apparatus for predictive encoding of a signal which is divided into consecutive blocks, wherein the apparatus includes means for performing the steps of the method as claimed in claim 1 on each of said blocks.

20. A non-transitory computer-readable medium storing computer-executable components for predictive encoding of a signal which is divided into consecutive blocks, wherein the computer-executable components performs the steps of the method as claimed in claim 1 on each of said blocks.

21. A method of decoding of an encoded signal, which signal at the encoding end was a sampled signal divided into consecutive blocks before encoding of each block, the sampled signal being obtained by transducing a sound wave into an analog electronic signal and sampling of the analog signal, wherein the method includes the following steps applied to an encoded block for reproducing a corresponding decoded block:

decoding an encoded start state using a decoder for reproducing a start state located somewhere between the two end boundaries of the block to be reproduced;

decoding an encoded second part of the block using the decoder and a predictive decoding method based on said start state for gradually reproducing said second part in the direction of one of said two end boundaries; and

determining if the encoded block includes an encoded third part, and if so, decoding the encoded third part of the block using the decoder and a predictive decoding method based on said start state for gradually reproducing said third part in the direction of the other one of said two end boundaries, whereby said third part, with respect to a time base associated with the block, is reproduced in an opposite direction as compared with the reproduction of said second part, wherein the steps of gradually reproducing said third part in the direction of the other one of said two end boundaries starts from a sub-block immediately before the encoded start state of the block and ends at a sub-block at the other one of said two end boundaries.

22. The method as claimed in claim 21 , wherein the decoding of said third part is based on, in addition to said start state, at least a part of the decoded second part of the block.

23. The method as claimed in claim 22 , wherein said second part is reproduced in a direction along said time base towards the one of said two end boundaries that is located at the end of the block.

24. The method as claimed in claim 22 , wherein said second part is reproduced in a direction which is opposite to said time base and towards the one of said two end boundaries that is located at the beginning of the block.

25. The method as claimed in claim 21 , wherein said second part is reproduced in a direction along said time base towards the one of said two end boundaries that is located at the end of the block.

26. The method as claimed in claim 21 , wherein said second part is reproduced in a direction which is opposite to said time base and towards the one of said two end boundaries that is located at the beginning of the block.

27. The method as claimed in claim 21 , wherein the decoding of the start state is based on any decoding method which reproduces the start state independently of any previously reproduced parts of the signal.

28. The method as claimed in claim 21 , wherein the decoding of said second and third parts includes an additional step of synthesis filtering from the excitation domain to the decoded signal domain, the synthesis filtering of the second and third parts being performed in the same order as the reproduction of the second and third parts of the block.

29. The method as claimed in claim 21 , wherein said signal is a residual signal of an analysis filtered digital signal.

30. The method as claimed in claim 21 , wherein the decoding of said first, second and third parts is followed by an additional step of synthesis filtering from the excitation domain to the decoded signal domain, wherein the synthesis filtering of the block is performed in sequential order from the one of said two end boundaries occurring first in time to the other boundary occurring later in time.

31. The method as claimed in claim 29 , wherein the decoding of the first part is based on predictive decoding with noise shaping, which decoding reproduces the start state independently of any previously reproduced part of the residual signal that precedes the part of the residual signal corresponding to said start state.

32. The method as claimed in claim 30 , wherein the decoding of the first part is based on predictive decoding with noise shaping, which decoding reproduces the start state independently of any previously reproduced part of the residual signal that precedes the part of the residual signal corresponding to said start state.

33. The method as claimed in claim 21 , wherein the start state is all-pass filtered after said decoding of said first part so as to further concentrate the energy.

34. The method as claimed in claim 21 , wherein the method uses recursive decoding by decoding a sub-block composed of said encoded start state in such way that the same steps as those applied to the block are applied to the sub-block.

35. The method as claimed in claim 21 , wherein the decoding of the second and third part is based on any of the following decoding methods: Linear Prediction Coding (LPC); Code Excited Linear Prediction (CELP); CELP with one or more adaptive codebooks; Self Excited Linear Prediction (SELP); or Multi-Pulse Linear Prediction Coding (MP-LPC).

36. The method as claimed in claim 21 , wherein said signal is a speech signal.

37. The method as claimed in claim 21 , wherein said signal is an audio signal.

38. An apparatus for predictive decoding of an encoded signal, which signal at the encoding end was divided into consecutive blocks before encoding of each block, wherein the apparatus includes means for performing the steps of the method as claimed in claim 21 on each encoded block for reproducing a corresponding decoded block.

39. A non-transitory computer-readable medium storing computer-executable components for predictive decoding of an encoded signal, which signal at the encoding end was divided into consecutive blocks before encoding of each block, wherein the computer-executable components performs the steps of the method as claimed in claim 21 on each encoded block for reproducing a corresponding decoded block.

Assignments (9)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2011
From: GLOBAL IP SOLUTIONS (GIPS) AB; GLOBAL IP SOLUTIONS, INC.
To: GOOGLE INC.
Reel/Frame 026944/0481 →
CHANGE OF NAME Recorded Sep 9, 2011
From: GLOBAL IP SOUND EUROPE AB
To: GLOBAL IP SOLUTIONS (GIPS) AB
Reel/Frame 026883/0928 →
CHANGE OF NAME Recorded Sep 1, 2011
From: GLOBAL IP SOUND, INC.
To: GLOBAL IP SOLUTIONS, INC.
Reel/Frame 026844/0188 →
CHANGE OF NAME Recorded Mar 18, 2009
From: GLOBAL IP SOUND EUROPE AB
To: GLOBAL IP SOLUTIONS (GIPS) AB
Reel/Frame 022414/0018 →
CHANGE OF NAME Recorded Mar 18, 2009
From: GLOBAL IP SOUND, INC.
To: GLOBAL IP SOLUTIONS, INC.
Reel/Frame 022413/0966 →
CORRECTIVE ASSIGNMENT TO CORRECT THE FIRST LISTED ASSIGNEE'S ADDRESS. RE-RECORD ASSIGNMENT WITH CORRECT ADDRESS. PREVIOUSLY RECORDED ON REEL 015662 FRAME 0141. ASSIGNOR(S) HEREBY CONFIRMS THE RECORDED ASSIGNMENT HAS INCORRECT ADDRESS: OLANDSGATAN 42 STOCKHOLM, SWEDEN SE-118 27. Recorded Jun 12, 2007
From: GLOBAL IP SOUND AB
To: GLOBAL IP SOUND EUROPE AB; GLOBAL IP SOUND INC.
Reel/Frame 019416/0494 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2005
From: GLOBAL IP SOUND AB
To: GLOBAL IP SOUND EUROPE AB; GLOBAL IP SOUND INC.
Reel/Frame 015662/0141 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2004
From: ANDERSEN, SOREN V.; HAGEN, ROAR; KLEIJN, BASTIAAN
To: GLOBAL IP SOUND AB
Reel/Frame 014908/0616 →