KR20010028861A - System and Method for Web Cataloging Dynamic Multimedia Using Java - Google Patents

System and Method for Web Cataloging Dynamic Multimedia Using Java Download PDF

Info

Publication number
KR20010028861A
KR20010028861A KR1019990041359A KR19990041359A KR20010028861A KR 20010028861 A KR20010028861 A KR 20010028861A KR 1019990041359 A KR1019990041359 A KR 1019990041359A KR 19990041359 A KR19990041359 A KR 19990041359A KR 20010028861 A KR20010028861 A KR 20010028861A
Authority
KR
South Korea
Prior art keywords
media
web
engine
server
client
Prior art date
Application number
KR1019990041359A
Other languages
Korean (ko)
Other versions
KR100340169B1 (en
Inventor
허홍
박순은
이진배
강희국
서성철
Original Assignee
서성철
줄라이네트 주식회사
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 서성철, 줄라이네트 주식회사 filed Critical 서성철
Priority to KR1019990041359A priority Critical patent/KR100340169B1/en
Priority to JP2000289704A priority patent/JP2001167037A/en
Priority to AU77210/00A priority patent/AU7721000A/en
Priority to PCT/US2000/026508 priority patent/WO2001077897A2/en
Publication of KR20010028861A publication Critical patent/KR20010028861A/en
Application granted granted Critical
Publication of KR100340169B1 publication Critical patent/KR100340169B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE: The system and method for web cataloging of dynamic multimedia are provided to express the contents of catalogue through a web browser by inserting the Java Applet as a client application in HTML document and requesting all sorts of data needed to a current expression in a server system suited to its characteristics and in dynamic, thereby streaming the data to the web browser through a web server in real time. CONSTITUTION: A user connects to a web server(12) and down-loads HTML catalogue document having a client Java Applet to one's web browser(14). When the HTML tag of the document is parsed in the web browser(14) and contacted to an Applet tag, the web browser(14) creates one client Java Applet(142) object through a Java virtual machine. Also, the web browser(14) creates a graphical user interface at stated position in the HTML document. A synchronizing engine(1426) is embodied as a Java Applet capable of embodying the functions needed at multimedia web cataloging in static HTML document in dynamic and in real time, and is driven with a server system. A media receiving engine(1420) receives a cataloging media data packet and stores the data packet to a media queue from the web server(12) and a video server engine(1400) through a HTTP. A media player engine(1422) decodes and plays the media data. A display engine(1428) plays the decoded media data.

Description

자바를 이용한 동적 멀티미디어 웹 카타로깅 시스템 및 그 방법{System and Method for Web Cataloging Dynamic Multimedia Using Java}Dynamic Multimedia Web Cataloging System using Java and its method {System and Method for Web Cataloging Dynamic Multimedia Using Java}

본 발명은 자바를 이용한 동적 멀티미디어 웹 카타로깅 시스템 및 그 방법에 관한 것으로, 특히 정적인 HTML 문서내에 멀티미디어 웹 카타로깅에 필요한 기능들을 동적으로 실시간상에 구현하기 위한 자바 애플릿(Java Applet)을 클라이언트 애플리케이션으로 삽입함에 의해, 서버 시스템로부터 웹 브라우저로 스트리밍(Streaming)된 각종 멀티미디어 데이터를 HTML상에 함께 혼합하여 카타로그 내용들을 웹 브라우저로 가장 효과적으로 표현할 수 있는 자바 기반의 동적 멀티미디어 웹 카타로깅 시스템 및 그 방법에 관한 것이다.The present invention relates to a dynamic multimedia web cataloging system and a method using Java. In particular, a client application of a Java applet for dynamically implementing functions necessary for multimedia web cataloging in a static HTML document on a real time basis is provided. Dynamic multimedia web cataloging system and method based on Java, which can effectively represent catalog contents with web browser by mixing various multimedia data streamed from server system to web browser by HTML. It is about.

일반적으로 웹(Web)에서 HTML(Hyper Text Markup Language) 문서 내에 다양한 부가 서비스 및 관련 컨텐츠들(contents)을 포함하여 정적인 정보들을 더욱 다양하고 복합적으로 표현하기 위한 일련의 컨텐츠 표현 방법을 멀티미디어 웹 카타로깅(Web Cataloging)(예를들어, 멀티미디어 컨텐츠 표현, 홍보, 배열, 광고 등)이라 하며, 인터넷의 인프라가 기존의 전화선에서 IDSN, ADSL(비동기 디지털 가입자 루프), 케이블 모뎀, 위성 모뎀 등의 다양한 방식으로 확대 되면서 전자상거래(EC)용 웹 쇼핑몰이나 원거리 교육 등을 주축으로 그 활용건수가 폭발적으로 증가하고 있다.In general, a multimedia web catalog is a set of content presentation methods for expressing static information more diversely and complexly, including various additional services and related contents in a Hyper Text Markup Language (HTML) document on the Web. It is called Web Cataloging (for example, multimedia content presentation, promotion, arrangement, advertisement, etc.), and the infrastructure of the Internet can be used in various ways such as IDSN, Asynchronous Digital Subscriber Loop (ADSL), cable modem, satellite modem, etc. Increasingly, the number of utilization cases is exploding, mainly driven by e-commerce web shopping malls and distance education.

이와 같은 멀티미디어 웹 카타로깅은 인터넷 백화점이나 쇼핑몰 등과 같이 적은 비용으로 상품을 효과적으로 표현하고 광고, 판매하기를 원하는 전자상거래 유통업체와 원거리 멀티미디어 교육을 원하는 가상대학 등에서 효율적으로 사용할 수 있다.Such multimedia web cataloging can be effectively used in e-commerce retailers who want to effectively express, advertise, and sell products at low cost, such as Internet department stores or shopping malls, and virtual universities that want long-range multimedia education.

한편, 동적 멀티미디어 웹 카타로깅 시스템은 인터넷상에서 사용자의 요구가 있을 때마다 동적으로 멀티미디어 컨텐츠 및 표현 방법을 구성, 표현 및 관리하는 시스템을 말한다.On the other hand, the dynamic multimedia web cataloging system refers to a system that dynamically constructs, expresses and manages multimedia contents and presentation methods whenever a user requests on the Internet.

통상적으로 멀티미디어 웹 카타로깅 시스템을 구축하는 데는 HTML 문서로만 연출하는 경우, 자바 스크립트(JavaScript) 또는 DHTML(Dynamic HTML)을 이용하는 경우, 플러그-인(Plug-In)이나 헬퍼 어플리케이션(Helper Application)을 이용하는 경우로 나누어진다.In general, multimedia web catalogging system may be implemented using only HTML documents, using JavaScript or DHTML (Dynamic HTML), and using plug-in or helper applications. Divided into cases.

먼저, HTML 문서만 사용한 경우는 가장 단순한 형태의 이미지나 내용을 출력하는 형태를 갖는다. 따라서, 서버(Server)에 있는 동적 멀티미디어 내용을 실시간적으로 액세스하여 동적으로 표현하고자 하는 경우나, 복합적인 내용을 동기화하여 출력하고자 하는 경우에는 비효율적이거나 HTML만으로는 구성할 수 없게 된다. 그러므로 별도의 자바 스크립트와 같은 스크립트 프로그램(Script Program)이나 플러그-인 또는 헬퍼 어플리케이션을 설치해야 한다.First, when only an HTML document is used, the simplest form of an image or content is output. Therefore, in the case of dynamically accessing and dynamically expressing dynamic multimedia contents in a server, or in synchronizing and outputting complex contents, it is inefficient or cannot be constructed by HTML alone. Therefore, you need to install a script program, such as JavaScript, or a plug-in or helper application.

자바 스크립트(Java Script)를 사용하는 경우는 프로그램 기능이나 사이즈에 제한이 많고 복잡한 멀티미디어 표현 및 제어가 불가능한 문제가 있다.In the case of using Java Script, there is a problem in that program functions or sizes are limited and complex multimedia expression and control is impossible.

또한, DHTML을 이용하는 경우는 간단한 형태의 멀티미디어 제어 및 표현에는 적합하나 보다 지능적인 프로시쥬어(Procedure)를 가진 표현 형태에는 많은 제약점을 가진다. 이 경우 일반 사용자가 구현하기에는 너무 어려우며 또한 시스템의 유지 보수적인 관점에서 볼 때 비효율적이라고 할 수 있다.In addition, the use of DHTML is suitable for simple multimedia control and presentation, but has many limitations in the form of representation with more intelligent procedure. This is too difficult for the end user to implement and is inefficient from a system's maintenance standpoint.

별도의 플러그-인(Plug-In)이나 헬퍼 어플리케이션(Helper Application)을 이용하는 경우에는 모든 미디어들을 통합한 형태의 이진 파일로 웹서버에 올려놓고 플러그-인이나 헬퍼 어플리케이션으로 다운받아(download) 실행하기 때문에 기존의 정보를 담고 있는 HTML 문서나 저작 후에 생겨난 정보들과 함께 표현되기 어렵다는 단점을 가지고 있고, 아울러 한 미디어의 정보가 바뀔때 마다 파일 전체를 매 번 다시 저작하여 웹서버에 올려놓아야 하는 저작상의 불편함을 가지고 있다.In case of using separate Plug-In or Helper Application, put all media into web server as binary file and download and execute as plug-in or helper application. This has the disadvantage of being difficult to express with HTML documents containing existing information or with information generated after authoring, and when the information of a media is changed, the entire file must be rewritten every time and placed on the web server. I have a discomfort.

또한 사용자는 항상 플러그-인이나 헬퍼 프로그램을 자신의 웹 브라우저(Web Browser)에 설치해 놓고 있어야 하며, 이것들은 독자적인 하나의 응용 프로그램이기 때문에 해당 HTML 문서내에 원하는 위치나 형태로 결합될 수 없는 단점을 지니고 있다. 즉, HTML 내에서 레이아웃(layout) 변경 등이 거의 불가능한 문제점이 있다.Also, the user should always have a plug-in or helper program installed in his or her web browser. Since these are single applications, they cannot be combined in the desired location or form in the corresponding HTML document. have. That is, there is a problem that it is almost impossible to change the layout in HTML.

대부분의 이러한 프로그램들은 아울러 비디오나 오디오와 같은 연속적 미디어들만을 다루기 위해 제작되어 있기 때문에 이미지, 텍스트, HTML과 같은 비연속적 미디어와 혼합하여 동적으로 재생하는 데에 많은 제약점을 가진다. 또한, 플러그-인이나 헬퍼 프로그램은 모든 클라이언트(Client) 사양마다 다른 버전의 프로그램을 개발해야 하기 때문에 개발 및 유지보수에 대한 보다 복잡한 투자나 비용이 소요되야 한다.Most of these programs are also designed to deal only with continuous media such as video and audio, which puts a lot of limitations in dynamically playing back and mixing with non-continuous media such as images, text and HTML. In addition, a plug-in or helper program must develop a different version of the program for every client specification, requiring a more complex investment or expense in development and maintenance.

반면에, 자바(Java)를 이용할 경우 거의 모든 웹 브라우저에서 자동으로 수행될 수 있기 때문에 별도의 버전을 제작할 필요없이 단지 하나의 버전만 웹서버에 올려놓으면 웹 브라우저를 탑재한 모든 클라이언트 시스템에서 구동이 가능하고, 아울러 별도의 어플리케이션(Application) 프로그램을 구성 할 수 있기 때문에 스크립트 언어에서 할 수 없었던 보다 지능적인 프로시쥬어를 구현할 수 있다.On the other hand, if you use Java, it can be executed automatically in almost all web browsers. Therefore, if you put only one version on a web server, you do not need to create a separate version. In addition, since it is possible to configure a separate application program, it is possible to implement a more intelligent procedure that was not possible in the scripting language.

또한, 그 모양이나 사이즈가 HTML 문서내에서 변형이 가능하고 객체지향적 특성에 따라 하나 이상의 객체 복제가 가능해 하나의 HTML 문서내에서 보다 다양하고 혼합적인 멀티미디어 표현이 가능하다. 아울러 헬퍼 프로그램과 같이 독자적인 윈도우로도 실행이 가능하며 자바라는 하나의 통합환경을 통하여 플러그-인이나 헬퍼 프로그램에서 할 수 없었던 다양한 멀티미디어 표현과 하나 이상의 다양한 HTML 문서와도 상호 표현작용이 용이하다.In addition, the shape or size can be modified in the HTML document, and one or more objects can be duplicated according to the object-oriented characteristics, thereby enabling a more diverse and mixed multimedia expression in one HTML document. In addition, it can run as a standalone window such as a helper program, and it is easy to interact with various multimedia expressions and one or more various HTML documents that could not be done in a plug-in or helper program through a single integrated environment called Java.

따라서 본 발명은 이러한 종래기술의 문제점을 감안하여 안출된 것으로, 그 목적은 정적인 HTML 문서내에 멀티미디어 웹 카타로깅에 필요한 기능들을 동적으로 실시간상에 구현하기 위한 자바 애플릿을 클라이언트 애플리케이션으로 삽입하고, 서버 시스템로부터 현재 표현에 필요한 각종 멀티미디어 데이터를 각각의 특성에 맞게 동적으로 요청하여 실시간적으로 웹서버를 통해 웹 브라우저로 스트리밍함으로써 HTML상에 함께 혼합하여 카타로그 내용들을 웹 브라우저로 가장 효과적으로 표현하도록 하기 위한 자바 기반의 동적 멀티미디어 웹 카타로깅 시스템 및 그 방법을 제공하는데 있다.Accordingly, the present invention has been made in view of the problems of the prior art, and an object thereof is to insert a Java applet into a client application to dynamically implement functions necessary for multimedia web catalog logging in a static HTML document in real time, and to execute a server. Java for dynamically expressing catalog contents in a web browser by mixing them together on HTML by dynamically requesting various multimedia data required for the current expression from the system according to their characteristics and streaming them to a web browser through a web server in real time. The present invention provides a dynamic multimedia web catalog logging system and a method thereof.

본 발명의 다른 목적은 HTML 문서내에 삽입한 자바 애플릿을 클라이언트 프로그램으로 구동하고, 그것의 동기화 엔진과 스트리밍 기능 등을 적절히 혼합하여 실시간상에 선택된 비디오, 오디오, 2D/3D 이미지, 애니메이션, 텍스트, 애니메이션, HTML 등의 미디어 프레임들을 웹서버와 상기 비디오 서버 엔진을 통해 논리적으로 송수신/결합시켜 줌으로써, 종래의 HTML이나 DHTML(Dynamic-HTML) 문서, 플러그-인(Plug-In) 프로그램(S/W), 자바 스크립트로 표현하기 어려웠던 동적 멀티미디어 웹 카타로깅 정보들을 웹 브라우저 내에 효과적으로 표현해 줄 수 있는 자바 기반의 동적 멀티미디어 웹 카타로깅 시스템 및 그 방법을 제공하는데 있다.Another object of the present invention is to run a Java applet embedded in an HTML document as a client program, and to properly mix the synchronization engine and the streaming function of the selected video, audio, 2D / 3D image, animation, text, and animation in real time. By sending / receiving / combining media frames such as HTML through a web server and the video server engine, a conventional HTML or DHTML (Dynamic-HTML) document, a plug-in program (S / W) In addition, the present invention provides a Java-based dynamic multimedia web cataloging system and method for efficiently expressing dynamic multimedia web cataloging information, which was difficult to express in JavaScript, in a web browser.

본 발명의 또 다른 목적은 하드웨어에 독립적인 순수 자바(Pure-Java) 기반으로 설계되어 자바 버추얼 머신(Java Virtual Machine)을 탑재한 PC(개인용 컴퓨터)나 웍스테이션, 노트북 PC, 팜탑 PC의 웹 브라우저에서는 물론, 퍼스널 자바(PersonalJava)를 포팅(porting)한 일반 휴대용 통신단말기(PCS, PHS), 휴대 정보 단말기(PDA), 셋톱 박스(settop box), 디지털 텔레비젼(Digital TV), 웹폰(Web Phone) 및 자바 오퍼레이팅 시스템(JavaOs)을 탑재한 자바 칩(Java Chip) 등에서 실행이 가능한 자바 기반의 동적 멀티미디어 웹 카타로깅 시스템 및 그 방법을 제공하는데 있다.It is another object of the present invention to design a pure-Java based hardware independent and to use a web browser of a PC (personal computer), a workstation, a notebook PC, or a palmtop PC equipped with a Java Virtual Machine. Of course, general portable communication terminals (PCS, PHS), personal digital assistants (PDAs), set-top boxes, digital TVs, Web phones, and the like, which ported PersonalJava, The present invention provides a Java-based dynamic multimedia web cataloging system and method capable of being executed on a Java chip including a Java operating system (JavaOs).

본 발명의 다른 목적은 스트리밍 기반으로 이루어져 있기 때문에 인터넷의 대역폭에 따라 필요한 미디어들만 선택적으로 받아 볼 수 있고, 아울러 프레임 기반의 가상 VCR을 이용한 지능적 재생이 가능한 자바 기반의 동적 멀티미디어 웹 카타로깅 시스템 및 그 방법을 제공하는데 있다.Another object of the present invention is a streaming-based, Java-based dynamic multimedia web cataloging system that can selectively receive only the media required according to the bandwidth of the Internet, and intelligent playback using a frame-based virtual VCR and its To provide a method.

본 발명의 또 다른 목적은 종래의 비디오, 오디오 등의 연속적 미디어 스트리밍 방법에서 이미지, 텍스트, HTML 등의 비연속적 미디어 스트리밍 방식을 새롭게 고안하여 웹상에서의 가장 적합한 멀티미디어 표현 방식을 제공할 수 있는 자바 기반의 동적 멀티미디어 웹 카타로깅 시스템 및 그 방법을 제공하는데 있다.Another object of the present invention is to develop a non-continuous media streaming method such as image, text, HTML, etc. in the continuous media streaming method of the conventional video, audio, etc., and provide a most suitable multimedia expression method on the web. To provide a dynamic multimedia web cataloging system and method thereof.

도 1은 본 발명이 적용되는 일반적인 클라이언트/서버 시스템의 개략 블록도,1 is a schematic block diagram of a general client / server system to which the present invention is applied;

도 2는 본 발명에 사용되는 클라이언트 단말기의 블록도,2 is a block diagram of a client terminal used in the present invention;

도 3은 본 발명의 바람직한 실시예에 따른 자바를 이용한 동적 멀티미디어 웹 카타로깅 시스템의 블록도,3 is a block diagram of a dynamic multimedia web cataloging system using Java according to a preferred embodiment of the present invention;

도 4는 도 3의 자바 애플릿에 포함된 동기화 엔진의 동작을 설명하는 흐름도,4 is a flowchart illustrating an operation of a synchronization engine included in the Java applet of FIG. 3;

도 5는 도 3의 자바 애플릿에 포함된 미디어 플레이어의 동작을 설명하는 흐름도,FIG. 5 is a flowchart illustrating an operation of a media player included in the Java applet of FIG. 3.

도 6은 도 3의 서버 시스템의 동작을 설명하는 흐름도,6 is a flowchart illustrating an operation of the server system of FIG. 3;

도 7은 도 3의 서버 시스템에 포함된 멀티미디어 템플레이트 파일 시스템의 구성도,7 is a block diagram of a multimedia template file system included in the server system of FIG.

도 8은 도 7의 비디오 템플레이트 파일의 구성도,8 is a configuration diagram of a video template file of FIG. 7;

도 9는 도 3의 자바 애플릿에 포함된 미디어 수신 엔진의 흐름도,9 is a flowchart of a media receiving engine included in the Java applet of FIG.

도 10은 도 3의 자바 애플릿에 포함된 미디어 디스플레이 엔진의 구성도,FIG. 10 is a configuration diagram illustrating a media display engine included in the Java applet of FIG. 3.

도 11은 도 3의 클라이언트 단말기에 포함된 멀티미디어 H/W 장치의 상세 블록도이다.FIG. 11 is a detailed block diagram of a multimedia H / W device included in the client terminal of FIG. 3.

* 도면의 주요부분에 대한 부호설명 ** Explanation of Signs of Major Parts of Drawings *

C1-Cn ; 클라이언트 단말기 SS1-SSn ; 서버 시스템C1-Cn; Client terminal SS1-SSn; Server system

12 ; 웹서버 14 ; 웹 브라우저12; Web server 14; Web browser

15 ; 인터넷망 18 ; 자바 버추얼 머신15; Internet network 18; Java Virtual Machine

142 ; 자바 애플릿 1400 ; 비디오 서버 엔진142; Java Applet 1400; Video server engine

1402 ; 멀티미디어 템플레이트 파일 시스템1402; Multimedia Template File System

1404 ; 컨텐츠 서버 1420 ; 미디어 수신 엔진1404; Content server 1420; Media receiving engine

1422 ; 미디어 플레이어 엔진 1424 ; 미디어 큐1422; Media player engine 1424; Media queue

1426 ; 동기화 엔진 1428 ; 미디어 디스플레이 엔진1426; Synchronization engine 1428; Media display engine

상기한 목적을 달성하기 위하여, 본 발명은 웹 브라우저와 자바 버추얼 머신을 포함하는 클라이언트 단말기와 웹서버를 포함하는 서버 시스템이 인터넷망을 통하여 연결된 클라이언트/서버 시스템 환경에서 자바를 이용한 동적 멀티미디어 웹 카타로깅 시스템에 있어서, 사용자가 웹 브라우저를 통해 접속할 때 클라이언트 자바 애플릿 정보가 포함된 HTML 카타로그 문서를 웹 브라우저로 제공하는 웹서버와, 상기 클라이언트 단말기로부터의 비디오 데이터에 대한 요구에 따라 그 내용을 해석하여 웹서버를 통하여 클라이언트 자바 애플릿으로 비디오 데이터를 실시간 상으로 스트리밍해주기 위한 비디오 서버 엔진과, 상기 클라이언트 단말기로부터의 요구에 따라 웹서버를 통하여 클라이언트 자바 애플릿으로 비디오 이외의 오디오, 2D/3D 이미지, 애니메이션, 텍스트 및 HTML 멀티미디어 데이터를 스트리밍에 적합하도록 제반정보를 포함한 템플레이트 파일로 이루어진 멀티미디어 템플레이트 파일시스템과, 상기 웹서버에 접속할 때 웹 브라우저로 다운로드되어 자바 버추얼 머신에 의해 생성되는 클라이언트 자바 애플릿으로서 멀티미디어 웹 카타로깅에 필요한 기능들을 동적으로 실시간상에 구현할 수 있는 자바 애플릿으로 구현하여 정적인 HTML 문서 내에 삽입하여 서버 시스템과 함께 구동하되, 실행시 자바 버추얼 머신을 탑재한 클라이언트의 웹 브라우저 상에서 해당 논리적 시각에 필요한 비디오, 오디오, 텍스트, 2D/3D 이미지, 애니메이션, HTML 등의 멀티미디어 데이터를 서버 시스템에 요청하고, 웹서버를 통해 전달받은 미디어 데이터들을 동적으로 결합하여 재생시킬 수 있는 동기화 로직을 포함하는 동기화 엔진과, 상기 웹서버와 비디오 서버 엔진으로부터 카타로깅 미디어 데이터(오디오, 이미지, 텍스트, HTML) 패킷을 HTTP를 통하여 스트리밍 방식으로 전달받아 미디어큐에 보관하는 미디어 수신 엔진과, 수신받은 각각의 미디어 데이터들을 각 파일 포맷에 맞게 디코딩하고 해당 장치 디바이스로 재생해주는 미디어 플레이어 엔진과, 상기 미디어 플레이어 엔진에서 디코딩된 미디어 데이터를 재생하기 위한 디스플레이 엔진으로 구성되는 것을 특징으로 하는 자바를 이용한 동적 멀티미디어 웹 카타로깅 시스템을 제공한다.In order to achieve the above object, the present invention provides a dynamic multimedia web cataloging using Java in a client / server system environment in which a client terminal including a web browser and a Java virtual machine and a server system including a web server are connected through an Internet network. A system comprising: a web server that provides an HTML catalog document containing client Java applet information to a web browser when a user connects through a web browser, and interprets the content according to a request for video data from the client terminal. A video server engine for streaming video data in real time to a client Java applet via a server, and audio, 2D / 3D images, and animations other than video to a client Java applet via a web server upon request from the client terminal. A multimedia template file system consisting of a template file including various information for streaming streaming animation, text, and HTML multimedia data, and a client Java applet downloaded by a web browser when the web server is connected and generated by a Java virtual machine. Java applet that can implement the necessary functions for catalog logging dynamically in real time is inserted into static HTML document and runs with the server system.It is executed at the logical time on the web browser of the client equipped with the Java virtual machine. Synchronization logic that requests multimedia data such as video, audio, text, 2D / 3D image, animation, HTML, etc. to server system and dynamically combines and plays media data delivered through web server A synchronization engine, a media reception engine that receives cataloging media data (audio, image, text, HTML) packets from the web server and the video server engine in a streaming manner via HTTP, and stores them in a media queue; A dynamic multimedia web using Java, comprising a media player engine for decoding media data of each file format and playing the same on a device device, and a display engine for playing media data decoded by the media player engine. It provides a cataloging system.

본 발명의 다른 특징에 따르면, 본 발명은 웹 브라우저와 자바 버추얼 머신을 포함하는 클라이언트 단말기와 웹서버를 포함하는 서버 시스템이 인터넷망을 통하여 연결된 클라이언트/서버 시스템 환경에서 자바를 이용한 동적 멀티미디어 웹 카타로깅 방법에 있어서, 상기 웹 브라우저를 사용하여 서버 시스템의 웹서버에 접속하는 단계와, 상기 웹서버로부터 클라이언트 자바 애플릿 정보가 포함된 HTML 카타로그 문서를 자신의 웹 브라우저로 다운 받는 단계와, 상기 웹 브라우저에 의해 문서의 HTML 태그를 파싱한 후 자바 버추얼 머신을 통해 멀티미디어 웹 카타로깅에 필요한 미디어 데이터들을 동적으로 결합하여 재생시킬 수 있는 동기화 로직을 포함하는 동기화 엔진과, 비디오 서버 엔진으로부터 카타로깅 미디어 데이터 패킷을 스트리밍 방식으로 전달받아 미디어큐에 보관하는 미디어 수신 엔진과, 수신받은 각각의 미디어 데이터들을 각 파일 포맷에 맞게 디코딩하고 해당 장치 디바이스로 재생해주는 미디어 플레이어 엔진과, 상기 미디어 플레이어 엔진에서 디코딩된 미디어 데이터를 재생하기 위한 디스플레이 엔진 기능을 갖는 클라이언트 자바 애플릿 객체를 생성하는 단계와, 상기 웹 브라우저를 통해 사용자 입력을 받아 동기화 엔진으로부터 해당 요구(request)를 발생시켜 웹서버를 통해 서버 시스템으로 그 요구를 전달하는 단계와, 상기 요구에 따라 비디오 데이터에 대한 요구는 비디오 서버 엔진이 그 내용을 해석하여 웹서버를 통해 클라이언트 자바 애플릿으로 스트리밍해주며, 그외의 오디오, 이미지, 텍스트, HTML 데이터들은 웹서버가 직접 멀티미디어 템플레이트 파일 시스템로부터 읽어 들여 클라이언트 자바 애플릿으로 스트리밍해주는 단계와, 카타로깅 미디어 데이터 패킷을 스트리밍 방식으로 전달받아 미디어큐에 보관하는 단계와, 수신받은 각각의 미디어 데이터들을 동기화 엔진의 제어에 따라 미디어 플레이어 엔진에 의해 각 파일 포맷에 맞게 디코딩하고 해당 장치 디바이스로 재생해주는 단계와, 상기 미디어 플레이어 엔진에서 디코딩된 미디어 데이터를 디스플레이 엔진에 의해 재생하는 단계로 구성되는 것을 특징으로 하는 자바를 이용한 동적 멀티미디어 웹 카타로깅 방법을 제공한다.According to another aspect of the present invention, the present invention provides a dynamic multimedia web cataloging using Java in a client / server system environment in which a client terminal including a web browser and a Java virtual machine and a server system including a web server are connected through an Internet network. A method comprising: accessing a web server of a server system using the web browser, downloading an HTML catalog document including client Java applet information from the web server to a web browser of the web browser; A synchronization engine including synchronization logic for parsing the HTML tags of the document and dynamically combining and playing the media data required for multimedia web cataloging through a Java virtual machine, and cataloging media data packets from the video server engine. By streaming A media receiving engine for receiving and storing the received media data in a media queue, a media player engine for decoding each received media data according to each file format and playing the same in a corresponding device device, and for playing the decoded media data in the media player engine. Generating a client Java applet object having a display engine function, receiving user input through the web browser, generating a request from a synchronization engine, and forwarding the request to a server system through a web server; According to the above request, the video server engine interprets the contents and streams the contents to the client Java applet through the web server. Other audio, image, text, and HTML data are directly transmitted by the web server to the multimedia template file system. Robu Read and stream to client Java applets, receive cataloging media data packets in a streaming manner, and store them in a media queue; and receive each file by the media player engine under the control of the synchronization engine. It provides a method for dynamic multimedia web catalog using Java, characterized in that consisting of decoding in accordance with the format and playing back to the device device, and the media data decoded by the media player engine by the display engine. .

상기한 바와같이 본 발명에서는 정적인 HTML 문서내에 멀티미디어 웹 카타로깅에 필요한 기능들을 동적으로 실시간상에 구현하기 위한 자바 애플릿을 클라이언트 애플리케이션으로 삽입하고, 서버 시스템에 현재 표현에 필요한 각종 멀티미디어 데이터를 각각의 특성에 맞게 동적으로 요청하여 실시간적으로 웹서버를 통해 웹 브라우저로 스트리밍함으로써 HTML상에 함께 혼합하여 카타로그 내용들을 웹 브라우저로 가장 효과적으로 표현할 수 있다.As described above, in the present invention, a Java applet for dynamically implementing real-time functions of multimedia web catalog logging in a static HTML document is inserted into a client application, and various multimedia data necessary for presenting in a server system are respectively inserted. Dynamically requested and streamed to web browser through web server in real time, mixed together on HTML, and catalog contents can be represented effectively in web browser.

또한, 본 발명에서는 HTML 문서내에 삽입한 자바 애플릿을 클라이언트 프로그램으로 구동하고, 그것의 동기화 엔진과 스트리밍 기능 등을 적절히 혼합하여 실시간상에 선택된 비디오, 오디오, 2D/3D 이미지, 애니메이션, 텍스트, 애니메이션, HTML 등의 미디어 프레임들을 웹서버와 상기 비디오 서버 엔진을 통해 논리적으로 송수신/결합시켜 줌으로써, 종래의 HTML이나 DHTML(Dynamic-HTML) 문서, 플러그-인(Plug-In) 프로그램(S/W), 자바 스크립트로도 표현하기 어려웠던 동적 멀티미디어 웹 카타로깅 정보들을 웹 브라우저 내에 효과적으로 표현해 줄 수 있게 되었다.In addition, in the present invention, a Java applet inserted into an HTML document is run as a client program, and a proper mixing of its synchronization engine and streaming function is performed to select video, audio, 2D / 3D image, animation, text, animation, By sending / receiving / combining media frames such as HTML logically through a web server and the video server engine, a conventional HTML or DHTML (Dynamic-HTML) document, a plug-in program (S / W), Dynamic multimedia web cataloging information, which was difficult to express even in JavaScript, can be effectively represented in a web browser.

더욱이, 본 발명 시스템은 하드웨어에 독립적인 순수 자바(Pure-Java) 기반으로 설계되어 자바 버추얼 머신(Java Virtual Machine)을 탑재한 PC(개인용 컴퓨터)의 웹 브라우저에서는 물론, 퍼스널 자바(PersonalJava)를 포팅(porting)한 일반 휴대용 통신단말기(PCS, PHS), 휴대 정보 단말기(PDA), 셋톱 박스(settop box), 디지털 텔레비젼(Digital TV), 웹폰(Web Phone) 및 자바 오퍼레이팅 시스템(JavaOs)을 탑재한 자바 칩(Java Chip) 등에서 실행이 가능하다.Moreover, the system of the present invention is designed based on pure Java, which is independent of hardware, and porting Personal Java as well as web browser of a PC (personal computer) equipped with a Java Virtual Machine. (porting) equipped with general portable communication terminals (PCS, PHS), handheld information terminals (PDA), settop box, digital TV, Web phone and Java operating system (JavaOs) It can be executed in Java Chip.

또한, 스트리밍 기반으로 이루어져 있기 때문에 인터넷의 대역폭에 따라 필요한 미디어들만 선택적으로 받아 볼 수 있고, 아울러 프레임 기반의 가상 VCR을 이용한 지능적 재생이 가능하다며, 종래의 비디오, 오디오 등의 연속적 미디어 스트리밍 방법에서 이미지, 텍스트, HTML 등의 비연속적 미디어 스트리밍 방식을 새롭게 고안하여 웹상에서의 가장 적합한 멀티미디어 표현 방식을 제공할 수 있다.In addition, since it is based on streaming, only the necessary media can be selectively received according to the bandwidth of the Internet, and intelligent playback using a frame-based virtual VCR is possible. By devising new non-continuous media streaming methods such as text, HTML, etc., we can provide the most suitable multimedia presentation method on the web.

(실시예)(Example)

이하에 상기한 본 발명을 바람직한 실시예가 도시된 첨부도면을 참고하여 더욱 상세하게 설명한다.Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings.

첨부된 도 1은 본 발명이 적용되는 일반적인 클라이언트/서버 시스템의 개략 블록도, 도 2는 본 발명에 사용되는 클라이언트 단말기의 블록도, 도 3은 본 발명의 바람직한 실시예에 따른 자바를 이용한 동적 멀티미디어 웹 카타로깅 시스템의 블록도, 도 4는 도 3의 자바 애플릿에 포함된 동기화 엔진의 동작을 설명하는 흐름도, 도 5는 도 3의 자바 애플릿에 포함된 미디어 플레이어의 동작을 설명하는 흐름도, 도 6은 도 3의 서버 시스템의 동작을 설명하는 흐름도, 도 7은 도 3의 서버 시스템에 포함된 멀티미디어 템플레이트 파일 시스템의 구성도, 도 8은 도 7의 비디오 템플레이트 파일의 구성도, 도 9는 도 3의 자바 애플릿에 포함된 미디어 수신 엔진의 흐름도, 도 10은 도 3의 자바 애플릿에 포함된 미디어 디스플레이 엔진의 구성도이다.1 is a schematic block diagram of a general client / server system to which the present invention is applied, FIG. 2 is a block diagram of a client terminal used in the present invention, and FIG. 3 is a dynamic multimedia using Java according to a preferred embodiment of the present invention. 4 is a flowchart illustrating the operation of the synchronization engine included in the Java applet of FIG. 3, FIG. 5 is a flowchart illustrating the operation of the media player included in the Java applet of FIG. 3, and FIG. 6. 3 is a flowchart illustrating the operation of the server system of FIG. 3, FIG. 7 is a configuration diagram of the multimedia template file system included in the server system of FIG. 3, FIG. 8 is a configuration diagram of the video template file of FIG. 7, and FIG. 9 is FIG. 3. 10 is a flowchart of a media receiving engine included in the Java applet of FIG. 10.

먼저, 도 1은 본 발명이 적용되는 일반적인 클라이언트/서버 시스템으로서 각각 웹 브라우저(14)와 자바 버추얼 머신(JVM;Java Virtual Machine)(18)을 탑재한 다수의 클라이언트 단말기(C1-Cn)와 각각 웹서버(12)를 포함한 다수의 서버 시스템(SS1-SSn)이 인터넷(15)을 통하여 상호 연결되어 있다.First, FIG. 1 shows a general client / server system to which the present invention is applied, and each of a plurality of client terminals C1 -Cn each equipped with a web browser 14 and a Java virtual machine (JVM) 18. A plurality of server systems SS1-SSn including the web server 12 are interconnected via the Internet 15.

상기한 각 클라이언트 단말기는 예를들어, 도 2에 도시된 바와같이 멀티미디어 처리기능과 유선 또는 무선으로 인터넷 접속이 가능하도록 통신기능을 구비한 데이터 처리장치이면 모두 사용이 가능하다.For example, as shown in FIG. 2, each client terminal may be used as long as it is a data processing apparatus having a multimedia processing function and a communication function to enable internet connection by wire or wirelessly.

즉, 클라이언트 단말기(C1)는 중앙처리장치(CPU)와(2), 메인 메모리(3)를 포함하고 있다. CPU(2)와 메인 메모리(3)는 버스(BUS)(10)를 통하여 하드 디스크 등으로 구성되는 보조기억장치(4) 및 ROM(5)에 접속되어 있다.In other words, the client terminal C1 includes a central processing unit (CPU), (2), and a main memory (3). The CPU 2 and the main memory 3 are connected to the auxiliary memory device 4 and the ROM 5 which are constituted by a hard disk or the like via a bus BUS 10.

또한, 보조기억장치(4)와 ROM(5)에는 오퍼레이팅 시스템(OS)과 협동으로 CPU(2) 등에 명령을 부여하기 위한 프로그램 코드가 기록되어 있으며, 메인 메모리(3)에 로드됨에 따라 실행된다.In addition, in the auxiliary memory device 4 and the ROM 5, program codes for giving instructions to the CPU 2 or the like in cooperation with the operating system OS are recorded, and are executed as they are loaded into the main memory 3. .

클라이언트 단말기(C1)는 사용자 인터페이스를 위해 키보드/마우스와 같은 입력장치(7)와, CRT 또는 LCD 모니터나 빔 프로젝터와 같은 표시장치(8)와, 스피커와 같은 음성출력장치(9)가 각각의 콘트롤러(도시되지 않음)를 통하여 내부 버스(BUS)(10)에 접속되어 있다.The client terminal C1 has an input device 7 such as a keyboard / mouse for the user interface, a display device 8 such as a CRT or LCD monitor or beam projector, and an audio output device 9 such as a speaker. It is connected to an internal bus (BUS) 10 via a controller (not shown).

더욱이, 클라이언트 단말기(C1)는 서버 시스템(SS1)과의 통신을 위하여 통신용 모뎀, PCMCIA 네트웍 카드 또는 이더넷 네트웍 카드와 같은 통신 인터페이스(6)를 구비하며, 보조기억장치(4)에는 이들을 통하여 인터넷망(15)에 접속된 서버 시스템(SS1)에 접속하는데 필요한 프로그램으로서 웹 브라우저(14)와 자바 버추얼 머신(JVM)(18)이 기억되어 있고, 인터넷 접속시에 메인 메모리(3)로 로딩되어 구동된다.Further, the client terminal C1 has a communication interface 6 such as a communication modem, a PCMCIA network card or an Ethernet network card for communication with the server system SS1, and the auxiliary storage device 4 has an internet network therethrough. A web browser 14 and a Java virtual machine (JVM) 18 are stored as a program necessary for accessing the server system SS1 connected to (15), and are loaded and driven into the main memory 3 at the time of Internet connection. do.

상기한 바와같이 클라이언트 단말기(C1)에 요구되는 기능은 유선 또는 무선으로 인터넷 접속이 가능한 통신기능과 서버 시스템(SS1)으로부터 수신한 멀티 미디어 데이터를 재생하는데 필요한 멀티미디어 처리기능을 갖는 단말기이면 어떤 것도 적용이 가능하다.As described above, any function required for the client terminal C1 may be applied to any terminal having a communication function capable of connecting to the Internet by wire or wirelessly and a multimedia processing function required to reproduce multimedia data received from the server system SS1. This is possible.

따라서, 클라이언트 단말기(C1)로는 자바 버추얼 머신(JVM)을 탑재한 웹 브라우저, 즉 자바로 구동되는 웹 브라우저(14)가 인스톨되어 있는 데스크탑 컴퓨터에서는 물론, 퍼스널 자바(PersonalJava)를 포팅(porting)한 일반 휴대용 통신단말기(PCS, PHS 등), 휴대 정보 단말기(PDA), 셋톱 박스(settop box) 디지털 텔레비젼(Digital TV), 웹폰(Web Phone) 및 자바 오퍼레이팅 시스템(JavaOs)을 탑재한 자바 칩(Java Chip) 등이 사용될 수 있다.Therefore, the client terminal C1 ported personal Java as well as a web browser equipped with a Java virtual machine (JVM), that is, a desktop computer on which a web browser 14 driven by Java is installed. Java chips equipped with general portable communication terminals (PCS, PHS, etc.), handheld information terminals (PDAs), settop boxes, digital TVs, web phones, and Java operating systems (JavaOs). Chip) and the like can be used.

한편, 본 발명의 서버 시스템(SS1)은 크게 인터넷망(15)에 접속된 웹서버(12)와, 웹서버(12)에 접속되어 클라이언트 단말기(C1)로부터의 비디오 데이터에 대한 요구(request)에 따라 그 내용을 해석하여 웹서버(12)를 통하여 클라이언트 자바 애플릿(142)으로 비디오 데이터를 실시간 상으로 스트리밍해주기 위한 비디오 서버 엔진(1400)과, 웹서버(12)에 접속되며 클라이언트 단말기(C1)로부터의 요구(request)에 따라 웹서버(12)를 통하여 클라이언트 자바 애플릿(142)으로 멀티미디어 데이터 스트리밍에 적합하도록 설계된 템플레이트 파일들로 이루어진 멀티미디어 템플레이트 파일시스템(1402)을 포함한다.On the other hand, the server system SS1 of the present invention is largely connected to a web server 12 connected to the Internet network 15 and a request for video data from the client terminal C1 connected to the web server 12. The video server engine 1400 and the web server 12 are used to interpret the contents and to stream the video data in real time to the client Java applet 142 through the web server 12. And a multimedia template filesystem 1402 made up of template files designed for streaming multimedia data to the client Java applet 142 via a web server 12 in response to a request.

즉, 상기 템플레이트 파일은 비디오 이외의 오디오, 2D/3D 이미지, 애니메이션, 텍스트 멀티미디어 데이터를 스트리밍에 적합하도록 제반정보(웹서버내 저장위치, 매체타입, 매체이름, 표현시작시간, 표현 끝시간 등)들을 담고 있다.That is, the template file is suitable for streaming audio, 2D / 3D image, animation, text and multimedia data other than video (storage location, media type, media name, presentation start time, presentation end time, etc.) in a web server. Contains them.

더욱이, 상기 멀티미디어 템플레이트 파일시스템(1402)의 미디어 파일 디렉토리는 후술하는 바와같이 TCP/IP(Transmission Control Protocol/Internet Protocol)를 기반으로 적어도 일이상의 컨텐츠 서버(1404)와 상호 물리적인 저장위치를 공유할 수 있다.Furthermore, the media file directory of the multimedia template file system 1402 may share a physical storage location with at least one content server 1404 based on a Transmission Control Protocol / Internet Protocol (TCP / IP) as described below. Can be.

상기한 서버 시스템(SS1)은 사용자가 웹 브라우저(10)를 사용하여 웹서버(12)에 접속할 때 웹서버(12)를 통하여 후술하는 도 3에 도시된 바와같은 자바 애플릿(142) 정보가 포함된 HTML 카타로그 문서를 제공한다.The server system SS1 includes Java applet 142 information as shown in FIG. 3 described later through the web server 12 when the user accesses the web server 12 using the web browser 10. An HTML catalog document.

도 7은 서버 시스템(SS1)의 멀티미디어 템플레이트 파일 시스템(1402)에 대한 구성도로서, 멀티미디어 템플레이트 파일 시스템(1402)은 크게 물리적으로 템플레이트 파일 디렉토리(140202)와 미디어 파일 디렉토리(140204)로 나누어진다.FIG. 7 is a configuration diagram of the multimedia template file system 1402 of the server system SS1. The multimedia template file system 1402 is largely divided into a template file directory 140202 and a media file directory 140204. As shown in FIG.

템플레이트 파일 디렉토리(140202)는 실제 미디어 데이터를 핸들링할 메타 데이터(metadata)로 구성된 디렉토리로서, 비디오 템플레이트 파일(140206), 이미지 템플레이트 파일(140208), 텍스트 템플레이트 파일(140210), HTML 템플레이트 파일(140212)로 구성되어 있다.The template file directory 140202 is a directory composed of metadata to handle actual media data. The video file file 140206, the image template file 140208, the text template file 140210, and the HTML template file 140212. Consists of

상기 비디오 템플레이트 파일은 도 8의 구성도와 같이, 크게 나누어서 종래의 MPEG-1 비디오 파일의 입/출력(IO) 속도를 스트리밍에 적합하도록 바꾸기 위해 GlobalInfoHeader(1402061), MPEGHeader(1402062), MPEG data stream(1402063), OFFSET_PER_FRAME(1402064), TIME_PER_FRAME(1402065)의 조각들로 구성되어진다.The video template file is divided into GlobalInfoHeader (1402061), MPEGHeader (1402062), and MPEG data stream (FIG. 8) in order to change the input / output (IO) speed of the conventional MPEG-1 video file to be suitable for streaming. 1402063), OFFSET_PER_FRAME (1402064), and TIME_PER_FRAME (1402065).

이러한 비디오 템플레이트 파일(140206)은 서버가 초기화 될 때 서버 시스템(SS1)의 메모리로 자동 로드되기 때문에 실제 클라이언트 단말기(C1)로부터의 요구(request)가 도착했을 때 빠르게 스트리밍을 시작할 수 가 있다.Since the video template file 140206 is automatically loaded into the memory of the server system SS1 when the server is initialized, streaming can be started quickly when a request from the actual client terminal C1 arrives.

비디오 템플레이트 파일(140206) 이외의 다른 미디어 템플레이트 파일들은 다음과 같은 구조로 되어 있다: {미디어를 가져올 미디어 파일 디렉토리, 미디어 타입, 논리적 시작 시간, 논리적 끝 시간}.The media template files other than the video template file 140206 have the following structure: {media file directory to import media from, media type, logical start time, logical end time}.

