287896 D2.3 Interim - CORDIS

132
ROMEO WP2 Page 1/132 Remote Collaborative Real-Time Multimedia Experience over the Future Internet ROMEO Grant Agreement Number: 287896 D2.3 Interim reference system architecture report

Transcript of 287896 D2.3 Interim - CORDIS

ROMEO WP2 Page 1/132

Remote C ollaborative Real-Time Multimedia Experience over

the Future Internet

ROMEO

Grant Agreement Number: 287896

D2.3

Interim reference system architecture report

ROMEO WP2 Page 2/132

Document description

Name of document Interim reference system architecture report

Abstract This document updates ROMEO reference end-to-end system architecture and the key system components defined in Deliverable 2.2.

Document identifier D2.3

Document class Deliverable

Version 1.0

Author(s) H. Gökmen, B. Demirtaş, E. Ertaş, E. Özdemir, O. Dinçer, V. Ağ, U. Halatoğlu, H. Keskin (ARC) A. Akman, S. O. Pelvan, S. Çiftçi, E. Çimen (TTA) H. Ibl, H. Weigold, J. Lauterjung (R&S) N. Just, P. tho Pesch, M. Weitnauer (IRT) H. Marques, J. Rodriguez, J. Ribeiro (IT) I. Politis, M. Likourgiotis, K. Birkos (UP) E. Ekmekcioglu, C. Kim, I. Elfitri, S. Dogan, V. De Silva, H. Lim (US) X. Shi, B. Evans (MULSYS) F. Pascual Blanco, B. Iribarne (TID) N. Tizon (VITEC) D. Doyen (TEC) V. Petrov(MMS)

QAT team F. Pascual Blanco (TID); A. Akman (TTA); I. Politis (UP)

Date of creation 07-Oct-2012

Date of last modification 20-Dec-2012

Status Final

Destination European Commission

WP number WP2

Dissemination Level Public

Deliverable Nature Report

ROMEO WP2 Page 3/132

TABLE OF CONTENTS

LIST OF FIGURES...................................................................................................................... 7

LIST OF TABLES .................................... ................................................................................... 9

1. INTRODUCTION ............................................................................................................... 11

1.1 Purpose of the Document ......................................................................................... 11

1.2 Scope of the Work ..................................................................................................... 11

1.3 Objectives and Achievements ................................................................................... 11

1.4 Structure of the Document ........................................................................................ 11

2. ARCHITECTURE UPDATES .............................. .............................................................. 12

2.1 System Components Architecture’s Updates ........................................................... 13 2.1.1 P2P .................................................................................................................... 13 2.1.2 Mobility .............................................................................................................. 15 2.1.3 DVB Transmission ............................................................................................. 16 2.1.4 DVB Reception .................................................................................................. 17 2.1.5 Synchronisation ................................................................................................. 18 2.1.6 Network Monitor ................................................................................................ 18 2.1.7 Internet Resource and Admission Control Subsystem ..................................... 19 2.1.8 User Generated Content ................................................................................... 23 2.1.9 Audio Encoding ................................................................................................. 23 2.1.10 Audio Rendering ................................................................................................ 25

2.2 Physical Mapping of System Components Updates ................................................. 25 2.2.1 Spatial audio renderer ....................................................................................... 25

3. REFERENCE ROMEO ARCHITECTURE ........................................................................ 28

3.1 Content Generation ................................................................................................... 28 3.1.1 Fulfilled Requirements ....................................................................................... 28 3.1.2 Detailed Block Diagram ..................................................................................... 28 3.1.3 Module Explanations ......................................................................................... 28 3.1.4 Inter-Module Connections ................................................................................. 29

3.2 3D Video Encoding.................................................................................................... 31 3.2.1 Fulfilled Requirements ....................................................................................... 31 3.2.2 Detailed Block Diagram ..................................................................................... 31 3.2.3 Module Explanations ......................................................................................... 31 3.2.4 Inter-module connections .................................................................................. 32

3.3 P2P ............................................................................................................................ 34 3.3.1 Fulfilled Requirements ....................................................................................... 34 3.3.2 Detailed Block Diagram ..................................................................................... 34 3.3.3 Module Explanations ......................................................................................... 34 3.3.4 Inter-Module Connections ................................................................................. 39

3.4 Mobility ...................................................................................................................... 44 3.4.1 Fulfilled Requirements ....................................................................................... 44 3.4.2 Detailed Block Diagram ..................................................................................... 44

ROMEO WP2 Page 4/132

3.4.3 Module Explanations ......................................................................................... 44 3.4.4 Inter-Module Connections ................................................................................. 45

3.5 DVB Transmission & Reception ................................................................................ 46 3.5.1 Fulfilled Requirements ....................................................................................... 46 3.5.2 Detailed Block Diagrams ................................................................................... 46 3.5.3 Module Explanations ......................................................................................... 47 3.5.4 Inter-Module Connections ................................................................................. 48

3.6 Virtualisation .............................................................................................................. 51 3.6.1 Fulfilled Requirements ....................................................................................... 51 3.6.2 Detailed Block Diagram ..................................................................................... 51 3.6.3 Module Explanations ......................................................................................... 51 3.6.4 Inter-Module Connections ................................................................................. 52

3.7 Synchronisation ......................................................................................................... 56 3.7.1 Fulfilled Requirements ....................................................................................... 56 3.7.2 Detailed Block Diagram ..................................................................................... 56 3.7.3 Module Explanations ......................................................................................... 56 3.7.4 Inter-Module Connections ................................................................................. 57

3.8 Audio-Visual Adaptation ............................................................................................ 59 3.8.1 Fulfilled Requirements ....................................................................................... 59 3.8.2 Detailed Block Diagram ..................................................................................... 59 3.8.3 Module Explanations ......................................................................................... 59 3.8.4 Inter-Module Connections ................................................................................. 60

3.9 A/V Communication Overlay ..................................................................................... 62 3.9.1 Fulfilled Requirements ....................................................................................... 62 3.9.2 Detailed Block Diagram ..................................................................................... 62 3.9.3 Module Explanations ......................................................................................... 62 3.9.4 Inter-Module Connections ................................................................................. 63

3.10 User Interface & Control ............................................................................................ 66 3.10.1 Fulfilled Requirements ....................................................................................... 66 3.10.2 Detailed Block Diagram ..................................................................................... 66 3.10.3 Module Explanations ......................................................................................... 66 3.10.4 Inter-Module Connections ................................................................................. 66

3.11 Authentication, Registration and Security ................................................................. 68 3.11.1 Fulfilled Requirements ....................................................................................... 68 3.11.2 Detailed Block Diagram ..................................................................................... 68 3.11.3 Module Explanations ......................................................................................... 68 3.11.4 Inter-Module Connections ................................................................................. 69

3.12 User Generated Content ........................................................................................... 71 3.12.1 Fulfilled Requirements ....................................................................................... 71 3.12.2 Detailed Block Diagram ..................................................................................... 71 3.12.3 Module Explanations ......................................................................................... 71 3.12.4 Inter-Module Connections ................................................................................. 74

3.13 3D Video Decoding ................................................................................................... 79 3.13.1 Fulfilled Requirements ....................................................................................... 79 3.13.2 Detailed Block Diagram ..................................................................................... 79 3.13.3 Module Explanations ......................................................................................... 79

ROMEO WP2 Page 5/132

3.13.4 Inter-module connections .................................................................................. 80

3.14 Video rendering ......................................................................................................... 82 3.14.1 Fulfilled Requirements ....................................................................................... 82 3.14.2 Detailed Block Diagram ..................................................................................... 82 3.14.3 Module Explanations ......................................................................................... 82 3.14.4 Inter-Module Connections ................................................................................. 82

3.15 Audio Encoding, Decoding & Rendering ................................................................... 84 3.15.1 Fulfilled Requirements ....................................................................................... 84 3.15.2 Detailed Block Diagram ..................................................................................... 84 3.15.3 Module Explanations ......................................................................................... 84 3.15.4 Inter-Module Connections ................................................................................. 85

3.16 Use Cases and System Component Mapping .......................................................... 87 3.16.1 User Join ........................................................................................................... 87 3.16.2 Live stream reception of fixed users with optimal conditions ............................ 88 3.16.3 A/V Adaptation .................................................................................................. 89 3.16.4 Peer disconnect ................................................................................................. 90 3.16.5 Initiating a Video Conference ............................................................................ 92 3.16.6 Starting a Video Conference ............................................................................. 92 3.16.7 Joining an Existing Collaborating Group ........................................................... 93 3.16.8 Leaving from a Collaborating Group ................................................................. 94 3.16.9 Periodic User Condition Reporting .................................................................... 95 3.16.10 User Generated Content Upload ................................................................... 96 3.16.11 User Generated Content Download .............................................................. 97 3.16.12 Intra-System Handover ................................................................................. 98 3.16.13 Multi-homing Transmission ........................................................................... 99 3.16.14 Inter-System Handover ............................................................................... 100 3.16.15 QoS Adjustment .......................................................................................... 103

3.17 Physical Mapping of System Components.............................................................. 106 3.17.1 Content Generation ......................................................................................... 106 3.17.2 Video Encoding ............................................................................................... 108 3.17.3 Video Decoding ............................................................................................... 108 3.17.4 Video Rendering .............................................................................................. 109 3.17.5 Audio Encoding, Decoding & Rendering ......................................................... 109 3.17.6 Mobility ............................................................................................................ 112 3.17.7 DVB Transmission & Reception ...................................................................... 113 3.17.8 Virtualisation .................................................................................................... 113 3.17.9 Synchronisation ............................................................................................... 114 3.17.10 Audio-Visual Adaptation .............................................................................. 114 3.17.11 A/V Communication Overlay ....................................................................... 114 3.17.12 User Interface & Control .............................................................................. 115 3.17.13 Authentication, Registration and Security ................................................... 115 3.17.14 User Generated Content ............................................................................. 115

4. CONCLUSION ................................................................................................................ 117

5. REFERENCES ................................................................................................................ 118

APPENDIX A: List of Requirements .................. .................................................................. 119

ROMEO WP2 Page 6/132

Overall System and Scenario Requirements ...................................................................... 119

Terminal Requirements ....................................................................................................... 121

Media Coding Requirements: .............................................................................................. 122

Networking Requirements ................................................................................................... 123

APPENDIX B: Glossary of Abbreviations: ............ .............................................................. 129

ROMEO WP2 Page 7/132

LIST OF FIGURES

Figure 1: Romeo Architecture user scenario ............................................................................................ 12

Figure 2: Romeo Architecture flow between server and network components ......................................... 12

Figure 3: Romeo Architecture flow between peer and network components ........................................... 13

Figure 4 – Multicast tree construction domain responsibilities ................................................................. 13

Figure 5 - Mobility Component Architecture ............................................................................................. 16

Figure 6 - DVB Transmission ................................................................................................................... 17

Figure 7 - DVB Reception – Test terminal Virtualisation .......................................................................... 17

Figure 8 - DVB Reception component in Mobile Terminal Device ........................................................... 18

Figure 9 – Synchronisation (Detailed module diagram) ........................................................................... 18

Figure 10 – NMS architecture .................................................................................................................. 19

Figure 11 – Network scenario illustrating the requirements and challenges for QoS and resources control. ............................................................................................................................................. 20

Figure 12 - User Generated Data Architecture ......................................................................................... 23

Figure 13 - The AbS-SAC Framework. .................................................................................................... 24

Figure 14 - Simplified block diagram of AAC encoder. ............................................................................. 25

Figure 15 – 3D Video and audio acquisition modules .............................................................................. 28

Figure 16 – 3D Video encoding process .................................................................................................. 31

Figure 17 - P2P Block Diagram ................................................................................................................ 34

Figure 18 - Block diagram for overlay ...................................................................................................... 35

Figure 19 - Block diagram for overlay Tree Management ........................................................................ 36

Figure 20 - Block diagram for packetisation ............................................................................................. 37

Figure 21 – IP Packet Structure ............................................................................................................... 38

Figure 22 – Chunk Selection .................................................................................................................... 39

Figure 23 – Mobility Component .............................................................................................................. 44

Figure 24 – Building blocks and inter module messages in DVB transmission test set-up ...................... 46

Figure 25 – Building blocks and inter module messages in DVB reception at user terminal and test set-up ......................................................................................................................................................... 47

Figure 26 - Virtualisation Network architecture ........................................................................................ 51

Figure 27 - Synchronisation Component .................................................................................................. 56

Figure 28 – Audio-Visual Adaptation messages ...................................................................................... 59

ROMEO WP2 Page 8/132

Figure 29- AV Communication Overlay Main blocks ................................................................................ 62

Figure 30 – User Interface & Control........................................................................................................ 66

Figure 31 – Authentication, Registration & Security Block Diagram ......................................................... 68

Figure 32 – Encryption Data Flow ............................................................................................................ 68

Figure 33 – User Generated Data Block Diagram .................................................................................... 71

Figure 34 – User Content Upload............................................................................................................. 71

Figure 35 – User Content Download ........................................................................................................ 72

Figure 36 – Terminal device with 2D/3D camera ..................................................................................... 73

Figure 37 – 3D Video decoding process .................................................................................................. 79

Figure 38 – Video Rendering block diagram ............................................................................................ 82

Figure 39 – 3D Audio encoding (above) and decoding & rendering (below) ............................................ 84

Figure 40 – User Join Scenario Sequence Diagram ................................................................................ 87

Figure 41 – User with optimal conditions live stream reception sequence diagram ................................. 88

Figure 42 – A/V adaptation triggered by Network Monitoring module sequence diagram ........................ 89

Figure 43 – A/V adaptation triggered by Synchronisation module sequence diagram ............................. 90

Figure 44 – Peer disconnect sequence diagram ...................................................................................... 91

Figure 45 – Initiating a video conference sequence diagram ................................................................... 92

Figure 46 – Starting a video conference sequence diagram .................................................................... 93

Figure 47 – Joining an existing collaborating group sequence diagram ................................................... 94

Figure 48 – Leaving from a collaborating group sequence diagram ........................................................ 95

Figure 49 – Network monitoring use case sequence diagram ................................................................. 96

Figure 50 – User generated content upload sequence diagram .............................................................. 97

Figure 51 – User generated content download sequence diagram .......................................................... 98

Figure 52 – Intra-System handover scenario sequence diagram ............................................................. 99

Figure 53 – Multi-homing transmission scenario diagram ...................................................................... 100

Figure 54 – Inter-System handover scenario sequence diagram ........................................................... 101

Figure 55 – Admission Control use case sequence diagram. ................................................................ 102

Figure 56 – Static QoS Adjustment ........................................................................................................ 103

Figure 57 – Virtual Router Configuration ................................................................................................ 104

Figure 58 – Dynamic QoS Adjustment ................................................................................................... 105

ROMEO WP2 Page 9/132

LIST OF TABLES

Table 1 - P2P Header fields - updated ..................................................................................................... 14

Table 2 – Spatial audio render for the fixed terminal Physical Requirements .......................................... 26

Table 3 – Spatial audio render for the portable terminal Physical Requirements ..................................... 26

Table 4 – Spatial audio render for the mobile terminal Physical Requirements ....................................... 26

Table 5 – Spatial audio renderer for Wave Field Synthesis: Physical Requirements ............................... 27

Table 6 – Content Capture Messages...................................................................................................... 30

Table 7 – 3D Video encoder messages .................................................................................................. 33

Table 8 – P2P Header fields .................................................................................................................... 38

Table 9 – Messages ................................................................................................................................. 43

Table 10 – Media Aware Proxy Messages ............................................................................................... 45

Table 11 – DVB Transmitter & Receiver signals and messages .............................................................. 50

Table 12– Virtualisation Messages .......................................................................................................... 55

Table 13 – Synchronisation & Network Monitor Messages ...................................................................... 58

Table 14 – Audio-Visual Adaptation Messages ........................................................................................ 61

Table 15 – Audio-Visual Communication Overlay Messages ................................................................... 65

Table 16 – User Interface & Control Messages ....................................................................................... 67

Table 17 – Authentication, Registration and Security Messages ............................................................. 70

Table 18 – User Generated Content Messages ....................................................................................... 78

Table 19– 3D video decoding messages ................................................................................................. 81

Table 20 – Video Rendering Messages ................................................................................................... 83

Table 21 – Audio Decoding/Rendering Messages ................................................................................... 87

Table 22 – Video Acquisition Physical Requirements ............................................................................ 107

Table 23 – Audio Acquisition Physical Requirements ............................................................................ 107

Table 24 – Post-acquisition Physical Requirements .............................................................................. 107

Table 25 – Scalable multi-view video encoder Physical Requirements.................................................. 108

Table 26 – Scalable multi-view video decoder Physical Requirements.................................................. 109

Table 27 – Video Rendering Physical Requirements ............................................................................. 109

Table 28 – Spatial audio encoder Physical Requirements ..................................................................... 110

Table 29 – Spatial audio editor Physical Requirements ......................................................................... 110

Table 30 – Spatial audio decoder Physical Requirements ..................................................................... 110

ROMEO WP2 Page 10/132

Table 31 – Spatial audio render for the fixed terminal Physical Requirements ...................................... 111

Table 32 – Spatial audio render for the portable terminal Physical Requirements ................................. 112

Table 33 – Spatial audio render for the mobile terminal Physical Requirements ................................... 112

Table 34 – Spatial audio renderer for Wave Field Synthesis: Physical Requirements ........................... 112

Table 35 – Mobility Physical Requirements ........................................................................................... 112

Table 36 – DVB Transmission & Reception Physical Requirements...................................................... 113

Table 37 – Virtualisation Physical Requirements ................................................................................... 114

Table 38 – Synchronisation Physical Requirements .............................................................................. 114

Table 39 – Audio-Visual Adaptation Physical Requirements ................................................................. 114

Table 40 – A/V Communication Overlay Physical Requirements ........................................................... 114

Table 41 – User Interface & Control Physical Requirements ................................................................. 115

Table 42 – Authentication, Registration and Security Physical Requirements ....................................... 115

Table 43 – User Generated Content Physical Requirements for mobile terminal .................................. 115

Table 44 – User Generated Content Physical Requirements for portable terminal ................................ 116

ROMEO WP2 Page 11/132

1. INTRODUCTION

1.1 Purpose of the Document The main objective of this document is to provide the overall picture of the ROMEO architecture at the end of month 15 and serve as a basis for the development activities in the rest of the project. This document focuses on the ROMEO architecture modules that have been updated since deliverable D2.2 “Definition of the initial reference end-to-end system architecture and the key system components”. This deliverable will also feed deliverable D2.4 “Final reference system architecture report” with the possible updates inserted during the development phase of the ROMEO project.

1.2 Scope of the Work This document is an update document for system architecture of ROMEO project which is submitted in month 6 as Deliverable 2.2 “Definition of the initial reference end-to-end system architecture and the key system components”. This document mainly includes the modifications/changes that have been made on the initial reference architecture since D2.2 [1]. Deliverable D2.2 also kept as a section in this document not only to highlight the modifications but also to have a complete architecture design including the untouched components within this deliverable.

1.3 Objectives and Achievements With this deliverable, it is aimed to provide updates over the ROMEO system architecture. This document is considered as a snapshot of the ROMEO architecture by month 15 of the project which will have a impact on the development activities in the next year.

1.4 Structure of the Document The document is composed of four sections as follows:

• Section 2 is concentrated on updates over base architectural design which has been specified in D 2.2.

• Section 3 is dedicated to the detailed explanations of the system components’ architecture included in D2.2, which also covers the architecture components that have not been modified.

• Section 4 is dedicated for a summary of the document.

References and appendices are placed at the end of the document.

ROMEO WP2 Page 12/132

2. ARCHITECTURE UPDATES ROMEO platform aims collaboration between users. Users can receive content from different domains such as DVB, IP and 3G / LTE. ROMEO considers multiple user types as the content viewer. Users can watch the content on a multi-view display, portable laptop screen or a smartphone. All these users are expected to receive the content at the same time. This will enable users to communicate over an audio-visual overlay channel. Figure 1 shows brief architecture of the whole ROMEO platform.

Figure 1: Romeo Architecture user scenario

ROMEO platform was defined in 2 sections in deliverable 2.2: server and peer. Although there is no new component, it is decided to control the architecture in three parts. Server, network and peer. This is done mainly to control network layer tasks more clearly. ROMEO platform’s content flow is described in the figures below. Figure 1 describes flow from server to network part and Figure 2 describes network to display part.

Figure 2: Romeo Architecture flow between server and network components

ROMEO WP2 Page 13/132

Figure 3: Romeo Architecture flow between peer and network components

2.1 System Components Architecture’s Updates

2.1.1 P2P

2.1.1.1 Topology Builder The P2P Topology Builder (TB) module specification has been updated in D5.1 [2] to delegate the construction of Internet Service Provider (ISP) level multicast trees on the Internet Resource and Admission Control Subsystem (IRACS). The Resource and Admission Manager (RAM) of IRACS is now the module responsible for this operation, see ” Multicast tree construction domain responsibilities ” figure for the details. The main reason for this decision was the foreseen advantage that the construction of QoS aware trees would bring to the ISP’s core network – further details on the reasoning behind this approach can be found on section 3.8.3.1. With this approach, the amount of bandwidth consumed by ROMEO service at the ISP core network is significantly reduced, while allowing peer aggregation by geo-location (based on which ISP Edge router is feeding the peers).

Figure 4 – Multicast tree construction domain responsibilities

The new TB specification enables the construction of the distribution trees per each Edge router, which brings the following advantages to ROMEO:

� Resiliency: by using tree separation, a major fault in a specific part of the network will not affect other parts;

ROMEO WP2 Page 14/132

� Performance: tree depth is significantly reduced, since peers at access level have improved downstream and upstream bandwidth which allows more children per parent;

Quality: the total number of hops between top level parents and its children is significantly lower, which contributes to reduce the packet/chunk delay, jitter and packet loss. Recovery from minor faults (such as peer churn) can also be achieved in a faster way, since the READY link (backup parent) is on the same access network.

2.1.1.2 P2P Packetisation The size of the P2P header is defined as 14 bytes with the size information for the all fields are provided as bits in Table 1. The “Digital Signature” field is replaced by “CRC” field in this version of the header definition.

Header Parameter

Purpose Size (in bits)

Content Identifier

Unique id for the content to match with DVB stream

4

Chunk identifier

Unique id, used for reporting defect P2P chunks

16

PID (Stream id)

Packet ID, used for identifying different elementary streams

13

PCR Program clock reference, used for synchronising P2P and DVB-T2 streams

33

Metadata flag If set, the payload contains metadata (overrides audio flag)

1

View identifier Identifies different video views 3

Descriptor number

Indicates the different descriptors 3

Layer flag Indicates the layer type: either base or enhancement layer

3

Audio flag If set, the payload contains audio data 1

Payload size Size of the payload (number of bytes) 16

CRC CRC value for the payload 16

Priority Indicates priority of the stream to decide if the stream is discardable

3

Table 1 - P2P Header fields - updated

ROMEO WP2 Page 15/132

2.1.2 Mobility In D2.2, it was suggested that the mobile users shall be able to provide feedback regarding their network conditions to the ROMEO Mobility Component. In order to keep the Mobility Component implementation as transparent as possible to the overall architecture no modifications will be introduced to the Mobile Terminal’s stack. Nonetheless wireless channel condition will be monitored from the network’s side.

The architecture of the Mobility component is shown in Figure 5 and it offers a better insight to its functionalities. The Mobility component consists of three modules, the Media Aware Proxy module (MAP), the Media Independent Handover module (MIH) and the Proxy Mobile IP module (PMIP).

MAP acts as a transparent proxy of the P2P mobile client with functionalities extending from the Network layer to the Application layer. MAP receives packets destined to P2P mobile clients and parses their header in order to identify the information without changing the header’s fields. It is worth noting that the whole process is running at kernel level, hence it is very quick and contributes very little to the overall end-to-end delay.

In MIH two distinct handover decisions are defined within the ROMEO platform. The first is called Hard Handover Decision and it is initiated when there is only one candidate network to handover. The second is the QoE Driven Handover Decision which is based on upper layer information, hence is an extension to the standard IEEE 802.21 framework and will ensure high QoE to the mobile and portable user.

Finally, concerning IP Mobility, efficient techniques will be implemented to ensure seamless video streaming to the Mobile Node (MN). In particular, buffering for handover traffic will be used to eliminate packet losses. Additionally, fast handover techniques will be exploited to minimize handover delay by anticipating a handover and performing the PMIP handover process before the establishment of the new link.

ROMEO WP2 Page 16/132

Figure 5 - Mobility Component Architecture

2.1.3 DVB Transmission The DVB Transmission module has been tested with dummy Transport Streams to identify suitable transmission modes for the DVB system. The proposed mode is characterised by the following parameters:

• FFT size: 16k ext. • Modulation: 16QAM • Pilot pattern: PP2 • Guard Interval: 19/128 • Code Rate: 3/5 • Useful data rate: 14.8 Mbps

This transmission mode offers the bit rate that is necessary to transport over the DVB network one or two 3D video programs with HD resolution plus the accompanying audio and the required PSI/SI (Program Specific Information/ Service Information). It is also robust in the sense that it can be received not only by fixed receivers, but also by portable and mobile receivers.

The first examples of MPEG2 Transport Streams that are to be fed into the DVB system and into the Encapsulator (TS in IP), have been generated based on the Elementary Streams provided by other partners.

Figure 6 shows the DVB transmission module with one modification. The signals (both labelled 501) from the TS repository to the Encapsulation and to the DVB modulator/ transmitter have

ROMEO WP2 Page 17/132

been separated to illustrate that they are not identical. They use the same protocol (MPEG2 Transport Stream) but their contents are different. The signal to the DVB modulator/ transmitter contains the video, audio and data for the DVB link only. The signal to the Encapsulator contains a Transport Stream which includes different views and layers on different PIDs which are fed only into the P2P network (here depicted as ‘Internet’).

Figure 6 - DVB Transmission

2.1.4 DVB Reception The building blocks of the test terminal (Figure 7 shows the notebook and the protocol analyser with a DVB frontend) have been rearranged so that the IP frontend module is now located in the notebook and not in the protocol analyser.

The advantage of this arrangement is that the traffic over the Internal IP Interface is reduced, and at the same time the implementation of an LTE network card becomes easier due to the greater resources of the notebook.

Figure 7 - DVB Reception – Test terminal Virtualisation

Figure 7 shows the DVB Reception component in Mobile Terminal Device. DVB-T2 receiver is needed in order to receive DVB-T signal in Mobile Terminal Device. The chosen model for

ROMEO WP2 Page 18/132

ROMEO project is “PCTV nanoStick T2”. This module is connected to the device via internal USB interface. Low level drivers and SW support are specially developed for Mobile Terminal Device. The output stream is transferred to other ROMEO module – TS-Packetiser. After that the data are sent to Synchronization unit. This module is controlled by User Interface.

Figure 8 - DVB Reception component in Mobile Terminal Device

2.1.5 Synchronisation Synchronisation component’s input and delivery mechanisms are updated over deliverable 2.2. There will be 2 input interfaces at input and 2 interfaces at output. These interfaces will transfer data from DVB and P2P and deliver audio and video to decoders. Each view’s base and enhancement layers will be transmitted to the same decoder at the same time. This will enable decoders to construct 3D image more efficiently

Figure 9 – Synchronisation (Detailed module diagram)

2.1.6 Network Monitor The Network Monitoring Subsystem architecture has been now defined according to NMS Architecture graph shown Figure 10. All 4 identified sub-modules run concurrently, being different threads of the same process.

ROMEO WP2 Page 19/132

Figure 10 – NMS architecture

The JSON Server is a new sub-module responsible to listen on port 35000 and to process received JSON messages. It is also responsible to generate, according to a predefined format (ROMEO protocol), Request and Response JSON messages. The JSON Server uses the json-cpp lib that is also the parser used by the other ROMEO components/modules that interact with the NMS.

The Collector&Report sub-module, first introduced in D5.1 [2] is responsible for the collection of the network monitoring data, provided by the Monitoring Agent sub-module, and host specific hardware information. As described in D2.2 [1], after collecting the information, it must be sent (properly formatted) to the ROMEO Server (or super-peer). In order to avoid overwhelming the server with NMS reports, the reporting process was decided to be done iteratively - each peer sends its report to its parent who then aggregates the information with its own and reports it to its upstream parent, and so on – the process is repeated until it reaches the upper level peers. D5.1 [2] explains how this information is aggregated. The new NMS functionality, by which any NMS can query another NMS directly, without waiting for a specific timer, is provided in D6.3 [3]

The Monitoring Agent sub-module passively collects traffic statistics. It was introduced in D5.1 [2] and its specification was updated in D6.2 [4] and also on D6.3 [3]. It is currently capable of providing packet capture filters (IP addresses, port addresses, protocol). This sub-module can be instantiated has many times has needed, if a parent has 4 children, the NMS module will instantiate at least 4 Monitoring Agent instances to keep control of each children flow.

The Link Tester sub-module is responsible to provide link testing functions. It was first introduced in D5.1 [2] and its specification was also updated in D6.2 [4] and D6.3 [3]. This sub-module runs in a thread and gets a new instance for requested link test.

2.1.7 Internet Resource and Admission Control Subsy stem The Internet Resource and Admission Control Subsystem (IRACS) architecture is being developed taking into consideration the International Telecommunication Union – Telecommunication (ITU-T) definition of the Next Generation Network (NGN) [5]. According to ITU-T, the NGN is a packet-based network able to provide telecommunication services and able to make use of multiple broadband, QoS-enabled transport technologies and in which service-related functions are independent from underlying transport related technologies. It enables unfettered access for users to networks and to competing service providers and/or services of their choice. It supports generalized mobility which will allow consistent and ubiquitous provision of services to users

IRACS architecture is aware that a multitude of networking applications exist, each with its own behaviours and quality requirements. While ITU-T [6] recommends that one-way delay

ROMEO WP2 Page 20/132

should not exceed 400ms for general network planning, VoIP applications require 150ms of (mouth-to-ear) delay, 30ms of jitter and no more than 1% packet loss. Interactive Video or Video Conferencing stream embeds voice call and thus, has the same service level requirements as VoIP while Streaming Video has less stringent requirements due to buffering techniques usually built into the applications. Other applications such as FTP (File Transfer Protocol) and e-mails are relatively non-interactive and drop-insensitive. IP Routing and Network Management protocols need moderate bandwidth guarantees to assure proper networking control. This implies that, some services are delay-sensitive, others are not; some are bursty in nature, others are steady; some are lightweight, others are bandwidth consuming (e.g., ROMEO high-quality video), and so on. In this scope, Quality of Service (QoS) and network resource control technologies consist of defining tools and techniques to provide predictable, measurable, and differentiated levels of quality guarantees to applications according to their characteristics and requirements by managing network bandwidth, delay, jitter and loss parameters. Therefore, QoS and resource control is a critical element for the success of network convergence in the NGN and specifically in ROMEO.

In contrast to the IETF Integrated Services (IntServ) QoS architecture in which services are treated individually, IRACS conception is based on the Differentiated Services (DiffServ) architecture, seeking to improve scalability for the ROMEO P2P communication. As illustrated in Figure 11, there is a clear distinction between a Border Router (BR) at network edge and a core router (Core) inside a DiffServ backbone (transit) domain.

Figure 11 – Network scenario illustrating the requirements and challenges for QoS and

resources control.

A BR is responsible for interconnections with other neighbouring network domains and also connects with the core nodes inside the domain. However, a core node only connects to BR(s) and/or other core nodes in the same domain. Thus, all traffic flows entering an IRACS enabled domain are classified into four main Classes of Services (CoSs): Best Effort (BE), Assured Forwarding (AF) [9], Expedited Forwarding (EF) [10], and a dedicated Control Signalling (CS) class, in increasing order of priority. The classification may rely on multi-field in packets header (e.g., source address, destination address, source port, destination port, protocol type, etc.) to mark each IP packet header with a single 6 bits Differentiated Service Code Point

ROMEO WP2 Page 21/132

(DSCP) [8], according to the traffic behaviours and requirements. . For example, signalling or network management packets are mapped to the control class and the most time-sensitive applications flows, which demand express services without queuing delays or loss, are mapped to the EF. Besides, the real time traffic requiring laxer delay is put into the AF while the data traffic with no specific requirement on delay are placed in the BE CoS. This way, traffic flows are distinguished aggregately on nodes along their communication trees and are processed according to the IRACS service provisioning policies. The IRACS policies consist of a means by which a node dynamically allocates its resources to the CoSs on its interfaces to assure a proper differentiation between CoSs to smooth service convergence including the ROMEO-alike service delivery through P2P IP networks. Moreover, service requests to use the network infrastructure are subjects to admission control which is performed by the Network Control Decision Point – NCDP (see Figure 11) and traffic conditioning, involving metering, marking, shaping and policing, is applied to the traffic flows at the ingress BRs. The inter-domain connections are performed based on contracted Service Level Agreement (SLA) to define the services to be provided and Service Level Specification (SLS) to include the traffic treatment and performance metrics between the network provider and customers. A customer may be a single ROMEO user, another DiffServ domain (upstream domain) on a ROMEO P2P path, or a service provider connecting ROMEO users or servers, as illustrated in Figure 11 through server_A, server_B and server_C for simplicity. In addition, a Traffic Conditioning Agreement (TCA) may be included in an SLA to specify the traffic conditioning rules, that is, the rules for packet classification, the traffic profile and the corresponding rules for metering, marking, shaping or dropping.

Moreover, Figure 11 shows a certain number of multicast trees such as tree1 rooted at the BR1, tree2 and 3 rooted at BR2, tree4 and 5 rooted at BR3, which are created for streaming contents from the server_A, _B and _C across the domain. More importantly, It can be observed that multicast trees or communication paths inside a network usually correlate by sharing links. For example, the outgoing interface from core4 to core6 on link L8 in Figure 11 is shared by 3 different trees (tree1, 3 and 4) originated from various ingress BRs. This means that, the active traffic flows in a given class (e.g., BE, AF or EF) on an outgoing interface inside the network may belong to any tree that uses the interface while the traffic demands of a CoS on a tree are mostly unpredictable. Moreover, all the traffic flows on an interface would be competing to access the common interface’s resources which are limited. These dynamics impose that appropriate queuing disciplines or packet scheduling mechanisms (e.g., Weighted Fair Queuing -WFQ-) must be enabled on nodes to govern resource sharing among competing traffic flows on network interfaces in order to effectively assure transparent convergence of services (e.g., voice, video, data, etc) onto a single network. In particular, a minimal portion of the interface’s capacity (e.g., x %) needs to be allocated to each available CoS on the interface according to the local control policies. Besides, queues buffer management techniques (e.g., Random Early Detection - RED) may also be deployed to selectively drop certain packets as congestion avoidance measure when the interface is close to congestion. Figure 11

The IRACS packet dropping relies on the well-known DiffServ policing functions (e.g., RED) which takes into account the conformance of traffic to the contracted SLAs so that the flows that exceed their bandwidth share (out-of-profile traffic) are remarked to a lower priority class where they may be dropped depending on network resource conditions on the interface. This mechanism describes the externally observable packets forwarding behaviour (e.g., loss, delay and jitter) of a node applied to a CoS.

ROMEO WP2 Page 22/132

Strict priority queuing is the simplest scheduling method which consists of serving each CoS with given priority, where the packets of the higher priority CoS are always served, before those of all lower priorities. In such scenario, the ROMEO services may be mapped to the highest priority CoS. However, this approach is unfair to all classes except for the highest priority one and therefore, it cannot meet the convergence requirements imposed in the NGN. In other words, priority alone cannot allow for increasing network values especially in multiple CoSs environment where traffic of various priorities may be entering the domain from all ingress BRs and dynamically struggling to share the network resources. The Weighted fair queuing (WFQ) can guarantee each class with a bandwidth share proportional to its assigned weight and is broadly studied to provide differentiated services. Regardless of the scheduling discipline in use, a major challenge is that each CoS must be allocated with an appropriate amount of the outgoing interface’s capacity. In the legacy DiffServ design, the resource allocation to CoSs is performed in a static manner such that each CoS is assigned a percentage of the link capacity. Nonetheless, static approach has soon shown serious limitations as it leads to very poor resource utilization in the face of dynamic and mostly unpredictable traffic demands. Therefore, network resources assignments to various CoSs must be dynamically carried out by taking network resource current conditions and traffic requirements into account. Besides, a key design feature in DiffServ is to push control complexity to the network edge and leave interior nodes simpler for the purpose of scalability. In this sense, the NCDP as in Figure 11, is responsible for deploying appropriate control signalling (e.g., Next Step In Signalling – NSIS compliant protocol) to send reservations requests to the nodes along the multicast trees upon need where each node is enabled to retrieve the information conveyed in the signalling messages and to reconfigure its local reservation parameters accordingly. Hence, the nodes attempt to dynamically adapt to changes required to improve resource utilization during network operations time.

However, signalling on per-service request basis to readjust reservations is not scalable due to excessive signalling and the related processing overhead [11]. Alternatively, aggregate resource over-reservation was standardized by IETF in [12] to allow for reserving more resources than a CoS needs so that QoS signalling overhead can be reduced. The approach has been researched for many years [13]-[14]-[15] as promising to achieve differentiated QoS in a scalable manner. Prior et al. provided valuable studies and analyses of per-flow and the standard aggregate reservation approaches. They found that, while per-flow approach allows high utilization of bandwidth, it introduces undue signalling overhead and thus fails to scale. On the other hand, the aggregate approach reduces the signalling overhead at the expense of low resource utilization; the more resource is over-reserved, the more the signalling overhead decreases, and the more resource is wasted. It is also deeply investigated in [17] that aggregate over-reservation imposes a strong trade-off between the reduction of signalling overhead and the waste of resources. Therefore, the main objective of IRACS (detailed in Deliverable D5.1) is to implement a scalable aggregate resource over-reservation solution which can allow for significant reduction of the control signalling overhead while assuring differentiated control without wasting resources. This way, IRACS will enable IP networks with flexible and cost-effective control mechanisms to support transparent service convergence, which is of paramount importance to motivate the success of added-value and innovative applications such as the ROMEO-alike services (e.g., real-time and bandwidth consuming) at reasonable cost.

ROMEO WP2 Page 23/132

2.1.8 User Generated Content

Figure 12 - User Generated Data Architecture

For user generated content a new REST API is designed. As described in the figure above a REST API works over the HTTP protocol and lets the clients use URLs for accessing, searching downloading and uploading videos. The API lets the users to provide all the functionality explained in the D2.2 [1].

2.1.9 Audio Encoding In D2.2, two strategies had been suggested for the audio encoding procedure – MPEG Surround (MPS) with the Analysis-by-Synthesis (ABS) technique, and Advanced Audio Coding (AAC). The coder structure and operation for each of these techniques are described briefly in this deliverable. The ABS technique will be developed for the enhancement of the existing MPS encoding, and AAC will be used for the general coding of audio channels or objects to ensure the best achievable audio quality through integration with the rendering module in various configurations from binaural to 5.1-channel or Wave Field Synthesis (WFS). The framework of the analysis by synthesis spatial audio coding (AbS-SAC) is given in AbS-SAC Framework figure below. A spatial synthesis block, similar to that performed at the decoder side, is embedded within the AbS-SAC encoder as a model for reconstructing multichannel audio signals. Assuming that there is no channel error, the audio signals synthesised by the model in the encoder will be exactly the same as the reconstructed audio signals at the decoder side. The error minimisation block is used to compare the input signals with the reconstructed signals based on suitable criterion such as mean squared-error (mse) or other perceptual relevant criteria. The resultant downmix and residual signals as well as the optimal spatial parameters are then transmitted to the decoder.

ROMEO WP2 Page 24/132

Figure 13 - The AbS-SAC Framework. Based on this framework, various implementations are possible. They are listed as follows:

• Any approach of spatial analysis and synthesis can be implemented. In ROMEO, the spatial analysis and synthesis applied in MPS will be implemented within the framework.

• Different numbers of input and output channels can also be used. • Various types of suitable error criterion can be utilised. • For taking into consideration the error introduced in the communication channel, a

block modeling the channel error can be inserted between the spatial analysis and synthesis block.

• The AbS-SAC approach can be implemented to only modify the original blocks of the spatial analysis and synthesis in order to provide the optimal synthesised audio signals. In this case the trial error procedure may not be applied.

• The implementation can be intended to find the optimal synthesised signals by performing the trial and error procedure. Either the original blocks or the adapted version of the spatial analysis and synthesis can be applied.

The algorithm of AAC encoding is standardised in ISO/IEC 13818-7. Figure 14 describes the processes involved in the AAC encoding. The input signal is transferred into frequency domain by means of modified discrete cosine transform (MDCT), decomposed into subbands that approximate the human auditory critical bands. In this process, the block length of the transform and the window shape can be switched dynamically, depending on the signal characteristics, for improved coding efficiency and better frequency selectivity. Temporal Noise Shaping (TNS) technique allows for control of quantisation noise over time in signals to reduce audible artefacts such as pre-echo, by filtering the original spectrum, quantising the filtered signal, and then transmitting the quantised filter coefficients in the bitstream. Then the joint stereo coding process helps to save the bitrate by converting a channel pair of audio signals into the common component and the minimal additional information to recreate the channels. The quantiser block works in an adaptive non-uniform way with a built-in noise shaping function for increased SNR. The noise is further shaped via scale factors which are used to amplify the signal in certain spectral regions, modifying the bit allocation over frequency. The noiseless coding block indicates Huffman coding to encode the quantised spectral coefficients to optimize the redundancy reduction. The iteration process controls the quantiser step size and the amplification amount of signals in the scale factor bands, considering the number of available bits and the requirement of the perceptual model as the constraints to be balanced.

ROMEO WP2 Page 25/132

Figure 14 - Simplified block diagram of AAC encoder.

2.1.10 Audio Rendering In D2.2, the audio rendering section did not take into account a special treatment for the portable terminal. Moreover, the different rendering solutions are described more detailed in the following section.

For the different terminals, two different spatial audio rendering solutions are used. For the fixed terminal, the decoded and upmixed 5.1 signal will be rendered for the WFS playback.

On the mobile terminal, an object-based renderer will be applied. The decoded audio objects and their description will be rendered for Stereo or Binaural playback.

For the mobile terminal, the basic spatial audio rendering will be a dynamic binaural playback of the 5.1 signal. This means, that a pre-measured room and the surround loudspeaker within this room will be synthesized. The binaural signal will be dynamically adapted so the listener will be able to rotate free in the acoustic scene.

2.2 Physical Mapping of System Components Updates

2.2.1 Spatial audio renderer For the fixed terminal, the default rendering setting is 5.1 channel configuration. A PC running Windows®, with a quad-core processor of 2.2 GHz or more will be used for smooth operation. PCI Express and Firewire connectivity is necessary to use the multichannel audio interfaces. The platforms for developing, running and debugging the renderer also need to support ASIO (Audio Stream Input/Output) protocol for low-latency operation.

The binaural rendering for the mobile requires a head-tracker. This has to be connected through USB with the mobile or portable terminal.

For the binaural rendering method, 2 GB of RAM is the minimum and the CPU should also have multimedia / streaming / simd extensions (e.g. NEON). For supplementary audio data, 1GB storage should be available.

The advanced rendering of object-based audio on the portable terminal method requires much more computational power, depending on the number of audio objects and the kind of room that has to be rendered. Hence, a detailed specification of requirements is not possible, but the CPU performance and the available RAM should be as high as possible.

ALSA (Advanced Linux Sound Architecture) support should be also available for both, the portable and the mobile terminal. For a high quality spatial impress, the audio output for the headphones should have the best possible SNR (Signal to noise ratio).

ROMEO WP2 Page 26/132

The method of wave field synthesis (WFS) is for rendering natural and immersive spatial sound equivalent to one generated at the original source position. The system requires input audio signals to include objective data, i.e. source information. The WFS render PC produces output audio signals for each channel and sends them to a MADI-ADAT converter via a HDSPe card in MADI format and then to a ADAT-audio converter. The HDSPe card requires a PCI Express slot in the PC. The WFS sound generation system consists of loudspeaker arrays and power amplifiers. In addition, sub-woofers can also be used for low frequency compensation. The frequency range required for the secondary sources is between from 80 to 18000 Hz, but ideally, 20 to 20000 Hz can be best.

Module Name Spatial audio renderer for the fixed terminal

CPU Requirement 2nd generation Intel® Core™ i7-2670QM Processor

RAM Requirement 8 GB DDR3 (1,333 MHz)

OS Requirement Windows® 7 Professional 64-bit Compiler/Debugger Requirement Microsoft Visual Studio 2008

Table 2 – Spatial audio render for the fixed terminal Physical Requirements

Module Name Spatial audio renderer for the portable terminal

CPU Requirement Quad core or more with 2.8 GHz or more

RAM Requirement 8 GB DDR3 (1,333 MHz)

OS Requirement Linux OS or Windows® 7 Professional 64-bit Compiler/Debugger Requirement -

Table 3 – Spatial audio render for the portable terminal Physical Requirements

Module Name Spatial audio renderer for the mobile terminal

CPU Requirement OMAP5430

RAM Requirement 2 GB

OS Requirement Linux OS Compiler/Debugger Requirement -

Table 4 – Spatial audio render for the mobile terminal Physical Requirements

Module Name Spatial audio renderer for Wave Field Synthesis

CPU Requirement 2nd generation Intel® Core™ i7-2670QM Processor

RAM Requirement 8 GB DDR3 (1,333 MHz)

OS Requirement Windows® 7 Professional 64-bit Compiler/Debugger Requirement Microsoft Visual Studio 2008

ROMEO WP2 Page 27/132

Interfaces HDSP MADI card (PCI/PCI Express Slot), ADAT-MADI converter, A/D converter

Table 5 – Spatial audio renderer for Wave Field Synthesis: Physical Requirements

Each network interface of the peer must be able to provide meta-data (wireless vs. wired interface, kind of technology, maximum throughput, etc)

ROMEO WP2 Page 28/132

3. REFERENCE ROMEO ARCHITECTURE

3.1 Content Generation

3.1.1 Fulfilled Requirements REQ 1.14, REQ 3.1, REQ 3.2, REQ 3.3, REQ 3.4, REQ 3.5, REQ 3.6, REQ 3.7, REQ 3.8, REQ 3.13

3.1.2 Detailed Block Diagram

Figure 15 – 3D Video and audio acquisition modules

3.1.3 Module Explanations The audio and video acquisition modules are supposed to capture the different views and the different audio signals of a scene in real-time and in a synchronised manner.

3.1.3.1 Professional Content Capture

3.1.3.1.1 Audio/Video acquisition The two acquisition modules capture the audio (CAPTURED_AUDIO) and video (CAPTURED_VIDEO) data in real time and store them on hard drives (RECORDED_VIDEO, RECORDED_AUDIO). The corresponding contents are time stamped (TIME_STAMPS) and acquisition metadata (CAMERA_PARAM) are provided jointly.

In the video acquisition module, these metadata (cameras’ parameters, rig configuration, etc) are used for calibration purposes. Then, the obtained acquisition metadata (ACQUISITION_METADATA) are sent to the post-acquisition module.

3.1.3.1.2 Video post-acquisition This module is in charge of image rectification and multiview aligning. In addition, the depth maps are calculated thanks to the acquisition metadata.

3.1.3.1.3 Audio/Video synchronisation Based on the sampling frequencies, the time stamps and the starting signal (clapperboard) the audio and video streams are synchronised.

ROMEO WP2 Page 29/132

3.1.3.1.4 Video post-acquisition metadata Jointly to the raw data, post-acquisition metadata (POSTACQ_V_METADATA) are provided to the video encoders the visual attention metadata generator. In addition to the video format parameters (spatio-temporal resolutions, raw format, ratio…), authoring information could be provided in order to allow a better understanding/modelling of the image content.

3.1.4 Inter-Module Connections

3.1.4.1 CAPTURED_VIDEO (Message # 0100) In function of the multiview camera system, the cameras can transmit the captured video in two different formats:

- 8 cameras (UNIS): SDI (Serial Digital Interface) - 4 cameras (VITEC): GbE (Gigabit Ethernet)

3.1.4.2 RECORDED_VIDEO (Message # 0101) After being captured, the video data are recorded in RGB format on specific hard-drives. This video streams must be then considered with the side information: TIME_STAMPS, CAMERA_PARAM, ACQUISITION_METADATA to allow synchronisation and post-processing stages.

3.1.4.3 CAPTURED_AUDIO (Message # 0102) This simply represents the audio signals received through the various microphones connected to the capturing devices. These include individual audio objects and channels (in conventional 5.1-channel configuration).

3.1.4.4 TIME_STAMPS (Message # 0103) The different signals produced by the acquisition devices are transmitted with timing information. When the sampling rate of the acquisition is not constant, each sampe is provided with the corresponding time stamp. When the sampling is constant, the time stamps can be deduced from the sampling frequency.

3.1.4.5 CAMERA_PARAM (Message # 0104) These messages correspond to the static metadata: with fixed values (configurable or not) over the whole camera life.

3.1.4.6 ACQUISITION_METADATA (Message # 0105) These messages correspond to the ccalibration metadata: parameters whose values are measured or estimated, due to different rigs configurations or to quality decrease in time.

3.1.4.7 POSTACQ_V_METADATA (Message # 0106) These messages correspond to metadata (format description, authoring, scene description…) that are used then by the encoders and visual attention metadata generator to efficiently process the raw audiovisual contents.

3.1.4.8 RAW_VIDEO (Message # 0107) In the post-acquisition module, the recorded video streams are rectified and converted in YUV4:2:0 format. In addition, the corresponding depth map streams are generated and finally, the video+depth data (RAW_VIDEO) are transmitted to the video encoders and the visual attention metadata generator.

ROMEO WP2 Page 30/132

3.1.4.9 RECORDED_AUDIO (Message # 0108) The audio signals from various microphones are stored as raw wave files, sampled at 48 kHz in 24 bits. These are used at the post-acquisition stage along with the audio-related metadata to create the correct spatial audio in 5.1-channel, binaural, or object-based configuration.

3.1.4.10 AUDIO_OBJECTS/CHANNELS (Message # 0109) This represents the “spatialised” audio in case of channel-based configurations such as binaural or 5.1-channel settings, with the audio spatially matched to the video, or the audio objects with scene descriptions in case of object-based configuration.

Message Number Name From To

0100 CAPTURED_VIDEO Cameras Video acquisition module

0101 RECORDED_VIDEO Video acquisition module Video post-acquisition module

0102 CAPTURED_AUDIO Microphones Audio acquisition module

0103 TIME_STAMPS Cameras/Microphones Synchronisation module

0104 CAMERA_PARAM Cameras Video acquisition module

0105 ACQUISITION_METADATA Cameras Video post-acquisition module

0106 POSTACQ_V_METADATA Video post-acquisition module

Video encoders/Visual attention metadata generator

0107 RAW_VIDEO Video post-acquisition module

Video encoders/Visual attention metadata generator

0108 RECORDED_AUDIO Captured Audio Content Audio Post-acquisition Module

0109 AUDIO_OBJECTS/CHANNELS

Audio Post-acquisition Module

Spatial Audio Encoder

Table 6 – Content Capture Messages

ROMEO WP2 Page 31/132

3.2 3D Video Encoding

3.2.1 Fulfilled Requirements REQ 1.14, REQ 3.1, REQ 3.2, REQ 3.3, REQ 3.4, REQ 3.5, REQ 3.6, REQ 3.7, REQ 3.8, REQ 3.13

3.2.2 Detailed Block Diagram

Figure 16 – 3D Video encoding process

3.2.3 Module Explanations In the following subsections, the brief explanations of the involved sub modules within the server side video encoder, as well as the explanations of the inter-module connections are presented.

3.2.3.1 Server side 3D video encoding

3.2.3.1.1 Captured and pre-processed 3D video The input to the scalable video encoders is raw image sequences of each camera (and the corresponding depth maps) in YUV 4:2:0 format.

3.2.3.1.2 Visual attention metadata The raw image sequences are processed to produce the visual attention metadata that will be useful in the video renderer for efficient display adaptation purposes, or to aid video encoding by providing region-of-interest information.

3.2.3.1.3 Multiple description generator This module pre-processes the raw image sequences by temporally or spatially splitting them. In other words, multiple sub-resolution raw image sequences can be generated. This step is optional and can be taken out by letting pre-processed raw camera image sequences be scalable encoded directly. The existence of this step necessitates the existence of multiple description mergers after decoding to aggregate decoded sub-resolution representations.

3.2.3.1.4 SVC encoders This module generates a number of scalable video bit-streams, some layers of which can be discarded (i.e. quality enhancement layers) at times of network scarcity. The streams are composed of Network Abstraction Layer Unit (NALU) packets, each of which comprises a compressed video frame.

3.2.3.1.5 View interpolation metadata encoder This module is optional. It uses the encoded representations of different camera views and computes a set of optimal blending proportions to obtain a particular camera view from a

ROMEO WP2 Page 32/132

combination of others. It is computed in variable size sub-block level. It is intended to increase robustness in the system, such that in case a group of frames of a particular camera view is lost, they can optimally be concealed by warping other decoded cameras using this metadata. It does not interfere with the encoding and decoding stages.

3.2.4 Inter-module connections

3.2.4.1 ELEMENTARY_STREAMS (Message #0200) The encoded video stream from each encoder instance is fed to the MPEG-2 TS encapsulation block.

3.2.4.2 ELEMENTARY_STREAMS (Message #0201) The encoded video streams of each camera view and depth map are also the input of the view interpolation metadata generator (where the reconstructed versions of the encoded camera views and depth maps are used to obtain the interpolation coefficients offline).

3.2.4.3 TRANSPORT_STREAMS (Message #0202) The encapsulated video transport streams are forwarded into the registration and content server, where they are signed, encrypted and stored for streaming. In addition, the central camera pair’s views are directly forwarded to the DVB-Tx module, where the content is modulated and played out.

3.2.4.4 VIEW_INTERPOL_METADATA (Message #0203) The encoded metadata block is forwarded to the P2P packetisation module.

3.2.4.5 VISUAL_ATTN_METADATA (Message #0204) Similar to the interpolation metadata, the visual attention information is forwarded to the P2P packetisation module to be then shared among collaboratively streaming users, who would use this information to adapt the content according to personal interest..

3.2.4.6 RAW_CONTENT (Message #0106) The captured and post-processed camera views are also fed to the visual attention model producing functional block.

3.2.4.7 RAW_CONTENT (Message #0107) This message is sent from Content Generation component. It is explained in section 3.1.4.8

3.2.4.8 SIGNED_STREAMS (Message #1104) The signed transport streams will be delivered to the P2P packetisation block, which deals with fragmenting the compressed content into P2P chunks.

The following table depicts the included inter-module connections’ list and the following subsections provide a brief explanation of each of them.

Message Number Name From To

0200 ELEMENTARY_STREAMS SVC encoders Encapsulation block

0201 ELEMENTARY_STREAMS SVC encoders View interpolation metadata generator

0202 TRANSPORT_STREAMS Encapsulation block Content registration and security

0203 VIEW_INTERPOL_METADATA View interpolation metadata generator

Content registration and security

ROMEO WP2 Page 33/132

0204 VISUAL_ATTN_METADATA Visual attention metadata generator

Content registration and security

0106 RAW_CONTENT Content capture and pre-processing block

Visual attention metadata generator

0107 RAW_CONTENT Content capture and pre-processing block

Video encoders (optionally, first to the multiple description generator)

1104 SIGNED_STREAMS Content registration and security P2P packetisation

Table 7 – 3D Video encoder messages

.

ROMEO WP2 Page 34/132

3.3 P2P

3.3.1 Fulfilled Requirements REQ 4.1, REQ 4.3 , REQ 4.9 , REQ 4.27

3.3.2 Detailed Block Diagram

Figure 17 - P2P Block Diagram

3.3.3 Module Explanations This component is divided into 5 main parts. These are:

1. Topology Builder and Topology Controller. 2. Multicast Tree Manager. 3. Packetisation. 4. Chunk Selection 5. P2P transmitter and Receiver

Besides these modules, "Internet Resource and Admission Control Subsystem" is also an important part of ROMEO platform. It is not mainly in P2P but closely related to it.

The details of these sub-modules will be given in the following sections.

3.3.3.1 Internet Resource and Admission Control Subsystem Resource and Admission Control is one of the key functionalities required not only to effectively provide support for services beyond the best effort service paradigm but also to increase resource utilization in the Internet. In addition to packet classification and traffic conditioning (e.g., metering, marking, shaping and policing), it involves resource reservation control which consists of computing amounts of bandwidth to efficiently connect flows of time-sensitive sessions along communication paths to meet QoS demands of the flows upon needed. The reservation provisioning is usually achieved by means of appropriate signalling protocol (Next Steps In Signalling -NSIS-), which encompasses QoS state enforcement (achieved by configuring packet schedulers) and the state maintenance (installing, updating or removing) at nodes on paths.

In such environment, ROMEO P2P network aims to deliver stringent QoS-sensitive services through the concept of overlay which depends on the transport services provided by the underlying Internet to meet its objectives. Hence, although multiple overlay multicast trees are envisaged with redundant contents delivery to allow a child peer to receive the same content from different parent peers, redundant transmission or retransmission of heavy multimedia

ROMEO WP2 Page 35/132

flows across an operator’s network needs to be carefully managed to minimize the impact of waste of resources. Bearing this in mind, the topology builder and the multicast tree management (MTM) components aim to cross layer by taking into account the Internet resource management to improve performance. In this sense, the Internet Resource and Admission Control Subsystem includes two modules, as being the Resource and Admission Manager, and the Resource Controller as further described below.

3.3.3.1.1 Resource and Admission Manager The main objectives of the Resource and Admission Manager consist of efficiently controlling access and allocation of the Internet resources and therefore the connectivity of the ROMEO P2P nodes in a way to allow for increasing underlying network resource utilization while assisting to enhance the overlay QoS and synchronisation control. In particular, it maintains a good view of the underlying network topology and the related links resource utilization statistics in each CoS and implements appropriate aggregate resource over-reservation techniques to dynamically define and control surplus of reservations for CoSs throughout the Internet keeping low QoS signaling, state and processing overhead. It follows Differentiated Services (DiffServ) control approach by pushing control load to network border and can be implemented at network borders (e.g., ingress routers) or by Central Controller (e.g., QoS Broker). Within the scope of the ROMEO, this module aims to enforce appropriate multicast trees on P2P links so as to pin P2P chunks to the trees assigned to them to allow for improving resource utilization (e.g., a peer will encapsulate and forward chunks using a correct multicast address).

3.3.3.1.2 Resource Controller The Resource Controller is responsible for enforcing resource control decisions taken by the Resource and Admission Manager. It is therefore implemented in each network node (e.g., routers) so as to properly intercept, interpret and enforce control decisions as conveyed through appropriate control signalling.

3.3.3.2 Topology Builder and Topology Controller Units

Figure 18 - Block diagram for overlay

For ROMEO project, it is decided to use a tree based topology structure instead of a mesh based topology structure. The reason for this choice is that data paths are deterministic in tree based systems, which is not the case for mesh based systems., Deterministic paths provide more predictable behaviour compared to mesh based systems in terms of both jitter and latency), which is a very important point to meet the strict synchronisation requirements of

ROMEO WP2 Page 36/132

ROMEO. Besides, for the purpose of load balancing, and fault tolerance, multiple multicast trees will be used instead of a single tree structure. The centralized topology management approach will be used, which provides system wide delay variation and synchronisation control mechanisms. As an improvement to this centralised approach, it is decided to have geographically distributed, high performance super peers in each geographical area, these super peers will be the root of the multiple multicast trees for this area. When a new peer wants to join the P2P network, it will first connect to the main server, the server will then direct it to the nearest super peer and the super peer will insert this new peer to the available multicast trees. For small deployments, the main server and the super peer can be considered to be the same machine; however for large deployments the main server will be unique with several distributed super peers connected to it.

As a result, all topology construction and maintenance work will take place in server’s Topology Builder component. For small deployments, topology builder component resides in server and is responsible for multiple multi-cast tree construction. For large deployments, it can be considered two parts: one is in the main server which directs new peers to the nearest super peers, and the other in super peer which handles the multiple multi-cast tree insertion. In this document, drawings base on the small deployments and Topology Builder is shown as a part of the main server. Topology Controller component resides in peer to communicate with server for topology related issues.

3.3.3.3 Multicast Tree Manager – MTM

Figure 19 - Block diagram for overlay Tree Management

As it is highlighted earlier in Sub-section 3.6.3.1, the control of ROMEO service transport requires deterministic paths to be supported by the use of multiple overlay multicast trees. However, although contents can be delivered in a redundant manner where a child peer may receive the same content from different parent peers to cope with dynamic P2P environment, such redundancy is bandwidth consuming, especially with multimedia services. Therefore, the Multicast Tree Manager (MTM) aims to manage the overlay multicast trees and the related resource efficiently so as to reduce the impact of waste of resources while providing acceptable QoS to the ROMEO service delivery. In order to pin P2P chunks to the deterministic paths, the Resource and Admission Control Manager is used to define appropriate multicast trees which are properly enforced in network nodes on the P2P links by the Resource Controller. Moreover, the Resource and Admission Control Manager is responsible for traffic control and resource allocation and reservation control for multiple Class of Service (CoSs) including ROMEO CoSs on the P2P links. As a result, the Topology Builder and Multicast Tree Manager module may interact with the Resource and Admission Control

ROMEO WP2 Page 37/132

Manager to request for resource reservation on P2P links upon need in a way to efficiently manage the overlay trees with increased network resource utilization.

The overlay multicast trees can be in different states:

• ACTIVE. The tree is being used for multimedia data transmission. • READY. The tree is continuously probed, to keep trace of its conditions. The tree is

ready to transmit data by transitioning to the ACTIVE state. There is no actual data transmission, but the NMS still exchanges packets with other peers’ NMS to monitor the links belonging to this tree.

• SLEEPING. The tree is computed using network information, but no actual data transmission is performed. The tree can transition to ACTIVE state, or it can get obsolete, since no new information is collected.

3.3.3.4 Packetisation

Figure 20 - Block diagram for packetisation

This module is responsible for encapsulation and decapsulation of the media to be carried over the P2P network. Module that corresponds to packetisation work will be part of the main server whereas the module that depacketises the streams will be part of the peer software.

In ROMEO, MPEG-2 Transport Stream will be used for encapsulation since DVB-T2 also uses the same encapsulation method and effective use of MPEG2-TS built-in Program Clock Reference makes the synchronisation task of the streams received from DVB-T2 and P2P network. MPEG2-TS packets are then encapsulated as P2P packets to be distributed over IP network. While encapsulating, the data will be separated into different streams to be distributed over different multicast trees. In two-layered coding using SVC, each frame has a base layer bit-stream and an enhancement layer bit-stream. It is possible to separate the original bit-stream and generate two bit-streams, one for base and one for enhancement layer. Besides, audio data and depth information will be considered as different streams as well.

In order to perform data distribution and synchronisation tasks, some mandatory data is needed for peers and these data which is listed in Table 28 is embedded into the P2P header.

Header Parameter

Purpose

Content Identifier Unique id for the content to match with DVB stream

Chunk identifier Unique id, used for reporting defect P2P chunks

ROMEO WP2 Page 38/132

PID (Stream id) Packet ID, used for identifying different elementary streams

PCR Program clock reference, used for synchronising P2P and DVB-T2 streams

Metadata flag If set, the payload contains metadata (overrides audio flag)

View identifier Identifies different video views

Descriptor number Indicates the different descriptors

Layer flag Indicates the layer type: either base or enhancement layer

Audio flag If set, the payload contains audio data

Payload size Size of the payload (number of bytes)

Signature Digital signature of the payload

Priority Indicates priority of the stream to decide if the stream is discardable

Table 8 – P2P Header fields

P2P packets will be transferred over UDP/IP protocol stack. The resulting structure of the IP packet is shown in figure below.

Figure 21 – IP Packet Structure

ROMEO WP2 Page 39/132

3.3.3.5 Chunk Selection

Figure 22 – Chunk Selection

The Chunk Selection module is responsible for deciding which chunks are going to be pushed to a peer’s children peers and at which order. In doing so, it uses information retrieved from the Network Monitor Subsystem and the Topology Builder. The decision is then passed to the P2P Transmission/Reception module which in turn forwards the selected chunks.

3.3.3.6 P2P Transmitter/Receiver The P2P Transmitter/Receiver module is responsible for encapsulating the network related calls for message and content delivery over the IP network. All of the transmission and reception operations should be performed over this component.

The following messages are used to exchange data between the modules of the P2P component:

3.3.4 Inter-Module Connections

3.3.4.1 MPEG2TS_DATA_TO_PACKETISE (Message # 0300) Data encoded and encapsulated into MPEG2-TS format is sent from stream packetisation module to P2P packetisation module to be prepared for the distribution on the P2P network.

3.3.4.2 MPEG2TS_DATA_TO_SYNCH (Message # 0301) This message contains P2P network received MPEG2-TS messages and it is an input for Synchronisation component in order to be synchronised.

3.3.4.3 SYNCHRONISED_MPEG2TS (Message # 0302) This message contains synchronised data in MPEG2-TS format.

3.3.4.4 CHECK_USER (Message # 0303) This message is sent from the Topology Builder Module to the User Authentication Module. The content of the message contains user id and his/her licence. These inputs will be checked to grant the user certain rights in the system. The rights are as follows:

1. No_Access_Right: The user has no access to the system. 2. Basic_User: User can only access a certain amount of services provided by the

system 3. Premium_User: User can access all possible services.

3.3.4.5 CHECK_USER_ACK (Message # 0304) This message is sent to the Topology Builder module with the user id and corresponding type of access rights.

ROMEO WP2 Page 40/132

3.3.4.6 DECRYPT (Message #0305) The encrypted packages will be decrypted on the peer side by this module. Output will be decrypted packages that can be fed to the synchronisation module.

3.3.4.7 TOPOLOGY_JOIN_REQUEST (Message # 0306) This message is sent from peer’s Topology Controller module to server’s Topology Builder module to request to join the overlay and it includes user licence and capability information.

3.3.4.8 TOPOLOGY_JOIN_RESPONSE (Message # 0307) This message contains response for the peer’s P2P join request. It contains a list of candidate parent peers to which the peer may connect.

3.3.4.9 TOPOLOGY_JOIN_RESPONSE_NOTIFICATION (Messag e # 0308) This message includes the result to be displayed by user about the P2P join request from Topology Controller module to User Interface&Control module to allow the user to select which parent peers to use to connect.

3.3.4.10 P2P LINK_SETUP_REQUEST (Message # 0309) The Topology Controller uses this message to request for Internet connection to the selected peers.

3.3.4.11 RESOURCE_SETUP_REQUEST (Message # 0310) This message is used to request for the resource reservation readjustment or multicast tree decisions enforcement on P2P links. This message is not issued on per-request basis since resource is over-reserved to prevent undue signalling overhead.

3.3.4.12 RESOURCE_SETUP_RESPONSE (Message # 0311) This message is a feedback to the message #310.

3.3.4.13 P2P LINK_SETUP_RESPONSE (Message # 0312) This message is a feedback to the message #309.

3.3.4.14 P2P LINK_SET (Message # 0313) This message is used by the peer to inform the Topology Builder about the peers to which it has been successfully connected.

3.3.4.15 TREE_PROBE (Message # 0314) This message is used to monitor data and collect control information on P2P link.

3.3.4.16 TREE_PROBE_RESPONSE (Message # 0315) This message is a feedback to the message #314.

3.3.4.17 TREE_PROBE_REPORT (Message # 0316) This message is used to report the monitored information to the Topology Builder and Multicast Tree Manager.

3.3.4.18 NETWORK_STATE_REQUEST (Message # 0317) This message is used to request for resource reservation or reservation availability on P2P links to assist the Topology Builder and Multicast Tree Manager to improve performance.

3.3.4.19 NETWORK_STATE_RESPONSE (Message # 0318) This message is a feedback to the message #0317.

ROMEO WP2 Page 41/132

3.3.4.20 TREE_STATE_ACTIVE (Message # 0319) This message informs a peer that a tree is now in ACTIVE state. It is generated by the super-peer that is root to a tree that got broken, for the loss of intermediate peers or for excessive delay / jitter on some of its links. It instructs Network Monitoring Subsystem to correctly monitor the trees.

3.3.4.21 TREE_STATE_READY (Message # 0320) This message informs a peer that a tree is now in READY state. It is generated by a super-peer, when the super-peer sees that the set of READY trees is too small, be it because some READY tree got broken, or because they were raised to the ACTIVE status. It instructs Network Monitoring Subsystem to correctly monitor the trees.

3.3.4.22 TREE_STATE_SLEEP (Message # 0321) This message informs a peer that a tree is now in SLEEP state. It is generated by a super-peer, when the super-peer decides to park the tree because it is too bad to be used. This message can be generated by a super-peer that has computed potential trees, to inform peers that the trees could be useful in the future. It instructs Network Monitoring Subsystem to correctly monitor the trees.

3.3.4.23 MONITOR_DATA (Message # 0322) Data from the Network Monitoring Subsystem are fed to the Chunk Selection Module to inform the latter about the conditions that affect peer’s up-streaming/down-streaming capabilities.

3.3.4.24 TOPOLOGY_INFO (Message # 0323) The Topology Builder informs the Chunk Selection module about changes in the structure of the sub-trees via this message.

3.3.4.25 MISS_CHUNKS (Message # 0324) It is sent from the Chunk Selection module of the child peer to the Chunk Selection module of the parent peer in order to inform the parent peer about important chunks that were supposed to have been delivered but are actually missing.

3.3.4.26 PP_START (Message # 0325) It is sent from the Chunk Selection module of the child peer to the Chunk Selection module of the parent peer to initiate the delivery of certain chunks that either were not being sent until that moment or their forwarding had been stopped.

3.3.4.27 PP_STOP (Message # 0326) It is sent from the Chunk Selection module of the child peer to the Chunk Selection module of the parent peer to stop the delivery of certain chunks due to current network conditions.

3.3.4.28 PUSH_CHUNKS (Message # 0327) With this message, the Chunk Selection module informs the P2P Transmission/Reception module about the selected chunks to be pushed.

Message Number

Name From To

0300 MPEG2TS_DATA_TO_PACKETIS Stream P2P Packetisation

ROMEO WP2 Page 42/132

E Packetisation

0301 MPEG2TS_DATA_TO_SYNCH P2P Packetisation Playout Synchronisation

0302 SYNCHRONISED_MPEG2TS Playout Synchronisation

Stream Packetisation

0303 CHECK_USER Topology Builder

Authentication, Registration And Security

0304 CHECK_USER_ACK

Authentication, Registration And Security Topology Builder

0305 DECRYPT

Topology Controller

Topology Builder

0306 TOPOLOGY_JOIN_REQUEST Topology Controller

Topology Builder

0307 TOPOLOGY_JOIN_RESPONSE Topology Builder Topology Controller

0308 TOPOLOGY_SET_LINK Topology Controller

User Interface&Control

0309 P2P LINK_SETUP_REQUEST Topology

Controller Resource and Admission Manager

0310 RESOURCE_SETUP_REQUEST

Resource and Admission Manager

Resource Controller

0311 RESOURCE_SETUP_RESPONSE

Resource Controller

Resource and Admission Manager

0312 P2P LINK_SETUP_RESPONSE

Resource and Admission Manager

Topology Controller

0313 P2P LINK_SET Topology

Controller Topology Builder

0314 TREE_PROBE

Network Monitoring Subsystem

Resource Controller

0315 TREE_PROBE_RESPONSE Resource

Controller Network Monitoring Subsystem

0316 TREE_PROBE_REPORT

Network Monitoring Subsystem

Topology Builder and Multicast Tree Manager

0317 NETWORK_STATE_REQUEST

Topology Builder and Multicast Tree Manager

Resource and Admission Manager

0318 NETWORK_STATE_RESPONSE

Resource and Admission Manager

Topology Builder and Multicast Tree Manager

0319 TREE_STATE_ACTIVE

Topology Builder and Multicast Tree Manager

Network Monitoring Subsystem

0320 TREE_STATE_READY Topology Builder and Multicast Tree

Network Monitoring Subsystem

ROMEO WP2 Page 43/132

Manager

0321 TREE_STATE_SLEEP

Topology Builder and Multicast Tree Manager

Network Monitoring Subsystem

0322 MONITOR_DATA Network Monitor Subsystem

Chunk Selection

0323 TOPOLOGY_INFO Topology Builder Chunk Selection

0324 MISS_CHUNKS Chunk Selection Chunk Selection

0325 PP_START Chunk Selection Chunk Selection

0326 PP_STOP Chunk Selection Chunk Selection

0327 PUSH_CHUNKS Chunk Selection P2P Transmission/Reception

1008 TOPOLOGY_JOIN_REQUEST_INTERNAL

User Interface&Control

Topology Controller

Table 9 – Messages

ROMEO WP2 Page 44/132

3.4 Mobility

3.4.1 Fulfilled Requirements REQ 1.10, REQ 4.2, REQ 4.4, REQ 4.5, REQ 4.11, REQ 4.12, REQ 4.13, REQ 4.14, REQ 4.20, REQ 4.22

3.4.2 Detailed Block Diagram

Figure 23 – Mobility Component

3.4.3 Module Explanations The Mobility component is responsible for handling mobility and providing uninterrupted multimedia services to mobile and portable P2P clients across heterogeneous access networks. The component is envisaged as a proxy gateway transparent to the P2P overlay which consists of three modules:

• The Media Aware Proxy (MAP) • The Media Independent Handover (MIH) • The Proxy Mobile IP (PMIP)

The functionality of each module is explained in the following sub-sections.

3.4.3.1 Media Aware Proxy (MAP) The module receives the P2P chunks from the P2P overlay and the encoding and packetisation related metadata. It identifies the NALUs and other video related information and to which view they belong. It can adapt the video streams by increasing or decreasing the number of views that will be delivered to the wireless terminal based on physical, network and application layer information. In the case of multi-homing transmission, the module will select additional ports in order to forward the data and metadata.

3.4.3.2 Media Independent Handover (MIH) The module monitors all networks in the vicinity of the mobile terminal and collects network and physical layer related parameters via the MIH Event Service and updates the corresponding table entries of a database. Additionally, the MIH functionality in the mobile terminal is responsible for updating the user side values of the physical and network layer in database. Additionally, this module executes link layer handover and registration and de-registration to access networks.

ROMEO WP2 Page 45/132

An important functionality of the MIH module is the Handover functionality. It performs effectively a resource management and in parallel decides, whether the available resources and the mobile terminal capabilities can support or not additional enhanced views, or the mobile terminal has to handover to a different network. Upon deciding for handover, the module informs the corresponding MAG of the source network. Moreover, MIH is responsible for selecting the best candidate network in case of inter-system handover or suitable new AP or eNodeB in case of intra-system handover, based on the decision of the Handover Functionality. Upon selecting the most suitable link, the module updates the corresponding parameters in the database and triggers the MIH enabled wireless node.

3.4.3.3 Proxy Mobile IP (PMIP)

3.4.3.3.1 Mobile Access Gateway (MAG) The module consists of the Mobile Access Gateway (MAG) that performs the mobility management on behalf of a mobile node, and it resides on the access link where the mobile node is anchored. The mobile access gateway is responsible for detecting the mobile node’s movements to and from the access link and for initiating binding registrations to the mobile node’s Local Mobility Anchor (LMA). LMA is the topological anchor point for the mobile node’s home network prefix(es) and as so, it receives and forwards A/V steam and metadata to the mobile node through the serving MAG. To achieve that, LMA keeps a Binding Cache entry for each mobile node in the PMIPv6 – Domain through the registration procedure.

3.4.4 Inter-Module Connections

3.4.4.1 CHUNK_STREAM (Message # 0400) Data stream originated from the P2P component that is packetised as P2P chunks that are received by the Mobility Component and specifically the MAP module. The MAP module only considers the information in the chunk header.

3.4.4.2 CHUNK_STREAM_ADAPT (Message # 0401) Adapted data stream forwarded to the mobile or portable P2P client by the PMIP module. The adapted data stream may include less chunks compared to the received stream (Message #400), due to the adaptation process, or the stream may be transmitted through a different access network due to handover decision.

3.4.4.3 MIH_EVENT_SERV (Message # 0402) Periodic MIH signalling exchange between the mobile or portable MIH enabled client and the MIH module of the Mobility Component based on the MIH Event Services as defined by the standard. The message aims to inform the MIH module that an EVENT has occurred and that the MIH Information Service (database inputs) will be changed.

Message Number Name From To 0400 CHUNK_STREAM P2P component Mobility component 0401 CHUNK_STREAM_ADAPT Mobility Component P2P client 0402 MIH_EVENT_SERV Mobility Component P2P client

Table 10 – Media Aware Proxy Messages

ROMEO WP2 Page 46/132

3.5 DVB Transmission & Reception The DVB link is an integral part of the ROMEO set-up and provides the basic 3D (stereoscopic) views. It should be available under all circumstances at stationary (fixed), portable and mobile terminals.

In this section, first the transmission part for the test set-up is described. The transmission part for the demonstrator is very similar to this, especially the modulation part. For the field trials, a medium power DVB transmitter is used with an antenna height sufficient for providing coverage in most parts of the Munich area. The modulator for this medium power transmitter operates with the same software components for modulation and channel coding as the test signal generator.

The part on DVB reception in section 3.8.3.2 refers to the test receiver platform which is used as a test environment for reception and quality measurements of DVB and P2P signals. The results from these measurements and the long-term monitoring of a set of QoS parameters are used to determine suitable parameter thresholds for switch-over between reception paths in case that the quality of one path decreases significantly..

3.5.1 Fulfilled Requirements The table below lists the requirements related to the DVB Transmission part that are fulfilled by the planned solution:

REQ 1.16, REQ 1.17 , REQ 1.18 , REQ 1.19 , REQ 1.20 , REQ 1.21 , REQ 1.22 , REQ 1.23, REQ 1.24.

The following requirements are addressed by the Test receiver platform.

REQ 1.25, REQ 1.26 , REQ 1.27, REQ 1.28, REQ 1.29

3.5.2 Detailed Block Diagrams

Figure 24 – Building blocks and inter module messages in DVB transmission test set-up

ROMEO WP2 Page 47/132

Figure 25 – Building blocks and inter module messages in DVB reception at user terminal and test set-up

3.5.3 Module Explanations

3.5.3.1 MPEG2-TS Encapsulation This module generates standard MPEG-2 Transport Streams by packetising the Elementary Streams, i.e. video and audio, into TS packets of 188 byte payload, label them with the respective PID (Program Identifier) in the packet header and insert all the other header information. In addition, the SI (Service Information) and PSI (Program Specific Service Information) tables are inserted and the correct timing information is calculated and inserted as PCR (Program Clock Reference).

3.5.3.2 DVB Transmission For the test environment, a test signal generator prides standard-compliant DVB-T/T2/T2 Lite signals. The test signal generator input is a MPEG2 Transport Stream and modulation takes place in real-time. It can be configured to output any DVB-T or DVB-T2 modes with bit rates between approx. 7.5 Mbps and 50 Mbps.

The same set of DVB signals is also available for the field trial where the signal is broadcast in the Munich area.

For the purpose of the tasks in ROMEO, the test signal generator is combined with

• a TS player that plays out the TSs from the R&S Stream Library,

• a module that encapsulates the TSs into IP streams,

• a modulator/ transmitter unit

and other software and hardware options providing the required interfaces for TS, I/Q and RF.

3.5.3.3 Test Receiver platform (Test receiver/ prot ocol analyser plus Notebook) The test receiver platform consists of a protocol analyser and a notebook computer.

The protocol analyser can measure and monitor a multitude of parameters related to the MPEG2 Transport Stream, the DVB signals of various standards and IP streams. It can be equipped with different RF front ends. In the case of ROMEO, a DVB-T/T2/T2 Lite frontend is installed.

ROMEO WP2 Page 48/132

The input to this front end is RF via which the DVB signal is received. Other inputs include interfaces for MPEG2 Transport Stream (TS) and 1000BaseT (IP). The latter is used e.g. as input for the P2P IP streams that are available over a WiFi or 3G network in a test environment.

The protocol analyser exchanges data with the notebook via an internal IP interface. The received TSs are internally encapsulated into IP to guarantee the transport between different IP-based entities without problems. The instrument also includes a hardware decoder for 3D video (plus audio). The output of this hardware decoder is fed to an external display via a HDMI interface.

The Notebook serves as a flexible platform for the project-specific tasks such as synchronisation of IP streams received over different networks. For this purpose, it includes an algorithm that identifies the relative delay between the two IP streams (‘Synchronisation engine’) and controls the buffers for both IP streams.

The IP streams at the buffer outputs are time synchronous. Both IP streams are fed in parallel to the ‘IP stream selection’ where, dependent on the QoS parameters taken into account, the IP stream is selected that is forwarded to the hardware decoder on the Protocol analyser platform. Both IP streams are also fed separately into two Video Players that allow a time-synchronous display of the two video signals on the notebook display

3.5.3.4 DVB Reception for User Terminal In ROMEO project DVB signal will be received by RF receiver to synchronise on peer terminal. This device is going to be responsible of reception of content from DVB network and deliver to synchronisation component.

3.5.4 Inter-Module Connections

3.5.4.1 ASI - MPEG2 Transport Stream (TS) (Message # 0501, 506) The MPEG2 Transport Stream complies with The Asynchronous Serial Interface (ASI) is a standard interface for MPEG2 TS

3.5.4.2 IP/UDP stream with multi-view TS received v ia IP network (Message # 0502, 507, 510, 511)

The procedure of encapsulating MPEG2 Transport Stream packets into IP is described in.

3.5.4.3 I/Q output from modulator (Message # 0503) The I/Q output is an internal and external interface of the test signal generator /modulator for DVB signals. The baseband I/Q samples of the modulated signal are transported via this interface in numerical form. The interface was developed by R&S and the spec is proprietary.

3.5.4.4 I/Q input to modulator (Message # 0504) The I/Q input is an internal and external interface of the test signal generator /modulator for DVB signals. The baseband I/Q samples of the modulated signal are transported via this interface in numerical form. The interface was developed by R&S and the spec is proprietary.

3.5.4.5 DVB RF signal (Message # 0505) The DVB RF signal is an OFDM signal with a bandwidth of 7,61 MHz (in a 8 MHz channel) and is compliant to

3.5.4.6 Control signal for Buffer 1 (Message # 0508 ) Internal message between software modules in a proprietary format.

ROMEO WP2 Page 49/132

3.5.4.7 Control signal for Buffer 2 (Message # 0509 ) This is an internal message between software modules in a proprietary format.

3.5.4.8 Selected 3D video (plus audio) (Message # 0 512) A MPEG2 TS that only contains the selected 3D video programme (i.e. no other programmes) being forwarded on the notebook to the 'Internal Interface'.

3.5.4.9 Selected 3D video (plus audio) (Message # 0 513) A MPEG2 TS that only contains the selected 3D video programme (i.e. no other programmes) being forwarded from the 'Internal Interface' to the Hardware Decoder on the test receiver platform.

3.5.4.10 HDMI signal carrying selected 3D video (pl us audio) (Message # 0514) The High Definition Multimedia Interface (HDMI) specification is only available to implementers who have signed the license agreement.

3.5.4.11 Video stream 1 (Message # 0515) The output of Video Player 1 is sent to the display processor of the notebook where it is shown in a separate window.

3.5.4.12 Video stream 2 (Message # 0516) The output of Video Player 2 is sent to the display processor of the notebook where it is shown in a separate window.

Message Number

Name From To

0501 ASI - MPEG2 Transport Stream (TS)

TS repository DVB-T/T2/T2 Lite modulator and Encapsulation TS in IP

0502

IP/UDP stream with multi-view TS received via IP network

1. Encapsulation TS in IP; 2. IP frontend; 3. Internal IP interface

1. external network and IP frontend; 2. Internal IP interface; 3. Synchronisation engine and Buffer 1

0503 I/Q output from modulator

DVB-T/T2/T2 Lite modulator

Channel simulator

0504 I/Q input to modulator

Channel simulator DVB-T/T2/T2 Lite modulator

0505 DVB RF signal DVB-T/T2/T2 Lite modulator/ transmitter

RF antenna and DVB-T/T2/T2 Lite frontend

0506 ASI - MPEG2 Transport Stream (TS

DVB-T/T2/T2 Lite frontend

Encapsulation TS in IP

0507 IP/UDP stream with DVB TS

1. Encapsulation TS in IP; 2. Internal IP interface

1. Internal IP interface; 2. Synchronisation engine and Buffer 2

0508 Control signal for Buffer 1

Synchronisation engine

Buffer 1

0509 Control signal for Buffer 2

Synchronisation engine

Buffer 2

ROMEO WP2 Page 50/132

0510 IP/UDP stream with TS received via IP network

Buffer 1 1. Video player 1 2. IP stream selection

0511 IP/UDP stream with DVB TS

Buffer 2 1. Video player 2 2. IP stream selection

0512 Selected 3D video (plus audio)

IP stream selection Internal IP interface

0513 Selected 3D video (plus audio)

Internal IP interface Hardware decoder

0514 HDMI signal carrying selected 3D video (plus audio)

Hardware decoder 3D display

0515 Video stream 1 Video player 1 Notebook display

0516 Video stream 2 Video player 2 Notebook display

Table 11 – DVB Transmitter & Receiver signals and messages

ROMEO WP2 Page 51/132

3.6 Virtualisation

3.6.1 Fulfilled Requirements REQ 1.30, REQ 1.31, REQ 1.32, REQ 1.33, REQ 1.34, REQ 1.35, REQ 2.23, REQ 2.28, REQ 2.29, REQ 2.30, REQ 2.31, REQ 4.25, REQ 4.26

3.6.2 Detailed Block Diagram The following picture depicts the network architecture for the virtualisation platform:

Figure 26 - Virtualisation Network architecture

3.6.3 Module Explanations The main entities involved in this architecture are:

3.6.3.1 Optical Network Terminator (ONT) It is the subscriber equipment for the Gigabit Passive Optical Network (GPON) access. An ONT (optical network terminal) is used to terminate the fiber optic line, demultiplex the signal into its component parts. One of the challenges of this architecture is to achieve that Ethernet devices may be plugged to any of the Ethernet ports, i.e. achieve a plug & play behaviour. Moreover, it is envisaged to cover the following additional features:

• Enable user devices to be multi-service. • Enable the end user to select the addressing scheme to his network being possible to

overlap other users addressing scheme. • Enable end devices to “dialogue” among them within the LAN.

3.6.3.2 Optical Line Terminator (OLT) It corresponds to the network equipment for the GPON access. While one of its interfaces terminates the optical fibre from the subscriber, the other one connects to the Metropolitan Area Network (MAN) to transmit the traffic to the due service centres. The OLT employs 802.1ad encapsulation (stacked VLANs) for traffic destined to the NATIE. This encapsulation protocol allows multiple VLAN headers to be inserted in a single frame.

3.6.3.3 Network Address Translation Implementer Equipment ( NATIE) This equipment concentrates the user Ethernet Traffic to route it to the different services (voice, IPTV, Internet). The virtualisation platform establishes the NATIE as the key point for hosting the HGW routing and HGW NAT/PAT functionalities. These functionalities will be implemented for each subscriber within a virtual routing forwarding (VRF) instance. In addition, the NATIE will receive the QoS rules that are to be applied to each user in order to enforce the flow prioritization.

ROMEO WP2 Page 52/132

3.6.3.4 Virtual Software Execution Environment (VSEE) It corresponds to the module in charge of hosting the virtualised execution software capacities that currently runs within the RGW (Residential Gateway). The system is able to access the local area network of the subscriber throughout the MAN.

3.6.3.5 Metropolitan Area Network (MAN) It corresponds to the aggregation Ethernet network that connects the OLTs with the different service centres. The main connections throughout the MAN are:

• OLT-NATIE and OLT-VSEE • NATIE-Service Centres • OLT Service Centres

3.6.3.6 Dynamic Host Configuration Protocol (DHCP) SERVER It allocates IP addresses to all devices connected to the Ethernet ports of an ONT.

The DHCP server is located in the MAN. The broadcast requests perform by Ethernet devices will cross the OLT and the MAN in order to reach the NATIE. Thus, in order to enable DHCP server to receive IP address requests from Ethernet home devices, the NATIE must be configured as DHCP relay pointing to the DHCP server.

3.6.3.7 Policy Charging and Rule Function (PCRF) The PCRF is the entity that defines the QoS rules that are to be applied to the user. It receives from the ROMEO server the physical parameters that identify a certain user and then it communicates with the NATIE in order to apply the rules in the access network.

3.6.3.8 Configuration Portal The configuration portal is the entity that will provide to the user a tool for configuring the virtual router functionalities. Besides addressing the current configurable functionalities of a physical HGW (DHCP options, NAT/PAT, IP addressing scheme, etc), the configuration portal will provide a protocol prioritization tool to manually adjust the QoS rules that are to be enforced in the access network..

3.6.4 Inter-Module Connections

3.6.4.1 User Configuration REQUEST/RESPONSE message s:

3.6.4.1.1 GET_CONFIGURATION (Messages #0600, #0602, #0604, #0606) These messages are sent from the configuration portal to the Data Base in order to retrieve current configuration of the virtual router with regard to:

• IP Subnet Configuration (Message #0600) • Relationship among IP and MAC addresses (Message #0602) • Port Forwarding Configuration (Message #0604) • QoS protocol prioritization list (Message #0606)

3.6.4.1.2 GET_CONFIGURATION_RESPONSE (Messages #0601, #0603, #0605, #0607) These messages are sent from the Data Base to the configuration portal providing the information requested by GET_CONFIGURATION with regard to:

• IP Subnet Configuration (Message #0601) • Relationship among IP and MAC addresses (Message #0603)

ROMEO WP2 Page 53/132

• Port Forwarding Configuration (Message #0605) • QoS protocol prioritization list (Message #0607)

3.6.4.2 User Configuration POST/ACK messages:

3.6.4.2.1 POST_CONFIGURATION (Messages #0608, #0610, #0612, #0614) These messages are sent from the configuration portal to the Data Base in order to change the parameters with regard to:

• IP Subnet Configuration (Message #0608) • Relationship among IP and MAC addresses (Message #0610) • Port Forwarding Configuration (Message #0612) • QoS protocol prioritization list (Message #0614)

3.6.4.2.2 POST_ACK (Messages #0609, #0611, #0613, #0615) These messages are sent from the Data Base to the configuration portal in order to acknowledge the POST_CONFIGURATION messages.

• IP Subnet Configuration ACK (Message #0609) • Relationship among IP and MAC addresses ACK (Message #0611) • Port Forwarding Configuration ACK (Message #0613) • QoS protocol prioritization list (Message #0615)

3.6.4.3 DHCP REQUEST/RESPONSE messages

3.6.4.3.1 GET_CONFIGURATION (Message #0616)

3.6.4.3.2 This message is sent from the DHCP server to the Data Base in order to retrieve the configuration of the virtual router established by the user.GET_CONFIGURATION RESPONSE (Message #0617)

This message is sent from the Data Base to the DHCP server providing the information of the configuration of the virtual router.

3.6.4.4 Static QoS Enforcement

3.6.4.4.1 STATIC_QoS_REQUEST (Message #0618) This message is sent from the configuration portal to the PCRF in order to set the QoS protocol prioritization list.

3.6.4.4.2 STATIC_QoS_RESPONSE (Message #0619) This message is sent from the PCRF to the configuration portal acknowledging the STATIC_QoS_REQUEST.

3.6.4.4.3 QoS_ENFORCEMENT_REQUEST (Message #0620) This message is sent from the PCRF to the NATIE in order to enforce the QoS rules of a particular user within the access network.

3.6.4.4.4 QoS_ENFORCEMENT_RESPONSE (Message #0621) This message is sent from the NATIE to the PCRF acknowledging the QoS_ENFORCEMENT_REQUEST.

ROMEO WP2 Page 54/132

3.6.4.5 Dynamic QoS Enforcement

3.6.4.5.1 DYNAMIC_QoS_REQUEST (Message #0622) This message is sent from the ROMEO P2P server to the PCRF containing the physical parameters of a particular user in order to request the appliance of the QoS rules.

3.6.4.5.2 DYNAMIC_QoS_RESPONSE (Message #0623) This message is sent from the PCRF to the ROMEO P2P Server acknowledging the DYNAMIC_QoS_REQUEST.

3.6.4.5.3 QoS_ENFORCEMENT_REQUEST (Message #0620) This message is sent from the PCRF to the NATIE in order to enforce the QoS rules of a particular user within the access network.

3.6.4.5.4 QoS_ENFORCEMENT_RESPONSE (Message #0621) This message is sent from the NATIE to the PCRF acknowledging the QoS_ENFORCEMENT_REQUEST.

The following table shows the messages exchanged for the virtualised platform:

Message Number Name From To User Configuration REQUEST/RESPONSE messages:

• Subnet Configuration. (REQ/RES)[0600-0601] • Relationships among IP addresses and MAC addressed. (REQ/RES)[0602-0603] • Port Forwarding Configuration. (REQ/RES)[0604-0605] • QoS protocol prioritization list (REQ/RES) [0606-0607]

060x (x=0,2,4,6) GET_CONFIGURATION Web Portal Data Base 060y (y=1,3,5,7)

GET_CONFIGURATION_RESPONSE Data Base Web Portal

User Configuration POST/ACK messages: • Subnet Configuration. (POST/ACK)[0608-0609] • Relationships among IP addresses and MAC addressed. (POST/ACK)[0610-0611] • Port Forwarding Configuration. (POST/ACK)[0612-0613] • QoS protocol prioritization list (POST/ACK) [0614-0615]

060z (z=8,10,12,14)

POST_CONFIGURATION Web Portal Data Base

060w (w=9,11,13,15)

POST_ACK Data Base Web Portal

DHCP REQUEST/RESPONSE MESSAGES

0616 GET_CONFIGURATION DHCP Server Data Base

0617 GET_CONFIGURATION RESPONSE Data Base DHCP Server

Static QoS Enforcement

0618 STATIC_QoS_REQUEST Web Portal PCRF

ROMEO WP2 Page 55/132

0619 STATIC_QoS_RESPONSE PCRF Web Portal

0620 QoS_ENFORCEMENT_REQUEST PCRF NATIE

0621 QoS_ENFORCEMENT_RESPONSE NATIE PCRF

Dynamic QoS Enforcement

0622 DYNAMIC_QoS_REQUEST ROMEO P2P Server PCRF

0623 DYNAMIC_QoS_RESPONSE PCRF ROMEO P2P Server

0620 QoS_ENFORCEMENT_REQUEST PCRF NATIE

0621 QoS_ENFORCEMENT_RESPONSE NATIE PCRF

Table 12– Virtualisation Messages

ROMEO WP2 Page 56/132

3.7 Synchronisation

3.7.1 Fulfilled Requirements REQ 1.2, REQ 1.14

3.7.2 Detailed Block Diagram

Figure 27 - Synchronisation Component

3.7.3 Module Explanations Synchronisation component is responsible for the synchronisation of both views from hybrid paths (DVB and P2P) and collaborating users. The aim of this unit is to provide simultaneous multi-view content to decoder. Transport stream which is delivered through DVB and P2P networks needs to be aligned to deliver simultaneous multi-view 3D content to decoder. Synchronisation component will also align multiple users to see the content at the same time for collaboration.

3.7.3.1 Playout sync The Synchronisation module placed in front of P2P-DVB Reception is responsible for synchronising content by using their time-stamps and metadata, and subsequently streaming synchronised content to Audio/Video decoder modules synchronising subsequently

The module is responsible for:

• Buffering decrypted audio/video streams received through DVB and P2P channels before passing it to audio/video decoder.

• Sending the synchronised streams to the audio/video clusters some frames before the indicated presentation time in order to allow the decoders to have enough time to decode and wait till it’s time to send the frame for rendering.

Synchronisation module also communicates with UI module for diagnostics,. It also alerts UI component and Audio/Video decoder components for buffer under run and overrun cases if necessary.

Synchroniser will use the Video Stream Paths (ID 20) area in the metadata which contains the delivery path of the view. (e.g., "0" or "DVB": video layer intended for DVB-T2 broadcasting, "1" or "P2P": video layer intended for IP streaming )”

ROMEO WP2 Page 57/132

Synchronisation module shall extract timing information and video stream from TS streams

3.7.3.2 Collaborative sync This unit is responsible for synchronising the peers to jointly enjoy the content. It is decided to implement it as a configurable delay module. When a user wants to join a collaborating group, the user reports its network conditions to the collaborating group moderator. After calculating optimum waiting time of each user, the moderator informs each user their corresponding total delay amount from DVB clock for the collaborative synchronisation. After receiving the control message from A/V Overlay Control Module, this module delays Audio/Video streams received through DVB and P2P network for a specified amount of time (several seconds) for collaborative synchronisation. Once a peer joins a collaborating group, the delay remains constant until the peer switches to another content channel since adjusting the buffers upon leaving the collaborating group would result in visible disruption of content. The delay is assumed to be zero in case the peer is not actively collaborating with other peers. In order to adapt the changing network conditions, the A/V adaptation module will have a chance to reset this delay amount and this module behaves accordingly.

3.7.4 Inter-Module Connections

3.7.4.1 COLLABORATION_DELAY_SET (Message #0701) This message is sent from collaborative sync buffer to A/V adaptation module as an acknowledgement to SET_COLLABORATION_DELAY message.

Control messages triggering content adaptation mechanisms to avoid buffer under run cases also play important role in achieving smooth playback.

3.7.4.2 SYNCHRONISATION _BUFFER_NOTIFICATION (Messa ge #0702) This message is sent from synchronisation module to A/V adaptation module when the buffer fullness level is below a certain level or above a certain threshold. As a result of receiving this message, A/V adaptation module can decide to drop some of views or receive the content via DVB only depending on the network conditions at that time

3.7.4.3 AUDIO_STREAM_CON (Message #0703) This stream connection is used to transmit synchronised audio data content of different camera views to audio decoder module (media decoder & rendering)

3.7.4.4 VIDEO_STREAM_CON (Message #0704) This stream connection is used to transmit synchronised video data content of different camera views to video decoder module (media decoder & rendering).

3.7.4.5 IP/UDP stream with DVB TS (Message #0507) This stream connection is explained in Section 3.5.4.

3.7.4.6 DECRYPT_CONTENT (Message #1101) This stream connection is explained in Section 3.11.4.

Message Number Name From To

0701 COLLABORATION_DELAY_SET

Collaborative Synchronisation Buffer A/V Adaptation Module

0702 SYNCHRONISATION Synchronisation Buffer A/V Adaptation Module

ROMEO WP2 Page 58/132

_BUFFER_NOTIFICATION

0703 AUDIO_STREAM_CON

Synchronisation Audio Cluster

0704 VIDEO_STREAM_CON

Synchronisation Video Cluster 0507 IP/UDP stream with DVB TS 1. Encapsulation

TS in IP; 2. Internal IP interface

1. Internal IP interface; 2. Synchronisation engine and Buffer 2

1101 DECRYPT_CONTENT

Authentication, Registration And Security Synchronisation

Table 13 – Synchronisation & Network Monitor Messages

ROMEO WP2 Page 59/132

3.8 Audio-Visual Adaptation

3.8.1 Fulfilled Requirements REQ 1.6, REQ 1.7, REQ 1.8, REQ 1.9, REQ 1.10, REQ 1.13, REQ 1.18, REQ 3.10, REQ 3.11, REQ 3.12, REQ 3.13.

3.8.2 Detailed Block Diagram

Figure 28 – Audio-Visual Adaptation messages

3.8.3 Module Explanations This module will receive commands from the system to adapt the audio and video rendering processing. These commands are related to network conditions and user interactions.

3.8.3.1 Network Monitor Subsystem – NMS The Network Monitor Subsystem has the goal of collecting information regarding the status of the network, and providing it to the component that will use the information to performed informed decisions on the multicast trees that must reside in the tree sets (ACTIVE, READY, and SLEEPING).

The collection of the data happens at the link level. Each peer’s NMS will use two different techniques to measure the links’ parameters (delay, jitter, bandwidth, etc, as defined in the proper section). The first technique is applied to ACTIVE links, and it implies intercepting packets that transport multimedia data, hence collecting data on the links by examining the headers of the packet (e.g.: LLC header for the bandwidth of the layer 2 link). The data collection in this case is possible without incurring in overheads, since the NMS passively overhears the multimedia communication. The second technique is used to collect information on the READY links: probes packets are exchanged over the link between the NMS of two peers, with the goal of studying the condition of the link, and creating updated information on the link status. If a link is neither ACTIVE nor READY, it is not monitored hence its data are not collected.

The NMS has also the goal of providing information to the super-peers, which use the information to perform informed decision on which multicast trees to use (ACTIVE), to monitor (READY), and to put to ignore (SLEEPING) for multimedia data communication. This operation is driven by the super-peer itself, that broadcasts to the peers the identity of a multicast tree that will be used in reverse – used to upstream the NMS’ data towards the super-peer, instead of used to downstream multimedia data to all the peers interested into the multimedia data. With this goal in mind, the NMS of a given peer will receive other NMS’ data from the peer’s children in the selected multicast tree, it will aggregate the received data with its own, and then it will send the data to the NMS of the peer’s father. This process goes on until the data gets to the super-peer. This subsystem also keeps trace of the ageing of the

ROMEO WP2 Page 60/132

stored information, and considers the age of data while performing data aggregation, by giving more statistical weight to newer data.

3.8.3.2 User environment The user environment (e.g. displays and sound systems he will use) will impact the video/audio rendering. This information (802) will be sent to both video adaptation and audio adaptation blocks.

3.8.3.3 User Interface and control The user Interface and control (e.g. the preferred view) will impact the video/audio rendering. This information (803) will be sent to the video adaptation block to be analysed and converted into a global video adaptation signal (805).

3.8.3.4 Video adaptation This block will receive information (801, 802 and 803) from the network monitoring, the user environment and the user Interface and control. It will generate from these signals a global signal to be used by the video renderer indicating:

• The number of views to be generated • The preferred view if any • The amount of data the video renderer will received depending on network conditions

3.8.3.5 Audio adaptation This block will receive information (801, 802 and 803) from the network monitoring, the user environment and the user Interface and control. It will generate from these signals a global signal to be used by the audio renderer..

3.8.4 Inter-Module Connections

3.8.4.1 NETWORK_CONDITION (Message #0801) Metadata describing the network condition that will impact the A/V adaptation block

3.8.4.2 USER_ENVIRONMENT (Message #0802) Metadata describing the user environment (e.g. display and sound system) that will impact the A/V adaptation block. In terms of audio, it would contain the audio reproduction system configuration (5.1-channel, stereo, binaural, etc.) information.

3.8.4.3 USER Interface and control (Message #0803) This message contains inputs from the user (through the user interface) that will impact the A/V adaptation block.

3.8.4.4 AUDIO_ADAPTATION (Message #0804) This message contains metadata describing the audio adaptation mode. This represents the information regarding the rendering configuration to be used for the final audio delivery (5.1-channel, stereo, WFS, etc.) out of the audio adaptation module

3.8.4.5 VIDEO_ADAPTATION (Message #0805) This message contains metadata describing the video adaptation mode

3.8.4.6 SET_COLLABORATION_DELAY (Message #0806) This message is sent from A/V adaptation module to collaborative sync buffer to set the buffer size while joining a collaborating group as well as adapting the changing network conditions. Setting the delay to zero will be used for leaving the collaborating group.

ROMEO WP2 Page 61/132

3.8.4.7 ADAPT_COMP_COMM_MSG (Message #1006, 1007) These Messages are used to communicate parameter exchange with A/V Adaptation & Network Monitor Component.

Message Number Name From To

0801 NETWORK_CONDITION Network monitor Audio/video adaptation

0802 USER_ENVIRONMENT User environment Audio/video adaptation

0803 USER-REQUIREMENT User requirement Audio/video adaptation

0804 AUDIO_ADAPTATION Audio/video adaptation Audio/ renderer

0805 VIDEO_ADAPTATION Audio/video adaptation Video renderer

0806 SET_COLLABORATION_DELAY

Audio/video adaptation Synchronisation

1006 ADAPT_COMP_COMM_MSG User interface Audio/video adaptation

Table 14 – Audio-Visual Adaptation Messages

ROMEO WP2 Page 62/132

3.9 A/V Communication Overlay

3.9.1 Fulfilled Requirements REQ 1.3, REQ 1.4, REQ 4.5

3.9.2 Detailed Block Diagram

Figure 29- AV Communication Overlay Main blocks

3.9.3 Module Explanations A/V Communication Overlay component is responsible from developing a communication channel between users that are watching same content. Since users will be able to see same scenes at the same time, they will be able to share experience through A/V communication overlay component.

3.9.3.1 Server Module This section includes the explanations belonging to Server A/V Communication Overlay module.

3.9.3.1.1 Conference Controller This module is supposed to distribute conference roles (“Standard peer” – Peer delivering its own A/V content only or “Content distributer peer“– Peer distributing all A/V contents) to the peers and administrate the A/V stream between peers in conference. The controller focuses on administrative tasks like deciding which way the streams should follow and adjusting A/V synchronisation, instead of content distributing tasks. The controller does not distribute content to peers, unless it fails to find a suitable content distributer peer. .

3.9.3.1.2 A/V Content Distributor This module is supposed to distribute conference content, in case the conference controller module fails to find a suitable content distributor peer. This module deploys the data collected by A/V Content Receiver module on server.

3.9.3.1.3 A/V Content Receiver This module is supposed to receive all peer-specific A/V contents, in case the conference controller module fails to find a suitable content distributor peer.

ROMEO WP2 Page 63/132

3.9.3.2 Peer Module This section includes the explanations belonging to Peer A/V Communication Overlay Module.

3.9.3.2.1 Conference Controller This module is supposed to make the peer play the role which the server A/V module decides. If the peer is set to be a Standard Peer, the controller only controls receiving data. Otherwise, the controller shall manage content distributing to other peers in conversation.

3.9.3.2.2 A/V Content Distributor If the peer is a Standard Peer, the distributor delivers only its own A/V content. Otherwise, the distributor deploys all data collected by A/V Content Receiver module on peer.

3.9.3.2.3 A/V Content Receiver This module is supposed to receive remote peers’ A/V content.

3.9.3.2.4 Overlay Manager This module is supposed to make A/V conference content shown on the Display Unit, regardless of what is being displayed on the unit.

3.9.3.2.5 Display Unit It is a standard display unit which is not supposed to have any extra features related to A/V Communication Overlay module.

3.9.3.3 Collaboration Synchronisation Control Module This module is responsible for setting the overall collaboration delay from all the users. It will collect the delay from all participating peers and then compute an acceptable overall delay and share it with the synchronisation component of each collaborator.

3.9.4 Inter-Module Connections

3.9.4.1 SERVER_ORDER (Message # 0900) This message contains a server order generated for one of the peers. This order could be about roles, synchronisation or operations on streams.

3.9.4.2 REMOTE_PEER_INFO (Message # 0901) This message contains a package of data about a remote peer in A/V collaboration. The package includes data like user name, delay time and bandwidth

3.9.4.3 PEER_STATUS (Message # 0902) This message contains a package indicating some values about the current peer.

3.9.4.4 DATA_DELIVERY_ACK (Message # 0903) This message contains the delivery acknowledgements, package failures and delay time information about the current peer.

3.9.4.5 AV_TO_SERVER (Message # 0904) This message contains only one stream data related to current peer. The message is delivered to the content receiver on Server. If a content distributor peer exists in conference, this message is not sent.

ROMEO WP2 Page 64/132

3.9.4.6 BCAST_FROM_SERVER (Message # 0905) This message contains the A/V streams of every peer in conference. The message is broadcasted to all peers in collaboration. If a content distributor peer exists in conference, this message is not sent.

3.9.4.7 AV_TO_REMOTE (Message # 0906) This message contains only one stream data related to current peer. The message is delivered to the content distributor peer in collaboration. If none of remote peers is a content distributor, this message is not sent.

3.9.4.8 BCAST_FROM_REMOTE (Message # 0907) This message has the same data structure with Message #908. It contains the A/V streams of every peer in conference. The message is broadcasted to all peers in collaboration including the example peer on the 3.9.2 Detailed Block Diagram. If none of remote peers is a content distributor, this message is not sent.

3.9.4.9 BCAST_TO_REMOTE (Message # 0908) This message contains the A/V streams of every peer in conference. The message is broadcasted to all remote peers in collaboration. If the peer on the 3.9.2 Detailed Block Diagram is not a content distributor, this message is not sent.

3.9.4.10 AV_FROM_REMOTE (Message # 0909) This message has the same data structure with Message #906. It contains only one stream data related to a remote peer in collaboration. It is delivered to the example peer on the 3.9.2 Detailed Block Diagram. If the example peer is not a content distributor, this message is not sent.

3.9.4.11 REC_TO_DIST (Message # 0910) This message contains the A/V streams of every peer in conference. This message is delivered to the A/V Content Distributor to deploy the total stream to all peers in collaboration. If a content distributor peer exists in conference, this message is only sent in A/V Communication Overlay module on Peer.

3.9.4.12 STREAM_TO_OVERLAY (Message # 0911) This message contains only one stream data related to any peer in collaboration. The message is delivered to overlay manager to make the stream displayed.

3.9.4.13 STREAM_TO_DISPLAY (Message # 0912) This message contains only one stream data related to any peer in collaboration. The message is displayed on the screen, while 3D content is being served.

3.9.4.14 GET_DELAY_REQ (Message #0913) This message is sent to the A/V adaptation module to learn the time difference between DVB and P2P streams. This information will be forwarded to the conference moderator to calculate the overall collaboration delay.

3.9.4.15 SET_COLLABORATION_DELAY (Message #0914) This message is sent from A/V adaptation module to collaborative sync buffer to set the buffer size while joining a collaborating group as well as adapting the changing network conditions. Setting the delay to zero will be used for leaving the collaborating group.

ROMEO WP2 Page 65/132

Message Number Name From To

0900 SERVER_ORDER Conference Controller (Server)

Conference Controller (Peer)

0901 REMOTE_PEER_INFO Conference Controller (Server)

Conference Controller (Peer)

0902 PEER_STATUS Conference Controller (Peer)

Conference Controller (Server)

0903 DATA_DELIVERY_ACK Conference Controller (Peer)

Conference Controller (Server)

0904 AV_TO_SERVER A/V Content Distributor (Any Peer)

A/V Content Receiver (Server)

0905 BCAST_FROM_SERVER A/V Content Distributor (Server)

A/V Content Receiver (All Peers)

0906 AV_TO_REMOTE A/V Content Distributor (Peer) Other Peers

0907 BCAST_FROM_REMOTE Other Peers A/V Content Receiver (Peer)

0908 BCAST_TO_REMOTE A/V Content Distributor (Peer) Other Peers

0909 AV_FROM_REMOTE Other Peers A/V Content Receiver (Peer)

0910 REC_TO_DIST A/V Content Receiver (Peer or Server)

A/V Content Distributor (Peer or Server)

0911 STREAM_TO_OVERLAY A/V Content Receiver (Peer) Overlay Manager

0912 STREAM_TO_DISPLAY Overlay Manager Display Unit

0913 GET_DELAY_REQ

Collaboration Synchronisation Control Module A/V Adaptation Module

0914 SET_COLLABORATION_DELAY

Collaboration Synchronisation Control Module Synchronisation Module

Table 15 – Audio-Visual Communication Overlay Messages

ROMEO WP2 Page 66/132

3.10 User Interface & Control

3.10.1 Fulfilled Requirements This component is required for all requirements. This block will make every block operational

3.10.2 Detailed Block Diagram

Figure 30 – User Interface & Control

3.10.3 Module Explanations This component is mainly a user interaction component between ROMEO platform and end user. User will be able to change view of the 3D content through this component. It will also be used for some diagnostic purposes of some components. This module is user interface to the client user at fixed or mobile terminal. End user is changing parameters or communicating with other peers through this module. In other words, it is the interface of the system which a user can reach and communicate with the system components through this interface. It provides the user a graphical interface to change module parameters dynamically, manage user preferences and selections. Based on the preferences, permissions, keys and choices, the corresponding content is processed and displayed.

3.10.4 Inter-Module Connections

3.10.4.1 VID_COMP_COMM_MSG (Message #1000, 1001, 10 11) These Messages are used to communicate parameter exchange with Video Decode and Renderer Component. The user interface and control unit of the user terminal is in charge of communicating the necessary configuration information to the Demultiplexing and decapsulation block. This information includes the number of camera views and depth maps to demultiplex, the program IDs (PIDs) of the relevant transport streams to decapsulate, and the ports that should be used to connect to the video decoders. Moreover, the control unit is in charge of configuring the SVC decoders, such that it should send the information on which ports the video elementary streams to expect from.

The video renderer needs to be configured by receiving the channel configuration information (i.e., which colour views and which depth maps are associated) and the necessary camera parameters to process. It should also receive the information on how to correctly configure the output mode (side-by-side, line-by-line) and window size

3.10.4.2 SYNC_COMP_COMM_MSG (Message #1002, 1003) These Messages are used to communicate parameter exchange with Synchronisation Component

ROMEO WP2 Page 67/132

3.10.4.3 DVB_COMP_COMM_MSG (Message #1004,1005) These Messages are used to communicate parameter exchange with DVB Reception Component

3.10.4.4 ADAPT_COMP_COMM_MSG (Message #1006, 1007) These Messages are used to communicate parameter exchange with A/V Adaptation & Network Monitor Component.

3.10.4.5 P2P_COMP_COMM_MSG (Message #1008) These messages are used to communicate parameter exchange with P2P Component. These messages can be as:

• PARENT_PEERS_OF _INTEREST_NOTIFICATION • TOPOLOGY_JOIN_REQUEST_INTERNAL

3.10.4.6 OVRLY_COMP_COMM_MSG (Message #1009,1010) These Messages are used to communicate parameter exchange with A/V communication overlay Component.

3.10.4.7 AUD_COMP_COMM_MSG (Message #1012, 1013, 10 14) These Messages are used to communicate parameter exchange with Audio Decode and Renderer Component

3.10.4.8 AUT_COMP_COMM_MSG (Message #1015, 1016) These Messages are used to communicate parameter exchange with Authentication, Registration & Security Component.

3.10.4.9 USR_GEN_COMP_COMM_MSG (Message #1017,1018) These Messages are used to communicate parameter exchange with User Generated Content Component.

Message Number Name From To 1000, 1001, 1011 VID_COMP_COMM_MSG

User Interface and Control

Video Decoder & Renderer

1002, 1003 SYNC_COMP_COMM_MSG User Interface and Control Synchronisation

1004, 1005 DVB_COMP_COMM_MSG User Interface and Control DVB

1006, 1007 ADAPT_COMP_COMM_MSG User Interface and Control A/V Adaptation

1008 P2P_COMP_COMM_MSG User Interface and Control P2P

1009, 1010 OVRLY_COMP_COMM_MSG User Interface and Control

A/V Communication Overlay

1012, 1013, 1014 AUD_COMP_COMM_MSG

User Interface and Control

Audio Decoder and Renderer

1015, 1016 AUT_COMP_COMM_MSG User Interface and Control

Authentication, Registration and security

1017, 1018

USR_GEN_COMP_COMM_MSG

User Interface and Control

User Generated Content

Table 16 – User Interface & Control Messages

ROMEO WP2 Page 68/132

3.11 Authentication, Registration and Security

3.11.1 Fulfilled Requirements REQ 1.5 , REQ 1.16 , REQ 1.33 , REQ 4.3

3.11.2 Detailed Block Diagram

Figure 31 – Authentication, Registration & Security Block Diagram

3.11.3 Module Explanations This module will be responsible for the privacy, security and integrity of the whole system. The functionalities of the system can be summarized as:

1. Authorization and authentication of the users in the initial join and granting their access rights.

2. Encryption of the content for protecting from unauthorized users. 3. Signing content so that the source can be checked for integrity. 4. Key Management for content integrity.

3.11.3.1 User Authentication This module will be responsible for checking the access rights of a given user id and licence from the existing user database.

3.11.3.2 Encryption To achieve the content privacy over the internet, this module will be used to encrypt or decrypt content.

Figure 32 – Encryption Data Flow

ROMEO WP2 Page 69/132

3.11.3.3 Key Management This module is responsible for distribution of private/public key pairs for user generated data.

3.11.3.4 Content Integrity This module is responsible for checking the integrity of content created by users.

3.11.4 Inter-Module Connections

3.11.4.1 ENCRYPT_CONTENT (Message #1100) The signed transport streams will be delivered to the P2P packetisation block, which deals with fragmenting the compressed content into P2P chunks.

3.11.4.2 DECRYPT_PACKET (Message #1101) This is the packet to be fed to the synchronisation module.

3.11.4.3 RETURN_PRIVATE_KEY (Message #1102) This message is a response to the GET_KEY_PAIR message and is sent to authentication module of the peer with the following: Content Id and Private Key.

3.11.4.4 RETURN_PUBLIC_KEY (Message #1103) This message is sent to the users with access rights to certain user generated content. The message contains: User Id (content generator), content Id and public key.

3.11.4.5 . CONTENT_INTEGRITY_CHECK_RESULT (Message #1104) This message is a response to the CONTENT_INTEGRITY_CHECK request. This contains content id, package id and result. Result can be:

• CONTENT_VERIFIED: Content has been signed correctly. • CONTENT_NOT_VERIFIED: Content has not been signed correctly or is from a

malicious source.

3.11.4.6 SIGNED_CONTENT (Message #1105) This message is response to SIGN_USER_CONTENT. The packet contains content id, packet id, signed data and signed data size.

3.11.4.7 SEND_USER_RIGHTS (Message#1106) This message is responsible for sending the rights of mobile users to the mobility unit. It contains the user id and the user rights.

3.11.4.8 ENCRYPT (Message #204,205,206) These messages are content messages to be encrypted. They are explained in sections 3.2.4.5, 3.2.4.6 and 3.2.4.7 respectively.

Message Number Name From To

1100 ENCRYPT_CONTENT

Authentication, Registration And Security P2P

1101 DECRYPT_CONTENT

Authentication, Registration And Security Synchronisation

1102 RETURN_PRIVATE_KEY

Authentication, Registration And Security

Authentication, Registration And Security Peer

ROMEO WP2 Page 70/132

Server

1103 RETURN_PUBLIC_KEY

Authentication, Registration And Security Server

Authentication, Registration And Security Peer

1104 CONTENT_INTEGRITY_CHECK_RESULT

Authentication, Registration And Security

User Generated Data

1105 SIGNED_CONTENT

Authentication, Registration And Security

User Generated Data

1106 SEND_USER_RIGHTS

Authentication, Registration And Security

Media Aware Network Element

Table 17 – Authentication, Registration and Security Messages

ROMEO WP2 Page 71/132

3.12 User Generated Content

3.12.1 Fulfilled Requirements REQ 2.10, REQ 2.16, REQ 3.9, REQ 4.3 and REQ 4.6

3.12.2 Detailed Block Diagram

Figure 33 – User Generated Data Block Diagram

3.12.3 Module Explanations This module will be responsible for user generated content. The main responsibilities are:

1. Capturing content via 3D cameras

2. Uploading the content to the main content server register and Store.

3. Content Search/discover user generated content. and Discovery

4. Downloading discovered content from main content server.

4. Content Upload / Download

In figures displayed below; flow diagrams for content upload and download are provided:

Figure 34 – User Content Upload

ROMEO WP2 Page 72/132

Figure 35 – User Content Download

3.12.3.1 2D/3D User Content Capture User content can be captured from devices generating 2D/3D content, compatible with formats supported by ROMEO system. User terminal can receive content in several ways:

1. Capture content with internal 2D/3D camera and audio device. 2. Download content from ROMEO server using procedures for User Content

Download. 3. Download content from Internet or using other communication channels – DVB,

Bluetooth, IR,.... 4. Read content from external flash memory 5. Download content from PC or other external device

3.12.3.1.1 Block diagram of user generated content capture for mobile 3D terminal device

3D camera terminal device uses two image sensors to capture 3D video streams and still images. Captured frames should be synchronised to achieve good stereo effect. At the same time all features related to 2D video and image processing should be applied also. Along with algorithms used in 2D video and imaging, additional algorithms specific for 3D are implemented. In 2D mode the camera uses only one image sensor.

Terminal device can receive user generated content from external sources. Generally the terminal can access Internet or communicate using different communication channels (DVB, Bluetooth. The device can be connected to PC or other external devices.

ROMEO mobile 3D terminal device should be implemented based on Texas Instruments OMAP platform

ROMEO WP2 Page 73/132

Figure 36 – Terminal device with 2D/3D camera

Camera application controls the software and hardware of the camera through Camera Control Framework (Camera Hal).

3.12.3.1.2 Image and Video processing algorithms in 2D/3D came ra In 2D/3D camera are implemented a lot of image and video processing algorithms:

Defect pixel correction - The Defect Pixel Correction fixes existing defect pixels received from raw sensor.

Lens Vignetting correction - Lens shading compensation (LSC) is useful to correct optical artifact which cause the image brightness to decrease as we go from the center of the image to the edges. Lens Geometrical Distortion Correction - The lens distortion correction (LDC) module corrects lens geometric distortion issues.

Chromatic Aberration Correction – Used to correct chromatic aberrations typical for some camera lenses.

Green Imbalance Correction – The algorithm is used to reduce the effect of line-crawling (Gb-Gr difference) in raw sensors.

Raw Noise Filtering – Used to reduce the noise in Bayer (Raw) domain.

Colour Filter Array Interpolation – CFA (colour filter array) interpolation generates RGB data from Bayer RGB pattern

Colour Correction – Used to correct the colours from image sensor to colours used in encoder and display devices.

Gamma Correction – Used to apply Gamma correction to linear data from raw sensor.

Luma and Chroma Noise Filtering – Used to reduce the noise in YCbCr domain.

Temporal and Spatial Video Noise Filtering – Video noise filter do reduce the noise in video capture mode.

Stereo Image and Frame Alignment – This is 3D specific algorithm used to correct mechanical misalignment between stereo frames.

ROMEO WP2 Page 74/132

Video Stabilisation – The algorithm is used to reduce handshake effect from mobile device cameras.

Stereo 3A Algorithms – Auto Exposure, Auto White Ba lance, Auto Focus – All automatic control algorithms are designed for stereo capture, to control exposure, white balance and focus.

All image processing algorithms are adaptive. There control parameters are adapted based on light condition and frame content.

3.12.3.1.3 Save 2D/3D videos and images Video frames generated from the camera are directed to mobile device display, video encoder or jpeg encoder. The encoder output is stored on internal device memory. All users’ generated content received using communication channels and connections to external devices are stored in terminal device memory also. After that, the content can be submitted to ROMEO system server. By User Interface on terminal device is selected the content to upload/download on ROMEO server.

3.12.3.2 Content Register and Store After verification and passing the integrity checking, the user generated content is submitted to the Content Register and Store (CRS) module for file storage in the main seed server. A Global Unique Identification (GUID) is associated with the content file and maps it to the CRS file system. Metadata about the content, such as content title, license, authors, generating date, file length, etc. will be used to generate the GUID.

3.12.3.3 Content Search and Discovery This module is responsible for discovering where the requested content file is stored in the main seed server file store. The only search criterion for search is the content file’s GUID. Users will need to send the necessary information about the content to the module for a successful search.

3.12.3.4 Content Upload/Download This module is responsible for uploading/downloading content from server.

3.12.4 Inter-Module Connections

3.12.4.1 CONTENT_REGISTER_REQUEST (Message #1200) This content register request message is relayed to the Verification module and includes the following information:

• Content title, • License, • Authors, • Production date, • Length of file in byte

3.12.4.2 CONTENT_REGISTER_REPLY (Message #1201) This message is to indicate to the requester whether the content is registered or not. If the content is allowed to register, the content data will be stored to the main server’s file system. This message is sent from the user authentication module.

ROMEO WP2 Page 75/132

3.12.4.3 CONTENT_SEARCH_REQUEST (Message #1202) The content search request message is from verification module and should include necessary information about the requested content, such as title, authors, license and file length etc., to generate the GUID for search in the main seed server file store.

3.12.4.4 CONTENT_SEARCH_REPLY (Message #1203) The search reply message is sent to the content requester via Verification mode. The path of the requested content file is included in this message.

3.12.4.5 INITIATE_UPLOAD_DATA (Message #1204) This message will be used to initialize the content upload. The inputs are content id, user id, content size and number of packets. The server checks if the content already exists and sends a message to the authentication unit for checking the key pair.

3.12.4.6 CONTENT_UPLOAD_RESULT (Message #1205) This message is sent to the user generated data module to confirm or deny the request for uploading data to the server. If request is denied a reason is sent with the message and these are:

1. ALREADY_UPLOADED: Content with the same id has already been uploaded to the server

2. NO_KEY_GENERATED: No key pair request has been made for this particular content.

3.12.4.7 INITIATE_DOWNLOAD_DATA (Message #1206) This message will be used to initiate the content download. The inputs are content id (provided from an earlier search query) and user id. The server checks if the user has the right to download the request.

3.12.4.8 CONTENT_DOWNLOAD_RESULT (Message #1207) This message is a response to the INITIATE_DOWNLOAD_DATA. The contents are:

1. USER_VERIFIED: Shows that the user has the rights.

2. USER_NOT_VERIFIED: Shows that user does not possess the rights.

In case content is found, in addition size and number of packets to download are also sent with the message.

3.12.4.9 USER_CONTENT (Message #1208) This contains the package id, user content and its size. The message is forwarded to the Authentication, Registration and Security for verification. The verified content is further forwarded to the rendering unit. In case verification fails the package is requested again from the server

3.12.4.10 CONTENT_REQUEST (Message #1209) In case verification fails this message is sent to request the package again from its source.

3.12.4.11 SIGN_USER_CONTENT(CONTENT (Message #1210) This message is responsible for signing each packet. The packet contains data, data size, package id and content id. This message is sent via the upload/download unit to the authentication unit.

ROMEO WP2 Page 76/132

3.12.4.12 CONTENT_UPLOAD_DOWNLOAD_START (Message #1 211) This message will be sent to the MANE to signal content upload/download start. This contains the user id and the operation id: 0 for download and 1 for upload.

3.12.4.13 CONTENT_UPLOAD_DOWNLOAD_END (Message #121 2) This message will be sent to the MANE to signal content upload/download end. This contains the user id and the operation id: 0 for download and 1 for upload

3.12.4.14 CONTENT_CAPTURE_START_STOP (Message #1215 ) By this message User Interface starts and stops 2D/3D content capture

3.12.4.15 CONTENT_ENCODE_START_STOP (Message #1216) By this message User Interface starts and stops captured 2D/3D content encoding

3.12.4.16 USER_CONTENT_UPLOAD (Message #1217) This message is to send command from terminal user interface to Content Upload/Download module to upload user generated content.

3.12.4.17 USER_CONTENT_DOWNLOAD (Message #1218) This message is to send command from terminal user interface to Content Upload/Download module to download user generated content

3.12.4.18 GET_KEY_PAIR (Message #1219) This message is initiated by the user generated content module on the peer side with the following inputs: User Id of the content generator, an id for the generated content, list of user ids with access rights to the content.

3.12.4.19 CHECK_USER_KEY (Message #1220) User id and content id is sent to check if a key pair is generated for this content. It returns:

• CONTENT_OK: If there exists a created key. • CONTENT_FAILED: If such a key does not exist.

Message Number Name From To

1200 CONTENT_REGISTER_REQUEST

Content Register and Store Module

Authentication, Registration and Security Module

1201 CONTENT_REGISTER_REPLY

Authentication, Registration and Security Module

Content Register and Store Module

1202 CONTENT_SEARCH_REQUEST

Authentication, Registration and Security Module

Content Search and Discovery Module

1203 CONTENT_DATA_DOWNLOAD

Content Search and Discovery Module

Content Upload/Download Module

ROMEO WP2 Page 77/132

1204 INITIATE_UPLOAD_DATA

User Generated Data Peer

User Generated Data Server

1205 CONTENT_UPLOAD_ACK

User Generated Data Server

User Generated Data Peer

1206 INITIATE_DOWNLOAD_DATA

User Generated Data Peer

User Generated Data Server

1207 CONTENT_DOWNLAOD_ACK

User Generated Data Server

User Generated Data Peer

1208 USER_CONTENT

User Generated Data

Authentication, Registration and Security

1209 CONTENT_REQUEST

User Generated Data Peer/Server

User Generated Data Server/Peer

1210 SIGN_USER_CONTENT

User Generated Data

Authentication, Registration and Security

1211 CONTENT_UPLOAD_DOWNLOAD_START

User Generated Data Server

Media Aware Network Element

1212 CONTENT_UPLOAD_DOWNLOAD_END

User Generated Data Server

Media Aware Network Element

1215 CONTENT_CAPTURE_START_STOP User Terminal Interface

2D/3D Content Capture

1216 CONTENT_ENCODE_START_STOP User Terminal Interface

Video/Audio Encoder

1217 USER_CONTENT_UPLOAD User Terminal Interface

Content Upload/Download

1218 USER_CONTENT_DOWNLOAD User Terminal Interface

Content Upload/Download

1219 GET_KEY_PAIR User Generated

Authentication, Registration And

ROMEO WP2 Page 78/132

Data Security

1220 CHECK_USER_KEY

User Generated Data

Authentication, Registration And Security

Table 18 – User Generated Content Messages

ROMEO WP2 Page 79/132

3.13 3D Video Decoding

3.13.1 Fulfilled Requirements REQ 1.6, REQ 1.11, REQ 1.12, REQ 1.13, REQ 1.21, REQ 1.24, REQ 1.25, REQ 2.14, REQ 2.15, REQ 3.10, REQ 3.11, REQ 3.12, REQ 3.13, REQ 3.14, REQ 3.15, REQ 4.24

3.13.2 Detailed Block Diagram

Figure 37 – 3D Video decoding process

3.13.3 Module Explanations In the following subsections, the brief explanations of the involved sub modules within the user terminal video decoder, as well as the explanations of the inter-module connections are presented.

3.13.3.1 Peer Terminal 3D video decoding for Fixed and Mobil e Displays

3.13.3.1.1 Demultiplexing and decapsulation This module demultiplexes different camera viewpoints and depth maps (and also descriptions, if multiple-description is in use) and sends them to different SVC decoder instances that run in parallel. Before sending the transport streams, the TS and Packetised Elementary Stream (PES) packets are decapsulated in to elementary streams (ES). Base layer and Enhancement layer NAL units are aggregated to be sent to the same decoder. The ESs are forwarded to the decoder(s) Access Unit by Access Unit because of the decoding architecture.

3.13.3.1.2 SVC decoder This module decodes the delivered elementary streams and produces raw YUV 4:2:0 image sequences to be processed further.

3.13.3.1.3 View interpolation metadata decoder This module decodes the delivered metadata (if existing in the multiplex) and sends it to the video renderer for improved concealment purposes.

3.13.3.1.4 Visual attention metadata This module extracts the visual attention metadata and forwards them to the video renderer in the required format, such that improved display adaptation can be done.

3.13.3.1.5 Multiple description merger This module receives the raw (uncompressed) descriptions from associated decoders’ output ports and processes them to generate the full representation. If one or several descriptions are

ROMEO WP2 Page 80/132

missing, a reduced quality representation is produced at the end that is forwarded to the video renderer.

3.13.4 Inter-module connections

3.13.4.1 ELEMENTARY_STREAMS (Message #1301) The video elementary streams are forwarded to the input ports of the SVC decoder instances. The stream is forwarded as an access unit NAL packet stream, where each packet comprises the compressed version of a single video frame, in the correct decoding order. Note that the decoded frames correspond to a single description, each.

3.13.4.2 RAW_DESCRIPTIONS (Message #1302) The decompressed video frames, each corresponding to a single description, are forwarded to the Multiple-Descriptions merging block with the associated presentation time stamp information. The block combines the pixels of each decoded description to yield the full resolution decoded video frame and forwards it to the video rendering block over high-throughput connection (e.g. infiniband) using a robust communication scheme, such as TCP.

3.13.4.3 VIEW_INTERPOL_METADATA (Message #1303) The view interpolation metadata carried along with the audio-visual media data is forwarded to the view interpolation metadata decoder to get the optimal blending coefficients and delivered to the video renderer block.

3.13.4.4 VISUAL_ATTN_METADATA (Message #1304) The visual attention metadata carried along with the audio-visual media data is forwarded to the video renderer block for the purpose of display adaptation.

3.13.4.5 VIEW_INTERPOL_METADATA_FORWARD (Message #1 305) The decoded view interpolation metadata is delivered to the video renderer.

3.13.4.6 VID_COMP_COMM_MSG (Message #1000, 1001, 10 11) Video decoder interface with user interface component is explained is Section 3.10. Messages related to video decoder and renderer UI are explained in 3.10.4.1

The following table depicts the included inter-module connections’ list and the following subsections provide a brief explanation of each of them.

Message Number Name From To

1301 ELEMENTARY_STREAMS

Demultiplexing and depacketisation block SVC decoders

1302 RAW_DESCRIPTIONS SVC decoders

Video renderer (or optionally to multiple description merger, if multiple descriptions exist)

1303 VIEW_INTERPOL_METADATA

Demultiplexing and depacketisation block Video renderer

1304 VISUAL_ATTN_METADATA Demultiplexing Video renderer

ROMEO WP2 Page 81/132

and depacketisation block

1305 VIEW_INTERPOL_METADATA_FORWARD

View interpolation metadata decoder Video renderer

Table 19– 3D video decoding messages

ROMEO WP2 Page 82/132

3.14 Video rendering

3.14.1 Fulfilled Requirements REQ 1.6, REQ 1.10, REQ 1.26, REQ 2.1, REQ 2.2, REQ 2.3, REQ 2.4, REQ 2.8, REQ 2.27, REQ 3.1, REQ 3.12

3.14.2 Detailed Block Diagram

Figure 38 – Video Rendering block diagram

3.14.3 Module Explanations The video rendering block will provide the adapted video signal to the targeted display. It will handle the number of views required for this specific display unit.

3.14.3.1 Disparity map projection This block will prepare disparity maps for the future view interpolation processing. It receives disparity maps from the decoder through a high speed interface (e.g. Infiniband interface). Disparity maps are received corresponding to disparity between incoming views. The view interpolation process requires this information projected at the right position in between the video. This block delivers a set of disparity maps corresponding to the number of projection that will be applied in the view interpolation block. Positions of interpolated views are determined by the view renderer control block.

3.14.3.2 View interpolation This block will use projected disparity maps and video signals to generate interpolated views in between incoming ones. It is controlled by the video renderer control block.

3.14.3.3 Video shuffling This block will use all incoming and interpolated views to generate the sub-sampled shuffled video adapted to the display. This block is controlled by the video renderer control block, which adapts the processing to the targeted display.

3.14.3.4 Video renderer control This block masters the video renderer in term of processing to be applied. It is the interface with the audio/visual adaptation block as well as with the video decoder block. It will determine the number of views to be interpolated as well as the ir respective positions.

3.14.4 Inter-Module Connections

3.14.4.1 RAW DISPARITY MAPS (Message #1401) Disparity maps information is decoded by the video decoder and transmitted through a high speed interface (e.g. Infiniband interface)

ROMEO WP2 Page 83/132

3.14.4.2 RAW VIDEO DATA (Message #1402) Video information decoder by the video decoder and transmitted through a high speed interface (e.g. Infiniband interface)

3.14.4.3 PROJECTED DISPARITY MAPS (Message #1403) Disparity maps information projected at the right position to be used by the view interpolation block

3.14.4.4 INTERPOLATED VIEWS (Message #1404) Interpolated view calculated from video and projected disparity maps

3.14.4.5 SHUFFLED VIDEO (Message #1405) Video formatted in accordance with the pixel shuffling of the targeted display

3.14.4.6 VIDEO_RENDERING_CONTROL (Message #1406) Metadata corresponding to the description of the view interpolation to be processed, taking into account incoming metadata (214, 215 and 805)

3.14.4.7 VIDEO_ADAPTATION (Message #805) This message is explained in section 3.8.4

3.14.4.8 VIEW_INTERPOL_METADATA (Message #1303) This message is explained in video decoder component under section 3.13.4

3.14.4.9 VISUAL_ATTN_METADATA (Message #1304) This message is explained in video decoder component under section 3.13.4

Message Number Name From To

1401 RAW DISPARITY MAPS Video Decoder Disparity map projection

1402 RAW VIDEO DATA Video Decoder View interpolation

1403 PROJECTED DISPARITY MAPS

Disparity map projection View interpolation

1404 INTERPOLATED VIEWS View interpolation Video shuffling

1405 SHUFFLED VIDEO Video shuffling Display

1406 VIDEO_RENDERING_CONTROL

Video renderer control

Disparity map projection/view interpolation and video shuffling

Table 20 – Video Rendering Messages

ROMEO WP2 Page 84/132

3.15 Audio Encoding, Decoding & Rendering

3.15.1 Fulfilled Requirements REQ 3.16, REQ 3.17, REQ 3.18, REQ 3.19, REQ 3.20

3.15.2 Detailed Block Diagram

Figure 39 – 3D Audio encoding (above) and decoding & rendering (below)

3.15.3 Module Explanations At the encoding side the audio signals generated by the content generation component are fed to the spatial audio encoder for audio compression while at the decoding side the spatial audio decoder will be used to recreate the audio signals. For audio rendering three options are available: headset/stereo, 5.1, and wave filed synthesis.

3.15.3.1 Audio Encoding and Decoding

3.15.3.1.1 Spatial Audio Encoder Two encoding approaches using standardised spatial audio codecs will be considered for the project: MPEG AAC multichannel and MPEG Surround combined with AAC. The one that would provide the best performance in the investigation will be used in the ROMEO project.

3.15.3.1.2 Audio Stream Packetiser The encoded audio signal will be presented as bit stream through this module.

3.15.3.1.3 Audio Stream Depacketiser This module extracts the audio bit stream from the received audiovisual stream.

3.15.3.1.4 Spatial Audio Decoder This module is the spatial audio decoder that decodes and provides the decoded audio signals.

3.15.3.2 Audio Rendering

3.15.3.2.1 Audio Rendering Control The function of this module is to process the decoded audio signal for a particular audio rendering option: binaural/stereo, 5.1, and wave field synthesis.

ROMEO WP2 Page 85/132

3.15.3.2.2 Binaural/Stereo Processing This module is to be used as an interface for the mobile and portable terminal for binaural audio rendering or for the fixed terminal for stereo audio rendering.

3.15.3.2.3 Wave Field Synthesis The wave filed synthesis (WFS) module is aimed at reproducing higher quality audio rendering when large numbers of loudspeakers are available.

3.15.3.2.4 Headset/Stereo Loudspeaker This module is the mobile user’s headset or stereo loudspeaker.

3.15.3.2.5 5.1-channel Loudspeakers This is the standard 5.1-channel loudspeaker reproduction system for rendering basic audio scheme in the ROMEO.

3.15.3.2.6 Large Number of Loudspeakers This module describes a large number of loudspeakers required for audio rendering using WFS.

3.15.4 Inter-Module Connections

3.15.4.1 COMPRESSED_AUDIO (Message # 1501) This represents the compressed audio streams after the encoder that will be packetised. .

3.15.4.2 PACKETISED_AUDIO (Message # 1502) This represents the packetised elementary audio streams (PES) that will be transmitted for encapsulating in the P2P-Packetisation component .

3.15.4.3 COMPRESSED_AUDIO (Message # 1503) This represents the received compressed audio that have been depacketised and ready to be decoded.

3.15.4.4 DECODED_AUDIO (Message # 1504) This represents the audio streams after the decoder, ready to be rendered through various reproduction settings.

3.15.4.5 OBJECT_BASED_AUDIO (Message # 1505) This represents the audio objects and the scene description that will be passed to the binaural audio renderer.

3.15.4.6 STEREO/BINAURAL_AUDIO (Message # 1506) This represents the downmixed stereo audio signals, or the binaural audio rendered using the audio objects and the scene description.

3.15.4.7 5.1_AUDIO (Message # 1507) This represents the audio streams in 5.1-channel configuration for the default spatial audio rendering for the fixed-user.

3.15.4.8 OBJECT_BASED_AUDIO (Message # 1508) This represents the audio objects and the scene description used for the WFS reproduction.

3.15.4.9 WFS_SIGNAL (Message # 1509) This represents the rendered WFS audio signals that will be passed to the WFS loudspeakers.

ROMEO WP2 Page 86/132

3.15.4.10 AUDIO_CTL2 (Message # 1510) This message is necessary for audio-video synchronisation when binaural audio rendering is performed.

3.15.4.11 AUDIO_CTL3 (Message # 1511) This message is the audio synchronisation information required when performing audio rendering using wave field synthesis..

3.15.4.12 AUDIO_MDATA2 (Message # 1512) This message is the audio metadata that required for binaural rendering

3.15.4.13 AUDIO_MDATA3 (Message # 1513) This message is the audio metadata that required for WFS rendering.

3.15.4.14 AUDIO_OBJECTS/CHANNELS (Message # 0109) This represents the audio objects or channels that have been passed through the content generation component, ready to be encoded.

3.15.4.15 SYNCHRONIZED_AUDIO (Message # 0705) This represents the synchronised audio stream that received from Synchronisation component.

3.15.4.16 AUDIO_ADAPTATION (Message #0804) This message contains metadata describing the audio adaptation mode. This represents the information regarding the rendering configuration to be used for the final audio delivery (5.1-channel, stereo, WFS, etc.) out of the audio adaptation module.

3.15.4.17 AUD_COMP_COMM_MSG (Message #1012, 1013, 1 014) These Messages are used to send necessary information to control the audio decoder and renderer.

Message Number Name From To

1501 COMPRESSED_AUDIO Spatial Audio Encoder Audio Stream Packetiser

1502 PACKETISED_AUDIO Audio Stream Packetiser

Encapsulator

1503 COMPRESSED_AUDIO Audio Stream Depacketiser

Spatial Audio Decoder

1504 DECODED_AUDIO Spatial Audio Decoder

Audio Rendering Control

1505 OBJECT_BASED_AUDIO

Audio Rendering Control

Binaural/Stereo Processing

1506 STEREO/BINAURAL_AUDIO

Binaural/Stereo Processing

Headset/Stereo Loudspeaker

1507 5.1_AUDIO Audio Rendering Control

5.1 Loudspeaker

1508 OBJECT_BASED_AUDIO

Audio Rendering Control

Wave Field Synthesis

1509 WFS_SIGNAL Wave Field Synthesis

Large Number of Loudspeaker Array

1510 AUDIO_CTL2 Audio Rendering Control

Binaural/Stereo Processing

ROMEO WP2 Page 87/132

1511 AUDIO_CTL3 Audio Rendering Control

Wave Field Synthesis

1512 AUDIO_MDATA2 Audio Rendering Control

Binaural/Stereo Processing

1513 AUDIO_MDATA3 Audio Rendering Control

Wave Field Synthesis

0109 AUDIO_OBJECTS/CHANNELS

Content Generation Module Spatial Audio Encoder

0705 SYNCHRONIZED_AUDIO

Synchronisation Audio Stream Depacketiser

0804 AUDIO_ADAPTATION ( A/V Adaptation Audio Rendering Control

1012, 1013, 1014

AUD_COMP_COMM_MSG

User Interface & Control

Audio Decoder and Rendering Control

Table 21 – Audio Decoding/Rendering Messages

3.16 Use Cases and System Component Mapping

3.16.1 User Join Related Reference Scenario: Consumption of 3D audio/video over hybrid delivery paths

Figure 40 – User Join Scenario Sequence Diagram

ROMEO WP2 Page 88/132

• User Interface Component sends a request to P2P component to join the network.

• P2P component’s peer module starts connection process with server side to establish connection and sends Join Request to the server module of P2P component.

• Authentication component of the server performs licence check to the peer (In ROMEO it is assumed that all ROMEO users have a proper licence).

• The user type is also forwarded to Policy Charging and Rule Function (PCRF).

• If the license is not approved, then server module sends disapproval to the peer module and result of the join process is answered to the User Interface Component.

• If the license is approved by server module, approval is sent to the peer module of P2P component.

• After approval of license, peer module sends device & connection capabilities to the server module.

• If the device/connection capabilities of the peer are not appropriate to be placed in the topology, peer is informed by the main server and this peer consumes the main view of the stream via DVB only and it is still inserted to the multiple multicast trees to be able to send/receive network control messages and necessary feedbacks.

• If the device/connection capabilities of the peer are appropriate, it is inserted into the tree by the main server and a list of determined parent is sent to them.

• Peer tries to establish connection with all parents in the list for all multi-cast trees.

• If peer cannot establish connection with some or all parents in multiple multi-cast trees, it informs the main server about the situation and main server sends a new parent list to it until it can connect all of the multi-cast trees.

• The result of the join process is answered to the User Interface Component.

3.16.2 Live stream reception of fixed users with op timal conditions Related Reference Scenario: Consumption of 3D audio/video over hybrid delivery paths

Figure 41 – User with optimal conditions live stream reception sequence diagram

ROMEO WP2 Page 89/132

• User starts to get all pre-processed streams from its parents from each of the multicast trees it joined; that is, peer P2P component receives the data.

• P2P component sends the received data to packetisation component to be depacketised and then the data is sent to Authorization, Registration and Security module to be decrypted (decryption is optional).

• Decrypted streams are sent to the synchronisation component to be buffered.

• Synchronisation component synchronises all views with audio and depth information relative to DVB and then sent to the media encoding/decoding component to be decoded.

• Media encoding/decoding component renders the audio and video to be displayed to the user.

3.16.3 A/V Adaptation Related Reference Scenario: Consumption of 3D audio/video over hybrid delivery paths

Figure 42 – A/V adaptation triggered by Network Monitoring module sequence diagram

ROMEO WP2 Page 90/132

Figure 43 – A/V adaptation triggered by Synchronisation module sequence diagram

• The Network Monitoring module of the peer monitors the user’s QoE and network conditions sufficiency to meet necessary QoE. (Network monitoring module triggered adaptation process is shown in Figure 42. Buffer under run situation may also trigger the adaptation process).

• In case of the detection of a crucial change in the network conditions, the Network Monitoring module notifies the QoE Adaptation module about the change and the QoE Adaptation component of the peer decides on the adaptation steps to be taken to use network resources as efficient as possible to provide best possible QoE and sends the decision to the P2P component.

• Child’s P2P component communicates with the parent’s P2P component to inform it about the adaptation decisions. Adaptation decision also sent to the synchronisation module to inform it.

• If there is no problem as above, parent’s P2P component acts according to the adaptation decision sent by the child and sends an ACK message to the child to inform it.

• Child’s P2P component sends this ACK message to QoE adaptation and Network Monitoring modules as well.

3.16.4 Peer disconnect Related Reference Scenario: Consumption of 3D audio/video over hybrid delivery paths

ROMEO WP2 Page 91/132

Figure 44 – Peer disconnect sequence diagram

Peer disconnect (gracefully):

• When a peer wants to leave live stream gracefully, it sends a disconnect request to the P2P component of the main server.

• The P2P component of the main server reforms the overlay by maintaining the connections of the served peers of the peer requesting to disconnect so that QoE of the other users is not affected with this disconnection and as a result calculates a new parent for children of the disconnected peer and informs the children about new parent to connect.

• Childs of the disconnected parent sends “start” message to the other parent in the tree at which the same stream is sent redundantly.

• Childs of the disconnected parent tries to establish connection with the new parent and inform the server when connection is established successfully.

• The main server sends a disconnect ACK to the peer who wants to disconnect.

• Upon receiving the ACK, peer disconnects to the P2P overlay.

Peer disconnect (ungracefully):

• User suddenly disconnects from the P2P overlay.

• Network monitoring module of the peers served by the disconnected peer reports the failure to the P2P their components.

• Children of the disconnected parent sends “start” message to the other parent in the tree at which the same stream is sent redundantly.

• The main server calculates a new parent for the children of the disconnected peer and informs the children about new parent to connect.

ROMEO WP2 Page 92/132

• Childs of the disconnected parent tries to establish connection with the new parent and inform the server when connection is established successfully.

3.16.5 Initiating a Video Conference Related Reference Scenario: Collaborating group and sharing user generated content

Figure 45 – Initiating a video conference sequence diagram

• User (moderator) chooses group members from a list of available users on her/his screen and then sends an invitation request to these users.

• A/V Conference Module relays the message to the corresponding users with the list of users and content (to watch together).

• The invitee A/V Conference Module forwards the message further to the user interface of the invitee.

• The invited user sees an alert on her/his screen and responds to it either by accepting or rejecting the invitation.

• This message is forwarded to the moderator A/V Conference Module.

• Then there are message changes based on the solution to be used for building the conferencing overlay. When the overlay has been finished building, the moderator receives an alert from the A/V Conference Module that s/he can begin the conference.

3.16.6 Starting a Video Conference Related Reference Scenario: Collaborating group and sharing user generated content

ROMEO WP2 Page 93/132

Figure 46 – Starting a video conference sequence diagram

• User (moderator) initiates the conference by pressing the start conference button. This action causes the user interface module to send a message to A/V Conference Module to start the conference.

• A/V Conference Module relays the message forward to A/V Control Module which starts to collect the network conditions from participating users.

• After network conditions of all participating users have been received, A/V Control Module calculates the delay for the collaborating group.

• A/V Control Module sends the delay value to participating users, so that they can set their buffers.

• After all participants return with an acknowledgement that they are ready, user interface is alerted to start conference.

3.16.7 Joining an Existing Collaborating Group Related Reference Scenario: Collaborating group and sharing user generated content

ROMEO WP2 Page 94/132

Participant

Col. Sync. Buffer

JOIN_CONFERENCE(user id, content id)

Participant

User Interface

Participant

A/V Conference Module

Moderator

A/V Conference Module

JOIN_CONFERENCE(user id, content id)

Proprietary (solution dependent) conference overlay messages

Proprietary (solution dependent) conference overlay messages

Establishing video

conference overlayEstablishing video conference overlay

JOIN_COLLABORATING_GROUP_RESPONSE(user id, content id, reply)

Participant

A/V Control ModuleModerator

A/V Control Module

GET_COLLABORATION_DELAY(user id, content id)

COLLABORATION_DELAY(user id, content id, delay)

SET_COLLABORATION_DELAY(user id, content id, delay)

Set the buffer size

Participant moduleCOLLABORATION_DELAY_SET

GET_COLLABORATION_DELAY(user id, content id)

Solution dependent

overlay construction

COLLABORATION_DELAY_SET

JOIN_CONFERENCE_RESPONSE(user id, content id, reply)

AFFIRMATIVE

Begin video conference

NON-AFFIRMATIVE

JOIN_COLLABORATING_GROUP_RESPONSE(user id, content id, reply)

Streaming continues

Figure 47 – Joining an existing collaborating group sequence diagram

• A user, who wants to join an existing conference and who has been invited to the group already by the moderator, sends a message to the moderator that s/he wants to join.

• Moderator A/V Conference Module responds to the request.

• If the user has been granted her/his entry to the group, first s/he has been added to the conference overlay then the user request for the needed delay and sets her/his buffer accordingly. If the network conditions cannot achieve this delay, stream will be only received from DVB.

• The user interface of the joining user then receives a message that grants it the permission to start conference.

• If the user has not been granted her/his rights, s/he continues watching the stream.

3.16.8 Leaving from a Collaborating Group Related Reference Scenario: Collaborating group and sharing user generated content

ROMEO WP2 Page 95/132

Figure 48 – Leaving from a collaborating group sequence diagram

• User requests to leave the group to the moderator. • Moderator starts to rebuild the conference overlay. When it ends, a response to the

leave request is sent to the user. • User also sends messages to the synchronisation unit that it no longer needs a

synchronisation for collaborating group. • User leaves the conference. • If the user connection suddenly breaks based on the solution there will be some

glitches on the participating users’ screens, however the A/V Conference Module will handle the overlay problems.

3.16.9 Periodic User Condition Reporting Related Reference Scenario: Consumption of 3D audio/video over hybrid delivery paths

ROMEO WP2 Page 96/132

Figure 49 – Network monitoring use case sequence diagram

• Every packet exchanged within the P2P overlay is intercepted by the Network Monitoring subsystem, to get network information without incurring into overheads. The accounted parameters for a link are delay, throughput, jitter, age of the information, etc.

• When instructed by the Topology Builder, the Network Monitoring subsystem of a peer will connect with the Network Monitoring subsystem of another peer to collect data on a P2P link.

• When an information record is too old (a link belonging only to READY trees, or it would have “data plane” packets producing new information) the Network Monitoring subsystem of a peer will connect with the Network Monitoring subsystem of another peer to collect data on a P2P link.

• By using a timer, the Network Monitor subsystem selects one of its super peers (round robin politics). Then the peer sends a merge of stored information towards the super peer, by sending the data to the fathers of the peer in one of the multicast trees it belongs to.

• When receiving data from a child (see previous point) a Network Monitoring subsystem adds the data to the internal database of collected network information.

• When it is the due time (when instructed to do so by Topology Builder / by timer / by receiving a given number of new data / etc ...) the Network Monitor instructs the Multicast Tree Manager to refresh its list of trees in SLEEPING state by leveraging on the information stored in the Network Manager.

3.16.10 User Generated Content Upload Related Reference Scenario: Collaborating group and sharing user generated content

ROMEO WP2 Page 97/132

Figure 50 – User generated content upload sequence diagram

• User sends request to upload content. This request is sent to User Generated Content component of the peer by the User Interface & Control component.

• Peer’s User Generated Content component communicates with server’s User Generated Content component to initiate content upload.

• Server’s User Generated Content component performs key pair check by communicating with Authentication Registration and security component.

• If result is not positive, failure notification is displayed to user. • If result is positive, data upload starts. • During the upload, server’s User Generated Content component performs integrity

check for the content by communicating with Authentication Registration and security component. If integrity check fails, content is re-requested from the peer.

3.16.11 User Generated Content Download Related Reference Scenario: Collaborating group and sharing user generated content

ROMEO WP2 Page 98/132

Figure 51 – User generated content download sequence diagram

• User interface and Control component of the peer sends the search request to User Generated Content component.

• Peer’s User Generated Content component communicates with server’s User Generated Content component to send the request.

• Server’s User Generated Content component searches and discovers the content and sends search result to peer’s User Generated Content component.

• If search result is negative, a failure notification is displayed to user. • If search result is positive, peer’s User Generated Content component sends user

credentials server. • Server’s User Generated Content component performs credential check by

communicating with the Authentication, Registration and Security component. • If credential check fails, a failure notification is displayed to the user. • If credential check passes, content download is started. • During the download, peer’s User Generated Content component performs integrity

check by communicating with the Authentication, Registration and Security component. If integrity check fails, content is re-requested.

3.16.12 Intra-System Handover Related Reference Scenario: Consumption of 3D audio/video over hybrid delivery paths

ROMEO WP2 Page 99/132

Figure 52 – Intra-System handover scenario sequence diagram

• The mobile node, the source and target evolved Node Bs (eNodeB) periodically update the Media Independent Handover (MIH) database of MIH events (changes to monitored metrics) via MIH information service messages.

• Based on the updated information on the network and user side metrics, the MIH functionality invokes a handover decision algorithm

• A MIH command message indicates to the target eNodeB that a handover has been initiated.

• In parallel the MIH functionality in the mobile terminal is also informed about the handover decision.

• Upon receiving the command the mobile node starts to gain synchronisation with the target side.

• Once the mobile node successfully accesses the new cell it informs the MIH by updating the corresponding tables of the database. At the same time a Handover complete message is sent to indicate to the mobility management entity (MME) that the mobile node is located at the target cell.

3.16.13 Multi-homing Transmission Related Reference Scenario: Consumption of 3D audio/video over hybrid delivery paths

ROMEO WP2 Page 100/132

Figure 53 – Multi-homing transmission scenario diagram

• The mobile node, the LTE network that the mobile node is currently connected to and a candidate 802.11 network in the area of the mobile node periodically update the Media Independent Handover (MIH) database of MIH events (changes to monitored metrics) via MIH information service messages.

• Based on the updated information on the network and user side metrics, the decision engine of MIH decides to allow multi-homing and sends a MIH command message to the candidate network, as well as, the mobile node triggering the 802.11 interface to wake.

• The mobile node establishes Layer 2 connection to the candidate network, the corresponding MAG of the candidate network registers the mobile node to the LMA.

• Upon successful registration to the LMA, the MAG in the candidate network issues a router advertisement to the MN, in order to configure the IP address of its 802.11 interface and to begin receiving data packets.

• A MIH information service message initiated by the mobile node updates the MIH database about the new network connection.

3.16.14 Inter-System Handover Related Reference Scenario: Consumption of 3D audio/video over hybrid delivery paths

ROMEO WP2 Page 101/132

Figure 54 – Inter-System handover scenario sequence diagram

• The mobile node, the source LTE (eNodeB) and the target 802.11 access point (AP) periodically update the Media Independent Handover (MIH) database, which resides in the Mobility Component platform, of MIH events (changes to monitored metrics) via MIH information service messages.

• Based on the updated information on the network and user side metrics, the MIH functionality invokes a handover decision algorithm.

• The MIH command message triggers LTE to initiate the handover and informs the MAG to initiate a de-registration process. A similar command is sent to the MIH enabled mobile node in order to perform Layer 2 switch.

• The Layer 2 detachment performed by the mobile node, triggers the LTE Mobile Access Gateway (MAG) to deregister the mobile node via a Proxy Mobile IP (PMIP) request to the Local Mobility Anchor (LMA), which is located in the Mobility Component platform. Subsequently, the LAM updates its binding cache entry and responds to MAG.

• As soon as, the mobile node establishes Layer 2 connection to the target network, the corresponding MAG of the target network registers the mobile node to the LMA.

• Upon successful registration to the LMA, the MAG in the target network issues a router advertisement to the MN, in order to configure the IP address of its 802.11 interface and to begin receiving data packets.

• A MIH information service message informs the MIH server that the handover has been successfully completed.

ROMEO WP2 Page 102/132

3.16.14.1 QoS-aware Tree Management

Figure 55 – Admission Control use case sequence diagram.

• Upon receiving network conditions changes report from the network Monitoring Subsystem, the Topology Builder and Multicast Tree Management component takes appropriate adaptation decision in conjunction with the Internet Resource and Admission Control Subsystem. This decision involves adaptation of trees states (e.g., READY to ACTIVE, SLEEPING to READY/ACTIVE, etc.) or new tree creation, depending on the running sessions QoS requirements and the current network resource conditions.

• The Internet Resource and Admission Control Subsystem, usually implemented in the Internet (e.g., QoS Brokers, distributed Gateways, etc.), is considered as a key component beneath the ROMEO overlay network since it controls access to the P2P link resources (e.g., bandwidth in routers, communication paths selections, QoS mapping, traffic control, etc.). In particular, it is used to control the resource and admission on the P2P links in a way to assure a proper transport of the ROMEO services.

• In case the Topology Builder and Multicast Tree Management component manages to quickly adapt to changes occurred in the network by switching among candidate trees, the A/V Adaptation component does not notice the changes placed in the network. Moreover, the Internet Resource and Admission Control Subsystem is responsible for managing the P2P links in a way to hide the underlying network dynamics as much as possible in support for the ROMEO session stability.

ROMEO WP2 Page 103/132

• However, when the changes occurred cannot be addressed by using the feasible overlay trees due to poor network conditions, the A/V Adaptation component is contacted for the purpose of readjusting the QoS requirements of the currently running flows (e.g., removing certain views or descriptions, etc.).

• In case the A/V Adaptation component successfully adjusts the QoS requirements of the concerned flows, the Topology Builder and Multicast Tree Management component and the Internet Resource and Admission Control Subsystem are informed to properly update the transport states accordingly.

However, in the situation where the A/V Adaptation component cannot adjust the QoS requirements of the concerned flows due to serious mismatch between the sessions’ minimum QoS requirements and the current network resource conditions, it decides to drop certain flows. Then, the Topology Builder and Multicast Tree Management component and the Internet Resource and Admission Control Subsystem are informed to properly update the relevant control states accordingly. The dropped views may be transmitted through the DVB only. The same way, a flow should not be admitted on a tree unless there is a minimum available reservation for it.

3.16.15 QoS Adjustment Related Reference Scenario: P2P quality of service (QoS) over fixed access networks

These set of use cases are enclosed in Reference Scenario 3: P2P quality of service (QoS) over fixed access networks.

Reference Scenario 3 depicts a situation in which several users belonging to the same household make use of the same internet connection throughout a Virtual CPE. One user is enjoying a live stream event throughout ROMEO service whereas another user is surfing Internet and downloading a large file. In this situation of high usage of the Internet subscription, some QoS actions must be undertaken in order to ensure the live stream reaches the user with the proper QoE.

Static QoS Adjustment

This use case shows how an end user is able to access his Virtual Router in order to configure the prioritization scheme of the applications running within the home network.

Figure 56 – Static QoS Adjustment

ROMEO WP2 Page 104/132

• The user connects to the Web Portal at 192.168.0.1 • The web page is displayed. • The user requests the QoS settings page. • The Configuration Portal queries the QoS parameters allocated to that user to the Data

Base. • The Data Base retrieves and sends back the information. • QoS parameters are displayed to the user. • 5 The user sets ROMEO service as the application to be prioritized over background

traffic. • The Web Portal requests the Policy Control and Charging Rules Function (PCRF) to

prioritize to that user ROMEO traffic over background traffic. • PCRF enforce in the Network Address Translation Implementer Equipment (NATIE) the

rules that are to be applied to that user. • NATIE acknowledges the changes to the PCRF. • PCRF acknowledges the changes to the Configuration Portal. • The Configuration Portal updates the QoS settings of that user in the Data Base. • The Data Base acknowledges the changes. • The changes are displayed to the user.

However, the configuration portal is not only targeted to provide a prioritization application even if further configuration functionalities of the former Residential Gateway, such as IP address allocation, subnet addressing scheme or port forwarding, are demanded by end users.

Virtual Router Configuration

This use case shows how an end user is able to access his Virtual Router in order to configure the DHCP settings of his network.

Figure 57 – Virtual Router Configuration

ROMEO WP2 Page 105/132

• The user connects to the Web Portal at 192.168.0.1 • The web page is displayed. • The user requests the DHCP settings page. • The Web Portal queries IP parameters allocated to that user to the Data Base. • The Data Base retrieves and sends back the information. • IP parameters are displayed to the user. • The user performs changes in his DHCP configuration. • The configuration portal updates the user DHCP configuration in the Data Base. • The Data Base confirms the changes. • The changes are displayed to the user. • The DHCP client renews the IP address. • The DHCP server queries the Data Base for user DHCP configuration. • The Data Base responds with the required information. • The DHCP server allocates a new IP address to the user according to his configuration.

Dynamic QoS Adjustment

The dynamic implementation of QoS mechanisms implies ROMEO service to inform the QoS entity within the access network about the users that are to be applied with QoS in order to prioritize the Internet live stream traffic at the expense of Internet background traffic. Nevertheless, to achieve a visual demonstration, Reference scenario 3 defines the configuration portal to be accessible to the user in which, manually, the user will be able to establish the priority of ROMEO traffic. Notice that the manual configuration performed by the end user, serves to the project as a proof of concept of what the system should performed automatically. Nevertheless, even if the system reacts automatically to live stream degradation, a technical skilled end user will always have the possibility to configure these parameters by himself/herself.

This use case shows how ROMEO Service is able to dynamically configure the access network with the required QoS rules that are to be applied to a specific user.

Figure 58 – Dynamic QoS Adjustment

• A Peer joins ROMEO service as described in “User Join” use case. • ROMEO Server has performed the steps detailed in “User Join” use case and informs the

PCRF about the identity (IP,MAC parameters) of the user that is to be applied QoS. • PCRF enforce in the NATIE the rules that are to be applied to that user. These rules

involve the prioritization of ROMEO traffic over background traffic.

ROMEO WP2 Page 106/132

• NATIE acknowledges the changes to the PCRF. • PCRF acknowledges the changes to the ROMEO Server. • The user is successfully joined to the tree.

In the above picture, the peer initiates the communication towards the ROMEO server by joining the service. This peer includes all the modules for the reception of the P2P live stream traffic, synchronisation, packetisation, signal decodification, etc One of the benefits of the CPE virtualisation solution is that even the access network is within the user LAN, so having this layer-2 visibility, allows the operator to run some service applications such as they were in user’s home environment. For the sake of providing ROMEO service with no additional infrastructure present in the household, some of the peer modules could run at the operator premises, leaving at user home the minimum software for decoding the stream and presenting the user interface. This light software should be integrated within the device that is supposed to display the live event stream.

3.17 Physical Mapping of System Components This section is prepared to summarize physical requirements of software components. Each sub-section is basically a ROMEO component.

3.17.1 Content Generation

3.17.1.1 Multiview capturing The two configurations available are:

Eight cameras : Eight Thomson Viper HD cameras, designed for high-end digital cinematography. The range of focal length varies between 4.7 mm and 52 mm. The inter-camera distance is fixed at around 21.5 cm (total baseline of 64.5 cm). The vertical disparity between the cameras is initially minimized as much as possible by means of manual control of camera pan and tilt. The electronic viewfinders on each camera, as well as the monitor, to which all eight cameras are connected, are utilised in the manual adjustment stage for vertical disparity minimisation, before proceeding to post-processing.

For simultaneously recording the captured uncompressed (raw) HD content from eight cameras, four DVS ProntoXway video recorders are used, each accepting two of the cameras. All four multi-channel recorders are genlocked via an external synchroniser. All videos are stored on an NTFS Windows® file system, with each frame written to a separate image file.

Four cameras : 4 Stemmer GT1910 cameras (2 Megapixel CCD cameras). The 2 central cameras generate a classical stereo pair and the 2 satellites acquires acquire additional view of the scene.

The camera synchronisation and power supply are provided by a 8 ports cisco gigabit switch. The recording is performed through a SILICON SOFTWARE Ethernet card (4 x RJ45) which provides Bayer to RGB conversion.

CPU Requirement

One Intel Xeon E5620(2.4GHz,5.86GT/s,12MB,4C) - Memory runs at 1066MHz

HD Requirement 600Go SAS x 4 (RAID 5)

RAM Requirement 3.17.1.1.1.1 6Go (3x 2Go) 1333MHz ECC UDIMM

OS Requirement Windows 7 SP1 Professional (SE 64bits)

ROMEO WP2 Page 107/132

Table 22 – Video Acquisition Physical Requirements

3.17.1.2 3D audio acquisition For the capturing of object based audio, several microphone setups are used. Generally, every single object is captured separated with single high directivity pattern microphones (e.g. supercardioid or eight patterns) or stereophonic microphone setups. In addition, surround arrangements are used for the capturing of the atmosphere. With the microphone array MARVIN (binaural and / or atmosphere) and the Soundfield microphone (B-Format), the acquisition setup is completed.

All microphone signals have to be pre-amplified with professional interfaces (e.g. RME Micstasy) and afterwards A/D converted. For the recording of all signals, a PC with the sequencer software Nuendo and a professional audio interface (RME RayDAT / RME HDSP 9652) is used. All Toslink connections are clocked through a master clock, to avoid jittering and guarantee the synchronised recording of all audio signals. The overall recoding format is PMC data with 48 kHz/ 24 bit resolution.

Module Name Audio-acquisition processing

CPU Requirement

Quad core or more with 2.8 GHz or more (for fixed home users, or portable laptops)

RAM Requirement 4 Gb or more (for fixed home users, or portable)

OS Requirement Windows OS (7) Compiler/Debugger Requirement Visual Studio 2008, 2010 or newer

Interfaces RME RayDAT soundcard with 4 ADAT inputs and 4 ADAT outputs Table 23 – Audio Acquisition Physical Requirements

3.17.1.3 Post-processing Specific 3D video acquisition and post-processing algorithms will be applied on the raw data before entering the encoding stage: stereo calibration and rectification, depth map estimation. The calibration and rectification algorithms are based on the pinhole model and the real-time implementations are based on the OpenCV library. Concerning the depth map computation, two approaches are considered. The first one aims at maximizing the depth map quality in order to optimize the view synthesis process and is close to the reference software used for MPEG standardization. The second approach aims at providing real time monitoring tools for the acquisition. For these two approaches, the implementations are based on the OpenCV library.

Module Name Post-acquisition processing

CPU Requirement 2nd generation Intel® Core™ i7-2670QM Processor

GPU Requirement NVIDIA GeForce GTX 680

RAM Requirement 8 GB DDR3 (1,333 MHz)

OS Requirement Windows® 7 Professional 64-bit Table 24 – Post-acquisition Physical Requirements

ROMEO WP2 Page 108/132

3.17.2 Video Encoding

3.17.2.1 Scalable multi-view video encoder The scalable multi-view video encoder will be placed in the 3D multimedia content server block. The exploitation of bi-predictive (B) slices and large Group of Pictures (GOP) sizes are the hindering factors on the encoding speed of individual camera views and depth maps, despite their inevitable advantages on compression bandwidth gains. The need for in-loop calculation of QoE metadata (Key Performance Index) to embed in to the generated bit-stream and additional quality enhancement layers and/or dependency layers incur extra computation for each Access Unit under concern. Since the main scope of ROMEO project is prioritising scalability, flexibility and compression efficiency, video encoding tasks will be performed offline in the server side. Multiple encoder instances can run concurrently to handle different camera views and depth maps. Windows or Linux OS can be used to perform scalable video encoding task and since the time is not critical, a work station with average CPU and RAM capability can be deployed. The OS can split multiple encoding instances across available cores and threads optimally, since no inter-view prediction is deployed. Thus, encoding tasks can run fully in parallel.

The generation of the view interpolation metadata as described in Section 2.2.2) will necessitate offline computation of coefficients incorporating the compressed view and depth streams from each encoding process. Thus, this amendment will bring extra computation cost that can be performed during the parallel encoding sessions or after encoding is finished (as a post-encoding and pre-encapsulation stage).

Module Name Scalable multi-view video encoder

CPU Requirement 2 cores or more with 2.0 GHz or more

RAM Requirement 4Gb or more

OS Requirement Windows OS (7) or Linux OS Compiler/Debugger Requirement Visual Studio 2005, 2008, 2010 or newer

Table 25 – Scalable multi-view video encoder Physical Requirements

3.17.3 Video Decoding

3.17.3.1 Scalable multi-view video decoder ROMEO considers mainly three types of peer terminals. Fixed terminals can be considered as a high-end and high power work station that is connected to a big display and set of audio speakers, or a cluster of PCs connected to these display equipment. Portable terminals can be considered as high-end laptops that have similar OSs on them as with PCs, or tablets. A third group is the mobile terminals, which usually comprise much restricted computing capabilities compared to fixed and portable terminals. It is therefore essential to consider peer-side modules scalable in terms of resource efficiency, or make the reference scenarios scalable themselves considered for different terminal devices.

According to the reference scenarios and video format requirements depicted in D2.1, for fixed terminals all multi-view content (more than 2 camera views plus depth maps) should be decodeable in real-time. The proposed decoder architecture is based on the computationally optimised OpenSVC decoder (found freely in http://sourceforge.net/projects/opensvcdecoder). This software has a Lesser General Public Licence (LGPL) and is developed for Windows OS. It supports all scalable base profile and most of the scalable main and high profile features

ROMEO WP2 Page 109/132

(excluding weighted prediction). Depending on the OS support of the targeted mobile platform, existing AVC codec libraries developed beforehand can be exploited, since AVC compatible stereoscopic video (side-by-side) is also a part of video format requirements. An average two-core PC can run up to four parallel OpenSVC decoder instances to decode at a sufficiently high frame-rate for multi-view videos @ 1280p720, 25 fps.

Module Name Scalable multi-view video decoder

CPU Requirement

Quad core or more with 2.8 GHz or more (for fixed home users, or portable laptops)

RAM Requirement 4 Gb or more (for fixed home users, or portable)

OS Requirement Windows OS (7) Compiler/Debugger Requirement Visual Studio 2008, 2010 or newer

Table 26 – Scalable multi-view video decoder Physical Requirements

3.17.4 Video Rendering The video renderer will require a specific PC including a powerful GPU for intensive video rendering calculation. Since GPU code will be written in CUDA, a Nvidia GPU will be required. The targeted GPU family will be the GFX 690 one.

Component Name Video Rendering

CPU Requirement

Quad core or more with 2.8 GHz or more (for fixed home users, or portable laptops). GPU Nvidia GTX 690 family

RAM Requirement 4 Gb or more (for fixed home users, or portable)

OS Requirement Windows OS (7) Compiler/Debugger Requirement -

Table 27 – Video Rendering Physical Requirements

3.17.5 Audio Encoding, Decoding & Rendering

3.17.5.1 Spatial audio encoder The two spatial audio encoding modules introduced for the project – AAC and MPEG Surround – are available as software with C/C++ source codes. The AAC encoder is based on an open-source AAC coding program. For the MPEG Surround encoding, a reference software from MPEG or a MATLAB-based application developed in University of Surrey can be utilised. These can be used as separate stand-alone command-line applications, or be combined or adjusted to suit specific needs. Both encoders can process a typical 5.1-channel audio sampled at 48kHz in 32 bits, coming from successful post-production, approximately three to four times faster than normal playback in a laptop with a dual-core CPU at 2.6GHz and 4GB of RAM. The additional iterative process required by Analysis-by-Synthesis (AbS) technique will consume additional computation power. However, since this is not designed to be a real-time operation, a typical dual-core PC as introduced above is expected to be able to handle any combination of the introduced encoding processes. The current development platform is Windows 7 running Visual Studio 2008 or 2010, although the encoder modules are originally designed to work in Linux as well.

ROMEO WP2 Page 110/132

For the object-based audio approach, an audio scene has to be created with a special 3D-audio editor, where all objects are placed according to their position during the recordings. This editor creates then out of the scene the descriptive metadata for each object. This metadata will contain for example distance, height or amplitude for each object. The storage format might be OSC (Open Sound Control) and the description language will probably be SpatDIF (Spatial Sound Description Interchange Format). The editor will run on Linux OS, but Windows and OS X should be also possible.

Module Name Spatial audio encoder

CPU Requirement 2nd generation Intel® Core™ i7-2670QM Processor

RAM Requirement 8 GB DDR3 (1,333 MHz)

OS Requirement Windows® 7 Professional 64-bit

Compiler/Debugger Requirement Microsoft Visual Studio 2008

Table 28 – Spatial audio encoder Physical Requirements

Module Name Spatial audio editor for audio objects

CPU Requirement Quad core or more with 2.8 GHz or more

RAM Requirement 8 GB DDR3 (1,333 MHz)

OS Requirement Linux OS

Compiler/Debugger Requirement GNU Compile Collection (GCC 4.7)

Table 29 – Spatial audio editor Physical Requirements

3.17.5.2 Spatial audio decoder As with the encoding modules, there are two modules that can be used alone or combined for spatial audio decoding: the AAC decoder and the MPEG Surround decoder. In the case of fixed or portable terminals such as a desktop PC or a laptop with specifications equivalent to the example in the previous section, decoding to stereo or typical multichannel (5.1 channel for example) audio rendering is possible in real time. The mobile terminals, on the other hand, only need to support 2-channel playback through AAC decoding with possible downmixing. This is a feature already implemented in most recent mobile devices that can play audio, and is therefore not expected to impose a big processing load. Currently the same development environment is being used as introduced above. The fixed or portable terminals need to support multichannel audio playback through USB, PCI Express, or Firewire connection to relevant audio interface, in the case of stereo or 5.1-channel audio rendering implemented in the same devices

Module Name Spatial audio decoder

CPU Requirement 2nd generation Intel® Core™ i7-2670QM Processor

RAM Requirement 8 GB DDR3 (1,333 MHz)

OS Requirement Windows® 7 Professional 64-bit

Compiler/Debugger Requirement Microsoft Visual Studio 2008

Table 30 – Spatial audio decoder Physical Requirements

ROMEO WP2 Page 111/132

3.17.5.3 Spatial audio renderer For the fixed terminal, the default rendering setting is 5.1 channel configuration. A PC running Windows®, with a quad-core processor of 2.2 GHz or more will be used for smooth operation. PCI Express and Firewire connectivity is necessary to use the multichannel audio interfaces. The platforms for developing, running and debugging the renderer also need to support ASIO (Audio Stream Input/Output) protocol for low-latency operation.

The binaural rendering for the mobile and portable terminal includes a basic and an advanced rendering. For the both rendering methods, a head-tracker is necessary. This has to be connected through USB with the mobile or portable terminal.

For the basic rendering method, 2 GB of RAM is the minimum and the CPU should also have multimedia / streaming / simd extensions (e.g. NEON). For supplementary audio data, 1GB storage should be available.

The advanced rendering method requires much more computational power, depending on the number of audio objects and the kind of room that has to be rendered. Hence, a detailed specification of requirements is not possible, but the CPU performance and the available RAM should be as high as possible.

ALSA (Advanced Linux Sound Architecture) support should be also available for both, the portable and the mobile terminal. For a high quality spatial impress, the audio output for the headphones should have the best possible SNR (Signal to noise ratio).

The method of wave field synthesis (WFS) is for rendering natural and immersive spatial sound equivalent to one generated at the original source position. The system requires input audio signals to include objective data, i.e. source information. The WFS render PC produces output audio signals for each channel and sends them to a MADI-ADAT converter via a HDSPe card in MADI format and then to a ADAT-audio converter. The HDSPe card requires a PCI Express slot in the PC. The WFS sound generation system consists of loudspeaker arrays and power amplifiers. In addition, sub-woofers can also be used for low frequency compensation. The frequency range required for the secondary sources is between from 80 to 18000 Hz, but ideally, 20 to 20000 Hz can be best.

Module Name Spatial audio renderer for the fixed terminal

CPU Requirement 2nd generation Intel® Core™ i7-2670QM Processor

RAM Requirement 8 GB DDR3 (1,333 MHz)

OS Requirement Windows® 7 Professional 64-bit Compiler/Debugger Requirement Microsoft Visual Studio 2008

Table 31 – Spatial audio render for the fixed terminal Physical Requirements

Module Name Spatial audio renderer for the portable terminal

CPU Requirement Quad core or more with 2.8 GHz or more

RAM Requirement 8 GB DDR3 (1,333 MHz)

OS Requirement Linux OS or Windows® 7 Professional 64-bit

ROMEO WP2 Page 112/132

Compiler/Debugger Requirement -

Table 32 – Spatial audio render for the portable terminal Physical Requirements

Module Name Spatial audio renderer for the mobile terminal

CPU Requirement OMAP5430

RAM Requirement 2 GB

OS Requirement Linux OS or Android Compiler/Debugger Requirement -

Table 33 – Spatial audio render for the mobile terminal Physical Requirements

Module Name Spatial audio renderer for Wave Field Synthesis

CPU Requirement 2nd generation Intel® Core™ i7-2670QM Processor

RAM Requirement 8 GB DDR3 (1,333 MHz)

OS Requirement Windows® 7 Professional 64-bit Compiler/Debugger Requirement Microsoft Visual Studio 2008

Interfaces HDSP MADI card (PCI/PCI Express Slot), ADAT-MADI converter, A/D converter

Table 34 – Spatial audio renderer for Wave Field Synthesis: Physical Requirements

Each network interface of the peer must be able to provide meta-data (wireless vs wired interface, kind of technology, maximum throughput, etc)

3.17.6 Mobility With the concept of ROMEO, the Mobility component consists of three modules the Media Aware Proxy, the Media Independent Handover and the Proxy Mobile IP. All three modules will be running in parallel on a single machine that will act as a transparent proxy to the access networks (WiFi and LTE). An additional database that will handle the MIH Information Services and will collect parameters from both the user and the network side will also be running in the same machine.

Component Name Mobility

CPU Requirement Intel® Core™ 2 Duo E6600, 2.4GHz

RAM Requirement 4GB DDR2 (800 MHz)

OS Requirement Linux OS

Compiler/Debugger Requirement Gcc, gdb

Network Interface 2 x Ethernet at least 100Mb preferably 1Gb

Table 35 – Mobility Physical Requirements

Each mobile and portable node needs to be MIH enabled, in order to inform the MIH server of the Mobility Component about downlink physical layer statistics during video streaming.

ROMEO WP2 Page 113/132

3.17.7 DVB Transmission & Reception

Component Name Test generator platform (DVB Transmission )

CPU Requirement n/a

RAM Requirement n/a

OS Requirement Windows XP Pro embedded Compiler/Debugger Requirement n/a

Component Name Protocol analyser platform + notebook (DVB Reception)

CPU Requirement Protocol analyser: n/a; Notebook: Inten i7 or equivalent

RAM Requirement Protocol analyser: n/a; Notebook: 8 GB

OS Requirement Protocol analyser: Windows XP Pro embedded; Notebook: Windows 7 Pro

Compiler/Debugger Requirement Protocol analyser: n/a; Notebook: n/a

Table 36 – DVB Transmission & Reception Physical Requirements

The DVB Transmission component is an existing test instrument. Necessary software and firmware up-dates are provided at least on an annual basis during the lifetime of the instrument.

The Protocol analyser platform is also an existing test instrument. On this platform, additional hardware, software and firmware components are developed in ROMEO to cover the requirements for 3D video signals over a DVB-T/T2/T2 Lite link and the handling of the IP input via the IP interface.

The notebook is equipped with an Intel i7 processor and sufficient memory (minimum 4 GB, extendable to 8 GB).

3.17.8 Virtualisation Hereafter the physical requirements envisaged to deploy the testbed are presented:

Home infrastructure:

Entity Physical Requirement

Switch HUB Netgear

ONT Alcatel I220

Access network infrastructure:

Entity Physical Requirement

OLT Alcatel OLT: FTTH-OLTS-M. Including:

• AACU-C Driver Card • GLT4-A LT Card

ROMEO WP2 Page 114/132

• EHNT-B NT Card

BRAS REDBACK SMART-EDGE 800. Including:

• XCRP3-T1/E1 Driver Card • Ge-10-Port Line Card

VSEE XenServer Hypervisor server Dell PowerEdge SC1420, dual core CPU Intel Xeon 2,8GHz, 1Gb RAM, 40Gb HDD and DVD-Rom. unit

XenCenter PC Optiplex GX1, CPU Pentium 3, 128Mb RAM, Windows 2000 SP4.

DHCP Server PC: HP COMPAQ; Intel-Pentium 4

Table 37 – Virtualisation Physical Requirements

3.17.9 Synchronisation

Module Name Synchronisation

CPU Requirement 2nd generation Intel® Core™ i7-2670QM Processor

RAM Requirement 8 GB DDR3 (1,333 MHz)

OS Requirement Linux Ubuntu v. 11.10 Compiler/Debugger Requirement Gcc, gdb

Table 38 – Synchronisation Physical Requirements

3.17.10 Audio-Visual Adaptation

Component Name Audio-Visual Adaptation

CPU Requirement

Quad core or more with 2.8 GHz or more (for fixed home users, or portable laptops). GPU Nvidia GTX 690 family

RAM Requirement 4 Gb or more (for fixed home users, or portable)

OS Requirement Windows OS (7) Table 39 – Audio-Visual Adaptation Physical Requirements

3.17.11 A/V Communication Overlay A/V communication overlay will be a software component to enable audio/video communication over network. This process is expected to use the following resources over the system.

Component Name A/V Communication Overlay

CPU Requirement 2nd generation Intel® Core™ i7-2670QM Processor

RAM Requirement 512 MB DDR3 (1,333 MHz)

OS Requirement Linux Ubuntu v. 11.10 Compiler/Debugger Requirement Gcc, gdb

Table 40 – A/V Communication Overlay Physical Requirements

ROMEO WP2 Page 115/132

3.17.12 User Interface & Control User Interface will work as a software component to interact with ROMEO platform. It will be used to change some parameters for user experience

Component Name User Interface & Control

CPU Requirement 2nd generation Intel® Core™ i7-2670QM Processor

RAM Requirement 512 MB DDR3 (1,333 MHz)

OS Requirement Linux Ubuntu v. 11.10 Compiler/Debugger Requirement Gcc, gdb

Table 41 – User Interface & Control Physical Requirements

3.17.13 Authentication, Registration and Security Authentication, Registration and Security module is a set of software components that run on server and client terminals. The physical requirements for this module are given as below:

Module Name Authentication, Registration and Security

CPU Requirement 2nd generation Intel® Core™ i7-2670QM Processor

RAM Requirement 8 GB DDR3 (1,333 MHz)

OS Requirement Linux Ubuntu v. 11.10 Compiler/Debugger Requirement Gcc, gdb

Table 42 – Authentication, Registration and Security Physical Requirements

3.17.14 User Generated Content Non-professional user content can be generated and consumed by any mobile or portable terminals with adequate A/V capturing and display capabilities. The physical requirements for this module are given as below:

Mobile terminal platform:

Module Name User Generated Content – Mobile Platform

CPU Requirement OMAP4460(OMAP5/OMAP6 – final release)

RAM Requirement 1 GB DDR2 minimum

Display auto-stereoscopic WVGA (2D - 800x600, 3D - 2x400x480)

OS Requirement Android ICS (Android next versions for final release, Linux Ubuntu as second OS)

Compiler/Debugger Requirement Gcc, gdb

Table 43 – User Generated Content Physical Requirements for mobile terminal

The requirements of the portable platform are given in the table below:

Module Name Portable platform

CPU Requirement Intel Core i7-2630QM (4x2GHz, Turbo to 2,9GHz, 32nm, 6MB L3 Memory)

ROMEO WP2 Page 116/132

RAM Requirement 6 Gb DDR3 (1333MHz)

OS Requirement Windows 7

Graphics Card NVIDIA GeForce GT 540M 1 Gb DDR3

Network Interface PCIe Gigabit Ethernet 802.11b/g/n

Display 15.6’’ LED Glossy 16:9 1080p, capable of 720p glasses-free 3D TOS508F

Table 44 – User Generated Content Physical Requirements for portable terminal

ROMEO WP2 Page 117/132

4. CONCLUSION This document is planned to update ROMEO system architecture in accordance with project developments. In month 6 of the project, deliverable 2.2 “Definition of the initial reference end-to-end system architecture and the key system components” was submitted. From month 6 onwards there are some updates on the components. These updates are defined in their respective parts in section 2. Some points that we need to mention here;

• P2P section updates for topology builder blocks, • Mobility wireless channel control over network, • DVB transmission and reception components’ results, • User generated content related new REST api design, • Details of MPS with ABS and AAC encoding, • Audio rendering updates for portable terminals ,

Section 3 is also added into this document to enable readers to check what updates have been made in this document. In summary section 3 is based on deliverable 2.2 [1] whereas section 2 contains updates over deliverable 2.2 [1] base reference architecture document. This will help readers to understand the progress smoothly.

ROMEO WP2 Page 118/132

5. REFERENCES [1] “ROMEO Deliverable 2.2 - Definition of the initial reference end-to-end system

architecture and the key system components.doc” [2] “ROMEO Deliverable 5.1 - Interim report on 3D media networking and synchronisation of

networks” [3] “ROMEO Deliverable 6.3 - Second report on system components development plan [4] “ROMEO Deliverable 6.2 - First Report on server, peer, user terminal, security and content

registration modules development” [5] ITU-T Recommendation Y.2001, General overview of NGN, December 2004. [6] ITU-T Recommendation G.114, One-way transmission time , May 2003. [7] http://www.cisco.com/en/US/docs/solutions/Enterprise/WAN_and_MAN/QoS_SRND/QoSI

ntro.html [8] S. Blake et al, “An Architecture for Differentiated Services”, IETF RFC 2475, 1998. [9] K. Nichols, S. Blake, F. Baker, D. Black, “Definition of the Differentiated Services Field (DS

Field) in the IPv4 and IPv6 Headers”, IETF RFC 2474, December 1998. [10] J. Heinanen, F. Baker,W.Weiss, J. Wroclawski, “Assured forwarding PHB group.” IETF

RFC 2597, June 1999. [11] B. Davie, A. Charny, J. Bennet, K. Benson, J. Le Boudec, W. Courtney, S. Davari, V.

Firoiu, D. Stiliadis, “An expedited forwarding PHB”, IETF RFC 3246, March 2002. [12] R. Braden, D. Clark, S. Shenker, “Integrated Services in the Internet Architecture: an

Overview”, IETF RFC 1633, June 1994. [13] F. Baker, C. Iturralde, F. Le Faucheur, B. Davie; “Aggregation of RSVP for IPv4 and IPv6

Reservations”, RFC 3175, September 2001. [14] E. Logota, A. Neto, and S. Sargento, “COR: an Efficient Class-based Resource Over-

pRovisioning Mechanism for Future Networks”, IEEE Symposium on Computers and Communications (ISCC), June 2010.

[15] A. Neto, E. Cerqueira, M. Curado, E. Monteiro, and P. Mendes, “Scalable Resource Provisioning for Multi-User Communications in Next Generation Networks”, Global Telecommunications Conference, 2008, IEEE GLOBECOM 2008.

[16] R. Bless, “Dynamic Aggregation of Reservations for Internet Services”, Proc. 10th Int. Conf. on Telecommunication. Systems –Modeling and Analysis (ICTSM'10), vol.1, pp.26-38, Oct. 2002.

[17] R. Sofia, “SICAP, a Shared-segment Inter-domain Control Aggregation Protocol”, Departamento de Informática, Faculdade de Ciências da Universidade de Lisboa, Campo Grande, 1749.016 Lisboa, Portugal, PhD Thesis, March 2004.

[18] Rui Prior and Susana Sargento, “Scalable Reservation-Based QoS Architecture — SRBQ.” In Encyclopedia of Internet Technologies and Applications, pp. 473–482, IGI Global, 2007.

ROMEO WP2 Page 119/132

APPENDIX A: List of Requirements

Overall System and Scenario Requirements

Requirement ID Description

REQ 1.1

Fixed and mobile users shall be able to use broadcast and IP networks to receive live 3D media.

REQ 1.2 Fixed and mobile users shall receive live 3D media with an unnoticeable delay.

REQ 1.3 ROMEO shall provide a real-time audio-visual communication overlay to bring the remote collaborators together for joint interaction and enjoyment

REQ 1.4 3D live stream and collaboration between users shall be synchronised to have proper interaction between users according to stream

REQ 1.5

Collaborating users shall be able to upload and share their own generated content to the IP network main server. The content generator shall be able to determine the access rights of other collaborating users

REQ 1.6

The main view’s Advanced Video Coding (AVC) compatible base layer with sufficient broadcast quality, which is stereoscopic 3D video and 5.1 channel audio, shall always be received through DVB if available

REQ 1.7

ROMEO system shall deliver at most 1 stereoscopic view to mobile terminals and all available camera views (if bandwidth suffices) to compatible portable and fixed terminals (there may be device specific limitations on the number of simultaneously decodable camera views for portable (e.g., at most 2 camera views) and fixed (e.g., at most 4 camera stereoscopic views) terminals)

REQ 1.8 Furthermore the object-based scene description could possibly be delivered via DVB for further development approaches

REQ 1.9 P2P will carry an object-based scene description audio stream and (if the DVB stream is not available) the 5.1 channel audio stream

REQ 1.10

All other views and their enhancement data for 3D multi-view rendering purposes will be sent through the P2P network. The multi-view contents could be delivered to users via different networks depending on the user terminal capabilities and network conditions

• Fixed terminals shall be served via high-speed broadband. • Mobile terminals shall be served via Wi-Fi hotspot and/or mobile

networks such as 3G and LTE. • If a user device has multiple interfaces and all of the interfaces

are able to retrieve data from the P2P network, the device shall use interfaces in the following order for receiving data:

� DVB-T2/T2-lite/NGH, � One of the following devices, in order of priority:

• Fixed broadband connection, • Wi-Fi interface connection to the hotspot, • 3G or LTE mobile connection

REQ 1.11

The camera views comprising the main stereoscopic 3D pair shall also be encoded using SVC simulcast (both views using scalable high profile at Level 4 or over) with two spatial resolution layers (HD as full spatial resolution and preferably SD as lower resolution) and quality enhancement layers to be stored in the seed server and transmitted over P2P

REQ 1.12

The rest of the cameras, and the depth map videos (including the depth of the main stereoscopic view), shall be encoded in the same way as in the previous requirement

ROMEO WP2 Page 120/132

REQ 1.13

The SD frame compatible coded version (AVC compliant) can also be included in the P2P streaming server, considering peers with mobile terminals that are outside the DVB coverage and that cannot decode two 1920x1080p25, or two 720x576p25/ streams simultaneously, which are normally streamed to them over P2P

REQ 1.14 Audio and video streams shall be synchronised for all views (play-out synchronisation)

REQ 1.15 All terminals, either fixed or mobile, shall be able to receive DVB streams

REQ 1.16 DVB streams shall not be encrypted

REQ 1.17 A suitable DVB-T/T2/T2 Lite mode shall be implemented for mobile users.

REQ 1.18 The broadcast link to fixed and portable terminals provides the main 3D stereoscopic view

REQ 1.19 The 3D-stereoscopic video signal to fixed and portable receivers is encoded as a DVB-compliant signal

REQ 1.20 The main 3D stereoscopic view for fixed and portable terminals is transmitted in one Physical Layer Pipe (PLP) of the DVB-T2 signal

REQ 1.21

The bit rate of the main 3D stereoscopic view for fixed and portable terminals is limited to 7...8 Mbps (The complete DVB-T2 multiplex typically carries 3 to 4 different 3D-stereoscopic video signals for fixed and portable terminals with an overall bit rate of up to 30 Mbps.)

REQ 1.22 The DVB-T2 signal to fixed and portable terminals is compliant to standard ETSI EN 302 755 (DVB-T2 Base)

REQ 1.23 The DVB-T2 signal to mobile terminals is compliant to DVB-T2 Lite

REQ 1.24 The output frequency of the test transmitter is adjustable to any channel in the TV Ultra High Frequency (UHF) band

REQ 1.25 The input signal to the test receiver platform is a DVB-T2 Base or DVB-T2 Lite signal, which can be transported in any channel in the TV UHF band

REQ 1.26

The output signal of the test receiver platform is fed to a display via a High-Definition Multimedia Interface (HDMI) carrying video and audio for the selected programme

REQ 1.27

The test receiver platform measures a multitude of Quality of Service (QoS) parameters of the received DVB-T2 signal. A sub-set of these parameters can be selected for monitoring certain QoS aspects permanently. The parameters cover the physical layer (RF level, RF frequency offset, etc.), the I/Q domain (Modulation Error Ratio (MER), amplitude imbalance, phase error, etc.) and the Transport Stream domain (packet loss rate, missing packets, CRC checks on certain packets, etc.)

REQ 1.28

The test receiver platform can combine the different signals received via the DVB-T2 and P2P links in such a way that differences in latency or delay are compensated

REQ 1.29

The test receiver platform can select either the DVB-T2 or the P2P signal as a fall-back solution for displaying in the case that the reception quality of one of the signals is not sufficient

REQ 1.30 Each user shall own Optical Network Terminal (ONT) equipment

REQ 1.31 Access node shall be an Optical Line Terminal (OLT)

REQ 1.32 Virtual routers shall be implemented at BRAS Node

REQ 1.33 Authentication, Authorization and Accounting (AAA) server shall be used to authenticate subscribers

REQ 1.34 Dynamic Host Configuration Protocol (DHCP) server shall be used for Virtual Routers Public IP assignation

REQ 1.35 A dedicated web server shall offer the Virtual Router Configuration Portal to the User

ROMEO WP2 Page 121/132

Terminal Requirements

Requirement ID Description

REQ 2.1

Fixed terminals should have display units to cover both multi-view 3D content and stereoscopic content to present 3D video to the end-user

REQ 2.2 Mobile terminal display (MTD) shall provide minimum one stereoscopic view that corresponds to two camera views (left and right)

REQ 2.3 Mobile terminal display should have a minimum as Wide Video Graphics Array (WVGA)

REQ 2.4 Mobile terminal display shall be able to display both 2D and 3D content

REQ 2.5 Mobile terminal display should have low power operation, suitable for battery operated systems

REQ 2.6 Mobile terminal display should have Thin and lightweight package

REQ 2.7 Mobile terminal display shall have the following interfaces: Electrical interface: MIPI DSI, Parallel or Unipro

REQ 2.8 Mobile terminal display shall have Backlit technology

REQ 2.9 Fixed terminals use JavaScript Object Notation-Remote Procedure Call (JSON-RPC) for inter-module communication

REQ 2.10 Mobile terminals use JSON-RPC for inter-module communication

REQ 2.11

Shall provide power management capabilities in order to maximize the battery life, ensuring a minimum of 2 hours of operation during High Definition Television (HDTV) decoding/playback

REQ 2.12 Shall provide a means for integrating stereoscopic Liquid Crystal Display (LCD).

REQ 2.13 Shall support content streaming using the abovementioned interfaces

REQ 2.14

Shall provide sufficient processing power to decode/encode at least two H.264 Main Profile simulcast coded streams (720x1280p25) simultaneously or a H.264 Main Profile multi-view coded stream (two views)

REQ 2.15 Shall provide means to implement custom type H.264 decoder as a base of multi-view or view+depth type of stereo video encoder

REQ 2.16 Shall provide means for stereo camera system connection

REQ 2.17 Shall be capable to run High Level Operating Systems (HLOS) (Android, Linux, Symbian or Windows)

REQ 2.18 Shall provide at least 1GB of low-power (LP-DDR2, 3) RAM memory, 64GB non-volatile memory (e.g. NAND, e-MMC)

REQ 2.19 Shall provide means for memory extension (e.g. SD, microSD)

REQ 2.20 Shall support capacitive touch screen interface for user interaction

REQ 2.21 Fixed device shall have DVB-T2 reception unit and high bandwidth broadband interface

REQ 2.22 1Gbit/s Ethernet adaptor should be used for P2P 3D signal to be received

REQ 2.23 DHCP Client shall receive IP address from the Virtualised Broadband Access Router

REQ 2.24 Mobile device shall have interfaces for 3G/LTE, Wi-Fi, and DVB-T2-Lite/NGH for receiving 3D content

REQ 2.25 Shall support a variety of interfaces – USB, Wi-Fi, 3G/LTE modems, Bluetooth for connection to other devices

REQ 2.26 Shall provide sufficient processing power to execute DVB-T2-Lite/NGH stack, GUI and encoding/decoding

ROMEO WP2 Page 122/132

REQ 2.27 An interface capable of supporting 3D 1080-pixel video streams (e.g. HDMI 1.4a, DVI-D) is needed on the terminal equipment

REQ 2.28 A DHCP Server must be used to assign IPv4 addresses to user equipment

REQ 2.29 A DHCP Client must be used to receive public IPv4 address

REQ 2.30 Network Address Translation (NAT) capacity must be used to redirect traffic between two different IP address spaces

REQ 2.31 Port mapping capacity must be used to forward traffic to specific ports/addresses

Media Coding Requirements:

Requirement ID Description

REQ 3.1

Small form factor cameras must be used in order to satisfy to the human mean intraocular distance for providing 3D stereo video for a parallel arrangement

REQ 3.2 A mounting system enabling to accept several cameras for providing 3D multi-view video with a minimum of 4 cameras

REQ 3.3

An adjustable mounting system enabling to tune the inter-camera distance and their orientation starting from a parallel arrangement up to convergent ones according to the kind of rendering that can be expected

REQ 3.4 Frame accurate synchronisation of all the cameras between themselves during video acquisition

REQ 3.5 Geometry and colour calibration for multi-view picture alignment and colour balancing before any digital parallel pre-processing

REQ 3.6 Multi-view disparity map computation before video encoding

REQ 3.7 Synchronisation of audio and video capture for enabling audio and video multiplexing

REQ 3.8 At least HD multi-view video capture for offline video processing (1080x1920p50)

REQ 3.9 Lower video format for user generated data capturing and processing (720x1280p50)

REQ 3.10 Spatial resolution scalability (taking into account the range of targeted user terminal devices)

REQ 3.11 Quality scalability (assuming highly dynamically changing network states of multiple users/peers)

REQ 3.12 Viewpoint scalability (to support selective view streaming – free-viewpoint applications and reduce inter-view coding dependencies)

REQ 3.13

Metadata extraction (offline), metadata exploitation (for increased coding performance or improved adaptation quality) and supplying means for carrying metadata information in the bit-stream

REQ 3.14

Suitable multiple-description generation out of the encoded 3D video bit-stream (by means of signalling) that would maximise the chances of delivering critical video components to a greater set of users

REQ 3.15

Decoder side:

Real time decoding of scalable coded 3D video stream (with/without enhancement layers) including metadata exploitation

REQ 3.16 MPS implementation Encoder side

ROMEO WP2 Page 123/132

• A 5.1 audio system is used as input which means that the number of channels, L = 6.

• Audio signal in each channel is sampled and then decomposed by analysis filter bank.

• If MPEG Surround would be used, sub band signals will be grouped as 20 parameter bands sharing common spatial parameters (CLD and ICC).

• MPEG Advanced Audio Coding (AAC) is adopted as audio encoder for further encoding down mixed signals.

• The transmission bit rate will be in the range of 300 – 600 kb/s

REQ 3.17

MPS implementation Decoder side

• Spatial audio will be rendered using 5.1 audio streams for fixed users. For the mobile users, a binaural signal will be rendered if the mobile device fulfils the necessary requirements. WFS system will be investigated for higher quality audio rendering

REQ 3.18

To obtain the minimum approximation error, both the synthesized and approximated signals should be synchronised and matched. Hence, each audio channel is proposed to be transformed by means of Modified Discrete Cosine Transform (MDCT) instead of a filter bank

REQ 3.19 A very high speed processor is required for the AbS encoder to perform error minimization procedure

REQ 3.20 The improvement achieved by AbS codec compared to MPEG Surround standard will be measured by segmental Signal-to-Noise Ratio (segSNR)

REQ 3.21 Description of the position, directivity and trajectories of individual audio objects are required

REQ 3.22 Both point sources as well as wide sources (e.g. ambient sounds) will be supported

REQ 3.23 Description of the environment (physical and/or perceptual) should be possible

REQ 3.24 The description language will provide an extension mechanism to support, for example, future playback systems

REQ 3.25 The description format must be streamable

Networking Requirements

Requirement ID Description

REQ 4.1

User join/churn:

• User join/churn should not affect other users’ QoE. • User may gracefully leave P2P network with a prior notice in

order not to affect other users’ QoE. • User’s leaving abruptly without a prior notice may affect the QoE

of its served peers temporarily. • User shall join the P2P overlay based on its terminal capabilities

ROMEO WP2 Page 124/132

and its available network conditions. • User shall satisfy minimum P2P overlay requirements to join. • Admission control will be enforced, being a session or a peer’s

request to join an overlay will be admitted only when the available resource capabilities of the overlay meet the QoS requirements of the request

REQ 4.2

Network monitoring:

• All users shall monitor their network conditions (bandwidth, jitter, delay, throughput, packet loss, signal strength, etc.) on all interfaces periodically.

• Mobile users shall be able to provide feedback regarding their network conditions to MANE

REQ 4.3

Network security:

• P2P encryption will be optional for all users. • IP network main server should check the access rights of the

uploaded content to let users download it. • User should send his/her credentials to the main IP network

server and his/her terminal capabilities to P2P network management unit while joining the IP network

REQ 4.4

For P2P and DVB networks:

• The main stereoscopic view sent through DVB should be available on P2P server, but is not required to be sent via P2P to end users that have DVB connection.

• Encapsulation format for P2P transmission over IP-based networks (fixed high speed broadband, Wi-Fi, 3G and LTE) will be aligned with the encapsulation format of broadcasting network(e.g. DVB-T2) to achieve synchronisation of multimedia streams.

• The multi-view data received via P2P networks at the user terminal should be buffered for synchronisation purposes. The buffer size depends on the capability of terminal device and the overall system requirement for decoding and rendering delay.

• There should be a mechanism to synchronise the P2P buffer and the DVB stream at the user terminal side. It should operate in such a way that the multi-view data from P2P and the primary stereoscopic 3D view data from DVB should be delivered to the multi-view and audio decoders within a time difference which should not cause any noticeable visual and aural effects.

• Timing information, e.g., timeline, should be integrated into DVB and P2P transmission, so the different delivery paths can be synchronised in the receiver.

• Metadata shall be available through both broadcast and IP network. Metadata through broadcast network should be used as a backup

ROMEO WP2 Page 125/132

REQ 4.5

For collaborating users:

• Collaborating users must receive live streaming content with an unnoticeable delay.

• For demonstration purposes, there will be 6 collaborating users (2 users for each terminal type – mobile, portable and fixed).

• There will be an A/V overlay communication link between collaborating users.

• Any user satisfying the minimum requirements of collaborating group requirements (in terms of its available bandwidth, delay, etc.) should be able to join the group.

• A collaborating user should be able to receive the content through its DVB interface in unfavourable P2P network conditions

REQ 4.6 A peer should have one main identifier in the P2P world. This identifier is used by the ROMEO application as a source when sending data

REQ 4.7

A peer must be able to accept more than one network-based P2P identifier, and must be able to use the correct one while communicating, based on context information (the network it is using to send packet to the P2P system, etc).

REQ 4.8

The P2P layer of the client application is abstracted on the client side by adding a layer that translates the main identifier of the client to the network-based identifier when sending packet, and the other way around when receiving packets from the P2P network

REQ 4.9

A (possibly distributed) resolution system must be able to align automatically in terms of network-based P2P identifiers while managing the P2P overlay. As long as one of the network-based P2P identifiers of a peer is active, and as long as the peer wants to receive a given stream, the P2P system will consider that the network-based P2P identifier (a virtual P2P peer) must receive the stream

REQ 4.10

The resolution system will be informed by either the peer or the network when a network-based P2P identifier is not active anymore (the peer handed over to another network, or the peer disconnected from the P2P overlay, or the P2P is not receiving a stream anymore)

REQ 4.11

Mobile Terminal (MT) with multiple network interfaces:

• The mobile terminal shall be possible to receive either all views in one interface, or concurrently receive different views within the 3D media stream to different interfaces. In particular, MT is required to have at least one Wi-Fi 802.11 g/n network interface, one LTE interface and one DVB interface. Within the context of ROMEO, the aforementioned interfaces will support multi-homing, in order to enable MT to receive video data (views, layers) over different access technologies and exploit their available resources. Multi-homing capability will be implemented by MANE which will handle Layer-2 data flows to MT. Particularly, DVB interface will be used to connect the MT to the DVB network at all times in order to ensure video streaming with signalling minimum QoS and synchronisation among video views received over heterogeneous wireless access technologies

REQ 4.12

.

Smooth multi-view video rate adaptation:

ROMEO WP2 Page 126/132

• The video adaptation functionality within MANE will be responsible for smoothly adapting video rate according to current network conditions. The decision and extend of the rate adaptation will be based on information from the network and the MT side. The network related information will be available from the MIH Information service. Moreover, MT side information regarding the QoE of an ongoing video stream will be monitored in real time by the QoE monitoring functionality incorporated in the enhanced MANE. In case of a handover, the video rate will be adapted smoothly (either increased or decreased) to meet the available bandwidth limitations thus ensuring high levels of QoE across heterogeneous networking environment.

REQ 4.13

MANE to support seamless service continuity:

• An enhanced MANE with additional functionalities shall provide seamless service continuity across heterogeneous wireless access networks. Particularly, the Media Independent Handover framework (IEEE 802.21 MIH) will be integrated within MANE. In particular, MIH Information services, MIH Command services and MIH Control services should be implemented with respect to monitor all available networks in the vicinity of MT, collect information from the network and the client side, make decisions upon handover and/or rate adaptation, creating such events and control their execution. Functionalities designed in accordance to ROMEO networking environment, including network selection, handover decision, video adaptation and mobility control should ensure the selection of the best candidate network and seamless handoff as well as guaranteeing quality levels and seamless service continuity to MT

REQ 4.14 MANE should determine the level of quality and the content delivery of its mobile users

REQ 4.15 Only collaborating users should be able to share their own generated content

REQ 4.16

Collaborating user should be able to:

• Share captured 2D/3D as well as pre-stored content with other collaborating users.

• Sign the captured content. • Upload the content to P2P main seed server. • Authorize other collaborating users to download the content. • Search other user generated content. • Download the user generated content if he/she has access rights

REQ 4.17

Resolution and performance:

• Video: 720x1280p25 • Still: 8Mpix

ROMEO WP2 Page 127/132

REQ 4.18

Audio:

• 2 channels @ 48 KHz

REQ 4.19

Minimal processing:

• Video: Temporal noise filtering, Spatial noise filtering, Video stabilisation

• Still: Spatial noise filtering, Global Brightness Contrast Enhancement (GBCE)

• Audio: Automatic Gain Control (AGC), Adaptive noise control

REQ 4.20

There shall be an adaptation mechanism within the P2P delivery network to advise the P2P network so that it only delivers essential view data and drops some view data if the network condition is deteriorated. The principles of 3D multi-view P2P delivery should be:

• Only necessary view data should be delivered. • Other views and enhancement data should also be delivered if

bandwidth is sufficient and network conditions allow such activity.

• If network conditions have deteriorated to a degree where not enough resource is available, or network is congested, or the delay is intolerable, some of non-essential view data should be removed from the delivering stream so that the change in users’ service quality of experience is unnoticeable or QoE only deteriorates gradually and gracefully.

• The removal of view data in adverse network conditions should be in the order of enhancement data, other non-primary views from the farthest to the nearest user view.

REQ 4.21

Key view frames shall be prioritized in transmitting through P2P network and a metadata description should be included to generate the missing frames at the video decoder in an optimum way

REQ 4.22

Both horizontal and vertical handover decision shall be taken by considering media source QoS requirements such as bit rate, delay, jitter, etc. as well as the traffic conditions of the network to be handed over

REQ 4.23

Based on the network resources available, maximum number of views shall be selected and coded for transmission. Untransmitted views will be interpolated with the available views

REQ 4.24

Source coding configurations of multiple descriptions of MVD content shall be optimized for end-to-end rate-distortion performance given the condition of the network (eg. Packet Loss Rate)

REQ 4.25

A Media Server must be used from which the user downloads some media content for the in order to implement QoS demonstration in (Reference Scenario 3)

REQ 4.26

Correct values of QoS and Traffic Shaping at OLT and BRAS shall be defined to detect and prioritize different streams automatically and under user selection

REQ 4.27 Each peer on a P2P overlay (e.g., interface capacity- bandwidth) must be willing to forward packets of other peers

REQ 4.28 Each peer should allow for configuring its schedulers, to let the system reserve the peer’s bandwidth to assure QoS to data flows

ROMEO WP2 Page 128/132

REQ 4.29

The QoS management information to be enforced on peers will be conveyed to the peers by means of appropriate signalling protocol such as the Internet Engineering Task Force (IETF) proposed Next Steps in Signalling (NSIS). The bandwidth will be over-reserved and dynamically controlled on the overlay to reduce undue signalling and related overheads with increased resource utilization

REQ 4.30

A good view of the network topology and the related peers´ resource capabilities will be monitored and maintained to efficiently improve the performance of the QoS delivered

ROMEO WP2 Page 129/132

APPENDIX B: Glossary of Abbreviations:

A

AAC Advanced Audio Coding

AbS Analysis by Synthetis

ALSA Advanced Linux Sound Architecture

AP Access Point

AVC Advanced Video Coding

AU Access Units

A/V Audio-Visual

B

BRAS Broadband Remote Access Server

C

CLD Channel Level Differences

CPC Channel Prediction Coefficients

CPE Consumer-Premises Equipment

CPU Central Processing Unit

CoS Class of Service

CUDA Computer Unified Device Architecture

D

DBIR Depth based Image Rendering

DHCP Dynamic Host Configuration Protocol

DPX Digital Picture Exchange

DVB Digital Video Broadcasting

E

eNodeB Enhanced Node B

ES Elementary Stream

F

fps Frames per Second

FTTH Fiber to the Home

G

GbE Gigabit Ethernet

GOP Group of Pictures

GPL General Public license

GPON Gigabit Passive Optical Network

GPU Graphics Processing Unit

GUID Global Unique Identification

ROMEO WP2 Page 130/132

H

HD High Definition

HDMI High Definition Multimedia Interface

HGW Home Gateway

I

ICC Inter-channel Coherences

IEEE Institute of Electrical and Electronics Engineers

IP Internet Protocol

J

JSON-RPC Javascript Object Notation – Remote Procedure Call

K

L

LAN Local Area Network

LGPL Lesser General Public license

LMA Local Mobility Anchor

LTE Long Term Evolution

M

MAG Mobile Access Gateway

MANE Media Aware Network Element

MAP Media Aware Proxy

MIH Media Independet Handover

MIP Mobile Internet Protocol

MME Mobility Management Entity

MN Mobile Node

MPEG Motion Picture Experts Group

MPS MPEG Surround

MTM Multicast Tree Management

N

NACF Network Atachment Control Functions

NALU Network Abstraction Layer Unit

NAT Network Address Translation

NATIE Network Address Translation Implementer Equipment

NMS Network Monitor SubSystem

NTFS New Technology File System

O

OLT Optical Line Terminator

ONT Open Network Terminator

ROMEO WP2 Page 131/132

OS Operating System

P

PCM Pulse Coded Modulation

PCRF Policy Charging and Rule Function

PES Packetised Elementary Stream

PMIP Proxy Mobile IP

P2P Peer to Peer

Q

QoE Quality of Experience

QoS Quality of Service

R

RAM Random Access Memory

RF Radio Frequency

RGW Residential Gateway

RTP Real Time Protocol

S

SBC Session Border Controller

SDI Serial Digital Interface

SI Service Information

SIP Session Initiation Protocol

SNR Signal to Noise Ration

SVC Scalable Video Coding

T

TCP Transmission Control Protocol

TS Transport Stream

U

UDP User Datagram Protocol

UI User Interface

UMTS Universal Mobile Telecommunications System

USB Universal Serial Bus

V

VCL Video Coding Layer

VoDSAR Video on Demand Service Access Router

VRF Virtual Router Forwarding

VSEE Virtual Software Execution Environment

W

WFS Wave Field Synthesis

ROMEO WP2 Page 132/132

WiFi Wireless Fidelity

WLAN Wireless - LAN

X

Y

Z

Numbers