Design and Implementation of a Scalable System Architecture for Embedded Multimedia Terminal Electrical and Control Engineering (ICECE), 2011 International Conference on 16-18 Sept. 2011 618- 621 Advisor : Lian-Jou Tsai Student : Bing-Fen Huang PPT Production : 100% Data : 2012/5/16 Outline Abstract Introduction Hardware platform build Scalable software system architecture Test of embedded multimedia system Conclusion References Abstract System architecture designed with distinct structures and reasonable modules. A simplified multimedia framework is designed for embedded application : A scheduler A multimedia processing engine On Real6410 platform, an embedded multimedia system is built. Introduction(1/2) Currently GStreamer and Android OpenCORE are two open source multimedia architectures which are widely applied with LINUX kernel in embedded application. GStreamer adopts “core + element” design. Android multimedia framework is stable and powerful but only for Android operating system and hard to be ported to other system. Introduction(2/2) We design a scheduler and a media processing engine to build up the multimedia framework: Provides scheduling functions A simplified media processing engine based on FFMPEG The design focuses on functionality expanding easily and following the principle of "strong cohesion, loose coupling” to design modules: Unified interface Sub-functions. Hardware platform build(1/2) Processor Selection DSP processor cooperates with ucLinux Dual-core design ARM processor integrated with multimedia coprocessor S3C6410 Speciality ARM1176JZF-S core Multiple multimedia co-processors Scalable software system architecture(1/6) Distinct Overall Hierarchy System layer Engine layer Display layer Reasonable division for software functional modules: Mode scheduling module File input module Video output module Audio output module Multimedia processing engine module Scalable software system architecture(3/6) A simplified multimedia framework Scalable software system architecture(4/6) Scheduling_Server Module A. Mode Scheduling Strategy The following modes have already been defined : MODE_PLAYER MODE_MONIT Mode Control Block (MCB) B. Mode Register Algorithm First, in accordance with mode ID, Scheduler reads mode configuration from a XML file called Scheduler_Config. Then enable mode registration function to read configuration of modules which belong to this mode Call module registration function to finish module loading and write module information into MCB Finally, insert MCB into the mode list to start mode operation. Scalable software system architecture(6/6) Multimedia Processing Engine Module A. Compatibility Design for Engine Interfaces FFMPEG This module can be divided into six smaller modules: File_Input, Demux_Parser Synchronization, Playback Control Event_Loop Audio Output Interface Video Output Interface Test of embedded multimedia system(1/3) Porting Real6410 LINUX 2.6.28 kernel Libc.so version > 2.7 ARMV6 toolschain Audio and Video Synchronization Decoding Time Stamp(DTS) Present Time Stamp(PTS) Test of embedded multimedia system(2/3) Audio and video synchronization Test of embedded multimedia system(3/3) Analysis of the result It is functionality expands easily by modules scheduling and combination. The media processing engine nicely cooperates with various codec libraries and hardware accelerator program to support video and audio stream processing smoothly. Conclusion Embedded multimedia system architecture with enhanced scalability is designed and implemented, following the principle of "strong cohesion, low coupling”. The experiment on Real6410 board proves that the simplified multimedia framework design is efficient and fits for embedded application. References [1] gstreamer.freedesktop.org [2] Luo Rui , “Research and Implementation of Multimedia Player based on embedded Blackfin platform : [Master thesis] ,” Chengdu: University of Electronic Science and Technology, 2009. [3] Samsung Electronics Co. Ltd, “S3C6410X USER'S MANUAL,” February 2008, pp.50-58. [4] Guangzhou Huatianzheng Technology, “Real6410 Hardware Manual v1.2,” June 2010, pp.3-6. [5] Haibin Zhang,Hui Li,Dan Wu,Husheng Yuan,Tao Sun,Peng Yi, Hongchao Hu, Bingqiang Wang,“The design and implementation of an embedded high definition player,” Computer and Automation Engineering (ICCAE), 2010 The 2nd International Conference, 26-28 Feb 2010,vol.4,pp.301 – 304. [6] Michele Sliger,Stacia Broderick, “The Software Project Manager's Bridge to Agility,” Addison Wesley,2008. [7] www.ffmpeg.org Thank for your attention !