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

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

Info

Publication number
KR101964852B1
KR101964852B1 KR1020180155907A KR20180155907A KR101964852B1 KR 101964852 B1 KR101964852 B1 KR 101964852B1 KR 1020180155907 A KR1020180155907 A KR 1020180155907A KR 20180155907 A KR20180155907 A KR 20180155907A KR 101964852 B1 KR101964852 B1 KR 101964852B1
Authority
KR
South Korea
Prior art keywords
fec
packet
block
information
encoding
Prior art date
Application number
KR1020180155907A
Other languages
English (en)
Other versions
KR20180133823A (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 삼성전자주식회사
Publication of KR20180133823A publication Critical patent/KR20180133823A/ko
Application granted granted Critical
Publication of KR101964852B1 publication Critical patent/KR101964852B1/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/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/2906Coding, 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 using block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6547TCP, UDP, IP and associated protocols, e.g. RTP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0023Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
    • 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/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes

Abstract

본 발명은 방송 및 통신 시스템에서 패킷 송수신 방법 및 장치에 관한 것이다.
본 발명은 네트워크 상에서 발생된 데이터 손실로 인해 수신기에서 손실된 패킷 내의 데이터를 인식할 수 없는 점을 개선하기 위한 것이다. 이를 위해 본 발명은 방송 시스템의 소스 패킷 블록을 부호화하는 방법에 있어서, 입력된 소스 패킷 블록을 적어도 2개의 서브블록으로 분할하는 과정과, 상기 분할된 적어도 2개의 서브블록의 각각을 정보 페이로드를 포함하는 복수의 정보 블록으로 변환하는 과정과, 상기 복수의 정보 블록의 각각을 제1의 코드로 부호화하는 것에 의해 복수의 제1 리페어 심볼 블록을 생성하는 과정과, 상기 복수의 정보 블록을 제2 코드로 부호화하는 것에 의해 제2 리페어 심볼 블록을 생성하는 과정을 포함한다.

Description

방송 및 통신 시스템에서 패킷 송수신 장치 및 방법{APPARATUS AND METHOD FOR TRANSMITTING AND RECEIVING PACKET IN BROADCASTING AND COMMUNICATION SYSTEM}
본 발명은 방송 및 통신 시스템에 관한 것으로, 특히 패킷 송수신 장치 및 방법에 관한 것이다.
다양한 컨텐츠(Contents)의 증가와 High Definition(HD) 컨텐츠, Ultra High Definition(UHD) 컨텐츠들과 같은 고용량 컨텐츠들의 증가로 네트워크(Network) 상에서 데이터 혼잡(Data Congestion)은 점점 더 심화되고 있다. 이러한 상황으로 인하여 전송기(Sender, 예컨대, Host A)가 보낸 컨텐츠들이 수신기(Receiver, 예컨대, Host B)에게 정상적으로 전달되지 않고, 컨텐츠의 일부가 경로(Route)상에서 손실되는 상황이 발생한다. 일반적으로 데이터(Data)는 패킷(Packet) 단위로 전송되기 때문에 데이터 손실은 패킷 단위로 발생하게 된다. 따라서, 수신기는 네트워크 상에서 데이터 손실로 인해 패킷을 수신할 수 없게 됨으로써, 상기 손실된 패킷 내의 데이터를 알 수 없다. 따라서, 오디오(Audio)의 품질 저하, 비디오(Video)의 화질 열화나 화면 깨짐, 자막 누락, 파일의 손실 등과 같은 다양한 형태로 사용자의 불편을 초래하게 된다. 이와 같이 이유로 네트워크 상에서 발생된 데이터 손실을 복구하기 위한 방법이 필요하다.
본 발명은 네트워크 상에서 발생된 데이터 손실을 복구하는 방송 및 통신 시스템에서 패킷 송수신 방법 및 장치를 제공한다.
본 발명은 제 1 FEC(Forward Error Correction)와 제 2 FEC 각각에 대한 적용 여부를 표시하는 정보나 기타의 부호화 구성(Encoding Configuration) 관련 정보를 시그널링하는 방송 및 통신 시스템에서 패킷 송수신 방법 및 장치를 제공한다.
본 발명은 네트워크 상황 또는 컨텐츠의 QoS에 따라서 선택적으로 FEC를 적용하는 방송 및 통신 시스템에서 패킷 송수신 방법 및 장치를 제공한다.
본 발명은 이미 서비스가 진행 중인 상황에서 새로운 수신기에게 FEC 관련 정보를 미리 알게 하는 방송 및 통신 시스템에서 패킷 송수신 방법 및 장치를 제공한다.
본 발명의 실시 예에 따른 방법은, 방송 시스템에서 순방향 에러 정정(Forward Error Correction:FEC) 패킷을 수신하는 방법에 있어서, FEC 패킷을 수신하는 과정과, 상기 수신된 FEC 패킷을 복호화 하는 과정과, 소스 패킷 블록에 적용되는 부호화 구조를 지시하는 부호화 구조 정보를 포함하는 FEC 구성 정보를 수신하는 과정을 포함하고, 상기 FEC 패킷은, 상기 소스 패킷 블록을 적어도 2개의 서브블록으로 분할하고, 상기 분할된 적어도 2개의 서브블록 각각을 복수의 정보 블록으로 변환하고, 상기 변환된 복수의의 정보 블록 각각을 제1 오류 정정 코드로 부호화하는 것에 의해 복수의 제1의 리페어 심볼 블록을 생성하고, 상기 변환된 복수의 정보 블록 전체를 제2 오류 정정 코드로 부호화하는 것에 의해 하나의 제2의 리페어 심볼 블록을 생성함에 의해 생성되며, 상기 부호화 구조정보는, 상기 부호화 구조가, 상기 복수의 제1 리페어 심볼 블록을 생성하는 과정과, 상기 하나의 제2 리페어 심볼 블록을 생성하는 과정 모두에 적용되지 않는 것 또는 상기 복수의 제1 리페어 심볼 블록을 생성하는 과정과, 상기 하나의 제2 리페어 심볼 블록을 생성하는 과정 중 적어도 하나의 과정에 적용되는 것을 나타냄을 특징으로 한다.
본 발명의 실시 예에 따른 장치는, 방송 시스템에서 순방향 에러 정정(Forward Error Correction: FEC) 패킷을 수신하는 장치에 있어서, FEC 패킷을 수신하고, 소스 패킷 블록에 적용되는 부호화 구조를 지시하는 부호화 구조 정보를 포함하는 FEC 구성 정보를 수신하는 수신기와, 상기 수신된 FEC 패킷을 복호화 하는 복호기를 포함하며, 상기 FEC 패킷은, 상기 소스 패킷 블록을 적어도 2개의 서브블록으로 분할하고, 상기 분할된 적어도 2개의 서브블록 각각을 복수의 정보 블록으로 변환하고, 상기 변환된 복수의의 정보 블록 각각을 제1 오류 정정 코드로 부호화하는 것에 의해 복수의 제1의 리페어 심볼 블록을 생성하고, 상기 변환된 복수의 정보 블록 전체를 제2 오류 정정 코드로 부호화하는 것에 의해 하나의 제2의 리페어 심볼 블록을 생성함에 의해 생성되며, 상기 부호화 구조정보는, 상기 부호화 구조가, 상기 복수의 제1 리페어 심볼 블록을 생성하는 과정과, 상기 하나의 제2 리페어 심볼 블록을 생성하는 과정 모두에 적용되지 않는 것 또는 상기 복수의 제1 리페어 심볼 블록을 생성하는 과정과, 상기 하나의 제2 리페어 심볼 블록을 생성하는 과정 중 적어도 하나의 과정에 적용되는 것을 나타냄을 특징으로 한다.
본 발명은 제 1 FEC와 제 2 FEC 각각에 대한 적용 여부 정보를 포함하는 FEC 구성 관련 정보나 기타의 부호화 구성 관련 정보를 시그널링(Signaling)하여 수신기에게 전송함으로써 전송기는 선택적으로 FEC를 적용한 컨텐츠를 전송할 수 있다.
본 발명은 네트워크 상황이나 컨텐츠의 QoS(Quality of Service)에 따라 선택적으로 FEC를 적용할 수 있다.
본 발명은 제 1 FEC와 제 2 FEC 각각에 대한 적용 여부 정보를 포함하는 FEC 구성 관련 정보나 기타의 부호화 구성 관련 정보를 포함하는 FEC 제어 정보를 주기적으로 반복 전송하거나 또는 본 발명의 In-band signaling 방법에 의해 FEC 구성 관련 정보를 전송함으로써 이미 서비스가 진행 중인 상황에서 새로운 수신기에게도 FEC 구성 관련 정보를 알게 할 수 있어 새로이 등장한 수신기도 FEC 복호화를 수행하여 손실된 데이터를 복구함으로써 사용자에게 보다 양질의 서비스를 제공할 수 있다.
도 1은 네트워크 토폴로지(Network Topology) 및 데이터 플로우(Data Flow)를 도시한 도면;
도 2a 및 도 2b는 M=1인 경우와 M=8인 경우에 대해 본 발명의 실시 예에 따른 FEC 부호화 방법을 도식화한 도면;
도 3은 본 발명의 실시 예에 따른 Out-band signaling을 위한 FEC 제어 패킷 구조도;
도 4는 본 발명의 실시 예에 따른 In-band signaling을 위한 FEC 제어 패킷 구조도;
도 5는 본 발명의 실시 예에 따른 Out-band Signaling을 위한 시스템 구성도;
도 6은 본 발명의 실시 예에 따른 In-band Signaling을 위한 시스템 구성도;
도 7은 본 발명의 실시 예에 따른 송신 방법을 도시한 흐름도;
도 8은 본 발명의 실시 예에 따른 수신 방법을 도시한 흐름도;
도 9는 본 발명의 실시 예에 따른 MMT 시스템 구성도;
도 10은 본 발명의 실시 예에 따른 In-band signaling을 위한 FEC 제어 패킷 구조도;
도 11은 Two-State GEEC Model의 일 예를 도시한 도면;
도 12a 및 도 12b는 One Stage 대 Two Stages의 FEC Coding Structure를 도시한 도면;
도 13내지 도 18은 Random + REIN 채널상에서 Two Stage FEC coding structure와 one stage FEC coding structure에 대한 simulation 결과를 나타낸 도면;
도 19는 Random Erasure 채널상에서 Two Stage FEC coding structure와 one stage FEC coding structure에 대한 simulation 결과를 나타낸 도면;
도 20은 Random + REIN Erasure 채널상에서 Two Stage FEC coding structure와 one stage FEC coding structure에 대한 simulation 결과를 나타낸 도면;
도 21은 MMT 시스템이 적용된 AL-FEC의 Encoding/Decoding Flow에 대한 개념도;
도 22a 및 도 22b는 본 발명의 실시 예에 따른 One stage 및 two stage FEC coding structure를 나타내는 도면;
도 23은 FEC Delivery Block 과 FEC Delivery Cluster Configuration을 나타내는 도면;
도 24 내지 도 26은 Source Block을 Information Block에 매핑시키는 과정의 예를 도시한 도면;
도 27은 RS 프레임 구성을 도시한 도면;
도 28은 LDPC 프레임 구성을 도시한 도면;
도 29는 RS 패리티 심볼들을 위한 패리티 블록 매핑도;
도 30은 LDPC 패리티 심볼들을 위한 패리티 블록 매핑도;
도 31은 H matrix의 구조도; 및
도 32는 FEC 패킷 블록 및 FEC 패킷 Cluster 구성도.
하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
하기에서 설명될 FEC 부호화 방법을 설명함에 있어서, RS Code, LDPC Code, Turbo Code, Raptor Code, XOR, Pro-MPEG FEC code 등을 이용한 부호화 방법으로 한정하지는 않는다.
본 발명은 네트워크 상황이나 컨텐츠의 QoS(Quality of Service)에 따라 선택적으로 FEC를 적용할 수 있는 방안을 제공한다. 이때, 네트워크 상황이라 함은, Packet loss가 많이 발생하는지 적게 발생하는지(즉, Packet Loss Rate가 높은지 낮은지) 또는 Packet Loss가 Random하게 발생하는지 Burst 형태로 발생하는지 등을 의미한다.
파일 데이터(File data)는 전송 중 데이터의 일부가 손실되지 않아야 하지만, AV(Audio/Video) data는 전송 중 데이터의 일부 손실이 일어나도 AV data 재생은 가하다. QoS라 함은 이와 같이 파일 데이터와 AV data에서 요구되는 특성이 서로 다른 경우를 의미한다. 이로 인하여 File Data는 일반적으로 AV data보다 더 좋은 FEC 성능을 요구하게 된다.
도 1은 네트워크 토폴로지(Network Topology) 및 데이터 플로우(Data Flow)를 도시한 도면이다.
도 1의 네트워크 토폴로지를 참조하면, 전송기(호스트 A)(105)는 IP 패킷을 여러 라우터(Router)(120, 130)를 거치면서 최종 수신기(호스트 B)(110)로 전송한다. 이때 IP 패킷은 전송기(호스트 A)(105)가 송신한 순서대로 최종 수신기(호스트 B)(110)에 항상 도달하는 것은 아니다. 이로 인하여, AV 컨텐츠 스트리밍(Streaming)시 전송 순서를 나타내는 것이 필요하고, 이를 데이터 플로우에서 표현한다.
도 1의 데이터 플로우를 참조하면, Application(140)단에서 도 1의 "Data(150)"는 AV Codec단에서 압축된 데이터를 Real Time Protocol(RTP)를 사용하여 Packetize한 이후의 RTP 패킷 데이터로 간주되거나(IETF의 RFC3550, RFC3984 문서 참조) 또는 도 9에서 후술될 MMT Transport Packet 데이터와 같이 Application 단의 Transport Protocol에 의해 패킷화된 데이터를 말한다.
이하에서, 본 발명에서 사용될 용어를 정리하면 다음과 같다.
-FEC : 에러(Error) 또는 이레이져 심볼(Erasure Symbol)을 정정하기 위한 오류 정정 부호
-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) : FEC 프레임 내 information part에서 보호되지 않는 데이터 심볼(들)(Unprotected data Symbol(s) which is the information part of a FEC Frame.)
-Encoding Symbols : Source Symbol(s)을 FEC 부호화함에 의해 생성된 FEC Frame.
-Repair Symbol(s) : Source Symbol(s)로부터 FEC 부호화에 의해 생성된 FEC Frame의 parity part(즉, Encoding Symbols = Source Symbols + Repair Symbols, 단, FEC에 의한 부호화 시 Source Symbols이 그대로 유지되는 Systematic Encoding의 경우)
-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 : Payload를 포함하는 Packet을 위한 Header.
-Source Block : 하나 이상의 Source Symbols들로 구성된 Symbols의 집합.
-Repair Block : 하나 이상의 Repair Symbols들을 구성된 Symbols의 집합.
-FEC Block : FEC Frame들의 집합.
-FEC Packet : FEC Block 전송하기 위한 패킷.
-Source Packet : Source Block을 전송하기 위한 패킷.
-Repair Packet : Repair Block을 전송하기 위한 패킷.
- FEC 제어 패킷(FEC Control Packet): FEC 패킷을 제어하기 위한 패킷.
도 2a 및 도 2b는 M=1인 경우와 M=8인 경우에 대해 본 발명의 실시 예에 따른 FEC 부호화 방법을 도식화한 것이다. 특히 도 2a는 M=1인 경우의 부호화 구조를 도시한 것이고, 도 2b는 M=8인 경우의 부호화 구조를 도시한 것이다.
본 발명에 의한 네트워크 상에서 손실된 데이터를 복구하기 위한 FEC 부호화 방법과 그에 따른 In-band Signaling 방법은 도 2b를 참조하면, 소정 개수의 Symbol들을 M(1이상의 정수)개의 제 1 Source Symbol들로 분할하고, 각각의 제 1 Source Symbols들에 대해 제 1 FEC 부호화에 의해 생성되는 제 1 Repair Symbol들을 포함하는 제 1 Encoding Symbol들을 생성한다. 이후 M개의 Encoding Symbols을 제 2 Source Symbol(202)로 하여 제 2 FEC 부호화에 의해 생성되는 제 2 Repair Symbol들(201)을 포함하는 제 2 Encoding Symbol들(203)을 생성한다.
상기의 제 1 FEC와 제 2 FEC는 동일한 오류 정정 코드 또는 서로 다른 오류 정정 코드를 사용할 수 있으며 그 후보들로는 RS Code, LDPC Code, Turbo Code, Raptor Code, XOR등 특정 코드로 제약하지는 않는다.
전송기가 FEC가 적용된 컨텐츠를 수신기에게 전송할 때 수신기는 전송기가 적용한 FEC가 무엇이며, 어떤 구조인지 등과 같은 FEC 구성 관련 정보를 알아야 복호화를 수행할 경우 전송기가 적용한 FEC의 부호화 방식에 근거해서 복호화를 수행하여 손실된 데이터를 복구할 수 있다. 이로 인하여 FEC 구성 관련 정보를 전송하는 방법이 필요하고, 또한 수신된 패킷이 Source symbols을 위한 payload인지, repair symbols을 위한 payload인지 수신기가 알 수 있도록 하는 패킷 구분 방법이 필요하다.
이를 위해서, 본 발명에서는 FEC 구성 관련 정보, 제 1 FEC Encoding Configuration, 제 2 FEC Encoding Configuration를 포함한 FEC 제어 정보를 정의하고, FEC 제어 정보는 패킷 내에 포함할 수도 있고, 패킷을 제어하는 FEC 제어 패킷에 포함할 수도 있다. Out-band signaling의 경우 FEC 적용된 컨텐츠가 RTP(Real-time Transport Protocol)라는 프로토콜을 사용하여 전송되는 경우 FEC 제어 정보는 RTCP(RTP Control Protocol)라는 프로토콜을 사용하여 전송되기 때문에 Contents 전송을 위한 프로토콜과 다른 프로토콜로 전송된다. 그러나, In-band Signaling의 경우 FEC 제어 정보는 상기 FEC 적용된 Contents를 위한 RTP Packet내 저장되어 전송되기 때문에 다른 프로토콜을 사용해서 전송되지 않는다.
1.FEC 구성 관련 정보
(1) Encoding Structure
- FEC Structure : 제 1 FEC 및/또는 제 2 FEC 적용 여부
- FEC 블록 바운더리 관련 정보(이하, “FEC Block Boundary Info”라 칭함) :FEC 블록의 시작 위치 정보나 끝 위치 정보를 나타내는 것이다.
Outband signaling의 경우 FEC Block Boundary Info는 FEC 구성 관련 정보 전송 이후에 첫 번째 FEC Block의 시작 위치 정보나 끝 위치 정보(여기서 위치라 함은 네트워크 상에서의 위치를 말한다. 다시 말해서 네트워크 상에서 패킷 별로 전송 순서를 번호로 결정하였을 경우 그 번호를 의미한다.)를 말한다.
Inband signaling의 경우 FEC Block Boundary Info는 FEC Block을 전송하는 Packets의 적어도 하나의 Packet에 저장하거나 또는 Robustness를 위해 모든 Packet에 저장되는데 상세하게는 후술될 도 10과 같이, Packet Header에 전송되는 것이 바람직하다.
( 2)제 1 FEC Encoding(Encoding Symbols 1) Configuration
- FEC 타입 관련 정보(FEC Type Info) : RS(N,K) code over GF(2^n), LDPC(N,K) code over GF(2^n), Turbo(N,K) code over GF(2^n) or Raptor(N,K) code over GF(2^n) 등과 같은 FEC Code를 표시(여기서 N은 code 길이, K는 Information 길이, 2^n은 Symbols size를 말한다.)하거나 또는 XOR 방법을 표시하는데, FEC code가 무엇인지에 대한 ID 정보(예를 들어 0은 RS, 1은 LDPC, 2는 Raptor등)와 N,K에 대한 정보를 포함하여 구성되어 진다.
- 단축(Shortening) 관련 정보 : Shortening된 Symbols 개수, 단축 패턴(Shortening pattern)이 고정된 경우 Shortening pattern에 관한 정보는 생략된다.(실제 전송되는 Information의 길이가 K-s인 경우 s개의 패딩 심볼(padding symbol)을 추가한 후 부호화하게 되고, 부호화된 N 심볼 중 패딩된 s symbols은 전송할 필요가 없으므로 N-s symbol만 전송하게 된다. 이 경우 s symbols의 Shortening이 발생한 것이다. 수신기는 FEC 타입 관련 정보와 이 정보를 바탕으로 실제 전송되는 Information의 길이와 Code 내에서의 Shortening 된 위치를 알 수 있다.)
또는 실제 전송되는 Information의 길이 K-s, Shortening pattern(단축된(shortened) 심볼들의 위치 정보)에 관한 정보를 나타내는데 Shortening pattern이 고정된 경우 Shortening pattern에 관한 정보는 생략된다.
- 천공(Puncturing) 관련 정보 : Puncturing된 Symbols 개수, 천공패턴(Puncturing pattern)(천공된(Punctured) 심볼들의 위치 정보)에 관한 정보를 나타내는데 Puncturing pattern이 고정된 경우 Puncturing pattern에 관한 정보는 생략된다(encoding된 codeword의 N-K Parity 중 p symbols를 누락하여 전송하는 경우 p Symbols의 Puncturing이 발생한 것이다. 수신기는 FEC 타입 관련 정보와 이 정보를 바탕으로 실제 전송되는 Parity(Repair) Symbols의 개수와 Code 내에서의 Puncturing된 위치를 알 수 있다.)
또는 실제 전송되는 Parity의 길이 N-K-p, Puncturing pattern(punctured 심볼들의 위치 정보)에 관한 정보를 나타내는데 Puncturing pattern이 고정된 경우 Puncturing pattern에 관한 정보는 생략된다.
상기 FEC 타입 관련 정보의 code 길이, information 길이와 shortening/puncturing 관련 정보로부터 실제 전송되는 encoding symbols, source symbols, repair symbols의 개수를 각각 알 수 있다. 또한 상기의 FEC 타입 관련 정보, Shortening/Puncturing 관련 정보는 Codeword 입장에서 기술되었지만 여기에 한정하지 않고, FEC Block의 Source Block을 전송하는 Packet들의 개수 = K-s로 해석되고, Parity Block을 전송하는 Packet들의 개수 = N-K-p로 해석되는 것과 같이 본 발명의 사상에 입각한 정보로 해석되는 것이 바람직하다.
- Lifting 관련 정보 : FEC code의 확장 또는 축소된 값(Lifting이라 함은 주로 QC-LDPC의 permutation block의 크기를 조절함에 의해 code의 길이를 확장 또는 축소하는 것을 말한다. 일반적인 패리티 체크 메트릭스 행렬(Parity Check Matrix H)에서 각각의 엔트리(entry)를 치환 블록(permutation block)으로 변경하여 확장하는 것도 Lifting에 포함한다. 여기서, N개의 Encoding Symbols 1 각각에 적용된 제 1 FEC의 부호화 구성 관련 정보가 서로 다른 경우, Encoding Symbols 1 각각에 대해 상기 제 1 FEC Encoding Configuration이 필요하다.
이 경우 for (i=1; i<=N ; i++) {ith Encoding Symbols 1 configuration}과 같이 나타낼 수 있다.
( 3)제 2 FEC Encoding(Encoding Symbols) Configuration
- 제 1 FEC Encoding Configuration과 동일하다.
2. 패킷 구분 방법
- 실시간 전송 프로토콜(Real-time Transport Protocol : RTP)의 Header는 Payload Type Field와 Sequence Number Field를 포함하고 있다. Payload Type Field와 Sequence Number Field를 가지는 RTP나 또는 이와 유사한 Transport Protocol을 사용하는 경우, 상기의 Sequence Number는 각각의 FEC 패킷을 위해 1씩 증가하도록 연속적으로 그리고 순차적으로 번호를 부여한다. 이로 인하여 상기 FEC 구성 관련 정보와 수신된 패킷의 Sequence Number로부터 상기 패킷이 Source 패킷인지, Repair 1 패킷인지, Repair 2 패킷인지를 구분할 수 있을 뿐만 아니라 손실된 패킷이 어떤 패킷인지를 정확하게 알 수 있다. 또한 다른 한편으론 도 10의 FEC Packet Header(1010)의 Payload Type 정보 Field(1012)를 이용하여 FEC Packet내의 Payload가 Source Payload인지, Repair 1 패킷인지, Repair 2 패킷인지를 구분하여 나타낼 수 있다.
또한 도 10의 FEC Packet Header(1010)의 Packet Length Field(1015)를 구성하여 실제 해당 Packet이 전송하고 있는 packet data의 크기를 나타낼 수 있다. Packet Length Field(1015)를 활용하여 Packet들간 boundary를 알 수 있기 때문에 연속된 packet stream을 올바르게 수신할 수 있다. 또한 packet이 손실된 경우라 하더라도 FEC decoding에 의해 상기 손실된 packet의 Header 정보를 우선 복구하여 해당 packet의 length를 파악한 다음 해당 packet의 길이를 올바로 알 수 있다.
3.Out -band Signaling 방법
전송기와 수신기간 컨텐츠 전송에 있어서 컨텐츠 자체를 전송하기 위한 패킷들과 상기 그러한 패킷들을 제어하기 위한 제어 패킷들로 구분된다. Out-band Signaling은 FEC Block을 전송하기 위한 패킷들(이하 FEC 패킷)을 제어하기 위한 FEC 제어 패킷을 통해 상기 FEC Block에 대한 FEC 구성 관련 정보를 전달하는 것을 말한다. 전송기가 컨텐츠를 수신기에게 전송하기 전에, 상기 컨텐츠에 적용된 FEC 구성 관련 정보를 수신기가 미리 알게 하기 위해, FEC 구성 관련 정보를 전송한다. 또한 이러한 정보는 FEC 구성 관련 정보의 변경 시 전송해야 한다. 더 나아가 멀티캐스팅(Multicasting)이나 브로드캐스팅(Broadcasting)과 같은 다수의 수신기가 있는 경우 상기 FEC 구성 관련 정보를 FEC 제어 패킷을 통해 전송함으로써 모든 수신기들이 상기 컨텐츠에 적용된 FEC 구성 관련 정보를 인식하여, FEC 복호화를 수행할 수 있게 하며, 또한 Robustness를 위해 주기적으로 반복 전송한다.
본 발명의 실시 예에 따른 Out-band Signaling의 주 목적은 FEC Block의 Decoding을 위한 최소한의 정보인 제 1 FEC의 적용 여부 및/또는 제 2 FEC의 적용 여부를 FEC 제어 정보(FEC 구성 관련 정보 또는 부호화 구성 관련 정보)를 통해서 수신기가 알게 하는 것이다. 이로 인하여 전송기는 FEC 미적용, 제 1 FEC만 적용, 제 2 FEC만 적용, 제 1 & 2 FEC 둘 다 적용 등 4 가지 경우 중 한 가지를 결정하고 이를 FEC 제어 정보를 통해 수신기에게 전송한 후 상기 결정된 방식의 FEC를 적용하여 컨텐츠를 전송한다.
또한 상기 FEC 제어 정보는 FEC Block의 시작 위치나 끝 위치와 같은 Block Boundary Info를 추가로 더 포함하는 것이 바람직하다.(FEC 방법이 미리 정해진 경우 수신기는 FEC Block의 크기나 길이를 알 수 있기 때문에 시작 위치나 끝 위치와 같은 정보만으로도 충분히 전체 FEC Block Boundary Info를 알 수 있다.)
제 1 FEC가 여러 Type인 경우나 제 2 FEC가 여러 Type인 경우, 상기 FEC 제어 정보는 제 1 FEC Type Info와 제 2 FEC Type Info를 포함하는 것이 바람직하다.
또한 전송기가 효율적인 전송을 위해 Shortening이나 Puncturing 수행하여 전송하는 경우 상기, FEC 제어 정보는 Shortening 및/또는 Puncturing 관련 정보를 포함하는 것이 바람직하다.
또한 상기의 FEC 제어 정보는 주기적으로 반복 전송되는 것이 바람직하다.
도 3은 본 발명의 실시 예에 따른 Out-band signaling을 위한 FEC 제어 패킷 구조도이다.
상기 FEC 제어 패킷(300)은 도 3와 같이 부호화 구성 관련 정보를 위한 FEC 제어 페이로드(FEC Control Payload)와 이를 위한 헤더(Header)(도면에 도시하지 않음.)로 구성된다.
상기 FEC 제어 정보는 SDP(Session Description Protocol)을 이용한 전송기 보고를 수신기에게 전송할 때 포함하거나 RTP를 사용하는 경우 RTCP(RTP Control Protocol)을 사용하여 RTP 제어 정보를 전송할 때 포함할 수 있다. 또한 상기 FEC 제어 정보는 ESG(Electric Service Guide) 전송 시 포함하거나, ISO Base Media File Format을 사용할 경우 "fpar" box와 "fecr" box 내용에 포함하여 전송하는 등 전송된 컨텐츠의 종류나 Network 환경, 사용하는 전송 프로토콜 등에 따라 다양한 형태가 가능하다. 또한, 상기 FEC 제어 정보는 도 3과 같이, FEC 제어 페이로드에 포함될 수도 있지만, 이에 한정하지 않는다. 또한, 상기 FEC 제어 정보는 Out-band signaling일 경우, 부호화 구조 필드(310)에 포함된 FEC 구성 관련 정보, 제 1 FEC Encoding Configuration(320) 및 제 2 FEC Encoding Configuration(330)를 포함한다.
상기 FEC 구성 관련 정보는 제1 FEC 및/또는 제2 FEC를 적용하였는지를 나타내는 정보(310a)를 포함한다. 상기 FEC 구성 관련 정보는 FEC Structure = 00(No coding), 제 1 FEC만 적용된 경우 FEC Structure = 01, 제 2 FEC만 적용된 경우 FEC Structure = 10, 제 1 & 2 FEC 둘 다 적용된 경우 FEC Structure = 11(binary)로 나타내는데 제 1 FEC, 제 2 FEC 둘 중 하나만 적용되는 경우를 하나의 필드값으로 나타낼 수도 있다.
상기 FEC 구성 관련 정보는 FEC Block Boundary Info(310b)를 포함한다.
상기 제 1 FEC Encoding Configuration(320)는 FEC 타입 관련 정보, Lifting 관련 정보, Shortening 관련 정보, Puncturing 관련 정보를 포함한다.
상기의 Lift 관련 정보는 code의 확장 또는 축소를 가능하게 하고, Shortening/Puncturing 관련 정보는 주어진 code내에서 다양한 길이의 source symbols과 parity symbols의 대응이 가능하다.
상기 제 2 FEC Encoding Configuration(330)는 상기 제 1 FEC Encoding Configuration(320)와 구성이 동일하다.
4. In-band Signaling 방법
도 4는 본 발명의 실시 예에 따른 In-band signaling을 위한 FEC 제어 패킷 구조도이다.
FEC 패킷은 FEC 페이로드(FEC Payload)(400)와 이를 위한 헤더(Header)(410)로 구성된다. 도 4에는 Repair packet을 도시하였지만, 이에 한정하지 않는다. 즉, 도 4의 FEC 제어 패킷 구조도는 Robustness를 위해 FEC Packet에 적용 가능하다. 또한, 도 4에서는 헤더(410)에 FEC 제어 정보가 포함되도록 도시하였으나, 이에 한정하지 않는다. 다시 말해서 In-band signaling을 위한 FEC 제어 정보는 Robustness를 위해 FEC Block 전송을 위한 모든 Packet에 저장되어 전송되는 것이 가능하다. 또한 FEC Structure에 따라 필요한 정보만을 포함하여 전송효율을 향상시키는 것이 가능하다.
In-band Signaling은 Out-band Signaling이 컨텐츠 전송을 위한 패킷과는 구분되는 별도의 제어 패킷 내에 FEC 구성 관련 정보를 전송하는 것과 달리 컨텐츠 전송을 위한 패킷 내에 FEC 구성 관련 정보를 전송함으로써 반복적이고 주기적인 FEC 제어 패킷 전송에 의한 오버헤드(Overhead)를 최소화 할 수 있다. 또한 In-band Signaling은 FEC 제어 패킷 전송 주기 중간에도 수신기가 컨텐츠에 적용된 FEC 구성 관련 정보를 빨리 알 수 있는 장점이 있다.
본 발명에 의한 In-band Signaling의 주 목적은 FEC Block의 복호화를 위한 최소한의 정보인 제 1 FEC의 적용 여부 및/또는 제 2 FEC의 적용 여부를 나타내는 FEC 구성 관련 정보를 FEC 패킷 내 저장하여 전송함을 통해 수신기가 그 정보를 알게 하는 것이다. 이로 인하여 전송기는 FEC 미적용, 제 1 FEC만 적용, 제 2 FEC만 적용, 제 1 & 2 FEC 둘 다 적용 등 4가지 경우 중 한 가지를 결정하고, 결정된 방식에 따라 컨텐츠를 FEC 부호화한 이후, FEC 패킷을 전송할 때 도 4의 일 예와 같이, 상기 전송되는 FEC 패킷 내 상기 FEC 구성 관련 정보를 저장하여 전송한다.
상기 FEC 구성 관련 정보는 제1 FEC 및/또는 제2 FEC를 적용하였는지를 나타내는 정보(412a)를 포함한다. 상기 FEC 구성 관련 정보는 FEC Structure = 00(No coding), 제 1 FEC만 적용된 경우 FEC Structure = 01, 제 2 FEC만 적용된 경우 FEC Structure = 10, 제 1 & 2 FEC 둘 다 적용된 경우 FEC Structure = 11(binary)로 나타낸다. 상세하게 상기 FEC 구성 관련 정보는 FEC Block을 위한 FEC 패킷들의 적어도 하나의 패킷에 저장되어 전송된다. 보다 상세하게는 패킷 손실(Packet Loss)에 대비한 Robustness를 위해 상기 FEC 구성 관련 정보는 모든 패킷에 저장되어 전송되거나 또는 리페어 패킷(Repair Packet) 또는 소스 패킷(Source Packet)들에 저장되어 전송되는 것이 가능하다. 좀 더 상세하게는 상기 FEC 구성 관련 정보는 패킷 헤더(Packet Header)에 저장되어 전송되는 것이 가능하고 그 중에서도 리페어 패킷 헤더(Repair Packet Header)에 저장되어 전송되는 것이 가능하다. 리페어 패킷 헤더에 상기 FEC 구성 관련 정보를 저장하여 전송하는 경우 소스 패킷(Source Packet)들은 FEC 미 적용의 경우와 동일하게 기존 소스 심볼(Source Symbol)들을 전송하기 위한 패킷 형태로의 전송이 가능하여 기존 FEC 미 적용 시스템과의 호환성을 유지하는 것이 가능하다.
또한 상기 FEC 구성 관련 정보는 FEC Block의 시작 위치나 끝 위치와 같은 FEC Block Boundary Info(412b)를 추가로 더 포함하는 것이 바람직하다.(FEC 방법이 미리 정해진 경우, 수신기는 FEC Block의 크기나 길이를 알 수 있기 때문에 FEC Block의 시작 위치나 끝 위치와 같은 정보만으로도 충분히 전체 FEC Block Boundary Info를 알 수 있다.)
또한 상기 FEC 구성 관련 정보는 부호화 구조 필드(413)에 포함되고, 다음 FEC Block에 대한 FEC 구성 관련 정보가 현재 FEC block을 기준으로 변경되는지 여부를 나타내는 FEC 구성 연속 플래그(FEC Configuration Continuation Flag(412c)를 포함하는 것이 바람직하다.
또한 상기 FEC 부호화 구성 관련 정보는 FEC 부호화 구성 필드에 포함되고, 제 1 FEC가 여러 Type인 경우나 제 2 FEC가 여러 Type인 경우, 제 1 FEC Type Info와 제 2 FEC Type Info를 포함하는 FEC Type Info(413a)를 포함하는 것이 바람직하다.
또한 상기 FEC 부호화 구성 관련 정보는 주어진 FEC Type Info에 대해 Code를 확장 또는 축소하여 전송하고자 하는 경우 Lifting 관련 정보(413b)를 포함하는 것이 바람직하다.
또한 상기 FEC 부호화 구성 관련 정보는 전송기가 효율적인 전송을 위해 Shortening이나 Puncturing 수행하여 전송하는 경우 Shortening 관련 정보(413c) 및/또는 Puncturing 관련 정보(413d)를 포함하는 것이 바람직하다.
상기의 Lift 관련 정보(413b)는 code의 확장 또는 축소를 가능하게 하고, Shortening/Puncturing 관련 정보는 주어진 code 내에서 다양한 길이의 source symbols과 parity symbols의 대응이 가능하다.
도 5는 본 발명의 실시 예에 따른 Out-band Signaling을 위한 시스템 구성도를 나타낸다.
디지털 카메라(Digital Camera)를 이용하여 촬영한 Raw AV Stream(1)이 AV Codec Encoder(503)에 전송된다.
AV Code Encoder(503)는 입력되는 Raw AV Stream(1)을 Audio codec encoder와 Video codec encoder를 사용하여 압축된 AV Stream(2)을 전송 프로토콜 패킷타이저(이하 "Transport Protocol Packetizer"로 칭함)(505)로 출력한다.
Transport Protocol Packetizer(505)는 압축된 AV Stream(2)을 일정 단위(payload 단위)로 나누고 Packet Header를 부가하여 패킷화된 Stream으로 만드는데 FEC를 적용하는 경우 적용하고자 하는 부호화 구조 및/또는 부호화 구성 관련 정보에 따라 패킷 스트림(Packet Stream)을 일정 개수의 소스 패킷(Source Packet)들로 나눈다. 이후, Transport Protocol Packetizer(505)는 나누어진 Source Packet들의 Header를 제외한 Source Payload들로 구성된 Source Block(3)들을 FEC Encoder(507)에 입력한다.
FEC Encoder(507)는 부호화 구조 및/또는 부호화 구성 관련 정보에 맞게 Source Block들을 부호화하여 FEC Block(4)들을 Transport Protocol Packetizer(505)로 출력한다.
전송 프로토콜 패킷타이저(505)는 입력된 FEC Block(4)들의 각 Payload에 Packet Header를 부가하여 FEC Encoded Packet Stream(7)을 전송하는데, 도 3에서 설명한 바와 같이, FEC 제어 패킷(페이로드 또는 헤더)에 상기 out-band Signaling을 위한 FEC 구성 관련 정보를 저장한다.
상기 컨텐츠에 적용된 부호화 구조와 FEC 부호화 구성 관련 정보를 FEC 제어 Packet(5)에 저장하여 컨텐츠 전송 전에 수신기에게 우선 전송하여 전송될 컨텐츠에 적용될 FEC 구조 및/또는 FEC 부호화 구성 관련 정보를 알게 한다.
FEC 제어 패킷 내와 Repair Packet Header내 FEC 구조를 위한 2 비트를 할당하여 b0는 제 1 FEC의 적용여부, b1은 제 2 FEC의 적용여부를 나타내도록 한다. 즉 No code인 경우 FEC Structure = 00(binary), 제 1 FEC만 적용된 경우 FEC Structure = 01(binary), 제 2 FEC만 적용된 경우 FEC Structure = 10, 제 1 & 2 FEC 둘 다 적용된 경우 FEC Structure = 11(binary)로 나타낸다.
여기서, FEC Block Boundary Info는 상기 FEC 제어 패킷 전송 이 후 바로 전송되는 FEC Encoding Block의 첫 번째 payload를 위한 패킷의 Sequence Number를 지정하여 전송한다.
전송 프로토콜 디-패킷타이저(이하 "Transport Protocol De-packetizer"라 칭함)(509)는 FEC 제어 Packet(6)을 수신하여 수신될 컨텐츠의 FEC 구성 관련 정보에 근거하여 FEC 복호화 준비를 한다. 컨텐츠의 서비스 도중 합류한 수 신기는 수신된 Packet의 Repair Packet Header로부터 FEC 구성 관련 정보를 얻어 FEC 복호화를 수행한다.
Transport Protocol De-packetizer(509)는 수신된 Packet Stream으로부터 Packet들을 전송시의 순서대로 재배열한 후 Packet의 Header를 제거한 후 Payload Stream을 만든다. 이때, Transport Protocol De-packetizer(509)는 FEC가 적용된 경우 적용된 FEC 구성 관련 정보에 근거하여 수신된 FEC Encoded Packet Stream(8)으로부터 손실된 Packet의 위치 정보와 FEC Block Boundary Info를 파악한다. 또한, Transport Protocol De-packetizer(509)는 상기 손실된 Packet의 위치 정보와 FEC Block Boundary Info를 근거로 하여 각각의 FEC Block에 해당하는 손실된 payload의 위치 정보와 수신된 FEC Block(9)들을 FEC Decoder(511)에 입력한다.
또한, Transport Protocol De-packetizer(509)는 상기 패킷 구분 방법과 같이, 전송 패킷의 Header 내에 Sequence Number Field를 구성하여 패킷의 전송 순서에 맞게 연속적으로 번호를 부여하여 전송하면 수신 시 상기 Sequence Number를 참조하여 전송 Packet의 순서에 맞게 재배열할 수 있고, 손실된 Packet의 위치(번호)를 알 수 있다.
FEC Decoder(511)는 손실된 Payload의 위치 정보와 수신된 FEC Block으로부터 FEC Decoding을 통해 손실된 Payload를 복구하여 복원된 Source Block(10)들을 Transport Protocol De-packetizer(509)에 입력한다.
상기 Transport Protocol De-packetizer(509)는 입력된 Source Block들을 Stream화 하여 AV Codec Decoder(513)에 입력한다.
AV Codec Decoder(513)는 Audio codec decoder와 Video codec Decoder를 사용하여 복호화된 AV 컨텐츠를 Display(515)에 입력한다.
Display(515)는 복호화된 AV 컨텐츠를 디스플레이(display)한다.
여기서, FEC가 적용되지 않는 경우 즉 FEC Structure가 "No code"인 경우 Transport Protocol Packetizer(505)가 Source Block(3)들을 FEC Encoder(507)에 입력하는 (1) 과정, FEC Encoder(507)가 부호화 구조 및/또는 부호화 구성 관련 정보에 맞게 Source Block들을 부호화하여 FEC Block(4)들을 Transport Protocol Packetizer(505)로 출력하는 (2) 과정, 상기 (1) 과정 및 (2) 과정의 수신단에서의 역과정 은 생략된다.
상기 (5), (6)의 FEC 제어 패킷은 컨텐츠 전송 중에 주기적으로 반복 전송되는데 FEC 적용된 경우 FEC 구성 관련 정보에 포함된 FEC Block Boundary Info는 상기 FEC 제어 Packet 전송 이 후 바로 전송되는 FEC Encoding Block의 첫 번째 payload를 위한 Packet의 Sequence Number를 지정하여 전송한다.
상기 (7), (8)의 Packet Header내의 FEC Block Boundary Info는 해당 FEC Block의 첫 번째 Payload를 위한 Packet의 Sequence Number를 지정하여 전송한다.
상기의 FEC Block Boundary Info와 FEC 부호화 구성 관련 정보는 전송기와 수신기간에 서로 약속되어 있다면(예로 FEC의 FEC Type이 서로 약속되어 있고, Lifting 값과 전송되는 information symbols의 길이와 repair symbols의 길이가 고정되어 있다면) 생략되어 전송 될 수 있다.
상기의 FEC Type Info에 따른 각 code가 Parity Check Matrix을 사용하는 경우 그 Matrix은 사전에 약속되어 있으며, RS code를 사용하는 경우 그것의 Generator Polynomial은 이미 사전에 정해져 있다는 것을 전제로 한다. 예를 들어 FEC Type Info가 "LDPC(8000,6400) code over GF(2)"를 나타내고 있을 때 전송기와 수신기는 상기 code의 H matrix을 서로 공유하고 있다는 것을 전제로 하며 FEC Type Info가 "RS(255,51) code over GF(2^8)"를 나타내고 있을 때 전송기와 수신기는 상기 RS code의 Generator Polynomial g(x)를 서로 공유하고 있다는 것을 전제로 한다. 이러한 전제는 서로간의 약속 또는 규격서 등에 정의함에 의해 가능하다.
도 6은 본 발명의 실시 예에 따른 In-band Signaling을 위한 시스템 구성도를 나타낸다.
도 5의 In-band Signaling을 위한 시스템에서는 (5), (6) 과정이 생략되며 도 5의 (7) 과정~(12) 과정이 도 6의 (5)과정~(10)과정과 동일하다. 다만, 도 6의 (5) 과정, (6) 과정에서 FEC 패킷의 Packet Header에 본 발명에 의한 FEC Configuration 정보가 저장되어 전송된다.
본 발명은 Source Packet의 Payload를 FEC Protection하는 것에 기초하여 기술되었으나, 이에 한정하지 않고, Source Packet들에 대한 FEC 부호화를 수행한 후 Repair Block들에 Header를 부가하여 FEC Packet들로 구성하여 전송하는 것을 포함한다. 이 경우 Transport Packetizer는 Source Block들을 위한 Packet Header에 FEC 제어 정보를 저장한 후 Encoding을 수행하고 Repair Block을 위한 Packet들의 header에도 동일한 정보를 저장하거나 또는 필요한 정보를 저장한다.
상기 도 5 및 도 6을 통해 AV data의 경우에 대해 설명하였지만, 본 발명은 여기에 한정하지 않고 Hybrid Content Delivery와 같이 AV data와 File data가 함께 전송되는 경우도 포함하는데 이 경우 Source Block은 AV data와 File data를 포함한다.
도 7은 본 발명의 실시 예에 따른 송신 방법을 도시한 흐름도이다.
701 단계에서 송신기는 본 발명의 실시 예에 따라서 FEC 제어 정보를 생성한다. 상기 FEC 제어 정보는 본 발명의 실시 예에 따라 FEC 구성 관련 정보, 제 1 FEC 부호화 구성 관련 정보 및 제 2 FEC 부호화 구성 관련 정보를 포함한다. 그러나 이에 한정하지 않는다. Out-band Signaling의 경우는, 상기 FEC 구성 관련 정보, 제 1 FEC 부호화 구성 관련 정보 및 제 2 FEC 부호화 구성 관련 정보가 도 3과 같이, FEC 제어 패킷(300)에 포함된다. 반면에, In-band Signaling의 경우는, 상기 FEC 구성 관련 정보, 제 1 FEC 부호화 구성 관련 정보 및 제 2 FEC 부호화 구성 관련 정보가 도 4와 같이, 리페어 패킷(헤더 또는 리페어 페이로드 모두에 적용 가능)에 포함된다.
703 단계에서 송신기는 생성된 FEC 구성 관련 정보, 제 1 FEC 부호화 구성 관련 정보 및 제 2 FEC 부호화 구성 관련 정보를 포함한 패킷을 생성하고, 이를 수신기로 전송한다.
도 8은 발명의 실시 예에 따른 수신 방법을 도시한 흐름도이다.
수신기는 801 단계에서 송신기로부터 패킷을 수신하여 복조한다. 이후, 수신기는 803 단계에서 복조된 패킷(FEC 제어 Packet 또는 리페어 패킷)을 FEC 구성 관련 정보, 제 1 FEC 부호화 구성 관련 정보 및 제 2 FEC 부호화 구성 관련 정보를 획득하여 수신된 패킷 관련 정보를 인식한다. 상기 패킷 관련 정보는 각각의 FEC Block에 해당하는 손실된 payload의 위치 정보와 수신된 FEC Block 정보 등을 포함한다. 따라서 수신기는 상기 패킷 정보를 통해서 수신된 패킷이 Source symbols을 위한 packet인지, repair symbols을 위한 packet인지 패킷을 구분할 수 있다. 또한 수신기는 전송기가 적용한 FEC가 무엇이며, 어떤 구조인지 등을 알 수 있다.
본 발명에서는 전송되는 Contents(AV data, File, text 등을 포함함)에 제 1 FEC의 적용 여부와 제 2 FEC의 적용 여부를 나타내는 FEC 구성 관련 정보를 포함한다. Out-band signaling의 경우 상기 FEC 구성 관련 정보를 위한 프로토콜은 컨텐츠 전송을 위한 프로토콜과 구분되는 것이 바람직하다. FEC 적용된 Contents가 RTP(Real-time Transport Protocol)라는 프로토콜을 사용하여 전송되는 경우 FEC 제어 정보는 RTCP(RTP Control Protocol)라는 Protocol을 사용하여 전송되기 때문에 Contents 전송을 위한 Protocol과 다른 프로토콜로 전송된다. 그러나, In-band Signaling의 경우 FEC 제어 정보는 상기 FEC 적용된 Contents를 위한 RTP Packet내 저장되어 전송되기 때문에 다른 프로토콜을 사용해서 전송되지 않는다. MMT Transport Protocol을 사용해서 전송되는 경우 상기 Out-band signaling을 위한 FEC 제어 정보는 MMT Transport control protocol에 의해 전송된다.
상기 FEC 구성 관련 정보는, 컨텐츠를 일정 단위로 나누어 FEC 부호화된 FEC Block의 Block Boundary Info를 포함하는 것이 바람직하다. Out-band signaling의 경우 상기 Block Boundary Info는 FEC 구성 정보의 전송 이후 첫 FEC Block의 시작 패킷 또는 끝 패킷의 번호를 포함한다. FEC 구성 관련 정보는 FEC 타입 관련 정보, Lifting 관련 정보, Shortening 관련 정보, Puncturing 관련 정보 중 적어도 하나를 포함한다. 제 1 FEC를 위한 FEC Type Info 및 제 2 FEC를 위한 FEC Type Info 중 하나는 RS(N,K) code over GF(2^n), LDPC(N,K) code over GF(2), Turbo(N,K) code over GF(2), Raptor(N,K) code over GF(2), RaptorQ(N,K) code over GF(2^m) 중 적어도 하나를 포함하고, 이때 n,m은 1보다 큰 정수이다.
In-band signaling의 경우 상기 FEC 구성 관련 정보 FEC Protection(No code포함)된 컨텐츠의 전송을 위한 패킷 내에 저장되어 전송된다. 전송되는 컨텐츠에 제 1 FEC의 적용 여부와 제 2 FEC의 적용 여부를 나타내는 FEC 구성 관련 정보를 위한 프로토콜은 FEC 적용된 컨텐츠(No code포함)를 위한 프로토콜과는 구분되는 프로토콜을 사용하거나 동일한 프로코토콜을 사용하는 것이 가능하다. 또한 FEC 구성 관련 정보는 상기 FEC 적용된 컨텐츠를 전송하기 위한 패킷 내 전송한다.
도 9는 본 발명의 실시 예에 따른 MMT 시스템 구성도이다.
도 9의 왼쪽은 MPEG Media Transport(MMT) System Structure를 나타낸 도면이고, 오른쪽은 Delivery Function의 세부 구조를 나타내는 도면이다.
Media Coding Layer(905)는 오디오 또는/및 비디오 데이터를 압축하여 Encapsulation Function Layer(910)로 전송한다.
상기 Encapsulation Function Layer(910)는 압축된 Audio/Video data를 File Format과 유사한 형태로 패키지(Package)로 생성하여 Delivery Function(920)로 출력한다.
상기 Delivery Function(920)에서는 상기 Encapsulation Function Layer(910)의 출력을 MMT Payload Format화한 후 MMT Transport Packet Header를 부가하여 MMT Transport Packet 형태로 Transport Protocol(930)로 출력한다. 또는 상기 Delivery Function(920)는 상기 Encapsulation Function Layer(910)의 출력을 기존 RTP Protocol을 사용하여 RTP Packet 형태로 Transport Protocol(930)로 출력한다. 그 이후 Transport Protocol(930)에서는 UDP 및 TCP 중 하나의 전송 Protocol로 변환한 후 Internet Protocol(940)로 전송한다.
최종적으로 Internet Protocol(940)은 상기 Transport Protocol(930)의 출력을 IP Packet화 한다.
본 발명의 FEC Packet은 MMT Payload Format, MMT Transport Packet, RTP Packet 중 적어도 하나의 형태로 가능하다.
도 10은 본 발명의 실시 예에 따른 In-band signaling을 위한 FEC 제어 패킷 구조도이다.
Inband signaling의 경우 FEC 제어 정보는 FEC Block을 전송하는 Packets의 적어도 하나의 Packet에 저장되거나 또는 Robustness를 위해 모든 Packet에 저장된다. 이때, 도 10과 같이, Packet Header(1010)를 통해서 FEC 제어 정보가 전송되는 것이 바람직하나 이에 한정하지 않는다.
상기 FEC 제어 패킷은 도 10과 같이 부호화 구성 관련 정보를 위한 FEC 제어 페이로드(1000)와 헤더(1010)로 구성된다.
상기 Packet Header(1010)는 페이로드 타입(1012), 시퀀스 넘버(1014), 패킷 길이(1015), 부호화 구조 필드(1016), FEC 부호화 구성 필드(1018)가 포함된다.
페이로드 타입(1012)는 FEC Packet 내의 Payload가 Source Payload인지, Repair 1 패킷인지, Repair 2 패킷인지를 구분하여 나타낸다.
시퀀스 넘버(1014)는 각각의 FEC 패킷을 위해 1씩 증가하도록 연속적으로 그리고 순차적으로 부여된 번호를 나타낸다.
패킷 길이(1015)는 실제 해당 Packet이 전송하고 있는 packet data의 크기를 나타낸다. Inband signaling의 경우는 Out-band signaling과 다르게, FEC Packet Header의 Packet Length Field(1015)가 추가된다. 패킷 길이(1015)를 활용하여 Packet들간 boundary를 알 수 있기 때문에 연속된 packet stream을 올바르게 수신할 수 있다. 또한 패킷 길이(1015)를 활용하여 packet이 손실된 경우라 하더라도 FEC decoding에 의해 상기 손실된 packet의 Header 정보를 우선 복구하여 해당 packet의 length를 파악한 다음 해당 packet의 길이를 올바로 알 수 있다.
상기 부호화 구조 필드(1016)에는 제 1 FEC의 적용 여부 및/또는 제 2 FEC의 적용 여부를 나타내는 FEC 구성 관련 정보(1016a), FEC 블록 바운더리 관련 정보(1016b), FEC 구성 연속 플래그(1016c)를 포함한다.
상기 FEC 부호화 구성 필드(1018)는 FEC 타입 관련 정보(1018a), Lifting 관련 정보(1018b), Shortening 관련 정보(1018c), Puncturing 관련 정보(1018d)를 포함한다.
이하에서는 AL-FEC(Application Layer Forward Error Correction) 시그널링 방법에 대해 설명하도록 한다.
1. Loss Model
AL-FEC를 위한 channel model은 하기와 같이 두 가지 Loss Model을 가정할 수 있다.
통상적으로 network상에서의 erasure는 random 뿐만 아니라 burst도 동반하기 때문에 Random + Burst erasure channel 모델을 가정하는 것이 바람직하다 하겠다.
하나는 DVB AL-FEC Bluebook에 명기된 REIN erasure채널을 Random erasure 채널과 결합한 형태를 들 수 있다. REIN 채널은 DSL(Digital Subscriber Line) 라인상에서 8ms의 fixed time burst erasure를 유발시킬 수 있다.
1.1 Random + REIN Erasure Channel Model
- Repetitive Electric Impulse Noise(REIN) : Fixed Time Burst Erasure(8ms)
도 11은 Two-State GEEC Model의 일 예를 도시한 도면이다.
Two-state Gilbert-Elliot erasure channel model은 도 11과 같이 Good state와 Bad state를 가진다. 도 11은 Two-State GEEC Model의 일 예를 도시한 도면이다. 도 11에서 Good state(1100)는 Low Loss state를 나타내고, Bad State(1200)는 burst erasure를 유발시키는 High Loss state를 말한다.
1.2 Two-State Gilbert-Elliot Erasure Channel( GEEC ) Model
- Good State : Random Erasure Channel(Low Loss State)
- Bad State : Burst Erasure Channel(High Loss State)
2. Simulation on Two Stage FEC Coding Structure
도 12a 및 도 12b는 One Stage 대 Two Stages의 FEC Coding Structure를 도시한 도면이다.
도 12a는 One Stage의 FEC Coding Structure이고, 도 12b는 Two Stage의 FEC Coding Structure이다.
One Stage의 FEC Coding Structure는 각각의 Sub-Block에 P=P1+P2 만큼의 FEC parity를 부가한다.
반면에 Two stage의 FEC Coding Structure는 각각의 Sub-Block에는 P1 FEC Parity를 부가하고, M개의 Sub-Block 전체로 구성된 Source Block에는 P2 FEC Parity를 부가한다.
도 13내지 도 18은 Random + REIN 채널상에서 Two Stage FEC coding structure와 one stage FEC coding structure에 대한 simulation 결과를 나타낸다. 도 19는Random Erasure 채널상에서 Two Stage FEC coding structure와 one stage FEC coding structure에 대한 simulation 결과를 나타낸다. 도 20은 Random + REIN Erasure 채널상에서 Two Stage FEC coding structure와 one stage FEC coding structure에 대한 simulation 결과를 나타낸다.
상기 도 12a 및 도 12b는 AV data만 서비스 되는 경우 각각의 Sub-Block이 P1 FEC parity를 부가하였을 때 요구되는 FEC 성능을 달성한다고 했을 때, Hybrid Contents Delivery Service(예를 들어 AV streaming with File)를 위해 "One Stage"에서는 각각의 Sub-Block에 P2 FEC Parity를 더 추가한 경우와 "Two Stages"에서는 M개의 Sub-Block 전체에 M*P2 FEC Parity를 부가한 경우를 나타낸다. Hybrid Contents Delivery Service의 경우 AV data와 File Data가 함께 전송되고 또한 File Data는 AV data보다 더 좋은 FEC 성능을 요구하기 때문에 AV data만 서비스 되는 경우 보다 추가적인 FEC Parity가 요구된다.
통상적으로 Live Stream과 같은 AV data는 delay가 작을수록 좋다. 이로 인하여 AV streaming service는 low delay를 얻기 위하여 상대적으로 short block으로 FEC 보호되어 전송된다. 하지만, File data는 경우 delay는 크게 지장을 받지 않지만, data의 일부 손실을 허용하지 않기 때문에 높은 FEC 성능을 요구한다. 이로 인하여 File Data는 상대적으로 long block으로 FEC 보호되어 전송된다.
이는 FEC 특성상 동일 Parity 부가율인 경우 long block이 short block보다 더 좋은 FEC 성능을 보이기 때문이다.
상기와 같이 AV data만 서비스 되거나 File data만 서비스 되는 것과는 달리 digital mash-up 서비스와 같은 Hybrid Contents Delivery Service가 발달되고 있다. 이로 인하여 동일 stream내에 AV data와 File data를 같이 전송해야 한다. 앞서 설명한 바와 같이 AV data와 File data가 요구되는 QoS(Quality of Service)가 달라 두 개의 서로 다른 QoS를 효과적으로 만족시킬 수 있는 방법이 필요하다. 즉, AV data를 위해서는 Low delay를 달성하고 File Data에 대해서는 보다 높은 FEC 성능이 요구되는 FEC coding structure가 필요하다. 이에 본 발명에서는 Short Block으로 AV data를 보호하고 Long Block으로 File data를 보호하는 Two Stage FEC coding structure를 제안한다.
Hybrid Contents Delivery Service 예를 들어 AV streaming과 File Delivery를 동일 stream내에서 전송하는 경우 상기 도면과 같이 각각의 AV data 중간 중간 File data가 함께 전송된다. 통상적을 AV data를 위해 P1 만큼의 FEC Parity가 필요하다고 하면 File Data는 AV Data보다 더 높은 FEC 성능을 요구하므로 AV data와 File data를 동시에 streaming하는 경우 File data의 요구 성능에 맞추어 P=P1+P2 만큼의 FEC Parity를 요구하게 된다. 통상적으로 동일한 FEC Parity 비율인 경우 긴 코드를 사용하여 복구하는 것이 더 좋은 FEC 성능을 얻을 수 있다. 이로 인하여 P2 parity를 상기 도면 2와 같이 Sub-Block에 추가적으로 할당하여 정정하는 경우 File Data의 성능은 P2 Parity를 부가한 만큼 좋아지게 되겠지만, AV data의 경우 이미 P1 Parity로 요구되는 FEC 성능을 만족하고 있으므로 P2 parity에 의해 개선되는 FEC 성능은 큰 의미를 부여하기 힘들다. 또한 Burst Erasure가 발생하는 채널 환경에서는 유효하지 않기 때문에 보다 효과적인 방법이 요구된다. 통상적으로 Burst Erasure를 정정하기 위한 방법으로는 아주 긴 코드를 사용하든지 아니면 interleaving을 통해 Burst Erasure를 Random Erasure로 전환하면 decoding 성능을 올릴 수 있다. 하지만 상기와 같이 interleaving이나 긴 코드를 사용하여 Burst Erasure를 정정하고자 하는 경우 AV data의 delay는 그 만큼 커질 수 밖에 없다. 이로 인하여 Burst Erasure가 발생하는 환경에서 Hybrid Contents Delivery Service(예를 들어 AV streaming with File)를 하고자 하는 경우 효율적인 방법이 요구된다. 즉, AV data를 위해서는 Delay가 작을수록 좋으므로 Low Delay를 위한 Short Block으로 구성하여 요구되는 FEC 성능을 만족하고, File Data를 위해서는 Delay보다는 FEC 성능이 더 요구되므로 Long Block으로 구성하여 FEC 성능을 최대한 향상시키는 방법이 필요하다.
그러므로 One stage를 위해 각각의 Sub-Block에 P=P1+P2 만큼의 FEC parity를 부가한 경우와 Two stage를 위해 각각의 Sub-Block에는 P1 FEC Parity를 부가하고, M개의 Sub-Block 전체로 구성된 Source Block에는 P2 FEC Parity를 부가하여 상기 Random + REIN 채널 또는 Random Erasure 채널 또는 Random + REIN Erasure 채널 환경에서의 simulation을 진행한 결과가 도 13 내지 20과 같다. 이렇게 함으로써 AV data는 Sub-Block을 위한 P1 FEC Parity로 복구하여 Low Delay를 달성하고, File Data는 P1 FEC Parity로 복구 실패 시 M*P2 FEC Parity를 이용하여 복구할 수 있으므로 더 좋은 FEC 성능을 얻을 수 있다.
다음은 Simulation Parameters을 정리한 것이다.
2.1 Simulation Parameters
- Data Rate : 8Mbps
- Payload Size : 1000 bytes
- Code: Ideal Code
- Overall overhead: 20% (P = P1 + P2)
.One Stage P: 20%
.Two Stage P1-P2: 15%-5%
- Sub-Block Length (K): 200, 400
- Number of Sub-Blocks(M) : 32 for K = 200 and 16 for K = 400
- Block Duration : 200ms for Sub-Block Length 200 and 400ms for Sub-Block Length 400
- Random Erasure : Packet Erasure Rate (PER) = 0 ~ 20%
- Burst Erasure : REIN (8ms) with Packet Erasure Rate (PER) = 0.0001, 0.001, 0.01
상기에서 Sub-Block Length라 함은 Sub-Block을 구성하는 payload의 개수를 말한다. Payload의 크기를 1000 bytes로 했을 때 Sub-Block Length 200은 8Mbps Data Rate이 요구되는 서비스 상에서 약 200ms의 FEC Block Duration을 가진다. 그리고 Sub-Block Length 400은 400ms의 FEC Block Duration을 가진다. 이러한 상황으로부터 REIN(8ms) burst erasure가 한번 발생했을 때 상기 FEC Block상에서 몇 개의 Payload가 Erasure 되는지 환산할 수 있고 이와 같은 방식으로 Simulation을 진행한 것이다.
도 13 내지 도 15는 K=200의 경우 Two Stage의 효과를 설명하기 위한 도면이다.
도 13은 burst가 P1=15%(P2=0) 할당했을 때 One Stage의 FEC decoding 후 FEC 1 Block(Sub-Block 200 + P1 15% Parity Block)의 Frame Error Rate를 나타낸다. Burst Erasure가 없는 경우 Random Erasure 4.4% 정도에서 10^(-7) 정도의 FER 성능을 보이지만 Burst Length가 8 packet인 Burst Erasure가 10^(-4), 10^(-3), 10^(-2) PER로 추가됨에 따라 Random Erasure 환경에서 P1=15% 정도로 잘 동작하나 Burst Erasure의 발생으로 급격한 성능 열화가 일어난다는 것을 알 수 있다. 도 14는 P2=5%를 추가했을 때 즉, P = P1+P2(20%)을 One stage에 부가했을 때의 FER 성능을 보인다. 도 14에 나타낸 바와 같이 Burst Erasure 10^(-4)을 제외한 10^(-3), 10^(-2) Burst에 의한 PER가 추가될 경우 성능 열화가 일어난다는 것을 알 수 있다. 이는 Burst Erasure가 발생하는 채널 환경에서는 One Stage로 목표 성능을 달성하는데 무리가 있음을 나타낸다. 상기에서 통상적으로 AV data를 위한 FER 성능을 10^(-7)을 잡았다. 이 경우 File Data는 더 낮은 FER 성능이 요구된다. 이는 AV data의 경우 일정 정도의 Packet Loss가 허용되지만, File data의 경우는 Packet Loss시 File 자체가 무용지물이기 때문이다. 그러므로 Burst Erasure가 발생하는 경우 One Stage에서는 File data의 손실을 막기 힘들다.
도 15는 Two Stage를 위해 각각의 Sub-Block에는 P1 = 15%의 Overhead를 부가하고 32개의 Sub-Block 즉, Source Block에는 P2= 5%의 Overhead를 부가한 경우의 FEC 1 Block에 대한 FER 성능을 나타낸다. 도 15에서 나타낸 바와 같이 Burst Erasure 10^(-4), 10^(-3), 10^(-2) 모든 영역에서 좋은 성능을 보임을 알 수 있다.
*이러한 결과로부터 P1=15% 정도를 각각의 Sub-Block에 할당하여 Sub-Block Duration만큼의 Delay(본 발명의 경우 200ms)로 AV data를 재생하여 사용자에게 제공하고 상대적으로 Delay가 크게 문제시 되지 않는 File Data의 재생은 FEC 1 Block decoding 실패 시 FEC 2 Block에 의해 decoding을 수행함에 의해 제공하는 것이 바람직하다. 이렇게 함으로써 Burst Erasure가 발생하는 환경에서도 AV data의 재생 뿐만 아니라 File Data의 재생을 보장할 수 있다. 통상적으로 Burst Erasure는 예측 불가능하게 발생하고 또한 그렇게 자주 발생하는 것이 아니기 때문에 Packet Loss를 허용하는 AV data에는 치명적이지 않다. 하지만, File data는 Packet Loss를 허용하지 않기 때문에 드물게 발생하는 Burst Erasure라 하더라도 한번 발생하여 File data를 재생할 수 없으면 사용자에게 불편을 초래하거나 시스템 효율을 떨어뜨린다. 반면, AV data의 경우 Delay에 민감하기 때문에 Sub-Block과 같이 작은 Delay를 유발하는 방향으로 설계되는 것이 바람직하다. 예를 들어 Source Block 전체에 대해 One Stage로 FEC 부호화하는 경우 FER 성능은 상기의 Two stage보다 좋을 수도 있다. 그러나 One Stage로 FEC 부호화하는 경우는 AV data의 delay가 200ms x 32 = 6.4초에 달에 과도한 Delay를 유발하므로 특히 Live Stream의 경우 바람직하지 않다.
도 16 및 도 18은 K=400의 경우로, K=200의 경우와 동일한 경향을 보인다. 즉, 도 18과 같은 Two stage의 FEC Coding Structure가 도 16 및 도 17과 같은 One stage의 FEC Coding Structure에 비해 Burst Erasure가 발생하는 환경에서는 FER 성능이 우수하다.
도 19는 Random Erasure Channel상에서 One Stage와 Two Stages의 성능을 비교한 것이다.
- P1/K=15% : AV data만 서비스 되는 경우의 FEC 성능(도 12의 첫 번째 구조) 및 Hybrid Contents Delivery Service의 경우 AV data의 FEC 성능(도 12의 세 번째 구조)
- One Stage_P/K=20% : Hybrid Contents Delivery Service의 경우 AV data와 File data의 FEC 성능(도 12의 두 번째 구조)
- Two Stage_P1/K=15%, P2/K=5% : Hybrid Contents Delivery Service의 경우 File data의 FEC 성능(도 12의 세 번째 구조)
상기 도 20은 Random + REIN Erasure Channel상에서 One Stage와 Two Stages의 성능을 비교한 것이다. REIN Erasure Channel에 의한 Burst Length = 8 Packet인 경우이다.
- P1/K=15%, P_burst=10^-2 : REIN Erasure Channel에 의한 Packet Loss Rate(PLR) = 10^-2인 경우에 있어서, AV data만 서비스 되는 경우의 FEC 성능(도 12의 첫 번째 구조) 및 Hybrid Contents Delivery Service의 경우 AV data의 FEC 성능(도 12의 세 번째 구조)
- P1/K=15%, P_burst=10^-3 : REIN Erasure Channel에 의한 PLR = 10^-3인 경우에 있어서, AV data만 서비스 되는 경우의 FEC 성능(도 12의 첫 번째 구조) 및 Hybrid Contents Delivery Service의 경우 AV data의 FEC 성능(도 12의 세 번째 구조)
- P1/K=15%, P_burst=10^-4 : REIN Erasure Channel에 의한 PLR = 10^-3인 경우에 있어서, AV data만 서비스 되는 경우의 FEC 성능(도 12의 첫 번째 구조) 및 Hybrid Contents Delivery Service의 경우 AV data의 FEC 성능(도 12의 세 번째 구조)
- One Stage_P/K=20%,P_burst=10^-2 : REIN Erasure Channel에 의한 PLR = 10^-2인 경우에 있어서, Hybrid Contents Delivery Service의 경우 AV data와 File data의 FEC 성능 도 12의 두 번째 구조)
- One Stage_P/K=20%,P_burst=10^-3 : REIN Erasure Channel에 의한 PLR = 10^-3인 경우에 있어서, Hybrid Contents Delivery Service의 경우 AV data와 File data의 FEC 성능 도 12의 두 번째 구조)
- One Stage_P/K=20%,P_burst=10^-4 : REIN Erasure Channel에 의한 PLR = 10^-4인 경우에 있어서, Hybrid Contents Delivery Service의 경우 AV data와 File data의 FEC 성능 도 12의 두 번째 구조)
- Two Stage_P1/K=15%, P2/K=5%, P_burst=10^-2 : REIN Erasure Channel에 의한 PLR = 10^-2인 경우에 있어서, Hybrid Contents Delivery Service의 경우 File data의 FEC 성능(도 12의 세 번째 구조)
- Two Stage_P1/K=15%, P2/K=5%, P_burst=10^-3 : REIN Erasure Channel에 의한 PLR = 10^-3인 경우에 있어서, Hybrid Contents Delivery Service의 경우 File data의 FEC 성능(도 12의 세 번째 구조)
- Two Stage_P1/K=15%, P2/K=5%, P_burst=10^-4 : REIN Erasure Channel에 의한 PLR = 10^-4인 경우에 있어서, Hybrid Contents Delivery Service의 경우 File data의 FEC 성능(도 12의 세 번째 구조)
상기 도 19에 나타낸 바와 같이, Random Erasure Channel상에서 Two Stages 상에서 AV data의 성능은 요구되는 FEC 성능을 만족하면서 One Stage보다 File Data의 FEC 성능이 훨씬 좋은 것을 알 수 있다. FEC 복구 후 성능 Frame Error Rate(FER) 10^-7을 기준으로 볼 때 Two Stages상에서 File Data의 성능이 One Stage상에서보다 Random Erasure에 의한 PLR 2%이상 FEC gain을 있다는 것을 알 수 있다.
Random Erasure Channel
“Two Stages”Gain compared to “One Stage” Over than 2%
상기 도 20에 나타낸 바와 같이 Random + REIN Erasure Channel상에서 Two Stages가 burst erasure를 훨씬 잘 다루고 있다는 것을 볼 수 있다. 이 역시 FER 10^-7을 기준으로 볼 때 Two Stages가 One Stage보다 Random Erasure에 의한 PLR 3%이상의 FEC gain이 있다는 것을 볼 수 있다.
Random + Burst Erasure Channel
PLR 10^-2 PLR 10^-3 PLR 10^-4
“Two Stages”Gain compared to “One Stage” Over than 7% Over than 5% Over than 3%
도 21은 본 발명의 실시 예에 따른 MMT 시스템이 적용된 AL-FEC의 Encoding/Decoding Flow에 대한 개념도이다.
MMT 시스템은 도 21을 참조하면, MMT D.1 Layer(1900), MMT E.1 Layer(1930), MMT D.2 Layer/IETF Application Protocol Layer(1920)로 구성된다.
여기서 MMT D.1 Layer(1900)는 Payload Format Generator(1901), AL-FEC module Convertor(1903), 및 FEC Encoder/Decoder(1905)를 포함한다.
encoding시 MMT D.1 Layer(1900)는 MMT E.1 Layer(1930)로부터 MMT Package(AV data, File, txt등을 storage에 저장하거나 또는 전송을 고려한 목적으로 만들어진 format)를 입력 받아 Payload Format Generator(1901)에 의해 전송을 위한 일정 단위(Source Payload)로 나누어 Source Block을 구성한다. AL-FEC module Convertor(1903)는 Source Block을 동일 길이를 가지는 Information Payload들로 구성된 2차원 array인 Information Block으로 전환한다. FEC Encoder(1905)는 Information Block으로부터 주어진 FEC code에 의해 FEC encoding을 수행하여 Parity Block을 생성하여 Payload Format Generator(1901)에게 전송한다. Payload Format Generator(1901)는 Source Block에 상기 Parity Block을 추가하고 각각의 Payload에 Payload Header(PLH)을 부가하여 Packetizing한 MMT Payload Format을 MMT D.2 Layer/IETF Application Protocol Layer(1920)에 전송한다. 그리고 UDP와 같은 Transport Protocol에 의해 UDP Header를 부가하고 다시 IP Header를 부가하여 전송되게 된다.
- 다음은 Two Stage FEC Coding Structure가 RS code와 LDPC(or Raptor/RaptorQ) code와 같은 FEC code들이 사용될 때의 실시 예를 기술한다.
소정 개수의 Source Payload들로 구성되는 Source Block은 전송 도중 손실을 복구하기 위해 Two Stage FEC coding scheme에 의해 4가지 경우로 보호된다.
- Case 0 : No coding structure
- Case 1 : FEC 1 coding structure (one stage FEC coding structure)
- Case 2 : FEC 2 coding structure (one stage FEC coding structure)
- Case 3 : FEC 1 and FEC 2 coding structure (two stages FEC coding structure)
FEC 1 code and FEC 2 code를 위해 RS code와 LDPC (or Raptor/RaptorQ)가 사용된다.
Case 0을 위해 FEC 1 and FEC 2 encoding은 skip되며, One stage FEC coding structure인 경우 M은 1로 설정되고, Case 1을 위해 FEC 1 encoding이 skip되고 Case 2를 위해 FEC 2 encoding이 skip된다.
Two stage FEC coding structure를 위해 Source Block은 M개의 Sub-Block으로 구성되고 각각의 Sub-Block은 FEC 1 code에 의해 encoding되고 Source Block은 FEC 2 code에 의해 encoding된다.
하기 <표 3>은 Two stages FEC coding structure를 위한 RS와 LDPC의 가능한 조합을 나타낸다. 여기서 LDPC는 Raptor나 RaptorQ로 대체 가능하다.
FEC 1 code FEC 2 code Allowance
RS RS Allowed
RS LDPC Allowed
LDPC LDPC Allowed
LDPC RS Not allowed
그러므로 One stage FEC coding structure를 포함하는 Two stages FEC coding scheme으로 가능한 FEC coding structure는 다음과 같이 6가지 경우가 가능하다. (LDPC는 Raptor 또는 RaptorQ와 대체 가능)
- No coding
- RS coding (One stage)
- LDPC coding (One stage)
- RS - RS coding (Two stages)
- RS - LDPC coding (Two stages)
- LDPC - LDPC coding (Two stages)
상기에서 주목할 것은 Case 1은 상대적으로 작은 개수의 Source Payload로 구성된 Source Block을 위해서 이고 Case 2는 상대적으로 큰 개수의 Source Payload로 구성된 Source Block을 위한 것이다. 만약 Source/Sub Block을 위한 Source Payload들의 개수와 FEC code에 의해 부가될 Parity Payload의 개수가 255 보다 작거나 같다면 RS code가 사용되고 그렇지 않은 경우 LDPC가 사용된다. 단순하게 Source/Sub Block을 위한 Source Payload 개수를 200이하, 400, 800, 1600, 3200, 6400으로 분류화해서 대응하는 경우 200이하는 RS code로 encoding하고 400이상은 LDPC code (or Raptor/RaptorQ)가 사용된다.
도 22a 및 도 22b는 본 발명의 실시 예에 따른 One stage 및 two stage FEC coding structure를 나타내는 도면이다.
도 22a는 One Stage의 FEC Coding Structure이고, 도 22b는 Two Stage의 FEC Coding Structure이다.
One Stage의 FEC Coding Structure는 하나의 Sub-Block에 P1 만큼의 FEC parity를 부가한다.
반면에 Two stage의 FEC Coding Structure는 각각의 Sub-Block에는 P1 FEC Parity를 부가하고, M개의 Sub-Block 전체로 구성된 Source Block에는 P2 FEC Parity를 부가한다.
도 23은 FEC Delivery Block 과 FEC Delivery Cluster Configuration을 나타내는 도면이다.
상기 도 23의 Source Block의 Source Payload들은 그 길이가 모두 동일할 수도 있고, 도 23에서 도시한 바와 같이 서로 다를 수 있다. 서로 다른 경우 각각의 Source Payload에 Padding data를 추가하여 동일 길이를 가지는 2차원 array(Information Block)를 도 24와 같이 생성한다. 도 24는 Source Block을 Information Block에 매핑시키는 과정을 도시한 도면이다.
Information Block으로부터 K가 200이하인 경우 Source Block을 Information Block에 매핑시킴으로써, 도 25와 같이 RS coding을 위한 Information Symbols을 생성할 수도 있고, 도 26과 같이 LDPC coding을 위한 Information Symbols을 생성할 수도 있다.
각각의 Information Symbols을 하기 도 27 및 도 28과 같이 RS와 LDPC encoding을 수행하여 Parity Symbols을 생성한다. 도 28의 경우 Shortening 및 Puncturing을 도시하지는 않았지만, 정해진 길이를 가지는 LDPC code 이용하여 다양한 K와 P에 대해 도 27의 경우와 유사하게 Shortening 및 Puncturing을 수행하여 Parity Symbols을 생성할 수 있다. 이 때, Shortening만을 수행할 수도 있고, Puncturing만을 수행할 수 있음은 물론이다.
생성된 Parity Symbols들로부터 도 29, 도 30과 같이 RS Parity Block과 LDPC Parity Block을 생성한다.
다음은 RS code와 LDPC code specification을 나타낸다.
RS (N,K) code over the finite field GF(2^8)의 Primitive polynomial
p(x) = x^8 + x^4 + x^3 + x^2 + 1로 정의된다.
GF(2^8)에서의 symbols은 (α^7, α^6, α^5, α^4, α^3, α^2, α, 1)로 나타낼 수 있다.
여기서 α = 00000010 (2진수) 이다.
각각의 RS codeword(rsc)는 vector로 표현 시 rsc = (e0, e1,..., e199, p200,..., p239)로 나타내는 information이 200bytes이고, parity가 40bytes인 RS (240,40) code over the finite field GF(2^8)이다.
LDPC (K+P, K) code over the finite field GF(2)는 K개의 information bits와 P개의 parity bits로 구성되는 QC-LDPC 구조이다. 여기서 K = L x 400 and P = L x 80, L = 1,2,4,8 or 16 이다.
특히 상기 LDPC의 Parity Part는 도 29와 같이 approximately triangular matrix 형태를 가진다. 도 29는 H matrix의 구조를 나타낸다.
도 31에서 K = 400 and P = L x 80 (L = 1, 2, 4, 8 or 16)이다.
다음은 FEC Packet Block을 나타낸다.
Source/Sub Block과 Parity Block으로 구성된 FEC Delivery Block/Cluster의 각 Payload 선두에 FEC Packet Header(Payload Header(PLH))가 도 32와 같이 부여 되어 FEC Packet으로 구성된 FEC Packet Block/Cluster로 전송된다.
다음은 FEC configuration 정보를 저장하여 전송하는 FEC Packet Header Format에 대해 설명한다.
특히 송신기에 의해 AL-FEC 적용된 coding structure가 무엇인지를 나타낸다.
즉, FEC Packet Header Format은 fec_structure field를 포함하는데 그 정의는 다음과 같다.
fec_structure : FEC Block(or Parity Block)을 생성하기 위해 선택된 coding structure를 나타낸다.
fec_structure의 첫 번째 경우는 다음과 같다.
b000 : No coding structure
b001 : RS coding structure
b010 : LDPC coding structure
b011 : RS - RS two stages coding structure
b100 : RS - LDPC two stages coding structure
b101 : LDPC - LDPC two stages coding structure
Others : reserved
fec_structure의 두 번째 경우는 다음과 같다.
b000 : No coding structure
b001 : RS coding structure
b010 : LDPC coding structure
b101 : RS - RS two stages coding structure
b110 : LDPC - LDPC two stages coding structure
b111 : RS - LDPC two stages coding structure
Others : reserved
두 번째 경우는 b2=1이면 Two stages coding structure가 적용되어 있다는 것을 나타내고, b1=1이면 LDPC code가, b0=1이면 RS code가 적용되어 있다는 것을 나타낸다. 상기에서 LDPC는 Raptor 또는 RaptorQ로 대체 가능하다.
상기의 fec_structure에 대한 signal은 FEC Packet Header에 저장되어 in-band signal로 전송될 수도 있고, FEC Control Packet이나 또는 RTCP와 같은 RTP Control Packet의 Header나 Payload에 저장되어 전송되어 수신기가 알 수 있게 하는 것이 가능하다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐 아니라 이 특허청구의 범위와 균등한 것들에 의해서 정해져야 한다.

Claims (4)

  1. 방송 시스템에서 순방향 에러 정정(Forward Error Correction:FEC) 패킷을 수신하는 방법에 있어서,
    FEC 패킷을 수신하는 과정과,
    상기 수신된 FEC 패킷을 복호화 하는 과정과,
    소스 패킷 블록에 적용되는 부호화 구조를 지시하는 부호화 구조 정보를 포함하는 FEC 구성 정보를 수신하는 과정을 포함하고,
    상기 FEC 패킷은,
    상기 소스 패킷 블록을 적어도 2개의 서브블록으로 분할하고, 상기 분할된 적어도 2개의 서브블록 각각을 복수의 정보 블록으로 변환하고, 상기 변환된 복수의 정보 블록 각각을 제1 오류 정정 코드로 부호화하는 것에 의해 복수의 제1의 리페어 심볼 블록을 생성하고, 상기 변환된 복수의 정보 블록 전체를 제2 오류 정정 코드로 부호화하는 것에 의해 하나의 제2의 리페어 심볼 블록을 생성함에 의해 생성되며,
    상기 부호화 구조정보는, 상기 부호화 구조가,
    상기 복수의 제1 리페어 심볼 블록을 생성하는 과정과, 상기 하나의 제2 리페어 심볼 블록을 생성하는 과정 모두에 적용되지 않는 것
    또는
    상기 복수의 제1 리페어 심볼 블록을 생성하는 과정과, 상기 하나의 제2 리페어 심볼 블록을 생성하는 과정 중 적어도 하나의 과정에 적용되는 것을 나타냄을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 FEC 구성 정보는 FEC 코드를 특정하는 정보를 더 포함하는 것을 특징으로 하는 방법.
  3. 방송 시스템에서 순방향 에러 정정(Forward Error Correction: FEC) 패킷을 수신하는 장치에 있어서,
    FEC 패킷을 수신하고, 소스 패킷 블록에 적용되는 부호화 구조를 지시하는 부호화 구조 정보를 포함하는 FEC 구성 정보를 수신하는 수신기와, 상기 수신된 FEC 패킷을 복호화 하는 복호기를 포함하며,
    상기 FEC 패킷은,
    상기 소스 패킷 블록을 적어도 2개의 서브블록으로 분할하고, 상기 분할된 적어도 2개의 서브블록 각각을 복수의 정보 블록으로 변환하고, 상기 변환된 복수의 정보 블록 각각을 제1 오류 정정 코드로 부호화하는 것에 의해 복수의 제1의 리페어 심볼 블록을 생성하고, 상기 변환된 복수의 정보 블록 전체를 제2 오류 정정 코드로 부호화하는 것에 의해 하나의 제2의 리페어 심볼 블록을 생성함에 의해 생성되며,
    상기 부호화 구조정보는, 상기 부호화 구조가,
    상기 복수의 제1 리페어 심볼 블록을 생성하는 과정과, 상기 하나의 제2 리페어 심볼 블록을 생성하는 과정 모두에 적용되지 않는 것
    또는
    상기 복수의 제1 리페어 심볼 블록을 생성하는 과정과, 상기 하나의 제2 리페어 심볼 블록을 생성하는 과정 중 적어도 하나의 과정에 적용되는 것을 나타냄을 특징으로 하는 장치.
  4. 제3항에 있어서,
    상기 FEC 구성 정보는 FEC 코드를 특정하는 정보를 더 포함하는 것을 특징으로 하는 장치.
KR1020180155907A 2011-06-11 2018-12-06 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법 KR101964852B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20110056562 2011-06-11
KR1020110056562 2011-06-11
KR20110071187 2011-07-18
KR1020110071187 2011-07-18
KR1020110104889 2011-10-13
KR1020110104889A KR20120137198A (ko) 2011-06-11 2011-10-13 통신 시스템에서 패킷 송수신 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020110114186A Division KR101928413B1 (ko) 2011-06-11 2011-11-03 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20180133823A KR20180133823A (ko) 2018-12-17
KR101964852B1 true KR101964852B1 (ko) 2019-08-13

Family

ID=47904427

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020110104889A KR20120137198A (ko) 2011-06-11 2011-10-13 통신 시스템에서 패킷 송수신 장치 및 방법
KR1020110114186A KR101928413B1 (ko) 2011-06-11 2011-11-03 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
KR1020180155907A KR101964852B1 (ko) 2011-06-11 2018-12-06 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020110104889A KR20120137198A (ko) 2011-06-11 2011-10-13 통신 시스템에서 패킷 송수신 장치 및 방법
KR1020110114186A KR101928413B1 (ko) 2011-06-11 2011-11-03 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법

Country Status (8)

Country Link
US (2) US9191032B2 (ko)
EP (1) EP2719105B1 (ko)
JP (2) JP6430248B2 (ko)
KR (3) KR20120137198A (ko)
CN (1) CN103718489B (ko)
AU (1) AU2012270387B2 (ko)
RU (1) RU2611975C2 (ko)
WO (1) WO2012173359A2 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9397772B2 (en) * 2009-12-03 2016-07-19 Thomson Licensing Reliable diversity architecture for a mobile DTV system
KR20120005371A (ko) * 2010-07-08 2012-01-16 한국전자통신연구원 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치
US9319721B2 (en) 2011-10-13 2016-04-19 Electronics And Telecommunications Research Institute Method of configuring and transmitting an MMT transport packet
KR102027916B1 (ko) 2012-02-27 2019-10-02 삼성전자주식회사 순방향 오류정정스킴을 사용하는 패킷 송수신 장치 및 방법
US9042304B2 (en) * 2012-06-05 2015-05-26 Vmware, Inc. Controlling a paravirtualized wireless interface from a guest virtual machine
US9294227B2 (en) * 2013-01-29 2016-03-22 Qualcomm Incorporated LT staircase FEC code
KR102127685B1 (ko) * 2013-04-17 2020-06-29 삼성전자주식회사 순방향 오류 정정 패킷 송수신 장치 및 방법
KR102148158B1 (ko) 2013-04-23 2020-08-28 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
KR102093731B1 (ko) * 2013-10-22 2020-03-26 삼성전자주식회사 오류 정정 부호를 사용하는 통신 시스템에서 패킷 송수신 기법
KR20150050133A (ko) * 2013-10-31 2015-05-08 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
JP5728069B1 (ja) * 2013-12-11 2015-06-03 日本電信電話株式会社 前方誤り訂正情報生成装置、前方誤り訂正装置、前方誤り訂正情報生成方法、前方誤り訂正方法、前方誤り訂正情報生成プログラム、および前方誤り訂正プログラム
US9729903B2 (en) 2013-12-31 2017-08-08 Samsung Electronics Co., Ltd. Data transmitting device and method
US9461931B1 (en) * 2014-03-03 2016-10-04 Sonus Networks, Inc. Methods and apparatus for preventing head of line blocking for RTP over TCP
KR102208814B1 (ko) 2014-03-28 2021-01-28 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
CN106105076B (zh) * 2014-03-28 2019-08-09 三星电子株式会社 在广播和/或通信系统中生成并恢复分组的方法和设备
JP5725235B1 (ja) * 2014-04-22 2015-05-27 ソニー株式会社 受信装置及び受信方法、並びに、送信装置及び送信方法
KR20150145584A (ko) * 2014-06-20 2015-12-30 삼성전자주식회사 방송 및 통신 시스템에서 패킷 송수신 방법 및 장치
WO2016085983A1 (en) * 2014-11-26 2016-06-02 Intel Corporation Technologies for resolving forward error correction (fec) mode on a 25g ethernet link
JP6482269B2 (ja) * 2014-12-24 2019-03-13 日本放送協会 送信装置、受信装置、デジタル放送システム及びチップ
CA2974341C (en) 2015-01-19 2022-08-23 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving multimedia content
CN104579576B (zh) * 2015-01-27 2018-02-09 清华大学 编码调制方法及系统
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
JP6650260B2 (ja) * 2015-12-21 2020-02-19 日本放送協会 送信装置、受信装置、送受信システム、プログラム、およびチップ
CN108702245B (zh) * 2016-02-19 2021-01-15 联发科技股份有限公司 Mpeg媒体传送的自适应应用层前向纠错的方法和系统
US11043966B2 (en) 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10454499B2 (en) 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US9917675B2 (en) 2016-06-01 2018-03-13 Qualcomm Incorporated Enhanced polar code constructions by strategic placement of CRC bits
US10313057B2 (en) 2016-06-01 2019-06-04 Qualcomm Incorporated Error detection in wireless communications using sectional redundancy check information
US10469104B2 (en) 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
SG11201810437XA (en) 2016-07-27 2019-02-27 Qualcomm Inc Design of hybrid automatic repeat request (harq) feedback bits for polar codes
EP3590281A4 (en) * 2017-03-03 2021-07-28 SOCPRA - Sciences et Génie s.e.c. GENERALIZED POLAR CODES
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
BR112020000140A2 (pt) 2017-07-07 2020-08-04 Qualcomm Incorporated técnicas de comunicação aplicando seleção de gráfico base de código de verificação de paridade de baixa densidade
KR102506507B1 (ko) * 2018-01-19 2023-03-07 삼성전자주식회사 통신 시스템에서 신호를 송/수신하는 장치 및 방법
CN108512555B (zh) * 2018-03-13 2021-09-24 中国工程物理研究院电子工程研究所 一种系统rs码阶数及本原多项式的识别方法
DE102018213065A1 (de) * 2018-08-03 2020-02-06 Siemens Mobility GmbH Fehlerkorrekturverfahren für unidirektionalen Datentransfer
KR102072309B1 (ko) * 2018-10-12 2020-01-31 피앤피넷 주식회사 Hd 라디오 수신기에서의 물리층 블록의 블록 카운트 보정 방법
CN109150410B (zh) * 2018-10-30 2021-09-24 京信网络系统股份有限公司 数据传输方法和装置
RU196572U1 (ru) * 2018-12-26 2020-03-05 Российская Федерация, от имени которой выступает Федеральное государственное казенное учреждение "Войсковая часть 68240" Функциональный прототип на программируемой логической интегральной схеме цифровой сверхбольшой интегральной схемы для радиосистем
EP4160953A4 (en) * 2020-05-25 2023-11-22 Sony Group Corporation INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING SYSTEM AND COMMUNICATION METHOD
CN116266777A (zh) * 2021-12-16 2023-06-20 华为技术有限公司 数据传输的方法、装置和通信系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060077890A1 (en) 2004-10-07 2006-04-13 Nokia Corporation Efficient source blocking algorithm for FEC for MBMS streaming

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03254240A (ja) * 1990-03-02 1991-11-13 Nippon Telegr & Teleph Corp <Ntt> セル送受信装置
RU2121235C1 (ru) * 1994-06-15 1998-10-27 Рка Томсон Лайсенсинг Корпорейшн Устройство для форматирования пакетированного цифрового потока данных, используемого для передачи телевизионной информации
JP2000078197A (ja) * 1998-09-03 2000-03-14 Toshiba Corp 通信ノード及びパケット転送方法
US7151754B1 (en) * 2000-09-22 2006-12-19 Lucent Technologies Inc. Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding
US7389463B2 (en) * 2001-05-29 2008-06-17 Thomson Licensing Hierarchical block coding for a packet-based communications system
KR100535888B1 (ko) * 2002-11-19 2005-12-09 주식회사 휴림인터랙티브 2차원 순방향 에러 정정방법 및 이를 이용한 데이터통신방법
FR2861517B1 (fr) 2003-10-23 2006-01-27 Thomson Licensing Sa Methode de reconstruction de paquets perdus et appareils implementant la methode
WO2005069526A1 (en) * 2004-01-05 2005-07-28 Matsushita Electric Industrial Co., Ltd. Method and apparatus for recovering data in a received convolutional-encoded data stream
AR047414A1 (es) * 2004-01-13 2006-01-18 Interdigital Tech Corp Un metodo y un aparato ofdm para proteger y autenticar informacion digital transmitida inalambricamente
US7418644B2 (en) * 2004-03-01 2008-08-26 Hewlett-Packard Development Company, L.P. System for error correction coding and decoding
US7484705B2 (en) 2004-07-02 2009-02-03 Steelcase Inc. Lighting adapter for partition frames
IL163092A (en) * 2004-07-19 2010-11-30 Veraz Networks Ltd Processing of packets forwarded in communication networks
DE102004036383B4 (de) * 2004-07-27 2006-06-14 Siemens Ag Codier-und Decodierverfahren , sowie Codier- und Decodiervorrichtungen
US7590922B2 (en) 2004-07-30 2009-09-15 Nokia Corporation Point-to-point repair request mechanism for point-to-multipoint transmission systems
CN100362782C (zh) * 2004-08-24 2008-01-16 华为技术有限公司 对丢失数据单元进行恢复的方法
US7447978B2 (en) * 2004-11-16 2008-11-04 Nokia Corporation Buffering packets of a media stream
KR20060072574A (ko) * 2004-12-23 2006-06-28 엘지전자 주식회사 디지털 멀티미디어 방송 송신기와 수신기
KR101080970B1 (ko) * 2004-12-27 2011-11-09 엘지전자 주식회사 광대역 무선접속 시스템에 적용되는 디코드 정보 전송 방법
KR100735276B1 (ko) * 2005-08-18 2007-07-03 삼성전자주식회사 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치
US7971129B2 (en) * 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
CN101047470A (zh) * 2006-05-17 2007-10-03 华为技术有限公司 无源光网络中前向纠错功能的配置方法
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
CA2674719A1 (en) * 2007-01-24 2008-07-31 Qualcomm Incorporated Ldpc encoding and decoding of packets of variable sizes
KR101372402B1 (ko) * 2007-03-16 2014-03-10 삼성전자주식회사 디지털 방송 송/수신 장치 및 방법
CA2625025C (en) * 2007-03-20 2015-06-23 Kabushiki Kaisha Toshiba Ip broadcast system, and multiplexer, receiving apparatus and method used in ip broadcast system
KR20090004723A (ko) * 2007-07-04 2009-01-12 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
EP2058968A1 (en) * 2007-11-07 2009-05-13 Thomson Licensing Method and apparatus for FEC encoding and decoding
US8230316B2 (en) * 2008-01-25 2012-07-24 Nevion Usa, Inc. Forward error correction for burst and random packet loss for real-time multi-media communication
JP5847577B2 (ja) * 2008-05-07 2016-01-27 デジタル ファウンテン, インコーポレイテッド より低いレベルのパケット構造から導かれる記号識別子を用いた放送チャネル上の高品質ストリーム保護
JP5135121B2 (ja) * 2008-08-22 2013-01-30 株式会社東芝 データ受信装置、データ受信方法、及びデータ受信プログラム
US8279990B2 (en) * 2009-02-02 2012-10-02 Lg Electronics Inc. Transmitting/receiving system and method of processing data in the transmitting/receiving system
US8521033B2 (en) * 2009-06-10 2013-08-27 Alcatel Lucent System and method for energy-efficient operation of optical network units based on scheduled payload reception
US8762873B2 (en) 2009-10-26 2014-06-24 Hewlett-Packard Development Company, L.P. Graphical user interface component identification

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060077890A1 (en) 2004-10-07 2006-04-13 Nokia Corporation Efficient source blocking algorithm for FEC for MBMS streaming

Also Published As

Publication number Publication date
JP2017163602A (ja) 2017-09-14
US20120317461A1 (en) 2012-12-13
EP2719105A2 (en) 2014-04-16
US20160072528A1 (en) 2016-03-10
RU2611975C2 (ru) 2017-03-01
KR20180133823A (ko) 2018-12-17
WO2012173359A2 (en) 2012-12-20
EP2719105A4 (en) 2015-01-28
CN103718489B (zh) 2018-05-08
US9191032B2 (en) 2015-11-17
AU2012270387B2 (en) 2016-11-17
WO2012173359A3 (en) 2013-03-28
KR101928413B1 (ko) 2018-12-19
AU2012270387A1 (en) 2013-12-12
EP2719105B1 (en) 2017-12-13
KR20120137203A (ko) 2012-12-20
KR20120137198A (ko) 2012-12-20
JP6553119B2 (ja) 2019-07-31
JP2014519787A (ja) 2014-08-14
CN103718489A (zh) 2014-04-09
RU2014100886A (ru) 2015-07-20
US9667275B2 (en) 2017-05-30
JP6430248B2 (ja) 2018-11-28

Similar Documents

Publication Publication Date Title
KR101964852B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
JP6334028B2 (ja) 通信システムにおけるパケット送受信装置及び方法
KR101829923B1 (ko) 데이터 통신 시스템에서 부호화 장치 및 방법
US8839078B2 (en) Application layer FEC framework for WiGig
US9473174B2 (en) Interleaving for layer-aware forward error correction
US20130097474A1 (en) Apparatus and method for transmitting/receiving forward error correction packet in mobile communication system
JP2007143142A (ja) 無線ネットワークにおけるデータ伝送方法及び装置
CN106416154A (zh) 用于在广播和通信系统中发送和接收分组的方法和装置
KR102163338B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
KR101961736B1 (ko) 통신 시스템에서 패킷 송수신 장치 및 방법
KR102127685B1 (ko) 순방향 오류 정정 패킷 송수신 장치 및 방법
KR101874116B1 (ko) 멀티미디어 시스템에서 순방향 오류 정정 부호화 방법 및 장치
KR101829464B1 (ko) 패킷 데이터의 인코딩 방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right