`
`[19]
`
`[11] Patent Number:
`
`5,835,495
`
`Ferriere
`
`[45] Date of Patent:
`
`Nov. 10, 1998
`
`US005835495A
`
`[54]
`
`SYSTEM AND METHOD FOR SCALEABLE
`STREAMED AUDIO
`OVER
`A NETWORK
`
`Primary Examiner—Min Jung
`Attorney) Agent: or Firm—Lee & Hayes, PLLC
`
`[75]
`
`Inventor: Philippe Ferriere, Redmond, Wash.
`
`[73] Assignee: Microsoft Corporation, Redmond,
`Wa5h-
`
`[21]
`[22]
`
`APP1~ N0-3 540318
`Filed:
`Oct_ 11, 1995
`Int. Cl.6 ...................................................... ..
`[52] U-S- CL ~~~~~~~~~~~~~~~~~~~~~~~~ ~. 370/455; 370/521; 375/222;
`379/58
`[58] Field Of Search ................................... .. 370/252, 465,
`370/486; 521; 477; 375/222; 241; 242;
`245$ 379/68; 88; 89
`
`[56]
`
`,
`,
`5 309 562
`5,541,955
`5,617,423
`
`_
`References Clted
`U5. PATENT DOCUMENTS
`,
`1
`..................................... ..
`,
`.
`5/1994 L.
`395/200 67
`
`7/1996 Jacobsmeyer .
`.....N 375/222
`................................ .. 370/426
`4/1997 Li et al.
`OTHER PUBLICATIONS
`
`GSM 06.10, “GSM Full Rate Speech Transcodmg”, Tech-
`nical Rep. Vers. 3.2, ETSI/GSM, Feb. 1992.
`P. Vary et al., “Speech Codec for European Mobile Radio
`System”, Proc, ICASSP—88, p. 227, Apr. 1988.
`
`[57]
`
`ABSTRACT
`.
`.
`.
`.
`.
`An audio data transmission system encodes audio files into
`individual audio data blocks which contain a variable num-
`ber bits of digital audio data that were sampled at a select-
`able sample rate. The number of bits of digital data and the
`input sampling rate are scaleable to produce an encoded bit
`streanli bitlrtatle that [is less t.l’la1'l1, or egual
`tlohan elfiecéive
`opera iona
`1 rae o a recipien s mo em.
`e au 1o
`a a
`transmjssign System uses Cgmputing units Vvhich are
`designed to select an appropriate combination of block size
`and input sampling rate to maximize the available band-
`width of the receiving modem. For example, if the modem
`connection speed for one modem is 14.4 kbps, a version of
`the audio data compressed at 13000 bits,/s might be sent to
`the recipient; if the modem connection speed for another
`modem is 28.8 kbps, a version of the audio data compressed
`at 24255 bits/s might be sent to the receiver. The audio data
`~
`~
`~
`;
`~
`blocks are then transmitted at the encoded bit stream bit rate
`so thilinltendeld recipient s modem. The audio datC211.blc1)ic1l<s arg
`999 9
`at t 9 r991P19“‘ 19 r99°“5‘‘“9‘ ‘ 9 9“ 19
`9 an
`immediately play the audio file as it is received. The audio
`data transmission system can be implemented in online
`service systems,
`ITV systems, computer data network
`systems, and communication systems.
`
`28 Claims, 6 Drawing Sheets
`
`25
`
`
`
`F/LE
`STORAGE
`
`20 AUDIO
`
`58
`
`28.8 Kbps
`
`T‘
`111
`,/2
`
`37\
`
`34
`
`‘:41’
`
`1111
`
`74.4 Kbps
`
`f
`28/
`
`I
`
`11111 E31
`
`29
`
`//
`
`1
`\
`
`30
`
`RPX Exhibit 1011
`RPX V. DAE
`RPX Exhibit 1011
`RPX v. DAE
`
`
`
`STORAGE
`
`U.S. Patent
`
`Nov. 10,1998
`
`Sheet 1 of6
`
`AUD/0
`F/LE
`
`
`
`5,835,495
`
`26
`
`
`
`
`
`
`
`U
`
`N
`
`m,
`
`m
`
`
`
`8@605E3©E3<cwmmum3m:m§
`
`sE:
`
`w\mm
`
`XDEEEXX
`
`.m.
`
`t.mmmogzm'QBgtmay§<<EE§<<mEmQE::Q:EEEommQ04
`.4/9533%S./.on
`mommmoomqmmqmEwesommmmm\<.\mt
`
`2ROEa3x
`
`/0M
`
`38,5
`
`5
`
`on
`
`
`
`EQQBQmum$5:0.:3EEEommmommmgomfimgq959‘SE8
`
`km:NEQBEEm
`
`.mmsxi
`
`my%s,W&
`
`\
`
`E
`
`
`
`
`
`
`U.S. Patent
`
`Nov. 10,1998
`
`Sheet 3 of 6
`
`5,835,495
`
`70
`
` RPE GR/D
`SEL EC TOR’
`
`
`
`I77 0
`
`FIRST /NVERSE
`OUANT/ZER
`
` X
`
`
`
`_
`
`_
`
`““““““““““ ‘
`
`‘
`
`
`
`U.S. Patent
`
`Nov. 10,1998
`
`Sheet 4 of 6
`
`5,835,495
`
`80
`
` RPE GR/D
`SELECTOR
`
`
`
`
`F/RS 7
`
`/NVERSE
`
`OUANT/ZER’
`
`————————————————— ——
`/NVERSE
`OUAN T/ZER
`
`N/NTH
`
`max8
`
`
`
`U.S. Patent
`
`Nov. 10, 1998
`
`Sheet 5 of 6
`
`5,835,495
`
`750
`
`
`
` DETERMINE
`EFFECTIVE BIT RATE
`
`OF RECEIVING MODEM
`
`LOOK up BLOCK
`SIZE/SAMPL/NC
`RA re
`
`SAMPLE AUDIO
`
`AT SAMPLING
`
`
`
`RA TE
`
`756
`
`SELECT OUANTIZER TO
`
`ENCODE AUDIO SAMPLES
`
`FOR BLOCK OF
`APPROPRIATE SIZE
`
`ENCODE AUDIO
`
`SAMPLES
`
`760
`
`TRANSMI T
`
`ENCODED BIT
`
`STREAM
`
`
`
`U.S. Patent
`
`Nov. 10,1998
`
`Sheet 6 of 6
`
`5,835,495
`
`774
`
`703
`
`
`
`3 5
`
`7495
`
`5,8
`
`1
`SYSTEM AND METHOD FOR SCALEABLE
`STREAMED AUDIO TRANSMISSION OVER
`A NETWORK
`
`TECHNICAL FIELD
`
`This invention relates to audio transmission over
`networks, such as cable-based and wireless networks used in
`telephony and computing systems.
`
`BACKGROUND OF THE INVENTION
`
`Digital audio data is transmitted over networks in many
`dilferent settings. Telephone systems digitize voice and
`transmit digital voice data over telephone lines or cellular
`networks. Online service providers on the Internet can
`download audio files to computer users via conventional
`telephone or cable lines. Audio files can also be exchanged
`over traditional data networks, such as LANs (local area
`networks) and WANs (wide area networks), in a manner
`akin to electronic mail.
`
`Current implementations of audio file transmission sys-
`tems involve a transmission scheme in which the audio
`frames carrying the digital data are a fixed size. Present day
`modems operate at 9.6 kbps (ldlobits per second), 14.4 kbps,
`and 28.8 kbps. The audio frames from an audio file are
`compressed at a bit rate for transmission over these various
`speed communication links. To ensure that transmission is
`possible over all three conventional speeds, the audio files
`are typically compressed at a bit rate of 8000 bits/second
`which can be sent to modems connected at 9.6 kbps, 14.4
`kbps, and 28.8 kbps. While this rate will use most of the
`bandwidth available at 9.6 kbps, it uses only a fraction of the
`available bandwidth at 14.4 kbps and 28.8 kbps. Since the
`file is compressed at a lower quality rate of 8000 bits/second,
`the eventual reconstructed file has an equally low and fixed
`quality. The customers who use higher performing modems
`are penalized because they are unable to retrieve audio files
`of a quality commensurate with the performance of their
`systems.
`It is therefore an aspect of this invention to provide an
`audio data transmission system which is scaleable to the
`communication link to use the maximum available band-
`
`width. In this way, a higher quality audio transmission can
`be provided to better performing modems.
`In the online services setting, conventional systems
`require transmission of the entire audio file (whether com-
`pressed or uncompressed) before the recipient is able to play
`back the audio file. The audio file is at one fixed quality, such
`as that provided by the minimal compression rate of 8000
`bits/second. For larger audio files carried over limited band-
`width channels (such as low-bandwidth telephone lines), the
`time required to download the whole audio file can take
`several minutes. This transmission delay is inconvenient to
`the recipient, particularly if the recipient is only browsing
`various audio files with little intent of listening to the entire
`audio file. The recipient is forced to request an audio file,
`await the slow transmission of the whole audio file at the
`
`minimal fixed bit rate, and then play it back.
`Accordingly,
`it
`is another aspect of this invention to
`provide an optimal quality audio streaming in which the
`recipient can play the audio file as it is received.
`SUMMARY OF THE INVENTION
`
`This invention provides an audio file distribution system
`which permits optimal quality audio file streaming to indi-
`
`10
`
`15
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`vidual customers with varying modem rates. The audio file
`distribution system has an audio server which configures the
`audio files into individual audio data blocks containing a
`variable number of bits of digital audio data that has been
`sampled at a selected input sampling rate. The number of
`bits of digital data and the input sampling rate are scaleable
`by the audio server to produce an cncodcd bit stream bit rate
`that is less than or equal to an effective operational bit rate
`of a recipient’s modem. For example, if the modem con-
`nection speed is 14.4 kbps, a version of the audio data
`compressed at 13000 bits/s might be sent to the recipient; if
`the modem connection speed is 28.8 kbps, a version of the
`audio data compressed at 24255 bits/s might be sent to the
`receiver.
`The audio data blocks are then transmitted at the encoded
`
`bit stream bit rate to the intended recipient’s modem. A
`computing unit decodes the audio data blocks to reconstruct
`the audio file and immediately plays the audio file as each
`audio data block is received. There is no restriction of
`waiting for the entire audio file to be downloaded before
`playback. As a result, a customer can request an audio file
`from the audio server and begin listening immediately. If the
`customer is just browsing, he/she is free to cancel the audio
`file before the entire file is transmitted, making the audio file
`distribution process more cfficicnt and user convcnicnt.
`To determine the appropriate block size of the audio data
`blocks, which enables scaleability to a recipient’s effective
`modem connection speed,
`the audio server and recipient
`computing unit are equipped with an audio coder/decoder
`(or “codec”). The audio codec comprises a coder to encode
`digital samples representative of an audio input frame into a
`compressed format for transmission. The coder includes
`multiple quantizers for encoding the digital samples into the
`audio data blocks of various sizes, and a quantizer selector
`to select the appropriate one of the quantizers.
`In the illustrated implementation, the coder is configured
`according to the European Group Speciale Mobile (GSM)
`standard. This coder has nine quantizers. Each quantizer
`encodes samples representative of an audio input frame
`consisting of 160 input audio samples into audio data blocks
`of a particular size associated with that quantizer. There are
`nine different block sizes, one for each corresponding quan-
`tizer. The block sizes differ according to a number of audio
`data bits contained in each audio data block. Moreover, each
`quantizer can be operated to encode the samples for three
`different input sampling rates. As a result, the coder can
`output 27 possible encoded bit stream bit rate from the
`available permutations of nine block sizes and three sam-
`pling rates.
`The 27 possible encoded bit stream bit rates can be stored
`in lookup tables at the audio server and recipient computing
`units. The audio server selects the appropriate combination
`of block size and input sampling rate from the lookup table
`which maximizes the bandwidth of the receiving modcm.
`The audio server then uses the selected sampling rate to
`generate audio samples and chooses the appropriate quan-
`tizer to encode those samples into the appropriate block size.
`The resulting encoded bit stream bit rate provides optimum
`quality for the receiving modem.
`According to another aspect of this invention, a commu-
`nication system involving multiple communication units and
`an interconnecting network is also adapted with an audio
`codec which facilitates scaleable and optimal audio quality
`real-time communication. An initiating communication unit
`supplies the effective bit rate of its associated modem to a
`responding communication unit. The responding communi-
`
`
`
`3 5
`
`7495
`
`5,8
`
`3
`cation ur1it then deterr11ir1es the smallest effective bit rate
`between the effective bit rates for the modems of the
`
`initiating and responding communication units, and sends
`the smallest effective bit rate back to the first communication
`unit. From that point on, the audio codecs select an appro-
`priate quantizer which produces the audio data blocks with
`the quantity of bits and input sampling rate that yicld an
`encoded bit stream bit rate of less than or equal to the
`smallest effective bit rate of the modems. The audio data
`
`blocks are then exchanged over the network at the encoded
`bit stream rate.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a diagrammatic illustration of an audio file
`distribution system according to one aspect of this invention.
`FIG. 2 is a block diagram of an audio coder/decoder
`(codcc) according to anothcr aspect of this invention. The
`audio codec is illustrated in an example implementation as
`an RPE-LTP codec according to the European GSM stan-
`dard.
`
`FIG. 3 is a block diagram of an RPE encoder employed
`in the FIG. 2 codec.
`
`FIG. 4 is a block diagram of an RPE decoder employed
`in the FIG. 2 codec.
`
`FIG. 5 is a flow diagram of a method for supplying audio
`files according to another aspect of this invention.
`FIG. 6 is a diagrammatic illustration of a communication
`system according to another aspect of this invention.
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`FIG. 1 shows an audio file distribution system 20 for
`supplying digital audio files to multiple different partici-
`pants. Audio file distribution system 20 has a headend 22
`with an audio server 24 and an audio file storage 26. System
`20 further includes multiple participants 28, 29, and 30
`which use services provided by headend 22. Participants
`28-30 are each equipped with a corresponding computing
`unit 32, 33, and 34 and corresponding modem 36, 37, and
`38, respectively. The participant computing units are illus-
`trated as desktop computers, but can alternatively be in
`implemented as other types of personal computers,
`tele-
`phone units, set-top boxes, or other digital processing
`mechanisms that are capable of handling digital audio data.
`The participant computing units 32-34 are interconnected to
`the audio server 24 via a network, represented by network
`cloud 40. The network 40 might be in the form of a wireless
`network, such as satellite and cellular phone networks, or a
`wire-based network, such as low-bandwidth telephone lines
`or higher—bandwidth cable networks.
`As an example, the audio file distribution system 20 might
`be an online network system in which participants 28-30
`dial up and request audio files from the headend 22. The
`audio server 24 retrieves the audio files from the storage 26
`and downloads the audio files to the requesting computing
`units 32-34. As anothcr cxamplc, thc audio filc distribution
`system 20 might be implemented as part of an interactive
`television (ITV) system in which subscribers 28-30 send
`requests over the TV cable to a cable headend for certain
`audio files for use in conjunction with, or separate from,
`video programs.
`For discussion purposes, the modems 36-38 each operate
`at a dilferent modem rate. The three most conventional
`
`modem rates are 9.6 kbps (kilobits per second), 14.4 kbps,
`and 28.8 kbps. Despite these different modem rates,
`
`4
`however, the audio file distribution system 20 is capable of
`supplying the audio files at different bit rates which are
`appropriate for the receiving modem. More particularly,
`when requesting an audio file, the requesting computing unit
`transmits its present modem connection speed in terms of
`effective bit rate, which may be equal to or less than the
`modem ratc. Supposc, for cxamplc, that computing unit 33
`requests an audio file and its modem 37 is presently oper-
`ating at an effective bit rate of 13.0 kbps. The computing unit
`33 determines this effective bit rate by querying its operating
`system for the current connection speed of modem 37. The
`effective bit rate of 13.0 kbps is slightly less than the
`maximum modem rate of 14.4 kbps. This is not unusual.
`Often times two modems will negotiate to a s slightly lower
`bit rate, and in cases of modem sharing, modem resources
`might be partly consumed by other activities thereby
`explaining a lower effective bit rate.
`The computing unit 33 sends a request for an audio file
`and the effective bit rate of the modem 37 to the audio server
`24. In return,
`the audio server 24 supplies a compressed
`version of the audio file over network 40 to computing unit
`33 such that a bit stream bit rate of the compressed version
`is less than or equal to the effective bit rate of 13.0 kbps for
`modem 37. For instance, the audio server 24 might supply
`thc comprcsscd vcrsion at a bit rate of 12.955 kbps, 12.1
`kbps, or 11.3 kbps.
`Now suppose that computing unit 34 sends a request for
`the same audio file along with an effective bit rate of
`corresponding modem 38 which is, for example, 27.5 kpbs.
`In this case,
`the audio server 24 supplies a compressed
`version of the audio file over network 40 to computing unit
`34 such that a bit stream bit rate of the compressed version
`is less than or equal to the effective bit rate of 27.5 kbps for
`modem 37. Here,
`the audio server 24 might supply the
`compressed version at a bit rate of 25.9 kbps, 22.6 kbps, or
`15.4 kbps.
`The audio server 24 thereby provides a compressed
`version of the requested audio file that is scaled to maximize
`the available bandwidth of the receiving modem. In the
`examples, the audio server 24 sent one compressed version
`of the audio file scaled to the speed of modem 37 (i.e., § 13.0
`kbps) and sent a second compressed version of the same
`audio file scaled to the speed of modem 38 (i.e., §27.5
`kbps). The scaleability permits delivery of variable quality
`audio files that are commensurate with the communication
`
`bandwidth. The audio server 24 provides a higher quality
`version of the audio file to computing unit 34 (which has a
`higher performing modem) and a lower quality version to
`computing unit 33 (which has a lower performing r11oder11).
`The compressed audio file supplied from the audio server
`24 consists of individual audio data blocks which contain a
`
`certain number bits of digital audio data produced at a
`selected sample rate. The audio data blocks have variable
`sizc depending upon the number of data bits included
`therein. The number of digital audio data bits and the sample
`rate are selected to provide an encoded bit stream bit rate
`that is less than or equal to the effective bit rate of the
`receiving modem.
`Upon receipt of the audio data blocks representing the
`compressed audio file, the computing unit 33 decodes the
`audio data blocks and reproduces audio sound from the
`audio data blocks as they are received from the audio server.
`The computing unit does not wait for the entire file to be
`downloaded before decompressing the file; but instead plays
`the audio sound as the blocks are being received. The
`participant can thus begin listening to a requested audio file
`
`10
`
`15
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`5,83
`
`5,495
`
`5
`in1r11ediately, and cancel the file if l1e/sl1e desires to quit
`listening to that file and move onto another file. Additionally,
`by scaleably encoding individual blocks, the receiving com-
`puting unit is ensured of optimal quality audio data.
`A participant can also request multiple audio files from
`the audio server 24. In this case, the audio server 24 supplies
`a compressed version of each audio file over network 40 to
`the requesting computing unit. The bit stream bit rate of the
`compressed versions of each audio file is less than or equal
`to the effective bit rate of the receiving modem. Upon receipt
`of the compressed versions,
`the computing unit decom-
`presses the audio data blocks, mixes the results, and plays
`the mixed version.
`
`The audio server 24 and computing units 32-34 are all
`equipped with an audio coder/decoder (or “codec”). One
`suitable type of codec is a time-domain codec, and more
`particularly, an analysis-by-synthesis predictive codec.
`There are a variety of speech and other audio coding
`standards for different applications, both nationally and
`internationally. The standards are based upon different cod-
`ing rates and employ different types of coders. The audio
`codecs are configured using one of the common standards,
`which includes versions of CCITT (International Telephone
`and Telegraph Consultative Committee), a European GSM
`(Group Speciale Mobile) standard, CTIA (Cellular Telecom-
`munications Industry Association), and two US. federal
`standards. Table 1 lists various coding standards:
`
`Standard
`
`CCITT G.711
`CCITT (3.721
`CCITT (3.723
`CCITT (3.727
`CCITT (3.728
`GSM
`CTIA
`Fed. Std. 1016
`Fed. Std. 1015
`
`TABLE 1
`
`Rate (kbps)
`
`64
`32
`24,40
`16,24,32,4O
`16
`13
`8
`4.8
`2.4
`
`Coder
`
`log PCM
`ADPCM
`ADPCM
`Embedded ADPCM
`LD-CELP
`RPB-LTP
`VSELP
`CELP
`LPC
`
`The various coders listed in Table 1 are as follows: PCM
`
`(pulse code modulation), ADPCM (adaptive differential
`PCM), LD-CELP (low delay code-excited linear prediction),
`RPE-LTP (regular pulse excitation—long-term predictor),
`VSELP (vector sum excited linear prediction), CELP (code-
`excited linear prediction), and LPC (linear predictive
`coding). FIG. 2 shows a block diagram of an audio codec 50
`which is based in part on the European GSM standard, but
`modified to perform the encoding/decoding functions
`required by aspects of this invention. The audio codec 50 is
`preferably implemented in software which executes on the
`audio server and recipient computing units. The audio codec
`50 encodes input audio frames of 160 audio samples (8-bit
`or 16-bit PCM format) into audio data blocks of various
`sizes and decodes the audio data blocks to reconstruct output
`audio frames of 160 audio samples. Ir1 the implementation
`described herein, the audio data blocks have nine dilferent
`sizes of 164 bits, 176, bits, 188, bits, 200 bits, 212 bits, 224
`bits, 236 bits, 248 bits, and 260 bits. The difference in block
`sizes are caused by differing numbers of encoded signal
`sample bits, whereby more bits results in higher quality and
`fewer bits results in lower quality. Ilowever, the omitted bits
`for the smaller block sizes are selected such that the quality
`loss is negligible and not too problematic to the human
`auditory system. The coding scheme is RPE-LTP (regular
`pulse excitation—long-term predictor).
`The audio codec 50 includes an RPE-LTP coder 52 and an
`
`RPE-LTP decoder 54. The RPE-LTP coder 52 comprises a
`
`6
`preprocessor 56, an LPC (linear predictive coding) analyzer
`58, a short term analysis filter 60, a long term predictor filter
`62, and an RPE coder 64. The function of all RPE-LTP coder
`components other than the RPE encoder 64 are standard, and
`will not be described in detail. Rather, a summary of the
`functions are provided. A more detailed presentation of these
`components is described in the ETSI-GSM Technical Speci-
`fication entitled “GSM Full Rate Speech Transcoding”,
`GSM 06.10, Version 3.2.0, which is hereby incorporated by
`reference.
`
`Preprocessor 56 receives an input audio frame consisting
`of 160 signal samples that are sampled at three different
`input sampling rates of 8000 samples/second, 11025
`samples/second, and 22050 samples/second. For the 8000
`Hz sampling rate, the 160 input samples represent 20 ms of
`audio. For the 11025 Hz sampling rate,
`the 160 input
`samples represent 14.5 ms of audio. Finally, for the 22050
`Hz sampling rate, the 160 input samples represent 7.25 ms
`of audio. The preprocessor 56 produces an olfset-free signal
`that is then subjected to a first order pre-emphasis filter, such
`as a FIR (Finite Impulse Response) filter.
`The LPC analyzer 58 analyzes the 160 samples to deter-
`mine coeflicients for use in the short term analysis filter 60.
`The LPC analyzer 58 performs such tasks as segmentation
`of the audio frame, autocorrelation, calculation of reflection
`coefficients using the Schur recursion algorithm, transfor-
`mation of the reflection coefficients into log area ratios
`LARs, and quantization and coding of the LARs. The short
`term analysis filter 60 filters the same 160 samples to
`produce a short term residual signal. The short term analysis
`filter 60 performs such tasks as decoding the LARs from the
`LPC analyzer 58, interpolating the decoded LARs to avoid
`spurious transients which may occur if the filter coefficients
`are changed abruptly, transforming the LARs into reflection
`coeflicients, and short term analysis filtering.
`The audio frame is divided into four sub-frames, with
`each sub-frame having forty samples of the short
`term
`residual signal. The sub-frames are processed blockwise by
`the long term predictor filter 62 and RPE encoder 64. Each
`sub-frame is initially passed to the long term predictor (LTP)
`filter 62. Before processing the sub-frame, LTP parameters
`used in the LTP filter 62 are estimated and updated using the
`current sub-frame and a stored sequence of the 120 previous
`reconstructed short
`term residual samples. These LTP
`parameters include LTP lags N and LTP gains b.
`A segment of forty long term residual signal samples is
`obtained by subtracting forty estimates of the short term
`residual signal from the short term residual signal itself. The
`resulting segment of forty long term residual samples,
`designated as “e,” is fed to the RPE encoder 64 for com-
`pression. The RPE encoder 64 encodes the long term
`residual samples into a compressed format for transmission.
`The compressed format contains the RPE parameters which
`include a signal samples xm, a maximum of the samples
`xmm, and a grid position M, as will be described in more
`detail below.
`
`The RPE encoder 64 also produces a segment of forty
`samples of the quantized version of a reconstructed long
`term residual signal, designated as “e',” and sends the
`samples back to the LTP filter 62. The forty quantized
`samples of the long term residual are added to the previous
`sub-frame of forty short term residual signal estimates to
`produce a reconstructed version of the current short term
`residual signal. This sub-frame of reconstructed short term
`residual signal samples is then fed back to produce a new
`sub-frame of forty short
`term residual signal estimates,
`
`10
`
`15
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`7495
`
`5
`
`5,83
`
`7
`thereby completing a feedback loop used in predictive
`coders of this type.
`x
`x
`The RPE parameters ( m, max, M) and LTP parameters
`(N, b) for all four sub-frames, along with the filter param-
`eters (I.ARs), are configured into audio data blocks 66 of
`various sizes. These audio data blocks are then transmitted
`to the RPE-LTP decoder 54.
`
`FIG. 3 shows a block diagram of the RPE encoder 64 in
`more detail. RPE encoder 64 has a weighting filter 70, an
`RPE grid selector 72, nine quantizers 740-748, nine corre-
`sponding inverse quantizers 760-768, and an RPE grid
`positioner 78. The weighting filter 70 is a FIR filter that is
`applied to each sub-frame by convolving the forty long term
`residual samples e with an 11-tap impulse response. One
`suitable impulse response is provided in the above-
`referenced and incorporated ETSI-GSM Technical Specifi-
`cation. This filtering process yields a filtered signal X.
`The RPE grid selector 72 down-samples the filtered signal
`x by a ratio of three to yield three interleaved sequences
`consisting of 14, 13, and 13 samples. The RPE grid selector
`then splits these sequences into four sub-sequences xm,
`where “m” denotes the position of a decimation grid. Each
`sub—sequence xm has thirteen RPE samples. The RPE grid
`selector 72 selects an optimum sub—sequence xM which has
`the maximum energy from among the four sub-sequences,
`where “M” denotes the optimum grid position.
`One of the quantizers 740-743 encodes the sub—sequence
`of RPE samples into a compressed format for transmission.
`More particularly, the selected sub—sequence
`of thir-
`teen RPE samples is quantized by one of the quantizers
`740-748 using APCM (Adaptive Pulse Code Modulation).
`To perform the quantization, a maximum xmm of the abso-
`lute value
`is selected for each sub—sequence of
`rnzve
`thirteen samples xM(i). The maximum x
`is quantized
`logarithmically and output as one of the RPE parameters in
`the audio data block 66. The thirteen RPE samples of the
`selected sub—sequence
`are then normalized by a
`decoded version x‘max of the block maximum, as follows:
`x’(i)=xM(i)/x’,mw' i=0, .
`.
`. 12
`
`The normalized samples x'(i) are quantized uniformly
`with one of the nine quantizers 740-748. The appropriate
`quantizer is selected by the RPE grid selector 72 depending
`upon the best available effective bit rate wMaxBitRate at
`which the receiving modem is presently operating. In this
`manner, the RPE grid selector also functions as a quantizer
`selector. The effective bit rate wMaxBitRate of the receiving
`mode is known by the RPE encoder prior to the quantization
`process. In the system of FIG. 1, for example, the participant
`computing units queried the operating system for the present
`modem connection speed and forwarded this effective bit
`rate wMaxBitRate to the audio server.
`Depending upon which quantizer is selected, the audio
`data blocks output by the RPE-LTP coder 52 are different in
`size. The audio data blocks have nine different sizes of 164
`bits, 176, bits, 188, bits, 200 bits, 212 bits, 224 bits, 236 bits,
`248 bits, and 260 bits depending upon which quantizer is
`selected. The various sized audio data blocks differ in the
`number of bits used to represent the thirteen normalized
`RPE samples for each of the four sub-frames. The smaller
`audio data blocks (i.e., 164-bit and 176-bit) contain fewer
`bits to represent the normalized RPE samples, whereas the
`larger audio data blocks (i.e., 248-bit and 260-bit) contain
`more bits to represent the normalized RPE samples. The
`fewer the bits results in a slightly lower quality signal, but
`not to an annoying or disruptive level.
`
`5
`
`10
`
`15
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`When the effective bit rate of the receiving modem is
`comparatively smaller, representing a lower performing
`modem, a quantizer that causes output of smaller sized audio
`data blocks is selected. The lower quality signal is com1nen-
`surate with the performance of the receiving modem.
`Conversely, when the effective bit rate of the receiving
`modem is comparatively higher, representing a better per-
`forming modem, a quantizer that causes output of larger
`sized audio data blocks is selected. The higher quality signal
`is commensurate with the performance of the better per-
`forming receiving modern.
`In this manner,
`the multiple
`quantizers enable the RPE-LTP coder 52 to be scaleable
`according to the awaiting modern capabilities.
`The following discussion provides a specific example
`implementation of the nine quantizers used in an audio
`RPE-LTP coder that is implemented according to the Euro-
`pean GSM standard. The first quantizer 740 is selected when
`the wMaxBitRate is at a level 0. The first quantizer 740
`uniformly quantizes the first eight normalized samples x‘(i)
`of the first sub-frame to two bits, the last five normalized
`samples x'(i) of the first sub-frame to one bit, and the thirteen
`normalized samples
`of the three last sub-frames to one
`bit. Upon selection of the first quantizer, the RPE-LTP coder
`52 will output a 164-bit audio data block having the bit
`allocation shown in Table 2.
`
`wMaxBitRate ==
`Parameter
`
`Filter parameters
`
`Sub-frame #1 parameters
`
`Sub-frame #2 parameters
`
`Sub-frame #3 parameters
`
`Sub-frame #4 parameters
`
`TABLE 2
`
`Parameter name
`
`Variable Name
`
`Number
`of bits
`
`LAR1-LAR8
`8 LARS
`\I1
`ITP ag
`b1
`LTP gain
`RPE grid position M1
`Bloc { amplitude
`"max1
`3 RPE samples
`x1(0)—X1(12)
`LTP ag
`N2
`LTP gain
`b2
`RPE grid position M2
`Bloc { amplitude
`"‘max2
`' 3 RPE samples
`x2(0)-x2(12)
`LTP ag
`N3
`LTP gain
`b3
`RPE grid position M3
`Bloc { amplitude
`"max3
`3 RPE samples
`x3(0)-x3(12)
`LTP ag
`N4
`LTP gain
`b4
`RPE grid position M4
`Bloc { amplitude
`"max4
`3 RPE samples
`x4l:0)-x4(12)
`Total
`
`36
`7
`2
`2
`6
`21
`7
`2
`2
`6
`13
`7
`2
`2
`6
`13
`7
`2
`2
`6
`13
`164
`
`The second quantizer 741 is selected when the wMaxBi-
`tRate is at a level 1. The second quantizer 741 uniformly
`quantizes the thirteen normalized samples x‘(i) of the first
`sub-frame to two bits, the first seven normalized samples
`x‘(i) of the second sub-frame to two bits,
`the last six
`normalized samples x'(i) of the last sub-frame to one bit, and
`the thirteen normalized samples x‘(i) of the two last sub-
`frames to one bit. Upon selection of the second quantizer, the
`RPE-LTP coder 52 will output a 176-bit audio data block
`having the bit allocation shown in Table 3.
`
`TABLE 3
`
`wMaxBitRate ==
`Parameter
`
`Filter parameters
`
`Parameter name
`
`Variable Name
`
`Number
`of bits
`
`8 Log. Area ratios
`1 LTP lag
`
`LAR1-IAR8
`.\I1
`
`36
`7
`
`
`
`5,83
`
`U1
`
`495
`
`9
`
`TABLE 3-continued
`
`10
`
`TABLE 5
`
`wMaXBitRate == 1
`Parameter
`
`Parameter name
`
`Variable Name
`
`Number
`of bits
`
`wMaxBitRate == 3
`Parameter
`
`Parameter name
`
`Variable Name
`
`Number
`of bits
`
`Sub-frame #1 parameters
`
`Sub-frame #2 parameters
`
`Sub-frame #3 parameters
`
`Sub-frame #4 parameters
`
`b1
`LTP gain
`RPE grid position M1
`Bloc; amplitude
`Xmax1
`3 RPE samples
`x1(O)-x1(12)
`LTP ag
`N2
`LTP gain
`b2
`RPE grid position M2
`Bloc: amplitude
`"max2
`3 RPE samples
`x2(0)-x2(l2)
`' LTP ag
`N3
`LTP gain
`b3
`RPE grid position M3
`Bloc{ amplitude
`Xmax3
`3 RPE samples
`x3(0)-x3(12)
`LTP ag
`N4
`LTP gain
`b4
`RPE grid position M4
`Bloc{ amplitude
`"max4
`3 RPE samples
`x4(0)-x4(12)
`Total
`
`2
`2
`6
`26
`7
`2
`2
`6
`20
`7
`2
`2
`6
`13
`7
`2
`2
`6
`13
`176
`
`The third quantize 742 is selected when the wMaxBi-
`tRate is at a level 2. The third quantizer 742 uniformly
`quantizes the thirteen normalized samples x‘(i) of the first
`two sub-frames to two bits, the first six normalized samples
`x‘(i) of the third sub-frame to 2 bits, the last seven normal-
`ized samples x'(i) of the third sub-frame to one bit, and tl1e
`thirteen normalized samples x‘(i) of the last sub-frame to one
`bit. Upon selection of the third