Enhanced TV Binary Interchange Format
Enhanced TV Binary Interchange Format is a multimedia content format defined by a specification developed under the OpenCable project of CableLabs. The primary purpose of the EBIF content format is to represent an optimized collection of widget and byte code specifications that define one or more multimedia pages, similar to web pages, but specialized for use within an enhanced television or interactive television system.
An EBIF resource, i.e., a sequence of bytes that conforms to the EBIF content format, forms the primary information contained in an ETV Application. An ETV User Agent acquires, decodes, presents, and executes contained in an EBIF resource in order to present a multimedia page to an end-user. Other types of more specialized EBIF resources play auxiliary roles to this principal role of encoding viewable and interactive pages.
Common Resource Format
An EBIF resource consists of the following components:- Resource Header
- Optional Common Section
- Optional Platform Section 1...N
- Section Header
- Table Directory
- Table 0...N-1
- Optional Heap
Tables
- Action
- Generic Data
- Metadata
- Palette
- Platform Directory
- Reference
- Resource Locator
- Trigger
- Widget
Widgets
The following types of widgets are defined for use with EBIF:- Button
- Collection
- Container
- Form
- Hidden
- Hot Spot
- Image
- Multi-Line Text
- Page
- Private Use
- Radio
- Radio Group Container
- Rectangle
- Selector
- Text
- Text Input
- Timer
- Video
Actions
Action sequences are executed as a result of firing certain predefined events, such as a page load event, a key press event, a click event, etc. As such, all programmatic execution takes place in the context of event handlers, whose execution is serialized by an ETV User Agent.
The following categories of actions are defined by EBIF:
- Flow of Control Actions
- Predicate Actions
- Variable Store Actions
- Arithmetic Actions
- Boolean Logic Actions
- Mathematic Actions
- String Actions
- Array Actions
- Application and Page Actions
- Widget Actions
- Table Actions
- Miscellaneous Actions
Memory Model
Execution Model
The action execution model is based on the decoding and processing of action sequences that serve as event handlers.Execution of action sequences are serialized through the sequential dispatching of events to event handlers, completing the execution of an action sequence functioning as an event handler before executing any other applicable event handlers and before processing any other enqueued event.