Presentation is loading. Please wait.

Presentation is loading. Please wait.

VOD ( Delivery Multimedia Integration Framework) 2000 년 12 월 11 일 전 현 경.

Similar presentations


Presentation on theme: "VOD ( Delivery Multimedia Integration Framework) 2000 년 12 월 11 일 전 현 경."— Presentation transcript:

1 VOD ( Delivery Multimedia Integration Framework) 2000 년 12 월 11 일 전 현 경

2 2 DMIF  What is DMIF?  DMIF Goal  DMIF Communication Architecture  DMIF Computational Model  DMIF in MPEG-4  DAI(DMIF Application Interface)  DNI(DMIF Network Interface)  Information Flows for DMIF

3 3 What is DMIF? D elivery M ultimetia I ntegration F ramework Delivery of Multimedia Content + Integration Framework 단순한 file 전송이 아닌 Multimedia 자료 전송 : QoS Management 기존의 전송기술을 통합하여 사용할 수 있는 방법 제시

4 4 DMIF Goals Compression Layer Systems Layer Delivery Layer ESI(Elementary Stream Interface) DAI(DMIF-Application Interface) Media aware Delivery unaware Media unaware Delivery aware Media unaware Delivery unaware  Goal – Hiding the delivery technology details from the DMIF user – Ensuring interoperability in the control plane between end-systems  Generic MPEG4 terminal architecture – Compression Layer :MPEG-4 media encoding and decoding into elementary Streams – Systems Layer :Manage Elementary Streams and their synchronization and hierarchical relations – Delivery Layer : ensure transparent access to MPEG-4 content irrespective of delivery technology( Transport network technology(ex. Internet, ATM infrastructure), Broadcast technology, Local storage technology)

5 5 DMIF Communication Architecture(I)  DMIF addresses the delivery integration of three major industries DMIF The multimedia content delivery integration framework Cable Satellite, etc. Internet, ATM, Etc. CD, DVD, etc. Broadcast Industry Interactive Network IndustryDisk Industry

6 6 DMIF Communication Architecture(II) Local App Flows between independent systems Flows internal to a single system Local DMIF for Broadcast Local DMIF for Remote srv Local DMIF for Local Files Remote DMIF (emulated) Remote DMIF (emulated) Network DNI Broadcast source DMIF Filter Sig ma p Remote App. (emulated) Remote App. (emulated) DAI Sig map remote DMIF (real) Remote App DNIDAI Local Storage

7 7 DMIF Computational Model(I)  Service Session – Application request the activation of a service, it uses the Service primitives of the DAI, and actually creates a service session – Local meaning  Network Session – DMIF implementation the contacts its corresponding peer and creates a network session with it – Network-wide significance  Channel – Channel primitives of the DAI

8 8 DMIF Computational Model(II)  High-level view of a service activation and data exchange 1. Originating Application request the activation of a service to its local DMIF A Service Session is created between the application and its local DMIF in the control plane 2. A Network Session is created between the DMIF peers in the control plane 3. The target DMIF identifies the Target Application and creates a Service Session 4. Through the path 1, 2, and 3, the applications create channels in the user plane Channel 4 will carry the actual data exchanged by the Application Originating terminal Target terminal App DMIF App1 1 2 3 4 App2

9 9 DMIF Computational Model(III)  Target DMIF representing a Service Domain  A Network Session shared by multiple Service Session Originating terminal App DMIF App1 App2 Target terminal Originating terminal App A DMIF App1 App2 Target terminal App B

10 10 DMIF in the MPEG-4 Architecture  Generic Layered Architecture for the Data Plane of MPEG-4 AL AccessUnit Layer FlexMux (RTP) UDP IP Protection sL Mux subLayer (PES) MPEG2 TS AAL2 ATM H223 PSTN DAB mux … … FlexMux Layer TransMux Layer DMIF-Application Interface ISO/IEC 14496-1 (MPEG-4 Systems) ISO/IEC 14496-6 (MPEG-4 DMIF) FlexMux Channel TransMux Channel AL-Packed Streams FlexMux Streams TransMux Streams Elementary Streams

11 DMIF Application Interface

12 12 DMIF Application Interface  For development of applications irrespective of delivery technology  Semantic API – No syntax, nor programming language  Minimum semantics in specification – should be extended in implementations(more functions and parameters)  Designed for generic use – Non MPEG-4 application can use DAI  Comprised of the following classes of primitives – Service primitives Deal with control plane, management of service session – Channel primitives Deal with control plane, management of channels – Data primitives Deal with data plane, data transfer through channel

