Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Mobile Cloud Computing & Adaptive Streaming20th Mar 2012
Suriya Mohan, Aricent Group, Chennai
� Mobile Cloud Computing� Tablet / Smartphone Evolution
� Cloud Computing – 3 Fundamental Models
� Clouds in Cloud Computing
� Advantages of Cloud Computing
� Mobile Cloud Computing
� Thin Client Application
� Virtual Hybrid Cloud Imaging Server - Photo book Creation
� Adaptive Streaming & OTT Video� Over The Top Video
� Solutions for OTT Challenge
Agenda
2
� Adaptive Streaming
� Adaptive Streaming Solutions
� Apple HTTP Live Streaming
� Microsoft Smooth Streaming
� 3GP DASH
� Cloud based Streaming Server� Cloud based Streaming Server
� Multi Client Streaming
� Technology & Features
� Content Adaptation Gateway� Cloud based Content Adaptation Gateway
� End to End Setup & Features
Tablet / Smartphone Evolution
Remote Video On
TV Everywhere
Mobile Cloud
3
EPGRemote Record
Video On Demand
Everywhere
Live Streaming
Cloud Computing
Thin Client
Cloud Computing – 3 Fundamental Models
Applications
APIs
Data Content Metadata
Integration, OS & Middleware
APIs
• Saas - Software as a service, sometimes referred
to as "on-demand software," is a software delivery
model in which software and its associated data
are hosted centrally (typically in the (Internet)
cloud) and are typically accessed by users using a
thin client, normally using a web browser over the
Internet
• IaaS, Infrastructure as a Service - Cloud
providers offer computers – as physical or more
often as virtual machines –, raw (block) storage,
4
APIs
Connectivity & Delivery
Virtualization
Hardware
IaaS
PaaS
SaaS
often as virtual machines –, raw (block) storage,
firewalls, load balancers, and networks. IaaS
providers supply these resources on demand from
their large pools installed in data centers.
• PaaS, Platform as a Service - Cloud providers
deliver a computing platform and/or solution stack
typically including operating system, programming
language execution environment, database, and
web server. Application developers can develop
and run their software solutions on a cloud platform
without the cost and complexity of buying and
managing the underlying hardware and software
layers
Clouds in Cloud Computing
Application Layer (SaaS)
Provisioning of both physical and virtualized cloud resourcesProvisioning of both physical and virtualized cloud resources
Private Cloud
(Over Intranet)Public Clouds
(Over Internet)
Hybrid Cloud
(Over Internets /
Intranets)
5
• Public Cloud - Applications, storage, and other resources are made available to the general public by a service
provider. Public cloud services may be free or offered on a pay-per-usage model.
• Private Cloud - is infrastructure operated solely for a single organization, whether managed internally or by a
third-party and hosted internally or externally.
• Hybrid Cloud - is a composition of two or more clouds (private, community or public) that remain unique
entities but are bound together, offering the benefits of multiple deployment models
Application Layer (SaaS)Application Layer (SaaS)
Platform Layer(PaaS)Platform Layer(PaaS)
Infrastructure Layer (IaaS)Infrastructure Layer (IaaS)
Advantages of Cloud Computing
Access to Larger Market
Lowers App Development
Cost
Bypass Apps Stores and
• Cloud computing is the delivery of computing as
a service rather than a product, whereby shared
resources, software, and information are
provided to computers and other devices as a
utility over a network.
• Cloud computing is a natural evolution of the
widespread adoption of virtualisation, service-
oriented architecture, autonomic, and utility
computing.
• Details are abstracted from end-users, who no
longer have need for expertise in, or control over,
the technology infrastructure "in the cloud" that
3/26/2012 6
Stores and save on
Commissions
Addresses Platform
Fragmentation
the technology infrastructure "in the cloud" that
supports them.
• Cloud computing describes a new supplement,
consumption, and delivery model for IT services
based on Internet protocols, and it typically
involves provisioning of dynamically scalable and
often virtualized resources
• Cloud computing providers deliver applications
via the internet, which are accessed from web
browsers and desktop and mobile apps, while
the business software and data are stored on
servers at a remote location
Mobile Cloud Computing
• Mobile cloud computing refers to an environment where both the storage of data and its processing
happens outside the mobile device.
• The app runs on a remote server and a user can get access to it through the browser available in
his mobile device. Gmail, Google Maps etc., are some of the examples of applications making use
of mobile cloud computing.
• With apps getting more feature rich and expected to handle volumes of data, on-the-device storage
and processing would not only be difficult but to an extent impossible
• Mobile Cloud Computing with its capability to store data and process it outside the device, on the
internet, without disturbing the real performance of the app would come handy to app developers.
• Client-Server Model in Cloud Computing reduces the footprint and portability overheads in the
client side by just running a thin client application in the client device and having business logic
7
client side by just running a thin client application in the client device and having business logic
and/or data storehouse in the server side
CRITICAL CHALLENGES
• Lowering network latency to meet application and code offload interactivity
• Increasing network bandwidth for faster data transfer between the cloud and
devices
• Providing adaptive monitoring of network conditions to optimize network and
device costs against the user’s perceived performance of cloud applications
Thin Client Application –
Photobook Creation
The Virtual (“Hybrid”) Cloud Imaging Server
Public Clouds
(External)
Printer Clouds
(External)
Image De-noisingEnterprise /
Digital Home
Frog’s Cloud Imaging Server Server Features:Photo Book Creation using Image Processing
Algorithms:
•Image De-Noising
•Panorama Stitching
•Low Light Enhancement
•Vivid colour effect
•Noise reduction
•White Balance
Social Networking Sites
(External)
Frog’s
(Thin Client)
Base Station
(Femto Cell)
Concept:Photobook creation is one of the most technically challenging
workflows for “Photo Product” solution. These problems are only
magnified when the authoring platform is expanded beyond PCs to
mobile and social platforms. Our “Auto Photo book creation” with
“Cloud Imaging Server” uses core imaging algorithms to streamline
the workflow and automate many of the more cumbersome steps,
which both simplifies the creation process and makes it more
amenable for mobile devices and social networks
Today’s Problem Statement:Multimedia information such as “Photos and Videos” are increasingly
viewed and shared through social networking sites such as “YouTube
and Facebook”. In Today’s Scenario, the users even don’t have time
to organize their photos and videos on their Handheld devices. Many
users on day-2-day life snap/capture large numbers of photos either
from Mobile (or) from Digital Camera to capture events in their lives,
but only a very small fraction of Photos are tagged. Although online
sharing makes the content easier to access, users continue to face
many challenges in dealing with multimedia operations.
9
Face / Smile Detection
Adaptive Streaming &
Over The Top Video
Over The Top Video
11
� OTT, Over the Top is the delivery of video & audio media streams to connected devices via the internet
and there will not be any need for a dedicated network (or) infrastructure provided by the operator, as OTT
is transported through regular internet data protocols and uses open internet or unmanaged networks
� IPTV is delivered over a dedicated and managed network that is used only for broadcasting TV and the
operator has full control over the network
� OTT used HTTP protocol which has already been used as a transport solution for video on demand (VOD)
media embedded into web pages, especially on Flash-based sites, such as YouTube or Dailymotion
� Drawback of Progressive Download
� YouTube does not use real time streaming concept. It uses progressive downloading of one media
file, where the browser downloads the file from the HTTP web server and when it has a sufficient
amount of data, starts to play the content while downloading the rest of the file.
� The main drawback to this approach is the length of time it takes to fill the initial buffer.
� The player downloads other portion of the video where the user is not interested to watch
� OTT Challenge
� Since the video is transferred through open network, the quality of video playback depends on
end user broadband connection speed
Solution for OTT Challenge
3/26/2012 12
� Content streaming may be subject to stalling if there are fluctuations in bandwidth, leading to
frame freezing
� The arrival of OTT streaming, however, has brought a new approach and its now possible to
achieve levels of streaming quality over HTTP that allow live content to also be broadcast over the
internet
� Adaptive Streaming Solution for OTT Challenge
� Servers in the network will split one media file into multiple segments or chunks or fragments with
different bit rates
� OTT Clients in the network will request for segments of specific bitrate during playback which
ensures smooth playback (limited or no rebuffering & only required segments will be downloaded
instead of downloading entire clip)
Adaptive Streaming
� Adaptive streaming is a hybrid delivery method that acts like streaming but is based on HTTP progressive
download
� In a typical adaptive streaming implementation, the video/audio source is cut into many short segments
("chunks") and encoded to the desired delivery format. Chunks are typically 2-to-4-seconds long.
� At the video codec level, this typically means that each chunk is cut along video GOP (Group of Pictures)
boundaries (each chunk starts with a key frame) and has no dependencies on past or future
chunks/GOPs. This allows each chunk to later be decoded independently of other chunks at the client end
� It requires the use of an encoder which can encode a single source video at multiple bit rates at the server
end.
� The "adaptive" part of the solution comes into play when the video/audio source is encoded at multiple bit
rates, generating multiple chunks of various sizes for each 2-to-4-seconds of video. The client can choose
3/26/2012 13
rates, generating multiple chunks of various sizes for each 2-to-4-seconds of video. The client can choose
between chunks of different sizes.
� The player client switches between streaming the different encodings depending on available resources.
� It works by detecting a user's bandwidth and CPU capacity in real time and adjusting the quality of a video
stream accordingly.
� Adaptive streaming is the process of efficiently delivering streaming video to users by dynamically
switching among different streams of varying quality and size during playback.
� Another major goal of adaptive streaming is to make this process smooth and seamless to users, so that if
up-scaling or down-scaling the quality of the stream is necessary, it is a smooth and nearly unnoticeable
switch without disrupting the continuous playback.
� "The result: very little buffering, fast start time and a good experience for both high-end and low-end
connections.“
� Apple's HTTP Live Streaming (HLS)
� The Apple variant communicates available chunks by using a text file format .m3u8 (A playlist.
With list of URLs) The top-level playlist contains the list of available qualities, each with their
individual sub-playlist. This sub-playlist explicitly enumerates the individual URLs for each chunk.
� The chunks contain both audio and video in an MPEG-2 Transport Stream format supporting
H264 video and AAC or MP3 audio.
� Microsoft's Smooth Streaming
� Microsoft’s implementation3 uses an XML “Manifest” file to communicate the table of URLs to the
client. The URLs are then formed by filling in a supplied template with the required parameters.
� Each chunk contains either audio or video material in a “fragmented MP4” container. Audio and
Adaptive Streaming Solutions
14
� Each chunk contains either audio or video material in a “fragmented MP4” container. Audio and
video are thus requested separately and can be switched to different qualities separately.
� 3GP Dynamic Adaptive Streaming over HTTP (DASH)
� Server communicates the list of segments using a playlist file named MPD file
� 3GP DASH client checks MPD playlist to find the segment that best matches the current network
bandwidth and continues streaming with the newly selected segment with different bitrate
� Adobe's HTTP Dynamic Streaming
� Adobe uses yet another XML format. It has its own MP4 variant which also fragments the
metadata. The Flash player only supports H.264 and VP6 video and AAC and MP3 audio.
Apple HTTP Live Streaming
3/26/2012 15
� HTTP Live Streaming (also known as HLS) is an HTTP-based media streaming
� It works by breaking the overall stream into a sequence of small HTTP-based file downloads, each download loading one short chunk of an overall potentially unbounded transport stream (“ts”).
� At the start of the streaming session, client downloads an extended M3U playlist containing the metadata for the various sub-streams which are available.
� As the stream is played, the client may select from a number of different alternate streams containing the same material encoded at a variety of data rates, allowing the streaming session to adapt to the available data rate based on bandwidth adaptation algorithm implemented on the client side
� Apple HLS supports Video On Demand as well
Microsoft Smooth Streaming
3/26/2012 16
� Smooth Streaming is Microsoft's implementation of HTTP-based adaptive streaming, which is a hybrid media delivery method.
� When a client requests a specific source time segment from the IIS Web server, the server dynamically finds the appropriate Movie Fragment box within the contiguous MP4 file and sends it over the wire as a standalone file, thus ensuring full cacheability downstream.
� ISMC file is an XML document that contains metadata required by a MSS client for streaming the media fragments. The ISMC file contains appropriate fragment duration, audio/video codec details etc.
� A MSS client starts the streaming by downloading the client manifest (ismc) file and parsing the ismc file from server and issues RESTful URL to download the media fragments.
� The client parses the ISMC file and understands the media content available in different bitrates for seamless streaming and downloads required fragments based on current download rate
� Providing multiple encoded bit rates of the same media source also allows clients to seamlessly and dynamically switch between bit rates depending on network conditions and CPU power.
3GP DASH
3/26/2012 17
� DASH (Dynamic Adaptive Streaming over HTTP) is a multimedia streaming technology where a multimedia file is partitioned into one or more segments and delivered to a client using HTTP.
� A media presentation description (MPD) describes segment information (timing, URL, media characteristics such as video resolution and bit rates).
� Segments can contain any media data, however the specification provides specific guidance and formats for use with two types of containers: MPEG-4 file format or MPEG-2 Transport Stream.
Cloud based Streaming Server
Cloud based Streaming Server – Multi Client Streaming
Storage Server
Edge Server
MP4 Audio Video Fragments
MPEG TS ChunksHTTP Live
Streaming
19
Origin Server
Edge Server
Edge Server
3gp Segments
Smooth
Streaming
Dynamic
Adaptive
Streaming
Cloud based Streaming Server - Technology
• The Unified Streaming Server runs on the Origin Server. This is the server that has access to the video files for
VOD presentation or acts as a publishing point for encoders to ingest Live streams. It delivers the Video-On-
Demand/Live content and metadata files required by the different clients.
• In front of the Origin Servers are optional edge servers. These are standard HTTP caching nodes and their
number depend on the expected 'load', i.e. the number of simultaneous viewers.
• Requests are spread over the available edge servers. The initial request will be forwarded to the origin server.
Once the response is retrieved, it is stored in a caching server at the edge and passed on to the requesting
client. All subsequent requests for this object will be served from the cache. The object is removed from the
cache when it’s no longer valid (as specified by the origin server). Valid objects may also be deleted by the
cache management to free up space for more popular objects.
20
cache management to free up space for more popular objects.
• When a client (iPhone/Silverlight/Flash) starts a presentation it connects to the closest Edge server. On a
cache-miss the Edge server requests the media fragment from the Origin server and caches it.
• USS delivers video in a series of short fragments. The content is available in different qualities allowing viewers
with high-bandwidth connections to enjoy high definition (HD), while others may receive a lower quality stream
depending on the current network conditions, the screen size and CPU capabilities.
Adaptive Streaming
Streaming
Media Origin
Server
Edge Caching
Server
Low Bandwidth
300 kbps
21
• Video served by server dynamically adapts to network conditions
• Server collect reports and understand the client network condition and serve contents
suitable for quality streaming in the client side
• Server supports switching video contents based on client request (Dynamic Adaptive
Streaming) which includes support for Apple HLS, MSFT Smooth Streaming, 3GP DASH
& Adobe HTTP Dynamic Streaming
• Video served by server dynamically adapts to network conditions
• One time encoding
• Handling multiple clients
• Live Streaming
• Live Video Broadcasting
• Video on Demand
• IPTV Support
• Transcoding
Cloud based Streaming Server - Features
22
• Transcoding
• TransMux
• Improved Throughput Efficiency (Saving Bandiwidth)
• Secured Video Delivery (SVD)
• Support for standard HTTP delivery systems
• Uses the MP4 standard container format, the industry standard for adaptive bitrate delivery
(Adaptive Streaming)
• Multi Client Streaming Support - Apple HTTP Live Streaming, Microsoft Smooth Streaming,
3gp DASH & Adobe Dynamic Streaming
• Supports PlayReady and AES encryption
Cloud based Streaming Server - Advantages
• Advantages to the Operator
• Operator will be able to save bandwidth pipe and also will be able to serve all the
users with best quality
• One solution will address all different clients like IPhone, Windows Phone & Android
with different adaptive streaming technologies
• Manage space effectively with one time encoding logic
• Advantages to the Content Distributor
• Lower cost to deploy. Generic HTTP caches/proxies can be used and its doesn’t
require specialized servers at each node.
23
require specialized servers at each node.
• Better scalability and reach as it dynamically adapts to network conditions and video
rendering performance.
• No more guessing on what bitrates are most likely to be accessible to the audience.
• Every viewer gets the best available experience.
• Advantages to the Viewer
• No disconnects, no buffering and stuttering (the viewer has to meet the minimum
bitrate/cpu requirements)
• Seamless bitrate switching.
Content Adaptation Gateway
Cloud based “Content Adaptation AGteway“
3G Carrier Network
Packet DataPacket DataPacket DataPacket Data
NetworkNetworkNetworkNetwork
RNCRNCRNCRNC
Content Adaptation GatewayContent Adaptation GatewayContent Adaptation GatewayContent Adaptation Gateway
Content Adaptation GatewayContent Adaptation Gateway
25
Operator
Deployed
Streaming
Servers
(RTSP/ HTTP)(RTSP/ HTTP)(RTSP/ HTTP)(RTSP/ HTTP)Linux / Windows OS
TransMUXDynamic Rate
Adaptation
Improved
Throughput
Efficiency
Video
Optimization
Content Adaptation GatewayContent Adaptation Gateway
Video
Caching
Over the TOP
(OTT) Video
Multi-user
SupportQoS
Streaming ClientStreaming ClientStreaming ClientStreaming Client
Features:
Video Optimization
Video Transrating
Video Smoothing
Video Pacing – JIT Video Delivery
Video Caching
Client Adaptation
Content Adaptation Gateway – E2E Setup
Home
G/W
PC
IP over Fibre
Broadcast
Server
VoD Server
IP Multicast
IP Unicast
Service ProvidersContent
Providers
End DevicesOperator Network
IP
Router
STB
IP over Fibre
Network
VoD Server
YouTube
Sever
IP Unicast
HTTP
Content
Adaptation
Gateway
OTT Server
Gaming
Server
IP
Router
IP
Router
HTTP
RNC
Node-B
Frog’s Adaptive
Streaming Client
Content Adaptation Gateway - Features
Features Description Benefits
Video Optimization Optimize video properties like framerate,
resolution etc based on client capability and
human perception
Avoiding client side overheads like
Scaling.
Adaptive Video Transrating Change the Video Bitrate dynamically
according to network conditions.
Increases quality of user experience by
reducing stalls (rebuffering).
Client Adaptation Gateway detects each device and its video
profile using a database of device profiles.
Different devices have different profiles -
screen sizes, resolutions, CPUs, players,
and codecs and levels.
Optimize Bandwidth
27
and codecs and levels.
Content Caching Caching reduces upstream operating
expenses by storing data in temporary
memory for local distribution.
Caching saves multiple retrievals of the
same video from content distributors,
which saves bandwidth in the upstream
link and minimizes operating expenses.
Network Monitoring Determine optimization parameters based
on subscriber, content & network conditions
(Operator n/w & client connection).
Ensures optimization occurs according to
network conditions.
Video pacing - Just-In-Time Delivery
Transmit data as per client buffer size to
enable smooth playback.
Transmit data as per encoding rate of video.
Eliminates wasted downloads of entire
video in cases where user watches only
initial portion.
Video Smoothing Effective video transmission of variable
bitrate video
Avoid Bandwidth fluctuations
Any queries ?
28
Love What You Make