KR101166085B1 - diversification transcoding method for video file - Google Patents

diversification transcoding method for video file Download PDF

Info

Publication number
KR101166085B1
KR101166085B1 KR20100129847A KR20100129847A KR101166085B1 KR 101166085 B1 KR101166085 B1 KR 101166085B1 KR 20100129847 A KR20100129847 A KR 20100129847A KR 20100129847 A KR20100129847 A KR 20100129847A KR 101166085 B1 KR101166085 B1 KR 101166085B1
Authority
KR
South Korea
Prior art keywords
fragment
data
video
header
transcoding
Prior art date
Application number
KR20100129847A
Other languages
Korean (ko)
Other versions
KR20120068285A (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 KR20100129847A priority Critical patent/KR101166085B1/en
Priority to PCT/KR2010/009095 priority patent/WO2012081752A1/en
Publication of KR20120068285A publication Critical patent/KR20120068285A/en
Application granted granted Critical
Publication of KR101166085B1 publication Critical patent/KR101166085B1/en

Links

Images

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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명에 따르는 동영상 파일의 분산 트랜스코딩 방법은, 트랜스코딩 서버 컴퓨터가, 동영상 파일의 오디오 데이터와 비디오 데이터를 다수의 조각으로 분할하는 단계: 상기 다수의 조각 중 일부를 결합하여 단편 데이터들을 구성하는 단계; 상기 단편 데이터들을 다수의 서브 컴퓨터로 전송하는 단계; 상기 다수의 서브 컴퓨터 각각이 단편 데이터를 트랜스코딩하여 트랜스코딩된 단편 데이터를 수신받아 조합하여 트랜스코딩된 동영상 파일을 생성하는 단계;를 구비함을 특징으로 한다. In the distributed transcoding method of a moving picture file according to the present invention, a transcoding server computer divides audio data and video data of a moving picture file into a plurality of pieces: combining the pieces of the plurality of pieces to form fragment data. step; Transmitting the fragment data to a plurality of subcomputers; And each of the plurality of sub-computers transcodes the fragment data to receive the transcoded fragment data and combine them to generate a transcoded video file.

Description

동영상 파일의 분산 트랜스코딩 방법{diversification transcoding method for video file}Distributed transcoding method for video file

본 발명은 동영상 파일 처리 기술에 관한 것으로, 더욱 상세하게는 동영상 파일의 분산 트랜스코딩 방법에 관한 것이다. The present invention relates to a video file processing technique, and more particularly, to a distributed transcoding method of a video file.

네트워크를 통해 가입자의 단말로 동영상 서비스를 제공하는 영상통신 시스템은 네트워크 환경, 단말 규격 및 서비스 타입에 따라 다양한 형상의 동영상을 서비스하고 있다. A video communication system that provides a video service to a subscriber's terminal through a network serves various types of video according to a network environment, a terminal standard, and a service type.

최근 하나의 단말에서 다양한 동영상 서비스를 이용하고자 하거나, 서로 다른 네트워크 환경을 수용하는 서비스를 구상하는 등 서비스의 융합과 연동에 대한 요구가 증가함에 따라, 이들 다양한 네트워크/단말 환경의 가입자간에 동영상 서비스를 원활하게 제공하기 위한 방안이 준비되고 있는 실정이다. 이러한 연동 작업을 수행하기 위해 필요한 것이 동영상 파일의 포맷 및 표현 형태를 변형하는 처리 작업인 '트랜스코딩'이다.Recently, as the demand for the convergence and interworking of services is increasing, such as using various video services in one terminal or designing a service that accommodates different network environments, video services are provided between subscribers of these various network / terminal environments. In order to provide smoothly, the situation is being prepared. What is needed to perform this interworking work is 'transcoding', which is a processing task that transforms the format and expression of the video file.

네트워크와 개인 단말의 발전에 따라 대용량의 동영상을 서비스의 제공이 가능해짐에 따라 영상 통화, 영상 회의, 주문형 비디오, 화상 채팅 및 멀티미디어 메시징 등 다양한 형태의 영상통신 서비스가 개발되고 있는바, 이들 영상 통신 서비스는 네트워크나 가입자의 단말 등 기반 환경에 따라 서로 다른 특성을 갖는다.With the development of networks and personal terminals, various types of video communication services such as video call, video conferencing, video on demand, video chat, and multimedia messaging are being developed. The service has different characteristics according to the base environment such as the network or the subscriber's terminal.

즉, 네트워크 대역폭이 충분히 제공되는지에 따라, 혹은 단말의 정보처리능력 등에 따라 화면 크기나 프레임이 충분한 화질의 동영상을 제공하거나, 제한된 화질의 동영상을 제공하게 된다. That is, depending on whether the network bandwidth is sufficiently provided, or depending on the information processing capability of the terminal or the like, a video having a sufficient picture size or a frame or a video having a limited picture quality is provided.

이러한 영상통신 서비스 간의 연동이 필요한 경우에는 퍼스널 컴퓨터 기반의 고화질의 동영상 서비스가 무선의 단말 가입자에게 전달되어야 하는 등의 경우가 생기게 되는데, 그 중간 과정에서 원래의 동영상의 포맷 등을 최종 가입자 단말에서 수용할 수 있는 정도로 변형하는 트랜스코딩 작업이 필요하게 된다.When interworking between such video communication services is required, there is a case that a personal computer-based high quality video service must be delivered to a wireless terminal subscriber. In the interim process, the original video format is accepted by the final subscriber terminal. Transcoding is required to deform to the extent possible.

그러나 수많은 영상통신 서비스가 발전하고 이들 서비스에서 제공하는 동영상의 포맷이 다양해짐에 따라, 이들 영상통신 서비스들이 다른 영상통신 서비스와 연동하기 위해서는 네트워크나 단말 특성 등을 고려한 서로 다른 트랜스코딩 작업이 필요하다. 즉 동영상의 크기를 변환하는 기초적인 트랜스코딩에서부터, 동영상의 포맷을 변환하거나, 동영상 파일의 내용으로부터 요약 정보를 추출하거나 일부 미디어만을 추출하고 혹은 로고나 상업 정보 등 비정형화된 압축 객체를 추가하는 고난이도의 트랜스코딩이 요구되기도 한다.However, as many video communication services are developed and video formats provided by these services are diversified, different video encoding services need to be transcoded in consideration of network and terminal characteristics in order to interoperate with other video communication services. . From basic transcoding to convert the size of a video, to converting the format of a video, extracting summary information from the contents of a video file, extracting only some media, or adding unstructured compressed objects such as logos or commercial information. Transcoding may be required.

그러므로 하나의 영상통신 서비스가 다양한 연동 조건을 수용할 수 있는 많은 트랜스코딩 기능을 수행하기란 쉽지 않다. 또한 여러 영상통신 서비스에서 이러한 트랜스코딩 기능을 개별적으로 구축하는 것은 상당한 부하를 중복적으로 부담하게 되는 결과를 초래한다.Therefore, it is not easy for one video communication service to perform many transcoding functions that can accommodate various interworking conditions. In addition, deploying these transcoding functions individually in multiple video communications services results in a significant overhead load.

따라서 영상통화, 주문형 비디오, 영상회의 및 멀티미디어 메시징 등 다양한 영상통신 서비스에서 요구되는 트랜스코딩을 효과적으로 수행하기 위한 기술의 개발이 절실하게 요망되었다. Therefore, it is urgently needed to develop a technology for effectively performing transcoding required in various video communication services such as video call, video on demand, video conferencing and multimedia messaging.

본 발명은 동영상 파일에 대한 트랜스코딩을 분산 처리하여 동영상 트랜스코딩을 위한 부하를 줄임과 동시에 트랜스코딩 속도를 향상시킬 수 있는 동영상 파일의 분산 트랜스코딩 방법을 제공하는 것을 그 목적으로 한다. It is an object of the present invention to provide a distributed transcoding method of a video file that can improve transcoding speed while reducing the load for video transcoding by distributing transcoding for a video file.

상기한 목적을 달성하기 위한 본 발명에 따르는 동영상 파일의 분산 트랜스코딩 방법은, 트랜스코딩 서버 컴퓨터가, 동영상 파일의 오디오 데이터와 비디오 데이터를 다수의 조각으로 분할하는 단계: 상기 다수의 조각 중 일부를 결합하여 단편 데이터들을 구성하는 단계; 상기 단편 데이터들을 다수의 서브 컴퓨터로 전송하는 단계; 상기 다수의 서브 컴퓨터 각각이 단편 데이터를 트랜스코딩하여 트랜스코딩된 단편 데이터를 수신받아 조합하여 트랜스코딩된 동영상 파일을 생성하는 단계;를 구비함을 특징으로 한다. In the distributed transcoding method of a video file according to the present invention for achieving the above object, the transcoding server computer divides the audio data and the video data of the video file into a plurality of pieces: a part of the plurality of pieces Combining to construct fragment data; Transmitting the fragment data to a plurality of subcomputers; And each of the plurality of sub-computers transcodes the fragment data to receive the transcoded fragment data and combine them to generate a transcoded video file.

상기한 본 발명은 동영상 파일에 대한 트랜스코딩을 분산 처리하여 동영상 파일의 트랜스코딩을 위한 부하를 줄임과 동시에 트랜스코딩 속도를 향상시킬 수 있는 효과가 있다.The present invention described above has the effect of distributing the transcoding for the video file to reduce the load for transcoding the video file and at the same time improve the transcoding speed.

도 1은 본 발명의 바람직한 실시예에 따른 동영상 파일에 대한 트랜스코딩 시스템의 구성도.
도 2는 본 발명의 바람직한 실시예에 따른 동영상 파일에 대한 트랜스코딩방법의 절차도.
도 3은 본 발명의 바람직한 실시예에 따른 동영상 파일에 대한 조각 구성예를 도시한 도면.
도 4 및 도 5는 본 발명의 바람직한 실시예에 따른 동영상 파일에 대한 단편 데이터 구성예를 도시한 도면.
1 is a block diagram of a transcoding system for a video file according to a preferred embodiment of the present invention.
2 is a flow chart of a transcoding method for a video file according to a preferred embodiment of the present invention.
3 is a diagram showing an example of a fragment configuration for a video file according to a preferred embodiment of the present invention.
4 and 5 are diagrams showing an example of a fragment data configuration for a moving picture file according to a preferred embodiment of the present invention.

본 발명은 동영상 파일의 트랜스코딩을 분산처리함으로써, 동영상 파일의 트랜스코딩을 위한 부하를 줄임과 동시에 트랜스코딩 속도를 향상시킨다.
The present invention distributes the transcoding of the video file, thereby reducing the load for transcoding the video file and at the same time improving the transcoding speed.

<동영상 파일의 트랜스코딩 시스템의 구성> <Configuration of Transcoding System for Video Files>

이러한 본 발명에 따르는 동영상 파일에 대한 트랜스코딩 시스템의 구성을 도 1을 참조하여 설명한다. The configuration of a transcoding system for a video file according to the present invention will be described with reference to FIG. 1.

상기 동영상 파일에 대한 트랜스코딩 시스템은 트랜스코딩 서버 컴퓨터(100)와 다수의 서브 컴퓨터(1021~102N)로 구성된다. The transcoding system for the video file is composed of a transcoding server computer 100 and a plurality of subcomputers 1021 to 102N.

상기 트랜스코딩 서버 컴퓨터(100)와 다수의 서브 컴퓨터(1021~102N)는 네트워크를 통해 연결되어 데이터를 주고 받을 수 있으며 다수의 서브 컴퓨터(1021~102N)를 통해 동영상 파일을 분산 트랜스코딩한다. The transcoding server computer 100 and the plurality of subcomputers 1021 to 102N are connected through a network to transmit and receive data, and distributed transcode video files through the plurality of subcomputers 1021 to 102N.

상기 트랜스코딩을 위해 상기 트랜스코딩 서버 컴퓨터(100)는 동영상 파일에 대해 오디오 및 비디오 조각을 생성하고, 그 오디오 및 비디오 조각 다수를 묶어 단편 데이터를 생성하고, 그 단편 데이터를 상기 다수의 서브 컴퓨터(1021~102N)로 제공하여 트랜스코딩을 요청하며, 상기 다수의 서브 컴퓨터(1021~102N)로부터 트랜스코딩된 단편 데이터들을 제공받아 조합하여 새로운 동영상 파일을 구성한다. For the transcoding, the transcoding server computer 100 generates audio and video fragments for a video file, bundles the audio and video fragments together to generate fragment data, and transmits the fragment data to the plurality of subcomputers ( 1021 to 102N) to request transcoding, and receive transcoded fragment data from the plurality of sub-computers 1021 to 102N to combine them to form a new video file.

상기 다수의 서브 컴퓨터(1021~102N)는 상기 트랜스코딩 서버 컴퓨터(100)가 제공하는 오디오 및 비디오 조각들로 구성되는 단편 데이터를 수신받아 트랜스코딩을 이행하고, 그 결과를 트랜스코딩 서버 컴퓨터(100)로 반환한다. 특히 상기 다수의 서브 컴퓨터(1021~102N)에 의한 트랜스코딩에 따라 조각 헤더의 프레임의 크기 및 옵션, 키 프레임이 변경되므로 조각 전체의 크기가 변경되고, 단편 헤더의 디코딩에 필요한 데이터인 엑스트라(extra) 등이 변경된다. 이에 따라 상기 다수의 서브 컴퓨터(1021~102N)는 상기한 변경 사항들을 헤더에 반영하여 헤더를 업데이트한다. 상기 업데이트되는 조각 헤더의 부분은 프레임 플래그(DWORD dwKeyFrame), 헤더 이후로의 바이트 오프셋(DWORD dwOffset)과, 프레임의 바이트 크기(DWORD dwSize)이고, 단편 헤더의 부분은 엑스트라(extra) 데이터 길이를 포함한 바이트 길이(unsigned int length)와, 비디오인 경우 BITMAPINFOHEADER(BITMAPINFOHEADER info)와, 오디오인 경우 WAVEFORMATEX(WAVEFORMATEX)와, 디코딩에 필요한 데이터인 엑스트라(extra) 데이터(unsigned char *extra) 이다.
The plurality of sub-computers 1021 to 102N receive fragment data composed of audio and video pieces provided by the transcoding server computer 100 to perform transcoding, and transmit the result to the transcoding server computer 100. Return). In particular, since the size, options, and key frames of the fragment header change according to transcoding by the plurality of sub-computers 1021 to 102N, the size of the entire fragment is changed and extra data, which is data necessary for decoding the fragment header, is added. ) Is changed. Accordingly, the plurality of subcomputers 1021 to 102N update the header by reflecting the above-described changes in the header. The part of the updated fragment header is a frame flag (DWORD dwKeyFrame), the byte offset after the header (DWORD dwOffset), the byte size of the frame (DWORD dwSize), and the fragment header part includes an extra data length. Unsigned int length, BITMAPINFOHEADER (BITMAPINFOHEADER info) for video, WAVEFORMATEX (WAVEFORMATEX) for audio, and extra data (unsigned char * extra) for decoding.

<동영상 파일의 분산 트랜스코딩 방법><Distributed transcoding method of video file>

본 발명의 바람직한 실시예에 따른 동영상 파일에 대한 트랜스코딩 방법을 도 2를 참조하여 설명한다. A transcoding method for a video file according to a preferred embodiment of the present invention will be described with reference to FIG.

상기 트랜스코딩 서버 컴퓨터(100)는 저장된 공간 순서로 오디오 조각 및 키 프레임을 고려하여 비디오 조각을 생성한다(200단계). The transcoding server computer 100 generates the video fragment in consideration of the audio fragment and the key frame in the stored spatial order (step 200).

상기 비디오 조각을 도 3을 참조하여 설명한다. 상기 비디오 조각은 제1 또는 제2비디오 조각으로 구성될 수 있다.The video fragment will be described with reference to FIG. 3. The video fragment may consist of a first or second video fragment.

상기 제1비디오 조각은 헤더와, 제1키 프레임과, 추가 키 프레임인 제2키 프레임과, 다수의 프레임으로 구성된다. 상기 다수의 프레임은 제1키 프레임 또는 제2키 프레임을 참조한다. The first video fragment includes a header, a first key frame, a second key frame as an additional key frame, and a plurality of frames. The plurality of frames refer to a first key frame or a second key frame.

그리고 상기 제2비디오 조각은 헤더와 제2키 프레임과 제3키 프레임과 추가 키 프레임인 제4키프레임과, 다수의 프레임으로 구성된다. 상기 다수의 프레임은 상기 제2키 프레임 또는 상기 제3키 프레임 또는 상기 제4키 프레임을 참조한다. The second video fragment includes a header, a second key frame, a third key frame, a fourth key frame which is an additional key frame, and a plurality of frames. The plurality of frames refer to the second key frame or the third key frame or the fourth key frame.

상기 헤더는 조각 헤더 바이트 크기 (unsigned long header_size), 조각 번호(unsigned long number), 프레임 개수(unsigned long entry_number), 프레임 인덱스 엔트리 배열(INDEX_ENTRY aIndex[])로 구성된다.The header consists of a fragment header byte size (unsigned long header_size), a fragment number (unsigned long number), an unsigned long entry_number, and a frame index entry array (INDEX_ENTRY aIndex []).

상기 프레임에 대한 인덱스 엔트리는 키 프레임 플래그(DWORD dwKeyFrame), 헤더 이후로의 바이트 오프셋(DWORD dwOffset)과, 프레임의 바이트 크기(DWORD dwSize)로 구성된다.The index entry for the frame consists of a key frame flag (DWORD dwKeyFrame), a byte offset after the header (DWORD dwOffset), and a byte size (DWORD dwSize) of the frame.

본 발명에 따른 비디오 조각은 다음의 특징을 갖는다. 먼저 조각 내 프레임은 콘텐츠에 저장된 공간 순서를 따르며, 키 프레임부터 시작에서 추가 키 프레임으로 끝난다. 양 끝의 키 프레임 사이에 키 프레임이 포함될 수 있으며, 마지막 조각의 경우에는 추가 키 프레임이 없을 수 있다. The video fragment according to the present invention has the following features. First, the frames in the fragment follow the order of space stored in the content, starting with the key frame and ending with the additional key frame. Keyframes may be included between the keyframes at both ends, and there may be no additional keyframes for the last piece.

상기 오디오 조각은 조각내 프레임은 동영상 파일에 저장된 공간 순서에 따르며, 비디오 조각의 프레임들에 대응되게 구성된 오디오 프레임으로 구성된다. The audio fragment is composed of an audio frame configured to correspond to the frames of the video fragment in the frame in the fragment according to the spatial order stored in the video file.

상기한 바와 같이 동영상 파일에 대한 비디오 및 오디오 조각을 생성한 후에, 상기 트랜스코딩 서버 컴퓨터(100)는 상기 비디오 및 오디오 조각들을 각 서브 컴퓨터에 대한 사양을 고려하여 전달할 조각 수를 결정하여 이를 바탕으로 단편 데이터를 구성한다. 여기서, 상기 서브 컴퓨터에 대한 사양정보는 미리 트랜스코딩 서버 컴퓨터(100)에 등록되어 저장될 수 있으며, 상기 사양에 대응되는 조각 수는 미리 정해질 수도 있다. After generating the video and audio fragments for the video file as described above, the transcoding server computer 100 determines the number of fragments to be delivered in consideration of the specifications for each sub-computer and based on this. Construct fragment data. Here, the specification information of the sub computer may be registered and stored in the transcoding server computer 100 in advance, and the number of pieces corresponding to the specification may be predetermined.

상기 단편 데이터는 도 4에 도시한 바와 같이 헤더와 제1 내지 제5조각으로 구성되거나, 헤더와 제6 내지 제8조각으로 구성되거나, 헤더와 제9 내지 제12조각으로 구성될 수 있다. 즉 단편 데이터는 서브 컴퓨터의 사양에 따라 상이한 수의 조각들이 결합되어 구성된다. As shown in FIG. 4, the fragment data may include a header and first to fifth pieces, a header and sixth to eighth pieces, or a header and ninth to twelfth pieces. That is, the fragment data is formed by combining different numbers of pieces according to the specifications of the subcomputer.

상기 단편 데이터의 헤더는 도 5에 도시한 바와 같이 단편 헤더 바이트 크기 (unsigned long header_size), 단편 번호(unsigned long number)와, 오디오 및 비디오 식별정보(unsigned long type; 0: 오디오, 1: 비디오)와, 조각 개수(unsigned long particle_number)와, 트랜스코딩으로 변경할 미디어 타입(FORCC target)과, 엑스트라(extra) 데이터 길이를 포함한 바이트 길이(unsigned int length)와, 비디오인 경우 BITMAPINFOHEADER(BITMAPINFOHEADER info)와, 오디오인 경우 WAVEFORMATEX(WAVEFORMATEX)와, 디코딩에 필요한 데이터인 엑스트라(extra) 데이터(unsigned char *extra)를 포함한다. As shown in FIG. 5, the header of the fragment data includes fragment header byte size (unsigned long header_size), fragment number (unsigned long number), and audio and video identification information (unsigned long type; 0: audio, 1: video). , Unsigned long particle_number, the media type to be transcoded (FORCC target), the byte length including the extra data length, BITMAPINFOHEADER (BITMAPINFOHEADER info) for video, In the case of audio, it includes WAVEFORMATEX (WAVEFORMATEX) and extra data (unsigned char * extra), which is data necessary for decoding.

상기 단편 데이터 헤더에 구비되는 WAVEFORMATEX는 마이크로소프트(Microsoft)사에서 규정한 WAVEFORMATEX 구조체 형식을 따른다. 그리고 상기 BITMAPINFOHEADER에는 마이크로소프트(Microsoft)사에서 규정한 BITMAPINFOHEADER 구조체 형식을 따른다.The WAVEFORMATEX provided in the fragment data header follows the WAVEFORMATEX structure format defined by Microsoft. The BITMAPINFOHEADER follows the format of a BITMAPINFOHEADER structure defined by Microsoft.

상기 트랜스코딩 서버 컴퓨터(100)는 상기 오디오 및 비디오 조각들로 구성된 단편 데이터 각각을 다수의 서브 컴퓨터(1021~102N)로 전송한다(202단계). 상기 다수의 서브 컴퓨터(1021~102N)는 상기 비디오 및 오디오 조각들로 구성되는 단편 데이터 각각을 트랜스코딩한다(204단계). The transcoding server computer 100 transmits each piece of fragment data composed of the audio and video pieces to a plurality of sub-computers 1021 to 102N (step 202). The plurality of subcomputers 1021 to 102N transcode each piece of fragment data consisting of the video and audio pieces (step 204).

이후 상기 다수의 서브 컴퓨터(1021~102N)는 트랜스코딩된 파일 조각들로 구성된 단편 데이터들을 해당 단편 데이터에 포함된 미디어 타입에 따라 트랜스코딩한 후에 트랜스코딩 서버 컴퓨터(100)로 전송한다(206단계). 여기서, 상기 트랜스코딩을 수행하면, 조각 헤더의 프레임의 크기 및 옵셋 및 키 프레임 여부가 달라지고, 그에 따라 조각 전체 크기가 변경되고, 단편 헤더의 디코딩에 필요한 데이터인 엑스트라(extra) 등이 변경된다. 이에 상기 다수의 서브 컴퓨터(1021~102N)는 트랜스코딩 서버 컴퓨터(100)에 전달하기 전에 이러한 변경 사항들을 수신된 헤더들에 반영한다. 상기 변경 사항들은 조각 헤더의 프레임 플래그(DWORD dwKeyFrame), 헤더 이후로의 바이트 오프셋(DWORD dwOffset)과, 프레임의 바이트 크기(DWORD dwSize)이고, 단편 헤더의 엑스트라(extra) 데이터 길이를 포함한 바이트 길이(unsigned int length)와, 비디오인 경우 BITMAPINFOHEADER(BITMAPINFOHEADER info)와, 오디오인 경우 WAVEFORMATEX(WAVEFORMATEX)와, 디코딩에 필요한 데이터인 엑스트라(extra) 데이터(unsigned char *extra) 이다.Subsequently, the plurality of sub-computers 1021 to 102N transcode fragment data composed of the transcoded file fragments according to the media type included in the fragment data and then transmit the fragment data to the transcoding server computer 100 (step 206). ). In this case, when the transcoding is performed, the size and offset of the fragment header frame and whether or not the key frame is changed, the overall size of the fragment is changed, and an extra, which is data necessary for decoding the fragment header, is changed. . Accordingly, the plurality of subcomputers 1021 to 102N reflect these changes in the received headers before delivering them to the transcoding server computer 100. These changes include the byte length (including the frame flag of the fragment header (DWORD dwKeyFrame), the byte offset after the header (DWORD dwOffset), the byte size of the frame (DWORD dwSize), and the extra data length of the fragment header. unsigned int length), BITMAPINFOHEADER (BITMAPINFOHEADER info) for video, WAVEFORMATEX (WAVEFORMATEX) for audio, and extra data (unsigned char * extra) for data.

상기 다수의 서브 컴퓨터(1021~102N)로부터 트랜스코딩된 단편 데이터들을 수신한 트랜스코딩 서버 컴퓨터(100)는 상기 트랜스코딩된 단편 데이터들을 단편번호에 따라 조합하여 트랜스코딩된 동영상 파일을 생성한다(208단계). The transcoding server computer 100 that receives the transcoded fragment data from the plurality of sub-computers 1021 to 102N combines the transcoded fragment data according to the fragment number to generate a transcoded video file (208). step).

100 : 트랜스코딩 서버 컴퓨터
1021~102N : 다수의 서브 컴퓨터
100: transcoding server computer
1021 ~ 102N: Multiple Sub Computers

Claims (7)

동영상 파일의 분산 트랜스코딩 방법에 있어서,
트랜스코딩 서버 컴퓨터가, 동영상 파일의 오디오 데이터와 비디오 데이터를 다수의 조각으로 분할하는 단계:
상기 다수의 조각 중 일부를 결합하여 단편 데이터들을 구성하는 단계;
상기 단편 데이터들을 다수의 서브 컴퓨터로 전송하는 단계;
상기 다수의 서브 컴퓨터 각각이 단편 데이터를 트랜스코딩한 후에, 트랜스코딩된 단편 데이터를 제공하면, 상기 트랜스코딩된 단편 데이터를 수신받아 조합하여 트랜스코딩된 동영상 파일을 생성하는 단계;
를 구비함을 특징으로 하는 동영상 파일의 분산 트랜스코딩 방법.
In the distributed transcoding method of a video file,
The transcoding server computer divides the audio data and the video data of the video file into a plurality of pieces:
Combining some of the plurality of pieces to form fragment data;
Transmitting the fragment data to a plurality of subcomputers;
After each of the plurality of sub-computers have transcoded the fragment data, and if the transcoded fragment data is provided, receiving and combining the transcoded fragment data to generate a transcoded video file;
Distributed transcoding method of a video file, characterized in that it comprises a.
제1항에 있어서,
상기 트랜스코딩 서버 컴퓨터는,
다수의 서브 컴퓨터 각각에 대해 해당 서브 컴퓨터의 사양에 따른 수의 조각들로 단편 데이터를 생성하며,
상기 서브 컴퓨터에 대한 사양정보 및 사양에 대응되는 조각의 수는 미리 저장됨을 특징으로 하는 동영상 파일의 분산 트랜스코딩 방법.
The method of claim 1,
The transcoding server computer,
For each of the plurality of subcomputers, fragment data is generated in the number of pieces according to the specification of the subcomputer,
The specification information of the sub-computer and the number of pieces corresponding to the specification are stored in advance.
제1항에 있어서,
상기 조각은 헤더와 오디오 데이터 또는 비디오 데이터로 구성되며,
상기 헤더에는 조각 헤더 바이트 크기(unsigned long header_size)와, 조각 번호(unsigned long number)와, 조각전체 바이트 크기(unsigned long size)와, 프레임 개수(unsigned long entry_number)와, 프레임에 대한 인덱스 엔트리 배열(INDEX_ENTRY aIndex[])이 포함되며,
상기 프레임에 대한 인덱스 엔트리에는 키 프레임 플래그(DWORD dwKeyFrame)와, 헤더 이후로의 바이트 오프셋(DWORD dwOffset)과, 프레임의 바이트 크기(DWORD dwSize)가 포함됨을 특징으로 하는 동영상 파일의 분산 트랜스코딩 방법.
The method of claim 1,
The fragment consists of a header and audio data or video data,
The header contains an unsigned long header_size, an unsigned long number, an unsigned long size, an unsigned long entry_number, and an index entry array for the frame. INDEX_ENTRY aIndex []),
The index entry for the frame includes a key frame flag (DWORD dwKeyFrame), a byte offset after the header (DWORD dwOffset), and a byte size (DWORD dwSize) of the frame.
제3항에 있어서,
상기 조각은,
시작 키 프레임과 마지막의 추가 키 프레임, 그리고 상기 시작 키 프레임과 상기 마지막의 추가 키 프레임 사이에 존재하는 다수의 프레임으로 구성되는 비디오 데이터와 헤더로 구성되거나,
시작 키 프레임과 마지막의 추가 키 프레임, 그리고 상기 시작 키 프레임과 상기 마지막의 추가 키 프레임 사이에 존재하는 다수의 프레임과, 상기 다수의 프레임 사이에 위치하는 키 프레임으로 구성되는 비디오 데이터와 헤더로 구성되거나,
비디오 조각에 포함된 비디오 데이터의 프레임들과 인터리빙되어 있는 오디오 데이터와 헤더로 구성됨을 특징으로 하는 동영상 파일의 분산 트랜스코딩 방법.
The method of claim 3,
The piece is
Or a video data and a header consisting of a start key frame and a last additional key frame, and a plurality of frames existing between the start key frame and the last additional key frame, or
Video data and header consisting of a start key frame and a last additional key frame, a plurality of frames existing between the start key frame and the last additional key frame, and a key frame positioned between the plurality of frames. Or
A distributed transcoding method of a video file, comprising a header and audio data interleaved with frames of video data included in a video fragment.
제1항에 있어서,
상기 단편 데이터는, 헤더와 조각들로 구성되며,
상기 헤더에는 단편 헤더 바이트 크기 (unsigned long header_size), 단편 번호(unsigned long number)와, 오디오 및 비디오 식별정보(unsigned long type; 0: 오디오, 1: 비디오)와, 조각 개수(unsigned long particle_number)와, 트랜스코딩으로 변경할 미디어 타입(FORCC target)와, 엑스트라(extra) 데이터 길이를 포함한 바이트 길이(unsigned int length)와, 비디오인 경우 BITMAPINFOHEADER(BITMAPINFOHEADER info)와, 오디오인 경우 WAVEFORMATEX(WAVEFORMATEX)와, 디코딩에 필요한 데이터인 엑스트라(extra) 데이터(unsigned char *extra)를 포함함을 특징으로 하는 동영상 파일의 분산 트랜스코딩 방법.
The method of claim 1,
The fragment data is composed of a header and fragments,
The header includes fragment header byte size (unsigned long header_size), fragment number (unsigned long number), audio and video identification (unsigned long type; 0: audio, 1: video), fragment number (unsigned long particle_number), , Unsigned int length including the media type (FORCC target) to change to transcoding, extra data length, BITMAPINFOHEADER (BITMAPINFOHEADER info) for video, WAVEFORMATEX (WAVEFORMATEX) for audio, decoding A method of distributed transcoding of a video file, comprising extra data (unsigned char * extra), which is required data.
제1항에 있어서,
상기 다수의 서브 컴퓨터가,
트랜스코딩에 따른 프레임 크기 또는 옵션 또는 키 프레임 여부에 대한 변경정보에 따라 상기 트랜스코딩된 단편 데이터의 헤더 및 단편에 속하는 조각들의 헤더의 정보를 업데이트한 후에, 상기 업데이트된 헤더를 상기 단편에 속하는 조각들 및 상기 트랜스코딩된 단편 데이터에 실어 상기 트랜스코딩 서버 컴퓨터로 전송함을 특징으로 하는 동영상 파일의 분산 트랜스코딩 방법.
The method of claim 1,
The plurality of sub-computers,
After updating the header of the transcoded fragment data and the header of the fragments belonging to the fragment according to the frame size according to the transcoding or the change information on the key frame or not, the fragments belonging to the fragment are updated. And the transcoded fragment data to be transmitted to the transcoding server computer.
제6항에 있어서,
상기 업데이트되는 조각 헤더의 부분은 프레임 플래그(DWORD dwKeyFrame), 헤더 이후로의 바이트 오프셋(DWORD dwOffset)과, 프레임의 바이트 크기(DWORD dwSize)이고,
상기 업데이트되는 단편 헤더의 부분은 엑스트라(extra) 데이터 길이를 포함한 바이트 길이(unsigned int length)와, 비디오인 경우 BITMAPINFOHEADER(BITMAPINFOHEADER info)와, 오디오인 경우 WAVEFORMATEX(WAVEFORMATEX)와, 디코딩에 필요한 데이터인 엑스트라(extra) 데이터(unsigned char *extra) 임을 특징으로 하는 동영상 파일의 분산 트랜스코딩 방법.

The method of claim 6,
The portion of the fragment header to be updated is a frame flag (DWORD dwKeyFrame), a byte offset after the header (DWORD dwOffset), and a byte size (DWORD dwSize) of the frame,
The portion of the fragment header being updated includes an unsigned int length including extra data length, BITMAPINFOHEADER (BITMAPINFOHEADER info) for video, WAVEFORMATEX (WAVEFORMATEX) for audio, and extra data that is necessary for decoding. (extra) A distributed transcoding method of a video file characterized by being unsigned char * extra.

KR20100129847A 2010-12-17 2010-12-17 diversification transcoding method for video file KR101166085B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20100129847A KR101166085B1 (en) 2010-12-17 2010-12-17 diversification transcoding method for video file
PCT/KR2010/009095 WO2012081752A1 (en) 2010-12-17 2010-12-20 Distributed-transcoding method for a video file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20100129847A KR101166085B1 (en) 2010-12-17 2010-12-17 diversification transcoding method for video file

Publications (2)

Publication Number Publication Date
KR20120068285A KR20120068285A (en) 2012-06-27
KR101166085B1 true KR101166085B1 (en) 2012-07-23

Family

ID=46244841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20100129847A KR101166085B1 (en) 2010-12-17 2010-12-17 diversification transcoding method for video file

Country Status (2)

Country Link
KR (1) KR101166085B1 (en)
WO (1) WO2012081752A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101489803B1 (en) 2014-08-07 2015-02-09 (주)스트림비젼 Method for distributed transcoding media file
KR20200088753A (en) 2019-01-15 2020-07-23 유홍준 Multidimensional Media Contents Control System and Method Based on Network Information Decomposition Assembly

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8955027B1 (en) * 2013-11-21 2015-02-10 Google Inc. Transcoding media streams using subchunking
KR20190059465A (en) * 2017-11-23 2019-05-31 주식회사 에스제이테크놀로지 Method for smart job scaling and distributed transcoding and cloud transcoding farm system
US10951906B2 (en) 2018-08-16 2021-03-16 Bombbomb, Inc. Method and system for implementing split and parallelized encoding or transcoding of audio and video content
KR102316495B1 (en) * 2019-04-09 2021-10-25 한국전자기술연구원 Real-time segmented video transcoding device and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001086460A (en) 1999-09-14 2001-03-30 Nec Corp Method and device for accelerating transcoding
JP2004159079A (en) 2002-11-06 2004-06-03 Ntt Data Corp Video data processor, system, and computer program
JP2005176069A (en) 2003-12-12 2005-06-30 Ntt Data Corp Distributed parallel transcoder system and method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001086460A (en) 1999-09-14 2001-03-30 Nec Corp Method and device for accelerating transcoding
JP2004159079A (en) 2002-11-06 2004-06-03 Ntt Data Corp Video data processor, system, and computer program
JP2005176069A (en) 2003-12-12 2005-06-30 Ntt Data Corp Distributed parallel transcoder system and method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101489803B1 (en) 2014-08-07 2015-02-09 (주)스트림비젼 Method for distributed transcoding media file
KR20200088753A (en) 2019-01-15 2020-07-23 유홍준 Multidimensional Media Contents Control System and Method Based on Network Information Decomposition Assembly

Also Published As

Publication number Publication date
KR20120068285A (en) 2012-06-27
WO2012081752A1 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
KR101166085B1 (en) diversification transcoding method for video file
CA2696608C (en) Generation and delivery of multimedia content-adaptation notifications
EP3917137B1 (en) Apparatus for transmitting and apparatus for receiving media contents in a multimedia system
US8472477B2 (en) SAF synchronization layer packet structure and server system therefor
US10367873B2 (en) Method of communicating data packets within data communication systems
US20120233249A1 (en) Subscriber driven media agnostic content delivery across networks
CN108476220A (en) Use the peripheral bus video communication of Internet protocol
US7461161B2 (en) Information processing apparatus and method for decoding encoded data
US20110022733A1 (en) Customized data delivery and network configuration via aggregation of device attributes
WO2016129953A1 (en) Method and apparatus for converting mmtp stream to mpeg-2ts
MXPA06003801A (en) Container format for multimedia presentations.
JP2011518526A (en) Terminal user interface device and method for rich media service
CN109889521A (en) Memory, communication channel multiplexing implementation method, device and equipment
WO2017204579A1 (en) Method and apparatus for mpeg media transport integration in content distribution networks
US20080248782A1 (en) Providing Devices With Command Functionality in Content Streams
EP1370043A2 (en) Method for using user profiles in a telecommunication network
JP2008294957A (en) Media conversion system, media conversion method, media conversion program, call control device, media conversion apparatus
US7016543B2 (en) Method for providing a terminal with coded still image signals, communications system, network element and module
CN100452778C (en) Multimedia content interaction system based on instantaneous communication and its realizing method
CN115022725A (en) Video playing method and device
US7787624B2 (en) Method for inserting synchronization markers into a video stream, compatible with a block cipher
CN106534137B (en) Media stream transmission method and device
CN114726615B (en) VoIP hidden channel construction method and system based on audio coding transformation
KR100845318B1 (en) Server, terminal and method for providing data trnsmission service
CN111031027A (en) Efficient data transmission method and heterogeneous data transmission layer

Legal Events

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

Payment date: 20150710

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160711

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170710

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180710

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190710

Year of fee payment: 8