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

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

Info

Publication number
KR102163338B1
KR102163338B1 KR1020130121412A KR20130121412A KR102163338B1 KR 102163338 B1 KR102163338 B1 KR 102163338B1 KR 1020130121412 A KR1020130121412 A KR 1020130121412A KR 20130121412 A KR20130121412 A KR 20130121412A KR 102163338 B1 KR102163338 B1 KR 102163338B1
Authority
KR
South Korea
Prior art keywords
mmt
fec
generated
source block
mpu
Prior art date
Application number
KR1020130121412A
Other languages
English (en)
Other versions
KR20140047556A (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 KR20140047556A publication Critical patent/KR20140047556A/ko
Application granted granted Critical
Publication of KR102163338B1 publication Critical patent/KR102163338B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • 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/356Unequal error protection [UEP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명의 일 실시예가 제공하는 방송 및 통신 시스템에서 복합 컨텐츠 패킷을 송신하는 방법은, 적어도 하나의 MMT 에셋에 포함되는 적어도 하나의 MPU를 이용하여 FEC 소스 블록을 생성하는 과정과,상기 생성된 FEC 소스 블록을 송신하는 과정을 포함하며, 상기 FEC 소스 블록은, 상기 적어도 하나의 MPU의 경계와 상기 FEC 소스 블록의 경계가 어긋나지 않도록 생성됨을 특징으로 한다. 또한, 다른 실시예도 가능하다.

Description

방송 및 통신 시스템에서 패킷 송수신 장치 및 방법{APPARATUS AND METHOD FOR TRANSMITTING AND RECEIVING PACKET IN A BROADCASTING AND COMMUNICATION SYSTEM}
본 발명은 방송 및 통신 시스템에 있어서 패킷을 송수신하기 위한 장치 및 방법에 관한 것이다.
멀티미디어 컨텐츠의 증가 및 기술의 발달로 인해 종래에는 1개 혹은 2개의 멀티미디어 소스들만을 포함하는 컨텐츠들이 소비되었으나, 최근에는 다양한 종류의 멀티미디어 컨텐츠들을 포함하는 복합 컨텐츠들이 등장하게 되었다. 이러한 복합 컨텐츠들은 다양한 종류의 멀티미디어 컨텐츠들을 포함하고 있다.
이러한 복합 컨텐츠를 전송하기 위해서 개개의 멀티미디어 컨텐츠들을 분리하고, 개별적인 멀티미디어 컨텐츠들을 각각 전송한다. 예를 들면, 영상, 음성 및 위젯(Widget) 등의 어플리케이션(application)으로 구성된 복합 컨텐츠를 가정하면, 영상 데이터는 영상 신호 전송 방법을 통하여 전송되고, 음성 데이터는 음성 신호 전송 방법을 통하여 전송되고, 위젯 등의 어플리케이션 데이터는 파일 전송 방법을 통하여 각각 전송하게 된다. 이렇게 각각 분리되어 전송된 컨텐츠들은 수신기에서 각각 수신된 이후 수신된 컨텐츠들이 재구성되어 복합 컨텐츠가 될 수 있다.
이러한 고용량 복합 컨텐츠의 증가로 인하여 네트워크 상에서 데이터의 혼잡이 점점 더 심화되고 있다. 따라서 송신기가 전송한 컨텐츠들이 수신기에게 정상적으로 전달되지 않고, 컨텐츠의 일부가 경로상에서 손실될 수 있다. 일반적으로 데이터는 패킷 단위로 전송되기 때문에 데이터 손실은 패킷 단위로 발생하게 되고, 수신기는 상기 손실된 패킷으로 인하여 손실된 패킷 내의 데이터를 알 수 없다. 따라서, 오디오(Audio)의 품질 저하, 비디오(Video)의 화질 열화나 화면 깨짐, 자막 누락, 파일의 손실 등과 같은 다양한 형태의 사용자의 불편이 초래된다.
한편, 순방향 오류 정정(Forward Error Correction: FEC) 기법은 데이터 송수신 시 수신기에서 데이터의 에러를 검출하고 수정하기 위하여, 송신기에서 특별한 에러 정정 코드를 사용하여 송신 데이터를 부호화하고, 수신기에서 오류를 복구하는 기술이다. 일반적으로 무선 채널, 모바일 텔레비전(Mobile TV) 등의 실시간 서비스에서 사용된다. 이는 실시간 서비스에는 수신에 실패한 데이터의 재전송을 요청하는 것이 의미가 없기 때문이다. 또한, FEC 중에서 응용 계층에서 수행하는 FEC를 “응용 계층 순방향 에러 정정(Application Layer Forward Error Correction: AL-FEC)”이라고 한다.
이러한 AL-FEC는 일정한 개수의 패킷으로 구성되는 소스 블록(Source Block) 단위로 FEC 부호화및 FEC 복호화를 수행한다. 이로 인하여 FEC 복호화 시에는 소스 블록의 크기만큼의 복호 지연이 발생한다.
또한, 오디오나 비디오와 같이 압축된 데이터의 경우 FEC 복호화 이후 복호된 데이터는 압축을 풀기 위하여 미디어 복호기(Media Decoder)로 입력되는데 상기 미디어 복호기도 소정의 크기 단위로 복호를 수행하기 때문에 미디어 복호기에서 복호를 수행하는 크기 단위만큼의 복호 지연이 발생한다.
이로 인하여 미디어 복호기 FEC 복호기 단위에 따라 사용자의 컨텐츠 소비 시까지의 최종적인 지연에 영향을 미친다. 따라서 컨텐츠 소비를 위한 지연 시간을 최소화하기 위한 방안이 필요한다.
본 발명은 네트워크에서 발생된 패킷 데이터의 손상을 복원을 위하여 AL-FEC가 적용되는 경우에 있어서, 하나 이상의 MPU(MMT Processing Unit)로 구성된 MMT 에셋(Asset)의 복호 지연 시간을 최소화하기 위하여, FEC 소스 블록을 구성하는 방법 및 장치를 제공한다.
본 발명은 MPU의 경계(boundary)와 FEC 소스 블록의 경계를 고려하여 양자의 경계가 어긋나지않도록 MPU로부터 FEC 소스 블록을 생성하는 방법 및 장치를 제공한다.
본 발명의 일 실시예가 제공하는 방송 및 통신 시스템에서 복합 컨텐츠 패킷을 송신하는 방법은, 적어도 하나의 MMT 에셋에 포함되는 적어도 하나의 MPU를 이용하여 FEC 소스 블록을 생성하는 과정과,상기 생성된 FEC 소스 블록을 송신하는 과정을 포함하며, 상기 FEC 소스 블록은, 상기 적어도 하나의 MPU의 경계와 상기 FEC 소스 블록의 경계가 어긋나지 않도록 생성됨을 특징으로 한다.
상기 방법은, 상기 생성된 FEC 소스 블록에 대한 FEC 부호화를 수행하는 과정을 더 포함하며, 상기 하나의 MMT 에셋에 포함되는 적어도 하나의 MPU들을 이용하여 FEC 소스 블록이 생성되는 경우, 상기 하나의 FEC 소스 블록은, 하나의 MPU로부터 생성되는 MMT 패킷들만으로 구성되거나, 또는 상기 하나의 MPU로부터 생성되는 MMT 패킷들을 모두 포함한다.
또한, 복수의 MMT 에셋에 포함되는 적어도 하나의 MPU들을 이용하여 FEC 소스 블록이 생성되는 경우, 상기 하나의 FEC 소스 블록은, 하나의 MMT 에셋 내에 포함되는 복수 개의 MPU들로부터 생성되는 서로 다른 MMT 패킷들의 부분들을 포함하지 않음을 특징으로 한다.
한편, 상기 생성된 FEC 소스 블록으로부터 복수 개의 FEC 서브 블록을 생성하는 과정과, 상기 생성된 적어도 하나의 FEC 서브 블록에 대한 서브 블록 부호화를 수행하는 과정을 더 포함한다.
여기서 상기 하나의 MMT 에셋에 포함되는 적어도 하나의 MPU들을 이용하여 FEC 소스 블록이 생성되는 경우, 상기 FEC 서브 블록을 생성하는 과정은, 상기 하나의 MPU로부터 생성되는 모든 MMT 패킷을 이용하여 하나의 FEC 서브 블록을 생성하거나, 상기 하나의 MPU로부터 생성되는 모든 MMT 패킷을 이용하여 상기 복수 개의 FEC 서브 블록을 생성하거나, 복수 개의 MPU로부터 생성되는 MMT 패킷들을 이용하여 하나의 FEC 서브 블록을 생성함을 특징으로 한다.
또한, 상기 방법은, 상기 생성된 FEC 소스 블록으로부터 복수 개의 FEC 서브 블록들로 생성하는 과정과, 상기 생성된 FEC 서브 블록들 중 적어도 하나에 대하여 FEC 서브 블록 부호화하는 과정을 더 포함하며, 상기 하나의 MMT 에셋에 포함되는 적어도 하나의 MPU들을 이용하여 상기 FEC 소스 블록이 생성되는 경우, 상기 하나의 FEC 소스 블록은, 하나의 MPU로부터 생성되는 MMT 패킷들만으로 구성되거나, 또는 상기 하나의 MPU로부터 생성되는 MMT 패킷들을 모두 포함한다. 여기서, 복수의 MMT 에셋에 포함되는 적어도 하나의 MPU들을 이용하여 FEC 소스 블록이 생성되는 경우, 상기 하나의 FEC 소스 블록은, 상기 하나의 MMT 에셋 내에 포함되는 복수 개의 MPU들로부터 생성되는 서로 다른 MMT 패킷들의 부분들을 포함하지 않음을 특징으로 한다.
또한, 본 발명의 일 실시예가 제공하는 방송 및 통신 시스템에서 복합 컨텐츠 패킷을 송신하는 장치는, 상술한 방법들을 모두 수행할 수 있다.
본 발명의 실시예는 송신기가 MMT 에셋의 MPU 단위에 기반한 FEC 소스 블록 생성 방법을 제공함으로써, MMT 에셋의 복호 지연 시간을 최소화 할 수 있다.
본 발명의 실시예는 FEC 소스 블록의 복호에 실패할 경우, 복호에 실패한 FEC 소스 블록에 인접한 FEC 소스 블록에 포함되어 있는 MPU로 상기 복호 실패가 전이되는 것을 막을 수 있다. 이로 인하여 사용자에게 MMT 에셋의 복호 시간을 최소화하여 사용자에게 양질의 방송 통신 서비스를 제공할 수 있다.
도 1은 일반적인 IP 기반의 네트워크 토폴로지(Network Topology)와 데이터 흐름(Data Flow)를 설명하는 도면;
도 2는 본 발명의 실시 예에 따른 MMT 시스템 구성도,
도 3은 본 발명의 실시 예에 따른 MMT 패키지의 구조를 도시한 도면,
도 4는 본 발명의 실시 예에 따른 2단계 FEC 부호화 방식을 설명하는 도면,
도 5 및 도 6은 본 발명의 실시 예에 따른 MPU를 FEC 소스 블록으로 매핑하는 구조도,
도 7은 본 발명의 실시 예에 따른 MMT 시스템이 적용된 AL-FEC의 부호화 및 복호화 흐름을 설명하는 도면,
도 8은 본 발명의 실시예에 따라 MMT 패킷들을 생성하고 송신하는 과정을 설명하는 도면.
하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 실시예의 주요 개념은 다음과 같다. MMT 시스템에서 소스 블록을 생성할 때에 MPU의 경계와 소스 블록의 경계가 어긋나지 않도록 하여, 소스 블록 복호화 시에 복호 지연이 발생하지 않도록 하는 것이다.
이하에서 설명되는 본 발명의 실시 예는 본 발명이 적용될 수 있는 기술들 중 하나인 MPEG MMT(MPEG Media Transport: 이하 MMT) 기술을 예로 들어 설명될 것이나, 이는 설명의 편의를 위한 예일 뿐이며, 본 발명이 MMT에만 적용되는 것은 아니다. 또한, 본 명세서에서 사용되는 용어들은 MMT 관련 표준을 기준으로 표현된 것이다. 다만, 이는 표현의 편의를 위한 것일 뿐 본질적인 기술적 사상은 MMT 표준에 대해서만 한정되는 것은 아니다.
도 1은 일반적인 IP(Internet Protocol) 기반의 네트워크 토폴로지(Network Topology)와 이를 이용한 데이터 흐름(Data Flow)을 설명하는 도면이다.
도 1은 송신기(호스트 A)(105)가 복수의 IP 패킷들을 이용하여 오디오-비디오 컨텐츠를 수신기(호스트 B)(110)로 스트리밍할 경우의 적어도 하나의 라우터들(도 1에서는 라우터 1(120)과 라우터 2(130)가 도시됨)을 경유하여 송신되는 것을 가정한 것이다.
송신기(호스트 A)(105)는 응용 계층(140)의 전송할 데이터(150)로 전송 계층(141)으로 전달하고, 전송 계층에서 상기 전송할 데이터(150)에 UDP(User Datagram Protocol)?헤더를 부가하여 UDP 패킷을 생성한다. 이후 상기 IP 계층(142)에서 상기 UDP 패킷에 IP 헤더를 부가하여 IP(Internet Protocol) 패킷을 생성한다. 이후, 물리 계층(143)에서 상기 IP 패킷에, 여기에 프레임 헤더와 프레임 풋터를 첨부하여 물리 계층 프레임(143)을 생성한다. 이후 물리 계층 프레임(143)은 라우터들(120, 130)의 링크를 경유하여 수신기(호스트 B)(110)로 전달된다. 수신기(호스트 B)(110)에서의 데이터 흐름은 송신기(호스트 A)(105)에서의 데이터 흐름과 역의 관계에 있으므로 이에 대한 설명은 생략한다.
한편, 송신기(호스트 A)(105)에서 송신된 복수의 패킷들은 송신기(호스트 A)(105)가 송신한 순서에 따라 수신기(호스트 B)(110)로 도달되는 것은 아니다. 따라서 복수의 IP 패킷을 이용하여 컨텐츠를 스트리밍(Streaming)할 경우 각 IP 패킷이 자신의 전송 순서를 나타내는 것이 필요하다.
도 2는 본 발명의 실시 예에 따른 MMT 프로토콜의 인터페이스의 구성을 설명하는 도면이다.
MMT 인터페이스(200)는 미디어 부호화 계층(203), 인캡슐레이션 계층(205), 전달 계층(207), 전송 계층(209), IP 계층(211)과, 시그널링 함수(203)를 포함한다.
미디어 부호화 계층(203)은 오디오/비디오 데이터와 같은 미디어 데이터를 기록 또는 송신에 용이한 기본 단위의 포맷으로 압축하여 인캡슐레이션 계층(205)으로 전달한다.
인캡슐레이션 계층(205)은 압축된 미디어 데이터를 파일 포맷(File Format)과 유사한 형태로 패키지화하여 전달 계층(207)에게 전달한다.
인캡슐레이션 계층(205)는 미디어 콘텐츠의 논리적 구조, MMT 패키지 및 MMT 규정을 준수하는 엔티티에 의해 처리되는 데이터 단위 포맷을 정의한다. MMT 패키지는 미디어 컨텐츠와 적응적 전달에 필요한 정보를 제공하기 위한 그들 사이의 관계를 포함하는 요소들을 특정한다. 본 명세서에서 데이터 유닛의 포맷은 부호화된 미디어가 저장되거나, 전달 프로토콜의 페이로드로서 전송되거나, 그들 사이에 쉽게 변환될 수 있도록 인캡슐레이션되도록 정의된다.
전달 계층(207)은 상기 인캡슐레이션 계층(205)의 출력을 MMT 패이로드로 포맷팅한 이후 MMT 전송 패킷 헤더를 부가하여 MMT 전송 패킷의 형태로 전송 프로토콜 계층(209)으로 출력하거나, 상기 상기 인캡슐레이션 계층(205)의 출력을 기존의 RTP 프로토콜을 사용하여 RTP 패킷의 형태로 전송 프로토콜 계층(209)으로 출력한다. 또한, 전달 계층(207)은 응용 계층 프로토콜과 페이로드의 포맷을 정의한다. 본 명세서에 정의된 응용 계층 프로토콜은, 다중화를 포함하면서, 멀티미디어 전달을 위한 기존의 응용 계층 프로토콜과 비교하여 향상된 특징을 제공한다. 상기 페이로드 포맷은 특정 미디어 타입 또는 부호화 방법에 무관하게 부호화된 미디어 데이터를 전달하기 위하여 정의된다.
전송 프로토콜 계층(209)은 상기 전달 계층(209)의 출력을 UDP 및 TCP(Trasmission Control Protocol) 중 하나의 전송 프로토콜로 변환한 후 IP(Internet Protocol) 계층(211)으로 전달한다.
최종적으로 IP 계층(211)은 상기 전송 프로토콜 계층(209)의 출력을 IP 패킷화한다. 본 발명의 실시예에서 FEC 패킷은 MMT 페이로드 포맷, MMT 전송(Transport) 패킷, RTP 패킷 중 적어도 하나의 형태가 될 수 있다.
시그널링 함수 계층(203)은 MMT 패키지의 소비를 관리하기 위한 포맷과, MMT 패키지의 전달을 관리하기 위한 메시지 포맷을 정의한다. MMT 패키지의 소비를 관리하기 위한 메시지는 MMT 패키지의 구조를 시그널링할 수 있고, MMT 패키지의 전달을 관리하기 위한 “딜리버리 매니지먼트(delivery management)”를 위한 메시지는 페이로드 포맷의 구조와 프로토콜의 구성을 시그널링할 수 있다.
도 3은 본 발명의 실시예에 따른 MMT 패키지의 구성을 설명하는 도면이다.
MMT 패키지(300)는 하나의 MMT 구성 정보(Composition Information)(MMT-CI), 하나 이상의 MMT 에셋(Asset)(311, 313, 315, 316)과, 하나 이상의 MMT 에셋 전달 특성(Asset Delivery Characteristics)(MMT-ADC)(303, 305, 307)을 포함한다.
MMT 패키지(300)는 MPU 단위로 처리되고, MMT 에셋은 그 MMT 에셋 ID가 동일한 하나 이상의 MPU의 모임이기 때문에, 하나의 MMT 패키지는 하나의 MMT CI, 하나 이상의 MPU들, 그리고 각각의 MMT 에셋 당 관련된 MMT 에셋 ADC로 구성된다.
MMT 에셋은 부호화된 미디어 데이터를 포함하는 MMT 패키지의 구성 요소이다. 이는 동일한 MMT 에셋 ID를 가지는 MPU들의 그룹을 집합적으로 참조하거나, 또는 다른 표준들에 의하여 정의되는 다양한 미디어 포맷을 가지는 데이터를 참조하는 논리적인 구조이다. MMT 에셋 포맷은 본 명세서에서 정의되지는 않는다.
MMT 구성 정보(MMT-CI)(301)는 소비 및 프리젠테이션을 위하여 MMT 에셋들 간의 공간적, 시간적 관계에 대한 정보를 설명한다. 또한, MMT 에셋의 전달 순서를 결정하는 데 사용할 수 있다. MMT 구성 정보(MMT-CI)(301)는 MMT 표준에 정의된 하나 이상의 메시지 또는 MMT 표준에 정의되지 않은 다른 수단에 의한 메시지를 통하여 전달될 수 있다. 서비스 공급자는 MMT 구성 정보(MMT-CI)(301)를 반복 송신(carousel)할 것을 결정할 수 있고, 반복 송신이 수행되는 빈도를 결정할 수 있다.
MMT 에셋 전송 특성(MMT-ADC)(303, 305, 307)은 MMT 에셋들의 전송을 위해 요구되는 QoS 정보를 제공한다. 이 정보는 MMT 에셋의 효율적인 전달을 위하여 MMT 페이로드와 MMT 프로토콜 파라미터를 구성하기 위하여 MMT 패키지를 패킷화함으로써 사용될 수 있다.
도 4는 본 발명의 실시예에 따른 2단계(two stage) FEC 부호화 장치에서 부호화 방식을 설명하는 도면이다.
이하에서 편의 상 “FEC 소스 블록”을 “소스 블록”으로, “FEC 서브 블록”을 “서브 블록”으로, “FEC 부호화”를 부호화로, “FEC 부호화기”를 “부호화기”로, “FEC 패리티”를 “패리티”로 약칭하거나 양자를 혼용하여 사용할 수 있다.
2단계 FEC 부호화 방식은 2 개의 부호화기(402, 404)를 이용하여 FEC 소스 블록에 대하여 FEC 부호화하고, FEC 서브 블록들 각각에 대하여 FEC 부호화하는 방식이다. 소스 블록(400)은 M개의 서브 블록(401, 402, … , 40M)으로 분할되며, 각각의 서브 블록들(401, 402, … , 40M)은 제1 부호화기(410)를 통하여 부호화되어서, 각각의 서브 블록들(401, 402, … , 40M)에 패리티들(401-1, 402-1, … , 40M-1)이 부가된다. 또한, 소스 블록(400)은 제2 부호화기(430)를 통하여 부호화되어서, 소스 블록(400) 전체에 대하여 패리티(400-1)가 부가된다. 이렇게 부호화된 이후 도시되지 않은 송신기를 통하여 송신된다.
상술한 내용은 소스 블록과 서브 블록들 모두에 대하여 부호화가 수행된 경우를 가정한 것이다. 상술한 내용을 포함하여 가능한 부호화 방식은 아래의 4가지 케이스로 분류할 수 있다.
(1) 케이스 0: 소스 블록과 서브 블록 모두에 FEC 부호화가 적용되지 않은 경우
(2) 케이스 1: 서브 블록들에만 부호화가 적용되는 “1단계(One stage) 서브 블록 부호화”의 경우
(3) 케이스 2: 소스 블록에만 부호화가 적용되는 “1단계 소스 블록 부호화”의 경우
(4) 케이스 3: 서브 블록과 소스 블록 모두에 부호화가 적용되는 “2단계(Two stage) 부호화”의 경우
다시 도 4를 참조하면, 하나의 소스 블록(400)으로부터 생성된 모든 서브 블록들(401, 402, … , 40M)은 하나의 정보 블록을 만들기 위해 연접된다. M 개의 P1 패리티 블록들(401-1, 402-1, …, 40M-1)은 부호기 1(402)에 의해 M 개의 FEC 서브 블록들(401, 402, … , 40M)로부터 생성되고, 하나의 패리티 블록(400-1)은 부호기 2(404)에 의하여 소스 블록(400)으로부터 생성된다.
상술한 가능한 4가지 부호화 방식의 각각의 경우를 설명한다.
(1) 케이스 0의 경우, 부호기 1(402)에 의한 제1 부호화 및 부호기 2(404)에 의한 제2 부호화가 모두 생략된다. 즉, 케이스 0의 경우에는 패리티 데이터가 생성되지 않는다.
(2) 케이스 1의 경우 M은 1로 설정된다. M이 1이라는 것은 하나의 소스 블록이 하나의 서브 블록을 생성함을 의미한다. 케이스 1의 경우, 부호기 2(404)에 의한 제2 부호화는 생략된다. 반대로 케이스 2의 경우 부호기 1(402)에 의한 제1 부호화는 생략된다.
(3) 케이스 2의 경우에도 M은 1로 설정된다. M이 1이라는 것은 하나의 소스 블록이 하나의 서브 블록을 생성함을 의미한다. 케이스 2의 경우 케이스 1의 경우와 반대로 부호기 1(402)에 의한 제1 부호화는 생략된다.
(4) 케이스 3의 경우, 하나의 FEC 소스 블록은 M(M>1)개의 서브 블록으로 분할되고, 각 서브 블록들(401, 402, … , 40M)은 제1 부호화기(410)에 의하여 부호화되고, 소스 블록(400)은 제2 부호화기(430)의 부호에 의하여 부호화된다. 한편, M개의 서브 블록은 정보 블록 생성(Information Block Generation: IBG) 모드들 중 하나에 의하여 M개의 정보 서브 블록들로 변환된다.
참고로 MMT 표준에서는 FEC 소스 블록으로부터 FEC 정보 블록을 생성하는 정보 블록 생성(Information Block Generation: IBG) 모드(mode)를 정의하고 있으며, IBG 모드 0, IBG 모드 1, IBG 모드 2가 규정되어 있다. 또한, 하나의 IBG 모드는 하나의 소스 블록으로부터 모든 서브 블록들에까지 적용될 수 있다. 각각의 IBG 모드의 구체적인 설명은 생략하기로 한다.
한편, 본 발명의 실시예에서는 하나의 MMT 에셋에 포함된 MPU들로부터 소스 블록을 생성하는 경우와, 복수의 MMT 에셋에 포함된 MPU들로부터 생성하는 경우를 고려한다. 전자의 실시예는 도 5에서 설명하고 후자의 실시예는 도 6에서 설명한다.
도 5은 본 발명의 일 실시예에 따라 하나의 MMT 에셋에 포함된 MPU들로부터 소스 블록을 생성하는 경우에서 MPU와 소스 블록의 매핑 관계를 설명하는 도면이다.
도 5는 2개의 MPU로 구성되는 하나의 MMT 에셋이 FEC에 의해 보호(Protection)되는 경우를 가정한 것이다. 또한, 도 5의 (a), (b), (c)에서 각각의 MPU는 5개의 MMT 페이로드로 분할되고, 각각의 MMT 페이로드에 MMT 패킷 헤더가 부가되어 최종적으로 하나의 MMT 에셋 당 10개의 MMT 패킷으로 구성됨을 가정하였다.
도 5의 (a)는 하나의 MMT 에셋을 2개의 소스 블록으로 구성한 예이다. 구체적으로, MPU 1(501)의 MMT 패킷들인 첫 번째 5개의 MMT 패킷들을 이용하여 하나의 소스 블록 1(503)을 구성한다. 한편, MPU2(502)의 MMT 패킷들인 다음 순서의 5개의 MMT 패킷들을 이용하여 다른 하나의 소스 블록 2(504)를 구성한다.
도 5의 (b)는 하나의 MMT 에셋을 4개의 소스 블록으로 구성한 예이다. 구체적으로, MPU 1(511)의 첫 번째 2 개의 MMT 패킷들을 이용하여 소스 블록 1(513)을 구성하고, 나머지 3 개의 MMT 패킷들을 이용하여 소스 블록 2(514)를 구성한다. 한편, MPU 2(512)의 첫 번째 2개의 MMT 패킷들을 이용하여 소스 블록 3(515)을 구성하고 나머지 3개의 MMT 패킷들을 이용하여 소스 블록 4(515)를 구성한다.
도 5의 (c)는 하나의 MMT 에셋을 1개의 소스 블록으로 구성한 예이다. 구체적으로 MPU 1(521)과 MPU 2(522)의 10개의 MMT 패킷들을 이용하여 소스 블록 1(523)을 구성한다.
도 6은 본 발명의 다른 실시예에 따라 복수의 MMT 에셋에 포함된 MPU들로부터 소스 블록을 생성하는 경우에서 MPU와 소스 블록의 매핑 관계를 설명하는 도면이다.
도 6은 하나의 MMT 에셋이 2개의 MPU로 구성되고, 두 개의 MMT 에셋이 FEC에 의해 보호(Protection)되는 경우를 가정한 것이다. 또한, 각각의 MPU는 5개의 MMT 페이로드로 분할되고, 두 개의 MMT 에셋으로부터 생성된 MMT 페이로드들은 서로 다중화되어 20개의 MMT 페이로드를 구성하고, 각각의 MMT 페이로드에 MMT 패킷 헤더가 부가되어 최종적으로 20개의 MMT 패킷을 구성하는 것으로 가정하였다.
도 6의 (a)에서는 MMT 에셋 1(601)의 MPU 1(602)로부터 생성된 5개의 MMT 패킷들과, MMT 에셋 2(604)의 MPU 1(605)로부터 생성된 5개의 패킷들, 총 10개의 MMT 패킷들을 이용하여 소스 블록 1(607)이 구성한다. 또한, MMT 에셋 1(601)의 MPU 2(603)로부터 생성된 나머지 5개의 MMT 패킷들과, MMT 에셋 2(604)의 MPU 2(606)으로부터 생성된 나머지 5개의 MMT 패킷들, 총 10개의 MMT 패킷들을 이용하여 소스 블록 2(608)을 구성한다.
도 6의 (b)에서는 MMT 에셋 1(611) 내의 MPU 1(612)의 앞에서부터 3개의 MMT 패킷들과 MMT 에셋 2(614) 내의 MPU 1(615)의 앞에서부터 2개의 패킷들, 총 5개의 MMT 패킷들을 이용하여 소스 블록 1(617)을 구성한다. 또한, MMT 에셋 1(611) 내의 MPU 1(612)의 나머지 2개의 MMT 패킷들과, MMT 에셋 2(614) 내의 MPU 1(615)의 나머지 3개의 MMT 패킷들, 총 5개의 MMT 패킷들을 이용하여 소스 블록 2(618)를 구성한다.
또한, MMT 에셋 1(611) 내의 MPU 2(613)의 앞에서부터 3개의 MMT 패킷들과, MMT 에셋 2(614) 내의 MPU 2(616)의 첫 번째 2개의 MMT 패킷들, 총 5개의 MMT 패킷들을 이용하여 소스 블록 3(619)을 구성한다. 또한, MMT 에셋 1(611) 내의 MPU 2(613)의 나머지 2개의 MMT 패킷들과, MMT 에셋 2 내(614)의 MPU 2(616)의 나머지 3개의 MMT 패킷들, 총 5개의 MMT 패킷들을 이용하여 소스 블록 4(620)를 구성한다.
이하에서는 도 4에서 설명된 FEC 부호화의 케이스들과, 도 5 및 도 6에서 설명된 MMT 에셋의 개수를 모두 고려한 경우, 본 발명의 실시예에서 FEC 소스 블록을 생성하는 실시예들을 설명한다.
첫 번째, 도 4에서 설명된 케이스 0은 소스 블록과 서브 블록 모두에 FEC 부호화가 적용되지 않은 경우이다. 따라서 이 경우에는 FEC 부호화가 적용되지 않기 때문에 FEC 복호 지연이 발생하지 않는다. 따라서 본 발명의 실시예에서는 이러한 경우에서 FEC 복호 지연을 최소화하기 위하여 소스 블록을 생성하는 방식을 고려할 필요가 없다.
두 번째, 도 4에 설명된 케이스 1은 서브 블록들에만 부호화가 적용되는 “1단계(One stage) 서브 블록 부호화”이다. 케이스 1의 서브 블록 부호화가 수행될 경우, 하나의 MMT 에셋을 구성하는 각각의 MPU는 MMT 패킷으로 패킷화된 이후 소정 개수의 MMT 패킷들을 이용하여 FEC 소스 블록이 형성된 이후, 소스 블록 단위로 FEC 부호화를 수행하여 FEC 패리티 블록을 생성하고 FEC 패킷화되어 송신된다. 본 발명의 실시예에서 케이스 1에서 하나의 MMT 에셋을 이용하여 소스 블록을 생성하는 방식은 다음의 3가지 경우 중 하나가 될 수 있다.
1. FEC 소스 블록은 1개의 MPU로부터 생성되는 MMT 패킷들을 이용하여 구성된다. 이 경우는 {1 MPU로부터 생성된 MMT 패킷들 = 1 FEC 소스 블록에 포함된 MMT 패킷들}이 된다. 이 경우는 도 5의 (a)에 해당한다. 예를 들어, 도 5 (a)에서 MPU 1(501)로부터 생성된 MMT 패킷들이 소스 블록 1(503)을 구성하였다.
2. 1개의 MPU로부터 생성되는 MMT 패킷들을 이용하여 N(>1)개의 FEC 소스 블록들을 구성한다. 이 경우는 {1 MPU로부터 생성된 MMT 패킷들 = N개의 FEC 소스 블록에 포함되는 MMT 패킷들)가 된다. 이 경우는 도 5의 (b)에 해당한다. 예를 들어, 도 5 (b)에서 MPU 1(511)로부터 생성된 MMT 패킷들이 소스 블록 1(513)과 소스 블록 2(514)를 구성하였다.
3. N(N>1)개의 MPU로부터 생성되는 MMT 패킷들을 이용하여 1개의 소스 블록을 구성한다. 이 경우는 {N개의 MPU들로부터 생성된 MMT 패킷들 = 1개의 FEC 소스 블록에 포함되는 MMT 패킷들}가 된다. 이러한 경우는 도 5의 (c)에 해당한다. 예를 들어, 도 5 (c)에서 MPU 1(521)과 MPU 2(522)로부터 생성된 MMT 패킷들이 소스 블록 1(523)을 구성하였다.
상술한 본 발명의 실시예에 따라 케이스 1에서 하나의 MMT 에셋을 이용하여 소스 블록을 구성하는 3가지 경우를 종합하면, 하나의 소스 블록은 하나의 MPU로부터 생성된 MMT 패킷들만으로 구성되거나 또는 하나의 MPU로부터 생성된 MMT 패킷들을 모두 포함해야 한다.
다음으로, 도 4에 설명된 케이스 1의 1단계 서브 블록 부호화를 사용하고, 복수 개의 MMT 에셋을 이용하여 FEC 소스 블록을 구성하는 방식은 다음의 3가지 경우 중 하나가 될 수 있다.
1. FEC 소스 블록은 하나의 MMT 에셋 내의 하나의 MPU로부터 생성된 MMT 패킷들 모두를 포함한다. 이는 도 6 (a)에 해당한다. 예를 들어, 도 6의 (a)에서 FEC 소스 블록 1(607)은 MMT 에셋 1(601)로부터 생성된 5개의MMT 패킷들을 모두 포함하고 있다.
2. 하나의 MMT 에셋 내의 1개의 MPU로부터 생성된 MMT 패킷들은 N개의 FEC 소스 블록에 포함된다. 이는 도 6 (b)에 해당한다. 예를 들어, 도 6의 (b)에서 MMT 에셋 1(611) 내의 MPU 1(612)로부터 생성된 5개의 MMT 패킷들은 소스 블록 1(617)과 소스 블록 2(618)에 포함되어 있다.
3. FEC 소스 블록은 하나의 MMT 에셋 내의 N(>1)개의 MPU로부터 생성된 MMT 패킷들 모두를 포함한다. 이 경우는 도 6에 도시되지는 않았으나, 도 6 (a)에서 2개의 소스 블록들(607, 608)에 포함된 MMT 패킷들 전부를 하나의 소스 블록으로 구성한 경우에 해당한다. 또는 도 6(b)에서 4개의 소스 블록 1(617, 618, 619, 620)에 포함된 MMT 패킷들 전부를 하나의 소스 블록으로 구성한 경우에 해당한다.
상술한 본 발명의 실시예에 따라 케이스 1에서 복수 개의 MMT 에셋을 이용하여 소스 블록을 구성하는 3가지 경우를 종합하면, 소스 블록은 하나의 MMT 에셋 내에 포함된 복수 개의 MPU들로부터 생성된 서로 다른 패킷들의 부분들을 포함하지 않는다. 즉, 도 6에서 설명된 세번째 경우(하나의 소스 블록이 복수 개의 MPU들로부터 생성된 MMT 패킷들 전부를 포함하는 경우)를 제외하고, 하나의 소스 블록에 하나의 MMT 에셋 내의 복수의 MPU들로부터 생성된 MMT 패킷들을 포함할 수 없다. 예를 들어, 하나의 MMT 에셋이 MPU 1, MPU 2로 구성되고, MPU 1로부터 MMT 패킷 1~10이 생성되고, MPU 2로부터 MMT 패킷 11~20이 생성된다고 가정하자. 이 경우 FEC 소스 블록은 MMT 패킷 6~15와 같이 MPU 1로부터 생성된 MMT 패킷의 일부와 MPU 2로부터 생성된 MMT 패킷의 일부만으로는 구성될 수 없다. 동일하게 FEC 소스 블록은 MMT 패킷 1~15 또는 MMT 패킷 6~20로 구성될 수 없다. 다만, FEC 소스 블록은 MMT 패킷 1~20으로 구성될 수는 있다. 이는 서로 다른 MPU들로부터 생성된 패킷들 전부를 포함하기 때문이다.
세 번째, 도 4에 설명된 케이스 2는 소스 블록에만 부호화가 적용되는 “1단계 소스 블록 부호화”의 경우이다. 케이스 2에서도 하나의 MMT 에셋에서 소스 블록을 생성하는 경우와 복수의 MMT 에셋으로부터 소스 블록을 생성하는 경우로 나눌 수 있다. 다만, 케이스 2에서 소스 블록을 생성하는 방식은 상기 케이스 1에서 소스 블록을 생성하는 방식과 동일하게 적용된다.
네 번째, 도 4에서 설명된 케이스 3은 서브 블록과 소스 블록 모두에 부호화가 적용되는 “2단계(Two stage) 부호화”이다. 케이스 3에서도 하나의 MMT 에셋으로부터 소스 블록을 생성하는 경우와 복수의 MMT 에셋으로부터 소스 블록을 생성하는 경우로 나눌 수 있다.
먼저 케이스 3에서 하나의 MMT 에셋으로부터 소스 블록을 생성하는 방식은 아래의 경우 중 하나가 될 수 있다. 참고로 이 때는 MMT 에셋을 구성하는 각각의 MPU는 MMT 패킷으로 패킷화되어 소정 개수의 MMT 패킷으로 구성되는 FEC 소스 블록이 생성되고, 생성된 소스 블록은 M(>1)개의 서브 블록으로 분할되고, 서브 블록 단위로 제1 FEC 부호화되어 제1 패리티 블록들이 생성된다. 한편, 소스 블록 단위로 제2 FEC 부호화되어 제2 패리티 블록이 생성되어 FEC 패킷화되어 송신된다. 이때 FEC 소스 블록을 생성하는 방식은 다음의 경우 중 하나가 될 수 있다.
1. FEC 소스 블록은 1개의 MPU로부터 생성된 MMT 패킷들로 구성된다. 이 경우 {1개의 MPU로부터 생성된 MMT 패킷들 = 1개의 FEC 소스 블록에 포함된 MMT 패킷들}이 된다. 이 경우는 도 5의 (a)에 해당한다. 예를 들어, 도 5 (a)에서 MPU 1(501)로부터 생성된 MMT 패킷들이 소스 블록 1(503)을 구성하였다.
2. 1개의 MPU로부터 생성되는 MMT 패킷들을 이용하여 N(>1)개의 FEC 소스 블록들을 구성한다. 이 경우는 {1 MPU로부터 생성된 MMT 패킷들 = N개의 FEC 소스 블록에 포함되는 MMT 패킷들)이 된다. 이 경우는 도 5의 (b)에 해당한다. 예를 들어, 도 5 (b)에서 MPU 1(511)로부터 생성된 MMT 패킷들이 소스 블록 1(513)과 소스 블록 2(514)를 구성하였다.
3. FEC 소스 블록은 N (N>1)개의 MPU로부터 생성된 MMT 패킷들로 구성된다. 이 경우는 {N개의 MPU들로부터 생성된 MMT 패킷들 = 1 FEC 소스 블록에 포함되는 MMT 패킷들}이 된다. 이러한 경우는 도 5의 (c)에 해당한다. 예를 들어, 도 5 (c)에서 MPU 1(521)과 MPU 2(522)로부터 생성된 MMT 패킷들이 소스 블록 1(523)을 구성하였다. 즉, 위 3가지 경우를 종합하면, 하나의 소스 블록은 하나의 MPU로부터 생성된 MMT 패킷들만으로 구성되거나 또는 하나의 MPU로부터 생성된 MMT 패킷들을 모두 포함해야 한다.
한편, 하나의 FEC 소스 블록에 대한 FEC 서브 블록을 구성하는 구체적인 방법은 다음과 같다.
A.1개의 MPU로부터 생성된 모든 MMT 패킷들을 이용하여 서브 블록이 구성된다. 이 경우 {1개의 MPU로부터 생성된 MMT 패킷들 = 1개의 서브 블록에 포함된 MMT 패킷들}이 된다.
B. 1개의 MPU로부터 생성된 모든 MMT 패킷들을 이용하여 R(<M)개의 서브 블록을 구성한다. 이 경우 {1개의 MPU로부터 생성된 MMT 패킷들 = R개의 서브 블록에 포함된 MMT 패킷들}이 된다.
C.R (R< N)개의 MPU로부터 생성된 MMT 패킷들을 이용하여 하나의 서브 블록을 구성한다. 이 경우 {R개의 MPU들로부터 생성된 MMT 패킷들 = 1개의 서브 블록에 포함된 MMT 패킷들}이 된다.
다음으로, 케이스 3에서 복수 개의 MMT 에셋으로부터 소스 블록을 생성하는 방식은 아래의 경우 중 하나가 될 수 있다. 참고로 이 때는 각각의 MMT 에셋을 구성하는 MPU들이 MMT 패킷으로 패킷화된 이후 서로 다중화되어 MMT 패킷 스트림이 생성된다. 이후 소정 개수의 MMT 패킷으로 구성되는 FEC 소스 블록이 생성하고, 생성된 FEC 소스 블록은 M(>1)개의 FEC 서브 블록들로 분할되고, FEC 서브 블록 단위로 제1 FEC 부호화되어 제1 패리티 블록들이 생성된다. 한편, FEC 소스 블록 단위로 제2 FEC 부호화되어 제2 FEC 2 패리티 블록이 생성되어 FEC 패킷화되어 송신된다. 이때 FEC 소스 블록을 생성하는 방식은 다음의 경우 중 하나가 될 수 있다.
1. FEC 소스 블록은 하나의 MMT 에셋에 포함된 하나의 MPU로부터 생성된 MMT 패킷들 전부를 포함한다. 이 경우 {하나의 MMT 에셋에 포함된 1개의 MPU로부터 생성된 MMT 패킷들 = 1개의 FEC 소스 블록에 포함된 MMT 패킷들}이 된다.
2. 하나의 MMT 에셋에 포함된 1개의 MPU로부터 생성된 MMT 패킷들을 이용하여 N(>1)개의 FEC 소스 블록들을 구성한다. 이 경우 {하나의 MMT 에셋에 포함된 1 MPU로부터 생성된 MMT 패킷들 = N개의 FEC 소스 블록에 포함되는 MMT 패킷들)이 된다.
3. FEC 소스 블록은 하나의 MMT 에셋에 포함된 N(>1)개의 MPU로부터 생성된 MMT 패킷들 전부를 포함한다. 이 경우 {하나의 MMT 에셋에 포함된 N(>1)개의 MPU로부터 생성된 MMT 패킷들 = FEC 소스 블록에 포함된 MMT 패킷들}이 된다. 한편, 이 때 하나의 FEC 소스 블록에 대한 FEC 서브 블록을 구성하는 구체적인 방법은 다음과 같다.
A. N개의 MPU 중 1개의 MPU로부터 생성된 모든 MMT 패킷들을 이용하여 서브 블록을 구성한다. 이 경우 {1개의 MPU 로부터 생성된 MMT 패킷들 = 1개의 FEC 서브 블록에 포함된 MMT 패킷들}이 된다.
B. N개의 MPU 중 R(<N)개의 MPU로부터 생성된 MMT 패킷들을 이용하여 하나의 서브 블록을 구성한다. 이 경우 {R개의 MPU들로부터 생성된 패킷들 = 1개의 FEC 서브 블록에 포함된 MMT 패킷들)이 된다.
C. N개의 MPU 중 1개의 MPU로부터 생성된 MMT 패킷들을 이용하여 R(<M)개의 FEC 서브 블록을 구성한다. 이 경우 {1개의 MPU로부터 생성된 MMT 패킷들 = R개의 FEC 서브 블록에 포함된 서브 블록들}이 된다.
지금까지 도 4의 2단계 부호화기를 이용하여 가능한 FEC 부호화의 케이스들과, 도 5 및 도 6에서 설명된 하나 또는 복수 개의 MMT 에셋을 이용하여 소스 블록을 생성하는 경우를 모두 고려할 때, 본 발명의 실시예들에서 소스 블록 또는 서브 블록을 생성하는 방식을 설명하였다.
지금까지 설명된 본 발명의 실시예들에 따른 소스 블록 또는 서브 블록 생성 방식은 MPU의 경계(boundary)와 소스 블록의 경계를 고려하여 MPU의 경계와 소스 블록의 경계가 어긋나지 않도록 MPU로부터 소스 블록 또는 서브 블록을 생성하는 것이다. 이렇게 하면, MPU와 소스 블록 간의 경계를 지키지 않을 경우 발생할 수 있는 시간 지연과 현재 소스 블록 내의 MPU의 FEC 복호화 실패가 인접한 소스 블록 내의 MPU로 전이되는 것을 막을 수 있다.
도 7은 본 발명의 실시 예에 따른 MMT 시스템이 적용된 AL-FEC의 부호화 및 복호화 흐름을 설명하는 도면이다.
도 7을 참조하면 MMT 시스템은 MMT D.1 계층(700), MMT E.1 계층(710), MMT D.2 계층/IETF 응용 계층(720)으로 구성된다.
MMT D.1 계층(700)은 페이로드 포맷 생성부(Payload Format Generator)(711)와 AL-FEC 부(712)를 포함한다. 상기 AL-FEC부(712)는 AL-FEC 변환부(Convertor)(713) 및 FEC 부호화/복호화부(714)를 포함한다.
부호화 시에, MMT D.1 계층(710)은 MMT E.1 계층(700)으로부터 MMT 패키지(오디오/비디오 데이터, 파일, 텍스트) 등을 저장부(미도시됨)에 저장하거나 또는 전송을 고려하여 생성된 포맷을 입력받아 전송을 위한 소정 단위(FEC 소스 페이로드 = MMT 페이로드 또는 MMT 패킷)로 분할하여 소정 개수의 FEC 소스 페이로드로 구성된 FEC 소스 블록을 생성한다.
AL-FEC 모듈 변환기(713)는 생성된 FEC 소스 블록을 동일한 길이를 가지는 FEC 정보 페이로드들로 구성되는 FEC 정보 블록으로 변환한다. FEC 부호화/복호화부(714)는 FEC 정보 블록으로부터 주어진 FEC 부호에 의해 FEC 부호화를 수행하여 FEC 패리티 블록을 생성하고, 이를 페이로드 포맷 생성부(711)에게 전달한다.
페이로드 포맷 생성부(711)는 FEC 소스 블록에 상기 FEC 패리티 블록을 추가하고 각각의 소스/ 패리티/페이로드에 FEC 관련 신호를 포함하고 있는 페이로드 헤더(Payload Header: PLH)를 부가하여 패킷화한 MMT 페이로드 포맷(730)을 MMT D.2 계층(720) 또는 IETF 응용 계층(미도시됨)으로 전달한다. 또한, UDP와 같은 전송 프로토콜에 의해 UDP 헤더를 부가하고 다시 IP 헤더를 부가하여 전송한다. 도면에서는 FEC 소스 페이로드가 MMT 페이로드인 경우를 예로 하여 설명하였다. 도시하지는 않았지만 이러한 내용은 도 5 및 도 6과 같이 FEC 소스 페이로드가 MMT 패킷인 경우도 적용 가능하다.
복호화의 경우는 상술한 부호화의 역의 순서로 수행되며 이는 부호화 과정의 설명에 의하여 쉽게 알 수 있으므로 상세한 설명은 생략한다.
도 8은 본 발명의 실시예에 따라 MMT 패킷들을 생성하고 송신하는 과정을 설명하는 도면이다.
801단계에서는 상술한 바에 따라 적어도 MPU의 경계와 소스 블록의 경계가 어긋나지 않도록 하나의 MPU들로부터 FEC 소스 블록을 생성한다. 이는 송신기(미도시)의 소스 블록 생성부(미도시됨)에서 수행될 수 있다.
803단계에서 상기 생성된 소스 블록으로부터 서브 블록을 생성한다. 다만, 서브 블록 부호화가 수행되지 않는 경우 803 단계는 생략이 가능하다. 이는 서브 블록 생성부(미도시됨)에서 수행될 수 있다.
805단계에서 상기 소스 블록에 대한 소스 블록 부호화 및/또는 서브 블록에 대한 서브 블록 부호화를 수행한다. 이는 도 4의 제1 부호화기와 제2 부호화기에서 수행된다.
807단계에서는 부호화된 소스 블록 및/또는 서브 블록을 송신한다. 이는 송신기의 송신부에서 수행된다.

Claims (14)

  1. 방송 및 통신 시스템에서 복합 컨텐츠 패킷을 송신하는 방법에 있어서,
    복수 개의 MMT 에셋들에 포함되는 복수 개의 MPU들을 이용하여 미리 정해진 개수의 MMT 패킷들로 구성된 FEC(Forward Error Correction) 소스 블록을 생성하는 동작;
    상기 생성된 FEC 소스 블록을 송신하는 동작을 포함하며,
    상기 복수 개의 MMT 에셋들 중 하나의 MMT 에셋에 포함되는 복수 개의 MPU들로부터 생성된 모든 MMT 패킷들이 상기 생성된 FEC 소스 블록에 포함되는 경우 이외에, 상기 생성된 FEC 소스 블록이 복수 개의 MMT 에셋들 중 상기 하나의 MMT 에셋에 포함된 제2 MPU로부터 생성된 MMT 패킷을 포함하는 것은 제외되며, 여기서, 상기 제2 MPU는 상기 MMT 에셋에 포함된 제1 MPU와 상이하며, 상기 MMT 에셋의 제1 MPU로부터 생성된 MMT 패킷들은 상기 생성된 FEC 소스 블록에 포함되는, 복합 컨텐츠 패킷을 송신하는 방법.
  2. 제 1항에 있어서,
    상기 생성된 FEC 소스 블록에 대한 FEC 부호화를 수행하는 과정을 더 포함하며,
    상기 하나의 MMT 에셋에 포함되는 복수 개의 MPU들을 이용하여 FEC 소스 블록이 생성되는 경우,
    상기 생성된 하나의 FEC 소스 블록은, 복수 개의 MPU들 중 하나의 MPU로부터 생성되는 MMT 패킷들만을 포함하거나, 또는 상기 하나의 MMT 에셋에 포함되는 복수 개의 MPU들로부터 생성되는 모든 MMT 패킷들을 포함하는, 복합 컨텐츠 패킷을 송신하는 방법.
  3. 삭제
  4. 제 2항에 있어서,
    상기 생성된 FEC 소스 블록으로부터 M>1인 M개의 FEC 서브 블록들을 생성하는 동작; 및
    상기 생성된 M개의 FEC 서브 블록에 대한 FEC 서브 블록 부호화를 수행하는 동작을 더 포함하는, 복합 컨텐츠 패킷을 송신하는 방법.
  5. 제 4항에 있어서,
    상기 하나의 MMT 에셋에 포함되는 복수 개의 MPU들을 이용하여 상기 FEC 소스 블록이 생성되는 경우,
    M개의 FEC 서브 블록들 각각은 상기 MMT 에셋 중 하나의 MPU로부터 생성되는 모든 패킷들로 구성되거나, M개보다 적은 R개의 FEC 서브 블록들은 상기 MMT 에셋 중 하나의 MPU로부터 생성되는 모든 MMT 패킷들로 구성되거나, 하나의 FEC 서브 블록은 상기 MMT 에셋 중 상기 복수 개의 MPU들보다 적은 R개의 MPU들로부터 생성되는 MMT 패킷들을 이용하여 구성되는, 복합 컨텐츠 패킷을 송신하는 방법.
  6. 삭제
  7. 삭제
  8. 방송 및 통신 시스템에서 복합 컨텐츠 패킷을 송신하는 장치에 있어서,
    복수 개의 MMT 에셋들에 포함되는 복수 개의 MPU들을 이용하여 미리 정해진 개수의 MMT 패킷들로 구성된 FEC(Forward Error Correction) 소스 블록을 생성하는 소스 블록 생성기와,
    상기 생성된 FEC 소스 블록을 송신하는 송신기를 포함하며,
    상기 복수 개의 MMT 에셋들 중 하나의 MMT 에셋에 포함되는 복수 개의 MPU들로부터 생성된 모든 MMT 패킷들이 상기 생성된 FEC 소스 블록에 포함되는 경우 이외에, 상기 생성된 FEC 소스 블록이 복수 개의 MMT 에셋들 중 상기 하나의 MMT 에셋에 포함된 제2 MPU로부터 생성된 MMT 패킷을 포함하는 것은 제외되며, 여기서, 상기 제2 MPU는 상기 MMT 에셋에 포함된 제1 MPU와 상이하며, 상기 MMT 에셋의 제1 MPU로부터 생성된 MMT 패킷들은 상기 생성된 FEC 소스 블록에 포함되는, 복합 컨텐츠 패킷을 송신하는 장치.
  9. 제 8항에 있어서,
    상기 하나의 MMT 에셋에 포함되는 복수 개의 MPU들을 이용하여 FEC 소스 블록이 생성되는 경우,
    상기 소스 블록 생성기는,
    복수 개의 MPU들 중 하나의 MPU로부터 생성되는 MMT 패킷들만을 이용하여 상기 FEC 소스 블록을 생성하거나, 또는 상기 하나의 MMT 에셋에 포함되는 복수 개의 MPU들로부터 생성되는 모든 MMT 패킷들을 이용하여 상기 FEC 소스 블록을 생성하도록 추가로 구성되는하는, 복합 컨텐츠 패킷을 송신하는 장치.
  10. 삭제
  11. 제 9항에 있어서,
    상기 생성된 FEC 소스 블록으로부터 M>1인 M개의 FEC 서브 블록을 생성하는 서브 블록 생성기와,
    상기 생성된 M개의 FEC 서브 블록에 대한 FEC 서브 블록 부호화를 수행하는 제2 부호화기를 더 포함하는, 복합 컨텐츠 패킷을 송신하는 장치.
  12. 제 11항에 있어서,
    상기 하나의 MMT 에셋에 포함되는 복수 개의 MPU들을 이용하여 상기 FEC 소스 블록이 생성되는 경우, 상기 서브 블록 생성기는,
    상기 MMT 에셋 중 하나의 MPU로부터 생성되는 모든 패킷들을 이용하여 M개의 FEC 서브 블록들 각각을 생성하거나, 상기 MMT 에셋 중 하나의 MPU로부터 생성되는 모든 MMT 패킷들을 이용하여 M개보다 적은 R개의 FEC 서브 블록들을 생성하거나, 상기 MMT 에셋 중 상기 복수 개의 MPU들보다 적은 R개의 MPU들로부터 생성되는 MMT 패킷들을 이용하여 하나의 FEC 서브 블록을 생성하도록 추가로 구성되는, 복합 컨텐츠 패킷을 송신하는 장치.
  13. 삭제
  14. 삭제
KR1020130121412A 2012-10-11 2013-10-11 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법 KR102163338B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20120113112 2012-10-11
KR1020120113112 2012-10-11

Publications (2)

Publication Number Publication Date
KR20140047556A KR20140047556A (ko) 2014-04-22
KR102163338B1 true KR102163338B1 (ko) 2020-10-08

Family

ID=50475316

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130121412A KR102163338B1 (ko) 2012-10-11 2013-10-11 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법

Country Status (4)

Country Link
US (1) US10051266B2 (ko)
EP (1) EP2907278B1 (ko)
KR (1) KR102163338B1 (ko)
WO (1) WO2014058278A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106105235B (zh) * 2014-01-09 2020-04-10 三星电子株式会社 在多媒体传输系统中发送媒体数据相关信息的方法和装置
JP5725235B1 (ja) * 2014-04-22 2015-05-27 ソニー株式会社 受信装置及び受信方法、並びに、送信装置及び送信方法
KR102127641B1 (ko) 2014-06-20 2020-06-30 삼성전자주식회사 응용 계층 순방향 오류 정정 방식을 사용하여 제공되는 방송 서비스의 수신을 제어하는 방법 및 장치
US9955540B1 (en) * 2015-07-10 2018-04-24 Musco Corporation Low current LED fixture internal auxiliary power supply
KR102421791B1 (ko) * 2016-05-26 2022-07-15 삼성전자주식회사 Mmt 네트워크 시스템에서 미디어 시간 정보를 전송 하는 방법 및 장치
JP7388438B2 (ja) * 2019-01-10 2023-11-29 ソニーグループ株式会社 通信デバイス、通信デバイスの動作方法、インフラストラクチャ機器および方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0517932D0 (en) * 2005-09-03 2005-10-12 Pace Micro Tech Plc Method and system for testing signal integrity
US20100211690A1 (en) 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
WO2009085046A1 (en) * 2007-12-28 2009-07-09 Agere Systems Inc. Qos wireless networking for home entertainment
US9015564B2 (en) * 2009-08-19 2015-04-21 Qualcomm Incorporated Content delivery system with allocation of source data and repair data among HTTP servers
KR101777348B1 (ko) 2010-02-23 2017-09-11 삼성전자주식회사 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치
KR101662843B1 (ko) 2010-03-05 2016-10-14 삼성전자주식회사 데이터 통신 망에서의 스트리밍 서비스 장치 및 방법
JP2011223360A (ja) * 2010-04-09 2011-11-04 Sony Corp 送信装置、受信装置、制御方法、及び通信システム
JP5512038B2 (ja) 2010-04-20 2014-06-04 サムスン エレクトロニクス カンパニー リミテッド メディアデータを送受信するためのインターフェース装置及び方法
KR20120084234A (ko) * 2011-01-19 2012-07-27 삼성전자주식회사 Mpeg media transport(mmt)에서 mmt au를 전송하는 방법
KR101803970B1 (ko) * 2011-03-16 2017-12-28 삼성전자주식회사 컨텐트를 구성하는 장치 및 방법
WO2014005077A1 (en) * 2012-06-29 2014-01-03 Vid Scale, Inc. Frame prioritization based on prediction information

Also Published As

Publication number Publication date
EP2907278A4 (en) 2016-06-01
US20140105310A1 (en) 2014-04-17
EP2907278B1 (en) 2019-07-31
WO2014058278A1 (en) 2014-04-17
US10051266B2 (en) 2018-08-14
EP2907278A1 (en) 2015-08-19
KR20140047556A (ko) 2014-04-22

Similar Documents

Publication Publication Date Title
JP6334028B2 (ja) 通信システムにおけるパケット送受信装置及び方法
KR102048452B1 (ko) 멀티미디어 시스템에서 순방향 오류 정정 패킷을 생성하는 방법과 그 오류 정정 패킷을 송수신하는 방법 및 장치
US20160105259A1 (en) Apparatus and method of transmitting/receiving broadcast data
RU2611975C2 (ru) Устройство и способ передачи и приема пакетов в системе вещания и связи
KR102163338B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
KR101983035B1 (ko) 방송 시스템에서 멀티미디어 데이터의 수신 장치
US9473174B2 (en) Interleaving for layer-aware forward error correction
US10958376B2 (en) Method and apparatus for transmitting and receiving packet in communication system
US20130097474A1 (en) Apparatus and method for transmitting/receiving forward error correction packet in mobile communication system
EP3160097B1 (en) Method and apparatus for transmitting and receiving packets in broadcast and communication system
US9667384B2 (en) Apparatus and method for transmitting and receiving forward error correction packet
EP2842253B1 (en) Apparatus and method for transmitting a packet in a communication system
JP6511472B2 (ja) ブロードキャスティング及び/又は通信システムにおけるパケットの生成及び復元のための方法及び装置
Kondrad et al. Cross‐Layer Optimization of DVB‐T2 System for Mobile Services

Legal Events

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