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

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

Info

Publication number
KR101995221B1
KR101995221B1 KR1020120100522A KR20120100522A KR101995221B1 KR 101995221 B1 KR101995221 B1 KR 101995221B1 KR 1020120100522 A KR1020120100522 A KR 1020120100522A KR 20120100522 A KR20120100522 A KR 20120100522A KR 101995221 B1 KR101995221 B1 KR 101995221B1
Authority
KR
South Korea
Prior art keywords
fec
flow
information
repair
source
Prior art date
Application number
KR1020120100522A
Other languages
English (en)
Other versions
KR20130057937A (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 EP12851568.1A priority Critical patent/EP2784964B1/en
Priority to CN201280068020.1A priority patent/CN104081702B/zh
Priority to PCT/KR2012/009968 priority patent/WO2013077662A1/ko
Priority to US14/360,480 priority patent/US9578292B2/en
Priority to JP2014543420A priority patent/JP6177250B2/ja
Publication of KR20130057937A publication Critical patent/KR20130057937A/ko
Priority to US15/438,439 priority patent/US9906326B2/en
Priority to JP2017087248A priority patent/JP6334028B2/ja
Application granted granted Critical
Publication of KR101995221B1 publication Critical patent/KR101995221B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • 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/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0017Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
    • 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/007Unequal error protection
    • 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/0075Transmission of coding parameters to receiver
    • 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/0079Formats for control data
    • H04L1/008Formats for control data where the control data relates to payload of a different packet
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • 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
    • 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/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes

Abstract

본 발명은 통신 시스템에서 패킷 송신 방법에 있어서, FEC(Forward Error Correction)으로 보호되는 적어도 1개의 MMT(MPEG Media Transport) 어셋을 결정하는 과정과, 상기 적어도 1개의 MMT 어셋을 송신하기 위한 적어도 1개의 FEC 플로우를 결정하는 과정과, 상기 MMT 어셋을 운반하는 MMT 패킷들을 포함하는 FEC 소스 플로우의 개수를 결정하는 과정과, 상기 FEC 소스 플로우에 적용하기 위한 FEC 부호화 구조와 FEC 부호를 토대로 FEC 구성 정보를 식별하는 과정과, 상기 FEC부호를 이용하여 상기 FEC 소스 플로우에 대하여 FEC 부호화를 실행하여 적어도 1개의 FEC 리페어 플로우를 포함하는 리페어 심볼들을 생성하는 과정과, 상기 리페어 심볼들 각각에 대한 FEC 리페어 패킷들을 생성해서 수신기로 송신하는 과정과, 상기 FEC 구성 정보를 포함하는 FEC 메시지를 상기 수신기로 송신하는 과정을 포함한다.

Description

통신 시스템에서 패킷 송수신 장치 및 방법{APPARATUS AND METHOD FOR TRANSMITTING AND RECEIVING PACKET IN COMMUNICATION SYSTEM}
본 발명은 통신 시스템에 관한 것으로, 특히 패킷 송수신 장치 및 방법에 관한 것이다.
다양한 컨텐츠(Contents)의 증가와 High Definition(HD) 컨텐츠, Ultra High Definition(UHD) 컨텐츠들과 같은 고용량 컨텐츠들의 증가로 네트워크(Network) 상에서 데이터 혼잡(Data Congestion)은 점점 더 심화되고 있다. 이러한 상황으로 인하여 송신기(Sender, 예컨대, Host A)가 보낸 컨텐츠들이 수신기(Receiver, 예컨대, Host B)에게 정상적으로 전달되지 않고, 컨텐츠의 일부가 경로(Route)상에서 손실되는 상황이 발생한다. 일반적으로 데이터(Data)는 패킷(Packet) 단위로 전송되기 때문에 데이터 손실은 패킷 단위로 발생하게 된다. 따라서, 수신기는 네트워크에서 데이터 손실로 인해 패킷을 수신할 수 없게 됨으로써, 상기 손실된 패킷 내의 데이터를 알 수 없다. 따라서, 오디오(Audio)의 품질 저하, 비디오(Video)의 화질 열화나 화면 깨짐, 자막 누락, 파일의 손실 등과 같은 다양한 형태로 사용자의 불편을 초래하게 된다. 이와 같이 이유로 네트워크에서 발생된 데이터 손실을 복구하기 위한 방법이 필요하다.
본 발명은 네트워크에서 발생된 데이터 손실을 복구하는 방법 및 장치를 제공한다.
또한 본 발명은 MMT(MPEG Media Transport) 패키지(Package)의 MMT 에셋(Asset)을 전송함에 있어서, AL-FEC(Application Layer Forward Error Correction) 보호된 MMT 플로우, 즉 FEC 플로우를 전송하기 위한 FEC 플로우 구성 방법 및 AL-FEC 운용 방법을 제공한다.
본 발명의 실시예에 따르면, 통신 시스템에 있어서의 패킷 송신 방법에 있어서, FEC(Forward Error Correction)으로 보호되는 적어도 1개의 MMT(MPEG Media Transport) 어셋을 결정하는 과정과, 상기 적어도 1개의 MMT 어셋을 송신하기 위한 적어도 1개의 FEC 플로우를 결정하는 과정과, 상기 MMT 어셋을 운반하는 MMT 패킷들을 포함하는 FEC 소스 플로우의 개수를 결정하는 과정과, 상기 FEC 소스 플로우에 적용하기 위한 FEC 부호화 구조와 FEC 부호를 토대로 FEC 구성 정보를 식별하는 과정과, 상기 FEC 부호를 이용하여 상기 FEC 소스 플로우에 대하여 FEC 부호화를 실행하여 적어도 1개의 FEC 리페어 플로우를 포함하는 리페어 심볼들을 생성하는 과정과, 상기 리페어 심볼들 각각에 대한 FEC 리페어 패킷들을 생성해서 수신기로 송신하는 과정과, 상기 FEC 구성 정보를 포함하는 FEC 메시지를 상기 수신기로 송신하는 과정을 포함한다.
삭제
삭제
삭제
본 발명에 따르면 송신기가 MMT Package내의 MMT flow에 포함되는 MMT Asset의 QoS에 기반하여 MMT flow를 보호하는 메커니즘을 제공하고 FEC flows에 대한 description 정보들 송신기와 수신기간에 서로 소통하게 하여 수신기가 수신된 MMT Packet들로부터 FEC flows에 대한 description 정보를 미리 알 수 있다. 따라서 수신기는 수신된 MMT packet을 효율적으로 디코딩할 수 있다.
도 1은 네트워크 토폴로지(Network Topology) 및 데이터 플로우(Data Flow)를 도시한 도면;
도 2는 본 발명의 실시 예에 따른 MMT 시스템 구성도;
도 3은 본 발명의 실시 예에 따른MMT package의 구조를 도시한 도면;
도 4는 One Stage 대 Two Stages의 FEC Coding Structure를 도시한 도면;
도 5는 AL-FEC의 Encoding/Decoding Flow에 대한 개념도;
도 6은 본 발명의 실시 예에 따른 One stage 및 two stage FEC coding structure를 나타내는 도면;
도 7은 FEC Delivery Block 과 FEC Delivery Cluster Configuration을 나타내는 도면;
도 8 내지 도 10은 Source Block을 Information Block에 매핑시키는 과정의 예를 도시한 도면;
도 11은 RS 프레임 구성을 도시한 도면;
도 12는 LDPC 프레임 구성을 도시한 도면;
도 13은 RS 패리티 심볼들을 위한 패리티 블록 매핑도;
도 44는 LDPC 패리티 심볼들을 위한 패리티 블록 매핑도;
도 15는 H matrix의 구조도;
도 16은 FEC 패킷 블록 및 FEC 패킷 Cluster 구성도;
도 17은 본 발명의 실시예에 따른 MMT flow의 구성을 나타낸 도면;
도 18은 본 발명의 실시예에 따른 송신기의 동작을 나타낸 도면; 및
도 19는 본 발명의 실시예에 따른 수신기의 동작을 나타낸 도면.
하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
먼저, 본 발명에서 사용될 용어를 정리하면 다음과 같다.
-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)에서 보호되는 데이터 심볼(들)
-정보 심볼(Information Symbol(s)) : FEC 프레임 내 information part에서 보호되는 데이터 또는 패딩 심볼(들)
-Codeword : Information Symbol(s)을 FEC 부호화함에 의해 생성된 FEC Frame.
-Parity(repair) Symbol(s) : Information Symbol(s)로부터 FEC 부호화에 의해 생성된 FEC Frame의 parity(repair) Symbol(s)
-Packet : Header와 Payload로 구성된 전송 단위.
-Payload : 송신기로부터 송신되고 패킷 안에 위치하는 사용자 데이터의 조각
-Packet Header : Payload를 포함하는 Packet을 위한 Header.
-Source Payload : source Symbol들로 구성된 payload
-Information Payload: Information Symbol들로 구성된 payload
-Parity(repair) Payload : parity(repair) Symbol들로 구성된 payload
-Source Block : 하나 이상의 Source payload들로 구성된 payload들의 집합.
-Information Block: 하나 이상의 Information Payload들로 구성된 payload들의 집합
-Parity(repair) Block : 하나 이상의 Parity(repair) payload들을 구성된 payload들의 집합.
-FEC Block : Codeword들의 집합 또는 Information Block과 Parity Block으로 구성된 Payload들의 집합.
-FEC Delivery Block : Source Block과 parity Block들로 구성된 Payload들의 집합
-FEC Packet : FEC Block 전송하기 위한 패킷.
-Source Packet : Source Block을 전송하기 위한 패킷.
-Parity(repair) Packet : Parity(repair) Block을 전송하기 위한 패킷.
-FEC Packet Block : FEC Delivery Block을 전송하기 위한 Packet들의 집합
-MMT Flow: 하나의 MMT 패키지의 하나 또는 그 이상의 MMT 에셋들을 전달하기 위한 MMT 패킷들의 시퀀스(A sequence of MMT packets to deliver one or more MMT Assets of one MMT Package)
- Source Flow: 하나의 MMT 서버에서 하나 혹은 그 이상의 MMT 클라이언트에게 하나 혹은 그 이상의 MMT 에셋을 전송하기 위해 동일한 소스 플로우 식별자에 의해서 식별되는 소스 페이로드들의 시퀀스한다.
- Parity Flow: 동일한 패리티 플로우 식별자에 의해 식별되고, 소스 플로우를 보호하기 위한 FEC 부호화 과정에서 생성되는 패리티 페이로드들의 시퀀스.
-FEC Flow: Source flow 및 이에 관련된 하나 혹은 그 이상의 Parity flow로 구성됨.
-MMT 에셋(Asset): 하나 또는 그 이상의 M 유닛으로 구성되는 데이터 엔티티. 구성 정보(composition information)와 전송 특성(transport characteristics)을 정의하기 위한 데이터 유닛
-MMT 패키지(Package): 구성 정보와 전송 특성과 같은 추가적인 정보에 따라 하나 또는 그 이상의 MMT 에셋들로 구성됨.
도 1은 네트워크 토폴로지(Network Topology) 및 데이터 플로우(Data Flow)를 도시한 도면이다.
도 1을 참조하면, 데이터(150)는 호스트 A(105) 및 호스트 B(110) 사이에서 어플리케이션(140) 단, 전송(160) 단, 인터넷(170) 단, 링크(180) 단을 거치고, 이더넷(190) 단을 통해 송수신된다. 일 예로, 데이터(150)는 전송(160) 단에서 UDP 패킷으로 패키화되고, 인터넷 단(170)에서 IP 패킷으로 패킷화되며, 링크(180) 단에서 프레임으로 전송된다.
호스트 A(105)에서 송신한 IP 패킷은 라우터(Router)들(120, 130)을 통해 호스트 B(110)에 전송되는데, 호스트 B(110)는 호스트 A(105)가 송신한 순서대로 IP 패킷을 항상 수신하는 것은 아니다. 따라서, IP 패킷을 전송할 때, 전송 순서를 나타내는 것이 필요하며, 이를 위해 어플리케이션(140) 단에서 데이터(150)는 AV Codec단에서 압축된 데이터를 실시간 프로토콜(Real Time Protocol;RTP)을 사용하여 패킷화한 이후의 RTP 패킷 데이터로 간주되거나 또는 도 2에서 후술될 MMT 전송 패킷 데이터와 같이 어플리이케이션(140) 단의 전송 프로토콜에 의해 패킷화된다.
도 2는 본 발명의 실시 예에 따른 MMT 시스템 구성도이다.
도 2의 왼쪽은 MPEG Media Transport(MMT) System Structure를 나타낸 도면이고, 오른쪽은 Delivery Function의 세부 구조를 나타내는 도면이다.
Media Coding Layer(205)는 오디오 또는/및 비디오 데이터를 압축하여 Encapsulation Function Layer(210, E. Layer)로 전송한다.
상기 Encapsulation Function Layer(210)는 압축된 Audio/Video data를 File Format과 유사한 형태로 Package화하여 Delivery Function(220)으로 출력한다.
Delivery Function(220, D. Layer)에서는 상기 Encapsulation Function Layer(210)의 출력을 MMT Payload Format화한 후 MMT Transport Packet Header를 부가하여 MMT Transport Packet 형태로 Transport Protocol(230)로 출력하거나 또는 상기 Encapsulation Function Layer(210)의 출력을 기존 RTP Protocol을 사용하여 RTP Packet 형태로 Transport Protocol(230)로 출력한다. 그 이후 Transport Protocol(230)에서는 UDP 및 TCP 중 하나의 전송 Protocol로 변환한 후 Internet Protocol(240)로 전송한다.
최종적으로 Internet Protocol(240)은 상기 Transport Protocol(230)의 출력을 IP Packet한다. 본 발명의 FEC Packet은 MMT Payload Format, MMT Transport Packet, RTP Packet 중 적어도 하나의 형태로 가능하다.
Control Function(200, C. Layer)( or Signaling Function, S. Layer)은 Presentation Session과 Delivery Session을 Management한다.
도 3은 본 발명의 실시예에 따른 MMT package의 구조를 도시한 도면이다.
도 3을 참조하면, MMT 패키지(300)는 제어부(360)의 제어에 따라 네트워크의 D. Layer(340)를 통해 클라이언트(350)와 송수신되며, MMT 에셋(320)들과, 구성 정보(composition information)(310), 전송 특성(Transport characteristic)(330)을 포함한다.
또한 MMT 패키지(300)는 상태 정보(configuration information)을 활용하기 위한 기능성(functionality)와 동작(operation)들을 가지며, 상태 정보는 MMT 에셋(320)들의 리스트와, 구성 정보, 및 전송 특성을 포함한다.
또한, MMT 패키지(300)는 MMT 패키지(300)와 MMT 에셋(320)들을 설명하는 서술 정보(Description information)와 MMT 에셋(320)들의 소비를 돕는 구성 정보 및 MMT 에셋(320) 들의 전달을 위한 힌트를 제공하는 전송 특성 정보(Transport characteristics information)를 포함한다.
또한, MMT 패키지(300)는 각 MMT 에셋(320)별 전송 특성(Transport Characteristic)을 기술하는데, 전송 특성은 에러 복원(Error Resiliency) 정보를 포함하며, 하나의 MMT 에셋(320)을 위한 단순 전송 특성(Simple Transport Characteristic) 정보는 손실되거나 손실되지 않을 수 있다. 또한, 전송 특성은 각 MMT 에셋(320)의 QoS(손실(Loss) 허용 정도, 지연(Delay) 허용 정도)를 포함할 수 있다.
다음, 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 라인상에서 8ms의 fixed time burst erasure를 유발시킨다.
1.1 Random + REIN Erasure Channel Model [Ref. DVB AL-FEC Bluebook]
- Repetitive Electric Impulse Noise(REIN) : Fixed Time Burst Erasure(8ms)
ITU G.1050 문서에 명기되어 있는 Two-state Gilbert-Elliot erasure channel은 좋은 상태(Good state)와 나쁜 상태(Bad state)를 가지는데, 좋은 상태는 낮은 손실 상태를 나타내고, 나쁜 상태는 버스트 삭제를 유발시키는 높은 손실 상태를 말한다.
1.2 Two-State Gilbert-Elliot Erasure Channel(GEEC) Model [Ref. ITU G.1050]
- Good State : Random Erasure Channel(Low Loss State)
- Bad State : Burst Erasure Channel(High Loss State)
2. Simulation on Two Stage FEC Coding Structure
도 4는 본 발명의 실시예에 의한 One Stage 대 Two Stages의 FEC Coding Structure를 도시한 도면이다.
도 4는 AV(Audio/Video) 데이터만 서비스 되는 경우 FEC 코딩 구조(400) 각각의 서브 블록(Sub-Block)이 P1 FEC 패리티(parity)(P1 PLs)를 부가하였을 때 요구되는 FEC 성능을 달성할 때, 하이브리드 컨텐츠 전송 서비스(Hybrid Contents Delivery Service)(예를 들어 AV streaming with File)를 위해 1 단계(410)에서는 각각의 서브 블록에 P2 FEC 패리티(P2 PLs)를 더 추가한 경우와 2 단계(420)에서는 M의 서브 블록 전체에 M*P2 FEC 패리티(M*P2 PLs)를 부가한 경우를 나타낸다.
하이브리드 컨텐츠 전송 서비스의 경우 AV 데이터와 파일(File) 데이터가 함께 전송되고, 또한 파일 데이터는 AV 데이터 보다 더 좋은 FEC 성능을 요구하기 때문에 AV 데이터만 서비스 되는 경우 보다 추가적인 FEC 패리티가 요구된다.
통상적으로 라이브 스트림(Live Stream)과 같은 AV 데이터는 지연이 작을수록 좋기 때문에 AV 스트리밍 서비스는 낮은 지연을 얻기 위하여 상대적으로 짧은 블록(short block)으로 FEC 보호되어 전송된다. 반면, 파일 데이터는 지연에 크게 지장을 받지 않지만 데이터의 일부 손실을 허용하지 않기 때문에 높은 FEC 성능을 요구하며, 상대적으로 긴 블록(long block)으로 FEC 보호되어 전송된다. 이는 FEC 특성상 동일 패리티 부가율인 경우 긴 블록이 짧은 블록보다 더 좋은 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를 제안한다.
예를 들어 AV streaming과 File Delivery를 동일 stream내에서 전송하는 경우 도 4와 같이 각각의 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를 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 성능을 최대한 향상시키는 방법이 필요하다.
그러므로 도 4의 One stage(410)를 위해 각각의 Sub-Block에 P=P1+P2 만큼의 FEC parity를 부가한 경우와 Two stage(420)를 위해 각각의 Sub-Block에는 P1 FEC Parity를 그리고 M개의 Sub-Block 전체로 구성된 Source Block에는 P2 FEC Parity를 부가한다. 이렇게 함으로써 AV data는 Sub-Block을 위한 P1 FEC Parity로 복구하여 Low Delay를 달성하고, File Data는 P1 FEC Parity로 복구 실패 시 M*P2 FEC Parity를 이용하여 복구할 수 있으므로 더 좋은 FEC 성능을 얻을 수 있다.
도 5는 본 발명의 실시예에 따른 AL-FEC의 Encoding/Decoding Flow에 대한 개념도이다.
인코딩 시 MMT D.1 Layer(510)는 MMT E.1 Layer(500)로부터 MMT 패키지(Package)(AV 데이터, File, txt등을 저장하거나 또는 전송을 고려한 목적으로 만들어진 포맷)를 입력 받아 전송을 위한 일정 단위(Source Payload)로 나누어 소스 블록(550)을 구성한다. AL-FEC(540) 모듈 컨버터(module Convertor)(560)는 소정 개수의 소스 페이로드로 구성된 소스 블록(550)을 동일 길이를 가지는 정보 페이로드(Information Payload)들로 구성된 2차원 어레인(array)인 정보 블록(Information Block)(570)으로 전환한다. FEC 인코더는 정보 블록(570)으로부터 주어진 FEC 코드(code)에 의해 FEC 인코딩을 수행하여 패리티 블록(Parity Block)(580)을 생성하여 페이로드 포맷 발생기(Payload Format Generator)(530)에게 전송한다. 페이로드 포맷 발생기(530)는 소스 블록(550)에 패리티 블록(580)을 추가하고 각각의 페이로드에 페이로드 헤더(Payload Header(PLH))를 부가하여 패킷화된 MMT 페이로드 포맷(MMT Payload Format)을 MMT D.2 Layer or IETF Application Protocol Layer(520)에 전송한다. 그리고 UDP와 같은 전송 프로토콜(Transport Protocol)에 의해 UDP 헤더를 부가하고 다시 IP 헤더를 부가하여 전송된다.
다음, 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된다.
하기 <표 1>은 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)가 사용된다.
상기 <표 1>은 상대적으로 작은 개수의 Source Payload들로 구성된 Source Block을 위한 부호와 상대적으로 큰 개수의 Source Payload들로 구성된 Source Block을 위한 부호가 각각 하나씩 사용될 경우를 상정한 실시 예이다. FEC 부호들은 오류정정능력과 복잡도를 통하여 평가될 수 있으며, 대부분의 경우에 높은 오류정정능력을 가지는 FEC 부호는 그 복잡도 또한 크며, 복잡도가 낮은 FEC 부호는 상대적으로 낮은 오류정정능력을 가지는 경향이 있다. 따라서 MMT와 같이 그 응용이 다양하고 송신기 처리 능력(computing power)의 범위가 넓은 경우에는 3개 이상의 FEC 부호를 사용할 가능성이 높다. 이 경우에 Two stage FEC coding structure를 위한 FEC 부호의 조합은 상기 2개의 FEC 부호를 사용할 경우에 비하여 다양해지며, 그 조합은 상기 2개의 FEC 부호를 사용할 경우의 조합에서 간단한 확장을 통하여 얻을 수 있다.
도 6은 본 발명의 실시 예에 따른 One stage 및 two stage FEC coding structure를 나타내는 도면이고, 도 7은 본 발명의 실시예에 따른 FEC Delivery Block 과 FEC Delivery Cluster Configuration을 나타내는 도면이다.
상기 도 7의 Source Block의 Source Payload들은 그 길이가 모두 동일할 수도 있고, 서로 다를 수 있다. 서로 다른 경우 각각의 Source Payload에 Padding data를 추가하여 동일 길이를 가지는 2차원 array(Information Block)를 도 8과 같이 생성한다.
도 8 내지 도 10은 본 발명의 일 실시예에 의한 소스 블록(800)을 정보 블록(810)에 매핑시키는 과정을 설명하기 위한 도면이다.
정보 블록(810)으로부터 K가 200 이하인 경우 소스 블록을 정보 블록(810)에 매핑시킴으로써, 도 9와 같이 RS 코딩을 위한 정보 심볼(Information Symbols(Information Symbol Part))을 생성할 수도 있고, 도 10과 같이 LDPC 코딩을 위한 정보 심볼(Information Symbols(Information Symbol Part))을 생성할 수도 있다. 도 9 및 도 10에서 왼쪽(900,1000)과 오른쪽(910,1010)의 정보 블록(Information (Sub-) Block)들은 동일한 블록이다. 즉, 왼쪽(900,1000)의 i번째 column의 j번째 row의 값은 오른쪽(910,1010)의 i번째 column의 j번째 row의 값과 같다(i=1,2,…,K and j = 1,2,…,8*S). 다만, 왼쪽(900,1000)은 정보 페이로드(Information Payload) 관점에서 오른쪽(910,1010)은 정보 심볼(Information Symbols(Information Symbol Part)) 관점에서 도시한 것이다.
도 11 및 도 12는 본 발명의 일 실시예에 의한 정보 심볼을 이용하여 패리티 심볼을 생성하는 과정을 설명하기 위한 도면이다.
각각의 정보 심볼(Information Symbols(Information Symbol Part))을 도 11과 같이 RS 인코딩을 수행하고, 도 12와 같이 LDPC 인코딩을 수행하여 패리티 심볼(Parity Symbols(Parity Symbol Part))을 생성한다. 도 12의 경우, Shortening 및 Puncturing을 도시하지는 않았지만, 정해진 길이를 가지는 LDPC code 이용하여 다양한 K와 P에 대해 도 10의 경우와 유사하게 Shortening 및 Puncturing을 수행하여 패리티 심볼들을 생성할 수 있다. 이때, Shortening만을 수행할 수도 있고, Puncturing만을 수행할 수 있음은 물론이다.
도 13 내지 도 15는 본 발명의 일 실시예에 의한 패리티 심볼을 이용하여 패리티 블록을 생성하는 과정을 설명하기 위한 도면이다.
생성된 패리티 심볼(Parity Symbols(Parity Symbol Part))들을 이용하여도 13과 같이 RS 패리티 블록(Parity Block) 및 도 14와 같이 LDPC 패리티 블록(Parity Block)을 생성한다. 도 13과 도 14의 왼쪽(1300, 1400)과 오른쪽(1310, 1410) 패리티 블록도 도 10과 11의 경우와 같이 모두 동일한 블록이며, 왼쪽(1300, 1400)은 패리티 심볼(Parity Symbols(Parity Symbol Part))관점에서 도시한 것이며, 오른쪽(1310, 1410)은 패리티 페이로드(Parity Payload) 관점에서 도시한 것이다.
다음은 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는 도 15와 같이 approximately triangular matrix 형태를 가진다. 도 15는 H matrix의 구조를 나타내며, 도 15에서 K = 400 and P = L x 80 (L = 1, 2, 4, 8 or 16)이다.
도 16은 본 발명의 일 실시예에 의한 FEC 패킷 블록을 설명하기 위한 도면이다.
삭제
도 16을 참조하면, FEC 패킷 블록(Packet Block)은 소스 블록(Source Block)과 패리티 블록(Parity Block)으로 구성되며, FEC 패킷 클러스터(FEC 패킷 클러스터)느 서브 블록(Sub Block)과 패리티 블록으로 구성된다. 소스 또는 서브 블록과 패리티 블록으로 구성된 FEC 패킷 블록 또는FEC 클러스터는 각 페이로드(Payload) 선두에 FEC 패킷 헤더(Packet Header(Payload Header(PLH)))가 부여되어 FEC 패킷으로 구성된 FEC 패킷 블록 또는 FEC 패킷 클러스터로 전송된다. 도 16에서 FEC 해킷 헤더(PLH)는 페이로드 선두에 부가되었지만 이에 한정하지는 않고 후미에 올 수도 있다.
삭제
FEC 구성(configuration) 정보를 저장하여 전송하는 FEC 패킷 헤더(Packet Header)는 송신기에 의해 AL-FEC 적용된 코딩 구조(coding structure)가 무엇인지를 나타낸다. 즉, FEC 패킷 헤더 포맷(Packet Header Format)은 fec_coding_structure field를 포함하는데 그 정의는 다음과 같다.
삭제
fec_coding_structure : 해당 Source Flow를 보호하기 위하여 사용된 FEC 부호화 구조를 나타낸다.
본 발명의 실시예로 Two stage coding structure와 Layer-Aware FEC (LA-FEC) 등의 구조화된 다중 FEC 부호화 방식을 적용한 경우에 fec_coding_structure는 다음과 같이 정의될 수 있다.
b000: No coding structure (Case 0)
b001: One Stage FEC coding structure (Case 1)
b010: One Stage FEC coding structure (Case 2)
b011: Two Stage FEC coding structure (Case 3)
b100: LA-FEC coding structure
b101~b111: reserved
위에서 b001(Case 1)은 상대적으로 작은 수의 Source Payload로 구성된 Source Block를 보호하는데 적합한 FEC 부호의 사용을 의미하며, b010(Case 2)는 상대적으로 큰 수의 Source Payload로 구성된 Source Block를 보호하는데 적합한 FEC 부호의 사용을 의미한다.
본 발명의 다른 실시예로 상기 <표 1>과 같은 조합의 FEC 부호를 사용할 경우에 fec_coding_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
<두 번째>
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_coding_structure에 대한 signal은 FEC Packet Header에 저장되어 in-band signal로 전송될 수도 있고, 본 발명의 FEC message와 같이 FEC Control Packet이나 또는 RTCP와 같은 RTP Control Packet의 Header나 Payload에 저장되어 전송되어 수신기가 알 수 있게 하는 것이 가능하다.
한편, 본 발명은 MMT package의 하나 또는 그 이상의 MMT Asset을 송신기(Sender)가 수신기(Receiver)에게 MMT flow로 전송함에 있어서, 각 MMT Asset의 QoS(Loss 특성, Delay 특성 등)에 기반하여 AL-FEC 보호(Protection)된 MMT flow(s)들, 즉 FEC flow를 전송하기 위한 FEC flow 구성 및 AL-FEC(Application Layer Forward Error Correction) 운용 방법을 제공한다.
이를 위해 본 발명의 Sender는 전송하고자 하는 MMT Package 내의 MMT Assets을 AL-FEC Protection된 packet과 그것의 parities들로 구성된 MMT Packets의 sequence로 구성된 하나 또는 그 이상의 FEC flows을 D. Layer를 통해 전송하는데, 상기 D. Layer는 MMT Package 내의 MMT flow(s)에 포함되는 MMT Asset(s)의 QoS에 기반하여 MMT flow(s)를 protection하는 메커니즘을 제공하고 C. Layer는 상기 FEC flows에 대한 description 정보를 Sender와 Receiver간에 서로 소통하게 하여 Receiver가 수신한 MMT Packet들로부터 FEC flows에 대한 description 정보(FEC flow descriptior = FEC 메세지)를 미리 알도록 한다.
본 발명에 의한 FEC 관련 메시지를 C.Layer를 통해 전달하기 위한 하나의 실시예는 하기와 같은 표들과 관련 정보로 구성될 수 있다.
C. Layer의 FEC 관련 제어 메시지는 다음의 표 2와 같이 구성된다.
...
fec_flag
if (fec_flag==1) {
    length_of_fec_flow_descriptor()
    fec_flow_descriptor()
}
상기 표 2에서 각 필드의 의미는 다음과 같다.
-fec _ flag: 하나의 MMT 서버에서 하나 또는 그 이상의 MMT 클라이언트로 하나 또는 그 이상의 Source Flow가 전송될 때 FEC가 적용되는지 여부를 나타냄
-length _ of _ fec _ flow _ descriptor (): 이 필드를 포함하는 FEC flow descriptor의 크기(byte)를 나타냄
상기 fec_flag의 실시예는 다음과 같다.
b0: 모든 Source Flow들이 FEC 부호로 보호되지 않고 전송된다(Every Source Flows are delivered without AL-FEC protection).
b1: 적어도 하나의 Source Flow는 FEC 부호로 보호되어 전송된다(At least one Source Flow is delivered with AL-FEC protection).
또한 FEC flow descriptor는 각 FEC flow에 포함된 MMT Asset에 대한 QoS (Loss 특성, Delay 특성 등)와 이에 적용된 FEC coding structure 및 FEC 부호화 알고리즘에 대한 정보를 포함한다.
FEC flow descriptor는 다음의 표 3과 같이 구성된다.
fec_flow_descriptor () {
protection_mode
    number_of_fec_flows : N1
      for (i=0 ;i<N1 ;i++) {
        number_of_assets_for_fec_flow_i : N2
        for (j=0 ;j<N2 ;j++) {
              asset_id
            compressed_asset_id
        error_resiliency
delay_correlation_indicator
     }
fec_coding_structure_for_fec_flow_i: FCS_i
parity_flow_descriptor(FCS_i)
}
}
상기 표 3에서 각 필드의 의미는 다음과 같다.
-protection _ mode: FEC에 의해 보호되는 Source Payload의 범위를 나타냄. 하나의 실시예로 상기 Source Payload가 D.1 Layer에서 생성되는 MMT Payload Format 그 자체이거나, 또는 D.2 Header를 부가한 MMT Transport Packet일 경우에 상기 protection_mode 필드의 값과 그 의미는 다음과 같다.
0: MMT Payload Format을 Source Payload로 사용하여 FEC 적용
1: MMT Transport Packet을 Source Payload로 사용하여 FEC 적용
-number _ of _ fec _ flows: FEC flow의 개수를 나타냄
-number _ of _ assets _ for _ fec _ flow _i: 각각의 FEC flow i(i=0,1,2,...,N1-1)에 의해 적용된 MMT Asset의 개수를 나타냄
-asset_id: MMT Asset ID를 나타냄
-compressed_asset_id: compressed MMT Asset ID를 나타냄
-error_resiliency: 필드값에 따라 다음과 같은 error resiliency를 나타냄
0 : lossless
1 : lossy
-delay_correlation_indicator: 다른 Asset과 delay에 대한 상관 관계가 있는지 없는지 여부를 나타낸다. 만일 해당 Asset이 다른 Asset과의 동기를 필요로 하는 Asset인 경우 1로 설정되고, 그렇지 않은 경우 0으로 설정된다. 예를 들어 해당 Asset이 Video Asset인데 Audio Asset과 동기가 필요한 경우 이 필드의 값과 상기 Audio Asset을 위한 이 필드의 값을 각각 1로 설정하여 동기가 필요함을 나타내거나, 또는 해당 Asset이 File Asset인데 다른 Asset과 동기가 필요하지 않은 경우 이 필드의 값을 0으로 설정한다. 복수 개의 MMT Assets들이 하나의 FEC flow에 Two stages FEC coding으로 protection되어 전송되는 경우 각각의 MMT Asset에 대한 이 필드의 값을 상황에 맞게 설정되며, 각각의 Asset에 대해 수신 단에서 FEC 2 decoding 수행 여부를 결정할 수 있다. 예를 들어 하나의 FEC flow에 Audio Asset, Video Asset, File Asset이 Two stages FEC coding되고 Audio Asset과 Video Asset에 대한 이 필드의 값이 1로 동일하게 설정되어 있고, File Asset을 위한 이 필드의 값이 0으로 설정된 경우 Audio Asset과 Video Asset은 FEC 1 decoding 이후 함께 출력하거나 또는 FEC 2 decoding 이후 함께 출력하는 것과 같이 동일한 delay를 가지도록 출력해야 함을 의미하고, File Asset의 경우는 상기 Audio Asset, Video Asset과 굳이 동일한 delay를 가지도록 함께 출력할 필요는 없으므로 FEC 1 decoding 실패 시 FEC 2 decoding를 수행하여 최대한 복구하는 것이 바람직하다.
즉, 상기의 경우에서 Audio Asset은 FEC 1 decoding 이후 출력하고 Video Asset은 FEC 2 decoding 이후 출력하는 것과 같이 서로 다른 delay로 출력하지 않는 것이 바람직하다.
-fec _ coding _ structure _ for _ fec _ flow _i: 필드값에 따라 FEC flow i(i=0,1,2,...,N1-1)에 적용되는 FEC coding structure를 나타냄
b000: No coding structure (Case 0)
b001: One Stage FEC coding structure (Case 1)
b010: One Stage FEC coding structure (Case 2)
b011: Two Stage FEC coding structure (Case 3)
b100: LA-FEC coding structure
b101~b111: reserved
- parity _ flow _ descriptor ( FCS _i): Parity flow의 식별자 및 상기 Parity flow에 속한 Parity Payload를 생성하기 위하여 사용된 정보어 블록 생성 방법 및 이에 따른 제어 정보와 FEC 부호에 대한 정보 및 상기 FEC 부호를 복호하기 위하여 수신기에서 준비해야 하는 buffer size에 대한 정보를 포함한다. 상기 parity_flow_descriptor(FCS_i)에 대한 구체적인 실시 예는 후술된다.
또한 상기 표 3에 표기하지는 않았지만, 각 FEC flow에 대한 FEC flow label값을 두어 각각의 FEC flow를 구분하는 것이 가능하다. 또한 이러한 FEC flow label 정보를 하나의 FEC flow에 의해 전송되는 각 Packet들의 D. Layer Header에 저장하여 전송함으로써 Receiver가 이 정보로부터 FEC flow를 용이하게 구분하도록 할 수 있다.
D. Layer Header는 MMT payload 내에 있는 각 미디어 컴포넌트를 식별하기 위한 정보인 Asset ID 필드를 포함하며, D. Layer Header의 Asset ID 필드는 다음 표 4와 같이 구성된다.
Asset ID Information Field () {
number_of_media_components : N3
      For (k=0 ;k<N3 ;k++) {
        compressed_asset_id_of media_component_k
        length_of_media_component_k
}
}
상기 표 4에서 각 필드의 의미는 다음과 같다.
-number_of_media_components: 관련 MMT payload 내에 있는 미디어 컴포넌트의 개수를 나타냄
-compressed_asset_id_of_media_component_k: 미디어 컴포넌트 k(k=0,1,2,...,N3-1)를 가지는 관련 MMT Asset의 compressed Asset ID
-length _ of _ media _ component _k: 미디어 컴포넌트 k(k=0,1,2,...,N3-1)의 크기(byte)를 나타냄
상기 표 4에서 미디어 컴포넌트는 페이로드에 전송되는 에셋의 데이터를 의미한다.
본 발명에 의한 FEC 관련 메시지를 C.Layer를 통해 전달하기 위한 또 다른 하나의 실시 예로서 하기와 같은 표들과 정보로 구성된다.
C. Layer의 MMT flow 관련 메시지는 다음의 표 5와 같이 구성된다.
mmt-flow_descriptor() {
package_id
number_of_mmt_flows : N1
for (i=0;i<N1;i++) {
mmt_flow_id
number_of_assets : N2
For (j=0;j<N2;j++) {
asset_id
short_asset_id
error_resiliency
delay_correlation_indicator
}
}
}
상기 표 5에서 각 필드의 의미는 다음과 같다.
-package _ id: MMT Package의 ID를 나타냄
-number _ of _ mmt _ flows: MMT flows의 수를 나타냄
-mmt _ flow _ id: MMT flow 식별자
-number _ of _ assets: 해당 MMT flow에 전송되는 MMT Assets의 수를 나타냄
-asset _ id: MMT Asset의 식별자
-short _ asset _ id: D. Layer Header에서 사용하는 Short Asset ID (Asset ID를 나타내기 위한 필드의 비트수가 너무 많은 경우 이를 전송시 압축된 값으로 나타내어 D. Layer에 저장하여 나타내면 Asset ID을 나타내기 위한 필드의 비트수를 줄여 오버헤드를 줄일 수 있음
-error _ resiliency: 필드값에 따라 다음과 같은 error resiliency를 나타냄
0: lossless
1:lossy
-delay _ correlation _ indicator: 다른 Asset과 delay에 대한 상관 관계가 있는지 없는지 여부를 나타낸다. 만일 해당 Asset이 다른 Asset과의 동기를 필요로 하는 Asset이 경우 1로 설정되고 그렇지 않은 경우 0으로 설정된다. 예를 들어 해당 Asset이 Video Asset인데 Audio Asset과 동기가 필요한 경우 이 필드의 값과 상기 Audio Asset을 위한 이 필드의 값을 각각 1로 설정하여 동기가 필요함을 나타내거나 또는 해당 Asset이 File Asset인데 다른 Asset과 동기가 필요하지 않은 경우 이 필드의 값을 0으로 설정한다. 복수 개의 MMT Assets들이 하나의 FEC flow에 Two stages FEC coding으로 protection되어 전송되는 경우 각각의 MMT Asset에 대한 이 필드의 값을 상황에 맞게 설정함에 의해 각각의 Asset에 대해 수신 단에서 FEC 2 decoding 수행 여부를 결정할 수 있다. 예를 들어 하나의 FEC flow에 Audio Asset, Video Asset, File Asset이 Two stages FEC coding되고 Audio Asset과 Video Asset에 대한 이field의 값이 1로 동일하게 설정되어 있고, File Asset을 위한 이 Field의 값이 0으로 설정된 경우 Audio Asset과 Video Asset은 FEC 1 decoding 이후 함께 출력하거나 또는 FEC 2 decoding 이후 함께 출력하는 것과 같이 동일한 delay를 가지도록 출력해야 함을 의미하고 File Asset의 경우는 상기Audio Asset, Video Asset과 굳이 동일한 delay를 가지도록 함께 출력할 필요는 없으므로 FEC 1 decoding 실패 시 FEC 2 decoding를 수행하여 최대한 복구하는 것이 바람직하다.
즉, 상기의 경우에서 Audio Asset은 FEC 1 decoding 이후 출력하고 Video Asset은 FEC 2 decoding 이후 출력하는 것과 같이 서로 다른 delay로 출력하지 않는 것이 바람직하다.
FEC flow descriptor는 다음의 표 6과 같이 구성된다.
fec_flow_descriptor () {
number_of_fec_flows: N3
for (i=0;i<N3;i++){
fec_flow_id
fec_coding_structure_for_fec_flow_i: FCS_i
parity_flow_descriptor(FCS_i)
number_of_mmt_flows: N4
mmt_flow_id_list
}
}
상기 표 6에서 각 필드의 의미는 다음과 같다.
-number _ of _ fec _ flows: FEC flow의 개수를 나타냄
-fec _ flow _ id: FEC flow i(i=0,1,2,...,N3-1)들을 구분하기 위한 FEC flow 식별자
-fec _ coding _ structure _ for _ fec _ flow _i: 필드 값에 따라 FEC flow i(i=0,1,2,...,N3-1)에 적용되는 FEC coding 를 나타냄
b000: No coding structure (Case 0)
b001: One Stage FEC coding structure (Case 1)
b010: One Stage FEC coding structure (Case 2)
b011: Two Stage FEC coding structure (Case 3)
b100: LA-FEC coding structure
b101~b111: reserved
- parity _ flow _ descriptor ( FCS _i): Parity flow의 식별자 및 상기 Parity flow에 속한 Parity Payload를 생성하기 위하여 사용된 정보어 블록 생성 방법 및 이에 따른 제어 정보와 FEC 부호에 대한 정보 및 상기 FEC 부호를 복호하기 위하여 수신기에서 준비해야 하는 buffer size에 대한 정보를 포함한다. 상기 parity_flow_descriptor(FCS_i)에 대한 구체적인 실시 예는 후술된다.
-number _ of _ mmt _ flows: FEC flow i(i=0,1,2,...,N3-1)에 의해 보호되는 MMT flows의 개수를 나타냄
-mmt _ flow _ id _ list: FEC flow i(i=0,1,2,...,N3-1)에 의해 보호되는 MMT flow 식별자들의 리스트
상기 MMT flow 식별자들의 list로부터 MMT flow desriptor에 기술되어 있는 각각의 MMT flow 식별자가 나타내는MMT flow에 전송되는 MMT Assets의 개수, MMT Asset 식별자 및 Short Asset ID를 알 수 있다. 결국 해당 FEC flow내에 어떤 MMT Assets들이 protection되어 전송되는지를 알 수 있다. 각각의 MMT Asset 식별자를 위해 D. Layer Header에 저장되어 Short Asset ID를 알 수 있다.
D. Layer Header는 MMT payload 내에 있는 각 미디어 컴포넌트를 식별하기 위한 정보인 Asset ID 필드를 포함하며, D. Layer Header의 Asset ID 필드는 다음 표 7과 같이 구성된다.
fec_flow_id
fec_coding_structure
sequence_number


Aggregation Information Field
number_of_media_components : N5
For (i=0 ;i<N5 ;i++) {
short_asset_id
offset_of_media_components
length_of_media_components
상기 표 7에서 각 필드의 의미는 다음과 같다.
-fec _ flow _ id : FEC flow 식별자
-fec _ coding _ structure : 해당 FEC flow ID로 전송되는 각각의 FEC block에 적용된 FEC coding을 나타낸다. C. Layer에서 해당 FEC flow ID가 two stage fec coding를 나타내고 있더라도 각각의 FEC block에 적용된 FEC coding structure가 꼭 two stage로 제약할 필요 없는 경우를 위해 각각의 FEC block에 적용된 FEC coding를 나타내기 위한 목적이다. 즉, C. Layer message상에서 해당 FEC flow ID가 two stage FEC coding를 나타내고 있다는 말은 상기 해당 FEC flow가 two stage FEC coding을 가지는 FEC block을 포함하고 있다는 뜻으로 해석된다.
-sequence number : FEC flow ID별로 D. Layer packet들의 sequence를 구분하기 위한 목적으로 하나의 FEC flow ID내에서 순차적으로 증가한다.
-number _ of _ media _ components : 관련 MMT payload 내에 있는 미디어 컴포넌트의 개수를 나타냄
-short _ asset _ id _ of _ media _ component : 미디어 컴포넌트 k(k=0,1,2,...,N5-1)를 가지는 관련 MMT Asset의 short Asset ID를 나타냄. 수신단은 C. Layer로부터 전송받은 FEC descriptor() 정보로부터 상기 short Asset ID가 어떤 MMT Asset인지를 알 수 있다.
-offset _ of _ media _ component : 미디어 컴포넌트 k(k=0,1,2,...,N5-1) D. Layer Payload 내에서의 시작 위치(in bytes)를 나타냄. 0을 나타내고 있으면 Payload의 첫번째 byte부터 해당 미디어 컴포넌트가 시작한다는 것을 나타낸다. 특히 각각의 미디어 컴포넌트가 연속적으로 배치되지 않는 경우 유용하다.
-length _ of _ media _ component : 미디어 컴포넌트 k(k=0,1,2,...,N5-1)의 크기(in bytes)를 나타냄
상기 표 7에서 미디어 컴포넌트는 페이로드에 전송되는 에셋의 데이터를 의미한다.
본 발명의 다른 실시예로 Source flow ID와 Parity flow ID를 각각 Source Packet과 Parity Packet의 헤더에서 직접 얻거나 상기 헤더에 포함된 정보 및 C. Layer의 flow 관련 정보를 조합하여 추출할 수 있다. 이 실시예에서 FEC flow descriptor는 하기 표 8과 같다.
fec_flow_descriptor () {
protection_mode
number_of_fec_flows: N1
for (i=0;i<N1;i++) {
fec_flow_id_for_fec_flow_i
source_flow_id_for_fec_flow_i
fec_coding_structure_for_fec_flow_i: FCS_i
parity_flow_descriptor(FCS_i)
}
}
상기 표 8에서 각 필드의 의미는 다음과 같다.
-protection _ mode : FEC에 의해 보호되는 Source Payload의 범위를 나타냄. 하나의 실시예로 상기 Source Payload가 D.1 Layer에서 생성되는 MMT Payload Format 그 자체이거나, 또는 D.2 Header를 부가한 MMT Transport Packet일 경우에 상기 protection_mode 필드의 값과 그 의미는 다음과 같다.
0: MMT Payload Format을 Source Payload로 사용하여 FEC 적용
1: MMT Transport Packet을 Source Payload로 사용하여 FEC 적용
-number _ of _ fec _ flows: FEC flow의 개수를 나타냄
-fec _ flow _ id _ for _ fec _ flow _i: 각각의 FEC flow i(i=0,1,2,...,N1-1)를 구별하기 위한 식별자를 나타냄
-source _ flow _ id _ for _ fec _ flow _i: 각각의 FEC flow i(i=0,1,2,...,N1-1)가 보호하는 Source flow를 구별하기 위한 식별자를 나타냄
-fec _ coding _ structure _ for _ fec _ flow _i: 필드값에 따라 FEC flow i(i=0,1,2,...,N1-1)에 적용되는 FEC coding structure를 나타냄
b000: No coding structure (Case 0)
b001: One Stage FEC coding structure (Case 1)
b010: One Stage FEC coding structure (Case 2)
b011: Two Stage FEC coding structure (Case 3)
b100: LA-FEC coding structure
b101~b111: reserved
- parity _ flow _ descriptor ( FCS _i): Parity flow의 식별자 및 상기 Parity flow에 속한 Parity Payload를 생성하기 위하여 사용된 정보어 블록 생성 방법 및 이에 따른 제어 정보와 FEC 부호에 대한 정보 및 상기 FEC 부호를 복호하기 위하여 수신기에서 준비해야 하는 buffer size에 대한 정보를 포함한다. 상기 parity_flow_descriptor(FCS_i)에 대한 구체적인 실시 예는 후술된다.
본 발명의 실시예로 one-stage 및 two-stage FEC coding structure와 Layer-aware FEC coding structure를 지원하고 3가지 이상의 ibg_mode를 지원하는 ALFEC scheme을 고려할 수 있다. FEC 관점에서 상위 계층으로부터의 입력인 Source Payload들로 구성된 Source Block을 FEC 부호화에 적합하도록 Information Payload들로 구성된 Information Block으로 변환하는 전처리 과정이 필요하다. 상기 전처리 과정은 Source Payload들의 특성 및 복호기의 처리 능력에 따라 다양한 알고리즘들이 사용될 수 있는데 상기 알고리즘들을 ibg_mode라 칭한다. 상기 ibg_mode의 실시예는 후술된다.
Source Payload들의 길이가 모두 동일할 경우에 사용되는 ibg_mode0의 실시 예는 다음과 같다. 상기 ibg_mode0에서 Source Block을 구성하는 Source Payload들의 길이는 모두 동일하며 이때 Information Block은 Source Block과 일치한다. 따라서 상기 Source Block을 구성하는 Source Payload의 개수와 상기 Information Block을 구성하는 Information Payload의 개수는 일치한다.
Source Payload들의 길이가 상이할 경우에 사용되는 ibg_mode1의 실시 예는 다음과 같다. 상기 ibg_mode1에서 각 Source Payload는 하나의 Information Payload에 대응되며, 상기 Information Payload는 상기 Source Payload의 길이에 대한 정보와 Source Payload 그 자체 및 패딩(padding) 데이터로 구성된다. 상기 패딩 데이터는 Information Payload의 길이를 주어진 Smax와 동일하게 설정하기 위한 값으로 통상적으로는 각 byte에 00h를 할당한다. 상기 Smax는 시스템의 최대 전송 단위로 주어지거나 혹은 Source Block에 포함된 Source Payload들의 길이의 최대값으로 주어진다.
Source Payload들의 길이가 상이할 경우에 사용되는 ibg_mode2의 실시 예는 다음과 같다. 상기 ibg_mode2에서 각 Information Payload들은 N개의 Information Sub-Payload들로 구성되며, 각 Source Payload와 그 길이에 대한 정보를 Information Block에 위치시킬 때 그 시작 지점이 Information Sub-Payload의 시작 지점과 일치하도록 패딩 데이터를 포함한다. 상기 ibg_mode2의 구체적인 구성방법을 기술하기 위하여 다음과 같은 값들을 정의한다.
KSP: Source Block을 구성하는 Source Payload의 개수
KIP: Information Block을 구성하는 Information Payload의 개수
Ri: 상기 Information Block에 추가될 i번째 Source Payload의 octets
li: 상기 Ri의 octet 단위의 길이
Li: 상기 li의 값을 나타내는 network byte order로 작성된 2개의 octet
T: Information Payload의 byte 단위의 길이
N: 하나의 Information Payload를 구성하는 Information Sub-Payload의 개수
T': Information Sub-Payload의 byte 단위의 길이 (T'= T/N)
si: 다음을 만족시키는 최소의 정수, siT/N = siT' >= (li+2)
Pi: 0의 값을 가지는 siT' - (li+2)개의 octet
P: 0의 값을 KIP - S 개의 octet (S = sum{siT', i = 1,…, KSP})
이때 상기 Information Block은 i = 1, 2,…, KSP에 대하여 상기 Li, Ri, Pi를 연접한 후에 P를 연접하여 얻은 결과를 연속적인 T 간격으로 분할하여 Information Payload를 생성하는 방식으로 구성된다.
본 발명의 실시예에 따른 fec_coding_structure_for_fec_flow_i가 one stage coding structure (b001 혹은 b010)일 경우에 Parity_flow_descriptor 실시예는 다음 표 9와 같다.
FCS_i = one stage FEC
Parity_flow_descriptor(FCS_i) {
parity_flow_id_for_fec_flow_i
fec_code_id_for_parity_flow
maximum_k
maximum_p
length_of_pairty_payload
ibg_mode
if (ibg_mode = 10) {
num_of_parity_payloads_per_packet
num_of_sub_payloads_per_information_payload
}
}
상기 표 9에서 각 필드의 의미는 다음과 같다.
- parity _ flow _ id _ for _ fec _ flow _i: i 번째 FEC flow를 구성하는 Parity flow의 식별자
- fec _ code _ id _ for _ parity _ flow : 상기 Parity flow에 속한 Parity Payload를 생성하기 위하여 사용된 FEC 부호의 식별자
- maximum _k: Information Block을 구성하는 Information Payload 개수의 최대값
- maximum _p: FEC Block을 구성하는 Parity Payload 개수의 최대값
- length _ of _ parity _ payload : Parity Payload의 byte 단위의 길이
수신기는 상기 3개의 필드 maximum_k, maximum_p, length_of_parity_payload를 FEC 복호를 위해 필요한 버퍼 크기를 결정할 수 있다.
-ibg _ mode: Information block을 생성할 때 사용된 모드(알고리즘)를 나타냄
b00: ibg_mode0
b01: ibg_mode1
b10: ibg_mode2
b11: ibg_mode3
- num _ of _ parity _ payloads _ per _ packet : 하나의 FEC Repair Packet에 포함된 Parity Payload의 개수. Ibg_mode2일 경우에만 적용됨.
- num _ of _ sub _ payloads _ per _ information _ payload : 하나의 Information Payload를 구성하는 Information Sub-Payload의 개수. Ibg_mode2일 경우에만 적용됨.
본 발명의 실시예에 따른 fec_coding_structure_for_fec_flow_i가 two stage coding structure (b011)일 경우에 Parity_flow_descriptor 실시예는 다음 표 10과 같다.
FCS_i = two stage FEC
Parity_flow_descriptor(FCS_i) {
parity1_flow_id_for_fec_flow_i
fec_code_id_for_parity1_flow
maximum_k_for_parity1_flow
maximum_p_for_parity1_flow
parity2_flow_id_for_fec_flow_i
fec_code_id_for_parity2_flow
maximum_k_for_parity2_flow
maximum_p_for_parity2_flow
num_of_sub_block_per_source_block
length_of_pairty_payload
ibg_mode
if (ibg_mode = 10) {
num_of_parity_payloads_per_packet
num_of_sub_payloads_per_information_payload
}
}
상기 표 10에서 각 필드의 의미는 다음과 같다.
- parity1 _ flow _ id _ for _ fec _ flow _i: i 번째 FEC flow를 구성하는 Parity1 flow의 식별자
- fec _ code _ id _ for _ parity1 _ flow : 상기 Parity1 flow에 속한 Parity Payload를 생성하기 위하여 사용된 FEC 부호의 식별자
- maximum _k_ for _ parity1 _ flow : Parity1 flow에 속한 Parity Payload를 생성하기 위하여 사용된 Information Block을 구성하는 Information Payload 개수의 최대값
- maximum _p_ for _ parity1 _ flow : Parity1 flow에 속한 Parity Payload들이 포함된 FEC Block을 구성하는 Parity Payload 개수의 최대값
- parity2 _ flow _ id _ for _ fec _ flow _i: i 번째 FEC flow를 구성하는 Parity2 flow의 식별자
- fec _ code _ id _ for _ parity2 _ flow : 상기 Parity2 flow에 속한 Parity Payload를 생성하기 위하여 사용된 FEC 부호의 식별자
- maximum _k_ for _ parity2 _ flow : Parity2 flow에 속한 Parity Payload를 생성하기 위하여 사용된 Information Block을 구성하는 Information Payload 개수의 최대값
- maximum _p_ for _ parity2 _ flow : Parity2 flow에 속한 Parity Payload들이 포함된 FEC Block을 구성하는 Parity Payload 개수의 최대값
- num _ of _ sub _ block _ per _ source _ block : 하나의 Source Block를 구성하는 Source Sub-Block의 수로 two stage coding structure의 구조를 나타냄
- length _ of _ parity _ payload : Parity Payload의 byte 단위의 길이
-ibg _ mode: Information block을 생성할 때 사용된 모드(알고리즘)를 나타냄
b00: ibg_mode0
b01: ibg_mode1
b10: ibg_mode2
b11: ibg_mode3
- num _ of _ parity _ payloads _ per _ packet : 하나의 FEC Repair Packet에 포함된 Parity Payload의 개수. Ibg_mode2일 경우에만 적용됨.
- num _ of _ sub _ payloads _ per _ information _ payload : 하나의 Information Payload를 구성하는 Information Sub-Payload의 개수. Ibg_mode2일 경우에만 적용됨.
본 발명의 실시예에 따른 fec_coding_structure_for_fec_flow_i가 LA-FEC coding structure (b100)일 경우에 Parity_flow_descriptor 실시예는 다음 표 11과 같다. 하기 표 11 및 그 설명에서 BL parity flow는 LA-FEC의 기본 계층(base layer)을 보호하기 위하여 생성된 parity flow를 지칭하며, EL parity flow는 LA-FEC의 기본 계층(base layer)과 인핸스먼트 계층(enhancement layer)을 동시에 보호하기 위하여 생성된 parity flow를 지칭한다.
FCS_i = two stage FEC
Parity_flow_descriptor(FCS_i) {
BL_parity_flow_id_for_fec_flow_i
fec_code_id_for_BL_parity_flow
maximum_k_for_BL_parity_flow
maximum_p_for_BL_parity_flow
EL_parity_flow_id_for_fec_flow_i
fec_code_id_for_EL_parity_flow
maximum_k_for_EL_parity_flow
maximum_p_for_EL_parity_flow
length_of_pairty_payload
ibg_mode
if (ibg_mode = 10) {
num_of_parity_payloads_per_packet
num_of_sub_payloads_per_information_payload
}
}
상기 표 11에서 각 필드의 의미는 다음과 같다.
- BL _ parity1 _ flow _ id _ for _ fec _ flow _i: i 번째 FEC flow를 구성하는 BL Parity flow의 식별자
- fec _ code _ id _ for _ BL _ parity _ flow : 상기 BL Parity flow에 속한 Parity Payload를 생성하기 위하여 사용된 FEC 부호의 식별자
- maximum _k_ for _ BL _ parity _ flow : 상기 BL Parity flow에 속한 Parity Payload를 생성하기 위하여 사용된 Information Block을 구성하는 Information Payload 개수의 최대값
- maximum _p_ for _ BL _ parity _ flow : 상기 BL Party flow에 속한 Parity Payload들이 포함된 FEC Block을 구성하는 Parity Payload 개수의 최대값
- EL _ parity _ flow _ id _ for _ fec _ flow _i: i 번째 FEC flow를 구성하는 EL Parity flow의 식별자
- fec _ code _ id _ for _ EL _ parity _ flow : 상기 EL Parity flow에 속한 Parity Payload를 생성하기 위하여 사용된 FEC 부호의 식별자
- maximum _k_ for _ EL _ parity _ flow : 상기 EL Parity2 flow에 속한 Parity Payload를 생성하기 위하여 사용된 Information Block을 구성하는 Information Payload 개수의 최대 값
- maximum _p_ for _ EL _ parity _ flow : 상기 EL Parity flow에 속한 Parity Payload들이 포함된 FEC Block을 구성하는 Parity Payload 개수의 최대 값
- length _ of _ parity _ payload : Parity Payload의 byte 단위의 길이
-ibg _ mode: Information block을 생성할 때 사용된 모드(알고리즘)를 나타냄
b00: ibg_mode0
b01: ibg_mode1
b10: ibg_mode2
b11: ibg_mode3
- num _ of _ parity _ payloads _ per _ packet : 하나의 FEC Repair Packet에 포함된 Parity Payload의 개수. Ibg_mode2일 경우에만 적용됨.
- num _ of _ sub _ payloads _ per _ information _ payload : 하나의 Information Payload를 구성하는 Information Sub-Payload의 개수. Ibg_mode2일 경우에만 적용됨.
다음, 본 발명의 실시예에 따른 FEC flow 구성 방법을 설명한다.
MMT package는 다음의 3가지 Asset들로 구성된다.
-Video Asset(ID0)
-Audio Asset(ID1)
-File Asset(ID2)
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
도 17은 본 발명의 다른 실시예에 의한 MMT flow를 설명하기 위한 도면이다.
여기서, MMT 플로우는 소스 페이로드가 MMT 페리오드인 경우 MMT 페이로드들의 시퀀스(Sequenc)를 말하고 소스 페이로드가 MMT 패킷인 경우 MMT 패킷들의 시퀀스를 말한다.
- Case1(1710): 오디오, 비디오 파일 Asset 각각에 대해 하나의 MMT flow를 구성함
- Case2(1720): Audio와 Video Asset을 위해 하나의 MMT flow를 구성하고, File Asset을 위해 다른 하나의 MMT flow를 구성함
- Case3(1730): Audio, Video, File Asset을 위해 하나의 MMT flow를 구성함
- Case4(1740): Audio와 Video Asset이 다중화되는 경우에, Audio와 Video Asset에 대해 하나의 MMT flow를 구성하고 File Asset을 위해 다른 하나의 MMT flow를 구성함
- Case5(1750): 다중화된 AV Asset과 File Asset을 위해 하나의 MMT flow를 구성함
- Case6(1760): Audio, Video, File이 다중화되는 경우에 Audio, Video, File Asset을 위해 하나의 MMT flow를 구성함
도 17에 도시된 Case 1 내지 6(1710-1760)에 대해서는 다음과 같이 FEC flow를 구성할 수 있다.
-Case1(1710)
  Case1-1: 3개의 Asset을 위해 하나의 FEC flow를 구성함
이는 3개의 MMT 에셋을 하나의 소스 플로우로 구성하고 FEC 보호(protection)로 전송하기 위해 FEC 인코딩 수행 후 패리티 플로우를 생성하여 하나의 FEC 플로우를 구성하여 전송함을 의미한다.
  Case1-2: Audio와 Video Asset을 위한 하나의 FEC flow와 File Asset을 위한 다른 하나의 FEC flow를 구성함(2개의 FEC flow)
이는 오디오, 비디오 에셋들을 하나의 소스 플로우로 구성하고 파일 에셋을 FEC 보호또는 다른 소스 플로우로 하여 2개의 소스 플로우로 구성하고 FEC 보호로 전송하기 위해 각각의 소스 플로우에 FEC 인코딩 수행 후 패리티 플로우를 생성하여 FEC 플로우 구성함을 의미한다. 즉, 오디오, 비디오 에셋을 위한 하나의 FEC 플로우와 파일 에셋을 위한 다른 하나의 FEC 플로우 즉, 2개의 FEC 플로우로 전송함을 의미한다.
  Case1-3: Asset별로 각각 하나의 FEC flow를 구성함(3개의 FEC flow)
이는 각각의 에셋을 하나의 소스 플로우로 하고 FEC 보호하여 전송하기 위해 FEC 인코딩에 의해 패리티 플로우를 생성하여 FEC 플로우로 전송함을 의미한다. 즉, 오디오 에셋을 위한 하나의 FEC 플로우, 비디오 에셋을 위한 다른 하나의 FEC 플로우, 파일 에셋을 위한 다른 하나의 FEC 플로우 즉, 3개의 FEC 플로우로 전송함을 의미한다.
- Case2(1720)
  Case2-1: Audio와 Video Asset과 File Asset을 위한 하나의 FEC flow를 구성함 (Case 1-1과 동일)
  Case2-2: Audio와 Video Asset을 위한 하나의 FEC flow와 File Asset을 위한 다른 하나의 FEC flow를 구성함(2개의 FEC flow) (Case 1-2와 동일)
- Case3(1730)
  Case3-1: Audio, Video, File Asset을 위한 하나의 FEC flow를 구성함 (Case 1-1과 동일)
- Case4(1740)
  Case4-1: 다중화된 AV Asset과 File Asset을 위한 하나의 FEC flow를 구성함
  Case4-2: 다중화된 AV Asset을 위한 하나의 FEC flow와 File Asset을 위한 다른 하나의 FEC flow를 구성함
- Case5
  Case5-1: 다중화된 AV Asset과 File Asset을 위한 하나의 FEC flow를 구성함
-Case6
  Case6-1: 다중화된 AVF Asset을 위한 하나의 FEC flow를 구성함
도 18은 본 발명의 실시예에 따른 송신기의 동작을 도시한 도면이다.
도 18을 참조하면, 송신기는 MMT 패키지 내의 전송하고자 하는 MMT 에셋을 AL-FEC 보호 할 것인지 여부를 결정한다(1810). 이후, MMT 패키지 내의 전송하고자 하는 하나 또는 그 이상의 MMT 에셋을 몇 개의 FEC 플로우로 구분하여 전송할 것인지 및 각 FEC 플로우에 전송될 MMT 에셋을 결정하고, 각 FEC 플로우에 전송되는 MMT 에셋의 QoS에 기반하여 FEC 코딩 구조를 1 단계 FEC 코딩 구조 또는 2 단계 FEC 코딩 구조 중 어느 하나로 결정한다(1820).
또한, 각 FEC 플로우에 전송될 하나 또는 그 이상의 MMT 에셋에 대한 FEC 플로우 descriptor를 C. Layer를 통해 수신기와 소통하며(1830), 전송하고자 하는 MMT 에셋들을 전송을 위한 단위로 나누어 MMT 플로우들을 생성한다(1840). 이때 D. Layer 헤더는 페이로드의 데이터가 속하는 에셋 ID 정보 필드를 저장하여 전송된다. 페이로드가 여러 가지 에셋들의 데이터로 다중화된 경우에는 각각의 데이터에 대한 에셋 ID 정보 필드를 저장한다.
MMT 플로우들이 생성되면, 전송하고자 하는 MMT 에셋들을 위한 각 FEC 플로우를 위해 결정된 FEC 코딩 구조로 AL-FEC 인코딩을 수행한다(1850). 일 예로 FEC 플로우에 전송되는 MMT 에셋들이 오디오/비디오(AV) 에셋과 파일 에셋이고 그들의 QoS가 서로 다른 경우 즉, 오디오/비디오(AV) 에셋들의 200ms 이하의 지연과 손실을 허용하고 파일 에셋이 지연에 크게 영향없이 손실을 허용하지 않는 경우, 오디오, 비디오, 파일 에셋들로 구성된 MMT 플로우을 2 단계 FEC 코딩 구조로 인코딩 한다. 즉, 2 단계 FEC 코딩 구조에 의한 인코딩을 위해 충분한 크기의 소스 블록을 구성하는데 이를 m개의 작은 서브 블록으로 나눈다. 이때, 각각의 서브 블록은 오디오/비디오(AV) 에셋들의 지연 특성을 만족하는 작은 크기로 구성하여 FEC 인코딩 수행하여 FEC 1 블록을 생성한 후 소스 블록 전체에 대해서는 파일 에셋의 손실 특성을 만족하도록 FEC 2 코딩을 수행하여 2 단계 FEC 코딩을 수행한다.
 
삭제
삭제
삭제
도 19는 본 발명의 실시예에 따른 수신기의 동작을 도시한 도면이다.
도 19를 참조하면, 수신기는 수신기는 C. Layer를 통해 송신기와 소통한 FEC 플로우 descriptor로부터 각 FEC 플로우에 전송되는 에셋들이 무엇이고, 그 에셋들의 error resiliency 특성이나 QoS가 어떠한지를 파악하고, 각 FEC 플로우에 적용된 FEC 코딩 구조가 무엇인지 파악한다(1910). 이후, 수신된 패킷들의 D. Layer 헤더에 FEC 플로우 라벨(label)이 저장되어 전송되었는지를 확인하여 저장되어 전송된 경우에는 이 값으로부터 각 FEC 플로우를 분류해 내거나 또한 D. Layer 헤더의 에셋 ID 정보 필드(Information Field)로부터 해당 패킷이 전송하고 있는 데이터의 에셋 ID들을 파악하여 각각의 FEC 플로우들을 분류해 낸다(1920). 분류가 되면, 분류된 각각의 FEC 플로우를 송신기가 적용한 FEC 코딩 구조에 기반하여 FEC 디코딩을 수행한다(1920).
이때 송신기가 적용한 FEC coding structure가 Two Stages FEC coding structure인 경우, 상기 FEC flow에 전송되는 Asset들의 error resiliency 특성이나 QoS에 따라 여러 가지 FEC decoding 방법을 수행할 수 있다. 예를 들어 Audio, Video, File Assets들이 하나의 FEC flow에 Two Stage FEC coding structure로 encoding되어 전송되고, Audio and Video Assets의 QoS가 low delay와 loss를 허용하는 반면 File Asset의 QoS가 delay는 크게 상관없고 loss를 허용하지 않는 경우, FEC decoder는 FEC 1 decoding을 통해 low delay로 AV data를 재생하고 FEC 1 decoding 실패 시 FEC 2 decoding을 통해 File Asset을 복구한다.
한편, 본 발명에서 C.Layer는 configuration information을 포함하는 C.1 Layer와 Delivery를 제어하기 위한 C.2 Layer를 포함하며, D. Layer는 MMT Payload를 생성하기 위한 D.1 Layer이거나 또는 MMT Transport Packet을 생성하는 D.2 Layer이다.
또한 본 명세서에서는 FEC encoding을 위한 Source Payload는 MMT Payload Format의 Payload로 명시하고 있으나, 본 발명은 여기에 제약하지 않고 상기 Source Payload가 D.1 Layer에서 생성되는 MMT Payload Format 그 자체이거나, 또는 D.2 Header를 부가한 MMT Transport Packet이거나 또는 MMT Payload Format의 Payload에 D.1 Header와 D.2 Header의 정보들 중 FEC Protection이 요구되는 정보를 포함하여 구성되는 경우를 모두 포함할 수 있다.
또한 본 발명에서 사용한 Descriptor들은 C. Layer FEC 관련 제어 메시지에 대한 구성 예로 사용한 것일 뿐, 본 발명은 여기에 제약되지는 않고 그 내용을 어떠한 형태로든 전달하는 것이 가능하다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐 아니라 이 특허청구의 범위와 균등한 것들에 의해서 정해져야 한다.

Claims (7)

  1. 통신 시스템에 있어서의 패킷 송신 방법에 있어서,
    FEC(Forward Error Correction)으로 보호되는 적어도 1개의 MMT(MPEG Media Transport) 어셋을 결정하는 과정과,
    상기 적어도 1개의 MMT 어셋을 송신하기 위한 적어도 1개의 FEC 플로우를 결정하는 과정과,
    상기 MMT 어셋을 운반하는 MMT 패킷들을 포함하는 FEC 소스 플로우의 개수를 결정하는 과정과,
    상기 FEC 소스 플로우에 적용하기 위한 FEC 부호화 구조와 FEC 부호를 토대로 FEC 구성 정보를 식별하는 과정과,
    상기 FEC부호를 이용하여 상기 FEC 소스 플로우에 대하여 FEC 부호화를 실행하여 적어도 1개의 FEC 리페어 플로우를 포함하는 리페어 심볼들을 생성하는 과정과,
    상기 리페어 심볼들 각각에 대한 FEC 리페어 패킷들을 생성해서 수신기로 송신하는 과정과,
    상기 FEC 구성 정보를 포함하는 FEC 메시지를 상기 수신기로 송신하는 과정을 포함하는 패킷 송신 방법.
  2. 제1항에 있어서,
    상기 FEC 메시지는, 상기 FEC 부호가 적용된 상기 적어도 1개의 소스 플로우가 존재하는지를 나타내는 정보, 상기 FEC 플로우에 대한 정보를 나타내는 FEC 플로우 디스크립터에 관한 정보, 상기 FEC 플로우 디스크립터의 길이에 관한 정보 중 적어도 하나를 포함하는 패킷 송신 방법.
  3. 제2항에 있어서,
    상기 FEC 플로우 디스크립터는, FEC 부호화된 플로우들의 개수에 관한 정보, 동일한 FEC 소스 플로우에 속하는 어셋들의 개수에 관한 정보, FEC 부호화된 플로우를 식별하기 위한 FEC 플로우 식별자에 관한 정보, FEC 소스 플로우를 식별하기 위한 소스 플로우 식별자에 관한 정보, 관련 FEC 소스 플로우에 적용된 FEC 부호화 구조를 나타내는 정보 중 적어도 하나를 포함하는 패킷 송신 방법.
  4. 제2항에 있어서,
    상기 FEC 플로우 디스크립터는, 소스 심볼 블록을 생성하기 위해 사용되는 모드 타입을 나타내는 정보, 리페어 심볼의 길이에 관한 정보, FEC 리페어 패킷에서 운반되는 리페어 심볼의 개수에 관한 정보, 소스 심볼을 구성하는 심볼 엘리먼트의 개수에 관한 정보 중 적어도 하나를 포함하는 패킷 송신 방법.
  5. 제2항에 있어서,
    상기 FEC부호화 구조가 1스테이지 FEC 부호화 구조일 경우에, 상기 FEC 플로우 디스크립터는, FEC 리페어 플로우를 식별하기 위한 리페어 플로우 식별자에 관한 정보, 관련 FEC 리페어 플로우에 적용되는 FEC 부호에 관한 정보, 상기 관련 FEC 리페어 플로우를 위한 소스 심볼 블록 내에서 허락된 소스 심볼의 최대 개수를 나타내는 k에 관한 정보, 상기 관련 FEC 리페어 플로우를 위한 리페어 심볼 블록 내에서 허락된 리페어 심볼의 최대 개수를 나타내는 p에 관한 정보 중 적어도 하나를 포함하는 패킷 송신 방법.
  6. 제2항에 있어서,
    상기 FEC부호화 구조가 2스테이지 FEC 부호화 구조일 경우에, 상기 FEC 플로우 디스크립터는, 상기 2스테이지 FEC 부호화 구조를 위한 소스 패킷 블록을 구성하는 소스 서브블록의 개수에 관한 정보, FEC 리페어 플로우를 식별하기 위한 리페어 플로우 식별자에 관한 정보, 관련 FEC 리페어 플로우에 적용되는 FEC 부호에 관한 정보, 상기 관련 FEC 리페어 플로우를 위한 소스 심볼 블록 내에서 허락된 소스 심볼의 최대 개수를 나타내는 k에 관한 정보, 상기 관련 FEC 리페어 플로우를 위한 리페어 심볼 블록 내에서 허락된 리페어 심볼의 최대 개수를 나타내는 p에 관한 정보 중 적어도 하나를 포함하는 패킷 송신 방법.
  7. 제2항에 있어서,
    상기 FEC부호화 구조가 AL(Application Layer) FEC 부호화 구조일 경우에, 상기 FEC 플로우 디스크립터는, 관련 FEC 리페어 플로우에 적용되는 FEC 부호에 관한 정보, FEC 리페어 플로우를 식별하기 위한 리페어 플로우 식별자에 관한 정보, 상기 관련 FEC 리페어 플로우를 위한 소스 심볼 블록 내에서 허락된 소스 심볼의 최대 개수를 나타내는 k에 관한 정보, 상기 관련 FEC 리페어 플로우를 위한 리페어 심볼 블록 내에서 허락된 리페어 심볼의 최대 개수를 나타내는 p에 관한 정보 중 적어도 하나를 포함하는 패킷 송신 방법.
KR1020120100522A 2011-11-24 2012-09-11 통신 시스템에서 패킷 송수신 장치 및 방법 KR101995221B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
EP12851568.1A EP2784964B1 (en) 2011-11-24 2012-11-23 Device and method for transmitting/receiving a packet in communication system
CN201280068020.1A CN104081702B (zh) 2011-11-24 2012-11-23 用于在通信系统中发送/接收分组的方法
PCT/KR2012/009968 WO2013077662A1 (ko) 2011-11-24 2012-11-23 통신 시스템에서 패킷 송수신 장치 및 방법
US14/360,480 US9578292B2 (en) 2011-11-24 2012-11-23 Device and method for transmitting/receiving a packet in communication system
JP2014543420A JP6177250B2 (ja) 2011-11-24 2012-11-23 通信システムにおけるパケット送受信装置及び方法
US15/438,439 US9906326B2 (en) 2011-11-24 2017-02-21 Device and method for transmitting/receiving a packet in communication system
JP2017087248A JP6334028B2 (ja) 2011-11-24 2017-04-26 通信システムにおけるパケット送受信装置及び方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20110123878 2011-11-24
KR1020110123878 2011-11-24
KR1020110125885 2011-11-29
KR20110125885 2011-11-29

Publications (2)

Publication Number Publication Date
KR20130057937A KR20130057937A (ko) 2013-06-03
KR101995221B1 true KR101995221B1 (ko) 2019-07-16

Family

ID=48857392

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120100522A KR101995221B1 (ko) 2011-11-24 2012-09-11 통신 시스템에서 패킷 송수신 장치 및 방법

Country Status (6)

Country Link
US (2) US9578292B2 (ko)
EP (1) EP2784964B1 (ko)
JP (2) JP6177250B2 (ko)
KR (1) KR101995221B1 (ko)
CN (1) CN104081702B (ko)
WO (1) WO2013077662A1 (ko)

Families Citing this family (26)

* 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
US9813350B2 (en) * 2012-01-31 2017-11-07 Sharp Kabushiki Kaisha Generation device, reproduction device, data structure, generation method, reproduction method, control program, and recording medium
US20150033091A1 (en) * 2013-07-23 2015-01-29 Electronics And Telecommunications Research Institute Apparatus and method for requesting retransmission of lost packet based on mpeg media transport system
US20150032845A1 (en) 2013-07-26 2015-01-29 Samsung Electronics Co., Ltd. Packet transmission protocol supporting downloading and streaming
WO2015060561A1 (ko) * 2013-10-23 2015-04-30 한국전자통신연구원 수신품질피드백 메시지를 이용한 mmt 버퍼 모델 관리 장치 및 방법
KR102020025B1 (ko) * 2013-10-23 2019-09-10 한국전자통신연구원 수신품질피드백 메시지를 이용한 mmt 버퍼 모델 관리 장치 및 방법
KR20150047082A (ko) 2013-10-23 2015-05-04 한국전자통신연구원 Mmt 페이로드 헤더 구성 장치 및 방법
WO2015060586A1 (ko) * 2013-10-23 2015-04-30 한국전자통신연구원 Mmt 페이로드 헤더 구성 장치 및 방법
KR20150050133A (ko) * 2013-10-31 2015-05-08 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
KR20150084632A (ko) 2014-01-13 2015-07-22 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
US10887651B2 (en) 2014-03-31 2021-01-05 Samsung Electronics Co., Ltd. Signaling and operation of an MMTP de-capsulation buffer
US10530828B2 (en) * 2014-03-31 2020-01-07 Samsung Electronics Co., Ltd. Method and apparatus for signaling and operation of low delay consumption of media data in MMT
JP5725235B1 (ja) 2014-04-22 2015-05-27 ソニー株式会社 受信装置及び受信方法、並びに、送信装置及び送信方法
KR20150145584A (ko) 2014-06-20 2015-12-30 삼성전자주식회사 방송 및 통신 시스템에서 패킷 송수신 방법 및 장치
KR102127641B1 (ko) * 2014-06-20 2020-06-30 삼성전자주식회사 응용 계층 순방향 오류 정정 방식을 사용하여 제공되는 방송 서비스의 수신을 제어하는 방법 및 장치
JP6359680B2 (ja) 2014-10-20 2018-07-18 エルジー エレクトロニクス インコーポレイティド 放送信号送信装置、放送信号受信装置、放送信号送信方法、及び放送信号受信方法
WO2016110275A1 (zh) * 2015-01-08 2016-07-14 上海交通大学 一种基于媒体内容的fec机制
CN104579576B (zh) * 2015-01-27 2018-02-09 清华大学 编码调制方法及系统
KR102153554B1 (ko) 2015-06-17 2020-09-08 한국전자통신연구원 미디어 데이터의 처리를 위한 mmt 장치 및 방법
WO2016204442A1 (ko) * 2015-06-17 2016-12-22 한국전자통신연구원 미디어 데이터의 처리를 위한 mmt 장치 및 방법
CN108702245B (zh) * 2016-02-19 2021-01-15 联发科技股份有限公司 Mpeg媒体传送的自适应应用层前向纠错的方法和系统
JP2017175495A (ja) * 2016-03-25 2017-09-28 日本電気株式会社 送信装置、受信装置、通信システム、方法およびプログラム
KR102421791B1 (ko) 2016-05-26 2022-07-15 삼성전자주식회사 Mmt 네트워크 시스템에서 미디어 시간 정보를 전송 하는 방법 및 장치
US10542297B2 (en) * 2017-03-07 2020-01-21 Mediatek Inc. Methods and apparatus for signaling asset change information for media content
KR102580248B1 (ko) * 2018-10-02 2023-09-19 삼성전자주식회사 전자장치, 패킷전송 장치 및 방법
JP7466783B1 (ja) 2023-02-21 2024-04-12 三菱電機株式会社 光送信装置、光受信装置、光伝送システムおよび光伝送方法

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496510B1 (en) * 1997-11-14 2002-12-17 Hitachi, Ltd. Scalable cluster-type router device and configuring method thereof
JP2000078197A (ja) * 1998-09-03 2000-03-14 Toshiba Corp 通信ノード及びパケット転送方法
US6460086B1 (en) * 1998-12-01 2002-10-01 Sun Microsystems, Inc. Method and apparatus for delivery of a bytecode embedded within a transport stream
KR100644594B1 (ko) * 2000-06-10 2006-11-13 삼성전자주식회사 무선 데이터 송수신 장치 및 그 방법
KR20050084284A (ko) * 2002-12-13 2005-08-26 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 게이트웨이를 위한 장치, 전송 장치, 네트워크, 시스템전환 방법, 인코딩된 스트림 전송 방법 및 네트워크 제공방법
GB2406483A (en) * 2003-09-29 2005-03-30 Nokia Corp Burst transmission
US7539187B2 (en) * 2004-07-07 2009-05-26 Qvidium Technologies, Inc. System and method for low-latency content-sensitive forward error correction
US7660245B1 (en) * 2004-09-16 2010-02-09 Qualcomm Incorporated FEC architecture for streaming services including symbol-based operations and packet tagging
US7447978B2 (en) * 2004-11-16 2008-11-04 Nokia Corporation Buffering packets of a media stream
US7904781B2 (en) 2004-12-09 2011-03-08 Mitsubishi Electric Corporation Data transmitting device, data receiving device, and data distribution system
KR20070114308A (ko) * 2005-04-07 2007-11-30 노키아 코포레이션 스트리밍 배달의 버퍼링
US7610544B2 (en) * 2005-05-18 2009-10-27 Telegent Systems, Inc. Erasure generation in a forward-error-correcting communication system
KR100724890B1 (ko) * 2005-09-05 2007-06-04 삼성전자주식회사 디브이비-에이치 수신기에서 리드-솔로몬 복호를 위한프레임 경계 검출 방법 및 장치와 이를 이용한 멀티프로토콜 캡슐화-순방향 에러 정정 복호 방법
US20070076708A1 (en) 2005-09-30 2007-04-05 Mikolaj Kolakowski Error protection techniques for frames on a wireless network
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
KR20080047263A (ko) * 2006-11-24 2008-05-28 삼성전자주식회사 디지털 방송 시스템 및 그 시스템의 에러 정정 방법
US20080134266A1 (en) 2006-11-24 2008-06-05 Young-Seok Kang Digital broadcasting system and error correction method thereof
EP3041195A1 (en) * 2007-01-12 2016-07-06 University-Industry Cooperation Group Of Kyung Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format
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
US8560921B2 (en) * 2007-04-05 2013-10-15 Digital Fountain, Inc. Protocol extensions to support varying FEC types
US8553555B2 (en) * 2008-01-18 2013-10-08 Qualcomm Incorporated Methods and apparatus for an efficient multicast file distribution system
WO2010017836A1 (en) * 2008-08-12 2010-02-18 Telefonaktiebolaget L M Ericsson (Publ) Subdivision of media streams for channel switching
US8010691B2 (en) * 2008-12-29 2011-08-30 Cisco Technology, Inc. Content tagging of media streams
KR101357645B1 (ko) * 2009-07-10 2014-02-05 한국전자통신연구원 순방향 오류 정정 부호화 및 복호화 방법과 그 장치, 디지털 방송 수신 장치 및 그의 복호화 방법
US8543893B2 (en) * 2009-09-02 2013-09-24 Agere Systems Llc Receiver for error-protected packet-based frame
FR2949931B1 (fr) 2009-09-10 2011-08-26 Canon Kk Procedes et dispositifs de transmission d'un flux de donnees, produit programme d'ordinateur et moyen de stockage correspondants.
US8839078B2 (en) * 2010-03-05 2014-09-16 Samsung Electronics Co., Ltd. Application layer FEC framework for WiGig
CN102860021B (zh) 2010-04-20 2017-06-20 三星电子株式会社 用于传送和接收媒体数据的接口装置和方法
US8473821B2 (en) * 2010-11-09 2013-06-25 Qualcomm, Incorporated Packet-level erasure protection coding in aggregated packet transmissions
US8705639B2 (en) * 2011-10-19 2014-04-22 Comcast Cable Communications, Llc Signal monitoring platform
KR101961736B1 (ko) 2012-04-23 2019-03-25 삼성전자 주식회사 통신 시스템에서 패킷 송수신 장치 및 방법

Also Published As

Publication number Publication date
JP2014533916A (ja) 2014-12-15
CN104081702B (zh) 2018-08-07
JP6177250B2 (ja) 2017-08-09
KR20130057937A (ko) 2013-06-03
EP2784964A1 (en) 2014-10-01
US20170230139A1 (en) 2017-08-10
JP2017175634A (ja) 2017-09-28
CN104081702A (zh) 2014-10-01
WO2013077662A1 (ko) 2013-05-30
US9906326B2 (en) 2018-02-27
EP2784964A4 (en) 2015-10-28
EP2784964B1 (en) 2020-10-07
US20140314158A1 (en) 2014-10-23
JP6334028B2 (ja) 2018-05-30
US9578292B2 (en) 2017-02-21

Similar Documents

Publication Publication Date Title
KR101995221B1 (ko) 통신 시스템에서 패킷 송수신 장치 및 방법
KR101964852B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
KR101829923B1 (ko) 데이터 통신 시스템에서 부호화 장치 및 방법
JP5550834B2 (ja) 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング
KR101933465B1 (ko) 이동 통신 시스템에서 패킷 송수신 장치 및 방법
KR102148158B1 (ko) 통신 시스템에서 패킷 송수신 방법 및 장치
JP6486684B2 (ja) 移動通信システムにおける順方向誤り訂正パケットを送受信する装置及び方法
KR101983032B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
EP2842253B1 (en) Apparatus and method for transmitting a packet in a communication system
KR102163338B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
JP6511472B2 (ja) ブロードキャスティング及び/又は通信システムにおけるパケットの生成及び復元のための方法及び装置
KR101874116B1 (ko) 멀티미디어 시스템에서 순방향 오류 정정 부호화 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant