KR102048730B1 - 방송 데이터 송/수신장치 및 방법 - Google Patents

방송 데이터 송/수신장치 및 방법 Download PDF

Info

Publication number
KR102048730B1
KR102048730B1 KR1020147018166A KR20147018166A KR102048730B1 KR 102048730 B1 KR102048730 B1 KR 102048730B1 KR 1020147018166 A KR1020147018166 A KR 1020147018166A KR 20147018166 A KR20147018166 A KR 20147018166A KR 102048730 B1 KR102048730 B1 KR 102048730B1
Authority
KR
South Korea
Prior art keywords
source
fec
data
block
parity
Prior art date
Application number
KR1020147018166A
Other languages
English (en)
Other versions
KR20140098231A (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 KR20140098231A publication Critical patent/KR20140098231A/ko
Application granted granted Critical
Publication of KR102048730B1 publication Critical patent/KR102048730B1/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/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
    • 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
    • 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/0041Arrangements at the transmitter end
    • 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/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • 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
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes

Abstract

서로 다른 종류의 데이터 페이로드들을 포함하는 소스 블록을 부호화하는 장치 및 방법을 제공한다. 상기 방법은 상기 소스 블록을 소정 개수 (M개)의 서브 블록 (Sub Block)으로 분할하고, 상기 소정 개수 (M개)의 서브 블록 각각을 제1 FEC 코드로 부호화하여 상기 소정 개수 (M개)의 서브 블록 각각에 대응한 소정 개수 (P1개)의 기본 패리티 페이로드 (Based Parity Payload)들을 생성하고, 상기 소스 블록을 구성하는 데이터 페이로드들 중 특정 종류의 데이터 페이로드들을 제2 FEC 코드로 부호화하여 상기 소스 블록에 대응한 소정 개수 (P2개)의 확장 패리티 페이로드 (Extended Parity Payload)들을 생성하고, 생성된 소정 개수 (P1개)의 기본 패리티 페이로드들을 포함하는 소정 개수 (N개)의 서브 부호화 블록 (Sub Encoded Block)과, 상기 소정 개수 (P2개)의 확장 패리티 페이로드 (Extended Parity Payload)들에 의해 소스 부호화 블록 (Source Encoded Block)을 구성하는 과정을 포함한다.

Description

방송 데이터 송/수신장치 및 방법{APPARATUS AND METHOD OF TRANSMITING/RECEIVING BROADCAST DATA}
본 발명은 방송 데이터를 송신 및/또는 수신하는 장치 및 방법에 관한 것이다. 특히 본 발명은 부호화 (encoding) 및 복호화 (decoding) 기술을 기반으로 방송 데이터를 송/수신하는 장치 및 방법에 관한 것이다.
통상적으로 방송 네트워크 (Broadcast Network)에서 멀티미디어 컨텐츠 (Multimedia Content)는 MPEG-2 TS (Moving Picture Experts Group-2 Transport Stream)를 사용하여 전송된다. 특히 MPEG-2 TS는 오류가 있는 전송 환경에서 복수의 방송 프로그램이 다중화된 비트 열을 전송할 시에 사용하는 것이 바람직하다. 예를 들어 MPEG-2 TS는 디지털 텔레비전들 (DTVs)을 위한 방송 서비스에 사용이 적합하다.
도 1은 종래 MPEG-2 TS를 지원하기 위한 계층 구조를 도시한 것이다.
도 1을 참조하면, MPEG-2 TS를 지원하기 위한 계층은 미디어 코딩 계층 (MEDIA CODING LAYER)(110), 동기 계층 (SYNC LAYER)(120), 전송 계층 (DELIVERY LAYER)(130), 네트워크 계층 (NETWORK LAYER)(140), 데이터 링크 계층 (DATA LINK LAYER)(150) 및 물리 계층 (PHYSICAL LAYER)(160)으로 구성된다.
상기 미디어 코딩 계층 (MEDIA CODING LAYER)(110)과 상기 동기 계층 (SYNC LAYER)(120)은 미디어 데이터를 기록하고 송신을 위해 기본 단위로 사용하는 포맷으로 구성한다. 상기 전송 계층 (DELIVERY LAYER)(130), 상기 네트워크 계층 (NETWORK LAYER)(140), 상기 데이터 링크 계층 (DATA LINK LAYER)(150) 및 물리 계층 (PHYSICAL LAYER)(160)은 상기 동기 계층 (SYNC LAYER)(120)에 의해 구성된 포맷의 데이터 블록을 별도의 기록 매체에 기록하거나 전송을 위한 멀티미디어 프레임을 구성한다. 상기 구성된 멀티미디어 프레임은 소정의 네트워크를 통해 가입자 단말 등으로 전송된다.
상기 동기 계층 (SYNC LAYER)(120)은 분할 블록 (FRAGMENT BLOCK)(122)과 접근 유닛 (ACCESS UNIT)(124)을 포함하고, 상기 전송 계층 (DELIVERY LAYER)(130)은 MPEG-2 TS/Moving Picture Experts Group-4 (MP4) 유닛 (132), Real-time Transport Protocol/Hypertext Transfer Protocol (RTP/HTTP) (134) 및 User Datagram Protocol/Transmission Control Protocol unit (UDP/TCP) (136)을 포함한다.
하지만 상기 MPEG-2 TS는 멀티미디어 서비스를 지원함에 있어 몇 가지의 한계점을 가진다. 즉 상기 MPEG-2 TS는 단 방향 통신, 고정된 프레임 크기로 인한 전송의 비효율성, 오디오/비디오에 특화되어 있는 전송 프로토콜 및 인터넷 프로토콜 (IP: Internet Protocol)을 사용하여 전송할 시에 불필요한 오버헤드 등이 발생할 수 있다. 즉 MPEG은 MPEG 기반 멀티미디어 서비스를 지원하기 위한 멀티미디어 전송 기술 중 하나로 MMT (MPEG MEDIA Transport) 표준을 새로이 제안하였다. 상기 MMT 표준은 MPEG-2TS의 한계점을 극복하기 위해 제안되었다.
예컨대 상기 MMT 표준은 이종 네트워크를 통해 효율적인 복합 컨텐츠 전송 서비스 (Hybrid contents Delivery Service)를 지원하기 위해 적용될 수 있다. 여기서 상기 복합 컨텐츠 전송 서비스는 비디오 (Video)/오디오 (Audio)/어플리케이션 (Application), 및 그 외의 유사 및/또는 적합한 요소들에 의한 복합적인 멀티미디어 요소를 가지는 컨텐츠를 제공하는 서비스를 의미한다. 상기 이종 네트워크는 방송 네트워크와 통신 네트워크 등이 혼재하는 복합 네트워크 (Hybrid Network)를 의미한다. 뿐만 아니라 상기 MMT 표준은 멀티미디어 서비스를 위한 전송 네트워크에서의 기본 기술이 되고 있는 IP에 보다 친화적인 전송 기술을 정의하는 것을 목적으로 한다.
따라서 상기 MMT 표준은 대표적으로 IP를 기반으로 변화하는 멀티미디어 서비스 환경에서 효율적인 MPEG 전송 기술을 제공하기 위한 것으로서, 지속적인 연구와 함께 표준화가 진행되고 있다. 상기 MMT 표준은 복합 네트워크와 복합 콘텐츠 전송 서비스를 제공하고자 하는 근래의 멀티미디어 서비스 환경에서 효율적인 MPEG 전송 기술을 제공하기 위한 방안을 사용한다. 한편 MMT 시스템은 고 해상도 (이하 'HD'라 칭함) 컨텐츠, 초 고해상도 (이하 ‘UHD’라 칭함) 컨텐츠 또는 그 외의 유사 및/또는 적합한 컨텐츠와 같은 고 용량의 컨텐츠를 다양하게 제공한다.
상기 MMT 시스템은 컨텐츠의 다양화와 고 용량화로 인해, 데이터 혼잡이 점점 더 심화되고 있다. 이러한 이유로 송신 장치에 의해 송신된 컨텐츠 데이터가 정상적으로 수신 장치에게 전달되지 못하고, 상기 송신된 컨텐츠 데이터의 일부 혹은 전부가 전송 중에 손실되는 상황이 발생한다. 일반적으로 데이터는 패킷 단위로 전송되므로, 데이터의 손실은 패킷 단위로 발생한다. 상기 MMT 시스템에서 발생하는 패킷 손실은 오디오의 품질 저하, 비디오의 화질 열화나 화면 깨짐, 자막 누락, 파일의 손실, 및 그 외의 유사 및/또는 적합한 문제를 초래한다. 즉 MMT 시스템은 채널 상태에 따른 네트워크의 혼잡 등이 원인이 되어 발생할 수 있는 정보 데이터의 손실을 감소시키기 위한 오류 제어 기술을 사용한다. 상기 오류 제어 방식의 대표적인 예로는 어플리케이션 계층-순방향 오류 정정 (이하 'AL-FEC’라 칭함) 방식이 있다.
하지만 복합 컨텐츠 전송 서비스 (Hybrid contents Delivery Service)를 지원하는 MMT 시스템에서 AL-FEC 방식을 적용하기 위해서는, 상기 복합 컨텐츠 전송 서비스 (Hybrid contents Delivery Service)를 위한 다양한 종류의 콘텐트 별로 요구되는 서비스 품질 (QoS: Quality of Service)를 만족시킬 수 있어야 한다. 예를 들어 오디오와 비디오 데이터는 일부 손실은 허용하나 가능한 지연이 발생하지 않는 QoS를 사용한다. 이에 반해 파일 데이터는 약간의 지연은 허용하나 가능한 손실이 발생하지 않은 QoS를 사용한다. 예를 들러 Scalable Video Coding (SVC)인 경우, 확장 계층 (Enhanced Layer)에 상응한 콘텐트에 비해 상대적으로 중요한 기본 계층 (Base Layer)에 상응한 콘텐트는 상대적으로 더 강한 부호화에 따른 보호가 요구된다. 이는 Multi-view coding (MVC)에 대해서도 동일하게 요구된다. 즉 3-Dimensional (3D) 컨텐츠의 경우, Left-view을 Base Layer로 간주하고, Right-view을 Enhanced Layer로 간주하여 Base Layer에 상대적으로 더 강한 보호가 사용된다. 즉 복합 컨텐츠 전송 서비스 (Hybrid contents Delivery Service)를 지원하는 MMT 시스템에서 서로 다른 QoS를 요구하는 복수의 Content를 효율적으로 보호하기 위한 AL-FEC 기술이 요구된다.
상술한 정보는 단지 본 발명의 이해를 돕기 위해 배경 정보로서 제시된다. 상기 본 발명에 관한 선행 기술로서 적용할 수 있는지 여부에 관해서는 어떠한 판정, 주장도 하지 않는다.
본 발명의 측면들은 앞에서 언급한 문제들 및/또는 불편들 (disadvantages) 및 아래에서의 유리한 개시를 최소한 대비하기 위해 적어도 하나를 언급할 것이다. 그런 이유로 본 발명의 하나의 측면에서 서로 다른 QoS을 요구하는 종류의 데이터를 포함하는 소스 블록을 QoS를 고려하여 부호화 및 복호화하는 장치 및 방법을 제공한다.
본 발명의 다른 측면에서 서로 다른 QoS를 요구하는 종류의 데이터를 포함하는 소스 블록을 이중 (two stage)로 부호화할 시, 상기 소스 블록을 구성하는 데이터 세그먼트의 타입에 따라 적용할 이중 FEC 부호화 방식을 결정하는 부호화 장치 및 방법을 제공한다.
본 발명의 다른 측면에서 서로 다른 QoS를 요구하는 종류의 데이터를 포함하는 소스 블록을 이중 (two stage)로 부호화할 시, 부호화 시그널 정보를 구성하는 부호화 장치 및 방법을 제공한다.
본 발명의 다른 측면에서 서로 다른 QoS를 요구하는 종류의 데이터에 의해 구성된 소스 블록을 이중 (two stage)로 부호화할 시, 확장 부호화의 대상을 식별하는 정보가 부호화 시그널 정보에 포함되도록 하는 부호화 장치 및 방법을 제공한다.
본 발명의 다른 측면에서 서로 다른 QoS를 요구하는 종류의 데이터에 의해 구성된 소스 블록을 이중 (two stage)로 부호화할 시, 확장 부호화의 대상이 소스 블록 전체인지 상기 소스 블록 내에서 특정 종류의 데이터 세그먼트인지를 식별하는 플래그를 부호화 시그널 정보에 추가하는 것을 제안한다.
본 발명의 다른 측면에서 서로 다른 QoS를 요구하는 종류의 데이터에 의해 구성된 소스 블록을 이중 (two stage)로 부호화할 시, 상기 이중 (two stage)로 부호화에 의해 생성된 소스 부호화 블록 내의 페이로드들의 위치 정보를 부호화 시그널 정보에 포함시키기 위한 방안을 마련한다.
본 발명의 일 측면에 따른 멀티미디어 시스템에서 송신 장치의 동작 방법은, 소스 데이터에 적용될 어플리케이션 계층-순방향 정정 (application layer forward error correction (AL-FEC)) 부호화 구조를 식별하는 과정과, 상기 AL-FEC 부호화 구조를 기반으로 상기 소스 데이터에 대해 AL-FEC 부호화를 수행하여 리페어 데이터를 생성하는 과정 및 상기 AL-FEC 부호화 구조를 지시하는 정보를 포함하는 시그널링 정보, 상기 소스 데이터 및 상기 리페어 데이터를 전송하는 과정을 포함하며,
여기서, 상기 AL-FEC 부호화를 수행하는 과정은, 제1 계층의 소스 데이터를 포함하는 제1 소스 심볼 블록과 상기 제1 계층과 상이한 제2 계층의 소스 데이터를 포함하는 제2 소스 심볼 블록을 생성하는 과정과, 상기 제1 소스 심볼 블록과 상기 제2 소스 심볼 블록을 포함하는 소스 심볼 블록 그룹을 생성하는 과정 및 상기 소스 심볼 블록 그룹에 대한 상기 AL-FEC 부호화를 수행하여 상기 소스 심볼 블록 그룹의 복구를 위한 제1 리페어 데이터 및 상기 제2 소스 심볼 블록에 대한 상기 AL-FEC 부호화를 수행하여 상기 제2 소스 심볼 블록의 복구를 위한 제2 리페어 데이터를 생성하는 과정을 포함할 수 있다.
본 발명의 다른 측면에 따른 멀티미디어 시스템에서 송신 장치는, 소스 데이터에 적용될 어플리케이션 계층-순방향 정정 (application layer forward error correction (AL-FEC)) 부호화 구조를 식별하고, 상기 AL-FEC 부호화 구조를 기반으로 상기 소스 데이터에 대해 AL-FEC 부호화를 수행하여 리페어 데이터를 생성하는 부호화기 및 상기 AL-FEC 부호화 구조를 지시하는 정보를 포함하는 시그널링 정보, 상기 소스 데이터 및 상기 리페어 데이터를 전송하는 송신기를 포함하며,
여기서, 상기 부호화기는, 제1 계층의 소스 데이터를 포함하는 제1 소스 심볼 블록과 상기 제1 계층과 상이한 제2 계층의 소스 데이터를 포함하는 제2 소스 심볼 블록을 생성하고, 상기 제1 소스 심볼 블록과 상기 제2 소스 심볼 블록을 포함하는 소스 심볼 블록 그룹을 생성하며, 상기 소스 심볼 블록 그룹에 대한 상기 AL-FEC 부호화를 수행하여 상기 소스 심볼 블록 그룹의 복구를 위한 제1 리페어 데이터 및 상기 제2 소스 심볼 블록에 대한 상기 AL-FEC 부호화를 수행하여 상기 제2 소스 심볼 블록의 복구를 위한 제2 리페어 데이터를 생성할 수 있다.
다른 특징, 이점 및 본 발명의 현저한 특징은 첨부된 도면과 함께, 본 발명의 예시적인 실시 예를 개시하고, 다음의 상세한 설명으로부터 당업자에게 명백해질 것이다.
본 발명에서는 방송 서비스를 위해 서로 다른 QoS를 요구하는 여러 종류의 데이터 별로 선택적인 FEC 부호화를 적용할 수 있어, 소스 블록에 대한 효율적인 보호가 가능하다.
한편 그 외의 다양한 효과는 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 것이다.
다른 측면에서의 효과 및 본 발명의 현저한 특징은 부가된 도면, 본 발명의 바람직한 실시 예에 대한 개시와 함께 상세한 설명으로부터 당업자에 의해 명백해질 것이다.
상술한 기재 및 다른 측면, 구성들 및 본 발명의 특정 예시적인 실시 예들의 이점들은 첨부된 도면을 참조하여 이들의 세부 사항에 대한 대표적인 실시 예에서 취한 다음의 설명으로부터 더욱 명백해질 것이다.
도 1은 종래 MPEG-2 TS를 지원하기 위한 계층 구조를 도시한 도면;
도 2는 본 발명의 실시 예를 적용하기 위한 부호화 장치에서 생성된 소스 부호화 블록 (또는 FEC 블록)의 구조에 대한 예들을 보이고 있는 도면;
도 3은 본 발명의 실시 예에 따른 전 이중 FEC 부호화 방안의 예를 보이고 있는 도면;
도 4는 본 발명의 실시 예에 따른 부분 이중 FEC 부호화 방안의 일 예를 보이고 있는 도면;
도 5 내지 도 7은 본 발명의 실시 예에 따라 소스 블록을 구성하는 데이터 세그먼트의 타입에 대한 예를 보이고 있는 도면;
도 8은 본 발명의 실시 예에 따른 부호화 시그널 정보를 In-Band Signaling에 의해 전송하는 예를 보이고 있는 도면;
도 9는 본 발명의 실시 예에 따른 부호화 시그널 정보를 In-Band signaling에 의해 전송하기 위한 서브 부호화 블록의 소스 파트를 구성하는 소스 패킷의 구조에 대한 일 예를 보이고 있는 도면;
도 10은 본 발명의 실시 예에 따른 부호화 시그널 정보를 In-Band signaling에 의해 전송하기 위한 서브 부호화 블록의 패리티 파트를 구성하는 패리티 패킷의 구조에 대한 일 예를 보이고 있는 도면;
도 11은 본 발명의 실시 예에 따른 소스 패킷 (도 9)과 패리티 패킷 (도 10)에 해당하는 MMT 패킷의 MMT 헤더(940, 1020)의 구조를 보이고 있는 도면;
도 12는 본 발명의 실시 예에 따른 소스 패킷 (도 9)과 패리티 패킷 (도 10)에 해당하는 MMT 패킷의 FEC In-band Signals(930, 1030)의 구조를 보이고 있는 도면;
도 13은 본 발명의 실시 예에 따른 부분 이중 FEC 부호화를 In-Band Signaling을 통해 구현한 예를 보이고 있는 도면;
도 14는 본 발명의 실시 예에 따른 부호화 시그널 정보를 Out-band signaling에 의해 전송하기 위한 장치의 구성을 보이고 있는 도면;
도 15는 본 발명의 실시 예에 따른 부호화 시그널 정보를 In-band signaling에 의해 전송하기 위한 장치의 구성을 보이고 있는 도면.
도면에 걸쳐, 그와 같은 참조 번호는 동일한 구성 요소, 특징, 구조를 묘사하기 위해 사용된다는 것임에 유의하여야만 한다.
하기의 첨부된 도면을 참조한 설명은 청구항들과 그것의 등가물에 의해 정의된 본 발명의 실시 예들에 대한 포괄적인 이해를 돕기 위해 제공될 것이다. 그것은 이해를 돕기 위해 다양한 특정 세부 사항을 포함하나, 이것은 단지 예시적인 것으로 간주할 수 있을 것이다. 따라서 당업자는 여기세 설명된 실시 예에 대한 변화와 변경은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 이루어질 수 있을 것이다. 또한 이미 잘 알려진 기능과 구조에 대한 설명은 명확하고 간결함을 위해 생략될 수도 있다.
하기의 설명 및 청구항들에서 사용된 용어들과 단어들은 사전적인 의미에 국한되지 않고, 그저 발명자에 의해 발명이 명확하고 일관될 수 있도록 사용될 것이다. 따라서 하기에서 본 발명의 바람직한 실시 예에 대한 설명은 첨부된 청구항들과 이에 대한 등가물에 의해 정의되는 발명을 한정하기 위함이 아니라 오직 실 예를 보이기 위한 목적으로 제공됨이 명백할 것이다.
단수의 유형 "하나의 (a, an)" 및 "상기 (the)"는 문맥 상에서 명백하게 구분하여 지정되지 않더라도 복수의 지시 대상을 포함하는 것으로 이해될 수 있다. 즉, 예를 들어, "하나의 구성 요소면"의 참조는 하나 또는 그 이상의 표면을 지칭함을 포함한다.
하기에서는 본 발명의 바람직한 실시 예에 따른 상세한 설명에서 설명의 편의를 위해 사용할 용어들을 정의한다. 소스 블록 (Source Block)은 복합 콘텐트 전송 서비스 (Hybrid Contents Delivery Service)를 위해 서로 다른 QoS를 요구하는 상이한 종류의 데이터 세그먼트들 (Data Segments)의 집합이다. 서브 블록 (Sub Block)은 소정 크기에 의해 소스 블록을 M개 (여기서 M은 1 이상의 정수)로 분할한 것으로, 서로 다른 QoS를 요구하는 여러 종류의 데이터 세그먼트들을 포함하는 데이터 블록이다. 데이터 세그먼트 (Data Segment)는 소스 블록 또는 서브 블록 내에 소정의 크기로 기록되는 데이터의 단위 집합이다. 순방향 오류 정정 부호 (FEC (Forward Error Correction) Code)는 FEC 부호화를 위해 사용되는 코드로써, 에러 또는 삭제 (Erasure) 심볼을 정정하기 위한 오류 정정 부호. 예컨대 FEC 코드로는 RS 코드, LDPC, 랩터 (Raptor) 코드, 랩터 Q (Raptor Q) 코드, XOR 등의 다양한 코드가 사용될 수 있다. FEC 부호화 (FEC Coding)는 FEC 코드를 사용하여 소스 블록 또는 서브 블록 또는 소스 블록 내에 존재하는 특정 종류의 데이터 세그먼트들을 대상으로 수행되는 부호화이다.
더불어 이중 FEC 부호화 (Two Stage FEC Coding)는 서브 블록을 제1 FEC 코드를 사용하여 첫 번째 FEC 부호화 (또는 제1 FEC 부호화)를 수행하고, 소스 블록 또는 소스 블록 내에 존재하는 특정 종류의 데이터 세그먼트들을 대상으로 두 번째 FEC 부호화 (또는 제2 FEC 부호화)를 수행하는 부호화 방안이다. 서브 부호화 블록 (Sub Coded Block) 또는 FEC 프레임 (FEC Frame)은 서브 블록을 제1 FEC 부호화하여 생성한 코드워드 (codeword)로써, 제1 FEC 부호화를 수행할 타깃 서브 블록 (즉 소스 파트 (Source Part))과, 상기 타깃 서브 블록을 제1 FEC 부호화함으로써 획득한 패리티 파트 (Parity Part 또는 Repair Part)로 구성됨. 설명의 편의를 위해 서브 부호화 블록이라는 용어로 통칭하여 사용한다. 소스 파트 (Source Part)는 제1 FEC 부호화를 수행할 타깃 서브 블록에 상응하며, 서브 부호화 블록을 구성하는 소정 개수 (K, 1 이상의 정수)의 소스 페이로드들 (또는 소스 패킷들)의 집합. 따라서 소정 개수 (K)의 소스 페이로드들은 타깃 서브 블록을 구성하는 데이터 세그먼트들과 동일할 수 있다. 패리티 파트 (Parity Part 또는 Repair Part)는 소정의 데이터에 대한 FEC 부호화를 수행함으로써 에러 정정을 위해 획득되는 소정 개수의 패리티 페이로드들 (또는 패리티 패킷들)의 집합이다.
또한 기본 패리티 파트 (Based Parity Part 또는 Based Repair Part)는 타깃 서브 블록을 제1 FEC 부호화하여 서브 부호화 블록을 구성하는 소정 개수 (P1, 1 이상의 정수)의 패리티 페이로드들 (또는 패리티 패킷들)의 집합이다. 확장 패리티 파트 (Extended Parity Part 또는 Extended Repair Part)는 소스 블록 전체 또는 소스 블록 내에 존재하는 특정 종류의 데이터 세그먼트들을 제2 FEC 부호화함으로써 획득되는 소정 개수 (P2, 1 이상의 정수)의 패리티 페이로드들 (또는 패리티 패킷들)의 집합이다. 소스 부호화 블록 (Source Coded Block) 또는 FEC 블록은 소스 블록을 제1 FEC 부호화하여 획득한 서브 부호화 블록들 및 소스 블록 전체 또는 소스 블록 중 특정 종류의 데이터 세그먼트들을 제2 FEC 부호화하여 획득한 확장 패리티 파트를 포함하는 부호화 블록이다. 소스 부호화 패킷 ((Source Coded Packet) 또는 FEC 패킷은 헤더 정보와 소스 부호화 블록 (Source Coded Block) (또는 FEC 블록)에 의해 구성된 패킷. In-Band Signaling을 적용하는 경우, 헤더 정보는 소스 부호화 블록 (Source Coded Block) (또는 FEC 블록)에 상응한 부호화 시그널 정보를 포함한다. 부호화 시그널 정보 (Coded Signal Information) 또는 FEC 제어 정보 (FEC Control Information)는 소스 부호화 블록을 복원하기 위해 참조되거나 소스 부호화 패킷 ((Source Coded Packet) 또는 FEC 패킷)을 제어하는 제어 정보이다. 이것은 이중 FEC 부호화에 따른 구성 정보 (second FEC Encoding Configuration information)를 포함한다. 즉 제1 FEC 부호화에 따른 구성 정보 (first FEC Encoding Configuration information) 및 제2 FEC 부호화에 따른 구성 정보 (second FEC Encoding Configuration information)를 포함한다.
추가로 부호화 시그널 패킷 (Coded Signal Packet) 또는 FEC 제어 패킷 (FEC Control Packet)은 Out-Band Signaling을 적용하는 경우, 부호화 시그널 정보 (Coded Signal Information) 또는 FEC 제어 정보 (FEC Control Information)를 전송하기 위한 패킷이다. 심볼 (Symbol)은 소스 블록, 서브 블록, 소스 부호화 블록, 서브 부호화 블록 내에서의 데이터 단위이다. 소스 심볼 (Source Symbol)은 FEC 부호화 이전, 즉 소스 블록, 서브 블록을 구성하는 데이터 심볼이다. 부호화 심볼 (Encoding Symbol)은 소스 심볼에 대한 제1 또는 제2 FEC 부호화를 수행하여 생성되는 심볼들로써, 소스 부호화 블록, 서브 부호화 블록을 구성하는 데이터 심볼이다. 정보 심볼 (Systematic Symbol 또는 Information Symbol)은 부호화 심볼들 중 소스 파트 (Source Part)에 속하는 부호화 심볼이다. 잉여 심볼 (Parity Symbol 또는 Repair Symbol)은 부호화 심볼들 중 패리티 파트 (Parity Part 또는 Repair Part)에 속하는 부호화 심볼이다. 기본 잉여 심볼 (Based Parity Symbol 또는 Based Repair Symbol)은 부호화 심볼들 중 기본 패리티 파트 (Based Parity Part 또는 Based Repair Part)에 속하는 부호화 심볼이다. 확장 잉여 심볼 (Extended Parity Symbol 또는 Extended Repair Symbol)은 부호화 심볼들 중 확장 패리티 파트 (Extended Parity Part 또는 Extended Repair Part)에 속하는 부호화 심볼이다.
후술 될 본 발명의 실시 예에서는 서로 다른 QoS를 요구하는 종류의 데이터를 포함하는 소스 블록을 이중 (two stage)으로 부호화 (이하 ‘이중 FEC (two stage FEC) 부호화’라 칭함)할 시, 이에 따른 부호화 시그널 정보 (FEC Signal Information) 를 새로이 정의한다.
이때 새로이 정의된 부호화 시그널 정보는 이중 FEC 부호화에 의해 부호화된 소스 블록의 복원하기 위해 사용될 제어 정보를 의미한다. 예컨대 상기 부호화 시그널 정보는 소스 블록의 부호화를 위해 사용되는 이중 FEC 부호화 기법에 대응하여 정의될 수 있다. 이에 대해서는 후술될 설명에서 보다 상세하게 개시될 것이다.
한편 본 발명의 바람직한 실시 예에서는 이중 FEC 부호화에 의해 생성된 부호화 블록을 복원하는 장치 (이하 ‘복호화 장치’라 칭함)에게 부호화 시그널 정보를 제공하기 위한 방안을 마련한다.
또한 본 발명의 바람직한 실시 예에서는 이중 FEC 부호화를 위해 전 이중 FEC 부호화 방식과 부분 이중 FEC 부호화 방식을 선택적으로 사용함을 제안하고 있다. 예컨대 소스 블록을 구성하는 각 데이터 세그먼트의 타입에 의해 전 이중 FEC 부호화 방식을 사용할 것인지 부분 이중 FEC 부호화 방식을 사용할 것인지를 판단한다. 여기서 데이터 세그먼트의 타입은 해당 데이터 세그먼트가 한 종류의 데이터만으로 구성된 제1타입과, 다른 종류의 데이터들을 다중화하여 구성된 제2타입으로 분류될 수 있다.
이를 위해서는 소스 블록을 구성하는 데이터 페이로드의 헤더 정보에 타입을 구분하기 위한 식별 정보가 포함되어야 할 것이다.
도 2A와 2B는 본 발명의 바람직한 실시 예를 적용하기 위한 부호화 장치에서 생성된 소스 부호화 블록 (또는 FEC 블록)의 구조를 보이고 있다.
도 2A는 소스 블록에 대한 한 번의 FEC 부호화에 의해 생성된 소스 부호화 블록의 구조 (One Stage FEC Coding Structure)를 보이고 있다.
도 2A를 참조하면, 소스 블록은 소정 크기를 가지는 M개의 서브 블록으로 분할된다. 상기 M개의 서브 블록 각각은 FEC 코드에 의해 FEC 부호화된다. 상기 FEC 부호화에 의해 M개의 서브 블록 각각에 대응하여 K개의 소스 페이로드들 (K PLs)과, P개의 패리티 페이로드들 (P PLs)이 생성된다.
상기 서브 블록은 서로 다른 서비스 품질을 요구하는 상이한 종류의 데이터 세그먼트들에 의해 구성됨을 가정한다. 상기 데이터 세그먼트는 동일한 종류의 Asset에 대응한 데이터에 의해 구성되거나 종류가 다른 복수의 Asset에 대응한 데이터를 다중화하여 구성된다. 여기서 종류가 다른 복수의 Asset은 오디오 Asset, 비디오 Asset 및 파일 Asset 등이 될 수 있다.
도 2A를 참조하면, 동일한 QoS를 요구하는 오디오 Asset와 비디오 Asset에 상응한 오디오 및 비디오 소스 페이로드 (AV data)는 빗금으로 표시하였다. 다른 QoS를 요구하는 파일 Asset에 상응한 파일 데이터 소스 페이로드 (File data)는 도트로 표시하였다. 그 외에 패리티 페이로드는 빈 공백으로 표시하였다. P개의 패리티 페이로드들은 오디오 및 비디오 데이터 세그먼트에 대한 FEC 부호화에 의해 생성된 P1개의 패리티 심볼들과, 파일 데이터 세그먼트에 대한 FEC 부호화에 의해 생성된 P2개의 패리티 심볼들에 의해 구성된다.
따라서, 서브 블록을 FEC 부호화하여 획득한 서브 부호화 블록은 소스 파트와 패리티 파트로 구성된다. 상기 소스 파트는 K개의 소스 페이로드들을 포함하며, 상기 패리티 파트는 P개의 패리티 페이로드들을 포함한다. 일 예로 상기 K개의 소스 페이로드들은 오디오, 비디오 및 파일 데이터 세그먼트에 대응한 소스 페이로드들로 구성된다. 상기 P개의 패리티 페이로드들은 오디오 데이터 세그먼트와 비디오 데이터 세그먼트를 FEC 부호화하여 생성한 P1개의 패리티 페이로드들과, 파일 데이터 세그먼트를 FEC 부호화하여 생성한 P2개의 패리티 페이로드들로 구성된다.
도 2B는 소스 블록에 대한 두 번의 FEC 부호화에 의해 생성한 소스 부호화 블록의 구조 (Two Stage FEC Coding Structure)를 보이고 있다.
도 2B를 참조하면, 소스 블록은 소정 크기를 가지는 M개의 서브 블록으로 분할된다. 상기 M개의 서브 블록 각각에 대한 제1 FEC 부호화는 M개의 서브 부호화 블록들을 생성한다. 상기 M개의 서브 부호화 블록 각각은 K PLs과, P1개의 패리티 페이로드들 (P1 PLs)을 포함한다.
상기 소스 블록 전체 또는 상기 소스 블록 내에 존재하는 특정 종류 (특정 Asset)의 데이터 세그먼트들에 대한 제2 FEC 부호화를 수행한다. 상기 제2 FEC 부호화에 의해 P2개의 확장 패리티 페이로드들 (P2B, M*P2 PLs)이 생성된다.
따라서, 제1 FEC 부호화에 의해 획득되는 서브 부호화 블록들 각각은 소스 파트와 기본 패리티 파트로 구성된다. 상기 소스 파트는 K개의 소스 페이로드들을 포함한다. 상기 기본 패리티 파트는 P1개의 패리티 페이로드들을 포함한다. 일 예로 소스 파트에 포함된 K개의 소스 페이로드들은 오디오, 비디오 및 파일 데이터 세그먼트에 대응한다. 기본 패리티 파트에 포함된 P1개의 패리티 페이로드들은 오디오, 비디오 및 파일 데이터 세그먼트를 제1 FEC 부호화하여 생성된다.
도 2B를 참조하면, 동일한 QoS를 요구하는 오디오 Asset와 비디오 Asset에 상응한 오디오 및 비디오 소스 페이로드 (AV data)는 빗금으로 표시하였다. 다른 QoS를 요구하는 파일 Asset에 상응한 파일 데이터 소스 페이로드 (File data)는 도트로 표시하였다. 그 외에 패리티 페이로드는 빈 공백으로 표시하였다.
제2 FEC 부호화는 소스 블록 내에 존재하는 모든 데이터 세그먼트들 또는 소스 블록 내에 존재하는 특정 종류의 데이터 세그먼트들 (일 예로 파일 데이터 세그먼트)에 대해 수행된다. 상기 제2 FEC 부호화에 의해 생성된 P2개의 확장 패리티 페이로드들은 확장 패리티 파트를 구성한다. 즉 소스 부호화 블록은 제1 FEC 부호화에 의한 서브 부호화 블록들과, 제2 FEC 부호화에 의한 확장 패리티 파트를 결합하여 구성된다.
상술한 바에서는, Hybrid Contents Delivery Service (예를 들어 AV streaming with File)를 위해, "One Stage"에서 각각의 서브 블록이 잉여 심볼들 (P1+P2 FEC Parity)를 더 포함하는 첫 번째 경우(도 2A)와, "Two Stages"에서 M개의 서브 블록 전체에 확장 잉여 심볼들 (M*P2 FEC Parity)을 부가한 두 번째 경우 (도 2B)에 대해 살펴보았다. 상기 Hybrid Contents Delivery Service는 AV 데이터와 파일 데이터를 함께 전송한다. 상기 파일 데이터는 AV 데이터보다 더 좋은 FEC 성능을 요구한다. 따라서 파일 데이터를 함께 전송하기 위해서는 AV 데이터만을 서비스하는 경우에 비해 FEC Parity, 즉 확장 잉여 심볼이 추가로 요구된다.
통상적으로 AV streaming service는 지연 (delay)이 작을수록 좋다. 상기 AV streaming service에 있어서 작은 지연 (low delay)을 얻기 위해서는 가능한 짧은 블록 (short block), 즉 FEC 코드를 이용하여 FEC 부호화를 수행하여야 한다. 하지만 파일 데이터는 지연에 크게 영향을 받지 않으나 높은 FEC 성능을 요구한다. 따라서 파일 데이터는 가능한 긴 블록 (long block), 즉 FEC 코드를 이용하여 FEC 부호화를 수행하여야 한다. 이는 FEC 부호화의 특성상 동일 패리티 부가 율을 적용하는 경우, 긴 블록이 짧은 블록에 비해 상대적으로 좋은 FEC 성능을 보이기 때문이다.
즉 동일 스트림 내에 AV 데이터와 파일 데이터를 같이 전송하여야 하는 Hybrid Contents Delivery Service에서 AV 데이터에 대한 낮은 지연과, 파일 데이터에 대한 높은 FEC 성능을 보장하는 FEC 부호화 기술이 필요하게 되었다.
본 발명의 바람직한 실시 예에서는 짧은 블록 (Short Block)으로 AV 데이터를 보호하고, 긴 블록 (Long Block)으로 파일 데이터를 보호하는 이중 FEC 부호화 구조 (Two Stage FEC coding structure)를 기반한다.
상기 이중 FEC 부호화 구조 (Two Stage FEC coding structure)는 상대적으로 높은 FEC 성능을 요구하는 Asset을 위해 확장 패리티 (P2 parity)를 추가로 할당한다. 일 예로 이중 FEC 부호화는 Low Delay를 요구하는 AV Asset에 대해서는 Short Block에 의한 FEC 부호화를 적용하고, 양호한 FEC 성능을 요구하는 File Data에 대해서는 Long Block에 의한 FEC 부호화를 적용한다. 한편 이중 FEC 부호화는 제1 FEC 부호화 외에 추가로 수행하는 제2 FEC 부호화를 적용할 대상에 의해 두 가지 구현 방안이 본 발명의 바람직한 실시 예로 제공될 수 있다. 그 첫 번째 구현 방안은 제2 FEC 부호화의 대상을 소스 블록 전체로 하는 것이다. 그 두 번째 구현 방안은 제2 FEC 부호화의 대상을 소스 블록 내에서 기준 조건을 만족하는 QoS를 요구하는 특정 종류의 데이터 세그먼트를 대상으로 하는 것이다. 상기 첫 번째 구현 방안은 ‘전 이중 FEC (Full Two Stages FEC) 부호화 방안’으로 옵션 1이 될 수 있고, 상기 두 번째 구현 방안은 ‘부분 이중 FEC (Partial Two Stages FEC) 부호화 방안’으로 옵션 2가 될 수 있다.
도 3은 본 발명의 바람직한 실시 예에 따른 전 이중 FEC 부호화 방안을 보이고 있다.
도 3을 참조하면, 소스 블록(310)은 M개의 서브 블록들(312-1, 312-2……312-M)로 분할된다. 상기 분할된 M개의 서브 블록들(312-1, 312-2……312-M) 각각은 첫 번째 FEC 부호화 (FEC 1 Encoding)(314)가 이루어진다. 상기 첫 번째 FEC 부호화(314)에 의해 상기 M개의 서브 블록들(312-1, 312-2……312-M) 각각에 대응한 M개의 서브 부호화 블록들이 생성된다. 상기 M개의 서브 부호화 블록들 각각은 소스 파트(316-1, 316-2……316-M)와 패리티 파트(318-1, 318-2……318-M)를 포함한다. 상기 소스 파트(316-1, 316-2……316-M)는 대응하는 서브 블록과 동일한 심볼들로 구성됨에 따라, 도면 상에서 동일한 용어도 표시하였다. 상기 패리티 파트(318-1, 318-2……318-M)는 대응하는 서브 블록에 대한 첫 번째 FEC 부호화를 수행하여 획득한 패리티 심볼들에 의해 구성된다.
한편 소스 블록(310)은 두 번째 FEC 부호화 (FEC 2 Encoding)(320)가 이루어진다. 상기 두 번째 FEC 부호화(320)에 의해 확장 잉여 심볼들이 획득된다. 상기 획득된 확장 잉여 심볼들에 의해 확장 패리티 파트 (P2)(322)가 구성된다. 즉 소스 부호화 블록은 첫 번째 FEC 부호화(314)에 의해 획득한 M개의 서브 부호화 블록들과 두 번째 FEC 부호화(320)에 의해 획득한 확장 패리티 파트(322)의 결합에 의해 구성된다.
상술한 바에 따르면, 전 이중 FEC 부호화는 제1 FEC 부호화와 제2 FEC 부호화가 소스 블록 전체를 대상으로 수행된다. 즉 상기 제1 FEC 부호화는 소스 블록으로부터 분할된 서브-블록 각각을 제1 FEC 코드에 의해 부호화하여 소정 개수 (P1)의 패리티 페이로드들을 포함하는 기본 패리티 파트를 생성한다. 상기 제2 FEC 부호화는 소스 블록의 전체를 제2 FEC 코드에 의해 부호화하여 소정 개수 (P2)의 패리티 페이로드들을 포함하는 확장 패리티 파트를 생성한다.
도 4는 본 발명의 실시 예에 따른 부분 이중 FEC 부호화 방안을 보이고 있다.
도 4를 참조하면, 소스 블록(410)은 M개의 서브 블록들(412-1, 412-2……412-M)로 분할된다. 상기 분할된 M개의 서브 블록들(412-1, 412-2……412-M) 각각은 제1 FEC 부호화 (FEC 1 Encoding)(414)가 이루어진다. 상기 제1 FEC 부호화(414)는 M개의 서브 블록들(412-1, 412-2……412-M) 각각에 대응한 M개의 서브 부호화 블록들을 생성한다. 상기 M개의 서브 부호화 블록들 각각은 소스 파트(416-1, 416-2……416-M)와 패리티 파트(418-1, 418-2……418-M)를 포함한다. 상기 소스 파트(416-1, 416-2……416-M)는 대응하는 서브 블록과 동일한 심볼들로 구성된다. 따라서 도면 상에서 동일한 용어도 표시하였다. 서브 블록에 대한 제1 FEC 부호화에 의해 획득한 패리티 심볼들은 상기 패리티 파트(418-1, 418-2……418-M)를 구성한다.
한편 제2 FEC 부호화 (FEC 2 Encoding)(420)는 소스 블록(410)을 구성하는 여러 종류의 데이터 세그먼트들(410-1, 410-2, 410-3, 410-4, 410-5, 410-6, 410-7, 410-8) 중 미리 설정된 조건을 만족하는 한 종류의 데이터 세그먼트(410-1, 410-2, 410-3, 410-4, 410-5, 410-6, 410-7, 410-8)를 대상으로 한다. 상기 제2 FEC 부호화(420)는 확장 잉여 심볼들을 생성한다. 상기 생성된 확장 잉여 심볼들은 확장 패리티 파트 (Extended Parity Block, P2)(422)를 구성한다. 소스 부호화 블록은 제1 FEC 부호화(414)에 의해 획득한 M개의 서브 부호화 블록들과 제2 FEC 부호화(420)에 의해 획득한 확장 패리티 파트(422)의 결합에 의해 구성된다.
한편 도 4에서 제안된 이중 FEC 부호화를 위해서는 제2 FEC 부호화를 적용할 데이터 세그먼트의 종류를 결정하여야 한다. 즉 제2 FEC 부호화를 적용할 데이터 세그먼트의 종류를 결정하기 위한 기준 조건을 미리 설정할 필요가 있다. 상기 기준 조건은 서브 블록을 구성하는 데이터 세그먼트들의 종류 별로 요구되는 QoS를 이용하여 설정하는 것이 바람직하다. 일 예로 기준 조건은 서브 블록을 구성하는 데이터 세그먼트들 중 가장 높은 QoS를 요구하는 종류의 데이터 세그먼트를 선택하는 것으로 설정할 수 있다. 예를 들어 오디오 데이터 세그먼트, 비디오 데이터 세그먼트 및 파일 데이터 세그먼트를 포함하는 서브 블록이 구성되었다면, 가장 높은 QoS가 요구되는 데이터 세그먼트가 기준 조건을 만족한다. 상기 가장 높은 QoS의 사용은 가장 높은 FEC 성능을 위해 필요하다.
일반적으로 데이터 세그먼트의 종류 별로 필요한 QoS는 전송 손실의 정도, 우선 순위, 에러 복구 성능, 전송 방식, 데이터 종류에 의해 결정된다. 즉 요구되는 전송 손실의 정도가 낮거나, 우선 순위가 높거나, 높은 수준의 에러 복구 성능이 요구되는 종류의 데이터 세그먼트가 상대적으로 QoS를 요구한다. 그 외에 Timed 전송에 비해 Non-timed 전송을 이용하는 데이터 세그먼트가 상대적으로 높은 QoS를 요구한다. 또한 3D 영상을 지원하기 위한 Left-view에 해당하는 데이터 세그먼트가 Right-view에 해당하는 데이터 세그먼트에 비해 상대적으로 높은 QoS가 필요하고, I-Frame, P-Frame, B-Frame 중에서는 I-Frame에 해당하는 데이터 세그먼트가 상대적으로 높은 QoS가 필요하다.
도 4에서의 경우는 소스 블록이 서로 다른 QoS를 요구하는 상이한 종류의 데이터 세그먼트들을 포함하는 것을 가정하고 있다. 이때 상기 데이터 세그먼트는 한 종류의 Asset에 대응한 데이터를 포함하거나 여러 종류의 Asset에 대응한 데이터들의 다중화에 의해 구성될 수도 있다.
상기 데이터 세그먼트들이 한 종류의 Asset에 대응한 데이터를 포함하는 경우, 도 4에서 제안된 부분 이중 FEC 부호화를 적용하는 것이 바람직하다. 그렇지 않고 상기 데이터 세그먼트들이 다른 종류의 Asset에 대응한 데이터의 다중화에 의해 데이터 구성되는 경우, 도 3에서 제안된 전 이중 FEC 부호화를 적용하는 것이 바람직하다. 하지만 여러 종류의 Asset에 대응한 데이터들의 다중화에 의해 데이터 세그먼트가 구성되었다고 하더라도, 제2 FEC 부호화를 적용할 Asset의 데이터에 대해서는 독립적인 데이터 세그먼트가 구성되었다면, 도 4에서 제안된 부분 이중 FEC 부호화를 적용하는 것이 바람직하다.
따라서 상술한 바를 고려할 시, 이중 FEC 부호화를 수행함에 있어, 전 이중 FEC 부호화와 부분 이중 FEC 부호화를 선택적으로 적용하기 위해서는 소스 블록에 포함된 데이터 세그먼트의 구성 타입을 확인할 수 있어야 한다.
예컨대 MMT Package는 각 MMT Asset 별로 전송 특성 (Transport Characteristic)을 정의한다. 그리고 상기 전송 특성은 에러 회복력에 관한 정보를 포함한다. 즉 상기 에러 회복력 정보는 전송 특성 정보 중 하나이다. 예컨대 상기 전송 특성은 각 Asset에서 요구되는 QoS에 관한 정보를 포함할 수 있다. 여기서 QoS에 관한 정보는 앞에서 정의한 바와 같이 손실 허용 정도, 지연 허용 정도 등에 의해 정의될 수 있다
도 5 내지 도 7은 본 발명의 실시 예에 따라 소스 블록을 구성하는 데이터 세그먼트의 타입에 대한 예를 보이고 있다. 도 5 내지 도 7에서는 소스 블록을 구성할 데이터의 종류가 비디오 Asset, 오디오 Asset 및 파일 Asset이고, 각 Asset 별로 고유한 식별 정보 (ID0, ID1, ID2)가 부여되었다.
도 5를 참조하면, 소스 블록 내의 데이터 세그먼트들은 한 종류의 Asset에 대응한 데이터 세그먼트들을 보이고 있다. 즉 도 5에서는 고유한 식별 정보 (이하 ‘Asset 식별 정보’라 칭함)를 부여 받은 비디오 Asset, 오디오 Asset 및 파일 Asset 각각이 독립적인 데이터 세그먼트를 구성한다. 이로 인해 각 데이터 세그먼트의 헤더에는 하나의 Asset 식별 정보만이 존재한다.
따라서 이중 FEC 부호화 시에 각 데이터 세그먼트의 헤더에 기록된 Asset 식별 정보에 의해, 해당 데이터 세그먼트가 어떠한 Asset을 위한 데이터를 담고 있는지를 알 수 있다. 이는 소스 블록을 구성하는 데이터 세그먼트들 중 제2 FEC 부호화를 수행할 파일 Asset에 대응한 데이터 세그먼트를 선별하는 것이 가능하도록 함으로, 도 5의 case에 대해서는 부분 이중 FEC 부호화 방식을 적용한다.
도 6은 소스 블록 내의 데이터 세그먼트의 일부는 여러 종류 Asset들 (비디오 Asset과, 오디오 Asset)을 위한 데이터가 다중화되어 구성되고, 나머지 일부 데이터 세그먼트는 한 종류의 Asset (파일 Asset)의 데이터를 포함한다. 상기 다중화에 의해 구성된 데이터 세그먼트의 헤더에는 오디오 Asset과 비디오 Asset에 대응한 Asset 식별 정보가 기록되고, 하나의 Asset에 의해 구성된 데이터 세그먼트의 헤더에는 파일 Asset에 대응한 Asset 식별 정보가 존재한다.
따라서 이중 FEC 부호화 시에 각 데이터 세그먼트의 헤더에 기록된 Asset 식별 정보에 의해, 해당 데이터 세그먼트가 어떠한 Asset을 위한 데이터를 담고 있는지를 알 수 있다. 이는 소스 블록을 구성하는 데이터 세그먼트들 중 제2 FEC 부호화를 수행할 파일 Asset에 대응한 데이터 세그먼트를 선별하는 것이 가능하도록 함으로, 도 6의 case에 대해서는 부분 이중 FEC 부호화 방식을 적용한다.
도 7은 소스 블록 내의 모든 데이터 세그먼트는 여러 종류 Asset들 (비디오 Asset과, 오디오 Asset, 파일 Asset)을 위한 데이터가 다중화되어 구성된다. 즉 도 7에서는 모든 데이터 세그먼트의 헤더에 오디오 Asset, 비디오 Asset, 파일 Asset에 대응한 Asset 식별 정보 모두가 포함된다.
따라서 이중 FEC 부호화 시에 각 데이터 세그먼트의 헤더에 기록된 Asset 식별 정보에 의해, 특정 Asset (파일 Asset)을 위한 데이터만을 추출하는 것이 어렵다. 이 경우 소스 블록으로부터 제2 FEC 부호화를 수행할 파일 Asset에 대응한 데이터만을 선별하는 것이 불가능하므로, 도 7의 case에 대해서는 전 이중 FEC 부호화 방식을 적용한다.
하기 <표 1>은 사용할 이중 FEC 부호화 방식을 결정하도록 정의된 데이터 세그먼트의 포맷에 대한 일 예를 보이고 있다. 즉 하기의 <표 1>에서는 데이터 세그먼트의 헤더를 통해 QoS 식별 정보를 제공하는 예를 보이고 있다.
....
QoS Indicator
....
상기 <표 1>에서 QoS Indicator는 우선 순위 (Priority), 계층 타입 (Layer Type), 프레임 종류 (Frame Type), 전송 형식 (Transition Type), FEC 성능, 데이터 종류 (Data Type) 등을 식별하는 정보이다. 예컨대 상기 QoS Indicator는 “High or Low Priority” 또는 “Base Layer or Enhanced Layer” 또는 “I-frame or not” 또는 “I-frame or other-frame” 또는 “Timed data or Non-timed data” 또는 “High or Low FEC Protection” 또는 “Left-view or Right-view” 또는 “AV data or File data” 등을 식별하기 위한 용도로 사용될 수 있다.
예컨대 QoS Indicator가 “Base Layer Asset”와 “Enhanced Layer Asset”을 식별하기 위한 정보인 경우, Base Layer Asset을 위한 데이터 세그먼트와 Enhanced Layer Asset을 위한 데이터 세그먼트를 구분할 수 있다. 이 경우 소스 블록을 구성하는 데이터 세그먼트 각각의 헤더에 기록된 Asset 식별 정보에 의해, 해당 데이터 세그먼트가 어떠한 Asset을 위한 것인지 인지할 수 있다.
따라서 이 경우에는 Base Layer Asset을 위한 데이터 세그먼트에 대해서만 제2 FEC 부호화를 수행하는 부분 이중 FEC 부호화를 적용할 수 있다.
하지만 Base Layer Asset을 위한 데이터와 Enhanced Layer Asset을 위한 데이터를 다중화하여 하나의 데이터 세그먼트를 구성한 경우에는 그렇지 않다. 그 이유는 데이터 세그먼트의 헤더에 Base Layer Asset에 상응한 Asset 식별 정보와 Enhanced Layer Asset에 상응한 Asset 식별 정보가 함께 존재하기 때문이다.
따라서 이 경우에는 Base Layer Asset을 위한 데이터 세그먼트에 대해서만 제2 FEC 부호화를 수행할 수 없으므로, 전 이중 FEC 부호화를 적용한다.
다른 예로써, 상기 QoS Indicator가 “I-frame”과 “other-frame”을 식별하기 위한 정보인 경우를 생각해 볼 수 있다. 이 경우 I-frame을 위한 데이터 세그먼트와 P-frame과 B-frame을 위한 데이터 세그먼트를 별도로 구성할 수 있다.
따라서 소스 블록을 구성하는 데이터 세그먼트의 헤더에 기록된 식별 정보에 의해 페이로드에 어떤 프레임을 위한 데이터가 기록되었는지를 인지할 수 있다. 상기 식별 정보는 해당 데이터 세그먼트의 페이로드가 I-frame의 데이터를 담고 있는지 아닌지를 나타내는 정보가 될 수 있다.
상기 식별 정보에 의해 해당 데이터 세그먼트의 페이로드에 담긴 데이터의 종류를 인지할 수 있으므로, 소스 블록을 구성하는 데이터 세그먼트 중 원하는 종류의 데이터 세그먼트를 선별하여 제2 FEC 부호화를 수행하는 부분 이중 FEC 부호화 방식의 적용이 가능하다.
하지만 I-frame의 데이터와 other-frame, 즉 P-frame, B-frame의 데이터를 다중화하여 하나의 데이터 세그먼트를 구성한 경우에는 I-frame에 해당하는 데이터 세그먼트만을 추출하기가 어렵다. 그 이유는 소스 블록을 구성하는 데이터 세그먼트의 헤더에 I-frame에 상응한 Asset 식별 정보와 other-frame에 상응한 Asset 식별 정보가 함께 존재하기 때문이다.
한편 본 발명의 실시 예에 따라 두 번의 FEC 부호화에 의해 생성된 소스 부호화 블록을 정상적으로 복호하기 위해서는 부호화 시그널 정보가 새로이 정의되어야 할 것이다. 상기 부호화 시그널 정보는 소스 부호화 블록을 생성하기 위한 두 번의 FEC 부호화를 수행함에 따른 것이다.
이때 부호화 시그널 정보는 이중 FEC 부호화를 위해 전 이중 FEC 부호화와 부분 이중 FEC 부호화 중 무엇이 사용되었는지를 고려하여 구성되어야 한다. 그 외에 부호화 시그널 정보는 부호화 시그널 정보의 전송 방식과 소스 페이로드로 어떠한 포맷을 사용할 지에 대해서도 함께 고려하는 것이 바람직하다. 여기서 부호화 시그널 정보의 전송 방식은 In-Band Signaling과 Out-Band Signaling으로 구분할 수 있다.
예컨대 부호화 시그널 정보를 구성하는 FEC 구성 정보는 크게 길이 정보와 식별 정보 중 적어도 하나를 포함한다. 그 외에 제1 FEC 코드와 제2 FEC 코드의 조합 정보뿐만 아니라 제2 FEC 부호화의 대상을 식별하기 위한 플래그 값이 추가될 수 있다. 예컨대 상기 플래그 값은 제2 FEC 부호화가 소스 블록 전체를 대상으로 하는 전 이중 FEC 부호화가 사용되었는지 소스 블록을 구성하는 서로 다른 종류의 데이터 세그먼트들 중 한 종류의 데이터 세그먼트만을 대상으로 하는 부분 이중 FEC 부호화가 사용되었는지를 식별할 수 있도록 한다.
상기 길이 정보는 소스 블록의 길이 정보, 서브 블록의 길이 정보, 소스 파트의 길이 정보, 기본 패리티 파트의 길이 정보, 확장 패리티 파트의 길이 정보 중 적어도 하나를 포함한다. 여기서 길이 정보는 개수에 관한 정보가 될 수도 있다. 즉 상기 길이 정보는 소스 블록 내의 데이터 세그먼트들의 개수, 서브 블록 내의 데이터 세그먼트들의 개수, 소스 파트 내의 소스 페이로드들의 개수 (K), 기본 패리티 파트 내의 패리티 페이로드들의 개수 (P1), 확장 패리티 파트 내의 패리티 페이로드의 개수(P2) 중 적어도 하나를 포함한다.
상기 식별 정보는 소스 블록의 식별 정보, 서브 블록의 식별 정보, 소스 파트의 식별 정보, 기본 패리티 파트의 식별 정보, 확장 패리티 파트의 식별 정보, 소스 파트 내에 존재하는 각 소스 페이로드의 식별 정보, 기본 패리티 파트 내에 존재하는 각 패리티 페이로드의 식별 정보, 확장 패리티 파트 내에 존재하는 각 패리티 페이로드의 식별 정보, 서브 블록을 구성하는 각 데이터 세그먼트의 식별 정보 중 적어도 하나를 포함한다. 그 외에 부호화 단위 블록의 식별 정보가 추가될 수 있다.
상기 소스 페이로드의 식별 정보는 소스 파트 내에서 소스 페이로드의 위치에 따라 순차적으로 증가 또는 감소에 의해 부여되는 시퀀스 넘버가 이용될 수 있다. 그리고 상기 기준 패리티 페이로드의 식별 정보는 기본 패리티 파트 내에서 기준 패리티 페이로드의 위치에 따라 순차적으로 증가 또는 감소에 의해 부여되는 시퀀스 넘버가 이용될 수 있다. 상기 확장 패리티 페이로드의 식별 정보 또한 확장 패리티 파트 내에서 확장 패리티 페이로드의 위치에 따라 순차적으로 증가 또는 감소에 의해 부여되는 시퀀스 넘버가 이용될 수 있다.
도 8은 본 발명의 실시 예에 따른 부호화 시그널 정보를 In-Band Signaling에 의해 전송하는 예를 보이고 있다.
도 8을 참조하면, In-Band Signaling에 의해 부호화 시그널 정보를 전송하기 위한 부호화 시그널 패킷 또는 FEC 제어 패킷의 구조를 보이고 있다. FEC 제어 패킷(810)은 FEC control packet Header(820)와, 페이로드를 포함한다. 상기 페이로드는 FEC coding structure field(814)와 FEC configuration info. Field(830)를 포함한다.
상기 FEC control packet Header(820)는 FEC 제어 패킷임을 식별하는 정보 등을 포함하며, 상기 FEC coding structure field(830)는 전송되는 소스 부호화 패킷을 위해 사용된 부호화 기법을 식별하는 정보를 포함한다. 예컨대 상기 FEC coding structure field(830)에 기록되는 플래그 값은 ‘AL-FEC is not applied(831)’, ‘One stage FEC coding applied(832)’, ‘Full Two stage FEC coding structure (method 1)(833)’ 및 ‘Partial Two stage FEC coding structure (method 2)(834)’ 등을 구분하기 위해 정의된다. 즉 ‘AL-FEC is not applied(831)’에 대응한 플래그 값은 ‘b000’로 정의되고, ‘One stage FEC coding applied(832)’에 대응한 플래그 값은 ‘b001’로 정의되고, ‘Full Two stage FEC coding structure (method 1)(833)’에 대응한 플래그 값은 ‘b010’로 정의되며, ‘Partial Two stage FEC coding structure (method 2)(834)’에 대응한 플래그 값은 ‘b011’로 정의된다.
상기 FEC configuration info. field(840)는 이중 FEC 부호화 관련 제어 정보를 포함한다. 즉 상기 FEC configuration info. field(840)에 포함된 이중 FEC 부호화 관련 제어 정보는 제1 FEC 부호화에 관한 정보와, 제2 FEC 부호화에 관한 정보로 이루어진다. 상기 제1 FEC 부호화에 관한 정보는 사용된 FEC 코드 정보 (FEC 1 code ID)(841), 서브 블록의 길이 (Sub-Block Length)(842), 제1 패리티 블록의 길이 (Parity 1 Block Length)(843), 소스 플로우 식별 정보 (Source Flow ID=0x0000)(844), 제1 패리티 플로우 식별 정보 (Parity 1 Flow ID=0x0002)(845)를 포함한다.
상기 제2 FEC 부호화에 관한 정보는 사용된 FEC 코드 정보 (FEC 2 code ID)(846), 소스 블록 또는 부분 소스 블록의 길이 ((Partial) Source Block Length)(847), 제2 패리티 블록의 길이 (Parity 2 Block Length)(848), 소스 블록 또는 부분 소스 플로우 식별 정보 ((Partial) Source Flow ID=0x0001)(849), 제2 패리티 플로우 식별 정보 (Parity 2 Flow ID=0x0003)(850)를 포함한다.
상기 (Partial) Source Block, Sub Block length 847, Sub Block length 842 및 Parity 1 Block length 843 field들을 고정된 크기에 의해 운용할 경우에는 FEC control packet에 의해 전송하는 Out-Band Signaling을 적용하는 것이 바람직하다. 하지만 크기가 가변적인 AL-FEC를 운용하고자 하는 경우에는 FEC packet에 의해 전송하는 In-Band Signaling을 적용하는 것이 바람직하다.
도 9는 본 발명의 실시 예에 따른 부호화 시그널 정보를 In-Band signaling에 의해 전송하기 위한 서브 부호화 블록의 소스 파트를 구성하는 소스 패킷의 구조에 대한 일 예를 보이고 있다.
도 9를 참조하면, 소스 패킷(910)은 MMT 패킷의 형식을 가지는 소스 페이로드(920)에 대한 AL-FEC 부호화에 의해 생성된다. 즉 소스 패킷(910)은 소스 블록을 구성하는 각 소스 페이로드 (MMT 패킷)(920)를 FEC 부호화한 후 In-Band signaling을 위한 필드를 부가한 AL-FEC 부호화가 적용된 MMT 패킷이다. 여기서 In-Band signaling을 위한 필드에는 부호화 시그널 정보가 기록될 수 있다.
상기 소스 블록을 구성하는 각 소스 페이로드 (MMT 패킷)(920)는 MMT 헤더(940)와 MMT 페이로드(950)의 결합에 의해 구성된다.
상술한 바와 같이 In-Band signaling을 사용할 경우, 소스 패킷에서의 부호화 시그널 정보는 FEC 부호화가 이루어진 소스 페이로드에 추가되는 MMT 헤더(940)와 In-Band signaling을 위한 필드(930)를 통해 제공된다.
도 10은 본 발명의 실시 예에 따른 부호화 시그널 정보를 In-Band signaling에 의해 전송하기 위한 서브 부호화 블록의 패리티 파트를 구성하는 패리티 패킷의 구조에 대한 일 예를 보이고 있다.
도 10을 참조하면, 소스 블록을 구성하는 소스 페이로드가 MMT 패킷인 경우, 상기 소스 페이로드를 FEC 부호화하여 생성된 하나 또는 복수 개의 패리티 페이로드(1040)는 하나의 패리티 패킷(1010)을 포함한다. 즉 패리티 패킷(1010)은 FEC 부호화에 의해 생성된 하나 또는 복수 개의 패리티 페이로드(1040)에 MMT 헤더(1020)와 In-Band signaling을 위한 필드를 추가한 MMT 패킷이다. 상기 패리티 패킷(1010)은 AL-FEC 부호화가 적용된 패리티 페이로드를 위한 것이다.
상술한 바와 같이 In-Band signaling을 사용할 경우, 패리티 패킷에서의 부호화 시그널 정보는 FEC 부호화에 의해 생성된 패리티 페이로드(1040)에 추가되는 MMT 헤더(1020)와 In-Band signaling을 위한 필드(1030)를 통해 제공된다.
도 11은 본 발명의 실시 예에 따른 소스 패킷 (도 9)과 패리티 패킷 (도 10)에 해당하는 MMT 패킷의 MMT 헤더의 구조를 보이고 있다.
도 11을 참조하면, MMT 헤더(1110)의 구조는 소스 페이로드가 MMT 패킷인 경우를 가정하고 있다. MMT 헤더(1110)는 Payload Type field(1120)와 FEC coding structure field(1130)를 포함한다. 상기 FEC coding structure field(1130)는 도 8에서 보이고 있는 FEC 제어 패킷을 구성하는 FEC coding structure field(814)와 동일하다.
상기 Payload Type field(1120)는 MMT 패킷의 페이로드의 종류를 정의하는 플래그 값을 포함한다. 예컨대 상기 페이로드의 종류는 소스 페이로드(1140), 부분 소스 페이로드(1150), 제1 패리티 페이로드(1160), 제2 패리티 페이로드(1170)로 분류할 수 있다. 이 경우 상기 Payload Type field(1120)의 플래그 값은 앞에서 정리한 네 가지의 페이로드 종류 중 하나를 지정한다. 일 예로 소스 페이로드(1140)의 플래그 값은 ‘0x0000’이고, 부분 소스 페이로드(1150)의 플래그 값은 ‘0x0001’이고, 제1 패리티 페이로드(1160)의 플래그 값은 ‘0x0002’이며, 제2 패리티 페이로드(1170)의 플래그 값은 ‘0x0003’이다.즉, 상기 Payload Type field(1120)의 플래그 값에 의해, 해당 MMT 패킷을 구성하는 페이로드의 종류를 인지할 수 있다.
예컨대 FEC coding structure field(1130)의 값이 Partial two stage FEC coding structure를 지시하고, Payload Type Field(1120)의 플래그 값이 Source Payload(0x0000)(1140)을 지시하는 경우, 해당 MMT 패킷의 페이로드는 소스 블록 내의 소스 페이로드들 중 부분 소스 페이로드를 제외한 소스 페이로드라고 인지할 수 있다. 다만 서브 블록은 소스 페이로드와 부분 소스 페이로드를 모두 포함할 수 있다.
다른 경우로 FEC coding structure field(1130)의 값이 Partial two stage FEC coding structure를 지시하고, Payload Type Field(1120)의 플래그 값이 부분 소스 페이로드(0x0001)(1150)을 지시하는 경우에는 해당 MMT 패킷의 페이로드가 소스 블록 내의 소스 페이로드들 중 부분 소스 페이로드라고 인지할 수 있다.
또 다른 경우로 부분 FEC 부호화를 사용하는 경우, 서브 블록으로부터 생성되어 제1 패리티 파트를 구성하는 패리티 패킷의 헤더에서 Payload Type field(1120)의 플래그 값은 ‘0x0002’로 설정된다. 상기 플래그 값 ‘0x0002’는 해당 MMT 패킷의 페이로드가 소스 블록 내의 소스 페이로드를 제1 FEC 부호화하여 생성된 제1 패리티 페이로드(1160)임을 의미한다.
또 다른 경우로 부분 FEC 부호화를 사용하는 경우, 서브 블록 내의 부분 소스 페이로드로부터 생성되어 제2 패리티 파트를 구성하는 패리티 패킷의 헤더에서 Payload Type field(1120)의 플래그 값은 ‘0x0003’으로 설정된다. 상기 플래그 값 ‘0x0003’은 해당 MMT 패킷의 페이로드가 소스 블록 내의 부분 소스 페이로드를 제2 FEC 부호화하여 생성된 제2 패리티 페이로드(1170)임을 의미한다.
한편 도 11에서 보이고 있는 MMT Header는 Coding structure가 dynamic하게 변하는 경우에 적용하는 것이 적합하다. 상기 Coding structure가 드물게 변하는 경우에는 FEC control packet을 이용하는 것이 바람직할 것이다.
도 12A 내지 12는 본 발명의 실시 예에 따른 소스 패킷 (도 9)과 패리티 패킷 (도 10)에 해당하는 MMT 패킷의 FEC In-band Signals(930, 1030)의 구조를 보이고 있다.
도 12A 내지 12D를 참조하면, FEC In-band Signals(1210, 1220, 1230, 1240)의 구조는 소스 페이로드가 MMT 패킷인 경우를 가정하고 있다.
상기 FEC In-band Signals(1210, 1220, 1230, 1240)의 구조는 해당 MMT 패킷의 페이로드 종류에 따라 독립적으로 정의될 수 있다. 예컨대 도 12 A는 MMT 패킷의 페이로드가 소스 페이로드인 경우의 FEC In-band Signals(1210) 구조이고, 도 12B는 MMT 패킷의 페이로드가 부분 소스 페이로드인 경우의 FEC In-band Signals(1220) 구조이다. 도 12C는 MMT 패킷의 페이로드가 제1 패리티 페이로드인 경우의 FEC In-band Signals(1230) 구조이고, 도 12D는 MMT 패킷의 페이로드가 제2 패리티 페이로드인 경우의 FEC In-band Signals(1240) 구조이다.
도 12A 내지 도 12D에서 보이고 있는 FEC In-band Signals 각각은 Block ID field (1211, 1221, 1231, 1241), Payload ID field (1212, 1222, 1232, 1242) 및 Block Length field (1213, 1223, 1233, 1243)를 가진다.
상기 Block ID field (1211, 1221, 1231, 1241) 각각은 해당 페이로드가 속하는 블록 영역을 식별하기 위한 정보를 기록한다. 예컨대 상기 Block ID field들 (1211, 1221, 1231, 1241)에는 Sub-Block ID (1214, 1225, 1234) 및/또는 Partial Source Block ID (1224, 1244)가 기록될 수 있다.
즉 소스 페이로드에 의해 구성된 소스 패킷의 FEC In-band Signals(1210)에서 Block ID field (1211)는 Sub-Block ID (1214)를 포함하고, 부분 소스 페이로드에 의해 구성된 소스 패킷의 FEC In-band Signals(1220)에서 Block ID field (1221)는 Partial Source Block ID (1224)와 Sub-Block ID (1225)를 포함한다.
패리티 패킷의 FEC In-band Signals(1230)은 제1 패리티 페이로드를 포함하고, 상기 Block ID field (1231)는 Sub-Block ID (1234)를 포함하고, 상기 패리티 패킷의 FEC In-band Signals(1240)는 상기 제2 패리티 페이로드를 포함하고, 상기 Block ID field (1241)는 Partial Source Block ID (1244)를 포함한다. 상기 Sub-Block ID (1214, 1225, 1234) 각각은 서브 블록 간의 구별을 위한 식별 정보이다. 따라서 상기 Sub-Block ID (1214, 1225, 1234)는 상기 서브 블록으로부터 생성된 패리티 블록의 ID와 동일한 값으로 설정된다. 상기 ID가 동일한 값으로 설정되었다는 것은 서브 블록과 패리티 블록이 하나의 FEC 블록으로 구성됨을 나타낸다. 이는 Partial Source Block ID (1224, 1244)에 대해서도 동일하게 적용된다. 즉 Sub-Block ID (1214, 1225, 1234)와 Partial Source Block ID (1224, 1244)는 FEC Block ID를 의미한다.
상기 Payload ID field (1212, 1222, 1232, 1242)는 FEC Block 내에서 각 페이로드의 순서를 나타내는 정보가 기록되는 영역이다. 예컨대 상기 Payload ID field (1212, 1222, 1232, 1242)에는 Source Payload ID (1215, 1227) 및/또는 Partial Source Payload ID (1226) 또는 Parity 1 Payload ID (1235) 또는 Parity 2 Payload ID (1235)가 기록될 수 있다.
즉 소스 페이로드에 의해 구성된 소스 패킷의 FEC In-band Signals(1210)에서 Payload ID field (1212)는 Source Payload ID (1215)를 포함하고, 부분 소스 페이로드에 의해 구성된 소스 패킷의 FEC In-band Signals(1220)에서 Payload ID field (1222)는 Partial Source Payload ID (1226)와 Source Payload ID (1227)를 포함한다.
상기 패리티 패킷의 FEC In-band Signals(1230)은 상기 제1 패리티 페이로드를 포함하고, 상기 Payload ID field (1232)는 Parity 1 Payload ID (1235)를 포함하고, 상기 패리티 패킷의 FEC In-band Signals(1240)는 상기 제2 패리티 페이로드를 포함하고, 상기 Payload ID field (1242)는 Parity 2 Payload ID (1245)를 포함한다.
상기 Source Payload ID (1215, 1227)는 서브 블록 내에서의 해당 소스 페이로드가 몇 번째인지를 나타내는 정보이고, 상기 Partial Source Payload ID (1226)는 부분 소스 블록 내에서의 해당 소스 페이로드가 몇 번째인지를 나타내는 정보이다. 상기 Parity 1 Payload ID (1235)는 제1 패리티 블록 내에서 해당 페이로드가 몇 번째인지를 나타내는 정보이며, 상기 Parity 2 Payload ID (1245)는 제2 패리티 블록 내에서 해당 페이로드가 몇 번째인지를 나타내는 정보이다.
상기 Block Length field (1213, 1223, 1233, 1243)는 각 블록의 길이를 나타내는 정보를 기록하는 영역이다. 예컨대 상기 Block Length field (1213, 1223, 1233, 1243)는 서브 블록에 포함되는 소스 페이로드들에 대해서는 해당 서브 블록이 몇 개의 소스 페이로드를 포함하는지를 나타내고, 부분 소스 블록에 대해서는 해당 부분 소스 블록이 몇 개의 부분 소스 페이로드를 포함하는지를 나타내며, 제1 패리티 블록에 대해서는 해당 패리티 블록이 몇 개의 제1 패리티 페이로드를 포함하는지를 나타내고, 제2 패리티 블록에 대해서는 해당 패리티 블록이 몇 개의 제2 패리티 페이로드를 포함하는지를 나타낸다.
즉 소스 페이로드에 의해 구성된 소스 패킷의 FEC In-band Signals(1210)에서 Block Length field (1213)는 Sub-Block Length (1216)를 포함하고, 부분 소스 페이로드에 의해 구성된 소스 패킷의 FEC In-band Signals(1220)에서 Block Length field (1223)는 Partial Source Block Length (1228)를 포함한다.
상기 패리티 패킷의 FEC In-band Signals(1230)는 제1 패리티 페이로드를 포함하고, 상기 Block Length field (1233)는 Parity 1 Block Length (1236)를 포함하고, 상기 패리티 패킷의 FEC In-band Signals(1240)는 제2 패리티 페이로드를 포함하고, 상기 Block Length field (1243)는 Parity 2 Block Length (1246)를 포함한다.
상술한 FEC In-Band Signaling 방법은 크게 Sequence Number에 기초하는 방법과 Payload ID에 기초하는 방법으로 구분할 수 있다.
먼저 Sequence Number에 기초하는 방법에 대해 살펴보면, 제1 FEC 부호화에 의해 보호되는 모든 소스 페이로드 (부분 소스 페이로드 포함)에 대한 하나의 Sequence Number는 순차적으로 1씩 증가하는 형태로 할당된다. 상기 모든 소스 페이로드에 대해 할당된 하나의 Sequence Number는 Source Payload ID로 사용될 수 있다.
제2 FEC 부호화에 의해 보호되는 부분 소스 페이로드에 대해서도 하나의 Sequence Number가 순차적으로 1씩 증가하는 형태로 할당된다. 상기 부분 소스 페이로드에 대해 할당된 하나의 Sequence Number는 Partial Source Payload ID로 사용될 수 있다.
이 경우 Block ID는 각 FEC block에서 첫 번째 패킷에 할당된 Sequence Number로 설정할 수 있다. 상기 Block ID는 FEC block 내의 모든 패킷에 대해 공통으로 설정된다.
다음으로 Payload ID에 기초하는 방법에 대해 살펴보면, 도 12A 내지 12D에서 Block ID는 단순히 FEC block을 구분하기 위해 설정된다. 예컨대 첫 번째 FEC block의 모든 packet에 대한 Block ID는 0으로 설정하고, 두 번째 FEC block의 모든 packet에 대한 Block ID는 1로 설정한다. 즉 Block ID는 FEC block의 순서에 의해 설정한다.
Payload ID는 서브 블록 (또는 부분 서브 블록) 내에서 각 소스 페이로드에 대해 0, 1, 2……K-1 (여기서 K는 서브 블록 내의 소스 페이로드 개수)로 부여하고,
패리티 블록 내에서 각 패리티 페이로드에 대해 0, 1, 2……P-1 (여기서 P는 패리티 블록 내의 패리티 페이로드 개수) 또는 K, K+1……K + P - 1로 부여한다.
도 13A 내지 13B는 본 발명의 실시 예에 따른 부분 이중 FEC 부호화를 In-Band Signaling을 통해 구현한 예를 보이고 있다.
도 13A 내지 13B를 참조하면, Source Payload가 MMT 패킷인 경우, 도 13A에서 Source block의 구조를 보이고 있고, 도 13B에서 In-band signaling을 위한 단일 source block의 구조를 보이고 있다.하나의 소스 블록의 예로 도 13A에서 보이고 있듯이 6개의 Video data, 3개의 Audio data 및 3개의 File data에 상응한 12개의 패킷을 포함한다. 상기 하나의 소스 블록은 하나의 서브 블록으로 나누어진 경우를 가정한다. 즉 소스 블록과 서브 블록이 동일한 데이터 세그먼트들을 포함한다.
제1 FEC code에 의한 제1 FEC 부호화는 소스 블록을 구성하는 12개의 데이터 세그먼트, 즉 12개의 패킷을 대상으로 이루어진다. 상기 제1 FEC 부호화는 12개의 소스 패킷과 4개의 기본 패리티 패킷을 생성한다.
상기 12개의 소스 패킷 각각은 소스 페이로드 (MMT Packet)와 FEC In-band Signals로 구성된다. 여기서 상기 소스 페이로드 (MMT Packet)는 MMT 페이로드와 MMT 헤더로 구성된다. 그리고 상기 4개의 기본 패리티 패킷 각각은 패리티 페이로드와 FEC In-band Signals 및 MMT 헤더로 구성된다.
제2 FEC code에 의한 제1 FEC 부호화는 소스 블록을 구성하는 12개의 데이터 세그먼트, 즉 12개의 패킷들 중 부분 소스 블록 (3개의 File packet)을 대상으로 이루어진다. 상기 제2 FEC 부호화는 2개의 확장 패리티 패킷을 생성한다.
상기 2개의 확장 패리티 패킷 각각은 패리티 페이로드와 FEC In-band Signals 및 MMT 헤더로 구성된다.
상기 12개의 소스 패킷과 상기 4개의 기본 패리티 패킷 및 상기 2개의 확장 패리티 패킷을 구성하는 MMT 헤더는 해당 패킷의 페이로드가 어떠한 종류의 데이터에 의해 구성되었는지를 나타내는 플래그 값을 가진다.
예컨대 비디오 및 오디오 데이터에 상응한 소스 페이로드를 가지는 소스 패킷의 MMT 헤더는 플래그 값으로 ‘0x0000’가 설정되고, 파일 데이터에 상응한 소스 페이로드를 가지는 소스 패킷의 MMT 헤더는 플래그 값으로 ‘0x0001’이 설정된다. 그리고 4개의 기본 패리티 패킷의 MMT 헤더는 플래그 값으로 ‘0x0002’가 설정되고, 2개의 확장 패리티 패킷의 MMT 헤더는 플래그 값으로 ‘0x0003’이 설정된다.
그리고 상기 12개의 소스 패킷과 상기 4개의 기본 패리티 패킷 및 상기 2개의 확장 패리티 패킷을 구성하는 FEC In-band Signals은 MMT 헤더에 설정된 플래그 값에 의해 다른 값들로 설정될 수 있다.
예컨대 상기 12개의 소스 패킷와 상기 4개의 기본 패리티 패킷 및 상기 2개의 확장 패리티 패킷은 MMT 헤더에 설정된 플래그 값과 무관하게 FEC In-band Signals에 ‘Block ID’, Payload ID, Block Length가 공통적으로 포함된다.
하지만 상기 12개의 소스 패킷 중 MMT 헤더에 설정된 플래그 값이 ‘0x0001’인 소스 패킷의 FEC In-band Signals은 ‘Parity Block ID’, ‘Parity Payload ID’를 추가로 포함한다. 즉 부분 소스 페이로드의 경우에는 FEC In-band Signals로 ‘Parity Block ID’와 ‘Parity Payload ID’를 추가로 포함한다.
상기 부호화 시그널 정보는 사전에 약속된 전송 방식을 기반으로 복호 장치에게 제공되어야 한다. 예컨대 상기 전송 방식은 Out-band signaling에 의한 전송 방식과 In-band signaling에 의한 전송 방식이 존재한다.
도 14는 본 발명의 실시 예에 따른 부호화 시그널 정보를 Out-band signaling에 의해 전송하기 위한 장치의 구성을 보이고 있다.
도 14를 참조하면, 사전에 저장되거나 새로이 발생하는 소정의 AV 콘텐트들(1401)에 상응한 데이터 스트림(1)이 AV Codec Encoder(1403)에 제공된다. 상기 데이터 스트림(1)의 일 예로는 Raw AV Stream이 될 수 있다.
상기 AV Code Encoder(1403)는 제공되는 데이터 스트림(1)을 Audio codec encoder와 Video codec encoder를 사용하여 압축한 데이터 스트림(2)을 전송 프로토콜 패킷타이저(Transport Protocol Packetizer)(1405)로 제공한다.
상기 Transport Protocol Packetizer(1405)는 압축된 데이터 스트림(2)을 기반으로 FEC 부호화를 수행할 소스 블록(3)을 구성하여 FEC Encoder(1407)로 제공한다. 이때 FEC 부호화를 위한 부호화 구조 및/또는 부호화 구성 관련 정보도 함께 제공될 수 있다.
상기 FEC Encoder(1407)는 부호화 구조 및/또는 부호화 구성 관련 정보를 기반으로 소스 블록에 대한 제1 FEC 부호화 및 제2 FEC 부호화를 수행한다. 상기 FEC Encoder(1407)는 제1 FEC 부호화 및 제2 FEC 부호화의 수행에 의해 구성된 소스 부호화 블록(4)을 상기 Transport Protocol Packetizer(1405)로 제공한다.
상기 Transport Protocol Packetizer(1405)는 상기 FEC Encoder(1407)로부터 제공된 소스 부호화 블록(4)에 헤더를 부가한 FEC 패킷(7)을 구성하여 네트워크로 전송한다.
또한 상기 Transport Protocol Packetizer(1405)는 네트워크로 전송할 FEC 패킷(7)에 상응한 부호화 시그널 정보 (Coded Signal Information), 즉 FEC 제어 정보 (FEC Control Information)를 구성한다. 상기 Transport Protocol Packetizer(1405)는 구성한 부호화 시그널 정보에 의해 부호화 시그널 패킷(5), 즉 FEC 제어 패킷(5)을 생성하여 FEC 패킷(7)을 네트워크로 전송하기 전에 미리 전송할 수 있다.
이는 복호 장치가 FEC 패킷(7)을 수신하여 복호할 시에 부호화 시그널 정보, 즉 FEC 제어 정보(5)를 참조할 수 있도록 하기 위함이다. 예컨대 상기 복호 장치는 부호화 시그널 정보, 즉 FEC 제어 정보(5)에 의해 FEC 패킷(7)에 적용될 FEC 구조 및/또는 FEC 부호화 구성 관련 정보를 획득할 수 있다.
전송 프로토콜 디-패킷타이저(Transport Protocol De-packetizer)(1409)는 FEC 제어 패킷(6)을 수신하고, 상기 수신한 FEC 제어 패킷(6)에 의해 획득한 부호화 시그널 정보에 의해 향후 수신할 소스 부호화 패킷(8)에 대한 복호화를 준비한다.
상기 Transport Protocol De-packetizer(1409)는 소스 부호화 패킷(8)을 수신할 시, 미리 획득한 부호화 시그널 정보를 기반으로 상기 수신한 소스 부호화 패킷(8)으로부터 소스 부호화 블록(9)을 획득하여 FEC Decoder(1411)로 제공한다.
상기 FEC Decoder(1411)는 미리 획득한 부호화 시그널 정보를 기반으로 상기 Transport Protocol De-packetizer(1409)로부터 제공되는 소스 부호화 블록(9)에 대한 복호화를 수행하여 서브 블록 별로의 데이터 세그먼트들을 획득한다. 이때 손실된 데이터 세그먼트가 존재할 시, 상기 손실된 데이터 세그먼트를 복구한다.
상기 FEC Decoder(1411)는 소스 부호화 블록(9)에 대한 복호화에 의해 획득한 소스 블록(10)을 상기 Transport Protocol De-packetizer(1409)로 제공한다.
상기 Transport Protocol De-packetizer(1409)는 상기 FEC Decoder(1411)로부터 제공되는 소스 블록들을 압축된 데이터 스트림(11)으로 구성하고, 상기 구성한 압축된 데이터 스트림(11)을 AV Codec Decoder(1413)로 제공한다.
상기 AV Codec Decoder(1413)는 Audio codec decoder와 Video codec Decoder를 사용하여 압축된 데이터 스트림(11)으로부터 AV 콘텐트들에 상응한 비디오 및 오디오 데이터 스트림(12)추출하여 Display(1415)로 제공한다.
도 15는 본 발명의 실시 예에 따른 부호화 시그널 정보를 In-band signaling에 의해 전송하기 위한 장치의 구성을 보이고 있다.
도 15를 참조하면, 도 15의 장치에 의한 처리 절차는 도 14에서 살펴본 처리 절차와 유사하다. 단 도 15에서의 처리 절차에서는 도 6에서의 처리 절차 중 (5) 과정과 (6) 과정에 상응한 동작이 이루어지지 않는다. 상기 참조 번호 5와 6의 생략으로 인해, 도 14에서의 참조 번호 7 내지 12가 참조 번호 5 내지 10에 상응한다.
도 15의 참조 번호 5와 참조 번호 6에서 소스 부호화 블록을 구성하는 소스 패킷과 패리티 패킷의 헤더에 의해 해당 소스 패킷 또는 패리티 패킷에 관한 FEC 제어 정보, 즉 부호화 시그널 정보가 전달된다.
도 14와 도 15에서는 AV 콘텐트를 가정하여 설명하였지만, 본 발명의 실시 예는 이에 한정되지 않으며, 콘텐트의 유사 및/또는 적합한 타입이 사용될 수 있다. 예컨대 AV 데이터와 파일 데이터가 함께 전송되는 Hybrid Content Delivery service에 대해서도 동일하게 적용된다. 단지 AV 데이터와 파일 데이터가 함께 전송되는 Hybrid Content Delivery service의 경우, 소스 블록은 AV 데이터에 상응한 데이터 세그먼트 외에도 파일 데이터에 상응한 데이터 세그먼트를 포함한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 여러 가지 변형에 의한 실시가 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구의 범위뿐만 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다. 뿐만 아니라 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
예컨대 앞에서 살펴본 본 발명에 따른 실시 예에서 소스 페이로드가 MMT 페이로드 포맷을 가지는 경우를 가정하고 있다. 즉 소스 페이로드가 MMT 페이로드 포맷을 가지는 경우에 있어서 소스 블록을 구성하는 방안에 대해 기술하였다. 하지만 본 발명에 따른 실시 예는 소스 페이로드가 MMT 패킷의 포맷을 가지는 경우에도 동일하게 적용될 수 있음은 자명하다. 여기서 MMT 패킷의 포맷은 MMT 페이로드 포맷에 MMT 헤더를 추가한 구조를 가진다. 단지 이 경우에 있어서, MMT 페이로드 포맷은 MMT 패킷으로 대체되고, Asset ID나 I-프레임 지시자와 같은 정보들은 MMT 헤더에 저장되는 것이 바람직하다.

Claims (30)

  1. 멀티미디어 시스템에서 송신 장치의 동작 방법에 있어서,
    소스 데이터에 적용될 어플리케이션 계층-순방향 정정 (application layer forward error correction (AL-FEC)) 부호화 구조를 식별하는 과정;
    상기 AL-FEC 부호화 구조를 기반으로 상기 소스 데이터에 대해 AL-FEC 부호화를 수행하여 리페어 데이터를 생성하는 과정; 및
    상기 AL-FEC 부호화 구조를 지시하는 정보를 포함하는 시그널링 정보, 상기 소스 데이터 및 상기 리페어 데이터를 전송하는 과정을 포함하며,
    여기서, 상기 AL-FEC 부호화를 수행하는 과정은,
    제1 계층의 소스 데이터를 포함하는 제1 소스 심볼 블록과 상기 제1 계층과 상이한 제2 계층의 소스 데이터를 포함하는 제2 소스 심볼 블록을 생성하는 과정;
    상기 제1 소스 심볼 블록과 상기 제2 소스 심볼 블록을 포함하는 소스 심볼 블록 그룹을 생성하는 과정; 및
    상기 소스 심볼 블록 그룹에 대한 상기 AL-FEC 부호화를 수행하여 상기 소스 심볼 블록 그룹의 복구를 위한 제1 리페어 데이터 및 상기 제2 소스 심볼 블록에 대한 상기 AL-FEC 부호화를 수행하여 상기 제2 소스 심볼 블록의 복구를 위한 제2 리페어 데이터를 생성하는 과정을 포함하는 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 AL-FEC 부호화 구조는 계층화된 미디어 데이터를 위한 것임을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 제1 소스 심볼 블록과 상기 제2 소스 심볼 블록은 종속 하이어라키 (dependency hierarchy)를 기반으로 상기 소스 심볼 블록 그룹으로 결합됨을 특징으로 하는 방법.
  5. 제3항에 있어서,
    상기 계층화된 미디어 데이터는 스케일러블 비디오 부호화 (scalable video coding: SVC)와 멀티-뷰 부호화 (multi-view coding: MVC) 중 적어도 하나를 포함함을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 제1 계층은 기본 계층 (base layer)을 포함하며, 상기 제2 계층은 확장 계층 (enhanced layer)을 포함함을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 확장 계층은 상기 기본 계층에 종속적임을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 AL-FEC 부호화 구조를 지시하는 정보는 상기 AL-FEC 부호화 구조가 적용되지 않음을 지시하는 제1 값, 원-스테이지 (one-stage) FEC 부호화 구조를 지시하는 제2 값, 투-스테이지 (two-stage) FEC 부호화 구조를 지시하는 제3 값 및 계층화된 미디어 데이터에 대한 FEC 부호화 구조를 지시하는 제4 값 중 하나를 포함함을 특징으로 하는 방법.
  9. 멀티미디어 시스템에서 송신 장치에 있어서,
    소스 데이터에 적용될 어플리케이션 계층-순방향 정정 (application layer forward error correction (AL-FEC)) 부호화 구조를 식별하고, 상기 AL-FEC 부호화 구조를 기반으로 상기 소스 데이터에 대해 AL-FEC 부호화를 수행하여 리페어 데이터를 생성하는 부호화기; 및
    상기 AL-FEC 부호화 구조를 지시하는 정보를 포함하는 시그널링 정보, 상기 소스 데이터 및 상기 리페어 데이터를 전송하는 송신기를 포함하며,
    여기서, 상기 부호화기는,
    제1 계층의 소스 데이터를 포함하는 제1 소스 심볼 블록과 상기 제1 계층과 상이한 제2 계층의 소스 데이터를 포함하는 제2 소스 심볼 블록을 생성하고,
    상기 제1 소스 심볼 블록과 상기 제2 소스 심볼 블록을 포함하는 소스 심볼 블록 그룹을 생성하며,
    상기 소스 심볼 블록 그룹에 대한 상기 AL-FEC 부호화를 수행하여 상기 소스 심볼 블록 그룹의 복구를 위한 제1 리페어 데이터 및 상기 제2 소스 심볼 블록에 대한 상기 AL-FEC 부호화를 수행하여 상기 제2 소스 심볼 블록의 복구를 위한 제2 리페어 데이터를 생성하는 송신 장치.
  10. 삭제
  11. 제9항에 있어서,
    상기 AL-FEC 부호화 구조는 계층화된 미디어 데이터를 위한 것임을 특징으로 하는 송신 장치.
  12. 제11항에 있어서,
    상기 제1 소스 심볼 블록과 상기 제2 소스 심볼 블록은 종속 하이어라키 (dependency hierarchy)를 기반으로 상기 소스 심볼 블록 그룹으로 결합됨을 특징으로 하는 송신 장치.
  13. 제11항에 있어서,
    상기 계층화된 미디어 데이터는 스케일러블 비디오 부호화 (scalable video coding: SVC)와 멀티-뷰 부호화 (multi-view coding: MVC) 중 적어도 하나를 포함함을 특징으로 하는 송신 장치.
  14. 제9항에 있어서,
    상기 제1 계층은 기본 계층 (base layer)을 포함하며, 상기 제2 계층은 확장 계층 (enhanced layer)을 포함함을 특징으로 하는 송신 장치.
  15. 제14항에 있어서,
    상기 확장 계층은 상기 기본 계층에 종속적임을 특징으로 하는 송신 장치.
  16. 제9항에 있어서,
    상기 AL-FEC 부호화 구조를 지시하는 정보는 상기 AL-FEC 부호화 구조가 적용되지 않음을 지시하는 제1 값, 원-스테이지 (one-stage) FEC 부호화 구조를 지시하는 제2 값, 투-스테이지 (two-stage) FEC 부호화 구조를 지시하는 제3 값 및 계층화된 미디어 데이터에 대한 FEC 부호화 구조를 지시하는 제4 값 중 하나를 포함함을 특징으로 하는 송신 장치.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
KR1020147018166A 2011-11-30 2012-11-30 방송 데이터 송/수신장치 및 방법 KR102048730B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020110127366 2011-11-30
KR20110127366 2011-11-30
PCT/KR2012/010311 WO2013081414A1 (en) 2011-11-30 2012-11-30 Apparatus and method of transmiting/receiving broadcast data

Publications (2)

Publication Number Publication Date
KR20140098231A KR20140098231A (ko) 2014-08-07
KR102048730B1 true KR102048730B1 (ko) 2020-01-08

Family

ID=48466857

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147018166A KR102048730B1 (ko) 2011-11-30 2012-11-30 방송 데이터 송/수신장치 및 방법

Country Status (6)

Country Link
US (2) US20130136193A1 (ko)
EP (2) EP3288187B1 (ko)
JP (1) JP2015500587A (ko)
KR (1) KR102048730B1 (ko)
CN (2) CN103959799A (ko)
WO (1) WO2013081414A1 (ko)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9557885B2 (en) 2011-08-09 2017-01-31 Gopro, Inc. Digital media editing
KR20130094160A (ko) * 2012-01-20 2013-08-23 삼성전자주식회사 스트리밍 서비스를 제공하는 방법 및 장치
EP2811705B1 (en) * 2012-01-31 2019-06-26 Sharp Kabushiki Kaisha Generation device and generation method for data packets
CN105009591B (zh) * 2013-01-18 2018-09-14 弗劳恩霍夫应用研究促进协会 使用有来自至少两个数据流的码元及数据流之间的同步化起始码元标识符的源块的前向纠错
US9560172B2 (en) * 2013-05-06 2017-01-31 Alcatel Lucent Stateless recognition of keep-alive packets
JP6571314B2 (ja) * 2013-06-18 2019-09-04 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 送信方法
US20150032845A1 (en) * 2013-07-26 2015-01-29 Samsung Electronics Co., Ltd. Packet transmission protocol supporting downloading and streaming
WO2015060297A1 (ja) * 2013-10-22 2015-04-30 日本電気株式会社 送信端末、通信システム、通信方法、および、プログラム
KR20150050133A (ko) 2013-10-31 2015-05-08 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
TWI523465B (zh) * 2013-12-24 2016-02-21 財團法人工業技術研究院 檔案傳輸系統和方法
US9729903B2 (en) 2013-12-31 2017-08-08 Samsung Electronics Co., Ltd. Data transmitting device and method
US9754159B2 (en) 2014-03-04 2017-09-05 Gopro, Inc. Automatic generation of video from spherical content using location-based metadata
KR102249147B1 (ko) 2014-03-29 2021-05-07 삼성전자주식회사 복합 네트워크에서 멀티미디어 데이터 관련 정보를 송수신하기 위한 장치 및 방법과 그 구조
US10560514B2 (en) 2014-03-29 2020-02-11 Samsung Electronics Co., Ltd. Apparatus and method for transmitting and receiving information related to multimedia data in a hybrid network and structure thereof
CN105306165B (zh) * 2014-06-23 2019-10-11 中兴通讯股份有限公司 数据发送方法及装置
US10074013B2 (en) 2014-07-23 2018-09-11 Gopro, Inc. Scene and activity identification in video summary generation
US9685194B2 (en) 2014-07-23 2017-06-20 Gopro, Inc. Voice-based video tagging
PL3179729T3 (pl) * 2014-08-07 2021-12-20 Sony Group Corporation Urządzenie nadawcze, sposób nadawania i urządzenie odbiorcze
CN105471545B (zh) * 2014-09-10 2020-07-21 中兴通讯股份有限公司 一种数据包处理方法及装置
JP2016059012A (ja) * 2014-09-12 2016-04-21 富士通株式会社 受信装置、送信装置およびデータ転送システム
US9734870B2 (en) 2015-01-05 2017-08-15 Gopro, Inc. Media identifier generation for camera-captured media
KR102083302B1 (ko) * 2015-01-08 2020-03-02 상하이 지아오통 유니버시티 일종 미디어 컨텐츠에 기반한 fec 메커니즘
US9679605B2 (en) 2015-01-29 2017-06-13 Gopro, Inc. Variable playback speed template for video editing application
US20160329915A1 (en) * 2015-05-08 2016-11-10 Futurewei Technologies, Inc. Apparatus and method for error correction and passive optical network
US10186012B2 (en) 2015-05-20 2019-01-22 Gopro, Inc. Virtual lens simulation for video and photo cropping
US9894393B2 (en) * 2015-08-31 2018-02-13 Gopro, Inc. Video encoding for reduced streaming latency
US9721611B2 (en) 2015-10-20 2017-08-01 Gopro, Inc. System and method of generating video from video clips based on moments of interest within the video clips
US10204273B2 (en) 2015-10-20 2019-02-12 Gopro, Inc. System and method of providing recommendations of moments of interest within video clips post capture
US10095696B1 (en) 2016-01-04 2018-10-09 Gopro, Inc. Systems and methods for generating recommendations of post-capture users to edit digital media content field
US10109319B2 (en) 2016-01-08 2018-10-23 Gopro, Inc. Digital media editing
US10083537B1 (en) 2016-02-04 2018-09-25 Gopro, Inc. Systems and methods for adding a moving visual element to a video
TWI622313B (zh) * 2016-02-19 2018-04-21 聯發科技股份有限公司 Mpeg媒體傳送的自適應應用層前向糾錯的方法和接收實體
US9972066B1 (en) 2016-03-16 2018-05-15 Gopro, Inc. Systems and methods for providing variable image projection for spherical visual content
US10750217B2 (en) * 2016-03-21 2020-08-18 Lg Electronics Inc. Broadcast signal transmitting/receiving device and method
US10402938B1 (en) 2016-03-31 2019-09-03 Gopro, Inc. Systems and methods for modifying image distortion (curvature) for viewing distance in post capture
US9794632B1 (en) 2016-04-07 2017-10-17 Gopro, Inc. Systems and methods for synchronization based on audio track changes in video editing
US9838731B1 (en) 2016-04-07 2017-12-05 Gopro, Inc. Systems and methods for audio track selection in video editing with audio mixing option
US9838730B1 (en) 2016-04-07 2017-12-05 Gopro, Inc. Systems and methods for audio track selection in video editing
CN107294652A (zh) * 2016-04-13 2017-10-24 中兴通讯股份有限公司 一种数据混合重传处理方法和装置
WO2017217024A1 (ja) * 2016-06-14 2017-12-21 株式会社Nttドコモ 通信システム
US9922682B1 (en) 2016-06-15 2018-03-20 Gopro, Inc. Systems and methods for organizing video files
US9998769B1 (en) 2016-06-15 2018-06-12 Gopro, Inc. Systems and methods for transcoding media files
US10250894B1 (en) 2016-06-15 2019-04-02 Gopro, Inc. Systems and methods for providing transcoded portions of a video
US10045120B2 (en) 2016-06-20 2018-08-07 Gopro, Inc. Associating audio with three-dimensional objects in videos
US10185891B1 (en) 2016-07-08 2019-01-22 Gopro, Inc. Systems and methods for compact convolutional neural networks
US10469909B1 (en) 2016-07-14 2019-11-05 Gopro, Inc. Systems and methods for providing access to still images derived from a video
US10395119B1 (en) 2016-08-10 2019-08-27 Gopro, Inc. Systems and methods for determining activities performed during video capture
US9836853B1 (en) 2016-09-06 2017-12-05 Gopro, Inc. Three-dimensional convolutional neural networks for video highlight detection
US10282632B1 (en) 2016-09-21 2019-05-07 Gopro, Inc. Systems and methods for determining a sample frame order for analyzing a video
US10268898B1 (en) 2016-09-21 2019-04-23 Gopro, Inc. Systems and methods for determining a sample frame order for analyzing a video via segments
US10002641B1 (en) 2016-10-17 2018-06-19 Gopro, Inc. Systems and methods for determining highlight segment sets
US10284809B1 (en) 2016-11-07 2019-05-07 Gopro, Inc. Systems and methods for intelligently synchronizing events in visual content with musical features in audio content
US10262639B1 (en) 2016-11-08 2019-04-16 Gopro, Inc. Systems and methods for detecting musical features in audio content
US10534966B1 (en) 2017-02-02 2020-01-14 Gopro, Inc. Systems and methods for identifying activities and/or events represented in a video
US10339443B1 (en) 2017-02-24 2019-07-02 Gopro, Inc. Systems and methods for processing convolutional neural network operations using textures
US10127943B1 (en) 2017-03-02 2018-11-13 Gopro, Inc. Systems and methods for modifying videos based on music
US10185895B1 (en) 2017-03-23 2019-01-22 Gopro, Inc. Systems and methods for classifying activities captured within images
US10083718B1 (en) 2017-03-24 2018-09-25 Gopro, Inc. Systems and methods for editing videos based on motion
US10187690B1 (en) 2017-04-24 2019-01-22 Gopro, Inc. Systems and methods to detect and correlate user responses to media content
US10395122B1 (en) 2017-05-12 2019-08-27 Gopro, Inc. Systems and methods for identifying moments in videos
CN112491500B (zh) * 2017-07-07 2022-07-29 华为技术有限公司 传输数据的方法、装置、发送设备和接收设备
US10614114B1 (en) 2017-07-10 2020-04-07 Gopro, Inc. Systems and methods for creating compilations based on hierarchical clustering
US10402698B1 (en) 2017-07-10 2019-09-03 Gopro, Inc. Systems and methods for identifying interesting moments within videos
US10402656B1 (en) 2017-07-13 2019-09-03 Gopro, Inc. Systems and methods for accelerating video analysis
FR3070566B1 (fr) * 2017-08-30 2020-09-04 Sagemcom Broadband Sas Procede de recuperation d'un fichier cible d'un logiciel d'exploitation et dispositif d'utilisation
KR102464803B1 (ko) * 2017-10-13 2022-11-09 삼성전자주식회사 응용 계층 순방향 오류 정정 방식을 사용하는 멀티미디어 서비스 제공 방법 및 장치
WO2019074341A1 (ko) * 2017-10-13 2019-04-18 삼성전자 주식회사 멀티미디어 서비스 시스템에서 방송 서비스를 송수신하는 방법 및 장치
US11606528B2 (en) * 2018-01-03 2023-03-14 Saturn Licensing Llc Advanced television systems committee (ATSC) 3.0 latency-free display of content attribute
US10966001B2 (en) 2018-04-05 2021-03-30 Tvu Networks Corporation Remote cloud-based video production system in an environment where there is network delay
US11463747B2 (en) * 2018-04-05 2022-10-04 Tvu Networks Corporation Systems and methods for real time control of a remote video production with multiple streams
GB2598701B (en) * 2020-05-25 2023-01-25 V Nova Int Ltd Wireless data communication system and method
CN113709510A (zh) * 2021-08-06 2021-11-26 联想(北京)有限公司 高速率数据实时传输方法及装置、设备、存储介质
WO2024056199A1 (en) * 2022-09-14 2024-03-21 Lenovo (Singapore) Pte. Ltd Signaling pdu sets with application layer forward error correction in a wireless communication network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001007775A (ja) * 1997-06-19 2001-01-12 Toshiba Corp 情報データ多重化伝送システムとその多重化装置及び分離装置
JP2008228285A (ja) * 2007-02-16 2008-09-25 Matsushita Electric Ind Co Ltd 送信装置、受信装置、符号化器、及び、符号化方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3597647B2 (ja) * 1995-09-29 2004-12-08 株式会社東芝 符号化方法及び装置
US5844918A (en) * 1995-11-28 1998-12-01 Sanyo Electric Co., Ltd. Digital transmission/receiving method, digital communications method, and data receiving apparatus
CA2395215C (en) * 2000-10-21 2008-10-07 Min-Koo Kim Data transmitting/receiving method in harq data communication system
US20020146074A1 (en) * 2001-02-20 2002-10-10 Cute Ltd. Unequal error protection of variable-length data packets based on recursive systematic convolutional coding
CA2380039C (en) * 2001-04-03 2008-12-23 Samsung Electronics Co., Ltd. Method of transmitting control data in cdma mobile communication system
US7177658B2 (en) * 2002-05-06 2007-02-13 Qualcomm, Incorporated Multi-media broadcast and multicast service (MBMS) in a wireless communications system
US6901063B2 (en) * 2002-05-13 2005-05-31 Qualcomm, Incorporated Data delivery in conjunction with a hybrid automatic retransmission mechanism in CDMA communication systems
US7310301B1 (en) * 2003-04-18 2007-12-18 General Dynamics C4 Systems, Inc. Multi-carrier modulation with source information allocated over variable quality communication channel
US8090857B2 (en) * 2003-11-24 2012-01-03 Qualcomm Atheros, Inc. Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks
US7676735B2 (en) * 2005-06-10 2010-03-09 Digital Fountain Inc. Forward error-correcting (FEC) coding and streaming
US8908577B2 (en) * 2005-12-02 2014-12-09 Qualcomm Incorporated Solving IP buffering delays in mobile multimedia applications with translayer optimization
WO2007117218A1 (en) * 2006-04-12 2007-10-18 Panasonic Corporation Transmission of multicast/broadcast services in a wireless communication network
EP2067318A4 (en) * 2006-07-25 2012-03-07 Thomson Licensing RECOVERING WASTE PACKETS LOST IN WIRELESS NETWORKS UTILIZING THE INTERNET PROTOCOL IMPLEMENTED THROUGH FREQUENCY BROADCASTING AND CORRECTION OF ERRORS WITHOUT PACKET RETURN PATHWAY
JP2010514348A (ja) * 2006-12-21 2010-04-30 トムソン ライセンシング インターネットプロトコルネットワークでのリアルタイムのオーディオ及びビデオデータの前方誤り訂正をサポートする方法
US8199796B2 (en) * 2006-12-22 2012-06-12 Newport Media, Inc. Physical layer aware video encoding for mobile TV applications
KR20090012180A (ko) * 2007-07-28 2009-02-02 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
US8386630B1 (en) * 2007-09-09 2013-02-26 Arris Solutions, Inc. Video-aware P2P streaming and download with support for real-time content alteration
US8155090B2 (en) * 2007-11-01 2012-04-10 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for efficient multimedia delivery in a wireless packet network
KR101001024B1 (ko) * 2007-12-18 2010-12-14 한국전자통신연구원 비디오 멀티캐스팅 서비스에서 정보 보안 유지 방법 및장치
CA2723386A1 (en) * 2008-05-07 2009-11-12 Digital Fountain, Inc. Fast channel zapping and high quality streaming protection over a broadcast channel
EP2324635A1 (en) * 2008-08-12 2011-05-25 Telefonaktiebolaget L M Ericsson (PUBL) Subdivision of media streams for channel switching
EP2348657B1 (en) * 2008-12-18 2013-09-11 Nippon Telegraph And Telephone Corporation Communications system, transmission device and method of communication
US8681841B2 (en) * 2009-11-09 2014-03-25 Adeptence, Llc Method and apparatus for a single-carrier wireless communication system
US8839078B2 (en) * 2010-03-05 2014-09-16 Samsung Electronics Co., Ltd. Application layer FEC framework for WiGig
TW201223170A (en) * 2010-11-18 2012-06-01 Ind Tech Res Inst Layer-aware Forward Error Correction encoding and decoding method, encoding apparatus, decoding apparatus and system thereof
KR101656969B1 (ko) * 2011-11-21 2016-09-12 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 계층 인식 순방향 에러 정정을 위한 인터리빙

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001007775A (ja) * 1997-06-19 2001-01-12 Toshiba Corp 情報データ多重化伝送システムとその多重化装置及び分離装置
JP2008228285A (ja) * 2007-02-16 2008-09-25 Matsushita Electric Ind Co Ltd 送信装置、受信装置、符号化器、及び、符号化方法

Also Published As

Publication number Publication date
EP2786578A1 (en) 2014-10-08
CN108600786A (zh) 2018-09-28
KR20140098231A (ko) 2014-08-07
JP2015500587A (ja) 2015-01-05
US20130136193A1 (en) 2013-05-30
EP3288187A1 (en) 2018-02-28
WO2013081414A1 (en) 2013-06-06
US20160105259A1 (en) 2016-04-14
EP3288187B1 (en) 2023-01-04
CN103959799A (zh) 2014-07-30
EP2786578A4 (en) 2015-11-04

Similar Documents

Publication Publication Date Title
KR102048730B1 (ko) 방송 데이터 송/수신장치 및 방법
JP6689511B2 (ja) 順方向エラー訂正スキームを使用するパケット送受信装置及び方法
JP6419235B2 (ja) デジタル放送システムにおけるデータを受信する装置
KR102048452B1 (ko) 멀티미디어 시스템에서 순방향 오류 정정 패킷을 생성하는 방법과 그 오류 정정 패킷을 송수신하는 방법 및 장치
EP3917137B1 (en) Apparatus for transmitting and apparatus for receiving media contents in a multimedia system
US10433024B2 (en) Method and apparatus for configuring content in a broadcast system
US7450612B2 (en) Packetization of layered media bitstreams
EP2667625B1 (en) Apparatus and method for transmitting multimedia data in a broadcast system
KR101880467B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
JP2001189713A (ja) データ伝送装置およびデータ伝送方法
US8432937B2 (en) System and method for recovering the decoding order of layered media in packet-based communication
EP2946555B1 (en) Forward error correction using source blocks with symbols from at least two datastreams with synchronized start symbol identifiers among the datastreams
JP4696008B2 (ja) Ip送信装置およびip送信方法
KR102163338B1 (ko) 방송 및 통신 시스템에서 패킷 송수신 장치 및 방법
US20160352465A1 (en) Apparatus and method for transmitting and receiving forward error correction packet
CN108429921A (zh) 一种视频编解码方法及装置
EP2842253B1 (en) Apparatus and method for transmitting a packet in a communication system
Nazir et al. Unequal error protection for data partitioned H. 264/AVC video streaming with Raptor and Random Linear Codes for DVB-H networks
KR20130044782A (ko) 멀티미디어 시스템에서 순방향 오류 정정 부호화 방법 및 장치
Boudjadja et al. Efficient mobile video transmission based on a joint coding scheme

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant