Enhanced TV Binary Interchange Format
Encyclopedia
Enhanced TV Binary Interchange Format (EBIF) is a multimedia content format defined by a specification developed under the OpenCable
project of CableLabs
(Cable Television Laboratories, Inc.). 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 page
s, similar to web page
s, but specialized for use within an enhanced television
or interactive television
system.
An EBIF resource (file), 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 (widgets), and executes (actions) 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.
A common or platform section of an EBIF resource consists of the following constructs:
In addition to the above, an EBIF resource may include one or more private use tables that may be interpreted or used by specific user agents.
, where each operation and its (optional) operands is referred to as an action. Actions are organized into sequences by means of one or more action tables where each entry points at (1) an encoded action and (2) the action table index of the next action to execute after the current action's execution is completed. An action sequence terminates when the next action table index is a special value (0xFFFF) or in the case of certain flow of control actions. Action sequences effectively represent one or more traditional code blocks with potential internal looping behavior.
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:
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 (for that event) and before processing any other enqueued event.
OpenCable
OpenCable is a set of hardware and software specifications under development in the United States by CableLabs to "define the next-generation digital consumer device" for the cable television industry...
project of CableLabs
CableLabs
Founded in 1988 by cable television operating companies, Cable Television Laboratories, Inc. is a not-for-profit research and development consortium that has cable operators as its members. System operators from around the world are eligible to be members. Members dues are based on revenue...
(Cable Television Laboratories, Inc.). The primary purpose of the EBIF content format is to represent an optimized collection of widget
Widget (computing)
In computer programming, a widget is an element of a graphical user interface that displays an information arrangement changeable by the user, such as a window or a text box. The defining characteristic of a widget is to provide a single interaction point for the direct manipulation of a given...
and byte code
Bytecode
Bytecode, also known as p-code , is a term which has been used to denote various forms of instruction sets designed for efficient execution by a software interpreter as well as being suitable for further compilation into machine code...
specifications that define one or more multimedia page
Multimedia
Multimedia is media and content that uses a combination of different content forms. The term can be used as a noun or as an adjective describing a medium as having multiple content forms. The term is used in contrast to media which use only rudimentary computer display such as text-only, or...
s, similar to web page
Web page
A web page or webpage is a document or information resource that is suitable for the World Wide Web and can be accessed through a web browser and displayed on a monitor or mobile device. This information is usually in HTML or XHTML format, and may provide navigation to other web pages via hypertext...
s, but specialized for use within an enhanced television
Enhanced television
Enhanced Television is a collection of specifications developed under the OpenCable project of CableLabs that define an ETV Application consisting of resources adhering to the Enhanced TV Binary Interchange Format content format as well as:*PNG images*JPEG images*PFR downloadable fontsAn ETV...
or interactive television
Interactive television
Interactive television describes a number of techniques that allow viewers to interact with television content as they view it.- Definitions :...
system.
An EBIF resource (file), 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 (widgets), and executes (actions) contained in an EBIF resource in order to present a multimedia page
Multimedia
Multimedia is media and content that uses a combination of different content forms. The term can be used as a noun or as an adjective describing a medium as having multiple content forms. The term is used in contrast to media which use only rudimentary computer display such as text-only, or...
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
A common or platform section of an EBIF resource consists of the following constructs:
- Section Header
- Table Directory
- Table 0...N-1
- Optional Heap
Tables
The following table types are defined for use with EBIF:- Action
- Generic Data
- Metadata
- Palette
- Platform Directory
- Reference
- Resource Locator
- Trigger
- Widget
In addition to the above, an EBIF resource may include one or more private use tables that may be interpreted or used by specific user agents.
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
In an EBIF resource, programmatic (procedural) information takes the form of byte codeBytecode
Bytecode, also known as p-code , is a term which has been used to denote various forms of instruction sets designed for efficient execution by a software interpreter as well as being suitable for further compilation into machine code...
, where each operation and its (optional) operands is referred to as an action. Actions are organized into sequences by means of one or more action tables where each entry points at (1) an encoded action and (2) the action table index of the next action to execute after the current action's execution is completed. An action sequence terminates when the next action table index is a special value (0xFFFF) or in the case of certain flow of control actions. Action sequences effectively represent one or more traditional code blocks with potential internal looping behavior.
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
The action memory model is based on a variable store, and does not make use of registers or a stack. With the exception of one predefined, internal result value variable, all variables are preallocated (and typed) at compilation time. These variables are represented in the form of a table referred to as an augmented reference table, where the content of the table is initialized at compilation time, then stored and mutated at runtime by an ETV User Agent.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 (for that event) and before processing any other enqueued event.
See also
- Enhanced TelevisionEnhanced televisionEnhanced Television is a collection of specifications developed under the OpenCable project of CableLabs that define an ETV Application consisting of resources adhering to the Enhanced TV Binary Interchange Format content format as well as:*PNG images*JPEG images*PFR downloadable fontsAn ETV...
- Interactive TelevisionInteractive televisionInteractive television describes a number of techniques that allow viewers to interact with television content as they view it.- Definitions :...
- OEDNOEDNFounded in October, 2007 - the OpenCable Application Platform EBIF Developer Network is an online developer network for the promotion of Interactive Television application and service development on digital cable television....
External links
- ETV Specifications
- OpenCable ETV Binary Interchange Format 1.0
- The OCAP/EBIF Developer Network
- MetaTVMetaTVMetaTV was founded in 1999 on the promise of providing a better way to consume interactive content on TV. Initially, MetaTV created technologies to target existing set-top box infrastructure. Early customers included InnMedia and MSNBC...
- Luxoft's EBIF tutorials