- HDi (interactivity)
HDi (formerly iHD [ [http://www.engadgethd.com/2007/01/25/ihd-hdi-nope-its-called-advanced-navigation/ Engadget:iHD, HDi? Nope it's called Advanced Navigation] ] [ [http://www.hdtvinfo.eu/news/hd-video-formats/ihd-changed-to-hdi.html iHD changed to HDi] ] ) is
Microsoft 's implementationcite web|url=http://www.microsoft.com/presspass/press/2007/Sep07/09-20HDiTrademarkPR.mspx|title=Trademark press release] of theAdvanced Content interactivity layer inHD DVD .cite web | url = http://www.cdrinfo.com/Sections/News/Details.aspx?NewsId=21456 | title = Microsoft Announces Use of HDi Logo by Toshiba and Hollywood Studios | accessdate = 2007-10-04] It is used in theXbox 360 HD DVD add-on as well as stand-alone HD DVD players.Advanced Content
Advanced Content is a specification defined by the
DVD forum used for authoring the interactive features, such as menus, bookmarks,picture-in-picture , and additional content and games forHD DVD . The Advanced Contentruntime provides services for timing, user input (e.g., from remote control), and time based triggers for execution of code. It also enables network access to download additional content and access to persistent storage which is used for storing bookmarks and other state information. Advanced Content is written using aXML basedmarkup language, reminiscent ofHTML , and application logic is written usingECMAScript . The functionality offered by the Advanced Content runtime is exposed by ECMAScriptAPI s. It also uses XML markup based uponXSL-FO for styling the UI andSMIL for time-triggered content.XPath can also be used while writing Advanced Content applications.Overview
HDi is an implementation of the Advanced Content specification; as such applications written for HDi are written using the XML dialect and ECMAScript, the latter of which is processed by the
JScript engine when running on Microsoft Windows platforms. The HDi runtime exposes theAPI s defined by the Advanced Content standard. It provides only a single threaded programming model, though certain operations (such as network and persistent storage access) are executed as asynchronous operations. [cite web | url = http://blogs.msdn.com/ptorr/archive/2007/10/24/maintaining-callback-semantics.aspx | title = Maintaining Callback Semantics | author = Peter Torr | accessdate = 2007-12-04]An
HD DVD movie, including the interactive functionality, is presented as an Advanced Content application, which is executed and rendered by the HDi runtime. The advanced content application consists of theplaylist files (.xpl
),subtitle s (.xas
), markup files (.xmu
) and scripts (.js
) in addition to the actual video, in a defined directory structure. The HDi runtime parses the markup and the scripts to execute the action. The playback of the video, along with its integration with the rest of the navigation system, is initiated from and controlled by script code.The HDi runtime is responsible for execution and final rendering of the movie playback and navigation application. The markup is parsed into a
Document Object Model , which allows ECMAScript code to control and modify the UI layout during execution. By dynamically altering the layout of UI widgets is how animations and interactivity is achieved. The DOM and associated APIs is used to enable other scenarios such as pausing playback and replacing it with the navigation UI, or seeking to a certain area in the movie (used for either manual seek or seeking to bookmarks). For the rendering stack, it presents six "planes" (which are containers for graphics) that are layered in front of each other. The final image displayed is the composition of the images from the individual planes. The composition of the planes into the final image is handled by the HDi runtime. These rendering layers, from back to front, are:
#Background plane: The background plane defines the background color for the application.
#Main video plane: When Main video is visible, it is displayed on this plane.
#Sub video plane: When Secondary video (such as picture-in-picture) is playing, it is displayed on this plane.
#Subtitles graphics plane: All subtitles (both standard and advanced) and are rendered on this plane.
#Application graphics plane: The UI rendered by the script and markup is displayed on this plane.
#Cursor plane: The cursor, if visible, is displayed on this plane.Microsoft does not provide design tools for development of HDi applications, though third parties have made such tools available. Because the components used by Advanced Content (and HDi) -
XML ,XSL-FO ,XPath ,ECMAScript - are widely used, any development tool supporting these can be used to develop HDi applications. However, Microsoft has made an HDi simulator available as a free download, as a part of the HD DVD Interactivity Jumpstart Kit, to let users author and debug HDi content on computers runningWindows XP , although this is not intended as a full authoring tool nor a playback device.HDi is not inherently limited to being used on optical media; it can be used on media delivered or streamed over the
Internet or any other network. In fact, on October 4th 2007, Toshiba and Microsoft announced the creation of theAdvanced Interactivity Consortium (AIC) to "extend and promote interactive experiences beyond optical media to new platforms."cite web|url=http://www.microsoft.com/presspass/press/2007/oct07/10-04MSToshibaAICPR.mspx|title=Toshiba and Microsoft Announce Plans to Form Advanced Interactivity Consortium]References
*cite web | url = http://www.microsoft.com/downloads/details.aspx?familyid=f8ada3f5-0ec6-4392-84ab-cb4860db30ed&displaylang=en | title = HD-DVD Jumpstart Kit | publisher = Microsoft | accessdate = 2007-12-04
External links
* [http://www.microsoft.com/presspass/press/2007/Sep07/09-20HDiTrademarkPR.mspx HDi trademark press release]
* [http://thisishddvd.com/hdi.aspx HDi page on Microsoft's 'This is HD DVD" site]
* [http://www.thisishddvd.com/hddvdauthoring.aspx HDi Simulator download and other utilities from Microsoft]
* [http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=527&SiteID=1 MSDN HD DVD Authoring Forum]
* [http://blogs.msdn.com/ptorr/ MSFT Peter Torr's HDi Blog]
* [http://blogs.msdn.com/amyd/ MSFT Amy Dullard's Application Development for HD DVD Blog]
* [http://console.hardocp.com/article.html?art=MTI3MCwxLCxoY29uc29sZQ= Xbox 360 HD-DVD Developer Interview]
* [http://www.dvd1one.net/ NetBlender's DoStudio a HDi Development Tool]
* [http://www.duplicatorguide.com/index.php?option=com_content&task=view&id=270&Itemid=2 HP Pressures Blu-Ray Camp]
* [http://hddvd.highdefdigest.com/feature_microsofthddvdinterview.html Microsoft's Amir Majidimehr describes the genesis of HDi (and other things)]
* [http://www.hometheaterblog.com/hometheater/2006/09/interview_hddvd_1.html Interview: Microsoft’s Kevin Collins on HD DVD]
Wikimedia Foundation. 2010.