KR101829464B1 - 패킷 데이터의 인코딩 방법 및 장치 - Google Patents

패킷 데이터의 인코딩 방법 및 장치 Download PDF

Info

Publication number
KR101829464B1
KR101829464B1 KR1020110104627A KR20110104627A KR101829464B1 KR 101829464 B1 KR101829464 B1 KR 101829464B1 KR 1020110104627 A KR1020110104627 A KR 1020110104627A KR 20110104627 A KR20110104627 A KR 20110104627A KR 101829464 B1 KR101829464 B1 KR 101829464B1
Authority
KR
South Korea
Prior art keywords
code
fec
block
encoding
parity
Prior art date
Application number
KR1020110104627A
Other languages
English (en)
Other versions
KR20130039942A (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 KR1020110104627A priority Critical patent/KR101829464B1/ko
Publication of KR20130039942A publication Critical patent/KR20130039942A/ko
Application granted granted Critical
Publication of KR101829464B1 publication Critical patent/KR101829464B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • 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/0045Arrangements at the receiver end
    • 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/0067Rate matching

Abstract

데이터 통신 시스템에서의 인코딩 방법 및 장치를 개시한다. 본 발명에 따른 방법은, 소스 블록을 구성하는 소스 페이로드들의 개수 K와 전송 에러 정정(FEC) 코드를 위한 부가율을 결정하는 과정과, 상기 K와 부가율에 따라 인코딩에 사용할 FEC 코드와 인코딩 방식을 결정하는 과정과, 상기 결정된 FEC 코드와 인코딩 방식에 따라 상기 소스 블록을 FEC 인코딩하여 패리티 블록을 생성하는 과정을 포함한다.

Description

패킷 데이터의 인코딩 방법 및 장치{METHOD AND APPARATUS FOR ENCODING OF PACEKT DATA}
본 발명은 패킷 데이터의 인코딩에 관한 것으로서, 특히, 패킷 단위의 데이터를 전송 혹은 저장하기 위해서 AL-FEC(Application Layer Forward Error Correction) 인코딩을 수행하기 위한 방법 및 장치에 관한 것이다.
다양한 컨텐츠의 증가와 HD(High Definition) 컨텐츠, UHD(Ultra High Definition) 컨텐츠, MPEG(Moving Picture Experts Group) MMT(MPEG Media Transport) 표준에 따라 생성된 MMT 패킷 데이터과 같은 고용량 컨텐츠들의 증가로 인해, 네트워크상에서 데이터 충돌(데이터 Congestion)은 점점 더 심화되고 있다. 이러한 상황으로 인하여 송신기(Sender)가 보낸 컨텐츠들이 수신기(Receiver)에게 온전히 전달되지 않고 컨텐츠의 일부가 경로(Route) 상에서 손실되는 상황이 발생한다. 일반적으로 데이터는 헤더와 페이로드로 구성되는 패킷 단위로 전송되기 때문에, 손실은 전송 패킷 단위로 발생하게 된다. 이로 인하여 수신자는 네트워크상에서 손실된 전송 패킷을 수신할 수 없게 됨으로 상기 손실된 전송 패킷 내의 데이터를 알 수 없어 오디오(Audio)의 음질 저하, 비디오(Video)의 화질열화나 화면 깨짐, 자막 누락, 파일의 손실 등과 같은 다양한 형태로 사용자의 불편을 초래하게 된다.
이와 같이 네트워크상에서 손실된 데이터를 복구하기 위한 방법이 필요하게 된다. 이를 위해 일정 개수의 패킷들로 구성된 소스 블록에 FEC 인코딩에 의해 생성된 패리티 블록을 추가하여 구성된 FEC 전달 블록(Delivery Block)이 실제로 전송된다. 여기서 FEC 코드는 오류(error) 또는 오류 심볼(erasure symbol)을 정정하기 위한 오류 정정 코드를 의미하며, 소스 블록은 보호되지 않은(unprotected) 데이터를 의미하고, 패리티 블록은 오류 복구(repair)를 위한 데이터를 의미한다.
일반적으로 FEC 코드의 성능은 동일한 코드율인 경우 그 코드의 길이가 길수록 좋은 복구 성능을 가지는 반면 상대적으로 상기 긴 코드 길이만큼의 지연이 발생한다. 이로 인하여 전송되는 데이터 또는 서비스에 요구되는 FEC 성능이나 지연 시간 등에 따라 적절한 길이의 코드를 사용하는 것이 바람직하다.
또한 RS(Reed Solomon) 코드와 같은 최적화 코드(Optimal code)는 그 코드 길이가 한정되는 반면, LDPC(Low-Density Parity-Check), 랩터(Raptor), 랩터Q(RaptorQ)와 같은 LDPC 계열 코드는 코드 길이의 별다른 제약 없이 사용할 수 있다. 예를 들어 유한 필드 GF(Galois Field) (2n)의 RS 코드(RS code over the finite field GF(2^n))는 그 코드 길이가 2^n-1 bytes로 한정되어 n=8인 경우 코드워드의 최대길이가 255 bytes로 한정된다. 하지만, LDPC, 랩터, 랩터Q code over the finite field GF(2^n)(n은 양의 정수)는 그 코드 길이의 제약 없이 수천에서 ~ 수만 또는 그 이상의 길이를 가지는 코드워드로 운용이 가능하다.
이로 인하여 전송되는 데이터 또는 서비스에 요구되는 특성에 따라 적절한 FEC 코드와 그 코드워드 길이를 선택하여 AL-FEC 인코딩하여 데이터를 전송하고 이를 수신하는 것이 바람직하다.
따라서 데이터 전송 프로토콜을 이용하여 패킷 단위의 데이터를 전송함에 있어서 FEC 인코딩 성능을 최대화하기 위한 기술을 필요로 하게 되었다.
본 발명은 패킷 데이터를 송수신하기 위한 방법 및 장치를 제공한다.
본 발명은 데이터 전송 프로토콜을 이용하여 패킷 단위의 데이터를 전송함에 있어서 효율적인 인코딩을 수행하는 방법 및 장치를 제공한다.
본 발명은 소스 블록을 구성하는 소스 페이로드의 개수에 따라 FEC 인코딩 방식을 결정하는 방법 및 장치를 제공한다.
본 발명은 유무선 통신 네트워크를 통해 패킷 단위로 데이터를 송수신하는 시스템에 있어서 송신될 데이터 또는 서비스에 요구되는 비트율, 지연 시간, 비트 에러율 등에 따라 효율적인 인코딩을 수행하는 방법 및 장치를 제공한다.
본 발명의 바람직한 실시예에 따른 방법은; 데이터 통신 시스템에서 패킷 데이터의 인코딩 방법에 있어서, 소스 블록을 구성하는 소스 페이로드들의 개수 K와 전송 에러 정정(FEC) 코드를 위한 부가율을 결정하는 과정과, 상기 K와 부가율에 따라 인코딩에 사용할 FEC 코드와 인코딩 방식을 결정하는 과정과, 상기 결정된 FEC 코드와 인코딩 방식에 따라 상기 소스 블록을 FEC 인코딩하여 패리티 블록을 생성하는 과정을 포함한다.
본 발명의 바람직한 실시예에 따른 장치는; 데이터 통신 시스템에서 패킷 데이터의 인코딩 장치에 있어서, 소스 블록을 구성하는 소스 페이로드들의 개수 K와 전송 에러 정정(FEC) 코드를 위한 부가율을 결정하고, 상기 K와 부가율에 따라 인코딩에 사용할 FEC 코드와 인코딩 방식을 결정하는 제어기와, 상기 결정된 FEC 코드와 인코딩 방식에 따라 상기 소스 블록을 FEC 인코딩하여 패리티 블록을 생성하는 인코더를 포함한다.
본 발명의 개시된 실시예에 따르면, 소스 블록을 구성하는 소스 페이로드의 개수에 따라 제 1 FEC로 인코딩 할지 제 2 FEC로 인코딩할지를 결정하여 AL-FEC 인코딩함에 의해 FEC 성능을 극대화 할 수 있다.
도 1a 및 도 1b는 데이터 통신을 위한 네트워크 토폴로지 및 데이터 흐름을 도시한 도면.
도 2a 및 도 2b는 MPEG 미디어 전송 시스템 구조와 전달 기능 계층의 세부 구조를 도시한 도면.
도 3은 MPEG MMT 시스템상에서 개념적인 AL-FEC 소스 블록의 인코딩 흐름을 도시한 도면.
도 4는 FEC 블록 구성의 일 예를 도시한 도면.
도 5a 및 도 5b는 다양한 FEC 코드들의 복구 성능을 비교하여 나타낸 도면.
도 6a 및 도 6b는 다양한 FEC 코드들의 복구 성능을 비교하여 나타낸 도면.
도 7a 및 도 7b는 다양한 FEC 코드들의 복구 성능을 비교하여 나타낸 도면.
도 8은 정보 블록으로부터 FEC 코드를 사용하여 패리티 블록이 생성되는 절차를 도시한 도면.
도 9는 RS 코드에 의해 생성된 RS 프레임을 나타낸 도면.
도 10은 LDPC 코드에 의해 생성된 LDPC 프레임을 나타낸 도면.
도 11은 RS 패리티 블록의 구성을 나타낸 도면.
도 12는 이진 코드를 위한 패리티 블록의 구성을 나타낸 도면.
도 13은 MMT 페이로드의 포맷을 나타낸 도면.
도 14는 MMT 페이로드 헤더의 포맷을 나타낸 도면.
도 15는 IP 프로토콜을 사용하여 전송되는 IP 패킷의 프로토콜 스택을 나타낸 도면.
이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하 통신 시스템에서 데이터 및 정보의 송수신에 따른 코드율을 제어하기 위한 기술에 대해 설명한다. 이하 설명은 유럽 디지털 방송 표준인 DVB-T2(Digital Video Broadcasting the 2nd Generation Terrestrial) 시스템 및 DVB-NGH(Digital Video Broadcasting Next Generation Handheld) 시스템을 기반으로 한다. 하지만, 다른 시스템에도 동일하게 적용할 수 있다. 또한, 이하 설명은 시그널링 정보(signaling information)의 전송에 따른 코드율을 제어하는 것으로 가정하지만, 다른 정보를 전송하는 경우에도 동일하게 적용할 수 있다.
도 1a 및 도 1b는 데이터 통신을 위한 네트워크 토폴로지 및 데이터 흐름을 도시한 것이다.
도 1a 및 도 1b를 참조하면, 송신기로서 동작하는 호스트 A(110)는 하나 혹은 그 이상의 라우터들(150)을 통해 수신기로서 동작하는 호스트 B(130)에게 데이터를 전송한다. 데이터(170)는 어플리케이션 계층과, 전송 계층(Transport Layer)과, 인터넷 계층, 및 링크 계층을 거쳐 전송된다.
도시한 데이터 토폴로지에서 데이터(170)는, AV(Audio & Video) 코덱에 의해 압축된 데이터를 RTP(Real Time Protocol)를 사용하여 패킷화 함으로써 생성된 RTP 패킷 데이터이나, 또는 MPEG(Moving Picture Experts Group) MMT(MPEG Media Transport) 표준에 따라 생성된 MMT 패킷 데이터가 될 수 있다.
본 발명의 바람직한 실시예에 따른 데이터의 전송 흐름은 하기와 같다.
송신기는 전송하고자 하는 정보 데이터를 일정 크기를 가지는 소스 페이로드(즉 일정 개수의 소스 심볼들로 구성됨)들로 나누고, 나누어진 K개의 소스 페이로드들로 구성된 소스 블록으로부터 FEC 코드를 사용하여 N-K개의 패리티 페이로드들로 구성된 패리티 블록을 생성하여 N개의 페이로드로 구성된 FEC 전달 블록을 생성하여 전송한다. 여기서 N의 값이 미리 정해지는 기준 값 C보다 작거나 또는 비교적 작은 경우는 제 1 FEC 인코딩 방법에 의해 패리티 블록을 생성하고, N의 값이 기준 값 C보다 크거나 또는 비교적 큰 경우는 제 2 FEC 인코딩 방법에 의해 패리티 블록을 생성한다.
FEC 인코딩 방법은, FEC 코드와, 인코딩 시 또는 인코딩 이후 필요한 인터리빙 방법 및 디인터리빙 방법의 조합에 의해 구분된다. 여기서 제 1 FEC 인코딩 방법과 제 2 FEC 인코딩 방법은 FEC 코드, 코드 길이, 인코딩 율, 인터리빙 방법, 디인터리빙 방법 중 적어도 하나에 의해 구별된다.
제 1 FEC 인코딩 방법과 제 2 FEC 인코딩 방법에 대한 본 발명의 특징에 대한 예는 다음과 같다.
예 1. 페이로드 개수 N의 값이 기준 값 c보다 작거나 또는 비교적 작은 경우에 있어서 제 1 FEC 인코딩 방법과 제 2 인코딩 방법 모두 적용했을 때 제 1 FEC 인코딩 방법이 더 좋은 복구 성능을 가진다.
예 2. N의 값이 기준 값 C보다 크거나 또는 비교적 큰 경우에 있어서 제 1 FEC 인코딩 방법과 제 2 인코딩 방법 모두 적용 했을 때 제 2 FEC 인코딩 방법이 더 좋은 복구 성능을 가진다.
예 3. 제 1 FEC 인코딩 방법에 의한 FEC 코드는 RS code over the finite field GF(2^n)와 같은 코드 길이의 제약을 가지는 최적화 코드(Optimal code)이고, 제 2 FEC 인코딩 방법에 의한 FEC 코드는 LDPC, LDGM, 랩터, 랩터Q code over the finite field GF(2^m), Turbo code, Convolutional code, XOR 등과 같이, 길이의 제약을 가지지 않는 비-최적화 코드(Non-optimal code) 중 하나이다(여기서 n,m은 양의 정수). 여기서 최적화 코드라 함은 패리티 심볼들의 개수만큼 오류(erasure) 정정이 가능한 코드를 말한다.
코드 또는 코드어의 길이라 함은 코드 내의 심볼들의 개수를 의미하고, 심볼은 유한 필드 GF(2^r) 상에서 정의되는 경우 r 비트로 구성된다. 즉, 코드를 벡터로 표현했을 때의 각 인자가 심볼이 된다.
도 2a 및 도 2b는 MPEG 미디어 전송 시스템 구조와 전달 기능 계층(Delivery Function Layer)의 세부 구조를 도시한 것이다.
도 2a 및 도 2b를 참조하면, 미디어 코딩 계층(Media Coding Layer)에서 압축된 AV 데이터는 암호화 기능 계층(Encapsulation Function Layer: E Layer)를 거쳐 파일 포맷(File Format)과 유사한 형태로 패키지화 되어 출력되고, 전달 기능 계층(Delivery Function Layer)(205)에서는 상기 암호화 기능 계층의 출력 데이터를 MMT 페이로드로 포맷화한 후 MMT 전송 패킷 헤더(MMT Transport Packet 헤더)를 부가하여 MMT 전송(Transport) 패킷으로 구성하거나 또는 기존 RTP 프로토콜을 사용하여 RTP 패킷으로 구성한다. 그 이후 상기 구성된 패킷들은 UDP(User Datagram Protocol)/TCP(Transport Control Protocol)와 같은 전송 프로토콜 계층을 거쳐 최종적으로 인터넷 프로토콜(Internet Protocol: IP) 계층(209)에서 IP 패킷화 되어 전송된다.
전달 기능 계층(205)은 MMT D.1 계층(221)과 MMT D.2 계층(223) 및 MMT D.3 계층을 포함한다. 여기서 FEC 인코딩은 MMT D.1 계층(221)에 의해 수행된다.
도 3은 MPEG MMT 시스템상에서 개념적인 AL-FEC 소스 블록의 인코딩 흐름을 도시한 것이다.
도 3을 참조하면, MMT D.1 계층(221)의 페이로드 포맷 생성기(300)는 MMT E.1 계층으로부터 MMT 패키지(AV 데이터, 파일, 텍스트 등을 저장매체(storage)에 저장하거나 또는 전송하기 위한 목적으로 만들어진 포맷)를 입력 받아, 전송을 위한 일정 단위(소스 페이로드)로 나누어 소스 블록(301)을 구성한다. AL-FEC 모듈(303)은 소스 블록의 각각의 페이로드의 크기를 동일하게 하기 위해 패딩 데이터를 추가하여 정보 블록(305)을 생성하고, FEC 인코더(330)에 의해, 주어진 FEC 코드에 따라 상기 정보 블록에 대한 FEC 인코딩을 수행하여 소스 블록에 대한 패리티 블록(303)을 생성한 후, 페이로드 포맷 생성기(300)에게 전송한다.
페이로드 포맷 생성기(300)는 소스 블록에 상기 패리티 블록을 추가하고 각각의 페이로드에 페이로드 페더(Payload 헤더: PLH)을 부가하여 패킷화한 MMT 페이로드(307)를 MMT D.2 계층(223) 혹은 IETF(Internet Engineering Task Force) 어플리케이션 프로토콜(Application Protocol) 계층(225)에 전송한다. MMT D.2 계층(223) 혹은 IETF 어플리케이션 프로토콜 계층(225)의 출력 데이터는, UDP와 같은 전송 프로토콜(Transport Protocol)에 의해 TCP 혹은 UDP 헤더를 부가하고 다시 IP 헤더를 부가하여 전송된다. 소스 블록이 정보 블록과 동일한 페이로드 크기를 가지는 블록으로 구성되는 경우 소스 블록과 정보 블록은 동일한 것으로 간주될 수 있다.
도시하지 않을 것이지만, MMT D.1 계층(221)의 내부 혹은 외부에는 FEC 인코딩 절차를 제어하기 위한 제어기가 포함될 수 있다. 제어기는 FEC 블록 구성을 위한 정보 블록의 페이로드 개수를 결정하여 페이로드 포맷 생성기(300)로 공급하고, 상기 정해진 K의 값 및 다른 파라미터에 따라 FEC 인코더(330)에서 사용될 FEC 코드와 FEC 인코딩 방식을 결정하여 FEC 인코더(330)를 제어하는 등의 기능을 담당한다.
도 4는 FEC 블록 구성의 일 예를 도시한 것이다.
도 4를 참조하면, FEC 블록은, K개의 정보 페이로드(일정 개수의 정보 심볼들로 구성되며, 소스 페이로드와 동등할 수 있음)로 구성된 정보 블록과, 주어진 FEC 코드에 의해 상기 정보 블록으로부터 생성된 P(=N-K)개의 패리티 페이로드로 구성된 패리티 블록을 포함하는 총 N개의 페이로드로 구성된다.
먼저, FEC 블록을 위한 정보 블록의 페이로드 개수 K가 어떤 식으로 정해져 지는지를 설명하면 하기와 같다.
패킷 손실이 일어나는 채널 환경에서 송신기는 수신기가 손실된 패킷을 복구할 수 있도록 소스 블록에 FEC 인코딩을 적용함으로써 FEC 전달 블록을 생성하고, 상기 FEC 전달 블록을 채널을 통하여 전송하게 된다. 패킷 손실 채널 환경으로 인해 수신기는 패킷 손실이 발생한 FEC 전달 블록을 수신하게 되는데, 상기 수신된 FEC 전달 블록의 손실된 소스 페이로드를 복구하기 위해서는 적어도 손실된 소스 페이로드 개수 이상의 복구(Repair) 페이로드를 수신하여야 한다. 이로 인하여 수신된 소스 페이로드와 상기 손실된 소스 페이로드 개수 이상의 복구 페이로드를 수신하고 이를 FEC 디코딩하기까지 지연이 발생한다. 이러한 지연 시간은 통상적으로 FEC 전달 블록이 전송되는 시간과 FEC 디코딩 시간에 의해 결정된다. 통상적으로 수신기의 FEC 디코딩 속도는 수신되는 데이터의 속도보다 빠르게 설계되므로, 실질적으로 상기 지연 시간은 FEC 전달 블록이 전송되는 속도에 의해 결정된다고 볼 수 있다.
FEC 전달 블록이 전송되는 시간은, FEC 전달 블록내의 소스 페이로드들 즉, 서비스 데이터에 요구되지는 전송 속도와 관련된다. 예를 들어 풀(Full) HD급 실시간 방송 서비스를 H.264 코덱으로 압축하여 전송하고자 하는 경우 통상 8Mbps 정도의 전송 속도가 요구되어 진다고 했을 때, 상기 방송 서비스의 FEC에 의한 지연 시간을 100ms로 이하로 제한하고자 한다면, FEC 전달 블록은 100ms이내에 전송될 수 있는 크기(Block Duration)로 생성되어야 한다.
그러므로 FEC를 위한 정보 블록(즉 소스 블록)을 구성하는 정보 페이로드의 개수 K는, 복구 패리티 블록의 크기와 여타의 오버헤드를 고려하여 결정될 수 있다.
바람직한 실시예로서, K는 다음과 같은 <수학식 1>에 의해 도출될 수 있다.
Figure 112011080094535-pat00001
여기서 R은 초당 전송 비트 수(bps)이고, D는 지연 시간 (초)이며, S는 비트 단위의 페이로드 크기를 나타낸다.
하기 <표 1>은 지연시간이 100ms인 경우, 페이로드 크기에 따른 소스 블록을 위한 페이로드 개수 K를 예시한 것이다.
Block Duration : 100ms Data Rate (Mbps)
2 4 8 16 32 64 128 256
Payload
Size
(Bytes)
125 200 400 800 1600 3200 6400 12800 25600
250 100 200 400 800 1600 3200 6400 12800
500 50 100 200 400 800 1600 3200 6400
1000 25 50 100 200 400 800 1600 3200
2000 12.5 25 50 100 200 400 800 1600
4000 6.25 12.5 25 50 100 200 400 800
8000 3.125 6.25 12.5 25 50 100 200 400
하기 <표 2>는 지연시간이 200ms인 경우, 페이로드 크기에 따른 소스 블록을 위한 페이로드 개수 K를 예시한 것이다.
Block Duration : 200ms Data Rate (Mbps)
2 4 8 16 32 64 128 256
Payload Size
(Bytes)
125 400 800 1600 3200 6400 12800 25600 51200
250 200 400 800 1600 3200 6400 12800 25600
500 100 200 400 800 1600 3200 6400 12800
1000 50 100 200 400 800 1600 3200 6400
2000 25 50 100 200 400 800 1600 3200
4000 12.5 25 50 100 200 400 800 1600
8000 6.25 12.5 25 50 100 200 400 800
하기 <표 3>은 지연시간이 400ms인 경우, 페이로드 크기에 따른 소스 블록을 위한 페이로드 개수 K를 예시한 것이다.
Block Duration :
400ms
Data Rate (Mbps)
2 4 8 16 32 64 128 256
Payload Size
(Bytes)
125 800 1600 3200 6400 12800 25600 51200 102400
250 400 800 1600 3200 6400 12800 25600 51200
500 200 400 800 1600 3200 6400 12800 25600
1000 100 200 400 800 1600 3200 6400 12800
2000 50 100 200 400 800 1600 3200 6400
4000 25 50 100 200 400 800 1600 3200
8000 12.5 25 50 100 200 400 800 1600
8Mbps의 전송 속도와 0.1초 이하의 지연 시간을 요구하는 서비스에서 페이로드당 1000bytes로 소스 블록을 구성하여 AL-FEC를 적용하려고 하는 경우, 상기 소스 블록을 위한 페이로드 개수 K는 8 x 10^6 x 0.1 / (8*1000) = 100 이하로 구성되어야 한다. 일반적으로 블록 크기가 클수록 더 좋은 FEC 복구 성능을 얻을 수 있으므로, K=100으로 소스 블록을 구성하여 AL-FEC를 적용함으로써 FEC 전달 블록을 구성하고, FEC 전달 블록내의 소스 블록에 대한 전송 속도가 8Mbps를 만족하도록 패리티 블록에 대한 오버헤드를 고려하여 더 높은 전송속도로 전송하면 상기 서비스에 대한 요구 사항들을 만족할 수 있다.
AV 데이터 전송과 달리 파일을 전송하는 경우, 지연 시간은 크게 사용자의 불편을 초래하지 않는다. 따라서 수신기의 AL-FEC 지원 여부를 고려하여 K를 결정할 수 있다. FEC (N,K) 코드에서 코드율 K/N이 동일하다고 하면 K의 값이 클수록 성능이 좋아지므로 지연 시간도 커진다. 하지만 파일 데이터는 지연 시간을 크게 고려할 필요가 없으므로, 좋은 인코딩 성능을 낼 수 있도록 설계되는 것이 바람직하다. 하지만 K의 값이 크면 송수신기의 FEC 복잡도가 커지므로 이를 고려하여 적절하게 설계하는 것이 바람직하다.
다음으로, 정해진 K의 값에 따라 FEC 인코딩을 위해 사용되는 FEC 코드를 결정하는 동작을 설명한다.
패킷 손실 채널은 패킷 자체가 유실되는 오류 채널 특성을 가진다. 이로 인하여 AL-FEC 적용 후 N의 값이 2^n-1 보다 작거나 같다면 유한 필드 GF의 RS 모드가 최적화되었으므로, 이러한 AL-FEC는 여타의 FEC 코드보다 최대의 복구 성능을 가진다. 하지만, RS 코드는 그 대수적인 연산 과정으로 인하여 LDPC나 랩터 등과 같은 코드에 비해 동일 길이에서 그 복잡도가 다소 크다는 것이 일반론이다. 이로 인하여 n을 무한정 큰 값으로 할 수 없으므로 RS 코드는 현실적인 길이의 제약을 가진다. 반면 LDPC, 랩터, 랩터Q와 같은 코드는 최적화 코드는 아니지만 준-최적화 코드(Semi-optimal code)로서, 코드 길이가 길면 길수록 그 성능이 샤논 한계(shannon limit)에 가깝게 다가갈 수 있어 이상적인 코드(ideal code)와 가까운 성능을 가진다. 현재는 RS 코드는 GF(2^8)에서 정의된 RS 코드가 널리 사용되어 지고 있다. 여기서 이상적인 코드라 함은 패리티 심볼들의 개수만큼 오류(erasure) 정정이 가능한 코드를 말한다.
그러므로 N의 값이 상대적으로 작은 경우 RS 코드와 같은 최적화 코드를 사용하여 소스 블록을 인코딩하는 것이 바람직하고 N의 값이 상대적으로 큰 경우 LDPC나 랩터, 랩터Q와 같은 준-최적화 코드를 사용하여 소스 블록을 인코딩하는 것이 바람직하다.
도 5a 및 도 5b는 랜덤 오류 채널(Random Erasure Channel) 상에서 RS 코드, 상대적으로 긴 코드 길이를 가지는 LDPC(LDPC_long로 표기함), 상대적으로 짧은 코드 길이를 가지는 LDPC(LDPC_short로 표기함)의 복구 성능을 비교하여 나타낸 것이다. 여기에서 K=200(도 5a), 400(도 5b), 부가율(overhead rate)인 P/K = 5,10,15,20% (N = K + P)이다.
도 6a 및 도 6b는 랜덤+버스트(2%) 오류 채널 상에서 RS 코드, LDPC_long, LDPC_short의 복구 성능을 나타낸 것이다. 여기서 K=200(도 6a), 400(도 6b), P/K = 5,10,15,20% (N = K + P)이다.
도 7a 및 도 7b는 랜덤+버스트(4%) 오류 채널 상에서 RS 코드, LDPC_long, LDPC_short의 복구 성능을 나타낸 것이다. 여기서 K=200(도 7a), 400(도 7b), P/K = 5,10,15,20% (N = K + P)이다.
도 5a 내지 도 7b에 도시한 시뮬레이션 결과 중, 버스트 오류(Burst Erasure)를 포함하는 경우 도 6a 내지 도 7b는 버스트 오류에 의한 원시(Raw) 패킷 오류율(Packet Erasure Rate: PER)이 0.001인 경우에 랜덤 오류의 변화에 따른 FEC 디코딩 이후의 PER을 나타낸 것이다. 그러므로 X축은 버스트와 랜덤 오류에 의한 원시 PER를 포함한 PER이다.
도 5a 내지 도 7b에서, LDPC_long은 정보 부분의 길이가 m x K = 6400인 LDPC 코드를 사용하였다. 여기서 K=200인 경우 m=32이고, K=400인 경우 m=16이다. LDPC_short은 정보 부분의 길이가 K와 동일하다.
RS, K=200은, RS (240,200) 코드를 사용하였고, 필요시 패리티 부분에 대한 천공(puncturing)이 적용되었다. 정보 부분의 바이트 수는 200이다. RS, K=400은 RS(240,200) 코드로 생성된 두 개의 부호어(codeword)를 교번적으로 배치하였다. 즉, 정보 부분 400 바이트 중 짝수번째 200 바이트와 홀수번째 200 바이트가 서로 나뉘어지고, 각 200 바이트의 정보 부분에 RS(240,40) 코드를 사용하여 40개의 패리티 바이트를 추가한 후, 필요시 천공을 적용하여 200+P 길이를 가지는 2개의 부호어를 생성한 후, 이를 교번적으로 할당하여 400+2P 바이트로 구성하여 N=420,440,460,480으로 만들어 시뮬레이션한 결과이다.
구체적인 예를 들면, N=440인 경우 K=400개의 페이로드로 구성된 소스 블록에서 홀수번째 페이로드와 짝수번째 페이로드로 구성된 각각의 200개의 페이로드로 구성된 2개의 서브블록을 생성하고, 각 서브블록을 RS(240,40)코드를 활용하여 인코딩하고 천공하여 20개의 패리티 페이로드로 구성된 패리티 블록을 생성한다. 즉, 220개의 페이로드로 구성된 2개의 RS FEC 블록이 생성된다. 이러한 2개의 RS FEC 블록에서 페이로드들을 교번적으로 배치하여 440개의 페이로드로 구성된 FEC 블록을 구성하였다.
하기 <표 4>는 도 5a 내지 도 7b의 시뮬레이션 결과를 요약한 것이다.
# of packets Overhead rate Performance
Random P_e,burst = 0.001
2% 4%
200 5% RS > LDPC long > LDPC short RS > LDPC long > LDPC short RS > LDPC long > LDPC short
10% RS > LDPC long > LDPC short RS > LDPC long > LDPC short RS > LDPC long > LDPC short
15% RS > LDPC long > LDPC short RS > LDPC long > LDPC short RS > LDPC long > LDPC short
20% RS > LDPC long > LDPC short RS > LDPC long > LDPC short RS > LDPC long > LDPC short
400 5% LDPC long > RS > LDPC short(e.f.) LDPC long = RS > LDPC short LDPC long = RS > LDPC short
10% LDPC long > LDPC short > RS LDPC long > LDPC short > RS LDPC long > LDPC short = RS
15% LDPC long > LDPC short > RS LDPC long > LDPC short > RS LDPC long = LDPC short > RS
20% LDPC long > LDPC short > RS LDPC long > LDPC short > RS LDPC long = LDPC short > RS
상기 <표 4>에 나타낸 바와 같이, 소스 블록을 위한 페이로드의 개수(즉 패킷 개수)가 200인 경우 RS 코드의 성능(performance)이 가장 우수하며, 페이로드 개수가 400이고 부가율(overhead rate)이 5%인 경우에는 RS 코드가 LDPC_short보다 우수하며, 페이로드 개수가 400이고 부가율이 10%,15%,20%인 경우에는 LDPC_short가 RS 코드보다 우수함을 알 수 있다.
결론적으로 도 5a 내지 도 7b와 같은 시뮬레이션 조건 하에서는, 페이로드 개수가 200개 이하인 경우 RS 코드로 인코딩하고, 400개 이상은 LDPC_long 방식으로 LDPC, 랩터, 랩터Q와 같은 코드를 사용하여 인코딩하는 것이 바람직하다. 또한 페이로드 개수가 200개 이하인 경우와 400개 이하이면서 부가율 5%인 경우는 RS 코드로 인코딩하는 것이 바람직하고, 페이로드 개수가 400 개 이상이면서 부가율 10%,15%,20%인 경우는 LDPC_short 방식으로 LDPC, 랩터, 랩터Q와 같은 코드를 사용하여 인코딩하는 것이 바람직하다.
즉, LDPC 코드 계열은 코드 길이가 길수록 최적화 코드에 가까운 성능을 보이고, 부가율(overhead rate)이 높을수록 부호어간 거리(distance)를 크게 할 수 있기 때문에, 짧은 코드 길이보다 그리고 낮은 부가율보다 상대적으로 더 좋은 성능을 가진다.
그러므로 페이로드 개수 K가 정해진 경우, 인코딩 방법을 결정하는 구체적인 동작은 다음과 같이 수행된다. 즉, 페이로드 개수 K 혹은 N을 비교하기 위한 하나 혹은 그 이상의 기준 값이 주어지며, 페이로드 개수를 상기 기준 값과 비교한 결과와 부가율 중 적어도 하나에 따라 미리 정해지는 복수의 인코딩 방법들 중 하나가 선택된다. 도 5a 내지 도 7b의 예시에 따르면, 2개의 기준 값 200 및 400이 주어지며, 송신기는 페이로드 개수를 상기 기준 값들과 비교한 결과에 따라 RC 코드, LDPC_short, LDPC_long 중 하나를 선택한다.
마지막으로, 패리티 블록을 생성하기 위해서 FEC 코드로 인코딩을 수행하는 동작을 설명한다.
도 8은 정보 블록으로부터 FEC 코드를 사용하여 패리티 블록이 생성되는 절차를 도시한 것이다. 여기에서는 RS 코드와 같은 비-이진(Non-binary) 코드를 사용하였다. 도시한 바와 같이 컬럼(column) 측에서 정보 블록은 각각 S 바이트 크기를 가지는 K개의 페이로드로 구성되며, 정보 블록에 대한 FEC 인코딩을 통해 생성된 FEC 블록은 N=K+P 개의 페이로드로 구성되며, K개의 페이로드로 구성된 정보 블록과 P개의 페이로드로 구성된 패리티 블록을 포함한다. 또한 로우(row) 측에서 정보 블록은 복수개의 FEC 프레임으로 구성된다. 각 FEC 프레임은 보호하고자 하는 정보를 FEC 인코딩함으로써 생성된 부호어로써, 정보 부분(Information part)과 패리티 부분(parity part)(즉 복구 부분(repair part))으로 구성된다.
도 9는 m=8인 경우 GF(2^8)의 RS(240,200) 코드에 의해 생성된 RS 프레임을 나타낸 것이다.
도 9를 참조하면, K 페이로드로 구성된 정보 블록의 p번째 바이트 로우(byte row)가 p번째 정보 심볼 K 바이트가 된다. 여기서 심볼은 데이터의 한 단위로서, 비트 혹은 바이트 단위가 될 수 있다. 정보 심볼(들)은 각 FEC 프레임의 정보 보분을 구성하는, 보호되지 않은 데이터 및/또는 패딩 심볼(들)을 의미한다.
FEC 모듈은 상기 정보 심볼에 (200-K) 바이트를 00h로 패딩하여 인코딩을 수행함으로써 40 바이트의 패리티 심볼들이 생성되며, p번째 RS 프레임은 p번째 정보 심볼 K 바이트와 p번째 패리티 심볼 P 바이트로 구성된다. 다음으로 첫번째 200-K 패딩 바이트를 단축(shortening)하고 마지막 40-P 바이트를 천공하여 패리티 심볼 P 바이트 만을 최종 출력한다. 이렇게 출력된 S개의 패리티 심볼들이 명기된 순서로 모여 패리티 블록을 구성한다.
도 10은 GF(2)의 LDPC(m x (K+P), m x K) 코드에 의해 생성된 LDPC 프레임을 나타낸 것이다.
도 10을 참조하면, K 페이로드로 구성된 정보 블록의 p번째 m 개의 로우(들)이 p번째 정보 심볼들 m x K 비트가 된다. FEC 모듈은 이들로부터 m x P 패리티 비트를 생성하여 p번째 LDPC 프레임을 생성한 다음, m x P 패리티 비트를 m개의 로우들 x P개의 컬럼 어레이(columns array)로 구성된 패리티 심볼들로 전환한다. 이렇게 하여 생성된 (8*S/m)개의 패리티 심볼들이 명기된 순서로 모여 패리티 블록을 구성한다. (m=양의 정수)
m이 1보다 큰 경우에 있어서 패리티 심볼들에는 왼쪽부터 위에서 아래로 번호가 부여된다. 다른 실시예로서 패리티 심볼들에는 반대 방향으로, 즉 윗쪽부터 왼쪽에서 오른쪽으로 번호가 부여될 수 있다.
도 11은 RS 패리티 블록의 구성을 나타낸 것이다. 여기에서는 유한 필드 GF(2^8)의 RS 코드에 의한 패리티 블록을 로우 기반 및 페이로드 기반으로 각각 도시하였다. 도시한 바와 같이, RS 인코딩에 의해 생성된 각각의 패리티 심볼들은 8 rows x P columns array 로 패리티 블록상에 배치되고 패리티 페이로드는 컬럼 자체가 된다.
도 12는 유한 필드 GF(2)의 LDPC 코드와 같은 이진 코드를 위한 패리티 블록의 구성을 나타낸 것이다. 도시한 바와 같이, LDPC 인코딩에 의해 생성된 각각의 패리티 심볼들은 m rows x P columns array 로 패리티 블록상에 배치되고 패리티 페이로드는 컬럼 자체가 된다.
상기에서 m이 1보다 큰 경우는 페이로드당 복수 개의 심볼들을 포함하도록 LDPC 코드를 구성하는 LDPC_long 코드에 의한 인코딩 방법을 의미한다.
상기와 같이 생성된 패리티 블록은 소스 블록과 함께 FEC 전달 블록을 구성하는데, 페이로드 포맷 생성기는 각각의 페이로드에 MMT 페이로드 헤더를 추가하여 MMT 페이로드 포맷을 구성하고, MMT 페이로드 포맷으로 구성된 MMT 페이로드를 MMT D.2 계층 혹은 IETF 어플리케이션 프로토콜 계층으로 전달한다.
도 13은 MMT 페이로드의 포맷을 나타낸 것으로서, 도시한 바와 같이 MMT 페이로드 포맷은 페이로드 헤더와 소스 페이로드 및/또는 패리티 페이로드를 각각 포함하는 MMT 페이로드로 구성된다.
도 14는 MMT 페이로드 헤더의 포맷을 나타낸 것으로서, 도시한 바와 같이 MMT 페이로드 헤더는, 페이로드 타입과 일련 번호(Sequence Number)와 FEC 플래그(FEC_Flag)와 블록 경계 정보(Block Boundary Info)와 FEC 타입 정보(FEC_Type_Info)와 FEC 전달 블록 길이(FEC Delivery Block Length) N과 소스 블록 길이 K를 포함한다.
여기서 페이로드 타입은 MMT 페이로드 포맷의 페이로드가 소스 페이로드인지 패리티 페이로드인지를 나타낸다. 도시한 페이로드 헤더의 정보 필드들 중 적어도 하나는 AL-FEC를 위해 필요한 정보인데, D.2 계층의 헤더나 어플리케이션 프로토콜 계층의 헤더와 중복되는 경우 생략될 수 있다. 즉, AL-FEC를 위해 요구되어지는 정보로 페이로드 헤더 포맷에 저장되는 대신, 설계자 혹은 사업자의 선택이나 필요에 따라 MMT D.2 계층 헤더나 RTP, FLUTE(File Delivery over Unidirectional Transport), HTTP(HyperText Transfer Protocol)와 같은 어플리케이션 프로토콜 헤더에 저장될 수 있다.
일련 번호는 전송되는 페이로드들의 순서를 나타내기 위하여 순차적으로 증가하거나 감소되는 값인데, 수신기는 일련 번호로부터 하나 혹은 그 이상의 패킷의 손실 여부를 알 수 있다.
FEC 플래그는 FEC 인코딩의 적용 여부를 나타낸다. 예를 들어 FEC 플래그의 값이 0이면 패리티 페이로드 없이 소스 블록만 전송됨을 의미하고, FEC 플래그의 값이 1이면 소스 블록에 패리티 블록을 추가하여 즉, FEC 방식이 적용되어 전송됨을 의미한다.
블록 경계 정보는 FEC 전달 블록의 경계를 알려주는데 FEC 전달 블록의 첫 번째 소스 페이로드의 일련 번호 값을 모든 헤더에 할당한다.
FEC 타입 정보는 어떤 FEC 코드가 무엇인지를 나타낸다. 일 예로서, 0이면 RS, 1이면 LDPC, 2이면 랩터, 3이면 랩터Q 등을 의미한다.
FEC 전달 블록 길이는 FEC 전달 블록에 포함되어 있는 페이로드들의 개수를 말한다.
소스 블록 길이는 소스 블록에 포함되어 있는 소스 페이로드들의 개수를 말한다.
상기와 같이 구성된 MMT 페이로드 포맷의 MMT 페이로드들은 전송(Transport) 프로토콜 계층을 거쳐 인터넷 프로토콜(IP) 계층에서 IP 패킷화된 후 전송된다.
도 15는 IP 프로토콜을 사용하여 전송되는 IP 패킷의 프로토콜 스택을 나타낸 것이다. 도시한 바와 같이 IP 패킷은 IP 프로토콜 헤더와, UDP/TCP 헤더와, MMT/어플리케이션 프로토콜 헤더와, MMT 페이로드 헤더와, MMT 페이로드로 구성된다. 여기서 MMT 페이로드는 적어도 하나의 소스 페이로드 및/또는 패리티 페이로드를 포함한다.
수신기에서는 송신기에서 사용된 FEC 코드와 인코딩 방식 및 소스 페이로드들의 개수에 대한 정보를 송신기로부터 수신하거나, 혹은 미리 정해지는 방식에 따라 검출하고, 상기 FEC 코드와 인코딩 방식 및 소스 페이로드들의 개수에 대한 정보를 참고하여, 송신기로부터 수신된 패킷 데이터를 디코딩한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (14)

  1. 데이터 통신 시스템에서 패킷 데이터의 인코딩 방법에 있어서,
    전송 에러 정정(FEC)에 대한 제한 지연 시간을 고려하여 소스 블록을 구성하는 소스 페이로드들의 개수 K 를 결정하는 과정과,
    상기 K에 따라 인코딩에 사용할 FEC 코드를 결정하는 과정과,
    상기 결정된 FEC 코드에 따라 상기 소스 블록을 FEC 인코딩하여 패리티 블록을 생성하는 과정을 포함하는 인코딩 방법.
  2. 제1항에 있어서,
    상기 K는 상기 패리티 블록의 크기를 추가적으로 고려하여 결정되는 인코딩 방법.
  3. 제1항에 있어서,
    상기 소스 페이로드들의 개수 K는 수학식 K = R * D / S 에 의해 결정되며,
    상기 R은 초당 전송 비트 수(bps)이고, 상기 D는 상기 전송 에러 정정(FEC)에 대한 제한 지연 시간(초)이고, 상기 S는 비트 단위의 페이로드 크기를 나타내는 인코딩 방법.
  4. 제 1항에 있어서,
    상기 FEC 코드를 결정하는 과정은,
    기준 값 C에 비해 상기 K가 작은 경우, 제1 FEC 코드를 상기 FEC 코드로 결정하고,
    상기 기준 값 C에 비해 상기 K가 큰 경우, 상기 제1 FEC 코드와 상이한 제2 FEC 코드를 상기 FEC 코드로 결정하는 인코딩 방법.
  5. 제4항에 있어서,
    상기 제1 FEC 코드는 코드 길이의 제약을 갖는 최적화 코드(Optimal code)이고,
    상기 제2 FEC 코드는 코드 길이의 제약을 갖지 않는 비-최적화 코드(Non-optimal code)인 인코딩 방법.
  6. 제4항에 있어서,
    상기 제1 FEC 코드는 RS(Reed Solomon) 코드이고,
    상기 제2 FEC 코드는 LDPC(Low-Density Parity-Check) 코드, 랩터(Raptor) 코드, 랩터Q(Raptor Q) 코드, 터보 코드(Turbo Code), 컨벌루션 코드(Convolutional code), XOR 중 하나인 인코딩 방법.
  7. 제1항에 있어서,
    상기 FEC 코드를 결정하는 과정은,
    상기 소스 페이로드들의 개수 K와 부가율(overhead rate) 중 적어도 하나를 고려하여 상기 FEC 코드를 결정하며,
    상기 부가율은 P/K 값으로, 상기 P는 상기 패리티 블록에 포함되는 패리티 페이로드 개수이고, 상기 K는 상기 소스 페이로드들의 개수인 인코딩 방법.
  8. 데이터 통신 시스템에서 패킷 데이터의 인코딩 장치에 있어서,
    전송 에러 정정(FEC)에 대한 제한 지연 시간을 고려하여 소스 블록을 구성하는 소스 페이로드들의 개수 K를 결정하고, 상기 K 에 따라 인코딩에 사용할 FEC 코드를 결정하는 제어기와,
    상기 결정된 FEC 코드에 따라 상기 소스 블록을 FEC 인코딩하여 패리티 블록을 생성하는 인코더를 포함하는 인코딩 장치.
  9. 제8항에 있어서,
    상기 K는 상기 패리티 블록의 크기를 추가적으로 고려하여 결정되는 인코딩 장치.
  10. 제8항에 있어서,
    상기 소스 페이로드들의 개수 K는 수학식 K = R * D / S 에 의해 결정되며,
    상기 R은 초당 전송 비트 수(bps)이고, 상기 D는 상기 에러 정정(FEC)에 대한 제한 지연 시간(초)이고, 상기 S는 비트 단위의 페이로드 크기를 나타내는 인코딩 장치.
  11. 제8항에 있어서,
    상기 제어기는,
    기준 값 C에 비해 상기 K가 작은 경우, 제1 FEC 코드를 상기 FEC 코드로 결정하고,
    상기 기준 값 C에 비해 상기 K가 큰 경우, 상기 제1 FEC 코드와 상이한 제2 FEC 코드를 상기 FEC 코드로 결정하는 인코딩 장치.
  12. 제11항에 있어서,
    상기 제1 FEC 코드는 코드 길이의 제약을 갖는 최적화 코드(Optimal code)이고,
    상기 제2 FEC 코드는 코드 길이의 제약을 갖지 않는 비-최적화 코드(Non-optimal code)인 인코딩 장치.
  13. 제11항에 있어서,
    상기 제1 FEC 코드는 RS(Reed Solomon) 코드이고,
    상기 제2 FEC 코드는 LDPC(Low-Density Parity-Check) 코드, 랩터(Raptor) 코드, 랩터Q(Raptor Q) 코드, 터보 코드(Turbo Code), 컨벌루션 코드(Convolutional code), XOR 중 하나인 인코딩 장치.
  14. 제8항에 있어서,
    상기 제어기는, 상기 소스 페이로드들의 개수 K와 부가율(overhead rate) 중 적어도 하나를 고려하여 상기 FEC 코드를 결정하며, 상기 부가율은 P/K 값으로, 상기 P는 상기 패리티 블록에 포함되는 패리티 페이로드 개수이고, 상기 K는 상기 소스 페이로드들의 개수인 인코딩 장치.
KR1020110104627A 2011-10-13 2011-10-13 패킷 데이터의 인코딩 방법 및 장치 KR101829464B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110104627A KR101829464B1 (ko) 2011-10-13 2011-10-13 패킷 데이터의 인코딩 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110104627A KR101829464B1 (ko) 2011-10-13 2011-10-13 패킷 데이터의 인코딩 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20130039942A KR20130039942A (ko) 2013-04-23
KR101829464B1 true KR101829464B1 (ko) 2018-04-11

Family

ID=48439951

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110104627A KR101829464B1 (ko) 2011-10-13 2011-10-13 패킷 데이터의 인코딩 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101829464B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040153939A1 (en) * 2002-12-06 2004-08-05 Fanuc Ltd Error detection/correction system, and controller using this system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040153939A1 (en) * 2002-12-06 2004-08-05 Fanuc Ltd Error detection/correction system, and controller using this system

Also Published As

Publication number Publication date
KR20130039942A (ko) 2013-04-23

Similar Documents

Publication Publication Date Title
KR101964852B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
KR101829923B1 (ko) 데이터 통신 시스템에서 부호화 장치 및 방법
KR101995221B1 (ko) 통신 시스템에서 패킷 송수신 장치 및 방법
US8145975B2 (en) Universal packet loss recovery system for delivery of real-time streaming multimedia content over packet-switched networks
KR101933465B1 (ko) 이동 통신 시스템에서 패킷 송수신 장치 및 방법
KR101922559B1 (ko) 통신 시스템에서 순방향 에러 정정 패킷을 송수신하는 방법 및 장치
WO2008052858B1 (en) Forward error correction encoding for multiple link transmission compatible with 64b/66b scrambling
JP5908107B2 (ja) 層認識のある前方誤り訂正のためのインターリーブ
KR101967884B1 (ko) 방송 및 통신 시스템에서 패킷 송/수신 장치 및 방법
KR101829464B1 (ko) 패킷 데이터의 인코딩 방법 및 장치
KR101874116B1 (ko) 멀티미디어 시스템에서 순방향 오류 정정 부호화 방법 및 장치
Pandya et al. Performance analysis of AL-FEC Raptor code over 3GPP EMBMS network
JP5238060B2 (ja) 符号化装置及び方法及び符号化・復号化システム及び復号化方法
JP4972128B2 (ja) 符号化・復号システム及び符号化・復号方法
Pandya et al. Implementation of AL-FEC RaptorQ code over 3GPP E-MBMS network
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
Zhang et al. An error control scheme with virtually segmented packets for wireless multicast protocols
El-Gohary et al. Study the performance of fountain codes in wireless communication systems
Nosratinia et al. CODING TECHNIQUES FOR RESILIENT PACKET HEADER COMPRESSION

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