KR20110059428A - Method for encoding distributed movie based on grid file system and apparatus for the same and system for the same - Google Patents

Method for encoding distributed movie based on grid file system and apparatus for the same and system for the same

Info

Publication number
KR20110059428A
KR20110059428A KR20090116170A KR20090116170A KR20110059428A KR 20110059428 A KR20110059428 A KR 20110059428A KR 20090116170 A KR20090116170 A KR 20090116170A KR 20090116170 A KR20090116170 A KR 20090116170A KR 20110059428 A KR20110059428 A KR 20110059428A
Authority
KR
Grant status
Application
Patent type
Prior art keywords
file
encoding
files
partial
video
Prior art date
Application number
KR20090116170A
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

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television, VOD [Video On Demand]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of content streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of content streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of content streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television, VOD [Video On Demand]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television, VOD [Video On Demand]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists

Abstract

PURPOSE: A video encoding method and apparatus through dispersion of a grid file system mode, and a system thereof are provided to split an original video file to partial files and merge the partial files encoded in a plurality of encoding servers to one file. CONSTITUTION: If an original video file is split to partial files, a video encoding unit decides each encoding server for the split partial files(S401,S402). The unit transmits the corresponding partial files and translation information of the original video file to the decided encoding servers(S403). The unit receives converted partial files from the each encoding server(S404). The unit constitutes the partial files into one video file(S405).

Description

그리드 파일 시스템 방식의 분산을 통한 동영상 인코딩 방법 및 장치와 그 시스템{Method for encoding distributed movie based on Grid File System and apparatus for the same and system for the same} Video encoding method and apparatus and systems with a distributed file system of the grid method {Method for encoding distributed movie based on Grid File System and apparatus for the same and system for the same}

본 발명은 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 방법 및 장치와 그 시스템에 관한 것으로, 더욱 상세하게는 하나의 원본 동영상 파일을 여러 개의 부분 파일로 스플리트하여 여러 인코딩 서버에 분산하여 인코딩 요청을 하고, 인코딩이 끝난 부분 파일을 다시 하나로 모아 원래의 동영상 내용과 같은 동영상 파일로 합쳐, 신속한 동영상 변환과 저렴한 서버로도 고화질 영상을 빠르게 변환하여 제공하는 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 방법 및 장치와 그 시스템에 관한 것이다. The present invention's grid (Grid) that, more specifically, one of the original movie file according to the video encoding method and apparatus and the system based on a distributed file system scheme of a number of partial files split to spread across multiple encoding server encoding request, encodes the collected portion of the file ends back together merged into the video file, such as the original movie content, fast video conversion and low server to also provide a grid (grid) distributed file system, how to rapidly convert high-definition video It relates to a video encoding method and apparatus and its system through.

기존의 동영상(예: UCC, VOD 등) 서비스 업체에서는 Adobe사의 Flash Player 기반의 서비스를 위해 별도의 인코딩 서버를 두어 H.263 혹은 H.264 계열의 코덱을 가진 포맷(예: FLV, MP4 등)으로 인코딩 및 트랜스코딩을 하고 있다. Existing video (for example: UCC, VOD, etc.) service providers in the format with Adobe's Flash Player-based services for H.263 or H.264 codec family of a couple of separate servers for encoding (eg: FLV, MP4, etc.) as is the encoding and transcoding.

하지만, 최근 장비의 발달로 고화질(SD, HD급)의 동영상 컨텐츠가 제작되고 있어 날이 갈수록 동영상 변환을 위한 서버의 높은 스펙과 많은 수량을 필요로 하 고 있다. However, it is a recent development of high-quality equipment is a video content (SD, HD-level) has been produced and day by day and requires a high specification and the large number of servers for video conversion.

고화질 영상의 변환으로 서비스 품질을 높이고 싶으나 단일 서버에서 프로세스가 일어나는 기존의 방식으로는 인코딩 및 트랜스코딩을 하는데 소요되는 시간과 비용의 증가로 원활한 서비스를 제공하지 못하고 있는 실정이다. In a conventional manner, the process takes place on a single server sipeuna increase service quality of high-definition video conversion is a situation that does not provide a seamless service to increase the time and cost of encoding and transcoding.

본 발명은 상기한 문제점을 해결하기 위해 개발된 것으로, 인코딩 및 트랜스코딩을 하는데 소요되는 시간과 비용을 줄여 원활하고 고품질의 서비스를 제공할 수 있도록 하는 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 방법 및 장치와 그 시스템을 제공하는데 있다. The present invention is a video through the grid (Grid) dispersed in the file system a manner such that it can provide an as high quality of service and smoothly reduces the time and cost of encoding and transcoding developed to solve the above problems to provide an encoding method and apparatus and the system.

이러한 목적을 달성하기 위한 본 발명에 따른 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 방법은 Grid according to the present invention for achieving this end (Grid) is a video encoding method using a distributed file system of the system

인코딩 매니지먼트 서버가 업로드 클라이언트로부터 동영상 파일을 업로드받는 단계, 업로드된 동영상 파일을 여러 개의 부분 파일로 스플리트(split)하는 단계, 스플리트하여 나온 부분 파일들 각각의 인코딩 서버를 설정하는 단계, 설정된 해당 인코딩 서버로 해당 부분 파일과 변환 정보를 전송하는 단계, 상기 변환 정보에 의해 변환이 완료된 해당 부분 파일을 해당 인코딩 서버로부터 전송받는 단계, 전송받은 변환이 완료된 부분 파일을 합쳐서 원본 동영상과 같은 내용의 하나의 동영상 파일을 구성하는 단계를 포함하여 이루어진 것을 특징으로 한다. Step Encoding management server to set the split (split) phase, split each of the encoding server, the part file came to that receiving upload a video file, an uploaded video file into multiple parts files from the upload client that set together with the part file and the stage, receiving transferred the beginning of the file conversion is complete by the conversion information from the encoding servers, transmission partial file conversion is complete, the received transmitting the converted information to the encoding server, a content such as original video by including the step of configuring the video file it is characterized in that is made.

바람직하게, 상기 업로드된 동영상 파일을 여러 개의 부분 파일로 스플리트(split)하는 단계는 원본 동영상의 화질과, 인코딩 매니지먼트 서버에 연결된 인코딩 서버의 성능 및 수량을 고려하여 키 프레임(key frame) 단위로 이루어지는 것을 특징으로 한다. The Preferably, the uploaded video file into several parts File Split (split) to stage performance and key frame (key frame) to consider the quantity of encoding server connected to the image quality and encoding management server of the original video unit It characterized by comprising.

그리고, 상기 스플리트하여 나온 부분 파일들 각각의 인코딩 서버를 설정하는 단계는 현재 인코딩 매니지먼트 서버에 연결된 각 인코딩 서버의 상태 정보에 의해 상기 부분 파일들을 인코딩할 인코딩 서버를 설정하는 단계 및, 상기 설정된 인코딩 서버의 CPU 부하에 따라, 해당 인코딩 서버에서 인코딩할 부분 파일의 개수를 설정하는 단계를 포함하여 이루어진 것을 특징으로 한다. In addition, the split to from part file in step of setting each of the encoding server current encoding management by the status information of each encoding a server connected to the server, establishing the encoding server to encode the partial file and the set encoding depending on the server CPU load, characterized by consisting of, including the step of setting the number of the partial files to be encoded in the encoding server.

상기 변환 정보는 변환할 포맷(format) 정보와, 화질 정보 중 적어도 하나 이상을 포함하여 이루어진 것을 특징으로 한다. The conversion information is characterized by comprising, including the format to be converted (format) information, at least one of the quality information.

상기 목적을 달성하기 위한 또 다른 본 발명에 따른 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 시스템은 Grid (Grid) video encoding system based on a distributed file system method according to another invention for achieving the abovementioned objects is

