WO2001077897A2 - System and method using a web catalog with dynamic multimedia data using java - Google Patents

System and method using a web catalog with dynamic multimedia data using java Download PDF

Info

Publication number
WO2001077897A2
WO2001077897A2 PCT/US2000/026508 US0026508W WO0177897A2 WO 2001077897 A2 WO2001077897 A2 WO 2001077897A2 US 0026508 W US0026508 W US 0026508W WO 0177897 A2 WO0177897 A2 WO 0177897A2
Authority
WO
WIPO (PCT)
Prior art keywords
media
video
java
web
image
Prior art date
Application number
PCT/US2000/026508
Other languages
French (fr)
Other versions
WO2001077897A3 (en
Inventor
Hong Heo
Sun Eun Park
Jin Bae Lee
Hee Kook Kang
Seong Cheol Seo
Original Assignee
Torveo Technologies
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 Torveo Technologies filed Critical Torveo Technologies
Priority to AU77210/00A priority Critical patent/AU7721000A/en
Publication of WO2001077897A2 publication Critical patent/WO2001077897A2/en
Publication of WO2001077897A3 publication Critical patent/WO2001077897A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data

Definitions

  • the present invention relates to a system for web cataloging dynamic multimedia using Java (hereinafter referred to as Java) and a dynamic multimedia web cataloging method therefor, and more particularly, to a Java-based dynamic multimedia web cataloging system and method for expressing catalog contents most effectively with a web browser, in such a manner that various multimedia data having streamed from a server system to a client te ⁇ ninal using the web browser is mixed with hyper text markup language (HTML) documents, by inserting a Java Applet into a client application in which the Java Applet implements functions necessary for web cataloging multimedia dynamically on a real time basis in the static HTML documents.
  • Java Java-based dynamic multimedia web cataloging system and method for expressing catalog contents most effectively with a web browser
  • a set of contents expression methods for expressing static information including various added services and associated contents much more variously and compositely in a HTML document is called a multimedia web cataloging such as multimedia contents expression, public information, alignment, and advertisement.
  • Infrastructures of Internet are expanded in various forms from an existing telephone line, to ISDN, ADSL, a cable modem, a satellite modem, etc., and thus the number of applications and utilities are explosively being increased including an electronic commerce (EC) web shopping mall or a tele-education.
  • the multimedia web cataloging can be efficiently used in an electronic commerce distributor and seller such as an Internet department store or shopping mall, for effectively displaying, advertising and selling products at low cost, or a cyber university for providing a tele-multimedia education.
  • a dynamic multimedia web cataloging system means a system for composing, representing and managing multimedia contents and representing methods dynamically upon a user request on the internet.
  • a multimedia web cataloging system can be implemented in one of the following cases where: 1) only HTML documents are used, 2) Java Script or DHTML (Dynamic HTML) and 3) a plug-in or helper application is used.
  • the DHTML In the case that the DHTML is used, it is appropriate for controlling and representing the simple pattern of multimedia but is limited often to represent a pattern of multimedia having a more intelligent procedure. In this case, it is too difficult for a general user to implement a multimedia web cataloging system, and is also inefficient in view of the maintenance of the system.
  • a separate plug-in or helper application hi the case that a separate plug-in or helper application is used, all multimedia are integrated into a binary file and uploaded on a web server and the binary file is downloaded and executed using the plug-in or helper application. Accordingly, it is difficult to represent the binary file together with an existing information contained HTML document or the after-creation information. Further, whenever information of any one medium is changed, the overall file should be written or edited and then uploaded on a web server, which provides inconvenience in literary.
  • the user should install the plug-in or helper application program into his or her own web browser. Since the plug-in or helper application program is a unique application program, it has a drawback that the plug-in or helper application program cannot be combined in a desired position or pattern within a corresponding HTML document. That is, it is nearly impossible to change the layout of the plug-in or helper application in the HTML document.
  • plug-in or helper application programs Since most of the plug-in or helper application programs have been made to handle only successive media such as video or audio, it has many restricted points to combine them with discontinuous media such as an image, text or HTML document, to then be reproduced dynamically. Since the plug-in or helper program requires a different version program for every client specification, a complex investment or cost is needed for development and maintenance of the program.
  • HTML hyper text markup language
  • a conventional HTML or DHTML (dynamic HTML) document a plug-in program software and a Java script
  • a portable communications terminal such as PCSs and PHSs, a personal digital assistant (PDA), a settop box, a digital TV or a web phone which is porting a personal Java (PersonalJava) software, and a Java operating system (JavaOs) mounted Java chip, as well as a web browser of a personal computer (PC), a workstation, a notebook PC
  • VCR virtual video cassette recorder
  • Java-based dynamic multimedia web cataloging system In the case that Java-based dynamic multimedia web cataloging system is used, a Java-based program can be automatically executed under nearly all the web browsers. Thus, if only one version Java-based program is uploaded in a web server, it can be driven in all web browser contained client's system without making a separate version for a different client. Also, a separate application program can be configured, a more intelligent procedure which cannot be implemented with a script language can be realized.
  • the shape or size of the Java-based program can be varied in the HTML document, and one or more replicas of an object is possible according to an object-oriented feature. Accordingly, a more variety and mixture of multimedia representation is possible in a single HTML document.
  • the Java-based program can be executed with a unique window as in a helper program and can facilitate a variety of multimedia representations which cannot be executed in a plug-in or helper program and mutual representation action with one or more various HTML documents, through an integral circumstance called Java.
  • a dynamic multimedia web cataloging system using Java under a client/server system circumstance where a client terminal including a web browser and a Java virtual machine and a server system mcluding a web server are connected via the Internet network
  • the Java-based dynamic multimedia web cataloging system comprising: a multimedia template file system configured with template files including overall information so that multimedia data including video, audio, 2D/3D image, animation, text and HTML data are appropriate for a sitesaming action; the web server for providing a client Java Applet information contained HTML catalog document to the web browser when a user gains access to the server system via the web browser, and for gaining accessing to the multimedia template file system directly for the multimedia data including audio, 2D/3D image, animation, text and HTML data in the case that there is a request from a client Java Applet created in the web browser according to the client Java Applet information and siteaming the accessed result to the client Java Applet; a video server engine for parsing the contents of video data according to a request
  • a dynamic multimedia web cataloging method using Java under a client/server system circumstance where a client terminal including a web browser and a Java virtual machine and a server system including a web server are connected via the Internet network
  • the Java-based dynamic multimedia web cataloging method comprising the steps of: (a) gaining access to the web server of the server system using the web browser; (b) downloading a client Java Applet information contained HTML catalog document to the web browser from the web server; (c) parsing a HTML tag of the HTML catalog document in the web browser, requesting to the server system multimedia data including at least one of video, audio, 2D/3D image, animation, text and HTML data necessary for a multimedia web cataloging via a Java virtual machine, creating a client Java Applet object including a synchronization engine for combining the multimedia data received via the web server dynamically, to then reproduce the combined result and a media reception engine for receiving a cataloging multimedia data packet from the server system in a sitesaming method and storing the received cataloging multimedia data packet in a media queue,
  • the Java-based dynamic multimedia web cataloging system and method according to the present invention inserts a Java Applet into a client application in which the Java Applet implements functions necessary for web cataloging multimedia dynamically on a real time basis in the static HTML documents, for expressing catalog contents most effectively with the web browser, in such a manner that various multimedia data necessary for current representation is requested dynamically to a server system according to each feature of the multimedia data and having streamed via the web server from the server system to the web browser is mixed with the HTML document.
  • the present invention can effectively represents dynamic multimedia web cataloging information which was difficult to represent using a conventional HTML or DHTML (dynamic HTML) document, a plug-in program software and a Java script, in a web browser, in which a Java Applet inserted in a HTML document is driven by a client program and a synchronization engine and a sitesaming function for the Java Applet are properly mixed, to thereby logically transmit and receive and combine media frames such as video, audio, 2-dimensional/3 -dimensional (2D/3D) image, text, animation and HTML data which has been selected on a real-time basis, through a web server and a video server engine.
  • DHTML dynamic HTML
  • a plug-in program software and a Java script in a web browser, in which a Java Applet inserted in a HTML document is driven by a client program and a synchronization engine and a sitesaming function for the Java Applet are properly mixed, to thereby logically transmit and receive and combine media frames such as video, audio, 2-dimensional/3 -dimensional (2
  • the present invention can be executed in a portable communications terminal such as PCSs and PHSs, a personal digital assistant (PDA), a settop box, a digital TV or a web phone which is porting a personal Java (PersonalJava) software, and a Java operating system (JavaOs) mounted Java chip, as well as a web browser of a personal computer (PC), a workstation, a notebook PC or a palm top PC which is designed based on a hardware-independent pure- Java and is mounted with a Java virtual machine.
  • a portable communications terminal such as PCSs and PHSs, a personal digital assistant (PDA), a settop box, a digital TV or a web phone which is porting a personal Java (PersonalJava) software, and a Java operating system (JavaOs) mounted Java chip, as well as a web browser of a personal computer (PC), a workstation, a notebook PC or a palm top PC which is designed based on a hardware-independent pure- Java and
  • the present invention is configured on a sitesaming basis, in which only desired media can be selectively received according to an Internet bandwidth, and an intelligent reproduction is possible using a frame-based virtual video cassette recorder (VCR), and provides a multimedia representation scheme which is the most appropriate on the web, in which a discontinuous media siteaming method such as image, text or HTML data is newly devised from a conventional successive media sitesaming method such as video or audio.
  • VCR virtual video cassette recorder
  • FIG. 1 is a block diagram schematically showing a general client/server system to which the present invention is applied;
  • FIG. 2 is a block diagram showing a client terminal which can be used in the present invention;
  • FIG. 3 is a block diagram showing a dynamic multimedia web cataloging system using Java according to a preferred embodiment of the present invention
  • FIGs. 4A and 4B are flowchart view for explaining the operation of the synchronization engine included in the Java Applet of FIG. 3;
  • FIGs. 5 A and 5B are flowchart view for explaining the operation of the media player included in the Java Applet of FIG. 3;
  • FIGs. 6A and 6B are flowchart view for explaining the operation of the server system of FIG. 3;
  • FIG. 7 shows a configuration of a multimedia template file system included in the server system of FIG. 3;
  • FIG. 8 shows a configuration of the video template file of FIG. 7
  • FIGs. 9A and 9B are flowchart view showing the media reception engine included in the Java Applet of FIG. 3;
  • FIG. 10 shows a configuration of the media display engine included in the Java Applet of FIG. 3; and FIG. 11 is a detailed block diagram of the multimedia hardware device included in the client terminal of FIG. 3.
  • FIG. 1 showing a general client/server system to which the present invention is applied, a plurality of client terminals Cl-Cn each including a web browser 14 and a Java virtual machine
  • JVM 18 and a plurality of server systems SSl-SSn each including a web server 12 are connected to each other via the Internet 15.
  • a client terminal may be used as any data processor including a multimedia processing function and a communications function enabling an Internet access by wire or wireless, for example, as shown in FIG. 2. That is, a client te ⁇ riinal Cl includes a central processing unit
  • CPU 2 central processing unit 2
  • main memory 3 main memory 3.
  • the CPU 2 and the main memory 3 are connected to an auxiliary storage unit 4 such as a hard disc and a read only memory (ROM) 5 via a bus 10.
  • auxiliary storage unit 4 such as a hard disc and a read only memory (ROM) 5
  • Program codes for assigning a command to the CPU 2 in corporation with an operating system (OS) are recorded in the auxiliary memory 4 and the ROM 5.
  • the program codes are loaded in the main memory 3 and then executed.
  • an input unit 7 such as a keyboard and a mouse for user interface
  • a display device 8 such as a cathode ray tube (CRT), a liquid crystal display (LCD) monitor and a beam projector
  • a sound output device 9 such as a speaker
  • the client terminal Cl includes a communication modem, and a communication interface 6 such as a PCMCIA network card or an Ethernet network card, for communicating with a server system SSI.
  • a communication interface 6 such as a PCMCIA network card or an Ethernet network card
  • a web browser 14 and a JVM 18 are stored in the auxiliary storage unit 4, as programs necessary for connecting with the server system SSI connected to the Internet network 15 via the communication interface 6. These programs are loaded in the main memory 3 and driven at the time of connecting with the Internet network.
  • any terminal having a communication function enabling the Internet access by wire or wireless and a multimedia processing function necessary for reproducing multimedia data received from the server system SSI may be used as the client terminal Cl.
  • a portable communications terminal such as PCSs and
  • PHSs personal digital assistant (PDA), a settop box, a digital TV or a web phone which is porting a personal Java (PersonalJava) software, and a Java operating system (JavaOs) mounted Java chip, as well as a web browser mounted with a Java virtual machine (JVM), that is, a Java driven, web browser installed desktop computer are used as the client terminal Cl.
  • PDA personal digital assistant
  • JavaOs Java operating system mounted Java chip
  • JVM Java virtual machine
  • the server system SSI includes a web server 12 connected to the Internet network 15, a video server engine 1400 connected to the web server 12, for parsing the contents of video data according to a request with respect to the video data from the client terminal Cl and sitesaming the video data on a real time basis to a client Java Applet 142 via the web server 12, and a multimedia template file system 1402 connected to the web server 12, including template files designed to be adapted to stream multimedia data according to a request from the client terminal Cl to the client Java Applet 142 via the web server 12.
  • the template files contain all information such as a store position, medium type, medium name, representation start time, and representation end time in the web server so as to be adapted to stream audio, 2D/3D image, animation, text, and multimedia data as well as video data.
  • a media file directory of the multimedia template file system can share at least one contents server 1404 and a mutual physical store position, on the basis of a Transmission Control Protocol/Internet Protocol (TCP/IP) to be described later.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • the server system SSI provides a HTML catalog document containing Java Applet 142 information as shown in FIG. 3 to be described later, via the web server 12 when a user gains access to the web server 12 using the web browser 14.
  • FIG. 7 shows a configuration of the multimedia template file system 1402 of the server system SSI.
  • the multimedia template file system 1402 is divided into a template file directory 140202 and a media file directory 140204 physically.
  • the template file directory 140202 is a directory comprised of metadata handling actual data, which includes a video template file 140206, an image template file 140208, a text template file 140210, and a HTML template file 140212.
  • the video template file 140206 is comprised of a global information header (GlobalhifoHeader) 1402061, an MPEG header (MPEGHeader) 1402062, an MPEG data stream 1402063, an offset per frame (OFFSET PER FRAME) 1402064 and a time per frame (TIMEJPERJFRAME) 1402065, in order to change the velocity of the input/output (I/O) of a conventional MPEG-1 video file, so as to be adapted to siteaming.
  • GlobalhifoHeader GlobalhifoHeader
  • MPEGHeader MPEG header
  • MPEG data stream 1402063 an offset per frame
  • OFFSET PER FRAME offset per frame
  • TIMEJPERJFRAME time per frame
  • a media file directory to take media information
  • a media type is recognized using a file extension descriptor.
  • gif/jpeg represents an image type
  • txt represents a text
  • html/htm represents a HTML document type.
  • the template file can be written using a text-based editor by a user.
  • correction of the changed items can be facilitated all the time.
  • the media file directory 140204 is a physical file system storing actual media data, which includes a video file 140214, an audio file 140216, an image file 140218, a text file 140220 and a HTML file 140222.
  • the media file directory 140204 shares a mutual physical store position based on at least one contents server 1404 and the TCP/IP. Considering performance of the server system and load of the network, particular media data is designed so as to be dispersedly arranged in a particular contents server 1404.
  • a user can search a particular medium in a logical space.
  • the particular medium can be located on a physical store position connected to one or more different networks.
  • the performance of the server system and the load of the network can be maintained low, and a limited storage space can be dispersed in a plurality of contents servers, to thus solve the drawback of a space limitation.
  • the dynamic multimedia web cataloging system of FIG. 3 starts to be driven when a user gains access to a web server 12 via a web browser 14 to download a HTML catalog document containing information of a client Java Applet 142 via the web browser 14.
  • a web server 12 gains access to a web server 12 via a web browser 14 to download a HTML catalog document containing information of a client Java Applet 142 via the web browser 14.
  • the HTML tag of the document is parsed in the web browser 14 to find an Applet tag.
  • the Applet tag is found, the web browser 14 produces an object of the client Java Applet 142 via an incorporated Java virtual machine (JVM) 18, and produces a graphical user interface (GUI) at a predetermined position in the HTML document.
  • JVM Java virtual machine
  • the thus-produced client Java Applet 142 is implemented by the Java Applet capable of dynamically implementing functions necessary for a multimedia web cataloging such as multimedia contents expression, public information, alignment, and advertisement in a static HTML document on a real-time basis, inserted into the HTML document and driven together with a server system SSI.
  • the client Java Applet 142 includes a synchronization engine 1426 mcluding a synchronization logic for requesting to the server system SSI multimedia data of video, audio, 2D/3D image, animation, text and HTML data necessary for a corresponding logical point in time on the client web browser 14 having a Java virtual machine (JVM) 18, and for combining the multimedia data received via the web server 12 dynamically, to then reproduce the combined result, a media reception engine 1420 for receiving a cataloging multimedia data (such as video, audio, image, text and HTML data) packet from the web server 12 and a video server engine 1400 in a sitesaming method via the HTTP (HyperText Transfer Protocol) and storing the received cataloging multimedia data packet in a media queue 1424, a media player engine 1422 for decoding the received multimedia data according to each file format and reproducing the decoded result to a corresponding arrangement device and a display engine 1428 for reproducing the media data decoded in the media display engine 1422.
  • a cataloging multimedia data such
  • the roles of the synchronization engine 1426 will be described in more detail below.
  • the synchronization engine 1426 performs a lifecycle management role for receiving information on a multimedia mixture from the Java Applet 142 inserted into the HTML document, synchronizing each medium selected and tiansmitted from the web server 12 on a logical point in time and managing each representation time, and a service manager role for parsing a template file containing all information such as a storage position, medium type, medium name, representation start time, and representation end time in the web server 142, relating to a web cataloging and dynamically expressing and managing objects of the parsed result in the Java Applet 142 and one or more HTML frames.
  • each medium data transmitted from the web server 12 exists in units of frame.
  • Each frame is comprised of attributes such as binary compression data, logical representation start time and logical representation end time to be actually represented.
  • the media player engine 1422 includes a video player 14220, an audio player 14222, an image player 14224, a text player 14226 and a HTML loader 14228.
  • the client Java Applet 142 receives a user input via the web browser 14, generates a corresponding request from the synchronization engine 1426, and transfers the request to the server system SSI via the web server 12.
  • the video server engine 1400 parses the contents of the request of the video data and streams the parsed result to the client Java Applet 142 via the web server 12, and the web server 12 reads the audio, image, text, HTML data directly from the multimedia template file system 1402 and streams the read result to the Java Applet 142.
  • Each multimedia data transmitted to the client Java Applet 142 as described above is temporarily stored in the media queue 1424 via the media reception engine 1420, and each of the media players 14220-14228 continuously checks virtual VCR information such as time information, reproduction information and velocity information of the synchronization engine 1426 and reads the corresponding media data from the media queue 1424 on the corresponding logical point in time, and decodes the read data via an internal decoder (not shown) and then outputs the decoded result to the web browser 14 via the corresponding media device of the media display engine 1428.
  • virtual VCR information such as time information, reproduction information and velocity information of the synchronization engine 1426
  • media to be reproduced within a respective corresponding logical time is classified into video, audio, text, 2D still image, 2D image set for 3D modeling, animation image and HTML data, which is independently performed at a mutually logical reproduction time in the window of the client Java Applet 142 and other web browser 14.
  • All the other media except for the 2D image set for 3D modeling are comprised of frames divided in units of an independent reproduction time.
  • the 2D image set for 3D modeling is used in independent form for making a set of 3D modeling image and animation in the image player 14224.
  • a logical reproduction time is determined based on a frame rate per second (frames/sec) for each data frame of the video, hi the cases of a caption text and a still image, a reproduction time is maintained only when the textual sentence or the contents are consistent with the video contents.
  • a reproduction time of each data is determined according to a sample rate per second (samples/sec).
  • the multimedia template file system 1402 stores all information such as a storage position, medium type, medium name, representation start time, and representation end time in the web server 142 with respect to each media data as a text-based file so that a user easily inputs the information with a general text editor.
  • the template file is used by the synchronization engine 1426 which refers to the template file to sets up a basic synchronization strategy when the client Java Applet 142 is firstly initialized.
  • the other media data except for video data is stored in the multimedia template file system 1402 together with all the other information which are physically separated from the media data, and are sitesamed independently by each of the media players 14220-14228.
  • the following media combinations are possible. Since the media combinations are run having unique synchronization information, more various and composite multimedia reproduction models can be presented. Each of the media can be independently performed and can be reproduced by linkage with one or more same media objects or different media objects.
  • the HTML loader 14228 is implemented in the client Java Applet 142 so that a particular window name is made and retrieved.
  • the client Java Applet 142 starts to be driven from a user initial input, which can be received in the form of a tag or parameter inserted in the HTML data. Otherwise, the user input value can be received by retiieving public methods in the Java Applet 142 from a particular object in the HTML data via the Java Script.
  • the input values are chiefly GUI generation information, particular media selection, reproduction velocity establishment, initial random access, virtual VCR functions such as Play, Stop, Pause, FF and REW, and all information of media to be synchronized such as media type, server position, file name, total number of frames, the reproduction time of each frame or the position of the template file containing the information, in the client Java Applet 142.
  • the initial input values are filtered via the synchronization engine 1426, by which a corresponding action is taken.
  • FIGs. 4 A and 4B are flowchart view for explaining the operation of the synchronization engine 1426.
  • a public type synchronization engine object is produced as an independent thread.
  • the synchronization object thread is automatically performed with a demonstration process, and made to react whenever a user input value is generated (S 1426).
  • a flag "video selected” is set to an "ON" value which is a full band variable of the client Java Applet 142.
  • the other media have the same process, respectively. If image media have been selected, it is additionally judged whether types of the selected image media are "JPEG,” “GIF,” or “Animated GIF.” If no other items are input, all image types will be ready to be output basically.
  • media player objects are generated with respect to the media selected based on the set representation information (S 142610).
  • a media queue 1424 is allocated as a public type, which configures a critical section using the synchronization function of Java.
  • the client Java Applet 142 configures initialization input data for starting catalog representation (S 142612) and hands over the configured result to a Java event handler. Also, dynamic user input values which are input during reproduction are input to the Java event handler via the client Java Applet 142 according to the judgement of the step (S 142602) and parsed (S 142604).
  • the parsed input value is determined sequentially in the steps of velocity control (S 142614), random access position value change (S142616), play (PLAY) (S 142618), pause (PAUSE) (S142620), stop (STOP) (S 142622), fast forward rewind (FF/REW) (S 142624), show/hide (SHOW/HIDE) (S 142626), and frame rate per second (FPS) (S 14268). Then, a detailed step for a corresponding case is performed. If an event relating to velocity control has been generated, an input value is set as a velocity value (S 142638). A unit of the velocity value is configured with a decimal point first place based on 1.0. When a medium is reproduced in the reverse direction, a negative value is input. The input velocity value is transferred to the server system SSI again, to thereby make the server system SSI operate at the corresponding velocity (S 142640).
  • the input value is set as a reproduction position value (S 142642).
  • a unit of the reproduction position value is configured in units of second.
  • a display bar of the client Java Applet 142 is physically moved so that a user can track the changed value (S 142644). hi this case, the display bar can be omitted.
  • the changed position value is transferred to the server system (SSI), so that data can be read from the server system (S 142646). If an input value for PLAY is transferred, the velocity value is set as a normal velocity, that is, 1.0 (S142632). If an input value for STOP is transferred, the velocity value is set as 0.0 (S 142634).
  • the velocity value is set as 3.0 or -3.0 (S 142636).
  • the velocity value is repeatedly set as 1.0 or 0.0 as a toggle function.
  • the changed position value is transferred to the server system (SSI), so that data can be read from the server system (S 142646).
  • the user can show (S 142648) or hide (S 142650) a particular media player via the synchronization engine 1426. That is, only a desired medium can be dynamically represented any time during reproduction. In this case, since the hidden (HIDE) media players do not receive data from the server system SSI until the media players have been shown (SHOW), a network bandwidth can be efficiently used. Also, in the case that a frame rate per second FPS has been changed in the result of the judgement of step S 142628, the changed FPS value is transferred to the viD server engine 1400 (S 142652).
  • the synchronization engine 1426 having processed all the input items from the user opens its own object reference to each media player in order to manage and maintain synchronization of each player persistently. Through the opened reference, each media player can refer to synchronization variables and flags for current synchronization situation.
  • FIGs. 5 A and 5B are flowchart view for explaining the operation of the media player.
  • the media player 1422 can be configured with only media objects necessary for corresponding applications in order to reduce a program size and shorten a download time when the client Java Applet 142 is configured with jar files and installed in the web server 12.
  • the media players shown in FIG. 3 use a multithread function of Java basically.
  • one or more selected media players can be performed in parallel and simultaneously. That is, referring to FIGs. 5A and 5B, a video player object generation step (S 142210), an audio player object generation step (S 142226), an image player object generation step (S 142242), a text player object generation step (S 142266), and a HTML player object generation step (S 142284) are performed at the same time and in parallel with each other. By doing so, one or more media can represented simultaneously.
  • a user selects the output of video media (S 142200). If the user has selected the video media, a video player object is generated as a public type (S 142210). In this video player object generation step, the video player 14220 refers to the reference of the object of the already-opened synchronization engine 1426, to thereby obtain the latest synchronization information of the synchronization engine 1426 continuously. The object of the video player 14220 then generates a video decoder object for converting the latest synchronization information into pixel images which can be output in an actual media display engine 1428 (S 142212).
  • the video decoder object is generated into a thread object which can be independently performed.
  • the generated video decoder object checks if a video frame to be reproduced at a current point in time exists in the media queue 1424 (S 142214). This judgement is accomplished by comparing the reproduction velocity and the reproduction position of the synchronization engine 1426, and the logical start time and the logical end time in the actual video frames. Here, if the velocity of the synchronization engine 1426 is zero, it is judged as a stop state and its thread is slept for ⁇ seconds in which ⁇ l second (S 142216). Then, the video decoder object goes to the step S 142214 and repeats synchronization situation check continuously. If the velocity of the synchronization engine 1426 is not zero and there is no video frame corresponding to the current logical point in time, the video decoder object proceeds to step S 142216.
  • the video frame is taken from the media queue 1424 (S 142218), and the MPEG-1 decoding is performed (S 142210).
  • the video frames which can be reproduced in the current video player is configured based on the MPEG-1 video stream.
  • the decoded result is output on a screen by a video device of the display engine 1428 (S 142222).
  • a video decoder thread is slept for a remaining frame reproduction time so that the decoded output can be displayed on the screen for a reproduction time of the current frame, that is, a frame rate per second
  • the program proceeds to step SI 42214 in order to reproduce a next frame (S 142224).
  • step S 142202 it is judged whether audio media have been selected by the user in step S 142202 just after judgment of step S 142210. If the audio media have been selected, steps S142226-S 142240 which are nearly similar to steps S142210-S142224 are performed. Only the difference resides in the fact that a basic type of the audio decoding supports the Au type of Sun Microsystems Co., Ltd. having a sampling rate of 8000Hz per second and the GSM (Global System for Mobile telecommunication) type in which the audio signals are compressed and transmitted into 13000bps. Since the GSM audio type where the audio signals are transmitted at 13kbps is supported, an audio support is possible on a real-time basis even with a 28K modem.
  • GSM Global System for Mobile telecommunication
  • step S 142204 it is judged whether image media are selected in step S 142204. If the user has selected the audio media, an image player 14222 object is generated and the object reference of the synchronization engine 1426 is referred to (S 142242).
  • an image decoder object is generated together with sub-decoding component objects which can selectively handle a 2D image modeling and a 3D image modeling according to a media application type (S 142244 and S 142246).
  • the video player 14220 and the audio player 14222 handle continuous media patterns
  • the image player 14224, the text player 14226 and the HTML loader 14228 handle discontinuous media patterns.
  • a corresponding template file of the multimedia template file system 1402 which has been described referring to FIG. 3 are read from the server system SSI and the read template file is used in steps S 142250, S 142274 and S 142290.
  • the multimedia template files 140208, 140210 and 140212 of the remaining discontinuous media except for the video are configured in the following pattern as described above. That is, the pattern includes a media file directory from which media are taken, a media type, a logical start time and a logical end time.
  • the media type is recognized as a file extension descriptor.
  • gif/jpeg represents an image type
  • txt represents a text type
  • html/htm represents a HTML document type.
  • the template file can be made up with a text-based editor by the user. Since the contents of all media are not integrated in a binary file unlike the existing method, the altered items can be corrected any time.
  • the actual media data are read from the server system SSI in real time and combines the read result with a logical reproduction time to thereby complete a perfect media frame, through steps S 142252, S 142274 and S 142294.
  • the thus-completed media frame pieces are decoded through corresponding decoding steps S 142260 and S 142258, and represented on the display engine 1428 (S 142262, S 142280 and S 142296).
  • each decoder object thread is slept in order to ensure the reproduction time for each reproduction time, the media frames are erased from the screen if the reproduction time is finished unlike the continuous media to thereby ensure a discontinuity of the media (S 142264, S 142282 and S 142298). h addition, the bandwidth of the network can be effectively used through the insurance of the discontinuity.
  • a portion which should be taken care of is a 3D image modeling judgement step S 142258 in the image decoder. This portion is divided into a motion module and a panorama module largely.
  • the motion module receives the successive 2D images of 18 sheets or more which have been photographed at a different angle, in sequence and performs a three dimensional modeling, to thereby provide an effect of watching a 3D object. Further, a parming function is provided to sequentially change images, by which an actual three dimensional object seems to be seen.
  • FIGs. 6A and 6B are flowchart view for explaiiiing the operation of the server system.
  • the server system SSI starts from step SI 40000 which drives video server servlets via the web server 12.
  • a video template file 140206 is read from the multimedia template file system 1402 and the read video template file is loaded in the memory.
  • each video template file is converted into an object, which can react to a user request with respect to a corresponding media player (S 140002).
  • the reason why the template file 140206 has been loaded in the memory resides in the fact that a user reaction time is reduced at maximum and a service performance is improved.
  • the template file is loaded, the actual contents data exists in the hard disc and only header portions containing the information of a physical storage position and the time information per each frame are installed in the memory.
  • a corresponding file is read from the disc in step S 140040 when a user request exists (S 140038), the data is transmitted to the client terminal Cl according to a siteamrng protocol with the client terminal Cl (S 140042), to accordingly disconnect a session (S 140044).
  • the video data is specially taken care of by the video server engine 1400, since the video data consumes a relatively large amount of data and a relative large number of input/output (I/O) resources, and reflects the situation of the network bandwidth which is dynamically varying and streams.
  • I/O input/output
  • the video server engine 1400 parses a video title name in the input commands (S 140006), and selects a corresponding template object from the memory with respect to the parsed title (S 140008). Then, a value of the reproduction position of the actual video data to be read is determined from the input parameter (SI 40010). If the reproduction position value is zero, the reproduction position is moved from the video template object to an initial offset pointer (S 140012), and if not the reproduction position is moved from the video template object to an offset pointer of a corresponding position (S 140014).
  • a video stream file is read from an actual current offset at a current velocity (S 140028).
  • the reading of the video data is repeated in units of one second.
  • S 140030 only a stream of the current FPS is packetized (S 140030) and the packet is tiansmitted to the client terminal Cl (S 140032).
  • S 140034 end of file
  • S 140036 a session is compulsively terminated
  • FIGs. 9A and 9B are flowchart view for explaining the operation of the media reception engine.
  • the media reception engine 1420 is implemented by producing a media reception engine object (S 142000) when the client Java Applet 142 is driven. Once the object of the media reception engine 1420 has been produced, a packet of predetermined set ⁇ seconds is requested to the server system SSI in advance in order to calculate the bandwidth of the current network.
  • an optimal FPS is calculated at the current network state with the average reception time value L (S 142006). Accordingly, with this portion, the present invention system provides a mechanism which can selectively receive a conventional 30 FPS-based MPEG siteam according to the current bandwidth situation. As a result, the present invention can provide elastical services with respect to the low bandwidth situation and the dynamic bandwidth situation which cannot be done in the conventional normal MPEG siteam.
  • the optimal FPS is calculated at the current state, the system enters an asynchronous listen state until data is transmitted from the actual server system SSI.
  • the present invention system is in the wakeup state only when data is transmitted from the actual server system SSI, the opportunities that other processes can proceed are provided (S 142008).
  • the successive packets are inserted into the media queue 1424.
  • the logical end time of the received packet may exceed the logical time, that is, the reproduction position under the current reproduction (S 142018).
  • a step of buffering the time as much as a certain amount of time is needed. The buffering step starts when the reproduction velocity of the synchronization engine 1426 is set zero and enters a block state for a moment (S 142020).
  • an optimal buffering time is predicted based on the average reception value per second L (S 142022). Then, a data packet is received as much as the buffering time and the received data packet is inserted into the media queue 1424 (S 142024). If the buffering step is completed, the synchromzation reproduction velocity is set one again and thus a reproduction is resumed from the stop point (S 142026).
  • the average reception time per second L is recalculated every five seconds (S 142028).
  • the media reception engine 1420 awaits the next packet at the listen state whenever the reception step of one packet is finished (S 142008).
  • FIG. 10 shows a configuration of the media display engine.
  • the media display engine 1428 is composed of three API, mcluding a Java AWT (abstiact windows toolkit) API (application program interface) 42802 taking charge of GUI, a Java audio API 42806 taking charge of audio output and a web browser API 42810 taking charge of the output of the HTML.
  • the Java AWT API 42802 is connected to a video display device 42804 and takes charge of visual representation.
  • the Java audio API 42806 is connected to an audio output device 42808 and takes charge of audio output, also, the web browser API 42810 performs the processes relating to the HTML output.
  • FIG. 11 is detailed block diagram of the multimedia hardware devices 8 and 9 shown in FIG. 2.
  • the multimedia hardware devices 8 and 9 include a sound card 1602 and a VGA output unit 1606, respectively.
  • the sound card 1602 is connected to a speaker system 1604 and converts the actual audio sound into an analog waveform to then output the results.
  • the VGA output unit 1606 outputs the screen signals to a monitor 1608, a LCD 1610 or a beam projector 1612 according to a user selection.
  • the present invention provides a Java- based dynamic multimedia web cataloging system and method for expressing catalog contents most effectively with a web browser, in such a manner that various multimedia data necessary for current representation is requested dynamically to a server system according to each feature of the multimedia data and having streamed via a web server from the server system to a client terminal using the web browser is mixed with hyper text markup language (HTML) documents, by inserting a Java Applet into a client application in which the Java Applet implements functions necessary for web cataloging multimedia dynamically on a real time basis in the static HTML documents.
  • HTML hyper text markup language
  • the present invention provides a Java-based dynamic multimedia web cataloging system and method for effectively representing dynamic multimedia web cataloging information which was difficult to represent using a conventional HTML or DHTML (dynamic HTML) document, a plug-in program software and a Java script, in a web browser, in which a Java Applet inserted in a HTML document is driven by a client program and a synchronization engine and a sitesaming function for the Java Applet are properly mixed, to thereby logically transmit and receive and combine media frames such as video, audio, 2-dimensional/3 -dimensional (2D/3D) image, text, animation and HTML data which have been selected on a real-time basis, through a web server and a video server engine.
  • a conventional HTML or DHTML (dynamic HTML) document a plug-in program software and a Java script
  • a Java Applet inserted in a HTML document is driven by a client program and a synchronization engine and a sitesaming function for the Java Applet are properly mixed, to thereby logically transmit and receive and combine media
  • the present invention provides a Java-based dynamic multimedia web cataloging system and method which can be executed in a portable communications terminal such as PCSs and PHSs, a personal digital assistant (PDA), a settop box, a digital TV or a web phone which is porting a personal Java (PersonalJava) software, and a Java operating system (JavaOs) mounted Java chip, as well as a web browser of a personal computer (PC), a workstation, a notebook PC or a palm top PC which is designed based on a hardware-independent pure-Java and is mounted with a Java virtual machine.
  • a portable communications terminal such as PCSs and PHSs, a personal digital assistant (PDA), a settop box, a digital TV or a web phone which is porting a personal Java (PersonalJava) software, and a Java operating system (JavaOs) mounted Java chip, as well as a web browser of a personal computer (PC), a workstation, a notebook PC or a palm top PC
  • the present invention provides a Java-based dynamic multimedia web cataloging system and method which is configured on a sitesaming basis, in which only desired media can be selectively received according to an Internet bandwidth, and an intelligent reproduction is possible using a frame-based virtual video cassette recorder (VCR) and provides a Java-based dynamic multimedia web cataloging system and method for providing a multimedia representation scheme which is the most appropriate on the web, in which a discontinuous media streaming method such as image, text or HTML data is newly devised from a conventional successive media sitesaming method such as videos or audios.
  • VCR virtual video cassette recorder

Abstract

A Java-based dynamic multimedia web cataloging system for expressing catalog contents most effectively with a web browser in which various multimedia data having streamed from a server system to a web browser is mixed with HTML documents. The system includes a web server for providing a client Java Applet information contained HTML catalog document to the web browser when user accesses the server system via the web browser, a video server engine for streaming the video data on a real-time basis, a template file system including template files having overall information appropriate for a streaming action, and the client Java Applet which is inserted in the HTML catalog document when the client terminal accesses the web server, downloaded in the web browser, and created by the Java virtual machine, for implementing functions necessary for a web cataloging dynamically on a real-time basis. The client Java Applet includes a synchronization engine, a media reception engine, a media player engine, and a display engine.

Description

SYSTEM AND METHOD FOR WEB CATALOGING DYNAMIC MULTIMEDIA USING JAVA
BACKGROUND OF THE INVENTION
Field of the Invention The present invention relates to a system for web cataloging dynamic multimedia using Java (hereinafter referred to as Java) and a dynamic multimedia web cataloging method therefor, and more particularly, to a Java-based dynamic multimedia web cataloging system and method for expressing catalog contents most effectively with a web browser, in such a manner that various multimedia data having streamed from a server system to a client teπninal using the web browser is mixed with hyper text markup language (HTML) documents, by inserting a Java Applet into a client application in which the Java Applet implements functions necessary for web cataloging multimedia dynamically on a real time basis in the static HTML documents.
Description of the Related Art
A set of contents expression methods for expressing static information including various added services and associated contents much more variously and compositely in a HTML document is called a multimedia web cataloging such as multimedia contents expression, public information, alignment, and advertisement. Infrastructures of Internet are expanded in various forms from an existing telephone line, to ISDN, ADSL, a cable modem, a satellite modem, etc., and thus the number of applications and utilities are explosively being increased including an electronic commerce (EC) web shopping mall or a tele-education. The multimedia web cataloging can be efficiently used in an electronic commerce distributor and seller such as an Internet department store or shopping mall, for effectively displaying, advertising and selling products at low cost, or a cyber university for providing a tele-multimedia education.
Meanwhile, a dynamic multimedia web cataloging system means a system for composing, representing and managing multimedia contents and representing methods dynamically upon a user request on the internet. In general, a multimedia web cataloging system can be implemented in one of the following cases where: 1) only HTML documents are used, 2) Java Script or DHTML (Dynamic HTML) and 3) a plug-in or helper application is used.
Firstly, in the case where only the HTML documents are used to implement a multimedia web cataloging system, the simplest patterns of images or contents are output. Thus, in the cases where dynamic multimedia contents contained in a server are accessed in real time and displayed dynamically, or the composite contents are synchronized and output, the multimedia web cataloging system becomes inefficient or cannot be implemented with only the HTML documents. Therefore, a script program such as a separate Java script or a plug-in or helper application should be installed.
In the case that the Java script is used, a program function or size is limited often and a complicate multimedia representation and control is impossible.
In the case that the DHTML is used, it is appropriate for controlling and representing the simple pattern of multimedia but is limited often to represent a pattern of multimedia having a more intelligent procedure. In this case, it is too difficult for a general user to implement a multimedia web cataloging system, and is also inefficient in view of the maintenance of the system. hi the case that a separate plug-in or helper application is used, all multimedia are integrated into a binary file and uploaded on a web server and the binary file is downloaded and executed using the plug-in or helper application. Accordingly, it is difficult to represent the binary file together with an existing information contained HTML document or the after-creation information. Further, whenever information of any one medium is changed, the overall file should be written or edited and then uploaded on a web server, which provides inconvenience in literary. Also, the user should install the plug-in or helper application program into his or her own web browser. Since the plug-in or helper application program is a unique application program, it has a drawback that the plug-in or helper application program cannot be combined in a desired position or pattern within a corresponding HTML document. That is, it is nearly impossible to change the layout of the plug-in or helper application in the HTML document.
Since most of the plug-in or helper application programs have been made to handle only successive media such as video or audio, it has many restricted points to combine them with discontinuous media such as an image, text or HTML document, to then be reproduced dynamically. Since the plug-in or helper program requires a different version program for every client specification, a complex investment or cost is needed for development and maintenance of the program.
SUMMARY OF THE INVENTION
To solve the above problems, it is an object of the present invention to provide a Java-based dynamic multimedia web cataloging system and method for expressing catalog contents most effectively with a web browser, in such a manner that various multimedia data necessary for current representation is requested dynamically to a server system according to each feature of the multimedia data and having streamed via a web server from the server system to a client terminal using the web browser is mixed with hyper text markup language (HTML) documents, by inserting a Java Applet into a client application in which the Java Applet implements functions necessary for web cataloging multimedia dynamically on a real time basis in the static HTML documents.
It is another object of the present invention to provide a Java- based dynamic multimedia web cataloging system and method for effectively representing dynamic multimedia web cataloging information which was difficult to represent using a conventional HTML or DHTML (dynamic HTML) document, a plug-in program software and a Java script, in a web browser, in which a Java Applet inserted in a HTML document is driven by a client program and a synchronization engine and a stieaming function for the Java Applet are properly mixed, to thereby logically transmit and receive and combine media frames such as video, audio, 2-dimensional/3 -dimensional (2D/3D) image, text, animation and HTML data which have been selected on a real-time basis, through a web server and a video server engine.
It is still another object of the present invention to provide a Java-based dynamic multimedia web cataloging system and method which can be executed in a portable communications terminal such as PCSs and PHSs, a personal digital assistant (PDA), a settop box, a digital TV or a web phone which is porting a personal Java (PersonalJava) software, and a Java operating system (JavaOs) mounted Java chip, as well as a web browser of a personal computer (PC), a workstation, a notebook PC or a palm top PC which is designed based on a hardware-independent pure-Java and is mounted with a Java virtual machine.
It is a further object of the present invention to provide a Java- based dynamic multimedia web cataloging system and method which is configured on a stieaming basis, in which only desired media can be selectively received according to an Internet bandwidth, and an intelligent reproduction is possible using a frame-based virtual video cassette recorder (VCR).
It is still a further object of the present invention to provide a Java-based dynamic multimedia web cataloging system and method for providing a multimedia representation scheme which is the most appropriate on the web, in which a discontinuous media stieaming method such as image, text or HTML data is newly devised from a conventional successive media stieaming method such as videos or audios.
In the case that Java-based dynamic multimedia web cataloging system is used, a Java-based program can be automatically executed under nearly all the web browsers. Thus, if only one version Java-based program is uploaded in a web server, it can be driven in all web browser contained client's system without making a separate version for a different client. Also, a separate application program can be configured, a more intelligent procedure which cannot be implemented with a script language can be realized.
Also, in the dynamic multimedia web cataloging system, the shape or size of the Java-based program can be varied in the HTML document, and one or more replicas of an object is possible according to an object-oriented feature. Accordingly, a more variety and mixture of multimedia representation is possible in a single HTML document. Also, the Java-based program can be executed with a unique window as in a helper program and can facilitate a variety of multimedia representations which cannot be executed in a plug-in or helper program and mutual representation action with one or more various HTML documents, through an integral circumstance called Java.
To accomplish the above object of the present invention, there is provided a dynamic multimedia web cataloging system using Java under a client/server system circumstance where a client terminal including a web browser and a Java virtual machine and a server system mcluding a web server are connected via the Internet network, the Java-based dynamic multimedia web cataloging system comprising: a multimedia template file system configured with template files including overall information so that multimedia data including video, audio, 2D/3D image, animation, text and HTML data are appropriate for a stieaming action; the web server for providing a client Java Applet information contained HTML catalog document to the web browser when a user gains access to the server system via the web browser, and for gaining accessing to the multimedia template file system directly for the multimedia data including audio, 2D/3D image, animation, text and HTML data in the case that there is a request from a client Java Applet created in the web browser according to the client Java Applet information and stieaming the accessed result to the client Java Applet; a video server engine for parsing the contents of video data according to a request of the video data from the client terminal and stieaming the video data on a real-time basis to the client Java Applet via the web server; and the client Java Applet which is inserted in the HTML catalog document when the client terminal gains access to the web server, downloaded in the web browser, and created by the Java virtual machine, for implementing functions necessary for a web cataloging dynamically on a real-time basis, wherein the client Java Applet comprises: a synchronization engine for requesting multimedia data including videos necessary for a corresponding logical point in time on the client web browser and combining the multimedia data received via the web server dynamically, to then reproduce the combined result; a media reception engine for receiving a cataloging multimedia data packet via a HTTP from the web server and the video server engine in a stieaming method and temporarily storing the received cataloging multimedia data packet in a media queue; a media player engine for continuously checking virtual VCR information such as time information, reproduction information and velocity information of the synchronization engine and controlling corresponding media data to be read from the media queue in a corresponding point in time and to be decoded in accordance with a format of each file to be reproduced in a corresponding arrangement device; and a display engine for displaying the media data decoded in the media player engine. There is also provided a dynamic multimedia web cataloging method using Java under a client/server system circumstance where a client terminal including a web browser and a Java virtual machine and a server system including a web server are connected via the Internet network, the Java-based dynamic multimedia web cataloging method comprising the steps of: (a) gaining access to the web server of the server system using the web browser; (b) downloading a client Java Applet information contained HTML catalog document to the web browser from the web server; (c) parsing a HTML tag of the HTML catalog document in the web browser, requesting to the server system multimedia data including at least one of video, audio, 2D/3D image, animation, text and HTML data necessary for a multimedia web cataloging via a Java virtual machine, creating a client Java Applet object including a synchronization engine for combining the multimedia data received via the web server dynamically, to then reproduce the combined result and a media reception engine for receiving a cataloging multimedia data packet from the server system in a stieaming method and storing the received cataloging multimedia data packet in a media queue, and creating a graphic user interface (GUI) in the determined HTML document; (d) parsing a user input parameter if a user initial input value is input via the web browser and then establishing flags with respect to media selected for a user desired catalog representation; (e) decoding each media data received in correspondence to each media selected based on the established representation information, in accordance with a format of each file, creating a media player object including a video player, audio player, an image player, a text player and a HTML player to be reproduced in a corresponding arrangement device, and allocating a media queue corresponding to each media player object in a public type; (f) configuring initialization input data for starting a catalog representation in the client Java Applet in the case that the media player object has been created to be handed over to a Java event handler; (g) transferring a velocity value, a reproduction position and a frame rate in units of frame per second which are established according to a velocity control, and a selection of a reproduction position and a reproduction operation based on the parsed input value, from the synchronization engine to the server system via the web server; (h) parsing the contents in a video server engine upon a request of video data according to the request and stieaming the parsed result to the client Java Applet via the web server and reading audio, image, text and HTML data except for video data from a template file system directly in the web server and stieaming the read result to the client Java Applet; (i) receiving a cataloging multimedia data packet in the media reception engine in a stieaming method and storing the received cataloging multimedia data packet in a media queue; (j) synchronizing each received media data under the control of a reproduction time of a synchronization engine in a media player, to be decoded in accordance with a format of each file to be reproduced in a corresponding arrangement device; and (k) displaying the media data decoded in the media player by a display engine.
As described above, the Java-based dynamic multimedia web cataloging system and method according to the present invention inserts a Java Applet into a client application in which the Java Applet implements functions necessary for web cataloging multimedia dynamically on a real time basis in the static HTML documents, for expressing catalog contents most effectively with the web browser, in such a manner that various multimedia data necessary for current representation is requested dynamically to a server system according to each feature of the multimedia data and having streamed via the web server from the server system to the web browser is mixed with the HTML document. Also, the present invention can effectively represents dynamic multimedia web cataloging information which was difficult to represent using a conventional HTML or DHTML (dynamic HTML) document, a plug-in program software and a Java script, in a web browser, in which a Java Applet inserted in a HTML document is driven by a client program and a synchronization engine and a stieaming function for the Java Applet are properly mixed, to thereby logically transmit and receive and combine media frames such as video, audio, 2-dimensional/3 -dimensional (2D/3D) image, text, animation and HTML data which has been selected on a real-time basis, through a web server and a video server engine.
Further, the present invention can be executed in a portable communications terminal such as PCSs and PHSs, a personal digital assistant (PDA), a settop box, a digital TV or a web phone which is porting a personal Java (PersonalJava) software, and a Java operating system (JavaOs) mounted Java chip, as well as a web browser of a personal computer (PC), a workstation, a notebook PC or a palm top PC which is designed based on a hardware-independent pure- Java and is mounted with a Java virtual machine.
Still further, the present invention is configured on a stieaming basis, in which only desired media can be selectively received according to an Internet bandwidth, and an intelligent reproduction is possible using a frame-based virtual video cassette recorder (VCR), and provides a multimedia representation scheme which is the most appropriate on the web, in which a discontinuous media stieaming method such as image, text or HTML data is newly devised from a conventional successive media stieaming method such as video or audio.
BRIEF DESCRIPTION OF THE DRAWINGS
The objects and other advantages of the present invention will become more apparent by describing in detail the structures and operations of the present invention with reference to the accompanying drawings, in which:
FIG. 1 is a block diagram schematically showing a general client/server system to which the present invention is applied; FIG. 2 is a block diagram showing a client terminal which can be used in the present invention;
FIG. 3 is a block diagram showing a dynamic multimedia web cataloging system using Java according to a preferred embodiment of the present invention; FIGs. 4A and 4B are flowchart view for explaining the operation of the synchronization engine included in the Java Applet of FIG. 3;
FIGs. 5 A and 5B are flowchart view for explaining the operation of the media player included in the Java Applet of FIG. 3; FIGs. 6A and 6B are flowchart view for explaining the operation of the server system of FIG. 3;
FIG. 7 shows a configuration of a multimedia template file system included in the server system of FIG. 3;
FIG. 8 shows a configuration of the video template file of FIG. 7;
FIGs. 9A and 9B are flowchart view showing the media reception engine included in the Java Applet of FIG. 3;
FIG. 10 shows a configuration of the media display engine included in the Java Applet of FIG. 3; and FIG. 11 is a detailed block diagram of the multimedia hardware device included in the client terminal of FIG. 3.
DETAILED DESCRIPTION OF THE INVENTION
Preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Firstly, referring to FIG. 1 showing a general client/server system to which the present invention is applied, a plurality of client terminals Cl-Cn each including a web browser 14 and a Java virtual machine
(JVM) 18 and a plurality of server systems SSl-SSn each including a web server 12 are connected to each other via the Internet 15.
Any data processor including a multimedia processing function and a communications function enabling an Internet access by wire or wireless, may be used as each client terminal, for example, as shown in FIG. 2. That is, a client teπriinal Cl includes a central processing unit
(CPU) 2 and a main memory 3. The CPU 2 and the main memory 3 are connected to an auxiliary storage unit 4 such as a hard disc and a read only memory (ROM) 5 via a bus 10.
Program codes for assigning a command to the CPU 2 in corporation with an operating system (OS) are recorded in the auxiliary memory 4 and the ROM 5. The program codes are loaded in the main memory 3 and then executed.
In the client terminal Cl, an input unit 7 such as a keyboard and a mouse for user interface, a display device 8 such as a cathode ray tube (CRT), a liquid crystal display (LCD) monitor and a beam projector, and a sound output device 9 such as a speaker are connected to the internal bus 10 via each controller (not shown).
Also, the client terminal Cl includes a communication modem, and a communication interface 6 such as a PCMCIA network card or an Ethernet network card, for communicating with a server system SSI. A web browser 14 and a JVM 18 are stored in the auxiliary storage unit 4, as programs necessary for connecting with the server system SSI connected to the Internet network 15 via the communication interface 6. These programs are loaded in the main memory 3 and driven at the time of connecting with the Internet network. As described above, any terminal having a communication function enabling the Internet access by wire or wireless and a multimedia processing function necessary for reproducing multimedia data received from the server system SSI may be used as the client terminal Cl. Thus, a portable communications terminal such as PCSs and
PHSs, a personal digital assistant (PDA), a settop box, a digital TV or a web phone which is porting a personal Java (PersonalJava) software, and a Java operating system (JavaOs) mounted Java chip, as well as a web browser mounted with a Java virtual machine (JVM), that is, a Java driven, web browser installed desktop computer are used as the client terminal Cl.
Meanwhile, as shown in FIG. 3, the server system SSI according to the present invention includes a web server 12 connected to the Internet network 15, a video server engine 1400 connected to the web server 12, for parsing the contents of video data according to a request with respect to the video data from the client terminal Cl and stieaming the video data on a real time basis to a client Java Applet 142 via the web server 12, and a multimedia template file system 1402 connected to the web server 12, including template files designed to be adapted to stream multimedia data according to a request from the client terminal Cl to the client Java Applet 142 via the web server 12.
That is, the template files contain all information such as a store position, medium type, medium name, representation start time, and representation end time in the web server so as to be adapted to stream audio, 2D/3D image, animation, text, and multimedia data as well as video data. Further, a media file directory of the multimedia template file system can share at least one contents server 1404 and a mutual physical store position, on the basis of a Transmission Control Protocol/Internet Protocol (TCP/IP) to be described later.
The server system SSI provides a HTML catalog document containing Java Applet 142 information as shown in FIG. 3 to be described later, via the web server 12 when a user gains access to the web server 12 using the web browser 14.
FIG. 7 shows a configuration of the multimedia template file system 1402 of the server system SSI. The multimedia template file system 1402 is divided into a template file directory 140202 and a media file directory 140204 physically.
The template file directory 140202 is a directory comprised of metadata handling actual data, which includes a video template file 140206, an image template file 140208, a text template file 140210, and a HTML template file 140212.
The video template file 140206 is comprised of a global information header (GlobalhifoHeader) 1402061, an MPEG header (MPEGHeader) 1402062, an MPEG data stream 1402063, an offset per frame (OFFSET PER FRAME) 1402064 and a time per frame (TIMEJPERJFRAME) 1402065, in order to change the velocity of the input/output (I/O) of a conventional MPEG-1 video file, so as to be adapted to stieaming.
Since the video template file 140206 is automatically loaded in the memory in the server system SSI at the time when the server is initialized, stieaming can start quickly when there arrives a request from the actual client terminal Cl.
Other different media template files than the video template file 140206 have the following structure: a media file directory to take media information; a media type; a logical start time; and a logical end time. Here, the media type is recognized using a file extension descriptor. For example, gif/jpeg represents an image type, txt represents a text, and html/htm represents a HTML document type. The template file can be written using a text-based editor by a user. In the present invention, since the contents of all the media differently from the conventional methods are not integrated in a single binary file, correction of the changed items can be facilitated all the time.
The media file directory 140204 is a physical file system storing actual media data, which includes a video file 140214, an audio file 140216, an image file 140218, a text file 140220 and a HTML file 140222.
Also, as described above, the media file directory 140204 shares a mutual physical store position based on at least one contents server 1404 and the TCP/IP. Considering performance of the server system and load of the network, particular media data is designed so as to be dispersedly arranged in a particular contents server 1404.
Thus, a user can search a particular medium in a logical space. However, the particular medium can be located on a physical store position connected to one or more different networks. By doing so, the performance of the server system and the load of the network can be maintained low, and a limited storage space can be dispersed in a plurality of contents servers, to thus solve the drawback of a space limitation.
The dynamic multimedia web cataloging system of FIG. 3 according to the present invention starts to be driven when a user gains access to a web server 12 via a web browser 14 to download a HTML catalog document containing information of a client Java Applet 142 via the web browser 14. When the HTML tag of the document is parsed in the web browser 14 to find an Applet tag. Then, when the Applet tag is found, the web browser 14 produces an object of the client Java Applet 142 via an incorporated Java virtual machine (JVM) 18, and produces a graphical user interface (GUI) at a predetermined position in the HTML document.
The thus-produced client Java Applet 142 is implemented by the Java Applet capable of dynamically implementing functions necessary for a multimedia web cataloging such as multimedia contents expression, public information, alignment, and advertisement in a static HTML document on a real-time basis, inserted into the HTML document and driven together with a server system SSI. The client Java Applet 142 includes a synchronization engine 1426 mcluding a synchronization logic for requesting to the server system SSI multimedia data of video, audio, 2D/3D image, animation, text and HTML data necessary for a corresponding logical point in time on the client web browser 14 having a Java virtual machine (JVM) 18, and for combining the multimedia data received via the web server 12 dynamically, to then reproduce the combined result, a media reception engine 1420 for receiving a cataloging multimedia data (such as video, audio, image, text and HTML data) packet from the web server 12 and a video server engine 1400 in a stieaming method via the HTTP (HyperText Transfer Protocol) and storing the received cataloging multimedia data packet in a media queue 1424, a media player engine 1422 for decoding the received multimedia data according to each file format and reproducing the decoded result to a corresponding arrangement device and a display engine 1428 for reproducing the media data decoded in the media display engine 1422.
The roles of the synchronization engine 1426 will be described in more detail below. The synchronization engine 1426 performs a lifecycle management role for receiving information on a multimedia mixture from the Java Applet 142 inserted into the HTML document, synchronizing each medium selected and tiansmitted from the web server 12 on a logical point in time and managing each representation time, and a service manager role for parsing a template file containing all information such as a storage position, medium type, medium name, representation start time, and representation end time in the web server 142, relating to a web cataloging and dynamically expressing and managing objects of the parsed result in the Java Applet 142 and one or more HTML frames.
Here, each medium data transmitted from the web server 12 exists in units of frame. Each frame is comprised of attributes such as binary compression data, logical representation start time and logical representation end time to be actually represented. The media player engine 1422 includes a video player 14220, an audio player 14222, an image player 14224, a text player 14226 and a HTML loader 14228.
Then, the client Java Applet 142 receives a user input via the web browser 14, generates a corresponding request from the synchronization engine 1426, and transfers the request to the server system SSI via the web server 12. Here, the video server engine 1400 parses the contents of the request of the video data and streams the parsed result to the client Java Applet 142 via the web server 12, and the web server 12 reads the audio, image, text, HTML data directly from the multimedia template file system 1402 and streams the read result to the Java Applet 142.
The reason why a media stream group is divided into two kinds exists in the facts that a relative system load is minimized in operating a server system, in which video requiring a heavy system load is allocated by a dedicated processor to particularly use a server system stieaming algorithm and media having relatively light loads other than video is streamed using a basic function of the web server 12.
Each multimedia data transmitted to the client Java Applet 142 as described above is temporarily stored in the media queue 1424 via the media reception engine 1420, and each of the media players 14220-14228 continuously checks virtual VCR information such as time information, reproduction information and velocity information of the synchronization engine 1426 and reads the corresponding media data from the media queue 1424 on the corresponding logical point in time, and decodes the read data via an internal decoder (not shown) and then outputs the decoded result to the web browser 14 via the corresponding media device of the media display engine 1428.
The respective media data which has been output once survives only for a logical reproduction time, and then after the logical reproduction time has been terminated, the media data is erased in the media queue 1424 by the corresponding media players 14220-14228. By doing so, a memory management can be efficiently performed.
Meanwhile, media to be reproduced within a respective corresponding logical time is classified into video, audio, text, 2D still image, 2D image set for 3D modeling, animation image and HTML data, which is independently performed at a mutually logical reproduction time in the window of the client Java Applet 142 and other web browser 14.
All the other media except for the 2D image set for 3D modeling are comprised of frames divided in units of an independent reproduction time. On the contrary, the 2D image set for 3D modeling is used in independent form for making a set of 3D modeling image and animation in the image player 14224. hi the case that video and caption are simultaneously reproduced as an exemplary and applicable example of the above media, a logical reproduction time is determined based on a frame rate per second (frames/sec) for each data frame of the video, hi the cases of a caption text and a still image, a reproduction time is maintained only when the textual sentence or the contents are consistent with the video contents. On the contrary, in the case of audio data, a reproduction time of each data is determined according to a sample rate per second (samples/sec).
According to the above concepts, the multimedia template file system 1402 stores all information such as a storage position, medium type, medium name, representation start time, and representation end time in the web server 142 with respect to each media data as a text-based file so that a user easily inputs the information with a general text editor. The template file is used by the synchronization engine 1426 which refers to the template file to sets up a basic synchronization strategy when the client Java Applet 142 is firstly initialized.
Also, the other media data except for video data is stored in the multimedia template file system 1402 together with all the other information which are physically separated from the media data, and are stieamed independently by each of the media players 14220-14228.
If a 2D image set for 3D modeling whose data unit pattern is different from the other is used together, only the portion of the 2D image set is performed in the image player 14224, as described above.
When a web cataloging is performed dynamically in the above structure, the following media combinations are possible. Since the media combinations are run having unique synchronization information, more various and composite multimedia reproduction models can be presented. Each of the media can be independently performed and can be reproduced by linkage with one or more same media objects or different media objects.
Combination of media
-Video+textual caption
-Video+audio -Video+audio+textual caption
-Video+audio+textual caption+still image
-Video+audio+textual caption (Korean)+textual caption (English)
-Video+audio+textual caption (Korean)+textual caption (English)+textual caption (Japanese)+...
-Video+audio+HTML document
-Video+audio+textual caption+HTML document
-Video+audio+textual caption+HTML document+still image
-Still image+textual caption D slide show -Still image+textual caption+audio per each image D audio slide show
-Animation image Drolling banner advertisement
-Animation image+audio per each image D sound rolling banner advertisement -3D panorama image -Continuity of 2D images photographed at different angles D 3D photo modeling effect
Particularly, in the case that a variety of HTML frames are used in the HTML synchronization, the HTML loader 14228 is implemented in the client Java Applet 142 so that a particular window name is made and retrieved.
As a result, a more variety of types of composite documents can be maintained, which provides a very efficient web cataloging.
The operational principles of the server system SSI and the client Java Applet 142 will be described separately below in more detail.
First, the operation of the client Java Applet 142 will be described.
The client Java Applet 142 starts to be driven from a user initial input, which can be received in the form of a tag or parameter inserted in the HTML data. Otherwise, the user input value can be received by retiieving public methods in the Java Applet 142 from a particular object in the HTML data via the Java Script.
Assuming that initial input values are received via a parameter value in the HTML data as a general case, the input values are chiefly GUI generation information, particular media selection, reproduction velocity establishment, initial random access, virtual VCR functions such as Play, Stop, Pause, FF and REW, and all information of media to be synchronized such as media type, server position, file name, total number of frames, the reproduction time of each frame or the position of the template file containing the information, in the client Java Applet 142. The initial input values are filtered via the synchronization engine 1426, by which a corresponding action is taken.
FIGs. 4 A and 4B are flowchart view for explaining the operation of the synchronization engine 1426. Referring to FIGs. 4A and 4B, when the client Java Applet 142 is initialized in the HTML data, a public type synchronization engine object is produced as an independent thread. The synchronization object thread is automatically performed with a demonstration process, and made to react whenever a user input value is generated (S 1426).
Then, if a user initial input value is received (S 142600), it is judged whether the input value has been input from the web browser 14
(S 142602). If an input value has been input from the web browser 14, a user input parameter is parsed (S 142606). Then, a user sets flags with respect to media selected for catalog representation (S 142608) first of all.
If video has been selected, a flag "video selected" is set to an "ON" value which is a full band variable of the client Java Applet 142. Likewise, the other media have the same process, respectively. If image media have been selected, it is additionally judged whether types of the selected image media are "JPEG," "GIF," or "Animated GIF." If no other items are input, all image types will be ready to be output basically.
In this way, if representation information for each medium has been set, media player objects are generated with respect to the media selected based on the set representation information (S 142610). When each of the media players 14220-14228 is generated, a media queue 1424 is allocated as a public type, which configures a critical section using the synchronization function of Java.
After the selected media players have been generated, the client Java Applet 142 configures initialization input data for starting catalog representation (S 142612) and hands over the configured result to a Java event handler. Also, dynamic user input values which are input during reproduction are input to the Java event handler via the client Java Applet 142 according to the judgement of the step (S 142602) and parsed (S 142604).
Then, the parsed input value is determined sequentially in the steps of velocity control (S 142614), random access position value change (S142616), play (PLAY) (S 142618), pause (PAUSE) (S142620), stop (STOP) (S 142622), fast forward rewind (FF/REW) (S 142624), show/hide (SHOW/HIDE) (S 142626), and frame rate per second (FPS) (S 14268). Then, a detailed step for a corresponding case is performed. If an event relating to velocity control has been generated, an input value is set as a velocity value (S 142638). A unit of the velocity value is configured with a decimal point first place based on 1.0. When a medium is reproduced in the reverse direction, a negative value is input. The input velocity value is transferred to the server system SSI again, to thereby make the server system SSI operate at the corresponding velocity (S 142640).
In the case of moving to a desired random access reproduction position, the input value is set as a reproduction position value (S 142642). A unit of the reproduction position value is configured in units of second. After an internal value with respect to the reproduction position has been changed, a display bar of the client Java Applet 142 is physically moved so that a user can track the changed value (S 142644). hi this case, the display bar can be omitted. At the same time, the changed position value is transferred to the server system (SSI), so that data can be read from the server system (S 142646). If an input value for PLAY is transferred, the velocity value is set as a normal velocity, that is, 1.0 (S142632). If an input value for STOP is transferred, the velocity value is set as 0.0 (S 142634). If an input value for FF/REW is transferred, the velocity value is set as 3.0 or -3.0 (S 142636). In the case of temporary stop (PAUSE), the velocity value is repeatedly set as 1.0 or 0.0 as a toggle function. Simultaneously, the changed position value is transferred to the server system (SSI), so that data can be read from the server system (S 142646).
In addition, the user can show (S 142648) or hide (S 142650) a particular media player via the synchronization engine 1426. That is, only a desired medium can be dynamically represented any time during reproduction. In this case, since the hidden (HIDE) media players do not receive data from the server system SSI until the media players have been shown (SHOW), a network bandwidth can be efficiently used. Also, in the case that a frame rate per second FPS has been changed in the result of the judgement of step S 142628, the changed FPS value is transferred to the viD server engine 1400 (S 142652).
The synchronization engine 1426 having processed all the input items from the user opens its own object reference to each media player in order to manage and maintain synchronization of each player persistently. Through the opened reference, each media player can refer to synchronization variables and flags for current synchronization situation.
FIGs. 5 A and 5B are flowchart view for explaining the operation of the media player. The media player 1422 can be configured with only media objects necessary for corresponding applications in order to reduce a program size and shorten a download time when the client Java Applet 142 is configured with jar files and installed in the web server 12.
For example, in the case that only a panorama function is used for configuring a catalog, only an image player 14224 object class is installed in the jar file in the FIGs. 5A and 5B steps. If an image and a text are used for configuring a slide show, only an image player class and a text player class are installed. If all functions are basically incorporated and a particular media class object is selected upon a user dynamic request, all classes are installed in the jar files.
The media players shown in FIG. 3 use a multithread function of Java basically. Thus, one or more selected media players can be performed in parallel and simultaneously. That is, referring to FIGs. 5A and 5B, a video player object generation step (S 142210), an audio player object generation step (S 142226), an image player object generation step (S 142242), a text player object generation step (S 142266), and a HTML player object generation step (S 142284) are performed at the same time and in parallel with each other. By doing so, one or more media can represented simultaneously.
The control flowchart of the media player will be described in detail with reference to FIGs. 5 A and 5B. First, it is judged whether a user selects the output of video media (S 142200). If the user has selected the video media, a video player object is generated as a public type (S 142210). In this video player object generation step, the video player 14220 refers to the reference of the object of the already-opened synchronization engine 1426, to thereby obtain the latest synchronization information of the synchronization engine 1426 continuously. The object of the video player 14220 then generates a video decoder object for converting the latest synchronization information into pixel images which can be output in an actual media display engine 1428 (S 142212). The video decoder object is generated into a thread object which can be independently performed. The generated video decoder object checks if a video frame to be reproduced at a current point in time exists in the media queue 1424 (S 142214). This judgement is accomplished by comparing the reproduction velocity and the reproduction position of the synchronization engine 1426, and the logical start time and the logical end time in the actual video frames. Here, if the velocity of the synchronization engine 1426 is zero, it is judged as a stop state and its thread is slept for α seconds in which α<l second (S 142216). Then, the video decoder object goes to the step S 142214 and repeats synchronization situation check continuously. If the velocity of the synchronization engine 1426 is not zero and there is no video frame corresponding to the current logical point in time, the video decoder object proceeds to step S 142216.
If a video frame corresponding to the current logical point in time exists in the media queue 1424, the video frame is taken from the media queue 1424 (S 142218), and the MPEG-1 decoding is performed (S 142210). The video frames which can be reproduced in the current video player is configured based on the MPEG-1 video stream. After the decoding has been completed, the decoded result is output on a screen by a video device of the display engine 1428 (S 142222). Then, after a video decoder thread is slept for a remaining frame reproduction time so that the decoded output can be displayed on the screen for a reproduction time of the current frame, that is, a frame rate per second, the program proceeds to step SI 42214 in order to reproduce a next frame (S 142224). In this case, the video frames which have been output once are automatically erased from the media queue 1424, to thereby reduce the load of the memory. Meanwhile, it is judged whether audio media have been selected by the user in step S 142202 just after judgment of step S 142210. If the audio media have been selected, steps S142226-S 142240 which are nearly similar to steps S142210-S142224 are performed. Only the difference resides in the fact that a basic type of the audio decoding supports the Au type of Sun Microsystems Co., Ltd. having a sampling rate of 8000Hz per second and the GSM (Global System for Mobile telecommunication) type in which the audio signals are compressed and transmitted into 13000bps. Since the GSM audio type where the audio signals are transmitted at 13kbps is supported, an audio support is possible on a real-time basis even with a 28K modem.
Meanwhile, it is judged whether image media are selected in step S 142204. If the user has selected the audio media, an image player 14222 object is generated and the object reference of the synchronization engine 1426 is referred to (S 142242). Here, an image decoder object is generated together with sub-decoding component objects which can selectively handle a 2D image modeling and a 3D image modeling according to a media application type (S 142244 and S 142246).
Although the video player 14220 and the audio player 14222 handle continuous media patterns, the image player 14224, the text player 14226 and the HTML loader 14228 handle discontinuous media patterns. Accordingly, a corresponding template file of the multimedia template file system 1402 which has been described referring to FIG. 3 are read from the server system SSI and the read template file is used in steps S 142250, S 142274 and S 142290. The multimedia template files 140208, 140210 and 140212 of the remaining discontinuous media except for the video are configured in the following pattern as described above. That is, the pattern includes a media file directory from which media are taken, a media type, a logical start time and a logical end time. Here, the media type is recognized as a file extension descriptor. For example, gif/jpeg represents an image type, txt represents a text type, and html/htm represents a HTML document type. The template file can be made up with a text-based editor by the user. Since the contents of all media are not integrated in a binary file unlike the existing method, the altered items can be corrected any time.
Based on the above information, the actual media data are read from the server system SSI in real time and combines the read result with a logical reproduction time to thereby complete a perfect media frame, through steps S 142252, S 142274 and S 142294. The thus-completed media frame pieces are decoded through corresponding decoding steps S 142260 and S 142258, and represented on the display engine 1428 (S 142262, S 142280 and S 142296).
After the media frames have been displayed on the screen, each decoder object thread is slept in order to ensure the reproduction time for each reproduction time, the media frames are erased from the screen if the reproduction time is finished unlike the continuous media to thereby ensure a discontinuity of the media (S 142264, S 142282 and S 142298). h addition, the bandwidth of the network can be effectively used through the insurance of the discontinuity. Here, a portion which should be taken care of is a 3D image modeling judgement step S 142258 in the image decoder. This portion is divided into a motion module and a panorama module largely. The motion module receives the successive 2D images of 18 sheets or more which have been photographed at a different angle, in sequence and performs a three dimensional modeling, to thereby provide an effect of watching a 3D object. Further, a parming function is provided to sequentially change images, by which an actual three dimensional object seems to be seen.
The above function provides an effect of modeling a displayed product as its three dimensional shape in the web cataloging system. Also, the panorama module implements a three dimensional 360-degree panning effect with a sheet of 2D image. Also, when a particular space in the image is clicked, the panorama module includes a function of linking the image with a different media player. FIGs. 6A and 6B are flowchart view for explaiiiing the operation of the server system. The server system SSI starts from step SI 40000 which drives video server servlets via the web server 12. Then, a video template file 140206 is read from the multimedia template file system 1402 and the read video template file is loaded in the memory. Then, each video template file is converted into an object, which can react to a user request with respect to a corresponding media player (S 140002). The reason why the template file 140206 has been loaded in the memory resides in the fact that a user reaction time is reduced at maximum and a service performance is improved. When the template file is loaded, the actual contents data exists in the hard disc and only header portions containing the information of a physical storage position and the time information per each frame are installed in the memory.
In the case of the remaining media except for the video, that is, audio, image, text and HTML data, a corresponding file is read from the disc in step S 140040 when a user request exists (S 140038), the data is transmitted to the client terminal Cl according to a stieamrng protocol with the client terminal Cl (S 140042), to accordingly disconnect a session (S 140044).
In the case of the video data, the video data is specially taken care of by the video server engine 1400, since the video data consumes a relatively large amount of data and a relative large number of input/output (I/O) resources, and reflects the situation of the network bandwidth which is dynamically varying and streams. Once a user performs a session connection with respect to a video servlet (S 140004), the following commands is transmitted from the client terminal Cl to the video servlet in the form of the URL (uniform resource locator).
http://videoserver:port/VideoServlet?file=titlel.mpgc&fps+10&lts:=0&speed =1
The video server engine 1400 parses a video title name in the input commands (S 140006), and selects a corresponding template object from the memory with respect to the parsed title (S 140008). Then, a value of the reproduction position of the actual video data to be read is determined from the input parameter (SI 40010). If the reproduction position value is zero, the reproduction position is moved from the video template object to an initial offset pointer (S 140012), and if not the reproduction position is moved from the video template object to an offset pointer of a corresponding position (S 140014).
Then, it is judged whether a reproduction velocity is altered (S 140016). If the reproduction velocity has been altered, the altered reproduction velocity is reflected (S 140020), and if not the existing velocity is maintained (S140018).
Then, it is judged whether a frame rate (FPS: frames per second) is altered (S 140022). If a current FPS input value on which the user reflects the situation in the alteration of the network bandwidth differs from the existing value, the FPS value is set the newly input value (S 140024), and if not the existing FPS is maintained (S 140026).
If a parsing process with respect to all the input parameters are completed as described above, a video stream file is read from an actual current offset at a current velocity (S 140028). The reading of the video data is repeated in units of one second. As soon as a one-second amount of the video data has been read, only a stream of the current FPS is packetized (S 140030) and the packet is tiansmitted to the client terminal Cl (S 140032). The above process is repeated until an EOF (end of file) is met (S 140034) or a session is compulsively terminated (S 140036).
FIGs. 9A and 9B are flowchart view for explaining the operation of the media reception engine. The media reception engine 1420 is implemented by producing a media reception engine object (S 142000) when the client Java Applet 142 is driven. Once the object of the media reception engine 1420 has been produced, a packet of predetermined set α seconds is requested to the server system SSI in advance in order to calculate the bandwidth of the current network. Here, the initial parameters such as a video title name, a FPS, a reproduction velocity^!, and a reproduction position=0 are transferred to the server system SSI (S 142002). Then, the media reception engine 1420 receives the packet of the seconds from the server system SSI and then calculates an average reception time value L per second (S 142004).
Thereafter, an optimal FPS is calculated at the current network state with the average reception time value L (S 142006). Accordingly, with this portion, the present invention system provides a mechanism which can selectively receive a conventional 30 FPS-based MPEG stieam according to the current bandwidth situation. As a result, the present invention can provide elastical services with respect to the low bandwidth situation and the dynamic bandwidth situation which cannot be done in the conventional normal MPEG stieam. Once the optimal FPS is calculated at the current state, the system enters an asynchronous listen state until data is transmitted from the actual server system SSI. Thus, since the present invention system is in the wakeup state only when data is transmitted from the actual server system SSI, the opportunities that other processes can proceed are provided (S 142008).
If a data packet is arrived from the server system SSI (S 142010), the data packet is received every second (S 142012). Then, a media type is parsed at the header portion of the received packet (S 142014). Then, the data packet is inserted into the corresponding media queue 1424 (S 142016).
By repeating the above process, the successive packets are inserted into the media queue 1424. However, if a bandwidth situation becomes worse suddenly during reception, the logical end time of the received packet may exceed the logical time, that is, the reproduction position under the current reproduction (S 142018). hi this case, a step of buffering the time as much as a certain amount of time is needed. The buffering step starts when the reproduction velocity of the synchronization engine 1426 is set zero and enters a block state for a moment (S 142020).
Then, an optimal buffering time is predicted based on the average reception value per second L (S 142022). Then, a data packet is received as much as the buffering time and the received data packet is inserted into the media queue 1424 (S 142024). If the buffering step is completed, the synchromzation reproduction velocity is set one again and thus a reproduction is resumed from the stop point (S 142026). The average reception time per second L is recalculated every five seconds (S 142028). The media reception engine 1420 awaits the next packet at the listen state whenever the reception step of one packet is finished (S 142008).
FIG. 10 shows a configuration of the media display engine. The media display engine 1428 is composed of three API, mcluding a Java AWT (abstiact windows toolkit) API (application program interface) 42802 taking charge of GUI, a Java audio API 42806 taking charge of audio output and a web browser API 42810 taking charge of the output of the HTML. The Java AWT API 42802 is connected to a video display device 42804 and takes charge of visual representation. The Java audio API 42806 is connected to an audio output device 42808 and takes charge of audio output, also, the web browser API 42810 performs the processes relating to the HTML output.
FIG. 11 is detailed block diagram of the multimedia hardware devices 8 and 9 shown in FIG. 2. The multimedia hardware devices 8 and 9 include a sound card 1602 and a VGA output unit 1606, respectively. The sound card 1602 is connected to a speaker system 1604 and converts the actual audio sound into an analog waveform to then output the results. The VGA output unit 1606 outputs the screen signals to a monitor 1608, a LCD 1610 or a beam projector 1612 according to a user selection. As described above, the present invention provides a Java- based dynamic multimedia web cataloging system and method for expressing catalog contents most effectively with a web browser, in such a manner that various multimedia data necessary for current representation is requested dynamically to a server system according to each feature of the multimedia data and having streamed via a web server from the server system to a client terminal using the web browser is mixed with hyper text markup language (HTML) documents, by inserting a Java Applet into a client application in which the Java Applet implements functions necessary for web cataloging multimedia dynamically on a real time basis in the static HTML documents. Also, the present invention provides a Java-based dynamic multimedia web cataloging system and method for effectively representing dynamic multimedia web cataloging information which was difficult to represent using a conventional HTML or DHTML (dynamic HTML) document, a plug-in program software and a Java script, in a web browser, in which a Java Applet inserted in a HTML document is driven by a client program and a synchronization engine and a stieaming function for the Java Applet are properly mixed, to thereby logically transmit and receive and combine media frames such as video, audio, 2-dimensional/3 -dimensional (2D/3D) image, text, animation and HTML data which have been selected on a real-time basis, through a web server and a video server engine.
Further, the present invention provides a Java-based dynamic multimedia web cataloging system and method which can be executed in a portable communications terminal such as PCSs and PHSs, a personal digital assistant (PDA), a settop box, a digital TV or a web phone which is porting a personal Java (PersonalJava) software, and a Java operating system (JavaOs) mounted Java chip, as well as a web browser of a personal computer (PC), a workstation, a notebook PC or a palm top PC which is designed based on a hardware-independent pure-Java and is mounted with a Java virtual machine.
Also, the present invention provides a Java-based dynamic multimedia web cataloging system and method which is configured on a stieaming basis, in which only desired media can be selectively received according to an Internet bandwidth, and an intelligent reproduction is possible using a frame-based virtual video cassette recorder (VCR) and provides a Java-based dynamic multimedia web cataloging system and method for providing a multimedia representation scheme which is the most appropriate on the web, in which a discontinuous media streaming method such as image, text or HTML data is newly devised from a conventional successive media stieaming method such as videos or audios.
As described above, particular embodiments of the present invention have been described as preferable examples. However, the present invention is not limited to the above-described embodiments, and various modifications and changes can be possible by those skilled in the art without departing off the scope of the invention.