여기서 미디어 타입은 파일의 확장자로 인식한다. 예를 들어, gif/jpeg 등은 이미지 타입, txt는 텍스트, html/htm은 HTML 문서 타입을 나타낸다. 본 템플레이트 파일은 사용자가 텍스트 기반의 에디터로 작성할 있다. 본 발명에서는 종래의 방식과 다르게 모든 미디어들의 내용을 하나의 이진 파일에 통합해 놓지 않았기 때문에 언제라도 변경 사항의 수정이 용이하다.The media type is recognized here as the file extension. For example, gif / jpeg represents an image type, txt represents text, and html / htm represents an HTML document type. This template file can be written by the user in a text-based editor. In the present invention, since the contents of all the media are not integrated into one binary file unlike the conventional method, modification of the changes is easy at any time.

상기한 미디어 파일 디렉토리(140204)는 실제 미디어 데이터들을 저장하고 있는 물리적인 파일 시스템으로서 비디오 파일(140214), 오디오 파일(140216), 이미지 파일(140218), 텍스트 파일(140220) 및 HTML 파일(140222)을 포함한다.The media file directory 140204 is a physical file system that stores actual media data, such as a video file 140214, an audio file 140216, an image file 140218, a text file 140220, and an HTML file 140222. It includes.

또한, 미디어 파일 디렉토리(140204)는 상기한 바와같이 일이상의 컨텐츠 서버(1404)와 TCP/IP를 기반으로 하여 상호 물리적인 저장위치를 공유할 수 있으며, 서버 시스템의 성능 및 네트웍의 부하를 고려하여 특정 미디어 데이터를 특정 컨텐츠 서버(1404)에 분산 배치시킬 수 있도록 설계된다.In addition, the media file directory 140204 may share a physical storage location with one or more content servers 1404 based on TCP / IP as described above, in consideration of server system performance and network load. It is designed to distribute specific media data to a specific content server 1404.

따라서, 사용자로부터는 하나의 논리적 공간으로 특정 매체를 검색할 수 있도록 하나 실제 그 이면에는 하나 이상의 다른 네트웍으로 연결된 물리적인 저장위치에 놓일 수 있게 된다. 이는 상기한 바와같이 서버 시스템의 성능 및 네트웍의 부하를 낮게 유지함과 동시에 제한된 저장공간을 다수의 컨텐츠 서버로 분산시킴에 따라 공간제약의 단점을 극복할 수 있게 된다.Thus, the user can be placed in a physical storage location connected to one or more other networks so that the user can search for a specific medium in one logical space. As described above, it is possible to overcome the disadvantages of space limitation by distributing the limited storage space to a plurality of content servers while maintaining the performance of the server system and the network load low.

도 3에 도시된 본 발명에 따른 동적 멀티미디어 웹 카타로그 시스템의 구동은 처음 사용자가 웹 브라우저(14)를 통해 웹서버(12)에 접속하여 클라이언트 자바 애플릿(Java Applet)(142) 정보가 포함된 HTML 카타로그 문서를 자신의 웹 브라우저(14)로 다운 받으면서 시작된다. 그 문서의 HTML 태그가 웹 브라우저(14)에서 파싱(parsing)되면서 애플릿 태그를 만나는 순간 웹 브라우저(14)는 하나의 클라이언트 자바 애플릿(142) 객체를 자신에 내장된 자바 버추얼 머신(JVM)(18)을 통해 생성하고, 정해진 HTML 문서내의 위치에 GUI(Graphical User Interface)를 생성한다.In the operation of the dynamic multimedia web catalog system according to the present invention shown in FIG. 3, a user first accesses a web server 12 through a web browser 14, and includes HTML of client Java Applet 142. It starts by downloading the catalog document to its web browser 14. As soon as the HTML tag of the document is parsed in the web browser 14 and encounters an applet tag, the web browser 14 embeds a client Java applet 142 object in its own Java Virtual Machine (JVM) 18 ), And create a Graphical User Interface (GUI) at a location within a given HTML document.

이렇게 생성된 클라이언트 자바 애플릿(142)은 정적인 HTML(HyperText Markup Language) 문서 내에 멀티미디어 웹 카타로깅(멀티미디어 컨텐츠 표현, 홍보, 배열, 광고 등)에 필요한 기능들을 동적으로 실시간상에 구현할 수 있는 자바 애플릿으로 구현하고 삽입하여 서버 시스템(SS1)과 함께 구동하되, 실행시 자바 버추얼 머신(JVM)(18)을 탑재한 클라이언트의 웹 브라우저(14) 상에서 해당 논리적 시각에 필요한 비디오, 오디오, 텍스트, 2D/3D 이미지, 애니메이션, HTML 등의 멀티미디어 데이터를 서버 시스템(SS1)에게 요청하고, 웹서버(12)를 통해 전달받은 미디어 데이터들을 동적으로 결합하여 재생시킬 수 있는 동기화 로직을 포함하는 동기화 엔진(1426)과; 상기 웹서버(12)와 비디오 서버 엔진(1400)으로부터 카타로깅 미디어 데이터(오디오, 이미지, 텍스트, HTML) 패킷을 HTTP(HyperText Transfer Protocol)를 통하여 스트리밍 방식으로 전달받아 미디어큐(Queue)(1424)에 보관하는 미디어 수신 엔진(1420); 수신받은 각각의 미디어 데이터들을 각 파일 포맷에 맞게 디코딩하고 해당 장치 디바이스로 재생해주는 미디어 플레이어 엔진(1422)과; 상기 미디어 플레이어 엔진(1422)에서 디코딩된 미디어 데이터를 재생하기 위한 디스플레이 엔진(1428)으로 구성된다.The generated client Java applet 142 is a Java applet that can dynamically implement the functions necessary for multimedia web cataloging (multimedia content presentation, promotion, arrangement, advertisement, etc.) in a static Hypertext Markup Language (HTML) document in real time. It is implemented and inserted into the server system (SS1) and runs with the server, but it is executed on the web browser 14 of the client equipped with the Java virtual machine (JVM) 18. Video, audio, text, 2D / Synchronization engine 1426 including synchronization logic for requesting multimedia data such as 3D image, animation, HTML, etc. to server system SS1 and dynamically combining and playing media data received through web server 12. and; The media Queue 1424 receives cataloging media data (audio, image, text, HTML) packets from the web server 12 and the video server engine 1400 in a streaming manner through HTTP (HyperText Transfer Protocol). A media reception engine 1420 stored in the; A media player engine 1422 which decodes each received media data according to each file format and plays back the corresponding media device; And a display engine 1428 for playing the decoded media data in the media player engine 1422.

상기 동기화 엔진(1426)의 역할을 좀더 상세하게 설명하면 상기 HTML내에 삽입된 자바 애플릿(142)으로부터 멀티미디어 혼합에 관한 정보를 전달받아 선택된 미디어들에 대하여 웹서버(12)로부터 오는 각각을 논리적 시간상에 동기화하여 각 표현 시간을 관리해 주는 수명(Lifecycle)관리 역할과 웹 카타로깅에 관련된 제반정보(웹서버(142) 내의 저장위치, 매체타입, 매체이름, 표현시작시간, 표현 끝시간 등)를 담고있는 템플레이트 파일을 실시간적으로 해석하여 그 결과로서 상기 자바 애플릿(142)과 일이상의 HTML 프레임(Frame)내에 그 객체들을 동적으로 표현하고 관리하는 서비스 매니저 역할을 한다.In more detail, the role of the synchronization engine 1426 is received from the Java applet 142 embedded in the HTML, and the information about the multimedia mixture is received from the web server 12 for the selected media in logical time. Lifecycle management role that manages each expression time by synchronizing, and contains general information related to web cataloging (storage location, media type, media name, expression start time, expression end time, etc. in Web server 142) It interprets the template file in real time and as a result serves as a service manager to dynamically represent and manage the objects in the Java applet 142 and one or more HTML frames.

여기에서 웹서버(12)로부터 전달되는 각 미디어 데이터들은 모두 프레임 단위로 존재하며, 각각의 프레임은 실제 표현되어질 이진 압축 데이터, 논리적 표현 시작 시간 및 논리적 표현 끝 시간 등의 속성들로 구성된다.Here, each media data transmitted from the web server 12 is present in units of frames, and each frame is composed of attributes such as binary compressed data to be actually represented, logical start time and logical end time.

상기 미디어 플레이어 엔진(1422)은 비디오 플레이어(14220), 오디오 플레이어(14222), 이미지 플레이어(14224), 텍스트 플레이어(14226) 및 HTML 로더(14228)로 구성되어 있다.The media player engine 1422 includes a video player 1422, an audio player 1422, an image player 1422, a text player 1422, and an HTML loader 1428.

상기와 같이 생성된 클라이언트 자바 애플릿(142)은 그후 웹 브라우저(10)를 통해 사용자 입력을 받아 자신의 동기화 엔진(1426)으로부터 해당 요구(request)를 발생시켜 웹서버(12)를 통해 서버 시스템(140)으로 그 요구를 전달하는데, 비디오 데이터에 대한 요구는 비디오 서버 엔진(1400)이 그 내용을 해석하여 웹서버(12)를 통해 클라이언트 자바 애플릿(142)으로 스트리밍해주며, 그외의 오디오, 이미지, 텍스트, HTML 데이터들은 웹서버(12)가 직접 멀티미디어 템플레이트 파일 시스템(1402)로부터 읽어 들여 클라이언트 자바 애플릿(142)으로 스트리밍 해준다.The client Java applet 142 generated as above receives a user input through the web browser 10 and generates a corresponding request from its synchronization engine 1426 to generate a server system through the web server 12. The request for video data is interpreted by the video server engine 1400 and streamed to the client Java applet 142 via the web server 12. The text, HTML, and HTML data can be read directly from the multimedia template file system 1402 by the web server 12 and streamed to the client Java applet 142.

이렇게 미디어 스트림군을 두 가지로 나눈 이유는 시스템 부하가 많이 걸리는 비디오에는 전문적인 프로세스를 할당하여 서버 시스템쪽 스트리밍 알고리즘을 특화시켜 적용하고, 그 이외의 상대적으로 가벼운 미디어들은 웹서버(12)의 기본 기능을 이용해 스트리밍 해줌으로써 상대적인 시스템 부하를 최소화하며서버 시스템을 운영하고자 함에 있다.The reason for dividing the media stream into two groups is to assign a specialized process to the system-loaded video and apply the streaming algorithm to the server system side. It is intended to operate the server system while minimizing the relative system load by streaming using the function.

이렇게 해서 클라이언트 자바 애플릿(142)으로 전달된 각 멀티미디어 데이터들은 미디어 수신 엔진(1420)을 통해 미디어 큐(1424)에 임시로 저장되며, 각 미디어 플레이어(14220-14228)들은 동기화 엔진(1426)의 시간 정보 및 재생 정보, 속도 정보 등의 가상 VCR 정보를 계속 체크하면서 해당되는 논리적 시각에 해당 미디어 데이터를 미디어 큐(1424)로부터 읽어 들여(get), 자체 디코더를 통해 디코딩 한 후 미디어 디스플레이 엔진(1428)의 해당 미디어 장치를 통해 웹 브라우저(14)로 출력한다.In this way, each of the multimedia data delivered to the client Java applet 142 is temporarily stored in the media queue 1424 through the media reception engine 1420, and each media player 1422-14228 is timed by the synchronization engine 1426. While continuously checking the virtual VCR information such as the information, the playback information, and the speed information, the media data is read from the media queue 1424 at a corresponding logical time, decoded through its decoder, and then the media display engine 1428 It outputs to the web browser 14 through the corresponding media device.

한번 출력된 각 미디어 데이터들은 자신의 논리적 재생시간 만큼만 존속하며, 그 시간이 만료된 이후에는 해당 미디어 플레이어(14220-14228)에 의해 미디어 큐(1424)에서 제거(remove)된다. 이렇게 함으로써 메모리 관리를 효율적으로 수행 할 수가 있다.Each media data output once persists only for its own logical playback time, and is removed from the media queue 1424 by the media player 1422-14228 after the time expires. In this way, memory management can be performed efficiently.

한편, 각 해당 논리적 시간 내에 재생되는 미디어들은 비디오, 오디오, 텍스트, 2D 스틸 이미지, 3D 모델링을 위한 2D 이미지 세트(set), 애니메이션 이미지, HTML 문서들로 구분되며, 이들은 클라이언트 자바 애플릿(140)내 및 다른 웹 브라우저(14) 창에서 서로의 논리적 재생 시간에 독립적으로 수행되어진다.On the other hand, the media played within each logical time is divided into video, audio, text, 2D still image, 2D image set for 3D modeling, animation image, and HTML document, which are in client Java applet 140. And in other web browser 14 windows, independently of each other's logical playback times.

3D 모델링을 위한 2D 이미지 세트를 제외한 다른 모든 미디어들은 독립적인 재생시간 단위로 쪼개어진 프레임들로 구성된다. 반면에 3D 모델링을 위한 2D 이미지 세트는 이미지 플레이어(14224)에서 한편의 3D 모델링 이미지 및 애니메이션을 만들기 위한 독립적인 형태로 이용된다.All other media, except the 2D image set for 3D modeling, consist of frames split into independent durations. On the other hand, the 2D image set for 3D modeling is used in the image player 1422 as an independent form for creating one 3D modeling image and animation.

상기와 같은 미디어들의 전반적인 실용적인 예를 들면, 만약 비디오와 자막이 동시에 재생되는 경우, 비디오의 각 데이터 프레임들은 frames/sec 즉, 초당 프레임률을 기준으로 자신의 논리적 재생시간이 결정되며, 자막 텍스트, 스틸 이미지와 같은 경우에는 한 문장이나 그 내용이 비디오 내용과 일치하는 순간 동안 재생시간을 유지한다. 반면에, 오디오 데이터 같은 경우는 자신의 초당 샘플링율(sample/sec)에 따라 각 데이터 프레임들의 재생시간이 결정된다.As a general practical example of such media, if video and subtitles are played at the same time, each data frame of the video has its logical playback time determined based on frames / sec, i.e., frame rate per second, subtitle text, In the case of still images, the duration is maintained for the moment when a sentence or its content matches the video content. On the other hand, in the case of audio data, the playback time of each data frame is determined according to its sampling rate per second (sample / sec).

이러한 개념들에 따라 멀티미디어 템플레이트 파일 시스템(1402) 내에서는 각 미디어 데이터에 대한 제반정보(웹서버내 저장위치, 매체타입, 매체이름, 표현시작시간, 표현 끝시간 등)를 사용자가 일반 텍스트 에디터로 쉽게 입력할 수 있도록 텍스트 기반의 파일로 저장하며, 이 템플레이트 파일은 클라이언트 자바 애플릿(140)이 처음 초기화 할 때, 동기화 엔진(1426)이 참조하여 기본 동기화 전략을 수립하는 데에 사용된다.In accordance with these concepts, in the multimedia template file system 1402, a user can convert general information (media storage location, media type, media name, presentation start time, presentation end time, etc.) for each media data into a general text editor. Stored as a text-based file for easy input, this template file is used by the synchronization engine 1426 to establish a basic synchronization strategy when the client Java applet 140 is initially initialized.

아울러 비디오 데이터를 제외한 다른 미디어 데이터들은 멀티미디어 템플레이트 파일 시스템(1402) 내에 제반정보와 물리적으로 분리된 채로 함께 저장되며, 각 미디어 플레이어(14220-14228)들에 의해서 독립적으로 스트리밍이 수행된다.In addition, other media data except video data are stored together in the multimedia template file system 1402 physically separated from the general information, and streaming is independently performed by the media players 1422-14228.

만약 3D 모델링을 위한 2D 이미지 세트를 함께 사용한다면 상기에서 언급했듯이 데이터 단위 형태가 틀리기 때문에 이 부분만 독자적으로 이미지 플레이어(14224)에서 수행된다.If a 2D image set for 3D modeling is used together, only this part is performed by the image player 1422 independently because the data unit form is different as mentioned above.

