KR20050018905A - Method and server system for real-time remote video multicasting - Google Patents

Method and server system for real-time remote video multicasting

Info

Publication number
KR20050018905A
KR20050018905A KR1020050007537A KR20050007537A KR20050018905A KR 20050018905 A KR20050018905 A KR 20050018905A KR 1020050007537 A KR1020050007537 A KR 1020050007537A KR 20050007537 A KR20050007537 A KR 20050007537A KR 20050018905 A KR20050018905 A KR 20050018905A
Authority
KR
South Korea
Prior art keywords
video
image
server
video player
address
Prior art date
Application number
KR1020050007537A
Other languages
Korean (ko)
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 KR1020050007537A priority Critical patent/KR20050018905A/en
Publication of KR20050018905A publication Critical patent/KR20050018905A/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/36Training appliances or apparatus for special sports for golf
    • A63B69/3676Training appliances or apparatus for special sports for golf for putting
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/36Training appliances or apparatus for special sports for golf
    • A63B69/3621Contacting or non-contacting mechanical means for guiding the swing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2210/00Space saving
    • A63B2210/50Size reducing arrangements for stowing or transport

Landscapes

  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PURPOSE: A real-time remote image multicasting method and a server system are provided to reproduce an image in real time, which is supplied from an image server configured on a PC which is not registered in a DNS(Domain Name Service), with only a built-in image reproducer included in a web browser without a stand-alone image reproducer. CONSTITUTION: An image server registers in a relay service(S300). A relay system registers initial image server information in a DB(S305). The image server requests personal web server components(S310), and downloads the web server components from the relay system(S315), then executes a communication program and a personal web server(S320). The image server and the relay system transceive predetermined image server information(S325). The relay system updates the server information in the DB(S330). An image reproducer transmits a network transmission rate value(S335). The relay system collects an mobile IP address, an ID, and a password for the image reproducer(S340), and sends the mobile IP address and a network transmission rate to the image server(S345). The image server registers the received information(S350). The relay system transmits a web page to the image reproducer(S355).

Description

실시간 원격 영상 멀티캐스팅 방법 및 서버 시스템{METHOD AND SERVER SYSTEM FOR REAL-TIME REMOTE VIDEO MULTICASTING}Real-time remote video multicasting method and server system {METHOD AND SERVER SYSTEM FOR REAL-TIME REMOTE VIDEO MULTICASTING}

본 발명은 실시간 원격 영상 멀티캐스팅 방법에 관한 것으로, 더 자세히는 고정 IP 주소가 없고 도메인 네임 서비스(Domain Name Service)에 등록되어 있지 않은 개인용 컴퓨터 상에 구성된 영상 서버에서 제공하는 영상을 별도의 독립 수행(stand-alone) 기능을 하는 영상 재생기 없이도 브라우저에 포함된 빌트인(built-in) 영상 재생기만으로 실시간으로 재생할 수 있는 방법 및 서버 시스템에 관한 것이다. The present invention relates to a real-time remote video multicasting method, and more specifically, to independently perform an image provided by an image server configured on a personal computer that does not have a fixed IP address and is not registered in a domain name service. The present invention relates to a method and a server system that can play in real time using only a built-in video player included in a browser without a video player having a stand-alone function.

현대사회에서 송신자와 수신자간의 통신기술을 이용하여 영상정보를 송수신하는 기술적 방법에는 일반적으로 브로드캐스팅, 유니캐스팅 및 멀티캐스팅이 있다.In the modern society, technical methods of transmitting and receiving image information using a communication technology between a sender and a receiver generally include broadcasting, unicasting, and multicasting.

현대에 이르러 자본과 정보를 집중하여 소유할 수 있는 진영(국가 또는 기업 등)은 고가의 기반시설이 필요한 통신기술을 이용하여 대량의 정보를 일방적으로 일반대중에게 전달하고 있다. 그 시초가 되는 것은 텔레비전 방송을 통하여 흑백조 또는 천연색 영상을 촬영하여 전파를 통해 일반 대중에게 정보를 전달하는 방법이다. 전파의 특성인 전방향성을 이용한 기술은 전파를 수신할 수 있는 주파수 대역의 수신기를 보유한 사람이라면 누구나 전파를 통해 전달되는 영상, 음향 형태의 정보를 수신할 수 있다. 이러한 것을 브로드캐스팅 또는 방송이라고 이른다. 즉, 수신자는 공중에 산재한 전파를 마치 인간이 공기를 마음껏 마시는 것과 같이 누구나 이용할 수 있으므로 원칙적으로 전파는 공공재화와 같은 경제적 성격을 갖는다. 이것을 수학적 기호를 빌어 표현하면 송신자:수신자 = 1:∞로 표현이 가능하다.In modern times, camps (states or corporations) that can concentrate and own capital and information are unilaterally delivering large amounts of information to the general public using communication technologies that require expensive infrastructure. The beginning of the process is a method of photographing black-and-white or color images through television broadcasting and transmitting information to the general public through radio waves. The omnidirectional technology, which is a characteristic of radio waves, allows anyone who has a receiver in a frequency band capable of receiving radio waves to receive information in the form of images and sounds transmitted through radio waves. This is called broadcasting or broadcasting. In other words, since the receiver can use the airwaves scattered in the air as if humans drink the air freely, the radio waves have the same economic characteristics as public goods. This can be expressed using mathematical notation: sender: receiver = 1: ∞.

또한, 몇몇의 공통된 관심사에 대한 정보를 공유하려는 개인간에 현대 통신기술은 일방 또는 양방으로 정보를 전달함으로써 특정의 정보를 제3자에게는 비밀로 하여 서로 송수신할 수 있다. 전파, 전기, 빛 등을 이용한 첨단기술의 등장으로 폐쇄된 특정 네트워크에 연결되거나 특정 암호로 규약된 신호를 이용하면 송신자와 수신자간에 영상과 같은 용량이 매우 큰 정보도 그다지 크지 않은 시설자본만으로도 개인간에 서로 송수신 할 수 있다. 이것 역시 수학적 기호를 빌어 표현하면 송신자:수신자 = 1:1로 표현이 가능하다. 이러한 것을 유니캐스팅이라고 이른다.In addition, modern communication technologies can transfer information to one or both parties secretly to a third party, allowing individuals to share information about some common interests, and to transmit and receive certain information secretly to third parties. With the advent of advanced technologies using radio waves, electricity, and light, when connected to a specific network that is closed or using signals that are coded with a specific code, even large amounts of information such as video are not easily separated between individuals. Can send and receive to each other. This can also be expressed using mathematical notation: sender: receiver = 1: 1. This is called unicasting.

마지막으로, 수학적 기호를 빌어 표현하면 송신자:수신자 = 1:N 또는 M:N이 될 수 있는 멀티캐스팅이 있다. 송신자가 적어도 하나 이상의 수신자에게 같은 정보를 동시에 제공하는 것으로서 브로드캐스팅과 같이 불특정 다수에게 정보를 살포하는 것과는 다르다. 필요로 하는 특정의 정보에 대해 인증을 거치거나 또는 인증을 거치지 않고 소정의 수신자에게 동시에 제공하는 것은 가장 일반적인 경제적 수익구조를 갖는 통신형태이다. Finally, there are multicastings that can be expressed in mathematical notation: sender: recipient = 1: N or M: N. The sender simultaneously provides the same information to at least one or more recipients, which is different from distributing information to an unspecified number of people, such as broadcasting. Simultaneously providing specific recipients with or without authentication for specific information is a form of communication with the most common economic revenue structure.

상기한 브로드캐스팅, 유니캐스팅 및 멀티캐스팅 중 인터넷 상에서는 브로드캐스팅을 수행하는 것은 패킷 스위칭의 기술적인 제약으로 인해 현재로서는 한정적일 수 밖에 없다. 따라서, 현재 인터넷 방송 등과 같이 방송(브로드캐스팅)이란 표현을 사용하는 것은 기술적으로는 정확한 표현이나 명칭이 아니다. 즉, 기술적으로는 1:N 방식의 멀티캐스팅 기술을 이용하고 있지만, 사회 일반에서 사회적 또는 경제적 관용표현으로서 방송(브로드캐스팅) 이란 용어를 사용하고 있는 것이다. Performing broadcasting on the Internet among the above-mentioned broadcasting, unicasting and multicasting is currently limited due to technical limitations of packet switching. Therefore, the use of the expression broadcasting (broadcasting), such as Internet broadcasting, is not technically an exact expression or name. In other words, although technically using 1: N multicasting technology, the term broadcasting (broadcasting) is used as a social or economic idiom in the general society.

따라서, 현재 인터넷상에서 이루어지는 통신기술을 이용하여 영상을 송수신하려면 송신자와 수신자 모두 동일한 로케이션 서버(Location Server)에 등록되어 서로의 위치를 서로 정확히 인식하고 있어야 한다. 그리고 상기한 바와 같이 인터넷상에서 동작하는 PC나 이동 디바이스를 이용하여 원격지에서 영상 멀티캐스팅을 수행하기에는 몇몇 제약이 따른다. 즉, 원하는 영상을 수신하려는 수신자는 자신의 PC나 이동장치 상에서 브라우저만으로 영상을 수신할 수 없다거나, 원격지에서 영상 카메라를 제어할 수 있는 방법이 없다. Therefore, in order to transmit and receive an image using a communication technology currently performed on the Internet, both a sender and a receiver must be registered in the same location server and correctly recognize each other's positions. As described above, there are some restrictions in performing video multicasting remotely using a PC or a mobile device operating on the Internet. That is, the receiver who wants to receive the desired video cannot receive the video only on his PC or mobile device using a browser or there is no way to control the video camera remotely.

또한, 인터넷상에서는 ITU-T(International Telecommunications Union for Telecommunication Standardization Sector)에서 규정한 H.324 나 IETF(Internet Engineering Task Force)의 SIP(Session Initiation Protocol)등의 표준기술을 사용하여 제작되고 웹브라우저와 연동 없이 독립 수행 기능을 하는 영상재생기는 전문시스템으로 이루어진 서버 팜(Server Farm)을 구축해야 하는 번거로움과 고비용이 문제된다.In addition, it is manufactured using standard technologies such as H.324 or Internet Engineering Task Force's SIP (Session Initiation Protocol) as defined by the International Telecommunications Union for Telecommunication Standardization Sector (ITU-T). Video player with independent function without any hassle of trouble and high cost to build a server farm consisting of specialized system.

본 발명의 목적은, 상기한 바와 같은 문제점을 해결하기 위해서 안출된 것으로, 고정 IP 주소가 없고 도메인 네임 서비스(Domain Name Service)에 등록되어 있지 않은 개인용 컴퓨터 상에 구성된 영상 서버에서 제공하는 영상을 별도의 독립 수행(stand-alone) 기능을 하는 영상 재생기 없이도 브라우저에 포함된 빌트인(built-in) 영상 재생기만으로 실시간으로 재생할 수 있는 방법 및 서버 시스템을 제공하는 것이다. An object of the present invention is to solve the problems described above, separate from the image provided by the video server configured on the personal computer does not have a fixed IP address and is not registered in the Domain Name Service (Domain Name Service) It is to provide a method and a server system that can be played in real time with only a built-in video player included in the browser without a video player having a stand-alone function.

상기의 기술적 과제를 해결하기 위하여, 본 발명은 2004.12.20 자로 선출원된 특허출원 제2004-0109031호 "전자상거래 중개방법 및 그 시스템"에서 제시한 네트워크 구성 및 중개시스템의 중개방법에서 제시한 네트워크 아키텍처를 기초로 영상 전송 기술을 응용하여 원격지로 영상을 실시간으로 멀티캐스팅하는 방법 및 서버 시스템을 안출한 것이다. 본 발명에 따른 실시간 영상 원격 멀티캐스팅 방법은 상기 중개시스템으로 암호화된 아이디와 패스워드를 이용하여 서비스에 등록하는 단계;In order to solve the above technical problem, the present invention is a network architecture proposed in the network configuration and the mediation method of the mediation system proposed in Patent Application No. 2004-0109031, filed on December 20, 2004 Based on the video transmission technology based on the present invention, a method and a server system for multicasting a video in real time to a remote site are devised. Real-time video remote multicasting method according to the present invention comprises the steps of registering for the service using the ID and password encrypted with the intermediary system;

