200 likes | 518 Views
WPSS System Architecture. Edusafe Technical Meeting Tuscania 6 June 2013. Panayiotis Mousouliotis, ECE Diploma-master. Overview. System Overview Hardware Architecture Software Architecture Software System Evaluation. Wireless Personal Surveillance System (WPSS) Overview.
E N D
WPSS System Architecture Edusafe Technical Meeting Tuscania 6 June 2013 Panayiotis Mousouliotis, ECE Diploma-master
Overview • System Overview • Hardware Architecture • Software Architecture • Software System Evaluation
Wireless Personal Surveillance System (WPSS) Overview • 3 main components • PTU • Cable • Helmet attachment • Streams data over the CERN network • Video • Audio • Sensor data • Receives audio data over the CERN network
Hardware Architecture PTU Components: • GumstixOveroFireSTORMCOM • Main Processor (Texas Instruments OMAP3730) • DSP Processor (C64x Fixed Point DSP 660 MHz) • Audio and Power Management chip (TPS65950) • WiFi and Bluetooth chip (Marvell 88W8686) • 512MB low power RAM • 512MB NAND flash • Battery
Hardware Architecture Helmet Attachment Components: • Camera (Logitech C920 USB camera) • Omnidirectional microphone (on the camera PCB) • Microcontroller (ATmega168 for LED control) • Push-button (industrial SPST for LED control) • LED Driver (powered by the PTU) • LEDS (3x Luxeon Rebel LEDS) • Headphone jack (3.5mm TRS connector from PTU output) • Microphone jack (3.5mm TRS connector to the PTU input)
Hardware Architecture Connecting cable: • For PTU and Helmet Attachment connection • Flexible • Military type connector • 6 wires:
Software Architecture Operating System of the COM module: • Ångström Linux distribution • Custom patched 2.6.34 kernel to enable: • Power management function (TPS65950 chip) • OTG USB port power override • Camera sensor driver for ARM ISP (Image Signal Processor) utilization • UBI filesystem on COM’s NAND flash memory • extending the memory’s life
Software Architecture System boot procedure: • Bring up the wireless device and connect to some predefined SSID (e.g. ”CERN”) • Connect as a client to a VPN network that is served by the main video processing server • Bring up audio, video and watchdog services
Software Architecture Audio Service (PTU) • Communication with the supervisor station • Linphone VoIP software • PCMU encoding at 8kHz • Optimized for the GumstixOvero sound device (TPS65950) • Bash script for push button -> GPIO pin interpretation:
Software Architecture Audio services (Server) • Asterisk server • Telephone book register between the mobile clients. Possible connection with CERN telephone network. Audio services (Supervision post) • Linphone or other VoIP solution
Software Architecture Video Services Overview: • Streaming service • Executed on the PTU. Custom code based on the gstreamer framework, optimized for the ARM/DSP architecture • Receiving service • Executed on the Server. Custom code based on the gstreamer framework, possibility for optimization on GPU hardware • Transcoding service • Executed on the Server. Based on the VideoLan Client application
System Architecture Video Service (PTU) – Streaming service – gstreamer video pipeline: • Video4Linux2 source element • Takes images from the Logitech camera • Color Conversion element • Converts YUYV as output from the camera to UYVY for processing on the DSP. • H264 encoding element • Encodes H264 video on the DSP • Packetization and transmission element • Packetizes the video stream and transmits over the network (acknowledged transmission imposed by the ATLAS environment).
Software ArchitectureVideo Service (PTU) – Streaming service:
System Architecture Video Service (Server) – Receiver service: • Reception and depacketization element • H264 decoding element • Image processing/overlaying element • Processes each image frame or overlays information on them • Input selector element • It’s purpose is to switch between it’s two inputs on request (when the network stream is interrupted in order to keep the pipeline alive) • Video4Linux2 sink element • Sinks the video stream into a virtual Video4Linux2 loopback device. The decoded and processed stream can be subsequently accessed by Video4Linux2 applications as a /dev/video? device
System Architecture Video Service (Server) – Transcoding service: • VideoLan Client application • Input from video loopback device • Transcoding into • MJPEG served via HTTP (suitable for supervisor post) • H264 in MPEG4 TS (suitable for storage) • served as a file through HTTP • as an HTML5 video stream, after being split into 10 second chunks
Software Architecture Watchdog Services (PTU): • Wireless network connection • Periodic checks are needed to detect loss of signal or perform roaming between access points • System health • Detection and relaunching of hanged services • Connection with DAQ server or supervision post • Detection of proper operation of data streams (audio/video/sensors)
Software System Evaluation • Acceptable performance • Some gstreamer elements are bottlenecks: • On the PTU, color conversion and compression do not take full advantage of the hardware (ISP/DSP) • On the server side, some image processing elements do not take full advantage of the multiple cores and the decoding element does not use the GPU