Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Method and system for object level software testing
Patent Number: 7,334,219 Issued on 02/19/2008 to Cebula,   et al.

Title: Protective cover for a golf club
Patent Number: 6,874,627 Issued on 04/05/2005 to Maeng

Title: Dual beam FTIR methods and devices for use in analyte detection in samples of low transmissivity
Patent Number: 7,079,252 Issued on 07/18/2006 to Debreczeny,   et al.

Title: System and process for presenting search results in a histogram/cluster format
Patent Number: 7,334,195 Issued on 02/19/2008 to Gemmell,   et al.

Title: Object lifting and moving device
Patent Number: 6,854,751 Issued on 02/15/2005 to Halke

Title: Method and apparatus for maintaining IP connectivity with a radio network
Patent Number: 7,068,669 Issued on 06/27/2006 to Abrol,   et al.

Title: Method and apparatus for scalable handling of non-tree structures in parser tree reconstruction
Patent Number: 7,051,321 Issued on 05/23/2006 to Kong

Title: Electrical connector assembly
Patent Number: 6,854,987 Issued on 02/15/2005 to Wu

Title: Nonvolatile memory with independent access capability to associated buffer
Patent Number: 7,334,080 Issued on 02/19/2008 to Takase,   et al.

Title: Methods for identifying modulators of N-type ion channel inactivation
Patent Number: 7,049,083 Issued on 05/23/2006 to Young,   et al.

Title: Expansion ring for mass transfer column and method employing same
Patent Number: 7,055,810 Issued on 06/06/2006 to Gage

Title: High-pressure shaping system
Patent Number: 7,313,940 Issued on 01/01/2008 to Gomez

Title: Method and device for manufacturing coiled electrode group
Patent Number: 6,936,080 Issued on 08/30/2005 to Murata,   et al.

Title: Evanescent waveguide couplers
Patent Number: 7,333,690 Issued on 02/19/2008 to Peale,   et al.

Title: Method and apparatus for identifying one or more devices having faults in a communication loop
Patent Number: 7,007,191 Issued on 02/28/2006 to Riedl,   et al.

Title: Water pollution trap with clay collector
Patent Number: 6,936,163 Issued on 08/30/2005 to Use,   et al.

Title: Method and apparatus for health and disease management combining patient data monitoring with wireless internet connectivity
Patent Number: 6,936,007 Issued on 08/30/2005 to Quy

Title: Worm providing storage system
Patent Number: 7,334,079 Issued on 02/19/2008 to Yagawa

Title: Directionally cloned random cDNA expression vector libraries, compositions and methods of use
Patent Number: 6,808,906 Issued on 10/26/2004 to Shen,   et al.

Title: Highly available transaction processing
Patent Number: 7,058,853 Issued on 06/06/2006 to Kavanappillil,   et al.

Title: Light irradiation type thermal processing apparatus
Patent Number: 6,856,762 Issued on 02/15/2005 to Kusuda,   et al.

Title: Mobile data device and method of locating mobile data device
Patent Number: 6,868,074 Issued on 03/15/2005 to Hanson

Title: Photoelectric conversion device providing advantageous readout of two-dimensional array of transistors
Patent Number: 6,980,243 Issued on 12/27/2005 to Miyawaki,   et al.

Title: Capillary for wire bonding and method of wire bonding using it
Patent Number: 7,051,915 Issued on 05/30/2006 to Mutaguchi

Title: Nitride semiconductor device
Patent Number: 6,849,864 Issued on 02/01/2005 to Nagahama,   et al.

Title: Translator terminal for two or more wireless networks
Patent Number: 7,039,800 Issued on 05/02/2006 to Decker,   et al.

Title: Process for converting synthesis gas in reactors that are arranged in series
Patent Number: 6,921,778 Issued on 07/26/2005 to Minkkinen,   et al.

Title: Method for adjusting a phase angle of a phase modifier of a transmitting device
Patent Number: 7,020,216 Issued on 03/28/2006 to Lipp

Title: Articulating and locking mechanism for farm implement chassis
Patent Number: 7,021,394 Issued on 04/04/2006 to Marchesan

Title: Image display medium and image recording apparatus
Patent Number: 6,922,204 Issued on 07/26/2005 to Kanazawa,   et al.

Title: Vehicle stability enhancement control
Patent Number: 6,856,885 Issued on 02/15/2005 to Lin,   et al.

Title: Method and system for analyzing low-coherence interferometry signals for information about thin film structures
Patent Number: 7,321,431 Issued on 01/22/2008 to De Groot

Title: Method and apparatus for determining embedded runout correction values
Patent Number: 7,054,096 Issued on 05/30/2006 to Sun,   et al.

Title: Thermoplastic polyamide moulding compositions
Patent Number: 7,312,263 Issued on 12/25/2007 to Schmid,   et al.

Title: Power electronic system with passive cooling
Patent Number: 7,106,588 Issued on 09/12/2006 to Oberlin,   et al.

Title: Rotational stage with vertical axis adjustment
Patent Number: 6,917,420 Issued on 07/12/2005 to Traber

Title: Thermally energy efficient vehicle
Patent Number: 6,877,786 Issued on 04/12/2005 to Gielda

Title: Sulfur substituted sulfonylaminocarboxylic acid N-arylamides, their preparation, their use and pharmaceutical preparations comprising them
Patent Number: 6,881,735 Issued on 04/19/2005 to Schindler,   et al.

Title: Ejector device for direct injection fuel jet
Patent Number: 7,051,956 Issued on 05/30/2006 to Upatnieks

Title: Method for monitoring condition of bearings of a crusher, and a crusher
Patent Number: 6,877,682 Issued on 04/12/2005 to Nieminen,   et al.

Title: Cell builder for different layer stacks
Patent Number: 7,334,206 Issued on 02/19/2008 to Dinter,   et al.

Title: Air bag assembly
Patent Number: 6,851,704 Issued on 02/08/2005 to Davis, Jr.,   et al.

Title: Pipe cutting machine
Patent Number: 6,981,437 Issued on 01/03/2006 to Ogawa

Title: Architecture for a sea of platforms
Patent Number: 7,058,906 Issued on 06/06/2006 to Hamlin

Title: IC device having a transistor switch for a power supply
Patent Number: 7,012,460 Issued on 03/14/2006 to Fujimori

Title: Self-contained insect repelling and killing apparatus
Patent Number: 7,320,439 Issued on 01/22/2008 to Davis,   et al.

Title: Status display for parallel activities
Patent Number: 7,334,055 Issued on 02/19/2008 to Babka,   et al.

Title: Method and apparatus for restraining connection request stream associated with high volume burst client in a distributed network
Patent Number: 6,799,276 Issued on 09/28/2004 to Belissent

Title: Storage system having a reader with a light sensing portion inclined with respect to an axis of a label of a storage medium
Patent Number: 7,333,293 Issued on 02/19/2008 to Reasoner,   et al.

Title: Method of operating a pulsejet
Patent Number: 7,051,510 Issued on 05/30/2006 to Ouellette

Title: System and method for commissioning addressable lighting systems
Patent Number: 7,307,542 Issued on 12/11/2007 to Chandler,   et al.

