Introduction to AIT and its role in HbbTV
The Application Information Table (AIT) is a critical component of HbbTV, providing essential metadata that enables the discovery, signalling, and management of interactive applications. It serves as a bridge between traditional broadcast services and broadband-delivered applications, informing HbbTV-compatible devices (like smart TVs or set-top boxes) about the presence and behaviour of applications tied to both broadcast and broadband content.
In this section, we’ll explore what AIT is, how it functions, its structure and its essential role in the HbbTV ecosystem.
The subsections are:
- Introduction to AIT
- Broadcast AIT and XML AIT
- AIT structure and elements
Introduction to AIT
There are two main types of AITs used in HbbTV:
- Broadcast AIT: Delivered within the DVB transport stream of a broadcast (over-the-air, satellite, or cable). This version is used to signal applications that are associated with a live broadcast service, such as interactive applications tied to a specific channel or program. The Broadcast AIT is transmitted in binary format and contains essential information to manage the lifecycle of applications related to the broadcast.
- XML AIT: Delivered via broadband (internet) using HTTP or HTTPS. It is used for applications fetched from web servers, commonly seen in on-demand services like video streaming platforms or web-based interactive applications. The XML AIT is written in XML format, making it more suitable for internet-based delivery and enabling dynamic, real-time interaction with remote servers.
By providing a standardized way to signal both broadcast and broadband applications, the AIT enables seamless integration of hybrid TV experiences, ensuring that users can access interactive content linked to both live TV and web-based services.
The AIT is specified in the ETSI TS 102 809 standard, titled “Digital Video Broadcasting (DVB); Signalling and carriage of interactive applications and services in Hybrid Broadcast/Broadband environments”. This document defines how interactive applications, including those used in HbbTV, are signalled within digital broadcast streams and broadband networks. The latest version is 1.3.1 published in 2017.
The use of AIT by HbbTV is defined in the main ETSI TS 102 796 standard. Section 7.2.3.1 provides the details for broadcast signalling.
Most developers will start with working with a broadcast AIT, using them to access broadband application over HTTP/HTTPS. On in more complex environments, where HbbTV applications launch other HbbTV applications will they encounter XML AIT.
History of AIT and its link to MHP
The AIT has its roots in the Multimedia Home Platform (MHP), an early standard for interactive television developed by the DVB Project in the late 1990s. MHP aimed to deliver interactive services like electronic program guides (EPGs) and teletext via digital broadcasts. In this system, the AIT was defined to signal the presence and behaviour of applications linked to TV broadcasts.
While MHP had limited success due to its complexity and the rise of competing standards, AIT proved to be a robust tool for managing interactive applications. When HbbTV emerged in the late 2000s, combining broadcast and broadband technologies, it adopted and adapted AIT. In HbbTV, AIT continues to signal, launch, and manage applications, now supporting both broadcast and broadband services. This transition marked a shift from a broadcast-only focus to a more dynamic, hybrid approach, enabling richer, more interactive TV experiences.
If you read the specifications you may find references to MHP.
How AIT is used by HbbTV
The AIT plays a crucial role in making HbbTV applications accessible to users. Here’s how it fits into the overall HbbTV system:
Signalling Applications
When a user is watching a television service (i.e. channel), the AIT signals whether there is an associated HbbTV application available. For example, a live sports broadcast might have an accompanying application that allows viewers to see real-time statistics, vote on player performance, or watch multiple camera angles. The AIT informs the receiver about the application’s presence and it requirements, and the TV can then automatically launch the application if it has the capabilities to do so.
Managing application life-cycle
HbbTV may need to manage multiple applications at the same time, particularly in scenarios where various interactive services are linked to different channels. AIT helps in managing these applications by defining whether they are bound to the broadcast (meaning they close when the viewer switches channels) or unbound, allowing them to run across multiple channels. This gives broadcasters the flexibility to provide consistent user experiences even as viewers navigate between content.
Transport Mechanisms
HbbTV operates in both broadcast and broadband domains. The AIT contains information on how the application is being delivered, whether it’s over the DVB (Digital Video Broadcasting) network or via an IP-based broadband connection. This hybrid approach ensures that even if the viewer lacks a broadband connection, certain basic interactive features can still be delivered over the broadcast network.
Broadcast AIT and XML AIT
In HbbTV, there are two main types of Application Information Tables (AITs) used to signal and manage interactive applications: the Broadcast AIT and the XML AIT. These differ in terms of where they are delivered from and how they are structured, depending on the type of content being accessed (broadcast vs. broadband).
Broadcast AIT
A broadcast AIT is a component of the MPEG-2 Transport Stream that is used to signal the presence of applications, such as interactive or multimedia services, that are associated with a television broadcast. A broadcast AIT contains metadata about these applications and provides essential information on how they should be delivered, activated, and run in sync with the broadcast content.
The Broadcast AIT is structured in binary format and is transmitted in the MPEG-2 transport stream. It contains metadata about broadcast-associated applications. Broadcast AIT is used when the application is linked to a specific broadcasted TV service or channel. For example, a broadcaster might signal an interactive sports statistics app or a synchronized ad banner to be displayed alongside a live broadcast. The AIT would inform the receiver to launch the app automatically or make it available for manual launch.
The tools used for creating broadcast AITs often use XML as an input format. These formats may differ from the XML AIT format and should not be confused.
Broadcast AIT are usually used to launch broadband delivered (HTTP/HTTPs) applications.
XML AIT
The XML AIT is delivered over broadband and is typically used for applications access from other HbbTV applications without any direct link to a broadcast television service. It provides similar information to the Broadcast AIT but is structured in XML format.
When an application is accessed via an XML AIT rather than directly from the applications URL, the receiver can check that it has the capabilities to run the application.
AIT structure and elements
The AIT contains several key elements that define how applications are identified, launched, and managed in the context of broadcast and broadband services. These elements carry specific metadata that help receivers handle HbbTV applications effectively.
At a high level the AIT helps application developers define the following:
- Application Identifiers: These are unique identifiers that specify the application available for execution, ensuring there is no confusion between multiple services.
- Application Control Code: This tells the receiver whether the application should be started.
- Application Boundaries: AIT defines whether an application is bound to a specific channel (and will stop if the viewer changes the channel) or unbound (can run independently even when changing channels).
- Versioning: AIT supports different versions of the same application, allowing developers to signal updates to application parameters.
- Transport Protocols: The table indicates whether the application is being delivered via broadcast (DVB) or broadband (IP), or both.
The following subsections are a breakdown of the elements of an AIT and the values these can hold.
Table ID
A broadcast AIT is carried as a DVB table. All DVB tables have a table ID that uniquely identified the table type. The table ID for an AIT is 0x74.
Test Application Flag
This is a flag that indicates if it is a test application, if set standard receivers should not launch or enable interaction with the application.
Application Type
This identifies the type of application the AIT is providing details for. For HbbTV this is always 0x0010.
AIT Version Number
This is the version number of the AIT not the application. This is incremented to indicate that there has been a change in the information carried within the AIT.
Current Next Indicator
This is an unused feature. It is a 1-bit field and must be set to “1”.
Application Control Code
Specifies how the application should be launched or controlled.
0x01 – AUTOSTART: The HbbTV application starts automatically when the viewer tunes into the channel.0x02 – PRESENT: The application will not start automatically but may continue to run if already running.0x03 – DESTROY: The application should be terminated if currently running.0x04 – KILL: Similar to DESTROY but ensures immediate termination.0x07– DISABLED: The application shall not be started and attempts to start it shall fail.
Change a control code from ‘autostart’ to ‘present’ enables a developer to stop new users (those changing to the channel) from accessing an application but enables existing user to continue to use it.
There is an additional use case for ‘present’. A service can have an application which is not auto started but will continue to run after a channel change, if signalled and started on another service.
Application Identifier
This is 48-bit field that uniquely identifies the application. It has two parts a 32-bit Organisation ID and a 16-bit Application ID. The Organisation uniquely identifies the organisation which owns the application. These numbers are assigned and maintained by DVB Services. The Application ID is allocated by the organisation itself. In the DVB AIT specification meaning is given to the ID ranges and 0x0001 to 0x3fff should be used for unsigned application. These ranges do not have meaning for the HbbTV security model.
Application ID enables the same application to be present on multiple channels and for the receiver to know it is the same application.
Application Profile
This is the first part of the platform profile and specifies the features required of the receiver for the application can run. The values are:
0x0000Standard0x0001A/V content download0x0002PVR0x0003Both
A receiver without A/V download capability would not run an application that is signalled as needing the capability.
Nearly all applications are developed for standard receivers without using either PVR or A/V download capabilities. A/V download capabilities are being considered for deprecation.
Platform Version
This indicates the version of the HbbTV ETSI specification that the application has been written for. It enables receivers to reject applications that are not capable of supporting. The version number is in three parts matching the ETSI versioning. The valid values are currently 1.1.1, 1.2.1, 1.3.1, 1.4.1, 1.5.1, 1.6.1 and 1.7.1.
A terminal designed for 1.7.1 should still run an 1.1.1 application and that application can still take advantage of 1.7.1 features.
Most application developers tend to just use 1.1.1 and then have the application react to what is and isn’t available in the implementation of HbbTV on the receiver.
Application Visibility
This is a featured defined for MHP, the only valid value for HbbTV is VISIABLE_ALL (0x03).
Application Priority
Where there are multiple applications signalled with a service, this indicates their relative priority. A larger value indicates a higher priority. The higher priority application will be launched over a low priority application.
Application Name
The name of the application can be carried in the AIT, in multiple languages. This is meant to be informative to viewers. I’m not aware of any receiver that uses this information. This was a feature used by MHP applications.
Application Icons
You can optionally signal applications icons, however I’m not aware of any receiver implementation that use this. This was a feature used by MHP applications.
Graphics Constraints
This is only used with HbbTV application that use a resolution and graphics coordinates system other than 1280×720. Please see the chapters on advanced graphics for more details.
Application Usage
This needs to be included but has only one valid value, which is 0x01 (Digital Text application).
Service Bounds
This controls how an HbbTV application behaves in relation to the TV service (i.e., the channel or content that is currently being broadcast). Specifically, it indicates whether the application should remain active only while the viewer is watching the associated broadcast service or if it can continue running when the viewer switches channels or navigates away from the service.
An application may be ‘bound’ to a service (i.e. channel) or ‘unbound’ to the service it is launched with. If it is ‘bound’, it is always killed when the service is changed. If it is ‘unbound’ it may under certain circumstance remain running.
For an ‘unbound’ application to continue running it must also be signalled as either ‘autostart’ or ‘present’ in the destination service.
Having an ‘unbound’ application enables an application than is common across a bouquet of channels to remain running when a viewer changes directly between these channels.
In a broadcast AIT this is a 1 bit field and “1” indicates an application is bound.
Transport Protocol
This describes how the application is delivered to the HbbTV receiver (either through broadcast or broadband). The valid values are:
0x0001Object carousel: Application data is delivered over the broadcast network using a carousel method (common in broadcast-only scenarios).0x0003HTTP: Application data is delivered via broadband using an HTTP/HTTPS connection.0x0004CICAM: Application data is delivered from a CI CAM.
Object carousels where more widely used when fewer televisions were connected to a broadband connection. There are very few remaining examples of HbbTV applications being launched from an object carousel. However, many HbbTV do use broadcast data to synchronise them with the broadcast programme content.
An application may have multiple transport protocols defined, each transport protocol has a numeric label to identify it.
Transport Protocol Specific Information
Referred to in the specification as ‘selector’. For a broadcast object carousel this provides the DVB triplet to locate the object carousel if it is not carried in the local service. If the carousel is remote, it cannot be auto started.
For a HTTP/HTTPS, this contains the base URL for the application. This base URL set the bounds of the application.
Application Initial Path
Carried in a simple application location descriptor, this is the entry point for the application and is added to the base URL.
Summary
The Application Information Table (AIT) is the backbone of the HbbTV standard, facilitating the seamless integration of interactive applications with traditional television broadcasts. By signalling, launching, and managing applications, AIT helps broadcasters provide enriched, personalized, and interactive viewing experiences to consumers. In the ever-evolving landscape of digital media, AIT and HbbTV together allow broadcasters to stay relevant by merging the best of broadcast and broadband worlds.