The present invention relates to the presentation of multimedia content, and more particularly to the presentation of locally stored media content combined with remote interactively-obtained network media content.
In marketing, many things have been long recognized as aiding success, such as increasing customer satisfaction through such devices as providing personalized service, fast service, access to related or updated information, etc. Traditional marketing has made use such things as notice of promotional offers for related products such as providing coupons, etc. Additionally, some studies have shown that simple repeated brand exposure, such as by advertisement, increases recognition and sales.
One of the largest marketing industries today is the entertainment industry and related industries. To date, digital versatile disks (DVDs) are poised to encompass consumer sales of home entertainment, business and home computer industry, and business information market with a single digital format, eventually replacing audio CDs, videotapes, laserdiscs, CD-ROMs, and video game cartridges. To this end, DVD has widespread support from all major electronics companies, all major computer hardware companies, and all major movie and music studios.
Currently, the fastest growing marketing and informational access avenue is the Internet. The share of households with Internet access in the U.S. soared by 58% in two years, rising from 26.2% in December 1998 to 41.5% in August 2000 (Source: Falling Through the Net: Toward Digital Inclusion@ by the National Telecommunications and Information Administration, October 2000).
Some initial efforts have been made to integrate the success of optical disks, such as the DVD, with the speed and accessibility of the Internet. Programs such as music players currently are able to access the internet to obtain artist information, order music, etc. for inserted disks. However, in the DVD-video arena, little has been done to utilize the vast power for up-to-date, new, and promotional information accessibility to further the aims of improving marketability and customer satisfaction.
Accordingly, it is evident that improvements are possible in the way that entertainment, computing, and academic disks have been supported.
The present invention advantageously addresses the needs mentioned previously as well as other needs by providing an application programming interface that facilitates the access and use of related or updated web content to provide augmented or improved content with playback of DVD content.
In one embodiment, the invention can be characterized as an integrated system for combining web content and disk content comprising: a display; a computing device operably coupled to a removable media, a network and the display, the computing device at least once accessing data on the network, the computing device comprising: a storage device, a browser having a presentation engine displaying content on the display, an application programming interface residing in the storage device, a decoder at least occasionally processing content received from the removable media and producing media content substantially suitable for display on the display, and a navigator coupled to the decoder and the application programming interface, the navigator facilitating user or network-originated control of the playback of the removable media, the computing device receiving network content from the network and combining the network content with the media content, the presentation engine displaying the combined network content and media content on the display.
In another embodiment, the invention can be characterized as a method comprising: a) receiving a removable media; b) checking if said removable media supports media source integration; c) checking if said removable media source is a DVD responsive to said removable media supporting source integration; d) checking whether said device is in a movie mode or a system mode responsive to said removable media being a DVD; e) launching standard playback and thereafter returning to said step (a) responsive to said device being in said movie mode; f) checking if said device has a default player mode of source integration when said device is in said system mode; g) launching standard playback and thereafter returning to said step (a) responsive to said device not having a default player mode of source integration; h) checking if said removable media contains a device-specific executable program when said device having a default player mode of source integration; i) executing said device-specific executable program when said device has said device-specific executable program and thereafter returning to said step (a); j) checking whether said device has a connection to a remote media source; k) launching a default file from said removable media when said device does not have a remote media source connection and thereafter returning to said step (a); l) checking whether said remote media source has content relevant to said removable media; m) displaying said relevant content when said relevant content exists and thereafter returning to said step (a); n) otherwise launching a default file from said removable media and thereafter returning to said step (a); o) returning to said step (f).
The following non-patent documents are hereby incorporated by reference as if set forth in their entirety: InterActual API Design Guidelines for Consumer Electronics Manufacturers; InterActual Application programming interface (API) Specification (also called InterActual API Specification).
An application programming interface (API) of the present embodiment is based on a scripting model, leveraging, e.g., industry standard HTML and JavaScript standards for integrating locally stored media content and remote interactively-obtained network media content, e.g., video content on a web page. The application programming interface (API) enables embedding, e.g., video content in web pages and can display the video in full screen or sub window format. Commands can be executed to control the playback, search, and overall navigation through the embedded content.
Additionally, the application programming interface can be queried and/or set by the use of properties. Effects may be applied to playback. Video sequences have an associated time element during playback, and events are triggered to provide notification of various playback conditions, such as time changes, title changes, and user operation (UOP) changes. Events can be used for use in scripting and synchronizing video with HTML or read only memory (ROM)-based content.
A goal of the application programming interface (API) is to enable content developers to create products that seamlessly combine, e.g., the Internet with content from other digital versatile disk-read only memory (DVD-ROM), digital versatile disk-audio (DVD-Audio), and compact disc-audio (CD-Audio). Hereinafter, by the use of DVD-Video, it is to be understood that all three of these disk/disc media are included. The combination of the Internet with DVD-Video creates a richer, more interactive, and personalized entertainment experience for users.
Further, the application programming interface (API) provides a common programming interface allowing playback of this combined content on multiple playback platforms simultaneously. While the application programming interface (API) allows customized content and functions tailored for specific platforms, the primary benefit of the application programming interface (API) is that content developers can create content once for multi-platform playback, without the need of becoming an expert programmer on specific platforms, such as Windows, Macintosh, and other platforms. The document InterActual Usage Guide for Developers (hereby incorporated by reference) describes this in more detail for DVD content developers.
Internet connectivity is not a requirement for the use of the application programming interface (API). Stand-alone systems with web browser functionality are all that is required. In addition, compact disc-digital audio (CD-DA) can also be enhanced by use of the application programming interface (API). This is also described in the document InterActual Usage Guide for Developers (hereby incorporated by reference).
Personal video recorders (PVRs), such as the TiVo, RePlay, and digital versatile disk-recordable (DVD-R) devices, enable the ability to purchase video or audio products by downloading them from a satellite or other high-bandwidth system when implemented with the present invention. When so downloaded, the video or audio can be stored to a local disk system or burned onto a DVD-R.
The application programming interface (API) provides a basic set of guidelines for the production of internet-connected DVDs and for the playback of these enhanced DVDs on a range of computer, set-top platforms, and players. Based on the industry standard publishing format hypertext markup language (HTML) and JavaScript, the application programming interface (API) provides a way to easily combine DVD-Video, DVD-Audio, and CD-Audio with and within HTML pages, whereby HTML pages can control the media's playback. The application programming interface (API) provides a foundation for bringing content developers, consumer electronics manufacturers, browser manufacturers, and semiconductor manufacturers together to provide common development and playback platforms for enhanced DVD content.
Regarding
Shown are a display device (102), a local content source (104), and an offsite content source (106).
The display device (102) is coupled to the local content source (104) as shown by a bi-directional arrow. The display device (102) is coupled to the offsite content source (106) as shown by a bidirectional arrow.
In operation, the display device (102) displays video and/or hypertext markup language (HTML) documents to a user. In an alternative embodiment, the display device (102) can be audio only. Display device (102) can be any device capable of displaying an external video feed or playing an external audio feed such as, but not limited to, a computer, a set top box, gaming platforms, or a player. The display device (102) receives content for display from either the local content source (104) or the offsite content source (106). The local content source (104), in one embodiment, can be any device capable of playing any media disk including, but not limited to, digital versatile disks (DVDs), digital versatile disk read only memories (DVD-ROMs), compact discs (CDs), compact disc-digital audios (CD-DAs), optical digital versatile disks (optical DVDs), laser disks, DATAPLAY™, streaming media, PVM (Power to Communicate), etc. The offsite content source (106), in one embodiment, can be any device capable of supplying web content or HTML-encoded content such as, but not limited to, a network-connected server or any source on the Internet.
Shown are a local content source (104), an offsite content source (106), a computer (202), a microprocessor (204), and a memory (206).
The local content source (104) is coupled to the computer (202). The offsite content source (106) is coupled to the computer (202). The computer (202) includes the microprocessor (204) and the memory (206).
In operation, computer (202) is any computer able to play/display both video or audio provided by the local content source (104) and/or web or HTML content as provided by the offsite content source (106). Additionally, computer (202) can display both video and web/HTML content synchronously according to one embodiment of the present invention. Microprocessor (204) and memory (206) are used by computer (202) in executing software of the present invention.
Shown are a local content source (104), an offsite content source (106), a set-top box (302), a microprocessor (304), a memory (306), and a television (308).
In operation, set-top box (302) enables selection between video or audio provided by the local content source (104) and web or HTML content as provided by the offsite content source (106). The set-top box (302) provides selected content to television (308) for display. Additionally, set-top box (302) can combine both video and web/HTML content synchronously according to one embodiment of the present invention and provide the same to television (308) for display. Microprocessor (304) and memory (306) are used by computer (202) in executing software of the present invention.
Referring to
Shown are a hardware platform (402), an embedded web browser (410), and a media subsystem (420).
The hardware platform (402) executes both the embedded web browser (410) and the media subsystem (420). The embedded web browser (410) is coupled to the media subsystem (424). The media subsystem (420) is a superset of media services including DVD navigator for DVD disc. The media services is discussed in greater detail in relation to
In operation, the hardware platform (402) has microprocessor or other processing circuitry (as shown in
The application programming interface (API) provides a common programming interface for hypertext markup language (HTML) and ECMAScript (a standardized script based on JavaScript and the like) for ensuring playback of enhanced content on multiple playback platforms. Internet connectivity is not required for the use of the application programming interface (API) when content originates from disk ROM.
The application programming interface (API) facilitates the playback of audio and/or video embedded within a web page. The application programming interface (API) can play back full-screen video or video within a web page window (sub window). Audio and/or video is embedded within a HTML-encoded page by use of an appropriate tag such as, but not limited to, the object tag (for the Microsoft Windows operating system) and the embed tag (for the Apple Macintosh Liberate operating system).
Optionally, on players that support the ATVEF standard, the object could be referenced in the following manner:
<object data=“tv:” height=x width=x>
After the DVD-Video object is embedded in the web page, it can be accessed using any style sheet, link, or scripting language. Values for the ID string must begin with a letter (A-Z or a-z) and may be followed by any number of letters, digits, hyphens, and periods up to a maximum of 48.
Unlike computers, set-top boxes do not generally have a full-featured operating system and browser. Therefore, the capabilities within the browser are often more restricted. For embedding DVD-Video within these platforms using the application programming interface (API), the “InterActual” indentifier (ID) must be integrated within the embedded browser as any other tag structure. The ID allows the API to be associated with the HTML object. With this approach, any embedded browser that encounters the “InterActual” tag would automatically associate this identifier with the application programming interface (API).
The embedding of the video object assumes a certain level of W window handling:
The application programming interface (API) provides interaction with hardware platform (402) by means of commands (or methods), properties, and events. Commands (also called methods) are executed to control the playback of, search of, and navigation through video and/or audio content. The environment can be queried to ascertain the status of various properties. Events are triggered by the occurrence of various operating or playback conditions and serve to provide notification of these playback conditions. Events are essential for scripting and the simultaneous presentation of the media content (audio and/or video) with other web assets (such as text, graphics, etc.). Thus, properties are passive (provided in response to queries) and events are active (provided without queries).
Commands
Commands such as InterActual.PlayTitle, allows the HTML content to control playback of the media. Commands are parsed by the browser presentation engine (described later in greater detail in reference to
Properties
Properties allow the HTML content to query for state information of the DVD navigator. An example includes InterActual.TitleNumber. Properties are parsed by the presentation engine and passed thereafter to the DVD navigator. In response, the DVD navigator interprets the query and returns the requested information.
Events
Events allow the HTML content to receive state information from the DVD navigator. An example of an event notification would be InterActual.TitleEvent. Events are propagated from the DVD navigator to the browser presentation engine whenever the requested state changers. The HTML content can subscribe to events using any of the event handlers as described in the application programming interface (API) specification.
Shown are a display device (502), a screen (504), a content area (505), and a sub window (508).
The display device (502) contains the screen (504) able to display graphics and text. The content area (506) contains the sub window (508) (also referred to as a video window or alternate frame).
An important aspect of this embodiment is that audio and/or video can be integrated with other content such as text and/or graphics described in web compatible format (although the source need not be the Internet, but can be any source such as a disk or server able to deliver this content).
As an example, the sub window (508) displays movie content, such as the movie T2, and the content area (506) displays text and/or graphics (provided by HTML coding) which is topically related to the part of the movie playing in the sub window (508). When the user/viewer interacts with the content in the content area (506), such as by clicking on a displayed button, effects will be reflected in the media sub window (508). As an example, clicking on buttons or hypertext links indicating sections or particular points in the movie results in the video playback jumping to the selected point. Additionally, the media displayed in sub window (508) can result in changes in the content area (506). As an example, progression of the movie to a new scene results in a new text display giving information about the scene.
Concurrent Browsing and Video Playback
A primary feature of the application programming interface (API) is the ability to view HTML pages while playing video and/or audio content. The concurrent playback of browser and video places additional requirements on the processing power and memory of the underlying hardware. Each DVD semiconductor solution should be designed to perform both of these functions simultaneously. A required feature of the application programming interface (API) is the ability to display downscaled video within a frame of a web page. Additionally, video upscale is another feature of an embodiment as HTML content is already being designed with the assumption that this capability will be available in future devices.
Storyboard with Scrolling Display
As example of one embodiment is a movie authored with the entire screenplay provided on the DVD disk in HTML format. When a viewer clicks on any screen visually represented in HTML, the system links the viewer to that scene (by use of the command InterActual.SearchTime to go to the specific location within a title) within the DVD-Video. Besides being capable of a finer granularity than the normal chapter navigation provided on DVD-Video, the HTML-based script can contain other media such as a picture (by use of the command “InterActual.Displaylmage”) or special audio (by use of the command “InterActual.SelectAudio”) and/or live links for other information. Further, the text of the screenplay in HTML could automatically A scroll@ with the DVD-Video to give the appearance of being synchronized with the DVD-Video. Although many of these types of features can be authored in DVD-Video (except, of course, live web links and synchronized scrolling), HTML authoring is much more efficient, immediate, and widely known.
Shown are a DVD device (602), an embedded web browser (410), a presentation engine (612), a web browser application programming interface for media services (614), DVD hardware (620), a DVD navigator (622), a media services (628), a DVD decoder (626), and an internet (630).
The DVD device (602) includes both the embedded web browser (410) and the DVD hardware (620). The embedded web browser (410) includes the presentation engine (612). The embedded web browser (410) is coupled to the web browser application programming interface for media services (614) which, in turn, is coupled to the DVD hardware (620). The DVD hardware (620) includes the DVD navigator (622) and the DVD decoder (626). The DVD navigator (622) includes the media services (628). The media services (628) is coupled to the DVD decoder (626). The DVD device (602) is coupled to the internet (630). The media services (628) corresponds to the media subsystem (628) but has a more specific implementation. The media subsystem (628) is a superset of the media services (628) and includes DVD navigator for DVD disc.
With the DVD device (602), the user is able to interact with an enhanced DVD on a television in the same fashion as can be experienced on a computer. The display area of a television can show video and HTML content concurrently. This is accomplished by the embedded web browser (410) in the DVD player. As discussed herein in reference to
The embedded web browser (410) is responsible for displaying the HTML content authored on InterActual-compatible disks, stored locally on device (602), or served from a remote server location. The embedded web browser (410) also supports concurrent playback of video and audio while presenting the HTML page.
Presentation Engine
The presentation engine (612) of the browser must provide for the embedding of video within web pages. Embedding video within web pages defines the location where the video is played. This location information is then parsed by the presentation engine and passed to the underlying video rendering engine.
The presentation engine (612) of the embedded web browser (410) parses the HTML instructions for controlling the media playback, generates any graphic portions of the display, positions a video window when it exists, and also interfaces directly with the underlying DVD Navigator. InterActual-specific instructions are interpreted by the presentation engine (612) and passed to a DVD abstraction layer, which can be part of the embedded browser or developed by the DVD navigator manufacturer. This layer serves as an abstraction that makes it possible to map the browser into a DVD player-specific DVD navigator developed either by the semiconductor manufacturer or the player manufacturer. Of course, the DVD Navigator interfaces with the underlying video and audio decoders.
DVD Navigator Abstraction Layer
The web browser application programming interface for media services (614) (or DVD navigator abstraction layer (614)) is a very thin interface layer between the presentation engine (612) and the media services (628).
The DVD Navigator abstraction layer (614) may be developed by the player manufacturer or the semiconductor manufacturer. To support a flexible and portable solution, the DVD navigator abstraction layer (614) is recommended to reside in between the browser (410) and the DVD navigator (622). Abstracting the communication between the browser (410) and navigator (622) offers a more robust and portable design, so that either the browser or the navigator can be changed in future player designs.
The DVD navigator (622) controls the decoding and playback of media in the drive.
The media services (628) serves as a middleware layer between web browser application programming interface for media services (614) and the DVD navigator (622). The media services (628) facilitates content running in the embedded web browser (410) to control the DVD navigator (622). The media services (628) allows the DVD navigator (622) to work with any web browser compliant with the present embodiment.
The DVD decoder (626) interfaces between the DVD media interface hardware contained in the DVD hardware (620) and the DVD navigator (622).
The Internet (630) is shown as a specific example of the offsite content source (106) shown in
Referring to
Shown are an embedded web browser (410), a command handler (with command API) (702), a properties handler (with properties API) (704), an event generator (with event API) (706), a cookie manager (with cookie API) (708), an identifier engine (710), an initialization module (712), a navigator state module (714), a bookmark manager (716), a system resources (720), a system timer (722), a system monitor (724), a system initialization (726) a DVD/CD navigator (422), a user remote control (730), a front panel display module (732), a CD decoder (734), a DVD decoder (426), an I/O controller (736), a disk (738), a HTML/JavaScript content (740), and an InterActual API (742).
The embedded web browser (410) is coupled to the command handler (which has an associated command API) (702) as shown by a bidirectional arrow. The embedded web browser (410) is coupled separately to the properties handler (which has an associated properties API) (704), the event generator (which has an associated event API) (706), and the cookie manager (which has an associated cookie API) (708), all three connections shown by an arrow pointing towards the embedded web browser (410).
The command handler (702) is coupled to the bookmark manager (716) shown by a bi-directional arrow. The command handler (702) is coupled to the DVD/CD navigator (422) shown by a bidirectional arrow. The command handler (702) is coupled to the navigator state module (714) shown by a bi-directional arrow. The command handler (702) is coupled to the system resources (720) by an arrow pointing to the system resources (720).
The properties handler (704) is coupled separately to the bookmark manager (716) and the identifier engine (710), both shown by an arrow pointing to the properties handler (704). The properties handler (704) is coupled the event generator (706) by a bi-directional arrow.
The event generator (706) is coupled to the navigator state module (714) shown by a bi-directional arrow. The event generator (706) is coupled to the system timer (722) shown by an arrow pointing to the event generator (706). The event generator (706) is coupled to the cookie manager (708) by an arrow pointing to the cookie manager (708).
The cookie manager (708) is coupled to the identifier engine (710) shown by a bi-directional arrow.
The identifier engine (710) is coupled to the I/O controller (736) by an arrow pointing towards the identifier engine (710) and to the navigator state module (714) by a bi-directional arrow.
The initialization module (712) is coupled to the system initialization (726) by an arrow pointing towards the initialization module (712). The initialization module (712) is coupled to the navigator state module (714) by an arrow pointing to the navigator state module (714).
The navigator state module (714) is also coupled separately to the bookmark manager (716) and the DVD/CD navigator (422) by bi-directional arrows.
The DVD/CD navigator (422) is coupled to the user remote control (730) by an arrow pointing to the DVD/CD navigator (422). The DVD/CD navigator (422) is coupled to the front panel display module (732) by an arrow pointing to the front panel display module (732). The DVD/CD navigator (422) is coupled to the DVD decoder (426) by a bi-directional arrow.
The I/O controller (736) is coupled separately to both the DVD decoder (426) and the CD decoder (734) by arrows pointing away from the I/O controller (736). The I/O controller (736) is coupled to the disk (738) by an arrow pointing to the disk (738).
The disk (738) is coupled to the HTML/JavaScript content (740) by an arrow pointing to the HTML/JavaScript content (740).
The HTML/JavaScript content (740) is coupled to the Application programming interface (API) (742) by an arrow pointing to the Application programming interface (API) (742).
In operation, the embedded web browser (410) receives HTML/JavaScript content from disk (738) which is displayed by presentation engine (612). The embedded web browser (410) originates commands (as a result of user interaction which can be via the remote in set-top systems, the keyboard or mouse in computing systems, the game interface in gaming systems, etc.), which are sent to the command handler (702) by way of the command API. The embedded web browser (410) also receives commands from the command handler (702) by way of the command API. An example of such a command is InterActual.FullScreen(w). The embedded web browser (410) also receives cookies from the cookie manager (708) via the cookie API, generally in response to the accessing of an Internet website. The embedded web browser (410) also receives events (notifications) each of which is a notification that a respective defined event (generally related to media playback) has occurred. These events are generated by the event generator (706) and sent via the event API. The embedded web browser (410) also queries properties from the properties handler (704) via the properties API. Properties are received in response to inquiries generated by the embedded web browser (410).
The command handler (702) controls the DVD/CD navigator (422) including starting and stopping playback, changing audio streams, and displaying sub-pictures from JavaScript, among many things. The command handler (702) provides live web content for non-InterActive disks when an active Internet connection is present through such commands as InterActual.NetConnect( ) and InterActual.NetDisconnect( ). The command handler (702) commands the bookmark manager (716) through such commands as InterActual.GotoBookmark( ) and InterActual.SaveBookmark( ). The command handler (702) also interacts with the navigator state module (714) generally regarding user interaction. The Navigator state module (714) keeps the current state of the system and receives it directly from the decoder (or maps directly into it). When the bookmark manager (716) is going to save a bookmark and needs to know the current title, the bookmark manager (716) receives it from the navigator state module (714) and places it in a bookmark and returns it to the command handler to allow it to provide a return value to the InterActual.SaveBookmark command.
The properties handler (704) provides the embedded web browser (410) with the ability to interrogate the navigator state module (714) for the DVD/CD navigator (422) state which includes the properties (also referred to as attributes) of the elapsed time of the current title, the disk type, and the disk region, among others. The properties handler (704) maintains knowledge of system attributes. The Event Generator monitors these attributes and triggers and event when one is changed.
The event generator (706) provides notification to the DVD/CD navigator (422) of events such as a change of title or chapter with web content (based on DVD time codes and the system time from the system timer (722)). The event generator (706) notifies the properties handler (704) of event triggerings which are of interest to the properties handler (704). The event generator (706) also provides events to the cookie manager (708) such as relate to the accessing of web pages, disk insertion, and disk ejection events.
The cookie manager (708) interacts with the identifier engine (710) to provide the ability to save information regarding the disk, platform, current user, and the application programming interface (API) version in local storage.
The identifier engine (710) provides the ability to generate a unique identifier for the media which enables the DVD ROM content (HTML and JavaScript from the disk) to carry out platform validation to ensure a certified device is present. The identifier engine (710) provides the ability to serialize each disk by reading and processing the information coded in the burst code area (BCA) of the disk. The BCA is read by the identifier engine (710) and stored in the navigator state module (714). Hence commands such as InterActual.GetBCAField( ) can get the BCA information from the navigator state module (714) after insertion of a disc. This BCA information provides the ability to uniquely identify each disk by serial number. Conditional access to content, usage tracking, and other marketing techniques are implemented thereby. The identifier engine (710) gets the BCA information for the serial identifier (SerialID), hashes the video .IFO file to identify the title (called the MediaID), and then reads the ROM information to establish a data identifier (DataID) for the HTML/JavaScript data on the disc. The identifier engine (710) provides this information to the navigator state module (714) which stores this information and provides it to whichever of the command handler (702), properties handler (704), or event generator (706) needs it. The identifier engine (710) interacts with the navigator state module. The identifier engine (710) receives the BCA information (read differently than files) from the I/O controller (736). The identifier engine (710) interacts with the cookie manager (708) to place disc related information read from the BCA as discussed previously herein into the InterActual System cookie.
The initialization module (712) provides the ability to establish the DVD/CD navigator environment. The initialization module (712) allows the internal states and the State Modules (i.e. the navigator state module (714)) to be initialized. This initialization also includes reading the current disc in the drive and initializing a system cookie. It is noted that the embedded web browser (410) interfaces which allow registering a callback for the event handler are established at power-up as well.
The navigator state module (714) provides the ability to coordinate user interaction and DVD behavior with front panel controls and/or a remote control. In one embodiment, arbitration of control happens in the navigator (422) itself between the remote and front panel controls. DVD/CD navigator (722) playback is initiated by the navigator state module (714) in response to input from the initialization module (712). The navigator state module (714) receives locations of book marked points in the video playback from the bookmark manager (716) and controls the DVD/CD navigator (422) accordingly.
The bookmark manager (716) provides the ability for the JavaScript content to mark spots in video playback, and to return later to the same spot along with the saved parameters which include angle, sub-picture, audio language, and so forth. The bookmark manager (716) provides the ability to use video bookmarks in conjunction with web bookmarks. As an example, a video bookmark is set, a web session is launched going to a preset web book marked source to retrieve video-related information, then later a return to the video at the book marked spot occurs.
The system timer (722) provides time stamps to the event generator (706) for use in determining events for synchronization or controlled playback.
The system monitor (724) interacts with the properties handler (704). In one embodiment, the system generates a 900 millisecond timer tick as an event which the HTML/JavaScript uses in updating the appropriate time displays as is needed. For systems that do not have a DVD Navigator that creates events the timer is used to poll the property values every 900 milliseconds and compares the poll results with a previous result. If the result changes then an event is generated to the HTML/JavaScript.
The system initialization (726) provides initialization control whenever the system is turned on or reset.
The DVD decoder (427) generally receives the media stream from the I/O controller (736) and decodes the media stream into video and audio signals for output. The DVD decoder (426) receives control from DVD/CD navigator (422).
The CD-DA decoder (734) receives a media stream from I/O controller (736) and decodes it into audio which it provides as output.
The I/O controller (736) interfaces with disk (738) and controls its physical movement, playback, and provides the raw output to the appropriate decoder. The I/O controller (736) also provides disk state information to identifier engine (710).
The disk (738) can be any media disk such as, but not limited to, DVD-ROM, DVD-Audio, DVD-Video, CD-ROM, CD-Audio.
Referring to
Shown are a disk (802), a /ROOT directory (804), a /COMMON directory (806), a /MAC directory (808), a/WIN directory (810), a/NUON directory (812), and a/SONY directory (814).
The disk (802) includes each of the directories listed: the /ROOT directory (804), the /COMMON directory (806), the /MAC directory (808), the /WIN directory (810), the /NUON directory (812), and the /SONY directory (814).
In one embodiment, the application programming interface (API) uses the file structure depicted in
The directory structure allows for proprietary executable binary files for each platform. The platform-specific directory structure and its associated set of binaries enable any platform to run executables specifically designed for that platform. This capability, in essence, allows the platform-specific binaries to override the general purpose content, or override the standard browser mechanism. While actual ROM content may reside in a platform directory, in one embodiment, all ROM content resides in the /COMMON directory (806) when possible. The /COMMON directory (806) can support any number of subdirectories including platform-specific directories.
The /COMMON directory (806) and platform-specific directories are standardized, however, each platform developer is free to create their own subdirectory structure under their reserved platform-specific directory. As example, Sony may create PS2 and PS3 subdirectories under the /SONY directory (814).
The /COMMON directory (806) stores the actual ROM content (as opposed to platform-specific binaries). It is recommended that all ROM content, including platform-specific ROM content, reside in this directory as this facilitates an intuitive content development approach and provides an easy way for JavaScript to be used to detect platforms and render the appropriate HTML pages tailored to specific platforms when required.
Even if platform-specific binaries are included on the disk, the general purpose content can still be called. In one embodiment, a DVD utilizes the directory structure by placing the Windows version of software in the /WIN directory, the Macintosh version of PCFriendly in the /MAC directory (808), and so forth. Upon insertion of the disk, whichever platform the disk has been inserted into will execute the appropriate binaries (found in that platform's directory and autorun), and these binaries thereafter load the INDEX.HTM file located in the /COMMON directory (806), which is the starting point for any general-purpose InterActual-compatible disk. The meta-data tag in the head section of the INDEX.HTM file, in one embodiment, contains the Application programming interface (API) version information. The INDEX.HTM file serves as a background container web page during standard playback that allows JavaScript event handlers to be loaded and activated to handle button events during playback. JavaScript can be used to detect platforms and render the appropriate HTML pages customized for those platforms.
The specifications for DVD-video and DVD-audio require that each disk contain specific directories and files. As example, DVD-video files are contained in a directory named VIDEO_TS and DVD-audio files are contained in a directory named AUDIO_TS. There is no such requirement for DVD-ROM, so developers can arrange files in any desired manner.
Files stored for use with InterActual-compatible disks can be in any DVD disc directory. In the case where no platform-specific executable file exists, there must be a method which allows the browser and/or playback engine to identify the initial HTML file.
During disk creation, DVD-video zone files must be placed physically at the beginning of the disk, contiguously, in the order specified by the DVD-video specification. Likewise, DVD-audio zone files must follow the DVD-video files in contiguous order.
In one embodiment, the VIDEO_TS and AUDIO_TS directories are the first entries in the directory descriptor. In one embodiment, the ROM zone files are placed in subdirectories rather than the /ROOT directory.
The placement of files on a dual-layer disk (DVD-9, DVD-14, or DVD-18) is generally independent of the layer details. DVD-video and DVD-audio files must begin on layer 0. ROM zone files are placed at the end, beginning on whichever layer the DVD-video (or DVD-audio) files end on, and can cross the layer boundary if needed.
DVD authoring systems and tools support different naming capabilities such as UDF, ISO-9660, ISO-9660 with Joliet extensions, Macintosh file names, Macintosh resources, hybrid disks, etc. Some authoring systems force a certain character capitalization (such as all capitals).
The disk insertion flow of
The first phase is InterActual disk detection where the disk is checked to determine if it has InterActual content. This is done by seeking the INDEX.HTM file in the /COMMON directory on the disk. If the INDEX.HTM file exists, then the DVD is compatible with the present embodiment, otherwise, it is not.
The second phase is disk type detection where the disk is checked to determine if it is a DVD-Video, DVD-Audio, or CD-DA disk.
The third phase is player mode detection where the device is checked to determine the default playback mode for the system. This is done by reading the player mode by the properties query InterActual.PlayerMode. When the device is configured for play mode, content in accordance with the present embodiment, in one embodiment, is bypassed.
If the default playback mode for the device is “InterActual” mode, then content in accordance with the present embodiment is launched beginning with /COMMON/INDEX.HTM. The content itself can be updated dynamically if there is an active Internet connection. When there is no active Internet connection, the device will render the content from the disk ROM.
For disks not in accordance with the present embodiment in players with a default playback mode of “InterActual,” the default content homepage (CONNECT.HTM) is rendered and an Internet connection is attempted to potentially provide web content.
The fourth phase is platform-specific file detection where directories on the disk are checked to determine if any platform-specific files are located. This is done by searching for the appropriate file structures for the device.
The fifth phase is internet connection determination where the device is checked to see whether an Internet connection is active or possible. The system can access and updated content files for the current title of disks in accordance with the present embodiment. For non-enhanced titles, the system will look online to see if there is any content available for the current title. If there is such content, the system can offer the same interactive experience as a title in accordance with the present embodiment affords.
When the device is in player mode play, a disk in accordance with the present embodiment can display a logo to signify that there is content in accordance with the prtesent embodiment available from the disk ROM.
Referring to
Algorithm 900 begins when a user inserts a media disk into a device at “insert disk” block (902) and determines if the inserted disk is a DVD or music CD in accordance with the present embodiment block (904).
When the determination (block 904) is that the inserted disk is not a disk in accordance with the present embodiment, the algorithm (900) continues through connector A (906) to the corresponding connector A in
When the determination (block 904) is that the inserted disk is a disk in accordance with the present embodiment, the determination is next made whether the disk is a DVD (block 908).
If the result of the determination of block 908 is that the disk is a DVD, a check is made whether the author mode is movie mode or system mode (block 910). If the author mode is movie mode, standard DVD playback is initiated (block 914). If the author mode is system mode, the determination is made whether the default player mode is “InterActual” (block 912). If it is not, the algorithm (900) launches standard DVD playback (block 914). If it is, the determination is made whether platform specific binaries exist for the current platform (block 916), and if so, platform specific binaries are launched (block 918). If no platform-specific binaries are found, the determination is made whether there is an active Internet connection (block 920), and if not, the file INDEX.HTM is launched from the DVD (block 922). If there is an active Internet connection, a check is made for web content for the current title (block 924), and if there is content for the current title it is displayed (block 926).
If the result of the decision at block 908 is that the disk is not a DVD, the determination is next made whether the default player mode is “InterActual” (block 930) and if not, CD standard playback is launched (block 932). If the default player mode is “InterActual,” a check is made for any platform-specific binaries (block 934) and if any are present, the platform-specific binaries are launched (block 936). If there are no platform-specific binaries, a check is made whether there is an active Internet connection (block 938) and if not, INDEX.HTML is launched from the CD-ROM (block 940). If there is an active Internet connection, a check is made for web content for the current title, and if there is any, it is displayed (block 944). If there is no web content for the current title, INDEX.HTML is launched from the CD-ROM (block 940).
Identifying InterActual-Compatible Discs
A disc in accordance with the present embodiment is detected by checking for the existence of the /COMMON/INDEX.HTM file. The application programming interface (API) version information can be found in the meta-data area of the HTML file.
Referring to
Algorithm 900 continues from connector A (connector 906) in
If the disk is determined to not be a DVD (block 1004), a check is made whether the default player mode is “InterActual” (block 1010) and if it is not, standard playback is launched (block 1012). If the default player mode is “InterActual” (block 1010), DEFAULT.HTM is launched from memory (block 1014). After launching DEFAULT.HTM, a check is made whether an active Internet connection exists (block 1016) and if not, standard playback is launched (block 1018). If an active Internet connection exists, a check is made for online content for the current title (block 1020). If no online content is found for the current title, standard playback is initiated (block 1018). If online content for the current title is found, the online content found is displayed (block 1022).
Shown are a server (1102), an Internet (1104), an InterActive device (1106), and an InterActive device 2 (1108).
The server (1102) is coupled to the Internet (1104) shown by a bidirectional arrow. The Internet (1104) is coupled separately to both the interactive device (1106) and the interactive device 2 (1108) shown by bi-directional arrows.
DVDs can be used for multiple user synchronous use. Generally, this is done by having a prearranged time for an event (such information could be programmed on the disk or provided to users from online content accessed via the disk) at which time interested users connect to a prearranged website by use of the appropriate disk. The network site can control all connected devices by sending commands such as play, pause, fast forward, etc. By this manner, content resident on the disks as well as live web-originated content can be synchronously interwoven for any number of connected users simultaneously. With the server being coupled to the interactive devices the server can send commands to these devices for remotely controlling content stored on local interactive devices connected to a network system, such as the Internet. First, the interactive devices begin with the same interactive content, such as a DVD-Video disk. The interactive devices and a server are adapted to be connected to a network. In operation, information is transmitted from the server to the interactive devices that begin playback of the interactive content utilizing the network. Each interactive device receives the command at the same time and thus the commands and therefore the content are synchronized at start of playback. If the interactive devices support different commands such as a playing at a given time or only playing at a given chapter the server must utilize the supported features for the interactive device and send out only the supported commands to the interactive devices. This allows for the simultaneous playback of the event on each of the client apparatuses. Late synchronization can be achieved by a similar method by sending a command from the server to the interactive devices of the current time position the DVD-Video is playing. For those interactive devices that only support chapter commands the server must wait until the next chapter change to send the command to the interactive device to synchronize with the other interactive devices currently viewing the DVD-Video. Furthermore, This allows content such as DVD Video content to be locked so that play can only be accomplished through verification of interactive devices identity and also allows augmentation and supplementation of the content provided by the video from a remote server. Upon verification of a interactive device's credentials, the locally stored content can be supplemented with additional content delivered over the network system. This is achieved by using precise command sequences from the server to the interactive devices that unlock the local DVD-Video for example.
Network Controlled Synchronization
DVDs can be used for multiple user synchronous use. Generally, this is done by having a prearranged time for an event (such information could be programmed on the disk or provided to users from online content accessed via the disk) at which time interested users connect to a prearranged website by use of the appropriate disk. The network site can control all connected devices by sending commands such as play, pause, fast forward, etc. By this manner, content resident on the disks as well as live web-originated content can be synchronously interwoven for any number of connected users simultaneously.
Referring to
Shown are a “view button pressed” block (1202), a web view (1204), a content view (1206), an InterActual mode (1208), and a full-screen mode (1210).
A user has two views between which he or she can switch, one being from the world wide web (WWW) and the other being from the disk content. Users accessing a display device (102) by remote control has, in one embodiment, access to both views (or “worlds”) at any time through the “view” button. Additionally, in one embodiment, a graphics subsystem can support this by having two graphic “planes,” one for each view. By having a separate disk content view, the content owner can control the presentation of information (scripts, pictures, videos, etc.). This aids in merchandising of the content.
In the example of
The web view (1204) is the InterActual-compatible device's “home page.” This page is under the control of the device manufacturer. As an example, this page may contain the manufacturer's logo and/or system (device) specific information. Alternatively, this page may be determined by user-controlled settings of the device.
The content view (1206) is the content “home page” and resides at /COMMON/INDEX.HTM (on a disk) or as CONNECT.HTM in the device's memory (e.g. flash ROM). Depending on the player mode of the device, the content view (1206) can default to either “InterActual” mode (1208) or full-screen mode (1210).
When a disk contains “InterActual” content, the content authors can create it such that the user experience begins with the “InterActual” content. This is an option available to the disk authors at the time of authoring.
Referring to
Shown is a remote control (1300), having a back button (1302), a view button (1304), a home button (1306), an IA (InterActual) button (1308), a stop button (1310), a next button (1312), a prev button (1314), a play button (1316), an up button (1318), a left button (1320), a right button (1322), and a down button (1324).
The back button (1302) has different uses. In an Internet view, the back button (1302) goes back to the previously-visited web page. In a content (from disk) view, the back button (1302) goes back to the last web page or video/web page combination which was viewed.
The view button (1304) switches between a full-screen Internet (or web) view to a full-screen content (from disk) view.
The home button (1306) has different uses. In an Internet view, the home button (1306) goes to the device=s home page which, as example, could be the manufacturers page or a user-specified page if changed by the user. In a content (from disk) view, the home button (1306) goes to the content home page which, as example, could be INDEX.HTM from the disk ROM or CONNECT.HTM from the flash system memory.
The IA button (1308), or “InterActual” button, is a dedicated button which is discussed in greater detail under the subheading “context sensitive application” later herein in reference to
The playback buttons, stop (1310), next (1312), prev (previous) (1314), and play (1316), control the video whenever there is video being displayed (either in full-screen mode or in a window). If no video is being displayed, pressing of the play button (1316), in one embodiment, loads a special page VIDPLAY.HTM if it is present in the /COMMON directory of an inserted disk ROM. If the VIDPLAY.HTM file is not found, pressing of the play button (1316), in one embodiment, plays the DVD in full-screen video mode.
The navigation buttons, up (1318), left (1320), right (1322), and down (1324), in one embodiment, do not work for DVD navigation unless video is playing in full-screen mode. If video is playing in a window within a web page, these buttons enable navigation of the web page, especially useful for navigating to and selecting HTML hyperlinks. In this embodiment, the windowed video will be a selectable hyperlink as well. Selecting the video window (by an enter button not shown) causes it to change to full-screen video. In another embodiment, a mouse or other pointing device such as a trackball, hand glove, pen, or the like can be integrated with the system.
Context Sensitive Application
In one embodiment, use of a unique event and a special button on the remote control (1300), a specific section in the media can trigger a context-sensitive action. Events that are used for this purpose are context sensitive to the media content. As example, an event can trigger during a certain scene, upon which, in response to a user's selection of an object within the scene can display information relating to the selected object.
In one embodiment, when media content subscribes to a particular event for context sensitive interaction, which can be done on a chapter or time basis, the DVD navigator can optionally overlay transparently some place on the display alerting the user that context-sensitive interaction is available. Similar to when a network logo is transparently displayed at the bottom of a television screen, in one embodiment, an InterActual logo is displayed to signify there is more info available for the displayed scene, and so forth. This ability is implemented through the media services (420) and the graphical subsystem of the DVD navigator (622).
Regarding
Shown are a server 1402, an Internet 1404, a cookie 1406, and a computer 1408.
The server 1402 is coupled to the Internet 1404. The Internet (1404) is coupled to the computer (1408) with the cookie (1406) shown being communicated along the connection between the computer (1408) and the Internet (1404).
In operation, a user causes computer (1408) to access a web page resident on the server (1402) via the connections through the Internet. In so doing, the website containing the accessed web page causes the cookie (1406) to be sent to the computer (1408) and stored on a local storage drive for later reference by the storing website.
A cookie is information that a web site (server side program) puts on a client's computer or permanent storage so that information is retained from browsing session to browsing session (or later use in the same session). Typically, a cookie records user-specific information such as past user choices during interaction with the web site. Cookies are useful because the nature of the hypertext transfer protocol (HTTP) used by the World Wide Web (WWW) is that each web page request is completely independent of all other requests. Thus a cookie is a mechanism which allows a web site to retain access to past interaction history with particular clients.
The embedded browser supports two types of cookies, system cookies and general-purpose cookies. System cookies are predefined in both name and size as part of the Application programming interface (API). System cookies are automatically created and modified by the player hardware and embedded browser. General-purpose cookies are cookies that can be placed by web pages. Both system cookies and general-purpose cookies may be volatile or non-volatile (maintained even if storing system is powered off) depending on their specific function.
The following cookies are supported by the application programming interface (API):
Platform cookie, a non-volatile cookie of 32 bytes length that contains unique hardware information, including a hardware identifier for the device.
UserID cookie, a non-volatile cookie of 32 bytes length that contains unique user login information (useful for multi-user households).
An application programming language version cookie, a non-volatile cookie of 32 byte in length which maintains version information for the supported levels of the application programming interface (API).
Player Mode cookie, a non-volatile cookie of 32 bytes length which maintains the default player mode for the Application programming interface (API) playback, movie mode, or InterActual mode.
Disk cookie, a volatile cookie of 214 bytes length which contains currently inserted disk information including a unique ID generated by local hardware based on hashing algorithm provided by InterActual and (2) the id field from PCFreindly titles (based on the file DISC.ID) provided the disk is a PCFreindly (PCF) disk. This cookie is generated with null content when no disk is currently in the drive.
The application programming interface (API) also provides for a minimum of 100 general-purpose cookies that can be used by general web sites. Each of these cookies can be up to 200 bytes in size, therefore the minimum storage requirement for cookies is determined as follows:
4 reserved 32 byte system cookies=128 bytes
1 reserved 214 byte system cookie=214 bytes
100 general-purpose cookies of 200 bytes=20,000 bytes
Thus total cookie storage is a minimum of 20,342 bytes.
Referring to
Shown are a video (1504), a bookmark (1504), and a screen image (1506).
In operation, bookmark (1504) records the necessary information to return to the same point in the video playback of video (1502) by recording the title number, time position, chapter, angle, sub picture, and language.
Bookmarks maintain the state of player by storing general parameter registers (GPRMs) for a specific title. Video bookmarks mark where the video player state was last. For the application programming interface (API), one bookmark per title is required. In one embodiment, 32 bookmarks are recommended.
A bookmark has a minimum size of 10 bytes. There is at least one bookmark per disk. These bookmarks are managed in a queue such that creating a new bookmark for a specific disk (using the disk cookie) will overwrite the last bookmark in the queue for that disk provided the queue is full. If a new disk is encountered, the oldest bookmark of the set is overwritten. In one embodiment, a capacity of 32 bookmarks is required, which requires a minimum of 320 bytes of persistent storage.
A more detailed treatment of bookmarks and the bookmark queue is presented in Application programming interface (API) Specification@ (hereby incorporated by reference).
Bookmark structure is described in table 1.
Content Caching
In an embodiment, one megabyte (1 MB) of cached simultaneous content is recommended. In an embodiment, the cache size should be specified in the hypertext transfer protocol (HTTP) header sent between the player and attached servers. Larger local storage for caching web pages and the like can be used with the present invention.
Content Support
In one embodiment, the Application programming interface (API) content support for fully compatible InterActual-compliant devices is defined in the two areas of content format support and content type support as follows:
Content Format Support
Content format support, according to one embodiment of the present invention, includes hypertext transfer protocol (HTTP) version 1.0, hypertext markup language (HTML) version 4.0 (frames, tables, event handler extensions), (CSS) version 1, (DOM) version 0, ECMAScript version 1.1 (note ECMAScript and DOM 0 is equivalent to JavaScript version 1.1. Requires platform and language detection), (SSL) version 2.0, Application programming interface (API) version 1.0 (embedding, commands, properties, and events), cookies (used to store hardware platform information and essential disk identification information).
Content Type Support
Mandatory content type support includes MPEG1 and MPEG2 video files, WAV, AU, AIFF, and MP3 audio files, GIF, JPEG, and PNG graphics files
Advanced Format Support
The advanced format support is not required for a standard implementation. Advanced formats include, but are not limited to, Macromedia Flash (this is encouraged as Flash is very popular for studio DVDs), extensible markup language (XML), Chat, and streaming media such as MPEG4, Real Player, and Quicktime. With the advent of modern and other advanced Internet connectivity solutions, more additions to the advance format capabilities will be made.
More Complex Menu Structures
A DVD-Video is shipped with a simple HTML page that does little except start a movie. However, it also checks to see if that movie has any web site updates. If it does, then it launches a new movie menu that is downloaded from the web. Obviously, the downloaded menu can be designed much later than the DVD. The menu may have e-commerce opportunities, such as promoting gifts for purchase, tickets for the sequel to the movie on the DVD, etc. The window of time of these opportunities is decided by the content owner and is completely independent of the DVD. The menu can have links to actors/actresses featured in the DVD. Additionally, the menu can provide options to navigate the DVD with finer granularity than the original chapters on the DVD provide.
Special Coupon from Retailer
DVDs authored with different logos at the head (such as logos for Best Buy, Circuit City, or the like) can be used for advertising purposes. For example, the disk start-up can be specified to display the logo of the original retailer and the consumer can be directed to access the retailer's website for promotional advertisements. This can be accomplished by checking the burst cutting area (BCA) on the disk which would indicate the identity of the retailer.
InterActual Application Programming Interface
Following is presented an exemplary list of the commands, properties, and events for several embodiments of the InterActual Programming Interface. This list is presented as follows:
A The DVD-Video and CD-Digital Programming Interface
A.1 Commands
Commands will control the playback and navigation mechanisms of a DVD-Video/Audio or CD-DA disc. Commands can be used by the calling application (HTMUJavaScript) to initiate these functions. This section provides a detailed description of each InterActual command with its associated parameters.
A.1.1 InterActual.Play( )
A.1.2 InterActual.PlayTitle(t)
A.1.3 InterActual.PlayChapter(t,c)
A.1.4 InterActual.PlayChapterAutoStop(t,c,n)
A.1.5 InterActual.PlayTime(t,h,m,s,x)
A.1.6 InterActual.PlayTimeAutoStop(t,sh,sm,ss,sx,eh,em,es,ex)
A.1.7 InterActual.PlayTrack(g,t)
A.1.8 InterActual.SearchChapter(c)
A.1.9 InterActual.SearchTime(h,m,s,x)
A.1.10 InterActual.SearchTrack(t)
A.1.11 InterActual.TotalNumChapters(t)
A.1.12 InterActual.NextPG( )
A.1.13 InterActual.PrevPG( )
A.1.14 InterActual.GoUp( )
A.1.15 InterActual.NextTrack( )
A.1.16 InterActual.PrevTrack( )
A.1.17 InterActual.TotalTrackTime(t)
A.1.18 InterActual.Pause( )
A.1.19 InterActual.Stop( )
A.1.20 InterActual.FastForward(x)
A.1.21 InterActual.Rewind(x)
A.1.22 InterActual.Menu(menuID)
A.1.23 InterActual.Resume( )
A.1.24 InterActual.StillOff( )
A.1.25 InterActual.SelectUpButton( )
A.1.26 InterActual.SelectDownButton( )
A.1.27 InterActual.SelectLeftButton( )
A.1.28 InterActual.SelectRightButton( )
A.1.29 InterActual.SelectButtonAndActivate(n)
A.130 InterActual.ActivateButton( )
A.1.31 InterActual.SelectAudio(n)
A.1.32 InterActual.SelectSubpicture(n)
A.1.33 InterActual.SelectAngle(n)
A.1.34 InterActual.SelectParentalLevel(n)
A.1.35 InterActual.AudioLanguage(x, rc)
A.1.36 InterActual.AudioLanguageExtension(x)
A.1.37 InterActual.SubpictureLanguage(x, rc)
A.1.38 InterActual.SubpictureLanguageExtension(x)
A.1.39 InterActual.GetGPRM(r)
A.1.40 InterActual.GetSPRM(r)
A.1.41 InterActual.ValidUOP(x)
A.1.42 InterActual.GetBCAField( )
A.1.43 InterActual.SupportedFeatures(x)
A.1.44 InterActual.EnableSubpicture(n)
A.1.45 InterActual.SetGPRM(r,x)
A.1.46 InterActual.Mute( )
A.1.47 InterActual.FullScreen(w)
A.1.48 InterActual.GotoBookmark(b)
A.1.49 InterActual.SaveBookmark( )
A.1.50 InterActual.NetConnect( )
A.1.51 InterActual.NetDisconnect( )
A.1.52 InterActual.SubscribeToEvent(e, s)
A.2 Properties
Properties can be used to find information about commonly used variables, such as time, title and chapter. They are read-only, by definition. Where it makes sense to set a specific property, there will be an associated command to do so.
All properties must be supported and contain a value within the range specified. If a property doesn't exist or is not supportable at the time, then the property should return the value “not implemented” or “ni” for character or “−1” numeric values.
InterActual playback devices shall support the following properties.
A.2.1 InterActual.ElapsedTime
A.2.2 InterActual.TotalElapsedTime
A.2.3 InterActual.TotalTime
A.2.4 InterActual.TitleNumber
A.2.5 InterActual.PGCNumber
A.2.6 InterActual.ChapterNumber
A.2.7 InterActual.TrackNumber
A.2.8 InterActual.PlayState
A.2.9 InterActual.Domain
A.2.10 InterActual.AudioNumber
A.2.11 InterActual.SubpictureNumber
A.2.12 InterActual.AngleNumber
A.2.13 InterActual.ParentalLevel
A.2.14 InterActual.ButtonNumber
A.2.15 InterActual.TotalNumAudio
A.2.16 InterActual.TotalTracks
A.2.17 InterActual.TotalTitles
A.2.18 InterActual.TotalNumSubpicture
A.2.19 InterActual.TotalNumAngle
A.2.20 InterActual.TotalNumButton
A.2.21 InterActual.MajorVersion
A.2.22 InterActual.MinorVersion
A.2.23 InterActual.PlayerMode
A.2.24 InterActual.MaxFast
A.2.25 InterActual.MaxFastReverse
A.2.26 InterActual.MediaID
A.2.27 InterActual.DiscType
A.2.28 InterActual.Bookmark
A.2.29 InterActual.ROMType
A.2.30 InterActual.InternetStatus
A.2.31 InterActual.FullScreenMode
Events are integral to synchronizing DVD-Video with other media. With these events, web pages can be synchronized with the audio or video. For example, each ChapterEvent (start of new chapter) can trigger an HTML storyboard that corresponds to the movie. Time based events can be used to coordinate advertising messages in HTML while the video is playing: when James Bond is driving his BMW, an appropriate web page (BMW or auto sales site) can automatically be displayed at the same time.
The value of events is that these external media do NOT have to be embedded or even be known at the time the DVD-Video is authored. This flexibility keeps DVD-Video authoring on schedule and greatly minimizes the authoring costs while adding valuable and unique features to each disc.
Events can be used by the calling application (HTML/JavaScript, C++, or other) to receive notification of DVD playback status. There is an EventHandler function required which will switch on the event type index (see below) and call the appropriate function. If a platform does not support an event, then an error code must be returned when its use is attempted. Here is an example of an event handler in JavaScript:
The following table lists the event indices that will be generated by the browser. There is a skip in the enumeration for advanced events and platform-specific events. We have reserved unique events for specific platforms like the PC or Macintosh.
There is a command enabling subscribing to events or unsubscribing to events (see Interactual.SubscribeToEvent listed in the command section).
The table lists event the index and which parameter is returned. The details for each event type and associated parameters follow, however TitleGroup and Slide are described in the DVD-Audio section of this document, as they are specific to DVD-Audio only.
The following list of InterActual API events must be supported and the number and meaning of the parameters they will receive is detailed. For example, the title event is index number 1 and a private function (such as TitleEvent) will receive one parameter (the others will be null) and it will be the new title number (see below for an explanation).
Sample private event functions:
A.3.1 Title Event
A.3.2 Chapter Event
A.3.3 PGC Event
A.3.4 Time Event
A.3.5 Track Time Event
A.3.6 Track Event
A.3.7 Angle Event
A.3.8 State Event
A.3.9 Speed Event
A.3.10 UOP Event
A.3.11 Domain Event
A.3.12 Audio Event
A.3.13 Subpicture Event
A.3.14 Parental Event
A.3.15 Region Event
A.3.16 Eject Event
A.3.17 Insert Event
A.3.18 GPRM Event
A.3.19 Info Event
A.3.20 RC Button Event
A.3.21 Number of Angles Event
A.3.22 Net Event
A.4 Interface Applicability
The following matrix depicts the applicability of each component of the interface (commands, properties and events) depending upon the state of the system. An “X” indicates that the entity is executable in this state if the user operations (UOP bits) allow it; these bits are set by the disc content itself.
Stop state means no specific title is selected and on computers, the DVD navigator is not instantiated.
File open means the state reached when calling the advanced API “Open” command with a filename as the argument. In other words, the DVD navigator is instantiated and a file, not a DVD title, has been selected. Hence, the DVD navigation features are not available.
If the JavaScript calls InterActual.Open(“DVDVideo”) you will automatically transition to the Play state because First PGC will be played.
B The DVD-Audio Specific Interface
B.1 Commands
B.1.1 InterActual.PlayTitleGroup(g)
B.1.2 InterActual.NextSlide( )
B.13 InterActual.PrevSlide( )
B.2 Properties
B.2.1 InterActual.TitleGroupNumber
B.2.2 InterActual.SlideNumber
B.3 Events
B.3.1 Title Group Event
B.3.2 Slide Event
B.4 Advanced Commands
B.4.1 InterActual.HiddenPlayGroup(x)
B.4.2 InterActual.HiddenPlayTrack(t,x)
B.4.3 InterActual.HiddenPlayTime(h,m,s,x)
B.4.4 InterActual.SelectTextLanguage(n)
C Advanced InterActual API
The interface described in this appendix are not required, however they can be implemented and an InterActual disc can interrogate the system using the SupportFeatures command to determine if the current device supports them.
C.1 Commands
C.1.1 InterActual.Open(filename|type)
C.1.2 InterActual.Slow(x)
C.1.3 InterActual.Step(n)
C.1.4 InterActual.SlowReverse(x)
C.1.5 InterActual.Zoom(x,y)
C.1.6 InterActual.Pan(x,y)
C.1.7 InterActual.EnableCCText(n)
C.1.8 InterActual.MenuLanguage(n, rc)
C.1.9 InterActual.SelectMenuLanguage(n)
C.1.10 InterActual.SelectParentalCountry(n)
C.1.11 InterActual.SelectKaraoke(x)
Summary
C.1.12 InterActual.SetMixVolume(x)
C.1.13 InterActual.Close( )
C.1.14 InterActual.ShowControls( )
C.1.15 InterActual.HideControls( )
C.1.16 InterActual.ShowContextMenu(mask)
C.1.17 InterActual.PopUpMenu(n,x,y)
C.1.18 InterActual.SuppressErrors(b)
C.1.19 InterActual.AutoMouseHide(b)
C.1.20 InterActual.OpenDrive( )
C.1.21 InterActual.Launch(a, p)
C.1.22 InterActual.PresentationMode(a,m)
C.1.23 InterActual.Print(f)
C.1.24 InterActual.PlayPeriodInTitleAutoStop(tsh,sm,ss,sf,eh,em,es,ef)
C.2 Properties
C.2.1 InterActual.CurrentMenuLanguage
C.2.2 InterActual.TotalNumMenuLanguage
C.2.3 InterActual.ParentalCountry
C.2.4 InterActual.CCTextStatus
C.2.5 InterActual.CCText
C.2.6 InterActual.MaxSlow
C.2.7 InterActual.MaxSlowReverse
C.2.8 InterActual.DiscRegion
C.2.9 InterActual.DiscDirectory
C.2.10 InterActual.LocalDirectory
C.2.11 InterActual.CurrentZoomX
C.2.12 InterActual.CurrentZoomY
C.2.13 InterActual.CurrentPanX
C.2.14 InterActual.CurrentPanY
C.2.15 InterActual.MixVolume
C.2.16 InterActual.FramesPerSecond
C.3 Events
Sample private advanced event functions
C3.1 Mouse Event
C3.2 Menu Button Event
C3.3 Karaoke Event
C.3.4 Still Event
C.3.5 CC Text Event
C3.6 FullScreen Event (PC only)
The present patent document is a continuation of U.S. patent application Ser. No. 09/935,756, filed Aug. 21, 2001, now U.S. Pat. No. 7,178,106 of Lamkin, et al, entitled PRESENTATION OF MEDIA CONTENT FROM MULTIPLE MEDIA SOURCES, which is a non-provisional of provisional application Ser. No. 60/226,758, filed Aug. 21, 2000; and a non-provisional of provisional application Ser. No. 60/246,652, filed Nov. 7, 2000; and a non-provisional of provisional application Ser. No. 60/251,965, filed Dec. 5, 2000; and a non-provisional of provisional application Ser. No. 60/259,075, filed Dec. 29, 2000; and a non-provisional of provisional application Ser. No. 60/302,778, filed Jul. 2, 2001; and a continuation-in-part of application Ser. No. 09/644,669, filed Aug. 24, 2000; now abandoned and a continuation-in-part of application Ser. No. 09/649,215, filed Aug. 28, 2000, which is a continuation-in-part of application Ser. No. 09/644,669, filed Aug. 24, 2000, now abandoned which is a non-provisional of provisional application Ser. No. 60/220,397, filed Jul. 24, 2000; and a continuation-in-part of application Ser. No. 09/295,856, filed Apr. 21, 1999 now abandoned; and a continuation-in-part of application Ser. No. 09/296,202, filed Apr. 21, 1999; now abandoned and a continuation-in-part of application Ser. No. 09/296,098, filed Apr. 21, 1999; now U.S. Pat. No. 6,453,420 and a continuation-in-part of application Ser. No. 09/295,688, filed Apr. 21, 1999; now abandoned and a continuation-in-part of application Ser. No. 09/295,964, filed Apr. 21, 1999; now U.S. Pat. No. 6,665,489 and a continuation-in-part of application Ser. No. 09/295,689, filed Apr. 21, 1999; now U.S. Pat. No. 6,405,203 and a continuation-in-part of application Ser. No. 09/295,826, filed Apr. 21, 1999; now abandoned and a continuation-in-part of application Ser. No. 09/476,190, filed Jan. 3, 2000; now U.S. Pat. No. 6,944,621 and a continuation-in-part of application Ser. No. 09/488,345, filed Jan. 20, 2000; and a continuation-in-part of application Ser. No. 09/488,337, filed Jan. 20, 2000; and a continuation-in-part of application Ser. No. 09/488,143, filed Jan. 20, 2000; now abandoned and a continuation-in-part of application Ser. No. 09/488,613, filed Jan. 20, 2000; now U.S. Pat. No. 6,679,130 and a continuation-in-part of application Ser. No. 09/488,155, filed Jan. 20, 2000; now U.S. Pat. 6,941,383 and a continuation-in-part of application Ser. No. 09/489,600, filed Jan. 20, 2000; now U.S. Pat. No. 7,188,193 and a continuation-in-part of application Ser. No. 09/488,614, filed Jan. 20, 2000; now abandoned and a continuation-in-part of application Ser. No. 09/489,601, filed Jan. 20, 2000; and a continuation-in-part of application Ser. No. 09/489,597, filed Jan. 20, 2000; and a continuation-in-part of application Ser. No. 09/489,596, filed Jan. 20, 2000; and a continuation-in-part of application Ser. No. 09/499,247, filed Feb. 7, 2000; now U.S. Pat. No. 6,529,949 and a continuation-in-part of application Ser. No. 09/898,479, filed Jul. 2, 2001, now U.S. Pat. No. 7,346,920 which is a non-provisional of provisional patent application Ser. No. 60/216,822, filed Jul. 7, 2000; and a continuation-in-part of application Ser. No. 09/912,079, filed Jul. 24, 2001, now abandoned which is a non-provisional of provisional patent application Ser. No. 60/220,400, filed Jul. 24, 2000. All of the above-referenced patent documents are hereby expressly incorporated herein by reference as if set forth in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
4672572 | Alsberg | Jun 1987 | A |
4709813 | Wildt | Dec 1987 | A |
4710754 | Montean | Dec 1987 | A |
4739510 | Jeffers et al. | Apr 1988 | A |
4785472 | Shapiro | Nov 1988 | A |
4888638 | Bohn | Dec 1989 | A |
4967185 | Montean | Oct 1990 | A |
4993068 | Piosenka et al. | Feb 1991 | A |
5023907 | Johnson et al. | Jun 1991 | A |
5109482 | Bohrman | Apr 1992 | A |
5128752 | Von Kohorn | Jul 1992 | A |
5274758 | Beitel et al. | Dec 1993 | A |
5289439 | Koulopoulos et al. | Feb 1994 | A |
5305195 | Murphy | Apr 1994 | A |
5305197 | Axler et al. | Apr 1994 | A |
5347508 | Montbriand et al. | Sep 1994 | A |
5353218 | De Lapa et al. | Oct 1994 | A |
5400402 | Garfinkle | Mar 1995 | A |
5410343 | Coddington et al. | Apr 1995 | A |
5413383 | Laurash et al. | May 1995 | A |
5420403 | Allum et al. | May 1995 | A |
5426629 | Saitou et al. | Jun 1995 | A |
5457746 | Dolphin | Oct 1995 | A |
5467329 | Hashimoto | Nov 1995 | A |
5483658 | Grube et al. | Jan 1996 | A |
5509074 | Choudhury et al. | Apr 1996 | A |
5530686 | Schylander et al. | Jun 1996 | A |
5550577 | Verbiest et al. | Aug 1996 | A |
5568275 | Norton et al. | Oct 1996 | A |
5617502 | Ort et al. | Apr 1997 | A |
5619024 | Kolls | Apr 1997 | A |
5619733 | Noe et al. | Apr 1997 | A |
5633946 | Lachinski et al. | May 1997 | A |
5640453 | Schuchman et al. | Jun 1997 | A |
5640560 | Smith | Jun 1997 | A |
5642171 | Baumgartner et al. | Jun 1997 | A |
5651064 | Newell | Jul 1997 | A |
5659792 | Walmsley | Aug 1997 | A |
5673195 | Schwartz et al. | Sep 1997 | A |
5677953 | Dolphin | Oct 1997 | A |
5694546 | Reisman | Dec 1997 | A |
5696898 | Baker et al. | Dec 1997 | A |
5717879 | Moran et al. | Feb 1998 | A |
5729687 | Rothrock et al. | Mar 1998 | A |
5734719 | Tsevdos et al. | Mar 1998 | A |
5734898 | He | Mar 1998 | A |
5736977 | Hughes | Apr 1998 | A |
5751672 | Yankowski | May 1998 | A |
RE35839 | Asai et al. | Jul 1998 | E |
5790753 | Krishnamoorthy | Aug 1998 | A |
5801685 | Miller et al. | Sep 1998 | A |
5802294 | Ludwig et al. | Sep 1998 | A |
5804810 | Woolley et al. | Sep 1998 | A |
5805442 | Crater et al. | Sep 1998 | A |
5805804 | Laursen et al. | Sep 1998 | A |
5808662 | Kinney et al. | Sep 1998 | A |
5809250 | Kisor | Sep 1998 | A |
5809471 | Brodsky | Sep 1998 | A |
5812661 | Akiyama et al. | Sep 1998 | A |
5818935 | Maa | Oct 1998 | A |
5819284 | Farber | Oct 1998 | A |
5822123 | Davis et al. | Oct 1998 | A |
5822291 | Brindze et al. | Oct 1998 | A |
5825876 | Peterson, Jr. | Oct 1998 | A |
5850218 | LaJoie et al. | Dec 1998 | A |
5857021 | Kataoka et al. | Jan 1999 | A |
5860068 | Cook | Jan 1999 | A |
5869819 | Knowles et al. | Feb 1999 | A |
5872747 | Johnson | Feb 1999 | A |
5875296 | Shi et al. | Feb 1999 | A |
5878020 | Takahashi | Mar 1999 | A |
5878233 | Schloss | Mar 1999 | A |
5882291 | Bradshaw et al. | Mar 1999 | A |
5883623 | Cseri | Mar 1999 | A |
5887143 | Saito et al. | Mar 1999 | A |
5889980 | Smith, Jr. | Mar 1999 | A |
5892825 | Mages et al. | Apr 1999 | A |
5892900 | Ginter et al. | Apr 1999 | A |
5892908 | Hughes et al. | Apr 1999 | A |
5893910 | Martineau et al. | Apr 1999 | A |
5895073 | Moore | Apr 1999 | A |
5896132 | Berstis et al. | Apr 1999 | A |
5899980 | Wilf et al. | May 1999 | A |
5907322 | Kelly et al. | May 1999 | A |
5907704 | Gudmundson et al. | May 1999 | A |
5909551 | Tahara et al. | Jun 1999 | A |
5913210 | Call | Jun 1999 | A |
5915093 | Berlin et al. | Jun 1999 | A |
5920694 | Carleton et al. | Jul 1999 | A |
5922045 | Hanson | Jul 1999 | A |
5924013 | Guido et al. | Jul 1999 | A |
5930238 | Nguyen | Jul 1999 | A |
5930767 | Reber et al. | Jul 1999 | A |
5931906 | Fidelibus et al. | Aug 1999 | A |
5933497 | Beetcher et al. | Aug 1999 | A |
5940504 | Griswold | Aug 1999 | A |
5943304 | Kamada et al. | Aug 1999 | A |
5945988 | Williams et al. | Aug 1999 | A |
5950173 | Perkowski | Sep 1999 | A |
5956482 | Agraharam et al. | Sep 1999 | A |
5960398 | Fuchigami et al. | Sep 1999 | A |
5969898 | Hansen et al. | Oct 1999 | A |
5977964 | Williams et al. | Nov 1999 | A |
5978773 | Hudetz et al. | Nov 1999 | A |
5986690 | Hendricks | Nov 1999 | A |
5987454 | Hobbs | Nov 1999 | A |
5987525 | Roberts et al. | Nov 1999 | A |
5991374 | Hazenfield | Nov 1999 | A |
5991399 | Graunke et al. | Nov 1999 | A |
5991798 | Ozaki et al. | Nov 1999 | A |
5995965 | Experton | Nov 1999 | A |
6006328 | Drake | Dec 1999 | A |
6009410 | LeMole et al. | Dec 1999 | A |
6012071 | Krishna et al. | Jan 2000 | A |
6016166 | Huang et al. | Jan 2000 | A |
6018768 | Ullman et al. | Jan 2000 | A |
6021307 | Chan | Feb 2000 | A |
6023241 | Clapper | Feb 2000 | A |
6034937 | Kumagai | Mar 2000 | A |
6035329 | Mages et al. | Mar 2000 | A |
6044403 | Gerszberg et al. | Mar 2000 | A |
6047292 | Kelly et al. | Apr 2000 | A |
6052717 | Reynolds | Apr 2000 | A |
6052785 | Lin et al. | Apr 2000 | A |
6055314 | Spies et al. | Apr 2000 | A |
6061057 | Knowlton et al. | May 2000 | A |
6064979 | Perkowski | May 2000 | A |
6073124 | Krishnan et al. | Jun 2000 | A |
6076733 | Wilz, Sr. et al. | Jun 2000 | A |
6078348 | Klosterman et al. | Jun 2000 | A |
6080207 | Kroening et al. | Jun 2000 | A |
6081785 | Oshima et al. | Jun 2000 | A |
6083276 | Davidson et al. | Jul 2000 | A |
6097291 | Tsai et al. | Aug 2000 | A |
6097814 | Mochizuki | Aug 2000 | A |
6101180 | Donahue et al. | Aug 2000 | A |
6101534 | Rothschild | Aug 2000 | A |
6108002 | Ishizaki | Aug 2000 | A |
6108687 | Craig | Aug 2000 | A |
6119147 | Toomey et al. | Sep 2000 | A |
6124854 | Sartain et al. | Sep 2000 | A |
6125388 | Reisman | Sep 2000 | A |
6128649 | Smith et al. | Oct 2000 | A |
6128652 | Toh et al. | Oct 2000 | A |
6134533 | Shell | Oct 2000 | A |
6134593 | Alexander et al. | Oct 2000 | A |
6138150 | Nichols et al. | Oct 2000 | A |
6141010 | Hoyle | Oct 2000 | A |
6145006 | Vishlitsky et al. | Nov 2000 | A |
6154738 | Call | Nov 2000 | A |
6154773 | Roberts et al. | Nov 2000 | A |
6154844 | Touboul et al. | Nov 2000 | A |
6157953 | Chang et al. | Dec 2000 | A |
6161132 | Roberts et al. | Dec 2000 | A |
6175842 | Kirk et al. | Jan 2001 | B1 |
6175872 | Neumann et al. | Jan 2001 | B1 |
6182222 | Oparaji | Jan 2001 | B1 |
6184877 | Dodson et al. | Feb 2001 | B1 |
6189032 | Susaki et al. | Feb 2001 | B1 |
6192340 | Abecassis | Feb 2001 | B1 |
6195693 | Berry et al. | Feb 2001 | B1 |
6199048 | Hudetz et al. | Mar 2001 | B1 |
6202061 | Khosla et al. | Mar 2001 | B1 |
6208805 | Abecassis | Mar 2001 | B1 |
6219675 | Pal et al. | Apr 2001 | B1 |
6226235 | Wehmeyer | May 2001 | B1 |
6229523 | Czako | May 2001 | B1 |
6230174 | Berger et al. | May 2001 | B1 |
6230324 | Tomita et al. | May 2001 | B1 |
6233618 | Shannon | May 2001 | B1 |
6233736 | Wolzien | May 2001 | B1 |
6239793 | Barnert et al. | May 2001 | B1 |
6239801 | Chiu et al. | May 2001 | B1 |
6240459 | Roberts et al. | May 2001 | B1 |
6240555 | Shoff et al. | May 2001 | B1 |
6243692 | Floyd et al. | Jun 2001 | B1 |
6246778 | Moore | Jun 2001 | B1 |
6259701 | Shur et al. | Jul 2001 | B1 |
6263501 | Schein et al. | Jul 2001 | B1 |
6263505 | Walker et al. | Jul 2001 | B1 |
6282713 | Kitsukawa et al. | Aug 2001 | B1 |
6289165 | Abecassis | Sep 2001 | B1 |
6298482 | Seidman et al. | Oct 2001 | B1 |
6301661 | Shambroom | Oct 2001 | B1 |
6308005 | Ando et al. | Oct 2001 | B1 |
6321252 | Bhola et al. | Nov 2001 | B1 |
6330719 | Zigmond et al. | Dec 2001 | B1 |
6331865 | Sachs et al. | Dec 2001 | B1 |
6341375 | Watkins | Jan 2002 | B1 |
6360057 | Tsumagari et al. | Mar 2002 | B1 |
6374402 | Schmeidler et al. | Apr 2002 | B1 |
6381404 | deCarmo | Apr 2002 | B1 |
6388714 | Schein et al. | May 2002 | B1 |
6389467 | Eyal | May 2002 | B1 |
6389473 | Carmel et al. | May 2002 | B1 |
6405203 | Collart | Jun 2002 | B1 |
6415438 | Blackketter et al. | Jul 2002 | B1 |
6418471 | Shelton et al. | Jul 2002 | B1 |
6426778 | Valdez, Jr. | Jul 2002 | B1 |
6449653 | Klemets et al. | Sep 2002 | B2 |
6452609 | Katinsky et al. | Sep 2002 | B1 |
6453420 | Collart | Sep 2002 | B1 |
6453459 | Brodersen et al. | Sep 2002 | B1 |
6460086 | Swaminathan et al. | Oct 2002 | B1 |
6460180 | Park et al. | Oct 2002 | B1 |
6462754 | Chakraborty et al. | Oct 2002 | B1 |
6463468 | Buch et al. | Oct 2002 | B1 |
6486891 | Rice | Nov 2002 | B1 |
6499057 | Portuesi | Dec 2002 | B1 |
6505160 | Levy et al. | Jan 2003 | B1 |
6505169 | Bhagavath et al. | Jan 2003 | B1 |
6510467 | Behfar et al. | Jan 2003 | B1 |
6516467 | Schindler et al. | Feb 2003 | B1 |
6523063 | Miller et al. | Feb 2003 | B1 |
6526580 | Shimomura | Feb 2003 | B2 |
6529949 | Getsin et al. | Mar 2003 | B1 |
6535909 | Rust | Mar 2003 | B1 |
6543053 | Li et al. | Apr 2003 | B1 |
6564255 | Mobini et al. | May 2003 | B1 |
6567980 | Jain et al. | May 2003 | B1 |
6573907 | Madrane | Jun 2003 | B1 |
6580870 | Kanazawa et al. | Jun 2003 | B1 |
6591420 | McPherson et al. | Jul 2003 | B1 |
6601103 | Goldschmidt Iki et al. | Jul 2003 | B1 |
6609253 | Swix et al. | Aug 2003 | B1 |
6615408 | Kaiser et al. | Sep 2003 | B1 |
6625656 | Goldhor et al. | Sep 2003 | B2 |
6636888 | Bookspan et al. | Oct 2003 | B1 |
6640337 | Lu | Oct 2003 | B1 |
6659861 | Faris et al. | Dec 2003 | B1 |
6691106 | Sathyanarayan | Feb 2004 | B1 |
6691126 | Syeda-Mahmood | Feb 2004 | B1 |
6694309 | Cho et al. | Feb 2004 | B2 |
6698020 | Zigmond et al. | Feb 2004 | B1 |
6721748 | Knight et al. | Apr 2004 | B1 |
6725281 | Zintel et al. | Apr 2004 | B1 |
6731239 | Wall et al. | May 2004 | B2 |
6732162 | Wood et al. | May 2004 | B1 |
6741790 | Burgess | May 2004 | B1 |
6760043 | Markel | Jul 2004 | B2 |
6769130 | Getsin et al. | Jul 2004 | B1 |
6771290 | Hoyle | Aug 2004 | B1 |
6803950 | Miyamoto et al. | Oct 2004 | B2 |
6865746 | Herrington et al. | Mar 2005 | B1 |
6868225 | Brown | Mar 2005 | B1 |
6941383 | Getsin et al. | Sep 2005 | B1 |
6944621 | Collart | Sep 2005 | B1 |
6952297 | Rothschild | Oct 2005 | B2 |
6952697 | Rothschild | Oct 2005 | B1 |
6959339 | Wu et al. | Oct 2005 | B1 |
6976229 | Balabanovic et al. | Dec 2005 | B1 |
7024497 | Maffezoni | Apr 2006 | B1 |
7043693 | Wenzel et al. | May 2006 | B2 |
7136574 | Ando et al. | Nov 2006 | B2 |
7165071 | Fanning et al. | Jan 2007 | B2 |
7165098 | Boyer et al. | Jan 2007 | B1 |
7171480 | Chatani | Jan 2007 | B2 |
7178106 | Lamkin | Feb 2007 | B2 |
20010001160 | Shoff | May 2001 | A1 |
20010005903 | Goldschmidt et al. | Jun 2001 | A1 |
20010056434 | Kaplan et al. | Dec 2001 | A1 |
20010056478 | Wheeler et al. | Dec 2001 | A1 |
20020026321 | Faris et al. | Feb 2002 | A1 |
20020049978 | Rodriquez et al. | Apr 2002 | A1 |
20020056129 | Blackketter et al. | May 2002 | A1 |
20020057893 | Wood et al. | May 2002 | A1 |
20020059342 | Gupta et al. | May 2002 | A1 |
20020073152 | Andrew et al. | Jun 2002 | A1 |
20020078144 | Lamkin | Jun 2002 | A1 |
20020083377 | Clauss et al. | Jun 2002 | A1 |
20020088011 | Lamkin | Jul 2002 | A1 |
20020103855 | Chatani | Aug 2002 | A1 |
20020143774 | Vandersluis | Oct 2002 | A1 |
20020184627 | Alba et al. | Dec 2002 | A1 |
20030005461 | Shinohara | Jan 2003 | A1 |
20030028892 | Gewickey | Feb 2003 | A1 |
20030101232 | Ullman et al. | May 2003 | A1 |
20030204847 | Ellis et al. | Oct 2003 | A1 |
20040010510 | Hotti | Jan 2004 | A1 |
20040024889 | Getsin | Feb 2004 | A1 |
20040040042 | Feinleib | Feb 2004 | A1 |
20040139077 | Banker | Jul 2004 | A1 |
20040215755 | Oneill | Oct 2004 | A1 |
20040220791 | Lamkin | Nov 2004 | A1 |
20040220926 | Lamkin | Nov 2004 | A1 |
20040244041 | Collart | Dec 2004 | A1 |
20040255236 | Getsin | Dec 2004 | A1 |
20050041150 | Gewickey | Feb 2005 | A1 |
20050044481 | Collart | Feb 2005 | A1 |
20050050208 | Chatani | Mar 2005 | A1 |
20050154682 | Taylor | Jul 2005 | A1 |
20050166232 | Lamkin | Jul 2005 | A1 |
20050182828 | Lamkin | Aug 2005 | A1 |
20050193322 | Lamkin | Sep 2005 | A1 |
20050198574 | Lamkin | Sep 2005 | A1 |
20050223013 | Jarman | Oct 2005 | A1 |
20050240588 | Siegel et al. | Oct 2005 | A1 |
20050251732 | Lamkin | Nov 2005 | A1 |
20050265701 | Lamkin et al. | Dec 2005 | A1 |
20050278435 | Lamkin et al. | Dec 2005 | A1 |
20050278729 | Lamkin et al. | Dec 2005 | A1 |
20060004778 | Lamkin et al. | Jan 2006 | A1 |
20060041639 | Lamkin | Feb 2006 | A1 |
20060041640 | Lamkin | Feb 2006 | A1 |
20060107215 | Gewickey | May 2006 | A1 |
20060112336 | Gewickey | May 2006 | A1 |
20060117344 | Lamkin | Jun 2006 | A1 |
20060159109 | Lamkin | Jul 2006 | A1 |
20060161635 | Lamkin | Jul 2006 | A1 |
20060181965 | Collart | Aug 2006 | A1 |
20060182424 | Lamkin et al. | Aug 2006 | A1 |
20060184538 | Randall | Aug 2006 | A1 |
20060193606 | Lamkin | Aug 2006 | A1 |
20060195600 | Getsin | Aug 2006 | A1 |
20070094583 | Randall | Apr 2007 | A1 |
Number | Date | Country |
---|---|---|
42 42 992 | Jun 1994 | DE |
0 372 716 | Jun 1990 | EP |
0 762 422 | Mar 1997 | EP |
0 802 527 | Oct 1997 | EP |
0 809 244 | Nov 1997 | EP |
0 814 419 | Dec 1997 | EP |
0 849 734 | Jun 1998 | EP |
0 853 315 | Jul 1998 | EP |
0 809 244 | Dec 1998 | EP |
0 849 734 | Mar 1999 | EP |
0 853 315 | Dec 1999 | EP |
10063562 | Mar 1998 | JP |
11039262 | Feb 1999 | JP |
2000236531 | Aug 2000 | JP |
WO 9847080 | Oct 1998 | WO |
WO 9858368 | Dec 1998 | WO |
WO 9914678 | Mar 1999 | WO |
WO 9951031 | Oct 1999 | WO |
WO 0002385 | Jan 2000 | WO |
WO 0008855 | Feb 2000 | WO |
WO 0016229 | Mar 2000 | WO |
WO 0018054 | Mar 2000 | WO |
WO 0024192 | Apr 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20050251749 A1 | Nov 2005 | US |
Number | Date | Country | |
---|---|---|---|
60226758 | Aug 2000 | US | |
60246652 | Nov 2000 | US | |
60251965 | Dec 2000 | US | |
60259075 | Dec 2000 | US | |
60302778 | Jul 2001 | US | |
60220397 | Jul 2000 | US | |
60216822 | Jul 2000 | US | |
60220400 | Jul 2000 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09935756 | Aug 2001 | US |
Child | 11134794 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09649215 | Aug 2000 | US |
Child | 09935756 | US | |
Parent | 09644669 | Aug 2000 | US |
Child | 09649215 | US | |
Parent | 09644669 | Aug 2000 | US |
Child | 09644669 | US | |
Parent | 09499247 | Feb 2000 | US |
Child | 09935756 | US | |
Parent | 09898479 | Jul 2001 | US |
Child | 09499247 | US | |
Parent | 09488337 | Jan 2000 | US |
Child | 09898479 | US | |
Parent | 09488143 | Jan 2000 | US |
Child | 09488337 | US | |
Parent | 09488613 | Jan 2000 | US |
Child | 09488143 | US | |
Parent | 09488155 | Jan 2000 | US |
Child | 09488613 | US | |
Parent | 09489600 | Jan 2000 | US |
Child | 09488155 | US | |
Parent | 09488614 | Jan 2000 | US |
Child | 09489600 | US | |
Parent | 09489601 | Jan 2000 | US |
Child | 09488614 | US | |
Parent | 09489597 | Jan 2000 | US |
Child | 09489601 | US | |
Parent | 09489596 | Jan 2000 | US |
Child | 09489597 | US | |
Parent | 09295856 | Apr 1999 | US |
Child | 09489596 | US | |
Parent | 09296202 | Apr 1999 | US |
Child | 09295856 | US | |
Parent | 09296098 | Apr 1999 | US |
Child | 09296202 | US | |
Parent | 09295688 | Apr 1999 | US |
Child | 09296098 | US | |
Parent | 09295964 | Apr 1999 | US |
Child | 09295688 | US | |
Parent | 09295689 | Apr 1999 | US |
Child | 09295964 | US | |
Parent | 09295826 | Apr 1999 | US |
Child | 09295689 | US | |
Parent | 09912079 | Jul 2001 | US |
Child | 09935756 | US |