throbber
(19) United States
`(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

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket