KR20130126876A - 통신 시스템에서 패킷 송수신 방법 및 장치 - Google Patents
통신 시스템에서 패킷 송수신 방법 및 장치 Download PDFInfo
- Publication number
- KR20130126876A KR20130126876A KR1020120100528A KR20120100528A KR20130126876A KR 20130126876 A KR20130126876 A KR 20130126876A KR 1020120100528 A KR1020120100528 A KR 1020120100528A KR 20120100528 A KR20120100528 A KR 20120100528A KR 20130126876 A KR20130126876 A KR 20130126876A
- Authority
- KR
- South Korea
- Prior art keywords
- fec
- payload
- information
- packet
- parity
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0075—Transmission of coding parameters to receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 통신 시스템에서 패킷 구성 방법에 관한 것으로, 본 발명의 일 실시 예에 따르는 패킷 구성 방법은, FEC (Forward Error Correction) 관련 제어정보를 생성하고, 어플리케이션 계층에서 출력된 데이터로부터 Common Header와 Optional Header로 구성된 Header를 추가하여 생성된 소스 페이로드(Source Payload)들을 처리하여 정보어 페이로드(Information Payload)로 이루어진 정보어 블록 (Information block)을 생성하여, 상기 정보어 블록에 FEC 부호를 적용하여 패리티 (Parity) 페이로드를 생성하고, 상기 생성된 FEC 제어 정보의 전부 혹은 그 일부를 바탕으로 소스 페이로드(Source Payload)를 위한 FEC Header 정보와 패리티 페이로드를 위한 FEC Header를 생성하는 과정과, 상기 소스 페이로드(Source Payload)를 위한 FEC Header 정보와 소스 페이로드(Source Payload)를 결합하여 소스 페이로드(Source Payload)를 위한 FEC 패킷을 생성하고, 상기 생성된 하나 또는 그 이상의 패리티 페이로드에 상기 Common Header 정보와 상기 패리티 페이로드를 위한 FEC Header 정보를 결합하여 패리티 페이로드를 위한 FEC 패킷을 생성하는 과정과 상기 생성된 FCE 패킷을 송신하는 과정을 포함한다.
Description
본 발명은 통신 시스템에 관한 것으로, 특히 통신 시스템에서 패킷 송수신 방법 및 장치에 관한 것이다.
다양한 컨텐츠(Contents)의 증가와 High Definition(HD) 컨텐츠, Ultra High Definition(UHD) 컨텐츠들과 같은 고용량 컨텐츠들의 증가로 네트워크(Network) 상에서 데이터 혼잡(Data Congestion)은 점점 더 심화되고 있다. 이러한 상황으로 인하여 전송기(Sender, 예컨대, Host A)가 보낸 컨텐츠들이 수신기(Receiver, 예컨대, Host B)에게 정상적으로 전달되지 않고, 컨텐츠의 일부가 경로(Route)상에서 손실되는 상황이 발생한다. 일반적으로 컴퓨터 네트워크와 통신에서 데이터(Data)는 패킷(Packet) 단위로 전송되므로 컨텐츠의 손실은 패킷 단위로 발생한다. 상기 패킷은 전송하고자 하는 데이터의 한 블록(페이로드, Payload)과 주소지 정보(발신지 수소, 목적기 주소), 관리정보(헤더, Header)로 구성된다. 따라서, 네트워크에서 패킷 손실이 발생할 경우에 수신기는 손실된 패킷을 수신할 수 없게 됨으로써, 상기 손실된 패킷 내의 데이터 및 관리정보를 알 수 없다. 이로 인하여 오디오(Audio)의 품질 저하, 비디오(Video)의 화질 열화나 화면 깨짐, 자막 누락, 파일의 손실 등과 같은 다양한 형태로 사용자의 불편을 초래하게 된다. 이와 같은 이유로 네트워크에서 발생된 데이터 손실을 복구하기 위한 방법으로 응용 계층 순방향 에러 정정(Application Layer Forward Error Correction : AL-FEC)이 필요하고 이를 위한 FEC 패킷을 구성하여 송수신하는 방법이 필요하다.
본 발명은 패킷 기반 통신 방식을 지원하는 통신 시스템에서 하나 이상의 오류 정정 부호를 사용하여 생성된 패티리 패킷을 데이터 패킷과 함께 전송하여 네트워크의 신뢰도를 향상시키는 AL-FEC 운용을 위한 FEC 패킷 구성하여 송수신하는 방법 및 장치를 제공한다.
본 발명의 일 실시 예에 따르는 통신 시스템에서 FEC 패킷을 송신하는 방법은, FEC (Forward Error Correction) 관련 제어정보를 생성하는 과정과, 어플리케이션 계층에서 출력된 데이터 Stream를 소정 크기의 데이터 페이로드(Data Payload)로 나누고 나누어진 각각의 데이터 페이로드(Data Payload)에 공통 헤더(Common Header) 정보와 선택적 헤더(Optional Header) 정보로 구성된 Header를 상기 데이터 페이로드(Data Payload)에 추가하여 소스 페이로드(Source Payload)를 생성하는 과정과, 상기 FEC 관련 제어 정보를 바탕으로 소정 개수의 소스 페이로드(Source Payload)들을 처리하여 정보어 페이로드(Information Payload)로 이루어진 정보어 블록 (Information block)을 생성하고 상기 정보어 블록에 FEC 부호를 적용하여 패리티 (Parity) 페이로드를 생성하는 과정과, 상기 생성된 FEC 제어 정보의 전부 혹은 그 일부를 바탕으로 소스 페이로드(Source Payload)를 위한 FEC Payload ID (FEC Source Payload ID) 정보와 패리티 페이로드를 위한 FEC Payload ID (FEC Parity Payload ID)를 생성하는 과정과, 상기 소스 페이로드(Source Payload)를 위한 FEC Payload ID 정보와 소스 페이로드(Source Payload)를 결합하여 소스 페이로드(Source Payload)를 위한 FEC 패킷을 생성하고, 상기 생성된 하나 또는 그 이상의 패리티 페이로드에 상기 Common Header 정보와 상기 패리티 페이로드를 위한 FEC Payload ID 정보를 결합하여 패리티 페이로드를 위한 FEC 패킷을 생성하는 과정하고, 상기 생성된 FEC 패킷을 송신하는 과정을 포함한다.
또한 본 발명의 일 실시 예에 따르는 통신 시스템에서 패킷 송신 장치는, FEC 관련 제어정보를 생성하는 제어부와, 어플리케이션 계층에서 출력된 데이터 Stream를 소정 크기의 데이터 페이로드(Data Payload)로 나누고 나누어진 각각의 데이터 페이로드(Data Payload)에 Common Header 정보와 Optional Header 정보로 구성된 Header를 상기 데이터 페이로드(Data Payload)에 추가하여 소스 페이로드(Source Payload)를 생성하는 Source Payload 생성부와, 소스 페이로드들을 처리하여 정보어 페이로드(Information Payload)로 이루어진 정보어 블록을 생성하는 정보어 블록 생성부와, 상기 정보어 블록에 FEC 부호를 적용하여 패리티 페이로드를 생성하는 FEC 부호화부와, 상기 FEC 제어정보의 전부 혹은 그 일부로부터 소스 페이로드(Source Payload)를 위한 FEC Payload ID 정보와 패리티 페이로드를 위한 FEC Payload ID 정보를 생성하는 FEC Payload ID 정보 생성부, 상기 소스 페이로드와 소스 페이로드를 위한 FEC Payload ID 정보로 구성되거나 또는 패리티 페이로드를 위한 FEC Payload ID 정보, 상기 Common Header 정보 제어정보, 상기 패리티 페이로드로 구성된 FEC 패킷을 구성하는 FEC 패킷 생성부 및 상기 FEC 패킷과 상기 제어정보의 전부 혹은 그 일부를 전송하는 전송부를 포함한다.
상기에서 Common Header정보라 함은 데이터 페이로드를 위한 Header 정보 중에서 패리티 페이로드에 공통적으로 적용되는 정보 field를 가지를 Header를 말하는 것으로 상기 Common Header 정보는 수신된 패킷이 데이터 페이로드를 위한 패킷인지 아니면 패리티 페이로드를 위한 패킷인지 구분할 수 있는 정보를 포함한다. 추가적으로 수신된 FEC 패킷의 FEC 적용 여부를 나타내는 정보를 FEC 패킷내 또는 FEC 패킷과는 다른 별도의 제어정보를 위한 패킷으로 전송된다. 이로 인하여 Common Header를 FEC Packet의 선두나 후미 등과 같이 고정된 위치에 배치함에 의해 수신된 FEC 패킷이 데이터 페이로드를 위한 패킷인지 아니면 패리티 페이로드를 위한 패깃인지 구분할 수 있다.
본 발명의 일 실시 예에 따르는 통신 시스템에서 패킷 수신 방법은, 송신기로부터 수신된 FEC 패킷 및 제어정보를 근거로 FEC 관련 제어정보를 획득하는 과정과, 획득된 FEC 관련 제어정보로부터 소스 페이로드를 위한 FEC 패킷과 패리티 페이로드를 위한 FEC 패킷을 구분하는 과정과 상기 FEC 패킷 중 소스 페이로드를 포함한 FEC 패킷에서 소스 페이로드를 획득하여 정보어 블록을 구성하는 과정과, 상기 정보어 블록에서 손실된 부분을 상기 FEC 패킷 중 패리티 페이로드를 포함한 FEC 패킷에서 획득한 패티리 페이로드를 사용하여 복원하는 과정 및 상기 복원된 정보어 블록에서 소스 페이로드를 획득하는 과정과 상기 획득된 소스 페이로드로부터 데이터 페이로드를 어플리케이션 계층으로 전달하는 과정을 포함한다.
본 발명의 일 실시 예에 따르는 통신 시스템에서 패킷 수신 장치는, 송신기로부터 수신된 FEC 패킷으로 부터 소스 페이로드를 위한 FEC 패킷과 패리티 페이로드를 위한 FEC 패킷인지를 구분하고 FEC 관련 제어정보를 획득하는 제어부와, 상기 FEC 패킷 중 소스 페이로드를 포함한 FEC 패킷에서 소스 페이로드를 획득하여 정보어 블록을 구성하는 정보어 블록 재구성부와, 상기 정보어 블록에서 손실된 부분을 상기 FEC 패킷 중 패리티 페이로드를 포함한 FEC 패킷에서 획득한 패티리 페이로드를 사용하여 복원하는 FEC 복호부 및 상기 복원된 정보어 블록에서 소스 페이로드를 획득하고 상기 획득된 소스 페이로드로부터 데이터 페이로드를 어플리케이션 계층으로 전달하는 복원부를 포함한다.
어플리케이션 계층에서 출력된 데이터 Stream (Source Flow)이 복수개 존재하는 경우 전송 시스템은 상기 복수개의 Stream을 구분할 수 있는 정보를 FEC 패킷내(예로 FEC Flow ID 정보) 저장하고 또한 해당 Stream을 FEC protection을 위한 생성한 페러티 페이로드로 구성된 Stream(Parity Flow) 위한 FEC 패킷에도 동일한 정보를 저장하여 전송하여 복수개의 Stream각각에 대해 관련된 패러티 페이로드들의 stream이 어떤 것인지 수신기가 알수 있도록 하는 것이 바람직하다.
또는 어플리케이션 계층에서 출력된 데이터 Stream (Source Flow)이 복수개 존재하는 경우 각각의 데이터 Stream과 각각의 패러티 페이로드 Stream (Parity Flow)을 구분할 수 있는 정보를 FEC 패킷내(예로 Source Flow ID, Parity Flow ID) 저장하여 전송하고 각각의 데이터 Stream을 FEC Protection하기 위해 생성된 패러티 Stream과의 mapping 정보 (예로 FEC Flow ID 1 = Source Flow ID 1 + Parity Flow ID 1)를 FEC 패킷과는 다른 별도의 제어정보로 전송하는 것이 바람직하다.
이로 인하여, 수신 장치는 FEC 패킷내의 Stream 구분 정보나 또는 FEC 패킷과는 다른 별도의 제어정보로부터 각각의 데이터 Stream을 구분하고 그리고 각각의 데이터 Stream을 FEC Protection 하기 위해 생성된 패리티 Stream이 파악하고 FEC decoding을 원만히 수행할 수 있다.
본 발명의 일 실시 예에 따르면, 사용자에게 보다 양질의 서비스를 제공할 수 있다. 또한 본 발명에 의한 FEC 패킷 구성 방법에 의해 FEC 패킷의 구분을 용이하게 한다.
도 1은 네트워크 토폴로지(Network Topology) 및 데이터 플로우(Data Flow)를 도시한 도면;
도 2는 본 발명의 실시 예에 따른 MMT 시스템 구성도;
도 3은 본 발명의 실시 예에 따른 MMT 패키지의 구조를 도시한 도면;
도 4는 본 발명의 실시 예에 따른 MMT 패키지에 포함된 설정 정보의 구성을 도시한 도면
도 5는 본 발명의 실시예에 따른 FEC 패킷 포맷
도 6은 본 발명의 일 실시 예에 따른 Source Payload가 MMT Transport Packet인 경우의 FEC 패킷 포맷
도 7은 본 발명의 일 실시 예에 따른 Source Payload가 MMT Payload Format 인 경우의 FEC 패킷 포맷
도 8은 본 발명의 실시예에 따른 송신 장치 블록 구성도
도 9는 본 발명의 실시예에 따른 수신 장치 블록 구성도
도 10은 본 발명의 실시예에 따른 정보어 블록(Information block) 구성 방법
도 11은 본 발명의 다른 실시예에 따른 정보어 블록(Information block) 구성 방법
도 12는 RS 부호를 사용할 때 정보어 블록(Information Block)에서 정보어 심볼(Information Symbol)을 매핑시키는 과정의 예를 도시한 도면
도 13은 LDPC 부호를 사용할 때 정보어 블록(Information Block)에서 정보어 심볼(Information Symbol)을 매핑시키는 과정의 예를 도시한 도면
도 14는 RS 프레임 구성을 도시한 도면
도 15는 LDPC 프레임 구성을 도시한 도면
도 16은 RS 패리티 심볼들을 위한 패리티 블록 매핑도
도 17은 LDPC 패리티 심볼들을 위한 패리티 블록 매핑도
도 18은 H 매트릭스의 구조도
도 2는 본 발명의 실시 예에 따른 MMT 시스템 구성도;
도 3은 본 발명의 실시 예에 따른 MMT 패키지의 구조를 도시한 도면;
도 4는 본 발명의 실시 예에 따른 MMT 패키지에 포함된 설정 정보의 구성을 도시한 도면
도 5는 본 발명의 실시예에 따른 FEC 패킷 포맷
도 6은 본 발명의 일 실시 예에 따른 Source Payload가 MMT Transport Packet인 경우의 FEC 패킷 포맷
도 7은 본 발명의 일 실시 예에 따른 Source Payload가 MMT Payload Format 인 경우의 FEC 패킷 포맷
도 8은 본 발명의 실시예에 따른 송신 장치 블록 구성도
도 9는 본 발명의 실시예에 따른 수신 장치 블록 구성도
도 10은 본 발명의 실시예에 따른 정보어 블록(Information block) 구성 방법
도 11은 본 발명의 다른 실시예에 따른 정보어 블록(Information block) 구성 방법
도 12는 RS 부호를 사용할 때 정보어 블록(Information Block)에서 정보어 심볼(Information Symbol)을 매핑시키는 과정의 예를 도시한 도면
도 13은 LDPC 부호를 사용할 때 정보어 블록(Information Block)에서 정보어 심볼(Information Symbol)을 매핑시키는 과정의 예를 도시한 도면
도 14는 RS 프레임 구성을 도시한 도면
도 15는 LDPC 프레임 구성을 도시한 도면
도 16은 RS 패리티 심볼들을 위한 패리티 블록 매핑도
도 17은 LDPC 패리티 심볼들을 위한 패리티 블록 매핑도
도 18은 H 매트릭스의 구조도
하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
먼저, 본 발명에서 사용될 용어를 정리하면 다음과 같다.
-FEC 부호: 에러(Error) 또는 이레이져 심볼(Erasure Symbol)을 정정하기 위한 오류 정정 부호
-FEC 프레임(Frame): 보호하고자 하는 데이터를 FEC 부호화하여 생성된 코드워드(Codeword)로써 정보어 부분(information part)과 패리티 부분(parity part; repair part)로 구성됨.
-심볼(Symbol): A Symbol is a unit of data processed by the FEC code
-정보어 심볼(Information Symbol(s)): FEC 프레임 내 정보어 부분(information part)에서 보호되지 않는 데이터 또는 패딩 심볼(들)(Unprotected data or padding Symbol(s) which is the information part of a FEC Frame)
-코드워드(Codeword): 정보어 심볼(Information Symbol(s))을 FEC 부호화하여 생성된 FEC 프레임.
-패리티 심볼(Parity Symbol(s)): 정보어 심볼(Information Symbol(s))로부터 FEC 부호화에 의해 생성된 FEC 프레임의 패리티 심볼(parity Symbol(s))
-패킷(Packet): 헤더(Header)와 페이로드(Payload)로 구성된 전송 단위.
-페이로드(Payload): 송신자로부터 전송될, 패킷 내에 위치한 사용자 데이터(a piece of user data which is to be transmitted from the sender and which is placed inside of a packet).
-패킷 헤더(Packet Header): 페이로드를 포함하는 패킷을 위한 헤더.
-소스 페이로드(Source Payload): 소스 심볼들로 구성된 페이로드.
-정보어 페이로드(Information Payload): 정보어 심볼(Information Symbol)들로 구성된 페이로드.
-패리티 페이로드(Parity Payload): 패리티 심볼(parity Symbol)들로 구성된 페이로드.
-소스 블록(Source Block): 하나 이상의 소스 페이로드(Source payload)들로 구성된 페이로드들의 집합.
-정보어 블록(Information Block): 하나 이상의 정보어 페이로드(Information Payload)들로 구성된 페이로드들의 집합
-패리티 블록(Parity Block): 하나 이상의 패리티 페이로드(Parity payload)들을 구성된 페이로드들의 집합.
-FEC 블록(Block): 코드워드들의 집합 또는 정보어 블록(Information Block)과 패리티 블록(Parity Block)으로 구성된 페이로드들의 집합.
-FEC 전송 블록(Delivery Block): 소스 블록과 패리티 블록들로 구성된 페이로드들의 집합
-FEC 패킷(Packet): FEC 블록을 전송하기 위한 패킷.
-소스 패킷(Source Packet): 소스 블록을 전송하기 위한 패킷.
-리페어 패킷(Repair Packet): 리페어 블록(Repair Block)을 전송하기 위한 패킷.
-FEC 패킷 블록(Packet Block): FEC 전송 블록을 전송하기 위한 패킷들의 집합
-MMT(MPEG Media Transport): MPEG 데이터를 효율적으로 전송하기 위하여 설계중인 국제 표준
- Source Flow : A Source Flow is a sequence of Source Payloads identified by the same Source Flow identifier to deliver one or more MMT Assets from one MMT Server to one or more MMT Clients.
- Parity Flow : A Parity Flow is a sequence of Parity Payloads, which are generated by FEC encoding to protect a Source Flow, identified by the same Parity Flow identifier.
- FEC Flow : A FEC Flow consists of a Source Flow and its associated one or more Parity Flows.
- FEC Payload ID: Information that identifies the Information (sub-)Payload(s) carried by an FEC Source Packet or the Parity Payload(s) carried by an FEC Parity Packet.
- FEC Source Payload ID: FEC Payload ID for Source Packet
- FEC Parity Payload ID: FEC Payload ID for Parity Packet.
- Access Unit (AU) : An access unit is the smallest data entity to which timing information can be attributed. For non-timed data, whose timing information is not associated AU is not defined
- Media Fragment Unit : Media Fragment Unit (MFU) is a generic container, independent of any specific media codec, containing coded media data that is independently consumable by a media decoder. It is equal to or smaller than an Access Unit (AU) and contains information that can be utilized by delivery layers.
- MMT Processing Unit : MMT Processing Unit (MPU) is a generic container, independent of any specific media codec, containing one or more AUs and additional delivery and consumption related information. For non-timed data, MPU contains portion of data without an AU boundaries identified. It defines coded media data unit that can be completely and independently processed in MMT. In this context processing means encapsulation into MMT Package or packetization for delivery.
- MMT Asset : An MMT Asset is a logical data entity that is composed of one or more MPUs. An MMT Asset is the largest data unit for which same composition information and transport characteristics are applied. An MMT Asset contains only one kind of data type including packaged or multiplexed data (e.g. a portion of audio ES, a portion of video ES, an MPEG-U Widget Package, a portion of MPEG-2 TS, a portion of MP4 file, and a portion of MMT Package).
- MMT Composition Information : MMT Composition Information (MMT-CI) is description about spatial and temporal composition of MMT Assets
- MMT Media Characteristics for Transmission : MMT Media Characteristics for Transmission (MMT-MCT) is description about required Quality of Service (QoS) for delivery of MMT Assets. MMT-MCT is represented by the parameters agnostic to specific delivery environment.
- MMT Package : An MMT Package is a logically structured collection of data, which is composed of one or more MMT Assets, MMT-CI and MMT-MCT. MMT Package may also have assigned descriptive information such as an identifier
- MMT Payload Format : MMT Payload Format (MMT-PF) is a format of payload for MMT Package or MMT signaling message to be carried by MMT Protocol or Internet application layer protocols (e.g. RTP)
- MMT Transport Packet: An MMT Transport Packet (MMTP) is an application layer protocol for delivering MMT-PF over IP network
도 1은 네트워크 토폴로지(Network Topology) 및 데이터 흐름(Data Flow)를 도시한 도면이다.
도 1을 참조하면, IP(Internet Protocol) 패킷은 여러 라우터(Router)(120, 130)들을 거치면서 최종 수신기(호스트 B)(110)에 전달된다. 따라서 IP 패킷들은 항상 전송기(호스트 A)(105)가 송신한 순서대로 수신기(호스트 B)(110)에 도달하는 것은 아니다. 이로 인하여, AV(AudioVisual) 컨텐츠 스트리밍 시 전송 순서를 나타내는 것이 필요하다. 애플리케이션 계층(140)에서 도 1의 "데이터(150)"는 AV 코덱(Codec)에서 압축된 데이터를 리얼 타임 프로토콜(Real Time Protocol; RTP)을 사용하여 패킷화(Packetize)한 이후의 RTP 패킷 데이터로 간주되거나(IETF의 RFC3550, RFC3984 문서 참조) 또는 도 2에서 후술될 MMT 전송 패킷(Transport Packet) 데이터와 같이 애플리케이션 계층(140)의 전송 프로토콜에 의해 패킷화된 데이터를 말한다.
도 2는 본 발명의 실시 예에 따른 MMT(MPEG Media Transport) 시스템 구성도이다.
도 2의 왼쪽은 MMT 시스템 구성을 나타낸 도면이고, 오른쪽은 전송 기능(Delivery Function)의 세부 구조를 나타내는 도면이다.
미디어 코딩 계층(Media Coding Layer)(205)은 오디오 또는/및 비디오 데이터를 압축하여 캡슐화 기능 계층(Encapsulation Function Layer)(210, E. Layer)으로 전송한다.
상기 캡슐화 기능 계층(210)은 압축된 오디오/비디오 데이터를 파일 포맷과 유사한 형태로 패키지화하여 전송 기능 계층(Delivery Function Layer)(220)으로 전달한다.
전송 기능 계층(220, D. Layer)은 상기 캡슐화 기능 계층(210)의 출력을 MMT 패이로드 포맷화한 후 MMT 전송 패킷 헤더를 부가하여 MMT 전송 패킷 형태로 전송 프로토콜 계층(230)에 전달한다. 또는 전송 기능 계층(220)은 상기 캡슐화 기능 계층(210)의 출력을 기존 RTP 프로토콜을 사용하여 RTP 패킷 형태로 전송 프로토콜 계층(230)에 전달한다. 그 이후 전송 프로토콜 계층(230)은 UDP(User Datagram Protocol) 및 TCP(Transmission Control Protocol) 중 어느 하나의 전송 프로토콜로 변환한 후 IP 계층(240)으로 전송한다. 최종적으로 IP 계층(240)은 상기 전송 프로토콜 계층(230)의 출력을 IP 패킷으로 변환하고 IP 프로토콜을 사용하여 전송한다.
본 발명의 FEC 패킷은 MMT 페이로드 포맷, MMT 전송 패킷, RTP 패킷 중 적어도 하나의 형태로 가능하다.
전송 기능 계층(Control Function Layer)(200, C. Layer)은 프리젠테이션 세션(Presentation Session)과 전송 세션(Delivery Session)을 관리(Management)한다.
도 3은 MMT 패키지의 구조를 도시한 도면이다. 그리고 도 4는 MMT 패키지에 포함된 설정 정보(configuration information)의 구성을 도시한 것이다.
도 3에 도시한 바와 같이 MMT 패키지(310)는 네트워크의 전송 기능 계층(D. Layer)(330-1, 330-2)을 통해 클라이언트(350)와 송수신되며, MMT 에셋(Asset)들(303-1 내지 303-3)과, 구성 정보(composition information)(301), 전송 특성(Transport characteristic)(305-1, 305-2)을 포함한다.
또한 MMT 패키지(310)는 설정 정보를 활용하기 위한 기능성(functionality)과 기능(operation)들을 가진다. 설정 정보는 MMT 에셋(Asset)들(303-1 내지 303-3)의 리스트와, 구성 정보(301), 그리고 전송 특성(305-1, 305-2)으로 구성된다.
설명 정보(description information)는 MMT 패키지(310)와 MMT 에셋들(303-1 내지 303-3)을 설명한다. 구성 정보(301)는 MMT 에셋들(303-1 내지 303-3)의 소비를 돕는다. 전송 특성(305-1, 305-2)은 MMT 에셋들(303-1 내지 303-3)의 전달을 위한 힌트를 제공한다.
상기의 MMT 패키지(310)는 각 MMT 에셋별 전송 특성을 기술한다. 전송 특성(305-1, 305-2)은 오류 복원력(Error Resiliency) 정보를 포함하며, 하나의 MMT 에셋을 위한 단순 전송 특성(Simple Transport Characteristic) 정보는 손실되거나 손실되지 않을 수 있다. 또한 전송 특성들(305-1, 305-2)은 각 MMT 에셋의 QoS(Quality of Service; 손실(Loss) 허용 정도, 지연(Delay) 허용 정도)를 포함할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 FEC 패킷 포맷이다.
Source Payload를 위한 FEC 패킷인 FEC Source Packet은 Common Header, Optional Header, Source Payload를 위한 FEC Payload ID, Data로 구성되고 이는 Common Header, Optional Header, Data로 구성된 Source Payload에 Source Payload를 위한 FEC Payload ID를 추가함에 의해 생성된다.
Parity Payload를 위한 FEC 패킷인 FEC Parity Packet은 Common Header, Parity Payload를 위한 FEC Payload ID, Parity Payload로 구성되고 이는 FEC 부호화에 의해 생성된 Parity Payload에 Common Header, Payload Payload를 위한 FEC Payload ID를 추가함에 의해 생성된다.
도 5상에서 FEC Payload ID는 Data 또는 Parity Payload의 앞에 배치되어 있지만, 이에 한정하지 않는다. 예를 들어 Data와 Parity Payload의 후미에도 배치될 수 있다.
상기의 Common Header는 FEC Packet내에 동일한 위치에 배치됨이 바람직한데, 이는 FEC Packet 수신단에서 수신된 FEC Packet이 FEC Source Packet인지 FEC Parity Packet인지를 Common Header를 통해 용이하게 구분할 수 있다. Common Header에는 FEC Source Packet과 FEC Parity Packet을 구분할 수 있는 Type 정보 필드를 포함한다. 추가적으로 Common Header는 FEC 적용여부를 나타내는 정보 필드를 포함할 수 있는데 경우에 따라서는 FEC 적용 여부를 나타내는 정보 필드는 FEC 패킷과는 다른 제어 정보를 전달하기 위한 별도의 패킷으로 저장되어 전송된다. FEC Source Packet의 Data는 여러가지 Data Type을 가질 수 있는데 (예를 들어 Audio data, Video data, File data, Timed data, Non-timed data, MPU, MFU 등)이를 구분 Common Header의 Type field의 값으로 구분하고 FEC Parity Packet의 경우에는 Common Header의 Type field의 값을 Parity라는 것을 나타내는 정보로 설정(Parity가 여러 개인 경우 별도로 구분, 예를 들어 Two Stages Coding Structure의 경우 Parity1과 Parity2를 추가로 구분)함에 의해 Parity Packet과 Source Packet을 구분할 수 있다.
FEC Source Packet의 Optional Header는 Source Packet에만 적용되는 정보로써 MPU/MFU의 Fragmentation 상태 정보, Header 길이 정보, 해당 Packet의 data와 관계된 Asset이 무엇인지를 나타내는 정보(본 정보는 Asset ID일 수도 있지만, Asset ID와 mapping되는 압축된 Asset ID정보를 하여 전송 효율을 높이는 것이 바람직하다. 이 경우 Asset ID와 그에 mapping되는 압축된 Asset ID 정보는 Out-of-band로 전송된다.)들 중 적어도 하나를 포함한다.
FEC Header의 경우 정보 블록 생성 방법에 따라 FEC 제어 정보에 따라 FEC 관련 제어 정보 배치 방법에 따라 Source Packet을 위한 FEC Payload ID와 Parity Packet을 위한 FEC Payload ID가 서로 같을 수도 있고 다를 수도 있다. FEC Payload ID 정보로는 FEC Flow 정보, FEC coding Structure 정보, Source Packet 개수 정보, Information Payload 개수 정보, Parity Packet 개수 정보, Packet Sequence Number(또는 Source/Parity Packet Sequence Number 또는 Information/Parity Payload ID (FEC Block내에서 Information Payload와 Parity Payload들의 순서(index)를 나타내는 정보)), Block Boundary Info(또는 Source Block Number)들 중 적어도 하나를 포함한다.
도 2와 같은 MMT system에서 상기의 FEC Packet은 FEC가 적용된 경우에 있어서 MMT D.1 Layer의 출력으로써 MMT D.2 Layer 또는 RTP와 같은Application Protocol로 입력된다. FEC가 적용되지 않는 경우 FEC Packet은 FEC Payload ID가 필요 없으므로 Source Payload가 되고 MMT D.1 Layer의 출력이다. 도시하지는 않지만, 본 발명에 의한 FEC Packet은 FEC 적용된 경우 FEC Payload ID를 포함하고 FEC가 적용되지 않는 경우 FEC Payload ID가 없는 Source Payload 그 자체이다.
MMT Server는 MMT Client에게 하나 또는 복수개의 MMT Asset들을 전송한다. 각각의 Asset은 하나 또는 복수개의 MPU들로 구성되어 있고 각각의 MPU는 D.1 Layer에서 하나 또는 복수개의 MMT Payload Format(MMT-PF)들로 Packetize 된다. D.2 Header를 부가하여 MMT Transport Packet(MMT_TP)화 되어 하위 Layer로 전송된다. 복수개의 MMT Asset 전송을 고려하여 각각의 Asset들을 위한 MMT Transport Packet의 D.2 Header는 각각의 Asset을 Identify 하기 위한 정보 (예를 들어 Asset_ID)를 저장하여 전송되는데 이는 전송되는 각각의 MMT-TP이 어떤 Asset의 data들을 전송하고 있는지를 나타낸다. 전송되는 복수개의 MMT Asset들은 MMT Asset 개별적으로 Source Flow를 구성하여 FEC에 의해 하나의 Parity Flow가 생성되어 보호되거나 또는 둘 이상의 Assets이 하나의 Source Flow를 구성하여 FEC에 의해 하나의 Parity Flow가 생성되어 보호되거나 또는 어떤 Asset들은 FEC에 의해 보호되고 어떤 Asset은 FEC에 의해 보호되지 않을 수 있다. 또한 Two Stage FEC coding structure난 Layer-Aware FEC coding structure와 같이 하나의 Source Flow에 두 개 또는 그 이상의 Parity Flow를 생성하여 보호될 수 있다.
FEC에 의해 보호되는 경우 하나 또는 복수개의 MMT Asset으로 구성된 하나의 Source Flow는 FEC에 의해 생성된 Parity Flow내에 있는 Parity Payload들을 MMT Asset과 마찬가지로 MMT TP화 한 후 전송하게 되는데 각각의 D.2 Header는 상기 Parity Payload들을 Identify하기 위한 정보 (예를 들어 Asset ID)를 저장하여 전송된다. Two Stage FEC 또는 LA-FEC coding structure와 같이 두 개 이상의 Parity Flow들이 생성되는 경우 각각의 Parity Flow를 Parity Flow ID로 구분할 수 있다. 이 경우 FEC Out-of-Band signal로서 전송되는 FEC Flow들의 개수에 맞는 FEC Flow ID들을 정의하고 각각의 FEC Flow ID에 해당하는 Source Flow와 Parity Flow에 대한 Mapping 정보를 제공한다.
예를 들어 Video Asset, Audio Asset, Widget Asset, File Asset이 전송될 때 Video, Audio, Widget Asset들은 하나의 Source Flow로 구성되어 Two Stage FEC coding structure로 보호되고 File Asset은 또 다른 Source Flow로 구성되어 One Stage FEC coding structure로 구성되는 경우 FEC Out-of-Band Signal은 다음과 같은 정보를 전송한다.
- Video Asset: Asset_ID = 1
- Audio Asset: Asset ID = 2
- Widget Asset: Asset ID = 3
- File Asset: Asset ID = 4
- FEC Flow의 개수 = 2
■ FEC Flow ID = 1
FEC coding structure: Two Stage FEC coding structure
Source Flow: Asset ID 1, 2, 3
Parity Flow1: Asset ID 101
Parity Flow2: Asset ID 102
■ FEC Flow ID = 2
FEC coding structure: One Stage FEC coding structure
Source Flow: Asset ID 4
Parity Flow: Asset ID 103
그리고
- Video Asset을 전송하는 MMP TP Header에는 Asset ID = 1
- Audio Asset을 전송하는 MMP TP Header에는 Asset ID = 2
- Widget Asset을 전송하는 MMP TP Header에는 Asset ID = 3
- Parity Flow1을 전송하는 MMP TP Header에는 Asset ID = 101
- Parity Flow2을 전송하는 MMP TP Header에는 Asset ID = 102
- File Asset을 전송하는 MMP TP Header에는 Asset ID = 4
- File Asset을 위한 Parity Flow를 전송하는 MMP TP Header에는 Asset ID = 103로 설정하여 수신기가 FEC Out-of-Band signal과 MMT TP Header내의 Asset ID 정보로부터 해당 Asset ID field의 값이 1,2,3, 101, 102이 하나의 FEC Flow를 구성하고 있고 Asset ID의 값 4, 103이 또 다른 하나의 FEC Flow를 구성한다는 것을 구분하여 FEC decoding을 원만하게 수행할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 Source Payload가 MMT Transport Packet인 경우의 FEC 패킷 포맷이다.
FEC Source Packet은 D2 Header (Common Header + Optional Header), MMT Payload Format, FEC Payload ID로 구성되어 지고 FEC Parity Packet은 Common Header, FEC Payload ID, Parity Payload으로 구성되어 진다. Common Header에는 Asset들을 구분하기 위한 ID field가 마련되는데 Parity Packet의 경우 해당 Parity Flow를 Identify하기 위한 ID값이 설정된다. 또한 Common Header는 Global Sequence Number field, Delivery Time Stamp등 포함할 수 도 있다. 도시하지는 않지만 상기 5-1의 예의 경우 FEC Parity Pakcet은 Common Header다음에 Optional Header가 함께 올 수 있다 (즉, FEC Source Packet의 D2 Header와 FEC Parity Packet의 D2 Header는 동일할 수 있다.). 이는 MMT TP Header는 Protocol의 기능을 수행하기 때문에 Network Entity가 Network의 congestion 상황에 따라 packet을 drop하는 경우 FEC Parity Packet을 drop하는 것도 가능하기 때문에 FEC Source Packet과 동일한 형태의 Header 구조를 갖는 것도 가능하다.
도 7은 본 발명의 일 실시 예에 따른 Source Payload가 MMT Payload Format 인 경우의 FEC 패킷 포맷이다.
FEC Source Packet은 D2 Header, D1 Header (Common Header + Optional Header), D1 Payload, FEC Payload ID로 구성되어 지고, FEC Parity Packet은 D2 Header, Common Header, FEC Payload ID, Parity Payload로 구성되어 진다. 이 경우 D2 Header의 Asset ID field가 마련되고 FEC Source Packet을 위한 Asset ID field는 각각의 Asset들을 Identify하기 위한 ID 값이 설정되고 FEC Parity Packet을 위한 Asset ID field는 Parity Flow를 identify하기 위한 ID 값이 설정된다. Common Header에는 도 5와 동일한 정보가 저장된다.
도 8은 본 발명의 일 실시 예에 따른 송신 장치 블록 구성도이다.
FEC 제어 정보 생성부(601)는 FEC의 적용 여부를 결정하고 FEC가 적용되는 경우 FEC 관련 제어 정보를 생성한다.
Source Payload 생성부(603)는 상위 Encapsulation Layer로부터 MMT Asset의 전송을 위한 Data Stream을 입력 받아 이를 소정 크기의 데이터 페이로드로 나누고 이에 Common Header와 Optional Header를 부가하여 Source Payload를 생성한다. FEC 제어 정보 생성부(601)로터의 FEC 제어 정보에 기초하여 Source Payload 생성부(603)는 동일한 FEC 흐름을 가지는 Source Payload들의 Sequence로부터 소정 개수의 Source Payload로 구성된 Source Block을 정보 블록 생성부(605)를 전송한다.
정보 블록 생성부(605)는 FEC 제어 정보에 기초하여 그리고 입력된 Source Payload 생성부(603)로부터 정보 블록을 생성하여 FEC 부호화부(607)에 정보 블록을 출력한다.
FEC 부호화부(607)는 입력된 정보 블록과 FEC 제어 정보에 기초하여 소정 패러티 데이트를 생성하고 이를 Source payload 생성부(603)에 입력한다.
Source payload 생성부(603)는 FEC 제어 정보에 기초하여 입력된 패러티 데이터로 Parity Payload를 생성한다.
FEC 패킷 생성부(609)는 상기 Parity Payload에 Common Header와 FEC Header를 추가하여 FEC Parity Packet 생성하고 또한 기 생성된 Source Payload에 FEC Header를 추가하여 FEC Source Packet을 생성하여 최종 FEC Packet들을 전송부(611)로 출력한다. 전송부(611)는 FEC Packet을 하위 Layer에 전송하다.
FEC가 적용되지 않는 경우 Source Payload 생성부(603) 및 FCE 패킷 생성부(609)는 Data Stream과 FEC 제어 정보에 기초하여 Source Payload를 생성하고, 이를 FEC Packet으로 하여 전송부(611)에 전송한다.
도 2의 MMT system의 경우 상기 FEC Packet은 MMT D.2 Layer 또는 RTP와 같은 Application Protocol로 전송된다.
도 9는 본 발명의 일 실시 예에 따른 수신 장치 블록 구성도이다.
FEC 패킷 수신부(701)는 Packet Stream을 입력받아 해당 Packet의 Common Header로부터 FEC의 적용 여부 및 해당 Packet이 Source Packet인지 Parity Packet인지를 구분하여 FEC가 적용된 경우 Source Packet의 FEC Header와 Parity Packet의 FEC Header로부터 FEC 관련 제어 정보를 획득하여 FEC 제어부로 전송한다. 다수의 FEC Flow가 있는 경우 FEC 제어부는 Flow별 제어 정보를 구분하고 Flow별로 FEC Decoding 수행을 제어한다.
Source Payload 재구성부(703)는 수신된 FEC Packet들로부터 FEC가 적용되지 않은 Packet(즉, Source Payload)의 Data를 Data Stream부로 전송한다. FEC가 적용된 경우 동일한 FEC Flow가지는 Packet들에 수신된 Source Payload로 수신되지 않은 Source Payload들을 구분하고 FEC 제어 정보에 기초하여 Source Payload들을 모두 수신한 경우 해당 Data를 출력하고 그렇지 않은 경우 수신된 FEC Parity Packet으로부터 Parity Payload들을 수신된 Source Payload들과 함께 FEC Block 재구성부(705)로 출력한다.
FEC Block 재구성부(705)는 수신된 Source Payload와 Parity Payload들로부터 FEC 제어 정보에 기초하여 정보 블록과 패러티 블록으로 구성된 FEC Block을 재구성(이 때손실된 Payload들에 대해서는 Erasure 처리한다)하여 FEC 복호부(707)에 출력한다.
FEC 복호부(707)는 입력된 FEC 제어부(709)으로부터 FEC 제어 정보에 기초하여 디코딩을 수행하여 손실된 Information Payload들을 복구하여 FEC Block 재구성부(705)로 출력한다.
FEC Block 재구성부(705)는 복구된 Information Payload들로부터(필요시 수신된 Source Payload들로부터 재구성된 Information Payload도 함께 사용) FEC 제어 정보에 기초하여 Source Payload를 복원하여 Source Payload 재구성부(703)로 출력한다.
Source Payload 재구성부(703)는 복원된 Source Payload와 기 수신한 Source Payload들의 Data를 상위 Layer로 전송한다.
상기 도 9에서 FEC 제어부(709)는 FEC 관련 제어 정보를 생성함에 있어서 밴드 내 신호(In-band signal)와 밴드 외 신호(Out-band signal)를 구분하고 밴드 내 신호는 FEC Header로 하여 FEC Packet내 포함하여 전송하고, 밴드 외 신호는 도 2와 같은 MMT system의 경우 C. Layer를 통해 전송하거나 또는 Session Description Protocol(SDP)를 통해 수신단에 전송한다.
도 10은 본 발명의 일 실시 예에 따르는 상기 FEC 블록 생성부(520)에서 정보어 블록 구성에 대한 실시 예를 나타낸 도면이다.
도 10을 참조하면, 가변 패킷 사이즈를 가지는 8개의 소스 페이로드들, 즉 SPL #0 내지 SPL #7이 입력되면, 각각의 페이로드 크기를 최대 길이, 일례로 S_max를 가지는 페이로드와 동일하게 하기 위해 패딩 데이터를 추가한 후 8개의 정보어 페이로드들, 즉 IPL#0 내지 IPL#7로 구성된 정보어 블록을 생성한다. 도 10의 실시예에서는 소스 페이로드의 최대 길이 S_max와 정보어 페이로드의 길이를 동일하게 설정하였지만, 정보어 페이로드의 길이는 시스템 복잡도 및 메모리 요구사항에 따라 S_max보다 작은 값을 가질 수 있다.
도 11은 본 발명의 일 실시 예에 따르는 상기 FEC 패킷 생성부(609)에 정보어 블록 구성에 대한 다른 실시예를 나타낸 도면이다.
도 11을 참조하면, 가변 패킷 사이즈를 가지는 8개의 소스 페이로드들, 즉 SPL #0 내지 SPL #7이 입력되면, 각각의 페이로드 크기를 일렬로 배열한 후 정보어 페이로드의 최대 길이, 일례로 S_max를 단위로 분할하여 5개의 정보어 페이로드들, 즉 IPL#0 내지 IPL#4로 구성된 정보어 블록을 생성한다. 이 때 마지막 정보어 페이로드에는 패딩 데이터가 포함되는 것에 유의한다. 도 11의 실시 예에 따르면 소스 블록의 경계와 정보어 페이로드의 경계가 일치하지 않으므로 각 소스 페이로드의 길이 등의 정보어 블록에서 소스 페이로드를 추출하기 위하여 필요한 정보들을 정보어 블록에 포함시키거나 별도의 방식으로 수신단에 전달하여야 한다. 또한, 도 11의 실시 예에서는 소스 페이로드의 최대 길이 S_max와 정보어 페이로드의 길이를 동일하게 설정하였지만, 정보어 페이로드의 길이는 시스템 복잡도 및 메모리 요구사항에 따라 S_max보다 작은 값을 가질 수 있다.
상기 도 8에서 FEC 부호화부(607)는 상기 정보어 블록을 입력으로 정해진 FEC 부호화 알고리즘을 사용하여 패리티 심볼을 계산하고 상기 패리티 심볼로 구성된 패리티 페이로드를 생성하여 상기 패리티 페이로드를 패리티 블록의 형태로 출력한다.
상기 FEC 부호화기 정보어 블록으로부터 K가 200 이하인 경우 소스 블록을 정보어 블록에 매핑시킴으로써, 도 12와 같이 RS 코딩을 위한 정보어 심볼을 생성할 수도 있고, 도 13과 같이 LDPC 코딩을 위한 정보어 심볼을 생성할 수도 있다.
각각의 정보어 심볼을 하기 도 14 및 도 15와 같이 RS와 LDPC 인코딩을 수행하여 패리티 심볼을 생성한다. 도 15의 경우, 단축(Shortening) 및 펑처링(Puncturing)을 도시하지는 않았지만, 정해진 길이를 가지는 LDPC 코드를 이용하여 다양한 K와 P에 대해 도 20의 경우와 유사하게 단축 및 펑처링을 수행하여 패리티 심볼을 생성할 수 있다. 이때, 단축만을 수행할 수도 있고, 펑처링만을 수행할 수 있음은 물론이다.
생성된 패리티 심볼들로부터 도 16, 도 17과 같이 RS 패리티 블록과 LDPC 패리티 블록을 생성한다.
다음은 RS 코드와 LDPC 코드 상세(code specification)를 나타낸다. 유한 필드 GF(2^8) 상의 RS(N,K) 코드 (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)에서의 심볼은 (a^7, a^6, a^5, a^4, a^3, a^2, a, 1)로 나타낼 수 있다.
여기서 a = 00000010 (2진수) 이다.
각각의 RS 코드워드(rsc)는 벡터로 표현 시 rsc = (e0, e1, ..., e199, p200,..., p239)로 표현되는 그 정보가 200바이트이고 패리티가 40바이트인 유한 필드 GF(2^8) 상의 RS(240,40) 코드 (RS (240,40) code over the finite field GF(2^8))이다.
유한 필드 GF(2) 상의 LDPC(K+P, k) 코드 (LDPC (K+P, K) code over the finite field GF(2)) 는 K개의 정보어 비트들과 P개의 패리티 비트들 로 구성되는 QC-LDPC 구조이다. 여기서 K = L x 400 이고 P = L x 80, L = 1,2,4,8 또는 16 이다.
특히 상기 LDPC의 패리티 부분은 도 16과 같이 근사적으로 삼각형 매트릭스(approximately triangular matrix) 형태를 가진다. 도 16은 H 매트릭스의 구조를 나타낸다.
도 18에서 K = 400 이고 P = L x 80 (L = 1, 2, 4, 8 또는 16)이다.
이상에서 RS 코드와 LDPC 코드의 실시 예를 기술하였지만 기술된 상세 설명에 국한된 부호만을 사용할 수 있는 것은 아니며, 랩터(Raptor)나 랩터Q(RaptorQ), XOR 부호등 통상적으로 FEC 부호라 간주되는 모든 부호들의 적용이 가능하다.
본 발명의 실시 예에 의한 FEC 패킷 생성방법을 설명하면, 다음과 같다. 각 패킷의 Common 헤더의 페이로드 유형을 해당 페이로드에 맞게 설정하여 전송한다. 즉, 소스 페이로드를 위한 패킷의 페이로드 유형은 소스 페이로드(오디오, 비디오 등)임을 나타내고 리페어 페이로드를 위한 패킷의 페이로드 유형은 리페어 페이로드임을 구분한다. 소스 패킷들을 위한 시퀀스 번호는 연속적으로 부여하고 이와는 별도로 리페어 패킷들을 위한 시퀀스 번호를 연속적으로 부여하되 그 시작 시퀀스 번호는 해당 FEC 블록내의 리페어 블록의 경계(Boundary)를 알 수 있도록 예를 들어 소스 패킷의 시작 시퀀스 번호로부터 시작하도록 설정한다. 즉, FEC 블록내의 소스 패킷과 리페어 패킷들을 위한 시퀀스 번호가 상관 관계를 갖도록 설정함으로써 리페어 패킷들(리페어 블록)의 경계를 알 수 있다. 각 패킷의 헤더에 FEC 블록 경계 정보(FEC Block Boundary Information)로써 해당 FEC 블록의 시작 시퀀스 번호를 저장한다. 또한, FEC를 선택적으로 적용하는 경우 FEC 플래그(Flag) 정보를 저장한다. 또한, FEC 블록의 소스 패킷 또는 리페어 패킷 개수가 가변적으로 운용되는 경우 FEC 블록의 패킷 개수 정보 정보(또는 소스 패킷 개수 정보)와 소스 패킷의 개수 정보(또는 리페어 패킷의 개수 정보)를 저장한다.
본 발명의 일 실시 예에 따르면 FEC 구성 관련 정보나 기타의 부호화 구성 관련 정보를 시그널링(Signaling)하여 수신기에게 전송함으로써 전송기는 선택적으로 FEC를 적용한 컨텐츠를 전송할 수 있다. 또한 본 발명의 일 실시 예에 따르면, 네트워크 상황이나 컨텐츠의 QoS(Quality of Service)에 따라 선택적으로 FEC를 적용할 수 있다. 또한 본 발명의 일 실시 예에 다르면, FEC 구성 관련 정보나 기타의 부호화 구성 관련 정보를 포함하는 FEC 제어 정보의 전부 또는 그 일부를 주기적으로 반복 전송하거나 또는 본 발명의 밴드 내 시그널링 방법에 의해 FEC 구성 관련 정보의 전부 또는 그 일부를 전송함으로써 이미 서비스가 진행 중인 상황에서 새로운 수신기에게도 FEC 구성 관련 정보를 알게 할 수 있어 새로이 등장한 수신기도 FEC 복호화를 수행하여 손실된 데이터를 복구함으로써 사용자에게 보다 양질의 서비스를 제공할 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐 아니라 이 특허청구의 범위와 균등한 것들에 의해서 정해져야 한다.
Claims (1)
- 통신 시스템에서 FEC 패킷을 송신하는 방법에 있어서,
FEC (Forward Error Correction) 관련 제어정보를 생성하는 과정과,
어플리케이션 계층에서 출력된 데이터 스트림을 소정 크기의 데이터 페이로드로 나누고, 각각의 데이터 페이로드에 공통 헤더 정보와 선택적인 헤더 정보로 구성된 헤더를 상기 데이터 페이로드에 추가하여 소스 페이로드를 생성하는 과정과,
상기 FEC 관련 제어 정보를 바탕으로 정보어 페이로드로 이루어진 정보어 블록을 생성하고 상기 정보어 블록에 FEC 부호를 적용하여 패리티 페이로드를 생성하는 과정과,
상기 FEC 관련 제어 정보를 바탕으로 상기 소스 페이로드를 위한 FEC 헤더 정보와 상기 패리티 페이로드를 위한 FEC 헤더를 생성하는 과정과,
상기 소스 페이로드를 위한 상기 FEC 헤더 정보와 상기 소스 페이로드를 결합하여 상기 소스 페이로드에 대한 FEC 패킷을 생성하고, 상기 패리티 페이로드에 상기 공통 헤더 정보 상기 패리티 페이로드를 위한 FEC 헤더 정보를 결합하여 상기 패리티 페이로드에 대한 FEC 패킷을 생성하는 과정과,
상기 소스 페이로드에 대한 FEC 패킷과 상기 패리티 페이로드에 대한 FEC 패킷을 송신하는 과정을 포함하는 FEC 패킷 송신방법.
Priority Applications (14)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130045082A KR20130122552A (ko) | 2012-04-30 | 2013-04-23 | 통신 시스템에서 패킷 송수신 방법 및 장치 |
EP18200655.1A EP3462655B1 (en) | 2012-04-30 | 2013-04-30 | Method and apparatus for transmitting and receiving packet in a communication system |
PCT/KR2013/003731 WO2013165155A1 (en) | 2012-04-30 | 2013-04-30 | Method and apparatus for transmitting and receiving packet in a communication system |
JP2015510181A JP6377605B2 (ja) | 2012-04-30 | 2013-04-30 | 通信システムにおけるパケット送受信方法及び装置 |
ES13784446T ES2706384T3 (es) | 2012-04-30 | 2013-04-30 | Procedimiento y aparato para transmitir y recibir paquetes en un sistema de comunicación |
US13/873,739 US9106376B2 (en) | 2012-04-30 | 2013-04-30 | Method and apparatus for transmitting and receiving packet in a communication system |
CN201810089216.8A CN108155974B (zh) | 2012-04-30 | 2013-04-30 | 用于在通信系统中接收传输分组的方法和装置 |
CN201380022904.8A CN104272627B (zh) | 2012-04-30 | 2013-04-30 | 用于在通信系统中发送和接收分组的方法和装置 |
EP13784446.0A EP2845338B1 (en) | 2012-04-30 | 2013-04-30 | Method and apparatus for transmitting and receiving packet in a communication system |
US14/811,068 US9450702B2 (en) | 2012-04-30 | 2015-07-28 | Method and apparatus for transmitting and receiving packet in a communication system |
US15/234,627 US9673933B2 (en) | 2012-04-30 | 2016-08-11 | Method and apparatus for transmitting and receiving packet in a communication system |
JP2018107681A JP6643402B2 (ja) | 2012-04-30 | 2018-06-05 | 通信システムにおけるパケット送受信方法及び装置 |
JP2018161390A JP6643431B2 (ja) | 2012-04-30 | 2018-08-30 | 通信システムにおけるパケット送受信方法及び装置 |
JP2020000305A JP2020054010A (ja) | 2012-04-30 | 2020-01-06 | 通信システムにおけるパケット送受信方法及び装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120045337 | 2012-04-30 | ||
KR20120045337 | 2012-04-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20130126876A true KR20130126876A (ko) | 2013-11-21 |
Family
ID=49854681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120100528A KR20130126876A (ko) | 2012-04-30 | 2012-09-11 | 통신 시스템에서 패킷 송수신 방법 및 장치 |
Country Status (7)
Country | Link |
---|---|
US (3) | US9106376B2 (ko) |
EP (2) | EP3462655B1 (ko) |
JP (4) | JP6377605B2 (ko) |
KR (1) | KR20130126876A (ko) |
CN (2) | CN104272627B (ko) |
ES (1) | ES2706384T3 (ko) |
WO (1) | WO2013165155A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160108830A (ko) * | 2014-01-13 | 2016-09-20 | 삼성전자주식회사 | 통신 시스템에서 패킷 송수신 방법 및 장치 |
CN112422982A (zh) * | 2019-08-23 | 2021-02-26 | 畅想科技有限公司 | 可随机存取的图像数据压缩 |
Families Citing this family (21)
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 |
US9710469B2 (en) | 2013-03-15 | 2017-07-18 | Comcast Cable Communications, Llc | Efficient data distribution to multiple devices |
CN105359534A (zh) * | 2013-06-19 | 2016-02-24 | Lg电子株式会社 | 广播发送/接收装置和广播发送/接收方法 |
KR20150047082A (ko) * | 2013-10-23 | 2015-05-04 | 한국전자통신연구원 | Mmt 페이로드 헤더 구성 장치 및 방법 |
KR102208814B1 (ko) * | 2014-03-28 | 2021-01-28 | 삼성전자주식회사 | 통신 시스템에서 패킷 송수신 방법 및 장치 |
US9923666B2 (en) * | 2014-10-01 | 2018-03-20 | Qualcomm, Incorporated | Encoding in uplink multi-user MIMO and OFDMA transmissions |
US9559805B2 (en) | 2014-11-03 | 2017-01-31 | Cisco Technology, Inc. | Self-describing error correction of consolidated media content |
WO2016144072A1 (ko) * | 2015-03-08 | 2016-09-15 | 엘지전자(주) | 방송 신호 송수신 장치 및 방법 |
EP3086497B1 (en) * | 2015-04-24 | 2019-03-06 | Alcatel Lucent | An apparatus and a method for a regenerative network node between a first and a second link portion |
US9756152B1 (en) * | 2015-05-29 | 2017-09-05 | Netronome Systems, Inc. | Making a flow ID for an exact-match flow table using a byte-wide multiplexer circuit |
US10897372B2 (en) * | 2015-07-02 | 2021-01-19 | Sony Corporation | Communication device, communication system, communication method and program |
JPWO2017017883A1 (ja) | 2015-07-28 | 2018-05-10 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 端末装置及び通信方法 |
US11310094B2 (en) | 2015-09-08 | 2022-04-19 | Lg Electronics Inc. | Apparatus and method for transmitting or receiving broadcast signal |
WO2017043898A1 (ko) | 2015-09-08 | 2017-03-16 | 엘지전자(주) | 방송 신호 송수신 장치 및 방법 |
KR102446181B1 (ko) * | 2016-02-17 | 2022-09-22 | 삼성전자주식회사 | 멀티미디어 시스템에서 미디어 데이터를 송수신하는 방법 및 장치 |
EP3411975B1 (en) * | 2016-02-19 | 2022-05-04 | Mediatek Inc. | Method and system of adaptive application layer fec for mpeg media transport |
US10003434B2 (en) | 2016-04-08 | 2018-06-19 | Cisco Technology, Inc. | Efficient error correction that aggregates different media into encoded container packets |
KR102516027B1 (ko) * | 2016-07-20 | 2023-03-31 | 삼성전자주식회사 | 헤더 처리 장치, 프로세서 및 전자장치 |
US10404567B2 (en) * | 2016-12-29 | 2019-09-03 | Oath Inc. | UDPing-continuous one-way monitoring of multiple network links |
US10630315B2 (en) | 2017-09-29 | 2020-04-21 | Intel Corporation | Technologies for applying a redundancy encoding scheme to segmented network packets |
US11764805B2 (en) | 2021-10-06 | 2023-09-19 | Samsung Display Co., Ltd. | System and method for transition encoding with reduced error propagation |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0823153A4 (en) * | 1995-04-27 | 1999-10-20 | Stevens Inst Technology | HIGH INTEGRITY TRANSPORT METHOD FOR TIME-CRITICAL MULTIMEDIA NETWORK APPLICATIONS |
US6434606B1 (en) * | 1997-10-01 | 2002-08-13 | 3Com Corporation | System for real time communication buffer management |
US5870412A (en) * | 1997-12-12 | 1999-02-09 | 3Com Corporation | Forward error correction system for packet based real time media |
FI109385B (fi) * | 1999-04-01 | 2002-07-15 | Nokia Corp | Menetelmä ja laitteet digitaaliseen datasiirtoon |
US7111221B2 (en) * | 2001-04-02 | 2006-09-19 | Koninklijke Philips Electronics N.V. | Digital transmission system for an enhanced ATSC 8-VSB system |
US7155532B2 (en) * | 2002-01-04 | 2006-12-26 | Scientific-Atlanta, Inc. | Transmitting streams over asynchronous networks |
JP2005210219A (ja) * | 2004-01-20 | 2005-08-04 | Sony Corp | 送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム |
US7590922B2 (en) * | 2004-07-30 | 2009-09-15 | Nokia Corporation | Point-to-point repair request mechanism for point-to-multipoint transmission systems |
US7660245B1 (en) * | 2004-09-16 | 2010-02-09 | Qualcomm Incorporated | FEC architecture for streaming services including symbol-based operations and packet tagging |
WO2006038054A1 (en) * | 2004-10-06 | 2006-04-13 | Nokia Corporation | Packet transmission using error correction of data packets |
US7447978B2 (en) * | 2004-11-16 | 2008-11-04 | Nokia Corporation | Buffering packets of a media stream |
US7676735B2 (en) * | 2005-06-10 | 2010-03-09 | Digital Fountain Inc. | Forward error-correcting (FEC) coding and streaming |
KR100735276B1 (ko) * | 2005-08-18 | 2007-07-03 | 삼성전자주식회사 | 디지털 비디오 방송 시스템에서 다중 프로토콜 캡슐화순방향 오류 정정 프레임의 복호 방법 및 장치 |
WO2007134196A2 (en) * | 2006-05-10 | 2007-11-22 | Digital Fountain, Inc. | Code generator and decoder using hybrid codes |
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 |
US7746882B2 (en) * | 2006-08-22 | 2010-06-29 | Nokia Corporation | Method and device for assembling forward error correction frames in multimedia streaming |
JP4356742B2 (ja) * | 2006-12-25 | 2009-11-04 | ソニー株式会社 | データ通信システム、データ送信装置およびデータ送信方法 |
EP2019522B1 (en) * | 2007-07-23 | 2018-08-15 | Polycom, Inc. | Apparatus and method for lost packet recovery with congestion avoidance |
US20090168708A1 (en) * | 2007-12-26 | 2009-07-02 | Motorola, Inc. | Techniques for maintaining quality of service for connections in wireless communication systems |
US20090259925A1 (en) * | 2008-04-10 | 2009-10-15 | Ibiquity Digital Corporation | Broadcast Equipment Communication Protocol |
JP5276569B2 (ja) * | 2009-11-05 | 2013-08-28 | 日本放送協会 | 受信装置 |
WO2011068495A1 (en) * | 2009-12-03 | 2011-06-09 | Thomson Licensing | Data block identification in a mobile dtv system with diversity |
US8839078B2 (en) * | 2010-03-05 | 2014-09-16 | Samsung Electronics Co., Ltd. | Application layer FEC framework for WiGig |
US9112753B2 (en) * | 2010-05-11 | 2015-08-18 | Texas Instruments Incorporated | Interleaver design and header structure for ITU G.hnem |
WO2012005544A2 (ko) * | 2010-07-08 | 2012-01-12 | 한국전자통신연구원 | 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치 |
KR20120005371A (ko) | 2010-07-08 | 2012-01-16 | 한국전자통신연구원 | 블록 코드 심볼을 중복하여 버스트 데이터 손실을 복구하는 방법 및 장치 |
US8769369B2 (en) * | 2011-07-08 | 2014-07-01 | Samsung Electronics Co., Ltd. | Method for generating forward error correction packet in multimedia system and method and apparatus for transmitting and receiving forward error correction packet |
KR101922559B1 (ko) * | 2011-10-13 | 2018-12-05 | 삼성전자주식회사 | 통신 시스템에서 순방향 에러 정정 패킷을 송수신하는 방법 및 장치 |
-
2012
- 2012-09-11 KR KR1020120100528A patent/KR20130126876A/ko unknown
-
2013
- 2013-04-30 EP EP18200655.1A patent/EP3462655B1/en active Active
- 2013-04-30 ES ES13784446T patent/ES2706384T3/es active Active
- 2013-04-30 WO PCT/KR2013/003731 patent/WO2013165155A1/en active Application Filing
- 2013-04-30 EP EP13784446.0A patent/EP2845338B1/en active Active
- 2013-04-30 JP JP2015510181A patent/JP6377605B2/ja active Active
- 2013-04-30 CN CN201380022904.8A patent/CN104272627B/zh active Active
- 2013-04-30 US US13/873,739 patent/US9106376B2/en active Active
- 2013-04-30 CN CN201810089216.8A patent/CN108155974B/zh active Active
-
2015
- 2015-07-28 US US14/811,068 patent/US9450702B2/en active Active
-
2016
- 2016-08-11 US US15/234,627 patent/US9673933B2/en active Active
-
2018
- 2018-06-05 JP JP2018107681A patent/JP6643402B2/ja active Active
- 2018-08-30 JP JP2018161390A patent/JP6643431B2/ja active Active
-
2020
- 2020-01-06 JP JP2020000305A patent/JP2020054010A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160108830A (ko) * | 2014-01-13 | 2016-09-20 | 삼성전자주식회사 | 통신 시스템에서 패킷 송수신 방법 및 장치 |
US10985870B2 (en) | 2014-01-13 | 2021-04-20 | Samsung Electronics Co., Ltd. | Method and device for transmitting and receiving packet in communication system |
CN112422982A (zh) * | 2019-08-23 | 2021-02-26 | 畅想科技有限公司 | 可随机存取的图像数据压缩 |
Also Published As
Publication number | Publication date |
---|---|
EP3462655B1 (en) | 2023-11-29 |
JP6643402B2 (ja) | 2020-02-12 |
JP6643431B2 (ja) | 2020-02-12 |
EP2845338A4 (en) | 2015-12-09 |
US9106376B2 (en) | 2015-08-11 |
CN104272627A (zh) | 2015-01-07 |
ES2706384T3 (es) | 2019-03-28 |
JP2020054010A (ja) | 2020-04-02 |
EP3462655A1 (en) | 2019-04-03 |
JP6377605B2 (ja) | 2018-08-22 |
JP2015516773A (ja) | 2015-06-11 |
JP2018207523A (ja) | 2018-12-27 |
EP2845338B1 (en) | 2018-10-17 |
EP2845338A1 (en) | 2015-03-11 |
JP2018152912A (ja) | 2018-09-27 |
WO2013165155A1 (en) | 2013-11-07 |
US9673933B2 (en) | 2017-06-06 |
US9450702B2 (en) | 2016-09-20 |
CN108155974A (zh) | 2018-06-12 |
US20130290814A1 (en) | 2013-10-31 |
US20160352460A1 (en) | 2016-12-01 |
US20150333867A1 (en) | 2015-11-19 |
CN104272627B (zh) | 2018-03-06 |
CN108155974B (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6643431B2 (ja) | 通信システムにおけるパケット送受信方法及び装置 | |
JP7232891B2 (ja) | 通信システムにおけるパケットの受信装置、及び、送信装置 | |
JP6486684B2 (ja) | 移動通信システムにおける順方向誤り訂正パケットを送受信する装置及び方法 | |
KR20130057937A (ko) | 통신 시스템에서 패킷 송수신 장치 및 방법 | |
JP2016535507A (ja) | 通信システムにおけるパケット送受信方法及び装置 | |
US9473264B2 (en) | Apparatus and method for transmitting/receiving packet in communication system | |
KR20130122552A (ko) | 통신 시스템에서 패킷 송수신 방법 및 장치 | |
JP6511470B2 (ja) | 通信システムにおけるパケット送受信方法及び装置 |