KR20130044782A - Encoding method and apparatus of forward error correction in a multimedia system - Google Patents

Encoding method and apparatus of forward error correction in a multimedia system Download PDF

Info

Publication number
KR20130044782A
KR20130044782A KR1020110109007A KR20110109007A KR20130044782A KR 20130044782 A KR20130044782 A KR 20130044782A KR 1020110109007 A KR1020110109007 A KR 1020110109007A KR 20110109007 A KR20110109007 A KR 20110109007A KR 20130044782 A KR20130044782 A KR 20130044782A
Authority
KR
South Korea
Prior art keywords
fec
block
parity
payload
information
Prior art date
Application number
KR1020110109007A
Other languages
Korean (ko)
Other versions
KR101874116B1 (en
Inventor
황성희
양현구
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020110109007A priority Critical patent/KR101874116B1/en
Publication of KR20130044782A publication Critical patent/KR20130044782A/en
Application granted granted Critical
Publication of KR101874116B1 publication Critical patent/KR101874116B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Abstract

PURPOSE: A FEC(Forward Error Correction) encoding method and an apparatus for the same in a multimedia system are provided to generate a parity block having various lengths. CONSTITUTION: A MMT D.1 layer(601) comprises a source block by being inputted to a MMT package from a MMT E.1 layer(603) in an encoding process and being divided into a fixed interval. An AL(Application Layer)-FEC converter(605) converts a source block into a 2D array comprised of information payloads having a same length. A FEC encoder(607) generates a parity block from an information block by performing a FEC encoding, and transmits to a payload format generator(609). The payload format generator adds the parity block to the source block, adds a payload header to each payload, and transmits a packetized MMT payload format to a MMT D.2 layer or an IETF(Internet Engineering Task Force) application protocol layer(611).

Description

멀티미디어 시스템에서 순방향 오류 정정 부호화 방법 및 장치{ENCODING METHOD AND APPARATUS OF FORWARD ERROR CORRECTION IN A MULTIMEDIA SYSTEM}ENCODED METHOD AND APPARATUS OF FORWARD ERROR CORRECTION IN A MULTIMEDIA SYSTEM}

본 발명은 멀티미디어 시스템에서 다양한 길이의 데이터를 지원하는 FEC 부호화 방법 및 장치에 대한 것이다.The present invention relates to an FEC encoding method and apparatus for supporting data of various lengths in a multimedia system.

다양한 컨텐츠들(contents)의 증가와 고해상도(High Definition : HD) 컨텐츠, 초고해상도(Ultra High Definition : UHD)컨텐츠들과 같은 고용량 컨텐츠들의 증가로 네트워크 상에서 데이터 혼잡은 점점 더 심화되고 있다.Data congestion on the network has been intensifying due to the increase in various contents and the increase in high-capacity contents such as high definition (HD) content and ultra high definition (UHD) contents.

도 1 및 도 2는 일반적인 IP 기반의 네트워크 토폴로지와 데이터 흐름을 개략적으로 나타낸 도면이다.1 and 2 are schematic diagrams illustrating a general IP-based network topology and data flow.

도 1을 참조하면, 이러한 상황으로 인하여 송신기(Host A)(101)가 보낸 컨텐츠들이 수신기(Host B)(103)에게 온전이 전달되지 않고 컨텐츠의 일부가 전송 경로(Route) 상에서 손실되는 상황이 발생한다. 일반적으로 데이터데이터는 패킷(Packet)단위로 전송하므로 데이터의 손실은 전송 패킷 단위로 발생하게 된다.Referring to FIG. 1, due to such a situation, contents sent from a transmitter (Host A) 101 are not delivered to the receiver (Host B) 103 and a part of contents is lost on a route. Occurs. In general, since data data is transmitted in packet units, data loss occurs in transport packet units.

도 2의 "Data"는 AV Codec단에서 압축된 데이터를 예를 들어 Real Time Protocol(RTP)를 사용하여 패킷화한 이후의 RTP 패킷 데이터로 간주되거나(IETF의 RFC3550, RFC3984 문서 참조) 또는 MPEG MMT(MPEG Media Transfort)에서 진행되고 있는 MMT 패킷 데이터로 이해될 수 있다."Data" in FIG. 2 is regarded as RTP packet data after packetizing the compressed data at the AV Codec stage using, for example, Real Time Protocol (RTP) (see RFC3550, RFC3984 document of IETF) or MPEG MMT. It can be understood as MMT packet data being progressed in (MPEG Media Transfort).

도 1의 수신기(103)는 네트워크 상에서 손실된 전송 패킷을 수신할 수 없게 됨으로 상기 손실된 전송 패킷내의 데이터를 알 수 없어 Audio의 품질 저하, Video의 화질열화나 화면 깨짐, 자막 누락, 파일의 손실 등과 같은 다양한 형태로 사용자의 불편을 초래하게 된다.Since the receiver 103 of FIG. 1 cannot receive the lost transmission packet on the network, it is impossible to know the data in the lost transmission packet, thereby degrading the quality of the audio, deteriorating the video quality or breaking the screen, missing the subtitles, and loss of the file. In various forms such as the user will cause inconvenience.

이와 같이 네트워크상에서 손실된 데이터를 복구하기 위한 방법이 필요하게 된다. 이를 위해 일정 개수의 패킷들로 구성된 소스 블록(Source Block)에 FEC(Forward Error Correction) 부호화에 의한 패리티 블록(Parity block)을 추가하여 전송하게 된다.Thus, there is a need for a method for recovering lost data on the network. To this end, a parity block by forward error correction (FEC) encoding is added to a source block composed of a predetermined number of packets and transmitted.

특히 AV 데이터의 경우, 중단 없이 연속적으로 재생되기 위해서는 일정 정도 수준의 데이터 전송률(Data Rate)이 유지되어야 한다. 이러한 데이터 전송률은 압축시 사용한 Codec의 성능이나, 서비스되는 AV 데이터의 해상도(Resolution)에 따라 달라진다.In particular, in the case of AV data, a certain level of data rate must be maintained for continuous playback without interruption. This data rate depends on the performance of the Codec used during compression and the resolution of the AV data being serviced.

또한 AV 데이터의 경우(특히 실시간 AV 데이터) 촬영과 같은 데이터의 획득으로부터 사용자에 의해 이용되기까지의 지연 시간(Delay)을 최소화 할 수록 좋다. 이러한 지연 시간은 전체 시스템의 여러 단계에서 발생할 수 있다.In addition, in the case of AV data (particularly real-time AV data), it is better to minimize delay from acquisition of data such as photographing to use by the user. This delay can occur at various stages of the overall system.

특히 AL(Application Layer)-FEC의 적용 시 소스 블록(Source Block)내 패킷 손실 시 패리티 블록(Parity Block)의 패리티 패킷(Parity Packet)의 일정 개수를 수신하여야 상기 손실된 소스 블록내의 패킷을 복구할 수 있다. 이러한 특성으로 인하여 AL-FEC는 일정 시간의 지연을 발생시킨다. AL-FEC에 의한 상기 지연 시간은 상기 소스 블록과 복구를 위해 추가된 패리티 블록의 데이터 크기(즉, FEC Delivery Block의 크기)에 의해 주로 결정된다.In particular, when applying AL (Application Layer) -FEC, when a packet is lost in the source block, a certain number of parity packets of the parity block must be received to recover the packet in the lost source block. Can be. Due to this characteristic, AL-FEC causes a delay in time. The delay time by AL-FEC is mainly determined by the data size of the source block and the parity block added for recovery (ie, the size of the FEC Delivery Block).

이로 인하여 FEC 전송 블록(Delivery Block)의 소스 블록을 사용하고자 하는 서비스가 요구하는 데이터 전송률과 지연 시간에 맞게 구성하여 AL-FEC 부호화 하여 전송하는 것이 바람직한데, SD(Standard Definition), HD(High Definition), 3D, UHD(Ultra High Definition) 등 다양한 서비스 형태에 따라 사용되어지는 Codec이 다르고 또한 요구되는 데이터 전송률이 다르기 때문에 소스 블록의 크기 또는 다양하게 달라진다. 따라서 다양한 소스 블록의 크기에 따른 AL-FEC 부호화 방법이 필요하게 된다.For this reason, it is desirable to configure the source block of the FEC delivery block according to the data rate and delay time required by the service that the service wants to use, and to transmit it by AL-FEC encoding. ) Codec is used according to various types of services such as 3D, Ultra High Definition (UHD), and the required data rate is different. Therefore, there is a need for an AL-FEC encoding method according to the size of various source blocks.

즉 상기 RTP 패킷 또는 MMT 패킷과 같은 전송 프로토콜을 이용하여 패킷 단위의 데이터를 전송하는 경우에 있어서 다양한 크기의 데이터를 효율적으로 부호화하는 방안이 요구된다.That is, a method of efficiently encoding data of various sizes is required when transmitting data in a packet unit by using a transmission protocol such as the RTP packet or the MMT packet.

본 발명은 멀티미디어 시스템에서 다양한 길이의 데이터를 효율적으로 AL-FEC 부호화하는 방법 및 장치를 제공한다.The present invention provides a method and apparatus for efficiently AL-FEC encoding data of various lengths in a multimedia system.

또한 본 발명은 멀티미디어 시스템에서 패킷 단위의 데이터를 전송하는 경우에 있어서 다양한 크기의 데이터를 효율적으로 부호화하는 방법 및 장치를 제공한다.In addition, the present invention provides a method and apparatus for efficiently encoding data of various sizes when transmitting data in a packet unit in a multimedia system.