Claims

CLAIMSWhat is claimed is:
1. A dynamic multimedia web cataloging system using Java under a client/server system circumstance where a client terminal including a web browser and a Java virtual machine and a server system including a web server are connected via the Internet network, the Java-based dynamic multimedia web cataloging system comprising: a multimedia template file system configured with template files including overall information so that multimedia data mcluding video, audio, 2D/3D images, animation, text and HTML data are appropriate for a stieaming action; the web server for providing a client Java Applet information contained HTML catalog document to the web browser when a user gains access to the server system via the web browser, and for gaining accessing to the multimedia template file system directly for the multimedia data including audio, 2D/3D image, animation, text and HTML data in the case that there is a request from a client Java Applet created in the web browser according to the client Java Applet information and stieaming the accessed result to the client Java Applet; a video server engine for parsing the contents of video data according to a request of the video data from the client terrriinal and stieaming the video data on a real-time basis to the client Java Applet via the web server; and the client Java Applet which is inserted in the HTML catalog document when the client terminal gains access to the web server, downloaded in the web browser, and created by the Java virtual machine, for implementing functions necessary for a web cataloging dynamically on a real-time basis, wherein the client Java Applet comprises: a synchronization engine for requesting multimedia data including videos necessary for a corresponding logical point in time on the client web browser and combining the multimedia data received via the web server dynamically, to then reproduce the combined result; a media reception engine for receiving a cataloging multimedia data packet from the web server and the video server engine in a stieaming method and temporarily storing the received cataloging multimedia data packet in a media queue; a media player engine for continuously checking virtual VCR information such as time information, reproduction information and velocity information of the synchronization engine and controlling corresponding media data to be read from the media queue in a corresponding point in time and to be decoded in accordance with a format of each file to be reproduced in a corresponding arrangement device; and a display engine for displaying the media data decoded in the media player engine.
2. The dynamic multimedia web cataloging system using Java of claim 1, wherein said synchronization engine comprises: lifecycle management means for receiving information on mixture of the multimedia data from the Java Applet inserted into the HTML document, synchronizing each of the selected media supplied from the web server on a logical time, and managing each representation time; and service manager means for parsing the template file containing all the information relating to the web cataloging on a real time basis, and dynamically representing and managing the objects in the Java Applet and one or more HTML frames,
3. The dynamic multimedia web cataloging system using Java of claim 1, wherein each media data transmitted from said web server exists in units of frame, each frame including binary compression data to be actually represented, a logical representation start time and a logical representation end time, and wherein said all information includes a storage position, a media type, a media name, a representation start time and a representation end time in the web server.
4. The dynamic multimedia web cataloging system using Java of claim 1, wherein said multimedia template file system is comprised of a template file directory including metadata for handling actual media data and a media file directory which is a physical file system storing the actual media data, said media file directory is comprised of a video file, an audio file, an image file, a text file and a HTML file, said template file directory is comprised of a video template file, an image template file, a text template file and a HTML template file, which are automatically loaded into the memory in the server system and physically positioned in the header portion of the video file when the server system is initialized so that a fast sfrearning can start when a request arrives from the client terminal, and said template file is comprised of a media file directory from which the media are taken, a media type, a logical start time and a logical end time, so that said template file is used by the synchronization engine 1426 which refers to the template file to set up a basic synchronization strategy when the client Java Applet is firstly initialized, and a user can make up the template file with a general text-based editor.
5. The dynamic multimedia web cataloging system using Java of claim 1, wherein said media to be reproduced within a respective corresponding logical time is classified into video, audio, text, 2D still image, 2D image set for 3D modeling, animation image and HTML data, which is independently performed at a mutually logical reproduction time in the window of the client Java Applet and other web browser, in which the 2D image set for 3D modeling is used in independent form for making a set of 3D modeling image and animation in the image player, and all the other media except for the 2D image set for 3D modeling are comprised of frames divided in units of an independent reproduction time.
6. The dynamic multimedia web cataloging system using Java of claim 5, wherein each of the media is reproduced independently or any one of one or more same media and/or different media combinations when said web cataloging is dynamically performed, and wherein said media combination is one of a first media combination of video and textual caption, a second media combination of video and audio, a third media combination of video, audio, and textual caption, a fourth media combination of video, audio, textual caption, and still image, a fifth media combination of video, audio, first language textual caption, and second language textual caption, a sixth media combination of video, audio, first language textual caption, second language textual caption, and third textual caption, etc., a seventh media combination of video, audio, and HTML document, an eighth media combination of video, audio, textual caption, and HTML document, a ninth media combination of video, audio, textual caption, HTML document, and still image, a tenth media combination of still image, and textual caption for realizing a slide show, an eleventh media combination of still image, textual caption, and audio per each image for realizing an audio slide show, a twelfth media combination of animation image for realizing a rolling banner advertisement, a lliirteenth media combination of animation image, and audio per each image for realizing a sound rolling banner advertisement, a fourteenth media combination of 3D panorama image, a fifteenth media combination of continuity of 2D images photographed at different angles for realizing 3D photo modeling effect and a sixteenth combination of animation image, textual caption, and audio per each image for realizing a sound/textual caption rolling banner advertisement.
7. The dynamic multimedia web cataloging system using Java of claim 1, wherein said media player engine is comprised of at least one media player produced according to a flag set with respect to the media which is selected for web catalog representation by a user after a user parameter input via the web browser is parsed, and said media player is comprised of a video player, an audio player, an image player, a text player and a HTML loader, in which these media are simultaneously produced and thus one or more media are simultaneously represented.
8. The dynamic multimedia web cataloging system using Java of claim 1, wherein said media display engine comprises a Java AWT (abstiact windows toolkit) API (application program interface) which is connected to a video display device and takes charge of visual representation, a Java audio API which is connected to an audio output device and takes charge of audio output, and a web browser API 42810 taking charge of the HTML output.
9. The dynamic multimedia web cataloging system using Java of claim 1, further comprising at least one contents servers in which particular media data is dispersedly arranged considering the performance of the server system and the load of the network, and a mutual physical storage position is shared based on a media file directory and a TCP/IP.
10. A dynamic multimedia web cataloging method using Java under a client/server system circumstance where a client terrriinal including a web browser and a Java virtual machine and a server system including a web server are connected via the Internet network, the Java-based dynamic multimedia web cataloging method comprising the steps of: (a) gaining access to the web server of the server system using the web browser; (b) downloading a client Java Applet information contained HTML catalog document to the web browser from the web server; (c) parsing a HTML tag of the HTML catalog document in the web browser, requesting to the server system multimedia data including at least one of video, audio, 2D/3D image, animation, text and HTML data necessary for a multimedia web cataloging via a Java virtual machine, creating a client Java Applet object including a synchronization engine for combining the multimedia data received via the web server dynamically, to then reproduce the combined result and a media reception engine for receiving a cataloging multimedia data packet from the server system in a stieaming method and storing the received cataloging multimedia data packet in a media queue, and creating a graphic user interface (GUI) in the determined HTML document; (d) parsing a user input parameter if a user initial input value is input via the web browser and then establishing flags with respect to media selected for a user desired catalog representation; (e) decoding each media data received in correspondence to each media selected based on the established representation information, in accordance with a format of each file, creating a media player object mcluding a video player, audio player, an image player, a text player and a HTML player to be reproduced in a corresponding arrangement device, and allocating a media queue corresponding to each media player object in a public type; (f) configuring initialization input data for starting a catalog representation in the client Java Applet in the case that the media player object has been created to be handed over to a Java event handler; (g) transferring a velocity value, a reproduction position and a frame rate in units of frame per second which are estabhshed according to a velocity control, and a selection of a reproduction position and a reproduction operation based on the parsed input value, from the synchronization engine to the server system via the web server; (h) parsing the contents in a video server engine upon a request of video data according to the request and stieaming the parsed result to the client Java Applet via the web server and reading audio, image, text and HTML data except for video data from a template file system directly in the web server and stieaming the read result to the client Java Applet; (i) receiving a cataloging multimedia data packet in the media reception engine in a stieaming method and storing the received cataloging multimedia data packet in a media queue; (j) synchronizing each received media data under the control of a reproduction time of a synchronization engine in a media player, to be decoded in accordance with a format of each file to be reproduced in a corresponding arrangement device; and (k) displaying the media data decoded in the media player by a display engine.
11. The dynamic multimedia web cataloging method using Java of claim 10, wherein said template file in said multimedia template file system comprises information about a storage position, a media type, a media name, a representation start time and a representation end time in the web server, with respect to each media data, and said template file is used by the synchronization engine which refers to the template file to set up a basic synchronization strategy when the client Java Applet is firstly initialized, and further comprising the step of loading said video template file in the memory when a video server servlet by the web server.
12. The dynamic multimedia web cataloging method using Java of claim 10, wherein said video data stieaming step comprises the sub- steps of: executing a session connection of video servlet in the client teπninal by the user and tiansferring a command including parameters with respect to user desired video title and the video data to a video server engine; parsing the video title from the input command, selecting a corresponding template object of the memory with respect to the parsed title, and sequentially judging whether a reproduction position, a reproduction velocity and a frame rate (FPS; frames per second) from which the video data are read from the input parameter are altered; and reading a video stream file at a current velocity from an actual current offset after completing a parsing process with respect to all input parameters, packetizing a stream as many as the number of the current FPS as soon as the video data has been read, and transferring the packet to the client terminal.
13. The dynamic multimedia web cataloging method using Java of claim 10, wherein said catalog media data packet receiving step comprises the steps of: requesting a packet of predetermined set time to the server system in advance in order to calculate the bandwidth of the current network, in the case that the media reception engine object has been produced, receiving the packet of the set time from the server system and then calculating an average reception time value per second; calculating an optimal FPS at the current network state with the average reception time value; entering an asynchronous listen state until data is tiansmitted from the actual server system, once the optimal FPS is calculated at the current state and judging whether a data packet arrives from the server system; and receiving a data packet every one second once the data packet arrives in the result of judgement, parsing the media type from the header portion of the received next packet, and inserting the data packet in the corresponding media queue.
14. The dynamic multimedia web cataloging method using Java of claim 13, further comprising the steps of: judging whether the logical end time of the received last packet exceeds the logical time, that is, the reproduction position under the current reproduction, if a bandwidth situation becomes worse suddenly during reception, when the successively received packets are inserted into the media queue; setting the reproduction velocity of the synchronization engine to be zero and entering a block state for a moment in the case that the logical end time of the last packet exceeds the logical time, that is, the reproduction position under the current reproduction in the result of judgement; predicting an optimal buffering time based on the average reception value per second at the block set state, receiving a data packet as much as the buffering time, and inserting the received data packet into the media queue; and resuming a reproduction from the stop point after the synchronization reproduction velocity is set one again if the buffering step is completed, and recalculating the average reception time per second every predetermined set time.
15. The dynamic multimedia web cataloging method using Java of claim 10, wherein in said synchronization step of the synchronization engine with respect to said media data, a logical reproduction time of each data frame of video is determined based on the FPS, that of audio is determined according to a sampling rate per second, and those of media combined using a start time, end time and reproduction velocity information of the corresponding template file in case of the discontinuous media including image, text and HTML data are determined, in order to perform synchronization.
16. The dynamic multimedia web cataloging method using Java of claim 10, wherein said media data is controlled so that the media data is reproduced by a virtual VCR function of the synchronization engine.
17. The dynamic multimedia web cataloging method using Java of claim 16, further comprising the step of opening the object reference, reproduction velocity and logical time to each media player, in such a manner that each media player can refer to a synchronization variable and flag with respect to the current synchronization situation, after the synchronization engine transfers the reproduction velocity, reproduction position and the frame rate per second (FPS) to the server system according to the input from the user.
18. The dynamic multimedia web cataloging method using Java of claim 10, wherein said media player object produced according to the selected media are generated simultaneously and in parallel by a multithread function of Java.
19. The dynamic multimedia web cataloging method using Java of claim 10, further comprising the step of tiansferring the altered velocity value, reproduction position and frame rate per second to the server system, in the case that the user alters the set velocity value, the set reproduction position and the set frame rate per second.
20. The dynamic multimedia web cataloging method using Java of claim 10, wherein said video decoding step of said video player object comprises the steps of: generating a video decoder object for converting the synchronization information into pixel images which can be output in an actual media display engine as a thread object; comparing the reproduction velocity and the reproduction position of the synchronization engine, and the logical start time and the logical end time in the actual video frames in the generated video decoder object, to check whether there are video frames to be reproduced at a current point in time in the media queue; if the velocity of the synchronization engine is zero, or if the velocity of the synchronization engine is not zero and there is no video frame corresponding to the current logical point in time, sleeping its thread as much as the set time and if there is the video frame corresponding to the current logical point in time in the media queue, taking the video frame from the media queue; performing MPEG-1 decoding with respect to the video frame taken from the media queue; after the decoding has been completed, outputting the decoded result on a screen via a video device of the display engine; and after a video decoder thread is slept for a remaining frame reproduction time so that the decoded output can be displayed on the screen for a reproduction time of the current frame, automatically erasing the output video frame from the media queue.
21. The dynamic multimedia web cataloging method using Java of claim 10, wherein said audio decoding step of said audio player object comprises the steps of: generating an audio decoder object for converting the synchronization information into audio data which can be output in an actual media display engine as a thread object; comparing the reproduction velocity and the reproduction position of the synchronization engine, and the logical start time and the logical end time in the actual audio frames in the generated audio decoder object, to check whether there are audio frames to be reproduced at a current point in time in the media queue; if the velocity of the synchronization engine is zero, or if the velocity of the synchronization engine is not zero and there is no audio frame corresponding to the current logical point in time, sleeping its thread as much as the set time and if there is the audio frame corresponding to the current logical point in time in the media queue, taking the audio frame from the media queue; performing GSM decoding with respect to the audio frame taken from the media queue; after the decoding has been completed, outputting the decoded result through a speaker in an audio device of the display engine; and after an audio decoder thread is slept for a remaining frame reproduction time so that the decoded output can be displayed on the speaker for a reproduction time of the current frame, automatically erasing the output audio frame from the media queue.
22. The dynamic multimedia web cataloging method using Java of claim 10, wherein said image decoding step in said image player object comprises the steps of: generating an image decoder object for converting the synchronization information into pixel images which can be output by the actual medial display engine, together with sub-decoding component objects which can selectively handle a 2D image modeling and a 3D image modeling according to a media application type, as a thread object; comparing the reproduction velocity and the reproduction position of the synchronization engine, and the logical start time and the logical end time in the actual image frames in the generated image decoder object, to check whether there are image frames to be reproduced at a current point in time in the media queue; if the velocity of the synchronization engine is zero, or if the velocity of the synchronization engine is not zero and there is no image frame corresponding to the current logical point in time, sleeping its thread as much as the set time and if there is the image frame corresponding to the current logical point in time in the media queue, taking the image frame from the media queue; reading the actual image data from the server system in real time and combining the read result with a logical reproduction time to thereby complete a perfect image frame, based on the information about a media file directory from which media are taken, a media type, a logical start time and a logical end time, which are included in the image frame taken from the media queue; after judging whether the completed media frame is 2D or 3D, performing a 2D image decoding with respect to the media frame pieces in the case of 2D and performing a 3D image modeling in the case of 3D; after the decoding is completed, outputting the decoded result on a screen via the video device of the display engine; and after the image decoder object thread is slept as much as the remaining frame reproduction time so that the output can be displayed on the screen for the reproduction time of the current frame, automatically erasing the output image frames for the media queue.
23. The dynamic multimedia web cataloging method using Java of claim 22, wherein said 3D image modeling comprises a motion module which receives the successive 2D images of 18 sheets or more which have been photographed at a different angle, in sequence and performs a three dimensional modeling, and panorama module which implements a three dimensional 360-degree panning effect with a sheet of 2D image in which when a particular space in the image is clicked, the panorama module includes a function of linking the image with a different media player.
24. The dynamic multimedia web cataloging method using Java of claim 10, wherein each of the media is reproduced independently or any one of one or more same media and/or different media combinations when said web cataloging is dynamically performed, and wherein said media combination is one of a first media combination of video and textual caption, a second media combination of video and audio, a third media combination of video, audio, and textual caption, a fourth media combination of video, audio, textual caption, and still image, a fifth media combination of video, audio, first language textual caption, and second language textual caption, a sixth media combination of video, audio, first language textual caption, second language textual caption, and third textual caption, etc., a seventh media combination of video, audio, and HTML document, an eighth media combination of video, audio, textual caption, and HTML document, a ninth media combination of video, audio, textual caption, HTML document, and still image, a tenth media combination of still image, and textual caption for realizing a slide show, an eleventh media combination of still image, textual caption, and audio per each image for realizing an audio slide show, a twelfth media combination of animation image for realizing a rolling banner advertisement, a thirteenth media combination of animation image, and audio per each image for realizing a sound rolling banner advertisement, a fourteenth media combination of 3D panorama image, a fifteenth media combination of continuity of 2D images photographed at different angles for realizing 3D photo modeling effect and a sixteenth combination of animation image, textual caption, and audio per each image for realizing a sound/textual caption rolling banner advertisement.
25. The dynamic multimedia web cataloging method using Java of claim 24, wherein said video is MPEG-1 data and said audio is real- time GSM data.
26. The dynamic multimedia web cataloging method using Java of claim 10, wherein said client terminal is one of a general portable phone, a personal digital assistant (PDA), a settop box, a digital TV or a web phone which is porting a personal Java (PersonalJava) software, and a Java operating system (JavaOs) mounted Java chip, as well as a personal computer (PC), a workstation, a notebook PC or a palm top PC which is designed based on a pure- Java and is mounted with a Java virtual machine and a web browser.
PCT/US2000/026508 1999-09-27 2000-09-26 System and method using a web catalog with dynamic multimedia data using java WO2001077897A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU77210/00A AU7721000A (en) 1999-09-27 2000-09-26 System and method for web cataloging dynamic multimedia using java

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-1999-0041359 1999-09-27
KR1019990041359A KR100340169B1 (en) 1999-09-27 1999-09-27 System and Method for Web Cataloging Dynamic Multimedia Using Java