상기와 같은 구조로 웹 카타로깅을 동적으로 수행할 때 다음과 같은 미디어들의 조합이 가능해지며, 이러한 미디어 조합들은 각각의 독자적인 동기화 정보들을 갖고 운영되기 때문에 보다 다양하고 복합적인 멀티미디어 재생 모델을 제시할 수 있다. 각 미디어들은 독자적으로도 수행될 수 있으며 하나 이상의 같은 미디어 객체나 다른 미디어 객체들과 연동되어서 재생될 수 있다.When the web cataloging is dynamically performed with the above structure, the following media combinations are possible, and since these media combinations operate with their own synchronization information, they can present a more diverse and complex multimedia playback model. have. Each media may be performed independently and may be played in conjunction with one or more of the same media object or other media objects.

- 비디오 + 텍스트 자막-Video + text subtitles

- 비디오 + 오디오-Video + audio

- 비디오 + 오디오 + 텍스트 자막-Video + Audio + Text Subtitles

- 비디오 + 오디오 + 텍스트 자막 + 스틸 이미지-Video + audio + text subtitle + still image

- 비디오 + 오디오 + 텍스트 자막(한글) + 텍스트 자막(영문)-Video + Audio + Text Subtitles (Korean) + Text Subtitles (English)

- 비디오 + 오디오 + 텍스트 자막(한글) + 텍스트 자막(영문) + 텍스트 자막(일본어) + ...-Video + Audio + Text Subtitles (Korean) + Text Subtitles (English) + Text Subtitles (Japanese) + ...

- 비디오 + 오디오 + HTML 문서-Video + Audio + HTML Documents

- 비디오 + 오디오 + 텍스트 자막 + HTML 문서-Video + Audio + Text Subtitles + HTML Documents

- 비디오 + 오디오 + 텍스트 자막 + HTML 문서 + 스틸 이미지-Video + Audio + Text Subtitles + HTML Documents + Still Images

- 스틸 이미지 + 텍스트 자막 => 슬라이드 쇼-Still image + text subtitle => slide show

- 스틸이미지 + 텍스트 자막 + 각 이미지 당 오디오 => 오디오 슬라이드 쇼-Still images + text subtitles + audio per each image => audio slideshow

- 애니메이션 이미지 => 롤링 베너광고-Animation image = > Rolling Banner Ad

- 애니메이션 이미지 + 각 이미지 당 오디오 => 사운드 롤링 배너 광고-Animated images + audio per each image => sound rolling banner ad

- 3D 파노라마 이미지-3D panoramic images

- 다른 각도에서 찍은 2D 이미지의 연속 => 3D 사진 모델링 효과-Continuous 2D images taken from different angles => 3D photo modeling effect

특히 HTML 동기화에 있어서 다양한 HTML 프레임을 활용할 경우에 특정 윈도우 이름을 만들어서 호출할 수 있도록 자바 애플릿(142) 내에 HTML 로더(14228)가 구성되어 있기 때문에 보다 다양한 형태의 복합문서 형태를 유지할 수 있어 웹 카타로깅에 매우 효율적이다.In particular, since the HTML loader 14228 is configured in the Java applet 142 so that a specific window name can be created and called when using various HTML frames in HTML synchronization, it is possible to maintain a variety of complex document types. Very efficient for logging.

이하에 서버 시스템(SS1)과 클라이이언트 자바 애플릿(142)을 서로 분리하여 그 동작 원리를 보다 자세히 살펴보면 다음과 같다.Hereinafter, the server system SS1 and the client Java applet 142 will be separated from each other, and the operation principle thereof will be described in detail as follows.

우선 클라이언트 자바 애플릿(142)내의 동작을 살펴보면, 사용자의 초기 입력에서부터 구동이 되기 시작하는데 사용자 초기입력은 HTML 내에 삽입된 태그나 파라미터 형태로 전달받을 수 있다. 또는 자바 스크립트(JavaScript)를 통해 HTML내의 특정 오브젝트에서 자바 애플릿(142)내의 퍼블릭 메소드(Public Method)들을 호출하여 입력값을 전달할 수 있다.First, the operation in the client Java applet 142 starts to be driven from the user's initial input. The user's initial input can be delivered in the form of a tag or parameter embedded in HTML. Alternatively, public methods in the Java applet 142 may be called from a specific object in HTML through JavaScript to pass an input value.

우선, 가장 일반적인 경우로 가정하여 HTML내의 파라미터 값을 통하여 초기입력 값이 전달된다고 했을 때, 이러한 입력들은 주로 클라이언트 자바 애플릿(142)의 GUI 생성정보, 특정 미디어 선택, 재생속도 설정, 초기 임의의 재생위치(Random Access), 가상 VCR 기능(PLAY, STOP, PAUSE, FF, REW), 동기화될 미디어들에 대한 제반정보(미디어 타입, 서버 위치, 파일명, 총 프레임 수, 각 프레임 당의 재생시간 혹은 이러한 정보들을 담고 있는 템플레이트 파일의 위치 등)가 될 것이다. 이러한 초기 입력값들은 동기화 엔진(1426)을 거쳐 필터링되고 이것에 의해 대응액션이 취해진다.First, assuming that the most common case is that the initial input values are passed through the parameter values in the HTML, these inputs are mainly GUI creation information, specific media selection, playback speed setting, and initial random playback of the client Java applet 142. Location (Random Access), virtual VCR functions (PLAY, STOP, PAUSE, FF, REW), general information about media to be synchronized (media type, server location, file name, total number of frames, playback time per frame or such information) The location of the template file containing the file name). These initial input values are filtered through a synchronization engine 1426, whereby corresponding actions are taken.

도 4에는 동기화 엔진(1426)의 동작을 설명하는 흐름도가 도시되어 있다.4 is a flow diagram illustrating the operation of synchronization engine 1426.

도 4를 참조하면, 우선 클라이언트 자바 애플릿(142)이 HTML내에서 초기화 될 때, 퍼블릭(Public) 타입의 동기화 엔진(1426) 객체를 하나의 독립적인 쓰레드(thread)로 생성시키고 데몬 프로세스와 같이 자동 수행을 시키며 사용자 입력값이 생길 때마다 이에 반응하도록 만든다(S1426).Referring to FIG. 4, first, when a client Java applet 142 is initialized in HTML, a public type synchronization engine 1426 object is created as an independent thread and automatically generated as a daemon process. When the user input value is generated, the response is made (S1426).

이어서, 사용자 초기 입력값이 전달이 되면(S142600), 입력값이 웹 브라우저(14)로부터 입력되었는 지를 판단하고(S142602), 만약 입력값이 웹 브라우저(14)로부터 입력된 경우 사용자 입력 파라미터를 파싱하고(S142606), 우선적으로 사용자가 본 카타로그 표현을 위해 선택한 미디어들에 대한 플래그들을 세팅한다(S142608).Subsequently, when the user initial input value is transmitted (S142600), it is determined whether the input value is input from the web browser 14 (S142602), and if the input value is input from the web browser 14, parsing the user input parameter. (S142606), and first, set flags for media selected by the user for the present catalog expression (S142608).

만약 비디오가 선택되었다면 클라이언트 자바 애플릿(142)의 전역변수인 "video_selected" 플래그를 "ON"값으로 설정한다. 다른 미디어들도 마찬가지 과정을 거친다. 만약 이미지 미디어가 선택되었다고 하면 이것의 타입이 "JPEG"인지, "GIF"인지, "Animated GIF"인지에 대한 정보를 추가로 파악한다. 만약 아무런 사항이 입력되지 않았다면 기본적으로 모든 이미지 타입을 출력할 준비를 할 것이다.If video is selected, the "video_selected" flag, a global variable of the client Java applet 142, is set to "ON". The same goes for other media. If the image media is selected, it additionally knows whether the type is "JPEG", "GIF" or "Animated GIF". If nothing is entered, it will by default prepare to print all image types.

이렇게 각 미디어들에 대한 표현정보가 세팅이 되면, 이 정보들을 바탕으로 선택된 미디어들에 대한 미디어 플레이어 객체들을 생성한다(S142610). 각 미디어 플레이어(14220-14228)는 생성될 때 미디어 큐(1424)를 하나씩 퍼블릭 타입으로 할당받는데, 자바의 동기화 기능을 이용하여 임계 섹션(critical section)을 구성한다.When the expression information for each media is set as described above, media player objects for the selected media are generated based on the information (S142610). Each media player 1422-14228 is assigned a media cue 1424 as a public type, one at a time, when it is created. It configures a critical section using Java's synchronization function.

선택된 미디어 플레이어들이 생성이 되고 나면, 클라이언트 자바 애플릿(142)은 카타로그 표현을 시작하기 위한 초기화 입력 데이터를 구성하여(S142612), 자바 이벤트 핸들러에게 넘겨준다. 또한 재생 도중에 입력되는 동적인 사용자 입력값들은 단계(S14602)의 판단에 따라 클라이언트 자바 애플릿(142)을 통해 바로 자바 이벤트 핸들러로 입력되어 파싱된다(S142604).After the selected media players are created, the client Java applet 142 configures initialization input data for starting the catalog representation (S142612) and passes it to the Java event handler. In addition, the dynamic user input values input during playback are inputted and parsed directly into the Java event handler through the client Java applet 142 according to the determination of step S14602 (S142604).

이때 파싱된 입력값은 순차적으로 속도조절(S142614), 임의의 재생 위치값 변경(S142616), 연주(PLAY)(S142618), 일시정지(PAUSE)(S142620), 정지(STOP)(S142622), 빠르게 감기/되감기(FF/REW)(S142624), 보임/숨김(SHOW/HIDE)(S142626), 초당 프레임율(FPS) 설정(S142628) 인지가 판단되고, 해당 경우에 대한 세부 스탭을 수행하게 된다.At this time, the parsed input values are sequentially adjusted in speed (S142614), any playback position value is changed (S142616), PLAY (S142618), PAUSE (S142620), stop (STOP) (S142622), and quickly. It is determined whether the rewind / rewind (FF / REW) (S142624), the show / hide (SHOW / HIDE) (S142626), the frame rate per second (FPS) setting (S142628) is performed, and detailed steps are performed for the case.

만약 속도조절에 관한 이벤트가 발생되었다면, 입력된 더블값으로 속도값을 세팅한다(S142638). 속도값의 단위는 1.0을 기준으로 소수점 첫째자리까지 구성된다. 반대방향으로 재생할때에는 (-)값을 입력한다. 이렇게 입력된 속도값은 다시 서버 시스템(SS1)으로 전달되어 서버 시스템이 해당 속도로 수행되도록 한다(S142640).If an event related to speed regulation occurs, the speed value is set to the input double value (S142638). The unit of speed value is based on 1.0, up to one decimal place. Enter the negative value when playing in the reverse direction. The speed value thus input is transferred back to the server system (SS1) so that the server system is performed at the corresponding speed (S142640).

임의의 재생위치로 이동하고자 할 경우에는 재생위치 값을 입력된 값으로 세팅한다(S142642). 재생위치 값의 단위는 초 단위로 구성한다. 재생위치에 대한 내부 값을 변경 한 후에는 클라이언트 자바 애플릿(142)의 디스플레이 바(display bar)를 물리적으로 이동시켜 사용자가 추적할 수 있도록 한다(S142644). 이 경우 디스플레이 바는 생략할 수 도 있다. 이와 동시에 서버 시스템(140)에 변경된 위치값을 전달해 거기에서부터 데이터가 읽혀지도록 한다(S142646).If it is desired to move to an arbitrary playback position, the playback position value is set to the input value (S142642). The unit of the playback position value is composed of seconds. After changing the internal value for the playback position, the display bar of the client Java applet 142 is physically moved to be tracked by the user (S142644). In this case, the display bar may be omitted. At the same time, the changed position value is transmitted to the server system 140 so that data can be read therefrom (S142646).

연주(PLAY)에 대한 입력값이 전달되면 속도값을 정상속도인 1.0으로 세팅하며(S142632), 정지(STOP)인 경우에는 속도값을 0.0으로 세팅하고(S142622), FF나 REW인 경우에는 속도값을 각각 3.0과 -3.0으로 세팅한다. 일시정지(PAUSE)인 경우에는 토글(toggle) 기능으로 속도값을 1.0과 0.0을 반복하여 세팅한다. 이와 동시에 서버 시스템(SS1)에 변경된 위치값을 전달해 거기에서부터 데이터가 읽혀지도록 한다(S142646).When the input value for PLAY is delivered, the speed value is set to 1.0, the normal speed (S142632). In case of STOP, the speed value is set to 0.0 (S142622), and the speed is FF or REW. Set the values to 3.0 and -3.0 respectively. In the case of PAUSE, the speed value is set repeatedly by 1.0 and 0.0 by the toggle function. At the same time, the changed position value is transmitted to the server system SS1 so that data can be read therefrom (S142646).

사용자는 또한 동기화 엔진(1426)을 통해 특정 미디어 플레이어를 보였다(SHOW)(S142648), 숨겼다(HIDE)(S142650) 할 수 가 있다. 즉, 재생 중에 어느 때라도 자신이 원하는 미디어만 동적으로 표현할 수 가 있다. 이때, 숨은(HIDE) 미디어 플레이어들은 다시 보임(SHOW)으로 될 때까지 더 이상 서버 시스템(SS1)로부터 데이터를 받지 않기 때문에 네트워크 대역폭을 효율적으로 활용할 수가 있다. 또한, 상기 단계(S142628) 판단결과, 초당 프레임율(FPS)이 변경설정된 경우 비디오 서버(1400)에 바뀐 FPS값을 전달한다(S142652).The user can also SHOW (S142648) and hide (HIDE) (S142650) a specific media player via the synchronization engine 1426. That is, at any time during playback, only the media that the user wants can be represented dynamically. At this time, since HIDE media players no longer receive data from the server system SS1 until it is shown again, network bandwidth can be efficiently utilized. In addition, when the determination result of the step (S142628), if the frame rate (FPS) per second is set to be changed, the changed FPS value is transmitted to the video server 1400 (S142652).

사용자로부터의 입력 사항을 모두 처리한 동기화 엔진(1426)은 지속적으로 각 플레이어들의 동기화를 관리하고 유지시키기 위해 자신의 객체 레퍼런스를 각 미디어 플레이어들에게 공개(open)한다. 이 레퍼런스를 통해 각 미디어 플레이어들은 현재의 동기화 상황에 대한 동기화 변수 및 플래그들을 참조할 수 가 있다.Having processed all the inputs from the user, the synchronization engine 1426 opens its object reference to each media player in order to continuously manage and maintain synchronization of each player. This reference allows each media player to refer to synchronization variables and flags for the current synchronization situation.

도 5는 미디어 플레이어의 동작을 설명하는 흐름도이다. 미디어 플레이어(1422)는 클라이언트 자바 애플릿(142)을 jar 파일로 구성해 웹서버(12)에 탑재할 때 프로그램 사이즈를 줄이고 다운로드 시간을 단축하기 위해서 해당 어플리케이션에 필요한 미디어 객체들만 구성(configurable)되어질 수 도 있다.5 is a flowchart illustrating the operation of the media player. The media player 1422 may be configured with only the media objects necessary for the application in order to reduce the program size and download time when the client Java applet 142 is configured as a jar file and mounted on the web server 12. There is also.

