13.1 Advanced Television Enhancement Forum (ATVEF)


The ATVEF has produced a standard set of HTML extensions and facilitates the synchronization of data broadcasts with video feeds [ATVEF]. ATVEF has been adopted by OpenCable, as well as some key software providers such as Microsoft and Liberate. A few content providers are broadcasting ATVEF content today. WebTV users may be familiar with interactive Jeopardy, that allows viewers to play along with the popular game show. Informational broadcasts such as The Weather Channel, broadcast ATVEF content that enables viewers to go interactive and access detailed weather maps and local forecasts.

The ATVEF specification was designed by a consortium of broadcast and cable networks, consumer electronics companies, television transport operators and technology companies to define a common, worldwide specification for enhanced television programming [ATVEF]. The specification consists of three parts :

  • Content specifications to establish minimum requirements for receivers.

  • Delivery specifications for transport of enhanced TV content.

  • The bindings between the two (based on IP).

ATVEF delivers enhanced TV programming over analog and digital video systems using terrestrial, cable, satellite, and Internet networks. For the delivery of data enhancements, it relies on existing Internet technologies. The specification can be used in both one-way broadcast and two-way video systems, and is designed to be compatible with all international standards for both analog and digital video systems.

A key strategy for the ATVEF standardization effort was the integration of existing technologies, as opposed to development of new immature technologies. The content produces in the group determined that existing Internet standards, with only minimal extensions for television integration, provide a sufficiently rich set of capabilities for building enhanced TV content. The ATVEF specification references full existing specifications for HTML, ECMAScript, DOM, CSS, and media types as the basis of the content specification.

Another key design goal was the provision of a single solution for a wide variety of networks. ATVEF defines a transport-independent content format and includes the bindings to IP-based and NTSC-based transports. In general, ATVEF can work with, or leverage, any video format for which IP bindings exist or can be easily defined. ATVEF is capable of running on both analog and digital video systems as well as networks with no video at all. The specification also supports transmission across terrestrial broadcast, cable, and satellite systems as well as over the Internet. In addition, it provides a bridge between networks of different types. As an example, content delivered through an analog terrestrial broadcast can be easily transcoded to enable its delivery with a digital cable system.

ATVEF defined a simplified content food chain comprising content producer, transport operator, and receiver manufacturer. The content producer originates the content components of the enhancement including graphics, layout, interaction and triggers. The transport operator runs a video delivery infrastructure (terrestrial, cable, satellite or other) that includes a transport for ATVEF data. The receiver manufacturer provides the hardware and software implementation (television, set-top box, or personal computer) that decodes and plays ATVEF content. An organization may play more than one of these roles.

13.1.1 Content Specifications

The ATVEF content specification reassures content producers that a minimum set of capabilities are available for the delivery and rendering of the content they produce. There are no constraints on the types of data and formats that an ATVEF transport may carry. This includes HTML, VRML, Java, other future formats (e.g., XHTML) and private data files. When the content author knows the special capabilities and limitations of the target receiver, data can be sent over ATVEF transport that is not compliant with the specification, including Dynamic HTML (DHTML), Java, or even private data files.

13.1.1.1 Content Formats

The foundation for ATVEF content is existing Internet standards such as IP, HTTP and HTML. All receivers support HTML 4.0, CSS 1.0, ECMA Script, DOM0 (i.e., ECMA+DOM0 = JavaScript 1.1). Receivers are required to provide 1KB for session cookies that may not persist when the receiver is turned off. Table 13.1 presents the base profile of MIME types that are supported in each receiving implementation.

Table 13.1. Minimum Support Required from ATVEF Receivers

MIME Type

Mode

Comments

test/html

Required

This refers to HTML 4.0. only.

text/css

Required

This refers to CSS 1.0 only.

image/png

Required

The PNG format excluding progressive encoding.

image/jpg

Required

The JPEG format excluding progressive encoding.

audio/basic

Required

This is an uncompressed format.

image/gif

Recommended

This is recommended and not required due to Intellectual Property issues remaining from the CompuServe days (before being acquired by AOL).

audio/basic

Recommended

This is the major compressed audio format that preceded MP3 (see Chapter 12).

13.1.1.2 ATVEF Triggers

ATVEF Triggers are events delivered for controlling the enhancement of TV programs. Typically, triggers initiate or control active enhancements using DHTML-style scripting. They can be delivered using any transport for which ATVEF binding exists (e.g., IP, NTSC, Captioning). Triggers always include a URL, and may optionally also include a human-readable name , an expiration date, and a script, to be executed by the receiver on reception .

Receiver implementers are free to decide how to turn on enhancements and how to enable the user to choose among enhancements. As an example, receivers may use trigger arrival as a signal to notify users of availability of interactive enhancement. Triggers that include a name attribute may be used to initiate an enhancement either automatically, or with user confirmation. The initial top-level page for that enhancement is indicated by the URL in that trigger. Triggers that do not include a name attribute are not intended to initiate an enhancement, but should only be processed as events that affect enhancements that are currently active through the script attribute. For example, if the URL of a trigger matches the URL of the current top-level page, and the expiration specified by the trigger has not been reached, the script is executed.

The content of triggers is text based. It begins with ASCII '<' (Receivers should ignore triggers that do not begin with '<'). The syntax of triggers content follows the basic format of the EIA-746A standard (7-bit ASCII, where the high-order bit of the first byte is "0"). The MIME content type is application/tve-trigger . The general format for triggers is as follows:

 <url> [attr1: val1][attr2:val2]...[attrn:valn][checksum] 
  • Character set : The ISO 8859-1 (Latin-1) character set is used in the range 0x20 and 0x7e (compatible with US_ASCII). Any need for characters outside of this range is encoded using the standard Internet URL mechanism of the percent character ("%") followed by the two-digit hexadecimal value of the character.

  • URL : The URL is enclosed in angle brackets (e.g., <http://xyz.com/fun.html> ); ATVEF content level 1 only requires support for http: and lid: URL schemes (see next section for details).

  • Name Attribute : Attributes, in general, are specified within '[' and ']' brackets. The name attribute provides a readable text description (e.g.[name:MoreInfo]) and can be abbreviated as the single letter "n" (e.g. [n:MoreInfo] ).

  • Expires Attribute : The expires attribute specifies a date after which the link (i.e., trigger) is no longer valid; as an example, "[expires:19971223]", or the abbreviated version [e:19971223] , can be used to specify a trigger which is valid until December 23, 1997. The time conforms to the ISO 8601 standard, except that it is assumed to be UTC unless the time zone is specified. A recommended usage is the form yyyymmddThhmmss , where the capital letter "T" separates the date from the time. It is possible to shorten the time string by reducing the resolution. For example yyyymmddThhmm (no seconds specified) is valid, as is simply yyyymmdd (no time specified at all). When no time is specified, expiration is at the beginning of the specified day.

  • Script Attribute : The content of the script attribute is a script fragment to execute within the context of the page containing the trigger receiver object. For example, [script:shownews()] can be used to invoke the shownews() method that automatically switches the display to show the news. The string is an ECMAScript fragment. The script attribute can be abbreviated as the single letter "s" (e.g. [s:shownews()] ). An example of a script attribute used to navigate a frame within a page to a new URL: [script:frame1.src="http://atv.com/f1"] .

  • The Checksum : An optional checksum may be present at the end of the trigger's text. The checksum is provided to detect data corruption. To compute the checksum, adjacent characters in the string (starting with the left angle bracket) are paired to form 16-bit integers; for an odd number of characters, the final character is paired with a 0x00 byte. The checksum is computed so that the one's complement of all of these 16-bit integers plus the checksum equals the 16-bit integer with all 1 bits (0 in one's complement arithmetic). The checksum is identical to that used in the IP; further details on the computation of this checksum are given in IETF RFC 1071. Because the checksum characters themselves (including the surrounding square brackets) are not included in the calculation of the checksum, they are stripped from the string by the receiver before the checksum is recalculated there. Characters outside the range 0x20 to 0x7e (including the second byte of two-byte control codes) is not included in the checksum calculation. Once computed, the 16-bit checksum is transmitted as four hexadecimal digits in square brackets following the right square bracket of the final attribute-value pair (or following the right angle bracket if there are no attribute-value pairs); a network byte order is used, with the most significant byte sent first.

The following are examples of valid trigger strings:

[View full width]
 
[View full width]
<http://xyz.com/buyme.html> <http://xyz.com/buyme.html>[name:Find out More!] <lid://xyz.com/buyme.html>[n:Find out More!] <lid://xyz.com/buyme.html>[n:Cart][e:19991231T115959] [s:frame1.src="http://xyz.com/ frame1"] <http://www.newmfr.com>[name:New][C015]
13.1.1.3 The Local Identifier URI Scheme ( lid: )

Content delivered by a one-way (push) broadcast is not necessarily available on-demand, as it is when delivered by a (pull) request response mechanism such as using HTTP or FTP. To enable locating and extracting resources from the broadcast transport, it is necessary to have a name space local to the transport. To support cross-references within the content (for use in hyper-links or to embed one piece of content in another), these local names are location-independent.

The lid: URI scheme enables content authors to assign unique identifiers to each resource relative to a given namespace. Thus the author can establish a new namespace for a set of content and then use simple, human-readable names for all resources within that space. In ATVEF IP transports, the lid: scheme is used by the Content-Location: field in the Unidirectional HTTP (UHTTP) resource transfer header to identify resources that should be stored locally by a broadcast capable receiver platform and are not accessible via the Internet. The syntax of the lid: URL is as follows:

lid://{namespace-id}[/{resource- path }]

The {namespace-id} specifies a unique identifier (e.g., UUID or a domain name) to use as the namespace for this content. The {resource-path} names a specific resource within the namespace, and follows the generic relative URL syntax. As with all URI schemes that support the generic relative URI syntax, this path component can be used alone as a relative URI, where the namespace is implied by a base URI specified for the content through other means.

Although all compliant implementations of enhanced TV receivers support absolute URIs within the UHTTP header and broadcast triggers, some implementations may not correctly process absolute URIs using the lid: scheme within HTML content. Content producers should use only relative URIs. The full lid: URI is only needed by triggers initiating an enhancement and loading the main HTML page; that page as well as all other pages should use relative URIs. Example valid lid URIs are as follows:

 lid://identifier123@babel.com/photo.jpg lid://xyz.com/myshow/episode100/george.html lid://3d3dd3f154c2abd3ddc554c312abc53f/logos/star.gif 

The first example uses a RFC 822 message-id style unique ID, the second one uses a domain name as a unique identifier, and the third uses a text encoding of a UUID. Each is a valid mechanism for describing a lid: namespace.

13.1.1.4 Integrating TV with Web-pages

The tv: URI, Uniform Resource Identifiers for Television Broadcasts RFC 2838, is used to reference a broadcast television channel. The tv: URI may be used in any location where a URI may reference an image. The primary video broadcast in the referenced channel is displayed in the area allocated for that image. Examples of elements that can use the tv: URI include the <object/> , <img/> , <body/> , <frameset/> , <a/> , <div/> , and <table/> elements.

  • TV Screen Placement : The <object/> and <img/> elements are used to place the TV picture in a Web-page, for example:

     <object data="tv:" width="60%" height="60%"> <img src="tv:" width=320 height=240> 
  • TV Screen within a Table (e.g., EPG) : The <td/> element can be used to place the TV picture as the background of a table cell , for example:

     <td width=320 height=240 style="background: url(tv:)">     The content overlaid on the TV picture inside this cell. </td> 
  • TV in the background : The <body/> element is used to specify TV as a full screen background of the Web-page, for example:

     HTML 3.2 syntax: <body background="tv:"> HTML 4.0 syntax: <body style="background: url(tv:)"> 
  • Overlay frames over a TV background : The use of frames allows the program to change the displayed Web-page while maintaining the same target URL for a series of triggers. This is achieved in full screen mode as follows:

     <frameset style="background: url(tv:)" cols="200,*"> 

    Each frame in the frameset that does not obscure the video specifies a transparent background color its <body/> element; for example:

     HTML 3.2 syntax: <body bgcolor="transparent"> HTML 4.0 syntax: <body style="background: transparent"> 
  • Transition from a Web-page to full-screen TV : The use of tv: as the href of an anchor tag allows for hyper-linking to full screen TV, for example:

     <a href="tv:">Click here to return to TV</a> 
  • Triggered Pages : TV may be enhanced with HTML pages that are presented only when triggers are sent to them via an ATVEF trigger stream (i.e., fully controlled by the transmission operators) The content type for the trigger object is application/tve-trigger . The target object for these trigger objects is specified using the <object/> element as follows:

     <object type="application/tve-trigger" id="triggerReceiverObj"/> 

13.1.2 ATVEF Transport Specifications

All forms of ATVEF transport involve data delivery and triggers. The capability of networks for one-way or two-way communication drives the definition of two models of transport. Transport A is designated data broadcasts when a return channel is available. Transport B is designed for situations when the return channel is not available.

13.1.2.1 Transport Type A: Return-path Data

Some existing broadcast data services provide a mechanism for trigger delivery, but not resource delivery, due to limited bandwidth. Content creators may encode broadcast data triggers using these. Broadcast data streams only contain broadcast data triggers so there is no announcement or broadcast content delivery mechanism. Because there are no announcements, the broadcast data service stream is considered to be implicitly announced as a permanent session.

In addition to the other attributes used in triggers, ATVEF transport type A triggers contain the attribute tve: indicating to the receiver that the content of the trigger conforms to a specific ATVEF Level, e.g., [tve:1.0] . The tve: attribute can be abbreviated as the single letter "v". The version number can be abbreviated to a single digit when the version ends in ".0" (e.g. [v:1] is the same as [tve:1.0] ). The tve: attribute is equivalent to the use of type:tve and tve-level: in SAP/SDP announcements in the transport type B IP multicast binding. This attribute is ignored if present in a trigger in transport B because these values are set in transport type B in the announcement. If the tve: attribute is not present in a transport type A trigger, the content described in the trigger is not considered to be ATVEF content.

It is assumed that when the user tunes to a TV channel, the receiver locates and delivers broadcast data triggers associated with the TV broadcast. Tuning and decoding broadcast data triggers is implementation, and delivery standard specific and is specified in the appropriate ATVEF binding. A mechanism is defined for encoding broadcast data triggers for each standard delivery ATVEF content. For example in the NTSC binding, the broadcast data trigger syntax is encoded on the Text2 (T2) channel of line 21 using the EIA-746A system.

Because there is no content delivery system, broadcast data triggers usually require two-way Internet connections to fetch content over HTTP. Television transport operators and content creators need to plan to handle the scalability issues associated with large numbers of HTTP requests responding at roughly the same time to broadcast triggers.

13.1.2.2 Transport Type B: Broadcast Data

Transport type B is for true broadcast of both the resource data and triggers. As such, transport type B can run on TV broadcast networks without Internet connections, unlike transport type A.

Transport type B uses announcements to offer one or more enhancements of a TV channel. An announcement specifies the location of both the files that provide content and the trigger stream for an enhancement. In addition to locating the files and trigger streams, announcements can provide the language, start and stop times, bandwidth, peak storage size needed for incoming resources, ATVEF content level the resources represent, an optional UUID that identifies the content, an optional string that identifies the broadcast channel for systems that send ATVEF content separately from the audio/video TV broadcast. Multiple enhancements can be offered as choices that differ on characteristics like language or required cache size or bandwidth. The receiver can receive data relevant to its capabilities.

Transport type B also requires a protocol that provides for delivery of resources. In one-way broadcast systems, this is a one-way resource transfer protocol that allows for broadcast delivery of resources. The resource delivered includes HTTP headers to package the file (regardless of the transport method). All resources delivered using resource transfer are named using URIs. These resources are then stored locally, and retrieved from this local storage when referenced using this same URI. All receivers supports local storage and retrieval of content using the lid: URI scheme and the familiar http: URI scheme. When lid: is used, the resources are delivered only through broadcast and are not available on demand through the Internet. When http: is used, the resources that are delivered through broadcast also exist on the World Wide Web and can be requested from the appropriate server using standard HTTP. Sending http: resources using resource transfer effectively pre-loads the local cache, thus avoiding large numbers of simultaneous hits on Web servers when those same resources are requested by many receivers. Furthermore, this mechanism allows receivers to view the same content that appears on the Web even when no Internet connection is available. Content authors can freely mix resources that use either the lid: or http: schemes in the same enhanced broadcast. Because the underlying resource transfer protocol is not limited to carrying resources named by any particular URI scheme, some receivers store and retrieve content which is named using other URL schemes, such as ftp: , as well as the required lid: and http: .

The "ATVEF Reference Binding for IP Multicast" describes three protocols based on IP multicast transmission for each of the three data streams: (a) announcements; (b) triggers; and (c) one-way resource transfer.

13.1.2.3 Simultaneous Support of Transports A and B

A single video program may contain both transport type B (e.g., IP) and transport type A (e.g., broadcast data triggers) simultaneously . This is advantageous to target both IP-based receivers and receivers that can only receive broadcast data triggers.

Receivers may choose to support only IP based trigger streams and ignore broadcast data triggers, or receivers may support broadcast data triggers in the absence of IP based triggers, or receivers may support broadcast data triggers and IP based triggers simultaneously.

When a broadcast data trigger is encountered , its URI is compared to the URI of the current page. If the URIs match and the trigger contains a script, the script should be executed. If the URIs match but there is no script, the trigger is considered a re-transmission of the current page and should be ignored. If the URIs do not match and the trigger contains a name, the trigger is considered a new enhancement and may be offered to the viewer. If the URIs do not match and there is no name, the trigger should be ignored.

13.1.3 ATVEF Bindings

An ATVEF binding is a definition of how ATVEF runs on a given network. The ATVEF binding provides the glue between the network spec and the ATVEF spec, when the network specification doesn't contain all the necessary information. The measure of a sufficient ATVEF binding is that all the data needed to build a compliant, interoperable receiver for a given network should be contained in the ATVEF spec, the network spec, and the ATVEF network binding, if needed.

The binding may support either or both transport types A and B. Having one standard ATVEF binding for each network is necessary so that receivers and broadcast tools can be developed independently. ATVEF defines the binding to IP as the reference binding. Because IP is available to run over virtually any kind of network in existence. That means that one approach to building an ATVEF binding for a particular network is to simply define how IP is run on that network associated with a particular video program. The IP binding can also be used as a model for a complete, compliant, efficient ATVEF binding.

The ATVEF specification also includes an example of a binding to a specific network standard-the ATVEF binding to NTSC. This binding can be used as a model for how to build an ATVEF binding to a specific video standard. The example NTSC binding defines transport type A using an NTSC-specific method and defines transport type B using the IP reference binding.

With ATVEF, the primary (reference) binding is IP-multicast. Content authors should assume IP addresses may be changed downstream, and therefore should not use them in their content. The transport operator is only responsible for making sure that an IP address is valid on the physical network where they broadcast it (not for any rebroadcasting). When possible, content authors should use valid IP multicast addresses to minimize the chance of collisions.

Transport operators should use the standard IP transmission system for the appropriate medium (IETF, ATSC, DVB, etc.). It is assumed that when the user tunes to a TV channel, the receiver automatically locates and delivers IP datagrams associated with the TV broadcast. The mechanism for tuning video and connecting to the appropriate data stream is implementation and delivery standard specific and is not specified in this framework.

  • Announcement Protocol : Announcements are used to announce currently available programming to the receiver. The IP multicast addresses and ports for resource transfer and for triggers are announced using SDP announcements (RFC 2327). The SDP header is preceded by an 8-byte SAP header. SAP is still in Internet Draft form, but the non-optional first 8 bytes are stable (http://www.ietf.org/html. charters /mmusic-charter.html). Announcements are sent on a well-known address ( 224.0.1.113 ) and port ( 2670 ). This address and port have been registered with the IANA.

  • Trigger Protocol : The trigger protocol carries a single trigger in a single UDP/IP multicast packet. Triggers are real-time events broadcast inside IP multicast packets delivered on the address and port defined in the SDP announcement for the enhanced TV program. The trigger protocol is thus very lightweight to provide quick synchronization.

  • UHTTP : A one-way IP multicast based resource transfer protocol, the UHTTP is defined in Appendix C of the ATVEF specifications. UHTTP is a simple, robust, one-way resource transfer protocol that is designed to efficiently deliver resource data in a one-way broadcast-only environment. This resource transfer protocol is appropriate for IP multicast over VBI (IPVBI), in IP multicast carried in MPEG-2, or in other unidirectional transport systems. Web-pages and their related resources (e.g., images and scripts) are broadcast over UDP/IP multicast along with their related TV signal. An announcement broadcast by the TV station tells the receiver which IP multicast address and port to listen to for the data. The only data broadcast to this address and port are resources intended for display as Web content.

13.1.3.1 ATVEF Binding to NTSC

To integrate with NTSC, ATVEF data is broadcast within the VBI of individual video fields.

Transport A: VBI Line 21

ATVEF triggers are transmitted on VBI Line 21 of the NTSC signal using the T-2 service as specified in EIA-608 which describes how to send URLs and related information on VBI line 21 without interfering with other data (e.g., closed captions) also sent on that line. ATVEF trigger length should be kept as short as possible and should be limited to 25% of the total field bandwidth, even if more bandwidth is available.

Transport B: IP over VBI

IP datagrams should be sent according to the specification drafted by the IP over VBI working group of the IETF. NABTS (rather than WST) byte encoding should be used. IP streams should be sent on the packet addresses 0x4b0 through 0x4bf. Further, it is recommended that a 1 MByte buffer be used in the receiver.

13.1.3.2 Disadvantages of ATVEF

Some of the disadvantages of ATVEF are that triggers are synchronous only (i.e., it is not possible to specify presentation times) and there is no buffer model (i.e., delivery contract) for triggers or content. Further, television transport operators and content producers need to plan to handle the scalability issues associated with large numbers of HTTP requests responding at roughly the same time to broadcast triggers. These issues are addressed by DVB-MHP through the use of MPEG-based transports and buffer models.



ITV Handbook. Technologies and Standards
ITV Handbook: Technologies and Standards
ISBN: 0131003127
EAN: 2147483647
Year: 2003
Pages: 170

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net