A Multimedia Streaming Server/Client Framework for DM64x

Similar documents
Ittiam Systems (Pvt.) Ltd.,

IP Video Phone on DM64x

Scalable Multi-DM642-based MPEG-2 to H.264 Transcoder. Arvind Raman, Sriram Sethuraman Ittiam Systems (Pvt.) Ltd. Bangalore, India

Remote Health Monitoring for an Embedded System

Chapter 28. Multimedia

Streaming Video and Throughput Uplink and Downlink

RTP: A Transport Protocol for Real-Time Applications

Digital Asset Management 5. Streaming multimedia

Multimedia Networking

Kommunikationssysteme [KS]

RECOMMENDATION ITU-R BT.1720 *

A common issue that affects the QoS of packetized audio is jitter. Voice data requires a constant packet interarrival rate at receivers to convert

Chapter 20: Multimedia Systems

Chapter 20: Multimedia Systems. Operating System Concepts 8 th Edition,

Outline. QoS routing in ad-hoc networks. Real-time traffic support. Classification of QoS approaches. QoS design choices

Popular protocols for serving media

EzyCast Mobile Mobile video, made simple.

Networking Applications

Mohammad Hossein Manshaei 1393

An Ultra High Performance Scalable DSP Family for Multimedia. Hot Chips 17 August 2005 Stanford, CA Erik Machnicki

Multimedia networking: outline

Optimizing Performance: Intel Network Adapters User Guide

Uncompressed HD Video Streaming with Congestion Control

4 rd class Department of Network College of IT- University of Babylon

CS 218 F Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness. References:

Distributed Systems Exam 1 Review Paul Krzyzanowski. Rutgers University. Fall 2016

VoIP. ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts

Multimedia networked applications: standards, protocols and research trends

Lecture 27 DASH (Dynamic Adaptive Streaming over HTTP)

PRODUCT SPECIFICATION

Mobile Operating Systems Lesson 01 Operating System

CS368-TI Digital Media Software Development Kit

CS365-TI Digital Media Software Development Kit

CS368-LI Digital Media Software Development Kit

Cisco TelePresence MCU 4200 Series

CSCD 433/533 Advanced Networks Fall Lecture 14 RTSP and Transport Protocols/ RTP

15: OS Scheduling and Buffering

HotChips An innovative HD video and digital image processor for low-cost digital entertainment products. Deepu Talla.

Real Time Protocols. Overview. Introduction. Tarik Cicic University of Oslo December IETF-suite of real-time protocols data transport:

Multimedia Networking

Agenda. Introduction Market trend and application 1394 Market Analysis Data 1394 and industry Applications. Other Technologies USB DVI

H.264 ENCODER AND DECODER

INF5071 Performance in Distributed Systems. October 01, 2010

Lecture 14: Multimedia Communications

PRODUCT SPECIFICATION

Completing the Multimedia Architecture

MISB EG Motion Imagery Standards Board Engineering Guideline. 24 April Delivery of Low Bandwidth Motion Imagery. 1 Scope.

Congestion Manager. Nick Feamster Computer Networks. M.I.T. Laboratory for Computer Science. October 24, 2001

The Transport Layer: User Datagram Protocol

RAVENNA WDM Virtual Sound Card (RVSC) Specification

ID 730L: Getting Started with Multimedia Programming on Linux on SH7724

Videon Product Manual

The S6000 Family of Processors

Real-Time Protocol (RTP)

Current Activities of the ITRON Project. Current Introduction Activities to of the ITRON Project

Streaming Video over the Internet. Dr. Dapeng Wu University of Florida Department of Electrical and Computer Engineering

Multimedia Protocols. Foreleser: Carsten Griwodz Mai INF-3190: Multimedia Protocols

Project Title: Design and Implementation of IPTV System Project Supervisor: Dr. Khaled Fouad Elsayed

Streaming (Multi)media

Multimedia Applications. Classification of Applications. Transport and Network Layer

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006

Transport protocols Introduction

Energy scalability and the RESUME scalable video codec

