• No results found

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
69
0
0

Loading.... (view fulltext now)

Full text

(1)

Zürcher Fachhochschule

Using Mobile Processors for Cost Effective

Live Video Streaming to the Internet

Hans-Joachim Gelke

Tobias Kammacher

Institute of Embedded Systems

(2)

Zürcher Fachhochschule

Agenda

1.

Typical Application

2.

Available Processors

3.

Processor Architectures

4.

Interfaces

5.

Software Implementation

6.

Practical Experiences

7.

Further Applications

2

(3)

Zürcher Fachhochschule

Typical Video Signal Processing Pipeline

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

(4)

Zürcher Fachhochschule

Typical Video Signal Processing Pipeline

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

(5)

Zürcher Fachhochschule

Typical Video Signal Processing Pipeline

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

(6)

Zürcher Fachhochschule

Typical Video Signal Processing Pipeline

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

(7)

Zürcher Fachhochschule

Typical Video Signal Processing Pipeline

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

(8)

Zürcher Fachhochschule

Typical Video Signal Processing Pipeline

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

(9)

Zürcher Fachhochschule

Typical Video Signal Processing Pipeline

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

(10)

Zürcher Fachhochschule

Typical Video Signal Processing Pipeline

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

(11)

Zürcher Fachhochschule

Typical Video Signal Processing Pipeline

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

(12)

Zürcher Fachhochschule

Typical Video Signal Processing Pipeline

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

(13)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(14)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(15)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(16)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(17)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(18)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(19)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(20)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(21)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(22)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(23)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(24)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(25)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(26)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(27)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(28)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(29)

Zürcher Fachhochschule

How is a Mobile Processor Defined?

4

Audio and Video Processing Units Display Camera Graphics Processing Multi Core CPUs DSP Connectivity Positioning Systems

© Copyright Time Warner Source block diagram: Qualcomm

(30)

Zürcher Fachhochschule

The Players

5

TK1 and TX1 X7-Z8700

Snapdragon 810

(31)

Zürcher Fachhochschule Exynos Apple A8

The Players

5 TK1 and TX1 X7-Z8700 Snapdragon 810

(32)

Zürcher Fachhochschule Allwinner A31 RK3288 Exynos Apple A8

The Players

5 TK1 and TX1 X7-Z8700 Snapdragon 810

(33)

Zürcher Fachhochschule

Video Interface

Video Encoder

GPU

Video Decoder

Video Processor

Hardware Resources

6

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A57 2MB L2-Cache

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A53 512kB L2-Cache

(34)

Zürcher Fachhochschule

Video Interface

Video Encoder

GPU

Video Decoder

Video Processor

Hardware Resources

6

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A57 2MB L2-Cache

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A53 512kB L2-Cache

Operating

Mode

(35)

Zürcher Fachhochschule

Video Interface

Video Encoder

GPU

Video Decoder

Video Processor

Hardware Resources

6

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A57 2MB L2-Cache

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A53 512kB L2-Cache

(36)

Zürcher Fachhochschule

Video Interface

Video Encoder

GPU

Video Decoder

Video Processor

Hardware Resources

6

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A57 2MB L2-Cache

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A53 512kB L2-Cache

Sleep

Mode

(37)

Zürcher Fachhochschule

Video Interface

Video Encoder

GPU

Video Decoder

Video Processor

Hardware Resources

6

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A57 2MB L2-Cache

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A53 512kB L2-Cache

(38)

Zürcher Fachhochschule

Video Interface

Video Encoder

GPU

Video Decoder

Video Processor

Hardware Resources

6

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A57 2MB L2-Cache

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A53 512kB L2-Cache

192/ 256 Core GPU

OpenGL, CUDA, DX12, AEP,

OpenCL

(39)

Zürcher Fachhochschule

Video Interface

Video Encoder

GPU

Video Decoder

Video Processor

Hardware Resources

6

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A57 2MB L2-Cache

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A53 512kB L2-Cache

(40)

Zürcher Fachhochschule

Video Interface

Video Encoder

GPU

Video Decoder

Video Processor

Hardware Resources

6

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A57 2MB L2-Cache

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A53 512kB L2-Cache

H.264/AVC & H.265/HEVC

4096 × 2160 pix/30 Hz

(41)

Zürcher Fachhochschule

Video Interface

