Design and Implementation of DSP for aerial image compression system

Source: Internet
Author: User
Tags image line
Design and Implementation of DSP for aerial image compression system
[Date:] Source: Electronic Technology Application Author: Wang yujing Gao xueqiang Yang rijie Yang Chunying [Font:Large Medium Small]

 

Because aerial images provide a large amount of intuitive information, they are widely used in military reconnaissance, rescue and disaster relief, meteorological detection, and other fields. Because aerial images are remotely imaged, the resolution is low and the data volume is large. If you want to return the aerial image in real time, you must compress and encode it. Due to the complexity of the image compression algorithm, it is determined that the return system must adopt a high-speed digital signal processing chip. As the highest computing performance signal processing chip, DSP has become the best choice for implementing system solutions.
Currently, there are many image compression methods, mainly in the fields of wavelet transform, fractal compression, and neural network coding. Among them, Wavelet Transform Coding has become one of the most popular research directions with its excellent time-frequency and multi-resolution features, and occupies a dominant position in the field of image compression. However, the traditional wavelet transform computation is complex and is carried out in the frequency domain. In 1994, W. Sweldens proposed a new Wavelet Construction Scheme-lifting wavelet. It can perform in-situ operations, which is easier to implement in hardware and saves memory space. This is very important for improving system performance and reducing system costs. Compared with traditional wavelet transformations, it can reduce the computing complexity by half, and the computing speed is very fast. In addition, the improvement scheme is suitable for the implementation of SIMD (single command and multiple data streams, this is consistent with DSP's multi-bus read/write structure [1]. In view of the advantages of the improvement scheme, the wavelet transform part of the system is implemented by the improvement algorithm.
Shinio proposed a zero-tree Coding Scheme in 1992. It uses a new zero-tree structure to characterize the wavelet coefficients, so that the superiority of wavelet transform in image compression has been fully reflected [2]. Due to the efficient performance of the zero-tree method, various improvement methods have been proposed based on it. In 1996, Said and Pearlman proposed the SPIHT algorithm [3], which is based on the hierarchical tree Set Segmentation Algorithm. This algorithm is also based on the zero-tree idea, but uses set division for encoding, which is more effective in coefficient organization and higher compression efficiency. The SPIHT algorithm has become one of the most efficient algorithms. Even if entropy encoding is not used, the encoding efficiency is still high, which is better than the previous zero-tree encoding. Therefore, the system uses the SPIHT algorithm to encode the wavelet coefficients.
1 software implementation
1.1 Implementation of lifting wavelet
Due to the unstable Statistical Characteristics of the image, it is impossible for any group of wavelet bases to portray all the image features at the same time. Therefore, the selection of wavelet basis is problematic. In terms of entropy, peak-to-peak ratio PPR, generalized coding gain, and error resistance analysis, this system uses Antini9/7 as the wavelet basis for the Improvement Scheme [4]. The implementation process of the wavelet lifting scheme is as follows:
The analysis filter of Antini9/7 is:
  


First, transform the image line, then perform column transformation, and then rearrange the image coefficients according to the rules shown in Figure 1.

1.2 boundary processing problems
In the application of image compression, border processing is one of the key technologies. If the processing is poor, the signal cannot be completely reconstructed, which will directly affect the quality of the reconstructed image. In this regard, the method introduced in the promotion scheme is to use interpolation subdivision algorithm to re-calculate the system value of the filter at the boundary point, so that the signal does not need to be processed at the boundary [5]. However, through in-depth research on the implementation process of interpolation subdivision algorithms, we found that this will lead to additional computations such as floating point computing, and damage the structural characteristics of the original multi-read and single-write solution, this makes boundary processing very complicated. In addition, for two-dimensional image processing, a relatively simple boundary extension method can be used for processing boundary points without Considering irregular surfaces. After comparison, it is found that using the Boundary Extension Method to Solve the Problem is simpler, not only greatly reducing the amount of computing, but also retaining the structure of multiple read and write, and the effect is also good. Therefore, the system uses the Boundary Extension Method to replace the interpolation subdivision algorithm in the original version of the proposed scheme. The fully symmetric continuation method is used in actual implementation.
1.3 Implementation of the SPIHT algorithm
Some improvements are made to the specific implementation process to improve the execution efficiency when programming the SPIHT algorithm.
Assume that LIS is a non-significant point set linked list. The elements of each linked list are coordinate values (I, j) and type signs. LIP is a non-prominent point linked list, and the elements of each linked list are coordinate values (I, j); LSP is a prominent vertex linked list. The elements of each linked list are coordinate values (I, j ).
When the algorithm is implemented in C language, the lip and LSP structure store the Coordinate Position of the pixel in the image, based on which the corresponding pixel values can be retrieved from the image. For c6xdsp, multiple fetch commands need to be used to access the memory to obtain the pixel value. However, according to the analysis, in the coding program, pixel access is required only when the zero-tree judgment and subnode processing are performed on the elements in the lis linked list, after a pixel is put into a lip or LSP, you only need to access and modify the pixel value, and there is no need to access the pixel value through coordinates. You can directly store the pixel value in the lip and LSP structures, this improves the encoding speed.
During decoding, the pixel values must be updated based on the 0 and 1 values of the input bit stream during lip and LSP scanning. Therefore, the coordinates of the pixels must be stored, because the image can be stored in a one-dimensional linear array, you only need to store the offset of the pixel in the image in the lip and LSP.
1.4 test results
The standard image Zelda is used to test and compare the algorithm of this system with the shinio zero-tree algorithm (EZW. Level 6 is used for wavelet transform decomposition. The test results are shown in table 1.

As shown in table 1, the signal-to-noise ratio of the reconstructed image by the system algorithm is 0.db higher than that of the zero-tree method on average, and its superior performance is obvious.
2 software optimization
After the system algorithm is implemented by C language programming, algorithm debugging and code optimization are performed on the nvdk6416 Development Board of ateme, mainly using the following optimization methods.
2.1 Optimization Based on the C language environment
In order to improve the execution efficiency of the program, some specific optimization methods should be adopted when programming the algorithm. In the initialization and gradual downgrading of threshold values in SPIHT coding and decoding, the multiplication and division operations for two power integers can be replaced by the bitwise shift operation; use as few local variables as possible, use more global variables and static variables. For variables that are repeatedly accessed, such as variables in the for loop, you can set them to register variables. When calling a function, avoid passing structure parameters as much as possible, it is generally replaced by a structure pointer. If the structure is unchangeable, it can be replaced by a constant structure pointer.
2.2 CCS-Based Optimization
The CCS integrated development environment provides many off-the-shelf optimization methods that can be directly used by developers, commonly used methods include compiler, use of words to access short data, use the const keyword reasonably, use inline functions, expand loops, and compile linear assembly.
2.3 Optimization Based on the hardware features of TMS320C6416
The memory size of the memory in the disk of the TMS320C6416 is small, which is 1 Mbit in total and uses two-level cache structure. When compiling programs and storing data, when the memory is sufficient, the on-chip RAM and high-speed cache should be used to store the core code in the On-Chip cache or ram; if the on-chip memory capacity is insufficient, the data that is used less frequently is stored in the off-chip RAM for storage.
Using DMA/edma to transmit data is an important means for the system to collect data at high speed. It is widely used in real-time image collection. Edma of TMS320C6416 has multiple address generation modes. By setting various control registers, You can conveniently perform data shuffling, one-to-many and multiple-to-one data exchange, and other operations, these operations can greatly improve program efficiency.
The key code part of the algorithm adopts various optimization measures above. After repeated experiments, tests, and optimization, the algorithm execution efficiency has been significantly improved. The time results before and after optimization are compared in table 2.

As can be seen from the table, the execution efficiency of the optimized system has been improved by nearly 20 times, meeting the real-time requirements of the system.
3. Hardware Implementation
This system usesTIThe company's fixed-point chip TMS320C6416 is the core processor. This chip uses velociTI. The 2tm VLIW structure features a maximum operating frequency of 720 MHz and a computing capability of 5760 MIPS. It is currently the highest performance DSP chip, it is particularly suitable for Image Compression and other scenarios with a large amount of computation. Because the input speed and input amount of data are very large, it is very suitable to use high-speed FIFO for image data caching. FIFO can be read and written by only the data bus and control signals, which is very convenient for development. It can also be seamlessly connected with the synchronous FIFO of TMS320C6416 DSP.
Figure 2 shows the design principle of the system compression board.

The data sent from the CCD high-resolution camera is controlled by the clock signal after preprocessing and stored in the synchronization FIFO. When the FIFO is half full, the DSP is immediately notified to read data from the FIFO in an interrupted manner, at the same time, the original image data is stored at the other end of the FIFO, and the data is continuously accessed in this way. After receiving the interruption, the DSP immediately reads data from the FIFO, compresses the image, and sends the data to the dual-port RAM (DPRAM) after processing. After modulation, the DSP sends the data to the transmitter.
The receiving end first uses the receiver to receive signals, and then carries out signal demodulation, wavelet inversion, and SPIHT decoding. This can be done through a PC or a ground workstation. In this case, only the corresponding decompression software is needed.
After practical tests, the results show that the system meets the real-time requirements of the system while maintaining a good reconstructed image, and other design indicators also meet the design requirements. This system has been applied in an aerial image return system.
References
1 Liu Quan, Zhou zude. Image Compression Based on Wavelet Transform [J]. Journal of Huazhong University of Science and Technology, 2002; 30 (2): 75 ~ 77
2 J. M. shadeo. Embedded Image Coding Using Zerotree of Wavelet Cefficients [A]. IEEE Trans on Signal Proc, 1993; 41 (12): 3445 ~ 3462
3. said, W. pearlman. A New, Fast, and Efficient Image Codec Based on Set Partitioning in Hierachical Trees [A]. IEEE Trans On Circuits and Systems for Video Technology, 1993; 6 (9): 243 ~ 250
4. Yang Xiaoming. Research on Wavelet Transform and Its Application in aerial reconnaissance image return system: [Master's thesis]. Yantai: Naval Aviation Engineering College, 1999
5 W. Swedens. The lifting Scheme: A Construction of Second Generation Wavelets. Tech. Rep, 1995; 6 (2): 511 ~ 546

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.