13. Research of Image Acquisition and Decompressing

Download 13. Research of Image Acquisition and Decompressing

Post on 16-Oct-2014




15 download


<p>2010 2nd Confere nce on Environmental Science and Information Application Technology</p> <p>Research of Image Acquisition and Decompressing Based on ARM9 SystemLiWen Cheng Gengguo</p> <p>School of Information Science and Technology Wuhan University of Science and Technology Wuhan, Hubei, China</p> <p>School of Information Science and Technology Wuhan University of Science and Technology Wuhan, Hubei, China</p> <p>School of Electronic Information Wuhan University Wuhan, Hubei, China</p> <p>XuanZheng</p> <p>Abstract-Based on ARM9 platform and the Linux operating system, this article studied on the methods of the video image capture and decoding. Take USB-camera image acquisition and image decoding for example, FrameBuffer and Vide04Linux, two system interfaces for video image processing under the Linux operating system LCD finally. Kwords-ARM, Linux operating system, Image Acpuisition, image decoding are introduced, and the collected images transferred from JPEG format to RGB format is displayed on the</p> <p>low-power, simple, elegant and fully static design is particularly suitable for cost and power-sensitive applications. III.IMAGE DATA ACPUlSITION AND DISPLAY</p> <p>In this paper, we used zc301 USB camera of Vimicro and the output device was LCD.</p> <p>A.</p> <p>I.</p> <p>INTRODUCTION</p> <p>Currently on the market most of the image acquisition system are based on DSP. This image acquisition system's high cost, great power consumption, and volume restriction is not suitable for some simple applications. With the development of image processing technology, image acquisition system which based on ARM is more and more popular. This paper designs a image sensor data acquisition system based on S3C2440 chip and the Linux operating system, which makes the system cost, size and real-time to meet market needs. II.SYSTEM ARCHITECTURE</p> <p>Define Linux kernel supports for OHCI (Open Host Control Interface)perfect, and there are a variety of USB device drivers, including the support of OV511 series camera, but not for the zc301 USB camera. This paper selected open-source driver gspcavl-20071224, which provides most of the mainstream camera support. The system kernel version is Linux2.6.22.6. To make the camera drivers compiled into the kernel, the il kernel code need to modi . The main adding codes of Makefile of gspcav1-20071224 are as the follows:</p> <p>USB Camera Driver</p> <p>tyl</p> <p>gspca-objs :</p> <p>=</p> <p>gspca_core.o decoder/gspcadecoder.o=</p> <p>obj-$(CONFIG_USB_SPCA5XX) +</p> <p>gspca.o</p> <p>In this system, image informations were received through the zc301 USB camera of Vimicro, then transferred to S3C24440 chip to process, and sent to the LCD to display finally. The system's hardware architecture is as shown in Figurel.</p> <p>In the configuration menu, the Device Drivers option was the most important configuration items. Select configure is as follows. Device Drivers---&gt; Multimedia devices ---&gt; Video For Linux USB support ---&gt; Support for Host-side USB USB Host Controller Drives</p> <p>Figure 1.</p> <p>Hardware architecture</p> <p>OHCI HCD support USB Multimedia devices USB SPCA5XX SunpluslVimicro/Sonix jpeg Cameras</p> <p>SAMSUNG's S3C2440 processor is the core of the system in this research. The S3C2440 is developed with ARM920T core, O.13um CMOS standard cells and a memory complier. Its</p> <p>978-1-4244-7388-5/10/$26.00 201O IEEE</p> <p>ESIAT 2010</p> <p>622</p> <p>At this point, the kernel was configured the video equipment interfaces Vide04Linux, and joined driver to support zc301 USB camera[21.B.</p> <p>struct video_window window; struct video""picture picture; struct video_mmap mmap; struct video_mbuf mbuf; unsigned char *map; int frame_current; int frame_using[VIDEO_MAXFRAME]; } ;</p> <p>L CD drivel3] FrameBuffer is the device for user process to write directly to screen in Embedded Linux. In Linux FrameBuffer is an interface for the display device. It describes some display device as a buffer and allows applications to access the graphics device through its defined interface without care about the specific hardware details.</p> <p>In Linux FrameBuffer equipment can be seen as a complete subsystern, generally consisted of fbmern.c file and xxxfb.c file. On the one hand it provides application with some API(Application Programming Interface)which performed by fbmem.c file, such as read, write, ioctl. On the other hand it provides the hardware operation with some interfaces which should be setten to meet LCD controller hardware needs. In the S3C2440, LCD controller is integrated into the chip as a independent unit relatively, so it's a platform device for Linux. In the kernel , /arch/arm/plat-s3c24xxJdevs.c, the file defined a platform for LCD-related equipment and resources. In /arch/arm/mach-s3c2410/include/mach/fb.h, the file defined s3c2410fb_mach_info structure to record parameters information of LCD, such as LCD screen size, Variable parameters of the screen, etc. In this paper, the model of LCD is the NEC256K color, 24Ox320/3.5 inch, TFf true color LCD screen. In the configuration menu, select configure is as follows. Device Drivers---&gt; Graphics support---&gt; Support for frame buffer devices S3C2410 LCD framebuffer support Framebuffer Console supportC. Vide04Linux programming4]</p> <p>image processing</p> <p>y</p> <p>Figure 2. Video Capture flowchart</p> <p>Camera belongs to video equipment, followed the Vide04Linux standard(V4L). V4L is intended to provide a common programming interface for the many TV and capture cards now on the market, as well as parallel port and USB video cammeras. It is programming interface that linux kernel provides for the user space. V4L is divided into two layers. The bottom is the audio and video equipment driver in the kernel, and the upper provides systern with some API. Video capture process flow chart shown in Figure 2.</p> <p>2) Program design of image acquisition a) Open the video equipmen Video equipment is used as device file in the Linux. The device name of USB camera in Linux is /dev/vidooO. The main program code is as follows:if{(vd-&gt;fd=open(dev,O_RDWR </p>


View more >