KR20130008438A - 멀티미디어 패킷 전송망에서 전방향 오류 정정 제어 방법 - Google Patents
멀티미디어 패킷 전송망에서 전방향 오류 정정 제어 방법 Download PDFInfo
- Publication number
- KR20130008438A KR20130008438A KR1020110135468A KR20110135468A KR20130008438A KR 20130008438 A KR20130008438 A KR 20130008438A KR 1020110135468 A KR1020110135468 A KR 1020110135468A KR 20110135468 A KR20110135468 A KR 20110135468A KR 20130008438 A KR20130008438 A KR 20130008438A
- Authority
- KR
- South Korea
- Prior art keywords
- mmt
- packet
- fec
- layer
- error correction
- 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
-
- 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/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5664—Support of Video, e.g. MPEG
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
전방향 오류 정정 부호화기에서의 응용 계층 전방향 오류 정정(AL-FEC) 제어 방법은 MMT 패킷(packet)의 소스 데이터(source data)와 패딩 데이터(padding data) 부분의 경계를 명확하게 판단하기 위한 MMT 패킷의 길이 정보를 가지는 파라메터를 포함하는 MMT 전달 계층 패킷 헤더(Delivery layer packet header)를 생성하는 단계와, 상기 패딩 데이터(padding data)를 모두 제거한 후에 상기 MMT 전달 계층 패킷 헤더(Delivery layer packet header)를 포함하는 MMT 패킷과 패리티 패킷을 전방향 오류 정정 복호화기로 전송하는 단계를 포함한다. 전송 도중에 패킷(packet)이 손실 된 경우에도 MMT 전달 계층 패킷 헤더 필드로부터 전방향 오류 정정(FEC) 복호화를 위해 필요한 FEC 패리티 패킷(parity packet)의 개수와 복구에 적합한 FEC 패리티 패킷(parity packet)을 즉각적으로 파악할 수 있으므로 전체 MMT 시스템의 성능 및 복잡도를 크게 개선할 수 있다.
Description
본 발명은 전방향 오류 정정(FEC) 부호화 방법에 관한 것으로서, MMT 기반의 미디어 전송 서비스시 응용 계층 전방향 오류 정정(AL-FEC) 부호화 방법에 관한 것이다.
MMT (MPEG Media Transport)는 MPEG(Moving Picture Experts Group) 시스템 분과 (systems sub-working group) 에서 개발을 시작한 새로운 미디어 전송 표준 기술이다.
기존의 MPEG-2 시스템은 방송망에서 AV(Audio Video) 콘텐츠를 전송하기 위해 필요한 패킷화, 동기화, 멀티플렉싱 등의 기능에 대한 표준으로 MPEG-2 TS(transport stream) 기술을 표준화했고 현재 널리 쓰여지고 있다. 그러나, 네트워크가 IP (Internet Protocol) 기반인 패킷 전송 환경에서 MPEG-2 TS는 비효율적이다.
이에 ISO/IEC/JTC1/SC29/WG 11 MPEG에서는 새로운 미디어 전송환경과 앞으로 예상되는 미디어 전송환경을 고려하여 새로운 미디어 전송 표준의 필요성을 인식하게 되었고, MMT 표준화를 시작하게 되었다.
2011년 6월 현재 MPEG에서 진행중인 MMT에 대한 표준화는 TuC (Technology under Consideration) 문서와 WD (Working Draft) version 2.0 ISO/IEC/JTC1/SC29/WG 11 N11953: "Working Draft of MPEG Media Transport 2011.3, 제네바, 스위스)까지 발표되었다.
본 발명의 제1 목적은 MMT 기반의 미디어 전송 서비스시 전방향 오류 정정(FEC; Forward Eerror Correction) 기술을 적용할 때 전송단과 수신단 간의 원활한 전방향 오류 정정(FEC) 기능을 제공하기 위한 응용 계층 전방향 오류 정정(AL-FEC) 부호화 방법을 제공하는 것이다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 전방향 오류 정정 부호화기에서의 전방향 오류 정정(FEC) 제어 방법은 MMT 패킷(packet)의 소스 데이터(source data)와 패딩 데이터(padding data) 부분의 경계를 명확하게 판단하기 위한 MMT 패킷의 길이 정보를 가지는 파라메터를 포함하는 MMT 전달 계층 패킷 헤더(Delivery layer packet header)를 생성하는 단계와, 상기 패딩 데이터(padding data)를 모두 제거한 후에 상기 MMT 전달 계층 패킷 헤더(Delivery layer packet header)를 포함하는 MMT 패킷과 패리티 패킷을 전방향 오류 정정 복호화기로 전송하는 단계를 포함한다.
본 발명의 실시예들에 따른 소실 부호화(erasure code) 기반의 응용 계층 전방향 오류 정정(AL-FEC) 부호화 및 복호화 방법에 따르면, MMT기반의 미디어 전송 서비스를 실시할 때 오류에 강인한 특성을 부여하기 위한 전방향 오류 정정(FEC; Forward Eerror Correction) 기술을 적용하기 위하여 전달 계층(D layer)에서 지원해야 할 패킷 헤더 포맷을 제공함으로써, 전송단과 수신단 간의 원활한 전방향 오류 정정(FEC) 기능을 제공할 수 있다.
구체적으로, 리드 솔로몬 스타일 소실 부호화(Reed-Solomon style erasure code) 기반의 FEC 기법을 MMT의 AL-FEC 기능으로 적용할 때 MMT의 D 계층 패킷 헤더(packet header)에 MMT 패킷의 길이 정보를 포함하는 파라메터를 포함시켜 전송함으로써, MMT 송신측과 수신측이 상기 D 계층 패킷 헤더 포맷(packet header format)을 활용할 경우 특정 소스 블록(source block)에 속하는 소스 패킷들(source packets)이 손실 없이 모두 도착했다면 손실 없이 도착한 사실을 즉각적으로 파악할 수 있고, 반대로 전송 도중에 패킷(packet)이 손실 되었다면 MMT D 계층 페이로드 헤더 필드로부터 상기 소스 블록(source block)에 대한 FEC 복호화(decoding)을 위해 필요한 FEC 패리티 패킷(parity packet)의 개수와 복구에 적합한 FEC 패리티 패킷(parity packet)을 즉각적으로 파악할 수 있다. 따라서 전체 MMT 시스템의 성능 및 복잡도를 크게 개선할 수 있다.
도 1은 MMT(MPEG Media Transport)의 각 계층 구성의 일 예이다.
도 2는 본 발명의 일실시예에 따른 (N, K) 리드-솔로몬 스타일 소실 부호화(Reed-Solomon style erasure coding)에 의한 FEC 기법을 MMT 패킷에 적용한 경우를 설명하기 위한 개념도이다.
도 3은 본 발명의 일실시예에 따른 리드-솔로몬 스타일 소실 부호화(Reed-Solomon style erasure coding)에 의한 FEC 복호화에 의해 손실된 MMT 패킷을 복구하기 위한 과정을 설명하기 위한 개념도이다.
도 4는 본 발명의 일실시예에 따른 패킷 길이 필드(packet length field)를 포함하는 MMT D.2 계층 패킷 헤더 포맷(packet header format)을 나타낸다.
도 5는 본 발명의 일실시예에 따른 MMT 소스 패킷을 위한 MMT D.1 계층 페이로드 헤더 포맷(payload header format)을 나타낸다.
도 6은 본 발명의 일실시예에 따른 MMT 패리티 패킷을 위한 MMT D.1 계층 페이로드 헤더 포맷(payload header format)을 나타낸다.
도 2는 본 발명의 일실시예에 따른 (N, K) 리드-솔로몬 스타일 소실 부호화(Reed-Solomon style erasure coding)에 의한 FEC 기법을 MMT 패킷에 적용한 경우를 설명하기 위한 개념도이다.
도 3은 본 발명의 일실시예에 따른 리드-솔로몬 스타일 소실 부호화(Reed-Solomon style erasure coding)에 의한 FEC 복호화에 의해 손실된 MMT 패킷을 복구하기 위한 과정을 설명하기 위한 개념도이다.
도 4는 본 발명의 일실시예에 따른 패킷 길이 필드(packet length field)를 포함하는 MMT D.2 계층 패킷 헤더 포맷(packet header format)을 나타낸다.
도 5는 본 발명의 일실시예에 따른 MMT 소스 패킷을 위한 MMT D.1 계층 페이로드 헤더 포맷(payload header format)을 나타낸다.
도 6은 본 발명의 일실시예에 따른 MMT 패리티 패킷을 위한 MMT D.1 계층 페이로드 헤더 포맷(payload header format)을 나타낸다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 MMT(MPEG Media Transport)의 각 계층 구성의 일 예이다.
도 1을 참조하면, MMT 계층은 캡슐화 계층(Encapsulation layer), 전달 계층(Delivery layer) 및 제어 계층(Control layer)의 기능 영역을 포함하며, MMT 계층은 전송 계층(Transport layer) 위에서 동작한다.
캡슐화 계층(Encapsulation layer, E-layer)은 전송되는 미디어의 패킷화(packetization), 프래그먼테이션(Fragmentation), 멀티플렉싱(Multiplexing)등의 기능을 담당할 수 있다.
캡슐화(E) 계층에 의해 다양한 종류의 멀티미디어 컴포넌트들이 전송 및 소비되기 위하여 캡슐화(encapsulated)되고 서로 합해질 수 있다.
캡슐화(E) 계층은 크게 E.1 계층, E.2 계층 및 E.3 계층 3개의 계층으로 구성될 수 있다.
E.3 계층(E.3 Layer)은 미디어 코덱 계층(A)로부터 제공된 미디어 프래그먼트 유닛(Media Fragment Unit; MFU)을 캡슐화하여 M-유닛(M-Unit)을 생성할 수 있다. M-유닛은 복수의 MFU를 포함하는 미디어 프래그먼트 유닛의 집합이다.
E.2 계층(E.2 Layer)은 E.3계층에서 생성된 M-유닛(140)을 캡슐화하여 MMT 애셋을 생성한다. MMT 애셋은 복수의 M-유닛(M-Unit)들로 이루어진 M-유닛의 집합이다.
E.1 계층(E.1 Layer)은 E.2 계층에서 생성된 MMT 애셋을 캡슐화하여 MMT 패키지(MMT Package)를 생성한다. MMT 패키지(MMT Package)는 MMT 애셋(MMT Asset)들을 포함하는 MMT 애셋의 집합이다.
전달 계층(Delivery layer, D-layer)은 비디오, 오디오등과 같은 미디어의 전달 기능을 담당하며, 구체적으로 네트워크를 통해 전송되는 미디어의 네트워크 플로우 멀티플렉싱(Network flow multiplexing), 네트워크 패킷화(Network packetization), QoS 제어, 동기화(Synchronization) 기능 등을 수행할 수 있다.
전달(D) 계층은 전방향 에러 보정(Forward Error Correction; FEC) 및 재전송과 같은 MMT 미디어 패킷의 에러 제어를 수행할 수 있다.
전달(D) 계층은 미디어의 전달을 위한 QoS를 유지하기 위하여 크로스 레이어 디자인(Cross-layer design)을 통하여 하위 계층(MAC, PHY) 뿐만 아니라 다른 MMT 계층(layer)와의 인터랙션(interaction)을 수행할 수 있다.
전달(D) 계층은 D.1 계층(125), D.2 계층(120) 및 D.3 계층으로 구성될 수 있다.
D.1 계층(125)은 E.1 계층에서 제공된 MMT 패키지(MMT Package)를 전달받아 MMT 페이로드 포맷(MMT Payload format)(127)을 생성한다.
D.2 계층(120)은 D.1 계층(125)에서 생성된 MMT 페이로드 포맷(127)을 전달 받아서 MMT 패키지(MMT package 또는 MMT Transport Package)(121)를 생성한다.
본 발명의 일실시예에서는 MMT기반의 미디어 전송 서비스를 실시할 때 오류에 강인한 특성을 부여하기 위한 전방향 에러 보정(FEC) 기술을 적용할 때, 전송단과 수신단 간의 원활한 FEC 기능을 작동시키는 데 필요한 D 계층에서 지원해야 할 패킷 헤더(packet header) 포맷을 제공한다. 특히, 본 발명의 일실시예에서는 D 계층의 D.1 계층에서 지원이 필요한 페이로드 헤더 포맷(payload header format)을 제안하고, 또한 D.2 layer에서 지원이 필요한 패킷 헤더 포맷(packet header format)을 제공한다.
D.3 계층은 교차 계층 설계(cross-layer Design)에 의해 MMT 계층간에 정보를 교환하여 QoS를 지원하는 역할을 수행할 수 있다. D.3 계층은 예를 들어 하위 계층인 MAC계층, PHY 계층의 QoS 파라미터를 이용하여 QoS 제어를 할 수 있다. MAC계층, PHY 계층의 QoS 파라미터는 예를 들어, 비트율(bitrate), 패킷 손실율(packet loss ratio), 예측된 지연(expected delay), 이용 가능한 버퍼 크기 등이 될 수 있다.
제어 계층(Control layer; C-layer)은 전송되는 미디어의 세션 초기화/제어/관리(session initialization/control/management), 서버 기반 및 또는 클라이언트 기반의 트릭 모드, 서비스 디스커버리(Service discovery), 하이드리드 망에서의 동기화(Synchronization) 제어 기능 등을 수행할 수 있다.
제어 계층(Control layer)은 C.1 계층, C.2 계층으로 구성될 수 있다.
C.2 계층은 전달(Delivery) 계층의 동작을 지원할 수 있다. C.1 계층은 표현 세션 관리(presentation session management)를 수행할 수 있다. C.1 계층(220)은 서비스 디스커버리(Service discovery), 미디어의 세션 초기화/종료(media session initialization/termination), 미디어의 세션 표현/제어(media session presentation/control), 전달(D) 계층 및 캡슐화(E) 계층과의 인터페이스 기능을 담당할 수 있다.
IP 기반의 패킷 네트워크에서는 전송된 패킷이 손실되거나 지연되거나 손상을 입을 수 있다. 지연되어 도착한 패킷과 손상된 패킷을 수신측에서 모두 손실처리 함으로써 도착한 패킷을 올바르게 도착한 패킷과 손실된 패킷의 두 가지로 분류하여 나눌 수 있고, 이를 바탕으로 채널을 소실 채널 (erasure channel)로 모델링할 수 있다.
MMT 서비스의 소스(source)와 클라이언트 단말 간에 응용계층 (Application Layer; AL)에서 FEC 기술 (AL-FEC)을 활용함으로써 패킷 손실에 대한 직접적이고 강력한 대응을 할 수 있다.
현재 표준화 진행 중에 있는 MMT 시스템의 요구 조건(Requirements on MPEG Media Transport(MMT))에 의하면, MMT는 패킷 손실에 강인해 지도록 하기 위해서 응용계층 FEC (AL-FEC) 기술을 지원할 필요가 있다고 명시하고 있다.
링크(Link) 계층 또는 물리 계층에서의 FEC와는 달리, AL-FEC 는 IP 계층 상위에 존재하는 응용 계층(Application layer)에서 작동하며 특정 미디어 서비스 흐름에 대하여 단대단 (end-to-end) 방식으로 적용된다.
AL-FEC 기능을 지원할 수 있는 다양한 소실 부호화 (erasure coding) 기법들이 존재한다. 이러한 다양한 소실 부호화 기법들은 소스 패킷(source packet)을 모은 소스 블록(source block)에 대해 FEC 부호화를 적용했을 때 어떠한 방식으로 패리티 패킷(parity packet)을 생성하는지에 대한 원리와 수신된 패킷들을 활용하여 소스 블록(source block)에 속하는 소스 패킷(source packet)들을 어떻게 복구하는 하는지에 대한 원리에 있어서 서로 다른 기술적 차이를 나타낸다.
다양한 FEC 기법의 적용에 있어서 가장 중요하고 공통적인 파라미터는 바로 FEC의 대상이 되는 소스 패킷(source packet)의 개수를 나타내는 K, 그리고 FEC를 적용한 후에 생성되는 패리티 패킷(parity packet)의 개수와 소스 패킷(source packet)의 개수를 합한 값인 N 이다.
따라서 (N, K) 파라미터로 표시되는 리드-솔로몬(Reed-Solomon) 스타일의 FEC 부호화에서는 K 개의 소스 패킷(source packet)을 하나로 묶은 단위인 소스 블록(source block)에 대해서 N-K 개의 패리티 패킷(parity packet)을 생성하여 전송한다.
만약 FEC 부호화 후에 전송된 N 개의 패킷(packet)들 가운데 적어도 K 개의 패킷이 수신 측에 문제없이 도착한다면(즉, 손실된 패킷의 개수가 N-K 개를 넘지 않는다면), 원래의 K개의 소스 패킷(source packet)은 문제없이 복구가 가능하다. (N, K) 파라미터는 전송 네트워크의 손실 특성을 고려하여 적응적으로 값을 변동시킬 수 있다.
본 발명의 실시예에서는, 리드-솔로몬 스타일 소실 부호화(Reed-Solomon style erasure code) 기반의 FEC 기법을 MMT의 AL-FEC 기능으로 적용할 때, 공통적이면서 필수적으로 필요한 MMT의 D.1 계층 페이로드 헤더 포맷(payload header format)과 D.2 계층 패킷 헤더 포맷(packet header format)을 제안한다.
이하, 도 2 내지 도 6을 참조하여 본 발명의 실시예에 따른 D 계층에서 지원하는 패킷 헤더(packet header) 포맷에 대해 설명한다.
MMT
시스템에서 응용 계층 오류 정정(
AL
-
FEC
)을 위한 D.2 계층 패킷 헤더 포맷(
packet
header
format
)
도 2는 본 발명의 일실시예에 따른 (N, K) 리드-솔로몬 스타일 소실 부호화(Reed-Solomon style erasure coding)에 의한 FEC 기법을 MMT 패킷에 적용한 경우를 설명하기 위한 개념도이다.
MMT 데이터 구조(data structure)에서 리드-솔로몬 스타일 소실 부호화(Reed-Solomon style erasure code)의 FEC를 적용하기에 적합한 대상 (object)은 도 1에 도시된 D.2 계층(120)의 출력인 MMT 패킷(MMT packet)(121)이다. MMT 패킷(121) 자체가 IP 망을 통해 전달되는 최종적인 엔티티(entity)이기 때문에, 패킷 손실(packet loss)이 발생했을 경우에 MMT 패킷(121) 전체를 복구할 수 있어야 한다.
이러한 관점에서, MMT 패킷(121)에 대한 (N,K) 리드-솔로몬 스타일 소실 부호화(Reed-Solomon style erasure coding)에 의한 FEC 적용 원리가 도 2에 나타나 있다.
본 발명의 일실시예에 따른 (N, K) 리드-솔로몬 스타일 소실 부호화(Reed-Solomon style erasure coding)에 의한 FEC 기법을 MMT 패킷에 적용한 경우, K 값은 FEC의 적용 대상이 되는 소스 패킷(source packet)의 개수를 나타내며, N 값은 FEC를 적용한 후에 생성되는 패리티 패킷(parity packet)의 개수와 소스 패킷(source packet)의 개수를 합한 값이다. N 값은 K 개의 소스 패킷(source packet)을 보호하기 위해서 수신측에서 필요로 하는 중복 패킷의 최대 량을 고려하여 결정된다.
K 개의 소스 패킷(source packet)들에 대한 FEC 적용의 결과로 도 2에 도시된 바와같이 패리티 패킷 1, 패리티 패킷 2, ..., 패리티 패킷 (N-K)의 (N-K) 개의 패리티 패킷(parity packet)들 이 생성된다.
네트워크 전송 도중에 패킷 손실이 발생한다면 송신측에서 전송된 전체 N 개의 패킷(packet)들 가운데 일부만이 수신측에 도착한다.
도 2의 경우에 3번째 MMT 패킷(121)이 가장 긴 패킷 길이인 Smax 크기를 가지며, 소실 부호화(erasure coding) 시에 모든 패킷(packet)들의 길이를 Smax 크기로 정열(align) 시켜야 한다.
따라서, Smax 보다 작은 길이를 갖는 패킷들은 패딩(padding)에 의해 Smax의 길이로 맞춘다. 예를 들어 도착한 MMT 패킷 1은 D-계층 패킷 헤더(121a) 및 MMT 페이로드(121b)에 제1 크기의 패딩(121c)을 추가하여 MMT 패킷 길이를 Smax의 길이로 맞추며, 도착한 MMT 패킷 2는 D-계층 패킷 헤더 및 MMT 페이로드에 제2 크기의 패딩을 추가하여 MMT 패킷 길이를 Smax의 길이로 맞추며, 도착한 MMT 패킷 k는 D-계층 패킷 헤더 및 MMT 페이로드에 소정 크기의 패딩을 추가하여 MMT 패킷 길이를 Smax의 길이로 맞춘다. 도 2의 D-계층 패킷 헤더(121a)는 후술할 D.1 계층 패킷 헤더를 의미한다.
한편, 소실 부호화(erasure coding) 이후에는 패딩 데이터(padding data) 들을 모두 제거(remove) 한 후에 원래 MMT 패킷(original MMT packets)과 패리티 패킷(parity packets)을 전송한다.
패리티 패킷(parity packet)은 도 2에 도시된 바와 같이 D-계층 패킷 헤더(121a) 및 FEC 심볼(121d)를 포함한다. FEC 심볼(121d)은 Smax 의 길이를 가진다.
이하, 도 3을 참조하여 본 발명의 일실시예에 따른 리드-솔로몬 스타일 소실 부호화(Reed-Solomon style erasure coding)에 의한 FEC 복호화에 의해 손실된 MMT 패킷의 복구 메커니즘을 설명한다.
도 3은 본 발명의 일실시예에 따른 리드-솔로몬 스타일 소실 부호화(Reed-Solomon style erasure coding)에 의한 FEC 복호화에 의해 손실된 MMT 패킷을 복구하기 위한 과정을 설명하기 위한 개념도이다. 도 3의 경우는 2번째 MMT 패킷이 손실된 경우를 예를 들어 설명하고 있다.
도 3의 경우, 두 번째 MMT 패킷이 전송중에 손실된 경우를 나타내며, 두 번째 MMT 패킷이 손실되었기 때문에 수신된 패리티 패킷(parity packet)의 FEC 심볼 데이터(symbol data)를 활용하여 복구(recovery)를 수행한다.
복구 시에 필요한 FEC 심볼 길이(symbol length)인 Smax 정보는 Smax 크기의 페이로드(payload)를 포함하는 수신된 패리티 패킷(parity packet)이 복구에 반드시 활용이 되므로 자동적으로 알 수 있다. 따라서, Smax 값을 송신측에서 별도로 전송할 필요는 없다.
도 3에 도시된 바와같이, 패리티 패킷(parity packet)의 길이인 Smax 값에 크기를 맞추기 위해서 수신된 MMT 패킷에 패딩 데이터(padding data)를 추가한다. 그런데, 도 3에 도시된 바와 같이, 소실 복호화(erasure decoding)이 적용된 후에 얻게 되는 복원된 두번째 MMT 패킷은 패딩 데이터 부분이 복원된 결과에 포함된 형태로 얻어지는데, 패딩 데이터 부분을 제외한 MMT 패킷의 소스 데이터(source data) 부분만을 얻어내야 한다. 이를 위해서 소스 데이터(source data)와 패딩 데이터(padding data) 부분의 경계를 명확하게 판단할 수 있는 별도의 MMT 패킷 길이 정보(MMT packet length information)가 필요하다.
따라서, MMT 패킷의 길이를 나타내는 정보가 MMT 패킷의 D.2 계층 패킷 헤더(D.2 layer packet header)에 포함되어 전송될 필요가 있다.
도 3에서는 D.2 계층 패킷 헤더(D.2 layer packet header)에 포함되어 있는 MMT 패킷 길이 정보(packet length information)를 활용하여 소스 데이터와 패딩 데이터의 경계를 정확히 결정한 후에 패딩 데이터를 제거하여 두 번째 MMT packet을 복원하는 경우를 보여준다.
RTP(Real-time Transport Protocol) 패킷의 헤더에는 RTP 패킷에 대한 길이 정보는 포함되어 있지 않고, 패킷 길이 정보를 표시해야 할 경우에는 RTP 헤더 확장(header extension)을 통해 패킷 길이 정보를 프라이빗 데이터(private data) 형태로 추가하여 전달할 수 있다.
본 발명의 일실시예에서는 D.2 계층 패킷 헤더(D.2 layer packet header)에 MMT 패킷의 길이를 표현하는 도 4의 신택스(syntax)가 포함된다.
도 4는 본 발명의 일실시예에 따른 패킷 길이 필드(packet length field)를 포함하는 MMT D.2 계층 패킷 헤더 포맷(packet header format)을 나타낸다.
도 4의 MMT D.2 계층 패킷 헤더 포맷(packet header format)의 구문론Syntax)과 의미론(semantics) 는 다음과 같다.
도 4의 Packet_Length (16 bits) 필드는 MMT 패킷에서 상기 Packet_Length 필드의 마지막 바이트 이후의 총 데이터 바이트 수를 나타낸다. Packet_Length 필드는 MMT 소스 패킷(source packet)의 D.2 계층 패킷 헤더(D.2 layer packet header)에는 존재할 필요가 있지만, FEC 패리티 패킷(parity packet)의 D.2 계층 패킷 헤더(D.2 layer packet header)에는 존재할 필요가 없다.
FEC 부호화가 수행될 때, MMT의 적절한 MMT의 프로토콜 계층으로부터 MMT 패킷의 타입(type) 정보를 얻을 수 있다. MMT 패킷의 타입(type) 정보는 예를 들어, MMT E.2 계층에서 생성되는 MMT 애셋(Asset)내의 헤더 정보인 애셋 정보(Asset information) 또는 MMT E.1 계층에서 생성되는 MMT 패키지(Package)내의 헤더 정보인 패키지 정보(package information) 내에 포함될 수 있다.
Packet_Length 필드는 AL-FEC가 적용될 때(즉, FEC_Flag=='1') 패킷 타입(packet type)이 소스 패킷(source packet)인 MMT 패킷의 헤더에만 존재하게 되며, 항상 Smax 값으로 고정된 길이의 페이로드 크기(payload size)를 갖게 되는 FEC 패리티 패킷(parity packet)의 헤더에는 존재할 필요가 없다. 따라서, Packet_Length 를 구현하기 위한 슈도코드(pseudocode) 표현방법은 다음과 같다.
MMT_packet_length( ) {
if(MMT _ Packet _ Type=='Source packet'&& FEC_Flag=='1' {
Packet _ Length; (16 bits)
}
}
한편, 상기와 같이 MMT 패킷의 길이(length)를 헤더(header)에 명시하지 않더라도 손실 패킷(lost packet)의 길이(length) 정보를 얻어 낼 수 있는 방법이 있다. 그러나, 이러한 방법을 적용할 경우 FEC 부호화기(encoder)와 FEC 복호화기(decoder) 에서의 처리 절차가 증가하고 계산 복잡도 또한 증가하는 문제점이 있다. 따라서, 본 발명의 일실시예에 따른 Packet_Length 필드를 활용하여 명확하게 패킷 길이(packet length) 정보를 전달 및 활용함으로써 FEC 부호기(encoder) 및 복호기(decoder)의 복잡도를 낮출 수 있다.
MMT
시스템에서 응용 계층 오류 정정(
AL
-
FEC
)을 위한 D.1 계층
페이로드
헤더 포맷(
payload
header
format
)
AL-FEC 복호화 기능을 원활하게 수행하기 위해서 MMT 수신측에서 알아야 할 중요한 파라메터들이 존재한다. 상기 중요한 파라메터들은 아웃오브밴드(out-of-band) 시그널링(signaling) 방식으로 전달이 될 수도 있지만, FEC가 특정 개수의 MMT 패킷(packet)으로 구성되는 소스 블록(source block) 단위로 적용이 되므로, 서로 다른 블록(block) 간에 적용되게 되는 FEC 파라메터 사이에도 값의 차이가 발생할 수 있다. 특히, 크로스-레이어 설계(Cross-layer-design; CLD) 기반의 전송 시스템의 경우 전송 채널의 상태(condition)을 추정하여 채널 상태 (channel status)에 적합한 부호율(code-rate)을 적응적으로 결정한다. 적응적으로 결정되는 부호율(code-rate)를 바탕으로 FEC를 적용할 경우에는 소스 블록(source block) 마다 적용되는 FEC 파라메터가 다이내믹하게(dynamically) 변동할 수 있다. 따라서, 다이내믹하게 변동하는 FEC 파라메터 들을 아웃오브밴드(out-of-band) 시그널링 방식으로 전달하는 것은 바람직하지 못하다.
본 발명의 일실시예에서는 인밴드(in-band) 시그널링 방식으로 전달이 되어야 할 FEC 파라메터들을 도출하고, 상기 파라메터들을 MMT의 D.1 계층 페이로드 헤더 포맷(D.1 layer payload header format)에 포함시키기 위한 신택스(syntax)와 시매틱스(semantics)를 하기 도 5 및 도 6을 참조하여 설명한다.
도 5는 본 발명의 일실시예에 따른 MMT 소스 패킷을 위한 MMT D.1 계층 페이로드 헤더 포맷(payload header format)을 나타낸다.
도 5의 MMT 소스 패킷을 위한 MMT D.1 계층 페이로드 헤더 필드의 구문론(Syntax)와 의미론(semantics)는 다음과 같다.
- Seq _ Num _ Base (16 bits) : 이 필드는 AL-FEC에 의해 보호되는 소스 블록(source block)을 구성하는 MMT 소스 패킷(source packet)들의 첫번째 시퀀스 번호(sequence number) 값을 나타낸다.
- K (8 bits) : 이 필드는 스스 블록(source block)에 포함되는 MMT 소스 패킷(source packet)의 개수를 나타낸다.
- Source _ Block _ ID (8 bits) : 이 필드는 소스 패킷(source packet)이 속하는 소스 블록(source block)의 ID 값을 나타낸다.
Seq_Num_Base, K 및 Source_Block_ID 파라메터로부터, 수신측은 Source_Block_ID로 표시된 소스 블록(source block)에 포함되는 소스 패킷(source packet)들의 모음을 파악할 수 있다. 예를 들어, 만약 Seq_Num_Base = 101 이고 K = 5일 경우, 수신측은 소스 블록(source block)이 MMT 시퀀스 번호(sequence number)가 101~105에 해당하는 5개의 소스 패킷(source packet)으로 구성되어 있음을 알 수 있다. 따라서, 101~105의 시퀀스 번호를 갖는 소스 패킷(source packet)들이 손실 없이 모두 도착했다면, 수신측은 이 사실을 파악하자마자 이 소스 블록(source block)에 대해서는 더 이상의 추가적인 패리티 패킷(parity packet)을 기다릴 필요도 없고, FEC 복호화를 적용할 필요도 없음을 즉각적으로 판단할 수 있다. 그러나, 만약 이러한 파라메터가 수신측으로 전달되지 않는다면 수신측이 도착여부를 파악해야 할 정확한 소스 패킷(source packet)의 개수와 각 패킷의 시퀀스 번호를 알 수가 없게 된다. 따라서, 상기에 제안한 파라메터들은 패리티 패킷(parity packet)들의 도착여부와 관계없이(모든 패리티 패킷(parity packet)이 손실된 경우를 포함하여), 도착한 소스 패킷(source packet)들만으로도 수신측이 어떠한 조치를 취해야 하는지를 즉각적으로 판단할 수 있게 한다. 만약, 특정 소스 블록(source block)을 구성하는 K 개의 소스 패킷(source packet)들이 모두 손실 없이 도착했다면, 수신측은 이 소스 블록(source block)에 대해서는 전송 도중에 소스 패킷(source packet)의 손실이 없었음을 즉각적으로 판단할 수 있다. 또한 만약에 전송 도중에 패킷(packet) 손실이 있었다면, 이 소스 블록(source block)에 대한 원활한 FEC 복호화를 위해서 추가적으로 몇 개의 패리티 패킷(parity packet)을 더 수신해야 하는지를 쉽게 판단할 수 있다.
도 6은 본 발명의 일실시예에 따른 MMT 패리티 패킷을 위한 MMT D.1 계층 페이로드 헤더 포맷(payload header format)을 나타낸다.
그림 6의 MMT 패리티 패킷을 위한 MMT D.1 계층 페이로드 헤더 필드의 구문론(Syntax)와 의미론(semantics)은 다음과 같다.
- Seq _ Num _ Base (16 bits) : 이 필드는 AL-FEC에 의해 보호되는 소스 블록(source block)을 구성하는 MMT 소스 패킷(source packet)들의 첫번째 시퀀스 번호(sequence number) 값을 나타낸다.
- K (8 bits) : 이 필드는 스스 블록(source block)에 포함되는 MMT 소스 패킷(source packet)의 개수를 나타낸다..
- N-K (8 bits) : 이 필드는 K 개의 소스 패킷(source packet)을 보호하기 위한 FEC 패리티 패킷(parity packet)의 개수를 나타낸다.
- Source _ Block _ ID (8 bits) : 이 필드는 이 FEC 패리티 패킷(parity packet)이 연관되는 소스 블록(source block)의 ID 값을 나타낸다.
Seq_Num_Base, K 및 Source_Block_ID 필드들의 역할은 도 5에 표시된 소스 패킷을 위한 헤더 필드의 역할과 동일하다. (N-K) 필드를 포함한 이 파라메터들로부터, 수신측은 Source_Block_ID로 표시된 소스 블록(source block)에 대해 생성된 FEC 패리티 패킷(parity packet)들의 모음을 파악할 수 있다. 예를 들어, Seq_Num_Base = 101, K = 5 그리고 N-K = 3 일 경우에 수신측에서는 이 Source_Block_ID에 해당하는 소스 블록(source block)을 보호하기 위해 총 3 개의 FEC 패리티 패킷(parity packet)이 생성 되었음을 알 수 있고 이 패리티 패킷(parity packet)들이 갖는 시퀀스 번호는 각각 106, 107, 108임을 알 수 있다. 따라서, 소스 패킷(source packet)이 전송 도중에 손실된 경우 도 6에 제시된 MMT D.1 계층 페이로드 헤더 필드로부터 FEC 복호화에 의한 복구에 필요한 FEC 패리티 패킷(parity packet)의 개수와 복구에 적합한 FEC 패리티 패킷(parity packet)을 즉각적으로 파악하여 FEC 복호화 과정을 진행시킬 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (1)
- 전방향 오류 정정 부호화기에서의 전방향 오류 정정(FEC) 제어 방법에 있어서,
MMT 패킷(packet)의 소스 데이터(source data)와 패딩 데이터(padding data) 부분의 경계를 명확하게 판단하기 위한 MMT 패킷의 길이 정보를 가지는 파라메터를 포함하는 MMT 전달 계층 패킷 헤더(Delivery layer packet header)를 생성하는 단계; 및
상기 패딩 데이터(padding data)를 모두 제거한 후에 상기 MMT 전달 계층 패킷 헤더(Delivery layer packet header)를 포함하는 MMT 패킷과 패리티 패킷을 전방향 오류 정정 복호화기로 전송하는 단계를 포함하는 것을 특징으로 하는 전방향 오류 정정 제어 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110068852 | 2011-07-12 | ||
KR20110068852 | 2011-07-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20130008438A true KR20130008438A (ko) | 2013-01-22 |
Family
ID=47838543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110135468A KR20130008438A (ko) | 2011-07-12 | 2011-12-15 | 멀티미디어 패킷 전송망에서 전방향 오류 정정 제어 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20130008438A (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015105404A1 (ko) * | 2014-01-13 | 2015-07-16 | 삼성전자 주식회사 | 통신 시스템에서 패킷 송수신 방법 및 장치 |
WO2016003250A1 (ko) * | 2014-07-04 | 2016-01-07 | 삼성전자주식회사 | 멀티미디어 데이터를 송수신하는 방법 및 장치 |
US10153863B2 (en) | 2014-01-13 | 2018-12-11 | Samsung Electronics Co., Ltd. | Method and device for transmitting and receiving packet in communication system |
WO2020071796A1 (ko) * | 2018-10-02 | 2020-04-09 | 삼성전자(주) | 전자장치, 패킷전송 장치 및 방법 |
RU2750337C2 (ru) * | 2013-04-19 | 2021-06-28 | Самсунг Электроникс Ко., Лтд. | Способ и устройство для передачи медиаданных в мультимедийной транспортной системе |
-
2011
- 2011-12-15 KR KR1020110135468A patent/KR20130008438A/ko not_active Application Discontinuation
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2750337C2 (ru) * | 2013-04-19 | 2021-06-28 | Самсунг Электроникс Ко., Лтд. | Способ и устройство для передачи медиаданных в мультимедийной транспортной системе |
US11245940B2 (en) | 2013-04-19 | 2022-02-08 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting media data in multimedia transport system |
US11665384B2 (en) | 2013-04-19 | 2023-05-30 | Samsung Electronics Co., Ltd. | Method and apparatus for transmitting media data in multimedia transport system |
WO2015105404A1 (ko) * | 2014-01-13 | 2015-07-16 | 삼성전자 주식회사 | 통신 시스템에서 패킷 송수신 방법 및 장치 |
US10153863B2 (en) | 2014-01-13 | 2018-12-11 | Samsung Electronics Co., Ltd. | Method and device for transmitting and receiving packet in communication system |
US10498485B2 (en) | 2014-01-13 | 2019-12-03 | Samsung Electronics Co., Ltd. | Method and device for transmitting and receiving packet in communication system |
US10985870B2 (en) | 2014-01-13 | 2021-04-20 | Samsung Electronics Co., Ltd. | Method and device for transmitting and receiving packet in communication system |
WO2016003250A1 (ko) * | 2014-07-04 | 2016-01-07 | 삼성전자주식회사 | 멀티미디어 데이터를 송수신하는 방법 및 장치 |
US10484148B2 (en) | 2014-07-04 | 2019-11-19 | Samsung Electronics Co., Ltd. | Method and device for transmitting and receiving multimedia data |
WO2020071796A1 (ko) * | 2018-10-02 | 2020-04-09 | 삼성전자(주) | 전자장치, 패킷전송 장치 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5442816B2 (ja) | 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング | |
JP6377605B2 (ja) | 通信システムにおけるパケット送受信方法及び装置 | |
JP6606240B2 (ja) | 放送システムにおけるマルチメディアデータの転送装置及び方法 | |
US9577682B2 (en) | Adaptive forward error correction (FEC) system and method | |
TW200849877A (en) | A method to support forward error correction for real-time audio and video data over internet protocol networks | |
KR20130040090A (ko) | 복합 네트워크에서 멀티미디어 데이터를 전송하기 위한 장치 및 그 방법 | |
KR102305410B1 (ko) | 통신 시스템에서 패킷 송수신 방법 및 장치 | |
US10958376B2 (en) | Method and apparatus for transmitting and receiving packet in communication system | |
US9363684B2 (en) | Determining loss of IP packets | |
KR20130008438A (ko) | 멀티미디어 패킷 전송망에서 전방향 오류 정정 제어 방법 | |
KR102163338B1 (ko) | 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법 | |
JP5344541B2 (ja) | データ送信装置、送信方法及びプログラム | |
EP2842253B1 (en) | Apparatus and method for transmitting a packet in a communication system | |
CA2909801C (en) | Apparatus and method for transmitting and receiving forward error correction packet | |
KR20060095755A (ko) | 패킷교환 네트워크를 통한 실시간 전송을 위한 미디어 패킷구조 | |
CN113783661B (zh) | 在通信***中发送和接收分组的方法和装置 | |
KR102191970B1 (ko) | 데이터 전송 디바이스 및 그 전송 방법 | |
TWI511499B (zh) | 跨封包模式的通道編碼方法及系統 | |
JP2009049530A (ja) | データ送信装置、データ中継装置及びデータ受信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |