Voice messaging system having user-selectable data compression modes

There is provided a portable packet switched wireless voice messaging device capable of transmitting and receiving a digital voice signal. The device includes a microphone for inputting a voice message, an encoder for encoding the voice message, a memory for storing the encoded message, a data compressor with variable compression ratio for compressing the encoded message in accordance with a data compression mode selected by the user and a transmitting circuit for transmitting the compressed data with information indicating the mode selected. The device also includes a receiving circuit for receiving an incoming message data which has been compressed in a transmitting side, a detector for detecting the compression mode used in the transmitting side, a data decompressor for decompressing the incoming message data in accordance with the detected mode, a memory for storing the decompressed data, a decoder for decoding the decompressed data and a speaker for reproducing a voice message in accordance with the decoded voice message signal provided by the decoder. The user can select a data compression mode depending upon the importance of his voice message to be transmitted.

BACKGROUND OF THE INVENTION 
1. Field of the Invention 
This invention relates to a two-way wireless messaging system for 
transmitting and receiving messages. More particularly, this invention 
relates to a wireless voice messaging system for transmitting and 
receiving encoded voice signals which are subject to variable data 
compression. 
2. Background 
Personal communication systems for enabling users to communicate with each 
other have become popular in the recent years. While in the past such 
systems have generally been realized using analog technology, it is 
desirable to instead use digital processing in order to use limited 
frequency resources more efficiently as well as reduce signal distortion 
and degradation and thus improve the overall quality of the voice signal. 
In general, in a digital cellular telephone system for transmitting and 
receiving digital voice signals, an input voice signal is digitized and 
encoded to speech parameters. A variety of speech encoding/decoding 
methods have been known for processing digital voice signals. For example, 
MBE (Multi Band Excitation), SBE (Single Band Excitation), SBC (Sub-Band 
Coding), Harmonic Coding, LPC (Linear Predictive Coding), DCT (Discrete 
Cosine Transform), MDCT (Modified DCT) and FFT (Fast Fourier Transform) 
have been known as such a encoding/decoding method. In addition, CELP 
(Code Excited Linear Prediction), VSELP (Vector Sum Excited Linear 
Prediction), PSI-CELP (Pitch Synchronous Innovation - CELP) and RPE-LTP 
(Regular Pulse Excitation - Long Term Prediction) have also become known 
as a speech encoding method for digital cellular telephone system. 
Such a digital cellular telephone system is called a circuit switched 
communication and two or more users can interactively communicate with 
each other in realtime. During the interactive communication, a signal 
channel is physically established exclusively for the communicating users. 
The cellular telephone system is relatively expensive because the users 
are charged for the exclusive use of the signal channel, for example, per 
minute basis. Even when a user just wants to talk for a short period to 
send a simple voice message, the service takes a high charge for using a 
cellular network in conjunction with PSTN (Public Switch Telephone 
Network). 
Unlike a cellular telephone system for a realtime communication, packet 
switched communication systems are also known. Packet switched 
communication systems are considered as non-realtime communication 
systems. One of the non-realtime communication systems is a one-way pager 
which is capable of receiving a text-based short message. A two-way pager 
terminal is also known for providing limited transmitting capability as 
well as receiving capability of a text-based short message. For the 
non-realtime communication system, there is no need to establish an 
exclusive signal channel between the communicating users. Therefore, the 
charge for the system is based on the amount of data transmitted, for 
example, per byte basis. However, such a pager system cannot transmit a 
voice message. 
SUMMARY OF THE INVENTION 
Accordingly, it is an object of the present invention to provide a packet 
switched wireless communication system for transmitting/receiving a voice 
message. 
It is another object of the present invention to provide a portable voice 
messaging device for transmitting/receiving a voice message with 
inexpensive air charge. 
It is a further object of the present invention to provide a user with 
options of a trade-off between transmission qualities and network charges 
depending upon the importance of his voice message. 
In one aspect of the present invention, there is provided a transmitter 
including an encoder for encoding an input voice message, a memory for 
storing the encoded voice message provided by the encoder and a data 
compressor for compressing the encoded voice message read from the memory 
and producing a compressed data in accordance with a transmission mode 
selected by the user. The compressed data is transmitted to destination 
receiver terminals. 
In another aspect of the present invention, there is provided a receiver 
including a receiving circuit for receiving an encoded message data and a 
transmission mode signal indicating a data compression mode used in a 
transmitting side, a memory for storing the encoded message data received 
by the receiving circuit, a data decompressor for decompressing the 
encoded message data in accordance with the mode detected, a decoder for 
decoding the decompressed data read from the memory and providing a voice 
message signal, and a speaker for reproducing a voice message in 
accordance with the voice message signal provided by the decoder. 
In accordance with the present invention, since a user can select one of 
data compression modes depending upon the importance of his voice message, 
a cost effective transmission of the voice message can be achieved.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
Referring to the accompanying drawings, an embodiment of the voice message 
transmitter/receiver according to the present invention will be described 
hereinafter. 
FIG. 1 shows a wireless voice messaging system over packet switched 
network, to which system the present invention applies. Portable radio 
transmitter/receiver terminals 1-1, 1-2 and 1-3 are provided for users. If 
a user of terminal 1-1 wants to send a voice message to a user of terminal 
1-2, the user of terminal 1-1 inputs a voice message through a microphone 
and sets a destination information specifying terminal 1-2 as a 
destination. Terminal 1-1 encodes the input voice message and transmits 
the coded message as well as the destination information to a base station 
2-1 which covers an area where terminal 1-1 is located. The coded message 
and the destination information are transmitted over the air as a packet 
data. 
Base station 2-1 receives the packet data transmitted from terminal 1-1 and 
transfers the received packet data to a network switching control center 
3. Network switching control center 3 sends the packet data to a 
destination base station 2-2 which covers an area where destination 
terminal 1-2 is located. Base station 2-2 transmits the packet data over 
the air to destination terminal 1-2 in accordance with the destination 
information in the packet data. When terminal 1-2 receives a complete 
message, a beep, vibration or other conventional notification tells the 
user of arrival of a new incoming message. The user of terminal 1-2 can 
retrieve the new incoming message when he reproduces it through a speaker 
on terminal 1-2. 
FIG. 2 shows an embodiment of a portable transmitter/receiver terminal 
according to the present invention. A portable transmitter/receiver 
terminal 10 has a microphone 11, a speaker 12, a record key 13, a playback 
key 14, a send key 15, up/down keys 16, an enter key 17, a delete key 18, 
a display 19, an incoming message indicator 20 and a volume key 21. 
Record key 13 is mainly used for recording an outgoing message which a user 
wants to send. Record key 13 is also used for a voice memo function; for 
recording a message which the user wants to hear later. Before sending the 
outgoing message, the user can hear and check it. Playback key 14 is used 
for reproducing the outgoing message which has been previously recorded. 
Playback key 14 is also used for reproducing an incoming message which has 
been received. After the user reproduces the outgoing message and is 
satisfied therewith, he sets a destination(s) to which he wants to send 
the message. Then, the user uses send key 15 to transmit the outgoing 
message. The user may send the outgoing message without reproducing the 
same. 
Display 19 selectively displays a destination information or other 
information selected by the user. Up/down keys 16 are used for scrolling 
up/down the information displayed on display 19. Incoming message 
indicator 20 indicates that a new incoming message has been received and 
stored in an inside memory. The recorded outgoing message or the stored 
incoming message can be deleted from the memory by using delete key 18. 
Volume key 21 controls a playback volume. 
Transmitter/receiver terminal 10 includes both a transmitting circuit and a 
receiving circuit therein. FIG. 3 is a block diagram showing an embodiment 
of such a transmitting circuit in transmitter/receiver terminal 10. In 
FIG. 3, microphone 11, record key 13, send key 15, up/down keys 16, enter 
key 17 and display 19 are indicated by the same reference numerals as used 
in FIG. 2. 
Transmitting circuit 30 includes a controller 31, an amplifier 32, an A/D 
converter 33, a speech encoder 34, a memory 35, a data compressor 36, a 
packet data generator 37 and a transmitter 38. When a user operates record 
key 13, controller 31 sends control signals to amplifier 32, A/D converter 
33 and encoder 34 so that these circuits start their operations. 
Controller 31 also sends a write command signal to memory 35 so that 
memory 35 starts its writing operation. While the user holds down record 
key 13, he speaks a voice message through microphone 11. The input voice 
message is supplied from microphone 11 to A/D converter 33 which converts 
the voice message to a digital signal. A/D converter 33 uses 8 KHz 
sampling frequency, for example. A/D converter 33 supplies the digital 
message signal to speech encoder 34. Speech encoder 34 encodes the digital 
signal to an encoded data. Speech encoder 34 supplies the encoded data to 
memory 35 for storing them. When the user finishes an entire message, he 
releases record key 13. 
A high-efficiency encoding method used in speech encoder 34 may be of 
various kinds. As mentioned above, such a speech encoding method may be 
Multi Band Excitation (MBE), Single Band Excitation (SBE), Sub-band Coding 
(SBC), Harmonic Encoding, Linear Predictive Coding (LPC), Discrete Cosine 
Transforming (DCT), Modified Discrete Cosine Transforming (MDCT), Fast 
Fourier Transforming (FFT), Code Excited Linear Predictive (CELP) coding, 
Vector Sum Excited Linear Predictive (VSELP) coding, Pitch Synchronous 
Innovation-CELP (PSI-CELP) coding and Regular Pulse Excitation Long Term 
Prediction (RPE-LTP) coding. By using any one of these encoding methods or 
other similar encoding method, an amount of the digital signal from A/D 
converter 33 can be suppressed with acceptable degradation of quality of 
the voice message. Alternatively, the digital signal can be directly 
supplied from A/D converter 33 to memory 35 without being encoded by 
speech encoder 34 even though memory 35 would need more storage capacity 
than when speech encoder 34 is used. In this particular embodiment, speech 
encoder 34 encodes the digital signal from A/D converter 33 by the MBE 
encoding/decoding method and generates as the encoded data four kinds of 
speech parameters; a Linear Spectrum Pair (LSP) parameter, a pitch 
parameter, a voice/unvoice discrimination parameter and an amplitude 
parameter. 
As shown in FIG. 4, speech encoder 34 generates one set of the four 
parameters by processing a block of 256 samples of the digital signal from 
A/D converter 33. However, the next block of 256 samples for calculation 
of the next set of four parameters proceeds only for a frame period 
comprising 160 samples with the remaining 96 samples overlapping. Since 
A/D converter 33 produces each sample at 8 KHZ sampling frequency, one 
frame of 160 samples are equivalent to 20 ms. Therefore, the four 
parameters are updated at every 20 ms. Speech encoder 34 for providing the 
four parameters are described in more detail in a co-pending U.S. patent 
application, Ser. No. 08/518298, filed on Aug. 23, 1995, now U.S. Pat. No. 
5,749,065, and assigned to the same assignee of this application. Speech 
encoder 34 supplies a series of the four speech parameters to memory 35 
for storing them. 
Referring back to FIG. 3, after recording a voice message, the user inputs 
a destination information by scrolling numerical or alphabetical 
characters on display 19 by using up/down keys 16 and enter key 17. 
Controller 31 supplies the destination information to packet data 
generator 37. The user also chooses a data compression mode. Selection of 
the data compression mode can be made either before or after inputting the 
destination information. In this embodiment there are provided three data 
compression modes; "Regular", "Low" and "Extra Low" modes. The user 
operates up/down keys 16 and enter key 17 to choose one of the three 
modes. Controller 31 sends a mode selection signal to data compressor 36 
and packet data generator 37 in accordance with the user's selection of 
the mode. 
The "Regular" mode is used when the user wants to send a message including 
important information such as credit card numbers or telephone numbers. In 
the "Regular" mode, data compressor 36 does not change an amount of the 
encoded data supplied from memory 35. Transmission of the message in the 
"Regular" mode is of the highest quality. 
The "Low" mode is suitable for sending a less important message. In the 
"Low" mode, data compressor 36 compresses an amount of encoded data 
supplied from memory 35. Due to the data compression, the quality of the 
transmitted message in the "Low" mode is lower than that of the "Regular" 
mode. However, the user can save air charges because the "Low" mode needs 
to send less amount of data for the transmission of the message of the 
same length than the "Regular" mode. 
The "Extra Low" mode is suitable for sending a relatively unimportant 
message. In the "Extra Low" mode, data compressor 36 applies more data 
compression than in the "Low" mode. Because of the increased data 
compression, the amount of the encoded data supplied from memory 35 is 
further suppressed. The quality of the transmitted message is the lowest 
in the "Extra Low" mode, but the quality is still sufficient to be 
comprehensive. The user can save air charges the most because the "Extra 
Low" mode needs to send the least amount of data for transmission of the 
message of the same length among the three modes. 
After the user inputs the destination information and selects one of the 
three modes, he can send the recorded message by operating send key 15 at 
any time. When send key 15 is operated, controller 31 sends a read command 
signal to memory 35. Controller 31 also sends control signals to data 
compressor 36, packet data generator 37 and transmitter 38 so that these 
circuits start their operations. In response to the read command signal, 
the encoded data, that is, a series of the speech parameters, are read out 
from memory 35 and supplied to data compressor 36. Data compressor 36 
compresses an amount of the encoded data in accordance with the 
compression mode information supplied from controller 31. 
Suppose that the user inputs a 4-second voice message. Since the four 
speech parameters are obtained every 20 ms in this embodiment, data 
compressor 36 receives 200 sets of the speech parameters for the 4-second 
voice message. As described above, there are provided three compression 
modes; "Regular", "Low" and "Extra Low" modes. When the user chooses the 
"Regular" mode, no data compression applies. Therefore, in the "Regular" 
mode, data compressor 36 does not change the 200 sets of the speech 
parameter and simply supplies them to packet data generator 37. 
When the "Low" mode is chosen by the user, data compressor 36 compresses 
the encoded data read out from memory 35. If a compression ratio in the 
"Low" mode is set as 2:1, for example, data compressor 36 compresses the 
200 sets of the speech parameters into 100 sets. As shown in FIG. 5A, data 
compressor 36 receives data 1, data 2, data 3, . . . and data 200, each 
representing a set of the four speech parameters. Data compressor 36 picks 
out only odd-numbered data so that 100 sets of the speech parameters, data 
1', data 2', . . . and data 100' are obtained. Data compressor 36 outputs 
the 100 sets of the speech parameters at the same data rate as the 
original 200 sets of the speech parameters. Even though the data rates of 
the input and output of data compressor 36 are the same, the total length 
of the data, i.e., the total amount of the data is reduced from the 200 
sets to the 100 sets by data compressor 36. Data 1', data 2', . . . and 
data 100' are supplied to packet data generator 37. 
Similarly, if the user chooses the "Extra Low" mode of which compression 
ratio is set as 4:1, for example, the 200 sets of the speech parameters 
are compressed to 50 sets thereof. As shown in FIG. 5B, data compressor 36 
picks out only data 1, data 5, data 9 . . . and data 197 among the 200 
sets of the speech parameters from memory 35. As a result, 50 sets of the 
speech parameters, data 1', data 2', . . . and data 50' are obtained. Data 
compressor 36 outputs the 50 sets of the speech parameters at the same 
data rate as the original 200 sets of the speech parameters. The total 
amount of data is reduced to one-fourth in the "Extra Low" mode. 
Though the compression ratios are selected as 2:1 and 4:1 for the "Low" and 
"Extra Low" modes respectively in this embodiment, any other compression 
ratio can be used. For example, if compression ratio of 4:3 is used, data 
1, data 2, data 3 and data 4 are compressed into data 1', data 2' and data 
3' as shown in FIG. 5C. Data 1 can be directly used as data 1'. Data 2' 
can be calculated by interpolating data 2 and data 3 in a conventional 
interpolation technique, i.e., data 2'=(2/3.times.data 2)+(1/3.times.data 
3). Similarly, data 3' can be obtained by interpolation between data 3 and 
data 4, i.e., data 3'=(1/3.times.data 3)+(2/3.times.data 4). Data 5 can be 
directly used as data 4'. 
Referring back to FIG. 3, data compressor 36 supplies a compressed data to 
packet data generator 37. Packet data generator 37 combines the compressed 
data from data compressor 36 with the compression mode information and the 
destination information supplied from controller 31 and forms packet data. 
The packet data is also formed to include synchronizing bits, error 
correction bits and an end flag bit indicating the end of the entire voice 
message. Packet data generator 37 supplies the packet data to transmitter 
38. Transmitter 38 transmits the packet data through an antenna 39. The 
packet data is sent to a corresponding base station. The base station 
sends the packet data to a network switching control center. The network 
switching control center sends the packet data to a destination base 
station which transmits them to a destination transmitter/receiver 
terminal. 
FIG. 6 is a block diagram showing an example of a receiver circuit included 
in transmitter/receiver terminal 10. A receiving circuit 50 includes a 
controller 51, a receiver 52, an unpacketer 53, a mode detector 54, a 
memory 55, a data decompressor 56, a decoder 57, a D/A converter 58, an 
amplifier 59 and a speaker 60. Receiver 52 receives the packet data 
transmitted from the base station which covers the area where terminal 10 
is located. The received packet data is supplied to unpacketer 53. 
Unpacketer 53 unpackets the packet data and generates the compressed 
speech parameters and the compression mode information. Then, unpacketer 
53 sends the compressed speech parameter and the compression mode 
information to memory 55 and mode detector 54, respectively. Unpacketer 53 
also detects the end flag bit included in the packet data and determines 
whether the entire message is received or not. When the entire message is 
received, unpacketer 53 informs controller 51 that the entire message has 
been received. Mode detector 54 detects the compression mode from the 
compression mode information and supplies a mode control signal to memory 
55. Memory 55 stores the compressed speech parameters supplied from 
unpacketer 53 and the mode control signal supplied from mode detector 54. 
When memory 55 stores the compressed speech parameters of the entire 
incoming message, controller 51 controls incoming message indicator 20 to 
be lit so that the user knows arrival of the new incoming message. Then, 
the user operates playback key 14 to reproduce the new incoming voice 
message at any time. When playback key is operated, controller 51 controls 
memory 55 to send the compressed speech parameters and the mode control 
signal stored therein to data decompressor 56. Data decompressor 56 
decompresses the compressed speech parameters in accordance with the mode 
control signal. 
The function of data decompressor 56 is opposite to that of data compressor 
36 shown in FIG. 3. When data decompressor 56 decompresses amount of the 
data of the speech parameters, conventional interpolation technique is 
used. Referring back to FIG. 5A, when data decompressor 56 receives the 
100 sets of the speech parameters, data 1', data 2', data 3', . . . and 
data 100' which have been compressed with compression ratio 2:1, data 1' 
is used as data 1, data 2' is used data 3, data 3' is used as data 5. Data 
2 is obtained by interpolating data 1 (which is data 1') and data 3 (which 
is data 2'), i.e., data 2=(1/2.times.data 1)+(1/2.times.data 3). 
Similarly, data 4 is obtained by interpolating data 3 (which is data 2') 
and data 5 (which is data 3'). As a result, the received 100 sets of the 
speech parameters are decompressed to 200 sets thereof. Although some 
information is lost due to the data compression and decompression 
processes which cause quantization error, acceptable quality of the voice 
message is still maintained. 
As shown in FIG. 6, data decompressor 56 supplies the decompressed speech 
parameters to decoder 57. Decoder 57 decodes the speech parameters and 
generates a digital voice signal. The digital voice signal is sent to D/A 
converter 58 which converts the digital voice signal to an analogue voice 
signal. The analogue voice signal is supplied to amplifier 59 and a 
speaker 60 finally provides the user with a voice message. 
Alternatively, the positions of memory 55 and data decompressor 56 can be 
reversed. In this case, data decompressor 56 decompresses the compressed 
speech parameters directly supplied from unpacketer 53 in accordance with 
the mode control signal directly supplied from mode detector 54. Then, 
data decompressor 56 supplies decompressed speech parameters to memory 55. 
When the user operates playback key 14, controller 51 controls memory 55 
to send the decompressed speech parameters stored therein to decoder 57. 
The operations thereafter is same as those shown in FIG. 6. 
While specific embodiments of the invention have been disclosed, it is to 
be understood that numerous changes and modifications may be made by those 
skilled in the art without departing from the scope and intent of the 
invention.