Publications (2)

Publication Number Publication Date
WO2001077897A2 true WO2001077897A2 (en) 2001-10-18
WO2001077897A3 WO2001077897A3 (en) 2002-05-02

Family

ID=19612919

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/026508 WO2001077897A2 (en) 1999-09-27 2000-09-26 System and method using a web catalog with dynamic multimedia data using java

Country Status (4)

Country Link
JP (1) JP2001167037A (en)
KR (1) KR100340169B1 (en)
AU (1) AU7721000A (en)
WO (1) WO2001077897A2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1551175A1 (en) * 2002-10-09 2005-07-06 Matsushita Electric Industrial Co., Ltd. Information processor
CN100399259C (en) * 2002-12-12 2008-07-02 三星电子株式会社 Method and apparatus for displaying markup document linked to applet
US7962937B2 (en) 2006-08-01 2011-06-14 Microsoft Corporation Media content catalog service
CN109218350A (en) * 2017-06-30 2019-01-15 勤智数码科技股份有限公司 A kind of data information resource sharing system and method
CN111460183A (en) * 2020-03-30 2020-07-28 北京金堤科技有限公司 Multimedia file generation method and device, storage medium and electronic equipment
CN112019482A (en) * 2019-05-30 2020-12-01 福建天泉教育科技有限公司 Web-based communication method and computer-readable storage medium
CN114666514A (en) * 2022-03-18 2022-06-24 稿定(厦门)科技有限公司 Data processing method and device, electronic equipment and storage medium

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100358531B1 (en) * 2000-06-09 2002-10-25 (주) 이모션 Method for Inserting and Playing Extended Contents to Multimedia File
KR20020064564A (en) * 2001-02-02 2002-08-09 주식회사 크로스다임 Streaming method by moving picture compression method using M-JPEG
BR0311545A (en) * 2002-06-04 2007-04-27 Qualcomm Inc system for multimedia rendering on a portable device
KR100653610B1 (en) * 2004-09-15 2006-12-04 (주)웹플러스 On-line flash editing system with reinforced function of editing navigation bar
JP2009009202A (en) * 2007-06-26 2009-01-15 Bits Co Ltd Provision method for electronic document, and computer program
KR101505519B1 (en) * 2007-10-16 2015-03-25 삼성전자 주식회사 Apparatus and method for providing contents
KR101416100B1 (en) * 2012-08-07 2014-07-14 인크로스 주식회사 An interface for interworking with javascripts in hybrid web applications
KR101877034B1 (en) * 2012-10-19 2018-08-09 한국전자통신연구원 System and providing method for multimedia virtual system
CN112328233B (en) * 2020-10-29 2024-04-16 许继集团有限公司 Visual logic graphical code interpretation execution method and device
CN112784068B (en) * 2021-01-28 2022-05-17 新华智云科技有限公司 Method and system for managing customized catalogs of media assets

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998059460A1 (en) * 1997-06-20 1998-12-30 Uri Raz Information transfer system with dynamic distribution of data, control and management of information

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761673A (en) * 1996-01-31 1998-06-02 Oracle Corporation Method and apparatus for generating dynamic web pages by invoking a predefined procedural package stored in a database
US5890175A (en) * 1996-09-25 1999-03-30 Wong; Garland Dynamic generation and display of catalogs
JPH1139329A (en) * 1997-07-22 1999-02-12 Nec Software Ltd Dynamic generation system for html file
KR20000033045A (en) * 1998-11-19 2000-06-15 정선종 Method of receiving multicast audio and video information on web

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998059460A1 (en) * 1997-06-20 1998-12-30 Uri Raz Information transfer system with dynamic distribution of data, control and management of information

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHEN ET AL: "Real Time Video and Audio in the World Wide Web" INTERNATIONAL WORLD WIDE WEB CONFERENCE, XX, XX, 11 December 1995 (1995-12-11), pages 1-14, XP002107740 *
ENGLAND P ET AL: "RAVE: real-time services for the Web" FIFTH INTERNATIONAL WORLD WIDE WEB CONFERENCE, PARIS, FRANCE, 6-10 MAY 1996, vol. 28, no. 7-11, pages 1547-1558, XP004018250 Computer Networks and ISDN Systems, May 1996, Elsevier, Netherlands ISSN: 0169-7552 *
HERNG-YOW CHEN ET AL: "Design of a Web-based synchronized multimedia lecture system for distance education" PROCEEDINGS IEEE INTERNATIONAL CONFERENCE ON MULTIMEDIA COMPUTING AND SYSTEMS, PROCEEDINGS OF ICMCS99: IEEE MULTIMEDIA SYSTEMS '99: INTERNATIONAL CONFERENCE ON MULTIMEDIA COMPUTING AND SYSTEMS, FLORENCE, ITALY, 7-11 JUNE 1999, pages 887-891 vol.2, XP002181582 1999, Los Alamitos, CA, USA, IEEE Comput. Soc, USA ISBN: 0-7695-0253-9 *
KRISTENSEN A: "Template resolution in XML/HTML" COMPUTER NETWORKS AND ISDN SYSTEMS, NORTH HOLLAND PUBLISHING. AMSTERDAM, NL, vol. 30, no. 1-7, 1 April 1998 (1998-04-01), pages 239-249, XP004121423 ISSN: 0169-7552 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1551175A1 (en) * 2002-10-09 2005-07-06 Matsushita Electric Industrial Co., Ltd. Information processor
EP1551175A4 (en) * 2002-10-09 2008-10-15 Matsushita Electric Ind Co Ltd Information processor
US7600045B2 (en) 2002-10-09 2009-10-06 Panasonic Corporation Information processor
CN100399259C (en) * 2002-12-12 2008-07-02 三星电子株式会社 Method and apparatus for displaying markup document linked to applet
US9055317B2 (en) 2006-08-01 2015-06-09 Microsoft Technology Licensing, Llc Media content catalog service
US8555317B2 (en) 2006-08-01 2013-10-08 Microsoft Corporation Media content catalog service
US7962937B2 (en) 2006-08-01 2011-06-14 Microsoft Corporation Media content catalog service
CN109218350A (en) * 2017-06-30 2019-01-15 勤智数码科技股份有限公司 A kind of data information resource sharing system and method
CN109218350B (en) * 2017-06-30 2023-05-05 勤智数码科技股份有限公司 Data information resource sharing system and method
CN112019482A (en) * 2019-05-30 2020-12-01 福建天泉教育科技有限公司 Web-based communication method and computer-readable storage medium
CN112019482B (en) * 2019-05-30 2023-02-28 福建天泉教育科技有限公司 Web-based communication method and computer-readable storage medium
CN111460183A (en) * 2020-03-30 2020-07-28 北京金堤科技有限公司 Multimedia file generation method and device, storage medium and electronic equipment
CN111460183B (en) * 2020-03-30 2024-02-13 北京金堤科技有限公司 Method and device for generating multimedia file, storage medium and electronic equipment
CN114666514A (en) * 2022-03-18 2022-06-24 稿定(厦门)科技有限公司 Data processing method and device, electronic equipment and storage medium
CN114666514B (en) * 2022-03-18 2024-02-02 稿定(厦门)科技有限公司 Data processing method, device, electronic equipment and storage medium

Also Published As

Publication number Publication date
JP2001167037A (en) 2001-06-22
KR100340169B1 (en) 2002-06-10
WO2001077897A3 (en) 2002-05-02
AU7721000A (en) 2001-10-23
KR20010028861A (en) 2001-04-06

Similar Documents

Publication Publication Date Title
EP1131930B1 (en) Partitioning of file for emulating streaming
US7529806B1 (en) Partitioning of MP3 content file for emulating streaming
US7257638B2 (en) Distributing network applications
JP4959504B2 (en) System and method for interfacing MPEG coded audio-visual objects capable of adaptive control
WO2001077897A2 (en) System and method using a web catalog with dynamic multimedia data using java
US6154207A (en) Interactive language editing in a network based video on demand system
US5826102A (en) Network arrangement for development delivery and presentation of multimedia applications using timelines to integrate multimedia objects and program objects
US8265457B2 (en) Proxy editing and rendering for various delivery outlets
JP2003522348A (en) Method and apparatus for reformatting web pages
JP2002342218A (en) Method and system for providing contents
WO1996019779A9 (en) Authoring tools for multimedia application development and network delivery
Jones The Microsoft Interactive TV System: An Experience Report
JPH09167124A (en) Method and system for expression of framed picture of multimedia product
Raposo et al. Efficient Visualization in a mobile WWW environment
KR20050096625A (en) System for reproducting moving images
WO2000010329A1 (en) Client-side digital television authoring system
Wynblatt et al. Multimedia meets the internet: present and future
TW503663B (en) Method and apparatus for managing streaming data
Wynblatt et al. Multimedia applications on the internet
KR20050096629A (en) System for providing moving images service and method for the same
Lawee Impatica for PowerPoint and Impatica OnCue--Empowering content specialists
Hoepner et al. IMMP development environment for interactive services
EP1912438A2 (en) System and method for interfacing MPEG-coded audiovisual objects permitting adaptive control
n’Touch Emotion Inc. introduced CreativePartner for Macintosh computers, a fully integrated software system for distrib
HSU et al. MICHAEL WYNBLATT DAN BENSON

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ 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 MZ 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: A2

Designated state(s): GH GM KE LS MW MZ 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
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: JP