Video Encoder

GPU

Video Decoder

Video Processor

Hardware Resources

6

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A57 2MB L2-Cache

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A53 512kB L2-Cache

(42)

Zürcher Fachhochschule

Video Interface

Video Encoder

GPU

Video Decoder

Video Processor

Hardware Resources

6

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A57 2MB L2-Cache

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A53 512kB L2-Cache

H.264/AVC & H.265/HEVC

4096 × 2160 pix/60 Hz/10 bit

(43)

Zürcher Fachhochschule

Video Interface

Video Encoder

GPU

Video Decoder

Video Processor

Hardware Resources

6

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A57 2MB L2-Cache

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A53 512kB L2-Cache

(44)

Zürcher Fachhochschule

Video Interface

Video Encoder

GPU

Video Decoder

Video Processor

Hardware Resources

6

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A57 2MB L2-Cache

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A53 512kB L2-Cache

HDMI 2.0

4096×2160pix,

Display Serial

Interface (DSI)

(45)

Zürcher Fachhochschule

Video Interface

Video Encoder

GPU

Video Decoder

Video Processor

Hardware Resources

6

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A57 2MB L2-Cache

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A53 512kB L2-Cache

(46)

Zürcher Fachhochschule

Video Interface

Video Encoder

GPU

Video Decoder

Video Processor

Scaling etc.

Hardware Resources

6

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A57 2MB L2-Cache

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A53 512kB L2-Cache

(47)

Zürcher Fachhochschule

Video Interface

Video Encoder

GPU

Video Decoder

Video Processor

Hardware Resources

6

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A57 2MB L2-Cache

CPU

1

CPU

2

CPU

3

CPU

4

64-bit ARM A53 512kB L2-Cache

(48)

Zürcher Fachhochschule

Mobile Processor Peripherals

7 I2S DSI CSI PCIe I2S SDIO

(49)

Zürcher Fachhochschule

Processors available on industrial modules

8

Nvidia TK1 module Snapdragon 810 module Allwinner A31 module

(50)

Zürcher Fachhochschule

Mobile Processor

GStreamer:

A Multimedia Framework

9

Generic Multimedia Processing Device

(51)

Zürcher Fachhochschule

Mobile Processor

GStreamer:

A Multimedia Framework

9

Generic Multimedia Processing Device

Color Space Conversion Scaling Picture in Picture H.264/H.265 Encoder Audio/Video Mux Encryption Transport Protocol Packer Forward Error Correction Recorder Video Input Ethernet Output Audio 2nd Video Source

(52)

Zürcher Fachhochschule

Mobile Processor

GStreamer:

A Multimedia Framework

9

Generic Multimedia Processing Device

Video Processing

(53)

Zürcher Fachhochschule

Mobile Processor

GStreamer:

A Multimedia Framework

9

Network

Generic Multimedia Processing Device

Video Processing

(54)

Zürcher Fachhochschule

Mobile Processor

GStreamer:

A Multimedia Framework

9

Network Network

Generic Multimedia Processing Device

Video Processing

(55)

Zürcher Fachhochschule

Mobile Processor

GStreamer:

A Multimedia Framework

9

Linux Kernel GStreamer

Network Network

Generic Multimedia Processing Device

Video Processing

(56)

Zürcher Fachhochschule

GStreamer Internals

10

(57)

Zürcher Fachhochschule

GStreamer Internals

10

Gstreamer Core Framework Sources:

File Camera TCP/UDP …

(58)

Zürcher Fachhochschule

GStreamer Internals

10

Gstreamer Core Framework Sources: File Camera TCP/UDP … Sinks: File Display TCP/UDP …

(59)

Zürcher Fachhochschule

GStreamer Internals

10

Gstreamer Core Framework Filters:

Converters Mixers …

Containers:

Audio & Video MP4 / MKV … Transport-Protocols: HTTP/RTSP … Sources: File Camera TCP/UDP … Sinks: File Display TCP/UDP …

(60)

Zürcher Fachhochschule

GStreamer Internals

10

Gstreamer Core Framework

Encoders: Audio (MP3 / AAC) Video (H.264/H.265) HW-accelerated … Filters: Converters Mixers … Containers:

Audio & Video MP4 / MKV … Transport-Protocols: HTTP/RTSP … Sources: File Camera TCP/UDP … Sinks: File Display TCP/UDP …

