아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명은 차세대 방송 서비스에 대한 방송 신호 송신 및 수신 장치 및 방법을 제공한다. 본 발명의 일 실시예에 따른 차세대 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스, UHDTV 서비스 등을 포함한다. 본 발명은 일 실시예에 따라 비-MIMO (non-Multiple Input Multiple Output) 또는 MIMO 방식을 통해 차세대 방송 서비스에 대한 방송 신호를 처리할 수 있다. 본 발명의 일 실시예에 따른 비-MIMO 방식은 MISO (Multiple Input Single Output) 방식, SISO (Single Input Single Output) 방식 등을 포함할 수 있다.
이하에서는 설명의 편의를 위해 MISO 또는 MIMO 방식은 두 개의 안테나를 사용하지만, 본 발명은 두 개 이상의 안테나를 사용하는 시스템에 적용될 수 있다. 본 발명은 특정 용도에 요구되는 성능을 달성하면서 수신기 복잡도를 최소화하기 위해 최적화된 세 개의 피지컬 프로파일(PHY profile) (베이스(base), 핸드헬드(handheld), 어드벤스(advanced) 프로파일)을 정의할 수 있다. 피지컬 프로파일은 해당하는 수신기가 구현해야 하는 모든 구조의 서브셋이다.
세 개의 피지컬 프로파일은 대부분의 기능 블록을 공유하지만, 특정 블록 및/또는 파라미터에서는 약간 다르다. 추후에 추가로 피지컬 프로파일이 정의될 수 있다. 시스템 발전을 위해, 퓨처 프로파일은 FEF (future extension frame)을 통해 단일 RF (radio frequency) 채널에 존재하는 프로파일과 멀티플렉싱 될 수도 있다. 각 피지컬 프로파일에 대한 자세한 내용은 후술한다.
1. 베이스 프로파일
베이스 프로파일은 주로 루프 톱(roof-top) 안테나와 연결되는 고정된 수신 장치의 주된 용도를 나타낸다. 베이스 프로파일은 어떤 장소로 이동될 수 있지만 비교적 정지된 수신 범주에 속하는 휴대용 장치도 포함할 수 있다. 베이스 프로파일의 용도는 약간의 개선된 실행에 의해 핸드헬드 장치 또는 차량용으로 확장될 수 있지만, 이러한 사용 용도는 베이스 프로파일 수신기 동작에서는 기대되지 않는다.
수신의 타겟 신호 대 잡음비 범위는 대략 10 내지 20 dB인데, 이는 기존 방송 시스템(예를 들면, ATSC A/53)의 15 dB 신호 대 잡음비 수신 능력을 포함한다. 수신기 복잡도 및 소비 전력은 핸드헬드 프로파일을 사용할 배터리로 구동되는 핸드헬드 장치에서만큼 중요하지 않다. 베이스 프로파일에 대한 중요 시스템 파라미터가 아래 표 1에 기재되어 있다.
2. 핸드헬드 프로파일
핸드헬드 프로파일은 배터리 전원으로 구동되는 핸드헬드 및 차량용 장치에서의 사용을 위해 설계된다. 해당 장치는 보행자 또는 차량 속도로 이동할 수 있다. 수신기 복잡도뿐만 아니라 소비 전력은 핸드헬드 프로파일의 장치의 구현을 위해 매우 중요하다. 핸드헬드 프로파일의 타겟 신호 대 잡음비 범위는 대략 0 내지 10 dB이지만, 더 낮은 실내 수신을 위해 의도된 경우 0 dB 아래에 달하도록 설정될 수 있다.
저 신호 대 잡음비 능력뿐만 아니라, 수신기 이동성에 의해 나타난 도플러 효과에 대한 복원력은 핸드헬드 프로파일의 가장 중요한 성능 속성이다. 핸드헬드 프로파일에 대한 중요 시스템 파라미터가 아래 표 2에 기재되어 있다.
3. 어드벤스 프로파일
어드벤스 프로파일은 더 큰 실행 복잡도에 대한 대가로 더 높은 채널 능력을 제공한다. 해당 프로파일은 MIMO 송신 및 수신을 사용할 것을 요구하며, UHDTV 서비스는 타겟 용도이고, 이를 위해 해당 프로파일이 특별히 설계된다. 향상된 능력은 주어진 대역폭에서 서비스 수의 증가, 예를 들면, 다수의 SDTV 또는 HDTV 서비스를 허용하는 데도 사용될 수 있다.
어드벤스 프로파일의 타겟 신호 대 잡음비 범위는 대략 20 내지 30 dB이다. MIMO 전송은 초기에는 기존의 타원 분극 전송 장비를 사용하고, 추후에 전출력 교차 분극 전송으로 확장될 수 있다. 어드벤스 프로파일에 대한 중요 시스템 파라미터가 아래 표 3에 기재되어 있다.
이 경우, 베이스 프로파일은 지상파 방송 서비스 및 모바일 방송 서비스 모두에 대한 프로파일로 사용될 수 있다. 즉, 베이스 프로파일은 모바일 프로파일을 포함하는 프로파일의 개념을 정의하기 위해 사용될 수 있다. 또한, 어드벤스 프로파일은 MIMO을 갖는 베이스 프로파일에 대한 어드벤스 프로파일 및 MIMO을 갖는 핸드헬드 프로파일에 대한 어드벤스 프로파일로 구분될 수 있다. 그리고 해당 세 프로파일은 설계자의 의도에 따라 변경될 수 있다.
다음의 용어 및 정의는 본 발명에 적용될 수 있다. 다음의 용어 및 정의는 설계에 따라 변경될 수 있다.
보조 스트림: 퓨처 익스텐션(future extension, 추후 확장) 또는 방송사나 네트워크 운영자에 의해 요구됨에 따라 사용될 수 있는 아직 정의되지 않은 변조 및 코딩의 데이터를 전달하는 셀의 시퀀스
베이스 데이터 파이프(base data pipe): 서비스 시그널링 데이터를 전달하는 데이터 파이프
베이스밴드 프레임 (또는 BBFRAME): 하나의 FEC 인코딩 과정 (BCH 및 LDPC 인코딩)에 대한 입력을 형성하는 Kbch 비트의 집합
셀(cell): OFDM 전송의 하나의 캐리어에 의해 전달되는 변조값
코딩 블록(coded block): PLS1 데이터의 LDPC 인코딩된 블록 또는 PLS2 데이터의 LDPC 인코딩된 블록들 중 하나
데이터 파이프(data pipe): 하나 또는 다수의 서비스 또는 서비스 컴포넌트를 전달할 수 있는 서비스 데이터 또는 관련된 메타데이터를 전달하는 물리 계층(physical layer)에서의 로지컬 채널
데이터 파이프 유닛(DPU, data pipe unit): 데이터 셀을 프레임에서의 데이터 파이프에 할당할 수 있는 기본 유닛
데이터 심볼(data symbol): 프리앰블 심볼이 아닌 프레임에서의 OFDM 심볼 (프레임 시그널링 심볼 및 프레임 엣지(edge) 심볼은 데이터 심볼에 포함된다.)
DP_ID: 해당 8비트 필드는 SYSTEM_ID에 의해 식별된 시스템 내에서 데이터 파이프를 유일하게 식별한다.
더미 셀(dummy cell): PLS (physical layer signalling) 시그널링, 데이터 파이프, 또는 보조 스트림을 위해 사용되지 않은 남아 있는 용량을 채우는 데 사용되는 의사 랜덤값을 전달하는 셀
FAC (emergency alert channel, 비상 경보 채널): EAS 정보 데이터를 전달하는 프레임 중 일부
프레임(frame): 프리앰블로 시작해서 프레임 엣지 심볼로 종료되는 물리 계층(physical layer) 타임 슬롯
프레임 리피티션 유닛(frame repetition unit, 프레임 반복 단위): 슈퍼 프레임(super-frame)에서 8회 반복되는 FEF를 포함하는 동일한 또는 다른 피지컬 프로파일에 속하는 프레임의 집합
FIC (fast information channel, 고속 정보 채널): 서비스와 해당 베이스 데이터 파이프 사이에서의 매핑 정보를 전달하는 프레임에서 로지컬 채널
FECBLOCK: 데이터 파이프 데이터의 LDPC 인코딩된 비트의 집합
FFT 사이즈: 기본 주기 T의 사이클로 표현된 액티브 심볼 주기 Ts와 동일한 특정 모드에 사용되는 명목상의 FFT 사이즈
프레임 시그널링 심볼(frame signaling symbol): PLS 데이터의 일부를 전달하는, FFT 사이즈, 가드 인터벌(guard interval), 및 스캐터(scattered) 파일럿 패턴의 특정 조합에서 프레임의 시작에서 사용되는 더 높은 파일럿 밀도를 갖는 OFDM 심볼
프레임 엣지 심볼(frame edge symbol): FFT 사이즈, 가드 인터벌, 및 스캐터 파일럿 패턴의 특정 조합에서 프레임의 끝에서 사용되는 더 높은 파일럿 밀도를 갖는 OFDM 심볼
프레임 그룹(frame-group): 슈퍼 프레임에서 동일한 피지컬 프로파일 타입을 갖는 모든 프레임의 집합
퓨쳐 익스텐션 프레임(future extention frame, 추후 확장 프레임): 프리앰블로 시작하는, 추후 확장에 사용될 수 있는 슈퍼 프레임 내에서 물리 계층(physical layer) 타임 슬롯
퓨처캐스트(futurecast) UTB 시스템: 입력이 하나 이상의 MPEG2-TS 또는 IP (Internet protocol) 또는 일반 스트림이고 출력이 RF 시그널인 제안된 물리 계층(physical layer) 방송 시스템
인풋 스트림(input stream, 입력 스트림): 시스템에 의해 최종 사용자에게 전달되는 서비스의 조화(ensemble)를 위한 데이터의 스트림
노멀(normal) 데이터 심볼: 프레임 시그널링 심볼 및 프레임 엣지 심볼을 제외한 데이터 심볼
피지컬 프로파일(PHY profile): 해당하는 수신기가 구현해야 하는 모든 구조의 서브셋
PLS: PLS1 및 PLS2로 구성된 물리 계층(physical layer) 시그널링 데이터
PLS1: PLS2를 디코딩하는 데 필요한 파라미터뿐만 아니라 시스템에 관한 기본 정보를 전달하는 고정된 사이즈, 코딩, 변조를 갖는 FSS (frame signalling symbol)로 전달되는 PLS 데이터의 첫 번째 집합
NOTE: PLS1 데이터는 프레임 그룹의 듀레이션(duration) 동안 일정하다.
PLS2: 데이터 파이프 및 시스템에 관한 더욱 상세한 PLS 데이터를 전달하는 FSS로 전송되는 PLS 데이터의 두 번째 집합
PLS2 다이나믹(dynamic, 동적) 데이터: 프레임마다 다이나믹(dynamic, 동적)으로 변화하는 PLS2 데이터
PLS2 스태틱(static, 정적) 데이터: 프레임 그룹의 듀레이션 동안 스태틱(static, 정적)인 PLS2 데이터
프리앰블 시그널링 데이터(preamble signaling data): 프리앰블 심볼에 의해 전달되고 시스템의 기본 모드를 확인하는 데 사용되는 시그널링 데이터
프리앰블 심볼(preamble symbol): 기본 PLS 데이터를 전달하고 프레임의 시작에 위치하는 고정된 길이의 파일럿 심볼
NOTE: 프리앰블 심볼은 시스템 신호, 그 타이밍, 주파수 오프셋, 및 FFT 사이즈를 검출하기 위해 고속 초기 밴드 스캔에 주로 사용된다.
추후 사용(future use)을 위해 리저브드(reserved): 현재 문서에서 정의되지 않지만 추후에 정의될 수 있음
슈퍼 프레임(superframe): 8개의 프레임 반복 단위의 집합
타임 인터리빙 블록(time interleaving block, TI block): 타임 인터리버 메모리의 하나의 용도에 해당하는, 타임 인터리빙이 실행되는 셀의 집합
타임 인터리빙 그룹(time interleaving group, TI group): 정수, 다이나믹(dynamic, 동적)으로 변화하는 XFECBLOCK의 수로 이루어진, 특정 데이터 파이프에 대한 다이나믹(dynamic, 동적) 용량 할당이 실행되는 단위
NOTE: 타임 인터리빙 그룹은 하나의 프레임에 직접 매핑되거나 다수의 프레임에 매핑될 수 있다. 타임 인터리빙 그룹은 하나 이상의 타임 인터리빙 블록을 포함할 수 있다.
타입 1 데이터 파이프(Type 1 DP): 모든 데이터 파이프가 프레임에 TDM (time division multiplexing) 방식으로 매핑되는 프레임의 데이터 파이프
타입 2 데이터 파이프(Type 2 DP): 모든 데이터 파이프가 프레임에 FDM 방식으로 매핑되는 프레임의 데이터 파이프
XFECBLOCK: 하나의 LDPC FECBLOCK의 모든 비트를 전달하는 Ncells 셀들의 집합
도 1은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 인풋 포맷 블록 (Input Format block) (1000), BICM (bit interleaved coding & modulation) 블록(1010), 프레임 빌딩 블록 (Frame building block) (1020), OFDM (orthogonal frequency division multiplexing) 제너레이션 블록 (OFDM generation block)(1030), 및 시그널링 생성 블록(1040)을 포함할 수 있다. 방송 신호 송신 장치의 각 블록의 동작에 대해 설명한다.
IP 스트림/패킷 및 MPEG2-TS은 주요 입력 포맷이고, 다른 스트림 타입은 일반 스트림으로 다루어진다. 이들 데이터 입력에 추가로, 관리 정보가 입력되어 각 입력 스트림에 대한 해당 대역폭의 스케줄링 및 할당을 제어한다. 하나 또는 다수의 TS 스트림, IP 스트림 및/또는 일반 스트림 입력이 동시에 허용된다.
인풋 포맷 블록(1000)은 각각의 입력 스트림을 독립적인 코딩 및 변조가 적용되는 하나 또는 다수의 데이터 파이프로 디멀티플렉싱 할 수 있다. 데이터 파이프는 견고성(robustness) 제어를 위한 기본 단위이며, 이는 QoS (Quality of Service)에 영향을 미친다. 하나 또는 다수의 서비스 또는 서비스 컴포넌트가 하나의 데이터 파이프에 의해 전달될 수 있다. 인풋 포맷 블록(1000)의 자세한 동작은 후술한다.
데이터 파이프는 하나 또는 다수의 서비스 또는 서비스 컴포넌트를 전달할 수 있는 서비스 데이터 또는 관련 메타데이터를 전달하는 물리 계층(physical layer)에서의 로지컬 채널이다.
또한, 데이터 파이프 유닛은 하나의 프레임에서 데이터 셀을 데이터 파이프에 할당하기 위한 기본 유닛이다.
인풋 포맷 블록(1000)에서, 패리티(parity) 데이터는 에러 정정을 위해 추가되고, 인코딩된 비트 스트림은 복소수값 컨스텔레이션 심볼에 매핑된다. 해당 심볼은 해당 데이터 파이프에 사용되는 특정 인터리빙 깊이에 걸쳐 인터리빙 된다. 어드벤스 프로파일에 있어서, BICM 블록(1010)에서 MIMO 인코딩이 실행되고 추가 데이터 경로가 MIMO 전송을 위해 출력에 추가된다. BICM 블록(1010)의 자세한 동작은 후술한다.
프레임 빌딩 블록(1020)은 하나의 프레임 내에서 입력 데이터 파이프의 데이터 셀을 OFDM 실볼로 매핑할 수 있다. 매핑 후, 주파수 영역 다이버시티를 위해, 특히 주파수 선택적 페이딩 채널을 방지하기 위해 주파수 인터리빙이 이용된다. 프레임 빌딩 블록(1020)의 자세한 동작은 후술한다.
프리앰블을 각 프레임의 시작에 삽입한 후, OFDM 제너레이션 블록(1030)은 사이클릭 프리픽스(cyclic prefix)을 가드 인터벌로 갖는 기존의 OFDM 변조를 적용할 수 있다. 안테나 스페이스 다이버시티를 위해, 분산된(distributed) MISO 방식이 송신기에 걸쳐 적용된다. 또한, PAPR (peak-to-average power ratio) 방식이 시간 영역에서 실행된다. 유연한 네트워크 방식을 위해, 해당 제안은 다양한 FFT 사이즈, 가드 인터벌 길이, 해당 파일럿 패턴의 집합을 제공한다. OFDM 제너레이션 블록(1030)의 자세한 동작은 후술한다.
시그널링 생성 블록(1040)은 각 기능 블록의 동작에 사용되는 물리 계층(physical layer) 시그널링 정보를 생성할 수 있다. 해당 시그널링 정보는 또한 관심 있는 서비스가 수신기 측에서 적절히 복구되도록 전송된다. 시그널링 생성 블록(1040)의 자세한 동작은 후술한다.
도 2, 3, 4는 본 발명의 실시예에 따른 인풋 포맷 블록(1000)을 나타낸다. 각 도면에 대해 설명한다.
도 2는 본 발명의 일 실시예에 따른 인풋 포맷 블록을 나타낸다. 도 2는 입력 신호가 단일 입력 스트림(single input stream)일 때의 인풋 포맷 블록을 나타낸다.
도 2에 도시된 인풋 포맷 블록은 도 1을 참조하여 설명한 인풋 포맷 블록(1000)의 일 실시예에 해당한다.
물리 계층(physical layer)으로의 입력은 하나 또는 다수의 데이터 스트림으로 구성될 수 있다. 각각의 데이터 스트림은 하나의 데이터 파이프에 의해 전달된다. 모드 어댑테이션(mode adaptaion, 모드 적응) 모듈은 입력되는 데이터 스트림을 BBF (baseband frame)의 데이터 필드로 슬라이스한다. 해당 시스템은 세 가지 종류의 입력 데이터 스트림, 즉 MPEG2-TS, IP, GS (generic stream)을 지원한다. MPEG2-TS는 첫 번째 바이트가 동기 바이트(0x47)인 고정된 길이(188 바이트)의 패킷을 특징으로 한다. IP 스트림은 IP 패킷 헤더 내에서 시그널링 되는 가변 길이 IP 데이터그램 패킷으로 구성된다. 해당 시스템은 IP 스트림에 대해 IPv4와 IPv6을 모두 지원한다. GS는 캡슐화 패킷 헤더 내에서 시그널링되는 가변 길이 패킷 또는 일정 길이 패킷으로 구성될 수 있다.
(a)는 신호 데이터 파이프에 대한 모드 어댑테이션(mode adaptaion, 모드 적응) 블록(2000) 및 스트림 어댑테이션(stream adaptation, 스트림 적응)(2010)을 나타내고, (b)는 PLS 데이터를 생성 및 처리하기 위한 PLS 생성 블록(2020) 및 PLS 스크램블러(2030)를 나타낸다. 각 블록의 동작에 대해 설명한다.
입력 스트림 스플리터는 입력된 TS, IP, GS 스트림을 다수의 서비스 또는 서비스 컴포넌트(오디오, 비디오 등) 스트림으로 분할한다. 모드 어댑테이션(mode adaptaion, 모드 적응) 모듈(2010)은 CRC 인코더, BB (baseband) 프레임 슬라이서, 및 BB 프레임 헤더 삽입 블록으로 구성된다.
CRC 인코더는 유저 패킷 (user packet, UP)레벨에서의 에러 검출을 위한 세 종류의 CRC 인코딩, 즉 CRC-8, CRC-16, CRC-32를 제공한다. 산출된 CRC 바이트는 UP 뒤에 첨부된다. CRC-8은 TS 스트림에 사용되고, CRC-32는 IP 스트림에 사용된다. GS 스트림이 CRC 인코딩을 제공하지 않으면, 제안된 CRC 인코딩이 적용되어야 한다.
BB 프레임 슬라이서는 입력을 내부 로지컬 비트 포맷에 매핑한다. 첫 번째 수신 비트는 MSB라고 정의한다. BB 프레임 슬라이서는 가용 데이터 필드 용량과 동일한 수의 입력 비트를 할당한다. BBF 페이로드와 동일한 수의 입력 비트를 할당하기 위해, UP 스트림이 BBF의 데이터 필드에 맞게 슬라이스된다.
BB 프레임 헤더 삽입 블록은 2바이트의 고정된 길이의 BBF 헤더를 BB 프레임의 앞에 삽입할 수 있다. BBF 헤더는 STUFFI (1비트), SYNCD (13비트), 및 RFU (2비트)로 구성된다. 고정된 2바이트 BBF 헤더뿐만 아니라, BBF는 2바이트 BBF 헤더 끝에 확장 필드(1 또는 3바이트)를 가질 수 있다.
스트림 어댑테이션(stream adaptation, 스트림 적응)(2010)은 스터핑(stuffing) 삽입 블록 및 BB 스크램블러로 구성된다. 스터핑 삽입 블록은 스터핑 필드를 BB 프레임의 페이로드에 삽입할 수 있다. 스트림 어댑테이션(stream adaptation, 스트림 적응)에 대한 입력 데이터가 BB 프레임을 채우기에 충분하면, STUFFI는 0으로 설정되고, BBF는 스터핑 필드를 갖지 않는다. 그렇지 않으면, STUFFI는 1로 설정되고, 스터핑 필드는 BBF 헤더 직후에 삽입된다. 스터핑 필드는 2바이트의 스터핑 필드 헤더 및 가변 사이즈의 스터핑 데이터를 포함한다.
BB 스크램블러는 에너지 분산을 위해 완전한 BBF를 스크램블링한다. 스크램블링 시퀀스는 BBF와 동기화된다. 스크램블링 시퀀스는 피드백 시프트 레지스터에 의해 생성된다.
PLS 생성 블록(2020)은 PLS 데이터를 생성할 수 있다. PLS는 수신기에서 피지컬 레이어(physical layer) 데이터 파이프에 접속할 수 있는 수단을 제공한다. PLS 데이터는 PLS1 데이터 및 PLS2 데이터로 구성된다.
PLS1 데이터는 PLS2 데이터를 디코딩하는 데 필요한 파라미터뿐만 아니라 시스템에 관한 기본 정보를 전달하는 고정된 사이즈, 코딩, 변조를 갖는 프레임에서 FSS로 전달되는 PLS 데이터의 첫 번째 집합이다. PLS1 데이터는 PLS2 데이터의 수신 및 디코딩을 가능하게 하는 데 요구되는 파라미터를 포함하는 기본 송신 파라미터를 제공한다. 또한, PLS1 데이터는 프레임 그룹의 듀레이션 동안 일정하다.
PLS2 데이터는 데이터 파이프 및 시스템에 관한 더욱 상세한 PLS 데이터를 전달하는 FSS로 전송되는 PLS 데이터의 두 번째 집합이다. PLS2는 수신기가 원하는 데이터 파이프를 디코딩하는 데 충분한 정보를 제공하는 파라미터를 포함한다. PLS2 시그널링은 PLS2 스태틱(static, 정적) 데이터(PLS2-STAT 데이터) 및 PLS2 다이나믹(dynamic, 동적) 데이터(PLS2-DYN 데이터)의 두 종류의 파라미터로 더 구성된다. PLS2 스태틱(static, 정적) 데이터는 프레임 그룹의 듀레이션 동안 스태틱(static, 정적)인 PLS2 데이터이고, PLS2 다이나믹(dynamic, 동적) 데이터는 프레임마다 다이나믹(dynamic, 동적)으로 변화하는 PLS2 데이터이다.
PLS 데이터에 대한 자세한 내용은 후술한다.
PLS 스크램블러(2030)는 에너지 분산을 위해 생성된 PLS 데이터를 스크램블링 할 수 있다.
전술한 블록은 생략될 수도 있고 유사 또는 동일 기능을 갖는 블록에 의해 대체될 수도 있다.
도 3은 본 발명의 다른 일 실시예에 따른 인풋 포맷 블록을 나타낸다.
도 3에 도시된 인풋 포맷 블록은 도 1을 참조하여 설명한 인풋 포맷 블록(1000)의 일 실시예에 해당한다.
도 3은 입력 신호가 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)에 해당하는 경우 인풋 포맷 블록의 모드 어댑테이션(mode adaptaion, 모드 적응) 블록을 나타낸다.
멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)을 처리하기 위한 인풋 포맷 블록의 모드 어댑테이션(mode adaptaion, 모드 적응) 블록은 다수 입력 스트림을 독립적으로 처리할 수 있다.
도 3을 참조하면, 멀티 인풋 스트림(multi input stream, 다수의 입력 스트림)을 각각 처리하기 위한 모드 어댑테이션(mode adaptaion, 모드 적응) 블록은 인풋 스트림 스플리터 (input stream splitter) (3000), 인풋 스트림 싱크로나이저 (input stream synchronizer) (3010), 컴펜세이팅 딜레이(compensatin delay, 보상 지연) 블록(3020), 널 패킷 딜리션 블록 (null packet deletion block) (3030), 헤더 컴프레션 블록 (header compression block) (3040), CRC 인코더 (CRC encoder) (3050), BB 프레임 슬라이서(BB frame slicer) (3060), 및 BB 헤더 삽입 블록 (BB header insertion block) (3070)을 포함할 수 있다. 모드 어댑테이션(mode adaptaion, 모드 적응) 블록의 각 블록에 대해 설명한다.
CRC 인코더(3050), BB 프레임 슬라이서(3060), 및 BB 헤더 삽입 블록(3070)의 동작은 도 2를 참조하여 설명한 CRC 인코더, BB 프레임 슬라이서, 및 BB 헤더 삽입 블록의 동작에 해당하므로, 그 설명은 생략한다.
인풋 스트림 스플리터(3000)는 입력된 TS, IP, GS 스트림을 다수의 서비스 또는 서비스 컴포넌트(오디오, 비디오 등) 스트림으로 분할한다.
인풋 스트림 싱크로나이저(3010)는 ISSY라 불릴 수 있다. ISSY는 어떠한 입력 데이터 포맷에 대해서도 CBR (constant bit rate) 및 일정한 종단간 전송(end-to-end transmission) 지연을 보장하는 적합한 수단을 제공할 수 있다. ISSY는 TS를 전달하는 다수의 데이터 파이프의 경우에 항상 이용되고, GS 스트림을 전달하는 다수의 데이터 파이프에 선택적으로 이용된다.
컴펜세이팅 딜레이(compensatin delay, 보상 지연) 블록(3020)은 수신기에서 추가로 메모리를 필요로 하지 않고 TS 패킷 재결합 메커니즘을 허용하기 위해 ISSY 정보의 삽입에 뒤따르는 분할된 TS 패킷 스트림을 지연시킬 수 있다.
널 패킷 딜리션 블록(3030)은 TS 입력 스트림 경우에만 사용된다. 일부 TS 입력 스트림 또는 분할된 TS 스트림은 VBR (variable bit-rate) 서비스를 CBR TS 스트림에 수용하기 위해 존재하는 많은 수의 널 패킷을 가질 수 있다. 이 경우, 불필요한 전송 오버헤드를 피하기 위해, 널 패킷은 확인되어 전송되지 않을 수 있다. 수신기에서, 제거된 널 패킷은 전송에 삽입된 DNP(deleted null-packet, 삭제된 널 패킷) 카운터를 참조하여 원래 존재했던 정확한 장소에 재삽입될 수 있어, CBR이 보장되고 타임 스탬프(PCR) 갱신의 필요가 없어진다.
헤더 컴프레션 블록(3040)은 TS 또는 IP 입력 스트림에 대한 전송 효율을 증가시키기 위해 패킷 헤더 압축을 제공할 수 있다. 수신기는 헤더의 특정 부분에 대한 선험적인(a priori) 정보를 가질 수 있기 때문에, 이 알려진 정보(known information)는 송신기에서 삭제될 수 있다.
TS에 대해, 수신기는 동기 바이트 구성(0x47) 및 패킷 길이(188 바이트)에 관한 선험적인 정보를 가질 수 있다. 입력된 TS가 하나의 PID만을 갖는 콘텐트를 전달하면, 즉, 하나의 서비스 컴포넌트(비디오, 오디오 등) 또는 서비스 서브 컴포넌트(SVC 베이스 레이어, SVC 인헨스먼트 레이어, MVC 베이스 뷰, 또는 MVC 의존 뷰)에 대해서만, TS 패킷 헤더 압축이 TS에 (선택적으로) 적용될 수 있다. TS 패킷 헤더 압축은 입력 스트림이 IP 스트림인 경우 선택적으로 사용된다. 상기 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 4는 본 발명의 일 실시예에 따른 BICM 블록을 나타낸다.
도 4에 도시된 BICM 블록은 도 1을 참조하여 설명한 BICM 블록(1010)의 일 실시예에 해당한다.
전술한 바와 같이, 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 지상파 방송 서비스, 모바일 방송 서비스, UHDTV 서비스 등을 제공할 수 있다.
QoS가 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치에 의해 제공되는 서비스의 특성에 의존하므로, 각각의 서비스에 해당하는 데이터는 서로 다른 방식을 통해 처리되어야 한다. 따라서, 본 발명의 일 실시예에 따른 BICM 블록은 SISO, MISO, MIMO 방식을 각각의 데이터 경로에 해당하는 데이터 파이프에 독립적으로 적용함으로써 각데이터 파이프를 독립적으로 처리할 수 있다. 결과적으로, 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치는 각각의 데이터 파이프를 통해 전송되는 각 서비스 또는 서비스 컴포넌트에 대한 QoS를 조절할 수 있다.
(a)는 베이스 프로파일 및 핸드헬드 프로파일에 의해 공유되는 BICM 블록을 나타내고, (b)는 어드벤스 프로파일의 BICM 블록을 나타낸다.
베이스 프로파일 및 핸드헬드 프로파일에 의해 공유되는 BICM 블록 및 어드벤스 프로파일의 BICM 블록은 각각의 데이터 파이프를 처리하기 위한 복수의 처리 블록을 포함할 수 있다.
베이스 프로파일 및 핸드헬드 프로파일에 대한 BICM 블록 및 어드벤스 프로파일에 대한 BICM 블록의 각각의 처리 블록에 대해 설명한다.
베이스 프로파일 및 핸드헬드 프로파일에 대한 BICM 블록의 처리 블록(5000)은 데이터 FEC 인코더(5010), 비트 인터리버(5020), 컨스텔레이션 매퍼(mapper)(5030), SSD (signal space diversity) 인코딩 블록(5040), 타임 인터리버(5050)를 포함할 수 있다.
데이터 FEC 인코더(5010)는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 FECBLOCK 절차를 생성하기 위해 입력 BBF에 FEC 인코딩을 실행한다. 외부 코딩(BCH)은 선택적인 코딩 방법이다. 데이터 FEC 인코더(5010)의 구체적인 동작에 대해서는 후술한다.
비트 인터리버(5020)는 효율적으로 실현 가능한 구조를 제공하면서 데이터 FEC 인코더(5010)의 출력을 인터리빙하여 LDPC 코드 및 변조 방식의 조합으로 최적화된 성능을 달성할 수 있다. 비트 인터리버(5020)의 구체적인 동작에 대해서는 후술한다.
컨스텔레이션 매퍼(5030)는 QPSK, QAM-16, 불균일 QAM (NUQ-64, NUQ-256, NUQ-1024) 또는 불균일 컨스텔레이션 (NUC-16, NUC-64, NUC-256, NUC-1024)을 이용해서 베이스 및 핸드헬드 프로파일에서 비트 인터리버(5020)로부터의 각각의 셀 워드를 변조하거나 어드벤스 프로파일에서 셀 워드 디멀티플렉서(5010-1)로부터의 셀 워드를 변조하여 파워가 정규화된 컨스텔레이션 포인트 el을 제공할 수 있다. 해당 컨스텔레이션 매핑은 데이터 파이프에 대해서만 적용된다. NUQ가 임의의 형태를 갖는 반면, QAM-16 및 NUQ는 정사각형 모양을 갖는 것이 관찰된다. 각각의 컨스텔레이션이 90도의 배수만큼 회전되면, 회전된 컨스텔레이션은 원래의 것과 정확히 겹쳐진다. 회전 대칭 특성으로 인해 실수 및 허수 컴포넌트의 용량 및 평균 파워가 서로 동일해진다. NUQ 및 NUC는 모두 각 코드 레이트(code rate)에 대해 특별히 정의되고, 사용되는 특정 하나는 PLS2 데이터에 보관된 파라미터 DP_MOD에 의해 시그널링 된다.
타임 인터리버(5050)는 데이터 파이프 레벨에서 동작할 수 있다. 타임 인터리빙의 파라미터는 각각의 데이터 파이프에 대해 다르게 설정될 수 있다. 타임 인터리버(5050)의 구체적인 동작에 관해서는 후술한다.
어드벤스 프로파일에 대한 BICM 블록의 처리 블록(5000-1)은 데이터 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼, 및 타임 인터리버를 포함할 수 있다.
단, 처리 블록(5000-1)은 셀 워드 디멀티플렉서(5010-1) 및 MIMO 인코딩 블록(5020-1)을 더 포함한다는 점에서 처리 블록(5000)과 구별된다.
또한, 처리 블록(5000-1)에서의 데이터 FEC 인코더, 비트 인터리버, 컨스텔레이션 매퍼, 타임 인터리버의 동작은 전술한 데이터 FEC 인코더(5010), 비트 인터리버(5020), 컨스텔레이션 매퍼(5030), 타임 인터리버(5050)의 동작에 해당하므로, 그 설명은 생략한다.
셀 워드 디멀티플렉서(5010-1)는 어드벤스 프로파일의 데이터 파이프가 MIMO 처리를 위해 단일 셀 워드 스트림을 이중 셀 워드 스트림으로 분리하는 데 사용된다. 셀 워드 디멀티플렉서(5010-1)의 구체적인 동작에 관해서는 후술한다.
MIMO 인코딩 블록(5020-1)은 MIMO 인코딩 방식을 이용해서 셀 워드 디멀티플렉서(5010-1)의 출력을 처리할 수 있다. MIMO 인코딩 방식은 방송 신호 송신을 위해 최적화되었다. MIMO 기술은 용량 증가를 얻기 위한 유망한 방식이지만, 채널 특성에 의존한다. 특별히 방송에 대해서, 서로 다른 신호 전파 특성으로 인한 두 안테나 사이의 수신 신호 파워 차이 또는 채널의 강한 LOS 컴포넌트는 MIMO로부터 용량 이득을 얻는 것을 어렵게 한다. 제안된 MIMO 인코딩 방식은 MIMO 출력 신호 중 하나의 위상 랜덤화 및 회전 기반 프리코딩을 이용하여 이 문제를 극복한다.
MIMO 인코딩은 송신기 및 수신기 모두에서 적어도 두 개의 안테나를 필요로 하는 2x2 MIMO 시스템을 위해 의도된다. 두 개의 MIMO 인코딩 모드는 본 제안인 FR-SM (full-rate spatial multiplexing) 및 FRFD-SM (full-rate full-diversity spatial multiplexing)에서 정의된다. FR-SM 인코딩은 수신기 측에서의 비교적 작은 복잡도 증가로 용량 증가를 제공하는 반면, FRFD-SM 인코딩은 수신기 측에서의 큰 복잡도 증가로 용량 증가 및 추가적인 다이버시티 이득을 제공한다. 제안된 MIMO 인코딩 방식은 안테나 극성 배치를 제한하지 않는다.
MIMO 처리는 어드벤스 프로파일 프레임에 요구되는데, 이는 어드벤스 프로파일 프레임에서의 모든 데이터 파이프가 MIMO 인코더에 의해 처리된다는 것을 의미한다. MIMO 처리는 데이터 파이프 레벨에서 적용된다. 컨스텔레이션 매퍼 출력의 페어(pair, 쌍)인 NUQ (e1,i 및 e2,i)는 MIMO 인코더의 입력으로 공급된다. MIMO 인코더 출력 페어(pair, 쌍)(g1,i 및 g2,i)은 각각의 송신 안테나의 동일한 캐리어 k 및 OFDM 심볼 l에 의해 전송된다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 5는 본 발명의 다른 실시예에 따른 BICM 블록을 나타낸다.
도 5에 도시된 BICM 블록은 도 1을 참조하여 설명한 BICM 블록(1010)의 일 실시예에 해당한다.
도 5는 PLS, EAC, 및 FIC의 보호를 위한 BICM 블록을 나타낸다. EAC는 EAS 정보 데이터를 전달하는 프레임의 일부이고, FIC는 서비스와 해당하는 베이스 데이터 파이프 사이에서 매핑 정보를 전달하는 프레임에서의 로지컬 채널이다. EAC 및 FIC에 대한 상세한 설명은 후술한다.
도 5를 참조하면, PLS, EAC, 및 FIC의 보호를 위한 BICM 블록은 PLS FEC 인코더(6000), 비트 인터리버(6010), 및 컨스텔레이션 매퍼(6020)를 포함할 수 있다.
또한, PLS FEC 인코더(6000)는 스크램블러, BCH 인코딩/제로 삽입 블록, LDPC 인코딩 블록, 및 LDPC 패리티 펑처링(puncturing) 블록을 포함할 수 있다. BICM 블록의 각 블록에 대해 설명한다.
PLS FEC 인코더(6000)는 스크램블링된 PLS 1/2 데이터, EAC 및 FIC 섹션을 인코딩할 수 있다.
스크램블러는 BCH 인코딩 및 쇼트닝(shortening) 및 펑처링된 LDPC 인코딩 전에 PLS1 데이터 및 PLS2 데이터를 스크램블링 할 수 있다.
BCH 인코딩/제로 삽입 블록은 PLS 보호를 위한 쇼트닝된 BCH 코드를 이용하여 스크램블링된 PLS 1/2 데이터에 외부 인코딩을 수행하고, BCH 인코딩 후에 제로 비트를 삽입할 수 있다. PLS1 데이터에 대해서만, 제로 삽입의 출력 비트가 LDPC 인코딩 전에 퍼뮤테이션(permutation) 될 수 있다.
LDPC 인코딩 블록은 LDPC 코드를 이용하여 BCH 인코딩/제로 삽입 블록의 출력을 인코딩할 수 있다. 완전한 코딩 블록을 생성하기 위해, Cldpc 및 패리티 비트 Pldpc는 각각의 제로가 삽입된 PLS 정보 블록 Ildpc로부터 조직적으로 인코딩되고, 그 뒤에 첨부된다.
PLS1 및 PLS2에 대한 LDPC 코드 파라미터는 다음의 표 4와 같다.
LDPC 패리티 펑처링 블록은 PLS1 데이터 및 PLS2 데이터에 대해 펑처링을 수행할 수 있다.
쇼트닝이 PLS1 데이터 보호에 적용되면, 일부 LDPC 패리티 비트는 LDPC 인코딩 후에 펑처링된다. 또한, PLS2 데이터 보호를 위해, PLS2의 LDPC 패리티 비트가 LDPC 인코딩 후에 펑처링된다. 이들 펑처링된 비트는 전송되지 않는다.
비트 인터리버(6010)는 각각의 쇼트닝 및 펑처링된 PLS1 데이터 및 PLS2 데이터를 인터리빙할 수 있다.
컨스텔레이션 매퍼(6020)는 비트 인터리빙된 PLS1 데이터 및 PLS2 데이터를 컨스텔레이션에 매핑할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 6은 본 발명의 일 실시예에 따른 프레임 빌딩 블록(frame building block)을 나타낸다.
도 7에 도시한 프레임 빌딩 블록은 도 1을 참조하여 설명한 프레임 빌딩 블록(1020)의 일 실시예에 해당한다.
도 6을 참조하면, 프레임 빌딩 블록은 딜레이 컴펜세이션(delay compensation, 지연보상) 블록(7000), 셀 매퍼 (cell mapper) (7010), 및 프리퀀시 인터리버 (frequency interleaver) (7020)를 포함할 수 있다. 프레임 빌딩 블록의 각 블록에 관해 설명한다.
딜레이 컴펜세이션(delay compensation, 지연보상) 블록(7000)은 데이터 파이프와 해당하는 PLS 데이터 사이의 타이밍을 조절하여 송신기 측에서 데이터 파이프와 해당하는 PLS 데이터 간의 동시성(co-time)을 보장할 수 있다. 인풋 포맷 블록 및 BICM 블록으로 인한 데이터 파이프의 지연을 다룸으로써 PLS 데이터는 데이터 파이프만큼 지연된다. BICM 블록의 지연은 주로 타임 인터리버(5050)로 인한 것이다. 인 밴드(In-band) 시그널링 데이터는 다음 타임 인터리빙 그룹의 정보를 시그널링될 데이터 파이프보다 하나의 프레임 앞서 전달되도록 할 수 있다. 딜레이 컴펜세이션(delay compensation, 지연보상) 블록은 그에 맞추어 인 밴드(In-band) 시그널링 데이터를 지연시킨다.
셀 매퍼(7010)는 PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 및 더미 셀을 프레임 내에서 OFDM 심볼의 액티브(active) 캐리어에 매핑할 수 있다. 셀 매퍼(7010)의 기본 기능은 각각의 데이터 파이프, PLS 셀, 및 EAC/FIC 셀에 대한 타임 인터리빙에 의해 생성된 데이터 셀을, 존재한다면, 하나의 프레임 내에서 각각의 OFDM 심볼에 해당하는 액티브(active) OFDM 셀의 어레이에 매핑하는 것이다. (PSI(program specific information)/SI와 같은) 서비스 시그널링 데이터는 개별적으로 수집되어 데이터 파이프에 의해 보내질 수 있다. 셀 매퍼는 프레임 구조의 구성 및 스케줄러에 의해 생성된 다이나믹 인포메이션(dynamic information, 동적 정보)에 따라 동작한다. 프레임에 관한 자세한 내용은 후술한다.
주파수 인터리버(7020)는 셀 매퍼(7010)로부터 의해 수신된 데이터 셀을 랜덤하게 인터리빙하여 주파수 다이버시티를 제공할 수 있다. 또한, 주파수 인터리버(7020)는 단일 프레임에서 최대의 인터리빙 이득을 얻기 위해 다른 인터리빙 시드(seed) 순서를 이용하여 두 개의 순차적인 OFDM 심볼로 구성된 OFDM 심볼 페어(pair, 쌍)에서 동작할 수 있다.
전술한 블록은 생략되거나 유사 또는 동일 기능을 갖는 블록으로 대체될 수 있다.
도 7은 본 발명의 일 실시예에 따른 OFDM 제너레이션 블록을 나타낸다.
도 7에 도시된 OFDM 제너레이션 블록은 도 1을 참조하여 설명한 OFDM 제너레이션 블록(1030)의 일 실시예에 해당한다.
OFDM 제너레이션 블록은 프레임 빌딩 블록에 의해 생성된 셀에 의해 OFDM 캐리어를 변조하고, 파일럿을 삽입하고, 전송을 위한 시간 영역 신호를 생성한다. 또한, 해당 블록은 순차적으로 가드 인터벌을 삽입하고, PAPR 감소 처리를 적용하여 최종 RF 신호를 생성한다.
도 8을 참조하면, OFDM 제너레이션 블록은 파일럿 및 리저브드 톤 삽입 블록 (pilot and revserved tone insertion block) (8000), 2D-eSFN (single frequency network) 인코딩 블록(8010), IFFT (inverse fast Fourier transform) 블록(8020), PAPR 감소 블록(8030), 가드 인터벌 삽입 블록 (guard interval insertion block)(8040), 프리앰블 삽입 블록 (preamble insertion block)(8050), 기타 시스템 삽입 블록(8060), 및 DAC 블록(8070)을 포함할 수 있다.
기타 시스템 삽입 블록(8060)은 방송 서비스를 제공하는 둘 이상의 서로 다른 방송 송신/수신 시스템의 데이터가 동일한 RF 신호 대역에서 동시에 전송될 수 있도록 시간 영역에서 복수의 방송 송신/수신 시스템의 신호를 멀티플렉싱 할 수 있다. 이 경우, 둘 이상의 서로 다른 방송 송신/수신 시스템은 서로 다른 방송 서비스를 제공하는 시스템을 말한다. 서로 다른 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스 등을 의미할 수 있다.
도 8은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치의 구조를 나타낸다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 도 1을 참조하여 설명한 차세대 방송 서비스에 대한 방송 신호 송신 장치에 대응할 수 있다.
본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치는 동기 및 복조 모듈 (synchronization & demodulation module) (9000), 프레임 파싱 모듈 (frame parsing module) (9010), 디매핑 및 디코딩 모듈 (demapping & decoding module) (9020), 출력 프로세서 (output processor) (9030), 및 시그널링 디코딩 모듈 (signaling decoding module) (9040)을 포함할 수 있다. 방송 신호 수신 장치의 각 모듈의 동작에 대해 설명한다.
동기 및 복조 모듈(9000)은 m개의 수신 안테나를 통해 입력 신호를 수신하고, 방송 신호 수신 장치에 해당하는 시스템에 대해 신호 검출 및 동기화를 실행하고, 방송 신호 송신 장치에 의해 실행되는 절차의 역과정에 해당하는 복조를 실행할 수 있다.
프레임 파싱 모듈(9010)은 입력 신호 프레임을 파싱하고, 사용자에 의해 선택된 서비스가 전송되는 데이터를 추출할 수 있다. 방송 신호 송신 장치가 인터리빙을 실행하면, 프레임 파싱 모듈(9010)은 인터리빙의 역과정에 해당하는 디인터리빙을 실행할 수 있다. 이 경우, 추출되어야 하는 신호 및 데이터의 위치가 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 디코딩함으로써 획득되어, 방송 신호 송신 장치에 의해 생성된 스케줄링 정보가 복원될 수 있다.
디매핑 및 디코딩 모듈(9020)은 입력 신호를 비트 영역 데이터로 변환한 후, 필요에 따라 비트 영역 데이터들을 디인터리빙할 수 있다. 디매핑 및 디코딩 모듈(9020)은 전송 효율을 위해 적용된 매핑에 대한 디매핑을 실행하고, 디코딩을 통해 전송 채널에서 발생한 에러를 정정할 수 있다. 이 경우, 디매핑 및 디코딩 모듈(9020)은 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 디코딩함으로써 디매핑 및 디코딩을 위해 필요한 전송 파라미터를 획득할 수 있다.
출력 프로세서(9030)는 전송 효율을 향상시키기 위해 방송 신호 송신 장치에 의해 적용되는 다양한 압축/신호 처리 절차의 역과정을 실행할 수 있다. 이 경우, 출력 프로세서(9030)는 시그널링 디코딩 모듈(9040)로부터 출력된 데이터에서 필요한 제어 정보를 획득할 수 있다. 출력 프로세서(8300)의 출력은 방송 신호 송신 장치에 입력되는 신호에 해당하고, MPEG-TS, IP 스트림 (v4 또는 v6) 및 GS일 수 있다.
시그널링 디코딩 모듈(9040)은 동기 및 복조 모듈(9000)에 의해 복조된 신호로부터 PLS 정보를 획득할 수 있다. 전술한 바와 같이, 프레임 파싱 모듈(9010), 디매핑 및 디코딩 모듈(9200), 출력 프로세서(9300)는 시그널링 디코딩 모듈(9040)로부터 출력된 데이터를 이용하여 그 기능을 실행할 수 있다.
도 9는 본 발명의 일 실시예에 따른 프레임 구조를 나타낸다.
도 9는 프레임 타임의 구성예 및 슈퍼 프레임에서의 FRU (frame repetition unit, 프레임 반복 단위)를 나타낸다. (a)는 본 발명의 일 실시예에 따른 슈퍼 프레임을 나타내고, (b)는 본 발명의 일 실시예에 따른 FRU를 나타내고, (c)는 FRU에서의 다양한 피지컬 프로파일(PHY profile)의 프레임을 나타내고, (d)는 프레임의 구조를 나타낸다.
슈퍼 프레임은 8개의 FRU로 구성될 수 있다. FRU는 프레임의 TDM에 대한 기본 멀티플렉싱 단위이고, 슈퍼 프레임에서 8회 반복된다.
FRU에서 각 프레임은 피지컬 프로파일(베이스, 핸드헬드, 어드벤스 프로파일) 중 하나 또는 FEF에 속한다. FRU에서 프레임의 최대 허용수는 4이고, 주어진 피지컬 프로파일은 FRU에서 0회 내지 4회 중 어느 횟수만큼 나타날 수 있다(예를 들면, 베이스, 베이스, 핸드헬드, 어드벤스). 피지컬 프로파일 정의는 필요시 프리앰블에서의 PHY_PROFILE의 리저브드 값을 이용하여 확장될 수 있다.
FEF 부분은 포함된다면 FRU의 끝에 삽입된다. FEF가 FRU에 포함되는 경우, FEF의 최대수는 슈퍼 프레임에서 8이다. FEF 부분들이 서로 인접할 것이 권장되지 않는다.
하나의 프레임은 다수의 OFDM 심볼 및 프리앰블로 더 분리된다. (d)에 도시한 바와 같이, 프레임은 프리앰블, 하나 이상의 FSS, 노멀 데이터 심볼, FES를 포함한다.
프리앰블은 고속 퓨처캐스트 UTB 시스템 신호 검출을 가능하게 하고, 신호의 효율적인 송신 및 수신을 위한 기본 전송 파라미터의 집합을 제공하는 특별한 심볼이다. 프리앰블에 대한 자세한 내용은 후술한다.
FSS의 주된 목적은 PLS 데이터를 전달하는 것이다. 고속 동기화 및 채널 추정을 위해, 이에 따른 PLS 데이터의 고속 디코딩을 위해, FSS는 노멀 데이터 심볼보다 고밀도의 파일럿 패턴을 갖는다. FES는 FSS와 완전히 동일한 파일럿을 갖는데, 이는 FES에 바로 앞서는 심볼에 대해 외삽(extrapolation) 없이 FES 내에서의 주파수만의 인터폴레이션(interpolation, 보간) 및 시간적 보간(temporal interpolation)을 가능하게 한다.
도 10은 본 발명의 일 실시예에 따른 프레임의 시그널링 계층 구조(signaling hierarchy structure) 를 나타낸다.
도 10은 시그널링 계층 구조를 나타내는데, 이는 세 개의 주요 부분인 프리앰블 시그널링 데이터(11000), PLS1 데이터(11010), 및 PLS2 데이터(11020)로 분할된다. 매 프레임마다 프리앰블 신호에 의해 전달되는 프리앰블의 목적은 프레임의 기본 전송 파라미터 및 전송 타입을 나타내는 것이다. PLS1은 수신기가 관심 있는 데이터 파이프에 접속하기 위한 파라미터를 포함하는 PLS2 데이터에 접속하여 디코딩할 수 있게 한다. PLS2는 매 프레임마다 전달되고, 두 개의 주요 부분인 PLS2-STAT 데이터와 PLS2-DYN 데이터로 분할된다. PLS2 데이터의 스태틱(static, 정적) 및 다이나믹(dynamic, 동적) 부분에는 필요시 패딩이 뒤따른다.
도 11은 본 발명의 일 실시예에 따른 프리앰블 시그널링 데이터를 나타낸다.
프리앰블 시그널링 데이터는 수신기가 프레임 구조 내에서 PLS 데이터에 접속하고 데이터 파이프를 추적할 수 있게 하기 위해 필요한 21비트의 정보를 전달한다. 프리앰블 시그널링 데이터에 대한 자세한 내용은 다음과 같다.
PHY_PROFILE: 해당 3비트 필드는 현 프레임의 피지컬 프로파일 타입을 나타낸다. 서로 다른 피지컬 프로파일 타입의 매핑은 아래 표 5에 주어진다.
FFT_SIZE: 해당 2비트 필드는 아래 표 6에서 설명한 바와 같이 프레임 그룹 내에서 현 프레임의 FFT 사이즈를 나타낸다.
GI_FRACTION: 해당 3비트 필드는 아래 표 7에서 설명한 바와 같이 현 슈퍼 프레임에서의 가드 인터벌 일부(fraction) 값을 나타낸다.
EAC_FLAG: 해당 1비트 필드는 EAC가 현 프레임에 제공되는지 여부를 나타낸다. 해당 필드가 1로 설정되면, EAS가 현 프레임에 제공된다. 해당 필드가 0으로 설정되면, EAS가 현 프레임에서 전달되지 않는다. 해당 필드는 슈퍼 프레임 내에서 다이나믹(dynamic, 동적)으로 전환될 수 있다.
PILOT_MODE: 해당 1비트 필드는 현 프레임 그룹에서 현 프레임에 대해 파일럿 모드가 모바일 모드인지 또는 고정 모드인지 여부를 나타낸다. 해당 필드가 0으로 설정되면, 모바일 파일럿 모드가 사용된다. 해당 필드가 1로 설정되면, 고정 파일럿 모드가 사용된다.
PAPR_FLAG: 해당 1비트 필드는 현 프레임 그룹에서 현 프레임에 대해 PAPR 감소가 사용되는지 여부를 나타낸다. 해당 필드가 1로 설정되면, 톤 예약(tone reservation)이 PAPR 감소를 위해 사용된다. 해당 필드가 0으로 설정되면, PAPR 감소가 사용되지 않는다.
FRU_CONFIGURE: 해당 3비트 필드는 현 슈퍼 프레임에서 존재하는 FRU의 피지컬 프로파일 타입 구성을 나타낸다. 현 슈퍼 프레임에서 모든 프리앰블에서의 해당 필드에서, 현 슈퍼 프레임에서 전달되는 모든 프로파일 타입이 식별된다. 해당 3비트 필드는 아래 표 8에 나타낸 바와 같이 각각의 프로파일에 대해 다르게 정의된다.
RESERVED: 해당 7비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
도 12는 본 발명의 일 실시예에 따른 PLS1 데이터를 나타낸다.
PLS1 데이터는 PLS2의 수신 및 디코딩을 가능하게 하기 위해 필요한 파라미터를 포함한 기본 전송 파라미터를 제공한다. 전술한 바와 같이, PLS1 데이터는 하나의 프레임 그룹의 전체 듀레이션 동안 변화하지 않는다. PLS1 데이터의 시그널링 필드의 구체적인 정의는 다음과 같다.
PREAMBLE_DATA: 해당 20비트 필드는 EAC_FLAG를 제외한 프리앰블 시그널링 데이터의 카피이다.
NUM_FRAME_FRU: 해당 2비트 필드는 FRU당 프레임 수를 나타낸다.
PAYLOAD_TYPE: 해당 3비트 필드는 프레임 그룹에서 전달되는 페이로드 데이터의 포맷을 나타낸다. PAYLOAD_TYPE은 표 9에 나타낸 바와 같이 시그널링 된다.
NUM_FSS: 해당 2비트 필드는 현 프레임에서 FSS의 수를 나타낸다.
SYSTEM_VERSION: 해당 8비트 필드는 전송되는 신호 포맷의 버전을 나타낸다. SYSTEM_VERSION은 주 버전 및 부 버전의 두 개의 4비트 필드로 분리된다.
주 버전: SYSTEM_VERSION 필드의 MSB인 4비트는 주 버전 정보를 나타낸다. 주 버전 필드에서의 변화는 호환이 불가능한 변화를 나타낸다. 디폴트 값은 0000이다. 해당 표준에서 서술된 버전에 대해, 값이 0000으로 설정된다.
부 버전: SYSTEM_VERSION 필드의 LSB인 4비트는 부 버전 정보를 나타낸다. 부 버전 필드에서의 변화는 호환이 가능하다.
CELL_ID: 이는 ATSC 네트워크에서 지리적 셀을 유일하게 식별하는 16비트 필드이다. ATSC 셀 커버리지는 퓨처캐스트 UTB 시스템당 사용되는 주파수 수에 따라 하나 이상의 주파수로 구성될 수 있다. CELL_ID의 값이 알려지지 않거나 특정되지 않으면, 해당 필드는 0으로 설정된다.
NETWORK_ID: 이는 현 ATSC 네트워크를 유일하게 식별하는 16비트 필드이다.
SYSTEM_ID: 해당 16비트 필드는 ATSC 네트워크 내에서 퓨처캐스트 UTB 시스템을 유일하게 식별한다. 퓨처캐스트 UTB 시스템은 입력이 하나 이상의 입력 스트림(TS, IP, GS)이고 출력이 RF 신호인 지상파 방송 시스템이다. 퓨처캐스트 UTB 시스템은 존재한다면 FEF 및 하나 이상의 피지컬 프로파일을 전달한다. 동일한 퓨처캐스트 UTB 시스템은 서로 다른 입력 스트림을 전달하고 서로 다른 지리적 영역에서 서로 다른 RF를 사용할 수 있어, 로컬 서비스 삽입을 허용한다. 프레임 구조 및 스케줄링은 하나의 장소에서 제어되고, 퓨처캐스트 UTB 시스템 내에서 모든 전송에 대해 동일하다. 하나 이상의 퓨처캐스트 UTB 시스템은 모두 동일한 피지컬 구조 및 구성을 갖는다는 동일한 SYSTEM_ID 의미를 가질 수 있다.
다음의 루프(loop)는 각 프레임 타입의 길이 및 FRU 구성을 나타내는 FRU_PHY_PROFILE, FRU_FRAME_LENGTH, FRU_GI_FRACTION, RESERVED로 구성된다. 루프(loop) 사이즈는 FRU 내에서 4개의 피지컬 프로파일(FEF 포함)이 시그널링되도록 고정된다. NUM_FRAME_FRU가 4보다 작으면, 사용되지 않는 필드는 제로로 채워진다.
FRU_PHY_PROFILE: 해당 3비트 필드는 관련된 FRU의 (i+1)번째 프레임(i는 루프(loop) 인덱스)의 피지컬 프로파일 타입을 나타낸다. 해당 필드는 표 8에 나타낸 것과 동일한 시그널링 포맷을 사용한다.
FRU_FRAME_LENGTH: 해당 2비트 필드는 관련된 FRU의 (i+1)번째 프레임의 길이를 나타낸다. FRU_GI_FRACTION와 함께 FRU_FRAME_LENGTH를 사용하면, 프레임 듀레이션의 정확한 값이 얻어질 수 있다.
FRU_GI_FRACTION: 해당 3비트 필드는 관련된 FRU의 (i+1)번째 프레임의 가드 인터벌 일부 값을 나타낸다. FRU_GI_FRACTION은 표 7에 따라 시그널링 된다.
RESERVED: 해당 4비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음의 필드는 PLS2 데이터를 디코딩하기 위한 파라미터를 제공한다.
PLS2_FEC_TYPE: 해당 2비트 필드는 PLS2 보호에 의해 사용되는 FEC 타입을 나타낸다. FEC 타입은 표 10에 따라 시그널링 된다. LDPC 코드에 대한 자세한 내용은 후술한다.
PLS2_MOD: 해당 3비트 필드는 PLS2에 의해 사용되는 변조 타입을 나타낸다. 변조 타입은 표 11에 따라 시그널링 된다.
표 11
값 | PLS2_MODE |
000 | BPSK |
001 | QPSK |
010 | QAM-16 |
011 | NUQ-64 |
100~111 | 리저브드(reserved) |
PLS2_SIZE_CELL: 해당 15비트 필드는 현 프레임 그룹에서 전달되는 PLS2에 대한 모든 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 Ctotal_partial_block를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_STAT_SIZE_BIT: 해당 14비트 필드는 현 프레임 그룹에 대한 PLS2-STAT의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_DYN_SIZE_BIT: 해당 14비트 필드는 현 프레임 그룹에 대한 PLS2-DYN의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_REP_FLAG: 해당 1비트 플래그는 PLS2 반복 모드가 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, PLS2 반복 모드는 활성화된다. 해당 필드의 값이 0으로 설정되면, PLS2 반복 모드는 비활성화된다.
PLS2_REP_SIZE_CELL: 해당 15비트 필드는 PLS2 반복이 사용되는 경우 현 프레임 그룹의 매 프레임마다 전달되는 PLS2에 대한 부분 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 Ctotal_partial_block를 나타낸다. 반복이 사용되지 않는 경우, 해당 필드의 값은 0과 동일하다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_FEC_TYPE: 해당 2비트 필드는 다음 프레임 그룹의 매 프레임에서 전달되는 PLS2에 사용되는 FEC 타입을 나타낸다. FEC 타입은 표 10에 따라 시그널링 된다.
PLS2_NEXT_MOD: 해당 3비트 필드는 다음 프레임 그룹의 매 프레임에서 전달되는 PLS2에 사용되는 변조 타입을 나타낸다. 변조 타입은 표 11에 따라 시그널링 된다.
PLS2_NEXT_REP_FLAG: 해당 1비트 플래그는 PLS2 반복 모드가 다음 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, PLS2 반복 모드는 활성화된다. 해당 필드의 값이 0으로 설정되면, PLS2 반복 모드는 비활성화된다.
PLS2_NEXT_REP_SIZE_CELL: 해당 15비트 필드는 PLS2 반복이 사용되는 경우 다음 프레임 그룹의 매 프레임마다 전달되는 PLS2에 대한 전체 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 Ctotal_full_block를 나타낸다. 다음 프레임 그룹에서 반복이 사용되지 않는 경우, 해당 필드의 값은 0과 동일하다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_REP_STAT_SIZE_BIT: 해당 14비트 필드는 다음 프레임 그룹에 대한 PLS2-STAT의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹에서 일정하다.
PLS2_NEXT_REP_DYN_SIZE_BIT: 해당 14비트 필드는 다음 프레임 그룹에 대한 PLS2-DYN의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹에서 일정하다.
PLS2_AP_MODE: 해당 2비트 필드는 현 프레임 그룹에서 PLS2에 대해 추가 패리티가 제공되는지 여부를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다. 아래의 표 12는 해당 필드의 값을 제공한다. 해당 필드의 값이 00으로 설정되면, 현 프레임 그룹에서 추가 패리티가 PLS2에 대해 사용되지 않는다.
PLS2_AP_SIZE_CELL: 해당 15비트 필드는 PLS2의 추가 패리티 비트의 사이즈(QAM 셀의 수로 특정됨)를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_AP_MODE: 해당 2비트 필드는 다음 프레임 그룹의 매 프레임마다 PLS2 시그널링에 대해 추가 패리티가 제공되는지 여부를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다. 표 12는 해당 필드의 값을 정의한다.
PLS2_NEXT_AP_SIZE_CELL: 해당 15비트 필드는 다음 프레임 그룹의 매 프레임마다 PLS2의 추가 패리티 비트의 사이즈(QAM 셀의 수로 특정됨)를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
RESERVED: 해당 32비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
CRC_32: 전체 PLS1 시그널링에 적용되는 32비트 에러 검출 코드
도 13은 본 발명의 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 13은 PLS2 데이터의 PLS2-STAT 데이터를 나타낸다. PLS2-STAT 데이터는 프레임 그룹 내에서 동일한 반면, PLS2-DYN 데이터는 현 프레임에 대해 특정한 정보를 제공한다.
PLS2-STAT 데이터의 필드에 대해 다음에 구체적으로 설명한다.
FIC_FLAG: 해당 1비트 필드는 FIC가 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, FIC는 현 프레임에서 제공된다. 해당 필드의 값이 0으로 설정되면, FIC는 현 프레임에서 전달되지 않는다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
AUX_FLAG: 해당 1비트 필드는 보조 스트림이 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, 보조 스트림은 현 프레임에서 제공된다. 해당 필드의 값이 0으로 설정되면, 보조 프레임은 현 프레임에서 전달되지 않는다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
NUM_DP: 해당 6비트 필드는 현 프레임 내에서 전달되는 데이터 파이프의 수를 나타낸다. 해당 필드의 값은 1에서 64 사이이고, 데이터 파이프의 수는 NUM_DP+1이다.
DP_ID: 해당 6비트 필드는 피지컬 프로파일 내에서 유일하게 식별한다.
DP_TYPE: 해당 3비트 필드는 데이터 파이프의 타입을 나타낸다. 이는 아래의 표 13에 따라 시그널링 된다.
DP_GROUP_ID: 해당 8비트 필드는 현 데이터 파이프가 관련되어 있는 데이터 파이프 그룹을 식별한다. 이는 수신기가 동일한 DP_GROUP_ID를 갖게 되는 특정 서비스와 관련되어 있는 서비스 컴포넌트의 데이터 파이프에 접속하는 데 사용될 수 있다.
BASE_DP_ID: 해당 6비트 필드는 관리 계층에서 사용되는 (PSI/SI와 같은) 서비스 시그널링 데이터를 전달하는 데이터 파이프를 나타낸다. BASE_DP_ID에 의해 나타내는 데이터 파이프는 서비스 데이터와 함께 서비스 시그널링 데이터를 전달하는 노멀 데이터 파이프이거나, 서비스 시그널링 데이터만을 전달하는 전용 데이터 파이프일 수 있다.
DP_FEC_TYPE: 해당 2비트 필드는 관련된 데이터 파이프에 의해 사용되는 FEC 타입을 나타낸다. FEC 타입은 아래의 표 14에 따라 시그널링 된다.
DP_COD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 코드 레이트(code rate)을 나타낸다. 코드 레이트(code rate)은 아래의 표 15에 따라 시그널링 된다.
DP_MOD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 변조를 나타낸다. 변조는 아래의 표 16에 따라 시그널링 된다.
DP_SSD_FLAG: 해당 1비트 필드는 SSD 모드가 관련된 데이터 파이프에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, SSD는 사용된다. 해당 필드의 값이 0으로 설정되면, SSD는 사용되지 않는다.
다음의 필드는 PHY_PROFILE가 어드벤스 프로파일을 나타내는 010과 동일할 때에만 나타난다.
DP_MIMO: 해당 3비트 필드는 어떤 타입의 MIMO 인코딩 처리가 관련된 데이터 파이프에 적용되는지 나타낸다. MIMO 인코딩 처리의 타입은 아래의 표 17에 따라 시그널링 된다.
DP_TI_TYPE: 해당 1비트 필드는 타임 인터리빙의 타입을 나타낸다. 0의 값은 하나의 타임 인터리빙 그룹이 하나의 프레임에 해당하고 하나 이상의 타임 인터리빙 블록을 포함하는 것을 나타낸다. 1의 값은 하나의 타임 인터리빙 그룹이 하나보다 많은 프레임으로 전달되고 하나의 타임 인터리빙 블록만을 포함하는 것을 나타낸다.
DP_TI_LENGTH: 해당 2비트 필드(허용된 값은 1, 2, 4, 8뿐이다)의 사용은 다음과 같은 DP_TI_TYPE 필드 내에서 설정되는 값에 의해 결정된다.
DP_TI_TYPE의 값이 1로 설정되면, 해당 필드는 각각의 타임 인터리빙 그룹이 매핑되는 프레임의 수인 PI를 나타내고, 타임 인터리빙 그룹당 하나의 타임 인터리빙 블록이 존재한다 (NTI=1). 해당 2비트 필드로 허용되는 PI의 값은 아래의 표 18에 정의된다.
DP_TI_TYPE의 값이 0으로 설정되면, 해당 필드는 타임 인터리빙 그룹당 타임 인터리빙 블록의 수 NTI를 나타내고, 프레임당 하나의 타임 인터리빙 그룹이 존재한다 (PI=1). 해당 2비트 필드로 허용되는 PI의 값은 아래의 표 18에 정의된다.
DP_FRAME_INTERVAL: 해당 2비트 필드는 관련된 데이터 파이프에 대한 프레임 그룹 내에서 프레임 간격(IJUMP)을 나타내고, 허용된 값은 1, 2, 4, 8 (해당하는 2비트 필드는 각각 00, 01, 10, 11)이다. 프레임 그룹의 모든 프레임에 나타나지 않는 데이터 파이프에 대해, 해당 필드의 값은 순차적인 프레임 사이의 간격과 동일하다. 예를 들면, 데이터 파이프가 1, 5, 9, 13 등의 프레임에 나타나면, 해당 필드의 값은 4로 설정된다. 모든 프레임에 나타나는 데이터 파이프에 대해, 해당 필드의 값은 1로 설정된다.
DP_TI_BYPASS: 해당 1비트 필드는 타임 인터리버(5050)의 가용성을 결정한다. 데이터 파이프에 대해 타임 인터리빙이 사용되지 않으면, 해당 필드 값은 1로 설정된다. 반면, 타임 인터리빙이 사용되면, 해당 필드 값은 0으로 설정된다.
DP_FIRST_FRAME_IDX: 해당 5비트 필드는 현 데이터 파이프가 발생하는 슈퍼 프레임의 첫 번째 프레임의 인덱스를 나타낸다. DP_FIRST_FRAME_IDX의 값은 0에서 31 사이다.
DP_NUM_BLOCK_MAX: 해당 10비트 필드는 해당 데이터 파이프에 대한 DP_NUM_BLOCKS의 최대값을 나타낸다. 해당 필드의 값은 DP_NUM_BLOCKS와 동일한 범위를 갖는다.
DP_PAYLOAD_TYPE: 해당 2비트 필드는 주어진 데이터 파이프에 의해 전달되는 페이로드 데이터의 타입을 나타낸다. DP_PAYLOAD_TYPE은 아래의 표 19에 따라 시그널링 된다.
DP_INBAND_MODE: 해당 2비트 필드는 현 데이터 파이프가 인 밴드(In-band) 시그널링 정보를 전달하는지 여부를 나타낸다. 인 밴드(In-band) 시그널링 타입은 아래의 표 20에 따라 시그널링 된다.
DP_PROTOCOL_TYPE: 해당 2비트 필드는 주어진 데이터 파이프에 의해 전달되는 페이로드의 프로토콜 타입을 나타낸다. 페이로드의 프로토콜 타입은 입력 페이로드 타입이 선택되면 아래의 표 21에 따라 시그널링 된다.
DP_CRC_MODE: 해당 2비트 필드는 CRC 인코딩이 인풋 포맷 블록에서 사용되는지 여부를 나타낸다. CRC 모드는 아래의 표 22에 따라 시그널링 된다.
DNP_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 널 패킷 삭제 모드를 나타낸다. DNP_MODE는 아래의 표 23에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, DNP_MODE는 00의 값으로 설정된다.
ISSY_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 ISSY 모드를 나타낸다. ISSY_MODE는 아래의 표 24에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, ISSY_MODE는 00의 값으로 설정된다.
HC_MODE_TS: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 TS 헤더 압축 모드를 나타낸다. HC_MODE_TS는 아래의 표 25에 따라 시그널링 된다.
PID: 해당 13비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되고 HC_MODE_TS가 01 또는 10으로 설정되는 경우에 TS 헤더 압축을 위한 PID 수를 나타낸다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 FIC_FLAG가 1과 동일할 때만 나타난다.
FIC_VERSION: 해당 8비트 필드는 FIC의 버전 넘버를 나타낸다.
FIC_LENGTH_BYTE: 해당 13비트 필드는 FIC의 길이를 바이트 단위로 나타낸다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 AUX_FLAG가 1과 동일할 때만 나타난다.
NUM_AUX: 해당 4비트 필드는 보조 스트림의 수를 나타낸다. 제로는 보조 스트림이 사용되지 않는 것을 나타낸다.
AUX_CONFIG_RFU: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
AUX_STREAM_TYPE: 해당 4비트는 현 보조 스트림의 타입을 나타내기 위한 추후 사용을 위해 리저브드(reserved)된다.
AUX_PRIVATE_CONFIG: 해당 28비트 필드는 보조 스트림을 시그널링 하기 위한 추후 사용을 위해 리저브드(reserved)된다.
도 14는 본 발명의 다른 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 14는 PLS2 데이터의 PLS2-DYN을 나타낸다. PLS2-DYN 데이터의 값은 하나의 프레임 그룹의 듀레이션 동안 변화할 수 있는 반면, 필드의 사이즈는 일정하다.
PLS2-DYN 데이터의 필드의 구체적인 내용은 다음과 같다.
FRAME_INDEX: 해당 5비트 필드는 슈퍼 프레임 내에서 현 프레임의 프레임 인덱스를 나타낸다. 슈퍼 프레임의 첫 번째 프레임의 인덱스는 0으로 설정된다.
PLS_CHANGE_COUNTER: 해당 4비트 필드는 구성이 변화하기 전의 슈퍼 프레임의 수를 나타낸다. 구성이 변화하는 다음 슈퍼 프레임은 해당 필드 내에서 시그널링 되는 값에 의해 나타낸다. 해당 필드의 값이 0000으로 설정되면, 이는 어떠한 예정된 변화도 예측되지 않는 것을 의미한다. 예를 들면, 1의 값은 다음 슈퍼 프레임에 변화가 있다는 것을 나타낸다.
FIC_CHANGE_COUNTER: 해당 4비트 필드는 구성(즉, FIC의 콘텐츠)이 변화하기 전의 슈퍼 프레임의 수를 나타낸다. 구성이 변화하는 다음 슈퍼 프레임은 해당 필드 내에서 시그널링 되는 값에 의해 나타낸다. 해당 필드의 값이 0000으로 설정되면, 이는 어떠한 예정된 변화도 예측되지 않는 것을 의미한다. 예를 들면, 0001의 값은 다음 슈퍼 프레임에 변화가 있다는 것을 나타낸다.
RESERVED: 해당 16비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음 필드는 현 프레임에서 전달되는 데이터 파이프와 관련된 파라미터를 설명하는 NUM_DP에서의 루프(loop)에 나타난다.
DP_ID: 해당 6비트 필드는 피지컬 프로파일 내에서 데이터 파이프를 유일하게 나타낸다.
DP_START: 해당 15비트 (또는 13비트) 필드는 DPU 어드레싱(addressing) 기법을 사용하여 데이터 파이프의 첫 번째의 시작 위치를 나타낸다. DP_START 필드는 아래의 표 27에 나타낸 바와 같이 피지컬 프로파일 및 FFT 사이즈에 따라 다른 길이를 갖는다.
DP_NUM_BLOCK: 해당 10비트 필드는 현 데이터 파이프에 대한 현 타임 인터리빙 그룹에서 FEC 블록의 수를 나타낸다. DP_NUM_BLOCK의 값은 0에서 1023 사이에 있다.
RESERVED: 해당 8비트 필드는 추후 사용을 위해 리저브드(reserved)된다.
다음의 필드는 EAC와 관련된 FIC 파라미터를 나타낸다.
EAC_FLAG: 해당 1비트 필드는 현 프레임에서 EAC의 존재를 나타낸다. 해당 비트는 프리앰블에서 EAC_FLAG와 같은 값이다.
EAS_WAKE_UP_VERSION_NUM: 해당 8비트 필드는 자동 활성화 지시의 버전 넘버를 나타낸다.
EAC_FLAG 필드가 1과 동일하면, 다음의 12비트가 EAC_LENGTH_BYTE 필드에 할당된다. EAC_FLAG 필드가 0과 동일하면, 다음의 12비트가 EAC_COUNTER에 할당된다.
EAC_LENGTH_BYTE: 해당 12비트 필드는 EAC의 길이를 바이트로 나타낸다.
EAC_COUNTER: 해당 12비트 필드는 EAC가 도달하는 프레임 전의 프레임의 수를 나타낸다.
다음 필드는 AUX_FLAG 필드가 1과 동일한 경우에만 나타난다.
AUX_PRIVATE_DYN: 해당 48비트 필드는 보조 스트림을 시그널링 하기 위한 추후 사용을 위해 리저브드(reserved)된다. 해당 필드의 의미는 설정 가능한 PLS2-STAT에서 AUX_STREAM_TYPE의 값에 의존한다.
CRC_32: 전체 PLS2에 적용되는 32비트 에러 검출 코드.
도 15는 본 발명의 일 실시예에 따른 프레임의 로지컬(logical) 구조를 나타낸다.
전술한 바와 같이, PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 더미 셀은 프레임에서 OFDM 심볼의 액티브(active) 캐리어에 매핑된다. PLS1 및 PLS2는 처음에 하나 이상의 FSS에 매핑된다. 그 후, EAC가 존재한다면 EAC 셀은 바로 뒤따르는 PLS 필드에 매핑된다. 다음에 FIC가 존재한다면 FIC 셀이 매핑된다. 데이터 파이프는 PLS 다음에 매핑되거나, EAC 또는 FIC가 존재하는 경우, EAC 또는 FIC 이후에 매핑된다. 타입 1 데이터 파이프가 처음에 매핑되고, 타입 2 데이터 파이프가 다음에 매핑된다. 데이터 파이프의 타입의 구체적인 내용은 후술한다. 일부 경우, 데이터 파이프는 EAS에 대한 일부 특수 데이터 또는 서비스 시그널링 데이터를 전달할 수 있다. 보조 스트림 또는 스트림은 존재한다면 데이터 파이프를 다음에 매핑되고 여기에는 차례로 더미 셀이 뒤따른다. 전술한 순서, 즉, PLS, EAC, FIC, 데이터 파이프, 보조 스트림, 및 더미 셀의 순서로 모두 함께 매핑하면 프레임에서 셀 용량을 정확히 채운다.
도 16은 본 발명의 일 실시예에 따른 PLS 매핑을 나타낸다.
PLS 셀은 FSS의 액티브(active) 캐리어에 매핑된다. PLS가 차지하는 셀의 수에 따라, 하나 이상의 심볼이 FSS로 지정되고, FSS의 수 NFSS는 PLS1에서의 NUM_FSS에 의해 시그널링된다. FSS는 PLS 셀을 전달하는 특수한 심볼이다. 경고성 및 지연 시간(latency)은 PLS에서 중대한 사안이므로, FSS는 높은 파일럿 밀도를 가지고 있어 고속 동기화 및 FSS 내에서의 주파수만의 인터폴레이션(interpoloation, 보간)을 가능하게 한다.
PLS 셀은 도 16의 예에 나타낸 바와 같이 하향식으로 FSS의 액티브(active) 캐리어에 매핑된다. PLS1 셀은 처음에 첫 FSS의 첫 셀부터 셀 인덱스의 오름차순으로 매핑된다. PLS2 셀은 PLS1의 마지막 셀 직후에 뒤따르고, 매핑은 첫 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 PLS 셀의 총 수가 하나의 FSS의 액티브(active) 캐리어의 수를 초과하면, 매핑은 다음 FSS로 진행되고 첫 FSS와 완전히 동일한 방식으로 계속된다.
PLS 매핑이 완료된 후, 데이터 파이프가 다음에 전달된다. EAC, FIC 또는 둘 다 현 프레임에 존재하면, EAC 및 FIC는PLS와 노멀 데이터 파이프 사이에 배치된다.
도 17은 본 발명의 일 실시예에 따른 EAC 매핑을 나타낸다.
EAC는 EAS 메시지를 전달하는 전용 채널이고 EAS에 대한 데이터 파이프에 연결된다. EAS 지원은 제공되지만, EAC 자체는 모든 프레임에 존재할 수도 있고 존재하지 않을 수도 있다. EAC가 존재하는 경우, EAC는 PLS2 셀의 직후에 매핑된다. PLS 셀을 제외하고 FIC, 데이터 파이프, 보조 스트림 또는 더미 셀 중 어느 것도 EAC 앞에 위치하지 않는다. EAC 셀의 매핑 절차는 PLS와 완전히 동일하다.
EAC 셀은 도 17의 예에 나타낸 바와 같이 PLS2의 다음 셀부터 셀 인덱스의 오름차순으로 매핑된다. EAS 메시지 크기에 따라, 도 17에 나타낸 바와 같이 EAC 셀은 적은 심볼을 차지할 수 있다.
EAC 셀은 PLS2의 마지막 셀 직후에 뒤따르고, 매핑은 마지막 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 EAC 셀의 총 수가 마지막 FSS의 남아 있는 액티브(active) 캐리어의 수를 초과하면, EAC 매핑은 다음 심볼로 진행되며, FSS와 완전히 동일한 방식으로 계속된다. 이 경우 EAC의 매핑이 이루어지는 다음 심볼은 노멀 데이터 심볼이고, 이는 FSS보다 더 많은 액티브(active) 캐리어를 갖는다.
EAC 매핑이 완료된 후, 존재한다면 FIC가 다음에 전달된다. FIC가 전송되지 않으면(PLS2 필드에서 시그널링으로), 데이터 파이프가 EAC의 마지막 셀 직후에 뒤따른다.
도 18은 본 발명의 일 실시예에 따른 FIC 매핑을 나타낸다.
(a)는 EAC 없이 FIC 셀의 매핑의 예를 나타내고, (b)는 EAC와 함께 FIC 셀의 매핑의 예를 나타낸다.
FIC는 고속 서비스 획득 및 채널 스캔을 가능하게 하기 위해 계층간 정보(cross-layer information)를 전달하는 전용 채널이다. 해당 정보는 주로 데이터 파이프 사이의 채널 바인딩 (channel binding) 정보 및 각 방송사의 서비스를 포함한다. 고속 스캔을 위해, 수신기는 FIC를 디코딩하고 방송사 ID, 서비스 수, BASE_DP_ID와 같은 정보를 획득할 수 있다. 고속 서비스 획득을 위해, FIC뿐만 아니라 베이스 데이터 파이프도 BASE_DP_ID를 이용해서 디코딩 될 수 있다. 베이스 데이터 파이프가 전송하는 콘텐트를 제외하고, 베이스 데이터 파이프는 노멀 데이터 파이프와 정확히 동일한 방식으로 인코딩되어 프레임에 매핑된다. 따라서, 베이스 데이터 파이프에 대한 추가 설명이 필요하지 않다. FIC 데이터가 생성되어 관리 계층에서 소비된다. FIC 데이터의 콘텐트는 관리 계층 사양에 설명된 바와 같다.
FIC 데이터는 선택적이고, FIC의 사용은 PLS2의 스태틱(static, 정적)인 부분에서 FIC_FLAG 파라미터에 의해 시그널링 된다. FIC가 사용되면, FIC_FLAG는 1로 설정되고, FIC에 대한 시그널링 필드는 PLS2의 스태틱(static, 정적)인 부분에서 정의된다. 해당 필드에서 시그널링되는 것은 FIC_VERSION이고, FIC_LENGTH_BYTE. FIC는 PLS2와 동일한 변조, 코딩, 타임 인터리빙 파라미터를 사용한다. FIC는 PLS2_MOD 및 PLS2_FEC와 같은 동일한 시그널링 파라미터를 공유한다. FIC 데이터는 존재한다면 PLS2 후에 매핑되거나, EAC가 존재하는 경우 EAC 직후에 매핑된다. 노멀 데이터 파이프, 보조 스트림, 또는 더미 셀 중 어느 것도 FIC 앞에 위치하지 않는다. FIC 셀을 매핑하는 방법은 EAC와 완전히 동일하고, 이는 다시 PLS와 동일하다.
PLS 후의 EAC가 존재하지 않는 경우, FIC 셀은 (a)의 예에 나타낸 바와 같이 PLS2의 다음 셀부터 셀 인덱스의 오름차순으로 매핑된다. FIC 데이터 사이즈에 따라, (b)에 나타낸 바와 같이, FIC 셀은 수 개의 심볼에 대해서 매핑된다.
FIC 셀은 PLS2의 마지막 셀 직후에 뒤따르고, 매핑은 마지막 FSS의 마지막 셀 인덱스까지 아래방향으로 계속된다. 필요한 FIC 셀의 총 수가 마지막 FSS의 남아 있는 액티브(active) 캐리어의 수를 초과하면, 나머지 FIC 셀의 매핑은 다음 심볼로 진행되며 이는 FSS와 완전히 동일한 방식으로 계속된다. 이 경우, FIC가 매핑되는 다음 심볼은 노멀 데이터 심볼이며, 이는 FSS보다 더 많은 액티브(active) 캐리어를 갖는다.
EAS 메시지가 현 프레임에서 전송되면, EAC는 FIC 보다 먼저 매핑되고 (b)에 나타낸 바와 같이 EAC의 다음 셀부터 FIC 셀은 셀 인덱스의 오름차순으로 매핑된다.
FIC 매핑이 완료된 후, 하나 이상의 데이터 파이프가 매핑되고, 이후 존재한다면 보조 스트림, 더미 셀이 뒤따른다.
도 19는 본 발명의 일 실시예에 따른 FEC 구조를 나타낸다.
도 19는 비트 인터리빙 전의 본 발명의 일 실시예에 따른 FEC 구조를 나타낸다. 전술한 바와 같이, 데이터 FEC 인코더는 외부 코딩(BCH) 및 내부 코딩(LDPC)을 이용하여 FECBLOCK 절차를 생성하기 위해 입력 BBF에 FEC 인코딩을 실행할 수 있다. 도시된 FEC 구조는 FECBLOCK에 해당한다. 또한, FECBLOCK 및 FEC 구조는 LDPC 코드워드의 길이에 해당하는 동일한 값을 갖는다.
도 19에 도시된 바와 같이, BCH 인코딩이 각각의 BBF(Kbch 비트)에 적용된 후, LDPC 인코딩이 BCH - 인코딩된 BBF(Kldpc 비트 = Nbch 비트)에 적용된다.
Nldpc의 값은 64800 비트 (롱 FECBLOCK) 또는 16200 비트 (쇼트 FECBLOCK)이다.
아래의 표 28 및 표 29는 롱 FECBLOCK 및 쇼트 FECBLOCK 각각에 대한 FEC 인코딩 파라미터를 나타낸다.
BCH 인코딩 및 LDPC 인코딩의 구체적인 동작은 다음과 같다.
12-에러 정정 BCH 코드가 BBF의 외부 인코딩에 사용된다. 쇼트 FECBLOCK 및 롱 FECBLOCK에 대한 BBF 생성 다항식은 모든 다항식을 곱함으로써 얻어진다.
LDPC 코드는 외부 BCH 인코딩의 출력을 인코딩하는 데 사용된다. 완성된 Bldpc (FECBLOCK)를 생성하기 위해, Pldpc (패리티 비트)가 각각의 Ildpc (BCH - 인코딩된 BBF)로부터 조직적으로 인코딩되고, Ildpc에 첨부된다. 완성된 Bldpc (FECBLOCK)는 다음의 수학식으로 표현된다.
롱 FECBLOCK 및 쇼트 FECBLOCK에 대한 파라미터는 위의 표 28 및 29에 각각 주어진다.
롱 FECBLOCK에 대해 Nldpc - Kldpc 패리티 비트를 계산하는 구체적인 절차는 다음과 같다.
1) 패리티 비트 초기화
2) 패리티 체크 매트릭스의 어드레스의 첫 번째 행에서 특정된 패리티 비트 어드레스에서 첫 번째 정보 비트 i0 누산(accumulate). 패리티 체크 매트릭스의 어드레스의 상세한 내용은 후술한다. 예를 들면, 비율 13/15에 대해,
3) 다음 359개의 정보 비트 is, s=1, 2, …, 359에 대해, 다음의 수학식을 이용하여 패리티 비트 어드레스에서 is 누산(accumulate).
여기서, x는 첫 번째 비트 i0에 해당하는 패리티 비트 누산기의 어드레스를 나타내고, Qldpc는 패리티 체크 매트릭스의 어드레서에서 특정된 코드 레이트(code rate) 의존 상수이다. 상기 예인, 비율 13/15에 대한, 따라서 정보 비트 i1에 대한 Qldpc = 24에 계속해서, 다음 동작이 실행된다.
4) 361번째 정보 비트 i360에 대해, 패리티 비트 누산기의 어드레스는 패리티 체크 매트릭스의 어드레스의 두 번째 행에 주어진다. 마찬가지 방식으로, 다음 359개의 정보 비트 is, s= 361, 362, …, 719에 대한 패리티 비트 누산기의 어드레스는 수학식 6을 이용하여 얻어진다. 여기서, x는 정보 비트 i360에 해당하는 패리티 비트 누산기의 어드레스, 즉 패리티 체크 매트릭스의 두 번째 행의 엔트리를 나타낸다.
5) 마찬가지 방식으로, 360개의 새로운 정보 비트의 모든 그룹에 대해, 패리티 체크 매트릭스의 어드레스로부터의 새로운 행은 패리티 비트 누산기의 어드레스를 구하는 데 사용된다.
모든 정보 비트가 이용된 후, 최종 패리티 비트가 다음과 같이 얻어진다.
6) i=1로 시작해서 다음 동작을 순차적으로 실행
여기서 pi, i=0,1,...Nldpc - Kldpc - 1의 최종 콘텐트는 패리티 비트 pi와 동일하다.
표 30을 표 31로 대체하고, 롱 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스를 쇼트 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스로 대체하는 것을 제외하고, 쇼트 FECBLOCK에 대한 해당 LDPC 인코딩 절차는 롱 FECBLOCK에 대한 t LDPC 인코딩 절차에 따른다.
도 20은 본 발명의 일 실시예에 따른 타임 인터리빙을 나타낸다.
(a) 내지 (c)는 타임 인터리빙 모드의 예를 나타낸다.
타임 인터리버는 데이터 파이프 레벨에서 동작한다. 타임 인터리빙의 파라미터는 각각의 데이터 파이프에 대해 다르게 설정될 수 있다.
PLS2-STAT 데이터의 일부에 나타나는 다음의 파라미터는 타임 인터리빙을 구성한다.
DP_TI_TYPE (허용된 값: 0 또는 1): 타임 인터리빙 모드를 나타낸다. 0은 타임 인터리빙 그룹당 다수의 타임 인터리빙 블록(하나 이상의 타임 인터리빙 블록)을 갖는 모드를 나타낸다. 이 경우, 하나의 타임 인터리빙 그룹은 하나의 프레임에 (프레임간 인터리빙 없이) 직접 매핑된다. 1은 타임 인터리빙 그룹당 하나의 타임 인터리빙 블록만을 갖는 모드를 나타낸다. 이 경우, 타임 인터리빙 블록은 하나 이상의 프레임에 걸쳐 확산된다(프레임간 인터리빙).
DP_TI_LENGTH: DP_TI_TYPE = '0'이면, 해당 파라미터는 타임 인터리빙 그룹당 타임 인터리빙 블록의 수 NTI이다. DP_TI_TYPE = '1'인 경우, 해당 파라미터는 하나의 타임 인터리빙 그룹으로부터 확산되는 프레임의 수 PI이다.
DP_NUM_BLOCK_MAX (허용된 값: 0 내지 1023): 타임 인터리빙 그룹당 XFECBLOCK의 최대 수를 나타낸다.
DP_FRAME_INTERVAL (허용된 값: 1, 2, 4, 8): 주어진 피지컬 프로파일의 동일한 데이터 파이프를 전달하는 두 개의 순차적인 프레임 사이의 프레임의 수 IJUMP를 나타낸다.
DP_TI_BYPASS (허용된 값: 0 또는 1): 타임 인터리빙이 데이터 프레임에 이용되지 않으면, 해당 파라미터는 1로 설정된다. 타임 인터리빙이 이용되면, 0으로 설정된다.
추가로, PLS2-DYN 데이터로부터의 파라미터 DP_NUM_BLOCK은 데이터 그룹의 하나의 타임 인터리빙 그룹에 의해 전달되는 XFECBLOCK의 수를 나타낸다.
타임 인터리빙이 데이터 프레임에 이용되지 않으면, 다음의 타임 인터리빙 그룹, 타임 인터리빙 동작, 타임 인터리빙 모드는 고려되지 않는다. 그러나 스케줄러부터의 다이나믹(dynamic, 동적) 구성 정보를 위한 딜레이 컴펜세이션(delay compensation, 지연보상) 블록은 여전히 필요하다. 각각의 데이터 파이프에서, SSD/MIMO 인코딩으로부터 수신한 XFECBLOCK은 타임 인터리빙 그룹으로 그루핑된다. 즉, 각각의 타임 인터리빙 그룹은 정수 개의 XFECBLOCK의 집합이고, 다이나믹(dynamic, 동적)으로 변화하는 수의 XFECBLOCK을 포함할 것이다. 인덱스 n의 타임 인터리빙 그룹에 있는 XFECBLOCK의 수는 NxBLOCK_Group(n)로 나타내고, PLS2-DYN 데이터에서 DP_NUM_BLOCK으로 시그널링된다. 이때, NxBLOCK_Group(n)은 최소값 0에서 가장 큰 값이 1023인 최대값 NxBLOCK_Group_MAX (DP_NUM_BLOCK_MAX에 해당)까지 변화할 수 있다.
각각의 타임 인터리빙 그룹은 하나의 프레임에 직접 매핑되거나 PI개의 프레임에 걸쳐 확산된다. 또한 각각의 타임 인터리빙 그룹은 하나 이상(NTI개)의 타임 인터리빙 블록으로 분리된다. 여기서 각각의 타임 인터리빙 블록은 타임 인터리버 메모리의 하나의 사용에 해당한다. 타임 인터리빙 그룹 내의 타임 인터리빙 블록은 약간의 다른 수의 XFECBLOCK을 포함할 수 있다. 타임 인터리빙 그룹이 다수의 타임 인터리빙 블록으로 분리되면, 타임 인터리빙 그룹은 하나의 프레임에만 직접 매핑된다. 아래의 표 32에 나타낸 바와 같이, 타임 인터리빙에는 세 가지 옵션이 있다(타임 인터리빙을 생략하는 추가 옵션 제외).
일반적으로, 타임 인터리버는 프레임 생성 과정 이전에 데이터 파이프 데이터에 대한 버퍼로도 작용할 것이다. 이는 각각의 데이터 파이프에 대해 2개의 메모리 뱅크로 달성된다. 첫 번째 타임 인터리빙 블록은 첫 번째 뱅크에 기입된다. 첫 번째 뱅크에서 판독되는 동안 두 번째 타임 인터리빙 블록이 두 번째 뱅크에 기입된다.
타임 인터리빙은 트위스트된 행-열 블록 인터리버이다. n번째 타임 인터리빙 그룹의 s번째 타임 인터리빙 블록에 대해, 열의 수
가
와 동일한 반면, 타임 인터리빙 메모리의 행의 수
는 셀의 수
와 동일하다 (즉,
).
도 21은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 기본 동작을 나타낸다.
도 21 (a)는 타임 인터리버에서 기입 동작을 나타내고, 도 21 (b)는 타임 인터리버에서 판독 동작을 나타낸다. (a)에 나타낸 바와 같이, 첫 번째 XFECBLOCK은 타임 인터리빙 메모리의 첫 번째 열에 열 방향으로 기입되고, 두 번째 XFECBLOCK은 다음 열에 기입되고, 이러한 동작이 이어진다. 그리고 인터리빙 어레이에서, 셀이 대각선 방향으로 판독된다. (b)에 나타낸 바와 같이 첫 번째 행으로부터 (가장 왼쪽 열을 시작으로 행을 따라 오른쪽으로) 마지막 행까지 대각선 방향 판독이 진행되는 동안,
개의 셀이 판독된다. 구체적으로,
이 순차적으로 판독될 타임 인터리빙 메모리 셀 위치라고 가정하면, 이러한 인터리빙 어레이에서의 판독 동작은 아래 식에서와 같이 행 인덱스
, 열 인덱스
, 관련된 트위스트 파라미터
를 산출함으로써 실행된다.
여기서,
는
에 상관없이 대각선 방향 판독 과정에 대한 공통 시프트 값이고, 시프트 값은 아래 식에서와 같이 PLS2-STAT에서 주어진
에 의해 결정된다.
결과적으로, 판독될 셀 위치는 좌표
에 의해 산출된다.
도 22는 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
더 구체적으로, 도 22는
,
,
일 때 가상 XFECBLOCK을 포함하는 각각의 타임 인터리빙 그룹에 대한 타임 인터리빙 메모리에서 인터리빙 어레이를 나타낸다.
변수
는
보다 작거나 같을 것이다. 따라서,
에 상관없이 수신기 측에서 단일 메모리 디인터리빙을 달성하기 위해, 트위스트된 행-열 블록 인터리버용 인터리빙 어레이는 가상 XFECBLOCK을 타임 인터리빙 메모리에 삽입함으로써
의 크기로 설정되고, 판독 과정은 다음 식과 같이 이루어진다.
타임 인터리빙 그룹의 수는 3으로 설정된다. 타임 인터리버의 옵션은 DP_TI_TYPE='0', DP_FRAME_INTERVAL='1', DP_TI_LENGTH='1', 즉 NTI=1, IJUMP=1, PI=1에 의해 PLS2-STAT 데이터에서 시그널링된다. 각각 Ncells = 30인 XFECBLOCK의 타임 인터리빙 그룹당 수는 각각의 NxBLOCK_TI(0,0) = 3, NxBLOCK_TI(1,0) = 6, NxBLOCK_TI(2,0) = 5에 의해 PLS2-DYN 데이터에서 시그널링된다. XFECBLOCK의 최대 수는 NxBLOCK_Group_MAX에 의해 PLS2-STAT 데이터에서 시그널링 되고, 이는
로 이어진다.
도 23은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 대각선 방향 판독 패턴을 나타낸다.
더 구체적으로, 도 23은 파라미터
및 Sshift=(7-1)/2=3을 갖는 각각의 인터리빙 어레이로부터의 대각선 방향 판독 패턴을 나타낸다. 이때 위에 유사 코드로 나타낸 판독 과정에서,
이면, Vi의 값이 생략되고, Vi의 다음 계산값이 사용된다.
도 24는 본 발명의 일 실시예에 따른 각각의 인터리빙 어레이로부터의 인터리빙된 XFECBLOCK을 나타낸다.
도 24는 파라미터
및 Sshift=3을 갖는 각각의 인터리빙 어레이로부터 인터리빙된 XFECBLOCK을 나타낸다.
도 25는 본 발명의 일 실시예에 따른 미디어 컨텐츠 송수신 시스템의 구성을 나타내는 블록도이다.
본 발명의 일 실시예에 따른 미디어 컨텐츠 송수신 시스템은 방송 전송 장치(10), 컨텐츠 제공자(30), 컨텐츠 서버(50) 및 방송 수신 장치(100)를 포함한다.
컨텐츠 제공자(30)는 미디어 컨텐츠를 방송 전송 장치(10)와 컨텐츠 서버(50)에 제공한다.
방송 전송 장치(10)는 위성, 지상파, 케이블 방송망 중 적어도 어느 하나를 이용하여 미디어 컨텐츠를 포함하는 방송 스트림을 전송한다. 방송 전송 장치(10)는 방송 전송 장치(10)의 제어부(미도시) 및 전송부(미도시)를 포함할 수 있다. 제어부는 방송 전송 장치(10)의 동작을 제어할 수 있다.
컨텐츠 서버(50)는 방송 수신 장치의 요청에 기초하여 미디어 컨텐츠를 전송한다.
방송 수신 장치(100)는 제어부(150), IP 송수신부(130) 및 방송 수신부(110)를 포함한다. 방송 수신 장치(100)는 제어부(150)를 통하여 IP 송수신부(130), 방송 수신부(110)의 동작을 제어한다. 방송 수신 장치(100)는 방송 수신부(110)를 통하여 미디어 컨텐츠를 포함하는 방송 스트림을 수신한다. 이때 방송 스트림은 위성, 지상파, 케이블 방송망 중 적어도 어느 하나를 이용하여 전송될 수 있다. 따라서 방송 수신부(110)는 방송 스트림을 수신하기 위하여 위성 튜너, 지상파 튜너, 케이블 튜너 중 적어도 어느 하나를 포함할 수 있다. 방송 수신 장치(100)는 IP 송수신부(130)를 통하여 컨텐츠 서버(50)에 미디어 컨텐츠를 요청한다. 방송 수신 장치(100)는 IP 송수신부(130)를 통하여 컨텐츠 서버로부터 미디어 컨텐츠를 수신한다. 방송 수신 장치(100)는 디코더를 통하여 미디어 컨텐츠를 디코딩한다.
도 26 내지 도 30을 통하여 본 발명의 일 실시예에 따른 통신망(broadband)를 통한 미디어 컨텐츠 송수신을 설명하도록 한다.
도 26은 본 발명의 일 실시예에 따른 통신망(broadband)를 통한 미디어 컨텐츠 송수신시스템의 구성을 보여준다.
본 명세서에서 사용하는 통신망은 IP(Internet Protocol)를 통해 인터넷에 접근하는 네트워크를 나타낸다. 구체적으로 통신망을 유니캐스트 및 멀티캐스트 중 적어도 어느 하나를 지원할 수 있다. 또한, 통신망은 계층 기술(로서 DSL(Digtall Subscrriber Line), 광통신, 케이블, 셀룰러(Cellular), 무선 네트워크, 및 위성을 이용할 수 있다. 특히, 통신망은 피지컬 레이어 기술(physical layer techonologies)로서 지상파 방송망을 사용하지 않을 수 있다. 본 발명의 일 실시예에 따른 통신망(broadband)를 통한 미디어 컨텐츠의 송수신은 실제 미디어 컨텐츠를 포함하는 전송 패킷의 송수신과 미디어 컨텐츠 재생 정보의 송수신으로 나뉘어진다. 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보를 수신하고, 미디어 컨텐츠를 포함하는 전송 패킷을 수신한다. 이때 미디어 컨텐츠 재생 정보는 미디어 컨텐츠 재생을 위해 필요한 정보를 나타낸다. 미디어 컨텐츠 재생 정보는 미디어 컨텐츠 재생을 위해 필요한 공간적 정보(spatial information) 및 시간적 정보(temporal information)중 적어도 어느 하나를 포함할 수 있다. 미디어 컨텐츠 재생 정보는 미디어 컨텐츠를 포함하는 전송 패킷을 수신하기 위해 필요한 정보를 포함할 수 있다. 구체적으로 미디어 컨텐츠 재생 정보는 미디어 컨텐츠를 포함하는 전송 패킷을 수신할 수 있는 주소를 포함할 수 있다. 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 재생한다.
구체적인 실시예에서 MMT 표준에 따라 미디어 컨텐츠가 통신망(broadband)를 통하여 송수신될 수 있다. 이때 컨텐츠 서버(50)는 미디어 컨텐츠 재생 정보를 포함하는 재생 정보 도큐먼트(Presentation Information document, PI document)를 전송한다. 또한 컨텐츠 서버(50)는 방송 수신 장치(100)의 요청에 기초하여 미디어 컨텐츠를 포함하는 MMT protocol(MMTP) packet을 전송한다. 방송 수신 장치(100)는 PI document를 수신한다. 방송 수신 장치(100)는 미디어 컨텐츠를 포함하는 전송 패킷을 수신한다. 방송 수신 장치(100)는 미디어 컨텐츠를 포함하는 전송 패킷으로부터 미디어 컨텐츠를 추출한다. 방송 수신 장치(100)는 PI document에 기초하여 미디어 컨텐츠를 재생한다.
또 다른 구체적인 실시예에서 도 26의 실시예에와 같이 MPEG-DASH 표준에 따라 미디어 컨텐츠가 IP 네트워크를 통하여 송수신될 수 있다. 도 26에서 컨텐츠 서버(50)는 미디어 컨텐츠 재생 정보를 포함하는 미디어 재생 디스크립션(Media Presentation Descriptioon, MPD)을 전송한다. 단 구체적인 실시예에 따라서는 MPD는 컨텐츠 서버(50)가 아닌 다른 외부의 서버가 전송할 수 있다. 또한 컨텐츠 서버(50)는 방송 수신 장치(100)의 요청에 기초하여 미디어 컨텐츠를 포함하는 세그먼트(segment)를 전송한다. 방송 수신 장치(100)는 MPD를 수신한다. 방송 수신 장치(100)는 MPD에 기초하여 미디어 컨텐츠를 컨텐츠 서버에 요청한다. 방송 수신 장치(100)는 요청에 기초하여 미디어 컨텐츠를 포함하는 전송 패킷을 수신한다. 방송 수신 장치(100)는 MPD에 기초하여 미디어 컨텐츠를 재생한다. 이를 위해 방송 수신 장치(100)는 제어부(150)에 DASH 클라이언트(client)를 포함할 수 있다. DASH 클라이언트는 MPD를 파싱(parsing)하는 MPD Parser, Segment를 파싱하는 Segment Parser, IP 송수신부(130)를 통하여 HTTP 요청 메시지를 전송하고 HTTP 응답 메시지를 수신하는 HTTP 클라이언트, 미디어를 재생하는 미디어 엔진(engine)을 포함할 수 있다. MPD에 대해서는 도 27 내지 도 29를 통하여 구체적으로 설명하도록 한다.
도 27은 본 발명의 일 실시예에 따른 MPD(Media Presentation Description)의 구조를 보여준다. 도 28은 본 발명의 일 실시예에 따른 MPD의 XML 신택스(syntax)를 보여준다. 도 29는 본 발명의 일 실시예에 따른 MPD의 피리어드(Period) 엘리먼트의 XML 신택스를 보여준다.
MPD는 피리어드(Period) 엘리먼트, 어뎁테이션 셋(Adaptation Set) 엘리먼트 및 레프리젠테이션(Representation) 엘리먼트를 포함할 수 있다.
피리어드 엘리먼트는 피리어드에 대한 정보를 포함한다. MPD는 복수의 피리어드에 대한 정보를 포함할 수 있다. 피리어드는 미디어 컨텐츠 재생(presentation)의 연속한 시간 구간을 나타낸다.
어뎁테이션 셋 엘리먼트는 어뎁테이션 셋에대한 정보를 포함한다. MPD는 복수의 어뎁테이션 셋에 대한 정보를 포함할 수 있다. 어뎁테이션 셋은 상호전환 가능한 하나 또는 그 이상의 미디어 컨텐츠 컴포넌트를 포함하는 미디어 컴포넌트의 집합이다. 어뎁테이션 셋은 하나 또는 그 이상의 레프리젠테이션을 포함할 수 있다. 어뎁테이션 셋 각각은 서로 다른 언어의 오디오를 포함하거나 서로 다른 언어의 자막을 포함할 수 있다.
레프리젠테이션 엘리먼트는 레프리젠테이션에 대한 정보를 포함한다. MPD는 복수의 레프리젠테이션에 대한 정보를 포함할 수 있다. 레프리젠테이션은 하나 또는 그 이상의 미디어 컴포넌트들의 구조화된 모음으로서, 동일한 미디어 컨텐츠 컴포넌트에 대하여 서로 달리 인코딩된 복수의 레프리젠테이션이 존재할 수 있다. 한편, 비트스트림 스위칭(bitstream switching)이 가능한 경우, 방송 수신 장치(100)는 미디어 컨텐츠 재생 도중 업데이트된 정보에 기초하여 수신되는 레프리젠테이션을 다른 레프리젠테이션으로 전환할 수 있다. 특히 방송 수신 장치(100)는 대역폭의 환경에 따라 수신되는 레프리젠테이션을 다른 레플리젠테이션으로 전환할 수 있다. 레프리젠테이션은 복수의 세그먼트들로 분할된다.
세그먼트는 미디어 컨텐츠 데이터의 단위이다. 구체적으로 세그먼트는 미디어 컨텐츠 데이터의 전송 단위일 수 있다. 레프리젠테이션은 HTTP 1.1(RFC 2616)에서 정의된 HTTP GET 또는 HTTP partial GET method를 이용한 미디어 컨텐츠 수신기(30)의 요청에 따라 세그먼트 또는 세그먼트의 일부분으로 전송될 수 있다.
또한, 세그먼트는 복수의 서브세그먼트들을 포함하여 구성될 수 있다. 서브세그먼트는 세그먼트 레벨에서 인덱스될 수 있는 가장 작은 단위(unit)를 의미할 수 있다. 세그먼트는 초기화 세그먼트(Initialization Segment), 미디어 세그먼트(Media Segment), 인덱스 세그먼트(Index Segment), 비트스트림 스위칭 세그먼트(Bitstream Switching Segment) 등을 포함할 수 있다.
도 30은 본 발명의 일 실시예에 따른 방송 수신 장치가 IP 네트워크를 통하여 미디어 컨텐츠를 수신하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보를 수신한다(S101). 구체적인 실시예에서 미디어 컨텐츠 재생 정보는 MPEG-DASH표준에 따른 MPD일 수 있다. 이때 방송 수신 장치(100)는 IP 송수신부(130)를 통하여 MPD를 수신할 수 있다. 또 다른 구체적인 실시예에서 미디어 컨텐츠 재생 정보는 MMT 표준에 따른 PI document일 수 있다. 이때 방송 수신 장치(100)는 IP 송수신부(130)를 통하여 PI document를 수신할 수 있다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 수신한다(S103).
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠를 재생한다(S105). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 재생할 수 있다.
위성, 케이블, 지상파 등의 방송망을 통하여 방송 스트림을 수신하는 방송 수신 장치(100)가 통신망(broadband)을 통하여 미디어 컨텐츠를 수신하기 위해서는 앞서 설명한 바와 같이 미디어 컨텐츠 재생 정보를 수신하는 것이 필요하다. 특히 방송망을 통하여 전송되는 컨텐츠와 효율적으로 연동되기 위해서는 미디어 컨텐츠 재생 정보가 방송 스트림을 통해서 전송되고 수신될 수 있어야 한다. 미디어 컨텐츠 재생 정보를 방송 스트림을 통해서 전송하는 경우, 컨텐츠 제공자 또는 방송사는 방송망을 통하여 제공되는 컨텐츠 정보와 통신망(broadband)을 통하여 전송되는 미디어 컨텐츠에 대한 정보를 통합하여 관리할 수 있기 때문이다. 또한 방송 수신 장치(100)는 방송 스트림을 지속적으로 수신하므로 미디어 컨텐츠 재생 정보를 방송 스트림을 통해서 전송하는 경우 방송 수신 장치(100)는 별도의 정보 요청 메시지 없이도 미디어 컨텐츠 재생 정보의 업데이트 유무를 신속히 파악할 수 있기 때문이다. 또한, 미디어 컨텐츠 재생 정보를 통하여 방송망을 통하여 제공되는 미디어 컨텐츠와 통신망(broadband)을 통하여 전송되는 미디어 컨텐츠에 대한 정보를 통합하여 시그널링하면, 방송 수신 장치는 미디어 컨텐츠 재생 정보에 기초하여 방송망을 통하여 제공되는 미디어 컨텐츠와 통신망(broadband)을 통하여 전송되는 미디어 컨텐츠 모두를 수신하고 재생할 수 있다. 따라서 방송 수신 장치의 효율성을 높이고 방송 수신 장치의 동작을 단순화할 수 있다.
도 31 내지 도 63을 통하여 통신망(broadband)이 아닌 방송망을 통하여 전송되는 방송 스트림을 이용하여 미디어 컨텐츠 재생 정보를 전송하고 수신하는 방법을 설명하도록 한다.
컨텐츠 제공자 또는 방송사는 미디어 컨텐츠 재생 정보를 미디어 컨텐츠 재생 정보 테이블에 포함하여 전송할 수 있다. 도 31 내지 도 32를 통하여 미디어 컨텐츠 재생 정보를 미디어 컨텐츠 재생 정보 테이블에 포함하여 전송하는 것에 대해서 설명하도록 한다.
미디어 컨텐츠 재생 정보를 미디어 컨텐츠 재생 정보 테이블에 포함하여 전송하는 경우, 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블에 기초하여 미디어 컨텐츠 재생 정보를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보를 추출하여 미디어 컨텐츠 재생 정보를 수신할 수 있다.
이때 미디어 컨텐츠 재생 정보 테이블은 여러 정보 테이블 중에서 미디어 컨텐츠 재생 정보 테이블을 식별할 수 있도록 하는 id 엘리먼트를 포함할 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 id_extension 엘리먼트를 포함할 수 있다. id_extension 엘리먼트는 미디어 컨텐츠 재생 정보 테이블 인스턴스를 식별하게 하는 식별자를 나타낼 수 있다. 이때 id_extension 필드는 미디어 컨텐츠 재생 정보 테이블의 프로토콜 버전을 나타내는 protocol_version 필드를 포함할 수 있다. 또한 서로 다른 미디어 컨텐츠 재생 정보를 포함하는 복수의 미디어 컨텐츠 재생 정보 테이블 각각을 식별하는 sequence_number 필드를 포함할 수 있다. id extension 엘리먼트는 미디어 컨텐츠 재생 정보 테이블과 연관된 방송 서비스를 식별하게 하는 서비스 식별자를 나타낼 수 있다. 이때 id_extension 엘리먼트는 program number, service id, source id 중 어느 하나를 나타낼 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보 테이블의 버전을 나타내는 version 엘리먼트를 포함할 수 있다. 이때 방송 수신 장치(100)는 version 엘리먼트에 기초하여 미디어 컨텐츠 재생 정보 테이블의 업데이트 유무를 판단할 수 있다. 구체적으로 방송 수신 장치(100)는 이전에 수신한 미디어 컨텐츠 재생 정보 테이블의 version 엘리먼트의 값과 다른 version 엘리먼트 값을 갖는 미디어 컨텐츠 재생 정보 테이블을 수신한 경우 미디어 컨텐츠 재생 정보 테이블이 업데이트 된 것으로 판단할 수 있다. 이때 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보를 추출할 수 있다. 또한 방송 수신 장치(100)는 이전에 수신한 미디어 컨텐츠 재생 정보 테이블의 version 엘리먼트의 값과 같은 version 엘리먼트 값을 갖는 미디어 컨텐츠 재생 정보 테이블을 수신한 경우 미디어 컨텐츠 재생 정보 테이블이 업데이트 되지 않은 것으로 판단할 수 있다. 이때 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보를 추출 하지 않는다. 구체적인 실시예에서 version 엘리먼트의 값은 미디어 컨텐츠 재생 정보가 포함하는 version 엘리먼트의 값과 동일한 값을 가질 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보를 식별하는 식별자를 나타내는 미디어 컨텐츠 재생 정보 id 엘리먼트를 포함할 수 있다.
이때 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보를 식별하는 식별자의 길이를 나타내는 미디어 컨텐츠 재생 정보 id_length 엘리먼트를 포함할 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보의 인코딩 방식을 나타내는 coding 엘리먼트를 포함할 수 있다. 이때 인코딩 방식을 나타내는 coding 엘리먼트는 미디어 컨텐츠 재생 정보 테이블이 별다른 압축 없이 미디어 컨텐츠 재생 정보를 포함함을 나타낼 수 있다. 또한 인코딩 방식을 나타내는 coding 엘리먼트는 미디어 컨텐츠 재생 정보 테이블이 특정 알고리즘에 의하여 압축된 미디어 컨텐츠 재생 정보를 포함함을 나타낼 수 있다. 이때 특정 알고리즘은 gzip 알고리즘일 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보의 길이를 나타내는 byte_length 엘리먼트를 포함할 수 있다.
또한 미디어 컨텐츠 재생 정보 자체인 byte() 엘리먼트를 포함할 수 있다.
이때 미디어 컨텐츠 재생 정보 테이블은 XML, HTML5 또는 비트스트림 형식일 수 있다.
도 31은 본 발명의 일 실시예에 따라 MPD를 MPD 정보 테이블 형태로 전송할 경우의 비트 스트림 신택스를 보여준다.
도 31의 실시예에서는 미디어 컨텐츠 재생 정보 테이블이 비스트르림 형태를 갖고, 미디어 컨텐츠 재생 정보가 MPD에 포함된 경우를 보여준다. 따라서 도 31에서 미디어 컨텐츠 재생 정보 테이블은 MPD 정보 테이블로 지칭한다.
MPD 정보 테이블은 table_id 필드, section_syntax_indicator 필드, private_indicator 필드, private_section_length 필드, table_id_extension 필드, table_id_extension 필드, MPD_data_version 필드, section_number 필드, last_section_number 필드, MPD_id_length 필드, MPD_id_byte 필드, MPD_coding 필드, MPD_byte_length 필드 및 MPD_byte 필드를 포함한다.
도 31의 실시예에서 table_id 필드는 MPD 정보 테이블의 식별자를 나타낸다. 이때 table_id 필드는 ATSC A/65에서 정의된 reserved id값중 하나인 0xFA일 수 있다.
section_syntax_indicator 필드는 MPD 정보 테이블을 MPEG-2 TS 표준의 long 형식의 private section table인지 아닌지를 나타낸다. MPD 정보 테이블은 long 형식이 아니므로 section_syntax_indicator 필드는 O의 값을 갖는다.
private_indicator 필드는 현재 테이블이 private section에 해당하는지를 나타낸다. MPD 정보 테이블은 private section에 해당하므로 private_indicator 필드는 1의 값을 갖는다.
private_section_length 필드는 private_section_length 필드 이후에 포함된 section의 길이를 나타낸다.
table_id_extension 필드는 MPD 정보 테이블을 통해 전송되는 MPD와 연관된 방송 서비스를 식별하는 식별자를 나타낸다. 이때 table_id_extension 필드는 program number, service id, source id 중 어느 하나를 나타낼 수 있다. 또 다른 실시예에서 table_id_extension 필드는 MPD를 식별하는 식별자를 나타낼 수 있다. 구체적으로 table_id_extension 필드는 MPD 정보 테이블의 프로토콜 버전을 나타내는 protocol_version 필드를 포함할 수 있다. 또한 table_id_extension 필드는 서로 다른 MPD를 포함하는 복수의 MPD 정보 테이블 각각을 식별하는 sequence_number 필드를 포함할 수 있다.
MPD_data_version 필드는 MPD 정보 테이블의 버전을 나타낸다. 이때 방송 수신 장치(100)는 mpd_data_version 필드에 기초하여 MPD 정보 테이블의 업데이트 유무를 판단할 수 있다. MPD_data_version 필드의 값은 MPD에 포함된 version 엘리먼트의 값과 동일할 수 있다.
section_number 필드는 현재 섹션의 번호를 나타낸다.
last_section_number 필드는 마직막 섹션의 번호를 나타낸다. MPD 정보 테이블의 크기가 큰 경우 복수의 섹션으로 나뉘어 전송될 수 있다. 이때 방송 수신 장치(100)는 section_number 필드와 last_section_number 필드에 기초하여 MPD 정보 테이블에 필요한 모든 섹션의 수신 여부를 판단한다.
MPD_id_bytes 필드는 MPD를 식별하는 식별자를 나타낸다.
MPD_id_length 필드는 MPD를 식별하는 식별자의 길이를 나타낸다.
MPD_coding 필드는 MPD의 인코딩 방식을 나타낸다. 이때 인코딩 방식을 나타내는 MPD_coding 필드는 MPD 정보 테이블이 별다른 압축 없이 미디어 컨텐츠 재생 정보를 포함함을 나타낼 수 있다. 또한 MPD_coding 필드는 MPD 정보 테이블이 특정 알고리즘에 의하여 압축된 MPD를 포함함을 나타낼 수 있다. 이때 특정 알고리즘은 gzip 알고리즘일 수 있다. 구체적인 실시예에서 MPD_coding 필드의 값은 표 33과 같이 정의될 수 있다.
표 33의 실시예에서 MPD_coding 필드가 0x00의 값을 가질 경우, MPD 정보 테이블이 별다른 압축 없이 미디어 컨텐츠 재생 정보를 포함함을 나타낸다. MPD_coding 필드가 0x01의 값을 가질 경우, MPD 정보 테이블이 gzip 알고리즘에 의하여 압축된 MPD를 포함함을 나타낸다.
MPD_byte_length 필드는 MPD의 길이를 나타낸다.
MPD_byte() 필드는 MPD 정보 테이블에 포함된 MPD의 실제 데이터를 포함한다.
도 32는 본 발명의 일 실시예에 따라 방송 수신 장치가 MPD를 포함하는 정보 테이블에 기초하여 MPD를 추출하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 스트림을 수신한다(S301).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출한다(S303). 구체적인 실시예에서 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트에 기초하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트와 id_extension 엘리먼트가 조합된 정보에 기초하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다. 예컨대 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트의 값으로 미디어 컨텐츠 재생 정보 테이블을 식별하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다. 이때 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트의 값과 id_extension 엘리먼트의 값이 조합된 값으로 미디어 컨텐츠 재생 정보 테이블을 식별하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보 테이블에 기초하여 미디어 컨텐츠 재생 정보를 추출한다(S305). 이때 미디어 컨텐츠 재생 정보가 압축되어 있는 경우, 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보의 압축을 해제하여 미디어 컨텐츠 재생 정보를 추출할 수 있다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 수신한다(S307).
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠를 재생한다(S309). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 재생할 수 있다.
컨텐츠 제공자 또는 방송사는 IP 네트워크가 아닌 방송망을 통하여 미디어 컨텐츠 재생 정보를 IP 데이터그램(Datagram)에 포함하여 전송할 수 있다. 이때 컨텐츠 제공자 또는 방송사는 미디어 컨텐츠 재생 정보를 포함하는 미디어 컨텐츠 재생 정보 테이블을 IP 데이터그램에 포함하여 전송할 수 있다. 도 33 내지 도 36을 통하여 미디어 컨텐츠 재생 정보를 IP 데이터그램(Datagram)에 포함하여 전송하는 것에 대해서 설명하도록 한다.
미디어 컨텐츠 재생 정보를 IP 데이터그램에 포함하여 전송하는 경우, 방송 수신 장치(100)는 미디어 IP 데이터그램에 기초하여 미디어 컨텐츠 재생 정보를 수신할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 IP 데이터그램으로 부터 미디어 컨텐츠 재생 정보를 추출하여 미디어 컨텐츠 재생 정보를 수신할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 IP 데이터그램으로 부터 미디어 컨텐츠 재생 정보 테이블을 추출하여 미디어 컨텐츠 재생 정보를 수신할 수 있다.
이때 미디어 컨텐츠 재생 정보는 UDP 페이로드(payload)에 포함될 수 있다. UDP 페이로드는 payload_type 필드와 payload 필드를 포함할 수 있다. payload_type필드는 payload 필드에 포함된 미디어 컨텐츠 재생 정보의 데이터 형태를 나타낸다. 이때 payload_type필드의 값은 payload 필드에 포함된 미디어 컨텐츠 재생 정보가 파일 그 자체임을 나타낼 수 있다. 구체적인 실시예에서 미디어 컨텐츠 재생 정보가 MPD에 포함된 경우, payload_type 필드의 값은 payload 필드가 MPD를 그대로 포함함을 나타낼 수 있다. 또 다른 구체적인 실시예에서 미디어 컨텐츠 재생 정보가 PI document에 포함된 경우, payload_type필드의 값은 payload 필드가 PI document를 그대로 포함함을 나타낼 수 있다. 또한 payload_type필드의 값은 미디어 컨텐츠 재생 정보가 특수한 신택스 형태로 포함되어 있음을 나타낼 수 있다. 또한 payload_type필드의 값은 미디어 컨텐츠 재생 정보가 앞서 설명한 미디어 컨텐츠 재생 정보 테이블 형태로 포함되어 있음을 나타낼 수 있다.
payload 필드는 미디어 컨텐츠 재생 정보를 포함할 수 있다.
컨텐츠 제공자 또는 방송사는 미디어 컨텐츠 재생 정보 링크를 미디어 컨텐츠 재생 정보 테이블에 포함하여 전송할 수 있다. 이때 미디어 컨텐츠 재생 정보 링크는 미디어 컨텐츠 재생 정보를 링크하여 미디어 컨텐츠 재생 정보를 수신할 수 있도록 한다. 이때 미디어 컨테츠 재생 정보 링크는 Uniform Resource Locator(URL) 형식일 수 있다. 도 33 내지 도 34를 통하여 미디어 컨텐츠 재생 정보 링크를 미디어 컨텐츠 재생 정보 테이블에 포함하여 전송하는 것에 대해서 설명하도록 한다.
미디어 컨텐츠 재생 정보 링크를 미디어 컨텐츠 재생 정보 테이블에 포함하여 전송하는 경우, 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블에 기초하여 미디어 컨텐츠 재생 정보를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보 링크를 추출할 수 있다. 이때 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 링크로부터 미디어 컨텐츠 재생 정보를 수신할 수 있다.
이때 미디어 컨텐츠 재생 정보 테이블은 여러 정보 테이블 중에서 미디어 컨텐츠 재생 정보 테이블을 식별할 수 있도록 하는 id 엘리먼트를 포함할 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 id_extension 엘리먼트를 포함할 수 있다. id_extension 엘리먼트는 미디어 컨텐츠 재생 정보 테이블 인스턴스를 식별하게 하는 식별자를 나타낼 수 있다. 이때 id_extension 필드는 미디어 컨텐츠 재생 정보 테이블의 프로토콜 버전을 나타내는 protocol_version 필드를 포함할 수 있다. 또한 서로 다른 미디어 컨텐츠 재생 정보를 포함하는 복수의 미디어 컨텐츠 재생 정보 테이블 각각을 식별하는 sequence_number 필드를 포함할 수 있다. id extension 엘리먼트는 미디어 컨텐츠 재생 정보 테이블과 연관된 방송 서비스를 식별하게 하는 서비스 식별자를 나타낼 수 있다. 이때 id_extension 엘리먼트는 program number, service id, source id 중 어느 하나를 나타낼 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보 테이블의 버전을 나타내는 version 엘리먼트를 포함할 수 있다. 이때 방송 수신 장치(100)는 version 엘리먼트에 기초하여 미디어 컨텐츠 재생 정보 테이블의 업데이트 유무를 판단할 수 있다. 구체적으로 방송 수신 장치(100)는 이전에 수신한 미디어 컨텐츠 재생 정보 테이블의 version 엘리먼트의 값과 다른 version 엘리먼트 값을 갖는 미디어 컨텐츠 재생 정보 테이블을 수신한 경우 미디어 컨텐츠 재생 정보 테이블이 업데이트 된 것으로 판단할 수 있다. 이때 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보를 추출할 수 있다. 또한 방송 수신 장치(100)는 이전에 수신한 미디어 컨텐츠 재생 정보 테이블의 version 엘리먼트의 값과 같은 version 엘리먼트 값을 갖는 미디어 컨텐츠 재생 정보 테이블을 수신한 경우 미디어 컨텐츠 재생 정보 테이블이 업데이트 되지 않은 것으로 판단할 수 있다. 이때 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보를 추출 하지 않는다. 구체적인 실시예에서 version 엘리먼트의 값은 미디어 컨텐츠 재생 정보가 포함하는 version 엘리먼트의 값과 동일한 값을 가질 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보를 식별하는 식별자를 나타내는 미디어 컨텐츠 재생 정보 id 엘리먼트를 포함할 수 있다.
이때 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보를 식별하는 식별자의 길이를 나타내는 미디어 컨텐츠 재생 정보 id_length 엘리먼트를 포함할 수 있다.
또한 미디어 컨텐츠 재생 정보 테이블은 미디어 컨텐츠 재생 정보 링크의 길이를 나타내는 byte_length 엘리먼트를 포함할 수 있다.
또한 미디어 컨텐츠 재생 정보 링크 자체인 byte() 엘리먼트를 포함할 수 있다. 이때 미디어 컨텐츠 재생 정보 링크는 URL형식일 수 있다.
이때 미디어 컨텐츠 재생 정보 테이블은 XML, HTML5 또는 비트스트림 형식일 수 있다.
도 33은 본 발명의 일 실시예에 따라 MPD 링크를 포함하는 MPD 링크 테이블을 보여준다.
도 33의 실시예에서는 미디어 컨텐츠 재생 정보 테이블이 비스트르림 형태를 갖고, 미디어 컨텐츠 재생 정보가 MPD에 포함된 경우를 보여준다. 따라서 도 33에서 미디어 컨텐츠 재생 정보 테이블은 MPD 정보 테이블로 지칭한다. 또한 미디어 컨텐츠 재생 정보를 링크는 URL 형태이다. 따라서 미디어 컨텐츠 재생 정보를 링크 MPD_URL로 지칭한다.
MPD 정보 테이블은 table_id 필드, section_syntax_indicator 필드, private_indicator 필드, private_section_length 필드, table_id_extension 필드, table_id_extension 필드, MPD_data_version 필드, section_number 필드, last_section_number 필드, MPD_id_length 필드, MPD_id_byte 필드, MPD_URL_length 필드 및 MPD_URL_bytes 필드를 포함한다.
도 33의 실시예에서 table_id 필드는 MPD 정보 테이블의 식별자를 나타낸다. 이때 table_id 필드는 ATSC A/65에서 정의된 reserved id값중 하나인 0xFA일 수 있다.
section_syntax_indicator 필드는 MPD 정보 테이블을 MPEG-2 TS 표준의 long 형식의 private section table인지 아닌지를 나타낸다. MPD 정보 테이블은 long 형식이 아니므로 section_syntax_indicator 필드는 O의 값을 갖는다.
private_indicator 필드는 현재 테이블이 private section에 해당하는지를 나타낸다. MPD 정보 테이블은 private section에 해당하므로 private_indicator 필드는 1의 값을 갖는다.
private_section_length 필드는 private_section_length 필드 이후에 포함된 section의 길이를 나타낸다.
table_id_extension 필드는 MPD 정보 테이블을 통해 전송되는 MPD와 연관된 방송 서비스를 식별하는 식별자를 나타낸다. 이때 table_id_extension 필드는 program number, service id, source id 중 어느 하나를 나타낼 수 있다. 또 다른 실시예에서 table_id_extension 필드는 MPD를 식별하는 식별자를 나타낼 수 있다. 구체적으로 table_id_extension 필드는 MPD 정보 테이블의 프로토콜 버전을 나타내는 protocol_version 필드를 포함할 수 있다. 또한 table_id_extension 필드는 서로 다른 MPD를 포함하는 복수의 MPD 정보 테이블 각각을 식별하는 sequence_number 필드를 포함할 수 있다.
MPD_data_version 필드는 MPD 정보 테이블의 버전을 나타낸다. 이때 방송 수신 장치(100)는 mpd_data_version 필드에 기초하여 MPD 정보 테이블의 업데이트 유무를 판단할 수 있다. MPD_data_version 필드의 값은 MPD에 포함된 version 엘리먼트의 값과 동일할 수 있다.
section_number 필드는 현재 섹션의 번호를 나타낸다.
last_section_number 필드는 마직막 섹션의 번호를 나타낸다. MPD 정보 테이블의 크기가 큰 경우 복수의 섹션으로 나뉘어 전송될 수 있다. 이때 방송 수신 장치(100)는 section_number 필드와 last_section_number 필드에 기초하여 MPD 정보 테이블에 필요한 모든 섹션의 수신 여부를 판단한다.
MPD_id_bytes 필드는 MPD를 식별하는 식별자를 나타낸다.
MPD_id_lengt 필드는 MPD를 식별하는 식별자의 길이를 나타낸다.
MPD_URL_length 필드는 MPD_URL의 길이를 나타낸다.
MPD_URL_byte() 필드는 MPD_URL 자체를 나타낸다.
도 34는 본 발명의 일 실시예에 따라 방송 수신 장치가 미디어 컨텐츠 재생 정보 링크를 포함하는 미디어 컨텐츠 재생 정보 테이블에 기초하여 MPD를 수신하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 스트림을 수신한다(S401).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 링크를 포함하는 미디어 컨텐츠 재생 정보 테이블을 추출한다(S403). 구체적인 실시예에서 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트에 기초하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트와 id_extension 엘리먼트가 조합된 정보에 기초하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다. 예컨대 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트의 값으로 미디어 컨텐츠 재생 정보 테이블을 식별하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다. 이때 방송 수신 장치(100)는 제어부(150)를 통하여 id 엘리먼트의 값과 id_extension 엘리먼트의 값이 조합된 값으로 미디어 컨텐츠 재생 정보 테이블을 식별하여 방송 스트림으로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보 테이블에 기초하여 미디어 컨텐츠 재생 정보 링크를 추출한다(S405). 이때 미디어 컨텐츠 재생 정보 링크는 URL 형식일 수 있다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 링크에 기초하여 미디어 컨텐츠 재생 정보를 수신한다(S407).
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 수신한다(S409).
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠를 재생한다(S411). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 재생할 수 있다.
도 35 내지 도 37의 실시예에서는 미디어 컨텐츠 재생 정보가 MPD에 포함된 경우를 보여준다. 도 35는 본 발명의 일 실시예에 따라 IP 데이터그램(Datagram)에 MPD 또는 MPD 정보 테이블을 포함하여 전송하는 것을 보여준다.
도 35에서 보여지는 데이터 구조와 같이 도 35내지 도 37의 실시예에서 IP 데이터그램은 IP 페이로드에 UDP 데이터그램을 포함한다. 또한 UDP 데이터그램은 UDP 페이로드에 MPD 또는 MPD 정보 테이블을 포함한다. 이때 IP 데이터그램의 신택스는 도 34를 통하여 구체적으로 설명하도록 한다.
도 36은 본 발명의 일 실시예에 따라 IP 데이터그램에 MPD 또는 MPD 정보 테이블을 포함하여 전송하는 경우, IP 데이터그램의 신택스를 보여준다.
UDP 페이로드는 MPD_payload_type 필드와 payload 필드를 포함한다. MPD_payload_type필드는 MPD_payload 필드에 포함된 MPD의 데이터 형태를 나타낸다. MPD_payload_type 필드의 값은 MPD_payload 필드가 MPD 자체를 포함함을 나타낼 수 있다. 또한 MPD_payload_type 필드의 값은 MPD_payload 필드가 MPD를 특수한 신택스 형태로 포함함을 나타낼 수 있다. 구체적으로 MPD_payload_type 필드의 값은 다음의 표 34와 같이 정의될 수 있다.
표 34의 실시예에서 MPD_payload_type 필드의 값이 0x01인 경우, MPD_payload 필드가 MPD를 특수한 신택스 형태로 포함함을 나타낸다. 또한 MPD_payload_type 필드의 값이 0x02인 경우, MPD_payload 필드가 MPD를 그대로 포함함을 나타낸다. 또한 MPD_payload_type 필드의 값이 0x03인 경우, MPD_payload 필드가 MPD를 앞서 설명한 MPD 정보 테이블 형태로 포함함을 나타낸다.
MPD_payload 필드는 MPD를 포함한다.
도 37은 본 발명의 일 실시예에 따라 IP 데이터그램에 MPD 또는 MPD 정보 테이블을 포함하여 전송하는 경우, IP 데이터그램에 포함된 MPD 페이로드(payload)의 신택스를 보여준다.
MPD_coding 필드는 MPD 또는 MPD 정보 테이블의 인코딩 방식을 나타낸다. 이때 인코딩 방식을 나타내는 MPD_coding 필드는 MPD 페이로드가 별다른 압축 없이 MPD 또는 MPD 정보 테이블을 포함함을 나타낼 수 있다. 또한 MPD_coding 필드는 MPD 페이로드가 특정 알고리즘에 의하여 압축된 MPD 또는 MPD 정보 테이블을 포함함을 나타낼 수 있다. 이때 특정 알고리즘은 gzip 알고리즘일 수 있다. 구체적인 실시예에서 MPD_coding 필드의 값은 표 35과 같이 정의될 수 있다.
표 35의 실시예에서 MPD_coding 필드가 0x00의 값을 가질 경우, MPD 페이로드 가 별다른 압축 없이 MPD 또는 MPD 정보 테이블을 포함함을 나타낸다. MPD_coding 필드가 0x01의 값을 가질 경우, MPD 페이로드가 gzip 알고리즘에 의하여 압축된 MPD 또는 MPD 정보 테이블을 포함함을 나타낸다.
MPD_byte_length 필드는 MPD 또는 MPD 정보 테이블의 길이를 나타낸다.
도 38은 본 발명의 일 실시예에 따라 방송 수신 장치가 미디어 컨텐츠 재생정보 또는 미디어 컨텐츠 재생 정보 테이블을 포함하는 IP 데이터그램에 기초하여 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 추출하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 스트림을 수신한다(S501).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 스트림으로부터 IP 데이터그램을 추출한다(S503).
방송 수신 장치(100)는 제어부(150)를 통하여 IP 데이터그램으로부터 UDP 데이터그램을 추출한다(S505). 구체적으로 방송 수신 장치(100)는 IP 데이터그램의 페이로드로부터 UDP 데이터그램을 추출한다.
방송 수신 장치(100)는 제어부(150)를 통하여 UDP 데이터그램에 기초하여 미디어 컨텐츠 재생 정보를 추출한다(S507). 구체적으로 방송 수신 장치(100)는 UDP 데이터그램의 페이로드로부터 미디어 컨테츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 추출한다. 구체적인 실시예에서 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블이 압축되어 있는 경우, 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블이의 압축을 해제하여 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다. 이때 방송 수신 장치(100)는 UDP 데이터그램에 포함된 coding 필드에 기초하여 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블이의 압축을 해제할 수 있다. 이때 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보를 추출할 수 있다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 수신한다(S507).
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠를 재생한다(S509). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 재생할 수 있다.
컨텐츠 제공자 또는 방송사는 미디어 컨텐츠 재생 정보의 전송 방법을 방송 정보 시그널링(signaling) 테이블에 포함하여 전송할 수 있다. 도 39 내지 도 47을 통하여 미디어 컨텐츠 재생 정보의 전송 방법을 방송 정보 시그널링 테이블에 포함하여 전송하는 것에 대해서 설명하도록 한다. 이때 방송 정보 시그널링 테이블은 비트 스트림, HTML5 및 XML 형식 중 어느 하나의 형식일 수 있다.
구체적인 실시예에서 컨텐츠 제공자 또는 방송사는 미디어 컨텐츠 재생 정보의 전송 방법을 포함하는 디스크립터(descriptor)를 방송 정보 시그널링(signaling) 정보 테이블에 포함하여 전송할 수 있다.
이때 방송 정보 시그널링 정보 테이블은 ISO/IEC 13818-1 표준에서 정의하는 PSI(Program Specific Information) 테이블, ETSI EN 300 468 표준에서 정의하는 SI(System Information) 테이블 및 ATSC 표준에서 정의하는 PSIP(Program and System Information Protocol) 테이블 중 어느 하나일 수 있다. 특히 시그널링 정보 테이블은 방송 컨텐츠에 대한 정보를 시그널링하는 정보 테이블일 수 있다. 이때 방송 컨텐츠에 대한 정보는 구체적으로 방송 서비스에 대한 정보, 엘리먼터리(elementary) 스트림에 대한 및 이벤트에 대한 정보 중 어느 하나일 수 있다. 구체적으로 정보 테이블은 ATSC 표준 중 하나인 A/65에 정의된 Table 중 TVCT(Terrestrial Virtual Channel Table), EIT(Event Information Table), A/153에 정의된 Table 중 SMT(Service Map Table), ETSI EN 300 468 표준에서 정의하는 SDT(Service Description Table), EIT(Event Information Table) 및 ISO/IEC 13818-1 표준에서 정의하는 PMT(Program Map Table) 중 어느 하나일 수 있다.
디스크립터는 디스크립터를 식별하는 tag 엘리먼트를 포함할 수 있다.
또한 디스크립터는 디스크립터의 길이를 타나내는 length 엘리먼트를 포함할 수 있다.
또한 디스크립터는 디스크립터에 의하여 지정되는 방송 컨텐츠가 방송망뿐만아니라 IP 네트워크로 동시에 전송됨을 나타내는 simulcast_flag를 포함할 수 있다. 이때 방송 컨텐츠는 디스크립터에 의하여 지정되는 엘리멘터리 스트림, 디스크립터에 의하여 지정되는 서비스 및 디스크립터에 의하여 지정되는 이벤트 중 어느 하나일 수 있다. simulcast_flag 값이 1이고 방송망을 통해 전송되는 방송 스트림의 전송이 불안정한 경우, 방송 수신 장치(100)는 IP 네트워크를 통해 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다. 구체적으로 simulcast_flag 값이 1이고 방송망을 통해 전송되는 방송 스트림의 신호가 일정 기준 보다 약하거나 방송 컨텐츠의 재생 끊김이 발생하는 경우, 방송 수신 장치(100)는 IP 네트워크를 통해 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다. 이때 방송 수신 장치(100)는 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있음을 사용자에게 표시할 수 있다. 또한 방송 수신 장치(100)는 사용자의 입력에 기초하여 IP 네트워크를 통해 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 사용자의 입력이 있는 경우 IP 네트워크를 통해 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다.
또한 디스크립터는 미디어 컨텐츠 재생 정보의 버전을 나타내는 version 엘리먼트를 포함할 수 있다.
또한 디스크립터는 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보테이블의 구체적인 전송 방법을 나타내는 transport_mode 엘리먼트를 포함할 수 있다. 이때 transport_mode 엘리먼트가 가지는 값은 디스크립터가 직접 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 포함함을 나타낼 수 있다. 또한 transport_mode 엘리먼트가 가지는 값은 디스크립터가 포함하는 링크주소를 통하여 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 다운 받을 수 있음을 나타낼 수 있다. 또한 transport_mode 엘리먼트가 가지는 값은 디스크립터를 포함하는 패킷과 다른 패킷에 포함된 정보 테이블이 미디어 컨텐츠 재생 정보를 포함함을 나타낼 수 있다. 또한 transport_mode 엘리먼트가 가지는 값은 미디어 컨텐츠 재생 정보가 별도의 방송 스트림이 포함함을 나타낼 수 있다. 또한 transport_mode 엘리먼트가 가지는 값은 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 IP 데이터그램이 포함함을 나타낼 수 있다. 또한 transport_mode 엘리먼트가 가지는 값은 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블이 세션 기반 전송 프로토콜에 의하여 전송됨을 나타낼 수 있다. 이때 세션 기반 전송 프로토콜은 File Delivery over Unidirectional Transport(FLUTE)일 수 있다. 또한 세션 기반 전송 프로토콜은 ALC(Asynchronous Layered Coding)/LCT (Layered Coding Transport) 일 수 있다.
또한 디스크립터는 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블의 전송 방법에 해당하는 구체적인 전송 정보를 포함하는 bootstrap_data 엘리먼트를 포함할 수 있다. 이때 디스크립터가 직접 미디어 컨텐츠 재생 정보를 포함하는 경우 bootstrap_data 엘리먼트는 미디어 컨텐츠 재생 정보 자체를 포함할 수 있다. 이때 방송 수신 장치(100)는 디스크립터로부터 미디어 컨텐츠 재생 정보를 추출할 수 있다.
또한 디스크립터가 포함하는 링크를 통하여 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 다운 받을 수 있는 경우 bootstrap_data 엘리먼트는 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 다운 받을 수 있는 링크를 포함할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 링크에 접속하여 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 다운 받을 수 있다. 이때 링크는 복수일 수 있다. 또한 복수의 링크에 대한 우선순위가 존재할 수 있다. 이때 방송 수신 장치(100)는 우선 순위가 높은 링크부터 순차적으로 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블의 다운로드를 시도할 수 있다. 이때 링크는 Uniform Resource Locator(URL)일 수 있다.
또한 디스크립터를 포함하는 패킷과 다른 패킷에 포함된 정보 테이블이 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보를 링크하는 미디어 컨텐츠 재생 정보 링크를 포함하는 경우 bootstrap_data 엘리먼트는 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 링크를 포함하는 패킷의 식별자를 포함할 수 있다. 이때 정보 테이블의 테이블 아이디는 미리 정하여진 것일 수 있다. 다만 정보 테이블의 테이블 아이디는 미리 정하여진 것이 아닌 경우, bootstrap_data 엘리먼트는 정보 테이블의 테이블 아이디를 포함할 수 있다. 이때 정보 테이블은 앞서 설명한 미디어 컨텐츠 재생 정보 테이블일 수 있다.
또한 별도의 방송 스트림이 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 링크를 포함하는 경우 bootstrap_data 엘리먼트는 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 링크를 포함하는 방송 스트림의 식별자와 패킷의 식별자를 포함할 수 있다. 이때 방송 스트림이 MPEG2 TS 표준을 따르는 경우 방송 스트림의 식별자는 TS ID이고 패킷 식별자는 PID일 수 있다. 구체적으로 패킷에 포함된 정보 테이블이 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 링크를 포함할 수 있다. 이때 정보 테이블의 테이블 아이디는 미리 정하여진 것일 수 있다. 다만 정보 테이블의 테이블 아이디는 미리 정하여진 것이 아닌 경우, bootstrap_data 엘리먼트는 정보 테이블의 테이블 아이디를 포함할 수 있다. 이때 미디어 컨텐츠 재생 정보를 포함하는 정보 테이블은 앞서 설명한 미디어 컨텐츠 재생 정보 테이블일 수 있다.
또한 IP 데이터그램이 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 포함하는 경우 bootstrap_data 엘리먼트는 미디어 컨텐츠 재생 정보를 포함하는 IP 데이터그램을 다운로드 받을 수 있는 피지컬 레이어(physical layer)의 논리적 데이터 전송 채널의 식별자, IP 주소, 포트 번호, 소스 IP 주소의 포함여부를 나타내는 플래그, 소스 IP 주소, IP 주소 형식의 버전을 포함할 수 있다. 이때, 피지컬 레이어의 논리적 데이터 전송 채널은 피지컬 레이어 파이프라할 수 있다. 이때, 피지컬 레이어 파이프는 하나의 무선 주파수(Radio Frequency, RF) 채널을 내 논리적 데이터 전송 경로이다. 하나의 RF 채널은 하나 또는 복수의 피지컬 레이어 파이프를 포함할 수 있다. 피지컬 레이어 파이프는 데이터 파이프(Data Pipe, DP)로 지칭될 수 있다.
또한 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블을 세션 기반 전송 프로토콜 세션을 통하여 전송하는 경우 bootstrap_data 엘리먼트는 미디어 컨텐츠 정보 또는 미디어 컨텐츠 재생 정보 테이블을 다운로드 받을 수 있는 피지컬 레이어의 데이터 전송 채널의 식별자, 세션의 식별자, 세션의 IP 주소, 세션의 포트 번호, 세션의 소스 IP 주소 의 포함여부를 나타내는 플래그, 세션의 소스 IP 주소, IP 주소 형식의 버전을 포함할 수 있다. 앞서 기재한 바와 같이 세션 기반 전송 프로토콜은 FLUTE일 수 있다. 또한 세션 기반 전송 프로토콜은 ALC/LCT일 수 있다. 이때 세션 기반 전송 프로토콜이 FLUTE인 경우, 세션의 식별자는 FLUTE 세션의 식별자인 TSI일 수 있다.
도 39 내지 도 45의 실시예에서 MPD가 미디어 컨텐츠 재생 정보를 포함한다. 따라서 도 39 내지 도 45의 실시예에서 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 테이블의 전송 방법을 포함하는 디스크립터를 MPD 디스크립터로 지칭한다. 또한 이때 MPD 디스크립터는 비트 스트림 형식 방송 정보 시그널링 정보 테이블에 포함된다.
도 39는 본 발명의 일 실시예에 따라 MPD를 전송하기 위한 MPD 디스크립터(descriptor)의 신택스를 보여준다.
MPD 디스크립터는 descriptor_tag 필드, descriptor_length 필드, MPD_version 필드, simulcast_flag 필드, MPD_vesrsion 필드, MPD_transport mode 필드 및 MPD_bootstrap_data 필드를 포함한다.
descriptor_tag 필드는 MPD descriptor의 식별자를 나타낸다.
descriptor_length 필드는 MPD descriptor의 길이를 나타낸다.
MPD_version 필드는 MPD의 버전을 나타낸다.
simulcast_flag 필드는 MPD 디스크립터에 의하여 지정되는 방송 컨텐츠가 방송망뿐만 아니라 IP 네트워크로 동시에 전송됨을 나타낸다. 이때 방송 컨텐츠는 MPD 디스크립터에 의하여 지정되는 엘리멘터리 스트림, MPD 디스크립터에 의하여 지정되는 서비스 및 MPD 디스크립터에 의하여 지정되는 이벤트 중 어느 하나일 수 있다. simulcast_flag 값이 1이고 방송망을 통해 전송되는 방송 스트림의 전송이 불안정한 경우, 방송 수신 장치(100)는 IP 네트워크를 통해 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다. 구체적으로 simulcast_flag 값이 1이고 방송망을 통해 전송되는 방송 스트림의 신호가 일정 기준 보다 약하거나 방송 컨텐츠의 재생 끊김이 발생하는 경우, 방송 수신 장치(100)는 IP 네트워크를 통해 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다. 이때 방송 수신 장치(100)는 MPD 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있음을 사용자에게 표시할 수 있다. 또한 방송 수신 장치(100)는 사용자의 입력에 기초하여 IP 네트워크를 통해 MPD 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 사용자의 입력이 있는 경우 IP 네트워크를 통해 MPD 디스크립터에 의하여 지정되는 방송 컨텐츠를 수신할 수 있다.
MPD_transport mode 필드는 MPD, MPD 정보 테이블(MPD_Section) 또는 MPD 링크 테이블(MPD_URL_Section)의 구체적인 전송 방법을 나타낸다. 이때 MPD_transport mode 필드가 가지는 값은 MPD 디스크립터가 직접 MPD를 포함함을 나타낼 수 있다. 또한 MPD_transport mode 필드가 가지는 값은 MPD 디스크립터가 포함하는 링크주소를 통하여 MPD. MPD 정보 테이블 또는 MPD 링크 테이블을 다운 받을 수 있음을 나타낼 수 있다. 또한 MPD_transport mode 필드가 가지는 값은 MPD 디스크립터를 포함하는 패킷과 다른 패킷에 포함된 정보 테이블이 MPD 또는 MPD_URL을 포함함을 나타낼 수 있다. 이때 MPD_URL은 MPD를 다운로드 받을 수 있는 URL을 나타낸다. 이때 정보 테이블은 앞서 설명한 MPD 정보 테이블 일 수 있다. 또한 이때 정보 테이블은 앞서 설명한 MPD 링크 정보 테이블일 수 있다. 또한 MPD_transport mode 필드가 가지는 값은 MPD 또는 MPD_URL을M 별도의 방송 스트림이 포함함을 나타낼 수 있다. 이때 정보 테이블은 앞서 설명한 MPD 정보 테이블 일 수 있다. 또한 이때 정보 테이블은 앞서 설명한 MPD 링크 정보 테이블일 수 있다. 또한 MPD_transport mode 필드가 가지는 값은 MPD, MPD 정보 테이블 또는 MPD 링크 테이블을 IP 데이터그램이 포함함을 나타낼 수 있다. 또한 MPD_transport mode 필드가 가지는 값은 MPD, MPD 정보 테이블 또는 MPD 링크 테이블을 FLUTE 혹은 ALC/LCT 등의 세션 기반 전송 프로토콜 세션을 통하여 전송함을 나타낼 수 있다. 구체적으로 MPD_transport mode 필드의 값은 다음의 표 36과 같이 할당될 수 있다.
표 36의 실시예에서 MPD_transport mode 필드가 가지는 값이 0x00인 경우 MPD_transport mode 필드는 MPD 디스크립터가 직접 MPD를 포함함을 나타낸다. MPD_transport mode 필드가 가지는 값이 0x01인 경우 MPD_transport mode 필드는 MPD 디스크립터가 포함하는 링크주소를 통하여 MPD, MPD 정보 테이블 또는 MPD 링크 테이블을 다운 받을 수 있음을 나타낸다. MPD_transport mode 필드가 가지는 값이 0x02인 경우 MPD_transport mode 필드는 MPD 디스크립터를 포함하는 패킷과 다른 패킷에 포함된 정보 테이블이 MPD 또는 MPD_URL를 포함함을 나타낸다. MPD_transport mode 필드가 가지는 값이 0x03인 경우 MPD_transport mode 필드는 MPD를 별도의 방송 스트림이 포함함을 나타낸다. MPD_transport mode 필드가 가지는 값이 0x04인 경우 MPD_transport mode 필드는 MPD, MPD 정보 테이블 또는 MPD 링크 테이블을 IP 데이터그램이 포함함을 나타낸다. MPD_transport mode 필드가 가지는 값이 0x05인 경우 MPD_transport mode 필드는 MPD, MPD 정보 테이블 또는 MPD 링크 테이블 M을 전송 프로토콜 세션을 통하여 전송함을 나타낸다. 이때 전송 프로토콜은 FLUTE일 수 있다. 또한 이때 전송 프로토콜은 ALC/LCT일 수 있다.
MPD_bootstrap_data 필드는 MPD 혹은 MPD 정보 테이블 전송 방법에 따라 구체적인 전송 정보를 포함한다. 이에 대해서는 도 38 내지 도 43을 참조하여 구체적으로 설명하도록 한다.
도 40은 MPD 디스크립터가 MPD를 직접 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
MPD 디스크립터가 직접 미디어 컨텐츠 재생 정보를 포함하는 경우. bootstrap_data는 MPD_data_length 필드와 MPD_data_byte 필드를 포함한다. MPD_data_length 필드는 MPD 데이터의 크기를 나타낸다. MPD_data_byte 필드는 MPD의 실제 데이터를 나타낸다. 이때 방송 수신 장치(100)는 MPD 디스크립터로부터 MPD를 추출할 수 있다.
도 41은 MPD 디스크립터가 MPD. MPD 정보 테이블 또는 MPD 링크 테이블을 저장하는 링크의 주소를 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
MPD 디스크립터가 포함하는 링크주소를 통하여 MPD를 다운 받을 수 있는 경우 bootstrap_data는 MPD_URL_length 필드와 MPD_URL 필드를 포함한다. MPD_URL_length 필드는 URL의 길이를 나타낸다. MPD_URL 필드는 MPD, MPD 정보 테이블 또는 MPD 링크 테이블을 다운 받을 수 있는 URL을 나타낸다.
도 42는 MPD 디스크립터가 MPD를 포함하는 데이터 패킷의 식별자를 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
MPD 디스크립터를 포함하는 패킷과 다른 패킷에 포함된 정보 테이블이 MPD, MPD_URL을 포함하는 경우 bootstrap_data는 MPD_pid 필드를 포함한다. 이때 정보 테이블은 앞서 기재한 바와 같이 MPD 정보 테이블일 수 있다. 또한 이때 정보 테이블은 앞서 기재한 바와 같이 MPD 링크 정보 테이블일 수 있다. MPD_pid 필드는 MPD를 포함하는 패킷의 식별자를 나타낸다. 이때 방송 스트림이 MPEG-2 TS 표준을 따르는 경우 패킷의 식별자는 PID일 수 있다. 방송 수신 장치(100)는 MPD_pid 필드에 기초하여 MPD를 추출할 수 있다. 방송 수신 장치(100)는 MPD_pid 필드의 값으로 MPD 또는 MPD_URL을 포함하는 패킷을 식별하고, MPD 또는 MPD_URL를 포함하는 패킷으로부터 MPD 또는 MPD_URL을 추출할 수 있다. 이때 정보 테이블의 테이블 아이디는 미리 정하여진 것일 수 있다. 다만 정보 테이블의 테이블 아이디는 미리 정하여진 것이 아닌 경우, bootstrap_data는 정보 테이블의 테이블 아이디를 나타내는 table_id 필드를 포함할 수 있다.
도 43은 MPD 디스크립터가 MPD를 포함하는 별도의 방송 스트림의 식별자를 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
별도의 방송 스트림이 MPD 또는 MPD_URL을 포함하는 경우 bootstrap_data는 transport_stream_id 필드와 MPD_pid 필드를 포함한다. transport_stream_id 필드는 MPD를 포함하는 방송 스트림의 식별자를 나타낸다. MPD_pid는 MPD 또는 MPD_URL을 포함하는 패킷의 식별자를 나타낸다. 이때 방송 스트림이 MPEG-2 TS 표준을 따르는 경우 방송 스트림의 식별자는 TS ID이고 패킷의 식별자는 PID일 수 있다. 방송 수신 장치(100)는 transport_stream_id 필드와 MPD_pid 필드에 기초하여 MPD 또는 MPD_URL을 추출할 수 있다. 방송 수신 장치(100)는 transport_stream_id 필드로 MPD 또는 MPD_URL을 포함하는 방송 스트림을 식별하고 MPD_pid 필드로 MPD를 포함하는 패킷을 식별할 수 있다. 이후 방송 수신 장치(100)는 MPD 또는 MPD_URL을 포함하는 패킷으로부터 MPD 또는 MPD_URL을 추출할 수 있다. 구체적인 실시예에서 MPD를 포함하는 패킷은 MPD 정보 테이블을 포함할 수 있다. 또 다른 구체적인 실시예에서 MPD_URL을 포함하는 패킷은 MPD 링크 정보 테이블을 포함할 수 있다. 이때 정보 테이블의 테이블 아이디는 미리 정하여진 것일 수 있다. 다만 정보 테이블의 테이블 아이디는 미리 정하여진 것이 아닌 경우, bootstrap_data는 정보 테이블의 테이블 아이디를 나타내는 table_id 필드를 포함할 수 있다.
도 44는 MPD 디스크립터가 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 포함하는 IP 데이터그램에 대한 정보를 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
MPD 디스크립터가 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 포함하는 IP 데이터그램에 대한 정보를 포함하는 경우 bootstrap_data 는 IP_version_flag 필드, source_IP_address_flag 필드, source_IP_address 필드, destination_IP_address 필드, destination_port_numebr 및 dataPipe_id 필드를 포함한다. dataPipe_id 필드는 피지컬 레이어의 데이터 전송 채널의 식별자를 나타낸다. 구체적으로 방송 수신 장치(100)는 해당 전송 채널을 통하여 특정 IP 데이터그램을 획득할 수 있다. IP_version_flag 필드는 IP 주소 형식의 버전을 나타낸다. source_IP_address_flag 필드는 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 포함하는 IP 데이터그램의 소스 IP 주소의 포함여부를 나타낸다. destination_IP_address 필드는 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 포함하는 IP 데이터그램을 다운로드 받을 수 있는 IP 주소를 나타낸다. destination_port_numebr 필드는 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 포함하는 IP 데이터그램을 다운로드 받을 수 있는 포트 번호를 나타낸다. 방송 수신 장치(100)는 dataPipe_id 필드, destination_IP_address 필드 및 destination_port_numebr 필드에 기초하여 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 추출할 수 있다. 방송 수신 장치(100)는 dataPipe_id 필드에 기초하여 IP 데이터그램을 전송하는 피지컬 레이어의 데이터 채널을 식별하고, destination_IP_address 필드와 destination_port_numebr 필드에 기초하여 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 포함하는 IP 데이터그램을 추출할 수 있다. 이후 방송 수신 장치(100)는 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 포함하는 IP 데이터그램으로부터 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 추출할 수 있다.
도 45는 MPD 디스크립터가 MPD를 전송하는 FLUTE 혹은 ALC/LCT 등 세션 기반전송 프로토콜 세션에 대한 정보를 포함하는 경우 MPD bootstrap_data의 신택스를 보여준다.
미디어 컨텐츠 재생 정보를 FLUTE 혹은 ALC/LCT 등 세션 기반 전송 프로토콜 세션을 통하여 전송하는 경우 bootstrap_data는 IP_version_flag 필드, source_IP_address_flag 필드, source_IP_address 필드, destination_IP_address 필드, destination_port_numebr 필드, dataPipe_id 필드 및 flute_tsi 필드를 포함한다. IP_version_flag 필드는 IP 주소 형식의 버전을 나타낸다. source_IP_address_flag 필드는 MPD를 전송하는 FLUTE 세션의 소스 IP 주소의 포함여부를 나타낸다. destination_IP_address 필드는 MPD를 전송하는 FLUTE 세션의 IP 주소를 나타낸다. destination_port_numebr 필드는 MPD를 전송하는 FLUTE 세션의 포트 번호를 나타낸다. dataPipe_id 필드는 피지컬 레이어의 데이터 전송 채널의 식별자를 나타낸다. flute_tsi 필드는 MPD를 전송하는 FLUTE 세션의 식별자를 타낸다. 방송 수신 장치(100)는 dataPipe_id 필드, destination_IP_address 필드 및 destination_port_numebr, flute_tsi 필드를 사용하여 MPD, MPD 정보 테이블 또는 MPD 링크 정보 테이블을 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 dataPipe_id 필드 값에 따라 피지컬 레이어의 데이터 전송 채널을 식별하고 flute_tsi 필드, destination_IP_address 필드 및 destination_port_numebr를 사용하여 MPD, MPD 정보 테이블, MPD 링크 정보 테이블을 추출할 수 있다.
도 46은 미디어 컨텐츠 재생 정보의 전송 방법을 방송 정보 시그널링(signaling) 정보 테이블에 포함하여 전송하는 경우 방송 수신 장치가 미디어 컨텐츠 재생 정보를 수신하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 스트림을 수신한다(S701).
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보의 전송 방법이 포함된 디스크립터를 포함하는 정보 테이블을 추출한다(S703). 앞서 기재한바와 같이 이때 정보 테이블은 ISO/IEC 13818-1 표준에서 정의하는 Program Specific Information(PSI) 테이블, ETSI EN 300 468 표준에서 정의하는 System Information(SI) 테이블 및 ATSC 표준에서 정의하는 Program and System Information Protocol(PSIP) 테이블 중 어느 하나일 수 있다. 특히 정보 테이블은 방송 컨텐츠에 대한 정보를 시그널링하는 정보 테이블일 수 있다. 방송 컨텐츠에 대한 정보는 구체적으로 방송 서비스에 대한 정보, 엘리먼터리(elementary) 스트림에 대한 정보 및 이벤트에 대한 정보일 수 있다. 구체적으로 정보 테이블은 ATSC 표준 중 하나인 A/65에 정의된 Table 중 Terrestrial Virtual Channel Table(TVCT), Event Information Table(EIT), A/153에 정의된 Table 중 Service Map Table(SMT), ETSI EN 300 468 표준에서 정의하는 Service Description Table(SDT), Event Information Table(EIT) 및 ISO/IEC 13818-1 표준에서 정의하는 Program Map Table(PMT) 중 어느 하나일 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 정보 테이블에서 미디어 컨텐츠 재생 정보의 전송 방법이 포함된 디스크립터를 추출한다(S705).
방송 수신 장치(100)는 제어부(150)를 통하여 정보 테이블에서 미디어 컨텐츠 재생 정보 전송 방법을 추출한다(S707). 디스크립터는 미디어 컨텐츠 재생 정보또는 미디어 컨텐츠 재생 정보 테이블의 구체적인 전송 방법을 나타내는 transport_mode 엘리먼트를 포함할 수 있다. 또한 디스크립터는 미디어 컨텐츠 재생 정보 또는 미디어 컨테츠 재생 정보 테이블의 전송 방법에 따른 구체적인 전송 정보를 포함하는 bootstrap_data 엘리먼트를 포함할 수 있다. 이때 방송 수신 장치(100)는 transport_mode 엘리먼트에 기초하여 미디어 컨텐츠 재생 정보 또는 미디어 컨테츠 재생 정보 테이블의 전송 방법을 식별하고, bootstrap_data 엘리먼트에 기초하여 미디어 컨텐츠 재생 정보 또는 미디어 컨테츠 재생 정보 테이블의 전송 정보를 추출할 수 있다. 이때 미디어 컨텐츠 재생 정보의 전송 방법은 앞서 기재한 바와 같이 디스크립터가 직접 미디어 컨텐츠 재생 정보를 포함하는 경우, 디스크립터가 직접 미디어 컨텐츠 재생 정보를 포함하는 경우, 디스크립터가 포함하는 링크를 통하여 미디어 컨텐츠 재생 정보 또는 미디어 컨테츠 재생 정보 테이블를 다운 받을 수 있는 경우, 디스크립터를 포함하는 패킷과 다른 패킷이 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 링크를 포함하는 경우, 별도의 방송 스트림이 미디어 컨텐츠 재생 정보 또는 미디어 컨텐츠 재생 정보 링크를 포함하는 경우, bootstrap_data 엘리먼트는 미디어 컨텐츠 재생 정보를 포함하는 방송 스트림의 식별자와 패킷 식별자를 포함하는 경우, IP 데이터그램이 미디어 컨텐츠 재생 정보 또는 미디어 컨테츠 재생 정보 테이블을 포함하는 경우 및 미디어 컨텐츠 재생 정보를 세션 기반 전송 프로토콜을 통하여 전송하는 경우 중 어느 하나일 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보 미디어 컨텐츠 재생 정보 테이블 전송 방법에 기초하여 미디어 컨텐츠 재생 정보를 획득한다(S709). 이때 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보 테이블을 획득할 수 있다. 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보 테이블로부터 미디어 컨텐츠 재생 정보 테이블을 추출할 수 있다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 수신한다(S711).
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠를 재생한다(S713). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 재생할 수 있다. 이때 방송 컨텐츠가 방송망뿐만 아니라 IP 네트워크를 통해서도 전송되는 경우 방송 스트림의 전송 안정 여부에 기초하여 미디어 컨텐츠를 재생할 수 있다. 이에 대해서는 도 47을 통하여 설명하도록 한다.
도 47은 방송 컨텐츠가 방송망뿐만 아니라 IP 네트워크를 통해서도 전송되는 경우 방송 수신 장치가 방송 스트림 전송 안정 여부에 기초하여 미디어 컨텐츠를 재생하는 동작을 설명하는 흐름도이다.
방송 수신 장치(100)는 제어부(150)를 통하여 디스크립터에 의하여 지정된 방송 컨텐츠가 방송망뿐만 아니라 IP 네트워크를 통해서도 전송되는지 판단한다(S901). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 디스크립터에 포함된 simulcast_flag 엘리먼트의 값이 1인지 판단할 수 있다.
디스크립터에 의하여 지정된 방송 컨텐츠가 IP 네트워크를 통해 전송되는 경우, 방송 수신 장치(100)는 제어부(150)를 통하여 방송 스트림 전송이 불안정 한지 판단한다(S903). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 방송망을 통해 전송되는 방송 스트림의 신호가 일정 기준 보다 약한지 판단할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 제어부(150)를 통하여 방송 컨텐츠의 재생 끊김이 발생하는지 판단할 수 있다.
방송 스트림 전송이 불안정한 경우, 방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 수신한다(S905).
방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠를 재생한다(S907). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 미디어 컨텐츠 재생 정보에 기초하여 미디어 컨텐츠를 재생할 수 있다.
도 48은 MPEG-DASH 표준에 따라 IP 네트워크를 통해 전송되는 미디어 컨텐츠의 동기화 정보를 포함하는 방송 스트림 패킷의 신택스를 보여준다.
도 48의 실시예에에서 미디어 컨텐츠는 MPEG-DASH 표준에 따라 전송된다. 따라서 동기화 정보 패킷을 DASHTime 패킷이라 지칭하기로 한다.
DASHTime 패킷은 DASHTimePacket_identifier 필드, mpd_force_update 필드, period_switch_timer 필드, presentation_time 필드, 및 period_id 필드를 포함한다.
DASHTimePacket_identifier 필드는 DASHTime 패킷임을 식별하게 하는 식별자를 나타낸다.
mpd_force_update 필드는 동기화 정보 패킷은 재생 시간 동기화 이전에 MPD가 업데이트 되어야 함을 나타낸다.
period_switch_timer 필드는 DASHTime 패킷의 방송 스트림 기준 시간으로부터 동기화의 대상인 MPD의 Period 엘리먼트의 시작 시간까지 남은 시간을 나타낸다. switch_timer 필드의 값이 0인 경우 period_id필드에 의해서 식별되는 Period가 현재 액티브(active)상태이며 미디어 컨텐츠를 즉시 동기화해야 함을 나타낼 수 있다. switch_timer 필드의 값이 O이 아닌 경우 period_id필드에 의해서 식별되는 Period가 현재 액티브(active)상태가 아님을 나타낼 수 있다.
presentation_time 필드는 방송 컨텐츠와 동기화 될 IP 네트워크로 전송되는 미디어 컨텐츠의 자체 재생 시간을 나타낸다. 이때 presentation_time 필드의 값을 이용하여 새로운 DASHTime 패킷 수신 전까지 수신되는 방송 컨텐츠의 동기화된 재생 시간을 획득할 수 있다. 이는 구체적으로 다음의 식을 이용한다.
MPT = (PT - PT0)/RC + (presentation_time- TimeOffset)/ SegmentBase.timescale
이때 MPT는 새로운 DASHTime 패킷 수신 전까지 수신되는 방송 컨텐츠의 동기화된 재생 시간을 나타내고, PT0는 동기화 정보 패킷의 방송 스트림 기준 시간을 나타내고, PT는 새로운 DASHTime 패킷 수신 전까지 수신되는 방송 컨텐츠의 방송 스트림 기준 시간을 나타내고, RC는 방송 스트림의 기준 클럭을 나타내고, presnetion_time은 presentation_time 필드의 값인 미디어 컨텐츠의 자체 재생 시간을 나타내고, TimeOffset은 DASHTime 패킷의 동기화 대상인 미디어 컨텐츠 재생 구간의 미디어 컨텐츠 재생 시작 시간을 나타내고, SegmentBase.timescale은 MPD의 timescale 엘리먼트의 값을 나타낸다.
period_id 필드는 MPD의 Period 엘리먼트를 식별하게 하고 MPD의 Period 엘리먼트의 id와 MPD의 URL을 포함한다. 방송 수신 장치(100)는 period_id를 통해 동기화의 대상인 미디어 컨텐츠와 미디어 컨텐츠의 재생 구간인 Period 엘리먼트를 식별할 수 있다.
도 48의 실시예에서와 같이 별도의 동기화 정보 패킷을 통하여 동기화 정보를 전송하는 경우, 방송 수신 장치(100)가 별도의 패킷을 수신하여만 미디어 컨텐츠와 방송 컨텐츠를 동기화할 수 있는 문제가 있다. 따라서 이를 해결하기 위하여 비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더(header)는 각 엘레멘터리 스트림간의 동기화를 위하여 방송 컨텐츠 기준 시간을 포함하는 것이 보통이다. 예컨대 MPEG-2 TS 표준에 따른 방송 스트림의 패킷의 헤더는 PTS를 포함한다. 따라서 비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더에 동기화 정보를 포함하여 전송한다면 방송 수신 장치(100)는 효율적으로 미디어 컨텐츠와 방송 컨텐츠 간의 동기화를 수행할 수 있다. 이에 대해서는 도 49와 도 50을 참조하여 구체적으로 설명하도록 한다.
비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더는 방송 컨텐츠와 동기화 될 미디어 컨텐츠의 자체 재생 시간을 나타내는 presentation_time 엘리먼트를 포함할 수 있다. 또한 동기화의 대상인 미디어 컨텐츠 재생 구간의 식별자를 나타내는 period_id 엘리먼트도 포함할 수 있다. 이와 함께 미디어 컨텐츠와 방송 컨텐츠간의 동기화를 위한 정보를 포함하는 것을 나타내는 id 엘리먼트도 포함할 수 있다.
도 49는 본 발명의 일 실시예에 따라 비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더에 포함되는 동기화 정보의 신택스를 보여준다.
도 50은 본 발명의 또 다른 실시예에 따라 비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더에 포함되는 동기화 정보의 신택스를 보여준다.
도 49와 도 50의 실시예에서 비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더는 MPEG-DASH 표준에 따라 전송되는 미디어 컨텐츠와의 동기화를 위한 정보를 포함한다. 이때 동기화를 위한 정보를 DASHTime_private_data라 하기로 한다. DASHTime_private_data는 presentation_time 필드와 period_id 필드를 포함한다. presentation_time 필드는 방송 컨텐츠와 동기화되는 미디어 컨텐츠의 자체 재생 시간을 나타낸다. period_id 필드는 MPD의 Period 엘리먼트를 식별하게 하고 MPD의 Period 엘리먼트의 id와 MPD의 URL을 포함한다. 도 50의 실시예에서 DASHTime_private_data는 DASHTime_private_data가 미디어 컨텐츠와 방송 컨텐츠간의 동기화를 위한 정보를 포함하는 것을 나타내는 id 엘리먼트를 더 포함한다.
도 51은 본 발명의 일 실시예에 따라 방송 수신 장치가 방송 컨텐츠와 미디어 컨텐츠를 동기화 하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 스트림을 수신한다(S1101).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 컨텐츠와 IP 네트워크를 통해 전송되는 미디어 컨테츠 간의 동기화를 위한 동기화 정보를 추출한다(S1103). 구체적인 실시예에서 방송 수신 장치(100)는 제어부(150)를 통하여 동기화 정보 패킷으부터 동기화 정보를 추출할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 제어부(150)를 통하여 비디오, 오디오 등의 방송 컨텐츠를 포함하는 패킷의 헤더로부터 동기화 정보를 추출할 수 있다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠를 수신한다(S1105).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 컨텐츠와 미디어 컨텐츠를 동기화한다(S1107).
방송 수신 장치(100)가 방송 컨텐츠 뿐만 아니라 IP 네트워크를 통해 미디어 컨텐츠를 수신하는 경우, 방송 컨텐츠와 미디어 컨텐츠의 연동의 효율성을 높이기 위해서는 방송 수신 장치(100)가 미디어 컨텐츠 재생 정보에 기초하여 방송 컨텐츠에 접근할 수 있어야 한다.
미디어 컨텐츠 재생 정보가 방송 컨텐츠에 대한 정보를 포함하여 전송하는 방법에 대해서 도 52 내지 도 54를 참조하여 설명하도록 한다.
방송 수신 장치(100)가 미디어 컨텐츠 재생 정보에 기초하여 방송 컨텐츠에 접근할 수 있도록 미디어 컨텐츠 재생 정보는 방송 컨텐츠를 식별할 수 있는 정보를 포함할 수 있다. 구체적으로 방송 컨텐츠를 포함하는 방송 스트림을 식별할 수 있는 식별자를 포함할 수 있다. 예컨대 방송 컨텐츠가 MPEG-2 TS 표준으로 전송되는 경우, 미디어 컨텐츠 재생 정보는 TSID를 포함할 수 있다. 또한 방송 컨텐츠를 포함하는 방송 서비스를 식별할 수 있는 식별자를 포함할 수 있다. 예컨대 방송 컨텐츠를 MPEG-2 TS 표준으로 전송하는 경우, 미디어 컨텐츠 재생 정보는 프로그램 번호(program number)를 포함할 수 있다. 또한 방송 컨텐츠를 ATSC 표준에 따라 전송하는 경우 source id와 가상 채널(virtual channel)의 채널 번호(channel number)를 포함할 수 있다. 또한 방송 컨텐츠를 DVB 표준에 따라 전송하는 경우 service id를 포함할 수 있다. 또한 방송 컨텐츠를 포함하는 패킷을 식별할 수 있는 식별자를 포함할 수 있다. 예컨대 방송 컨텐츠를 MPEG-2 TS 표준으로 전송하는 경우, 미디어 컨텐츠 재생 정보는 PID를 포함할 수 있다.
구체적인 실시예에서 미디어 컨텐츠 재생 정보는 방송 컨텐츠를 포함하는 방송 스트림을 식별할 수 있는 식별자, 방송 컨텐츠를 포함하는 방송 서비스를 식별할 수 있는 식별자 및 방송 컨텐츠를 포함하는 패킷을 식별할 수 있는 식별자가 하나로 조합된 식별자를 포함할 수 있다.
도 52는 방송 컨텐츠가 ATSC 표준에 따라 전송되는 경우 미디어 컨텐츠 재생 정보에 포함되는 방송 컨텐츠를 식별하는 정보의 형식을 보여준다.
도 53은 ATSC 표준에 따라 전송되는 방송 컨텐츠를 식별하는 정보를 포함하는 MPEG-DASH의 MPD의 예제를 보여준다.
도 52 내지 도 53의 실시예에서 방송 컨텐츠를 식별하는 정보는 트랜스포트 스트림을 식별하는 TSID, 엘리멘터리 스트림의 소스를 식별하는 SSID 및 패킷을 식별하는 PID를 조합한 것일 수 있다.
또한 방송 컨텐츠를 식별하는 정보는 트랜스포트 스트림을 식별하는 TSID, 프로그램 스트림을 식별하는 PNUM 및 패킷을 식별하는 PID를 조합한 것일 수 있다.
또한 방송 컨텐츠를 식별하는 정보는 트랜스포트 스트림을 식별하는 TSID, 가상 채널을 식별하는 CHNUM 및 패킷을 식별하는 PID를 조합한 것일 수 있다. 이때 가상 채널을 식별하는 CHUM은 메이저(major) 채널 번호와 마이너(minor) 채널 번호가 "-"로 이어진 형식일 수 있다.
도 54는 방송 수신 장치가 미디어 컨텐츠 재생 정보에 기초하여 방송 컨텐츠를 수신하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 IP 송수신부(130)를 통하여 미디어 컨텐츠 재생 정보를 수신한다(S1303).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 컨텐츠를 식별하는 정보를 추출한다(S1303).
방송 수신 장치(100)는 방송 수신부(110)와 제어부(150)를 통하여 방송 컨텐츠를 식별하는 정보에 기초하여 방송 컨텐츠를 수신한다(S1305). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 스트림을 수신한다. 이때 방송 수신 장치(100)는 방송 컨텐츠를 식별하는 정보가 포함하는 방송 스트림의 식별자에 기초하여 방송 스트림을 수신할 수 있다. 방송 수신 장치(100)는 방송 스트림으로부터 방송 컨텐츠를 식별하는 정보에 기초하여 방송 컨텐츠를 추출한다. 이때 방송 수신 장치(100)는 방송 스트림으로부터 방송 컨텐츠를 식별하는 정보가 포함하는 방송 서비스의 식별자에 기초하여 방송 컨텐츠를 추출할 수 있다.
도 55 내지 도 57을 통해서 앞서 설명한 실시예들을 통하여 방송 수신 장치가 방송망을 통하여 미디어 컨텐츠 재생 정보를 수신하는 방법을 구체적으로 설명하도록 한다. 또한 방송 수신 장치가 방송 컨텐츠와 미디어 컨텐츠를 동기화하는 것을 구체적으로 설명하도록 한다.
도 55는 방송 수신 장치가 MPEG-2 TS 표준에 따라 방송 스트림을 전송하는 방송망을 통해서 MPEG-DASH의 MPD를 수신하는 것을 보여주는 블락도이다.
도 55의 실시예의 방송 수신 장치(100)의 제어부(150)는 PSI 파서(Parser), TS 필터(filter), TS/PES 디패킷타이저(Depacketizer) 및 디코더(Decoder)를 포함한다.
TS 필터는 방송 스트림으로 부터 특정 PID를 가지는 패킷을 추출한다.
PSI 파서는 Program Association Table(PAT)와 Progrma Map Table(PMT) 같은 PSI 테이블을 파싱하여 시그널링(signaling) 정보를 추출한다. 특히 구체적인 실시예에서 PSI 파서는 PMT에 포함된 MPD_descriptor를 추출할 수 있다.
TS/PES 디패킷타이저는 TS/PES 패킷으로부터 페이로드(payload) 데이터를 추출한다. 구체적인 실시예에서 MPD가 방송 스트림내의 별도의 정보 테이블로 전송되는 경우, TS/PES 디패킷타이저는 MPD_descriptor에 기초하여 별도의 정보 테이블로부터 MPD를 추출할 수 있다. 구체적으로 TS/PES 디패킷타이저는 MPD_descriptor에 포함된 PID에 해당하는 패킷에 포함된 정보 테이블로부터 MPD를 추출할 수 있다. 또한 TS/PES 디패킷타이저는 TS/PES 패킷으로부터 비디오 엘리멘터리 스트림과 오디오 엘리멘터리 스트림을 추출한다.
디코더는 비디오와 오디오를 디코딩한다.
도 56은 방송 수신 장치가 MPEG-2 TS 표준에 따라 전송되는 방송 스트림의 방송 컨텐츠와 통신망을 통해 전송되는 미디어 컨텐츠를 동기화하는 것을 보여주는 블락도이다.
도 56의 실시예의 방송 수신 장치(100)의 제어부(150)는 TS/PES 디패킷타이저(Depacketizer) 및 디코더(Decoder)를 포함한다.
TS/PES 디패킷타이저는 TS/PES 패킷으로부터 페이로드(payload) 데이터를 추출한다. 구체적인 실시예에서 MPD가 방송 스트림내의 별도의 정보 테이블로 전송되는 경우, MPD_descriptor에 기초하여 별도의 정보 테이블로부터 MPD를 추출할 수 있다. 구체적으로 MPD_descriptor에 포함된 PID에 해당하는 패킷에 포함된 정보 테이블로부터 MPD를 추출할 수 있다. 또한 TS/PES 디패킷타이저는 TS/PES 패킷으로부터 미디어 컨텐츠와 방송 컨텐츠간의 동기화를 위한 동기화 정보를 추출한다. 이때 동기화 정보는 미디어 컨텐츠의 재생 시간과 MPD의 Period 엘리먼트를 식별하는 식별자 및 MPD URL을 포함할 수 있다. 또한 TS/PES 디패킷타이저는 TS/PES 패킷으로부터 비디오 엘리멘터리 스트림과 오디오 엘리멘터리 스트림을 추출한다.
IP 송수신부(130)는 MPD에 기초하여 미디어 CDN 서버로부터 미디어 컨텐츠를 수신한다.
디코더는 수신된 미디어 컨텐츠를 동기화 정보에 기초하여 동기화하여 디코드한다.
도 57은 본 발명의 일 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 57의 실시예에서 방송 수신 장치(100)는 방송 수신부(110), 인터넷 프로토콜(Internet Protocol, IP) 송수신부(130) 및 제어부(150)를 포함한다.
방송 수신부(110)는 채널 동기화부(Channel Synchronizer)(111), 채널 이퀄라이저(channel equalizer)(113) 및 채널 디코더(channel decoder)(115)를 포함한다.
채널 동기화부(110)는 방송 신호를 수신할 수 있는 기저 대역대(baseband)에서 디코딩이 가능하도록 심볼 주파수와 타이밍을 동기화한다.
채널 이퀄라이저(113)는 동기화된 방송 신호의 왜곡을 보상한다. 구체적으로 채널 이퀄라이저(113)는 멀티패스(multipath), 도플러 효과 등으로 인한 동기화된 방송 신호의 왜곡을 보상한다.
채널 디코더(115)는 왜곡이 보상된 방송 신호를 디코딩한다. 구체적으로 채널 디코더(115)는 왜곡이 보상된 방송 신호로부터 전송 프레임(transport frame)을 추출한다. 이때 채널 디코더(115)는 전진 에러 수정(Forward Error Correction, FEC)를 수행할 수 있다.
IP 송수신부(130)는 인터넷 망을 통해 데이터를 수신하고 전송한다.
제어부(150)는 시그널링 디코더(151), 전송 패킷 인터페이스(153), 광대역 패킷 인터페이스(155), 기저대역 동작 제어부(157), 공통 프로토콜 스택(Common Protocol Stack)(159), 서비스 맵 데이터베이스(161), 서비스 시그널링 채널 프로세싱 버퍼(buffer) 및 파서(parser)(163), A/V 프로세서(165), 방송 서비스 가이드 프로세서(167), 어플리케이션 프로세서(169) 및 서비스 가이드 데이터 베이스(171)를 포함한다.
시그널링 디코더(151)는 방송 신호의 시그널링 정보를 디코딩한다.
전송 패킷 인터페이스(153)는 방송 신호로부터 전송 패킷을 추출한다. 이때 전송 패킷 인터페이스(153)는 추출한 전송 패킷으로부터 시그널링 정보 또는 IP 데이터그램 등의 데이터를 추출할 수 있다.
광대역 패킷 인터페이스(155)는 인터넷 망으로부터 수신한 데이터로부터 IP 패킷을 추출한다. 이때 광대역 패킷 인터페이스(155)는 IP 패킷으로부터 시그널링 데이터 또는 IP 데이터크램을 추출할 수 있다.
기저대역 동작 제어부(157)는 기저대역으로부터 방송 정보 수신 정보를 수신하는 것과 관련된 동작을 제어한다.
공통 프로토콜 스택(159)은 전송 패킷으로부터 오디오 또는 비디오를 추출한다.
A/V 프로세서(547)는 오디오 또는 비디오를 처리한다.
서비스 시그널링 채널 프로세싱 버퍼(buffer) 및 파서(parser)(163)는 방송 서비스를 시그널링하는 시그널링 정보를 파싱하고 버퍼링한다. 구체적으로 서비스 시그널링 채널 프로세싱 버퍼 및 파서(163)는 IP 데이터그램으로부터 방송 서비스를 시그널링하는 시그널링 정보를 파싱하고 버퍼링할 수 있다.
서비스 맵 데이터 베이스(165)는 방송 서비스들에 대한 정보를 포함하는 방송 서비스 리스트를 저장한다.
서비스 가이드 프로세서(167)는 지상파 방송 서비스의 프로그램을 안내하는 지상파 방송 서비스 가이드 데이터를 처리한다.
어플리케이션 프로세서(169)는 방송 신호로부터 어플리케이션 관련 정보를 추출하고 처리한다.
서비스 가이드 데이터베이스(171)는 방송 서비스의 프로그램 정보를 저장한다.
앞서 방송 수신 장치(100)의 대략적인 구성과 동작을 설명하였다. 다만, 이는 전통적인 방송 수신 장치(100)의 동작과 전송 프로토콜에 초점이 맞추어있다. 다만, 하이브리드 방송 서비스를 수신하기 위해 방송 수신 장치(100)는 다양한 전송 프로콜의 데이터를 처리할 수 있어야 한다. 도 58 내지 63을 통해서 하이브리드 방송 서비스를 수신하기 위한 방송 수신 장치(100)의 자세한 구성과 동작을 설명한다.
도 58은 본 발명의 또 다른 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 58의 실시예에서 방송 수신 장치(100)는 방송 수신부(110), 인터넷 프로토콜(Internet Protocol, IP) 송수신부(130) 및 제어부(150)를 포함한다.
방송 수신부(110)는 방송 수신부(110)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 방송 수신부(110)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 방송 수신부(110)는 피지컬 레이어 모듈(119) 피지컬 레이어 IP 프레임 모듈(117)을 포함할 수 있다. 피지컬 레이어 모듈(119)는 방송망의 방송 채널을 통하여 방송 관련 신호를 수신하고 처리한다. 피지컬 레이어 IP 프레임 모듈(117)은 피지컬 레이어 모듈(119)로부터 획득한 IP 데이터그램 등의 데이터 패킷을 특정 프레임으로 변환한다. 예컨대, 피지컬 레이어 모듈(119)은 IP 데이터그램 등을 RS Fraem 또는 GSE 등으로 변환할 수 있다.
IP 송수신부(130)는 IP 송수신부(130)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 IP 송수신부(130)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. IP 송수신부(130)는 인터넷 접근 제어 모듈(131)을 포함할 수 있다. 인터넷 접근 제어 모듈(131)은 통신망(broadband)을 통하여 서비스, 컨텐츠 및 시그널링 데이터 중 적어도 어느 하나를 획득하기 위한 방송 수신 장치(100)의 동작을 제어한다.
제어부(150)는 제어부(150)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 제어부(150)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 제어부(150)는 시그널링 디코더(151), 서비스 맵 데이터 베이스(161), 서비스 시그널링 채널 파서(163), 어플리케이션 시그널링 파서(166), 얼러트 시그널링 파서(168), 타겟팅 시그널링 파서(170), 타겟팅 프로세서(173), A/V 프로세서(161), 얼러팅 프로세서(162), 어플리케이션 프로세서(169), 스케쥴드 스트리밍 디코더(181), 파일 디코더(182), 사용자 요청 스트리밍 디코더(183), 파일 데이터베이스(184), 컴포넌트 동기화부(185), 서비스/컨텐츠 획득 제어부(187), 재분배 모듈(189), 장치 관리자(193) 및 데이터 쉐어링부(191) 중 적어도 어느 하나를 포함할 수 있다.
서비스/컨텐츠 획득 제어부(187)는 방송망 또는 통신망을 통해 획득한 서비스, 컨텐츠, 서비스 또는 컨텐츠와 관련된 시그널링 데이터 획득을 위한 수신기의 동작을 제어한다.
시그널링 디코더(151)는 시그널링 정보를 디코딩한다.
서비스 시그널링 파서(163)는 서비스 시그널링 정보를 파싱한다.
어플리케이션 시그널링 파서(166)는 서비스와 관련된 시그널링 정보를 추출하고 파싱한다. 이때, 서비스와 관련된 시그널링 정보는 서비스 스캔과 관련된 시그널링 정보일 수 있다. 또한 서비스와 관련된 시근러링 정보는 서비스를 통해 제공되는 컨텐츠와 관련된 시그널링 정보일 수 있다.
얼러트 시그널링 파서(168)는 얼러팅 관련된 시그널링 정보를 추출하고 파싱한다.
타겟팅 시그널링 파서(170)는 서비스 또는 컨텐츠를 개인화(personalization)하기 위한 정보 또는 타겟팅 정보를 시그널링하는 정보를 추출하고 파싱한다.
타겟팅 프로세서(173)는 서비스 또는 컨텐츠를 개인화하기 위한 정보를 처리한다.
얼러팅 프로세서(162)는 얼리팅 관련된 시그널링 정보를 처리한다.
어플리케이션 프로세서(169)는 어플리케이션 관련 정보 및 어플리케이션의 실행을 제어한다. 구체적으로 어플리케이션 프로세서(169)는 다운로드된 어플리케이션의 상태 및 디스플레이 파라미터를 처리한다.
A/V 프로세서(161)는 디코딩된 오디오 또는 비디오, 어플리케이션 데이터 등에 기초하여 오디오/비디오의 렌더링 관련 동작을 처리한다.
스케쥴드 스트리밍 디코더(181)는 미리 방송사 등의 컨텐츠 제공업자가 정한 일정 대로 스트리밍 되는 컨텐츠인 스케쥴드 스트리밍을 디코딩한다.
파일 디코더(182)는 다운로드된 파일을 디코드한다. 특히 파일 디코더(182)는 통신망을 통하여 다운로드된 파일을 디코드한다.
사용자 요청 스트리밍 디코더(183)는 사용자 요청에 의하여 제공되는 컨텐츠(On Demand Content)를 디코드한다.
파일 데이터베이스(184)는 파일을 저장한다. 구체적으로 파일 데이터베이스(184)는 통신망을 통하여 다운로드한 파일을 저장할 수 있다.
컴포넌트 동기화부(185)는 컨텐츠 또는 서비스를 동기화한다. 구체적으로 컴포넌트 동기화부(185)는 스케쥴드 스트리밍 디코더(181), 파일 디코더(182) 및 사용자 요청 스트리밍 디코더(183) 중 적어도 어느 하나가 디코딩한 컨텐츠를
서비스/컨텐츠 획득 제어부(187)는 서비스, 컨텐츠, 서비스 또는 컨텐츠와 관련된 시그널링 정보 중 적어도 어느 하나를 획득하기 위한 수신기의 동작을 제어한다.
재분배 모듈(189)은 방송망을 통하여 서비스 또는 컨텐츠를 수신하지 못하는 경우, 서비스, 컨텐츠, 서비스와 관련 정보 및 컨텐츠 관련 정보 중 적어도 어느 하나의 획득을 지원하기 위한 동작을 수행한다. 구체적으로 외부의 관리 장치(300)에게 서비스, 컨텐츠, 서비스와 관련 정보 및 컨텐츠 관련 정보 중 적어도 어느 하나를 요청할 수 있다. 이때 외부의 관리 장치(300)는 컨텐츠 서버(50)일 수 있다.
장치 관리자(193)는 연동 가능한 외부 장치를 관리한다. 구체적으로 장치 관리자(193)는 외부 장치의 추가, 삭제 및 갱신 중 적어도 어느 하나를 수행할 수 있따. 또한 외부 장치는 방송 수신 장치(100)와 연결 및 데이터 교환이 가능할 수 있다.
데이터 쉐어링부(191)는 방송 수신 장치(100)와 외부 장치 간의 데이터 전송 동작을 수행하고, 교환 관련 정보를 처리한다. 구체적으로 데이터 쉐어링부(191)는 외부 장치에 A/V 데이터 또는 시그널링 정보를 전송할 수 있다. 또한 데이터 쉐어링부(191)는 외부 장치에 A/V 데이터 또는 시그널링 정보를 수신할 수 있다.
도 59는 본 발명의 또 다른 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 59의 실시예에서 방송 수신 장치(100)는 방송 수신부(110), 인터넷 프로토콜(Internet Protocol, IP) 송수신부(130) 및 제어부(150)를 포함한다.
방송 수신부(110)는 튜너(111) 및 피지컬 프레임 파서(113) 중 적어도 어느 하나를 포함할 수 있다.
튜너(111)는 방송망을 통해 전송되는 방송 신호를 수신한다. 또한 튜너(11)는 수신한 방송 신호를 피지커 프레임 형태로 변환할 수 있다.
피지컬 프레임 파서(113)는 수신된 방송 신호의 피지컬 프레임으로부터 링크레이어 프레임을 추출한다.
IP 송수신부(130)는 IP 데이터를 수신하고 전송한다.
제어부(150)는 피지컬 레이어 제어부(251), 링크 레이어 프레임 파서(252), IP/UDP 데이터그램 필터(253), ROUTE(AL/LCT) 클라이언트(255), 타이밍 컨트롤(257), 시스템 클락(259), DTV 컨트롤 엔진(261), 사용자 입력 수신부(263), 시그널링 파서(265), 채널 맵 데이터베이스(267), HTTP 액세스 클라이언트(269), HTTP 액세스 캐쉬(271), DASH 클라이언트(273), ISO BMFF 파서(275), 미디어 디코더(277) 및 파일 데이터베이스(279) 중 적어도 어느 하나를 포함할 수 있다.
피지컬 레이어 제어부(251)는 방송 수신부(110)의 동작을 제어한다. 구체적으로 피지컬 레이어 제어부(251)는 방송 수신부(110)가 수신하는 방송 신호의 전송 파라미터들을 제어하여 방송 신호를 선택적으로 수신할 수 있다. 예컨대, 피지컬 레이어 제어부(251)는 튜너(111)가 수신하는 방송 신호의 주파수를 제어할 수 있다. 또한, 피지컬 레이어 제어부(251)는 피지컬 프레임 파서(113)를 제어하여 방송 신호로부터 링크 레이어 프레임을 추출할 수 있다.
링크 레이어 프레임 파서(252)는 방송 신호의 링크 레이어 프레임으로부터 링크 레이어 프레임의 페이로드에 해당하는 데이터를 추출한다. 구체적으로 링크 레이어 프레임 파서(252)는 링크 레이어 프레임으로부터 링크 레이어 시그널링을 추출할 수 있다. 링크 레이어 시그널링은 링크 레이어를 통해서 방송 서비스를 시그널링하한다. 이를 통해 방송 수신 장치(100)는 어플리케이션 레이어를 추출하지 않고도 방송 서비스에 관한 정보를 획득할 수 있다. 따라서 방송 수신 장치(100)는 빠르게 방송 서비스를 스캔하고, 방송 서비스를 전환할 수 있다. 또한 링크 레이어 프레임 파서(252)는 링크 레이어 프레임으로부터 IP/UDP 데이터그램을 추출할 수 있다.
IP/UDP 데이터그램 필터(253)는 IP/UDP 데이터그램으로부터 특정 IP/UDP 데이 그램을 추출한다. 방송망을 통한 데이터 전송 또는 통신망을 통한 멀티캐스트는 단방향(unidirection) 통신이므로 방송 수신 장치(100)는 자신이 필요한 데이터 이외의 데이터들을 수신한다. 따라서 방송 수신 장치(100)는 데이터 스트림으로부터 자신이 필요한 데이터를 추출하여 한다. IP/UDP 데이터그램 필터(253)는 IP/UDP 데이터그램 스트림으로부터 방송 수신 장치(100)가 필요로하는 IP/UDP 데이터그램을 추출한다. 구체적으로 IP/UDP 데이터그램 필터(253)는 지정된 IP 주소 및 UDP 포트 번호에 해당하는 IP/UDP 데이터그램을 추출한다. 이때. IP 주소는 소스 주소 및 데스티네이션 주소 중 어느 하나를 포함할 수 있다.
ROUTE(AL/LCT) 클라이언트(255)는 어플리케이션 계층 전송 패킷을 처리한다. 구체적으로 ROUTE(ALC/LCT) 클라이언트(255)는 실시간 오브젝트 딜리버리(Real-time Objectuve delivery over Unidirectional Transport, ROUTE)에 기반한 ALC/LCT 패킷을 처리한다. ROUTE 프로토콜은 어플리케이션 계층(layer) 프로토콜로서 ALC/LCT 패킷을 이용하여 실시간 데이터를 전송하기 위한 프로토콜이다. 방송 수신 장치(100)는 ALC/LCT 패킷 으로부터 방송 서비스 시그널링 정보, NRT 데이터, 미디어 컨텐츠 중 적어도 어느 하나를 추출할 수 있다. 이때, 미디어 컨텐츠는 MPEG-DASH 형식일 수 있다. 구체적으로 미디어 컨텐츠는 ISO 베이스 미디어 파일 포맷(ISO Base Media File Format, ISO BMFF)으로 인캡슐레이션되어 MPEG-DASH 프로토콜을 통해 전송될 수 있다. 방송 수신 장치(100)는 ROUTE 패킷으로부터 MPEG-DASH 세그먼트를 추출할 수 있다. 또한, 방송 수신 장치(100)Sms MPEG-DASH 세그먼트로부터 ISO BMFF 파일을 추출할 수 있다.
타이밍 컨트롤(257)는 미디어 컨텐츠 재생의 기준이 되는 시스템 타임 정보를 포함하는 패킷을 처리한다. 또한 타이밍 컨트롤(257)은 시스템 타임 정보에 기초하여 시스템 클럭을 제어할 수 있다.
시스템 클락(259)은 방송 수신 장치(100)의 동작의 기준이 되는 기준 클락(reference clock)을 제공한다.
DTV 컨트롤 엔진(261)는 각 구성 간의 인터페이스를 담당한다. 구체적으로 DTV 컨트롤 엔진(261)은 각 구성의 동작 제어를 위한 파라미터를 전달할 수 있다.
사용자 입력 수신부(263)는 사용자 입력을 수신한다. 구체적으로 상용자 입력 수신부(263)는 사용자의 리모트 컨트롤 입력, 키 입력 중 적어도 어느 하나를 수신할 수 있다.
시그널링 파서(265)는 방송 서비스에 대한 정보를 전달하여 방송 서비스를 시그널링하는 방송 서비스 시그널링 정보를 파싱하여 방송 서비스에 관한 정보를 추출한다. 구체적으로 시그널링 파서(265)는 어플리케이션 레이어로부터 추출된 방송 서비스 시그널링 정보를 파싱하여 방송 서비스에 관한 정보를 추출할 수 있다. 또 다른 구체적인 실시예에서 시그널링 파서(265)는 링크 레이어로부터 추출된 방송 서비스 시그널링 정보를 파싱하여 방송 서비스에 관한 정보를 추출할 수 있다.
채널 맵 데이터베이스(267)는 방송 서비스의 채널 맵에 관한 정보를 저장한다. 구체적으로 시그널링 파서(265)는 방송 서비스에 관한 정보를 추출하여 채널 맵에 관한 정보를 채널 맵 데이터베이스(267)에 저장할 수 있다. 또한, DTV 컨트롤 엔진(261)은 채널 맵 데이터 베이스로부터 방송 서비스의 채널 맵에 관한 정보를 획득할 수 있다. 이때, 채널 맵에 관한 정보는 방송 서비스를 나타내는 채널 번호, 방송 서비스를 나타내는 방송 서비스의 이름 중 적어도 어느 하나를 포함할 수 있다.
HTTP 액세스 클라이언트(269)는 HTTP 데이터를 처리한다. 구체적으로 HTTP 액세스 클라이언트(269)는 HTTP를 사용하는 컨텐츠 서버(50)에게 요청을 전송하고, 컨텐츠 서버(50)로부터 요청에 대한 응답을 수신할 수 있다.
HTTP 액세스 캐쉬(271)는 HTTP 데이터를 캐시(cache)하여 HTTP 데이터의 처리 속도를 향상 시킨다.
DASH 클라이언트(273)는 MPEG-DASH 세그먼트를 처리한다. 구체적으로 DASH 클라이언트(273)는 통신망을 통해 수신되는 MPEG-DASH 세그먼트를 처리할 수 있다. 또한, 구체적으로 DASH 클라이언트(273)는 방송망을 통해 수신되는 방송 신홍의 어플리케이션 레이어로부터 추출된 MPEG-DASH 세그먼트를 처리할 수 있다
ISO BMFF 파서(275)는 ISO BMFF 패킷을 처리한다. 구체적으로 ISO BMFF 파서(275)는 ISO BMFF 패킷으로부터 미디어 컨텐츠를 추출할 수 있다.
미디어 디코더(277)는 미디어 컨텐츠를 디코딩한다. 구체적으로 미디어 디코더(277)는 미디어 컨텐츠를 디코딩하여 미디어 컨텐츠를 재생할 수 있다.
파일 데이터베이스(279)는 방송 서비스를 위해 필요한 파일을 저장한다. 구체적으로 파일 데이터베이스(279)는 방송 신호의 어플리케이션 레이어로부터 추출된 파일을 저장할 수 있다.
방송 수신 장치(100)의 구체적인 동작에 대해서는 도 60 내지 도 62를 통해서 설명한다.
도 60은 방송 수신 장치(100)가 방송 서비스를 스캔하여 채널 맵을 생성하는 동작을 보여주는 흐름도이다.
제어부(150)는 방송 신호 수신 파라미터를 설정한다. 구체적으로 제어부(150)는 방송 신호 수신을 위한 주파수, 대역폭, 심볼레이트 및 피지컬 레이어 파이프(Physical Layer Pipe, PLP) 식별자 중 적어도 어느 하나를 설정할 수 있다. 이때, 피지컬 레이어 파이프는 하나의 무선 주파수(Radio Frequency, RF) 채널을 구분하는 논리적 데이터 전송 채널이다. 하나의 RF 채널은 하나 또는 복수의 피지컬 레이어 파이프를 포함할 수 있다. 피지컬 레이어 파이프는 데이터 파이프(Data Pipe, DP)로 지칭될 수 있다. 구체적인 실시예에서 제어부(150)는 복수의 방송 신호 수신 파라미터를 저장하는 주파수 테이블에 기초하여 방송 신호 수신 파라미터를 설정할 수 있다. 예컨대, 방송 수신 장치(100)는 주파수 테이블에 저장된 방송 신호 수신 파라미터를 순차적으로 설정하여 각각의 방송 신호 수신 파라미터에 해당하는 방송 신호를 순차적으로 수신한다. 이때, 주파수 테이블은 지역별 표준 또는 지역별 방송 환경에 따라 설정된 것일 수 있다.
방송 수신부(110)는 방송 신호 수신 파라미터에 기초하여 방송 신호를 수신한다(S2103). 구체적으로 방송 수신부(110)는 방송 신호 수신 파라미터에 해당하는 방송 신호를 수신한다. 방송 수신부(110)는 방송 신호를 디모듈레이팅하여 방송 신호의 피지컬 프레임을 추출할 수 있다.
제어부(150)는 방송 신호로부터 방송 서비스 시그널링 정보를 추출한다(S2105). 구체적으로 제어부(150) 방송 신호로부터 방송 서비스에 대한 정보를 신그널링하는 방송 서비스 시그널링 정보를 추출할 수 있다. 방송 서비스에 대한 정보는 방송 서비스를 식별하는 정보를 포함할 수 있다. 방송 서비스를 식별하는 정보는 방송 서비스를 나타내는 채널 번호를 포함할 수 있다. 또한 방송 서비스를 식별하는 정보는 방송 서비스를 식별하는 방송 서비스 식별자를 포함할 수 있다. 방송 서비스를 식별하는 정보는 방송 서비스를 나타내는 채널 번호를 포함할 수 있다. 또한 방송 서비스를 식별하는 정보는 방송 서비스를 나타내는 방송 서비스의 이름을 포함할 수 있다. 또한 방송 서비스에 대한 정보는 방송 서비스 수신을 위한 정보를 포함할 수 있다. 방송 서비스 수신을 위한 정보는 방송 서비스 수신을 위해 방송 수신부 설정 위해 필요한 방송 신호 수신 파라미터를 포함할 수 있다. 또한 방송 서비스 수신을 위한 정보는 방송 서비스가 전송되는 방송 스트림을 식별하는 방송 스트림 식별자를 포함할 수 있다. 또한 방송 서비스 수신을 위한 정보는 방송 서비스가 전송되는 IP/UDP 데이터 그램을 식별하는 IP 주소 및 UDP 포트 번호를 포함할 수 있다. 또한, 방송 서비스 수신을 위한 정보는 세션 기반 전송 프로토콜의 세션을 식별하는 세션 식별자를 포함할 수 있다. 또한, 방송 서비스 수신을 위한 정보는 패킷 기반 전송 프로토콜의 패킷을 식별하는 패킷 식별자를 포함할 수 있다. 구체적으로 제어부(150)는 링크 레이어로부터 추출한 링크 레이어 시그널링의 방송 서비스 시그널링 정보를 추출할 수 있다. 또 다른 구체적인 실시예에서 제어부(150)는 어플리케이션 레이어로부터 방송 서비스 시그널링 정보를 추출할 수 있다. 앞서 설명한 바와 같이 제어부(150)가 링크 레이어로부터 방송 서비스 시그널링 정보를 수신하는 경우 방송 서비스 스캔 시간을 단축할 수 있다.
제어부(150)는 방송 서비스 시그널링 정보에 기초하여 방송 서비스에 대한 정보를 저장하는 채널 맵을 생성한다(S2107). 구체적으로 제어부(150)는 방송 서비스 시그널링 정보가 제공하는 방송 서비스에 대한 정보에 따라 채널 맵을 생성한다. 채널 맵은 앞서 설명한 방송 서비스 각각을 식별하는 정보 및 방송 서비스 각각을 수신하기 위한 정보 중 적어도 어느 하나를 포함할 수 있다. 또한 제어부(150)는 생성한 채널 맵을 채널 맵 데이터베이스(267)에 저장할 수 있다. 방송 수신 장치(100)는 채널 맵에 기초하여 방송 서비스를 수신할 수 있다. 이에 대해서는 도 61을 통하여 설명한다.
도 61은 방송 수신 장치(100)가 방송 서비스를 수신하는 동작을 보여주는 흐름도이다.
제어부(150)는 방송 서비스 선택에 대한 사용자 입력을 수신한다(S2151). 제어부(150)는 사용자 입력부(263)를 통하여 방송 서비스 선택에 대한 사용자 입력을 수신할 수 있다. 구체적으로 제어부(150)는 방송 서비스를 보여주는 방송 서비스 리스트에서 사용자가 어느 하나의 방송 서비스를 선택하는 입력을 수신할 수 있다. 또한, 제어부(150)는 사용자가 리모트 컨트롤을 통해 채널 번호에 대한 사용자 입력을 수신할 수 있다.
제어부(150)는 사용자가 선택한 방송 서비스에 해당하는 방송 신호 수신 파라미터를 획득한다(S2153). 구체적으로 제어부(150)는 채널 맵으로부터 사용자가 선택한 방송 서비스에 해당하는 방송 신호 수신 파라미터를 획득할 수 있다. 앞서 설명한 바와 같이 방송 신호 수신 파라미터는 방송 신호 수신을 위한 주파수, 대역폭, 심볼레이트 및 피지컬 레이어 파이프 식별자 중 적어도 어느 하나를 포함할 수 있다.
제어부(150)는 방송 신호 수신 파라미터에 기초하여 방송 신호 수신을 설정한다. 구체적으로 제어부(150)는 방송 신호 수신 파라미터에 따라 방송 수신부(110)를 설정할 수 있다. 예컨대, 제어부(150)는 방송 수신부(110)의 방송 신호 수신 주파수, 대역폭, 심볼레이트 및 피지컬 레이어 파이프 식별자 중 적어도 어느 하나를 설정할 수 있다. 현재 수신 하고 있는 방송 신호의 방송 신호 수신 파라미터와 획득한 방송 신호 수신 파라미터가 동일한 경우, 이러한 동작은 생략될 수 있다.
방송 수신부(110)는 방송 신호 수신 설정에 기초하여 방송 신호를 수신한다(S2157). 구체적으로 방송 수신부(110)는 방송 신호를 수신하고 디모듈레이팅할 수 있다.
제어부(150)는 방송 신호에 기초하여 사용자가 선택한 방송 서비스에 대한 시그널링 정보를 획득한다(S2159). 앞서 설명한 바와 같이 제어부(150)는 링크 레이어로부터 방송 서비스 시그널링 정보를 획득할 수 있다. 또한 제어부(150)는 링크 레이어로부터 방송 서비스 시그널링 정보를 획득할 수 있다. 채널 맵이 방송 서비스 시그널링 정보로부터 추출한 방송 서비스에 대한 정보를 포함함에도 다시 방송 서비스 시그널링 정보를 획득하는 것은 채널 맵 생성 이후 방송 서비스에 대한 정보가 변경될 수 있기 때문이다. 또한, 채널 맵 생성시 채널 맵 생성을 위한 기본적인 정보만 획득하고 방송 서비스가 포함하는 컴포넌트에 대한 정보 또는 방송 서비스 재생을 위한 정보를 획득하지 않은 경우가 있을 수 있기 때문이다.
제어부(150)는 방송 서비스 시그널링 정보에 기초하여 채널 맵을 갱신한다. 구체적으로 제어부(150)는 방송 서비스 시그널링 정보가 변경된 경우, 채널 맵을 갱신할 수 있다. 구체적인 실시예에서 제어부(150)는 이전에 획득한 방송 서비스 시그널링 정보와 방송 서비스 시그널링 정보 정보가 다른 경우 채널 맵을 갱신할 수 있다. 제어부(150)는 이전에 획득한 방송 서비스 시그널링 정보의 버전 정보와 방송 서비스 시그널링 정보의 버전 정보를 비교하여 방송 서비스 시그널링 정보가 변경된 경우 채널 맵을 갱신할 수 있다.
제어부(150)는 채널 맵에 기초하여 방송 서비스가 포함하는 미디어 컴포넌트를 수신한다(S2163). 채널 맵은 미디어 컴포넌트 수신에 관한 정보를 포함할 수 있다. 구체적으로 채널 맵은 미디어 컴포넌트를 수신하기 위한 정보를 포함할 수 있다. 제어부(150)는 채널 맵으로부터 미디어 컴포넌트를 수신하기 위한 정보를 획득하여 미디어 컴포넌트를 수신할 수 있다. 예컨대, 제어부(150)는 채널 맵으로부터 미디어 컴포넌트를 전송하는 IP/UDP 데이터그램을 식별할 수 있는 정보 및 미디어 컴포넌트틀 전송하는 세션 기반 전송 프로토콜 패킷을 식별할 수 있는 정보를 획득하여 미디어 컴포넌트를 수신할 수 있다. IP/UDP 데이터그램을 식별할 수 있는 정보는 IP 주소 및 UDP 포트 번호 중 적어도 어느 하나를 포함할 수 있다. 이때, IP 주소는 소스 주소와 데스티네이션 주소 중 적어도 어느 하나를 포함할 수 있다. 세션 기반 전송 프로토콜 패킷을 식별할 수 있는 정보는 세션을 식별하는 세션 식별자를 포함할 수 있다. 구체적으로 세션 식별자는 ALC/LCT 세션의 TSI일 수 있다. 또 다른 구체적인 실시예에서, 제어부(150)는 채널 맵으로부터 미디어 컴포넌트를 전송하는 IP/UDP 데이터그램을 식별할 수 있는 정보 및 미디어 컴포넌트틀 전송하는 패킷 기반 전송 프로토콜 패킷을 식별할 수 있는 정보를 획득하여 미디어 컴포넌트를 수신할 수 있다. 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보에 기초하여 미디어 컴포넌트를 수신할 수 있다. 이에 대해서는 도 62를 통해서 설명한다.
도 62는 방송 수신 장치가 미디어 컨텐츠 재생 정보에 기초하여 미디어 컴포넌트를 획득하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 미디어 컨텐츠 재생 정보를 획득한다(S2201). 방송 수신 장치(100)는 앞서 설명한 것과 같이 방송 신호의 시그널링 메시지를 통해서 미디어 컨텐츠 재생 정보를 획득할 수 있다.
방송 수신 장치(100)는 미디어 컨텐츠 재생 정보에 기초하여 미디어 컴포넌트에 대한 정보를 획득한다(S2203). 미디어 컴포넌트에 대한 정보는 앞서 설명한 미디어 컴포넌트 수신을 위한 정보를 포함할 수 있다. 또한 미디어 컨텐츠 재생 정보는 방송 서비스와 방송 서비스가 포함하는 미디어 컴포넌트에 대한 정보를 포함할 수 있다.
방송 수신 장치(100)는 미디어 컴포넌트에 대한 정보에 기초하여 미디어 컴포넌트를 수신한다(S2205). 방송 수신 장치(100)는 방송망을 통하여 미디어 컴포넌트를 수신할 수 있다. 또한 방송 수신 장치(100)는 통신망을 통하여 미디어 컴포넌트를 수신할 수 있다. 또한 방송 수신 장치(100)는 복수의 미디어 컴포넌트 중 어느 하나는 방송망을 통하여 수신하고, 다른 미디어 컴포넌트는 통신망을 통하여 수신할 수 있다. 예컨대, 방송 수신 장치(100)는 방송망을 통하여 비디오 컴포넌트를 수신하고, 통신망을 통하여 오디오 컴포넌트를 수신할 수 있다.
다시 도 61을 통해 방송 수신 장치(100)의 동작을 설명한다.
제어부(150)는 미디어 컴포넌트에 기초하여 방송 서비스를 재생한다(S2165).
도 63 내지 도 64를 통해서는 하이브리드 방송에서 사용하는 전송 프레임을 설명한다.
도 63은 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
도 63의 실시예에서 방송 전송 프레임은 P1 파트, L1 파트, 공통 PLP(Common PLP) 파트, 인터리브드 PLP(Scheduled & Interleaved PLP's) 파트 및 보조 데이터(Auxiliary data) 파트를 포함한다.
도 63의 실시예에서 방송 전송 장치는 방송 전송 프레임(transport frame)의 P1 파트를 통하여 전송 시그널 탐지(transport signal detection)를 위한 정보를 전송한다. 또한 방송 전송 장치는 P1 파트를 통하여 방송 신호 튜닝을 위한 튜닝 정보를 전송할 수 있다.
도 63의 실시예에서 방송 전송 장치는 L1 파트를 통하여 방송 전송 프레임의 구성 및 각각 PLP의 특성을 전송한다. 이때 방송 수신 장치(100)는 P1에 기초하여 L1 파트를 디코딩하여 방송 전송 프레임의 구성 및 각각 PLP의 특성을 획득할 수 있다.
도 63의 실시예에서 방송 전송 장치는 Common PLP 파트를 통하여 PLP간에 공통으로 적용되는 정보를 전송할 수 있다. 구체적인 실시예에 따라서 방송 전송 프레임은 Common PLP 파트를 포함하지 않을 수 있다.
도 63의 실시예에서 방송 전송 장치는 방송 서비스에 포함된 복수의 컴포넌트를 인터리브드(interleaved) PLP 파트를 통하여 전송한다. 이때, 인터리브드 PLP 파트는 복수의 PLP를 포함한다.
도 63의 실시예에서 방송 전송 장치는 각각의 방송 서비스를 구성하는 컴포넌트가 각각 어느 PLP로 전송되는지를 L1 파트 또는 Common PLP 파트를 통하여 시그널링할 수 있다. 다만, 방송 수신 장치(100)가 방송 서비스 스캔 등을 위하여 구체적인 방송 서비스 정보를 획득하기 위해서는 인터리브드 PLP 파트의 복수의 PLP 들을 모두 디코딩하여야 한다.
도 63의 실시예와 달리 방송 전송 장치는 방송 전송 프레임을 통하여 전송되는 방송 서비스와 방송 서비스에 포함된 컴포넌트에 대한 정보를 포함하는 별도의 파트를 포함하는 방송 전송 프레임을 전송할 수 있다. 이때, 방송 수신 장치(100)는 별도의 파트를 통하여 신속히 방송 서비스와 방송 서비스에 포함된 컴포넌트들에 대한 정보를 획득할 수 있다. 이에 대해서는 도 83을 통해 설명하도록 한다.
도 64는 본 발명의 또 다른 실시예에 따른 방송 전송 프레임을 보여준다.
도 64의 실시예에서 방송 전송 프레임은 P1 파트, L1 파트, 고속 정보 채널(Fast Information Channe, FIC) 파트, 인터리브드 PLP(Scheduled & Interleaved PLP's) 파트 및 보조 데이터(Auxiliary data) 파트를 포함한다.
FIC 파트를 제외한 다른 파트는 도 63의 실시예와 동일하다.
방송 전송 장치는 FIC 파트를 통하여 고속 정보(fast information)를 전송한다. 고속 정보는 전송 프레임을 통해 전송되는 방송 스트림의 구성 정보 (configuration information), 간략한 방송 서비스 정보 및 컴포넌트 정보를 포함할 수 있다. 방송 수신 장치(100) FIC 파트에 기초하여 방송 서비스를 스캔할 수 있다. 구체적으로 방송 수신 장치(100)는 FIC 파트로부터 방송 서비스에 대한 정보를 추출할 수 있다. 고속 정보를 링크 레이어 시그널링이라 일컬을 수 있다. 방송 수신 장치(100) 어플리케이션 레이어를 파싱하지 않고, 링크 레이어 만을 파싱하여 방송 서비스 정보 및 컴포넌트 정보를 획득할 수 있기 때문이다.
도 65는 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지 구성을 나타낸다. 구체적으로 도 65는 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지 헤더의 신택스를 나타낼 수 있다. 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지는 시그널링 메시지 헤더와 시그널링 메시지를 포함할 수 있다. 이때 시그널링 메시지는 바이너리 또는 XML 포맷으로 표현될 수 있다. 또한, 서비스 시그널링 메시지는 전송 프로토콜 패킷의 페이로드에 포함될 수 있다.
도 65의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지를 식별하는 식별자 정보를 포함할 수 있다. 예를 들어, 시그널링 메시지가 섹션 형태일 수 있다. 이 경우, 시그널링 메시지의 식별자 정보는 시그널링 테이블 섹션의 식별자(ID)를 나타낼 수 있다. 시그널링 메시지의 식별자 정보를 나타내는 필드는 singnaling_id일 수 있다. 구체적인 실시 예에서 signaling_id 필드는 8비트일 수 있다.
또한, 도 65의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 길이를 나타내는 길이 정보를 포함할 수 있다. 시그널링 메시지의 길이 정보를 나타내는 필드는 signaling_length일 수 있다. 구체적인 실시 예에서 signaling_length 필드는 12비트일 수 있다.
또한, 도 65의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 식별자를 확장하는 식별자 확장 정보를 포함할 수 있다. 이때, 식별자 확장 정보는 시그널링 식별자 정보와 함께 시그널링을 식별하는 정보일 수 있다. 시그널링 메시지의 식별자 확장 정보를 나타내는 필드는 signaling_id_extension일 수 있다.
이때, 식별자 확장 정보는 시그널링 메시지의 프로토콜 버전 정보를 포함할 수 있다. 시그널링 메시지의 프로토콜 버전 정보를 나타내는 필드는 protocol_version일 수 있다. 구체적인 실시 예에서 protocol_version 필드는 8비트일 수 있다.
또한, 도 65의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 버전 정보를 포함할 수 있다. 시그널링 메시지의 버전 정보는 시그널링 메시지가 포함하는 내용이 변경되면 변경될 수 있다. 시그널링 메시지의 버전 정보를 나타내는 필드는 version_number일 수 있다. 구체적인 실시 예에서 version_number 필드는 5비트일 수 있다.
또한, 도 65의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지가 현재 가용한지 여부를 나타내는 정보를 포함할 수 있다. 시그널링 메시지의 가용여부를 나타내는 필드는 current_next_indicator일 수 있다. 구체적인 예를 들면, current_next_indicator 필드가 1인 경우, current_next_indicator 필드는 시그널링 메시지가 이용 가능함을 나타낼 수 있다. 또 다른 예를 들면, current_next_indicator 필드가 0인 경우, current_next_indicator 필드는 시그널링 메시지가 이용 불가하며, 이후 동일한 시그널링 식별자 정보, 시그널링 식별자 확장 정보 또는 프래그멘트 넘버 정보를 포함하는 또 다른 시그널링 메시지가 이용 가능함을 나타낼 수 있다.
또한, 도 65의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 프래그멘트(Fragment) 넘버 정보를 포함할 수 있다. 하나의 시그널링 메시지가 복수개의 프래그멘트로 나뉘어져 전송될 수 있다. 따라서, 수신기가 나뉘어진 복수의 프래그멘트를 식별하기 위한 정보가 프래그멘트 넘버 정보일 수 있다. 프래그멘트 넘버 정보를 나타내는 필드는 fragment_number 필드일 수 있다. 구체적인 실시 예에서 fragment_number 필드는 8비트일 수 있다.
또한, 도 65의 실시 예에 따른 시그널링 메시지 헤더는 하나의 시그널링 메시지가 복수개의 프래그멘트로 나뉘어져 전송되는 경우, 마지막 프래그멘트의 넘버 정보를 포함할 수 있다. 예를 들면, 마지막 프래그멘트 넘버에 대한 정보가 3을 나타내는 경우, 시그널링 메시지가 3개로 나뉘어져 전송됨을 나타낼 수 있다. 또한, 3을 나타내는 프래그멘트 넘버를 포함하는 프래그멘트가 시그널링 메시지의 마지막 데이터를 포함함을 나타낼 수 있다. 마지막 프래그멘트의 넘버 정보를 나타내는 필드는 last_fragment_number일 수 있다. 구체적인 실시 예에서 last_fragment_number 필드는 8비트일 수 있다.
도 66은 본 발명의 일 실시 예에 따른 차세대 방송 시스템에서 방송 서비스 시그널링 메시지의 구성을 나타낸다. 일 실시 예에 따른 방송 서비스 시그널링 메시지는 방송 수신 장치(100)가 차세대 방송 시스템에서 방송 서비스 및 컨텐츠 중 적어도 하나를 수신할 수 있도록 하기 위한 방송 서비스 시그널링 방법이다.
도 66의 실시 예에 따른 방송 서비스 시그널링 방법은 도 65에 도시된 시그널링 메시지 구성에 기초할 수 있다. 도 66의 실시 예에 따른 방송 서비스 시그널링 메시지는 서비스 시그널링 채널을 통해 전송될 수 있다. 이때 서비스 시그널링 채널이란 방송 서비스 스캔을 위한 서비스 시그널링 정보를 다른 계층을 거치지 않고 직접 전송하기 위한 물리적 계층 파이프의 일 형태일 수 있다. 구체적인 실시 예에서 서비스 시그널링 채널은 FIC(Fast Information Channel) 및 LLS(Low Layer Signaling) 중 적어도 어느 지칭될 수 있다. 또한, 도 66의 실시 예에 따른 방송 서비스 시스널링 메시지는 XML의 형태일 수도 있다.
도 66의 실시 예에 따른 서비스 시그널링 메시지는 포함하고 있는 서비스의 수 정보를 포함할 수 있다. 구체적으로 하나의 서비스 시그널링 메시지는 복수의 서비스를 포함할 수 있으며, 포함하고 있는 서비스의 수를 나타내는 정보를 포함할 수 있다. 서비스의 수 정보는 num_services 필드일 수 있다. 구체적인 실시 예에서 num_services 필드는 8비트일 수 있다.
또한, 도 66의 실시 예에 따른 서비스 시그널링 메시지는 서비스에 대한 식별자 정보를 포함할 수 있다. 식별자 정보는 service_id 필드일 수 있다. 구체적인 실시 예에서 service_id필드는 16비트일 수 있다.
또한, 도 66의 실시 예에 따른 서비스 시그널링 메시지는 서비스의 타입 정보를 포함할 수 있다. 서비스 타입 정보는 service_type 필드일 수 있다. 구체적인 실시 예에서 service_type 필드가 0x00 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 scheduled audio service일 수 있다.
또 다른 실시 예에서 service_type 필드가 0x01 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 스케줄드 오디오/비디오 서비스(scheduled audio/video service)일 수 있다. 이때, 스케줄드 오디오/비디오 서비스는 미리 정해진 스케줄에 따라 방송되는 오디오/비디오 서비스일 수 있다.
또 다른 실시 예에서 service_type 필드가 0x02 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 온-디멘드 서비스(on-demand service) 일 수 있다. 이때, 온-디멘드 서비스는 사용자의 요청에 의해 재생되는 오디오/비디오 서비스일 수 있다. 또한, 온-디멘드 서비스는 스케줄드 오디오/비디오 서비스와 반대되는 서비스일 수 있다.
또 다른 실시 예에서 service_type 필드가 0x03 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 앱-베이스드 서비스(app-based service) 일 수 있다. 이때, 앱-베이스드 서비스는 실시간 방송 서비스가 아닌 비 실시간 서비스로서, 어플리케이션을 통해 제공되는 서비스일 수 있다. 앱-베이스드 서비스는 실시간 방송 서비스와 연관된 서비스 및 실시간 방송 서비스와 연관되지 않은 서비스 중 적어도 하나를 포함할 수 있다. 방송 수신 장치(100)는 어플리케이션을 다운로드하여 앱-베이스드 서비스를 제공할 수 있다.
또 다른 실시 예에서 service_type 필드가 0x04 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 권리 발급자 서비스(right issuer service) 일 수 있다. 이때, 권리 발급자 서비스는 서비스를 제공받을 권리를 발급받은 자에게만 제공되는 서비스일 수 있다.
또 다른 실시 예에서 service_type 필드가 0x05 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 서비스 가이드 서비스(service guide service) 일 수 있다. 이때 서비스 가이드 서비스는 제공되는 서비스의 정보를 제공하는 서비스일 수 있다. 예를 들면, 제공되는 서비스의 정보는 방송 스케줄일 수 있다.
또한, 도 66의 실시 예에 따른 서비스 시그널링 메시지는 서비스의 이름 정보를 포함할 수 있다. 서비스 이름 정보는 short_service_name 필드일 수 있다.
또한, 도 66의 실시 예에 따른 서비스 시그널링 메시지는 short_service_name 필드의 길이 정보를 포함할 수 있다. short_service_name 필드의 길이 정보는 short_service_name_length 필드일 수 있다.
또한, 도 66의 실시 예에 따른 서비스 시스널링 메시지는 시그널링하는 서비스와 연관된 방송 서비스 채널 넘버 정보를 포함할 수 있다. 연관된 방송 서비스 채널 넘버 정보는 channel_number 필드일 수 있다.
또한, 도 66의 실시 예에 다른 서비스 시그널링 메시지는 이하 설명할 각 전송 모드에 따라 방송 수신 장치가 타임베이스(timebase) 또는 시그널링 메시지를 획득하기 위해 필요한 데이터를 포함할 수 있다. 타임베이스 또는 시그널링 메시지를 획득하기 위한 데이터는 bootstrap() 필드일 수 있다.
상술한 전송 모드는 타임베이스 전송 모드 및 시그널링 전송 모드 중 적어도 하나일 수 있다. 타임베이스 전송 모드는 방송 서비스에서 사용하는 타임라인에 대한 메타데이터를 포함하는 타임베이스에 대한 전송 모드일 수 있다. 타임라인은 미디어 컨텐츠를 위한 일련의 시간 정보이다. 구체적으로 타임라인은 미디어 컨텐츠 재생의 기준이되는 일련의 기준 시간일 수 있다. 타임베이스 전송 모드에 대한 정보는 timebase_transport_mode 필드일 수 있다.
또한, 시그널링 전송 모드는 방송 서비스에서 사용하는 시그널링 메시지를 전송하는 모드일 수 있다. 시그널링 전송 모드에 대한 정보는 signaling_transport_mode 필드일 수 있다. 이하 도 67에서 각 필드가 갖는 값이 의미하는 내용에 대해 상세히 설명한다.
도 67은 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드가 나타내는 값이 의미하는 내용을 나타낸다.
타임베이스 전송 모드는 방송 수신 장치(100)가 방송 서비스의 타임베이스를 동일한 방송 스트림내의 IP 데이터그램을 통해 획득하는 모드를 포함할 수 있다. 도 67의 실시 예에 따르면, timebase_transport_mode 필드가 0x00의 값을 갖는 경우, timebase_transport_mode 필드는 방송 수신 장치가 방송 서비스의 타임베이스를 동일한 방송 스트림내의 IP 데이터그램을 통해 획득할 수 있음을 나타낼 수 있다.
또한, 시그널링 전송 모드는 방송 수신 장치(100)가 방송 서비스에 사용하는 시그널링 메시지를 동일한 방송 스트림내의 IP 데이터그램을 통해 획득하는 모드를 포함할 수 있다. 도 67의 또 다른 실시 예에 따르면, signaling_transport_mode 필드가 0x00의 값을 갖는 경우, signaling_transport_mode 필드는 방송 수신 장치가 방송 서비스에 사용하는 시그널링 메시지를 동일한 방송 스트림 내의 IP 데이터그램을 통해 획득할 수 있음을 나타낼 수 있다. 동일한 방송 스트림이란 방송 수신 장치가 현재 서비스 시그널링 메시지를 수신한 방송 스트림과 동일한 방송 스트림일 수 있다. 또한, IP 데이터그램은 방송 서비스 또는 컨텐츠를 구성하는 컴포넌트를 인터넷 프로토콜에 따라 인캡슐레이션한 일 전송 단위일 수 있다. 이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 68에 도시된 신택스를 따를 수 있다. 도 68에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 68은 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드가 0x00 값을 갖는 경우, bootstrap() 필드의 신택스를 나타낸다.
도 68에 따른 실시 예에서 부트스트랩(bootstrap) 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램의 IP 주소 형식에 대한 정보를 포함할 수 있다. IP 주소 형식에 대한 정보는 IP_version_flag 필드일 수 있다. IP 주소 형식에 대한 정보는 IP 데이터그램의 IP 주소 형식이 IPv4임을 나타낼 수 있다. 일 실시 예에서 IP 주소 형식에 대한 정보가 0인 경우, IP 주소 형식에 대한 정보는 IP 데이터그램의 IP 주소 형식이 IPv4임을 나타낼 수 있다. IP 주소 형식에 대한 정보는 IP 데이터그램의 IP 주소 형식이 IPv6임을 나타낼 수 있다.또 다른 실시 예에서 IP 주소 형식에 대한 정보가 1인 경우, IP 주소 형식에 대한 정보는 IP 데이터그램의 IP 주소 형식이 IPv6임을 나타낼 수 있다.
도 68에 따른 실시 예에서 부트스트랩(bootstrap) 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는지 여부를 나타내는 정보를 포함할 수 있다. 이때 소스 IP 주소는 IP 데이터그램의 발신지(source) 주소일 수 있다. IP 데이터그램이 소스 IP 주소를 포함하는지 여부를 나타내는 정보는 source_IP_address_flag 필드일 수 있다. 일 실시 예에서 source_IP_address_flag 필드가 1인 경우, IP 데이터그램이 소스 IP 주소를 포함함을 나타낼 수 있다.
도 68에 따른 실시 예에서 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램이 목적지(destination) IP 주소를 포함하는지 여부를 나타내는 정보를 포함할 수 있다. 이때 목적지 IP 주소는 IP 데이터그램의 목적지 주소일 수 있다. IP 데이터그램이 목적지 IP 주소를 포함하는지 여부를 나타내는 정보는 destination_IP_address 필드일 수 있다. 일 실시 예에서 destination_IP_address 필드가 1인 경우, IP 데이터그램이 목적지 IP 주소를 포함함을 나타낼 수 있다.
도 68에 따른 실시 예에서 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램의 소스 IP 주소 정보를 포함할 수 있다. 소스 IP 주소 정보는 source_IP_address 필드일 수 있다.
도 68에 따른 실시 예에서 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램의 목적지 IP 주소 정보를 포함할 수 있다. 목적지 IP 주소 정보는 destination_IP_address 필드일 수 있다.
도 68에 따른 실시 예에서 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램의 플로우 포트 개수 정보를 포함할 수 있다. 이때 포트(port)는 IP 데이터그램의 플로우를 수신하기 위한 통로일 수 있다. IP 데이터그램의 UDP(user datagram protocol) 포트 개수를 나타내는 정보는 port_num_count 필드일 수 있다.
도 68에 따른 실시 예에서 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램의 UDP(user datagram protocol) 포트 번호를 나타내는 정보를 포함할 수 있다. 사용자 데이터그램 프로토콜(UDP)는 인터넷에서 정보를 주고받을 때, 서로 주고 받는 형식이 아닌 한쪽에서 일방적으로 보내는 방식의 통신 프로토콜이다.
다시 도 67으로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 방송 서비스의 타임베이스를 다른 방송 스트림내의 IP 데이터그램을 통해 획득하는 모드를 포함할 수 있다. 도 67의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x01의 값을 갖는 경우, timebase_transport_mode 필드는 방송 서비스의 타임베이스를 다른 방송 스트림내의 IP 데이터그램을 통해 획득할 수 있음을 나타낼 수 있다. 다른 방송 스트림은 현재 서비스 시그널링 메시지를 수신한 방송 스트림과 다른 방송 스트림일 수 있다.
또한, 시그널링 전송 모드는 방송 수신 장치(100)가 방송 서비스에 사용하는시그널링 메시지를 다른 방송 스트림내의 IP 데이터그램을 통해 획득하는 모드를 포함할 수 있다. 도 67의 또 다른 실시 예에 따르면, signaling_transport_mode 필드가 0x01의 값을 갖는 경우, signaling_transport_mode 필드는 방송 서비스에 사용하는 시그널링 메시지를 다른 방송 스트림 내의 IP 데이터그램을 통해 획득할 수 있음을 나타낼 수 있다. 이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 69에 도시된 신택스를 따를 수 있다. 도 69에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 69의 실시 예에 따른 부트스트램 데이터는 시그널링 메시지를 전송하는 방송국의 식별자 정보를 포함할 수 있다. 구체적으로, 부트스트램 데이터는 특정 주파수 또는 전송 프레임을 통해 시그널링 메시지를 전송하는 특정 방송국 고유의 식별자 정보를 포함할 수 있다. 방송국의 식별자 정보는 broadcasting_id 필드일 수 있다. 또한, 방송국의 식별자 정보는 방송 서비스를 전송하는 전송 스트림의 식별자 정보일 수 있다.
다시 도 67으로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 동일한 방송 스트림내의 세션 기반 플로우를 통해 타임베이스를 획득하는 모드를 포함할 수 있다.
도 67의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x02의 값을 갖는 경우, 방송 서비스의 타임베이스를 동일한 방송 스트림내의 세션 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이와 더불어, 시그널링 전송 모드는 방송 수신 장치(100)가 동일한 방송 스트림내의 세션 기반 플로우를 통해 시그널링 메시지를 획득하는 모드를 포함할 수 있다. signaling_transport_mode 필드가 0x02의 값을 갖는 경우, 방송 서비스에 사용하는 시그널링 메시지를 동일한 방송 스트림 내의 어플리케이션 계층 전송 세션 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 어플리케이션 계층 전송 세션 기반 플로우는 ALC(Asynchronous Layered Coding)/LCT(Layered Coding Transport) 세션 및 FLUTE(File Delivery over Unidirectional Transport) 세션 중 어느 하나일 수 있다.
이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 70에 도시된 신택스를 따를 수 있다. 도 70에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 70의 실시 예에 따른 부트스트램 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 어플리케이션 계층 전송 패킷을 전송하는 어플리케이션 계층 전송 세션의 식별자(transport session identifier) 정보를 포함할 수 있다. 이때 전송 패킷을 전송하는 세션은 ALC/LCT 세션 및 FLUTE 세션 중 어느 하나일 수 있다. 어플리케이션 계층 전송 세션의 식별자 정보는 tsi 필드일 수 있다.
다시 도 57으로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 다른 방송 스트림내의 세션 기반 플로우를 통해 타임베이스를 획득하는 모드를 포함할 수 있다. 도 57의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x03의 값을 갖는 경우, 방송 서비스의 타임베이스를 다른 방송 스트림내의 세션 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이와 더불어, 시그널링 전송 모드는 방송 수신 장치(100)가 동일한 방송 스트림내의 세션 기반 플로우를 통해 시그널링 메시지를 획득하는 모드를 포함할 수 있다. signaling_transport_mode 필드가 0x03의 값을 갖는 경우, 방송 서비스에 사용하는 시그널링 메시지를 다른 방송 스트림 내의 어플리케이션 계층 전송 세션 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 어플리케이션 계층 전송 세션 기반 플로우는 ALC(Asynchronous Layered Coding)/LCT(Layered Coding Transport) 세션 및 FLUTE(File Delivery over Unidirectional Transport) 세션 중 적어도 어느 하나일 수 있다.
이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 71에 도시된 신택스를 따를 수 있다. 도 71에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 71의 실시 예에 따른 부트스트램 데이터는 시그널링 메시지를 전송하는 방송국의 식별자 정보를 포함할 수 있다. 구체적으로, 부트스트램 데이터는 특정 주파수 또는 전송 프레임을 통해 시그널링 메시지를 전송하는 특정 방송국 고유의 식별자 정보를 포함할 수 있다. 방송국의 식별자 정보는 broadcasting_id 필드일 수 있다. 또한, 방송국의 식별자 정보는 방송 서비스의 전송 스트림의 식별자 정보일 수 있다.
다시 도 67으로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 동일한 방송 스트림내의 패킷 기반 플로우를 통해 타임베이스를 획득하는 모드를 포함할 수 있다. 도 67의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x04의 값을 갖는 경우, 방송 서비스의 타임베이스를 동일한 방송 스트림내의 패킷 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 패킷 기반 플로우는 MPEG 미디어 전송(MPEG Media Tansport, MMT) 패킷 플로우일 수 있다.
이와 더불어, 시그널링 전송 모드는 방송 수신 장치(100)가 동일한 방송 스트림내의 패킷 기반 플로우를 통해 시그널링 메시지를 획득하는 모드를 포함할 수 있다. signaling_transport_mode 필드가 0x04의 값을 갖는 경우, 방송 서비스에 사용하는 시그널링 메시지를 동일한 방송 스트림 내의 패킷 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 패킷 기반 플로우는 MMT 패킷 플로우일 수 있다.
이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 72에 도시된 신택스를 따를 수 있다. 도 72에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 72의 실시 예에 다른 부트스트램 데이터는 타임베이스 또는 시그널링 메시지를 전송하는 전송 패킷의 식별자 정보를 포함할 수 있다. 전송 패킷의 식별자 정보는 packet_id 필드일 수 있다. 전송 패킷의 식별자 정보는 MPEG-2 전송 스트림의 식별자 정보일 수 있다.
다시 도 67으로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 다른 방송 스트림내의 패킷 기반 플로우를 통해 타임베이스를 획득하는 모드를 포함할 수 있다.
도 67의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x05의 값을 갖는 경우, 방송 서비스의 타임베이스를 다른 방송 스트림내의 패킷 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 패킷 기반 플로우는 MPEG 미디어 전송 패킷 플로우일 수 있다.
이와 더불어, 시그널링 전송 모드는 방송 수신 장치(100)가 다른 방송 스트림내의 패킷 기반 플로우를 통해 시그널링 메시지를 획득하는 모드를 포함할 수 있다. signaling_transport_mode 필드가 0x05의 값을 갖는 경우, 방송 서비스에 사용하는 시그널링 메시지를 다른 방송 스트림 내의 패킷 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 패킷 기반 플로우는 MMT 패킷 플로우일 수 있다.
이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 73에 도시된 신택스를 따를 수 있다. 도 73에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 73의 실시 예에 따른 부트스트램 데이터는 시그널링 메시지를 전송하는 방송국의 식별자 정보를 포함할 수 있다. 구체적으로, 부트스트램 데이터는 특정 주파수 또는 전송 프레임을 통해 시그널링 메시지를 전송하는 특정 방송국 고유의 식별자 정보를 포함할 수 있다. 방송국의 식별자 정보는 broadcasting_id 필드일 수 있다. 또한, 방송국의 식별자 정보는 방송 서비스의 전송 스트림의 식별자 정보일 수 있다.
또한, 도 73의 실시 예에 다른 부트스트램 데이터는 타임베이스 또는 시그널링 메시지를 전송하는 전송 패킷의 식별자 정보를 포함할 수 있다. 전송 패킷의 식별자 정보는 packet_id 필드일 수 있다. 전송 패킷의 식별자 정보는 MPEG-2 전송 스트림의 식별자 정보일 수 있다.
다시 도 67으로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 타임베이스를 URL을 통해 획득하는 모드를 포함할 수 있다.
도 67의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x06의 값을 갖는 경우, 방송 서비스의 타임베이스를 URL을 통해 획득할 수 있음을 나타낼 수 있다. 이와 더불어, 시그널링 전송 모드는 방송 수신 장치(100)가 시그널링 메시지를 URL을 통해 획득하는 모드를 포함할 수 있다. signaling_transport_mode 필드가 0x06의 값을 갖는 경우, 방송 서비스에 사용하는 시그널링 메시지를 수신할 수 있는 주소를 식별하는 식별자를 통해 획득할 수 있음을 나타낼 수 있다. 이때, 방송 서비스에 사용하는 시그널링 메시지를 수신할 수 있는 주소를 식별하는 식별자는 URL일 수 있다.
이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 74에 도시된 신택스를 따를 수 있다. 도 74에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 74의 실시 예에 따른 부트스트램 데이터는 방송 서비스의 타임베이스 또는 시그널링 메시지를 다운 받을 수 있는 URL에 대한 길이 정보를 포함할 수 있다. URL 길이 정보는 URL_length 필드일 수 있다.
또한, 도 74의 실시 예에 따른 부트스트램 데이터는 방송 서비스의 타임베이스 또는 시그널링 메시지를 다운받을 수 있는 URL의 실제 데이터를 포함할 수 있다. URL의 실제 데이터는 URL_char 필드일 수 있다.
도 75는 도 76 내지 도 74의 실시 예에서 타임베이스 및 서비스 시그널링 메시지를 획득하는 과정을 나타낸다.
도 75에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 방송 수신 장치(100)는 패킷 기반 전송 프로토콜을 통해 타임베이스를 획득할 수 있다. 구체적으로, 방송 수신 장치(100)는 서비스 시그널링 메시지를 이용하여 IP/UDP 플로우를 통해 타임베이스를 획득할 수 있다. 또한, 본 발명의 일 실시 예에 따른 방송 수신 장치(100)는 세션 기반 전송 프로토콜을 통해 서비스 관련 시그널링 메시지를 획득할 수 있다. 구체적으로 방송 수신 장치(100)는 ALC/LCT 전송 세션을 통하여 서비스 관련 시그널링 메시지를 획득할 수 있다.
도 76은 본 발명의 일 실시 예에 따른 차세대 방송 시스템에서 방송 서비스 시그널링 메시지의 구성을 나타낸다. 일 실시 예에 따른 방송 서비스 시그널링 메시지는 방송 수신 장치가 차세대 방송 시스템에서 방송 서비스 및 컨텐츠를 수신할 수 있도록 하기 위한 서비스 시그널링 방법이다. 도 76의 실시 예에 따른 방송 서비스 시그널링 방법은 도 75에 도시된 시그널링 메시지 구성에 기초할 수 있다. 도 76의 실시 예에 따른 방송 서비스 시그널링 메시지는 서비스 시그널링 채널을 통해 전송될 수 있다. 이때 서비스 시그널링 채널이란 방송 서비스 스캔을 위한 서비스 시그널링 정보를 다른 계층을 거치지 않고 직접 전송하기 위한 물리적 계층 파이프의 일 형태일 수 있다.
구체적인 실시 예에서 시그널링 채널은 FIC(Fast Information Channel), LLS(Low Layer Signaling) 및 어플리케이션 계층 전송 세션 중 적어도 어느 하나로 지칭될 수 있다. 또한, 도 76의 실시 예에 따른 방송 서비스 시스널링 메시지는 XML의 형태로 표현될 수도 있다.
도 76의 실시 예에 따른 서비스 시그널링 메시지는 타임베이스를 획득하기 위해 필요한 정보를 서비스 시그널링 메시지가 포함하고 있는지 여부를 나타내는 정보를 포함할 수 있다. 이때 타임베이스는 방송 서비스에 사용하는 타임라인에 대한 메타데이터를 포함할 수 있다. 타임라인이란 미디어 컨텐츠를 위한 일련의 시간 정보이다. 타임베이스 획득을 위한 정보의 포함여부를 나타내는 정보는 timeline_transport_flag 필드일 수 있다. 일 실시 예에서 timeline_transport_flag 필드가 1의 값을 갖는 경우, 서비스 시그널링 메시지가 타임베이스 전송을 위한 정보를 포함하고 있음을 나타낼 수 있다.
도 76의 실시 예에 다른 서비스 시그널링 메시지는 이하 설명할 각 전송 모드에 따라 방송 수신 장치가 타임베이스(timebase) 또는 시그널링 메시지를 획득하기 위해 필요한 데이터를 포함할 수 있다. 타임베이스 또는 시그널링 메시지를 획득하기 위한 데이터는 bootstrap_data() 필드일 수 있다.
상술한 전송 모드는 타임베이스 전송 모드 및 시그널링 전송 모드 중 적어도 하나일 수 있다. 타임베이스 전송 모드는 방송 서비스에서 사용하는 타임라인에 대한 메타데이터를 포함하는 타임베이스에 대한 전송 모드일 수 있다. 타임베이스 전송 모드에 대한 정보는 timebase_transport_mode 필드일 수 있다.
또한, 시그널링 전송 모드는 방송 서비스에서 사용하는 시그널링 메시지를 전송하는 모드일 수 있다. 시그널링 전송 모드에 대한 정보는 signaling_transport_mode 필드일 수 있다.
또한, timebase_transport_mode 필드 및 signaling_transport_mode 필드에 따른 bootstrap_data() 필드의 의미는 상술한 내용과 동일할 수 있다.
도 77은 본 발명의 일 실시 예에 따른 차세대 방송 시스템에서 방송 서비스 시그널링 메시지의 구성을 나타낸다. 일 실시 예에 따른 방송 서비스 시그널링 메시지는 방송 수신 장치가 차세대 방송 시스템에서 방송 서비스 및 컨텐츠를 수신할 수 있도록 하기 위한 서비스 시그널링 방법이다. 도 77의 실시 예에 따른 방송 서비스 시그널링 방법은 도 75에 도시된 시그널링 메시지 구성에 기초할 수 있다. 도 77의 실시 예에 따른 방송 서비스 시그널링 메시지는 서비스 시그널링 채널을 통해 전송될 수 있다. 이때 서비스 시그널링 채널이란 방송 서비스 스캔을 위한 서비스 시그널링 정보를 다른 계층을 거치지 않고 직접 전송하기 위한 물리적 계층 파이프의 일 형태일 수 있다. 구체적인 실시 예에서 시그널링 채널은 FIC(Fast Information Channel), LLS(Low Layer Signaling) 및 어플리케이션 계층 전송 세션 중 적어도 어느 하나로 지칭될 수 있다. 또한, 도 77의 실시 예에 따른 방송 서비스 시스널링 메시지는 XML의 형태로 표현될 수도 있다.
도 77의 실시 예에 따른 서비스 시그널링 메시지는 타임베이스를 획득하기 위해 필요한 정보를 서비스 시그널링 메시지가 포함하고 있는지 여부를 나타낼 수 있다. 이때 타임베이스는 방송 서비스에 사용하는 타임라인에 대한 메타데이터를 포함할 수 있다. 타임라인이란 미디어 컨텐츠를 위한 일련의 시간 정보이다. 타임베이스 획득을 위한 정보의 포함여부를 나타내는 정보는 timeline_transport_flag 필드일 수 있다. 일 실시 예에서 timeline_transport_flag 필드가 1의 값을 갖는 경우, 서비스 시그널링 메시지가 타임베이스 전송을 위한 정보를 포함하고 있음을 나타낼 수 있다.
또한, 도 77의 실시 예에 따른 서비스 시그널링 메시지는 시그널링 메시지를 획득하기 위해 필요한 정보를 서비스 시그널링 메시지가 포함하고 있는지 여부를 나타낼 수 있다. 이때 시그널링 메시지는 방송 서비스에서 사용하는 MPD(media presentation data) 또는 MPD URL과 관련된 시그널링 메시지일 수 있다. 시그널링 메시지 획득을 위한 정보의 포함여부를 나타내는 정보는 MPD_transport_flag 필드일 수 있다. 일 실시 예에서 MPD_transport_flag 필드가 1의 값을 갖는 경우, 서비스 시그널링 메시지가 MPD 또는 MPD URL 관련 시그널링 메시지 전송 관련 정보를 포함하고 있음을 나타낼 수 있다. HTTP를 기반으로 하는 적응형 미디어 스트리밍을 DASH(Dynamic adaptive streaming over HTTP)라고 할 수 있다. 그리고 적응형 미디어 스트리밍에서 방송 서비스 및 컨텐츠를 구성하는 세그먼트를 방송 수신 장치가 획득하기 위한 상세 정보를 MPD라고 할 수 있다. MPD는 XML 형태로 표현될 수 있다. MPD URL 관련 시그널링 메시지는 MPD를 획득할 수 있는 주소 정보를 포함할 수 있다.
또한, 도 77의 실시 예에 따른 서비스 시그널링 메시지는 컴포넌트 데이터에 대한 획득 경로 정보를 서비스 시그널링 메시지가 포함하고 있는지 여부를 나타낼 수 있다. 이때 컴포넌트는 방송 서비스를 제공하기 위한 컨텐츠 데이터에 대한 일 단위일 수 있다. 컴포넌트 데이터에 대한 획득 경로 정보의 포함여부를 나타내는 정보는 component_location_transport_flag 필드일 수 있다. 일 실시 예에서 component_location_transport_flag 필드가 1의 값을 갖는 경우, component_location_transport_flag 필드는 서비스 시그널링 메시지가 컴포넌트 데이터에 대한 획득 경로 정보를 포함하고 있음을 나타낼 수 있다.
또한, 도 77의 실시 예에 따른 서비스 시그널링 메시지는 어플리케이션 관련 시그널링 메시지를 획득하기 위해 필요한 정보를 포함하는지 여부를 나타낼 수 있다. 어플리케이션 관련 시그널링 메시지를 획득하기 위해 필요한 정보의 포함여부를 나타내는 정보는 app_signaling_transport_flag 필드일 수 있다. 일 실시 예에서 app_signaling_transport_flag 필드가 1의 값을 갖는 경우, app_signaling_transport_flag 필드는 서비스 시그널링 메시지가 컴포넌트 데이터에 대한 획득 경로 정보를 포함하고 있음을 나타낼 수 있다.
또한, 도 77의 실시 예에 따른 서비스 시그널링 메시지는 시그널링 메시지 전송 관련 정보를 포함하는지 여부를 나타낼 수 있다. 시그널링 메시지 전송 관련 정보를 포함하는지 여부를 나타내는 정보는 signaling_transport_flag 필드일 수 있다. 일 실시 예에서 signaling_transport_flag 필드가 1의 값을 갖는 경우, signaling_transport_flag 필드는 서비스 시그널링 메시지가 시그널링 메시지 전송 관련 정보를 포함하고 있음을 나타낼 수 있다. 그리고, 서비스 시그널링 메시지가 상술한 MPD 관련 시그널링, 컴포넌트 획득 경로 정보 및 어플리케이션 관련 시그널링 정보를 포함하고 있지 않는 경우, 방송 수신 장치는 시그널링 메시지 전송 경로를 통하여 MPD 관련 시그널링, 컴포넌트 획득 경로 정보 및 어플리케이션 관련 시그널링 정보를 획득할 수 있다.
도 77의 실시 예에 따른 서비스 시그널링 메시지는 방송 서비스에서 사용하는 타임베이스를 전송하는 모드를 나타낼 수 있다. 타임베이스를 전송하는 모드에 대한 정보는 timebase_transport_mode 필드일 수 있다.
도 77의 실시 예에 따른 서비스 시그널링 메시지는 방송 서비스에서 사용하는 MPD 또는 MPD URL 관련 시그널링 메시지를 전송하는 모드를 나타낼 수 있다. MPD 또는 MPD URL 관련 시그널링 메시지를 전송하는 모드에 대한 정보는 MPD_transport_mode 필드일 수 있다.
도 77의 실시 예에 따른 서비스 시그널링 메시지는 방송 서비스에서 사용하는 컴포넌트 데이터의 획득 경로를 포함하는 컴포넌트 로케이션 시그널링 메시지를 전송하는 모드를 나타낼 수 있다. 컴포넌트 데이터의 획득 경로를 포함하는 컴포넌트 로케이션 시그널링 메시지를 전송하는 모드에 대한 정보는 component_location_transport_mode 필드일 수 있다.
도 77의 실시 예에 따른 서비스 시그널링 메시지는 방송 서비스에서 사용하는 어플리케이션 관련 시그널링 메시지를 전송하는 모드를 나타낼 수 있다. 어플리케이션 관련 시그널링 메시지를 전송하는 모드에 대한 정보는 app_signaling_transport_mode 필드일 수 있다.
도 77의 실시 예에 따른 서비스 시그널링 메시지는 방송 서비스에서 사용하는 서비스 관련 시그널링 메시지를 전송하는 모드를 나타낼 수 있다. 서비스 관련 시그널링 메시지를 전송하는 모드에 대한 정보는 signaling_transport_mode 필드일 수 있다.
상술한 timebase_transport_mode 필드, MPD_transport_mode 필드, component_location_transport_mode 필드, app_signaling_transport_mode 필드 및 signaling_transport_mode 필드가 갖는 값에 따른 의미를 이하 도 68을 참고하여 설명한다.
도 78은 도 77에서 설명한 각각의 전송 모드가 갖는 값에 따른 의미를 나타낸다. 도 78의 X_transport_mode는 timebase_transport_mode, MPD_transport_mode, component_location_transport_mode, app_signaling_transport_mode 및 signaling_transport_mode를 포함할 수 있다. 각각의 전송 모드가 갖는 값에 대한 구체적인 의미는 도 67에서 설명한 내용과 동일하다. 다시 도 77으로 돌아온다.
도 77의 실시 예에 따른 서비스 시그널링 메시지는 도 78의 각각의 모드가 갖는 값에 따라 방송 수신 장치가 타임베이스 또는 시그널링 메시지를 획득하기 위해 필요한 정보를 포함할 수 있다. 타임베이스 또는 시그널링 메시지 획득에 필요한 정보는 bootstrap_data() 필드일 수 있다. 구체적으로 bootstrap_data()에 포함된 정보는 상술한 도 68 내지 도 74에서 설명한 내용과 동일하다.
도 79는 차세대 방송 시스템에서 방송 서비스의 컴포넌트 데이터 획득 경로를 시그널링하는 시그널링 메시지의 구성을 나타낸다. 차세대 방송 시스템에서 하나의 방송 서비스는 하나 이상의 컴포넌트로 구성될 수 있다. 도 79의 실시 예예 따른 시그널링 메시지에 기초하여 방송 수신 장치는 방송 스트림에서 컴포넌트 데이터 및 관련 어플리케이션의 획득 경로에 대한 정보를 획득할 수 있다. 이때 도 69의 실시 예에 따른 시그널링 메시지는 XML의 형태로 표현할 수도 있다.
도 79의 실시 예예 따른 시그널링 메시지는 시그널링 메시지가 컴포넌트 로케이션을 시그널링하는 메시지임을 식별하기 위한 정보를 포함할 수 있다. 시그널링 메시지가 컴포넌트 로케이션을 시그널링하는 메시지임을 식별하기 위한 정보는 signaling_id 필드일 수 있다. 구체적인 실시 예에서 signaling_id 필드는 8비트일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 시그널링 메시지가 컴포넌트 로케이션을 시그널링하는 메시지임을 식별하는 확장 정보를 포함할 수 있다. 이때 확장 정보는 컴포넌트 로케이션을 시그널링하는 메시지의 프로토콜 버전을 포함할 수 있다. 확장 정보는 signaling_id_extension 필드일 수 있다.
또한, 도 69의 실시 예에 따른 시그널링 메시지는 컴포넌트 로케이션을 시그널링하는 메시지의 버전 정보를 포함할 수 있다. 이때 버전 정보는 컴포넌트 로케이션을 시그널링하는 메시지의 내용이 변경 되었음을 나타낼 수 있다. 버전 정보는 version_number 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 연관된 방송 서비스의 식별자 정보를 포함할 수 있다. 이때 연관 방송 서비스의 식별자 정보는 service_id 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 방송 서비스와 연관된 컴포넌트의 개수를 포함할 수 있다. 이때 연관된 컴포넌트 개수 정보는 num_component 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 각 컴포넌트의 식별자를 포함할 수 있다. 예를 들어, 컴포넌트 식별자는 MPEG DASH의 MPD@id, period@id 및 representation@id를 조합하여 구성될 수 있다. 이때 각 컴포넌트의 식별자 정보는 component_id 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 component_id 필드의 길이를 포함할 수 있다. 이때 component_id 필드의 길이 정보는 component_id_length 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 획득할 수 있는 주파수를 나타내는 주파수 정보를 포함할 수 있다. 컴포넌트 데이터는 DASH 세그먼트를 포함할 수 있다. 이때 컴포넌트 데이터를 획득할 수 있는 주파수 정보는 frequency_number 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 방송국 고유의 식별자를 포함할 수 있다. 방송국은 특정 주파수 또는 전송되는 전송 프레임을 통해 컴포넌트 데이터를 전송할 수 있다. 이때 방송국 고유의 식별자 정보는 broadcast_id 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 전송하는 물리적 계층 파이프의 식별자를 포함할 수 있다. 이때 컴포넌트 데이터를 전송하는 물리적 계층 파이프의 식별자 정보는 datapipe_id 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램의 IP 주소 형식을 포함할 수 있다. 이때 IP 데이터그램의 IP 주소 형식 정보는 IP_version_flag 필드일 수 있다. 구체적인 실시 예에서 IP_version_flag 필드는 필드 값이 0인 경우 IPv4 형식을, IP_version_flag 필드가 1인 경우 IPv6 형식을 나타낼 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는지 여부에 관한 정보 포함할 수 있다. IP 데이터그램이 소스 IP 주소를 포함하는지 여부에 관한 정보는 source_IP_address_flag 필드일 수 있다. 일 실시 예에서 source_IP_address_flag 필드가 1의 값을 갖는 경우, IP 데이터그램이 소스 IP 주소를 포함함을 나타낸다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램이 목적지 IP 주소를 포함하는지 여부에 관한 정보를 포함할 수 있다. IP 데이터그램이 목적지 IP 주소를 포함하는지 여부에 관한 정보는 destination_IP_address_flag 필드일 수 있다. 일 실시 예에서 destination_IP_address_flag 필드가 1의 값을 갖는 경우 IP 데이터그램이 목적지 IP 주소를 포함함을 나타낸다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램의 소스 IP 주소 정보를 포함할 수 있다. 일 실시 예에서 source_IP_address_flag 필드가 1의 값을 갖는 경우 시그널링 메시지는 소스 IP 주소 정보를 포함할 수 있다. 소스 IP 주소 정보는 source_IP_address 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램의 목적지 IP 주소 정보를 포함할 수 있다. 일 실시 예에서 destination_IP_address_flag 필드가 1의 값을 갖는 경우 시그널링 메시지는 목적지 IP 주소 정보를 포함할 수 있다. 목적지 IP 주소 정보는 destination_IP_addres 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램의 UDP 포트 번호 정보를 포함할 수 있다. UDP 포트 번호 정보는 UDP_port_num 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 전송 패킷을 전송하는 어플리케이션 계층 전송 세션의 식별자(transport session identifier) 정보를 포 함할 수 있다. 전송 패킷을 전송하는 세션은 ALC/LCT 세션 및 FLUTE 세션 중 적어도 어느 하나일 수 있다. 세션의 식별자 정보는 tsi 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 전송 패킷의 식별자 정보를 포함할 수 있다. 전송 패킷의 식별자 정보는 packet_id 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 방송 서비스와 연관된 어플리케이션 시그널링 메시지의 개수를 포함할 수 있다. 이때 방송 서비스는 service_id 필드에 따라 식별된 방송 서비스일 수 있다. 어플리케이션 시그널링 메시지의 개수 정보는 num_app_signaling 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 어플리케이션 시그널링 메시지의 식별자 정보를 포함할 수 있다. 어플리케이션 시그널링 메시지의 식별자 정보는 app_signaling_id 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 app_signaling_id 필드의 길이 정보를 포함할 수 있다. app_signaling_id 필드의 길이 정보는 app_signaling_id_length 필드일 수 있다.
또한, 도 79의 실시 예에 따른 시그널링 메시지는 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터를 포함할 수 있다. 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션 획득을 위한 경로 정보는 app_delivery_info() 필드일 수 있다. 이하 도 51에서 app_delivery_info() 필드의 실시 예를 설명한다.
도 80은 본 발명의 일 실시 예에 따른 app_delevery_info() 필드의 신택스를 나타낸다.
도 80의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터가 다른 방송 스트림을 통해 전송되는지 여부에 관한 정보를 포함할 수 있다. 어플리케이션 또는 연관된 데이터가 다른 방송 스트림을 통해 전송되는지 여부에 관한 정보는 broadcasting_flag 필드일 수 있다.
또한, 도 80의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램의 IP 주소 형식을 포함할 수 있다. IP 데이터그램의 IP 주소 형식의 정보는 IP_version_flag 필드일 수 있다. 일 실시 예에서 IP_version_flag 필드가 0인 경우 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램은 IPv4 형식을, IP_version_flag 필드가 1인 경우 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램은 IPv6 형식을 사용함을 나타낼 수 있다.
또한, 도 80의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는지 여부를 나타낼 수 있다. 이때, 연관된 데이터는 어플리케이션의 실행에 필요한 데이터일 수 있다.
어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는지 여부에 대한 정보는 source_IP_address_flag 필드일 수 있다. 일 실시 예에서 source_IP_address_flag 필드가 1인경우, IP 데이터그램이 소스 IP 주소를 포함하고 있음을 나타낼 수 있다.
또한, 도 80의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램이 목적지 IP 주소를 포함하는지 여부에 관한 정보를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램이 목적지 IP 주소를 포함하는지 여부에 대한 정보는 destination_IP_address_flag 필드일 수 있다. 일 실시 예에서 destination_IP_address_flag 필드가 1인경우, IP 데이터그램이 목적지 IP 주소를 포함하고 있음을 나타낼 수 있다.
또한, 도 80의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 특정 주파수 또는 전송되는 전송 프레임을 통해 어플리케이션 또는 연관된 데이터를 전송하는 방송국 고유의 식별자를 포함할 수 있다.
다시 말해서, 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 방송 서비스 전송 스트림의 식별자를 포함할 수 있다. 특정 주파수 또는 전송되는 전송 프레임을 통해 어플리케이션 또는 연관된 데이터를 전송하는 방송국 고유의 식별자 정보는 broadcast_id 필드일 수 있다.
또한, 도 80의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 source_IP_address_flag 필드가 1의 값을 갖는 경우, 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램의 소스 IP 주소를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램의 소스 IP 주소 정보는 source_IP_address 필드일 수 있다.
또한, 도 80의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 destination_IP_address_flag 필드가 1의 값을 갖는 경우, 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램의 목적지 IP 주소를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램의 목적지 IP 주소 정보는 destination_IP_address 필드일 수 있다.
또한, 도 80의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램 플로우의 포트 개수를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램 플로우의 포트 개수 정보는 port_num_count 필드일 수 있다.
또한, 도 80의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램 UDP 포트 번호를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램 UDP 포트 번호 정보는 destination_UDP_port_number 필드일 수 있다.
또한, 도 80의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 전송하는 전송 세션의 식별자를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 전송하는 전송 세션은 ALC/LCT 세션 및 FLUTE 세션 중 어느 하나일 수 있다. 어플리케이션 또는 연관된 데이터를 전송하는 전송 세션의 식별자 정보는 tsi 필드일 수 있다.
도 81은 본 발명의 또 다른 일 실시 예에 따른 app_delevery_info() 필드의 신택스를 나타낸다.
도 81의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 전송하는 전송 패킷의 식별자를 나타낼 수 있다. 어플리케이션 또는 연관된 데이터를 전송하는 전송 패킷은 패킷 기반 전송 플로우를 기반으로 하는 프로토콜에 따를 수 있다. 예를 들어 패킷 기반 전송 플로우는 MPEG 미디어 전송 프로토콜(MPEG Media transport protocol)을 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 전송하는 전송 패킷의 식별자 정보는 packet_id 필드일 수 있다.
도 82는 방송 서비스를 구성하는 하나 이상의 컴포넌트 데이터를 획득할 수 있는 경로 정보를 포함하는 컴포넌트 로케이션 시그널링을 나타낸다. 구체적으로 도 82는 방송 서비스를 구성하는 하나 이상의 컴포넌트가 MPEG DASH의 세그먼트로 표현되는 경우, DASH 세그먼트를 포함하는 컴포넌트 데이터를 획득할 수 있는 경로 정보를 나타낸다.
도 83은 도 82의 컴포넌트 로케이션 시그널링의 구성을 나타낸다.
도 83의 실시 예에 따른 컴포넌트 로케이션 시그널링은 방송 서비스와 연관된 MPEG DASH MPD의 식별자 정보를 포함할 수 있다. MPEG DASH MPD의 식별자 정보는 mpdip 필드일 수 있다.
또한, 도 83의 실시 예에 따른 컴포넌트 로케이션 시그널링은 mpdip 필드가 나타내는 MPEG DASH MPD 내의 주기(period) 속성(attributes)의 식별자를 포함할 수 있다. MPEG DASH MPD 내의 주기(period) 속성의 식별자 정보는 periodid 필드일 수 있다.
또한, 도 83의 실시 예에 따른 컴포넌트 로케이션 시그널링은 periodid 필드가 나타내는 주기내의 재생(representation) 속성의 식별자를 포함할 수 있다. 주기내의 재생(representation) 속성의 식별자 정보는 ReptnID 필드일 수 있다.
또한, 도 83의 실시 예에 따른 컴포넌트 로케이션 시그널링은 ReptnID 필드가 나타내는 주기내의 재생 속성에 포함된 DASH 세그먼트를 획득할 수 있는 주파수 넘버를 포함할 수 있다. DASH 세그먼트를 획득할 수 있는 주파수 넘버는 RF 채널 넘버일 수 있다. DASH 세그먼트를 획득할 수 있는 주파수 넘버 정보는 RFChan 필드일 수 있다.
또한, 도 83의 실시 예에 따른 컴포넌트 로케이션 시그널링은 특정 주파수 또는 전송되는 전송 프레임을 통해 DASH 세그먼트를 전송하는 방송국 고유의 식별자를 포함할 수 있다. DASH 세그먼트를 전송하는 방송국 고유의 식별자 정보는 Broadcastingid 필드일 수 있다.
또한, 도 83의 실시 예에 따른 컴포넌트 로케이션 시그널링은 DASH 세그먼트를 전달하는 물리적 계층 파이프의 식별자를 포함할 수 있다. 물리적 계층 파이프는 물리적 계층을 통해 전송되는 데이터 파이프일 수 있다. DASH 세그먼트를 전달하는 물리적 계층 파이프의 식별자 정보는 DataPipeId 필드일 수 있다.
또한, 도 83의 실시 예에 따른 컴포넌트 로케이션 시그널링은 DASH 세그먼트를 포함하는 IP 데이터그램의 목적지 IP 주소를 포함할 수 있다. DASH 세그먼트를 포함하는 IP 데이터그램의 목적지 IP 주소 정보는 IPAdd 필드일 수 있다.
또한, 도 83의 실시 예에 따른 컴포넌트 로케이션 시그널링은 DASH 세그먼트를 포함하는 IP 데이터그램의 UDP 포트 번호를 포함할 수 있다. DASH 세그먼트를 포함하는 IP 데이터그램의 UDP 포트 번호 정보는 UDPPort 필드일 수 있다.
또한, 도 83의 실시 예에 따른 컴포넌트 로케이션 시그널링은 DASH 세그먼트를 포함하는 전송 패킷을 전송하는 세션의 식별자(transport session identifier)를 포함할 수 있다. 전송 패킷을 전송하는 세션의 식별자는 ALC/LCT 센션 및 FLUTE 세션 중 적어도 어느 하나일 수 있다. 전송 패킷을 전송하는 세션의 식별자 정보는 TSI 필드일 수 있다.
또한, 도 83의 실시 예에 따른 컴포넌트 로케이션 시그널링은 DASH 세그먼트를 포함하는 전송 패킷의 식별자를 포함할 수 있다. 전송 패킷의 식별자 정보는 PacketId 필드일 수 있다.
도 84는 본 발명의 일 실시 예에 따른 방송 수신 장치의 동작 과정을 나타내는 흐름도이다.
방송 수신 장치의 수신부는 서비스 시그널링 메시지가 포함된 전송 프로토콜 패킷을 수신한다(S2301). 수신부는 인터넷 프로토콜 통신부 및 방송 수신부를 포함할 수 있다. 서비스 시그널링 메시지는 방송 서비스 및 미디어 컨텐츠 중 적어도 하나를 시그널링하기 위한 정보일 수 있다. 일 실시 예에서 전송 프로토콜은 인터넷 프로토콜(IP)일 수 있다. 또한, 일 실시 예에서 서비스 시그널링 메시지는 바이너리 포맷 및 XML 포맷 중 적어도 하나로 표현될 수 있다. 전송 프로토콜 패킷은 시그널링 메시지 헤더 및 시그널링 메시지를 포함할 수 있다.
방송 수신 장치의 제어부는 수신한 전송 프로토콜 패킷으로부터 서비스 시그널링 메시지를 추출한다(S2303). 구체적으로, 전송 프로토콜 패킷을 파싱하여 서비스 시그널링 메시지를 추출할 수 있다. 제어부는 계층화된 전송 프로토콜 패킷으로부터 인터넷 프로토콜 데이터그램을 획득할 수 있다. 획득한 인터넷 프로토콜 데이터그램은 서비스 시그널링 메시지를 포함할 수 있다.
방송 수신 장치의 제어부는 서비스 시그널링 메시지로부터 방송 서비스 제공을 위한 정보를 획득한다(S2305). 방송 서비스 제공을 위한 정보는 서비스 시그널링 메시지의 일부일 수 있다.
일 실시 예에서 방송 서비스를 제공하기 위한 정보는 컨텐츠를 위한 일련의 시간 정보인 타임라인에 대한 메타데이터를 포함하는 타임베이스를 위한 전송 모드정보일 수 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 적응형 미디어 스트리밍에서 컨텐츠를 구성하는 세그먼트 획득을 위한 상세 정보를 위한 전송 모드 정보일 수 있다. 적응형 미디어 스트리밍에서 컨텐츠를 구성하는 세그먼트 획득을 위한 상세 정보를 MPD(Media Presentation Description)라고 할 수 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 방송 서비스에서 컨텐츠를 구성하는 컴포넌트 데이터의 획득 경로를 위한 전송 모드 정보일 수 있다. 컴포넌트 데이터는 방송 서비스 또는 컨텐츠를 구성하는 개체일 수 있다. 이때, 컴포넌트 데이터의 획득 경로 정보는 컴포넌트 데이터를 전달하는 물리적 계층 파이프의 식별 정보일 수 있다. 계층화된 전송 프로토콜 패킷은 물리적 계층을 통해 전달되는 물리적 계층 파이프를 포함할 수 있다. 물리적 계층 파이프는 복수개 존재할 수 있다. 따라서, 복수의 물리적 계층 파이프 중 획득하고자하는 컴포넌트 데이터를 포함하는 물리적 계층 파이프를 식별할 필요가 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 방송 서비스에서 사용하는 어플리케이션을 위한 시그널링 메시지를 위한 전송 모드 정보일 수 있다. 이때, 어플리케이션을 위한 시그널링 메시지를 위한 전송 모드 정보는 어플리케이션을 전송하는 방송국의 식별자 정보, 어플리케이션을 포함하는 인터넷 프로토콜 데이터그램의 소스 IP 주소, 어플리케이션을 포함하는 인터넷 프로토콜 데이터그램의 목적지 IP 주소, 상기 어플리케이션을 포함하는 인터넷 프로토콜 데이터그램의 사용자 데이터그램 프로토콜(UDP, User Datagram Protocol)의 포트 번호, 상기 어플리케이션을 전송하는 전송 세션의 식별자 정보 및 상기 어플리케이션을 전송하는 패킷의 식별자 정보 중 적어도 하나일 수 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 방송 서비스에서 사용하는 서비스를 위한 시그널링 메시지를 위한 전송 모드 정보일 수 있다. 이때 서비스는 하나의 컨텐츠일 수 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 서비스를 구성하는 컴포넌트 데이터를 위한 전송 모드 정보를 포함한다. 이때, 컴포넌트 데이터를 위한 전송 모드 정보는 비 실시간 서비스 지원을 위한 전송 모드 및 실시간 서비스 지원을 위한 전송 모드 및 패킷 전송을 위한 전송 모드 중 적어도 하나를 나타낼 수 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 파일 형태의 실시간 서비스 수신을 위한 정보를 포함할 수 있다.
도 85는 본 발명의 일 실시 예에 따른 방송 전송 장치의 동작 과정을 나타내는 흐름도이다.
방송 전송 장치의 제어부는 방송 서비스 제공을 위한 정보를 서비스 시그너링 메시지에 삽입한다(S2401). 일 실시 예에서 방송 전송 장치의 제어부는 방송 서비스 제공을 위한 정보를 XML 형태로 서비스 시그널링 메시지에 삽입할 수 있다. 또 다른 실시 예에서 방송 전송 장치의 제어부는 방송 서비스 제공을 위한 정보를 바이너리 형태로 서비스 시그널링 메시지에 삽입할 수 있다.
방송 전송 장치의 제어부는 방송 서비스 제공을 위한 정보가 삽입된 서비스시그널링 메지시를 전송 프로토콜 패킷에 패킷타이징한다(S2403). 이때 전송 프로토콜은 세션 기반 전송 프로토콜(ALC/LCT, FLUTE) 및 패킷 기반 전송 프로토콜(MPEG-2 TS, MMT) 중 어느 하나일 수 있다.
방송 전송 장치의 전송부는 서비스 시그널링 메시지가 패킷타이징된 전송 프로토콜 패킷을 특정 전송 모드를 통해 방송 수신 장치로 전송한다(S2405). 일 실시 예에서 패킷타이징된 전송 프로토콜 패킷을 전송하는 전송 모드는 방송 서비스에서 사용하는, 컨텐츠를 위한 일련의 시간 정보인 타임라인에 대한 메타데이터를 포함하는 타임베이스를 위한 전송 모드일 수 있다. 또 다른 실시 예에서 패킷타이징된 전송 프로토콜 패킷을 전송하는 전송 모드는 적응형 미디어 스트리밍에서 컨텐츠를 구성하는 세그먼트 획득을 위한 상세 정보를 위한 전송 모드일 수 있다. 또 다른 실시 예에서 패킷타이징된 전송 프로토콜 패킷을 전송하는 전송 모드는 방송 서비스에서 컨텐츠를 구성하는 컴포넌트 데이터의 획득 경로를 위한 전송 모드일 수 있다. 또 다른 실시 예에서 패킷타이징된 전송 프로토콜 패킷을 전송하는 전송 모드는 방송 서비스에서 사용하는 어플리케이션을 위한 시그널링 메시지를 위한 전송 모드일 수 있다. 또 다른 실시 예에서 패킷타이징된 전송 프로토콜 패킷을 전송하는 전송 모드는 방송 서비스에서 사용하는 서비스를 위한 시그널링 메시지를 위한 전송 모드 일 수 있다.
하이브리드 방송에서는 어플리케이션을 통한 서비스 제공이 가능하다. 구체적으로 방송사는 방송의 컨텐츠와 연관된 정보를 어플리케이션을 통해 제공할 수 있다. 예컨대, 방송사는 방송의 컨텐츠의 등장인물이 사용하는 상품을 구입할 수 있는 어플리케이션을 제공할 수 있다. 이러한 어플리케이션을 위해 방송 전송 장치(10)는 어플리케이션을 시그널링하는 어플리케이션 시그널링 정보를 전송할 수 있다. 어플리케이션 시그널링 정보는 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보 중 적어도 어느 하나를 포함할 수 있다. 이에 대해 다음의 도면들을 통해 설명한다.
트리거링 어플리케이션 정보는 어플리케이션을 실행하는데 필요한 부가 정보를 포함할 수 있다. 구체적으로 트리거링 어플리케이션 정보는 어플리케이션의 속성을 포함할 수 있다. 또한, 트리거링 어플리케이션 정보는 어플리케이션이 포함하는 파일을 다운로드 수신할 수 있는 위치를 포함할 수 있다. 또한, 트리거링 어플리케이션 정보는 어플리케이션이 사용하는 NRT 컨텐츠 아이템을 수신할 수 있는 위치를 포함할 수 있다.
또한, 트리거링 어플리케이션 정보는 어플리케이션의 라이프싸이클(life-cycle) 변화를 시그널링할 수 있다. 구체적으로 어플리케이션의 라이프싸이클은 준비(preparing), 실행(executing), 종료(terminating), 및 중지(suspending) 중 적어도 어느 하나를 포함할 수 있다. 예컨대, 어플리케이션은 준비 상태를 통해 실행을 준비할 수 있다. 또한, 준비 상태에서 어플리케이션을 실행할 수 있다. 또한, 어플리케이션을 실행을 종료하여 종료 상태로 진입할 수 있다. 또한, 어플리케이션의 실행을 잠시 멈추고 중지 상태로 진입할 수 있다.
트리거링 어플리케이션 정보는 어플리케이션이 실행할 동작(action)을 포함할 수 있다. 구체적으로 트리거링 어플리케이션 정보는 어플리케이션 동작을 수행하기 위해 필요한 데이터를 포함할 수 있다.
트리거링 어플리케이션 정보는 미디어 타임을 포함할 수 있다. 구체적으로 어플리케이션과 동기화되는 컨텐츠의 미디어 타임을 포함할 수 있다.
구체적으로 방송 전송 장치(10)는 어플리케이션의 동작을 트리거링하는 트리거를 전송할 수 있다. 또한, 방송 수신 장치(100)는 트리거에 기초하여 어플리케이션이 특정 동작을 수행하게 할 수 있다. 구체적으로 트리거는 다음과 같은 형식을 가질 수 있다.
트리거는 등록된 인터넷 도메인 네임을 나타내는 도메인 파트를 포함할 수 있다. 또한, 트리거는 도메인 파트가 나타내는 도메인 네임의 디렉토리 경로(directory path)를 식별하는 무작위의 문자열(character string)을 나타내는 디렉토리 경로 파트를 포함할 수 있다. 또한, 트리거는 어플리케이션을 트리거링하기 위한 파라미터를 나타내는 파라미터 파트를 포함할 수 있다. 구체적으로 트리거는 다음과 같은 형식일 수 있다.
<domain name part>/<directory path>[? <parameter>]
이때, 도메인 네임 파트와 디렉토리 경로 파트는 트리거가 필수적으로 포함하는 필수 파트일 수 있다. 또한, 파라미터 파트는 트리거가 선택적으로 포함하는 선택 파트일 수 있다. 파라미터 파트는 이벤트를 식별하는 이벤트 식별자, 트리거의 대상이되는 어플리케이션을 식별하는 어플리케이션 식별자, 및 이벤트가 수행되는 시간을 나타내는 타이밍 값 중 적어도 어느 하나를 포함할 수 있다. 또한, 파라미터 파트는 컨텐츠의 미디어 타임을 포함할 수 있다. 또한, 파라미터 파트는 방송 수신 장치(100)가 재생하는 컨텐츠를 식별하는 컨텐츠 식별자를 포함할 수 있다. 또한, 파라미터 파트는 방송 수신 장치(100)의 트리거링 어플리케이션 정보 요청 트래픽을 분산하기 위한 분산 정보를 포함할 수 있다. 또한, 파라미터 파트는 트리거와 연관된 트리거링 어플리케이션 정보의 버전을 나타내는 버전 정보를 포함할 수 있다.
구체적으로 파라미터 파트는 다음의 스트링 중 적어도 어느 하나를 포함할 수 있다.
<media time>
<media time> and <spread>
<media time> and <version>
<media time> and <version> and <spread>
<event time>
<event time> and <spread>
<event time> and <version>
<event time> and <version> and <spread>
<event time>은 이벤트를 식별하는 이벤트 식별자(ID)를 포함할 수 있다. 이때, 이벤트는 트리거에 의해 어플리케이션이 동작을 수행하는 것을 나타낼 수 있다. 이때, 이벤트 식별자는 "e="로 지정될 수 있다. 또한, 이벤트 식별자는 "e="에 따라오는 두 개 또는 세 개의 십진수를 포함할 수 있다. 이때, 십진수는 마침표(".")에 의해 구분될 수 있다. 또한, <event time>은 트리거링의 대상이 되는 어플리케이션을 식별하는 어플리케이션 식별자를 포함할 수 있다. 이때, 어플리케이션은 트리거 선언적 오브젝트(Triggered Declarative Object, TDO)라 할 수 있다. 또한, 어플리케이션 식별자는 트리거링 어플리케이션 정보의 어플리케이션 식별자에 매칭될 수 있다. 따라서, 방송 수신 장치(100)는 트리거의 어플리케이션 식별자에 기초하여 트리거링 어플리케이션 정보로부터 트리거의 대상이되는 어플리케이션에 관한 정보를 획득할 수 있다. 이때, 트리거링 어플리케이션 정보는 트리거 정보를 시그널링하는 TDO 파라미터 테이블(TDO Parameter Table, TPT)일 수 있다. 또한, 파라미터 파트는 이벤트에 사용되는 데이터 엘리먼트를 식별하는 데이터 식별자를 포함할 수 있다. 또한, 파라미터 파트는 이벤트가 수행되는 시간을 나타내는 타이밍 값을 포함할 수 있다. 이때, 타이밍 값은 "t="로 지정될 수 있다. 구체적인 실시예에서 타이밍 값은 "t="에 따라오는 한 개 이상 여덟 개 이하의 글자가 나타내는 16진수 값으로 지정될 수 있다. <event time>이 타이밍 값을 포함하지 않는 경우, 트리거는 어플리케이션에게 해당 이벤트를 트리거를 수신한 시간에 수행할 것을 트리거링할 수 있다.
<media time>은 컨텐츠의 미디어 타임을 포함할수 있다. 구체적으로 <media time>은 트리거가 트리거링하는 어플리케이션과 동기화되는 컨텐츠의 미디어 타임 스탬프를 나타낼 수 있다. 구체적으로 미디어 타임은 "m="에 의해 지정될 수 있다. 미디어 타임은"m="에 따라오는 한 개 이상 여덟 개 이하의 글자가 나타내는 16진수에 의해 지정될 수 있다. 미디어 타임의 단위는 밀리 초 단위일 수 있다. 또한, <media time>은 방송 수신 장치(100)가 현재 재생중인 컨텐츠를 식별하는 컨텐츠 식별자를 나타낼 수 있다. 컨텐츠 식별자는 "c="에 의해 지정될 수 있다. 구체적으로 직접 실행 모델(direct execution model)에 의한 어플리케이션이 실행될 경우, <media time>은 컨텐츠 식별자를 포함할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 어플리케이션 동기화를 위한 기준 시간을 전달하는 타임 베이스 트리거를 수신하고, 타임 베이스 트리거에서 컨텐츠 식별자를 추출할 수 있다. 이때, 방송 수신 장치(100)는 컨텐츠 식별자를 양방향 서비스(interaction service)를 위한 서버에게 전송하여 방송 수신 장치(100)가 현재 재생 중인 컨텐츠를 위한 양방향 서비스를 수신할 수 있다.
<version>은 트리거와 연관된 트리거링 어플리케이션 정보의 버전을 나타내는 버전 정보를 포함할 수 있다. 이때, 트리거링 어플리케이션 정보는 TPT일 수 있다. 구체적으로 버전 정보는 "v="에 의해 지정될 수 있다. 또한, 버전 정보는 "v="의 뒤에 따라오는 한 개 이상 세 개 이하의 글자들이 나타내는 십진수에 의해 지정될 수 있다. 방송 수신 장치(100)는 트리거로부터 버전 정보를 추출하고, 버전 정보에 기초하여 트리거링 어플리케이션 정보를 획득할 수 있다.
<spread>는 방송 수신 장치(100)가 어플리케이 시그널링 정보를 제공하는 서버에 트리거링 어플리케이션 정보를 요청하기 위해 기다려야 하는 시간을 산출하는 기준이되는 분산 정보를 포함할 수 있다. 구체적으로 방송 수신 장치(100)는 분산 정보가 나타내는 시간을 기준으로 무작위 값을 산출하여, 무작위 값만큼 대기한 후 트리거링 어플리케이션 정보를 요청할 수 있다. 분산 정보는 "s="에 의해 지정될 수 있다. 구체적으로 분산 정보는 "s=" 뒤에 따라오는 한 개 이상 세 개 이하의 문자가 나타내는 십진수에 의해 지정될 수 있다. 분산 정보를 통해 복수의 방송 수신 장치(100)가 트리거링 어플리케이션 정보를 한번에 요청하여, 트리거링 어플리케이션 정보를 제공하는 서버의 트래픽이 트리거를 수신하는 시간에 집중되는 것을 방지할 수 있다.
<other> 는 앞서 설명한 파라미터 이외의 정보를 포함할 수 있다. 방송 수신 장치(100)는 인식할 수 없는 파라미터는 무시할 수 있다.
컨텐츠의 미디어 타임을 포함하는 트리거는 타임 베이스 트리거라 지칭될 수 있다. 구체적으로 타임 베이스 트리거는 방송 수신 장치(100)가 재생하는 컨텐츠의 미디어 타임 스탬프를 전달할 수 있다. 또한, 방송 수신 장치(100)는 타임 베이스 트리거에 기초하여 어플리케이션 동작과 컨텐츠의 동기화를 위한 기준인 기준 시간을 생성할 수 있다.
이벤트 시간을 포함하는 트리거는 액티베이션 트리거라 지칭될 수 있다. 액티베이션 트리거는 해당 이벤트를 수행하는 시간을 지정하기 때문이다. 방송 수신 장치(100)는 트리거의 이벤트 시간에 기초하여 트리거링되는 동작을 수행할 수 있다. 구체적으로 방송 수신 장치(100)는 트리거로부터 이벤트 시간을 추출하고, 이벤트 시간에 트리거링되는 동작을 수행할 수 있다.
또한, 트리거의 파라미터 파트는 이벤트가 수행되기 시작하는 시간을 나타내는 타이밍 값뿐만 아니라 해당 이벤트가 종료되는 시간을 나타내는 타이밍 값을 포함할 수 있다. 또한, 방송 수신 장치(100)는 이벤트가 수행되기 시작하는 시간 이후이면서 이벤트가 종료되는 시간 이전에 트리거를 수신한 경우, 해당 트리거에 의해 트리거링되는 이벤트를 수행할 수 있다. 구체적으로 파라미터 파트는 <event start time>과 <event end time>을 포함할 수 있다.
<event start time>은 이벤트가 수행되기 시작하는 시간을 나타내는 타이밍 값을 포함할 수 있다. 타이밍 값은 이벤트를 식별하는 "e="뒤에 "st="로 지정될 수 있다.
<event end time>은 이벤트가 종료되는 시간을 나타내는 타이밍 값을 포함할 수 있다. 타이밍 값은 이벤트를 식별하는 "e="뒤에 "et="로 지정될 수 있다.
도 86은 앞서 설명한 트리거 신택스에 따른 트리거를 보여준다.
또 다른 구체적인 실시예에서 트리거 신택스는 일정한 시간에 표시되는 타임드 텍스트(timed text)의 형식일 수 있다. 구체적으로 타임드 텍스트는 자막(claosed caption)일 수 있다.
도 87은 본 발명의 일 실시예에 따른 트리거링 어플리케이션 정보의 신택스를 보여준다.
앞서 설명한바와 같이 트리거링 어플리케이션 정보를 TPT라 지칭할 수 있다. 트리거링 어플리케이션 정보는 모든 프로그램 세그먼트 또는 시간에 따른 부분 프로그램 세그먼트에 해당하는 어플리케이션을 시그널링할 수 있다. 이때, 프로그램 세그먼트는 프로그램이 포함하는 시간 구간을 나타낸다.
트리거링 어플리케이션 정보는 트리거링 어플리케이션 정보의 프로토콜 버전을 나태는 프로토콜 버전 정보를 포함할 수 있다. 구체적으로 트리거링 어플리케이션 정보는 프로토콜의 주 버전 정보를 나타내는 메이저 프로토콜 버전 정보와 프로토콜의 부가적인 버전 정보를 나타내는 마이너 프로토콜 버전 정보를 포함할 수 있다. 이때, 메이저 프로토콜 버전 정보 3비트 정수일 수 있다. 방송 수신 장치(100)는 메이저 프로토콜 버전 정보 및 마이너 프로토콜 정보 중 적어도 어느 하나를 지원하지 못하는 경우, 트리거링 어플리케이션 정보를 버릴 수 있다. 메이저 프로토콜 버전 정보는 MajorProtocolVersion으로 지칭될 수 있다. 마이널 프로토콜 버전 정보는 MinorProtocolVersion으로 지칭될 수 있다. 구체적인 실시예에서 메이저 프로토콜 버전 정보는 3비트 엘리먼트일 수 있다. 또한, 마이너 프로토콜 버전 정보는 4비트 엘리먼트일 수 있다.
트리거링 어플리케이션 정보는 트리거링 어플리케이션 정보를 식별하는 식별자를 포함할 수 있다. 구체적으로 트리거링 어플리케이션 정보는 프로그램 세그먼트를 식별하는 식별자일 수 있다. 구체적인 실시예에서 프로그램 세그먼트를 식별하는 식별자는 도메인 네임과 프로그램 아이디를 조합하여 생성된 것일 수 있다. 예컨대, 식별자는 domain_name/program_id일 수 있다.
트리거링 어플리케이션 정보는 트리거링 어플리케이션 정보의 갱신 이력을 나타내기 위한 버전 정보를 포함할 수 있다. 버전 정보는 트리거링 어플리케이션 정보가 변경될 때 마다 그 값이 변경될 수 있다. 방송 수신 장치(100)는 버전 정보에 기초하여 트리거링 어플리케이션 정보가 포함하는 구체적인 정보를 추출할 지 결정할 수 있다. 구체적인 실시예에서 버전 정보는 tptVersion으로 지칭될 수 있다. 구체인 실시예에서 버전 정보는 8 비트 엘리먼트일 수 있다.
트리거링 어플리케이션 정보는 트리거링 어플리케이션 정보의 만료(expiration) 날짜와 시간을 나타내는 만료 시간 정보를 포함할 수 있다. 구체적으로 방송 수신 장치(100)는 트리거링 어플리케이션 정보를 저장하고, 만료 시간 정보가 나타내는 만료 날짜와 시간 전까지 트리거링 어플리케이션 정보를 재 사용할 수 있다. 구체적인 실시예에서 만료 시간 정보는 expirationDate라 지칭될 수 있다. 구체적인 실시예에서 만료 시간 정보는 16비트 엘리먼트일 수 있다.
트리거링 어플리케이션 정보는 어플리케이션을 포함하는 서비스를 식별하는 서비스 식별자를 포함할 수 있다. 구체적인 실시예에서 서비스 식별자는 ATSC 표준에서 정의하는 비실시간(Non-Real-Time, NRT) 서비스의 식별자를 나타낼 수 있다. 구체적인 실시예에서 서비스 식별자는 serviceId로 지칭될 수 있다. 구체적인 실시예에서 서비스 식별자는 16 비트 정수일 수 있다.
트리거링 어플리케이션 정보는 어플리케이션 정보에 포함된 URL의 기본 주소를 나타내는 베이스 URL을 포함할 수 있다. 구체적인 실시예에서 베이스 URL은 baseURL로 지칭될 수 있다.
트리거링 어플리케이션 정보는 어플리케이션 정보에 의해 시그널링되는 어플리케이션을 재생(presentation)하기 위해 필요한 필수적인 성능을 나타내는 성능 정보를 포함할 수 있다. 성능 정보는 ATSC 표준에서 정의하는 Capabilities Descriptor의 정의를 따를 수 있다. 구체적인 실시예에서 성능 정보는 Capabilities라 지칭될 수 있다.
트리거링 어플리케이션 정보는 컨텐츠의 전송과 함께 실시간으로 생성되어 인터넷으로 전송되는 라이브 트리거 정보를 포함할 수 있다. 구체적으로 라이브 트리거 정보는 라이브 트리거를 전송하는 서버의 URL을 포함할 수 있다. 또한, 라이브 트리거 정보는 라이브 트리거가 폴링(polling) 방식에 의해 전송될 경우 폴링 주기(period)를 포함할 수 있다. 구체적인 실시예에서 라이브 트리거 정보는 LiveTrigger로 지칭될 수 있다. 또한, 라이브 트리거를 전송하는 서버의 URL은 URL로 지칭될 수 있다. 또한 폴링 주기는 pollPeriod로 지칭될 수 있다.
트리거링 어플리케이션 정보는 어플리케이션에 관한 정보를 포함할 수 있다. 또한 어플리케이션 정보는 어플리케이션에 관한 구체적인 정보를 하위 엘리먼트로 포함할 수 있다. 구체적인 실시예에서 어플리케이션 정보는 TDO로 지칭될 수 있다.
어플리케이션 정보는 어플리케이션을 식별하는 어플리케이션 식별자를 포함할 수 있다. 구체적인 실시예에서 어플리케이션 식별자는 appID로 지칭될 수 있다. 또한 구체적인 실시예에서 어플리케이션 식별자는 16 비트 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션의 종류를 나타내는 어플 타입 정보를 포함할 수 있다. 구체적인 실시예에서 어플 타입 정보의 값이 1이면, 어플 타입 정보는 TDO임을 나타낼 수 있다. 구체적인 실시예에서 어플 타입 정보는 appType으로 지칭될 수 있다. 구체적인 실시예에서 어플 타입 정보는 16 비트 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션의 이름을 나타내는 어플 이름 정보를 포함할 수 있다. 구체적인 실시예에서 어플 이름 정보는 appName라 지칭될 수 있다.
어플리케이션 정보는 어플리케이션을 세계적으로 유일하게 식별하는 글로벌 식별자를 포함할 수 있다. 글로벌 식별자는 해당 트리거링 어플리케이션 정보에서 뿐만아니라 다른 어플리케이션 정보에서도 동일한 어플리케이션을 나타내는 것으로 사용될 수 있다. 구체적인 시실시예에서 글로벌 식별자는 globalID로 지칭될 수 있다.
어플리케이션 정보는 어플리케이션의 갱신 이력을 나타내는 버전 정보인 어플리케이션 버전 정보를 포함할 수 있다. 구체적인 실시예에서 어플리케이션 버전 정보는 appVersion으로 지칭될 수 있다. 구체적인 실시예에서 appVersion은 8 비트 엘리먼트일 수 있다.
어플리케이션 정보는 방송 수신 장치(100)가 어플리케이션을 실행하기 위해 필요한 영구적인(persistent) 저장 공간의 크기를 나타내는 쿠키(cookie) 공간(space) 정보를 포함할 수 있다. 쿠키 공간 정보는 어플리케이션을 실행하기 위해 필요한 저장 공간의 크기를 킬로 바이트 단위로 나타낼 수 있다. 구체적인 실시예에서 쿠기 공간 정보는 cookieSpace로 지칭될 수 있다. 구체적인 실시예에서 쿠키 공간 정보는 8 비트 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션의 사용 빈도를 나타내는 사용 빈도 정보를 포함할 수 있다. 사용 빈도 정보는 오직 한 번, 매시간, 매일, 매주, 및 매달 중 적어도 어느 하나를 나타낼 수 있다. 구체적인 실시예에서 사용 빈도 정보는 1 이상 16 이하의 값을 가질 수 있다. 구체적인 실시예에서 사용 빈도 정보는 frequencyOfUse로 지칭될 수 있다.
어플리케이션 정보는 어플리케이션의 만료 시간과 날짜를 나타내는 만료 시간 정보를 포함할 수 있다. 구체적인 실시예에서 만료 시간 정보는 expireDate로 지칭될 수 있다.
어플리케이션 정보는 시험 방송을 위한 어플리케이션임을 나타내는 시험 어플리케이션 정보를 포함할 수 있다. 방송 수신 장치(100)는 시험 어플리케이션 정보에 기초하여 시험 방송을 위한 어플리케이션을 무시할 수 있다. 구체저긴 실시예에서 시험 어플리케이션 정보는 testTDO로 지칭될 수 있다. 구체적인 실시예에서 시험 어플리케이션 정보는 불리안(Boolean) 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션을 인터넷을 통해 수신할 수 있음을 나타내는 인터넷 가능 정보를 포함할 수 있다. 구체적인 실시예에서 인터넷 가능 정보는 availableInternet으로 지칭될 수 있다. 구체적인 실시예에서 인터넷 가능 정보는 불리안 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션을 방송망을 통해 수신할 수 있음을 나타내는 방송 가능 정보를 포함할 수 있다. 구체적인 실시예에서 방송 가능 정보는 availableBroadcast로 지칭될 수 있다. 구체적인 실시예에서 방송 가능 정보는 불리안 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션의 일부인 파일을 식별하는 URL 정보를 포함할 수 있다. 구체적인 실시예에서 어플리케이션 정보는 URL로 지칭될 수 있다.
URL 정보는 해당 파일이 엔트리 파일인지 나타내는 엔트리 정보를 포함할 수 있다. 구체적으로 엔트리 파일은 해당 어플리케이션을 실행하기 위해 먼저 실행 되어야 하는 파일을 나타낼 수 있다.
어플리케이션 정보는 어플리케이션의 ??계(boundary)를 나타내는 어플리케이션 경계 정보를 포함할 수 있다. 구체적인 실시예에서 어플리케이션 경계 정보는 ApplicationBoundary로 지칭될 수 있다.
또한, 어플리케이션 경계 정보는 어플리케이션의 경계를 추가하기 위해 필요한 오리진(origin) URL 정보를 포함할 수 있다. 오리진 URL 정보는 originURL로 지칭될 수 있다.
어플리케이션 정보는 어플리케이션이 사용하는 컨텐츠 아이템에관한 정보를 나타내는 컨텐츠 아이템 정보를 포함할 수 있다. 컨텐츠 아이템 정보는 컨텐츠 아이템에 관한 구체적인 정보를 포함할 수 있다. 구체적인 실시예에서 컨텐츠 아이템 정보는 contentItem으로 지칭될 수 있다.
컨텐츠 아이템은 해당 컨텐츠 아이템의 일부인 파일을 식별하는 URL 정보를 포함할 수 있다. URL 정보는 URL로 지칭될 수 있다.
URL 정보는 해당 파일이 엔트리 컨텐츠 파일인지 나타내는 엔트리 정보를 포함할 수 있다. 구체적으로 엔트리 파일은 해당 컨텐츠 아이템을 실행하기 위해 먼저 실행 되어야 하는 파일을 나타낼 수 있다. 구체적인 실시예에서 엔트리 정보는 entry로 지칭될 수 있다.
컨텐츠 아이템 정보는 해당 컨텐츠 아이템이 업데이트 가능한지 여부를 나타내는 업테이트 정보를 포함할 수 있다. 구체적으로 업데이트 정보는 컨텐트 아이템이 고정된 파일을 포함할 것인지 또는 컨텐트 아이템이 리얼 타임 데이터 피드인지 여부를 나타낸다. 구체적인 실시예에서 업데이트 정보는 updateAvail로 지칭될 수 있다. 업데이트 정보는 불리안 엘리먼트일 수 있다.
컨텐츠 아이템 정보는 컨텐츠 아이템이 업데이트가 가능한 경우 컨텐츠 아이템이 포함하는 파일의 업데이트 여부를 폴링(polling) 방식으로 확인 하는 경우 폴링 주기(period)를 포함할 수 있다. 구체적으로 방송 수신 장치(100)는 폴링 주기에 기초하여 컨텐츠 아이템의 업데이트 여부를 확인할 수 있다. 또한 폴링 주기는 pollPeriod로 지칭될 수 있다.
컨텐츠 아이템 정보는 컨텐츠 아이템의 크기를 나타내는 크기 정보를 포함할 수 있다. 구체적인 실시예에서 크기 정보는 킬로 바이트 단위로 컨텐츠 아이템의 크기를 나타낼 수 있다. 크기 정보는 size로 지칭될 수 있다.
컨텐츠 아이템 정보는 컨텐츠 아이템을 인터넷을 통해 수신할 수 있음을 나타내는 인터넷 가능 정보를 포함할 수 있다. 구체적인 실시예에서 인터넷 가능 정보는 availableInternet으로 지칭될 수 있다. 구체적인 실시예에서 인터넷 가능 정보는 불리안 엘리먼트일 수 있다.
컨텐츠 아이템 정보는 컨텐츠 아이템을 방송망을 통해 수신할 수 있음을 나타내는 방송 가능 정보를 포함할 수 있다. 구체적인 실시예에서 방송 가능 정보는 availableBroadcast로 지칭될 수 있다. 구체적인 실시예에서 방송 가능 정보는 불리안 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션의 이벤트에 대한 정보를 나타내는 이벤트 정보를 포함할 수 있다. 구체적인 실시예에서 이벤트 정보는 Event로 지칭될 수 있다.
이벤트 정보는 이벤트를 식별하는 이벤트 식별자를 포함할 수 있다. 구체적으로 이벤트 식별자는 해당 어플리케이션 범위에서 이벤트를 유일하게 식별할 수 있다. 구체적인 실시예에서 이벤트 식별자는 eventID로 지칭될 수 있다. 구체적인 실시예에서 이벤트 식별자는 16 비트 엘리먼트일 수 있다.
이벤트 정보는 어플리케이션이 타겟팅하는 타겟 장치를 나타내는 목적지 정보를 포함할 수 있다. 목적지 정보는 어플리케이션이 방송 신호를 수신하는 주(primary) 장치만을 위한 것임을 나타낼 수 있다. 목적지 정보는 어플리케이션이 방송 신호를 수신하는 주(primary) 장치와 연동하는 하나 또는 복수의 연동 장치만을 위한 것임을 나타낼 수 있다. 또한, 목적지 정보는 어플리케이션이 주 장치와 연동 장치 모두를 위한 것임을 나타낼 수 있다. 구체적인 실시예에서 목적지 정보는 destination으로 지칭될 수 있다.
이벤트 정보는 트리거링 어플리케이션 정보 요청을 확산하기 위한 확산 정보를 포함할 수 있다. 구체적으로 방송 수신 장치(100)는 확산 정보에 기초하여 무작위 값을 산출하여 무작위 값만 큼 대기후 트리거링 어플리케이션 정보를 서버에 요청할 수 있다. 구체적으로 방송 수신 장치(100)는 무작위 값에 10ms를 곱한 만큼을 대기한 뒤, 트리거링 어플리케이션 정보를 서버에 요청할 수 있다. 구체적인 실시예에서 확산 정보는 diffusion으로 지칭될 수 있다. 구체적인 실시예에서 확산 정보는 8 비트 엘리먼트일 수 있다.
이벤트 정보는 이벤트와 연관된 데이터를 나타내는 데이터 정보를 포함할 수 있다. 각각의 이벤트는 이벤트와 연관된 데이터 엘리먼트를 가질 수 있다. 구체적인 실시예에서 데이터 정보는 Data로 지칭될 수 있다.
데이터 정보는 데이터를 식별하는 데이터 식별자를 포함할 수 있다. 데이터 식별자는 dataID로 지칭될 수 있다. 데이터 식별자는 16 비트 엘리먼트일 수 있다.
하이브리드 방송에서는 앞서 설명한 바와 같이 MPEG-DASH 프로토콜과 MMT 프로토콜을 사용하여 미디어 컨텐츠를 전송할 수 있다. 이러한 미디어 컨텐츠 전송시 미디어 컨텐츠와 연관된 어플리케이션을 트리거링하는 트리거를 전송할 필요가 있다. 따라서 MPEG-DASH 프로토콜과 MMT 프로토콜을 이용하여 트리거를 전송하는 방법이 필요하다. 이에 대해서 다음의 도면들을 통해 설명한다.
MPEG-DAHS는 비정기적인 정보를 DASH 클라이언트 또는 어플리케이션에게 전달하기 위해 이벤트라는 것을 정의한다. 또한, MPEG-DASH는 관련된 이벤트 시퀀스를 이벤트 스트림이라 정의한다. 구체적으로 MPEG-DASH의 이벤트는 특정 시간에 맞추어 전달되어야 하는 정보(timed information)를 전달하기 위한 것일 수 있다. 이때, MPEG-DASH의 이벤트가 포함하는 구체적인 정보를 이벤트의 메시지라 할 수 있다. MPEG-DAHS의 이벤트는 MPD를 통해 전달될 수 있다. 또한, MPEG-DASH의 이벤트는 레프리젠테이션의 인밴드(inband)를 통해 전달될 수 있다. 방송 전송 장치(100)는 어플리케이션을 트리거링하기 위한 트리거를 MPEG-DASH의 이벤트로 전송할 수 있다.
MPEG-DAHS의 이벤트를 MPD를 통해 전달하는 것을 도 88 내지 도 89를 통해 설명한다.
도 88은 본 발명의 일 실시예에 따른 MPD가 포함하는 Event Stream 엘리먼트의 신택스를 보여준다. 도 89는 본 발명의 일 실시예에 따른 MPD가 포함하는 Event Stream 엘리먼트의 Event 엘리먼트의 신택스를 보여준다.
MPEG-DASH의 이벤트 시퀀스의 재생 시간(presentation time)은 피리어드 레벨로 제공될 수 있다. 구체적으로 MPD의 피리어드 엘리먼트는 이벤트 스트림에 관한 정보를 나타내는 이벤트 스트림 엘리먼트를 포함할 수 있다. 방송 수신 장치(100)는 이벤트가 포함된 피리어드의 종료 시간이 지나면 이벤트를 종료할 수 있다. 특히, 방송 수신 장치(100)는 이벤트가 피리어드의 경계 시간에 시작한 경우에도 이벤트가 포함된 피리어드의 종료 시간이 지나면 이벤트를 종료할 수 있다.
피리어드 엘리먼트는 이벤트 스트림에 관한 정보를 포함하는 이벤트 스트림 엘리먼트를 포함할 수 있다. 구체적인 실시예에서 이벤트 스트림 엘리먼트는 Event Stream으로 지칭될 수 있다.
이벤트 스트림 엘리먼트는 이벤트가 포함하는 메시지의 형식을 식별하는 형식 식별자 엘리먼트를 포함할 수 있다. 구체적인 실시예에서 형식 식별자 엘리먼트는 schemeIDUri라 지칭될 수 있다.
이벤트 스트림 엘리먼트는 이벤트 스트림을 위한 값을 나타내는 밸류 엘리먼트를 포함할 수 있다. 구체적인 실시예에서 밸류 어트리뷰트는 value라 지칭될 수 있다.
이벤트 스트림 엘리먼트는 이벤트 스트림이 포함하는 이벤트가 시간이 정해진(timed) 이벤트인 경우 시간의 단위를 나타내는 타임 스케일 어트리뷰트를 포함할 수 있다. 구체적인 실시예에서 타임 스케일 어트리뷰트는 timescale 이라 지칭할 수 있다.
이벤트 스트림 엘리먼트는 각각의 이벤트를 특정하고 이벤트의 내용인 메시지를 포함하는 이벤트 엘리먼트를 포함할 수 있다. 구체적인 실시예에서 이벤트 엘리먼트는 event라 지칭될 수 있다.
이벤트 엘리먼트는 이벤트의 재생 시작 시간을 나타내는 재생 시작 시간 어트리뷰트를 포함할 수 있다. 구체적으로 재생 시작 시간 어트리뷰트는 피리어드 시작 시간을 기준으로 상대적 재생 시작 시간을 나타낼 수 있다. 재생 시작 시간 어트리뷰트가 존재 하지 않을 경우 재생 시작 시간의 값은 0일 수 있다. 구체적인 실시예에서 재생 시작 시간 어트리뷰트는 presentationTime이라 지칭될 수 있다.
이벤트 엘리먼트는 이벤트 재생 기간을 나타내는 재생 기간 어트리뷰트를 포함할 수 있다. 재생 기간 어트리뷰트가 존재하지 않을 경우, 재생 기간의 값은 미지수(unknown)일 수 있다. 구체적인 실시예에서 재생 기간 어트리뷰트는 duration이라 지칭될 수 있다.
이벤트 엘리먼트는 이벤트를 식별하는 식별자 어트리뷰트를 포함할 수 있다. 동일한 컨텐츠에 대한 이벤트이고, 이벤트 엘리먼트의 어트리뷰트 값이 동일한 이벤트는 동일한 식별자 엘리먼트 값을 갖는다.
MPEG-DASH의 이벤트를 인밴드 스트림을 통해 전달 하는 것을 도 90을 통해 설명한다.
도 90은 본 발명의 일 실시예에 따른 인밴드 이벤트 시그널링을 위한 이벤트 메시지 박스의 신택스를 보여준다.
방송 전송 장치(10)는 MPEG-DASH의 이벤트 스트림을 레프레젠테이션과 함께 멀티플렉싱할 수 있다. 구체적으로 방송 전송 장치(10)는 MPEG-DASH의 이벤트 스트림을 세그먼트의 일부로 레프레젠테이션과 함께 멀티플렉싱할 수 있다.
MPEG-DASH의 이벤트 스트림은 선택된 레프레젠테이션에 삽입할 수 있다. 구체적인 실시예에서 방송 전송 장치(10)는 어뎁데테이션 셋이 포함하는 일부 레프레젠테이션에 이벤트 스트림을 삽입할 수 있다. 또 다른 구체적인 실시예에서 방송 전송 장치(10)는 어뎁데테이션 셋이 포함하는 모든 레프레젠테이션에 이벤트 스트림을 삽입할 수 있다.
레프레젠테이션이 포함하는 인밴드 이벤트 스트림은 어뎁테이션 셋 또는 레프레젠테이션 레벨에 포함함되는 인밴드 이벤트 스트림 엘리먼트에 의해 나타내질 수 있다. 구체적인 실시예에서 인밴드 이벤트 스트림 엘리먼트는 InbandEventStream이라 지칭될 수 있다. 구체적인 실시예에서 하나의 레프리젠테이션은 복수의 인밴드 이벤트 스트림을 포함할 수 있다. 복수의 인밴드 이벤트 스트림 각각은 별도의 인밴드 이벤트 스트림 엘리먼트에 의해 나타내질 수 있다.
이벤트 메시지 박스('emsg')는 미디어 재생 시간과 관련한 일반적인 이벤트에 대한 시그널링을 제공할 수 있다. 또한, 이벤트 메시지 박스는 DASH 동작과 관련한 특정한 동작을 시그널링할 수 있다. 미디어 세그먼트가 ISO BMFF 형식으로 인캡슐레이션 된 경우, 미디어 세그먼트는 하나 또는 복수의 이벤트 메시지 박스를 포함할 수 있다. 또한, 이벤트 메시지 박스는 무프 박스('moof') 이전에 위치할 수 있다.
이벤트 메시지 박스의 형식(scheme)은 MPD에서 정의 될 수 있다. 또한, 방송 수신 장치(100)는 MPD에서 정의되지 않는 형식을 갖는 이벤트 메시지 박스를 무시할 수 있다.
이벤트 메시지 박스는 이벤트 메시지 박스의 형식을 식별하는 형식 식별자 필드를 포함할 수 있다. 구체적인 실시예에서 형식 식별자 필드는 shceme_id_uri로 지칭될 수 있다.
이벤트 메시지 박스는 이벤트의 값을 나타내는 밸류 필드를 포함할 수 있다. 밸류 필드의 값은 형식 식별자 필드에 의해 식별되는 형식에 따라 다른 형식과 의미를 가질 수 있다. 구체적인 실시예에서 밸류 필드는 value로 지칭될 수 있다.
이벤트 메시지 박스는 이벤트 메시지 박스와 관련된 시간의 단위를 나타내는 타임 스케일 필드를 포함할 수 있다. 구체적으로 이벤트 메시지 박스가 포함하는 재생 시작 시간 지연 필드와 재생 기간 필드의 시간 단위를 나타낼 수 있다. 구체적인 실시예에서 타임 스케일 필드는 timescale로 지칭될 수 있다.
이벤트 메시지 박스는 이벤트의 재생 시작 시간이 세그먼트의 가장 빠른 재생 시간으로부터 얼마나 지연된 것인지를 나타내는 재생 시작 시간 지연 필드를 포함할 수 있다. 구체적으로 방송 수신 장치(100)는 세그머트 인텍스 박스('sidx')로부터 세그먼트의 가장 빠른 재생 시간을 추출할 수 있다. 이때, 방송 수신 장치(100) 세그먼트 재생 시간에 재생 시작 시간 지연 필드가 나타내는 시간을 더하여 이벤트 재생 시작 시간을 획득할 수 있다. 구체적인 실시예에서 presentation_time_delta로 지칭될 수 있다.
이벤트 메시지 박스는 이벤트의 재생 기간을 나타내는 이벤트 재생 기간 필드를 포함할 수 있다. 이벤트 재생 기간 필드의 값이 0xffff인 경우 이벤트 재생 기간이 미지수(unknown)인 것을 나타낸다. 구체적인 실시예에서 event_duartion으로 지칭될 수 있다.
이벤트 메시지 박스는 메시지 박스의 본체(body)를 나타내는 메시지 데이터 필드를 포함할 수 있다. 메시지 데이터 필드가 갖는 데이터는 메시지 박스의 형식에 따라 달라질 수 있다.
MPEG-DASH의 이벤트 스트림을 나타내는 MPD의 엘리먼트와 인밴드 이벤트 스트림을 나타내는 이벤트 메시지 박스에 트리거의 속성을 매칭하여 어플리케이션 시그널링 정보를 전송할 수 있다. 이에 대해서는 도 91 내지 도 96을 통해 설명한다.
먼저, 용어의 구분을 명확하게 하기 위해 MPEG-DASH의 이벤트와 트리거링 어플리케이션 정보에서 설명한 이벤트에 대해서 설명한다. MPEG-DASH의 이벤트는 DASH 클라이언트와 어플리케이션에게 비정기적으로 전송되는 미디어 시간과 관련된 부가 정보이다. 트리거링 어플리케이션 정보에서 설명한 이벤트는 트리거가 트리거링하는 사건을 나타낸다. 구체적으로 트리거가 트리거링하는 사건은 어플리케이션이 특정 동작을 수행하는 것을 나타낼 수 있다. 또한, 트리거가 트리거링하는 사건은 어플리케이션의 상태 변화를 나타낼 수 있다. MPEG-DASH의 이벤트와 트리거가 트리거링하는 사건을 나타내는 이벤트와의 구별을 위해 트리거가 트리거링하는 사건을 트리거링 이벤트로 지칭하기로 한다. 구체적으로 트리거링 이벤트는 트리거에 의하여 발생하는 사건을 나타낼 수 있다.
도 91은 본 발명의 일 실시예에 따라 트리거링되는 어플리케이션에 관한 정보 정보의 위치를 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
방송 전송 장치(10)는 트리거링 어플리케이션 정보의 위치를 MPEG-DASH의 이벤트로 전송할 수 있다. 이때, MPD의 이벤트 엘리먼트가 포함하는 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트의 메시지는 트리거링 어플리케이션 정보의 위치를 나타낼 수 있다. 방송 수신 장치(100)는 이벤트 엘리먼트에 기초하여 트리거링 어플리케이션 정보를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트의 메시지로부터 트리거링 어플리케이션 정보의 위치를 추출하여 트리거링 어플리케이션 정보를 수신할 수 있다.
또 다른 구체적인 실시예에서 이벤트 메시지 박스가 포함하는 식별자 필드는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 트리거링 어플리케이션 정보의 위치를 나타낼 수 있다. 방송 수신 장치(100)는 이벤트 메시지 박스에 기초하여 트리거링 어플리케이션 정보를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 트리거링 어플리케이션 정보의 위치를 추출하여 트리거링 어플리케이션 정보를 수신할 수 있다.
앞서 설명한 바와 같이 트리거링 어플리케이션 정보는 TPT 일 수 있다.
도 92는 본 발명의 일 실시예에 따라 어플리케이션의 상태를 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
방송 전송 장치(10)는 어플리케이션의 상태를 MPEG-DASH의 이벤트로 전송할 수 있다. 이때, MPD의 이벤트 엘리먼트가 포함하는 재생 시작 시간 엘리먼트는 트리거링 이벤트의 시작 시간을 나타낼 수 있다. 또한, MPD의 이벤트 엘리먼트가 포함하는 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 엘리먼트가 포함하는 메시지는 어플리케이션의 상태를 나타낼 수 있다. 방송 수신 장치(100)는 이벤트 엘리먼트에 기초하여 어플리케이션 상태를 변경할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 메시지로부터 어플리케이션의 상태를 추출하여 어플리케이션의 상태를 변경할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 메시지로부터 어플리케이션의 상태를 추출하고, 재생 시작 시간 엘리먼트로부터 이벤트 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간에 어플리케이션의 상태를 변경할 수 있다.
또 다른 구체적인 실시예에서 이벤트 메시지 박스가 포함하는 재생 시작 지연 시간 필드는 트리거링 이벤트의 시작 시간을 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 식별자 필드는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 어플리케이션의 상태를 나타낼 수 있다. 방송 수신 장치(100)는 이벤트 메시지 박스에 기초하여 어플리케이션의 상태를 변경할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 어플리케이션의 상태를 추출하여 어플리케이션의 상태를 변경할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 어플리케이션의 상태를 추출하고, 재생 시작 시간 지연 필드로부터 트리거링 이벤트의 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간에 어플리케이션의 상태를 변경할 수 있다.
어플리케이션의 상태는 준비(preparing), 실행(execution), 종료(termination), 및 중지(suspending) 중 적어도 어느 하나를 나타낼 수 있다.
앞서 설명한 바와 같이 트리거링 어플리케이션 정보는 TPT 일 수 있다.
도 93은 본 발명의 일 실시예에 따라 어플리케이션의 동작을 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
방송 전송 장치(10)는 어플리케이션의 동작(action)을 MPEG-DASH의 이벤트로 전송할 수 있다. 이때, MPD의 이벤트 엘리먼트가 포함하는 재생 시작 시간 엘리먼트는 트리거링 이벤트의 시작 시간을 나타낼 수 있다. 또한, MPD의 이벤트 엘리먼트가 포함하는 재생 기간 엘리먼트는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간과의 차이를 나타낼 수 있다. 또 다른 구체적인 실시예에서 MPD의 이벤트 엘리먼트가 포함하는 재생 기간 엘리먼트는 트리거링 이벤트의 종료 시간을 나타낼 수 있다. 또한, MPD의 이벤트 엘리먼트가 포함하는 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 엘리먼트가 포함하는 메시지는 어플리케이션이 수행하는(carry-out) 동작을 나타낼 수 있다. 구체적으로 이벤트 엘리먼트가 포함하는 메시지는 트리거링 되는 어플리케이션을 식별하는 어플리케이션 식별자, 트리거링 이벤트를 식별하는 이벤트의 식별자, 및 데이터를 식별하는 데이터 식별자 중 적어도 어느 하나를 포함할 수 있다. 구체적으로 이벤트 엘리먼트가 포함하는 메시지는 앞서 설명한 트리거 형식일 수 있다. 이때, 이벤트 엘리먼트가 포함하는 메시지는 앞서 설명한 어트리뷰트가 포함하는 트리거링 이벤트의 시작 시간. 트리거링 이벤트의 종료 시간, 및 프로그램 세그먼트를 식별하는 식별자를 포함하지 않을 수 있다. 예컨대, 이벤트 엘리먼트가 포함하는 메시지는 xbc.tv/e12?e=7.5와 같을 수 있다. 방송 수신 장치(100)는 이벤트 엘리먼트에 기초하여 어플리케이션의 동작을 수행할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 메시지로부터 어플리케이션의 동작을 추출하여 어플리케이션의 동작을 수행할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 메시지로부터 어플리케이션의 동작을 추출하고, 재생 시작 시간 엘리먼트로부터 트리거링 이벤트의 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간에 어플리케이션의 동작을 수행할 수 있다. 또한, 구체적인 실시예에서 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 메시지로부터 어플리케이션의 동작을 추출하고, 재생 시작 시간 엘리먼트로부터 트리거링 이벤트의 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간 이후 트리거링 이벤트의 종료 시간 이전에 어플리케이션의 동작을 수행할 수 있다. 방송 수신 장치(100)는 트리거링 이벤트의 종료 시간 이후에 MPEG-DASH 이벤트 메시지를 수신한 경우 MPEG-DASH의 이벤트 메시지를 무시할 수 있다.
또 다른 구체적인 실시예에서 이벤트 메시지 박스가 포함하는 재생 시작 지연 시간 필드는 트리거링 이벤트의 시작 시간을 나타낼 수 있다. 또한, MPD의 이벤트 메시지 박스가 포함하는 재생 기간 필드는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간과의 차이를 나타낼 수 있다. 또 다른 구체적인 실시예에서 MPD의 이벤트 메시지 박스가 포함하는 재생 기간 필드는 트리거링 이벤트의 종료 시간을 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 식별자 필드는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 어플리케이션이 수행하는 동작을 나타낼 수 있다. 구체적으로 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 트리거링 되는 어플리케이션을 식별하는 어플리케이션 식별자, 트리거링 이벤트를 식별하는 이벤트의 식별자, 및 데이터를 식별하는 데이터 식별자 중 적어도 어느 하나를 포함할 수 있다. 구체적으로 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 앞서 설명한 트리거 형식일 수 있다. 이때, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 앞서 설명한 어트리뷰트가 포함하는 트리거링 이벤트의 시작 시간. 트리거링 이벤트의 종료 시간, 및 프로그램 세그먼트를 식별하는 식별자를 포함하지 않을 수 있다. 예컨대, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 xbc.tv/e12?e=7.5와 같을 수 있다. 방송 수신 장치(100)는 이벤트 메시지 박스에 기초하여 어플리케이션의 동작을 수행할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 어플리케이션의 동작을 추출하여 어플리케이션의 동작을 수행할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 어플리케이션의 동작를 추출하고, 재생 시작 시간 지연 필드로부터 트리거링 이벤트의 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간에 어플리케이션의 동작을 수행할 수 있다. 또한, 구체적인 실시예에서 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 어플리케이션의 동작을 추출하고재생 시작 시간 지연 필드로부터 트리거링 이벤트의 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간 이후 트리거링 이벤트의 종료 시간 이전에 어플리케이션의 동작을 수행할 수 있다. 방송 수신 장치(100)는 트리거링 이벤트의 종료 시간 이후에 이벤트 메시지 박스를 수신한 경우 이벤트 메시지 박스를 무시할 수 있다.
도 94는 본 발명의 일 실시예에 따라 미디어 시간을 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
방송 전송 장치(10)는 컨텐츠의 미디어 시간을 MPEG-DASH의 이벤트로 전송할 수 있다. 이때, MPD의 이벤트 엘리먼트가 포함하는 재생 시작 시간 엘리먼트는 컨텐츠의 미디어 시간을 나타낼 수 있다. 이때, 컨텐츠는 방송 수신 장치(100)가 재생하는 컨텐츠일 수 있다. 또한, MPD의 이벤트 엘리먼트가 포함하는 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 방송 수신 장치(100)는 이벤트 엘리먼트에 기초하여 컨텐츠의 미디어 시간을 추출할수 있다. 또한, 방송 수신 장치(100)는 컨텐츠의 미디어 시간에 기초하여 트리거링 이벤트와 컨텐츠간의 동기화 기준이되는 타임라인을 생성할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 재생 시작 시간 엘리먼트로부터 컨텐츠의 미디어 시간을 추출하여, 트리거링 이벤트와 컨텐츠간의 동기화 기준이되는 타임라인을 생성할 수 있다.
또한, MPD의 이벤트 메시지 박스가 포함하는 재생 시작 시간 지연 필드는 컨텐츠의 미디어 시간을 나타낼 수 있다. 이때, 컨텐츠는 방송 수신 장치(100)가 재생하는 컨텐츠일 수 있다. 또한, MPD의 이벤트 엘리먼트가 포함하는 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다.
방송 수신 장치(100)는 이벤트 메시지 박스에 기초하여 컨텐츠의 미디어 시간을 추출할수 있다. 또한, 방송 수신 장치(100)는 컨텐츠의 미디어 시간에 기초하여 트리거링 이벤트와 컨텐츠간의 동기화 기준이되는 타임라인을 생성할 수 있다. 이때, 컨텐츠는 방송 수신 장치(100)가 재생하는 컨텐츠일 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 메시지 박스가 포함하는 재생 시작 시간 지연 필드로부터 방송 수신 장치(100)가 컨텐츠의 미디어 시간을 추출하여, 트리거링 이벤트와 컨텐츠간의 동기화 기준이되는 타임라인을 생성할 수 있다.
이를 통해 방송 수신 장치(100)는 컨텐츠가 포함하는 미디어 시간 정보를 추출하지 않더라도 컨텐츠와 트리거링 이벤트를 동기화할 수 있다.
도 95는 본 발명의 일 실시예에 따라 모든 트리거 속성을 하나의 이벤트로 시그널링하기 위한 밸류 어트리뷰트의 정의를 보여준다.
트리거를 MPEG-DASH의 이벤트로 전송하기 위해 이벤트 엘리먼트가 트리거가 시그널링하는 정보의 종류를 나타낼 수 있다. 구체적으로 이벤트 스트림 엘리먼트가 포함하는 밸류 어트리뷰트는 이벤트의 메시지가 포함하는 트리거가 트리거링 어플리케이션 정보의 위치를 시그널링함을 나타낼 수 있다. 이때, 밸류 어트리뷰트의 값은 tpt일 수 있다. 또한, 이벤트 스트림 엘리먼트가 포함하는 밸류 어트리뷰트는 이벤트의 메시지가 포함하는 트리거가 어플리케이션의 상태를 시그널링함을 나타낼 수 있다. 이때, 밸류 어트리뷰트의 값은 status일 수 있다. 또한, 이벤트 스트림 엘리먼트가 포함하는 밸류 어트리뷰트는 이벤트의 메시지가 포함하는 트리거가 어플리케이션의 동작을 시그널링함을 나타낼 수 있다. 이때, 밸류 어트리뷰트의 값은 action일 수 있다. 또한, 이벤트 스트림 엘리먼트가 포함하는 밸류 어트리뷰트는 이벤트의 메시지가 포함하는 트리거가 컨텐츠의 미디어 시간을 시그널링함을 나타낼 수 있다. 이때, 밸류 어트리뷰트의 값은 mediatime일 수 있다. 또한, 이벤트 스트림 엘리먼트가 포함하는 밸류 어트리뷰트는 이벤트의 메시지가 포함하는 트리거가 포함할 수 있는 모든 정보를 포함함을 나타낼 수 있다. 이때, 밸류 어트리뷰트의 값은 trigger일 수 있다.
또 다른 구체적인 실시예에서 이벤트 메시지 박스가 포함하는 밸류 필드는 이벤트 메시지 박스의 데이터 메시지 필드가 포함하는 트리거가 트리거링 어플리케이션 정보의 위치를 시그널링함을 나타낼 수 있다. 이때, 밸류 필드의 값은 tpt일 수 있다. 또한, 이벤트 메시지 박스가 포함하는 밸류 필드는 이벤트 메시지 박스의 데이터 메시지 필드가 포함하는 트리거가 어플리케이션의 상태를 시그널링함을 나타낼 수 있다. 이때, 밸류 필드의 값은 status일 수 있다. 또한, 이벤트 메시지 박스가 포함하는 밸류 필드는 이벤트 메시지 박스의 데이터 메시지 필드가 포함하는 트리거가 어플리케이션의 동작을 시그널링함을 나타낼 수 있다. 이때, 밸류 필드의 값은 action일 수 있다. 또한, 이벤트 메시지 박스가 포함하는 밸류 필드는 이벤트 메시지 박스의 데이터 메시지 필드가 포함하는 트리거가 컨텐츠의 미디어 시간을 시그널링함을 나타낼 수 있다. 이때, 밸류 필드의 값은 mediatime일 수 있다. 또한, 이벤트 메시지 박스가 포함하는 밸류 필드는 이벤트 메시지 박스의 데이터 메시지 필드가 포함하는 트리거가 포함할 수 있는 모든 트리거 속성을 포함함을 나타낼 수 있다. 이때, 밸류 필드의 값은 trigger일 수 있다. 이에 대해서는 다음의 도면을 통해 자세히 설명한다.
도 96은 본 발명의 일 실시예에 따라 모든 트리거 속성을 하나의 이벤트로 시그널링하기 위한 이벤트 엘리먼트의 식별자 어트리뷰트와 메시지 어트리뷰트, 및 이벤트 메시지 박스의 식별자 필드와 메시지 데이터 필드의 매칭 관계를 보여준다.
앞서 설명한 바와 같이 하나의 MPEG-DASH의 이벤트로 트리거가 포함할 수 있는 모든 속성을 시그널링할 수 있다. 구체적으로 MPEG-DASH의 이벤트의 메시지는 트리거링되는 어플리케이션을 식별하는 식별자, 트리거링 이벤트를 식별하는 식별자, 데이터를 식별하는 식별자, 트리거링 이벤트의 시작 시간, 및 트리거링 이벤트의 종료 시간 중 적어도 어느 하나를 포함할 수 있다.
이때, 이벤트 엘리먼트의 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 엘리먼트가 포함하는 메시지는 트리거 자체를 포함할 수 있다. 구체적으로 이벤트 엘리먼트가 포함하는 메시지는 앞서 설명한 형식의 트리거를 포함할 수 있다. 또한, 이벤트 엘리먼트가 포함하는 메시지는 타임드 텍스트 형식의 트리거일 수 있다.
또한, 이벤트 메시지 박스의 식별자 필드는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 트리거 자체를 포함할 수 있다. 구체적으로 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 앞서 설명한 형식의 트리거를 포함할 수 있다. 또한, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 타임드 텍스트 형식의 트리거를 포함할 수 있다.
이를 통해 방송 전송 장치(10)는 하나의 MPEG-DASH 이벤트 메시지를 통해 복수의 트리거 속성을 전송할 수 있다. 방송 수신 장치(100)는 하나의 MPEG-DASH 이벤트 메시지를 통해 복수의 트리거 속성을 획득할 수 있다.
또한, MMT 프로토콜을 통해 트리거를 시그널링할 수 있다. 이에 대해서는 다음의 도면들을 통해 설명한다.
도 97은 본 발명의 일 실시예에 따른 MMT 프로토콜의 패키지의 구조를 보여준다.
앞서 설명한 바와 같이 하이브리드 방송에서 미디어 컨텐츠를 전송하기 위한 프로토콜로써 MMT 프로토콜이 사용될 수 있다. MMT 프로토콜을 통한 미디어 컨텐츠의 전송을 패키지(Package), 어셋(Asset), 미디어 프로세싱 유닛(Media Processing Unit, MPU) 및 재생 정보(Prensentation Information, PI)를 통해 설명한다.
패키지는 MMT 프로토콜이 전송하는 컨텐츠의 논리적 전송 단위이다. 구체적으로 패키지는 PI와 어셋을 포함할 수 있다.
어셋은 패키지가 포함하는 인코딩된 미디어 데이터의 단위이다. 구체적인 실시예에서 어셋은 컨텐츠가 포함하는 오디오 트랙을 나타낼 수 있다. 또한, 어셋은 컨텐츠가 포함하는 비디오 트랙을 나타낼 수 있다. 또한, 어셋은 컨텐츠가 포함하는 자막 트랙을 나타낼 수 있다. 어셋은 어셋을 제공하는 서비스 제공자 어셋은 하나 또는 복수의 MPU를 포함할 수 있다.
MPU는 MMT 포로토콜이 전송하는 컨텐츠의 미디어 처리 단위이다. 구체적으로 MPU는 복수의 액세스 유닛을 포함할 수 있다. 또한, MPU는 MPEG-4 AVC 또는 MPEG-TS와 같은 다른 형식의 데이터를 포함할 수 있다.
PI는 앞서 설명한 미디어 컨텐츠 재생 정보이다. 구체적으로 PI는 어셋을 소비하기 위해 필요한 공간적 정보와 시간적 정보 중 적어도 어느 하나를 포함할 수 있다. 구체적인 실시예에서 PI는 ISO-IEC 23008-1에서 정의하는 구성 정보(Composition Information)일 수 있다.
방송 전송 장치(10)는 패키지를 MMT 프토콜의 전송단위인 MMTP 패킷으로 전송할 수 있다. MMTP 패킷의 페이로드가 포함하는 종류에 대해서는 다음의 도면을 통해 설명한다.
도 98은 본 발명의 일 실시예에 따른 MMTP 패킷의 구조와 MMTP 패킷이 포함하는 데이터의 종류를 보여준다.
본 발명의 일 실시예에 따른 MMTP 패킷은 도 98(a)의 같은 구조를 가질 수 있다. 특히 MMTP 패킷은 타입 필드를 통해 해당 패킷이 포함하는 데이터의 종류를 나타낼 수 있다.
MMTP 패킷은 페이로드에 MPU의 프래그먼트를 포함할 수 있다. 또한, MMTP 패킷은 페이로드에 일반적인 데이터를 나타내는 제너릭 오브젝트(Generic object)를 포함할 수 있다. 구체적으로 일반적 오브젝트는 하나의 완전한 MPU일 수 있다. 또한, 제너릭 오브젝트는 다른 타입의 오브젝트일 수 있다. 또한, MMTP 패킷은 페이로드에 시그널링 메시지를 포함할 수 있다, 구체적으로 MMTP 패킷은 하나 또는 복수의 시그널링 메시지를 포함할 수 있다. 또한 MMTP 패킷은 시그널링 메시지의 프래그먼트를 포함할 수 있다. 시그널링 메시지는 MMT 프로토콜이 전송하는 미디어 컨텐츠를 시그널링하는 시그널링 정보의 단위일 수 있다. MMTP 패킷은 하나의 리패어 심볼을 포함할 수 있다. 구체적인 실시예에서 방송 전송 장치(100)는 MPU의 프래그먼트를 포함하는 MMTP 패킷을 통해 어플리케이션 시그널링 정보를 전송할 수 있다. 구체적으로 방송 전송 장치(100)는 MPU의 프래그먼트를 포함하는 MMTP 패킷을 통해 트리거를 전송할 수 있다. 이에 대해서는 다음의 도면을 통해 설명한다.
도 99는 본 발명의 일 실시예에 따라 MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 페이로드 헤더의 신택스를 보여준다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 MMTP 패킷의 페이로드의 길이 정보를 나타내는 길이 필드를 포함할 수 있다. 구체적인 실시예에서 길이 필드는 length로 지칭될 수 있다. 구체적인 실시예에서 길이 필드는 16 비트 필드이다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 MMPT 패킷의 페이로드가 포함하는 MPU 종류를 나타내는 타입 필드를 포함할 수 있다. 구체적으로는 MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드는 미디어 프래그먼트 유닛, MPU 메타데이터, 무비 프래그먼트 메타데이터 중 적어도 어느 하나를 포함할 수 있다. MPU 메타데이터는 ISO BMFF의 ftyp, mmpu, moov, 및 ftyp, mmpu, moov 사이에 포함되는 다른 박스들을 포함할 수 있다. 무비 프래그먼트 메타데이터는 moof 박스와 미디어 데이터가 추출된(excluded) mdat 박스를 포함한다. 미디어 프래그먼트 유닛은 미디어 데이터의 샘플 및 하위(sub) 샘플 중 적어도 어느 하나를 포함할 수 있다. 이때, 미디어 데이터는 정해진 시간에 재생되는 타임드 미디어 데이터 또는 재생되는 시간이 정해지지 않은 논-타임드 미디어 데이터 중 어느 하나일 수 있다. 구체적인 실시예에서 타입 필드는 FT로 지칭될 수 있다. 구체적인 실시예에서 타입 필드는 4 비트 필드일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 MPU의 프래그먼트가 타임드 미디어를 포함하는지 나타내는 타임드 플래그를 포함할 수 있다. 구체적으로 타임드 플래그의 값이 1인 경우, 타임드 플래그는 MMTP 패킷이 포함하는 MPU의 프래그먼트는 타임드 미디어를 포함함을 나타낼 수 있다. 구체적인 실시예에서 타임드 플래그는 T로 지칭될 수 있다. 구체적인 실시예에서 타임드 플래그는 1 비트 플래그일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 페이로드에 포함된 데이터 유닛의 프레그먼트 정보를 나타내는 프래그먼트 지시자를 포함할 수 있다. 데이터 유닛은 MMTP 패킷의 페이로드에 포함된 데이터의 단위를 나타낼 수 있다. MMTP 패킷의 페이로드는 하나 또는 복수의 데이터 유닛을 포함할 수 있다. 구체적인 실시예에서 프래그먼트 지시자는 f_i로 지칭될 수 있다. 구체적인 실시예에서 프래그먼트 지시자는 2 비트 필드일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 페이로드에 하나 이상의 데이터 유닛이 포함되어 있음을 나타내는 집합(aggregation) 플래그를 포함할 수 있다. 구체적인 실시예에서 집합 플래그는 A로 지칭될 수 있다. 구체적인 실시예에서 집합 플래그는 1 비트 플래그일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 페이로드에 포함된 동일한 데이터 유닛이 포함하는 프래그먼트의 개수를 나타내는 프래그먼트 카운터 필드를 포함할 수 있다. 집합 플래그가 하나 이상의 데이터 유닛이 페이로드에 포함되어 있음을 나타내는 경우 프래그먼트 카운터 필드의 값은 0일 수 있다. 구체적인 실시예에서 프래그먼트 카운터 필드는 frqg_counter로 지칭될 수 있다. 구체적인 실시예에서 프래그먼트 카운터 필드는 8 비트 필드일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 MPU의 프래그먼트가 포함되는 시퀀스의 번호를 나타내는 MPU 시퀀스 필드를 포함할 수 있다. 구체적인 실시예에서 MPU 시퀀스 필드는 MPU_sequence_number로 지칭될 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 데이터 유닛의 길이를 나타내는 데이터 유닛 길이 필드를 포함할 수 있다. 구체적으로 MMTP 패킷의 페이로드가 하나 또는 복수의 데이터 유닛을 포함하는 경우, MMTP 패킷의 페이로드 헤더는 데이터 유닛의 길이를 나타내는 데이터 유닛 길이 필드를 포함할 수 있다. 구체적인 실시예에서 데이터 유닛 길이 필드는 DU_length 필드로 지칭될 수 있다. 구체적인 실시예에서 데이터 유닛 길이 필드는 16 비트 필드일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 데이터 유닛의 헤더를 나타내는 데이터 유닛 헤더 필드를 포함할 수 있다. 데이터 유닛 헤더 필드는 데이터 유닛이 포함하는 데이터의 종류에 따라 형식이 달라질 수 있다. 구체적으로 데이터 유닛 헤더 필드는 앞서 설명한 타입 필드의 값에 따라 형식이 달라질 수 있다. 다음의 도면을 통하여 이러한 페이로드 헤더 신택스를 이용하여 어플리케이션 시그널링 정보를 전송하는 것을 설명한다.
도 100은 본 발명의 일 실시예에 따라 컨텐츠와 MPU를 통해 전송되는 트리거를 동기화하는 것을 보여준다.
방송 전송 장치(10)는 어플리케이션 시그널링 정보를 MPU로 전송함으로써 ISO BMFF의 트랙으로 전송할수 있다. 이를 통해 방송 전송 장치(10)는 어플리케이션 시그널링 정보를 컨텐츠와 프레임 단위로 동기화될 수 있게 전송할 수 있다. 구체적으로 방송 전송 장치(10)는 앞서 설명한 MMTP 패킷의 페이로드 헤더 신택스를 통해 어플리케이션 시그널링 정보를 컨텐츠와 프레임 단위로 동기화될 수 있게 전송할 수 있다. 구체적인 실시예에서 방송 전송 장치(10)는 MPU의 프래그먼트 타입을 미디어 프래그먼트 유닛으로 설정하고. 데이터 유닛 페이로드에 어플리케이션 시그널링 메시지를 삽입하여 전송할 수 있다. 또한, 방송 전송 장치(10)는 타임드 플래그를 타임드 미디어가 전송되는 것으로 설정할 수 있다. 구체적으로 방송 전송 장치(10)는 어플리케이션 시그널링 정보가 트리거와 같이 특정 시간에 전송되어야 하는 경우 타임드 플래그를 타임드 미디어가 전송되는 것으로 설정할 수 있다. 또한, 데이터 유닛이 포함하는 어플리케이션 시그널링 정보가 트리거인 경우, 트리거는 앞서 설명한 형식일 수 있다. 또 다른 구체적인 실시예에서 트리거는 타임드 텍스트 형식일 수 있다. 또한, 트리거는 XML 형식일 수 있다. 또한, 트리거는 트리거링되는 어플리케이션을 식별하는 어플리케이션 식별자를 포함할 수 있다. 또한, 트리거는 트리거링 이벤트를 식별하는 트리거링 이벤트 식별자를 포함할 수 있다. 또한, 트리거는 트리거링되는 어플리케이션의 동작을 나타내는 동작을 포함할 수 있다. 또한, 트리거는 트리거링 이벤트가 필요로하는 데이터를 식별하는 데이터 식별자를 포함할 수 있다. 또한, 트리거는 트리거링 이벤트의 시작 시간을 포함할 수 있다. 또한, 트리거는 트리거링 이벤트의 종료 시간을 포함할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(10)는 트리거링 이벤트의 시작 시간 이후, 트리거링 이벤트 종료 시간 이전에 동작을 수행할 수 있다. 구체적으로 트리거는 이를 통해 어플리케이션 시그널링 정보는 정해진 시퀀스와 정해진 시간에 재생(presentation)되는 무비 프래그먼트에 동기화될 수 있다. 구체적인 실시예에서 방송 전송 장치(10)는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간을 무비 프래그먼트의 내부의 미디어 타임을 기준으로 설정할 수 있다. 또한, 방송 전송 장치(10)는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간을 트리거 내부의 상대적 시간으로 설정할 수 있다. 또한, 방송 전송 장치(10)는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간을 아웃 오브 밴드를 통해 제공되는 월-클락에 기반한 시간으로 설정할 수 있다. 예컨대, 방송 전송 장치(10)는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간을 CI가 제공하는 월-클락에 기반한 시간으로 설정할 수 있다. 또한, 방송 전송 장치(10)는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간을 timestamp descriptor()가 제공하는 월-클락에 기반한 시간으로 설정할 수 있다.
도 100의 실시예에서 제1 트리거(trigger 1)는 제1 무비 프래그먼트(Movie Fragment 1)와 동기화된다. 또한, 제2 트리거(trigger 2)는 제2 무비 프래그먼트(Movie Fragment 2)와 동기화된다. 구체적으로 제1 트리거는 앞서 설명한 트리거 형식에따라 트리거링 어플리케이션 정보의 위치를 시그널링하고, 트리거링 이벤트 식별자가 5인 트리거링 이벤트를 어플리케이션 식별자가 7인 어플리케이션에 대해 즉시 실행할 것을 트리거링한다. 또한 제2 트리거는 앞서 설명한 트리거 형식에 따라 트리거링 어플리케이션 정보의 위치를 시그널링하고, 트리거링 이벤트 식별자가 3인 트리거링 이벤트를 어플리케이션 식별자가 8인 어플리케이션에 대해 77ee 부터 80ee 사이에 수행할 것을 트리거링한다.
방송 전송 장치(10)는 MMT 프로토콜의 시그널링 메시지 중 하나로 어플리케이션 시그널링 메시지를 전송할 수 있다. 이에 대해서는 다음의 도면들을 통해 설명한다.
도 101은 본 발명의 또 다른 실시예에 따른 MMT 시그널링 메시지의 신택스를 보여준다.
본 발명의 일 실시예에 따른 MMT 시그널링 메시지는 시그널링 메시지를 식별하는 메시지 식별자를 포함할 수 있다. 구체적인 실시예에서 메시지 식별자는 message_id로 지칭될 수 있다. 구체적인 실시예에서 메시지 식별자는 16 비트 필드일 수 있다.
또한, MMT 시그널링 메시지는 시그널링 메시지의 갱신 이력을 나타내는 버전정보를 포함할 수 있다. 구체적인 실시예에서 버전 정보는 version으로 지칭될 수 있다. 구체적인 실시예에서 버전 정보는 8 비트 필드일 수 있다.
시그널링 메시지는 시그널링 메시지가 포함하는 데이터의 길이를 나타낸는 길이 정보를 포함할 수 있다. 길이 정보는 length라 지칭될 수 있다. 구체적인 실시예에서 길이 정보는 16 비트 필드 또는 32 비트 필드일 수 있다.
시그널링 메시지는 시그널링 메시지의 추후 확장을 확장 정보를 포함할 수 있다. 시그널링 메시지는 다양한 정보를 포함할 수 있다. 이에 대해서는 다음의 도면을 통해 설명한다.
도 102는 본 발명의 또 다른 실시시예에 따라 MMT 시그널링 메시지를 식별하는 식별자의 값과 MMT 시그널링 메시지가 시그널링하는 데이터의 관계를 보여준다.
구체적으로 시그널링 메시지는 다른 모든 시그널링 테이블의 정보를 나타내는 PA 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0000일 수 있다. 시그널링 메시지는 미디어 컨텐츠 재생 정보를 포함하는 MPI 메시지일 수 수 있다. 이때, 메시지 식별자의 값은 0x0001 내지 0x000F일 수 있다. 시그널링 메시지는 패키지가 포함하는 어셋의 정보를 나타내는 MP 테이블을 포함하는 MPT 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0011 내지 0x001F일 수 있다. 또한, 시그널링 메시지는 동기화 정보를 나타내는 CRI 테이블을 포함하는 CRI 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0200일 수 있다. 시그널링 메시지는 패키지를 소비하기 위해 필요한 장치 성능을 나타내는 DCI 테이블을 포함하는 DCI 메시지일 수 수 있다. 이때, 메시지 식별자의 값은 0x0201일 수 있다. 또한, 시그널링 메시지는 어셋을 수신하기위해 필요한 FEC 정보를 나타내는 AL_FEC 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0202일 수 있다. 또한, 시그널링 메시지는 방송 수신 장치(100)에게 요구되는 메모리와 엔드 투 엔드 전송 딜레이를 나타내는 HRBM 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0203일 수 있다. 어플리케이션 시그널링 정보를 전송하기 위해 시그널링 메시지는 이러한 종류의 메시지 이외에 어플리케이션 시그널링 정보를 포함하는 어플리케이션 시그널링 메시지일 수 있다. 방송 수신 장치(100)는 앞서 설명한 메시지 식별자에 의해 시그널링 메시지가 포함하는 메시지의 종류를 식별할 수 있다. 이때, 메시지 식별자의 값은 0x8000일 수 있다. 어플리케이션 시그널링 메시지의 형식은 다음의 도면을 통해 설명한다.
도 103은 본 발명의 또 다른 실시예에 따라 어플리케이션 시그널링 정보를 포함하는 시그널링 메시지의 신택스를 보여준다.
본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 메시지는 시그널링 메시지에서 어플리케이션 시그널링 정보를 포함하는 어플리케이션 시그널링 테이블을 포함할 수 있다. 구체적인 실시예에서 시그널링 메시지는 복수의 어플리케이션 시그널링 테이블을 포함할 수 있다.
어플리케이션 시그널링 메시지는 어플리케이션 시그널링 메시지가 포함하는 어플리케이션 테이블의 개수를 나타내는 테이블 개수 정보를 포함할 수 있다. 구체적인 실시예에서 테이블 개수 정보는 number_of_tables로 지칭될 수 있다. 테이블 개수 정보는 8 비트 필드일 수 있다.
어플리케이션 시그널링 메시지는 어플리케이션 시그널링 메시지가 포함하는 어플리케이션 테이블을 식별하는 테이블 식별자 정보를 포함할 수 있다. 구체적인 실시예에서 테이블 식별자 정보는 table_id로 지칭될 수 있다. 테이블 식별자 정보는 8 비트 필드일 수 있다.
어플리케이션 시그널링 메시지는 시그널링 테이블의 갱신 이력을 나타내는 테이블 버전 정보를 포함할 수 있다. 구체적인 실시예에서 테이블 버전 정보는 table_version으로 지칭될 수 있다. 구체적인 실시예에서 테이블 버전 정보는 8비트 필드일 수 있다.
어플리케이션 시그널링 메시지는 시그널링 테이블의 길이를 나타내는 테이블 길이 정보를 포함할 수 있다. 구체적인 실시예에서 테이블 길이 정보는 table_length로 지칭될 수 있다. 구체적인 실시예에서 테이블 길이 정보는 8비트 필드일 수 있다. 어플리케이션 시그널링 테이블의 구체적인 신택스에 대해서는 다음의 도면을 통해 설명한다.
도 104는 본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 정보를 포함하는 어플리케이션 시그널링 테이블의 신택스를 보여준다.
본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 테이블은 어플리케이션 시그널링 테이블을 식별하는 식별자를 포함할 수 있다. 구체적인 실시예에서 식별자는 table_id로 지칭될 수 있다. 식별자는 8 비트 필드일 수 있다.
어플리케이션 시그널링 테이블은 어플리케이션 시그널링 테이블의 갱신 이력을 나타내는 버전 정보를 포함할 수 있다. 구체적인 실시예에서 버전 정보는 version으로 지칭될 수 있다. 구체적인 실시예에서 버전 정보는 8 비트 필드일 수 있다.
어플리케이션 시그널링 테이블은 어플리케이션 시그널링 테이블의 길이를 나타내는 길이 정보를 포함할 수 있다. 구체적인 실시예에서 길이 정보는 length로지칭될 수 있다. 구체적인 실시예에서 길이 정보는 16 비트 필드일 수 있다.
어플리케이션 시그널링 테이블은 어플리케이션 시그널링 테이블이 포함하는 트리거의 종류를 나타내는 트리거 타입 정보를 포함할 수 있다. 시그널링 테이블이 포함하는 트리거의 종류는 다양할 수 있다. 이에 대해서는 다음의 도면을 통해 설명한다.
도 105는 본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 테이블이 포함하는 트리거 타입 정보와 트리거가 포함하는 트리거 속성의 관계를 보여준다.
시그널링 테이블이 포함하는 트리거는 트리거링 어플리케이션 정보의 위치를 시그널링할 수 있다. 이때, 트리거 타입 정보의 값은 1일 수 있다. 또한, 시그널링 테이블이 포함하는 트리거는 어플리케이션의 라이프싸이클을 시그널링할 수 있다. 구체적으로 시그널링 테이블이 포함하는 트리거는 어플리케이션의 상태를 시그널링할 수 있다. 이때, 트리거 타입 정보의 값은 2일 수 있다. 또한, 시그널링 테이블이 포함하는 트리거는 어플리케이션의 동작을 시그널링할 수 있다. 이때, 트리거 타입 정보의 값은 3일 수 있다. 또한, 시그널링 테이블이 포함하는 트리거는 컨텐츠의 미디어 시간을 시그널링할 수 있다. 이때, 트리거 타입 정보의 값은 4일 수 있다. 또한, 시그널링 테이블이 포함하는 트리거는 트리거가 포함할 수 있는 모든 정보를 포함할 수 있다. 이때, 트리거 타입 정보의 값은 5일 수 있다. 다시 도 104로 돌아가 설명한다.
구체적인 실시예에서 트리거 타입 정보는 trigger_type으로 지칭될 수 있다. 구체적인 실시예에서 트리거 타입 정보는 8비트 필드일 수 있다.
시그널링 정보 테이블은 트리거를 나타내는 텍스트를 포함할 수 있다. 구체적으로 시그널링 정보 테이블은 트리거가 포함하는 문자를 나타내는 문자 정보를 포함할 수 있다. 구체적인 실시예에서 시그널링 정보 테이블은 복수의 문자 정보를 포함할 수 있다. 구체적인 실시예에서 문자 정보는 URI_character로 지칭될 수 있다. 또한, 트리거의 형식은 앞서 설명한 형식일 수 있다. 구체적인 실시예에서 문자 정보는 8 비트 필드일 수 있다.
다만 도 104와 도 105를 통해 설명한 실시예에서 트리거의 종류를 어플리케이션 시그널링 메시지 테이블 내의 트리거 타입 정보를 통해 나타내었다. 다만, 이러한 경우 방송 수신 장치(100)는 어플리케이션 시그널링 테이블을 파싱해야 트리거의 종류를 인식할 수 있다. 따라서 방송 수신 장치(100)가 필요한 종류의 트리거만을 선별적으로 수신할 수 없는 문제가 있다. 이를 해결하는 방법에 대해서 다음의 도면을 통해 설명한다.
도 106은 본 발명의 또 다른 실시예에 따라 MMT 시그널링 메시지를 식별하는 식별자의 값과 MMT 시그널링 메시지가 시그널링하는 데이터의 관계를 보여준다.
방송 전송 장치(10)는 어플리케이션 시그널링 메시지가 포함하는 트리거의 종류에 기초하여 어플리케이션 시그널링 메시지를 식별하는 메시지 식별자 값을 달리할 수 있다. 구체적으로 방송 전송 장치(10)는 메시지 식별자 값을 트리거의 종류가 트리거링 어플리케이션 정보의 위치를 시그널링하는 트리거인지. 어플리케이션의 라이프싸이클을 시그널링하는 트리거인지, 어플리케이션의 동작을 시그널링하는 트리거인지, 컨텐츠의 미디어 시간을 시그널링하는 트리거인지, 및 트리거가 포함할 수 있는 모든 정보를 포함하는 트리거인지에 따라 다르게 설정할 수 있다. 구체적으로 메시지 식별자의 값이 0x8000 내지 0x8004이면 시그널링 메시지가 어플리케이션 시그널링 메시지임을 나타낼 수 있다. 또한, 구체적인 실시예에서 어플리케이션 시그널링 메시지가 포함하는 트리거가 트리거링 어플리케이션 정보의 위치를 시그널링하는 경우, 메시지 식별자의 값은 0x8000일 수 있다. 또한, 어플리케이션 시그널링 메시지가 포함하는 트리거가 어플리케이션의 라이프싸이클을 시그널링하는 경우, 메시지 식별자의 값은 0x8001일 수 있다. 또한, 어플리케이션 시그널링 메시지가 포함하는 트리거가 어플리케이션의 동작을 시그널링하는 경우, 메시지 식별자의 값은 0x8002일 수 있다. 또한, 어플리케이션 시그널링 메시지가 포함하는 트리거가 컨텐츠의 미디어 시간을 시그널링하는 경우, 메시지 식별자의 값은 0x8003일 수 있다. 또한, 어플리케이션 시그널링 메시지가 포함하는 트리거가 트리거가 포함할 수 있는 모든 정보를 포함하는 경우, 메시지 식별자의 값은 0x8004일 수 있다. 시그널링 메시지의 메시지 식별자가 어플리케이션 시그널링 메시지가 포함하는 트리거의 종류를 나타내므로 어플리케이션 시그널링 테이블은 트리거 타입 정보를 포함하지 않을 수 있다. 도 107의 실시예에 어플리케이션 시그널링 테이블은 앞서 설명한 어플리케이션 시그널링 테이블과 달리 트리거 타입 정보를 포함하지 않는다.
이와 같이 시그널링 메시지가 포함하는 트리거의 종류에 따라 어플리케이션 시그널링 메시지를 식별하는 메시지 식별자의 값을 달리하면, 방송 수신 장치(100)는 어플리케이션 시그널링 메시지가 포함하는 어플리케이션 시그널링 테이블을 파싱하지 않고도 트리거의 종류를 알 수 있다. 따라서 방송 수신 장치(100)는 효율적으로 특정 종류의 트리거를 선별적으로 수신할 수 있다.
방송 전송 장치(10)는 어플리케이션 시그널링 정보를 제너릭 패킷을 통해 전송할 수 있다. 이에 대해서는 다음의 도면을 통해 설명한다.
도 108은 본 발명의 또 다른 실시예에 따른 MMTP 패킷의 구조를 보여준다.
먼저 MMTP 패킷의 신택스에 대해서 설명한다.
MMTP 패킷은 MMTP 프로토콜의 버전을 나타내는 버전 정보를 포함할 수 있다. 구체적인 실시예에서 버전 정보는 V로 지칭될 수 있다. 구체적인 실시예에서 버전 정보는 2 비트 필드일 수 있다.
MMTP 패킷은 패킷 카운팅 정보의 존재를 나타내는 패킷 카운터 플래그 정보를 포함할 수 있다. 구체적인 실시예에서 패킷 카운터 플래그 정보는 C로 지칭될 수 있다. 구체적인 실시예에서 패킷 카운터 플래그 정보는 1 비트 필드일 수 있다.
MMTP 패킷은 패킷 MMTP 패킷의 에러 방지를 FEC 알고리즘의 형식(scheme)을 나타내는 FEC 타입 정보를 포함할 수 있다. 구체적인 실시예에서 FEC 타입 정보는 FEC로 지칭될 수 있다. 구체적인 실시예에서 FEC 타입 정보는 2 비트 필드일 수 있다.
MMTP 패킷은 헤더 확장 정보의 존재를 나타내는 확장 플래그 정보를 포함할 수 있다. 구체적인 실시예에서 확장 플래그 정보는 X로 지칭될 수 있다. 구체적인 실시예에서 확장 플래그 정보는 1 비트 필드일 수 있다.
MMTP 패킷은 페이로드의 데이터 랜덤 액세를 위한 RAP(Randon Access Point)을 포함하는지를 나타내는 RAP 플래그 정보를 포함할 수 있다. 구체적인 실시예에서 RAP 플래그 정보는 R로 지칭될 수 있다. 구체적인 실시예에서 RAP 플래그 정보는 1 비트 필드일 수 있다.
MMTP 패킷은 페이로드의 데이터 종류를 나타내는 타입 정보를 포함할 수 있다. 구체적인 실시예에서 타입 정보는 type으로 지칭될 수 있다. 구체적인 실시예에서 타입 정보는 6 비트 필드일 수 있다.
MMTP 패킷은 패킷을 식별하는 식별자를 나타내는 패킷 식별자 정보를 포함할 수 있다. 방송 수신 장치(100)는 패킷 식별자 정보에 기초하여 해당 패킷이 어느 어셋에 포함되는지 판단할 수 있다. 또한, 방송 수신 장치(100) 어셋과 패킷 식별자의 관계는 시그널링 메시지로부터 획득할 수 있다. 패킷 식별자 정보는 해당 전송 세션의 라이프 타임동안 유일한 값을 가질 수 있다. 구체적인 실시예에서 패킷 식별자 정보는 packet_id로 지칭될 수 있다. 구체적인 실시예에서 패킷 식별자 정보는 16 비트 필드일 수 있다.
MMTP 패킷은 패킷 시퀀스의 번호를 나타내는 패킷 시퀀스 번호 정보를 포함할 수 있다. 구체적인 실시예에서 패킷 시퀀스 번호 정보는 packet_sequence_number로 지칭될 수 있다. 구체적인 실시예에서 패킷 시퀀스 번호 정보는 32 비트 필드일 수 있다.
MMTP 패킷은 MMTP 패킷 전송의 타임 인스턴스 값을 특정하는 타임스탬프 정보를 포함할 수 있다. 타임스탬프 정보는 UTC 값에 기초한 것일 수 있다. 또한, 타임스탬프 정보는 MMTP 패킷의 첫 바이트를 전송한 시간을 나타낼 수 있다. 구체적인 실시예에서 타임스탬프 정보는 timestamp로 지칭될 수 있다. 구체적인 실시예에서 타임스탬프 정보는 32 비트 필드일 수 있다.
MMTP 패킷은 전송된 패킷의 카운트를 나타내는 패킷 카운팅 정보를 포함할 수 있다. 구체적인 실시예에서 패킷 카운팅 정보는 packet_counter로 지칭될 수 있다. 구체적인 실시예에서 패킷 카운팅 정보는 32 비트 필드일 수 있다.
MMTP 패킷은 FEC 보호 알고리즘에 따라 필요한 FEC 정보를 포함할 수 있다. 구체적인 실시예에서 FEC 정보는 Sourece_FEC_payload_ID로 지칭될 수 있다. 구체적인 실시예에서 FEC 정보는 32 비트 필드일 수 있다.
MMTP 패킷은 추후 헤더 확장을 위해 예비된(reserved) 헤더 확장 정보를 포함할 수 있다. 구체적인 실시예에서 헤더 확장 정보는 header_extension으로 지칭될 수 있다.
방송 전송 장치(10)는 제너릭 타입의 패킷의 페이로드에 어플리케이션 시그널링 정보를 삽입하여 전송할 수 있다. 구체적으로 방송 전송 장치(10)는 제너릭 타입의 패킷의 페이로드에 어플리케이션 시그널링 정보를 파일 형태로 삽입하여 전송할 수 있다. 이때, 방송 전송 장치(10)는 각각의 파일에 각각 다른 패킷 식별자를 할당할 수 있다. 방송 수신 장치(100)는 제너릭 패킷으로부터 어플리케이션 시그널링 정보를 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 제너릭 패킷으로부터 어플리케이션 시그널링 정보를 포함하는 파일을 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 제너릭 패킷의 패킷 식별자에 기초하여 어플리케이션 시그널링 정보를 포함하는 파일을 추출할 수 있다. 예컨대, 방송 수신 장치(100)는 제너릭 패킷의 패킷 식별자 값에 기초하여 해당 패킷이 필요한 어플리케이션 시그널링 정보를 포함하고 있는지 판단할 수 있다.
방송 전송 장치(10)는 MMTP 패킷의 헤더 확장 정보를 이용하여 어플리케이션 시그널링 정보를 전송할 수 있다. 이에 대해서는 다음의 도면을 통해 설명한다.
도 109는 본 발명의 또 다른 실시예에 따른 MMTP 패킷의 구조와 어플리케이션 시그널링 정보를 전송하기 위한 헤더 확장 필드의 신택스를 보여준다.
방송 전송 장치(10)는 MMTP 패킷의 헤더에 어플리케이션 시그널링 정보를 삽입하여 전송할 수 있다. 구체적으로 방송 전송 장치(10)는 헤더 확장 정보에 어플리케이션 시그널링 정보를 삽입하여 전송할 수 있다.
구체적인 실시예에서 헤더 확장 정보는 헤더 확장 정보가 포함하는 헤더 확장 정보의 종류를 나타내는 헤더 확장 타입 정보를 포함할 수 있다. 이때, 헤더 확장 타입은 헤더 확장 정보가 어플리케이션 시그널링 메시지를 포함함을 나타낼 수 있다. 또 다른 구체적인 실시예에서 헤더 확장 타입 정보는 헤더 확장 정보가 포함하는 어플리케이션 시그널링 정보의 종류를 나타낼 수 있다. 이때, 어플리케이션 시그널링 정보의 종류는 앞서 설명한 트리거가 포함하는 속성에 따른 트리거의 종류를 포함할 수 있다. 구체적인 실시예에서 헤더 확장 타입 정보는 type으로 지칭될 수 있다.
구체적인 실시예에서 헤더 확장 정보는 16 비트 필드일 수 있다. 구체적인 실시예에서 헤더 확장 정보는 헤더 확장 정보의 길이를 나타내는 헤더 확장 길이 정보를 포함할 수 있다. 이때, 헤더 확장 길이 정보는 헤더 확장 정보가 포함하는 어플리케이션 시그널링 정보의 길이를 나타낼 수 있다. 구체적인 실시예에서 헤더 확장 길이 정보는 length로 지칭될 수 있다. 구체적인 실시예에서 헤더 확장 길이 정보는 16 비트 필드일 수 있다.
구체적인 실시예에서 헤더 확장 정보는 헤더 확장 정보에 포함된 확장 정보를 나타내는 헤더 확장 값을 포함할 수 있다. 이때, 헤더 확장 값은 헤더 확장 정보가 포함하는 어플리케이션 시그널링 정보를 나타낼 수 있다. 이때, 어플리케이션 시그널링 정보는 트리거일 수 있다. 또한, 어플리케이션 시그널링 정보의 타입은 스트링 형태의 URI일 수 있다. 또한, 스트링 형태의 URI는 앞서 설명한 스트링 형태의 트리거일 수 있다. 구체적인 실시예에서 헤더 확장 값은 header_extension_value로 지칭될 수 있다.
이에 따라 방송 수신 장치(100)는 헤더 확장 정보로부터 어플리케이션 시그널링 정보를 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 헤더 확장 정보가 포함하는 헤더 확장 타입 정보에 기초하여 어플리케이션 시그널링 정보를 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 헤더 확장 타입 정보에 기초하여 해당 헤더 확장 정보가 어플리케이션 시그널링 정보를 포함하는지 판단할 수 있다. 방송 수신 장치(100)는 해당 헤더 확장 정보가 어플리케이션 시그널링 정보를 포함하는 경우 어플리케이션 시그널링 정보를 추출할 수 있다. 또한, 방송 수신 장치(100)는 헤더 확장 타입 정보에 기초하여 해당 헤더 확장 정보가 포함하는 어플리케이션 시그널링 정보의 종류를 판단할 수 있다. 이에 따라 방송 수신 장치(100)는 어플리케이션 시그널링 정보를 선택적으로 획득할 수 있다.
앞서 설명한 본 발명의 실시예들에 따른 어플리케이션 시그널링 정보의 전송과 수신에 따른 방송 전송 장치(10)와 방송 수신 장치(100)의 동작을 다음의 도면들을 통해 구체적으로 설명한다.
도 110은 본 발명의 실시예들에 따라 방송 전송 장치가 어플리케이션 시그널링 정보에 기초하여 방송 신호를 전송하는 것을 보여준다.
방송 전송 장치(10)는 방송 서비스가 포함하는 어플리케이션에 대한 정보를 획득한다(S2501). 구체적으로 방송 전송 장치(10)는 제어부를 통하여 방송 서비스가 포함하는 어플리케이션에 대한 정보를 획득할 수 있다.
방송 전송 장치(10)는 어플리케이션에 대한 정보에 기초하여 어플리케이션 시그널링 정보를 생성한다(S2503). 구체적으로 방송 전송 장치(10)는 제어부를 통하여 어플리케이션에 대한 정보에 기초하여 어플리케이션 시그널링 정보를 생성할 수 있다. 이때, 어플리케이션 시그널링 정보는 앞서 설명한 바와 같이 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보 중 적어도 어느 하나를 포함할 수 있다.
방송 전송 장치(10)는 어플리케이션 시그널링 정보에 기초하여 방송 신호를 전송한다(S2505). 구체적으로 방송 전송 장치(10)는 전송부를 통하여 어플리케이션 시그널링 정보에 기초하여 방송 신호를 전송할 수 있다. 구체적으로 앞서 설명한 바와 같이 방송 전송 장치(10)는 MPEG-DASH 프로토콜을 이용하여 어플리케이션 시그널링 정보를 전송할 수 있다. 구체적으로 방송 전송 장치(10)는 MPEG-DASH의 MPD의 이벤트 스트림으로 어플리케이션 시그널링 정보를 전송할 수 있다. 또한, 방송 전송 장치(10)는 인밴드 이벤트 스트림으로 어플리케이션 시그널링 정보를 전송할 수 있다. 예컨대, 방송 전송 장치(10)는 이벤트 메시지 박스를 통해 어플리케이션 시그널링 정보를 전송할 수 있다. 또 다른 구체적인 실시예에서 방송 전송 장치(10)는 MMT 프로토콜을 이용하여 어플리케이션 시그널링 정보를 전송할 수 있다. 구체적으로 방송 전송 장치(10)는 MMT 프로토콜의 MPU를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 전송할 수 있다. 또한, 방송 전송 장치(10)는 MMT 프로토콜의 제너릭 오브젝트를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 전송할 수 있다. 또한, 방송 전송 장치(10)는 MMT 프로토콜의 시그널링 메시지를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 전송할 수 있다. 또한, 방송 전송 장치(10)는 MMT 프로토콜의 패킷의 헤더 확장 정보에 기초하여 어플리케이션 시그널링 메시지를 전송할 수 있다.
도 111은 본 발명의 실시예들에 따라 방송 수신 장치가 방송 신호에 기초하여 어플리케이션 시그널링 정보를 획득하는 것을 보여준다.
방송 수신 장치(100)는 방송 신호를 수신한다(S2601). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 신호를 수신할 수 있다.
방송 수신 장치(100)는 방송 신호에 기초하여 어플리케이션 시그널링 정보를 획득한다(S2603). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 방송 신호에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 구체적으로 앞서 설명한 바와 같이 방송 수신 장치(100)는 MPEG-DASH 프로토콜에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 구체적으로 방송 수신 장치(100)는 MPEG-DASH의 MPD의 이벤트 스트림에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 또한, 방송 수신 장치(100)는 인밴드 이벤트 스트림에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 예컨대, 방송 수신 장치(100)는 이벤트 메시지 박스로부터 어플리케이션 시그널링 정보를 전송할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 MMT 프로토콜에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 구체적으로 방송 수신 장치(100)는 MMT 프로토콜의 MPU를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 획득할 수 있다. 또한, 방송 수신 장치(100)는 MMT 프로토콜의 제너릭 오브젝트를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 획득할 수 있다. 또한, 방송 수신 장치(100)는 MMT 프로토콜의 시그널링 메시지를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 획득할 수 있다. 또한, 방송 수신 장치(100)는 MMT 프로토콜의 패킷의 헤더 확장 정보에 기초하여 어플리케이션 시그널링 메시지를 획득할 수 있다. 어플리케이션 시그널링 정보는 앞서 설명한 바와 같이 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보 중 적어도 어느 하나를 포함할 수 있다.
방송 수신 장치(100)는 어플리케이션 시그널링 정보에 기초하여 어플리케이션을 동작한다(S2605). 구체적으로 방송 수신 장치(100)는 제어부를 통하여 어플리케이션 시그널링 정보에 기초하여 어플리케이션을 동작할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 어플리케이션 시그널링 정보에 기초하여 어플리케이션의 상태를 변경할 수 있다. 구체적으로 방송 수신 장치(100)는 트리거링 이벤트 시작 시간에 어플리케이션 시그널링 정보에 기초하여 어플리케이션의 상태를 변경할 수 있다. 또한, 방송 수신 장치(100)는 트리거링 이벤트 시작 시간이후 트리거링 이벤트 종료 시간 이전에 어플리케이션 시그널링 정보에 기초하여 어플리케이션의 상태를 변경할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 어플리케이션 시그널링 정보에 기초하여 어플리케이션에게 트리거링되는 동작을 수행할 수 있다. 구체적으로 방송 수신 장치(100)는 트리거링 이벤트 시작 시간에 어플리케이션 시그널링 정보에 기초하여 어플리케이션에게 트리거링되는 동작을 수행할 수 있다. 또한, 방송 수신 장치(100)는 트리거링 이벤트 시작 시간이후 트리거링 이벤트 종료 시간 이전에 어플리케이션 시그널링 정보에 기초하여 어플리케이션에게 트리거링되는 동작을 수행할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 어플리케이션 시그널링 정보에 기초하여 트리거링 어플리케이션 정보를 수신할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 어플리케이션 시그널링 정보에 기초하여 컨텐츠의 미디어 시간을 획득할 수 있다. 구체적으로 방송 수신 장치(100)는 재생하는 컨텐츠의 미디어 시간을 획득할 수 있다. 또한, 방송 수신 장치(100)는 미디어 시간을 획득하여 컨텐츠의 미디어 시간에 기초하여 트리거링 이벤트와 컨텐츠간의 동기화 기준이되는 타임라인을 생성할 수 있다.
이러한 동작 방법을 통해 방송 전송 장치(10)는 효율적으로 어플리케이션 시그널링 정보를 전송할 수 있다. 특히, 방송 전송 장치(10)는 MPEG-DASH 프로토콜 또는 MMT 프로토콜을 통해 어플리케이션 시그널링 정보를 전송할 수 있다. 또한, 방송 수신 장치(100)는 효율적으로 어플리케이션 시그널링 정보를 수신할 수 있다. 특히, 방송ㅅ 장치(10)는 MPEG-DASH 프로토콜 또는 MMT 프로토콜을 통해 어플리케이션 시그널링 정보를 전송할 수 있다.
이상에서 실시예들에 설명된 특징, 구조, 효과 등은 본 발명의 적어도 하나의 실시예에 포함되며, 반드시 하나의 실시예에만 한정되는 것은 아니다. 나아가, 각 실시예에서 예시된 특징, 구조, 효과 등은 실시예들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시예들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.