KR20030027253A - Method and apparatus of file formatting and synchronization for multimedia streaming service - Google Patents

Method and apparatus of file formatting and synchronization for multimedia streaming service Download PDF

Info

Publication number
KR20030027253A
KR20030027253A KR1020010060360A KR20010060360A KR20030027253A KR 20030027253 A KR20030027253 A KR 20030027253A KR 1020010060360 A KR1020010060360 A KR 1020010060360A KR 20010060360 A KR20010060360 A KR 20010060360A KR 20030027253 A KR20030027253 A KR 20030027253A
Authority
KR
South Korea
Prior art keywords
video
audio
unit
synchronization
layer
Prior art date
Application number
KR1020010060360A
Other languages
Korean (ko)
Other versions
KR100422068B1 (en
Inventor
전형국
김경일
마평수
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR10-2001-0060360A priority Critical patent/KR100422068B1/en
Publication of KR20030027253A publication Critical patent/KR20030027253A/en
Application granted granted Critical
Publication of KR100422068B1 publication Critical patent/KR100422068B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]

Abstract

PURPOSE: A method and an apparatus for formatting and synchronizing files for multimedia streaming service are provided to generate a file including synchronization information to omit a synchronization process at a system level and transmit multimedia streams regardless of a network transmission protocol. CONSTITUTION: When encoded video/audio data is received(S102), the size of video/audio unit with respect to the video/audio data is determined. The header of a stream file is generated according to the determined video/audio unit size(S109). Video/audio unit duration is checked to judge if video unit duration has passed(S111). When the unit duration has passed, the header of video/audio unit is generated(S114). Multimedia video/audio data including the generated video/audio unit header is combined with the header of the stream file, to generate one multimedia stream file.

Description

멀티미디어 스트리밍 서비스를 위한 파일 포맷팅과 동기화 방법 및 그 장치{Method and apparatus of file formatting and synchronization for multimedia streaming service}File formatting and synchronization method for multimedia streaming service and apparatus therefor {Method and apparatus of file formatting and synchronization for multimedia streaming service}

본 발명은 멀티미디어 스트리밍 서비스를 위한 파일 포맷팅과 동기화 방법 및 그 장치에 관한 것으로, 특히 인터넷 스티리밍 서비스와 로컬 플레이어에 적합한 스트림 파일의 생성 및 생성된 스트림 파일의 동기화 방법 및 그 장치에 관한 것이다. 즉, 본 발명은 비디오/오디오의 동기화 개선을 위하여 파일 생성과 재생(스트리밍)시 동기화 정보와 순서 정보를 포함하게 되고, 멀티미디어 데이터들은 시간 축을 기준으로 비디오/오디오 데이터들이 다중화되어 기타 다른 장치들의 도움 없이 쉽고 빠르게 동기화 과정을 수행하도록 한 것이다. 또한, 파일 생성, 재생시에 동기화 수행 방법을 제시함으로써, 스트림 서비스를 제공하는 서버나 재생기로부터 동기화에 대한 기술을 최소화하고 사용자 요구와 시스템 성능에 따라서 동기화 요소를 제어할 수 있는 방법에 관한 것이다. 또한, 시스템 자원 정도에 따라서 동기화 레벨을 선택하여 시스템에 맞는 동기화를 선택할 수 있도록 한 멀티미디어 스트리밍 서비스를 위한 파일 포맷팅과 동기화 방법 및 그 장치에 관한 것이다.The present invention relates to a file formatting and synchronization method and apparatus for a multimedia streaming service, and more particularly, to a method and apparatus for generating a stream file suitable for an internet streaming service and a local player and synchronizing a generated stream file. That is, the present invention includes synchronization information and order information during file creation and playback (streaming) to improve video / audio synchronization, and multimedia data are multiplexed on the time axis to assist other devices. The synchronization process is easy and quick. In addition, the present invention relates to a method for minimizing the synchronization technique from a server or a player providing a stream service and controlling a synchronization element according to user demand and system performance by providing a method of performing synchronization during file generation and reproduction. In addition, the present invention relates to a file formatting and synchronization method for a multimedia streaming service and a device for selecting a synchronization level according to a system resource level so that synchronization can be selected according to a system.

현재 인터넷을 통하여 멀티미디어 스트림 서비스를 제공하기 위하여 해결해야 하는 문제들이 많다. 특히 스트림 서비스를 제공하는데 있어서, 동기화 정보를 가지고 있는 멀티미디어 스트림 파일의 생성과 이 생성된 멀티미디어 스트림 파일에 포함된 비디오/오디오 데이터에 대한 동기화가 중요한 문제로써, 제시되고 있다.Currently, there are many problems to be solved in order to provide a multimedia stream service through the Internet. In particular, in providing a stream service, generation of a multimedia stream file having synchronization information and synchronization of video / audio data included in the generated multimedia stream file have been proposed as important issues.

현재 인터넷을 통하여 멀티미디어 스트림을 제공해주기 위한 스트림 파일 형식으로는 마이크로 소프트사 ASF. 리얼플레이어사 RealMedia파일이 있다.Currently, Microsoft's ASF. Stream file format for providing multimedia streams over the Internet. There is RealPlayer RealMedia file.

ASF는 헤더 오브젝트(Header Object), 데이터 오브젝트(Data Object), 인덱스 오브젝트(Index Object)로 구성되며, RealMedia 파일은 헤더 섹션(Header Section), 데이터 섹션(Data Section), 인덱스 섹션(Index Section)으로 구성되며, 서로 유사한 구조로 되어 있다.ASF consists of Header Object, Data Object and Index Object, and RealMedia file consists of Header Section, Data Section and Index Section. It is composed of a similar structure to each other.

헤더 오브젝트와 헤더 섹션은 전체적인 파일 특성을 나타내는데, 파일이 속성, 스트림 속성, 컨텐츠 속성 등 파일 내에 포함되어 있는 멀티미디어 데이터에 대한 속성 정보를 갖는다. 데이터 오브젝트, 데이터 섹션은 실제 멀티미디어 데이터가 저장되는 부분으로 데이터 군으로 저장되며, 전송 시간과 프리젠테이션 시간을 위한 타임값이 기록된다.The header object and the header section represent the overall file characteristics. The header object and the header section have attribute information about multimedia data included in the file, such as attributes, stream attributes, and content attributes. The data object and the data section are stored in the data group as the actual multimedia data is stored, and the time values for the transmission time and the presentation time are recorded.

인덱스 오브젝트와 인덱스 섹션은 비디오/오디오 스트림의 특정 부분을 접근하기 위하여 사용된다.Index objects and index sections are used to access specific parts of the video / audio stream.

현재 이러한 스트림 파일들의 구성 및 사용은 매우 복잡하며, 불필요한 데이터 정보를 발생한다. 또한, 서로 다른 포맷으로 인하여 시스템 구성시 많은 어려움이 따르게 된다. 또한 파일의 포맷이 동기화에 대한 정보를 단순히 타임 스탬프 값만을 이용하며, 비디오/오디오에 대한 동기화 정보가 서로 연관관계를 가지고 있지 않음으로 인해서 동기화 구현이 더욱 어려워지게 된다. 따라서, 동기화 정보를 포함하는 새로운 파일 포맷을 필요로 한다.The construction and use of such stream files is very complicated at present and generates unnecessary data information. In addition, due to the different formats, a lot of difficulties come when configuring the system. In addition, since the file format simply uses a time stamp value for synchronization information, and synchronization information for video / audio is not correlated with each other, synchronization becomes more difficult to implement. Therefore, a new file format containing synchronization information is needed.

현재 대부분의 멀티미디어 스트리밍 서비스를 제공하는 시스템들은 타임 스탬프값을 가지고 동기화를 수행한다. 현재 멀티미디어 스트리밍 서비스를 제공하는 시스템들이 수행하는 동기화 방법들로는 수신된 비디오/오디오 데이터에 대하여 매 디코딩시 동기화를 체크하여 각 데이터의 위상 변화에 따라 버퍼링과 스킵을 수행하는 방법이 있다. 그러나, 이러한 방법은 실제 동기화가 수행되는 시스템에 대한 성능 평가가 필요하고, 타임 체크로 인한 시스템 자원의 낭비를 발생시킨다. 또한, 비디오/오디오 데이터를 인코딩하는 시점과 비디오/오디오 신호를 디코딩하는 시점의 시간 값의 차이를 일정하게 유지, 또는 비디오/오디오 디코딩 시점과 실제 표현 시점의 시간값 차이를 일정하게 유지하도록 하여 두 차이값이 일정 임계치를 넘거나 작은 경우 프레임 스킵이나 반복하여 동기를 맞추는 경우는 시간 값을 일정하게 유지하기 위하여 많은 계산과 필요한 반복을 생성시키며, 스킵으로 인한 지터의 발생을 초래한다.Currently, systems that provide most multimedia streaming services perform synchronization with time stamps. Currently, the synchronization methods performed by the systems providing the multimedia streaming service include a method of checking the synchronization of each received video / audio data and performing buffering and skipping according to the phase change of each data. However, this method requires performance evaluation for the system where the actual synchronization is performed, and causes a waste of system resources due to time check. In addition, the difference between the time value between the time of encoding the video / audio data and the time of decoding the video / audio signal is kept constant, or the difference between the time value between the video / audio decoding time and the actual representation time is kept constant. If the difference exceeds or falls below a certain threshold, skipping frames or synchronizing repeatedly generates many calculations and necessary repetitions to keep the time constant, and causes jitter due to skipping.

그리고 비디오/오디오 데이터 둘 중에 기준 스트림을 설정하여 보다 정확한 스트림에 동기화를 맞추는 경우는 기준이 되는 기준 스트림이 동기를 맞추지 못하는 경우 전체적인 동기화가 맞지 않게 된다.When the reference stream is set to be synchronized with a more accurate stream by setting the reference stream among the video / audio data, the overall synchronization is not matched when the reference reference stream is not synchronized.

또한, 비디오/오디오의 비트 레이어트(Bit Ratr)의 평균값을 구하여 비디오와 오디오의 평균 데이터 양을 비디오/오디오 순으로 섞어서 전송하는 경우는 평균적인 비디오와 오디오 데이터 양을 가지고 동기화가 실행되므로 실질적인 동기화가 맞지 않게 된다. 따라서, 멀티미디어 스트리밍 서비스에서의 동기화는 실제 멀티미디어를 구성하는 파일에서의 동기화가 서로 조화를 이루어야 진정한 동기화의 성능을 만들어 낼 수 있고, 동기화의 효율을 높일 수 있으며, 구현이 간단해지고 동기화를 위한 자원 낭비를 막을 수 있을 것이다.In addition, when the average value of the bit ratr of video / audio is calculated and the average data amount of video and audio is mixed in the order of video / audio, the synchronization is performed with the average amount of video and audio data. Does not fit. Therefore, the synchronization in the multimedia streaming service requires that the synchronization in the files constituting the actual multimedia be harmonized with each other to produce a true synchronization performance, increase the efficiency of the synchronization, simplify the implementation and waste resources for synchronization. Will be able to prevent.

인터넷을 통한 다양한 멀티미디어 서비스를 제공하기 위해서는 스트림 형태의 비디오/오디오에 대한 적절한 형태의 포맷을 규정하게 된다. 현재 인터넷에서는 영상 및 음성을 조합한 여러 형태의 멀티미디어 데이터를 제공하고 있으며, 사용자들 또한 이러한 멀티미디어 데이터에 대한 사용 요구와 이용률이 크게 증가하고 있는 추세이다.In order to provide various multimedia services through the Internet, a proper format for video / audio in a stream format is defined. Currently, the Internet provides various types of multimedia data combining video and audio, and users are also demanding and using the multimedia data.

인터넷을 통하여 멀티미디어 서비스를 제공하는데 있어서 가장 중요한 문제로는 네트워크 전송시 대역폭, 터미널의 멀티미디어 데이터 처리 능력, 동기화 등 여러 문제들이 존재한다.In providing multimedia services through the Internet, the most important problems include bandwidth, network multimedia data processing capability, and synchronization.

특히 동기화와 관련된 기술에서 기존 멀티미디어 처리 기술들이 멀티미디어 데이터들에 대한 동기화 정보들은 제공되고 있지만 실제의 구현과 동작 상황에서 정확한 동기화 처리는 어려운 실정이다.In particular, in the synchronization related technology, existing multimedia processing technologies provide synchronization information for multimedia data, but accurate synchronization processing is difficult in actual implementation and operation.

따라서, 동기화 정보를 제공하면서 쉽게 동기화를 수행할 수 있는 방법들이 필요한 것이다. 현재 대부분의 시스템들은 비디오/오디오 데이터에 대한 동기화를 전송시나 수신시 시스템 레벨에서 동기화 과정을 수행함으로 인해서 많은 어려움을 겪고 있다. 또한, 시스템 레벨에서의 동기화는 비디오/오디오가 제공하는 정보가 부재되는 경우 정확한 동기화를 수행하지 못하게 되는 문제점이 있다.Therefore, there is a need for methods that can easily perform synchronization while providing synchronization information. Currently, most systems suffer from the difficulty of performing synchronization at the system level when transmitting or receiving video / audio data synchronization. In addition, synchronization at the system level has a problem that it is impossible to perform accurate synchronization in the absence of information provided by the video / audio.

따라서, 본 발명은 상기한 종래 기술에 따른 제반 문제점들을 해결하기 위하여 안출한 것으로 본 발명의 목적은, 동기화 정보가 포함된 파일을 생성하여 시스템 레벨(서버 또는 미디어 재생기)에서의 동기화 과정을 생략하고 네트워크 전송시 TCP/IP 또는 RTP/RTCP와 같은 네트워크 전송 프로토콜에 상관없이 멀티미디어 스트림 전송을 수행할 수 있도록 한 멀티미디어 스트리밍 서비스를 위한 파일 포맷팅 방법 및 그 장치를 제공함에 있다.Accordingly, the present invention has been made to solve the above-mentioned problems according to the prior art, an object of the present invention, by generating a file containing the synchronization information to skip the synchronization process at the system level (server or media player) The present invention provides a file formatting method and apparatus for a multimedia streaming service for performing a multimedia stream transmission regardless of a network transmission protocol such as TCP / IP or RTP / RTCP.

또한, 본 발명의 다른 목적은 파일 전송 후 재생시 동기화를 수행하도록 하여 스트림 서비스를 제공하는 서버나 재생기로부터 동기화에 대한 기술을 최소화하고 사용자 요구와 시스템 성능에 따라서 동기화 요소를 제어할 수 있는 멀티미디어 스트리밍 서비스를 위한 파일 동기화 방법 및 그 장치를 제공함에 있다.In addition, another object of the present invention is to perform a synchronization upon playback after file transfer to minimize the technology of synchronization from the server or player providing a stream service and to control the synchronization element according to user requirements and system performance A file synchronization method for a service and an apparatus thereof are provided.

또한, 본 발명의 또 다른 목적은 동기화를 제공하면서 시스템에서 발생되는 오버헤드를 줄이기 위해서 시스템의 성능과 사용 가능 자원의 정도에 따라 동기화 레벨을 적절히 조절함으로써, 자원 낭비와 실제 동기화 사이의 중립점을 찾을 수 있도록 한 멀티미디어 스트리밍 서비스를 위한 파일 포맷팅과 동기화 방법 및 그 장치를 제공함에 있다. 실제로 비디오/오디오 처리 루틴이 수행되는 운영체제의 스케쥴링이나 시간 관리에 의해서 많은 영향을 받게 되므로 동기화를 제공하는 새로운 파일 형식에 의해 새로운 동기화 처리 방법은 반드시 제공되어야만 한다.In addition, another object of the present invention is to provide a synchronization while reducing the overhead incurred in the system, by appropriately adjusting the synchronization level according to the performance of the system and the degree of available resources, thereby eliminating the neutral point between resource waste and actual synchronization. The present invention provides a method and apparatus for file formatting and synchronization for a multimedia streaming service. In fact, because the video / audio processing routines are affected by the scheduling and time management of the operating system to perform a new synchronization method must be provided by a new file format that provides synchronization.

도 1 (a)는 본 발명에 따른 오디오/비디오 출력 동기화를 위한 동기화된 3-레이어 스트리밍 파일의 구성을 나타낸 도면이고, (b)는 (a)에 도시된 멀티미디어 데이터의 상세 구성 포맷을 나타낸 도면.1 (a) is a diagram showing the configuration of a synchronized three-layer streaming file for audio / video output synchronization according to the present invention, (b) is a diagram showing the detailed configuration format of the multimedia data shown in (a) .

