KR20130039866A - 통신 시스템에서 순방향 에러 정정 패킷을 송수신하는 방법 및 장치 - Google Patents

통신 시스템에서 순방향 에러 정정 패킷을 송수신하는 방법 및 장치 Download PDF

Info

Publication number
KR20130039866A
KR20130039866A KR1020110104506A KR20110104506A KR20130039866A KR 20130039866 A KR20130039866 A KR 20130039866A KR 1020110104506 A KR1020110104506 A KR 1020110104506A KR 20110104506 A KR20110104506 A KR 20110104506A KR 20130039866 A KR20130039866 A KR 20130039866A
Authority
KR
South Korea
Prior art keywords
block
source
payload
information
fec
Prior art date
Application number
KR1020110104506A
Other languages
English (en)
Other versions
KR101922559B1 (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 KR1020110104506A priority Critical patent/KR101922559B1/ko
Priority to EP12839258.6A priority patent/EP2767048A4/en
Priority to CN201280059956.8A priority patent/CN103975550A/zh
Priority to PCT/KR2012/008388 priority patent/WO2013055181A1/en
Priority to US13/651,917 priority patent/US20130097474A1/en
Priority to JP2014535656A priority patent/JP6486684B2/ja
Publication of KR20130039866A publication Critical patent/KR20130039866A/ko
Application granted granted Critical
Publication of KR101922559B1 publication Critical patent/KR101922559B1/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
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of codes
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • 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
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • 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
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명에 따른 통신 시스템에서 순방향 에러 정정(Forward Error Correction : FEC) 패킷을 송신하는 방법은, 소스 블록에 포함된 소스 페이로드들의 길이가 같은지 판단하는 과정과, 상기 소스 페이로드들의 길이가 다른 경우, 상기 소스 페이로드들 각각에 대한 가상 길이 정보를 생성하고, 상기 소스 페이로드들의 길이를 동일하게 하는 패딩 데이터(padding data)를 추가하여 정보 블록을 생성하는 과정과, 상기 가상의 길이 정보와 상기 정보 블록으로부터 주어진 FEC 코드에 의해 패리티 데이터와 패리티 블록을 생성하는 과정과, 상기 소스 블록, 상기 패리티 데이터 및 상기 패리티 블록을 수신기로 송신하는 과정을 포함한다.

Description

통신 시스템에서 순방향 에러 정정 패킷을 송수신하는 방법 및 장치{METHOD AND APPARATUS FOR TRANSMITTING/RECEIVING FORWARD ERROR CORRECTION PACKET IN A COMMUNICATION SYSTEM}
본 발명은 통신 시스템에 관한 것으로, 특히 통신 시스템에서 순방향 에러 정정(Forward Error Correction : FEC) 패킷을 송수신하는 방법 및 장치에 관한 것이다.
다양한 컨텐츠의 증가와 고해상도 컨텐츠(High Definition(HD) Contents), 초고해상도 컨텐츠(Ultra High Definition(UHD) Contents)들과 같은 고용량 컨텐츠의 증가로 네트워크상에서 데이터 혼잡(Data Congestion)은 점점 더 심화되고 있다.
도 1은 일반적인 IP 기반의 네트워크 토폴로지와 데이터 흐름을 개략적으로 나타낸 것이다.
상기한 데이터 혼잡으로 인하여 도 1에서 송신기(Sender(Host A))(110)가 보낸 컨텐츠가 수신기(Receiver(Host B))(130)에게 온전이 전달되지 않고 컨텐츠의 일부가 전송 경로(Route) 상에서 손실되는 상황이 발생한다. 일반적으로 데이터는 패킷(Packet) 단위로 전송하게 됨으로 인하여 손실은 전송 패킷 단위로 발생하게 된다. 이로 인하여 수신기(130)는 네트워크상에서 손실된 전송 패킷을 수신할 수 없게 됨으로 상기 손실된 전송 패킷내의 데이터를 알 수 없어 오디오의 품질 저하, 비디오의 화질열화나 화면 깨짐, 자막 누락, 파일의 손실 등과 같은 다양한 형태로 사용자의 불편을 초래하게 된다.
이와 같이 네트워크상에서 손실된 데이터를 복구하기 위한 방법이 필요하게 된다. 이를 위해 일정 개수의 패킷들로 구성된 소스 블록(Source Block)에 FEC 부호화(encoding)에 의한 패리티 블록(Parity block)을 추가하여 전송하게 된다. 일반적으로 패킷내에 전송되는 데이터(소스 페이로드(Source Payload)) 길이는 동일하게 적용될 수도 있고, 가변적인 패킷 사이즈(Variable packet size)로 운용될 수도 있다. 예를 들어 MPEG(Moving Picture Experts Group)2 TS는 그 패킷의 길이가 188 바이트(bytes)(헤더 4 바이트, 페이로드 184 바이트)로 하여 고정된 패킷 길이를 가지지만, 실시간 전송 프로토콜(Real-Time Transport Protocol : RTP)이나 MPEG 미디어 전송(MPEG Media Transport : MMT)와 같은 프로토콜은 그 패킷의 길이가 꼭 동일할 필요가 없다. 이로 인하여 Variable packet size로 운영되는 경우 FEC 부호화를 위해 일정 개수의 패킷들에서 그 각각의 패킷의 길이를 동일하게 하기 위하여 패딩(padding) 데이터를 추가하여 Source Block을 구성하여 부호화하는 방법이 필요하게 된다. 또한 복호화 과정에서 네트워크(채널)상에서 손실된 패킷을 복구시 FEC 디코더는 Source Block을 복구하게 됨으로(즉 padding data가 포함된 Source Block) 인하여 패딩되기 전의 패킷의 길이를 아는 것이 필요하게 된다. 이로 인하여 FEC 복호화를 위한 각각의 패킷 사이즈를 FEC 디코더가 알게 하는 방법이 필요하게 되므로, Variable packet size로 운용되는 환경에서 어플리케이션 계층(Application Layer : AL)-FEC 부호화 및 송수신 방법이 필요하게 된다.
도 1에서의 인터넷 프로토콜(Internet Protocol : IP) 패킷(170)은 여러 라우터(150)를 거치면서 최종 수신기(130)에 송신기(110)가 송신한 순서대로 항상 도달하는 것은 아니다.
이로 인하여, AV 컨텐츠 스트리밍(Contents Streaming)시 전송 순서를 나타내는 것이 필요한데 이를 위해 어플리케이션(Application)단에서 도 1의 데이터(171)는 AV 코덱(Codec)단에서 압축된 데이터를 실시간 프로토콜(Real Time Protocol : RTP)를 사용하여 패킷으로 분할(패킷ize)한 이후의 RTP 패킷 데이터로 간주되거나(IETF의 RFC3550, RFC3984 문서 참조) 또는 MPEG MMT(MPEG Media Transfort)에서 진행되고 있는 MMT 패킷 데이터로 간주되는 것이 바람직하다.
본 발명은 통신시스템에서 패킷 손실을 방지할 수 있는 FEC 패킷을 송수신하는 장치 및 방법을 제공한다.
본 발명에 따른 통신 시스템에서 순방향 에러 정정(Forward Error Correction : FEC) 패킷을 송신하는 방법은, 소스 블록에 포함된 소스 페이로드들의 길이가 같은지 판단하는 과정과, 상기 소스 페이로드들의 길이가 다른 경우, 상기 소스 페이로드들 각각에 대한 가상 길이 정보를 생성하고, 상기 소스 페이로드들의 길이를 동일하게 하는 패딩 데이터(padding data)를 추가하여 정보 블록을 생성하는 과정과, 상기 가상의 길이 정보와 상기 정보 블록으로부터 주어진 FEC 코드에 의해 패리티 데이터와 패리티 블록을 생성하는 과정과, 상기 소스 블록, 상기 패리티 데이터 및 상기 패리티 블록을 수신기로 송신하는 과정을 포함한다.
또한 본 발명에 따른 통신 시스템에서 순방향 에러 정정(Forward Error Correction : FEC) 패킷을 수신하는 방법은, 송신기로부터 소스 블록, 패리티 데이터 및 패리티 블록을 포함하는 FEC 전달 블록에 대한 패킷들을 수신하는 과정과, 상기 수신된 패킷들 각각으로부터 페이로드의 길이를 확인하는 과정과, 상기 확인된 패킷들 각각의 페이로드의 길이 정보와 상기 패리티 데이터로부터 주어진 FEC 코드에 의해 디코딩을 수행하여 상기 소스 블록의 각각의 소스 페이로드의 길이 정보를 복원하는 과정과, 상기 소스 블록으로부터 패딩 데이터를 추가하여 정보 블록을 생성하고, 상기 생성된 정보 블록에 대해 주어진 FEC 코드로 디코딩을 수행하여 손실된 소스 페이로드에 해당하는 정보 페이로드를 복원하는 과정과, 상기 복원된 소스 페이로드의 길이 정보와 상기 복원된 정보 페이로드로부터 원본 소스 페이로드를 복원하는 과정을 포함한다.
또한 본 발명에 따른 통신 시스템에서 순방향 에러 정정(Forward Error Correction : FEC) 패킷을 송신하는 장치는, 소스 블록에 포함된 소스 페이로드들의 길이가 같은지 판단하고, 상기 소스 페이로드들의 길이가 다른 경우, 상기 소스 페이로드들 각각에 대한 가상 길이 정보를 생성하고, 상기 소스 페이로드들의 길이를 동일하게 하는 패딩 데이터(padding data)를 추가하여 정보 블록을 생성하며, 상기 가상의 길이 정보와 상기 정보 블록으로부터 주어진 FEC 코드에 의해 패리티 데이터와 패리티 블록을 생성하는 FEC 모듈과, 상기 소스 블록, 상기 패리티 데이터 및 상기 패리티 블록을 수신기로 송신하는 송신부를 포함한다.
또한 본 발명에 따른 통신 시스템에서 순방향 에러 정정(Forward Error Correction : FEC) 패킷을 수신하는 장치는, 송신기로부터 소스 블록, 패리티 데이터 및 패리티 블록을 포함하는 FEC 전달 블록에 대한 패킷들을 수신하는 수신부와, 상기 수신된 패킷들 각각으로부터 페이로드의 길이를 확인하고, 상기 확인된 패킷들 각각의 페이로드의 길이 정보와 상기 패리티 데이터로부터 주어진 FEC 코드에 의해 디코딩을 수행하여 상기 소스 블록의 각각의 소스 페이로드의 길이 정보를 복원하고, 상기 소스 블록으로부터 패딩 데이터를 추가하여 정보 블록을 생성하고, 상기 생성된 정보 블록에 대해 주어진 FEC 코드로 디코딩을 수행하여 손실된 소스 페이로드에 해당하는 정보 페이로드를 복원하며, 상기 복원된 소스 페이로드의 길이 정보와 상기 복원된 정보 페이로드로부터 원본 소스 페이로드를 복원하는 FEC 모듈을 포함한다.
본 발명에 의해 variable payload size로 송수신되는 환경에서 AL-FEC를 적용할 수 있다. 특히 본 발명에 의한 손실된 Source Payload의 실제 길이를 알 수 있어 상위 계층에서 복원된 Source Payload들을 처리할 수 있다. 또한 본 발명에 의해 각각의 Source Payload에 대한 가상(virtual) 길이 정보로부터 패리티 데이터(parity data)를 생성하여 상기 길이 정보는 전송하지 않고 상기 parity data만을 송신함으로써 전송 효율을 높일 수 있다.
한편 그 외의 다양한 효과는 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 것이다.
도 1은 일반적인 IP 기반의 네트워크 토폴로지와 데이터 흐름을 개략적으로 나타낸 도면,
도 2는 본 발명의 실시 예에 따른 송신기의 동작을 나타낸 도면,
도 3는 본 발명의 실시 예에 따른 수신기의 동작을 나타낸 도면,
도 4는 본 발명의 실시 예에 따른 MMT 시스템 구조와 전송 기능 계층을 나타낸 도면,
도 5는 본 발명의 실시 예에 따른 송신기를 나타낸 도면,
도 6은 본 발명의 실시 예에 따른 가상 길이 정보로 구성된 가상 길이 블록(Virtual Length Block)과 생성된 parity data로 구성된 parity data block을 나타낸 도면,
도 7은 본 발명의 실시 예에 따른 information Block과 Parity block을 나타낸 도면,
도 8은 m=8인 경우 RS (240,200) code over GF(2^8)에 의한 RF Frame을 나타낸 도면,
도 9는 LDPC(m x (K+P), m x K) code over GF(2)에 의한 LDPC Frame을 나타낸 도면.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
이하 설명될 본 발명은 전술한 RTP 패킷 또는 MMT 패킷과 같은 전송 프로토콜을 이용하여 FEC 블록이 전송되는 경우에 있어서 AL-FEC 패킷을 송수신하는 방법 및 장치를 제공한다.
본 발명의 설명에 앞서 본 명세서에서 사용되는 용어들을 아래와 같이 정의한다.
FEC : 오류(Error) 또는 삭제 심볼(Erasure Symbol)을 정정하기 위한 오류 정정 부호.
FEC 프레임(FEC Frame) : 보호하고자 하는 정보(Information)를 FEC 부호화함에 의해 생성된 부호어(Codeword)로써 정보 부분(information part)와 패리티 부분(parity(repair) part)으로 구성됨.
심볼(Symbol) : 데이터의 단위(A unit of data)이고, 비트들에서 비트의 길이는 심볼 사이즈를 의미함(Its size, in bits, is referred to as the symbol size.).
소스 심볼(들)(Source Symbol(s)) : 보호되지 않은 데이터 심볼(들).
정보 심볼(들)(Information symbol(s)) : FEC 프레임(frame)의 정보 부분인 보호되지 않은 데이터 심볼(들)(Unprotected data Symbol(s) which is the information part of a FEC Frame).
코드워드(Codeword) : Information Symbol(s)를 부호화함에 의해 생성된 FEC Frame.
패리티 심볼(들)(Parity symbol(s)) : Information Symbol(s)로부터 FEC 부호화에 의해 생성된 FEC Frame의 parity Symbol(s).
패킷(Packet) : Header와 Payload로 구성된 전송 단위.
페이로드(Payload) : 송신기로부터 전송되고 패킷 내에 위치된 사용자 데이터의 조각(a piece of user data which is to be transmitted from the sender and which is placed inside of a Packet).
패킷 헤더(Packet Header) : 패킷의 Header.
소스 페이로드(Source Payload) : source Symbole들로 구성된 payload
정보 페이로드(Information Payload) : Information Symbol들로 구성된 payload
패리티 페이로드(Parity Payload) : parity Symbol들로 구성된 payload.
소스 블록(Source Block) : 하나 이상의 Source Symbols들로 구성된 payload들의 집합.
정보 블록(Information Block) : 하나 이상의 Information Payload들로 구성된 payload들의 집합.
복구 블록(Repair Block) : 하나 이상의 Repair Payload들로 구성된 payload의 집합.
FEC 블록(FEC Block) : FEC Frame들의 집합 or Source Block과 Repair Block들고 구성된 Symbols의 집합.
FEC 전달 블록(FEC Delivery Block) : Source Block과 Repair Block들로 구성된 Payload들의 집합.
FEC 패킷(FEC Packet) : FEC Block 전송하기 위한 패킷.
소스 패킷(Source Packet) : Source Block을 전송하기 위한 패킷.
복구 패킷(Repair Packet) : Repair Block을 전송하기 위한 패킷.
FEC 패킷 블록(FEC Packet Block) : FEC Block을 전송하기 위한 패킷들의 집합.
본 발명은 유무선 통신 네트워크을 통해 패킷 단위로 데이터를 송수신하는 시스템에 있어서 송신 중 손실된 패킷의 전체 또는 일부를 복구 후 패킷내 실제 전송된 데이터의 길이를 수신기에서 알 수 있게 하는 FEC 패킷을 복호화/부호화하는 방법 및 장치를 제공한다.
도 2는 본 발명의 실시 예에 따른 송신기의 동작을 나타낸 것이다.
도 2를 참조하면, 송신기는 송신하고자 하는 데이터를 길이가 Si(i=0,1,...,k-1)인 Source Payload들로 나누고, 나누어진 k개의 Source Payload들로 구성된 Source Block(201)으로부터 n-k개의 Parity Payload들로 구성된 Parity Block(203)을 생성하여 Source Block(201)과 Parity Block(203)으로 구성된 FEC Delivery Block(207)을 수신기로 전송한다.
상세히 설명하면, 먼저 송신기는 Source Block(201) 각각의 Source Payload에 필요한 Padding Bytes를 추가하여 k 개의 Information Payload로 구성된 Information Block(205)을 생성한다. 이 때 각각의 Source Payload의 길이 Si들로 구성된 가상의 길이 정보 데이터를 추가로 생성한다. 그리고 송신기에 포함된 FEC 부호화부(230)는 주어진 FEC 코드를 이용하여 Information Block(205)으로부터 상기 가상의 길이 정보 데이터와 Information Block(205)으로부터 n-k-1개의 Parity Payload로 구성된 Parity Block(203)과 상기 가상의 길이 정보 데이터에 대한 parity 데이터를 생성한다. 그리고 상기 FEC 부호화부(230)에 의해 생성된 Parity Block(203)과 상기 가상의 길이 정보 데이터에 대한 parity data는 Source Block(201)과 함께 수신기로 송신된다. 상기에서 각각의 Source Payload에 대한 길이 정보 데이터 생성은 제어부(도시되지 않음)가 입력되는 각각의 Source Payload로부터 그 데이터를 카운트하여 생성할 수도 있고 또는 Source Payload 생성 시 그 길이 정보는 송신기가 알 수 있으므로 이 정보를 받아 생성할 수도 있다.
도 3는 본 발명의 실시 예에 따른 수신기의 동작을 나타낸 것이다.
도 3을 참조하면, 수신기는 손실된 패킷을 가지는 FEC Delivery Block을 수신하고, 상기 수신된 FEC Delivery Block으로부터, Source Block(301)에 포함된 각각의 Source Payload는 그 길이를 카운트하여 길이 정보를 알 수 있으므로 상기 길이 정보와 Source Payload들에 대한 가상의 길이 정보로부터 부호화시 생성된 parity data를 수신된 Parity Payload로부터 얻는다. 이 때 손실된 Source Payload의 길이 정보는 알 수 없으므로 이 부분은 삭제처리를 하고 FEC 복호화부(330)에 의해 삭제 정정(erasure correction)을 수행하여 손실된 Source Payload들에 대한 길이 정보를 복원한다. 또한 수신된 Source Payload들 각각에 대해 필요한 Padding data를 추가하여 Information Block을 생성하는데 손실된 Source Payload에 해당하는 Information Payload는 삭제 처리를 하여 FEC 복호화부(230)로 삭제 정정을 수행하여 Information Payload들을 포함하는 FEC Block(303)를 복원한다. 상기 복원된 길이 정보로부터 상기 복원된 Information Payload의 Source Payload 길이를 알 수 있으므로 송신시 Source Payload들로 구성된 복원된 Source Block(305)을 출력한다.
도 4는 본 발명의 실시 예에 따른 MMT 시스템 구조와 전송 기능 계층을 나타낸 것으로, 왼쪽은 MMT 시스템 구조를 나타낸 것이고, 오른쪽은 전송 기능 계층의 세부 구조를 나타낸 것이다.
도 4를 참조하면, 미디어 코딩 계층(Media Coding Layer)(401)으로부터 압축된 오디오/비디오 데이터는 인캡슐레이션 기능 계층(Encapsulation Function Layer)(403)(이하 E Layer)를 거쳐 파일 포맷(File Format)과 유사한 형태로 패키지(Package)화 되어 출력되고, 전송 기능 계층(Delivery Function Layer)(405)단에서는 이를 MMT Payload Format화한 후, MMT Transport Packet Header를 부가하여 MMT Transport Packet으로 출력하거나 또는 기존 RTP 프로토콜을 사용하여 RTP 패킷으로 출력한다. 그 이후 UDP/TCP의 전송 프로토콜 계층(Transport Protocol Layer)(407)를 거쳐 최종적으로 IP(409) 단에서 IP 패킷화 되어 전송된다.
도 5는 본 발명의 실시 예에 따른 송신기를 나타낸 것으로, MPEG MMT 시스템상에서의 개념의(Conceptual) AL-FEC Source Block을 부호화 과정을 나타낸 것이다.
도 5를 참조하면, MMT D.1 Layer(421)는 MMT E.1 Layer(425)로부터 MMT 패키지(Package)(AV data, File, txt등을 스토리지(storage)에 저장하거나 또는 송신을 고려한 목적으로 만들어진 포맷)를 입력 받아 송신을 위한 일정 단위(Source Payload)로 나누어 Source Block(201)을 구성한다. AL-FEC 모듈(module)(503)은 Source Block(201)으로부터 각각의 Source Payload에 대한 길이 정보 Si(i=0,1,...,k-1)를 카운트하거나 또는 페이로드 포맷 생성기(Payload Format Generator)(501) 또는 도시하지는 않았지만 제어부로부터 제공받아 가상 길이 정보 생성하고 또한 Source Block(201)의 각각의 Payload의 길이를 동일하게 하기 위해 padding 데이터를 추가하여 Information block(205)을 생성한다. 그리고 FEC 부호화부(230)는 Information Block(205)과 상기 가상 길이 정보로부터 주어진 FEC 코드에 의해 FEC 부호화를 수행하여 가상 길이 정보에 대한 parity data와 Source Block(201)에 대한 Parity Block(203)을 생성하여 Payload Format Generator(501)에게 전송한다. 페이로드 포맷 생성기(501)는 Source Block(201)에 상기 parity data와 Parity Block(203)을 추가하고 각각의 페이로드에 페이로드 헤더(Payload Header : PLH)을 부가하여 패킷 분할한 MMT 페이로드 포맷(MMT Payload Format)을 MMT D.2 Layer 또는 IETF Application Protocol Layer(423)에 전송한다. 그리고 MMT D.2 Layer 또는 IETF Application Protocol Layer(423)에서 도면 1의 UDP와 같은 전송 프로토콜에 의해 UDP 헤더를 부가하고 다시 IP 헤더를 부가하여 수신기로 전송되게 된다.
 본 발명에서 상기 가상 길이 정보에 대한 parity data는 도면상에서는 Parity Block에 위치하지만, 페이로드 포맷 헤더를 포함하는 FEC Delivery Block내 송수신기간 서로 약속된 위치에 할당되어 전송되기만 하면 된다. 예로 상기 parity data는 Source Block의 위 또는 아래 Parity Block의 위 또는 아래로 할당되거나 또는 Source Block을 위한 PLH들의 일부로 간주되거나 또는 Parity Block을 위한 PLH들의 일부로 간주될 수도 있다. 한편, 수신기는 도 5에 도시한 송신기와 유사한 구조를 가지며, 도 3에서 설명한 동작을 수행한다.
하기 실시 예에서는 편의상 Parity Block을 위한 PLH들의 일부로 간주되는 경우의 예를 기술하지만, 본 발명은 이에 한정하지는 않는다.
아래 <표 1>은 MMT Payload Format를 나타낸다.
Payload Header MMT Payload (Source Payload or Parity Payload)
아래 <표 2>는 Parity Payload에 대한 Payload Header format을 나타낸다.
Payload Type ( = Parity Payload)
Sequence Number
FEC_Flag
Block Boundary Info
Payload_size_flag
FEC Delivery Block Length : n
Source Block Length : k
parity data for virtual lengths if Payload_size_flag==1
<표 3>은 Source Payload를 위한 Payload Header format을 나타낸다.
Payload Type ( = Source Payload)
Sequence Number
FEC Flag
Block Boundary Info
Payload size flag
FEC Delivery Block Length : n
Source Block Length : k
상기 <표 2> 및 <표 3>에서 Payload Type은 해당 MMT Payload Format의 Payload가 Source Payload인지 Parity Payload인지를 나타낸다. 그리고 시퀀스 넘버(Sequence Number)는 전송되는 페이로드들의 순서를 나타내기 위하여 순차적으로 증가하거나 감소하여 할당하는데 Sequence Number로부터 패킷의 손실 여부를 알 수 있다. FEC 프래그(Flag)는 FEC 적용 여부를 나타낸다. 예를 들어 그 값이 0을 가리키고 있으면 Parity Payload없이 Source Block만 전송하고 그 값이 1이면 Source Block에 Parity Block을 추가하여 즉, FEC 구조가 적용되어 전송된다는 것을 의미한다. 블록 경계 정보(Block Boundary Info)는 FEC delivery Block의 경계를 알려주는데 FEC Delivery Block의 첫 번째 Source Payload의 Sequence Number 값을 모든 헤더에 할당한다.  페이로드 사이즈 프래그(Payload Size flag)는 Source Block내 모든 Source Payload의 길이가 일정한지 아닌지를 나타낸다.  예를 들어 그 값이 0이면 Source Block내의 모든 Source Payload 길이가 일정한 것을 나타내어 본 발명에서의 가상 길이 정보를 생성하고 또한 그 정보로부터 parity data를 생성할 필요가 없다. 그 값이 1이면 Source Block내의 모든 Source Payload 길이가 일정하지 않아 본 발명에 의한 가상 길이 정보를 생성하고 또한 그 정보로부터 parity data가 생성되어 있다는 것을 의미한다. FEC Delivery Block Length는 FEC Delivery Block에 포함되어 있는 Payload들의 개수를 말한다. Source Block Length는 Source Block에 포함되어 있는 Source Payload들의 개수를 말한다.
도 6은 본 발명의 실시 예에 따른 가상 길이 정보로 구성된 가상 길이 블록(Virtual Length Block)과 생성된 parity data로 구성된 parity data block을 나타낸 것이다.(길이 정보는 통상적으로 2 bytes 정도이면 헤더 정보를 제외하더라도 통상적으로 65000 bytes 이상이 커버되므로 2 bytes인 경우를 나타내었다.
도 6에서 S(i,r)은 Source Block의 i+1번째 Source Payload의 길의 정보 중 r번째 bytes이고,  p(j,r)은 Parity Data Block이 Parity Block에 위 또는 아래 포함되어 전송될 때 Parity Block의 j+1번째 Parity Payload 위치의 위 또는 아래에서 r번째 bytes (즉, Parity data Block 2 x (n-k)가 Parity Block 위 또는 아래에 할당된다.)이다.
 Virtual Length Block으로부터 Parity Data Block을 생성할 때 Source Block으로부터 Parity Block을 생성할 때 사용된 FEC 코드와 동일한 코드를 사용하여 생성하는 것으로 기술되어 있으나 본 발명은 이에 한정하지는 않는다. 예로 들어 200개의 Source Payload로 구성된 Source Block으로부터 20개의 Parity Payload로 구성된 Parity Block을 생성한다고 했을 때 동일 FEC 구조를 적용하여 상기 Virtual Length Block 16bits x 200으로부터 Parity Data Block 16bits x 20을 생성할 수도 있지만, parity 생성 비율을 예를 들어 2배로 하여 Parity Data Block 16bits x 40을 생성할 수도 있다. 이 경우에는 16bits x 40을 32bits x 20으로 재 배치하여 Parity Block의 위 또는 아래에 할당하는 것이 바람직하다. 이는 Source Block은 복구하지 못하는 경우가 발생하더라도 Source Payload의 길이에 대한 정보는 복구하여 상위단으로 손실된 Source Payload를 길이를 알려줌으로 인하여 보다 안전한 처리를 도우기 위함이다.
도 7은 본 발명의 실시 예에 따른 information Block과 Parity block을 나타낸 것이다.
도 7을 참조하면, m=1이고 K=200인 경우 Parity Block 생성을 위한 FEC (220,200) 코드를 사용하였다고 하면 이상적인 코드(ideal code)라도 20 패킷까지의 손실만 복구할 수 있다. 하지만, Parity Data Block을 생성시는 FEC(240,200) 코드를 사용하면 20 패킷 이상의 소실도 복구할 수 있기 때문에 설사 손실된 Source Payload를 복구하지는 못하더라도 상기 Source Payload의 길이는 알 수 있다.
 도 7은 K개의 Information Payload로 구성된 Information Block으로부터 Parity Block을 생성된 FEC Block을 나타낸 것이다. Information Block 각각의 m개의 열(row)로 구성된 정보 심볼들(Information Symbols)은 주어진 FEC 코드에 따라 패리티 심볼들(Parity Symbols)을 생성하여 FEC Frame을 구성한다.(m은 양의 정수)
 가상 길이 정보를 위한 Parity data의 경우, Information Block으로부터 Parity Block을 생성하듯이 동일한 FEC 코드를 사용하여 동일한 방식으로 Virtual Length Block으로부터 Parity Data Block을 생성할 수 있다.
도 8은 m=8인 경우 RS (240,200) code over GF(2^8)에 의한 RF Frame을 나타낸 것이다.
 도 8의 경우 K payload로 구성된 Information Block의 p번째 바이트 열(pth byte row)이 p번째 정보 심볼 K 바이트(pth information symbols K bytes)가 되고 여기에  200-K bytes를 00h로 패딩하여 부호화하여 40 bytes의 parity bytes를 생성하여 p번째(pth) RS Frame을 생성한 다음. 첫번째 200-K padding bytes를 쇼트닝(shortening)하고 마지막 40-Pbytes를 펑쳐링하여 정보 심볼들 K 바이트(Information Symbols K bytes)와 패리티 심볼들 P 바이트(Parity Symbols P bytes)만을 최종 전송하게 된다.
도 9는 LDPC(m x (K+P), m x K) code over GF(2)에 의한 LDPC Frame을 나타낸 것이다.
 도 9의 경우 K payload로 구성된 Information Block의 p번째 m열(pth m row(s))이 p번째 정보 심볼들 m x K 비트들(pth information symbols m x K bits)이 되고 여기에  m x P 패리티 비트들을 생성하여 p번째 LDPC Frame을 생성한 다음 생성된 m x P 패리티 비트들을 패리티 심볼들로 전환한다.(m=양의 정수)
m이 1보다 큰 경우에 있어서 도면 9는 왼쪽부터 위에서 아래로 번호를 부여하고 있으나, 여기에 한정하지 않고 반대 방향으로 윗쪽부터 왼쪽에서 오른쪽으로 번호를 부여할 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구의 범위뿐만 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (4)

  1. 통신 시스템에서 순방향 에러 정정(Forward Error Correction : FEC) 패킷을 송신하는 방법에 있어서,
    소스 블록에 포함된 소스 페이로드들의 길이가 같은지 판단하는 과정과,
    상기 소스 페이로드들의 길이가 다른 경우, 상기 소스 페이로드들 각각에 대한 가상 길이 정보를 생성하고, 상기 소스 페이로드들의 길이를 동일하게 하는 패딩 데이터(padding data)를 추가하여 정보 블록을 생성하는 과정과,
    상기 가상의 길이 정보와 상기 정보 블록으로부터 주어진 FEC 코드에 의해 패리티 데이터와 패리티 블록을 생성하는 과정과,
    상기 소스 블록, 상기 패리티 데이터 및 상기 패리티 블록을 수신기로 송신하는 과정을 포함하는 FEC 패킷 송신 방법.
  2. 통신 시스템에서 순방향 에러 정정(Forward Error Correction : FEC) 패킷을 수신하는 방법에 있어서,
    송신기로부터 소스 블록, 패리티 데이터 및 패리티 블록을 포함하는 FEC 전달 블록에 대한 패킷들을 수신하는 과정과,
    상기 수신된 패킷들 각각으로부터 페이로드의 길이를 확인하는 과정과,
    상기 확인된 패킷들 각각의 페이로드의 길이 정보와 상기 패리티 데이터로부터 주어진 FEC 코드에 의해 디코딩을 수행하여 상기 소스 블록의 각각의 소스 페이로드의 길이 정보를 복원하는 과정과,
    상기 소스 블록으로부터 패딩 데이터를 추가하여 정보 블록을 생성하고, 상기 생성된 정보 블록에 대해 주어진 FEC 코드로 디코딩을 수행하여 손실된 소스 페이로드에 해당하는 정보 페이로드를 복원하는 과정과,
    상기 복원된 소스 페이로드의 길이 정보와 상기 복원된 정보 페이로드로부터 원본 소스 페이로드를 복원하는 과정을 포함하는 FEC 패킷 수신 방법.
  3. 통신 시스템에서 순방향 에러 정정(Forward Error Correction : FEC) 패킷을 송신하는 장치에 있어서,
    소스 블록에 포함된 소스 페이로드들의 길이가 같은지 판단하고, 상기 소스 페이로드들의 길이가 다른 경우, 상기 소스 페이로드들 각각에 대한 가상 길이 정보를 생성하고, 상기 소스 페이로드들의 길이를 동일하게 하는 패딩 데이터(padding data)를 추가하여 정보 블록을 생성하며, 상기 가상의 길이 정보와 상기 정보 블록으로부터 주어진 FEC 코드에 의해 패리티 데이터와 패리티 블록을 생성하는 FEC 모듈과,
    상기 소스 블록, 상기 패리티 데이터 및 상기 패리티 블록을 수신기로 송신하는 송신부를 포함하는 FEC 패킷 송신 장치.
  4. 통신 시스템에서 순방향 에러 정정(Forward Error Correction : FEC) 패킷을 수신하는 장치에 있어서,
    송신기로부터 소스 블록, 패리티 데이터 및 패리티 블록을 포함하는 FEC 전달 블록에 대한 패킷들을 수신하는 수신부와,
    상기 수신된 패킷들 각각으로부터 페이로드의 길이를 확인하고, 상기 확인된 패킷들 각각의 페이로드의 길이 정보와 상기 패리티 데이터로부터 주어진 FEC 코드에 의해 디코딩을 수행하여 상기 소스 블록의 각각의 소스 페이로드의 길이 정보를 복원하고, 상기 소스 블록으로부터 패딩 데이터를 추가하여 정보 블록을 생성하고, 상기 생성된 정보 블록에 대해 주어진 FEC 코드로 디코딩을 수행하여 손실된 소스 페이로드에 해당하는 정보 페이로드를 복원하며, 상기 복원된 소스 페이로드의 길이 정보와 상기 복원된 정보 페이로드로부터 원본 소스 페이로드를 복원하는 FEC 모듈을 포함하는 FEC 패킷 수신 장치.
KR1020110104506A 2011-10-13 2011-10-13 통신 시스템에서 순방향 에러 정정 패킷을 송수신하는 방법 및 장치 KR101922559B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020110104506A KR101922559B1 (ko) 2011-10-13 2011-10-13 통신 시스템에서 순방향 에러 정정 패킷을 송수신하는 방법 및 장치
EP12839258.6A EP2767048A4 (en) 2011-10-13 2012-10-15 DEVICE AND METHOD FOR SENDING / RECEIVING FORWARD FAULT CORRECTION PACKAGES IN A MOBILE COMMUNICATION SYSTEM
CN201280059956.8A CN103975550A (zh) 2011-10-13 2012-10-15 在移动通信系统中发送/接收前向纠错分组的装置和方法
PCT/KR2012/008388 WO2013055181A1 (en) 2011-10-13 2012-10-15 Apparatus and method for transmitting/receiving forward error correction packet in mobile communication system
US13/651,917 US20130097474A1 (en) 2011-10-13 2012-10-15 Apparatus and method for transmitting/receiving forward error correction packet in mobile communication system
JP2014535656A JP6486684B2 (ja) 2011-10-13 2012-10-15 移動通信システムにおける順方向誤り訂正パケットを送受信する装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110104506A KR101922559B1 (ko) 2011-10-13 2011-10-13 통신 시스템에서 순방향 에러 정정 패킷을 송수신하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20130039866A true KR20130039866A (ko) 2013-04-23
KR101922559B1 KR101922559B1 (ko) 2018-12-05

Family

ID=48082120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110104506A KR101922559B1 (ko) 2011-10-13 2011-10-13 통신 시스템에서 순방향 에러 정정 패킷을 송수신하는 방법 및 장치

Country Status (6)

Country Link
US (1) US20130097474A1 (ko)
EP (1) EP2767048A4 (ko)
JP (1) JP6486684B2 (ko)
KR (1) KR101922559B1 (ko)
CN (1) CN103975550A (ko)
WO (1) WO2013055181A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130126876A (ko) 2012-04-30 2013-11-21 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
KR102148158B1 (ko) 2013-04-23 2020-08-28 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
CN106105076B (zh) 2014-03-28 2019-08-09 三星电子株式会社 在广播和/或通信系统中生成并恢复分组的方法和设备
US10243638B2 (en) 2016-10-04 2019-03-26 At&T Intellectual Property I, L.P. Forward error correction code selection in wireless systems
US10270559B2 (en) 2016-10-04 2019-04-23 At&T Intellectual Property I, L.P. Single encoder and decoder for forward error correction coding
WO2019064815A1 (ja) * 2017-09-27 2019-04-04 ソニー株式会社 無線lan通信装置、無線lan通信方法および無線lan通信プログラム
US11381341B2 (en) * 2017-10-31 2022-07-05 Panasonic Intellectual Property Management Co., Ltd. Reception apparatus, transmission apparatus, reception method, and transmission method
JP7307613B2 (ja) * 2019-07-04 2023-07-12 日本放送協会 送信サーバ、送信装置、受信装置及びプログラム
EP4064681A4 (en) * 2019-11-20 2023-01-11 Sony Semiconductor Solutions Corporation TRANSMITTER, RECEIVER AND TRANSMITTER SYSTEM

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE218778T1 (de) * 1997-12-12 2002-06-15 3Com Corp Ein vorwärtsfehlerkorrektionssystem für packetbasierte echtzeitmedien
EP1135912B1 (en) * 1998-12-10 2005-11-02 Nokia Corporation Packet transmission method and apparatus
KR100305352B1 (ko) * 1999-05-25 2001-09-26 심지섭 연쇄부호를 사용한 적응형 하이브리드 arq 방법
KR100608042B1 (ko) * 1999-06-12 2006-08-02 삼성전자주식회사 멀티 미디어 데이터의 무선 송수신을 위한 인코딩 방법 및그 장치
US6400720B1 (en) * 1999-06-21 2002-06-04 General Instrument Corporation Method for transporting variable length and fixed length packets in a standard digital transmission frame
US6804237B1 (en) * 1999-06-23 2004-10-12 Nortel Networks Limited Method, devices and signals for multiplexing payload data for transport in a data network
JP2003199075A (ja) * 2001-12-27 2003-07-11 Matsushita Electric Ind Co Ltd データ伝送方法、データ伝送装置及びデータ受信装置
JP3822508B2 (ja) * 2002-03-08 2006-09-20 日本電信電話株式会社 パケット伝送システムとそのデータ送信装置及びデータ受信装置
KR100458878B1 (ko) * 2002-05-03 2004-12-03 학교법인 경희대학교 Fec 코딩 방식에 기초한 가변길이 패킷 송수신 방법
US7177658B2 (en) * 2002-05-06 2007-02-13 Qualcomm, Incorporated Multi-media broadcast and multicast service (MBMS) in a wireless communications system
WO2006038054A1 (en) * 2004-10-06 2006-04-13 Nokia Corporation Packet transmission using error correction of data packets
EP1803245A1 (en) * 2004-10-07 2007-07-04 Nokia Corporation Efficient source blocking algorithm for fec for mbms streaming
JP4532505B2 (ja) * 2004-12-09 2010-08-25 三菱電機株式会社 データ送信装置、データ受信装置、およびデータ配信システム
WO2008013528A1 (en) 2006-07-25 2008-01-31 Thomson Licensing Recovery from burst packet loss in internet protocol based wireless networks using staggercasting and cross-packet forward error correction
US8990663B2 (en) 2006-12-21 2015-03-24 Thomson Licensing Method to support forward error correction for real-time audio and video data over internet protocol networks
KR101372402B1 (ko) * 2007-03-16 2014-03-10 삼성전자주식회사 디지털 방송 송/수신 장치 및 방법
US20090254794A1 (en) * 2008-04-04 2009-10-08 Nxp B.V. Method for efficient packet framing in a communication network
KR101286912B1 (ko) * 2009-12-18 2013-07-16 한국전자통신연구원 3차원 저장장치를 이용한 가변길이 패킷의 fec 인코딩 및 fec 디코딩 방법

Also Published As

Publication number Publication date
WO2013055181A1 (en) 2013-04-18
EP2767048A1 (en) 2014-08-20
CN103975550A (zh) 2014-08-06
JP6486684B2 (ja) 2019-03-20
EP2767048A4 (en) 2015-09-02
KR101922559B1 (ko) 2018-12-05
JP2014528682A (ja) 2014-10-27
US20130097474A1 (en) 2013-04-18

Similar Documents

Publication Publication Date Title
US10637506B2 (en) Apparatus and method for transmitting/receiving forward error correction packet in mobile communication system
KR101922559B1 (ko) 통신 시스템에서 순방향 에러 정정 패킷을 송수신하는 방법 및 장치
US9571124B2 (en) Method for generating forward error correction packet in multimedia system and method and apparatus for transmitting and receiving forward error correction packet
KR101829923B1 (ko) 데이터 통신 시스템에서 부호화 장치 및 방법
KR101995221B1 (ko) 통신 시스템에서 패킷 송수신 장치 및 방법
JP5550834B2 (ja) 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング
KR102148158B1 (ko) 통신 시스템에서 패킷 송수신 방법 및 장치
KR102163338B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
EP2842253B1 (en) Apparatus and method for transmitting a packet in a communication system
KR20150050133A (ko) 통신 시스템에서 패킷 송수신 방법 및 장치
JP6511472B2 (ja) ブロードキャスティング及び/又は通信システムにおけるパケットの生成及び復元のための方法及び装置
KR20130122552A (ko) 통신 시스템에서 패킷 송수신 방법 및 장치
KR101999105B1 (ko) 실시간 비디오 스트리밍에서 비디오 지연시간을 최소로 하면서 안정적으로 비디오 데이터를 송수신하는 방법
JP2013085293A (ja) インターネットプロトコルネットワークでのリアルタイムのオーディオ及びビデオデータの前方誤り訂正をサポートする方法
KR20130044782A (ko) 멀티미디어 시스템에서 순방향 오류 정정 부호화 방법 및 장치
KR20130039942A (ko) 패킷 데이터의 인코딩 방법 및 장치

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