KR101874116B1 - 멀티미디어 시스템에서 순방향 오류 정정 부호화 방법 및 장치 - Google Patents

멀티미디어 시스템에서 순방향 오류 정정 부호화 방법 및 장치 Download PDF

Info

Publication number
KR101874116B1
KR101874116B1 KR1020110109007A KR20110109007A KR101874116B1 KR 101874116 B1 KR101874116 B1 KR 101874116B1 KR 1020110109007 A KR1020110109007 A KR 1020110109007A KR 20110109007 A KR20110109007 A KR 20110109007A KR 101874116 B1 KR101874116 B1 KR 101874116B1
Authority
KR
South Korea
Prior art keywords
parity
fec
information
payloads
block
Prior art date
Application number
KR1020110109007A
Other languages
English (en)
Other versions
KR20130044782A (ko
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/ko
Publication of KR20130044782A publication Critical patent/KR20130044782A/ko
Application granted granted Critical
Publication of KR101874116B1 publication Critical patent/KR101874116B1/ko

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 멀티미디어 시스템에서 FEC 부호화 방법 및 장치에 대한 것으로서, 본 발명의 방법은 다수의 소스 페이로드들을 포함하는 소스 블록을 구성하는 과정과, 하나의 FEC 부호를 이용하여 상기 소스 블록으로부터 다수의 패리티 페이로드들을 포함하는 패리티 블록을 구성하는 과정과, 상기 소스 블록과 상기 패리티 블록을 포함하는 FEC 전송 블록을 구성하는 과정을 포함하며, 상기 다수의 소스 페이로드들의 개수를 K, 상기 다수의 패리티 페이로드들의 개수를 P라 하였을 때 상기 소스 블록의 다수의 정보 심볼 부분은 m x K 어레이로 배치되고, 상기 패리티 블록의 다수의 패리티 심볼 부분은 m x P 어레이로 배치되며, 주어진 페이로드들의 개수 K에 대해 상기 m 값을 조절하여 상기 FEC 전송 블록을 구성한다.

Description

멀티미디어 시스템에서 순방향 오류 정정 부호화 방법 및 장치{ENCODING METHOD AND APPARATUS OF FORWARD ERROR CORRECTION IN A MULTIMEDIA SYSTEM}
본 발명은 멀티미디어 시스템에서 다양한 길이의 데이터를 지원하는 FEC 부호화 방법 및 장치에 대한 것이다.
다양한 컨텐츠들(contents)의 증가와 고해상도(High Definition : HD) 컨텐츠, 초고해상도(Ultra High Definition : UHD)컨텐츠들과 같은 고용량 컨텐츠들의 증가로 네트워크 상에서 데이터 혼잡은 점점 더 심화되고 있다.
도 1 및 도 2는 일반적인 IP 기반의 네트워크 토폴로지와 데이터 흐름을 개략적으로 나타낸 도면이다.
도 1을 참조하면, 이러한 상황으로 인하여 송신기(Host A)(101)가 보낸 컨텐츠들이 수신기(Host B)(103)에게 온전이 전달되지 않고 컨텐츠의 일부가 전송 경로(Route) 상에서 손실되는 상황이 발생한다. 일반적으로 데이터데이터는 패킷(Packet)단위로 전송하므로 데이터의 손실은 전송 패킷 단위로 발생하게 된다.
도 2의 "Data"는 AV Codec단에서 압축된 데이터를 예를 들어 Real Time Protocol(RTP)를 사용하여 패킷화한 이후의 RTP 패킷 데이터로 간주되거나(IETF의 RFC3550, RFC3984 문서 참조) 또는 MPEG MMT(MPEG Media Transfort)에서 진행되고 있는 MMT 패킷 데이터로 이해될 수 있다.
도 1의 수신기(103)는 네트워크 상에서 손실된 전송 패킷을 수신할 수 없게 됨으로 상기 손실된 전송 패킷내의 데이터를 알 수 없어 Audio의 품질 저하, Video의 화질열화나 화면 깨짐, 자막 누락, 파일의 손실 등과 같은 다양한 형태로 사용자의 불편을 초래하게 된다.
이와 같이 네트워크상에서 손실된 데이터를 복구하기 위한 방법이 필요하게 된다. 이를 위해 일정 개수의 패킷들로 구성된 소스 블록(Source Block)에 FEC(Forward Error Correction) 부호화에 의한 패리티 블록(Parity block)을 추가하여 전송하게 된다.
특히 AV 데이터의 경우, 중단 없이 연속적으로 재생되기 위해서는 일정 정도 수준의 데이터 전송률(Data Rate)이 유지되어야 한다. 이러한 데이터 전송률은 압축시 사용한 Codec의 성능이나, 서비스되는 AV 데이터의 해상도(Resolution)에 따라 달라진다.
또한 AV 데이터의 경우(특히 실시간 AV 데이터) 촬영과 같은 데이터의 획득으로부터 사용자에 의해 이용되기까지의 지연 시간(Delay)을 최소화 할 수록 좋다. 이러한 지연 시간은 전체 시스템의 여러 단계에서 발생할 수 있다.
특히 AL(Application Layer)-FEC의 적용 시 소스 블록(Source Block)내 패킷 손실 시 패리티 블록(Parity Block)의 패리티 패킷(Parity Packet)의 일정 개수를 수신하여야 상기 손실된 소스 블록내의 패킷을 복구할 수 있다. 이러한 특성으로 인하여 AL-FEC는 일정 시간의 지연을 발생시킨다. AL-FEC에 의한 상기 지연 시간은 상기 소스 블록과 복구를 위해 추가된 패리티 블록의 데이터 크기(즉, FEC Delivery Block의 크기)에 의해 주로 결정된다.
이로 인하여 FEC 전송 블록(Delivery Block)의 소스 블록을 사용하고자 하는 서비스가 요구하는 데이터 전송률과 지연 시간에 맞게 구성하여 AL-FEC 부호화 하여 전송하는 것이 바람직한데, SD(Standard Definition), HD(High Definition), 3D, UHD(Ultra High Definition) 등 다양한 서비스 형태에 따라 사용되어지는 Codec이 다르고 또한 요구되는 데이터 전송률이 다르기 때문에 소스 블록의 크기 또는 다양하게 달라진다. 따라서 다양한 소스 블록의 크기에 따른 AL-FEC 부호화 방법이 필요하게 된다.
즉 상기 RTP 패킷 또는 MMT 패킷과 같은 전송 프로토콜을 이용하여 패킷 단위의 데이터를 전송하는 경우에 있어서 다양한 크기의 데이터를 효율적으로 부호화하는 방안이 요구된다.
본 발명은 멀티미디어 시스템에서 다양한 길이의 데이터를 효율적으로 AL-FEC 부호화하는 방법 및 장치를 제공한다.
또한 본 발명은 멀티미디어 시스템에서 패킷 단위의 데이터를 전송하는 경우에 있어서 다양한 크기의 데이터를 효율적으로 부호화하는 방법 및 장치를 제공한다.
본 발명의 실시 예에 따라 패킷 단위의 데이터 송신을 이용하는 멀티미디어 시스템에서 FEC 부호화 방법은, 다수의 소스 페이로드들을 포함하는 소스 블록을 구성하는 과정과, 하나의 FEC 부호를 이용하여 상기 소스 블록으로부터 다수의 패리티 페이로드들을 포함하는 패리티 블록을 구성하는 과정과, 상기 소스 블록과 상기 패리티 블록을 포함하는 FEC 전송 블록을 구성하는 과정을 포함하며, 상기 다수의 소스 페이로드들의 개수를 K, 상기 다수의 패리티 페이로드들의 개수를 P라 하였을 때 상기 소스 블록의 다수의 정보 심볼 부분은 m x K 어레이로 배치되고, 상기 패리티 블록의 다수의 패리티 심볼 부분은 m x P 어레이로 배치되며, 주어진 페이로드들의 개수 K에 대해 상기 m 값을 조절하여 상기 FEC 전송 블록을 구성한다.
또한 본 발명의 실시 예에 따라 패킷 단위의 데이터 송신을 이용하는 멀티미디어 시스템에서 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개의 페리티 페이로드로 구성된 패리티 블록을 구성한다.
상기한 본 발명에 따르면, 하나의 FEC 부호로 다양한 길이를 가지는 소스 블록을 부호화 하여 다양한 길이를 가지는 패리티 블록을 생성하는 것이 가능하다. 이로 인하여 본 발명에 의하면, 보다 좋은 FEC 성능을 발휘함으로써 보다 양질의 서비스를 사용자에게 제공할 수 있을 뿐만 아니라 송수신단의 FEC encoder/decoder의 구성을 단순하게 하여 시스템 부담을 최소화 할 수 있다.
도 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 부호의 성능을 비교한 도면.
이하 본 발명의 실시 예를 도면과 함께 상세히 설명한다. 본 발명을 설명함에 있어서 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
이하 본 발명의 실시 예는 RTP 패킷 또는 MMT 패킷과 같은 전송 프로토콜을 이용하여 패킷 단위의 데이터를 전송하는 경우에 있어서 다양한 크기의 데이터를 효율적으로 AL-FEC 부호화 하는 방안을 제안한 것이다.
본 발명의 실시 예를 설명하기에 앞서 아래와 같이 본 발명에서 사용되는 용어를 정의하기로 한다.
FEC 패킷 블록 : FEC 전송 블록을 전송하기 위한 FEC 패킷들의 집합
FEC 패킷 : 소스 페이로드(source payload) 또한 패리티 페이로드(parity payload)를 전송하기 위한 헤더와 페이로드로 구성된 패킷
FEC 전송 블록 : 소스 블록과 패리티 블록으로 구성된 집합
소스 블록 : 소스 페이로드들로 구성된 집합
패리티 블록 : 패리티 페이로드들로 구성된 집합
소스 페이로드 : 소스 심볼들을 전송하기 위한 FEC 패킷의 페이로드
정보 페이로드 : 소스 심볼들과 가능한 패딩 데이터로 구성되는 페이로드
패리티 페이로드 : 패리티 심볼들을 전송하기 위한 FEC 패킷의 페이로드
심볼 : 데이터의 단위, its size(in bits) is referred to as a symbol size.
정보 심볼 부분 : FEC 부호화를 위해 함께 고려되어지는 소스 심볼과 가능한 패딩 데이터들의 집합
패리티 심볼 부분 : 정보 심볼 부분으로부터 FEC 부호화에 의해 생성되는 패리티 심볼들의 집합
FEC 프레임 : 정보 심볼 부분과 패리티 심볼 부분으로 구성되는 하나의 부호어
하기 <표 1>은 공지된 Internet Engineering Task Force(IETF) RFC5170 문서의 일부를 발췌한 것이다.
패킷 수 G 심볼 크기 k
4000≤nb_pkts 1 pkt_sz 4000≤k
1000≤nb_pkts<4000 4 pkt_sz/4 4000≤k<16000
500≤nb_pkts<1000 8 pkt_sz/8 4000≤k<8000
1≤nb_pkts<500 16 pkt_sz/16 16≤k<8000
상기 <표 1>을 참조하면, 주어진 패킷들의 개수(nb_pkts)에 따라 1,4,8,16개의 그룹(G)으로 나누어 주어진 패킷들의 개수를 그룹(Group)의 수에 따른 배수만큼 확장하여 소스 블록을 구성하여 각각의 소스 블록의 길이 k에 따라 의사 난수 생성기(Pseudo Random Number Generator : PRNG)(도시되지 않음)를 활용하여 랜덤하게 생성되는 LDPC H 매트릭스(matrix)를 사용하여 부호화 하는 예를 나타낸 것이다.
통상적으로 AL-FEC 부호화는 패킷 당 하나의 심볼이 FEC 부호어의 한 심볼에 대응하도록 부호화한다. 그리고 기존 Multi-symbol per 패킷 방식에서는 패킷 당 다수의 심볼들이 하나의 부호어에 포함되는 구조를 채용하고 있다.
수신기는 상기 의사 난수 생성기(PRNG)의 seed 값과 상기 소스 블록의 길이 k 값을 송신기로부터 전해 받아 소프트웨어 코드(S/W code)로 해당하는 LDPC H matrix을 생성하여 손실된 패킷을 복원할 수 있다.
그러나 상기한 Multi-symbol per 패킷 방식 또한 다수의 k 값이 가능하므로 각각의 k 값에 따른 다수의 LDPC H matrix를 필요로 한다. 또한 상기 소스 블록의 길이 k 값이 고정되었다 하더라도 부가율에 따라 LDPC H matrix가 달라지기 때문에 더 많은 종류의 LDPC H matrix를 필요로 한다.
이를 고려하여 본 발명의 실시 예에서는 유무선 통신 네트워크를 통해 패킷 단위로 데이터를 송수신하는 시스템에 있어서, AL-FEC를 적용하여 송신될 데이터의 정보 블록을 위한 정보 페이로드들의 개수 K가 적어도 2개 이상의 값을 가질 수 있거나 또는 상기 정보 블록에 추가되는 패리티 블록을 위한 패리티 페이로드의 수 P가 적어도 2개 이상의 값을 가질 수 있는 경우에 있어서, 하나의 FEC(K_m + P_m, K_m) 부호로 상기 K개로 구성된 정보 블록에 상기 P개로 구성된 패리티 블록을 생성하는 AL-FEC 부호화 방안을 제안한다.
(여기서 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'개의 소스 페이로드들로 구성된 소스 블록으로부터 K개의 정보 페이로드로 구성된 정보 블록을 생성하는 방법은, 본 출원인의 선출원인 출원 번호 10-2011-0104870에 IBG_Mode(Information Block Generation Mode)에 따른 방법으로 기술되어 있다.
상기 IBG_Mode에 따른 방법을 간략히 설명하면, 상기 IBG_Mode = 0 이면, 소스 페이로드의 길이가 모두 동일하여 소스 블록과 동일한 정보 블록으로부터 패리티 블록을 생성하여 FEC 전송 블록이 구성되어 전송됨을 나타낸다. 그리고 상기 IBG_Mode = 1이면, 기존 방법에 의해 정보 블록을 생성하여 AL-FEC 부호화를 수행한다. 여기서 상기 기존 방법은, 가변 패킷 크기를 가지는 소스 페이로드들이 입력되면 각각의 페이로드 크기를 최대 길이를 가지는 페이로드와 동일하게 만들기 위해 패딩 데이터를 추가한 후 패리티 블록을 생성하는 방법이다.
그리고 상기 IBG_Mode = 2이면, 가변 길이를 가지는 K'개의 소스 페이로드들로 구성된 소스 블록은 동일한 길이를 가지는 K개의 정보 페이로드로 구성된 2차원 배열인 정보 블록에 차례로 배치된다. 그리고 소스 블록의 각각의 소스 페이로드에 대한 길이 정보로 구성된 길이 블록을 구성한다. 또한 정보 블록으로부터 동일한 길이를 가지는 패리티 페이로드로 구성된 패리티 블록을 생성하고, 상기 길이 블록으로부터 길이 패리티 블록을 생성한다. 따라서 FEC 전송 블록은 소스 블록, 길이 패리티 블록, 패리티 블록을 포함하여 AL-FEC 부호화된다.
이하 본 발명의 실시 예에 따라 하나의 FEC(N_m, K_m) 부호를 이용하여 부호화하는 방안에 대해 설명하기로 한다.
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 식을 만족하도록 설정한다.
그리고 상기 설정된 q값에 대해 상기 정보 블록을 q개의 정보 심볼 부분으로 나눌 때, 각각의 정보 심볼 부분의 크기(Symbol들의 개수)들을 최대한 균등하게(예를 들어 크기들에 대한 편차는 1이하로 함) 구성하되, 각각의 정보 심볼 부분이 상기 정보 블록의 K개의 정보 페이로드 각각으로부터 선택된 Symbol들의 개수들을 최대한 균등하게(예를 들어 개수들에 대한 편차는 1이하로 함) 하여 q개의 정보 심볼 부분을 생성한다.(여기서 ith 정보 심볼 부분의 크기(Symbol 개수)를 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 이하로 함)
여기서 상기 단축 부호(Shorten code)라 함음 FEC(N_m-s, K_m-s) 부호로 표기할 수 있으며, FEC(N_m, K_m) 부호의 정보 부분을 s개의 symbol만큼 단축(shortening)한 것을 의미한다.
그리고 상기 생성된 q개의 패리티 심볼 부분을 P개의 패리티 페이로드로 구성된 패리티 블록에 Mapping하며, 임의의 패리티 심볼 부분의 P'_m(i)개의 패리티 심볼들이 P개의 패리티 페이로드에 Mapping될 때 각각의 패리티 페이로드에 Mapping된 패리티 심볼들의 개수가 최대한 균등하게 한다.(여기서 패리티 심볼들의 개수 편차는 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 임을 만족한다.
도 3과 도 4는 상기한 본 발명의 실시 예에 의한 FEC(N_m, K_m) 부호를 이용한 부호화 방법을 나타낸 것이다.
앞서 설명한 바와 같이 K개의 정보 페이로드로 구성된 정보 블록(301)은 q개의 정보 심볼 부분(303)으로 도 3와 같이 나누어지고, 각각의 정보 심볼 부분은 FEC(N_m, K_m) 부호를 활용하여 패리티 심볼 부분을 도 4와 같이 생성한다. 생성된 각각의 패리티 심볼 부분은 도 3와 같이 P개의 패리티 페이로드(305)로 구성된 패리티 블록에 mapping된다.
각각의 정보 심볼 부분은 도 3의 303에 도시된 바와 같이 각각의 정보 페이로드의 m symbols 또는 m+a symbols로 구성된다. 또한 패리티 심볼 부분도 도 3의 305에 도시된 바와 같이 각각의 패리티 페이로드의 m symbols 또는 m+a symbols에 할당된다.
이로 인하여 패킷 손실에 의한 페이로드내의 유실된 데이터가 정보 블록의 각 정보 심볼 부분으로 최대한 균등하게 나누어져 FEC 성능을 최대한 안정화 할 수 있고, 또한 어떠한 패킷이 손실되더라도 각각의 정보 심볼 부분내에 m symbol 또는 m+a symbol이 손실되는 구조로 최대한 안정적으로 FEC 프레임 복호가 가능하다.(여기서 a = 0 or 1)
또한 상기한 본 발명의 AL-FEC 부호화 방법에 의하면, 다양한 K와 P의 값에 대해 하나의 FEC(N_m, K_m) 부호로 부호화하는 것이 가능하여 시스템 구조를 단순화하고 송수신기의 부담을 최소화할 수 있으며, 또한 단일 FEC 부호로 부호화 되기 때문에 하드웨어(H/W) 구현이 가능하며, 구현 부담도 줄일 수 있다.
상기의 단일 FEC 부호에 의한 부호화 방식은 S/W, H/W 구현 모두 가능한데, 통상적으로 H/W 구현이 FEC encoding/decoding 속도가 빠르므로, UHD와 같은 고속 데이터 전송에는 H/W 구현이 더 적합하다.
한편 도 3에서 K_m < K 인 경우, 두 개의 정보 심볼 부분이 서로 교번적으로 정보 블록에 배치된다. 예를 들어 K_m=3200이고 K=6400인 경우 정보 블록의 각각의 행(row)은 2개의 정보 심볼 부분으로 구성되는데 하나의 정보 심볼 부분은 홀수 번째 symbol 3200개로 구성되고 나머지 정보 심볼 부분은 짝수 번째 symbol 3200개로 구성된다. 또한 패리티 블록상의 패리티 심볼 부분도 두 개의 패리티 심볼 부분의 각 symbol들이 교번적으로 패리티 블록상의 row에 mapping된다.
여기서 K_m = 3200이고 K = 4800인 경우 정보 블록의 각 행(row)의 홀수 번째 symbol 2400개와 짝수 번째 symbol 2400개로 하여 2개의 정보 심볼 부분을 생성하고, 부호화 시 800 개의 symbol을 0으로 채워 부호화한 후, 단축(shortening)한다. 생성된 패리티 심볼 부분 역시 필요 시 천공(Puncturing)한 후, 패리티 블록에 할당한다.
도 5는 본 발명이 적용되는 MMT(MPEG Media Transport) 시스템과 구체적인 전송 기능 계층의 구조의 일 예를 나타낸 것이다.
도 5의 501은 MMT 시스템의 구조를 나타낸 것이고, 503 은 MMT 시스템의 전송 기능 계층의 세부 구조를 나타낸 것이다.
도 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 패킷으로 출력한다.
이후 상기 RTP 패킷은 UDP(User Datagram Protocol)/TCP(Transmission Control Protocol)의 전송 프로토콜 계층을 거쳐 최종적으로 인터넷 프로토콜(IP) 계층에서 IP 패킷화 되어 전송된다.
또한 도 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 계층은 계층들 사이에서 컨텐츠의 전달 및 필요한 커뮤니케이션을 가능하게 한다.
도 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)인 정보 블록으로 변환한다.
도 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 헤더를 부가하여 전송되게 된다.
도 6에서 디코딩 시 페이로드 포맷 생성기(609)는 MMT D.2 계층 or IETF 응용 프로토콜 계층(611)으로부터 수신된 패킷내에 있는 MMT 페이로드 포맷들을 받게 되고 페이로드 헤더(PLH)을 제거한 후, 수신된 소스 페이로드와 패리티 페이로드들을 AL-FEC 변환기(605)에 입력한다. 이때 페이로드 포맷 생성기(609)는 AL-FEC 변환기(605)에 손실된 페이로드들의 위치를 알려 준다.
여기서 손실된 페이로드들의 위치는 부호화 시 페이로드 헤더(PLH) 또는 MMT 헤더 또는 IETF 응용 계층 헤더에 저장된 시퀀스 번호(Sequence Number)와 같은 정렬(ordering) 정보를 이용하여 수신기가 알고, 이를 AL-FEC 변환기(605)에 알려줄 수 있거나 또는 이러한 정보들로부터 AL-FEC 변환기(605)가 알 수 있다.
AL-FEC 변환기(605)는 입력된 손실된 페이로드를 가지는 FEC 전송 블록의 소스 블록을 다시 정보 블록으로 전환하여 FEC 블록을 구성하고, 이를 복호하여 정보 페이로드를 복구하고, 복구된 정보 블록을 소스 블록으로 전환하여 페이로드 포맷 생성기(609)에 출력한다.
페이로드 포맷 생성기(609)는 입력된 소스 블록을 E.1 계층에 전송하여 사용자가 데이터를 소비하기 위한 프로세스를 진행할 수 있도록 한다.
하기 <표 2> 내지 <표 4>는 지연시간, 페이로드 크기, 데이터 전송률에 따른 페이로드의 개수가 다양함을 나타낸 것이다.
페이로드 크기는 최대 전달 유닛(Maximum Transfer Unit : MTU)에 의해 제약되는데 대부분의 이더넷 LANs은 1500bytes의 MTU를 사용한다. 그러므로 각종 헤더를 제외한 실제 전송되는 페이로드 크기는 1000 여 바이트로 제약된다고 하면, 그리고 또한 Full HD, 3D, UHD와 같은 고속 데이터 전송을 위해서는 헤더에 의한 오버헤드 양을 줄이기 위해 되도록 긴 페이로드를 사용하는 것이 유리하다.
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이내에 서비스하는 것이 가능하다.
하기 <표 2>는 지연시간 100ms시 페이로드 크기에 따른 소스 블록을 위한 페이로드 수를 예시한 것이다.
Figure 112011083293810-pat00001
하기 <표 3>은 지연시간 200ms시 페이로드 크기에 따른 소스 블록을 위한 페이로드 수를 예시한 것이다.
Figure 112011083293810-pat00002
하기 <표 4>는 지연시간 400ms시 페이로드 크기에 따른 소스 블록을 위한 페이로드 수를 예시한 것이다.
Figure 112011083293810-pat00003
상기 <표 2> 내지 <표 4>에서 페이로드 수를 계산하는 아래 <수학식 1>과 같다.
<수학식 1>
K = R x D / S, where R = 초당 전송 bits 수(bps),
D = 지연 시간(초), S = Payload Size in bits.
이로 인하여 시스템 상에서 지연 시간, 페이로드 크기, 데이터 전송률 등에 따라 요구되어지는 최대 페이로드 수의 값을 정할 수 있다.
이하 본 발명의 실시 예에서는 상기 페이로드 크기를 Smax, 최대 페이로드의 수를 6400으로 했을 때 그리고 부가될 패리티 페이로드의 최대 개수를 1280개로 했을 때의 부호화 방법을 설명한 것이다.
- FEC 부호 :(7680, 6400) 부호(LDPC, Raptor, Raptor Q등 다양한 코드의 적용이 가능하다)
- 정보 블록 길이 : K ≤ 6400
- 패리티 블록 길이 : P ≤ 1280
- 페이로드 크기 : S(in bytes)(단, 8*S는 m의 배수)가 주어졌을 때 m x K ≤ 6400 and m x P ≤ 1280을 만족하는 최대 정수 값 m을 찾는다.
이때 본 발명의 실시 예에 따른 AL-FEC 부호화에 의해 생성되는 FEC 전송 블록에서 정보 심볼 부분과 패리티 심볼 부분은 도 7와 같이 정보 블록과 패리티 블록의 각 m bit rows로 각각 구성된다.
이하 본 발명의 실시 예에 따라 각각의 정보 심볼 부분으로부터 예컨대, FEC(7680, 6400) 부호를 이용하여 패리티 심볼 부분을 생성하는 방법을 설명하기로 한다.
도 8은 본 발명의 실시 예에 따른 제1 인터리빙 방법과 FEC(7680,6400) 부호를 이용하여 패리티 심볼 부분을 생성하는 방법의 일 예를 나타낸 것이다.
도 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한 것을 나타낸다.
도 9는 본 발명의 실시 예에 따른 제2 인터리빙 방법과 FEC(7680,6400) 부호를 이용하여 패리티 심볼 부분을 생성하는 방법의 일 예를 나타낸 것이다.
도 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의 방법과 같다.
상기와 같은 방법에 의해 6400보다 작은 모든 K에 대해 그리고 1280보다 작은 모든 P에 대해 FEC(7680,6400) 부호 하나를 사용하여 FEC 부호화 하는 것이 가능하다.
상기한 방법은 하기 도 10과 같은 2단 FEC 부호화 구조(Two Stage FEC coding structure) 상에서도 동일하게 적용이 가능하다.
도 10은 본 발명의 실시 예에 따른 2단 FEC 부호화 구조를 나타낸 도면이다.
도 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 부호로 사용함에 의해 가능하다.
예를 들어,
- 소스 블록 길이 : K ≤ 6400
- ith 서브 블록 길이(Sub-Block Length) : K(i) ≤ 6400(i=1,2,...,M)
- ith 제1 패리티 블록 길이(Parity 1 Block Length) :
P1(i) ≤ 1280(i=1,2,...,M)
- 제2 패리티 블록 길이(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)로 대체함)
소스 블록에 대해서는 m x K ≤ 6400 and m x P2 ≤ 1280을 만족하는 최대 값을 상기 m을 찾고, 본 발명의 FEC 부호화 방법에 의해 FEC(7680,1280) 부호를 활용하여 제2 패리티 블록을 생성한다.
K, K(i), P1(i), P2의 구체적인 값에 대한 실시 예를 추가하면 다음과 같다.
- K = 3200 and P2 = 160
- K(i) = 200(i=1,2,...,16)
- P(i) = 30(i=1,2,...,16) 이라고 하면,
각각의 서브 블록에 대해서는 m(i) = 32로 하고, 소스 블록에 대해서는 m=2로 하여 상기 도 7, 도 8, 도 9와 같은 방식으로 FEC(7680,6400) 부호를 활용하여 부호화 한다.
도 12 및 도 13은 본 발명의 실시 예에 따라 랜덤 소거 채널(Random Erasure Channel)상에서 FEC 부호화를 적용한 경우 LDPC 부호의 성능을 비교한 것이다. 구체적으로 도 12는 예를 들어 K = 200인 경우, 도 13은 K = 400인 경우 본 발명의 실시 예에 따른 FEC(7680,1280) 부호 즉, LDPC(7680, 6400) 부호의 성능을 비교한 것이다.
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인 경우에 해당한다.
도 12 및 도 13을 참조하면, 본 발명의 실시 예에 의한 FEC 부호화 방식의 성능이 더 좋은 것을 확인할 수 있다.
K의 최대값을 K_m 과 P의 최대값 P_m이라 했을 때 송수신기 관점에서 적어도 FEC(K_m + P_m, K_m) 부호를 필요로 한다.
따라서 본 발명의 실시 예를 적용하면, 상기 FEC(K_m + P_m, K_m) code 하나로 다양한 K값과 P값에 대해 부호화를 적용하는 것이 가능하여 시스템을 단순하게 가져갈 수 있고 또한 보다 좋은 성능을 제공하므로 사용자에게 양질의 컨텐츠를 서비스 할 수 있다.
하기 <표 5>는 MMT 페이로드 포맷을 나타낸 것이다.
Payload Header MMT Payload(Source Payload or Parity Payload)
하기 <표 6>은 페이로드 헤더 포맷을 나타낸 것이다.
Payload Type
Sequence Number
FEC_Flag
Block Boundary Info
FEC_Type_Info
Interleaving Mode
FEC Delivery Block Length : N
Source Block Length : K
상기 <표 6>에서 "Payload Type"은 해당 MMT 페이로드 포맷의 페이로드가 소스 페이로드인지 패리티 페이로드인지를 나타낸다.
"Sequence Number"는 전송되는 페이로드들의 순서를 나타내기 위하여 순차적으로 증가하거나 감소하여 할당하며, 상기 Sequence Number로부터 패킷의 손실 여부를 알 수 있다.
"FEC Flag"는 FEC 적용 여부를 나타낸다. 예를 들어 그 값이 0이면, 패리티 페이로드없이 소스 블록만 전송하고 그 값이 1이면, 소스 블록에 패리티 블록을 부가하여 즉, FEC scheme이 적용되어 전송된다는 것을 의미한다. 2단 FEC 부호화 구조가 적용되는 경우 이 FEC flag 필드를 확장하여 one stage인지 two stage인지를 구분해 주는 것이 바람직하다.
"Block Boundary Info"는 FEC 전송 블록의 경계를 알려주는데 FEC 전송 블록의 첫 번째 소스 페이로드의 Sequence Number 값을 모든 헤더에 할당한다.
"FEC_Type_Info"는 적용된 FEC 부호가 무엇인지를 나타낸다. 0이면 LDPC, 1이면 Raptor, 2이면 RaptorQ와 같이 할당 될 수 있다. 만약 본 발명의 실시 예에 의한 하나의 FEC 부호가 송수신기간에 미리 정해져 있지 않다면 FEC 부호의 부호 길이와 정보 길이(or 정보 길이와 패리티 길이)를 이 필드에 저장하여 전송한다.
"Interleaving Mode"는 본 발명의 실시 예에 의해 적용된 Interleaving mode를 나타내는데 예를 들어 0이면 도 8의 방식으로 interleaving되고, 1이면 도 9의 interleaving 방식으로 interleaving됨을 나타낸다.
"FEC Delivery Block Length"는 FEC 전송 블록에 포함되어 있는 페이로드들의 개수를 말한다.
소스 블록 길이는 소스 블록에 포함되어 있는 소스 페이로드들의 개수를 말한다.
상기 interleaving mode 결정에 있어서 만일 Quasi-cyclic LDPC(QC-LDPC)구조의 FEC 부호를 사용하는 경우 도 9의 방식보다 도 8의 방식이 보다 바람직하고, Random LDPC 구조의 FEC 부호는 도 9의 방식이 보다 바람직하다.
예컨대, 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 이 소거됨을 의미한다.
이는 상기 QC-LDPC 부호의 Mother Matrix 상에서 1 bit 소거에 해당하므로 그 성능은 Mother Matrix와 동일한 성능을 가지게 된다. Random LDPC 구조의 경우는 도 9의 방식이 단축/천공(Shortening/Puncturing)에 있어서 보다 단순하기 때문에 도 9와 같은 interleaving 방식이 더 적합하다.
상기 <표 6>의 페이로드 헤더 포맷의 정보들 중 적어도 하나는 AL-FEC를 위해 필요한 정보인데 MMT D.2 계층의 헤더나 응용 계층 헤더와 중복되는 정보가 있다면 생략될 수 있다. 즉, AL-FEC를 위해 요구되어지는 정보로 페이로드 헤더 포맷에 저장되는 것을 제약하지는 않고, 필요시 MMT D.2 계층의 헤더나 RTP, FLUTE, HTTP와 같은 응용 계층 헤더에 저장될 수 있다.
특히 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을 나타낸 것이다.
IP Protocol Header
UDP / TCP Header
MMT Protocol / Application Protocol(e.g. RTP)
MMT Payload Format Header
MMT Payload(Source Payload / Parity Payload)

Claims (8)

  1. 패킷 단위의 데이터 송신을 이용하는 멀티미디어 시스템에서 FEC 부호화 방법에 있어서,
    복수의 소스 페이로드들을 포함하는 소스 블록을 이용하여 크기가 일정한 K개의 정보 페이로드들을 포함하는 정보 블록을 구성하는 과정;
    상기 정보 블록으로부터 m*K 비트의 정보 심볼 부분을 구성하는 과정;
    상기 정보 심볼 부분에 K_m-(m*K) 비트의 패딩을 부가하는 과정;
    상기 정보 심볼 부분과 상기 패딩을 더한 K_m 비트를 FEC 부호 (K_m+P_m, K_m)를 이용하여 부호화하여 P_m 비트의 패리티 심볼 부분을 생성하는 과정;
    상기 패리티 심볼 부분에서 P_m-(m*P) 비트를 펑처링(puncturing)하는 과정;
    상기 펑처링된 패리티 심볼 부분을 P개의 패리티 페이로드들에 매핑하여 상기 P개의 패리티 페이로드를 포함하는 패리티 블록을 구성하는 과정; 및
    상기 소스 블록과 상기 패리티 블록을 포함하는 FEC 전송 블록을 구성하는 과정을 포함하며,
    상기 m은 m*K ≤ K_m 및 m*P ≤ P_m을 만족하는 최대 정수이고,
    상기 K가 K ≤ K_m을 만족하고 상기 P가 P ≤ P_m을 만족하는 경우, 상기 FEC 부호 (K_m+P_m, K_m)가 상기 P_m 비트의 패리티 심볼 부분을 생성하기 위해 이용되는 FEC 부호화 방법.
  2. 제 1 항에 있어서,
    상기 K_m은 초당 전송 비트 수에 지연 시간을 곱한 값을 정보 페이로드의 비트 크기로 나눈 값인 FEC 부호화 방법.
  3. 제 1 항에 있어서,
    상기 복수의 소스 페이로드들의 크기가 일정하지 않은 경우, 상기 복수의 소스 페이로드들 중 최대 크기를 가지는 소스 페이로드의 크기와 동일하게 되도록 다른 소스 페이로드들에 패딩 데이터를 추가하거나, 상기 복수의 소스 페이로드들을 동일한 크기를 가지는 상기 K개의 정보 페이로드들에 차례로 배치하여, 동일한 크기를 가지는 상기 K개의 정보 페이로드들을 구성하는 FEC 부호화 방법.
  4. 제 1 항에 있어서,
    상기 소스 블록을 복수의 서브 소스 블록으로 구성하고, 상기 복수의 서브 소스 블록을 복수의 서브 정보 블록으로 변환한 뒤, 상기 복수의 서브 정보 블록을 각각 부호화하여 복수의 서브 패리티 블록들을 생성하고, 상기 복수의 서브 패리티 블록들을 더 포함하도록 상기 FEC 전송 블록을 구성하는 과정을 더 포함하는 FEC 부호화 방법.
  5. 패킷 단위의 데이터 송신을 이용하는 멀티미디어 시스템에서 FEC 부호화 장치에 있어서,
    복수의 소스 페이로드들을 포함하는 소스 블록을 이용하여 크기가 일정한 K개의 정보 페이로드들을 포함하는 정보 블록을 구성하는 FEC 변환기,
    다음을 수행하여 패리티 블록을 구성하는 FEC 부호화기:
    상기 정보 블록으로부터 m*K 비트의 정보 심볼 부분을 구성하는 과정;
    상기 정보 심볼 부분에 K_m-(m*K) 비트의 패딩을 부가하는 과정;
    상기 정보 심볼 부분과 상기 패딩을 더한 K_m 비트를 FEC 부호 (K_m+P_m, K_m)를 이용하여 부호화하여 P_m 비트의 패리티 심볼 부분을 생성하는 과정;
    상기 패리티 심볼 부분에서 P_m-(m*P) 비트를 펑처링(puncturing)하는 과정; 및
    상기 펑처링된 패리티 심볼 부분을 P개의 패리티 페이로드들에 매핑하여 상기 P개의 패리티 페이로드를 포함하는 상기 패리티 블록을 구성하는 과정;

    상기 소스 블록과 상기 패리티 블록을 포함하는 FEC 전송 블록을 구성하는 페이로드 포맷 생성기를 포함하며,
    상기 m은 m*K ≤ K_m 및 m*P ≤ P_m을 만족하는 최대 정수이고,
    상기 FEC 부호화기는, 상기 K가 K ≤ K_m을 만족하고 상기 P가 P ≤ P_m을 만족하는 경우, 상기 FEC 부호 (K_m+P_m, K_m)를 이용하여 상기 P_m 비트의 패리티 심볼 부분을 생성하는 FEC 부호화 장치.
  6. 제 5 항에 있어서,
    상기 K_m은 초당 전송 비트 수에 지연 시간을 곱한 값을 정보 페이로드의 비트 크기로 나눈 값인 FEC 부호화 장치.
  7. 제 5 항에 있어서,
    상기 FEC 변환기는, 상기 복수의 소스 페이로드들의 크기가 일정하지 않은 경우, 상기 복수의 소스 페이로드들 중 최대 크기를 가지는 소스 페이로드의 크기와 동일하게 되도록 다른 소스 페이로드들에 패딩 데이터를 추가하거나, 상기 복수의 소스 페이로드들을 동일한 크기를 가지는 상기 K개의 정보 페이로드들에 차례로 배치하여, 동일한 크기를 가지는 상기 K개의 정보 페이로드들을 구성하는 FEC 부호화 장치.
  8. 제 5 항에 있어서,
    상기 FEC 변환기는, 상기 소스 블록을 복수의 서브 소스 블록으로 구성하고 상기 복수의 서브 소스 블록을 복수의 서브 정보 블록으로 변환하며,
    상기 FEC 부호화기는, 상기 복수의 서브 정보 블록을 각각 부호화하여 복수의 서브 패리티 블록들을 더 생성하고,
    상기 페이로드 포맷 생성기는, 상기 복수의 서브 패리티 블록들을 더 포함하도록 상기 FEC 전송 블록을 구성하는 FEC 부호화 장치.
