The DSM-CC ObjectCarousel protocol is a broadcast protocol on top of MPEG2.

+

[[Image:OC-ProtoLayers.png|right]]

−

It is used for transmission of filesystem hierarchies over a MPEG2 channel.

+

The [[DSM-CC|DSM-CC standard/toolkit]], which is Part 6 of the [[MPEG-2 Standard]], defines or extends five distinct protocols to cover the many different aspects of broadband service delivery. One of those five includes the "Download" Protocol, which itself contains several variations that detail the transfer of content from a server to a client, either within the [[MPEG-2 Transport Stream|MPEG-2 TS]] or independently in a separate channel. One of these "Download" protocol variations is an autonomous "data carousel", and an extension to the data carousel itself is the "object carousel".

Stated another way, the '''DSM-CC Object Carousel Protocol''' is a broadcast protocol on top of MPEG-2. It is used for transmission of filesystem hierarchies over a MPEG-2 channel. Like other protocols (NFS, SAMBA etc. via IP), the Object Carousel protocol allows mounting of external filesystems that are broadcast within a MPEG-2 program. Of particular interest is its use for the application of interactive multimedia formats, such as [[MHP]] or [[MHEG-5]], for [[Digital TV]] services.

−

allows mounting of external filesystems that are broadcast within a MPEG2 program.

+

−

[[Image:OC-ProtoLayers.png]]

+

== '''A.''' MPEG-2 Transport Stream ==

−

== '''A.''' MPEG2 Transport Stream ==

+

Basically, to mount an Object Carousel, of course you have to know where to find it.

−

+

−

Basically, to mount an ObjectCarousel, of course you have to know where to find it.

+

[[Image:OC-LayerMPEG.png]]

[[Image:OC-LayerMPEG.png]]

−

For example, given a stream location on dvb://ONID.TSID.SID, you have tune to this service and check some (P)SI tables

+

First, given a stream location on dvb://ONID.TSID.SID, you have to tune to the service and check some (P)SI tables

−

for presence of an ObjectCarousel there (which tables is the subject of the next layer).

+

for presence of an Object Carousel there (which tables is the subject of the next layers).

−

As you can see, an ObjectCarousel '''can''' be distributed over multiple PIDs, and there is nothing more special

+

As you can see, an Object Carousel '''can''' be distributed over multiple PIDs (i.e. all elemantary streams belong to

−

to say about the MPEG2 layer of the ObjectCarousel protocol. TS-Packets are merged into DSMCC-Sections as usual,

+

the same '''CarouselID'''), and there is nothing more special to say about the MPEG-2 layer of the Object Carousel protocol.

−

and DSMCC-Sections also follow the usual PrivateSection format.

+

TS-Packets are merged into Sections as usual, and DSMCC-Sections also follow the usual '''PrivateSection''' format.

== '''B.''' Data Carousel ==

== '''B.''' Data Carousel ==

−

[[Image:OC-LayerDC.png]]

+

[[Image:OC-LayerDC.png|right]]

−

== '''C.''' Object Carousel ==

+

The '''PMT''' points to elementary streams with '''StreamType 0xb''', on which DSM-CC streams are located, but that does not mean a DataCarousel is really there. You can find various descriptors in the '''2nd ES-loop''' of the PMT which indicate the presence of a DataCarousel, e.g. the '''DataBroadcastDescriptor''' and '''CarouselIDDescriptor'''. The latter one associates a DataCarousel with a '''CarouselID''', so that an Object Carousel can include multiple DataCarousels, each one located on a separate elementary stream.

+

Well then, you already know all elementary streams including a DataCarousel, but what pieces of data are broadcast there and how to filter them?

+

A DataCarousel includes at least one '''Download Control Message''' which is repeated more frequently than the broadcast data.

+

This message is called '''DII''' ('''D'''ownload'''I'''nfo'''I'''ndication) and describes a set of data belonging to the broadcast DataCarousel.

+

+

+

== '''C.''' Object Carousel ==

WIP

WIP

+

+

+

==External Links==

+

* [[Wikipedia:DSM CC|Wikipedia's DSM-CC article]]

+

* [http://www.interactivetvweb.org/tutorial/dtv-intro/dsm-cc/index.shtml An article covering the IDTV aspects of DSM-CC]

+

+

[[Category:Technology]]

Latest revision as of 16:29, 17 January 2008

The DSM-CC standard/toolkit, which is Part 6 of the MPEG-2 Standard, defines or extends five distinct protocols to cover the many different aspects of broadband service delivery. One of those five includes the "Download" Protocol, which itself contains several variations that detail the transfer of content from a server to a client, either within the MPEG-2 TS or independently in a separate channel. One of these "Download" protocol variations is an autonomous "data carousel", and an extension to the data carousel itself is the "object carousel".

Stated another way, the DSM-CC Object Carousel Protocol is a broadcast protocol on top of MPEG-2. It is used for transmission of filesystem hierarchies over a MPEG-2 channel. Like other protocols (NFS, SAMBA etc. via IP), the Object Carousel protocol allows mounting of external filesystems that are broadcast within a MPEG-2 program. Of particular interest is its use for the application of interactive multimedia formats, such as MHP or MHEG-5, for Digital TV services.

Contents

A. MPEG-2 Transport Stream

Basically, to mount an Object Carousel, of course you have to know where to find it.

First, given a stream location on dvb://ONID.TSID.SID, you have to tune to the service and check some (P)SI tables
for presence of an Object Carousel there (which tables is the subject of the next layers).

As you can see, an Object Carousel can be distributed over multiple PIDs (i.e. all elemantary streams belong to
the same CarouselID), and there is nothing more special to say about the MPEG-2 layer of the Object Carousel protocol.
TS-Packets are merged into Sections as usual, and DSMCC-Sections also follow the usual PrivateSection format.

B. Data Carousel

The PMT points to elementary streams with StreamType 0xb, on which DSM-CC streams are located, but that does not mean a DataCarousel is really there. You can find various descriptors in the 2nd ES-loop of the PMT which indicate the presence of a DataCarousel, e.g. the DataBroadcastDescriptor and CarouselIDDescriptor. The latter one associates a DataCarousel with a CarouselID, so that an Object Carousel can include multiple DataCarousels, each one located on a separate elementary stream.

Well then, you already know all elementary streams including a DataCarousel, but what pieces of data are broadcast there and how to filter them?

A DataCarousel includes at least one Download Control Message which is repeated more frequently than the broadcast data.
This message is called DII (DownloadInfoIndication) and describes a set of data belonging to the broadcast DataCarousel.