Using Mobile Processors for Cost Effective Live Video Streaming to the Internet



Similar documents
High Efficiency Video Coding (HEVC) or H.265 is a next generation video coding standard developed by ITU-T (VCEG) and ISO/IEC (MPEG).

The MeeGo Multimedia Stack. Dr. Stefan Kost Nokia - The MeeGo Multimedia Stack - CELF Embedded Linux Conference Europe

Easy H.264 video streaming with Freescale's i.mx27 and Linux

4Kp60 H.265/HEVC Glass-to-Glass Real-Time Encoder Reference Design

OMX, Android, GStreamer How do I decide what to use? 15 July 2011

Multimedia Framework Overview. JongHyuk Choi

Power Benefits Using Intel Quick Sync Video H.264 Codec With Sorenson Squeeze

State of the GStreamer Project. Jan Schmidt. Centricular Ltd

SABRE Lite Development Kit

ARM Processors for Computer-On-Modules. Christian Eder Marketing Manager congatec AG

Standardization with ARM on COM Qseven. Zeljko Loncaric, Marketing engineer congatec

SBC8100 Single Board Computer

Camera Sensor Driver Development And Integration

A Scalable VISC Processor Platform for Modern Client and Cloud Workloads

Android Virtualization from Sierraware. Simply Secure

NVIDIA GeForce GTX 580 GPU Datasheet

Vmware Horizon View with Rich Media, Unified Communications and 3D Graphics

DRM Driver Development For Embedded Systems

Multimedia Systems Hardware & Software THETOPPERSWAY.COM

Android on i.mx Applications Processors

B.E. (Electronics and Communication Engineering) from Govt. College of Engineering, Tirunelveli, Tamilnadu.

HIGH-PERFORMANCE GPU VIDEO ENCODING ABHIJIT PATAIT SR. MANAGER, NVIDIA

Whitepaper. NVIDIA Miracast Wireless Display Architecture

IP Video Rendering Basics

Stream Processing on GPUs Using Distributed Multimedia Middleware

Lean and Easy Ways to Adopt MOST Technology

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

Introduction to Android

VA (Video Acceleration) API. Jonathan Bian 2009 Linux Plumbers Conference

1. Survey on the Embedded Windows Сompact 7 for System-

Using Smartphones and Tablets in Embedded Applications

Qt on Raspberry Pi. Jeff Tranter Integrated Computer Solutions (ICS) Qt Developer Days

Video Encoding on Intel Atom Processor E38XX Series using Intel EMGD and GStreamer

Industry First X86-based Single Board Computer JaguarBoard Released

GStreamer on Texas Instruments OMAP35x Processors

How To Develop A Tablet Processor

Christie Brio Frequently Asked Questions

Intel Media Server Studio - Metrics Monitor (v1.1.0) Reference Manual

Logitech ConferenceCam CC3000e. Best Practices for use with Software Clients. UC for Real People

Using GStreamer for hardware accelerated video decoding on Intel Atom Processor E6xx series

Getting Started with RemoteFX in Windows Embedded Compact 7

What is a System on a Chip?

We are presenting a wavelet based video conferencing system. Openphone. Dirac Wavelet based video codec

Introduction to GP-GPUs. Advanced Computer Architectures, Cristina Silvano, Politecnico di Milano 1

The Future of the ARM Processor in Military Operations

Example Setups. Wirecast 5

22 (21.5 viewable) Smart Display, Full HD, Rockchip Quad-Core, Optical touch, Android KitKat. VSD224

Datasheet EdgeVision

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011

Video Conference System

magicbox.agrg.ru synesis.ru ENC-1 Single channel video analytics encoder module datasheet

Design of Remote Security System Using Embedded Linux Based Video Streaming

TI expressdsp Digital Media Software Frequently Asked Questions: General Questions

An Android Multimedia Framework based on Gstreamer

7a. System-on-chip design and prototyping platforms

Wirecast Example Setups. Wirecast 6 Example Setups

HIGH PERFORMANCE VIDEO ENCODING WITH NVIDIA GPUS