Title: System and method for probabilistic quality of communication service determination
Patent Number: 6,810,422 Issued on 10/26/2004 to Cross

Title: Modular antenna assembly for automotive vehicles
Patent Number: 7,333,065 Issued on 02/19/2008 to Lindackers,   et al.

Title: Micro-electromechanical inductive switch
Patent Number: 6,831,542 Issued on 12/14/2004 to Volant,   et al.

Title: Defect detection apparatus and defect detection method
Patent Number: 7,061,840 Issued on 06/13/2006 to Honda

Title: Induction flush device
Patent Number: 7,308,907 Issued on 12/18/2007 to Ouyoung

Title: Shared memory with programmable size
Patent Number: 6,898,678 Issued on 05/24/2005 to Six,   et al.

Title: Device and process for liquid treatment of wafer-shaped articles
Patent Number: 7,007,702 Issued on 03/07/2006 to Langen

Title: Image capturing apparatus for adjusting a relative position between an image sensor and an optical axis
Patent Number: 7,333,146 Issued on 02/19/2008 to Etoh

Title: Method for electroplating of tantalum
Patent Number: 6,936,155 Issued on 08/30/2005 to Morimitsu,   et al.

Title: Cotton seed cleaner
Patent Number: 7,308,734 Issued on 12/18/2007 to Mizer, Sr.

Title: Arched hammock stand
Patent Number: 6,842,920 Issued on 01/18/2005 to Branch, III

Title: Memory device tester and method for testing reduced power states
Patent Number: 6,914,843 Issued on 07/05/2005 to Harrington,   et al.

Title: Systems and methods for overcoming stiction
Patent Number: 6,856,069 Issued on 02/15/2005 to Miller,   et al.

Title: Concept of zero network element mirroring and disaster restoration process
Patent Number: 7,058,847 Issued on 06/06/2006 to Guzman,   et al.

Title: Non-volatile memory architecture employing bipolar programmable resistance storage elements
Patent Number: 7,324,366 Issued on 01/29/2008 to Bednorz,   et al.

Title: Multimedia interface having a processor and reconfigurable logic
Patent Number: 6,810,434 Issued on 10/26/2004 to Muthujumaraswathy,   et al.

Title: Combination tracheal hook and scalpel device
Patent Number: 7,308,896 Issued on 12/18/2007 to Cruz

Title: Adaptive method of encoding and decoding a series of pictures by transformation, and devices for implementing this method
Patent Number: 7,020,204 Issued on 03/28/2006 to Auvray,   et al.

Title: Collapsible storage or shipping box
Patent Number: 6,913,161 Issued on 07/05/2005 to Schäfer

Title: Multi-purpose hand held sprayer having a vertical shut-off valve
Patent Number: 7,051,959 Issued on 05/30/2006 to Lim

Title: Personal injector for liquid medicine
Patent Number: 6,913,591 Issued on 07/05/2005 to Itoh,   et al.

Title: Fluid product dispensing pump
Patent Number: 6,811,060 Issued on 11/02/2004 to Petit

Title: Process for changing the syntax, resolution and bitrate of MPEG bitstreams, a system and a computer product therefor
Patent Number: 7,010,041 Issued on 03/07/2006 to Graziani,   et al.

Title: Electrophotographic process unit and image forming apparatus
Patent Number: 7,333,751 Issued on 02/19/2008 to Gumbe

Enhanced control for compression and decompression of sampled signals Number:7,522,074 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

Google
 

Top Breaking News
     Media Rights Groups Call for Probe Into Shooting of VOA Reporter in Puntland by Alisha Ryu
     US Begins Talks on Iran Nuclear Proposal with International Partners by VOA News
     Climate Change, Political Experts Say Obama Made Progress on China Trip by Stephanie Ho

Title: Enhanced control for compression and decompression of sampled signals

Abstract: Control of signal compression is coordinated by selectively modifying control parameters affecting the bit rate, sample rate, dynamic range and compression operations. Selected control parameters are modified according to a control function. The control function can include a ratio parameter that indicates the relative or proportional amounts of change to the control parameters. Alternatively, the control function can be represented in a lookup table with values for the selected control parameters related by the control function. The input signal samples can be resampled according to a sample rate control parameter. The dynamic range of signal samples can be selectively adjusted according to a dynamic range control parameter to form modified signal samples. The resampling and dynamic range adjustment can be applied in any order. The modified signal samples are encoded according to a compression control parameter to form compressed samples. The encoder can apply lossless or lossy encoding.

Patent Number: 7,522,074 Issued on 04/21/2009 to Wegener


Inventors: Wegener; Albert W (Portola Valley, CA)
Assignee: Samplify Systems, Inc. (Santa Clara, CA)
Appl. No.: 11/856,611
Filed: September 17, 2007


Current U.S. Class: 341/61 ; 341/155; 341/65; 341/67
Current International Class: H03M 7/00 (20060101)
Field of Search: 341/61,65,67,155


References Cited [Referenced By]

U.S. Patent Documents
4866647 September 1989 Farrow
4969040 November 1990 Gharavi
5067015 November 1991 Combridge et al.
5302950 April 1994 Johnson et al.
5497435 March 1996 Berger
7009533 March 2006 Wegener
7071852 July 2006 Wegener
7088276 August 2006 Wegener
7292164 November 2007 Wegener

Other References

Arbeiter, J., "Multidimensional video image processing architecture", Optical Engineering 25(7), pp. 875-880, Jul. 1986. cited by other .
Burt, P. and E. Adelson. "The Laplacian Pyramid as a Compact Image Code", IEEE Transactions on Communications, vol. COM-31, No. 4, pp. 532-540, Apr. 1983. cited by other .
Wang L. and M. Goldberg, "Progressive Image Transmission using Vector Quantization on Images in Pyramid Form," IEEE Transactions on Communications, vol. 37, No. 12, pp. 1339-1349. cited by other .
Harris, F. Multirate Signal Processing for Communication Systems. Prentice Hall, 2004, pp. 184-197. cited by other .
Dick, C. and F. Harris, "FPGA Interpolators using Polynomial Filters", 8th International Conf. on Signal Processing Applications and Technology, Sep. 1998. cited by other.

Primary Examiner: Nguyen; Khai M
Attorney, Agent or Firm: Haynes Beffel & Wolfeld Koenig; Carolyn

Claims



What is claimed is:

1. A method for compressing a sampled input signal having a plurality of signal samples with a dynamic range and a sample rate, comprising: setting a characteristic of a control function in memory; applying the control function to determine a sample rate control parameter and a dynamic range control parameter in accordance with the characteristic of the control function; processing the signal samples to reduce the dynamic range and downsample the signal samples in response to the dynamic range control parameter and the sample rate control parameter to produce modified signal samples; and encoding the modified signal samples to produce compressed samples.

2. The method of claim 1, wherein the step of processing the signal samples, the processing to reduce the dynamic range includes at least one of the following: multiplying the signal samples by a factor in accordance with the dynamic range control parameter; requantizing the signal samples in accordance with the dynamic range control parameter, wherein the requantizing applies fewer quantization levels than an original number of quantization levels used to form the signal samples; and removing one or more least significant bits from the signal samples in accordance with the dynamic range control parameter.

3. The method of claim 1, wherein the step of processing the signal samples, the processing to downsample the signal samples includes applying a Farrow filter or a polyphase filter.

4. The method of claim 1, wherein the step of processing the signal samples, the processing to reduce the dynamic range and to downsample are performed in any order.

5. The method of claim 1, wherein the step of encoding includes at least one of the following steps: applying Huffman encoding to the modified signal samples to form the compressed samples; and calculating derivatives of the modified signal samples to produce derivative samples and applying Huffman encoding to the derivative samples to form the compressed samples.

6. The method of claim 1, further comprising: measuring a characteristic of the compressed samples to form a feedback parameter; and modifying the sample rate control parameter and the dynamic range control parameter in response to the feedback parameter, wherein the sample rate control parameter and the dynamic range control parameter are modified in accordance with the control function.

7. The method of claim 6, wherein the characteristic of the compressed samples is an output bit rate of the compressed samples and the feedback parameter is based on the output bit rate or a compression ratio between an input bit rate of the signal samples and the output bit rate.

8. The method of claim 6, further comprising: decompressing the compressed samples to form reconstructed samples; and measuring a signal quality parameter of the reconstructed samples to form the feedback parameter.

9. The method of claim 8, wherein the signal quality parameter is a signal to noise ratio, a noise floor or a bit error rate.

10. The method of claim 1, wherein the step of processing the signal samples is preceded by: reordering the plurality of signal samples in accordance with a reordering control parameter to form at least one set of demultiplexed signal samples; inverting selected samples in the set of demultiplexed signal samples in accordance with an inversion control parameter to form a corresponding set of demultiplexed input samples; and applying the step of processing to each set of demultiplexed input samples to form a corresponding set of modified signal samples.

11. The method of claim 10, wherein the step of encoding further comprises at least one of the following steps applied to each set of modified signal samples: applying Huffman encoding to the set of modified signal samples to form a corresponding set of compressed samples; and calculating derivatives of the modified signal samples in each set to produce a corresponding set of derivative samples and applying Huffman encoding to the corresponding set of derivative samples to form a corresponding set of compressed samples.

12. The method of claim 1, wherein the step of encoding further comprises: encoding the sample rate control parameter and the dynamic range control parameter to form encoded control parameters, wherein the compressed samples include the encoded control parameters.

13. The method of claim 1, wherein the control function includes a ratio parameter that represents a relationship between a first change value corresponding to the sample rate control parameter and a second change value corresponding to the dynamic range control parameter, wherein the step of setting a characteristic of a control function includes setting a value for the ratio parameter, wherein the step of applying the control function determines the sample rate control parameter and the dynamic range control parameter in accordance with the value of the ratio parameter.

14. The method of claim 1, wherein the step of setting a characteristic of a control function further comprises: representing the control function with a lookup table in memory, wherein the lookup table includes a first set of parameters corresponding to the sample rate control parameter and a second set of parameters corresponding to the dynamic range control parameter; and selecting a first parameter from the first set and a second parameter from the second set, wherein the step of applying the control function determines the sample rate control parameter in accordance with the first parameter and the dynamic range control parameter in accordance with the second parameter.

15. The method of claim 1, wherein the step of setting a characteristic of a control function further comprises: displaying in a graphical user interface a scale representing a selectable range for the characteristic of the control function, wherein a first endpoint of the scale represents a minimum sample rate control parameter change and a maximum dynamic range control parameter change and a second endpoint of the scale represents a minimum dynamic range control parameter change and a maximum sample rate control parameter change and an intermediate location represents an intermediate sample rate control parameter change and an intermediate dynamic range control parameter change; responding to a user input to move a pointer to a location on the scale; and selecting a value for the characteristic of the control function corresponding to the location on the scale selected by the user, wherein the step of applying the control function determines the sample rate control parameter and the dynamic range control parameter based on the value selected.

16. The method of claim 1, wherein the sampled input signal is an output of an analog to digital converter.

17. A method for processing a sampled input signal for transfer or storage, the sampled input signal having a plurality of signal samples with a dynamic range and a sample rate, comprising: setting a characteristic of a control function in memory; applying the control function to determine a sample rate control parameter and a dynamic range control parameter in accordance with the characteristic of the control function; processing the signal samples to reduce the dynamic range and downsample the signal samples in response to the dynamic range control parameter and the sample rate control parameter to produce modified signal samples; encoding the modified signal samples to produce compressed samples; transferring or storing the compressed samples; decoding the compressed samples to produce decoded samples; and processing the decoded samples to upsample and increase the dynamic range of the decoded samples in accordance with the sample rate control parameter and the dynamic range control parameter to produce output signal samples having the sample rate and the dynamic range of the sampled input signal.

18. The method of claim 17, further comprising: measuring a characteristic of the compressed samples to form a feedback parameter; and modifying the sample rate control parameter and the dynamic range control parameter in response to the feedback parameter, wherein the sample rate control parameter and the dynamic range control parameter are modified in accordance with the control function.

19. The method of claim 17, wherein the control function includes a ratio parameter that represents a relationship between a first change value corresponding to the sample rate control parameter and a second change value corresponding to the dynamic range control parameter, wherein the step of setting a characteristic of a control function includes setting a value for the ratio parameter, wherein the step of applying the control function determines the sample rate control parameter and the dynamic range control parameter in accordance with the value of the ratio parameter.

20. The method of claim 17, wherein the step of setting a characteristic of a control function further comprises: representing the control function with a lookup table in memory, wherein the lookup table includes a first set of parameters corresponding to the sample rate control parameter and a second set of parameters corresponding to the dynamic range control parameter; and selecting a first parameter from the first set and a second parameter from the second set, wherein the step of applying the control function determines the sample rate control parameter in accordance with the first parameter and the dynamic range control parameter in accordance with the second parameter.

21. The method of claim 17, wherein the step of encoding further comprises encoding the sample rate control parameter and the dynamic range control parameter to form encoded control parameters, wherein the compressed samples include the encoded control parameters, and the step of decoding further comprises decoding the encoded control parameters from the compressed samples to recover the sample rate control parameter and the dynamic range control parameter.

22. The method of claim 17, wherein the sampled input signal is an output of an analog to digital converter.

23. The method of claim 17, wherein the output signal samples form an input to a digital to analog converter.

24. An integrated circuit device including one or more integrated circuit chips, comprising: a substrate including one or more integrated circuit chips; memory on the substrate; logic on the substrate configured to receive as input a characteristic of a control function and set the characteristic in the memory; logic on the substrate coupled to the memory to apply the control function to determine a sample rate control parameter and a dynamic range control parameter in accordance with the characteristic of the control function; a data channel on the substrate carrying a sampled input signal having a plurality of signal samples with a dynamic range and a sample rate; logic on the substrate coupled to the data channel to process the signal samples to reduce the dynamic range and downsample the signal samples in response to the dynamic range control parameter and the sample rate control parameter to produce modified signal samples; and logic on the substrate to encode the modified signal samples to produce compressed samples.

25. An apparatus which samples analog data to produce digital data, comprising: memory; a user interface adapted to display a graphical construct and to allow input of data prompted by the graphical construct; logic in communication with the user interface and configured to produce the graphical construct and to receive as input data a characteristic of a control function and to set the characteristic in the memory; logic coupled to the memory to apply the control function to determine a sample rate control parameter and a dynamic range control parameter in accordance with the characteristic of the control function; an analog to digital converter to produce a sampled input signal having a plurality of signal samples with a dynamic range and a sample rate; logic coupled to the analog to digital converter to process the signal samples to reduce the dynamic range and downsample the signal samples in response to the dynamic range control parameter and the sample rate control parameter to produce modified signal samples; and logic to encode the modified signal samples to produce compressed samples.
Description



BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to compression and decompression of sampled signals, particularly to applying coordinated control of two or more control parameters for the compression operations.

2. Description of Related Art

In a signal processing system, it may be necessary to apply lossy compression to the signal samples in order to accommodate a system constraint. Constraints, including limited storage capacity or limited data transfer bandwidth, can prevent storage and/or transfer of the entire bandwidth and dynamic range of the signal samples. Ideally, lossless compression can be applied before data storage or data transfer followed by decompression before additional signal processing. In lossless compression, the decompressed signal samples are identical to the original signal samples. If lossless compression does not give adequate reductions in the bit rate of the compressed signal, then lossy compression may be necessary to provide sufficient reduction of the bit rate. In lossy compression, the decompressed, or reconstructed, signal samples are similar, but not identical to, the original signal samples, creating distortion in the characteristics of the reconstructed signal. Lossy compression creates a tradeoff between the bit rate of the compressed signal samples and the distortion in the reconstructed signal samples. The signal characteristics that may be distorted include, but are not limited to, amplitude, frequency, bandwidth and signal-to-noise ratio (SNR). The availability of computing resources to implement the compression algorithm may also be a system constraint in some instances. In this situation, it is desirable to minimize the computing resources required by either lossless or lossy compression algorithms.

In this discussion, "dynamic range" refers to the range of magnitudes available to the signal samples. Dynamic range can be expressed using a linear scale or a logarithmic scale using units of decibels (dB). The relationship of the logarithmic scale and the linear scale follow the well known equation: dB=20*log.sub.2(magnitude), where magnitude is in arbitrary linear units, such as voltage. The present invention focuses on signal samples whose dynamic range is limited by the number of bits per sample. The "6 dB per bit" rule, known to those skilled in the art, indicates that each bit level provides 6 dB of dynamic range for signal samples. For example, eight bits per sample accommodates 48 dB of dynamic range. Initially an analog to digital converter (ADC) converts an original analog signal to digital signal samples. So an initial dynamic range of the signal samples depends on the bit width available from the ADC. A similar relationship exists for the dynamic range of digital samples that are converted from the digital to the analog domain by a digital to analog converter (DAC).

In this discussion, "real time" means a rate that is at least as fast as the sample rate of a digital signal. The term "real time" can be used to describe rates for processing, transfer and storage of the digital signal. The sample rate is the rate at which the ADC forms samples of the digital signal during conversion of an analog signal. When converting a digital signal to an analog signal, the sample rate is the rate at which the DAC forms the analog signal from the samples of the digital signal. The bit rate of an uncompressed sampled, or digital, signal is the number of bits per sample multiplied by the sample rate. The compression ratio is the ratio of the bit rate of the original signal samples to the bit rate of the compressed samples.

Current methods of signal data compression generally identify redundancies in the signal data and reduce the redundancies in order to compress the data. For instance, in transform encoding, an orthogonal transform such as a Discrete Cosine Transform (DCT) is applied to the signal samples to form transform coefficients. The transform coefficients are then encoded in order to compress the data. In this example, the redundancy is represented by the various frequencies of the basis functions of the transform and the corresponding transform coefficients. Compression is achieved by eliminating selected transform coefficients with low values, truncating in the frequency domain by eliminating coefficients above a certain cutoff frequency, reducing the bit width of the transform coefficients and/or quantizing the coefficients with larger step sizes requiring fewer bits per coefficient. After inverse transformation, the reconstructed signal samples are rarely identical to the original signal samples. If there was a truncation in the frequency domain, Gibbs' phenomenon (ripple) can cause unwanted oscillations in the time domain reconstructed signal samples. Amplitude distortion may also result from quantization of the transform coefficients. In the time domain, lossy compression can be accomplished by removing least significant bits (LSBs) or applying coarser quantization so that there are fewer quantization levels per sample resulting in fewer bits per sample. Quantization of time domain samples or frequency domain transform coefficients both cause distortion in the amplitude of the reconstructed signal samples compared with the original signal samples. In addition, applying coarser quantization will also increase quantization noise. Time domain compression methods also identify redundancies in the signal. For example, compression methods based on the well known Huffman encoding calculate a histogram of symbol frequencies. The symbols can correspond to original signal samples or differences between signal samples. Symbols with higher frequencies of occurrence are assigned shorter codes while those with lower frequencies of occurrence are assigned longer codes. Techniques such as prefix coding can be used to ensure that the stream of variable-length codes can be accurately decoded. A sequence of codes corresponding to the sequence of values is bit-packed to form a compressed sequence. A lossy compression method in the time domain includes calculating the differences between samples and coarsely quantizing the differences. When the differences are added back in during decompression, the resulting reconstructed signal samples will have amplitude distortion and increased quantization noise resulting in a lower SNR.

Those skilled in the art recognize that distortion is a result of lossy compression. In information theory, the familiar tradeoff between the compressed signal's bit rate and distortion in the reconstructed, or decompressed, signal is often represented by a rate-distortion curve. It would be advantageous to control which signal characteristics are affected by the distortion introduced by lossy compression. In one application, the bandwidth of the signal samples may be a more critical characteristic to preserve while in another application, the dynamic range may be more critical to preserve by minimizing amplitude distortion. In yet another application, a balance between distortion in the dynamic range and bandwidth is advantageous. For example, in spread spectrum signals, such as code division multiple access (CDMA), a narrowband signal is modulated by a spreading sequence such that the signal spectrum is distributed across a wide band of frequencies. For this example, it would be more important to preserve the bandwidth of the spread signal since all of its frequency components are needed for despreading. After despreading the signal back to its original narrowband form, it may be more important to preserve the signal amplitude.