원본 동영상 파일을 업로드하는 업로드 클라이언트, 업로드된 동영상 파일을 여러 개의 부분 파일로 스플리트(split)하고, 스플리트하여 나온 부분 파일들 각각의 인코딩 서버를 설정하며, 설정된 인코딩 서버로 해당 부분 파일과 변환 정보를 전송하고, 변환이 완료된 부분 파일을 해당 인코딩 서버로부터 전송받아 합쳐서 원본 동영상과 같은 내용의 하나의 동영상 파일을 구성하는 인코딩 매니지먼트 서버, 상기 인코딩 매니지먼트 서버로부터 해당 부분 파일과 변환 정보를 전송받고, 전송 받은 해당 부분 파일을 상기 변환 정보에 따라 사용자가 원하는 파일로 변환해주는 인코딩 서버를 포함하여 이루어진 것을 특징으로 한다. Scotland upload client, upload the video file to upload original video file into several parts File Split (split) and split to set up each of the encoding server, the beginning of the file from, and that part of the file to set the encoding server and convert been sent the information, and convert the combined receiving and the beginning of the file is completed from the encoding server transmits the content one video encoding management server, the corresponding part file and convert information from the encoding management server to configure a file of the same as the original movie, receiving and transmitting the part file characterized in that comprising an encoding server that the user is converted to the desired file according to the conversion information.

상기 목적을 달성하기 위한 또 다른 본 발명에 따른 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 장치는 Grid (Grid) through a motion picture encoding device of the distributed file system method according to another invention for achieving the above object is

클라이언트로부터 동영상 파일을 업로드 받거나, 변환된 동영상 파일을 다운로드 및 스트리밍 해주는 파일 업로드/다운로드 전송 모듈, 인코딩 서버의 상태를 체크하여 동영상 파일에 대한 인코딩 및 트랜스코딩을 하기 위한 잡(Job) 분배 스케쥴링을 수행하는 인코딩 스케쥴링 모듈, 인코딩 서버에 사용자가 원하는 변환 정보로 동영상 파일에 대한 인코딩 및 트랜스코딩을 요청하는 인코딩 서버 제어 모듈, 업로드 받은 동영상 파일을 여러 개의 부분 파일로 스플리트(split)하는 동영상 파일 스플리트(Split) 모듈, 각 인코딩 서버가 변환한 부분 파일을 전송받아 합쳐서 원본 동영상 파일과 같은 내용의 동영상 파일을 구성하는 동영상 파일 합성(Merge) 모듈, 인코딩 서버로부터 자원 정보를 수집하여 관리자가 모니터링 할 수 있는 정보를 제공하는 인코딩 Receive or upload a video file from the client to download the converted video files and streaming files upload that / download transfer module, a job (Job) performs a distribution schedule to check the status of the encoding server for encoding and transcoding for video files encoding scheduling module, an encoding server control module, who uploaded the video file you requested encoding and transcoding for video file to the desired conversion information to encode a server into several parts file Split (split) video files split to (Split) by module, from each of the encoding server converts a part file transfer take a video file synthesis that make up the movie file of the content, such as original video files combined (Merge) module, an encoding server collects resource information, the administrator can monitor encoding to provide information 태 모니터링 모듈 및, 각 인코딩 서버와 통신하는 인코딩 서버 통신 모듈을 포함하여 이루어지는 것을 특징으로 한다. Including the status of the monitoring modules and, each encoding server and encoding server communication module for communication characterized in that formed.

그리고, 인코딩 매니지먼트 서버로부터 인코딩 및 트랜스코딩할 부분 파일과 변환 정보를 전송받고, 변환된 부분 파일을 인코딩 매니지먼트 서버로 전송하는 파일 업로드/다운로드 전송 모듈, 상기 전송받은 부분 파일을 상기 변환 정보에 따라 인코딩 및 트랜스코딩하는 동영상 인코딩 및 트랜스코딩 모듈, 인코딩 서버의 상태 정보를 체크 및 수집하는 시스템 상태 체크 모듈 및, 상기 수집한 인코딩 서버의 상태 정보를 인코딩 매니지먼트 서버로 전송하는 인코딩 매니지먼트 서버 통신 모듈을 포함하여 이루어지는 것을 특징으로 한다. Then, the encoding management receiving server transmits the encoding and transcoding part file to the conversion information from, for transmitting the converted part file into the encoded management server file upload / download transfer module, encoding the transmission part file received in accordance with the conversion information and including transcoding video encoding and transcoding module, a system for checking and collecting status information of the encoding server status check module and, encoding management server communication module for transmitting the status information of the collection of encoding the server by encoding management server that It characterized by comprising.

본 발명은 하나의 동영상 파일이 하나의 인코딩 서버에서만 인코딩 및 트랜스코딩이 이루어지는 것이 아니라, 원본 동영상 파일을 여러 개의 부분 파일로 스플리트하여, 여러 인코딩 서버에 분산하여 인코딩 요청을 하고, 인코딩이 끝난 부분 파일을 다시 하나로 모아 원래의 동영상 내용과 같은 동영상 파일로 합친 것으로, 하나의 인코딩 서버에서 변환이 이루어지는 방식보다 훨씬 빠르게 동영상 변환이 가능하며, 굳이 고사양의 고가 서버가 아닌 저사양의 저렴한 서버로도 충분히 고화질 영상을 빠르게 변환하여 제공할 수 있다. Part of the invention the end of the single video file is one of the encoding, not only made the encoding and transcoding server, and the original movie file into a number of sections file split, dispersed in various encoding server and the encoding request, encoding that the combined collection of files back together into a video file, such as original video content, much faster than the method comprising the conversion from one encoding server allows video conversion, and dare enough high quality with cheap servers in the low end than the high-end high-end servers It may be provided to quickly convert video.

아울러, 웹 하드 서비스 업체처럼 다수의 파일 서버를 두고 있는 시스템에 본 발명을 적용하여 기존에 수행하고 있는 기능(예: 웹 하드 일 경우 파일을 업로드 및 다운로드 하는 기능)과 별도로 동영상 파일에 대한 인코딩 및 트랜스코딩 서비스를 추가할 수 있다. In addition, Web hard service functions that perform the traditional to the present invention is applied to a system with multiple file servers as companies (for example: if the hard work the ability to upload and download files) and encoding for a separate video file and you can add transcoding services.

이하, 첨부된 도면을 참조하여 본 발명을 설명한다. With reference to the accompanying drawings, the present invention will be described.

다만, 이하에서 설명되는 실시예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 발명을 쉽게 실시할 수 있을 정도로 상세하게 설명하기 위한 것에 불과하며, 이로 인해 본 발명의 보호범위가 한정되는 것을 의미하지는 않는다. However, the embodiments described in the following examples is that the only, and only a This scope of the invention as to be described in detail to be able to self easily carrying out the invention one of ordinary skill in the art meaning it does not.

도 1a의 동영상 인코딩 시스템은 본 발명에 따른 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 시스템을 도시한 것으로, 업로드 클라이언트(100), 인코딩 매니지먼트 서버(200), 인코딩 서버(300-1 ~ 300-4), 다운로드 클라이언트(400)를 포함하여 이루어진 것이다. Video encoding system of Figure 1a, showing that the motion picture encoding system based on a grid (Grid) distributed file system method according to the present invention, the uploading client 100, encoding management server 200, the encoding server (300-1 ~ been made, including 300-4), the download client 400.

즉, 원본 동영상 파일을 업로드하는 업로드 클라이언트(100), 업로드된 동영상 파일을 여러 개의 부분 파일로 스플리트(split)하고, 스플리트하여 나온 부분 파일들 각각의 인코딩 서버를 설정하며, 설정된 해당 인코딩 서버로 해당 부분 파일과 변환 정보를 분산 전송하고, 변환이 완료된 부분 파일을 해당 인코딩 서버로부터 전송받고 합쳐서 원본 동영상과 같은 내용의 하나의 동영상 파일을 구성하는 인코딩 매니지먼트 서버(200), 인코딩 매니지먼트 서버(200)로부터 해당 부분 파일과 변환 정보를 전송받고, 전송받은 해당 부분 파일을 상기 변환 정보에 따라 사용자가 원하는 파일로 변환해주는 다수의 인코딩 서버(300-1~300-4), 변환된 동영상 파일을 다운로드 및 스트리밍 받는 다운로드 클라이언트(400)를 포함하여 이루어진 것이다. That is, the scan of original video upload client 100, the uploaded video file to upload a file into several parts File Split (split) and split the sets for each of the encoding server, the partial file out, the encoding server set the transmission balancing the beginning of the file and the conversion information and converting the received transmission part file is completed from the encoding server combined encoding management that constitute a video file of the same contents as the original video server (200), the encoding management server (200 ) being sent to the beginning of the file and the conversion information from, and download a number of encoding the server (300-1 ~ 300-4), the converted movie file which the user is converted to the desired file according to the file transfer that portion received in the conversion information It has been made, including the downloading and streaming client 400 receives.

여기서, 부호 101은 원본 동영상 파일, 부호 102는 원본 동영상의 부분 파일, 부호 103은 변환된 동영상의 부분 파일, 104는 원본 동영상 파일 내용과 같은 내용의 변환된 동영상 파일이다. Here, reference numeral 101 is an original video file, reference numeral 102 denotes a part file, reference numeral 103 denotes a part of a file of the converted video in the video source, 104 is converted video file of the same contents as the original video content file.

이러한 본 발명에 따른 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 시스템의 동작을 도 1b를 참조하여 설명한다. It will be described with reference to Figure 1b grid operation of the video encoding system based on a distributed manner (Grid) file system according to this invention.

먼저, 업로드 클라이언트(100)가 인코딩 매니지먼트 서버(200)로 원본 동영상 파일(101)을 업로드한다. First, upload Upload Client 100 encodes the management server 200, the original video file (101) to.

다음, 인코딩 매니지먼트 서버(200)는 업로드 받은 원본 동영상 파일(101)을 몇 개의 부분 파일로 스플리트(split) 할 것인지를 결정한다. Next, the encoding management server 200 determines whether to split (split) the received upload the original video file (101) into several partial files.

동영상 파일을 몇 개의 부분 파일로 나눌 것인지에 대한 기준은 원본 동영상의 화질(예: 고화질, 저화질)과, 인코딩 매니지먼트 서버(200)에 연결된 인코딩 서버(300-1~300-4)의 사양 정보(예: CPU, 메모리 사양 정보) 및 수량을 고려하여 인코딩 매니지먼트 서버(200)가 결정한다. Specification information with, encoding the encoding server management server (300-1 ~ 300-4) connected to 200 (e.g., based on whether to share the video file into a number of partial files are original video quality (high-definition, low-quality example) : determines the CPU, memory specification information), and in consideration of the encoding quantity management server 200.

예를 들면, 표 1과 같다. For example, as shown in Table 1.





조건 Condition

1) 인코딩 매니지먼트 서버에 연결된 인코딩 서버(dual core, 2G 메모리 기준)가 10대 있고, And 1) encoding management server connected to the encoding server (dual core, 2G memory reference) is 10,

2) 각각의 인코딩 서버 사양 정보가 다음과 같으며, 2) were each encoding server specification information is as follows,
『 CPU 사용량 : 10% 미만, 메모리 사용량 50% 미만 』 "CPU utilization: less than 10%, less than 50% memory usage."

3) 원본 동영상의 화질이 HD급이고 재생(duration) 시간이 1시간 일 경우 3) If the quality of the original video and one HD-quality playback (duration) time is 1 hour

결과 result

파일 용량과는 상관이 없이 duration을 6분 단위로 부분 파일 10개로 스플리트(split). File capacity is correlated with the duration the pleat to 10 parts file scheme in 6 minutes (split) without.

다음, 원본 동영상 파일(101)을 몇 개의 부분 파일로 나눌 것인지가 결정되면, 결정된 개수대로 원본 동영상 파일(101)을 여러 개의 부분 파일로 스플리트(split)한다. The next decision is whether to divide the original movie files (101) into several partial files, split (split) of the original video file (101) as determined sinks into several partial files.

이 때, 원본 동영상 파일(101)은 임의로 스플리트 되지 않고, 키 프레임(key frame) 단위로 이루어진다. At this time, the original video file (101) is not arbitrarily split, consists of a unit key frame (key frame).

다음, 원본 동영상 파일(101)이 여러 개의 부분 파일로 스플리트되면, 스플리트된 부분 파일들(102) 각각의 인코딩 서버를 결정한다. The next time, the original video file 101 is split into a number of sections file, determines the split each of the encoding server of the file section 102. The

이를 위해, 우선, 스플리트된 부분 파일들(102)을 인코딩할 인코딩 서버들을 결정한다. To this end, first, it determines the encoding server to encode the switch to the pleated part file (102).

상기 결정은 현재 인코딩 매니지먼트 서버(200)에 연결되어 있는 인코딩 서버들의 각 상태 정보를 고려하여 이루어진다. The decision is made in consideration of the status information of each encoding servers that are currently connected to the encoding management server 200.

예를 들면, 표 2와 같다. For example, it is shown in Table 2.










조건 Condition

1) 현재 인코딩 매지니먼트 서버에 연결되어 있는 인코딩 서버가 10대가 있 고 다음과 같은 상태이며, 1) and the encoding server that is connected to the current server encoding every Ginny treatments can cost 10, and the following conditions,

『 1번 인코딩 서버) CPU: 10%, Memory 10%, 인코딩 중인 프로세스 1 개 "No. 1 encoding server) CPU: 10%, Memory 10%, the encoding process being one
2번 인코딩 서버) CPU: 20%, Memory 20%, 인코딩 중인 프로세스 2 개 2 Encoding Server) CPU: Process being 20%, Memory 20%, encoding 2
3번 인코딩 서버) CPU: 30%, Memory 30%, 인코딩 중인 프로세스 2 개 3 Encoding Server) CPU: 30%, Memory 30%, the encoding process being 2
4번 인코딩 서버) CPU: 40%, Memory 40%, 인코딩 중인 프로세스 3 개 4 Encoding Server) CPU: Process being 40%, Memory 40%, encoding 3
5번 인코딩 서버) CPU: 50%, Memory 50%, 인코딩 중인 프로세스 2 개 5 Encoding Server) CPU: 50%, Memory 50%, the encoding process being 2
6번 인코딩 서버) CPU: 10%, Memory 60%, 인코딩 중인 프로세스 3 개 6 Encoding Server) CPU: 10%, Memory 60%, the encoding process being 3
7번 인코딩 서버) CPU: 20%, Memory 70%, 인코딩 중인 프로세스 1 개 7 Encoding Server) CPU: 20%, Memory 70%, the encoding process being one
8번 인코딩 서버) CPU: 30%, Memory 80%, 인코딩 중인 프로세스 2 개 8 Encoding Server) CPU: 30%, Memory 80%, the encoding process being 2
9번 인코딩 서버) CPU: 40%, Memory 90%, 인코딩 중인 프로세스 3 개 No. 9 Encoding Server) CPU: 40%, Memory 90%, the encoding process being 3
10번 인코딩 서버) CPU: 50%, Memory 90%, 인코딩 중인 프로세스 3 개 』 10 Encoding Server) CPU: 50%, Memory 90%, the encoding process being three. "

2) 인코딩할 부분 파일이 5개 일 때 위의 인코딩 서버에서 5개를 추출하는 경우 2) When the file is encoded portion for extracting from the above five of the encoding server when 5 days




결과 result

① CPU사용량이 적은 순서로 정렬 -> 1번, 6번, 2번, 7번, 3번, 8번, 4번, 9번, 5번, 10번 인코딩 서버 순으로 정렬 ① is arranged in a small order of CPU usage> 1, 6, 2, 7, 3, 8, 4, 9, 5, 10 encoding server ordered by

② ①번의 결과에서 메모리 사용량이 70% 미만인 서버 선정 -> 1번, 6번, 2번, 3번, 4번, 5번, 6번 ② ① Selected results from the server is less than 70% of memory usage times ->, 6, 1, 2, 3, 4, 5, 6

③ ②번 결과에서 상위 5개 서버 선정 -> 1번, 6번, 2번, 3번, 4번 ③ ② once the top five server selection results -> 1, 6, 2, 3, 4

참고로, 인코딩 중인 프로세스와 CPU 사용량은 비례하므로 인코딩 중인 프로세스의 수를 서버 선정 요소로 포함하지 않을 수 있다. Please note, you are encoding process and CPU usage is proportional, so can not contain the number of the encoding process of being selected as a server component.

다음, 결정된 인코딩 서버들 각각에 스플리트된 부분 파일들을 몇 개 전송할 것인지를 결정한다. Next, decide whether to send a few files Split a part of the determined encoding server, respectively.

이 결정은 현재 해당 인코딩 서버의 CPU 부하에 따라 이루어진다. This determination is made based on the current CPU load of the server encoding.

이 때, 인코딩 매니지먼트 서버(200)는 주기적으로 각 인코딩 서버(300-1~300-4)와 통신하여 각 인코딩 서버(300-1~300-4)의 인코딩 상태 정보(예: 변환 진행율, 변환 완료 여부 등)와 서버 상태 정보(예: CPU, 메모리, storage, Encoding status 등)를 수집하여 잡(Job)을 줄 것인지 말 것인지를 결정하는, 동영상 변환을 위한 최적의 스케쥴링을 수행한다. At this time, the encoding management server 200 periodically, each encoding server (300-1 ~ 300-4) encoded state information (for example, with the communication to each of the encoding server (300-1 ~ 300-4): Conversion progress, conversion perform a CPU, memory, storage, Encoding status, etc.), the optimal scheduling for, convert video to determine whether or not to give the job (job) by collecting: complete status, etc.) and server status information (eg.

다음, 스플리트된 부분 파일들(102) 각각의 인코딩 서버가 결정되면, 결정된 해당 인코딩 서버로 해당 부분 파일(102)과 변환 정보(예: 포맷, 화질 등)를 전송한다. If then the scan the pleated part files 102, each of the encoding server is determined, the file section 102 and the conversion information to the encoding server determined: transmits (e.g., format, image quality, etc.).

그러면, 각 인코딩 서버(300-1~300-4)는 자신이 인코딩할 해당 부분 파일(102)과 변환 정보를 전송받아, 전송받은 변환 정보(예: 포맷, 화질 등)에 따라 자신이 인코딩할 해당 부분 파일(102)을 사용자가 원하는 파일로 변환한다. Then, each of the encoding server (300-1 ~ 300-4) is receiving its transmission to the beginning of the file 102, and converts the information to be encoded, transmitted received conversion information: to their encoded in accordance with (for example format, image quality, etc.) It converts the part file 102 to the file that the user wants.

변환이 완료되면, 변환이 완료된 부분 파일(103)을 인코딩 매니지먼트 서버(200)로 전송한다. When the conversion is complete, and sends a file area 103, the conversion is complete by encoding management server 200.

이어, 인코딩 매니지먼트 서버(200)는 각 인코딩 서버(300-1~300-4)로부터 전송받은 변환이 완료된 부분 파일(103)을 합쳐서(merge), 원본 동영상 파일의 내용과 같은 내용의 하나의 변환된 동영상 파일(104)을 구성한다. Subsequently, the encoding management server (200) is one of the transformation of information such as the contents of each encoding servers (300-1 ~ 300-4) (merge), the original video file together with the file transfer portion (103) received from the conversion is completed, constitute a video file (104).

그리고, 이렇게 구성된 변환된 동영상 파일(104)을 소정의 다운로드 클라이언트(400)의 요청시, 해당 다운로드 클라이언트(400)에게 스트리밍 및 다운로드해준다. Then, the thus constructed allows the conversion of a video file (104) to the request, the download client 400 of predetermined download the client 400, streaming and downloading.

이와 같이, 본 발명은 하나의 원본 동영상 파일(101)이 하나의 인코딩 서버에서만 인코딩 및 트랜스코딩이 이루어지는 것이 아니라, 원본 동영상 파일(101)을 여러 개의 부분 파일(102)로 스플리트하여, 여러 인코딩 서버(300-1~300-4)에 분산하여 인코딩 요청을 하고, 인코딩이 끝난 부분 파일(103)을 다시 하나로 모아 원래의 동영상 내용과 같은 내용의 동영상 파일(104)로 합쳐서, 하나의 인코딩 서버에서 변환이 이루어지는 방식보다 훨씬 빠르게 동영상 변환이 가능하며, 굳이 고사양의 고가 서버가 아닌 저사양의 저렴한 서버로도 충분히 고화질 영상을 빠르게 변환하여 제공하게 된다. Thus, the present invention is one of the original movie file 101 is not only formed of the encoding and transcoding one encoding server, to the original movie file 101 into a number of sections file 102 Split, various encoding distributed to the servers (300-1 ~ 300-4) for encoding request, it encodes the collected files portion 103 ends back together collectively as a video file 104 of the same contents as the original video content, one of the encoding server significantly faster than the system comprising a transformation is possible from the video conversion, and is deliberately provided to fast enough to transform the low quality video server in the low-end non-expensive high-end servers.

도 2의 동영상 인코딩 장치는 본 발명에 따른 인코딩 매니지먼트 서버(200)에 내장된 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 장치를 도시한 것이다. FIG video encoding apparatus of Figure 2 shows a video encoding apparatus with the variance of the grid (Grid) file system, the encoding scheme embedded management server 200 according to the present invention.

구체적으론, 파일 업로드/다운로드 전송 모듈(201), 인코딩 스케쥴링 모듈(202), 인코딩 서버 제어 모듈(203), 인코딩 상태 모니터링 모듈(204), 동영상 파일 스플리트(split) 모듈(205), 동영상 파일 합성(Merge) 모듈(206), 인코딩 서버 통신 모듈(207)로 된 것이다. Specifically euron, file upload / download transfer module 201, encoding the scheduling module 202, an encoding server control module 203, encoding the status monitoring module 204, the video file Split (split) module 205, the video file It is a synthetic (Merge) module 206, an encoding server communication module 207.

파일 업로드/다운로드 전송 모듈(201)은 업로드 클라이언트(100)로부터 고화질의 원본 동영상 파일을 업로드 받거나, 인코딩 서버(300-1~300-4)에 의해 사용자가 원하는 포맷으로 변환된 동영상 파일을 다운로드 클라이언트(400)로 다운로드 및 스트리밍 해주는 기능을 수행한다. File upload / download transmission module 201 receive uploaded from the client 100 to upload the movie file of the original high image quality, the encoding server (300-1 ~ 300-4), the user downloads the video files converted to the desired format by the client It shall perform the functions that download and streaming (400).

인코딩 스케쥴링 모듈(202)은 연결된 각 인코딩 서버(300-1~300-4)의 상태(예: CPU, Storage 등)를 지속적으로 체크하여 원본 동영상 파일에 대한 인코딩 및 트랜스코딩을 하기 위한 잡(Job) 분배 스케쥴링을 수행하는 것이다. Encode scheduling module 202 is the status of each of the encoding server (300-1 ~ 300-4) connected: to continuously check (for example, CPU, Storage, and so on) the job to the encoding and transcoding of the original movie file (Job ) it is to perform a distributed scheduling.

인코딩 서버 제어 모듈(203)은 각 인코딩 서버(300-1~300-4)에 사용자가 원하는 변환 정보(예: 변환할 포맷 정보와 화질 정보)로 원본 동영상 파일에 대한 인코딩 및 트랜스코딩을 분산 요청한다. Distribution request encoding and transcoding for the original video file to: (format information and quality information to be converted for example), the encoding server control module 203 are each encoded server (300-1 ~ 300-4) conversion information the user wants to do.

인코딩 상태 모니터링 모듈(204)은 각 인코딩 서버(300-1~300-4)로부터 서버의 자원 정보(예: CPU, 메모리, Storage, Encoding Status 등)를 수집하여 관리자가 모니터링을 할 수 있는 정보를 제공한다. Encoding status monitoring module 204 is the resource information (for example: CPU, Memory, Storage, Encoding Status, etc.) of the server from each of the encoding server (300-1 ~ 300-4) to collect information from the administrator to monitor the to provide.

동영상 파일 스플리트(split) 모듈은 업로드받은 원본 동영상 파일을 키 프레임(keyframe) 단위로 여러 개의 부분 파일로 스플리트(split)하고, 스플리트하여 나온 부분 파일을 저장하는 것이다. Split video files (split) modules are split (split) of the original video file you upload as keyframes (keyframe) units into several partial files, and to save a part of the file from the Split.

동영상 파일 합성(Merge) 모듈은 각 인코딩 서버(300-1~300-4)로부터 사용자가 원하는 변환 정보로 변환이 완료된 부분 파일을 전송받아 합쳐서(merge) 원본 동영상 파일의 내용과 같은 내용의 동영상 파일을 구성한다. Composite video files (Merge) module is a video file of user information such as the contents of a combined (merge) the original video file transfer to take part of the file conversion is complete conversion to the desired information from each encoding servers (300-1 ~ 300-4) constitute.

인코딩 서버 통신 모듈(207)은 각 인코딩 서버(300-1~300-4)와의 통신으로 각 인코딩 서버(300-1~300-4)로부터 필요한 상태 정보를 전송받는 것이다. Encoding the server communication module 207 is to receive the required transmission status information from each of the encoding server (300-1 - 300-4) to communicate with each encoding server (300-1 ~ 300-4).

이러한 본 발명에 따른 인코딩 매니지먼트 서버(200)에 내장된 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 장치의 동작을 설명하면 다음과 같다. Referring to the operation of such a grid (Grid) through a motion picture encoding device of the distributed file system, the encoding scheme embedded management server 200 according to the present invention.

먼저, 파일 업로드/다운로드 전송 모듈(201)이 업로드 클라이언트(100)로부터 원본 동영상 파일을 업로드받는다. First, get the original video file upload file upload / download transfer module 201 is uploaded from the client (100).

다음, 동영상 파일 스플리트(split) 모듈(205)은 파일 업로드/다운로드 전송 모듈(201)이 업로드받은 원본 동영상 파일을 여러 개의 부분 파일로 스플리트한다. Next, a video file, split (split) module 205 to split the original movie's Inbox file upload / download transfer module 201 to upload files into multiple parts.

동영상 파일을 몇 개의 부분 파일로 나눌 것인지에 대한 기준은 원본 동영상의 화질(예: 고화질, 저화질)과, 인코딩 매니지먼트 서버(200)에 연결된 인코딩 서버(300-1~300-4)의 사양 정보(예: CPU, 메모리 사양 정보) 및 수량을 고려하여 결정한다. Specification information with, encoding the encoding server management server (300-1 ~ 300-4) connected to 200 (e.g., based on whether to share the video file into a number of partial files are original video quality (high-definition, low-quality example) : determined in view of the CPU, memory specification information) and quantity.

다음, 인코딩 서버 제어 모듈(203)은 동영상 파일 스플리트 모듈(205)에 의해 스플리트하여 나온 부분 파일들 각각의 인코딩 서버를 설정하고, 설정된 해당 인코딩 서버에 해당 부분 파일과 변환 정보로 인코딩 서버 통신 모듈(207)을 통해 인코딩을 분산 요청한다. Next, the encoding server control module 203 is a video file Split module 205 split by setting the respective encoding server parts file out, and the encoding server that portion encoded in files and conversion information server communication established by the encoding through the module 207 to request distribution.

상기 인코딩 서버 결정은 인코딩 상태 모니터링 모듈(204)이 체크한 현재 인코딩 매니지먼트 서버(200)에 연결되어 있는 각 인코딩 서버(300-1~300-4)의 상태 정보(예: CPU, 메모리, Storage, Encoding Status 등)를 고려하여 이루어진다. The encoding server decision is encoded status monitoring module 204, status information of each encoding server (300-1 ~ 300-4) that is connected to the current encoding management server 200, a check (for example: CPU, Memory, Storage, Encoding is made in consideration of the Status, etc.).

다음, 인코딩 서버 통신 모듈(207)을 통해 각 인코딩 서버(300-1~300-4)에 의해 사용자가 원하는 변환 정보로 변환이 완료된 부분 파일들을 해당 인코딩 서버로부터 전송받는다. Next, an encoding server through the communication module 207 by the user for each encoding server (300-1 ~ 300-4) and receives the beginning of the file is complete conversion to the desired conversion information from the encoding server.

그러면, 동영상 파일 합성 모듈(206)은 인코딩 서버 통신 모듈(207)을 통해 전송받은 변환이 완료된 부분 파일을 합쳐서 원본 동영상 파일의 내용과 같은 내용의 하나의 동영상 파일을 구성한다. Then, the video file synthesis module 206 may configure a single video file of the same contents as the contents of the original video file by combining the received portion of the file is sent via the conversion encoding server communication module 207 is complete.

이렇게 하여, 변환이 완료된 동영상 파일을 다운로드 클라이언트(400)의 요청시, 파일 업로드/다운로드 전송 모듈(201)을 통해 해당 클라이언트에게 제공할 수 있게 된다. In this way, it is able to offer its clients through the conversion request, file upload / download transfer module 201 of the client to download the video file is completed (400).

도 3의 동영상 인코딩 장치는 본 발명에 따른 인코딩 서버(300)에 내장된 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 장치를 도시한 것이다. Video encoding device of Figure 3 shows a video encoding apparatus with the variance of the grid (Grid) file system scheme built into the encoding server 300 in accordance with the present invention.

구체적으론, 파일 업로드/다운로드 전송 모듈(301), 동영상 인코딩 및 트랜스코딩 모듈(302), 시스템 상태 체크 모듈(303), 인코딩 매니지먼트 서버 통신 모듈(304)로 된 것이다. Specifically euron, as will the file upload / download transfer module 301, the video encoding and transcoding module 302, system status checking module 303, an encoding management server communication module 304.

즉, 인코딩 매니지먼트 서버(200)로부터 인코딩 및 트랜스코딩할 원본 동영상 파일의 부분 파일과 변환 정보를 전송받고, 변환이 완료된 부분 파일을 다시 인코딩 매니지먼트 서버(200)로 회신해주는 파일 업로드/다운로드 전송 모듈(301), 전송받은 원본 동영상 파일의 부분 파일을 상기 변환 정보에 따라 인코딩 및 트랜스코딩하는 동영상 인코딩 및 트랜스코딩 모듈(302), 해당 인코딩 서버의 상태 정보를 체크 및 수집하는 시스템 상태 체크 모듈(303) 및, 수집한 해당 인코딩 서버의 상태 정보(예: CPU, 메모리, Storage, Network, Encoding Status 등)를 인코딩 매니지먼트 서버(200)로 전송해주는 인코딩 매니지먼트 서버 통신 모듈(304)로 된 것이다. In other words, the encoding management being sent for encoding and transcoding part of the file and convert the information of the source video file to code from the server 200, the file upload to convert the reply beginning of the file is completed by re-encoding management server (200) / download transfer module ( 301), the video encoding and transcoding module 302, system status checking module 303 for checking and collecting status information of the encoding server for encoding and transcoding, in accordance with the partial file of the transmission source video file received in the conversion information It is encoded by the management server communication module 304 that transmits a: (CPU, memory, Storage, Network, encoding status, etc.) by encoding management server 200 and the state information collected the encoding server.

이러한 본 발명에 따른 인코딩 서버에 내장된 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 장치의 동작은 다음과 같다. The operation of the video encoding apparatus via the grid (Grid) distributed file system server system built into the encoding of the present invention are as follows.

먼저, 파일 업로드/다운로드 전송 모듈(301)이 인코딩 매니지먼트 서버(200)로부터 인코딩 및 트랜스코딩할 원본 동영상 파일의 부분 파일과 변환 정보(예: 포맷 정보, 화질 정보 등)를 전송받는다. First, the file upload / download transfer module 301, the encoding management server 200, the encoding and transport section file and the conversion information of the original movie file to be coded from: (for example, format information, image quality information, and the like) and receives.

다음, 동영상 인코딩 및 트랜스코딩 모듈(302)은 파일 업로드/다운로드 전송 모듈(301)이 전송받은 원본 동영상 파일의 부분 파일을 상기 변환 정보에 따라 사용자가 원하는 형식으로 인코딩 및 트랜스코딩한다. Next, the video encoding and transcoding module 302 to the user a part of the original file, a video file received file upload / download transfer module 301 are transmitted in accordance with the conversion information encoding and transcoding into a desired format.

인코딩 및 트랜스코딩이 완료되면, 파일 업로드/다운로드 전송 모듈(301)은 동영상 인코딩 및 트랜스코딩 모듈(302)에 의해 인코딩 및 트랜스코딩된 부분 파일을 인코딩 매니지먼트 서버(200)로 회신해준다. When encoding and transcoding is complete, it allows the file upload / download transfer module 301 returns an encoded and transcoded portion of the file by the video encoding and transcoding module 302 by encoding management server 200.

이렇게 회신된 부분 파일은 인코딩 매니지먼트 서버(200)에 의해 원본 동영상 파일의 내용과 같은 내용의 동영상 파일로 합쳐져 원하는 클라이언트에게 제공된다. This part of the response file is provided to interested clients, combined with video files of information such as the contents of the original video files encoded by the management server (200).

한편, 시스템 상태 체크 모듈(303)은 해당 인코딩 서버의 상태 정보(예: CPU, 메모리, Storage, Network, Encoding Status 등)를 주기적으로 체크 및 수집하여 인코딩 매니지먼트 서버 통신 모듈(304)을 통해 인코딩 매니지먼트 서버(200)로 전송하는데, 이렇게 전송된 정보는 인코딩 매니지먼트 서버(200)에서 스플리트된 원본 동영상 파일의 부분 파일들 각각의 인코딩 서버를 설정하는데 사용된다. On the other hand, the system condition check module 303 is the status information of the encoding server encoded through periodically checked and collected (for example, CPU, Memory, Storage, Network, Encoding Status, etc.) encoding management server communication module 304 Management to transmit to the server 200, and thus the transmitted information is used to set up a split of the original video file server in each of the encoding portion of the file from the encoded management server 200.

도 4의 동영상 인코딩 방법은 본 발명에 따른 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 방법을 도시한 것이다. Video encoding method of Figure 4 illustrates a video encoding method using a grid (Grid) distributed file system method according to the invention.

먼저, 인코딩 매니지먼트 서버가 업로드 클라이언트로부터 원본 동영상 파일을 업로드 받는다(S400). First, the encoding management server receives the upload original video files uploaded from the client (S400).

다음, 단계(S400)에서 업로드 받은 원본 동영상 파일을 몇 개의 부분 파일로 스플리트(split) 할 것인지를 결정한다. Determine the following, if you want to split (split) of the original video file you uploaded in step (S400) into several part files.

원본 동영상 파일을 몇 개의 부분 파일로 나눌 것인지에 대한 기준은 원본 동영상의 화질(예: 고화질, 저화질)과, 인코딩 매니지먼트 서버에 연결되어 있는 인코딩 서버의 사양 정보(예: CPU, 메모리 사양 정보) 및 수량을 고려하여 인코딩 매니지먼트 서버가 결정한다. Criteria for whether to divide the original movie file into several parts file quality (eg, high-quality, low-quality) of the original movie, and encode management of the encoding server that is connected to the server specifications (eg: CPU, memory specifications) and quantity the management server and the encoding determined in consideration.

예를 들면, 다음과 같다. For example:

『 1) 인코딩 매니지먼트 서버에 연결된 인코딩 서버(dual core, 2G 메모리 기준)가 10대 있고, 'And 1) encoding management server connected to the encoding server (dual core, 2G memory reference) is 10,

2) 각각의 인코딩 서버 사양 정보가 다음과 같으며, 2) were each encoding server specification information is as follows,

[ CPU 사용량 : 10% 미만, 메모리 사용량 50% 미만 ] [CPU usage: less than 10%, less than 50% memory usage;

3) 원본 동영상의 화질이 HD급이고 재생(duration) 시간이 1시간 일 경우 3) If the quality of the original video and one HD-quality playback (duration) time is 1 hour

4) 파일 용량과는 상관이 없이 duration을 6분 단위로 파일 10개로 스플리트(split)한다. 4) file capacity and the duration is no correlation file 10 in 6 minutes dog and Split (split). "

다음, 원본 동영상 파일을 몇 개의 부분 파일로 나눌 것인지가 결정되면, 결정된 개수대로 원본 동영상 파일을 여러 개의 부분 파일로 스플리트(split) 한다(S401). The next decision is whether to divide the original movie file into several parts file, split (split) the original video file is determined to sink into multiple parts file (S401).

이 때, 원본 동영상 파일은 임의로 스플리트 되지 않고, 키 프레임(key frame) 단위로 이루어진다. At this time, the original video file is not arbitrarily split, consists of a unit key frame (key frame).

다음, 원본 동영상 파일이 여러 개의 부분 파일로 스플리트되면, 스플리트된 부분 파일들 각각의 인코딩 서버를 결정한다(S402). If, then, the original video file, split a file into several parts, and determines the split part of the files of each of the encoding server (S402).

이를 위해, 우선, 스플리트된 부분 파일들을 인코딩할 인코딩 서버들을 결정한다. To do this, first determine the encoding server to encode split a portion files.

상기 결정은 현재 인코딩 매니지먼트 서버에 연결되어 있는 각 인코딩 서버의 상태 정보를 고려하여 이루어진다. The decision is made in consideration of the status information of each encoding a server that is connected to the current encoding management server.

예를 들면, 다음과 같다. For example:

1) 현재 인코딩 매지니먼트 서버에 연결되어 있는 인코딩 서버가 10대가 있고 다음과 같은 상태이고, 1) and the encoding server that is connected to the current encoding every Genie garment server state 10 and return the following,

『 1번 인코딩 서버) CPU: 10%, Memory 10%, 인코딩 중인 프로세스 1 개 "No. 1 encoding server) CPU: 10%, Memory 10%, the encoding process being one

2번 인코딩 서버) CPU: 20%, Memory 20%, 인코딩 중인 프로세스 2 개 2 Encoding Server) CPU: Process being 20%, Memory 20%, encoding 2

3번 인코딩 서버) CPU: 30%, Memory 30%, 인코딩 중인 프로세스 2 개 3 Encoding Server) CPU: 30%, Memory 30%, the encoding process being 2

4번 인코딩 서버) CPU: 40%, Memory 40%, 인코딩 중인 프로세스 3 개 4 Encoding Server) CPU: Process being 40%, Memory 40%, encoding 3

5번 인코딩 서버) CPU: 50%, Memory 50%, 인코딩 중인 프로세스 2 개 5 Encoding Server) CPU: 50%, Memory 50%, the encoding process being 2

6번 인코딩 서버) CPU: 10%, Memory 60%, 인코딩 중인 프로세스 3 개 6 Encoding Server) CPU: 10%, Memory 60%, the encoding process being 3

7번 인코딩 서버) CPU: 20%, Memory 70%, 인코딩 중인 프로세스 1 개 7 Encoding Server) CPU: 20%, Memory 70%, the encoding process being one

8번 인코딩 서버) CPU: 30%, Memory 80%, 인코딩 중인 프로세스 2 개 8 Encoding Server) CPU: 30%, Memory 80%, the encoding process being 2

9번 인코딩 서버) CPU: 40%, Memory 90%, 인코딩 중인 프로세스 3 개 No. 9 Encoding Server) CPU: 40%, Memory 90%, the encoding process being 3

10번 인코딩 서버) CPU: 50%, Memory 90%, 인코딩 중인 프로세스 3 개 』 10 Encoding Server) CPU: 50%, Memory 90%, the encoding process being three. "

2) 인코딩할 부분 파일이 5개 일 때 위의 인코딩 서버에서 5개를 추출하는 방법은 다음과 같다. 2) When the file is encoded portion 5 as a method to extract the encoding server 5 in the above are as follows.

① CPU사용량이 적은 순서로 정렬 -> 1번, 6번, 2번, 7번, 3번, 8번, 4번, 9번, 5번, 10번 인코딩 서버 순으로 정렬 ① is arranged in a small order of CPU usage> 1, 6, 2, 7, 3, 8, 4, 9, 5, 10 encoding server ordered by

② ①번의 결과에서 메모리 사용량이 70% 미만인 서버 선정 -> 1번, 6번, 2번, 3번, 4번, 5번, 6번 ② ① Selected results from the server is less than 70% of memory usage times ->, 6, 1, 2, 3, 4, 5, 6

③ ②번 결과에서 상위 5개 서버 선정 -> 1번, 6번, 2번, 3번, 4번 ③ ② once the top five server selection results -> 1, 6, 2, 3, 4

참고로, 인코딩 중인 프로세스와 CPU 사용량은 비례하므로 인코딩 중인 프로세스의 수를 서버 선정 요소로 포함하지 않는다. Please note, you are encoding process and CPU usage is proportional, so do not include the number of the encoding process of being selected as a server component.

다음, 결정된 인코딩 서버들 각각에 스플리트된 부분 파일들을 몇 개 전송할 것인지를 결정한다. Next, decide whether to send a few files Split a part of the determined encoding server, respectively.

이 결정은 현재 해당 인코딩 서버의 CPU 부하에 따라 이루어진다. This determination is made based on the current CPU load of the server encoding.

이 때, 인코딩 매니지먼트 서버는 주기적으로 각 인코딩 서버와 통신하여 동영상 변환을 위한 최적의 스케쥴링을 수행한다. At this time, the encoding management server may periodically communicate with the server, and performs each encoding an optimal scheduling for video conversion.

즉, 인코딩 매니지먼트 서버는 각 인코딩 서버의 인코딩 상태 정보(예: 변환 진행율, 변환 완료 여부 등)와 서버 상태 정보(예: CPU, 메모리, storage, Encoding status 등)를 수집하여 잡(Job)을 줄 것인지 말 것인지를 결정하는, 동영상 변환을 위한 최적의 스케쥴링을 수행한다. That is, the encoding management server each encoded encoded status information from the server (for example, conversion progress, change completion Status, etc.), and server state information: to collect (e.g., CPU, memory, storage, Encoding status, etc.) have a job (Job) whether to decide the end, it performs optimal scheduling for video conversion.

다음, 스플리트된 부분 파일들 각각의 인코딩 서버가 결정되면, 결정된 해당 인코딩 서버로 원본 동영상 파일의 해당 부분 파일과 변환 정보(예: 포맷, 화질 등)를 전송한다(S403). When then the Split file portion of each of the encoding server is determined, the part file and the conversion information of the original movie file to the encoding server determined: transmits (e.g., format, image quality, etc.) (S403).

그러면, 각 인코딩 서버는 자신이 인코딩할 해당 부분 파일과 변환 정보를 전송받아, 전송받은 변환 정보(예: 포맷, 화질 등)에 따라 자신이 인코딩할 원본 동영상 파일의 해당 부분 파일을 사용자가 원하는 파일로 변환한다. Then, each encoding server is receiving and the beginning of the file and convert the information to their encoding, transmitting received conversion information: the file that you want the part files in the source video file to their encodings depending on (eg, format, quality, etc.) It is converted to.

다음, 변환이 완료되면, 변환이 완료된 부분 파일을 각 인코딩 서버로부터 전송받는다(S404). If then the conversion is complete, and receives a portion of the file conversion is complete, from the respective encoding server (S404).

이어, 전송받은 변환이 완료된 부분 파일을 합쳐서(merge), 원본 동영상 파일과 같은 내용의 하나의 동영상 파일을 구성한다(S405). Then, combine the part of the file transfer is complete convert who constitute one of the video files of information such as (merge), the original video file (S405).

이렇게 구성된 동영상 파일은 소정의 클라이언트의 요청시(S406), 해당 클라이언트로 다운로드하여 제공하게 된다(S407). Thus constructed video file is provided by downloading to the request (S406) of a predetermined client, the client (S407).

이와 같이, 본 발명은 하나의 동영상 파일이 하나의 인코딩 서버에서만 인코딩 및 트랜스코딩이 이루어지는 것이 아니라, 원본 동영상 파일을 여러 개의 부분 파일로 스플리트하여, 여러 인코딩 서버에 분산하여 인코딩 요청을 하고, 인코딩이 끝난 부분 파일을 다시 하나로 모아 원래의 동영상 파일의 내용과 같은 동영상 파일로 합쳐서, 하나의 인코딩 서버에서 변환이 이루어지는 방식보다 훨씬 빠르게 동영상 변환이 가능하며, 굳이 고사양의 고가 서버가 아닌 저사양의 저렴한 서버로도 충분히 고화질 영상을 빠르게 변환하여 제공하게 된다. Thus, the present invention is not one of the video file only in comprising the encoding and transcoding one encoding server, to the original movie file into a number of sections file split, dispersed in various encoding server and the encoding request, encoding collect the completed part files back together collectively as a video file, such as the contents of the original video files, much faster than the method comprising the conversion from one encoding server allows video conversion and, dare high-end high-end server cheap servers in the low end, not also it will provide sufficiently rapid conversion to high quality video.

도 1a는 본 발명에 따른 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 시스템을 도시한 도면 Figure 1a is a view showing a motion picture encoding system based on a grid (Grid) distributed file system method according to the invention

도 1b는 본 발명에 따른 그리드 파일 시스템 방식의 분산을 통한 동영상 인코딩 시스템의 절차 흐름도 Figure 1b is a process flow diagram of a video encoding system based on a distributed manner grid file system according to the invention

도 2는 본 발명에 따른 인코딩 매니지먼트 서버에 내장된 그리드 파일 시스템 방식의 분산을 통한 동영상 인코딩 장치를 도시한 블록구성도 2 is a block diagram showing a video encoding apparatus via the distributed file system of the grid to the encoding scheme embedded management server according to the present invention Fig.

도 3은 본 발명에 따른 인코딩 서버에 내장된 그리드 파일 시스템 방식의 분산을 통한 동영상 인코딩 장치를 도시한 블록구성도 3 is a configuration showing a video encoding apparatus via the distributed file system of the grid system built into the encoding server in accordance with the present invention; Fig.

도 4는 본 발명에 따른 그리드 파일 시스템 방식의 분산을 통한 동영상 인코딩 방법을 도시한 플로우챠트 Figure 4 illustrates a video encoding method using a dispersion of the grid system file system according to the invention the flow chart

* 도면의 주요 부분에 대한 부호의 설명 * * Description of the Related Art *

100 : 업로드 클라이언트 200 : 인코딩 매니지먼트 서버 100: Upload Client 200: Encoding Management Service

300-1 ~ 300-4 : 인코딩 서버 400 : 다운로드 클라이언트 300-1 ~ 300-4: 400 Encoding Server: Client downloads

201 : 파일 업로드/다운로드 전송모듈 202 : 인코딩 스케쥴링 모듈 201: File Upload / Download transfer module 202: Encoding scheduling module

203 : 인코딩 서버 제어 모듈 204 : 인코딩 상태 모니터링 모듈 203: encoding server control module 204: encoded status monitoring module

205 : 동영상 파일 스플리트 모듈 206 : 동영상 파일 합성 모듈 205: video file Split module 206: composite video file module

207 : 인코딩 서버 통신 모듈 207: encoding the server communications module