도 2 (a)는 도 1 (a)에 도시된 파일 헤더의 상세 구성 포맷을 나타낸 도면이고, (b)는 도 1 (b)에 도시된 비디오/오디오 유닛의 상세 구성 포맷을 나타낸 도면.FIG. 2 (a) is a diagram showing the detailed configuration format of the file header shown in FIG. 1 (a), and (b) is a diagram showing the detailed configuration format of the video / audio unit shown in FIG. 1 (b).

도 3은 본 발명에 따른 멀티미디어 스트리밍 서비스를 위한 파일 포맷팅 장치에 대한 상세 블록 구성을 나타낸 도면.3 is a detailed block diagram of a file formatting apparatus for a multimedia streaming service according to the present invention;

도 4는 본 발명에 따른 멀티미디어 스트리밍 서비스를 위한 파일 포맷팅 방법에 대한 동작 플로우챠트를 나타낸 도면.4 is a flowchart illustrating an operation of a file formatting method for a multimedia streaming service according to the present invention.

도 5는 본 발명에 따른 멀티미디어 스트리밍 서비스를 위한 파일 동기화 장치에 대한 상세 블록 구성을 나타낸 도면.FIG. 5 is a block diagram illustrating a detailed block configuration of a file synchronization device for a multimedia streaming service according to the present invention. FIG.

도 6은 본 발명에 따른 멀티미디어 스트리밍 서비스를 위한 파일 동기화 방법에 대한 동작 플로우챠트를 나타낸 도면.6 is a flowchart illustrating an operation of a file synchronization method for a multimedia streaming service according to the present invention.

상기한 목적을 달성하기 위한 본 발명에 따른 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 방법의 일측면에 따르면, 인코딩된 비디오/오디오 데이터가 입력되면, 입력되는 비디오/오디오 데이터에 대한 비디오/오디오 유닛의 크기를 결정하는 단계; 상기 결정된 비디오/오디오 유닛의 크기에 따라 스트림 파일의 헤더를 생성하는 단계; 상기 파일 헤더 생성 후, 비디오/오디오 유닛 듀레이션을 체크하여 비디오 유닛 듀레이션이 경과되었는지를 판단하는 단계; 유닛 듀레이션이 경과되었을 경우, 비디오/오디오 유닛의 헤더를 생성하는 단계; 상기 생성된 비디오/오디오 유닛의 헤더를 포함하는 멀티미디어 비디오/오디오 데이터와 상기 생성된 스트림 파일의 헤더를 조합하여 하나의 멀티미디어 스트림 파일을 생성하는 단계를 포함한다.According to one aspect of the stream file formatting method for a multimedia streaming service according to the present invention for achieving the above object, when the encoded video / audio data is input, the size of the video / audio unit for the input video / audio data Determining; Generating a header of a stream file according to the size of the determined video / audio unit; After generating the file header, checking a video / audio unit duration to determine whether a video unit duration has elapsed; When the unit duration has elapsed, generating a header of the video / audio unit; Generating one multimedia stream file by combining the header of the generated stream file with the multimedia video / audio data including the generated video / audio unit header.

또한, 상기 비디오/오디오 유닛의 크기를 결정하는 단계는, 사용자로부터 비디오/오디오 유닛의 크기를 결정하기 위한 동기 단위 사용자 입력 존재하는지를 판단하는 단계; a) 상기 판단결과, 동기 단위 사용자 입력이 존재하는 경우 사용자 입력에 따라 비디오/오디오 유닛의 크기를 결정하여 파일 헤더를 생성하고, b) 동기 단위 사용자 입력이 존재하지 않을 경우, 네트워크 패킷 단위로 비디오/오디오 유닛의 크기를 결정할 것인지를 판단하는 단계; 판단 결과, 네트워크 패킷 단위로 비디오/오디오 유닛의 크기를 결정할 경우 네트워크 프로토콜 특성에 따라 비디오/오디오 유닛의 크기를 결정하는 단계를 포함한다.The determining of the size of the video / audio unit may include determining whether there is a sync unit user input for determining the size of the video / audio unit from the user; a) determining that the size of the video / audio unit is generated according to the user input when there is a synchronization unit user input, and b) generating a file header if the synchronization unit user input is not present. Determining whether to determine the size of the audio unit; As a result of the determination, when the size of the video / audio unit is determined on a network packet basis, determining the size of the video / audio unit according to network protocol characteristics.

또한, 상기 비디오/오디오 유닛의 크기를 결정하는 단계는, 상기 결정된 비디오/오디오 유닛의 크기와 입력된 비디오/오디오 데이터의 비트율과 비교하여 적어도 하나 이상의 네트워크 프레임에 대응되는 비디오 프레임 시간값을 계산하는 단계; 상기 계산된 비디오 프레임의 시간값을 이용하여 비디오/오디오 유닛 듀레이션값을 결정한 후, 결정된 파일 듀레이션 값에 따라 파일 헤더를 생성하는 단계를 포함하고, 상기 스트림 파일의 헤더를 생성하는 단계에서, 스트림 파일이 생성되지 않았을 경우에는, 파일 헤더가 생성될 때 까지 비디오/오디오 데이터에 대한 버퍼링을 수행하는 단계를 포함한다.The determining of the size of the video / audio unit may include calculating a video frame time value corresponding to at least one network frame by comparing the determined size of the video / audio unit with a bit rate of the input video / audio data. step; Determining a video / audio unit duration value using the calculated time value of the video frame, and then generating a file header according to the determined file duration value, wherein generating the header of the stream file comprises: If not generated, performing buffering on the video / audio data until the file header is generated.

또한, 상기 멀티미디어 스트림 파일은, 파일 헤더와, 멀티미디어 데이터로 이루어지고, 상기 멀티미디어 데이터는, 재생 과정에서 필요한 비디오/오디오 데이터를 포함하고 있으며, 동기화 정보와 순서 정보를 포함하며, 상기 파일 헤더는, 파일 헤더 전체 길이를 나타내는 제1 필드; 사용자 요구 또는 네트워크 프로토콜의 특성에 의해 결정되는 값으로 멀티미디어 데이터 부분을 구성하는 비디오/오디오 유닛의 크기를 결정하기 위한 제2 필드; 멀티미디어 데이터 부분의 비디오 포맷에 대한 정보로 비디오 포맷에 대한 기술 정보를 나타내는 제3 필드; 비디오 재생기의 버전을 나타내는 제4 필드; Frame/Second로 초당 처리해야 할 비디오 프레임의 수를 나타내는 제5 필드; 실제 비디오 스트림의 초당 발생 비트율을 나타내는 제6 필드; 멀티미디어 데이터 부분의 오디오 포맷에 대한 정보로 오디오 포맷에 대한 기술 정보를 나타내는 제7 필드; 오디오를 처리할 재생기 버전을 나타내는 제8 필드; 초당 처리해야 할 오디오 프레임의 샘플 개수를 나타내는 제9 필드; 실제 오디오 스트림의 초당 발생 비트율을 나타내는 제10 필드를 포함하는 것이다.The multimedia stream file may include a file header and multimedia data. The multimedia data may include video / audio data necessary for a playback process, and include synchronization information and order information. A first field indicating a file header full length; A second field for determining a size of a video / audio unit constituting a multimedia data portion with a value determined by a user request or a characteristic of a network protocol; A third field indicating descriptive information about the video format as information about the video format of the multimedia data portion; A fourth field indicating a version of the video player; A fifth field indicating the number of video frames to be processed per second in Frame / Second; A sixth field representing a bit rate occurring per second of the actual video stream; A seventh field indicating descriptive information about the audio format as information on the audio format of the multimedia data portion; An eighth field indicating a player version to process audio; A ninth field indicating a number of samples of audio frames to be processed per second; And a tenth field indicating a bit rate occurring per second of the actual audio stream.

또한, 상기 비디오/오디오 유닛은, 비디오/오디오 유닛을 구분하기 위한Type필드와, 각 비디오/오디오 유닛의 전체 크기를 나타내는 Unit Length필드와, 다수의 비디오/오디오 프레임을 포함하며, 상기 다수의 비디오/오디오 프레임은, 비디오/오디오 프레임의 순서를 나타내며, 네트워크 전송과 관련된 순서 정보가 포함된 제1 필드와; 각 비디오/오디오 프레임이 표현되어져야 할 실제 시간으로 비디오/오디오 프레임 인코더에 의해서 발생된 값을 나타내는 제1 필드와; 비디오/오디오 데이터의 실제 길이와, 실제 비디오 데이터와 오디오 데이터를 포함하는 제3 필드로 이루어진 것이다.The video / audio unit may include a type field for identifying a video / audio unit, a unit length field indicating an overall size of each video / audio unit, and a plurality of video / audio frames. The / audio frame includes a first field indicating an order of the video / audio frame and including order information related to network transmission; A first field indicating a value generated by the video / audio frame encoder in the actual time at which each video / audio frame should be represented; The third field includes the actual length of the video / audio data and the actual video data and the audio data.

한편, 본 발명에 따른 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 방법의 일 측면에 따르면, 포맷팅된 멀티미디어 스트림 파일이 수신되면, 수신된 스트림 파일의 파일 헤더 정보 및 FPS값을 추출하고, 오디오 샘플링 처리를 통해 비디오/오디오 유닛내 각 프레임들의 재생 시간을 결정하는 단계; 상기 추출된 파일 헤더를 이용하여 비디오/오디오 데이터를 검출한 후, 시스템 자원을 확인하여 적어도 하나 이상의 비디오/오디오 데이터 동기화 검사 레이어를 결정하는 단계; a) 동기화 검사 레이어가 결정되면, 결정된 동기화 레이어에 따라 레이어의 검사 가능 여부를 체크한 후, 체크 결과에 따라 유닛 듀레이션 체크와,비디오/오디오 유닛을 검출하고, b) 상기 추출된 비디오/오디오 FPS로부터 비디오/오디오 재생 시간 값을 결정하여 비디오, FPS, 오디오 동기화 임계치를 결정하여 재생 시간이 임계영역에 포함되는지 비교하며, c) 상기 비디오/오디오 각 프레임의 타임 스탬프값을 서로 비교하는 단계; 상기 비교결과, 각 비디오/오디오 프레임의 재생 시간이 임계영역에 포함되지 않고, 비디오/오디오 프레임이 서로 일치하는 경우 비디오 및 오디오 데이터가 동기화가 수행된 것으로 판단하여 상기 검출된 비디오/오디오 데이터를 디코딩 장치로 제공하는 단계를 포함한다.Meanwhile, according to an aspect of a method of synchronizing a stream file for a multimedia streaming service according to the present invention, when a formatted multimedia stream file is received, file header information and an FPS value of the received stream file are extracted, and an audio sampling process is performed. Determining a playback time of each frame in the video / audio unit; Detecting video / audio data using the extracted file header, and then identifying system resources to determine at least one video / audio data synchronization check layer; a) when the synchronization check layer is determined, after checking whether the layer can be inspected according to the determined synchronization layer, unit duration check and video / audio unit are detected according to the check result, and b) the extracted video / audio FPS. Determining a video / audio playback time value from the video, FPS and audio synchronization thresholds to compare whether the playback time is included in the threshold region, and c) comparing time stamp values of each frame of the video / audio with each other; As a result of the comparison, when the playback time of each video / audio frame is not included in the critical region and the video / audio frames coincide with each other, it is determined that video and audio data have been synchronized and decode the detected video / audio data. Providing to the device.

또한, 상기 검출된 비디오/오디오 데이터를 디코딩 장치로 제공하는 단계는, 상기 레이어의 검사 가능 여부를 체크 결과, 제1 레이어 검사가 가능한 경우, 비디오/오디오 유닛 듀레이션을 검사하는 단계; 상기 검사 결과, 비디오/오디오 유닛 듀레이션이 경과되었을 경우 비디오/오디오 유닛을 검출하는 단계; 비디오/오디오 유닛이 검출되면, 제2 레이어 검사가 가능한지를 판단하는 단계; 제2 레이어 검사가 가능하면, 상기 추출된 비디오/오디오 FPS로부터 초당 비디오/오디오 재생 시간값을 결정하고, 비디오/오디오 유닛내의 각 프레임에 대한 동기화 임계치를 결정하는 단계; 동기화 임계치가 결정되면, 비디오/오디오 프레임 재생 시간을 비교하여 재생 시간이 상기 결정된 임계 영역에 포함되는지를 판단하는 단계; 판단 결과, 비디오/오디오 재생 시간이 임계 영역에 포함되는 경우 제3 레이어 검사가 가능한지를 판단하는 단계; 제3 레이어 검사가 가능한 경우, 비디오/오디오 각 프레임의 타임 스탬프값을 비교하는 단계; 비교 결과, 비디오/오디오 타임 스탬프값이 일치하는 경우, 비디오 데이터와 오디오 데이터가 동기화가 이루어진 것으로 판단하여 검출된 비디오 오디오 데이터를 디코딩장치로 전송하는 단계를 포함한다.The providing of the detected video / audio data to a decoding apparatus may include: checking a video / audio unit duration when a first layer inspection is possible as a result of checking whether the layer is inspectable; Detecting a video / audio unit when the video / audio unit duration has elapsed as a result of the inspection; If a video / audio unit is detected, determining whether a second layer inspection is possible; If possible, determining a video / audio playback time value per second from the extracted video / audio FPS, and determining a synchronization threshold for each frame in the video / audio unit; If the synchronization threshold is determined, comparing the video / audio frame playback time to determine whether a playback time is included in the determined threshold region; Determining whether the third layer inspection is possible when the video / audio playback time is included in the threshold region as a result of the determination; Comparing a time stamp value of each frame of video / audio when the third layer inspection is possible; As a result of the comparison, if the video / audio time stamp values match, determining that the video data and the audio data are synchronized, and transmitting the detected video audio data to the decoding apparatus.

그리고, 본 발명에 따른 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 장치의 일측면에 따르면, 인코더로부터 제공되는 비디오/오디오 데이터를 멀티미디어 스트리밍 서비스를 위한 스트림 파일로 포맷팅하기 위한 장치에 있어서,인코더로부터 인코딩된 비디오/오디오 데이터가 입력되면, 입력되는 비디오/오디오 데이터에 대한 비디오/오디오 유닛의 크기를 결정하는 유닛 크기 결정 수단; 상기 유닛 크기 결정 수단에서 결정된 비디오/오디오 유닛의 크기에 따라 스트림 파일의 헤더를 생성하는 파일 헤더 생성 수단; 상기 파일 헤더 생성 후, 비디오/오디오 유닛 듀레이션을 체크하여 비디오 유닛 듀레이션이 경과되었는지를 판단하는 유닛 듀레이션 처리 수단; 유닛 듀레이션이 경과되었을 경우, 비디오/오디오 유닛의 헤더를 비디오/오디오 유닛 헤더 생성 수단; 상기 생성된 비디오/오디오 유닛의 헤더를 포함하는 멀티미디어 비디오/오디오 데이터와 상기 생성된 스트림 파일의 헤더를 조합하여 하나의 멀티미디어 스트림 파일을 생성하는 멀티미디어 스트림 파일 생성 수단을 포함한다.Further, according to an aspect of a stream file formatting apparatus for a multimedia streaming service according to the present invention, an apparatus for formatting video / audio data provided from an encoder into a stream file for a multimedia streaming service, the video encoded from the encoder Unit size determining means for determining a size of a video / audio unit with respect to the input video / audio data, when the audio data is input; File header generating means for generating a header of the stream file according to the size of the video / audio unit determined by the unit size determining means; Unit duration processing means for checking a video / audio unit duration after generating the file header to determine whether a video unit duration has elapsed; Video / audio unit header generating means for generating a header of the video / audio unit when the unit duration has elapsed; And multimedia stream file generating means for generating a multimedia stream file by combining the multimedia video / audio data including the generated video / audio unit header and the generated stream file header.

상기 유닛 크기 결정 수단은, 사용자로부터 비디오/오디오 유닛의 크기를 결정하기 위한 동기 단위 사용자 입력이 존재하는 경우 사용자 입력에 따라 비디오/오디오 유닛의 크기를 결정하는 동기 단위 사용자 입력 처리부; 동기 단위 사용자 입력이 존재하지 않을 경우, 네트워크 프로토콜 특성에 따라 패킷 단위로 비디오/오디오 유닛의 크기를 결정하는 네트워크 프로토콜 처리부를 포함한다.The unit size determining means may include: a synchronization unit user input processing unit that determines the size of the video / audio unit according to the user input when there is a synchronization unit user input for determining the size of the video / audio unit from the user; If there is no sync unit user input, the network protocol processor may be configured to determine the size of a video / audio unit in packet units according to network protocol characteristics.