상기 중개시스템에 초기 영상 서버 정보가 상기 중개시스템의 DB에 등록된 후, 상기 중개시스템으로부터 프로토타입의 개인 웹서버 구성요소를 요청하는 단계;Requesting a prototype personal web server component from the mediation system after initial image server information is registered in the DB of the mediation system;

상기 중개시스템으로부터 프로토타입의 개인 웹서버 구성요소를 수신하는 단계;Receiving a prototype personal web server component from the mediation system;

상기 수신한 개인 웹서버 구성요소를 이용하여 개인 웹서버를 구축하고 실행하는 단계;Building and executing a personal web server using the received personal web server component;

상기 중개시스템과 유동 IP 주소 등 소정의 영상 서버 정보를 송수신하는 단계;Transmitting / receiving predetermined image server information such as a dynamic IP address with the intermediate system;

상기 중개시스템로부터 영상 서버 정보를 DB에 갱신하는 것을 대기하는 단계;Waiting to update the image server information in the DB from the mediation system;

상기 영상 재생기가 상기 중개시스템의 웹서버에 접속한 후, 미리 등록된 아이디와 패스워드를 이용해 로그인하고 네트워크 전송속도 값을 상기 중개시스템으로 전송하는 것을 대기하는 단계;Waiting for the video player to access the web server of the mediation system, log in using a previously registered ID and password, and transmit a network transmission rate value to the mediation system;

상기 중개시스템으로부터 상기 영상 재생기의 로그인과 동시에, 상기 영상 재생기에 대한 유동 IP 주소, 아이디, 패스워드 및 네트워크 전송속도 값이 상기 중개시스템의 서버측 스크립트에 의해 수집되는 것을 대기하는 단계;Waiting for the dynamic IP address, ID, password, and network transmission rate values for the video player to be collected by a server-side script of the intermediate system at the same time as the video player is logged in from the intermediate system;

상기 중개시스템으로부터 상기 영상 재생기의 유동 IP 주소와 네트워크 전송속도를 수신하는 단계;Receiving a dynamic IP address and a network transmission speed of the video player from the intermediate system;

상기 수신된 정보를 영상 수신자 명단 DB에 갱신하는 단계; 및Updating the received information in an image recipient list DB; And

상기 중계시스템으로부터 상기 영상 재생기로 웹페이지를 전송하는 것을 대기하는 단계를 포함한다.Waiting to send a web page from the relay system to the video player.

여기서, 상기 소정의 영상 서버 정보는 주기적 또는 비주기적으로 송수신되고 상기 웹페이지는 상기 영상 서버의 유동 IP 주소를 사용하는 URL을 포함한다.Here, the predetermined video server information is transmitted or received periodically or aperiodically, and the web page includes a URL using a dynamic IP address of the video server.

또한, 본 발명에 따른 실시간 영상 원격 멀티캐스팅 방법은 상기 영상 재생기로부터 HTTP 요청(Get Request) 메시지를 수신하는 단계;In addition, the real-time video remote multicasting method according to the present invention comprises the steps of: receiving an HTTP request (Get Request) message from the video player;

상기 영상 수신자 명단 DB에서 상기 영상 재생기의 유동 IP 주소를 확인하는 단계;Confirming a dynamic IP address of the video player in the video receiver roster DB;

상기 영상 서버에 연결되어 연동되는 영상 카메라로부터 영상이 촬영되어 생성되는 원시 영상 데이터를 이용하여 소정 개수의 영상 파일들을 형성하는 단계;Forming a predetermined number of image files by using raw image data generated by capturing an image from an image camera connected to the image server and interlocked with the image server;

상기 소정의 영상 파일들을 순차적으로 디코딩한 후 이진코드 데이터를 메모리에 업로드 하는 단계;Sequentially decoding the predetermined image files and uploading binary code data to a memory;

상기 이진코드 데이터의 소정의 인코딩 압축률을 결정하여 인코딩 하는 단계;Determining and encoding a predetermined encoding compression rate of the binary code data;

상기 영상 재생기로 상기 인코딩된 영상 데이터를 HTTP 응답(Response) 메시지 형태로 전송하는 단계;Transmitting the encoded video data in the form of an HTTP response message to the video player;

상기 영상 재생기가 상기 영상 서버로부터 수신되고 있는 영상을 재생하는 것을 대기하는 단계; 및Waiting for the video player to play the video being received from the video server; And

네트워크 혼잡에 따라 이진코드 데이터를 읽을 경우 비동기화된 읽기 포인터와 쓰기 포인터를 임의적으로 동기화하는 단계를 더 포함한다.Randomly synchronizing the unsynchronized read pointer and the write pointer when reading the binary code data according to network congestion.

여기서, 상기 HTTP 요청(Get Request) 메시지는 상기 중개시스템에서 제공한 상기 영상 서버의 상기 URL을 포함하는 웹페이지를 이용하고, 상기 소정 개수의 영상 파일들은 소정의 포맷으로 형성되고, 상기 소정의 인코딩 압축률은 상기 중개시스템으로부터 수신한 전송속도 값에 따라 결정되고, 상기 영상 데이터는 HTTP/1.1 전송 인코딩 방법의 하나인 청크드(chunked) 인코딩 방법 또는 콘텐츠 크기(Content-Length)를 특정하지 않는 스트리밍 방법을 이용하고, 상기 영상 재생기는 웹브라우저에 디폴트로 장착된다.Here, the HTTP request message is obtained by using a web page including the URL of the video server provided by the mediation system, and the predetermined number of video files are formed in a predetermined format, and the predetermined encoding is used. The compression rate is determined according to a transmission rate value received from the intermediary system, and the video data is a chunked encoding method, which is one of HTTP / 1.1 transmission encoding methods, or a streaming method that does not specify a content-length. By using, the video player is installed by default in the web browser.

고정 IP 주소와 도메인 네임 서비스를 이용하지 않고 영상 재생기로 중개시스템을 통하여 실시간 영상 원격 멀티캐스팅 서버 시스템에는 정보를 저장하고 있는 메모리 및 상기 메모리에 결합되어 있는 프로세서를 포함하되,Real-time video remote multicasting server system through a mediation system to a video player without using a fixed IP address and domain name service includes a memory storing information and a processor coupled to the memory,

상기 프로세서는, 상기 중개시스템으로 암호화된 아이디와 패스워드를 이용하여 서비스에 등록하는 단계;The processor may register with a service using an ID and a password encrypted by the intermediary system;

상기 중개시스템에 초기 영상 서버 정보가 상기 중개시스템의 DB에 등록된 후, 상기 중개시스템으로부터 프로토타입의 개인 웹서버 구성요소를 요청하는 단계;Requesting a prototype personal web server component from the mediation system after initial image server information is registered in the DB of the mediation system;

상기 중개시스템으로부터 프로토타입의 개인 웹서버 구성요소를 수신하는 단계;Receiving a prototype personal web server component from the mediation system;

상기 수신한 개인 웹서버 구성요소를 이용하여 개인 웹서버를 구축하고 실행하는 단계;Building and executing a personal web server using the received personal web server component;

상기 중개시스템과 유동 IP 주소 등 소정의 영상 서버 정보를 송수신하는 단계;Transmitting / receiving predetermined image server information such as a dynamic IP address with the intermediate system;

상기 중개시스템로부터 영상 서버 정보를 DB에 갱신하는 것을 대기하는 단계;Waiting to update the image server information in the DB from the mediation system;

상기 영상 재생기가 상기 중개시스템의 웹서버에 접속한 후, 미리 등록된 아이디와 패스워드를 이용해 로그인하고 네트워크 전송속도 값을 상기 중개시스템으로 전송하는 것을 대기하는 단계;Waiting for the video player to access the web server of the mediation system, log in using a previously registered ID and password, and transmit a network transmission rate value to the mediation system;

상기 중개시스템으로부터 상기 영상 재생기의 로그인과 동시에, 상기 영상 재생기에 대한 유동 IP 주소, 아이디, 패스워드 및 네트워크 전송속도 값이 상기 중개시스템의 서버측 스크립트에 의해 수집되는 것을 대기하는 단계;Waiting for the dynamic IP address, ID, password, and network transmission rate values for the video player to be collected by a server-side script of the intermediate system at the same time as the video player is logged in from the intermediate system;

상기 중개시스템으로부터 상기 영상 재생기의 유동 IP 주소와 네트워크 전송속도를 수신하는 단계;Receiving a dynamic IP address and a network transmission speed of the video player from the intermediate system;

상기 수신된 정보를 영상 수신자 명단 DB에 갱신하는 단계; 및Updating the received information in an image recipient list DB; And

상기 중계시스템으로부터 상기 영상 재생기로 웹페이지를 전송하는 것을 대기하는 단계를 실행한다.Waiting to transmit a web page from the relay system to the video player.

여기서, 상기 소정의 영상 서버 정보는 주기적 또는 비주기적으로 송수신되고, 상기 웹페이지는 상기 영상 서버의 유동 IP 주소를 사용하는 URL을 포함한다.Here, the predetermined image server information is transmitted or received periodically or aperiodically, and the web page includes a URL using a dynamic IP address of the image server.

또한, 본 발명에 따른 실시간 영상 원격 멀티캐스팅 방법은 상기 영상 재생기로부터 HTTP 요청(Get Request) 메시지를 수신하는 단계;In addition, the real-time video remote multicasting method according to the present invention comprises the steps of: receiving an HTTP request (Get Request) message from the video player;

상기 영상 수신자 명단 DB에서 상기 영상 재생기의 유동 IP 주소를 확인하는 단계;Confirming a dynamic IP address of the video player in the video receiver roster DB;

상기 영상 서버에 연결되어 연동되는 영상 카메라로부터 영상이 촬영되어 생성되는 원시 영상 데이터를 이용하여 소정 개수의 영상 파일들을 형성하는 단계;Forming a predetermined number of image files by using raw image data generated by capturing an image from an image camera connected to the image server and interlocked with the image server;

상기 소정의 영상 파일들을 순차적으로 디코딩한 후 이진코드 데이터를 메모리에 업로드 하는 단계;Sequentially decoding the predetermined image files and uploading binary code data to a memory;

상기 이진코드 데이터의 소정의 인코딩 압축률을 결정하여 인코딩 하는 단계;Determining and encoding a predetermined encoding compression rate of the binary code data;

상기 영상 재생기로 상기 인코딩된 영상 데이터를 HTTP 응답(Response) 메시지 형태로 전송하는 단계;Transmitting the encoded video data in the form of an HTTP response message to the video player;

상기 영상 재생기가 상기 영상 서버로부터 수신되고 있는 영상을 재생하는 것을 대기하는 단계; 및Waiting for the video player to play the video being received from the video server; And

네트워크 혼잡에 따라 이진코드 데이터를 읽을 경우 비동기화된 읽기 포인터와 쓰기 포인터를 임의적으로 동기화하는 단계를 더 포함한다.Randomly synchronizing the unsynchronized read pointer and the write pointer when reading the binary code data according to network congestion.

여기서, 상기 HTTP 요청(Get Request) 메시지는 상기 중개시스템에서 제공한 상기 영상 서버의 상기 URL을 포함하는 웹페이지를 이용하고, 상기 소정 개수의 영상 파일들은 소정의 포맷으로 형성되고, 상기 소정의 인코딩 압축률은 상기 중개시스템으로부터 수신한 네트워크 전송속도 값에 따라 결정되며, 상기 영상 데이터는 HTTP/1.1 전송 인코딩 방법의 하나인 청크드(chunked) 인코딩 방법 또는 콘텐츠 크기(Content-Length)를 특정하지 않는 스트리밍 방법을 이용하고, 상기 영상 재생기는 웹브라우저에 디폴트로 장착되어 있다.Here, the HTTP request message is obtained by using a web page including the URL of the video server provided by the mediation system, and the predetermined number of video files are formed in a predetermined format, and the predetermined encoding is used. The compression rate is determined according to a network transmission rate value received from the intermediary system, and the video data is a stream that does not specify a chunked encoding method or a content-length that is one of HTTP / 1.1 transmission encoding methods. Using the method, the video player is installed by default in a web browser.

또한, 고정 IP 주소와 도메인 네임 서비스를 이용하지 않고 영상 재생기로 중개시스템을 통하여 실시간 영상 원격 멀티캐스팅 서버 시스템은 상기 중개시스템으로부터 제공받은 영상 재생기의 유동 IP 주소와 네트워크 속도 등을 저장하는 영상 수신자 명단 DB;In addition, the real-time video remote multicasting server system stores a dynamic IP address and network speed of the video player provided from the intermediary system through a mediation system using a video player without using a fixed IP address and domain name service. DB;

상기 영상 재생기로 영상을 송신하는 과정에서 일어나는 이벤트, 송신 시작시간, 송신 종료시간, 송신 완료율 등의 정보가 저장되는 상기 영상 전송 상태 DB; The image transmission state DB storing information such as an event occurring in the process of transmitting an image to the image player, a transmission start time, a transmission end time, a transmission completion rate, and the like;

영상을 촬영하는 영상 카메라;An image camera for taking an image;

상기 영상 카메라로부터 촬영된 영상을 소정의 포맷으로 파일화하는 인코딩 모듈; An encoding module for filing an image captured by the image camera into a predetermined format;

상기 인코딩 모듈로부터 형성된 적어도 하나의 파일을 이진코드로 데이터화 하는 디코딩 모듈; A decoding module for converting at least one file formed from the encoding module into binary code;

상기 중개시스템의 웹서버 접속부 및 영상 재생기가 빌트인으로 제공되는 웹브라우저와 월드 와이드 웹(World Wide Web) 방식으로 통신하는 웹서버 접속부;A web server connection unit for communicating with a web browser provided with a built-in web server connection unit and a video player of the intermediary system in a world wide web manner;

상기 중개시스템으로부터 제공받은 개인 웹서버 구성요소를 활용하여 구축되고 상기 영상 재생기가 빌트인으로 제공되는 웹브라우저로 영상 제공이 가능한 형식의 웹페이지를 송신하는 개인 웹서버; A personal web server constructed by utilizing a personal web server component provided from the mediation system and transmitting a web page in a format capable of providing an image to a web browser provided with the built-in video player;

상기 영상 카메라, 인코딩 모듈, 디코딩 모듈 및 개인 웹서버와 연동되는 프로세스를 총괄 제어하는 상기 영상 전송 제어부;The image transmission control unit which collectively controls a process associated with the image camera, an encoding module, a decoding module, and a personal web server;

상기 중개시스템의 통신 프로세스와 통신 프로토콜 접속부를 통하여 소정의 통신 프로토콜에 의해 주기적 또는 비주기적으로 상기 영상 서버 및 영상 재생기의 정보를 송수신하는 통신 프로그램을 포함한다. And a communication program for transmitting and receiving information of the video server and the video player periodically or aperiodically by a predetermined communication protocol through a communication process and a communication protocol connection unit of the intermediate system.

또한, 영상 서버에 연동되는 카메라로 촬영하여 생성되는 영상 데이터를 원격지에 있는 영상 재생기로 송신하기 위해 상기 영상 서버 내에서의 수행되는 실시간 영상 전송 제어 방법은 상기 카메라로부터 원시 영상 데이터를 수집하는 단계;In addition, the real-time image transmission control method performed in the image server to transmit the image data generated by shooting with a camera linked to the image server to a remote image player comprises the steps of: collecting raw image data from the camera;

상기 수집된 원시 영상 데이터를 연속적으로 소정 개수의 파일들로 형성하는 단계;Continuously forming the collected raw image data into a predetermined number of files;

상기 소정 개수의 파일들을 차례로 이진코드로 디코딩하는 단계;Decoding the predetermined number of files in binary code one after the other;

상기 디코딩된 이진코드를 메모리에 업로드 하는 단계; Uploading the decoded binary code into a memory;

상기 메모리에 업로드된 이진코드의 읽기 포인터와 쓰기 포인터를 동기화하는 단계;Synchronizing a read pointer and a write pointer of the binary code uploaded to the memory;

상기 영상 서버 내에 저장된 네트워크 전송속도 값에 따라 인코딩 압축률을 결정하는 단계;Determining an encoding compression rate according to a network transmission rate value stored in the video server;

상기 메모리에 업로드된 이진코드를 영상 데이터로 인코딩하는 단계;Encoding the binary code uploaded into the memory into image data;

상기 인코딩된 영상 데이터를 네트워크에 연결된 상기 영상 재생기로 전송하는 단계; 및Transmitting the encoded image data to the image player connected to a network; And

상기 네트워크 혼잡상태에 따라 상기 읽기 포인터와 쓰기 포인터가 비동기화되는 경우에 격차를 의도적으로 동기화하는 단계를 포함한다. And intentionally synchronizing the gaps when the read pointer and the write pointer are out of sync according to the network congestion.

여기서, 상기 파일들은 소정 포맷으로 형성되고, 상기 영상 데이터는 소정 포맷으로 형성되며, 상기 영상 데이터는 HTTP/1.1 전송 인코딩 방법의 하나인 청크드(chunked) 인코딩 방법 또는 콘텐츠 크기(Content-Length)를 특정하지 않는 스트리밍 방법을 이용하여 전송된다.Here, the files are formed in a predetermined format, the video data is formed in a predetermined format, and the video data includes a chunked encoding method or a content-length that is one of HTTP / 1.1 transport encoding methods. It is transmitted using an unspecified streaming method.

이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세히 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 원격 영상 멀티캐스팅이 이루어지는 방법을 개략적으로 도시한 네트워크 구성도이다.1 is a network diagram schematically showing a method of remote video multicasting according to the present invention.

도 1을 참조하면, 본 발명에 따른 원격 영상 멀티캐스팅 방법은 인터넷을 통하여 원격지로 영상을 전송하는 영상 서버(100)와 인터넷을 통하여 원격지로부터 영상을 수신하는 영상 재생기(110)간에 이루어 지며, 중개시스템(120)은 상기 영상 서버(100)와 상기 영상 재생기(110)간에 원격 영상 멀티캐스팅이 이루어 지도록 중개 역할을 수행한다. Referring to FIG. 1, a remote video multicasting method according to the present invention is performed between an image server 100 for transmitting an image to a remote place through the Internet and an image player 110 for receiving an image from a remote place through the Internet. The system 120 acts as an intermediary for remote video multicasting between the video server 100 and the video player 110.

상기 중개시스템(120)은 소정의 데이터베이스(Database, 이하 "DB"라 한다.)를 구비하고, 웹서버가 연동되어 중개 웹페이지를 운영한다. 또한, 상기 중개시스템(120)은 상기 중개 웹서버를 통하여 상기 영상 서버(100)와 영상 서버 정보들을 송수신하여 데이터베이스에 갱신한다. 상기 영상 서버 정보들은 유동 IP 주소, 특정한 인터넷 서비스가 실행되고 있는 디렉토리명과 상기 영상 서버(100)에서 실행되고 있는 통신프로그램의 버전 등이 바람직하다. 상기 중개시스템(120)의 소정의 웹사이트는 일반인이 특정 인터넷 서비스에 대한 내용을 검색하거나 커뮤니티 등을 형성하는 포털로서 기능을 할 수도 있다.The mediation system 120 has a predetermined database (hereinafter referred to as "DB"), and a web server is linked to operate an intermediary web page. In addition, the mediation system 120 transmits / receives the image server information with the image server 100 through the mediation web server and updates it in a database. The video server information is preferably a floating IP address, a directory name on which a particular Internet service is executed, a version of a communication program running on the video server 100, and the like. The predetermined website of the intermediary system 120 may also function as a portal for the general public to search for a specific Internet service or to form a community.

상기 영상 서버(100)와 전자상거래 중개시스템(120)은 소정의 통신 프로토콜(250)을 통해 영상 서버 정보를 주기적으로 교환하게 되며, 상기 중개시스템(120)과 연동되는 소정의 데이터베이스에 상기 영상 서버 정보를 이벤트가 발생할 때마다 갱신한다. The video server 100 and the electronic commerce intermediary system 120 periodically exchanges video server information through a predetermined communication protocol 250, and the video server in a predetermined database interworking with the mediation system 120. Update the information each time an event occurs.

상기 영상 서버(100)는 고정 IP 주소와 도메인 네임 서비스를 이용하지 않고, 유동 IP 주소만으로 운영된다. 상기 영상 서버(100)는 PC상에 상기 중개시스템(120)으로부터 제공받은 프로토타입의 웹서버 구성요소와 통신프로그램을 연동하여 영상을 전송할 수 있는 시스템 환경을 구비한다. The video server 100 does not use a fixed IP address and a domain name service, but operates only with a floating IP address. The image server 100 has a system environment for transmitting images by interworking a communication program with a prototype web server component provided from the mediation system 120 on a PC.

상기 영상 재생기(110)는 PC, PDA 스마트폰 등에서 실행되는 일반적인 웹브라우저를 이용하여 상기 중개시스템(120)에서 제공하는 영상 서버 정보를 확인한다. 웹브라우저에 포함된 상기 영상 재생기(110)는 영상 서버(100)로 영상 전송을 요구하면 실시간으로 영상정보를 수신하여 재생한다. The video player 110 checks the video server information provided by the mediation system 120 using a general web browser running on a PC, PDA smartphone, or the like. The image player 110 included in the web browser receives and reproduces the image information in real time when the image server 100 requests the image transmission.

도 2는 본 발명의 일실시예에 따른 영상 서버, 영상 재생기 및 중개시스템의 블록 다이어그램을 나타낸 도면이다.2 is a block diagram of a video server, a video player, and an intermediary system according to an embodiment of the present invention.

도 2를 참조하면, 상기 영상 서버(100)는 영상 수신자 명단 DB(200), 영상 전송 상태 DB(205), 영상 카메라(210), 인코딩 모듈(215), 디코딩 모듈(220), 웹서버 접속부(225), 통신 프로토콜 접속부(230), 개인 웹서버(235), 영상 전송 제어부(240) 및 통신 프로그램(245)을 포함한다. Referring to FIG. 2, the video server 100 includes a video recipient list DB 200, a video transmission status DB 205, a video camera 210, an encoding module 215, a decoding module 220, and a web server access unit. 225, a communication protocol connection unit 230, a personal web server 235, an image transmission control unit 240, and a communication program 245.

상기 영상 수신자 명단 DB(200)는 상기 중개시스템(120)으로부터 제공받은 영상 재생기(110)의 유동 IP 주소와 네트워크 속도 등이 저장된다. 상기 영상 전송 상태 DB(205)는 상기 영상 서버(100)가 상기 영상 재생기(110)로 영상을 송신하는 과정에서 일어나는 이벤트, 송신 시작시간, 송신 종료시간, 송신 완료율 등의 정보가 저장된다. The video recipient list DB 200 stores the dynamic IP address and network speed of the video player 110 provided from the mediation system 120. The image transmission state DB 205 stores information such as an event, a transmission start time, a transmission end time, a transmission completion rate, and the like, which occur while the image server 100 transmits an image to the image player 110.

상기 영상 카메라(210)는 실시간으로 영상을 촬영하며 상기 영상 전송 제어부(240)에 의해 제어된다. The image camera 210 captures an image in real time and is controlled by the image transmission control unit 240.

상기 인코딩 모듈(215)은 상기 영상 카메라(210)로부터 촬영된 영상을 소정의 포맷으로 파일화하며 상기 영상 전송 제어부(240)에 의해 제어된다. The encoding module 215 files the image captured by the image camera 210 in a predetermined format and is controlled by the image transmission control unit 240.

상기 디코딩 모듈(220)은 상기 인코딩 모듈(215)로부터 형성된 적어도 하나의 파일을 이진코드로 데이터화 하며 상기 영상 전송 제어부(240)에 의해 제어된다.The decoding module 220 converts at least one file formed from the encoding module 215 into a binary code and is controlled by the image transmission control unit 240.

상기 웹서버 접속부(225)는 중개시스템(120)의 웹서버 접속부(250) 및 영상 재생기(110)가 빌트인으로 제공되는 웹브라우저와 월드 와이드 웹(World Wide Web) 방식으로 통신한다.The web server connecting unit 225 communicates with a web browser provided with a built-in web server connecting unit 250 and the image player 110 of the mediation system 120 in a world wide web manner.

상기 개인 웹서버(235)는 상기 중개시스템(120)으로부터 제공받은 개인 웹서버 구성요소를 활용하여 구축되고 상기 영상 재생기(110)가 빌트인으로 제공되는 웹브라우저로 영상 제공이 가능한 형식의 웹페이지를 송신한다. 또한, 상기 개인 웹서버(235)는 자체 인코딩 모듈을 포함한다.The personal web server 235 is constructed by utilizing a personal web server component provided from the mediation system 120, and the video player 110 is provided with a web page of a format capable of providing an image to a web browser provided built-in Send. The personal web server 235 also includes its own encoding module.

상기 영상 전송 제어부(240)는 상기 영상 서버(100)내에서 영상의 촬영, 인코딩, 디코딩 및 웹서버와 연동되는 프로세스를 총괄 제어한다.The image transmission control unit 240 collectively controls a process of interlocking with the image capturing, encoding, decoding, and web server in the image server 100.

상기 영상 서버(100)의 통신 프로그램(245)은 상기 중개시스템(120)의 통신 프로세스(275)와 통신 프로토콜 접속부(230, 280)를 통하여 소정의 통신 프로토콜에 의해 주기적 또는 비주기적으로 영상 서버(100) 및 영상 재생기(110)의 정보를 송수신한다.The communication program 245 of the video server 100 may periodically or aperiodically perform a predetermined communication protocol through a communication process 275 of the intermediate system 120 and a communication protocol connection unit 230 and 280. 100) and the information of the video player 110 is transmitted and received.

상기 중개시스템(120)은 웹서버 접속부(250), 서버측 스크립트(255), 개인 웹서버 구성요소 DB(260), 통신 프로그램 DB(265), 회원정보 DB(270), 통신 프로세스(275) 및 통신 프로토콜 접속부(280)를 포함한다. The mediation system 120 includes a web server connection unit 250, a server side script 255, a personal web server component DB 260, a communication program DB 265, a member information DB 270, and a communication process 275. And communication protocol connection 280.

상기 중개시스템(120)의 서버측 스크립트(255)는 영상 서버(100) 또는 영상 재생기(110)가 빌트인으로 제공되는 웹브라우저를 통해 송수신된 정보를 프로세싱하여 소정의 DB에 저장하는 기능을 한다.The server-side script 255 of the mediation system 120 functions to process the information transmitted and received through the web browser provided by the video server 100 or the video player 110 in a predetermined DB and store the information in a predetermined DB.

상기 중개시스템(120)의 통신 프로세스(275)는 상기 영상 서버(100)의 통신 프로그램(245)과 통신 프로토콜 접속부(340, 375)를 통하여 도 1에 도시된 통신 프로토콜에 의해 주기적 또는 비주기적으로 영상 서버(100)의 정보를 송수신한다.The communication process 275 of the mediation system 120 is periodically or aperiodically established by the communication protocol shown in FIG. 1 through the communication program 245 and the communication protocol connection units 340 and 375 of the image server 100. Transmits and receives information of the video server 100.

상기 중개시스템(120)의 웹서버 접속부(250)는 영상 서버(100)의 웹서버 접속부(225) 및 상기 영상 재생기(110)가 빌트인으로 제공되는 웹브라우저와 월드 와이드 웹(World Wide Web) 방식으로 통신한다.The web server connection unit 250 of the mediation system 120 is a web browser and a world wide web system in which the web server connection unit 225 of the image server 100 and the video player 110 are built-in. Communicate with

상기 중개시스템(120)의 통신 프로그램 DB(265)에는 상기 영상 서버(100)로 제공하는 통신 프로그램(245)이 저장된다. 상기 중개시스템(120)의 회원 정보 DB(270)에는 회원 정보(유동 IP 주소, 특정한 인터넷 서비스가 실행되고 있는 디렉토리명, 영상 서버에서 실행되고 있는 통신프로그램의 버전 등)가 저장된다. 상기 중개시스템(120)의 프로토타입의 개인 웹서버 구성요소 DB(260)에는 상기 영상 서버(100)로 제공하는 프로토타입의 개인 웹서버 구성요소가 저장된다. The communication program 245 provided to the video server 100 is stored in the communication program DB 265 of the mediation system 120. The member information DB 270 of the mediation system 120 stores member information (a floating IP address, a directory name on which a specific Internet service is executed, a version of a communication program executed on an image server, etc.). The prototype personal web server component DB 260 of the mediation system 120 stores the prototype personal web server component provided to the image server 100.

상기 영상 재생기(110)는 일반적으로 마이크로소프트사 등의 웹브라우저에 빌트인(built-in) 형태로 제공되는 것으로서 상기 중개시스템(120)을 통하여 유동 IP 주소만으로 운영되는 상기 영상 서버(100)로부터 영상을 제공받는다. The video player 110 is generally provided in a built-in form to a web browser such as Microsoft Corporation. The video player 110 operates from a video server 100 operated only through a dynamic IP address through the intermediary system 120. To be provided.

도 3은 본 발명에 따른 영상 서버, 중개시스템 및 영상 재생기간의 영상 데이터를 송수신하기 위해 선행되는 통신 프로세스를 나타낸 플로우차트이다.3 is a flowchart showing a communication process that is preceded to transmit and receive video data of a video server, an intermediary system, and a video reproduction period according to the present invention.

도 3을 참조하면, 상기 영상 서버는 상기 중개시스템으로 암호화된 아이디와 패스워드를 사용하여 중개서비스에 등록한다(s300). 상기 중개시스템은 상기 영상 서버의 초기 영상 서버 정보를 DB에 등록한다(s305). 상기 영상 서버는 프로토타입의 개인 웹서버 구성요소를 상기 중개시스템으로부터 요청한다(s310). 상기 영상 서버는 상기 웹서버 구성요소 등을 상기 중개시스템으로부터 내려 받는다(s315). 상기 영상 서버는 상기 중개시스템으로부터 내려 받은 통신 프로그램 및 개인 웹서버를 실행한다(s320). 상기 영상 서버와 상기 중개시스템은 상기 영상 서버의 유동 IP 주소 등 소정의 영상 서버 정보를 주기적 또는 비주기적으로 송수신한다(s325). 상기 중개시스템은 상기 소정의 영상 서버 정보를 DB에 갱신한다(s330). 상기 영상 재생기가 상기 중개시스템의 웹서버에 접속한 후, 상기 영상 서버로부터 전달 받은 아이디와 패스워드를 이용해 로그인하고 네트워크 전송속도 값을 전송한다(s335). 상기 중개시스템은 상기 영상 재생기의 로그인과 동시에 상기 영상 재생기에 대한 유동 IP 주소, 아이디 및 패스워드가 서버측 스크립트에 의해 중개시스템에서 수집된다(s340). 상기 중개시스템은 상기 영상 재생기의 유동 IP 주소와 네트워크 전송속도를 상기 영상 서버로 전송한다(s345). 상기 영상 서버는 상기 영상 재생기의 유동 IP 주소 등을 영상 수신자 명단 DB에 등록한다(s350). 상기 중개시스템은 영상 서버의 유동 IP 주소를 사용하는 URL을 포함하는 웹페이지를 상기 영상 재생기로 전송한다(s355).Referring to FIG. 3, the video server registers with a mediation service using an ID and password encrypted with the mediation system (S300). The mediation system registers initial image server information of the image server in a DB (s305). The video server requests a prototype personal web server component from the intermediary system (s310). The video server downloads the web server component and the like from the mediation system (S315). The video server executes a communication program and a personal web server downloaded from the mediation system (S320). The video server and the mediation system periodically transmit or receive predetermined video server information such as a dynamic IP address of the video server periodically or aperiodically (S325). The mediation system updates the predetermined video server information in a DB (S330). After the video player accesses the web server of the mediation system, the user logs in using the ID and password received from the video server and transmits a network transmission rate value (s335). In the mediation system, at the same time as the login of the video player, the dynamic IP address, ID and password for the video player are collected in the mediation system by a server-side script (s340). The intermediary system transmits the dynamic IP address and the network transmission speed of the video player to the video server (S345). The video server registers the dynamic IP address of the video player in the video recipient list DB (S350). The intermediary system transmits the web page including the URL using the dynamic IP address of the video server to the video player (S355).

상기 통신 프로토콜은 TCP(Transmission Control Protocol)의 비공식(Non Public) 포트 중의 하나를 임의로 사용하거나, 보안상 TCP 포트 443을 이용한 SSL(Secure Sockets Layer) 프로토콜을 사용할 수 있다. 상기 통신 프로토콜에 의해 교환되는 대표적인 정보들은 영상 서버의 아이디 및 패스워드와, 중개시스템 소프트웨어가 업그레이드될 때 마다 통신 프로토콜이 변화될 수 있는 통신 프로그램 버전 넘버와, 영상 서버가 부팅될 때마다 인터넷 서비스 제공자로부터 새로 부여 받는 유동 IP 주소 등이다. 따라서, 상기 영상 서버의 통신 프로그램과 중개시스템의 통신 프로세스는 TCP 프로토콜의 내용을 구문분석함으로서 서로 어떤 정보를 송수신했는지 알 수 있다. The communication protocol may randomly use one of the non-public ports of the transmission control protocol (TCP), or may use the secure sockets layer (SSL) protocol using the TCP port 443 for security. Representative information exchanged by the communication protocol includes the ID and password of the video server, the communication program version number where the communication protocol can be changed each time the intermediate system software is upgraded, and the Internet service provider each time the video server is booted. The newly assigned floating IP address. Accordingly, the communication program of the video server and the communication process of the intermediary system can know what information is transmitted and received by parsing the contents of the TCP protocol.

한편, 상기 중개시스템에서 실행되고 있는 통신 프로세스는 상기 영상 서버의 통신 프로그램으로부터 접속된 경우 TCP 콘텐츠를 구문분석한다. 그 후, 아이디와 패스워드가 미리 등록된 영상 서버와 일치할 경우, 영상 서버 정보를 모두 수신하고 영상 서버에 대한 데이터베이스를 갱신하게 된다. 이 때, 영상 서버로부터의 마지막 정보는 메시지 종료(End of Message) 정보이며, 이를 감지한 통신 프로세스는 역시 메시지의 종료를 영상 서버로 보낸 후에 영상 서버와의 접속을 종료할 수 있다. On the other hand, the communication process executed in the mediation system parses the TCP content when connected from the communication program of the video server. Thereafter, when the ID and password match the pre-registered video server, all the video server information is received and the database for the video server is updated. At this time, the last information from the video server is end of message information, and the communication process that has sensed this may also terminate the connection with the video server after sending the end of the message to the video server.

상기 영상 서버는 주기적으로 또는 비주기적으로 이벤트 선택 모델(Select Model)에 의해서 영상 서버에 어떤 이벤트가 발생했을 때 모든 정보들을 중개시스템의 통신 프로세스로 송신한다. 그 후, 상기 영상 서버는 중개시스템의 통신 프로세스로부터 접속 요청이 있을 때까지 듣기상태(Listen State)로 있어야 한다. The video server periodically or aperiodically transmits all information to a communication process of an intermediary system when an event occurs in the video server by an event selection model. Thereafter, the video server must be in a listening state until a connection request is received from the communication process of the intermediary system.

또한, 상기 영상 서버의 통신 프로그램은 중개시스템의 통신 프로세스와 정보를 교환한 후 듣기 상태로 있으며, 상기 중개시스템의 통신 프로세스가 어떤 정보를 영상 서버에게 전달하기를 원할 때는 상기 중개시스템의 통신 프로세스가 영상 서버의 통신 프로그램으로 TCP 접속 요청을 한다. 상기 영상 서버의 통신 프로그램은 TCP 콘텐츠를 구문분석함으로서 중개시스템의 통신 프로세스로부터의 정보를 받을 수 있으며, 정보의 유형에 따라서 어떤 특정한 통신 프로그램을 전달 받은 파라미터와 함께 시작하거나 종료할 수 있다. 또한, 상기 영상 서버의 통신 프로그램은 이미 실행되고 있는 통신 프로그램의 실행 방법도 변경 시킬 수 있다.In addition, the communication program of the video server is in a listening state after exchanging information with the communication process of the intermediary system, and when the communication process of the intermediary system wants to transmit some information to the video server, Request TCP connection to the communication program of the video server. The communication program of the video server may receive information from the communication process of the intermediary system by parsing the TCP content, and may start or end with a parameter received from a specific communication program according to the type of information. In addition, the communication program of the video server may change the execution method of the communication program that is already executed.

만약 상기 영상 서버가 인터넷 서비스 제공자로부터 새로운 유동 IP 주소를 부여 받는 네트워크 이벤트가 발생하거나, 영상 서버가 임의로 특정 서비스를 변경시키는 이벤트 등이 발생하면, 상기 영상 서버의 통신 프로그램은 다시 중개시스템의 통신 프로세스와 상기 정보들을 교환하게 된다. If a network event in which the video server receives a new dynamic IP address from an Internet service provider occurs, or an event in which the video server arbitrarily changes a specific service occurs, the communication program of the video server again communicates with the intermediary system. And exchange the above information.

또한, 상기 통신 프로그램은 상기 정보에 따라서 상기 영상 서버에서 이미 실행되고 있는 서비스를 변화시키거나, 상기 영상 서버의 통신 프로그램과 상기 중개시스템에서 실행중인 통신 프로세스와 파라미터를 송수신한다. In addition, the communication program changes a service already executed in the video server according to the information, or transmits / receives a communication program and a parameter with a communication process running in the mediation system.

따라서, 영상 서버의 통신 프로그램이 설치 될 경우에는 여러 가지 초기화 변수(예컨대, 개인용 컴퓨터 상에 구현 하고자 하는 서비스, 또는 통신 프로세스와의 통신 간격 등)들이 입력될 수 있어야 한다. 상기 초기 변수에 의해서, 영상 서버에서 특정한 인터넷 서비스를 시작하거나 종료하고, 그 후 통신 프로그램과 특정한 인터넷 서비스 프로그램은 이벤트 선택 모델과 상태 머신(state machine)을 이용하여 서로의 상태를 상대방에게 알릴 수 있다. (예컨대, 인터넷 서비스 제공자로부터 새로운 유동 IP 주소를 제공 받는 이벤트는 상기 프로그램들의 특정한 상태를 변화시키게 된다. 통신 프로그램은 이러한 새로운 유동 IP 주소를 통신 프로토콜을 통하여 중개시스템의 통신 프로세스로 전달한다.) Therefore, when a communication program of an image server is installed, various initialization variables (eg, a service to be implemented on a personal computer, a communication interval with a communication process, etc.) should be able to be input. By the initial variable, the video server starts or terminates a specific Internet service, and then the communication program and the specific Internet service program can inform each other of the state of each other by using an event selection model and a state machine. . (For example, an event receiving a new floating IP address from an Internet service provider will change the specific state of the programs. The communication program delivers this new floating IP address to the communication process of the intermediary system via the communication protocol.)

도 4는 본 발명에 따라 도 3에 도시된 영상 데이터를 송수신하도록 선행되는 통신 프로세스가 완료된 후에 영상 서버로부터 영상 재생기로 영상을 실시간으로 전송하는 과정에서 발생하는 시그널링을 나타낸 도면이다. FIG. 4 is a diagram illustrating signaling generated in a process of transmitting an image in real time from an image server to an image player after a communication process preceding to transmit and receive image data shown in FIG. 3 is completed according to the present invention.

도 4를 참조하면, 상기 영상 서버(420)로부터 상기 영상 재생기(430)로 영상 스트림을 송신하기 위해 상기 영상 서버(420)와 상기 영상 재생기(430)간에는 서로 셋업, 재생요청, 일시정지, 종료 등의 소정의 시그널링을 한다. 이 때, 상기 시그널링은 상기 영상 서버(420)의 구성요소인 개인 웹서버(400)와 상기 영상 재생기(430)가 빌트인(built-in)으로 제공된 웹브라우저(410)간에 송수신되는 HTTP 메시지(HTTP GET Request, HTTP Response)의 구조를 통하여 이루어진다. Referring to FIG. 4, the video server 420 and the video player 430 set up, play request, pause, and terminate each other to transmit a video stream from the video server 420 to the video player 430. Predetermined signaling such as In this case, the signaling is an HTTP message (HTTP) transmitted and received between the personal web server 400, which is a component of the video server 420, and the web browser 410 provided with the built-in video player 430. GET Request, HTTP Response).

즉, HTTP 메시지(HTTP GET Request, HTTP Response)의 페이로드(payload) 형태로 상기 시그널링 규약들이 정의되어 송수신됨으로써 상기 영상 서버(420)로부터 상기 영상 재생기(430)로 진행하는 영상 스트림을 제어할 수 있다. 예컨대, 상기 영상 스트림 제어과정은 먼저 영상 재생기(430)와 상기 영상 서버(420)간에 초기 조건을 협상하는 셋업 시스널링 및 재생요청 시스널링을 거친 후에 HTTP 응답 메시지에 영상 스트림을 실어서 송신함으로써 이루어진다. 또한 상기 영상 스트림이 송신되는 도중에는 일시정지 시스널링 또는 종료 시그널링이 발생할 수 있다. That is, the signaling protocols are defined and transmitted in the form of a payload of an HTTP message (HTTP GET Request, HTTP Response), thereby controlling the video stream traveling from the video server 420 to the video player 430. have. For example, the video stream control process is performed by first performing setup signaling for negotiating initial conditions between the video player 430 and the video server 420 and signaling a play request, and then loading the video stream in an HTTP response message. . In addition, pause signaling or termination signaling may occur while the video stream is being transmitted.

도 5는 본 발명에 따른 영상 스트림을 포함한 HTTP 응답 메시지 구조를 나타낸 도면이다. 5 is a diagram illustrating an HTTP response message structure including a video stream according to the present invention.

도 5를 참조하면, 영상 데이터(500)는 HTTP 응답 메시지에 포함되어 청크드(chunked) 전송 인코딩 방법 또는 콘텐츠 크기(Content-Length)를 특정하지 않는 스트리밍 방법에 의해 영상 서버로부터 영상 재생기로 전송된다. 또한, 헤더(510) 부분에는 메시지 내용에 대한 설명이 기술된다. 예컨대, HTTP의 버전, 메시지 식별자, 메시지 전송 시간, 서버의 종류, 인코딩 방법, 콘텐츠 타입 등이 정의된다. 이것은 일반적으로 전자우편에 첨부되는 파일을 정의할 때 사용하는 통신 프로토콜인 MIME(Multipurpose Internet Mail Extension)과 같은 형태를 취한다. 상기 MIME은 IETF(Internet Engineering Task Force)에서 정의한 프로토콜이며, 텍스트 기반의 인코딩 방식을 취하고 있다.Referring to FIG. 5, video data 500 is included in an HTTP response message and transmitted from a video server to a video player by a chunked transfer encoding method or a streaming method that does not specify a content-length. . In the header 510, a description of the message content is described. For example, a version of HTTP, a message identifier, a message transmission time, a server type, an encoding method, a content type, and the like are defined. This typically takes the form of a Multipurpose Internet Mail Extension (MIME), a communication protocol used to define files attached to email. The MIME is a protocol defined by the Internet Engineering Task Force (IETF), and takes a text-based encoding scheme.

도 6은 본 발명의 바람직한 일실시예에 따른 영상 서버와 영상 재생기간의 통신 프로세스를 나타낸 플로우차트이다.6 is a flowchart illustrating a communication process between a video server and a video playback period according to an exemplary embodiment of the present invention.

도 6을 참조하면, 상기 영상 재생기는 도 3에 도시된 통신 프로세스를 통하여 중개시스템으로부터 수신된 영상 서버의 유동 IP 주소를 사용하는, 예컨대, URL(http://64.20.1.100/monitor.wmv)을 포함하는 웹페이지의 내용에 따라 상기 영상 서버로 http://64.20.1.100/monitor.wmv에 대한 HTTP 요청 메시지를 송신한다(s600). 상기 영상 서버는 상기 HTTP 요청 메시지를 수신하고 영상 수신자 명단 DB로부터 영상 재생기의 유동 IP 주소가 있는 것을 확인한다(s605). 상기 영상 서버는 영상 카메라로부터 생성되는 원시 데이터를 이용하여 WMV 등 소정의 포맷으로 소정 개수의 영상 파일을 만든다(s610). 상기 영상 서버는 상기 소정의 영상 파일들을 순차적으로 디코딩한 이진코드를 메모리에 업로드 된다(s615). 상기 영상 서버는 이진코드를 인코딩 할 경우 중개시스템으로부터 수신한 전송속도 값에 따라서 적절한 압축 비율을 결정한다(s620). 상기 영상 서버는 영상 재생기로 영상 서버에서 촬영되고 메모리에 업로드 되어 있는 영상 스트림을 HTTP/1.1 전송 인코딩 방법의 하나인 청크드(chunked) 인코딩 방법 또는 콘텐츠 크기(Content-Length)를 특정하지 않는 스트리밍 방법을 이용하여 송신한다(s630, HTTP Response). 상기 영상 재생기는 수신된 영상 스트림을 재생한다(s630). 상기 영상 서버는 상기 이진코드를 읽을 경우 전송중인 네트워크 혼잡에 따라 비동기화된 읽기 포인터와 쓰기 포인터를 임의적으로 동기화한다(s635).Referring to FIG. 6, the video player uses the dynamic IP address of the video server received from the intermediary system through the communication process shown in FIG. 3, for example, a URL (http://64.20.1.100/monitor.wmv). The HTTP request message for http://64.20.1.100/monitor.wmv is transmitted to the video server according to the content of the web page including the step (s600). The video server receives the HTTP request message and confirms that there is a dynamic IP address of the video player from the video receiver list DB (S605). The image server creates a predetermined number of image files in a predetermined format such as WMV using raw data generated from the image camera (S610). The image server uploads a binary code obtained by sequentially decoding the predetermined image files to a memory (S615). When the video server encodes the binary code, the video server determines an appropriate compression ratio according to the transmission rate value received from the intermediate system (S620). The video server is a chunked encoding method that is one of the HTTP / 1.1 transmission encoding methods or a streaming method that does not specify a content-length, for an image stream captured by the video server and uploaded to a memory using a video player. Send using (s630, HTTP Response). The video player plays back the received video stream (S630). When the image server reads the binary code, the image server randomly synchronizes the asynchronous read pointer and the write pointer according to the network congestion being transmitted (S635).

도 7은 본 발명의 바람직한 일실시예에 따른 영상 서버 내에서 영상 데이터의 흐름을 도시한 블록다이어그램이다.7 is a block diagram illustrating a flow of image data in an image server according to an embodiment of the present invention.

도 7을 참조하면, 영상 카메라(715)에서 발생되는 영상 신호는 영상 전송 제어부(700)에 의해 이진코드로 변환되어 메모리에 업로드 되고, 다시 인코딩 되는 과정은 다음과 같다. 상기 영상 카메라(715)에서 발생되는 원시 영상 신호는 인코딩 모듈(730)내의 영상 수집 프로세스(780)로 전달된다. 상기 영상 수집 프로세스(780)로 전달된 영상 신호는 WMV, ASF 등 소정의 포맷(760)으로 소정 개수로 영상 파일화 된다. 즉, 상기 영상파일은 일정한 크기로 나누어진다(예컨대, raw_monitor1.wmv, raw_monitor2.wmv, raw_monitor3.wmv 등등.). 상기 일정한 크기로 나뉘어진 영상 파일들은 디코딩 모듈(740)에 의해 이진코드(750)화 되어 메모리에 업로드된다. 상기 업로드된 이진코드는 개인 웹서버(755)에 의해 영상 데이터로 인코딩된다. 상기 인코딩된 영상 데이터는 HTTP/1.1 청크드(chunked) 전송 인코딩 방법 또는 콘텐츠 크기(Content-Length)를 특정하지 않는 스트리밍 방법(710)에 의해 전송된다. Referring to FIG. 7, an image signal generated by the image camera 715 is converted into a binary code by the image transmission control unit 700, uploaded to a memory, and re-encoded as follows. The raw video signal generated by the video camera 715 is passed to the video acquisition process 780 in the encoding module 730. The image signal transferred to the image collecting process 780 is image filed in a predetermined number in a predetermined format 760 such as WMV, ASF, and the like. That is, the image file is divided into a predetermined size (for example, raw_monitor1.wmv, raw_monitor2.wmv, raw_monitor3.wmv, etc.). The image files divided into predetermined sizes are converted into binary codes 750 by the decoding module 740 and uploaded to the memory. The uploaded binary code is encoded into video data by the personal web server 755. The encoded video data is transmitted by an HTTP / 1.1 chunked transfer encoding method or a streaming method 710 that does not specify a content-length.

상기 영상 데이터는 TCP 프로토콜(720)의 세션 관리 통신 방법(connection oriented)을 통하여 제어된다. The image data is controlled through a session management communication method of the TCP protocol 720.

도 8은 본 발명의 바람직한 일실시예에 따른 영상 재생기 내에서 영상 데이터의 흐름을 도시한 블록다이어그램이다. 8 is a block diagram showing the flow of image data in the image player according to an embodiment of the present invention.

도 8을 참조하면, 인터넷을 통하여 수신되는 영상 데이터는 TCP 프로토콜(820)에 의해 세션 관리(connection oriented)되어 영상 재생 프로세스(800) 내의 HTTP/1.1 청크드(chunked) 전송 인코딩 방법 또는 콘텐츠 크기(Content-Length)를 특정하지 않는 스트리밍 방법(810)에 의해 디코딩 모듈(840)로 전달된다. 상기 디코딩 모듈(840)은 상기 HTTP/1.1 청크드(chunked) 전송 인코딩 방법(810)에 의해 전달된 영상 데이터를 WMV, ASF 등 소정의 포맷(860)에 따라 분류하여 영상 재생기(850)로 전달한다. 상기 영상 재생기(850)는 일반적으로 마이크로소프트사 등의 웹브라우저(830)에 빌트인(built-in)으로 제공되는 것이다.Referring to FIG. 8, video data received via the Internet is session oriented by the TCP protocol 820 to be HTTP / 1.1 chunked transmission encoding method or content size in the video playback process 800. It is delivered to the decoding module 840 by a streaming method 810 that does not specify a Content-Length. The decoding module 840 classifies the image data transmitted by the HTTP / 1.1 chunked transfer encoding method 810 according to a predetermined format 860 such as WMV, ASF, etc., and delivers the image data to the image player 850. do. The video player 850 is generally provided in a built-in to a web browser 830 such as Microsoft Corporation.

도 9는 본 발명의 바람직한 일실시예에 따른 영상 서버로부터 영상 재생기로 인터넷을 영상을 전송하기 위해 메모리에 업로드된 영상 데이터를 제어하는 과정을 도시한 도면이다. FIG. 9 is a diagram illustrating a process of controlling image data uploaded to a memory in order to transmit an image from the image server to the image player according to an exemplary embodiment of the present invention.

도 9를 참조하면, 영상 서버에 연결된 영상 카메라에 의해 촬영되는 영상은 소정의 크기로 나뉘어 WMV 포맷 등의 영상 파일로 형성된다. (파일 번호 1번에서 16번 그리고 그 이상의 것은 … 로 도시하였다.) 상기 소정의 개수로 형성된 영상 파일은 디코딩 모듈에 의해서 디코딩된다. 상기 디코딩된 이진코드는 메모리에 업로드된다. 메모리에 업로드된 데이터는 읽기 포인터와 쓰기 포인터가 동기화되어 메모리에 읽기와 쓰기가 진행된다. 상기 읽기 포인터는 전송되는 데이터의 위치를 지시하며, 상기 쓰기 포인터는 상기 디코딩 된 이진코드가 저장되는 위치를 지시한다. Referring to FIG. 9, an image captured by an image camera connected to an image server is divided into a predetermined size and formed into an image file such as a WMV format. (File numbers 1 to 16 and more are shown as ....) The predetermined number of image files formed is decoded by the decoding module. The decoded binary code is uploaded to memory. The data uploaded to the memory is read and written in synchronization with the read and write pointers. The read pointer indicates a location of data to be transmitted, and the write pointer indicates a location where the decoded binary code is stored.

여기서, 만약 영상 서버와 영상 재생기간에 영상을 전송하는 네트워크에 혼잡 등의 네트워크 QoS(Quality of Service)에 문제가 발생될 경우(예컨대, 9~12번 파일을 포함한 패킷의 손실이 발생할 경우 TCP 알고리즘에 따른 재전송 메커니즘이 실행되어 영상 재생기는 실시간의 영상을 재생하기 어려워진다.)에는 상기 읽기 포인터와 상기 쓰기 포인터는 비동기화 된다. Here, if there is a problem in the network quality of service (QoS) such as congestion in the video server and the network transmitting the video during the video playback period (for example, if a packet loss including files 9 to 12 occurs, the TCP algorithm is used). The read pointer and the write pointer are asynchronous.

상기 읽기 포인터와 쓰기 포인터가 비동기화된 경우, 의도적으로 읽기 포인터와 쓰기 포인터를 동기화 한다.When the read pointer and the write pointer are out of sync, the read pointer and the write pointer are intentionally synchronized.

상기 영상 재생기는 인터넷 상에서 발생하는 네트워크 QoS(Quality of Service)에 따라, 예컨대, 9~12번 파일을 포함한 패킷의 손실이 발생하면, 상기 영상 서버에서 읽기 포인터와 쓰기 포인터간의 격차가 발생하는 것을 의도적으로 동기화 하였으므로 손실된 패킷은 무시되며 실시간으로 영상을 수신하여 재생한다. The video player intentionally causes a gap between a read pointer and a write pointer in the video server when a packet loss including a file number 9 to 12 occurs according to a network quality of service (QoS) generated on the Internet. Because of the synchronization, lost packets are ignored and the video is received and played back in real time.

따라서, 영상 재생기가 빌트인으로 제공되는 웹브라우저를 실행할 수 있는 장치(PDA, 휴대인터넷 단말, 랩탑 등)의 사용자는 특정의 단독 수행(stand-alone) 기능을 하는 영상 재생기 없이도 영상 콘텐츠를 실시간 수신하여 재생할 수 있다. 또한, 영상서버의 개인 웹서버는 아이디와 패스워드가 확인하는 인증과정을 거쳐 동일한 영상 콘텐츠를 어느 누구에게나 송신할 수 있으므로, 영상 멀티캐스팅용으로 사용할 수 있다. 더욱이, 상기한 영상전송 방식을 양방향으로 서비스할 경우에는 프로세서의 속도의 기하급수적인 향상(무어의 법칙)에 힘입어 기존의 복잡한 프로토콜로 정의되어 있는 표준 영상전화 기술(SIP, MEGACO, H.323 등)을 대체할 할 수도 있다.Therefore, a user of a device (PDA, portable Internet terminal, laptop, etc.) capable of executing a web browser provided with a built-in video player may receive video content in real time without a video player having a specific stand-alone function. Can play. In addition, the personal web server of the video server can send the same video content to anyone through the authentication process to confirm the ID and password, it can be used for video multicasting. Moreover, when the video transmission method is serviced in both directions, the standard video telephony technology (SIP, MEGACO, H.323) defined by the existing complex protocol is supported by the exponential improvement of the processor speed (Moore's law). Etc.)

지금까지 본 발명에 대해서 상세히 설명하였으나, 그 과정에서 언급한 실시예는 예시적인 것일 뿐, 한정적인 것이 아님을 분명히 하며, 본 발명은 이하의 특허청구범위에 의해 제공되는 본 발명의 기술적 사상이나 분야를 벗어나지 않는 범위 내에서, 본 발명으로부터 균등하게 대체될 수 있는 정도의 구성요소 변경은 본 발명의 범위에 속한다 할 것이다.Although the present invention has been described in detail so far, it should be apparent that the embodiments mentioned in the process are only illustrative, and not restrictive, and the present invention is provided by the following claims. Within the scope not departing from the scope of the present invention, component changes to the extent that they can be equivalently substituted from the present invention will fall within the scope of the present invention.

본 발명은 고정 IP 주소가 없고 도메인 네임 서비스(Domain Name Service)에 등록되어 있지 않은 개인용 컴퓨터 상에 구성된 영상 서버에서 제공하는 영상을 별도의 독립 수행(stand-alone) 기능을 하는 영상 재생기 없이도 웹브라우저에 포함된 빌트인(built-in) 영상 재생기만으로 실시간으로 재생할 수 있는 방법 및 서버 시스템을 제공하는 효과가 있다.The present invention provides a web browser without a video player that performs a separate stand-alone function of a video server provided on a personal computer that does not have a fixed IP address and is not registered in a domain name service. There is an effect of providing a method and a server system that can be reproduced in real time using only the built-in video player included in the.

또한, 본 발명은 기본적으로 인터넷 상을 통하여 구현되는 기술이다. 그러나, 만약 본 발명이 인터넷이 아닌 단일 네트워크(예컨대, 라우터를 통해 인터넷을 이용하지 않고 스위치와 허브로만 이루어진 전용 네트워크, Local Area Network)에 적용될 경우에는 네트워크에 연결된 모든 장치에 프레임을 브로드캐스팅 하는 이더넷 기술의 특징으로 말미암아 영상을 문자 그대로 네트워크에 연결된 모든 장치로 브로드캐스팅이 가능하다. 즉, 본 발명의 실시간 원격 영상 멀티캐스팅 방법은 라우터 등에 의해 제어되는 패킷 스위칭 기술을 회선 스위칭 기술처럼 활용할 수 있게 해주는 가설 사설망(Virtual Private Network) 기술을 이용할 경우에는 일반 브로드캐스팅과 같은 효과도 발휘할 수 있다. In addition, the present invention is basically a technology implemented through the Internet. However, if the present invention is applied to a single network (e.g., a dedicated network consisting of a switch and a hub without using the Internet through a router, a local area network), the Ethernet broadcasting frame is broadcast to all devices connected to the network. The technology allows the video to be broadcast literally to any device on the network. That is, the real-time remote video multicasting method of the present invention can also have the same effect as general broadcasting when using a virtual private network technology that allows a packet switching technology controlled by a router or the like to be used as a circuit switching technology. have.

도 1은 본 발명에 따른 원격 영상 멀티캐스팅이 이루어지는 방법을 개략적으로 도시한 네트워크 구성도이다.1 is a network diagram schematically showing a method of remote video multicasting according to the present invention.

도 2는 본 발명의 일실시예에 따른 영상 서버, 영상 재생기 및 중개시스템의 블록 다이어그램을 나타낸 도면이다.2 is a block diagram of a video server, a video player, and an intermediary system according to an embodiment of the present invention.

도 3은 본 발명에 따른 영상 서버, 중개시스템 및 영상 재생기간의 영상 데이터를 송수신하기 위해 선행되는 통신 프로세스를 나타낸 플로우차트이다.3 is a flowchart showing a communication process that is preceded to transmit and receive video data of a video server, an intermediary system, and a video reproduction period according to the present invention.

도 4는 본 발명에 따라 도 3에 도시된 영상 데이터를 송수신하도록 선행되는 통신 프로세스가 완료된 후에 영상 서버로부터 영상 재생기로 영상을 실시간으로 전송하는 과정에서 발생하는 시그널링을 나타낸 도면이다. FIG. 4 is a diagram illustrating signaling generated in a process of transmitting an image in real time from an image server to an image player after a communication process preceding to transmit and receive image data shown in FIG. 3 is completed according to the present invention.

도 5는 본 발명에 따른 영상 스트림을 포함한 HTTP 응답 메시지 구조를 나타낸 도면이다. 5 is a diagram illustrating an HTTP response message structure including a video stream according to the present invention.

도 6은 본 발명의 바람직한 일실시예에 따른 영상 서버와 영상 재생기간의 통신 프로세스를 나타낸 플로우차트이다.6 is a flowchart illustrating a communication process between a video server and a video playback period according to an exemplary embodiment of the present invention.

도 7은 본 발명의 바람직한 일실시예에 따른 영상 서버 내에서 영상 데이터의 흐름을 도시한 블록다이어그램이다.7 is a block diagram illustrating a flow of image data in an image server according to an embodiment of the present invention.

도 8은 본 발명의 바람직한 일실시예에 따른 영상 재생기 내에서 영상 데이터의 흐름을 도시한 블록다이어그램이다. 8 is a block diagram showing the flow of image data in the image player according to an embodiment of the present invention.

도 9는 본 발명의 바람직한 일실시예에 따른 영상 서버로부터 영상 재생기로 인터넷을 영상을 전송하기 위해 메모리에 업로드된 영상 데이터를 제어하는 과정을 도시한 도면이다. FIG. 9 is a diagram illustrating a process of controlling image data uploaded to a memory in order to transmit an image from the image server to the image player according to an exemplary embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

715: 영상 카메라 730: 인코딩 모듈715: video camera 730: encoding module

740: 디코딩 모듈 750: 이진코드740: decoding module 750: binary code

Claims (23)

영상 서버로부터 고정 IP 주소와 도메인 네임 서비스를 이용하지 않고 영상 재생기로 중개시스템을 통하여 실시간 영상 원격 멀티캐스팅 방법에 있어서,In the real-time video remote multicasting method through a mediation system to a video player without using a fixed IP address and domain name service from the video server 상기 중개시스템으로 암호화된 아이디와 패스워드를 이용하여 서비스에 등록하는 단계;Registering for a service using an ID and password encrypted with the intermediary system; 상기 중개시스템에 초기 영상 서버 정보가 상기 중개시스템의 DB에 등록된 후, 상기 중개시스템으로부터 프로토타입의 개인 웹서버 구성요소를 요청하는 단계;Requesting a prototype personal web server component from the mediation system after initial image server information is registered in the DB of the mediation system; 상기 중개시스템으로부터 프로토타입의 개인 웹서버 구성요소를 수신하는 단계;Receiving a prototype personal web server component from the mediation system; 상기 수신한 개인 웹서버 구성요소를 이용하여 개인 웹서버를 구축하고 실행하는 단계;Building and executing a personal web server using the received personal web server component; 상기 중개시스템과 유동 IP 주소 등 소정의 영상 서버 정보를 송수신하는 단계;Transmitting / receiving predetermined image server information such as a dynamic IP address with the intermediate system; 상기 중개시스템로부터 영상 서버 정보를 DB에 갱신하는 것을 대기하는 단계;Waiting to update the image server information in the DB from the mediation system; 상기 영상 재생기가 상기 중개시스템의 웹서버에 접속한 후, 미리 등록된 아이디와 패스워드를 이용해 로그인하고 네트워크 전송속도 값을 상기 중개시스템으로 전송하는 것을 대기하는 단계;Waiting for the video player to access the web server of the mediation system, log in using a previously registered ID and password, and transmit a network transmission rate value to the mediation system; 상기 중개시스템으로부터 상기 영상 재생기의 로그인과 동시에, 상기 영상 재생기에 대한 유동 IP 주소, 아이디, 패스워드 및 네트워크 전송속도 값이 상기 중개시스템의 서버측 스크립트에 의해 수집되는 것을 대기하는 단계;Waiting for the dynamic IP address, ID, password, and network transmission rate values for the video player to be collected by a server-side script of the intermediate system at the same time as the video player is logged in from the intermediate system; 상기 중개시스템으로부터 상기 영상 재생기의 유동 IP 주소와 네트워크 전송속도를 수신하는 단계;Receiving a dynamic IP address and a network transmission speed of the video player from the intermediate system; 상기 수신된 정보를 영상 수신자 명단 DB에 갱신하는 단계; 및Updating the received information in an image recipient list DB; And 상기 중계시스템으로부터 상기 영상 재생기로 웹페이지를 전송하는 것을 대기하는 단계를 포함하는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.Waiting to transmit a web page from the relay system to the video player. 제1항에 있어서, The method of claim 1, 상기 소정의 영상 서버 정보는 주기적 또는 비주기적으로 송수신되는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.The predetermined video server information is transmitted or received periodically or aperiodic, characterized in that the real-time video remote multicasting method. 제1항에 있어서, The method of claim 1, 상기 웹페이지는 상기 영상 서버의 유동 IP 주소를 사용하는 URL을 포함하는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.And the web page comprises a URL using a dynamic IP address of the video server. 제1항에 있어서, The method of claim 1, 상기 영상 재생기로부터 HTTP 요청(Get Request) 메시지를 수신하는 단계;Receiving an HTTP request message from the video player; 상기 영상 수신자 명단 DB에서 상기 영상 재생기의 유동 IP 주소를 확인하는 단계;Confirming a dynamic IP address of the video player in the video receiver roster DB; 상기 영상 서버에 연결되어 연동되는 영상 카메라로부터 영상이 촬영되어 생성되는 원시 영상 데이터를 이용하여 소정 개수의 영상 파일들을 형성하는 단계;Forming a predetermined number of image files by using raw image data generated by capturing an image from an image camera connected to the image server and interlocked with the image server; 상기 소정의 영상 파일들을 순차적으로 디코딩한 후 이진코드 데이터를 메모리에 업로드 하는 단계;Sequentially decoding the predetermined image files and uploading binary code data to a memory; 상기 이진코드 데이터의 소정의 인코딩 압축률을 결정하여 인코딩 하는 단계;Determining and encoding a predetermined encoding compression rate of the binary code data; 상기 영상 재생기로 상기 인코딩된 영상 데이터를 HTTP 응답(Response) 메시지 형태로 전송하는 단계;Transmitting the encoded video data in the form of an HTTP response message to the video player; 상기 영상 재생기가 상기 영상 서버로부터 수신되고 있는 영상을 재생하는 것을 대기하는 단계; 및Waiting for the video player to play the video being received from the video server; And 네트워크 혼잡에 따라 이진코드 데이터를 읽을 경우 비동기화된 읽기 포인터와 쓰기 포인터를 임의적으로 동기화하는 단계를 더 포함하는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.And randomly synchronizing an unsynchronized read pointer and a write pointer when reading binary code data according to network congestion. 제4항에 있어서, The method of claim 4, wherein 상기 HTTP 요청(Get Request) 메시지는 상기 중개시스템에서 제공한 상기 영상 서버의 상기 URL을 포함하는 웹페이지를 이용하는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.The HTTP request (Get Request) message is a real-time video remote multicasting method, characterized in that using the web page including the URL of the video server provided by the intermediate system. 제4항에 있어서,The method of claim 4, wherein 상기 소정 개수의 영상 파일들은 소정의 포맷으로 형성되는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.And the predetermined number of video files are formed in a predetermined format. 제4항에 있어서,The method of claim 4, wherein 상기 소정의 인코딩 압축률은 상기 중개시스템으로부터 수신한 전송속도 값에 따라 결정되는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.And the predetermined encoding compression rate is determined according to a transmission rate value received from the intermediate system. 제4항에 있어서,The method of claim 4, wherein 상기 영상 데이터는 HTTP/1.1 전송 인코딩 방법의 하나인 청크드(chunked) 인코딩 방법 또는 콘텐츠 크기(Content-Length)를 특정하지 않는 스트리밍 방법을 이용하는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.The video data is a chunked encoding method, which is one of HTTP / 1.1 transmission encoding methods, or a streaming method that does not specify a content-length. 제4항에 있어서,The method of claim 4, wherein 상기 영상 재생기는 웹브라우저에 디폴트로 장착되어 있는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.And the video player is installed in a web browser by default. 고정 IP 주소와 도메인 네임 서비스를 이용하지 않고 영상 재생기로 중개시스템을 통하여 실시간 영상 원격 멀티캐스팅 서버 시스템에는 정보를 저장하고 있는 메모리 및Real-time video remote multicasting server system stores information in the real-time video remote multicasting server system through an intermediary system without using a fixed IP address and domain name service. 상기 메모리에 결합되어 있는 프로세서를 포함하되,Including a processor coupled to the memory, 상기 프로세서는,The processor, 상기 중개시스템으로 암호화된 아이디와 패스워드를 이용하여 서비스에 등록하는 단계;Registering for a service using an ID and password encrypted with the intermediary system; 상기 중개시스템에 초기 영상 서버 정보가 상기 중개시스템의 DB에 등록된 후, 상기 중개시스템으로부터 프로토타입의 개인 웹서버 구성요소를 요청하는 단계;Requesting a prototype personal web server component from the mediation system after initial image server information is registered in the DB of the mediation system; 상기 중개시스템으로부터 프로토타입의 개인 웹서버 구성요소를 수신하는 단계;Receiving a prototype personal web server component from the mediation system; 상기 수신한 개인 웹서버 구성요소를 이용하여 개인 웹서버를 구축하고 실행하는 단계;Building and executing a personal web server using the received personal web server component; 상기 중개시스템과 유동 IP 주소 등 소정의 영상 서버 정보를 송수신하는 단계;Transmitting / receiving predetermined image server information such as a dynamic IP address with the intermediate system; 상기 중개시스템로부터 영상 서버 정보를 DB에 갱신하는 것을 대기하는 단계;Waiting to update the image server information in the DB from the mediation system; 상기 영상 재생기가 상기 중개시스템의 웹서버에 접속한 후, 미리 등록된 아이디와 패스워드를 이용해 로그인하고 네트워크 전송속도 값을 상기 중개시스템으로 전송하는 것을 대기하는 단계;Waiting for the video player to access the web server of the mediation system, log in using a previously registered ID and password, and transmit a network transmission rate value to the mediation system; 상기 중개시스템으로부터 상기 영상 재생기의 로그인과 동시에, 상기 영상 재생기에 대한 유동 IP 주소, 아이디, 패스워드 및 네트워크 전송속도 값이 상기 중개시스템의 서버측 스크립트에 의해 수집되는 것을 대기하는 단계;Waiting for the dynamic IP address, ID, password, and network transmission rate values for the video player to be collected by a server-side script of the intermediate system at the same time as the video player is logged in from the intermediate system; 상기 중개시스템으로부터 상기 영상 재생기의 유동 IP 주소와 네트워크 전송속도를 수신하는 단계;Receiving a dynamic IP address and a network transmission speed of the video player from the intermediate system; 상기 수신된 정보를 영상 수신자 명단 DB에 갱신하는 단계; 및Updating the received information in an image recipient list DB; And 상기 중계시스템으로부터 상기 영상 재생기로 웹페이지를 전송하는 것을 대기하는 단계를 실행하는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 서버 시스템.And waiting to transmit a web page from the relay system to the video player. 제10항에 있어서, The method of claim 10, 상기 소정의 영상 서버 정보는 주기적 또는 비주기적으로 송수신되는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.The predetermined video server information is transmitted or received periodically or aperiodic, characterized in that the real-time video remote multicasting method. 제10항에 있어서, The method of claim 10, 상기 웹페이지는 상기 영상 서버의 유동 IP 주소를 사용하는 URL을 포함하는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.And the web page comprises a URL using a dynamic IP address of the video server. 제10항에 있어서, The method of claim 10, 상기 영상 재생기로부터 HTTP 요청(Get Request) 메시지를 수신하는 단계;Receiving an HTTP request message from the video player; 상기 영상 수신자 명단 DB에서 상기 영상 재생기의 유동 IP 주소를 확인하는 단계;Confirming a dynamic IP address of the video player in the video receiver roster DB; 상기 영상 서버에 연결되어 연동되는 영상 카메라로부터 영상이 촬영되어 생성되는 원시 영상 데이터를 이용하여 소정 개수의 영상 파일들을 형성하는 단계;Forming a predetermined number of image files by using raw image data generated by capturing an image from an image camera connected to the image server and interlocked with the image server; 상기 소정의 영상 파일들을 순차적으로 디코딩한 후 이진코드 데이터를 메모리에 업로드 하는 단계;Sequentially decoding the predetermined image files and uploading binary code data to a memory; 상기 이진코드 데이터의 소정의 인코딩 압축률을 결정하여 인코딩 하는 단계;Determining and encoding a predetermined encoding compression rate of the binary code data; 상기 영상 재생기로 상기 인코딩된 영상 데이터를 HTTP 응답(Response) 메시지 형태로 전송하는 단계;Transmitting the encoded video data in the form of an HTTP response message to the video player; 상기 영상 재생기가 상기 영상 서버로부터 수신되고 있는 영상을 재생하는 것을 대기하는 단계; 및Waiting for the video player to play the video being received from the video server; And 네트워크 혼잡에 따라 이진코드 데이터를 읽을 경우 비동기화된 읽기 포인터와 쓰기 포인터를 임의적으로 동기화하는 단계를 더 포함하는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.And randomly synchronizing an unsynchronized read pointer and a write pointer when reading binary code data according to network congestion. 제13항에 있어서, The method of claim 13, 상기 HTTP 요청(Get Request) 메시지는 상기 중개시스템에서 제공한 상기 영상 서버의 상기 URL을 포함하는 웹페이지를 이용하는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.The HTTP request (Get Request) message is a real-time video remote multicasting method, characterized in that using the web page including the URL of the video server provided by the intermediate system. 제13항에 있어서,The method of claim 13, 상기 소정 개수의 영상 파일들은 소정의 포맷으로 형성되는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.And the predetermined number of video files are formed in a predetermined format. 제13항에 있어서,The method of claim 13, 상기 소정의 인코딩 압축률은 상기 중개시스템으로부터 수신한 전송속도 값에 따라 결정되는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.And the predetermined encoding compression rate is determined according to a transmission rate value received from the intermediate system. 제13항에 있어서,The method of claim 13, 상기 영상 데이터는 HTTP/1.1 전송 인코딩 방법의 하나인 청크드(chunked) 인코딩 방법 또는 콘텐츠 크기(Content-Length)를 특정하지 않는 스트리밍 방법을 이용하는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.The video data is a chunked encoding method, which is one of HTTP / 1.1 transmission encoding methods, or a streaming method that does not specify a content-length. 제13항에 있어서,The method of claim 13, 상기 영상 재생기는 웹브라우저에 디폴트로 장착되어 있는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 방법.And the video player is installed in a web browser by default. 고정 IP 주소와 도메인 네임 서비스를 이용하지 않고 영상 재생기로 중개시스템을 통하여 실시간 영상 원격 멀티캐스팅 서버 시스템에 있어서,In a real-time video remote multicasting server system through a mediation system with a video player without using a fixed IP address and domain name service, 상기 중개시스템으로부터 제공받은 영상 재생기의 유동 IP 주소와 네트워크 속도 등을 저장하는 영상 수신자 명단 DB;A video recipient list DB for storing the dynamic IP address and network speed of the video player provided from the mediation system; 상기 영상 재생기로 영상을 송신하는 과정에서 일어나는 이벤트, 송신 시작시간, 송신 종료시간, 송신 완료율 등의 정보가 저장되는 상기 영상 전송 상태 DB; The image transmission state DB storing information such as an event occurring in the process of transmitting an image to the image player, a transmission start time, a transmission end time, a transmission completion rate, and the like; 영상을 촬영하는 영상 카메라;An image camera for taking an image; 상기 영상 카메라로부터 촬영된 영상을 소정의 포맷으로 파일화하는 인코딩 모듈; An encoding module for filing an image captured by the image camera into a predetermined format; 상기 인코딩 모듈로부터 형성된 적어도 하나의 파일을 이진코드로 데이터화 하는 디코딩 모듈; A decoding module for converting at least one file formed from the encoding module into binary code; 상기 중개시스템의 웹서버 접속부 및 영상 재생기가 빌트인으로 제공되는 웹브라우저와 월드 와이드 웹(World Wide Web) 방식으로 통신하는 웹서버 접속부;A web server connection unit for communicating with a web browser provided with a built-in web server connection unit and a video player of the intermediary system in a world wide web manner; 상기 중개시스템으로부터 제공받은 개인 웹서버 구성요소를 활용하여 구축되고 상기 영상 재생기가 빌트인으로 제공되는 웹브라우저로 영상 제공이 가능한 형식의 웹페이지를 송신하는 개인 웹서버; A personal web server constructed by utilizing a personal web server component provided from the mediation system and transmitting a web page in a format capable of providing an image to a web browser provided with the built-in video player; 상기 영상 카메라, 인코딩 모듈, 디코딩 모듈 및 개인 웹서버와 연동되는 프로세스를 총괄 제어하는 상기 영상 전송 제어부;The image transmission control unit which collectively controls a process associated with the image camera, an encoding module, a decoding module, and a personal web server; 상기 중개시스템의 통신 프로세스와 통신 프로토콜 접속부를 통하여 소정의 통신 프로토콜에 의해 주기적 또는 비주기적으로 상기 영상 서버 및 영상 재생기의 정보를 송수신하는 통신 프로그램을 포함하는 것을 특징으로 하는 실시간 영상 원격 멀티캐스팅 서버 시스템.Real-time video remote multicasting server system comprising a communication program for transmitting and receiving information of the video server and the video player periodically or aperiodically by a predetermined communication protocol through a communication process and a communication protocol connection of the intermediate system. . 영상 서버에 연동되는 카메라로 촬영하여 생성되는 영상 데이터를 원격지에 있는 영상 재생기로 송신하기 위해 상기 영상 서버 내에서의 수행되는 실시간 영상 전송 제어 방법에 있어서,In the real-time video transmission control method performed in the video server to transmit the video data generated by shooting with a camera linked to the video server to a remote video player, 상기 카메라로부터 원시 영상 데이터를 수집하는 단계;Collecting raw image data from the camera; 상기 수집된 원시 영상 데이터를 연속적으로 소정 개수의 파일들로 형성하는 단계;Continuously forming the collected raw image data into a predetermined number of files; 상기 소정 개수의 파일들을 차례로 이진코드로 디코딩하는 단계;Decoding the predetermined number of files in binary code one after the other; 상기 디코딩된 이진코드를 메모리에 업로드 하는 단계; Uploading the decoded binary code into a memory; 상기 메모리에 업로드된 이진코드의 읽기 포인터와 쓰기 포인터를 동기화하는 단계;Synchronizing a read pointer and a write pointer of the binary code uploaded to the memory; 상기 영상 서버 내에 저장된 네트워크 전송속도 값에 따라 인코딩 압축률을 결정하는 단계;Determining an encoding compression rate according to a network transmission rate value stored in the video server; 상기 메모리에 업로드된 이진코드를 영상 데이터로 인코딩하는 단계;Encoding the binary code uploaded into the memory into image data; 상기 인코딩된 영상 데이터를 네트워크에 연결된 상기 영상 재생기로 전송하는 단계; 및Transmitting the encoded image data to the image player connected to a network; And 상기 네트워크 혼잡상태에 따라 상기 읽기 포인터와 쓰기 포인터가 비동기화되는 경우에 격차를 의도적으로 동기화하는 단계를 포함하는 것을 특징으로 하는 영상 서버 내에서의 수행되는 영상 전송 제어 방법.And intentionally synchronizing gaps when the read pointer and the write pointer are unsynchronized according to the network congestion state. 제20항에 있어서,The method of claim 20, 상기 파일들은 소정 포맷으로 형성되는 것을 특징으로 하는 영상 서버 내에서의 수행되는 실시간 영상 전송 제어 방법.And the files are formed in a predetermined format. 제20항에 있어서,The method of claim 20, 상기 영상 데이터는 소정 포맷으로 형성되는 것을 특징으로 하는 영상 서버 내에서의 수행되는 실시간 영상 전송 제어 방법.And the image data is formed in a predetermined format. 제20항에 있어서,The method of claim 20, 상기 영상 데이터는 HTTP/1.1 전송 인코딩 방법의 하나인 청크드(chunked) 인코딩 방법 또는 콘텐츠 크기(Content-Length)를 특정하지 않는 스트리밍 방법을 이용하여 전송되는 것을 특징으로 하는 영상 서버 내에서의 수행되는 실시간 영상 전송 제어 방법.The video data may be transmitted using a chunked encoding method, which is one of HTTP / 1.1 transport encoding methods, or a streaming method that does not specify a content-length. Real time video transmission control method.
KR1020050007537A 2005-01-27 2005-01-27 Method and server system for real-time remote video multicasting KR20050018905A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050007537A KR20050018905A (en) 2005-01-27 2005-01-27 Method and server system for real-time remote video multicasting

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050007537A KR20050018905A (en) 2005-01-27 2005-01-27 Method and server system for real-time remote video multicasting

Publications (1)

Publication Number Publication Date
KR20050018905A true KR20050018905A (en) 2005-02-28

Family

ID=37228273

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050007537A KR20050018905A (en) 2005-01-27 2005-01-27 Method and server system for real-time remote video multicasting

Country Status (1)

Country Link
KR (1) KR20050018905A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827113A (en) * 2022-04-18 2022-07-29 阿里巴巴(中国)有限公司 Webpage access method and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827113A (en) * 2022-04-18 2022-07-29 阿里巴巴(中国)有限公司 Webpage access method and device
CN114827113B (en) * 2022-04-18 2024-04-16 阿里巴巴(中国)有限公司 Webpage access method and device

Similar Documents

Publication Publication Date Title
CN106331581B (en) Method and device for communication between mobile terminal and video network terminal
CN100421469C (en) System and method for realizing video frequency information sharing
CN100471114C (en) Method and system for accessing computer resource through mobile terminal
KR101630653B1 (en) System and method for transmitting/receiving call in home network
CN101365096B (en) Method for providing video content, related service apparatus and system
CN105100954A (en) Interactive response system and method based on Internet communication and streaming media live broadcast
CN107819809B (en) Method and device for synchronizing content
CN102325182A (en) Audio-video sharing method and system
CN101917428A (en) Method and system for playing home media videos and mobile communication terminal
CN102325181A (en) Instant audio/video interactive communication method based on sharing service and instant audio/video interactive communication system based on sharing service
CN1816019B (en) Multi-media message real-time alternating system and realizing method
WO2008134979A1 (en) Video system and video playing mothed
CN111787399A (en) Video playing method, device and system
CN112019889A (en) Cloud-based screen projection system and screen projection method
WO2018069426A1 (en) Enabling a media orchestration
CN111147789B (en) Method, device and equipment for recording audio and video stream and storage medium
CN113949698B (en) Ground penetrating radar acquisition remote control method and system based on Web RTC
JP5552171B2 (en) Live media stream time shift
KR20110139782A (en) Apparatus and method for live streaming between mobile communication terminals
CN108810475A (en) A kind of Android video monitoring apparatus based on Onvif standards and Sip agreements
CN101252454B (en) Client end video frequency playing system and method
CN103684970A (en) Transmission method and thin terminals for media data streams
US20140237086A1 (en) Method of saving content to a file on a server and corresponding device
CN101686288A (en) Receiver apparatus and method, and sending and receiving system
CN101094159A (en) Method for penetrating through private network of media stream

Legal Events

Date Code Title Description
A201 Request for examination
G15R Request for early opening
A302 Request for accelerated examination
E902 Notification of reason for refusal
E601 Decision to refuse application