KR20140027586A - 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법 - Google Patents

방송 및 통신 시스템에서 패킷 송수신 장치 및 방법 Download PDF

Info

Publication number
KR20140027586A
KR20140027586A KR1020120076132A KR20120076132A KR20140027586A KR 20140027586 A KR20140027586 A KR 20140027586A KR 1020120076132 A KR1020120076132 A KR 1020120076132A KR 20120076132 A KR20120076132 A KR 20120076132A KR 20140027586 A KR20140027586 A KR 20140027586A
Authority
KR
South Korea
Prior art keywords
source
block
packet
error correction
information
Prior art date
Application number
KR1020120076132A
Other languages
English (en)
Other versions
KR101967884B1 (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 KR1020120076132A priority Critical patent/KR101967884B1/ko
Priority to US13/937,505 priority patent/US9467250B2/en
Priority to PCT/KR2013/006136 priority patent/WO2014010938A1/en
Priority to EP13817498.2A priority patent/EP2873183B1/en
Publication of KR20140027586A publication Critical patent/KR20140027586A/ko
Application granted granted Critical
Publication of KR101967884B1 publication Critical patent/KR101967884B1/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
    • 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
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon 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/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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • 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
    • 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/0057Block 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
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] 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
    • 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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Landscapes

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

Abstract

본 발명은 방송 및 통신 시스템에서 패킷을 송수신하기 위한 방법 및 장치에 관한 것이다. 본 발명에 따른 방송 및 통신 시스템에서 패킷을 송신하기 위한 방법은, 주어진 소스 페이로드들을 포함하는 소스 블록을 구성하는 과정과, 상기 소스 블록에 포함된 소스 페이로드들을 선별하여 복수 개의 소스 부블록들을 구성하는 과정과, 상기 소스 블록에 속한 소스 페이로드들을 주어진 페이로드 크기 T와 m개의 영역으로 구분된 구조를 가지는 2차원 배열에 배치하여 정보 블록을 구성하는 과정과, 상기 정보 블록에 에러 정정 부호를 적용하여 상기 정보 블록에 연관된 패리티 블록을 구성하는 과정과, 상기 소스 부블록들 중 i번 째 소스 부블록에 속한 소스 페이로드들을 주어진 페이로드 크기 T(i)와 m(i)개의 영역으로 구분된 구조를 가지는 2차원 배열에 배치하여 i번 째 정보 부블록을 구성하는 과정과, 상기 정보 부블록에 에러 정정 부호를 적용하여 상기 정보 부블록에 연관된 패리티 블록을 구성하는 과정과, 상기 소스 블록 및 상기 패리티 블록에 포함된 페이로드에 에러 정정 헤더를 추가하여 에러 정정 소스 패킷과 에러 정정 패리티 패킷을 구성하는 과정과, 상기 에러 정정 소스 패킷과 상기 에러 정정 패리티 패킷을 포함하는 에러 정정 패킷을 전송하는 과정을 포함한다.

Description

방송 및 통신 시스템에서 패킷 송수신 장치 및 방법{APPARATUS AND METHOD FOR TRANSMITTING AND RECEIVING PACKET IN BROADCASTING AND COMMUNICATION SYSTEM}
본 발명은 방송 및 통신 시스템에 관한 것으로, 특히, 방송 및 통신 시스템에서 패킷의 송수신 장치 및 방법에 관한 것이다.
최근의 방송 및 통신 환경은 다양한 멀티미디어 컨텐츠(Contents) 증가뿐만 아니라 고품질(High Definition: HD) 컨텐츠 또는 초고품질(Ultra High Definition: UHD) 컨텐츠들과 같은 고용량 컨텐츠들의 증가로 네트워크 상에서 데이터 혼잡(Data Congestion)은 점점 더 심화되고 있다. 이러한 상황으로 인하여 송신기(Sender, 예컨대 Host A)가 보낸 컨텐츠들이 수신기(Receiver, 예컨대 Host B)에게 정상적으로 전달되지 않고, 컨텐츠의 일부가 경로(Route)상에서 손실되는 상황이 발생한다. 많은 경우에 데이터는 패킷 단위로 전송되기 때문에 데이터 손실은 패킷 단위로 발생하게 된다. 이와 같은 네트워크 상의 데이터 손실로 인해 수신기는 데이터 패킷을 수신할 수 없게 됨으로써, 상기 손실된 패킷 내의 데이터를 알 수 없다. 따라서 오디오(Audio)의 품질 저하, 비디오(Video)의 화질 열화나 화면 깨짐, 자막 누락, 파일의 손실 등과 같은 다양한 형태의 사용자의 불편이 초래될 수 있다. 이와 같이 이유로 네트워크 상에서 발생된 데이터 손실을 복구하기 위한 기술이 필요하다.
네트워크 상에서 데이터가 손실됐을 때 수신 단에서 손실된 데이터를 복구할 수 있도록 지원하는 기술 중의 하나는, 소스 패킷이라 불리는 다양한 길이를 가질 수 있는 일정 개수의 데이터 패킷들로 소스 블록을 구성하고, 순방향에러정정(Forward Error Correction: FEC) 부호화를 통해 패리티(Parity) 데이터 또는 복구 패킷(Repair packet)과 같은 복구 정보를 소스 블록에 부가하는 것이다. 수신기에서 손실된 데이터가 있을 경우, 상기 복구 정보를 이용하여 복호(decoding)를 수행할 수 있다.
이때 서로 다른 전송 신뢰도를 요구하는 복수의 컨텐츠들을 포함하는 패킷들이 상기 소스 블록에 포함될 수 있다. 이 경우에 하나의 소스 블록에 가장 높은 신뢰도(reliability)를 요구하는 패킷을 기준으로 복구 패킷의 양을 결정한다면, 낮은 신뢰도를 요구하는 패킷은 과보호되어 네트워크의 효율성을 해친다. 반대로 가장 낮은 신뢰도를 요구하는 패킷을 기준으로 복구 패킷의 양을 결정할 경우에는 높을 신뢰도를 요구하는 컨텐츠를 복원할 수 없다.
이러한 문제점을 해결하기 위하여 소스 블록을 분할하여 효율적으로 오류정정을 수행하는 방법이 필요하게 되었다.
본 발명은 방송 및 통신 시스템에서 패킷을 송수신하기 위한 방법 및 장치를 제공한다.
본 발명은 방송 및 통신 시스템에서 패킷에 포함된 데이터 손실 발생시 데이터를 효율적으로 복원하기 위한 방법 및 장치를 제공한다.
본 발명은 방송 및 통신 시스템에서 효율적으로 소스 블록을 분할하여 오류정정 능력 및 네트워크 효율성을 동시에 얻을 수 있는 방법 및 장치를 제공한다.
본 발명에 따른 방송 및 통신 시스템에서 패킷을 송신하기 위한 방법은, 주어진 소스 페이로드들을 포함하는 소스 블록을 구성하는 과정과, 상기 소스 블록에 포함된 소스 페이로드들을 선별하여 복수 개의 소스 부블록들을 구성하는 과정과, 상기 소스 블록에 속한 소스 페이로드들을 주어진 페이로드 크기 T와 m개의 영역으로 구분된 구조를 가지는 2차원 배열에 배치하여 정보 블록을 구성하는 과정과, 상기 정보 블록에 에러 정정 부호를 적용하여 상기 정보 블록에 연관된 패리티 블록을 구성하는 과정과, 상기 소스 부블록들 중 i번 째 소스 부블록에 속한 소스 페이로드들을 주어진 페이로드 크기 T(i)와 m(i)개의 영역으로 구분된 구조를 가지는 2차원 배열에 배치하여 i번 째 정보 부블록을 구성하는 과정과, 상기 정보 부블록에 에러 정정 부호를 적용하여 상기 정보 부블록에 연관된 패리티 블록을 구성하는 과정과, 상기 소스 블록 및 상기 패리티 블록에 포함된 페이로드에 에러 정정 헤더를 추가하여 에러 정정 소스 패킷과 에러 정정 패리티 패킷을 구성하는 과정과, 상기 에러 정정 소스 패킷과 상기 에러 정정 패리티 패킷을 포함하는 에러 정정 패킷을 전송하는 과정을 포함한다.
또한 본 발명에 따른 방송 및 통신 시스템에서 패킷을 수신하기 위한 방법은, 송신기로부터 에러 정정 소스 패킷 및 에러 정정 패리티 패킷이 포함된 에러 정정 패킷을 수신하는 과정과, 상기 수신된 에러 정정 패킷에 포함된 상기 에러 정정 소스 패킷으로부터 수신 소스 블록을 구성하는 과정과, 상기 수신 소스 블록으로부터 적어도 하나의 수신 소스 부블록을 복원하는 과정과, 상기 수신 소스 블록으로부터 수신 정보 블록을 복원하는 과정과, 상기 적어도 하나의 수신 소스 부블록으로부터 수신 정보 부블록을 복원하는 과정과, 상기 수신 정보 부블록을 에러 정정 복호화하여 관련 수신 소스 부블록에서 손실된 소스 페이로드를 복원하는 과정과, 상기 수신 정보 블록을 에러 정정 복호화하여 관련 수신 소스 블록에서 손실된 소스 페이로드를 복원하는 과정을 포함한다.
본 발명에 따른 방송 및 통신 시스템에서 패킷을 송신하기 위한 장치는, 주어진 소스 페이로드들을 포함하는 소스 블록을 구성하는 소스 블록 생성기와, 상기 소스 블록에 포함된 소스 페이로드들을 선별하여 복수 개의 소스 부블록들을 구성하는 소스 부블록 생성기와, 상기 소스 블록에 속한 소스 페이로드들을 주어진 페이로드 크기 T와 m개의 영역으로 구분된 구조를 가지는 2차원 배열에 배치하여 정보 블록을 구성하는 정보 블록 생성기와, 상기 정보 블록에 에러 정정 부호를 적용하여 상기 정보 블록에 연관된 패리티 블록을 구성하는 패리티 블록 생성기와, 상기 소스 부블록들 중 i번 째 소스 부블록에 속한 소스 페이로드들을 주어진 페이로드 크기 T(i)와 m(i)개의 영역으로 구분된 구조를 가지는 2차원 배열에 배치하여 i번 째 정보 부블록을 구성하는 정보 부블록 생성기와, 상기 정보 부블록에 에러 정정 부호를 적용하여 상기 정보 부블록에 연관된 패리티 블록을 구성하는 패리티 부블록 생성기와, 상기 소스 블록에 포함된 페이로드에 에러 정정 헤더를 추가하여 에러 정정 소스 패킷을 구성하는 소스 패킷 생성기와, 상기 패리티 블록에 포함된 페이로드에 에러 정정 헤더를 추가하여 에러 정정 패리티 패킷을 구성하는 패리티 패킷 생성기와, 상기 에러 정정 소스 패킷 및 상기 에러 정정 패리티을 포함하는 에러 정정 패킷을 전송하는 송신기를 포함한다.
또한 본 발명에 따른 방송 및 통신 시스템에서 패킷을 수신하기 위한 장치는, 송신기로부터 에러 정정 소스 패킷 및 에러 정정 패리티 패킷이 포함된 에러 정정 패킷을 수신하는 수신기와, 상기 수신된 에러 정정 패킷에 포함된 상기 에러 정정 소스 패킷으로부터 수신 소스 블록을 구성하는 수신 소스 블록 복원기와, 상기 수신 소스 블록으로부터 적어도 하나의 수신 소스 부블록을 복원하는 수신 소스 부블록 복원기와, 상기 수신 소스 블록으로부터 수신 정보 블록을 복원하는 수신 정보 블록 복원기와, 상기 적어도 하나의 수신 소스 부블록으로부터 수신 정보 부블록을 복원하는 수신 정보 부블록 복원기와, 상기 수신 정보 부블록을 에러 정정 복호화하여 관련 수신 소스 부블록에서 손실된 소스 페이로드를 복원하고, 상기 수신 정보 블록을 에러 정정 복호화하여 관련 수신 소스 블록에서 손실된 소스 페이로드를 복원하는 복호기를 포함한다.
도 1은 본 발명의 실시예에 따른 송신기 및 수신기의 개략적인 구조를 도시한 블록도,
도 2는 본 발명의 실시예에 따른 송신기(100)에서 FEC 부호화 블록(102)의 구성의 일 예를도시한 도면,
도 3은 본 발명의 일 실시예에 따른 소스 블록의 생성을 도시한 도면,
도 4는 본 발명의 실시예에 따른 송신기(100)에서 FEC 부호화 블록(102)의 구성의 다른 예를 도시한 도면,
도 5는 본 발명의 실시 예에 따른 송신기(100)의 FEC 부호화 블록(102)에 포함되는 소스 부블록 생성기(402)의 구성의 일 예를 도시한 도면,
도 6은 본 발명의 실시 예에 따른 송신기(100)의 FEC 부호화 블록(102)에 포함되는 소스 부블록 생성기(402)의 구성의 다른 예를 도시한 도면,
도 7은 본 발명의 실시예에 따른 수신기(110)에서 FEC 복호화 블록(113)의 구성을 도시한 도면.
이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
후술되는 본 발명의 실시예들은 네트워크를 통해 고품질(HD) 컨텐츠 또는 초고품질(UHD) 컨텐츠들과 같은 고용량 컨텐츠 뿐만 아니라, 영상 회의/통화 등과 같은 다양한 멀티미디어 서비스를 송수신 할 수 있는 휴대폰, TV, 컴퓨터, 전자 칠판, 태블릿 및 전자책 등의 모든 전자 기기에서 데이터 패킷의 손실을 효율적으로 복구하는 방법을 제안한다. 특히 데이터 패킷들에 FEC를 적용할 때 소스 블록을 소스 부블록으로 분할하고 정보 블록과 정보 부블록을 효율적으로 구성하여 복호 성능을 개선하거나 전송 효율 (transmission efficiency)을 높일 수 있는 방법을 제안한다. 본 명세서에서 구체적인 FEC 부호화 방법을 언급하고 있지는 않지만, 본 발명은 RS(Reed-Solomon) 부호, LDPC(Low Density Parity Check) 부호, 터보(Turbo) 부호, 랩터(Raptor) 부호, 랩터Q(RaptorQ) 부호, XOR (Single Parity-Check Code), Pro-MPEG(Moving Picture Experts Group) FEC 부호 등 특정 FEC 방법으로 한정되지 않음에 유의하여야 한다.
도 1은 본 발명의 실시예에 따른 송신기 및 수신기의 개략적인 구조를 도시한 블록도이다.
도 1을 참조하면, 송신기(100)는 FEC 상위 프로토콜에 해당하는 프로토콜 A (101), FEC 부호화 블록(102), FEC 하위 프로토콜에 해당하는 프로토콜 B(103) 및 송신기 블록 계층(104)을 포함한다.
상기 프로토콜 A(101)는 전송 데이터를 소스 페이로드(source payload) (130) 형태로 구성하여 FEC 부호화 블록(102)에 전달한다. 상기 FEC 부호화 블록(102)는 상기 소스 소스페이로드의 군집인 소스 블록을 구성하고 FEC 부호화를 수행하여 패리티 페이로드(131)들을 생성하며 상기 소스 페이로드와 패리티 페이로드에 FEC 헤더(132)를 추가하여 FEC 패킷을 구성하고 프로토콜 B(103)로 전달한다. 이 때 상기 FEC 헤더와 결합된 소스 페이로드를 FEC 소스 패킷이라하고, 상기 FEC 헤더와 결합된 패리티 페이로드를 FEC 패리티 패킷이라한다. 상기 FEC 패리티 패킷은 복수개의 패리티 페이로드를 포함할 수 있지만 본 발명의 효율적인 기술을 위하여 이후로는 패리티 패킷은 하나의 패리티 패이로드를 포함하는 것으로 간주한다.
송신기 물리 계층(104)은 상기 FEC 패킷을 전송에 적합한 신호로 변환하여 전송한다. 상기 프로토콜 B(103)와 송신기 물리 계층(104) 사이에는 다양한 계층이 존재할 수 있으며, 그 구체적인 구성은 본 발명의 요지와 관계없으므로 생략한다.
수신기(110)는 수신기 물리 계층(111)과 FEC 하위 프로토콜에 해당하는 프로토콜 B(112)와 FEC 복호화 블록(113)과 FEC 상위 프로토콜에 해당하는 프로토콜 A(114)를 포함한다.
상기 수신기 물리 계층(111)은 전송 채널(120)을 통하여 수신된 신호를 해석하고, 이를 프로토콜 B(112)로 전달된다. 송신기의 경우와 마찬가지로 상기 프로토콜 B(112)와 수신기 물리 계층(111) 사이에는 다양한 계층이 존재할 수 있으며, 그 구체적인 구성은 본 발명의 요지와 관계없으므로 생략한다. 프로토콜 B(112)는 수신 신호 또는 패킷을 해석하여 수신 FEC 패킷들을 FEC 복호화 블록(113)으로 전달한다. 이 때 송신기에서 송신한 FEC 패킷 중 일부는 네트워크의 혼잡 및 물리 계층에서 발생한 오류의 영향으로 손실되어 FEC 복호화 블록(113)에 전달되지 못한다. 상기 FEC 복호화 블록(113)은 전달된 FEC 패킷에 대한 FEC 복호화를 수행하여 손실된 소스 페이로드들을 복원하고 이를 수신 페이로드와 함께 상위 프로토콜 A(114)로 전달한다.
도 2는 본 발명의 실시예에 따른 송신기(100)에서 FEC 부호화 블록(102)의 구성의 일 예를도시한 도면이다.
도2를 참고하면, 상기 FEC 부호화 블록(102)은 소스 블록 생성기(201), 정보 블록 생성기(202), 패리티 블록 생성기(203), 패리티 패킷 생성기(204) 및 소스 패킷 생성기(205)를 포함한다.
상기 소스 블록 생성기(201)는 입력 소스 페이로드(221)의 군집인 소스 블록을 구성하여 정보 블록 생성기(202) 및 소스 패킷 생성기(205)로 전달한다. 이 때 상기 소스 블록에 포함된 소스 페이로드(221)들은 서로 다른 길이를 가질 수 있다. 상기 정보 블록 생성기(202)는 소스 블록에 포함된 소스 페이로드(221)들을 일정한 폭(width) T를 가지는 2차원 배열(array)로 순차적(sequentially)으로 배열(arrange)하여 정보어 블록(211)을 구성한다. 상기 배열의 각 행을 정보 페이로드(222)라 부르고 T 값을 페이로드 크기(payload size)라 부른다. 페이로드 크기는 통상적으로 바이트(byte) 또는 비트(bit) 단위로 표현된다. 상기 패리티 블록 생성기(203)은 상기 정보어 블록(221)에 FEC 부호화를 적용하여 패리티 블록(212)을 생성하여 패리티 패킷 생성기(204)로 전달한다. 상기 패리티 블록(212)은 정보 페이로드와 동일한 길이를 가지는 패리티 페이로드(224)로 구성된다. 상기 패리티 패킷 생성기(204)는 상기 패리티 블록(212)에 속한 패리티 페이로드들에 FEC 헤더(224)를 추가하여 FEC 패리티 패킷을 구성하고 이를 FEC 패리티 패킷 블록(213)의 형태로 출력한다. 상기 소스 패킷 생성기(205)는 상기 소스 블록에 포함된 소스 페이로드(221)에 FEC 헤더(224)를 추가하여 FEC 소스 패킷을 구성하고 이를 FEC 소스 패킷 블록(214)의 형태로 출력한다. 이 때 상기 FEC 소스 패킷과 FEC 패리티 패킷은 서로 상이한 형태의 FEC 헤더를 가질 수 있다.
도 3은 본 발명의 일 실시예에 따른 소스 블록의 생성을 도시한 예이다.
도 3을 참조하면, 소스 블록 생성기(201)는 심볼 크기 T를 가지는 2차원 배열을 T/m개의 열 단위로 m개의 영역으로 구분한다. 도 3은 m=4인 값을 가지는 경우의 예를 도시하였다. 만일 T가 m의 배수가 아닌 경우에 각 영역은 [T/m] + 1개의 열들로 이루어진 영역들과 [T/m]개의 열들로 이루어진 영역들로 나누어진다. 여기서 임의의 실수 A에 대해 [A]는 A 보다 작거나 같은 최대 정수를 의미한다. [T/m] + 1개의 열들로 이루어진 영역과 [T/m]개의 열들로 이루어진 영역들은 송수신기간에 정해진 약속에 의해 정의되거나 또는 각각의 영역에 대한 열의 개수를 나열하여 나타낼 수 있다. 상기 정해진 약속이라 함은, 예를 들어 T를 m으로 나눈 나머지가 n(n<m)이라 했을 때 첫 번째 n개의 영역은 [T/m]+1개의 열로 나누어 지고 나머지 m-n개의 영역은 [T/m]개의 열로 나누어지는 것과 같이 정해질 수 있다. 또한 상기한 규칙적인 영역의 구분 외에도 각 영역을 이루는 열의 개수는 송/수신기의 약속에 따라 서로 다르게 임의로 설정할 수도 있다.
필요할 경우에 플로우 ID(일 예로서 UDP(User Datagram Protocol) 플로우 ID)와 같은 패킷의 특성 정보(301)와 소스 페이로드의 길이를 나타내는 정보(302)가 소스 페이로드에 덧붙여진다. 정보(301,302)가 부가된 소스 페이로드들은 첫 번째 행(row)의 첫 번째 열부터 심볼 크기 T를 넘지 않게 순차적으로 배치된다.
이때 부가 정보가 덧붙은 임의의 소스 페이로드가 배치된 마지막 행에서 해당 소스 페이로드의 마지막 데이터가 할당되어 있는 영역 내의 나머지 부분은 항상 소정의(predetermined) 값으로 할당(혹은 설정)한다. 상기 소정의 값은 편의상 0 값으로 설정될 수 있지만 반드시 한정될 필요는 없다. 예를 들어 상기 도 3에서 첫 번째 소스 페이로드의 마지막 데이터가 4개의 영역 중에서 2번째 영역에 할당되어 있으므로 2번째 영역의 나머지 부분(305)은 0값으로 할당한다.
또한 부가 정보가 덧붙은 하나의 소스 페이로드가 배치된 이후 그 다음으로 배치할 소스 페이로드는 항상 이전 소스 페이로드가 배치된 마지막 행에서 마지막 데이터가 할당되어 있는 영역의 그 다음 영역의 시작점에서부터 배치된다. 다시 말해서 모든 소스 페이로드는 어떤 영역의 시작점에서부터 배치되어야 한다. 예를 들어 도 3에서 두 번째 소스 페이로드는 제로 패딩된(305) 데이터 다음의 3번째 영역의 시작점에서부터 배치되기 시작한다. 만일 네 번째 소스 페이로드의 제로 패딩 부분(306)과 같이 제로 패딩된 데이터가 마지막 영역에 할당되어 있을 경우, 다음 다섯 번째 소스 페이로드는 다음 행의 첫 번째 영역에서 시작한다.
주어진 소스 페이로드들에 대해 상기 과정들을 모두 마친 후 완성된 배열(212)이 정보 블록이 된다.
다른 전송 신뢰도를 요구하는 복수의 컨텐츠들을 포함하는 패킷들이 상기 소스 블록에 포함될 수 있다. 이 경우에 하나의 소스 블록에 가장 높은 신뢰도(reliability)를 요구하는 패킷을 기준으로 복구 패킷의 양을 결정한다면, 낮은 신뢰도를 요구하는 패킷은 과보호되어 네트워크의 효율성을 해친다. 반대로 가장 낮은 신뢰도를 요구하는 패킷을 기준으로 복구 패킷의 양을 결정할 경우에는 높을 신뢰도를 요구하는 컨텐츠를 복원할 수 없다.
따라서 후술되는 실시예에서는 소스 블록을 소스 부블록으로 분할하고 정보 블록과 정보 부블록을 효율적으로 구성하여 복호 성능을 개선하거나 전송 효율을 높일 수 있는 방법을 제공한다.
도 4는 본 발명의 실시예에 따른 송신기(100)에서 FEC 부호화 블록(102)의 구성의 다른 예를 도시한 도면이다.
도 4를 참조하면, 상기 FEC 부호화 블록(102)은 소스 블록 생성기(401), 소스 부블록 생성기(402), S개의 정보 부블록 생성기(403), S개의 패리티 부블록 생성기(404), 정보 블록 생성기(405), 패리티 블록 생성기(406), 패리티 패킷 생성기(407) 및 소스 패킷 생성기(408)를 포함한다.
상기 소스 블록 생성기(401)는 입력 소스 페이로드의 군집인 소스 블록(410)을 구성하여 소스 부블록 생성기(402), 정보 블록 생성기(405) 및 소스 패킷 생성기(408) 각각으로 전달한다. 상기 소스 부블록 생성기(402)는 상기 소스 블록 생성기(410)에 포함된 소스 페이로드들을 선택하여 S개의 소스 부블록(411)을 생성하고 이를 각각 S개의 정보 부블록 생성기(403)에 전달한다. 상기 정보 부블록 생성기(403) 중 i번 째 정보 부블록 생성기는 상기 소스 부블록 중에서 i번 째 소스 부블록을 입력으로하여 정보 부블록을 생성한다. 이 때 상기 정보 부블록 생성기(403)는 상기 도 2의 정보 블록 생성기(202)와 동일한 동작을 수행하며, 각각의 정보 부블록 생성기는 서로 다른 페이로드 크기 T와 영역의 개수 m을 가질 수 있다. 이후로 i번째 정보 부블록 생성기의 페이로드 크기와 영역의 개수를 각각 T(i), m(i)라 하고 i번째 정보 부블록에 포함된 정보 페이로드의 수를 K(i)라 하자. S개의 패리티 부블록 생성기(404)는 정보 부블록에 FEC 부호를 적용하여 패리티 부블록을 생성한다. 이 때 i번째 패리티 부블록 생성기에 적용된 FEC 부호를 C(i)라 하자. 상기 FEC 부호 C(i)는 상기 K(i)개의 정보 페이로드와 패리티 페이로드의 연관성을 정의한다. 상기 정보 블록 생성기(405)는 상기 소스 블록을 입력으로 하여 정보 블록을 생성하고 이를 패리티 블록 생성기(406)로 전달한다. 상기 패리티 패킷 생성기(407)는 상기 S개의 패리티 부블록과 패리티 블록에 속한 패리티 페이로드들을 사용하여 FEC 패리티 패킷을 구성하며, 상기 소스 패킷 생성기(408)는 상기 소스 블록(410)에 속한 소스 페이로드들을 사용하여 FEC 소스 패킷을 구성한다.
도 5는 본 발명의 실시 예에 따른 송신기(100)의 FEC 부호화 블록(102)에 포함되는 소스 부블록 생성기(402)의 구성의 일 예를 도시한 도면이다.
도 5을 참조하면, 소스 블록(501)은 SP0, SP1,..., SP11으로 명명된 12개의 소스 페이로드로 구성된다. 상기 소스 부블록 생성기(402)는 상기 12 개의 소스 페이로드들을 소스 부블럭1(502) = {SP0, SP1, SP2, SP3}, 소스 부블록2(503) = {SP4, SP5, SP6, SP7}, 소스 부블록3(504) = {SP8, SP9, SP10, SP11}로 분할한다. 수학적으로 표현하면, 소스 블록 SB가 S개의 소스 부블록 SSB(1), SSB(2),..., SSB(S)로 분할될 때 다음의 관계가 성립한다.
[소스 부블럭 생성 규칙 1]
1) 모든 1과 S사이의 정수 i, j에 대하여 SSB(i)와 SSB(j)의 교집합은 공집합이다.
2) SSB(1), SSB(2), ..., SSB(S)의 합집합은 SB의 부분집합이다.
도 6은 본 발명의 실시 예에 따른 송신기(100)의 FEC 부호화 블록(102)에 포함되는 소스 부블록 생성기(402)의 구성의 다른 예를 도시한 도면이다.
도 6을 참조하면, 소스 블록(601)은 SP0, SP1,..., SP11으로 명명된 12개의 소스 페이로드로 구성된다. 상기 소스 부블록 생성기(402)는 상기 12 개의 소스 페이로드들을 소스 부블럭1(602) = {SP0, SP1, SP2, SP3}, 소스 부블록2(603) = {SP0, SP1, SP2, SP3. SP4, SP5, SP6, SP7}로 분할한다. 수학적으로 표현하면, 소스 블록 SB가 S개의 소스 부블록 SSB(1), SSB(2),...,SSB(S)로 분할될 때 다음의 관계가 성립한다.
[소스 부블럭 생성 규칙 2]
1) 모든 1과 S - 1 사이의 정수에 대하여 SSB(i)와 SSB(i+1)의 교집합은 SSB(i)이다.
2) SSB(S)는 SB의 부분집합이다.
도 3과 도 4를 참조하면, 본 발명에서 제안하는 정보 블록 생성기(405)의 일 실시예는 소스 블록(410)을 입력으로 사용하여 상기 도3의 형태를 가지는 정보 블록을 구성한다. 이 때 도 4의 T, T(1),..., T(S)는 서로 다른 값을 가질 수 있다.
본 발명에서 제안하는 정보 블록 생성기(405)의 다른 실시예는 S개의 정보 부블록 생성기(403)에서 생성된 S개의 정보 부블록들을 연접한 형태의 정보 블록을 구성한다. 이 때 T = T(1) =... = T(S)의 제약조건이 존재한다.
본 발명에서 제안하는 정보 블록 생성기(405)의 페이로드 크기 T와 영역의 개수 m은 입력 소스 블록에 포함된 컨텐츠가 요구하는 신뢰도 조건과 복호기의 메모리 제약, 복호 지연시간의 제약 등에 의하여 결정된다. 마찬가지로 i 번째 정보 부블록 생성기의 T(i), m(i) 역시 입력 소스 부블록에 포함된 컨텐츠가 요구하는 신뢰도 조건과 복호기의 메모리 제약, 복호 지연시간의 제약 등에 의하여 결정된다. 컨텐츠가 높은 신뢰도를 요구할 경우에는 강력한 오류정정부호 능력을 가지는 FEC 부호의 사용이 요구된다. 통상적으로 FEC 부호의 오류정정능력은 부호어 길이가 증가함에 따라 향상된다. 주어진 소스 블록 혹은 소스 부블럭을 정보 블록으로 변환할 경우에 T의 값을 감소시키면, 정보 블록에 포함된 정보 페이로드의 개수가 증가하게 되어 보다 강력한 FEC 부호의 사용이 가능하다. 각각의 소스 부블럭은 소스 블록의 부분 집합이므로 소스 블록에 비하여 적은 양의 데이터를 가지고 있다. 따라서 T = T(1) =... = T(S)일 경우에 일반적으로 K(i), i=1,..., S,는 K보다 작은 값을 가진다.
본 발명에서 제안하는 일 실시예에서 T(i)는 다음과 같이 주어진다.
Figure pat00001
상기 <수학식 1>에서 T^a는 T의 a 거듭제곱을 의미한다.
본 발명에서 제안하는 다른 실시예에서 T(i)는 다음과 같이 주어진다.
Figure pat00002
도 7은 본 발명의 실시예에 따른 수신기(110)에서 FEC 복호화 블록(113)의 구성을 도시한 도면이다.
도 7을 참조하면, 상기 FEC 복호화 블록(113)은 수신 소스 블록 복원기(701), 수신 소스 부블록 복원기(702), S개의 정보 부블록 복원기(703), S개의 FEC 부호 C(i) 복호기(704), 수신 정보 블록 복원기(705) 및 FEC 부호 C 복호기(706)를 포함한다. 상기 수신 소스 블록 복원기(701)는 수신된 FEC 소스 패킷의 FEC 헤더를 분석하여 수신 소스 블록(710)을 복원하여 수신 소스 부블록 복원기(702)와 수신 정보 블록 복원기(705)로 전달한다. 상기 수신 소스 부블록 복원기(702)는 상기 수신 소스 블록(710)에 포함된 소스 페이로드들을 선택하여 S개의 수신 소스 부블록(711)을 생성하고 이를 각각 S개의 수신 정보 부블록 복원기(703)에 전달한다. 이 때 소스 페이로드가 속한 수신 소스 블록과 수신 소스 부블록을 찾기 위한 정보는 후술될 FEC 헤더에서 획득할 수 있다. 상기 수신 정보 부불록 복원기(703) 중 i번 째 수신 정보 부블록 복원기는 상기 수신 소스 부블록 중에서 i번 째 소스 부블록을 입력으로하여 수신 정보 부블록을 복원한다. 이 때 상기 수신 정보 부블록 복원기(703)는 상기 도 4의 정보 부블록 생성기(403)과 동일한 동작을 수행하며, 동작에 필요한 페이로드의 크기와 영역의 수는 후술될 FEC 헤더나 제어정보를 전송하는 별도의 프로토콜을 통하여 획득할 수 있다. 송신 FEC 패킷 중 일부는 네트워크의 혼잡 및 물리 계층에서 발생한 오류의 영향으로 손실되어 FEC 복호화 블록(113)에 전달되지 못한다. 따라서 상기 수신 소스 블록(710)과 수신 소스 부블록(711)은 수신기에서와 달리 일부 페이로드의 값을 알지 못하는 상태일 수 있으며. 통상적으로 수신 정보 부블록 생성시 데이터를 획득하지 못한 영역을 손실로 처리하여 상기 FEC 부호 C(i) 복호기(704)에 전달한다. 상기 FEC 부호 C(i) 복호기(704)는 i번째 수신 정보 부블록과 FEC 패리티 패킷에서 획득한 i번째 정보 부블록에 대한 패리티 페이로드를 사용하여 손실된 부분의 복원을 시도한다. 이 때 상기 FEC 패리티 패킷에 속한 패리티 페이로드와 FEC 부호와의 관계는 후술될 FEC 헤더로부터 획득할 수 있다. 상기 수신 정보 블록 복원기(706)는 수신 소스 블록(710)을 입력으로 수신 정보 블록을 복원하며, 상기 FEC 부호 C 복호기(C)는 수신 정보 블록과 FEC 패리티 패킷에서 획득한 정보 블록에 대한 패리티 페이로드를 사용하여 손실된 부분의 복원을 시도한다.
본 발명의 실시예에서 제안한 소스 블록의 분할을 이용한 FEC를 적용할 경우에 송신기(100)에서는 각각의 소스 페이로드가 어떤 소스 부블록에 포함되었는지를 나타내는 정보와, 정보 블록 및 정보 부블록 내의 구분된 영역의 개수와, 각각의 소스 페이로드들이 몇 번째 정보 페이로드의 몇 번째 영역에서 시작됐는지에 대한 정보가 수신기 측에 전달하여야 된다. 만일 상기 정보들을 수신기 측에서 획득하지 못하면 임의의 FEC 소스 패킷들이 손실 됐을 때 소스 블록 내에서 어떤 위치에 배치되었던 패킷인지 알 수가 없기 때문에 FEC 복호를 수행하기 어려워진다.
각각의 소스 페이로드가 어떤 소스 부블록에 포함되었는지를 나타내는 정보와, 심볼 크기 T와 구분된 영역의 개수 m에 대한 시그널링 정보는 각 소스 패킷에 부가되어 전송되거나 혹은 별도의 패킷을 통해 전송될 수 있다. 별도의 패킷을 통해 전송하기 위한 하나의 실시예로서, SDP(Session Description Protocol)와 같은 CDP(Content Delivery Protocol)를 사용하여 FEC 관련 정보들을 전송할 때 소스 블록과 소스 부블록의 관계를 나타내는 정보와 T, T(1),..., T(S)와 m, m(1),..., m(S)가 모두 함께 또는 그 일부가 전송될 수 있다. T가 m의 배수가 아닌 경우 미리 정해진 약속(예를 들어 상위 영역은 [T/m]+1개의 열을 가지고 하위 영역은 [T/m]개의 열을 가지도록)에 의해 수신기가 T와 m값을 보고 각 영역의 열의 개수를 알 수 있다.
다른 실시예로서, 수신기에서 수신된 소스 페이로드가 정보 블록과 정보 부블록 내에서 배치된 형태를 파악할 수 있도록 하기 위해서는 각 소스 페이로드의 배치가 시작되는 행의 위치, 즉 부호화 심볼의 순서와 해당 부호화 심볼 내에서 시작되는 영역의 위치를 나타내는 정보가 각 FEC 소스 패킷에 부가되어 전송될 수 있다.
아래 <표 1>은 본 발명의 일 실시예에 따라 FEC 패킷에 부가되는 시그널링 정보의 예를 나타낸 것이다.
....
Source Block Number (SBN)
Payload Type
If (Payload type == Source Payload) {
Encoding Symbol ID (ESI)
Payload Start Position (PSP)
Number of associated Source Sub-Blocks(N)
For i=1 to N {
Source Sub-Block Number (SSBN(i))
Encoding Symbol ID for SSBN(i) (ESI(i))
Packet Start Position for SSBN(i) (PSP(i))
}
}
If (Payload type == Parity Payload for Source Block) {
Encoding Symbol ID (ESI)
Information Block Length (IBL)
T, m
}
If (Payload type == Parity Payload for Source Sub-Block) {
Source Sub-Block Number (SSBN)
Encoding Symbol ID (ESI)
Information Sub-Block Length (ISBL)
T(SSBN), m(SSBN)
}
<표 1>을 참조하면, 소스 블록 번호(Source Block Number: SBN)는 해당 FEC 패킷이 대응되는 소스 블록을 지시한다. Payload type은 해당 패킷의 페이로드가 어떤 종류의 데이터를 포함하고 있는지를 지시한다. 페이로드의 종류는 소스 페이로드와 소스 블록에 관련된 패리티 페이로드와 소스 부블록에 관련된 패리티 페이로드가 있다.
도 1을 참조하면, 본 발명의 다른 실시예에서 페이로드 타입은 제어 정보의 형태로 하위 프로토콜 B(103)로 전달되어 프로토콜 B의 헤더에 포함되고 <표 1>에서 생략될 수 있다.
해당 패킷의 페이로드 타입이 소스 페이로드를 지칭할 경우에, 부호화 심볼 식별자(Encoding Symbol ID: ESI))는 소스 패킷이 시작되는 최초 부호화 심볼, 즉, 정보 블록 내의 행의 위치를 지시하며, 페이로드 시작 위치(Payload Start Position: PSP)는 정보 블록 내에서 소스 페이로드가 배치되기 시작된 영역을 지시한다. 예를 들어 상기 도 3에서 m=4라 할 때, 첫 번째 소스 패킷의 ESI 및 PSP의 값은 (0, 0)이 되며, 두 번째 소스 패킷의 ESI 및 PSP 값은 (1, 2)가 되며, 세 번째 소스 패킷의 ESI 및 PSP 값은 (3, 3)이 되며, 4 번째 소스 패킷의 ESI 및 PSP 값은 (6, 1) 등과 같이 나타낼 수 있다. 소스 부블록 수 N은 해당 소스 패킷이 포함된 소스 부블록의 수를 나타낸다. 1부터 N까지의 정수 i에 대하여 SSBN(i)는 해당 FEC 소스 패킷이 대응되는 소스 부블록을 지시하며, ESI(i)는 소스 패킷이 해당 정보 부블록에서 시작되는 최초 부호화 심볼, 즉, 정보 부블록 내의 행의 위치를 지시하며, PSP(i)는 정보 부블록 내에서 소스 페이로드가 배치되기 시작된 영역을 지시한다. 본 발명의 다른 실시예에서 N이 상수일 경우에는 매 패킷마다 반복하지 않고 시스템의 초기화 과정 혹은 서비스 획득 과정에서 전달되는 제어 신호에 포함되고 <표 1>에서 생략 될 수 있다.
해당 패킷의 페이로드 타입이 소스 블록에 관련된 패리티 페이로드를 지칭할 경우에 N은 항상 1이고 PSP는 항상 0이므로 생략된다. 정보 블록 내 정보 페이로드의 개수를 K개라 할 때, 통상적으로 FEC 소스 패킷의 부호화 심볼 식별자 (ESI)는 각각의 소스 심볼에 대해 순서대로 0, 1, 2,..., (K - 1)의 값이 할당되지만, FEC 패리티 패킷의 부호화 심볼 식별자 (ESI)는 시스템의 요구 사항에 따라 다양하게 할당될 수 있다. 예를 들어 패리티 패킷의 부호화 심볼 식별자 (ESI)도 상기 소스 패킷의 부호화 심볼 식별자 (ESI)처럼 각각의 복구 심볼에 대해 0, 1, 2,...와 같이 순차적으로 할당될 수 있다. 이 경우 복구 패킷의 부호화 심볼 식별자 (ESI)를 위해 필요한 옥텟 크기를 최소화 할 수 있는 장점이 있다.
다른 실시예로, 복구 심볼을 소스 심볼 뒤에 이어진 부호화 심볼로 간주하여 각각의 패리티 심볼에 대해 ESI는 K, (K + 1), (K + 2),...와 같은 순서로 할당될 수도 있다.
또 다른 실시예로서, 소스 블록이 m개의 영역으로 나뉘어져 있어 각 소스 심볼을 m개의 세분화된 심볼로 간주할 경우에 소스 블록 내에서 총 m*K개의 세분화된 심볼이 존재하기 때문에 각각의 복구 심볼에 대해 FEC 패리티 패킷의 부호화 심볼 식별자 (ESI)는 m*K, (m*K + 1), (m*K + 2),...과 같이 순차적으로 할당될 수 있다.
추가적으로 소스 블록의 총 행의 개수를 지시하는 소스 블록 길이(Source Block Length: SBL)와 T, m이 전송되어 정확한 소스 블록의 구조를 지시할 수 있다.
해당 패킷의 페이로드 타입이 소스 부블록에 관련된 패리티 페이로드를 지칭할 경우에는 소스 부블록에 대한 식별자(SSBN)이 추가되고 이후의 정보들이 해당 정보 부블록에 대한 정보라는 점을 제외하면 페이로드 타입이 소스 블록에 관련된 패리티 페이로드를 지칭할 경우와 동일하다.
상기 <표 1>]에 기술된 FEC 헤더는 본 발명의 요지를 수행하기 위한 최소한의 정보이며, 시스템의 요구사항에 따라 추가적인 정보를 부가할 수 있는 것은 명백하다. 또한, 본 발명의 실시예에서 제어 정보를 전송하기 위한 신뢰도 높은 별도의 수단이 존재할 경우에도 상기 FEC 헤더의 필드들 중에서 N, T, m, IBL, ISBL의 일부만이 상기 수단을 이용하여 전송 될 수 있으며, FEC 소스 패킷 헤더는 소스 블록 식별자(SBN)와 소스 부블록 식별자(SSBN) 및 해당 소스 블록과 소스 부블록에 대한 부호화 심볼 식별자(ESI)들을 반드시 포함하여야 하며, FEC 패리티 패킷 헤더는 블록 실별자(SBN)과 부호화 심볼 식별자(ESI)를 반드시 포함하여야 한다. 상기 FEC 패리티 패킷 중에서 페이로드 타입이 소스 부블록에 관련된 패리티 페이로드를 지칭할 경우에는 소스 부블록 식별자(SSBN)이 반드시 FEC 패킷 헤더에 포함되어야 한다.
본 발명에서 소스 페이로드는 하나 이상의 FEC 부호에 의하여 보호 되므로, 복호 과정에서 동적으로 수신 소스 블록을 업데이트하여 복호 성능 향상을 얻을 수 있다.
도 7을 참조하면, 본 발명의 일 실시예에서 수신 소스 블록 복원기(701)는 먼저 첫 번째 수신 소스 부블록만을 구성하고 FEC 부호 C(1)을 이용하여 손실된 소스 페이로드의 복원을 시도한다. 복원된 소스 페이로드가 존재할 경우에 수신 소스 블록을 갱신하고 상기 갱신된 수신 소스 블록을 이용하여 2 번째 수신 소스 부블록을 복원한다. 이후로 S 번째 수신 소스 부블록까지 같은 과정을 반복한다. 마지막으로 모든 정보 부블록을 복호한 결과를 사용하여 갱신된 수신 소스 블록을 사용하여 수신 정보 블록을 구성하고 FEC 부호 C를 이용하여 손실된 소스 페이로드의 복원을 시도한다.
본 발명의 다른 실시예로서, 각각의 소스 부블록에 대한 복호를 독립적으로 수행한 뒤에 모든 정보 부블록을 복호한 결과를 사용하여 수신 소스 블록 한 번 갱신하고 상기 갱신된 수신 소스 블록을 사용하여 정보 블록을 구성하고 FEC 부호 C를 이용하여 손실된 소스 페이로드의 복원을 시도한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (11)

  1. 방송 및 통신 시스템에서 패킷을 송신하기 위한 방법에 있어서,
    주어진 소스 페이로드들을 포함하는 소스 블록을 구성하는 과정과,
    상기 소스 블록에 포함된 소스 페이로드들을 선별하여 복수 개의 소스 부블록들을 구성하는 과정과,
    상기 소스 블록에 속한 소스 페이로드들을 주어진 페이로드 크기 T와 m개의 영역으로 구분된 구조를 가지는 2차원 배열에 배치하여 정보 블록을 구성하는 과정과,
    상기 정보 블록에 에러 정정 부호를 적용하여 상기 정보 블록에 연관된 패리티 블록을 구성하는 과정과,
    상기 소스 부블록들 중 i번 째 소스 부블록에 속한 소스 페이로드들을 주어진 페이로드 크기 T(i)와 m(i)개의 영역으로 구분된 구조를 가지는 2차원 배열에 배치하여 i번 째 정보 부블록을 구성하는 과정과,
    상기 정보 부블록에 에러 정정 부호를 적용하여 상기 정보 부블록에 연관된 패리티 블록을 구성하는 과정과,
    상기 소스 블록 및 상기 패리티 블록에 포함된 페이로드에 에러 정정 헤더를 추가하여 에러 정정 소스 패킷과 에러 정정 패리티 패킷을 구성하는 과정과,
    상기 에러 정정 소스 패킷과 상기 에러 정정 패리티 패킷을 포함하는 에러 정정 패킷을 전송하는 과정을 포함하는 것을 특징으로 하는 패킷 송신 방법.
  2. 제 1 항에 있어서, 상기 소스 부블록들은,
    임의의 쌍을 이루는 소스 부블록들에 대하여 공유하는 소스 페이로드가 없으며, 모든 소스 부블록들의 합집합은 상기 소스 블록의 부분 집합임을 특징으로 하는 패킷 송신 방법.
  3. 제 1 항에 있어서, 가장 적은 수의 소스 페이로드를 포함하는 하나의 소스 부블록을 제외한 임의의 소스 부블록은 적어도 하나의 소스 부블록을 온전히 포함하고 상기 소스 블록은 모든 소스 블록의 합집합을 포함함을 특징으로 하는 패킷 송신 방법.
  4. 제 1 항에 있어서, 상기 T(i)는 T ^ a이고, a = -1, -2, -3,... 임을 특징으로 하는 패킷 송신 방법.
  5. 제 1 항에 있어서, 상기 T(i)는 T / b이고 , b = 1, 2, 3,...임을 특징으로 하는 패킷 송신 방법.
  6. 제 1 항에 있어서, 상기 T, T(i) 및 상기 m, m(i)에 대한 정보를 SDP(Session Description Protocol)에 따른 FEC(Forward Error Correction) 객체 정보를 통해 전송하는 과정을 더 포함함을 특징으로 하는 패킷 전송 방법.
  7. 제 1 항에 있어서, 상기 에러 정정 소스 패킷은,
    상기 소스 블록을 지시하는 소스 블록 번호(Source Block Number: SBN)와, 해당 패킷이 소스 페이로드를 포함하고 있음을 지칭하는 페이로드 타입(Payload type)과, 해당 소스 패킷이 시작되는 상기 정보 블록 내의 행의 위치를 지시하는 부호화 심볼 식별자(Encoding Symbol ID: ESI)와, 상기 ESI에 해당되는 행 내에서 해당 소스 페이로드가 배치 시작된 영역을 지시하는 페이로드 시작 위치(Payload Start Position: PSP)와, 상기 소스 페이로드가 포함된 소스 부블록의 개수를 지시하는 N과, 1 부터 N까지의 정수에 대한 상기 소스 페이로드가 포함된 소스 부블록을 지시하는 부블록 번호(Source Sub-Block Number) SSBN(i)와, 해당 소스 페이로드가 시작되는 상기 정보 부블록 내의 행의 위치를 지시하는 ESI(i)와, 상기 ESI(i)에 해당되는 행 내에서 해당 소스 페이로드가 배치 시작된 영역을 지시하는 PSP(i)와 상기 정보 블록의 총 행의 개수를 지시하는 정보 블록 길이(Information Block Length: IBL)와, 상기 정보 부블록의 총 행의 개수를 지시하는 정보 부블록 길이 (Information Sub-Block Length) ISBL(i) 중 적어도 하나를 포함함을 특징으로 하는 패킷 송신 방법.
  8. 제 1 항에 있어서, 상기 에러 정정 패리티 패킷은,
    상기 소스 블록을 지시하는 소스 블록 번호(Source Block Number: SBN)와, 해당 패킷이 소스 블록 혹은 소스 부블록과 연관된 패리티 페이로드를 포함하고 있음을 지칭하는 페이로드 타입(Payload type)과, 상기 패리티 페이로드가 관련된 소스 부블록을 지시하는 부블록 번호(Source Sub-Block Number: SSBN)와, FEC 패리티 페이로드를 식별하기 위한 부호화 심볼 식별자(ESI)와, 상기 연관된 소스 블록에서 생성된 정보 블록의 총 행의 개수를 지시하는 정보 블록 길이(Information Block Length: IBL)와, 상기 연관된 소스 부블록에서 생성된 정보 부블록의 총 행의 개수를 지시하는 정보 부블록 길이 (Information Sub-Block Length) ISBL(i) 중 적어도 하나를 포함함을 특징으로 하는 패킷 송신 방법.
  9. 방송 및 통신 시스템에서 패킷을 송신하기 위한 장치에 있어서,
    주어진 소스 페이로드들을 포함하는 소스 블록을 구성하는 소스 블록 생성기와,
    상기 소스 블록에 포함된 소스 페이로드들을 선별하여 복수 개의 소스 부블록들을 구성하는 소스 부블록 생성기와,
    상기 소스 블록에 속한 소스 페이로드들을 주어진 페이로드 크기 T와 m개의 영역으로 구분된 구조를 가지는 2차원 배열에 배치하여 정보 블록을 구성하는 정보 블록 생성기와,
    상기 정보 블록에 에러 정정 부호를 적용하여 상기 정보 블록에 연관된 패리티 블록을 구성하는 패리티 블록 생성기와,
    상기 소스 부블록들 중 i번 째 소스 부블록에 속한 소스 페이로드들을 주어진 페이로드 크기 T(i)와 m(i)개의 영역으로 구분된 구조를 가지는 2차원 배열에 배치하여 i번 째 정보 부블록을 구성하는 정보 부블록 생성기와,
    상기 정보 부블록에 에러 정정 부호를 적용하여 상기 정보 부블록에 연관된 패리티 블록을 구성하는 패리티 부블록 생성기와,
    상기 소스 블록에 포함된 페이로드에 에러 정정 헤더를 추가하여 에러 정정 소스 패킷을 구성하는 소스 패킷 생성기와,
    상기 패리티 블록에 포함된 페이로드에 에러 정정 헤더를 추가하여 에러 정정 패리티 패킷을 구성하는 패리티 패킷 생성기와,
    상기 에러 정정 소스 패킷 및 상기 에러 정정 패리티을 포함하는 에러 정정 패킷을 전송하는 송신기를 포함하는 패킷 송신 장치.
  10. 방송 및 통신 시스템에서 패킷을 수신하기 위한 방법에 있어서,
    송신기로부터 에러 정정 소스 패킷 및 에러 정정 패리티 패킷이 포함된 에러 정정 패킷을 수신하는 과정과,
    상기 수신된 에러 정정 패킷에 포함된 상기 에러 정정 소스 패킷으로부터 수신 소스 블록을 구성하는 과정과,
    상기 수신 소스 블록으로부터 적어도 하나의 수신 소스 부블록을 복원하는 과정과,
    상기 수신 소스 블록으로부터 수신 정보 블록을 복원하는 과정과,
    상기 적어도 하나의 수신 소스 부블록으로부터 수신 정보 부블록을 복원하는 과정과,
    상기 수신 정보 부블록을 에러 정정 복호화하여 관련 수신 소스 부블록에서 손실된 소스 페이로드를 복원하는 과정과
    상기 수신 정보 블록을 에러 정정 복호화하여 관련 수신 소스 블록에서 손실된 소스 페이로드를 복원하는 과정을 포함함을 특징으로 하는 패킷 수신 방법.
  11. 방송 및 통신 시스템에서 패킷을 수신하기 위한 장치에 있어서,
    송신기로부터 에러 정정 소스 패킷 및 에러 정정 패리티 패킷이 포함된 에러 정정 패킷을 수신하는 수신기와,
    상기 수신된 에러 정정 패킷에 포함된 상기 에러 정정 소스 패킷으로부터 수신 소스 블록을 구성하는 수신 소스 블록 복원기와,
    상기 수신 소스 블록으로부터 적어도 하나의 수신 소스 부블록을 복원하는 수신 소스 부블록 복원기와,
    상기 수신 소스 블록으로부터 수신 정보 블록을 복원하는 수신 정보 블록 복원기와,
    상기 적어도 하나의 수신 소스 부블록으로부터 수신 정보 부블록을 복원하는 수신 정보 부블록 복원기와,
    상기 수신 정보 부블록을 에러 정정 복호화하여 관련 수신 소스 부블록에서 손실된 소스 페이로드를 복원하고, 상기 수신 정보 블록을 에러 정정 복호화하여 관련 수신 소스 블록에서 손실된 소스 페이로드를 복원하는 복호기를 포함하는 패킷 수신 장치.
