KR102191970B1 - Apparatus and Method for Transmitting Data - Google Patents
Apparatus and Method for Transmitting Data Download PDFInfo
- Publication number
- KR102191970B1 KR102191970B1 KR1020140156241A KR20140156241A KR102191970B1 KR 102191970 B1 KR102191970 B1 KR 102191970B1 KR 1020140156241 A KR1020140156241 A KR 1020140156241A KR 20140156241 A KR20140156241 A KR 20140156241A KR 102191970 B1 KR102191970 B1 KR 102191970B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- content
- processor
- signaling
- fec
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23605—Creation or processing of packetized elementary streams [PES]
Abstract
제2 디바이스로 MMT(MPEG Media Transport) 형식의 패킷을 전송하는 제1 디바이스에 있어서, 제1 컨텐트에 기초하여 제1 패킷을 생성하는 제1 프로세서, 제2 컨텐트에 기초하여 제2 패킷을 생성하는 제2 프로세서, 상기 제1 컨텐트 및 상기 제2 컨텐트에 기초하여 시그널링 패킷을 생성하는 시그널링 프로세서 및 상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 상기 제2 디바이스로 송신하는 통신부를 포함하고, 상기 제1 프로세서, 상기 제2 프로세서 및 상기 시그널링 프로세서는 병렬적으로 상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 생성하는 것을 특징으로 하는 제1 디바이스가 개시된다. A first device that transmits a packet in an MPEG Media Transport (MMT) format to a second device, wherein the first processor generates a first packet based on the first content, and generates a second packet based on the second content. A second processor, a signaling processor that generates a signaling packet based on the first content and the second content, and a communication unit that transmits the first packet, the second packet, and the signaling packet to the second device, A first device is disclosed, wherein the first processor, the second processor, and the signaling processor generate the first packet, the second packet and the signaling packet in parallel.
Description
본 발명의 실시예들은 MMT(MPEG Media Trasport) 형식의 데이터 전송 디바이스 및 전송 방법에 관한 것이다.Embodiments of the present invention relate to a device and method for transmitting data in MPEG Media Trasport (MMT) format.
최근 들어, 멀티미디어 컨텐트의 이용이 급증하고 있으며, 디바이스를 통한 멀티미디어 컨텐트의 전송 또한 급증하고 있다. In recent years, the use of multimedia content is increasing rapidly, and transmission of multimedia content through devices is also increasing rapidly.
멀티미디어 컨텐트는 MPEG 표준을 따르는 경우가 많으므로, MPEG 관련 기술들도 발달하여, 최근에는 차세대 멀티미디어 부호화 표현 및 다중화 전달 표준인 MPEG-H를 준비하기에 이르렀다. Since multimedia content often follows the MPEG standard, MPEG-related technologies have also been developed, and in recent years, MPEG-H, a next-generation multimedia encoding expression and multiplexing delivery standard, has been prepared.
또한, 컨텐트의 사용 빈도가 높아지면서 복수 개의 컨텐트를 동시에 사용하는 경우도 많아졌다. In addition, as the frequency of use of content has increased, a number of cases of simultaneously using a plurality of content have increased.
현재까지 MPEG-H 관련 기술은 계속적으로 발전하고 있지만, 동시에 여러 개의 컨텐트를 처리하는 기술은 MPEG-H의 TS(Transport Stream) 표준인 MMT(MPEG Media Trasport) 프로토콜 수행에 있어서 미흡한 실정이다.Until now, MPEG-H-related technologies are continuously developing, but technologies for simultaneously processing multiple contents are insufficient in performing the MPEG Media Trasport (MMT) protocol, which is a transport stream (TS) standard of MPEG-H.
본 발명의 실시예들은 MMT 형식의 데이터를 포함하는 복수개의 컨텐트를 처리하는 방법 및 장치에 관한 것이다. Embodiments of the present invention relate to a method and apparatus for processing a plurality of content including MMT format data.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 일 실시예의 일 측면에 따르면, 제2 디바이스로 MMT(MPEG Media Transport) 형식의 패킷을 전송하는 제1 디바이스에 있어서, 제1 컨텐트에 기초하여 제1 패킷을 생성하는 제1 프로세서, 제2 컨텐트에 기초하여 제2 패킷을 생성하는 제2 프로세서, 상기 제1 컨텐트 및 상기 제2 컨텐트에 기초하여 시그널링 패킷을 생성하는 시그널링 프로세서 및 상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 상기 제2 디바이스로 송신하는 통신부를 포함하고, 상기 제1 프로세서, 상기 제2 프로세서 및 상기 시그널링 프로세서는 병렬적으로 상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 생성하는 것을 특징으로 하는 제1 디바이스가 제공될 수 있다.As a technical means for achieving the above-described technical problem, according to an aspect of an embodiment of the present disclosure, in a first device for transmitting an MMT (MPEG Media Transport) format packet to a second device, based on the first content A first processor that generates a first packet by doing so, a second processor that generates a second packet based on a second content, a signaling processor that generates a signaling packet based on the first content and the second content, and the first A communication unit for transmitting a packet, the second packet, and the signaling packet to the second device, wherein the first processor, the second processor, and the signaling processor are parallel to the first packet, the second packet, and A first device may be provided that generates the signaling packet.
상기 제1 프로세서, 상기 제2 프로세서 및 상기 시그널링 프로세서는, 상기 제1 프로세서가 상기 제1 패킷을 생성하는 동안, 상기 제2 프로세서 및 상기 시그널링 프로세서가 각각 상기 제2 패킷 및 상기 시그널링 패킷을 생성하는 것을 특징으로 할 수 있다. The first processor, the second processor, and the signaling processor are configured to generate the second packet and the signaling packet by the second processor and the signaling processor, respectively, while the first processor generates the first packet. It can be characterized.
상기 제1 디바이스는, 미디어 데이터 추출기(media data extractor) 및 파일 데이터 추출기(file data extractor)를 더 포함하고, 상기 제 1 컨텐트가 미디어 데이터인 경우, 상기 미디어 데이터 추출기가 소스 데이터를 추출하고, 상기 제 1 컨텐트가 미디어 데이터가 아닌 경우, 상기 파일 데이터 추출기가 소스 데이터를 추출하며, 상기 제 1 프로세서는 상기 추출된 소스 데이터를 기초로 상기 제1 패킷을 생성할 수 있다. The first device further includes a media data extractor and a file data extractor, and when the first content is media data, the media data extractor extracts source data, and the When the first content is not media data, the file data extractor extracts source data, and the first processor may generate the first packet based on the extracted source data.
상기 제1 프로세서는 상기 제1 패킷을 저장하는 제1 버퍼를 더 포함하고, 상기 제2 프로세서는 상기 제2 패킷을 저장하는 제2 버퍼를 더 포함할 수 있다. The first processor may further include a first buffer for storing the first packet, and the second processor may further include a second buffer for storing the second packet.
상기 제1 디바이스는, 상기 제1 패킷을 기초로 하여 제1 FEC 리페어 패킷 및 제1 FEC 소스 패킷을 생성하는 제1 FEC 모듈, 상기 제2 패킷을 기초로 하여 제2 FEC 리페어 패킷 및 제2 FEC 소스 패킷을 생성하는 제2 FEC 모듈을 더 포함하고, 상기 통신부는 상기 제1 FEC 리페어 패킷, 상기 제1 FEC 소스 패킷, 상기 제2 FEC 리페어 패킷 및 상기 제2 FEC 소스 패킷을 상기 제2 디바이스로 송신할 수 있다. The first device includes a first FEC module that generates a first FEC repair packet and a first FEC source packet based on the first packet, and a second FEC repair packet and a second FEC based on the second packet. A second FEC module for generating a source packet, wherein the communication unit transmits the first FEC repair packet, the first FEC source packet, the second FEC repair packet, and the second FEC source packet to the second device. Can send.
송신할 컨텐트가 복수개인 경우, 상기 데이터 제1 디바이스는 상기 송신할 컨텐트의 숫자에 기초하여, 병렬적으로 생성하는 패킷의 개수를 결정할 수 있다. When there are multiple contents to be transmitted, the data first device may determine the number of packets to be generated in parallel based on the number of contents to be transmitted.
본 개시의 일 실시예의 또 다른 측면에 따르면, 제1 디바이스로부터 MMT(MPEG Media Transport) 형식의 패킷을 수신하는 제2 디바이스에 있어서, 상기 제1 디바이스로부터 제1 패킷, 제2 패킷 및 시그널링 패킷을 수신하는 통신부, 상기 제1 패킷에 기초하여 제1 컨텐트를 생성하는 제1 프로세서, 상기 제2 패킷에 기초하여 제2 컨텐트를 생성하는 제2 프로세서 및 상기 시그널링 패킷에 기초하여 상기 제1 패킷 및 상기 제2 패킷을 위한 시그널링 컨텐트를 생성하는 시그널링 프로세서를 포함하고, 상기 제1 프로세서, 상기 제2 프로세서 및 상기 시그널링 프로세서는 병렬적으로 상기 제1 컨텐트, 상기 제2 컨텐트 및 상기 시그널링 컨텐트를 생성하는 것을 특징으로 하는 디바이스가 제공될 수 있다. According to another aspect of an embodiment of the present disclosure, in a second device receiving a packet in an MPEG Media Transport (MMT) format from a first device, a first packet, a second packet, and a signaling packet are transmitted from the first device. A communication unit receiving, a first processor that generates first content based on the first packet, a second processor that generates second content based on the second packet, and the first packet and the first packet based on the signaling packet A signaling processor that generates signaling content for a second packet, wherein the first processor, the second processor, and the signaling processor generate the first content, the second content, and the signaling content in parallel. A device as characterized may be provided.
상기 제1 프로세서, 상기 제2 프로세서 및 상기 시그널링 프로세서는, 상기 제1 프로세서가 상기 제1 컨텐트를 생성하는 동안, 상기 제2 프로세서 및 상기 시그널링 프로세서가 각각 상기 제2 컨텐트 및 상기 시그널링 컨텐트를 생성하는 것을 특징으로 할 수 있다. The first processor, the second processor, and the signaling processor, while the first processor generates the first content, the second processor and the signaling processor respectively generate the second content and the signaling content It can be characterized.
상기 제2 디바이스는, 미디어 데이터 복원기 및 파일 데이터 복원기를 더 포함하고, 상기 제1 패킷이 미디어 패킷인 경우, 상기 미디어 데이터 복원기가 소스 데이터를 생성하고, 상기 제1 패킷이 미디어 패킷이 아닌 경우, 상기 파일 데이터 복원기가 소스 데이터를 생성하여, 상기 소스 데이터를 기초로 컨텐트를 생성할 수 있다. The second device further includes a media data restorer and a file data restorer, wherein when the first packet is a media packet, the media data restorer generates source data, and the first packet is not a media packet , The file data restorer may generate source data to generate content based on the source data.
상기 제1 프로세서는 상기 제1 패킷을 저장하는 제1 버퍼를 더 포함하고, 상기 제2 프로세서는 상기 제2 패킷을 저장하는 제2 버퍼를 더 포함할 수 있다. The first processor may further include a first buffer for storing the first packet, and the second processor may further include a second buffer for storing the second packet.
상기 통신부가 수신하는, 상기 제1 패킷은 제 1 FEC 리페어 패킷 및 제 1 FEC 소스 패킷을 포함하고, 상기 제2 패킷은 제 2 FEC 리페어 패킷 및 제 2 FEC 소스 패킷을 포함하며, 상기 제1 FEC 소스 패킷 및 상기 제2 FEC 소스 패킷 내의 소스 패킷이 누락된 경우, 상기 제1 FEC 리페어 패킷에 기초하여 상기 제1 FEC 소스 패킷을 복원하는 제1 FEC 모듈 및 상기 제2 FEC 리페어 패킷에 기초하여 상기 제2 FEC 소스 패킷을 복원하는 제2 FEC 모듈을 더 포함할 수 있다. The first packet received by the communication unit includes a first FEC repair packet and a first FEC source packet, the second packet includes a second FEC repair packet and a second FEC source packet, and the first FEC When a source packet and a source packet in the second FEC source packet are missing, the first FEC module reconstructing the first FEC source packet based on the first FEC repair packet and the second FEC repair packet It may further include a second FEC module for restoring the second FEC source packet.
수신한 패킷이 복수개인 경우, 상기 수신한 패킷의 숫자에 기초하여, 병렬적으로 생성하는 컨텐트의 개수를 결정하는 제어부를 더 포함할 수 있다. When there are a plurality of received packets, the controller may further include a control unit that determines the number of contents to be generated in parallel based on the number of received packets.
본 개시의 일 실시예의 또 다른 측면에 따르면, 제1 디바이스가 MMT(MPEG Media Transport) 형식의 데이터를 제2 디바이스로 송신하는 방법에 있어서, 제1 컨텐트에 기초하여 제1 패킷을 생성하는 단계, 제2 컨텐트에 기초하여 제2 패킷을 생성하는 단계, 상기 제1 컨텐트 및 상기 제2 컨텐트에 기초하여 시그널링 패킷을 생성하는 단계, 상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 상기 제2 디바이스로 송신하는 단계를 포함하고, 상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 생성하는 단계를 병렬적으로 수행하는 데이터 송신 방법이 제공될 수 있다. According to another aspect of an embodiment of the present disclosure, in a method for transmitting data in an MPEG Media Transport (MMT) format to a second device by a first device, generating a first packet based on the first content, Generating a second packet based on a second content, generating a signaling packet based on the first content and the second content, the first packet, the second packet, and the signaling packet as the second A data transmission method comprising the step of transmitting to a device and performing the step of generating the first packet, the second packet, and the signaling packet in parallel may be provided.
상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 생성하는 단계는, 상기 제1 패킷을 생성하는 단계가 진행되는 동안, 상기 제2 패킷을 생성하는 단계 및 상기 시그널링 패킷을 생성하는 단계가 진행되는 것을 특징으로 할 수 있다. The generating of the first packet, the second packet, and the signaling packet may include generating the second packet while the generating the first packet is in progress, and the It may be characterized in that the step of generating the signaling packet is performed.
상기 제1 패킷을 생성하는 단계는, 상기 제1 컨텐트가 미디어 데이터를 포함하는 경우, 미디어 데이터 추출기(media data extractor)가 소스 데이터를 추출하고, 상기 제1 컨텐트가 미디어 데이터를 포함하지 않는 경우, 파일 데이터 추출기(file data extractor)가 소스 데이터를 추출하는 단계를 더 포함하고, 상기 추출한 소스 데이터를 기초로 상기 제1 패킷을 생성할 수 있다. The generating of the first packet may include, when the first content includes media data, a media data extractor extracts source data, and the first content does not include media data, The file data extractor may further include extracting source data, and may generate the first packet based on the extracted source data.
상기 제1 패킷 및 상기 제2 패킷을 생성하는 단계는, 제1 버퍼에 상기 제1 패킷을 저장하는 단계 및 제2 버퍼에 상기 제2 패킷을 저장하는 단계를 더 포함할 수 있다. The generating of the first packet and the second packet may further include storing the first packet in a first buffer and storing the second packet in a second buffer.
상기 제1 패킷을 생성하는 단계는, 상기 제1 패킷을 기초로 하여 제1 FEC 리페어 패킷 및 제1 FEC 소스 패킷을 생성하는 단계 및 상기 제1 FEC 리페어 패킷, 상기 제1 FEC 소스 패킷을 상기 제2 디바이스로 송신하는 단계를 더 포함할 수 있다. The generating of the first packet comprises generating a first FEC repair packet and a first FEC source packet based on the first packet, and the first FEC repair packet and the first FEC source packet. 2 devices It may further include transmitting.
송신할 컨텐트가 복수개인 경우, 상기 송신할 컨텐트의 숫자에 기초하여, 병렬적으로 생성하는 패킷의 개수를 결정하는 단계를 더 포함할 수 있다. When there are a plurality of contents to be transmitted, the step of determining the number of packets to be generated in parallel based on the number of contents to be transmitted may be further included.
본 개시의 일 실시예의 또 다른 측면에 따르면, 제1 디바이스로부터 제2 디바이스가 MMT(MPEG Media Transport) 형식의 데이터를 수신하는 방법에 있어서, 상기 제1 디바이스로부터 제1 패킷, 제2 패킷 및 시그널링 패킷을 수신하는 단계, 상기 제1 패킷에 기초하여 제1 컨텐트를 생성하는 단계, 상기 제2 패킷에 기초하여 제2 컨텐트를 생성하는 단계, 상기 시그널링 패킷에 기초하여 시그널링 컨텐트를 생성하는 단계를 포함하고, 상기 제1 컨텐트, 상기 제2 컨텐트 및 상기 시그널링 컨텐트를 생성하는 단계를 병렬적으로 수행하는 것을 특징으로 하는 데이터 수신 방법이 제공될 수 있다.According to another aspect of an embodiment of the present disclosure, in a method for a second device to receive MMT (MPEG Media Transport) data from a first device, a first packet, a second packet, and signaling from the first device Receiving a packet, generating first content based on the first packet, generating second content based on the second packet, generating signaling content based on the signaling packet And generating the first content, the second content, and the signaling content in parallel. A data receiving method may be provided.
상기 제1 컨텐트, 상기 제2 컨텐트 및 상기 시그널링 컨텐트를 생성하는 단계는, 상기 제1 컨텐트를 생성하는 동안, 상기 제2 컨텐트 및 상기 시그널링 컨텐트를 생성하는 것을 특징으로 할 수 있다. The generating of the first content, the second content, and the signaling content may include generating the second content and the signaling content while generating the first content.
상기 제1 컨텐트를 생성하는 단계는, 상기 수신한 제1 패킷이 미디어 패킷인 경우, 미디어 데이터 복원기가 소스 데이터를 생성하고, 상기 수신한 제1 패킷이 미디어 패킷이 아닌 경우, 파일 데이터 복원기가 소스 데이터를 생성하는 단계를 더 포함하고, 상기 소스 데이터를 기초로 상기 제1 컨텐트를 생성하는 것을 특징으로 할 수 있다. In the generating of the first content, when the received first packet is a media packet, a media data restorer generates source data, and when the received first packet is not a media packet, a file data restorer is a source The method may further include generating data, and generating the first content based on the source data.
상기 제1 컨텐트 및 상기 제2 컨텐트를 생성하는 단계는, 제1 버퍼에 상기 제1 패킷을 저장하는 단계 및 제2 버퍼에 상기 제2 패킷을 저장하는 단계를 더 포함할 수 있다. The generating of the first content and the second content may further include storing the first packet in a first buffer and storing the second packet in a second buffer.
상기 제1 디바이스로부터 제1 패킷, 제2 패킷 및 시그널링 패킷을 수신하는 단계에서, 상기 제1 패킷은 제1 FEC 리페어 패킷, 제1 FEC 소스 패킷을 포함하고, 상기 제2 패킷은 제2 FEC 리페어 패킷 및 제2 FEC 소스 패킷을 포함하며, 상기 제1 컨텐트컨텐트를 생성하는 단계는, 상기 제1 FEC 소스 패킷 내의 소스 패킷이 누락된 경우, 상기 제1 FEC 리페어 패킷에 기초하여 상기 제1 FEC 소스 패킷을 복원하는 단계를 더 포함할 수 있다. In the step of receiving a first packet, a second packet, and a signaling packet from the first device, the first packet includes a first FEC repair packet and a first FEC source packet, and the second packet is a second FEC repair packet. Including a packet and a second FEC source packet, the step of generating the first content content comprises: if a source packet in the first FEC source packet is missing, the first FEC source is based on the first FEC repair packet. It may further include the step of restoring the packet.
수신한 패킷이 복수개인 경우, 상기 수신한 패킷의 숫자에 기초하여, 병렬적으로 생성하는 컨텐트의 개수를 결정하는 것을 특징으로 할 수 있다. When there are a plurality of received packets, the number of contents to be generated in parallel may be determined based on the number of the received packets.
도1은 본 개시의 일 실시예에 따른 제1 디바이스와 제2 디바이스의 예를 도시한다.
도2는 본 개시의 일 실시예에 따른 제1 디바이스를 설명하기 위한 블록도이다.
도3은 본 개시의 일 실시예에 따라 제1 디바이스에서 컨텐트를 송신하는 방법을 나타낸 흐름도이다.
도4는 본 개시의 일 실시예에 따라 제1 디바이스에서 컨텐트를 기초로 패킷을 생성하는 방법을 자세히 나타낸 흐름도이다.
도5는 본 개시의 일 실시예에 따라 FEC 보호를 수행하고, FEC 보호된 패킷을 송신하는 제1 디바이스를 설명하기 위한 블록도이다.
도6은 본 개시의 일 실시예에 따라 제1 디바이스가 FEC 보호를 수행하면서 데이터를 송신하는 방법을 설명하기 위한 흐름도이다.
도7은 본 개시의 일 실시예에 따라 MMT 형식의 데이터를 송수신하는 제1 디바이스와 제2 디바이스의 계층 구조를 도시한다.
도8은 본 개시의 일 실시예에 따라 제1 디바이스가 하나의 컨텐트를 송신함에 있어서, 각 MMT 계층 구조에서 수행하는 일련의 프로세스를 도시한다.
도9는 본 발명의 다른 일 실시예에 따라 제1 디바이스가 두 개의 컨텐트를 병렬적으로 송신하는 프로세스를 도시한다.
도10은 본 개시의 일 실시예에 따라 제1 디바이스가 N개의 컨텐트를 송신함에 있어서, 각 MMT 계층 구조에서 수행하는 일련의 프로세스를 도시한다.
도11은 본 개시의 일 실시예에 따른 제2 디바이스를 설명하기 위한 블록도이다.
도12는 본 개시의 일 실시예에 따라 제2 디바이스가 패킷을 수신하는 방법을 나타낸 흐름도이다.
도13은 본 개시의 일 실시예에 따라 제2 디바이스가 하나의 패킷을 수신한 경우, 수신한 패킷을 기초로 컨텐트를 생성하는 방법을 자세히 나타낸 흐름도이다.
도14는 본 개시의 일 실시예에 따라 FEC 보호된 패킷을 수신하고, 수신한 FEC 패킷을 기초로 컨텐트를 생성하는 제2 디바이스를 설명하기 위한 블록도이다.
도15는 본 개시의 일 실시예에 따라 제2 디바이스가 FEC 보호된 패킷을 수신하고, 복원하는 방법을 설명하기 위한 흐름도이다.
도16은 본 개시의 일 실시예에 따라 제2 디바이스가 하나의 패킷을 수신하고, 수신된 패킷을 기초로 컨텐트를 생성함에 있어서, 각 MMT 계층 구조에서 수행하는 일련의 프로세스를 도시한다.
도17은 본 개시의 일 실시예에 따라 제2 디바이스가 복수의 패킷을 수신하고, 수신된 패킷들을 기초로 각각 컨텐트를 생성함에 있어서, 각 MMT 계층 구조에서 수행하는 일련의 프로세스를 도시한다.1 illustrates an example of a first device and a second device according to an embodiment of the present disclosure.
2 is a block diagram illustrating a first device according to an embodiment of the present disclosure.
3 is a flowchart illustrating a method of transmitting content in a first device according to an embodiment of the present disclosure.
4 is a detailed flowchart illustrating a method of generating a packet based on content in a first device according to an embodiment of the present disclosure.
5 is a block diagram illustrating a first device that performs FEC protection and transmits an FEC-protected packet according to an embodiment of the present disclosure.
6 is a flowchart illustrating a method of transmitting data while performing FEC protection by a first device according to an embodiment of the present disclosure.
7 illustrates a hierarchical structure of a first device and a second device that transmit and receive MMT format data according to an embodiment of the present disclosure.
8 illustrates a series of processes performed in each MMT hierarchical structure when a first device transmits one content according to an embodiment of the present disclosure.
9 illustrates a process for a first device to transmit two content in parallel according to another embodiment of the present invention.
10 illustrates a series of processes performed in each MMT hierarchical structure when a first device transmits N content according to an embodiment of the present disclosure.
11 is a block diagram illustrating a second device according to an embodiment of the present disclosure.
12 is a flowchart illustrating a method for a second device to receive a packet according to an embodiment of the present disclosure.
13 is a flowchart illustrating in detail a method of generating content based on the received packet when a second device receives one packet according to an embodiment of the present disclosure.
14 is a block diagram illustrating a second device receiving an FEC-protected packet and generating content based on the received FEC packet according to an embodiment of the present disclosure.
15 is a flowchart illustrating a method of receiving and restoring an FEC-protected packet by a second device according to an embodiment of the present disclosure.
16 illustrates a series of processes performed by each MMT hierarchical structure when a second device receives one packet and generates content based on the received packet according to an embodiment of the present disclosure.
FIG. 17 illustrates a series of processes performed by each MMT hierarchical structure when a second device receives a plurality of packets and generates content based on the received packets according to an embodiment of the present disclosure.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described later together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in a variety of different forms, and only these embodiments make the disclosure of the present invention complete, and are common knowledge in the technical field to which the present invention pertains. It is provided to completely inform the scope of the invention to those who have, and the invention is only defined by the scope of the claims.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다. The terms used in the present specification will be briefly described, and the present invention will be described in detail.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the present invention have been selected from general terms that are currently widely used while considering functions in the present invention, but this may vary depending on the intention or precedent of a technician working in the field, the emergence of new technologies, and the like. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning of the terms will be described in detail in the description of the corresponding invention. Therefore, the terms used in the present invention should be defined based on the meaning of the term and the overall contents of the present invention, not a simple name of the term.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.When a part of the specification is said to "include" a certain component, it means that other components may be further included rather than excluding other components unless otherwise stated. In addition, the term "unit" used in the specification refers to a hardware component such as software, FPGA, or ASIC, and "unit" performs certain roles. However, "unit" is not meant to be limited to software or hardware. The “unit” may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors. Thus, as an example, "unit" refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, Includes subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays and variables. The functions provided within the components and "units" may be combined into a smaller number of components and "units" or may be further separated into additional components and "units".
본 명세서에서 컨텐트는 문자, 음성, 영상 등의 다양한 정보형태가 통합되어 생성, 전달, 처리되도록 하는 시스템 및 서비스에서 활용되는 정보서비스 내용물, 나아가 디지털화된 모든 정보를 뜻한다. 또한 컨텐트는 데이터를 포함하는 정보의 집합이라고도 할 수 있다. 예를 들어 비디오 데이터, 오디오 데이터, 이미지, 텍스트 등이 컨텐트에 해당할 수 있다. In this specification, “content” refers to the contents of information services used in systems and services that integrate various types of information, such as text, audio, and video, to be generated, transmitted, and processed, as well as all digitized information. In addition, the content may be referred to as a set of information including data. For example, video data, audio data, images, text, and the like may correspond to content.
최근 ISO/IEC JTC1/SC29/WG11에서는 향후 UHDTV(Ultra-High-Definition TV)시대에 사용될 멀티미디어 부호화 표현 및 다중화 전달 표준인 MPEG-H를 표준화 중에 있다. MPEG-H는 기존 MPEG-1, MPEG-2, MPEG-3, MPEG-4 등의 체계와 유사하게 파트 1 시스템, 파트 2 비디오, 파트 3 오디오 등의 체계로 구성되어 한 세트의 표준으로 발간될 예정이다. "MMT(MPEG Media Transport)"는 MPEG-H 의 파트 1인 시스템을 의미하는 것으로 MPEG-2 TS(Transport Stream) 표준의 후속으로 MPEG에서 표준화 중인 차세대 멀티미디어 다중화 전달 표준을 말한다.In recent years, ISO/IEC JTC1/SC29/WG11 is standardizing MPEG-H, a multimedia encoding expression and multiplexing delivery standard to be used in the future UHDTV (Ultra-High-Definition TV) era. MPEG-H, similar to the existing MPEG-1, MPEG-2, MPEG-3, and MPEG-4 systems, consists of a system such as Part 1 System, Part 2 Video, and Part 3 Audio, and will be published as a set of standards. Is expected. “MMT (MPEG Media Transport)” refers to a system that is part 1 of MPEG-H and refers to a next-generation multimedia multiplexing delivery standard being standardized in MPEG following the MPEG-2 Transport Stream (TS) standard.
본 명세서에서 "MMT ADC"는 MMT Asset Delivery Characteristics의 약자로 MMT 애셋(MMT Asset)을 전송하기 위한 QoS 요구에 관련된 서술을 포함할 수 있다. In this specification, "MMT ADC" is an abbreviation of MMT Asset Delivery Characteristics and may include a description related to a QoS request for transmitting an MMT asset.
또한 본 명세서에서 "MMT CI"는 MMT Composition Information의 약자로, MMT 애셋 간의 공간적, 시간적 관계를 설명하는 정보를 의미할 수 있다. In addition, in the present specification, “MMT CI” is an abbreviation of MMT Composition Information, and may mean information describing a spatial and temporal relationship between MMT assets.
"MMT 애셋"은 동일한 MMT 애셋 ID와 함께 적어도 하나의 MPU로 구성되거나 또는 다른 표준에서 정의된 형식과 함께 특정 데이터 덩어리로 구성되는 논리적 데이터 객체를 의미할 수 있다. MMT 애셋은 동일한 MMT 컴포지션 정보 및 전송 특성이 적용되는 가장 큰 데이터 유닛을 포함할 수 있다. "MMT asset" may mean a logical data object composed of at least one MPU with the same MMT asset ID, or composed of a specific data chunk with a format defined in another standard. The MMT asset may include the largest data unit to which the same MMT composition information and transmission characteristics are applied.
"MPU"는 MMT Processing Unit의 약자로, 어떠한 특정 미디어 코덱에도 독립된 일반적인 컨테이너로 완전하고 독립적으로 처리될 수 있는 부호화된 미디어 데이터를 의미할 수 있다. “MPU” stands for MMT Processing Unit, and may mean encoded media data that can be completely and independently processed by a general container independent of any specific media codec.
"MMT 형식의 데이터"는 MMT 프로토콜에 의해 생성 또는 소비되는 데이터로 MMT 형식의 컨텐트를 포함할 수 있다. "MMT format data" is data generated or consumed by the MMT protocol and may include MMT format content.
"MMTP 패킷"은 MMT 프로토콜에 의해 생성 또는 소비되는 데이터의 형식화된 단위를 의미할 수 있다."MMTP packet" may mean a formatted unit of data generated or consumed by the MMT protocol.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present invention. In addition, in the drawings, parts not related to the description are omitted in order to clearly describe the present invention.
도 1은 본 개시의 일 실시예에 따른 제1 디바이스와 제2 디바이스의 예를 도시한다.1 illustrates an example of a first device and a second device according to an embodiment of the present disclosure.
본 개시의 일 실시예에 따라 MMT 형식의 데이터를 전송하는 디바이스는, MMT 형식의 데이터를 송신하는 제1 디바이스(100) 및 MMT 형식의 데이터를 수신하는 제2 디바이스(200)를 포함할 수 있다. A device that transmits MMT format data according to an embodiment of the present disclosure may include a
즉, 제1 디바이스(100)가 MMT 형식의 컨텐트를 제2 디바이스(200)로 송신하면, 제2 디바이스(200)는 제1 디바이스(100)가 송신한 컨텐트를 수신하고, 수신된 컨텐트를 디스플레이 할 수 있다.That is, when the
본 개시의 일 실시예에서 제1 디바이스(100)는 컨텐트로부터 소스 데이터를 추출하고, 추출된 소스 데이터에 부가 정보를 추가하여 MMTP 패킷을 생성한 후, 생성된 MMTP 패킷을 제2 디바이스(200)로 전송할 수 있다. In an embodiment of the present disclosure, the
제2 디바이스(200)는 제1 디바이스(100)로부터 MMTP 패킷을 수신하고, 수신된 MMTP 패킷에 기초하여 소스 데이터를 생성하며, 생성된 소스 데이터를 기초로 컨텐트를 생성할 수 있다. The
본 개시의 일 실시예에서 제1 디바이스(100) 및 제2 디바이스(200)는 MMT 어플리케이션 계층, MMT 프로토콜 계층, 전송 계층으로 이루어지는 MMT 계층 구조에 적합하게 설정될 수 있다.In an embodiment of the present disclosure, the
또한, 제1 디바이스(100) 및 제2 디바이스(200)는 유무선 네트워크로 연결될 수 있다. Also, the
도2는 본 개시의 일 실시예에 따른 제1 디바이스를 설명하기 위한 블록도이다. 2 is a block diagram illustrating a first device according to an embodiment of the present disclosure.
본 개시의 일 실시예에서 제1 디바이스(100)는 송신 디바이스일 수 있고, 제2 디바이스(200)는 수신 디바이스일 수 있다. In an embodiment of the present disclosure, the
본 개시의 일 실시예에서 제1 디바이스(100)는 제1 프로세서(110), 제2 프로세서(130), 시그널링 프로세서(150), 통신부(170)를 포함할 수 있다. In an embodiment of the present disclosure, the
종래에는 프로세서 하나가 모든 컨텐트를 처리하였으므로, 여러 컨텐트를 동시에 송신하는 경우, 컨텐트 간의 상호 작용 등으로 송신 품질이 저하되는 경우가 있었다. 일부 실시예에 따르면, 컨텐트 간의 상호 작용은 두 개 이상의 컨텐트가 전송 과정에서 서로 영향을 미쳐 전송 품질이 저하되는 현상을 의미할 수 있다.Conventionally, since one processor processed all the contents, when multiple contents are simultaneously transmitted, transmission quality may be degraded due to interactions between contents. According to some embodiments, the interaction between contents may mean a phenomenon in which two or more contents affect each other in a transmission process, resulting in a decrease in transmission quality.
본 발명은 제1 디바이스(100)가 적어도 하나의 컨텐트를 동시에 처리하는 경우, 적어도 하나의 프로세서가 독립적으로 각각 적어도 하나의 컨텐트를 처리함으로써, 컨텐트 간의 상호 작용을 방지할 수 있다.In the present invention, when the
일부 실시예에 따르면, 제 1 디바이스(100)의 프로세서의 개수는 동시에 처리하는 컨텐트의 개수에 대응될 수 있다.According to some embodiments, the number of processors of the
본 개시의 일 실시예에서, 제1 프로세서(110)는 제1 컨텐트에 기초하여 제1 패킷을 생성하고, 제2 프로세서(130)는 제2 컨텐트에 기초하여 제2 패킷을 생성하며, 시그널링 프로세서(150)는 제1 컨텐트 및 제2 컨텐트에 기초하여 시그널링 패킷을 생성할 수 있다.In an embodiment of the present disclosure, the
도 2의 실시예에서, 제1 프로세서(110), 제2 프로세서(130) 및 시그널링 프로세서(150)는 독립적으로 동작하여, 컨텐트 간의 상호 작용을 방지 할 수 있다. In the embodiment of FIG. 2, the
또한, 제1 프로세서(110), 제2 프로세서(130) 및 시그널링 프로세서(150)는 병렬적으로 동작할 수 있다. 제1 디바이스(100)에서 제1 프로세서(110), 제2 프로세서(130) 및 시그널링 프로세서(150)가 병렬적으로 동작한다는 의미는, 제1 프로세서(110)가 제1 컨텐트를 기초로 제1 패킷을 생성하는 동안, 제2 프로세서(130) 및 시그널링 프로세서(150)는 각각 제2 패킷 및 시그널링 패킷을 생성하는 동작을 포함할 수 있다. In addition, the
즉, 제1 프로세서(110), 제2 프로세서(130) 및 시그널링 프로세서(150)가 병렬적으로 동작한다는 의미는 제1 프로세서(110), 제2 프로세서(130) 및 시그널링 프로세서(150)가 각각 수행하는 작업의 전부 혹은 일부가 동시에 수행될 수 있음을 의미할 수 있다. That is, the meaning that the
도3은 본 개시의 일 실시예에 따라 제1 디바이스에서 컨텐트를 송신하는 방법을 나타낸 흐름도이다. 3 is a flowchart illustrating a method of transmitting content in a first device according to an embodiment of the present disclosure.
단계 S310에서, 제 1 디바이스는 제 1 컨텐트에 기초하여 제 1 패킷을 생성할 수 있다. 일부 실시예에 따르면 제1 디바이스는 제 1 프로세서를 이용하여 제1 컨텐트에 기초하여 제1 패킷을 생성할 수 있다. In step S310, the first device may generate a first packet based on the first content. According to some embodiments, the first device may generate the first packet based on the first content using the first processor.
일부 실시예에 따르면, 제 1 디바이스는 컨텐트를 분할하고, 적어도 하나의 헤더를 추가함으로써, 패킷을 생성할 수 있다. 패킷 내의 데이터는 소정 크기의 데이터를 포함할 수 있다. According to some embodiments, the first device may generate a packet by dividing the content and adding at least one header. The data in the packet may include data of a predetermined size.
일부 실시예에 따르면, 제 1 패킷은 MMT 형식의 패킷일 수 있다. 물론 상기 예시에 제한되지 않으며, 제 1 패킷은 다양한 프로토콜에 의한 다양한 형식의 패킷을 포함할 수 있다.According to some embodiments, the first packet may be an MMT format packet. Of course, it is not limited to the above example, and the first packet may include various types of packets according to various protocols.
단계 S330에서, 제 1 디바이스는 제 2 컨텐트에 기초하여 제2 패킷을 생성할 수 있다. 일부 실시예에 따르면 제1 디바이스는 제 2 프로세서를 이용하여 제2 컨텐트에 기초하여 제2 패킷을 생성할 수 있다.In step S330, the first device may generate a second packet based on the second content. According to some embodiments, the first device may generate a second packet based on the second content using the second processor.
일부 실시예에 따르면, 제 2 패킷은 MMT 형식의 패킷일 수 있다. 물론 상기 예시에 제한되지 않으며, 제 2 패킷은 다양한 프로토콜에 의한 다양한 형식의 패킷을 포함할 수 있다.According to some embodiments, the second packet may be an MMT format packet. Of course, it is not limited to the above example, and the second packet may include various types of packets according to various protocols.
단계 S350에서, 제1 디바이스(100)는 제1 컨텐트 및 제2 컨텐트에 기초하여 시그널링 패킷을 생성할 수 있다. 일부 실시예에 따르면 제1 디바이스는 시그널링 프로세서를 이용하여 제1 컨텐트 및 제2 컨텐트에 기초하여 시그널링 패킷을 생성할 수 있다. In step S350, the
시그널링 패킷은 제1 컨텐트 및 제2 컨텐트로부터 추출된 MMT ADC(MMT Asset Delivery Characteristics), MMT CI(MMT Composition Information) 등의 정보를 포함할 수 있다. 일부 실시예에 따르면, 단계 S310 내지 S350은 병렬적으로 수행될 수 있다. 일부 실시예에 따르면, 단계 S310이 수행되는 동안 단계 S330 및 단계 S350이 수행될 수 있다. 또한 일부 실시예에 따르면, 단계 S310이 수행되는 동안 단계 S330 및 단계 S350가 동시에 수행될 수 있다.The signaling packet may include information such as MMT ADC (MMT Asset Delivery Characteristics) and MMT CI (MMT Composition Information) extracted from the first content and the second content. According to some embodiments, steps S310 to S350 may be performed in parallel. According to some embodiments, steps S330 and S350 may be performed while step S310 is performed. Also, according to some embodiments, steps S330 and S350 may be simultaneously performed while step S310 is performed.
단계 S370에서, 제1 디바이스는 제1 패킷, 제2 패킷 및 시그널링 패킷을 제2 디바이스로 송신할 수 있다. In step S370, the first device may transmit the first packet, the second packet, and the signaling packet to the second device.
일부 실시예에 따르면, 제1 디바이스는 통신부를 이용하여 제1 패킷, 제2 패킷 및 시그널링 패킷을 제2 디바이스로 송신할 수 있다.According to some embodiments, the first device may transmit the first packet, the second packet, and the signaling packet to the second device using the communication unit.
일부 실시예에 따르면, 제1 프로세서(110)가 제1 컨텐트에 기초하여 제1 패킷을 생성하는 단계(S310), 제2 프로세서(130)가 제2 컨텐트에 기초하여 제2 패킷을 생성하는 단계(S330), 시그널링 프로세서(150)가 제1 컨텐트 및 제2 컨텐트에 기초하여 시그널링 패킷을 생성하는 단계(S350)가 병렬적으로 진행되고, 통신부(170)는 S310, S330, S350에서 생성한 패킷을 제2 디바이스(200)로 송신하는 단계(S370)를 수행할 수 있다. According to some embodiments, the
본 발명의 다른 일 실시예에서는 송신할 패킷의 수가 N개이고, 프로세서도 N개가 존재하여 N개의 패킷 생성과, 시그널링 패킷 생성이 병렬적으로 수행될 수 있다. In another embodiment of the present invention, the number of packets to be transmitted is N, and there are N processors, so that N packets and signaling packets may be generated in parallel.
도4는 본 개시의 일 실시예에 따라 제1 디바이스에서 컨텐트를 기초로 패킷을 생성하는 방법을 자세히 나타낸 흐름도이다. 여기서 컨텐트는 제1 컨텐트 또는 제2 컨텐트 중 하나일 수 있다.4 is a detailed flowchart illustrating a method of generating a packet based on content in a first device according to an embodiment of the present disclosure. Here, the content may be one of first content or second content.
도2를 참조하면, 제1 디바이스(100)는 컨텐트를 기초로 MMT 프로토콜에 따라 MMTP 패킷을 생성할 수 있다. Referring to FIG. 2, the
일부 실시예에 따르면, MMT 패킷은 아래의 단계를 통해 생성될 수 있다. According to some embodiments, the MMT packet may be generated through the following steps.
단계 S410에서, 제1 디바이스(100)는 컨텐트가 미디어 데이터 인지 판단하는 단계(S410)를 수행할 수 있다. 제 1 디바이스(100)는 컨텐트가 어떤 특정 구조의 MPU를 가진 파일 인지 여부를 확인할 수 있는데, MPU는 앞에서 정의한 MMT 프로세싱 유닛을 포함할 수 있다. 제1 디바이스(100)는 컨텐트가 어떤 특정 구조의 MPU를 가진 파일인 경우 해당 컨텐츠를 미디어 데이터로 판단할 수 있다. In step S410, the
단계 S450에서, 컨텐트가 미디어 데이터인지의 판단 결과에 기초하여, 미디어 데이터인 경우, 제 1 디바이스는 미디어 데이터 추출기(Media data extractor)(830)를 이용하여 소스 데이터 즉, MPU를 추출할 수 있다.In step S450, based on a result of determining whether the content is media data, if the content is media data, the first device may extract source data, that is, MPU, using a
단계 S430에서, 컨텐트가 미디어 데이터인지의 판단 결과에 기초하여, 미디어 데이터가 아닌 모든 경우에는, 제 1 디바이스는 파일 데이터 추출기(File data extractor)(810)를 이용하여 소스 데이터를 추출할 수 있다. In step S430, based on a result of determining whether the content is media data, in all cases other than media data, the first device may extract the source data using a
일부 실시예에 따르면, 미디어 데이터 추출기 및 파일 데이터 추출기는 제1 프로세서에 포함될 수도 있다. According to some embodiments, the media data extractor and the file data extractor may be included in the first processor.
단계 S470에서, 제1 디바이스(100)는 미디어 데이터 추출기(830) 또는 파일 데이터 추출기(810)로 추출한 소스 데이터를 패킷화 함으로써, 패킷을 생성할 수 있다. 일부 실시예에 따르면, 단계 S470은 제 1 디바이스가 포함하는 적어도 하나의 프로세서에 의해 수행될 수 있다.In step S470, the
일부 실시예에 따르면 도 4의 각 단계는 복수의 컨텐트를 동시에 전송하려는 경우에도 적용될 수 있다. 즉, 각 컨텐트에 기초하여 복수의 패킷을 생성할 때, 각각의 패킷이 도 4의 각 단계에 기초하여 생성될 수 있다. According to some embodiments, each step of FIG. 4 may be applied even when a plurality of contents are to be transmitted simultaneously. That is, when generating a plurality of packets based on each content, each packet may be generated based on each step of FIG. 4.
또한, 일부 실시예에 따르면, 미디어 데이터 추출기(830)와 파일 데이터 추출기(810)가 하나의 추출기 내에 포함될 수 있다. 즉, 하나의 데이터 추출기가 미디어 데이터와 미디어 데이터를 구분하지 않고 소스 데이터를 추출할 수도 있다. Also, according to some embodiments, the
도5는 본 개시의 일 실시예에 따라 FEC 보호를 수행하고, FEC 보호된 패킷을 송신하는 제1 디바이스를 설명하기 위한 블록도이다. 5 is a block diagram illustrating a first device that performs FEC protection and transmits an FEC-protected packet according to an embodiment of the present disclosure.
제 1 디바이스(100)가 송신하는 MMTP 패킷은 제 2 디바이스(200)로 송신될 수 있다. 다만, 송신되는 동안 신호의 페이딩, 간섭 등의 영향으로 MMT 패킷에 오류가 발생할 수 있다. The MMTP packet transmitted by the
본 개시의 일부 실시예에서, 패킷의 오류라 함은 패킷의 에러 또는 손실을 포함할 수 있다. 패킷의 오류가 발생할 경우를 대비하여, 오류가 발생한 패킷을 복구하기 위한 다양한 오류 정정 방식이 사용될 수 있다. In some embodiments of the present disclosure, an error in a packet may include an error or loss in a packet. In preparation for a case of a packet error, various error correction methods may be used to recover a packet in which an error occurs.
본 개시의 일부 실시예에 따르면, 제 1 디바이스(100) 및 제 2 디바이스(200)는 오류 정정을 위해 FEC(Forward Error Correction) 방식을 사용할 수 있다. 다만, 상기 예시에 제한되지 않으며, ARQ(Automatic Repeat reQuest) 방식 등 다양한 보호 방식이 사용될 수 있다. According to some embodiments of the present disclosure, the
일부 실시예에 따르면, 제 1 디바이스는 FEC 모듈을 더 포함할 수 있다. According to some embodiments, the first device may further include an FEC module.
일부 실시예에 따르면, 제1 디바이스(100)는 제1 MMTP 패킷을 기초로 제1 FEC 코드를 이용하여 제1 FEC 소스 패킷 및 제1 FEC 리페어 패킷을 생성하는, 제1 FEC 모듈(530) 및 제2 MMTP 패킷을 기초로, 제2 FEC 코드를 이용하여 제2 FEC 소스 패킷 및 제2 FEC 리페어 패킷을 생성하는, 제2 FEC 모듈(570)을 더 포함할 수 있다. According to some embodiments, the
여기서 FEC 코드란 자기 스스로 에러의 검출과 정정을 수행하는 착오정정부호를 의미할 수 있다. Here, the FEC code may mean an error correction code that detects and corrects errors by itself.
상기 실시예에서, 제1 FEC 모듈(530) 및 제2 FEC 모듈(570)은 서로 독립되어 컨텐트 간의 상호작용이 발생하지 않을 수 있다. 이 때, FEC 소스 패킷은 소스 데이터를 기초로 생성되는 패킷이며, FEC 리페어 패킷은 소스 데이터를 기초로 향후 패킷에 오류가 발생한 경우 오류를 정정하기 위한 데이터를 포함하고 있는 패킷을 말한다. In the above embodiment, since the
일부 실시예에 따르면, 오류가 발생하였으나, 리페어 패킷으로 복구가 불가능한 오류라고 판단되는 경우 제2 디바이스는 제 1 디바이스에게 재전송을 요청할 수 있다.According to some embodiments, when an error has occurred but it is determined that the error cannot be recovered as a repair packet, the second device may request retransmission from the first device.
일부 실시예에 따르면, 통신부(170)는 MMTP 패킷을 기초로 생성된 FEC 소스 패킷 및 FEC 리페어 패킷을 제2 디바이스(200)로 송신할 수 있다. According to some embodiments, the
도6은 본 개시의 일 실시예에 따라 제1 디바이스가 FEC 보호를 수행하면서 데이터를 송신하는 방법을 설명하기 위한 흐름도이다. 6 is a flowchart illustrating a method of transmitting data while performing FEC protection by a first device according to an embodiment of the present disclosure.
단계 S610에서, 제 1 디바이스(100)는 컨텐트를 기초로 MMTP 패킷을 생성한다. 일부 실시예에 따르면, 제 1 디바이스(100)가 포함하는 적어도 하나의 프로세서는 각각 컨텐트를 기초로 MMTP 패킷을 생성할 수 있다.In step S610, the
상술한 바와 같이, 제 1 디바이스(100)는, 컨텐트로부터 소스 데이터를 추출하고, 추출한 소스 데이터를 기초로 패킷을 생성할 수 있다. 일부 실시예에 따르면, 단계 S630에서, 제 1 디바이스(100)는 생성된 MMTP 패킷에 기초하여 리페어 페이로드 식별자를 가진 리페어 심볼 및 소스 FEC 페이로드 식별자를 생성할 수 있다. As described above, the
단계 S650에서, 제 1 디바이스(100)는 리페어 페이로드 식별자를 가진 리페어 심볼 및 소스 FEC 페이로드 식별자를 이용하여 FEC 리페어 패킷도 생성할 수 있다. In step S650, the
리페어 패킷은 패킷에 오류 발생시 오류가 발생한 패킷을 복구하는데 사용되는 패킷을 의미하는데, 당업자에게 자명하므로, 자세한 설명은 생략한다.The repair packet refers to a packet used to recover a packet in which an error occurs when an error occurs in a packet. Since it is obvious to a person skilled in the art, a detailed description will be omitted.
단계 S670에서, 통신부(170)는 FEC 모듈에서 생성된 FEC 소스 패킷 및 FEC 리페어 패킷을 제2 디바이스(200)로 송신할 수 있다. In operation S670, the
도7은 본 개시의 일 실시예에 따라 MMT 형식의 데이터를 송수신하는 제1 디바이스(100)와 제2 디바이스(200)의 계층 구조를 도시한다.7 illustrates a hierarchical structure of a
본 개시에서, MMT 계층 구조는 논리적 구조를 포함할 수 있다. 계층 구조는 정의된 프로토콜에 의해 분화된 네트워크의 모델, 구조를 의미할 수 있으며, 각각의 계층에서의 수행되어야 하는 동작을 본 개시의 디바이스 내의 구성요소가 수행할 수 있다. In this disclosure, the MMT hierarchical structure may include a logical structure. The hierarchical structure may mean a model and structure of a network differentiated by a defined protocol, and an operation to be performed in each layer may be performed by a component in the device of the present disclosure.
일부 실시예에 따르면, 제1 디바이스(100)의 MMT 계층 구조(MMT architecture)는 MMT 어플리케이션 계층(710), MMT 프로토콜 계층(730) 및 전송 계층(750)을 포함할 수 있다. According to some embodiments, the MMT layer structure (MMT architecture) of the
일부 실시예에 따르면, 제2 디바이스(200)의 MMT 계층 구조(MMT architecture)도 MMT 어플리케이션 계층(770), MMT 프로토콜 계층(780) 및 전송 계층(790)을 포함할 수 있다. According to some embodiments, an MMT layer structure (MMT architecture) of the
제1 디바이스(100)의 전송 계층(750)과 제2 디바이스(200)의 전송 계층(790)은 데이터 채널로 연결될 수 있다. The
일부 실시예에 따르면, 제1 디바이스(100)의 MMT 어플리케이션 계층(710)에서는 컨텐트에 기초하여 소스 데이터를 추출하는 작업이 수행될 수 있고, MMT 프로토콜 계층(730)에서는 추출된 소스 데이터를 기초로 패킷을 생성하는 작업이 수행될 수 있으며, 전송 계층(750)에서는 MMT 프로토콜 계층(730)에서 생성된 패킷을 제2 디바이스(200)로 송신하는 작업이 수행될 수 있다.According to some embodiments, the
일부 실시예에 따르면, 제2 디바이스(200)의 전송 계층(790)에서는 제1 디바이스(100)로부터 패킷을 수신하는 작업이 수행될 수 있고, MMT 프로토콜 계층(780)에서는 수신된 패킷을 기초로 소스 데이터를 생성하는 작업이 수행될 수 있으며, MMT 어플리케이션 계층(770)에서는 소스 데이터에 기초하여 컨텐트를 복원하는 작업이 수행될 수 있다. According to some embodiments, an operation of receiving a packet from the
도8은 본 개시의 일 실시예에 따라 제1 디바이스(100)가 하나의 컨텐트를 송신함에 있어서, 각 MMT 계층 구조에서 수행하는 프로세스를 도시한다. 8 illustrates a process performed in each MMT hierarchical structure when the
일부 실시예에 따르면, MMT 어플리케이션 계층(710)에서는, 컨텐트에 기초하여 소스 데이터를 추출하는 작업이 이루어 질 수 있다. According to some embodiments, in the
일부 실시예에 따르면, 컨텐트가 미디어 데이터인 경우, 미디어 데이터 추출기(Media data extractor)(830)로 소스 데이터를 추출하고, 컨텐트가 미디어 데이터가 아닌 모든 경우에는, 파일 데이터 추출기(File data extractor)(810)로 소스 데이터를 추출할 수 있다.According to some embodiments, when the content is media data, source data is extracted with a
MMT 어플리케이션 계층(710)에서 컨텐트에 기초하여 소스 데이터를 추출하는 과정은 도4에서 설명한 내용과 대응될 수 있다. The process of extracting source data based on content in the
추출된 소스 데이터를 기초로 패킷을 생성하는 작업은 MMT 프로토콜 계층(730)에서 이루어 질 수 있다. The operation of generating a packet based on the extracted source data may be performed in the
일부 실시예에 따르면, 프로세서(850)는MMT 어플리케이션 계층(710)에서 추출한 소스 데이터에 정보를 부가하여 패킷화 할 수 있다. 이 때, MMTP 패킷이 생성될 수 있다. According to some embodiments, the
시그널링 프로세서(150)는 컨텐트로부터 MMT ADC, MMT CI 등의 정보를 추출하여 시그널링 패킷을 생성할 수 있다. The signaling
일부 실시예에 따르면, 시그널링 메시지는 제1 디바이스(100)가 제2 디바이스(200)로 송신할 수 있지만, 제2 디바이스(200)가 제1 디바이스(100)로 송신할 수도 있다.According to some embodiments, the
또한 일부 실시예에 따르면, 제2 디바이스(200)가 시그널링 메시지를 제1 디바이스(100)로 송신하는 경우, 제2 디바이스(200)로부터 송신된 시그널링 패킷을 제1 디바이스(100)가 수신하여 제1 디바이스(100)의 시그널링 프로세서(150)가 시그널링 패킷의 언패킷화를 수행할 수도 있다. In addition, according to some embodiments, when the
MMT 프로토콜 계층(730)에서 생성된 패킷은 전송 계층(750)에서 제2 디바이스(200)로 송신될 수 있다.The packet generated by the
MMTP 패킷 전송을 위한 전송 계층(750)의 설정은 시그널링 패킷 전송을 위한 전송 계층(750)의 설정과는 상이할 수 있다. 예를 들어, 잡음이 많은 채널에서 데이터를 전송하는 경우, 시그널링 메시지는 TCP 프로토콜의 top에서 전송되는 반면, MMT 패킷은 FEC 인코딩 수행 후 UDP 프로토콜의 top에서 전송될 수 있다. The setting of the
도9는 본 발명의 다른 일 실시예에 따라 제1 디바이스(100)가 두 개의 컨텐트를 병렬적으로 송신하는 프로세스를 도시한다. 9 shows a process of transmitting two content in parallel by the
일부 실시예에 따르면, 제1 프로세서(110)는 제1 컨텐트를 기초로 생성한 제1 MMTP 패킷을 제1 버퍼(950)에 임시로 저장할 수 있다. 또한 제2 프로세서(130)는 제2 컨텐트를 기초로 생성한 제2 MMTP 패킷을 제2 버퍼(970)에 임시로 저장할 수 있다.According to some embodiments, the
일부 실시예에 따르면, 제1 프로세서(110) 및 제2 프로세서(130)가 제1 MMTP 패킷 및 제2 MMTP 패킷을 생성하고, 생성한 제1 MMTP 패킷 및 제2 MMTP 패킷을 제1 버퍼(950) 및 제2 버퍼(970)에 저장하는 작업은 MMT 프로토콜 계층(730)에서 수행될 수 있다. According to some embodiments, the
일부 실시예에서 제1 프로세서(110)와 제1 버퍼(950)에 의해 이루어지는 일련의 동작을 포함하는 제1 프로세스와 제2 프로세서(130)와 제2 버퍼(970)에 의해 이루어지는 일련의 동작을 포함하는 제2 프로세스는 각각 독립적으로 존재할 수 있다.In some embodiments, a first process including a series of operations performed by the
일부 실시예에 따르면, 제1 프로세서(110)는 제1 버퍼(950)를 포함하고, 제2 프로세서(130)는 제2 버퍼(970)를 포함할 수 있다. According to some embodiments, the
일부 실시예에서, 제1 컨텐트에 기초하여 제1 MMTP 패킷을 생성하는 단계와 병렬적으로, 제2 컨텐트에 기초하여 제2 패킷을 생성하는 단계 및 제1 컨텐트 및 제2 컨텐트에 기초하여 시그널링 패킷을 생성하는 단계는 도3의 설명과 대응될 수 있다. In some embodiments, in parallel with generating the first MMTP packet based on the first content, generating a second packet based on the second content and a signaling packet based on the first content and the second content The step of generating may correspond to the description of FIG. 3.
도10은 본 개시의 일 실시예에 따라 제1 디바이스(100)가 N개의 컨텐트를 송신함에 있어서, 각 MMT 계층 구조에서 수행하는 일련의 프로세스를 도시한다. 10 illustrates a series of processes performed in each MMT hierarchical structure when the
일부 실시예에 따르면, 제1 디바이스(100)는 송신하려는 컨텐트의 개수와 동일한 수의 프로세서, 버퍼 및 FEC 모듈을 동적으로 할당할 수 있다. According to some embodiments, the
일부 실시예에 따르면, 제1 디바이스(100)는 제1 컨텐트에 기초하여 제1 MMTP 패킷을 생성하고, 생성된 패킷을 제1 버퍼(950)에 저장할 수 있으며, 제1 FEC 모듈(530)에서 FEC 코드를 이용하여 FEC 소스 패킷 및 FEC 리페어 패킷을 생성할 수 있다. 일부 실시예에서, FEC 소스 패킷 및 FEC 리페어 패킷을 생성하는 과정은 도6의 과정과 대응될 수 있다. 또한 제1 디바이스(100)는 제2 컨텐트에 기초하여 제2 MMTP 패킷을 생성하고, 생성된 패킷을 제2 버퍼(970)에 저장할 수 있으며, 제2 FEC 모듈(570)에서 FEC 코드를 이용하여 FEC 소스 패킷 및 FEC 리페어 패킷을 생성할 수 있다. According to some embodiments, the
동일한 패킷화 과정이 컨텐트의 개수만큼 진행되어, 제1 디바이스(100)는 제N 컨텐트에 기초하여 제N MMTP 패킷을 생성하고, 생성된 패킷을 제N 버퍼(1060)에 저장하였다가, 제N FEC 모듈(1090)에서 FEC 코드를 이용하여 FEC 소스 패킷 및 FEC 리페어 패킷을 생성할 수 있다.The same packetization process is performed as many times as the number of contents, and the
각 컨텐트의 처리 과정은 병렬적으로 진행될 수 있지만, 동시에 진행되는 부분이 있더라도 상호 작용하지 않고 독립적으로 수행될 수 있다.The process of processing each content may be performed in parallel, but may be performed independently without interaction even if there are parts that are simultaneously performed.
전송 계층(750)은 제1 FEC 소스 패킷 내지 제 N FEC 소스 패킷 및 제1 FEC 리페어 패킷 내지 제 N FEC 리페어 패킷을 제2 디바이스(200)로 송신할 수 있다. The
다만 제 1 디바이스(100)와 제 2 디바이스(200)가 FEC 인코딩 및 디코딩을 수행하지 않는 경우에, 전송 계층(750)은 제1 MMTP 패킷, 제2 MMTP 패킷
제N MMTP 패킷을 제2 디바이스(200)로 송신할 수 있다.However, when the
도11은 본 개시의 일 실시예에 따른 제2 디바이스를 설명하기 위한 블록도이다. 11 is a block diagram illustrating a second device according to an embodiment of the present disclosure.
본 개시의 일 실시예에서 제2 디바이스(200)는 제1 프로세서(1110), 제2 프로세서(1130), 시그널링 프로세서(1150) 및 통신부(1170)를 포함할 수 있다. In an embodiment of the present disclosure, the
도11을 참조하면, 제1 프로세서(1110)가 제1 패킷에 기초하여 제1 컨텐트를 생성하고, 제2 프로세서(1130)가 제2 패킷에 기초하여 제2 컨텐트를 생성하며, 시그널링 프로세서(1150)는 시그널링 패킷에 기초하여 시그널링 컨텐트를 생성할 수 있다.Referring to FIG. 11, a
도 11를 참조하면, 제1 프로세서(1110), 제2 프로세서(1130) 및 시그널링 프로세서(1150)는 서로 독립적으로 동작하여, 컨텐트 간의 상호 작용을 방지할 수 있다. Referring to FIG. 11, the
또한, 제1 프로세서(1110), 제2 프로세서(1130) 및 시그널링 프로세서(1150)는 병렬적으로 동작할 수 있다. 제1 프로세서(1110), 제2 프로세서(1130) 및 시그널링 프로세서(1150)가 병렬적으로 동작한다는 의미는, 제1 프로세서(1110)가 제1 패킷을 기초로 제1 컨텐트를 생성하는 동안, 제2 프로세서(1130) 및 시그널링 프로세서(1150)는 각각 제2 컨텐트 및 시그널링 컨텐트를 생성하는 것을 포함할 수 있다. Also, the
즉, 제1 프로세서(1110), 제2 프로세서(1130) 및 시그널링 프로세서(1150)의 작업의 전부 혹은 일부가 동시에 수행될 수 있다. That is, all or part of the tasks of the
도12는 본 개시의 일 실시예에 따라 제2 디바이스가 패킷을 수신하는 방법을 나타낸 흐름도이다.12 is a flowchart illustrating a method for a second device to receive a packet according to an embodiment of the present disclosure.
단계 S1210에서, 제2 디바이스(200)는 제1 패킷, 제2 패킷 및 시그널링 패킷을 수신할 수 있다. 일부 실시예에 따르면 제2 디바이스(200)는 통신부를 이용하여 제1 패킷, 제2 패킷 및 시그널링 패킷을 수신할 수 있다.In operation S1210, the
일부 실시예에서, 제1 패킷은 제1 FCE 소스 패킷 및 제1 FEC 리페어 패킷을 포함할 수 있고, 제2 패킷은 제2 FCE 소스 패킷 및 제2 FEC 리페어 패킷을 포함할 수 있다. In some embodiments, the first packet may include a first FCE source packet and a first FEC repair packet, and the second packet may include a second FCE source packet and a second FEC repair packet.
단계 S1230에서, 제2 디바이스(200)는 제1 패킷을 기초로 제1 컨텐트를 생성할 수 있다. 일부 실시예에서, 제2 디바이스(200)는 제1 프로세서(1110)를 이용하여 제1 패킷을 기초로 제1 컨텐트를 생성할 수 있다.In operation S1230, the
단계 S1250에서, 제2 디바이스(200)는 제2 패킷을 기초로 제2 컨텐트를 생성할 수 있다. 일부 실시예에서, 제2 디바이스(200)는 제2 프로세서(1130)를 이용하여 제2 패킷을 기초로 제2 컨텐트를 생성할 수 있다.In operation S1250, the
단계 S1270에서, 제2 디바이스(200)는 시그널링 패킷을 기초로 시그널링 컨텐트를 생성할 수 있다. 일부 실시예에서, 제2 디바이스(200)는 시그널링 프로세서(1150)를 이용하여 시그널링 패킷을 기초로 시그널링 컨텐트를 생성할 수 있다.In operation S1270, the
일부 실시예에 따르면, 단계 S1230 내지 S1270은 병렬적으로 수행될 수 있다. 일부 실시예에 따르면, 단계 S1230이 수행되는 동안 단계 S1250 및 단계 S1270이 수행될 수 있다. 또한 일부 실시예에 따르면, 단계 S1230이 수행되는 동안 단계 S1250 및 단계 S1270이 동시에 수행될 수 있다.According to some embodiments, steps S1230 to S1270 may be performed in parallel. According to some embodiments, steps S1250 and S1270 may be performed while step S1230 is performed. Further, according to some embodiments, while step S1230 is performed, step S1250 and step S1270 may be performed simultaneously.
일부 실시예에 따르면, 통신부(1170)는 제1 디바이스(100)로부터 패킷을 수신할 수 있다(S1210).According to some embodiments, the
수신한 패킷이 두 개인 경우, 제2 디바이스(200)는 제1 패킷에 기초하여 제1 컨텐트를 생성하는 단계(S1230), 제2 패킷에 기초하여 제2 컨텐트를 생성하는 단계(S1250), 시그널링 패킷에 기초하여 시그널링 컨텐트를 생성하는 단계(S1270)를 병렬적으로 수행할 수 있다. If there are two received packets, the
다른 일 실시예에서 수신한 패킷이 N 개인 경우, 제2 디바이스(200)는 컨텐트 생성 단계 N개 및 시그널링 컨텐트 생성 단계를 병렬적으로 수행할 수 있다. In another embodiment, when there are N packets received, the
도13은 본 개시의 일 실시예에 따라 제2 디바이스가 하나의 패킷을 수신한 경우, 수신한 패킷을 기초로 컨텐트를 생성하는 방법을 자세히 나타낸 흐름도이다.13 is a flowchart illustrating in detail a method of generating content based on the received packet when a second device receives one packet according to an embodiment of the present disclosure.
단계 S1310에서, 제2 디바이스(200)는 패킷이 미디어 데이터 인지 판단할 수 있다. 일부 실시예에 따르면 제2 디바이스(200)는 패킷이 어떤 특정 구조의 MPU를 가진 패킷인지 여부를 확인함으로써, 패킷이 미디어 데이터인지 여부를 판단할 수 있다. In step S1310, the
단계 S1350에서, 제2 디바이스(200)는 수신한 패킷이 어떤 특정 구조의 MPU를 가진 미디어 데이터인 경우, 제2 디바이스(200)가 포함하는 미디어 데이터 복원기(1650)로 소스 데이터 즉, MPU를 복원할 수 있다.In step S1350, when the received packet is media data having an MPU having a specific structure, the
단계 S1370에서, 수신한 패킷이 어떤 특정 구조의 MPU를 가진 미디어 데이터가 아닌 모든 경우에, 제2 디바이스(200)는 파일 데이터 복원기(1640)로 소스 데이터를 복원할 수 있다. In step S1370, in all cases where the received packet is not media data having an MPU of a certain specific structure, the
일부 실시예에 따르면, 미디어 데이터 복원기(1650) 및 파일 데이터 복원기(1640)는 제1 프로세서(1110)에 포함될 수 있다. According to some embodiments, the
단계 1390에서, 제2 디바이스(200)는 미디어 데이터 복원기(1650) 또는 파일 데이터 복원기(1640)로 추출한 소스 데이터를 기초로 컨텐트를 생성할 수 있다. In operation 1390, the
제 2 디바이스(200)가 소스 데이터를 기초로 컨텐트를 생성한다는 의미는, 수신된 소스 데이터를 기초로 제 1 디바이스(100)가 송신한 컨텐트를 복원 또는 재조립하는 것을 의미할 수 있다. 즉, 제 2 디바이스(200)가 수신된 소스 데이터를 기초로 생성한 컨텐트는 제 1 디바이스(100)가 송신한 컨텐트와 동일하거나, 상이할 수 있다.The meaning that the
일부 실시예에 따르면, 단계 S1390은 제 2 디바이스(200)가 포함하는 적어도 하나의 프로세서에 의해 수행될 수 있다.According to some embodiments, step S1390 may be performed by at least one processor included in the
일부 실시예에 따르면 도13의 각 단계는 복수의 패킷을 동시에 수신하는 경우에도 적용될 수 있다. 즉, 각 패킷에 기초하여 복수의 컨텐트를 생성할 때, 각각의 컨텐트가 도13의 각 단계에 기초하여 생성될 수 있다. According to some embodiments, each step of FIG. 13 may be applied even when a plurality of packets are simultaneously received. That is, when generating a plurality of content based on each packet, each content may be generated based on each step of FIG. 13.
또한, 일부 실시예에 따르면, 미디어 데이터와 미디어 데이터가 아닌 그 밖의 데이터를 구분하지 않고, 하나의 복원기로 소스 데이터를 복원할 수 있다. 즉, 미디어 데이터 복원기(1650)와 파일 데이터 복원기(1640)가 하나의 복원기 내에 포함될 수 있다.In addition, according to some embodiments, source data may be restored with a single restorer without discriminating between media data and data other than media data. That is, the
도14는 본 개시의 일 실시예에 따라 FEC 보호된 패킷을 수신하고, 수신한 FEC 패킷을 기초로 컨텐트를 생성하는 제2 디바이스(200)를 설명하기 위한 블록도이다.14 is a block diagram illustrating a
제1 디바이스(100)로부터 제2 디바이스(200)로 송신된 패킷은 제 2 디바이스(200)에서 수신되는 동안 오류가 발생할 수 있다. An error may occur while a packet transmitted from the
패킷에 오류가 발생한 경우, 오류를 복구하기 위해 다양한 오류 정정 방식을 이용하여 패킷을 생성할 수 있다. 일부 실시예에 따르면, 제 1 디바이스(100)는 FEC(Forward Error correction) 방식을 이용하여 제 1 패킷 및 제 2 패킷을 생성하여, 생성된 패킷들을 제 2 디바이스(200)로 송신할 수 있다. 제 2 디바이스(200)는 제 1 디바이스(100)로부터 제 1 패킷 및 제 2 패킷을 수신할 수 있는데, 제1 패킷은 제1 FEC 소스 패킷 및 제1 FEC 리페어 패킷을 포함할 수 있고, 제2 패킷은 제2 FEC 소스 패킷 및 제2 FEC 리페어 패킷을 포함할 수 있다.When an error occurs in a packet, a packet can be generated using various error correction methods to recover the error. According to some embodiments, the
도11를 참조하면, 제2 디바이스(200)가 제1 디바이스(100)로부터 두 개의 컨텐트에 대한 패킷을 수신하여 병렬적으로 처리할 때, 제2 디바이스(200)는 손실된 제1 FEC 소스 패킷을 복원하여 제1 MMTP 패킷을 생성하기 위한 제1 FEC 모듈(1410) 및 손실된 제2 FEC 소스 패킷을 복원하여 제2 MMTP 패킷을 생성하기 위한 제2 FEC 모듈(1430)을 더 포함할 수 있다. Referring to FIG. 11, when the
상기 실시예에서, 제1 FEC 모듈(1410) 및 제2 FEC 모듈(1430)은 서로 독립되어 컨텐트 간의 상호 작용이 발생하지 않을 수 있다. In the above embodiment, since the
일부 실시예에 따르면, FEC 소스 패킷은 소스 데이터를 기초로 생성되는 패킷이며, FEC 리페어 패킷은 소스 데이터를 기초로 향후 패킷에 오류가 발생한 경우 오류를 정정하기 위한 데이터를 포함하고 있는 패킷을 포함할 수 있다.According to some embodiments, the FEC source packet is a packet generated based on the source data, and the FEC repair packet includes a packet containing data for correcting an error when an error occurs in a future packet based on the source data. I can.
일부 실시예에 따르면, 오류가 발생하엿으나, 리페어 패킷으로 복구가 불가능한 오류라고 판단되는 경우 제2 디바이스(200)는 제 1 디바이스(100)에게 재전송을 요청할 수 있다.According to some embodiments, when an error has occurred but it is determined that an error that cannot be repaired by a repair packet, the
도15는 본 개시의 일 실시예에 따라 제2 디바이스가 FEC 보호된 패킷을 수신하고, 복원하는 방법을 설명하기 위한 흐름도이다. 15 is a flowchart illustrating a method of receiving and restoring an FEC-protected packet by a second device according to an embodiment of the present disclosure.
단계 S1510에서, 제2 디바이스(200)는 FEC 소스 패킷 및 FEC 리페어 패킷을 수신할 수 있다. 일부 실시예에 따르면, 제2 디바이스(200)가 포함하는 통신부가 FEC 소스 패킷 및 FEC 리페어 패킷을 수신할 수 있다.In operation S1510, the
단계 S1350에서, 제2 디바이스(200)는 FEC 소스 패킷에 오류가 발생되었는지 판단할 수 있다. In step S1350, the
단계 S1550에서, 제2 디바이스(200)는 FEC 소스 패킷에 오류가 발생된 경우, FEC 리페어 패킷에 기초하여 FEC 소스 패킷을 복구할 수 있다. In operation S1550, when an error occurs in the FEC source packet, the
일부 실시예에 따르면, 제 2 디바이스(200)는 FEC 소스 패킷에 오류가 발생한 경우, FEC 소스 패킷의 오류를 정정할 수 있는지 판단할 수 있다. 판단 결과에 기초하여, 제 2 디바이스(200)는 FEC 리페어 패킷에 기초하여 FEC 소스 패킷을 복구하거나, 제 1 디바이스(100)에게 오류가 발생한 소스 패킷을 재전송해줄 것을 요청할 수 있다.According to some embodiments, when an error occurs in the FEC source packet, the
상기 S1530, S1550 단계는 제1 FEC 모듈(1410) 및 제2 FEC 모듈(1430)에서 각각 수행될 수 있는데, 제1 FEC 모듈(1410) 및 제2 FEC 모듈(1430)은 서로 영향을 주지 않으므로, S1530, S1550 단계는 컨텐트 간의 상호 작용을 발생시키지 않으면서 병렬적으로 수행될 수 있다. The steps S1530 and S1550 may be performed in the
도16은 본 개시의 일 실시예에 따라 제2 디바이스가 하나의 패킷을 수신하고, 수신된 패킷을 기초로 컨텐트를 생성함에 있어서, 각 MMT 계층 구조에서 수행하는 일련의 프로세스를 도시한다.16 illustrates a series of processes performed by each MMT hierarchical structure when a second device receives one packet and generates content based on the received packet according to an embodiment of the present disclosure.
본 개시에서, MMT 계층 구조는 논리적 구조를 포함할 수 있다. In this disclosure, the MMT hierarchical structure may include a logical structure.
계층 구조는 정의된 프로토콜에 의해 분화된 네트워크의 모델, 구조를 의미할 수 있으며, 각각의 계층에서의 수행되어야 하는 동작을 본원발명의 디바이스 내의 구성요소가 대응되는 동작을 수행할 수 있다. The hierarchical structure may refer to a model and structure of a network differentiated by a defined protocol, and an operation to be performed in each layer may be performed by a component in the device of the present invention.
일부 실시예에 따르면, 제2 디바이스(200)의 MMT 계층 구조(MMT architecture)는 MMT 어플리케이션 계층(770), MMT 프로토콜 계층(780) 및 전송 계층(790)을 포함할 수 있다. According to some embodiments, an MMT layer structure (MMT architecture) of the
일부 실시예에 따르면, 제1 디바이스(100)의 전송 계층(750) 및 제2 디바이스(200)의 전송 계층(790)은 데이터 채널로 연결될 수 있다. 일부 실시예에 따르면, 데이터 채널이라함은 데이터가 송수신되는 다양한 통신 매체를 포함할 수 있다. 통신 매체는 유선 통신 매체 및 무선 통신 매체를 포함할 수 있다.According to some embodiments, the
일부 실시예에 따르면, 제2 디바이스(200)의 전송 계층(790)은 제1 디바이스(100)로부터 송신된 MMTP 패킷, FEC 소스 패킷, FEC 리페어 패킷 및 시그널링 패킷 등을 수신할 수 있다. 단, 시그널링 패킷 수신을 위한 전송 계층(790)의 설정과 시그널링 패킷 이외의 MMTP 패킷 등의 수신을 위한 전송 계층(790)의 설정은 상이할 수 있다. 예를 들어, 잡음이 많은 채널에서 데이터를 수신하는 경우, 시그널링 메시지는 TCP 프로토콜의 top에서 수신되는 반면, MMT 패킷은 UDP 프로토콜의 top에서 수신될 수 있다. According to some embodiments, the
제2 디바이스(200)의 MMT 프로토콜 계층(780)은 프로세서(1670) 및 시그널링 프로세서(1150)를 통하여 수신한 패킷을 언패킷화하고, 언패킷화 한 데이터가 미디어 데이터이면 미디어 데이터 복원기(1650)를 이용하여 소스 데이터를 복원하고, 미디어 데이터가 아닌 그 밖의 데이터인 경우 파일 데이터 복원기(1640)를 이용하여 소스 데이터를 복원할 수 있다. The
일부 실시예에 따르면, 제 2 디바이스(200)는 하나의 데이터 복원기를 이용하여 소스 데이터를 복원할 수 있다. According to some embodiments, the
일부 실시예에 따르면, 제2 디바이스(200)의 MMT 프로토콜 계층(780)에서 소스 데이터를 복원하는 과정은 도13의 각 단계와 대응할 수 있다. According to some embodiments, a process of restoring source data in the
일부 실시예에 따르면, 제2 디바이스(200)의 MMT 프로토콜 계층(780)에서 제1 패킷을 기초로 제1 컨텐트를 생성하는 단계, 제2 패킷을 기초로 제2 컨텐트를 생성하는 단계 및 시그널링 패킷을 기초로 시그널링 컨텐트를 생성하는 단계가 병렬적으로 이루어 질 수 있다. 이는 도12에서 설명한 내용과 대응된다. According to some embodiments, the
본 개시의 일 실시예에서 파일 프로세서(1610)는 파일 데이터 복원기(1640)를 이용하여 복원된 소스 데이터를 컨텐트로 복원할 수 있고, 미디어 프로세서(1620)는 미디어 데이터 복원기(1650)를 이용하여 복원된 소스 데이터를 컨텐트로 복원할 수 있으며, 제2 시그널링 프로세서(1630)는 시그널링 컨텐트 복원기(1660)를 이용하여 복원된 소스 데이터를 시그널링 컨텐트로 복원할 수 있다. In an embodiment of the present disclosure, the
구현 예에 따라, 제2 디바이스(200)는 파일 프로세서(1610), 미디어 프로세서(1620) 및 제2 시그널링 프로세서(1630)를 포함하지 않을 수 있다. According to an implementation example, the
본 발명의 다른 일 실시예에서는, MMT 프로토콜 계층(780)에서 FEC 소스 패킷의 손실이 있는 경우 FEC 리페어 패킷 기초로 FEC 소스 패킷을 복원할 수 있다. 복원된 소스 패킷은 MMTP 패킷으로 생성될 수 있다.In another embodiment of the present invention, when there is a loss of the FEC source packet in the
본 개시의 일 실시예에서 시그널링 프로세서(1150)는 시그널링 패킷을 언패킷화 하고, 시그널링 컨텐트 복원기(1660)는 언패킷화된 시그널링 패킷에 기초하여 소스 데이터를 복원하며, 제2 시그널링 프로세서(1630)는 복원된 소스 데이터에 기초하여 MMT ADC, MMT CI 등을 포함하는 시그널링 컨텐트를 생성할 수 있다. In an embodiment of the present disclosure, the
본 발명의 다른 일 실시예에서는 시그널링 패킷의 처리를 위한 시그널링 프로세서(1150), 시그널링 컨텐트 복원기(1660) 및 제2 시그널링 프로세서(1630)가 별도로 존재하지 않을 수 있다. In another embodiment of the present invention, a
일부 실시예에 따르면, 프로세서(1670)가 미디어 데이터 복원기(1650) 및 파일 데이터 복원기(1640)를 대신하여 소스 데이터를 복원할 수도 있다. 일부 실시예에 따르면, 제1 디바이스(100)로부터 송신된 시그널링 패킷을 제2 디바이스(200)가 수신할 뿐 아니라, 제2 디바이스(200)도 시그널링 패킷을 생성하여 제1 디바이스(100)로 송신할 수 있다. According to some embodiments, the
도17은 본 개시의 일 실시예에 따라 제2 디바이스가 복수의 패킷을 수신하고, 수신된 패킷들을 기초로 컨텐트를 생성함에 있어서, 각 MMT 계층 구조에서 수행하는 일련의 프로세스를 도시한다.17 illustrates a series of processes performed by each MMT hierarchical structure when a second device receives a plurality of packets and generates content based on the received packets according to an embodiment of the present disclosure.
제2 디바이스(200)는 수신한 패킷의 개수와 동일한 수의 프로세서, 버퍼 및 FEC 모듈을 동적으로 할당할 수 있다. The
이 때, FEC 보호 된 패킷을 수신한 경우, FEC 소스 패킷과 FEC 리페어 패킷은 하나의 패킷으로 간주하여 프로세서, 버퍼 및 FEC 모듈을 동적으로 할당할 수 있다. In this case, when an FEC-protected packet is received, the FEC source packet and the FEC repair packet are regarded as one packet, and a processor, a buffer, and an FEC module can be dynamically allocated.
도17를 참조하면, 수신된 제1 FEC 리페어 패킷 및 제1 FEC 소스 패킷은 전송 계층(790)으로부터 제1 프로세서(1110)로 전송되었다가 제1 버퍼(1740)에 저장될 수 있다. 제1 FEC 모듈(1410)은 제1 FEC 리페어 패킷을 이용하여 제1 FEC 소스 패킷을 복원하고, 복원된 소스 데이터에 기초하여 제1 MMTP 패킷을 생성할 수 있다. 일부 실시예에서, FEC 리페어 패킷을 이용하여 FEC 소스 패킷을 복원하고 MMTP 패킷을 생성하는 과정은 도15의 각 단계에 대응될 수 있다. Referring to FIG. 17, received first FEC repair packets and first FEC source packets may be transmitted from a
일부 실시예에 다르면, 수신된 제2 FEC 리페어 패킷 및 제2 FEC 소스 패킷도 전송 계층(790)으로부터 제2 프로세서(1130)로 전송되었다가 제2 버퍼(1750)에 저장될 수 있고, 제2 FEC 모듈(1430)은 제2 FEC 리페어 패킷을 이용하여 제2 FEC 소스 패킷을 복원하고, 복원된 소스 데이터에 기초하여 제2 MMTP 패킷을 생성할 수 있다.According to some embodiments, the received second FEC repair packet and the second FEC source packet may also be transmitted from the
일부 실시예에 따르면수신된 제1 FEC 리페어 패킷 및 제1 FEC 소스 패킷에 수행된 제1 MMTP 패킷 생성 과정 및 제2 FEC 리페어 패킷 및 제2 FEC 소스 패킷에 수행된 제2 MMTP 패킷 생성 과정과 동일한 과정이 컨텐트의 개수만큼 병렬적으로 수행될 수 있다.According to some embodiments, the first MMTP packet generation process performed on the received first FEC repair packet and the first FEC source packet, and the second MMTP packet generation process performed on the second FEC repair packet and the second FEC source packet. The process may be performed in parallel as many as the number of contents.
수신된 제N FEC 리페어 패킷 및 제N FEC 소스 패킷도 전송 계층(790)으로부터 제N 프로세서(1730)로 전송되었다가 제N 버퍼(1760)에 저장될 수 있고, 제N FEC 모듈(1770)은 제N FEC 리페어 패킷을 이용하여 제2 FEC 소스 패킷을 복원하고, 복원된 소스 데이터에 기초하여 제2 MMTP 패킷을 생성할 수 있다.The received N-th FEC repair packet and the N-th FEC source packet may also be transmitted from the
각 MMTP 패킷 생성 과정 중 전부 또는 일부는 동시에 진행될 수 있지만, 상호 작용하지 않고 분리되어, 독립적으로 수행될 수 있다.All or part of each MMTP packet generation process may be performed at the same time, but may be separated without interaction and performed independently.
본 개시의 일 실시예에서 생성된 MMTP 패킷들은 다시 버퍼를 거쳐 프로세서(1670)로 전송되어, 언패킷화 된 후, 소스 데이터로 복원되고, MMT 어플리케이션 계층(770)에서 컨텐트로 복원될 수 있다. MMTP packets generated in an embodiment of the present disclosure may be transmitted to the
다른 실시예에서, 에러 수정이 불필요한 경우, 전송 계층(790)은 FEC 소스 패킷 및 FEC 리페어 패킷을 대신하여 MMTP 패킷을 직접 수신할 수 있고, MMTP 패킷을 수신한 경우에는 FEC 모듈을 거칠 필요 없이, 프로세서(1670)에서 언패킷화 작업을 수행할 수 있다. In another embodiment, when error correction is not necessary, the
본 발명은 일정 시간 동안 디바이스가 송수신할 수 있는 데이터의 볼륨(volume of data)이 증가한다는 측면에서 복수의 데이터를 순차적으로 송수신하는 경우와 비교하여 발전을 이루었다. 복수의 데이터를 병렬적으로 송수신하는 본 개시의 일 실시예와 복수의 데이터를 순차적으로 송수신하는 경우의 차이는 다음 표에서 잘 드러난다.The present invention has developed compared to the case of sequentially transmitting and receiving a plurality of data in terms of increasing the volume of data that can be transmitted and received by a device for a certain period of time. The difference between an embodiment of the present disclosure in which a plurality of data is transmitted and received in parallel and a case where a plurality of data is sequentially transmitted and received is clearly shown in the following table.
전송 데이터의 크기(KB)
Transmitted data size (KB)
2. 비디오 파일(2.97 Mbps bitrate)1. Video file (2.86 Mbps bitrate)
2. Video file (2.97 Mbps bitrate)
2502
2576
2502
2576
0%
0%
0%
0%
2502
2576
2502
2576
0%
0%
0%
0%
2502
2576
2502
2576
+
비디오 파일 (2.86 Mbps bitrate) Web camera data (1 Mbps bitrate)
+
Video file (2.86 Mbps bitrate)
2119826
2119
15%10%
15%
2502930
2502
0%-One%
0%
2502920
2502
+
비디오 파일 (2.86 Mbps bitrate) flow
+
비디오 파일 (2.97 Mbps bitrate) flowWeb camera data (1 Mbps bitrate)
+
Video file (2.86 Mbps bitrate) flow
+
Video file (2.97 Mbps bitrate) flow
1940
2133657
1940
2133
22%
17%28%
22%
17%
2502
2576920
2502
2576
0%
0%0%
0%
0%
2502
2576920
2502
2576
상기 표는 동일한 데이터 채널 조건에서 수신 디바이스가 8초 동안 송수신한 데이터의 총 크기을 기준으로 작성 되었다. The table above is based on the total size of data transmitted and received by the receiving device for 8 seconds under the same data channel condition.
표의 내용을 살펴보면, 하나의 비디오 파일을 송수신한 경우, 순차 송수신한 경우와 본 발명은 수신 데이터의 크기나 정보 누락 비율이 큰 차이가 없었다. Looking at the contents of the table, there was no significant difference between the case of transmitting and receiving one video file, the case of sequentially transmitting and receiving, and the case of the present invention in the size of received data or the ratio of missing information.
또, 하나의 웹 카메라 데이터만을 송신한 경에도 순차 송수신한 경우와 본 발명은 수신 데이터의 볼륨이나 정보 누락 비율은 큰 차이가 없었다. In addition, even when only one web camera data is transmitted, there is no significant difference between the case of sequential transmission and reception and the volume of received data or the information omission ratio in the present invention.
그러나 하나의 웹 카메라 데이터와 하나의 비디오 파일(2.86 Mbps bitrate)을 동시에 송신한 경우, 순차적으로 송수신한 경우는 8초 동안 웹 카메라 데이터 총 920 KB 중 826 KB 만을 수신하였고, 정보 누락 비율이 10%인 반면, 본 개시의 일 실시예는 웹 카메라 데이터 총 920 KB 전부를 수신하고도 10KB를 더 수신하여 정보 누락 비율이 -1% 인 것을 확인 할 수 있다. However, when one web camera data and one video file (2.86 Mbps bitrate) were transmitted at the same time, in the case of sequential transmission and reception, only 826 KB of the total 920 KB of web camera data was received for 8 seconds, and the rate of missing information was 10%. On the other hand, according to an exemplary embodiment of the present disclosure, it can be confirmed that the information omission ratio is -1% by receiving all of 920 KB of web camera data and further receiving 10 KB.
또한, 하나의 웹 카메라 데이터와 하나의 비디오 파일(2.86 Mbps bitrate) 그리고 다른 하나의 비디오 파일(2.97 Mbps bitrate)을 동시에 송신한 경우 즉, 3개의 컨텐트를 동시에 송신한 경우에는, 순차적으로 송수신하였을 때, 8초 동안 웹 카메라 데이터 총 920 KB 중 657 KB 만을 수신하였고, 정보 누락 비율이 28%인 반면, 본 개시의 일 실시예는 웹 카메라 데이터 총 920 KB 전부를 수신하여 정보 누락 비율이 0% 인 것을 확인 할 수 있다.In addition, when one web camera data, one video file (2.86 Mbps bitrate), and another video file (2.97 Mbps bitrate) are simultaneously transmitted, that is, when three contents are simultaneously transmitted, when sequentially transmitted/received , For 8 seconds, only 657 KB of the total web camera data was received, and the information omission rate was 28%, whereas an embodiment of the present disclosure received all 920 KB of web camera data and the information omission rate was 0%. You can check it.
즉, 하나의 컨텐트를 송신하는 경우, 8초 동안 본 발명과 순차 송수신한 경우 는 비슷한 성과를 보였으나, 두 개의 컨텐트를 동시에 송신하는 경우, 본 발명 일 실시예에 의한 데이터 수신율이, 순차 송수신한 경우에 의한 데이터 수신율에 비해 더 높았고, 세 개의 컨텐트를 동시에 송신하는 경우에는, 두 개의 컨텐트를 동시에 송신하는 경우보다 더 큰 차이로 본 개시의 일 실시예에 의한 데이터 수신율이, 순차 송수신한 경우에 의한 데이터 수신율에 비하여 높다는 것을 알 수 있다. That is, in the case of transmitting one content, in the case of sequentially transmitting and receiving the present invention for 8 seconds, similar results were achieved. However, when transmitting two contents at the same time, the data reception rate according to an embodiment of the present invention is The data reception rate was higher than that of the case, and when three contents were transmitted simultaneously, the data reception rate according to an embodiment of the present disclosure was sequentially transmitted and received by a greater difference than the case of simultaneously transmitting two contents. It can be seen that it is higher than the data reception rate by
이를 통해 동시에 전송 되는 컨텐트의 수가 늘어날수록, 본 발명의 실시예에 의한 데이터 수신율과, 순차 송수신한 경우에 의한 데이터 수신율의 차이가 점점 커질 것을 유추할 수 있다. Through this, as the number of simultaneously transmitted content increases, it can be inferred that the difference between the data reception rate according to an embodiment of the present invention and the data reception rate when sequentially transmitted/received increases gradually.
본 발명은 각 컨텐트 마다 분리된 별도의 프로세스를 사용함으로써 디바이스의 자원 활용도를 높이고, 데이터 송수신의 속도 및 품질을 향상시킬 수 있다. In the present invention, by using a separate process for each content, resource utilization of a device can be increased, and speed and quality of data transmission and reception can be improved.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일 형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present disclosure is for illustrative purposes only, and those skilled in the art to which the present disclosure pertains will be able to understand that it is possible to easily transform it into other specific forms without changing the technical spirit or essential features of the present disclosure will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. For example, each component described as a single form may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.
본 개시의 범위는 위 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present disclosure is indicated by the claims to be described later rather than the detailed description above, and all changes or modified forms derived from the meaning and scope of the claims and the concept of equivalents thereof should be interpreted as being included in the scope of the present disclosure. do.
Claims (24)
제1 컨텐트에 기초하여 제1 패킷을 생성하는 제1 프로세서;
제2 컨텐트에 기초하여 제2 패킷을 생성하는 제2 프로세서;
상기 제1 컨텐트 및 상기 제2 컨텐트로부터 추출된 정보에 기초하여 시그널링 패킷을 생성하는 시그널링 프로세서; 및
상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 각각 분리된 프로세스를 통하여 병렬적으로 상기 제2 디바이스로 송신하는 통신부를 포함하고,
상기 제1 프로세서, 상기 제2 프로세서 및 상기 시그널링 프로세서는 병렬적으로 상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 생성하고,
상기 제1 프로세서는 상기 제 1 컨텐트가 미디어 데이터인 경우, 소스 데이터를 추출하는 미디어 데이터 추출기 및 상기 제 1 컨텐트가 미디어 데이터가 아닌 경우, 소스 데이터를 추출하는 파일 데이터 추출기를 포함하는 것을 특징으로 하는 디바이스.In the first device for transmitting a packet in the MMT (MPEG Media Transport) format to a second device,
A first processor that generates a first packet based on the first content;
A second processor for generating a second packet based on the second content;
A signaling processor that generates a signaling packet based on the first content and information extracted from the second content; And
And a communication unit for transmitting the first packet, the second packet, and the signaling packet to the second device in parallel through separate processes, respectively,
The first processor, the second processor, and the signaling processor generate the first packet, the second packet, and the signaling packet in parallel,
The first processor comprises a media data extractor for extracting source data when the first content is media data, and a file data extractor for extracting source data when the first content is not media data. device.
상기 제1 프로세서, 상기 제2 프로세서 및 상기 시그널링 프로세서는,
상기 제1 프로세서가 상기 제1 패킷을 생성하는 동안, 상기 제2 프로세서 및 상기 시그널링 프로세서가 각각 상기 제2 패킷 및 상기 시그널링 패킷을 생성하는 것을 특징으로 하는 디바이스.The method of claim 1,
The first processor, the second processor, and the signaling processor,
And while the first processor generates the first packet, the second processor and the signaling processor respectively generate the second packet and the signaling packet.
상기 제 1 프로세서는 상기 추출된 소스 데이터를 기초로 상기 제1 패킷을 생성하는 것을 특징으로 하는 디바이스.The method of claim 1,
The device according to claim 1, wherein the first processor generates the first packet based on the extracted source data.
상기 제1 프로세서는 상기 제1 패킷을 저장하는 제1 버퍼를 더 포함하고,
상기 제2 프로세서는 상기 제2 패킷을 저장하는 제2 버퍼를 더 포함하는 것을 특징으로 하는 디바이스.The method of claim 1,
The first processor further comprises a first buffer for storing the first packet,
The second processor further comprises a second buffer for storing the second packet.
상기 제1 디바이스는,
상기 제1 패킷을 기초로 하여 제1 FEC 리페어 패킷 및 제1 FEC 소스 패킷을 생성하는 제1 FEC 모듈;
상기 제2 패킷을 기초로 하여 제2 FEC 리페어 패킷 및 제2 FEC 소스 패킷을 생성하는 제2 FEC 모듈을 더 포함하고,
상기 통신부는 상기 제1 FEC 리페어 패킷, 상기 제1 FEC 소스 패킷, 상기 제2 FEC 리페어 패킷 및 상기 제2 FEC 소스 패킷을 상기 제2 디바이스로 송신하는 디바이스.The method of claim 1,
The first device,
A first FEC module generating a first FEC repair packet and a first FEC source packet based on the first packet;
Further comprising a second FEC module generating a second FEC repair packet and a second FEC source packet based on the second packet,
The communication unit transfers the first FEC repair packet, the first FEC source packet, the second FEC repair packet, and the second FEC source packet to the second device. Sending device.
송신할 컨텐트가 복수개인 경우,
상기 제1 디바이스는 상기 송신할 컨텐트의 숫자에 기초하여, 병렬적으로 생성하는 패킷의 개수를 결정하는 것을 특징으로 하는 디바이스. The method of claim 1,
If there are multiple content to be sent,
The device according to claim 1, wherein the first device determines the number of packets to be generated in parallel based on the number of contents to be transmitted.
상기 제1 디바이스로부터 제1 패킷, 제2 패킷 및 시그널링 패킷을 각각 분리된 프로세스를 통하여 병렬적으로 수신하는 통신부;
상기 제1 패킷에 기초하여 제1 컨텐트를 생성하는 제1 프로세서;
상기 제2 패킷에 기초하여 제2 컨텐트를 생성하는 제2 프로세서; 및
상기 시그널링 패킷에 기초하여 상기 제1 패킷 및 상기 제2 패킷을 위한 시그널링 컨텐트를 생성하는 시그널링 프로세서를 포함하고,
상기 제1 프로세서, 상기 제2 프로세서 및 상기 시그널링 프로세서는 병렬적으로 상기 제1 컨텐트, 상기 제2 컨텐트 및 상기 시그널링 컨텐트를 생성하고,
상기 제1 패킷이 미디어 패킷인 경우, 미디어 데이터 복원기가 소스 데이터를 생성하고,
상기 제1 패킷이 미디어 패킷이 아닌 경우, 파일 데이터 복원기가 소스 데이터를 생성하는 것을 특징으로 하는 디바이스.In the second device for receiving a packet in the MMT (MPEG Media Transport) format from the first device,
A communication unit for receiving a first packet, a second packet, and a signaling packet from the first device in parallel through separate processes;
A first processor generating first content based on the first packet;
A second processor for generating second content based on the second packet; And
A signaling processor that generates signaling content for the first packet and the second packet based on the signaling packet,
The first processor, the second processor, and the signaling processor generate the first content, the second content, and the signaling content in parallel,
When the first packet is a media packet, a media data restorer generates source data,
And if the first packet is not a media packet, a file data restorer generates source data.
상기 제1 프로세서, 상기 제2 프로세서 및 상기 시그널링 프로세서는,
상기 제1 프로세서가 상기 제1 컨텐트를 생성하는 동안, 상기 제2 프로세서 및 상기 시그널링 프로세서가 각각 상기 제2 컨텐트 및 상기 시그널링 컨텐트를 생성하는 것을 특징으로 하는 디바이스.The method of claim 7,
The first processor, the second processor, and the signaling processor,
And the second processor and the signaling processor respectively generate the second content and the signaling content while the first processor generates the first content.
상기 소스 데이터를 기초로 컨텐트를 생성하는 것을 특징으로 하는 디바이스.The method of claim 7,
And generating content based on the source data.
상기 제1 프로세서는 상기 제1 패킷을 저장하는 제1 버퍼를 더 포함하고,
상기 제2 프로세서는 상기 제2 패킷을 저장하는 제2 버퍼를 더 포함하는 것을 특징으로 하는 디바이스.The method of claim 7,
The first processor further comprises a first buffer for storing the first packet,
The second processor further comprises a second buffer for storing the second packet.
상기 통신부가 수신하는, 상기 제1 패킷은 제 1 FEC 리페어 패킷 및 제 1 FEC 소스 패킷을 포함하고, 상기 제2 패킷은 제 2 FEC 리페어 패킷 및 제 2 FEC 소스 패킷을 포함하며,
상기 제1 FEC 소스 패킷 및 상기 제2 FEC 소스 패킷 내의 소스 패킷이 누락된 경우,
상기 제1 FEC 리페어 패킷에 기초하여 상기 제1 FEC 소스 패킷을 복원하는 제1 FEC 모듈; 및
상기 제2 FEC 리페어 패킷에 기초하여 상기 제2 FEC 소스 패킷을 복원하는 제2 FEC 모듈을 더 포함하는 디바이스.The method of claim 7,
The first packet received by the communication unit includes a first FEC repair packet and a first FEC source packet, and the second packet includes a second FEC repair packet and a second FEC source packet,
When a source packet in the first FEC source packet and the second FEC source packet is missing,
A first FEC module for restoring the first FEC source packet based on the first FEC repair packet; And
The device further comprising a second FEC module for restoring the second FEC source packet based on the second FEC repair packet.
수신한 패킷이 복수개인 경우,
상기 수신한 패킷의 숫자에 기초하여, 병렬적으로 생성하는 컨텐트의 개수를 결정하는 제어부를 더 포함하는 것을 특징으로 하는 디바이스. The method of claim 7,
When there are multiple packets received,
And a controller configured to determine the number of contents generated in parallel based on the number of received packets.
제1 컨텐트에 기초하여 제1 패킷을 생성하는 단계;
제2 컨텐트에 기초하여 제2 패킷을 생성하는 단계;
상기 제1 컨텐트 및 상기 제2 컨텐트로부터 추출된 정보에 기초하여 시그널링 패킷을 생성하는 단계;
상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 각각 분리된 프로세스를 통하여 병렬적으로 상기 제2 디바이스로 송신하는 단계를 포함하고,
상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 생성하는 단계를 병렬적으로 수행하고,
상기 제1 컨텐트가 미디어 데이터를 포함하는 경우, 미디어 데이터 추출기(media data extractor)가 소스 데이터를 추출하고, 상기 제1 컨텐트가 미디어 데이터를 포함하지 않는 경우, 파일 데이터 추출기(file data extractor)가 소스 데이터를 추출하는 것을 특징으로 하는 데이터 송신 방법.In the method for the first device to transmit MMT (MPEG Media Transport) format data to the second device,
Generating a first packet based on the first content;
Generating a second packet based on the second content;
Generating a signaling packet based on the first content and information extracted from the second content;
Transmitting the first packet, the second packet and the signaling packet to the second device in parallel through separate processes, respectively,
Generating the first packet, the second packet, and the signaling packet in parallel,
When the first content includes media data, a media data extractor extracts source data, and when the first content does not include media data, a file data extractor Data transmission method, characterized in that to extract data.
상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 생성하는 단계는,
상기 제1 패킷을 생성하는 단계가 진행되는 동안, 상기 제2 패킷을 생성하는 단계 및 상기 시그널링 패킷을 생성하는 단계가 진행되는 것을 특징으로 하는 데이터 송신 방법.The method of claim 13,
Generating the first packet, the second packet, and the signaling packet,
While the step of generating the first packet is in progress, the step of generating the second packet and the The data transmission method, characterized in that the step of generating the signaling packet is in progress.
상기 추출한 소스 데이터를 기초로 상기 제1 패킷을 생성하는 것을 특징으로 하는 데이터 송신 방법.The method of claim 13,
And generating the first packet based on the extracted source data.
상기 제1 패킷 및 상기 제2 패킷을 생성하는 단계는,
제1 버퍼에 상기 제1 패킷을 저장하는 단계; 및
제2 버퍼에 상기 제2 패킷을 저장하는 단계를 더 포함하는 데이터 송신 방법.The method of claim 13,
Generating the first packet and the second packet,
Storing the first packet in a first buffer; And
The data transmission method further comprising storing the second packet in a second buffer.
상기 제1 패킷을 생성하는 단계는,
상기 제1 패킷을 기초로 하여 제1 FEC 리페어 패킷 및 제1 FEC 소스 패킷을 생성하는 단계; 및
상기 제1 FEC 리페어 패킷, 상기 제1 FEC 소스 패킷을 상기 제2 디바이스로 송신하는 단계를 더 포함하는 데이터 송신 방법.The method of claim 13,
Generating the first packet,
Generating a first FEC repair packet and a first FEC source packet based on the first packet; And
The first FEC repair packet and the first FEC source packet to the second device The data transmission method further comprising the step of transmitting.
송신할 컨텐트가 복수개인 경우,
상기 송신할 컨텐트의 숫자에 기초하여, 병렬적으로 생성하는 패킷의 개수를 결정하는 단계를 더 포함하는 데이터 송신 방법.The method of claim 13,
If there are multiple content to be sent,
And determining the number of packets to be generated in parallel based on the number of contents to be transmitted.
상기 제1 디바이스로부터 제1 패킷, 제2 패킷 및 시그널링 패킷을 각각 분리된 프로세스를 통하여 병렬적으로 수신하는 단계;
상기 제1 패킷에 기초하여 제1 컨텐트를 생성하는 단계;
상기 제2 패킷에 기초하여 제2 컨텐트를 생성하는 단계;
상기 시그널링 패킷에 기초하여 시그널링 컨텐트를 생성하는 단계를 포함하고,
상기 제1 컨텐트, 상기 제2 컨텐트 및 상기 시그널링 컨텐트를 생성하는 단계를 병렬적으로 수행하고,
상기 제1 컨텐트를 생성하는 단계는,
상기 수신한 제1 패킷이 미디어 패킷인 경우, 미디어 데이터 복원기가 소스 데이터를 생성하고, 상기 수신한 제1 패킷이 미디어 패킷이 아닌 경우, 파일 데이터 복원기가 소스 데이터를 생성하는 단계를 더 포함하는 것을 특징으로 하는 데이터 수신 방법.In a method for receiving data in an MPEG Media Transport (MMT) format by a second device from a first device,
Receiving a first packet, a second packet, and a signaling packet from the first device in parallel through separate processes;
Generating first content based on the first packet;
Generating second content based on the second packet;
Including the step of generating signaling content based on the signaling packet,
Performing the step of generating the first content, the second content, and the signaling content in parallel,
The step of generating the first content,
If the received first packet is a media packet, the media data restorer generates source data, and if the received first packet is not a media packet, the file data restorer generates source data. Data receiving method characterized in that.
상기 제1 컨텐트, 상기 제2 컨텐트 및 상기 시그널링 컨텐트를 생성하는 단계는,
상기 제1 컨텐트를 생성하는 동안, 상기 제2 컨텐트 및 상기 시그널링 컨텐트를 생성하는 것을 특징으로 하는 데이터 수신 방법. The method of claim 19,
Generating the first content, the second content, and the signaling content,
And generating the second content and the signaling content while generating the first content.
상기 소스 데이터를 기초로 상기 제1 컨텐트를 생성하는 것을 특징으로 하는 데이터 수신 방법.The method of claim 19,
And generating the first content based on the source data.
상기 제1 컨텐트 및 상기 제2 컨텐트를 생성하는 단계는,
제1 버퍼에 상기 제1 패킷을 저장하는 단계; 및
제2 버퍼에 상기 제2 패킷을 저장하는 단계를 더 포함하는 데이터 수신 방법.The method of claim 19,
Generating the first content and the second content,
Storing the first packet in a first buffer; And
The method of receiving data further comprising storing the second packet in a second buffer.
상기 제1 디바이스로부터 제1 패킷, 제2 패킷 및 시그널링 패킷을 수신하는 단계에서,
상기 제1 패킷은 제1 FEC 리페어 패킷, 제1 FEC 소스 패킷을 포함하고, 상기 제2 패킷은 제2 FEC 리페어 패킷 및 제2 FEC 소스 패킷을 포함하며,
상기 제1 컨텐트를 생성하는 단계는,
상기 제1 FEC 소스 패킷 내의 소스 패킷이 누락된 경우,
상기 제1 FEC 리페어 패킷에 기초하여 상기 제1 FEC 소스 패킷을 복원하는 단계를 더 포함하는 데이터 수신 방법.The method of claim 19,
In the step of receiving a first packet, a second packet, and a signaling packet from the first device,
The first packet includes a first FEC repair packet and a first FEC source packet, and the second packet includes a second FEC repair packet and a second FEC source packet,
The step of generating the first content,
When a source packet in the first FEC source packet is missing,
And reconstructing the first FEC source packet based on the first FEC repair packet.
수신한 패킷이 복수개인 경우,
상기 수신한 패킷의 숫자에 기초하여, 병렬적으로 생성하는 컨텐트의 개수를 결정하는 것을 특징으로 하는 데이터 수신 방법.The method of claim 19,
When there are multiple packets received,
And determining the number of contents to be generated in parallel based on the number of received packets.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/587,601 US9729903B2 (en) | 2013-12-31 | 2014-12-31 | Data transmitting device and method |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361922269P | 2013-12-31 | 2013-12-31 | |
US61/922,269 | 2013-12-31 | ||
US201461926447P | 2014-01-13 | 2014-01-13 | |
US61/926,447 | 2014-01-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150079399A KR20150079399A (en) | 2015-07-08 |
KR102191970B1 true KR102191970B1 (en) | 2020-12-17 |
Family
ID=53791756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140156241A KR102191970B1 (en) | 2013-12-31 | 2014-11-11 | Apparatus and Method for Transmitting Data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102191970B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064500A1 (en) * | 2001-11-20 | 2004-04-01 | Kolar Jennifer Lynn | System and method for unified extraction of media objects |
US20090310946A1 (en) * | 2006-12-22 | 2009-12-17 | Panasonic Corporation | Broadcasting station apparatus and recording/reproducing apparatus |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120084234A (en) * | 2011-01-19 | 2012-07-27 | 삼성전자주식회사 | Method for delivering mmt access unit for mpeg media transport |
US20140344470A1 (en) * | 2011-11-23 | 2014-11-20 | Electronics And Telecommunications Research Institute | Method and apparatus for streaming service for providing scalability and view information |
KR102027916B1 (en) * | 2012-02-27 | 2019-10-02 | 삼성전자주식회사 | Apparatus and method for transmitting and receiving packets with forward error correction schemes |
-
2014
- 2014-11-11 KR KR1020140156241A patent/KR102191970B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064500A1 (en) * | 2001-11-20 | 2004-04-01 | Kolar Jennifer Lynn | System and method for unified extraction of media objects |
US20090310946A1 (en) * | 2006-12-22 | 2009-12-17 | Panasonic Corporation | Broadcasting station apparatus and recording/reproducing apparatus |
Also Published As
Publication number | Publication date |
---|---|
KR20150079399A (en) | 2015-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9641588B2 (en) | Packets recovery system and method | |
US10958376B2 (en) | Method and apparatus for transmitting and receiving packet in communication system | |
WO2011079763A1 (en) | Method for processing forward error correction (fec) data, device and system thereof | |
US10506270B2 (en) | Method and apparatus for transmitting media content | |
KR102305410B1 (en) | Method and apparatus for transmitting/receiving packet in a communication system | |
US9729903B2 (en) | Data transmitting device and method | |
CN101867453A (en) | RTP anti-packet-loss method | |
JP6588092B2 (en) | Method and apparatus for transmitting and receiving packets in broadcast and communication systems | |
JP5344541B2 (en) | Data transmission apparatus, transmission method and program | |
US9667384B2 (en) | Apparatus and method for transmitting and receiving forward error correction packet | |
US10341049B2 (en) | Method and apparatus for performing a forward error correction (FEC) encoding or decoding in a multimedia system | |
KR20140051493A (en) | Method and apparatus for transceiving data packet for transmitting and receiving multimedia data | |
CN103686055A (en) | Processing method and device for packet loss compensation in television conference system | |
JP6511470B2 (en) | Method and apparatus for packet transmission and reception in communication system | |
KR102191970B1 (en) | Apparatus and Method for Transmitting Data | |
US10277922B2 (en) | Method and device for controlling reception of broadcast service provided by means of application layer forward error correction | |
WO2015174893A1 (en) | Methods, decoder and encoder for selection of reference pictures to be used during encoding | |
JP2016134673A (en) | Transmission device, transmission method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |