`(12) Patent Application Publication (10) Pub. No.: US 2002/0104096 A1
`(43) Pub. Date:
`Aug. 1, 2002
`Cramer et al.
`
`US 2002O104096A1
`
`(54)
`
`(76)
`
`(21)
`(22)
`
`(60)
`
`SYSTEMAND METHODS FOR PROVIDING
`WEB-BASED MULTIMEDIA
`PRESENTATIONS
`
`Inventors: Allen Brett Cramer, Fort Lauderdale,
`FL (US); John Robert Meyers, Fort
`Lauderdale, FL (US)
`Correspondence Address:
`BRINKLEY, MCNERNEY, MORGAN,
`SOLOMON & TATUM, LLP
`Suite 1900
`200 East Las Olas Boulevard
`Fort Lauderdale, FL 33301-2209 (US)
`Appl. No.:
`
`09/905,196
`
`Filed:
`
`Jul. 13, 2001
`Related U.S. Application Data
`Provisional application No. 60/219,393, filed on Jul.
`19, 2000.
`
`Publication Classification
`
`(51) Int. Cl." ............................ G06F 3/00; H04N 5/445;
`G06F 13/00; H04N 7/173
`(52) U.S. Cl. ............................. 725/113; 72.5/109; 725/51
`
`(57)
`
`ABSTRACT
`
`Various features are provided for allowing content providers
`(typically web site operators) to provide customized, mul
`timedia presentations to end users within web pages. One
`feature involves a web-based player architecture that pro
`vides multiple display Screens, each of which may corre
`spond to a different content type (e.g., video, menu, caption,
`logo, animation, etc.). Another feature involves the use of
`scripting commands embedded within the video file or other
`Streamed content to control various display attributes of the
`Screens and of the player. These display attributes preferably
`include the Visibility States and positions of the Screens, Such
`that a Video or other Streamed content can Switch content
`items into and out of display and/or move Screens to new
`positions during playing of the Streamed content.
`
`ion pdalink()
`MatrixPlayer - Chart 5. func
`
`function pdalink
`
`
`
`Reas Catandie ion
`fia a data frame
`
`Count total number of pages
`in screentext array in data frame
`
`Datander
`"Text"?
`
`Copy screentext array from
`data frame to Wideo Screen buffer
`
`JR
`
`len?
`
`Ygs
`
`Copy screentext array
`tgieniser
`
`function nextPaget
`
`
`
`
`
`Copy screentext array from
`data frame to Caption Screen beiffer
`
`Rt
`
`"index"?
`
`Copy screentext array
`to index buffer
`
`
`
`
`
`
`
`
`
`Dafarnada:
`"Wide
`
`O
`
`itle
`
`function nextPage2
`
`atamgig =
`"Macro"?
`
`acro
`
`to E
`Exit tyration
`
`---
`
`I
`
`1
`
`Comcast, Ex. 1130
`
`
`
`Patent Application Publication
`
`Aug. 1, 2002 Sheet 1 of 12
`
`US 2002/0104096 A1
`
`VatrixPlayer - Chart 1: Startup and File Structure
`
`default.asp
`
`ASP CODE (VBScript)
`deine one or more hiatrix Player
`arrays. Select a hiatrix Player
`based on the default parameter
`Dr a genparameter
`
`HMl. JavaScript)
`launch pop-up Window
`
`
`
`fmp frames.asp
`
`
`
`N
`
`
`
`page loaded for
`first time
`
`Yes
`
`
`
`Cose. Window
`
`Reload previous
`web page
`
`Define frameset with one
`visible frame and one hidden
`farne for data
`
`
`
`
`
`Load Player into main
`fame based on browser
`
`M
`
`
`
`Netscape
`
`Explorer
`
`
`
`fmp_nn.asp
`
`2
`
`
`
`Patent Application Publication
`
`Aug. 1, 2002 Sheet 2 of 12
`
`US 2002/0104096 A1
`
`VatrixPlayer - Chart 2: Program initialization and Overview
`
`
`
`
`
`
`
`
`
`frmp nr.asp or
`fmp je.asp
`
`ASP CODE: (WBScript)
`decode the parameter string
`and initialize ASPwariables
`
`HTML. (JavaScript)
`loads routines containing
`global functions and video
`functions
`
`linitialize arrays and global
`JavaScriptwariables
`
`
`
`
`
`function xstart)
`initialize layers
`initialize Flash 1 component
`initialize Flash2 component (Netscape only)
`
`
`
`
`
`
`
`
`
`
`
`Wait for user input from
`one of four built-in controls,
`from Flash content, or
`from any loaded Data file.
`
`
`
`function frameControl)
`
`Defaut File
`specified?
`
`function gohereDelayG
`
`3
`
`
`
`Patent Application Publication
`
`Aug. 1, 2002. Sheet 3 of 12
`
`US 2002/0104096 A1
`
`VatrixPlayer - Chart 3: function frameControl() overview
`
`
`
`function frameControl)
`
`
`
`
`
`change selection
`to "Mer"
`
`
`
`
`
`
`
`any contert
`loaded?
`
`End function
`
`Perform operations based on user input
`
`4
`
`
`
`Patent Application Publication
`
`Aug. 1, 2002 Sheet 4 of 12
`
`US 2002/0104096 A1
`
`MatrixPlayer - Chart 3a function frameControl(), input = "Menu"
`
`
`
`
`
`function frame Control
`
`el
`
`Menu mode - CE
`AED current eru
`not main renu?
`
`Yes
`
`remode = FF
`
`N
`
`menu frog - ON?
`
`y
`es
`
`menu node at ON
`
`ment mide: OFF
`
`No
`
`movie
`playing?
`
`Yes
`
`
`
`
`
`Cear, and hide
`Flash
`layer
`
`Hide
`Wideo Layer
`
`
`
`
`
`Show
`Menu layer
`
`a 23
`
`
`
`
`
`fianction goere
`input = "enu"
`
`Ex1 furtet
`
`Hide
`venu Layer
`
`Hida
`Mr. cools
`afe
`
`nowie
`playing?
`
`Yes
`
`Show
`
`Flash 1 Layer
`
`Show
`
`Wideo Layer
`
`function flaStatDelayo
`after is
`
`Exi inct
`
`
`
`Y
`
`5
`
`
`
`Patent Application Publication Aug. 1, 2002 Sheet 5 of 12
`
`US 2002/0104096A1
`
`MatrixPlayer - Chart 3b function frameControl(), input = "Index"
`
`function frameControl
`
`
`
`
`
`
`
`info mode = ON
`
`function gohere
`input = "index"
`
`
`
`
`
`
`
`
`
`info mode = ON?
`
`Exit function
`
`function showhovie info
`
`6
`
`
`
`Patent Application Publication Aug. 1, 2002 Sheet 6 of 12
`
`US 2002/0104096 A1
`
`MatrixPlayer - Chart 3c. function frameControl(), input = "Stop"
`
`
`
`function frame Control
`
`
`
`
`
`Stop movie by cating
`appropriate function
`for the current type
`of movie
`
`
`
`Hide Video Layer
`
`Show Flash 1 Layer
`
`Last button
`pressed = STOP?
`
`
`
`No
`
`
`
`
`
`
`
`Lockout = ON .
`
`function resetPlayer
`after sec
`
`menu mode F ON?
`
`
`
`
`
`
`
`function tiaStartnelay ()
`after 2sec
`
`
`
`
`
`function resetlockout)
`after2sec
`
`
`
`switch bounce = OFF
`
`
`
`
`
`Set ast button
`pressed = STOP
`
`Exit function
`
`7
`
`
`
`Patent Application Publication
`
`Aug. 1, 2002 Sheet 7 of 12
`
`US 2002/0104096 A1
`
`MatrixPlayer - Chart 3d function frameControl(), input = "Pause"
`
`function frameControl
`
`
`
`
`
`
`
`
`
`
`
`
`
`Set last button
`pressed = PAUSE
`
`Pause movie by calling
`appropriate function
`for the current type
`of movie
`
`switch bounce: OFF?
`
`Last button
`pressed = PAUSE?
`
`Last button
`pressed = STOP?
`
`Exit function
`
`8
`
`
`
`Patent Application Publication
`
`Aug. 1, 2002 Sheet 8 of 12
`
`US 2002/0104096 A1
`
`VatrixPlayer - Chart 3e function frameControl(), input = "Play"
`
`
`
`function frameControl
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`lockout - ON .
`
`
`
`menu mode ON?
`
`six
`
`function showdowie FXO
`
`function mowstartDelay0
`after 2sec
`
`Last button
`pressed = PLAY?
`
`switch bounce - OFF
`
`
`
`Clear and Hide
`Flash 1 Layer
`
`last button
`pressed = PAUSF?
`
`
`
`Show
`Video Layer
`
`
`
`
`
`
`
`
`
`Hide
`Menu Layer
`
`Hide
`Menu Controls
`Layers
`
`
`
`menu moder ON?
`
`Continue (un-pause)
`movie by calling
`appropriate function
`for the current type
`of movie
`
`
`
`
`
`Set last button
`pressed = PLAY
`
`----
`
`Exit function
`
`9
`
`
`
`Patent Application Publication Aug. 1, 2002 Sheet 9 of 12
`
`US 2002/0104096 A1
`
`latrixPlayer - Chart 4: function goHere(URL)
`
`function gohere?
`
`No
`
`Lockout 2
`= ON?
`
`Yes
`
`Exit fliction
`
`Lockout 2 = ON
`
`URL ends
`with ".htm"?
`
`Yes
`
`s
`
`load Data file
`into hidden frame
`
`No
`
`
`
`
`
`i
`Lasalam
`
`
`
`
`
`
`
`Menu file
`already in
`tifer?
`
`function showeru
`
`
`
`
`
`
`
`
`
`
`
`No
`
`toad".db Index.htm"
`
`id
`
`index file
`already in
`buffer?
`
`Yes
`
`
`
`function go Here Reset
`after sec
`
`Exit function
`
`10
`
`
`
`Patent Application Publication
`
`Aug. 1, 2002 Sheet 10 of 12 US 2002/0104096 A1
`
`MatrixPlayer - Chart 5: function pdalink()
`
`function pdatink
`
`Read Datamode from
`file in data frame
`
`Count total number of pages
`in screentext array in data frame
`
`Datamode :
`"Text"?
`
`Yes
`
`Copy screentext array from
`data frame to Wideo Screen buffer
`
`No
`
`Yes
`
`Copy screentext array
`to Menu buffer
`
`
`
`function nextPage1)
`
`Oatamoder
`"ext2"?
`
`Yes
`
`Copy screentext array from
`data frame to Caption Screen buffer
`
`Ng
`
`
`
`Datamoder
`"Widgg"?
`
`No
`
`No
`
`-
`URL = "ricex"?
`
`Yes
`
`Copy screentext array
`to index buffer
`
`Yes
`
`function nextPage20
`
`N
`
`
`
`
`
`
`
`
`
`Datamode e
`
`Yes
`
`acro
`
`"Macro"? 1 -
`
`C Exit function
`
`b
`
`11
`
`
`
`Patent Application Publication Aug. 1, 2002 Sheet 11 of 12
`
`US 2002/0104096 A1
`
`MatrixPlayer - Chart 5a function pdalink(), datamode = "Vide
`
`
`
`
`
`function pdalink0
`
`
`
`Copy video Effect
`parameters from hidden frame
`
`
`
`Copy screentext array
`to Movie buffer from
`hidden fame
`
`Perform functions specific to the
`type of Content, i.e. Windows,
`Real, Quicktime, Flash, etc.
`
`
`
`
`
`
`
`
`
`function loadVideo)
`
`Exit function
`
`12
`
`
`
`Patent Application Publication
`
`Aug. 1, 2002 Sheet 12 of 12
`
`US 2002/0104096 A1
`
`VatrixPlayer - Chart 5b, function pdalink(), datamode = "Macri
`
`
`
`function pdalink)
`
`Copy Wideo Effect
`parameters from hidden frame
`
`
`
`S
`
`Copy video Effect
`parameters to permanent array
`
`Convert screentext array to
`JavaScript commands and
`execute
`
`Exit function
`
`
`
`
`
`
`
`
`
`13
`
`
`
`US 2002/0104096 A1
`
`Aug. 1, 2002
`
`SYSTEMAND METHODS FOR PROVIDING
`WEB-BASED MULTIMEDIA PRESENTATIONS
`
`PRIORITY CLAIM
`0001) This application claims the benefit of U.S. Provi
`sional Appl. No. 60/219,393, filed Jul. 19, 2000, the disclo
`Sure of which is hereby incorporated by reference.
`
`FIELD OF THE INVENTION
`0002 The present invention relates to a scripting lan
`guage, and asSociated Software methods and components,
`for allowing content providers to generate customized web
`based multimedia presentations.
`
`SUMMARY OF THE INVENTION
`0003. The present invention provides various features for
`allowing content providers (typically web site operators) to
`provide customized, multimedia presentations to end users
`within web pages. One aspect of the invention involves a
`web-based player architecture that provides multiple display
`Screens, each of which may correspond to a different content
`type (e.g., video, menu, caption, logo, animation, etc.). Each
`Screen is implemented as a layer of the same web page, and
`can be Switched into an out of View based on commands
`contained within a Video file or Stream. In addition, actions
`performed with respect to one Screen cause Specific events
`to occur in other Screens (e.g., Selection of a menu item
`within a menu Screen causes a video to play in the Video
`Screen).
`0004. The screens can also preferably be positioned
`within the web page independently of one another-using a
`data file associated with the web page and/or commands
`embedded within the video file. Some or all of the display
`Screens may occupy the same display area, Such that one
`type of content may be Superimposed over another (e.g., a
`menu displayed over a playing video), or Such that one type
`of content may be immediately Switched into view in place
`of another (e.g., a Video following a user Selection from a
`playlist).
`0005 Another aspect of the invention involves the use of
`scripting commands embedded within the video file or other
`Streamed content to control various display attributes of the
`Screens and of the player. These display attributes preferably
`include the Visibility States and positions of the Screens, Such
`that a video or other Streamed content can Switch content
`items into and out of display and/or move Screens to new
`positions during playing of the Streamed content. Further,
`through Such embedded commands, the Video or other
`Streamed content can preferably control the display of text
`and other non-Streamed content within other Screens in
`Synchronization with the playing of the Streamed content.
`The Video or other Streamed content may also contain a
`command for Specifying a particular player “skin' to be used
`for a particular multimedia presentation.
`0006 Another aspect of the invention involves the pro
`vision of a “pause” command that may be embedded within
`the Video file to cause the Video to be paused at a desired
`location. This command may be used in conjunction with
`other Scripting commands to create an interactive presenta
`tion. For example, a Video may pause itself to allow a
`graphic or advertisement to load, and/or to force the user to
`
`make a Selection. One Specific application for this feature
`involves pausing a Video to display a related advertisement
`Such that the user must perform Some action (e.g., select a
`play button) in order to resume playing of the Video. Another
`Specific application involves an interactive training video
`which pauses itself to allow a Student to respond to a
`multiple-choice question. Pause commands may similarly be
`inserted within other types of content that is played Sequen
`tially, Such as music files and animation files.
`0007 Another aspect of the invention involves the ability
`to play multiple videos of different formats (e.g., Windows
`Media, Real Player, QuickTime, etc.) within the same web
`page. This is preferably accomplished in-part by referencing
`the browser plug-ins for Such video formats as text Strings
`within the web page, and loading each plug-in when it is
`needed.
`
`DETAILED DESCRIPTION OF A PREFERRED
`EMBODIMENT
`0008. A commercial embodiment of the invention,
`referred to herein as the “MatrixPlayer” (or simply
`“Player”), will now be described with reference to the
`attached drawings and charts. This commercial embodiment
`is presented in order to illustrate the various inventive
`features, and thus should not be read in a limiting Sense. The
`Scope of the invention is defined only by the appended
`claims.
`I. Terminology
`0009)
`0010. The following terminology will be used throughout
`the description of the MatrixPlayer:
`0011) User-an individual using a computer and a web
`browser application, e.g. MicroSoft Internet Explorer or
`Netscape Navigator, to View multimedia content, i.e. video,
`being transmitted over the Internet.
`0012 Streaming content-multimedia content, including
`Video, that is normally played Sequentially. Streamed con
`tent typically does not have to be fully downloaded before
`it can be viewed, but rather can be viewed in real time as it
`downloads to the user's computer.
`0013 Encoding the process of converting videotape, or
`other Source material to a digital file that can be played on
`a personal computer. Certain types of encoding will convert
`Source material to Streaming content that can then be trans
`mitted over the Internet.
`0014 Format-the specific type of multimedia content,
`e.g., Windows Media, Real Player, QuickTime, etc. The
`Same item of Streaming content could be available in more
`than one format. For example if Videotape was encoded in
`Windows Media format, only those users that had the
`Windows Media plug-in could watch the video.
`0015 Plug-in-a module of code that is specific to each
`format, typically provided by the manufacturer of that
`format (e.g. Microsoft, Real Networks, Apple Computer,
`etc.). The plug-in only needs to be downloaded one time and
`becomes a component of the user's browser. From time to
`time a plug-in may need to be updated to a newer version.
`0016 Content provider-a company or individual that
`establishes the necessary System required to deliver Stream
`ing content to users. A content provider can deliver Stream
`
`14
`
`
`
`US 2002/0104096 A1
`
`Aug. 1, 2002
`
`ing content in any number of formats but usually Specializes
`in delivering one particular type, e.g. Windows Media.
`0017 Player-an interface for playing multimedia con
`tent on an area of the Screen. The interface typically provides
`various controls that a user may click on to control the
`content, e.g. "Stop”, “pause”, and "play' buttons.
`0.018
`Stand-alone player-A player, typically provided
`by the manufacturer of the format, which appears in its own
`Separate window and is an application that functions inde
`pendently from the browser. Each player of this type has its
`own Specific appearance and can typically only play content
`that is encoded in its own format. (FIG. 3)
`0.019 Web-based player-a player that is part of a web
`page or appears in a browser pop-up window.
`0020
`II. Overview
`0021 General Description
`0022. The MatrixPlayer is a web-based application that
`runs in a browser window. It works in either Microsoft
`Internet Explorer or Netscape Navigator and allows the user
`to view streaming video content. The same MatrixPlayer
`delivers content in Windows Media format, Real Player,
`QuickTime or any newer Streaming format that becomes
`available. While this feature alone separates the Matrix
`Player from other players, there are many other features that
`make it truly unique.
`0023. Before the MatrixPlayer was developed, there were
`two primary ways to play streaming content. The first
`involved using the player application provided by Real
`Networks, Microsoft, or QuickTime. These players appeared
`in their own window, completely Separate from the browser.
`The second method was simply to embed the video directly
`into a web page.
`0024. The MatrixPlayer starts out as a hybrid of both
`methods and adds functionality that is lacking in both. A few
`of the important features of the matrix player are: a fully
`customizable interface complete with “skins' designed for
`the particular application, the ability to change the location
`of the Video and interchange it with Screens of text in real
`time as the video plays, and a powerful Set of Scripting
`commands allowing the Video to fully interact with the user.
`These and other features are described below.
`0025. Overview of Features
`0026 1. Multiple Screens
`0027. One important feature of the MatrixPlayer is the
`ability to Switch between multiple screens of information
`that all occupy the same location in the player, while a video
`is playing. This is the “Matrix” aspect of the player. Most
`televisions and VCRs made today have a similar capability.
`When a perSon is watching a show on TV, they can preSS a
`button on their remote and a menu appears on the Screen.
`They can adjust the Volume, change other Settings on their
`television, or set their VCR while still listening to their
`show. The MatrixPlayer has this same capability; it can
`display alternate Screens of information while a Video is
`playing. This Saves Screen Space, allowing the entire player
`to be Smaller, and at the same time greatly improves the
`appearance of the player by hiding menus and other controls
`until they are needed. All Screens can be independently sized
`and configured as Specified by the content provider through
`
`Scripting commands. One example would be to simply
`display a screen filled with a Macromedia Flash animation
`that plays in the same Space where the Video plays, when
`ever a Video is not playing.
`0028 2. Custom Interface
`0029. Using the custom interface features of the Matrix
`Player, content providers can control the “look and feel” of
`the MatrixPlayer so as to match that of their existing media,
`whether its an existing web site or Simply a company's
`color Scheme. All of this can be accomplished without any
`programming experience. Anyone familiar with Adobe Pho
`toshop can build an entire interface for the MatrixPlayer.
`First, the designer chooses the size that they want the popup
`window to be. Next, the designer specifies a “skin'. The
`Video as well as the other controls can be placed anywhere
`in the window. The controls can be any Size or shape. Unlike
`MicroSoft's newest Stand-alone player, which also has the
`option to use custom skins, a MatrixPlayer Skin can be made
`that is larger than the popup window and can be interactively
`moved by the user or even by the video itself. Using
`scripting commands built into the MatrixPlayer, multiple
`skins can be designed for the same MatrixPlayer window
`and different videos can “choose' their own skin. Skins can
`even be swapped back and forth while a video plays. Further,
`a content provider can implement an appropriate customi
`Zation algorithm to dynamically Select the skin based on a
`profile of the particular user (male versus female, age,
`browsing or purchasing history, etc.)
`0030 The MatrixPlayer also provides interaction
`between Macromedia Flash animations and the regular
`controls of the player. Using this feature, a designer can
`create animated controls with complicated rollovers or other
`effects. An entire skin could be made in Flash and would still
`be completely independent from another Flash animation
`used to occupy the Space when there is no video playing.
`Also, Flash animations generally have quicker download
`times than comparable animated GIFS or Static graphics that
`use JavaScript for animation.
`0031) 3. Scripting
`0032 Scripting works with Windows Media, using its
`ability to send events that are embedded in a video or audio
`Stream. A command Set was developed specifically for the
`MatrixPlayer that allows the content provider to use the
`standard Windows Media authoring tools to embed Matrix
`Player commands in a movie's timeline. Captions are
`received by the MatrixPlayer and are displayed in whatever
`font and color has been Set when the skin was designed. This
`is just another element that improves the look and feel of the
`Player. Any HTML may be included with the caption for
`Spot changes to color, Style, and font. URLS can also be sent
`to the MatrixPlayer, which will open a new window with
`that link.
`0033. In addition to captions and URLs, the MatrixPlayer
`has additional Scripting commands that provide a unique
`authoring environment. For example, a movie can pause
`itself and present the user with a menu of choices. A movie
`can move itself to different locations on the player or even
`outside the player, while the audio track continues to play.
`Scripting commands can change or move the skin or the
`captioned text, for interesting Special effects. A tweening
`command allows the Video, text, or Skin to Scroll Smoothly
`
`15
`
`
`
`US 2002/0104096 A1
`
`Aug. 1, 2002
`
`from one point to another, over a given period on the
`timeline. Finally, there are advanced Scripting commands for
`content providers with programming experience. One allows
`JavaScript commands to be executed directly from the video
`Stream and another will load additional macroS to the
`MatrixPlayer, allowing for future development and expan
`sion of the Player's capabilities, without having to develop
`a new version of the Player itself.
`0034 4. Advertising
`0035) The MatrixPlayer has two built-in methods for
`providing revenue from advertisements. The first is a mecha
`nism to deliver banner ads. The content provider can freely
`choose the Size and location of the banner itself. Banner
`graphics are placed in a folder and are rotated automatically
`each time a Video is played. Banners can also be grouped
`according to content and each group can be associated with
`its corresponding content.
`0.036 The second method of providing advertising con
`tent is through Video commercials. These commercials are
`completely Separate videos that are also Stored in a desig
`nated folder. In the same way that banner ads are rotated,
`Video ads can also be automatically rotated and played at the
`beginning of a feature clip that a user has selected. There is
`no interruption between the commercial and the Video.
`When the commercial ends, the video immediately starts
`with no additional buffering. Video commercials may also
`be grouped according to content. Also, the number of times
`a Video commercial has been played can be tracked and this
`information can be reported to advertisers. Banner ads and
`Video commercials may be used individually, Simulta
`neously, or not at all.
`0037. These and other unique features of the Player are
`described in detail below.
`III. Description
`0038
`0039) Multiple Technologies
`0040. The MatrixPlayer's makes use of a combination of
`technologies, including HTML, DHTML, JavaScript, Java,
`Visual Basic, and Active Server Pages (ASP). When the
`MatrixPlayer is launched, it determines whether the current
`browser is Microsoft Internet Explorer or Netscape Navi
`gator. Because of the numerous differences in the two
`browsers, including differences in the implementation of
`JavaScript, two versions of the MatrixPlayer are used. The
`user is never aware of the two different Players because their
`appearance, feature Set, and operation are identical. Both
`versions of the player share the same Set of data files and can
`play all of the same content.
`0041
`Plug-ins Load Only as Required
`0.042 Another important feature of the MatrixPlayer is
`that plug-ins need not be loaded until they are needed. For
`example, if the content provider only Supplies video in
`Windows Media format, then the MatrixPlayer will not
`attempt to load the Real Player plug-in, even though it has
`the capability of immediately playing RealPlayer content if
`it exists. A Second example would be the use of a Macro
`media Flash animation. If no Flash animations are used, the
`MatrixPlayer will not query the browser for the plug-in and
`the Player will operate normally whether the user already
`has the plug-in or not.
`
`0043. Other browser-based players rely on the use of
`Separate pages. Typically, the user must make a choice
`whether they have the Windows Media plug-in or the Real
`Player plug-in, for example. Once the user makes that
`choice, another web page is loaded accordingly. The Matrix
`Player does not have to load different web pages for different
`players, and the user is not forced to make a choice. The
`content provider Still has the option of giving the user a
`choice of players, and if the user has more than one plug-in
`installed, as is usually the case, they may Switch back and
`forth between plug-ins effortlessly. Unlike other players, the
`MatrixPlayer can play Windows Media content and Real
`Player content in the same frame and in a single page (FIGS.
`1b, 1c).
`0044. On the Macintosh, the RealPlayer plug-in will load
`when necessary to play Real Player content. Windows
`Media content will launch the stand-alone Windows Media
`Player because MicroSoft does not yet Support Streaming
`media content that is embedded in a web page, in MacOS.
`This is expected to change within the next few months.
`0045) Multiple Screens
`0046. As mentioned above, the MatrixPlayer has the
`ability to display a menu or any other HTML content at the
`Same time a Video is playing, in the same Space that the
`video occupies, without interrupting the video. While this is
`a completely new concept in Streaming media player design,
`it is also quite a bit more advanced than the on-Screen text
`menus of a television or VCR.
`0047. The MatrixPlayer has five built in screens; the
`Video, menu, caption, logo, and animation Screens (FIG. 2).
`All five Screens may be independently sized and positioned
`within the MatrixPlayer window. All screens are compo
`nents of a single web page as opposed to being in a frameset.
`Because these components are not constrained by the use of
`frames, they may be dynamically repositioned at any time
`and may even overlap or be placed on top of one another.
`0048 1. Video Screen
`0049. The video screen is simply the area of the Matrix
`Player where video content plays. The video screen can be
`repositioned at any time through Scripting command, inde
`pendent of the other components. Its size can change for
`each Video that is played, allowing for low or high band
`width videos to be played in their respective sizes. The video
`screen can even be moved around the Player while a video
`is playing, using Special MatrixPlayer Scripts. A video
`played with the MatrixPlayer is no longer a Static component
`of a web page. It becomes an interactive component that can
`move to different locations as the content changes, or could
`even “bounce” off the walls of the Player.
`0050 2. Menu Screen
`0051 Normally the menu screen is set to the same size
`and position as the Video Screen. This reduces clutter and
`allows the entire Player itself to be much smaller (FIGS. 1a,
`1b). If desired, the menu Screen can be made any size and
`positioned anywhere. Also, the menu Screen is not limited to
`text or text links. It may contain any HTML formatting,
`images, JavaScript, etc. The menu Screen does not have
`"Scroll bars' but instead has an automatic System for navi
`gating between pages. If the content provider designs a
`menu with many pages, small buttons labeled “Prev' and
`
`16
`
`
`
`US 2002/0104096 A1
`
`Aug. 1, 2002
`
`“Next will automatically appear at the bottom of the menu
`screen. On the first page, only the “Next' button is displayed
`and only the “Prev' button is visible on the last page.
`0.052 3. Caption Screen
`0053. In addition to the menu screen, there is the caption
`Screen. Normally, it contains a textual description of the
`Video but it is also quite useful as an index. Captions Sent by
`Streaming media are Sent to this Screen therefore it is
`generally positioned just below or to the right of the Video
`screen (FIG. 2). The caption screen provides dynamic text
`and HTML content that is changed by each video. A user can
`Switch back and forth between a fixed index or other menu
`and information about the currently loaded Video. Caption
`events Sent by the Video will override any Secondary menu
`in the caption Screen. In contrast, the menu Screen provides
`a menu that is always available, regardless of events Sent by
`the video.
`0.054
`Links in the menu screen can directly load infor
`mation into the caption Screen. Using this functionality, the
`main menu can have a list of hyperlinked categories. When
`one of these linkS is clicked, a list of Subcategories is
`displayed in the caption Screen, while the original list of
`categories remains visible in the menu screen. (FIG. 6b, 6c)
`In this way, it becomes much easier for a user to navigate
`through a large database of information without losing track
`of where they are.
`0055 4. Logo Screen
`0056. The logo screen automatically appears when there
`is no Video playing and disappears once the user has started
`a streaming event (FIGS. 2, 6a). The logo screen may
`contain static GIF or JPEG graphic or may contain a
`Macromedia Flash animation. If a Flash animation is used,
`Some Simple guidelines are followed So that the Flash
`content does not cause conflicts with Streaming media
`COntent.
`0057 5. Animation Screen
`0.058. The animation screen is optional and can be used to
`provide alternate buttons with complicated rollover effects.
`This Screen is designed to use a Second Macromedia Flash
`animation that is completely independent from any other
`Flash content already in use in the Player. The MatrixPlayer
`provides an environment in which a Flash animation can
`control any type of media or any component of the Player
`itself. Furthermore, Windows Media files can send com
`mands to the MatrixPlayer, which in turn can control the
`Flash animation or load other animations.
`0059) Simple Controls
`0060. The MatrixPlayer comes with five built-in controls.
`They are “Stop”, “Pause”, “Play”, “Menu", and “Index”.
`The first three are used to control the video while the last two
`control the menu Screen and caption Screens respectively. A
`single, multi-function “Play/Pause” button can be substi
`tuted for separate “Pause” and “Play” buttons, for a total of
`only four controls (FIG. 2). The “Menu" button Swaps the
`Video Screen with the menu Screen, as they are usually
`positioned on top of one another. If there are nested menu
`Screens, clicking once will return to the root menu Screen
`and clicking a Second time will return to the video Screen.
`The user is never more than two clicks from the video and
`will still hear the audio track no matter what level of menu
`
`is displayed. The "Index' button toggles the caption Screen
`back and forth between the default indeX page and whatever
`text field is displayed with the current video choice. A
`caption sent by a video will always override whatever text
`is currently displayed in the caption Screen.
`0061 Customizable Interface
`0062) The MatrixPlayer's interface is easy for content
`providers to customize. The basic components of the Matrix
`Player are five Screens (discussed above), five buttons, and
`a banner ad. The separate “Pause” button, the fifth screen,
`and the banner are optional. The Matrix Skin designer
`merely decides on the size, Shape and placement of these
`objects and places them all in a single graphic (FIG. 2). This
`graphic becomes the “skin' of the player and can be Saved
`in either GIF or JPEG format. Because there are no restraints
`as to size shape or position of either the buttons or Screens,
`a designer can control the appearance of the MatrixPlayer
`with great flexibility (see, e.g., FIGS. 4, 4b)
`0063) The five buttons that are built into the Player are all
`optional if the designer prov