또한, 상기 유닛 크기 결정 수단은, 상기 비디오/오디오 유닛의 크기와 입력된 비디오/오디오 데이터의 비트율을 비교하여 적어도 하나 이상의 네트워크 프레임에 대응되는 비디오 프레임 재생 시간값을 비디오/오디오 재생 시간 산출부; 상기 산출된 비디오 프레임의 재생 시간값을 이용하여 비디오/오디오 유닛 듀레이션값을 결정한 후, 결정된 파일 듀레이션 값을 상기 파일 헤더 생성 수단으로 제공하는 듀레이션 결정부를 포함하는 것이다.The unit size determining unit may further include: a video / audio playback time calculating unit configured to compare a size of the video / audio unit with a bit rate of input video / audio data and to determine a video frame playing time value corresponding to at least one network frame; And determining a video / audio unit duration value using the calculated reproduction time value of the video frame, and providing a determined file duration value to the file header generating means.

그리고, 본 발명에 따른 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 장치의 일측면에 따르면, 포맷팅된 멀티미디어 스트림 파일이 수신되면, 수신된 스트림 파일의 파일 헤더 정보 및 FPS값을 추출하고, 오디오 샘플링 처리를 통해 비디오/오디오 유닛내 각 프레임들의 재생 시간을 결정하는 입력 처리 수단; 상기 입력 처리수단에서 추출된 파일 헤더를 이용하여 멀티미디어 데이터를 추출하는 제1 추출수단; 상기 추출된 멀티미디어 데이터내 유닛 헤더, 프레임 헤더 및 비디오/오디오 데이터를 추출하는 제2 추출 수단; 상기 추출된 비디오/오디오 데이터 및 시스템 자원을 확인하여 적어도 하나 이상의 비디오/오디오 데이터 동기화 검사 레이어를 선택하는 레이어 선택 수단; 동기화 검사 레이어가 선택되면, 결정된 동기화 레이어에 따라 레이어의 검사 가능 여부를 체크한 후, 상기 추출된 비디오/오디오 FPS로부터 비디오/오디오 재생 시간 값을 결정하여 비디오, FPS, 오디오 동기화 임계치를 결정하여 재생 시간이 임계 영역에 포함되는지를 판단하는 동기화 임계 범위 처리 수단; 상기 비디오/오디오 각 프레임의 타임 스탬프값을 검출하여 서로 비교하는 타임 스탬프 처리 수단; 상기 비교결과, 각 비디오/오디오 프레임의 재생 시간이 임계영역에 포함되지 않고, 비디오/오디오 프레임이 서로 일치하는 경우 비디오 및 오디오 데이터가 동기화가 수행된 것으로 판단하여 상기 검출된 비디오/오디오 데이터를 디코딩 장치로 제공하는 동기화 처리 수단을 포함한다.According to one aspect of the apparatus for synchronizing a stream file for a multimedia streaming service according to the present invention, when a formatted multimedia stream file is received, file header information and an FPS value of the received stream file are extracted, and an audio sampling process is performed. Input processing means for determining a playback time of each frame in the video / audio unit; First extracting means for extracting multimedia data using the file header extracted from the input processing means; Second extraction means for extracting unit header, frame header and video / audio data in the extracted multimedia data; Layer selection means for identifying the extracted video / audio data and system resources and selecting at least one video / audio data synchronization check layer; When the synchronization check layer is selected, the layer is checked according to the determined synchronization layer and then the video / audio playback time value is determined from the extracted video / audio FPS to determine the video, FPS and audio synchronization thresholds. Synchronization threshold range processing means for determining whether time is included in the threshold region; Time stamp processing means for detecting and comparing time stamp values of each frame of the video / audio; As a result of the comparison, when the playback time of each video / audio frame is not included in the critical region and the video / audio frames coincide with each other, it is determined that video and audio data have been synchronized and decode the detected video / audio data. Synchronization processing means provided to the apparatus.

상기 동기화 처리 모듈은, 상기 레이어의 검사 가능 여부를 체크 결과, 제1레이어 검사가 가능한 경우와, 비디오/오디오 유닛 듀레이션을 검사하여 비디오/오디오 유닛 듀레이션이 경과되었을 경우에 비디오/오디오 유닛을 검출하는 검출부; 상기 검출부에서 비디오/오디오 유닛이 검출되면, 제2 레이어 검사가 가능한지를 판단한 후, 제2 레이어 검사가 가능하면, 상기 추출된 비디오/오디오 FPS로부터 초당 비디오/오디오 재생 시간값을 결정하고, 비디오/오디오 유닛내의 각 프레임에 대한 동기화 임계치를 결정하는 동기화 임계 범위 처리부와; 동기화 임계치가 결정되면, 비디오/오디오 프레임 재생 시간을 비교하여 재생 시간이 상기 결정된 임계 영역에 포함되는지를 판단하고, 비디오/오디오 재생 시간이 임계 영역에 포함되는 경우 제3 레이어 검사가 가능한지를 판단하는 비교 판단부를 더 포함한다.The synchronization processing module detects the video / audio unit when the first layer inspection is possible, and when the video / audio unit duration has elapsed, as a result of checking whether the layer can be inspected. Detection unit; When the video / audio unit is detected by the detection unit, it is determined whether the second layer inspection is possible, and when the second layer inspection is possible, the video / audio playback time value is determined from the extracted video / audio FPS per second, and the video / audio unit is determined. A synchronization threshold range processor for determining a synchronization threshold for each frame in the audio unit; When the synchronization threshold is determined, it is determined whether the playback time is included in the determined threshold region by comparing the video / audio frame playback time, and if the third layer check is possible when the video / audio playback time is included in the threshold region. The apparatus further includes a comparison judgment unit.

또한, 상기 동기화 처리 수단은, 상기 비교 판단부에서 제3 레이어 검사가 가능한 경우, 비디오/오디오 각 프레임의 타임 스탬프값을 비교하는 타임 스탬프 비교부; 비교 결과, 비디오/오디오 타임 스탬프값이 일치하는 경우, 비디오 데이터와 오디오 데이터가 동기화가 이루어진 것으로 판단하여 검출된 비디오 오디오 데이터를 디코딩장치로 전송하는 전송부를 더 포함한다.The synchronization processing unit may further include: a time stamp comparison unit comparing the time stamp value of each video / audio frame when a third layer inspection is possible in the comparison determination unit; As a result of the comparison, when the video / audio time stamp value is matched, the video data and the audio data are determined to be synchronized, and further comprising a transmission unit for transmitting the detected video audio data to the decoding apparatus.

한편, 본 발명에 따른 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 방법을 수행하기 위하여 디지털 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리장치에 의해 판독될 수 있는 기록 매체의 일측면에 따르면, 인코딩된 비디오/오디오 데이터가 입력되면, 입력되는 비디오/오디오 데이터에 대한 비디오/오디오 유닛의 크기를 결정하는 단계; 상기결정된 비디오/오디오 유닛의 크기에 따라 스트림 파일의 헤더를 생성하는 단계; 상기 파일 헤더 생성 후, 비디오/오디오 유닛 듀레이션을 체크하여 비디오 유닛 듀레이션이 경과되었는지를 판단하는 단계; 유닛 듀레이션이 경과되었을 경우, 비디오/오디오 유닛의 헤더를 생성하는 단계; 상기 생성된 비디오/오디오 유닛의 헤더를 포함하는 멀티미디어 비디오/오디오 데이터와 상기 생성된 스트림 파일의 헤더를 조합하여 하나의 멀티미디어 스트림 파일을 생성하는 단계를 수행하는 것이다.On the other hand, in order to perform the stream file formatting method for the multimedia streaming service according to the present invention, a program of instructions that can be executed by the digital processing apparatus is tangibly embodied, and one of the recording media that can be read by the digital processing apparatus. According to an aspect, if encoded video / audio data is input, determining a size of a video / audio unit for the input video / audio data; Generating a header of a stream file according to the size of the determined video / audio unit; After generating the file header, checking a video / audio unit duration to determine whether a video unit duration has elapsed; When the unit duration has elapsed, generating a header of the video / audio unit; And generating one multimedia stream file by combining the multimedia video / audio data including the generated video / audio unit header and the generated stream file header.

또한, 본 발명에 따른 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 방법을 수행하기 위하여 디지털 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리장치에 의해 판독될 수 있는 기록 매체의 일 측면에 따르면, 포맷팅된 멀티미디어 스트림 파일이 수신되면, 수신된 스트림 파일의 파일 헤더 정보 및 FPS값을 추출하고, 오디오 샘플링 처리를 통해 비디오/오디오 유닛내 각 프레임들의 재생 시간을 결정하는 단계; 상기 추출된 파일 헤더를 이용하여 비디오/오디오 데이터를 검출한 후, 시스템 자원을 확인하여 적어도 하나 이상의 비디오/오디오 데이터 동기화 검사 레이어를 결정하는 단계; a) 동기화 검사 레이어가 결정되면, 결정된 동기화 레이어에 따라 레이어의 검사 가능 여부를 체크한 후, 체크 결과에 따라 유닛 듀레이션 체크와, 비디오/오디오 유닛을 검출하고, b) 상기 추출된 비디오/오디오 FPS로부터 비디오/오디오 재생 시간 값을 결정하여 비디오, FPS, 오디오 동기화 임계치를 결정하여 재생 시간이 임계영역에 포함되는지 비교하며, c) 상기 비디오/오디오 각 프레임의 타임 스탬프값을 서로 비교하는 단계; 상기 비교결과, 각 비디오/오디오 프레임의 재생 시간이 임계영역에 포함되지 않고, 비디오/오디오 프레임이 서로 일치하는 경우 비디오 및 오디오 데이터가 동기화가 수행된 것으로 판단하여 상기 검출된 비디오/오디오 데이터를 디코딩 장치로 제공하는 단계를 수행하는 것이다.In addition, a program of instructions that can be executed by a digital processing apparatus is tangibly embodied in order to perform the method of synchronizing a stream file for a multimedia streaming service according to the present invention, which is a type of recording medium that can be read by a digital processing apparatus. According to an aspect, if a formatted multimedia stream file is received, extracting file header information and an FPS value of the received stream file, and determining a play time of each frame in the video / audio unit through an audio sampling process; Detecting video / audio data using the extracted file header, and then identifying system resources to determine at least one video / audio data synchronization check layer; a) when the synchronization check layer is determined, checking whether the layer can be inspected according to the determined synchronization layer, and then checking the unit duration and the video / audio unit according to the check result, and b) the extracted video / audio FPS. Determining a video / audio playback time value from the video, FPS and audio synchronization thresholds to compare whether the playback time is included in the threshold region, and c) comparing time stamp values of each frame of the video / audio with each other; As a result of the comparison, when the playback time of each video / audio frame is not included in the critical region and the video / audio frames coincide with each other, it is determined that video and audio data have been synchronized and decode the detected video / audio data. It is to perform the steps provided by the device.

이하, 본 발명의 바람직한 일 실시 예에 따른 멀티미디어 스트리밍 서비스를 위한 파일 포맷팅과 동기화 방법 및 그 장치에 대하여 첨부한 도면을 참조하여 상세하게 살펴보는데 있어, 멀티미디어 스트리밍 서비스를 위한 파일 포맷팅 방법과 그 장치를 제 1 실시예로, 멀티미디어 스트리밍 서비스를 위한 파일 동기화 방법 및 그 장치를 제 2 실시예로 각각 구분하여 설명하기로 한다.Hereinafter, a file formatting and synchronization method and a device for a multimedia streaming service according to an exemplary embodiment of the present invention will be described in detail with reference to the accompanying drawings. In the first embodiment, a file synchronization method and a device for a multimedia streaming service will be described separately in the second embodiment.

먼저, 본 발명에 적용되는 3-레이어 스트리밍 파일의 구성에 대하여 살펴보기로 한다.First, the configuration of the three-layer streaming file applied to the present invention will be described.

도 1 (a)는 본 발명에 따른 오디오/비디오 출력 동기화를 위한 동기화된 3-레이어 스트리밍 파일의 구성을 나타낸 도면이고, (b)는 (a)에 도시된 멀티미디어 데이터의 상세 구성 포맷을 나타낸 도면, 도 2 (a)는 도 1 (a)에 도시된 파일 헤더의 상세 구성 포맷을 나타낸 도면이고, (b)는 도 1 (b)에 도시된 비디오/오디오 유닛의 상세 구성 포맷을 나타낸 도면이다.1 (a) is a diagram showing the configuration of a synchronized three-layer streaming file for audio / video output synchronization according to the present invention, (b) is a diagram showing the detailed configuration format of the multimedia data shown in (a) 2 (a) is a diagram showing the detailed configuration format of the file header shown in FIG. 1 (a), and (b) is a diagram showing the detailed configuration format of the video / audio unit shown in FIG. 1 (b). .

도 1에 도시된 멀티미디어 스트리밍 파일의 이름은 동기화된 3-레이어 스트리밍 파일이라고 이름한다. 본 파일은 인터넷 스트리밍 서비스와 로컬 플레이어 모두에게 적용되기 위하여 기존의 다른 파일 포맷보다 단순한 구조로 되어 있다.The name of the multimedia streaming file shown in FIG. 1 is called a synchronized three-layer streaming file. This file has a simpler structure than other file formats to apply to both the Internet streaming service and the local player.

도 1에 도시된 동기화된 3-레이어 스트리밍 파일은 크게 파일 헤더와 멀티미디어 데이터로 구성된다.The synchronized three-layer streaming file shown in FIG. 1 consists of a file header and multimedia data.

도 1 (a)에 도시된 파일 헤더는 동기화된 3-레이어 스트리밍 파일을 재생하는 수신단에서 필요한 정보로 파일 내에 포함되어 있는 스트림들에 대한 기술 정보, 포맷 정보들을 포함하고 있다.The file header shown in FIG. 1 (a) is information required by a receiver for playing a synchronized three-layer streaming file and includes description information and format information about streams included in the file.

그리고 멀티미디어 데이터 부분은 재생 과정에서 필요한 비디오/오디오 데이터를 포함하고 있으며, 동기화 정보와 순서 정보를 포함한다. 도 1에 도시된 바와 같이 멀티미디어 데이터 부분은 비디오/오디오 유닛(Videi/Audio Unit)들로 구성된다.The multimedia data portion includes video / audio data necessary for the reproduction process and includes synchronization information and order information. As shown in FIG. 1, the multimedia data portion is composed of video / audio units.

비디오/오디오 유닛은 수신단에서 단위 시간당 처리해야 할 비디오/오디오의 단위를 나타내는 것으로, 사용자의 요구와 네트워크에 따라서 처리되어야 할 단위 시간 당 비디오/오디오 유닛의 크기는 달라진다. 멀티미디어 데이터 부분은 이러한 연속된 비디오/오디오 유닛들로써 이루어진다.The video / audio unit represents a unit of video / audio to be processed per unit time at the receiving end, and the size of the video / audio unit to be processed varies according to the user's request and the network. The multimedia data portion consists of these consecutive video / audio units.

상기한 파일 헤더와 멀티미디어 데이터에 대하여 도 2를 참조하여 좀 더 상세하게 살펴보자.The file header and the multimedia data will be described in more detail with reference to FIG. 2.

파일 헤더는 상기에서 설명한 바와 같이 동기화된 3-레이어 스트리밍 파일을 수신하여 재생하는 재생단에서 동기화된 3-레이어 스트리밍 파일을 재생하기 위하여 필요한 정보들을 포함한다.The file header includes information necessary for playing the synchronized three-layer streaming file in a playback stage that receives and plays the synchronized three-layer streaming file as described above.

도 2에 도시된 바와 같이 파일 헤더는, File Header Length 필드, Video/Audio Unit Duration필드, Video Format Info필드, 비디오 Version필드, FPS필드, 비디오 Bit Rate필드, Audio Format Info필드, 오디오 Version필드, Sampling Frequency필드, 오디오 Bit Rate 필드로 구성될 수 있다.As shown in FIG. 2, the file header includes a file header length field, a video / audio unit duration field, a video format info field, a video version field, an fps field, a video bit rate field, an audio format info field, an audio version field, and a sampling. It may consist of a Frequency field and an Audio Bit Rate field.

상기 File Header Length필드는 파일 헤더 전체 길이를 나타내는 필드이고, Video/Audio Unit Duration 필드는 사용자 요구 또는 네트워크 프로토콜의 특성에 의해 결정되는 값으로 멀티미디어 데이터 부분을 구성하는 비디오/오디오 유닛의 크기를 결정하기 위한 값으로 사용된다. 즉, 파일을 생성하는 사용자가 유닛 단위를 1초로 결정한 경우 1초에 처리해야 할 비디오/오디오 데이터가 포함되게 된다.The File Header Length field is a field representing the total length of a file header, and the Video / Audio Unit Duration field is a value determined by user demand or characteristics of a network protocol to determine the size of a video / audio unit constituting a multimedia data part. Used as a value for That is, if the user who creates the file determines that the unit of the unit is one second, video / audio data to be processed in one second is included.

만약 사용자의 요구가 없는 경우, 시스템은 네트워크 프로토콜의 특성을 통하여 네트워크 1패킷에 전송될 데이터의 크기를 결정하고 그 크기를 시간 값으로 변환하여 Video/Audio Unit Duration필드로서 결정하게 된다.If there is no user request, the system determines the size of the data to be transmitted to the network 1 packet through the characteristics of the network protocol, converts the size into a time value, and determines the video / audio unit duration field.

Video Format Info필드는 멀티미디어 데이터 부분의 비디오 포맷에 대한 정보로 비디오 포맷에 대한 기술 정보이다. 그리고 비디오 Version필드는 비디오 처리 핸들러(재생기) 버전을 포함한다.The Video Format Info field is information about a video format of a multimedia data part and is technical information about a video format. And the Video Version field contains the video processing handler (player) version.

FPS필드는 Frame/Second로 초당 처리해야 할 비디오 프레임의 수를 나타낸다. 비디오 Bit Rate는 실제 비디오 스트림의 초당 발생 비트율을 나타낸다.The FPS field indicates the number of video frames to be processed per second in Frame / Second. Video Bit Rate represents the bit rate that occurs per second of the actual video stream.

Audio Format Info는 멀티미디어 데이터 부분의 오디오 포맷에 대한 정보로 오디오 포맷에 대한 기술 정보이다. 그리고 오디오 Version필드는 오디오를 처리할 재생기 버전을 포함한다. Sampling Frequency 필드는 초당 처리해야 할 오디오 프레임의 샘플 개수를 나타내고, 오디오 Bit Rate는 실제 오디오 스트림의 초당 발생 비트율을 나타낸다.Audio Format Info is information about an audio format of a multimedia data part and is technical information about an audio format. And the Audio Version field contains the player version to process the audio. The Sampling Frequency field indicates the number of samples of audio frames to be processed per second, and the audio bit rate indicates the bit rate occurring per second of the actual audio stream.

한편, 멀티미디어 데이터의 비디오/오디오 유닛의 구성에 대하여 살펴보자.Meanwhile, a configuration of a video / audio unit of multimedia data will be described.

비디오/오디오 유닛은, 크게 비디오/오디오 유닛을 구분하기 위한 Type필드와, 각 비디오/오디오 유닛의 전체 크기를 나타내는 Unit Length필드와, 다수의 비디오/오디오 프레임으로 구성된다.The video / audio unit is composed of a Type field for largely distinguishing a video / audio unit, a Unit Length field indicating the total size of each video / audio unit, and a plurality of video / audio frames.

상기 다수의 비디오/오디오 프레임은, Sequence Number, Time Stamp, Data Length, Video/Audio Data로 구성된다.The plurality of video / audio frames includes a sequence number, a time stamp, a data length, and video / audio data.

Sequence Number는 비디오/오디오 프레임의 순서를 나타내며, 네트워크 전송과 관련된 순서 번호로 사용될 수 있다.Sequence Number indicates the sequence of video / audio frames and may be used as a sequence number related to network transmission.

Time Stamp는 각 비디오/오디오 프레임이 표현되어져야 할 실제 시간으로 비디오/오디오 프레임 인코더에 의해서 발생된 값을 기록한 것이다.The Time Stamp records the value generated by the video / audio frame encoder in the actual time each video / audio frame should be represented.

Data Length는 비디오 데이터 또는 오디오 데이터의 실제 길이를 나타내며, 그 뒤에 실제 비디오 데이터와 오디오 데이터가 첨가되어 비디오/오디오 유닛을 구성하게 된다.The Data Length represents the actual length of the video data or the audio data, followed by the actual video data and the audio data to form the video / audio unit.

이하, 상기와 같은 스트리밍 파일의 포맷팅/동기화 장치 및 그 방법에 대하여 각 실시예로 구분하여 설명해 보기로 하자.Hereinafter, the apparatus for formatting / synchronizing the streaming file as described above and a method thereof will be described in each embodiment.

(제 1 실시예)(First embodiment)

도 3은 본 발명에 따른 멀티미디어 스트리밍 서비스를 위한 파일 포맷팅 장치에 대한 상세 블록 구성을 나타낸 도면으로서, 그 구성을 살펴보면, 인코딩부(10), 스트림 파일 생성부(100)로 구성된다.3 is a block diagram illustrating a detailed block configuration of a file formatting apparatus for a multimedia streaming service according to an embodiment of the present invention. Referring to the configuration, the encoding block 10 includes an encoding unit 10 and a stream file generating unit 100.

인코딩부(10)는 비디오 인코더(11)와 오디오 인코더(12)로 구성되고, 스트림 파일 생성부(100)는 동기 단위 사용자 입력 처리 모듈(101), 네트워크 프로토콜 처리 모듈(102), 파일 헤더 생성 모듈(103), 유닛 듀레이션(Unit Duration) 처리 모듈(104), 비디오/오디오 유닛 헤더 생성 모듈(105), 비디오/오디오 프레임 헤더 생성 모듈(106), 단위 시간 당 오디오 검출기(107), 단위 시간 당 비디오 검출기(108), 스트림 파일 버퍼(109) 및 비디오/오디오 버퍼(110)로 구성될 수 있다.The encoding unit 10 includes a video encoder 11 and an audio encoder 12. The stream file generating unit 100 includes a synchronization unit user input processing module 101, a network protocol processing module 102, and a file header generation unit. Module 103, unit duration processing module 104, video / audio unit header generation module 105, video / audio frame header generation module 106, audio detector 107 per unit time, unit time Per video detector 108, stream file buffer 109 and video / audio buffer 110.

상기 인코딩부(10)의 비디오/오디오 인코더(11, 12)는 동기화된 3-레이어 스트리밍 파일을 생성하기 위하여 비디오/오디오 데이터와 파일을 생성하기 위한 추가 정보, 타임 스탬프, FPS, Sampling Rate 등을 스트림 파일 생성부(100)로 제공한다. 그리고 사용자 입력은 동기 단위 사용자 입력 처리 모듈(101)에 전달되어 동기 단위를 결정하는데 사용된다.The video / audio encoders 11 and 12 of the encoding unit 10 may provide additional information for generating video / audio data and files, time stamps, FPSs, sampling rates, etc. to generate synchronized three-layer streaming files. Provided to the stream file generation unit 100. The user input is then passed to the sync unit user input processing module 101 and used to determine the sync unit.

스트림 파일 생성부(100)의 동기 단위 사용자 입력 및 네트워크 프로토콜 처리 모듈(101, 102)은 사용자 또는 네트워크 프로토콜 특성에 따라 파일 포맷의 멀티미디어 부분에 포함될 비디오/오디오 유닛의 크기를 결정하여 파일 헤더 생성 모듈(103)로 제공한다.The synchronization unit user input and network protocol processing modules 101 and 102 of the stream file generation unit 100 determine the size of the video / audio unit to be included in the multimedia portion of the file format according to the characteristics of the user or network protocol, thereby generating the file header module. Provided at 103.

스트림 서비스를 제공할 사용자는 자신의 시스템에 맞는 시간당 동기되어야 할 단위 동기 유닛을 동기 단위 사용자 입력 처리 모듈(101)을 통해서 결정할 수 있다.The user who will provide the stream service may determine, via the synchronization unit user input processing module 101, a unit synchronization unit that should be synchronized per hour for his system.

사용자의 요구에 의해서 결정될 수 있는 비디오/오디오 유닛의 크기는 전체비디오/오디오 스트림에서 부터 1개의 비디오/오디오 프레임이 될 수 있다.The size of the video / audio unit, which can be determined by the user's request, can be one video / audio frame from the entire video / audio stream.

동기 단위 사용자 입력 처리 모듈(101)에서 사용되는 동기값은 유닛 듀레이션 처리 모듈(104)에서 사용되며, 실제 이 크기는 사용자 입력에서 입력된 시간 값에 의해서 설정된다. 즉, FPS가 3인 비디오 프레임에서 동기 단위 사용자 입력이 1000ms인 경우 1초에 3개의 비디오 프레임을 1개의 비디오 유닛으로 결정하게 되는 것이다.The synchronization value used in the synchronization unit user input processing module 101 is used in the unit duration processing module 104, and this magnitude is actually set by the time value input in the user input. That is, when the sync unit user input is 1000 ms in a video frame having an FPS of 3, three video frames are determined as one video unit per second.

또한, 네트워크 프로토콜 처리 모듈(102)은 네트워크 전송 효율을 높이기 위한 것으로, 네트워크 특성에 따라 파일을 구성하는 비디오/오디오 유닛의 크기를 달리하여 네트워크 전송시 분할(세그멘테이션) 또는 조합(어셈블리)이 일어나지 않도록 한다. 동기 단위 사용자 입력이 없는 경우, 네트워크 프로토콜 처리 모듈(102)이 구동된다. 만약, 네트워크 프로토콜 처리 모듈(102)이 구동되지 않는 경우 디폴트(Default)로 설정된 값이 동기 단위로 설정된다.In addition, the network protocol processing module 102 is intended to improve network transmission efficiency, so that the segmentation (segmentation) or combination (assembly) does not occur during network transmission by varying the size of the video / audio unit constituting the file according to the network characteristics. do. If there is no sync unit user input, the network protocol processing module 102 is driven. If the network protocol processing module 102 is not driven, a value set as default is set in synchronization units.

파일 헤더 생성 모듈(103)은 비디오/오디오 인코더(11, 12)로부터 제공받은 정보를 통해서 동기화된 3-레이어 스트리밍 파일의 헤더를 생성한 후, 생성된 스트리밍 파일의 헤더 정보를 유닛 듀레이션 처리 모듈(104)로 제공한다.The file header generation module 103 generates a header of the synchronized three-layer streaming file through the information provided from the video / audio encoders 11 and 12, and then converts the header information of the generated streaming file into a unit duration processing module ( 104).

상기 파일 헤더 생성 모듈(103)을 통해 파일 헤더가 생성될 때까지 비디오/오디오 데이터는 비디오/오디오 버퍼(110)에 저장되고, 파일 헤더가 생성 되면, 실질적인 멀티미디어 데이터가 생성되게 된다.The video / audio data is stored in the video / audio buffer 110 until the file header is generated through the file header generation module 103. When the file header is generated, substantial multimedia data is generated.

유닛 듀레이션 처리 모듈(104)은 비디오/오디오 유닛 헤더 생성 모듈(105)을 구동하고, 특정 듀레이션 상기에서 설명한 동기 단위 사용자 입력 처리 모듈(101)와 네트워크 프로토콜 처리 모듈(102)에 의해 생성된 유닛 듀레이션값을 통해서 비디오/오디오 유닛을 생성하여 멀티미디어 데이터를 만드는 최상위 모듈이 된다.The unit duration processing module 104 drives the video / audio unit header generation module 105, and the unit duration generated by the synchronization unit user input processing module 101 and the network protocol processing module 102 as described above. The value is the top level module that creates the multimedia data by creating a video / audio unit.

유닛 듀레이션 처리 모듈(104)과 더불어 다음에 설명되는 모든 모듈은 비디오/오디오 인코더(11, 12)로부터 생성되는 비디오/오디오 데이터가 끝날 때까지 반복된다.In addition to the unit duration processing module 104, all the modules described below are repeated until the video / audio data generated from the video / audio encoders 11 and 12 is finished.

비디오/오디오 유닛 헤더 생성 모듈(105)은 도 2에 도시된 비디오/오디오 유닛 헤더 정보를 생성하며, 비디오/오디오 버퍼(110), 비디오/오디오 프레임 생성 모듈(106), 단위 시간당 비디오/오디오 검출기(107, 108)를 구동시킨다.The video / audio unit header generation module 105 generates the video / audio unit header information shown in FIG. 2, and includes a video / audio buffer 110, a video / audio frame generation module 106, and a video / audio detector per unit time. 107 and 108 are driven.

비디오/오디오 프레임 헤더 생성 모듈(106)은 도 2에 도시된 비디오/오디오 프레임에 대한 헤더 정보를 생성하고, 단위 시간당 비디오/오디오 검출기(107, 108)는 동기 단위 사용자 입력 처리 모듈(101)과 네트워크 프로토콜 처리 모듈(102)에 의해서 생성된 단위 시간 또는 네트워크 프로토콜에 효율적으로 적용될 수 있는 비디오/오디오데이터 크기를 적용시켜 비디오/오디오 버퍼(110)로부터 비디오/오디오 데이터를 입력 받아 비디오/오디오 유닛을 생성하여 스트림 파일 버퍼(109)에 저장하는 것이다.The video / audio frame header generation module 106 generates header information for the video / audio frame shown in FIG. 2, and the video / audio detectors 107 and 108 per unit time are synchronized with the synchronous unit user input processing module 101. The video / audio unit is received from the video / audio buffer 110 by applying the video / audio data size that can be efficiently applied to the unit time generated by the network protocol processing module 102 or the network protocol. It is generated and stored in the stream file buffer 109.

스트림 파일 버퍼(109)는 생성된 파일 헤더와 비디오/오디오 유닛을 만들기 위한 버퍼이고, 비디오/오디오 버퍼(110)는 인코더(10)로부터 생성되는 비디오/오디오 데이터를 저장하기 위한 버퍼로 헤더 생성 시간과 멀티미디어 데이터 처리 사이의 시간 불일치시 비디오/오디오 데이터를 저장하기 위해서 사용되는 것이다.The stream file buffer 109 is a buffer for creating a generated file header and a video / audio unit, and the video / audio buffer 110 is a buffer for storing video / audio data generated from the encoder 10. Is used to store video / audio data when there is a time mismatch between data processing and multimedia data processing.

이와 같이 구성된 본 발명에 따른 멀티미디어 스트리밍 서비스를 위한 파일포맷팅 장치를 이용한 포매팅 방법을 첨부한 도 4를 참조하여 단계적이면서 구체적으로 설명해 보기로 하자.With reference to FIG. 4 attached to the formatting method using a file formatting apparatus for a multimedia streaming service according to the present invention configured as described above, it will be described in detail step by step.

도 4는 본 발명에 따른 멀티미디어 스트리밍 서비스를 위한 파일 포맷팅 방법에 대한 동작 플로우챠트를 나타낸 도면이다.4 is a flowchart illustrating an operation of a file formatting method for a multimedia streaming service according to the present invention.

먼저, 인코더(10)로부터 비디오/오디오 정보 및 데이터를 입력 받는다(S101).First, video / audio information and data are received from the encoder 10 (S101).

이어, 사용자로부터 동기 사용자 입력 즉, 비디오/오디오 유닛의 크기를 결정하기 위하여 동기 단위 사용자 입력 처리를 수행하게 된다(S103).Subsequently, in order to determine a synchronous user input, that is, a size of a video / audio unit, a synchronous unit user input process is performed from the user (S103).

즉, 사용자의 입력이 존재하는지를 판단하고(S104), 판단 결과 비디오/오디오 유닛의 크기를 결정하기 위한 사용자의 입력이 존재하면, 파일 헤더 생성 모듈(103)에서 사용자의 입력에 따라 파일 헤더를 생성하게 된다(S108).That is, it is determined whether the user's input exists (S104), and if the user's input for determining the size of the video / audio unit exists, the file header generation module 103 generates a file header according to the user's input. It is made (S108).

그러나, 만약 비디오/오디오 유닛의 크기를 결정하기 위한 사용자의 입력이 존재하지 않을 경우 네트워크 특성을 고려하여 네트워크 프로토콜 처리 모듈(102)에서 네트워크 패킷 단위로 비디오/오디오 데이터를 처리한다(S105).However, if there is no user input for determining the size of the video / audio unit, the network protocol processing module 102 processes the video / audio data in units of network packets in consideration of network characteristics (S105).

이때, 비디오/오디오 데이터를 네트워크 패킷 단위로 처리할 것인지를 판단하고(S106), 판단 결과 네트워크 패킷 단위로 비디오/오디오 데이터를 처리할 경우 네트워크 프로토콜 특성에 의한 비디오/오디오 유닛의 크기를 결정하게 되는 것이다. 이와 같이 결정된 비디오/오디오 유닛의 크기는 비디오/오디오의 비트율과 비교하여 실제 1개의 네트워크 프레임에 대응되는 비디오 프레임 시간 값을 계산하고, 이 값을 통해서 비디오/오디오 유닛 듀레이션값을 결정하여 도 3에 도시된 파일 헤더 생성 모듈(103)을 통해서 파일 헤더가 생성되는 것이다(S108).At this time, it is determined whether to process the video / audio data in the network packet unit (S106), and as a result of determining the size of the video / audio unit according to the network protocol characteristics when processing the video / audio data in the network packet unit will be. The size of the video / audio unit determined as described above is calculated by comparing the video / audio bit rate with the actual video frame time value corresponding to one network frame. The file header is generated through the illustrated file header generation module 103 (S108).

만약, 상기 S106단계에서 비디오/오디오 데이터를 네트워크 패킷 단위로 처리하지 않을 경우에는 디폴트로 설정된 유닛 듀레이션을 적용시켜 비디오/오디오 유닛의 크기를 결정하게 된다(S107).If the video / audio data is not processed in units of network packets in step S106, the size of the video / audio unit is determined by applying a unit duration set as a default (S107).

이어, 파일 헤더가 생성되었는지를 판단하게 되고(S109), 파일 헤더가 생성되지 않았을 경우에는 파일 헤더가 생성될 때 까지 비디오/오디오 데이터에 대한 버퍼링이 수행된다(S110). 파일 헤더의 생성은 비디오/오디오 인코더(10)로부터 제공 받은 정보를 이용하며, 파일 헤더가 생성될 때 까지 비디오/오디오 데이터에 대한 버퍼링을 계속적으로 수행하는 것이다.Subsequently, it is determined whether the file header is generated (S109). If the file header is not generated, buffering of the video / audio data is performed until the file header is generated (S110). The generation of the file header uses information provided from the video / audio encoder 10, and continuously buffers the video / audio data until the file header is generated.

그리고, 상기 S109단계에서 모든 파일이 생성되면, 사용자 입력 또는 네트워크 프로토콜에 의해 생성된 유닛 듀레이션 값을 체크하게 된다(S211).When all files are generated in step S109, the unit duration value generated by a user input or a network protocol is checked (S211).

체크 결과, 유닛 듀레이션이 경과되지 않았을 경우에는 계속적으로 비디오/오디오에 대한 버퍼링 동작을 계속적으로 수행하면서(S113) 유닛 듀레이션이 경과되었는지를 체크하게 되고, 반대로 유닛 듀레이션이 경과되었을 경우에는 비디오/오디오 유닛 헤더 부분을 생성한다(S114).As a result of the check, if the unit duration has not elapsed, it continuously checks whether the unit duration has elapsed while continuously performing the buffering operation for the video / audio (S113). On the contrary, if the unit duration has elapsed, the video / audio unit A header portion is generated (S114).

이어, 비디오/오디오 유닛의 헤더가 생성되면, 비디오/오디오 데이터의 검출 및 헤더를 생성하며(S115) 생성된 헤더를 포함하는 비디오/오디오 데이터를 스트림 버퍼에 저장하여 스트림 파일을 생성하게 되는 것이다(S116, S117).Subsequently, when the header of the video / audio unit is generated, the video / audio data is detected and the header is generated (S115), and the video / audio data including the generated header is stored in the stream buffer to generate a stream file ( S116, S117).

(제 2 실시예)(Second embodiment)

본 발명에 따른 제 2 실시예는 상기 제 1 실시예에서 생성된 스트림 파일이 전송되는 경우 수신단에서의 오디오 및 비디오 데이터의 동기화 장치 및 그 방법에 관한 것으로서, 첨부한 도면을 참조하여 상세하게 살펴보기로 하자.A second embodiment of the present invention relates to an apparatus and a method for synchronizing audio and video data at a receiving end when a stream file generated in the first embodiment is transmitted, which will be described in detail with reference to the accompanying drawings. Let's do it.

도 5는 본 발명에 따른 멀티미디어 스트리밍 서비스를 위한 파일 동기화 장치에 대한 상세 블록 구성을 나타낸 도면으로서, 그구성을 보면, 수신되는 멀티미디어 스트림 파일의 동기화를 수행하는 스트리밍 파일 동기화부(300)와, 스트리밍 파일 동기화부(300)에서 동기화되어 출력되는 비디오/오디오 신호를 디코딩하는 디코딩부(20)로 구성된다. 여기서, 디코딩부(20)는 비디오 디코더(21)와 오디오 디코도(22)로 구성될 수 있다.FIG. 5 is a block diagram illustrating a detailed block configuration of a file synchronization device for a multimedia streaming service according to the present invention. In view of the configuration, a streaming file synchronization unit 300 for performing synchronization of a received multimedia stream file and streaming is shown. The decoder 20 is configured to decode the video / audio signal synchronized with the file synchronizer 300. Here, the decoding unit 20 may be composed of a video decoder 21 and an audio decoder 22.

그리고, 스트리밍 파일 동기화부(300)는 파일 헤더 처리 모듈(301), FPS 처리 모듈(302), 오디오 샘플링 처리 모듈(303), 비디오/오디오 유닛 처리 모듈(304), 비디오/오디오 유닛 헤더 처리 모듈(305), 비디오/오디오 프레임 헤더 처리 모듈(306), 비디오/오디오 데이터 추출 모듈(307), 동기 레이어 처리 모듈(308), 시스템 자원 모니터링 모듈(309), 동기화 보정 모듈(310), 비디오/오디오 동기 처리 모듈(311), 비디오/오디오 동기화 임계 범위 처리 모듈(312), 비디오/오디오 타임 스탬프 처리 모듈(313), 비디오/오디오 디코더 전송 모듈(314)로 구성될 수 있다.The streaming file synchronization unit 300 may include a file header processing module 301, an FPS processing module 302, an audio sampling processing module 303, a video / audio unit processing module 304, and a video / audio unit header processing module. 305, video / audio frame header processing module 306, video / audio data extraction module 307, sync layer processing module 308, system resource monitoring module 309, synchronization correction module 310, video / Audio synchronization processing module 311, video / audio synchronization threshold range processing module 312, video / audio time stamp processing module 313, and video / audio decoder transmission module 314.

파일 헤더 처리 모듈(301)은 동기화된 3-레이어 스트리밍 파일 헤더의 분리를 수행하고, 분리된 파일 헤더로부터 FPS처리 모듈(302)은 각 비디오 프레임이 재생되어져야 할 표현 시간 값들을 결정한다. 그리고, 프레임들 간의 표현 시간을 고려하여 한 프레임이 반드시 표현되어져야 할 시작 시간과 끝 시간을 계산한다. 즉, 각 비디오 프레임에 대한 표현 시간 임계 영역을 결정한다.The file header processing module 301 performs separation of the synchronized three-layer streaming file header, and from the separated file header, the FPS processing module 302 determines the presentation time values at which each video frame should be played. Then, the start time and the end time for which one frame must be expressed are calculated in consideration of the presentation time between the frames. That is, the presentation time threshold region for each video frame is determined.

오디오 샘플링 처리 모듈(303)도 오디오 샘플링 값을 계산하여 각 오디오 프레임들이 재생되어져야 할 시간을 계산하고 그 임계 영역을 결정한다.The audio sampling processing module 303 also calculates the audio sampling value to calculate the time at which each audio frame should be played and to determine its threshold region.

파일 헤더 처리 모듈(301)에 의하여 멀티미디어 스트림 파일 헤더의 분석이 완료되면, 비디오/오디오 유닛 처리 모듈(304)에 의하여 멀티미디어 데이터에 대한 처리가 시작되며, 비디오/오디오 유닛 처리 모듈(308) 이외의 다른 모듈들은 비디오/오디오 유닛 처리 모듈(304)에 의하여 반복적으로 호출된다.When the analysis of the multimedia stream file header is completed by the file header processing module 301, processing of the multimedia data is started by the video / audio unit processing module 304, and other than the video / audio unit processing module 308. The other modules are called repeatedly by the video / audio unit processing module 304.

비디오/오디오 유닛 처리 모듈(304)은, 동기화된 3-레이어 스트리밍 파일의 멀티미디어 데이터 부분을 추출하는 역할을 수행하며, 실질적인 멀티미디어 데이터 처리 과정인 비디오/오디오 유닛 헤더 처리 모듈(305), 비디오/오디오 프레임 헤더 처리 모듈(306), 비디오/오디오데이터 추출 모듈(307)을 호출하고 추출된 데이터를 바탕으로 동기화 레이어를 선택하기 위하여 동기 레이어 처리 모듈(308)을 호출한다.The video / audio unit processing module 304 is responsible for extracting the multimedia data portion of the synchronized three-layer streaming file, and is a video / audio unit header processing module 305 which is a substantial multimedia data processing process, video / audio The frame header processing module 306 and the video / audio data extraction module 307 are called and the sync layer processing module 308 is called to select a synchronization layer based on the extracted data.

비디오/오디오 유닛 헤더 처리 모듈(305)과 비디오/오디오 프레임 헤더 처리 모듈(306)은 비디오/오디오 유닛, 프레임과 관련된 헤더 정보를 추출,분석,처리하는 역할을 수행한다.The video / audio unit header processing module 305 and the video / audio frame header processing module 306 extract, analyze, and process header information related to the video / audio unit and the frame.

그리고 비디오/오디오 데이터 추출 모듈(307)은 비디오/오디오 프레임 헤더 처리 모듈(306)에서 제공되는 정보를 바탕으로 비디오/오디오 데이터와 헤더 정보를 추출하여 비디오/오디오 디코더 전송 모듈(314)에 데이터를 전송한다.The video / audio data extraction module 307 extracts video / audio data and header information based on the information provided from the video / audio frame header processing module 306 to provide data to the video / audio decoder transmission module 314. send.

시스템 자원 모니터링 모듈(309)은 시스템 자원을 측정하는 모듈로서, CPU, 저장장치, 네트워크 대역폭 등을 고려하여 동기 레이어를 결정한다. 동기 레이어는 시스템이 허락하는 범위내에서 레이어의 변화가 있을 때 마다 동적으로 동기 레이어를 결정한다. 동기 레이어 처리 모듈(308)은 시스템 자원 모니터링 모듈(309)에 의해서 결정된 정보를 바탕으로 동기 레이어를 결정하는 것이다.The system resource monitoring module 309 is a module for measuring system resources. The system resource monitoring module 309 determines a synchronization layer in consideration of a CPU, a storage device, and a network bandwidth. The sync layer dynamically determines the sync layer whenever there is a change in the layer within the range allowed by the system. The sync layer processing module 308 determines the sync layer based on the information determined by the system resource monitoring module 309.

동기 레이어는 크게 3가지로 구분된다.The sync layer is divided into three types.

제1 레이어는 비디오/오디오 유닛 들만 동기를 맞추는 경우이다. 파일 헤더의 유닛 듀레이션 값만을 가지고 동기화를 수행하기 때문에 특정 유닛 듀레이션을 검사하여 그에 해당하는 동기화된 유닛들만 디코더(20)에 전송하므로 동기화 수행을 위한 과정이 간단하지만 시스템 특성에 따라 정확한 동기가 이루어지기가 힘들다는 단점을 가지고 있다.In the first layer, only video / audio units synchronize. Since the synchronization is performed using only the unit duration value of the file header, the specific unit duration is checked and only the corresponding synchronized units are transmitted to the decoder 20. Therefore, the synchronization process is simple, but accurate synchronization is achieved according to system characteristics. Has the disadvantage of being difficult.

그리고, 제2-레이어는 비디오 FPS와 오디오 샘플링 레이어트(Audio Sampling Rate)를 통해서 비디오/오디오 유닛에 포함된 비디오/오디오 각 프레임에 대한 예상 재생 시간과 예상 재생 시간 임계치를 계산하여 동기화를 수행하는 것이다. 비디오/오디오 유닛내에 포함된 각 프레임들에 대해서 도 5에 도시된 비디오/오디오 동기화 임계 범위 처리 모듈(312)은 자신의 스케쥴링 방식에 의해서 각 프레임들의 예상 재생 시간과 예상 재생 시간 임계 범위를 비교하여 임계 범위에 각 비디오/오디오 프레임이 포함되면 비디오/오디오 프레임들을 재생하게 된다.The second layer performs synchronization by calculating an expected play time and an estimated play time threshold for each frame of the video / audio included in the video / audio unit through the video FPS and the audio sampling layer. will be. For each frame included in the video / audio unit, the video / audio synchronization threshold range processing module 312 shown in FIG. 5 compares the expected playback time and the expected playback time threshold range of each frame by its scheduling method. When each video / audio frame is included in the threshold range, the video / audio frames are played.

이와 같은 제2-레이어는 각 프레임들에 대한 타임 스탬프값 없이 비교적 시스템 자원을 절약하면서 FPS와 샘플링 레이어트만을 가지고 각 프레임에 대한 동기화를 수행할 수 있다.Such a second-layer can perform synchronization for each frame with only the FPS and sampling layer while saving system resources relatively without time stamp value for each frame.

제3 레이어는 도 5에 도시된 비디오/오디오 동기화 임계 범위 처리 모듈(312)에 의해서 임계 영역에 포함된 비디오/오디오 프레임들을 바로 재생하지 않고 각 프레임 헤더에 포함된 타임 스탬프 값 즉, 도 3에 도시된 인코더(10)로부터 출력된 비디오/오디오 표현 시간값의 비교를 통해서 실제 재생 시간에 비디오/오디오 프레임을 재생하는 방법이다.The third layer does not immediately play the video / audio frames included in the critical area by the video / audio synchronization threshold range processing module 312 shown in FIG. 5, that is, the time stamp value included in each frame header, that is, in FIG. 3. The video / audio frame is reproduced at the actual reproduction time by comparing the video / audio representation time values output from the illustrated encoder 10.

도 5에 도시된 비디오/오디오 동기 처리 모듈(311)은 상기한 제1 레이어를 처리하고, 비디오/오디오 동기화 임계 범위 처리 모듈(312)은 상기한 제2 레이어를 처리하며, 비디오/오디오 타임 스탬프 처리 모듈(312)은 상기한 제3 레이어 동기화를 수행하는 것이다.The video / audio synchronization processing module 311 shown in FIG. 5 processes the first layer described above, the video / audio synchronization threshold range processing module 312 processes the second layer described above, and a video / audio time stamp. The processing module 312 is to perform the third layer synchronization described above.

그리고, 동기화 보정 모듈(310)은 동기 레이어 처리 모듈(308)에 의해 구동되며, 상기한 제3 레이어에 동기화를 위해 사용되는 비디오/오디오 동기 처리 모듈(311), 비디오/오디오 동기화 임계 처리 모듈(312), 비디오/오디오 타임 스탬프 처리 모듈(313)을 호출하며, 시스템 스케쥴링에 의하여 제1,2,3 레이어를 슬리프(sleep)시키거나 웨이크(wake)시켜 프로세스 처리 효율을 증진시킨다.In addition, the synchronization correction module 310 is driven by the synchronization layer processing module 308, and the video / audio synchronization processing module 311 and the video / audio synchronization threshold processing module (3) used for synchronization to the third layer. 312), the video / audio time stamp processing module 313 is called, and the first, second, and third layers are sleeped or woken by system scheduling to enhance process processing efficiency.

동기화 보정 모듈(310)은 동기 레이어 처리 모듈(308)에 의해 생성된 동기 레이어를 바탕으로 비디오/오디오 디코더 전송 모듈(314)에 전송된 데이터에 대한 동기화를 수행한다. 비디오/오디오 디코더 전송 모듈(314)은 비디오/오디오 데이터 추출 모듈(307)에 의해 추출된 비디오/오디오 데이터를 동기화 보정 모듈(310)이 제공하는 동기정보를 바탕으로 비디오/오디오 디코더(21, 22)에게 전송하는 것이다.The synchronization correction module 310 performs synchronization on the data transmitted to the video / audio decoder transmission module 314 based on the synchronization layer generated by the synchronization layer processing module 308. The video / audio decoder transmission module 314 is a video / audio decoder 21, 22 based on the synchronization information provided by the synchronization correction module 310 to the video / audio data extracted by the video / audio data extraction module 307. To send).

상기와 같은 구성을 갖는 멀티미디어 스트리밍 서비스를 위한 파일 동기화 장치를 이용한 동기화 방법에 대하여 도 6을 참조하여 단계적이면서도 구체적으로 설명해 보기로 하자.A synchronization method using a file synchronization device for a multimedia streaming service having the above configuration will be described step by step and in detail with reference to FIG. 6.

먼저, 네트워크나 로컬 파일의 형태로 멀티미디어 스트림 파일이 입력되면(S201), 입력된 스트림 파일에 포함된 스트림 파일 헤더 정보와, 비디오 FPS를 추출하여 비디오 유닛내의 각 프레임들의 재생 시간을 결정한다(S202, 203).First, when a multimedia stream file is input in the form of a network or a local file (S201), stream file header information included in the input stream file and a video FPS are extracted to determine a playback time of each frame in the video unit (S202). , 203).

또한, 입력되는 스트림 파일에서 오디오 샘플링 처리를 수행하여 오디오 유닛 내의 각 프레임들의 재생 시간을 결정한다(S204).In addition, the audio sampling process is performed on the input stream file to determine the reproduction time of each frame in the audio unit (S204).

이와 같이 헤더가 분석되면, 시스템 자원의 확인을 수행하여(S205) 동기화 레이어를 검출한다(S206). 즉, 시스템 자원을 확인한 후, 동기화 레이어로 하여금 동기화 레이어를 결정할 수 있도록 하는 것이다.When the header is analyzed as described above, the system resource is checked (S205) to detect the synchronization layer (S206). That is, after checking system resources, the synchronization layer can determine the synchronization layer.

시스템 자원 확인 과정은 동기화가 수행되는 모든 과정에 관여하여 동기화 레이어를 일정 시간 간격으로 조절하게 된다.The system resource check process is involved in all the processes in which synchronization is performed, and adjusts the synchronization layer at regular time intervals.

상기 동기화 검출 결과 제1 레이어의 검사가 가능한지를 판단하고(S207), 판단 결과 제1 레이어의 검사가 가능하지 않으면, 입력되는 멀티미디어 스트림 파일에서 비디오/오디오 데이터를 검출하여 비디오/오디오 디코더로 전송한다(S208).If it is determined that the inspection of the first layer is possible as a result of the synchronization detection (S207), and if the inspection of the first layer is not possible as a result of the determination, the video / audio data is detected from the input multimedia stream file and transmitted to the video / audio decoder. (S208).

그러나, S207단계에서, 제1 레이어 검사가 가능한 경우 유닛 듀레이션을 검사하고(S209), 유닛 듀레이션이 경과되었는지를 판단한다(S210).However, in step S207, when the first layer inspection is possible, the unit duration is checked (S209), and it is determined whether the unit duration has elapsed (S210).

판단 결과, 유닛 듀레이션이 경과한 경우 비디오/오디오 유닛을 검출하게 되고(S211), 유닛 듀레이션이 경과되지 않았을 경우에는 계속적으로 유닛 듀레이션이경과될 때 까지 계속적으로 유닛 듀레이션을 검사하게 된다.As a result, if the unit duration has elapsed, the video / audio unit is detected (S211). If the unit duration has not elapsed, the unit duration is continuously checked until the unit duration has elapsed.

상기 S211단계에서 비디오/오디오 유닛이 검출되면, 시스템 자원을 통해서 제2 레이어 검사가 가능한지를 체크한다(S212).If the video / audio unit is detected in step S211, it is checked whether a second layer inspection is possible through system resources (S212).

체크 결과, 제2 레이어 검사가 가능하지 않을 경우에는 비디오/오디오 데이터를 검출하여 검출된 비디오/오디오 데이터를 디코더(20)로 전송하고, 제2 레이어 검사가 가능한 경우에는 비디오 FPS처리와 오디오 샘플링 처리로부터 계산된 값을 바탕으로 초당 비디오/오디오 표현 계산값 즉, 비디오/오디오 재생 시간값을 결정한다(S213).As a result of the check, if the second layer inspection is not possible, video / audio data is detected and the detected video / audio data is transmitted to the decoder 20. If the second layer inspection is possible, the video FPS processing and the audio sampling processing are performed. The video / audio expression calculation value per second, that is, the video / audio playback time value, is determined based on the value calculated from S213.

그리고 비디오/오디오 유닛내의 각 프레임에 대한 동기화 임계치를 결정하게 되는 것이다(S214).The synchronization threshold for each frame in the video / audio unit is determined (S214).

이어, 도 5에 도시된 동기화 보정 모듈(310)은 각 비디오/오디오 프레임 재생 시간을 비교하고(S215), 각 비디오/오디오 프레임 재생 시간이 상기 결정된 임계 영역에 포함되는지를 검사하게 된다(S216).Subsequently, the synchronization correction module 310 illustrated in FIG. 5 compares the play time of each video / audio frame (S215) and checks whether the play time of each video / audio frame is included in the determined threshold area (S216). .

검사 결과, 각 비디오/오디오 프레임 재생 시간이 임계 영역에 포함되지 않는 경우 동기화를 보정하게 된다(S217). 즉, 도 5에 도시된 동기화 보정 모듈(310)을 통해 제2 레이어 검사 과정을 슬립시킨 후, 제3 레이어의 가능 여부를 검사하게 된다.As a result of the inspection, when the video / audio frame reproduction time is not included in the critical region, synchronization is corrected (S217). That is, after slipping the second layer inspection process through the synchronization correction module 310 illustrated in FIG. 5, the availability of the third layer is checked.

그러나, S216 단계에서 각 비디오/오디오 프레임의 재생 시간이 임계 영역에 포함되는 경우 제3 레이어의 검사가 가능한지를 판단한다(S218).However, if the playback time of each video / audio frame is included in the critical region in step S216, it is determined whether the inspection of the third layer is possible (S218).

판단 결과, 제3 레이어 검사가 불가능할 경우 임계 영역에서 검출된 비디오/오디오 데이터를 디코더(20)로 전송하고(S222), 반대로 제3 레이어의 검사가 가능한 경우 비디오/오디오 각 프레임의 타임 스탬프값을 비교하여(S219) 비디오/오디오의 타임 스탬프값이 서로 일치하는지를 판단한다(S220).If it is determined that the third layer inspection is impossible, the video / audio data detected in the critical region is transmitted to the decoder 20 (S222). On the contrary, when the inspection of the third layer is possible, the time stamp value of each video / audio frame is determined. In operation S219, it is determined whether the time stamp values of the video / audio match each other (S220).

만약, 비디오/오디오 프레임의 타임 스탬프값이 서로 일치하지 않는 경우에는 동기화를 보정한 후(S221), 비디오/오디오 각 프레임의 타임 스탬프값을 비교하게 된다. 즉, 비디오/오디오 프레임의 타임 스탬프값이 서로 일치할 때 까지 계속적으로 동기화 보정이 이루어지게 되는 것이다.If the time stamp values of the video / audio frames do not coincide with each other, after synchronization is corrected (S221), the time stamp values of the video / audio frames are compared. That is, synchronization correction is continuously performed until the time stamp values of the video / audio frames coincide with each other.

반대로, S220단계에서, 비디오/오디오 프레임의 타임 스탬프값이 서로 일치하는 경우에는 검출된 비디오/오디오 데이터를 디코더(20)로 전송하는 것이다(S222). 여기서, 비디오/오디오의 프레임에 대한 타임 스탬프의 비교는 도 5에 도시된 동기화 보정 모듈(310)에 의해 수행되며, 비디오/오디오 프레임에 대한 타임 스탬프가 서로 일치하지 않을 경우 제3 레이어의 검사를 슬리프시키고 새로운 스케쥴을 적용시켜 임의의 시간에 웨이크시킨다.On the contrary, in step S220, when the time stamp values of the video / audio frames coincide with each other, the detected video / audio data is transmitted to the decoder 20 (S222). Here, the comparison of the time stamps with respect to the frames of video / audio is performed by the synchronization correction module 310 shown in FIG. 5, and when the time stamps of the video / audio frames do not coincide with each other, the inspection of the third layer is performed. Sleep and wake up at any time by applying a new schedule.

이어, 1 사이클 데이터 동기화 과정이 완료되면, 비디오/오디오 데이터가 끝인지를 판단하게 되고(S223), 비디오/오디오 데이터가 끝인 경우 동기화 동작을 종료하고, 또 다른 비디오/오디오 데이터의 동기화 과정이 있는 경우에는 상기 S206단계로 피드백되어 동기화 레이어를 새로 결정하여 멀티미디어 스트림 파일의 동기화 과정을 수행하게 되는 것이다.Subsequently, when the one-cycle data synchronization process is completed, it is determined whether the video / audio data is over (S223). When the video / audio data is over, the synchronization operation is terminated, and another video / audio data is synchronized. In this case, it is fed back to step S206 to determine a new synchronization layer to perform a synchronization process of the multimedia stream file.

상기한 바와 같은 본 발명에 따른 멀티미디어 스트리밍 서비스를 위한 파일 포맷팅과 동기화 방법 및 그 장치는, 인터넷 스트리밍 서비스와 로컬 플레이어에 적합한 동기화된 멀티미디어 스트림 파일 생성 및 생성된 스트림 파일의 동기화 장치 및 방법에 관한 것으로, 멀티미디어 데이터를 다중화하고 저장하여 스트리밍 서비스와 로컬 플레이어에 적합한 형태의 파일을 생성하여 스트림 서비스를 제공하는 서버나 재생기로부터 동기화에 대한 기술을 최소화하고 사용자 요구와 시스템 성능에 따라서 동기화 요소를 제어할 수 있는 것이다. 또한, 인터넷 프로토콜과 RTP/RTCP에서 사용 가능하며, 새로운 동기화 방법의 제공으로 동기화가 증대되며 동기화된 파일 포맷을 제공함으로써, 멀티미디어 스트리밍 서비스를 제공해야 하는 동기화가 필요한 많은 응용에서 쉽게 동기화 구현을 할 수 있는 이점이 있다. 그리고 시스템 성능과 자원을 고려한 동기화를 제공함으로써, 다른 많은 시스템에서의 사용이 가능한 이점이 있다.The method and apparatus for file formatting and synchronization for a multimedia streaming service according to the present invention as described above are related to an apparatus and method for generating a synchronized multimedia stream file suitable for an internet streaming service and a local player and synchronizing the generated stream file. By multiplexing and storing multimedia data, it creates files suitable for streaming service and local player to minimize the technology of synchronization from the server or player providing the stream service and control the synchronization elements according to user demand and system performance. It is. Also available in Internet Protocol and RTP / RTCP, the new synchronization method allows for increased synchronization and provides a synchronized file format, making it easy to implement synchronization in many applications that need to provide multimedia streaming services. There is an advantage to that. And by providing synchronization in consideration of system performance and resources, there is an advantage that can be used in many other systems.

Claims (29)

멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 방법에 있어서,In the stream file formatting method for a multimedia streaming service, 인코딩된 비디오/오디오 데이터가 입력되면, 입력되는 비디오/오디오 데이터에 대한 비디오/오디오 유닛의 크기를 결정하는 단계;If encoded video / audio data is input, determining a size of a video / audio unit for the input video / audio data; 상기 결정된 비디오/오디오 유닛의 크기에 따라 스트림 파일의 헤더를 생성하는 단계;Generating a header of a stream file according to the size of the determined video / audio unit; 상기 파일 헤더 생성 후, 비디오/오디오 유닛 듀레이션을 체크하여 비디오 유닛 듀레이션이 경과되었는지를 판단하는 단계;After generating the file header, checking a video / audio unit duration to determine whether a video unit duration has elapsed; 유닛 듀레이션이 경과되었을 경우, 비디오/오디오 유닛의 헤더를 생성하는 단계;When the unit duration has elapsed, generating a header of the video / audio unit; 상기 생성된 비디오/오디오 유닛의 헤더를 포함하는 멀티미디어 비디오/오디오 데이터와 상기 생성된 스트림 파일의 헤더를 조합하여 하나의 멀티미디어 스트림 파일을 생성하는 단계를 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 방법.Generating a multimedia stream file by combining the header of the generated stream file with the multimedia video / audio data including the generated video / audio unit header. 제1항에 있어서,The method of claim 1, 비디오/오디오 유닛의 크기를 결정하는 단계는,Determining the size of the video / audio unit, 사용자로부터 비디오/오디오 유닛의 크기를 결정하기 위한 동기 단위 사용자입력 존재하는지를 판단하는 단계;Determining whether there is a synchronization unit user input for determining the size of the video / audio unit from the user; a) 상기 판단결과, 동기 단위 사용자 입력이 존재하는 경우 사용자 입력에 따라 비디오/오디오 유닛의 크기를 결정하여 파일 헤더를 생성하고,a) if the synchronization unit user input exists, determine the size of the video / audio unit according to the user input to generate a file header, b) 동기 단위 사용자 입력이 존재하지 않을 경우, 네트워크 패킷 단위로 비디오/오디오 유닛의 크기를 결정할 것인지를 판단하는 단계;b) if there is no sync unit user input, determining whether to determine the size of the video / audio unit on a network packet basis; 판단 결과, 네트워크 패킷 단위로 비디오/오디오 유닛의 크기를 결정할 경우 네트워크 프로토콜 특성에 따라 비디오/오디오 유닛의 크기를 결정하는 단계를 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 방법.And determining the size of the video / audio unit in accordance with network protocol characteristics when determining the size of the video / audio unit in units of network packets. 제2항에 있어서,The method of claim 2, 상기 판단결과, 네트워크 패킷 단위로 비디오/오디오 유닛의 크기를 결정하지 않을 경우에는, 디폴트로 설정된 유닛 듀레이션을 적용시켜 비디오/오디오 유닛의 크기를 결정하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 방법.If the size of the video / audio unit is not determined in the network packet unit as a result of the determination, the size of the video / audio unit is determined by applying a unit duration set as a default. 제1항 또는 제2항에 있어서,The method according to claim 1 or 2, 상기 비디오/오디오 유닛의 크기를 결정하는 단계는.Determining the size of the video / audio unit comprises: 상기 결정된 비디오/오디오 유닛의 크기와 입력된 비디오/오디오 데이터의 비트율과 비교하여 적어도 하나 이상의 네트워크 프레임에 대응되는 비디오 프레임시간값을 계산하는 단계;Calculating a video frame time value corresponding to at least one network frame by comparing the determined size of the video / audio unit with a bit rate of the input video / audio data; 상기 계산된 비디오 프레임의 시간값을 이용하여 비디오/오디오 유닛 듀레이션값을 결정한 후, 결정된 파일 듀레이션 값에 따라 파일 헤더를 생성하는 단계를 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 방법.And determining a video / audio unit duration value using the calculated time value of the video frame, and then generating a file header according to the determined file duration value. 제1항에 있어서,The method of claim 1, 상기 스트림 파일의 헤더를 생성하는 단계에서, 스트림 파일이 생성되지 않았을 경우에는, 파일 헤더가 생성될 때 까지 비디오/오디오 데이터에 대한 버퍼링을 수행하는 단계를 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 방법.In the generating of the header of the stream file, if the stream file is not generated, buffering the video / audio data until the file header is generated. . 제1항에 있어서,The method of claim 1, 상기 유닛 듀레이션이 경과되었는지를 판단하는 단계에서, 비디오 유닛 듀레이션을 경과하지 않았을 경우에는 유닛 듀레이션이 경과될 때 까지 비디오/오디오 에 대항 버퍼링을 수행하는 단계를 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 방법.In the step of determining whether the unit duration has elapsed, if the video unit duration has not elapsed, performing a buffering for the video / audio until the unit duration has elapsed, the method for formatting a stream file for a multimedia streaming service . 제1항에 있어서,The method of claim 1, 상기 멀티미디어 스트림 파일은,The multimedia stream file, 파일 헤더와, 멀티미디어 데이터로 이루어진 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 방법.Stream file formatting method for a multimedia streaming service comprising a file header and multimedia data. 제7항에 있어서,The method of claim 7, wherein 상기 멀티미디어 데이터는,The multimedia data, 재생 과정에서 필요한 비디오/오디오 데이터를 포함하고 있으며, 동기화 정보와 순서 정보를 포함하는 다수의 비디오/오디오 유닛으로 이루어진 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 방법.A stream file formatting method for a multimedia streaming service comprising a plurality of video / audio units including video / audio data necessary for a playback process and including synchronization information and order information. 제7항에 있어서,The method of claim 7, wherein 상기 파일 헤더는,The file header, 파일 헤더 전체 길이를 나타내는 제1 필드;A first field indicating a file header full length; 사용자 요구 또는 네트워크 프로토콜의 특성에 의해 결정되는 값으로 멀티미디어 데이터 부분을 구성하는 비디오/오디오 유닛의 크기를 결정하기 위한 제2 필드;A second field for determining a size of a video / audio unit constituting a multimedia data portion with a value determined by a user request or a characteristic of a network protocol; 멀티미디어 데이터 부분의 비디오 포맷에 대한 정보로 비디오 포맷에 대한기술 정보를 나타내는 제3 필드;A third field indicating descriptive information about the video format as information about the video format of the multimedia data portion; 비디오 재생기의 버전을 나타내는 제4 필드;A fourth field indicating a version of the video player; Frame/Second로 초당 처리해야 할 비디오 프레임의 수를 나타내는 제5 필드;A fifth field indicating the number of video frames to be processed per second in Frame / Second; 실제 비디오 스트림의 초당 발생 비트율을 나타내는 제6 필드;A sixth field representing a bit rate occurring per second of the actual video stream; 멀티미디어 데이터 부분의 오디오 포맷에 대한 정보로 오디오 포맷에 대한 기술 정보를 나타내는 제7 필드;A seventh field indicating descriptive information about the audio format as information on the audio format of the multimedia data portion; 오디오를 처리할 재생기 버전을 나타내는 제8 필드;An eighth field indicating a player version to process audio; 초당 처리해야 할 오디오 프레임의 샘플 개수를 나타내는 제9 필드;A ninth field indicating a number of samples of audio frames to be processed per second; 실제 오디오 스트림의 초당 발생 비트율을 나타내는 제10 필드를 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 방법.A stream file formatting method for a multimedia streaming service comprising a tenth field indicating a bit rate occurring per second of the actual audio stream. 제8항에 있어서,The method of claim 8, 상기 비디오/오디오 유닛은,The video / audio unit, 비디오/오디오 유닛을 구분하기 위한 Type필드와,Type field to distinguish the video / audio unit, 각 비디오/오디오 유닛의 전체 크기를 나타내는 Unit Length필드와,A Unit Length field indicating the total size of each video / audio unit, 다수의 비디오/오디오 프레임을 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 방법.Stream file formatting method for a multimedia streaming service comprising a plurality of video / audio frames. 제10항에 있어서,The method of claim 10, 상기 다수의 비디오/오디오 프레임은,The plurality of video / audio frames, 비디오/오디오 프레임의 순서를 나타내며, 네트워크 전송과 관련된 순서 정보가 포함된 제1 필드와;A first field indicating an order of video / audio frames and including order information related to network transmission; 각 비디오/오디오 프레임이 표현되어져야 할 실제 시간으로 비디오/오디오 프레임 인코더에 의해서 발생된 값을 나타내는 제1 필드와;A first field indicating a value generated by the video / audio frame encoder in the actual time at which each video / audio frame should be represented; 비디오/오디오 데이터의 실제 길이와, 실제 비디오 데이터와 오디오 데이터를 포함하는 제3 필드로 이루어진 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 방법.A stream file formatting method for a multimedia streaming service comprising a real length of video / audio data and a third field containing real video data and audio data. 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 방법에 있어서,In the stream file synchronization method for a multimedia streaming service, 포맷팅된 멀티미디어 스트림 파일이 수신되면, 수신된 스트림 파일의 파일 헤더 정보 및 FPS값을 추출하고, 오디오 샘플링 처리를 통해 비디오/오디오 유닛내 각 프레임들의 재생 시간을 결정하는 단계;If a formatted multimedia stream file is received, extracting file header information and FPS value of the received stream file and determining the playback time of each frame in the video / audio unit through an audio sampling process; 상기 추출된 파일 헤더를 이용하여 비디오/오디오 데이터를 검출한 후, 시스템 자원을 확인하여 적어도 하나 이상의 비디오/오디오 데이터 동기화 검사 레이어를 결정하는 단계;Detecting video / audio data using the extracted file header, and then identifying system resources to determine at least one video / audio data synchronization check layer; a) 동기화 검사 레이어가 결정되면, 결정된 동기화 레이어에 따라 레이어의 검사 가능 여부를 체크한 후, 체크 결과에 따라 유닛 듀레이션 체크와, 비디오/오디오 유닛을 검출하고,a) Once the synchronization check layer is determined, it is checked whether the layer can be inspected according to the determined synchronization layer, and according to the check result, the unit duration check and the video / audio unit are detected. b) 상기 추출된 비디오/오디오 FPS로부터 비디오/오디오 재생 시간 값을 결정하여 비디오, FPS, 오디오 동기화 임계치를 결정하여 재생 시간이 임계영역에 포함되는지 비교하며,b) determine a video / audio playback time value from the extracted video / audio FPS to determine a video, FPS, audio synchronization threshold and compare whether the playback time is included in the threshold region; c) 상기 비디오/오디오 각 프레임의 타임 스탬프값을 서로 비교하는 단계;c) comparing the time stamp values of each frame of the video / audio with each other; 싱기 비교결과, 각 비디오/오디오 프레임의 재생 시간이 임계영역에 포되지 않고, 비디오/오디오 프레임이 서로 일치하는 경우 비디오 및 오디오 데이터가 동기화가 수행된 것으로 판단하여 상기 검출된 비디오/오디오 데이터를 디코딩 장치로 제공하는 단계를 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 방법.As a result of the comparison, when the playback time of each video / audio frame is not included in the critical region and the video / audio frames coincide with each other, it is determined that video and audio data are synchronized and decode the detected video / audio data. Stream file synchronization method for a multimedia streaming service comprising the step of providing to the device. 제12항에 있어서,The method of claim 12, 상기 동기화 검사 레이어는,The synchronization check layer, 비디오/오디오 유닛의 듀레이션 값을 체크하여 비디오/오디오 유닛을 검출하는 제1 레이어;A first layer that detects a video / audio unit by checking a duration value of the video / audio unit; 상기 제1 레이어 검사를 통해 비디오 오디오/유닛이 검출되면, 검출된 비디오/오디오 유닛내 비디오/오디오 FPS로부터 초당 비디오/오디오 재생 시간값을 계산하고, 계산된 재생 시간값에 따라 비디오/오디오 동기화 임계치를 결정한 후, 각비디오 프레임과 오디오 프레임의 재생 시간을 비교하여 임계영역에 포함되는지를 판단하는 제2 레이어;When the video audio / unit is detected through the first layer inspection, a video / audio playback time value is calculated per second from the video / audio FPS in the detected video / audio unit, and the video / audio synchronization threshold is calculated according to the calculated playback time value. A second layer that determines whether the video data is included in the threshold region by comparing the playback time of each video frame and the audio frame; 제2 레이어 검사를 통해 재생 시간이 임계 영역에 포함되는 경우 비디오/오디오 각 프레임의 타임 스탬프값을 비교하여 타임 스탬프값이 서로 일치하는지를 비교하는 제3 레이어를 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 방법.Stream file synchronization for a multimedia streaming service including a third layer that compares the time stamp values of each frame of video / audio by comparing the time stamp values of each frame of video / audio when the playback time is included in the critical region through the second layer check Way. 제12항 또는 제13항에 있어서,The method according to claim 12 or 13, 상기 검출된 비디오/오디오 데이터를 디코딩 장치로 제공하는 단계는,Providing the detected video / audio data to a decoding device, 상기 레이어의 검사 가능 여부를 체크 결과, 제1 레이어 검사가 가능한 경우, 비디오/오디오 유닛 듀레이션을 검사하는 단계;Checking a video / audio unit duration when a first layer inspection is possible as a result of checking whether the layer can be inspected; 상기 검사 결과, 비디오/오디오 유닛 듀레이션이 경과되었을 경우 비디오/오디오 유닛을 검출하는 단계;Detecting a video / audio unit when the video / audio unit duration has elapsed as a result of the inspection; 비디오/오디오 유닛이 검출되면, 제2 레이어 검사가 가능한지를 판단하는 단계;If a video / audio unit is detected, determining whether a second layer inspection is possible; 제2 레이어 검사가 가능하면, 상기 추출된 비디오/오디오 FPS로부터 초당 비디오/오디오 재생 시간값을 결정하고, 비디오/오디오 유닛내의 각 프레임에 대한 동기화 임계치를 결정하는 단계;If possible, determining a video / audio playback time value per second from the extracted video / audio FPS, and determining a synchronization threshold for each frame in the video / audio unit; 동기화 임계치가 결정되면, 비디오/오디오 프레임 재생 시간을 비교하여 재생 시간이 상기 결정된 임계 영역에 포함되는지를 판단하는 단계;If the synchronization threshold is determined, comparing the video / audio frame playback time to determine whether a playback time is included in the determined threshold region; 판단 결과, 비디오/오디오 재생 시간이 임계 영역에 포함되는 경우 제3 레이어 검사가 가능한지를 판단하는 단계;Determining whether the third layer inspection is possible when the video / audio playback time is included in the threshold region as a result of the determination; 제3 레이어 검사가 가능한 경우, 비디오/오디오 각 프레임의 타임 스탬프값을 비교하는 단계;Comparing a time stamp value of each frame of video / audio when the third layer inspection is possible; 비교 결과, 비디오/오디오 타임 스탬프값이 일치하는 경우, 비디오데이터와 오디오 데이터가 동기화가 이루어진 것으로 판단하여 검출된 비디오 오디오 데이터를 디코딩장치로 전송하는 단계를 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 방법.As a result of the comparison, when the video / audio time stamp values match, determining that the video data and the audio data are synchronized, and transmitting the detected video and audio data to the decoding apparatus. . 제14항에 있어서,The method of claim 14, 상기 제1 레이어의 검사가 불가능할 경우 비디오/오디오 데이터를 검출하고, 제1 레이어 검사는 가능하지만 제2, 레이어 및 제3 레이어 검사가 각각 불가능한 경우, 상기 검출된 비디오 오디오 데이터를 디코딩 장치로 전송하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 방법.When the inspection of the first layer is impossible, the video / audio data is detected. When the inspection of the first layer is possible but the inspection of the second, layer, and third layer is impossible, respectively, the detected video audio data is transmitted to the decoding apparatus. Stream file synchronization method for multimedia streaming service. 제14항에 있어서,The method of claim 14, 상기 임계 영역에 포함되는지를 판단하는 단계에서, 비디오/오디오 재생 시간이 임계 영역에 포함되지 않을 경우, 제 2레이어 검사 과정을 슬립시킨 후, 일정 시간 후에 각 비디오 /오디오 프레임의 재생 시간을 재 비교하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 방법.In the determining of whether the video data is included in the critical region, when the video / audio playback time is not included in the critical region, the second layer inspection process is slipped, and after a predetermined time, the playback time of each video / audio frame is compared again. Stream file synchronization method for a multimedia streaming service. 제14항에 있어서,The method of claim 14, 상기 비디오/오디오 각 프레임의 타임 스탬프값을 비교하는 단계에서,In the step of comparing the time stamp value of each video / audio frame, 상기 비디오/오디오 각 프레임의 타임 스탬프값이 불일치 하는 경우 제3 레이어 검사를 슬립시킨 후, 새로운 스케쥴을 적용시켜 임의의 시간 후에 다시 비디오/오디오 각 프레임의 타임 스탬프값을 비교하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 방법.When the time stamp value of each video / audio frame is inconsistent, a third layer check is performed, and a new schedule is applied to the multimedia streaming service for comparing the time stamp value of each video / audio frame again after a predetermined time. How to sync stream files. 인코더로부터 제공되는 비디오/오디오 데이터를 멀티미디어 스트리밍 서비스를 위한 스트림 파일로 포맷팅하기 위한 장치에 있어서,An apparatus for formatting video / audio data provided from an encoder into a stream file for a multimedia streaming service, the apparatus comprising: 인코더로부터 인코딩된 비디오/오디오 데이터가 입력되면, 입력되는 비디오/오디오 데이터에 대한 비디오/오디오 유닛의 크기를 결정하는 유닛 크기 결정 수단;Unit size determining means for determining a size of a video / audio unit for input video / audio data when encoded video / audio data is input from an encoder; 상기 유닛 크기 결정 수단에서 결정된 비디오/오디오 유닛의 크기에 따라 스트림 파일의 헤더를 생성하는 파일 헤더 생성 수단;File header generating means for generating a header of the stream file according to the size of the video / audio unit determined by the unit size determining means; 상기 파일 헤더 생성 후, 비디오/오디오 유닛 듀레이션을 체크하여 비디오 유닛 듀레이션이 경과되었는지를 판단하는 유닛 듀레이션 처리 수단;Unit duration processing means for checking a video / audio unit duration after generating the file header to determine whether a video unit duration has elapsed; 유닛 듀레이션이 경과되었을 경우, 비디오/오디오 유닛의 헤더를 생성하는 비디오/오디오 유닛 헤더 생성 수단;Video / audio unit header generating means for generating a header of the video / audio unit when the unit duration has elapsed; 상기 생성된 비디오/오디오 유닛의 헤더를 포함하는 멀티미디어 비디오/오디오 데이터와 상기 생성된 스트림 파일의 헤더를 조합하여 하나의 멀티미디어 스트림 파일을 생성하는 멀티미디어 스트림 파일 생성 수단을 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 장치.A stream for multimedia streaming service comprising means for generating a multimedia stream file by combining the multimedia video / audio data including the generated video / audio unit header and the generated stream file header File Formatting Device. 제18항에 있어서,The method of claim 18, 상기 유닛 크기 결정 수단은,The unit size determining means, 사용자로부터 비디오/오디오 유닛의 크기를 결정하기 위한 동기 단위 사용자 입력이 존재하는 경우, 사용자 입력에 따라 비디오/오디오 유닛의 크기를 결정하는 동기 단위 사용자 입력 처리부;A synchronization unit user input processing unit for determining the size of the video / audio unit according to the user input when there is a synchronization unit user input for determining the size of the video / audio unit from the user; 동기 단위 사용자 입력이 존재하지 않을 경우, 네트워크 프로토콜 특성에 따라 패킷 단위로 비디오/오디오 유닛의 크기를 결정하는 네트워크 프로토콜 처리부를 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 장치.And a network protocol processing unit configured to determine the size of a video / audio unit on a packet basis according to network protocol characteristics when there is no sync unit user input. 제19항에 있어서,The method of claim 19, 상기 네트워크 프로토콜 처리부에서 네트워크 패킷 단위로 비디오/오디오 유닛의 크기를 결정하지 못할 경우에는 디폴트로 설정된 유닛 듀레이션을 적용시켜 비디오/오디오 유닛의 크기를 결정하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 장치.If the network protocol processor fails to determine the size of the video / audio unit in units of network packets, the stream file formatting apparatus for determining a size of the video / audio unit by applying a unit duration set as a default. 제18항 또는 제19항에 있어서,The method of claim 18 or 19, 상기 유닛 크기 결정 수단은,The unit size determining means, 상기 비디오/오디오 유닛의 크기와 입력된 비디오/오디오 데이터의 비트율을 비교하여 적어도 하나 이상의 네트워크 프레임에 대응되는 비디오 프레임 재생 시간값을 산출하는 비디오/오디오 재생 시간 산출부;A video / audio playback time calculator for comparing a size of the video / audio unit with a bit rate of input video / audio data to calculate a video frame playback time value corresponding to at least one network frame; 상기 산출된 비디오 프레임의 재생 시간값을 이용하여 비디오/오디오 유닛 듀레이션값을 결정한 후, 결정된 파일 듀레이션 값을 상기 파일 헤더 생성 수단으로 제공하는 듀레이션 결정부를 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 장치.And a duration determiner configured to determine a video / audio unit duration value by using the calculated reproduction time value of the video frame, and to provide the determined file duration value to the file header generation means. 제18항에 있어서,The method of claim 18, 상기 파일 헤더 생성 수단에서 스트림 파일이 생성되지 않았을 경우에는, 파일 헤더가 생성될 때 까지 비디오/오디오 데이터에 대한 버퍼링을 수행하는 제1 버퍼;A first buffer which performs buffering on video / audio data until a file header is generated when the stream file is not generated by the file header generating means; 상기 유닛 듀레이션 처리부에서 비디오 유닛 듀레이션이 경과되지 않았을 경우에는 유닛 듀레이션이 경과될 때 까지 비디오/오디오 에 대한 버퍼링을 수행하는 제2 버퍼 더 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 장치.And a second buffer for performing video / audio buffering until the unit duration has elapsed when the unit duration processor has not elapsed. 멀티미디어 스트리밍 서비스를 위해 포맷팅된 스트림 파일의 비디오/오디오 데이터를 동기화시키는 장치에 있어서,An apparatus for synchronizing video / audio data of a stream file formatted for a multimedia streaming service, 포맷팅된 멀티미디어 스트림 파일이 수신되면, 수신된 스트림 파일의 파일 헤더 정보 및 FPS값을 추출하고, 오디오 샘플링 처리를 통해 비디오/오디오 유닛내 각 프레임들의 재생 시간을 결정하는 입력 처리 수단;Input processing means for extracting the file header information and the FPS value of the received stream file when the formatted multimedia stream file is received, and determining the reproduction time of each frame in the video / audio unit through audio sampling processing; 상기 입력 처리수단에서 추출된 파일 헤더를 이용하여 멀티미디어 데이터를 추출하는 제1 추출수단;First extracting means for extracting multimedia data using the file header extracted from the input processing means; 상기 추출된 멀티미디어 데이터내 유닛 헤더, 프레임 헤더 및 비디오/오디오 데이터를 추출하는 제2 추출 수단;Second extraction means for extracting unit header, frame header and video / audio data in the extracted multimedia data; 상기 추출된 비디오/오디오 데이터 및 시스템 자원을 확인하여 적어도 하나 이상의 비디오/오디오 데이터 동기화 검사 레이어를 선택하는 레이어 선택 수단;Layer selection means for identifying the extracted video / audio data and system resources and selecting at least one video / audio data synchronization check layer; 동기화 검사 레이어가 선택되면, 결정된 동기화 레이어에 따라 레이어의 검사 가능 여부를 체크한 후, 상기 추출된 비디오/오디오 FPS로부터 비디오/오디오 재생 시간 값을 결정하여 비디오, FPS, 오디오 동기화 임계치를 결정하여 재생 시간이 임계 영역에 포함되는지를 판단하는 동기화 임계 범위 처리 수단;When the synchronization check layer is selected, the layer is checked according to the determined synchronization layer and then the video / audio playback time value is determined from the extracted video / audio FPS to determine the video, FPS and audio synchronization thresholds. Synchronization threshold range processing means for determining whether time is included in the threshold region; 상기 비디오/오디오 각 프레임의 타임 스탬프값을 검출하여 서로 비교하는 타임 스탬프 처리 수단;Time stamp processing means for detecting and comparing time stamp values of each frame of the video / audio; 싱기 비교결과, 각 비디오/오디오 프레임의 재생 시간이 임계영역에 포함되지 않고, 비디오/오디오 프레임이 서로 일치하는 경우 비디오 및 오디오 데이터가 동기화가 수행된 것으로 판단하여 상기 검출된 비디오/오디오 데이터를 디코딩 장치로 제공하는 동기화 처리 수단을 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 장치.As a result of the comparison, when the playback time of each video / audio frame is not included in the critical region and the video / audio frames coincide with each other, it is determined that video and audio data are synchronized and decoded the detected video / audio data. Stream file synchronization apparatus for a multimedia streaming service comprising a synchronization processing means provided to the device. 제23항에 있어서,The method of claim 23, wherein 상기 레이어 선택 수단에서의 동기화 검사 레이어는,The synchronization check layer in the layer selection means, 비디오/오디오 유닛의 듀레이션 값을 체크하여 비디오/오디오 유닛을 검출하는 제1 레이어;A first layer that detects a video / audio unit by checking a duration value of the video / audio unit; 상기 제1 레이어 검사를 통해 비디오 오디오/유닛이 검출되면, 검출된 비디오/오디오 유닛내 비디오/오디오 FPS로부터 초당 비디오/오디오 재생 시간값을 계산하고, 계산된 재생 시간값에 따라 비디오/오디오 동기화 임계치를 결정한 후, 각 비디오 프레임과 오디오 프레임의 재생 시간을 비교하여 임계영역에 포함되는지를판단하는 제2 레이어;When the video audio / unit is detected through the first layer inspection, a video / audio playback time value is calculated per second from the video / audio FPS in the detected video / audio unit, and the video / audio synchronization threshold is calculated according to the calculated playback time value. A second layer which determines whether the video data is included in the critical area by comparing the playback time of each video frame and the audio frame; 제2 레이어 검사를 통해 재생 시간이 임계 영역에 포함되는 경우 비디오/오디오 각 프레임의 타임 스탬프값을 비교하여 타임 스탬프값이 서로 일치하는지를 비교하는 제3 레이어를 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 장치.Stream file synchronization for a multimedia streaming service including a third layer that compares the time stamp values of each frame of video / audio by comparing the time stamp values of each frame of video / audio when the playback time is included in the critical region through the second layer check Device. 제23항 또는 제24항에 있어서,The method of claim 23 or 24, 상기 동기화 처리 모듈은,The synchronization processing module, 상기 레이어의 검사 가능 여부를 체크 결과, 제1 레이어 검사가 가능한 경우, 비디오/오디오 유닛 듀레이션을 검사하여 비디오/오디오 유닛 듀레이션이 경과되었을 경우 비디오/오디오 유닛을 검출하는 검출부를 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 장치.If it is determined that the inspection of the layer is possible, if the first layer inspection is possible, the multimedia streaming service includes a detector for detecting the video / audio unit duration and detecting the video / audio unit when the video / audio unit duration has elapsed. Stream file synchronization device for. 제25항에 있어서,The method of claim 25, 상기 동기화 처리 모듈은,The synchronization processing module, 상기 검출부에서 비디오/오디오 유닛이 검출되면, 제2 레이어 검사가 가능한지를 판단한 후, 제2 레이어 검사가 가능하면, 상기 추출된 비디오/오디오 FPS로부터 초당 비디오/오디오 재생 시간값을 결정하고, 비디오/오디오 유닛내의 각 프레임에 대한 동기화 임계치를 결정하는 동기화 임계 범위 처리부와;When the video / audio unit is detected by the detection unit, it is determined whether the second layer inspection is possible, and when the second layer inspection is possible, the video / audio playback time value is determined from the extracted video / audio FPS per second, and the video / audio unit is determined. A synchronization threshold range processor for determining a synchronization threshold for each frame in the audio unit; 동기화 임계치가 결정되면, 비디오/오디오 프레임 재생 시간을 비교하여 재생 시간이 상기 결정된 임계 영역에 포함되는지를 판단하고, 비디오/오디오 재생 시간이 임계 영역에 포함되는 경우 제3 레이어 검사가 가능한지를 판단하는 비교 판단부를 더 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 장치.When the synchronization threshold is determined, it is determined whether the playback time is included in the determined threshold region by comparing the video / audio frame playback time, and if the third layer check is possible when the video / audio playback time is included in the threshold region. Stream file synchronization apparatus for a multimedia streaming service further comprising a comparison determination unit. 제26항에 있어서,The method of claim 26, 동기화 처리 수단은,Synchronization processing means, 상기 비교 판단부에서 제3 레이어 검사가 가능한 경우, 비디오/오디오 각 프레임의 타임 스탬프값을 비교하는 타임 스탬프 비교부;A time stamp comparison unit comparing the time stamp values of each video / audio frame when the third layer inspection is possible in the comparison determination unit; 비교 결과, 비디오/오디오 타임 스탬프값이 일치하는 경우, 비디오데이터와 오디오 데이터가 동기화가 이루어진 것으로 판단하여 검출된 비디오 오디오 데이터를 디코딩장치로 전송하는 전송부를 더 포함하는 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 장치.As a result of the comparison, when the video / audio time stamp values match, the stream file synchronization for the multimedia streaming service further includes a transmission unit for determining that the video data and the audio data are synchronized and transmitting the detected video audio data to the decoding apparatus. Device. 멀티미디어 스트리밍 서비스를 위한 스트림 파일 포맷팅 방법을 수행하기 위하여 디지털 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로구현되어 있으며, 디지털 처리장치에 의해 판독될 수 있는 기록 매체에 있어서,In the recording medium which can be read by the digital processing apparatus, there is tangibly implemented a program of instructions that can be executed by the digital processing apparatus to perform the stream file formatting method for the multimedia streaming service. 인코딩된 비디오/오디오 데이터가 입력되면, 입력되는 비디오/오디오 데이터에 대한 비디오/오디오 유닛의 크기를 결정하는 단계;If encoded video / audio data is input, determining a size of a video / audio unit for the input video / audio data; 상기 결정된 비디오/오디오 유닛의 크기에 따라 스트림 파일의 헤더를 생성하는 단계;Generating a header of a stream file according to the size of the determined video / audio unit; 상기 파일 헤더 생성 후, 비디오/오디오 유닛 듀레이션을 체크하여 비디오 유닛 듀레이션이 경과되었는지를 판단하는 단계;After generating the file header, checking a video / audio unit duration to determine whether a video unit duration has elapsed; 유닛 듀레이션이 경과되었을 경우, 비디오/오디오 유닛의 헤더를 생성하는 단계;When the unit duration has elapsed, generating a header of the video / audio unit; 상기 생성된 비디오/오디오 유닛의 헤더를 포함하는 멀티미디어 비디오/오디오 데이터와 상기 생성된 스트림 파일의 헤더를 조합하여 하나의 멀티미디어 스트림 파일을 생성하는 단계를 수행하는 기록매체A recording medium for generating a multimedia stream file by combining the multimedia video / audio data including the generated video / audio unit header with the generated stream file header 멀티미디어 스트리밍 서비스를 위한 스트림 파일 동기화 방법을 수행하기 위하여 디지털 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리장치에 의해 판독될 수 있는 기록 매체에 있어서,In order to perform a stream file synchronization method for a multimedia streaming service, a program of instructions executable by a digital processing apparatus is tangibly embodied, and in a recording medium that can be read by a digital processing apparatus, 포맷팅된 멀티미디어 스트림 파일이 수신되면, 수신된 스트림 파일의 파일 헤더 정보 및 FPS값을 추출하고, 오디오 샘플링 처리를 통해 비디오/오디오 유닛내 각 프레임들의 재생 시간을 결정하는 단계;If a formatted multimedia stream file is received, extracting file header information and FPS value of the received stream file and determining the playback time of each frame in the video / audio unit through an audio sampling process; 상기 추출된 파일 헤더를 이용하여 비디오/오디오 데이터를 검출한 후, 시스템 자원을 확인하여 적어도 하나 이상의 비디오/오디오 데이터 동기화 검사 레이어를 결정하는 단계;Detecting video / audio data using the extracted file header, and then identifying system resources to determine at least one video / audio data synchronization check layer; a) 동기화 검사 레이어가 결정되면, 결정된 동기화 레이어에 따라 레이어의 검사 가능 여부를 체크한 후, 체크 결과에 따라 유닛 듀레이션 체크와, 비디오/오디오 유닛을 검출하고,a) Once the synchronization check layer is determined, it is checked whether the layer can be inspected according to the determined synchronization layer, and according to the check result, the unit duration check and the video / audio unit are detected. b) 상기 추출된 비디오/오디오 FPS로부터 비디오/오디오 재생 시간 값을 결정하여 비디오, FPS, 오디오 동기화 임계치를 결정하여 재생 시간이 임계영역에 포함되는지 비교하며,b) determine a video / audio playback time value from the extracted video / audio FPS to determine a video, FPS, audio synchronization threshold and compare whether the playback time is included in the threshold region; c) 상기 비디오/오디오 각 프레임의 타임 스탬프값을 서로 비교하는 단계;c) comparing the time stamp values of each frame of the video / audio with each other; 싱기 비교결과, 각 비디오/오디오 프레임의 재생 시간이 임계영역에 포함되지 않고, 비디오/오디오 프레임이 서로 일치하는 경우 비디오 및 오디오 데이터가 동기화가 수행된 것으로 판단하여 상기 검출된 비디오/오디오 데이터를 디코딩 장치로 제공하는 단계를 수행하는 기록 매체.As a result of the comparison, when the playback time of each video / audio frame is not included in the critical region and the video / audio frames coincide with each other, it is determined that video and audio data are synchronized and decoded the detected video / audio data. A recording medium performing the step of providing to the device.
KR10-2001-0060360A 2001-09-28 2001-09-28 Method and apparatus of file formatting and synchronization for multimedia streaming service KR100422068B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0060360A KR100422068B1 (en) 2001-09-28 2001-09-28 Method and apparatus of file formatting and synchronization for multimedia streaming service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0060360A KR100422068B1 (en) 2001-09-28 2001-09-28 Method and apparatus of file formatting and synchronization for multimedia streaming service

