As with most other DTV systems, ATSC service information includes information about parental ratings. This can either be applied to a complete channel, or to a single event. Parental ratings are partly controlled by an SI table called the Rating Region Table. This can be used to define parental ratings for several geographical regions, in those cases where ratings may not be the same across the areas that the content is broadcast (this may be more of an issue for satellite broadcasts than for terrestrial or cable broadcasts). Right now, the only geographical regions that are supported are the USA and Canada as one region, and Taiwan as another.
Each RRT can define several rating dimensions. A rating dimension defines one way of rating content: for instance the MPAA rating system is one rating dimension, while the TV Parental Guidelines ratings could be included as another rating dimension. The advantage of this approach is that it allows several different rating systems to be used simultaneously. An event can be given different ratings values in different systems – for instance, a movie rated R using the MPAA rating system can also be given a more detailed rating under other systems. The RRT table looks like this:
Syntax | No. of bits | Format |
---|---|---|
rating_region_table_section () { | ||
table_id | 8 | 0xCA |
section_syntax_indicator | 1 | ‘1’ |
private_indicator | 1 | ‘1’ |
reserved | 2 | ’11’ |
section_length | 12 | uimsbf |
table_id_extension { | ||
reserved | 8 | 0xFF |
rating_region | 8 | uimsbf |
} | ||
reserved | 2 | ’11’ |
version_number | 5 | uimsbf |
current_next_indicator | 1 | ‘1’ |
section_number | 8 | uimsbf |
last_section_number | 8 | uimsbf |
protocol_version | 8 | uimsbf |
rating_region_name_length | 8 | uimsbf |
rating_region_name_text() | var | |
dimensions_defined | 8 | uimsbf |
for (i = 0; i < dimensions_defined; i++) { | ||
dimension_name_length | 8 | uimsbf |
dimension_name_text() | var | |
reserved | 3 | ‘111’ |
graduated_scale | 1 | bslbf |
values_defined | 4 | uimsbf |
for (j = 0; j < values_defined; j++) { | ||
abbrev_rating_value_length |
8 | uimsbf |
abbrev_rating_value_text() | var | |
rating_value_length | 8 | uimsbf |
rating_value_text() | var | |
} | ||
} | ||
reserved | 6 | uimsbf |
descriptors_length | 8 | uimsbf |
for (i = 0; i < N; i++) { | ||
descriptor | ||
} | ||
CRC_32 | 32 | rpchof |
} |
This shows how the various rating systems are sent to the receiver, but it doesn’t tell us how these ratings are applied to a channel of event. To do this, ATSC uses the Content Advisory Descriptor. This descriptor can either be carried in the event loop of the AEIT to give a rating for a single event, or it can be carried in the VCT to give a rating for an entire channel.
The descriptor has the following format:
Syntax | No. of bits | Format |
---|---|---|
content_advisory_descriptor () { | ||
descriptor_tag | 8 | 0x87 |
descriptor_length | 8 | uimsbf |
reserved | 2 | ’11’ |
rating_region_count | 6 | |
for (i = 0; i < rating_region_count; i++) { | ||
rating_region | 8 | uimsbf |
rated_dimensions | 8 | uimsbf |
for (j = 0; j < rated_dimensions; j++) { | ||
rating_dimension_j | 8 | uimsbf |
reserved | 4 | ‘1111’ |
rating_value | 4 | uimsbf |
} | ||
rating_description_length | 8 | uimsbf |
rating_description_text() | var | |
} | ||
} |
As you can see, this allows any show to be rated on several dimensions at the same time, in several regions. In practice this is not completely used at the moment, but that may change depending on how ATSC standards are adopted in the rest of the world. In addition to a set of ratings in the various dimensions, it can also carry a text description that provides more detail, for instance saying why that rating was given (e.g. sex, violence or bad language).
The RRT is always broadcast on the same PID – number 0x1FFB. This is the same PID that is used for the VCT, and means that the receiver can process both tables more efficiently.