KR20090031312A - 디지털 방송 시스템 및 데이터 처리 방법 - Google Patents
디지털 방송 시스템 및 데이터 처리 방법 Download PDFInfo
- Publication number
- KR20090031312A KR20090031312A KR1020080092361A KR20080092361A KR20090031312A KR 20090031312 A KR20090031312 A KR 20090031312A KR 1020080092361 A KR1020080092361 A KR 1020080092361A KR 20080092361 A KR20080092361 A KR 20080092361A KR 20090031312 A KR20090031312 A KR 20090031312A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- frame
- channel
- service data
- mobile service
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 46
- 238000012545 processing Methods 0.000 title description 2
- 238000005538 encapsulation Methods 0.000 claims abstract description 16
- 230000005540 biological transmission Effects 0.000 claims description 26
- 230000006835 compression Effects 0.000 claims description 13
- 238000007906 compression Methods 0.000 claims description 13
- 239000000654 additive Substances 0.000 claims 1
- 230000000996 additive effect Effects 0.000 claims 1
- 238000003672 processing method Methods 0.000 abstract description 10
- 230000011664 signaling Effects 0.000 description 43
- 238000010586 diagram Methods 0.000 description 30
- 230000006978 adaptation Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 9
- 230000003044 adaptive effect Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/015—High-definition television systems
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명은 데이터 처리 방법 및 디지털 방송 시스템을 개시한다. 수신부는 모바일 서비스 데이터와 메인 서비스 데이터가 포함된 방송신호를 수신한다. 기지 데이터 검출부는 수신된 방송신호 내 기지 데이터를 검출한다. 등화기는 검출된 기지 데이터를 이용하여 수신된 상기 모바일 서비스 데이터를 채널 등화한다. RS 프레임 디코더는 채널 등화된 모바일 서비스 데이터로부터 RS 프레임을 얻는다. 매니지먼트 프로세서는 RS 프레임의 한 로우를 구성하는 GSE(Generic Stream Encapsulation) BB(Base Band)로부터 GSE 패킷을 추출하고, 추출된 GSE 패킷으로부터 IP 데이터그램을 산출한다. 프리젠테이션 프로세서는 산출된 IP 데이터그램에 포함된 데이터를 이용하여 방송을 디스플레이한다.
모바일, 서비스, GSE, IP
Description
본 발명은 디지털 방송을 송신하고 수신하기 위한 디지털 방송 시스템 및 데이터 처리 방법에 관한 것이다.
디지털 방송 중 북미 및 국내에서 디지털 방송 표준으로 채택된 VSB(Vestigial Sideband) 전송 방식은 싱글 캐리어 방식이므로 열악한 채널 환경에서는 수신 시스템의 수신 성능이 떨어질 수 있다. 특히 휴대용이나 이동형 방송 수신기의 경우에는 채널 변화 및 노이즈에 대한 강건성이 더욱 요구되므로, 상기 VSB 전송 방식으로 모바일 서비스 데이터를 전송하는 경우 수신 성능이 더욱 떨어지게 된다.
본 발명은 채널 변화 및 노이즈에 강한 디지털 방송 시스템 및 데이터 처리 방법을 제공함에 있다. 본 발명은 모바일 서비스 데이터에 대해 추가의 부호화를 수행하여 수신 시스템으로 전송함으로써, 수신 시스템의 수신 성능을 향상시키도록 하는 디지털 방송 시스템 및 데이터 처리 방법을 제공함에 있다. 본 발명은 송/수신측의 약속에 의해 알고 있는 기지 데이터를 데이터 영역의 소정 영역에 삽입하여 전송함으로써, 수신 시스템의 수신 성능을 향상시키도록 하는 디지털 방송 시스템 및 데이터 처리 방법을 제공함에 있다.
본 발명의 목적은 모바일 서비스 데이터를 메인 서비스 데이터와 다중화하여 전송할 경우, 모바일 서비스 데이터에 대한 서비스를 빠르게 접근할 수 있는 디지털 방송 시스템 및 데이터 처리 방법을 제공하는 것이다.
본 발명은 모바일 서비스 데이터와 메인 서비스 데이터가 포함된 방송신호를 수신하는 단계; 상기 수신된 방송 신호 내 기지 데이터를 검출하는 단계; 상기 검출된 기지 데이터를 이용하여 수신된 상기 모바일 서비스 데이터를 채널 등화하는 단계; 및 상기 채널 등화된 모바일 서비스 데이터로부터 RS 프레임을 얻는 단계; 상기 RS 프레임의 한 로우를 구성하는 GSE(Generic Stream Encapsulation) BB(Base Band)로부터 GSE 패킷을 추출하고, 상기 GSE 패킷으로부터 IP 데이터그램을 산출하는 단계; 및 상기 산출된 IP 데이터그램에 포함된 데이터를 이용하여 방송을 디스 플레이하는 단계;를 포함하는 데이터 처리 방법을 제공한다.
여기서 상기 모바일 서비스 데이터는 데이터 그룹을 구성할 수 있고, 상기 데이터 그룹은 복수개의 영역으로 구분되고, 상기 복수개의 영역 중 일부 영역 내에는 기지 데이터 열이 선형적으로 삽입되며, 상기 기지 데이터열의 시작 부분에는 송신기의 트렐리스 인코더 내 메모리를 초기화하는데 이용된 초기화 데이터가 위치하며,상기 복수개의 영역 중 일부 영역 내에 상기 기지 데이터 열이 N개 삽입되며, 상기 N개의 기지 데이터열 중 첫 번째 기지 데이터 열 및 두 번째 기지데이터 열 사이에는 전송 파라미터가 삽입될 수 있다.
바람직하게 상기 산출하는 단계에서, 상기 GSE 패킷의 데이터 필드에 포함된 데이터에 대한 압축을 해제하여 상기 IP 데이터그램의 헤더를 복원할 수 있다. 여기서 상기 IP 데이터그램의 헤더는 ROHC(Robust Header Compression)을 기초로 압축될 수 있다.
또한 상기 IP 데이터그램은 적어도 하나의 GSE 패킷의 데이터 필드에 포함될 수 있다.
본 발명은 모바일 서비스 데이터를 포함하는 IP 데이터그램을 적어도 하나의 GSE(Generic Stream Encapsulation) 패킷으로 캡슐화하는 단계; 및 상기 GSE 패킷을 포함하는 모바일 서비스 데이터 프레임을 생성하는 단계; 상기 생성된 모바일 서비스 데이터 프레임을 데이터 그룹들로 분리하고, 상기 분리된 데이터 그룹을 메인 서비스 데이터와 다중화하는 단계; 상기 다중화된 데이터 그룹과 메인 서비스 데이터를 방송 신호로 변조하는 단계; 및 상기 방송 신호를 전송하는 단계;를 포함 하는 데이터 처리 방법을 제공한다. 바람직하게 상기 생성하는 단계는, 상가 GSE 패킷으로 BB(Base Band) 프레임을 형성하는 단계; 및 상기 형성된 BB 프레임을 상기 모바일 서비스 데이터 프레임의 로우 단위로 구성하여 상기 모바일 서비스 데이터 프레임을 생성하는 단계;를 포함할 수 있다.
바람직하게 상기 캡슐화하는 단계에서, 상기 IP 데이터그램의 헤더를 압축할 수 있다. 여기서 ROHC(Robust Header Compression)을 기초로 상기 IP 데이터그램의 헤더를 압축할 수 있다.
본 발명은 모바일 서비스 데이터와 메인 서비스 데이터가 포함된 방송신호를 수신하는 수신부; 상기 수신된 방송신호 내 기지 데이터를 검출하는 기지 데이터 검출부; 상기 검출된 기지 데이터를 이용하여 수신된 상기 모바일 서비스 데이터를 채널 등화하는 등화기; 상기 채널 등화된 모바일 서비스 데이터로부터 RS 프레임을 얻는 RS 프레임 디코더; 상기 RS 프레임의 한 로우를 구성하는 GSE(Generic Stream Encapsulation) BB(Base Band)로부터 GSE 패킷을 추출하고, 상기 추출된 GSE 패킷으로부터 IP 데이터그램을 산출하는 매니지먼트 프로세서; 및 상기 산출된 IP 데이터그램에 포함된 데이터를 이용하여 방송을 디스플레이하는 프리젠테이션 프로세서;를 포함하는 디지털 방송 시스템을 제공한다.
여기서, 상기 모바일 서비스 데이터는 데이터 그룹을 구성할 수 있고, 상기 데이터 그룹은 복수개의 영역으로 구분되고, 상기 복수개의 영역 중 일부 영역 내에는 기지 데이터 열이 선형적으로 삽입되며, 상기 기지 데이터열의 시작 부분에는 송신기의 트렐리스 인코더 내 메모리를 초기화하는데 이용된 초기화 데이터가 위치 하며, 상기 복수개의 영역 중 일부 영역 내에 상기 기지 데이터 열이 N개 삽입되며, 상기 N개의 기지 데이터열 중 첫 번째 기지 데이터 열 및 두 번째 기지데이터 열 사이에는 전송 파라미터가 삽입될 수 있다.
바람직하게 상기 매니지먼트 프로세서는, 상기 GSE 패킷의 데이터 필드에 포함된 데이터에 대한 압축을 해제하여 상기 IP 데이터그램의 헤더를 복원할 수 있다. 여기서 상기 매니지먼트 프로세서는, ROHC(Robust Header Compression)을 기초로 상기 IP 데이터그램의 헤더의 압축을 해제할 수 있다.
바람직하게 상기 매니지먼트 프로세서는, 적어도 하나의 GSE 패킷의 데이터 필드로부터 상기 IP 데이터그램을 산출할 수 있다.
본 발명에 따른 디지털 방송 시스템, 및 데이터 처리 방법은 채널을 통하여 모바일 서비스 데이터를 송신할 때 에러에 강하고 또한 기존의 수신기와도 호환성이 가능한 이점이 있다. 본 발명은 고스트와 잡음이 심한 채널에서도 모바일 서비스 데이터를 에러없이 수신할 수 있는 이점이 있다. 본 발명은 데이터 영역의 특정 위치에 기지 데이터를 삽입하여 전송함으로써, 채널 변화가 심한 환경에서 수신 시스템의 수신 성능을 향상시킬 수 있다. 특히 본 발명은 채널 변화가 심하고 노이즈에 대한 강건성이 요구되는 휴대용 및 이동 수신기에 적용하면 더욱 효과적이다.
본 발명에 따르면 모바일 서비스 데이터를 메인 서비스 데이터와 다중화하여 전송할 경우, 모바일 서비스 데이터로 제공되는 서비스를 빠르게 접근할 수 있다.
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 발명에서 사용되는 용어의 정의
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 함을 밝혀두고자 한다.
본 발명에서 사용되는 용어 중 메인 서비스 데이터는 고정형 수신 시스템에서 수신할 수 있는 데이터로서, 오디오/비디오(A/V) 데이터를 포함할 수 있다. 즉, 상기 메인 서비스 데이터에는 HD(High Definition) 또는 SD(Standard Definition)급의 A/V 데이터가 포함될 수 있으며, 데이터 방송을 위한 각종 데이터가 포함될 수도 있다. 그리고 기지(Known) 데이터는 송/수신측의 약속에 의해 미리 알고 있는 데이터이다.
본 발명에서 사용되는 용어 중 MH는 모바일(Mobile), 핸드헬드(Handheld) 각 각의 첫 글자이며, 고정형 에 반대되는 개념이다. 그리고 MH 서비스 데이터는 모바일(Mobile) 서비스 데이터, 핸드헬드(Handheld) 서비스 데이터 중 적어도 하나를 포함하며, 설명의 편의를 위해 본 발명에서는 MH 서비스 데이터를 모바일 서비스 데이터라 하기도 한다. 이때 상기 모바일 서비스 데이터에는 MH 서비스 데이터뿐만 아니라, 이동이나 휴대를 의미하는 서비스 데이터는 어느 것이나 포함될 수 있으며, 따라서 상기 모바일 서비스 데이터는 상기 MH 서비스 데이터로 제한되지 않을 것이다.
상기와 같이 정의된 모바일 서비스 데이터는 프로그램 실행 파일, 주식 정보 등과 같이 정보를 갖는 데이터일 수도 있고, A/V 데이터일 수도 있다. 특히 상기 모바일 서비스 데이터는 휴대용이나 이동형 단말기(또는 방송 수신기)를 위한 서비스 데이터로서 메인 서비스 데이터에 비해서 작은 해상도와 작은 데이터 율을 가지는 A/V 데이터가 될 수도 있다. 예를 들어, 기존 메인 서비스를 위해 사용하는 A/V 코덱(Codec)이 MPEG-2 코덱(Codec)이라면, 모바일 서비스를 위한 A/V 코덱(Codec)으로는 보다 영상 압축 효율이 좋은 MPEG-4 AVC(Advanced Video Coding), SVC(Scalable Video Coding) 등의 방식이 사용될 수도 있다. 또한 상기 모바일 서비스 데이터로 어떠한 종류의 데이터라도 전송될 수 있다. 일례로 실시간으로 교통 정보를 방송하기 위한 TPEG(Transport Protocol Expert Group) 데이터가 모바일 서비스 데이터로 전송될 수 있다.
또한 상기 모바일 서비스 데이터를 이용한 데이터 서비스로는 날씨 서비스, 교통 서비스, 증권 서비스, 시청자 참여 퀴즈 프로그램, 실시간 여론 조사, 대화형 교육 방송, 게임 서비스, 드라마의 줄거리, 등장인물, 배경음악, 촬영장소 등에 대한 정보 제공 서비스, 스포츠의 과거 경기 전적, 선수의 프로필 및 성적에 대한 정보 제공 서비스, 상품 정보 및 이에 대한 주문 등이 가능하도록 하는 서비스별, 매체별, 시간별, 또는 주제별로 프로그램에 대한 정보 제공 서비스 등이 될 수 있으며, 본 발명은 이에 한정하지는 않는다.
본 발명의 전송 시스템은 기존 수신 시스템에서 메인 서비스 데이터를 수신하는데 전혀 영향을 주지 않으면서(backward compatible), 동일한 물리적 채널에 메인 서비스 데이터와 모바일 서비스 데이터를 다중화하여 전송할 수 있도록 한다.
본 발명의 전송 시스템은 모바일 서비스 데이터에 대해 추가적인 부호화를 수행하고, 송/수신측 모두가 미리 알고 있는 데이터 즉, 기지(known) 데이터를 삽입하여 전송할 수 있도록 한다.
이러한 본 발명에 따른 전송 시스템을 사용하면 수신 시스템에서는 모바일 서비스 데이터의 이동 수신이 가능하며, 또한 채널에서 발생하는 각종 왜곡과 노이즈에도 모바일 서비스 데이터의 안정적인 수신이 가능하다.
수신 시스템
도 1은 본 발명의 일 실시예에 따른 수신 시스템의 구성 블록도를 도시한 도면이다.
본 실시예에 따른 수신 시스템은 베이스밴드 프로세서(baseband processor)(100), 매니지먼트 프로세서(management processor)(200) 및 프리젠테이 션 프로세서(presentation processor)(300)를 포함한다.
상기 베이스밴드 프로세서(100)는 오퍼레이션 콘트롤러(operation controller)(110), 튜너(tuner)(120), 복조기(demodulator)(130), 등화기(equalizer)(140), 기지 데이터 검출기(Known Sequence Detector)(150), 블록 디코더(Mobile Handheld block decoder)(160), 프라이머리 RS 프레임 디코더(primary Reed Solomon frame decoder)(170), 세컨더리(secondary) RS 프레임 디코더(180), 및 시그널링 디코더(190)를 포함할 수 있다.
상기 오퍼레이션 콘트롤러(110)는 상기 베이스밴드 프로세서(100)의 각 블록의 동작을 제어한다.
상기 튜너(120)는 특정 물리 채널의 주파수로 수신 시스템을 튜닝함으로써, 고정형 방송 수신 장치를 위한 방송신호인 메인 서비스 데이터와 이동형 방송 수신장치를 위한 방송신호인 모바일 서비스 데이터를 수신하도록 하는 역할을 한다. 이때 튜닝된 특정 채널의 주파수는 중간주파수(IF : Intermediate Frequency) 신호로 다운 컨버전하여 복조기(130)와 기지 데이터 검출기(140)로 출력한다. 상기 튜너(120)로부터 출력되는 통과대역 디지털 IF 신호는 메인 서비스 데이터만 포함할 수도 있고, 모바일 서비스 데이터만 포함할 수도 있으며, 메인 서비스 데이터와 모바일 서비스 데이터를 함께 포함할 수도 있다.
상기 복조기(130)는 튜너(120)로부터 입력되는 통과대역의 디지털 IF 신호에 대해 자동 이득 제어, 반송파 복구 및 타이밍 복구 등을 수행하여 기저대역 신호로 만든 후 등화기(140)와 기지 데이터 검출기(150)로 출력한다.상기 복조기(130)는 타이밍 복원이나 반송파 복구시에 상기 기지 데이터 검출기(150)로부터 입력받는 기지 데이터 심볼열을 이용함으로써, 복조 성능을 향상 시킬 수 있다.
상기 등화기(140)는 상기 복조기(130)에서 복조된 신호에 포함된 채널 상의 왜곡을 보상한 후 블록 디코더(160)로 출력한다. 상기 등화기(140)는 기지데이터 검출기(150)로부터 입력받는 기지 데이터 심볼열을 이용함으로써, 등화 성능을 향상 시킬 수 있다. 또한 상기 등화기(140)는 상기 블록 디코더(150)의 복호 결과를 피드백받아 등화 성능을 향상시킬 수도 있다.
상기 기지데이터 검출기(150)는 상기 복조기(130)의 입/출력 데이터 즉, 복조가 이루어지기 전의 데이터 또는 복조가 일부 이루어진 데이터로부터 송신 측에서 삽입한 기지 데이터 위치를 검출하고 위치 정보와 함께 그 위치에서 발생시킨 기지 데이터의 시퀀스(Sequence)를 복조기(130)와 등화기(140)로 출력한다. 또한 상기 기지데이터 검출기(150)는 송신측에서 추가적인 부호화를 거친 모바일 서비스 데이터와 추가적인 부호화를 거치지 않은 메인 서비스 데이터를 블록 디코더(160)에서 구분할 수 있도록 하기 위한 정보를 블록 디코더(160)로 출력한다.
상기 블록 디코더(160)는 등화기(140)에서 채널 등화된 후 입력되는 데이터가 송신 측에서 블록 인코딩과 트렐리스 인코딩이 모두 수행된 데이터(즉, RS 프레임 내 데이터, 시그널링 데이터)이면 송신 측의 역으로 트렐리스 디코딩 및 블록 디코딩을 수행하고, 블록 인코딩은 수행되지 않고 트렐리스 인코딩만 수행된 데이터 (즉, 메인 서비스 데이터)이면 트렐리스 디코딩만을 수행한다.
상기 시그널링 디코더(190)는 등화기(140)에서 채널 등화된 후 입력되는 시 그널링 데이터의 디코딩을 수행한다. 상기 시그널링 디코더(190)로 입력되는 시그널링 데이터는 송신 시스템에서 블록 인코딩과 트렐리스 인코딩이 모두 수행된 데이터라고 가정한다. 이러한 시그널링 데이터로는 TPC(Transmission Parameter Channel) 데이터와 FIC(Fast Information Channel) 데이터를 일 예로 들 수 있다. 각 데이터에 대해서는 아래에서 상세히 기술한다. 상기 시그널링 디코더(190)에서 디코딩된 FIC 데이터는 FIC 핸들러(FIC Handler)(215)로 출력되고, 디코딩된 TPC 데이터는 TPC 핸들러(TPC Handler)(214)로 출력된다.
한편, 본 발명에 따르면, 송신 시스템에서는 인코딩 단위로 RS 프레임 개념을 사용하고 있다. 상기 RS 프레임은 프라이머리 RS 프레임(Primary RS Frame)과 세컨더리 RS 프레임(Secondary RS Frame)으로 구분한다. 다만, 프라이머리 RS 프레임과 세컨더리 RS 프레임의 구분은 데이터의 중요도에 따르는 것을 일 실시예로 한다.
상기 프라이머리 RS 프레임 디코더(170)는 블록 디코더(160)의 출력을 입력으로 받는다. 이때 상기 프라이머리 RS 프레임 디코더(170)는 RS(Reed Solomon) 인코딩 및/또는 CRC(Cyclic Redundancy Check) 인코딩된 모바일 서비스 데이터만을 상기 블록 디코더(160)로부터 입력받는 것을 일 실시예로 한다. 즉, 프라이머리 RS 프레임 디코더(170)는 메인 서비스 데이터가 아닌 모바일 서비스 데이터만을 수신한다. 상기 프라이머리 RS 프레임 디코더(170)는 송신 시스템의 RS 프레임 인코더(미도시)의 역과정을 수행하여, 프라이머리 RS 프레임 내의 에러들을 정정한다. 즉, 상기 프라이머리 RS 프레임 디코더(170)는 다수의 데이터 그룹을 모아 프라이 머리 RS 프레임을 형성한 후, 프라이머리 RS 프레임 단위로 에러 정정을 수행한다. 다시 말해, 상기 프라이머리 RS 프레임디코더(170)는 실제 방송 서비스 등을 위하여 전송되는 프라이머리 RS 프레임을 디코딩한다.
상기 세컨더리 RS 프레임 디코더(180)는 블록 디코더(160)의 출력을 입력으로 받는다. 이때 상기 세컨더리 RS 프레임 디코더(180)는 RS 인코딩 및/또는 CRC 인코딩된 모바일 서비스 데이터만을 입력받는 것을 일 실시예로 한다. 즉, 상기 세컨더리 RS 프레임 디코더(180)는 메인 서비스 데이터가 아닌 모바일 서비스 데이터만을 수신하다. 상기 세컨더리 RS 프레임 디코더(180)는 송신 시스템의 RS 프레임 인코더(미도시)의 역과정을 수행하여, 세컨더리 RS 프레임 내의 에러들을 정정한다. 즉, 상기 세컨더리 RS 프레임 디코더(180)는 다수의 데이터 그룹을 모아 세컨더리 RS 프레임을 형성한 후, 세컨더리 RS 프레임 단위로 에러 정정을 수행한다. 다시 말해, 상기 세컨더리 RS 프레임 디코더(180)는 모바일 오디오 서비스 데이터, 모바일 비디오 서비스 데이터, 가이드 데이터 등을 위하여 전송되는 세컨더리 RS 프레임을 디코딩한다.
한편, 본 발명의 일 실시예에 따른 매니지먼트 프로세서(200)는 MH 물리 적응 프로세서(MH Physical Adaptation Processor)(210), IP 네트워크 스택(IP network stack)(220), 스트리밍 핸들러(streaming handler)(230), SI 핸들러(SI handler)(240), 파일 핸들러(file handler)(250), MIME 타입 핸들러(MIME(Multipurpose Internet Mail Extensions) type handler)(260), ESG 핸들러(ESG handler)(270), ESG 디코더(ESG decoder)(280), 저장부(storage)(290)를 포 함할 수 있다.
상기 MH 물리 적응 프로세서(210)는 프라이머리 RS 프레임 핸들러(primary RS frame handler)(211), 세컨더리RS 프레임 핸들러(secondary RS frame handler)(212), MH-TP 핸들러(MH-TP handler)(213), TPC 핸들러(214), FIC 핸들러(215), 및 물리 적응 제어 시그널 핸들러(Physical Adaptation Control Signal Handler)(216)를 포함할 수 있다.
상기 TPC 핸들러(214)는 MH 물리 적응 프로세서(210)에 해당하는 모듈들이 필요로 하는 베이스밴드 정보를 받아 처리한다.상기 베이스밴드 정보는 TPC 데이터의 형태로 입력되며, 상기 TPC 핸들러(214)는 이 정보를 이용하여 베이스밴드 프로세서(100)에서 전달받는 FIC 데이터 등을 처리한다.
상기 TPC 데이터는 데이터 그룹의 소정 영역을 통해 송신 시스템에서 수신 시스템으로 전송된다. 상기 TPC 데이터는 MH-Ensemble ID, MH-Subframe Number, TNoG(Total Number of MH-Groups), RS frame Continuity Counter, N (Column Size of RS-frame), 및 FIC Version Number 중 적어도 하나를 포함할 수 있다.
상기 MH-Ensemble ID는 해당 물리 채널 상으로 전송되는 각 MH 앙상블에 대한 식별 넘버를 의미한다(Identification number for each MH-Ensemble carried in this physical channel).
상기 MH-Subframe Number는 MH 프레임 내 서브 프레임을 나타내는 넘버이다(A number that identifies the MH-Subframe number in an MH-frame, where each MH-Group associated with this MH-Ensemble is transmitted).
상기 TNoG(Total Number of MH-Groups)는 하나의 서브 프레임 내 모든 MH 퍼레이드에 속하는 데이터 그룹의 총 수를 나타낸다(Total Number of MH-Groups including all the MH-Groups belonging to all the MH-Parades in one MH-Subframe).
상기 RS frame Continuity Counter는 해당 MH 프레임으로 전송되는 RS 프레임의 연속 지시자를 나타내는 넘버로서, 연속된 각 RS 프레임마다 modulo 16을 채용하면서 1씩 증가한다(A number which serves as a continuity indicator of the RS-frames carrying this MH-Ensemble. The value shall be incremented by 1 modulo 16 for each successive RS-frame).
상기 N (Column Size of RS-frame)는 해당 MH 앙상블에 속하는 RS 프레임의 컬럼 사이즈로서, 이 값에 의해 각 MH-TP(Transport Packet)의 사이즈가 결정된다(The column size of the RS-frame that belongs to this MH-Ensemble. This value determines the size of each MH-TP).
상기 FIC Version Number는 해당 물리 채널 상에 전송되는 FIC 전송 구조체인 FIC 바디의 버전 넘버를 나타낸다(A number that represents the version number of FIC body carried on this physical channel).
상술한 바와 같이, 위의 TPC 데이터들은 도 1의 시그널링 디코더(190)를 통해 TPC 핸들러(214)로 입력되어 TPC 핸들러(214)에서 처리되며, 또한 FIC 핸들러(215)에서 FIC 데이터를 처리하는데 사용된다.
상기 FIC 핸들러(215)는 베이스밴드 프로세서(100)로부터 전달받는 FIC 데이 터를 TPC 핸들러(214)로부터 전달받은 TPC 데이터와 연관하여 처리한다.
상기 물리 적응 제어 시그널 핸들러(216)는 FIC 핸들러(215)를 통하여 전달받은 FIC 데이터, RS 프레임을 통하여 수신된 SI 데이터들을 수집하고, 이를 이용하여 IP 데이터그램 및 모바일 방송 서비스의 억세스 정보를 구성 및 처리하여 저장부(290)에 저장한다.
상기 프라이머리 RS 프레임 핸들러(211)는 베이스밴드 프로세서(100)의 프라이머리 RS 프레임 디코더(170)로부터 전달받은 프라이머리 RS 프레임을 각 로우 단위로 구분하여 MH-TP를 구성하고, 이를 MH-TP 핸들러(213)로 출력한다.
상기 세컨더리 RS 프레임 핸들러(212)는 베이스밴드 프로세서(100)의 세컨더리 RS 프레임 디코더(180)로부터 전달받은 세컨더리 RS 프레임을 각 로우 단위로 구분하여 MH-TP를 구성하고, 이를 MH-TP 핸들러(213)로 출력한다.
상기 MH-TP 핸들러(213)는 상기 프라이머리 및 세컨더리 RS 프레임 핸들러(211,212)로부터 전달받은 MH-TP의 각 헤더를 추출하여 해당 MH-TP가 포함하고 있는 데이터를 판단한다. 그리고 판단된 해당 데이터가 SI 데이터일 경우에는 물리 적응 제어 시그널 핸들러(216)로 출력하고(즉 IP 데이터그램으로 인캡슐레이션되지 않은 SI 데이터인 경우), IP 데이터그램일 경우에는 IP 네트워크 스택(220)으로 출력한다.
상기 IP 네트워크 스택(220)은 IP 데이터그램 형태로 전송되는 방송 데이터를 처리한다. 즉, 상기 IP 네트워크 스택(220)은 UDP(User Datagram Protocol), RTP(Real-time Transport Protocol), RTCP(Real-time Transport Control Protocol), ALC/LCT(Asynchronous Layered Coding/ Layered Coding Transport), FLUTE(File Delivery over Unidirectional Transport) 등으로 입력되는 데이터를 처리한다. 이때 처리된 데이터가 스트리밍 데이터일 경우 스트리밍 핸들러(230)로 출력하고, 파일(File) 형태의 데이터일 경우 파일 핸들러(250)로 출력하며, SI에 대한 데이터일 경우 SI 핸들러(240)로 출력한다.
상기 SI 핸들러(240)는 IP 네트워크 스택(220)으로 입력된 IP 데이터그램 형태의 SI 데이터를 수신하여 처리한다.
상기 SI 핸들러(240)는 입력된 SI에 대한 데이터가 MIME 타입인 경우, MIME 타입 핸들러(260)로 출력한다.
상기 MIME 타입 핸들러(260)는 상기 SI 핸들러(240)로부터 출력되는 MINE 타입의 SI 데이터를 입력받아 처리한다.
상기 파일 핸들러(250)는 IP 네트워크 스택(220)으로부터 ALC/LCT, FLUTE 구조에 따른 오브젝트(Object) 형태로 데이터를 전달받는다. 상기 파일 핸들러(250)는 전달받은 데이터를 모아 파일 형태로 구성하며, 해당 파일이 ESG(Electronic Service Guide)를 포함하고 있을 경우에는 ESG 핸들러(270)로 출력하고, 그 외의 파일 기반 서비스를 위한 데이터일 경우에는 프리젠테이션 프로세서(300)의 프리젠테이션 콘트롤러(330)로 출력한다.
상기 ESG 핸들러(270)는 File 핸들러(250)로부터 전달받은 ESG 데이터를 처리하여 저장부(290)에 저장하거나, ESG 디코더(280)로 출력하여, 상기 ESG 디코더(280)에서 ESG 데이터를 이용하도록 한다.
상기 저장부(290)는 물리 적응 제어 시그널 핸들러(216)와 ESG 핸들러(270)로부터 전달받은 SI(System Information)를 저장하며, 저장된 데이터를 각 블록으로 전달한다.
상기 ESG 디코더(280)는 상기 저장부(290)에 저장된 ESG 데이터와 SI 데이터 또는 ESG 핸들러(270)로부터 전달받은 ESG 데이터를 복원하고, 사용자에게 출력할 수 있는 포맷으로서 프리젠테이션 콘트롤러(330)로 출력한다.
상기 스트리밍 핸들러(230)는 상기 IP 네트워크 스택(220)으로부터RTP, RTCP 구조에 따른 형태로 데이터를 전달받는다. 상기 스트리밍 핸들러(230)는 전달받은 데이터에서 오디오/비디오 스트림을 추출하여 프리젠테이션 프로세서(300)의 오디오/비디오 디코더(310)로 출력한다. 상기 오디오/비디오 디코더(311)는 스트리밍 핸들러(230)로부터 전달받은 오디오 스트림 및 비디오 스트림을 각각 디코딩한다.
상기 프리젠테이션 프로세서(300)의 디스플레이 모듈(Display Module)(320)은 A/V 디코더(310)에서 디코딩된 오디오 및 비디오 신호를 입력받아 스피커 및/또는 화면을 통해 사용자에게 제공한다.
상기 프리젠테이션 콘트롤러(Presentation Controller)(330)는 수신 시스템으로 수신되는 데이터를 사용자에게 출력하는 모듈들을 담당하는 콘트롤러이다.
채널 서비스 매니저(Channel Service Manager)(340)는 채널 맵 관리, 채널 서비스 접속 등 사용자가 채널 기반으로 전송되는 방송 서비스를 이용할 수 있도록 하기 위하여 사용자와의 인터페이스를 담당한다.
어플리케이션 매니저(Application Manager)(350)는 ESG 디스플레이 혹은 그 이외의 채널 서비스가 아닌 어플리케이션 서비스 이용을 위하여 사용자와의 인터페이스를 담당한다.
데이터 포맷 구조
한편, 본 실시예에 따른 모바일 방송 기술에서 사용하고 있는 데이터 구조는 데이터 그룹 구조와 RS 프레임 구조가 있다. 이를 상술하면 다음과 같다.
도 2는 본 발명에 따른 데이터 그룹의 구조에 대한 일 실시예를 보인 도면이다.
도 2에 따른 데이터 구성에서 데이터 그룹을 10개의 MH 블록(MH block B1~B10)으로 구분하는 예를 보이고 있다. 그리고 각 MH 블록은 16 세그먼트의 길이를 갖는 것을 일 실시예로 한다. 도 2에서 MH 블록 B1의 앞 5 세그먼트와 MH 블록 B10 뒤의 5 세그먼트는 일부에 RS 패리티 데이터만 할당하며, 데이터 그룹의 A 영역 내지 D 영역에서 제외하는 것을 일 실시예로 한다.
즉, 하나의 데이터 그룹을 A,B,C,D 영역으로 구분한다고 가정하면, 데이터 그룹 내 각 MH 블록의 특성에 따라 각 MH 블록을 A 영역 내지 D 영역 중 어느 하나의 영역에 포함시킬 수 있다. 이때 메인 서비스 데이터의 간섭 정도에 따라 각 MH 블록을 A 영역 내지 D 영역 중 어느 하나의 영역에 포함시키는 것을 일 실시예로 한다.
여기서, 상기 데이터 그룹을 다수개의 영역으로 구분하여 사용하는 이유는 각각의 용도를 달리하기 위해서이다. 즉, 메인 서비스 데이터의 간섭이 없거나 적 은 영역은 그렇지 않은 영역보다 강인한 수신 성능을 보일 수 있기 때문이다. 또한, 송/수신 측의 약속에 의해 알고 있는 기지(known) 데이터를 데이터 그룹에 삽입하여 전송하는 시스템을 적용하는 경우, 모바일 서비스 데이터에 연속적으로 긴 기지 데이터를 주기적으로 삽입하고자 할 때, 메인 서비스 데이터의 간섭이 없는 영역(즉, 메인 서비스 데이터가 섞이지 않는 영역)에는 일정 길이의 기지 데이터를 주기적으로 삽입하는 것이 가능하다. 그러나 메인 서비스 데이터의 간섭이 있는 영역에는 메인 서비스 데이터의 간섭으로 기지 데이터를 주기적으로 삽입하는 것이 곤란하고 연속적으로 긴 기지 데이터를 삽입하는 것도 곤란하다.
도 2의 데이터 그룹 내 MH 블록 B4 내지 MH 블록 B7은 메인 서비스 데이터의 간섭이 없는 영역으로서 각 MH 블록의 앞뒤에 긴 기지 데이터 열이 삽입된 예를 보이고 있다. 본 발명에서는 상기 MH 블록 B4 내지 MH 블록 B7을 포함하여 A 영역(=B4+B5+B6+B7)이라 하기로 한다. 상기와 같이 각 MH 블록마다 앞뒤로 기지 데이터 열을 갖는 A 영역의 경우, 수신 시스템에서는 기지 데이터로부터 얻을 수 있는 채널 정보를 이용하여 등화를 수행할 수 있으므로, A 영역 내지 D 영역 중 가장 강인한 등화 성능을 얻을 수가 있다.
도 2의 데이터 그룹 내 MH 블록 B3과 MH 블록 B8은 메인 서비스 데이터의 간섭이 적은 영역으로서, 두 MH 블록 모두 한쪽에만 긴 기지 데이터 열이 삽입된 예를 보이고 있다. 즉, 메인 서비스 데이터의 간섭으로 인해 MH 블록 B3은 해당 MH 블록의 뒤에만 긴 기지 데이터 열이 삽입되고, MH 블록 B8은 해당 MH 블록의 앞에만 긴 기지 데이터 열이 삽입될 수 있다. 본 발명에서는 상기 MH 블록 B3과 MH 블 록 B8을 포함하여 B 영역(=B3+B8)이라 하기로 한다. 상기와 같이 각 MH 블록마다 어느 한쪽에만 기지 데이터 열을 갖는 B 영역의 경우, 수신 시스템에서는 기지 데이터로부터 얻을 수 있는 채널 정보를 이용하여 등화를 수행할 수 있으므로, C/D 영역보다 더 강인한 등화 성능을 얻을 수가 있다.
도 2의 데이터 그룹 내 MH 블록 B2과 MH 블록 B9은 메인 서비스 데이터의 간섭이 B 영역보다 더 많으며, 두 MH 블록 모두 앞뒤로 긴 기지 데이터 열을 삽입할 수 없다. 본 발명에서는 상기 MH 블록 B2와 MH 블록 B9을 포함하여 C 영역(=B2+B9)이라 하기로 한다.
도 2의 데이터 그룹 내 MH 블록 B1과 MH 블록 B10은 메인 서비스 데이터의 간섭이 C 영역보다 더 많으며, 마찬가지로 두 MH 블록 모두 앞뒤로 긴 기지 데이터 열을 삽입할 수 없다. 본 발명에서는 상기 MH 블록 B1과 MH 블록 B10을 포함하여 D 영역(=B1+B10)이라 하기로 한다. 상기 C/D 영역은 기지 데이터 열로부터 많이 떨어져 있기 때문에 채널이 빠르게 변하는 경우에는 수신 성능이 안 좋을 수가 있다.
또한 상기 데이터 그룹은 시그널링 정보가 할당되는 시그널링 정보 영역을 포함한다.
본 발명은 데이터 그룹 내 MH 블록 B4의 첫 번째 세그먼트부터 두 번째 세그먼트의 일부를 시그널링 정보 영역으로 이용할 수 있다.
본 발명은 각 데이터 그룹의 MH 블록 B4의 276(=207+69) 바이트를 시그널링 정보 영역으로 이용하는 것을 일 실시예로 한다. 즉, 시그널링 정보 영역은 MH 블록 B4의 첫 번째 세그먼트인 207 바이트와 두 번째 세그먼트의 처음 69 바이트로 구성된다. 상기 MPH 블록 B4의 첫 번째 세그먼트는 VSB 필드의 17번째 또는 173번째 세그먼트에 해당한다.
상기 시그널링 정보는 크게 두 종류의 시그널링 채널로 구분할 수 있다. 하나는 전송 파라미터 채널(Transmission Parameter Channel ; TPC)이고, 다른 하나는 고속 정보 채널(Fast Information Channel ; FIC)이다.
상기 TPC 데이터는 MH-Ensemble ID, MH-Subframe Number, TNoG(Total Number of MH-Groups), RS frame Continuity Counter, N (Column Size of RS-frame), 및 FIC Version Number 중 적어도 하나를 포함할 수 있다. 상기 TPC 정보는 본 발명의 이해를 돕기 위한 일 실시예일 뿐이며, 상기 TPC에 포함되는 시그널링 정보들의 추가 및 삭제는 당업자에 의해 용이하게 변경될 수 있으므로 본 발명은 상기 실시예로 한정되지 않을 것이다. 상기 FIC 데이터는 수신기에서 빠른 서비스 획득(fast service acquisition)이 가능하도록 하기 위해 제공되며, 물리 계층과 상위 계층 사이의 크로스 계층 정보를 포함한다.
예를 들어, 상기 데이터 그룹이 도 2에서와 같이 6개의 기지 데이터 열을 포함하는 경우, 상기 시그널링 정보 영역은 제 1 기지 데이터 열과 제2 기지 데이터 열 사이에 위치한다. 즉, 제1 기지 데이터 열은 데이터 그룹 내 MH 블록 B3의 마지막 2 세그먼트에 삽입되고, 제2 기지 데이터 열은 MH 블록 B4의 두 번째와 세 번째 세그먼트에 삽입된다. 그리고 제3 내지 제6 기지 데이터 열은 MH 블록 B4,B5,B6,B7의 마지막 2 세그먼트에 각각 삽입된다. 상기 제1, 제3 내지 제 6 기지 데이터 열은 16 세그먼트만큼 떨어져 있다.
또한, 도 3은 본 발명의 일 실시예에 따른 RS 프레임을 도시한 도면이다.
도 3에서 도시된 RS 프레임은 하나 이상의 데이터 그룹의 집합이다. 이러한 RS 프레임은 수신 시스템이 FIC를 수신하고 이를 처리한 후, ESG Entry point가 포함된 MH 앙상블을 수신하도록 타임 슬라이싱 모드로 전환된 상태에서 각 MH 프레임 마다 수신하게 된다. 하나의 RS 프레임에는 각 서비스 또는 ESG의 IP 스트림들이 포함되게 되며, 모든 RS 프레임에는 SMT 섹션 데이터가 존재할 수 있다.
본 발명의 일 실시예에 따른 RS 프레임은 적어도 하나의 MH TP(Transport Packet)으로 이루어져 있다. 이러한 MH TP는 MH 헤더와 MH 페이로드로 이루어져 있다.
상기 MH 페이로드에는 모바일 서비스 데이터뿐만 아니라 시그널링 데이터를 포함할 수 있다. 즉, 하나의 MH 페이로드는 모바일 서비스 데이터만을 포함할 수 있거나, 시그널링 데이터만을 포함할 수 있거나, 혹은 서비스 데이터 및 시그널링 데이터를 모두 포함할 수 있다.
본 발명의 일 실시예는 MH 헤더에 의해, MH 페이로드에 포함된 데이터를 구별한다. 즉, MH TP가 제1 MH 헤더를 가진 경우, MH페이로드는 시그널링 데이터를 포함함을 나타낸다. 또한 MH TP가 제2 MH 헤더를 가진 경우, MH 페이로드는 시그널링 데이터 및 서비스 데이터를 포함함을 나타낸다. MH TP가 제3 MH 헤더를 가진 경우, MH 페이로드는 서비스 데이터를 포함함을 나타낸다.
상기 도3의 RS 프레임은 두 종류의 서비스를 위한 IP 데이터그램(즉, IP Datagram 1, IP Datagram 2)이 할당된 예를 보이고 있다.
데이터 전송 구조
도 4는 본 발명에 따른 모바일 서비스 데이터의 송신을 위한 MH 프레임 구조의 일 예를 보인 도면이다.
도 4는 하나의 MH 프레임이 5개의 서브 프레임으로 구성되고, 하나의 서브 프레임이 16개의 슬롯으로 구성되는 예를 보이고 있다. 이 경우 하나의 MH 프레임은 5개의 서브 프레임, 80개의 슬롯을 포함함을 의미한다.
그리고 하나의 슬롯은 패킷 레벨에서는 156개의 데이터 패킷(즉, 트랜스포트 스트림 패킷)으로, 심볼 레벨에서는 156개의 데이터 세그먼트로 구성된다. 또는 VSB 필드의 반에 해당되는 크기를 갖는다. 즉, 207 바이트의 한 데이터 패킷이 한 개의 데이터 세그먼트와 동일한 데이터 양을 가지므로 데이터 인터리빙되기 전의 데이터 패킷이 데이터 세그먼트의 개념으로 사용될 수 있다. 이때 두 개의 VSB 필드가 모여 하나의 VSB 프레임을 구성한다.
도 5는 VSB 프레임 구조의 일 예를 보인 것으로서, 하나의 VSB 프레임은 두 개의 VSB 필드(즉, odd 필드, even 필드)로 구성된다. 그리고 각 VSB 필드는 하나의 필드 동기 세그먼트와 312개의 데이터 세그먼트로 구성된다.
상기 슬롯은 모바일 서비스 데이터와 메인 서비스 데이터의 다중화를 위한 기본 시간 단위이다. 하나의 슬롯은 모바일 서비스 데이터를 포함할 수도 있고, 메인 서비스 데이터로만 구성될 수도 있다.
만일 슬롯 내 처음 118 데이터 패킷들이 하나의 데이터 그룹에 해당되면, 나머지 38 패킷들은 메인 서비스 데이터 패킷이 된다. 또 다른 예로, 하나의 슬롯에 데이터 그룹이 없다면, 해당 슬롯은 156개의 메인 서비스 데이터 패킷들로 구성된다.
한편 상기 슬롯들을 VSB 프레임에 할당할 때, 그 위치에 있어서 옵셋을 가지고 있다.
도 6은 하나의 VSB 프레임에 대하여 서브 프레임의 첫 번째 4 슬롯 위치의 매핑 예를 공간 영역에서 보이고 있다. 도 7은 하나의 VSB 프레임에 대하여 서브 프레임의 첫 번째 4 슬롯 위치의 매핑 예를 시간 영역에서 보이고 있다.
도 6, 도 7을 보면, 첫 번째 슬롯(Slot #0)의 38번째 데이터 패킷(#37)이 odd VSB 필드의 첫 번째 데이터 패킷에 매핑되고, 두 번째 슬롯(Slot #1)의 38번째 데이터 패킷(#37)이 상기 오드 VSB 필드의 157번째 데이터 패킷에 매핑된다. 또한, 세 번째 슬롯(Slot #2)의 38번째 데이터 패킷(#37)이 이븐 VSB 필드의 첫 번째 데이터 패킷에 매핑되고, 네 번째 슬롯(Slot #3)의 38번째 데이터 패킷(#37)이 상기 이븐 VSB 필드의 157번째 데이터 패킷에 매핑된다. 마찬가지로, 해당 서브 프레임 내 나머지 12 슬롯들도 이어지는 VSB 프레임에 같은 방식으로 매핑된다.
도 8은 MH 프레임을 구성하는 5개의 서브 프레임 중 하나의 서브 프레임에 할당되는 데이터 그룹 할당 순서의 일 예를 보인다. 일 예로, 데이터 그룹들을 할당하는 방법은 모든 MH 프레임에 동일하게 적용할 수도 있고, MH 프레임마다 달라질 수도 있다. 또한 하나의 MH 프레임 내 모든 서브 프레임에 동일하게 적용할 수 도 있고, 각 서브 프레임마다 다르게 적용할 수도 있다. 이때 데이터 그룹의 할당을 MH 프레임 내 모든 서브 프레임에 동일하게 적용한다고 가정하면, 하나의 MH 프레임에 할당되는 데이터 그룹의 수는 5의 배수가 된다.
그리고 연속적인 복수 개의 데이터 그룹들은 서브 프레임 내에서 가능한 서로 멀리 떨어져 할당하는 것을 일 실시예로 한다. 이렇게 함으로써 하나의 서브 프레임 내에서 발생할 수 있는 버스트 에러에 대해 강력하게 대응할 수 있게 된다.
예를 들어, 하나의 서브 프레임에 3개의 그룹이 할당된다고 가정하면, 상기 서브 프레임 내 첫 번째 슬롯(Slot #0), 다섯 번째 슬롯(Slot #4), 아홉 번째 슬롯(Slot #8)에 할당된다. 도 8은 이러한 할당 규칙을 적용하여 하나의 서브 프레임에 16개의 데이터 그룹을 할당하였을 때의 예를 보인 것으로서,0,8,4,12,1,9,5,13,2,10,6,14,3,11,7,15의 순으로 16개의 슬롯에 각각 할당됨을 알 수 있다.
다음의 수학식 1은 상기와 같이 데이터 그룹들을 하나의 서브 프레임에 할당할 때의 규칙을 수학식으로 표현한 것이다.
여기서, O = 0 if i < 4,
O = 2 else if i < 8,
O = 1 else if i < 12,
O = 3 else.
그리고, 상기 j는 하나의 서브 프레임 내 슬롯 번호이며, 0~15 사이의 값을 가질 수 있다. 상기 i는 그룹 번호이며, 0~15 사이의 값을 가질 수 있다.
본 발명은 하나의 MH 프레임에 포함되는 데이터 그룹들의 집합(collection)을 퍼레이드(Parade)라 하기로 한다. 상기 퍼레이드는 RS 프레임 모드에 따라 하나 이상의 특정 RS 프레임의 데이터를 전송한다.
하나의 RS 프레임 내 모바일 서비스 데이터는 데이터 그룹 내 A/B/C/D 영역에 모두 할당될 수도 있고, A/B/C/D 영역 중 적어도 하나의 영역에 할당될 수도 있다. 본 발명은 하나의 RS 프레임 내 모바일 서비스 데이터를 A/B/C/D 영역에 모두 할당하거나, A/B 영역과 C/D 영역 중 어느 하나에만 할당하는 것을 일 실시예로 한다. 즉, 후자의 경우, 데이터 그룹 내 A/B 영역에 할당되는 RS 프레임과 C/D 영역에 할당되는 RS 프레임이 다르다. 본 발명의 일실시예에 따르면, 데이터 그룹 내 A/B 영역에 할당되는 RS 프레임을 프라이머리 RS 프레임(Primary RS frame)이라 하고, C/D 영역에 할당되는 RS 프레임을 세컨더리 RS 프레임(Secondary RS frame)이라 하기로 한다. 그리고 프라이머리 RS 프레임과 세컨더리 RS 프레임이 하나의 퍼레이드(parade)를 구성한다. 즉, 하나의 RS 프레임 내 모바일 서비스 데이터가 데이터 그룹 내 A/B/C/D 영역에 모두 할당된다면, 하나의 퍼레이드는 하나의 RS 프레임을 전송한다. 이에 반해, 하나의 RS 프레임 내 모바일 서비스 데이터가 데이터 그룹 내 A/B 영역에 할당되고, 다른 하나의 RS 프레임 내 모바일 서비스 데이터가 해당 데이터 그룹 내 C/D 영역에 할당된다면, 하나의 퍼레이드는 두 개의 RS 프레임까지 전송할 수 있다.
즉, RS 프레임 모드(mode)는 하나의 퍼레이드가 하나의 RS 프레임을 전송하는지, 두 개의 RS 프레임을 전송하는지를 지시한다. 이러한 RS 프레임 모드는 위에서 설명한 TPC 데이터로서 전송된다.
다음의 표 1은 RS 프레임 모드의 일 예를 보인다.
RS frame mode | Description |
00 | There is only a primary RS frame for all Group Regions |
01 | There are two separate RS frames - Primary RS frame for Group Region A and B - Secondary RS frame for Group Region C and D |
10 | Reserved |
11 | Reserved |
상기 표 1은 RS 프레임 모드를 표시하기 위해 2비트가 할당되는 것을 일 실시예로 하고 있다. 상기 표 1을 보면, RS 프레임 모드 값이 00이면, 하나의 퍼레이드가 하나의 RS 프레임을 전송함을 지시하고, RS 프레임 모드 값이 01이면, 하나의 퍼레이드가 두 개의 RS 프레임 즉, 프라이머리 RS 프레임과 세컨더리 RS 프레임을 전송함을 지시한다. 즉, 상기 RS 프레임 모드 값이 01이면, A/B 영역을 위한 프라이머리 RS 프레임(Primary RS frame for region A/B)의 데이터는 데이터 그룹의 A/B 영역에 할당되어 전송되고, C/D 영역을 위한 세컨더리 RS 프레임(Secondary RS frame for region C/D)의 데이터는 해당 데이터 그룹의 C/D 영역에 할당되어 전송됨을 지시한다.
상기 데이터 그룹의 할당과 마찬가지로, 퍼레이드들도 서브 프레임 내에서 가능한 서로 멀리 떨어져 할당하는 것을 일 실시예로 한다. 이렇게 함으로써 하나의 서브 프레임 내에서 발생할 수 있는 버스트 에러에 대해 강력하게 대응할 수 있게 된다.
그리고 퍼레이드들의 할당 방법은 MH 프레임마다 다르게 적용할 수 있고, 모든 MH 프레임에 동일하게 적용할 수도 있다. 또한 하나의 MH 프레임 내 모든 서브 프레임에 동일하게 적용할 수도 있고, 각 서브 프레임마다 다르게 적용할 수도 있다. 본 발명은 MH 프레임마다 달라질 수 있으며, 하나의 MH 프레임 내 모든 서브 프레임에는 동일하게 적용하는 것을 일 실시예로 한다. 즉, MH 프레임 구조는 MH 프레임 단위로 달라질 수 있으며, 이것은 MH 앙상블 데이터 율을 탄력적으로 조정할 수 있게 한다.
도 9는 하나의 MH 프레임에 단일 퍼레이드를 할당할 때의 예를 보인 도면이다. 즉, 도 9는 하나의 서브 프레임에 포함되는 데이터 그룹의 수가 3인 단일 퍼레이드를 하나의 MH 프레임에 할당할 때의 일 실시예를 보이고 있다.
도 9에 따르면, 하나의 서브 프레임에 3개의 데이터 그룹이 4 슬롯 주기로 순차적으로 할당되고, 이러한 과정이 해당 MH 프레임 내 5개의 서브 프레임에 대해 수행되면, 하나의 MH 프레임에 15개의 데이터 그룹이 할당된다. 여기서 상기 15개의 데이터 그룹은 하나의 퍼레이드에 포함되는 데이터 그룹들이다. 따라서 하나의 서브 프레임은 4개의 VSB 프레임으로 구성되지만, 하나의 서브 프레임에는 3개의 데이터 그룹이 포함되므로, 하나의 서브 프레임 내 4개의 VSB 프레임 중 1개의 VSB 프레임에는 해당 퍼레이드의 데이터 그룹이 할당되지 않는다.
예를 들어, 하나의 퍼레이드가 하나의 RS 프레임을 전송하고, 해당 RS 프레임에 대해 송신 시스템의 RS 프레임 인코더(도시되지 않음)에서 RS 인코딩을 수행하여 해당 RS 프레임에 24 바이트의 패리티 데이터를 부가하여 전송하였다고 가정하면, 이 경우 전체 RS 부호어(code word)의 길이 중에서 패리티 데이터가 차지하는 비중은 약 11.37 % (=24/(187+24) x 100) 정도 된다. 한편 하나의 서브 프레임에 3개의 데이터 그룹이 포함되면서, 하나의 퍼레이드 내 데이터 그룹들을 할당한 경우에 15개의 데이터 그룹이 하나의 RS 프레임을 형성하므로 채널에서 발생한 버스트 노이즈에 의해서 하나의 그룹이 모두 오류가 발생한 상황이라 하더라도 그 비중이6.67 %(=1/15 x 100) 이 된다. 그러므로 수신 시스템에서는 이레이져 RS 디코딩(erasure RS decoding)에 의해서 모든 에러를 정정할 수 있게 된다. 즉, 이레이져 RS 디코딩을 수행하면 RS 패리티 개수만큼의 채널 에러를 정정할 수가 있으므로, 한 RS 부호어 중에서 RS 패리티의 개수 이하의 바이트 에러는 모두 정정 가능하다. 이렇게 하면, 수신 시스템에서는 하나의 퍼레이드 내 적어도 하나의 데이터 그룹의 에러를 정정할 수 있다. 이와 같이 하나의 RS 프레임에 의해 정정될 수 있는 최소 버스트 노이즈 길이는 1 VSB 프레임 이상이다(Thus the minimum burst noise length correctable by a RS frame is over 1 VSB frame).
한편, 도 9와 같이 하나의 퍼레이드에 대한 데이터 그룹들이 할당되었을 때, 데이터 그룹과 데이터 그룹 사이에는 메인 서비스 데이터가 할당될 수도 있고, 다른 퍼레이드의 데이터 그룹들이 할당될 수도 있다. 즉, 하나의 MH 프레임에는 복수개의 퍼레이드에 대한 데이터 그룹들이 할당될 수 있다.
기본적으로, 복수개(multiple)의 퍼레이드에 대한 데이터 그룹의 할당은 단일 퍼레이드의 경우와 다르지 않다. 즉, 하나의 MH 프레임에 할당되는 다른 퍼레이드 내 데이터 그룹들도 각각 4 슬롯 주기로 할당된다.
이때 다른 퍼레이드의 데이터 그룹은 이전 퍼레이드의 데이터 그룹이 할당되지 않은 슬롯부터 일종의 순환(circular) 방식으로 할당할 수도 있다.
예를 들어, 하나의 퍼레이드에 대한 데이터 그룹의 할당이 도 9와 같이 이루어졌다고 가정할 때, 다음 퍼레이드에 대한 데이터 그룹은 하나의 서브 프레임 내 12번째 슬롯부터 할당된다. 이것은 하나의 실시예이며, 다른 예를 들면, 다음 퍼레이드의 데이터 그룹은 하나의 서브 프레임 내 다른 슬롯 예를 들어, 3번째 슬롯부터 4 슬롯 주기로 순차적으로 할당할 수도 있다.
도 10은 하나의 MH 프레임에 3개의 퍼레이드(Parade #0, Parade #1, Parade #2)를 전송하는 예를 보인 것으로서, 특히 MH 프레임을 구성하는 5개의 서브 프레임 중 하나의 서브 프레임의 퍼레이드 전송 예를 보이고 있다.
그리고 첫 번째 퍼레이드는 서브 프레임 당 3개의 데이터 그룹을 포함한다고 하면, 서브 프레임 내 데이터 그룹들의 위치는 상기 수학식 1의 i 값에 0~2를 대입함으로써 구할 수 있다. 즉, 서브 프레임 내 첫 번째, 다섯 번째, 아홉 번째 슬롯(Slot #0, Slot #4, Slot #8)에 첫 번째 퍼레이드의 데이터 그룹들이 순차적으로 할당된다.
두 번째 퍼레이드는 서브 프레임 당 2개의 데이터 그룹을 포함한다고 하면, 서브 프레임 내 데이터 그룹들의 위치는 상기 수학식 1의 i 값에 3~4를 대입함으로써 구할 수 있다. 즉, 서브 프레임 내 두 번째, 열두 번째 슬롯(Slot #1, Slot #11)에 두 번째 퍼레이드의 데이터 그룹들이 순차적으로 할당된다.
또한 세 번째 퍼레이드는 서브 프레임 당 2개의 그룹을 포함한다고 하면, 서브 프레임 내 데이터 그룹들의 위치는 상기 수학식 1의 i 값에 5~6을 대입함으로써 구할 수 있다. 즉, 서브 프레임 내 일곱 번째, 열한 번째 슬롯(Slot #6, Slot #10)에 세 번째 퍼레이드의 데이터 그룹들이 순차적으로 할당된다.
이와 같이 하나의 MH 프레임에는 복수개의 퍼레이드에 대한 데이터 그룹들이 할당될 수 있으며, 하나의 서브 프레임에서 데이터 그룹의 할당은 4 슬롯들의 그룹 스페이스를 갖고 왼쪽에서 오른쪽으로 시리얼로 수행되고 있다.
따라서 하나의 서브 프레임에 할당될 수 있는 하나의 퍼레이드 내 데이터 그룹의 개수(Number of groups of one parade per a sub-frame ; NOG)는 1부터 8까지의 정수 중 어느 하나가 될 수 있다. 이때 하나의 MH 프레임은 5개의 서브 프레임을 포함하므로, 이는 결국 하나의 MH 프레임에 할당될 수 있는 하나의 퍼레이드의 데이터 그룹의 개수는 5부터 40까지 5의 배수 중 어느 하나가 될 수 있음을 의미한다.
도 11은 도 10의 3개의 퍼레이드의 할당 과정을 하나의 MH 프레임 내 5개의 서브 프레임으로 확장한 예를 보인 것이다.
도 12는 본 발명의 실시예에 따른 데이터 전송 구조를 도시한 도면으로, 데이터 그룹 내에 시그널링 데이터가 포함되어 전송되는 모습을 도시한 도면이다.
상기에서 설명한 바와 같이, MH 프레임은 5개의 서브 프레임으로 분할되며, 각각의 서브 프레임 내에 여러 개의 퍼레이드에 해당하는 데이터 그룹들이 섞여 존재하며, 각각의 퍼레이드에 해당하는 데이터 그룹들이 MH 프레임 단위로 묶여 하나의 퍼레이드를 구성하게 된다. 도 12에서는 3개의 퍼레이드가 존재하며, 하나의 EDC(ESG Dedicated Channel) 퍼레이드(NoG=1), 두 개의 서비스 퍼레이드 (NoG=4, NoG=3)들이 존재한다. 또한 각각의 데이터 그룹의 일정 부분(e.g. 37 bytes/데이터 그룹)은 모바일 서비스 데이터에 대한 RS 인코딩과 별도로 인코딩된 FIC 정보를 전달하는 용도로 사용된다. 각각의 데이터 그룹에 할당되는 FIC 영역은 하나의 FIC 세그먼트를 이루며, 이 FIC 세그먼트들은 MH 서브 프레임 별로 인터리빙되어 하나의 완결된 FIC 전송 구조체인 FIC 바디를 이루게 된다. 하지만 필요에 따라서는 이 FIC 세그먼트들은 서브 프레임이 아닌 MH 프레임 단위로도 인터리빙될 수 있으며 MH 프레임 별로도 완결성을 가질 수도 있다.
한편, 본 실시예에서는 MH 앙상블(Ensemble) 개념을 도입하여, 서비스의 집합을 정의한다. 하나의 MH 앙상블은 동일한 QoS를 가지며, 동일한 FEC 코드로 코딩된다. 또한 하나의 MH 앙상블은 같은 고유 식별자(즉, ensemble id)를 가지며 연속하는 RS 프레임에 대응된다.
도 12에 도시된 바와 같이, 각각의 데이터 그룹에 해당하는 FIC 세그먼트는 해당 데이터 그룹이 속하는 MH 앙상블의 서비스 정보를 기술한다. 하나의 서브 프레임 내 FIC 세그먼트들을 모아 디인터리빙하면, 해당 FIC가 전송되는 물리 채널의 모든 서비스 정보를 얻을 수 있다. 따라서 수신 시스템은 물리 채널 튜닝 이후 해당 물리 채널의 채널 정보를 서브 프레임 기간 동안 취득할 수 있게 된다.
그리고 도 12에서는 서비스 퍼레이드와 별개의 EDC 퍼레이드를 두어 각 서브 프레임의 제1 슬롯 위치에는 ESG(Electronic Service Guide) 데이터가 전송되는 것을 도시하고 있다.
계층적
시그널링
구조
도 13은 본 발명의 일 실시예에 따른 계층적인 시그널링 구조를 도시한 도면이다. 본 실시예에 따른 모바일 방송 기술은 도 13에 도시된 바와 같이, FIC와 SMT를 이용한 시그널링 방법을 채용하고 있다. 이를 본 발명에서는 계층적 시그널링 구조라 명명한다.
이하, 도 13을 이용해서 수신 시스템이 FIC와 SMT에 의해 어떻게 가상 채널에 접근하는지에 대해 설명을 개시한다.
물리 채널 레벨 시그널링 데이터인 FIC 바디는 각 가상 채널에 대한 각 데이터 스트림의 물리적 위치를 알려준다. 또한 FIC 바디는 각 가상 채널의 상위 레벨 정보를 제공한다(The FIC body defined in MH Transport (M1) identifies the physical location of each the data stream for each virtual channel and provides very high level descriptions of each virtual channel.).
MH 앙상블 레벨 시그널링 데이터인 SMT는 MH 앙상블 레벨 시그널링 정보를 제공한다. 각 SMT는 각 SMT가 포함된 해당 MH 앙상블에 속하는 각 가상 채널의 IP 억세스 정보를 제공한다. 또한 SMT는 해당 가상 채널의 서비스를 위해 필요한 IP 스트림 콤포넌트 레벨 정보를 제공한다(The Service Map Table (SMT) provides the Ensemble level signaling information. The SMT provides the IP access information of each virtual channel belonging to the MH Ensemble within which the SMT is carried, and all the IP stream component level information necessary for the virtual channel service acquisition.).
도면을 간략히 설명하면, 각 MH 앙상블(Ensemble 0, 1, ..., K)은 관련된 각 가상 채널에 대한 스트림 정보(예를 들어, Virtual Channel 0 IP Stream, Virtual Channel 1 IP Stream, Virtual Channel 2 IP Stream)를 포함한다. 예컨대, Ensemble 0에는 Virtual Channel 0 IP Stream, Virtual Channel 1 IP Stream이 포함된다. 또한 각 MH 앙상블에는 관련된 가상 채널에 대한 각종 정보(Virtual Channel 0 Table Entry, Virtual Channel 0 Access Info., Virtual Channel 1 Table Entry, Virtual Channel 1 Access Info., Virtual Channel 2 Table Entry, Virtual Channel 2 Access Info., Virtual Channel N Table Entry, Virtual Channel N Access Info.)가 포함된다.
그리고 FIC 바디 페이로드는 MH 앙상블에 대한 정보(ensemble_id 필드 등이 해당되며, 도면에서는 Ensemble Location)와 해당 MH 앙상블과 관련된 가상 채널에 대한 정보(major channel num 필드 및 minor channel num 필드 등이 해당되면, 도면에서는 Virtual Channel 0,1,...,N로 표현됨)를 포함한다.
결국 수신 시스템에서의 적용을 살펴보면, 다음과 같다.
사용자가 시청을 원하는 채널(설명의 편의를 위해 이를 '채널 θ'이라 칭한다.)을 선택하면, 수신 시스템은 수신된 FIC를 먼저 파싱한다. 그리고 수신 시스템은 채널 θ 에 해당하는 가상 채널과 관련된 MH 앙상블(설명의 편의를 위해 이를 'MH 앙상블 θ'라 칭한다)에 대한 정보(Ensemble Location)를 획득한다. 수신 시스템은 MH 앙상블 θ 에 대응되는 슬롯만을 타임 슬라이싱 방식에 의해 획득하여 앙상블 θ를 구성한다. 구성된 앙상블 θ 에는 상술한 바와 같이, 관련된 가상 채널들(채널 θ를 포함)에 대한 SMT 및 해당 가상 채널들에 대한 IP 스트림이 포함된다. 따라서 수신 시스템은 구성된 MH 앙상블 θ 에 포함된 SMT를 이용해서 채널 θ 에 대한 각종 정보(Virtual Channel θ Table Entry)와 채널 θ 에 대한 스트림 억세스 정보(Virtual Channel θ Access Info.)를 획득한다. 그리고 수신 시스템은 채널 θ 에 대한 스트림 억세스 정보를 이용해서 관련된 IP 스트림만을 수신하여 사용자에게 채널 θ 에 대한 서비스를 제공한다.
FIC
(
Fast
Information
Channel
)
또한, 본 발명에 따른 수신 시스템에서는 FIC(Fast Information Channel)를 도입하여 현재 방송되는 서비스에 보다 빨리 접근할 수 있도록 하고 있다.
즉, 도 1의 FIC 핸들러(215)에서 FIC 전송 구조체인 FIC 바디를 파싱하고, 그 결과를 물리 적응 제어 시그널 핸들러(216)로 출력한다.
도 14는 본 발명에 따른 FIC 바디 포맷의 일 실시예를 도시한 도면이다. 본 실시예에 따르면, FIC 포맷은 FIC 바디(body) 헤더와 FIC 바디 페이로드 이루어진다.
한편, 본 실시예에 따르면, FIC 바디 헤더와 FIC 바디 페이로드를 통해 전송되는 데이터는 FIC 세그먼트 단위로 전송된다. 각 FIC 세그먼트 단위의 크기는 37 바이트이고, 각 FIC 세그먼트는 2 바이트의 FIC 세그먼트 헤더와 35 바이트의 FIC 세그먼트 페이로드로 이루어져 있다. 즉, FIC 바디 헤더와 FIC 바디 페이로드로 구성되는 하나의 FIC 바디는 35 바이트씩 세그먼테이션(segmentation)되어 하나 이상의 FIC 세그먼트 내 FIC 세그먼트 페이로드에 실려서 전송된다.
본 발명에서는 하나의 데이터 그룹에 하나의 FIC 세그먼트를 삽입하여 전송하는 것을 일 실시예로 한다. 이 경우, 수신 시스템은 각 데이터 그룹에 대응되는 슬롯을 타임 슬라이싱 방식에 의해 수신한다.
한편, 도 1의 수신 시스템 내의 시그널링 디코더(190)는 각 데이터 그룹에 삽입된 각 FIC 세그먼트를 수집한다. 그리고 시그널링 디코더(190)는 수집된 각 FIC 세그먼트를 이용해서 하나의 FIC 바디를 구성한다. 이어 상기 시그널링 디코더(190)는 하나의 FIC 바디의 FIC body 페이로드에 대해 송신 시스템에서의 시그널링 인코더(미도시)의 인코딩에 대응되게 디코딩 동작을 수행하고, 디코딩된 하나의 FIC body 페이로드는 FIC 핸들러(215)로 출력한다. 상기 FIC 핸들러(215)는 FIC body 페이로드 내의 FIC 데이터를 파싱하고, 파싱된 FIC 데이터를 물리 적응 제어 시그널 핸들러(216)로 출력한다. 상기 물리 적응 제어 시그널 핸들러(216)는 입력된 FIC 데이터를 이용하여 MH 앙상블, 가상 채널, SMT 등과 관련된 작업을 수행한다.
한편, 일 실시예에 따라서는 하나의 FIC 바디를 세그먼테이션했을 때, 세그먼테이션된 마지막 부분이 35 바이트 이하인 경우에는, 마지막 FIC 세그먼트의 크기를 35바이트로 만들도록, FIC 세그먼트 페이로드의 나머지 부분에 스터핑 바이트를 채우는 것을 상정할 수 있다.
이상에서 설명한 각 바이트 값(FIC 세그먼트 : 37 바이트, FIC 세그먼트 헤더 : 2 바이트, FIC 세그먼트 페이로드 : 35 바이트)은 일 실시예 일 뿐이며, 본 발명은 이에 한정되지 않음은 물론이다.
도 15는 본 발명에 따른 FIC 세그먼트의 데이터 구조의 일 실시예를 도시한 도면이다. 여기서 FIC 세그먼트는 FIC 데이터의 전송을 위하여 사용되는 단위를 의미한다.
상기 FIC 세그먼트는 FIC 세그먼트 헤더와 FIC 세그먼트 페이로드로 이루어지며, 도 15에 따르면 FIC 세그먼트 페이로드는 for loop 이하 부분이라 할 수 있다. 한편, 상기 FIC 세그먼트 헤더에는 FIC_type 필드, error_indicator 필드, FIC_seg_number 필드, 및 FIC_last_seg_number 필드가 포함될 수 있다. 각 필드에 대한 설명은 다음과 같다.
상기 FIC_type 필드(2 bit)는 해당 FIC의 타입(Type)을 나타낸다.
상기 error_indicator 필드(1bit)는 전송 중 FIC 세그먼트 내에 에러가 발생되었는지를 지시하며, 에러가 발생된 경우에는 '1'로 설정된다. 즉, FIC 세그먼트를 구성하는 과정에서 복구하지 못한 에러가 존재할 때, 본 필드를 '1'로 설정한다. 본 필드를 통해 수신 시스템은 FIC 데이터의 에러 유무를 인지할 수 있다.
상기 FIC_seg_number 필드(4 bit)는 하나의 FIC 바디가 여러 개의 FIC 세그먼트로 나뉘어 전송될 때 해당 FIC 세그먼트의 번호를 나타낸다.
상기 FIC_last_seg_number 필드(4 bit)는 해당 FIC 바디의 마지막 FIC 세그먼트의 번호를 나타낸다.
도 16은 본 발명에 따라 FIC type 필드값이 '0'인 경우의 FIC 세그먼트의 페이로드에 대한 비트 스트림 신택스 구조의 일 실시예를 도시한 도면이다.
본 실시예에서 FIC 세그먼트의 페이로드는 3개의 영역으로 구분된다.
제1 영역은 FIC_seg_number가 '0'인 경우에만 존재하는 영역으로, current_next_indicator 필드, ESG_version 필드, transport_stream_id 필드를 포함할 수 있다. 다만, 실시예에 따라서는 FIC_seg_number에 상관없이 위 3개의 필드가 각각 존재하는 것을 상정할 수 있다.
상기 current_next_indicator 필드(1bit)는 해당 FIC 데이터가 현재의 FIC 세그먼트를 포함하는 MH 프레임의 MH 앙상블 구성(configuration) 정보를 담고 있는지, 또는 다음 번 MH 프레임의 MH 앙상블 구성 정보를 담고 있는 지를 구분하는 지시자(Indicator)를 의미한다.
ESG_version 필드(5 bit)는 ESG의 버전 정보를 나타내며, 해당 ESG의 서비스 가이드 제공 채널의 버전이 제공되어 ESG의 업데이트 여부를 수신 시스템에서 알려주는 역할을 담당한다.
transport_stream_id필드(16 bit)는 해당 FIC 세그먼트가 전송되고 있는 방송 스트림의 고유한 식별자(Identifier)를 의미한다.
제2 영역은 앙상블 loop영역으로, ensemble_id 필드, SI_version 필드, num_channel 필드를 포함할 수 있다.
상기 ensemble_id 필드(8 bit)는 이후 기술하는 MH 서비스들이 전송되는 MH 앙상블의 식별자를 표시한다. 본 필드는 MH 서비스들과 MH 앙상블을 묶어주는 역할을 한다.
상기 SI_version 필드(4 bit)는 RS 프레임 내에 전송되는 해당 앙상블의 SI 데이터들의 버전 정보를 나타낸다.
상기 num_channel 필드(8 bit)는 해당 앙상블을 통해 전송되는 가상 채널의 개수를 나타낸다.
제3 영역은 채널 loop 영역으로 channel_type 필드, channel_activity 필드, CA_indicator 필드, stand_alone_service_indicator 필드, major_channel_num 필드, minor_channel_num 필드를 포함할 수 있다.
상기 channel_type 필드(5 bit)는 해당 가상 채널의 서비스 타입을 나타낸다. 예를 들면, 본 필드는 오디오/비디오 채널, 오디오/비디오 및 데이터 채널, 오디오 전용 채널, 데이터 전용 채널, 파일 다운로드 채널, ESG 전달(delivery) 채널, 알림(notification) 채널 등을 나타낼 수 있다.
상기 channel_activity 필드(2 bit)는 해당 가상 채널의 활성화(activity) 정보를 나타내며, 이를 통해 해당 가상 채널이 현재 서비스를 제공하는지를 알 수 있다.
상기 CA_indicator 필드(1 bit)는 해당 가상 채널에 CA(Conditional Access) 적용 여부를 나타낸다.
상기 stand_alone_service_indicator 필드(1 bit)는 해당 가상 채널의 서비스가 stand alone 서비스인지를 나타낸다.
상기 major_channel_num 필드(8 bit)는 해당 가상 채널의 메이저 채널 번호를 표시한다.
상기 minor_channel_num 필드(8 bit)는 해당 가상 채널의 마이너 채널 번호를 의미한다.
Service
Map
Table
도 17은 본 발명의 일 실시예에 따른 서비스 맵 테이블(Service Map Table, 이하 "SMT"라고 칭함)의 비트 스트림 신택스의 일 실시예를 도시한 도면이다.
본 실시예에 따른 SMT는 MPEG-2 프라이빗 섹션(Private Section) 형태로 작성되어 있으나, 본 발명의 권리범위가 이에 한정되지 않는다. 본 실시예에 따른 SMT는 하나의 MH 앙상블 내의 각 가상 채널의 서술(Description) 정보를 포함하며, 서술자(Descriptor) 영역에 기타 부가 정보들이 포함될 수 있다.
본 실시예에 따른 SMT는 적어도 하나의 필드를 포함하여 송신 시스템에서 수신 시스템으로 전송된다.
도 3에서 상술한 바와 같이, SMT 섹션은 RS 프레임 내의 MH TP에 포함되어 전송될 수 있다. 이 경우, 도 1의 RS 프레임 디코더들(170,180)은 입력된 RS 프레임을 디코딩하고, 디코딩된 RS 프레임은 해당 RS 프레임 핸들러(211,212)로 출력된다. 그리고 각 RS 프레임 핸들러(211,212)는 입력된 RS 프레임을 로우 단위로 구분하여 MH TP를 구성하여 MH TP 핸들러(213)로 출력한다.
상기 MH TP 핸들러(213)는 입력된 각 MH TP의 헤더를 기초로 해당 MH TP가 SMT 섹션을 포함하고 있다고 판단되면, 포함된 SMT 섹션을 파싱하여 파싱된 SMT 섹션 내의 SI 데이터를 물리 적응 제어 시그널 핸들러(216)에 출력한다. 다만, 이 경우에는 SMT가 IP 데이터그램으로 인캡슐레이션되지 않은 경우에 해당한다.
한편, SMT가 IP 데이터그램으로 인캡슐레이션된 경우, 상기 MH TP 핸들러(213)는 입력된 각 MH TP의 헤더를 기초로 해당 MH TP가 SMT 섹션을 포함하고 있다고 판단되면, 이를 IP 네트워크 스택(220)으로 출력한다. 그러면, IP 네트워크 스택(220)은 SMT 섹션에 대해 IP, UDP 처리를 수행한 뒤에 SI 핸들러(240)로 출력한다. 상기 SI 핸들러(240)는 입력된 SMT 섹션을 파싱하고, 파싱된 SI가 저장부(290)에 저장되도록 제어한다.
한편, SMT를 통해 전송될 수 있는 필드들의 예를 들면 다음과 같다.
table_id 필드(8비트)는 테이블의 타입을 구분시키기 위한 8비트 필드로서, 이를 통해 본 테이블이 SMT임을 알 수 있다(table_id : An 8-bit unsigned integer number that indicates the type of table section being defined in Service Map Table (SMT)).
ensemble_id 필드(8비트)는 해당 MH 앙상블과 관련된 ID값으로, 0x00에서 0x3F의 값들이 할당될 수 있다. 본 필드의 값은 TPC 데이터의 parade_id로부터 도출되는 것이 바람직하다. 만약 해당 MH 앙상블이 프라이머리 RS 프레임을 통해 전송될 경우에는 가장 상위 비트(MSB)는 '0'으로 설정되며, 나머지 7비트는 해당 MH 퍼레이드의 parade_id의 값으로 이용한다. 한편, 만약 해당 MH 앙상블이 세컨더리 RS 프레임을 통해 전송될 경우에는 가장 상위 비트(MSB)는 '1'로 설정되며, 나머지 7비트는 해당 MH 퍼레이드의 parade_id의 값으로 이용한다(This 8-bit unsigned integer field in the range 0x00 to 0x3F shall be the Ensemble ID associated with this MH Ensemble. The value of this field shall be derived from the parade_id carried from the baseband processor of MH physical layer subsystem, by using the parade_id of the associated MH Parade for the least significant 7 bits, and using '0' for the most significant bit when the MH Ensemble is carried over the Primary RS frame, and using '1' for the most significant bit when the MH Ensemble is carried over the Secondary RS frame.).
num_channels 필드(8비트)는 SMT 섹션 내의 가상 채널의 수를 지시한다(This 8 bit field specifies the number of virtual channels in this SMT section.).
한편, 본 실시예에 따른 SMT는, for loop를 사용하여 복수의 가상 채널에 대한 정보를 제공한다.
major_channel_num 필드(8비트)는 해당 가상 채널과 관련된 메이저 채널 넘버를 나타내며, 0x00에서 0xFF이 할당될 수 있다(This 8-bit unsigned integer field in the range 0x00 to 0xFF shall represent the major channel number associated with this virtual channel.).
minor_channel_num 필드(8비트)는 해당 가상 채널과 관련된 마이너 채널 넘버를 나타내며, 0x00에서 0xFF이 할당될 수 있다(This 8-bit unsigned integer field in the range 0x00 to 0xFF shall represent the minor channel number associated with this virtual channel.).
short_channel_name 필드는 가상 채널의 숏 네임을 나타낸다(The short name of the virtual channel.).
service_id 필드(16비트)는 가상 채널 서비스를 구분하는 값을 나타낸다(A 16-bit unsigned integer number that identifies the virtual channel service).
service_type 필드(6비트)는 하기의 표 2에서 규정된 바와 같이, 해당 가상 채널 상을 통해 전송되는 서비스의 타입을 지시한다(A 6-bit enumerated type field that shall identify the type of service carried in this virtual channel as defined in Table 2).
0x00 | [Reserved] |
0x01 | MH_digital_television - The virtual channel carries television programming (audio, video and optional associated data) conforming to ATSC standards. |
0x02 | MH_audio - The virtual channel carries audio programming (audio service and optional associated data) conforming to ATSC standards. |
0x03 | MH_data_only_service - The virtual channel carries a data service conforming to ATSC standards, but no video or audio component. |
0x04- 0xFF | [Reserved for future ATSC use] |
virtual_channel_activity 필드(2비트)는 해당 가상 채널의 활성화 여부를 구분한다. 상기 virtual_channel_activity 필드의 MSB(most significant bit)가 '1'인 경우에는 해당 가상 채널이 액티브함을 지시하고, MSB가 '0'인 경우에는 해당 가상 채널이 액티브하지 않음을 지시한다. 또한 LSB(least significant bit)가 '1'인 경우에는 해당 가상 채널이 히든 채널임을 지시하고, LSB가 '0'인 경우에는 해당 가상 채널이 히든 채널이 아님을 지시한다(A 2-bit enumerated field that shall identify the activity of this virtual channel. The most significant bit indicates whether this virtual channel is active (when set to 1) or inactive (when set to 0) and the least significant bit indicates whether this virtual channel is hidden (when set to 1) or not (when set to 0).).
num_components 필드(5비트)는 해당 가상 채널 상의 IP 스트림 콤포넌트의 넘버를 지시한다(This 5-bit field specifies the number of IP stream components in this virtual channel.).
IP_version_flag 필드(1비트)는 '1'로 설정된 경우에는 source_IP_address 필드, virtual_channel_target_IP_address 필드 및component_target_IP_address 필드가 IPv6 어드레스임을 지시하고, '0'으로 설정된 경우에는 source_IP_address 필드, virtual_channel_target_IP_address 필드, component_target_IP_address 필드가 IPv4 어드레스임을 지시한다(A 1-bit indicator, which when set to '1' indicates that source_IP_address, virtual_channel_target_IP_address and component_target_IP_address fields if exist, are IPv6 addresses, and when set to '0' indicates that source_IP_address, virtual_channel_target_IP_address and component_target_IP_address fields are IPv4 addresses.).
source_IP_address_flag 필드(1비트)가 설정된 경우에는 해당 가상 채널의 소스 IP 어드레스가 특정 멀티캐스트 소스를 위해 존재함을 지시한다(A 1-bit Boolean flag that indicates, when set, a source IP address of this virtual channel is present for source specific multicast.).
virtual_channel_target_IP_address_flag 필드(1비트)가 설정된 경우에는 해당 IP 스트림 콤포넌트가 virtual_channel_target_IP_address와는 다른 target IP 어드레스를 갖는 IP 데이터그램을 통해 전송됨을 지시한다. 따라서 본 플래그가 설정된 경우에는 수신 시스템은 해당 IP 스트림 콤포넌트에 접근하기 위해서 component_target_IP_address을 target_IP_address로 사용하고, num_channels 루프 내의 virtual_channel_target_IP_address 필드를 무시한다(A 1-bit Boolean flag that indicates, when set, this IP stream component is delivered through IP datagrams with target IP addresses different from virtual_channel_target_IP_address. When this flag is set, then the receiver shall utilize the component_target_IP_address as the target_IP_address to access this IP stream component and shall ignore the virtual_channel_target_IP_address field in the num_channels loop.).
source_IP_address 필드(32 또는 128비트)는 source_IP_address_flag가 '1'로 설정된 경우에는 해석될 필요가 있지만, source_IP_address_flag가 '0'로 설정되지 않은 경우에는 해석될 필요가 없다. source_IP_address_flag가 '1'로 설정되고 IP_version_flag 필드가 '0'으로 설정된 경우, 본 필드는 해당 가상 채널의 소스를 나타내는 32비트 IPv4 어드레스를 지시한다. 만약 IP_version_flag 필드가 '1'로 설정된 경우에는 본 필드는 해당 가상 채널의 소스를 나타내는 32비트 IPv6 어드레스를 지시한다(This field shall present if the source_IP_address_flag is set to '1' and shall not present if the source_IP_address_flag is set to '0'. If present, when IP_version_flag field is set to '0', this field specifies 32-bit IPv4 address indicating the source of this virtual channel. When IP_version_flag field is set to '1', this field specifies 128-bit IPv6 address indicating the source of this virtual channel.).
virtual_channel_target_IP_address 필드(32 또는 128비트)는 virtual_channel_target_IP_address_flag 가 '1'로 설정된 경우에는 해석될 필요가 있지만, virtual_channel_target_IP_address_flag 가 '0'으로 설정된 경우에는 해석될 필요가 없다. virtual_channel_target_IP_address_flag 가 '1'로 설정되고, IP_version_flag 필드가 '0'으로 설정된 경우, 본 필드는 해당 가상 채널에 대한 32비트 타겟 IPv4 어드레스를 나타낸다. virtual_channel_target_IP_address_flag 가 '1'로 설정되고, IP_version_flag 필드가 '1'로 설정된 경우, 본 필드는 해당 가상 채널에 대한 64비트 타겟 IPv6 어드레스를 나타낸다. 만약 해당 virtual_channel_target_IP_address를 해석할 수 없다면, num_channels루프 내의 component_target_IP_address 필드가 해석되어야 하고, 수신 시스템은 IP 스트림 콤포넌트에 접근하기 위해서, component_target_IP_address를 사용해야 한다(This field shall present if the virtual_channel_target_IP_address_flag is set to '1' and shall not present if the virtual_channel_target_IP_address_flag is set to '0'. If present, when IP_version_flag field is set to '0', this field specifies 32-bit target IPv4 address for this virtual channel. When IP_version_flag field is set to '1', this field specifies 128-bit target IPv6 address for this virtual channel. If this virtual_channel_target_IP_address doesn't present, then the component_target_IP_address field in the num_channels loop shall present and the receiver shall utilize the component_target_IP_address to access IP stream components.).
한편, 본 실시예에 따른 SMT는, for loop를 사용하여 복수의 콤포넌트에 대한 정보를 제공한다.
RTP_payload_type 필드(7비트)는 하기 표 3에 따라서 콤포넌트의 인코딩 포맷을 지시한다. IP 스트림 콤포넌트가 RTP로 인캡슐레이션되지 않은 경우에는 본 필드는 무시되어야 한다(This 7-bit field identifies the encoding format of the component, according to Table 3.If the IP stream component is not encapsulated in RTP, this field shall be deprecated.).
다음의 표 3은 RTP Payload Type의 일 예를 보인다.
RTP_payload_type Meaning | |
35 | AVC video |
36 | MH audio |
37 - 72 | [Reserved for future ATSC use] |
component_target_IP_address _flag 필드(1비트)는 플래그가 설정된 경우 해당 IP 스트림 콤포넌트가 virtual_channel_target_IP_address와는 다른 타겟 IP 어드레스를 갖는 IP 데이터그램을 통해 전송됨을 지시한다. 본 플래그가 설정된 경우에는 수신 시스템은 해당 IP 스트림 콤포넌트에 접근하기 위해서 component_target_IP_address를 타겟 IP 어드레스로서 사용하고, num_channels 루프 내의 virtual_channel_target_IP_address를 무시한다(A 1-bit Boolean flag that indicates, when set, this IP stream component is delivered through IP datagrams with target IP addresses different from virtual_channel_target_IP_address. When this flag is set, then the receiver shall utilize the component_target_IP_address as the target IP address to access this IP stream component and shall ignore the virtual_channel_target_IP_address field in the num_channels loop.).
component_target_IP_address 필드(32 또는 128비트)는 IP_version_flag 필드가 '0'으로 설정된 경우에는 본 필드는 해당 IP 스트림 콤포넌트를 위한 32비트 타겟 IPv4 어드레스를 지시한다. 그리고 IP_version_flag 필드가 '1'로 설정된 경우에는 본 필드는 해당 IP 스트림 콤포넌트를 위한 128비트 타겟 IPv6 어드레스를 지시한다(When IP_version_flag field is set to '0', this field specifies 32-bit target IPv4 address for this IP stream component. When IP_version_flag field is set to '1', this field specifies 128-bit target IPv6 address for this IP stream component.).
port_num_count 필드(6비트)는 해당 IP 스트림 콤포넌트와 관련된 UDP 포트의 넘버를 지시한다. 타겟 UDP 포트 넘버 값은 target_UDP_port_num 필드 값으로부터 시작해서 1씩 증가한다. RTP 스트림을 위해서는, 타겟 UDP 포트 넘버는 target_UPD_port_num 필드 값으로부터 시작해서 2씩 증가하며, 이는 RTP 스트림과 관련된 RTCP 스트림을 포함하기 위해서이다(This field indicates the number of UDP ports associated with this IP stream component. The values of the target UDP port numbers shall start from the target_UDP_port_num field and shall be incremented by one. For RTP streams, the target UDP port numbers shall start from the target_UPD_port_num field and shall be incremented by two, to incorporate RTCP streams associated with the RTP streams.).
target_UDP_port_num 필드(16비트)는 해당 IP 스트림 콤포넌트를 위한 타겟 UDP 포트 넘버를 나타낸다. RTP 스트림을 위해서는 target_UDP_port_num의 값은 짝수이고, 다음 높은 값은 관련된 RTCP 스트림의 타겟 UDP 포트 넘버를 나타낸다(A 16-bit unsigned integer field, that represents the target UDP port number for this IP stream component. For RTP streams, the value of target_UDP_port_num shall be even, and the next higher value shall represent the target UDP port number of the associated RTCP stream.).
component_level_descriptor()은 해당 IP 콤포넌트에 대한 추가 정보를 제공하는 서술자를 나타낸다(Zero or more descriptors providing additional information for this IP stream component, may be included.).
virtual_channel_level_descriptor()은 해당 가상 채널에 대한 추가 정보를 제공하는 서술자를 나타낸다(Zero or more descriptors providing additional information for this virtual channel, may be included.).
ensemble_level_descriptor()은 해당 SMT가 서술하는 MH 앙상블에 대한 추가 정보를 제공하는 서술자를 나타낸다(Zero or more descriptors providing additional information for the MH Ensemble which this SMT describes, may be included.).
도 18은 본 발명의 실시예에 따른 MH Audio Descriptor의 syntax를 도시한 도면이다.
MH_audio_descriptor()는 현재 이벤트의 콤포넌트로서 존재하는 하나 이상의 오디오 서비스가 존재할 때, SMT 내의 component_level_descriptor로서 사용되어야 한다. 본 서술자에 의해서 오디오 언어의 종류와 스테레오 모드 여부를 알려 줄 수 있다. 현재 이벤트와 관련된 오디오 서비스가 없을 경우, MH_audio_descriptor()는 현재 이벤트를 위해 해석되지 않는 것이 바람직하다(The MH_audio_descriptor shall be used as a component_level_descriptor of the SMT when there is one or more audio services present as a component of the current event. This enables, for example, announcement of audio language and stereo mode. If there is no audio service associated with the current event, then the MH_audio_descriptor shall not be present for that event.).
도 18에 도시된 각 필드를 상술하면 다음과 같다.
descriptor_tag 필드(8비트)는 해당 서술자가 MH_audio_descriptor()임을 지시한다(This 8-bit unsigned integer shall have the value TBD, identifying this descriptor as MH_audio_descriptor.).
descriptor_length 필드(8비트)는 본 필드 이후부터 본 서술자 끝까지의 바이트 크기(length)를 나타낸다(This 8-bit unsigned integer specifies the length (in bytes) immediately following this field up to the end of this descriptor.).
channel_configuration 필드(8비트)는 오디오 채널의 넘버와 구성(configuration)을 나타낸다. 1에서 6까지의 값은 ISO/IEC 13818-7:2006의 테이블 42 상의 "Default bit stream index number"에 규정된 오디오 채널의 넘버 및 구성(configuration)을 나타낸다(This 8-bit field indicates the number and configuration of audio channels. Values in the range from 1 to 6 indicate the number and configuration of audio channels as given for "Default bit stream index number" in Table 42 of ISO/IEC 13818-7:2006.All other values indicate that the number and configuration of audio channels is undefined.).
sample_rate_code필드(3비트)는 인코딩된 오디오의 샘플 레이트(rate)를 나타낸다(This is a 3-bit field which indicates the sample rate of the encoded audio. The indication may be of one specific sample rate, or may be of a set of values that include the sample rate of the encoded audio as defined in Table A3.3 of ATSC A/52B.).
bit_rate_code 필드(6비트) 중 하위 5비트는 노미널(nominal) 비트 레이트를 나타내고, 최상위 비트가 '0'인 경우에는 해당 비트 레이트가 정확함을 의미하고, 최상위 비트가 '1'인 경우에는 해당 비트 레이트가 ATSC A/53의 Table A3.4에서 규정된 상한 한계를 의미한다(This is a 6-bit field. The lower 5 bits indicate a nominal bit rate. The MSB indicates whether the indicated bit rate is exact (MSB = 0) or an upper limit (MSB = 1) as defined in Table A3.4 of ATSC A/53B.).
ISO_639_language_code 필드(3바이트:24비트)는 오디오 스트림 콤포넌트에 사용된 언어를 나타낸다. 해당 오디오 스트림 콤포넌트에 특정된 언어가 없는 경우에는 각 바이트 값은 0x00으로 설정한다(This 3-byte (24 bits) field, in conformance with ISO 639.2/B [x], specifies the language used for the audio stream component. In case of no language specified for this audio stream component, each byte shall have the value 0x00.).
도 19는 본 발명의 실시예에 따른 MH RTP payload type Descriptor의 신택스를 도시한 도면이다.
상기 MH_RTP_payload_type_descriptor()는 RTP 페이로드의 타입을 지시하되, SMT의 num_components 루프 내에 있는 RTP_payload_type 값이 96에서 127을 가질 때에만 존재한다. 그리고 본 서술자는 SMT의 component_level_descriptor로서 사용된다.
MH_RTP_payload_type_decriptor는 RTP_payload_type 값을 MIME 타입에 매칭시킨다. 그 결과, 수신 시스템은 RTP로 인캡슐레이션된 IP 스트림 콤포넌트의 인코딩 포맷을 수집할 수 있다(The MH_RTP_payload_type_descriptor shall present if and only if the value of RTP_payload_type in the num_components loop of the SMT is a dynamic value in the range of 96 -127. When present, the MH_RTP_payload_type_descriptor shall be used as an component_level_descriptor of the SMT. The MH_RTP_payload_type_descriptor translates a dynamic RTP_payload_type value into a MIME type, so that the receiver can gather the encoding format of the IP stream component, encapsulated in RTP.).
상기 MH_RTP_payload_type_descriptor()에 포함된 필드에 대한 상세 설명은 아래와 같다.
descriptor_tag 필드(8비트)는 해당 서술자가 MH_RTP_payload_type_descriptor()임을 지시한다(This 8-bit unsigned integer shall have the value TBD, identifying this descriptor as MH_RTP_payload_type_descriptor.).
descriptor_length 필드(8비트)는 본 서술자 내에서 본 필드부터 마지막 필드까지의 크기를 나타낸다(This 8-bit unsigned integer specifies the length (in bytes) immediately following this field up to the end of this descriptor.).
RTP_payload_type 필드(7비트)는 IP 스트림 콤포넌트의 인코딩 포맷을 나타내고, RTP_payload_type 값은96에서 127까지의 값을 갖는다(This 7-bit field identifies the encoding format of the IP stream component, where the value of this RTP_payload_type is in the dynamic value range 96-127.).
MIME_type_length필드는 MIME 타입의 크기를 나타낸다(This field specifies the length (in bytes) of the MIME_type.).
MIME_type필드는 본 MH_RTP_payload_type_descriptor()가 서술하는 IP 스트림 콤포넌트의 인코딩 포맷에 대응되는MIME 타입을 나타낸다(The MIME type identifying the encoding format of the IP stream component that this MH_RTP_payload_type_descriptor describes.).
도 20은 본 발명의 실시예에 따른 MH Current Event Descriptor의 신택스를 도시한 도면이다.
상기 MH_current_event_descriptor()는 SMT 내의 virtual_channel_level_descriptor로서 사용된다. 본 서술자는 해당 가상 채널 상에 전송되는 현재 이벤트에 대한 기본적인 정보(예를 들어, 현재 이벤트 시작 시간, 존속시간, 타이틀)를 제공한다(The MH_current_event_descriptor, when present, shall be used as a virtual_channel_level_descriptor of the SMT. The MH_current_event_descriptor provides the basic information on the current event carried through this virtual channel (current event start time, duration and title).).
상기 MH_current_event_descriptor에 포함된 각 필드에 대한 상세 설명은 아래와 같다.
descriptor_tag 필드(8비트)는 본 서술자가 MH_current_event_descriptor()임을 나타내는 필드이다(This 8-bit unsigned integer shall have the value TBD, identifying this descriptor as MH_current_event_descriptor.).
descriptor_length 필드(8비트)는 본 서술자 내에서 본 필드 다음부터 마지막 필드까지의 크기를 나타낸다(This 8-bit unsigned integer specifies the length (in bytes) immediately following this field up to the end of this descriptor.).
current_event_start_time 필드(32비트)는 본 이벤트의 시작시간을 나타낸다(A 32-bit unsigned integer quantity representing the start time of the current event as the number of GPS seconds since 00:00:00 UTC, January 6, 1980).
current_event_duration 필드(24비트)는 본 이벤트의 존속시간을 나타낸다(A 24-bit field containing the duration of the current event in hours, minutes, seconds. Format: 6 digits, 4-bit BCD = 24 bit.).
title_length 필드는 title_text의 크기를 나타낸다(This field specifies the length (in bytes) of the title_text. Value 0 means that no title exists for this event.).
title_text 필드는 해당 이벤트의 타이틀을 나타낸다(The event title in the format of a multiple string structure as defined in ATSC A/65C [x].).
도 21은 본 발명의 실시예에 따른 MH Next Event Descriptor의 신택스를 도시한 도면이다.
상기 MH_next_event_descriptor()는 SMT의 virtual_channel_level_descriptor로서 사용된다. 상기 MH_next_event_descriptor()는 해당 가상 채널을 통해 전송되는 미래 이벤트 상의 기본적인 정보(예를 들어, 미래 이벤트 시작 시간, 지속시간, 타이틀)을 제공한다(The optional MH_next_event_descriptor, may present as a virtual_channel_level_descriptor of the SMT. The MH next event descriptor provides the basic information on the next event carried through this virtual channel (next event start time, duration and title).).
상기 MH_next_event_descriptor에 포함된 각 필드에 대한 상세 설명은 아래와 같다.
descriptor_tag 필드(8비트)는 본 서술자가MH_next_event_descriptor()임을 지시한다(This 8-bit unsigned integer shall have the value TBD, identifying this descriptor as MH_next_event_descriptor.).
descriptor_length 필드(8비트)는 본 서술자 내에서 본 필드 다음부터 마지막 필드까지의 크기를 나타낸다(This 8-bit unsigned integer specifies the length (in bytes) immediately following this field up to the end of this descriptor.).
next_event_start_time 필드(32비트)는 미래 이벤트의 시작시간을 나타낸다(A 32-bit unsigned integer quantity representing the start time of the next event as the number of GPS seconds since 00:00:00 UTC, January 6, 1980).
next_event_duration 필드(24비트)는 미래 이벤트의 존속시간을 나타낸다(A 24-bit field containing the duration of the next event in hours, minutes, seconds. Format: 6 digits, 4-bit BCD = 24 bit.).
title_length 필드는 title_text의 크기를 나타낸다(This field specifies the length (in bytes) of the title_text. Value 0 means that no title exists for this event.).
title_text 필드는 해당 이벤트의 타이틀을 나타낸다(The event title in the format of a multiple string structure as defined in ATSC A/65C [x].).
도 22는 본 발명의 실시예에 따른 MH System Time Descriptor의 신택스를 도시한 도면이다.
상기 MH_system_time_descriptor()는 SMT의 ensemble_level_descriptor로서 사용된다. 상기 MH_system_time_descriptor()는 현재 시간 및 날짜 정보를 제공한다. 또한 MH_system_time_descriptor는 모바일 환경을 고려해서, 수신되는 방송 스트림을 전송하는 송신 시스템에 대한 타임 존(time zone) 정보를 제공한다(The MH_system_time_descriptor, when present, shall be used as an ensemble_level_descriptor of the SMT. The MH system time descriptor provides the current date and time of day information. In addition, taking the mobile/portable characteristic of MH, the MH system time descriptor provides the time zone information for where the transmitter of this broadcast stream is located.).
상기 MH_system_time_descriptor()에 포함된 각 필드에 대한 상세 설명은 아래와 같다.
descriptor_tag 필드(8비트)는 본 서술자가 MH_system_time_descriptor()임을 나타낸다(This 8-bit unsigned integer shall have the value TBD, identifying this descriptor as MH_system_time_descriptor.).
descriptor_length 필드(8비트)는 본 서술자 내에 본 필드 다음부터 마지막 필드까지의 크기를 나타낸다(This 8-bit unsigned integer specifies the length (in bytes) immediately following this field up to the end of this descriptor.).
system_time 필드(32비트)는 GPS 상의 현재 시각을 나타낸다(A 32-bit unsigned integer quantity representing the current system time as the number of GPS seconds since 00:00:00 UTC, January 6th, 1980.).
GPS_UTC_offset 필드(8비트)는 GPS 및 UTC 간의 현재 옵셋(offset)을 나타낸다. GPS 시각을 UTC 시각으로 변환하기 위해서, GPS에서 GPS_UTC_offset을 차감한다(An 8-bit unsigned integer that defines the current offset in whole seconds between GPS and UTC time standards. To convert GPS time to UTC, the GPS_UTC_offset is subtracted from GPS time. Whenever the International Bureau of Weights and Measures decides that the current offset is too far in error, an additional leap second may be added (or subtracted), and the GPS_UTC_offset will reflect the change.).
time_zone_offset_polarity 필드(1비트)는 방송국 위치의 타임 존에 대한 시각이 UTC에 앞서는지 뒤쳐지는지를 나타낸다. 본 필드가 '0'인 경우에는 현재 타임 존 상의 시각이 UTC에 앞섬을 의미하므로, time_zone_offset 값을 UTC에 합산한다. 반면에, 본 필드가 '1'인 경우에는 현재 타임 존 상의 시각이 UTC보다 뒤쳐짐을 의미하므로, time_zone_offset 값을 UTC에서 합산한다(An one-bit indicator that indicates whether the time of the time zone where the broadcast station is located leads or lags UTC. When set to '0', this field indicates that the time of current time zone is leads the UTC (i.e, the time_zone_offset is added to UTC) and when set to '1', this field indicates that the time of current time zone lags UTC.).
time_zone_offset 필드(31비트)는 UTC와 비교해서 방송국 위치에 대한 타임 옵셋 값을 나타낸다(A 31-bit unsigned integer quantity representing the time offset of the time zone in GPS seconds, where the broadcast station is located, compared to UTC.).
daylight_savings 필드(16비트)는 서머 타임에 대한 정보를 제공한다(Daylight Savings Time control bytes. Refer to Annex A of ATSC-A/65C with amd. #1 [x], for the use of these two bytes.).
time_zone 필드(5x8비트)는 수신되는 방송 스트림을 전송하는 송신 시스템에 대한 타임 존(time zone)을 나타낸다.
도 23은 본 발명에 따른 SMT의 세그먼테이션 및 인캡슐레이션을 설명하기 위한 도면이다.
본 발명에 따르면, SMT는 IP 데이터그램 상에서 타겟 IP 어드레스 및 타겟 UDP 포트 넘버를 가지면서 UDP로 인캡슐레이션된다. 즉, SMT는 소정 개수의 섹션으로 세그먼테이션된 후, UDP 헤더로 인캡슐레이션되고, 그 후에 IP 헤더로 인캡슐레이션된다.
또한 SMT 섹션은 해당 SMT 섹션이 포함된 MH 앙상블에 포함된 모든 가상 채널을 대한 시그널링 정보를 제공한다. 그리고 MH 앙상블을 서술하는 SMT 섹션은 해당 MH 앙상블에 속하는 각 RS 프레임에 적어도 하나는 포함된다. 그리고 각 SMT 섹션은 각 섹션에 포함된 ensemble_id에 의해 구별된다. 본 발명에 따른 실시예에서는 타겟 IP 어드레스와 타겟 UDP 포트 넘버를 수신 시스템에서 알고 있도록 함으로써, 수신 시스템에서 별도의 정보를 요구하지 않고 이를 파싱할 수 있도록 하고 있다.
도 24는 본 발명의 일실시예에 따라서 FIC와 SMT를 이용해서 가상 채널에 접근하는 것을 설명하는 흐름도이다.
즉, 하나의 물리적 채널이 튜닝되고(S501), 튜닝된 물리적 채널에 MH 신호가 존재하면(S502), 상기 MH 신호를 복조한다(S503). 그리고 상기 복조된 MH 신호로부터 서브 프레임 단위로 FIC 세그먼트들을 모은다(S504, S505).
본 발명에서는 하나의 데이터 그룹에 하나의 FIC 세그먼트를 삽입하여 전송하는 것을 일 실시예로 한다. 즉, 각각의 데이터 그룹에 해당하는 FIC 세그먼트는 해당 데이터 그룹이 속하는 MH 앙상블의 서비스 정보를 기술한다. 상기 FIC 세그먼트들을 서브 프레임 단위로 모아 디인터리빙하게 되면, 해당 FIC 세그먼트가 전송되는 물리 채널의 모든 서비스 정보를 얻을 수 있다. 따라서 수신 시스템은 물리 채널 튜닝 이후 해당 물리 채널의 채널 정보를 서브 프레임 기간 동안 취득할 수 있게 된다. 상기 S504, S505에 의해, FIC 세그먼트들이 모아지면, 해당 FIC 세그먼트가 전송되고 있는 방송 스트림을 식별한다(S506). 상기 방송 스트림은 일 예로, 상기 FIC 세그먼트들을 모아서 구성된 FIC 바디의 transport_stream_id 필드를 파싱하면 식별할 수 있다.
또한 상기 FIC 바디로부터 앙상블 식별자, 메이저 채널 번호, 마이너 채널 번호, 채널 타입 정보 등을 추출한다(S507). 그리고 상기 추출된 앙상블 정보를 이용하여 수신을 원하는 앙상블에 대응되는 슬롯만을 타임 슬라이싱 방식에 의해 획득하여 앙상블을 구성한다(S508).
이어 상기 원하는 앙상블에 대응하는 RS 프레임을 디코딩하고(S509), SMT 수신을 위해 IP 소켓(socket)을 오픈한다(S510).
상기 SMT는 IP 데이터그램 상에서 타겟 IP 어드레스 및 타겟 UDP 포트 넘버를 가지면서 UDP로 인캡슐레이션되는 것을 일 실시예로한다. 즉, SMT는 소정 개수의 섹션으로 세그먼테이션된 후, UDP 헤더로 인캡슐레이션되고, 그 후에 IP 헤더로 인캡슐레이션된다. 본 발명에 따른 실시예에서는 타겟 IP 어드레스와 타겟 UDP 포트 넘버를 수신 시스템에서 알고 있도록 함으로써, 수신 시스템에서 별도의 정보를 요구하지 않고 SMT 섹션 및 각 SMT 섹션의 디스크립터들을 파싱한다(S511).
상기 SMT 섹션은 해당 SMT 섹션이 포함된 MH 앙상블에 포함된 모든 가상 채널을 대한 시그널링 정보를 제공한다. 그리고 MH 앙상블을 서술하는 SMT 섹션은 해당 MH 앙상블에 속하는 각 RS 프레임에 적어도 하나는 포함된다. 그리고 각 SMT 섹션은 각 섹션에 포함된 ensemble_id에 의해 구별된다.
또한 각 SMT는 각 SMT가 포함된 해당 MH 앙상블에 속하는 각 가상 채널의 IP 억세스 정보를 제공한다. 또한 상기 SMT는 해당 가상 채널의 서비스를 위해 필요한 IP 스트림 콤포넌트 레벨 정보를 제공한다.
따라서 상기 SMT로부터 파싱된 정보를 이용하여 수신을 원하는 가상 채널에 속한 IP 스트림 콤포넌트를 억세스하여(S513), 사용자에게 해당 가상 채널에 대한 서비스를 제공한다(S514).
도 25은 본 발명의 다른 실시예에 따른 수신 시스템의 구성 블록도이다.
도 25를 참조하면, 본 실시예에 따른 수신 시스템은 베이스밴드 프로세서(baseband processor)(100), 매니지먼트 프로세서(management processor)(200) 및 프리젠테이션 프로세서(presentation processor)(300)를 포함한다.
베이스밴드 프로세서(baseband processor)(100)는 오퍼레이션 콘트롤러(operation controller)(110), 튜너(tuner)(120), 복조기(demodulator)(130), 등화기(equalizer)(140), 기지 데이터 검출기(Known Sequence Detector)(150), 블록 디코더(Mobile Handheld block decoder)(160), 프라이머리 RS 프레임 디코더(primary Reed Solomon frame decoder)(170), 세컨더리(secondary) RS 프레임 디코더(180), 및 시그널링 디코더(190)를 포함할 수 있다. 여기서 오퍼레이션 콘트롤러(operation controller)(110), 튜너(tuner)(120), 복조기(demodulator)(130), 등화기(equalizer)(140), 기지 데이터 검출기(Known Sequence Detector)(150), 블록 디코더(Mobile Handheld block decoder)(160), 프라이머리 RS 프레임 디코더(primary Reed Solomon frame decoder)(170), 세컨더리(secondary) RS 프레임 디코더(180), 및 시그널링 디코더(190)는 각각 도 1의 오퍼레이션 콘트롤러(operation controller)(110), 튜너(tuner)(120), 복조기(demodulator)(130), 등화기(equalizer)(140), 기지 데이터 검출기(Known Sequence Detector)(150), 블록 디코더(Mobile Handheld block decoder)(160), 프라이머리 RS 프레임 디코더(primary Reed Solomon frame decoder)(170), 세컨더리(secondary) RS 프레임 디코더(180), 및 시그널링 디코더(190)와 대응하는 구성요소로서, 상기 각 구성요소에 대한 구체적인 설명은 도 1에 설명을 원용하고, 이하 생략한다.
매니지먼트 프로세서(200)는 MH 물리 적응 프로세서(MH Physical Adaptation Processor)(210), IP 네트워크 스택(IP network stack)(220), 스트리밍 핸들러(streaming handler)(230), SI 핸들러(SI handler)(240), 파일 핸들러(file handler)(250), MIME 타입 핸들러(MIME(Multipurpose Internet Mail Extensions) type handler)(260), ESG 핸들러(ESG handler)(270), ESG 디코더(ESG decoder)(280), 저장부(storage)(290)를 포함할 수 있다. 여기서 IP 네트워크 스택(IP network stack)(220), 스트리밍 핸들러(streaming handler)(230), SI 핸들러(SI handler)(240), 파일 핸들러(file handler)(250), MIME 타입 핸들러(MIME(Multipurpose Internet Mail Extensions) type handler)(260), ESG 핸들러(ESG handler)(270), ESG 디코더(ESG decoder)(280), 저장부(storage)(290)는 각각 도 1의 IP 네트워크 스택(IP network stack)(220), 스트리밍 핸들러(streaming handler)(230), SI 핸들러(SI handler)(240), 파일 핸들러(file handler)(250), MIME 타입 핸들러(MIME(Multipurpose Internet Mail Extensions) type handler)(260), ESG 핸들러(ESG handler)(270), ESG 디코더(ESG decoder)(280), 저장부(storage)(290)와 대응하는 구성요소로서, 상기 각 구성요소에 대한 구체적인 설명은 도 1에 설명을 원용하고, 이하 생략한다.
상기 MH 물리 적응 프로세서(210)는 프라이머리 RS 프레임 핸들러(primary RS frame handler)(211), 세컨더리RS 프레임 핸들러(secondary RS frame handler)(212), GSE(Generic Stream Encapsulation) 핸들러(2513), TPC 핸들러(214), FIC 핸들러(215), 및 물리 적응 제어 시그널 핸들러(Physical Adaptation Control Signal Handler)(216)를 포함할 수 있다.
상기 프라이머리 RS 프레임 핸들러(211)는 베이스밴드 프로세서(100)의 프라이머리 RS 프레임 디코더(170)로부터 전달받은 프라이머리 RS 프레임을 각 로우 단위인 TP(Transport Packet)로 구분하여 이를 GSE 핸들러(2513)로 출력한다.
상기 세컨더리 RS 프레임 핸들러(212)는 베이스밴드 프로세서(100)의 세컨더리 RS 프레임 디코더(180)로부터 전달받은 세컨더리 RS 프레임을 각 로우 단위로 구분하여 이를 GSE 핸들러(2513)로 출력한다.
상기 GSE 핸들러(2513)는 상기 프라이머리 및 세컨더리 RS 프레임 핸들러(211,212)로부터 전달받은 TP로부터 GSE 패킷을 추출하고, 추출한 GSE 패킷으로부터 IP 데이터그램을 산출한다. 그리고 GSE 핸들러(2513)는 IP 데이터그램을 IP 네트워크 스택(220)으로 출력한다.
상기 TPC 핸들러(214), FIC 핸들러(215), 및 물리 적응 제어 시그널 핸들러(Physical Adaptation Control Signal Handler)(216)는 각각 도 1의 상기 TPC 핸들러(214), FIC 핸들러(215), 및 물리 적응 제어 시그널 핸들러(Physical Adaptation Control Signal Handler)(216)와 대응하는 구성요소로서, 상기 각 구성요소에 대한 구체적인 설명은 도 1에 설명을 원용하고, 이하 생략한다.
프리젠테이션 프로세서(presentation processor)(300)은 A/V 디코더(310), 디스플레이 모듈(Display Module)(320), 상기 프리젠테이션 콘트롤러(Presentation Controller)(330), 채널 서비스 매니저(Channel Service Manager)(340) 및 어플리케이션 매니저(Application Manager)(350)를 포함한다. 여기서 A/V 디코더(310), 디스플레이 모듈(Display Module)(320), 상기 프리젠테이션 콘트롤러(Presentation Controller)(330), 채널 서비스 매니저(Channel Service Manager)(340) 및 어플리케이션 매니저(Application Manager)(350)는 각각 도 1의 A/V 디코더(310), 디스플레이 모듈(Display Module)(320), 상기 프리젠테이션 콘트롤러(Presentation Controller)(330), 채널 서비스 매니저(Channel Service Manager)(340) 및 어플리케이션 매니저(Application Manager)(350)와 대응하는 구성요소로서, 상기 각 구성요소에 대한 구체적인 설명은 도 1에 설명을 원용하고, 이하 생략한다.
도 26은 본 발명의 다른 실시예에 따른 RS 프레임을 도시한 도면이다.
도 26을 참조하면, 본 실시예에서 RS 프레임은 적어도 하나의 GSE 패킷을 포함할 수 있다. GSE 패킷이 RS 프레임에 포함되는 경우에는, RS 프레임이 GSE 패킷을 구별하기 위한 별도의 헤더를 가질 필요가 없는 효과가 있다.
RS 프레임의 한 로우를 하나의 GSE 패킷을 포함하도록 할당할 수 있고, 이러한 경우에는, RS 프레임이 187개의 로우를 가지므로 RS 프레임은 187개의 GSE 패킷을 포함할 수 있다. 만일 RS 프레임의 11개의 로우가 하나의 GSE 패킷으로 포함하도록 할당된 경우에는, RS 프레임은 17개의 GSE 패킷을 포함할 수 있다.
RS 프레임의 각 로우는 가변적인 길이를 가지므로, RS 프레임의 한 로우는 GSE BB(Base Band) 프레임으로 할당될 수 있다. 즉 GSE BB(Base Band) 프레임이 RS 프레임의 한 로우를 구성할 수 있다. 여기서 GSE BB 프레임의 헤더는 포함되어 RS 프레임의 한 로우를 구성할 수 있고, GSE BB 프레임의 헤더는 삭제되어 RS 프레임의 한 로우를 구성할 수 있다. GSE BB 프레임의 헤더는 삭제된 경우에도, GSE BB 프레임에 포함된 첫 GSE 패킷의 헤더를 기초로 GSE BB 프레임으로부터 GSE 패킷 추출할 수 있다. GSE BB 프레임은 적어도 하나의 RS 패킷을 포함하는 물리 계층(Physical Layer) 상에 정의된 프레임을 의미한다.
도 27은 PDUs(Protocol Data Units) 및 GSE(Generic Stream Encapsulation) 패킷과 관계를 나타낸 도면이다.
도 27을 참조하면, 네트워크 계층(Network Layer) 상에 정의된 PDU(Protocol Data Units)은 GSE 패킷의 데이터 필드에 포함될 수 있다. 이때, 하나의 GSE 패킷은 적어도 하나의 PDU를 포함할 수 있고, 복수의 GSE 패킷이 하나의 PDU를 포함할 수 있다. 하나의 PDU가 복수의 GSE 패킷에 포함되는 경우에는, PDU를 GSE 패킷으로 캡슐화하는 과정에서 PDU 조각화(Fragmentation)가 이루어질 수 있고, GSE 패킷으로부터 PDU를 산출하는 과정에서 재조합(Reassembly)가 이루어질 수 있다. 여기서 상기 PDU의 일예로 IP 데이터그램, Ethernet 프레임 등이 될 수 있다.
GSE 패킷은 BB(Base Band) 프레임에 포함된다. 하나의 BB(Base Band) 프레임에 하나의 GSE 패킷이 포함될 수 있고, 하나의 BB(Base Band) 프레임에 복수의 GSE 패킷이 포함될 수 있다.
도 28은 GSE(Generic Stream Encapsulation) 패킷의 헤더를 도시한 도면이다.
도 28을 참조하면, GSE 패킷의 헤더는 Start_Indicator(S), End_Indicator(E), Label_Type_Indicator(LT), GSE_Length, Frag_ID, Total_Length, Protocol_Type, Label 및 Extension_Header_Bytes 중 적어도 하나를 포함할 수 있다. Start_Indicator(S)는 GSE 패킷에 캡슐화된 PDU의 시작을 가리키는 정보를 포함하며 1bit의 크기를 가질 수 있다. End_Indicator(E)는 GSE 패킷에 캡슐화된 PDU의 끝을 가리키는 정보를 포함하며, 1bit의 크기를 가질 수 있다. Label_Type_Indicator(LT)는 패딩(padding)을 위한 정보를 포함하며 2bit의 크기를 가질 수 있다. GSE_Length는 GSE 패킷을 길이를 나타내는 정보를 포함하며 12bits의 크기를 가질 수 있다. Frag_ID는 GSE 패킷에 PDU 조각이 포함되어 있는지 여부를 나타내는 정보를 포함하고 1Bytes의 크기를 가질 수 있으며, Start_Indicator(S) 및 End_Indicator(E)가 설정된 경우에는, PDU 조각이 포함되어 있지 않는다는 정보를 포함한다. Total_Length는 조각화된 PDU의 첫 조각을 포함하는 GSE 패킷의 헤더에 포함되는 필드로서 조각화된 PDU을 총 길이 정보를 포함하며 2Bytes의 크기를 가질 수 있다. Protocol_Type은 GSE 패킷에 포함된 PDU에서 운반되는 페이로드의 타입을 지시하는 정보를 포함하며 2Bytes의 크기를 가질 수 있다. Label는 어드레싱(addressing)에 사용되는 라벨 정보를 포함하며, 3/6Bytes의 크기를 가질 수 있다. Extension_Header_Bytes는 확장된 헤더 포멧을 위해 리저브된 필드이며, 2Bytes 또는 2Bytes 이상의 크기를 가질 수 있다.
복수의 GSE 패킷이 하나의 PDU를 포함하는 경우에는, GSE 핸들러(2513)은 Start_Indicator(S), End_Indicator(E), Frag_ID 및 Total_Length에 포함된 정보를 기초로 복수의 GSE 패킷에 포함된 PDU 조각을 재조합할 수 있다. 즉 GSE 핸들러(2513)는 SE 패킷에 캡슐화된 PDU의 시작 정보를 포함하는 GSE 패킷부터 GSE 패킷에 캡슐화된 PDU의 끝 정보를 포함하는 정보를 포함하는 GSE 패킷 각각으로부터 PDU 조각을 추출하고, 이를 재조합하여 PDU를 산출할 수 있다. 그리고 GSE 핸들러(2513)는 Total_Length에 포함된 정보를 기초로 재조합된 PDU의 크기를 확인할 수 있고, Frag_ID를 통해 된 PDU의 시작 정보를 포함하는 GSE 패킷부터 GSE 패킷에 캡슐화된 PDU의 끝 정보를 포함하는 정보를 포함하는 GSE 패킷 사이에 위치하는 GSE 패킷을 확인할 수 있다.
도 29은 본 발명의 GSE(Generic Stream Encapsulation) 패킷을 구성하는 과정을 나타낸 도면이다.
도 29를 참조하면, 하나의 GSE 패킷을 구성하기 위해 먼저 RTP(Real-time Transport Protocol) 패킷은 UDP(user datagram protocol) 패킷으로 캡슐화된다. 그리고 UDP 패킷은 IP 패킷으로 캡슐화된다. IP 패킷은 GSE 패킷으로 캡슐환된다. 그리고 GSE 패킷으로 BB 프레임을 형성한다. 여기서 RTP 패킷은 12Bytes의 헤더 및 페이로드로 구성될 수 있고, 페이로드에는 모바일 서비스 데이터가 포함될 수 있다.
GSE 패킷은 RTP 패킷의 헤더 12Bytes, UDP 패킷의 헤더 8Bytes 및 IP 패킷의 헤더 20Bytes 등 총 40Bytes PDU 헤더를 포함하게 된다. 이에 따라 네트워크는 실제 방송 콘텐츠를 전송하기 위해 차지하는 대역폭은 감소된다.
본 발명의 실시예에서는 GSE 패킷에 포함되는 PDU의 헤더 정보를 압축하여 저장한다. 압축 방법의 일예로 ROHC(Robust Header Compression)을 사용한다. ROHC는 헤더 압축 방법의 하나로, 단일방향 모드(Unidirectional Mode), 양방향 긍정적 모드(Bidirectional Optimistic Mode) 및 양방향 신뢰적 모드(Bidirectional Reliable Mode)를 갖고 있다. 상기 양방향 긍정적 모드 및 상기 양방향 신뢰적 모드는 수신 데이터의 올바른 수신 여부를 알려주기 위한 피드백(Feedback) 메시지를 압축을 수행하는 측으로 전송한다. 반면, 상기 단일방향 모드는 상기 피드백 메시지를 압축을 수행하는 측으로 전송하지 않는다. 따라서, 상기 양방향 긍정적 모드 및 상기 양방향 신뢰적 모드는 상기 피드백 정보를 압축을 수행하는 측으로 전송함으로써, 상기 단일 방향모드보다 더욱 신뢰성 있고 효과적으로 헤더를 압축할 수 있다.
GSE 패킷에 포함되는 40Bytes PDU 헤더를 ROHC 알고리즘을 기초하여 3Bytes 또는 4Bytes로 압축할 수 있다.
GSE 핸들러(2513)는 GSE 패킷된 포함된 PDU의 헤더가 압축된 경우에는, GSE 패킷으부터 압축된 PDU의 헤더를 추출하고 이를 복원하여 PDU를 산출할 수 있다.
도 30는 본 발명의 데이터 처리 방법의 수행과정에 대한 일실시예를 도시한 도면이다.
도 30은 참조하면, 하나의 물리적 채널이 선택 또는 변경되고(S3000), 선택된 물리 채널이 튜닝된다(S3010). 메인 서비스 데이터와 모바일 서비스 데이터가 다중화된 방송 신호를 복조한다(S3020). 여기서 상기 복조된 방송 신호로부터 상기 모바일 서비스 데이터의 앙상블과 가상 채널과의 관계를 기술하는 고속 정보 채널 정보를 얻을 수 있다.
상기 고속 정보 채널 정보를 이용하여 상기 복조된 방송 신호로부터 모바일 서비스 데이터 프레임을 검출한다(S3030). 여기서 일예로 모바일 서비스 데이터 프레임으로 RS 프레임이 검출될 수 있다.
상기 검출된 모바일 서비스 데이터 프레임을 각 로우 단위로 스캔한다(S3040). 여기서 상기 검출된 모바일 서비스 데이터 프레임을 버퍼에 저장하고, 저장된 모바일 서비스 데이터 프레임의 각 로우 단위로 읽을 수 있다.
상기 모바일 서비스 데이터 프레임으로부터 GSE 패킷을 추출한다(S3050). 여기서 BB 프레임이 상기 모바일 서비스 데이터 프레임의 한 로우를 구성할 수 있고, 이러한 경우에는 모바일 서비스 데이터 프레임의 한 로우로부터 한 BB 프레임에 포함된 적어도 하나의 GSE 패킷을 추출할 수 있다.
상기 추출된 GSE 패킷으로부터 IP 데이터그램을 산출한다(S3060). 여기서 상기 GSE 패킷에 포함된 데이터 중 PDU 헤더에 속하는 데이터가 압축된 데이터인 경우에는, 압축된 데이터를 복원하여 IP 데이터그램을 산출할 수 있다. 또한 하나 또는 두 개 이상의 GSE 패킷으로부터 IP 데이터그램을 산출할 수 있다. 두 개 이상의 GSE 패킷으로부터 IP 데이터그램을 산출하는 경우에는, 각 GSE 패킷에 포함된 IP 데이터그램 조각을 재조합하여 IP 데이터그램을 산출한다.
도 1은 본 발명의 일 실시예에 따른 수신 시스템의 구성 블록도
도 2는 본 발명에 따른 데이터 그룹의 구조에 대한 일 실시예를 보인 도면
도 3은 본 발명의 일 실시예에 따른 RS 프레임을 도시한 도면
도 4는 본 발명에 따른 모바일 서비스 데이터의 송신과 수신을 위한 MH 프레임 구조의 일 예를 보인 도면
도 5는 일반적인 VSB 프레임 구조의 일 예를 보인 도면
도 6은 하나의 VSB 프레임에 대하여, 서브 프레임의 처음 4 슬롯 위치의 매핑 예를 공간 영역에서 보인 본 발명의 도면
도 7은 하나의 VSB 프레임에 대하여, 서브 프레임의 처음 4 슬롯 위치의 매핑 예를 시간 영역에서 보인 본 발명의 도면
도 8은 본 발명에 따른 MH 프레임을 구성하는 5개의 서브 프레임 중 하나의 서브 프레임에 할당되는 데이터 그룹 순서의 일 예를 보인 도면
도 9는 본 발명에 따른 하나의 MH 프레임에 단일 퍼레이드를 할당할 때의 일 예를 보인 도면
도 10은 본 발명에 따른 하나의 MH 프레임에 세개의 퍼레이드를 할당할 때의 일 예를 보인 도면
도 11은 도 10의 3개의 퍼레이드의 할당 과정을 하나의 MH 프레임 내 5개의 서브 프레임으로 확장한 예를 보인 도면
도 12는 본 발명의 실시예에 따른 데이터 전송 구조를 도시한 도면으로, 데 이터 그룹 내에 시그널링 데이터가 포함되어 전송되는 모습을 도시한 도면
도 13은 본 발명의 일실시예에 따른 계층적인 시그널링 구조를 도시한 도면
도 14는 본 발명에 따른 FIC 바디 포맷의 일 실시예를 도시한 도면
도 15는 본 발명에 따른 FIC 세그먼트에 대한 비트 스트림 신택스 구조의 일 실시예를 도시한 도면
도 16은 본 발명에 따른 FIC type 필드값이 '0'인 경우의 FIC 세그먼트의 페이로드에 대한 비트 스트림 신택스 구조의 일 실시예를 도시한 도면
도 17은 본 발명의 따른 서비스 맵 테이블의 비트 스트림 신택스 구조의 일 실시예를 도시한 도면
도 18은 본 발명에 따른 MH Audio Descriptor의 비트 스트림 신택스 구조의 일 실시예를 도시한 도면
도 19는 본 발명에 따른 MH RTP payload type Descriptor의 비트 스트림 신택스 구조의 일 실시예를 도시한 도면
도 20은 본 발명에 따른 MH Current Event Descriptor의 비트 스트림 신택스 구조의 일 실시예를 도시한 도면
도 21은 본 발명에 따른 MH Next Event Descriptor의 비트 스트림 신택스 구조의 일 실시예를 도시한 도면
도 22는 본 발명에 따른 MH System Time Descriptor의 비트 스트림 신택스 구조의 일 실시예를 도시한 도면
도 23은 본 발명에 따른 서비스 맵 테이블의 세그먼테이션 및 인캡슐레이션 을 설명하기 위한 도면
도 24는 본 발명에 따른 FIC와 SMT를 이용해서 가상 채널에 접근하는 과정의 일 실시예를 보인 흐름도
도 25은 본 발명의 다른 실시예에 따른 수신 시스템의 구성 블록도
도 26은 본 발명의 다른 실시예에 따른 RS 프레임을 도시한 도면
도 27은 PDUs(Protocol Data Units) 및 GSE(Generic Stream Encapsulation) 패킷과 관계를 나타낸 도면
도 28은 GSE(Generic Stream Encapsulation) 패킷의 헤더를 도시한 도면
도 29은 본 발명의 GSE(Generic Stream Encapsulation) 패킷을 구성하는 과정을 나타낸 도면
도 30는 본 발명의 데이터 처리 방법의 수행과정에 대한 일실시예를 도시한 도면이다.
Claims (14)
- 모바일 서비스 데이터와 메인 서비스 데이터가 포함된 방송신호를 수신하는 단계;상기 수신된 방송 신호 내 기지 데이터를 검출하는 단계;상기 검출된 기지 데이터를 이용하여 수신된 상기 모바일 서비스 데이터를 채널 등화하는 단계;상기 채널 등화된 모바일 서비스 데이터로부터 RS 프레임을 얻는 단계; 및상기 RS 프레임의 한 로우를 구성하는 GSE(Generic Stream Encapsulation) BB(Base Band)로부터 GSE 패킷을 추출하고, 상기 GSE 패킷으로부터 IP 데이터그램을 산출하는 단계; 및상기 산출된 IP 데이터그램에 포함된 데이터를 이용하여 방송을 디스플레이하는 단계;를 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 제 1 항에 있어서,상기 모바일 서비스 데이터는 데이터 그룹을 구성할 수 있고, 상기 데이터 그룹은 복수개의 영역으로 구분되고, 상기 복수개의 영역 중 일부 영역 내에는 기지 데이터 열이 선형적으로 삽입되며, 상기 기지 데이터열의 시작 부분에는 송신기의 트렐리스 인코더 내 메모리를 초기화하는데 이용된 초기화 데이터가 위치하며,상기 복수개의 영역 중 일부 영역 내에 상기 기지 데이터 열이 N개 삽입되 며, 상기 N개의 기지 데이터열 중 첫 번째 기지 데이터 열 및 두 번째 기지데이터 열 사이에는 전송 파라미터가 삽입되는 것을 특징으로 하는 데이터 처리 방법.
- 제 1항에 있어서,상기 산출하는 단계에서,상기 GSE 패킷의 데이터 필드에 포함된 데이터에 대한 압축을 해제하여 상기 IP 데이터그램의 헤더를 복원하는 것을 특징으로 하는 데이터 처리 방법.
- 제 3항에 있어서,상기 IP 데이터그램의 헤더는 ROHC(Robust Header Compression)을 기초로 압축된 것을 특징으로 하는 데이터 처리 방법.
- 제 1항에 있어서,상기 IP 데이터그램은 적어도 하나의 GSE 패킷의 데이터 필드에 포함되는 것을 특징으로 하는 데이터 처리 방법.
- 모바일 서비스 데이터를 포함하는 IP 데이터그램을 적어도 하나의 GSE(Generic Stream Encapsulation) 패킷으로 캡슐화하는 단계;상기 GSE 패킷을 포함하는 모바일 서비스 데이터 프레임을 생성하는 단계;상기 생성된 모바일 서비스 데이터 프레임을 데이터 그룹들로 분리하고, 상 기 분리된 데이터 그룹을 메인 서비스 데이터와 다중화하는 단계;상기 다중화된 데이터 그룹과 메인 서비스 데이터를 방송 신호로 변조하는 단계; 및상기 방송 신호를 전송하는 단계;를 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 제 6항에 있어서,상기 생성하는 단계는,상가 GSE 패킷으로 BB(Base Band) 프레임을 형성하는 단계; 및상기 형성된 BB 프레임을 상기 모바일 서비스 데이터 프레임의 로우 단위로 구성하여 상기 모바일 서비스 데이터 프레임을 생성하는 단계;를 포함하는 것을 특징으로 하는 데이터 처리 방법.
- 제 6항에 있어서,상기 캡슐화하는 단계에서,상기 IP 데이터그램의 헤더를 압축하는 것을 특징으로 하는 데이터 처리 방법.
- 제 8항에 있어서,ROHC(Robust Header Compression)을 기초로 상기 IP 데이터그램의 헤더를 압 축하는 것을 특징으로 하는 데이터 처리 방법.
- 모바일 서비스 데이터와 메인 서비스 데이터가 포함된 방송신호를 수신하는 수신부;상기 수신된 방송신호 내 기지 데이터를 검출하는 기지 데이터 검출부;상기 검출된 기지 데이터를 이용하여 수신된 상기 모바일 서비스 데이터를 채널 등화하는 등화기;상기 채널 등화된 모바일 서비스 데이터로부터 RS 프레임을 얻는 RS 프레임 디코더;상기 RS 프레임의 한 로우를 구성하는 GSE(Generic Stream Encapsulation) BB(Base Band)로부터 GSE 패킷을 추출하고, 상기 추출된 GSE 패킷으로부터 IP 데이터그램을 산출하는 매니지먼트 프로세서; 및상기 산출된 IP 데이터그램에 포함된 데이터를 이용하여 방송을 디스플레이하는 프리젠테이션 프로세서;를 포함하는 것을 특징으로 하는 디지털 방송 시스템.
- 제 10항에 있어서,상기 모바일 서비스 데이터는 데이터 그룹을 구성할 수 있고, 상기 데이터 그룹은 복수개의 영역으로 구분되고, 상기 복수개의 영역 중 일부 영역 내에는 기지 데이터 열이 선형적으로 삽입되며, 상기 기지 데이터열의 시작 부분에는 송신기의 트렐리스 인코더 내 메모리를 초기화하는데 이용된 초기화 데이터가 위치하며,상기 복수개의 영역 중 일부 영역 내에 상기 기지 데이터 열이 N개 삽입되며, 상기 N개의 기지 데이터열 중 첫 번째 기지 데이터 열 및 두 번째 기지데이터 열 사이에는 전송 파라미터가 삽입되는 것을 특징으로 하는 디지털 방송 시스템.
- 제 10항에 있어서,상기 매니지먼트 프로세서는,상기 GSE 패킷의 데이터 필드에 포함된 데이터에 대한 압축을 해제하여 상기 IP 데이터그램의 헤더를 복원하는 것을 특징으로 하는 디지털 방송 시스템.
- 제 12항에 있어서,상기 매니지먼트 프로세서는,ROHC(Robust Header Compression)을 기초로 상기 IP 데이터그램의 헤더의 압축을 해제하는 것을 특징으로 하는 디지털 방송 시스템.
- 제 10항에 있어서,상기 매니지먼트 프로세서는,적어도 하나의 GSE 패킷의 데이터 필드로부터 상기 IP 데이터그램을 산출하는 것을 특징으로 하는 디지털 방송 시스템.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/235,583 US7936786B2 (en) | 2007-09-20 | 2008-09-22 | Digital broadcasting system and method of processing data in digital broadcasting system |
PCT/KR2008/005631 WO2009038434A2 (en) | 2007-09-20 | 2008-09-22 | Digital broadcasting system and method of processing data in digital broadcasting system |
US13/069,268 US8687635B2 (en) | 2007-09-20 | 2011-03-22 | Digital broadcasting system and method of processing data in digital broadcasting system |
US14/191,019 US8917727B2 (en) | 2007-09-20 | 2014-02-26 | Digital broadcasting system and method of processing data in digital broadcasting system |
US14/534,990 US9674817B2 (en) | 2007-09-20 | 2014-11-06 | Digital broadcasting system and method of processing data in digital broadcasting system |
US15/598,072 US9894638B2 (en) | 2007-09-20 | 2017-05-17 | Digital broadcasting system and method of processing data in digital broadcasting system |
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US97377307P | 2007-09-20 | 2007-09-20 | |
US60/973,773 | 2007-09-20 | ||
US97408407P | 2007-09-21 | 2007-09-21 | |
US60/974,084 | 2007-09-21 | ||
US97737907P | 2007-10-04 | 2007-10-04 | |
US60/977,379 | 2007-10-04 | ||
US4450408P | 2008-04-13 | 2008-04-13 | |
US61/044,504 | 2008-04-13 | ||
US7668608P | 2008-06-29 | 2008-06-29 | |
US61/076,686 | 2008-06-29 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150075253A Division KR101617272B1 (ko) | 2007-09-20 | 2015-05-28 | 디지털 방송 시스템 및 데이터 처리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090031312A true KR20090031312A (ko) | 2009-03-25 |
KR101556138B1 KR101556138B1 (ko) | 2015-09-30 |
Family
ID=40697359
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080092361A KR101556138B1 (ko) | 2007-09-20 | 2008-09-19 | 디지털 방송 시스템 및 데이터 처리 방법 |
KR1020150075253A KR101617272B1 (ko) | 2007-09-20 | 2015-05-28 | 디지털 방송 시스템 및 데이터 처리 방법 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150075253A KR101617272B1 (ko) | 2007-09-20 | 2015-05-28 | 디지털 방송 시스템 및 데이터 처리 방법 |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR101556138B1 (ko) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678463B1 (en) * | 2000-08-02 | 2004-01-13 | Opentv | System and method for incorporating previously broadcast content into program recording |
-
2008
- 2008-09-19 KR KR1020080092361A patent/KR101556138B1/ko active IP Right Grant
-
2015
- 2015-05-28 KR KR1020150075253A patent/KR101617272B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR101556138B1 (ko) | 2015-09-30 |
KR20150068934A (ko) | 2015-06-22 |
KR101617272B1 (ko) | 2016-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101615241B1 (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR100913108B1 (ko) | 수신 시스템 및 데이터 처리 방법 | |
KR100902906B1 (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR100921474B1 (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR100917831B1 (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR20090031323A (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR100902905B1 (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR20090021120A (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR100904434B1 (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR101605330B1 (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR20090031308A (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
KR101617272B1 (ko) | 디지털 방송 시스템 및 데이터 처리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
A107 | Divisional application of patent | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180814 Year of fee payment: 4 |