KR1020120076132A 2012-07-12 2012-07-12 방송 및 통신 시스템에서 패킷 송/수신 장치 및 방법 KR101967884B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020120076132A KR101967884B1 (ko) 2012-07-12 2012-07-12 방송 및 통신 시스템에서 패킷 송/수신 장치 및 방법
US13/937,505 US9467250B2 (en) 2012-07-12 2013-07-09 Apparatus and method for transmitting/receiving packet in broadcasting and communication system
PCT/KR2013/006136 WO2014010938A1 (en) 2012-07-12 2013-07-10 Apparatus and method for transmitting/receiving packet in broadcasting and communication system
EP13817498.2A EP2873183B1 (en) 2012-07-12 2013-07-10 Apparatus and method for transmitting/receiving packet in broadcasting and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120076132A KR101967884B1 (ko) 2012-07-12 2012-07-12 방송 및 통신 시스템에서 패킷 송/수신 장치 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190039776A Division KR102014710B1 (ko) 2019-04-04 2019-04-04 방송 및 통신 시스템에서 패킷 송/수신 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20140027586A true KR20140027586A (ko) 2014-03-07
KR101967884B1 KR101967884B1 (ko) 2019-04-12

Family

ID=49915072

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120076132A KR101967884B1 (ko) 2012-07-12 2012-07-12 방송 및 통신 시스템에서 패킷 송/수신 장치 및 방법

Country Status (4)

Country Link
US (1) US9467250B2 (ko)
EP (1) EP2873183B1 (ko)
KR (1) KR101967884B1 (ko)
WO (1) WO2014010938A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI523465B (zh) * 2013-12-24 2016-02-21 財團法人工業技術研究院 檔案傳輸系統和方法
CN108810059B (zh) 2017-05-05 2024-04-16 华为技术有限公司 广播信号的发送方法、接收方法、网络设备和终端设备
WO2020047707A1 (zh) * 2018-09-03 2020-03-12 深圳花儿数据技术有限公司 分布式存储系统的数据编码、解码及修复方法
US11196562B2 (en) * 2019-06-17 2021-12-07 Hall Labs Llc Modular electronic hardware for data communication

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR20110070417A (ko) * 2009-12-18 2011-06-24 한국전자통신연구원 3차원 저장장치를 이용한 가변길이 패킷의 fec 인코딩 및 fec 디코딩 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771674B1 (en) * 1998-12-28 2004-08-03 3Com Corporation Method and system for forward error correction based on parallel streams
US7660245B1 (en) 2004-09-16 2010-02-09 Qualcomm Incorporated FEC architecture for streaming services including symbol-based operations and packet tagging
US20060077890A1 (en) 2004-10-07 2006-04-13 Nokia Corporation Efficient source blocking algorithm for FEC for MBMS streaming
US8826093B2 (en) 2005-01-19 2014-09-02 Qualcomm Incorporated Power saving method for coded transmission
US8225164B2 (en) 2006-01-05 2012-07-17 Telefonaktiebolaget Lm Ericsson (Publ) Media container file management
KR101372402B1 (ko) 2007-03-16 2014-03-10 삼성전자주식회사 디지털 방송 송/수신 장치 및 방법
US8276035B1 (en) * 2008-07-28 2012-09-25 Netmotion Wireless, Inc. High performance digital communications resiliency in a roamable virtual private network
US8839078B2 (en) 2010-03-05 2014-09-16 Samsung Electronics Co., Ltd. Application layer FEC framework for WiGig
US9167279B2 (en) * 2011-08-22 2015-10-20 Electronics & Telecommunications Research Institute Method for payload formatting and deformatting for burst loss recovery

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR20110070417A (ko) * 2009-12-18 2011-06-24 한국전자통신연구원 3차원 저장장치를 이용한 가변길이 패킷의 fec 인코딩 및 fec 디코딩 방법