Networked Audio: Current Developments & Perspectives for the Broadcast Market

OpenMAX AL, OpenSL ES

CS640: Introduction to Computer Networks. Application Classes. Application Classes (more) 11/20/2007

Multimedia Communications

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

A Next Generation Home Access Point and Router

Latest Technology for Video-Streaming Gateway of M-stage V Live

PRODUCT PREVIEW TNETV1050 IP PHONE PROCESSOR. description

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2007

Implementing a NTP-Based Time Service within a Distributed Middleware System

Real-Time Course. Video Streaming Over network. June Peter van der TU/e Computer Science, System Architecture and Networking

TI TMS320C6000 DSP Online Seminar

IO [io] MAYAH. IO [io] Audio Video Codec Systems

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,

KeyStone Training. Turbo Encoder Coprocessor (TCP3E)

System-on-Chip Architecture for Mobile Applications. Sabyasachi Dey

Module 10 MULTIMEDIA SYNCHRONIZATION

The Challenges of System Design. Raising Performance and Reducing Power Consumption

UNIT I [INTRODUCTION TO EMBEDDED COMPUTING AND ARM PROCESSORS] PART A

EVALUATION OF QOS PARAMETERS FOR IPTV

Introduction to VoIP. Cisco Networking Academy Program Cisco Systems, Inc. All rights reserved. Cisco Public. IP Telephony

QoE Characterization for Video-On-Demand Services in 4G WiMAX Networks

AV1200 TL-WPA8730 KIT. Gigabit Powerline ac Wi-Fi Kit. Highlights

Real-Time Control Protocol (RTCP)

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info.

MPEG TS. MAYAH Communications Application Note 34. MAYAH Communications GmbH Application Note 34 MPEG TS

Advanced Networking Technologies

Hands-On IP Multicasting for Multimedia Distribution Networks

Application and Desktop Sharing. Omer Boyaci November 1, 2007

RTSP 2.0 Status. draft-ietf-mmusic-rfc2326bis-16

EAN-RTSP PN: EAN-RTSP 5/18/2018. SightLine Applications, Inc.

Fixed bonding settings not being applied in Sputnik Direct mode.

Multimedia Applications over Packet Networks

Example questions for the Final Exam, part A

EAN-RTSP User Guide. PN: EAN-RTSP-User Guide 9/18/2017. SightLine Applications, Inc.

W I S S E N T E C H N I K L E I D E N S C H A F T

MITIGATING THE EFFECT OF PACKET LOSSES ON REAL-TIME VIDEO STREAMING USING PSNR AS VIDEO QUALITY ASSESSMENT METRIC ABSTRACT

Transcription:

SEE THEFUTURE. CREATE YOUR OWN. A Multimedia Streaming Server/Client Framework for DM64x Bhavani GK Senior Engineer Ittiam Systems Pvt Ltd bhavani.gk@ittiam.com

Agenda Overview of Streaming Application Scenarios TI DM642 Capability and Features Streaming Server Framework Streaming Client Framework Conclusions 2

Media Delivery Modes - Downloading Media is downloaded from the web-server, stored locally on the client and then played out 1. Client requests media clip Server 2. Server sends media clip Client 3. Client plays downloaded clip 3

Media Delivery Modes - Streaming When media is requested, the server starts Streaming data, the client starts playing data after buffering a few seconds of data 1. Client requests media clip Server 2. Server sends media clip Client Client starts playback almost immediately 4

Streaming Anytime and/or Anywhere access to media data over a network Live Content Encoder Off-line Content Encoder Streaming Server Network Streaming Client1 Streaming Client2 Streaming ClientN 5

Application Scenario 1 TV #1 TV #2 Streaming Wi-Fi Client Streaming Wi-Fi Client 6

Application Scenario 2 Digital inputs (Digital camera) Analog inputs (VCR/ camcorder/ DVD/ Computer) Storedstreaming Multicast Server Live Multicast Server (CSIU) Multicast Video Receiver (Video sink) Gigabit Ethernet TV monitor/ LCD/ Projector Multicast Audio Receiver (Audio sink) Speakers/ Headphones Storage Medium User Interface (channel dial/ video control/ audio control) 7

