KR101729765B1 - Real time remuxing system, method for transmitting and receiving thereof - Google Patents

Real time remuxing system, method for transmitting and receiving thereof Download PDF

Info

Publication number
KR101729765B1
KR101729765B1 KR1020150143081A KR20150143081A KR101729765B1 KR 101729765 B1 KR101729765 B1 KR 101729765B1 KR 1020150143081 A KR1020150143081 A KR 1020150143081A KR 20150143081 A KR20150143081 A KR 20150143081A KR 101729765 B1 KR101729765 B1 KR 101729765B1
Authority
KR
South Korea
Prior art keywords
stream
codec
client device
file
header
Prior art date
Application number
KR1020150143081A
Other languages
Korean (ko)
Other versions
KR20170043382A (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 KR1020150143081A priority Critical patent/KR101729765B1/en
Publication of KR20170043382A publication Critical patent/KR20170043382A/en
Application granted granted Critical
Publication of KR101729765B1 publication Critical patent/KR101729765B1/en

Links

Images

Classifications

    • H04L65/602
    • H04L65/4084
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

실시간 리먹싱(remuxing) 시스템, 송신 방법 및 수신 방법이 개시된다. 여기서, 실시간 리먹싱 시스템은 동영상 파일을 탐색 및 요청하고 수신하여 재생하는 클라이언트 디바이스, 그리고 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷을 가지는 동영상 파일의 헤더 스트림과, 상기 파일 포맷 및 상기 클라이언트 디바이스에서 디코딩(decoding) 가능한 코덱 타입(codec type)을 가지는 상기 동영상 파일의 코덱 스트림을 상기 클라이언트 디바이스로 각각 전송하는 송신 장치를 포함하고,
상기 클라이언트 디바이스는,
상기 헤더 스트림 및 상기 코덱 스트림을 실시간 리먹싱하여 재생한다.
A real-time remuxing system, a transmitting method and a receiving method are disclosed. Here, the real-time remodeling system includes a client device for searching for, requesting, receiving, and reproducing a moving image file, and a header stream of a moving image file having a file format recognizable by the client device, And a transmitting device for transmitting a codec stream of the moving picture file having a possible codec type to the client device,
The client device comprising:
The header stream and the codec stream are reproduced in real time and reproduced.

Description

실시간 리먹싱 시스템, 송신 방법 및 수신 방법{REAL TIME REMUXING SYSTEM, METHOD FOR TRANSMITTING AND RECEIVING THEREOF}REAL TIME REMUXING SYSTEM, METHOD FOR TRANSMITTING AND RECEIVING THEREOF,

본 발명은 실시간 리먹싱 시스템, 송신 방법 및 수신 방법에 관한 것이다. The present invention relates to a real-time remodeling system, a transmission method, and a reception method.

대용량 초고화질 시대를 맞이하고 있는 요즘, 저장공간의 부족 및 어디서나 사용할 수 있는 데이터의 요구 등으로 NAS(etwork Attached Storage)나 클라우드(Cloud) 서비스의 필요성이 점차 확대되고 있으며, 개인으로까지 많은 확대가 이루어 지고 있는 추세이다.Recently, the need for NAS (Network Attached Storage) and cloud services is gradually expanding due to the lack of storage space and the demand for data that can be used anywhere. Nowadays, .

그에 따라 이러한 서비스들을 지원하고 있는 많은 제품들이 늘어나고 있지만, 실시간 비디오 감상에 대한 서비스는 아직까지 원활하지 않으며, 특히 대용량 비디오에 대한 지원은 더욱 그렇다.As a result, there are many products supporting these services, but the service for real-time video viewing is not yet smooth, especially for high-volume video.

종래에 실시간 리먹싱(remuxing)을 할 수 있는 장치는 찾기 힘들며, PC에서 수동으로 파일 변환 툴을 이용한 변환은 가능하지만, 이 역시 특정 포맷에 한하여 가능하다.Conventionally, a device capable of performing real-time remuxing is hard to find, and a conversion using a file conversion tool can be performed manually on a PC, but this is also possible only in a specific format.

현재 NAS 시스템을 통한 전송 방식은 DLNA(Digital Living Network Alliance), 웹서버, 디바이스에서 지원하는 포맷으로 트랜스코딩하여 전송하는 방식으로 나뉘어 질 수 있다. 이런 전송 방식들은 모두 유용하나, 트랜스코딩의 경우에는 특별한 CPU등이 전담하고 있으나, 이러한 방식마저도 화질열화가 불가피 하다.Currently, the transmission method through the NAS system can be divided into a method of transcoding and transmitting the format to a format supported by DLNA (Digital Living Network Alliance), a web server, and a device. Although these transmission methods are all useful, a special CPU is dedicated to transcoding, but image quality deterioration is inevitable even with this method.

또한, 디바이스에서 지원 가능한 코덱임에도 불구하고, 디바이스에서 지원되지 않는 파일 포맷을 가진 경우는 재생(play)이 불가능하여 불필요한 트랜스코딩을 하게 된다.In addition, even if the codec can be supported by the device, if the file format is not supported by the device, playback can not be performed and unnecessary transcoding is performed.

여기서, 파일 포맷은 컨테이너(container) 포맷이라고도 할 수 있다. 하나의 동영상 파일은 비디오 데이터 및 오디오 데이터로 구성되는데, 파일 포맷 또는 컨테이너 포맷은 비디오 데이터 및 오디오 데이터를 하나의 동영상 파일로 구성하는 방식을 말하며, 파일의 확장자로 표시할 수 있다. 예를 들면, AVI, MP4, WMV 등을 말한다. 이때, 비디오 데이터 및 오디오 데이터는 각각 별개의 데이터 압축 기술을 통해 생성되는데, 이러한 데이터 압축 기술을 코덱(Codec)이라고 한다. 동영상 파일을 재생하는 플레이어는 파일 포맷을 인식할 수 있어야 하고, 동영상 파일의 인코딩 방식 즉 코덱이 구비되어야 한다.Here, the file format may be referred to as a container format. One video file is composed of video data and audio data. The file format or container format is a method of composing video data and audio data into one video file, and can be displayed as an extension of the file. For example, AVI, MP4, WMV and so on. At this time, the video data and the audio data are respectively generated through separate data compression techniques, and this data compression technique is called a codec. The player playing the video file must be able to recognize the file format and be provided with the encoding method of the video file, that is, the codec.

종래에는 송신측에서 수신측에서 디코딩이 가능하도록 동영상 파일을 트랜스코딩하여 전송한다. 그런데, 수신측에서 파일 포맷은 인식할 수 없지만, 디코딩은 가능한 경우가 있다. 하지만, 파일 포맷을 인식할 수 없으면 해당 동영상 파일의 코덱 정보를 알 수가 없기 때문에 수신측에서 디코딩이 가능함에도 불구하고 송신측에서 트랜스코딩을 해야만 하는 문제가 발생한다. Conventionally, a transmitting side transcodes a moving picture file so that decoding can be performed on the receiving side. However, although the file format can not be recognized on the receiving side, decoding may be possible. However, if the file format can not be recognized, since the codec information of the video file can not be known, there is a problem that the transmitting side must perform transcoding even though decoding is possible on the receiving side.

따라서, 본 발명이 이루고자 하는 기술적 과제는 불필요한 트랜스코딩을 방지하는 실시간 리먹싱 시스템과, 실시간 리먹싱 시스템의 동영상 파일 송신 방법 및 수신 방법을 제공하는 것이다.SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to provide a real-time remodeling system that prevents unnecessary transcoding, and a moving picture file transmitting method and a receiving method of a real-time remodeling system.

본 발명의 하나의 특징에 따르면, 실시간 리먹싱 시스템은 동영상 파일을 탐색 및 요청하고 수신하여 재생하는 클라이언트 디바이스, 그리고 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷을 가지는 동영상 파일의 헤더 스트림과, 상기 파일 포맷 및 상기 클라이언트 디바이스에서 디코딩(decoding) 가능한 코덱 타입(codec type)을 가지는 상기 동영상 파일의 코덱 스트림을 상기 클라이언트 디바이스로 각각 전송하는 송신 장치를 포함하고,According to one aspect of the present invention, a real-time remodeling system includes a client device for searching for, requesting, receiving, and reproducing a moving image file, and a header stream of a moving image file having a file format recognizable by the client device, And a transmitter for transmitting a codec stream of the moving picture file having a codec type that can be decoded by the client device to the client device,

상기 클라이언트 디바이스는,The client device comprising:

상기 헤더 스트림 및 상기 코덱 스트림을 실시간 리먹싱하여 재생한다.The header stream and the codec stream are reproduced in real time and reproduced.

상기 송신 장치는,The transmitting apparatus includes:

서로 다른 파일 포맷 및 코덱 타입을 가지는 복수의 동영상 파일을 저장하는 NAS(etwork Attached Storage) 서버 또는 클라우드(Cloud) 서버에 포함되거나 또는 연결될 수 있다.(Network Attached Storage) server or a cloud server that stores a plurality of video files having different file formats and codec types.

상기 송신 장치는, The transmitting apparatus includes:

서로 다른 파일 포맷을 각각 지원하고, 지원하는 파일 포맷을 가지는 동영상 파일의 헤더 정보를 분석하는 복수의 디먹서(demuxer), 그리고 상기 헤더 정보의 분석 결과를 토대로 상기 동영상 파일의 파일 포맷을 확인하고, 상기 동영상 파일의 헤더 스트림을 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷으로 변환하여 상기 클라이언트 디바이스로 전송하며, 상기 클라이언트 디바이스에서 디코딩 가능한 코덱 타입을 가지는 코덱 데이터 스트림을 상기 클라이언트 디바이스로 전송하는 전송부를 포함할 수 있다.A plurality of demuxers for supporting different file formats and analyzing header information of a moving picture file having a supported file format, and a file format of the moving picture file based on the analysis result of the header information, And a transmitting unit for transmitting a codec data stream having a codec type that can be decoded by the client device to the client device by converting a header stream of the moving picture file into a file format recognizable by the client device, have.

상기 복수의 디먹서는,The plurality of demultiplexers

상기 동영상 파일을 헤더 정보와 코덱 데이터로 분리하고,Separating the moving picture file into header information and codec data,

상기 전송부는,Wherein the transmission unit comprises:

헤더 스트림을 전송한 이후, 코덱 스트림과 실시간 재생 정보를 전송할 수 있다.After transmitting the header stream, the codec stream and the real-time playback information can be transmitted.

상기 실시간 재생 정보는,The real-

길이(length) 및 타임스탬프(timestamp)를 포함할 수 있다.And may include a length and a timestamp.

상기 전송부는,Wherein the transmission unit comprises:

상기 동영상 파일의 헤더 정보가 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷인 경우, 원래의 헤더 스트림을 상기 클라이언트 디바이스로 전송하고, 상기 클라이언트 디바이스에서 인식할 수 없는 파일 포맷인 경우, 상기 인식 가능한 파일 포맷으로 변환된 헤더 스트림을 상기 클라이언트 디바이스로 전송할 수 있다.When the header information of the moving image file is a file format recognizable by the client device, transmits the original header stream to the client device, and when the header information is not recognizable by the client device, Lt; / RTI > to the client device.

상기 전송부는,Wherein the transmission unit comprises:

상기 헤더 스트림을 상기 클라이언트 디바이스로 전송한 이후, 상기 동영상 파일의 코덱 타입이 상기 클라이언트 디바이스에서 디코딩 가능한 경우 원래 코덱 스트림을 상기 클라이언트 디바이스로 전송하고,After transmitting the header stream to the client device, transmitting the original codec stream to the client device when the codec type of the video file is decodable by the client device,

상기 클라이언트 디바이스는,The client device comprising:

상기 인식 가능한 파일 포맷을 가진 헤더 스트림과 상기 원래 코덱 스트림을 실시간 리먹싱할 수 있다.The header stream having the recognizable file format and the original codec stream can be real-time remixed.

상기 전송부는,Wherein the transmission unit comprises:

상기 변환된 헤더 스트림을 상기 클라이언트 디바이스로 전송한 이후, 상기 원래 코덱 스트림을 상기 인식 가능한 파일 포맷으로 리패킹(repacking)하여 상기 클라이언트 디바이스로 전송하고,After transmitting the converted header stream to the client device, repacking the original codec stream to the recognizable file format and transmitting the repacked stream to the client device,

상기 클라이언트 디바이스는,The client device comprising:

상기 변환된 헤더 스트림과 리패킹된 코덱 스트림을 실시간 리먹싱할 수 있다.The converted header stream and the repacked codec stream can be real-time remixed.

상기 전송부는,Wherein the transmission unit comprises:

상기 헤더 스트림을 상기 클라이언트 디바이스로 전송한 이후, 상기 동영상 파일의 코덱 타입이 상기 클라이언트 디바이스에서 디코딩 가능한 타입이 아닌 경우, 상기 코덱 스트림을 상기 클라이언트 디바이스에서 디코딩 가능하도록 트랜스코딩하고, 트랜스코딩된 코덱 스트림을 상기 클라이언트 디바이스로 전송하며,If the codec type of the moving picture file is not decodable by the client device after transmitting the header stream to the client device, the codec stream is transcoded to be decodable by the client device, and the transcoded codec stream To the client device,

상기 클라이언트 디바이스는,The client device comprising:

상기 헤더 스트림과 상기 트랜스코딩된 코덱 스트림을 실시간 리먹싱 할 수 있다.The header stream and the transcoded codec stream can be resampled in real time.

상기 클라이언트 디바이스는,The client device comprising:

사용자가 원하는 동영상 파일의 검색을 요청하는 쿼리부, 상기 동영상 파일의 헤더 스트림을 수신한 후, 상기 동영상 파일의 코덱 스트림 및 실시간 재생 정보를 수신하는 수신부, 상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 리먹싱하여 재생 파일을 생성하는 리먹서(remuxer), 그리고 상기 재생 파일을 입력받아 상기 헤더 스트림을 분석한 결과에 따라 상기 코덱 스트림을 디코딩하여 재생하는 재생부를 포함하고,A receiving unit for receiving a codec stream and real-time reproduction information of the moving picture file after receiving a header stream of the moving picture file; a receiving unit for receiving the header stream, the codec stream, and the real- A remuxer for remixing the information to generate a playback file, and a playback unit for decoding and reproducing the codec stream according to a result of analyzing the header stream by receiving the playback file,

상기 헤더 스트림은 상기 재생부가 인식 가능한 파일 포맷을 가지고, 상기 코덱 스트림은 상기 재생부가 인식 가능한 파일 포맷 및 상기 재생부가 디코딩 가능한 코덱 타입을 가지는 것을 특징으로 할 수 있다.The header stream may have a file format recognizable by the reproducing unit, and the codec stream may have a codec type capable of being recognized by the reproducing unit and a codec type capable of being decoded by the reproducing unit.

상기 리먹서는 서로 다른 파일 포맷을 인식하는 복수의 리먹서를 포함하고,Wherein the paddle includes a plurality of paddles recognizing different file formats,

상기 헤더 스트림의 파일 포맷을 확인하고, 상기 복수의 리먹서 중에서 상기 파일 포맷에 해당하는 리먹서를 선택하며, 선택한 리먹서로 상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 출력하는 선택부를 더 포함할 수 있다.Further comprising a selection unit for confirming a file format of the header stream, selecting a plummer corresponding to the file format from among the plurality of reamers, and outputting the header stream, the codec stream, and the real- .

본 발명의 다른 특징에 따르면, 송신 방법은 클라이언트 디바이스로부터 요청된 동영상 파일을 스트리밍하는 송신 장치의 송신 방법으로서, 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷을 가지는 동영상 파일의 헤더 스트림을 상기 클라이언트 디바이스로 전송하는 단계, 그리고 상기 파일 포맷 및 상기 클라이언트 디바이스에서 디코딩(decoding) 가능한 코덱 타입(codec type)을 가지는 상기 동영상 파일의 코덱 스트림 및 실시간 재생 정보를 상기 클라이언트 디바이스로 전송하는 단계를 포함한다.According to another aspect of the present invention, there is provided a transmission method of a transmitting apparatus for streaming a moving picture file requested by a client device, the method comprising: transmitting a header stream of a moving picture file having a file format recognizable by the client apparatus to the client device And transmitting the codec stream and the real-time playback information of the video file having the codec type that can be decoded by the client device to the client device.

상기 헤더 스트림을 상기 클라이언트 디바이스로 전송하는 단계는,Wherein the transmitting the header stream to the client device comprises:

상기 동영상 파일의 헤더 정보를 분석하는 단계, 상기 헤더 정보의 파일 포맷과 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷이 서로 일치하는지 확인하는 단계, 서로 일치하지 않는 경우, 상기 동영상 파일의 헤더 스트림을 상기 인식 가능한 파일 포맷으로 변환하는 단계, 변환된 헤더 스트림을 상기 클라이언트 디바이스로 전송하는 단계, 그리고 서로 일치하는 경우, 상기 동영상 파일의 원래 헤더 스트림을 상기 클라이언트 디바이스로 전송하는 단계를 포함할 수 있다.Analyzing header information of the moving image file; checking whether the file format of the header information matches a file format recognizable by the client device; if the header format information does not coincide with the file format of the moving image file, Transferring the converted header stream to the client device, and, if they coincide with each other, transmitting the original header stream of the moving picture file to the client device.

상기 코덱 스트림 및 실시간 재생 정보를 상기 클라이언트 디바이스로 전송하는 단계는,Wherein the transmitting the codec stream and the real-time playback information to the client device comprises:

상기 동영상 파일의 코덱 스트림의 코덱 타입이 상기 클라이언트 디바이스에서 디코딩이 가능한 코덱 타입인지 판단하는 단계, 상기 디코딩이 가능한 코덱 타입이 아닌 경우, 상기 코덱 스트림을 상기 디코딩이 가능한 코덱 타입으로 트랜스코딩하는 단계, 상기 디코딩이 가능한 코덱 타입인 경우, 상기 파일 포맷이 서로 일치하는지 확인하는 단계, 상기 파일 포맷이 서로 일치하지 않는 경우, 상기 코덱 스트림을 상기 인식가능한 파일 포맷으로 리패킹(repacking)하는 단계, 그리고 트랜스코딩된 코덱 스트림, 리패킹된 코덱 스트림 또는 원래 코덱 스트림 중 하나를 상기 클라이언트 디바이스로 전송하는 단계를 포함할 수 있다.Determining whether a codec type of the codec stream of the moving picture file is a codec type that can be decoded by the client device; and transcoding the codec stream to a decodable codec type if the codec stream is not a decodable codec type, Checking whether the file formats match with each other if the codec type is a decodable codec type, repacking the codec stream into the recognizable file format if the file formats do not match each other, Transmitting the coded codec stream, the repacked codec stream, or the original codec stream to the client device.

본 발명의 다른 특징에 따르면, 수신 방법은 동영상 파일을 탐색 및 요청하고 수신하여 재생하는 클라이언트 디바이스의 수신 방법으로서, 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷을 가진 상기 동영상 파일의 헤더 스트림을 수신하는 단계, 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷과 상기 클라이언트 디바이스에서 디코딩 가능한 코덱 타입을 가진 코덱 스트림 및 실시간 재생 정보를 수신하는 단계, 그리고 상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 실시간 리먹싱하여 재생하는 단계를 포함한다.According to another aspect of the present invention, there is provided a receiving method of a client device for searching, requesting, receiving, and reproducing a moving image file, the receiving method comprising: receiving a header stream of the moving image file having a file format recognizable by the client device; Receiving a codec stream and real-time playback information having a file format recognizable by the client device and a codec type decodable by the client device, and reproducing the header stream, the codec stream and the real-time playback information in real- .

상기 재생하는 단계는,The method of claim 1,

상기 헤더 스트림의 파일 포맷을 확인하는 단계, 서로 다른 파일 포맷을 인식하는 복수의 리먹서 중에서 상기 파일 포맷에 해당하는 리먹서를 선택하는 단계, 선택한 리먹서를 통해 상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 실시간 리먹싱하는 단계, 그리고 리먹싱된 동영상 파일을 재생하는 단계를 포함할 수 있다.Checking a file format of the header stream, selecting a pseudo-pseudo-random number corresponding to the file format from among a plurality of pseudo-random numbers recognizing different file formats, selecting the header stream, the codec stream, Reproducing the information in real time, and reproducing the remapped video file.

본 발명의 실시예에 따르면, 불필요한 트랜스코딩을 방지하면서도 원본 화질 열화가 없는 원본 스트림을 전송할 수 있고 실시간 비디오 감상이 가능하다.According to the embodiment of the present invention, it is possible to transmit an original stream without deterioration of original image quality while preventing unnecessary transcoding, and real-time video viewing is possible.

또한, 다양한 파일 포맷을 지원할 수 있고, 서버 측에서 트랜스코딩을 위한 고가의 CPU(Central Processing Unit)를 구비하지 않아도 되므로 비용 감소가 가능하다.In addition, it is possible to support various file formats, and it is not necessary to provide an expensive CPU (Central Processing Unit) for transcoding on the server side, thereby reducing cost.

도 1은 본 발명의 실시예에 따른 리먹싱을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 실시간 리먹싱 시스템의 개략적인 구성을 나타낸 것이다.
도 3은 도 2의 송신 장치의 세부 구성을 나타낸 블록도이다.
도 4는 도 2의 클라이언트 디바이스의 한 실시예에 따른 세부 구성을 나타낸 블록도이다.
도 5는 도 2의 클라이언트 디바이스의 다른 실시예에 따른 세부 구성을 나타낸 블록도이다.
도 6은 본 발명의 실시예에 따른 송신 방법을 나타낸 순서도이다.
도 7은 본 발명의 한 실시예에 따른 수신 방법을 나타낸 순서도이다.
도 8은 본 발명의 다른 실시예에 따른 수신 방법을 나타낸 순서도이다.
1 is a view for explaining remediation according to an embodiment of the present invention.
2 shows a schematic configuration of a real-time remediation system according to an embodiment of the present invention.
3 is a block diagram showing the detailed configuration of the transmitting apparatus of FIG.
4 is a block diagram illustrating a detailed configuration according to an embodiment of the client device of FIG.
5 is a block diagram showing a detailed configuration according to another embodiment of the client device of FIG.
6 is a flowchart illustrating a transmission method according to an embodiment of the present invention.
7 is a flowchart illustrating a receiving method according to an embodiment of the present invention.
8 is a flowchart illustrating a receiving method according to another embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.

또한, 명세서에 기재된 "…부", "…모듈" 의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Also, the terms of " part ", "... module" in the description mean units for processing at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software.

이하, 도면을 참조로 하여 본 발명의 실시예에 따른 실시간 리먹싱 시스템, 송신 방법 및 수신 방법에 대하여 상세히 설명한다.Hereinafter, a real-time remodeling system, a transmission method, and a reception method according to an embodiment of the present invention will be described in detail with reference to the drawings.

먼저, 도 1은 본 발명의 실시예에 따른 리먹싱을 설명하기 위한 도면이다.1 is a view for explaining remediation according to an embodiment of the present invention.

도 1을 참조하면, 전송 스트림은 크게 헤더 스트림과 코덱 스트림으로 구분된다. 코덱 스트림은 비디오 데이터 및 오디오 데이터를 포함한다. Referring to FIG. 1, the transport stream is divided into a header stream and a codec stream. The codec stream includes video data and audio data.

도 1의 (a)를 참조하면, 전송 스트림은 헤더 스트림과, 인덱스, 오디오 데이터 및 비디오 데이터로 구성된 코덱 스트림을 포함할 수 있다. 도 1의 (b)를 참조하면, 전송 스트림은 헤더 스트림과, 오디오 데이터, 비디오 데이터 및 인덱스로 구성된 코덱 스트림을 포함할 수 있다. 도 1의 (c)를 참조하면, 전송 스트림은 헤더 스트림과, 오디오 데이터(AD), 비디오 데이터(VD)가 교차 반복되고 인덱스로 구성된 코덱 스트림을 포함할 수 있다. Referring to FIG. 1 (a), a transport stream may include a header stream and a codec stream composed of index, audio data, and video data. Referring to FIG. 1 (b), the transport stream may include a header stream and a codec stream composed of audio data, video data, and indexes. Referring to FIG. 1C, the transport stream may include a header stream, a codec stream including audio data (AD), video data (VD), and an index.

이때, 코덱 스트림을 구성하는 비디오 데이터 및 오디오 데이터는 소정의 코덱 타입에 따라 인코딩되어 있고 해당 코덱으로 재생 장치 쪽에서 디코딩된다. 여기서, 코덱 타입은 비디오 코덱과 오디오 코덱을 모두 포함한다. 비디오 코덱은 DIVX, XVID, H.264, MPEG(Moving Picture Expert Group) 등이 될 수 있다. 오디오 코덱은 MP3, OGG, H.264, AC3, DTS 등이 될 수 있다. At this time, the video data and the audio data constituting the codec stream are encoded according to a predetermined codec type and are decoded by the codec according to the codec. Here, the codec type includes both a video codec and an audio codec. The video codec may be DIVX, XVID, H.264, MPEG (Moving Picture Expert Group), or the like. The audio codec can be MP3, OGG, H.264, AC3, DTS, and so on.

또한, 전송 스트림은 파일 포맷을 달리할 수 있다. 예컨대 파일 포맷은 (a)와 같이 구성될 수도 있고, (b)와 같이 구성될 수도 있으며, (c)와 같이 구성될 수도 있다. 또한, 이러한 구성 방식에 국한되지 않고 다양한 방식이 가능하다. 이러한 파일 포맷은 AVI, WMV, MP4, MKV, MOV, ASF 등이 될 수 있다.In addition, the transport stream may have a different file format. For example, the file format may be configured as (a), (b), or (c). Further, various methods are possible without being limited to such a configuration method. These file formats can be AVI, WMV, MP4, MKV, MOV, ASF, and so on.

이와 같이, 파일 포맷이 다를 경우, 파일 확장자가 다르다. 예를들면, (a)의 파일 확장자는 AVI, (b)의 파일 확장자는 MP4, (c)의 파일 확장자는 WMV일 수 있다. 이는 파일 포맷의 개념을 설명하기 위한 것으로서, 실제 파일 포맷의 구성과는 상이할 수 있으며, 파일 포맷이 다르다는 것이 데이터 정렬 순서가 다른 것만 의미하는 것도 아니다. 파일 포맷에 따라 해상도, 비트율 등도 다를 수 있으며, 파일 포맷을 변환한다는 것은 이러한 형식도 변환한다는 것을 의미한다.Thus, if the file format is different, the file extension is different. For example, the file extension of (a) may be AVI, the file extension of (b) may be MP4, and the file extension of (c) may be WMV. This is for the purpose of explaining the concept of a file format, and may be different from the configuration of an actual file format. The fact that the file format is different does not mean that the data sort order is different. Depending on the file format, resolution, bit rate, etc. may be different. Converting a file format also means converting this format.

이때, 파일 포맷과 코덱 타입은 서로 연관될 수는 있지만 반드시 종속되는 것은 아니다. At this time, the file format and codec type may be related but not necessarily dependent.

AVI 파일 포맷은 조합 가능한 비디오 코덱으로 DIVX, XVID, MPEG 계열 중 하나를 채택할 수 있다. 따라서, (a)의 경우, 파일 확장자가 AVI라고 할 때, 전송 스트림은 코덱 스트림의 비디오 코덱 타입이 DIVX로 구현될 수도 있고, XVID로 구현될 수도 있으며, MPEG 계열로 구현될 수도 있다. 즉, 파일 확장자가 동일한 동영상 파일이라도 코덱 타입은 다를 수 있다. The AVI file format is a combinable video codec that can adopt one of DIVX, XVID, or MPEG series. Therefore, in case of (a), when the file extension is AVI, the transport stream may be implemented by DIVX, XVID, MPEG, or the like, the video codec type of the codec stream. That is, even a moving picture file having the same file extension may have different codec types.

반면, 파일 확장자는 다르지만, 코덱 타입은 동일할 수 있다. 예를들면, AVI 파일 포맷은 MPEG 계열 비디오 코덱에서 조합이 가능하고, MP4 파일 포맷은 MPEG1.2.4 비디오 코덱에서 조합이 가능하다. (a)가 AVI 파일 포맷이고, (b)가 MP4 파일 포맷이라 하면, (a)의 코덱 스트림은 MPEG 계열 비디오 코덱으로 인코딩되고 (b)의 코덱 스트림은 MPEG1.2.4 비디오 코덱으로 인코딩 될 수 있다. 따라서, MPEG 계열 코덱을 구비한 클라이언트 디바이스에서는 AVI 파일 포맷과 MP4 파일 포맷을 모두 인식할 수 있다면, AVI 동영상 파일과 MP4 동영상 파일을 모두 디코딩하여 재생이 가능하게 된다. On the other hand, although the file extensions are different, the codec types may be the same. For example, the AVI file format can be combined with the MPEG video codec, and the MP4 file format can be combined with the MPEG1.2.4 video codec. (a) is an AVI file format and (b) is an MP4 file format, the codec stream of (a) may be encoded by an MPEG video codec and the codec stream of (b) may be encoded by an MPEG 1.2.4 video codec . Accordingly, if a client device having an MPEG-based codec can recognize both the AVI file format and the MP4 file format, both the AVI video file and the MP4 video file can be decoded and played back.

그런데, 클라이언트 디바이스가 모바일 디바이스인 경우, 통상 인식 가능한 파일 포맷은 제한된다. 이런 경우, 파일 포맷이 상이하면 디코딩이 가능한 동영상 파일임에도 트랜스코딩이 되어야 하므로, 본 발명의 실시예에서는 이러한 불필요한 트랜스코딩을 방지하기 위해 실시간 리먹싱을 구현한다. 그 실시예적 구성에 대해 이하 도 2 내지 도 8을 참고하여 설명한다. However, when the client device is a mobile device, the file format that is normally recognizable is limited. In this case, if the file format is different, transcoding must be performed even though it is a video file that can be decoded. Therefore, in the embodiment of the present invention, real-time remodeling is implemented to prevent such unnecessary transcoding. The embodiment configuration will be described below with reference to Figs. 2 to 8. Fig.

도 2는 본 발명의 실시예에 따른 실시간 리먹싱 시스템의 개략적인 구성을 나타낸 것이다.2 shows a schematic configuration of a real-time remediation system according to an embodiment of the present invention.

도 2를 참조하면, 저장 장치(100)는 서로 다른 파일 포맷/코덱 타입을 가지는 복수의 동영상 파일을 저장한다. 송신 장치(200)는 저장 장치(100)와 물리적으로 연결되어 클라이언트 디바이스(300)가 요청한 동영상 파일을 저장 장치(100)로부터 획득하여 클라이언트 디바이스(300)로 전송한다.Referring to FIG. 2, the storage device 100 stores a plurality of video files having different file formats / codec types. The transmitting apparatus 200 is physically connected to the storage apparatus 100 and acquires a moving picture file requested by the client apparatus 300 from the storage apparatus 100 and transmits the same to the client apparatus 300.

송신 장치(200)와 클라이언트 디바이스(300)는 인터넷(Internet)등과 같은 네트워크(400)를 통해 서로 연결되어 있다. The transmitting apparatus 200 and the client device 300 are connected to each other through a network 400 such as the Internet.

여기서, 네트워크(400)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있다. 에를 들면, 3G망, LTE(Long Term Evolution)망 등이 될 수 있고, 단거리 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있으며, 공지의 월드와이드웹(WWW; World Wide Web)일 수 있으며, 적외선(Infrared Data Association; IrDA) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선전송기술을 이용할 수도 있다.Here, the network 400 may be configured without discriminating its communication modes such as wired and wireless. (LAN), a metropolitan area network (MAN), a metropolitan area network (MAN), a wide area network (LAN), or a wide area network (WAN), and may be a well-known World Wide Web (WWW), and may be a short distance communication such as an Infrared Data Association (IrDA) or Bluetooth Lt; / RTI > may be used.

여기서, 저장 장치(100)와 송신 장치(200)는 네트워크 스토리지(NAS, Network Attached Storage) 서버 또는 클라우드(cloud) 서버에 포함되는 구성일 수 있다. 또는 NAS 서버 또는 클라우드 서버는 저장 장치(100)만 포함하고, 송신 장치(200)는 NAS 서버 또는 클라우드 서버와 물리적으로 연결될 수도 있다.Here, the storage device 100 and the transmission device 200 may be included in a NAS (Network Attached Storage) server or a cloud server. Alternatively, the NAS server or the cloud server includes only the storage device 100, and the transmitting device 200 may be physically connected to the NAS server or the cloud server.

송신 장치(200)는 클라이언트 디바이스(300)에서 인식 가능한 파일 포맷을 가지는 동영상 파일의 헤더 스트림과, 상기 파일 포맷 및 클라이언트 디바이스(100)에서 디코딩(decoding) 가능한 코덱 타입(codec type)을 가지는 동영상 파일의 코덱 스트림을 클라이언트 디바이스(300)로 각각 전송한다.The transmitting apparatus 200 transmits a header stream of a moving picture file having a file format recognizable by the client device 300 and a moving picture file having a codec type that can be decoded in the file format and the client device 100, To the client device 300, respectively.

여기서, 헤더 스트림은 소정의 파일 포맷을 가지는 동영상 파일의 기본 정보가 있는 영역으로 파일 포맷의 영상을 재생하는 영상 재생 장치의 비디오 코덱, 오디오 코덱, 해상도, 프레임수, 비트레이트 등의 정보를 포함하고 있다. 이는 MainHEADER, StreamHEADER, StreamFormat 등으로 구분되어 있으며, 비디오 코덱 및 오디오 코덱에 대한 정보는 StreamHeader를 분석하여 나타낼 수 있다.Here, the header stream includes information such as a video codec, an audio codec, a resolution, a frame number, and a bit rate of a video reproduction apparatus for reproducing an image in a file format in an area where basic information of a video file having a predetermined file format exists have. It is divided into MainHEADER, StreamHEADER, StreamFormat, etc. Information about the video codec and audio codec can be represented by analyzing StreamHeader.

클라이언트 디바이스(300)는 동영상 파일을 탐색 및 요청하고 수신하여 재생하는 장치로서, 모바일 디바이스일 수 있다. 그러나 모바일 디바이스로 국한되는 것은 아니고, 하나 이상의 서로 다른 파일 포맷 및 하나 이상의 서로 다른 코덱을 구비하여 동영상 파일을 재생할 수 있는 장치라면 무엇이든 가능하다. 물론, 하나의 파일 포맷 및 하나의 코덱을 구비할 수도 있다.The client device 300 is an apparatus for searching for, requesting, receiving, and reproducing a moving image file, and may be a mobile device. However, the present invention is not limited to a mobile device, and any device capable of reproducing a moving picture file having one or more different file formats and one or more different codecs is possible. Of course, one file format and one codec may be provided.

클라이언트 디바이스(300)는 송신 장치(200)로부터 수신한 헤더 스트림 및 코덱 스트림을 실시간 리먹싱(Remuxing)하여 재생한다. The client device 300 real-time remaps and reproduces the header stream and the codec stream received from the transmission apparatus 200.

도 3은 도 2의 송신 장치의 세부 구성을 나타낸 블록도이다.3 is a block diagram showing the detailed configuration of the transmitting apparatus of FIG.

도 3을 참조하면, 송신 장치(200)는 복수(n)의 디먹서(demuxer)(201, 203), 전송부(205) 및 프로세서(207)를 포함한다.3, the transmitting apparatus 200 includes a plurality (n) of demuxers 201 and 203, a transmitting unit 205, and a processor 207. [

복수(n)의 디먹서(201, 203)는 서로 다른 파일 포맷을 각각 지원하고, 지원하는 파일 포맷을 가지는 동영상 파일의 헤더 정보를 분석(parsing)한다.A plurality of (n) decipherers 201 and 203 support different file formats, respectively, and analyze the header information of a moving picture file having a supported file format.

복수(n)의 디먹서(201, 203)는 동영상 파일을 헤더 정보와 코덱 데이터로 분리한다.A plurality of (n) decipherers 201 and 203 separate the moving picture file into header information and codec data.

전송부(205)는 헤더 스트림을 클라이언트 디바이스(300)로 전송한 이후, 코덱 스트림과 실시간 재생 정보를 클라이언트 디바이스(300)로 전송한다.The transmission unit 205 transmits the header stream to the client device 300, and then transmits the codec stream and the real-time playback information to the client device 300.

전송부(205)는 코덱이 같아도 디먹서(201, 203)마다 패킹(packing)방식이 다르다. 따라서, 필요 정보 등을 더하거나 불필요한 정보를 제거한 코덱 스트림을 전송한다.The transmitting unit 205 has a different packing method for each of the decipherers 201 and 203 even if the codec is the same. Therefore, it adds a necessary information or transmits a codec stream from which unnecessary information is removed.

여기서, 실시간 재생 정보는, 길이(length) 및 타임스탬프(timestamp)를 포함한다. 길이(length) 및 타임스탬프(timestamp)는 실시간 play를 위한 정보이다. 완전히 리먹싱(remuxing)되지 않은 상태에서는 코덱스트림 만으로는 그것의 길이(length) 및 타임스탬프(timestamp)를 알 수 없기 때문에 같이 전송을 한다. 사용자는 실시간 재생(play) 또는 리먹싱하여 파일로 저장 후 재생(play)을 선택한다.Here, the real-time playback information includes a length and a timestamp. The length and timestamp are information for real-time play. In the state where the codec stream is not completely remuxed, the codestream is transmitted together because its length and timestamp are unknown. The user selects real time play or remixing and saves it as a file and then selects play.

전송부(205)는 디먹서(201, 203)의 헤더 정보의 분석 결과를 토대로 동영상 파일의 파일 포맷을 확인한다. 동영상 파일의 헤더 스트림을 클라이언트 디바이스(300)에서 인식 가능한 파일 포맷으로 변환하여 클라이언트 디바이스(300)로 전송한다. 그리고 클라이언트 디바이스(300)에서 디코딩 가능한 코덱 타입을 가지는 코덱 데이터 스트림을 클라이언트 디바이스(300)로 전송한다.The transmission unit 205 confirms the file format of the moving picture file based on the analysis result of the header information of the decryption keys 201 and 203. Converts the header stream of the moving image file into a file format recognizable by the client device 300, and transmits the converted file format to the client device 300. Then, the client device 300 transmits a codec data stream having a decodable codec type to the client device 300.

전송부(205)는 동영상 파일의 헤더 정보가 클라이언트 디바이스(300)에서 인식 가능한 파일 포맷인 경우, 저장 장치(100)에 저장된 동영상 파일의 원래의 헤더 스트림을 클라이언트 디바이스(300)로 전송한다. 반면, 클라이언트 디바이스(300)에서 인식할 수 없는 파일 포맷인 경우, 인식 가능한 파일 포맷으로 변환된 헤더 스트림을 클라이언트 디바이스(300)로 전송한다.If the header information of the moving image file is a file format recognizable by the client device 300, the transmitting unit 205 transmits the original header stream of the moving image file stored in the storage device 100 to the client device 300. On the other hand, if the client device 300 can not recognize the file format, the client device 300 transmits the header stream converted into the recognizable file format to the client device 300.

전송부(205)는 헤더 스트림을 클라이언트 디바이스(300)로 전송한 이후, 동영상 파일의 코덱 타입이 클라이언트 디바이스(300)에서 디코딩 가능한 경우 저장 장치(100)에 저장된 동영상 파일의 원래의 코덱 스트림을 클라이언트 디바이스(300)로 전송한다. 그러면, 클라이언트 디바이스(300)는 인식 가능한 파일 포맷을 가진 헤더 스트림과 상기 원래 코덱 스트림을 실시간 리먹싱한다.If the codec type of the moving picture file can be decoded by the client device 300 after the header stream is transmitted to the client device 300, the transmitting unit 205 transmits the original codec stream of the moving picture file stored in the storage device 100 to the client To the device (300). The client device 300 then real-time remaps the header stream with the recognizable file format and the original codec stream.

전송부(205)는 변환된 헤더 스트림을 클라이언트 디바이스(300)로 전송한 이후, 상기 원래 코덱 스트림을 상기 인식 가능한 파일 포맷으로 리패킹(repacking)하여 클라이언트 디바이스(300)로 전송한다. 그러면, 클라이언트 디바이스(300)는 상기 변환된 헤더 스트림과 리패킹된 코덱 스트림을 실시간 리먹싱한다.After transmitting the converted header stream to the client device 300, the transmitter 205 repackages the original codec stream into the recognizable file format and transmits the repacked stream to the client device 300. Then, the client device 300 real-time remaps the converted header stream and the recoded codec stream.

여기서, 리패킹은 도 1에서 설명한 바와 같이, 예를 들어 도 1의 (a)와 같이 구성된 코덱 스트림을 도 1의 (b) 또는 (c)와 같이 재구성 또는 재조립하는 것을 의미한다. 즉, 리패킹은 트랜스코딩하는 개념이 아니라 코덱 스트림의 재구성 개념이다. Here, the repacking means reconstructing or reassembling the codec stream constructed as shown in FIG. 1 (a), for example, as shown in FIG. 1 (b) or (c). That is, repackaging is not a concept of transcoding but a concept of reconstruction of a codec stream.

예를 들어, 코덱 포맷은 대표적으로 H.264, HEVC 코덱이 될 수 있다. For example, the codec format can be typically H.264 or HEVC codec.

AVI의 h.264의 코덱 저장 방식의 경우, Byte stream format이다. In case of AVI h.264 codec storage, it is Byte stream format.

즉, startcode(개시부호)가 프레임 또는 nal 앞에 들어있는 방식으로서, 예를들면,“0x000001XXXXXXXXXX”또는“0x00000001XXXXXXXXXX”와 같다. 여기서, XXXXXXXXXX 은 코덱 데이터이다.That is, the start code (start code) is in front of the frame or nal, for example, "0x000001XXXXXXXXXX" or "0x00000001XXXXXXXXXX". Where XXXXXXXXXX is the codec data.

반면, mp4 파일에서의 h.264 코덱 저장방식은 startcode가 없고 코덱의 length가 앞에 붙어있는데, "프레임사이즈(일반적으로 4byte) + XXXXXXXXXX"와 같다. On the other hand, the h.264 codec storage method in the mp4 file has no startcode and is preceded by the codec length, which is equal to "frame size (usually 4 bytes) + XXXXXXXXXX".

즉, avi -> mp4로 리먹싱 할 경우, 코덱 데이터에서 startcode를 제거하고, 그 자리에 코덱 데이터의 사이즈등을 써주는 비교적 단순한 작업이 리패킹이다. That is, in case of remixing with avi -> mp4, repacking is a relatively simple task of removing the startcode from the codec data and writing the size of the codec data in that position.

또한, 코덱의 sequence header 가 파일 포맷의 특정 영역으로 저장되어야 한다. 이와 같은 동작이 모두 리패킹에 해당된다. In addition, the sequence header of the codec must be stored in a specific area of the file format. All of these operations correspond to repacking.

전송부(205)는 헤더 스트림을 클라이언트 디바이스(300)로 전송한 이후, 동영상 파일의 코덱 타입이 클라이언트 디바이스(300)에서 디코딩 가능한 타입이 아닌 경우, 코덱 스트림을 클라이언트 디바이스(300)에서 디코딩 가능하도록 트랜스코딩하고, 트랜스코딩된 코덱 스트림을 클라이언트 디바이스(300)로 전송한다. 그러면, 클라이언트 디바이스(300)는 헤더 스트림과 트랜스코딩된 코덱 스트림을 실시간 리먹싱한다.After transmitting the header stream to the client device 300, if the codec type of the video file is not a type that can be decoded by the client device 300, the transmitting unit 205 may decode the codec stream in the client device 300 Transcodes, and transmits the transcoded codec stream to the client device (300). Then, the client device 300 real-time remaps the header stream and the transcoded codec stream.

여기서, 일반적으로 동영상 파일은 특정 압축 규격 또는 압축 방식에 의해 구별되는 코덱에 의해 압축되어 있는데, 이와 같이 특정 코덱에 의해 인코딩되어 있는 동영상 파일을 디코딩하고 새로운 코덱에 의해 인코딩하는 것을 트랜스코딩이라고 한다.Here, in general, a moving picture file is compressed by a codec that is distinguished by a specific compression standard or a compression method. The decoding of a moving picture file encoded by a specific codec and the encoding by a new codec are referred to as transcoding.

프로세서(207)는 저장 장치(100), 복수(n)의 디먹서(201, 203) 및 전송부(205)와 연결되어 이들의 동작을 제어한다.The processor 207 is connected to the storage device 100, a plurality of (n) decipherers 201 and 203, and a transmitting unit 205 to control their operation.

도 4는 도 2의 클라이언트 디바이스의 한 실시예에 따른 세부 구성을 나타낸 블록도이다.4 is a block diagram illustrating a detailed configuration according to an embodiment of the client device of FIG.

도 4를 참조하면, 클라이언트 디바이스(300)는 쿼리부(301), 수신부(303), 리먹서(Remuxer)(305) 및 재생부(307)를 포함한다. 4, the client device 300 includes a query unit 301, a reception unit 303, a remuxer 305, and a playback unit 307. [

쿼리부(301)는 사용자가 원하는 동영상 파일의 검색 요청 및 seek를 전송한다. The query unit 301 transmits a search request and seek of a video file desired by the user.

수신부(303)는 송신 장치(200)로부터 검색 또는 seek를 요청한 동영상 파일의 헤더 스트림을 수신한 후, 상기 동영상 파일의 코덱 스트림 및 실시간 재생 정보를 수신한다. The receiving unit 303 receives the header stream of the moving image file requested to be searched or seeked from the transmitting apparatus 200, and then receives the codec stream and the real-time playback information of the moving image file.

이때, 헤더 스트림은 재생부(307)가 인식 가능한 파일 포맷을 가지고, 코덱 스트림은 재생부(307)가 인식 가능한 파일 포맷 및 재생부(307)가 디코딩 가능한 코덱 타입을 가진다.At this time, the header stream has a file format recognizable by the reproducing unit 307, the codec stream has a codec type capable of being recognized by the reproducing unit 307 and a codec type capable of being decoded by the reproducing unit 307.

리먹서(305)는 헤더 스트림, 코덱 스트림 및 실시간 재생 정보를 리먹싱하여 재생 파일을 생성한다.The re-extractor 305 re-muxes the header stream, the codec stream, and the real-time playback information to generate a playback file.

재생부(307)는 리먹서(305)로부터 재생 파일을 입력받아 헤더 스트림을 분석한 결과에 따라 코덱 스트림을 디코딩하여 재생한다. 재생부(307)의 재생 동작은 종래 알려진 기술이므로, 자세한 설명은 생략한다. The playback unit 307 receives the playback file from the playback unit 305 and decodes and reproduces the codec stream according to the result of analyzing the header stream. Since the reproducing operation of the reproducing unit 307 is a known technique, a detailed description will be omitted.

도 5는 도 2의 클라이언트 디바이스의 다른 실시예에 따른 세부 구성을 나타낸 블록도로서, 도 4의 구성 중 리먹서(305)를 복수개 구비한 실시예에 해당된다.FIG. 5 is a block diagram showing a detailed configuration according to another embodiment of the client device of FIG. 2, which corresponds to an embodiment having a plurality of re-buffers 305 in the configuration of FIG.

도 5를 참조하면, 클라이언트 디바이스(300)는 쿼리부(301), 수신부(303), 재생부(307), 복수(n)의 리먹서(309, 311) 및 선택부(313)를 포함한다.5, the client device 300 includes a query unit 301, a receiving unit 303, a reproducing unit 307, a plurality of re-buffers 309 and 311, and a selecting unit 313 .

이때, 쿼리부(301), 수신부(303), 재생부(307), 복수(n)의 리먹서(309, 311)의 구성은 도 4에서 설명한 내용과 동일하다. 다만, 복수(n)의 리먹서(309, 311)는 각각 서로 다른 파일 포맷을 인식하며, 그 동작은 도 4와 동일하다.The configuration of the query unit 301, the reception unit 303, the playback unit 307, and the plurality of (n) reed switches 309 and 311 are the same as those described in FIG. However, a plurality of (n) re-extractors 309 and 311 recognize different file formats, and the operation thereof is the same as in Fig.

선택부(313)는 수신부(303) 및 복수(n)의 리먹서(309, 311)와 연결된다. 선택부(313)는 헤더 스트림의 파일 포맷을 확인한다. 그리고 복수(n)의 리먹서(309, 311) 중에서 확인한 파일 포맷에 해당하는 리먹서(309, 311)를 선택한다. 그리고 선택한 리먹서(309, 311)로 수신부(303)가 수신한 헤더 스트림, 코덱 스트림 및 실시간 재생 정보를 출력한다.The selection unit 313 is connected to the reception unit 303 and a plurality of (n) reed switches 309 and 311. The selection unit 313 confirms the file format of the header stream. Then, the reed-selecting unit 309 or 311 corresponding to the file format confirmed among the plurality of (n) reed-selecting units 309 and 311 is selected. And outputs the header stream, the codec stream, and the real-time playback information received by the receiving unit 303 to the selected reed 309, 311.

도 6은 본 발명의 실시예에 따른 송신 방법을 나타낸 순서도로서, 도 1, 2의 송신 장치(200)의 동작을 나타낸 것이다.6 is a flowchart showing a transmission method according to an embodiment of the present invention, and shows the operation of the transmission apparatus 200 shown in Figs.

도 6을 참조하면, 클라이언트 디바이스(300)로부터 동영상 파일 검색요청이 수신(S101)되면, 복수(n)의 디먹서(demuxer)(201, 203) 중 검색 요청된 동영상 파일 포맷을 인식 가능한 하나의 디먹서(201, 203)가 저장 장치(100)로부터 검색 요청된 동영상 파일을 읽어들여 디먹싱한다(S103). 그리고 동영상 파일의 헤더 정보를 분석한다(S105).Referring to FIG. 6, when a video file search request is received from the client device 300 (S101), one of the plurality of (n) demuxers 201 and 203, The decipherers 201 and 203 read the moving picture file requested to be retrieved from the storage device 100 and decipher it (S103). Then, the header information of the moving picture file is analyzed (S105).

전송부(205)는 S103 단계에서 디먹싱된 동영상 파일의 헤더 정보의 파일 포맷을 확인한다(S105).The transmitting unit 205 confirms the file format of the header information of the demuxed moving image file in step S103 (S105).

전송부(205)는 S105 단계에서 확인한 헤더 정보의 파일 포맷과 클라이언트 디바이스(100)에서 인식 가능한 파일 포맷이 서로 일치하는지 판단한다(S107). 여기서, 클라이언트 디바이스(100)에서 인식 가능한 파일 포맷은 S101 단계에서 획득할 수도 있고, 사전에 미리 저장할 수도 있으며, 다양한 방식으로 획득할 수 있다.The transmitting unit 205 determines whether the file format of the header information confirmed in step S105 and the file format recognizable by the client device 100 coincide with each other (S107). Here, the file format recognizable by the client device 100 may be acquired in step S101, may be stored in advance, or may be acquired in various manners.

전송부(205)는 S107 단계에서 서로 일치하지 않는 경우, 동영상 파일의 헤더 정보를 추출(S109)하여 클라이언트 디바이스(300)에서 인식 가능한 파일 포맷으로 변환한다(S111). If they do not coincide with each other in step S107, the transmitting unit 205 extracts the header information of the moving image file (S109) and converts the extracted header information into a file format recognizable by the client device 300 (S111).

전송부(205)는 S111 단계에서 인식 가능한 파일 포맷으로 변환된 헤더 스트림 또는 S107 단계에서 서로 일치하는 경우, 동영상 파일의 원래 헤더 스트림을 클라이언트 디바이스(300)로 전송한다(S113).In step S113, the transmitting unit 205 transmits the original header stream of the moving image file to the client device 300 if the header stream is converted into the recognizable file format in step S111 or in step S107.

전송부(205)는 S103 단계에서 디먹싱된 동영상 파일의 코덱 타입을 확인한다(S115).The transmitting unit 205 checks the codec type of the de-multiplexed moving picture file in step S103 (S115).

전송부(205)는 동영상 파일의 코덱 타입이 클라이언트 디바이스(300)에서 디코딩이 가능한 코덱 타입인지 판단한다(S117).The transmitting unit 205 determines whether the codec type of the moving picture file is a codec type that can be decoded in the client device 300 (S117).

이때, 디코딩이 가능한 코덱 타입이 아닌 경우, 전송부(205)는 코덱 스트림을 클라이언트 디바이스(300)에서 디코딩이 가능한 코덱 타입으로 트랜스코딩한다(S119).At this time, if the codec type is not a decodable codec type, the transcoder 205 transcodes the codec stream into a codec type that can be decoded in the client device 300 (S119).

반면, 디코딩이 가능한 코덱 타입인 경우, 전송부(205)는 파일 포맷이 서로 일치하는지 확인한다(S121). On the other hand, if the codec type is a decodable codec type, the transmitting unit 205 checks whether the file formats agree with each other (S121).

파일 포맷이 서로 일치하지 않는 경우, 전송부(205)는 코덱 스트림을 인식 가능한 파일 포맷으로 리패킹한다(S123). If the file formats do not coincide with each other, the transmitting unit 205 re-packs the codec stream into a recognizable file format (S123).

전송부(205)는 S119 단계에서 트랜스코딩된 코덱 스트림 또는 S123 단계에서 리패킹된 코덱 스트림 또는 원래 코덱 스트림을 실시간 재생 정보와 함께 클라이언트 디바이스(300)로 전송한다(S125). The transmitting unit 205 transmits the transcoded codec stream in step S119 or the original codec stream or the original codec stream to the client device 300 in step S125.

도 7은 본 발명의 한 실시예에 따른 수신 방법을 나타낸 순서도로서, 도 1, 4의 클라이언트 디바이스(300)의 동작을 나타낸 것이다.FIG. 7 is a flowchart illustrating a receiving method according to an embodiment of the present invention, and shows the operation of the client device 300 of FIGS. 1 and 4. FIG.

도 7을 참조하면, 쿼리부(301)는 송신 장치(200)로 동영상 파일을 검색하거나 seek한다(S201). 여기서, seek는 1개의 파일 내에서 play 도중에 장면을 검색하거나 또는 특정 시간으로 이동하는 동작을 말한다. Referring to FIG. 7, the query unit 301 searches for or searches for a moving image file in the transmitting apparatus 200 (S201). Here, seek refers to an operation of searching for a scene in play or moving to a specific time in one file.

수신부(303)는 클라이언트 디바이스(300)에서 인식 가능한 파일 포맷을 가진 S101 단계에서 검색 요청한 동영상 파일의 헤더 스트림을 수신한다(S203).The receiving unit 303 receives the header stream of the video file requested to be searched in step S101 having the file format recognizable by the client device 300 (S203).

수신부(303)는 클라이언트 디바이스(300)에서 인식 가능한 파일 포맷과 클라이언트 디바이스(300)에서 디코딩 가능한 코덱 타입을 가진 코덱 스트림 및 실시간 재생 정보를 수신한다(S205).The receiving unit 303 receives the codec stream and the real-time playback information having the codec type that can be decoded by the client device 300 and the file format recognizable by the client device 300 (S205).

리먹서(305)는 S203 단계 및 S205 단계에서 각각 수신한 헤더 스트림, 코덱 스트림 및 실시간 재생 정보를 실시간 리먹싱(S207)한 하나의 동영상 재생 파일을재생부(307)로 출력한다.The re-decipherment unit 305 outputs to the playback unit 307, a moving image playback file which real-time remaps the received header stream, codec stream and real-time playback information in step S203 and step S205.

도 8은 본 발명의 다른 실시예에 따른 수신 방법을 나타낸 순서도로서, 도 1, 도 5의 클라이언트 디바이스(300)의 동작을 나타낸 것이다. FIG. 8 is a flowchart illustrating a receiving method according to another embodiment of the present invention, and illustrates the operation of the client device 300 of FIGS. 1 and 5.

도 8을 참조하면, 쿼리부(301)가 동영상 파일을 검색한 이후, 수신부(303)는 검색한 동영상 파일의 헤더 스트림을 송신 장치(200)로부터 수신한다(S301).Referring to FIG. 8, after the query unit 301 searches for a moving image file, the receiving unit 303 receives a header stream of the searched moving image file from the transmitting apparatus 200 (S301).

선택부(313)는 S301 단계에서 수신한 헤더 스트림의 파일 포맷을 확인한다(S303).The selection unit 313 confirms the file format of the header stream received in step S301 (S303).

선택부(313)는 서로 다른 파일 포맷을 인식하는 복수(n)의 리먹서(309, 311) 중에서 S303 단계에서 확인한 파일 포맷에 해당하는 리먹서(309, 311)를 선택한다(S305).The selection unit 313 selects the reed 309 or 311 corresponding to the file format confirmed in step S303 among the plurality of reed 309 or 311 recognizing different file formats at step S305.

선택부(313)는 선택한 리먹서(309, 311)로 송신 장치(200)로부터 수신한 헤더 스트림, 코덱 스트림 및 실시간 재생 정보를 출력한다(S307). The selector 313 outputs the header stream, the codec stream, and the real-time playback information received from the transmitter 200 to the selected receiver 309 or 311 (S307).

그러면, 선택한 리먹서(309, 311)를 통해 헤더 스트림, 코덱 스트림 및 실시간 재생 정보를 실시간 리먹싱하고, 리먹싱된 동영상 파일을 재생부(307)에서 재생한다. Then, the header stream, the codec stream, and the real-time playback information are reproduced in real time through the selected reed 309 and 311, and the re-edited video file is reproduced by the reproducing unit 307.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다. The embodiments of the present invention described above are not implemented only by the apparatus and method, but may be implemented through a program for realizing the function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.

Claims (16)

동영상 파일을 탐색 및 요청하고 수신하여 재생하는 클라이언트 디바이스, 그리고
상기 동영상 파일의 헤더 스트림의 제1 파일 포맷이 상기 클라이언트 디바이스에서 인식할 수 없는 파일 포맷인 경우, 상기 헤더 스트림을 상기 클라이언트 디바이스에서 인식 가능한 제2 파일 포맷으로 변환하여 상기 클라이언트 디바이스로 전송하고, 상기 동영상 파일의 코덱 타입을 상기 클라이언트 디바이스에서 디코딩 가능한 경우, 상기 제2 파일 포맷으로 상기 동영상 파일의 코덱 스트림을 리패킹한 후, 상기 클라이언트 디바이스로 전송하는 송신 장치를 포함하고,
상기 제1 파일 포맷과 상기 제2 파일 포맷은 파일 확장자가 다르고,
상기 리패킹은,
상기 코덱 스트림에 포함되는 데이터들을 상기 제2 파일 포맷에서 정의하는 코덱 저장방식에 기초하여 재구성 또는 재조립하는 것을 특징으로 하며,
상기 클라이언트 디바이스는,
상기 제2 파일 포맷으로 변환된 헤더 스트림과 상기 리패킹된 코덱 스트림을 실시간 리먹싱하는 실시간 리먹싱 시스템.
A client device for searching and requesting, receiving and playing a video file, and
Converting the header stream into a second file format recognizable by the client device and transmitting the header stream to the client device when the first file format of the header stream of the moving image file is a file format not recognizable by the client device, And a transmission device for repacking the codec stream of the moving picture file to the client device when the codec type of the moving picture file is decodable by the client device,
Wherein the first file format and the second file format have different file extensions,
The above-
And reconstructs or reassembles data included in the codec stream based on a codec storage method defined in the second file format,
The client device comprising:
And real-time remapping the header stream converted into the second file format and the repacked codec stream in real time.
제1항에 있어서,
상기 송신 장치는,
서로 다른 파일 포맷 및 코덱 타입을 가지는 복수의 동영상 파일을 저장하는 NAS(Network Attached Storage) 서버 또는 클라우드(Cloud) 서버에 포함되거나 또는 연결되는 실시간 리먹싱 시스템.
The method according to claim 1,
The transmitting apparatus includes:
A real-time remodeling system included in or connected to a NAS (Network Attached Storage) server or a cloud server that stores a plurality of movie files having different file formats and codec types.
제1항에 있어서,
상기 송신 장치는,
서로 다른 파일 포맷을 각각 지원하고, 지원하는 파일 포맷을 가지는 동영상 파일의 헤더 정보를 분석하는 복수의 디먹서(demuxer), 그리고
상기 헤더 정보의 분석 결과를 토대로 상기 동영상 파일의 파일 포맷을 확인하고, 상기 동영상 파일의 헤더 스트림을 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷으로 변환하여 상기 클라이언트 디바이스로 전송하며, 상기 클라이언트 디바이스에서 디코딩 가능한 코덱 타입을 가지는 코덱 데이터 스트림을 상기 클라이언트 디바이스로 전송하는 전송부
를 포함하는 실시간 리먹싱 시스템.
The method according to claim 1,
The transmitting apparatus includes:
A plurality of demuxers for respectively supporting different file formats, analyzing header information of a video file having a supported file format, and
And the client device transmits a header stream of the moving picture file to the client device, and transmits the header format of the moving picture file to the client device, For transmitting a codec data stream having a type to the client device
The real-time remuxing system comprising:
제3항에 있어서,
상기 복수의 디먹서는,
상기 동영상 파일을 헤더 정보와 코덱 데이터로 분리하고,
상기 전송부는,
헤더 스트림을 전송한 이후, 코덱 스트림과 실시간 재생 정보를 전송하는 실시간 리먹싱 시스템.
The method of claim 3,
The plurality of demultiplexers
Separating the moving picture file into header information and codec data,
Wherein the transmission unit comprises:
A real-time remapping system that transmits a codec stream and real-time playback information after transmitting a header stream.
제4항에 있어서,
상기 실시간 재생 정보는,
길이(length) 및 타임스탬프(timestamp)를 포함하는 실시간 리먹싱 시스템.
5. The method of claim 4,
The real-
A real time remapping system comprising a length and a timestamp.
제4항에 있어서,
상기 전송부는,
상기 동영상 파일의 헤더 정보가 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷인 경우, 원래의 헤더 스트림을 상기 클라이언트 디바이스로 전송하고, 상기 클라이언트 디바이스에서 인식할 수 없는 파일 포맷인 경우, 상기 인식 가능한 파일 포맷으로 변환된 헤더 스트림을 상기 클라이언트 디바이스로 전송하는 실시간 리먹싱 시스템.
5. The method of claim 4,
Wherein the transmission unit comprises:
When the header information of the moving image file is a file format recognizable by the client device, transmits the original header stream to the client device, and when the header information is not recognizable by the client device, And transmitting the header stream to the client device.
제6항에 있어서,
상기 전송부는,
상기 원래의 헤더 스트림 및 상기 변환된 헤더 스트림을 상기 클라이언트 디바이스로 전송한 이후, 상기 동영상 파일의 코덱 타입이 상기 클라이언트 디바이스에서 디코딩 가능한 경우 원래 코덱 스트림을 상기 클라이언트 디바이스로 전송하고,
상기 클라이언트 디바이스는,
상기 인식 가능한 파일 포맷을 가진 헤더 스트림과 상기 원래 코덱 스트림을 실시간 리먹싱하는 실시간 리먹싱 시스템.
The method according to claim 6,
Wherein the transmission unit comprises:
After transmitting the original header stream and the converted header stream to the client device, transmitting the original codec stream to the client device when the codec type of the video file is decodable by the client device,
The client device comprising:
A real-time remapping system for real-time remixing a header stream having the recognizable file format and the original codec stream.
삭제delete 제6항에 있어서,
상기 전송부는,
상기 헤더 스트림을 상기 클라이언트 디바이스로 전송한 이후, 상기 동영상 파일의 코덱 타입이 상기 클라이언트 디바이스에서 디코딩 가능한 타입이 아닌 경우, 상기 코덱 스트림을 상기 클라이언트 디바이스에서 디코딩 가능하도록 트랜스코딩하고, 트랜스코딩된 코덱 스트림을 상기 클라이언트 디바이스로 전송하며,
상기 클라이언트 디바이스는,
상기 헤더 스트림과 상기 트랜스코딩된 코덱 스트림을 실시간 리먹싱하는 실시간 리먹싱 시스템.
The method according to claim 6,
Wherein the transmission unit comprises:
If the codec type of the moving picture file is not decodable by the client device after transmitting the header stream to the client device, the codec stream is transcoded to be decodable by the client device, and the transcoded codec stream To the client device,
The client device comprising:
And real-time remapping the header stream and the transcoded codec stream.
제1항에 있어서,
상기 클라이언트 디바이스는,
사용자가 원하는 동영상 파일의 검색을 요청하는 쿼리부,
상기 동영상 파일의 헤더 스트림을 수신한 후, 상기 동영상 파일의 코덱 스트림 및 실시간 재생 정보를 수신하는 수신부,
상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 리먹싱하여 재생 파일을 생성하는 리먹서(remuxer), 그리고
상기 재생 파일을 입력받아 상기 헤더 스트림을 분석한 결과에 따라 상기 코덱 스트림을 디코딩하여 재생하는 재생부를 포함하고,
상기 헤더 스트림은 상기 재생부가 인식 가능한 파일 포맷을 가지고, 상기 코덱 스트림은 상기 재생부가 인식 가능한 파일 포맷 및 상기 재생부가 디코딩 가능한 코덱 타입을 가지는 것을 특징으로 하는 실시간 리먹싱 시스템.
The method according to claim 1,
The client device comprising:
A query unit for requesting a search of a video file desired by the user,
Receiving a header stream of the moving picture file and receiving a codec stream and real time reproduction information of the moving picture file;
A remuxer for remixing the header stream, the codec stream and the real time playback information to generate a playback file, and
And a playback unit which receives the playback file and decodes and reproduces the codec stream according to a result of analyzing the header stream,
Wherein the header stream has a file format recognizable by the reproducing unit, and the codec stream has a codec type in which the reproducing unit can recognize and a codec type in which the reproducing unit is decodable.
제10항에 있어서,
상기 리먹서는 서로 다른 파일 포맷을 인식하는 복수의 리먹서를 포함하고,
상기 헤더 스트림의 파일 포맷을 확인하고, 상기 복수의 리먹서 중에서 상기 파일 포맷에 해당하는 리먹서를 선택하며, 선택한 리먹서로 상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 출력하는 선택부
를 더 포함하는 실시간 리먹싱 시스템.
11. The method of claim 10,
Wherein the paddle includes a plurality of paddles recognizing different file formats,
Selecting a resampler corresponding to the file format from among the plurality of resenders, and outputting the header stream, the codec stream, and the real-time playback information to the selected librs,
The system further comprising:
클라이언트 디바이스로부터 요청된 동영상 파일을 스트리밍하는 송신 장치의 송신 방법으로서,
상기 동영상 파일의 헤더 스트림의 제1 파일 포맷이 상기 클라이언트 디바이스에서 인식할 수 없는 파일 포맷인 경우, 상기 헤더 스트림을 상기 클라이언트 디바이스에서 인식 가능한 제2 파일 포맷으로 변환하여 상기 클라이언트 디바이스로 전송하는 단계, 그리고
상기 동영상 파일의 코덱 타입을 상기 클라이언트 디바이스에서 디코딩 가능한 경우, 상기 제2 파일 포맷으로 상기 동영상 파일의 코덱 스트림을 리패킹한 후, 상기 클라이언트 디바이스로 전송하는 단계를 포함하고,
상기 제1 파일 포맷과 상기 제2 파일 포맷은 파일 확장자가 다르고,
상기 리패킹은,
상기 코덱 스트림에 포함되는 데이터들을 상기 제2 파일 포맷에서 정의하는 코덱 저장방식에 기초하여 재구성 또는 재조립하는 것을 특징으로하는 송신 방법.
A transmission method of a transmission apparatus for streaming a video file requested by a client device,
Converting the header stream into a second file format recognizable by the client device and transmitting the header stream to the client device when the first file format of the header stream of the moving image file is a file format not recognizable by the client device, And
And if the codec type of the moving picture file can be decoded by the client device, transmitting the codec stream of the moving picture file to the client device after the codec stream of the moving picture file is decoded in the second file format,
Wherein the first file format and the second file format have different file extensions,
The above-
And reconstructs or reassembles data included in the codec stream based on a codec storage method defined in the second file format.
제12항에 있어서,
상기 헤더 스트림을 상기 클라이언트 디바이스에서 인식 가능한 제2 파일 포맷으로 변환하여 상기 클라이언트 디바이스로 전송하는 단계는,
상기 동영상 파일의 헤더 정보를 분석하는 단계,
상기 헤더 정보의 파일 포맷과 상기 클라이언트 디바이스에서 인식 가능한 파일 포맷이 서로 일치하는지 확인하는 단계,
서로 일치하지 않는 경우, 상기 동영상 파일의 헤더 스트림을 상기 인식 가능한 제2 파일 포맷으로 변환하는 단계,
상기 제2 파일 포맷으로 변환된 헤더 스트림을 상기 클라이언트 디바이스로 전송하는 단계, 그리고
서로 일치하는 경우, 상기 동영상 파일의 제1 파일 포맷의 원래 헤더 스트림을 상기 클라이언트 디바이스로 전송하는 단계
를 포함하는 송신 방법.
13. The method of claim 12,
Converting the header stream into a second file format recognizable by the client device and transmitting the header stream to the client device,
Analyzing header information of the moving picture file;
Confirming whether a file format of the header information matches a file format recognizable by the client device,
Converting the header stream of the moving picture file into the recognizable second file format if they do not coincide with each other,
Transmitting the header stream converted into the second file format to the client device, and
Transmitting the original header stream of the first file format of the moving picture file to the client device if they coincide with each other
.
제13항에 있어서,
상기 리패킹한 후, 상기 클라이언트 디바이스로 전송하는 단계는,
상기 동영상 파일의 코덱 스트림의 코덱 타입이 상기 클라이언트 디바이스에서 디코딩이 가능한 코덱 타입인지 판단하는 단계,
상기 디코딩이 가능한 코덱 타입이 아닌 경우, 상기 코덱 스트림을 상기 디코딩이 가능한 코덱 타입으로 트랜스코딩하는 단계,
상기 디코딩이 가능한 코덱 타입인 경우, 상기 파일 포맷이 서로 일치하는지 확인하는 단계,
상기 파일 포맷이 서로 일치하지 않는 경우, 상기 코덱 스트림을 상기 인식가능한 파일 포맷으로 리패킹(repacking)하는 단계, 그리고
트랜스코딩된 코덱 스트림, 리패킹된 코덱 스트림 또는 원래 코덱 스트림 중 하나를 상기 클라이언트 디바이스로 전송하는 단계
를 포함하는 송신 방법.
14. The method of claim 13,
The method of claim 1,
Determining whether a codec type of the codec stream of the moving picture file is a codec type that can be decoded by the client device,
Transcoding the codec stream into a codec type capable of decoding if the codec type is not a codec type that can be decoded,
Determining if the file formats match each other if the codec type is a decodable codec type,
Repacking the codec stream into the recognizable file format if the file formats do not match;
Transmitting the transcoded codec stream, the repacked codec stream, or the original codec stream to the client device
.
동영상 파일을 탐색 및 요청하고 수신하여 재생하는 클라이언트 디바이스의 수신 방법으로서,
상기 클라이언트 디바이스에서 인식 가능한 파일 포맷을 가진 상기 동영상 파일의 헤더 스트림을 수신하는 단계,
상기 클라이언트 디바이스에서 인식 가능한 파일 포맷과 상기 클라이언트 디바이스에서 디코딩 가능한 코덱 타입을 가진 코덱 스트림 및 실시간 재생 정보를 수신하는 단계, 그리고
상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 실시간 리먹싱하여 재생하는 단계를 포함하고,
상기 헤더 스트림을 수신하는 단계는,
상기 동영상 파일의 헤더 스트림의 제1 파일 포맷이 상기 클라이언트 디바이스에서 인식할 수 없는 파일 포맷인 경우, 상기 클라이언트 디바이스에서 인식 가능한 제2 파일 포맷으로 변환된 헤더 스트림을 수신하고,
상기 코덱 스트림 및 실시간 재생 정보를 수신하는 단계는,
상기 동영상 파일의 헤더 스트림의 제1 파일 포맷이 상기 클라이언트 디바이스에서 인식할 수 없는 파일 포맷인 경우, 상기 제2 파일 포맷으로 리패킹된 코덱 스트림을 수신하고,
상기 재생하는 단계는,
상기 제2 파일 포맷으로 변환된 헤더 스트림과 상기 리패킹된 코덱 스트림을 실시간 리먹싱하며,
상기 제1 파일 포맷과 상기 제2 파일 포맷은 파일 확장자가 다르고,
상기 리패킹은,
상기 코덱 스트림에 포함되는 데이터들을 상기 제2 파일 포맷에서 정의하는 코덱 저장방식에 기초하여 재구성 또는 재조립하는 것을 특징으로 하는 수신 방법.
A receiving method of a client device for searching, requesting, receiving, and reproducing a moving picture file,
Receiving a header stream of the moving picture file having a file format recognizable by the client device,
Receiving a codec stream and real-time playback information having a file format recognizable by the client device and a codec type decodable by the client device, and
Reproducing the header stream, the codec stream, and the real-time playback information in real-
Wherein receiving the header stream comprises:
Receiving a header stream converted into a second file format recognizable by the client device when the first file format of the header stream of the moving image file is a file format not recognizable by the client device,
The step of receiving the codec stream and the real-
Receiving a codec stream repacked in the second file format if the first file format of the header stream of the moving image file is a file format not recognizable by the client device,
The method of claim 1,
Real-time remixing of the header stream converted into the second file format and the repacked codec stream,
Wherein the first file format and the second file format have different file extensions,
The above-
And reconstructs or reassembles data included in the codec stream based on a codec storage method defined in the second file format.
제15항에 있어서,
상기 재생하는 단계는,
상기 헤더 스트림의 파일 포맷을 확인하는 단계,
서로 다른 파일 포맷을 인식하는 복수의 리먹서 중에서 상기 파일 포맷에 해당하는 리먹서를 선택하는 단계,
선택한 리먹서를 통해 상기 헤더 스트림, 상기 코덱 스트림 및 상기 실시간 재생 정보를 실시간 리먹싱하는 단계, 그리고
리먹싱된 동영상 파일을 재생하는 단계
를 포함하는 수신 방법.
16. The method of claim 15,
The method of claim 1,
Confirming the file format of the header stream,
Selecting a librer corresponding to the file format from among a plurality of re-formats recognizing different file formats,
Real-time remixing the header stream, the codec stream and the real-time playback information through a selected librer, and
Steps to play the remapped video file
/ RTI >
KR1020150143081A 2015-10-13 2015-10-13 Real time remuxing system, method for transmitting and receiving thereof KR101729765B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150143081A KR101729765B1 (en) 2015-10-13 2015-10-13 Real time remuxing system, method for transmitting and receiving thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150143081A KR101729765B1 (en) 2015-10-13 2015-10-13 Real time remuxing system, method for transmitting and receiving thereof

Publications (2)

Publication Number Publication Date
KR20170043382A KR20170043382A (en) 2017-04-21
KR101729765B1 true KR101729765B1 (en) 2017-05-02

Family

ID=58705577

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150143081A KR101729765B1 (en) 2015-10-13 2015-10-13 Real time remuxing system, method for transmitting and receiving thereof

Country Status (1)

Country Link
KR (1) KR101729765B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11843818B2 (en) 2021-08-05 2023-12-12 Samsung Electronics Co., Ltd. Electronic device and multimedia playback method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100810223B1 (en) * 2007-01-19 2008-03-06 삼성전자주식회사 System and method for providing live streaming service between terminals

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100810223B1 (en) * 2007-01-19 2008-03-06 삼성전자주식회사 System and method for providing live streaming service between terminals

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11843818B2 (en) 2021-08-05 2023-12-12 Samsung Electronics Co., Ltd. Electronic device and multimedia playback method thereof

Also Published As

Publication number Publication date
KR20170043382A (en) 2017-04-21

Similar Documents

Publication Publication Date Title
KR101868280B1 (en) Information processing apparatus, information processing method, and computer-readable recording medium
KR100618473B1 (en) Method, machine-readable medium, apparatus and system for providing navigation for mpeg streams
US9818446B2 (en) File producing method, file producing device, and recording medium
JP6498882B2 (en) Storage method, playback method, storage device, and playback device
KR20180050961A (en) Method and device for decoding multimedia file
JP7439762B2 (en) Information processing device, information processing method, and program
JP2005136762A (en) High definition video reproduction method and apparatus
JP2005176069A (en) Distributed parallel transcoder system and method thereof
CN102780728A (en) Media file transcoding and downloading method and client
CN108476346B (en) Information processing apparatus, information processing method, and computer program
US20140112636A1 (en) Video Playback System and Related Method of Sharing Video from a Source Device on a Wireless Display
KR101729765B1 (en) Real time remuxing system, method for transmitting and receiving thereof
KR20050052717A (en) System and method for transcording stream data except audio data
KR20140007893A (en) A method for optimizing a video stream
KR101731829B1 (en) Device and method for processing digital contents in digital video receiver
CN108886638A (en) Transcriber and reproducting method and file creating apparatus and document generating method
JP7014157B2 (en) Information processing equipment, information recording media, information processing methods, and programs
EP3228090A1 (en) Identifying media types
JP2010192971A (en) Selected-area encoded video data distributing method, encoded video data decoding method, distribution server, reproduction terminal, program, and recording medium
JP2015109131A (en) File generation method, reproduction method, file generation device, regeneration device and recording medium
KR102210509B1 (en) Method and apparatus for converting a content in a multimedia system
WO2015083354A1 (en) File generation method, playback method, file generation device, playback device, and recording medium
WO2015105037A1 (en) File generation method, file generation device and recording medium
WO2016027426A1 (en) Video stream generation method, playback apparatus, and recording medium
KR101656102B1 (en) Apparatus and method for generating/providing contents file

Legal Events

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

Payment date: 20200306

Year of fee payment: 4