예를들어, 파노라마 기능만을 이용해 카타로그를 구성하고 싶을 경우에는 이 단계에서 이미지 플레이어(14224) 객체 클래스만 클라이언트 jar 파일에 탑재시킨다. 만약 이미지와 텍스트를 이용해서 슬라이드 쇼를 구성하고 싶다면 이미지 플레이어 클래스와 텍스트 플레이어 클래스만 탑재시킨다. 만약 모든 기능을 기본적으로 내장하고 사용자의 동적 요구에 따라 특정 미디어 클래스 객체를 선택하고자 한다면 모든 클래스들을 jar 파일에 탑재시킨다.For example, if the catalog is to be configured using only the panorama function, only the image player 1422 object class is loaded into the client jar file in this step. If you want to compose a slide show using images and text, only the image player and text player classes are loaded. If all the features are built in by default, and you want to select a specific media class object based on your dynamic needs, load all the classes in a jar file.

도 3에 도시된 미디어 플레이어는 기본적으로 자바의 멀티 쓰레드(Multi Thread) 기능을 이용하기 때문에, 하나 이상의 선택된 미디어 플레이어들이 동시에 병렬적으로 수행이 될 수 있다. 즉, 비디오 플레이어 객체 생성단계(S142210), 오디오 플레이어 객체 생성단계(S142226), 이미지 플레이어 객체 생성단계(S142242), 텍스트 플레이어 객체 생성단계(S142266), HTML 플레이어 객체 생성단계(S142284)가 동시에 병렬적으로 수행이 된다. 이렇게 함으로써 한 가지 이상의 미디어가 동시에 표현이 될 수 있는 것이다.Since the media player illustrated in FIG. 3 basically uses Java's Multi Thread function, one or more selected media players may be simultaneously executed in parallel. That is, the video player object generation step (S142210), the audio player object generation step (S142226), the image player object generation step (S142242), the text player object generation step (S142266), and the HTML player object generation step (S142284) are parallel at the same time. Will be performed. In this way, more than one media can be presented simultaneously.

도 5를 참고하여 미디어 플레이어에 대한 제어 흐름도를 자세히 설명하면 다음과 같다. 우선 사용자가 비디오 미디어의 출력을 선택했는지를 판단한다(S142200). 만약 선택하였다면 비디오 플레이어 객체를 퍼블릭 타입(public type)으로 하나 생성한다(S142210). 이 생성단계에서 비디오 플레이어(14220)는 이미 오픈된 동기화 엔진(1426) 객체의 레퍼런스를 참조 받음으로써 동기화 엔진(1426)의 최신 동기화 정보들을 지속적으로 얻을 수 있게 된다. 비디오 플레이어(14220) 객체는 이어서 실제 미디어 디스플레이 엔진(1428)이 출력할 수 있는 픽셀 이미지로 변환하기 위한 비디오 디코더 객체를 생성한다(S142212). 이 비디오 디코더 객체는 독자적으로 수행될 수 있는 쓰레드(Thread) 객체로 생성된다.A control flowchart of the media player will be described in detail with reference to FIG. 5 as follows. First, it is determined whether the user selects the output of the video media (S142200). If it is selected, one video player object is created as a public type (S142210). In this generation step, the video player 1420 may continuously obtain the latest synchronization information of the synchronization engine 1426 by referring to the reference of the synchronization engine 1426 object which is already opened. The video player 1422 object then generates a video decoder object for conversion into a pixel image that can be output by the actual media display engine 1428 (S142212). This video decoder object is created as a Thread object that can be executed independently.

생성된 비디오 디코더 객체는 미디어 큐(1424)에서 현재 시각에 재생할 비디오 프레임이 있는 지를 체크한다(S142214). 이 판단은 동기화 엔진(1426)의 재생 속도와 재생 위치, 그리고 실제 비디오 프레임들 내의 논리적 시작 시간과 논리적 끝 시간을 비교하여 이루어진다. 이때 만약 동기화 엔진(1426)의 속도가 0라면 정지 상태로 판단하여 초(<1 초)만큼 자신의 쓰레드를 슬립(sleep)한 후(S142216), 다시 단계(S142214)로 가서 지속적인 동기화 상황 체크를 반복한다. 만약 속도가 0 이 아니면서도 현재의 논리적 시각내에 해당하는 비디오 프레임이 없을 경우에도 단계(S142216)를 진행한다.The generated video decoder object checks whether there is a video frame to be played at the current time in the media queue 1424 (S142214). This determination is made by comparing the playback speed and playback position of the synchronization engine 1426 and the logical start time and logical end time in the actual video frames. In this case, if the speed of the synchronization engine 1426 is 0, it is judged to be in a stopped state and sleeps its own thread for a second (<1 second) (S142216), and then goes back to step (S142214) to check the continuous synchronization status. Repeat. If the speed is not 0 and there is no video frame corresponding to the current logical time, step S142216 is performed.

만약 미디어 큐(1424) 안에 현재 논리적 시각에 해당하는 비디오 프레임이 있다면, 그 프레임을 미디어 큐(1424)에서 가져 온 후(S142218), MPEG-1 디코딩을 수행한다(S142220). 현재 본 비디오 플레이어에서 재생 가능한 비디오 프레임들은 MPEG-1 비디오 스트림을 기반으로 구성되어 있다. 디코딩이 완료된 후에는 디스플레이 엔진(1428)의 비디오 디바이스에 의해 화면에 출력되게 되고(S142222), 이 출력이 현재 프레임의 재생시간 - 초당 프레임률- 동안 화면상에 그대로 표시될 수 있도록 비디오 디코더 쓰레드를 남은 프레임 재생시간 만큼 슬립(sleep)시킨 후(S142224), 다음 프레임의 재생을 위해 다시 단계(S142214)로 올라간다. 이때 한 번 출력된 비디오 프레임들은 자동적으로 미디어 큐(1424)에서 제거되어 메모리 부하를 줄여 준다.If there is a video frame corresponding to the current logical time in the media queue 1424, the frame is taken from the media queue 1424 (S142218), and MPEG-1 decoding is performed (S142220). Currently, video frames that can be played in the video player are constructed based on an MPEG-1 video stream. After the decoding is completed, the video device of the display engine 1428 is output to the screen (S142222), and the video decoder thread is displayed on the screen as it is during the playback time of the current frame-frame rate per second. After sleep for the remaining frame playback time (S142224), the process goes back to step S142214 for playback of the next frame. At this time, once output video frames are automatically removed from the media queue 1424 to reduce the memory load.

한편, 단계(S142202)에서 오디오 미디어가 사용자로부터 선택되었는지가 단계(S142210)와 거의 동시에 판단된다. 만약 오디오 미디어를 사용자가 선택하였다면 단계(S142210)부터 단계(S142224)와 거의 같은 절차를 단계(S142226)에서부터 단계(S142240)에서 수행한다. 다만, 차이점이 있다면, 오디오 디코딩의 기본 타입이 초당 8000Hz의 샘플링률을 가진 선 마이크로시스템즈 사의 Au 타입과 초당 13000 bps로 압축되어 전송되는 GSM(The Global System for Mobile telecommunication) 타입을 지원한다는 것이다. 초당 13 kbps로 전송되는 GSM 오디오 타입을 지원함으로써 28K 모뎀에서도 실시간으로 오디오 지원이 가능하다.On the other hand, it is determined at step S142202 whether the audio media has been selected by the user at substantially the same time as step S142210. If the user selects the audio media, the same procedure as in step S142210 to step S142224 is performed in step S142226 to step S142240. However, the difference is that the basic type of audio decoding supports the Au type of Sun Microsystems, which has a sampling rate of 8000 Hz per second, and the GSM (The Global System for Mobile telecommunication) type, which is compressed and transmitted at 13000 bps per second. Support for GSM audio types transmitted at 13 kbps per second enables audio support in real time over 28K modems.

한편, 단계(S142204)에서는 이미지 미디어가 사용자로부터 선택되었는 지를 판단한다. 만약 선택되었다면 이미지 플레이어(14224) 객체를 생성하고 동기화 엔진(1426)의 객체 레퍼런스를 참조 받는데(S142242), 이미지 디코더 객체를 생성함에 있어 2D 이미지와 3D 이미지 모델링을 미디어 적용 타입에 따라 선별적으로 취급할 수 있는 서브 디코딩 컴포넌트 객체들을 함께 생성한다(S142244,S142246).On the other hand, in step S142204, it is determined whether the image media has been selected by the user. If selected, an image player 1422 object is created and an object reference of the synchronization engine 1426 is referenced (S142242). In creating an image decoder object, 2D image and 3D image modeling are selectively handled according to the media application type. Sub decoding component objects that can be generated are generated together (S142244 and S142246).

비디오 플레이어(14220)와 오디오 플레이어(14222)가 연속적인 미디어 형태를 다루는데 반해, 이미지 플레이어(14224), 텍스트 플레이어(14226), HTML 로더(14228)는 비연속적인 미디어 형태를 다루기 때문에 도 3에서 언급한 멀티미디어 템플레이트 파일 시스템(1402)의 해당 템플레이트 파일을 단계(S142250, S142274, S142290)에서 서버 시스템(S1)으로부터 읽어와 사용한다.The video player 1422 and audio player 1422 deal with continuous media forms, while the image player 1422, text player 1422, and HTML loader 142828 deal with non-contiguous media forms, and are referred to in FIG. The template file of the multimedia template file system 1402 is read from the server system S1 in steps S142250, S142274, and S142290, and used.

비디오를 제외한 나머지 비연속적 미디어의 멀티미디어 템플레이트 파일(140208,140210,140212)은 상기한 바와같이 다음과 같은 형식으로 구성되어 진다: {미디어를 가져올 미디어 파일 디렉토리, 미디어 타입, 논리적 시작 시간, 논리적 끝 시간}.The multimedia template files (140208, 140210, 140212) of the non-continuous media other than video are configured as follows: {media file directory from which to import media, media type, logical start time, logical end time. }.

여기서 미디어 타입은 파일의 확장자로 인식한다. 예를 들어, gif/jpeg등은 이미지 타입, txt는 텍스트, html/htm은 HTML 문서 타입을 나타낸다. 본 템플레이트 파일은 사용자가 텍스트 기반의 에디터로 작성할 수 있다. 기존의 방식과 다르게 모든 미디어들의 내용을 하나의 이진 파일에 통합해 놓지 않았기 때문에 언제라도 변경 사항의 수정이 용이하다.The media type is recognized here as the file extension. For example, gif / jpeg represents an image type, txt represents text, and html / htm represents an HTML document type. This template file can be created by the user with a text-based editor. Unlike the traditional method, since the contents of all the media are not integrated in a single binary file, the changes can be easily modified at any time.

이 정보를 바탕으로 단계(S142252, S142274, S142294)에서 실제의 미디어 데이터를 서버 시스템(SS1)으로부터 실시간으로 읽어와 논리적 재생 시간을 결합한 완전한 미디어 프레임을 완성한다. 이렇게 완성된 미디어 프레임 조각들은 해당 디코딩 단계(S142260, S142258)를 거쳐 디코딩되고, 디스플레이 엔진(1428)에 표현된다(S142262, S142280, S142296).Based on this information, the actual media data is read in real time from the server system SS1 in steps S142252, S142274, and S142294 to complete a complete media frame combining logical playback time. The completed media frame pieces are decoded through the corresponding decoding steps S142260 and S142258 and are displayed on the display engine 1428 (S142262, S142280, and S142296).

화면에 표시 된 후에는 각자의 재생 시간 동안 재생 시간을 보장하기 위해 각 디코더 객체 쓰레드가 슬립하게 되는데, 연속적 미디어와는 다르게 자신의 재생시간이 끝나면 바로 화면에서 제거시켜 미디어의 불연속성을 보장시킨다(S142264, S142282, S142298). 아울러 비연속성의 보장을 통하여 네트워크의 대역폭을 효과적으로 활용할 수 있다.After being displayed on the screen, each decoder object thread sleeps to ensure playback time during its own playback time. Unlike continuous media, when the playback time is over, the decoder object is immediately removed from the screen to ensure the discontinuity of the media (S142264). , S142282, S142298). In addition, guaranteeing discontinuity can effectively utilize the bandwidth of the network.

여기에서 주의 깊게 살펴보아야 할 부분은 이미지 디코더에서 3D 이미지 모델링 판단단계(S142258)이다. 이 부분은 크게 모션 모듈과 파노라마 모듈로 나뉘어 진다. 모션 모듈은 서로 다른 각도에서 촬영된 18장 이상의 연속적인 2D 이미지들을 순차적으로 받아들이면서 3차원적으로 모델링해주는 기법으로 마치 3D 객체를 보는 듯한 효과를 주게된다. 여기에다 패닝(panning)기능을 제공하여 이미지들이 연속적으로 바뀌게 함으로써 마치 실제 3차원 물체를 돌려보는 듯한 느낌을 주게 할 수 있다.Here, the part to be carefully examined is the 3D image modeling determination step (S142258) in the image decoder. This part is divided into motion module and panorama module. The motion module is a technique that takes more than 18 consecutive 2D images taken from different angles in sequence and models them in three dimensions, giving the effect of looking like a 3D object. In addition, the panning function allows the images to be changed continuously so that it can feel as if you are looking at a real three-dimensional object.

이러한 기능은 웹 카타로깅 시스템에서 전시된 상품을 실제 3차원 모양 그대로 모델링해주는 효과를 나타낸다. 다음으로 파노라마 모듈은 한장의 2D 이미지를 가지고 3차원적인 360도 패닝 효과를 구현해주며, 아울러 이미지 내의 특정 공간을 클릭했을 때 다른 미디어 플레이어와 연동시켜주는 기능을 포함한다.This function has the effect of modeling the products displayed in the web catalog system as the actual three-dimensional shape. Next, the Panorama module creates a three-dimensional 360-degree panning effect from a single 2D image, and includes the ability to interact with other media players when a specific space in the image is clicked.

도 6은 서버 시스템을 동작을 설명하는 흐름도로서, 서버 시스템(SS1)이 웹서버(12)로부터 비디오 서버 서블릿(servlets)을 구동하는 단계(140000)에서부터 시작한다. 다음으로 멀티미디어 템플레이트 파일 시스템(1402)으로부터 비디오 템플레이트 파일(140206)을 메모리에 로드시킨 후 각각을 객체화시켜 해당 미디어 플레이에 대한 사용자 요구(request)에 반응하도록 한다(S140002). 이렇게 메모리에 템플레이트 파일(140206)을 로드시켜 놓는 이유는 사용자 반응시간을 최대한으로 줄이고 서비스 성능을 개선시키기 위함이다. 템플레이트 파일의 로드시에 실제 컨텐츠 데이터는 하드 디스크 상에 존재하며, 물리적 저장 위치의 정보와 각 프레임당 시간 정보를 담고 있는 헤더 부분들만 메모리에 탑재된다.FIG. 6 is a flow chart illustrating the operation of the server system, beginning with step 140000 in which the server system SS1 drives the video server servlets from the web server 12. Next, the video template file 140206 is loaded from the multimedia template file system 1402 into the memory, and each object is made to react to a user request for a corresponding media play (S140002). The reason why the template file 140206 is loaded in the memory is to reduce user response time to the maximum and improve service performance. When the template file is loaded, the actual content data exists on the hard disk, and only the header parts containing the information of the physical storage location and the time information per frame are loaded into the memory.

비디오를 제외한 나머지 미디어 즉, 오디오, 이미지, 텍스트, HTML 데이터들은 사용자 요구가 있을 때(S140038), 해당 파일을 디스크로부터 읽어 들여(S140040), 클라이언트 단말기(C1)와의 스트리밍 프로토콜에 따라 클라이언트 단말기(C1)로 데이터를 전송한 후(S140042), 세션(Session)을 차단한다(S140044).Media other than video, i.e., audio, image, text, and HTML data, when requested by the user (S140038), is read from the disk (S140040), and the client terminal (C1) according to the streaming protocol with the client terminal (C1). After the data is transmitted (S140042), the session is blocked (S140044).