Streaming Modes Unicast Each client has a distinct streaming session Server capacity bottlenecks Suited for on-demand delivery Interactivity is possible Server can adapt bit-rate Multicast All clients have the same streaming session Routers handle copies; only one stream from server per session. Not all routers support multicast Suited for Live delivery Interactivity is not possible Global bit-rate adaptation only Streaming Client1 Streaming Client1 Streaming Server Streaming Client2 Streaming Server Router Router Streaming Client2 Streaming ClientN Streaming ClientN 8

Interoperable Streaming - Protocols ISMA - Internet Streaming Media Alliance Accelerate the adoption and deployment of open standards for streaming rich media content such as video, audio, and associated data, over Internet protocols. RTP Real Time Protocol RTSP Real Time Streaming Protocol RTCP Real Time Control Protocol 9

Interoperable Streaming - Protocols RTSP Internet VCR remote control Communication protocol between the server and the client - Initiates and controls delivery of data, negotiates codecs Uses TCP RTP Uses for streaming Audio and Video over UDP Provides timing reconstruction, loss detection, media identification through timestamps, sequence numbers Separate RTP channels for each medium RTCP Control protocol for RTP Provides feedback from client to server on quality of streaming Uses UDP 10

RTSP Interoperable Streaming - Summary RTSP RTP RTCP RTP Audio TCP UDP Video IP RTCP f/b 11

TI TMS320DM642 12

TI C64x DSP Core VLIW architecture (VelociTI) 256-bit instructions (8 32-bit) Dual data paths 4 functional units (L, M, S, D) each L, S arithmetic/logical; M multiply/shift; D Data load/store 32 32-bit registers each Cross path access to registers Can load and store up to 64-bits Non-aligned load/stores are supported All instructions can be conditionally executed Packed 8-bit and 16-bit operations E.g. AVGU4, DOTPU4, ADD2, MIN2, MAX2, etc. Instructions to pack and unpack Transfer crossbar with 4 queues of varying priority 64-channel enhanced DMA (TCInt, Chaining, linking) 2-level cache (16 kb I and D L1; 256 kb L2) 13

TI DM642 Features External Memory Interfaces 1 64-bit (EMIFA); 1 16-bit (EMIFB) 3 video ports Can be configured as video input, video output, or transport stream interface Multi-channel Audio Serial Port (Data/Control) 2 Multi-channel Buffered Serial Ports Ethernet MAC PCI interface Host Post Interface I2C Interface 14

DSP BIOS Scalable real-time kernel Provides pre-emptive multi-threading, hardware abstraction Easy to use configuration tools to create and configure instances of various modules and objects Provides for real-time analysis and debugging Useful DSP-Bios Objects PRD, MBX, CLK, LOG, SEM, LCK Useful DSP-Bios Modules QUE, SIO, GIO 15

Network Development Kit - NDK Platform to develop network enabled applications Supports standard socket API, with enhanced nocopy operations for increased performance Multicast supported Provides network statistics, which aids debugging and performance analysis. Well documented API Layered architecture separates the OS and Hardware layers eases porting on different hardware. 100 Mbps throughput (with automatic EDMA transfers) 16

Live Streaming Set-up Capture Audio Capture Video Render Audio Render Video Audio Enc Video Enc Audio Dec Video Dec RTP UDP IP SDP TCP IP SDP TCP IP RTP UDP IP Ethernet/WLAN Server (on DM64x) Client (on DM64x) 17

Live Server Framework Requirements Components High Quality, full frame-rate, moderate Bit rate MPEG4 compliant Video Encoder High Quality high Sampling-rate AAC compliant Audio Encoder Network thread to packetize and transmit encoded data Mechanism to timestamp encoded data to ensure synchronised rendering of media on the client 18

