KR20150010652A - 멀티미디어 통신 시스템에서 패킷 송/수신 장치 및 방법 - Google Patents

멀티미디어 통신 시스템에서 패킷 송/수신 장치 및 방법 Download PDF

Info

Publication number
KR20150010652A
KR20150010652A KR1020140091024A KR20140091024A KR20150010652A KR 20150010652 A KR20150010652 A KR 20150010652A KR 1020140091024 A KR1020140091024 A KR 1020140091024A KR 20140091024 A KR20140091024 A KR 20140091024A KR 20150010652 A KR20150010652 A KR 20150010652A
Authority
KR
South Korea
Prior art keywords
fec
source
packet
recovery
block
Prior art date
Application number
KR1020140091024A
Other languages
English (en)
Other versions
KR102138000B1 (ko
Inventor
황성희
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20150010652A publication Critical patent/KR20150010652A/ko
Application granted granted Critical
Publication of KR102138000B1 publication Critical patent/KR102138000B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0075Transmission of coding parameters to receiver
    • 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/27Coding, 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 using interleaving techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/353Adaptation to the channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 멀티미디어 시스템에서 송신 장치가 순방향 에러 정정(Forward Error Correction: FEC) 구성 정보를 송신하는 방법에 있어서, 수신 장치로 FEC 소스 패킷(source packet)을 위한 소스 FEC 구성 정보를 송신하는 과정을 포함하며, 상기 소스 FEC 구성 정보는 FEC 소스 혹은 복구 패킷 블록(FEC Source or Repair packet block)이 적어도 하나의 FEC 소스 혹은 복구 패킷(FEC Source or Repair packet)을 포함할 경우, 상기 적어도 하나의 FEC 소스 혹은 복구 패킷 중 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보를 포함함을 특징으로 한다.

Description

멀티미디어 통신 시스템에서 패킷 송/수신 장치 및 방법{APPARATUS AND METHOD FOR SENDING/RECEIVING PACKET IN MULTIMEDIA COMMUNICATION SYSTEM}
본 발명은 멀티미디어 통신 시스템에서 패킷을 송/수신하는 장치 및 방법에 관한 것으로, 특히 순방향 에러 정정(Forward Error Correction: FEC, 이하 'FEC'라 칭하기로 한다) 방식을 지원하는 멀티미디어 통신 시스템에서 패킷을 송/수신하는 장치 및 방법에 관한 것이다.
멀티미디어에 대한 요구가 증가됨에 따라 다양한 멀티미디어 기술들이 제안된 바 있으며, 그 중 대표적인 멀티미디어 기술이 엠펙 미디어 트랜스포트(MPEG(Moving Picture Experts Group) Media Transport: MMT, 이하 'MMT'라 칭하기로 한다) 기술이다.
상기 MMT 기술은 인터넷 프로토콜(Internet Protocol: IP) 네트워크들과 디지털 브로드캐스팅(digital broadcasting) 네트워크들을 포함하는 이종 패킷-교환 네트워크(heterogeneous packet-switched network)를 통해 멀티미디어 서비스들에 대한 코딩된 미디어 데이터(media data)의 트랜스포트(transport) 및 전달을 위한 기술이다. 여기서, 상기 코딩된 미디어 데이터는 타임드 시청각 미디어 데이터(timed audiovisual media data) 및 논-타임드 데이터(non-timed data)를 포함한다.
상기 MMT 기술에서, 상기 코딩된 미디어 데이터는 패킷 교환 전달 네트워크(packet-switched delivery network)를 통해 전달될 수 있다. 특히, 상기 MMT 기술에서는, 상기와 같은 전달 환경의 특성들, 일 예로 MMT 송신 엔터티(sending entity)로부터 MMT 수신 엔터티(receiving entity)로의 각 패킷에 대한 논-콘스턴트 엔드-투-엔드 지연(non-constant end-to-end delay)과 같은 전달 환경의 특성들이 고려된다.
상기 패킷-교환 전달 네트워크들을 통한 코딩된 미디어 데이터의 효율적이고 효과적인 전달 및 소비를 위해서, 상기 MMT 기술에서는 다음과 같은 엘리먼트들을 제공하며, 이에 대해서 설명하면 다음과 같다.
첫 번째로, 상기 MMT 기술에서는 다양한 소스(source)들로부터의 컴포넌트(component)들, 일 예로, 매쉬-업 어플리케이션(mash-up application)들의 컴포넌트들과 같은 다양한 소스들로부터의 컴포넌트들로 구성된 컨텐츠를 구성하는 논리 모델(logical model)을 제공한다.
두 번째로, 상기 MMT 기술에서는 상기 코딩된 미디어 데이터에 대한 정보를 전달하여 전달 계층 프로세싱(delivery layer processing), 일 예로 패킷화와 같은 전달 계층 프로세싱을 가능하게 하는 포맷(format)들을 제공한다.
세 번째로, 상기 MMT 기술에서는 다수의 채널들을 통한 미디어 및 코딩 독립 하이브리드 전달(independent hybrid delivery)을 지원하는 패킷-교환 네트워크들을 통해 미디어 컨텐트를 전달하는 패킷화 방법 및 패킷의 구조를 제공한다.
네 번째로, 상기 MMT 기술에서는 미디어 컨텐트의 전달 및 소비를 관리하는 시그널링 메시지들의 포맷을 제공한다.
한편, MMT 방식을 지원하는 멀티미디어 통신 시스템에서는 컨텐트(content)들의 다양화와 고 해상도(High Definition: HD, 이하 'HD'라 칭하기로 한다) 컨텐트들, 초 고해상도(Ultra High Definition: UHD, 이하 'UHD'라 칭하기로 한다) 컨텐트들 등과 같은 고용량 컨텐트들의 증가로 네트워크(network) 상에서 데이터 혼잡(data congestion)은 점점 더 심화되고 있다. 이러한 상황으로 인하여 신호 송신 장치, 예컨대, 호스트(host) A가 송신한 컨텐츠들이 신호 수신 장치, 예컨대, 호스트 B에게 정상적으로 전달되지 않고, 상기 신호 송신 장치가 송신한 컨텐트들의 일부 혹은 전부가 경로(route)상에서 손실되는 상황이 발생한다.
한편, 일반적으로 데이터(data)는 패킷(packet) 단위로 전송되기 때문에 데이터 손실은 송신 패킷 단위로 발생하게 된다. 이로 인하여 네트워크 상에서 송신 패킷이 손실되면, 상기 신호 수신 장치는 손실된 송신 패킷을 수신할 수 없게 되므로, 상기 손실된 송신 패킷이 포함하는 데이터를 알 수 없다. 따라서, 오디오(audio)의 품질 저하, 비디오(video)의 화질 열화나 화면 깨짐, 자막 누락, 파일의 손실 등과 같은 다양한 형태의 사용자 불편이 초래될 수 있다.
따라서, 이와 같은 이유로 네트워크 상에서 발생된 데이터 손실을 복구하기 위한 방식에 대한 필요성이 있다.
이렇게, 네트워크 상에서 데이터가 손실됐을 때, 신호 수신 장치에서 손실된 데이터를 복구할 수 있도록 지원하는 방식들 중의 하나는, 소스 패킷(source packet)이라 칭해지는 다양한 길이들을 가질 수 있는, 미리 설정된 개수의 데이터 패킷들로 소스 블록(source block)을 구성하고, 순방향 에러 정정(Forward Error Correction: FEC, 이하 'FEC'라 칭하기로 한다) 부호화를 통해 패리티(Parity) 데이터 또는 복구 패킷(Repair packet)과 같은 복구 정보를 소스 블록에 부가하여 패킷 블록 단위로 미리 설정되어 있는 설정 시간 내에 전송하는 방식이다.
따라서, 신호 수신 장치에서는 데이터 손실을 복구하기 위해 상기 신호 송신 장치에서 상기 패킷 블록을 송신하기 위해 사용된 설정 시간에 해당하는 복구 지연 시간을 필요로 하게 된다.
또한, 네트워크상에서 발생하는 패킷 지터(jitter)를 제거하기 위한 방식인 디-지터링(de-jittering, 이하 'de-jittering'라 칭하기로 한다) 방식과 FEC 방식을 결합하여 데이터 손실을 복구하기 위해서는 가상적인 신호 수신 장치의 버퍼링 모델(buffering model)인 가상 수신기 버퍼링 모델(Hypothetical Receiver Buffering Model: HRBM, 이하 'HRBM'이라 칭하기로 한다)이 필요하게 되고, 상기 신호 수신 장치는 상기 HRBM을 사용하여 데이터 손실 복구 동작 및 de-jittering 동작을 수행하는 것을 고려해야 하는 경우가 발생하게 된다.
하지만, 현재의 MMT 방식을 지원하는 멀티미디어 통신 시스템에서는 HRBM을 사용하여 데이터 손실 복구 동작 및 de-jittering 동작을 효율적으로 수행하는 방안에 대해서 구체적으로 제안된 바가 없다.
한편, 상기와 같은 정보는 본 발명의 이해를 돕기 위한 백그라운드(background) 정보로서만 제시될 뿐이다. 상기 내용 중 어느 것이라도 본 발명에 관한 종래 기술로서 적용 가능할지 여부에 관해, 어떤 결정도 이루어지지 않았고, 또한 어떤 주장도 이루어지지 않는다.
본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 패킷을 송/수신하는 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 데이터 복원 효율성을 증가시키는 패킷 송/수신 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 효율적인 전송 신뢰도를 획득할 수 있는 패킷 송/수신 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 패킷의 특성을 고려하여 패킷을 송/수신하는 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 FEC 방식 부호화 구조를 고려하여 패킷을 송/수신하는 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 패킷 송신 시점을 고려하여 패킷을 송/수신하는 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 패킷의 분할 특성을 고려하여 패킷을 송/수신하는 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 신호 송신 장치와 신호 수신 장치간의 지연을 고려하여 패킷을 송/수신하는 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 버퍼 사이즈를 고려하여 패킷을 송/수신하는 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 FEC 방식에 관련된 FEC 구성 정보를 송/수신하는 방법 및 장치를 제안한다.
본 발명의 일 실시예에서 제안하는 방법은; 멀티미디어 시스템에서 송신 장치가 순방향 에러 정정(Forward Error Correction: FEC) 구성 정보를 송신하는 방법에 있어서, 수신 장치로 FEC 소스 패킷(source packet)을 위한 소스 FEC 구성 정보를 송신하는 과정을 포함하며, 상기 소스 FEC 구성 정보는 FEC 소스 혹은 복구 패킷 블록(FEC Source or Repair packet block)이 적어도 하나의 FEC 소스 혹은 복구 패킷(FEC Source or Repair packet)을 포함할 경우, 상기 적어도 하나의 FEC 소스 혹은 복구 패킷 중 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보를 포함함을 특징으로 한다.
본 발명의 일 실시예에서 제안하는 다른 방법은; 멀티미디어 시스템에서 수신 장치가 순방향 에러 정정(Forward Error Correction: FEC) 구성 정보를 수신하는 방법에 있어서, 송신 장치로부터 FEC 소스 패킷(source packet)을 위한 소스 FEC 구성 정보를 수신하는 과정을 포함하며, 상기 소스 FEC 구성 정보는 FEC 소스 혹은 복구 패킷 블록(FEC Source or Repair packet block)이 적어도 하나의 FEC 소스 혹은 복구 패킷(FEC Source or Repair packet)을 포함할 경우, 상기 적어도 하나의 FEC 소스 혹은 복구 패킷 중 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보를 포함함을 특징으로 한다.
본 발명의 일 실시예에서 제안하는 장치는; 멀티미디어 시스템에서 송신 장치에 있어서, 수신 장치로 순방향 에러 정정(Forward Error Correction: FEC) 소스 패킷(source packet)을 위한 소스 FEC 구성 정보를 송신하는 송신기를 포함하며, 상기 소스 FEC 구성 정보는 FEC 소스 혹은 복구 패킷 블록(FEC Source or Repair packet block)이 적어도 하나의 FEC 소스 혹은 복구 패킷(FEC Source or Repair packet)을 포함할 경우, 상기 적어도 하나의 FEC 소스 혹은 복구 패킷 중 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보를 포함함을 특징으로 한다.
본 발명의 일 실시예에서 제안하는 다른 장치는; 멀티미디어 시스템에서 수신 장치에 있어서, 송신 장치로부터 순방향 에러 정정(Forward Error Correction: FEC) 소스 패킷(source packet)을 위한 소스 FEC 구성 정보를 수신하는 수신기를 포함하며, 상기 소스 FEC 구성 정보는 FEC 소스 혹은 복구 패킷 블록(FEC Source or Repair packet block)이 적어도 하나의 FEC 소스 혹은 복구 패킷(FEC Source or Repair packet)을 포함할 경우, 상기 적어도 하나의 FEC 소스 혹은 복구 패킷 중 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보를 포함함을 특징으로 한다.
본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 패킷 부호화로 인한 지연 시간 및 네트워크 상의 패킷 지연 시간으로 인해 신호 수신 장치에서 발생될 수 있는 복구 지연을 감소시켜 패킷을 송/수신하는 것을 가능하게 한다는 효과가 있다.
또한, 본 발명의 일 실시에는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 데이터 복원 효율성을 증가시키는 패킷 송/수신을 가능하게 한다는 효과가 있다.
또한, 본 발명의 일 실시에는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 효율적인 전송 신뢰도를 획득할 수 있는 패킷 송/수신을 가능하게 한다는 효과가 있다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 패킷의 특성을 고려하여 패킷을 송/수신하는 것이 가능하다는 효과가 있다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 FEC 방식 부호화 구조를 고려하여 패킷을 송/수신하는 것이 가능하다는 효과가 있다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 패킷 송신 시점을 고려하여 패킷을 송/수신하는 것이 가능하다는 효과가 있다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 패킷의 분할 특성을 고려하여 패킷을 송/수신하는 것이 가능하다는 효과가 있다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 신호 송신 장치와 신호 수신 장치간의 지연을 고려하여 패킷을 송/수신하는 것이 가능하다는 효과가 있다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 버퍼 사이즈를 고려하여 패킷을 송/수신하는 것이 가능하다는 효과가 있다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 FEC 방식에 관련된 FEC 구성 정보를 송/수신하는 것이 가능하다는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 FEC 방식을 지원하는 MMT 시스템의 구조의 일 예를 개략적으로 도시한 도면
도 2는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템의 구조의 다른 예를 개략적으로 도시한 도면
도 3은 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 AL-FEC 아키텍처를 개략적으로 도시한 도면
도 4는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 사용되는 2단계 FEC 부호화 구조를 개략적으로 도시한 도면
도 5는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 사용되는 LA-FE 부호화 구조를 개략적으로 도시한 도면
도 6은 본 발명의 일 실시 예에 따르는 FEC 방식을 지원하는 MMT 시스템에서 MMT 패킷 스트림을 사용하여 소스 패킷 블록들 및 소스 심벌 블록들을 생성하는 과정을 개략적으로 도시한 도면
도 7은 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 소스 심벌 블록을 사용하여 복구 심벌 블록을 생성하는 과정을 개략적으로 도시한 도면
도 8은 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 FEC 소스 또는 복구 패킷 블록에 포함되는 FEC 소스 또는 복구 패킷 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷 패킷에 대한 Timestamp를 설정하는 과정을 개략적으로 도시한 도면
도 9는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 2단계 FEC 구조가 사용될 경우의 Timestamp를 설정하는 과정을 개략적으로 도시한 도면
도 10은 본 발명의 일 실시예에 따른 FEC 방식을 지원하는 MMT 시스템에서 사용되는 FEC 소스 패킷의 구조를 개략적으로 도시한 도면
도 11은 본 발명의 일 실시 예에 따른 FEC 방식을 사용하는 MMT 시스템에서 사용되는 FEC 복구 패킷의 구조를 개략적으로 도시한 도면
도 12는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 FEC 소스 또는 복구 패킷 블록의 송/수신 주기 및 FEC 복호 de-jittering 과정을 개략적으로 도시한 도면
도 13은 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템의 HRBM 내부 구조를 개략적으로 도시한 도면
도 14는 본 발명의 일 실시예에 따른 FEC 방식을 지원하는 MMT 시스템에서 FFRST_TS가 패킷에 포함되어 송신될 경우 신호 수신 장치에서의 FEC Protection Window(Case 1)과 FFRST_TS가 패킷에 포함되어 송신되지 않을 경우 신호 수신 장치에서의 FEC Protection Window(Case 2)를 개략적으로 도시한 도면
도 15는 본 발명의 일 실시예에 따른 FEC 방식을 지원하는 MMT 시스템에서 MMT 송신 엔터티의 내부 구조의 일 예를 개략적으로 도시한 도면
도 16은 본 발명의 일 실시예에 따른 MMT 시스템에서 MMT 송신 엔터티의 내부 구조의 다른 예를 개략적으로 도시한 도면
도 17은 본 발명의 일 실시예에 따른 MMT 시스템에서 MMT 수신 엔터티의 내부 구조의 일 예를 개략적으로 도시한 도면
도 18은 본 발명의 일 실시예에 따른 MMT 시스템에서 MMT 수신 엔터티의 내부 구조의 다른 예를 개략적으로 도시한 도면
이하, 본 발명의 실시 예들을 첨부한 도면들을 참조하여 상세히 설명한다. 그리고, 하기에서는 본 발명의 실시예들에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외의 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다. 그리고 후술되는 용어들은 본 발명의 실시예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예들을 가질 수 있는 바, 특정 실시 예들을 도면들에 예시하여 상세하게 설명한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 본 명세서에서 명백하게 다른 내용을 지시하지 않는 "한"과, "상기"와 같은 단수 표현들은 복수 표현들을 포함한다는 것이 이해될 수 있을 것이다. 따라서, 일 예로, "컴포넌트 표면(component surface)"은 하나 혹은 그 이상의 컴포넌트 표현들을 포함한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 다양한 실시예들에 따르면, 전자 디바이스는 통신 기능을 포함할 수 있다. 일 예로, 전자 디바이스는 스마트 폰(smart phone)과, 태블릿(tablet) 개인용 컴퓨터(personal computer: PC, 이하 'PC'라 칭하기로 한다)와, 이동 전화기와, 화상 전화기와, 전자책 리더(e-book reader)와, 데스크 탑(desktop) PC와, 랩탑(laptop) PC와, 넷북(netbook) PC와, 개인용 복합 단말기(personal digital assistant: PDA, 이하 'PDA'라 칭하기로 한다)와, 휴대용 멀티미디어 플레이어(portable multimedia player: PMP, 이하 'PMP'라 칭하기로 한다)와, 엠피3 플레이어(mp3 player)와, 이동 의료 디바이스와, 카메라와, 웨어러블 디바이스(wearable device)(일 예로, 헤드-마운티드 디바이스(head-mounted device: HMD, 일 예로 'HMD'라 칭하기로 한다)와, 전자 의류와, 전자 팔찌와, 전자 목걸이와, 전자 앱세서리(appcessory)와, 전자 문신, 혹은 스마트 워치(smart watch) 등이 될 수 있다.
본 발명의 다양한 실시예들에 따르면, 전자 디바이스는 통신 기능을 가지는 스마트 가정용 기기(smart home appliance)가 될 수 있다. 일 예로, 상기 스마트 가정용 기기는 텔레비젼과, 디지털 비디오 디스크(digital video disk: DVD, 이하 'DVD'라 칭하기로 한다) 플레이어와, 오디오와, 냉장고와, 에어 컨디셔너와, 진공 청소기와, 오븐과, 마이크로웨이브 오븐과, 워셔와, 드라이어와, 공기 청정기와, 셋-탑 박스(set-top box)와, TV 박스 (일 예로, Samsung HomeSyncTM, Apple TVTM, 혹은 Google TVTM)와, 게임 콘솔(gaming console)과, 전자 사전과, 캠코더와, 전자 사진 프레임 등이 될 수 있다.
본 발명의 다양한 실시예들에 따르면, 전자 디바이스는 의료 기기(일 예로, 자기 공명 혈관 조영술(Magnetic Resonance Angiography: MRA, 이하 'MRA'라 칭하기로 한다) 디바이스와, 자기 공명 화상법(Magnetic Resonance Imaging: MRI, 이하 "MRI"라 칭하기로 한다)과, 컴퓨터 단층 촬영(Computed Tomography: CT, 이하 'CT'라 칭하기로 한다) 디바이스와, 촬상 디바이스, 혹은 초음파 디바이스)와, 네비게이션(navigation) 디바이스와, 전세계 위치 시스템(Global Positioning System: GPS, 이하 'GPS'라 칭하기로 한다) 수신기와, 사고 기록 장치(Event Data recorder: EDR, 이하 'EDR'이라 칭하기로 한다)와, 비행 기록 장치(Flight Data Recorder: FDR, 이하 'FER'이라 칭하기로 한다)와, 자동차 인포테인먼트 디바이스(Automotive Infotainment Device)와, 항해 전자 디바이스(일 예로, 항해 네비게이션 디바이스, 자이로스코프(gyroscope), 혹은 나침반)와, 항공 전자 디바이스와, 보안 디바이스와, 산업용 혹은 소비자용 로봇(robot) 등이 될 수 있다.
본 발명의 다양한 실시예들에 따르면, 전자 디바이스는 통신 기능을 포함하는, 가구와, 빌딩/구조의 일부와, 전자 보드와, 전자 서명 수신 디바이스와, 프로젝터와, 다양한 측정 디바이스들(일 예로, 물과, 전기와, 가스 혹은 전자기 파 측정 디바이스들) 등이 될 수 있다.
본 발명의 다양한 실시예들에 따르면, 전자 디바이스는 상기에서 설명한 바와 같은 디바이스들의 조합이 될 수 있다. 또한, 본 발명의 바람직한 실시예들에 따른 전자 디바이스는 상기에서 설명한 바와 같은 디바이스에 한정되는 것이 아니라는 것은 당업자에게 자명할 것이다.
본 발명의 다양한 실시예들에 따르면, 신호 수신 장치는 일 예로 전자 디바이스가 될 수 있다.
본 발명의 일 실시예는 순방향 에러 정정(Forward Error Correction: FEC, 이하 'FEC'라 칭하기로 한다) 방식을 지원하는 멀티미디어 통신 시스템에서 패킷을 송/수신하는 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 데이터 복원 효율성을 증가시키는 패킷 송/수신 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 효율적인 전송 신뢰도를 획득할 수 있는 패킷 송/수신 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 패킷의 특성을 고려하여 패킷을 송/수신하는 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 FEC 방식 부호화 구조를 고려하여 패킷을 송/수신하는 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 패킷 송신 시점을 고려하여 패킷을 송/수신하는 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 패킷의 분할 특성을 고려하여 패킷을 송/수신하는 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 신호 송신 장치와 신호 수신 장치간의 지연을 고려하여 패킷을 송/수신하는 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 버퍼 사이즈를 고려하여 패킷을 송/수신하는 방법 및 장치를 제안한다.
또한, 본 발명의 일 실시예는 FEC 방식을 지원하는 멀티미디어 통신 시스템에서 FEC 방식에 관련된 FEC 구성 정보를 송/수신하는 방법 및 장치를 제안한다.
한편, 본 발명의 일 실시예에서 제안하는 방법 및 장치는디지털 멀티미디어 방송(DMB: Digital Multimedia Broadcasting, 이하 'DMB'라 칭하기로 한다) 서비스와, 휴대용 디지털 비디오 방송(DVP-H: Digital Video Broadcasting-Handheld, 이하 'DVP-H'라 칭하기로 한다), 및 모바일/휴대용 진화된 텔레비젼 시스템 협회(ATSC-M/H: Advanced Television Systems Committee-Mobile/Handheld: ATSC-M/H, 이하 'ATSC-M/H'라 칭하기로 한다) 서비스 등과 같은 모바일 방송 서비스와, 인터넷 프로토콜 텔레비젼(IPTV: Internet Protocol TeleVision, 이하 'IPTV'라 칭하기로 한다) 서비스와 같은 디지털 비디오 방송 시스템과, 엠펙 미디어 트랜스포트(MMT: MPEG(Moving Picture Experts Group) Media Transport, 이하 'MMT'라 칭하기로 한다) 시스템과, 진화된 패킷 시스템(EPS: Evolved Packet System, 이하 'EPS'라 칭하기로 한다)과, 롱-텀 에볼루션(Long-Term Evolution: LTE, 이하 'LTE'라 칭하기로 한다) 이동 통신 시스템과, 롱-텀 에볼루션-어드밴스드(Long-Term Evolution-Advanced: LTE-A, 이하 'LTE-A'라 칭하기로 한다) 이동 통신 시스템과, 고속 하향 링크 패킷 접속(high speed downlink packet access: HSDPA, 이하 'HSDPA'라 칭하기로 한다) 이동 통신 시스템과, 고속 상향 링크 패킷 접속(high speed uplink packet access: HSUPA, 이하 'HSUPA'라 칭하기로 한다) 이동 통신 시스템과, 3세대 프로젝트 파트너쉽 2(3rd generation project partnership 2: 3GPP2, 이하 '3GPP2'라 칭하기로 한다)의 고속 레이트 패킷 데이터(high rate packet data: HRPD, 이하 'HRPD'라 칭하기로 한다) 이동 통신 시스템과, 3GPP2의 광대역 부호 분할 다중 접속(WCDMA: Wideband Code Division Multiple Access, 이하 'WCDMA'라 칭하기로 한다) 이동 통신 시스템과, 3GPP2의 부호 분할 다중 접속(CDMA: Code Division Multiple Access, 이하 'CDMA'라 칭하기로 한다) 이동 통신 시스템과, 국제 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers: IEEE, 이하 'IEEE'라 칭하기로 한다) 802.16m 통신 시스템 등과 같은 통신 시스템과, 모바일 인터넷 프로토콜(Mobile Internet Protocol: Mobile IP, 이하 'Mobile IP '라 칭하기로 한다) 시스템 등과 같은 다양한 통신 시스템들에 적용 가능함은 물론이다.
다만, 이하에서는 설명의 편의상 본 발명의 일 실시예에서 제안하는 방법 및 장치가 적용되는, FEC 방식을 지원하는 멀티미디어 통신 시스템이 MMT 시스템이라고 가정하기로 한다.
한편, 하기에서 설명될 본 발명의 실시예들은 네트워크를 통해 고 해상도(High Definition: HD, 이하 'HD'라 칭하기로 한다) 컨텐트들, 초 고해상도(Ultra High Definition: UHD, 이하 'UHD'라 칭하기로 한다) 컨텐트들 등과 같은 고용량 컨텐트들 뿐만 아니라, 영상 회의/통화 등과 같은 다양한 멀티미디어 서비스를 제공할 수 있는 휴대폰, TV, 컴퓨터, 전자 칠판, 태블릿 및 전자책 등과 같은 모든 전자 기기들에서 데이터 패킷의 손실을 효율적으로 복구하는 패킷 송/수신 장치 및 방법을 제안한다.
한편, 본 발명의 실시예들에서는 구체적인 FEC 부호화 방식에 대해서는 설명하지 않지만, 본 발명의 실시예들에서 상기 FEC 부호화 방식은 리드-솔로몬(Reed-Solomon: RS) 코드, 저밀도 패리티 검사(Low Density Parity Check: LDPC, 이하 "LDPC"라 칭하기로 한다) 부호, 터보(Turbo) 부호, 랩터(Raptor) 부호, XOR, Pro-MPEG(Moving Picture Experts Group) FEC 부호 등과 같은 특정 FEC 부호화 방식으로 한정되지 않음에 유의하여야만 한다.
이하, 본 발명의 다양한 실시예들을 설명함에 있어 사용될 용어들 및 그 정의들을 정리하면 다음과 같다.
(1) FEC 부호(FEC code)
상기 FEC 부호는 오류 심볼(Error Symbol) 또는 삭제 심볼(Erasure Symbol)을 정정하기 위해 사용되는 오류 정정 부호(error correction code)를 나타낸다. 또한, 상기 FEC 부호는 데이터를 인코딩하여 상기 인코딩된 데이터 플로우가 데이터 손실에 대해 회복성을 가지도록 하는 알고리즘을 나타낸다.
(2) 소스 심볼(Source Symbol)
상기 소스 심볼은 FEC 부호화 프로세스에서 사용되는 데이터의 유닛을 나타낸다.
(3) 복구 심볼(Repair Symbol)
상기 복구 심볼은 오류 정정을 위해 리던던시 정보(redundancy information)를 포함하는 부호화 심볼을 나타낸다. 또한, 상기 복구 심볼은 상기 소스 심벌이 아닌 부호화 심볼을 나타낸다. 여기서, 상기 복구 심볼은 패리티 심볼(Parity Symbol)이라고도 칭해질 수 있다.
(4) 소스 패킷 (Source Packet)
상기 소스 패킷은 FEC 부호화 방식에 의해 보호되는 패킷을 나타낸다.(5) 소스 패킷 블록(Source Packet Block)
상기 소스 패킷 블록은 단일 블록으로 보호되는 FEC 소스 플로우의 세그먼트된 집합을 나타낸다.
(6) 소스 심볼 블록(Source Symbol Block)
상기 소스 심볼 블록은 단일 소스 패킷 블록으로부터 생성되는 소스 심볼들의 집합을 나타낸다. 즉, 상기 소스 심볼 블록에는 적어도 하나의 소스 심볼이 포함된다.
(7) 복구 심볼 블록(Repair Symbol Block)
상기 복구 심볼 블록은 손실된 소스 심볼들을 복구하기 위해 사용될 수 있는 복구 심볼들의 집합을 나타낸다. 즉, 상기 복구 심볼 블록에는 적어도 하나의 복구 심볼이 포함된다. 여기서, 상기 복구 심볼 블록은 패리티 심볼 블록이라고도 칭해질 수 있다.
(8) 부호화 심벌 블록(Encoding Symbol Block)
상기 부호화 심볼 블록은 부호화 심볼들의 집합을 나타낸다. 또한, 상기 부호화 심볼 블록은 소스 심볼 블록의 부호화 프로세스에서 생성되는 부호화 심볼들의 집합을 나타낸다. 즉, 상기 부호화 심볼 블록에는 적어도 하나의 부호화 심볼이 포함된다.
(9) 부호화 심볼(encoding symbol)
상기 부호화 심볼은 부호화 프로세스에 의해 생성되는 데이터의 유닛을 나타낸다. 여기서, 소스 심볼들은 부호화 심벌들의 일부가 될 수 있다.
(10) FEC 복구 패킷(FEC repair Packet)
상기 FEC 복구 패킷은 복구 심볼 블록의 하나 혹은 그 이상의 복구 심벌들을 전달하기 위해 복구 FEC 페이로드 식별자(repair FEC payload IDentifirer (ID))를 가지는 MMT 프로토콜(MMT Protocol: MMTP, 이하 'MMTP'라 칭하기로 한다) 패킷을 나타낸다.
(11) FEC 소스 패킷 (FEC source Packet)
상기 FEC 소스 패킷은 소스 FEC 페이로드 식별자(source FEC payload ID)를 가지는 MMTP 패킷을 나타낸다.
(12) FEC 소스 또는 복구 패킷 (FEC source or repair packet)
상기 FEC 소스 또는 복구 패킷은 FEC 복구 패킷, 또는 FEC 소스 패킷을 통칭하는 용어이다. 즉, 상기 FEC 소스 또는 복구 패킷은 필요에 따라 FEC 복구 패킷을 나타낼 수도 있고, FEC 소스 패킷을 나타낼 수도 있고, FEC 복구 패킷 및 FEC 소스 패킷 둘 다를 나타낼 수도 있다.
(13) FEC 소스 패킷 블록(FEC source Packet Block)
상기 FEC 소스 패킷 블록은 소스 심볼 블록을 전달하기 위한 FEC 소스 패킷들의 집합을 나타낸다. 즉, 상기 FEC 소스 패킷 블록에는 적어도 하나의 FEC 소스 패킷이 포함된다.
(14) FEC 복구 패킷 블록(FEC repair Packet Block)
상기 FEC 복구 패킷 블록은 복구 심볼 블록을 전달하기 위한 FEC 복구 패킷들의 집합을 나타낸다. 즉, 상기 FEC 복구 패킷 블록에는 적어도 하나의 FEC 복구 패킷이 포함된다. 여기서, 상기 FEC 복구 패킷 블록은 FEC 패리티 패킷 블록이라고도 칭해질 수 있다.
(15) FEC 소스 또는 복구 패킷 블록 (FEC source or repair packet block)
상기 FEC 소스 또는 복구 패킷 블록은 FEC 소스 패킷 블록과 상기 FEC 소스 패킷 블록과 관련되는 FEC 복구 패킷 블록을 통칭하는 용어이다. 즉, 상기 FEC 소스 또는 복구 패킷 블록은 필요에 따라 상기 FEC 소스 패킷 블록을 나타낼 수도 있고, 상기 FEC 복구 패킷 블록을 나타낼 수도 있고, 상기 FEC 소스 패킷 블록과 FEC 복구 패킷 블록 둘 다를 나타낼 수도 있다. 즉, 상기 FEC 소스 또는 복구 패킷 블록은 부호화 심볼 블록을 전달하기 위한 FEC 소스 또는 복구 패킷들의 집합을 나타낸다. 따라서, 상기 FEC 소스 또는 복구 패킷 블록에는 적어도 하나의 FEC 소스 또는 복구 패킷이 포함된다.
(16) FEC 페이로드 식별자 (FEC Payload ID(Identifier))
상기 FEC 페이로드 식별자는 MMT FEC 방식에 관한 MMTP 패킷의 컨텐츠를 식별하기 위한 식별자를 나타낸다. 여기서, 상기 MMT FEC 방식은 MMT 시스템에서 지원하는 FEC 방식을 나타낸다.
(17) 복구 FEC 페이로드 식별자 (repair FEC Payload ID)
상기 복구 FEC 페이로드 식별자는 복구 패킷들에 대한 FEC 페이로드 식별자를 나타낸다. 여기서, 상기 복구 FEC 페이로드 식별자는 패리티 FEC 페이로드 식별자라고도 칭해질 수 있다. 상기 복구 FEC 페이로드 식별자는 FEC 복구 패킷(repair packet)을 위한 복구 소스 FEC 구성 정보를 포함하며, 상기 복구 FEC 구성 정보는 FEC 소스 혹은 복구 패킷 블록(FEC Source or Repair packet block)이 적어도 하나의 FEC 소스 혹은 복구 패킷(FEC Source or Repair packet)을 포함할 경우, 상기 적어도 하나의 FEC 소스 혹은 복구 패킷 중 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보를 포함한다. 여기서, 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프(time stamp)에 관련된 정보를 포함한다. 또한, 해당 복구 FEC 페이로드 식별자를 송신하는 신호 송신 장치, 일 예로 MMT 송신 엔터티가 2단계 FEC 부호화 구조를 지원하는 경우, 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보는 FEC에서의 타임 스탬프(time stamp)에 관련된 정보를 나타내는 타임 스탬프 지시자(time stamp indicator: TS indicator)를 포함한다. 상기 복구 FEC 페이로드 식별자 및 타임 스탬프에 대해서는 하기에서 구체적으로 설명할 것이므로 여기서는 그 상세한 설명을 생략하기로 한다.
(18) 소스 FEC 페이로드 식별자 (source FEC Payload ID)
상기 소스 FEC 페이로드 식별자는 소스 패킷들에 대한 FEC 페이로드 식별자를 나타낸다. 상기 소스 FEC 페이로드 식별자는 FCE 소스 패킷을 위한 소스 FEC 구성 정보를 포함하며, 상기 소스 FEC 구성 정보는 FEC 소스 혹은 복구 패킷 블록(FEC Source or Repair packet block)이 적어도 하나의 FEC 소스 혹은 복구 패킷(FEC Source or Repair packet)을 포함할 경우, 상기 적어도 하나의 FEC 소스 혹은 복구 패킷 중 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보를 포함한다. 여기서, 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프에 관련된 정보를 포함한다. 또한, 해당 소스 FEC 페이로드 식별자를 송신하는 신호 송신 장치, 일 예로 MMT 송신 엔터티가 2단계 FEC 부호화 구조를 지원하는 경우, 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보는 FEC에서의 타임 스탬프(time stamp)에 관련된 정보를 나타내는 타임 스탬프 지시자(time stamp indicator: TS indicator)를 포함한다. 상기 소스 FEC 페이로드 식별자와, 타임 스탬프 및 타임 스탬프 지시자에 대해서는 하기에서 구체적으로 설명될 것이므로 여기서는 그 상세한 설명을 생략하기로 한다.(19) MMT
상기 MMT는 MPEG 데이터를 효율적으로 전달하기 위하여 연구중인 국제 표준을 나타낸다.
(20) FEC 소스 플로우(FEC Source Flow)
상기 FEC 소스 플로우는 MMT FEC 방식에 의해 보호되는 MMTP 패킷들의 플로우를 나타낸다.
(21) FEC 방식(FEC scheme)
상기 FEC 방식은 FEC 부호들을 사용하기 위해 요구되는 추가적인 프로토콜 측면들을 정의하는 규격을 나타낸다.
(22) FEC 복구 플로우(FEC repair Flow)
상기 FEC 복구 플로우는 FEC 소스 플로우를 보호하는 복구 심벌들을 운반하는 데이터 플로우를 나타낸다. 여기서, 상기 FEC 복구 플로우는 FEC 패리티 플로우라고 칭해질 수 있다.
(23) FEC 부호화된 플로우(FEC encoded flow)
상기 FEC 부호화된 플로우는 FEC 소스 플로우와 하나 혹은 그 이상의 연관 FEC 복구 플로우들로 구성된 플로우들의 논리적인 집합을 나타낸다.
(24) -에셋(Asset)
상기 에셋은 고유한 식별자와 연관되고, 멀티미디어 프리젠테이션(multimedia presentation)을 생성하기 위해 사용되는 멀티미디어 데이터 엔터티를 나타낸다.
(25) 미디어 프로세싱 유닛 (Media Processing Unit: MPU, 이하 'MPU'라 칭하기로 한다)
상기 MPU는 미디어 코텍 애그노스틱(media codec agnostic)한, 독립적으로 복호 가능한 타임드(timeda) 혹은 논-타임드(non-timed) 데이터를 위한 일반 컨테이너(generic container)를 나타낸다.
(26) 패키지(Package)
상기 패키지는 MMT를 사용하여 전달되는, 미디어 데이터의 논리적인 콜렉션(collection)을 나타낸다.
(27) MMT 패킷 (MMT packet)
상기 MMT 패킷은 MMTP를 사용하여 전달되는 미디어 데이터의 포맷화된 유닛(formatted unit)을 나타낸다. (28) MMT 페이로드 (MMT payload)
상기 MMT 페이로드는 MMTP 혹은 인터넷 어플리케이션 계층 트랜스포트 프로토콜(internet application layer transport protocol)을 사용하여 패키지들 및/혹은 시그널링 메시지들을 운반하는 미디어 데이터의 포맷화된 유닛을 나타낸다. 여기서, 상기 인터넷 어플리케이션 계층 트랜스포트 프로토콜은 일 예로 실시간 트랜스포트 프로토콜(Real-Time Transport Protocol: RTP, 이하 'RTP'라 칭하기로 한다) 등이 될 수 있다.
(29) MMTP
상기 MMTP는 인터넷 프로토콜(Internet Protocol: IP, 이하 'IP'라 칭하기로 한다) 네트워크를 통해 MMTP 페이로드를 전달하기 위한 어플리케이션 계층 트랜스포트 프로토콜을 나타낸다.
그러면 여기서, 도 1을 참조하여 본 발명의 일 실시예에 따른 FEC 방식을 지원하는 MMT 시스템의 구조의 일 예에 대해서 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 FEC 방식을 지원하는 MMT 시스템의 구조의 일 예를 개략적으로 도시한 도면이다.
도 1을 참조하면, 상기 MMT 시스템은 MMT 송신 엔터티(MMT sending entity)(111)와, MMT 수신 엔터티(MMT receiving entity)(113)와, 패키지 제공기(package)(115)와, 다수의 에셋 제공기들, 일 예로 N개의 에셋 제공기들, 즉 에셋 제공기 #1(117-1)과, … , 에셋 제공기 #N(117-N)을 포함한다. 그리고, 상기 MMT 송신 엔터티(111)와 MMT 수신 엔터티(113)간에는 MMTP를 기반으로 통신이 수행된다. 여기서, 상기 MMTP에 대해서 설명하면 다음과 같다.
상기 MMTP는 MMT 패키지를 패킷화하여 전송하기 위한 어플리케이션 계층(application layer) 전송 프로토콜이며, 상기 MMT 패키지를 효율적이고 신뢰성 있게 전송하기 위하여 설계된 바 있다. 상기 MMTP는 미디어 다중화와 네트워크 지터(jitter) 계산 등과 같은 향상된 특성들을 지원한다. 이와 같은 특성들은 다양한 타입들로 코딩된 미디어 데이터로 구성되는 콘텐츠를 효율적으로 전송하는 것을 가능하게 한다. 상기 MMTP는 기존의 네트워크 프로토콜, 일 예로 사용자 데이터그램 프로토콜(User Datagram Protocol: UDP, 이하 'UDP'라 칭하기로 한다) 또는 IP의 상위 계층에서 동작할 수 있으며, 다양한 어플리케이션들을 지원한다.
상기 MMT 송신 엔터티(111)는 하나 혹은 그 이상의 MMT 수신 엔터티들로 미디어 데이터(media data)를 송신하는 MMT 엔터티가 될 수 있으며, 일 예로 MMT 브로드캐스팅 서버 등이 될 수 있다.
또한, 상기 MMT 수신 엔터티(113)는 상기 미디어 데이터를 수신 및 소비하는 MMT 엔터티가 될 수 있으며, 일 예로 이동 단말기(Mobile Station: MS, 이하 'MS'라 칭하기로 한다)와, 사용자 단말기(User Equipment: UE, 이하 'UE'라 칭하기로 한다) 등과 같은 무선 디바이스가 될 수 있다. 일 예로, 상기 MMT 송신 엔터티(111)가 상기 MMT 브로드캐스팅 서버이고, 상기 MMT 수신 엔터티(113)가 상기 MS라면, 상기 MMT 브로드캐스팅 서버는 기지국을 경유하여 미디어 데이터를 상기 MS로 송신할 수 있다. 다만, 도 1에는 상기 기지국은 별도로 도시하지 않았음에 유의하여야만 한다.
상기 MMT 송신 엔터티(111)는 패키지들을 상기 MMT 수신 엔터티(113)로 MMTP 패킷 플로우(packet flow)들로 송신한다. 여기서, 패키지는 미디어 데이터의 논리 모음(logical collection)을 나타내며, MMT 기술을 사용하여 전달된다. 여기서, 상기 MMT 송신 엔터티(111)는 MMTP 패킷 플로우들을 통해 에셋과, 프리젠테이션 정보(Presentation Information: PI, 이하 'PI'라 칭하기로 한다) 등을 상기 MMT 수신 엔터티(113)로 송신한다. 여기서, 상기 에셋과, PI에 대해서는 구체적인 설명을 생략하기로 한다. 상기 MMT 송신 엔터티(111)는 상기 패키지 제공기(115)에 의해 제공되는 패키지의 PI를 기반으로 컨텐트 제공기(content provider)들(도 1에 별도로 도시되어 있지 않음)로부터 컨텐트들을 획득하는 것이 요구될 수 있다.
또한, 상기 MMT 송신 엔터티(111)와 상기 MMT 수신 엔터티(113)는 MMTP 패킷 플로우들을 통해 MMT 시그널링을 송/수신한다.
상기 패키지 제공기(115)와 상기 컨텐트 제공기들은 함께 위치할 수 있다. 미디어 컨텐트는 MMTP 패킷 플로우를 형성하는 인캡슐레이트된 MMT 프로세싱 유닛(MMT processing unit)들의 시리즈(series)로 세그먼트되는 에셋으로서 제공된다.
상기 미디어 컨텐트의 MMTP 패킷 플로우는 연관된 트랜스포트 특성 정보(transport characteristics information)를 사용하여 생성된다. 또한, 시그널링 메시지(signaling message)들이 상기 패키지들의 전달 및 소비를 관리하기 위해 사용될 수 있다.
도 1에서, 상기 MMT 송신 엔터티(111)는 신호 송신 장치이며, 상기 MMT 수신 엔터티(113)는 신호 수신 장치이다.
도 1에서는 본 발명의 일 실시예에 따른 FEC 방식을 지원하는 MMT 시스템의 구조의 일 예에 대해서 설명하였으며, 다음으로 도 2를 참조하여 본 발명의 일 실시예에 따른 FEC 방식을 지원하는 MMT 시스템의 구조의 다른 예에 대해서 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 FEC 방식을 지원하는 MMT 시스템의 구조의 다른 예를 개략적으로 도시한 도면이다.
도 2를 참조하면, 상기 MMT 시스템은 신호 송신 장치(200)와, 신호 수신 장치(210)를 포함한다.
상기 신호 송신 장치(200)는 FEC 상위 프로토콜에 해당하는 프로토콜 A 동작을 수행하는 프로토콜 A 처리 블록(201), FEC 부호화 블록(202), FEC 하위 프로토콜에 해당하는 프로토로 B 처리 동작을 수행하는 프로토콜 B 처리 블록(203) 및 송신기 물리 계층 블록(204)을 포함한다.
상기 프로토콜 A 처리 블록(201)은 전송 데이터에 대해 프로토콜 A 처리 동작을 수행하여 소스 페이로드(source payload)들(230)을 생성하고, 상기 생성된 소스 페이로드들(230)을 상기 FEC 부호화 블록(202)으로 출력한다.
상기 FEC 부호화 블록(202)은 적어도 하나의 소스 패킷을 포함하는 소스 패킷 블록을 생성하고, 상기 생성한 소스 패킷 블록에 대해서 미리 설정되어 있는 FEC 방식에 상응하게 FEC 부호화 동작을 수행하여 패리티 페이로드(231)를 포함하는 복구 심벌들을 생성한다. 그리고 나서, 상기 FEC 부호화 블록(202)은 상기 소스 패킷과 복구 심벌에 FEC 헤더(232)를 추가하여 프로토콜 B 처리 블록(203)으로 출력한다. 이 때 상기 FEC 헤더와 결합된 소스 패킷이 FEC 소스 패킷이고, 상기 FEC 헤더와 결합된 복구 심벌이 FEC 복구 패킷이다.
도 2에서는 FEC 소스 패킷이 FEC 헤더가 먼저 위치하고, 그 다음에 소스 페이로드가 순차적으로 위치하도록 생성된 데이터 유닛이지만, 이와는 달리 상기 FEC 소스 패킷이 소스 페이로드가 먼저 위치하고, 그 이후에 FEC 헤더가 순차적으로 위치하도록 생성된 데이터 유닛이 될 수도 있음은 물론이다.
또한, 도 2에서는 상기 FEC 부호화 블록(202)이 상기 프로토콜 A 처리 블록(201)과 프로토콜 B 처리 블록(203)의 사이에 위치하는 형태로 구현되어 있지만, 이와는 달리 상기 프로토콜 A 처리 블록(201)이 상기 FEC 부호화 블록(202)을 포함하는 형태로 구현될 수 도 있다. 이 경우, FEC 패리티 패킷에 상기 프로토콜 A 처리 블록(201)의 기능을 수행하기 위한 프로토콜 헤더가 포함될 수 있으며, 상기 FEC 부호화 블록(202)을 포함하는 프로토콜 A 처리 블록(201)은 소스 패킷과 패리티 패킷을 하나의 패킷 플로우로 생성하기 위한 다중화기(multiplexer)를 포함할 수 있다.
상기 프로토콜 B 처리 블록(203)은 상기 FEC 부호화 블록(202)로부터 전달되는 FEC 소스 패킷 혹은 FEC 패리티 패킷에 대해 프로토콜 B에 상응하는 프로토콜 B 처리 동작을 수행하여 프로토콜 B 신호로 생성하고, 상기 프로토콜 B 신호를 상기 송신기 물리 계층 처리 블록(204)으로 전달한다.
상기 송신기 물리 계층 블록(204)은 상기 프로토콜 B 처리 블록(203)에서 전달받은 상기 프로토콜 B 신호를 물리 계층 전송에 적합한 물리 계층 신호로 변환하고, 상기 변환된 물리 계층 신호를 상기 트랜스포트 채널(220)을 통해 상기 신호 수신 장치(210)로 전달한다. 상기 프로토콜 B 처리 블록(203)과 송신기 물리 계층 블록(204) 사이에는 다양한 계층들이 존재할 수 있으며, 여기서는 그 구체적인 설명은 생략하기로 한다.
도 2에서는 상기 신호 송신 장치(200)가 상기 프로토콜 A 처리 블록(200)과, FEC 부호화 블록(202)과, 프로토콜 B 처리 블록(203)과, 송신기 물리 계층 블록(204)과 같이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 신호 송신 장치(200)는 상기 프로토콜 A 처리 블록(200)과, FEC 부호화 블록(202)과, 프로토콜 B 처리 블록(203)과, 송신기 물리 계층 블록(204) 중 적어도 2개가 1개의 유닛으로 통합되는 형태로도 구현될 수 있음은 물론이다.
또한, 상기 신호 수신 장치(210)는 수신기 물리 계층 블록(211), FEC 하위 프로토콜에 해당하는 동작을 수행하는 프로토콜 B 처리 블록(212), FEC 복호화 블록(213), FEC 상위 프로토콜에 해당하는 동작을 수행하는 프로토콜 A 처리 블록(214)을 포함한다.
상기 수신기 물리 계층 블록(211)은 상기 전송 채널(220)을 통하여 수신된 물리 계층 신호를 프로토콜 B 신호로 변환하고, 상기 변환된 프로토콜 B 신호를 상기 프로토콜 B 처리 블록(212)으로 전달한다. 상기 신호 송신 장치(200)에서 설명한 바와 마찬가지로 상기 프로토콜 B 처리 블록(212)과 수신기 물리 계층 블록(211) 사이에는 다양한 계층들이 존재할 수 있으며, 상기 프로토콜 B 처리 블록(212)과 상기 수신기 물리 계층 처리 블록(211) 사이에 존재하는 다양한 처리 블록들에 대해서는 그 구체적인 설명은 생략하기로 한다.
상기 프로토콜 B 처리 블록(212)은 상기 프로토콜 B 처리 블록(212)으로 수신되는 물리 계층 신호에 대해서 프로토콜 B 처리 동작을 수행하여 프로토콜 B 신호로 생성한 후, 상기 프로토콜 B 신호를 상기 FEC 복호 블록(213)으로 전달한다. 여기서, 상기 프로토콜 B 신호는 FEC 패킷, 즉 FEC 소스 패킷 혹은 FEC 패리티 패킷이 될 수 있다. 이 때, 상기 신호 송신 장치(200)에서 송신한 FEC 패킷들 중 일부는 네트워크의 혼잡 및 물리 계층에서 발생한 오류의 영향으로 손실되고, 따라서 상기 FEC 복호 블록(213)으로 전달되지 못할 수 있다.
상기 FEC 복호 블록(213)은 상기 프로토콜 B 처리 블록(212)으로부터 전달된 FEC 패킷에 대한 FEC 복호 동작을 상기 신호 송신 장치(200)에서 송신한 소스 페이로드들을 검출하고, 상기 검출된 소스 페이로드들을 상기 프로토콜 A 처리 블록(214)으로 전달한다. 상기 프로토콜 A 처리 블록(214)은 상기 FEC 복호화 블록(213)에서 전달받은 소스 페이로드들에 대해서 프로토콜 A 처리 동작을 수행하여 전송 데이터를 검출한다.
한편, 상기에서 FEC 헤더는 FEC 페이로드 식별자를 포함하며, FEC 소스 패킷을 위한 FEC 헤더는 소스 FEC 페이로드 식별자를 포함하고, FEC 패리티 패킷을 위한 FEC 헤더는 복구 FEC 페이로드 식별자를 포함한다.
또한, 본 발명의 일 실시예는 MMT 시스템에 적용되므로, 상기 소스 패킷은 MMT 패킷이 되고, FEC 소스 패킷은 소스 FEC 페이로드 식별자를 가지는 MMT 패킷이 되며, FEC 복구 패킷은 복구 심벌을 운반하는 복구 FEC 페이로드 식별자를 가지는 MMT 패킷이 된다.
또한, 도 2에서 상기 신호 수신 장치(210)는 상기 수신기 물리 계층 블록(211)과, 프로토콜 B 처리 블록(212)과, FEC 복호화 블록(213)과, 프로토콜 A 처리 블록(214)과 같이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 신호 수신 장치(210)는 상기 수신기 물리 계층 블록(211)과, 프로토콜 B 처리 블록(212)과, FEC 복호화 블록(213)과, 프로토콜 A 처리 블록(214) 중 적어도 2개가 1개의 유닛으로 통합되는 형태로도 구현될 수 있음은 물론이다.
도 2에서는 본 발명의 일 실시예에 따른 FEC 방식을 지원하는 MMT 시스템의 구조의 다른 예에 대해서 설명하였으며, 다음으로 도 3을 참조하여 본 발명의 일 실시예에 따른 FEC 방식을 지원하는 MMT 시스템에서 어플리케이션 계층-순방향 오류 정정(AL-FEC: Application Layer Forward Error Correction, 이하 'AL-FEC'라 칭하기로 한다)을 위한 아키텍처(architecture)에 대해서 설명하기로 한다. 이하, 설명의 편의상 AL-FEC를 위한 아키텍처를 ' AL-FEC 아키텍처'라 칭하기로 한다.
도 3은 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 AL-FEC 아키텍처를 개략적으로 도시한 도면이다.
도 3을 설명하기에 앞서, 도 3에 도시되어 있는 AL-FEC 아키텍처는 신호 송신 장치에 포함되어 있는 AL-FEC 아키텍처 구조임에 유의하여야 한다.
상기 AL-FEC 아키텍처는 MMT 어플리케이션 유닛(310)과, MMTP 유닛(320)과, MMT FEC 유닛(330)과, FEC 코드 유닛(340)과, 트랜스포트 계층 처리 유닛(350)과, 인터넷 프로토콜(Internet Protocol: IP, 이하 'IP'라 칭하기로 한다) 처리 유닛(360)을 포함한다. 여기서, 상기 MMTP 유닛(320)과 MMT FEC 유닛(330)은 AL-FCE 프로세서에 포함된다.
상기 MMT 방식은 IP 네트워크에서 안정적인 전달을 위해 AL-FEC 메카니즘을 지원한다. 상기 MMT 시스템에서 지원하는 FEC 방식(이하, 설명의 편의상 'MMT FEC 방식'이라 칭하기로 한다)은 전달 함수(delivery function)의 빌딩 블록(building block)으로 설명된다.
먼저, 상기 MMT 어플리케이션 유닛(310)으로부터 상기 MMTP 유닛(320)으로 MMT 에셋들이 전달되면, 상기 MMTP 유닛(320)은 상기 MMT 어플리케이션 유닛(310)으로부터 전달받은 MMT 에셋들을 미리 설정되어 있는 MMTP 패킷화 방식을 기반으로 MMTP 패킷들로 생성하고, 상기 생성한 MMTP 패킷들을 송/수신 상에서의 보호를 위해 상기 MMT FEC 유닛(330)으로 전달한다. 상기 MMTP 유닛(320)이 상기 MMT 에셋들을 MMTP 패킷들로 생성하기 위해 사용되는 MMTP 패킷화 방식은 다양한 방식들로 구현될 수 있으며, 여기서는 그 상세한 설명을 생략하기로 한다.
한편, 상기 MMT 어플리케이션 유닛(310)은 상기 MMT FEC 유닛(330)으로 FEC 구성 정보(FEC configuration information)를 제공하며, 상기 FEC 구성 정보는 FEC 부호화된 플로우(FEC encoded flow)의 식별자와, FEC 부호화 구조 및 FEC 코드에 관련된 정보 등을 포함한다. 상기 FEC 구성 정보는 상기 신호 송신 장치에 대응하는 신호 수신 장치로 전달되며, 상기 FEC 구성 정보에 대해서는 하기에서 구체적으로 설명할 것이므로 여기서는 그 상세한 설명을 생략하기로 한다.
상기 MMT FEC 유닛(330)은 MMTP 유닛(320)으로부터 전달받은 MMTP 패킷들을 미리 설정되어 있는 FEC 방식에 상응하게 부호화하여 복구 심볼들과, 복구 FEC 페이로드 ID들 및 소스 FEC 페이로드 ID들을 생성하고, 상기 생성한 복구 심볼들과, 복구 FEC 페이로드 ID들 및 소스 FEC 페이로드 ID들을 상기 MMTP 유닛(320)으로 전달한다. 상기 MMTP 유닛(320)은 상기 MMT FEC 유닛(330)으로부터 전달받은 복구 심볼들을 상기 MMTP 패킷들과 함께 트랜스포트 계층(350)으로 전달한다.
한편, 상기 신호 송신 장치는 보호를 필요로 하는 패키지(Package)들 내의 MMT 에셋들과 FEC 소스 플로우(FEC source flow)들의 개수를 결정한다. 상기 MMT 에셋들 중 하나 혹은 그 이상이 단일 FEC 소스 플로우로서 보호되며, 상기 단일 FEC 소스 플로우는 상기 MMT 에셋들 중 하나 혹은 그 이상을 운반하는 MMTP 패킷들로 구성된다. 상기 FEC 소스 플로우 및 상기 FEC 소스 플로우의 FEC 구성 정보는 그 보호를 위해서 상기 MMT FEC 유닛(330)으로 전달된다. 상기 MMT FEC 유닛(330)은 FEC 코드(들)를 사용하여 하나 혹은 그 이상의 FEC 복구 플로우들을 포함하는 복구 심볼들을 생성한다. 상기 복구 심볼들은 상기 소스 FEC 페이로드 ID들 및 복구 FEC 페이로드 ID들과 함께 상기 MMTP 유닛(320)으로 전달된다. 상기 MMTP 유닛(320)은 FEC 소스 및 복구 패킷들을 상기 신호 수신 장치로 전달한다. 그러면 상기 신호 수신 장치에 포함되어 있는 MMTP 유닛은 상기 FEC 소스 플로우 및 그 연관되는 FEC 복구 플로우(들)을 상기 신호 수신 장치에 포함되어 있는 MMT FEC 유닛으로 전달한다. 상기 MMT FEC 유닛은 상기 MMTP 유닛으로부터 전달받은 FEC 소스 플로우 및 그 연관되는 FEC 복구 플로우(들)을 미리 설정되어 있는 FEC 방식을 기반으로 복호하여 MMTP 패킷들을 복원하고, 상기 복원한 MMTP 패킷들을 상기 MMTP 유닛으로 전달한다.
한편, 상기 MMT FEC 유닛(330)은 상기 FEC 소스 플로우를 소스 패킷 블록들로 분할하고, 소스 심볼 블록들을 생성한다. 상기 MMT FEC 유닛(330)은 상기 소스 심볼 블록들을 FEC 부호화를 위해 FEC 코드 블록(340)으로 전달한다. 여기서. 상기 FEC 부호화는 상기 소스 심볼 블록으로부터 복구 심볼들을 생성하는 프로세스를 나타낸다.
상기 FEC 코드 블록(340)은 상기 MMT FEC 유닛(330)으로부터 전달받은 소스 심볼 블록들을 미리 설정되어 있는 FEC 코드 알고리즘을 기반으로 FEC 부호화하여 복구 심볼들을 생성한다. 여기서, 상기 FEC 코드 블록(340)이 사용하는 FEC 코드 알고리즘은 다양한 형태들로 구현될 수 있으며, 본 발명의 일 실시예에서는 일 예로 상기 FEC 코드 알고리즘이 국제 표준화 기구(International Organization for Standardization: ISO, 이하 'ISO'라 칭하기로 한다)/국제 전기 표준 회의(International Electrotechnical Commission: IEC, 이하 'IEC'라 칭하기로 한다) 23008-10에서 사용되는 바와 같은 방식으로 소스 심볼 블록으로부터 복구 심볼들을 생성하는 FEC 코드 알고리즘이라고 가정하기로 한다.
한편, 상기 AL-FEC 아키텍처를 상기 FEC 구성 정보 측면을 고려하여 다시 한번 설명하면 다음과 같다.
먼저, 상기 MMT 어플리케이션 유닛(310)은 AL-FEC로 보호하여 전송할 MMT 에셋들을 결정하고, 상기 결정한 MMT 에셋들을 상기 MMTP 유닛(320)으로 전달한다. 또한 상기 MMT 어플리케이션 유닛(310)은 AL-FEC 관련 정보, 일 예로 FEC 구성 정보를 상기 MMTP 유닛(320)과 MMT FEC 유닛(230), 즉 AL-FEC 프로세서로 전달한다. 여기서, 상기 FEC 구성 정보는 FEC 메시지가 포함하는 FEC 제어 정보 및 FEC 소스 또는 복구 패킷 블록 전송 시간 주기에 관련된 정보 등을 포함할 수 있으며, 상기 FEC 구성 정보에 대해서는 하기에서 구체적으로 설명할 것이므로 여기서는 그 상세한 설명을 생략하기로 한다.
상기 MMTP 유닛(320)은 입력된 MMT 에셋들을 패킷화하여 MMT 패킷들로 생성하고, 상기 생성한 MMT 패킷들에 MMT 패킷 헤더를 첨부하여 소스 패킷을 생성하고, 적어도 하나의 소스 패킷을 포함하는 소스 패킷 블록을 상기 MMT FEC 유닛(230)으로 출력한다. 상기 MMT 패킷 헤더는 MMT 패킷이 송신되는 시간에 관련된 정보, 일 예로 타임 스탬프(Timestamp)를 포함한다. 여기서, 상기 MMTP 유닛(320)은 상기 MMT 패킷들로부터 생성된 FEC 소스 또는 패킷 블록이 포함하는, 적어도 하나의 FEC 소스 혹은 복구 패킷 중 첫 번째 송신되는 FEC 소스 혹은 복구 패킷과 상기 FEC 소스 또는 패킷 블록이 포함하는, 적어도 하나의 FEC 소스 혹은 복구 패킷 중 마지막으로 전송되는 FEC 소스 혹은 복구 패킷의 송신 시간 정보, 즉 타임 스탬프의 차가 상기 FEC 구성 정보가 포함하는 FEC 소스 또는 복구 패킷 블록 송신 시간 주기 내에 존재할 수 있도록 스케쥴링(scheduling)하여 각 MMT 패킷의 타임 스탬프를 설정한다.
상기 MMT FEC 유닛(330)은 상기 MMT 어플리케이션 유닛(310)으로부터 입력된 FEC 구성 정보를 기반으로 주어진 소스 심벌 블록 생성 방식에 따라 입력된 각각의 소스 패킷 블록으로부터 소스 심벌 블록을 생성한다. 이 때, 본 발명의 일 실시예에 따른 소스 심벌 블록 생성 방식에 대한 정보가 상기 FEC 구성 정보로서 주어지고, 상기 MMT FEC 유닛(330)은 상기 FEC 구성 정보에 소스 심벌 블록 생성 방식에 대한 정보가 포함되어 있으면, 상기 FEC 구성 정보에 포함되어 있는 소스 심볼 생성 방식에 따라 소스 심벌 블록을 생성한다. 상기 소스 심벌 블록을 생성한 MMT FEC 유닛(330)은 상기 생성한 소스 심볼 블록을 상기 FEC 부호 유닛(340)으로 전달한다.
상기 FEC 부호 유닛(340)는 상기 MMT FEC 유닛(330)에서 전달받은 소스 심벌 블록으로부터 복구 심벌 블록을 생성하여 상기 MMT FEC 유닛(330)으로 전달한다.
상기 MMT FEC 유닛(330)은 상기 소스 심벌 블록과 상기 복구 심벌 블록에 대한 FEC 페이로드 식별자를 생성하고, 상기 FEC 부호 유닛(340)으로부터 수신된 복구 심벌들을 상기 MMTP 유닛(320)으로 전달한다.
상기 MMTP 유닛(320)은 입력된 복구 심벌들과 FEC 페이로드 식별자를 이용하여 소스 패킷에는 소스 FEC 페이로드 식별자를 부가하여 FEC 소스 패킷을 생성하고, 또한 복구 심벌에는 복구 FEC 페이로드 식별자를 부가하고, 또한 MMT 페이로드 헤더와 MMT 패킷 헤더를 부가하여 FEC 복구 패킷을 생성한다. 그리고 나서, 상기 MMTP 유닛(320)은 상기 생성한 FEC 소스 패킷 및 FEC 복구 패킷을 상기 트랜스포트 계층 유닛(350)을 통해 상기 IP 유닛(360)으로 전달한다. 여기서, 트랜스포트 계층은 일 예로 사용자 데이터 그램 프로토콜(User Datagram Protocol: UDP, 이하 'UDP'라 칭하기로 한다) 계층 등이 될 수 있다. 여기서, FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 패킷을 위한 FEC 페이로드 식별자 또는 FEC 복구 패킷을 위한 FEC 페이로드 식별자는 상기 FEC 소스 또는 복구 패킷 블록이 포함하는, 적어도 하나의 FEC 소스 또는 복구 패킷 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷의 전송 시간 정보, 일 예로 'T0'를 포함한다. 이와는 달리, 상기 전송 시간 정보 T0는 FEC 부호화 동작이 수행되기 상기 'T0'를 포함하는 MMT 패킷 헤더에 대해 FEC 부호화 동작을 수행하고, 상기 FEC 부호화 동작 이후 생성된 FEC 복구 패킷을 위한 MMT 패킷 헤더에 상기 T0를 포함시켜 송신될 수도 있다.
상기 MMT 어플리케이션 유닛(310)에 의해 생성된 FEC 구성 정보가 포함되는 위한 FEC 메시지는 상기 MMTP 유닛(320)에 의해 MMT 페이로드 헤더와 MMT 패킷 헤더가 부가되어 전송된다.
한편, 도 3에 별도로 도시하지는 않았지만, 본 발명의 일 실시예에서 제안하는 가상 수신기 버퍼링 모델(Hypothetical Receiver Buffering Model: HRBM, 이하 'HRBM'이라 치하기로 한다) 메시지(최대 버퍼 사이즈에 관련된 정보, 일 예로 Maximum Buffer size와, 신호 송신 장치와 신호 수신 장치간의 지연에 관련된 정보, 일 예로 Fixed End-to-end Delay 등과 같은 정보를 포함)도 상기 MMT 어플리케이션 유닛(310)에 의해 생성될 수 있다. 상기 MMT 어플리케이션 유닛(310)은 상기 생성된 HRBM 메시지에 MMT 페이로드 헤더와 MMT 패킷 헤더가 부가하여 전달한다.
한편, 상기 Fixed End-to-end Delay는 패킷 전송시 네트워크 상황을 고려하여 패킷이 신호 수신 장치에 수신될 때까지의 최대 지연 시간을 나타내는 것으로, FEC 소스 또는 복구 패킷 블록의 전송 시간 주기를 포함할 수도 있고 그렇지 않을 수도 있다. 상기 Fixed End-to-end Delay가 FEC 소스 또는 복구 패킷 블록의 전송 시간 주기를 포함하는 경우 신호 수신 장치는 상기 Fixed End-to-end Delay에 상응하게, 즉, 패킷의 전송 시간 Ts + Fixed End-to-end Delay에 상응하게 FEC 복호 후 패킷을 상기 신호 수신 장치가 포함하는 MMT 어플리케이션 유닛(도 3에 별도로 도시하지 않음)에게 제공할 수 있다. 이와는 달리, 상기 Fixed End-to-end Delay가 FEC 소스 또는 복구 패킷 블록의 전송 시간 주기를 포함하지 않는 경우, 상기 신호 수신 장치는 상기 FEC 메시지의 FEC 소스 또는 복구 패킷 전송 시간 주기 정보와 상기 Fixed End-to-End delay가 나타내는 시간에 상응하게, 즉, 패킷의 전송 시간 Ts + Fixed End-to-end Delay + FEC 소스 또는 복구 패킷 블록 전송 시간 주기에 상응하게 FEC 복호 후의 패킷을 상기 신호 수신 장치가 포함하는 MMT 어플리케이션 유닛에게 제공할 수 있다. 또한, 상기 FEC 소스 또는 복구 패킷 블록 전송 시간 주기는 모든 FEC 소스 또는 복구 패킷 블록들이 상기 설정된 FEC 소스 또는 복구 패킷 블록 전송 시간 주기 내에 송신되어야 한다는 것을 의미한다.
한편, 도 3에서는 설명의 편의을 위해서 소스 패킷 블록 단위로 해서 FEC 소스 패킷이 생성되고 FEC 복구 패킷이 생성 및 송신됨을 설명하였지만, 실제 네트워크 환경에서는 MMT 프로토콜 유닛(320)이 생성한 소스 패킷은 MMT FEC 유닛(330)에 입력되는 동시에 소스 FEC 페이로드 식별자를 부여하여 FEC 소스 패킷으로 생성된 후, 바로 전송되고, 상기 MMT FEC 유닛(330)은 상기 소스 패킷을 MMT FEC 유닛(330) 자신의 포함하고 있는 내부 메모리에 저장하고 있다가 소스 패킷 블록을 위한 마지막 소스 패킷이 상기 MMT FEC 유닛(330)에 입력되는 시점에 상기 소스 패킷 블록으로부터 소스 심벌 블록을 생성한 후 상기 FEC 부호 유닛(340)으로 전달할 수 있다. 그러면, 상기 FEC 부호 유닛(340)은 상기 MMT FEC 유닛(330)으로부터 전달받은 소스 심볼 블록을 기반으로 패리티 심벌 블록을 생성하고, 상기 생성된 패리티 심벌 블록을 FEC 페이로드 식별자와 함께 상기 MMTP 유닛(320)으로 전달하고, 상기 MMTP 유닛(320)이 상기 MMT FEC 유닛(340)으로부터 전달받은 패리티 심볼 블록을 기반으로 FEC 복구 패킷들을 생성하여 전달하는 것이 바람직하다.
도 3에서는 상기 AL-FEC 아키텍처가 상기 MMT 어플리케이션 유닛(310)과, MMTP 유닛(320)과, MMT FEC 유닛(330)과, FEC 코드 유닛(340)과, 트랜스포트 계층 처리 유닛(350)과, IP 처리 유닛(360)과 같이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 AL-FEC 아키텍처는 상기 MMT 어플리케이션 유닛(310)과, MMTP 유닛(320)과, MMT FEC 유닛(330)과, FEC 코드 유닛(340)과, 트랜스포트 계층 처리 유닛(350)과, IP 처리 유닛(360) 중 적어도 2개가 1개의 유닛으로 통합되는 형태로도 구현될 수 있음은 물론이다.
도 3에서는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 AL-FEC 아키텍처에 대해서 설명하였으며, 다음으로 도 4를 참조하여 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 사용되는 2단계(two-stage) FEC 부호화 구조에 대해서 설명하기로 한다.
도 4는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 사용되는 2단계 FEC 부호화 구조를 개략적으로 도시한 도면이다.
도 4를 설명하기에 앞서, MMT FEC 방식은 FEC 소스 플로우에서 각 MMT 에셋에 대한 적합한 보호 레벨을 위해 계층화된 혹은 비-계층화된 미디어 데이터에 대한 MMTP 패킷들의 멀티-레벨 구성을 제공한다. 일 예로, 상기 멀티-레벨 구성은 2단계 FEC 부호화 구조와 계층-인식 FEC(Layer-Aware FEC: LA-FEC, 이하 'LA-FEC'라 칭하기로 한다) 부호화 구조 등을 포함한다.
특히, MMT 방식에서는 상대적으로 높은 신뢰도를 요구하는 MMTP 패킷들을 하나 이상의 FEC 부호를 사용하여 보호하기 위한 2단계 FEC 부호화 구조를 제안하고 있다. 상기 2단계 FEC 부호화 구조는 미리 결정된 개수의 MMTP 패킷들을 포함하는 소스 패킷을 보호하기 위한 AL-FCE에 대한 FEC 부호화 구조를 나타낸다.
도 4에서, i번째(ith) P1는 i번째소스 심볼 블록에 대한 복구 심볼을 나타내며, P2는 소스 심볼 블록에 대한 복구 심볼 블록을 나타낸다. 여기서, i=1, 2, …, M이다.
소스 패킷 블록은 다수의 FEC 부호화 구조들, 즉 경우 0에 해당하는 FEC 부호화 구조와, 경우 1에 해당하는 FEC 부호화 구조와, 경우 2에 해당하는 부호화 구조 중 하나에 따라 인코딩될 것이다. 여기서, 상기 경우 0에 해당하는 FEC 부호화 구조와, 경우 1에 해당하는 FEC 부호화 구조와, 경우 2에 해당하는 부호화 구조 각각에 대해서 설명하면 다음과 같다.
(1) 경우 0에 해당하는 FEC 부호화 구조(Case 0)
상기 경우 0에 해당하는 FEC 부호화 구조는 FEC 부호화가 적용되지 않는 것을 나타낸다.
(2) 경우 1에 해당하는 FEC 부호화 구조(Case 1)
상기 경우 1에 해당하는 FEC 부호화 구조는 1단계 FEC 부호화 구조를 나타낸다.
(3) 경우 2에 해당하는 부호화 구조(Case 2)
상기 경우 2에 해당하는 부호화 구조는 2단계 FEC 부호화 구조를 나타낸다.
2단계 FEC 부호화 구조에 대해서, 1개의 소스 패킷 블록은 M개의 소스 패킷 블록들로 분할된다. 여기서, 상기 1개의 소스 패킷 블록이 분할되어 생성된 M개의 소스 패킷 블록들 각각은 소스 패킷 부블록이라고 칭해질 수 있다. 또한, M은 1보다 크다(M>1). 상기 분할된 i번째 소스 패킷 블록, 즉 i번째 소스 패킷 부블록은 소스 심볼 블록 생성(Source Symbol Block Generation: SSBG, 이하 'SSBG'라 칭하기로 한다) 모드들 중 하나에 상응하게 i번째 소스 심볼 블록으로 변환된다. 상기 SSBG 모드들에 대해서는 하기에서 구체적으로 설명할 것이므로 여기서는 그 상세한 설명을 생략하기로 한다.
그리고 나서, 상기 i번째 소스 심볼 블록은 FEC 1 부호에 의해 부호화된다. 여기서, i = 1, 2, …, M이다. 그리고 나서, M개의 소스 심볼 블록들은 FEC 2 부호에 의해서 단일 소스 블록 블록으로 연접된다.
한편, M개의 복구 심볼들은 각각 FEC 부호 1에 의해 M개의 소스 심볼 블록들로부터 생성되고, 1개의 복구 심볼 블록은 FEC 2 부호에 의해 상기 연접된 소스 심볼 블록으로부터 생성된다.
상기 경우 0에 해당하는 FEC 부호화 구조에 대해서는, FE1 및 FE2 부호화는 스킵될 것이다. 즉, 상기 경우 0에 해당하는 FEC 부호화 구조에 대해서는, 복구 심볼들이 생성되지 않는다.
상기 경우 1에 해당하는 FEC 부호화 구조에 대해서는, M이 '1'로 설정될 것이고, FEC 1 부호화 혹은 FEC 2 부호화가 스킵될 것이다.
그러면, 상기에서 설명한 바와 같은 2단계 FEC 부호화 구조에 대해서 다시 구체적으로 설명하면 다음과 같다.
먼저, 도 4의 2단계 FEC 부호화 구조에 따르면 MMT FEC 유닛 은 미리 설정된 개수의 소스 패킷들을 포함하는 소스 패킷 블록들을 M(M은 1이상의 정수임)개의 제1 소스 패킷 부블록(1 ~ Mth Source Packet Block)들로 분할하고, 각각의 제1 소스 패킷 부블록들로부터 제 1 소스 심벌 부블록(1 ~ Mth Source Symbol Block)들을 생성하여 각각의 제1 소스 심벌 부블록에 대해 제1 FEC 부호화 동작을 수행하여 제1 복구 심볼 블록(Repair Symbol Block)들을 포함하는 제1 부호화 심볼(Encoding Symbol)들을 생성한다. 여기서, 상기 제1 FEC 부호화 동작은 상기 FEC 부호 1을 기반으로 하는 부호화 동작을 나타낸다.
그 후, 상기 MMT FEC 유닛은 M개의 제1 소스 심벌 부블록들을 제2 소스 심볼 블록으로 생성하여 제2 FEC 부호화 동작에 의해 생성되는 제2 복구 심볼 블록을 포함하는 제2 부호화 심볼 블록을 생성한다. 여기서, 상기 제2 FEC 부호화 동작은 상기 FEC 부호 2를 기반으로 하는 부호화 동작을 나타낸다. 상기의 제 1 FEC 부호화 동작과 제 2 FEC 부호화 동작은 동일한 FEC 부호를 사용하거나, 또는 서로 다른 FEC 부호를 사용할 수 있다. 여기서, 본 발명의 일 실시예에서 사용될 수 있는 FEC 부호는 리드 솔로몬(Reed Solomon: RS, 이하 'RS'라 칭하기로 한다) 부호, 저밀도 패리티 검사(Low Density Parity Check: LDPC, 이하 'LDPC'라 칭하기로 한다) 부호, 터보 부호(Turbo Code), 랩터 부호(Raptor Code), 배타적 논리합(XOR: eXclusive OR, 이하 'XOR'이라 칭하기로 한다) 부호 등과 같은 현재의 알려진 부호들 및 향후 개발될 코드들 중 하나가 될 수 있으며, 어느 한 특정 부호로 제한되지는 않음은 물론이다.
또한, 도 4에서 i번째 P1은 i번째 소스 심벌 블록을 위한 복구 심벌 블록이고, P2는 소스 심벌 블록을 위한 복구 심벌 블록이며, i=1, 2, …, M이다.
도 4에서는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 사용되는 2단계 FEC 부호화 구조에 대해서 설명하였으며, 다음으로 도 5를 참조하여 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 사용되는 LA-FEC 부호화 구조에 대해서 설명하기로 한다.
도 5는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 사용되는 LA-FEC 부호화 구조를 개략적으로 도시한 도면이다.
도 5를 설명하기에 앞서, 계층 구조를 가지는, 즉 계층화된 미디어 데이터를 효율적으로 보호하기 위해 LA-FEC 부호화 구조가 사용될 수 있다. 여기서, 상기 계층화된 미디어 데이터는 일 예로 스케일러블 비디오 부호화(SVC: Scalable Video Coding, 이하 'SVC'라 칭하기로 한다) 방식 또는 멀티뷰 비디오 부호화(MVC: Multiview Video Coding, 이하 'MVC'라 칭하기로 한다) 방식을 사용하여 부호화된 콘텐츠 등이 될 수 있다. 즉, 상기 LA-FEC 부호화 구조는 어떤 FEC 부호로도 적용될 수 있고, 계층화된 미디어 데이터에 특정되는 FEC 부호화 구조를 나타낸다.
상기 LA-FEC 부호화 구조는 FEC 구성에 대한 미디어의 계층들간의 의존성을 활용하고, 각 계층에 연관되는 몇몇 복구 플로우들의 생성에 그 특징이 있다. 상기 각 계층에서, 상기 복구 플로우들 각각은 상기 복구 플로우들 각각의 해당하는 계층의 데이터와 모든 계층들의 데이터를 보호하며, 상기 각 계층은 만약에 존재한다면 의존적이다. 이하, 설명의 편의상, 상기 각 계층을 '상보 계층(complementary layer)라고 칭하기로 한다.
먼저, 다른 계층들로부터의 MMTP 패킷들은 독립적으로 소스 심볼 블록들로 그룹화된다. 상기 LA-FEC 부호화 구조가 사용될 경우, 복구 플로우의 FEC 부호화를 위해 생성되는 소스 심볼 블록은 해당 계층의 소스 심볼 블록과, 만약에 존재한다면, 상기 해당 계층에 대한 모든 상보 계층들로부터의 소스 심볼 블록들을 결합할 것이다. 상기 다른 계층들로부터의 소스 심볼 블록들의 결합은 상기 미디어로부터의 의존적 하이어라키(hierarchy)를 따라 수행될 것이다. 즉, 상기 다른 계층들로부터의 소스 심볼 블록들의 결합은 상기 해당 계층의 상보 계층의 소스 심볼 블록 다음의 각 소스 심볼 블록으로 수행될 것이다.
도 5에는 LA-FEC 부호화 구조를 위해 2개의 계층들과 계층화된 미디어 데이터에 대한 소스 심볼 블록 생성의 예가 도시되어 있는 것이다. 도 5의 LA-FEC 부호화 구조에는 기저 계층(base layer)과 향상된 계층(enhancement layer)이 표현되어 있으며, 상기 향상된 계층은 계층화된 미디어 스트림의 기저 계층에 의존적이다.
즉, 도 5의 LA-FEC 부호화 구조에는 미디어가 2개의 계층들을 포함할 경우, LA-FEC 부호화 방식을 적용하기 위한 소스 블록 구성이 도시되어 있다. 도 5에서 기저 계층의 기저 표현(BR: Base Representation, 이하 'BR'이라 칭하기로 한다)은 미디어 코덱에서 독립적으로 복호 가능한 데이터를 나타내며, 향상된 계층의 향상된 표현(ER: Enhancement Representation, 이하 'ER'이라 칭하기로 한다)은 BR에 종속되는 데이터를 나타낸다. 도 5에서는 ER1을 위한 패리티를 생성할 때 BR을 함께 사용하는 점에 유의하여야 한다.
도 5에서는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 사용되는 LA-FEC 부호화 구조에 대해서 설명하였으며, 다음으로 도 6을 참조하여 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 MMT 패킷 스트림을 사용하여 소스 패킷 블록들 및 소스 심벌 블록들을 생성하는 과정에 대해서 설명하기로 한다.
도 6은 본 발명의 일 실시 예에 따르는 FEC 방식을 지원하는 MMT 시스템에서 MMT 패킷 스트림을 사용하여 소스 패킷 블록들 및 소스 심벌 블록들을 생성하는 과정을 개략적으로 도시한 도면이다.
도 6을 참조하면, 에셋은 다수의 MPU들을 포함하고, 각각의 MPU는 패킷화되어 MMT 패킷들로 생성된다.
상기 MPU 각각을 MMT 패킷들로 패킷화할 경우, 각각의 MMT 패킷이 포함하는 헤더는 해당 MMT 패킷에 대한 전송 시간 정보, 즉 타임 스탬프(Timestamp, 이하 'Timestamp'라 칭하기로 한다)를 포함한다. 상기 MMT 패킷들은 각각이 미리 설정된 개수의 MMT 패킷들을 포함하는 소스 패킷 블록들로 분할되고, 상기 각각의 소스 패킷 블록은 동일한 길이(T)를 가지는 소스 심벌들을 포함하는 소스 심벌 블록으로 변환된다. 여기서, 소스 패킷 블록으로부터 소스 심벌 블록으로 변환될 경우 소스 패킷의 길이가 T보다 작으면 상기 소스 패킷에 패딩 데이터(padding data)를 삽입하여 길이 T를 가지는 소스 심볼 블록을 생성한다. 상기 소스 패킷 블록이 포함하는 소스 패킷들 중 마지막 소스 패킷까지 상기에서 설명한 바와 동일한 방식으로 소스 심볼 블록으로 생성될 수 있다.
도 6에서는 본 발명의 일 실시 예에 따르는 FEC 방식을 지원하는 MMT 시스템에서 MMT 패킷 스트림을 사용하여 소스 패킷 블록들 및 소스 심벌 블록들을 생성하는 과정에 대해서 설명하였으며, 다음으로 도 7을 참조하여 본 발명의 일 실시 예에 따르는 FEC 방식을 지원하는 MMT 시스템에서 소스 심벌 블록을 사용하여 복구 심벌 블록을 생성하는 과정에 대해서 설명하기로 한다.
도 7은 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 소스 심벌 블록을 사용하여 복구 심벌 블록을 생성하는 과정을 개략적으로 도시한 도면이다.
도 7을 참조하면, 부호화 심볼 블록은 소스 심볼 블록과, 상기 소스 심볼 블록으로부터 생성되는 복구 심볼 블록을 포함한다. 여기서, 상기 소스 심볼 블록은 미리 설정되어 있는 SSBG 모드에 따라 소스 패킷 블록으로부터 생성된다. 또한, 상기 복구 심볼 블록은 FEC 부호화 방식에 의해 관련된 소스 심볼 블록으로부터 생성된다. 여기서, 부호화 심볼 포맷이 도 7에 도시되어 있는 것이다.
즉, 도 7에는 소스 심벌 블록으로 FEC 부호를 사용하여 복구 심벌 블록이 생성되는 과정이 도시되어 있다. 도 7에서는, K개의 소스 심벌들, 즉 소스 심볼 #0과, 소스 심볼 #1과, … , 소스 심볼 #K-1을 포함하는 소스 심벌 블록은 FEC 부호화기에 입력되고, 상기 FEC 부호화기는 상기 입력된 소스 심벌 블록을 기반으로 P개의 복구 심벌들, 즉 복구 심볼 #0과, 복구 심볼 #1과, … , 복구 심볼 #P-1을 포함하는 복구 심벌 블록을 생성한 후, 상기 생성된 복구 심볼 블록을 출력한다. 여기서, 상기 소스 심볼 #0과, 소스 심볼 #1과, … , 소스 심볼 #K-1 및 복구 심볼 #0과, 복구 심볼 #1과, … , 복구 심볼 #P-1 각각은 T 바이트들의 길이를 가진다.
도 7에서는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 소스 심벌 블록을 사용하여 복구 심벌 블록을 생성하는 과정에 대해서 설명하였으며, 다음으로 도 8을 참조하여 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 FEC 소스 또는 복구 패킷 블록에 포함되는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷 패킷에 대한 Timestamp를 설정하는 과정에 대해서 설명하기로 한다.
도 8은 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 FEC 소스 또는 복구 패킷 블록에 포함되는 FEC 소스 또는 복구 패킷 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷에 대한 Timestamp를 설정하는 과정을 개략적으로 도시한 도면이다.
도 8을 참조하면, AL-FEC 프로세서(도 8에 별도로 도시하지 않음)는 도 6에서 설명한 바와 같이 생성된 20개의 소스 패킷들을 포함하는 소스 패킷 블록을 도 4에서 설명한 바와 같이 2단계 FEC 부호화 구조를 적용하기 위해 각각 10개의 소스 패킷들을 포함하는 소스 패킷 부블록들로 분할한다. 그리고 나서, 상기 AL-FEC 프로세서는 상기 생성된 2개의 소스 패킷 부블록에 대해서 2 단계 FEC 부호화 구조를 적용하여 상기 2개의 소스 패킷 부블록들 각각에 대해 FEC 1 부호에 의한 3개의 복구 심벌들을 생성하고, 상기 20개의 소스 패킷들을 포함하는 소스 패킷 블록에 대해 FEC 2 부호에 의한 3개의 복구 심벌들을 생성한다. 상기 AL-FEC 프로세서는 상기 소스 패킷 부블록들과, 복구 심볼들에 FEC 페이로드 식별자를 부가하여 FEC 소스 또는 복구 패킷 블록을 생성한다.
상기 소소 패킷들 각각이 포함하는 헤더는 소스 패킷 생성시 해당 패킷에 대한 Timestamp를 포함하고 있고, 복구 패킷이 포함하는 헤더 또한 해당 패킷에 대한 Timestamp를 포함한다.
여기서, 상기 FEC 페이로드 식별자는 각 패킷이 포함되는 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷에 대한 Timestamp를 포함하는데, 상기에서 설명한 바와 같이 2단계 FEC 부호화 구조가 적용되는 경우 소스 패킷 부블록을 위한 소스 FEC 페이로드 식별자는 상기 소스 패킷 부블록을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷에 대한 Timestamp와 상기 소스 패킷 부블록이 포함되는 상기 소스 패킷 블록을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷에 대한 Timestamp를 포함하고, 복구 FEC 페이로드 식별자는 해당 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷에 대한 Timestamp를 포함한다.
또한, 도 8에 별도로 도시하지는 않지만, 1 단계 FEC 부호화 구조가 적용되는 경우 소스 FEC 페이로드 식별자에는 해당 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷에 대한 Timestamp 하나만 포함되고, 도 5에서 설명한 바와 같은 LA-FEC 부호화 구조가 적용되는 경우에도 소스 FEC 페이로드 식별자는 기저 계층과 향상된 계층들을 모두 포함하는 FEC 소스 또는 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷에 대한 Timestamp 하나만 포함된다.
이를 보다 구체적으로 도 8을 참조하여 설명하면, AL-FEC 프로세서는 20개의 MMT 패킷들 중 처음 10개의 MMT 패킷들이 포함하는 헤더들에 0, 1, 2, … 8, 9의 형태로 Timestamp를 포함시키고, 3개의 FEC 복구 패킷이 생성될 것을 고려하여 다음 10개의 MMT 패킷들이 포함하는 헤더들에는 13, 14, 15, …, 21, 22의 형태로 Timestamp를 포함시켜 MMT 패킷을 생성한다.
그리고 나서, FEC 1 부호에 의해 총 6개의 FEC 복구 패킷이 생성되고, 첫 번째 3개의 FEC 복구 패킷들이 포함하는 MMT 헤더들에는 10, 11, 12의 형태로 Timestamp가 포함되고, 그 다음 3개의 FEC 복구 패킷들이 포함하는 MMT 헤더들에는 23, 24, 25의 형태로 Timestamp가 포함된다.
또한, FEC 2 부호에 의해 생성된 3개의 FEC 복구 패킷들이 포함하는 MMT 헤더들에는 26, 27, 28의 형태로 Timestamp가 포함되어 패킷화된 후, 각각의 패킷에 FEC 페이로드 식별자가 부가된다. 즉, FEC 소스 패킷에는 소스 FEC 페이로드 식별자가 부가되고, FEC 복구 패킷에는 복구 FEC 페이로드 식별자가 부가된다. 첫 번째 소스 패킷 부블록 (1st Source Packet Block)을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 각 FEC 소스 또는 복구 패킷에 대해서는 상기 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷의 Timestamp인 "0"이 설정되고, 두 번째 소스 패킷 부블록 (2nd Source Packet Block)을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 각각에 대해서는 상기 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷의 Timestamp인 "13"이 설정된다.
또한, 소스 패킷 블록을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 각각에 대해서는 상기 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷의 Timestamp인 "0"이 설정된다.
상기 Timestamp는 일 예로, 네트워크 타임 프로토콜(Network Time Protocol: NTP, 이하 "NTP"라 칭하기로 한다) Timestamp로서 일 예로 4 bytes로 구성될 수 있고, 이 경우 상위 2bytes는 second를 나타내고 하위 2bytes는 fraction을 나타낸다. 상기 NTP Timestamp에 대한 구체적인 내용은 "short-format" in clause 6 of IETF RFC5905, NTP version 4에서 정의하고 있는 내용을 기반으로 할 수 있으며, 따라서 여기서는 그 상세한 설명을 생략하기로 한다.
또한, 도 8에 별도로 도시하지는 않았지만, 상기 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷에 대한 Timpstamp를 송신하는 방법의 다른 예는, 각 FEC 소스 또는 복구 패킷에 대한 MMT 패킷 헤더에 Timestamp를 설정하여 송신하는 방식이다.
이와는 달리, 상기 Timestamp는 FEC 페이로드 식별자와는 다른 별도의 필드(field)를 통해 전송될 수도 있음은 물론이다.
상기에서 설명한 바와 같은 다양한 Timestamp 송신 방식들 중 어느 하나에서라도, FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷에 대한 Timestamp는 해당 FEC 소스 또는 복구 패킷 블록이 포함하는 패킷들 중 적어도 하나의 FEC 소스 또는 복구 패킷을 통해 전송되는 것이 바람직하다.
한편, 통상적으로 네트워크상에서는 패킷 손실이 발생할 수 있으므로 해당 FEC 소스 또는 복구 패킷 블록이 포함하는 모든 FEC 소스 또는 복구 패킷들에서 해당 FEC 소스 또는 복구 패킷에 대한 Timestamp가 전송된다면, 신호 수신 장치는 처음 수신한 FEC 소스 또는 복구 패킷으로부터 해당 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송된 FEC 소스 또는 복구 패킷에 대한 Timestamp를 알 수 있다.
또한, 신호 수신 장치는 FEC 복호를 위해 적어도 하나의 FEC 복구 패킷을 수신해야 한다. 따라서, FEC 복구 패킷들에서 해당 FEC 소스 또는 복구 패킷에 대한 Timestamp가 송신된다면, 상기 신호 수신 장치는 처음 수신한 FEC 복구 패킷으로부터 해당 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신된 FEC 소스 또는 복구 패킷에 대한 Timestamp를 알 수 있다.
한편, 도 4에서 설명한 바와 같은 2단계 FEC 부호화 구조의 경우, Timestamp가 해당 FEC 소스 또는 복구 패킷 블록이 포함하는 모든 FEC 소스 또는 복구 패킷들 각각에 포함될 경우, FEC 소스 패킷은 FEC 소스 패킷 부블록을 위한 FEC 소스 또는 복구 패킷 블록과 FEC 소스 패킷 블록을 위한 FEC 소스 또는 복구 패킷 블록들 각각에 대해 그 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷에 대한 Timestamp를 포함해야 하므로 2개의 Timestamp 필드들이 필요로 하게 된다.
이 경우, FEC 소스 패킷에 포함되는 Timestamp를 위한 필드를 하나로 사용하기 위해서는 교번적으로 Timestamp를 설정하는 것이 가능하다. 즉, FEC 소스 패킷들 중 홀수 번째로 전송되는 FEC 소스 패킷에는 FEC 소스 패킷 부블록을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timpstamp 정보를 포함시키고, 짝수 번째로 송신되는 FEC 소스 또는 복구 패킷에는 FEC 소스 패킷 블록을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷의 Timpstamp 정보를 포함시키는 것이 가능하다.
또한, 이 경우 상기 Timestamp 필드가 FEC 소스 패킷 블록을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timestamp를 나타내는지, 아니면 FEC 소스 패킷 부블록을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷에 대한 Timestamp인지를 지시하는 정보를 추가적으로 포함하는 것이 바람직하다. 예를 들어, Timestamp 필드가 4 bytes로 구현되는 경우, 최상위 1bit를 Timestamp 정보 지시자로 설정하여 상기 1bit의 값이 "0"이면 FEC 소스 패킷 블록을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷에 대한 Timestamp가 송신됨을 나타내고, 상기 1bit의 값이 "1"이면 FEC 소스 패킷 부블록을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷에 대한 Timestamp가 송신됨을 나타낸다. 이 경우, 상기 Timestamp 필드가 포함하는 나머지 31 bits는 해당 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷에 대한 Timestamp 중에서 최상위 1bit를 제외한 나머지 31 bits로 설정된다.
도 8에서는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 FEC 소스 또는 복구 패킷 블록에 포함되는 FEC 소스 또는 복구 패킷들 중 첫 번째로 전송되는 FEC 소스 또는 복구 패킷에 대한 Timestamp를 설정하는 과정에 대해서 설명하였으며, 다음으로 도 9를 참조하여 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 2단계 FEC 구조가 사용될 경우의 Timestamp를 설정하는 과정에 대해서 설명하기로 한다.
도 9는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 2단계 FEC 구조가 사용될 경우의 Timestamp를 설정하는 과정을 개략적으로 도시한 도면이다.
도 9를 참조하면, 10개의 소스 패킷들 각각이 포함하는 MMTP 헤더에는 Timestamp가 0, 1, 2, 3, 4, 8, 9, 10, 11, 12로 설정된다. 이는 AL-FEC 프로세서(도 10에 별도로 도시하지 않음)가 10개의 소스 패킷들을 포함하는 소스 패킷 블록을 각각 5개의 소스 패킷들로 분할하고, 첫 번째 소스 패킷 블록에 대해 3개의 복구 패킷을 생성할 것을 가정하여 미리 5,6,7에 대한 Timestamp를 복구 패킷을 위해 예약한 것을 의미한다. 상기 AL-FEC 프로세서는 MMT 송신 엔터티가 입력받거나 또는 사전에 정해진 FEC 구성 관련 정보를 기반으로 소스 패킷 블록을 어떻게 구성하고 또는 몇 개의 복구 패킷을 생성할 것인지 결정하고, 또한 각 패킷의 송신 순서와 송신 시간에 따라 상기에서 설명한 바와 같이 스케쥴링할 수 있다.
한편, 상기 AL-FEC 프로세서는 상기 10개의 소스 패킷들을 포함하는 소스 패킷 블록을 그룹화하여 각각 5개의 소스 패킷들을 포함하는 2개의 소스 패킷 부블록(1st source packet block)들로 생성하고, 상기 2개의 소스 패킷 블록들 각각에 대해 FEC 1 부호화에 의해 3개의 FEC1 복구 패킷들을 생성하고, 전체 소스 패킷 블록들에 대해 FEC 2 부호화에 의해 3개의 FEC2 복구 패킷들을 생성한다.
상기 AL-FEC 프로세서는 첫 번째 FEC 소스 패킷 블록이 포함하는 홀수 번째 FEC 소스 패킷의 소스 FEC 페이로드 식별자에는 TS 지시자(TS indicator, 이하 'TS indicator'라 칭하기로 한다) = 0과 첫 번째 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 MMTP 패킷 헤더에서 송신되는 Timestamp의 최상위 비트(Most Significant Bit: MSB, 이하 'MSB'라 칭하기로한다) 1bit를 제외한 31bits 정보인 FP_TS(=0)를 포함시킨다. 상기 TS indicator 및 FP_TS에 대해서는 하기에서 구체적으로 설명할 것이므로, 여기서는 그 상세한 설명을 생략하기로 한다.
또한, 상기 AL-FEC 프로세서는 짝수 번째 FEC 소스 패킷의 소스 FEC 페이로드 식별자에는 TS indicator=1과 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 MMTP 패킷 헤더에서 송신되는 Timestamp의 MSB 1bit를 제외한 31bits 정보인 FP_TS(=0)를 포함시킨다.
또한, 상기 AL-FEC 프로세서는 첫 번째 FEC 소스 패킷 블록을 위한 3개의 FEC1 복구 패킷들에는 TS_indicator=0와 첫 번째 FEC 소스 또는 복구 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷이 포함하는 MMTP 패킷 헤더에서 송신되는 Timestamp의 MSB 1bit를 제외한 31bits 정보인 FP_TS(=0)가 포함시킨다.
또한, 상기 AL-FEC 프로세서는 두 번째 FEC 소스 패킷이 포함하는 홀수 번째 FEC 소스 패킷의 소스 FEC 페이로드 ID에는 TS indicator=0과 첫 번째 FEC 소스 또는 복구 블록이 포함하는 FEC 소스 또는 복구 블록들 중 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 MMTP 패킷 헤더에서 송신되는 Timestamp의 MSB 1bit를 제외 31bits 정보인 FP_TS(=8)를 포함시킨다.
또한, 상기 AL-FEC 프로세서는 짝수 번째 FEC 소스 패킷의 소스 FEC 페이로드 식별자에는 TS indicator=1과 FEC 소스 또는 복구 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 MMTP 패킷 헤더에서 송신되는 Timestamp의 MSB 1bit를 제외한 31bits 정보인 FP_TS(=0)가 포함시킨다.
또한, 상기 AL-FEC 프로세서는 두 번째 FEC 소스 패킷 블록을 위한 3개의 FEC1 복구 패킷들에는 TS_indicator=0와 두 번째 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 MMTP 패킷 헤더에서 송신되는 Timestamp의 MSB 1bit를 제외한 31bits 정보인 FP_TS(=8)을 포함시킨다.
마지막으로, 상기 AL-FEC 프로세서는 FEC 소스 패킷 블록을 위한 3개의 FEC2 복구 패킷들에는 TS_indicator=1와 FEC 소스 또는 복구 블록이 포함하는 FEC 소스 또는 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 MMTP 패킷 헤더에서 송신되는 Timestamp의 MSB 1bit를 제외한 31bits 정보인 FP_TS(=0)를 포함시킨다.
도 9에서는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 2단계 FEC 구조가 사용될 경우의 Timestamp를 설정하는 과정에 대해서 설명하였으며, 다음으로 도 10을 참조하여 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 사용되는 FEC 소스 패킷의 구조에 대해서 설명하기로 한다.
도 10은 본 발명의 일 실시예에 따른 FEC 방식을 지원하는 MMT 시스템에서 사용되는 FEC 소스 패킷의 구조를 개략적으로 도시한 도면이다.
도 10을 참조하면, 상기 FEC 소스 패킷은 D2 헤더 필드(1010)와, D1 헤더 필드(1011)와, D1 페이로드 필드(1012) 및 FEC 인-밴드 신호들(FEC in-band signals, 이하 'FEC in-band signals'라 칭하기로 한다) 필드(1013)를 포함한다.
상기 D2 헤더 필드(1010)는 MMT 패킷 헤더를 포함하고, 상기 D1 헤더 필드(1011)는 MMT 페이로드 헤더를 포함하고, 상기 D1 페이로드 필드(1012)는 페이로드 데이터를 포함하고, 상기 FEC in-band signals 필드(1013)는 소스 FEC 페이로드 식별자를 포함한다. 여기서, 상기 D2 헤더 필드(1010)에는 해당 MMT 패킷이 송신되는 송신 시간 정보인 Timestamp가 포함된다.
도 10에서는 본 발명의 일 실시 예에 따른 FEC 방식을 사용하는 MMT 시스템에서 사용되는 FEC 소스 패킷의 구조에 대해서 설명하였으며, 다음으로 도 11을 참조하여 본 발명의 일 실시 예에 따른 FEC 방식을 사용하는 MMT 시스템에서 사용되는 FEC 복구 패킷의 구조에 대해서 설명하기로 한다.
도 11은 본 발명의 일 실시 예에 따른 FEC 방식을 사용하는 MMT 시스템에서 사용되는 FEC 복구 패킷의 구조를 개략적으로 도시한 도면이다.
도 11을 참조하면, 상기 FEC 복구 패킷은 D2 헤더 필드(1120)와, D1 헤더 필드(1121)와, FEC in-band signals 필드(1123) 및 D1 페이로드(복구 페이로드(들)) 필드(D1 Payload(repair payload(s))) 필드, 이하 'D1 Payload(repair payload(s)) 필드'라 칭하기로 한다)(1122)를 포함한다.
상기 D2 헤더 필드(1120)는 MMT 패킷 헤더를 포함하고, D1 헤더 필드(1121)는 MMT 페이로드 헤더를 포함하고, 상기 FEC in-band signals 필드(1123)는 복구 FEC 페이로드 식별자를 포함하고, D1 Payload(repair payload(s)) 필드(1122)는 하나 또는 그 이상의 복구 심벌들을 포함한다. 상기 D2 헤더 필드(1120)는 해당 MMT 패킷이 송신되는 송신 시간 정보인 Timestamp를 포함한다.
한편, MMT 패킷은 상기에서 설명한 바와 같이 FEC 부호화 과정 등과 같은 일련의 과정을 통해 도 11에서 설명한 바와 같은 구조를 가지게 된다.
한편, 도 10에서는 프로토콜 패킷, 일 예로 MMT 패킷 구조의 일관성을 유지하고 FEC 패킷 내에서 소스 패킷들이 연속적으로 위치하도록 하기 위하여 FEC in-band signals 필드(1013)의 위치를 FEC 소스 패킷의 마지막 부분으로 설정한 경우를 가정하였다. 상기 FEC 복구 패킷은 하나 혹은 그 이상의 복구 심벌들을 포함한다. 상기 복구 심벌들은 소스 패킷을 포함하는 소스 심벌 블록의 복원에 사용된다.
또한, 도 11에서는 신호 수신 장치가 FEC 관련 정보를 보다 빠르고 쉽게 획득하게 하기 위하여 상기 FEC in-band signals 필드(1123)의 위치를 송신 프로토콜 헤더와 복구 심벌의 사이에 위치하도록 설정한 경우를 가정하였다.
그러면 여기서 [표 1] 및 [표 2]를 참조하여 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timestamp가 FEC 페이로드 식별자에 포함되는 경우에 대해서 설명하기로 한다.
먼저, [표 1]은 소스 FEC 페이로드 식별자를 나타내고, [표 2]는 복구 FEC 페이로드 식별자를 나타낸다.
SS_ID
FFSRP_TS
SS_Start
RSB_length
RS_ID
SSB_length
FFSRP_TS
한편, 상기 [표 1]과 [표 2]에서 각 필드의 의미에 대해서 설명하면 다음과 같다.
(1) SS_ID 필드
상기 SS_ID 필드는 소스 심볼 식별자(Source Symbol ID: SS_ID, 이하 'SS_ID'라 칭하기로 한다)를 포함하며, 상기 SS_ID는 FEC 소스 패킷에 포함된 소스 심벌들을 식별하기 위한 시퀀스 번호이다.
상기 SS_ID는 매 심볼 엘리먼트(Symbol element)마다 미리 설정된 값부터 미리 설정된 값, 일 예로 1씩 증가한다. 이는 패딩 심볼 엘리먼트(padding symbol element)에도 동일하게 적용되는데 FEC 소스 패킷에 포함된 심볼 엘리먼트들 중 첫 번째 심볼 엘리먼트의 SS_ID가 설정된다. 현재 패킷에 대한 SS_ID와 다음 패킷의 SS_ID간의 차이는 상기 현재 패킷에 포함되어 있는 심볼 엘리먼트들의 개수와 동일하다. 하지만, 예외적으로 현재 FEC 소스 패킷 블록이 포함하는 FEC 소스 패킷들 중 마지막 FEC 소스 패킷의 SS_ID와 다음 FEC 소스 패킷 블록이 포함하는 FEC 소스 패킷들 중 첫 번째 FEC 소스 패킷의 SS_ID 차이는 현재 FEC 소스 패킷 블록의 소스 심벌 블록에 패딩 심볼 엘리먼트가 존재하는 경우 상기 현재 FEC 소스 패킷에 포함되어 있는 심볼 엘리먼트들의 개수와 상기 패딩 심볼 엘리먼트들의 개수를 더한 값이다. 상기 SS_ID의 초기 값은 랜덤하게 생성된 임의의 값으로 설정될 수 있으며, 일 예로 4 바이트 혹은 그 이상의 정해진 길이의 바이트로 표현할 수 있는 정수의 최대값에 도달한 이후에는 다시 0으로 되돌아간다.
상기 SS_ID에 대해서 다시 한번 설명하면 다음과 같다.
상기 SS_ID는 다수개의 비트들, 일 예로 32비트로 구현될 수 있으며, FEC 소스 패킷 내의 소스 심볼들을 식별하는 시퀀스 번호(sequence number)를 나타낸다. 상기 SS_ID는 임의의 값으로부터 시작되고, 상기 임의의 값으로부터 미리 설정된 값으로 증가되며, 상기 SS_ID의 값이 미리 설정되어 있는 최대 값에 도달할 경우 다시 초기값, 일 예로 '0'로 되돌아간다.
한편, 적용된 SSBG 모드를 나타내는 파라미터인 ssbg_mode의 값이 00이거나 01일 경우(ssbg_mode == 00 혹은 ssbg_mode == 01), 상기 SS_ID는 FEC 소스 패킷 마다 일 예로 1씩 증가된다. 여기서, ssbg_mode == 00이라는 것은 적용된 SSBG 모드가 'ssbg_mode0'이라는 것을 나타내며, ssbg_mode == 01이라는 것은 적용된 SSBG 모드가 'ssbg_mode1'이라 것을 나타낸다. 상기 ssbg_mode0과 ssbg_mode1에 대해서는 하기에서 설명될 것이므로 여기서는 그 상세한 설명을 생략하기로 한다.
한편, 상기 ssbg_mode의 값이 10일 경우(ssbg_mode == 10), 상기 SS_ID는 심볼 엘리먼트 마다 일 예로 1씩 증가되고, 상기 SS_ID는 상기 FEC 소스 패킷에 포함되어 있는 첫 번째 심볼 엘리먼트의 SS_ID로 설정된다. 여기서, 상기 심볼 엘리먼트는 존재할 경우 상기 소스 심볼 블록의 마지막 소스 심볼에 포함되어 있는 패딩 심볼 엘리먼트들을 포함한다. 여기서, ssbg_mode == 10이라는 것은 적용된 SSBG 모드가 'ssbg_mode2'라는 것을 나타내며, 상기 ssbg_mode2에 대해서는 하기에서 설명될 것이므로 여기서는 그 상세한 설명을 생략하기로 한다.
그러면 여기서 상기 ssbg_mode0과, ssbg_mode1 및 ssbg_mode2에 대해서 설명하면 다음과 같다.
첫 번째로, 상기 ssbg_mode0에 대해서 설명하기로 한다.
상기 ssbg_mode0에서는, 상기 소스 심볼 블록은 동일한 사이즈를 가지는 모든 MMTP 패킷들인 상기 소스 패킷 블록과 정확하게 동일하다. 이는 상기 소스 패킷 블록에 포함되어 있는 MMTP 패킷들의 개수가 상기 소스 심볼 블록에 포함되어 있는 소스 심볼들의 개수와 동일하고, 각 MMTP 패킷 #i는 각 소스 심볼 #i (i=0, 1, …, K-1)와 정확하게 동일하다는 것을 나타낸다. 상기 ssbg_mode0에서는, 1단계 FEC 부호화 구조에 대해서(M=1), 소스 심볼 블록이 패딩 바이트들이 없이 소스 패킷으로부터 생성된다. 또한, 상기 ssbg_mode0에서는, 2단계 FEC 부호화 구조 및 LA-FEC 부호화 구조에 대해서 (M>1), i번째 소스 심볼 블록은 패딩 바이트들없이 소스 패킷 블록(i=0,1,...,M-1)에 포함되어 있는 i번째 소스 패킷 블록, 즉 i번째 소스 패킷 부블록으로부터 생성된다.
두 번째로, 상기 ssbg_mode1에 대해서 설명하기로 한다.
상기 ssbg_mode1에서는, 소스 심볼 블록이 각 MMTP 패킷 #i는 패딩 바이트들을 가져서 그 연관되는 패리티 심볼들의 길이로서 사용되는 T와 동일한 사이즈를 가지도록 생성된다는 것 이외에는 ssbg_mode0과 동일한 방식으로 소스 패킷 블록으로부터 생성된다. 이는 상기 소스 패킷 블록에 포함되어 있는 MMTP 패킷들의 개수가 그 연관되는 소스 심볼 블록에 포함되어 있는 소스 심볼들의 개수와 동일하고, 각 소스 심볼 #i가 해당하는 MMTP 패킷 #i의 가능한 패딩 바이트들(모두 00h)을 부가함으로써 생성된다는 것을 의미한다. 상기 ssbg_mode1에서는, 1단계 FEC 부호화 구조에 대해서(M=1), 소스 심볼 블록이 패딩 블록들(모두 00h)을 가지는 소스 패킷 블록으로부터 생성된다. 또한, 상기 ssbg_mode1에서는, 2단계 FEC 부호화 구조 및 LA-FEC 부호화 구조에서(M>1), i번째 소스 블록은 패딩 블록들(모두 00h)을 가지는 소스 패킷 블록(i=0,1,...,M-1)에 포함되어 있는 i번째 소스 패킷 블록으로부터 생성된다.
세 번째로, 상기 ssbg_mode2에 대해서 설명하기로 한다.
상기 ssbg_mode2에서는, 상기 소스 심볼 블록은 1단계 FEC 부호화 구조에 대해서, 소스 심볼 블록이 패딩 블록들(모두 00h)을 가지는 소스 패킷 블록으로부터 생성된다. 단일 소스 심볼 블록은 패딩 바이트들(모두 00h)을 가지는 단일 소스 패킷 블록으로부터 생성된 K SS 개의 소스 심볼들로 구성되고, 각 소스 심볼은 동일한 N (>=1)개의 심볼 엘리먼트들로 구성된다. 이는 상기 단일 소스 심볼 블록이 N*K SS 개의 심볼 엘리먼트들로 구성된다는 것을 의미한다. 상기 소스 패킷 블록의 MMTP 패킷 #0은 패딩 바이트들을 가지는 상기 소스 심볼 블록에 포함되어 있는 처음 s 0 개의 심볼 엘리먼트들부터 최대 상기 소스 심볼 블록에 포함되어 있는 처음 s 0 개의 심볼 엘리먼트들의 마지막 심볼 엘리먼트의 경계까지 위치된다. 상기 소스 패킷 블록의 MMTP 패킷 #1은 상기 MMTP 패킷 #0에서와 동일한 방식으로 상기 소스 심볼 블록에 포함되어 있는 다음 s 1 개의 심볼 엘리먼트들에 위치된다. 이런 방식으로, 상기 소스 패킷 블록의 MMTP 패킷 #K SP- 1는 상기 MMTP 패킷 #0에서와 동일한 방식으로 상기 소스 심볼 블록에 포함되어 있는 다음 s Ksp-1 개의 심볼 엘리먼트들에 위치된다. 여기서, K SS T- sum { s i T', i = 1, …, K SP }가 0이 아닐 경우, P개의 패딩 바이트들(모두 00h)이 상기 단일 소스 심볼 블록에 포함되어 있는 마지막 심볼 엘리먼트들에 위치된다.
(2) FFSRP_TS 필드
상기 FFSRP_TS 필드는 첫 번째 FEC 소스 또는 복구 패킷 Timestamp (First FEC Source or Repair Packet Timestamp)를 포함한다. 상기 FFSRP_TS 필드는 FEC 소스 패킷을 위한 필드이며, 해당 패킷을 포함하는 해당 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timestamp를 포함한다.
2 단계 FEC 부호화 구조가 적용되는 경우(도 4에서 M이 1보다 큰 경우), 상기 FFSRP_TS 필드는 FEC 소스 패킷 부블록 (ith FEC source packet block, i = 1, 2, …, M)을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timestamp와 FEC 소스 패킷 블록을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timestamp를 모두 포함한다.
한편, 상기에서 설명한 바와는 달리, 상기 2 단계 FEC 부호화 구조가 적용되는 경우(도 3에서 M이 1보다 큰 경우), FEC 소스 패킷 부블록 (ith FEC source packet block, i = 1, 2, …, M)을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timestamp는 상기 FEC 소스 패킷 블록들 중 짝수 번째(또는 홀수 번째)로 송신되는 FEC 소스 패킷을 위한 소스 FEC 페이로드 식별자에 포함되고, FEC 소스 패킷 블록을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timestamp는 상기 FEC 소스 패킷 블록들 중 홀수 번째(또는 짝수 번째)로 송신되는 FEC 소스 패킷을 위한 소스 FEC 페이로드 식별자에 포함시키는 형태로 Timestamp를 교번적으로 송신되면 하나의 상기 FFSRP_TS 필드를 사용하여 2 단계 FEC 부호화 구조를 처리할 수 있다. 이 경우 상기 FFSRP_TS 필드는 TS indicator와 Timestamp 필드를 포함한다. 여기서, TS indicator는 상기 Timestamp 필드에 포함되어 있는 Timestamp가 FEC 소스 패킷 부블록을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timestamp인지 아니면 FEC 소스 패킷 블록을 위한 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timestamp인지를 나타낸다.
한편, LA-FEC 부호화 구조가 적용되는 경우는 상기 FFSRP_TS 필드는 향상된 계층을 포함하는 해당 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timestamp 하나만 포함된다.
(3) SS_Start 필드
FEC 소스 패킷에서 상기 SS_Start 필드는 선택적으로 사용될 수 있다. 상기 FEC 소스 패킷에 상기 SS_Start 필드가 포함될 경우 상기 SS_Start 필드는 상기 FEC 소스 패킷이 포함되어 있는 소스 패킷 블록의 첫 번째 소스 패킷의 SS_ID와 동일한 값을 가지며 이는 상기 소스 패킷이 속한 소스 심벌 블록의 경계 정보에 해당한다.
또한, FEC 패리티 패킷에서 상기 SS_Start 필드는 해당 FEC 패리티 패킷을 포함하는 FEC 패리티 패킷 블록과 관계된 FEC 소스 패킷 블록의 첫 번째 FEC 소스 패킷에 설정되어 있는 SS_ID와 동일한 값을 가진다. 상기 SS_Start 필드를 기반으로 신호 수신 장치는 수신된 FEC 패킷으로부터 FEC 소스 패킷 블록의 경계, 즉 시작 위치를 알 수 있다.
(4) RSB_length 필드
상기 RSB_length 필드는 FEC 패리티 패킷에 포함된 패리티 심벌(들)이 포함되는 패리티 블록이 포함하는 패리티 심벌들의 개수를 나타낸다. 즉, K개의 소스 심벌들을 포함하는 소스 심벌 블록으로부터 FEC 부호화 방식을 사용하여 P개의 복구 심벌들이 생성되는 경우 상기 RSB_length 필드의 값은 P로 설정된다.
(5) RS_ID 필드
상기 RS_ID 필드는 FEC 패리티 패킷에 포함된 패리티 심벌들을 식별하기 위한 일련 번호인 RS_ID를 포함한다. 상기 RS_ID는 각각의 패리티 심벌 블록 내에서 일 예로 0부터 시작되어 1씩 증가하는 값이며, 하나의 FEC 패리티 패킷이 복수의 패리티 심벌들을 포함할 경우에는 상기 복수개의 패리티 심벌들의 일련 번호 중 최소값을 나타낸다.
(6) SSB_length 필드
상기 SSB_length 필드에는 FEC 패리티 패킷에 포함되어 있는 패리티 심벌(들)이 보호하는 소스 심벌 (부)블록에 포함된 심볼 엘리먼트들의 개수가 설정된다. 상기 심볼 엘리먼트들의 개수는 소스 심벌 블록의 마지막 소스 심벌에 포함된 패딩 심볼 엘리먼트(padding symbol element)들의 개수는 포함하지 않는다. 즉, 소스 심벌 블록이 포함하는 소스 심벌들의 개수가 K라 하고, 상기 소스 심벌 블록이 포함하는 소스 심볼들 중 마지막 소스 심벌에 패딩된 패딩 심볼 엘리먼트들의 개수를 p라 하면 상기 SSB_length 필드의 값은 (K*m -p)로 설정된다.
(7) FFSRP_TS 필드
상기 FFSRP_TS 필드는 첫 번째 FEC 소스 또는 복구 Timestamp (First FEC Source or Repair Packet Timestamp)를 포함한다. 상기 FFSRP_TS 필드는 FEC 복구 패킷을 위한 필드로서, 상기 FEC 복구 패킷을 포함하는 해당 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timestamp를 포함한다.
다음으로 [표 3]은 본 발명의 실시 예에 따른, FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timestamp가 별도의 필드로 구성되어 도 10 및 도 11에서 설명한 바와 같은 FEC in-band signal 필드에 포함되는 경우를 나타낸다. 이 경우, 도 10 및 도 11에서 설명한 바와 같은 FEC in-band signal 필드는 FEC 페이로드 식별자를 위한 필드와 FEC Timestamp를 위한 필드를 포함하는데, 이 경우 소스 FEC 페이로드 식별자는 상기 [표 1]에서 설명한 바와 같은 SS_ID 필드를 포함하고, 복구 FEC 페이로드 식별자는 상기 [표 2]에서 설명한 바와 같은 FFSRP_TS 필드를 제외한 형태로 생성된다.
FFSRP_TS
[표 1]과 [표 2]의 경우와 비교했을 때 표 3에 나타낸 바와 같은 FFSRP_TS 필드가 FEC 페이로드 식별자에 포함되는 것이 아니라, 별도의 필드 형태로 해서 FEC in-band signal 필드 내에 포함된다는 것 외에는 동일하다. 즉, 상기 FFSRP_TS 필드가 FEC 소스 패킷에 적용되는 경우는 상기 [표 1]에서 설명한 바와 같은 FFSRP_TS 필드와 동일하고, 상기 FFSRP_TS 필드가 FEC 복구 패킷에 적용되는 경우는 상기 [표 2]에서 설명한 바와 같은 FFSRP_TS 필드와 동일하다.
다음으로, [표 4]는 본 발명의 일 실시 예에 따른 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timestamp가 MMT 패킷 헤더에 포함되는 경우를 나타낸다.
TS
FFSRP_TS
상기 표 4에서 TS 필드는 Timestamp를 포함하는 필드이며, 상기 TS 필드는 해당 패킷이 송신되는 Timestamp를 포함한다. 여기서, 신호 수신 장치는 패킷 수신시 상기 TS 필드에 기재되어 있는 Timestamp를 바탕으로 수신된 패킷이 송신된 시간을 알 수 있다.
또한, 표 4에서 FFSRP_TS 필드는 MMT 패킷 헤더에 포함된다는 것을 제외하고는 상기 [표 1] 및 상기 [표 2]에서 설명한 FFSRP_TS 필드와 동일하고, 따라서 여기서는 그 상세한 설명을 생략하기로 한다.
또한, 하기 [표 5]는 본 발명의 일 실시 예에 의한 FEC 메시지의 포맷을 나타내며, 상기 FEC 메시지는 FEC 소스 또는 복구 패킷 블록의 송신 시간 주기 정보인 FEC 보호 윈도우 시간(FEC protection window time) 필드를 포함한다.
FEC protection window time
상기 표 5에서 FEC protection window time 필드는 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 송신 시간과 상기 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 마지막으로 송신되는 FEC 소스 또는 복구 패킷의 송신 시간 사이의 최대(maximum) 값을 나타낸다. 신호 송신 장치는 상기 FEC protection window time 필드에 설정된 시간 안에 FEC 소스 또는 복구 패킷 블록이 포함하는 모든 FEC 소스 또는 복구 패킷들을 송신해야 한다는 것을 의미한다.
그러므로, FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 마지막으로 전송되는 FEC 소스 또는 복구 패킷의 Timestamp를 'T1'이라 가정하고, 상기 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timestamp를 'T0'라 가정했을 경우, T1 - T0 < FEC protection window time의 조건을 만족해야만 한다.
2단계 FEC 부호화 구조가 적용되거나 또는 LA-FEC 부호화 구조가 적용되는 경우 FEC protection window time은 각 FEC 부호화 단계를 위한 FEC protection window time 또는 각 계층을 위한 FEC protection window time으로 구분하여 설정될 필요가 있다. 예를 들어, 2단계 FEC 부호화의 경우 FEC 소스 패킷 부블록을 위한 FEC 소스 및 복구 패킷 블록의 FEC protection window time과 FEC 소스 패킷 블록을 위한 FEC 소스 또는 복구 패킷 블록의 FEC protection window time이 각각 필요할 수 있다.
하기 [표 6]는 본 발명의 일 실시 예에 의한 HRBM 메시지의 포맷을 나타내며, Maximum buffer size 필드와 Fixed End-to-End delay 필드를 포함한다.
Maximum Buffer Size
Fixed End-to-End Delay
상기 표 6에서, Maximum Buffer Size 필드는 신호 수신 장치를 위한 MMT 에셋들을 위해 최대로 요구되는 버퍼 사이즈(Buffer size)를 포함한다. 상기 버퍼 사이즈는 (Maximum delay - Minimum delay)*Maximum Bitrate와 같이 계산될 수 있다. 즉, 상기 Maximum Buffer Size 필드는 멀티미디어 데이터에 대해 요구되는 최대 버퍼 사이즈에 관련된 정보를 포함한다.
상기 표 6에서, Fixed End-to-End Delay 필드는 신호 송신 장치와 신호 수신 장치 사이의 지연 값을 포함하는데, 상기 Fixed End-to-End Delay 필드는 maximum transmission delay + FEC buffering time와 같은 값으로 설정될 수 있다. 여기서, FEC buffering time은 FEC protection window time을 나타낸다. 상기 [표 5]에서 설명한 바와 같이 FEC protection window time이 부호화 방식에 따라 별도로 요구되는 경우 상기 HRBM 메시지는 Fixed End-to-End Delay 정보 대신 Maximum transmission delay 정보만을 포함하고, FEC 메시지의 부호화 방식의 단계별 FEC protection window time과 결합되어 부호화 방식의 단계별 Fixed End-to-End Delay 정보가 신호 수신 장치로 전송될 수 있다.
즉, Fixed End-to-End Delay 필드는 상기 신호 송신 장치와 신호 수신 장치간의 지연에 관련된 정보를 포함한다. 여기서, 상기 신호 송신 장치와 신호 수신 장치간의 지연에 관련된 정보는 상기 신호 송신 장치와 상기 신호 수신 장치간의 최대 송신 지연에 관련된 정보와 최대 시구간 정보를 기반으로 결정된다. 또한, 상기 최대 시구간 정보는 FEC 소스 혹은 복구 패킷 블록이 다수의 FEC 소스 혹은 복구 패킷들을 포함할 경우, 상기 다수의 FEC 소스 혹은 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 송신 시점과 상기 다수의 FEC 소스 혹은 복구 패킷들 중 마지막으로 송신되는 FEC 소스 혹은 복구 패킷의 송신 시점간의 최대 시구간에 관련된 정보이다.
또한, 상기 FEC protection window time는 FEC 소스 혹은 복구 패킷 블록이 다수의 FEC 소스 혹은 복구 패킷들을 포함할 경우, 상기 다수의 FEC 소스 혹은 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 송신 시점과 상기 다수의 FEC 소스 혹은 복구 패킷들 중 마지막으로 송신되는 FEC 소스 혹은 복구 패킷의 송신 시점간의 최대 시구간에 관련된 정보를 나타낸다. 여기서, 상기 다수의 FEC 소스 혹은 복구 패킷들은 상기 최대 시구간 내에 수신 장치로 송신된다.
다음으로 도 12를 참조하여 본 발명의 일 실시예에 따른 FEC 방식을 지원하는 MMT 시스템에서 FEC 소스 또는 복구 패킷 블록의 송/수신 주기 및 FEC 복호 디-지터링(de-jittering, 이하 "de-jittering"라 칭하기로 한다) 과정에 대해서 설명하기로 한다.
도 12는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 FEC 소스 또는 복구 패킷 블록의 송/수신 주기 및 FEC 복호 de-jittering 과정을 개략적으로 도시한 도면이다.
도 12를 참조하면, MMTP는 송신 순서를 기반으로 FEC Protection Window Time (Tw) 이내에 FEC 소스 또는 복구 패킷 블록에 포함되어 있는 첫 번째 FEC 소스 또는 복구 패킷부터 마지막 FEC 소스 또는 복구 패킷을 송신한다. 도 12에서는 각각 N개의 패킷(K개의 FEC 소스 패킷들과 N-K개의 FEC 복구 패킷들)을 포함하는, 2개의 FEC 소스 또는 복구 패킷 블록들이 FEC 메시지에 설정된 FEC protection window time (Tw)를 사용하여 송신된다. 송신된 N개의 패킷들은 네트워크상 지연으로 인해 Minimum Transmission Delay(Dmin)후에 Maximum Transmission Delay(Dmax)후에 신호 수신 장치에 도착된다.
그러므로, 송신 시점의 FEC protection window와 수신 시점의 FEC protection window는 네트워크상의 지연으로 인해 달라질 수 있다. 즉, Ts1에서 Te1사이에 송신된 FEC 소스 또는 복구 패킷 블록 #1은 네트워크 지연으로 인하여 Ts1+Dmin에서 Te1+Dmax사이의 수신 window를 가질 수 있다.
하지만, 네트워크의 상황으로 인해 패킷이 송신 순서와 동일한 순서로 도착하지 않을 수 있고 또한 패킷 손실이 발생할 수 있기 때문에 실제로 신호 수신 장치는 첫 번째로 수신한 패킷을 해당 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신된 FEC 소스 또는 복구 패킷인지 여부를 알 수가 없어 Ts1+Dmin에서 Te1+Dmax 사이의 수신 window를 설정할 수 없을 수도 있다.
하지만, 신호 수신 장치는 본 발명의 일 실시예에서 제안하는 FEC 메시지의 FEC Protection Window Time (Tw)와 HRBM 메시지의 Maximum Transmission Delay (Dmax), 그리고 각 FEC 소스 또는 복구 패킷에 송신되는 해당 FEC 소스 또는 복구 패킷 블록이 포함되는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신되는 FEC 소스 또는 복구 패킷의 Timestamp(즉, FFSRP_TS = T0 = Ts1)를 사용하여 첫 번째로 수신된 FEC 소스 또는 복구 패킷의 상기 FFSRP_TS 정보를 기반으로 하는 상기 첫 번째로 수신한 FEC 소스 또는 복구 패킷의 수신 시간, 즉 Tr에서부터 T0 + Tw + Dmax = Te1 + Dmax에 해당하는 수신 Window를 설정할 수 있다.
이로 인하여 신호 수신 장치는 Tr에서부터 Te1 + Dmax 시간까지 버퍼링(buffering) 동작을 수행하여 FEC 복호 동작을 수행할 수 있다. 물론 Te1 + Dmax 이전에 상기 신호 수신 장치가 충분한 FEC 소스 또는 복구 패킷들을 수신한 경우 Te1 + Dmax이전에 FEC 복호를 수행할 수 있다. 상기 Te1 + Dmax는 HRBM에 의한 FEC 복호기가 복호 동작 수행을 위해 기다릴 수 있는 최대 시간을 의미한다. 상기 FEC 복호기는 FEC 디코딩에 따라 복원된 MMT 패킷들과 함께 해당 FEC 소스 패킷 블록에 포함된 K개의 MMT 패킷들을 De-jittering buffer에 입력하고, 상기 De-jittering buffer는 입력된 MMT 패킷들을 Ts + △ (여기서, Ts는 패킷의 Timestamp를 나타내고, △ = Dmax + Tw이다)에 상응하게 출력한다.
도 12에서는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 FEC 소스 또는 복구 패킷 블록의 송/수신 주기 및 FEC 복호 de-jittering 과정에 대해서 설명하였으며, 다음으로 도 13을 참조하여 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템의 HRBM의 내부 구조에 대해서 설명하기로 한다.
도 13은 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템의 HRBM 내부 구조를 개략적으로 도시한 도면이다.
도 13을 참조하면, 상기 HRBM은 FEC 디코딩 버퍼(FEC Decoding Buffer, 이하 'FEC Decoding Buffer'라 칭하기로 한다)(1311)와, De-jittering 버퍼(De-jittering buffer, 이하 'De-jittering buffer'라 칭하기로 한다)(1313)와, MMTP 디캡슐레이션 버퍼(MMTP De-capsulation Buffer, 이하 'MMTP De-capsulation Buffer'라 칭하기로 한다)(1315)를 포함한다. 그러면, 여기서 상기 FEC Decoding Buffer(1311)와, De-jittering buffer(1313)와, MMTP De-capsulation Buffer(1315) 각각에 대해서 설명하면 다음과 같다.
(1) FEC Decoding Buffer(1311)
상기 FEC Decoding Buffer(1311)는 첫 번째로 수신된 FEC 소스 또는 복구 패킷에 대한 FFRSP_TS 정보와 FEC 메시지의 FEC Protection Window Time Tw, HRBM 메시지의 Maximum Transmission Delay Dmax, Maximum Buffer Size를 바탕으로 상기 첫 번째로 수신된 FEC 소스 또는 복구 패킷의 수신 시점 Tr에서부터 시작하여 FFRSP_TS + Tw + Dmax = FFRSP + △까지 수신 윈도우를 설정하고, 상기 설정한 수신 윈도우 내에 도착하는 해당 FEC 소스 또는 복구 패킷 블록에 포함되어 있는 FEC 소스 또는 복구 패킷들을 버퍼링한다.
상기 수신 윈도우 내에 충분한 FEC 소스 또는 복구 패킷들을 수신한 신호 수신 장치는 FFRSP + △시간 전에 또는 상기 수신 윈도우의 FFRSP + △에 FEC 디코딩 동작을 수행한 후 복원된 FEC 소스 패킷 블록의 모든 패킷들(MMT 패킷들)을 상기 De-jittering buffer(1313)에 입력한다. 즉, 상기 복원된 FEC 소스 패킷이 포함하는 모든 패킷들은 시점 T + FEC protection window time (Tw)에 상기 De-jittering Buffer(1313)에 입력되는데 상기 T는 본 발명의 일 실시예에서 제안하는 FFRSP_TS + Dmax보다 작거나 같고 상기 신호 수신 장치가 FEC 디코딩할 수 있는 충분한 FEC 소스 또는 복구 패킷들을 수신한 시점보다 크거나 같다.
(2) De-jittering Buffer(1313)
상기 De-jittering Buffer(1313)는 상기 FEC Decoding Buffer(1311)로부터 입력된 MMT 패킷들 각각을 Ts + △ 시점에 (여기서, Ts는 MMT 패킷의 헤더에 저장되어 있는 패킷의 전송 시간 즉, Timestamp)에 상기 MMTP De-capsulation Buffer(1315)로 입력한다.
(3) MMTP De-capsulation Buffer(1315)
상기 MMTP De-capsulation Buffer(1315)는 상기 De-jittering Buffer(1313)로부터 입력된 MMT 패킷들에 대해서 De-capsulation 동작을 수행하여 복원된 미디어 프래그먼트 유닛(Media Fragment Unit: MFU, 이하 'MFU'라 칭하기로 한다)/미디어 프로세싱 유닛(Media Processing Unit: MPU, 이하 'MPU'라 칭하기로 한다)를 생성하고, 상기 생성한 MFU/MPU를 출력한다. 여기서, 상기 MFU는 MPU의 프래그먼트(fragment)를 나타낸다. 상기 De-capsulation 동작은 MMT 패킷 헤더 및 MMT 페이로드 헤더 제거 동작과, MMT 페이로드 제거 동작과, 디프래그멘티이션(De-fragmentation) 동작 및 디어그리게이션(De-aggregation) 동작을 포함한다.
도 13에서는 상기 HRBM이 상기 FEC Decoding Buffer(1311)와, De-jittering Buffer(1313)와, MMTP De-capsulation Buffer(1315)와 같이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 HRBM은 상기 FEC Decoding Buffer(1311)와, De-jittering Buffer(1313)와, MMTP De-capsulation Buffer(1315) 중 적어도 2개가 1개의 유닛으로 통합되는 형태로도 구현될 수 있음은 물론이다.
도 13에서는 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템의 HRBM 내부 구조에 대해서 설명하였으며, 다음으로 도 14를 참조하여 본 발명의 일 실시 예에 따른 FEC 방식을 지원하는 MMT 시스템에서 FFRST_TS가 패킷에 포함되어 송신될 경우 신호 수신 장치에서의 FEC Protection Window(Case 1)와 FFRST_TS가 패킷에 포함되어 송신되지 않을 경우 신호 수신 장치에서의 FEC Protection Window(Case 2)에 대해서 설명하기로 한다.
도 14는 본 발명의 일 실시예에 따른 FEC 방식을 지원하는 MMT 시스템에서 FFRST_TS가 패킷에 포함되어 송신될 경우 신호 수신 장치에서의 FEC Protection Window(Case 1)과 FFRST_TS가 패킷에 포함되어 송신되지 않을 경우 신호 수신 장치에서의 FEC Protection Window(Case 2)를 개략적으로 도시한 도면이다.
도 14를 참조하면, T0 + Dmin ~ Te + Dmax와 같이 표현되는 수신 FEC 보호 윈도우(Receiving FEC Protection Window) 구간은 송신된 FEC 소스 또는 복구 패킷 블록이 Dmin, Dmax, Tw를 고려해서 수신 가능한 구간을 나타낸다.
도 14에서 Case 1을 참조하면, 신호 수신 장치는 실제 시간 Tr에서 상기 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷을 처음으로 수신한다. 본 발명의 일 실시예에 따라, 상기 수신된 FEC 소스 또는 복구 패킷내에 저장되어 있는 FFRSP_TS 정보(T0)로부터 FEC 메시지, HRBM 메시지로부터 획득한 Tw, Dmax를 감안하여 T0 + Tw + Dmax까지 신호 수신 장치의 FEC Protection Window를 설정한다.
또한, 도 14에서 Case2를 참조하면, 본 발명의 일 실시예에서 제안하는 FFRSP_TS가 송신되지 않기 때문에 상기 신호 수신 장치는 상기 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 첫 번째로 송신된 FEC 소스 또는 복구 패킷의 송신 시간 정보를 인지하고 있지 않을 뿐더러 또한 처음 수신한 FEC 소스 또는 복구 패킷이 상기 FEC 소스 또는 복구 패킷 블록이 포함하는 FEC 소스 또는 복구 패킷들 중 처음으로 송신된 FEC 소스 또는 복구 패킷인지 알 수 없다.
이로 인하여, 상기 신호 수신 장치는 상기 처음으로 수신한 FEC 소스 또는 복구 패킷의 송신 시간 정보(Ts)를 바탕으로 Tw, Tmax를 고려하여 Ts + Tw + Dmax까지 상기 신호 수신 장치의 FEC Protection Window를 설정할 수 밖에 없다.
이로 인하여 상기 신호 수신 장치는 Case2에서는 Case1 대비 Ts - T0만큼 필요없이 버퍼링하거나 또는 추가 지연이 발생할 뿐만 아니라 Ts - T0의 값은 처음 수신한 FEC 소스 또는 복구 패킷의 송신 시간 정보 Ts의 값에 따라 그 크기가 달라지므로 De-jittering buffer의 출력 시간이 FEC Decoding Buffer가 어떤 FEC 소스 또는 복구 패킷을 처음 수신하였는지에 따라 달라질 수 있다.
도 14에서는 본 발명의 일 실시예에 따른 FEC 방식을 지원하는 MMT 시스템에서 FFRST_TS가 패킷에 포함되어 송신될 경우 신호 수신 장치에서의 FEC Protection Window(Case 1)과 FFRST_TS가 패킷에 포함되어 송신되지 않을 경우의 신호 수신 장치에서의 FEC Protection Window(Case 2)에 대해서 설명하였으며, 다음으로 도 15를 참조하여 본 발명의 일 실시예에 따른 MMT 시스템에서 MMT 송신 엔터티의 내부 구조의 일 예에 대해서 설명하기로 한다.
도 15는 본 발명의 일 실시예에 따른 MMT 시스템에서 MMT 송신 엔터티의 내부 구조의 일 예를 개략적으로 도시한 도면이다.
도 15를 참조하면, MMT 송신 엔터티(1500)는 프리젠테이션 엔진 계층(presentation engine layer)(1511)과, 파일 프로세서(file processor)(1513)와, 제너릭 오브젝트 구성 계층(generic object construction layer)(1515)과, 미디어 프로세서(1517)와, MPU 구성 계층(1519)과, 시그널링 메시지 프로세서(signaling messages processor)(1521)와, 시그널링 메시지 구성 계층(1523)과, MMT 프로토콜 계층(1525)과, 전달 계층(1527)을 포함한다.
상기 프리젠테이션 엔진 계층(1511)은 멀티미디어 신(multimedia scene)을 셋업한다.
상기 파일 프로세서(1513)는 파일, 일 예로 MPU 파일을 프로세싱하며, 상기 제너릭 오브젝트 구성 계층(1515)은 완전한 MPU와 같은 제너릭 오브젝트를 구성한다.
상기 미디어 프로세서(1517)는 미디어 데이터를 프로세싱하고, 상기 MPU 구성 계층(1519)은 MPU를 구성하며, 상기 시그널링 메시지 프로세서(1521)는 MMT 수신 엔터티로 송신될 시그널링 메시지에 대한 프로세싱 동작을 수행한다. 또한, 상기 시그널링 메시지 구성 계층(1523)은 상기 시그널링 메시지 프로세서(1521)에서 프로세싱한 시그널링 메시지를 구성한다.
상기 MMTP 계층(1525)은 packet_id와 페이로드 타입(payload type) 등과 같은 다양한 파라미터들을 고려하여 스트림된 미디어(streamed media)를 생성한다. 여기서, 인캡슐레이션(encapsulation) 절차는 전달되는 페이로드의 타입을 기반으로 하며, 독립적으로 수행되므로, 도 15에는 별도로 도시하지 않았음에 유의하여야만 한다.
상기 전달 계층(1527)은 상기 MMT 프로토콜 계층(1525)에서 생성한 스트림된 미디어 데이터를 MMT 수신 계층으로 송신하기에 적합한 형태로 변환한 후 상기 MMT 수신 엔터티로 송신한다.
한편, 도 15에는 상기 MMT 송신 엔터티(1500)가 상기 프리젠테이션 엔진 계층(1511)과, 파일 프로세서(1513)와, 제너릭 오브젝트 구성 계층(1515)과, 미디어 프로세서(1517)와, MPU 구성 계층(1519)과, 시그널링 메시지 프로세서(1521)와, 시그널링 메시지 구성 계층(1523)과, MMTP 계층(1525)과, 전달 계층(1527)과 같이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 MMT 송신 엔터티(1500)는 상기 프리젠테이션 엔진 계층(1511)과, 파일 프로세서(1513)와, 제너릭 오브젝트 구성 계층(1515)과, 미디어 프로세서(1517)와, MPU 구성 계층(1519)과, 시그널링 메시지 프로세서(1521)와, 시그널링 메시지 구성 계층(1523)과, MMTP 계층(1525)과, 전달 계층(1527) 중 적어도 두 개가 1개의 유닛으로 통합된 형태로 구현 가능함은 물론이다.
도 15에서는 본 발명의 일 실시예에 따른 MMT 시스템에서 MMT 송신 엔터티의 내부 구조의 일 예에 대해서 설명하였으며, 다음으로 도 16을 참조하여 본 발명의 일 실시예에 따른 MMT 시스템에서 MMT 송신 엔터티의 내부 구조의 다른 예에 대해서 설명하기로 한다.
도 16은 본 발명의 일 실시예에 따른 MMT 시스템에서 MMT 송신 엔터티의 내부 구조의 다른 예를 개략적으로 도시한 도면이다.
도 16을 참조하면, MMT 송신 엔터티(1600)는 송신 유닛(1611)과, 제어 유닛(1613)과, 수신 유닛(1615)과, 저장 유닛(1617)을 포함한다.
먼저, 상기 제어 유닛(1613)은 상기 MMT 송신 엔터티(1600)의 전반적인 동작을 제어한다. 상기 제어 유닛(1613)은 상기 MMT 송신 엔터티(1600)가 본 발명의 일 실시예에 따른 패킷 송/수신 동작에 관련된 전반적인 동작을 수행하도록 제어한다. 여기서, 상기 패킷 송/수신 동작에 관련된 전반적인 동작에 대해서는 도 1 내지 도 14에서 설명한 바와 동일하므로, 여기서는 그 상세한 설명을 생략하기로 한다.
상기 송신 유닛(1611)은 상기 제어 유닛(1613)의 제어에 따라 MMT 수신 엔터티 등으로 메시지 등을 송신한다. 여기서, 상기 송신 유닛(1611)이 송신하는 각종 메시지 등은 도 1 내지 도 14에서 설명한 바와 동일하므로, 여기서는 그 상세한 설명을 생략하기로 한다.
또한, 상기 수신 유닛(1615)은 상기 제어 유닛(1613)의 제어에 따라 상기 MMT 수신 엔터티 등으로부터 각종 메시지 등을 수신한다. 여기서, 상기 수신 유닛(1615)이 수신하는 각종 메시지 등은 도 1 내지 도 14에서 설명한 바와 동일하므로, 여기서는 그 상세한 설명을 생략하기로 한다.
상기 저장 유닛(1617)은 상기 MMT 송신 엔터티(1600)의 동작에 필요한 프로그램(program)과 각종 데이터 등, 특히 본 발명의 일 실시예에 따른 패킷 송/수신 동작에 관련된 정보 등을 저장한다. 또한, 상기 저장 유닛(1617)은 상기 수신 유닛(1615)이 상기 MMT 수신 엔터티 등으로부터 수신한 각종 메시지 등을 저장한다.
한편, 도 16에는 상기 MMT 송신 엔터티(1600)가 상기 송신 유닛(1611)과, 제어 유닛(1613)과, 수신 유닛(1615)과, 저장 유닛(1617)과 같이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 MMT 송신 엔터티(1600)는 상기 송신 유닛(1611)과, 제어 유닛(1613)과, 수신 유닛(1615)과, 저장 유닛(1617) 중 적어도 두 개가 1개의 유닛으로 통합된 형태로 구현 가능함은 물론이다.
도 16에서는 본 발명의 일 실시예에 따른 MMT 시스템에서 MMT 송신 엔터티의 내부 구조의 다른 예에 대해서 설명하였으며, 다음으로 도 17을 참조하여 본 발명의 일 실시예에 따른 MMT 시스템에서 MMT 수신 엔터티의 내부 구조의 일 예에 대해서 설명하기로 한다.
도 17은 본 발명의 일 실시예에 따른 MMT 시스템에서 MMT 수신 엔터티의 내부 구조의 일 예를 개략적으로 도시한 도면이다.
도 17을 참조하면, MMT 수신 엔터티(1700)는 프리젠테이션 엔진 계층 (1711)과, 파일 프로세서 (1713)와, 제너릭 오브젝트 재구성 계층(1715)과, 미디어 프로세서(1717)와, MPU 재구성 계층(1719)과, 시그널링 메시지 프로세서(1721)와, 시그널링 메시지 재구성 계층(1723)과, MMTP 계층(1725)과, 전달 계층(1727)을 포함한다.
상기 MMT 수신 엔터티는 하나 혹은 그 이상의 MMT 기능 영역들(도 17에 별도로 도시하지 않음)에서 동작한다. 상기 MMT 기능 영역들은 MPU 기능 영역과, 전달 기능 영역과, 시그널링 기능 영역을 포함한다. 여기서, 상기 MPU 기능 영역과, 전달 기능 영역과, 시그널링 기능 영역 각각에 대해서 설명하면 다음과 같다.
첫 번째로, 상기 MPU 기능 영역은 미디어 컨텐트의 논리 구조와, 패키지와, MMT 엔터티에 의해 프로세싱될 데이터 유닛들의 포맷 및 그 인스턴스 생성(instantiation), 일 예로 ISO/IEC 14496-12에 규정되어 있는 ISO Base Media File Format을 가지는 인스턴스 생성을 정의한다. 상기 패키지는 상기 미디어 컨텐트를 포함하는 컴포넌트(component)들과, 상기 컴포넌트들간의 관계를 정의하여 향상된 전달을 위한 필수 정보를 제공한다. 상기 데이터 유닛들의 포맷은 저장 혹은 전달을 위한 인코딩된 미디어 데이터를 인캡슐레이션하기 위해 정의되고, 저장될 데이터와 전달될 데이터간의 간단한 변경을 감안하도록 정의된다.
두 번째로, 상기 전달 기능 영역은 어플리케이션 계층 트랜스포트 프로토콜(application layer transport protocol) 및 페이로드 포맷(payload format)을 정의한다. 상기 어플리케이션 계층 트랜스포트 프로토콜은 일반적인 어플리케이션 계층 트랜스포트 프로토콜들, 일 예로, 단일 패킷 플로우에서 멀티플렉싱 및 스트리밍의 혼합 사용의 지원 및 다운로드 전달에 비해 멀티미디어 데이터 전달의 향상된 특성들을 제공한다. 상기 페이로드 포맷은 미디어 타입들 및 인코딩 방법들에 agnostic한 인코딩된 미디어 데이터의 운송을 가능하게 하도록 정의된다.
세 번째로, 상기 시그널링 기능 영역은 미디어 데이터의 전달 및 소비를 관리하는 시그널링 메시지들의 포맷들을 정의한다. 소비 관리를 위한 시그널링 메시지들은 상기 패키지의 구조를 시그널하기 위해 사용되고, 전달 관리를 위한 시그널링 메시지들은 상기 페이로드 포맷의 구조 및 프로토콜 구성을 시그널하기 위해 사용된다.
상기 MMTP 계층(1725)은 packet_id와 페이로드 타입(payload type) 등과 같은 다양한 파라미터들을 기반으로 스트림된 미디어(streamed media)를 수신 및 디멀티플렉싱하기 위해 사용된다. 여기서, 디캡슐레이션(de-capsulation) 절차는 전달되는 페이로드의 타입을 기반으로 하며, 독립적으로 수행되므로, 도 17에는 별도로 도시하지 않았음에 유의하여야만 한다.
상기 프리젠테이션 엔진 계층(1711)은 멀티미디어 신(multimedia scene)을 셋업하고, MMTP를 사용하여 수신되는 컨텐트를 참조한다.
한편, 도 17에는 상기 MMT 수신 엔터티(1700)가 상기 프리젠테이션 엔진 계층(1711)과, 파일 프로세서(1713)와, 제너릭 오브젝트 재구성 계층(1715)과, 미디어 프로세서(1717)와, MPU 재구성 계층(1719)과, 시그널링 메시지 프로세서(1721)와, 시그널링 메시지 재구성 계층(1723)과, MMTP 계층(1725)과, 전달 계층(1727)과 같이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 MMT 수신 엔터티(1700)는 상기 프리젠테이션 엔진 계층(1711)과, 파일 프로세서(1713)와, 제너릭 오브젝트 재구성 계층(1715)과, 미디어 프로세서(1717)와, MPU 재구성 계층(1719)과, 시그널링 메시지 프로세서(1721)와, 시그널링 메시지 재구성 계층(1723)과, MMTP 계층(1725)과, 전달 계층(1727) 중 적어도 두 개가 1개의 유닛으로 통합된 형태로 구현 가능함은 물론이다.
도 17에서는 본 발명의 일 실시예에 따른 MMT 시스템에서 MMT 수신 엔터티의 내부 구조의 일 예에 대해서 설명하였으며, 다음으로 도 18을 참조하여 본 발명의 일 실시예에 따른 MMT 시스템에서 MMT 수신 엔터티의 내부 구조의 다른 예에 대해서 설명하기로 한다.
도 18은 본 발명의 일 실시예에 따른 MMT 시스템에서 MMT 수신 엔터티의 내부 구조의 다른 예를 개략적으로 도시한 도면이다.
도 18을 참조하면, MMT 수신 엔터티(1800)는 송신 유닛(1811)과, 제어 유닛(1813)과, 수신 유닛(1815)과, 저장 유닛(1817)을 포함한다.
먼저, 상기 제어 유닛(1813)은 상기 MMT 수신 엔터티(1800)의 전반적인 동작을 제어한다. 상기 제어 유닛(1813)은 상기 MMT 수신 엔터티(1800)가 본 발명의 일 실시예에 따른 패킷 송/수신 동작에 관련된 전반적인 동작을 수행하도록 제어한다. 여기서, 상기 패킷 송/수신 동작에 관련된 전반적인 동작에 대해서는 도 1 내지 도 14에서 설명한 바와 동일하므로, 여기서는 그 상세한 설명을 생략하기로 한다.
상기 송신 유닛(1811)은 상기 제어 유닛(1813)의 제어에 따라 MMT 송신 엔터티 등으로 메시지 등을 송신한다. 여기서, 상기 송신 유닛(1811)이 송신하는 각종 메시지 등은 도 1 내지 도 14에서 설명한 바와 동일하므로, 여기서는 그 상세한 설명을 생략하기로 한다.
또한, 상기 수신 유닛(1815)은 상기 제어 유닛(1813)의 제어에 따라 상기 MMT 송신 엔터티 등으로부터 각종 메시지 등을 수신한다. 여기서, 상기 수신 유닛(1815)이 수신하는 각종 메시지 등은 도 1 내지 도 14에서 설명한 바와 동일하므로, 여기서는 그 상세한 설명을 생략하기로 한다.
상기 저장 유닛(1817)은 상기 MMT 수신 엔터티(1800)의 동작에 필요한 프로그램(program)과 각종 데이터 등, 특히 본 발명의 일 실시예에 따른 패킷 송/수신 동작에 관련된 정보 등을 저장한다. 또한, 상기 저장 유닛(1817)은 상기 수신 유닛(1815)이 상기 MMT 송신 엔터티 등으로부터 수신한 각종 메시지 등을 저장한다.
한편, 도 18에는 상기 MMT 수신 엔터티(1800)가 상기 송신 유닛(1811)과, 제어 유닛(1813)과, 수신 유닛(1815)과, 저장 유닛(1817)과 같이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 MMT 수신 엔터티(1800)는 상기 송신 유닛(1811)과, 제어 유닛(1813)과, 수신 유닛(1815)과, 저장 유닛(1817) 중 적어도 두 개가 1개의 유닛으로 통합된 형태로 구현 가능함은 물론이다.
본 발명의 특정 측면들은 또한 컴퓨터 리드 가능 기록 매체(computer readable recording medium)에서 컴퓨터 리드 가능 코드(computer readable code)로서 구현될 수 있다. 컴퓨터 리드 가능 기록 매체는 컴퓨터 시스템에 의해 리드될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 상기 컴퓨터 리드 가능 기록 매체의 예들은 리드 온니 메모리(Read Only Memory: ROM, 이하 "ROM"이라 칭하기로 한다)와, 랜덤-접속 메모리(Random Access Memory: RAM, 이하 "RAM"라 칭하기로 한다)와, 컴팩트 디스크- 리드 온니 메모리(Compact Disk- Read Only Memory: CD-ROM)들과, 마그네틱 테이프(magnetic tape)들과, 플로피 디스크(floppy disk)들과, 광 데이터 저장 디바이스들, 및 캐리어 웨이브(carrier wave)들(상기 인터넷을 통한 데이터 송신과 같은)을 포함할 수 있다. 상기 컴퓨터 리드 가능 기록 매체는 또한 네트워크 연결된 컴퓨터 시스템들을 통해 분산될 수 있고, 따라서 상기 컴퓨터 리드 가능 코드는 분산 방식으로 저장 및 실행된다. 또한, 본 발명을 성취하기 위한 기능적 프로그램들, 코드, 및 코드 세그먼트(segment)들은 본 발명이 적용되는 분야에서 숙련된 프로그래머들에 의해 쉽게 해석될 수 있다.
또한 본 발명의 일 실시예에 따른 장치 및 방법은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 임의의 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 콤팩트 디스크(Compact Disk: CD), DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 본 발명의 일 실시예에 따른 방법은 제어부 및 메모리를 포함하는 컴퓨터 또는 휴대 단말에 의해 구현될 수 있고, 상기 메모리는 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다.
따라서, 본 발명은 본 명세서의 임의의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다
또한 본 발명의 일 실시예에 따른 장치는 유선 또는 무선으로 연결되는 프로그램 제공 장치로부터 상기 프로그램을 수신하여 저장할 수 있다. 상기 프로그램 제공 장치는 상기 프로그램 처리 장치가 기 설정된 컨텐츠 보호 방법을 수행하도록 하는 지시들을 포함하는 프로그램, 컨텐츠 보호 방법에 필요한 정보 등을 저장하기 위한 메모리와, 상기 그래픽 처리 장치와의 유선 또는 무선 통신을 수행하기 위한 통신부와, 상기 그래픽 처리 장치의 요청 또는 자동으로 해당 프로그램을 상기 송수신 장치로 전송하는 제어부를 포함할 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐 아니라 이 특허청구의 범위와 균등한 것들에 의해서 정해져야 한다.

Claims (24)

  1. 멀티미디어 시스템에서 송신 장치가 순방향 에러 정정(Forward Error Correction: FEC) 구성 정보를 송신하는 방법에 있어서,
    수신 장치로 FEC 소스 패킷(source packet)을 위한 소스 FEC 구성 정보를 송신하는 과정을 포함하며,
    상기 소스 FEC 구성 정보는 FEC 소스 혹은 복구 패킷 블록(FEC Source or Repair packet block)이 적어도 하나의 FEC 소스 혹은 복구 패킷(FEC Source or Repair packet)을 포함할 경우, 상기 적어도 하나의 FEC 소스 혹은 복구 패킷 중 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보를 포함함을 특징으로 하는 멀티미디어 시스템에서 송신 장치가 FEC 구성 정보를 송신하는 방법.
  2. 제1항에 있어서,
    상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프(time stamp)에 관련된 정보를 포함함을 특징으로 하는 멀티미디어 시스템에서 송신 장치가 FEC 구성 정보를 송신하는 방법.
  3. 제2항에 있어서,
    상기 송신 장치는 1단계 FEC 부호화 구조를 지원함을 특징으로 하는 멀티미디어 시스템에서 송신 장치가 FEC 구성 정보를 송신하는 방법.
  4. 제2항에 있어서,
    상기 송신 장치는 계층 인식 순방향 에러 정정(Layer Aware-Forward Error Correction: LA-FEC) 부호화 구조를 지원함을 특징으로 하는 멀티미디어 시스템에서 송신 장치가 FEC 구성 정보를 송신하는 방법.
  5. 제1항에 있어서,
    상기 송신 장치가 2단계 FEC 부호화 구조를 지원하는 경우, 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보는 FEC에서의 타임 스탬프(time stamp)에 관련된 정보를 나타내는 타임 스탬프 지시자(time stamp indicator: TS indicator)를 포함함을 특징으로 하는 멀티미디어 시스템에서 송신 장치가 FEC 구성 정보를 송신하는 방법.
  6. 제5항에 있어서,
    상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프(time stamp)에 관련된 정보를 더 포함함을 특징으로 하는 멀티미디어 시스템에서 송신 장치가 FEC 구성 정보를 송신하는 방법.
  7. 제6항에 있어서,
    상기 타임 스탬프 지시자는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프에 관련된 정보가 FEC 소스 혹은 복구 패킷 블록을 위한 것임을 지시하거나, 혹은
    상기 타임 스탬프 지시자는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프에 관련된 정보가 상기 2단계 FEC 부호화 구조의 특정 FEC 소스 혹은 복구 패킷 블록을 위한 것인지를 지시함을 특징으로 하는 멀티미디어 시스템에서 송신 장치가 FEC 구성 정보를 송신하는 방법.
  8. 제7항에 있어서,
    상기 특정 FEC 소스 혹은 복구 패킷 블록은 상기 FEC 소스 혹은 복구 패킷 블록이 M개의 FEC 소스 혹은 복구 패킷 블록들로 분할될 경우, 상기 특정 FEC 소스 혹은 복구 패킷 블록은 상기 M개의 FEC 소스 혹은 복구 패킷 블록들 중 i번째 FEC 소스 혹은 복구 패킷 블록이며,
    i=1, 2, … , M임을 특징으로 하는 멀티미디어 시스템에서 송신 장치가 FEC 구성 정보를 송신하는 방법.
  9. 제6항에 있어서,
    상기 타임 스탬프 지시자는 특정 FEC 소스 패킷 블록에 포함되어 있는 FEC 소스 패킷들 중 홀수 번째로 송신되는 FEC 소스 패킷들에 대해서는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프에 관련된 정보가 상기 특정 FEC 소스 패킷 블록을 위한 것임을 지시하거나, 혹은
    상기 타임 스탬프 지시자는 상기 특정 FEC 소스 패킷 블록에 포함되어 있는 FEC 소스 패킷들 중 짝수 번째로 송신되는 FEC 소스 패킷들에 대해서는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프에 관련된 정보가 FEC 소스 혹은 복구 패킷 블록을 위한 것임을 지시함을 특징으로 하는 멀티미디어 시스템에서 송신 장치가 FEC 구성 정보를 송신하는 방법.
  10. 제9항에 있어서,
    상기 특정 FEC 소스 혹은 복구 패킷 블록은 상기 FEC 소스 혹은 복구 패킷 블록이 M개의 FEC 소스 혹은 복구 패킷 블록들로 분할될 경우, 상기 특정 FEC 소스 혹은 복구 패킷 블록은 상기 M개의 FEC 소스 혹은 복구 패킷 블록들 중 i번째 FEC 소스 혹은 복구 패킷 블록이며,
    i=1, 2, … , M임을 특징으로 하는 멀티미디어 시스템에서 송신 장치가 FEC 구성 정보를 송신하는 방법.
  11. 제6항에 있어서,
    상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프에 관련된 정보는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프의 최상위 비트(Most Significant Bit: MSB)를 제외한 비트들을 지시함을 특징으로 하는 멀티미디어 시스템에서 송신 장치가 FEC 구성 정보를 송신하는 방법.
  12. 멀티미디어 시스템에서 수신 장치가 순방향 에러 정정(Forward Error Correction: FEC) 구성 정보를 수신하는 방법에 있어서,
    송신 장치로부터 FEC 소스 패킷(source packet)을 위한 소스 FEC 구성 정보를 수신하는 과정을 포함하며,
    상기 소스 FEC 구성 정보는 FEC 소스 혹은 복구 패킷 블록(FEC Source or Repair packet block)이 적어도 하나의 FEC 소스 혹은 복구 패킷(FEC Source or Repair packet)을 포함할 경우, 상기 적어도 하나의 FEC 소스 혹은 복구 패킷 중 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보를 포함함을 특징으로 하는 멀티미디어 시스템에서 수신 장치가 FEC 구성 정보를 수신하는 방법.
  13. 제12항에 있어서,
    상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프(time stamp)에 관련된 정보를 포함함을 특징으로 하는 멀티미디어 시스템에서 수신 장치가 FEC 구성 정보를 수신하는 방법.
  14. 제12항에 있어서,
    상기 송신 장치는 1단계 FEC 부호화 구조를 지원함을 특징으로 하는 멀티미디어 시스템에서 수신 장치가 FEC 구성 정보를 수신하는 방법.
  15. 제12항에 있어서,
    상기 송신 장치는 계층 인식 순방향 에러 정정(Layer Aware-Forward Error Correction: LA-FEC) 부호화 구조를 지원함을 특징으로 하는 멀티미디어 시스템에서 수신 장치가 FEC 구성 정보를 수신하는 방법.
  16. 제12항에 있어서,
    상기 송신 장치가 2단계 FEC 부호화 구조를 지원하는 경우, 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보는 FEC에서의 타임 스탬프(time stamp)에 관련된 정보를 나타내는 타임 스탬프 지시자(time stamp indicator: TS indicator)를 포함함을 특징으로 하는 멀티미디어 시스템에서 수신 장치가 FEC 구성 정보를 수신하는 방법.
  17. 제16항에 있어서,
    상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷과 관련된 정보는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프(time stamp)에 관련된 정보를 더 포함함을 특징으로 하는 멀티미디어 시스템에서 수신 장치가 FEC 구성 정보를 수신하는 방법.
  18. 제17항에 있어서,
    상기 타임 스탬프 지시자는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프에 관련된 정보가 FEC 소스 혹은 복구 패킷 블록을 위한 것임을 지시하거나, 혹은
    상기 타임 스탬프 지시자는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프에 관련된 정보가 상기 2단계 FEC 부호화 구조의 특정 FEC 소스 혹은 복구 패킷 블록을 위한 것인지를 지시함을 특징으로 하는 멀티미디어 시스템에서 수신 장치가 FEC 구성 정보를 수신하는 방법.
  19. 제18항에 있어서,
    상기 특정 FEC 소스 혹은 복구 패킷 블록은 상기 FEC 소스 혹은 복구 패킷 블록이 M개의 FEC 소스 혹은 복구 패킷 블록들로 분할될 경우, 상기 특정 FEC 소스 혹은 복구 패킷 블록은 상기 M개의 FEC 소스 혹은 복구 패킷 블록들 중 i번째 FEC 소스 혹은 복구 패킷 블록이며,
    i=1, 2, … , M임을 특징으로 하는 멀티미디어 시스템에서 수신 장치가 FEC 구성 정보를 수신하는 방법.
  20. 제17항에 있어서,
    상기 타임 스탬프 지시자는 특정 FEC 소스 패킷 블록에 포함되어 있는 FEC 소스 패킷들 중 홀수 번째로 송신되는 FEC 소스 패킷들에 대해서는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프에 관련된 정보가 상기 특정 FEC 소스 패킷 블록을 위한 것임을 지시하거나, 혹은
    상기 타임 스탬프 지시자는 상기 특정 FEC 소스 패킷 블록에 포함되어 있는 FEC 소스 패킷들 중 짝수 번째로 송신되는 FEC 소스 패킷들에 대해서는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프에 관련된 정보가 FEC 소스 혹은 복구 패킷 블록을 위한 것임을 지시함을 특징으로 하는 멀티미디어 시스템에서 수신 장치가 FEC 구성 정보를 수신하는 방법.
  21. 제20항에 있어서,
    상기 특정 FEC 소스 혹은 복구 패킷 블록은 상기 FEC 소스 혹은 복구 패킷 블록이 M개의 FEC 소스 혹은 복구 패킷 블록들로 분할될 경우, 상기 특정 FEC 소스 혹은 복구 패킷 블록은 상기 M개의 FEC 소스 혹은 복구 패킷 블록들 중 i번째 FEC 소스 혹은 복구 패킷 블록이며,
    i=1, 2, … , M임을 특징으로 하는 멀티미디어 시스템에서 수신 장치가 FEC 구성 정보를 수신하는 방법.
  22. 제17항에 있어서,
    상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프에 관련된 정보는 상기 첫 번째로 송신되는 FEC 소스 혹은 복구 패킷의 타임 스탬프의 최상위 비트(Most Significant Bit: MSB)를 제외한 비트들을 지시함을 특징으로 하는 멀티미디어 시스템에서 수신 장치가 FEC 구성 정보를 수신하는 방법.
  23. 청구항 1 내지 청구항 11 중 어느 하나의 방법을 수행하는 송신 장치.
  24. 청구항 12 내지 청구항 22 중 어느 하나의 방법을 수행하는 수신 장치.
KR1020140091024A 2013-07-18 2014-07-18 멀티미디어 통신 시스템에서 패킷 송/수신 장치 및 방법 KR102138000B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20130084877 2013-07-18
KR1020130084877 2013-07-18

Publications (2)

Publication Number Publication Date
KR20150010652A true KR20150010652A (ko) 2015-01-28
KR102138000B1 KR102138000B1 (ko) 2020-07-28

Family

ID=52346476

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140091024A KR102138000B1 (ko) 2013-07-18 2014-07-18 멀티미디어 통신 시스템에서 패킷 송/수신 장치 및 방법

Country Status (12)

Country Link
US (4) US10341054B2 (ko)
EP (2) EP3022860B1 (ko)
JP (1) JP6530748B2 (ko)
KR (1) KR102138000B1 (ko)
CN (1) CN105393480B (ko)
AU (1) AU2014290953B2 (ko)
BR (1) BR112016000913B1 (ko)
ES (1) ES2969871T3 (ko)
FI (1) FI3972135T3 (ko)
MX (1) MX357095B (ko)
MY (1) MY177154A (ko)
WO (1) WO2015009105A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016129953A1 (en) * 2015-02-13 2016-08-18 Samsung Electronics Co., Ltd. Method and apparatus for converting mmtp stream to mpeg-2ts

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MY182123A (en) 2015-03-02 2021-01-18 Samsung Electronics Co Ltd Transmitter and segmentation method thereof
WO2016144142A1 (ko) * 2015-03-12 2016-09-15 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2017140261A1 (en) * 2016-02-19 2017-08-24 Mediatek Inc. Method and system of adaptive application layer fec for mpeg media transport
JP6583171B2 (ja) * 2016-07-21 2019-10-02 住友電気工業株式会社 Mmtコンテンツ作成装置および作成プログラム
KR102464803B1 (ko) * 2017-10-13 2022-11-09 삼성전자주식회사 응용 계층 순방향 오류 정정 방식을 사용하는 멀티미디어 서비스 제공 방법 및 장치
US11689440B2 (en) * 2019-02-06 2023-06-27 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for transmit time timestamping
CN115189810B (zh) * 2022-07-07 2024-04-16 福州大学 一种面向低时延实时视频fec编码传输控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080049846A1 (en) * 2006-08-23 2008-02-28 Nec Corporation IP stream tramsmitting/receiving system, IP stream receiving device and receiving process timing synchronization method used for the same
JP2010187097A (ja) * 2009-02-10 2010-08-26 Nec Corp 映像品質推定装置、映像品質推定方法およびプログラム
US20120131407A1 (en) * 2010-11-18 2012-05-24 Industrial Technology Research Institute Layer-aware forward error correction encoding and decoding method, encoding apparatus, decoding apparatus, and system thereof
US20120297274A1 (en) * 2001-12-21 2012-11-22 Chengdong Zhang Adaptive error resilience for streaming video transmission over a network
US20130013982A1 (en) * 2011-07-08 2013-01-10 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

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1783981A1 (en) * 1993-12-24 2007-05-09 Sharp Kabushiki Kaisha Image information storage device and image information storage regenerating device
US7660245B1 (en) 2004-09-16 2010-02-09 Qualcomm Incorporated FEC architecture for streaming services including symbol-based operations and packet tagging
KR101292851B1 (ko) 2006-02-13 2013-08-02 디지털 파운튼, 인크. 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
JP4356742B2 (ja) * 2006-12-25 2009-11-04 ソニー株式会社 データ通信システム、データ送信装置およびデータ送信方法
US8787153B2 (en) 2008-02-10 2014-07-22 Cisco Technology, Inc. Forward error correction based data recovery with path diversity
JP5380862B2 (ja) * 2008-03-05 2014-01-08 日本電気株式会社 Ipストリーム送受信システム、ipストリーム受信装置及びそれらに用いる受信処理タイミング同期化方法
US8301982B2 (en) * 2009-11-18 2012-10-30 Cisco Technology, Inc. RTP-based loss recovery and quality monitoring for non-IP and raw-IP MPEG transport flows
JP5890208B2 (ja) 2012-03-14 2016-03-22 日本放送協会 パケット送信装置、パケット受信装置及びパケット伝送システム
US10756997B2 (en) * 2015-09-28 2020-08-25 Cybrook Inc. Bandwidth adjustment for real-time video transmission

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120297274A1 (en) * 2001-12-21 2012-11-22 Chengdong Zhang Adaptive error resilience for streaming video transmission over a network
US20080049846A1 (en) * 2006-08-23 2008-02-28 Nec Corporation IP stream tramsmitting/receiving system, IP stream receiving device and receiving process timing synchronization method used for the same
JP2010187097A (ja) * 2009-02-10 2010-08-26 Nec Corp 映像品質推定装置、映像品質推定方法およびプログラム
US20120131407A1 (en) * 2010-11-18 2012-05-24 Industrial Technology Research Institute Layer-aware forward error correction encoding and decoding method, encoding apparatus, decoding apparatus, and system thereof
US20130013982A1 (en) * 2011-07-08 2013-01-10 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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016129953A1 (en) * 2015-02-13 2016-08-18 Samsung Electronics Co., Ltd. Method and apparatus for converting mmtp stream to mpeg-2ts
KR20170116008A (ko) * 2015-02-13 2017-10-18 삼성전자주식회사 Mmtp 스트림을 mpeg-2ts로 변환하는 방법 및 장치
US10085051B2 (en) 2015-02-13 2018-09-25 Samsung Electronics Co., Ltd. Method and apparatus for converting MMTP stream to MPEG-2TS

Also Published As

Publication number Publication date
FI3972135T3 (fi) 2024-03-20
US20160182188A1 (en) 2016-06-23
WO2015009105A1 (en) 2015-01-22
US20190273579A1 (en) 2019-09-05
US10341054B2 (en) 2019-07-02
MY177154A (en) 2020-09-08
AU2014290953A1 (en) 2016-03-10
US10637611B2 (en) 2020-04-28
KR102138000B1 (ko) 2020-07-28
BR112016000913A2 (ko) 2017-07-25
EP3972135A1 (en) 2022-03-23
CN105393480A (zh) 2016-03-09
US11146361B2 (en) 2021-10-12
AU2014290953A2 (en) 2016-04-21
US20200244399A1 (en) 2020-07-30
US11677503B2 (en) 2023-06-13
EP3972135B1 (en) 2023-12-20
EP3022860A1 (en) 2016-05-25
EP3022860A4 (en) 2017-03-22
US20220029743A1 (en) 2022-01-27
MX357095B (es) 2018-06-26
AU2014290953B2 (en) 2017-11-16
BR112016000913B1 (pt) 2023-05-16
EP3022860B1 (en) 2021-11-10
JP6530748B2 (ja) 2019-06-12
MX2016000718A (es) 2016-04-15
CN105393480B (zh) 2019-08-06
ES2969871T3 (es) 2024-05-23
JP2016525320A (ja) 2016-08-22

Similar Documents

Publication Publication Date Title
US11677503B2 (en) Apparatus and method for sending/receiving packet in multimedia communication system
KR102015963B1 (ko) 멀티미디어 시스템에서 미디어 컨텐츠 수신 방법
US20180262549A1 (en) Carriage of ISO-BMFF Event Boxes in an MPEG-2 Transport Stream
US10200720B2 (en) Method and apparatus for transmitting and receiving packet in a communication system
JP2016519527A (ja) パケットヘッダを圧縮する方法及び装置
US20130097474A1 (en) Apparatus and method for transmitting/receiving forward error correction packet in mobile communication system
MX2014013560A (es) Aparato y metodo de transmision y recepcion de paquete en sistema de radiofusion y comunicacion.
KR20190092415A (ko) 송신 장치, 송신 방법, 수신 장치, 및 수신 방법
US9667384B2 (en) Apparatus and method for transmitting and receiving forward error correction packet
JP6511472B2 (ja) ブロードキャスティング及び/又は通信システムにおけるパケットの生成及び復元のための方法及び装置
KR20190088841A (ko) 통신 시스템에서 신호를 송/수신하는 장치 및 방법
KR20160004858A (ko) 멀티미디어 통신 시스템에서 패킷 송/수신 장치 및 방법
KR20230019987A (ko) 송신 장치, 송신 방법, 수신 장치, 및 수신 방법

Legal Events

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