Abstract:
There is disclosed herein a method of and system for reproducing an analog signal using digital techniques. The system includes means for encoding the analog signal in digital form and means for decoding the encoded analog signal. The encoding means includes means for detecting the upper bandwidth limit of the input analog signal during each of a plurality of successive sample intervals. Means coupled to the detecting means are included for sampling the input analog signal at a sampling rate determined in accordance with the detected upper bandwidth limits to derive a series of voltage levels which together define a sampled approximation of the input analog signal. Means are coupled to the sampling means for converting each voltage level and the sampling rate at which such voltage level was derived into digital signals. Also included are means for detecting when the input analog signal is at substantially a zero level, means for developing a digital indication of the length of time the signal is at such level and means for combining the digital indication with the digital signals to develop a digital representation of the input analog signal. The decoding means includes means for sequentially retrieving the digital signals, means coupled to the retrieving means for converting the digital signals into the sampled approximation of the input analog signal and a low-pass filter coupled to the converting means having a cut-off frequency determined in accordance with the encoded sampling rate for filtering the sampled approximation to reproduce the input analog signal.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This is a continuation-in-part application of Podolak et al, U.S. application Ser. No. 787,504, filed Oct. 15, 1985, entitled &#34;Digital Method and System for Reproducing Analog Data&#34;, assigned to the assignee of the instant application, now abandoned. 
    
    
     TECHNICAL FIELD 
     The present invention relates generally to encoding and decoding techniques, and more particularly to a method and system for encoding analog data or signals in digital form and reproducing the analog data or signals therefrom. 
     BACKGROUND ART 
     Prior systems and techniques for digitally encoding and decoding analog data or signals have been developed in the field of audio signal reproduction. Typically, such systems are based upon the Nyquist theorem which states that an analog bandwidth-limited signal can be reproduced exactly by sampling the signal at a rate at least twice the upper bandwidth limit of the signal to create a staircase approximation of the signal and by passing the staircase approximation through an ideal low-pass filter having a cut-off frequency equal to the upper bandwidth limit. In accordance with this theorem, prior systems have sampled the analog signal at a constant rate which is at least twice the highest anticipated frequency of the signal. For speech, the upper frequency limit is approximately 4 kilohertz while the upper frequency limit of music is considered to be the maximum frequency that can be detected by the human ear, i.e. 20 kilohertz. Accordingly, prior systems have used a sampling frequency of 44.1 kilohertz to encode musical signals. 
     The sampled analog signal is then converted into a series of digital signals which are stored on a storage medium, such as an audio compact disc. 
     During the reproduction process, the digital signals are sequentially retrieved from the storage medium at a constant rate, converted back to analog signals by a digital-to-analog converter and passed through a low-pass filter having a constant cut-off frequency equal to the highest anticipated frequency of the audio signal. In this manner, the analog signal is reconstructed without substantial distortion and loss. 
     While this type of encoding/decoding process results in highly accurate reproduction of the audio signal, it has been found that this process requires a large amount of digital signals to encode even a small portion of the audio signal. As a result, currently available compact discs are capable of recording only a limited amount (60-90 minutes) of stereo music. 
     Other systems have been devised which sample the analog signal at a variable rate wherein the rate is determined in dependence upon the magnitude of change of the amplitude of the analog signal. Such types of amplitude-dependent variable rate sampling, however, results in excessive oversampling of high-amplitude, low-frequency audio, music or voice signals. Such types of systems, therefore, also require a large amount of digital signals to encode such signals. Systems of this type are disclosed in Cherry et al U.S. Pat. No. 3,299,204, Stapleton U.S. Pat. No. 3,449,742, Jordan U.S. Pat. No. 4,308,585 and Kitamura U.S. Pat. No. 4,370,643. 
     A still different type of system for reproducing an analog signal is disclosed in Tsuchiya et al U.S. Pat. No. 4,348,699. This system includes means for establishing a sampling frequency at which an entire selected analog signal is sampled to create a digital signal and means for generating an encoded representation of the sampling frequency, which representation is recorded on a recording medium along with the digitally encoded analog signal. The representation of the sampling frequency is used to control the transport speed of the recording medium so that the system records the digital signals at a predetermined constant density on the recording medium. It does not appear, however, that this system results in a reduced or minimum amount of digital signals to encode an analog signal. 
     Kitamura et al U.S. Pat. No. 4,568,912 discloses a data compression system wherein a series of words which represent an analog signal at equally spaced intervals throughout the signal are converted into a second series of digital words which represent the analog signal at intervals between zero crossing points thereof. The intervals defined by the second series of words are equally spaced between successive zero crossing points of the analog signal but the interval duration in one portion of the signal between zero crossing points may be different than the duration of the intervals in another portion of the analog signal between two other zero crossing points. 
     The second series of words are analyzed to produce a straight line approximation of the analog signal and the approximation is filtered by a variable frequency low-pass filter to reconstruct the analog signal. 
     However, the Kitamura et al system does not attempt to reproduce high frequency components of an analog signal. Rather, it appears that the time between successive zero crossing points is detected and the rate at which the analog signal is sampled is determined in accordance with the detected time. Moreover, this system deliberately filters high frequency components from the original analog signal so that memory savings are achieved. 
     Also, it appears that the variable frequency low-pass filter described in the Kitamura et al patent is inherently slow in response time and hence could not reproduce high frequencies. 
     SUMMARY OF THE INVENTION 
     In accordance with the present invention, a digital method and system for reproducing analog data accomplishes a significant reduction in the amount of digital signals required to reproduce a given analog signal. 
     The present invention comprises a method and apparatus for encoding an analog input signal in digital form as a sequence of digital signals and a method and apparatus for decoding the digital signals to reproduce the analog input signal. The apparatus for encoding the analog signal in digital form comprises means for detecting the upper bandwidth limit of the analog input signal. Means are coupled to the detecting means for sampling the analog input signal at a variable sampling rate determined in accordance with the detected upper bandwidth limit to derive a series of voltage levels which together define a sampled approximation of the input analog signal. Means coupled to the sampling means convert each voltage level and the sampling rate at which such voltage level was derived into a digital signal or word to develop a digital representation of the analog input signal. 
     The apparatus for decoding the digital representation includes means for sequentially retrieving the digital signals, means coupled to the retrieving means for converting the digital signals into the sampled approximation of the analog input signals and a filter coupled to the converting means having a cut-off frequency determined in accordance with the encoded sampling rate for filtering the sampled approximation to reproduce the analog input signal. 
     In the preferred embodiment, means are provided in the encoding portion of the system to detect when the analog input signal is at substantially a zero level. When such a condition is detected, a counter measures the length of time the input analog signal is at such level and a represetation of the length of time is encoded in digital form. This digital representation is then utilized in the decoding section to inhibit the output of the filter to ensure that a substantially zero level of correct duration is reproduced in the output signal. This technique further decreases the amount of digital signals required to reproduce an analog signal of given length since only one or a few digital signals representing the length of the substantially zero level condition are required rather than a plurality of digital signals representating the substantially zero level condition for each of a plurality of increments of time. 
     The reduction in the amount of digital signals representing a given analog signal results in a substantial increase in the storage capacity of various storage media in the event the analog signal is to be reproduced from data stored thereon. 
     The encoding/decoding technique and system disclosed herein may also be useful in those situations when it is desired to transmit analog data by digital techniques over a transmission medium. In such a case, the analog data may be converted to the data of the format described above and transmitted directly to a remote location or stored first and then transmitted to achieve a savings in transmission time. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a simplified block diagram of a combined digital encoding and decoding system for reproducing analog data; 
     FIGS. 2A and 2B are more detailed block diagrams of the system shown in FIG. 1; 
     FIG. 3 is a block diagram of the real time analyzer shown in block diagram form in FIGS. 1 and 2A; and 
     FIG. 4 is a waveform diagram illustrating the operation of the system shown in FIG. 2A. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring now to FIG. 1, there is illustrated a generalized block diagram of the system according to the present invention. The system includes an encoding section 10 which encodes an input analog signal, such as an audio signal, in digital form and stores the digital signals representing the input signal on a storage medium 12. A second or decoding section 14 coupled to the encoding section 10 via the storage medium 12 retrieves the digital signals therefrom and recreates the input analog signal at an output 16. 
     The encoding section 10 includes a bandwidth detector 20 in the form of a real time analyzer which is described in greater detail hereinafter. The real time analyzer 20 develops a bandwidth code output on a series of lines 22 which represents the upper limit of the bandwidth of the input analog signal. The lines 22 are coupled to a sampling rate selection circuit 24 which develops one of a plurality of sampling rate outputs on a line 26. 
     The input analog signal is also coupled to an input low-pass filter 28 which has a variable cut-off frequency as determined by the output of the sampling rate selection circuit 24. In effect, the input low-pass filter 28 attenuates signal components at frequencies above the upper bandwidth limit as detected by the real time analyzer 20. 
     The input low-pass filter 28 prevents harmonics of short duration which may have escaped detection by the real time analyzer 20 from causing aliasing effects in the reproduced signal. In the preferred embodiment and as noted more specifically below, the input low-pass filter 28 also samples the input analog signal at a variable sampling rate determined by the output of the sampling rate selection circuit 24 to develop a sampled or multi-level staircase approximation of the analog input signal. 
     The output of the input low-pass filter 28 is coupled to an analog-to-digital (A/D) converter 30 which converts the multi-level staircase approximation into a series of digital words which are coupled to a data select circuit or data switch 32. 
     The real time analyzer 20 includes a further output on a line 34 which is in a high state when the input analog signal is at substantially a zero level. A high state signal on the line 34 enables a counter 36 having a digital output which is coupled to the data select circuit 32. Further, during this time the bandwidth code output on the lines 22 assumes a value indicating that the input analog signal is at the substantially zero value. 
     If the level of the signal on the line 34 is in the high state indicating that the input analog signal is at substantially the zero level, the output of the counter 36 together with the bandwidth code on the lines 22 are stored as a digital word at a storage location on the storage medium 12. On the other hand, if the level of the signal on the line 34 is low, the output of the A/D converter 30 together with the bandwidth code on the lines 22 are stored as a digital word in the storage position on the storage medium 12. 
     It should be noted that the storage medium 12 may be any device capable of storing digital information. For example, the storage medium 12 may be a compact audio disc, a laser disc commonly used in video reproduction, a hard disk typically used in computers, magnetic tape or disks, or the like. In each case, an appropriate encoding or writing device must be used between the data select circuit 32 and the storage medium 12 to permit storing of the information on the medium 12. 
     As noted previously, the storage medium 12 is not necessary in the event the data is to be transmitted to a remote location. In such a case, a buffer, however, may be required. 
     The decoding section 14 includes a latch 40 which sequentially retrieves the stored digital words from the storage medium 12. Of course, appropriate reading or decoding apparatus must be used between the storage medium 12 and the latch 40 to obtain the digital words from the storage medium 12. 
     Coupled to the latch 40 is a second data select circuit or data switch 42 which includes first and second outputs on lines 44,46. The first output44 is coupled to a digital-to-analog (D/A) converter 48. The second output 46 is coupled to a counter 50 and thence to an OR gate 52 which receives a second input from an output of the D/A converter 48. 
     The data select circuit 42 analyzes the bandwith code retrieved from the storage medium 12 to determine whether the analog signal to be reproduced is at substantially the zero level and, if this is the case, the data word retrieved from the storage medium 12 is passed to the counter 50. The counter 50 comprises a programmable countdown counter which produces a high state output when the counter 50 counts down to zero. This high state output is coupled through the OR gate 52 back to the latch 40 to retrieve or fetch the next digital word from the storage medium 12. 
     On the other hand, if the bandwidth code retrieved from the storage medium 12 indicates that the signal to be reproduced is not at substantially the zero level, the data select circuit 42 passes the retrieved data to the D/A converter 48 which develops an analog output level at an output 54 that is maintained by the D/A converter 48 for a time determined by the bandwidth code. This code also represents the sampling frequency at which the digital word was originally created and stored on the medium 12. 
     When the analog output level from the D/A converter on the line 54 has been maintained for the required time, a high state signal is coupled to the OR gate 52 which causes the latch 40 to retrieve the next data word. The D/A converter 48 thereby reconstructs or reproduces the staircase approximation of the input analog signal. 
     The output 44 of the data select circuit 42 is also coupled to a cut-off frequency selection circuit 56 having an output connected to one input of an output low-pass filter 58. A second input of the output low-pass filter 58 is coupled to the line 54 and thereby receives the reconstructed staircase approximation of the input analog signal at the output of the D/A converter 48. The output low-pass filter 58 filters the staircase or sampled approximation of the input analog signal to recreate the input analog signal on a line 60. 
     An inhibit circuit 62 is coupled to the line 60 and inhibits the output of the low-pass filter 58 when the data retrieved from the storage medium 12 indicates that an analog signal of substantially zero level is to be reproduced. The inhibit circuit 62 prevents unwanted noise from being introduced on the output line 16. 
     On the other hand, if the data retrieved from the storage medium 12 indicates that an analog signal not at substantially the zero level is to be reproduced, the inhibit circuit 62 is inoperative and allows the signal on the line 60 to pass to the output line 16. 
     Referring now to FIGS. 2A and 3, there is illustrated in greater detail the encoding section 10 illustrated in FIG. 1. 
     The real time analyzer 20 includes a series of frequency detectors 70 which, as seen in FIG. 3, are fourteen in number together with a silence detector 72. It should be noted that the silence detector may be separate from the real time analyzer 20 is desired. 
     As seen specifically in FIG. 3, each frequency detector 70-1 through 70-14 comprises a high-pass filter which receives the input analog signal. The high-pass filters 70-1 through 70-14 have different cut-off frequencies which, in the preferred embodiment, are equal to 1 kilohertz, 2 kilohertz, 3 kilohertz, 4 kilohertz, 5 kilohertz, 6.6 kilohertz, 8 kilohertz, 9 kilohertz, 10 kilohertz, 11.5 kilohertz, 13 kilohertz, 14.5 kilohertz, 16 kilohertz and 18 kilohertz. Of course, other cut-off frequencies may be used, if desired. The high-pass filters 70-1 through 70-14 are connected to level detectors 74-1 through 74-14, respectively. The level detectors 74 are in turn coupled to fourteen inputs of a priority encoder 76 also shown in FIG. 2A. 
     Each high-pass filter 70 attenuates frequency components in the analog input signal below the cut-off frequency and passes the filtered signal to an associated level detector 74. The level detector compares the filtered signal against a predetermined reference and, if the amplitude of the filtered signal is greater than the predetermined reference, a high state signal is developed at the output of the level detector 74. 
     On the other hand, if the amplitude of the filtered signal is less than the predetermined reference, a low state signal is developed at the output of the level detector 74. 
     Each level detector 74 latches a high state signal at its output for a predetermined period of time which, in the preferred embodiment, is on the order of one-third second. Each level detector 74, however, does not latch a low state signal at its output and therefore immediately generates a high state signal when the predetermined reference is exceeded, which signal, as just noted, is thereafter latched for the one-third second interval. This means that the output of the real time analyzer 20 can instantaneously respond to an increase in bandwith, but will maintain an indication of a high bandwidth for approximately one-third second after the actual bandwidth has decreased from the high value. This prevents excessive changes in sampling rate, as noted more specifically below. 
     The predetermined reference against which the filtered signals are compared is determined in dependence upon the anticipated range of amplitudes of the input signal and the rate of roll-off of the filters 70. In the preferred embodiment, the high-pass filters are fourth order filters or higher and the predetermined reference level against which the filtered signals are compared by the level detector 74 is in the range of 2 millivolts above ground potential when the maximum peak-to-peak input signal amplitude is equal to 10 volts, or alternatively, 0.02% of the total signal amplitude. 
     The priority encoder 76 includes sixteen inputs D 0  -D 15 . The level detectors 74-1 through 74-14 are coupled to the inputs D 2  -D 15 , respectively. The input D 1  receives the output of a further level detector 77 which in turn receives the analog input signal. The input D 0  receives the output of the silence detector 72. 
     The priority encoder 75 includes four outputs Q 0  -Q 3  which together comprise four-bit binary output described in greater detail hereinafter. 
     The outputs of the level detectors 74-1 through 74-14 and 77 together comprise a fifteen bit word representing the upper bandwidth limit of the input analog signal. For example, when the input analog signal contains a frequency component above 18 kilohertz having an amplitude greater than the reference level, each of the outputs of the level detector 74 is in a high state to form the binary word 11111111111111. This fifteen bit binary word, together with the signal from the silence detector 72 on the input D 0  is converted to a unique four-bit output 1111 at the outputs Q 0  -Q 3 . 
     When the analog input signal contains frequency components greater than 16 kilohertz but less than 18 kilohertz, the fifteen bit word coupled to the inputs D 1  -D 15  is 01111111111111. This code, in conjunction with the high signal on the input D 0  causes the outputs Q 0  -Q 3  to generate a unique four-bit output 1110. 
     Other fifteen bit words are created in like fashion representing the upper bandwidth limit of the input audio signal. When the input audio signal is above a reference level for the detector 77 and contains frequency components which do not exceed 1 kilohertz, each of the level detectors 74 generates a low state output while the level detector 77 generates a high state output. These outputs, together with the signal at the inputs D 0  generate the word 0001 at the output of the priority encoder 76. 
     Referring again to FIG. 2A, when the amplitude of the analog input signal drops below a reference level for the silence detector 72, a high state output or digital silence signal is generated thereby which is coupled to the input D 0  of the priority encoder 76 which then develops a four-bit word 0000. The digital silence signal is also coupled via an edge-triggered latch 78 to an enable input of the counter 36. The latch 78 is further connected to a control input of the data select circuit or data switch 32. The latch 78 comprises means for generating the time/voltage data bit noted above. 
     The latch 78 is controlled by a gating logic circuit 79 which is described in greater detail hereinafter in connection with FIG. 4. The output of the latch 78, when in the high-state indicating that the input analog signal is at substantially the zero level, causes the count 36 to develop one or more 12 bit digital output words, also referred to as a digital silence duration signal, representing the accumulation of 2500 kilohertz clock pulses developed by a set of dividers described in greater detail below. The 12 bit output of the counter 36 is coupled to the data switch 32 and represents the length of time that the analog signal is at substantially the zero level. 
     The output of the priority encoders 76 is coupled to a four-bit edge-triggered latch 82 which is in turn coupled to a one-of-fifteen selector circuit 84 in the sampling rate select circuit 24. The latch 82 is controlled by the gating logic circuit 79 as noted more specifically below. At this point, it suffices to say that the latch 82 is periodically triggered to provide at its output the four-bit output word appearing at the output of the priority encoder 76 at the time the latch 82 is triggered. The latch 82 maintains this four-bit word at its output until it is triggered again. The latch 82 therefore defines sampling intervals of equal length until a different four-bit words is latched at its output. 
     The one-of-fifteen selector passes one of fifteen clock signals developed by a clock 86 and a plurality of dividers 88 to a low-pass filter stage 90 in the input lowpass filter 28. One of the dividers 88 supplies the 2.5 kilohertz clock signal to the silence duration counter 36 as noted above. The low-pass filter stage 90 also receives the input analog signal and filters same with a cut-off frequency established by the output of the one-of-fifteen selector 84 so that signal components at frequencies greater than a predetermined fraction (at most one-half per the Nyquist theorem) of the sampling rate are removed from the analog signal before sampling. 
     The input low-pass filter 28 also includes a sample and hold function, represented by the block 92 which develops an output that, as previously mentioned, is a sampled or staircase approximation of the input analog signal. The staircase approximation comprises a plurality of signal levels, the duration of each of which is equal to the corresponding sampling interval or subdivision of the input analog signal. The duration of each of the signal levels may be the same as or different than the duration of other signal levels. Each signal level duration, or equivalently the duration of each sampling interval, is determined by the sampling rate which is in turn selected in accordance with the upper bandwidth limit of the input analog signal as detected by the frequency detector 70 and as selected by the encoder 76 and the latch 82. In general, one of a plurality of sampling rates is chosen to determine a sampling interval in dependence upon the upper bandwidth limit detected in the preceding sampling interval. In the preferred embodiment, the lowest sampling rate that exceeds a particular multiple (at least two per the Nyquist theorem) of the detected upper bandwidth limit is selected. More specifically, the sampling rate for each sampling interval in the preferred embodiment is selected to be equal to: 
     
         f.sub.s =2.5×f.sub.BW 
    
     where f s  is the sampling rate and f BW  =one of f 0  -f 14  as determined by the following: 
     f BW  =f 0  if f n  &lt;f 0  where f n  is the highest frequency of the input signal represented by the four-bit output of the latch 82 as detected in the immediately preceding sampling interval 
     f BW  =f 1  if f 0  ≦f n  &lt;f 1   
     f BW  =f 2  if f 1  ≦f n  &lt;f 2   
     f BW  =f 3  if f 2  ≦f n  &lt;f 3   
     f BW  =f 4  if f 3  ≦f n  &lt;f 4   
     f BW  =f 5  if f 4  ≦f n  &lt;f 5   
     f BW  =f 6  if f 5  ≦f n  &lt;f 6   
     f BW  =f 7  if f 6  ≦f n  &lt;f 7   
     f BW  =f 8  if f 7  ≦f n  &lt;f 8   
     f BW  =f 9  if f 8  ≦f n  &lt;f 9   
     f BW  =f 10  if f 9  ≦f n  &lt;f 10   
     f BW  =f 11  if f 10  ≦f n  &lt;f 11   
     f BW  =f 12  if f 11  ≦f n  &lt;f 12   
     f BW  =f 13  if f 12  ≦f n  &lt;f 13   
     f BW  =f 14  if f 13  ≦f n   
     In the preferred embodiment, the following values are used for f 0  -f 14  : 
     f 0  =1 khz 
     f 1  =2 khz 
     f 2  =3 khz 
     f 3  =4 khz 
     f 4  =5 khz 
     f 5  =6.6 khz 
     f 6  =8 khz 
     f 7  =9 khz 
     f 8  =10 khz 
     f 9  =11.5 khz 
     f 10  =13 khz 
     f 11  =14.5 khz 
     f 12  =16 khz 
     f 13  =18 khz 
     f 14  =20 khz 
     As previously noted, the input low-pass filter 28 not only accomplishes the low-pass filtering that minimizes the incidence of aliasing, but also includes the sample and hold function for generating the staircase approximation of the analog input signal. The input low-pass filter 28 is implemented in the preferred embodiment by an MF10 dual-switched capacitor filter chip manufactured by National Semiconductor. It should be noted, however, that the elements 90,92 may be separate circuits implemented by other chips or components, if desired. 
     The staircase approximation of the analog input signal is coupled to the A/D converter 30 which receives a timing input or a sample clock signal from a divide-by-20 circuit 94 coupled to the output of the one-of-fifteen selector 84. The A/D converter converts the staircase approximation of the audio signal into a series of 12 bit digital words representing each analog level or segment of the staircase approximation. These twelve bits are combined with the four-bit output of the latch 82 by the data switch 32 to generate a plurality of digital signals or words representing each voltage level together with the sampling rate during each interval thereof. 
     The sample clock signal from the divide-by-20 circuit 94 is also coupled to the sample and hold block 92 to control same and to one input of the gating logic circuit 79 which selects the duration of each sampling interval by controlling the latch 82, as described in greater detail in connection with FIG. 4. The gating logic circuit 79 includes a second input coupled to the output of the silence detector 72. When the output of the silence detector 72 is low, the latch 82 is triggered by the gating logic circuit 79 at the rising edge of each pulse of the sample clock signal from the divide-by-20 circuit 94. On the other hand, if the output of the silence detector 72 is in a high state, the gating logic circuit 79 prevents further triggering of the latch 82 until the output of the silence detector 72 returns to the low state. Also, the circuit 79 triggers the latch 78 at the next rising edge of the sample clock signal from the divide-by-20 circuit 94 to start the counter 36 and to provide a high state time/voltage data bit to the data switch 32. 
     The data switch 32 includes a latch control input 96 which is coupled to the output of an OR gate 97. The OR gate 97 includes first and second inputs coupled to an overflow output line 98 of the twelve bit time counter 36 and an output of the gating logic circuit 79, respectively. 
     The data switch 32 selects the 16 bits comprising the 12 bit output of the counter 36 and the 4 bit output of the latch 82 or the 16 bits comprising the 12 bits from the A/D converter 30 and the four bits from the latch 82 to derive a series of digital words or signals which are stored on the storage medium. That is, the data switch 32 latches one of the 16 bit words at a series of data output lines 99 when a rising edge of a signal from the OR gate 97 is received at the latch control input 96. The OR gate 97 in turn generates a low to high transition when: (a) the twelve bit time counter 36 becomes full, at which point a high state signal is developed on the overflow output lines 98; (b) at the end of a period of silence, as detected by the silence detector 72, at which point the output thereof drops to a low level in turn causing the gating logic circuit 79 to develop a pulse; or (c) at the end of a sampling interval at which time the gating logic circuit 79 develops a pulse. 
     In summary, therefore, a series of 16 bit digital words or signals are stored on the storage medium representing either: (a) the voltage level and sampling rate of the analog input signal or (b) an indication that the analog input signal is at substantially the zero level and the duration thereof. In the latter case, the indication that the analog signal is at the substantially zero level comprises a zero in each of the four most significant bit positions of the digital word. 
     Referring now to FIG. 4, there is illustrated a waveform diagram illustrating in greater detail the timing of the circuitry shown in block diagram form in FIG. 2A. The timing illustrated in FIG. 4 is accomplished by means of the gating logic circuit 79 shown in FIG. 2A. The gating logic circuit 79 includes discrete or integrated logic components which are coupled to the outputs of the divide-by-20 circuit 94 and the silence detector 72 to accomplish the required triggering of the latches 78 and 82 and to control the operation of the OR gate 97. Furthermore, the gating logic circuit 79 resets the divide-by-20 circuit 94 at an appropriate time, as noted more specifically below. 
     Referring specifically to FIG. 4, at a time A a first sampling interval begins at which time the output of the divide-by-20 circuit 94 switches between a low and a high state. At this time, the analog input signal is not at substantially the zero level. The gating logic circuit 79 develops a pulse at the time A to trigger the latch 82 so that the four bit word from the priority encoder 76 is provided to the one of fifteen selector 84 and to the data switch 32, as previously noted. 
     At a time B, the A/D converter 30 converts the sampled and held output of the low pass filter 28 to a digital signal and provides the digitized signal to the data switch 32. 
     At a time C, the output of the divide-by-20 circuit 94 drops to a low level, in turn causing the gating logic circuit 79 to redundantly reset the twelve bit time counter 36. Also, a pulse is coupled to the OR gate 97 to cause the output of the A/D converter 30 to be latched on the lines 99. 
     At a time D, the first sampling interval ends and a second sampling interval begins. At this time an increased samle rate is developed at the output of the divide-by-20 circuit 94. This increased sample rate f s  is developed in response to an increase in the upper bandwidth limit detected during the first sampling interval between points A and D. As before, at the rising edge of each pulse from the sample clock subsequent to the time D, a pulse is developed which is coupled to the latch 82 to trigger same so that the output of the four bit priority encoder is coupled to the input of the one-of-fifteen selector 84. During this time, it is assumed that the frequency of the analog input signal does not increase and therefore, the sampling rate is maintained at a constant value. 
     At a time E the second sampling interval ends. Also, the frequency of the analog input signal drops below that detected immediately prior to the time D. Since the level detectors 74 hold their high state outputs for one-third second, at least this period of time must pass before the sampling rate is adjusted to a lower level. This one-third second interval means that for one-third second following the time E, the analog input signal is oversampled, i.e. sampled at a rate greater than that necessary to properly encode the signal. This one-third second interval is not shown in the waveforms of FIG. 4 since to do so would require an inordinate amount of space on the drawing. 
     Assume that at a time F the one-third second interval from the time E has elapsed. Therefore, at the next rising edge of the signal from the divide-by-20 circuit 94 at time G, the sampling rate can drop down to a lower level which is the minimum level necessary to encode this segment of the analog input signal. 
     At the time H subsequent to the time G the analog input signal drops to a substantially zero level. At this time the output of the silence detector 72 switches between a low and a high state. Upon receipt of the next falling edge of the output of the divide-by-20 circuit 94 by the gating logic circuit 79, a pulse is developed by the circuit 79 to cause the data switch 32 to latch the output of the A/D converter 30. 
     At a time J the next rising edge of the output from the divide-by-20 circuit 94 is developed. At this time, the counter 36 is enabled by the gating logic circuit 79 via the latch 78 to begin timing the silence period. During this period of silence, the sampling clock at the output of the divide-by-20 circuit 94 remains at the same frequency so that the sample rate is &#34;remembered&#34;. Also during this time, the OR gate 97 does not trigger the latch control input 96 of the data switch 32 unless the counter 36 overflows, in which case a high state signal is developed in the overflow output line 98. In the example shown in FIG. 4, however, it is assumed that this does not occur and hence no latch pulses are developed by the OR gate 97 during the silence period. 
     Assume that at time K the silence period ends, at which time the output of the silence detector 72 drops to a low state as does the output of the latch 78. This disables further accumulation of pulses by the counter 36. Further, at this time a high state signal is provided by the gating logic circuit 79 to the OR gate 97 to cause the output of the counter 36 to be latched by the data switch 32. 
     Also at time K the gating logic circuit 79 resets the divide-by-20 circuit 94 via a line 95 so that a new sampling interval is initiated by a rising edge of a pulse from the circuit 94. The frequency of the signal from the divide-by-20 circuit 94, however, is the same as that which was produced prior to the detection of silence, i.e. prior to the time I. This is the case even if the analog input signal frequency is in excess of one-half the sampling rate. Prior to the next rising edge of the sample clock at a time L this increased frequency is detected. A new increased sampling rate is developed by the divide-by-20 circuit 94 at the time L so that this portion of the analog input signal can be encoded. 
     It should be noted that the sampling rate or the duration of each sampling interval is determined in accordance with the detected upper bandwidth limit in a previous sampling interval. That is, the detected upper bandwidth limit during one interval determines the sampling rate or the duration of the next sampling interval. This is due to the fact that the real time analyzer 20 requires a finite time to determine the upper bandwidth limit. This may result in the introduction of distortion or losses in the reproduction process since the upper bandwidth limit may increase from interval to interval. In order to overcome this problem, a delay line, such as that indicated by the reference numeral 140 in FIG. 2A, may be coupled to the input of the low pass filter stage 90 so that a delayed version of the analog input signal is provided at such input. If the time constant of the delay line is selected to be slightly greater than one period of the lowest sampling rate, then the low pass filter 28 can sample the delayed version of the analog input signal during intervals thereof at sampling rates detected during corresponding intervals of the undelayed version of the analog input signal. In other words, the sampling rate for each interval can be correlated with the detected upper bandwidth limit for that interval so that exact reproduction can be accomplished. 
     Also, the present invention need not use fifteen sampling rates but may instead use a different number of sampling rates, if desired. In fact, the sampling rate can be made continuously variable to provide a further increase in memory saving. Also, a greater or lesser number of bits may be used to specify the voltage levels and/or the duration of a substantially zero level, depending upon the accuracy desired. 
     Further, it should be noted that the one-third second holding function accomplished by the level detectors 74 in the real time analyzer 20 may result in the sampling rate which is in excess of that required to adequately encode a portion of the analog input signal. This, however, does not significantly increase memory usage and prevents excessive rates of change of sampling rate which could cause audible distortion in the reproduced signal. 
     Referring now to FIG. 2B, the data words stored on the storage medium are sequentially retrieved by means of the latch 40, which latches the 16 bits of data until a signal is received at a control input 100. A NOR gate 102 receives the sampling rate bits on a series of lines 103. If the data word stored in the latch 40 represents a voltage level and the sampling rate for that level as denoted by a one in at least one of the four sampling rate bits, the state of a signal at the output of the NOR gate 102 is low, in turn causing the remaining 12 bits on a series of lines 104 to be passed over lines 44 to the D/A converter 48. The four sampling bits are coupled to a one-of-fifteen selector circuit 106 in the cut-off frequency selector 56. 
     The one-of-fifteen selector 106, which is similar to the selector 84, passes one of fifteen clock signals developed by a master clock 108 and a series of fifteen frequency dividers 110 to a divide-by-20 circuit 112 and to the output low-pass filter 58. The D/A converter 48 converts the 12 bits of information into the appropriate voltage level at the output 54 and latches the output at this voltage level for a period of time determined by the output of the divide-by-20 circuit 112. Once the appropriate time period for latching of this voltage level has elapsed, a high state signal is developed at an output 116 of the D/A converter, in turn causing the OR gate 52 to develop a high state signal. This high state signal is coupled to the control input 100 of the 16 bit latch 40 to fetch the next data word. 
     The D/A converter 48 thereby reconstructs the sampled or staircase approximation of the analog input signal at the output 54. The staircase approximation is filtered by the output low-pass filter 58 which has a variable cutoff frequency corresponding to the frequency f BW  which was originally used to sample and therefore encode each signal segment. In accordance with the Nyquist theorem, the output low-pass filter 58 reproduces the analog input signal at the output 60. The output 60 is in turn coupled to the inhibit circuit 62, which in the preferred embodiment comprises a single-pole single-throw analog switch. 
     In the event that the latch 40 has latched a data word indicating that the analog signal to be reproduced is at substantially the zero level, a high state signal is developed by the NOR gate 102 which in turn causes the analog switch to disconnect the output line 16 from the line 60. This ensures that no noise is introduced in the reproduced signal. 
     Also, when the output of the NOR gate 102 is in the high state, the 12 bits of information on the lines 104 from the data word are passed to the counter 50 over the lines 46. In operation, the counter 50 is loaded with the data word and counts down from this value at a rate determined by a 2500 kilohertz clock signal from the dividers 110. Once the counter is decremented to zero, a high state signal is developed on a line 122 which is coupled to the OR gate 52. This in turn causes the OR gate 52 to signal the latch 40 to fetch the next data word. 
     It should be noted that the input and/or output low pass filters 28,58 may introduce phase delays which are variable in dependence upon the frequency of the signal being reproduced and/or the cut-off frequency of the filter. This may in turn give rise to undesirable distortion in the reproduced signal. This distortion may be reduced or substantially eliminated by utilizing filters which eliminate the signal frequency-sensitive or cut-off frequency-sensitive phase delay. 
     The present invention finds particular utility in the reproduction of audio signals, although it should not be considered to be so limited. In fact, this encoding technique can be used to increase the efficiency of digital communications or other digital processes.