利用英特尔凌动TME6XX处理器 开发嵌入式媒体处理应用 英特尔嵌入互联解决方案实验室 张宇 2011年7月
议程 英特尔凌动TME6XX处理器介绍 利用英特尔凌动TME6XX处理器开发视频编解码应用 利用英特尔凌动TME6XX处理器开发视频分析应用 总结
主流计算
深度嵌入计算
新平台架构 – 英特尔凌动™ E6xx 处理器 FSB FSB PCIe IOH PCIe PCIe INTEGRATION Processor Core FSB Memory Controller Graphics & Video US15W Audio LPC USB PCIe* SDIO PATA Display Controller 2008 2011 Intel® Atom™ Z5xx INTEGRATION Intel® Atom™ E6xx Processor Core IMPROVED FEATURE SET FSB PCIe PCIe OPEN STANDARDS Memory Controller IOH USB SDIO SATA PCIe GbE Graphics & Video Display Controller FLEXIBILITY Audio LPC PCIe = PCI Express* Technology
Intel® Atom™ E6xx Processor Enabling platform scalability 面向高度细分的嵌入式市场 Discrete SATA Example Uses Standard & Minimal I/O’s, e.g. IP Camera Discrete GbE Discrete USB Intel® Atom™ E6xx Processor Example Uses Existing Proprietary ASICs, e.g. Print Imaging, PLC Proprietary ASIC Display Controller Processor Core Audio Video Encode SPI/LPC FPGA Example Uses Diverse I/O Requirements e.g. Industrial Automation Graphics & Video Memory Controller PCIe 4 x1 Interconnect Fabric Other Clocks/ Timing Audio I/F PCIe x2 Power Mgmt. Storage I/Fs Video HS Serial I/Fs Power / VR Low Spd Serial I/Fs Network Interfaces Parallel I/F Accel. IOH Example Uses High Volume & Uniform I/O e.g. IVI, Media Phone, Connected Services Gateway Enabling platform scalability
IO flexibility enables BOM optimization 灵活性的优势 Intel® Atom™ Processor Z5xx Intel® Atom™ E6xx Processor LVDS HD Audio SDVO PCIe FSB LVDS Intel® SCH US15W HD Audio PCIe IOH SDVO SDIO Video In MOST I2S Bluetooth USB PATA USB SDIO PCIe CAN SATA Timberdale Video In MOST e.g. 2010 IVI platform I2S Bluetooth SPI Automotive Controller CAN e.g. 2008 In-Vehicle-Infotainment platform IO flexibility enables BOM optimization
英特尔凌动™处理器E6xx特点 CPU Core 2D/3D Graphics Memory Controller Display Hardware Video Acceleration Display SPI LPC GPIO SMBus HD Audio PCIe L2 Cache CPU Core 0.6GHz to 1.6GHz 45 nm High K Process Enhanced Intel SpeedStep® Technology Intel® HT and Intel® VT-x enabled L2 Cache 24K Data Cache, 32K Instruction Cache 512KB L2 Cache Integrated Graphics Up to 400MHz Supports OpenGL* ES2.0, OpenVG* 1.1 Runs Intel® Embedded Media Graphics Driver (EMGD) Video Engine H/W accelerated video encode & decode Encode format: MPEG4, H.264 Decode format: MPEG2, MPEG4, VC1, WMV9, H.264 Memory Support DDR2 800 MT/s 8 devices, up to 2GB 32-bit, Single Channel Memory down only Dual Display 24-bit single channel LVDS and SDVO PCI Express* Technology (PCIe) 4 ports, each x1 only Interface to IOH or any PCIe devices Intel® Hyper-Threading Technology (Intel® HT Technology) Intel® Virtualization Technology for IA-32, Intel® 64 and Intel® Architecture (Intel® VT-x)
E6XX处理器的不同型号 Commercial Temperature (0 to 70C) Industrial Temperature Core Frequency (GHz) Graphics Frequency (MHz) Video Encode Estimated Thermal Design Power (W) E680 E680T 1.6 400 Yes 3.9 E660 E660T 1.3 3.3 E640 E640T 1.0 320 E620 E620T 0.6 No 2.7 Ordering Information Category Product Code S-SPEC MM# External Name CPU CT80618007035AA 909841 Intel® Atom™ Processor E680 CT80618003201AA 905523 Intel® Atom™ Processor E660 CT80618005841AA 905528 Intel® Atom™ Processor E640 CT80618005844AA 905531 Intel® Atom™ Processor E620 CT80618007035AB 909839 Intel® Atom™ Processor E680T CT80618003201AB 905804 Intel® Atom™ Processor E660T CT80618005841AB 905805 Intel® Atom™ Processor E640T CT80618005844AB 905806 Intel® Atom™ Processor E620T IOH CS82TPCF 908138 Intel® Platform Controller Hub EG20T
to Intel® Atom™ Processor E6xx 英特尔平台控制器中枢EG20T Device Drivers available for the following OS Microsoft* Windows* XP SP3 Microsoft Windows Embedded Standard 2009 Microsoft Windows Embedded POSReady Microsoft Windows 7/Windows Embedded 7 Microsoft Windows CE6.0 R3 Linux* Meego* 1.0 Fedora* 11 QNX Neutrino* VxWorks* to Intel® Atom™ Processor E6xx USB2.0 6 host, 1 client GbE MAC 1 GMII/RGMII GPIO 12-pin SD/SDIO/MMC 2-port UART 4-port SPI 1-port PCIe 1 x1 SATA v2 I2C CAN IEEE1588
Contact IOH vendors for details and product updates ML7213 ML7223 RTL8954C Contact IOH vendors for details and product updates
议程 英特尔凌动TME6XX处理器介绍 利用英特尔凌动TME6XX处理器开发视频编解码应用 利用英特尔凌动TME6XX处理器开发视频分析应用 总结
英特尔凌动™ E6XX系列处理器 – 高清视频解码性能 Format Profile Levels Max Resolution Frame Rate Bit Rate (Mbps) H.264 Baseline Profile L1,L1.2,L1.3,L2,L2.2,L3 1 480p 30 fps Main Profile L1,L1.2,L1.3,L2,L2.2,L3,L3.1,L3.2, L4.1 1080p 720p 30 fps 60 fps High Profile L1,L1.2,L1.3,L2,L2.2,L3,L3.1 L3.2L, L4.1 30 fps 45 MPEG-4 Simple Profile L0,L1,L2,L3 480p DivX HD 3 Advanced Simple Profile L0,L1,L2,L3,L5 2 8 VC-1 LL,ML CIF LL,ML,HL Advanced Profile 40 WMV9 20 MPEG-2 Main Level Low, Main, High1440, High Level 80
Fedora* 视频解码软件栈 VAAPI* Player/Codec Framework Audio Decoder Raw Audio Soft Audio Codec(s) MP3 AAC … Container/ Source Splitter/ Demux Audio Decoder Video Processing Pipeline Raw Audio Raw Video Player/Codec Framework Elementary Audio PS TS MP4 … Elementary Video Bit-Stream H264 MPEG-4 MPEG-2 …. Soft Video Codec(s) Theora* H263 H264 MPEG System Level Components MPEG …. VAAPI* PS = Program stream TS = Transport stream Hardware Video Codec(s) H264 MPEG -4 Part-2 VC-1 …. (Intel® EMGD) Intel® Hardware Intel® Embedded Media and Graphics Driver (Intel® EMGD)
Gstreamer* http://www.gstreamer.net/ Base-plugins, Good-plugins, are part of MeeGo repositories. Bad-plugins, Ugly-plugins, FFMPEG-plugins can be downloaded from Gstreamer repositories and installed on the target system to avail functionality of different plugins What is GStreamer? GStreamer is a framework for creating streaming media applications. The fundamental design comes from the video pipeline at Oregon Graduate Institute, as well as some ideas from DirectShow. GStreamer's development framework makes it possible to write any type of streaming multimedia application. The GStreamer framework is designed to make it easy to write applications that handle audio or video or both. It isn't restricted to audio and video, and can process any kind of data flow. The pipeline design is made to have little overhead above what the applied filters induce. This makes GStreamer a good framework for designing even high-end audio applications which put high demands on latency. One of the most obvious uses of GStreamer is using it to build a media player. GStreamer already includes components for building a media player that can support a very wide variety of formats, including MP3, Ogg/Vorbis, MPEG-1/2, AVI, Quicktime, mod, and more. GStreamer, however, is much more than just another media player. Its main advantages are that the pluggable components can be mixed and matched into arbitrary pipelines so that it's possible to write a full-fledged video or audio editing application. The framework is based on plugins that will provide the various codec and other functionality. The plugins can be linked and arranged in a pipeline. This pipeline defines the flow of the data. Pipelines can also be edited with a GUI editor and saved as XML so that pipeline libraries can be made with a minimum of effort. The GStreamer core function is to provide a framework for plugins, data flow and media type handling/negotiation. It also provides an API to write applications using the various plugins. Specifically, GStreamer provides an API for multimedia applications a plugin architecture a pipeline architecture a mechanism for media type handling/negotiation over 150 plug-ins a set of tools GStreamer plug-ins could be classified into protocols handling sources: for audio and video (involves protocol plugins) formats: parsers, formatters, muxers, demuxers, metadata, subtitles codecs: coders and decoders filters: converters, mixers, effects, ... sinks: for audio and video (involves protocol plugins)
音视频插件 Gstreamer* 音频插件示例 Gstreamer 视频插件示例 FAAD/FAAD2. AAC 播放(GStreamer-bad plug-ins) MAD. MP3 播放(GStreamer-ugly plug-ins) FFMPEG-Plug-ins ALSA. Audio output sink (GStreamer-base plug-ins) Gstreamer 视频插件示例 Theora*, H263. Soft Video Codec (GStreamer–base plug-ins) MixVideoDecoder. VC-1, H264, WMV, MPEG-4, MPEG-2 Hardware accelerated codec (3rd party plug-in) Ximagesink, XVimagesink. Video Output sink (GStreamer-base plug-ins) MixVideoSink. Video Output sink (3rd party plug-in; Works with MixVideoDecoder) MI-X comes bundled with Intel EMGD in common/video_plugin folder. Intel provides binaries for evaluation purposes. For production use, video codec(s) have to be licensed from MPEG-LA and Microsoft
视频加速API (VAAPI) VAAPI - http://www.freedesktop.org/wiki/Software/vaapi 将应用和编解码器处理的不同类型的数据交给图形处理硬件单元进行解码 1) In our Example, VA HW Driver is Intel EMGD…. 2) LibVA comes bundled with MeeGo
英特尔嵌入式媒体图形驱动(Intel® EMGD) 英特尔嵌入式媒体图形驱动(Intel® EMGD) http://edc.intel.com/Software/Downloads/EMGD/ 连接英特尔凌动™ E6XX系列处理器的显示/解码硬件与VAAPI EMGD architecture slides repeated from IDF 2010 SFO…
议程 英特尔凌动TME6XX处理器介绍 利用英特尔凌动TME6XX处理器开发视频编解码应用 利用英特尔凌动TME6XX处理器开发视频分析应用 总结
基于边缘计算的智能视频监控系统框图 INTERNET 传输媒介: GPRS 3G, WiMax 卫星 边缘服务器 功能: 集中后台处理 远程客户 中央管理系统 (CMS) 和 存储服务器 远程接入 实时告警 事件处理 传输媒介: GPRS 3G, WiMax 卫星 边缘服务器 功能: 智能处理,视频分析,异常事件检测,视频编码,坐标和时间戳标记 摄像机 INTERNET Position DSS as an augment technology Disaster prevention system Data acquisition partner = edge server workload 20
基于凌动™ 处理器的视频分析仪 VA and Mark on raw Video A/D D/A IP Network IP Encoder Fiber Camera Video Analyzer Control Center
议程 英特尔凌动TME6XX处理器介绍 利用英特尔凌动TME6XX处理器开发视频编解码应用 利用英特尔凌动TME6XX处理器开发视频分析应用 总结
英特尔新出版的书籍 http://www.intel.com/intelpress/sum_ms2a.htm "This is an essential guide to working with the Intel® Atom™ processors that should be read by anyone who wants to understand how to use the platform effectively. The book covers key concepts including power management, parallel applications, and machine virtualization, while providing a clear explanation of the system architecture and how to use it to its fullest advantage." - Paul Krzyzanowski, CTO, OpenPeak Inc. http://www.intel.com/intelpress/sum_ms2a.htm
总结 嵌入式市场是高度细分的市场。为满足不同应用的需求,处理器设计要在集成性和灵活性间进行平衡。 英特尔凌动™ 处理器E6xx 系列是第一款专为嵌入式应用设计的凌动™ 处理器。 除了高度集成化外,首次将PCI Express技术应用到处理器与IOH间的接口。 可以从多种IOH中选出最适合你的IOH,或设计自己的IOH。 英特尔凌动™ 处理器E6xx 系列的高度集成性和灵活性使得设计智能的嵌入式互联设备更简单,更便捷。
Thanks