Publications (2)

Publication Number Publication Date
KR20030027253A true KR20030027253A (en) 2003-04-07
KR100422068B1 KR100422068B1 (en) 2004-03-11

Family

ID=29562741

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0060360A KR100422068B1 (en) 2001-09-28 2001-09-28 Method and apparatus of file formatting and synchronization for multimedia streaming service

Country Status (1)

Country Link
KR (1) KR100422068B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020054276A (en) * 2002-05-03 2002-07-06 변진우 Method for providing mobile multimedia communication with multimedia streaming format
KR101268452B1 (en) * 2011-03-30 2013-06-04 전자부품연구원 A method for transmitting and receiving data which describe virtual world, and an apparatus thereof
WO2018056781A1 (en) * 2016-09-23 2018-03-29 재단법인 실감교류인체감응솔루션연구단 Client device and local clock skew correction method therefor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01115785A (en) * 1987-10-30 1989-05-09 Mazda Motor Corp Positioning method for window glass
WO2000020960A1 (en) * 1998-10-05 2000-04-13 Keehan Michael T Asynchronous video forums
KR100640918B1 (en) * 1999-03-12 2006-11-02 엘지전자 주식회사 Method for manufacturing Stream File in Internet Streaming Service

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020054276A (en) * 2002-05-03 2002-07-06 변진우 Method for providing mobile multimedia communication with multimedia streaming format
KR101268452B1 (en) * 2011-03-30 2013-06-04 전자부품연구원 A method for transmitting and receiving data which describe virtual world, and an apparatus thereof
WO2018056781A1 (en) * 2016-09-23 2018-03-29 재단법인 실감교류인체감응솔루션연구단 Client device and local clock skew correction method therefor
US11022999B2 (en) 2016-09-23 2021-06-01 Center Of Human-Centered Interaction For Coexistence Client device and local clock skew compensation method thereof

Also Published As

Publication number Publication date
KR100422068B1 (en) 2004-03-11

Similar Documents

Publication Publication Date Title
US20230319229A1 (en) System and method for modifying media streams using metadata
CN103188522B (en) Method and system for providing and delivering a composite condensed stream
US6249319B1 (en) Method and apparatus for finding a correct synchronization point within a data stream
JP4990762B2 (en) Maintaining synchronization between streaming audio and streaming video used for Internet protocols
US8269891B2 (en) Compressed timing indicators for media samples
US8214221B2 (en) Method and apparatus for decoding an audio signal and identifying information included in the audio signal
US8838594B2 (en) Automatic method to synchronize the time-line of video with audio feature quantity
US6069902A (en) Broadcast receiver, transmission control unit and recording/reproducing apparatus
US7424209B2 (en) System and method for real-time data archival
US7433946B2 (en) Mechanism for transmitting elementary streams in a broadcast environment
US7274862B2 (en) Information processing apparatus
EP1417839A2 (en) Navigation for mpeg streams
KR20010095264A (en) Data multiplexer, data multiplexing method, and recording medium
US20020128822A1 (en) Method and apparatus for skipping and repeating audio frames
US8792734B2 (en) Apparatus and method for transmitting/receiving image data in mobile communication system
JP3898674B2 (en) Information storage medium for storing information for generating DTV stream, DTV stream conversion method and apparatus
JP4457506B2 (en) Packetizing apparatus and packetizing method
KR100422068B1 (en) Method and apparatus of file formatting and synchronization for multimedia streaming service
US20110129018A1 (en) Information processing device and method, and program
JP2005530376A (en) Dynamic multiplexing method of digital stream
KR100513041B1 (en) Apparatus and method for analyzing DMB(digital multimedia broadcasting) stream
US7570304B1 (en) Method, apparatus and computer program product for synchronizing presentation of digital video data with serving of digital video data
JP2001086088A (en) Information processor, its method and recording medium
JP2001111610A (en) Receiver for information data transmission system
JP4241220B2 (en) Digital recording / reproducing apparatus and reproducing rate control method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130205

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140123

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee