PILTDOWN, UK - High definition HTML is coming to a site near you -- whether you will see it is another matter. An addition to the HTML5 working draft specification was approved by the World Wide Web Consortium (W3C) working group over the weekend, including several new HTML elements and attributes designed to support output on high definition displays. But due to patent protection, open source Web browsers may not be allowed to implement a significant portion of the standard.
The W3C's HTML working group added the extension set to its Second Public Working Draft of the spec, published Sunday. The HD extension introduces one new head-level HTML/XHTML element, three block-level elements, four global attributes (which can be used with existing elements), and three additional attributes unique to the previously-approved
Despite the connection to
<video>, the HD HTML extensions are not related to the video element codec controversy from last December, in which representatives from Apple and Nokia objected to the inclusion of the open and patent-free Vorbis and Theora codecs to the HTML5 spec. According to the published draft, the high definition HTML additions will permit designers and Web app developers to "design rich media sites that take better advantage of high-resolution display technology" and the "improved visual and auditory capabilities" of modern hardware, including both high-def, deep color PC monitors and non-PC displays like home theater.
The W3C HTML working group consists of more than 70 individual member participants and more than 300 additional "invited experts." Group meetings are held semi-monthly at neutral locations; this most recent meeting was held in southern England at the home of chairman George Hull. The HD extensions to HTML5 were sponsored by and at least partially written by participants from Intel, Sony, and NBC Universal, although member participants from a number of other companies and organizations contributed to the draft specification. Several members posed preliminary objections to the extension due to its late addition, but after a voice vote, the amendment passed by 36 votes, with one abstention.
The entire HTML5 specification is expected to go through several more revisions before moving from "working draft" to "recommendation" status. The current estimate of the process is that HTML5 will not reach recommendation status until 2009.
Defining definition: elements
Most of the new HD elements deal with the details of rendering images on high-definition displays, while the added attributes enable features that could be of use even in standard-definition rendering, such as sub-pixel font placement and multichannel output.
The new head element is
<resolution>, which specifies the height and width of the document, using relative or absolute units, or as a percentage of the containing window. The draft spec states that a browser should re-size the window to display the correct resolution if possible, and must scale the document to fit if the specified resolution is larger than is physically available. The
<resolution> element can optionally indicate whether the display of the document should be interlaced or progressive, a feature not likely to impact Web pages viewed on traditional PC and laptop displays, all of which are progressive-scan.
The new block-level elements are
<hdr>. Content enclosed within a
</screen> tag pair can be rendered inline in the page or, when possible, piped to another display -- whether a physical device or another software program. A
</screen> block can contain its own head elements, like resolution.
<output> element is similar in the sense that it delimits content to be send to another display, but an
<output> block cannot be rendered in-line. The example given in the spec specifically lists
<output> as a case which could take advantage of the High-bandwidth Digital Content Protection (HDCP)-capable
copy attribute to prevent display of its contents on unauthorized devices.
<hdr> element is essentially a duplicate of the
<img> element that has long been a part of HTML, but specialized for high-dynamic-range still (not video) images. In addition to the src=, width=, and height= attributes used by
<hdr> requires colorspace=, dynrange=, and gamut= attributes, without which it may not display properly on the page.
Attributes new and old
As alluded to above, one of the new HTML attributes is the HDCP-inspired
copy. Marking an element with the
copy attribute allows the page author to dictate whether and under what circumstances the User Agent (i.e., browser) can display or save the element's contents.
Possible values for
copy include: never, once, days=n, timeshift, nocache, and auth=URI. Never and once are self-explanatory. Days permits the content to be stored for the specified number of days, timeshift allows it to be saved once and viewed at a later time, and nocache specifies that the content is not to be stored in the browser's cache or loaded into memory. The most intriguing is auth, which specifies an external Uniform Resource Identifier (typically either a URL or an email address) authorized to approve or block display of the content. How that approval/denial process will be implemented is not described in the spec.
The other global attributes are less complicated. The
surround= element (possible values 2.0, 2.1, 5.1, 6.1, and 7.1) provides multi-channel audio. The
picture= element takes an array of five values, for contrast, brightness, color, sharpness, and tint, in that order. Each quantity is expressed as floating point number between -1 and 1, truncated to however many degrees of precision the hardware permits. The
edit= attribute specifies whether the tagged content is designated for display or for editing, so that editable elements can be handled by an appropriate plug-in or MIME-type handler. These new attributes can be used to modify and enhance the display of block-level but not inline elements -- tables, lists, and paragraphs, for example, but not
<span>s or links.
<video> element gains an additional three element-specific attributes in addition to those above. The
trailer= attribute allows the specification of an external file or URI to be used as a video trailer for the full-length content of the element. The
encoding= element refers not to the codec used, but to the color model of the enclosed video -- YUV, YPbPr, YCbCr, YIQ, or unknown. The
ticket= element can be any of the literal strings "free," "rental," "temporary," or "purchase." The "rental" and "purchase" values are meant to function in concert with an authorization method such as the
copy attribute; in the absence of an authorization method, the specification says that the User agent (i.e., browser) "shall not" display the content. A fourth element-specific attribute,
intermission= was proposed, but failed to pass.
Most of the new elements and attributes can be implemented in free Web browser software such as the Gecko engine used by Mozilla products and derivatives and the open source WebKit. The sole possible exception is the authorization scheme incorporated by the
copy attribute and the video-specific attributes associated with it:
Although the HTML5 specification itself does not dictate HDCP content protection, it is cited as the example case in the published draft, and any site that incorporated HDCP as its authorization method for video content would require an HDCP-compliant Web browser in order to view video content - whether on the PC or via home theater projector. Since HDCP compliance testing requires a per-download license fee, non-profit browser projects are unlikely to ever gain the required certification.
The HTML working group operates under the W3C's patent policy, which specifies that all W3C technologies be available under royalty-free terms. The HD HTML extensions, however, do not fall under this royalty-free umbrella, since it is not the elements and attributes that form the patented technology -- only the implementation of them.
In comparison, the
surround element could certainly be used to send a multi-channel audio stream in a closed, proprietary, even patented format, but the choice of codecs is not part of the implementation itself. Content can already be embedded in Web pages in patented formats via
Impact on free software
The patent wrinkle aside, however, there is much in the HD HTML extensions that will bring new content to the Web, and can be enjoyed by free and proprietary software alike.
Though oft-overlooked when discussed alongside the video content protection additions, the combination of the new
Although it is optional, parameters within
<screen> can send commands to operate remote-controlled home theater components, dim room lighting, and mute other audio devices and telephones. Because the protocols involved are open, free software browsers could be the first to implement these features.
Furthermore, although the video copy protection seems likely to be used as a means of restricting when and where users can enjoy Web content, the same cannot be said for the new surround-sound and picture control attributes. To be sure, not everyone cares whether or not their monitors are color-managed or properly calibrated, but it is nice that for those who do, the Web is finally catching up.
Likewise, most users will probably continue to browse the Web with just two stereo speakers attached to their computers, but the additional of multi-channel audio tags will only serve to enhance the experience on whatever portion of computers now come with 5.1 surround speakers. Finally, by implementing the majority of the new features in attributes -- as opposed to entirely new, incompatible HTML elements -- it will be possible to mark up pages or portions of pages (say, individual paragraphs) with the new HD HTML tags, enhancing the immersive qualities for those using supported browsers, but gracefully falling back to standard-def rendering of the same content or those using older software.