KR101652810B1 - 디지털 방송 수신기 및 그 제어 방법 - Google Patents

디지털 방송 수신기 및 그 제어 방법 Download PDF

Info

Publication number
KR101652810B1
KR101652810B1 KR1020150165518A KR20150165518A KR101652810B1 KR 101652810 B1 KR101652810 B1 KR 101652810B1 KR 1020150165518 A KR1020150165518 A KR 1020150165518A KR 20150165518 A KR20150165518 A KR 20150165518A KR 101652810 B1 KR101652810 B1 KR 101652810B1
Authority
KR
South Korea
Prior art keywords
data
frame
service
information
field
Prior art date
Application number
KR1020150165518A
Other languages
English (en)
Other versions
KR20150139809A (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 KR20150139809A publication Critical patent/KR20150139809A/ko
Application granted granted Critical
Publication of KR101652810B1 publication Critical patent/KR101652810B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/015High-definition television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 수신 시스템 및 수신 시스템에서의 데이터 처리 방법에 관한 것으로, 본 발명에 따른 수신 시스템의 일 예는, 모바일 서비스 데이터와 메인 서비스 데이터가 포함된 방송 신호를 수신하며, 상기 모바일 서비스 데이터는 제1 서비스 데이터와 상기 제1 서비스 데이터와 다른 포맷의 제2 서비스 데이터를 포함하며, 상기 제2 서비스 데이터는 RS 프레임을 구성할 수 있고, 상기 RS 프레임은 상기 제1 서비스 데이터와는 다른 포맷의 제2 서비스 데이터, 상기 제2 서비스 데이터의 수신 제한에 관한 정보를 포함한 시그널링 정보가 서술되는 테이블을 포함하는 베이스밴드 프로세스부, 상기 RS 프레임으로부터 상기 테이블을 파싱하여 상기 제2 서비스 데이터에 대한 시그널링 정보를 추출하되, 상기 추출되는 시그널링 정보에는 상기 RS 프레임 내 제2 서비스 데이터의 수신 제한에 관한 정보가 포함되는 테이블 핸들러, 상기 추출된 시그널링 정보를 기반으로 상기 RS 프레임으로부터 제2 서비스 데이터를 추출하는 프레임 핸들러, 상기 추출된 시그널링 정보 내 수신 제한에 관한 정보를 기반으로 상기 추출된 제2 서비스 데이터의 수신 제한을 해제하는 수신 제한 핸들러 및 상기 수신 제한이 해제된 제2 서비스 데이터를 파싱하는 서비스 핸들러를 포함하는 것을 특징으로 한다. 따라서, 본 발명에 따르면, MH 시스템에서 기존의 MH 포맷 이외에 다른 포맷의 서비스 데이터도 처리할 수 있어, 다양한 서비스를 제공할 수 있다.

Description

디지털 방송 수신기 및 그 제어 방법{DIGITAL BROADCASTING RECEIVER AND METHOD FOR CONTROLLING THE SAME}
본 발명은 디지털 방송 시스템에 관한 것으로, 보다 상세하게는 디지털 방송 수신기 및 그 제어 방법에 관한 것이다.
디지털 방송 시스템은, 디지털 방송 송신기와 디지털 방송 수신기 등으로 이루어 질 수 있다. 또한, 상기 디지털 방송 송신기는, 방송 프로그램 등의 데이터를 디지털 방식으로 처리하여, 상기 디지털 방송 수신기 측으로 전송한다. 이와 같은 디지털 방송 시스템은, 데이터 전송의 효율성 등의 다양한 장점으로 인하여, 점차 아날로그 방송 시스템을 대체하고 있다.
그러나, 디지털 방송 중 북미 및 국내에서 디지털 방송 표준으로 채택된 VSB(Vestigial Sideband) 전송 방식은 싱글 캐리어 방식이므로 열악한 채널 환경에서는 수신 시스템의 수신 성능이 떨어질 수 있다. 특히, 휴대용이나 이 동형 방송 수신기의 경우에는 채널 변화 및 노이즈에 대한 강건성이 더욱 요구되므로, 상기 VSB 전송 방식으로 모바일 서비스 데이터를 전송하는 경우 수신 성능이 더욱 떨어지게 된다.
또한, 종래 모바일 디지털 방송 환경에서는, 특정 서비스에 대한 수신 제한을 설정하거나, 이를 해제하는 구체적인 기술이 없는 실정이다. 특히, 서비스가 다른 데이터 포맷의 서비스를 전송하거나 수신제한을 설정하거나 해제하는 경우에는 더욱 그러하다.
본 발명의 일 실시 예는, 채널 변화 및 노이즈에 강한 디지털 방송 수신기 및 그 제어 방법을 제공하고자 한다.
그리고, 본 발명의 다른 일 실시 예는, 모바일 디지털 방송 환경에서 특정 서비스에 대한 수신 제한을 설정하거나, 이를 해제할 수 있는 데이터 처리 방법을 제공하고자 한다.
본 발명의 일 실시 예에 따른 수신 시스템의 데이터 처리 방법은, 모바일 서비스 데이터와 메인 서비스 데이터가 포함된 방송 신호를 수신하며, 상기 모바일 서비스 데이터는 제1 서비스 데이터와 상기 제1 서비스 데이터와 다른 포맷의 제2 서비스 데이터를 포함하며, 상기 제2 서비스 데이터는 RS 프레임을 구성할 수 있고, 상기 RS 프레임은 상기 제2 서비스 데이터와, 상기 제2 서비스 데이터의 수신 제한에 관한 정보가 포함된 시그널링 정보가 서술되는 테이블을 포함하는 단계 상기 RS 프레임으로부터 상기 테이블을 파싱하여 상기 제2 서비스 데이터의 수신 제한에 관한 정보가 포함된 시그널링 정보를 추출하는 단계 상기 추출된 시그널링 정보를 기반으로 RS 프레임으로부터 상기 제2 서비스 데이터를 추출하는 단계 및 상기 추출된 시그널링 정보 내 수신 제한에 관한 정보를 기반으로 상기 추출된 제2 서비스 데이터의 수신 제한을 해제하고 파싱하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
이때, 상기 RS 프레임을 구성하는 적어도 하나의 데이터 그룹은 복수의 기지 데이터 열(known data sequence)을 포함하고, 상기 기지 데이터 열 중 제 1 기지 데이터 열과 제2 기지 데이터 열 사이에 시그널링 정보 영역을 포함하며, 상기 시그널링 정보 영역은 전송 파라미터 채널(TPC) 시그널링과 고속 정보 채널(FIC) 시그널링을 포함할 수 있다.
그리고 상기 RS 프레임은 RS 프레임 헤더와 RS 프레임 페이로드로 구성되고, 상기 RS 프레임 헤더는 상기 RS 프레임 페이로드를 통해 전송되는 트랜스포트 패킷 내 데이터의 타입이 상기 제1 서비스를 위한 데이터 타입인지 제2 서비스를 위한 데이터 타입인지를 식별하는 정보를 포함하고, 상기 RS 프레임 페이로드는 상기 제2 서비스를 위한 데이터가 포함된 플로 패킷이 포함된 트랜스포트 패킷을 할 수 있다.
또한, 상기 플로 패킷은, 플로 패킷 헤더와 플로 패킷 페이로드로 구성되고, 상기 플로 패킷 페이로드는 상기 제2 서비스를 위한 데이터를 제1 레이어에서 패킷화된 레이어 패킷을 제2 레이어에서 인크립션하고, 상기 제2 레이어에서 인크립션된 레이어 패킷과 상기 인크립션된 레이어 패킷의 길이에 관한 렝쓰 정보를 포함할 수 있다.
그리고 상기 플로 패킷 헤더는, 해당 플로 패킷 내 포함된 상기 제1 레이어에서 패킷화된 레이어 패킷의 상기 제2 레이어에서 인크립션 여부에 관한 정보, 해당 플로 패킷 내 포함된 상기 레이어 패킷을 식별할 수 있는 식별 정보, 해당 플로 패킷이 하나 이상의 RS 프레임에 걸쳐 전송되는지 유무를 알려주는 정보, 해당 플로 패킷에 CRC가 적용되었는지 여부를 나타내는 정보, 및 해당 플로 패킷 내 포함된 레이어 패킷의 개수를 나타내는 정보 중 적어도 하나를 포함할 수 있다.
또한, 상기 제2 서비스 데이터의 수신 제한에 관한 정보는, 상기 추출된 제2 서비스 데이터의 수신 제한에 적용된 수신 제한 시스템의 타입을 식별하는 정보와 상기 제2 서비스 데이터의 수신 제한에 관한 정보가 전송되는 플로 패킷을 식별할 수 있는 정보 중 적어도 하나를 포함할 수 있다.
그리고 상기 제2 서비스 데이터의 수신 제한에 관한 정보는, 자격 제어 메시지와 기타 수신 제한에 필요한 정보 중 적어도 하나를 포함할 수 있다.
본 발명의 일 실시 예에 따른 수신 시스템의 일 예는, 모바일 서비스 데이터와 메인 서비스 데이터가 포함된 방송 신호를 수신하며, 상기 모바일 서비스 데이터는 제1 서비스 데이터와 상기 제1 서비스 데이터와 다른 포맷의 제2 서비스 데이터를 포함하며, 상기 제2 서비스 데이터는 RS 프레임을 구성할 수 있고, 상기 RS 프레임은 상기 제1 서비스 데이터와는 다른 포맷의 제2 서비스 데이터, 상기 제2 서비스 데이터의 수신 제한에 관한 정보를 포함한 시그널링 정보가 서술되는 테이블을 포함하는 베이스밴드 프로세스부 상기 RS 프레임으로부터 상기 테이블을 파싱하여 상기 제2 서비스 데이터에 대한 시그널링 정보를 추출하되, 상기 추출되는 시그널링 정보에는 상기 RS 프레임 내 제2 서비스 데이터의 수신 제한에 관한 정보가 포함되는 테이블 핸들러 상기 추출된 시그널링 정보를 기반으로 상기 RS 프레임으로부터 제2 서비스 데이터를 추출하는 프레임 핸들러 상기 추출된 시그널링 정보 내 수신 제한에 관한 정보를 기반으로 상기 추출된 제2 서비스 데이터의 수신 제한을 해제하는 수신 제한 핸들러 및 상기 수신 제한이 해제된 제2 서비스 데이터를 파싱하는 서비스 핸들러를 포함할 수 있다.
이때, 상기 RS 프레임을 구성하는 적어도 하나의 데이터 그룹은 복수의 기지 데이터 열(known data sequence)을 포함하고, 상기 기지 데이터 열 중 제 1 기지 데이터 열과 제2 기지 데이터 열 사이에 시그널링 정보 영역을 포함하며, 상기 시그널링 정보 영역은 전송 파라미터 채널(TPC) 시그널링과 고속 정보 채널(FIC) 시그널링을 포함할 수 있다.
그리고 상기 베이스밴드 프로세서부는 상기 데이터 그룹에 포함된 기지 데이터 열을 검출하는 기지 데이터 검출부를 더 포함하며, 상기 검출된 기지 데이터 열은 모바일 서비스 데이터의 복조 및 채널 등화에 이용될 수 있다.
또한, 상기 테이블 핸들러는, RS 프레임 헤더와 RS 프레임 페이로드로 구성되는 상기 RS 프레임으로부터 상기 제2 서비스 데이터의 수신 제한에 관한 정보가 포함된 시그널링 정보를 포함한 테이블을 추출하되, 상기 RS 프레임 헤더는 상기 RS 프레임 페이로드를 통해 전송되는 트랜스포트 패킷 내 데이터의 타입이 상기 제1 서비스를 위한 데이터 타입인지 제2 서비스를 위한 데이터 타입인지를 식별하는 정보를 포함하고, 상기 RS 프레임 페이로드는 상기 제2 서비스를 위한 데이터가 포함된 플로 패킷이 포함된 트랜스포트 패킷을 포함할 수 있다.
그리고 상기 서비스 핸들러는, 플로 패킷 헤더와 플로 패킷 페이로드로 구성되는 상기 플로 패킷을 처리하되, 상기 플로 패킷 페이로드는 상기 제2 서비스를 위한 제1 레이어에서 패킷화된 레이어 패킷과, 제2 레이어에서 상기 레이어 패킷을 인크립션하고 상기 인크립션된 레이어 패킷의 길이에 관한 렝쓰 정보를 포함할 수 있다.
또한, 상기 서비스 핸들러는, 해당 플로 패킷 내 포함된 레이어 패킷의 인크립션 여부를 지시하는 정보, 해당 플로 패킷 내 포함된 레이어 패킷을 식별할 수 있는 식별 정보, 해당 플로 패킷이 하나 이상의 RS 프레임에 걸쳐 전송되는지 유무를 알려주는 정보, 해당 플로 패킷에 CRC가 적용되었는지 여부를 나타내는 정보, 및 해당 플로 패킷 내 포함된 레이어 패킷의 개수를 나타내는 정보 중 적어도 하나를 포함하는 상기 플로 패킷 헤더를 처리할 수 있다.
그리고 상기 테이블 핸들러는, 상기 추출된 제2 서비스 데이터의 수신 제한에 적용된 수신 제한 시스템의 타입을 식별하는 정보와 상기 제2 서비스 데이터의 수신 제한에 관한 정보가 전송되는 플로 패킷을 식별할 수 있는 정보 중 적어도 하나를 포함하는 제2 서비스 데이터의 수신 제한에 관한 정보를 추출할 수 있다.
또한, 상기 테이블 핸들러는, 자격 제어 메시지와 기타 수신 제한에 필요한 정보 중 적어도 하나를 포함하는 상기 제2 서비스 데이터의 수신 제한에 관한 정보를 추출할 수 있다.
본 발명의 일 실시 예에 따르면, 기존 MH 포맷 이외의 다른 포맷의 서비스도 MH 시스템을 이용하여 송수신할 수 있다.
또한, 본 발명의 다른 일 실시 예에 따르면, 모바일 디지털 방송 환경에서 특정 서비스에 대한 수신 제한을 설정하거나, 이를 해제하는 기능을 용이하게 구현할 수가 있다.
도 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는 본 발명의 다른 실시 예에 따른 MH 시스템의 프로토콜 스택을 도시한 것
도 26은 본 발명의 다른 실시 예에 따른 MH 수신기의 개념적인 블록도를 도시한 것
도 27은 본 발명의 다른 실시 예에 따라 다중화된 패킷이 포함된 RS 프레임(RS Frame)의 구조를 도시한 것
도 28은 본 발명의 일 실시 예에 따른 MH 트랜스포트 패킷(MH TP)의 구조를 도시한 것
도 29는 본 발명의 일 실시 예에 따라 싱크 레이어 패킷들을 패킷화하는 과정을 도시한 것
도 30은 본 발명의 일 실시 예에 따라 싱크 레이어 패킷들을 MH 트랜스포트레이어에서 패킷화는 과정을 도시한 것
도 31a와 31b는 본 발명의 일 실시 예에 따라 인크립션된 FDP(File Delivery Protocol)와 FDCP(File Delivery Control Protocol) 패킷을 MH 트랜스포트 레이어에서 패킷화한 구성을 도시한 것
도 32는 상기 도 31a와 31b와 관련된 MH 트랜스포트 패킷의 헤더를 도시한 것
도 33은 본 발명의 일 실시 예에 따라 IP 데이터그램 패킷을 MH 트랜스포트 레이어에서 인크립션하고 패킷화한 것을 도시한 것
도 34는 상기 도 33과 관련된 MH 트랜스포트 패킷의 헤더를 도시한 것
도 35a 내지 35b는 본 발명의 일 실시 예에 따른 인크립션 알고리즘을 도시한 것
도 36a 내지 36b는 본 발명의 일 실시 예에 따른 디크립션 알고리즘을 도시한 것
도 37은 본 발명의 일 실시 예에 따른 초기 카운터 값을 도시한 것
도 38은 본 발명의 일 실시 예에 따라 잔여 데이터 블록의 인크립션 디크립션 과정을 설명하기 위해 도시한 것
도 39는 본 발명의 다른 실시 예에 따른 서비스 맵 테이블의 비트스트림 신택스를 도시한 것
도 40은 본 발명의 일 실시 예에 따른 MH_CA_descriptor()의 비트스트림 신택스를 도시한 것
도 41은 본 발명의 또 다른 실시 예에 따라 수신 제한이 적용된 RS 프레임 구조를 도시한 것
도 42는 상기 도 41에 따라 구성된 서비스 맵 테이블(SMT-MH)의 또 다른 실시 예를 도시한 것
도 43 내지 45는 본 발명에 따라 데이터 추출과정의 일 실시 예를 도시한 것
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 설명한다. 이때, 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시 예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 발명에서 사용되는 용어의 정의
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 함을 밝혀두고자 한다.
본 발명에서 사용되는 용어 중 메인 서비스 데이터는 고정형 수신 시스템에서 수신할 수 있는 데이터로서, 오디오/비디오(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의 버전 넘버를 나타낸다(A number that represents the version number of FIC 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 바이트로 구성된다. 상기 MH 블록 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 세그먼트만큼 떨어져 있다.
또한, 본 발명의 다른 실시 예와 관련하여, 후술할 미디어플로(MediaFLO) 서비스를 위한 데이터의 인터페이스를 위해 MH 데이터는 데이터 영역으로 전송되고, 상기 미디어플로 서비스와 관련된 제어 데이터도 상기 데이터 영역으로 함께 전송될 수 있다. 이에 대한 보다 자세한 설명은 해당 부분에서 후술하고 여기에서는 상세한 설명을 생략한다.
또한, 도 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개의 데이터 그룹을 할당하였을 때의 예를 보인 것으로서, 8, 4, 12, 1, 9, 5, 13, 2, 10, 6, 14, 3, 11, 7, 15의 순으로 16개의 슬롯에 각각 할당됨을 알 수 있다.
다음의 수학식 1은 상기와 같이 데이터 그룹들을 하나의 서브 프레임에 할당할 때의 규칙을 수학식으로 표현한 것이다.
Figure 112015115101335-pat00001
그리고, 상기 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 세그먼트들은 서브 프레임이 아닌 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 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를 파싱하고, 그 결과를 물리 적응 제어 시그널 핸들러(216)로 출력한다.
도 14는 본 발명에 따른 FIC 포맷의 일 실시 예를 도시한 도면이다. 본 실시 예에 따르면, FIC 포맷은 FIC 바디(body) 헤더와 FIC body로 이루어진다.
한편, 본 실시 예에 따르면, 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, accordin 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_decriptor shall be used as an component_level_descriptor of the SMT.The MH_RTP_payload_type_deㄴcriptor 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 MHnext 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).
이하에서는 본 발명의 다른 실시 예로, MH 시스템에서 기존의 MH 포맷 데이터와는 다른 포맷의 서비스 데이터를 송수신하는 것에 대해 설명한다. 이때, 상기 다른 포맷의 서비스는 단일 피지컬 채널(physical channel)을 통하여 서브스크립션 베이스(subscription base)의 이동 방송 서비스를 시행하는 미디어플로(MediaFLO) 서비스를 포함하고, 이하에서는 설명의 편의를 위해 미디어플로를 예로 하여 설명한다. 다만, 이에 한정되는 것은 아님을 미리 밝혀둔다.
관련하여, MH 시스템에서 미디어플로 서비스를 위한 데이터를 송수신하려면, 미디어플로 서비스를 위한 데이터가 MH 시스템에서 송수신을 위한 포맷으로 변경이 이루어져야 하고, 이에 더하여 수신 제한(conditional access)을 위해서도 기존의 MH 시스템상의 레이어들과 미디어플로 서비스를 위한 레이어들 간에 서로 인터페이스(interface)가 이루어져야 한다.
이하 MH 시스템에서 미디어플로 서비스를 위한 데이터를 수신 제한하여 송수신하기 위한 프로토콜 스택(protocol stack)을 설명하면, 다음과 같다.
도 25는 본 발명의 다른 실시 예에 따른 MH 시스템의 프로토콜 스택을 도시한 것이다.
이하에서는 도 25를 참조하여, MH 시스템에서 상기 미디어플로 서비스 데이터를 수신 제한하여 송수신하기 위해 MH 트랜스포트 레이어(MH Transport Layer)와 미디어플로의 미디어 어댑테이션 레이어(Media Adaptation Layer)와의 사이에 인터페이스를 위한 특정 레이어를 정의하고, 그 송수신과 관련하여 시그널링 데이터(Signaling Data)를 정의한다. 이때, 본 명세서에서 상기 특정 레이어는 MH 인크립션/디크립션 레이어(MH Encryption / Decryption Layer)로 명명한다.
도 25에 도시된 MH 시스템에서의 프로토콜 스택의 일 실시 예는, 전체적으로 미디어플로 서비스를 위한 데이터가 상기 미디어플로 서비스와 관련하여 싱크 레이어(Sync Layer), 파일 딜리버리 레이어(File Delivery Layer) 및 IP 어댑테이션 레이어(IP Adaptation Layer)를 통해 인터페이스 되고 인터페이스 된 데이터를 수신 제한과 관련하여 상기 MH 인크립션/디크립션 레이어(MH Encryption / Decryption Layer)에서 다시 인터페이스 한 후 MH 트랜스포트 레이어와 MH 피지컬 레이어(MH Physical Layer)를 통하여 전송되는 구조이다. 여기에서, 상기 프로토콜 스택은 미디어플로 서비스 데이터의 MH 시스템에서 인터페이스와 관련하여 그 시그널링(Signaling) 즉, MH 시그널링 레이어(MH Signaling Layer)도 다룬다.
도 25에 도시된 프로토콜 스택은, 미디어플로 서비스를 위한 데이터를 전송하는 미디어 코덱스 레이어(Media Codecs Layer), 논 리얼 타임 파일즈 레이어(Non Real Time Files Layer), 및 IPv4/IPv6 레이어(IPv4/IPv6 Layer)를 포함하고, 상기 각 레이어들로부터 내려받는 미디어플로 서비스를 위한 데이터가 MH 시스템과 인터페이스 되도록 하기 위한 싱크 레이어(Sync Layer), 파일 딜리버리 레이어(File Delivery Layer), 및 IP 어댑테이션 레이어(IP Adaptation Layer)를 포함한다.
상기에서, 미디어 코덱스 레이어는 리얼 타임 애플리케이션들에 대한 서비스를 위한 레이어이고, 논-리얼 타임즈 파일즈 레이어는 파일-베이스드 애플리케이션들에 대한 서비스를 위한 레이어이고, IPv4/IPv6 레이어는 IP 데이터캐스트 애플리케이션들에 대한 서비스를 위한 레이어들이다. 이때, 상기 미디어플로 서비스와 관련된 각 레이어에 대한 보다 상세한 설명은 예를 들어, TIA-1130(Media Adaptation Layer)를 참조하고 여기에서는 설명의 편의를 위해 생략한다. 다만, 상기에서 미디어플로 서비스와 관련하여, 논 리얼 타임 파일즈 레이어(Non Real Time Files Layer) 및 파일 딜리버리 레이어(File Delivery Layer)와, IPv4/IPv6 레이어(IPv4/IPv6 Layer) 및 IP 어댑테이션 레이어(IP Adaptation Layer)의 경우에는 기존의 MH 포맷 형식으로 정의하고 전송할 수도 있다.
상기 프로토콜 스택에서 FIC 레이어와 MH-시그널링 레이어는 MH 시스템에서 시그널링을 위한 레이어들이다. 또한, MH 트랜스포트 레이어와 MH 피지컬 레이어는 인터페이스 된 상기 미디어플로 서비스를 위한 데이터를 패킷화하고 전송하는 레이어들이다.
이상 상기 MH 시스템의 프로토콜 스택과 관련 상기 인터페이스와 시그널링에 대한 보다 상세한 설명은 해당 부분에서 후술한다.
도 26은 본 발명의 다른 실시 예에 따른 MH 수신기의 개념적인 블록도를 도시한 것이다.
도 26을 참조할 때, 본 발명의 다른 실시 예에 따른 MH 수신기는, 인크립트/디크립트 핸들러(Encrypt-Decrypt Handler)(2618), RS-프레임 핸들러(RS-Frame Handler)(2620), 피지컬 파라미터 핸들러(Physical Parameter Handler)(2621), FIC 핸들러(FIC Handler)(2622), 논-IP MH-시그널링 디코더(Non-IP MH-Signaling Decoder)(2625), IP-베이스드 MH-시그널링 디코더(IP-based MH-Signaling Decoder)(2626), 싱크레이어 핸들러(Sync Layer Handler)(2632), 파일 딜리버리 레이어 핸들러(File Delivery Layer Handler)(2633), IP 어댑테이션 레이어 핸들러(IP Adaptation Layer Handler)(2634), MH-시그널링 데이터베이스(MH-Signaling DB)(2627), 채널 매니저(Channel Manager)(2629) 및 서비스 매니저(Service Manager)(2630)를 포함한다.
이하에서는 MH 시스템에서 도 25에 도시된 프로토콜 스택에 따라 전송되는 미디어플로 서비스를 위한 데이터를 수신하여 처리하는 과정 및 구성을 위주로 설명하고, 도 1의 본 발명의 일 실시 예에 따른 MH 수신기의 구성과 공통되는 부분에 대한 설명은 전술한 내용을 원용한다. 특히, 제한 수신과 관련하여 인크립트/디크립트 핸들러(Encrypt/Decrypt Handler)의 기능과 관련된 인크립션/디크립션(Encryption/Decryption) 수행을 위해 필요한 제어 데이터(Control Data)에 대해서도 설명한다. 이때, 도 26에서 점선은 제어 데이터의 흐름을 나타내고, 실선은 실제 데이터의 흐름을 나타낸다. 또한, 이하에서 설명되는 각 레이어는 상술한 도 25의 프로토콜 스택 상의 레이어를 말한다.
RS-프레임 핸들러(2620)는 MH 피지컬 레이어(MH Physical Layer)의 출력(Output)인 RS-프레임(RS-Frame)을 처리한다. 여기에서, 상기 처리되는 RS-프레임 내 미디어플로 서비스와 관련된 시그널링 정보는 논-IP MH 시그널링 버퍼(2623)로 전송하고, 미디어플로 서비스와 관련된 플로 패킷은 플로 패킷 핸들러(2619)로 전송한다.
플로 패킷 핸들러(2619)는 상기 RS-프레임 핸들러(2620)로부터 수신 제한된데이터가 포함된 플로 패킷을 수신하고, 수신된 플로 패킷의 헤더 내 타입에 관한 정보를 추출하여 추출된 타입 정보에 따라 후술하는 싱크 레이어 핸들러(2632), 파일 딜리버리 레이어 핸들러(2633), 및 IP 어댑테이션 레이어 핸들러(2634) 중 해당 플로 패킷과 관련된 핸들러를 선택한다. 그리고 플로 패킷 핸들러(2619)는 상기 선택된 핸들러에서 처리하도록 수신된 플로 패킷을 전송한다.
인크립트/디크립트 핸들러 (2618)는 상기 플로 패킷 핸들러(2619)로부터 인크립션된 스트림을 수신하고, 논-IP MH-시그널링 디코더 (2625)로부터 디크립션을 위한 제어 데이터를 수신하여 상기 수신된 인크립션된 스트림을 디크립션하여 각 레이어 핸들러 즉, 싱크 레이어 핸들러(2632), 파일 딜리버리 레이어 핸들러(2633), 및 IP 어댑테이션 레이어 핸들러(2634)로 전송한다.
피지컬 파라미터 핸들러(2621)는 매니지먼트 레이어(Management Layer) 이상에서 필요한 피지컬 레이어 파라미터(Physical layer parameter)의 처리를 담당한다.
FIC 핸들러 (2622)는 FIC 데이터를 처리한다. 여기에서, 상기 FIC 데이터를 처리하기 위해서는 피지컬 레이어(Physical Layer)의 파라미터(Parameter)들이 필요하고, 상기 피지컬 레이어의 파라미터들은 상기 피지컬 파라미터 핸들러(Physical parameter handler)(2621)에서 시그널링 디코더(2616)에서 디코딩되고 전송되는 TPC로부터 얻는다.
논-IP MH-시그널링 디코더 (2625)는 FIC 핸들러(2622)를 거쳐 전송되는 MH-시그널링(MH-Signaling) 정보와 RS-프레임으로 전송되는 논-IP MH-시그널링 (non-IP MH-Signaling) 정보를 수신하여 처리한다.
IP-베이스드 MH-시그널링 디코더 (2626)는 FIC핸들러(2622)를 거쳐전송되는 MH-시그널링(MH-Signaling) 정보와 RS-프레임으로 전송되는 IP-베이스드 MH-시그널링(IP-based MH-Signaling) 정보를 처리한다.
싱크 레이어 핸들러 (2632)는 RS-프레임을 구성하는 플로 패킷들 중 싱크 레이어(Sync Layer)를 거쳐 상기 MH 인크립션/디크립션 레이어(MH Encryption/Decryption Layer)에서 수신 제한된 데이터를 상기 인크립트/디크립트 핸들러 (2618)에서 수신 제한을 해제하여 전송하는 플로 패킷을 수신하여 처리한다.
파일 딜리버리 레이어 핸들러 (2633)는 RS-프레임을 구성하는 플로 패킷들 중 파일 딜리버리 레이어(File Delivery Layer)를 거쳐 상기 MH 인크립션/디크립션 레이어(MH Encryption/Decryption Layer)에서 수신 제한된 데이터를 상기 인크립트/디크립트 핸들러 (2618)에서 수신 제한을 해제하여 전송하는 플로 패킷을 수신하여 처리한다.
IP 어댑테이션 레이어 핸들러 (2634)는 RS-프레임을 구성하는 플로 패킷들 중 IP 어댑테이션 레이어(IP Adaptation Layer)를 거쳐 상기 MH 인크립션/디크립션 레이어(MH Encryption/Decryption Layer)에서 수신 제한된 데이터를 상기 인크립트/디크립트 핸들러 (2618)에서 수신 제한을 해제하여 전송하는 플로 패킷을 수신하여 처리한다.
MH-시그널링 데이터베이스 (2627)는 논-IP(Non-IP) 또는 IP 형태로 수신된 시그널링(Signaling) 데이터를 저장하고 필요한 경우 사용하는 데이터베이스(Database) 역할을 한다.
채널 매니저 (2629)는 MH 유저 인터페이스(MH user interface)로 채널 설정 등의 사용자 입력(User Input)을 관리한다.
서비스 매니저 (2630)는 MH 유저 인터페이스로 EPG 디스플레이(EPG Display) 및 MPG 등을 통한 서비스 설정 등의 사용자 입력을 관리한다.
상기 도 26의MH 수신기는 수신 제한을 수행함에 있어서, 디바이스(Device) 및 사용자의 인증, 사용자의 수신 권한 레벨, 인크립션/디크립션(Encryption/Decryption)을 수행하기 위해 사용되는 제어 단어(키)(Control Word (Key)) 등과 같은 부가적인 여러 정보가 필요하다. 이와 같이 수신 제한을 수행하는데 필요한 부가적인 정보들을 제어 데이터(Control Data)라고 한다. 상기 제어 데이터들을 얻기 위해서는 예를 들어, 자격 관리 메시지(EMM: Entitlement Management Message), 자격 제어 메시지(ECM: Entitlement Control Message) 및 수신 제한에 필요한 기타 데이터들이 요구될 수 있다. 여기에서, 상기 제어 데이터들은 예를 들어, 후술하는 서비스 맵 테이블이나 ESG(Electronic Service Guide)에 포함되어 전송될 수 있으나 이에 한정되는 것은 아니며, 기타 다른 방법에 의해서도 전송될 수도 있다. 따라서, 본 발명에 따른 MH 수신기는 전송되는 자격 관리 메시지(EMM), 자격 제어 메시지(ECM) 및 기타 데이터들을 수신하여, 그로부터 상기 제어 데이터 구성에 요구되는 정보들을 얻을 수 있다.
도 26에서, MH 수신기는 수신되는 제어 데이터를 예를 들어, MH-시그널링 데이터베이스 (2627)에 저장할 수 있다. 또는, 별도의 저장 공간에 저장하거나 또는 제어 데이터 중 특성에 따라서는 실시간으로 수신하여 데이터를 추출하고 사용할 수도 있다. 예를 들어, MH 수신기는 사용자의 요청에 따라 수신 제한이 적용된 서비스(Service)를 이용하는 경우, 해당 서비스와 관련된 제어 데이터들을 상술한 MH-시그널링 데이터베이스 (2627), 별도의 안전한 저장 공간에 저장한 후에 추출하거나 또는 실시간으로 추출하여 인크립트/디크립트 핸들러(2618)로 전송한다. 상기 인크립트/디크립트 핸들러 (2618)는 상기 추출된 제어 데이터(Control Data)들을 이용하여 해당 서비스의 수신 제한을 해제함으로써, 미디어플로 서비스를 위한 각 레이어 핸들러에서 처리할 수 있게 된다.
다음으로, 본 발명의 다른 실시 예에 따른 RS 프레임의 구조와 패킷을 다중화에 대해 설명한다. 도 27은 본 발명의 다른 실시 예에 따라 다중화된 패킷이 포함된 RS 프레임(RS Frame)의 구조를 도시한 것이다.
도 27은 예를 들어, MH 피지컬 레이어 서브시스템(MH Physical Layer Subsystem)의 출력으로 매 MH 프레임(MH Frame)당 MH 앙상블(MH Ensemble)에 해당하는 데이터를 전송하는 RS 프레임의 포맷(Format)으로 볼 수 있다.
하나의 RS 프레임은 여러 개의 MH 서비스(MH Service)를 전송할 수 있고,하나의 MH 서비스를 이루는 데이터들은 RS 프레임 내에서 연속적으로 하나의 영역을 이루어 전송될 수 있다. 또한, 하나의 MH 서비스는 여러 개의 플로 패킷들로 구성될 수 있다.
여기에서, RS 프레임은 187 x N 바이트들(Bytes)의 이차원 바이트 어레이(two dimensional byte array)의 형태로 구성된다. 따라서, 이를 MH 트랜스포트 레이어(MH Transport Layer)에서 보면, RS 프레임의 각 행(row)는 MH 트랜스포트 패킷(MH TP: MH Transport Packet)을 구성하게 된다.
도 28은 본 발명의 일 실시 예에 따른 MH 트랜스포트 패킷(MH TP)의 구조를 도시한 것이다.
도 28을 참조하면, 하나의 MH 트랜스포트 패킷(MH TP)은 MH 트랜스포트 패킷 헤더(MH TP Header)(2 바이트)와 MH 트랜스포트 패킷 페이로드(MH TP MH TP Payload)(N-2 바이트)로 구성된다.
MH 트랜스포트 패킷 헤더(MH TP Header)는 예를 들어, Type Indicator 필드, Error Indicator 필드, Stuff Indicator 필드 및 Pointer 필드를 포함한다. 이하 각 필드에 대해 설명하면, 다음과 같다.
우선, Type Indicator 필드(3비트)는, 해당 MH 트랜스포트 패킷의 페이로드 부분에 실려오는 데이터의 타입을 지시한다. 이때, 상기 필드 값과 그 의미는 예를 들어, 하기의 [표 4]와 같이 정의할 수 있다.
Type Indicator Meaning
000 MH Signaling Data
001 IP Datagram
010 Sync Layer Data
011 File Delivery Layer Data
100 IP Adaptation Layer Data
101-111 Reserved
표 4를 참조할 때, 상기 Type Indicator 필드의 값이 '000'이면, 해당 MH 트랜스포트 패킷의 페이로드에 실려오는 데이터 타입은 MH 시그널링 데이터임을 의미하고, 상기 Type Indicator 필드의 값이 '001'이면, 해당 MH 트랜스포트 패킷의 페이로드에 실려오는 데이터 타입은 IP 데이터그램임을 의미하고, 상기 Type Indicator 필드의 값이 '010'이면, 해당 MH 트랜스포트 패킷의 페이로드에 실려오는 데이터 타입은 싱크 레이어 데이터임을 의미하고, 상기 Type Indicator 필드의 값이 '011'이면, 해당 MH 트랜스포트 패킷의 페이로드에 실려오는 데이터 타입은 파일 딜리버리 레이어 데이터임을 의미하고, 상기 Type Indicator 필드의 값이 '100'이면, 해당 MH 트랜스포트 패킷의 페이로드에 실려오는 데이터 타입은 IP 어댑테이션 레이어 데이터임을 의미한다. 여기에서, 상기Type Indicator 필드의 값이 '101-111'의 경우에는 향후 사용을 위해 보류한다.
또한, 상기에서 Type Indicator 필드의 값으로부터 MH 시스템에서 송수신되는 서비스의 형식을 구분할 수도 있다. 예를 들어, 상기 Type Indicator 필드의 값이 '010' 내지 '100'의 경우에는 수신기는 상기 필드 값으로부터 해당 MH 트랜스포트 패킷을 통해 미디어플로 서비스를 위한 데이터가 전송되는 것을 알 수 있게 된다. 관련하여, 상기 필드 값이 '000' 즉, MH 시그널링 데이터이거나 또는 '001' 즉, IP 데이터그램의 경우에는 기존의 MH 포맷 형식으로 MH 트랜스포트 패킷에 포함되고, 이에 대한 자세한 설명은 전술한 내용을 원용한다.
Error Indicator 필드(1비트)는 해당 MH 트랜스포트 패킷 내에 에러 존재 유무를 지시하는 지시자이다. 이때, 상기 Error Indicator 필드 값이 예를 들어, '0'인 경우에는 에러가 발견되지 않음을 나타내고, '1'은 에러가 발견되었음을 나타내는 것으로 정의하여 에러 존재 유무를 식별하도록 지시할 수 있다.
Stuff Indicator 필드(1비트)는 해당 MH 트랜스포트 패킷 내 스터핑 바이트들의 존재 여부를 지시하는 지시자이다. 이때, Stuff Indicator 필드 값이 예를 들어, '0'인 경우에는 스터핑 바이트가 없음을 나타내고, '1'인 경우에는 상기 패킷 페이로드의 시작 부분이 스터핑 필드임을 나타내는 것으로 정의하여 상기 스터핑 필드의 존재 여부를 식별하도록 지시할 수 있다. 여기에서, 스터핑 바이트는, 필요한 경우 하나의 MH 트랜스포트 패킷 내에 존재하는 스터핑의 K 바이트를 나타내는 것으로, 상기 K 바이트를 포함하는 스터핑 필드는 패킷 페이로드의 시작 부분일 수 있다. 만약 상기 스터핑 필드의 길이가 1 바이트이면, 상기 스터핑 필드의 첫 번째 바이트의 값은 '0xFF'로 설정될 것이다. 그리고 상기 스터핑 필드의 길이가 2 바이트이면, 상기 스터핑 필드의 첫 번째 바이트의 값은 '0xFE'로 설정되고, 두 번째 바이트의 값이 '0xFF'가 될 수 있다. 또한, 상기 스터핑 필드의 길이가 2 바이트 이상이라면, 해당 필드의 첫 두 바이트의 값은 해당 스터핑 바이트 필드 내에서 바이트들의 수를 지시할 수 있다.
Pointer 필드(11비트)는 해당 MH 트랜스포트 패킷의 페이로드 내에 새로운 패킷의 시작 지점을 나타낸다. 여기에서, 상기 새로운 패킷의 시작 지점은 예를 들어, 플로 패킷 헤더의 시작 지점을 나타낼 수 있다.
다만, 상술한 MH 트랜스포트 패킷 헤더 내 각 필드의 값들은 설명의 편의를 위해 예시한 것으로 그에 한정되는 것은 아니다.
다음으로, 상기 하나의 MH 트랜스포트 패킷(MH TP)은 상술한 MH 트랜스포트 패킷 헤더 부분 이외에 스터핑 부분(K 바이트)과 페이로드 부분(N-2-K 바이트)이 포함된다. 이때, 상기 스터핑 부분과 페이로드 부분을 합하여 페이로드라고 할 수도 있다.
예를 들어, 도 25의 프로토콜 스택을 참조할 때, 미디어플로 서비스와 관련된 싱크 레이어(Sync Layer), 파일 딜리버리 레이어(File Delivery Layer), 및 IP 어댑테이션 레이어(IP Adaptation Layer)의 각 플로 패킷 중에서 수신 제한이 적용된 플로 패킷이 있을 경우, 수신 제한이 적용된 플로 패킷들을 제어하기 위한 추가적인 제어 데이터(Control Data)가 함께 전송된다. 상기 제어 데이터는 인크립션이 적용된 플로의 디크립션을 수행하는데 필요한 제어 단어(키)를 포함하는 자격 제어 메시지(ECM) 및 기타 수신 제한에 필요한 제어 데이터를 전송한다.
도 27에 도시된 미디어플로 서비스를 위한 다수 개의 패킷이 다중화된 RS 프레임 구조를 설명하면, 상기 RS 프레임에는 A 내지 P로 구분된 패킷이 다중화되어 있다.
상기 RS 프레임 구조를 보면, 좌측의 RS 프레임 헤더라고 명명된 열(column)은 해당 행(row)의 RS 프레임 페이로드 부분에 포함되는 패킷의 타입을 설명한다. 예를 들어, 도 27에 도시된 RS 프레임의 경우를 설명하면, 첫 번째 행의 RS 프레임 헤더 부분은 A로 표시되고, 이는 첫 번째 행의 RS 프레임 페이로드 부분에 시그널링 패킷 헤더가 포함되었음을 의미한다. 상기와 같은 방식으로 RS 프레임의 특정 행의 헤더에 B 내지 D로 표시되면, 해당 RS 프레임 헤더 뒤의 RS 프레임 페이로드에는 상기 B 내지 D가 의미하는 패킷이 포함되는 것으로 볼 수 있다.
또한, 도 27에는 4개의 서비스(Data for Service 1-4)를 다중화한 예를 도시한 것이다. 즉, 서비스 1은 싱크 레이어 패킷, 서비스 2는 파일 딜리버리 레이어 패킷, 서비스 3은 IP 어댑테이션 레이어 패킷, 그리고 서비스 4는 상기 각 레이어 패킷이 다중화 된 경우를 나타낸다. 또한, 각 서비스 패킷은 서로 다른 플로 패킷을 통해 전송되는 것을 구분할 수 있다.
다음으로, 미디어플로 서비스와 관련하여 싱크 레이어와 관련된 데이터를 인크립션 하고 패킷화하여 전송하는 것에 대해 설명한다. 도 29는 본 발명의 일 실시 예에 따라 싱크 레이어 패킷들을 MH 트랜스포트 레이어에서 패킷화는 과정을 도시한 것이고, 도 30은 본 발명의 일 실시 예에 따라 플로 패킷 포맷을 도시한 것이다.
싱크 레이어(Sync Layer)는 전술한 바와 같이, MH 시스템에서 리얼 타임 애플리케이션들을 위한 데이터 전송을 위하여 미디어 코덱 레이어(Media Codec Layer)와 MH 트랜스포트 레이어(MH Transport Layer) 사이의 인터페이스(Interface) 역할을 한다. 상기에서, 리얼 타임 애플리케이션은 예를 들어, 비디오(Video), 오디오(Audio), 타임드 텍스트(Timed Text) 등을 포함한다.
도 29는 싱크 레이어에서 미디어 코덱 레이어(Media Codec Layer)로부터 내려받은 미디어 프레임(Media Frame)을 인터페이스를 위하여 패킷화하여 싱크 레이어 패킷(Sync Layer Packet)을 구성하고, 상기 구성된 싱크 레이어 패킷을 수신 제한 기능을 위해 MH 인크립션/디크립션 레이어(MH Encryption/Decryption Layer)를 거쳐MH 트랜스포트 레이어(MH Transport Layer)에서 MH 트랜스포트 패킷(MH TP)으로 패킷화(Packetization)하는 과정을 도시한 것이다.
싱크 레이어는 미디어 코덱 레이어로부터 가변적인 길이의 미디어 프레임들을 내려받는다. 그리고 상기 내려받은 각 미디어 프레임에 싱크 헤더를 붙여 싱크 레이어 패킷을 구성한다. 이때, 필요에 따라서는 싱크 레이어 어댑테이션 프레임(SLAF: Sync Layer Adaptation Frame)에 헤더를 붙어 구성한 패킷이 상기 구성되는 싱크 레이어 패킷 사이에 삽입될 수 있다.
여기에서, 상기 싱크 헤더에는, 미디어 타입을 지시하는 정보(MT: Media Type), 일반적인 미디어 헤더에 관한 정보(MCH: Media Common Header), 미디어 특정 헤더 정보(MSH: Media Specific Header), 및 싱크 레이어 어댑테이션 타입 정보(SLAT: Sync Layer Adaptation Type)가 포함될 수 있다. 예를 들어, 도 29에서는 미디어 프레임을 패킷화하는 과정에서 붙는 헤더의 경우에는, 미디어 타입을 지시하는 정보(MT), 일반적인 미디어 헤더에 관한 정보(MCH) 및 미디어 특정 헤더 정보(MSH)가 포함된다. 그리고 싱크 레이어 어댑테이션 프레임(SLAF)의 패킷화를 위한 헤더의 경우에는, 미디어 타입을 지시하는 정보(MT)와 싱크 레이어 어댑테이션 타입 정보(SLAT)가 포함된다.
MH 인크립션/디크립션 레이어(MH Encryption / Decryption Layer)는 상기 싱크 레이어에서 내려받은 싱크 레이어 패킷에 대해 인크립션을 수행한다. 이때, 상기 MH 인크립션/디크립션 레이어(MH Encryption / Decryption Layer)는 인크립션 과정에서 인크립션되는 해당 각 싱크레이어 패킷의 길이에 관한 렝쓰(Length) 값을 삽입한다. 여기에서, 상기 렝쓰(Length) 값은 MH 인크립션/디크립션 레이어(MH Encryption/Decryption Layer)에서 인크립션된 싱크 레이어 패킷을 수신 측에서 인크립션된 싱크 레이어 패킷을 길이를 알지 못하면 디크립션 할 수 없으므로 디크립션을 위해 필요한 값이다. 그리고 상기 인크립션 수행 결과 인크립션이 적용된 영역은 도 29에서 MH 인크립션/디크립션 레이어(MH Encryption/Decryption Layer)에서 외곽 점선으로 표시된 싱크 레이어 패킷(Sync Layer Data Packet) 영역들이라고 볼 수 있다.
MH 트랜스포트 레이어(MH Transport Layer)는 상기MH 인크립션/디크립션 레이어(MH Encryption / Decryption Layer)로부터 인크립션된 싱크 레이어 패킷을 내려받아 MH 시스템을 통해 전송할 수 있는 포맷인 MH 트랜스포트 패킷(MH TP) 형태로 패킷화한다.
상기 패킷화되는 MH 트랜스포트 패킷(MH TP)은 상기 인크립션된 싱크 레이어 패킷과 그에 대한 렝쓰 값이 포함되는 플로 패킷 페이로드(Flow Packet Payload)에 플로 패킷 헤더(Flow Packet Header)를 붙여 플로 패킷을 구성하고, 상기 구성된 플로 패킷에 MH 트랜스포트 패킷 헤더를 붙여 구성할 수 있다.
여기에서, 상기 MH 트랜스포트 패킷 헤더는 2 바이트, 나머지 MH 트랜스포트 패킷 페이오드에 해당하는 플로 패킷은 (N-2) 바이트일 수 있다. 그리고 도 30을 참조하면, 플로 패킷은 5 바이트의 플로 패킷 헤더와 N-2-5 바이트의 플로 패킷 페이로드로 구분된다.
도 29를 참조하면, 하나의 MH 트랜스포트 패킷(N 바이트)은 하나의 플로 패킷(N-2 바이트)을 포함하고, 하나의 플로 패킷(N-2 바이트)은 플로 패킷 헤더(5 바이트)를 제외하고 상기 인크립션된 싱크 레이어 패킷들과 렝쓰 값을 포함하여 분할하여 플로 패킷 페이로드(N-2-5 바이트 단위)를 포함할 수 있다.
여기에서, 도 30을 참조하면, 플로 패킷 헤더(5 바이트)는 해당 플로 패킷이속하는 플로 패킷을 식별할 수 있는 Flow_ID(entifier) 필드(20비트), 해당 플로 패킷에 CRC(Cyclic Redundancy Check)가 적용되었는지 여부를 지시하는 CHECKSUM_ACTIVE 필드(1비트), 해당 플로 패킷 페이로드를 통하여 전송되는 싱크 레이어 패킷의 개수를 지시하는 NUM_SYNC_PKTS 필드(1비트), 해당 플로 패킷의 타입을 지시하는 FD_FLOW_TYPE 필드(1비트), 해당 플로 패킷이 하나 이상의 RS 프레임에 걸쳐서 전송되는지 여부를 나타내는 FASB_ALLOWED 필드(1비트), 및 해당 플로 패킷 페이로드에 인크립션이 적용되었는지 여부를 지시하는 STREAM_ENCRYPTION_ACTIVE 필드(16비트)를 포함한다. 여기에서, 상기 FASB_ALLOWED 필드와 관련하여, 해당 플로 패킷이 리얼 타임 애플리케이션 플로 패킷(Real Time Application Flow Packet)인 경우에는 상기 필드 값이 'FALSE'로 설정될 수 있다.
상기에서, 본 발명과 관련하여, 플로 패킷 페이로드 내에 포함되는 싱크 레이어 패킷에 수신 제한을 위한 인크립션이 적용된 경우에는 도 30에 도시된 플로 패킷 헤더(Flow Packet Header)를 구성하는 여러 필드 중 STREAM_ENCRYPTION_ACTIVE 필드를 '1'로 설정할 수 있다. 다만, 여기에서 '1'은 인크립션 적용 여부를 나타내기 위해 출원인이 임의로 정한 것으로 상기 적용 여부를 나타내는 다른 표현을 사용할 수 있음은 자명하다.
그러나 플로 패킷 페이로드 내에 포함되는 싱크 레이어 패킷에 수신 제한을 위한 인크립션이 적용되지 않았다면, 상기 싱크 레이어 패킷은 MH 인크립션/디크립션 레이어(MH Encryption/Decryption Layer)를 바이패스(Bypass)하고, 곧 바로 MH 트랜스포트 레이어(MH Transport Layer)에서 MH 트랜스포트 패킷(MH TP)으로 패킷화하여 피지컬 레이어(Physical Layer)로 전송한다. 이 경우에는 상기 싱크 레이어가 미디어플로 서비스를 위한 인터페이스 역할을 전담하는 것이다. 또한, 상기 플로 패킷 헤더(Flow Packet Header) 내 STREAM_ENCRYPTION_ACTIVE 필드(Field)의 값은 상기 수신 제한을 위한 인크립션이 적용된 경우와는 다른 값 예를 들어, '0'으로 설정함으로써, 싱크 레이어 패킷의 인크립션 적용 여부를 구분할 수 있게 된다. 이는 수신측에서 수신되는 MH 트랜스포트 패킷 내의 데이터의 디크립션 여부를 결정할 수 있는 중요한 정보가 된다. 다만, 상기에서 인크립션 여부와 관계없이 다중화된 MH 트랜스포트 패킷의 포맷은 동일할 수 있다.
따라서, 도 26에 도시된 수신기의 RS 프레임 핸들러(2620)는, 상기와 같이 구성된 MH 트랜스포트 패킷 헤더를 검색하여, 상기 헤더 내 Type Indicator가 '001'인 MH 트랜스포트 패킷을 파싱하여 해당 패킷들을 플로 패킷 핸들러(2619)로 전달하고, 플로 패킷 핸들러(2619)는 해당 싱크 레이어 패킷들을 추출하여 싱크 레이어 핸들러(2632)에서 처리되도록 한다. 여기에서, 만약 RS 프레임 핸들러(2620)를 거쳐 플로 패킷 핸들러(2619)로 전달되는 패킷들 중 인크립션이 적용된 패킷의 경우에는 인크립트/디크립트 핸들러(2618)에서 디크립션을 하여 상기 싱크 레이어 핸들러(2632)로 전달될 것이다.
상술한 싱크 레이어 패킷의 패킷화에 이어, 다음으로 파일 딜리버리 레이어패킷(File Delivery Layer Packets)의 패킷화 과정에 대해 설명한다. 도 31a와 31b는 본 발명의 일 실시 예에 따라 인크립션된 FDP(File Delivery Protocol)와 FDCP(File Delivery Control Protocol) 패킷을 MH 트랜스포트 레이어에서 패킷화한 구성을 도시한 것이다. 도 32는 상기 도 31a와 31b와 관련된 MH 트랜스포트 패킷의 헤더를 도시한 것이다.
상기 파일 딜리버리 레이어(File Delivery Layer)는 논-리얼 타임 애플리케이션(Non-Real Time Application)을 위한 데이터 전송을 위하여 논-리얼 파일즈 레이어(Non-Real Time Files Layer)와 MH 트랜스포트 레이어(MH Transport Layer) 사이에서 인터페이스(Interface) 역할을 한다.
여기에서, 파일 전달 레이어(File Delivery Layer)는 MH 트랜스포트 레이어(MH Transport Layer)로 FDP 패킷과 파일딜리버리 컨트롤(File Delivery Control)를 위한 FDCP 패킷을 각각 다른 플로 패킷으로 전달할 수 있다. 이때, 상기 각 FDP와 FDCP 패킷은 MH 인크립션/디크립션 레이어(MH Encryption/Decryption Layer)를 거쳐 MH 트랜스포트 패킷(MH TP)으로 패킷화되는데, 각 구성이 도 31a(FDP 패킷)와 31b(FDCP 패킷)와 같다. 여기에서, 도 31a와 31b에 도시된 구성에서 외곽 점선으로 표시된 부분이 인크립션(Encryption)이 적용된 영역을 나타낸다.
여기에서, 상기 FDP 및 FDCP 패킷을 MH 인크립션/디크립션 레이어(MH Encryption/Decryption Layer)에서 인크립션을 적용한 후 MH 트랜스포트 레이어(MH Transport Layer)에서 패킷화하는 과정 내지 방법은 도 29 내지 30에서 싱크 레이어 패킷(Sync Layer Packet)과 관련하여 전술한 내용과 유사하므로, 공통되는 부분에 대한 설명은 전술한 내용을 원용하고 여기에서는 상세한 설명은 생략한다. 따라서, 도 32를 참조하면, 전술한 싱크 레이어(Sync Layer)에서와 유사하게 플로 패킷 헤더(Flow Packet Header)의 STREAM_ENCRYPTION_ACTIVE 필드(Field)는 인크립션(Encryption)이 적용되었으면 '1'로 설정되고, 바이패스(Bypass) 된 경우에는 '0'으로 설정될 것이다. 또한, 가변적인 길이를 가지는 플로 패킷 페이로드는 FDP 패킷과 상기 FDP 패킷에 관한 렝쓰 정보, 또는 FDCP 패킷과 상기 FDCP 패킷에 관한 렝쓰 정보를 포함한다.
마지막으로, 파일 딜리버리 레이어 패킷의 패킷화에 이어 IP 어댑테이션 레이어 패킷(IP Adaptation Layer Packet)의 패킷화 과정에 대해 설명한다. 도 33은 본 발명의 일 실시 예에 따라 IP 데이터그램 패킷을 MH 트랜스포트 레이어에서 인크립션하고 패킷화한 것을 도시한 것이고, 도 34는 상기 도 33과 관련된 MH 트랜스포트 패킷의 헤더를 도시한 것이다.
상기 IP 어댑테이션 레이어(IP Adaptation Layer)는 IP 데이터캐스트 애플리케이션(IP Datacast Application)을 위한 데이터 전송을 위하여, IPv4/IPv6 레이어(IPv4/IPv6 Layer)와 MH 트랜스포트 레이어(MH Transport Layer) 사이에서 인터페이스(Interface) 역할을 한다.
IP 어댑테이션 레이어는 MH 트랜스포트 레이어로 IP 데이터그램(IP Datagram)을 각각 다른 플로 패킷으로 전달할 수 있다. 여기에서, 상기 IP 데이터그램은 MH 인크립션/디크립션 레이어(MH Encryption / Decryption Layer)를 거쳐 MH 트랜스포트 패킷(MH TP)으로 패킷화(Packetization)된다. 도 33은 상기 패킷화된 IP 데이터그램의 구성을 나타낸 것이다. 또한, 도 33에서 외곽 점선으로 표시된 부분은 인크립션(Encryption)이 적용된 영역을 나타낸다.
상기에서 IP 데이터그램을 MH 인크립션/디크립션 레이어(MH Encryption / Decryption Layer)에서 인크립션을 적용한 후 MH 트랜스포트 레이어에서 패킷화하는 방법 역시 전술한 싱크 레이어 패킷(Sync Layer Packet)에서의 동작이나 과정과 유사하므로 공통되는 부분을 원용하고 상세한 설명은 생략한다. 도 34를 참조하면, IP 데이터그램에 인크립션이 적용된 경우에는 플로 패킷 헤더(Flow Packet Header)의 STREAM_ENCRYPTION_ACTIVE 필드(Field)는 '1'로 설정하고, MH 인크립션/디크립션 레이어를 바이패스(Bypass)한 경우에는 '0'으로 설정할 수 있다. 또한, 플로 페이로드는 IP 데이터그램과 상기 IP 데이터그램에 관한 렝쓰 정보를 포함한다.
이하에서는 상술한 인크립션/디크립션의 알고리즘(Encryption and Decryption Algorithm)에 대해 보다 구체적으로 설명하면, 다음과 같다. 도 35a 내지 35b는 본 발명의 일 실시 예에 따른 인크립션 알고리즘, 도 36a 내지 36b는 본 발명의 일 실시 예에 따른 디크립션 알고리즘을 도시한 것이다.
본 발명에 따른 수신 제한과 관련하여, 서비스 채널(Service Channel)에 적용되는 인크립션/디크립션은 다양한 방식의 알고리즘에 따라 이루어질 수 있다. 다만, 이하 본 명세서에서는 설명의 편의를 위해 AES(Advanced Encryption Standard) 방식을 이용하는 경우를 예로 하여 설명하되, 상기 AES와 관련하여 보다 구체적인 내요은 FIPS-197를 참조하고 여기서는 생략한다.
관련하여, AES 방식에서는 키 사이즈(Key Size)로 128, 192, 및 256 비트(256 bit) 중 어느 하나를 선택하여 사용할 수 있다. 다만, 이하에서는 본 발명에 따른 인크립션/디크립션 알고리즘을 설명함에 있어서 그 구현의 용이성을 위해 128 비트(128 bit)의 키 사이즈를 사용하는 경우를 예로 하고, AES의 동작 모드(Operation Mode) 중 카운터 모드(CTR(counter) Mode)를 사용하는 것을 예로 하여 설명한다.
상기 카운터 모드(CTR mode)는 도 35a 내지 35b과 도 36a 내지 36b에 각각도시된 바와 같이 인크립션과 디크립션을 수행한다.
도 35a와 35b를 참조하여 본 발명의 일 실시 예에 따른 인크립션을 설명하면, 도 35a에서 가장 윗부분에 도시된 스트림은 예를 들어, 아직 인크립션이 적용되지 않은 싱크 레이어 패킷들이다. 여기에서, 스트림을 구성하는 렝쓰와 싱크 레이어 패킷들 중 인크립션은 상기 렝쓰 부분을 제외하고 순수한 싱크 레이어 패킷들에 대해서만 이루어진다.
각 싱크 레이어 패킷은 각 16 바이트인 P1 내지 Pn으로 구분할 수 있고, Pn은 잔여블록을 의미한다. 상기 P1 내지 Pn은 대응되는 각 AES 인크립션 모듈(n개)을 이용하여 인크립션된다. 즉, AES 인크립션 모듈은 카운터 값과 키 값을 각각 입력받아 상기 값들을 이용하여 인크립션과 관련된 값을 출력하고, 상기 출력되는 값은 각 패킷(P1 내지 Pn)들과 익스클루시브 OR(XOR: exclusive OR)함으로써 최종적으로 인크립션(C1 내지 Cn)이 이루어진다.
이하에서는 도 36a와 36b를 참조하여 본 발명의 일 실시 예에 따른 인크립션에 대응하여 디크립션을 설명한다. 도 36a의 가장 윗 부분은 디크립션된 싱크 레이어 패킷들을 포함하는 MH 트랜스포트 패킷들(MH TP packets)를 나타낸다. 도36a에 도시된 하나의 싱글 레이어 패킷을 구성하는 C1 내지 Cn 은 상기 도 35b의 과정을 거쳐 인크립션된 각 패킷을 말한다.
본 발명의 디크립션 과정은 상술한 도 35a의 인크립션 과정을 역으로 이루어진다. 즉, AES 디크립션 모듈은 카운터 값과 키 값을 입력받아 디크립션과 관련된 값을 출력하고, 상기 출력되는 값은 인크립션된 각 패킷(C1 내지 Cn)과 익스클루시브 OR(XOR)하여 최종적으로 디크립션된 각 패킷(P1 내지 Pn)을 구할수 있다. 여기에서 P1 내지 Pn은 도 35a에서 최초 인크립션되지 않은 P1 내지 Pn과 같을 것이다.
상술한 인크립션 및 디크립션 과정은 카운터 모드로 동작하기 위해 예를 들어, 본 발명의 일 실시 예에 따라 구성한 AES-CTR 모드의 카운터 값을 도시한 도 37과 같은 초기 카운터 값이 필요하다.
도 37을 참조하면 예를 들어, 키 사이즈가 0~72 비트이면, 카운터 값은 '0'을, 키 사이즈가 73~75 비트이면, 카운터 값은 '타입 지시자(Type Indicator)'를, 키 사이즈가 76~107 비트이면, 카운터 값은 '시스템 시각(System Time)'을, 키 사이즈가 108~127 비트이면, 카운터 값은 '플로 아이디(Flow ID(identifier))'를 의미할 수 있다. 여기에서, 상기 타입 지시자(Type Indicator)는 인크립션된 스트림의 타입을 지시한다. 상기 시스템 시각(System Time)은 수퍼프레임의 시스템 시각을 정의한다. 상기 플로 아이디(Flow ID)는 인크립션된 스트림의 플로 패킷 아이디를 식별한다.
도 38은 본 발명의 일 실시 예에 따라 잔여 데이터 블록의 인크립션 디크립션 과정을 설명하기 위해 도시한 것이다.
상기에서 인크립션과 디크립션이 수행되는 패킷들은 128 비트 블록(128-bit Block)으로 분할되어 적용된다. 다만, 최종 데이터 블록이 128 비트가 되지 않는 경우에는 AES 인크립션/디크립션 모듈의 출력(AES Encryption/Decryption Module Output)의 상위비트부터 잔여 데이터 블록(Residue Data Block)만큼 익스클루시브 OR(XOR)하여 인크립션/디크립션 할 수 있다.
다음으로, 상술한 미디어플로 서비스를 위한 데이터의 처리를 위한 시그널링정보와 관련하여, 본 발명의 다른 실시 예에 따른 서비스 맵 테이블(SMT-MH: Service Map Table-MH)을 설명한다. 도 39는 본 발명의 다른 실시 예에 따른 서비스 맵 테이블의 비트스트림 신택스를 도시한 것이다.
상술한 도 27과 같이 구성된 RS 프레임을 통하여 전송되는 MH 트랜스포트 패킷(MH TP) 중, "Type Indicator = '000'"으로 설정된 MH 트랜스포트 패킷(MH TP)은 보통 RS 프레임의 맨 처음에 위치하게 되며, 상기 RS 프레임의 맨 처음에 위치하는 MH 트랜스포트 패킷은 해당 RS 프레임의 데이터 구조를 설명하는 시그널링 데이터를 포함한 서비스 맵 테이블이 전송된다.
서비스 맵 테이블은 해당 RS 프레임을 통하여 전송되는 MH 서비스(Service)들에 속하는 플로 패킷들에 대한 정보를 수신기에 전달한다. 여기에서, 상기 서비스 맵 테이블은 상술한 도 26의 MH 수신기 구조 중 예를 들어, "논-IP MH 시그널링 디코더(Non-IP MH Signaling Decoder)(2625)"에서 처리될 수 있다.
또한, 서비스 맵 테이블은 해당 RS 프레임을 통하여 전송되는 MH 서비스들에 속하는 MH 트랜스포트 패킷의 시작과 끝에 관한 정보를 전달함으로써, 수신기에서 해당 MH 서비스들에 해당하는 ID 값이 없더라도 RS 프레임 핸들러(RS Frame Handler)(2620)로 하여금 원하는 MH 서비스 데이터를 추출할 수 있도록 할 수 있다.
도 39의 실시 예는 MPEG-2 숏 폼(Short form)에 따랐으나 의무적인 것은 아니라 상기 숏 폼에 따르지 않아도 무방하다. 다만, 여기에서는 상술한 도 17의 서비스 맵 테이블에서 전술한 내용과 중복되는 부분에 대한 설명은 원용하고, 이하에서는 상기 도 17에 기술되지 않은 부분만을 설명한다.
관련하여, 수신 제한이 적용된 채널(Channel)에서는 디크립션을 위한 제어 단어(키)(Control Word(Key)) 및 수신 제한에 필요한 추가적인 정보들이 필요하다. 따라서, 서비스를 송신하는 측에서는 해당 채널의 디크립션에 필요한 제어 단어가 어디에서 전송되는지 알려주는 추가적인 정보 및 기타 수신 제한에 필요한 정보를 함께 전송하여야 한다.
상기에서 수신 제한에 필요한 정보들은 예를 들어, 서비스 맵 테이블에 정의될 수 있다. 여기에서, 수신 제한에 필요한 정보들은 예를 들어, 후술할 서비스 맵 테이블의 decscriptor() 또는 additional_descriptor() 영역의 디스크립터로 정의되어 전달될 수 있다. 이하에서는 상기 수신 제한에 필요한 정보들을 포함하는 디스크립터를 MH_CA_descriptor()로 명명한다.
도 39를 참조하면, first_MH_TP_num 필드는 플로 패킷을 포함하는 여러 개의 MH 트랜스포트 패킷들 중 첫 번째 시작하는 MH 트랜스포트 패킷을 지시하고, last_MH_TP_num 필드는 마지막 MH 트랜스포트 패킷을 지시한다. 이는 해당 섹션에 포함되는 후술할 MH_CA_descriptor()의 적용을 받는 MH 트랜스포트 패킷을 구분하는 역할을 할 수도 있다.
다음으로, 본 발명의 일 실시 예에 따른 MH_CA_descriptor()에 대해 설명한다. 상기 MH_CA_descriptor()의 비트스트림의 신택스를 구체적으로 설명하면, 다음과 같다. 도 40은 본 발명의 일 실시 예에 따른 MH_CA_descriptor()의 비트스트림 신택스를 도시한 것이다. 이때, 상기 MH_CA_descriptor() 역시 MPEG-2의 숏 폼(Short Form)에 따른 일 예이나, 상기 MPEG-2의 숏 폼을 따르지 않아도 무방하다.
이하 MH_CA_descriptor의 각 필드를 설명한다.
descriptor_tag 필드(8비트)는 해당 디스크립터가 MH_CA_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.).
CA_System_ID 필드는 자격 제어 메시지(ECM) 및 기타 수신 제한에 필요한 정보에 적용된 수신 제한 시스템 타입(CA system type)을 식별한다.
MH_CA_Flow_ID 필드는 자격 제어 메시지(ECM) 및 기타 수신 제한에 필요한 정보가 전송되는 플로 패킷을 식별할 수 있도록 해당 플로 아이디(Flow ID)를 정의한다.
만약 서비스 내에 채널의 수가 다수 개인 경우에는, 도 39의 서비스 맵 테이블 섹션 내 descriptor() 영역에 MH_CA_descriptor() 가 존재하면, 해당하는 각 채널(Channel)과 관련된 수신 제한에 필요한 정보를 정의한 것으로 볼 수 있다. 또한, 상기 additional_descriptor() 영역에 MH_CA_descriptor()가 존재하면, 해당 서비스를 제공하는 모든 채널에서의 수신 제한에 필요한 정보를 정의한 것으로 양자를 구분할 수도 있다.
다음으로, 본 발명의 또 다른 실시 예에 따라 수신 제한이 적용된 RS 프레임의 구조를 설명하면, 다음과 같다. 도 41은 본 발명의 또 다른 실시 예에 따라 수신 제한이 적용된 RS 프레임 구조를 도시한 것이고, 도 42는 상기 도 41에 따라 구성된 서비스 맵 테이블(SMT-MH)의 또 다른 실시 예를 도시한 것이다.
여기에서는 도 41에 도시된 서비스 1 내지 서비스 4에 대한 데이터 중 서비스 2에 대한 패킷들에 수신 제한이 적용된 RS 프레임 구조를 예로 하여 설명한다.
그리고 도 42는 상기 도 41의 RS 프레임의 구조에서 서비스 2(Service 2)에 대한 서비스 맵 테이블(SMT-MH)에 대한 예를 보여준다. 도 42를 보면, 메이저 채널 넘버와 마이너 채널 넘버에 대한 정보, 타겟 IP 어드레스 및 설명을 알 수 있다. 또한, 그 아래에는 additional_descriptor가 전송되는 것을 알 수 있다.
예를 들어, 채널 30-5(Channel 30-5)가 서비스되도록 사용자에 의해 선택되었을 경우, 도 42에서 채널 30-5와 일치하는 MH_CA_descriptor의 내용을 확인하여야 한다. 따라서, 해당 채널(Channel 30-5)의 수신 제한을 해제하기 위해 필요한 제어 데이터가 서비스 내에 '0x0011B'이라는 플로 아이디(Flow ID) 값을 가지는 플로 패킷으로 전송되고, 타겟 IP 어드레스는 '200.200.200.5'라는 것을 알 수 있다. 다만, 상술한 도 42의 각 값 등은 설명을 위해 예시한 것으로 이에 한정되지 않는다.
따라서, 도 39 내지 42을 참조하면 본 발명의 실시 예에 따라 정의된 서비스 맵 테이블을 이용하여, 특정한 채널이 사용자에 의해 서비스되도록 설정되면, 상기 특정한 채널과 일치하는 서비스 맵 테이블 섹션 내 MH_CA_descriptor의 내용을 확인함으로써, 상기 특정한 채널을 통해 전송되는 서비스가 수신 제한이 설정되어 있더라도 수신 제한을 해제하기 위해 필요한 제어 데이터가 어느 플로 패킷으로 전송되는지 알 수 있어 해당 채널의 수신 제한을 해제하여 사용자에게 제공할 수 있게 된다.
이하에서는 MH 수신기에서 수신 제한이 적용된 방송 내지 서비스를 제공하기 위해 MH 트랜스포트 레이어(MH TP Layer)로 전송되는 데이터를 추출하는 과정을 설명한다. 도 43 내지 45는 본 발명에 따라 데이터 추출과정의 일 실시 예를 도시한 것이다.
MH 수신기의 전원이 켜지면, 서비스를 위하여 수신된 방송 내지 서비스 내 RS 프레임을 디코딩한다(S4301).
그리고 상기 디코딩된 RS 프레임으로부터 미디어플로 서비스를 위한 데이터의 시그널링 정보를 포함한 서비스 맵 테이블(SMT-MH)을 추출하고, 추출된 서비스 맵 테이블 내 MH_CA_descriptor를 추출한다(S4302).
여기에서, 도 26에 도시된 MH 수신기의 구성 중 예를 들어, RS 프레임 핸들러(2620)에서 상기 4301 내지 4302 단계를 수행할 수 있다.
상기 S4302 단계에서 시그널링 정보가 포함된 서비스 맵 테이블이 추출되면, 상기 추출된 서비스 맵 테이블 섹션 내 first_MH_TP_num과 last_MH_TP_num 필드를 파싱한다(S4303).
여기에서, 도 26에 도시된 MH 수신기의 구성 중 예를 들어, 논-IP MH 시그널링 디코더(2625)에서 상기 S4303 단계를 수행할 수 있다.
이후 상기 추출된 서비스 맵 테이블과 파싱된 first_MH_TP_num과last_MH_TP_num 필드에 관한 정보를 기반으로 RS 프레임으로부터 MH 트랜스포트 패킷들을 추출한다. 이때, 상기 추출되는 MH 트랜스포트 패킷들 중 수신 제한이 적용된 플로 패킷을 포함한 MH 트랜스포트 패킷과 관련하여 그에 관한 수신 제한 정보와 키를 포함하는 적어도 하나 이상의 MH 트랜스포트 패킷들을 추출한다(S4304).
그리고 상기 추출된 수신 제한 정보와 키를 포함하는 적어도 하나 이상의 MH 트랜스포트 패킷들의 헤더를 파싱한다(S4305).
여기에서, 도 26에 도시된 수신기 구성 블록 중 예를 들어, RS 프레임 핸들러(2620)에서 상기 S4304 내지 S4305 단계를 수행할 수 있다.
상기 S4304 단계에서 MH 트랜스포트 패킷의 헤더를 파싱하여, Type Indicator 필드를 추출한다. 그리고 추출된 Type Indicator 필드의 값을 근거로 하여 해당 플로 패킷 헤더를 파싱한다(S4306). 예를 들어, 상기 추출된 Type Indicator 필드의 값이 '010'이면, 싱크 레이어 패킷을 포함하는 플로 패킷을 지시하고, 상기 추출된 Type Indicator 필드의 값이 '011'이면, FDP와 FDCP 패킷들을 포함하는 플로 패킷을 지시하고, 상기 추출된 Type Indicator 필드의 값이 '100'이면, IP 데이터그램들을 포함하는 플로 패킷을 지시한다.
이하 도 43의 경우에는 상기 Type Indicator 필드의 값이 '010' 즉, 싱크 레이어 패킷을 포함하는 플로 패킷을 예로 하여 설명한다.
즉, 파싱된 싱크 레이어 패킷을 포함하는 플로 패킷 헤더 내 STREAM ENCRYPTION_ACTIVE 필드 값이 '1'인지 '0'인지 판단한다(S4307).
판단 결과 만약 상기 STREAM ENCRYPTION_ACTIVE 필드 값이 '1'이면, 해당 플로 패킷에 포함된 싱크 레이어 패킷들은 인크립션된 것이므로 이를 상술한 방식에 따라 디크립션을 수행한다(S4308).
여기에서, 도 26에 도시된 수신기 구성 블록 중 예를 들어, 인크립션/디크립션 핸들러(2618)에서 상기 디크립션을 수행할 수 있다.
상기 디크립션을 수행한 후 또는 상기 S4307 단계에서 판단 결과 상기 STREAM ENCRYPTION_ACTIVE 필드 값이 '0'인 경우에는, 상기 플로 패킷 내 싱크 레이어 패킷들을 추출한다(S4309).
여기에서, 도 26에 도시된 수신기 구성 블록 중 예를 들어, 플로 패킷 핸들러(2619)에서 상기 4308 단계를 제외한 4306 단계 내지 4309 단계를 수행할 수 있다.
상기 4309 단계에서 플로 패킷으로부터 인크립션된 싱크 레이어 패킷들을 디크립션하여 추출되었으면, 싱크 레이어 액션을 한다(S4310).
여기에서, 도 26에 도시된 수신기 구성 블록 중 예를 들어, 싱크 레이어 핸들러(2632)에서 상기 싱크 레이어 액션을 수행될 수 있다.
상술한 과정을 거침으로써, MH 트랜스포트 레이어를 거쳐 리얼 타임 애플리케이션들을 사용자에게 제공할 수 있게 된다.
다음으로, 추출된 타입 지시자가 '011' 즉, FDP와 FDCP 패킷들을 포함하는 플로 패킷을 지시하는 경우를 도 44에서 설명한다. 도 44에서 4406 단계 이전은 동일한바, 전술한 도 43의 설명을 원용한다. 이하에서는 4406 단계에서부터 설명한다.
즉, 추출된 Type Indicator 필드의 값이 지시한 플로 패킷이 싱크 레이어 패킷들을 포함한 것이 아니라 FDP와 FDCP 패킷들을 포함한 경우에는 역시, 상기 FDP와 FDCP 패킷들을 포함한 플로 패킷의 헤더를 파싱한다(S4406).
그리고 파싱된 싱크 레이어 패킷을 포함하는 플로 패킷 헤더 내 STREAM ENCRYPTION_ACTIVE 필드 값이 '1'인지 '0'인지 판단한다(S4407).
판단 결과 만약 상기 STREAM ENCRYPTION_ACTIVE 필드 값이 '1'이면, 해당 플로 패킷에 포함된 FDP와 FDCP 패킷들은 인크립션된 것이므로 상술한 방식에 따라 디크립션을 수행한다(S4408).
S4408 단계에서 디크립션을 수행한 후거나, 또는 상기 4407 단계에서 판단한 결과 상기 STREAM ENCRYPTION_ACTIVE 필드 값이 '0'인 경우에는, 상기 플로 패킷 내 FDP와 FDCP 패킷들을 추출한다(S4409).
상기 4409 단계에서 플로로부터 인크립션된 FDP와 FDCP 패킷들을 디크립션하여 추출되었으면, 파일 딜리버리 레이어 액션을 한다(S4410).
상술한 과정을 거침으로써, MH 트랜스포트 레이어를 거쳐 파일-베이스드 애플리케이션들을 사용자에게 제공할 수 있게 된다.
마지막으로, 추출된 Type Indicator 필드의 값이 '100' 즉, IP 데이터그램들을 포함하는 플로 패킷을 지시하는 경우를 도 45에서 설명한다. 도 45에서 4506 단계 이전은 동일한바, 전술한 도 43의 설명을 원용한다. 이하에서는 4506 단계에서부터 설명한다.
즉, 추출된 Type Indicator 필드의 값이 지시한 플로 패킷 내에 싱크 레이어 패킷들을 포함한 것이 아니라 IP 데이터그램들을 포함한 경우에는 역시, 상기 IP 데이터그램들을 포함한 플로 패킷의 헤더를 파싱한다(S4506).
그리고 파싱된 싱크 레이어 패킷을 포함하는 플로 패킷 헤더 내 STREAM ENCRYPTION_ACTIVE 필드 값이 '1'인지 '0'인지 판단한다(S4507).
판단 결과 만약 상기 STREAM ENCRYPTION_ACTIVE 필드 값이 '1'이면, 해당 플로 패킷에 포함된 IP 데이터그램들은 인크립션된 것이므로 상술한 방식에 따라 디크립션을 수행한다(S4508).
S4508 단계에서 디크립션을 수행한 후거나, 또는 상기 4507 단계에서 판단한 결과 상기 STREAM ENCRYPTION_ACTIVE 필드 값이 '0'인 경우에는, 상기 플로 패킷 내 IP 데이터그램들을 추출한다(S4509).
상기 4509 단계에서 플로 패킷으로부터 인크립션된 IP 데이터그램들을 디크립션하여 추출되었으면, IP 어댑테이션 레이어 액션을 한다(S4510).
상술한 과정을 거침으로써, MH 트랜스포트 레이어를 거쳐 IP 데이터캐스트 애플리케이션들을 사용자에게 제공할 수 있게 된다.
상술한 도 45에서, 각 단계를 수행하는 MH 수신기 구성 블록은 도 43에서 설명한 구성 블록과 동일하다.
이상 본 발명에 따르면, 기존의 MH 포맷과는 다른 서비스 포맷을 가지는 데이터를 인크립션/디크립션하는 프로토콜 스택을 정의할 수 있으며, 그에 따라 각 데이터의 수신 제한 기능을 수행할 수 있다. 또한, 인크립션된 서비스 데이터와 제어 데이터들을 피지컬 레이어(Pysical Layer)에서 시그널링 후 MH 트랜스포트 레이어로 전송할 수 있으며, 수신 제한에 필요한 제어 단어와 부가적인 제어 데이터들을 시그널링하여 저장하거나, 또는 저장 공간이나 실시간으로 추출하여 사용할 수도 있다. 그리고 수신 제한이 필요 없는 서비스의 경우에는 바이패스시킴으로써, 기존의 시스템에 영향을 주지 않고 MH 트랜스포트 레이어를 통해 전송할 수도 있다.
결국 본 발명에 따르면, MH 시스템을 통해 방송을 서비스함에 있어서, 수신 제한이 가능하게 되어 수신 측에서는 수신 권한을 가진 사용자에게만 방송을 시청할 수 있도록 제어할 수 있게 된다.
이상과 같이 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: MH Baseband Processor
200: MH Management Processor
300: MH Presentation Processor

Claims (10)

  1. 제1 헤더와 제1 페이로드로 구성되는 제1 데이터 패킷에 포함된 데이터를 인코딩하며, 상기 제1 페이로드는 제2 헤더와 제2 페이로드로 구성되는 제2 데이터 패킷을 포함하고, 상기 제1 헤더는 상기 제2 데이터 패킷의 시작 위치를 식별하기 위한 포인터 정보를 포함하며, 상기 제2 헤더는 상기 제2 페이로드의 타입을 지시하는 정보를 포함하고, 상기 제2 페이로드는 방송 서비스를 위한 서비스 데이터를 포함하는 단계;
    피지컬 레이어 파라미터들을 인코딩하는 단계; 및
    상기 인코드된 데이터와 상기 인코드된 피지컬 레이어 파라미터들을 포함하는 프레임을 피지컬 레이어를 통해 전송하는 단계를 포함하며,
    상기 프레임은 시그널링 정보를 더 포함하고,
    상기 시그널링 정보는 상기 방송 서비스를 식별하기 위한 식별 정보와 상기 방송 서비스가 히든인지를 지시하는 정보를 포함하며,
    상기 시그널링 정보는 기 결정된(well-known) 어드레스와 포트 번호를 가지는 IP 패킷들의 페이로드로 전송되는 것을 특징으로 하는 방송 신호 송신 방법.
  2. 제 1 항에 있어서,
    상기 제1 헤더는 상기 제1 데이터 패킷이 스터핑 데이터를 포함하는지를 지시하는 정보를 더 포함하는 것을 특징으로 하는 방송 신호 송신 방법.
  3. 제 1 항에 있어서,
    상기 제2 페이로드의 길이는 가변적인 것을 특징으로 하는 방송 신호 송신 방법.
  4. 제 1 항에 있어서,
    상기 시그널링 정보는 상기 방송 서비스의 메이저 채널 정보와 마이너 채널 정보를 더 포함하는 것을 특징으로 하는 방송 신호 송신 방법.
  5. 제 1 항에 있어서,
    상기 시그널링 정보는 상기 방송 서비스의 타입 정보를 더 포함하는 것을 특징으로 하는 방송 신호 송신 방법.
  6. 제1 헤더와 제1 페이로드로 구성되는 제1 데이터 패킷에 포함된 데이터를 인코딩하며, 상기 제1 페이로드는 제2 헤더와 제2 페이로드로 구성되는 제2 데이터 패킷을 포함하고, 상기 제1 헤더는 상기 제2 데이터 패킷의 시작 위치를 식별하기 위한 포인터 정보를 포함하며, 상기 제2 헤더는 상기 제2 페이로드의 타입을 지시하는 정보를 포함하고, 상기 제2 페이로드는 방송 서비스를 위한 서비스 데이터를 포함하는 제1 인코더;
    피지컬 레이어 파라미터들을 인코딩하는 제2 인코더; 및
    상기 인코드된 데이터와 상기 인코드된 피지컬 레이어 파라미터들을 포함하는 프레임을 피지컬 레이어를 통해 전송하는 전송부를 포함하며,
    상기 프레임은 시그널링 정보를 더 포함하고,
    상기 시그널링 정보는 상기 방송 서비스를 식별하기 위한 식별 정보와 상기 방송 서비스가 히든인지를 지시하는 정보를 포함하며,
    상기 시그널링 정보는 기 결정된(well-known) 어드레스와 포트 번호를 가지는 IP 패킷들의 페이로드로 전송되는 것을 특징으로 하는 방송 신호 송신 시스템.
  7. 제 6 항에 있어서,
    상기 제1 헤더는 상기 제1 데이터 패킷이 스터핑 데이터를 포함하는지를 지시하는 정보를 더 포함하는 것을 특징으로 하는 방송 신호 송신 시스템.
  8. 제 6 항에 있어서,
    상기 제2 페이로드의 길이는 가변적인 것을 특징으로 하는 방송 신호 송신 시스템.
  9. 제 6 항에 있어서,
    상기 시그널링 정보는 상기 방송 서비스의 메이저 채널 정보와 마이너 채널 정보를 더 포함하는 것을 특징으로 하는 방송 신호 송신 시스템.
  10. 제 6 항에 있어서,
    상기 시그널링 정보는 상기 방송 서비스의 타입 정보를 더 포함하는 것을 특징으로 하는 방송 신호 송신 시스템.
KR1020150165518A 2007-09-21 2015-11-25 디지털 방송 수신기 및 그 제어 방법 KR101652810B1 (ko)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
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
US98152007P 2007-10-22 2007-10-22
US60/981,520 2007-10-22
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 Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020080092445A Division KR101573728B1 (ko) 2007-09-21 2008-09-19 디지털 방송 송신기 및 그 제어 방법

Publications (2)

Publication Number Publication Date
KR20150139809A KR20150139809A (ko) 2015-12-14
KR101652810B1 true KR101652810B1 (ko) 2016-09-01

Family

ID=40697367

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020080092445A KR101573728B1 (ko) 2007-09-21 2008-09-19 디지털 방송 송신기 및 그 제어 방법
KR1020150165518A KR101652810B1 (ko) 2007-09-21 2015-11-25 디지털 방송 수신기 및 그 제어 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020080092445A KR101573728B1 (ko) 2007-09-21 2008-09-19 디지털 방송 송신기 및 그 제어 방법

Country Status (1)

Country Link
KR (2) KR101573728B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102278520B1 (ko) * 2014-01-08 2021-07-19 삼성전자주식회사 디지털 방송 시스템에서 시그널링 정보를 송수신하는 장치 및 방법
DE112016000278T5 (de) * 2015-01-05 2017-11-09 Lg Electronics Inc. Rundfunkempfangsvorrichtung und Verfahren zum Betreiben einer Rundfunkempfangsvorrichtung, Modul für bedingten Zugriff und Verfahren zum Betreiben eines Moduls für bedingten Zugriff
KR101698860B1 (ko) * 2016-06-14 2017-02-01 엘지전자 주식회사 수신 시스템 및 방송 신호 처리 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005043403A1 (en) 2003-11-03 2005-05-12 Immertec Co., Ltd. Method and system for transmitting partitioned data for streaming service on low speed channel
WO2007030590A1 (en) 2005-09-08 2007-03-15 Qualcomm Incorporated Method and apparatus for delivering content based on receivers characteristics

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4643406B2 (ja) 2005-09-27 2011-03-02 株式会社東芝 放送受信装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005043403A1 (en) 2003-11-03 2005-05-12 Immertec Co., Ltd. Method and system for transmitting partitioned data for streaming service on low speed channel
WO2007030590A1 (en) 2005-09-08 2007-03-15 Qualcomm Incorporated Method and apparatus for delivering content based on receivers characteristics

Also Published As

Publication number Publication date
KR101573728B1 (ko) 2015-12-02
KR20090031328A (ko) 2009-03-25
KR20150139809A (ko) 2015-12-14

Similar Documents

Publication Publication Date Title
KR101703868B1 (ko) 디지털 방송 시스템 및 데이터 처리 방법
US9402091B2 (en) Digital broadcasting receiver and method for controlling the same
KR101649532B1 (ko) 디지털 방송 수신기 및 그 제어 방법
WO2009038442A2 (en) Digital broadcasting receiver and method for controlling the same
KR101652810B1 (ko) 디지털 방송 수신기 및 그 제어 방법
KR101619453B1 (ko) 디지털 방송 수신기 및 그 제어 방법
KR101658554B1 (ko) 디지털 방송 송/수신 시스템 및 데이터 처리 방법
KR101556139B1 (ko) 디지털 방송 송/수신 시스템 및 데이터 처리 방법
KR101572876B1 (ko) 디지털 방송 시스템 및 데이터 처리 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant