EBIF
   HOME

TheInfoList



OR:

Enhanced TV Binary Interchange Format (EBIF) is a multimedia
content format A content format is an encoded format for converting a specific type of data to displayable information. Content formats are used in recording and transmission to prepare data for observation or interpretation. This includes both analog and dig ...
defined by a specification{{cite web , author = ETV Working Group , title = Enhanced TV Binary Interchange Format 1.0 , version = I06 , date = 2011-01-28 , publisher = Cable Laboratories, Inc. , url = http://www.cablelabs.com/specifications/OC-SP-ETV-BIF1.0-I06-110128.pdf developed under the OpenCable project of
CableLabs Cable Television Laboratories, Inc. (CableLabs) is a nonprofit corporation promoting innovation as a research and development lab founded in 1988 by American cable operators. System operators from around the world are eligible to be members. Th ...
(
Cable Television Laboratories, Inc. Cable Television Laboratories, Inc. (CableLabs) is a nonprofit corporation promoting innovation as a research and development lab founded in 1988 by American cable operators. System operators from around the world are eligible to be members. Th ...
). The primary purpose of the EBIF content format is to represent an optimized collection of widget and
byte code Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norm ...
specifications that define one or more multimedia pages, similar to web pages, but specialized for use within an enhanced television or
interactive television Interactive television is a form of media convergence, adding data services to traditional television technology. It has included on-demand delivery of content, online shopping, and viewer polls. Interactive TV is an example of how new information ...
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.


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 code Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norm ...
, 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 table''s 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 Television *
Interactive Television Interactive television is a form of media convergence, adding data services to traditional television technology. It has included on-demand delivery of content, online shopping, and viewer polls. Interactive TV is an example of how new information ...
*
OEDN OEDN is an OpenCable Application Platform (OCAP) EBIF Developer Network that was founded in October, 2007. It is an online developer network for the promotion of Interactive Television application and service development on digital cable televisi ...


References


External links


OpenCable Enhanced TV Application Messaging Protocol Specification

OpenCable ETV Binary Interchange Format 1.0

The OCAP/EBIF Developer Network
*
MetaTV MetaTV 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 (services targeted ...
*
Luxoft Luxoft, a DXC Technology Company, is represented in 21 countries with 17 000+ employees globally. Luxoft is headquartered in Zug, Switzerland. History In 2000, Luxoft was established under the direction of Dmitry Loschinin. In 2008, it acquired ...
'
EBIF tutorials
Digital cable