Connect up to a total of 8 cameras from GV IP cameras (excluding GV Fisheye cameras) and third party IP cameras (of 640x 480

Data Sheet Graphic Cards for Fujitsu ESPRIMO PCs

ipad, a revolutionary device - Apple

Video Conferencing Unit. by Murat Tasan

DivX Plus Converter for Windows User Guide

Vess. Architectural & Engineering Specifications For Video Surveillance. A2200 Series. Version: 1.2 Feb, 2013

SAPPHIRE TOXIC R9 270X 2GB GDDR5 WITH BOOST

CSE 237A Final Project Final Report

Design and Development of Embedded Multimedia Terminal

This firmware is a feature release for the multi-stream, dual-monitor HD Decoder

Video Monitoring and Log System

SierraVMI Sizing Guide

Understanding Digital Components

Issues in Android on Mobile Platform and Their Resolution

Streaming Networks with VLC. Jean-Paul Saman

Computing Global Tablet and Application Processor Development Trends, 2012 and Beyond

A general-purpose virtualization service for HPC on cloud computing: an application to GPUs

Application of Android OS as Real-time Control Platform**

Data Sheet. Desktop ESPRIMO. General

GPU Compute accelerated HEVC decoder on ARM Mali TM -T600 GPUs

Video Door Phone Surveillance System Using Powerline Communication Channel

ALL-AIO-2321P ZERO CLIENT

Mobile Phones Operating Systems

AMD Radeon HD 8000M Series GPU Specifications AMD Radeon HD 8870M Series GPU Feature Summary

QuickSpecs. NVIDIA Quadro K1200 4GB Graphics INTRODUCTION PERFORMANCE AND FEATURES. Overview

How To Use An Amd Ramfire R7 With A 4Gb Memory Card With A 2Gb Memory Chip With A 3D Graphics Card With An 8Gb Card With 2Gb Graphics Card (With 2D) And A 2D Video Card With

COMPUTING. SharpStreamer Platform. 1U Video Transcode Acceleration Appliance

Architekturen und Einsatz von FPGAs mit integrierten Prozessor Kernen. Hans-Joachim Gelke Institute of Embedded Systems Professur für Mikroelektronik

Computer Graphics Hardware An Overview

5100 SERIES 32-CHANNEL SWITCHBOX NVR

MINISTRY OF HEALTH CUSTOMER PROPOSAL

EV-8000S. Features & Technical Specifications. EV-8000S Major Features & Specifications 1

GPU File System Encryption Kartik Kulkarni and Eugene Linkov

Archives About ARCHOS TV+

NVIDIA Jetson TK1 Development Kit

BDTI Solution Certification TM : Benchmarking H.264 Video Decoder Hardware/Software Solutions

QuickSpecs HP Remote Graphics Software 7.2

TEGRA LINUX DRIVER PACKAGE R21.1

Android Architecture For Beginners

Processor Architectures

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Cisco Explorer 4742HDC High-Definition Set-Top with Multi-Stream CableCARD Interface

Samsung EBD Series SMART Signage

Transcription:

Using Mobile Processors for Cost Effective Live Video Streaming to the Internet Hans-Joachim Gelke Tobias Kammacher Institute of Embedded Systems Source: Apple Inc.

Agenda 1. Typical Application 2. Available Processors. Processor Architectures. Interfaces 5. Software Implementation 6. Practical Experiences 7. Further Applications 2

Typical Video Signal Processing Pipeline 2nd Video Source Video Input Color Space Conversion Scaling Picture in Picture h.26/h.265 Encoder Audio Audio/Video Mux Encryption Transport Protocol Packer Forward Error Correction Ethernet Output Recorder

Typical Video Signal Processing Pipeline 2nd Video Source Video Input Color Space Conversion Scaling Picture in Picture h.26/h.265 Encoder Audio Audio/Video Mux Encryption Transport Protocol Packer Forward Error Correction Ethernet Output Recorder

Typical Video Signal Processing Pipeline 2nd Video Source Video Input Color Space Conversion Scaling Picture in Picture h.26/h.265 Encoder Audio Audio/Video Mux Encryption Transport Protocol Packer Forward Error Correction Ethernet Output Recorder

Typical Video Signal Processing Pipeline 2nd Video Source Video Input Color Space Conversion Scaling Picture in Picture h.26/h.265 Encoder Audio Audio/Video Mux Encryption Transport Protocol Packer Forward Error Correction Ethernet Output Recorder

Typical Video Signal Processing Pipeline 2nd Video Source Video Input Color Space Conversion Scaling Picture in Picture h.26/h.265 Encoder Audio Audio/Video Mux Encryption Transport Protocol Packer Forward Error Correction Ethernet Output Recorder

Typical Video Signal Processing Pipeline 2nd Video Source Video Input Color Space Conversion Scaling Picture in Picture h.26/h.265 Encoder Audio Audio/Video Mux Encryption Transport Protocol Packer Forward Error Correction Ethernet Output Recorder

Typical Video Signal Processing Pipeline 2nd Video Source Video Input Color Space Conversion Scaling Picture in Picture h.26/h.265 Encoder Audio Audio/Video Mux Encryption Transport Protocol Packer Forward Error Correction Ethernet Output Recorder

Typical Video Signal Processing Pipeline 2nd Video Source Video Input Color Space Conversion Scaling Picture in Picture h.26/h.265 Encoder Audio Audio/Video Mux Encryption Transport Protocol Packer Forward Error Correction Ethernet Output Recorder

Typical Video Signal Processing Pipeline 2nd Video Source Video Input Color Space Conversion Scaling Picture in Picture h.26/h.265 Encoder Audio Audio/Video Mux Encryption Transport Protocol Packer Forward Error Correction Ethernet Output Recorder

Typical Video Signal Processing Pipeline 2nd Video Source Video Input Color Space Conversion Scaling Picture in Picture h.26/h.265 Encoder Audio Audio/Video Mux Encryption Transport Protocol Packer Forward Error Correction Ethernet Output Recorder

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

How is a Mobile Processor Defined? Multi Core s Audio and Video Processing Units Camera Graphics Processing Display DSP Connectivity Source block diagram: Qualcomm Positioning Systems Copyright Time Warner

The Players Snapdragon 810 TK1 and TX1 X7-Z8700 Sources: Qualcomm, Nvidia, Intel, Samsung, Apple, Allwinner 5

The Players Snapdragon 810 TK1 and TX1 X7-Z8700 Exynos Apple A8 Sources: Qualcomm, Nvidia, Intel, Samsung, Apple, Allwinner 5

The Players Snapdragon 810 TK1 and TX1 X7-Z8700 Exynos Apple A8 Allwinner A1 Sources: Qualcomm, Nvidia, Intel, Samsung, Apple, Allwinner RK288 5

Hardware Resources 6-bit ARM A57 2MB L2-Cache 1 2 6-bit ARM A5 512kB L2-Cache 1 2 GPU Video Encoder Video Decoder Video Interface Video Processor 6

Hardware Resources 6-bit ARM A57 2MB L2-Cache 1 2 Operating Mode 6-bit ARM A5 512kB L2-Cache 1 2 GPU Video Encoder Video Decoder Video Interface Video Processor 6

Hardware Resources 6-bit ARM A57 2MB L2-Cache 1 2 6-bit ARM A5 512kB L2-Cache 1 2 GPU Video Encoder Video Decoder Video Interface Video Processor 6

Hardware Resources 6-bit ARM A57 2MB L2-Cache 1 2 6-bit ARM A5 512kB L2-Cache 1 Sleep 2 Mode GPU Video Encoder Video Decoder Video Interface Video Processor 6

Hardware Resources 6-bit ARM A57 2MB L2-Cache 1 2 6-bit ARM A5 512kB L2-Cache 1 2 GPU Video Encoder Video Decoder Video Interface Video Processor 6

Hardware Resources 6-bit ARM A57 2MB L2-Cache 1 2 6-bit ARM A5 512kB L2-Cache 1 2 GPU Video Encoder 192/ 256 Core GPU OpenGL, CUDA, DX12, AEP, OpenCL Video Interface Video Decoder Video Processor 6

Hardware Resources 6-bit ARM A57 2MB L2-Cache 1 2 6-bit ARM A5 512kB L2-Cache 1 2 GPU Video Encoder Video Decoder Video Interface Video Processor 6

Hardware Resources 6-bit ARM A57 2MB L2-Cache 1 2 6-bit ARM A5 512kB L2-Cache 1 2 H.26/AVC & H.265/HEVC 096 2160 pix/0 Hz GPU Video Encoder Video Decoder Video Interface Video Processor 6

Hardware Resources 6-bit ARM A57 2MB L2-Cache 1 2 6-bit ARM A5 512kB L2-Cache 1 2 GPU Video Encoder Video Decoder Video Interface Video Processor 6

Hardware Resources 6-bit ARM A57 2MB L2-Cache 1 2 6-bit ARM A5 512kB L2-Cache 1 2 GPU H.26/AVC & H.265/HEVC 096 2160 pix/60 Hz/10 bit Video Encoder Video Decoder Video Interface Video Processor 6

Hardware Resources 6-bit ARM A57 2MB L2-Cache 1 2 6-bit ARM A5 512kB L2-Cache 1 2 GPU Video Encoder Video Decoder Video Interface Video Processor 6

Hardware Resources 6-bit ARM A57 2MB L2-Cache 1 2 HDMI 2.0 096 2160pix, Display Serial Interface (DSI) Video Encoder GPU 6-bit ARM A5 512kB L2-Cache 1 2 Video Decoder Video Interface Video Processor 6

Hardware Resources 6-bit ARM A57 2MB L2-Cache 1 2 6-bit ARM A5 512kB L2-Cache 1 2 GPU Video Encoder Video Decoder Video Interface Video Processor 6

Hardware Resources 6-bit ARM A57 2MB L2-Cache 1 2 6-bit ARM A5 512kB L2-Cache 1 2 GPU Scaling etc. Video Encoder Video Decoder Video Interface Video Processor 6

Hardware Resources 6-bit ARM A57 2MB L2-Cache 1 2 6-bit ARM A5 512kB L2-Cache 1 2 GPU Video Encoder Video Decoder Video Interface Video Processor 6

Mobile Processor Peripherals CSI DSI I2S I2S SDIO PCIe 7

Processors available on industrial modules Nvidia TK1 module Snapdragon 810 module Allwinner A1 module Sources: Avionic Design, Intrinisic, Theobroma Systems 8

GStreamer: A Multimedia Framework Generic Multimedia Processing Device Mobile Processor Images: Public Domain 9

GStreamer: A Multimedia Framework Generic Multimedia Processing Device 2nd Video Source Video Input Color Space Conversion Mobile Processor Picture Scaling in Picture H.26/H.265 Encoder Audio Audio/Video Mux Encryption Transport Protocol Packer Forward Error Correction Ethernet Output Recorder 9 Images: Public Domain

GStreamer: A Multimedia Framework Generic Multimedia Processing Device Mobile Processor Video Processing Images: Public Domain 9

GStreamer: A Multimedia Framework Generic Multimedia Processing Device Mobile Processor Video Processing Network Images: Public Domain 9

GStreamer: A Multimedia Framework Generic Multimedia Processing Device Mobile Processor Video Processing Network Network Images: Public Domain 9

GStreamer: A Multimedia Framework Generic Multimedia Processing Device Mobile Processor Linux Kernel GStreamer Video Processing Network Network Images: Public Domain 9

GStreamer Internals Gstreamer Core Framework 10

GStreamer Internals Sources: File Camera TCP/UDP Gstreamer Core Framework 10

GStreamer Internals Sources: File Camera TCP/UDP Gstreamer Core Framework Sinks: File Display TCP/UDP 10

GStreamer Internals Containers: Audio & Video MP / MKV Transport- Protocols: HTTP/RTSP Filters: Converters Mixers Sources: File Camera TCP/UDP Gstreamer Core Framework Sinks: File Display TCP/UDP 10

GStreamer Internals Containers: Audio & Video MP / MKV Transport- Protocols: HTTP/RTSP Filters: Converters Mixers Sources: File Camera TCP/UDP Gstreamer Core Framework Encoders: Audio (MP / AAC) Video (H.26/H.265) HW-accelerated Sinks: File Display TCP/UDP 10

GStreamer Internals Containers: Audio & Video MP / MKV Transport- Protocols: HTTP/RTSP Filters: Converters Mixers Sources: File Camera TCP/UDP Gstreamer Core Framework Sinks: File Display TCP/UDP Encoders: Audio (MP / AAC) Video (H.26/H.265) HW-accelerated Decoders: Audio (MP / AAC) Video (H.26/H.265) HW-accelerated 10

GStreamer Internals Containers: Audio & Video MP / MKV Transport- Protocols: HTTP/RTSP Filters: Converters Mixers Sources: File Camera TCP/UDP Gstreamer Core Framework Sinks: File Display TCP/UDP Encoders: Audio (MP / AAC) Video (H.26/H.265) HW-accelerated Decoders: Audio (MP / AAC) Video (H.26/H.265) HW-accelerated OpenMAX OS Kernel 10

GStreamer Internals Containers: Audio & Video MP / MKV Transport- Protocols: HTTP/RTSP Filters: Converters Mixers Sources: File Camera TCP/UDP Gstreamer Core Framework Sinks: File Display TCP/UDP Encoders: Audio (MP / AAC) Video (H.26/H.265) HW-accelerated Decoders: Audio (MP / AAC) Video (H.26/H.265) HW-accelerated Access to HWaccelerated CODECs OpenMAX OS Kernel 10

OpenMAX (Open Media Acceleration) Multimedia Application GStreamer Core Software User Space Gstreamer Plugins OpenMAX (OMX) Libraries Bellagio (OpenMAX IL) Software Kernel Space Linux Kernel Modules / Drivers Video DMA Mobile Processor HW accelerated Video Encoder HW accelerated Video Decoder 11

Macro Block vs. Quad Tree Procedure H.26 H.265 Macro Block Procedure Quad Tree Procedure Source: London Bus Museum 12

Comparison between H.26 and H.265 Video Quality PSNR vs. Bitrate for H.26 and H.265 1

Comparison between H.26 and H.265 Video Quality PSNR vs. Bitrate for H.26 and H.265 H.265 11Mbps H.26 19Mbps 1

Comparison between H.26 and H.265 Video Quality PSNR vs. Bitrate for H.26 and H.265 H.265 0Mbps H.26 67Mbps H.265 11Mbps H.26 19Mbps 1

Your Mobile Processor Application? Video Conferencing Android TV Source: Google Mobile Processor Medical Imaging Lecture recording streaming Source: PMK Driving Assistance Source: Google 1