KR1020110109007A 2011-10-24 2011-10-24 멀티미디어 시스템에서 순방향 오류 정정 부호화 방법 및 장치 KR101874116B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110109007A KR101874116B1 (ko) 2011-10-24 2011-10-24 멀티미디어 시스템에서 순방향 오류 정정 부호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110109007A KR101874116B1 (ko) 2011-10-24 2011-10-24 멀티미디어 시스템에서 순방향 오류 정정 부호화 방법 및 장치

Publications (2)

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

Family

ID=48657110

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110109007A KR101874116B1 (ko) 2011-10-24 2011-10-24 멀티미디어 시스템에서 순방향 오류 정정 부호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101874116B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102083302B1 (ko) * 2015-01-08 2020-03-02 상하이 지아오통 유니버시티 일종 미디어 컨텐츠에 기반한 fec 메커니즘

Also Published As

Publication number Publication date
KR20130044782A (ko) 2013-05-03

Similar Documents

Publication Publication Date Title
KR101829923B1 (ko) 데이터 통신 시스템에서 부호화 장치 및 방법
KR101964852B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
KR101995221B1 (ko) 통신 시스템에서 패킷 송수신 장치 및 방법
US8145975B2 (en) Universal packet loss recovery system for delivery of real-time streaming multimedia content over packet-switched networks
KR102133930B1 (ko) 데이터 패킷 송수신 장치 및 방법
KR101933465B1 (ko) 이동 통신 시스템에서 패킷 송수신 장치 및 방법
KR101367886B1 (ko) 브로드캐스트 채널 상에서의 고속 채널 재핑 및 고품질 스트리밍 보호
KR101983032B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
KR101922559B1 (ko) 통신 시스템에서 순방향 에러 정정 패킷을 송수신하는 방법 및 장치
EP1985021A2 (en) Streaming and buffering using variable fec overhead and protection periods
EP2783475B1 (en) Interleaving for layer-aware forward error correction
KR102163338B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
JP2011066932A5 (ko)
Nazir et al. Expanding window random linear codes for data partitioned H. 264 video transmission over DVB-H network
US20050076272A1 (en) Unequal error protection using forward error correction based on reed-solomon codes
EP2842253B1 (en) Apparatus and method for transmitting a packet in a communication system
US10833710B2 (en) Bandwidth efficient FEC scheme supporting uneven levels of protection
KR101874116B1 (ko) 멀티미디어 시스템에서 순방향 오류 정정 부호화 방법 및 장치
KR101829464B1 (ko) 패킷 데이터의 인코딩 방법 및 장치
Westerlund Forward error correction in real-time video streaming applications
Rong et al. Multilayer Iterative FEC Decoding for Video Transmission over Wireless Networks
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