說到 AIT, 大家應該會想到 “美國在台協會" 吧!?不過如果是在 HbbTV 規格書裡面看到這個名詞的話, 它顯然就應該是指 Application Information Table. AIT Filter 就是用來處理 AIT 的過程.
一般的 MPEG2 bit stream 裡面會有 PAT, PMT, NIT, BAT, SDT, EIT, TDT, TOT, 其中又以 PAT 和 PMT 最為知名. 不過 AIT 就相當不常聽說. AIT 的功用就是存放 Broadcasting Application 的 Information, 最早用在 MHP (Media Home Platform).
舉例來說, 某個 service 有 2 個 applications, 那麼這裡的 AIT 就會有 2 個 entries. 接著會記載 application 的名字, 存放的目錄, 以及執行時的參數. [註 1]
為了區分 application, 他們有唯一的 ID, 包括 32 bits 的公司 ID 和 16 bits 的 Application 的 ID. 這個值可以被 AIT 的 parser 讀出來, 也就是在下圖 loop 中 application identifier() 這行, 會讀出此 data structure.
雖然在 DSM-CC 裡面同樣會記錄 application 的位置, 名稱等資訊. 但是一個 application 很可能給很多個 service 使用. 所以兩邊都需要記錄這些訊息
比較賊的地方是這裡面還有個專利 US7861280 [註 2]. 這個專利說, 由於大家 (DVB-MHP, OCAP, ATSC-ACAP) 都可以用 MPEG-TS 和 AIT, 所以我們不知道收到 application 需要的環境究竟是 Java virtual machine, HTML, CE-HTML (HbbTV 1.0), 還是 XDML? 這些只會通知 box (receiving terminal), 再由 box 上的軟體來判斷它能不能支援.
…the application type simply notifies (or indicates) the receiving terminal whether the application is a Java Xlet application requiring a Java Virtual Machine or a Digital Video Broadcasting-HyperText Markup Language (DVB-HTML)-based or an extensible DTV Markup Language (XDML)-based application requiring a browser.
這個專利特別強調, 在 AIT 裡面的第一個 data field 放一個 tag, 很快就能看出這個 application 和這個 program 有沒有關係? 如果沒有關係, 我們就不用去理會這些的 application 了.
An object of the present invention is to provide a data structure for an application information table (AIT) which is able to indicate whether a data broadcast application is bound to a broadcast program or independent of any broadcast program.
如果我們從 AIT 裡面可以很快讀到這個 application 是給哪一個 program 用, 或是可以跨 program 使用, 這就侵犯了這個專利.
[reference]
1. OCAP Application Signalling
2. Data structure for application information table, methods of transmitting and receiving broadcast signal, and digital television receiver