비디오 데이터의 경우는 비디오 서버 엔진(1400)에 의해 특별하게 취급된다. 다른 미디어에 비해 상대적으로 많은 데이터량과 많은 I/O 자원을 소모하고 동적으로 변하는 네트워크의 대역폭 상황을 탄력적으로 반영하여 스트리밍하여야 하기 때문이다. 일단 사용자로부터 비디오 서블릿(Video Servlet)에 대한 세션 접속이 일어나면(S140004), 다음과 같은 명령어들이 URL(Uniform Resource Locator) 형태로 클라이언트 단말기(C1)에서 비디어 서블릿으로 전달되게 된다:Video data is specially handled by the video server engine 1400. This is because it consumes more data and more I / O resources than other media, and needs to stream in a way that reflects the bandwidth of dynamically changing networks. Once a session connection is made from the user to the video servlet (S140004), the following commands are passed from the client terminal C1 to the video servlet in the form of a Uniform Resource Locator (URL):

http://videoserver:port/VideoServlet?file=title1.mpgc&fps=10&lts=0&speed=1http: // videoserver: port / VideoServlet? file = title1.mpgc & fps = 10 & lts = 0 & speed = 1

이렇게 입력된 명령어안에서 비디오 서버 엔진(1400)은 일단 비디오 타이틀명을 파싱한 후(S140006), 파싱된 타이틀에 대한 메모리의 해당 템플레이트 객체를 선택한다(S140008). 다음으로 실제 비디오 데이터를 읽어 들일 재생위치 값을 입력된 파라미터로부터 결정하는데(S140010), 이것이 0값이면 비디오 템플레이트 객체에서 처음의 오프셋 포인터(offset pointer)로 이동(S140012)하고, 아니면 비디오 템플레이트 객체에서 해당 위치의 오프셋 포인터로 이동한다(S140014).In the inputted command, the video server engine 1400 first parses the video title name (S140006), and then selects a corresponding template object in memory for the parsed title (S140008). Next, the playback position value to read the actual video data is determined from the input parameters (S140010). If this value is 0, the video template object is moved to the first offset pointer (S140012), or the video template object is The controller moves to the offset pointer of the corresponding position (S140014).

다음으로 재생속도를 판단하는데(S140016), 만약 변경되었으면 재생속도를 변경하여 반영하고(S140020), 아니면 기존의 속도를 그대로 유지시킨다(S140018).Next, to determine the playback speed (S140016), if it is changed by changing the playback speed (S140020), otherwise maintains the existing speed (S140018).

이어서, 프레임률(FPS; Frames per Second)의 변경을 판단하는데(S140022), 현재의 네트워크 대역폭의 변동 상황을 반영한 사용자로부터의 FPS 입력값이 기존의 값과 차이가 나면 새로 입력된 값으로 FPS 값을 설정하고(S140024), 아니면 기존의 FPS를 그대로 유지한다(S140026).Subsequently, a change of frames per second (FPS) is determined (S140022). If the FPS input value from the user reflecting the change in the current network bandwidth is different from the existing value, the FPS value is newly input. Set (S140024), otherwise maintain the existing FPS (S140026).

이상과 같이 모든 입력 파라미터에 대한 파싱 절차가 끝나면, 실제 현재의 오프셋(offset)에서부터 현재의 속도로 비디오 스트림 파일을 읽어 들인다(S140028). 비디오 데이터의 판독은 1초 단위로 반복되는데, 1초 분량의 비디오 데이터가 읽히는 데로 현재의 FPS 만큼만 스트림을 패킷화하여(S140030), 클라이언트 단말기(C1)에게 패킷을 전송한다(S140032). 이 작업은 EOF(End Of File)를 만나거나(S140034), 아니면 세션이 강제적으로 끝났을 때(S140036) 까지 반복된다.When the parsing procedure for all input parameters is completed as described above, the video stream file is read at the current speed from the actual current offset (S140028). The reading of the video data is repeated in units of one second. The packet is streamed only as much as the current FPS to read the video data of one second (S140030), and the packet is transmitted to the client terminal C1 (S140032). This operation is repeated until the end of file (EOF) is met (S140034) or the session is forcibly terminated (S140036).

도 9는 미디어 수신 엔진의 동작을 설명하는 흐름도로서, 미디어 수신 엔진(1420)은 클라이언트 자바 애플릿(142)이 구동될 때 미디어 수신 엔진 객체를 생성(S142000)함으로써 구현된다. 일단 미디어 수신 엔진(1420) 객체가 생성되고 나면 현재의 네트워크 대역폭을 계산하기 위해 미리 설정한 α 초만큼의 패킷을 사전에 미리 서버 시스템(SS1)에게 요구한다. 이때 비디오의 타이틀명, FPS, 재생속도=1, 재생위치=0과 같이 초기 파라미터를 서버 시스템(SS1)에 전달한다(S142002). 이어서 미디어 수신 엔진(1420)은 서버 시스템(SS1)으로부터 α초만큼의 패킷을 전송 받은 후 초당 평균 수신시간(L)을 계산한다(S142004).9 is a flowchart illustrating an operation of the media reception engine. The media reception engine 1420 is implemented by generating a media reception engine object (S142000) when the client Java applet 142 is run. Once the media reception engine 1420 object is created, it requests the server system SS1 in advance for a packet of a predetermined number of seconds in order to calculate the current network bandwidth. At this time, initial parameters are transmitted to the server system SS1 such as the title name of the video, the FPS, the playback speed = 1, and the playback position = 0 (S142002). Subsequently, the media reception engine 1420 calculates an average reception time L per second after receiving a packet of α seconds from the server system SS1 (S142004).

그후 평균 수신 시간값(L)으로 현재의 네트워크 상태에서의 최적의 FPS를 계산한다(S142006). 이 부분에서 본 발명 시스템은 종래의 30 FPS 기반의 MPEG 스트림을 현재 대역폭 상황에 따라 선택적으로 수신 받을 수 있는 메커니즘을 제공함에 따라 종래의 정상 MPEG 스트림이 할 수 없었던 저대역폭, 동적 대역폭 상황에 탄력적으로 서비스를 할 수 있게 된다. 일단 현재 상태에서의 최적의 FPS가 계산이 되면, 실제 서버 시스템(SS1)으로부터 데이터가 전송될 때까지 비동기적인 리슨(listen)상태에 들어가게 된다. 따라서, 본 발명 시스템에서는 실제 서버 시스템(SS1)으로부터 데이터가 올 때에만 깨어나기(wakeup) 때문에 다른 프로세스들이 작업을 진행할 수 있는 기회를 제공한다(S142008).After that, the optimal FPS in the current network state is calculated using the average reception time value L (S142006). In this part, the present system provides a mechanism to selectively receive a conventional 30 FPS-based MPEG stream according to the current bandwidth situation, thereby flexibly responding to a low bandwidth and dynamic bandwidth situation that a conventional normal MPEG stream could not. Service is available. Once the optimal FPS in the current state is calculated, it enters an asynchronous listen state until data is sent from the real server system SS1. Therefore, the system of the present invention provides an opportunity for other processes to proceed because it wakes up only when data comes from the actual server system SS1 (S142008).

서버 시스템(SS1)으로부터 데이터 패킷이 도착하면(S142010), 1초당의 데이터 패킷을 수신한다(S142012). 다음으로 전송 받은 패킷의 헤더 부분에서 미디어 타입을 파싱한다(S142014). 그리고 해당 미디어 큐(1424)에 데이터 패킷을 삽입한다(S142016).When a data packet arrives from the server system SS1 (S142010), a data packet per second is received (S142012). Next, the media type is parsed from the header portion of the received packet (S142014). The data packet is inserted into the media queue 1424 (S142016).

이러한 작업을 계속 반복하여 연속되는 패킷들을 미디어 큐(1424)에 삽입하게 되는데, 수신도중에 갑자기 대역폭상황이 나빠져 마지막으로 전송 받은 패킷의 논리적 끝 시간이 현재 재생중인 논리적 시간(재생위치)을 초과하는 경우가 발생할 수 있다(S142018). 이러한 경우에는 어느 정도의 시간만큼 버퍼링하는 단계가 필요하게 된다. 버퍼링 작업은 동기화 엔진(1426)의 재생속도를 0으로 세팅하고 잠시 블록상태로 들어가는 것으로부터 시작되게 된다(S142020).This operation is repeated repeatedly to insert successive packets into the media queue 1424. During reception, when the bandwidth suddenly worsens, the logical end time of the last transmitted packet exceeds the currently playing logical time (playback position). May occur (S142018). In this case, it is necessary to buffer for some time. The buffering operation is started by setting the reproduction speed of the synchronization engine 1426 to 0 and entering the block state for a while (S142020).

다음으로 초당 평균 수신값(L)을 기준으로 최적의 버퍼링 시간을 예측한다(S142022). 그리고 버퍼링 시간 만큼 데이터 패킷을 수신한 후 미디어 큐(1424)에 삽입한다(S142024). 버퍼링 작업이 완료되면 다시 동기화 재생속도를 1로 세팅함으로써 멈췄던 지점으로부터 재생을 다시 시작한다(S142026). 초당 평균 수신시간(L)은 매 5초마다 재 계산하게 되고(S142028), 미디어 수신 엔진(1420)은 한 패킷의 수신 작업이 끝날 때마다 리슨(listen)상태에서 다음 패킷을 기다리게 된다(S142008).Next, an optimal buffering time is predicted based on the average reception value L per second (S142022). After receiving the data packet for the buffering time, the data packet is inserted into the media queue 1424 (S142024). When the buffering operation is completed, playback is restarted from the point where it stopped by setting the synchronization playback speed to 1 again (S142026). The average reception time (L) per second is recalculated every 5 seconds (S142028), and the media reception engine 1420 waits for the next packet in a listen state every time the reception operation of one packet is completed (S142008). .

도 10은 미디어 디스플레이 엔진의 블록도를 나타낸다. 미디어 디스플레이 엔진(1428)은 세개의 API로 이루어져 있는데 GUI를 담당하는 자바 AWT(Abstract Windows Toolkit) API(Application Program Interface)(42802), 오디오 출력을 담당하는 자바 오디오 API(42806), 그리고 HTML의 출력을 담당해주는 웹 브라우저 API(42820)로 나누어진다. 자바 AWT API(42802)는 비디오 디스플레이 디바이스(42804)와 연결되어 시각적인 표현을 담당하며, 자바 오디오 API(42806)는 오디오 출력 디바이스(42808)와 연결되어 오디오의 출력을 담당해준다. 또한, 웹 브라우저 API(42810)는 HTML 출력에 관한 작업을 수행한다.10 shows a block diagram of a media display engine. The media display engine 1428 is comprised of three APIs: a Java Abstract Windows Toolkit (AWT) Application Program Interface (API) 42802 for the GUI, a Java Audio API 42806 for audio output, and HTML output. It is divided into a web browser API (42820) that is responsible for. The Java AWT API 42802 is connected to the video display device 42804 for visual presentation, and the Java Audio API 42806 is connected to the audio output device 42808 for the output of audio. In addition, the web browser API 4410 performs operations on HTML output.

도 11은 도 2에 도시된 멀티미디어 H/W장치(8,9)의 상세 블록도이다. 멀티미디어 H/W 장치(8,9)는 사운드 카드(1602)와 VGA OUT(1606)으로 구성되어 있다. 사운드 카드(1602)는 스피커 시스템(1604)과 연결되어 실제 오디오 사운드를 아날로그 파형으로 변환하여 출력하게 된다. VGA OUT(1606)은 사용자의 선택에 따라 화면 시그날을 모니터(1608)나, LCD(1610), 또는 빔 프로젝터(1612)로 출력하게 된다.FIG. 11 is a detailed block diagram of the multimedia H / W apparatus 8, 9 shown in FIG. The multimedia H / W device 8, 9 is composed of a sound card 1602 and a VGA OUT 1606. The sound card 1602 is connected to the speaker system 1604 to convert the actual audio sound into an analog waveform and output it. The VGA OUT 1606 outputs the screen signal to the monitor 1608, the LCD 1610, or the beam projector 1612 according to a user's selection.

상기한 바와같이 본 발명에서는 정적인 HTML 문서내에 멀티미디어 웹 카타로깅에 필요한 기능들을 동적으로 실시간상에 구현하기 위한 자바 애플릿을 클라이언트 애플리케이션으로 삽입하고, 서버 시스템에 현재 표현에 필요한 각종 멀티미디어 데이터를 각각의 특성에 맞게 동적으로 요청하여 실시간적으로 웹서버를 통해 웹 브라우저로 스트리밍함으로써 HTML상에 함께 혼합하여 카타로그 내용들을 웹 브라우저로 효과적으로 표현할 수 있다.As described above, in the present invention, a Java applet for dynamically implementing real-time functions of multimedia web catalog logging in a static HTML document is inserted into a client application, and various multimedia data necessary for presenting in a server system are respectively inserted. By dynamically requesting the data and streaming it to the web browser through the web server in real time, the contents of the catalog can be effectively expressed by the web browser by mixing them together on the HTML.

또한, 본 발명에서는 HTML 문서내에 삽입한 자바 애플릿을 클라이언트 프로그램으로 구동하고, 그것의 동기화 엔진과 스트리밍 기능 등을 적절히 혼합하여 실시간상에 선택된 비디오, 오디오, 2D/3D 이미지, 애니메이션, 텍스트, 애니메이션, HTML 등의 미디어 프레임들을 웹서버와 상기 비디오 서버 엔진을 통해 논리적으로 송/수신 결합시켜 줌으로써, 종래의 HTML이나 DHTML(Dynamic-HTML) 문서, 플러그-인(Plug-In) 프로그램(S/W), 자바 스크립트로도 표현하기 어려웠던 동적 멀티미디어 웹 카타로깅 정보들을 웹 브라우저 내에 효과적으로 표현해 줄 수 있게 되었다.In addition, in the present invention, a Java applet inserted into an HTML document is run as a client program, and a proper mixing of its synchronization engine and streaming function is performed to select video, audio, 2D / 3D image, animation, text, animation, By combining media frames such as HTML through the web server and the video server engine, the conventional HTML or DHTML (Dynamic-HTML) document, Plug-In program (S / W) In addition, dynamic multimedia web cataloging information, which was difficult to express even in JavaScript, can be effectively represented in a web browser.

더욱이, 본 발명 시스템은 하드웨어에 독립적인 순수 자바(Pure-Java) 기반으로 설계되어 자바 버추얼 머신(Java Virtual Machine)을 탑재한 PC(개인용 컴퓨터)의 웹 브라우저에서는 물론, 퍼스널 자바(PersonalJava)를 포팅(porting)한 일반 휴대용 통신단말기(PCS, PHS), 휴대 정보 단말기(PDA), 셋톱 박스(settop box), 디지털 텔레비젼(Digital TV), 웹폰(Web Phone) 및 자바 오퍼레이팅 시스템(JavaOs)을 탑재한 자바 칩(Java Chip) 등에서 실행이 가능하다.Moreover, the system of the present invention is designed based on pure Java, which is independent of hardware, and porting Personal Java as well as web browser of a PC (personal computer) equipped with a Java Virtual Machine. (porting) equipped with general portable communication terminals (PCS, PHS), handheld information terminals (PDA), settop box, digital TV, Web phone and Java operating system (JavaOs) It can be executed in Java Chip.

또한, 스트리밍 기반으로 이루어져 있기 때문에 인터넷의 대역폭에 따라 필요한 미디어들만 선택적으로 받아 볼 수 있고, 아울러 프레임 기반의 가상 VCR을 이용한 지능적 재생이 가능하다며, 종래의 비디오, 오디오 등의 연속적 미디어 스트리밍 방법에서 이미지, 텍스트, HTML 등의 비연속적 미디어 스트리밍 방식을 새롭게 고안하여 웹상에서의 가장 적합한 멀티미디어 표현 방식을 제공할 수 있다.In addition, since it is based on streaming, only the necessary media can be selectively received according to the bandwidth of the Internet, and intelligent playback using a frame-based virtual VCR is possible. By devising new non-continuous media streaming methods such as text, HTML, etc., we can provide the most suitable multimedia presentation method on the web.

이상에서는 본 발명을 특정의 바람직한 실시예를 예를들어 도시하고 설명하였으나, 본 발명은 상기한 실시예에 한정되지 아니하며 본 발명의 정신을 벗어나지 않는 범위내에서 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변경과 수정이 가능할 것이다.In the above, the present invention has been illustrated and described with reference to specific preferred embodiments, but the present invention is not limited to the above-described embodiments and is not limited to the spirit of the present invention. Various changes and modifications can be made by those who have

Claims (2)

웹 브라우저와 자바 버추얼 머신을 포함하는 클라이언트 단말기와 웹서버를 포함하는 서버 시스템이 인터넷망을 통하여 연결된 클라이언트/서버 시스템 환경에서 자바를 이용한 동적 멀티미디어 웹 카타로깅 시스템에 있어서,In a dynamic multimedia web cataloging system using Java in a client / server system environment in which a client terminal including a web browser and a Java virtual machine and a server system including a web server are connected through an internet network, 사용자가 웹 브라우저를 통해 접속할 때 클라이언트 자바 애플릿 정보가 포함된 HTML 카타로그 문서를 웹 브라우저로 제공하는 웹서버와,A web server that provides an HTML catalog document containing client Java applet information to the web browser when the user accesses the web browser, 상기 클라이언트 단말기로부터의 비디오 데이터에 대한 요구에 따라 그 내용을 해석하여 웹서버를 통하여 클라이언트 자바 애플릿으로 비디오 데이터를 실시간 상으로 스트리밍해주기 위한 비디오 서버 엔진과,A video server engine for interpreting the content according to a request for video data from the client terminal and streaming the video data in real time to a client Java applet through a web server; 상기 클라이언트 단말기로부터의 요구에 따라 웹서버를 통하여 클라이언트 자바 애플릿으로 비디오 이외의 오디오, 2D/3D 이미지, 애니메이션, 텍스트 및 HTML 멀티미디어 데이터를 스트리밍에 적합하도록 제반정보를 포함한 템플레이트 파일로 이루어진 멀티미디어 템플레이트 파일시스템과,Multimedia template file system consisting of a template file including all information suitable for streaming audio, 2D / 3D images, animations, text and HTML multimedia data other than video to a client Java applet through a web server according to a request from the client terminal. and, 상기 웹서버에 접속할 때 웹 브라우저로 다운로드되어 자바 버추얼 머신에 의해 생성되는 클라이언트 자바 애플릿으로서 멀티미디어 웹 카타로깅에 필요한 기능들을 동적으로 실시간상에 구현할 수 있는 자바 애플릿으로 구현하여 정적인 HTML 문서 내에 삽입하여 서버 시스템과 함께 구동하되, 실행시 자바 버추얼 머신을 탑재한 클라이언트의 웹 브라우저 상에서 해당 논리적 시각에 필요한 비디오, 오디오, 텍스트, 2D/3D 이미지, 애니메이션, HTML 등의 멀티미디어 데이터를 서버 시스템에 요청하고, 웹서버를 통해 전달받은 미디어 데이터들을 동적으로 결합하여 재생시킬 수 있는 동기화 로직을 포함하는 동기화 엔진과,A client Java applet that is downloaded to a web browser and created by a Java virtual machine when accessing the web server. It is a Java applet that can dynamically implement the functions necessary for multimedia web cataloging in real time. It runs together with the server system, and requests the server system multimedia data such as video, audio, text, 2D / 3D image, animation, HTML, etc. for the logical view from the web browser of the client equipped with the Java virtual machine. A synchronization engine including synchronization logic capable of dynamically combining and playing media data received through a web server; 상기 웹서버와 비디오 서버 엔진으로부터 카타로깅 미디어 데이터(오디오, 이미지, 텍스트, HTML) 패킷을 HTTP를 통하여 스트리밍 방식으로 전달받아 미디어큐에 보관하는 미디어 수신 엔진과,A media receiving engine for receiving cataloging media data (audio, image, text, HTML) packets from the web server and the video server engine in a streaming manner via HTTP, and storing them in a media queue; 수신받은 각각의 미디어 데이터들을 각 파일 포맷에 맞게 디코딩하고 해당 장치 디바이스로 재생해주는 미디어 플레이어 엔진과,A media player engine that decodes each received media data according to each file format and plays back the corresponding device device; 상기 미디어 플레이어 엔진에서 디코딩된 미디어 데이터를 재생하기 위한 디스플레이 엔진으로 구성되는 것을 특징으로 하는 자바를 이용한 동적 멀티미디어 웹 카타로깅 시스템.And a display engine for playing the decoded media data in the media player engine. 웹 브라우저와 자바 버추얼 머신을 포함하는 클라이언트 단말기와 웹서버를 포함하는 서버 시스템이 인터넷망을 통하여 연결된 클라이언트/서버 시스템 환경에서 자바를 이용한 동적 멀티미디어 웹 카타로깅 방법에 있어서,In a dynamic multimedia web cataloging method using Java in a client / server system environment in which a client terminal including a web browser and a Java virtual machine and a server system including a web server are connected through an internet network, 상기 웹 브라우저를 사용하여 서버 시스템의 웹서버에 접속하는 단계와,Accessing a web server of a server system using the web browser; 상기 웹서버로부터 클라이언트 자바 애플릿 정보가 포함된 HTML 카타로그 문서를 자신의 웹 브라우저로 다운 받는 단계와,Downloading an HTML catalog document including client Java applet information from the web server to a web browser thereof; 상기 웹 브라우저에 의해 문서의 HTML 태그를 파싱한 후 자바버추얼 머신을 통해 멀티미디어 웹 카타로깅에 필요한 미디어 데이터들을 동적으로 결합하여 재생시킬 수 있는 동기화 로직을 포함하는 동기화 엔진과, 비디오 서버 엔진으로부터 카타로깅 미디어 데이터 패킷을 스트리밍 방식으로 전달받아 미디어큐에 보관하는 미디어 수신 엔진과, 수신받은 각각의 미디어 데이터들을 각 파일 포맷에 맞게 디코딩하고 해당 장치 디바이스로 재생해주는 미디어 플레이어 엔진과, 상기 미디어 플레이어 엔진에서 디코딩된 미디어 데이터를 재생하기 위한 디스플레이 엔진 기능을 갖는 클라이언트 자바 애플릿 객체를 생성하는 단계와,A synchronization engine including synchronization logic for parsing HTML tags of a document by the web browser and dynamically combining and playing media data required for multimedia web cataloging through a Java virtual machine, and cataloging from a video server engine. A media receiving engine that receives media data packets in a streaming manner and stores them in a media queue, a media player engine that decodes each received media data according to each file format, and plays back the corresponding device device, and decodes the media player engine. Creating a client Java applet object having a display engine function for playing the media data, 상기 웹 브라우저를 통해 사용자 입력을 받아 동기화 엔진으로부터 해당 요구(request)를 발생시켜 웹서버를 통해 서버 시스템으로 그 요구를 전달하는 단계와,Receiving a user input through the web browser, generating a corresponding request from a synchronization engine, and transmitting the request to a server system through a web server; 상기 요구에 따라 비디오 데이터에 대한 요구는 비디오 서버 엔진이 그 내용을 해석하여 웹서버를 통해 클라이언트 자바 애플릿으로 스트리밍해주며, 그외의 오디오, 이미지, 텍스트, HTML 데이터들은 웹서버가 직접 멀티미디어 템플레이트 파일 시스템로부터 읽어 들여 클라이언트 자바 애플릿으로 스트리밍해주는 단계와,According to the above request, the video server engine interprets the contents and streams the contents to the client Java applet through the web server. Other audio, image, text, and HTML data are directly transmitted by the web server to the multimedia template file system. Read from and stream to client Java applets, 카타로깅 미디어 데이터 패킷을 스트리밍 방식으로 전달받아 미디어큐에 보관하는 단계와,Receiving the cataloging media data packet in a streaming manner and storing it in a media queue; 수신받은 각각의 미디어 데이터들을 동기화 엔진의 제어에 따라 미디어 플레이어 엔진에 의해 각 파일 포맷에 맞게 디코딩하고 해당 장치 디바이스로 재생해주는 단계와,Decoding each of the received media data according to the control of the synchronization engine according to each file format by the media player engine and playing back the corresponding device device; 상기 미디어 플레이어 엔진에서 디코딩된 미디어 데이터를 디스플레이 엔진에 의해 재생하는 단계로 구성되는 것을 특징으로 하는 자바를 이용한 동적 멀티미디어 웹 카타로깅 방법.And reproducing the media data decoded by the media player engine by the display engine.
KR1019990041359A 1999-09-27 1999-09-27 System and Method for Web Cataloging Dynamic Multimedia Using Java KR100340169B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019990041359A KR100340169B1 (en) 1999-09-27 1999-09-27 System and Method for Web Cataloging Dynamic Multimedia Using Java
JP2000289704A JP2001167037A (en) 1999-09-27 2000-09-25 System and method for dynamic multimedia web cataloging utilizing java(r)
AU77210/00A AU7721000A (en) 1999-09-27 2000-09-26 System and method for web cataloging dynamic multimedia using java
PCT/US2000/026508 WO2001077897A2 (en) 1999-09-27 2000-09-26 System and method using a web catalog with dynamic multimedia data using java

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
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
KR20010028861A true KR20010028861A (en) 2001-04-06
KR100340169B1 KR100340169B1 (en) 2002-06-10

Family

ID=19612919

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990041359A KR100340169B1 (en) 1999-09-27 1999-09-27 System and Method for Web Cataloging Dynamic Multimedia 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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020064564A (en) * 2001-02-02 2002-08-09 주식회사 크로스다임 Streaming method by moving picture compression method using M-JPEG
KR100358531B1 (en) * 2000-06-09 2002-10-25 (주) 이모션 Method for Inserting and Playing Extended Contents to Multimedia File
KR20040051285A (en) * 2002-12-12 2004-06-18 삼성전자주식회사 Method and apparatus for displaying of markup document linking applet
KR100653610B1 (en) * 2004-09-15 2006-12-04 (주)웹플러스 On-line flash editing system with reinforced function of editing navigation bar
US8769066B2 (en) 2007-10-16 2014-07-01 Samsung Electronics Co., Ltd. Apparatus and method for providing content
KR101416100B1 (en) * 2012-08-07 2014-07-14 인크로스 주식회사 An interface for interworking with javascripts in hybrid web applications
CN112328233A (en) * 2020-10-29 2021-02-05 许继集团有限公司 Visual logic graphical code interpretation and execution method and device
CN112784068A (en) * 2021-01-28 2021-05-11 新华智云科技有限公司 Method and system for managing customized catalogs of media assets

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003103212A2 (en) * 2002-06-04 2003-12-11 Qualcomm Incorporated System for multimedia rendering in a portable device
JPWO2004034698A1 (en) 2002-10-09 2006-02-09 松下電器産業株式会社 Information processing device
US7962937B2 (en) 2006-08-01 2011-06-14 Microsoft Corporation Media content catalog service
JP2009009202A (en) * 2007-06-26 2009-01-15 Bits Co Ltd Provision method for electronic document, and computer program
KR101877034B1 (en) * 2012-10-19 2018-08-09 한국전자통신연구원 System and providing method for multimedia virtual system
CN109218350B (en) * 2017-06-30 2023-05-05 勤智数码科技股份有限公司 Data information resource sharing system and method
CN112019482B (en) * 2019-05-30 2023-02-28 福建天泉教育科技有限公司 Web-based communication method and computer-readable storage medium
CN111460183B (en) * 2020-03-30 2024-02-13 北京金堤科技有限公司 Method and device for generating multimedia file, storage medium and electronic equipment
CN114666514B (en) * 2022-03-18 2024-02-02 稿定(厦门)科技有限公司 Data processing method, device, electronic equipment and storage medium

Family Cites Families (5)

* 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
US6292827B1 (en) * 1997-06-20 2001-09-18 Shore Technologies (1999) Inc. Information transfer systems and method with dynamic distribution of data, control and management of information
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

Cited By (11)

* 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
KR20040051285A (en) * 2002-12-12 2004-06-18 삼성전자주식회사 Method and apparatus for displaying of markup document linking applet
KR100653610B1 (en) * 2004-09-15 2006-12-04 (주)웹플러스 On-line flash editing system with reinforced function of editing navigation bar
US8769066B2 (en) 2007-10-16 2014-07-01 Samsung Electronics Co., Ltd. Apparatus and method for providing content
KR101505519B1 (en) * 2007-10-16 2015-03-25 삼성전자 주식회사 Apparatus and method for providing contents
US9509750B2 (en) 2007-10-16 2016-11-29 Samsung Electronics Co., Ltd. Apparatus and method for providing content
KR101416100B1 (en) * 2012-08-07 2014-07-14 인크로스 주식회사 An interface for interworking with javascripts in hybrid web applications
CN112328233A (en) * 2020-10-29 2021-02-05 许继集团有限公司 Visual logic graphical code interpretation and execution method and device
CN112328233B (en) * 2020-10-29 2024-04-16 许继集团有限公司 Visual logic graphical code interpretation execution method and device
CN112784068A (en) * 2021-01-28 2021-05-11 新华智云科技有限公司 Method and system for managing customized catalogs of media assets

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100340169B1 (en) System and Method for Web Cataloging Dynamic Multimedia Using Java
US7529806B1 (en) Partitioning of MP3 content file for emulating streaming
US6816909B1 (en) Streaming media player with synchronous events from multiple sources
US6715126B1 (en) Efficient streaming of synchronized web content from multiple sources
TW507445B (en) Partitioning of file for emulating streaming
US5956729A (en) Multimedia file, supporting multiple instances of media types, and method for forming same
US6631403B1 (en) Architecture and application programming interfaces for Java-enabled MPEG-4 (MPEG-J) systems
JP4959504B2 (en) System and method for interfacing MPEG coded audio-visual objects capable of adaptive control
US7661060B2 (en) Multimedia reproducing apparatus and method
CN101582926B (en) Method for realizing redirection of playing remote media and system
US8265457B2 (en) Proxy editing and rendering for various delivery outlets
US20140052770A1 (en) System and method for managing media content using a dynamic playlist
US8122344B2 (en) System and method for rapid document conversion
EP3055761B1 (en) Framework for screen content sharing system with generalized screen descriptions
US8127036B2 (en) Remote session media data flow and playback
JP2006520039A (en) Method, data structure, and system for processing a media data stream
EP0909509A1 (en) System and method for generation and interfacing of bitstreams representing mpeg-coded audiovisual objects
CN110996160B (en) Video processing method and device, electronic equipment and computer readable storage medium
England et al. Rave: Real-time services for the web
JP2003288290A (en) File delivery method
JPH09167124A (en) Method and system for expression of framed picture of multimedia product
JPH11328073A (en) Browser and method for simulation
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

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee