US20090267825A1 - Method and Apparatus for Compressing SAR Signals - Google Patents
Method and Apparatus for Compressing SAR Signals Download PDFInfo
- Publication number
- US20090267825A1 US20090267825A1 US12/110,834 US11083408A US2009267825A1 US 20090267825 A1 US20090267825 A1 US 20090267825A1 US 11083408 A US11083408 A US 11083408A US 2009267825 A1 US2009267825 A1 US 2009267825A1
- Authority
- US
- United States
- Prior art keywords
- block
- encoding
- blocks
- quantized transform
- transform coefficients
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/003—Transmission of data between radar, sonar or lidar systems and remote stations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/89—Radar or analogous systems specially adapted for specific applications for mapping or imaging
- G01S13/90—Radar or analogous systems specially adapted for specific applications for mapping or imaging using synthetic aperture techniques, e.g. synthetic aperture radar [SAR] techniques
- G01S13/9021—SAR image post-processing techniques
- G01S13/9027—Pattern recognition for feature extraction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
Definitions
- the invention relates generally to compressing signals acquired by synthetic aperture radar (SAR), and more particularly to compressing raw SAR signals in low complexity devices.
- SAR synthetic aperture radar
- Synthetic aperture radar acquires raw radar data from target objects or terrain typically using a space-based platform. Post-processing converts the raw SAR data to an amplitude image and phase maps, such that objects and terrain can be visualized. Due to the very high computational complexity, the SAR data processing is typically performed on the ground.
- FIG. 1 shows a conventional SAR system.
- Raw SAR data 101 are acquired by a space-based platform 110 , e.g., a satellite, space station or shuttle.
- the raw data are transmitted 110 to a ground station for post-processing 120 to obtain a SAR image 130 .
- compression 151 is applied to the raw SAR data 101 before transmission 120 . Then, the compressed raw data are transmitted to the ground station, where the data are decompressed 152 and processed 120 to produce the SAR image 130 .
- a high coding efficiency is required to reduce the bandwidth of transmission, while at the same time enabling a high quality reconstruction of the SAR image 130 from the compressed data.
- Block adaptive quantization can be used to compress the raw SAR data acquired by the Magellan spacecraft, see e.g., U.S. Pat. No. 5,661,477, “Methods for compressing and decompressing raw digital SAR data and devices for executing them,” and Kwok et al., “Block Adaptive Quantization of Magellan SAR Data,” IEEE Trans on Geosc. and Remote Sensing, vol. 27, No. 4, pp. 375-383, July 1989, all incorporated herein by reference. Similar to many conventional image compression methods, BAQ quantizes raw pixel values, e.g. from 8 bits to 4 bits. However, for inputs with a large dynamic range, such as raw data acquired by SAR, the quantization step size has to be adaptive to the level of input signals in order to achieve more efficient compression. Therefore, BAQ adapts the quantization step size for each 16 ⁇ 16 block.
- the BTC method uses a two-level quantizer that adapts to local block properties of the SAR image. That method has a low complexity, and can achieve a high compression ratio, e.g., about 4:1. However, the quality of the output image is substantially degraded. In general, BTC performs worse than BAQ.
- Magli et al. apply adaptive quantization to blocks of pixels, as in BAQ.
- A. digital wavelet transform (DWT) is first applied to the raw data, such that the BAQ is performed on wavelet coefficients in the frequency domain. It is well known that the wavelet transform has a high computational complexity relative to block-based scheme and also requires significantly more memory. Thus, that method is not suitable for low complexity devices.
- DWT digital wavelet transform
- the NLR (FFT-ECBAQ) method applies a 2-dimensional fast Fourier transform (FFT) to the raw SAR data, and then an entropy-constrained BAQ (ECBAQ), followed by entropy encoding.
- FFT 2-dimensional fast Fourier transform
- ECBAQ entropy-constrained BAQ
- the major drawback of that method is the FFT causes cross-leak noise with smaller block sizes, which implies that larger FFT-sizes are preferred, e.g., an FFT size of 128 ⁇ 64.
- FFT is too complex to implement in low complexity devices.
- that method relies on the fastest known FFT-oriented DSP ASIC (powerFFTTM) to compute the long sized FFT. Without that chip, the transform size would have to be greatly reduced, to e.g., by a factor of 8 or 16.
- the maximum throughput of that method is up to 125 mega-samples per second (MSPS), or 1 Gbits per second, assuming each sample is 8 bits, which is not sufficient for applications requiring higher throughputs, e.g. 4 Gbits per second, as required by applications that aim to reconstruct high resolution SAR images.
- MSPS mega-samples per second
- 1 Gbits per second assuming each sample is 8 bits, which is not sufficient for applications requiring higher throughputs, e.g. 4 Gbits per second, as required by applications that aim to reconstruct high resolution SAR images.
- a method compresses synthetic aperture radar (SAR) data by sampling the SAR data into blocks and transforming each block to a corresponding block of transform coefficients.
- SAR synthetic aperture radar
- Each block of transform coefficient is quantized according to a quantization parameter to obtain a corresponding block of quantized transform coefficients, which are demultiplexed into sets of blocks of quantized transform coefficients.
- the quantized transform coefficients in the blocks in each set are arithmetically encoding in parallel according to a probability model to produce an intermediate bitstream for each set of blocks.
- the encoding of the quantized transform coefficients of one block is independent of the quantized transform coefficients of a successive block.
- the intermediate of bitstream are then multiplexed to a compressed bitstream, which can be transmitted, or stored, for subsequent decoding to construct an SAR image.
- the method can be implemented in field programmable gate arrays (FPGAs).
- FPGAs field programmable gate arrays
- a single FPGA can be used for the entire method.
- an independent FPGA can be used for each block in the set to encode the blocks in the set in parallel.
- Another FPGA can then be used for the front end steps.
- FIGS. 1-2 are block diagrams of a prior art space-borne SAR systems
- FIG. 3 is a block diagram of the encoding process for compressing one block raw SAR data, according to the invention.
- FIG. 4 is a block diagram of the process for decoding one block raw SAR data, according to embodiments of the invention.
- FIG. 5 is a table for initializing a quantizing parameter according to embodiments of the invention.
- FIG. 6 is a block diagram of block-based bit allocation, according to embodiments of the invention.
- FIG. 7 is a flow diagram of a method for compressing raw SAR data according to embodiment block-based rate control, according to the invention.
- FIG. 8 is a block diagram of modified arithmetic coding stricture with parallel design according to embodiments of the invention.
- FIG. 9 is a block diagram of a single FPGA hardware design according to embodiments of the invention.
- FIGS. 10 and 11 are a block diagrams of a multiple FPGA hardware design according to embodiments of the invention.
- the embodiments of our invention describe a method and apparatus for compressing raw synthetic aperture radar (SAR) signals. Due to the hardware constraints, such as memory size, processing power, bandwidth and throughput, the raw SAR data are compressed block by block. To limit complexity and in contrast with the prior art methods, the compression method is design to be effective for relatively small block sizes, e.g. 8 ⁇ 8 or 16 ⁇ 16 pixels. Although the focus of our invention is on limited complexity implementations, larger block sizes can also be used.
- SAR synthetic aperture radar
- FIG. 3 is a block diagram of our compression method 300 .
- Raw SAR data 301 is input to a transformation module 310 .
- the transformation module is a one dimensional discrete cosine transforms (1D-DCT), where DCT coefficients are determined. Higher dimensional transforms, as well as other transform bases, can also be used.
- a variance of the raw data in each block is also determined 320 .
- An initial quantization parameter (QP) is determined 330 according to a target output bit rate or compression ratio stored in a table 500 , see FIG. 5 .
- a rate control module 340 adjusts the initial QP according to the variance, a pre-determined set of thresholds, and a bit usage ratio that is based on output bits of previously coded blocks relative to the target bit-rate, to yield an adjusted QP value 601 . Then, the adjusted QP value is used to quantize 350 the transform coefficients to yield quantized transform coefficients.
- the QP value 601 and the quantized transform coefficients 351 are sent to a modified arithmetic encoder 360 , which uses a probability model 361 .
- our samples are independent and randomly distributed. Therefore, our probability model is conventional and represents the random distribution of the quantized transform coefficients. It is defined on our sample space, samples and probabilities of each sample.
- the model can be linear, binomial, or Gaussian as known in the art.
- the model can be learned from SAR training data or updated based on previously coded data.
- a separate model is maintained for each quantized transform coefficient in a block, e.g., the DC coefficient has one probability model, while each of the AC coefficients have their own probability models.
- the output of our arithmetic encoder 360 is a compressed bitstream 302 .
- a bit count is provided as feedback to the rate control module 340 to update 370 the total bit usage ratio, and adjust the QP as needed. It is noted that the Qp used for encoding each block is also inserted into the compressed bitstream to be used during subsequent decoding.
- FIG. 4 shows the corresponding decoder 400 , which reverses the encoding process.
- the compressed bit stream 302 is first passed to a modified arithmetic decoder 410 .
- the decoded coefficients are inverse scalar quantized 420 by multiplying the corresponding QP 601 extracted 415 from the bitstream 302 with the transform coefficient.
- an inverse 1D-DCT transform 430 is applied to obtain reconstructed raw SAR data 401 .
- FIG. 7 shows the method 700 in greater detail.
- SAR data 709 acquired of an object or terrain 708 into small 8 ⁇ 8 blocks 711 .
- a 1D-DCT is applied 720 to produce corresponding blocks of transform coefficients 711 , which are quantized 730 according to a quantization parameter (QP) 601 to obtain a corresponding block of quantized transform-coefficients 731 .
- QP quantization parameter
- the blocks 731 are demultiplexed 740 into sets of N blocks 741 .
- the N blocks in each set are encoded 750 arithmetically and in parallel according to a probability model 749 to produce an intermediate bitstream 751 for each set of blocks.
- the encoding of the quantized transform coefficients of one block is independent of the quantized transform coefficients of successive blocks.
- the intermediate bitstreams are multiplexed 760 to a compressed bitstream 761 . for further processing on the ground 762 .
- the demultiplexing 740 can be performed during the sampling 710 so that the N streams of blocks 1110 are produced in parallel as indicated by dashed lines.
- the 1D-DCT is used to transform the input signal from a spatial sample domain to a frequency domain.
- the 1D-DCT does not compress the raw SAR data, but decorrelates the SAR data to facilitate more efficient compression. Relative to the 2D-DCT the 1D-DCT has a lower complexity. Also, due to the nature of the raw SAR data, which resembles Gaussian noise, there is not a substantial gain provided by performing a 2D transformation, especially for small block sizes.
- the 1D-DCT is performed along rows of each block, which corresponds to range directions in the raw SAR data. Columns correspond to the azimuth angle.
- a block size of 8 ⁇ 8 an 8 ⁇ 1 DCT is applied to each row, and the eight rows of the 8 ⁇ 1 DCT coefficients together form our 8 ⁇ 8 block of transform coefficients.
- the QP is initialized according to the target bit-rate or compression ratio.
- the target compression ratio is determined from a given transmission bandwidth, e.g., a target bit rate, and the size of raw SAR data without compression, in number of bits.
- the target compression ratio is an input parameter to our arithmetic encoder 360 .
- an empirical relationship between a target bit rate 501 , a target compression ratio 502 , and an initial QP 503 used in all blocks can be determined 330 from the training SAR data. Then, the initial QP can be obtained via look-up on the table 500 , based on the target compression ratio.
- the initial QP can also be adjusted by the variance to better-allocate and utilize the available bit rate, and thus achieve a better overall compression. This rate control procedure is described in further details below 340 .
- the QP is adjusted for the purposes of maximizing compression quality and rate control.
- the adjustment is mainly based on two factors, the block data entropy, and the consumed or remaining number of bits. Higher entropy implies that more information is contained in the data block, thus a smaller QP should be applied for more conservative compression. Similarly, lower entropy implies that less information is contained in the data block, and a larger QP should be applied for more aggressive compression. Because the calculation of entropy is too complex for low-cost hardware devices, the block variance is a good approximation of the entropy, and not as computationally demanding to calculate as entropy.
- FIG. 6 shows a process 600 for adapting the QP 601 for each block, from the initial QP 602 , based on two factors, namely the block variance 603 , and a bit usage ratio.
- the block variance 603 is determined 320 from all sample values in the input block, e.g., the 256 samples in one 8 ⁇ 8 block.
- the variance is compared with a set of pre-defined thresholds 604 in the table 500 by look-up 610 . These thresholds are empirically determined from the training SAR data, and are programmable for specific devices.
- Each threshold corresponds to a QP difference ( ⁇ Qp). This correspondence is represented by the table 500 .
- the QP difference ⁇ Qp(var) is determined 610 .
- the QP difference ⁇ Qp(var) is set to be the first ⁇ Qp in the table.
- the initial QP is determined as described above according to the target compression ratio and is used as the initial QP for all blocks of the raw SAR data.
- the adjusted QP is obtained.
- bit usage ratio another factor that affects the QP is the bit usage ratio. This adjustment could also be made when rate control is required and enforced.
- the estimated total bit usage is first determined 630 from the number of blocks coded 605 and number of bits consumed 606 to encode the blocks. Then, the estimated total bit usage is 607 compared with target bit rate 608 to determine 640 the ⁇ Qp(rate). The details on the method for calculating the total bit usage and ⁇ Qp(rate) are described below.
- the ⁇ Qp(rate) is then added 650 to the previously adapted QP, i.e., the adjusted QP 601 is equal to the initial QP+ ⁇ Qp(var)+ ⁇ Qp(rate).
- three variables i.e., the total number of blocks, the number of blocks that have been encoded 605 , and the number of bits that have been consumed 606 , are first obtained for estimating the total number of bits that will be approximately required to encode the raw SAR data 301 . This approximation is then compared with the target bit usage. If the approximated bit usage is greater and exceeds a tolerance percentage, then the QP is increased. Otherwise, if the approximated bit usage is less than the target bit usage and exceeds the tolerance percentage, then the QP is decreased.
- the total number of encoded blocks 605 and the total number of consumed bits 606 are updated.
- the approximate total number of bits 630 is determined by (number of consumed bits)/(number of coded blocks) ⁇ (number of total blocks. Then the estimated total bit usage is compared to the target bit usage.
- the ratio of (estimated total bits: target total bits) is determined. If the ratio is greater then one, then the bit consumption is exceeding the bit budget. Otherwise, it is within the budget. By subtracting one from this ratio, the percentage of estimated total bits that are exceeding or below the target is given. This percentage is then divided by a tolerance threshold in order to find out how many times the estimated bit rate exceeds or is under a specified tolerance.
- the estimation is (9/5) times above the tolerance.
- the transform coefficients are subject to the scalar quantization 350 .
- the scalar quantization is a lossy compression, the larger the QP value, the coarser the compression quality.
- uniform scalar quantization is applied to all transform coefficients obtained form the 1D-DCT.
- non-uniform quantization of the transform coefficients is applied, where the QP value for the block is further modified by a quantization matrix that determines a non-uniform scaling for each transform coefficient.
- the quantized transform coefficients are losslessly encoded by our modified arithmetic encoder.
- One major drawback of the conventional arithmetic encoding method is its sequential processing nature, which makes it unsuitable for low complexity devices and where a high throughput is required.
- the encoding has to be performed symbol-by-symbol and block-by-block.
- the reason is that the encoding of one syntax element, e.g., a quantized transforrm coefficient, can depend on the following elements. In some cases, a number of successive elements are encoded jointly.
- block(n+1) is encoded after block(n), and the last element of block(n) can be dependent on elements of block(n+1). That is, the bits to represent the last element of block(n) can depend on the first or later element in block(n+1), or a probability of this element. Furthermore, those bits can only be written to the bit stream after the first or later element of block(n+1) is encoded.
- Arithmetic encoding is a method for lossless data compression that uses variable-length entropy encoding. Frequently used bit strings are represented by fewer bits, and infrequently used bit strings use more bits. In contrast with other entropy encoding techniques, such as Huffman encoding that separate the input data into component strings and replace each string with a code word, arithmetic coding encodes the entire input data with a single code word, e.g., a fraction n in the range [0, 1]
- Arithmetic encoding works as follows. First, we begin with a “current interval” [Low, High) initialized to [0, 1). Then, for each symbol (bit string), perform two steps:
- Arithmetic encoding scales the cumulative probabilities given by the probability model into the interval [Low, High) for each symbol encoded. When Low and High are very close together, so close that this scaling operation maps some different symbols of the probability model onto the same integer in the [Low, High) interval, the encoding cannot continue until the next symbol (or symbols) are encoded.
- a bit can be written only when the first bit in Low and High are identical. If Low is 0 . . . and High is 0 . . . , then write a zero bit, or if Low is 1 . . . and High is 1 . . . , then write a one bit. Thus, no bit can be written when Low is 01 and High is 10. This can happen when First-quarter ⁇ Low ⁇ Half ⁇ High ⁇ Third-quarter. In this case, the two bits for Low and High have opposite polarity, either 01 or 10.
- next bit turns out to be zero, i.e., High descends below Half and [0, Half] is expanded to the full interval
- the following bit is one, because the range of the interval has to be above the midpoint of the expanded interval.
- the arithmetic encoder continues to examine whether the next Low and High have identical bits that can be written.
- the arithmetic coder writes a zero bit afterwards.
- the interval can safely be expanded. That is, when a bit can be output, it is followed by a certain number of bits of opposite parity.
- the [Low, High) still falls in the condition First-quarter ⁇ Low ⁇ Half ⁇ High ⁇ Third-quarter. In this case, the number of times that the interval is expanded without writing any bits is recorded in a variable f. Then, when a bit is finally written, it is followed by a total number of f opposite parity bits. These bits are called follow bits.
- a compatible encoding scheme writes the bits corresponding to the quantized transform coefficients in a block after the last coefficient of each block is encoded, regardless of any elements in the next block.
- Our invention achieves parallelization by invoking the following process. If the “Low” from the last element (quantized transform coefficient) is less than a quarter of the largest pre-defined possible code value, e.g., 65535, or 1 if normalized, then the arithmetic encoder writes a zero bit, followed by (f+1) one bits, followed by a zero bit. Otherwise, if the last element is greater than or equals to a quarter of the largest pre-defined possible code, then the arithmetic encoder writes a one bit, followed by (f+1) zero bits, then followed by a one bit. By writing this additional bit after the follow bits, the end of each block is independently encoded, and the symbols of the current block are unambiguously represented in binary form and without any ambiguity for the decoder regarding the symbol to be reconstructed.
- a quarter of the largest pre-defined possible code value e.g. 65535, or 1 if normalized
- the last bit is necessary if the decoder does not fully follow the f bits counting process as performed by the encoder. In the case that the decoder does follow the f bits counting process as performed by the encoder, which incurs additional complexity, then it is not required that the last bit be written to the output. With this approach, however, the encoding of the quantized transform coefficients of one block is still independent of the quantized transform coefficients of a successive block.
- FIG. 8 shows our parallel design for context adaptive arithmetic encoding with N arithmetic coding units 810 operating in parallel and utilizing the methods described above.
- a probability model 840 is used for each transform coefficient.
- An accurate probability model generally yields better coding performance.
- the probability model can be obtained from the training data and is not updated during the encoding.
- the probability model is updated after each symbol is encoded. Then, the model is used to better encode the next symbol.
- updating the model on a symbol-basis from multiple units is not manageable and could cause read-write chaos under a race condition, i.e., the order of reads and writes could be undetermined.
- each of the arithmetic encoding units encodes, in parallel, one of the blocks in the set of N blocks 830 of quantized transform coefficients based the probability model 840 that is common among all arithmetic encoding units.
- the model is updated 820 only after a delay 830 when the encoding of the N blocks 830 is completed, while remaining static during the process of encoding all blocks in one cycle.
- This design also extends to the case in which the update is made after N blocks are encoded over a predetermined period of time.
- the intermediate bitstreams of the encoders 810 are multiplexed 850 to produce the output bitstream 302 .
- each of the arithmetic encoding units encodes one block of quantized transform coefficients based on a specified probability model that is specific to that unit and independent from other units. Updates to the probability model for each unit are performed independently and based only on data that the particular unit encodes.
- the probability model(s) could also be updated 820 periodically, over time, based on the statistics of previously encoded symbols.
- one embodiment of our invention To encode the quantized transform coefficients, which are in the range [ ⁇ 512/QP, +511/QP], one embodiment of our invention first adds an offset of (512/QP) so that all coefficients to be encoded are in the range [0, 1023/QP], and then apply arithmetic encoding as described above.
- This embodiment requires 1024/QP*N bits of memory for each probability model, where N is the number of bits to represent the probabilities for each quantized transform coefficient in the probability model.
- FPGA Field programmable gate arrays
- the compression methods are implemented in a single FPGA 900 .
- the advantage of this embodiment is that only a single piece of hardware is required. Although all processing is realized in the single FPGA 900 , the arithmetic coding units are still implemented in parallel to satisfy throughput requirements.
- the compression methods are realized with multiple FPGAs 1001 - 1002 to attain a higher throughput.
- This design partitions all front end operations into a single FPGA 1001 .
- the arithmetic coding is then implemented in multiple FPGAs 1002 , each corresponding to a parallel channel. This design facilitates more flexibility between hardware and timing than the single FPGA design.
- the SAR are demultiplexed and sampled 1101 into N streams of blocks. Each stream is processed in parallel by an independent FPGA 1102 to produce N intermediate bit streams 1111 , which are then multiplexed into the compressed bitstream 302 .
- our invention is more comprehensive.
- our invention also involves a discrete cosine transform, entropy coding and rate control.
- the quantization in our invention is performed in the frequency domain.
- the scalar quantization in our invention is different than the quantization in BAQ, which is computational simpler and very efficient combined with entropy coding. With this comprehensive design, higher compression ratios are achievable without severe degradation of compression quality.
- our invention is different in several ways.
- a shorter length 1D-DCT is used to transform samples into the frequency domain, which makes our encoding more practical and feasible for limited complexity platforms.
- our invention significantly reduces the hardware complexity.
- our invention can be implemented in one FPGA, without requiring the accessibility to other external chips.
- the reason why shorter transform size can be used in our invention, without severe loss of compression quality, is because that we use different block adaptive quantization scheme.
- the quantization used by our invention is scalar quantization, which applies a uniform division of all DCT coefficients in the block. Thus, we do not need the block size to be large for bit allocation within one block, as performed in FFT-ECBAQ.
- bit allocation in our invention is among smaller sized blocks, according to the block variance, as an approximation of block entropy.
- This bit allocation “moves” more bits to blocks containing more information, i.e., with greater variance, in order to achieve higher overall quality.
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Artificial Intelligence (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
Description
- The invention relates generally to compressing signals acquired by synthetic aperture radar (SAR), and more particularly to compressing raw SAR signals in low complexity devices.
- Synthetic aperture radar (SAR) acquires raw radar data from target objects or terrain typically using a space-based platform. Post-processing converts the raw SAR data to an amplitude image and phase maps, such that objects and terrain can be visualized. Due to the very high computational complexity, the SAR data processing is typically performed on the ground.
-
FIG. 1 shows a conventional SAR system. RawSAR data 101 are acquired by a space-basedplatform 110, e.g., a satellite, space station or shuttle. The raw data are transmitted 110 to a ground station for post-processing 120 to obtain aSAR image 130. - Alternatively as shown in
FIG. 2 , compression 151 is applied to theraw SAR data 101 beforetransmission 120. Then, the compressed raw data are transmitted to the ground station, where the data are decompressed 152 and processed 120 to produce theSAR image 130. A high coding efficiency is required to reduce the bandwidth of transmission, while at the same time enabling a high quality reconstruction of theSAR image 130 from the compressed data. - It is known that standardized image compression methods, such as JPEG, are not suited for achieving high coding efficiency of raw SAR data. The main reason is due to the noisy nature of the raw SAR data, which is not well matched with the JPEG coding standard that has been optimized for coding natural images. It is noted that the statistics of raw SAR data, which resemble Gaussian noise, are completely different from statistics of natural image data.
- Block adaptive quantization (BAQ) can be used to compress the raw SAR data acquired by the Magellan spacecraft, see e.g., U.S. Pat. No. 5,661,477, “Methods for compressing and decompressing raw digital SAR data and devices for executing them,” and Kwok et al., “Block Adaptive Quantization of Magellan SAR Data,” IEEE Trans on Geosc. and Remote Sensing, vol. 27, No. 4, pp. 375-383, July 1989, all incorporated herein by reference. Similar to many conventional image compression methods, BAQ quantizes raw pixel values, e.g. from 8 bits to 4 bits. However, for inputs with a large dynamic range, such as raw data acquired by SAR, the quantization step size has to be adaptive to the level of input signals in order to achieve more efficient compression. Therefore, BAQ adapts the quantization step size for each 16×16 block.
- To achieve a higher resolution, the sampling rate of the raw data needs to increase. Given limitation in transmission bandwidth, a higher compression ratio is also needed, while maintaining the quality of the SAR image. BAQ could provide reasonably quality SAR images at moderate compression ratios. However, it is known that the quality degrades substantially when the compression ratio is greater than 2:1. Hence, there is a need to provide a method for compressing raw SAR at an increased compression ratio without decreasing quality.
- A number of methods are known for compressing processed SAR data, but relatively few methods have been developed for compressing raw SAR data, see Delp et al., “Image Compression Using Block Truncation Coding (BTC)”, IEEE Transactions Communications, Vol. Com-27, No. 9, September 1979, Magli et al., “Wavelet-based compression of SAR raw data,” Geoscience and Remote Sensing Symposium, 2002, IEEE International, pp. 1129-1131, and “Frequency domain raw SAR data compression for multi-mode SAR Instruments,” National Aerospace Laboratory (NLR), EUSAR 2006, 16-18 May 2006, all incorporated herein by reference.
- The BTC method uses a two-level quantizer that adapts to local block properties of the SAR image. That method has a low complexity, and can achieve a high compression ratio, e.g., about 4:1. However, the quality of the output image is substantially degraded. In general, BTC performs worse than BAQ.
- Magli et al. apply adaptive quantization to blocks of pixels, as in BAQ. A. digital wavelet transform (DWT) is first applied to the raw data, such that the BAQ is performed on wavelet coefficients in the frequency domain. It is well known that the wavelet transform has a high computational complexity relative to block-based scheme and also requires significantly more memory. Thus, that method is not suitable for low complexity devices.
- The NLR (FFT-ECBAQ) method applies a 2-dimensional fast Fourier transform (FFT) to the raw SAR data, and then an entropy-constrained BAQ (ECBAQ), followed by entropy encoding. The major drawback of that method is the FFT causes cross-leak noise with smaller block sizes, which implies that larger FFT-sizes are preferred, e.g., an FFT size of 128×64. However, that FFT is too complex to implement in low complexity devices. In fact, that method relies on the fastest known FFT-oriented DSP ASIC (powerFFT™) to compute the long sized FFT. Without that chip, the transform size would have to be greatly reduced, to e.g., by a factor of 8 or 16. The maximum throughput of that method is up to 125 mega-samples per second (MSPS), or 1 Gbits per second, assuming each sample is 8 bits, which is not sufficient for applications requiring higher throughputs, e.g. 4 Gbits per second, as required by applications that aim to reconstruct high resolution SAR images.
- It is desirable to have a method and apparatus for compressing raw SAR data, which can achieve an increased compression ratio, high resolution SAR images, while maintaining low hardware complexity, and overcome the disadvantages of the prior art.
- A method compresses synthetic aperture radar (SAR) data by sampling the SAR data into blocks and transforming each block to a corresponding block of transform coefficients. Each block of transform coefficient is quantized according to a quantization parameter to obtain a corresponding block of quantized transform coefficients, which are demultiplexed into sets of blocks of quantized transform coefficients. The quantized transform coefficients in the blocks in each set are arithmetically encoding in parallel according to a probability model to produce an intermediate bitstream for each set of blocks. The encoding of the quantized transform coefficients of one block is independent of the quantized transform coefficients of a successive block. The intermediate of bitstream are then multiplexed to a compressed bitstream, which can be transmitted, or stored, for subsequent decoding to construct an SAR image.
- The method can be implemented in field programmable gate arrays (FPGAs). A single FPGA can be used for the entire method. Alternatively, an independent FPGA can be used for each block in the set to encode the blocks in the set in parallel. Another FPGA can then be used for the front end steps.
-
FIGS. 1-2 are block diagrams of a prior art space-borne SAR systems; -
FIG. 3 is a block diagram of the encoding process for compressing one block raw SAR data, according to the invention; -
FIG. 4 is a block diagram of the process for decoding one block raw SAR data, according to embodiments of the invention; -
FIG. 5 is a table for initializing a quantizing parameter according to embodiments of the invention; -
FIG. 6 is a block diagram of block-based bit allocation, according to embodiments of the invention; -
FIG. 7 is a flow diagram of a method for compressing raw SAR data according to embodiment block-based rate control, according to the invention; -
FIG. 8 is a block diagram of modified arithmetic coding stricture with parallel design according to embodiments of the invention; -
FIG. 9 is a block diagram of a single FPGA hardware design according to embodiments of the invention; and -
FIGS. 10 and 11 are a block diagrams of a multiple FPGA hardware design according to embodiments of the invention. - The embodiments of our invention describe a method and apparatus for compressing raw synthetic aperture radar (SAR) signals. Due to the hardware constraints, such as memory size, processing power, bandwidth and throughput, the raw SAR data are compressed block by block. To limit complexity and in contrast with the prior art methods, the compression method is design to be effective for relatively small block sizes, e.g. 8×8 or 16×16 pixels. Although the focus of our invention is on limited complexity implementations, larger block sizes can also be used.
-
FIG. 3 is a block diagram of ourcompression method 300.Raw SAR data 301 is input to atransformation module 310. In a preferred embodiment of our invention, the transformation module is a one dimensional discrete cosine transforms (1D-DCT), where DCT coefficients are determined. Higher dimensional transforms, as well as other transform bases, can also be used. - A variance of the raw data in each block is also determined 320. An initial quantization parameter (QP) is determined 330 according to a target output bit rate or compression ratio stored in a table 500, see
FIG. 5 . Arate control module 340 adjusts the initial QP according to the variance, a pre-determined set of thresholds, and a bit usage ratio that is based on output bits of previously coded blocks relative to the target bit-rate, to yield anadjusted QP value 601. Then, the adjusted QP value is used to quantize 350 the transform coefficients to yield quantized transform coefficients. - The
QP value 601 and thequantized transform coefficients 351 are sent to a modifiedarithmetic encoder 360, which uses aprobability model 361. - Our samples are independent and randomly distributed. Therefore, our probability model is conventional and represents the random distribution of the quantized transform coefficients. It is defined on our sample space, samples and probabilities of each sample. The model can be linear, binomial, or Gaussian as known in the art. The model can be learned from SAR training data or updated based on previously coded data. In our invention, a separate model is maintained for each quantized transform coefficient in a block, e.g., the DC coefficient has one probability model, while each of the AC coefficients have their own probability models.
- Conventional arithmetic coding is well known for its efficient compression capability. However, conventional arithmetic encoders are limited to sequential processing. This means that conventional arithmetic encoders are not suited for low complexity hardware devices with high throughput requirements. In our invention, we describe a parallel design for arithmetic encoding that makes it possible to realize higher throughput with low complexity hardware.
- The output of our
arithmetic encoder 360 is acompressed bitstream 302. A bit count is provided as feedback to therate control module 340 to update 370 the total bit usage ratio, and adjust the QP as needed. It is noted that the Qp used for encoding each block is also inserted into the compressed bitstream to be used during subsequent decoding. -
FIG. 4 shows the corresponding decoder 400, which reverses the encoding process. Thecompressed bit stream 302 is first passed to a modifiedarithmetic decoder 410. The decoded coefficients are inverse scalar quantized 420 by multiplying the correspondingQP 601 extracted 415 from thebitstream 302 with the transform coefficient. Then, an inverse 1D-DCT transform 430 is applied to obtain reconstructed raw SAR data 401. -
FIG. 7 shows themethod 700 in greater detail. We sample 710SAR data 709 acquired of an object orterrain 708 into small 8×8blocks 711. A 1D-DCT is applied 720 to produce corresponding blocks oftransform coefficients 711, which are quantized 730 according to a quantization parameter (QP) 601 to obtain a corresponding block of quantized transform-coefficients 731. - The
blocks 731 are demultiplexed 740 into sets of N blocks 741. The N blocks in each set are encoded 750 arithmetically and in parallel according to aprobability model 749 to produce anintermediate bitstream 751 for each set of blocks. The encoding of the quantized transform coefficients of one block is independent of the quantized transform coefficients of successive blocks. The intermediate bitstreams are multiplexed 760 to acompressed bitstream 761. for further processing on theground 762. - It should be noted that the
demultiplexing 740 can be performed during thesampling 710 so that the N streams ofblocks 1110 are produced in parallel as indicated by dashed lines. In this embodiment, there are N data streams processed in parallel by the transform, quantization and encoding modules, also seeFIG. 11 . - Transform
- In a preferred embodiment of our invention, the 1D-DCT is used to transform the input signal from a spatial sample domain to a frequency domain. The 1D-DCT does not compress the raw SAR data, but decorrelates the SAR data to facilitate more efficient compression. Relative to the 2D-DCT the 1D-DCT has a lower complexity. Also, due to the nature of the raw SAR data, which resembles Gaussian noise, there is not a substantial gain provided by performing a 2D transformation, especially for small block sizes.
- In our invention, the 1D-DCT is performed along rows of each block, which corresponds to range directions in the raw SAR data. Columns correspond to the azimuth angle. With a block size of 8×8, an 8×1 DCT is applied to each row, and the eight rows of the 8×1 DCT coefficients together form our 8×8 block of transform coefficients.
- QP Initialization
- The QP is initialized according to the target bit-rate or compression ratio. The target compression ratio is determined from a given transmission bandwidth, e.g., a target bit rate, and the size of raw SAR data without compression, in number of bits. The target compression ratio is an input parameter to our
arithmetic encoder 360. - As shown in
FIG. 5 , an empirical relationship between atarget bit rate 501, atarget compression ratio 502, and aninitial QP 503 used in all blocks can be determined 330 from the training SAR data. Then, the initial QP can be obtained via look-up on the table 500, based on the target compression ratio. - For applications that require finer control of the output bit-rate, the initial QP can also be adjusted by the variance to better-allocate and utilize the available bit rate, and thus achieve a better overall compression. This rate control procedure is described in further details below 340.
- Adjusting the QP
- The QP is adjusted for the purposes of maximizing compression quality and rate control. The adjustment is mainly based on two factors, the block data entropy, and the consumed or remaining number of bits. Higher entropy implies that more information is contained in the data block, thus a smaller QP should be applied for more conservative compression. Similarly, lower entropy implies that less information is contained in the data block, and a larger QP should be applied for more aggressive compression. Because the calculation of entropy is too complex for low-cost hardware devices, the block variance is a good approximation of the entropy, and not as computationally demanding to calculate as entropy.
-
FIG. 6 shows a process 600 for adapting theQP 601 for each block, from theinitial QP 602, based on two factors, namely theblock variance 603, and a bit usage ratio. Theblock variance 603 is determined 320 from all sample values in the input block, e.g., the 256 samples in one 8×8 block. Then, the variance is compared with a set ofpre-defined thresholds 604 in the table 500 by look-up 610. These thresholds are empirically determined from the training SAR data, and are programmable for specific devices. - Each threshold corresponds to a QP difference (ΔQp). This correspondence is represented by the table 500. By comparing the variance and searching the table, the QP difference ΔQp(var) is determined 610. For example, if the variance is smaller than the first threshold, then the QP difference ΔQp(var) is set to be the first ΔQp in the table. The initial QP is determined as described above according to the target compression ratio and is used as the initial QP for all blocks of the raw SAR data. By adding 620 the QP difference ΔQp(var) to the initial QP, the adjusted QP is obtained.
- As described above, another factor that affects the QP is the bit usage ratio. This adjustment could also be made when rate control is required and enforced. In order to determine the QP difference influenced by the bit usage ratio, i.e., ΔQp(rate), the estimated total bit usage is first determined 630 from the number of blocks coded 605 and number of bits consumed 606 to encode the blocks. Then, the estimated total bit usage is 607 compared with
target bit rate 608 to determine 640 the ΔQp(rate). The details on the method for calculating the total bit usage and ΔQp(rate) are described below. The ΔQp(rate) is then added 650 to the previously adapted QP, i.e., the adjustedQP 601 is equal to the initial QP+ΔQp(var)+ΔQp(rate). - In order to examine the bit usage condition, three variables, i.e., the total number of blocks, the number of blocks that have been encoded 605, and the number of bits that have been consumed 606, are first obtained for estimating the total number of bits that will be approximately required to encode the
raw SAR data 301. This approximation is then compared with the target bit usage. If the approximated bit usage is greater and exceeds a tolerance percentage, then the QP is increased. Otherwise, if the approximated bit usage is less than the target bit usage and exceeds the tolerance percentage, then the QP is decreased. - After each block is encoded, the total number of encoded
blocks 605 and the total number of consumedbits 606 are updated. Before quantizing the current block, the approximate total number ofbits 630 is determined by (number of consumed bits)/(number of coded blocks)×(number of total blocks. Then the estimated total bit usage is compared to the target bit usage. - The ratio of (estimated total bits: target total bits) is determined. If the ratio is greater then one, then the bit consumption is exceeding the bit budget. Otherwise, it is within the budget. By subtracting one from this ratio, the percentage of estimated total bits that are exceeding or below the target is given. This percentage is then divided by a tolerance threshold in order to find out how many times the estimated bit rate exceeds or is under a specified tolerance.
- For example, if the application can tolerate 5% bit rate variance, while the ratio of estimated bit usage to target bit usage is 9%, then the estimation is (9/5) times above the tolerance.
- Quantization
- The transform coefficients are subject to the
scalar quantization 350. The scalar quantization is a lossy compression, the larger the QP value, the coarser the compression quality. - In one embodiment, uniform scalar quantization is applied to all transform coefficients obtained form the 1D-DCT. In a second embodiment of this invention, non-uniform quantization of the transform coefficients is applied, where the QP value for the block is further modified by a quantization matrix that determines a non-uniform scaling for each transform coefficient.
- Parallel Arithmetic Coding
- The quantized transform coefficients are losslessly encoded by our modified arithmetic encoder. One major drawback of the conventional arithmetic encoding method is its sequential processing nature, which makes it unsuitable for low complexity devices and where a high throughput is required. In the conventional method, the encoding has to be performed symbol-by-symbol and block-by-block. The reason is that the encoding of one syntax element, e.g., a quantized transforrm coefficient, can depend on the following elements. In some cases, a number of successive elements are encoded jointly.
- Without parallelization, block(n+1) is encoded after block(n), and the last element of block(n) can be dependent on elements of block(n+1). That is, the bits to represent the last element of block(n) can depend on the first or later element in block(n+1), or a probability of this element. Furthermore, those bits can only be written to the bit stream after the first or later element of block(n+1) is encoded.
- Arithmetic encoding is a method for lossless data compression that uses variable-length entropy encoding. Frequently used bit strings are represented by fewer bits, and infrequently used bit strings use more bits. In contrast with other entropy encoding techniques, such as Huffman encoding that separate the input data into component strings and replace each string with a code word, arithmetic coding encodes the entire input data with a single code word, e.g., a fraction n in the range [0, 1]
- Arithmetic encoding works as follows. First, we begin with a “current interval” [Low, High) initialized to [0, 1). Then, for each symbol (bit string), perform two steps:
-
- (a) Subdivide the current interval into subintervals, one for each possible symbol, where the size of the subinterval is proportional to the estimated probability of the symbol according to the probability model; and
- (b) Select the subinterval corresponding to the symbol that actually occurs, and make it the new current interval. A sufficient number of bits must be output to distinguish the final current interval from all other possible final intervals.
- Arithmetic encoding scales the cumulative probabilities given by the probability model into the interval [Low, High) for each symbol encoded. When Low and High are very close together, so close that this scaling operation maps some different symbols of the probability model onto the same integer in the [Low, High) interval, the encoding cannot continue until the next symbol (or symbols) are encoded.
- In arithmetic encoding, a bit can be written only when the first bit in Low and High are identical. If Low is 0 . . . and High is 0 . . . , then write a zero bit, or if Low is 1 . . . and High is 1 . . . , then write a one bit. Thus, no bit can be written when Low is 01 and High is 10. This can happen when First-quarter≦Low<Half≦High<Third-quarter. In this case, the two bits for Low and High have opposite polarity, either 01 or 10. For example, if the next bit turns out to be zero, i.e., High descends below Half and [0, Half] is expanded to the full interval, the following bit is one, because the range of the interval has to be above the midpoint of the expanded interval. After the interval expansion, it is still possible to have First-quarter≦Low<Half≦High<Third-quarter. In this case, the arithmetic encoder continues to examine whether the next Low and High have identical bits that can be written.
- Conversely, if the next output bit is one, then the arithmetic coder writes a zero bit afterwards. In this way, the interval can safely be expanded. That is, when a bit can be output, it is followed by a certain number of bits of opposite parity. Sometimes, after one or more interval expansions, the [Low, High) still falls in the condition First-quarter≦Low<Half≦High<Third-quarter. In this case, the number of times that the interval is expanded without writing any bits is recorded in a variable f. Then, when a bit is finally written, it is followed by a total number of f opposite parity bits. These bits are called follow bits.
- In order to break the dependency that is intrinsic to conventional arithmetic encoding, and thus achieve parallelization, a compatible encoding scheme writes the bits corresponding to the quantized transform coefficients in a block after the last coefficient of each block is encoded, regardless of any elements in the next block.
- In our invention, we describe an enhanced modified arithmetic coding that uses a “stop mark” for a set of blocks. This eliminates the dependency between blocks and allows a parallel implementation. The effect is that multiple symbols, which correspond to quantized transform coefficients in our invention, can be encoded concurrently. In order to achieve this, the coding dependencies among successive symbols are broken. A consequence of this enhancement is that there are additional redundant bits in the bitstream. Normally, the more independent the symbols are encoded, the more flexible parallelization can be achieved at the cost of higher bit rate. In the following, we describe a block-level parallel design, which provides a good tradeoff between encoding efficiency and parallelization.
- Our invention achieves parallelization by invoking the following process. If the “Low” from the last element (quantized transform coefficient) is less than a quarter of the largest pre-defined possible code value, e.g., 65535, or 1 if normalized, then the arithmetic encoder writes a zero bit, followed by (f+1) one bits, followed by a zero bit. Otherwise, if the last element is greater than or equals to a quarter of the largest pre-defined possible code, then the arithmetic encoder writes a one bit, followed by (f+1) zero bits, then followed by a one bit. By writing this additional bit after the follow bits, the end of each block is independently encoded, and the symbols of the current block are unambiguously represented in binary form and without any ambiguity for the decoder regarding the symbol to be reconstructed.
- The last bit is necessary if the decoder does not fully follow the f bits counting process as performed by the encoder. In the case that the decoder does follow the f bits counting process as performed by the encoder, which incurs additional complexity, then it is not required that the last bit be written to the output. With this approach, however, the encoding of the quantized transform coefficients of one block is still independent of the quantized transform coefficients of a successive block.
-
FIG. 8 shows our parallel design for context adaptive arithmetic encoding with Narithmetic coding units 810 operating in parallel and utilizing the methods described above. Aprobability model 840 is used for each transform coefficient. An accurate probability model generally yields better coding performance. In a static design, the probability model can be obtained from the training data and is not updated during the encoding. - In conventional adaptive arithmetic encoding, the probability model is updated after each symbol is encoded. Then, the model is used to better encode the next symbol. However, in our parallel design, updating the model on a symbol-basis from multiple units is not manageable and could cause read-write chaos under a race condition, i.e., the order of reads and writes could be undetermined.
- In one embodiment of our invention, which as shown in
FIG. 8 , each of the arithmetic encoding units encodes, in parallel, one of the blocks in the set of N blocks 830 of quantized transform coefficients based theprobability model 840 that is common among all arithmetic encoding units. For this case, the model is updated 820 only after adelay 830 when the encoding of the N blocks 830 is completed, while remaining static during the process of encoding all blocks in one cycle. This design also extends to the case in which the update is made after N blocks are encoded over a predetermined period of time. The intermediate bitstreams of theencoders 810 are multiplexed 850 to produce theoutput bitstream 302. - In a second embodiment of the invention, each of the arithmetic encoding units encodes one block of quantized transform coefficients based on a specified probability model that is specific to that unit and independent from other units. Updates to the probability model for each unit are performed independently and based only on data that the particular unit encodes.
- In both of the above embodiments, the probability model(s) could also be updated 820 periodically, over time, based on the statistics of previously encoded symbols.
- To encode the quantized transform coefficients, which are in the range [−512/QP, +511/QP], one embodiment of our invention first adds an offset of (512/QP) so that all coefficients to be encoded are in the range [0, 1023/QP], and then apply arithmetic encoding as described above. This embodiment requires 1024/QP*N bits of memory for each probability model, where N is the number of bits to represent the probabilities for each quantized transform coefficient in the probability model.
- We realize that the probability distribution of quantized transform coefficients is symmetric. Therefore, we can reduce the size of the memory by encoding the absolute value of the quantized transform coefficients without the offset, i.e., the absolute value of coefficients in the range [−512/QP, +511/QP]. If the value is not zero, then an unencoded sign bit is written to the intermediate bitstream, separately. That is, the sign bits are not arithmetic encoded. This change effectively reduces the required memory for each probability model by at least a factor of two from 1024/QP*N to 512/QP*N. The overall memory savings can be greater if there are separate probability models for each quantized transform coefficient, and the implementation might store several versions of the same table to satisfy timing requirements for read/write operations.
- Hardware Design
- Field programmable gate arrays (FPGA) are typical for onboard SAR processing. However, as compared to semi-custom ASIC and other custom silicon devices, FPGA performance is typically far more limited. In particular, radiation-tolerant and military application devices typically have lower performance than state of art commercial devices.
- As shown in
FIG. 9 for a first embodiment of our invention, the compression methods are implemented in asingle FPGA 900. The advantage of this embodiment is that only a single piece of hardware is required. Although all processing is realized in thesingle FPGA 900, the arithmetic coding units are still implemented in parallel to satisfy throughput requirements. - As shown in
FIG. 10 for a second embodiment of this invention, the compression methods are realized with multiple FPGAs 1001-1002 to attain a higher throughput. This design partitions all front end operations into asingle FPGA 1001. The arithmetic coding is then implemented inmultiple FPGAs 1002, each corresponding to a parallel channel. This design facilitates more flexibility between hardware and timing than the single FPGA design. - As shown in Figure II for a third embodiment of the invention, the SAR are demultiplexed and sampled 1101 into N streams of blocks. Each stream is processed in parallel by an
independent FPGA 1102 to produce Nintermediate bit streams 1111, which are then multiplexed into thecompressed bitstream 302. - It is emphasized that the modified arithmetic encoding method according to the embodiments our invention enables the designs described above to attain high throughput through parallelization.
- Comparison to Prior Art
- In contrast to the prior art systems, our system has significant differences and advantages.
- Compared to the conventional BAQ approach, our invention is more comprehensive. In contrast with BAQ, which processes block adaptive quantization to raw data samples, our invention also involves a discrete cosine transform, entropy coding and rate control. The quantization in our invention is performed in the frequency domain. Furthermore, the scalar quantization in our invention is different than the quantization in BAQ, which is computational simpler and very efficient combined with entropy coding. With this comprehensive design, higher compression ratios are achievable without severe degradation of compression quality.
- Relative to the FFT-ECBAQ method, our invention is different in several ways. First, a
shorter length 1D-DCT is used to transform samples into the frequency domain, which makes our encoding more practical and feasible for limited complexity platforms. Compared with long size 2D-FFT in FFT-ECBAQ, our invention significantly reduces the hardware complexity. Thus, our invention can be implemented in one FPGA, without requiring the accessibility to other external chips. The reason why shorter transform size can be used in our invention, without severe loss of compression quality, is because that we use different block adaptive quantization scheme. - The quantization used by our invention is scalar quantization, which applies a uniform division of all DCT coefficients in the block. Thus, we do not need the block size to be large for bit allocation within one block, as performed in FFT-ECBAQ.
- In fact, the bit allocation in our invention is among smaller sized blocks, according to the block variance, as an approximation of block entropy. This bit allocation “moves” more bits to blocks containing more information, i.e., with greater variance, in order to achieve higher overall quality.
- We adapt the QP for a block with a rate control procedure. The type of entropy coder in FFT-ECBAQ is not specified; whereas in our invention, we used arithmetic encoding for more efficient compression. Moreover, the arithmetic encoder and decoder used by our invention are modified to enable a parallel design.
- Comparing to other prior art method, Such as BTC, our invention is different and more advanced, by introducing a DCT, entropy coding and more efficient quantization, with block-based bit allocation and rate control. Our invention yields a much higher performance.
- It is to be understood that various other adaptations and modifications can be made within the spirit and scope of the invention. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention.
Claims (41)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/110,834 US7876257B2 (en) | 2008-04-28 | 2008-04-28 | Method and apparatus for compressing SAR signals |
JP2009021842A JP5052541B2 (en) | 2008-04-28 | 2009-02-02 | Method for compressing SAR data and apparatus for encoding SAR data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/110,834 US7876257B2 (en) | 2008-04-28 | 2008-04-28 | Method and apparatus for compressing SAR signals |
Publications (2)
Publication Number | Publication Date |
---|---|
US20090267825A1 true US20090267825A1 (en) | 2009-10-29 |
US7876257B2 US7876257B2 (en) | 2011-01-25 |
Family
ID=41214483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/110,834 Active 2029-04-15 US7876257B2 (en) | 2008-04-28 | 2008-04-28 | Method and apparatus for compressing SAR signals |
Country Status (2)
Country | Link |
---|---|
US (1) | US7876257B2 (en) |
JP (1) | JP5052541B2 (en) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100149023A1 (en) * | 2008-12-15 | 2010-06-17 | The Boeing Company | Estimation and Correction of Error in Synthetic Aperture Radar |
US20110129162A1 (en) * | 2009-11-30 | 2011-06-02 | Electronics And Telecommunications Research Institute | Apparatus and method for lossless/near-lossless image compression |
CN102129074A (en) * | 2010-01-15 | 2011-07-20 | 中国科学院电子学研究所 | Satellite SAR original data anti-saturation vector compression coding and decoding method |
US20120201325A1 (en) * | 2009-08-14 | 2012-08-09 | Rainer Perthold | Apparatus and method for providing a reduced representation based on a time-domain rf signal |
WO2012167103A1 (en) * | 2011-06-03 | 2012-12-06 | Qualcomm Incorporated | Context-adaptive coding video data |
US20130287099A1 (en) * | 2009-11-20 | 2013-10-31 | Texas Instruments Incorporated | Block Artifact Suppression in Video Coding |
US9338469B2 (en) | 2009-10-15 | 2016-05-10 | Siemens Aktiengesellschaft | Method for encoding symbols from a sequence of digitized images |
US20180284262A1 (en) * | 2017-04-03 | 2018-10-04 | DEUTSCHES ZENTRUM FüR LUFT-UND RAUMFAHRT E.V. | Method and apparatus for computer-assisted processing of sar raw data |
CN108646302A (en) * | 2018-03-23 | 2018-10-12 | 西安电子科技大学 | A kind of SAR data compression method for underground structure detection |
US10139480B2 (en) * | 2016-02-19 | 2018-11-27 | Fujifilm Sonosite, Inc. | Ultrasound transducer with data compression |
CN111538003A (en) * | 2020-04-30 | 2020-08-14 | 南京理工大学 | A Single-bit Compressed Sampling Synthetic Aperture Radar Imaging Method |
US10996311B2 (en) * | 2017-08-04 | 2021-05-04 | Infineon Technologies Ag | Distributed radar sensor system |
CN114466191A (en) * | 2017-03-31 | 2022-05-10 | 明达半导体股份有限公司 | Image decoding/encoding method and storage medium |
US20220268920A1 (en) * | 2021-02-22 | 2022-08-25 | Ajou University Industry-Academic Cooperation Foundation | Method and apparatus for processing source data of synthetic aperture radar in satellite |
US20230379203A1 (en) * | 2018-01-26 | 2023-11-23 | California Institute Of Technology | Systems and Methods for Communicating by Modulating Data on Zeros |
CN117590333A (en) * | 2023-11-24 | 2024-02-23 | 中国科学院空天信息创新研究院 | Satellite-borne multichannel SAR Doppler domain ABAQ compression method and device |
CN118131236A (en) * | 2024-04-29 | 2024-06-04 | 深圳大学 | Multichannel combined threshold single-bit SAR imaging method |
CN118859258A (en) * | 2024-08-24 | 2024-10-29 | 中国科学院空天信息创新研究院 | FPGA Implementation of ABAQ Compression in Doppler Domain for Spaceborne Multi-channel SAR |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4368575B2 (en) * | 2002-04-19 | 2009-11-18 | パナソニック株式会社 | Variable length decoding method, variable length decoding apparatus and program |
US9291711B2 (en) * | 2010-02-25 | 2016-03-22 | University Of Maryland, College Park | Compressive radar imaging technology |
SG10201808973XA (en) * | 2012-04-13 | 2018-11-29 | Mitsubishi Electric Corp | Image encoding device, image decoding device, image encoding method and image decoding method |
GB201207967D0 (en) * | 2012-05-08 | 2012-06-20 | Secr Defence | Synthetic aperture radar system |
CN104215962B (en) * | 2014-08-04 | 2016-08-17 | 北京理工大学 | Chirp Scaling formation method based on monolithic FPGA |
EP3021135B1 (en) * | 2014-11-14 | 2018-08-15 | Airbus Defence and Space GmbH | Reduction of reception data of a radar, particularly a synthetic aperture radar |
US10871561B2 (en) | 2015-03-25 | 2020-12-22 | Urthecast Corp. | Apparatus and methods for synthetic aperture radar with digital beamforming |
US10019775B2 (en) | 2015-04-30 | 2018-07-10 | Honeywell International Inc. | Method and system for scalable, radiation-tolerant, space-rated, high integrity graphics processing unit |
CA2990063A1 (en) | 2015-06-16 | 2017-03-16 | King Abdulaziz City Of Science And Technology | Efficient planar phased array antenna assembly |
KR101760826B1 (en) * | 2015-11-19 | 2017-07-25 | 한국건설기술연구원 | Apparatus for Compressing the Reflectivity Data of Weather Radar and Method therefor |
US10955546B2 (en) | 2015-11-25 | 2021-03-23 | Urthecast Corp. | Synthetic aperture radar imaging apparatus and methods |
EP3646054A4 (en) | 2017-05-23 | 2020-10-28 | King Abdulaziz City for Science and Technology | RADAR IMAGING DEVICE WITH SYNTHETIC APERTURE AND METHOD OF MOVING TARGETS |
US11506778B2 (en) | 2017-05-23 | 2022-11-22 | Spacealpha Insights Corp. | Synthetic aperture radar imaging apparatus and methods |
US12166506B2 (en) | 2017-10-30 | 2024-12-10 | AtomBeam Technologies Inc. | System and method for multi-type data compression or decompression with a virtual management layer |
US12159216B1 (en) | 2023-12-12 | 2024-12-03 | Atombeam Technologies Inc | System and method for homomorphic compression |
US12058333B1 (en) | 2023-12-12 | 2024-08-06 | AtomBeam Technologies Inc. | System and methods for upsampling of decompressed data after lossy compression using a neural network |
US12166507B1 (en) | 2023-12-12 | 2024-12-10 | AtomBeam Technologies Inc. | System and method for compressing and restoring data using multi-level autoencoders and correlation networks |
US12068761B1 (en) | 2023-12-12 | 2024-08-20 | AtomBeam Technologies Inc. | System and methods for upsampling of decompressed time-series data using a neural network |
US12093972B1 (en) | 2023-12-12 | 2024-09-17 | AtomBeam Technologies Inc. | Upsampling of decompressed financial time—series data using a neural network |
US12199644B1 (en) | 2023-12-12 | 2025-01-14 | Atombeam Technologies Inc | System and method for homomorphic compression using latent space preprocessing and neural upsampling |
CA3083033A1 (en) | 2017-11-22 | 2019-11-28 | Urthecast Corp. | Synthetic aperture radar apparatus and methods |
CN112104867B (en) | 2020-11-09 | 2021-03-02 | 腾讯科技(深圳)有限公司 | Video processing method, video processing device, intelligent equipment and storage medium |
US12095484B1 (en) | 2023-12-12 | 2024-09-17 | Atombeam Technologies Inc | System and methods for upsampling of decompressed genomic data after lossy compression using a neural network |
US12167031B1 (en) | 2023-12-12 | 2024-12-10 | Atombeam Technologies Inc | System and methods for image series transformation for optimal compressibility with neural upsampling |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4801939A (en) * | 1987-09-04 | 1989-01-31 | Unisys Corporation | High-speed data compressor/decompressor for synthetic aperture radar |
US5661477A (en) * | 1994-08-05 | 1997-08-26 | Deutsche Forschungsanstalt Fur Luft- Und Raumfaht E.V. | Methods for compressing and decompressing raw digital SAR data and devices for executing them |
US5666121A (en) * | 1995-09-19 | 1997-09-09 | California Institute Of Technology | VLSI processor design of real-time data compression for high resolution imaging radar |
US6658159B1 (en) * | 2000-03-17 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | Block entropy coding in embedded block coding with optimized truncation image compression |
US6674910B1 (en) * | 1998-11-24 | 2004-01-06 | Hyundai Electronics Industries Co., Ltd. | Apparatus and method for image-compression encoding and decoding using adaptive transform |
US7099387B2 (en) * | 2002-03-22 | 2006-08-29 | Realnetorks, Inc. | Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3001962B2 (en) * | 1990-11-13 | 2000-01-24 | 日本電気ホームエレクトロニクス株式会社 | Video data compression coding |
JPH05268588A (en) * | 1992-03-17 | 1993-10-15 | Matsushita Electric Ind Co Ltd | Coder |
JPH0686264A (en) * | 1992-08-31 | 1994-03-25 | Hitachi Ltd | Variable speed picture encoding system |
JPH07170414A (en) * | 1993-12-15 | 1995-07-04 | Seiko Epson Corp | Image coding / decoding device |
JPH08116448A (en) * | 1994-10-13 | 1996-05-07 | Fuji Xerox Co Ltd | Coder and decoder for image signal |
JPH09121351A (en) * | 1995-10-25 | 1997-05-06 | Nec Corp | Image signal code amount control circuit |
JPH09121359A (en) * | 1995-10-26 | 1997-05-06 | Hitachi Ltd | Picture coding and decoding methods |
JPH1042293A (en) * | 1996-07-19 | 1998-02-13 | Nippon Columbia Co Ltd | Encoding controller, encoding device and encoding control method |
JP2003032496A (en) * | 2001-07-12 | 2003-01-31 | Sanyo Electric Co Ltd | Image coding device and method |
US7082450B2 (en) * | 2001-08-30 | 2006-07-25 | Nokia Corporation | Implementation of a transform and of a subsequent quantization |
US7245242B2 (en) * | 2005-11-28 | 2007-07-17 | Conexant Systems, Inc. | Decoding systems and methods |
JP4828925B2 (en) * | 2005-11-30 | 2011-11-30 | パナソニック株式会社 | Encoder |
JP2007228519A (en) * | 2006-02-27 | 2007-09-06 | Renesas Technology Corp | Image encoding device and image encoding method |
JP4062711B2 (en) * | 2006-04-17 | 2008-03-19 | 俊宏 南 | Video encoding device |
-
2008
- 2008-04-28 US US12/110,834 patent/US7876257B2/en active Active
-
2009
- 2009-02-02 JP JP2009021842A patent/JP5052541B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4801939A (en) * | 1987-09-04 | 1989-01-31 | Unisys Corporation | High-speed data compressor/decompressor for synthetic aperture radar |
US5661477A (en) * | 1994-08-05 | 1997-08-26 | Deutsche Forschungsanstalt Fur Luft- Und Raumfaht E.V. | Methods for compressing and decompressing raw digital SAR data and devices for executing them |
US5666121A (en) * | 1995-09-19 | 1997-09-09 | California Institute Of Technology | VLSI processor design of real-time data compression for high resolution imaging radar |
US6674910B1 (en) * | 1998-11-24 | 2004-01-06 | Hyundai Electronics Industries Co., Ltd. | Apparatus and method for image-compression encoding and decoding using adaptive transform |
US6658159B1 (en) * | 2000-03-17 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | Block entropy coding in embedded block coding with optimized truncation image compression |
US7099387B2 (en) * | 2002-03-22 | 2006-08-29 | Realnetorks, Inc. | Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7999724B2 (en) * | 2008-12-15 | 2011-08-16 | The Boeing Company | Estimation and correction of error in synthetic aperture radar |
US20100149023A1 (en) * | 2008-12-15 | 2010-06-17 | The Boeing Company | Estimation and Correction of Error in Synthetic Aperture Radar |
US20120201325A1 (en) * | 2009-08-14 | 2012-08-09 | Rainer Perthold | Apparatus and method for providing a reduced representation based on a time-domain rf signal |
US8670506B2 (en) * | 2009-08-14 | 2014-03-11 | Innovationszentrum Fuer Telekommunikationstechnik Gmbh Izt | Apparatus and method for providing a reduced representation based on a time-domain RF signal |
US9338469B2 (en) | 2009-10-15 | 2016-05-10 | Siemens Aktiengesellschaft | Method for encoding symbols from a sequence of digitized images |
US10897625B2 (en) * | 2009-11-20 | 2021-01-19 | Texas Instruments Incorporated | Block artifact suppression in video coding |
US11438607B2 (en) | 2009-11-20 | 2022-09-06 | Texas Instruments Incorporated | Block artifact suppression in video coding |
US20130287099A1 (en) * | 2009-11-20 | 2013-10-31 | Texas Instruments Incorporated | Block Artifact Suppression in Video Coding |
US20110129162A1 (en) * | 2009-11-30 | 2011-06-02 | Electronics And Telecommunications Research Institute | Apparatus and method for lossless/near-lossless image compression |
CN102129074A (en) * | 2010-01-15 | 2011-07-20 | 中国科学院电子学研究所 | Satellite SAR original data anti-saturation vector compression coding and decoding method |
CN103563381A (en) * | 2011-06-03 | 2014-02-05 | 高通股份有限公司 | Context-adaptive coding video data |
US9379736B2 (en) | 2011-06-03 | 2016-06-28 | Qualcomm Incorporated | Context-adaptive coding video data |
WO2012167103A1 (en) * | 2011-06-03 | 2012-12-06 | Qualcomm Incorporated | Context-adaptive coding video data |
US10139480B2 (en) * | 2016-02-19 | 2018-11-27 | Fujifilm Sonosite, Inc. | Ultrasound transducer with data compression |
CN114466191A (en) * | 2017-03-31 | 2022-05-10 | 明达半导体股份有限公司 | Image decoding/encoding method and storage medium |
US10754028B2 (en) * | 2017-04-03 | 2020-08-25 | DEUTSCHES ZENTRUM FüR LUFT-UND RAUMFAHRT E.V. | Method and apparatus for computer-assisted processing of SAR raw data |
US20180284262A1 (en) * | 2017-04-03 | 2018-10-04 | DEUTSCHES ZENTRUM FüR LUFT-UND RAUMFAHRT E.V. | Method and apparatus for computer-assisted processing of sar raw data |
US10996311B2 (en) * | 2017-08-04 | 2021-05-04 | Infineon Technologies Ag | Distributed radar sensor system |
US20210255278A1 (en) * | 2017-08-04 | 2021-08-19 | Infineon Technologies Ag | Distributed radar sensor system |
US11639983B2 (en) * | 2017-08-04 | 2023-05-02 | Infineon Technologies Ag | Distributed radar sensor system |
US20230379203A1 (en) * | 2018-01-26 | 2023-11-23 | California Institute Of Technology | Systems and Methods for Communicating by Modulating Data on Zeros |
US12155519B2 (en) * | 2018-01-26 | 2024-11-26 | California Institute Of Technology | Systems and methods for communicating by modulating data on zeros |
CN108646302A (en) * | 2018-03-23 | 2018-10-12 | 西安电子科技大学 | A kind of SAR data compression method for underground structure detection |
CN111538003A (en) * | 2020-04-30 | 2020-08-14 | 南京理工大学 | A Single-bit Compressed Sampling Synthetic Aperture Radar Imaging Method |
US11933881B2 (en) * | 2021-02-22 | 2024-03-19 | Ajou University Industry-Academic Cooperation Foundation | Method and apparatus for processing source data of synthetic aperture radar in satellite |
US20220268920A1 (en) * | 2021-02-22 | 2022-08-25 | Ajou University Industry-Academic Cooperation Foundation | Method and apparatus for processing source data of synthetic aperture radar in satellite |
CN117590333A (en) * | 2023-11-24 | 2024-02-23 | 中国科学院空天信息创新研究院 | Satellite-borne multichannel SAR Doppler domain ABAQ compression method and device |
CN118131236A (en) * | 2024-04-29 | 2024-06-04 | 深圳大学 | Multichannel combined threshold single-bit SAR imaging method |
CN118859258A (en) * | 2024-08-24 | 2024-10-29 | 中国科学院空天信息创新研究院 | FPGA Implementation of ABAQ Compression in Doppler Domain for Spaceborne Multi-channel SAR |
Also Published As
Publication number | Publication date |
---|---|
JP5052541B2 (en) | 2012-10-17 |
JP2009268064A (en) | 2009-11-12 |
US7876257B2 (en) | 2011-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7876257B2 (en) | Method and apparatus for compressing SAR signals | |
US10045034B2 (en) | System and method for using pattern vectors for video and image coding and decoding | |
KR100876066B1 (en) | Signal coding methods, signal decoding methods, memory media, coders and decoders | |
CN101513073A (en) | Device and method for coding a data signal and device and method for decoding a data signal | |
US8199820B2 (en) | Intermediate compression of reference frames for transcoding | |
Khobragade et al. | Image compression techniques-a review | |
US10609382B2 (en) | Method and apparatus for compressing video data | |
Rojatkar et al. | Image compression techniques: lossy and lossless | |
US20220248057A1 (en) | Encoder and method of encoding a sequence of frames | |
Singh et al. | A Review on Latest Techniques of Image Compression | |
Son et al. | Low complexity embedded compression algorithm for reduction of memory size and bandwidth requirements in the JPEG2000 encoder | |
US9501717B1 (en) | Method and system for coding signals using distributed coding and non-monotonic quantization | |
US6192158B1 (en) | Wavelet image coder using trellis-coded quantization | |
Panda et al. | Competency assessment of image compression in the lossy and lossless domain | |
US11943477B2 (en) | Methods and apparatus for successive intra block prediction | |
Kumar et al. | Comparative analysis of wavelet based compression methods | |
WO2005001771A1 (en) | Method of encoding a signal into a bit stream | |
US10841595B2 (en) | Methods and apparatus for transform coefficient encoding and decoding | |
RU2765654C9 (en) | Method and device for digital data compression | |
Ranjeeta et al. | Image compression: an overview | |
Lu et al. | An efficient VLSI architecture of parallel bit plane encoder based on CCSDS IDC | |
Swamy et al. | Low-Complexity and High-Quality Image Compression Algorithm for Onboard Satellite | |
Hayes et al. | Low-cost wavelet image compression for FPGAs | |
Bindulal et al. | Adaptive Scalable Wavelet Difference Reduction Method for Efficient Medical Image Transmission | |
Lai et al. | ENEE631 Digital Image Processing: Wavelet-Based Image Compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MITSUBISHI ELECTRIC RESEARCH LABORATORIES, INC., M Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VETRO, ANTHONY;LIU, SHAN;LOU, JIAN;AND OTHERS;REEL/FRAME:021141/0960;SIGNING DATES FROM 20080612 TO 20080613 Owner name: MITSUBISHI ELECTRIC RESEARCH LABORATORIES, INC., M Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VETRO, ANTHONY;LIU, SHAN;LOU, JIAN;AND OTHERS;SIGNING DATES FROM 20080612 TO 20080613;REEL/FRAME:021141/0960 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552) Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |