Nothing Special   »   [go: up one dir, main page]

KR20190043060A - 멀티미디어 통신 시스템에서 응용 계층 순방향 오류 정정 방식을 사용하여 미디어 데이터를 송수신하는 방법 및 장치 - Google Patents

멀티미디어 통신 시스템에서 응용 계층 순방향 오류 정정 방식을 사용하여 미디어 데이터를 송수신하는 방법 및 장치 Download PDF

Info

Publication number
KR20190043060A
KR20190043060A KR1020170134910A KR20170134910A KR20190043060A KR 20190043060 A KR20190043060 A KR 20190043060A KR 1020170134910 A KR1020170134910 A KR 1020170134910A KR 20170134910 A KR20170134910 A KR 20170134910A KR 20190043060 A KR20190043060 A KR 20190043060A
Authority
KR
South Korea
Prior art keywords
source
fec
packet
repair
block
Prior art date
Application number
KR1020170134910A
Other languages
English (en)
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 KR1020170134910A priority Critical patent/KR20190043060A/ko
Publication of KR20190043060A publication Critical patent/KR20190043060A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • 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
    • H04L67/322
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing

Landscapes

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

Abstract

본 발명은 응용 계층 순방향 오류 정정 방식을 사용한 방송 및 미디어 서비스의 수신을 제어하는 방법에 있어서, 상기 방송 서비스를 구성하는 패킷과 심볼의 순서가 달라지는 응용 계층 순방향 오류 정정 기반 인코딩 및 인코딩된 데이터들의 디코딩 시점을 제어하기 위한 버퍼를 생성하는 과정과, 버퍼 생성시 FEC 제어 정보를 포함하는 시그널링 메시지를 이용하여 디코딩을 수행하는 과정을 포함한다.

Description

멀티미디어 통신 시스템에서 응용 계층 순방향 오류 정정 방식을 사용하여 미디어 데이터를 송수신하는 방법 및 장치{METHOD AND APPARATUS FOR TRANSMITTING AND RECEIVING MEDIA DATA USING AN APPLICATION LAYER FORWARD ERROR CORRECTION SCHEME IN A MULTIMEDIA COMMUNICATION SYSTEM}
본 발명은 멀티미디어 통신 시스템에서 응용 계층 순방향 오류 정정 application layer forward error correction: AL-FEC) 방식을 사용하여 미디어 데이터를 송수신하는 방법 및 장치에 관한 것이다.
무선망과 인터넷의 초고속화와 함께 방통 융합 환경이 제공됨에 따라 다양한 성능의 단말들이 혼재하는 융합 콘텐츠 소비 환경이 구축되고 있다. 이를 기반으로, 고용량 컨텐트들의 증가로 인해서, 네트워크(network) 상에서 데이터 혼잡(data congestion)은 점점 더 심화되고 있다. 이러한 상황으로 인하여, 네트워크 상에서 데이터가 손실됐을 때, 신호 수신 장치에서 손실된 데이터를 복구할 수 있도록 지원하는 방식들이 요구된다.
이러한 방식들 중의 하나인 응용 계층 순방향 에러 정정(application layer forward error correction: AL-FEC) 방식은 네트워크에서 손실된 정보를 신호 수신 장치에서 복원할 수 있게 하는 여분의 정보를 신호 송신 장치가 원본 정보와 함께 송신하는 것이다. 이때 상기 여분의 정보는 상기 신호 송신 장치와 상기 신호 수신 장치 간에 미리 약속된 알고리즘을 사용하여 생성될 수 있다. 상기 알고리즘은 소스 블록(source block)이라 칭하는 단위의 원본 정보를 입력으로 사용하여 리페어 블록(repair block)이라 칭하는 단위로 여분의 정보를 생성하는데, 알고리즘에 따라 상기 리페어 블록 전체를 생성하지 않고 상기 리페어 블록을 구성하는 리페어 심볼들을 필요한 만큼만 생성할 수 있다. 상기 신호 수신 장치가 상기 알고리즘을 적용하여 손실된 정보를 복원하기 위해 필요한 부가 정보들은 상기 신호 송신 장치에서 상기 신호 수신 장치로 전달된다.
AL-FEC 부호는 리페어 블록을 구성하는 리페어 심볼이 소스 블록을 구성하는 소스 심볼들과 어떤 관계를 가지는지를 나타낸다. 일반적인 AL-FEC 부호는 전체 소스 블록에서 하나 이상의 소스 심볼을 선택하고 이들의 이진합을 계산하는 방식으로 개별 리페어 심볼들을 생성한다. 이 때 상기 하나 이상의 소스 심볼을 선택하는 과정은 소스 심볼의 개별적인 특성을 고려하지 않고 설계된다. 하지만 원본 정보들은 AL-FEC 알고리즘에 따라 소스 심볼 블록 생성시 소스 패킷의 입력된 순서와 소스 심볼 블록내의 심볼 순서가 다를 수 있으며, 상기 소스 패킷의 입력 순서와 소스 심볼 블록내의 소스 심볼의 순서를 재배열하도록 AL-FEC 부호를 설계할 수 있다. 이 경우에 일반적인 AL-FEC 부호에서는 요구되지 않았던 추가적인 장치 및 과정이 신호 송신 장치 및 신호 수신 장치에서 수행시 필요하다.
본 발명은 멀티미디어 통신 시스템에서 응용 계층 순방향 오류 정정 (application layer forward error correction: AL-FEC) 방식을 사용하여 미디어 데이터를 송수신하는 방법 및 장치를 제안한다.
본 발명은 AL-FEC 방식을 사용하여 제공되는 방송 서비스의 수신을 제어하는 방법 및 장치를 제안한다.
본 발명은 소스 심볼 블록을 구성하는 소스 심볼의 순서가 소스 패킷의 입력 순서와 다를 경우 송신기에서 버퍼를 두어 소스 블록내의 소스 심볼을 재배열 하며 재배열된 소스 심볼 블록을 바탕으로 리페어 블록을 생성하는 AL-FEC 방식을 적용하여 멀티미디어 서비스를 제공하기 위한 방법 및 장치를 제안한다.
본 발명은 네트워크 및 서비스 환경에 따라 재배열된 원본 정보를 수신기에서 복원하기 위한 방법 및 장치를 제안한다.
본 발명의 실시 예에 따른 방법은; 응용 계층 순방향 오류 정정 방식을 사용한 멀티미디어 서비스를 송신하는 방법에 있어서, 상기 멀티미디어 서비스를 구성하는 미디어 데이터를 그 속성에 따라 소스 심볼 블록내의 소스 심볼 블록의 순서를 재배열하고, 재배열된 소스 심볼 블록을 기반으로 리페어 정보를 생성하여 미디어 데이터와 함께 송신하고, 수신기에서 미디어 데이터를 복구하기 위해 필요한 제어 정보를 송신하는 과정을 포함한다.
본 발명의 실시 예에 따른 다른 방법은; 응용 계층 순방향 오류 정정 방식을 사용한 멀티미디어 서비스를 수신하는 방법에 있어서, 그 속성에 따라 소스 심볼 블록내의 소스 심볼 블록의 순서를 재배열한 후 재배열된 소스 심볼 블록으로 구성된 미디어 데이터를 수신하고, 재배열된 소스 심볼 블록에 대한 리페어 정보 및 제어 정보를 수신하여, 송/수신 과정에서 손실된 미디어 데이터를 수신기에서 복원하는 과정을 포함한다.
본 발명의 실시 예에 따른 방법은; 응용 계층 순방향 오류 정정 방식을 사용한 멀티미디어 서비스를 송신하는 방법에 있어서, 상기 멀티미디어 서비스를 구성하는 미디어 데이터를 그 속성에 따라 소스 심볼 블록내의 소스 심볼 블록의 순서를 재배열하고, 재배열된 소스 심볼 블록을 그룹으로 분류하여 그룹마다 서로 다른 보호 레벨을 가지는 리페어 정보를 생성하여 미디어 데이터와 함께 송신하고, 수신기에서 미디어 데이터를 복구하기 위해 필요한 제어 정보를 송신하는 과정을 포함한다.
본 발명의 실시 예에 따른 다른 방법은; 응용 계층 순방향 오류 정정 방식을 사용한 멀티미디어 서비스를 수신하는 방법에 있어서, 그 속성에 따라 소스 심볼 블록내의 소스 심볼 블록의 순서를 재배열한 후 재배열된 소스 심볼 블록을 그룹으로 분류될 수 있는 미디어 데이터를 수신하고, 각 그룹마다 서로 다른 보호 레벨을 제공할 수 있는 리페어 정보 및 제어 정보를 수신하여, 송/수신 과정에서 손실된 미디어 데이터를 수신기에서 복원하는 과정을 포함한다.
본 발명의 실시 예에 따른 다른 방법은; 응용 계층 순방향 오류 정정 방식을 사용한 방송 및 미디어 서비스의 수신을 제어하는 방법에 있어서, 상기 방송 서비스를 구성하는 패킷과 심볼의 순서가 달라지는 응용 계층 순방향 오류 정정 기반 인코딩 및 인코딩된 데이터들의 디코딩 시점을 제어하기 위한 버퍼를 생성하는 과정과, 버퍼 생성시 FEC 제어 정보를 포함하는 시그널링 메시지를 이용하여 디코딩을 수행하는 과정을 포함한다.
본 발명은 소스 심볼 블록 생성시 입력된 소스 패킷의 순서와 소스 심볼 블록 내의 소스 심볼 순서가 달라지는 경우 송신기에 버퍼를 두어 한 개의 소스 심볼 블록이 완성 되기 전까지 소스 FEC 패킷의 전송 및 리페어 심볼의 생성을 지연시키는 AL-FEC 방식을 적용하여 멀티미디어 서비스를 제공하기 위한 방법 및 장치를 제안한다. 제공하고자 하는 멀티미디어 데이터는 데이터의 속성에 따라 상기 소스 심볼 블록을 재배열 할 수 있으며, 데이터의 속성에 따라 서로 다른 보호 레벨을 적용할 수 있다.
도 1은 MMT에서 AL-FEC가 적용되는 구조를 나타낸 도면,
도 2는 two-stage FEC 부호화 구조의 예를 나타낸 도면,
도 3은 2 개의 계층을 가지는 LA-FEC 부호화 구조에서 소스 심볼 블록 생성 방식을 도시한 도면,
도 4는 본 발명의 실시 예에 따른 인코딩 심볼 블록의 예를 도시한 도면,
도 5는 본 발명의 실시 예에 따른 ssbg_mode0을 사용하여 생성된 소스 심볼 블록의 예를 나타낸 도면,
도 6은 본 발명의 실시 예에 따른 ssbg_mode1을 사용하여 생성된 소스 심볼 블록의 예를 나타낸 도면,
도 7은 본 발명의 실시 예에 따른 ssbg_mode2를 사용하여 생성된 소스 심볼 블록의 예를 나타낸 도면,
도 8은 본 발명의 실시 예에 따른 FEC 소스 패킷 포맷의 예를 나타낸 도면,
도 9는 본 발명의 실시 예에 따른 FEC 리페어 패킷 포맷의 예를 나타낸 도면,
도 10은 본 발명의 실시 예에 따른 소스 FEC 페이로드 ID의 예를 나타낸 도면,
도 11은 본 발명의 실시 예에 따른 LA-FEC 부호화 방식이 사용될 경우의 SS_ID 설정 방법의 예를 나타낸 도면,
도 12은 본 발명의 실시 예에 따른 리페어 FEC 페이로드 ID의 예를 나타낸 도면,
도 13은 본 발명의 실시 예에 따른 송신기의 블록 구성도,
도 14는 본 발명의 실시 예에 따른 패킷과 심볼의 순서가 달라지는 소스 심볼과 리페어 심볼 블록의 일 예를 도시한 도면,
도 15는 본 발명의 실시 예에 따른 FEC 디코딩 과정을 나타낸 도면,
도 16은 본 발명의 실시 예에 따른 송신기가 패킷 우선순위 값 존재 시 버퍼 생성을 통한 인코딩을 수행하는 예를 도시한 순서도,
도 17은 본 발명의 실시 예에 따른 수신기가 패킷 우선순위 값 존재 시 버퍼 생성을 통한 디코딩을 수행하는 예를 도시한 순서도.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세히 설명한다. 도면상에 표시된 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호로 나타내었으며, 다음에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
구체적으로, 본 발명의 실시 예가 적용되는 통신 시스템은 설명의 편의상, MPEG(Moving Picture Experts Group) 미디어 전송 기술인 MMT(MPEG Media Transport) 기반 시스템을 일 예로서 설명한다. 그러나, 본 발명의 실시 예는 MMT 시스템 이외의 다른 통신 시스템들을 통해서도 적용될 수 있음에 유의하여야 할 것이다.
MMT는 IP 네트워크 환경에서 AL-FEC 메커니즘을 사용하여 신뢰성 있는 전송을 제공한다. MMT FEC 방식(scheme)은 전송 기능을 구성하는 요소 블록으로 묘사된다. MMT 송신기에서 생성된 MMT 패킷들은 보호를 위해 MMT FEC 방식으로 전달된다. MMT FEC 방식이 사용될 경우 리페어 심볼과 FEC 페이로드 ID가 생성되며, 생성된 리페어 심볼들은 MMT 프로토콜을 이용하여 MMT 패킷들로 전송된다. FEC 구성 정보는 FEC 부호화된 패킷 플로우(FEC encoded flow)의 식별자, FEC 부호화 구조(coding structure) 및 FEC 부호(code)를 나타낸다. 해당 정보는 FEC 동작을 위해 MMT 수신기로 전달된다. 상술한 MMT에서 AL-FEC가 적용되는 구조는 도 1에 도시된 바와 같다.
MMT 송신기는 MMT 패키지(package) 내에서 보호가 필요한 어셋들과 상기 어셋들을 보호하기 위한 FEC 소스 플로우(source flow)의 개수를 결정한다. 하나의 FEC 소스 플로우는 하나 이상의 어셋(Asset)들을 보호하며, 상기 FEC 소스 플로우는 상기 하나 이상의 어셋들은 전달하는 MMTP 패킷으로 구성된다. 보호를 위해 FEC 소스 플로우와 그 구성 정보들은 MMT FEC 방식을 기반으로 전달된다. MMT FEC 방식은 하나 이상의 FEC 부호를 사용하여 하나 이상의 FEC 리페어 플로우(repair flow)를 구성하는 리페어 심볼들을 생성하기 위한 방식이다. 생성된 리페어 심볼들은 FEC 페이로드 ID와 함께 MMT 프로토콜로 전달된다. MMT 프로토콜은 FEC 소스 및 리페어 패킷들을 MMT 수신기로 전달한다. MMT 수신기의 MMT 프로토콜은 FEC 소스 플로우 및 상기 FEC 소스 플로우에 관련된 하나 이상의 FEC 리페어 플로우들을 MMT FEC 방식으로 전달한다. MMT FEC 방식은 손실된 MMTP 패킷들에 대한 복원을 시도하고 복원된 MMTP 패킷들을 MMT 프로토콜로 전달한다.
MMT FEC 방식은 FEC 소스 플로우를 소스 패킷 블록들로 분할하고 소스 심볼 블록들을 생성하기 위한 방식이다. 생성된 소스 심볼 블록들은 FEC 부호에 의하여 FEC 부호화(encoding)된다. 여기서 FEC 부호화란 소스 심볼 블록을 사용하여 리페어 심볼들을 생성하는 과정을 의미한다. FEC 부호 알고리즘은 소스 심볼 블록에서 리페어 심볼들을 만드는데 사용되며. 일 예로 ISO/IEC 23008-10에 기술된 FEC 부호 알고리즘 등이 사용될 수 있다.
MMT FEC 방식은 두 개의 서로 다른 모드(mode)로 사용될 수 있다. FEC payload ID mode 0는 MMTP 패킷에 소스 FEC 페이로드 ID를 추가하는 모드를 나타내며, FEC payload ID mode 1은 MMTP 패킷에 아무런 변형을 가하지 않는 모드를 나타낸다.
MMT FEC 방식은 FEC 부호화 구조를 사용하여 계층화된 또는 비계층화된 미디어 데이터를 포함하는 패킷들을 다중 레벨로 구성할 수 있다. 이는 하나의 FEC 소스 플로우를 구성하는 각 어셋들에게 필요한 만큼의 보호 수준을 적용하는 것을 가능하게 한다. FEC 소스 플로우는 시그널링 메시지들을 전달하는 MMTP 서브 플로우 일 수도 있다. FEC 부호화 구조의 예는 후술할 two-stage FEC 부호화 구조와 layer-aware FEC (LA-FEC) 부호화 구조를 포함한다.
도 2는 two-stage FEC 부호화 구조의 예를 나타낸 도면이다.
Two-stage FEC 부호화 구조에서 한 개의 소스 패킷 블록은 M(>1)개의 소스 패킷 블록들로 분할될 수 있다. M개의 분할된 소스 패킷 블록들 중에서 i번째(i=1,2,…,M) 소스 패킷 블록은 후술할 소스 심볼 블록 생성 방법들 중 하나를 이용하여 i번째 소스 심볼 블록으로 변환된다. 이때 상기 i번째 소스 심볼 블록은 제 1 FEC 부호를 사용하여 부호화된다. 또한 M개의 분할된 소스 심볼 블록들을 연결하여 단일 소스 심볼 블록을 생성하고 이를 제 2 FEC 부호를 사용하여 부호화한다. 상기 M개의 분할된 소스 심볼 블록들을 상기 제 1 FEC 부호를 사용하여 부호화하는 과정에서 M개의 리페어 심볼 블록들이 생성되며, 상기 단일 소스 심볼 블록을 상기 제 2 FEC 부호를 사용하여 부호화하는 과정에서 한 개의 리페어 심볼 블록이 생성된다.
LA-FEC 부호화 구조는 계층화된 미디어 데이터(예를 들어 SVC, MVC 등)에 특화된 FEC 부호화 구조이다. LA-FEC 부호화 구조는 미디어 계층간의 연관성을 이용하며 각 미디어 계층은 연관된 FEC 리페어 플로우를 가진다. 여기서 상기 FEC 리페어 플로우는 상기 연관된 미디어 계층의 데이터 및 상기 연관된 미디어 계층이 의존하는 모든 미디어 계층(이후, 보완 계층(complementary layer)이라 칭함) 의 데이터를 함께 보호한다.
LA-FEC 부호화 구조에서 각 미디어 계층의 데이터를 포함하는 소스 패킷들은 레이어 별로 서로 다른 소스 심볼 블록으로 그룹화된다. 하나의 FEC 리페어 플로우를 구성하는 리페어 심볼들을 생성하는 과정에서 사용되는 소스 심볼 블록은 상기 FEC 리페어 플로우와 연관된 미디어 계층의 데이터로 구성된 소스 심볼 블록과 상기 연관된 미디어 계층의 보완 계층 데이터로 구성된 소스 심볼 블록들이 결합된 형태를 갖는다. 상기 서로 다른 계층의 데이터로 구성된 소스 심블 블록들의 결합은 미디어의 계층 구조를 따른다. 즉, 각각의 소스 심볼 블록은 상기 소스 심볼 블록에 포함된 미디어 데이터의 보완 계층 데이터로 구성된 소스 심볼 블록에 후행한다.
도 3은 2 개의 계층을 가지는 LA-FEC 부호화 구조에서 소스 심볼 블록 생성 방식을 도시한 도면이다.
도 3을 참조하면, Enh. Layer는 계층화된 미디어 스트림에서 기저 계층(base layer)에 의존하는 향상 계층(enhancement layer)을 나타낸다.
인코딩 심볼 블록은 소스 심볼 블록과 상기 소스 심볼 블록에서 생성된 리페어 심볼 블록으로 구성된다. 소스 심볼 블록은 송신 시스템과 수신 시스템에서 약속된 방식에 따라 구성되며, 본 발명의 실시 예에 따른 멀티미디어 서비스 시스템은 하나 이상의 소스 심볼 블록 생성 방식을 정의하고 필요에 따라 그 중 하나를 선택하여 소스 심볼 블록을 생성할 수 있다. 이후로는 소스 심볼 블록 생성 방식을 소스 심볼 블록 생성 모드(source symbol block generation mode: SSBG 모드)라 칭하기로 한다. 송신 시스템에서 선택한 SSBG 모드는 시그널링 메시지를 통하여 수신 시스템으로 전달된다.
도 4는 본 발명의 실시 예에 따른 인코딩 심볼 블록의 예를 도시한 도면이다.
도 4를 참조하면 상기 인코딩 심볼 블록은 K개의 소스 심볼을 포함하는 소스 심볼 블록과 P개의 리페어 심볼을 포함하는 리페어 심볼 블록을 포함한다. 이 때 상기 인코딩 심볼 블록에 포함된 모든 소스 심볼과 리페어 심볼의 길이는 T byte로 동일함에 유의한다.
본 발명의 실시 예에 따른 멀티미디어 서비스 전송 시스템에서 FEC 소스 플로우는 소스 패킷 블록 단위로 분할되어 보호된다. 상기 소스 패킷 블록에 속한 소스 패킷들은 고정 혹은 가변 길이를 가질 수 있으며, 상기 소스 패킷 블록은 FEC 부호화를 위하여 후술한 SSBD 모드에 따라 소스 심볼 블록으로 변환된다.
본 발명의 실시 예에 따른 멀티미디어 서비스 전송 시스템은 ssbg_mode0, ssbg_mode1 and ssbg_mode2로 불리는 3가지 종류의 SSBG 모드들을 사용할 수 있다. 상기 ssbg_mode0는 모든 MMTP 패킷의 길이가 동일한 경우에만 사용될 수 있으며, ssbg_mode1 와 ssbg_mode2는 MMTP 패킷이 가변 길이를 가질 경우에도 사용될 수 있다.
ssbg_mode0가 사용될 경우에 모든 MMTP 패킷은 동일한 길이를 가지므로, 소스 심볼 블록은 소스 패킷 블록과 일치한다. 이는 소스 패킷 블록에 포함된 MMTP 패킷의 개수와 소스 심볼 블록에 포함된 소스 심볼의 개수가 정확하게 동일하며, 소스 패킷 블록의 i번째 MMTP 패킷이 소스 심볼 블록의 i번째 심볼과 동일함을 나타낸다. (i=0,1,…,K-1) Two-stage FEC 부호화 구조 또는 LA-FEC 부호화 구조가 적용될 경우에(M>1), i번째 소스 심볼 블록은 i번째 소스 패킷 블록으로부터 생성된다. (i=0,1,…,M-1)
도 5는 본 발명의 실시 예에 따른 ssbg_mode0을 사용하여 생성된 소스 심볼 블록의 예를 나타낸 도면이다.
ssbg_mode1에서 소스 심볼 블록은 각 소스 심볼이 해당 소스 심볼에 연관된 MMTP 패킷의 길이와 필요에 따라 패딩 바이트를 포함할 수 있다는 점을 제외하면, ssbg_mode0와 동일한 방식으로 생성된다. 즉 소스 패킷 블록에 포함된 MMTP 패킷의 개수와 상기 소스 패킷 블록에 연관된 소스 심볼 블록에 포함된 소스 심볼의 개수는 동일하다. ssbg_mode1에서 i번째 소스 심볼은 연관된 소스 패킷 블록의 i 번째 MMTP 패킷의 길이를 나타내는 네트워크 바이트 순서 (상위 옥텟 우선)로 배열된 두 옥텟으로 시작하며, 이어 MMTP 패킷 #i의 옥텟들이 배열되고 나머지 부분은 0 옥텟으로 채워진다. Two-stage 및 LA-FEC 부호화 구조 (M > 1)가 사용될 경우에 i 번째 소스 심볼 블록은 i 번째 소스 패킷 블록 (i = 0,1, ..., M-1)으로부터 생성되며, 각 소스 심볼 블록에 속한 소스 심볼들은 마지막에 패딩 바이트(00h)를 포함할 수 있다.
도 6는 본 발명의 실시 예에 따른 ssbg_mode1을 사용하여 생성된 소스 심볼 블록의 예를 나타낸 도면이다.
ssbg_mode2에서 하나의 소스 심볼 블록은 Ksp개의 소스 패킷을 포함하는 소스 패킷 블록으로부터 생성되며, 패딩 바이트(00h)를 포함하고 있을 수 있는 소스 심볼 Kss 개를 포함한다. 모든 소스 심볼은 동일하게 N 개의 심볼 요소(symbol element)를 포함하며, 이는 하나의 소스 심볼 블록이 N * Kss 개의 심볼 요소들로 이루어져 있음을 의미한다. 소스 패킷 블록의 MMTP 패킷#0은 연관된 소스 심볼 블록의 처음 s0 개의 심볼 요소에 위치된다. 보다 구체적으로 s0 개의 심볼 요소 중 첫 번째 심볼 요소의 처음 두 바이트는 MMTP 패킷#0의 길이를 나타내는 네트워크 바이트 순서의 두 옥텟으로 시작하며 이후부터 MMTP 패킷#0의 옥텟들이 채워지고 나머지 부분은 제로 옥텟으로 채워진다. 소스 패킷 블록의 1번째 MMTP 패킷은 0번째 MMTP 패킷과 같이 소스 심볼 블록내의 다음 s1 개의 심볼 요소로 배치된다. 동일한 방식으로 MMTP 패킷#Ksp-1 까지 채운 이후에, Kss*T - sum{si*T/N,i=0,..Ksp-1}가 0이 아니라면 제로 옥텟들이 소스 심볼 블록의 나머지 심볼 요소들로 배치된다.
Two-stage와 LA-FEC 부호화 코딩 구조에서 제 2 FEC 부호를 위한 단일 소스 심볼 블록은 분할된 M개의 소스 패킷 블록으로부터 생성된 모든 소스 심볼 블록들을 연결하여 생성된다.
SSBG 모드 내의 구체적인 값들의 정의
- Ksp: 소스 패킷 블록내의 MMTP 패킷의 개수
- Kss: 소스 심볼 블록내의 소스 심볼들의 개수
- Ri: 소스 심볼 블록에 추가 될 i번째 MMTP 패킷의 옥텟
- Si: 옥텍 단위로 표현된 Ri의 길이
- Li: 네트워크 바이트 순서의 두 옥텟으로 표시된 Si 값
- T: 바이트로 표현된 소스 심볼 크기
- N: 하나의 소스 심볼을 구성하는 심볼 요소의 개수
- T': 바이트로 표현된 심볼 요소의 크기 (T’ = T/N)
- si: si*T/N = siT’>= (Si+2)를 만족시키는 가장 작은 정수
- Pi: si*T’- (Si+2) 개의 제로 옥텟
- P: Kss * T - sum{si*T’, i=0,…,Ksp - 1} 개의 제로 옥텟
이때 소스 심볼 블록은 Li,Ri,Pi (i=0,…,Ksp - 1)와 P를 순차적으로 연결한 이후에 크기가 T인 소스 심볼들로 분할하여 구성할 수 있다.
도 7은 본 발명의 실시 예에 따른 ssbg_mode2을 사용하여 생성된 소스 심볼 블록의 예를 나타낸 도면이다. 도 7을 참조하면 5개의 MMTP 패킷들의 길이는 각각 34, 30, 56, 40, 48 바이트 이며 이들이 8개의 소스 심볼들로 구성된 소스 심볼 블록에 배치된다. 이 때 소스 심볼의 크기(T)는 32이며 각 소스 심볼들은 2개의 심볼 요소로 구성된다. (T’= T/2 = 16바이트)
본 발명의 실시 예에 따른 멀티미디어 서비스 제공 시스템에의 2가지 전송 패킷 포맷을 설명한다. 상기 2가지 전송 패킷 포맷 중 하나는 소스 패킷을 전송하기 위한 FEC 소스 패킷 포맷이고, 상기 2가지 전송 패킷 포맷 중 다른 하나는 리페어 심볼을 전송하기 위한 FEC 리페어 패킷 포맷이다.
FEC 소스 패킷은 MMTP 패킷에 소스 FEC 페이로드 ID가 추가된 형태이며, FEC 리페어 패킷 포맷은 MMTP 패킷 헤더와 리페어 FEC 페이로드 ID 및 하나 이상의 리페어 심볼을 포함한다. FEC 소스 패킷에 포함된 소스 FEC 페이로드 ID는 FEC 소스 패킷에 의해 운반되는 소스 심볼 또는 심볼 요소를 식별하기 위한 정보를 제공한다. FEC 리페어 패킷에 포함된 리페어 FEC 페이로드 ID는 상기 FEC 리페어 패킷에 포함된 리페어 심볼(들) 및 관련 소스 패킷 블록을 식별하기 위한 정보를 제공한다.
도 8은 본 발명의 실시 예에 따른 FEC 소스 패킷 포맷의 예를 나타낸 도면이다.
도 8을 참조하면 FEC 소스 패킷은 MMTP 패킷 헤더, MMTP 페이로드 헤더, MMTP 페이로드 데이터 및 소스 FEC 페이로드 ID를 포함한다. MMT FEC 방식에 의해 보호되는 소스 패킷은 상기 도 8의 MMTP 패킷 헤더, MMTP 페이로드 헤더 및 페이로드 데이터를 포함할 수 있다.
도 9는 본 발명의 실시 예에 따른 FEC 리페어 패킷 포맷의 예를 나타낸 도면이다.
도 9를 참조하면, FEC 리페어 패킷은 MMTP 패킷 헤더, 리페어 FEC 페이로드 ID와 하나 이상의 리페어 심볼(들)을 포함할 수 있다. ssbg_mode0 혹은 ssbg_mode1이 사용될 경우에 FEC 리페어 패킷은 오직 한 개의 리페어 심볼만을 포함하여야 한다. Ssbg_mode2가 사용될 경우에 FEC 리페어 패킷은 한 개 이상의 리페어 심볼을 포함할 수 있다. 또한 FEC 리페어 패킷 블록에 속한 FEC 리페어 패킷 중 마지막 FEC 리페어 패킷을 제외한 모든 FEC 리페어 패킷들은 동일한 개수의 리페어 심볼을 포함하여야 한다.
MMT FEC 방식을 사용하는 송신 시스템은 수신 시스템에서 수신된 FEC 소스 패킷과 FEC 리페어 패킷을 사용한 손실된 소스 패킷 복원 기능을 수행하기 위하여 필요한 정보를 전달하여야 한다. 이후 상기 정보를 FEC 구성 정보라 한다. FEC 구성 정보는 그 용도 및 특성에 따라 FEC 소스/리페어 패킷에 포함되어 전송되거나 상기 FEC 소스/리페어 패킷을 제외한 별도의 패킷으로 전달되는 시그널링 메시지로 전송될 수 있다.
FEC 구성 정보 중 소스 FEC 페이로드 ID는 상기 도 8에 도시된 FEC 소스 패킷 포맷의 예처럼 FEC 소스 패킷의 마지막 부분에 포함될 수 있다.
도 10은 본 발명의 실시 예에 따른 소스 FEC 페이로드 ID의 예를 나타낸 도면이다.
도 10에 도시된 SS_ID 필드와 FFSRP_TS 필드의 용법의 예는 다음과 같다.
SS_ID (32비트): 해당 FEC 소스 패킷에 포함된 소스 심볼들을 식별할 수 있는 일련 번호(sequence number)를 나타낸다. 이 일련번호는 최대값 이후 0으로 돌아간다. ssbg_mode0 혹은 ssbg_mode1이 사용될 경우에 SS_ID 값은 FEC 소스 패킷 별로 1씩 증가한다. 만약 ssbg_mode==10 일 경우, 일련 번호는 심볼 엘리먼트(패딩만으로 구성된 심볼 엘리먼트도 포함)마다 1씩 증가하며 SS_ID 값은 해당 FEC 소스 패킷에 포함된 첫 번째 심볼 엘리먼트의 일련 번호로 설정된다. LA-FEC 부호화 구조가 사용될 경우에, 소스 심볼 블록의 가장 낮은 SS_ID는 SS_ID_max + 1과 같아야 한다. 여기서 SS_ID_max는 모든 플로우의 선행 소스 심볼 블록의 가장 높은 SS_ID이다.
도 11은 본 발명의 실시 예에 따른 LA-FEC 부호화 방식이 사용될 경우의 SS_ID 설정 방법의 예를 나타낸 도면이다.
상기 도 11을 참조하면 각 플로우 내의 동일한 소스 심볼 블록의 첫 번째 SS_ID는 모든 플로우의 모든 소스 심볼 블록의 동기화 포인트로 사용될 수 있다.
FFSRP_TS (4 bytes): FFSRP_TS는 TS_Indicator (1 bit) 와 FP_TS (31 bits) 구성되어 있다.
TS_Indicator (1 bit): FEC에서 타임 스탬프를 나타낸다 (표 1 참조). One-stage FEC 부호화 구조 및 LA-FEC에 대해, 이 필드의 값은 "0"으로 설정 되어야 한다. Two- stage FEC 부호화 구조 (M> 1)의 경우, "1"로 설정되면 FP_TS (31 비트)가 FEC 소스 또는 복구 패킷 블록에 대한 값임을 나타내며, "0"으로 설정되면 다음의 FP_TS (31 비트)가 two-stage FEC 부호화 구조의 i 번째 FEC 소스 또는 복구 패킷 블록 (M> 1 및 i = 1, 2, ..., M )에 대한 값임을 나타낸다. Two-stage FEC 부호화 구조 (M> 1)의 경우, i 번째 FEC 소스 패킷 블록의 홀수 번째 FEC 소스 패킷에 대해서는 이 필드를 "0"으로 설정하고, 상기 i 번째 FEC 소스 패킷 블록의 짝수 번째 FEC 소스 패킷에 대해서는 "1"로 설정해야 한다 (i = 1, 2, ..., M).
설명
b0 다음의 FP_TS (31 비트)는 one-stage FEC 및 LA-FEC 부호화 구조 의 FEC 소스 또는 리페어 패킷 블록 또는 two-stage FEC 부호화 구조의 i 번째 FEC 소스 또는 리페어 패킷 블록에 대한 것이다 (M> 1 및 i = 1, 2, ..., M).
b1 다음 FP_TS (31 비트)는 two-stage FEC 부호화 구조의 FEC 소스 또는 복구 패킷 블록을 위한 것이다.
FP_TS (31 bits): FP_TS 는 관련 FEC 소스/리페어 패킷 블록에서 가장 먼저 전송된 MMTP 패킷의 패킷 헤더에 존재하는 32-비트의 타임스탬프에서 MSB를 제외한 나머지 31비트를 나타낸다.
본 발명의 다른 실시 예에서 상기 FFSRP_TS는 선택 적으로 존재할 수 있다. 일 예로 FEC 소스/리페어 패킷을 제외한 별도의 패킷으로 전달되는 시그널링 메시지는 상기 FFSRP_TS의 존재 여부를 알려주는 플래그(flag)를 포함할 수 있다.
FEC 구성 정보 중 리페어 FEC 페이로드 ID는 상기 도 9에 나타낸 FEC 리페어 패킷 포맷의 예처럼 FEC 리페어 패킷에서 MMTP 패킷 헤더 이후에 존재할 수 있다.
도 12은 본 발명의 실시 예에 따른 리페어 FEC 페이로드 ID의 예를 나타낸 도면이다.
상기 도 12에 나타낸 각 필드들의 용법의 예는 다음과 같다.SS_Start (32 bits): 연관된 소스 심볼 블록의 경계를 나타낸다. ssbg_mode0 또는 ssbg_mode1이 사용될 경우에는 연관된 소스 심볼 블록의 첫 번째 소스 심볼의 일련번호로 설정된다. ssbg_mode2가 사용될 경우에는 연관된 소스 심볼 블록의 첫 번째 심볼 요소의 일련번호로 설정된다.
RSB_length (24 bits): RSB_length는 해당 FEC 리페어 패킷으로 전송되는 리페어 심볼을 포함하는 리페어 심볼 블록을 구성하는 리페어 심볼의 개수이다.
RS_ID (24 bits): 해당 FEC 리페어 패킷에 포함된 첫 번째 리페어 심볼을 식별하기 위한 일련번호를 나타낸다. 해당 FEC 리페어 패킷이 두 개 이상의 리페어 심볼을 포함할 경우에 첫 번째 리페어 심볼의 후속 리페어 심볼들의 일련번호는 1씩 증가한다. 모든 리페어 심볼 블록에 대하여 0으로 시작하며 각 리페어 심볼마다 1씩 증가한다.
SSB_length[N] (N*24 bits): LA-FEC 부호화 구조가 사용되지 않을 경우에는, N이 "1"이고, SSB_length는 연관된 소스 심볼 블록에 포함된 소스 심볼의 개수 (ssbg_mode0 혹은 ssbg_mode1이 사용될 경우) 또는 연관된 소스 심볼 블록에 포함된 소스 심볼 엘리먼트의 개수(ssbg_mode2가 사용될 경우, 전체가 패딩으로 구성된 소스 심볼 엘리먼트는 제외)를 나타낸다. LA-FEC 부호화 구조가 사용될 경우에, N은 보완 계층의 개수+1과 같아야 하며, SSB_length[i]는 i 번째 플로우의 연관 소스 심볼 블록에 포함된 소스 심볼의 개수(ssbg_mode0 혹은 ssbg_mode1이 사용될 경우) 혹은 i 번째 플로우의 연관 소스 심볼 블록에 포함된 심볼 엘리머트의 개수(ssbg_mode2가 사용될 경우, 전체가 패딩으로 구성된 소스 심볼 엘리먼트는 제외)를 나타낸다.
FFSRP_TS (4 bytes): TS_Indicator (1 bit) 와 이후 FP_TS (31 bits)로 구성되어 있다.
TS_Indicator (1 bit): FEC에서 타임 스탬프를 나타낸다(하기 표 2 참조). One-stage FEC 부호화 구조 및 LA-FEC에 대해, 이 필드의 값은 "0"으로 설정 되어야 한다. Two-stage FEC 부호화 구조 (M> 1)의 경우, "1"로 설정되면 FP_TS (31 비트)가 FEC 소스 또는 복구 패킷 블록에 대한 값임을 나타내며, "0"으로 설정되면 다음의 FP_TS (31 비트)가 two-stage FEC 부호화 구조의 i 번째 FEC 소스 또는 복구 패킷 블록 (M> 1 및 i = 1, 2, ..., M )에 대한 값임을 나타낸다. Two-stage FEC 부호화 구조 (M> 1)의 경우, i 번째 FEC 소스 패킷 블록의 홀수 번째 FEC 소스 패킷에 대해서는 이 필드를 "0"으로 설정하고, 상기 i 번째 FEC 소스 패킷 블록의 짝수 번째 FEC 소스 패킷에 대해서는 "1"로 설정해야 한다 (i = 1, 2, ..., M).
상기 TS_Indicator의 값은 일 예로 하기 표 2에 나타난 바와 같다.
설명
b0 다음의 FP_TS (31 비트)는 one-stage FEC 및 LA-FEC 부호화 구조 의 FEC 소스 또는 리페어 패킷 블록 또는 two-stage FEC 부호화 구조의 i 번째 FEC 소스 또는 리페어 패킷 블록에 대한 것이다 (M> 1 및 i = 1, 2, ..., M).
b1 다음 FP_TS (31 비트)는 two-stage FEC 부호화 구조의 FEC 소스 또는 복구 패킷 블록을 위한 것이다.
FP_TS (31 bits): FP_TS 는 관련 FEC 소스/리페어 패킷 블록에서 가장 먼저 전송된 MMTP 패킷의 패킷 헤더에 존재하는 32-비트의 타임스탬프에서 MSB를 제외한 나머지 31비트를 나타낸다.
본 발명의 실시 예에 따른 FEC 부호의 소스 심볼 블록은 재배열 될 수 있는데 재배열된 소스 심볼 블록들을 바탕으로 리페어 심볼 블록이 생성된다. 이 때 재배열 된 소스 심볼 블록을 구성하는 소스 심볼의 개수와 이와 연관된 소스 심볼 블록을 구성하는 소스 심볼의 개수는 동일함에 유의한다.
상기 소스 심볼 블록을 재배열 할 때 소스 심볼 블록 내의 소스 심볼과 연관된 소스 패킷의 우선 순위를 고려할 수 있다. 일 예로 소스 패킷 블록을 구성하는 소스 패킷들이 N개의 서로 다른 우선 순위를 가질 경우에, 상기 소스 패킷 블록에서 생성되는 소스 심볼 블록은 N개의 우선순위를 가지는 그룹으로 재배열 구성될 수 있다. 각 그룹의 우선순위는 제일 낮은 우선순위의 값을 가진 패킷과 연관된 심볼이 앞쪽으로 배치되며 각 그룹내의 심볼들의 순서는 입력된 패킷의 순서에 따라 재배열된다. 일 예로 MMT를 사용할 경우에 상기 소스 패킷들이 가지는 우선 순위는 다음과 같은 정보로부터 획득할 수 있다:
- Bundle delivery characteristics에서 bundle내의 어셋 단위 또는 bundle 단위로 부여된 우선 순위
- Hint sample에서 MPU내의 MFU 단위로 부여된 우선 순위
- MMTP header내에서 priority 필드의 정보를 이용하여 패킷 단위로 부여된 우선 순위
상술한 바와 같이 소스 패킷의 우선 순위를 고려하여 소스 심볼 블록내의 소스 심볼을 재배열 할 수 있다.
도 13은 본 발명에 실시 예에 따른 송신기의 블록 구성도이다.
도 13을 참조하면, 상기 송신기(1300)는 FEC 인코더(1302)를 포함하며, 상기 FEC 인코더(1302)는 패킷 필터(1304)와 FEC 인코딩 버퍼(1306)을 포함한다. 상기 FEC 인코딩 버퍼(1306)는 소스 심볼 블록 내 소스 심볼 재배열을 위해 사용될 수 있는데, FEC 인코딩시 소스 심볼 블록이 완성되기 전까지 소스 심볼들을 버퍼링할 수 있다. 상기 FEC 인코딩 버퍼(1306)는 패킷과 심볼의 순서가 달라지는 AL-FEC 인코딩을 위해서 소스 플로우 내의 소스 패킷들이 소스 심볼로 변환시 해당 소스 심볼들을 전송하지 않고 소스 심볼 블록이 완성되기 전까지 버퍼링을 수행한다. 한 소스 심볼 블록이 완성되면 상술한 바와 같이 소스 패킷의 우선 순위를 고려하여 소스 심볼 블록내의 소스 심볼들의 위치를 재배열 할 수 있다.
도 14은 본 발명의 실시 예에 따른 패킷과 심볼의 순서가 달라지는 소스 심볼과 리페어 심볼 블록의 일 예를 도시한 도면이다.
도 14의 (a)을 참조하면, 소스 패킷이 입력되는 순서로 소스 심볼 블록이 생성된다. 예를 들어, 소스 심볼 블록을 생성할 때 소스 패킷 #1~#9가 입력되면 소스 패킷 #1~#9의 순서로 버퍼에 저장된다. 이때 상기 소스 심볼 블록들에 속한 모든 소스 심볼들은 2개의 우선순위(Class 1, Class 2)를 가지고 있다. 이 정보를 바탕으로 버퍼에서는 소스 심볼 블록 내의 소스 심볼들을 재배열하게 된다. 각 우선순위 별로 소스 심볼 서브 블록을 생성하게 되는데, 첫 번째 소스 심볼 서브 블록에는 소스 패킷 #1,#3,#5,#7이 재배열 되어 첫 번째 소스 심볼 서브 블록에 위치하게 되며 나머지 소스 심볼들이 두 번째 소스 심볼 서브 블록에 위치하게 된다.
본 발명의 실시 예에서는 도 14에 나타난 바와 같이 소스 심볼 블록내의 소스 심볼들의 재배열 이후 재배열된 소스 블록을 바탕으로 리페어 심볼들을 생성하게 된다. FEC 인코딩시 소스 심볼 블록의 정보를 바탕으로 리페어 심볼을 생성시 소스 및 리페어 FEC Playload ID가 생성된다. 송신기에서 소스 및 리페어 FEC 패킷을 전송시에는 각 패킷에 소스 및 리페어 FEC 페이로드 ID를 같이 전송하게 되어 있는데, 수신기는 해당 소스 FEC 페이로드 ID 내의 FFSRP_TS 값을 활용 할 수 있다. 상기 FFSRP_TS 값은 송신기에서 해당 패킷을 전송하는 시간을 나타내며 패킷 헤더의 타임 스탬프(timestamp) 값을 따른다. 패킷 디코딩 시 해당 패킷 헤더 및 페이로드 ID내의 타임 스탬프 값에 FEC 메시지내의 protection_window_time 값을 이용하여 FEC 디코딩 버퍼의 시간을 계산하게 된다.
본 발명의 실시 예와 같이 패킷과 심볼의 순서가 달라지는 경우 전체 버퍼에서 소스 심볼 블록이 완성된 후 해당 재배열 된 소스 심볼 블록을 바탕으로 생성된 소스 및 리페어 FEC Playload ID가 생성 될 때까지 소스 FEC 패킷을 전송할 수 없게 된다. 이때 소스 FEC 패킷은 수신기 측으로 전송되지 않고 소스 FEC Payload ID 가 생성될 때까지 지연된다. 송신기는 소스 FEC Payload ID가 생성된 이후 입력된 소스 패킷의 순서대로 수신기 측으로 전송한다. 이 때 첫 번째 소스 패킷 내의 소스 FEC 페이로드 ID 내의 FFSRP_TS 값은 소스 심볼 블록이 완성된 후 시간이 수신기 측으로 전달된다.
본 발명의 실시 예와 같이 패킷과 심볼의 순서가 달라지는 경우 송신기에서 별도의 버퍼를 두고 패킷을 버퍼링 후 인코딩 과정을 거치게 된다. 이 때 별도의 리오더 버퍼 지연 시간(Re-order Buffer Delay: RBD)은 다음 <수학식 1>을 사용하여 계산할 수 있다.
Figure pat00001
여기서 소스 패킷의 길이는 어셋 별로 설정되며, 어셋의 타입에 따라 미리 정의된 값을 사용하거나 송신기가 별도의 시그널링 메시지를 사용하여 수신기에게 전달한다. 또한 소스 심볼 블록의 생성 후 소스 심볼 블록 내의 소스 심볼의 재배열로 인한 지연 시간은 고려되지 않았다. 해당 인코딩 시 발생하는 지연 시간은 소스 FEC 패킷의 전송 시 해당 정보가 패킷 헤더의 타임 스탬프 값으로 반영되며 해당 정보는 소스 FEC 페이로드 ID 내의 FFSRP_TS 값으로도 전송됨으로써 수신기 측으로 별도의 정보를 전송할 필요는 없다.
본 발명의 실시 예에서 만약 한 개의 MPU 지속 기간(duration)이 0.5초이며 한 개의 소스 심볼 블록이 2개의 MPU로 구성이 되어 있다면 인코더 리오더 버퍼 지연 시간은 1초가 된다. 따라서 패킷의 기본 전송 시간이 AL-FEC 방식이 이용되기 전에 12시였다면, 해당 실시 예와 같이 패킷과 심볼의 순서가 다른 FEC 방식이 이용된 이후의 패킷 헤더 및 페이로드 ID 내의 전송 시간은 12시 1초가 된다. 수신기는 해당 패킷 전송 시간을 디코딩 시 활용할 수 있다.
도 15는 본 발명의 실시 예에 따른 FEC 디코딩 과정을 나타낸다.
도 15을 참조하면, AL-FEC가 적용된 수신기(1500)는 일 예로, AL-FEC 디코딩 버퍼(1502)와, 디 지터(de-jitter) 버퍼(1504) 및 디캡슐레이션(decapsulation) 버퍼(1506)를 포함할 수 있다. 상기 수신기(1500)는 송신기로부터 전송망을 통해서 AL-FEC 부호화된 패킷들(P,…,S,S,S)을 수신한다. 그러면, 상기 AL-FEC 디코딩 버퍼(1502)는 수신된 패킷들에 대해 AL-FEC 디코딩을 수행하여 상기 디 지터 버퍼(1504)로 출력한다. 상기 디 지터 버퍼(1504)로부터 출력된 패킷들은 상기 지터를 포함하도록 미리 설정된 고정 단대단 지연(fixed end-to-end dely) 값(D)이 적용되어 동일한 시점에서 출력되어 상기 MMTP 디켑슐레이션 버퍼(1506)로 전달될 수 있다.
본 발명의 실시 예와 같이 패킷과 심볼의 순서가 달라지는 경우 수신기에서 별도의 버퍼를 두고 수신된 패킷을 버퍼링 후 디코딩 과정을 거치게 된다. 이 때 디코딩 시 수신된 소스 심볼의 재배열을 위한 리오더 버퍼 지연 시간은 다음 <수학식 2>를 사용하여 계산할 수 있다.
Figure pat00002
여기서, 최대 비트 레이트는 어셋 별로 설정되며, 어셋의 타입에 따라 미리 정의된 값을 사용하거나 송신기가 별도의 시그널링 메시지를 사용하여 수신기에게 전달한다.
소스 및 리페어 심볼 블록 크기의 크기는 <수학식 3> 와 같이 AL-FEC 메시지 형태로 수신되는 AL-FEC 구성(configuration) 정보를 기반으로 계산될 수 있다. 상기 AL-FEC 구성 정보는 상기 AL-FEC 디코딩 버퍼의 최대 크기를 계산하기 위해서 사용될 '복구 심볼의 길이(length of repair symbol)', '복구 플로우에 대한 최대값 k' 및 '복구 플로우에 대한 최대값 p'를 포함할 수 있다. 여기서, 상기 복구 심볼의 길이는 바이트(byte) 단위이며, k는 소스 심볼의 최대 개수로 정의되고, p는 복구 심볼의 최대 개수로 정의된다.
Figure pat00003
본 발명의 실시 예와 같이 패킷과 심볼의 순서가 달라지는 경우 수신기는 디코딩 시 최초 소스 FEC 패킷을 수신 후 리오더 버퍼 지연 시간만큼 소스 및 리페어 FEC 패킷을 수신 후 해당 수신된 정보를 바탕으로 디코딩을 수행한다.
기존 FEC 방법과 같이 별도의 리오더 버퍼 지연 시간만큼 버퍼링을 수행하지 않고 디코딩을 수행 시 수신기에 수신된 FEC 패킷으로부터 생성된 소스 심볼과 리페어 심볼간의 불일치가 발생하여 디코딩 과정을 수행할 수 없다. 따라서 수신기에서는 리오더 버퍼 지연 시간만큼 소스 및 리페어 심볼을 버퍼링한 후 해당 소스 심볼 블록 및 리페어 심볼 블록을 생성 후 우선 순위 정보를 바탕으로 소스 심볼 블록 내의 소스 심볼들을 재배열 한 후 디코딩을 수행하여야 한다.도 16은 본 발명의 실시 예에 따른 송신기가 패킷 우선순위 값 존재 시 버퍼 생성을 통한 인코딩을 수행하는 예를 도시한 순서도이다.
상기 송신기는 AL-FEC 인코더를 포함하여 도 16에 도시된 과정을 수행할 수 있다. 도 16을 참조하면, 상기 송신기는 1601 단계에서 소스 심볼을 생성하고, 1603 단계에서 소스 심볼 재배열이 존재하는지 판단한다. 상기 송신기는 상기 소스 심볼 재배열이 존재하면 1605 단계에서 심볼 재배열 버퍼에 패킷 우선순위에 따라 상기 생성된 소스 심볼을 저장한다. 그리고 상기 송신기는 상기 소스 심볼 재배열이 존재하지 않으면 1607 단계에서 AL-FEC 인코딩을 수행하고, 1611 단계에서 소스 및 리페어 패킷을 출력한다.
도 17은 본 발명의 실시 예에 따른 수신기가 패킷 우선순위 값 존재 시 버퍼 생성을 통한 디코딩 예를 도시한 순서도이다.
상기 수신기는 AL-FEC 디코더를 포함하여 도 17에 도시된 과정을 수행할 수 있다. 도 17을 참조하면, 상기 수신기는 패킷이 수신되면 1701 단계에서 패킷 우선순위가 존재하는지 여부를 판단한다. 상기 수신기는 상기 패킷 우선순위가 존재하는 경우, 1703 단계에서 상기 패킷 우선순위를 기반으로 소스/복구 심볼 버퍼링 및 심볼 재배치를 수행한다. 이어 상기 수신기는 1705 단계에서 AL-FEC 디코딩을 수행하여 1707 단계에서 소스 패킷을 출력한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구의 범위뿐만 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (1)

  1. 멀티미디어 통신 시스템에서 응용 계층 순방향 오류 정정(application layer forward error correction: AL-FEC) 방식을 사용하여 미디어 데이터를 송신하는 방법에 있어서,
    멀티미디어 서비스를 위한 미디어 데이터의 속성에 따라 상기 미디어 데이터와 관련된 소스 심볼 블록 내의 소스 심볼들의 순서를 재배열하는 과정과,
    상기 재배열된 소스 심볼들을 기반으로 리페어 정보를 생성하는 과정과,
    상기 리페어 정보와 상기 재배열된 소스 심볼들을 송신하는 과정과,
    상기 미디어 데이터를 복구하기 위한 제어 정보를 송신하는 과정을 포함하는 미디어 데이터 송신 방법.
KR1020170134910A 2017-10-17 2017-10-17 멀티미디어 통신 시스템에서 응용 계층 순방향 오류 정정 방식을 사용하여 미디어 데이터를 송수신하는 방법 및 장치 KR20190043060A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170134910A KR20190043060A (ko) 2017-10-17 2017-10-17 멀티미디어 통신 시스템에서 응용 계층 순방향 오류 정정 방식을 사용하여 미디어 데이터를 송수신하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170134910A KR20190043060A (ko) 2017-10-17 2017-10-17 멀티미디어 통신 시스템에서 응용 계층 순방향 오류 정정 방식을 사용하여 미디어 데이터를 송수신하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20190043060A true KR20190043060A (ko) 2019-04-25

Family

ID=66283806

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170134910A KR20190043060A (ko) 2017-10-17 2017-10-17 멀티미디어 통신 시스템에서 응용 계층 순방향 오류 정정 방식을 사용하여 미디어 데이터를 송수신하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20190043060A (ko)

Similar Documents

Publication Publication Date Title
KR101367886B1 (ko) 브로드캐스트 채널 상에서의 고속 채널 재핑 및 고품질 스트리밍 보호
JP5442816B2 (ja) 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング
EP2103026B1 (en) A method to support forward error correction for real-time audio and video data over internet protocol networks
KR101995221B1 (ko) 통신 시스템에서 패킷 송수신 장치 및 방법
US6487690B1 (en) Forward error correction system for packet based real time media
KR101829923B1 (ko) 데이터 통신 시스템에서 부호화 장치 및 방법
US8555146B2 (en) FEC streaming with aggregation of concurrent streams for FEC computation
CN107104677B (zh) 多媒体系统中发送/接收前向纠错相关信息的装置和方法
JP5140716B2 (ja) メディアコンテンツをストリーミングする方法および復号化方法並びに符号化装置および復号化装置並びにストリーミングシステム
KR102305410B1 (ko) 통신 시스템에서 패킷 송수신 방법 및 장치
MX2014013560A (es) Aparato y metodo de transmision y recepcion de paquete en sistema de radiofusion y comunicacion.
US20130097474A1 (en) Apparatus and method for transmitting/receiving forward error correction packet in mobile communication system
KR102163338B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
JP2016535507A (ja) 通信システムにおけるパケット送受信方法及び装置
US11368246B2 (en) Method and device for transmitting or receiving broadcast service in multimedia service system
KR20150046700A (ko) 오류 정정 부호를 사용하는 통신 시스템에서 패킷 송수신 기법
KR20190043060A (ko) 멀티미디어 통신 시스템에서 응용 계층 순방향 오류 정정 방식을 사용하여 미디어 데이터를 송수신하는 방법 및 장치
KR20150145661A (ko) 응용 계층 순방향 오류 정정 방식을 사용하여 제공되는 방송 서비스의 수신을 제어하는 방법 및 장치
GB2410159A (en) Improvements in ATM data transmission systems
JP6071501B2 (ja) 中継端末