(61)

Zürcher Fachhochschule

GStreamer Internals

10

Gstreamer Core Framework

Decoders: Audio (MP3 / AAC) Video (H.264/H.265) HW-accelerated … Encoders: Audio (MP3 / AAC) Video (H.264/H.265) HW-accelerated … Filters: Converters Mixers … Containers:

Audio & Video MP4 / MKV … Transport-Protocols: HTTP/RTSP … Sources: File Camera TCP/UDP … Sinks: File Display TCP/UDP …

(62)

Zürcher Fachhochschule

GStreamer Internals

10

Gstreamer Core Framework

Decoders: Audio (MP3 / AAC) Video (H.264/H.265) HW-accelerated … OS Kernel Encoders: Audio (MP3 / AAC) Video (H.264/H.265) HW-accelerated … OpenMAX Filters: Converters Mixers … Containers:

Audio & Video MP4 / MKV … Transport-Protocols: HTTP/RTSP … Sources: File Camera TCP/UDP … Sinks: File Display TCP/UDP …

(63)

Zürcher Fachhochschule

GStreamer Internals

10

Gstreamer Core Framework

Decoders: Audio (MP3 / AAC) Video (H.264/H.265) HW-accelerated … OS Kernel Encoders: Audio (MP3 / AAC) Video (H.264/H.265) HW-accelerated … OpenMAX Filters: Converters Mixers … Containers:

Audio & Video MP4 / MKV … Transport-Protocols: HTTP/RTSP … Sources: File Camera TCP/UDP … Sinks: File Display TCP/UDP … Access to HW-accelerated CODECs

(64)

Zürcher Fachhochschule

OpenMAX (Open Media Acceleration)

11 Modules / Drivers Video DMA HW accelerated Video Encoder HW accelerated Video Decoder

CPU Mobile Processor

Linux Kernel Libraries

Bellagio (OpenMAX IL)

Software

Kernel Space Gstreamer Plugins

OpenMAX (OMX)

GStreamer Core

Multimedia Application Software User Space

(65)

Zürcher Fachhochschule

Macro Block vs. Quad Tree Procedure

12

Quad Tree Procedure

Macro Block Procedure

H.264

H.265

(66)

Zürcher Fachhochschule

Comparison between H.264 and H.265

Video Quality

13

(67)

Zürcher Fachhochschule

Comparison between H.264 and H.265

Video Quality

13 H.265 11Mbps H.264 19Mbps

(68)

Zürcher Fachhochschule

Comparison between H.264 and H.265

Video Quality

13 H.265 11Mbps H.264 19Mbps H.265 30Mbps H.264 67Mbps PSNR vs. Bitrate for H.264 and H.265

(69)

Zürcher Fachhochschule

Your Mobile Processor Application ?

14 Mobile Processor Android TV Video Conferencing Lecture recording streaming Medical Imaging Driving Assistance Source: Google Source: Google Source: PMK

References

Related documents

Menoth White Highlight, Morrow White, Khador Red Base, Khador Red Highlight, Battlefield Brown, Rhulic Gold, Pig Iron, Khardic Flesh, Midlund Flesh, Sanguine Base, Bootstrap

• Supports H.265 HEVC Smart Codec/H.264/MJPEG Video Codec • De-warp fisheye camera video in NVR local, web client, Honeywell Video. Management Viewer (HVMV) and HVMV Mobile App

Credit cards, personal loans, student loans, and other debt payments All other expenses 20%.. Food, insurance, prescriptions, doctor & dentist bills, clothing, and

While there is a rich resource of brand theory, there is has been relatively little published that addresses the complexity involved in capturing the essence of a

To our knowledge, this is the first prospective, randomised, proof-of-concept study to investigate the effectiveness of an intelligent insole system (designed to measure

With the holiday shopping season upon us here is the information to sign up for Amazon Smile The club is now set up on

Nacionales afganos, pakistaníes, iraníes e iraquíes, principales nacionalidades que se encuentran en mayor número, además de la siria, que han llegado a Grecia en busca de asilo

To determine whether GPR65 alters GATA-1 and Scl/TAL1 occupancy, we quantitated GATA-1 and Scl/TAL1 occupancy at the +9.5 site in fetal liver cells infected with control shRNA or