Previous methods for controlling signal compression provide for control of various parameters. The most common control parameter is the bit rate of the compressed signal or the corresponding compression ratio. In the commonly owned U.S. Pat. No. 7,009,533 B1 (the '533 patent), entitled "Adaptive Compression and Decompression of Bandlimited Signals", dated Mar. 7, 2006, the present inventor describes algorithms for compression and decompression of certain bandlimited signals including control of compression. The '533 patent discloses controlling preprocessor and compressor operations in feedforward and feedback configurations and in response to user input. In the commonly owned U.S. Pat. No. 5,839,100 (the '100 patent), entitled "Lossless and Loss-Limited Compression of Sampled Data Signals", dated Nov. 17, 1998, the present inventor describes efficient algorithms for compression of sampled data signals without loss or with a controlled amount of loss that affects the signal's dynamic range.

The previous methods do not provide coordinated control over the relative distortions in signal characteristics. Coordinated control allows control of the tradeoffs among the relative signal distortions during signal compression. Improved control will enhance the performance and accuracy of the signal processing system. The present invention fulfills these needs and provides further related advantages as described in the following summary.

SUMMARY OF THE INVENTION

An object of the invention is to provide coordinated control of signal compression by determining control parameters affecting the sample rate, dynamic range and compression operations. Selected control parameters are determined according to a control function. The input signal samples are resampled according to a sample rate control parameter. The sample rate control parameter can also indicate no resampling. Resampling may change the bandwidth of the resampled signal samples compared with the input signal samples. The dynamic range of resampled signal samples is reduced according to a dynamic range control parameter to form modified signal samples. The dynamic range control parameter can also indicate that the resampled signal samples will not be adjusted. The resampling and dynamic range adjustment can be applied in any order. The modified signal samples are encoded to form compressed samples. The encoder can apply lossless or lossy encoding.

The control function can include a ratio parameter that indicates the relative or proportional amounts of change to the control parameters. When the selected control parameters are the sample rate control parameter and the dynamic range control parameter, the ratio parameter is used to determine the relative amounts of change for the resampler and dynamic range adjuster. The control function characteristics can also be represented by a lookup table that contains values corresponding to two or more selected control parameters related by the control function. The user can modify the control function characteristics or the ratio parameter.

A graphical user interface (GUI) for the selection of control function characteristics includes a scale with a pointer. One end of the scale represents a minimum change to a particular control parameter and the other end represents a minimum change to a different control parameter. The location of the pointer on the scale indicates a value for a control function characteristic or a ratio parameter. When the scale represents the sample rate control parameter and the dynamic range control parameter, the pointer location indicates a value for the ratio parameter or other control function characteristic that indicates the relative changes in these two control parameters. The scale allows the user to select and coordinate the relative amounts of change to be applied to the selected control parameters.

Another object of the invention is a resampler that provides additional compression in a lossless mode or a lossy mode. The resampler operates to downsample the input signal samples at a reduced sample rate. The downsampled signal samples are then upsampled to the original sample rate. The upsampled signal samples are subtracted from the original signal samples to form error, or residual, samples. The downsampled signal samples and error samples are encoded to form compressed samples. Alternatively, the downsampled signal samples and error samples can be attenuated or quantized to provide additional compression.

Another object of the invention is decompression of the compressed samples. The decompressor decodes the compressed samples to provide decoded signal samples and decoded error samples. The decoded signal samples are upsampled to the original sample rate. The decoded error samples are added to the upsampled signal samples to form the reconstructed signal samples at the original sample rate. The error signal can optionally be omitted from the compressed stream.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a signal compressor, in accordance with the prior art.

FIG. 2 is a block diagram of a signal compressor, in accordance with a preferred embodiment.

FIG. 3 is a block diagram of the signal compression processor, in accordance with a preferred embodiment.

FIG. 4 is a block diagram of the resampler, in accordance with a preferred embodiment.

FIG. 5 gives examples of the control functions for two different ratio parameters, in accordance with a preferred embodiment.

FIG. 6 gives examples of a scale feature for a GUI, in accordance with a preferred embodiment.

FIG. 7 is a block diagram of a decompressor that forms reconstructed signal samples from the compressed samples, in accordance with a preferred embodiment.

FIG. 8 is a block diagram of the sample rate restore module that corrects resampling errors, in accordance with a preferred embodiment.

FIG. 9 is a block diagram of the preprocessor, in accordance with the prior art.

FIG. 10 gives examples of signal samples and phasor diagrams to illustrate the operations of the programmable demultiplexer and the programmable inverter, in accordance with the prior art.

FIG. 11 shows the operations that the programmable demultiplexer and programmable inverter perform based on the center frequency of the signal samples, in accordance with the prior art.

FIG. 12 gives an example of the results of operations on signal samples input to the programmable demultiplexer and the programmable inverter, in accordance with the prior art.

FIG. 13 is a block diagram for decompression that includes inverse operations to the demultiplexing and inverting operations performed by the preprocessor, in accordance with an alternative embodiment.

FIG. 14 is a block diagram of an application that compresses the digital signal samples produced by an ADC, in accordance with an alternative embodiment.

FIG. 15 is a block diagram of an application that compresses signal samples prior to transfer to a DAC, in accordance with an alternative embodiment.

FIG. 16 illustrates a system that includes a GUI connected to a compressor, in accordance with an alternative embodiment.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of a signal compressor previously described in the '533 patent. The preprocessor 110 performs various selectable operations on the input signal samples 100 to produce preprocessed signal samples 105 with lowpass or other desired characteristics for the compression operations of the compressor 120. Some of the preprocessor operations will be described below with respect to FIG. 9. The preprocessor 110 can also measure various characteristics of the input signal samples 100, such as center frequency, noise floor and bandwidth. The compressor 120 applies selected operations that compress the preprocessed signal samples 105 including computing first or higher order differences, or derivatives, of the preprocessed signal samples 105, approximating certain signal samples through mathematical operations on other preprocessed signal samples 105, encoding (such as Huffman encoding) and bit-packing. The control module 130 produces control parameters for operations of the preprocessor 110 and the compressor 120. The control module 130 receives user input 143, measurements 115 of signal characteristics from the preprocessor 110 for feedforward control and measurements 123 of compression performance from the compressor 120 for feedback control. The user 140 can select control of signal quality, compression ratio or output bit rate in the compressed signal 125. The control module 130 calculates control parameters 133 for the preprocessor 110 and control parameters 135 for the compressor based on the measurements 115 and 123 and user input 143.

FIG. 2 is a block diagram of a signal compressor in accordance with a preferred embodiment of the present invention. An optional preprocessor 210 performs operations such as filtering, downconversion and other operations to prepare the input signal samples 100 for compression. The purpose of the preprocessor 210 is to produce preprocessed signal samples 211 with lowpass or other characteristics that can be effectively compressed by the signal compression processor 220. The preprocessor 210 produces one or more lowpass signal streams from an input signal by selectively reordering and selectively inverting signal samples 100. The preprocessor 210 receives control parameters 212 from the controller input processor 270. The operation of the preprocessor 210 will be described below with respect to FIG. 9. The signal compression processor 220 applies signal processing and compression operations described below with respect to FIG. 3 to form compressed samples 225. The controller 240 provides coordinated control parameters 261a and 261b for coordinated control of two different operators of the signal compression processor 220. The controller 240 includes a controller input processor 270 and a control function processor 260. The controller input processor 270 receives input 281 via a user interface 280 from a user 140. Processing modules for signal parameter measurement 230 and compressed data measurement 250 also provide inputs 231 and 251, respectively, to controller input processor 270. The signal parameter measurement module 230 is optional when the signal parameters 231 are known parameters. The compressed data measurement module 250 measures parameters of the compressed samples 225 to form feedback parameters for the controller 240. The user 140 selects feedback control of output bit rate or signal quality parameters. When feedback control of bit rate is desired, the measured parameter can be output bit rate of the compressed samples or the compression ratio. When feedback control of signal quality is desired, the feedback parameter is based on a signal quality parameter, such as signal to noise ratio, noise floor or bit error rate of decompressed, or reconstructed, signal samples corresponding to the compressed samples. For feedback control of the signal quality parameter, the compressed data measurement module 250 decompresses the compressed samples 225 and measures the signal quality parameter of the decompressed, or reconstructed, signal samples. The controller 260 applies any operations that convert the inputs 281, 231 and 251 into control parameters 261a, 261b and 271 for the signal compression processor 220. Depending upon the implementation, controller 260 may examine all inputs or a subset of inputs, and may generate all control parameters or a subset of control parameters. In a preferred embodiment, the control function processor 260 applies a control function to form coordinated control parameters 261a and 261b based on the parameters 273 received from the controller input processor 270. The control function provides coordinated control of distortions in selected signal characteristics, as described below with respect to FIG. 5. Controller input processor 270 can also perform calculations to produce an independent control parameter 271. The user interface 280 can include a graphical user interface described below with respect to FIG. 6.

FIG. 3 is a block diagram of an embodiment of the signal compression processor 220. The resampler 310 resamples the signal samples 100 to form resampled signal samples 311. Alternatively, if preprocessor 210 produces one or more signal sample streams, the resampler resamples each stream of preprocessed signal samples 211. The resampler 310 can downsample or upsample the signal samples 100 in accordance with a sample rate control parameter 312. The resampler 310 is described in greater detail below with respect to FIG. 4. Depending on the sample rate control parameter 312, the resampled signal samples 311 can have a reduced sample rate resulting in a lower bit rate compared to the bit rate of the input signal samples 100. The dynamic range adjuster 320 modifies the amplitudes of the resampled signal samples 311 in accordance with dynamic range control parameter 322 to produce modified signal samples 321. Depending on the dynamic range control parameter 322, the modified signal samples 321 can have a reduced dynamic range of amplitudes. The reduced amplitudes can be represented by fewer bits per sample resulting in a reduced bit rate for the modified signal samples 321 compared with that of the input signal samples 100. If the user selects the sample rate control parameter 312 and the dynamic range control parameter 322 for coordinated control, the control function processor 260 provides corresponding coordinated control parameters, 261a and 261b, respectively. If the user selects independent control, the controller input processor 270 provides independent control parameters 271 for the sample rate control parameter 312 and the dynamic range control parameter 322. The order of the operations of dynamic range adjuster 320 and resampler 310 can be reversed, i.e. the dynamic range adjuster 320 can perform its function on signal samples 100 or 211 before the resampler 310 is applied. The signal processing operations of resampling and dynamic range adjustment provide some compression of the signal samples 100 or 211.

The encoder 330 applies lossless or lossy compression in accordance with compression control parameter 332. The encoder 330 can apply bit-packing logic directly to the modified signal samples 321. To provide additional compression prior to bit-packing, encoder 330 can calculate first or higher order derivatives, or differences, of the modified signal samples 321 followed by encoding the derivatives using bit-packing logic. Alternatives for bit-packing logic include Huffman encoding, arithmetic encoding, block exponent encoding, Rice encoding, or other lossless encoding. The compression control parameter 332 can be provided to the encoder by the controller input processor 270 as independent control parameter 271. Alternatively, the control function processor 260 can provide coordinated control of the compression control parameter 332 in coordination with the sample rate control parameter 312 or the dynamic range control parameter 322 using coordinated control parameters 261a and 261b.

The preferred embodiment for the dynamic range adjuster 320 is a programmable multiplier that applies a factor in accordance with the dynamic range control parameter 322. To reduce the dynamic range, or attenuate, the signal samples, the value of the factor is less than one. The signal samples with reduced dynamic range are represented using fewer bits. In another embodiment, the dynamic range adjuster is a requantizer that maps the amplitudes of signal samples 100, 211 or 311, depending on which previous operations are selected, to representations having fewer bits per sample. In another embodiment, the dynamic range adjuster 320 uses a shift register that right shifts sample values to reduce a number of least significant bits (LSBs) in accordance with the dynamic range control parameter 322. The dynamic range adjuster 320 can remove LSBs based on the noise floor of the signal samples 100. If the noise floor is not known, the signal parameter measurement module 230 measures the noise floor in the signal samples 100. The controller input processor 270 calculates the dynamic range control parameter 322 based on the noise floor estimate to remove bits that are primarily noise. This approach is described in greater detail in the '533 patent with respect to FIG. 6 and FIGS. 18-26.

The resampler 310 can include a polyphase sampling filter or a Farrow filter, both well known to those skilled in the art. The Farrow filter is preferred because it requires fewer computations, resulting in ten to thirty percent fewer gates for an implementation compared to a polyphase filter. The Farrow filter is described by Cecil W. Farrow in U.S. Pat. No. 4,866,647 and in Chapter 7 of the book entitled "Multirate Signal Processing for Communication Systems" by fredric j harris, published by Prentice Hall PTR. The Farrow filter is effective for baseband or lowpass signals. If the input signal samples 100 are not at baseband, the preprocessor 210 can apply operations to produce lowpass or baseband signal samples. Alternatives include downconverting the signal samples 100 to baseband, lowpass filtering the signal samples 100 or separating the signal samples 100 into one or more streams of lowpass signal samples as described with respect to FIG. 9. The Farrow filter would then be applied to preprocessor output signal samples 211. Resampling using a Farrow filter can provide fractional changes in sample rate, whereas resampling using a polyphase sampling filter typically provides rational changes in sample rate according to the ratio m/n, where m and n are integers. The Farrow filter can also provide non-uniform sampling where the sample intervals between consecutive samples can vary in length. For non-uniform sampling, the resulting sample rate is an average sample rate for the resampled signal samples.

A preferred embodiment for decompression restores the original sample rate to the decompressed signal samples. Downsampled signal samples can be upsampled back to the original sample rate using a Farrow filter or a polyphase filter. A Farrow filter is preferred, as described below with respect to FIG. 4. In general, because resampling operations are most often implemented using arithmetic elements (adders, multipliers, and the like) having limited bit widths, upsampling the downsampled signal samples back to the original sample rate produces upsampled signal samples that differ slightly from the original signal samples. In some applications, it is desirable to remove the resampling error (also called the residual) in the upsampled signal samples. Additional operations in the signal compression processor 220 can measure and encode the resampling error for use by the decompressor.

FIG. 4 is a block diagram of an alternative embodiment for the resampler 310 that includes determining the resampling error. This embodiment for the resampler 310 can be configured to provide lossless or lossy compression. The input samples 400 are the signal samples 100, the preprocessor output samples 211 or modified signal samples 321 produced by dynamic range adjuster 320 prior to resampling, depending on which previous operations are selected. The downsampler 420 applies a Farrow or polyphase filter to downsample the input samples 400 in accordance with the sample rate control parameter 312 to produce the resampled, or downsampled, signal samples 311. The upsampler 430 applies a Farrow or polyphase filter to upsample the downsampled signal samples 311 at the original sample rate to form upsampled signal samples 431. The upsampled signal samples have samples at the same points in time as the original input samples 400 for the downsampler 420, however the amplitudes of the upsampled signal samples 431 may not be identical to those of the corresponding input samples 400. The delay buffer 440 delays the input samples 400 to provide temporal alignment with the upsampled signal samples 431, compensating for processing delays in the downsampler 420 and the upsampler 430. The subtractor 450 subtracts each upsampled signal sample 431 from its corresponding time-aligned signal sample 441 to form a corresponding error sample 451. The error samples 451 are encoded by the encoder 330 or scaled by the dynamic range adjuster 320 prior to encoding. The downsampled signal samples 311 are also encoded by the encoder 330 or scaled by the dynamic range adjuster 320 prior to encoding. The encoded error samples and the encoded downsampled signal samples are included in the compressed samples 225. For a lossless compression mode, the encoder 330 applies lossless encoding to both the error samples 451 and the downsampled signal samples 311. For a lossy compression mode, dynamic range adjuster 320 and/or the encoder 330 can apply lossy operations to the downsampled signal samples 311 and/or the error samples 451. Lossy compression also results from not calculating or not encoding the error samples 451.

The control function processor 260 provides coordination of at least two control parameters selected by the user. Coordination of the selected control parameters allows some control of the types of distortion that result from the corresponding compression operations. The control function processor 260 applies a control function to determine changes in the selected control parameters. The characteristics of the control function can be selected by the user. Characteristics of the control function can be represented by a ratio parameter, a lookup table representing values of the control function characteristics or a combination of both.

In a preferred embodiment, the control function processor 260 includes a ratio parameter. The ratio parameter relates the change to a first control parameter to the change in a second control parameter. The change for each control parameter is calculated by multiplying a change factor by a corresponding step size. Changes in control parameters CP1 and CP2 are determined as follows: CP1(new)=CP1(old)+F1*Step1 (1) CP2(new)=CP2(old)+F2*Step 2 (2) Ratio Parameter=F2:F1=F2/F1 (3) where Step 1 is the step size for the first control parameter CP1, Step 2 is the step size for the second control parameter CP2, F1 is the change factor for CP1 and F2 is the change factor for CP2. The ratio parameter is the ratio of the factors F2 and F1 and represents the number of steps of change in CP2 for each step of change in CP1. For example, for a ratio parameter of 1, or 1:1, one step of change is applied to CP1 and one step of change is applied to CP2. For a ratio parameter of 2, or 2:1, two steps of change are applied to CP2 and one step of change is applied to CP1. The units of measure for the control parameters CP1 and CP2 are likely to be different because they relate to different characteristics of the signal, such as bandwidth (normally measured in Hz) and dynamic range (normally measured in dB). The step sizes are set by the user for the corresponding control parameter. For example, CP1 can be the sample rate control parameter, measured in units of Hz, and CP2 can the dynamic range control parameter, measured in units of dB. The user can set corresponding step sizes that are appropriate for the signal being compressed. The user also sets the ratio parameter which allows control of relative changes in the control parameters. Through the ratio parameter, the user can control the degree of change in one signal characteristic relative to another signal characteristic.

For a constant ratio parameter, the control function represents a linear function where the ratio parameter determines the slope. FIG. 5 gives examples of control functions for different ratio parameters. The horizontal axis 510 represents the sample rate (SR) of the signal samples. The maximum sample rate is the input sample rate and the minimum sample rate is the Nyquist frequency of the input signal samples or a different minimum sample rate set by the user. It is well known in the art that sampling below the Nyquist frequency causes the undesirable effect of aliasing, so any minimum sample rate set by the user must be greater than the Nyquist frequency. If the user selects a minimum sample rate that would violate the Nyquist frequency, lowpass filtering prior to resampling can be performed prior to the resampler 310. The scale of the horizontal axis 510 corresponds to the step size for changes in sample rate (i.e. Step 1). The vertical axis 520 represents the dynamic range (DR) of the signal samples. The maximum dynamic range is the input signal's dynamic range and the minimum dynamic range is set by the user. The minimum dynamic range is one that produces a minimum acceptable quality. The scale of the vertical axis 520 is set by the step size for changes in the dynamic range (i.e. Step 2).

The first control function 530 corresponds to a ratio parameter that is less than one, meaning that for every step of change in dynamic range, there are more than one steps of change in sample rate. The control function 530 is linear with a slope equal to the ratio parameter until it reaches the Nyquist frequency. At this point, the sample rate control parameter 312 would be fixed at the Nyquist frequency so that there are no further reductions in sample rate by the resampler 310. Any further reduction in bit rate would occur by reducing dynamic range further by the dynamic range adjuster 320 and/or increasing compression by the encoder 330. The second control function 540 corresponds to a ratio parameter that is greater than one, meaning that for every step of change in sample rate, there are more than one steps of change in dynamic range. The second control function 540 is linear until it reaches the minimum dynamic range. At this point, there are no further reductions in dynamic range by dynamic range adjuster 320. Any further reduction in bit rate would occur by reducing the sample rate by resampler 310 and/or increasing compression by the encoder 330. A pair of change factors (F1, F2) corresponds to a point along the control function graph. For example, the original sample rate and dynamic range correspond to F1.sub.0=0 and F2.sub.0=0, respectively, and the point 560. Change factors F1.sub.1 and F2.sub.1 correspond to sample rate control parameter CP1.sub.1 and dynamic range control parameter CP2.sub.1, respectively, and point 570 along the second control function 540. In this example, change factors F1.sub.1 and F2.sub.1 are negative.

The control function can be a continuous function defined by the user. The control functions 530 and 540 are piecewise linear. Smooth control functions such as the third control function 535 and the fourth control function 545 can also be defined. These can be represented in a lookup table in memory that includes a column of entries for each control parameter. The ratio parameter is not constant for control functions 535 and 545. For a non-constant ratio parameter, F1 and F2 are related by a nonlinear function as follows, F2=f.sub.RP(F1) (5a) where the function f.sub.RP represents the changing ratio parameter. The control function processor 260 can represent the control function based on a changing ratio parameter in a lookup table in memory that includes entries for the ratio parameter, F1 and F2.

The example of FIG. 5a shows control functions that coordinate changes in sample rate and dynamic range. However, coordinated control can be applied to other signal characteristics that are affected by compression operations. For example, let the compression control parameter indicate the desired bit rate or compression ratio of the compressed data at encoder output. The compression control parameter can be based on any user-specified figure of merit that is a function of the output bit rate, including output SNR, bit error rate (BER), error vector magnitude (EVM), rise time, fall time or jitter specification. A control function can be defined to provide coordinated control to the compression control parameter and the sample rate control parameter or the compression control parameter and the dynamic range control parameter.

In an alternative embodiment, the control function processor 260 can modify more than two control parameters in accordance with a multidimensional control function to achieve the desired types of distortion. The multidimensional control function can be defined by entries in one or more lookup tables. For example, a control function for three control parameters can be represented by a lookup table with a column of entries for each of the control parameters. Alternatively, the control function can be represented by a mathematical relationship. For example, for three control parameters, ratios A:B:C indicating relative changes among the control parameters can be defined by the user.

In another alternative embodiment, the control function is represented by a user-defined functional relationship between the selected control parameters. The control function can be represented mathematically as a predefined function f.sub.CP where, CP2=f.sub.CP(CP1) (5b)

The control function f.sub.CP for CP1 and CP2 can be represented by a mathematical formula or a lookup table in memory. FIG. 5b gives two examples of lookup tables that define relationships between control parameters CP1 and CP2 that correspond to the control function. Each lookup table 580a or b includes three columns: an index or address column 581a or b, a column of entries 584a or b for the first selected control parameter CP1, and column of entries 586a orb for the second selected control parameter CP2. The lookup tables can contain any number of rows depending on how the user defines the control function. For example, lookup table 580a has 256 rows and lookup table 580b has 512 entries. Current values of CP1 and CP2 are specified by a row pointer or address 582a or b. Row pointer 582a or b can indicate a different row in response to the difference between the user-specified goal and a measured performance parameter towards this goal, further described below. The values in columns 584a or b and 586a or b can represent an arbitrary shape, such as those of smooth curves 535 and 545 in FIG. 5a. For the first lookup table 580a, the first three entries of column 586a contain the same values (1.0), which allow users to specify a limiting value such as the flat horizontal region of curve 540 in FIG. 5a. In the second table 580b, the first four example entries in column 584b {1.00, 1.04, 1.00, 1.03} are not monotonic, i.e. they are not continuously decreasing or increasing across the range. These examples demonstrate that any user-defined control function can be represented in the column entries of a lookup table. In each of these examples, the lookup tables 580a and 580b define a relationship between the sample rate control parameter, CP1, and dynamic range control parameter, CP2. The resampler 310 resamples the input signal samples 100 or 211 with a reduced sample rate equal to the input sample rate divided by CP1. The dynamic range control parameter, CP2, represents an attenuation factor such that the dynamic range adjuster 320 multiplies the signal samples 311 by CP2. Note that these alternative representations for CP1 and CP2 are different than those described with respect to equations (1), (2) and (3). As a numerical example, row pointer 582a a selects row 3 of lookup table 580a in which the value of CP1 is 1.04 and the value of CP2 is 1.00. The resampler 310 will resample the signal samples with the sample rate divided by 1.04. The dynamic range adjuster 320 will simply pass the samples with no change in amplitude since CP2 equals 1.0. The lookup table method can include more than two columns of control parameters for multidimensional control functions.

The user configures the coordinated control by selecting the control parameters, the control function, the ratio parameter and other processing parameters via the user interface 280. In a preferred embodiment, the user interface 280 includes a GUI with graphical features that are relevant for coordinated control. The user selects the control function and/or the ratio parameter that coordinate the control of the selected control parameters. For ratio parameter selection, the GUI includes a scale that represents a range of ratio parameters available for the selected control parameters. FIG. 6 gives an example of a scale for the GUI. The scale 600 is represented by a line segment having endpoints 610 and 620. The endpoint 610 represents a ratio parameter that produces minimum change in the first control parameter CP1. The endpoint 620 represents a ratio parameter that produces a minimum change in control parameter CP2. The ratio parameter is represented as the ratio of change factors F2:F1, as indicated in equation (3). The ratio parameter is at the minimum of its range at the endpoint 620 corresponding to a minimum change in CP2. At the endpoint 620, the change factor F2 for control parameter CP2 has its lowest value and the change factor F1 for control parameter CP1 has its highest value. The ratio parameter is at the maximum of its range at endpoint 610 corresponding to a minimum change in CP1. At the endpoint 610, the change factor F1 for control parameter CP1 has its lowest value and the change factor F2 for control parameter CP2 has its highest value. The X location 630 on the scale indicates the ratio parameter value of 1:1. The X location 630 is not necessarily the midpoint of scale 600. For the ratio of 1:1, a step of change in CP2 occurs for every step of change in CP1. For example, if there are four steps of change in CP1, there are four steps of change in CP2. The pointer 640 responds to user input to select a particular ratio parameter corresponding to the point 650 on the scale 600.

The scale 601 provides a numerical example. The endpoint 611 corresponding to a minimum change in the control parameter CP1 represents a ratio parameter of 4:1. The endpoint 621 corresponding to a minimum change in the control parameter CP2 represents a ratio parameter of 1:4. The X location 631 indicates the ratio parameter 1:1. For this example, the minimum ratio parameter is the inverse of the maximum ratio parameter. This is not a requirement. However, when this inverse relationship exists, the 1:1 ratio parameter is located at the midpoint of the scale. When the minimum ratio parameter and maximum ratio parameter are not inverses, the 1:1 ratio may not be located at the midpoint of the scale. The pointer 641 selects the ratio parameter corresponding to the point 651 . The change factors F1 and F2 can be whole or fractional numbers.

For nonlinear control functions, such as those represented in FIG. 5 by curves 535 and 545, a ratio parameter can be selected for the approximately linear region of the control function. During operation, as the control parameters CP1 and CP2 approach the nonlinear region of the control function, the control function processor 260 modifies the ratio parameter, F1 and F2 in accordance with the control function. The control function can include thresholds values for CP1 and CP2 that indicate the beginning of the nonlinear region. In the nonlinear region, the control function processor 260 can use a lookup table to determine the ratio parameter and the change factors F1 and F2.

Referring to FIG. 2, an embodiment of the control function processor 260 performs the calculations to adjust the selected control parameters CP1 (261a) and CP2 (261b) in accordance with the ratio parameter, the corresponding change factors F1 and F2 and the corresponding step sizes Step 1 and Step 2. The controller input processor 270 can receive inputs from the user interface 280, the signal parameter measurement module 230 and the compressed data measurement module 250. In response to the inputs 231, 281 and 251, the controller input processor 270 determines whether the selected control parameters CP1 and CP2 should be changed. For example to produce a desired bit rate, the controller input processor 270 provides the desired bit rate to the control function processor 260. The control function processor 260 can calculate the changes in CP1 and CP2 in accordance with the ratio parameter that will produce approximately the desired bit rate. Alternatively, the control function processor 260 can apply a positive or negative step change in accordance with equations (1) and (2), where the signs of F1 and F2 are positive or negative depending on the polarity of the desired change.

For example, let CP1 correspond to the sample rate control parameter 312 and CP2 correspond to the dynamic range control parameter 322. The control function processor 260 adjusts the control parameters CP1 and CP2 such that the resampler 310 and dynamic range adjuster 320 produce a change from the current bit rate to the desired bit rate for the modified signal samples 321. Referring to equation (1), changing CPI by the amount F1*Step 1 changes the sample rate by x samples/second. Referring to equation (2), changing CP2 by F2*Step 2 changes the number of bits to represent each sample by y bits/sample. The change in bit rate is related to the changes in the control parameters by the product of x and y as follows: bit rate change=z bits/second=x samples/second*y bits/sample (6) The control function processor 260 can determine the number of steps N required to reach the desired bit rate change as follows: N=desired bit rate change/z (7) The number of steps N can be a whole or fractional number. The change factors F1 and F2 can be multiplied by N so that CP1 and CP2 are updated as follows: CP1(new)=CP1(old)+N*F1*Step1 (8) CP2(new)=CP2(old)+N*F2*Step 2 (9) The ratio param


Free Web Sudoku Puzzles.
Solve with your browser.
5   3 6     4    
        5        
      4   7   8  
  3     9   1    
1 7           2 9
    4   8     7  
  4   1   2      
        6        
    8     9 5   1
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!