2 Terms, acronyms and definitions
3.2 Creation and uploading of rich content
3.3 Push distribution of rich content
3.4 Pull distribution of rich content
5.1 Architecture for OCTV devices
5.2 Device set up for Core OCTV
6 Component and service technologies
7 Reference Software (Platform)
7.1 Functionality and technologies
8 Process to add a new module to the platform
Annex A - Technology walkthroughs
A.1 Technologies for real-time streaming
A.2 Technologies for content creation and uploa
A.3 Technologies for push distribution
A.4 Technologies for pull distribution
Annex B - Guidelines for the OCTV project execution
"Connected TV" is seen by many as the means to provide the much sought-after convergence between traditional broadcast television and various new forms of video delivery. The largely proprietary implementations of Connected TV are a major impediment to the development of a promising new market of content, products, services and applications.
This Open Connected TV (OCTV) specification (the Specification) has been designed to provide the means to support interactive rich media streaming services in a plurality of application domains, such as to enrich one-way TV services with support to interoperable multichannel two-way content access and delivery, interactive video service on mobile networks etThus the Specification creates the conditions for the development of a global market for video services by providing a technical specification based on international standards and an industry-grade implementation of an Open Connected TV platform.
This is the first specification issued by the OCTV Project, an initiative of the Digital Media Project, and is called "Core OCTV Specification" (C-OCTV Specification). It is divided in 6 parts:
This document includes two annexes. The first documents the walkthroughs that have been used to identify the component and service technologies and the second provides administrative background regarding the implementation and exploitation of the OCTV project.
This Specification is publiHowever, the code corresponding to part 6 Reference software is only available to OCTV members who have developed the portion of the software assigned to them and whose software has been accepted for inclusion in the OCTV Reference Software.
It should be noted that this document is not intended to be the specification and the software implementation of a complete product or a running service, but is a technology specification and an industry-grade implementation of software components that may be used by implementers in products and services according to the terms of the OCTV software licence.
Term |
Definition |
Conditional access system |
A system that enables a Service Provider to discriminate who can access its Service based on its own criteria |
Client |
The device used to provide or consume content from a Server by way of a network |
Content |
A content type that can be handled by the Specification |
Content description |
Technology allowing the description of content from different viewpoints (a.k.Metadata) |
Content type |
|
Core Open Connected TV |
A restriction of Open Connected TV for the purpose of phase 1 of the Specification |
Media framework |
An organised collection of software to handle digital media, such as demuxers and decoders |
Open Connected TV |
Standard technologies to enrich one-way TV services with support to interoperable multichannel two-way content access and delivery |
Platform |
The Client and Server Reference Software implementing the Specification |
Server |
A device providing Services to Clients |
Service |
The organised provisioning of Content to Clients |
Sink |
A device acting as a Client to consume content from a Server |
Source |
A device acting as a Client to provide content to a Server |
Specification |
This specification |
Trick mode |
A set of functionality that allows users to play Content from a Server as if it were from a VCR, e.g. pause, fast forward, fast rewind, slow forward, slow rewind, jump to previous/future frame etc. |
User management |
A server component to define and manage who and how can use a Service |
Content management |
A server component supporting the collection, managing, and publishing of Content |
Server provides a service to its subscribers whereby a subscriber can stream real-time video to any other subscriber.
In this use case John uses a Source device to send a real-time video to Jane's Sink via Server.
Server provides a service to its subscribers whereby a subscriber can upload content for distribution to a plurality of subscribers.
In this use case Mary creates and uploads a rich media video to Server.
Server provides a service to its subscribers whereby a subscriber can upload content for distribution to a plurality of subscribers. In this use case Mary sends a non-real-time video to a group of friends.
Server provides content on demand service to its subscribers.
In this use case Mario watches Mary's rich media video as content on demand.
The Core OCTV specification shall satisfy the set of requirements given below.
C-OCTV shall
The Platform shall
Fig. 1 provides a general architecture of an OCTV Device based on MPEG-M part In this architecture Applications running on an OCTV Device call the Engines in the Middleware via an Application-Middleware API.
Fig. 1 - Generic OCTV Device architecture
The following possibilities exist for an App
In case the call is performed via the the Orchestrator Engine.
Fig. 2 shows the notion of Aggregation of Elementary Services and Orchestration of Technology Emgines.
Fig. 2 - Aggregation of Services and Orchestration of Technologies
Fig. 3 shows how an application running in an OCTV Device communicates with a remote OCTV Device via MPEG-M service protocols.
Fig. 3 - Communication between two OCTV Devices
When the OCTV Device at the right hand side (a "client") communicates with the Device at left hand side (a "server") the following happens:
The Specification provides the technologies necessary to support the use cases in chapter 3 satisfying the requirements in chapter 4 so as to enable interoperability of independent implementations of "Source", "Server" and "Sink" depicted in Fig. 3.
Fig. 4 - Building blocks of the Core OCTV architecture
Please note that
The Source is a device (e.g. a computer equipped with appropriate peripherals, a camera with processing capability and WiFi) by means of which a user can
The Sink is a device (e.g. a computer equipped with appropriate peripherals) by means of which a user can
The Server is a device that
The following technologies are proposed to satisfy the given functionality
Functionality |
Technology |
Video coding |
AVC profile? |
Audio coding |
AAC profile? |
Still pictures |
JPEG baseline |
2D graphic image |
PNG |
Text |
Unicode |
Font |
OFF |
Composition |
LASeR Mini profile |
Metadata |
MPEG-7 Simple Profile/TVA (which subset?) |
Digital item |
DID |
Content identification |
DII |
File format |
ISO Base Media FF (which subset of it?) |
|
MP4 FF |
|
DI FF? |
Licence |
REL DAC profile |
Conditional access system |
MSAF |
Streaming |
MPEG-2 TS, RTSP |
Presentation |
Qt |
Widget |
MPEG-U part 1 |
The relevant technologies from the MPEG-M part 4 standard are given below
Elementary Service |
Purpose |
Adapt Content |
|
Authenticate User |
|
Create Content |
|
Create Licence |
|
Deliver Content |
|
Describe Content |
|
Identify Content |
|
Identify User |
|
Package Content |
|
Process Content |
|
Search Content |
|
Store Content |
|
Verify Licence |
|
The following functionality and technologies are used
Device |
Functionality |
Technology |
Server |
Environment |
JEE + Spring |
|
User management |
Spring security |
|
Content management and storage |
Code to be developed ad hoc |
|
Data Persistence and Processing System |
Hibernate and DBMS (e.g. Postgres) |
|
Data representation (Sink requests) |
XML/HTML/CSS/LASeR |
|
Web Services management |
REST API |
|
General security layer |
Spring security |
|
|
|
Source/Sink |
Environment |
Linux/C++ |
|
Streaming |
GStreamer |
|
Media Framework |
GStreamer |
|
Rendering |
Qt |
Fig. 2 depicts the combination of the component technologies above to implement the Core OCTV Server
Fig. 5 - Architecture of Core OCTV Server
Fig. 6 provides a general architecture of a C-OCTV client.
Fig. 6 - Architecture of Core OCTV Client
OCTV adopts a test bed, whose initial configuration is described in Annex C, with the following features
A proposal to test an OCTV module for acceptance may fall into one of three categories
In case the functionality is already present in the testbed
In case the functionality is not yet present in the testbed
In case the functionality that is partly present in the testbed a mix of the two preceding cases.
In case the proposed engine(s) pass the above tests, they become part of the OCTV platform and the proponent becomes an OCTV member as defined in Annex B
Annex A - Technology walkthroughs
A.1Technologies for real-time streaming
The following protocols and technologies are needed to satisfy the given functionality
Device |
Functionality |
Protocol |
Technology |
Source |
Authenticate with Server |
Identify User |
|
|
|
Authenticate User |
|
|
Encode camera output |
|
Media framework |
|
Deliver to End User |
Deliver Content |
|
Server |
Deliver to End user |
Package Content |
|
|
Adapt Content |
Adapt Content |
Media framework |
|
Encrypt content |
Process Content |
IPMP components |
|
Encrypt keys |
Process Content |
IPMP components |
|
Stream content |
Deliver Content |
RTSP |
|
Deliver to End User |
Deliver Content |
|
Sink |
Stream receiver |
Deliver Content |
RTSP |
|
Decrypt keys |
Process Content |
IPMP components |
|
Decrypt content |
Process Content |
IPMP components |
|
Decode content |
Process Content |
Media framework |
A.2Technologies for content creation and upload
The following protocols and technologies are needed to satisfy the given functionality
Device |
Functionality |
Protocol |
Technology |
Source |
Encode camera output |
|
Media framework |
|
Edit AV sequence |
|
Media framework |
|
Compose a scene |
|
LASeR Mini Profile |
|
Create DI |
Create Content |
DIDL |
|
|
Describe Content |
MPEG-7 SMP/TVA |
|
|
Create Licence |
REL |
|
|
Identify Content |
|
|
Authenticate with Server |
Identify User |
|
|
|
Authenticate User |
|
|
Upload DI |
Store Content |
|
A.3Technologies for push distribution
The following protocols and technologies are needed to satisfy the given functionality
Device |
Functionality |
Protocol |
Technology |
Source |
Request to distribute video |
Deliver Content |
|
Server |
Adapts video for each destination |
Adapt Content |
Media framework |
|
|
Deliver Content |
RTSP |
Sink |
Stream receiver |
Deliver Content |
RTSP |
|
Decode content |
Process Content |
Media framework |
A.4Technologies for pull distribution
The following protocols and technologies are needed to satisfy the given functionality
Device |
Functionality |
Protocol |
Technology |
Sink |
Authenticate with Server |
Identify User |
|
|
|
Authenticate User |
|
|
Search for content |
Search Content |
|
Server |
Displays choices |
|
|
Sink |
Selects content of interest |
|
|
|
Checks compatibility with rights |
Verify Licence |
REL |
Server |
Deliver to End user |
Package Content |
|
|
Adapt Content |
Adapt Content |
Media framework |
|
Stream content |
Deliver Content |
RTSP |
Sink |
Stream receiver |
Deliver Content |
RTSP |
|
Decode content |
Process Content |
Media framework |
Annex B - Guidelines for the OCTV project execution
The development and use of the OCTV Platform shall be based on the following guidelines
OCTV manager |
An officer with the task to
|
OCTV master plan |
A plan of OCTV work initially agreed by DMP members and invited technical experts and subsequently defined by OCTV members |
OCTV member |
A DMP member whose assigned portion of OCTV work has been delivered within the agreed time frame and accepted by the OCTV manager |
OCTV platform |
The Platform target of the OCTV project |
OCTV scope |
The MPEG Multimedia Service Platform Technologies standard, MPEG-M, and portions of other publicly available specifications as agreed by the OCTV members |
OCTV software |
The ensemble of software modules constituting the OCTV platform |
OCTV specification |
The technical specification based on which the OCTV platform is developed |
OCTV work |
Any activity carried out to plan, develop and manage the OCTV platform |
Annex C - The OCTV test bed
The OCTV test bed has the following features
The overall architecture of the set up is given by Fig. 7
Fig. 7 - End-to-end architecture of the proposed OCTV testbed
The architecture of the player is depicted by Fig. 8
Fig. 8 - LASeR player architecture
The Media Framework and LASeR Parser Engines implement the architecture depicted in Fig. 9
Fig. 9 - Internal architecture of Media Framework and LASeR Parser Engine
.