Upload
ricardoagnew
View
221
Download
0
Embed Size (px)
Citation preview
8/4/2019 Sistema de Compresin Embebida De Audio & Video
1/4
Design of Embedded Audio and Video Compression System
Yongqiang Zhang Bing ZhangEngineering College of Information and
Electrical
Engineering College of Information and
Electrical Hebei University of Engineering Hebei University of Engineering
HanDan, Hebei Province , China HanDan, Hebei Province , China [email protected] [email protected]
Abstract
In this paper, an ARM+GO7007SB structure is put
forward as the solution of embedded audio and video
compression system. This design proposal ischaracterized by high processing speed, low cost, goodimage quality and real-time implementation.
Combining with the forthcoming 3G technology, the
design could be applied to mobile video services, such
as mobile remote video surveillance system, with
bright market prospect.
1. Introduction
The technology of audio and video compression has
received great attention and been widely applied to
many areas such as video surveillance and digital
camera with the rapid development of computer,multimedia and data communication. Recently, rapid
development of 3G (3rd Generation) has diversified theaudio and video technologys colorful applications,
which require lower cost and shorter period with
researching and developing audio and video
compression system.
There are generally two solutions to realize audio
and video compression system: ARM (Advanced RISCMachines) +general-purposed DSP (Digital Signal
Processing) and ARM+video processing chip [6].
Because of high cost and great difficulties of the DSP
solution, we choose to implement the second solution,
which meets the requirements of low cost and short
researching and developing cycle.
2. Design of the system structure
In this design proposal, most of the main chips are
connected through I2C bus. So that, it is convenient for
the communications among the main chips, for
example, ARM processor can directly control the video
input processor SAA7113H. Meanwhile, it makes thesystem be easily upgraded, for instance, expanding
memory and updating chip.
SAA7113H converts the captured composite video
signal to ITU656 format and transmits it toGO7007SB. MSM7716 converts the audio signal
captured from microphone to PCM (Pulse Code
Modulation) format and transmits it to GO7007SB.
Then GO7007SB compresses the audio and videosignals and transmits them to ARM microprocessor
S3C2410 through the HPI (Host Parallel Interface)
interface. The block diagram of system is shown in
figure 1.
Figure 1. Block diagram of system
3. Modular design of audio and video
compression
GO7007SB is a monolithic multi-format video
compression chip, which uses multiple algorithms tobuffer and compress raw video data into video streams.
The output video stream can be MPEG-1, MPEG-2,
MPEG-4, or H.263 format.The video streams are
output through either a Host Parallel Interface (HPI) or
a Universal Serial Bus (USB) interface. The
GO7007SB is capable of delivering streaming video up
to full-D1 resolution at a full-motion frame rate.Its
Workshop on Intelligent Information Technology Application
0-7695-3063-X/07 $25.00 2007 IEEE
DOI 10.1109/IITA.2007.93
116
8/4/2019 Sistema de Compresin Embebida De Audio & Video
2/4
maximum videoinput size are: 720 x 480 @ 30 frames
per second (fps) or 720 x 240 @ 60 fps (interlaced) of
NTSC, 720 x 576 @ 25 fps or 720 x 288 @ 50 fps
(interlaced) of PAL. It is ideal for a wide range ofencoding applications, from DVRs/PVRs to PC/Web
cameras [3].
The clock scheme is configured for internal PLLmode with the MPLL_BP and UPLL_BP pins both set
to low. And the main clock is generated through an on-
chip oscillator and a PLL. The MCLK frequency is
96MHz. In this case, an external R-C-Crystal tank is
required between the MXI and the MXO, just as shownin figure 2.
Figure 2. External R-C-Crystal tank
MT48LC2M32B2, which is 64Mb SDRAM
(512K324 backs), is used as an external data buffer.When compressed videl data is available, the
Go7007SB uses half of the capacity of
MT48LC2M32B2 to buffer output video data. To
improve SDRAM timing, the GO7007SB provides
clock signals for the SDRAM chip in addition to
SDRAM signals [4]. This clock is designated as
SDRAM_CLK, which drives the SDRAM device and
provides feedback to the SDRAM_CLK_LB pin.During a read cycle, the feedback clock latches the
SDRAM data, then, which can meet the 96 MHz set-up
time without a complicated PCB layout design. TheSDRAM Clock Scheme is shown in figure 3.
Figure 3. SDRAM clock scheme2Kbit EEPROM is used to store boot-up settings for
the device, which is accessed through the I2C
controller. So customers can store customized
descriptor IDs, interface and/or endpoint settings on-chip. It also makes customized internal register
settings, boot code or even self-loading firmware
possible.
The audio interface works in master mode, a simpleclock generator is used to generate a sampling rate with
reference master clock 24.576 MHz through MXAUD
pin, by which the bit clock and sync signal could be
generated.
The video streams are designed to output through
either HPI which is an Intel-style 8 or 16-bit interface
with interrupt support or USB interface. The major
difference between the HPI and USB interfaces is thatthe HPI interface provides debug capability and the
USB interface does not. Because the USB and the HPI
interfaces use the same data path, only one interfacecan be enabled at a time. The HPI interface is shown in
figure 4.
Figure 4. HPI Interface
As shown in Fig.4, the signals on the left of the
illustration above represent connections to theS3C2410. And the on the wright is attached to the
internal control bus. It has control bus and data bus
connections, in addition to an interrupt request line.
Initialization, control data, and compressed streams
pass through the HPI interface. If an unrecoverable
error occurs, the XRISC (X Reduced Instruction Set
Computer) or microprocessor is able to freeze all
Front-End blocks and initiate debug mode. Theexternal host is then able to probe inside the
GO7007SB using the HPI debugging functionality.The HPI of Inter-style 16-bit interface which is set
by the boot-up EEPROM is designed to communicate
with the microprocessor. In this mode, AD [15:0] is
Address/Data bus, onto which the address and data are
multiplexed. ALE (Address Latch Enable), which is
connected to a GPIO pin of S3C2410, indicates anaddress transfer. The HPI latches a valid address at the
falling edge of the ALE signal that the GPIO pin gives.
A positive edge of WR# or RD# activates a write or
read operation, respectively.
The HPI interface is configured for Asynchronous
mode by suspending the HCLK and SYNC_HPI pins,
which is the default access mode.
4. Modular design of audio capture
The audio capture modular of this system can be
implemented by the audio capture chip MSM7716,
which is made by OKI Company.MSM7716 works inslave mode while GO7007SB works in master mode.
Data Bus(32-Bit)
Interrupt to
XRISC
ALE
WR#
RD#
INT
HCLK
SYNC_HPI
Control Bus
(16-Bit)
AD15AD0
HPI
117
8/4/2019 Sistema de Compresin Embebida De Audio & Video
3/4
The audio data is input through MAIN pin, and its
internal, as well as external circuit is shown in figure 5.
Internally, MAIN is connected to the noninverting
input of the op-amp, while MAO is connected to theoutput of the op-amp.
Figure 5. Internal and external circuit of audio inputinterface
5. Modular design of video capture
The video capture modular of this system can be
implemented by the video capture chip SAA7113H,which is made by Philips Company. This chip, whichis programmable, mainly samples the analogy signals
and converts the analogy color video signals to digitalvideo signals conforming to ITU656 standard output
format. The video signals input from the front-end can
be PAL (Phase Alternate Line), NTSC (National
Television Standards Committee) or SECAM
(Sequential Couleur Avec Memoire). This chip notonly can implement fully programmable static gain or
automatic gain control for the input signals, but also
has a programmable control adjusting brightness,
contrast, and saturation (BCS) as well as the parameter
of captured digital image. On-chip clock generatorautomatically generates working frequency required by
the internal circuit given that an external 24.576MHz
crystal oscillator is provided. [1]. SAA7113H transmitsthe digital image data of ITU 656 YUV 4:2:2 format to
GO7007SB, under the control of I2C bus timing of
GO7007SB. When the I2C bus between GO7007SB
and SAA7113H is free, ARM microprocessor can set
the internal registers of SAA7113H via I2C bus. The
PDATA bus of GO7007SB is 10-bit parallel input
interface whose clock is provided by pixel clock
(PCLK). If the video source from SAA7113H is 8-bit,they should be connected to the 8 MSBs of the 10-bit
PDATA bus. In this case, the 2 LSBs can be connected
to either high or low level. The end of analogy videoinput is designed to provide composite video interface.
The data output from the SAA70013H is set to bestandard ITU 656 4:2: YUV format. And the data of
every pixel is signed by two continuous bytes.
6. Design of communication between ARM
and GO7007SB
S3C2410 communicates with GO7007SB through
HPI, which links the GO7007SB interface with the bus
control BUSC of ARM. S3C410 opens a window of
32K words in memory mapped of GO7007SB by HPI programming, and then accesses the memory of
GO7007SB. Both of them can access SDRAM so as to
share a mass of image data blocks effectively with eachother. S3C2410 and GO7007SB share the same data
structure, which is applied to ask for and ensure
commands, as well as data communication.
7. Design of software
The hierarchy and modules of the software of the
whole system is shown in figure. 6.
Figure 6. Hierarchy and modules of the softwareThe bottom of the software is the HPI Bus Interface
Driver. There are three Linux device styles: character
device, block device and network device. In this
system, the HPI interface is grouped in the characterdevice. So when the HPI interface is being initialized,
the driver begins to regist it on linux and adds a datastruct of device_struct to the vector table of character
device. The main device describer of HPI interface is
used as the index of the vector table. The development
of the interface functions of struct file_operations is themain work in HPI interface driver, because these
functions are the entrance functions that the applicationoperates the hardware device by the kernel of linux.
The OSL (Operating System Layer) indicates the
real-time operating systems VxWorks or embedded
Linux, Windows CE, etc, while the SAL (System
Abstraction Layer) means some setting and function
designed according to given ARM.The Decoder Driver is the initialization of video
decoder SAA7113H and audio decoder MSM7716.The API (Application Programming Interface) is the
interface function by which user can operate the
GO7007SB.The GO7007SB Encoder Driver includes video
encoder scheduler, bitrate control of encoder, start and
stop of encoder, etc.
The Multimedia Application Software is the process
of compressed video and audio data, such astransmitting, decoding or display.
118
8/4/2019 Sistema de Compresin Embebida De Audio & Video
4/4
8. Conclusions
GO7007SB is used to realize the audio and video
compression superiorly in real-time implementation,low cost, good image quality and high processing
speed. This system can be applied to video
surveillance, digital camera and most of theforthcoming 3G mobile video services in China and
will have a broad market.
9. References
[1] SAA7113HH 9-bit Video Input Processor Datasheet.Philips Semiconductors, 1999.
[2] MSM7716 Single Rail Linear CODEC Datasheet. OKISemiconductor, 2004.
[3] GO7007SB MPEG Encoder Datasheet. WISTechnologies, 2003
[4] GO7007SB User Manual. WIS Technologies, 2003
[5] S3C2410X 32-Bit RISC Microprocessor User's Manual,Revision 1.2, 2003
[6] Sun Xiaoling, and Yi Chunbo, Design of EmbeddedWEB Camera Based on the GO7007SB, Journal of Sichuan
University (Natural Science Edition), Editorial Office of
Journal of Sichuan University, Chengdu, 2004.10, pp. 144-147.
[7] Kong Xianggang, and Chu Jing, Hardware Design ofImage Processing Platform Based on PCI Bus and DSPChip, Application of Electronic Technique, Editorial Officeof Application of Electronic Technique, Beijing, 2003, pp.70-73.
[8] Bai Xueli, Guo Gencheng, and Liu Xudong, MPEG-4Audio and Video Compression System Based on
GO7007SB, Control & Automation, Editorial Office ofControl & Automation, Beijing, 2006, pp. 255-257.
119