WO2000070871A9 - Method and apparatus for combining video data with static web page data - Google Patents

Method and apparatus for combining video data with static web page data

Info

Publication number
WO2000070871A9
WO2000070871A9 PCT/US2000/009779 US0009779W WO0070871A9 WO 2000070871 A9 WO2000070871 A9 WO 2000070871A9 US 0009779 W US0009779 W US 0009779W WO 0070871 A9 WO0070871 A9 WO 0070871A9
Authority
WO
WIPO (PCT)
Prior art keywords
video image
user
areas
determining
issued
Prior art date
Application number
PCT/US2000/009779
Other languages
French (fr)
Other versions
WO2000070871A1 (en
Inventor
Robert Eady
Edwin Sahakian
Original Assignee
United Internet Technologies I
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by United Internet Technologies I filed Critical United Internet Technologies I
Priority to AU42350/00A priority Critical patent/AU4235000A/en
Publication of WO2000070871A1 publication Critical patent/WO2000070871A1/en
Publication of WO2000070871A9 publication Critical patent/WO2000070871A9/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/74Browsing; Visualisation therefor
    • G06F16/748Hypervideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4314Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for fitting data in a restricted space on the screen, e.g. EPG data in a rectangular grid
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • H04N21/4725End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof

Definitions

  • the present invention relates to the field of use of presenting multimedia information using a computer network. More particularly, the present invention relates to presenting distributed multimedia information.
  • a file that is one megabyte (MB) in size will take approximately 5 minutes to transfer using a modem having a transfer speed of 28,800 bits of second.
  • MB megabyte
  • the transfer often takes much longer.
  • multimedia data files becoming larger in order to contain the length of materials desired, including book audio and video data, the time required for transferring these files are also becoming larger.
  • a proposed solution is to pre-distribute the multimedia data using removable media to an interested user which will allow the user to have any necessary information locally and thus by-pass a download of large multimedia data files. The user can then view video or listen to audio in conjunction with using a browser application to access a content provider's web-site without having to wait for the multimedia to be transferred over the network.
  • a solution is necessary to provide integration of the display of the local multimedia information with the information that is displayed in the browser application.
  • the present invention utilizes custom software in a computer system having a processor, memory, a removable media data storage device, a graphics card, a display, and a network interface to allow the presenting of multimedia information which is contained on removable media and is triggered based upon the actions of the user using a browser application in viewing a content provider' s website.
  • the custom software is installed into the computer system from either the network (e.g., from the content provider's server) or the removable media storage device.
  • the custom software allows the user to access the databases and services of a content provider, and to trigger the presentation of multimedia information (such as audio or video data) based on the user's actions of "browsing" the content provider's website.
  • the user is allowed to select regions in a presented video to trigger additional actions, such as presentation of other multimedia information or further browsing/accessing of a content provider's website.
  • the multimedia information resides on removable media which is distributed to the user and placed by the user into the removable media storage device. By distributing the removable media containing the multimedia information to the user before the user accesses the content provider's website, the user would not have to transfer the multimedia information from the content provider's website. Instead, the multimedia information will be accessible locally.
  • the content provider is a travel agent having a server on the Internet providing users with hyper text mark-up language (HTML) documents.
  • HTML hyper text mark-up language
  • a user would be able to select links in a world-wide-web (WWW) browser application to receive tour information from the server and to trigger the presentation of multimedia data contained on the removable media.
  • the removable media could be media such as compact disk read-only memory (CD-ROM) or digital video disc (DVD) media.
  • the multimedia information on the media allows a user to preview particular tour packages of interest.
  • the user may also access one or more corresponding databases for volatile information such as tour prices, and availability.
  • the user may finalize the transaction by actually booking the tour using the travel agent's scheduling system which will make the appropriate scheduling arrangements with a tour provider.
  • the multimedia information can also allow a user to preview movies or other entertainment information. The user may then select links or hot spots on the presented multimedia information. For example, a user may select on an actor displayed in the present multimedia to find out more information about that actor in a new browser window.
  • Figure 1 is a block diagram of a network configured in accordance with the present invention.
  • FIG. 2 is a block diagram of a computer system configured in accordance with the present invention.
  • Figure 3a illustrates a memory of a computer system configured in accordance with the present invention to contain a player application.
  • Figure 3b illustrates the memory of Figure 3a configured in accordance with the present invention to include a plug-in for a browser application.
  • Figure 4 is a flow diagram of one mode of operation of the present invention, including a multimedia file player.
  • Figure 5 is a flow diagram of one mode of operation of the present invention, including the plug-in and the browser.
  • the present invention provides a method and apparatus for presenting distributed multimedia information.
  • specific embodiments are set forth to provide a thorough understanding of the present invention. However, it will be understood by one skilled in the art, from reading this disclosure, that the invention may be practiced without these details.
  • the present invention is described through the use of the internet and the world wide web, most, if not all, aspects of the invention apply to networks and client/server applications in general. Moreover, well-known elements, devices, process steps and the like are not set forth in detail in order to avoid obscuring the present invention.
  • Figure 1 illustrates a network configured in accordance with the present invention, including a computer system 12, a network 14, and a server 16.
  • computer system 12 represents a general purpose computer which is configured to communicate with other computers such as server 16 over network 14.
  • server 16 represents a general purpose computer configured to communicate with other computers over network 14 to provide text and other data to client computers such as computer system 12.
  • network 14 is a wide-area network such as the Internet.
  • network 14 can be of any type of network, or even be composed of several heterogeneous networks. Therefore, in other embodiments, network 14 can be a local area network, or a combination of local and wide area networks.
  • server 16 is a hyper-text transport protocol (HTTP) server that can provide text and other data to the various computer systems connected to network 14.
  • HTTP hyper-text transport protocol
  • Server 16 can also be configured to perform as a file transfer protocol (FTP) server which allows clients to access files located on the server.
  • FTP file transfer protocol
  • Figure 2 illustrates a preferred embodiment of computer system 12, including a processor 22 coupled to a memory 24 over a memory bus 26 and a display device 28 coupled to processor 22 over a system bus 30.
  • System bus 30 is also coupled to a cursor control device 32, a keyboard 34, a data storage device 36, and a network interface 38.
  • Computer system 12 includes system bus 30 for communicating information, and processor 22 is coupled to system bus 30 for processing information.
  • Memory 24 can be random access memory (RAM) or another dynamic storage device and is coupled to system bus 30 for storing information and instructions to be executed by processor 22. Memory 24 may also be used for storing temporary variables or other intermediate information during execution of instructions by processor 22.
  • Data storage device 36 is coupled to system bus 30 for storing information and instructions and can be a device such as a magnetic disk or optical disk data storage device, and is coupled to the other components of computer system 12 through the use of system bus 30.
  • data storage device 36 is a removable media device such as a compact disk-read only memory (CD-ROM) drive or a digital versatile disc (DVD)/DVD read only memory (DVD-ROM) drive.
  • CD-ROM compact disk-read only memory
  • DVD-ROM digital versatile disc
  • DVD-ROM digital versatile disc
  • DVD-ROM digital versatile disc
  • data storage device 36 can be composed of several data storage devices instead of only the removable media device.
  • data storage device 36 can represent a multiple disk array of "hard disks" (i.e., magnetic disk media), removable media devices, and other data storage devices.
  • Display device 28 which is a device such as a cathode ray tube (CRT), is also coupled to the other components in computer system 12 via system bus 30, for displaying information to a computer user.
  • Keyboard 34 which is an alphanumeric input device including alphanumeric and other keys, is typically coupled to system bus 30 for communicating information and command selections to processor 22.
  • cursor control device 32 such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 22 and for controlling cursor movement on display device 28.
  • This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), which allows the device to specify positions in a plane.
  • Operating system 56 is a general purpose operating system which works with computer system 12 to provide the necessary system for the other software components discussed herein. Other than what is necessary to provide the functionality needed in the present invention, operating system 56 is similar to other operating systems of the prior art.
  • Figure 3a is a block diagram of one embodiment of memory 24 of computer system 12 containing a ULI player 52, a media command interrupter (MCI)/video control library system layer 54, and an operating system 56.
  • the contents of memory 24 can be loaded from data storage device 36 or retrieved from a server over network 14.
  • Figure 3b is a block diagram of another embodiment of memory 24 of computer system 12 additionally containing a browser application 50 and a ULI plug-in 58.
  • browser application 50 interprets and displays files coded in hyper-text mark-up language (HTML). Browser application 50 also initiates external procedure calls to operating system 56 and other applications such as ULI player 52. The functionality of browser application 50 can be extended by using a plug-in such as ULI plug-in 58, which is loaded at execution time.
  • ULI player a plug-in such as ULI plug-in 58
  • ULI player 52 is used to control the retrieval and presentation of multimedia information contained in data storage device 36 or other data sources. In addition to further functions as described below, ULI player 52 contains the following functions: VOLUME, VERSION, DISK, OPEN, EXECUTE, PUT_WINDOW_AT, and PLAY.
  • the VOLUME function allows ULI player 52 to search data storage device 36 for a removable media with a particular label, the label being a series of alphanumeric characters, a series of bits. Thus, for example, ULI player 52 would be able to look for the correct volume identification in a system with multiple volume.
  • the VERSION function allows ULI player 52 to check to see if the removable media is the correct version. This is to ensure that ULI player 52 would only play the most recent version of the multimedia files.
  • ULI player 52 provides the DISK function to check and see if the removable media currently being accessed has the correct identification number.
  • ULI player 52 To play a multimedia file, ULI player 52 provides an OPEN function to open a multimedia file to send to MCI system layer 54.
  • ULI player 52 also uses the PUT_WINDOW_AT function to display a window in which a multimedia file will be presented, and passes the window frame information to MCI system layer 54 so that MCI system layer 54 will know where to display the video content of the multimedia file.
  • ULI player 52 To actually initiate the playing of a multimedia file, ULI player 52 has a PLAY function, which instructs MCI system layer 54 to begin playing the multimedia file by displaying the video portion in a window that has been displayed by the PUT_WINDOW_AT function. ULI player 52 is able to search data storage device 36 and any other data storage device which is coupled to computer system 12 to find the necessary multimedia files to present. ULI player 52 is also able to verify that the file to be presented is the appropriate version.
  • ULI player 52 Other functions supported by ULI player 52 includes the following.
  • a CAPTION function allows the ULI player to change the caption bar of the web browser player window to any given text.
  • a REDIRECT function redirects the web browser to a URL when the player is done playing.
  • a BASE_URL function forces the web browser to be on a specific web page before the ULI player starts playback of a multimedia file.
  • a START_OFFSET function starts the media at a given frame number and allows the media.
  • a WINDOW_SIZE function forces the player window to be a given size and position while FULL_SCREEN function forces the player into full screen mode.
  • An AUTO_START function automatically starts playing the media.
  • a LOOP function restarts the media after it is done playing.
  • a CONTROLS_ON function turns on the player controls while a CONTROLS_ALLOWED function disables or enables the ability to turn controls on or off.
  • a VERSION function requires a specific version of the CD inserted before the media can be played.
  • An ID function requires a specific ID for the inserted CD to be found before the media can be played.
  • ULI plug-in 58 is a plug-in that works with browser 50.
  • ULI plug-in 58 extends the functionality of browser 50.
  • ULI plug-in 58 extends the functionality of browser 50 to both play multimedia file in a browser window and allows user to interact with the play multimedia files through the selection/activation of active areas, as described below.
  • ULI plug-in 58 operates as a wrapper for ULI player 52.
  • ULI player 52 instead of operating in a separate application memory space, shares the same application memory space as ULI plug-in 58.
  • the operation of ULI player remains the same regardless of whether ULI plug-in 58 or another application initiates operation of ULI player 52.
  • FIG. 4 is a flow diagram of one mode of operation of ULI player 52.
  • ULI player 52 is called to initiate the playback of a multimedia file which corresponds to the selection of the user in browser application 50. For example, the user could have chosen a selection in browser application 50 to request more information about a particular cruise, vacation or cruise ship. This selection is detected by browser application 50 and passed on to ULI player 52. Operation then continues with block 152. In block 152, ULI player 52 is loaded into memory 24 and is initialized to begin execution. Operation will then continue with block 154.
  • ULI player 52 will perform the VOLUME function to seek the CD-ROM with the correct label. If there is no CD-ROM with the correct label contained in data storage device 36, the user will be prompted with a dialog screen requesting that the user place the CD-ROM with the correct VOLUME inside data storage device 36. After a CD-ROM with the correct label has been detected, ULI player 52 will also perform the VERSION function, in order to check that the CD-ROM with the correct label is also the correction version of the CD-ROM. In addition, ULI player 52 will also perform the disk function to check to see if the CD-ROM in data storage device 36 has the correct ID number.
  • ULI player 52 will then execute the OPEN command to open the appropriate multimedia file for display.
  • ULI player 52 will also execute the PUT_WINDOW_AT function to display a window on display device 28 in which MCI system layer 54 will display the multimedia file.
  • ULI player 52 will then perform the PLAY function, and operation will continue with block 156.
  • ULI player 52 will pass MCI system layer 54 the coordinate of the window ULI player 52 created with the PUT_WINDOW_AT function, and ULI player 52 also sends MCI system layer 54 the name and location of the multimedia file from which MCI system layer 54 will retrieve the necessary multimedia information to be displayed in the above-mentioned window.
  • this multimedia information not only includes media data, but can include audio data as well. Moreover, this multimedia information can also consist of sprites and other animation information.
  • MCI system layer 54 will perform the playback of the multimedia file.
  • Parallel Addressing Video Technology may also be used to provide Dynamic Integrated Video Overlay (DIVO).
  • DIVO Dynamic Integrated Video Overlay
  • a video image is displayed within a window overlaying another image (e.g., a web page).
  • compositing techniques are employed so that the video is created as a foreground image that is composited with a background image so that the video image appears to form part of the background image (i.e., the video image is integrated as part of the web page, instead of within a window overlaying the web page).
  • DIVO a process for combining Parallel Addressing Video Technology and HTML to create seamless interactive Internet movies that can use a variety of effects to present creative design and information over the Internet.
  • a user first views a web page created using the technology, what initially appears is a standard web page with a full-screen view of a theater stage and selectable menu items to the left and right side of the stage. The user then sees what appears and sounds like a person walking behind the curtains and asking someone else, "How do I get on to the web page?" The user sees and continues to hear what sounds like confusion just prior to an actor pulling/tearing through the curtains (appearing to tear through the web page) and climbing out through what the user had thought were standard static web graphics.
  • the actors moves around on the stage and introduces the user to the web site.
  • the user can then select various options to see different scenes from the site including among others, curtains opening to a movie screen that starts to play a movie trailer, or advertisements which expand to take over the full computer screen.
  • Phase 1 Creative and Technical Scene Design.
  • Phase 5 Deployment of DIVO Pages to the Internet.
  • a website designer might determine what is needed is a web page to allow users to view movie trailers for upcoming films, interviews with celebrities, and to be able to purchase tickets at their local theaters for upcoming films.
  • the designer determines that it would be desirable to present this with a scene from within a theater.
  • the designer wants the users to view the scene as if they were members of the audience sitting in a movie theater.
  • the designer also wants a host to tear through the curtains in the scene and then introduce the user to the different parts of the web site.
  • Part of this design is to determine which portion of the scene would need be live video, which would be animated graphics, and which still images would be needed.
  • the following is an example of suitable selections for this purpose:
  • Live video The center of the stage and any area where the curtains would move as a result of the host tearing through would need to be live. For example, at the beginning of the scene, the actor's feet would be seen moving just below the curtain with a voice over of a somewhat confused host asking backstage directors how the host is supposed to get on the stage.
  • a set of icons to the right and left of the stage needs to be created to display the user options to take the user to different areas of the web site.
  • a display board similar to that at the front of a movie theater would have moving lights. This could be achieved using a series of animated graphics.
  • Still images are designed as graphic interchange format (GIF) and Joint Photographic Experts Group (JPEG) graphics. They are created using standard web graphic design principles and are optimized for size to allow for faster transfer over all networks, including the Internet.
  • GIF graphic interchange format
  • JPEG Joint Photographic Experts Group
  • Each of the still images are created first, including a place holding image for each of the animated graphics.
  • Background and overlay images are created for use in the video, these can be props, backdrops, etc.
  • Animated GIF graphics are then created to replace the place-holder graphics.
  • a video shoot is done on a stage or set using green/blue screens for creating a composite image in the same manner that a weather person or special effects in a movie are done.
  • the stage area floor also receives a green or blue screen treatment to provide total control over the scene.
  • the outfits for actors and place-holder props used in the scene are a different color than the green or blue screen being used in the background (and in some cases, portions of the foreground).
  • All of the video footage captured in the video shoot is done in a format as close to zero-compression as possible (e.g., Sony BetaSP and Digital Beta).
  • a format as close to zero-compression as possible e.g., Sony BetaSP and Digital Beta.
  • the largest subject shot available is done and camera angles and sets are designed with this principle in mind.
  • a high quality video codec is used to format the video into a computer readable digital video at zero- compression (e.g., a Targa Quicktime Codec).
  • Basic editing is done using digital video software tools (e.g., Adobe Premiere video editing software). During this edit phase, standard video cuts are performed and there is piecing together of various shots (e.g., removing actors mistakes, adding tape segments, etc.). Audio fixes and level corrections are also done at this point. The edited version is then output to a zero-compression format (e.g., Apple Computer, Inc.'s QuickTime format).
  • digital video software tools e.g., Adobe Premiere video editing software.
  • standard video cuts are performed and there is piecing together of various shots (e.g., removing actors mistakes, adding tape segments, etc.). Audio fixes and level corrections are also done at this point.
  • the edited version is then output to a zero-compression format (e.g., Apple Computer, Inc.'s QuickTime format).
  • E) Effects Editing The video is then imported into a video effects software (e.g., Adobe After Effects and various plug-ins for that application). Further editing is done and special effects are added at this point. Compositing is done using a chroma-key to replace the green/blue screen with our background images and prop place-holder images according to well known techniques, (e.g., a Boris FX Chroma Key Plug-In) The file is then output to an uncompressed master video.
  • a video effects software e.g., Adobe After Effects and various plug-ins for that application. Further editing is done and special effects are added at this point. Compositing is done using a chroma-key to replace the green/blue screen with our background images and prop place-holder images according to well known techniques, (e.g., a Boris FX Chroma Key Plug-In)
  • the file is then output to an uncompressed master video.
  • the video is then compressed into two different formats following the Motion Picture Experts Group (MPEG) format.
  • Format 1 is compressed to a high resolution of 384 x 288 pixels with a data rate of 360 kb/second.
  • Standard video is compressed to a resolution of 320 x 240 pixels at a rate of 160 kb/second for non-DIVO, and compressed at 320 x 240 pixels at a rate of 360 kb/second for DIVO format.
  • the different video formats are created to allow maximum usability with there being a variant level of support in the MPEG standard between various vendors of computer hardware and software.
  • the video may be encrypted during the processing of the video to prevent unauthorized access to the content of the multimedia file. Access may be then provided if a user provides the proper access codes or passwords, as described below.
  • the web page may incorporate both the video and the still and animated graphic elements created in the other phases of development.
  • the video portion of the screen starts as a single-image (e.g., using the first frame of video), overlaid on top of a still background image to provide what appears to be a standard web page.
  • ULI player 52 and ULI plug-in 58 are used to provide the enhanced functionality of DIVO as follows:
  • A)ULI player 52 and ULI plug-in 58 are a web browser "helper application” and a web browser “plug-in”, respectively.
  • ULI plug-in 58 operates as a browser plug-in component for browser application 50 and interfaces with ULI player 52.
  • ULI player 52 is, in one preferred embodiment, a 32-bit application.
  • ULI plug-in 58 allows the integration of video within a browser window. This enhanced capability allows the embedding of video within any selected area of the browser client window. It also maintains compatibility with existing HTML code. Full screen video can be displayed by specifying the full-size of the browser window, or by launching the separate "helper application", ULI player 52, to display it in a separate window.
  • ULI plug-in 58 uses the Netscape Corporation Plug-In Application Programming Interface (API), which can also be called through Microsoft Corporation's Internet Explorer web browser software.
  • API Netscape Corporation Plug-In Application Programming Interface
  • E)ULI plug-in 58 also has Vector-Image-Mapping (VIM) functionality allowing videos to become interactive. Hyperlink areas within each video are mapped out with a set of co-ordinates. Several areas can be mapped out, each can be selectable for a set of frames. By selecting one of the hyperlink areas during video playback, the user can move within the video to another section, link to a specified URL, or even call an external program.
  • VIP Vector-Image-Mapping
  • VIM file is distributed with each video produced, either on the same distribution media as the distributed multimedia, or separately.
  • This file contains the name of the actual video file to be played, and the various commands to select areas of the video as hyperlinks.
  • the file contains the list of areas within each video that are VIM enabled and the respective hyperlinks for these areas.
  • Table 1 contains a listing of the fields used in the VIM file.
  • MCI system layer 54 is modified to use a media interpreter/player such as DirectShow by Microsoft Corporation.
  • ULI plug-in 58 is called by the browser in place of the "helper-application", ULI player 52.
  • a VIM program has been created to address the end-user needs in accessing hyperlinks within a video.
  • VIM file structure is a collection of variable length chunks. All chunks consist of a chunk header and a body. Before all else is the file signature with is 3 bytes long "VIM": Chunk Header:
  • the ULI file structure is a collection of variable length chunks. All chunks consist of a chunk header and a body. Before all else in the file signature with is 3 bytes long "ULI": Chunk Header:
  • volume name string The volume name itself
  • volume end 0 bytes End of volume names
  • License code 4 bytes (int) Encryption code to prevent editing of
  • Phase 5 Deployment of DIVO Pages to the Internet.
  • Deployment can be accomplished as follows: l)Web documents are prepared for the web site, including the creation of the video files.
  • Video files are played in the VIM editor. Selections and their corresponding hyper-links are made. These are saved to a VIM file.
  • Video files and VIM files are stored on media (CD-Rom, DVD, DVD-ROM).
  • Standard page design principles are used throughout for the page layout, and by using the Parallel Addressing Video Technology described above, it is possible to integrate the video seamlessly as part of the scene comprised of still images and animated graphics. As a result, the total page comes to life as an interactive video without the need for very large video formats (full-screen video), and without the user recognizing that the video is only a small part of the overall screen.
  • the Parallel Addressing Video Technology combined with HTML, displays the MPEG video at a rate of 30 frames per second, or, close to television quality.
  • FIG. 5 is a flow diagram illustrating the operation of the system to offer DIVO functionality in accordance with one embodiment of the present invention. The process starts when, after a user has opened a browser application, is connected with a web browser containing DIVO pages. In block 500, the user initiates a download of an ULI file (i.e., a file with a
  • the user may initiate the download of the ULI file through the browser application's menu system, or by clicking on a link on the displayed web page in the browser application.
  • browser application 50 initializes ULI player 52 through the use of ULI plug-in 58.
  • browser application 50 determines the application that is assigned to handle the processing of the ULI file.
  • browser application 50 associates the ULI file with ULI plug-in 58 and pass the ULI file reference to ULI plug-in 58.
  • ULI plug-in 58 then initiates ULI player 52 and run ULI player 52 with the ULI file. Operation will then continues with block 502.
  • the file command interpreter of ULI player 52 seeks for and loads the VIM file based on the content of the ULI file.
  • the ULI file contains the location of the VIM file and the multimedia file (e.g., video file) that is associated with the VIM file. As discussed above, each VIM file has an associated multimedia file.
  • the file command interpreter of ULI player 52 optionally retrieves a key to decrypt any information in the multimedia file.
  • the ULI file contains location information for an authentication server from which a key may be retrieved once the user has provided proper authentication. The authentication process could involve the authentication server asking the user for a user name/password and then provide a decryption key to ULI player 52.
  • ULI player 52 parses the contents of the VIM file, locate all segments of the multimedia files which are to be played, and sets up active areas (e.g., "hot spots"), for a respective segment of multimedia. Operation then continues with block 506.
  • ULI player 52 plays the multimedia sequence (e.g., video/audio media) sequence, and, through the functionality provided by plug-in 58, the multimedia sequence appears integrated into the current background.
  • the multimedia file is encrypted
  • ULI player 52 decrypts the multimedia file with the key that is retrieved in block 502.
  • ULI player 52 also determines if the user has selected an active area in the area where the multimedia sequence is being presented.
  • the active areas may offer a rollover-type of interactivity. For example, if a user puts a cursor above an active area in the multimedia window, but does not click the mouse button, certain actions may be triggered simply by the movement of cursor over that area.
  • ULI player 52 detects whether an active area has been triggered by the user. If an active area has been triggered by the user, then operation continues with 512 where ULI player 52 processes the selection event. If an active area has not been triggered by the user, then operation continues with block 510, where ULI player 52 continues with block 510.
  • ULI player 52 detects if there are additional segments of multimedia files to be played. If so, operation continues with block 504, where the next segment is loaded and the corresponding active areas are configured. If there are no additional segments of multimedia files to be played, ULI player 52 stops seeking additional segments.

Abstract

What is disclosed is a method for presenting a video image (506) and compositing the video image (506) with a static web page in a browser application (50) including receiving a request from a user to initiate the playback of the video image (506) stored on a pre-distributed medium. Further, the disclosed method also includes transferring, from a network, a control file containing location information for the video image (506) and a vector-image-mapping (504) file associated with the video image (506). Processing the vector-image-mapping (504) file to retrieve a set of active areas (508) coordinates. Then associating the set of active areas coordinates with a set of areas in the video image (506); and, presenting the video image (506) while determining user interactivity within the set of areas in the video image. An apparatus for performing the method is disclosed.

Description

METHOD AND APPARATUS FOR COMBINING VIDEO DATA WITH STATIC WEB PAGE DATA
Field of the Invention The present invention relates to the field of use of presenting multimedia information using a computer network. More particularly, the present invention relates to presenting distributed multimedia information.
Description of Related Art Currently, content providers who wish to provide multimedia data such as video and audio data to users over a network such as the Internet must be cognizant of the size of the multimedia data to be transferred as most users will not be willing to endure the length of time required to transfer large files. In addition, transferring large files poses other problems in cases where users do not have a stable network connection. This leads to interrupted information transfer, which in turn results in wasted bandwidth and time to perform re-transfers.
For example, assuming no control information overhead and perfect line conditions, a file that is one megabyte (MB) in size will take approximately 5 minutes to transfer using a modem having a transfer speed of 28,800 bits of second. However, under normal conditions, accounting for overhead data and imperfect line conditions, the transfer often takes much longer. With multimedia data files becoming larger in order to contain the length of materials desired, including book audio and video data, the time required for transferring these files are also becoming larger.
Although advances in communications networks have been made to increase the transfer speed of these files, the rate at which files are growing is still outpacing the rate at which transfer speeds are increasing. Consequently, content providers must design "web-sites," which are comprised of files containing hyper-text markup language (HTML), digital audio and video information, so as not require a significant amount of time or network resources to load. Unfortunately, this means that content providers have to use lower quality versions of multimedia files, which has been subjected to some data compression schemes, to present their messages.
The network constraints described above are not acceptable for applications where large multimedia files must be transferred. For example, in a web-site l containing various advertisements for cruise ship utilizing audio/video information in addition to text, a content provider might desire to play a sample video for each cruise package in which a user expresses an interest. However, with the current level of network technology that is available to a majority of users, this desire is not achievable . A proposed solution is to pre-distribute the multimedia data using removable media to an interested user which will allow the user to have any necessary information locally and thus by-pass a download of large multimedia data files. The user can then view video or listen to audio in conjunction with using a browser application to access a content provider's web-site without having to wait for the multimedia to be transferred over the network. However, a solution is necessary to provide integration of the display of the local multimedia information with the information that is displayed in the browser application.
SUMMARY OF THE INVENTION The present invention utilizes custom software in a computer system having a processor, memory, a removable media data storage device, a graphics card, a display, and a network interface to allow the presenting of multimedia information which is contained on removable media and is triggered based upon the actions of the user using a browser application in viewing a content provider' s website. The custom software is installed into the computer system from either the network (e.g., from the content provider's server) or the removable media storage device. The custom software allows the user to access the databases and services of a content provider, and to trigger the presentation of multimedia information (such as audio or video data) based on the user's actions of "browsing" the content provider's website. In addition, the user is allowed to select regions in a presented video to trigger additional actions, such as presentation of other multimedia information or further browsing/accessing of a content provider's website. The multimedia information resides on removable media which is distributed to the user and placed by the user into the removable media storage device. By distributing the removable media containing the multimedia information to the user before the user accesses the content provider's website, the user would not have to transfer the multimedia information from the content provider's website. Instead, the multimedia information will be accessible locally. In one embodiment, the content provider is a travel agent having a server on the Internet providing users with hyper text mark-up language (HTML) documents. A user would be able to select links in a world-wide-web (WWW) browser application to receive tour information from the server and to trigger the presentation of multimedia data contained on the removable media. The removable media could be media such as compact disk read-only memory (CD-ROM) or digital video disc (DVD) media.
The multimedia information on the media allows a user to preview particular tour packages of interest. The user may also access one or more corresponding databases for volatile information such as tour prices, and availability. When the user has decided which tour they intend to schedule, the user may finalize the transaction by actually booking the tour using the travel agent's scheduling system which will make the appropriate scheduling arrangements with a tour provider.
In another embodiment, the multimedia information can also allow a user to preview movies or other entertainment information. The user may then select links or hot spots on the presented multimedia information. For example, a user may select on an actor displayed in the present multimedia to find out more information about that actor in a new browser window.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of a network configured in accordance with the present invention;
Figure 2 is a block diagram of a computer system configured in accordance with the present invention;
Figure 3a illustrates a memory of a computer system configured in accordance with the present invention to contain a player application.
Figure 3b illustrates the memory of Figure 3a configured in accordance with the present invention to include a plug-in for a browser application.
Figure 4 is a flow diagram of one mode of operation of the present invention, including a multimedia file player. Figure 5 is a flow diagram of one mode of operation of the present invention, including the plug-in and the browser. DETAILED DESCRIPTION OF THE INVENTION
The present invention provides a method and apparatus for presenting distributed multimedia information. For purposes of explanation, specific embodiments are set forth to provide a thorough understanding of the present invention. However, it will be understood by one skilled in the art, from reading this disclosure, that the invention may be practiced without these details. Further, although the present invention is described through the use of the internet and the world wide web, most, if not all, aspects of the invention apply to networks and client/server applications in general. Moreover, well-known elements, devices, process steps and the like are not set forth in detail in order to avoid obscuring the present invention.
Figure 1 illustrates a network configured in accordance with the present invention, including a computer system 12, a network 14, and a server 16. Aside from the inventive portions of computer system 12, as discussed below, computer system 12 represents a general purpose computer which is configured to communicate with other computers such as server 16 over network 14. Similarly, server 16 represents a general purpose computer configured to communicate with other computers over network 14 to provide text and other data to client computers such as computer system 12.
In a preferred embodiment, network 14 is a wide-area network such as the Internet. However, network 14 can be of any type of network, or even be composed of several heterogeneous networks. Therefore, in other embodiments, network 14 can be a local area network, or a combination of local and wide area networks.
In the preferred embodiment, server 16 is a hyper-text transport protocol (HTTP) server that can provide text and other data to the various computer systems connected to network 14. Server 16 can also be configured to perform as a file transfer protocol (FTP) server which allows clients to access files located on the server.
Figure 2 illustrates a preferred embodiment of computer system 12, including a processor 22 coupled to a memory 24 over a memory bus 26 and a display device 28 coupled to processor 22 over a system bus 30. System bus 30 is also coupled to a cursor control device 32, a keyboard 34, a data storage device 36, and a network interface 38.
Computer system 12 includes system bus 30 for communicating information, and processor 22 is coupled to system bus 30 for processing information. Memory 24 can be random access memory (RAM) or another dynamic storage device and is coupled to system bus 30 for storing information and instructions to be executed by processor 22. Memory 24 may also be used for storing temporary variables or other intermediate information during execution of instructions by processor 22.
Data storage device 36 is coupled to system bus 30 for storing information and instructions and can be a device such as a magnetic disk or optical disk data storage device, and is coupled to the other components of computer system 12 through the use of system bus 30. In the preferred embodiment, data storage device 36 is a removable media device such as a compact disk-read only memory (CD-ROM) drive or a digital versatile disc (DVD)/DVD read only memory (DVD-ROM) drive. The removable media could be distributed to users by mail or other means. Therefore, a user would have the removable media available to be placed into the removable media device at the appropriate time, as explained below. It is to be noted that data storage device 36 can be composed of several data storage devices instead of only the removable media device. Thus, in alternative embodiments data storage device 36 can represent a multiple disk array of "hard disks" (i.e., magnetic disk media), removable media devices, and other data storage devices.
Display device 28, which is a device such as a cathode ray tube (CRT), is also coupled to the other components in computer system 12 via system bus 30, for displaying information to a computer user. Keyboard 34, which is an alphanumeric input device including alphanumeric and other keys, is typically coupled to system bus 30 for communicating information and command selections to processor 22. Another type of user input device is cursor control device 32, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 22 and for controlling cursor movement on display device 28. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), which allows the device to specify positions in a plane.
Operating system 56 is a general purpose operating system which works with computer system 12 to provide the necessary system for the other software components discussed herein. Other than what is necessary to provide the functionality needed in the present invention, operating system 56 is similar to other operating systems of the prior art.
Figure 3a is a block diagram of one embodiment of memory 24 of computer system 12 containing a ULI player 52, a media command interrupter (MCI)/video control library system layer 54, and an operating system 56. The contents of memory 24 can be loaded from data storage device 36 or retrieved from a server over network 14. Figure 3b is a block diagram of another embodiment of memory 24 of computer system 12 additionally containing a browser application 50 and a ULI plug-in 58.
In the preferred embodiment of the present invention, browser application 50 interprets and displays files coded in hyper-text mark-up language (HTML). Browser application 50 also initiates external procedure calls to operating system 56 and other applications such as ULI player 52. The functionality of browser application 50 can be extended by using a plug-in such as ULI plug-in 58, which is loaded at execution time. ULI player
ULI player 52 is used to control the retrieval and presentation of multimedia information contained in data storage device 36 or other data sources. In addition to further functions as described below, ULI player 52 contains the following functions: VOLUME, VERSION, DISK, OPEN, EXECUTE, PUT_WINDOW_AT, and PLAY.
The VOLUME function allows ULI player 52 to search data storage device 36 for a removable media with a particular label, the label being a series of alphanumeric characters, a series of bits. Thus, for example, ULI player 52 would be able to look for the correct volume identification in a system with multiple volume. The VERSION function allows ULI player 52 to check to see if the removable media is the correct version. This is to ensure that ULI player 52 would only play the most recent version of the multimedia files.
ULI player 52 provides the DISK function to check and see if the removable media currently being accessed has the correct identification number.
To play a multimedia file, ULI player 52 provides an OPEN function to open a multimedia file to send to MCI system layer 54.
ULI player 52 also uses the PUT_WINDOW_AT function to display a window in which a multimedia file will be presented, and passes the window frame information to MCI system layer 54 so that MCI system layer 54 will know where to display the video content of the multimedia file.
To actually initiate the playing of a multimedia file, ULI player 52 has a PLAY function, which instructs MCI system layer 54 to begin playing the multimedia file by displaying the video portion in a window that has been displayed by the PUT_WINDOW_AT function. ULI player 52 is able to search data storage device 36 and any other data storage device which is coupled to computer system 12 to find the necessary multimedia files to present. ULI player 52 is also able to verify that the file to be presented is the appropriate version.
Other functions supported by ULI player 52 includes the following. A CAPTION function allows the ULI player to change the caption bar of the web browser player window to any given text. A REDIRECT function redirects the web browser to a URL when the player is done playing. A BASE_URL function forces the web browser to be on a specific web page before the ULI player starts playback of a multimedia file. A START_OFFSET function starts the media at a given frame number and allows the media. A WINDOW_SIZE function forces the player window to be a given size and position while FULL_SCREEN function forces the player into full screen mode. An AUTO_START function automatically starts playing the media. A LOOP function restarts the media after it is done playing. A CONTROLS_ON function turns on the player controls while a CONTROLS_ALLOWED function disables or enables the ability to turn controls on or off. A VERSION function requires a specific version of the CD inserted before the media can be played. An ID function requires a specific ID for the inserted CD to be found before the media can be played. ULI plug-in
ULI plug-in 58, as described above is a plug-in that works with browser 50. ULI plug-in 58 extends the functionality of browser 50. For example, ULI plug-in 58 extends the functionality of browser 50 to both play multimedia file in a browser window and allows user to interact with the play multimedia files through the selection/activation of active areas, as described below.
In one embodiment, ULI plug-in 58 operates as a wrapper for ULI player 52. Thus, ULI player 52, instead of operating in a separate application memory space, shares the same application memory space as ULI plug-in 58. The operation of ULI player remains the same regardless of whether ULI plug-in 58 or another application initiates operation of ULI player 52.
Figure 4 is a flow diagram of one mode of operation of ULI player 52. In block 150, ULI player 52 is called to initiate the playback of a multimedia file which corresponds to the selection of the user in browser application 50. For example, the user could have chosen a selection in browser application 50 to request more information about a particular cruise, vacation or cruise ship. This selection is detected by browser application 50 and passed on to ULI player 52. Operation then continues with block 152. In block 152, ULI player 52 is loaded into memory 24 and is initialized to begin execution. Operation will then continue with block 154.
In block 154, ULI player 52 will perform the VOLUME function to seek the CD-ROM with the correct label. If there is no CD-ROM with the correct label contained in data storage device 36, the user will be prompted with a dialog screen requesting that the user place the CD-ROM with the correct VOLUME inside data storage device 36. After a CD-ROM with the correct label has been detected, ULI player 52 will also perform the VERSION function, in order to check that the CD-ROM with the correct label is also the correction version of the CD-ROM. In addition, ULI player 52 will also perform the disk function to check to see if the CD-ROM in data storage device 36 has the correct ID number. If VOLUME, VERSION, and DISK functions execute correctly, ULI player 52 will then execute the OPEN command to open the appropriate multimedia file for display. In addition, ULI player 52 will also execute the PUT_WINDOW_AT function to display a window on display device 28 in which MCI system layer 54 will display the multimedia file. ULI player 52 will then perform the PLAY function, and operation will continue with block 156. In block 156, ULI player 52 will pass MCI system layer 54 the coordinate of the window ULI player 52 created with the PUT_WINDOW_AT function, and ULI player 52 also sends MCI system layer 54 the name and location of the multimedia file from which MCI system layer 54 will retrieve the necessary multimedia information to be displayed in the above-mentioned window. As noted above, this multimedia information not only includes media data, but can include audio data as well. Moreover, this multimedia information can also consist of sprites and other animation information. After ULI player 52 calls MCI system layer 54 and provides the above information, operation will then continue with block 158.
In block 158, MCI system layer 54 will perform the playback of the multimedia file.
The above-described process for displaying video images in a window overlaying a web page (referred to as Parallel Addressing Video Technology), may also be used to provide Dynamic Integrated Video Overlay (DIVO). In Parallel Addressing Video Technology, a video image is displayed within a window overlaying another image (e.g., a web page). In DIVO, however, instead of the video being displayed within a window, compositing techniques are employed so that the video is created as a foreground image that is composited with a background image so that the video image appears to form part of the background image (i.e., the video image is integrated as part of the web page, instead of within a window overlaying the web page).
In DIVO, a process is described for combining Parallel Addressing Video Technology and HTML to create seamless interactive Internet movies that can use a variety of effects to present creative design and information over the Internet. In one example, when a user first views a web page created using the technology, what initially appears is a standard web page with a full-screen view of a theater stage and selectable menu items to the left and right side of the stage. The user then sees what appears and sounds like a person walking behind the curtains and asking someone else, "How do I get on to the web page?" The user sees and continues to hear what sounds like confusion just prior to an actor pulling/tearing through the curtains (appearing to tear through the web page) and climbing out through what the user had thought were standard static web graphics. Once on stage, the actors moves around on the stage and introduces the user to the web site. The user can then select various options to see different scenes from the site including among others, curtains opening to a movie screen that starts to play a movie trailer, or advertisements which expand to take over the full computer screen.
The process allows creative artists and designers an almost unlimited number of television and movie style special effects to incorporate into interactive web pages.
In one embodiment, there are five phases to the creation of DIVO pages: Phase 1 : Creative and Technical Scene Design.
Phase 2: Graphic Design of Static Elements.
Phase 3: Video Production and Post Product Effects Creation.
Phase 4: Web Page Integration of Static and Active Elements.
Phase 5: Deployment of DIVO Pages to the Internet.
Phase 1: Creative and Technical Scene Design
During this phase, web designers review and determine what their web pages needs to provide the audience/user to effectively present their message and allow the user to make use of the page interactively. Creative designers determine how they would like the DIVO page to appear to the user.
By way of example, a website designer might determine what is needed is a web page to allow users to view movie trailers for upcoming films, interviews with celebrities, and to be able to purchase tickets at their local theaters for upcoming films.
For the introductory "Home" page, the designer determines that it would be desirable to present this with a scene from within a theater. The designer wants the users to view the scene as if they were members of the audience sitting in a movie theater. The designer also wants a host to tear through the curtains in the scene and then introduce the user to the different parts of the web site.
Part of this design is to determine which portion of the scene would need be live video, which would be animated graphics, and which still images would be needed. The following is an example of suitable selections for this purpose:
A) Live video: The center of the stage and any area where the curtains would move as a result of the host tearing through would need to be live. For example, at the beginning of the scene, the actor's feet would be seen moving just below the curtain with a voice over of a somewhat confused host asking backstage directors how the host is supposed to get on the stage.
B) Animated Images: A set of icons to the right and left of the stage needs to be created to display the user options to take the user to different areas of the web site. For one example, a display board similar to that at the front of a movie theater would have moving lights. This could be achieved using a series of animated graphics.
C) Still Images: The top and far left/right portions of the curtains do not move during the movement on stage. In addition, images of the stage and front row seats would be static during the action on stage, therefore they may be still images as well. A production list is now assembled and the other phases can begin. Phase 2: Graphic Design of Static Elements
Still images are designed as graphic interchange format (GIF) and Joint Photographic Experts Group (JPEG) graphics. They are created using standard web graphic design principles and are optimized for size to allow for faster transfer over all networks, including the Internet. Each of the still images are created first, including a place holding image for each of the animated graphics. Background and overlay images (also still) are created for use in the video, these can be props, backdrops, etc. Animated GIF graphics are then created to replace the place-holder graphics.
Phase 3: Video Production and Post Production Effects Creation A) Video Shoot
A video shoot is done on a stage or set using green/blue screens for creating a composite image in the same manner that a weather person or special effects in a movie are done. The stage area floor also receives a green or blue screen treatment to provide total control over the scene. The outfits for actors and place-holder props used in the scene are a different color than the green or blue screen being used in the background (and in some cases, portions of the foreground).
All of the video footage captured in the video shoot is done in a format as close to zero-compression as possible (e.g., Sony BetaSP and Digital Beta). The largest subject shot available is done and camera angles and sets are designed with this principle in mind.
For example: during a video shoot for the above described scenario, the actor is required to stand behind a green screen curtain and then tear/climb through the curtain to end up in front of it. The actor then does an introduction before climbing back through the curtain. B) Image Creation
Background images other than the first frame images (created in Phase 2) are created for the scene. Graphics for any of the place-holder props used during the shoot are also created. These are created as high-resolution (TIF) graphics.
C) Digital Capture The video footage is processed using a digital capture board attached to a computer. This footage is captured as close to zero-compression as possible using advanced equipment (e.g., a Targa 2000 RTX capture peripheral). A high quality video codec is used to format the video into a computer readable digital video at zero- compression (e.g., a Targa Quicktime Codec). D) Basic Editing
Basic editing is done using digital video software tools (e.g., Adobe Premiere video editing software). During this edit phase, standard video cuts are performed and there is piecing together of various shots (e.g., removing actors mistakes, adding tape segments, etc.). Audio fixes and level corrections are also done at this point. The edited version is then output to a zero-compression format (e.g., Apple Computer, Inc.'s QuickTime format).
E) Effects Editing The video is then imported into a video effects software (e.g., Adobe After Effects and various plug-ins for that application). Further editing is done and special effects are added at this point. Compositing is done using a chroma-key to replace the green/blue screen with our background images and prop place-holder images according to well known techniques, (e.g., a Boris FX Chroma Key Plug-In) The file is then output to an uncompressed master video.
F) Compression to MPEG Standard
The video is then compressed into two different formats following the Motion Picture Experts Group (MPEG) format. Format 1 is compressed to a high resolution of 384 x 288 pixels with a data rate of 360 kb/second. Standard video is compressed to a resolution of 320 x 240 pixels at a rate of 160 kb/second for non-DIVO, and compressed at 320 x 240 pixels at a rate of 360 kb/second for DIVO format. The different video formats are created to allow maximum usability with there being a variant level of support in the MPEG standard between various vendors of computer hardware and software. Optionally, the video may be encrypted during the processing of the video to prevent unauthorized access to the content of the multimedia file. Access may be then provided if a user provides the proper access codes or passwords, as described below.
Phase 4: Web Page Integration of Static and Active Elements
At this point, the web page may incorporate both the video and the still and animated graphic elements created in the other phases of development. The video portion of the screen starts as a single-image (e.g., using the first frame of video), overlaid on top of a still background image to provide what appears to be a standard web page.
ULI player 52 and ULI plug-in 58 are used to provide the enhanced functionality of DIVO as follows:
A)ULI player 52 and ULI plug-in 58 are a web browser "helper application" and a web browser "plug-in", respectively. Thus, ULI plug-in 58 operates as a browser plug-in component for browser application 50 and interfaces with ULI player 52.
B)The ULI player 52 is, in one preferred embodiment, a 32-bit application. C)The use of ULI plug-in 58 allows the integration of video within a browser window. This enhanced capability allows the embedding of video within any selected area of the browser client window. It also maintains compatibility with existing HTML code. Full screen video can be displayed by specifying the full-size of the browser window, or by launching the separate "helper application", ULI player 52, to display it in a separate window.
D)In one embodiment, ULI plug-in 58 uses the Netscape Corporation Plug-In Application Programming Interface (API), which can also be called through Microsoft Corporation's Internet Explorer web browser software. E)ULI plug-in 58 also has Vector-Image-Mapping (VIM) functionality allowing videos to become interactive. Hyperlink areas within each video are mapped out with a set of co-ordinates. Several areas can be mapped out, each can be selectable for a set of frames. By selecting one of the hyperlink areas during video playback, the user can move within the video to another section, link to a specified URL, or even call an external program.
F)As described above, video and other multimedia information is distributed on a CD-ROM, DVD, or a DVD-ROM. In addition, a VIM file is distributed with each video produced, either on the same distribution media as the distributed multimedia, or separately. This file contains the name of the actual video file to be played, and the various commands to select areas of the video as hyperlinks. Thus, the file contains the list of areas within each video that are VIM enabled and the respective hyperlinks for these areas. Table 1 contains a listing of the fields used in the VIM file. In addition, MCI system layer 54 is modified to use a media interpreter/player such as DirectShow by Microsoft Corporation. ULI plug-in 58 is called by the browser in place of the "helper-application", ULI player 52. A VIM program has been created to address the end-user needs in accessing hyperlinks within a video. VIM File Structure
The VIM file structure is a collection of variable length chunks. All chunks consist of a chunk header and a body. Before all else is the file signature with is 3 bytes long "VIM": Chunk Header:
Chunk ID 4 bytes (int)
Chunk Length 4 bytes (int)
Chunks Chunk Length Description
VIM version 4 bytes (float) VIM file version
Media path String Path the VIM media file - not used by the player
Event count 4 bytes (int) Number of events in to be triggered
Event variable
Name string Name of event
Frame 4 bytes (int) Frame to trigger event on
Action 4 bytes (int) Action to take for this event
Pause 4 bytes (int) Pause the media if event triggered
Go to frame 4 bytes (int) Go to frame if event triggered
Play sound 4 bytes (int) Play sound if event triggered
Source 4 bytes (int) Used by action (Example: http://www.hello.com)
Object count 4 bytes (int) Number of objects in this VIM file
Object variable
Name string Name of object
Keyframe count 4 bytes (int) Number of keyframes in this VIM file
Frame 4 bytes (int) Keyframe name
Window Rect 16 bytes (int x 4) Keyframe window coordinates
Cursor type 4 bytes (int) Type of cursor to show when over the keyframe
Key trigger 4 bytes (int) Keyboard key that triggers this keyframe
Mouse trigger 4 bytes (int) Mouse button that triggers this keyframe
Show type 4 bytes (int) Show keyframe when (Always, Never, Cursor)
Caption string Text to show for this keyframe
Action 4 bytes (int) Action to be taken if keyframe triggered
Pause 4 bytes (int) Pause the media if keyframe triggered
Go to frame 4 bytes (int) Go to frame if keyframe triggered
Play sound 4 bytes (int) Play sound if keyframe triggered
Source 4 bytes (int) Used by action (Example: http://www.hello.com)
End of file 0 bytes
Table 1
ULI File Structure
The ULI file structure is a collection of variable length chunks. All chunks consist of a chunk header and a body. Before all else in the file signature with is 3 bytes long "ULI": Chunk Header:
Chunk ID 4 bytes (int)
Chunk Length 4 bytes (int)
Chunks Chunk Length Description
ULI version 4 bytes(float) ULI file version
ULI license string Ownership of this ULI file
ULI expiration 8 bytes (double) ULI file expiration date
Volume count 4 bytes (int) Number of volume names in this ULI file
Volume name string The volume name itself
...next name string
Volume end 0 bytes End of volume names
Volume ID String Compare this ID with the one on the CD
Volume version 4 bytes (int) Compare this version with the one on the CD
Window caption string ULI player window caption
URL redirection string Go to this web page upon exit
Media type 4 bytes (int) Type of media (MPEG, AUDIO, VIM)
Media path String Path to the media file
Start offset 4 bytes (int) Start the media at this frame
Auto start 4 bytes (int) Auto play the media
Media loop 4 bytes (int) Continuously loop the media from start to finish
Controls on 4 bytes (int) Display the media controls in the window
Controls allowed 4 bytes (int) Allow the media controls to be activated
Full screen 4 bytes (int) Start the player in full screen mode
License code 4 bytes (int) Encryption code to prevent editing of
Figure imgf000017_0001
End of file 0 bytes
Table 2
Phase 5: Deployment of DIVO Pages to the Internet.
Deployment can be accomplished as follows: l)Web documents are prepared for the web site, including the creation of the video files.
2) Video files are played in the VIM editor. Selections and their corresponding hyper-links are made. These are saved to a VIM file.
3)Video files and VIM files are stored on media (CD-Rom, DVD, DVD-ROM).
4)Settings for active areas are adjusted in ULI plug-in 58 rather than in the web browser, and the active areas are then displayed on the users screen, as described below.
Standard page design principles are used throughout for the page layout, and by using the Parallel Addressing Video Technology described above, it is possible to integrate the video seamlessly as part of the scene comprised of still images and animated graphics. As a result, the total page comes to life as an interactive video without the need for very large video formats (full-screen video), and without the user recognizing that the video is only a small part of the overall screen. The Parallel Addressing Video Technology, combined with HTML, displays the MPEG video at a rate of 30 frames per second, or, close to television quality.
Figure 5 is a flow diagram illustrating the operation of the system to offer DIVO functionality in accordance with one embodiment of the present invention. The process starts when, after a user has opened a browser application, is connected with a web browser containing DIVO pages. In block 500, the user initiates a download of an ULI file (i.e., a file with a
".ULE" file extension). The user may initiate the download of the ULI file through the browser application's menu system, or by clicking on a link on the displayed web page in the browser application. After the user initiates a download of the ULI file, browser application 50 initializes ULI player 52 through the use of ULI plug-in 58. In one embodiment, after browser application detects the completed download of the ULI file, browser application 50 determines the application that is assigned to handle the processing of the ULI file. Thus, browser application 50 associates the ULI file with ULI plug-in 58 and pass the ULI file reference to ULI plug-in 58. ULI plug-in 58 then initiates ULI player 52 and run ULI player 52 with the ULI file. Operation will then continues with block 502.
In block 502, the file command interpreter of ULI player 52 seeks for and loads the VIM file based on the content of the ULI file. In one embodiment, the ULI file contains the location of the VIM file and the multimedia file (e.g., video file) that is associated with the VIM file. As discussed above, each VIM file has an associated multimedia file. The file command interpreter of ULI player 52 optionally retrieves a key to decrypt any information in the multimedia file. In another embodiment, the ULI file contains location information for an authentication server from which a key may be retrieved once the user has provided proper authentication. The authentication process could involve the authentication server asking the user for a user name/password and then provide a decryption key to ULI player 52. After the file command interpreter loads the VIM file, operation continues with block 504. In block 504, ULI player 52 parses the contents of the VIM file, locate all segments of the multimedia files which are to be played, and sets up active areas (e.g., "hot spots"), for a respective segment of multimedia. Operation then continues with block 506.
In block 506, ULI player 52 plays the multimedia sequence (e.g., video/audio media) sequence, and, through the functionality provided by plug-in 58, the multimedia sequence appears integrated into the current background. In the embodiment where the multimedia file is encrypted, ULI player 52 decrypts the multimedia file with the key that is retrieved in block 502. As ULI player 52 is playing the multimedia sequence, ULI player 52 also determines if the user has selected an active area in the area where the multimedia sequence is being presented. In other embodiments, the active areas may offer a rollover-type of interactivity. For example, if a user puts a cursor above an active area in the multimedia window, but does not click the mouse button, certain actions may be triggered simply by the movement of cursor over that area.
In block 508, ULI player 52 detects whether an active area has been triggered by the user. If an active area has been triggered by the user, then operation continues with 512 where ULI player 52 processes the selection event. If an active area has not been triggered by the user, then operation continues with block 510, where ULI player 52 continues with block 510.
In block 510, ULI player 52 detects if there are additional segments of multimedia files to be played. If so, operation continues with block 504, where the next segment is loaded and the corresponding active areas are configured. If there are no additional segments of multimedia files to be played, ULI player 52 stops seeking additional segments.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims

What is claimed is:
L A method for presenting a video image and compositing the video image with a static web page in a browser application comprising: a) receiving a request from a user to initiate the playback of the video image stored on a pre-distributed medium; b) transferring, from a network, a control file containing location information for the video image and a vector-image-mapping file associated with the video image; c) processing the vector-image-mapping file to retrieve a set of active areas coordinates; d) associating the set of active areas coordinates with a set of areas in the video image; and, e) presenting the video image while determining user interactivity within the set of areas in the video image.
2. The method of claim 1 , further comprising loading the vector-image- mapping file and the video image from the pre-distributed medium.
3. The method of claim 1 , further comprising activating a link based on the user interactivity with the set of active areas.
4. The method of claim 1, wherein the video image is encrypted and presenting the video image includes decrypting the video image.
5. The method of claim 4, wherein the control file contains a decryption key and decrypting the video image includes retrieving the decryption key from the control file.
6. The method of claim 1, wherein determining user interactivity within the set of areas in the video image includes determining if the user has issued a selection command within the set of areas.
7. The method of claim 6, wherein determining if the user has issued a selection command within the set of areas includes determining if the user has issued the selection command with a cursor control device while a cursor is within the set of areas.
8. The method of claim 6, wherein determining if the user has issued a selection command within the set of areas includes determining if the user has issued the selection command with a input device while a graphical selection indicator is within the set of areas.
9. An article comprising a computer readable medium having instructions stored thereon, which when executed, causes: a) receipt of a request from a user to initiate the playback of the video image stored on a pre-distributed medium; b) transfer of a control file from a network containing location information for the video image and a vector-image-mapping file associated with the video image; c) process of the vector-image-mapping file to retrieve a set of active areas coordinates; d) association of the set of active areas coordinates with a set of areas in the video image; and, e) presentation of the video image while determining user interactivity within the set of areas in the video image.
10. The article of claim 7, where the computer readable medium having additional instructions stored thereon, which when executed, causes loading the vector- image-mapping file and the video image from the pre-distributed medium.
11. The article of claim 7, where the computer readable medium having additional instructions stored thereon, which when executed, causes activating a link based on the user interactivity with the set of active areas.
12. The article of claim 7, wherein the video image is encrypted and presenting the video image includes decrypting the video image.
13. The article of claim 12, wherein the control file contains a decryption key and decrypting the video image includes retrieving the decryption key from the control file.
14. The article of claim 12, wherein the control file contains location information for a security server and decrypting the video image includes retrieving a decryption key from the security server.
15. The article of claim 14, wherein retrieving a decryption key from the security server includes receiving a user name and a password from a user; querying the secure server with the user name and the password; and returning the decryption key if the user name and the password is validated.
16. The article of claim 10, wherein determining user interactivity within the set of areas in the video image includes determining if the user has issued a selection command within the set of areas.
17. The article of claim 16, wherein determining if the user has issued a selection command within the set of areas includes determining if the user has issued the selection command with a cursor control device while a cursor is within the set of areas.
18. The article of claim 16, wherein determining if the user has issued a selection command within the set of areas includes determining if the user has issued the selection command with a input device while a graphical selection indicator is within the set of areas.
19. An apparatus comprising: a) receiving a request from a user to initiate the playback of the video image stored on a pre-distributed medium; b) transferring a control file from a network containing location information for the video image and a vector-image-mapping file associated with the video image; c) processing the vector- image-mapping file to retrieve a set of active areas coordinates; d) associating the set of active areas coordinates with a set of areas in the video image; and, e) presenting the video image while determining user interactivity within the set of areas in the video image.
20. The apparatus of claim 19, further comprising means for loading the vector-image-mapping file and the video image from the pre-distributed medium.
21. The apparatus of claim 19, further comprising means for activating a link based on the user interactivity with the set of active areas.
22. The apparatus of claim 19, wherein the video image is encrypted and the means for presenting the video image includes means for decrypting the video image.
23. The apparatus of claim 22, wherein the control file contains a decryption key and the means for decrypting the video image includes means for retrieving the decryption key from the control file.
24. The apparatus of claim 22, wherein the control file contains location information for a security server and the means for decrypting the video image includes means for retrieving a decryption key from the security server.
25. The apparatus of claim 24, wherein the means for retrieving a decryption key from the security server includes means for receiving a user name and a password from a user; means for querying the secure server with the user name and the password; and means for returning the decryption key if the user name and the password is validated.
26. The apparatus of claim 19, wherein means for determining user interactivity within the set of areas in the video image includes means for determining if the user has issued a selection command within the set of areas.
27. The apparatus of claim 19, wherein the means for determining if the user has issued a selection command within the set of areas includes means for determining if the user has issued the selection command with a cursor control device while a cursor is within the set of areas.
28. The apparatus of claim 19, wherein the means for determining if the user has issued a selection command within the set of areas includes means for determining if the user has issued the selection command with a input device while a graphical selection indicator is within the set of areas.
PCT/US2000/009779 1999-05-14 2000-04-12 Method and apparatus for combining video data with static web page data WO2000070871A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU42350/00A AU4235000A (en) 1999-05-14 2000-04-15 Method and apparatus for combining video data with static web page data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US31191699A 1999-05-14 1999-05-14
US09/311,916 1999-05-14

Publications (2)

Publication Number Publication Date
WO2000070871A1 WO2000070871A1 (en) 2000-11-23
WO2000070871A9 true WO2000070871A9 (en) 2002-04-11

Family

ID=23209052

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/009779 WO2000070871A1 (en) 1999-05-14 2000-04-12 Method and apparatus for combining video data with static web page data

Country Status (2)

Country Link
AU (1) AU4235000A (en)
WO (1) WO2000070871A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10124702A1 (en) * 2001-05-18 2002-11-28 Mediacs Ag Potsdam Individual control and influence of film sequence reproduction from data recording medium involves superimposing menu controler on existing data recording medium menu program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5208665A (en) * 1987-08-20 1993-05-04 Telaction Corporation Presentation player for an interactive digital communication system
US5325423A (en) * 1992-11-13 1994-06-28 Multimedia Systems Corporation Interactive multimedia communication system
CA2130395C (en) * 1993-12-09 1999-01-19 David G. Greenwood Multimedia distribution over wide area networks
WO1996017306A2 (en) * 1994-11-21 1996-06-06 Oracle Corporation Media server

Also Published As

Publication number Publication date
AU4235000A (en) 2000-12-05
WO2000070871A1 (en) 2000-11-23

Similar Documents

Publication Publication Date Title
US20020105529A1 (en) Generation and display of multi-image video streams
US20050223034A1 (en) Metadata for object in video
JP5735571B2 (en) Method and apparatus for processing multiple video streams using metadata
US20010033296A1 (en) Method and apparatus for delivery and presentation of data
US5659793A (en) Authoring tools for multimedia application development and network delivery
US5826102A (en) Network arrangement for development delivery and presentation of multimedia applications using timelines to integrate multimedia objects and program objects
US7870592B2 (en) Method for interactive video content programming
EP0902928B1 (en) System for using media content in interactive digital media program
US8619188B2 (en) Method and system for direct recording of video information onto a disk medium
US20040183824A1 (en) Interface for presenting data representations in a screen-area inset
US20060184980A1 (en) Method of enabling an application program running on an electronic device to provide media manipulation capabilities
US20050081251A1 (en) Method and apparatus for providing interactive multimedia and high definition video
JP2017504230A (en) Video broadcast system and method for distributing video content
WO1996019779A1 (en) Authoring tools for multimedia application development and network delivery
WO1996019779A9 (en) Authoring tools for multimedia application development and network delivery
CN1246196A (en) Non-linear editing system for home entertainment environments
US20060200744A1 (en) Distributing and displaying still photos in a multimedia distribution system
US20080166107A1 (en) Enhanced program viewing method
US20020083091A1 (en) Seamless integration of video on a background object
WO2000070871A9 (en) Method and apparatus for combining video data with static web page data
US20040086269A1 (en) Method and system for writing video presentation and navigation information direct to optical disc
KR20000024126A (en) system and method for providing image over network
US9066063B2 (en) Enhanced program viewing method
JP2000511736A (en) Method and apparatus for displaying video based on keyframes using video cursor frames on a multi-keyframe screen
WO2007049201A1 (en) Method and apparatus for playing overlay graphics and text data

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

AK Designated states

Kind code of ref document: C2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGES 1/5-5/5, DRAWINGS, REPLACED BY NEW PAGES 1/5-5/5; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP