본문 바로가기
Streaming/ATAC 3.0

[ATAC 3.0] MA3 Message

by 김뿡한 2017. 10. 24.

7.2.3.1 mmt_atsc3_message() MMT Signaling Message

An MMT Signaling message mmt_atac3_message() is defined to deliver information specific to ATAC 3.0 service.

The value of 0x8100 in the range of user private use shall be assigned for the message_id of mmt_atac3_message() as per subclause 9.7 of ISO/IEC 23008-1[36]. The syntax of this message shall be as provided in Table 7.6

The text following Table 7.6 shall describe the semantics of each field in mmt_atac3_message().

Syntax 

No. of Bits 

Format 

mmt_atac3_message() {

    message_id

    version

    length

    message payload {

        service_id

        atac3_message_content_type

        atac3_message_content_version

        atac3_message_content_compression

        URI_length


        for(i=0 ; i<URI_length; i++) {

            URI_byte;

        }

        atac3_message_content_length

        for(i=0; i<atac3_message_content_length; i++) {

            atac3_message_content_byte

        }

        for(i=0; i < length-11-URI_length-atac3_message_content_length) {

            reserved

        }

}

16

8

32


16

16

8

8

8



8


32


8



  8  


 


message_id – A 16-bit unsigned integer field that shall uniquely identify the mmt_atsc3_message(). The value of this field shall be 0x8100.

version – An 8-bit unsigned integer field that shall be incremented by 1 any time there is a change in the information carried in this message. When the version field reaches its maximum value of 255, its value shall wraparound to 0.

length –A 32-bit unsigned integer field that shall provide the length of mmt_atsc3_message() in bytes, counting from the beginning of the next field to the last byte of the mmt_atsc3_message().

service_id – A 16-bit unsigned integer field that shall associate the message payload with the service identified in the serviceId attribute given in the SLT.

atsc3_message_content_type – A 16-bit unsigned integer field that shall uniquely identify the typeof message content in the mmt_atsc3_message() payload, coded per Table 7.7 below.


Table 7.7 Code Values for atsc3_message_content_type

 atac3_message_content_type Meaning

 

 0x0000

 Reserved

 0x0001

 userServiceDescription as given in Table 7.5 

 0x0002

 MPD as given in MPEG DASH [58].

 0x0003

 Application Signalling Table as given in A/337, Application Signaling and Triggers[48].

 0x0004

 Application Event Information as given in A/337, Application Signaling and Triggers[48].

 0x0005

 Video Stream Properties Descriptor (Sec. 7.2.3.2)

 0x0006

 ATSC Staggercast Descriptor (Sec. 7.2.3.3)

 0x0007

 Inband Event Descriptor as given in A/337, Application Signaling and Triggers [48].

 0x0008

 Caption Asset Descriptor (Sec. 7.2.3.5)

 0x0009

 Audio Stream Properties Descriptor (Sec. 7.2.3.4)

 0x000A~0xFFFF

 Reserved for future use


atsc3_message_content_version – An 8-bit unsigned integer field that shall be incremented by 1 any time there is a change in the mmt_atsc3_message content identified by a service_id, and atsc_message_content_type pair and URI if present. When the atsc3_message_content_version field reaches its maximum value, its value shall wrap around to 0.

atsc3_message_content_compression – An 8-bit unsigned integer field that shall identify the type of compression applied to the data in atsc3_message_content_byte.


 atac3_message_content_compression Meaning

 

 0x00

 Reserved 

 0x01

 No Compression has been applied 

 0x02

 gzip specified in RFC 1952[15] has been applied 

 0x03

 The template-based compression scheme as specified in Annex D has been applied 

 0x04~0xFF

 Reserved for future use 



URI_length – An 8-bit unsigned integer field that shall provide the length of the URI uniquely identifying the message payload across services. If the URI is not present, the value of this field shall be set to 0.

URI_byte – An 8-bit unsigned integer field that shall contain a UTF-8 character of the URI associated with the content carried by this message excluding the terminating null character, as per RFC 3986 [19]. This field when present shall be used to identify delivered message payloads. The URI can be used by system tables to reference tables made available by delivered message payloads.

atsc3_message_content_length – A 32-bit unsigned integer field that shall provide the length of the content carried by this message.

atsc3_message_content_byte – An 8-bit unsigned integer field that shall contain a byte of the content carried by this message.