Claims (7)

  1. 인코딩 매니지먼트 서버가 업로드 클라이언트로부터 동영상 파일을 업로드받는 단계; Receiving encoded management server to upload the video files uploaded from the client;
    업로드된 동영상 파일을 여러 개의 부분 파일로 스플리트(split)하는 단계; Upload a video file into multiple files section's steps to split (split);
    스플리트하여 나온 부분 파일들 각각의 인코딩 서버를 설정하는 단계; The beginning of the file from the Split steps to set up each of the encoding server;
    설정된 해당 인코딩 서버로 해당 부분 파일과 변환 정보를 전송하는 단계; Transmitting the file portion and the conversion information to the encoding server is set up;
    상기 변환 정보에 의해 변환이 완료된 해당 부분 파일을 해당 인코딩 서버로부터 전송받는 단계; Phase transfer receiving the beginning of the file conversion is complete by the conversion information from the encoding server;
    전송받은 변환이 완료된 부분 파일을 합쳐서 원본 동영상과 같은 내용의 하나의 동영상 파일을 구성하는 단계를 포함하여 이루어진 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 방법. Transmission received moving image encoding method by combining the partial file conversion is complete, through the grid (Grid) distributed file system scheme made in a step constituting one of the video files of the same content as the original movie.
  2. 제 1 항에 있어서, According to claim 1,
    상기 업로드된 동영상 파일을 여러 개의 부분 파일로 스플리트(split)하는 단계는 Steps to split (split) the uploaded video file into multiple parts file
    원본 동영상의 화질과, 인코딩 매니지먼트 서버에 연결된 인코딩 서버의 성능 및 수량을 고려하여 키 프레임(key frame) 단위로 이루어지는 것을 특징으로 하는 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 방법. Video encoding method with the image quality and encoding management server grid (Grid) distributed file system method characterized in that comprising a key frame by frame (key frame) in consideration of the performance and yield of the encoding server connected to the source video.
  3. 제 1 항에 있어서, According to claim 1,
    상기 스플리트하여 나온 부분 파일들 각각의 인코딩 서버를 설정하는 단계는 Wherein the split by setting each of the encoded file from the server, the portions
    현재 인코딩 매니지먼트 서버에 연결된 각 인코딩 서버의 상태 정보에 의해 상기 부분 파일들을 인코딩할 인코딩 서버를 설정하는 단계; Establishing the encoding server to encode the partial file by the status information of each encoding server connected to the current encoding management server;
    상기 설정된 인코딩 서버의 CPU 부하에 따라, 해당 인코딩 서버에서 인코딩할 부분 파일의 개수를 설정하는 단계를 포함하여 이루어진 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 방법. Depending on the CPU load of the server is set encoding, the video encoding method using a dispersion composed of a grid (Grid) file system method, including the step of setting the number of the partial files to be encoded in the encoding server.
  4. 제 1 항에 있어서, According to claim 1,
    상기 변환 정보는 The conversion information is
    변환할 포맷(format) 정보와, 화질 정보 중 적어도 하나 이상을 포함하여 이루어진 것을 특징으로 하는 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 방법. Video encoding method by the format (format) information, and a grid (Grid) distributed file system method, characterized in that made in at least one or more of the image quality information to be converted.
  5. 원본 동영상 파일을 업로드하는 업로드 클라이언트; Upload to upload the original video file, the client;
    업로드된 동영상 파일을 여러 개의 부분 파일로 스플리트(split)하고, 스플리트하여 나온 부분 파일들 각각의 인코딩 서버를 설정하며, 설정된 인코딩 서버로 해당 부분 파일과 변환 정보를 전송하고, 변환이 완료된 부분 파일을 해당 인코딩 서버로부터 전송받아 합쳐서 원본 동영상과 같은 내용의 하나의 동영상 파일을 구성하는 인코딩 매니지먼트 서버; Uploaded video files into several parts File Split (split), and split the sets for each of the encoding server, the beginning of the file from, and send the corresponding part file and convert the information to set the encoding server part of the conversion is complete, files that encoding combined receiving and encoding from the server management that constitute a video file of the same contents as the original video servers;
    상기 인코딩 매니지먼트 서버로부터 해당 부분 파일과 변환 정보를 전송받고, 전송받은 해당 부분 파일을 상기 변환 정보에 따라 사용자가 원하는 파일로 변환해주는 인코딩 서버를 포함하여 이루어진 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 시스템. Being sent to the beginning of the file and the conversion information from the encoded management server, the user and through the grid (Grid) distributed file system method comprising an encoding server that converts the desired file according to a transmission that section file received in the conversion information video encoding system.
  6. 클라이언트로부터 동영상 파일을 업로드 받거나, 변환된 동영상 파일을 다운로드 및 스트리밍 해주는 파일 업로드/다운로드 전송 모듈; Receive or upload a video file from the client to download the converted video files and streaming files upload / download transfer module that;
    인코딩 서버의 상태를 체크하여 동영상 파일에 대한 인코딩 및 트랜스코딩을 하기 위한 잡(Job) 분배 스케쥴링을 수행하는 인코딩 스케쥴링 모듈; Encode scheduling module for checking the state of the encoding server to perform the job (Job) scheduling allocation for encoding and transcoding of the video file;
    인코딩 서버에 사용자가 원하는 변환 정보로 동영상 파일에 대한 인코딩 및 트랜스코딩을 요청하는 인코딩 서버 제어 모듈; Encoding server control module that the user requests the encoding and transcoding of the video file to the desired conversion information to the encoding server;
    업로드 받은 동영상 파일을 여러 개의 부분 파일로 스플리트(split)하는 동영상 파일 스플리트(Split) 모듈; Upload receive video files into several files parts split (split) video files Split (Split) modules;
    각 인코딩 서버가 변환한 부분 파일을 전송받아 합쳐서 원본 동영상 파일과 같은 내용의 동영상 파일을 구성하는 동영상 파일 합성(Merge) 모듈; Combining the portion of files that the respective receiving and encoding server converts the content of the video file, the video synthesis (Merge) modules that make up the file, such as the original movie file;
    인코딩 서버로부터 자원 정보를 수집하여 관리자가 모니터링 할 수 있는 정보를 제공하는 인코딩 상태 모니터링 모듈; The encoding status monitoring module collects resource information from the encoding server that provides information that allows administrators to monitor; And
    각 인코딩 서버와 통신하는 인코딩 서버 통신 모듈을 포함하여 이루어지는 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 장치. Encoding each server and the communication server encodes the video encoding apparatus via the dispersion consisting of a grid (Grid) file system method, including a communication module.
  7. 인코딩 매니지먼트 서버로부터 인코딩 및 트랜스코딩할 부분 파일과 변환 정보를 전송받고, 변환된 부분 파일을 인코딩 매니지먼트 서버로 전송하는 파일 업로드/다운로드 전송 모듈; Encoding received from the management server transmits the encoding and transcoding the portion of the file to the conversion information, the file upload / download transmission module for transmitting the converted file to the encoding part management server;
    상기 전송받은 부분 파일을 상기 변환 정보에 따라 인코딩 및 트랜스코딩하는 동영상 인코딩 및 트랜스코딩 모듈; Video encoding and transcoding module for encoding and transcoding according to the file transfer portion for receiving the conversion information;
    인코딩 서버의 상태 정보를 체크 및 수집하는 시스템 상태 체크 모듈; System health check module to check and collect information about the state of the encoding server; And
    상기 수집한 인코딩 서버의 상태 정보를 인코딩 매니지먼트 서버로 전송하는 인코딩 매니지먼트 서버 통신 모듈을 포함하여 이루어지는 그리드(Grid) 파일 시스템 방식의 분산을 통한 동영상 인코딩 장치. Video encoding device through the dispersion consisting of a grid (Grid) file system method, including encoding management server communication module for transmitting the status information of the server to collect the encoded encoding management server.
KR20090116170A 2009-11-27 2009-11-27 Method for encoding distributed movie based on grid file system and apparatus for the same and system for the same KR20110059428A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20090116170A KR20110059428A (en) 2009-11-27 2009-11-27 Method for encoding distributed movie based on grid file system and apparatus for the same and system for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20090116170A KR20110059428A (en) 2009-11-27 2009-11-27 Method for encoding distributed movie based on grid file system and apparatus for the same and system for the same

Publications (1)

Publication Number Publication Date
KR20110059428A true true KR20110059428A (en) 2011-06-02

Family

ID=44394576

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20090116170A KR20110059428A (en) 2009-11-27 2009-11-27 Method for encoding distributed movie based on grid file system and apparatus for the same and system for the same

Country Status (1)

Country Link
KR (1) KR20110059428A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101306386B1 (en) * 2012-03-16 2013-09-09 김종하 System for transcoding service of multimedia and method for the same
WO2013165088A1 (en) * 2012-05-02 2013-11-07 Samsung Electronics Co., Ltd. Distributed transcoding apparatus and method using multiple servers

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101306386B1 (en) * 2012-03-16 2013-09-09 김종하 System for transcoding service of multimedia and method for the same
WO2013165088A1 (en) * 2012-05-02 2013-11-07 Samsung Electronics Co., Ltd. Distributed transcoding apparatus and method using multiple servers
US9578136B2 (en) 2012-05-02 2017-02-21 Industry-Academic Cooperation Foundation Yonsei University Distributed transcoding apparatus and method using multiple servers

Similar Documents

Publication Publication Date Title
US6407680B1 (en) Distributed on-demand media transcoding system and method
US20090154556A1 (en) Adaptive multimedia system for providing multimedia contents and codec to user terminal and method thereof
US20040163123A1 (en) Information delivery system, method, information processing apparatus, and method
US20060195545A1 (en) Information processing apparatus and content information processing method
US20080091845A1 (en) System and method for processing content
US20040117427A1 (en) System and method for distributing streaming media
US20040177161A1 (en) System and method for distributing digital data services over existing network infrastructure
US20110138018A1 (en) Mobile media server
US7039115B1 (en) Processor allocation for channels in a video multi-processor system
US7242324B2 (en) Distributed on-demand media transcoding system and method
JP2006174045A (en) Image distribution device, program, and method therefor
US20020023267A1 (en) Universal digital broadcast system and methods
US20110126248A1 (en) Managed multiplexing of video in an adaptive bit rate environment
JP2002344880A (en) Contents distribution system
US20010017853A1 (en) Contents transmission system and contents processing apparatus
US20090163185A1 (en) Method and system for creating, receiving and playing multiview images, and related mobile communication device
US20040122700A1 (en) Charge management method, charge device, network monitor device, web portal server, charge management program, content distribution server and charge management system
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
WO2002097584A2 (en) Adaptive video server
US7151782B1 (en) Method and system for providing multiple services to end-users
US20020159464A1 (en) Method of and system for providing parallel media gateway
CN101068336A (en) Coordinate connection stream media direct broadcasting system and device
US20100049864A1 (en) Multimedia broadcast system and method
CN1731396A (en) System and method for implementing network resource search by mobile terminal
CN102780918A (en) Video distributed coding format converting method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application