KR20150079399A - Apparatus and Method for Transmitting Data - Google Patents
Apparatus and Method for Transmitting Data Download PDFInfo
- Publication number
- KR20150079399A KR20150079399A KR1020140156241A KR20140156241A KR20150079399A KR 20150079399 A KR20150079399 A KR 20150079399A KR 1020140156241 A KR1020140156241 A KR 1020140156241A KR 20140156241 A KR20140156241 A KR 20140156241A KR 20150079399 A KR20150079399 A KR 20150079399A
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- content
- processor
- generating
- 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
Description
본 발명의 실시예들은 MMT(MPEG Media Trasport) 형식의 데이터 전송 디바이스 및 전송 방법에 관한 것이다.Embodiments of the present invention relate to a data transmission device and a transmission method in an MMT (MPEG Media Transport) format.
최근 들어, 멀티미디어 컨텐트의 이용이 급증하고 있으며, 디바이스를 통한 멀티미디어 컨텐트의 전송 또한 급증하고 있다. In recent years, the use of multimedia contents has been rapidly increasing, and the transmission of multimedia contents through devices has also been rapidly increasing.
멀티미디어 컨텐트는 MPEG 표준을 따르는 경우가 많으므로, MPEG 관련 기술들도 발달하여, 최근에는 차세대 멀티미디어 부호화 표현 및 다중화 전달 표준인 MPEG-H를 준비하기에 이르렀다. Since the multimedia contents often follow the MPEG standard, the MPEG related technologies are developed, and recently, the MPEG-H, the next generation multimedia coding expression and multiplex transmission standard, has been prepared.
또한, 컨텐트의 사용 빈도가 높아지면서 복수 개의 컨텐트를 동시에 사용하는 경우도 많아졌다. In addition, as the frequency of use of content increases, a plurality of contents are simultaneously used.
현재까지 MPEG-H 관련 기술은 계속적으로 발전하고 있지만, 동시에 여러 개의 컨텐트를 처리하는 기술은 MPEG-H의 TS(Transport Stream) 표준인 MMT(MPEG Media Trasport) 프로토콜 수행에 있어서 미흡한 실정이다.Although the technology related to MPEG-H has been continuously developed, the technology for processing a plurality of contents at the same time is insufficient for the implementation of the MMT (MPEG Media Transport) protocol, which is a TS (Transport Stream) standard of MPEG-H.
본 발명의 실시예들은 MMT 형식의 데이터를 포함하는 복수개의 컨텐트를 처리하는 방법 및 장치에 관한 것이다. Embodiments of the present invention are directed to a method and apparatus for processing a plurality of content including MMT formatted data.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 일 실시예의 일 측면에 따르면, 제2 디바이스로 MMT(MPEG Media Transport) 형식의 패킷을 전송하는 제1 디바이스에 있어서, 제1 컨텐트에 기초하여 제1 패킷을 생성하는 제1 프로세서, 제2 컨텐트에 기초하여 제2 패킷을 생성하는 제2 프로세서, 상기 제1 컨텐트 및 상기 제2 컨텐트에 기초하여 시그널링 패킷을 생성하는 시그널링 프로세서 및 상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 상기 제2 디바이스로 송신하는 통신부를 포함하고, 상기 제1 프로세서, 상기 제2 프로세서 및 상기 시그널링 프로세서는 병렬적으로 상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 생성하는 것을 특징으로 하는 제1 디바이스가 제공될 수 있다.According to an aspect of an embodiment of the present disclosure, there is provided a first device for transmitting an MMT (MPEG Media Transport) formatted packet to a second device, the first device comprising: A second processor for generating a second packet based on the second content, a signaling processor for generating a signaling packet based on the first content and the second content, and a second processor for generating a first packet based on the first content and the second content, Wherein the first processor, the second processor, and the signaling processor are configured to transmit the first packet, the second packet, and the signaling packet in parallel to the second device, The first device generating the signaling packet.
상기 제1 프로세서, 상기 제2 프로세서 및 상기 시그널링 프로세서는, 상기 제1 프로세서가 상기 제1 패킷을 생성하는 동안, 상기 제2 프로세서 및 상기 시그널링 프로세서가 각각 상기 제2 패킷 및 상기 시그널링 패킷을 생성하는 것을 특징으로 할 수 있다. Wherein the first processor, the second processor, and the signaling processor are configured to cause the second processor and the signaling processor to generate the second packet and the signaling packet, respectively, while the first processor is generating the first packet . ≪ / RTI >
상기 제1 디바이스는, 미디어 데이터 추출기(media data extractor) 및 파일 데이터 추출기(file data extractor)를 더 포함하고, 상기 제 1 컨텐트가 미디어 데이터인 경우, 상기 미디어 데이터 추출기가 소스 데이터를 추출하고, 상기 제 1 컨텐트가 미디어 데이터가 아닌 경우, 상기 파일 데이터 추출기가 소스 데이터를 추출하며, 상기 제 1 프로세서는 상기 추출된 소스 데이터를 기초로 상기 제1 패킷을 생성할 수 있다. Wherein the first device further comprises a media data extractor and a file data extractor, wherein if the first content is media data, the media data extractor extracts the source data, If the first content is not media data, the file data extractor extracts the source data, and the first processor can 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 디바이스로 송신할 수 있다. Wherein the first device comprises: a first FEC module for generating a first FEC repair packet and a first FEC source packet based on the first packet, a second FEC repair packet and a second FEC repair packet based on the second packet, Further comprising 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 be transmitted.
송신할 컨텐트가 복수개인 경우, 상기 데이터 제1 디바이스는 상기 송신할 컨텐트의 숫자에 기초하여, 병렬적으로 생성하는 패킷의 개수를 결정할 수 있다. When there are a plurality of contents to be transmitted, the data first device can 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, there is provided a second device for receiving a packet of an MMT (MPEG Media Transport) format from a first device, the first device including a first packet, a second packet and a signaling packet A first processor for generating a first content based on the first packet, a second processor for generating a second content based on the second packet, and a second processor for generating a second packet based on the first packet and the second packet based on the signaling packet. And a signaling processor for generating signaling content for a second packet, wherein the first processor, the second processor and the signaling processor are operable to generate the first content, the second content and the signaling content in parallel A characteristic device can be provided.
상기 제1 프로세서, 상기 제2 프로세서 및 상기 시그널링 프로세서는, 상기 제1 프로세서가 상기 제1 컨텐트를 생성하는 동안, 상기 제2 프로세서 및 상기 시그널링 프로세서가 각각 상기 제2 컨텐트 및 상기 시그널링 컨텐트를 생성하는 것을 특징으로 할 수 있다. Wherein the first processor, the second processor, and the signaling processor are configured to cause the second processor and the signaling processor to generate the second content and the signaling content, respectively, while the first processor is generating the first content . ≪ / RTI >
상기 제2 디바이스는, 미디어 데이터 복원기 및 파일 데이터 복원기를 더 포함하고, 상기 제1 패킷이 미디어 패킷인 경우, 상기 미디어 데이터 복원기가 소스 데이터를 생성하고, 상기 제1 패킷이 미디어 패킷이 아닌 경우, 상기 파일 데이터 복원기가 소스 데이터를 생성하여, 상기 소스 데이터를 기초로 컨텐트를 생성할 수 있다. Wherein the second device further comprises a media data decompressor and a file data decompressor, wherein if the first packet is a media packet, the media data decompressor generates source data, and if the first packet is not a media packet , The file data decompressor may generate the source data and generate the 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 모듈을 더 포함할 수 있다. Wherein 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, Source packet and a source packet in the second FEC source packet are missing, a first FEC module for restoring the first FEC source packet based on the first FEC repair packet and a second FEC source packet based on the second FEC repair packet, And a second FEC module for restoring the second FEC source packet.
수신한 패킷이 복수개인 경우, 상기 수신한 패킷의 숫자에 기초하여, 병렬적으로 생성하는 컨텐트의 개수를 결정하는 제어부를 더 포함할 수 있다. And a controller for determining the number of contents to be generated in parallel based on the number of the received packets when there are a plurality 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, there is provided a method for a first device to transmit data in an MMT (MPEG Media Transport) format to a second device, the method comprising generating a first packet based on a first content, Generating a second packet based on the second content, generating a signaling packet based on the first content and the second content, generating the first packet, the second packet, and the signaling packet to the second And transmitting the first packet, the second packet, and the signaling packet to the device, wherein the step of generating the first packet, the second packet, and the signaling packet is performed in parallel.
상기 제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 first packet is being generated, And a step of generating a signaling packet is performed.
상기 제1 패킷을 생성하는 단계는, 상기 제1 컨텐트가 미디어 데이터를 포함하는 경우, 미디어 데이터 추출기(media data extractor)가 소스 데이터를 추출하고, 상기 제1 컨텐트가 미디어 데이터를 포함하지 않는 경우, 파일 데이터 추출기(file data extractor)가 소스 데이터를 추출하는 단계를 더 포함하고, 상기 추출한 소스 데이터를 기초로 상기 제1 패킷을 생성할 수 있다. The method of claim 1, wherein generating the first packet comprises: if the first content includes media data, the media data extractor extracts the source data, and if the first content does not include media data, The method may further include extracting source data by a file data extractor, and generating 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 디바이스로 송신하는 단계를 더 포함할 수 있다. Wherein generating the first packet comprises: generating a first FEC repair packet and a first FEC source packet based on the first packet and generating the first FEC repair packet, the first FEC repair packet, With 2 devices The method may further include the step of transmitting.
송신할 컨텐트가 복수개인 경우, 상기 송신할 컨텐트의 숫자에 기초하여, 병렬적으로 생성하는 패킷의 개수를 결정하는 단계를 더 포함할 수 있다. And determining the number of packets to be generated in parallel based on the number of contents to be transmitted when there are a plurality of contents to be transmitted.
본 개시의 일 실시예의 또 다른 측면에 따르면, 제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, there is provided a method for receiving data in the form of an MMT (MPEG Media Transport) from a first device to a second device, the method comprising: Receiving a packet, generating a first content based on the first packet, generating a second content based on the second packet, and generating signaling content based on the signaling packet And generating the first content, the second content, and the signaling content in parallel.
상기 제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 during the generation of the first content.
상기 제1 컨텐트를 생성하는 단계는, 상기 수신한 제1 패킷이 미디어 패킷인 경우, 미디어 데이터 복원기가 소스 데이터를 생성하고, 상기 수신한 제1 패킷이 미디어 패킷이 아닌 경우, 파일 데이터 복원기가 소스 데이터를 생성하는 단계를 더 포함하고, 상기 소스 데이터를 기초로 상기 제1 컨텐트를 생성하는 것을 특징으로 할 수 있다. The step of generating the first content may include the steps of: if the received first packet is a media packet, the media data restorer generates the source data; if the received first packet is not a media packet, And generating the first content on the basis of the source data.
상기 제1 컨텐트 및 상기 제2 컨텐트를 생성하는 단계는, 제1 버퍼에 상기 제1 패킷을 저장하는 단계 및 제2 버퍼에 상기 제2 패킷을 저장하는 단계를 더 포함할 수 있다. The generating of the first content and the second content may further comprise 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 소스 패킷을 복원하는 단계를 더 포함할 수 있다. Wherein the first packet includes a first FEC repair packet, a first FEC source packet, and the second packet includes a second FEC repair message, wherein the first packet includes a first FEC repair packet, Packet and a second FEC source packet, wherein generating the first content content comprises: if the source packet in the first FEC source packet is missing, transmitting the first FEC source packet to the first FEC source packet based on the first FEC repair packet, And recovering the packet.
수신한 패킷이 복수개인 경우, 상기 수신한 패킷의 숫자에 기초하여, 병렬적으로 생성하는 컨텐트의 개수를 결정하는 것을 특징으로 할 수 있다. And when the number of received packets is plural, determines the number of contents to be generated in parallel 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 flow diagram illustrating a method for transmitting content in a first device in accordance with one embodiment of the present disclosure;
4 is a flow chart detailing a method for 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 according to one embodiment of the present disclosure and transmits a FEC protected packet.
6 is a flow chart illustrating a method by which a first device transmits data while performing FEC protection according to an embodiment of the present disclosure;
7 illustrates a hierarchical structure of a first device and a second device for transmitting and receiving MMT-formatted data according to an embodiment of the present disclosure.
8 illustrates a series of processes performed by each MMT hierarchy in a first device transmitting one content according to one embodiment of the present disclosure.
9 illustrates a process by which a first device transmits two content in parallel in accordance with another embodiment of the present invention.
10 illustrates a series of processes performed by each MMT hierarchy in a first device transmitting N content according to one embodiment of the present disclosure.
11 is a block diagram illustrating a second device according to one embodiment of the present disclosure;
12 is a flow diagram illustrating a method by which a second device receives a packet in accordance with one embodiment of the present disclosure;
13 is a flowchart illustrating a method of generating content based on a received packet when a second device receives a packet according to an embodiment of the present disclosure.
14 is a block diagram illustrating a second device that receives FEC-protected packets according to one embodiment of the present disclosure and generates content based on the received FEC packets.
15 is a flow diagram illustrating a method for a second device to receive and recover FEC protected packets in accordance with one embodiment of the present disclosure;
16 illustrates a series of processes performed by each MMT hierarchy in a second device receiving a packet and generating content based on the received packet according to one embodiment of the present disclosure.
Figure 17 illustrates a series of processes performed by each MMT hierarchy in a second device receiving a plurality of packets and generating content based on received packets, in accordance with one embodiment of the present disclosure.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Brief Description of the Drawings The advantages and features of the present invention, and how to accomplish them, will become apparent with reference to the embodiments described hereinafter with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다. The terms used in this specification will be briefly described and the present invention will be described in detail.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. Also, in certain cases, there may be a term selected arbitrarily by the applicant, in which case the meaning thereof will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term, not on the name of a simple term, but on the entire contents of the present invention.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.When an element is referred to as "including" an element throughout the specification, it is to be understood that the element may include other elements as well, without departing from the spirit or scope of the present invention. Also, as used herein, the term "part " refers to a hardware component such as software, FPGA or ASIC, and" part " However, "part" is not meant to be limited to software or hardware. "Part" may be configured to reside on an addressable storage medium and may be configured to play back one or more processors. Thus, by way of example, and not limitation, "part (s) " refers to components such as software components, object oriented software components, class components and task components, and processes, Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables. The functions provided in the components and "parts " may be combined into a smaller number of components and" parts " or further separated into additional components and "parts ".
본 명세서에서 ?좝茅?는 문자, 음성, 영상 등의 다양한 정보형태가 통합되어 생성, 전달, 처리되도록 하는 시스템 및 서비스에서 활용되는 정보서비스 내용물, 나아가 디지털화된 모든 정보를 뜻한다. 또한 컨텐트는 데이터를 포함하는 정보의 집합이라고도 할 수 있다. 예를 들어 비디오 데이터, 오디오 데이터, 이미지, 텍스트 등이 컨텐트에 해당할 수 있다. In this specification,? 좝 茅? Refers to all the contents of information services used in systems and services that integrate various information types such as text, voice, and video, and also digitalized information. Content can also be referred to as a collection of information that includes data. For example, video data, audio data, images, text, and the like may correspond to the 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 coding expression and multiplexing transmission standard to be used in UHDTV (Ultra-High-Definition TV) MPEG-H is similar to existing MPEG-1, MPEG-2, MPEG-3 and MPEG-4 systems and consists of a system of part 1 system, part 2 video, Is expected. "MMT (MPEG Media Transport)" refers to the part 1 system of MPEG-H, which is the next generation multimedia multiplexing transmission standard standardized in MPEG, following the MPEG-2 TS (Transport Stream) standard.
본 명세서에서 "MMT ADC"는 MMT Asset Delivery Characteristics의 약자로 MMT 애셋(MMT Asset)을 전송하기 위한 QoS 요구에 관련된 서술을 포함할 수 있다. As used herein, "MMT ADC" is an abbreviation of MMT Asset Delivery Characteristics and may include a description related to a QoS requirement to transmit MMT Asset.
또한 본 명세서에서 "MMT CI"는 MMT Composition Information의 약자로, MMT 애셋 간의 공간적, 시간적 관계를 설명하는 정보를 의미할 수 있다. In the present specification, "MMT CI" is an abbreviation of MMT Composition Information, and may mean information explaining the spatial and temporal relationship between MMT assets.
"MMT 애셋"은 동일한 MMT 애셋 ID와 함께 적어도 하나의 MPU로 구성되거나 또는 다른 표준에서 정의된 형식과 함께 특정 데이터 덩어리로 구성되는 논리적 데이터 객체를 의미할 수 있다. MMT 애셋은 동일한 MMT 컴포지션 정보 및 전송 특성이 적용되는 가장 큰 데이터 유닛을 포함할 수 있다. An "MMT asset" may mean a logical data object consisting of at least one MPU with the same MMT asset ID, or consisting of a specific chunk of data 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 apply.
"MPU"는 MMT Processing Unit의 약자로, 어떠한 특정 미디어 코덱에도 독립된 일반적인 컨테이너로 완전하고 독립적으로 처리될 수 있는 부호화된 미디어 데이터를 의미할 수 있다. "MPU" is an abbreviation of MMT Processing Unit, which can refer to encoded media data that can be processed completely and independently by a general container independent of any specific media codec.
"MMT 형식의 데이터"는 MMT 프로토콜에 의해 생성 또는 소비되는 데이터로 MMT 형식의 컨텐트를 포함할 수 있다. The "MMT formatted data" may include MMT formatted content as data generated or consumed by the MMT protocol.
"MMTP 패킷"은 MMT 프로토콜에 의해 생성 또는 소비되는 데이터의 형식화된 단위를 의미할 수 있다.An "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 skilled in the art can easily carry out the present invention. In order to clearly explain the present invention in the drawings, parts not related to the description will be omitted.
도 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)를 포함할 수 있다. According to one embodiment of the present disclosure, a device that transmits MMT formatted data may include a
즉, 제1 디바이스(100)가 MMT 형식의 컨텐트를 제2 디바이스(200)로 송신하면, 제2 디바이스(200)는 제1 디바이스(100)가 송신한 컨텐트를 수신하고, 수신된 컨텐트를 디스플레이 할 수 있다.That is, when the
본 개시의 일 실시예에서 제1 디바이스(100)는 컨텐트로부터 소스 데이터를 추출하고, 추출된 소스 데이터에 부가 정보를 추가하여 MMTP 패킷을 생성한 후, 생성된 MMTP 패킷을 제2 디바이스(200)로 전송할 수 있다. In one 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 one embodiment of the present disclosure, the
본 개시의 일 실시예에서 제1 디바이스(100)는 제1 프로세서(110), 제2 프로세서(130), 시그널링 프로세서(150), 통신부(170)를 포함할 수 있다. In one embodiment of the present disclosure, the
종래에는 프로세서 하나가 모든 컨텐트를 처리하였으므로, 여러 컨텐트를 동시에 송신하는 경우, 컨텐트 간의 상호 작용 등으로 송신 품질이 저하되는 경우가 있었다. 일부 실시예에 따르면, 컨텐트 간의 상호 작용은 두 개 이상의 컨텐트가 전송 과정에서 서로 영향을 미쳐 전송 품질이 저하되는 현상을 의미할 수 있다.Conventionally, a processor has processed all contents. Therefore, when a plurality of contents are transmitted at the same time, the transmission quality may be degraded due to interaction between contents. According to some embodiments, the interaction between the contents may mean that the transmission quality is degraded due to two or more contents affecting each other in the transmission process.
본 발명은 제1 디바이스(100)가 적어도 하나의 컨텐트를 동시에 처리하는 경우, 적어도 하나의 프로세서가 독립적으로 각각 적어도 하나의 컨텐트를 처리함으로써, 컨텐트 간의 상호 작용을 방지할 수 있다.The present invention can prevent interactions between the content by at least one processor independently processing each at least one content 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 one 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 패킷 및 시그널링 패킷을 생성하는 동작을 포함할 수 있다. Also, the
즉, 제1 프로세서(110), 제2 프로세서(130) 및 시그널링 프로세서(150)가 병렬적으로 동작한다는 의미는 제1 프로세서(110), 제2 프로세서(130) 및 시그널링 프로세서(150)가 각각 수행하는 작업의 전부 혹은 일부가 동시에 수행될 수 있음을 의미할 수 있다. That is, the
도3은 본 개시의 일 실시예에 따라 제1 디바이스에서 컨텐트를 송신하는 방법을 나타낸 흐름도이다. 3 is a flow diagram illustrating a method for transmitting content in a first device in accordance with one embodiment of the present disclosure;
단계 S310에서, 제 1 디바이스는 제 1 컨텐트에 기초하여 제 1 패킷을 생성할 수 있다. 일부 실시예에 따르면 제1 디바이스는 제 1 프로세서를 이용하여 제1 컨텐트에 기초하여 제1 패킷을 생성할 수 있다. In step S310, the first device may generate the first packet based on the first content. According to some embodiments, the first device may use the first processor to generate the first packet based on the first content.
일부 실시예에 따르면, 제 1 디바이스는 컨텐트를 분할하고, 적어도 하나의 헤더를 추가함으로써, 패킷을 생성할 수 있다. 패킷 내의 데이터는 소정 크기의 데이터를 포함할 수 있다. According to some embodiments, the first device may generate the 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 a packet in MMT format. Of course, the present invention is not limited to the above example, and the first packet may include various types of packets by 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 use the second processor to generate a second packet based on the second content.
일부 실시예에 따르면, 제 2 패킷은 MMT 형식의 패킷일 수 있다. 물론 상기 예시에 제한되지 않으며, 제 2 패킷은 다양한 프로토콜에 의한 다양한 형식의 패킷을 포함할 수 있다.According to some embodiments, the second packet may be an MMT-formatted packet. Of course, it is not limited to the above example, and the second packet may include various types of packets by 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 MMT Asset Delivery Characteristics (MMT) ADC extracted from the first content and the second content, MMT Composition Information (CI), and the like. According to some embodiments, steps S310 through 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 performed simultaneously 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, there are N packets to be transmitted and N processors exist, so that N packet generation and signaling packet generation can be performed in parallel.
도4는 본 개시의 일 실시예에 따라 제1 디바이스에서 컨텐트를 기초로 패킷을 생성하는 방법을 자세히 나타낸 흐름도이다. 여기서 컨텐트는 제1 컨텐트 또는 제2 컨텐트 중 하나일 수 있다.4 is a flow chart detailing a method for generating a packet based on content in a first device according to an embodiment of the present disclosure; Here, the content may be either the first content or the 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, if the content is media data based on the determination result of the media data, the first device can extract the source data, that is, the MPU, using the
단계 S430에서, 컨텐트가 미디어 데이터인지의 판단 결과에 기초하여, 미디어 데이터가 아닌 모든 경우에는, 제 1 디바이스는 파일 데이터 추출기(File data extractor)(810)를 이용하여 소스 데이터를 추출할 수 있다. In step S430, the first device can extract the source data using the
일부 실시예에 따르면, 미디어 데이터 추출기 및 파일 데이터 추출기는 제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 can be generated based on each step in Fig.
또한, 일부 실시예에 따르면, 미디어 데이터 추출기(830)와 파일 데이터 추출기(810)가 하나의 추출기 내에 포함될 수 있다. 즉, 하나의 데이터 추출기가 미디어 데이터와 미디어 데이터를 구분하지 않고 소스 데이터를 추출할 수도 있다. Also, according to some embodiments,
도5는 본 개시의 일 실시예에 따라 FEC 보호를 수행하고, FEC 보호된 패킷을 송신하는 제1 디바이스를 설명하기 위한 블록도이다. 5 is a block diagram illustrating a first device that performs FEC protection according to one embodiment of the present disclosure and transmits a FEC protected packet.
제 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 a loss of a packet. Various error correction methods for recovering an errored packet can be used in case of a packet error.
본 개시의 일부 실시예에 따르면, 제 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 comprise 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 correcting code for performing error detection and correction on its own.
상기 실시예에서, 제1 FEC 모듈(530) 및 제2 FEC 모듈(570)은 서로 독립되어 컨텐트 간의 상호작용이 발생하지 않을 수 있다. 이 때, FEC 소스 패킷은 소스 데이터를 기초로 생성되는 패킷이며, FEC 리페어 패킷은 소스 데이터를 기초로 향후 패킷에 오류가 발생한 경우 오류를 정정하기 위한 데이터를 포함하고 있는 패킷을 말한다. In the above embodiment, the
일부 실시예에 따르면, 오류가 발생하였으나, 리페어 패킷으로 복구가 불가능한 오류라고 판단되는 경우 제2 디바이스는 제 1 디바이스에게 재전송을 요청할 수 있다.According to some embodiments, the second device may request retransmission to the first device when it is determined that an error has occurred but the repair packet can not be recovered.
일부 실시예에 따르면, 통신부(170)는 MMTP 패킷을 기초로 생성된 FEC 소스 패킷 및 FEC 리페어 패킷을 제2 디바이스(200)로 송신할 수 있다. According to some embodiments, the
도6은 본 개시의 일 실시예에 따라 제1 디바이스가 FEC 보호를 수행하면서 데이터를 송신하는 방법을 설명하기 위한 흐름도이다. 6 is a flow chart illustrating a method by which a first device transmits data while performing FEC protection 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. It will be apparent to those skilled in the art that a detailed description will be omitted.
단계 S670에서, 통신부(170)는 FEC 모듈에서 생성된 FEC 소스 패킷 및 FEC 리페어 패킷을 제2 디바이스(200)로 송신할 수 있다. In step S670, the
도7은 본 개시의 일 실시예에 따라 MMT 형식의 데이터를 송수신하는 제1 디바이스(100)와 제2 디바이스(200)의 계층 구조를 도시한다.FIG. 7 illustrates a hierarchical structure of a
본 개시에서, MMT 계층 구조는 논리적 구조를 포함할 수 있다. 계층 구조는 정의된 프로토콜에 의해 분화된 네트워크의 모델, 구조를 의미할 수 있으며, 각각의 계층에서의 수행되어야 하는 동작을 본 개시의 디바이스 내의 구성요소가 수행할 수 있다. In this disclosure, the MMT hierarchy may include a logical structure. The hierarchy may refer to a model or structure of a network that is differentiated by a defined protocol, and the operations within each layer of the device of this disclosure may be performed on behaviors that must be performed at each layer.
일부 실시예에 따르면, 제1 디바이스(100)의 MMT 계층 구조(MMT architecture)는 MMT 어플리케이션 계층(710), MMT 프로토콜 계층(730) 및 전송 계층(750)을 포함할 수 있다.
According to some embodiments, the MMT architecture of the
일부 실시예에 따르면, 제2 디바이스(200)의 MMT 계층 구조(MMT architecture)도 MMT 어플리케이션 계층(770), MMT 프로토콜 계층(780) 및 전송 계층(790)을 포함할 수 있다.
According to some embodiments, the 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, in the
일부 실시예에 따르면, 제2 디바이스(200)의 전송 계층(790)에서는 제1 디바이스(100)로부터 패킷을 수신하는 작업이 수행될 수 있고, MMT 프로토콜 계층(780)에서는 수신된 패킷을 기초로 소스 데이터를 생성하는 작업이 수행될 수 있으며, MMT 어플리케이션 계층(770)에서는 소스 데이터에 기초하여 컨텐트를 복원하는 작업이 수행될 수 있다. According to some embodiments, in the
도8은 본 개시의 일 실시예에 따라 제1 디바이스(100)가 하나의 컨텐트를 송신함에 있어서, 각 MMT 계층 구조에서 수행하는 프로세스를 도시한다. FIG. 8 illustrates a process performed by each MMT hierarchical structure in which a
일부 실시예에 따르면, MMT 어플리케이션 계층(710)에서는, 컨텐트에 기초하여 소스 데이터를 추출하는 작업이 이루어 질 수 있다. According to some embodiments, in the
일부 실시예에 따르면, 컨텐트가 미디어 데이터인 경우, 미디어 데이터 추출기(Media data extractor)(830)로 소스 데이터를 추출하고, 컨텐트가 미디어 데이터가 아닌 모든 경우에는, 파일 데이터 추출기(File data extractor)(810)로 소스 데이터를 추출할 수 있다.According to some embodiments, if the content is media data, the
MMT 어플리케이션 계층(710)에서 컨텐트에 기초하여 소스 데이터를 추출하는 과정은 도4에서 설명한 내용과 대응될 수 있다. The process of extracting the source data based on the 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 signaling message may be transmitted by the
또한 일부 실시예에 따르면, 제2 디바이스(200)가 시그널링 메시지를 제1 디바이스(100)로 송신하는 경우, 제2 디바이스(200)로부터 송신된 시그널링 패킷을 제1 디바이스(100)가 수신하여 제1 디바이스(100)의 시그널링 프로세서(150)가 시그널링 패킷의 언패킷화를 수행할 수도 있다. According to some embodiments, when the
MMT 프로토콜 계층(730)에서 생성된 패킷은 전송 계층(750)에서 제2 디바이스(200)로 송신될 수 있다.The packet generated in the
MMTP 패킷 전송을 위한 전송 계층(750)의 설정은 시그널링 패킷 전송을 위한 전송 계층(750)의 설정과는 상이할 수 있다. 예를 들어, 잡음이 많은 채널에서 데이터를 전송하는 경우, 시그널링 메시지는 TCP 프로토콜의 top에서 전송되는 반면, MMT 패킷은 FEC 인코딩 수행 후 UDP 프로토콜의 top에서 전송될 수 있다. The setting of the
도9는 본 발명의 다른 일 실시예에 따라 제1 디바이스(100)가 두 개의 컨텐트를 병렬적으로 송신하는 프로세스를 도시한다. 9 illustrates a process by which a
일부 실시예에 따르면, 제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 a first MMTP packet based on the first content, generating a second packet based on the second content and generating a second MMTP packet based on the first content and the second content, May correspond to the description of FIG.
도10은 본 개시의 일 실시예에 따라 제1 디바이스(100)가 N개의 컨텐트를 송신함에 있어서, 각 MMT 계층 구조에서 수행하는 일련의 프로세스를 도시한다. 10 illustrates a series of processes performed by each MMT hierarchy in 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 proceeds as many times as the number of contents, the
각 컨텐트의 처리 과정은 병렬적으로 진행될 수 있지만, 동시에 진행되는 부분이 있더라도 상호 작용하지 않고 독립적으로 수행될 수 있다.The processing of each content can be performed in parallel, but can be performed independently without interaction even if there is a part that proceeds at the same time.
전송 계층(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 one embodiment of the present disclosure;
본 개시의 일 실시예에서 제2 디바이스(200)는 제1 프로세서(1110), 제2 프로세서(1130), 시그널링 프로세서(1150) 및 통신부(1170)를 포함할 수 있다. In one embodiment of the present disclosure, the
도11을 참조하면, 제1 프로세서(1110)가 제1 패킷에 기초하여 제1 컨텐트를 생성하고, 제2 프로세서(1130)가 제2 패킷에 기초하여 제2 컨텐트를 생성하며, 시그널링 프로세서(1150)는 시그널링 패킷에 기초하여 시그널링 컨텐트를 생성할 수 있다.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 operations of the
도12는 본 개시의 일 실시예에 따라 제2 디바이스가 패킷을 수신하는 방법을 나타낸 흐름도이다.12 is a flow diagram illustrating a method by which a second device receives a packet in accordance with one embodiment of the present disclosure;
단계 S1210에서, 제2 디바이스(200)는 제1 패킷, 제2 패킷 및 시그널링 패킷을 수신할 수 있다. 일부 실시예에 따르면 제2 디바이스(200)는 통신부를 이용하여 제1 패킷, 제2 패킷 및 시그널링 패킷을 수신할 수 있다.In step S1210, the
일부 실시예에서, 제1 패킷은 제1 FCE 소스 패킷 및 제1 FEC 리페어 패킷을 포함할 수 있고, 제2 패킷은 제2 FCE 소스 패킷 및 제2 FEC 리페어 패킷을 포함할 수 있다. In some embodiments, the first packet may comprise a first FCE source packet and a first FEC repair packet, and the second packet may comprise a second FCE source packet and a second FEC repair packet.
단계 S1230에서, 제2 디바이스(200)는 제1 패킷을 기초로 제1 컨텐트를 생성할 수 있다. 일부 실시예에서, 제2 디바이스(200)는 제1 프로세서(1110)를 이용하여 제1 패킷을 기초로 제1 컨텐트를 생성할 수 있다.In step S1230, the
단계 S1250에서, 제2 디바이스(200)는 제2 패킷을 기초로 제2 컨텐트를 생성할 수 있다. 일부 실시예에서, 제2 디바이스(200)는 제2 프로세서(1130)를 이용하여 제2 패킷을 기초로 제2 컨텐트를 생성할 수 있다.In step S1250, the
단계 S1270에서, 제2 디바이스(200)는 시그널링 패킷을 기초로 시그널링 컨텐트를 생성할 수 있다. 일부 실시예에서, 제2 디바이스(200)는 시그널링 프로세서(1150)를 이용하여 시그널링 패킷을 기초로 시그널링 컨텐트를 생성할 수 있다.In step S1270, the
일부 실시예에 따르면, 단계 S1230 내지 S1270은 병렬적으로 수행될 수 있다. 일부 실시예에 따르면, 단계 S1230이 수행되는 동안 단계 S1250 및 단계 S1270이 수행될 수 있다. 또한 일부 실시예에 따르면, 단계 S1230이 수행되는 동안 단계 S1250 및 단계 S1270이 동시에 수행될 수 있다.According to some embodiments, steps S1230 through S1270 may be performed in parallel. According to some embodiments, steps S1250 and S1270 may be performed while step S1230 is being performed. Also, according to some embodiments, steps S1250 and S1270 can be performed simultaneously while step S1230 is performed.
일부 실시예에 따르면, 통신부(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개 및 시그널링 컨텐트 생성 단계를 병렬적으로 수행할 수 있다. If the received packet is N in another embodiment, the
도13은 본 개시의 일 실시예에 따라 제2 디바이스가 하나의 패킷을 수신한 경우, 수신한 패킷을 기초로 컨텐트를 생성하는 방법을 자세히 나타낸 흐름도이다.13 is a flowchart illustrating a method of generating content based on a received packet when a second device receives a 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, if the received packet is media data having an MPU having a specific structure, the
단계 S1370에서, 수신한 패킷이 어떤 특정 구조의 MPU를 가진 미디어 데이터가 아닌 모든 경우에, 제2 디바이스(200)는 파일 데이터 복원기(1640)로 소스 데이터를 복원할 수 있다. In step S1370, the
일부 실시예에 따르면, 미디어 데이터 복원기(1650) 및 파일 데이터 복원기(1640)는 제1 프로세서(1110)에 포함될 수 있다. According to some embodiments, the
단계 1390에서, 제2 디바이스(200)는 미디어 데이터 복원기(1650) 또는 파일 데이터 복원기(1640)로 추출한 소스 데이터를 기초로 컨텐트를 생성할 수 있다. In step 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 that the
일부 실시예에 따르면 도13의 각 단계는 복수의 패킷을 동시에 수신하는 경우에도 적용될 수 있다. 즉, 각 패킷에 기초하여 복수의 컨텐트를 생성할 때, 각각의 컨텐트가 도13의 각 단계에 기초하여 생성될 수 있다. According to some embodiments, each step of FIG. 13 can be applied to the case of simultaneously receiving a plurality of packets. That is, when a plurality of contents are generated based on each packet, each content can be generated based on each step in Fig.
또한, 일부 실시예에 따르면, 미디어 데이터와 미디어 데이터가 아닌 그 밖의 데이터를 구분하지 않고, 하나의 복원기로 소스 데이터를 복원할 수 있다. 즉, 미디어 데이터 복원기(1650)와 파일 데이터 복원기(1640)가 하나의 복원기 내에 포함될 수 있다.In addition, according to some embodiments, it is possible to restore the source data with one reconstructor without distinguishing the media data from other data other than the media data. That is, the
도14는 본 개시의 일 실시예에 따라 FEC 보호된 패킷을 수신하고, 수신한 FEC 패킷을 기초로 컨텐트를 생성하는 제2 디바이스(200)를 설명하기 위한 블록도이다.14 is a block diagram illustrating a
제1 디바이스(100)로부터 제2 디바이스(200)로 송신된 패킷은 제 2 디바이스(200)에서 수신되는 동안 오류가 발생할 수 있다. 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, the
일부 실시예에 따르면, FEC 소스 패킷은 소스 데이터를 기초로 생성되는 패킷이며, FEC 리페어 패킷은 소스 데이터를 기초로 향후 패킷에 오류가 발생한 경우 오류를 정정하기 위한 데이터를 포함하고 있는 패킷을 포함할 수 있다.According to some embodiments, the FEC source packet is a packet that is 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 .
일부 실시예에 따르면, 오류가 발생하엿으나, 리페어 패킷으로 복구가 불가능한 오류라고 판단되는 경우 제2 디바이스(200)는 제 1 디바이스(100)에게 재전송을 요청할 수 있다.According to some embodiments, the
도15는 본 개시의 일 실시예에 따라 제2 디바이스가 FEC 보호된 패킷을 수신하고, 복원하는 방법을 설명하기 위한 흐름도이다. 15 is a flow diagram illustrating a method for a second device to receive and recover FEC protected packets in accordance with one embodiment of the present disclosure;
단계 S1510에서, 제2 디바이스(200)는 FEC 소스 패킷 및 FEC 리페어 패킷을 수신할 수 있다. 일부 실시예에 따르면, 제2 디바이스(200)가 포함하는 통신부가 FEC 소스 패킷 및 FEC 리페어 패킷을 수신할 수 있다.In step S1510, the
단계 S1350에서, 제2 디바이스(200)는 FEC 소스 패킷에 오류가 발생되었는지 판단할 수 있다. In step S1350, the
단계 S1550에서, 제2 디바이스(200)는 FEC 소스 패킷에 오류가 발생된 경우, FEC 리페어 패킷에 기초하여 FEC 소스 패킷을 복구할 수 있다. In step S1550, if an error occurs in the FEC source packet, the
일부 실시예에 따르면, 제 2 디바이스(200)는 FEC 소스 패킷에 오류가 발생한 경우, FEC 소스 패킷의 오류를 정정할 수 있는지 판단할 수 있다. 판단 결과에 기초하여, 제 2 디바이스(200)는 FEC 리페어 패킷에 기초하여 FEC 소스 패킷을 복구하거나, 제 1 디바이스(100)에게 오류가 발생한 소스 패킷을 재전송해줄 것을 요청할 수 있다.According to some embodiments, 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 by the
도16은 본 개시의 일 실시예에 따라 제2 디바이스가 하나의 패킷을 수신하고, 수신된 패킷을 기초로 컨텐트를 생성함에 있어서, 각 MMT 계층 구조에서 수행하는 일련의 프로세스를 도시한다.16 illustrates a series of processes performed by each MMT hierarchy in a second device receiving a packet and generating content based on the received packet according to one embodiment of the present disclosure.
본 개시에서, MMT 계층 구조는 논리적 구조를 포함할 수 있다. In this disclosure, the MMT hierarchy may include a logical structure.
계층 구조는 정의된 프로토콜에 의해 분화된 네트워크의 모델, 구조를 의미할 수 있으며, 각각의 계층에서의 수행되어야 하는 동작을 본원발명의 디바이스 내의 구성요소가 대응되는 동작을 수행할 수 있다. The hierarchical structure may mean a model or a 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, the 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, the process of restoring source data in the
일부 실시예에 따르면, 제2 디바이스(200)의 MMT 프로토콜 계층(780)에서 제1 패킷을 기초로 제1 컨텐트를 생성하는 단계, 제2 패킷을 기초로 제2 컨텐트를 생성하는 단계 및 시그널링 패킷을 기초로 시그널링 컨텐트를 생성하는 단계가 병렬적으로 이루어 질 수 있다. 이는 도12에서 설명한 내용과 대응된다. According to some embodiments, generating the first content based on the first packet in the
본 개시의 일 실시예에서 파일 프로세서(1610)는 파일 데이터 복원기(1640)를 이용하여 복원된 소스 데이터를 컨텐트로 복원할 수 있고, 미디어 프로세서(1620)는 미디어 데이터 복원기(1650)를 이용하여 복원된 소스 데이터를 컨텐트로 복원할 수 있으며, 제2 시그널링 프로세서(1630)는 시그널링 컨텐트 복원기(1660)를 이용하여 복원된 소스 데이터를 시그널링 컨텐트로 복원할 수 있다. In one embodiment of the present disclosure, the
구현 예에 따라, 제2 디바이스(200)는 파일 프로세서(1610), 미디어 프로세서(1620) 및 제2 시그널링 프로세서(1630)를 포함하지 않을 수 있다. According to an implementation, the
본 발명의 다른 일 실시예에서는, MMT 프로토콜 계층(780)에서 FEC 소스 패킷의 손실이 있는 경우 FEC 리페어 패킷 기초로 FEC 소스 패킷을 복원할 수 있다. 복원된 소스 패킷은 MMTP 패킷으로 생성될 수 있다.In another embodiment of the present invention, the FEC source packet may be recovered based on the FEC repair packet if there is a loss of the FEC source packet in the
본 개시의 일 실시예에서 시그널링 프로세서(1150)는 시그널링 패킷을 언패킷화 하고, 시그널링 컨텐트 복원기(1660)는 언패킷화된 시그널링 패킷에 기초하여 소스 데이터를 복원하며, 제2 시그널링 프로세서(1630)는 복원된 소스 데이터에 기초하여 MMT ADC, MMT CI 등을 포함하는 시그널링 컨텐트를 생성할 수 있다. In one 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 계층 구조에서 수행하는 일련의 프로세스를 도시한다.Figure 17 illustrates a series of processes performed by each MMT hierarchy in a second device receiving a plurality of packets and generating content based on received packets in accordance with one embodiment of the present disclosure.
제2 디바이스(200)는 수신한 패킷의 개수와 동일한 수의 프로세서, 버퍼 및 FEC 모듈을 동적으로 할당할 수 있다. The
이 때, FEC 보호 된 패킷을 수신한 경우, FEC 소스 패킷과 FEC 리페어 패킷은 하나의 패킷으로 간주하여 프로세서, 버퍼 및 FEC 모듈을 동적으로 할당할 수 있다. At this time, when the FEC protected packet is received, the FEC source packet and the FEC repair packet can be regarded as one packet, and the processor, the buffer, and the 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, the received first FEC repair packet and the first FEC source packet may be transmitted from the
일부 실시예에 다르면, 수신된 제2 FEC 리페어 패킷 및 제2 FEC 소스 패킷도 전송 계층(790)으로부터 제2 프로세서(1130)로 전송되었다가 제2 버퍼(1750)에 저장될 수 있고, 제2 FEC 모듈(1430)은 제2 FEC 리페어 패킷을 이용하여 제2 FEC 소스 패킷을 복원하고, 복원된 소스 데이터에 기초하여 제2 MMTP 패킷을 생성할 수 있다.In 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 are the same A process can 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 the MMTP packet generation process can be performed simultaneously, but can be performed independently without separating and interacting with each other.
본 개시의 일 실시예에서 생성된 MMTP 패킷들은 다시 버퍼를 거쳐 프로세서(1670)로 전송되어, 언패킷화 된 후, 소스 데이터로 복원되고, MMT 어플리케이션 계층(770)에서 컨텐트로 복원될 수 있다. The MMTP packets generated in one embodiment of the present disclosure may be sent back to the
다른 실시예에서, 에러 수정이 불필요한 경우, 전송 계층(790)은 FEC 소스 패킷 및 FEC 리페어 패킷을 대신하여 MMTP 패킷을 직접 수신할 수 있고, MMTP 패킷을 수신한 경우에는 FEC 모듈을 거칠 필요 없이, 프로세서(1670)에서 언패킷화 작업을 수행할 수 있다. In another embodiment, if no error correction is required, the
본 발명은 일정 시간 동안 디바이스가 송수신할 수 있는 데이터의 볼륨(volume of data)이 증가한다는 측면에서 복수의 데이터를 순차적으로 송수신하는 경우와 비교하여 발전을 이루었다. 복수의 데이터를 병렬적으로 송수신하는 본 개시의 일 실시예와 복수의 데이터를 순차적으로 송수신하는 경우의 차이는 다음 표에서 잘 드러난다.The present invention has been developed in comparison with the case where a plurality of pieces of data are sequentially transmitted and received in the sense that the volume of data that can be transmitted and received by a device increases for a predetermined period of time. A difference between the embodiment of the present disclosure for transmitting and receiving a plurality of data in parallel and the case of sequentially transmitting and receiving a plurality of data is well shown in the following table.
전송 데이터의 크기(KB)
Size of transmitted data (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 conditions.
표의 내용을 살펴보면, 하나의 비디오 파일을 송수신한 경우, 순차 송수신한 경우와 본 발명은 수신 데이터의 크기나 정보 누락 비율이 큰 차이가 없었다. In the table, there is no significant difference between the case of transmitting and receiving one video file and the case of sequentially transmitting and receiving and the size of the received data or the information missing ratio in the present invention.
또, 하나의 웹 카메라 데이터만을 송신한 경에도 순차 송수신한 경우와 본 발명은 수신 데이터의 볼륨이나 정보 누락 비율은 큰 차이가 없었다. In addition, there is no significant difference between the case of sequentially transmitting and receiving even one web camera data and the volume or information omission ratio of received data in the present invention.
그러나 하나의 웹 카메라 데이터와 하나의 비디오 파일(2.86 Mbps bitrate)을 동시에 송신한 경우, 순차적으로 송수신한 경우는 8초 동안 웹 카메라 데이터 총 920 KB 중 826 KB 만을 수신하였고, 정보 누락 비율이 10%인 반면, 본 개시의 일 실시예는 웹 카메라 데이터 총 920 KB 전부를 수신하고도 10KB를 더 수신하여 정보 누락 비율이 -1% 인 것을 확인 할 수 있다. However, in case that one web camera data and one video file (2.86 Mbps bitrate) were transmitted at the same time, only 826 KB of 920 KB of web camera data was received for 8 seconds, , Whereas one embodiment of the present disclosure receives all 920 KB of web camera data and receives 10 KB more to confirm that the information dropout rate is -1%.
또한, 하나의 웹 카메라 데이터와 하나의 비디오 파일(2.86 Mbps bitrate) 그리고 다른 하나의 비디오 파일(2.97 Mbps bitrate)을 동시에 송신한 경우 즉, 3개의 컨텐트를 동시에 송신한 경우에는, 순차적으로 송수신하였을 때, 8초 동안 웹 카메라 데이터 총 920 KB 중 657 KB 만을 수신하였고, 정보 누락 비율이 28%인 반면, 본 개시의 일 실시예는 웹 카메라 데이터 총 920 KB 전부를 수신하여 정보 누락 비율이 0% 인 것을 확인 할 수 있다.In the case where 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, , Only 657 KB of the total 920 KB of web camera data was received for 8 seconds, and the information missing ratio was 28%. In one embodiment of the present disclosure, a total of 920 KB of web camera data is received, Can be confirmed.
즉, 하나의 컨텐트를 송신하는 경우, 8초 동안 본 발명과 순차 송수신한 경우 는 비슷한 성과를 보였으나, 두 개의 컨텐트를 동시에 송신하는 경우, 본 발명 일 실시예에 의한 데이터 수신율이, 순차 송수신한 경우에 의한 데이터 수신율에 비해 더 높았고, 세 개의 컨텐트를 동시에 송신하는 경우에는, 두 개의 컨텐트를 동시에 송신하는 경우보다 더 큰 차이로 본 개시의 일 실시예에 의한 데이터 수신율이, 순차 송수신한 경우에 의한 데이터 수신율에 비하여 높다는 것을 알 수 있다. That is, in case of transmitting one content, the case of successive transmission and reception with the present invention for 8 seconds is similar to that of the present invention. However, when two contents are simultaneously transmitted, the data reception rate according to the embodiment of the present invention is sequentially transmitted and received In the case of transmitting three contents simultaneously, the data reception rate according to one embodiment of the present disclosure is larger than that when two contents are simultaneously transmitted, and when the three contents are simultaneously transmitted, Which is higher than the data reception rate due to the data transmission rate.
이를 통해 동시에 전송 되는 컨텐트의 수가 늘어날수록, 본 발명의 실시예에 의한 데이터 수신율과, 순차 송수신한 경우에 의한 데이터 수신율의 차이가 점점 커질 것을 유추할 수 있다. It can be inferred that the difference between the data reception rate according to the embodiment of the present invention and the data reception rate due to the sequential transmission and reception gradually increases as the number of contents simultaneously transmitted increases.
본 발명은 각 컨텐트 마다 분리된 별도의 프로세스를 사용함으로써 디바이스의 자원 활용도를 높이고, 데이터 송수신의 속도 및 품질을 향상시킬 수 있다. The present invention can increase the resource utilization of the device and improve the speed and quality of data transmission / reception by using a separate process separated for each content.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일 형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It is to be understood that the foregoing description of the disclosure is for the purpose of illustration and that those skilled in the art will readily appreciate that other embodiments may be readily devised without departing from the spirit or essential characteristics of the disclosure will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single type may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.
본 개시의 범위는 위 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present disclosure is defined by the appended claims rather than the foregoing detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present disclosure do.
Claims (24)
제1 컨텐트에 기초하여 제1 패킷을 생성하는 제1 프로세서;
제2 컨텐트에 기초하여 제2 패킷을 생성하는 제2 프로세서;
상기 제1 컨텐트 및 상기 제2 컨텐트에 기초하여 시그널링 패킷을 생성하는 시그널링 프로세서; 및
상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 상기 제2 디바이스로 송신하는 통신부를 포함하고,
상기 제1 프로세서, 상기 제2 프로세서 및 상기 시그널링 프로세서는 병렬적으로 상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 생성하는 것을 특징으로 하는 디바이스.A first device for transmitting a packet of an MMT (MPEG Media Transport) format to a second device,
A first processor for generating a first packet based on the first content;
A second processor for generating a second packet based on the second content;
A signaling processor for generating a signaling packet based on the first content and the second content; And
And a communication unit for transmitting the first packet, the second packet and the signaling packet to the second device,
Wherein the first processor, the second processor and the signaling processor generate the first packet, the second packet and the signaling packet in parallel.
상기 제1 프로세서, 상기 제2 프로세서 및 상기 시그널링 프로세서는,
상기 제1 프로세서가 상기 제1 패킷을 생성하는 동안, 상기 제2 프로세서 및 상기 시그널링 프로세서가 각각 상기 제2 패킷 및 상기 시그널링 패킷을 생성하는 것을 특징으로 하는 디바이스.The method according to claim 1,
The first processor, the second processor, and the signaling processor,
Wherein the second processor and the signaling processor generate the second packet and the signaling packet, respectively, while the first processor is generating the first packet.
상기 제1 디바이스는,
미디어 데이터 추출기(media data extractor) 및 파일 데이터 추출기(file data extractor)를 더 포함하고,
상기 제 1 컨텐트가 미디어 데이터인 경우, 상기 미디어 데이터 추출기가 소스 데이터를 추출하고,
상기 제 1 컨텐트가 미디어 데이터가 아닌 경우, 상기 파일 데이터 추출기가 소스 데이터를 추출하며,
상기 제 1 프로세서는 상기 추출된 소스 데이터를 기초로 상기 제1 패킷을 생성하는 것을 특징으로 하는 디바이스.The method according to claim 1,
The first device comprising:
Further comprising a media data extractor and a file data extractor,
If the first content is media data, the media data extractor extracts the source data,
If the first content is not media data, the file data extractor extracts the source data,
And the first processor generates the first packet based on the extracted source data.
상기 제1 프로세서는 상기 제1 패킷을 저장하는 제1 버퍼를 더 포함하고,
상기 제2 프로세서는 상기 제2 패킷을 저장하는 제2 버퍼를 더 포함하는 것을 특징으로 하는 디바이스.The method according to claim 1,
Wherein the first processor further comprises a first buffer for storing the first packet,
And 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 according to claim 1,
The first device comprising:
A first FEC module for generating a first FEC repair packet and a first FEC source packet based on the first packet;
Further comprising a second FEC module for generating a second FEC repair packet and a second FEC source packet based on the second packet,
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 The device to transmit.
송신할 컨텐트가 복수개인 경우,
상기 데이터 제1 디바이스는 상기 송신할 컨텐트의 숫자에 기초하여, 병렬적으로 생성하는 패킷의 개수를 결정하는 것을 특징으로 하는 디바이스. The method according to claim 1,
When there are a plurality of contents to be transmitted,
Wherein the data 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 컨텐트 및 상기 시그널링 컨텐트를 생성하는 것을 특징으로 하는 디바이스.A second device for receiving a packet of an MMT (MPEG Media Transport) format from a first device,
A communication unit for receiving a first packet, a second packet and a signaling packet from the first device;
A first processor for generating a first content based on the first packet;
A second processor for generating a second content based on the second packet; And
And a signaling processor for generating signaling content for the first packet and the second packet based on the signaling 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.
상기 제1 프로세서, 상기 제2 프로세서 및 상기 시그널링 프로세서는,
상기 제1 프로세서가 상기 제1 컨텐트를 생성하는 동안, 상기 제2 프로세서 및 상기 시그널링 프로세서가 각각 상기 제2 컨텐트 및 상기 시그널링 컨텐트를 생성하는 것을 특징으로 하는 디바이스.8. The method of claim 7,
The first processor, the second processor, and the signaling processor,
Wherein the second processor and the signaling processor generate the second content and the signaling content, respectively, while the first processor is generating the first content.
상기 제2 디바이스는,
미디어 데이터 복원기 및 파일 데이터 복원기를 더 포함하고,
상기 제1 패킷이 미디어 패킷인 경우, 상기 미디어 데이터 복원기가 소스 데이터를 생성하고,
상기 제1 패킷이 미디어 패킷이 아닌 경우, 상기 파일 데이터 복원기가 소스 데이터를 생성하여, 상기 소스 데이터를 기초로 컨텐트를 생성하는 것을 특징으로 하는 디바이스.8. The method of claim 7,
Wherein the second device comprises:
A media data restorer and a file data restorer,
If the first packet is a media packet, the media data decompressor generates source data,
Wherein if the first packet is not a media packet, the file data decompressor generates source data and generates content based on the source data.
상기 제1 프로세서는 상기 제1 패킷을 저장하는 제1 버퍼를 더 포함하고,
상기 제2 프로세서는 상기 제2 패킷을 저장하는 제2 버퍼를 더 포함하는 것을 특징으로 하는 디바이스.8. The method of claim 7,
Wherein the first processor further comprises a first buffer for storing the first packet,
And 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 모듈을 더 포함하는 디바이스.8. The method of claim 7,
Wherein 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,
If the source packet in the first FEC source packet and the second FEC source packet are missing,
A first FEC module for restoring the first FEC source packet based on the first FEC repair packet; And
And a second FEC module for restoring the second FEC source packet based on the second FEC repair packet.
수신한 패킷이 복수개인 경우,
상기 수신한 패킷의 숫자에 기초하여, 병렬적으로 생성하는 컨텐트의 개수를 결정하는 제어부를 더 포함하는 것을 특징으로 하는 디바이스. 8. The method of claim 7,
When there are a plurality of received packets,
Further comprising a control unit for determining the number of contents to be generated in parallel based on the number of the received packets.
제1 컨텐트에 기초하여 제1 패킷을 생성하는 단계;
제2 컨텐트에 기초하여 제2 패킷을 생성하는 단계;
상기 제1 컨텐트 및 상기 제2 컨텐트에 기초하여 시그널링 패킷을 생성하는 단계;
상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 상기 제2 디바이스로 송신하는 단계를 포함하고,
상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 생성하는 단계를 병렬적으로 수행하는 것을 특징으로 하는 데이터 송신 방법.A method for a first device to transmit data in an MMT (MPEG Media Transport) format to a 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 the second content;
And transmitting the first packet, the second packet and the signaling packet to the second device,
And generating the first packet, the second packet, and the signaling packet in parallel.
상기 제1 패킷, 상기 제2 패킷 및 상기 시그널링 패킷을 생성하는 단계는,
상기 제1 패킷을 생성하는 단계가 진행되는 동안, 상기 제2 패킷을 생성하는 단계 및 상기 시그널링 패킷을 생성하는 단계가 진행되는 것을 특징으로 하는 데이터 송신 방법.14. The method of claim 13,
Wherein the generating the first packet, the second packet, and the signaling packet comprises:
Generating the second packet while the step of generating the first packet proceeds, Wherein the step of generating a signaling packet is performed.
상기 제1 패킷을 생성하는 단계는,
상기 제1 컨텐트가 미디어 데이터를 포함하는 경우, 미디어 데이터 추출기(media data extractor)가 소스 데이터를 추출하고, 상기 제1 컨텐트가 미디어 데이터를 포함하지 않는 경우, 파일 데이터 추출기(file data extractor)가 소스 데이터를 추출하는 단계를 더 포함하고,
상기 추출한 소스 데이터를 기초로 상기 제1 패킷을 생성하는 것을 특징으로 하는 데이터 송신 방법.14. The method of claim 13,
Wherein the generating of the first packet comprises:
If the first content includes media data, the media data extractor extracts the source data, and if the first content does not include the media data, the file data extractor extracts the source Further comprising the step of extracting data,
And generates the first packet based on the extracted source data.
상기 제1 패킷 및 상기 제2 패킷을 생성하는 단계는,
제1 버퍼에 상기 제1 패킷을 저장하는 단계; 및
제2 버퍼에 상기 제2 패킷을 저장하는 단계를 더 포함하는 데이터 송신 방법.14. The method of claim 13,
Wherein the generating of the first packet and the second packet comprises:
Storing the first packet in a first buffer; And
And storing the second packet in a second buffer.
상기 제1 패킷을 생성하는 단계는,
상기 제1 패킷을 기초로 하여 제1 FEC 리페어 패킷 및 제1 FEC 소스 패킷을 생성하는 단계; 및
상기 제1 FEC 리페어 패킷, 상기 제1 FEC 소스 패킷을 상기 제2 디바이스로 송신하는 단계를 더 포함하는 데이터 송신 방법.14. The method of claim 13,
Wherein 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, the first FEC source packet to the second device And transmitting the data.
송신할 컨텐트가 복수개인 경우,
상기 송신할 컨텐트의 숫자에 기초하여, 병렬적으로 생성하는 패킷의 개수를 결정하는 단계를 더 포함하는 데이터 송신 방법.14. The method of claim 13,
When there are a plurality of contents to be transmitted,
Further comprising the step of 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 컨텐트 및 상기 시그널링 컨텐트를 생성하는 단계를 병렬적으로 수행하는 것을 특징으로 하는 데이터 수신 방법.A method for receiving data in an MMT (MPEG Media Transport) format from a first device to a second device,
Receiving a first packet, a second packet and a signaling packet from the first device;
Generating a first content based on the first packet;
Generating a second content based on the second packet;
And generating signaling content based on the signaling packet,
And generating the first content, the second content, and the signaling content in parallel.
상기 제1 컨텐트, 상기 제2 컨텐트 및 상기 시그널링 컨텐트를 생성하는 단계는,
상기 제1 컨텐트를 생성하는 동안, 상기 제2 컨텐트 및 상기 시그널링 컨텐트를 생성하는 것을 특징으로 하는 데이터 수신 방법. 20. The method of claim 19,
Wherein the generating the first content, the second content, and the signaling content comprises:
And generating the second content and the signaling content while generating the first content.
상기 제1 컨텐트를 생성하는 단계는,
상기 수신한 제1 패킷이 미디어 패킷인 경우, 미디어 데이터 복원기가 소스 데이터를 생성하고, 상기 수신한 제1 패킷이 미디어 패킷이 아닌 경우, 파일 데이터 복원기가 소스 데이터를 생성하는 단계를 더 포함하고,
상기 소스 데이터를 기초로 상기 제1 컨텐트를 생성하는 것을 특징으로 하는 데이터 수신 방법.20. The method of claim 19,
Wherein the generating the first content comprises:
Further comprising the step of the media data reconstructor generating the source data if the received first packet is a media packet and the file data reconstructor generating the source data if the received first packet is not a media packet,
And generates the first content based on the source data.
상기 제1 컨텐트 및 상기 제2 컨텐트를 생성하는 단계는,
제1 버퍼에 상기 제1 패킷을 저장하는 단계; 및
제2 버퍼에 상기 제2 패킷을 저장하는 단계를 더 포함하는 데이터 수신 방법.20. The method of claim 19,
Wherein the generating the first content and the second content comprises:
Storing the first packet in a first buffer; And
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 소스 패킷을 복원하는 단계를 더 포함하는 데이터 수신 방법.20. The method of claim 19,
Receiving a first packet, a second packet and a signaling packet from the first device,
Wherein the first packet includes a first FEC repair packet, a first FEC source packet, and the second packet includes a second FEC repair packet and a second FEC source packet,
Wherein the generating the first content content comprises:
If the source packet in the first FEC source packet is missing,
And restoring the first FEC source packet based on the first FEC repair packet.
수신한 패킷이 복수개인 경우,
상기 수신한 패킷의 숫자에 기초하여, 병렬적으로 생성하는 컨텐트의 개수를 결정하는 것을 특징으로 하는 데이터 수신 방법.20. The method of claim 19,
When there are a plurality of received packets,
And determines the number of contents to be generated in parallel based on the number of the 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 true KR20150079399A (en) | 2015-07-08 |
KR102191970B1 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 (5)
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 |
KR20120084234A (en) * | 2011-01-19 | 2012-07-27 | 삼성전자주식회사 | Method for delivering mmt access unit for mpeg media transport |
KR20130057404A (en) * | 2011-11-23 | 2013-05-31 | 한국전자통신연구원 | Method and apparatus for streaming service providing scalability and view information |
KR20130101967A (en) * | 2012-02-27 | 2013-09-16 | 삼성전자주식회사 | 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 (5)
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 |
KR20120084234A (en) * | 2011-01-19 | 2012-07-27 | 삼성전자주식회사 | Method for delivering mmt access unit for mpeg media transport |
KR20130057404A (en) * | 2011-11-23 | 2013-05-31 | 한국전자통신연구원 | Method and apparatus for streaming service providing scalability and view information |
KR20130101967A (en) * | 2012-02-27 | 2013-09-16 | 삼성전자주식회사 | Apparatus and method for transmitting and receiving packets with forward error correction schemes |
Also Published As
Publication number | Publication date |
---|---|
KR102191970B1 (en) | 2020-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5442816B2 (en) | Streaming and buffering using variable FEC overhead and protection period | |
US9246630B2 (en) | Method, device, and system for forward error correction | |
CN110224793B (en) | Self-adaptive FEC method based on media content | |
KR102305410B1 (en) | Method and apparatus for transmitting/receiving packet in a communication system | |
WO2011079763A1 (en) | Method for processing forward error correction (fec) data, device and system thereof | |
TW201001967A (en) | Communication transmitter, communication receiver, packet redundancy method and packet recovery method | |
US11876723B2 (en) | Method and apparatus for transmitting and receiving packet in communication system | |
US9729903B2 (en) | Data transmitting device and method | |
JP5344541B2 (en) | Data transmission apparatus, transmission method and program | |
JP2007028241A (en) | Video image coding/transmitting device, video image coding/transmitting method, video image coding/transmitting program, and its record medium | |
US9667384B2 (en) | Apparatus and method for transmitting and receiving forward error correction packet | |
EP2375614B1 (en) | Method for broadcasting multimedia content | |
KR102163338B1 (en) | Apparatus and method for transmitting and receiving packet in a broadcasting and communication system | |
EP3125455B1 (en) | Method and apparatus for generating and recovering packet in broadcasting and/or communication system | |
KR20150050133A (en) | Method and apparatus for transmitting and receiving packet in a communication system | |
EP2842253B1 (en) | Apparatus and method for transmitting a packet in a communication system | |
KR20130008438A (en) | Methods of controlling of forward error correction in multimedia packet transport network | |
KR102191970B1 (en) | Apparatus and Method for Transmitting Data | |
CN112769523A (en) | Self-adaptive FEC method and system based on media content | |
CN113783661B (en) | Method and apparatus for transmitting and receiving packet in communication system | |
JP2016134673A (en) | Transmission device, transmission method and program | |
KR20140011514A (en) | Apparatus and method for transmitting/receiving data in communication system |
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 |