Also Published As

Publication number Publication date
KR101967884B1 (ko) 2019-04-12
US20140019829A1 (en) 2014-01-16
US9467250B2 (en) 2016-10-11
EP2873183A4 (en) 2016-03-02
WO2014010938A1 (en) 2014-01-16
EP2873183A1 (en) 2015-05-20
EP2873183B1 (en) 2019-09-04

Similar Documents

Publication Publication Date Title
JP6689511B2 (ja) 順方向エラー訂正スキームを使用するパケット送受信装置及び方法
KR102133930B1 (ko) 데이터 패킷 송수신 장치 및 방법
US8233532B2 (en) Information signal, apparatus and method for encoding an information content, and apparatus and method for error correcting an information signal
US9288011B2 (en) Encoding apparatus and encoding method in data communication system
KR20070008520A (ko) 파일 다운로드 및 스트리밍 시스템
KR101983032B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
KR20130040096A (ko) 이동 통신 시스템에서 패킷 송수신 장치 및 방법
KR20140027586A (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
KR101951659B1 (ko) 방송 및 통신 시스템에서 수신 패킷들의 복호 방법 및 장치
US20120106414A1 (en) Methods and apparatus for encoding data in a communication network
JP6511472B2 (ja) ブロードキャスティング及び/又は通信システムにおけるパケットの生成及び復元のための方法及び装置
KR102127685B1 (ko) 순방향 오류 정정 패킷 송수신 장치 및 방법
KR102014710B1 (ko) 방송 및 통신 시스템에서 패킷 송/수신 장치 및 방법
JP2007274309A (ja) 送信装置
JP2009049896A (ja) 通信路符号化方法及び通信路符号化システム及び階層的通信路符号化プログラム及び階層的通信路復号プログラム

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
A107 Divisional application of patent