Live Server Framework Challenges Running all the components in the available MCPS budget Fitting the memory requirements of both the encoders into the available L2 memory Distribution of the EDMA load Video Encoder and video capture require a large DMA bandwidth Transmission of data requires time critical transfers to be carried out Scheduling of various threads at the right time Delay in scheduling the encode threads may result in dropping of captured data Delay in scheduling NetTransmit thread may result in overflow of Audio and Video buffers 19

Live Server Framework Video Encode Task Video Capture Device Networ k N E T C T R L T A S K Video Queue Net Transmit Task Audio Queue Video Capture Buffers Audio Capture Buffers Audio Encode Task Audio Capture Device 20

Live Server Framework Solutions Three primary threads of operation Audio Encoder task Video Encoder Task NetTransmit task Task Scheduling Scheduling of the encoder tasks are governed by availability of captured data Buffers designed to handle worst case execution times of the encoders NetTransmit task scheduled at regular intervals A fixed percentage of CPU time provided to an external command and control (CAC) task. The CAC task controls tasks by posting messages to individual task mailboxes 21

Live Server Framework Solutions Timestamping of encoded data Time stamps derived using on-chip timers associated with media data at the time of capture in the respective drivers Real-time clock packets included in transmission to enable drift free AV sync in Client Memory/MCPS Management Usage of scratch buffers in L2 to minimise usage of external memory by the encoders Sharing L2 between the encoding threads Reusing scratch memory of the encoders Dynamic overlay of code with data 22

Client Framework Requirements Components Video Decoder Audio Decoder Network Controller to receive data User Interface Support to operate Audio client and video client on separate h/w units Drifts between the client and server clocks can result in noticeable loss in sync over time Drift can cause data to be consumed at a rate different from the rate of production (at the server) Leads to overflow/ underflow of buffers 23

Client Framework Challenges Handling of packets arriving out of order Prioritizing various data transfers required by different tasks Video Decoder requires a large DMA bandwidth Transferring data received on the network and rendering the media data requires time critical data transfers 24

Client Framework Video Decode Task Video Render Device Networ k N E T C T R L Video Hash Net Receive Task Video Render Buffers T A S K Audio Hash Audio Render Buffers Audio Decode Task Audio Render Device 25

Client Framework Solutions Three threads of operation Audio Decoder task Decodes and queues audio data for rendering Video Decoder task - Decodes and queues video data for rendering Network Receive Task Receives data on the network, reorders received data, partitions data into decodable units 26

Client Framework Solutions Task Scheduling Scheduling of the Decoder tasks are governed by availability of rendering buffers to hold decoded data No coupling (using semaphores etc) between the Audio and video decoder tasks enables audio only and video-only modes of operation Buffers designed to handle worst case execution times of the Decoders NetRecv task scheduled at regular intervals A fixed percentage of CPU time provided to an external command and control(cac) task. The CAC task controls the other tasks by posting messages to individual task mailboxes 27

Client Framework Solutions Management of EDMA resources Usage of QDMA for short bursts within decoders Distribute the EDMA load across queues to minimize stalls and priority inversion for instance, requests from network controller and video display drivers should be on separate EDMA queues 28

Client Framework - Drift Free AV Sync AV Sync Mechanism The system time serves as the master clock. Both the decoder tasks queue decoded data for rendering according to presentation time stamp and the current system time Real-time clock packets used to handle drift between the server and the client clocks RTC packet used to update the client s system time wrt the server time When the client s system time lags that indicated by RTC, the client catches up by not presenting a few decoded data units When the client s system time is ahead of that indicated by RTC, the client slows down by inserting silence(audio) or holding a frame (video) 29

Media Streamer & Distribution System Video Input from a DVD Player Network DM642 running Ittiam MPEG-4 Video + AAC Encoder & Multicast Streaming Server DM642 running Ittiam MPEG-4 Video + AAC Decoder & Streaming Client TV Display 30

Bhavani GK Senior Engineer Ittiam Systems bhavani.gk@ittiam. com Get to market faster with TI products, support and partners. SEE THEFUTURE. CREATE YOUR OWN. 31