본 발명의 실시 예에 따라 패킷 단위의 데이터 송신을 이용하는 멀티미디어 시스템에서 FEC 부호화 방법은, 다수의 소스 페이로드들을 포함하는 소스 블록을 구성하는 과정과, 하나의 FEC 부호를 이용하여 상기 소스 블록으로부터 다수의 패리티 페이로드들을 포함하는 패리티 블록을 구성하는 과정과, 상기 소스 블록과 상기 패리티 블록을 포함하는 FEC 전송 블록을 구성하는 과정을 포함하며, 상기 다수의 소스 페이로드들의 개수를 K, 상기 다수의 패리티 페이로드들의 개수를 P라 하였을 때 상기 소스 블록의 다수의 정보 심볼 부분은 m x K 어레이로 배치되고, 상기 패리티 블록의 다수의 패리티 심볼 부분은 m x P 어레이로 배치되며, 주어진 페이로드들의 개수 K에 대해 상기 m 값을 조절하여 상기 FEC 전송 블록을 구성한다.According to an embodiment of the present invention, an FEC encoding method in a multimedia system using packet-based data transmission includes a process of constructing a source block including a plurality of source payloads, and a plurality of source blocks using one FEC code. Constructing a parity block including parity payloads of the parity payload; and configuring a FEC transport block including the source block and the parity block, wherein the number of the plurality of source payloads is K; When the number of parity payloads is P, the plurality of information symbol portions of the source block are arranged in an mxK array, the plurality of parity symbol portions of the parity block are arranged in an mx P array, and the number of given payloads K The value of m is adjusted with respect to the FEC transport block.

또한 본 발명의 실시 예에 따라 패킷 단위의 데이터 송신을 이용하는 멀티미디어 시스템에서 FEC 부호화 방법은, 패킷 단위의 데이터 송신을 위해 또는 데이터 저장을 위해 하나의 FEC(N_m, K_m) 부호를 사용하여 K개의 Source Payload로 구성된 소스 블록으로부터 P개의 Parity Payload로 구성된 패리티 블록을 생성함에 있어서, m x K ≤ N_m 및 m x P ≤ N_m - K_m을 만족하는 최대의 정수 m에 대해, 각각의 소스 블록의 m 심볼 행들(rows)로 구성된 적어도 하나 이상의 정보 심볼 부분으로부터 상기 FEC(N_m, K_m) 부호를 이용하여 각각의 정보 심볼 부분으로부터 패리티 심볼 부분을 생성하고, 상기 생성된 적어도 하나의 패리티 심볼 부분으로부터 P개의 페리티 페이로드로 구성된 패리티 블록을 구성한다.In addition, the FEC encoding method in a multimedia system using packet data transmission according to an embodiment of the present invention, K source using one FEC (N_m, K_m) code for packet data transmission or data storage In generating a parity block composed of P parity payloads from a source block composed of payloads, m symbol rows of each source block for a maximum integer m satisfying mx K ≤ N_m and mx P ≤ N_m-K_m A parity symbol portion is generated from each information symbol portion using the FEC (N_m, K_m) code from at least one information symbol portion composed of a), and P parity payloads are generated from the generated at least one parity symbol portion. Configures a parity block consisting of.

상기한 본 발명에 따르면, 하나의 FEC 부호로 다양한 길이를 가지는 소스 블록을 부호화 하여 다양한 길이를 가지는 패리티 블록을 생성하는 것이 가능하다. 이로 인하여 본 발명에 의하면, 보다 좋은 FEC 성능을 발휘함으로써 보다 양질의 서비스를 사용자에게 제공할 수 있을 뿐만 아니라 송수신단의 FEC encoder/decoder의 구성을 단순하게 하여 시스템 부담을 최소화 할 수 있다.According to the present invention described above, it is possible to generate a parity block having various lengths by encoding source blocks having various lengths with one FEC code. For this reason, according to the present invention, it is possible to minimize the system burden by simplifying the configuration of the FEC encoder / decoder of the transmitting and receiving end by not only providing a better quality service to the user by exhibiting better FEC performance.

도 1 및 도 2는 일반적인 IP 기반의 네트워크 토폴로지와 데이터 흐름을 개략적으로 나타낸 도면,
도 3및 도 4는 본 발명의 실시 예에 의한 FEC 부호를 이용한 부호화 방법을 설명하기 위한 도면,
도 5는 본 발명이 적용되는 MMT 시스템과 구체적인 전송 기능 계층의 구조의 일 예를 나타낸 도면,
도 6은 본 발명의 실시 예에 따른 MMT 시스템에서 AL-FEC 소스 블록의 부호화/복호화 과정을 설명하기 위한 기능 블록도,
도 7은 본 발명의 실시 예에 따른 AL-FEC 부호화에 의해 생성되는 FEC 전송 블록에서 정보 심볼 부분과 패리티 심볼 부분을 나타낸 도면,
도 8은 본 발명의 실시 예에 따른 제1 인터리빙 방법과 FEC(7680,6400) 부호를 이용하여 패리티 심볼 부분을 생성하는 방법의 일 예를 나타낸 도면,
도 9는 본 발명의 실시 예에 따른 제2 인터리빙 방법과 FEC(7680,6400) 부호를 이용하여 패리티 심볼 부분을 생성하는 방법의 일 예를 나타낸 도면,
도 10은 본 발명의 실시 예에 따른 2단 FEC 부호화 구조를 나타낸 도면,
도 11은 도 10의 2단 FEC 부호화 구조에 의해 생성된 FEC 블록과 FEC 클러스터(cluster) 구조의 일 예를 나타낸 도면,
도 12 및 도 13은 본 발명의 실시 예에 따라 랜덤 소거 채널상에서 FEC 부호화를 적용한 경우 LDPC 부호의 성능을 비교한 도면.
1 and 2 schematically show a general IP-based network topology and data flow;
3 and 4 are diagrams for explaining an encoding method using an FEC code according to an embodiment of the present invention;
5 is a diagram illustrating an example of a structure of an MMT system and a specific transmission function layer to which the present invention is applied;
6 is a functional block diagram for explaining an encoding / decoding process of an AL-FEC source block in an MMT system according to an embodiment of the present invention;
7 illustrates an information symbol part and a parity symbol part in an FEC transport block generated by AL-FEC encoding according to an embodiment of the present invention;
8 is a diagram illustrating an example of a method of generating a parity symbol part using a first interleaving method and an FEC (7680, 6400) code according to an embodiment of the present invention;
9 is a diagram illustrating an example of a method of generating a parity symbol portion using a second interleaving method and FEC (7680, 6400) codes according to an embodiment of the present invention;
10 is a diagram showing a two-stage FEC coding structure according to an embodiment of the present invention;
FIG. 11 is a diagram illustrating an example of an FEC block and an FEC cluster structure generated by the two-stage FEC encoding structure of FIG. 10; FIG.
12 and 13 are diagrams comparing the performance of the LDPC code when FEC coding is applied on a random erase channel according to an embodiment of the present invention.

이하 본 발명의 실시 예를 도면과 함께 상세히 설명한다. 본 발명을 설명함에 있어서 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

이하 본 발명의 실시 예는 RTP 패킷 또는 MMT 패킷과 같은 전송 프로토콜을 이용하여 패킷 단위의 데이터를 전송하는 경우에 있어서 다양한 크기의 데이터를 효율적으로 AL-FEC 부호화 하는 방안을 제안한 것이다.Hereinafter, an embodiment of the present invention proposes a method of efficiently AL-FEC encoding data of various sizes in the case of transmitting data in a packet unit using a transmission protocol such as an RTP packet or an MMT packet.

본 발명의 실시 예를 설명하기에 앞서 아래와 같이 본 발명에서 사용되는 용어를 정의하기로 한다.Prior to describing an embodiment of the present invention, terms used in the present invention will be defined as follows.

FEC 패킷 블록 : FEC 전송 블록을 전송하기 위한 FEC 패킷들의 집합FEC packet block: a set of FEC packets for transmitting the FEC transport block

FEC 패킷 : 소스 페이로드(source payload) 또한 패리티 페이로드(parity payload)를 전송하기 위한 헤더와 페이로드로 구성된 패킷FEC packet: A packet consisting of a header and a payload for transmitting a parity payload as well as a source payload.

FEC 전송 블록 : 소스 블록과 패리티 블록으로 구성된 집합FEC transport block: a set consisting of a source block and a parity block

소스 블록 : 소스 페이로드들로 구성된 집합Source block: set of source payloads

패리티 블록 : 패리티 페이로드들로 구성된 집합Parity block: a set of parity payloads

소스 페이로드 : 소스 심볼들을 전송하기 위한 FEC 패킷의 페이로드Source payload: payload of the FEC packet for transmitting source symbols

정보 페이로드 : 소스 심볼들과 가능한 패딩 데이터로 구성되는 페이로드Information payload: A payload consisting of source symbols and possible padding data

패리티 페이로드 : 패리티 심볼들을 전송하기 위한 FEC 패킷의 페이로드Parity payload: payload of an FEC packet for transmitting parity symbols

심볼 : 데이터의 단위, its size(in bits) is referred to as a symbol size.Symbol: The unit of data, its size (in bits) is referred to as a symbol size.

정보 심볼 부분 : FEC 부호화를 위해 함께 고려되어지는 소스 심볼과 가능한 패딩 데이터들의 집합Information symbol part: A set of source symbols and possible padding data that are considered together for FEC encoding

패리티 심볼 부분 : 정보 심볼 부분으로부터 FEC 부호화에 의해 생성되는 패리티 심볼들의 집합Parity symbol portion: a set of parity symbols generated by FEC encoding from an information symbol portion

FEC 프레임 : 정보 심볼 부분과 패리티 심볼 부분으로 구성되는 하나의 부호어FEC frame: One codeword composed of information symbol part and parity symbol part

하기 <표 1>은 공지된 Internet Engineering Task Force(IETF) RFC5170 문서의 일부를 발췌한 것이다.Table 1 below is an excerpt of a known Internet Engineering Task Force (IETF) RFC5170 document.

패킷 수Number of packets GG 심볼 크기Symbol size kk 4000≤nb_pkts4000≤nb_pkts 1One pkt_szpkt_sz 4000≤k4000≤k 1000≤nb_pkts<40001000≤nb_pkts <4000 44 pkt_sz/4pkt_sz / 4 4000≤k<160004000≤k <16000 500≤nb_pkts<1000500≤nb_pkts <1000 88 pkt_sz/8pkt_sz / 8 4000≤k<80004000≤k <8000 1≤nb_pkts<5001≤nb_pkts <500 1616 pkt_sz/16pkt_sz / 16 16≤k<800016≤k <8000

상기 <표 1>을 참조하면, 주어진 패킷들의 개수(nb_pkts)에 따라 1,4,8,16개의 그룹(G)으로 나누어 주어진 패킷들의 개수를 그룹(Group)의 수에 따른 배수만큼 확장하여 소스 블록을 구성하여 각각의 소스 블록의 길이 k에 따라 의사 난수 생성기(Pseudo Random Number Generator : PRNG)(도시되지 않음)를 활용하여 랜덤하게 생성되는 LDPC H 매트릭스(matrix)를 사용하여 부호화 하는 예를 나타낸 것이다.Referring to Table 1, the number of packets is divided into 1, 4, 8, 16 groups G according to the number of packets nb_pkts, and the number of packets is expanded by a multiple of the number of groups. An example of constructing a block and encoding using a randomly generated LDPC H matrix using a pseudo random number generator (PRNG) (not shown) according to the length k of each source block is shown. will be.

통상적으로 AL-FEC 부호화는 패킷 당 하나의 심볼이 FEC 부호어의 한 심볼에 대응하도록 부호화한다. 그리고 기존 Multi-symbol per 패킷 방식에서는 패킷 당 다수의 심볼들이 하나의 부호어에 포함되는 구조를 채용하고 있다.In general, AL-FEC encoding encodes one symbol per packet to correspond to one symbol of an FEC codeword. In the existing multi-symbol per packet scheme, a plurality of symbols per packet are included in one codeword.

수신기는 상기 의사 난수 생성기(PRNG)의 seed 값과 상기 소스 블록의 길이 k 값을 송신기로부터 전해 받아 소프트웨어 코드(S/W code)로 해당하는 LDPC H matrix을 생성하여 손실된 패킷을 복원할 수 있다.The receiver may receive the seed value of the pseudo random number generator (PRNG) and the length k value of the source block from the transmitter to generate an LDPC H matrix corresponding to a software code (S / W code) to recover lost packets. .

그러나 상기한 Multi-symbol per 패킷 방식 또한 다수의 k 값이 가능하므로 각각의 k 값에 따른 다수의 LDPC H matrix를 필요로 한다. 또한 상기 소스 블록의 길이 k 값이 고정되었다 하더라도 부가율에 따라 LDPC H matrix가 달라지기 때문에 더 많은 종류의 LDPC H matrix를 필요로 한다.However, since the multi-symbol per packet method can also have a plurality of k values, a plurality of LDPC H matrices are required for each k value. In addition, even if the length k value of the source block is fixed, more LDPC H matrix is required because the LDPC H matrix varies according to the addition rate.

이를 고려하여 본 발명의 실시 예에서는 유무선 통신 네트워크를 통해 패킷 단위로 데이터를 송수신하는 시스템에 있어서, AL-FEC를 적용하여 송신될 데이터의 정보 블록을 위한 정보 페이로드들의 개수 K가 적어도 2개 이상의 값을 가질 수 있거나 또는 상기 정보 블록에 추가되는 패리티 블록을 위한 패리티 페이로드의 수 P가 적어도 2개 이상의 값을 가질 수 있는 경우에 있어서, 하나의 FEC(K_m + P_m, K_m) 부호로 상기 K개로 구성된 정보 블록에 상기 P개로 구성된 패리티 블록을 생성하는 AL-FEC 부호화 방안을 제안한다.In consideration of this, according to an embodiment of the present invention, in a system for transmitting and receiving data in packet units through a wired or wireless communication network, the number K of information payloads for an information block of data to be transmitted by applying AL-FEC is at least two or more. In the case where the number P of parity payloads for a parity block added to the information block may have a value or may have at least two values, K in one FEC (K_m + P_m, K_m) code We propose an AL-FEC coding scheme for generating the P parity block in the information block consisting of two pieces.

(여기서 K_m는 FEC(K_m + P_m, K_m) 부호의 정보 부분의 심볼 개수를 말하고 P_m는 FEC(K_m + P_m, K_m) 부호의 패리티 부분의 심볼 개수를 말한다. 이하 K_m + P_m = N_m으로 표기한다.)(K_m is the number of symbols of the information portion of the FEC (K_m + P_m, K_m) code and P_m is the number of symbols of the parity portion of the FEC (K_m + P_m, K_m) code. K_m + P_m = N_m .)

K'개의 소스 페이로드들로 구성된 소스 블록으로부터 K개의 정보 페이로드로 구성된 정보 블록을 생성하는 방법은, 본 출원인의 선출원인 출원 번호 10-2011-0104870에 IBG_Mode(Information Block Generation Mode)에 따른 방법으로 기술되어 있다.The method for generating an information block consisting of K information payloads from a source block consisting of K 'source payloads is a method according to IBG_Mode (Information Block Generation Mode) according to the applicant's prior application No. 10-2011-0104870. Is described.

상기 IBG_Mode에 따른 방법을 간략히 설명하면, 상기 IBG_Mode = 0 이면, 소스 페이로드의 길이가 모두 동일하여 소스 블록과 동일한 정보 블록으로부터 패리티 블록을 생성하여 FEC 전송 블록이 구성되어 전송됨을 나타낸다. 그리고 상기 IBG_Mode = 1이면, 기존 방법에 의해 정보 블록을 생성하여 AL-FEC 부호화를 수행한다. 여기서 상기 기존 방법은, 가변 패킷 크기를 가지는 소스 페이로드들이 입력되면 각각의 페이로드 크기를 최대 길이를 가지는 페이로드와 동일하게 만들기 위해 패딩 데이터를 추가한 후 패리티 블록을 생성하는 방법이다.Briefly describing the method according to IBG_Mode, if IBG_Mode = 0, it indicates that the length of the source payload is the same and a parity block is generated from the same information block as the source block to configure and transmit the FEC transport block. If IBG_Mode = 1, an information block is generated by the existing method to perform AL-FEC encoding. The conventional method is a method of generating a parity block after adding padding data to make each payload size equal to a payload having a maximum length when source payloads having a variable packet size are input.

그리고 상기 IBG_Mode = 2이면, 가변 길이를 가지는 K'개의 소스 페이로드들로 구성된 소스 블록은 동일한 길이를 가지는 K개의 정보 페이로드로 구성된 2차원 배열인 정보 블록에 차례로 배치된다. 그리고 소스 블록의 각각의 소스 페이로드에 대한 길이 정보로 구성된 길이 블록을 구성한다. 또한 정보 블록으로부터 동일한 길이를 가지는 패리티 페이로드로 구성된 패리티 블록을 생성하고, 상기 길이 블록으로부터 길이 패리티 블록을 생성한다. 따라서 FEC 전송 블록은 소스 블록, 길이 패리티 블록, 패리티 블록을 포함하여 AL-FEC 부호화된다.If IBG_Mode = 2, a source block composed of K 'source payloads having a variable length is sequentially disposed in an information block that is a two-dimensional array consisting of K information payloads having the same length. The length block includes length information of each source payload of the source block. Further, a parity block composed of parity payloads having the same length is generated from the information block, and a length parity block is generated from the length block. Accordingly, the FEC transport block is AL-FEC encoded including a source block, a length parity block, and a parity block.

이하 본 발명의 실시 예에 따라 하나의 FEC(N_m, K_m) 부호를 이용하여 부호화하는 방안에 대해 설명하기로 한다.Hereinafter, a method of encoding using one FEC (N_m, K_m) code according to an embodiment of the present invention will be described.

K개의 정보 페이로드(S_max개의 Symbol로 구성)로 구성된 정보 블록으로부터 P개의 패리티 페이로드(S_max개의 Symbol로 구성)로 구성된 패리티 블록을 생성할 때, 정보 블록이 q개의 정보 심볼 부분으로 구성됨에 있어서, 상기 q값은 q x K_m ≥ S_max x K and q x P_m ≥ S_max x P 식을 만족하도록 설정한다.When generating a parity block composed of P parity payloads (consisting of S_max symbols) from an information block consisting of K information payloads (consisting of S_max symbols), the information block is composed of q information symbol parts. The value of q is set to satisfy the equations qx K_m ≥ S_max x K and qx P_m ≥ S_max x P.

그리고 상기 설정된 q값에 대해 상기 정보 블록을 q개의 정보 심볼 부분으로 나눌 때, 각각의 정보 심볼 부분의 크기(Symbol들의 개수)들을 최대한 균등하게(예를 들어 크기들에 대한 편차는 1이하로 함) 구성하되, 각각의 정보 심볼 부분이 상기 정보 블록의 K개의 정보 페이로드 각각으로부터 선택된 Symbol들의 개수들을 최대한 균등하게(예를 들어 개수들에 대한 편차는 1이하로 함) 하여 q개의 정보 심볼 부분을 생성한다.(여기서 ith 정보 심볼 부분의 크기(Symbol 개수)를 K'_m(i)(≤K_m)로 정의함, i = 1,2,...,q)When dividing the information block into q information symbol parts with respect to the set q value, the sizes (number of symbols) of each information symbol part are equally equal (e.g., the deviation of the sizes is 1 or less). Each information symbol portion is composed of q information symbol portions so as to equalize the number of symbols selected from each of the K information payloads of the information block as much as possible (e.g., the deviation of the numbers is 1 or less). (Where the size of the ith information symbol part (number of symbols) is defined as K'_m (i) (≤K_m), i = 1,2, ..., q)

그리고 상기 q개의 정보 심볼 부분 각각으로부터 FEC(N_m, K_m) 부호 또는 그것의 단축 부호(Shortened code)를 활용하여 P'_m(i)(≤P_m)개의 패리티 심볼들로 구성된 패리티 심볼 부분을 생성한다.(여기서 P'_m(i)는 ith 정보 심볼 부분으로부터 생성된 패리티 심볼들의 개수로써, i=1,2,...,q에 대해 최대 균등한 개수를 가지도록 한다, 예를 들어 패리티 심볼들의 개수 편차는 1 이하로 함)A parity symbol portion consisting of P′_m (i) (≦ P_m) parity symbols is generated from each of the q information symbol portions by using an FEC (N_m, K_m) code or a shortened code thereof. (Where P'_m (i) is the number of parity symbols generated from the ith information symbol part, so that the maximum equal number is obtained for i = 1, 2, ..., q, for example, parity symbols) The number of variations is less than 1)

여기서 상기 단축 부호(Shorten code)라 함음 FEC(N_m-s, K_m-s) 부호로 표기할 수 있으며, FEC(N_m, K_m) 부호의 정보 부분을 s개의 symbol만큼 단축(shortening)한 것을 의미한다.Herein, the short code (Shorten code) may be referred to as a FEC (N_m-s, K_m-s) code, and means that the information portion of the FEC (N_m, K_m) code is shortened by s symbols. .

그리고 상기 생성된 q개의 패리티 심볼 부분을 P개의 패리티 페이로드로 구성된 패리티 블록에 Mapping하며, 임의의 패리티 심볼 부분의 P'_m(i)개의 패리티 심볼들이 P개의 패리티 페이로드에 Mapping될 때 각각의 패리티 페이로드에 Mapping된 패리티 심볼들의 개수가 최대한 균등하게 한다.(여기서 패리티 심볼들의 개수 편차는 1이하로 함)And mapping the generated q parity symbol portions to a parity block composed of P parity payloads, and when P'_m (i) parity symbols of any parity symbol portion are mapped to P parity payloads, Make the number of parity symbols mapped in the parity payload as even as possible (where the number of parity symbols is less than 1).

그리고 여기서 K'_m(1) + K'_m(2) + ... + K'_m(q) = S_max x K and P'_m(1) + P'_m(2) + ... + P'_m(q) = S_max x P 임을 만족한다.And where K'_m (1) + K'_m (2) + ... + K'_m (q) = S_max x K and P'_m (1) + P'_m (2) + ... + P It satisfies that '_m (q) = S_max x P'.

도 3과 도 4는 상기한 본 발명의 실시 예에 의한 FEC(N_m, K_m) 부호를 이용한 부호화 방법을 나타낸 것이다.3 and 4 illustrate an encoding method using FEC (N_m, K_m) codes according to the embodiment of the present invention described above.

앞서 설명한 바와 같이 K개의 정보 페이로드로 구성된 정보 블록(301)은 q개의 정보 심볼 부분(303)으로 도 3와 같이 나누어지고, 각각의 정보 심볼 부분은 FEC(N_m, K_m) 부호를 활용하여 패리티 심볼 부분을 도 4와 같이 생성한다. 생성된 각각의 패리티 심볼 부분은 도 3와 같이 P개의 패리티 페이로드(305)로 구성된 패리티 블록에 mapping된다.As described above, the information block 301 composed of K information payloads is divided into q information symbol portions 303 as shown in FIG. 3, and each information symbol portion is obtained by parity using FEC (N_m, K_m) codes. A symbol portion is generated as shown in FIG. Each generated parity symbol portion is mapped to a parity block composed of P parity payloads 305 as shown in FIG. 3.

각각의 정보 심볼 부분은 도 3의 303에 도시된 바와 같이 각각의 정보 페이로드의 m symbols 또는 m+a symbols로 구성된다. 또한 패리티 심볼 부분도 도 3의 305에 도시된 바와 같이 각각의 패리티 페이로드의 m symbols 또는 m+a symbols에 할당된다.Each information symbol portion is composed of m symbols or m + a symbols of each information payload, as shown at 303 of FIG. The parity symbol portion is also assigned to m symbols or m + a symbols of each parity payload, as shown at 305 of FIG.

이로 인하여 패킷 손실에 의한 페이로드내의 유실된 데이터가 정보 블록의 각 정보 심볼 부분으로 최대한 균등하게 나누어져 FEC 성능을 최대한 안정화 할 수 있고, 또한 어떠한 패킷이 손실되더라도 각각의 정보 심볼 부분내에 m symbol 또는 m+a symbol이 손실되는 구조로 최대한 안정적으로 FEC 프레임 복호가 가능하다.(여기서 a = 0 or 1)As a result, lost data in the payload due to packet loss is divided as evenly as possible into each information symbol portion of an information block, thereby stabilizing FEC performance as much as possible. It is possible to decode FEC frame as stably as possible with m + a symbol loss (where a = 0 or 1).

또한 상기한 본 발명의 AL-FEC 부호화 방법에 의하면, 다양한 K와 P의 값에 대해 하나의 FEC(N_m, K_m) 부호로 부호화하는 것이 가능하여 시스템 구조를 단순화하고 송수신기의 부담을 최소화할 수 있으며, 또한 단일 FEC 부호로 부호화 되기 때문에 하드웨어(H/W) 구현이 가능하며, 구현 부담도 줄일 수 있다.In addition, according to the AL-FEC encoding method of the present invention, it is possible to encode a variety of values of K and P with one FEC (N_m, K_m) code, which simplifies the system structure and minimizes the burden on the transceiver. In addition, since a single FEC code is encoded, hardware (H / W) can be implemented and the implementation burden can be reduced.

상기의 단일 FEC 부호에 의한 부호화 방식은 S/W, H/W 구현 모두 가능한데, 통상적으로 H/W 구현이 FEC encoding/decoding 속도가 빠르므로, UHD와 같은 고속 데이터 전송에는 H/W 구현이 더 적합하다.The single FEC code can be implemented in both S / W and H / W implementations. In general, H / W implementations have a faster FEC encoding / decoding rate, so H / W implementations are better for high-speed data transmission such as UHD. Suitable.

한편 도 3에서 K_m < K 인 경우, 두 개의 정보 심볼 부분이 서로 교번적으로 정보 블록에 배치된다. 예를 들어 K_m=3200이고 K=6400인 경우 정보 블록의 각각의 행(row)은 2개의 정보 심볼 부분으로 구성되는데 하나의 정보 심볼 부분은 홀수 번째 symbol 3200개로 구성되고 나머지 정보 심볼 부분은 짝수 번째 symbol 3200개로 구성된다. 또한 패리티 블록상의 패리티 심볼 부분도 두 개의 패리티 심볼 부분의 각 symbol들이 교번적으로 패리티 블록상의 row에 mapping된다.Meanwhile, in the case of K_m <K in FIG. 3, two information symbol parts are alternately arranged in the information block. For example, if K_m = 3200 and K = 6400, each row of the information block consists of two information symbol parts, one information symbol part is composed of 3200 odd-numbered symbols, and the remaining information symbol part is even-numbered. It consists of 3200 symbols. In the parity symbol portion of the parity block, each symbol of two parity symbol portions is alternately mapped to a row on the parity block.

여기서 K_m = 3200이고 K = 4800인 경우 정보 블록의 각 행(row)의 홀수 번째 symbol 2400개와 짝수 번째 symbol 2400개로 하여 2개의 정보 심볼 부분을 생성하고, 부호화 시 800 개의 symbol을 0으로 채워 부호화한 후, 단축(shortening)한다. 생성된 패리티 심볼 부분 역시 필요 시 천공(Puncturing)한 후, 패리티 블록에 할당한다.In the case of K_m = 3200 and K = 4800, two information symbol parts are generated using 2400 odd-numbered symbols and 2400 even-numbered symbols of each row of the information block, and the 800 symbols are filled with zeros during encoding. After that, shortening is performed. The generated parity symbol portion is also punctured if necessary and then allocated to the parity block.

도 5는 본 발명이 적용되는 MMT(MPEG Media Transport) 시스템과 구체적인 전송 기능 계층의 구조의 일 예를 나타낸 것이다.5 illustrates an example of a structure of an MPEG Media Transport (MMT) system and a specific transport function layer to which the present invention is applied.

도 5의 501은 MMT 시스템의 구조를 나타낸 것이고, 503 은 MMT 시스템의 전송 기능 계층의 세부 구조를 나타낸 것이다.5 shows a structure of the MMT system, and 503 shows a detailed structure of a transport function layer of the MMT system.

도 5를 참조하면, 미디어 부호화 계층(Media Coding Layer)으로부터 압축된 오디오/비디오(Audio/Video) 데이터는 인캡슐레이션 기능 계층(Encapsulation Function Layer)(이하 E Layer)를 거쳐 파일 포맷(File Format)과 유사한 형태로 패키지화 되어 출력되고, 전송 기능 계층(Delivery Function Layer) 에서는 E 계층의 출력을 MMT 페이로드 포맷(Payload Format)화한 후, MMT 페이로드에 MMT 전송 패킷 헤더(Transport Packet Header)를 부가하여 MMT 전송 패킷으로 출력하거나 또는 기존 RTP 프로토콜을 사용하여 RTP 패킷으로 출력한다.Referring to FIG. 5, audio / video data compressed from a media coding layer is passed through an encapsulation function layer (hereinafter referred to as an E layer) to a file format. Packaged and output in a similar form as in the following, in the delivery function layer, the output of the E layer is converted into an MMT payload format, and then an MMT transport packet header is added to the MMT payload. Output in MMT transport packet or RTP packet using existing RTP protocol.

이후 상기 RTP 패킷은 UDP(User Datagram Protocol)/TCP(Transmission Control Protocol)의 전송 프로토콜 계층을 거쳐 최종적으로 인터넷 프로토콜(IP) 계층에서 IP 패킷화 되어 전송된다.Thereafter, the RTP packet is transmitted through a transport protocol layer of User Datagram Protocol (UDP) / Transmission Control Protocol (TCP) and finally IP packetized in the Internet Protocol (IP) layer.

또한 도 5를 참조하면, AL-FEC는 상기 E 계층으로부터의 출력을 받아 MMT D.1 계층에서 MMT 페이로드 포맷을 생성하는 과정에 적용되는데 FEC가 적용되는 경우 제어 기능 계층(Control Function Layer)은 FEC 부호화를 적용하고자 하는 경우 전송 기능 계층(Delivery Function Layer)에 이를 명령하고 MMT D.1 계층과 MMT D.2 계층은 FEC 패킷 블록을 생성하여 출력한다. 그리고 MMT D.3 계층은 계층들 사이의 정보 전송에 관련된 기능을 제공한다. 즉 MMT D.3 계층은 계층들 사이에서 컨텐츠의 전달 및 필요한 커뮤니케이션을 가능하게 한다.Also, referring to FIG. 5, the AL-FEC is applied to a process of generating the MMT payload format in the MMT D.1 layer by receiving the output from the E layer. When the FEC is applied, the control function layer is If FEC encoding is to be applied, this is instructed to a delivery function layer, and the MMT D.1 layer and the MMT D.2 layer generate and output an FEC packet block. And the MMT D.3 layer provides a function related to information transmission between layers. In other words, the MMT D.3 layer enables content delivery and necessary communication between layers.

도 6은 본 발명의 실시 예에 따른 MMT 시스템에서 AL-FEC 소스 블록의 부호화/복호화 과정을 설명하기 위한 기능 블록도이다.도 6을 참조하면, 부호화 시 MMT D.1 계층(601)은 MMT E.1 계층(603)으로부터 MMT Package(AV 데이터, 파일, 텍스트 등을 storage에 저장하거나 또는 전송을 고려한 목적으로 만들어진 format)를 입력 받아 전송을 위한 일정 단위(즉, Source Payload)로 나누어 소스 블록을 구성한다. AL-FEC 변환기(605)는 소스 블록을 동일한 길이를 가지는 정보 페이로드들로 구성된 2차원 배열(array)인 정보 블록으로 변환한다.FIG. 6 is a functional block diagram illustrating an encoding / decoding process of an AL-FEC source block in an MMT system according to an embodiment of the present invention. Referring to FIG. 6, in encoding, an MMT D.1 layer 601 is an MMT. E.1 Layer 603 receives MMT Package (format created for the purpose of storing AV data, file, text, etc. in storage or considering transfer) and divided into certain unit (ie, Source Payload) for transmission. Configure The AL-FEC converter 605 converts the source block into an information block that is a two-dimensional array of information payloads having the same length.

도 6에서 FEC 부호화기(607)는 상기한 본 발명의 실시 예에 의한 부호화 방법에 의해 FEC 부호화을 수행하여 정보 블록으로부터 패리티 블록을 생성하여 페이로드 포맷 생성기(payload format generator)(609)에게 전송한다. 상기 페이로드 포맷 생성기(609)는 소스 블록에 상기 패리티 블록을 부가하고 각각의 페이로드에 페이로드 헤더(Payload Header)(PLH)를 부가하여 패킷화된 MMT 페이로드 포맷(Payload Format)을 MMT D.2 계층 or IETF(Internet Engineering Task Force) 응용 프로토콜 계층(Application Protocol Layer)(611)에 전송한다. 이후 전송 패킷은 도 1 및 도 2의 UDP와 같은 전송 프로토콜에 의해 UDP 헤더를 부가하고 다시 IP 헤더를 부가하여 전송되게 된다.In FIG. 6, the FEC encoder 607 generates a parity block from an information block by performing FEC encoding by the encoding method according to an embodiment of the present invention and transmits the parity block to a payload format generator 609. The payload format generator 609 adds the parity block to a source block and adds a payload header (PLH) to each payload to convert the packetized MMT payload format into MMT D. .2 layer or Internet Engineering Task Force (IETF) Application Protocol Layer (611). Thereafter, the transport packet is transmitted by adding a UDP header and then adding an IP header by a transport protocol such as UDP of FIGS. 1 and 2.

도 6에서 디코딩 시 페이로드 포맷 생성기(609)는 MMT D.2 계층 or IETF 응용 프로토콜 계층(611)으로부터 수신된 패킷내에 있는 MMT 페이로드 포맷들을 받게 되고 페이로드 헤더(PLH)을 제거한 후, 수신된 소스 페이로드와 패리티 페이로드들을 AL-FEC 변환기(605)에 입력한다. 이때 페이로드 포맷 생성기(609)는 AL-FEC 변환기(605)에 손실된 페이로드들의 위치를 알려 준다.In decoding in FIG. 6, the payload format generator 609 receives MMT payload formats in a packet received from the MMT D.2 layer or the IETF application protocol layer 611 and removes the payload header (PLH). Input source and parity payloads to the AL-FEC converter 605. The payload format generator 609 then informs the AL-FEC converter 605 of the location of the lost payloads.

여기서 손실된 페이로드들의 위치는 부호화 시 페이로드 헤더(PLH) 또는 MMT 헤더 또는 IETF 응용 계층 헤더에 저장된 시퀀스 번호(Sequence Number)와 같은 정렬(ordering) 정보를 이용하여 수신기가 알고, 이를 AL-FEC 변환기(605)에 알려줄 수 있거나 또는 이러한 정보들로부터 AL-FEC 변환기(605)가 알 수 있다.Here, the positions of lost payloads are known by the receiver using ordering information such as a sequence number stored in a payload header (PLH) or an MMT header or an IETF application layer header during encoding, and the AL-FEC The converter 605 may be informed or from this information the AL-FEC converter 605 may know.

AL-FEC 변환기(605)는 입력된 손실된 페이로드를 가지는 FEC 전송 블록의 소스 블록을 다시 정보 블록으로 전환하여 FEC 블록을 구성하고, 이를 복호하여 정보 페이로드를 복구하고, 복구된 정보 블록을 소스 블록으로 전환하여 페이로드 포맷 생성기(609)에 출력한다.The AL-FEC converter 605 converts the source block of the FEC transport block having the input lost payload back into an information block, constructs an FEC block, decodes the information payload, and recovers the recovered information block. Switch to the source block and output to the payload format generator 609.

페이로드 포맷 생성기(609)는 입력된 소스 블록을 E.1 계층에 전송하여 사용자가 데이터를 소비하기 위한 프로세스를 진행할 수 있도록 한다.The payload format generator 609 sends the input source block to the E.1 layer to allow the user to proceed with the process for consuming data.

하기 <표 2> 내지 <표 4>는 지연시간, 페이로드 크기, 데이터 전송률에 따른 페이로드의 개수가 다양함을 나타낸 것이다.Tables 2 to 4 show that the number of payloads varies according to delay time, payload size, and data rate.

페이로드 크기는 최대 전달 유닛(Maximum Transfer Unit : MTU)에 의해 제약되는데 대부분의 이더넷 LANs은 1500bytes의 MTU를 사용한다. 그러므로 각종 헤더를 제외한 실제 전송되는 페이로드 크기는 1000 여 바이트로 제약된다고 하면, 그리고 또한 Full HD, 3D, UHD와 같은 고속 데이터 전송을 위해서는 헤더에 의한 오버헤드 양을 줄이기 위해 되도록 긴 페이로드를 사용하는 것이 유리하다.Payload size is constrained by the maximum transfer unit (MTU). Most Ethernet LANs use an MTU of 1500 bytes. Therefore, the actual payload size excluding various headers is limited to 1000 bytes, and also the long payload is used to reduce the amount of overhead caused by the header for high speed data transmission such as Full HD, 3D, and UHD. It is advantageous to.

MPEG4-AVC/H.264 코덱(codec)의 경우 통상 Full HD 서비스를 위해 예컨대, 8Mbps가 요구되어진다고 했을 때, 128Mbps면 8K(4096 x 8192) 해상도를 가지는 UHD 서비스까지 가능하다. 만약, 고효율 비디오 코덱(High Efficiency Video Codec : HEVC)와 같은 고압축 코덱을 사용하면 상기 MPEG4-AVC/H.264 코덱의 2배까지도 가능하다고 알려져 있다. 이 점을 고려하면 페이로드의 12800 또는 6400 정도면 8K UHD 서비스는 지연시간 400ms이내에 서비스하는 것이 가능하다.In the case of MPEG4-AVC / H.264 codec, for example, 8Mbps is required for Full HD service, UHD service having 8K (4096 x 8192) resolution is possible at 128Mbps. If a high-compression codec such as High Efficiency Video Codec (HEVC) is used, it is known that up to twice the MPEG4-AVC / H.264 codec is possible. Taking this into consideration, an 8K UHD service can be serviced within a 400 ms delay with a payload of 12800 or 6400.

하기 <표 2>는 지연시간 100ms시 페이로드 크기에 따른 소스 블록을 위한 페이로드 수를 예시한 것이다.Table 2 below illustrates the number of payloads for a source block according to the payload size at a delay time of 100 ms.

Figure pat00001
Figure pat00001

하기 <표 3>은 지연시간 200ms시 페이로드 크기에 따른 소스 블록을 위한 페이로드 수를 예시한 것이다.Table 3 below illustrates the number of payloads for a source block according to the payload size at a delay time of 200 ms.

Figure pat00002
Figure pat00002

하기 <표 4>는 지연시간 400ms시 페이로드 크기에 따른 소스 블록을 위한 페이로드 수를 예시한 것이다.Table 4 below illustrates the number of payloads for a source block according to the payload size at a delay time of 400 ms.

Figure pat00003
Figure pat00003

상기 <표 2> 내지 <표 4>에서 페이로드 수를 계산하는 아래 <수학식 1>과 같다.Equation 1 below to calculate the payload number in Tables 2 to 4.

<수학식 1>&Quot; (1) &quot;

K = R x D / S, where R = 초당 전송 bits 수(bps),K = R x D / S, where R = transmit bits per second (bps),

D = 지연 시간(초), S = Payload Size in bits.D = delay time in seconds, S = Payload Size in bits.

이로 인하여 시스템 상에서 지연 시간, 페이로드 크기, 데이터 전송률 등에 따라 요구되어지는 최대 페이로드 수의 값을 정할 수 있다.As a result, the maximum number of payloads required in the system may be determined according to delay time, payload size, and data rate.

이하 본 발명의 실시 예에서는 상기 페이로드 크기를 Smax, 최대 페이로드의 수를 6400으로 했을 때 그리고 부가될 패리티 페이로드의 최대 개수를 1280개로 했을 때의 부호화 방법을 설명한 것이다.Hereinafter, an embodiment of the present invention describes an encoding method when the payload size is Smax, the maximum payload is 6400, and the maximum number of parity payloads to be added is 1280.

- FEC 부호 :(7680, 6400) 부호(LDPC, Raptor, Raptor Q등 다양한 코드의 적용이 가능하다)-FEC code: (7680, 6400) code (Various codes such as LDPC, Raptor, Raptor Q can be applied.)

- 정보 블록 길이 : K ≤ 6400Information block length: K ≤ 6400

- 패리티 블록 길이 : P ≤ 1280Parity block length: P ≤ 1280

- 페이로드 크기 : S(in bytes)(단, 8*S는 m의 배수)가 주어졌을 때 m x K ≤ 6400 and m x P ≤ 1280을 만족하는 최대 정수 값 m을 찾는다.-Payload Size: Given S (in bytes) (where 8 * S is a multiple of m), find the maximum integer value m that satisfies m x K ≤ 6400 and m x P ≤ 1280.

이때 본 발명의 실시 예에 따른 AL-FEC 부호화에 의해 생성되는 FEC 전송 블록에서 정보 심볼 부분과 패리티 심볼 부분은 도 7와 같이 정보 블록과 패리티 블록의 각 m bit rows로 각각 구성된다.In this case, the information symbol portion and the parity symbol portion in the FEC transmission block generated by AL-FEC encoding according to the embodiment of the present invention are composed of each m bit rows of the information block and the parity block as shown in FIG. 7.

이하 본 발명의 실시 예에 따라 각각의 정보 심볼 부분으로부터 예컨대, FEC(7680, 6400) 부호를 이용하여 패리티 심볼 부분을 생성하는 방법을 설명하기로 한다.Hereinafter, a method of generating a parity symbol portion from each information symbol portion using, for example, FEC 7880 and 6400 codes will be described.

도 8은 본 발명의 실시 예에 따른 제1 인터리빙 방법과 FEC(7680,6400) 부호를 이용하여 패리티 심볼 부분을 생성하는 방법의 일 예를 나타낸 것이다.8 illustrates an example of a method of generating a parity symbol part by using a first interleaving method and an FEC (7680, 6400) code according to an embodiment of the present invention.

도 8을 참조하면, 각각의 m x K array로 구성된 정보 심볼 부분에서 첫 번째 row의 K bits를 먼저 왼쪽에서 오른쪽으로 numbering하고 다음 두 번째 row의 K bits를 왼쪽에서부터 오른쪽으로 numbering하여 순서화된 m x K bits로 구성된 정보 심볼 부분으로 Interleaving하고 6400 -(m x K) bits를 0으로 채워 6400 bits의 정보 부분으로 구성한 후, FEC(7680,6400) 부호에 의해 패리티 부분 1280 bits을 생성한 후, 1280 -(m x P) bits를 Puncturing하여 m x P bits로 구성된 패리티 심볼 부분을 생성한다. 이를 다시 패리티 블록상의 m x P array로 구성된 해당 패리티 심볼 부분에서 첫 번째 row의 왼쪽부터 오른쪽으로, 그 다음 두 번째 row의 왼쪽에서부터 오른쪽으로, ... , m 번째 row의 왼쪽에서 오른쪽으로 m x P bits를 mapping한 것을 나타낸다.Referring to FIG. 8, in the information symbol portion of each mx K array, ordered mx K bits by first numbering K bits of the first row from left to right and numbering K bits of the second row from left to right. After interleaving the information symbol part composed of 6400-(mx K) bits with 0 and configuring the information part of 6400 bits, the parity part 1280 bits are generated by FEC (7680,6400) code, and then 1280-(mx P) Puncturing the bits to generate a parity symbol portion consisting of mx P bits. Again, this is the parity symbol portion of the mx P array on the parity block. Shows mapping.

도 9는 본 발명의 실시 예에 따른 제2 인터리빙 방법과 FEC(7680,6400) 부호를 이용하여 패리티 심볼 부분을 생성하는 방법의 일 예를 나타낸 것이다.9 illustrates an example of a method of generating a parity symbol part using a second interleaving method and an FEC (7680, 6400) code according to an embodiment of the present invention.

도 9를 참조하면, 정보 블록상의 각각의 m x K array로 구성된 정보 심볼 부분의 첫 번째 column의 위 쪽에서부터 아래쪽으로, 두 번째 column의 위 쪽에서부터 아래쪽으로, ... , K번째 column의 위 쪽에서부터 아래쪽으로 numbering하여 m x K bits로 구성된 정보 심볼 부분을 생성하는 방법과, 동일한 방식으로 m x P bits로 구성된 패리티 심볼 부분으로부터 패리티 블록에 해당하는 m x P array 패리티 심볼 부분으로 mapping하는 방법을 제외하고는 도 9의 방법은 도 8의 방법과 같다.9, from top to bottom of the first column of the information symbol portion consisting of each mx K array on the information block, from top to bottom of the second column, ..., above the K-th column Except for the method of generating the information symbol part consisting of mx K bits by numbering from the bottom to the same, and the method of mapping from the parity symbol part consisting of mx P bits to the mx P array parity symbol part corresponding to the parity block in the same manner. The method of FIG. 9 is the same as the method of FIG. 8.

상기와 같은 방법에 의해 6400보다 작은 모든 K에 대해 그리고 1280보다 작은 모든 P에 대해 FEC(7680,6400) 부호 하나를 사용하여 FEC 부호화 하는 것이 가능하다.By this method it is possible to FEC encode using one FEC (7680,6400) code for all Ks less than 6400 and all Ps less than 1280.

상기한 방법은 하기 도 10과 같은 2단 FEC 부호화 구조(Two Stage FEC coding structure) 상에서도 동일하게 적용이 가능하다.The above method is equally applicable to a two stage FEC coding structure as shown in FIG. 10.

도 10은 본 발명의 실시 예에 따른 2단 FEC 부호화 구조를 나타낸 도면이다.10 is a diagram illustrating a two-stage FEC coding structure according to an embodiment of the present invention.

도 10을 참조하면, 2단 FEC 부호화 구조를 위해 소스 블록(1001)은 M개의 Sub-Block들(1003)로 구성되고, 각각의 서브 블록(Sub-Block)은 정보 블록으로 변환 후, 제1 FEC 부호화기(1005)에 의해 부호화 되어 제1 패리티 블록(Parity 1 Block)이 해당 정보 블록에 부가된다. 한편으로 소스 블록(1001)은 정보 블록으로 변환된 후 제2 FEC 부호화기(1005)에 의해 부호화 되어 제2 패리티 블록(Parity 2 Block)이 생성된다. 그리고 도 10의 2단 FEC 부호화 구조에 의해 생성된 FEC 블록과 FEC 클러스터(cluster) 구조는 도 11과 같다.상기한 2단 FEC 부호화 구조 상에서 본 발명에 의한 FEC 부호화 방법은 도 10의 제1 및 제2 FEC 부호화기(1005, 1007)를 동일한 FEC 부호로 사용함에 의해 가능하다.Referring to FIG. 10, for a two-stage FEC encoding structure, the source block 1001 is composed of M sub-blocks 1003, and each sub-block is converted into an information block, and then, a first block. Encoded by the FEC encoder 1005, a first parity block (Parity 1 Block) is added to the corresponding information block. On the other hand, the source block 1001 is converted into an information block and then encoded by the second FEC encoder 1005 to generate a second parity block. The FEC block and the FEC cluster structure generated by the two-stage FEC coding structure of FIG. 10 are the same as in FIG. This is possible by using the second FEC encoders 1005 and 1007 as the same FEC code.

예를 들어,E.g,

- 소스 블록 길이 : K ≤ 6400Source block length: K ≤ 6400

- ith 서브 블록 길이(Sub-Block Length) : K(i) ≤ 6400(i=1,2,...,M)Sub-Block Length: K (i) ≤ 6400 (i = 1,2, ..., M)

- ith 제1 패리티 블록 길이(Parity 1 Block Length) : ith Parity 1 Block Length:

P1(i) ≤ 1280(i=1,2,...,M)  P1 (i) ≤ 1280 (i = 1,2, ..., M)

- 제2 패리티 블록 길이(Parity 2 Block Length) : P2 ≤ 1280 이라고 하면,Parity 2 Block Length: P2 ≤ 1280

우선 각각의 서브 블록에 대해 m(i) x K(i) ≤ 6400 and m(i) x P1(i) ≤ 1280을 만족하는 최대 값 m(i)를 찾는다. m(i)값을 이용하여 상기한 본 발명의 FEC 부호화 방법에 의해 FEC(7680,1280) 부호를 활용하여 제1 패리티 블록을 생성한다.(이 경우 도 7, 도 8, 도 9에서 m을 m(i)로 대체함)First, the maximum value m (i) satisfying m (i) x K (i) ≤ 6400 and m (i) x P1 (i) ≤ 1280 is found for each subblock. The first parity block is generated by using the FEC (7680, 1280) codes by the above-described FEC encoding method of the present invention using the value of m (i). replaced by m (i)

소스 블록에 대해서는 m x K ≤ 6400 and m x P2 ≤ 1280을 만족하는 최대 값을 상기 m을 찾고, 본 발명의 FEC 부호화 방법에 의해 FEC(7680,1280) 부호를 활용하여 제2 패리티 블록을 생성한다.For the source block, the maximum value satisfying m x K ≤ 6400 and m x P2 ≤ 1280 is found, and the second parity block is generated using the FEC (7680, 1280) code by the FEC encoding method of the present invention.

K, K(i), P1(i), P2의 구체적인 값에 대한 실시 예를 추가하면 다음과 같다.Adding an embodiment of specific values of K, K (i), P1 (i), and P2 is as follows.

- K = 3200 and P2 = 160K = 3200 and P2 = 160

- K(i) = 200(i=1,2,...,16)K (i) = 200 (i = 1,2, ..., 16)

- P(i) = 30(i=1,2,...,16) 이라고 하면,-P (i) = 30 (i = 1,2, ..., 16)

각각의 서브 블록에 대해서는 m(i) = 32로 하고, 소스 블록에 대해서는 m=2로 하여 상기 도 7, 도 8, 도 9와 같은 방식으로 FEC(7680,6400) 부호를 활용하여 부호화 한다.M (i) = 32 for each subblock and m = 2 for the source block, and coded using the FEC (7680,6400) codes in the same manner as in FIGS. 7, 8, and 9 above.

도 12 및 도 13은 본 발명의 실시 예에 따라 랜덤 소거 채널(Random Erasure Channel)상에서 FEC 부호화를 적용한 경우 LDPC 부호의 성능을 비교한 것이다. 구체적으로 도 12는 예를 들어 K = 200인 경우, 도 13은 K = 400인 경우 본 발명의 실시 예에 따른 FEC(7680,1280) 부호 즉, LDPC(7680, 6400) 부호의 성능을 비교한 것이다.12 and 13 compare the performance of the LDPC code when FEC encoding is applied on a random erase channel according to an embodiment of the present invention. In detail, FIG. 12 shows, for example, K = 200 and FIG. 13 compares the performances of the FEC (7680,1280) codes, that is, the LDPC (7680, 6400) codes, according to an embodiment of the present invention. will be.

K=200 or 400, P/K = 5,10,15,20% 인 경우를 가정하면, 도 12 및 도 13에서 LDPC6400_5%, LDPC6400_10%, LDPC6400_15%, LDPC6400_20%은 본 발명의 실시 예에 의한 FEC 부호화 방식을 K=200인 경우와 K=400인 경우에 적용한 것을 말하고, LDPC200은 정보 길이가 200인 부호를 의미하고, LDPC400은 정보 길이가 400인 부호를 의미한다. LDPC200, LDPC400은 본 발명의 실시 예에서 m=1인 경우에 해당하고, LDPC6400은 K=200에 대해서는 m=32인 경우에 해당하고, K=400에 대해서는 m=16인 경우에 해당한다.Assuming that K = 200 or 400 and P / K = 5,10,15,20%, LDPC6400_5%, LDPC6400_10%, LDPC6400_15%, and LDPC6400_20% in Figs. 12 and 13 are FECs according to an embodiment of the present invention. The coding scheme is applied when K = 200 and K = 400. LDPC200 means a code having an information length of 200, and LDPC400 means a code having an information length of 400. LDPC200 and LDPC400 correspond to the case where m = 1 in the embodiment of the present invention, LDPC6400 corresponds to the case where m = 32 for K = 200, and m = 16 for K = 400.

도 12 및 도 13을 참조하면, 본 발명의 실시 예에 의한 FEC 부호화 방식의 성능이 더 좋은 것을 확인할 수 있다.12 and 13, it can be seen that the performance of the FEC coding scheme according to the embodiment of the present invention is better.

K의 최대값을 K_m 과 P의 최대값 P_m이라 했을 때 송수신기 관점에서 적어도 FEC(K_m + P_m, K_m) 부호를 필요로 한다.When the maximum value of K is K_m and the maximum value P_m of P, at least a FEC (K_m + P_m, K_m) code is required from a transceiver perspective.

따라서 본 발명의 실시 예를 적용하면, 상기 FEC(K_m + P_m, K_m) code 하나로 다양한 K값과 P값에 대해 부호화를 적용하는 것이 가능하여 시스템을 단순하게 가져갈 수 있고 또한 보다 좋은 성능을 제공하므로 사용자에게 양질의 컨텐츠를 서비스 할 수 있다.Therefore, by applying the embodiment of the present invention, it is possible to apply coding to various K values and P values with one FEC (K_m + P_m, K_m) code, so that the system can be simplified and provide better performance. It can provide high quality contents to users.

하기 <표 5>는 MMT 페이로드 포맷을 나타낸 것이다.Table 5 below shows the MMT payload format.

Payload HeaderPayload Header MMT Payload(Source Payload or Parity Payload)MMT Payload (Source Payload or Parity Payload)

하기 <표 6>은 페이로드 헤더 포맷을 나타낸 것이다.Table 6 below shows the payload header format.

Payload Type Payload Type Sequence Number Sequence Number FEC_Flag FEC_Flag Block Boundary Info Block Boundary Info FEC_Type_Info FEC_Type_Info Interleaving Mode Interleaving Mode FEC Delivery Block Length : N FEC Delivery Block Length: N Source Block Length : K Source Block Length: K

상기 <표 6>에서 "Payload Type"은 해당 MMT 페이로드 포맷의 페이로드가 소스 페이로드인지 패리티 페이로드인지를 나타낸다.In Table 6, "Payload Type" indicates whether the payload of the corresponding MMT payload format is a source payload or a parity payload.

"Sequence Number"는 전송되는 페이로드들의 순서를 나타내기 위하여 순차적으로 증가하거나 감소하여 할당하며, 상기 Sequence Number로부터 패킷의 손실 여부를 알 수 있다."Sequence Number" is sequentially increased or decreased in order to indicate the order of payloads to be transmitted, and it is possible to know whether a packet is lost from the Sequence Number.

"FEC Flag"는 FEC 적용 여부를 나타낸다. 예를 들어 그 값이 0이면, 패리티 페이로드없이 소스 블록만 전송하고 그 값이 1이면, 소스 블록에 패리티 블록을 부가하여 즉, FEC scheme이 적용되어 전송된다는 것을 의미한다. 2단 FEC 부호화 구조가 적용되는 경우 이 FEC flag 필드를 확장하여 one stage인지 two stage인지를 구분해 주는 것이 바람직하다."FEC Flag" indicates whether FEC is applied. For example, if the value is 0, only the source block is transmitted without the parity payload, and if the value is 1, the parity block is added to the source block, that is, the FEC scheme is applied and transmitted. When the two-stage FEC coding structure is applied, it is preferable to extend the FEC flag field to distinguish one stage or two stages.

"Block Boundary Info"는 FEC 전송 블록의 경계를 알려주는데 FEC 전송 블록의 첫 번째 소스 페이로드의 Sequence Number 값을 모든 헤더에 할당한다."Block Boundary Info" informs the boundary of the FEC transport block, and assigns the sequence number value of the first source payload of the FEC transport block to all headers.

"FEC_Type_Info"는 적용된 FEC 부호가 무엇인지를 나타낸다. 0이면 LDPC, 1이면 Raptor, 2이면 RaptorQ와 같이 할당 될 수 있다. 만약 본 발명의 실시 예에 의한 하나의 FEC 부호가 송수신기간에 미리 정해져 있지 않다면 FEC 부호의 부호 길이와 정보 길이(or 정보 길이와 패리티 길이)를 이 필드에 저장하여 전송한다."FEC_Type_Info" indicates what the applied FEC code is. 0 can be assigned to LDPC, 1 to Raptor, and 2 to RaptorQ. If one FEC code according to an embodiment of the present invention is not predetermined in the transmission / reception period, the code length and information length (or information length and parity length) of the FEC code are stored in this field and transmitted.

"Interleaving Mode"는 본 발명의 실시 예에 의해 적용된 Interleaving mode를 나타내는데 예를 들어 0이면 도 8의 방식으로 interleaving되고, 1이면 도 9의 interleaving 방식으로 interleaving됨을 나타낸다."Interleaving Mode" indicates an interleaving mode applied by an embodiment of the present invention. For example, 0 indicates interleaving in FIG. 8, and 1 indicates interleaving in FIG. 9.

"FEC Delivery Block Length"는 FEC 전송 블록에 포함되어 있는 페이로드들의 개수를 말한다."FEC Delivery Block Length" refers to the number of payloads included in the FEC transport block.

소스 블록 길이는 소스 블록에 포함되어 있는 소스 페이로드들의 개수를 말한다.The source block length refers to the number of source payloads included in the source block.

상기 interleaving mode 결정에 있어서 만일 Quasi-cyclic LDPC(QC-LDPC)구조의 FEC 부호를 사용하는 경우 도 9의 방식보다 도 8의 방식이 보다 바람직하고, Random LDPC 구조의 FEC 부호는 도 9의 방식이 보다 바람직하다.In the interleaving mode determination, if the FEC code of the quasi-cyclic LDPC (QC-LDPC) structure is used, the method of FIG. 8 is more preferable than the method of FIG. 9, and the FEC code of the random LDPC structure is the method of FIG. More preferred.

예컨대, QC-LDPC 구조에서 도 8의 방식이 바람직한 이유는 예를 들어, K = 200, K_m = 6400 이라 하고, QC-LDPC(6400+P_m, 6400) 부호의 Mother matrix이 LDPC(200+P, 200) 부호라 했을 때 QC-LDPC 부호의 서브 블록 크기는 32 x 32 matrix로 구성된다. 도 9의 interleaving 방식으로 상기 QC-LDPC(6400+P_m, 6400) 부호로 본 발명의 부호화를 적용하면 m=32가 되는데, Payload 손실 시 32bits가 손실 되고, 이는 QC-LDPC H matrix상에서 서브 블록 32 x 32 이 소거됨을 의미한다.For example, the reason why the scheme of FIG. 8 is preferable in the QC-LDPC structure is, for example, K = 200, K_m = 6400, and the mother matrix of the QC-LDPC (6400 + P_m, 6400) code is LDPC (200 + P, 200) The subblock size of the QC-LDPC code is composed of a 32 x 32 matrix. When the coding of the present invention is applied to the QC-LDPC (6400 + P_m, 6400) code using the interleaving method of FIG. 9, m = 32, and 32 bits are lost when Payload is lost, which is a subblock 32 on the QC-LDPC H matrix. x 32 is erased.

이는 상기 QC-LDPC 부호의 Mother Matrix 상에서 1 bit 소거에 해당하므로 그 성능은 Mother Matrix와 동일한 성능을 가지게 된다. Random LDPC 구조의 경우는 도 9의 방식이 단축/천공(Shortening/Puncturing)에 있어서 보다 단순하기 때문에 도 9와 같은 interleaving 방식이 더 적합하다.Since this corresponds to 1 bit erasure on the mother matrix of the QC-LDPC code, the performance is the same as that of the mother matrix. In the case of the random LDPC structure, the interleaving scheme as shown in FIG. 9 is more suitable because the scheme of FIG. 9 is simpler in shortening / puncturing.

상기 <표 6>의 페이로드 헤더 포맷의 정보들 중 적어도 하나는 AL-FEC를 위해 필요한 정보인데 MMT D.2 계층의 헤더나 응용 계층 헤더와 중복되는 정보가 있다면 생략될 수 있다. 즉, AL-FEC를 위해 요구되어지는 정보로 페이로드 헤더 포맷에 저장되는 것을 제약하지는 않고, 필요시 MMT D.2 계층의 헤더나 RTP, FLUTE, HTTP와 같은 응용 계층 헤더에 저장될 수 있다.At least one of the information of the payload header format shown in Table 6 is necessary information for AL-FEC and may be omitted if there is information overlapping with the header of the MMT D.2 layer or the application layer header. That is, the information required for AL-FEC is not limited to being stored in the payload header format, but may be stored in the header of the MMT D.2 layer or an application layer header such as RTP, FLUTE, and HTTP if necessary.

특히 RTP 헤더는 "Sequence Number"와 "Payload Type" 필드를 포함하고 있으므로 이를 활용하여 오버헤드를 최소화하는 것이 가능하다. 이 경우 RTP 헤더의 "Payload Type" 정보는 소스 페이로드와 패리티 페이로드를 구분할 수 있게 하고, "Sequence Number"는 상기 <표 6>의 "Sequence Number"로서의 역할을 포함하도록 설정되며, 또한 <표 6>의"Block Boundary Info"는 FEC 전송 블록의 첫 번째 페이로드를 포함하는 RTP 패킷의 헤더의 sequence number가 설정되면 된다. RTP의 경우뿐만 아니라 MMT 헤더가 sequence number나 payload type 정보를 포함한다면 동일하게 적용할 수 있다. 하기 <표 7>은 패리티 페이로드에 대한 페이로드 헤더 포맷(Payload Header Format for Parity Payload)의 일 예로 IP Protocol을 사용하여 전송되는 Protocol stack을 나타낸 것이다.In particular, since the RTP header includes the "Sequence Number" and "Payload Type" fields, it is possible to minimize the overhead by utilizing this. In this case, the "Payload Type" information of the RTP header makes it possible to distinguish between the source payload and the parity payload, and the "Sequence Number" is set to include the role as "Sequence Number" in Table 6 above. "Block Boundary Info" of 6> only needs to set the sequence number of the header of the RTP packet including the first payload of the FEC transport block. In addition to RTP, if the MMT header includes sequence number or payload type information, the same applies. Table 7 below shows a protocol stack transmitted using an IP protocol as an example of a payload header format for parity payload.

IP Protocol Header IP Protocol Header UDP / TCP Header UDP / TCP Header MMT Protocol / Application Protocol(e.g. RTP) MMT Protocol / Application Protocol (e.g. RTP) MMT Payload Format Header MMT Payload Format Header MMT Payload(Source Payload / Parity Payload) MMT Payload (Source Payload / Parity Payload)

Claims (2)

패킷 단위의 데이터 송신을 이용하는 멀티미디어 시스템에서 FEC 부호화 방법에 있어서,
다수의 소스 페이로드들을 포함하는 소스 블록을 구성하는 과정;
하나의 FEC 부호를 이용하여 상기 소스 블록으로부터 다수의 패리티 페이로드들을 포함하는 패리티 블록을 구성하는 과정; 및
상기 소스 블록과 상기 패리티 블록을 포함하는 FEC 전송 블록을 구성하는 과정을 포함하며,
상기 다수의 소스 페이로드들의 개수를 K, 상기 다수의 패리티 페이로드들의 개수를 P라 하였을 때 상기 소스 블록의 다수의 정보 심볼 부분은 m x K 어레이로 배치되고, 상기 패리티 블록의 다수의 패리티 심볼 부분은 m x P 어레이로 배치되며, 주어진 페이로드들의 개수 K에 대해 상기 m 값을 조절하여 상기 FEC 전송 블록을 구성하는 FEC 부호화 방법.
In the FEC encoding method in a multimedia system using packet data transmission,
Constructing a source block comprising a plurality of source payloads;
Constructing a parity block including a plurality of parity payloads from the source block using one FEC code; And
Configuring a FEC transport block including the source block and the parity block;
When the number of the plurality of source payloads is K, and the number of the plurality of parity payloads is P, a plurality of information symbol portions of the source block are arranged in an mxK array, and a plurality of parity symbol portions of the parity block are provided. Is arranged in an mx P array, and adjusts the m value for a given number K of payloads to configure the FEC transport block.
제 1 항에 있어서,
상기 소스 블록에서 각 정보 심볼 부분은 상기 m의 개수의 심볼 행들로 구성되며, 상기 FEC 부호를 FEC(N_m, K_m) 부호라 하였을 때,
상기 m은 m x K ≤ N_m 및 m x P ≤ N_m - K_m을 만족하는 최대 정수이며,
상기 FEC(N_m, K_m) 부호를 이용하여 각 정보 심볼 부분으로부터 해당 패리티 심볼 부분을 생성하여 상기 패리티 블록을 구성하는 FEC 부호화 방법.
The method of claim 1,
Each information symbol portion of the source block is composed of m number of symbol rows, and when the FEC code is called FEC (N_m, K_m) code,
M is a maximum integer satisfying mx K ≤ N_m and mx P ≤ N_m-K_m,
And generating a parity symbol part from each information symbol part by using the FEC (N_m, K_m) code to configure the parity block.
KR1020110109007A 2011-10-24 2011-10-24 Encoding method and apparatus of forward error correction in a multimedia system KR101874116B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110109007A KR101874116B1 (en) 2011-10-24 2011-10-24 Encoding method and apparatus of forward error correction in a multimedia system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110109007A KR101874116B1 (en) 2011-10-24 2011-10-24 Encoding method and apparatus of forward error correction in a multimedia system

Publications (2)

Publication Number Publication Date
KR20130044782A true KR20130044782A (en) 2013-05-03
KR101874116B1 KR101874116B1 (en) 2018-07-04

Family

ID=48657110

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110109007A KR101874116B1 (en) 2011-10-24 2011-10-24 Encoding method and apparatus of forward error correction in a multimedia system

Country Status (1)

Country Link
KR (1) KR101874116B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170102524A (en) * 2015-01-08 2017-09-11 상하이 지아오통 유니버시티 FEC mechanism based on some kind of media contents

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170102524A (en) * 2015-01-08 2017-09-11 상하이 지아오통 유니버시티 FEC mechanism based on some kind of media contents
KR20190133294A (en) * 2015-01-08 2019-12-02 상하이 지아오통 유니버시티 Fec mechanism based on media contents

Also Published As

Publication number Publication date
KR101874116B1 (en) 2018-07-04

Similar Documents

Publication Publication Date Title
KR101829923B1 (en) Apparatus and method for encoding in data communication system
KR101995221B1 (en) Apparatus and method for transmitting and receiving packet in communication system
KR101964852B1 (en) Apparatus and method for transmitting and receiving packet in broadcasting and communication system
US9276613B2 (en) Universal packet loss recovery for delivery of real-time streaming multimedia content over packet-switched networks
KR101933465B1 (en) Apparatus and method for transmitting/receiving a packet in a mobile communication system
KR102133930B1 (en) Apparatus and method for transmitting and receiving data packet
KR102048730B1 (en) Apparatus and method of transmiting/receiving broadcast data
KR101367886B1 (en) Fast channel zapping and high quality streaming protection over a broadcast channel
KR101922559B1 (en) Method and apparatus for transmitting/receiving forward error correction packet in a communication system
CN101040475B (en) Assembling forward error correction frames
KR101983032B1 (en) Apparatus and method for transmitting and receiving packet in broadcasting and communication system
EP1985021A2 (en) Streaming and buffering using variable fec overhead and protection periods
EP2783475B1 (en) Interleaving for layer-aware forward error correction
KR102163338B1 (en) Apparatus and method for transmitting and receiving packet in a broadcasting and communication system
US10833710B2 (en) Bandwidth efficient FEC scheme supporting uneven levels of protection
EP2842253B1 (en) Apparatus and method for transmitting a packet in a communication system
JP6371830B2 (en) Forward error correction packet transmission method
KR101874116B1 (en) Encoding method and apparatus of forward error correction in a multimedia system
KR101829464B1 (en) Method and apparatus for encoding of pacekt data
Nakachi et al. Rate-adaptive FF-LDGM code with selective inter-leaving scheme
Hamzaoui et al. Video Streaming: Reliable Wireless Streaming with Digital Fountain Codes

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