Apparatus and method for transmitting and receiving hybrid packets in a broadcasting and communication system using error correction source blocks and MPEG media transport assets
10051266 ยท 2018-08-14
Assignee
Inventors
Cpc classification
International classification
H04N19/67
ELECTRICITY
H03M13/35
ELECTRICITY
H03M13/29
ELECTRICITY
Abstract
A method of transmitting a complex content packet in a broadcasting and communication system is provided. The method includes creating an Forward Error Correction (FEC) source block by using at least one MMT Processing Unit (MPU) included in at least one MPEG Media Transport (MMT) asset, and transmitting the FEC source block, wherein the FEC source block is generated so that a boundary of the at least one MPU and a boundary of the FEC source block do not deviate.
Claims
1. A method of transmitting data in a communication system, the method comprising: obtaining at least one MPEG Media Transport (MMT) asset including at least one Media Processing Unit (MPU), each MPU including an identifier used to identify the MMT asset to which the MPU belongs; generating a forward error correction (FEC) source block including at least one MMT transport packet by using the at least one MPU included in the at least one MMT asset; and transmitting the generated FEC source block, wherein if one FEC source block is generated by using at least one MPU included in one MMT asset, the one FEC source block is generated by using only MMT transport packets generated from one MPU, or includes all MMT transport packets generated from the one MPU, and wherein, if the one FEC source block is generated by using plural MPUs included in plural MMT assets, the one FEC source block is generated so that the one FEC source block includes at least one of first MMT transport packets generated from a first MPU included in a first MMT asset and at least one of second MMT transport packets generated from a second MPU included in a second MMT asset and so that none of third MMT transport packets generated from a third MPU included in the first MMT asset and fourth MMT transport packets generated from a fourth MPU included in the second MMT asset are included within the one FEC source block, the third MPU being adjacent to the first MPU and the fourth MPU being adjacent to the second MPU.
2. The method of claim 1, further comprising: generating plural FEC sub-blocks from the generated FEC source block; and performing a sub-block encoding for the plural generated FEC sub-blocks.
3. The method of claim 2, wherein if the FEC source block is generated by using the at least one MPU included in the one MMT asset, in the generating of the FEC sub-blocks, one FEC sub-block is generated by using all MMT transport packets generated from one MPU, the plural FEC sub-blocks are generated by using all MMT transport packets generated from the one MPU, or the one FEC sub-block is generated by using the MMT transport packets generated from plural MPUs.
4. The method of claim 1, further comprising: generating plural FEC sub-blocks from the generated FEC source block; and encoding at least one of the generated FEC sub-blocks, wherein if the FEC source block is generated by using at least one MPU included in one MMT asset, the one FEC source block is generated by using only MMT transport packets generated from the one MPU, or includes all MMT transport packets generated from the one MPU.
5. An apparatus of transmitting data in a broadcasting and communication system, the apparatus comprising: at least one processor configured to: obtain at least one MPEG Media Transport (MMT) asset including at least one Media Processing Unit (MPU), each MPU including an identifier used to identify the MMT asset to which the MPU belongs, and generate a forward error correction (FEC) source block including at least one MMT transport packet by using the at least one MPU included in the at least one MMT asset; and a transmitter configured to transmit the generated FEC source block, wherein if one FEC source block is generated by using at least one MPU included in one MMT asset, the one FEC source block is generated by using only MMT transport packets generated from one MPU, or includes all MMT transport packets generated from the one MPU, and wherein, if the one FEC source block is generated by using plural MPUs included in plural MMT assets, the one FEC source block is generated so that the one FEC source block includes at least one of first MMT transport packets generated from a first MPU included in a first MMT asset and at least one of second MMT transport packets generated from a second MPU included in a second MMT asset and so that none of third MMT transport packets generated from a third MPU included in the first MMT asset and fourth MMT transport packets generated from a fourth MPU included in the second MMT asset are included within the one FEC source block, the third MPU being adjacent to the first MPU and the fourth MPU being adjacent to the second MPU.
6. The apparatus of claim 5, wherein the at least one processor is further configured to generate plural FEC sub-blocks from the generated FEC source block, and wherein the apparatus further comprises a second encoder configured to perform sub-block encoding for the at least one generated FEC sub-block.
7. The apparatus of claim 6, wherein if the FEC source block is generated by using the at least one MPU included in the one MMT asset, the sub-at least one processor is further configured to generate one FEC sub-block by using all MMT transport packets generated from one MPU, the plural FEC sub-blocks by using all MMT transport packets generated from the one MPU, or the one FEC sub-block by using the MMT transport packets generated from plural MPUs.
8. The apparatus of claim 5, further comprising: wherein the at least one processor is further configured to generate plural FEC sub-blocks from the generated FEC source block, wherein the apparatus further comprises a second encoder configured to encode at least one of the generated FEC sub-blocks, and wherein if the FEC source block is generated by using at least one MPU included in one MMT asset, the one FEC source block is generated by using only MMT transport packets generated from the at least one MPU, or includes all MMT transport packets generated from the at least one MPU.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The above and other aspects, features, and advantages of certain embodiments of the present disclosure will be more apparent from the following description taken in conjunction with the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9) Throughout the drawings, like reference numerals will be understood to refer to like parts, components, and structures.
DETAILED DESCRIPTION
(10) The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of various embodiments of the present disclosure as defined by the claims and their equivalents. It includes various specific details to assist in that understanding but these are to be regarded as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the various embodiments described herein can be made without departing from the scope and spirit of the present disclosure. In addition, descriptions of well-known functions constructions may be omitted for clarity and conciseness.
(11) The terms and words used in the following description and claims are not limited to the bibliographical meanings, but, are merely used by the inventor to enable a clear and consistent understanding of the present disclosure. Accordingly, it should be apparent to those skilled in the art that the following description of various embodiments of the present disclosure is provided for illustration purpose only and not for the purpose of limiting the present disclosure as defined by the appended claims and their equivalents.
(12) It is to be understood that the singular forms a, an, and the include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to a component surface includes reference to one or more of such surfaces.
(13) According to various embodiments of the present disclosure, a boundary of an MMT Processing Unit (MPU) and a boundary of a source block do not deviate from each other when the source block is generated in an MPEG Media Transport (MMT) system, thereby preventing a decoding delay from being generated during a decoding of the source block.
(14) Various embodiments of the present disclosure described below, may be applied to an MMT. However, various embodiments of the present disclosure are not limited to application to an MMT. The discussion provided in relation to the various embodiments of the present disclosure applied to an MMT is only an example for a convenience of description. Accordingly, various embodiments of the present disclosure may be applied to technologies other than an MMT. Further, terms used in the specification is expressed by a reference of standards related to the MMT. However, such terms are only for a convenience of expression, and a substantial technical spirit is not limited to only the MMT standards.
(15)
(16) Referring to
(17) The transmitting unit (host A) 105 transmits a data 150 to be transferred in an application layer 140 to a transport layer 141, and in the transport layer, a User Datagram Protocol (UDP) packet is created by adding an UDT to the data 150 to be transferred. Thereafter, in an IP layer 142, an IP packet is generated by adding an IP header to the UDP packet. Continuously, in a physical layer 143, a physical layer frame is generated by adding a frame header and frame footer to the IP packet. Thereafter, the physical layer frame 143 is transmitted to the receiving unit (host B) 110 via links of the routers 120 and 130. Because a data flow in the receiving unit (host B) 110 is an inverse relation to a data flow in the transmitting unit (host A) 105, the description of the data flow in the receiving unit will be omitted.
(18) In contrast, a plurality of packets transmitted by the transmitting unit (host A) 105 does not arrive at the receiving unit (host B) 110 in a regular sequence by which the transmitting unit (host A) 105 transmits the packets. Accordingly, in the case in which the content is transmitted in the streaming scheme by using the plurality of the IP packets, giving a transmitting sequence to each IP packet is necessary.
(19)
(20) Referring to
(21) The media encoding layer 203 compresses media data such as audio data and video data in a format of a basic unit to ensure that recording and transmitting the media data is easy. In addition, the media encoding layer 203 transmits the media data to the encapsulation layer 205.
(22) The encapsulation layer 205 packages the compressed media data in the form similar to a file format, and transmits the media data to the delivery layer 207.
(23) The encapsulation layer 205 defines a data unit format processed by an entity which conforms to an MMT package and an MMT regulation. The MMT package specifies the media content and elements including a relationship between the media content to provide information necessary for an adaptive transport. In the specification, the format of the data unit is defined so that an encoded media is stored, transmitted as a payload of a delivery protocol, or encapsulated to be easily converted between the payload and the media content or encoded media.
(24) The delivery layer 207 formats an output of the encapsulation layer 205 as an MMT payload, and then, adds an MMT transmission packet header to the output of the encapsulation layer 205 so as to output the output of the encapsulation layer 205 to the transport protocol layer 209 in the form of the MMT transmission packet. Alternatively, the delivery layer 207 outputs the output of the encapsulation layer 205 to the transport protocol layer 209 in the form of an RTP packet by using a conventional RTP protocol. Further, the delivery layer 207 defines an application layer protocol and a format of a payload. The application layer protocol defined in the specification includes multiplexing and provides improved properties in comparison with an application layer protocol to deliver the multimedia content according to the related art. The payload format is defined in order to deliver encoded media data, regardless of a specific media type or an encoding scheme.
(25) The transport protocol layer 209 converts the output of the delivery layer 207 into one transmitting protocol of the UDP and a Transmission Control Protocol (TCP), and then transmits the converted output of the delivery layer 209 to the IP layer 211.
(26) Finally, the IP layer 211 makes the output of the transport protocol layer 209 be an IP packet. According to various embodiments of the present disclosure, the Forward Error Correction (FEC) packet may be at least one of an MMT payload format, an MMT transport packet, and an RTP packet.
(27) The signaling function layer 213 defines a format to manage a consumption of the MMT package and a message format to manage a transport of the MMT package. A message to manage the consumption of the MMT package performs a signaling for a structure of the MMT package, and a message to manage a delivery of the MMT package performs a signaling for a structure of the payload format and a structure of the protocol.
(28)
(29) Referring to
(30) Because the MMT package 300 is processed by unit of an MPU and the MMT asset is a collection of one or more MPUs which have an identical MMT asset ID, the one MMT package is constituted of one MMT-CI, one or more MPUs, and the MMT-ADC related to each MMT asset.
(31) The MMT asset is a structural element of the MMT package which includes the encoded media data. The MMT asset is a logical structure which collectively refers to a group of the MPUs with an identical MMT asset ID, or data with various media formats which are defined by other standards. The MMT asset format is not defined in the specification.
(32) The MMT-CI 301 describes information on a spatial and temporal relationship among the MMT assets for consumption and presentation. Further, the MMT-CI may be used to determine a delivery order of the MMT assets. The MMT-CI 301 may be delivered via one or more messages defined by the MMT standard, or a message of another means which is not defined by the MMT standard. A service supplier is capable of determining a carousel of the MMT-CI 301, and a frequency of the carousel.
(33) The MMT-ADCs 303, 305 and 307 provide Quality of Service (QoS) information required for a transmission of the MMT assets. This information can be used to effectively delivery the MMT assets by making the MMT package in order to constitute the MMT payload and an MMT protocol parameter.
(34)
(35) Hereinafter, for a convenience, it is possible to abbreviate or use FEC source block as/together with source block, FEC sub-block as/together with sub-block, FEC encoding as/together with encoding, FEC encoder as/together encoder, and FEC parity as/together with parity.
(36) Referring to
(37) The above description corresponds to a case that both the source block and the sub-blocks are encoded. A possible encoding scheme including the above description can be classified into four cases.
(38) (1) Case 0: a case in which the FEC encoding is not applied to both the source block and the sub-blocks.
(39) (2) Case 1: a case of one stage sub-block encoding in which the encoding is not applied to only the sub-blocks.
(40) (3) Case 2: a case of one stage source block encoding in which the encoding is applied to only the source block.
(41) (4) Case 3: a case of two stage encoding in which the encoding is applied to both the sub-block and source block.
(42) Referring to
(43) Each case of the four possible encoding schemes will be described.
(44) (1) In the case 0, a first encoding by the first encoder 410 and a second encoding by the second encoder 430 are omitted. For example, in the case 0, a parity data is not generated.
(45) (2) In the case 1, M is set to 1. That M is 1 means that one source block generates one sub-block. In the case 1, the second encoding by the second encoder 430 is omitted. In contrast, in the case 2, the first encoding by the first encoder 402 is omitted.
(46) (3) In the case 2, M also is set to 1. That M is 1 means that one source block generates one sub-block. In contrast, in the case 2, the first encoding by the first encoder 410 is omitted, differently from the case 1.
(47) (4) In the case 3, one FEC source block can be divided into the number M (M>1) of sub-blocks. Each sub-block 401, 402, . . . , and 40M is encoded by the first encoder 410 and the source block 400 is encoded by the second encoder 430. In contrast, the M number of sub-blocks are converted into the M number of information sub-blocks by one of Information Block Generation (IBG) modes.
(48) For reference, the MMT standard defines an IBG mode which generates an FEC information block from the FEC source block, and provides an IBG mode 0, an IBG mode 1, and an IBG mode 2. Further, one IBG mode is applied to all sub-blocks as well as one source block. The detailed description of each IBG mode will be omitted.
(49) In contrast, according to various embodiments of the present disclosure, there are considered a case in which the source block is created from the MPUs included in one MMT asset and a case in which the source block is created from the MPUs included in a plurality of MMT assets. The former embodiment is described with reference to
(50)
(51) For example,
(52) Referring to
(53) In
(54) In
(55) In
(56)
(57) Referring to
(58) In
(59) In
(60) Further, a third source block 619 is constituted of a total amount of five MMT packets which include three MMT packets from a head of a second MPU 613 in the first MMT asset 611, and two packets from a head of a second MPU 616 in the second MMT asset 614. Furthermore, a fourth source block 620 is constituted of a total amount of five MMT packets which include two residual MMT packets of a second MPU 613 in the first MMT asset 611, and three residual packets of a second MPU 616 in the second MMT asset 614.
(61) Hereinafter, processes of generating an FEC source block according to various embodiments of the present disclosure in consideration of cases of the FEC encoding shown in
(62) First, in the case 0 shown in
(63) Second, the case 1 shown in
(64) Type 1. The FEC source block is constituted of MMT packets which are generated from one MPU. In this case, MMT packets generated from one MPU are equal to the MMT packets included in one FEC source block. This case corresponds to
(65) Type 2. The N number (N>1) of FEC source blocks are constituted of the MMT packets generated from one MPU. In this case, MMT packets generated from one MPU are equal to the MMT packets included in the N number of FEC source blocks. This case corresponds to
(66) Type 3. One source block is constituted of the MMT packets generated from the N number (N>1) of the MPUs. In this case, MMT packets generated from the number N of the MPUs are equal to the MMT packets included in one FEC source block. This case corresponds to
(67) In the case 1 of including three schemes of constituting the source block using one MMT asset according to the embodiment of the present disclosure, one source block has to be constituted of only the MMT packets generated from one MPU, or has to include all MMT packets generated from one MPU.
(68) Next, a scheme of constituting the FEC source block using the plural MMT assets and one stage sub-block encoding of the case 1 shown in
(69) Type 1. The FEC source block includes all MMT packets generated from one MPU in one MMT asset. This corresponds to
(70) Type 2. The N number of the FEC source blocks include the MMT packets generated from one MPU in one MMT asset. This corresponds to
(71) Type 3. The FEC source block includes all MMT packets created from the N number (N>1) of MPUs in one MMT asset. Although it is not shown in
(72) In the first case of including three schemes of constituting a source block using the plural MMT assets according to various embodiments of the present disclosure, the source block does not include packets which are generated from the plural MPUs included in one MMT asset and are different from one another. For example, one source block cannot include the MMT packets generated from the plural MPUs in one MMT asset, except for the third case described with reference to
(73) Third, the second case described with reference to
(74) Fourth, the third case described with reference to
(75) In the third case, the scheme of generating the source block from one MMT asset may be one of three types as follow. For reference, each MPU constituting the MMT asset is made to be an MMT packet, and an FEC source block constituted of the predetermined number of the MMT packets is generated. The generated source block is divided into the M number (M>1) of sub-blocks, and a first FEC encoding of the source block is performed by a unit of a sub-block, so as to create first parity blocks. In contrast, a second FEC encoding of the source blocks is performed by unit of a source block, so as to generate a second parity block. Then, the second parity block is made to be an FEC packet and transmitted. A scheme of creating the FEC source block may be one of three types as follows.
(76) Type 1. The FEC source block is constituted of MMT packets which are generated from one MPU. In this case, MMT packets generated from one MPU are equal to the MMT packets included in one FEC source block. This case corresponds to
(77) Type 2. The N number (N>1) of FEC source blocks are constituted of the MMT packets generated from one MPU. In this case, MMT packets created from one MPU are equal to the MMT packets included in the N number of FEC source blocks. This case corresponds to
(78) Type 3. The FEC source block is constituted of MMT packets which are generated from the N number (N>1) of MPUs. In this case, MMT packets generated from the number N of the MPUs are equal to the MMT packets included in one FEC source block. This case corresponds to
(79) In contrast, a concrete method of constituting FEC sub-blocks for one FEC source block is as follows.
(80) A. The sub-blocks are constituted by using all MMT packets generated from one MPU. In this case, MMT packets created from one MPU are equal to the MMT packets included in one FEC source block.
(81) B. The R number (R<M) of sub-blocks are constituted by using all MMT packets generated from one MPU. In this case, MMT packets created from one MPU are equal to the MMT packets included in the R number of sub-blocks.
(82) C. One sub-block is constituted by using the MMT packets created from the R number (R<N) of MPUs. In this case, MMT packets generated from the R number of MPUs are equal to the MMT packets included in one sub-block.
(83) In the third case, next, the scheme of generating the source block from one MMT asset may be one of three types as follow. For reference, the MPUs constituting each MMT asset are made to be MMT packets, and then the MMT packets are multiplexed with one another so as to create a MMT packet stream. Then, an FEC source block constituted of a predetermined number of MMT packets is created, and is divided into the M number (M>1) of FEC sub-blocks. The FEC source block is subjected to a first FEC encoding by a unit of an FEC sub-block, so that first parity blocks are created. In contrast, a second FEC encoding of the FEC source blocks is performed by a unit of a source block, so as to create a second parity block. Then, the second parity block is made to be an FEC packet and transmitted. A scheme of creating the FEC source block may be one of three types as follows.
(84) Type 1. The FEC source block includes all MMT packets generated from one MPU included in one MMT asset. In this case, MMT packets generated from one MPU included in one MMT asset are equal to the MMT packets included in one FEC source block.
(85) Type 2. The N number (N>1) of FEC source blocks are constituted of the MMT packets generated from one MPU included in one MMT asset. In this case, MMT packets generated from one MPU included in one MMT asset are equal to the MMT packets included in N FEC source blocks.
(86) Type 3. The FEC source block includes all MMT packets created from the N number (N>1) of MPUs in one MMT asset. In this case, MMT packets created from the N (N>1) number of MPU included in one MMT asset are equal to the MMT packets included in the FEC source block. In contrast, a concrete method of constituting FEC sub-blocks for one FEC source block is as follows.
(87) A. The sub-blocks are constituted by using all MMT packets created from one MPU among the N (N>1) number of MPUs. In this case, MMT packets generated from one MPU are equal to the MMT packets included in one FEC sub-block.
(88) B. One sub-block is constituted by using the MMT packets created from the R (R<N) number of MPUs among the N number of MPUs. In this case, MMT packets created from the R number of MPUs are equal to the MMT packets included in one FEC sub-block.
(89) C. The R (R<N) number of FEC sub-blocks are constituted by using all MMT packets generated from one MPU among the N number of MPUs. In this case, MMT packets created from one MPU are equal to the MMT packets included in the R number of FEC sub-blocks.
(90) Up to now, in consideration of the cases of the FEC encoding by means of the two stage encoder of
(91) In the schemes of generating the source block or the sub-block according to various embodiments of the present disclosure as described above, the source block or sub-block is generated from the MPU so that a boundary of the MPU and a boundary of the source block do not deviate in consideration of the boundary of the MPU and the boundary of the source block. Accordingly, it is possible to prevent a failure of the FEC encoding of the MPU in a current block and a time delay, which may occur when the boundary between the MPU and the source block is not distinguished, from being transferred to an MPU in an adjacent source block.
(92)
(93) Referring to
(94) The MMT D.1 layer 710 includes a payload format generator 711 and an AL-FEC unit 712. The AL-FEC unit 712 includes an AL-FEC convertor 713 and an FEC encoding/decoding unit 714.
(95) When the encoding is performed, the MMT D.1 layer 710 stores an MMT package (e.g., audio/video data, file, text, and/or the like) from the MMT E.1 layer 700, or receives formats created in consideration of a transmission so as to divide the format of the MMT package by a predetermined unit (FEC source payload is equal to MMT payload or MMT packet) to generate an FEC source block constituted of the predetermined number of the FEC source payloads.
(96) The AL-FEC module convertor 713 converts the generated FEC source block into an FEC information block constituted of FEC information payloads with an identical length. The FEC encoding/decoding unit 714 performs an FEC encoding for FEC codes provided from the FEC information block so as to generate the FEC parity block, and transmits the FEC parity to the payload format generator 711.
(97) The payload format generator 711 adds a Payload Header (PLH) including FEC relating signals to each source/parity/payload while adding the FEC parity block to the FEC source block, so that the MMT payload format 730 is made to be packets and transmitted to the MMT D.2 layer 720 or the IETF application layer (not shown). Further, an UDP header is added to the MMT payload format by means of a transmission protocol such as a UDP, and an IP header is also added to the MMT payload format. In the drawings, a case that the FEC source payload is an MMT payload is described as an example. As shown in
(98) Decoding is performed in an inverse sequence of the above described encoding. Therefore, the detailed description of the decoding will be omitted because the decoding is easily understood through the description of the encoding process.
(99)
(100) At operation 801, the FEC source block is generated from one or more MPUs. For example, the FEC source block is generated from one or more MPUs so that at least the boundary of the MPU does not deviate from the boundary of the source block. This is performed by a source block generator (not shown) of a transmitting unit (not shown).
(101) At operation 803, the sub-blocks are created from the generated source block. However, if a sub-block encoding is not performed, operation 803 may be omitted. This is performed by the sub-block generator (not shown).
(102) At operation 805, the source block encoding for the source block and/or the sub-block encoding for the sub-block are performed. For example, the source block encoding for the source bloc and/or the sub-block encoding for the sub-block is performed by the first encoder and the second encoder of
(103) At operation 807, the encoded source block and/or sub-block are transmitted. For example, the transmission of the encoded source block and/or sub-block is performed by the transmitting unit of the transmitter.
(104) It will be appreciated that various embodiments of the present disclosure according to the claims and description in the specification can be realized in the form of hardware, software or a combination of hardware and software.
(105) Any such software may be stored in a non-transitory computer readable storage medium. The non-transitory computer readable storage medium stores one or more programs (software modules), the one or more programs comprising instructions, which when executed by one or more processors in an electronic device, cause the electronic device to perform a method of the present disclosure.
(106) Any such software may be stored in the form of volatile or non-volatile storage such as, for example, a storage device like a Read Only Memory (ROM), whether erasable or rewritable or not, or in the form of memory such as, for example, Random Access Memory (RAM), memory chips, device or integrated circuits or on an optically or magnetically readable medium such as, for example, a Compact Disk (CD), Digital Versatile Disc (DVD), magnetic disk or magnetic tape or the like. It will be appreciated that the storage devices and storage media are various embodiments of non-transitory machine-readable storage that are suitable for storing a program or programs comprising instructions that, when executed, implement various embodiments of the present disclosure. Accordingly, various embodiments provide a program comprising code for implementing apparatus or a method as claimed in any one of the claims of this specification and a non-transitory machine-readable storage storing such a program.
(107) While the present disclosure has been shown and described with reference to various embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure as defined by the appended claims and their equivalents.