13 13 DA_ServiceAttach (IN: URL, uuDataInBuffer, uuDataInLen; OUT: response, serviceSessionId, uuDataOutBuffer, uuDataOutLen) DMIF 사용자가 서비스 세션 초기화를 요청할 때 사용 DMIF_URL : service Name, Source Address, stream Name DA_ServiceAttachCallback (IN: serviceSessionId, serviceName, uuDataInBuffer, uuDataInLen; OUT: response, uuDataOutBuffer, uuDataOutLen) Remote DMIF peer 가 serviceName 필드를 통해 구별되는 적합한 remote application 을 호출 DA_ServiceDetach (IN: serviceSessionId, reason; OUT: response) serviceSessionId 에 의해 구분되는 서비스를 종료하기 위해 사용 DA_ServiceDetachCallback (IN: serviceSessionId, reason; OUT: response) Remote DMIF layer 가 remote DMIF user 에게 reason 때문에 serviceSessionId 로 구분되는 서비스가 종료되었음을 알려줌 DAI primitives(I)

14 14 DAI primitives(II) DA_ChannelAdd (IN: serviceSessionId, loop(qosDescriptor, direction, uuDataInBuffer, uuDataInLen); OUT: loop(response, channelHandle, uuDataOutBuffer, uuDataOutLen )) DMIF 사용자가 serviceSessionId 에 의해 구분되는 서비스에서 하나 이상의 채널의 추가를 요청할 때 사용 DA_ChannelAddCallback (IN: serviceSessionId, loop(channelHandle, qosDescriptor, direction, uuDataInBuffer, uuDataInLen); OUT: loop(response, uuDataOutBuffer, uuDataOutLen)) Remote DMIF layer 가 serviceSessionId 에 의해 구분되는 remote DMIF 사용자에게 remote DMIF 사용자가 채널 추가를 요청받았다는 것을 알려줌 DA_ChannelDelete (IN: loop(channelHandle, reason); OUT: loop(response)) DMIF 사용자는 channelHandle 에 의해 구분되는 하나 이상의 채널을 삭제할 때 호출 DA_ChannelDeleteCallback (IN: loop(channelHandle, reason); OUT: loop(response)) DA_UserCommand (IN: loop(serviceSessionId, uuDataInBuffer, uuDataInLen)) DMIF layer 는 serviceSessionId 에 의해 구분되는 remote DMIF user 에 uuData 를 제공 DA_UserCommandCallback (IN: loop(channelHandle, uuDataInBuffer, uuDataInLen)) DMIF 사용자는 serviceSessionId 에 의해 구분되는 remote peer 에 uuData 를 보냄 DA_Data (IN: channelHandle, streamDataBuffer, streamDataLen) DMIF 사용자는 channelHandle 에 의해 구분되는 채널에 streamData 를 보냄 DA_DataCallback (IN: channelHandle, streamDataBuffer, streamDataLen, errorFlag)

15 15 Structure of the DAI Primitives DA_ServiceAttach (IN: URL,...; OUT:..., serviceSessionId...) Confirm Parameters from DMIF layer to Application Request Parameters from Application to DMIF layer DA_ServiceAttachCallback (IN: serviceSessionId,...; OUT: response,...) Indication Parameters from DMIF layer to Application Response Parameters from Application to DMIF layer Application Local DMIF 4.( OUT :uuDataOutBuffer) ( IN :uuDataInBuffer) 1.DA_ primitive Application Local DMIF ( IN :uuDataInBuffer) 3.( OUT :uuDataOutBuffer) 2.DA_ primitive CallBack Network 1.Request 2.Conform 4.Response 3.Indication Prefix uu: The parameter is transparently transported between DMIF users through DMIF, i.e, opaque data structure. Therefore, uuData exist as a pair in the primitive and callback primitive

16 16 DAI Primitive Sequence DA_primitive (IN:parameters) 1 Application DAI Org. DNI + Network + Target DNI Originating DMIF TerminalTarget DMIF Terminal the application initiates the service the application running the service replies DA_primitive CallBack (IN:parameters) (OUT:parameters) 2 3 4

17 DMIF Network Interface

18 18 DMIF Network Interface  Only for interactive network scenario  Semantic API for the control plane  Abstract the signalling between DMIF peers irrespectively of the supported delivery technologies  DNI Parameters mapped onto network dependent native signalling mechanism  Comprised of the following primitives – Session primitives : session management(setup & release) – Service primitives : service management(attach & detach) – Transmux primitives : transmux management(setup, release, config) – Channel primitives : channel management(add & delete)

19 19 DNI Primitive Semantics DN_SessionSetup[Callback](IN:networkSessionId, calledAddress, callingAddress, compatibilityDescriptor; OUT:response) DN_SessionRelease[Callback](IN:networkSessionId, reason; OUT:response) DN_ServiceAttach[Callback](IN:networkSessionId, serviceId, serviceName, ddDataInBuffer, ddDataInLen; OUT: response, ddDataOutBuffer, ddDataOutLen) DN_ServiceDetach[Callback](IN:networkSessionId, serviceId, reason; OUT:response) DN_TransMuxSetup[Callback](IN:networkSessionId, TAT, qosDescriptor; senderAddress, receiverAddress; OUT:response) DN_TransMuxRelease[Callback](IN:networkSessionId, TAT; OUT:response) DN_ChannelAddRequest[Callback](IN:networkSessionId, serviceId, loop(CAT, direction, senderAddress, receiverAddress, ddDataInBuffer, ddDataInLen); OUT:loop(TAT, response, ddDataOutBuffer, ddDataOutLen)) DN_ChannelAddIndication[Callback](IN:networkSessionId, serviceId, loop(CAT, direction,senderAddress, receiverAddress, TAT, ddDataInBuffer, ddDataInLen); OUT:loop(response)) DN_ChannelDelete[Callback](IN:networkSessionId, loop(CAT, reason); OUT  loop)(response)) DN_TransMuxConfig[Callback](IN:networkSessionId, loop(TAT, ddDataInBuffer, ddDataInLen); OUT:(loop(response, ddDataOutBuffer, ddDataOutLen)) DN_ChannelReady[Callback](IN:networkSessionId, loop(CAT)) SessionServiceTransMuxChannel SetupAttachSetupAddRequest ReleaseDetachReleaseAddIndication ConfigDelete Ready

20 20 Fixed Syntax Element  QoS Descriptor  DMIF_Descriptor  DMIF to DMIF data – ddData() DMIF peer 들 간에 전송되는 정보를 포함하는 메시지  Resource_Descriptor – 리소스를 요구할 때 사용하는 메시지에 포함됨 StreamPriority 1 QoS_QualifierCount 1 for(i=0; i< QoS_QualifierCount; i++) { QoS_QualifierTag1 QoS_QualifierDataLength1 QoS_QualifierDataQoS_QualifierDataLength } QoS metric MAX_DELAY 스트림에 허용되는 absolute max delay PREF_MAX_DELAY 스트림에 허용되는 preferred max delay LOSS_PROB Access Unit 의 최대로 허락된 loss 확률 MAX_GAP_LOSS 최대로 허락된 consecutively lost AU 수 MAX_AU_SIZE AVG_AU_SIZE MAX_AU_RATE PRIORITY 스트림의 우선순위

21 21 DMIF Signalling Message  DNI primitives are mapped into DMIF signalling messages  Relation between DNI and DS messages DS_SessionSetupRequest() { dsmccMessageHeader() networkSessionId compatibilityDescriptor() ddData() } DN_ [CallBack](IN: ; OUT: ) DN_ Request(){ } DN_ Confirm(){ } DN_SessionSetup[Callback](IN:networkSessionId, calledAddress, callingAddress, compatibilityDescriptor; OUT:response) DS_SessionSetupConfirm() { dsmccMessageHeader() response compatibilityDescriptor() ddData() } Ex.

22 Information Flows for DMIF

23 23 DA_ServiceAttac h (IN: DMIF_URL, uuData) DN_SessionSetup (IN: nsId, CallingAddr, CalledAddr, CapDescr) (OUT: rsp) DN_ServiceAttach (IN: nsId, serviceId, serviceName, ddData) (OUT: ddData, rsp) DA_ServiceAttach (IN: ssId, serviceName, uuData) (OUT: rsp, uuData) (OUT: ssId, uuData, rsp) attach to the service the application running the service replies 1 2 3 4 5 6 7 8 Application DAI DMIF Layer DNI + Network + DNI Originating DMIF TerminalTarget DMIF Terminal determine whether a new network session is needed the application initiates the service Connect to the application running the service Initiation of a Service in a Remote Interactive DMIF

24 24 the application requests a new channel DA_ChannelAdd (IN: ssId, loop ([qos],dir,sAdd,r Add, uuData)) DN_TransMuxSetup (IN: nsId,TAT) (OUT: rsp) DA_ChannelReady (IN: nsId, serviceId, loop(CAT, dir, [qos], ddData)) (OUT: loop(rsp, TAT,ddData,rsp)) DA_ChannelAdd (IN: ssId, loop (chId, dir,sAdd,rAdd, uuData)) (OUT: loop (qos,rsp)) (OUT: loop (chId, rsp)) determine whether a new network connection is needed request the channel Notify the application running the service the application running the service replies 1 6 5 2 3 4 7 8 Application DAI DMIF Layer DNI + Network + DNI Local DMIF TerminalTarget DMIF Terminal [DN_ChannelAddRequest] 9 10 11 12 DN_ChannelAddReques t DN_ChannelReady DA_ChannelReady DA_Data Addition of Channel in a Remote Interactive DMIF (Downstream) (IN:chID, streamData, errorFlag) (IN:chID, streamData) (IN:loop(chId)) (IN:loop(CAT)) (IN:loop(chId))

25 25 Addition of Channel in a Remote Interactive DMIF (Upstream) the application requests a new channel DA_ChannelAdd (IN: ssId, loop (dir, [qos], uuData)) DN_TransMuxSetup (IN: nsId, TAT)) (OUT:rsp) 1 3 2 Application DAI DMIF Layer DNI + Network + DNI Local DMIF TerminalTarget DMIF Terminal 8 7 6 DA_ChannelAdd DA_Data DN_ChannelAddIndication Create the channel 9 4 5 Determine whether a new network connection is needed Notify the application running the service The application running the service (IN: nsId, loop(chId, dir, sAdd,rAdd,uuDat a)) (IN: nsId, serviceId,loop(CAT,dir,sA dd,rAdd,TAT,ddData)) (OUT:loop(ddData.rsp)) (OUT:loop(chId. rsp)) (IN:chId, streamData)(IN:chId, streamData,errorFlag) (OUT:loop([qos],r sp)

26 26 Channel release controlled by the Local DMIF peer the application delete a channel DA_ChannelDelete (IN:loop(chId, reason)) DN_ChannelDeleteRequest (IN: nsId, loop(CAT,reason)) 1 3 2 Application DAI DMIF Layer DNI + Network + DNI Local DMIF TerminalTarget DMIF Terminal 4 DA_ChannelDelete DN_TransMuxRelease The application running the service Notify the application running the service (OUT:loop(rsp))5 6 7 8 (OUT:rsp) Determine whether a network connection can be released Request the channel deletion (OUT:loop(rsp)) (IN:nsId, TAT) (IN:loop(chId, reason))

27 27 Channel release controlled by the Remote DMIF peer the application delete a channel DA_ChannelDelete DN_ChannelDeleteIndicatio n (IN: nsId, loop(TAT, dir, qos, resources)) 1 3 2 Application DAI DMIF Layer DNI + Network + DNI Local DMIF TerminalTarget DMIF Terminal 4 DA_ChannelDelete DN_TransMuxRelease 5 6 7 8 (IN:loop(chId, reason)) Request the channel deletion (OUT:loop(rsp)) Notify the application running the service The application running the service (OUT:loop(rsp)) (IN:loop(chId, reason)) (OUT:loop(rsp)) Determine whether a network connection can be released (OUT:rsp) (IN:nsId, TAT)

28 28 Termination of a Service in a Remote Interactive DMIF DA_ServiceDetach (IN: ssId, reason) DN_ServiceDetach (IN: nsId, serviceId, reason) (OUT:rsp) 1 3 2 Application DAI DMIF Layer DNI + Network + DNI Local DMIF TerminalTarget DMIF Terminal 4 DA_ServiceAttach DN_SessionRelease (OUT:rsp)5 6 7 8 The application running the service replies the application terminates the service Detach the service (IN: ssId, reason) (OUT:rsp) Determine whether the network session can be released (IN: nsId, reason)

29 29 Initiation of a Service in a Broadcast DMIF the application initiates the service DA_ServiceAttac h (IN:DMIF_URL. uuData) 1 ApplicationDAIDMIF Layer+ Remote (emulated) DMIF Layer + Remote (emulated) Application DMIF TerminalBroadcast Network Get knowledge of the list of services Tune on the requested service and get specific Information (e.g. for MPEG-4: First OD, table for ES-ID to CAT mapping reply Service Guide Service Specific Configuration Information 2 (OUT:ssId, uuData.rsp)

30 30 Addition of Channels in a Broadcast DMIF the application request a new channel DA_ChannelAdd (IN:ssId, loop([qos],dirsA dd,rAdd,uuData) ) 1 ApplicationDAIDMIF Layer+ Remote (emulated) DMIF Layer + Remote (emulated) Application DMIF TerminalBroadcast Network Tune on the requested channels(e.g. for MPEG-4 based on the table for ES- ID to CAT mapping) Start getting data on those channels 2 (OUT:loop(chID, rsp) reply DA_ChannelReady Data DA_Data (IN:chID, streamData, errorFlag) (IN:loop(chId))

31 31 Deletion of Channels in a Broadcast DMIF the application deletes channels DA_ChannelDelete (IN:loop(chId, reason)) 1 ApplicationDAIDMIF Layer+ Remote (emulated) DMIF Layer + Remote (emulated) Application DMIF TerminalBroadcast Network Stop getting data on those channels 2 (OUT:loop(rsp)) DA_ServiceDetach (IN:ssId, reason) 1 Stop getting any data for that service 2 (OUT:rsp) Termination of a Service in a Broadcast DMIF the application terminates the service

32 32 Initiation of a Service in a Local Storage DMIF the application initiates the service DA_ServiceAttach (IN:DMIF_URL. uuData) 1 ApplicationDAIDMIF Layer+ Remote (emulated) DMIF Layer + Remote (emulated) Application DMIF TerminalLocal File System Read the list of services Read the specific configuration information for the requested service(e.g. for MPEG-4:First OD, table for ES-Id to CAT mapping) reply 2 (OUT:ssId, uuData, rsp) File System read Service directory read Service specific Configuration Information

33 33 Addition of Channels in a Broadcast DMIF the application request a new channel DA_ChannelAdd (IN:ssId, loop([qos],dir,sA dd,rAdd,uuData) ) 1 ApplicationDAIDMIF Layer+ Remote (emulated) DMIF Layer + Remote (emulated Application) DMIF TerminalLocal File System Open the appropriate files(e.g. for MPEG-4 based on the table for ES-ID to CAT mapping) Start getting data on those channels 2 (OUT:loop(chID, rsp) reply DA_ChannelReady Data DA_Data (IN:chID, streamData, errorFlag) open Ack read 3 4 File System

34 34 Deletion of Channels in a Broadcast DMIF the application deletes channels DA_ChannelDelete (IN:loop(chId, reason)) 1 ApplicationDAIDMIF Layer+ Remote (emulated) DMIF Layer + Remote (emulated Application) DMIF TerminalBroadcast Network Close the appropriate files 2 (OUT:loop(rsp)) the application terminates channels DA_ServiceDetach (IN:ssId, reason) 1 Close all files related to that service 2 (OUT:rsp) Termination of a Service in a Broadcast DMIF close Ack File System close Ack

35 35 Conclusion  The application is written once (DAI); by simply plugging in more DMIF instances and by using different URLs, the application would run on more delivery technologies.  The DMIF model provides a framework to find solutions for QoS management.  Moreover, it guarantees permanence of multimedia application in presence of new delivery technologies

36 36 참고 :DMIF Network Architecture  Generic DMIF Network Architecture Model TRANSPORT NETWORKS DMIF Receiver Peer role (Client ) Application (MPEG-4) DMIF DMIF Sender Peer role (Server, Broadcast, Local Storage ) DMIF SRM = Not present in case of pure broadcast = Invoked on demand Application (MPEG-4) DMIF SRM = Session and Resource Management function

37 37 Reference  Information Technology – Generic coding of moving pictures and associated audio information- Part 6: Delivery Multimedia Integration Framework, ISO/IEC JTC1/SC29/WG11, Oct, 1997


Download ppt "VOD ( Delivery Multimedia Integration Framework) 2000 년 12 월 11 일 전 현 경."

Similar presentations


Ads by Google