Descriptor (digital television)

from Wikipedia, the free encyclopedia

Descriptors (English descriptors ) are short data records that are transmitted in the service information of a transport stream of digital television . They are used to convey detailed and contextual information, e.g. B. the name or content of the program currently being broadcast.

Definitions

The content of the descriptors is defined in the respective underlying standards. In the case of digital video broadcasting , these are ISO / IEC 13818-1 (MPEG-2 systems) and ETSI EN 300 468 (service information in DVB)

However, descriptors are also used in the transport streams of other systems such as ATSC and ISDB . Various descriptors are also defined in the Multimedia Home Platform (MHP) .

construction

The first two bytes have the same meaning for all descriptors, while the content depends on the respective descriptor definition.

byte designation description
0 descriptor_tag Identifier of the descriptor
1 descriptor_length Length of the descriptor (number of bytes that follow)
2..n Data Data of the descriptor (number depends on the value in descriptor_length )

By limiting the descriptor_tag field to one byte, there can apparently be a maximum of 256 different descriptors. This limitation is circumvented in two ways. On the one hand, the ETSI EN 300 468 has the extension_descriptor, the third byte of which contains an additional identifier, which enables another 256 descriptors. On the other hand, the descriptors are defined differently depending on the system, so that z. For example, if the descriptor_tag value is the same, the content of the data field has to be interpreted differently, depending on which system (DVB, ATSC ...) or which context (DVB-SI, DVB-MHP ...) is present.

In total there are several hundred definitions of such descriptors.

example

A version of the service_descriptor defined in ETSI EN 300 468 is shown below as an example of a descriptor .

First the raw data as a hex dump :

00:   48 10 01 09 05 5A 44 46 6D 6F 62 69 6C 04 05 5A  H....ZDFmobil..Z
10:   44 46                                            DF

The decoding takes place according to the given syntax:

service_descriptor() {
  descriptor_tag               // 1 Byte, 0x48, "service_descriptor"
  descriptor_length            // 1 Byte, 0x10, es folgen 16 Bytes
  service_type                 // 1 Byte, 0x01, "digital television service"
  service_provider_name_length // 1 Byte, 0x09, es folgen 9 Bytes
  for (i=0;i<N;i++){           // es folgt der kodierte Text des Service Providers
    char                       // 1 Byte, 0x05 = "ISO/IEC 8859-9 Latin alphabet No. 5"
                               // 8 Bytes, 0x5A ... 0x6C = "ZDFmobil"
  }
  service_name_length          // 1 Byte, 0x04, es folgen 4 Bytes
  for (i=0;i<N;i++){           // es folgt der kodierte Text des Service
    char                       // 1 Byte, 0x05 = "ISO/IEC 8859-9 Latin alphabet No. 5"
                               // 3 bytes, 0x5A 0x44 0x46 = "ZDF"
  }
}

Individual evidence

  1. ETSI: Digital Video Broadcasting (DVB); Specification for Service Information (SI) in DVB systems . Retrieved April 27, 2015
  2. ETSI: Digital Video Broadcasting (DVB); Specification for Service Information (SI) in DVB systems . Chapter 6.2.33 Service descriptor . Retrieved April 27, 2015