본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
본 발명은 차세대 방송 서비스에 대한 방송 신호 송신 및 수신 장치 및 방법을 제공한다. 본 발명의 일 실시예에 따른 차세대 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스, 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에 따라 시그널링 된다.
PLS2_SIZE_CELL: 해당 15비트 필드는 현 프레임 그룹에서 전달되는 PLS2에 대한 모든 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 C
total_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에 따라 시그널링 된다.
HC_MODE_IP: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 IP ('01')로 설정되는 경우에 IP 헤더 압축 모드를 나타낸다. HC_MODE_IP는 아래의 표 26에 따라 시그널링 된다.
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번째 타임 인터리빙 블록에 대해, 열의 수 Nc 가 NxBLOCK_TI(n,s) 와 동일한 반면, 타임 인터리빙 메모리의 행의 수 Nr 는 셀의 수 Ncells 와 동일하다 (즉, Nr = Ncells).
도 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 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디 인터리빙을 위한 시그널링을 도시한 도면이다.
전술한 바와 같이, 본 발명에 따른 주파수 인터리버는 OFDM 심볼마다 다른 인터리빙 시퀀스를 사용하여 인터리빙을 수행하나, 주파수 디인터리버는 수신한 OFDM 심볼에 대하여 싱글 메모리 디인터리빙을 수행할 수 있다.
본 발명에서는, 한 프레임 내의 OFDM 심볼 수가 짝수인지 홀수인지에 무관하게 주파수 디인터리버가 싱글 메모리 디인터리빙을 수행할 수 있는 방법을 제안한다. 이를 위하여, OFDM 심볼 수가 짝수개인지 홀수개인지에 따라 전술한 주파수 인터리버의 구조가 다르게 운영될 수 있다. 또한, 이와 관련된 시그널링 정보가 전술한 프리앰블 및/또는 PLS(Physical Layer Signaling) 에 추가로 정의될 수 있다. 이를 통하여 OFDM 심볼의 개수가 짝수인 경우에 한정되지 않고, 언제든지 싱글 메모리 디인터리빙이 가능해질 수 있다.
여기서, PLS 는 매 프레임의 FSS(Frame Starting Symbol, FSS) 에 포함되어 전송될 수 있다. 또는 실시예에 따라, PLS 는 첫번째 OFDM 심볼에 포함되어 전송될 수 있다. 또는 PLS 존재여부에 따라, PLS 에 해당하는 시그널링은 프리앰블에 모두 포함되어 전송될 수 있다. 또는 프리앰블 및/또는 PLS 에 해당하는 시그널링 정보들은 부트 스트랩 정보에 포함되어 전송될 수도 있다. 부트 스트랩 정보는 프리앰블의 앞에 위치하는 정보 파트일 수 있다.
송신부의 주파수 인터리버에서 활용된 처리동작 등에 관한 정보로서, FI_mode 필드와 N_sym 필드가 있을 수 있다.
FI_mode 필드는 프리앰블에 위치할 수 있는 1 비트 필드일 수 있다. FI_mode 필드는 매 프레임의 FSS(Frame Starting Symbol) 또는 첫번째 OFDM 심볼에 사용된 인터리빙 스킴을 나타낼 수 있다.
FI_mode 필드가 지시하는 인터리빙 스킴에는 FI 스킴 #1 와 FI 스킴 #2 가 있을 수 있다.
FI 스킴 #1 은 송신측에서 주파수 인터리버가 FSS 에 대하여, 랜덤 쓰기(random writing) 동작 수행 후 선형 읽기(linear reading) 동작을 수행한 경우를 의미할 수 있다. 이 경우는 FI_mode 필드 값이 0 인 경우에 해당될 수 있다. PRBS 등을 이용한 임의의 랜덤 시퀀스 제너레이터에 의해 발생되는 값을 이용해, 메모리에 랜덤쓰기, 선형 읽기 동작을 수행할 수 있다. 여기서 선형 읽기란 순차적으로 읽어들이는 동작을 의미할 수 있다.
FI 스킴 #2 는 송신측에서 주파수 인터리버가 FSS 에 대하여, 선형 쓰기(linear writing) 동작 수행 후 랜덤 읽기(random reading) 동작을 수행한 경우를 의미할 수 있다. 이 경우는 FI_mode 필드 값이 1 인 경우에 해당될 수 있다. 마찬가지로, PRBS 등을 이용한 임의의 랜덤 시퀀스 제너레이터에 의해 발생되는 값을 이용해, 메모리에 선형쓰기, 랜덤읽기 동작을 수행할 수 있다. 여기서 선형 쓰기란 순차적으로 쓰는 동작을 수행하는 것을 의미할 수 있다.
또한, FI_mode 필드는 매 프레임의 FES(Frame Edge Symbol) 또는 마지막 OFDM 심볼에 사용된 인터리빙 스킴을 나타낼 수 있다. FES 에 적용되는 인터리빙 스킴은 PLS 에 의해 전송되는 N_sym 필드의 값에 따라 다르게 지시될 수 있다. 즉, OFDM 심볼 수가 홀수인지 짝수인지에 따라 FI_mode 필드가 지시하는 인터리빙 스킴이 달라질 수 있다. 두 필드들간의 관계는 미리 송수신측에 테이블로서 정의되어 있을 수 있다.
FI_mode 필드는 실시예에 따라 프리앰블 외에 프레임의 다른 부분에 정의되어 전송될 수 있다.
N_sym 필드는 PLS 파트에 위치할 수 있는 필드일 수 있다. N_sym 필드의 비트수는 실시예에 따라 가변적일 수 있다. N_sym 필드는 한 프레임에 포함된 OFDM 심볼의 개수를 지시할 수 있다. 이에 따라, 수신측에서는 OFDM 심볼의 개수가 짝수개인지 홀수개인지 파악할 수 있다.
전술한 한 프레임 내의 OFDM 심볼 수에 무관한 주파수 인터리버에 대응되는 주파수 디인터리버의 동작은 다음과 같다. 이 주파수 디인터리버는 제안된 시그널링 필드들을 활용하여 OFDM 심볼 수가 짝수인지 홀수인지 여부에 무관하게 싱글 메모리 디인터리빙을 수행할 수 있다.
주파수 디인터리버는 먼저, 프리앰블의 FI_mode 필드의 정보를 이용하여 FSS 에 대하여 주파수 디인터리빙을 수행할 수 있다. FSS 에 활용된 주파수 인터리빙 스킴이 FI_mode 에 의해 지시되기 때문이다.
주파수 디인터리버는 FI_mode 필드의 시그널링 정보와 PLS 의 N_sym 필드의 시그널링 정보를 이용하여, FES 에 대하여 주파수 디인터리빙을 수행할 수 있다. 이 때, 미리 정의된 테이블을 이용하여 두 필드간의 관계가 파악될 수 있다. 기 정의된 테이블에 대하여는 후술한다.
이 외의 심볼들의 전반적인 디인터리빙 과정은, 송신측의 인터리빙 과정의 역순으로 수행될 수 있다. 즉, 입력되는 연속된 한쌍의 OFDM 심볼에 대해서, 주파수 디인터리버는 하나의 인터리빙 시퀀스를 활용하여 디인터리빙을 수행할 수 있다. 여기서, 하나의 인터리빙 시퀀스는 해당 주파수 인터리버가 읽기&쓰기에 사용했던 인터리빙 시퀀스일 수 있다. 주파수 디인터리버는 그 인터리빙 시퀀스를 이용하여 역순으로 읽기&쓰기 과정을 수행할 수 있다.
허나, 본 발명에 따른 주파수 디인터리버는 더블 메모리를 사용하는 핑퐁(ping pong) 구조를 사용하지 않을 수 있다. 주파수 디인터리버는 연속된 입력 OFDM 심볼들에 대하여, 싱글 메모리를 활용해 디인터리빙을 수행할 수 있다. 이로써 주파수 디인터리버의 메모리 사용 효율성이 증대될 수 있다.
도 26 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디 인터리빙을 위한 시그널링에 있어서, FSS 를 위한 FI 스킴들을 도시한 도면이다.
전술한 FI_mode 필드와 N_sym 필드를 이용하여 주파수 인터리빙 과정에서 적용되는 인터리빙 스킴을 결정할 수 있다.
FSS 의 경우에 있어서, N_sym 필드가 지시하는 OFDM 심볼의 수가 짝수인 경우, FI_mode 필드 값에 무관하게 FI 스킴 #1 이 FSS 에 수행될 수 있다.
N_sym 필드가 지시하는 OFDM 심볼의 수가 홀수인 경우, FI_mode 필드가 0 의 값을 가지면, FI 스킴 #1 이 FSS 에 적용되고, 1 의 값을 가지면, FI 스킴 #2 가 FSS 에 적용될 수 있다. 즉, OFDM 심볼의 수가 홀수인 경우, 주파수 인터리빙에 있어 FI 스킴 #1 과 #2 가 번갈아가면서 FSS 에 적용될 수 있다.
도 27 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디 인터리빙을 위한 시그널링에 있어서, FES 를 위한 리셋 모드의 동작을 도시한 도면이다.
FES 에 대한 주파수 인터리빙에 있어서, 전술한 심볼 오프셋 생성기는 리셋 모드(Reset mode) 라는 새로운 개념을 도입할 수 있다. 리셋 모드는, 심볼 오프셋 생성기에 의해 발생되는 심볼 오프셋 값이 '0' 인 모드를 의미할 수 있다.
FES 에 대한 주파수 인터리빙에 있어서, 전술한 FI_mode 필드와 N_sym 필드를 이용하여 리셋 모드의 사용여부를 결정할 수 있다.
N_sym 필드가 지시하는 OFDM 심볼의 수가 짝수인 경우, FI_mode 필드의 값에 무관하게 심볼 오프셋 생성기의 리셋 모드는 동작하지 않을 수 있다(off).
N_sym 필드가 지시하는 OFDM 심볼의 수가 홀수인 경우, FI_mode 필드의 값이 0 일 경우 심볼 오프셋 생성기가 리셋 모드에 따라 동작할 수 있다(on). 또한, FI_mode 필드의 값이 1 일 경우 심볼 오프셋 생성기의 리셋 모드는 동작하지 않을 수 있다(off). 즉, OFDM 심볼의 수가 홀수인 경우, 주파수 인터리빙에 있어 리셋모드가 번갈아가며 온/오프 될 수 있다.
도 28 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 주파수 인터리버의 입력과 출력을 수학식으로 표시한 도면이다.
전술한 바와 같이, 각각의 메모리 뱅크-A 및 메모리 뱅크-B 의 OFDM 심볼 페어들은 전술한 인터리빙 과정에 의해 처리될 수 있다. 전술한 바와 같이, 인터리빙에는 하나의 메인 인터리빙 시드가 순환 천이(cyclic-shifting)되어 생성된 다양한 다른 인터리빙 시드가 활용될 수 있다. 여기서, 인터리빙 시드는 인터리빙 시퀀스라고 칭해질 수도 있다. 또한, 인터리빙 시드는 인터리빙 주소값(interleaving address value) 내지는 주소값(address value), 인터리빙 주소(interleaving address) 라고 칭해질 수 있다. 여기서, 인터리빙 주소값이라는 용어는 복수개의 주소값들의 집합의 의미로 복수의 대상을 지시하는데 사용될 수도 있고, 인터리빙 시드의 의미로 단수의 대상을 지시하는데 사용될 수도 있다. 즉 실시예에 따라, 인터리빙 주소값이라 함은 H(p) 의 각각의 주소값을 의미하거나, H(p) 자체를 의미할 수도 있다.
하나의 OFDM 심볼 내에서 인터리빙될 주파수 인터리빙의 입력은 Om,l 으로 표기될 수 있다(t50010). 여기서, 각각의 데이터 셀들은 xm,l,0, .... xm,l,Ndata-1 로 표기될 수 있다. p 는 셀 인덱스, l 은 OFDM 심볼 인덱스, m 은 프레임의 인덱스를 의미할 수 있다. 즉, xm,l,p 는 m 번째 프레임, l 번째 OFDM 심볼의 p 번째 데이터 셀을 의미할 수 있다. Ndata 는 데이터 셀들의 개수를 의미할 수 있다. Nsym 은 심볼(프레임 시그널링 심볼, 노말 데이터 심볼, 프레임 엣지 심볼)들의 개수를 의미할 수 있다.
전술한 동작에 의해 인터리빙을 거친 후의 데이터 셀들은 Pm,l 로 표기될 수 있다(t50020). 각각의 인터리빙된 데이터 셀들은 vm,l,0, .... vm,l,Ndata-1 로 표기될 수 있다. p, l, m 은 전술한것과 같은 인덱스 값을 가질 수 있다.
도 29 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, FI 스킴 #1 및 FI 스킴 #2 에 따른 주파수 인터리빙의 논리적 동작 매커니즘의 수학식을 나타낸다.
먼저, FI 스킴 #1 에 따른 주파수 인터리빙을 설명한다. 전술한 바와 같이, 각 메모리 뱅크의 인터리빙 시퀀스(인터리빙 주소)를 이용하여 주파수 인터리빙이 수행될 수 있다.
짝수번째 심볼(j mod 2 = 0)에 대한 인터리빙 동작은 도시된 수학식(t51010)과 같이 수학적으로 기술될 수 있다. 입력 데이터 x 에 대하여, 인터리빙 시퀀스(인터리빙 주소)를 이용하여 주파수 인터리빙이 수행되어 출력 v 를 얻을 수 있다. 여기서, p 번째 입력 데이터 x 는, H(p) 번째 출력 데이터 v 와 같아지도록 순서가 섞일 수 있다.
즉, 짝수번째 심볼(첫번째 심볼)에 대해서는, 인터리빙 시퀀스를 이용하여 랜덤 쓰기 과정이 먼저 수행된 후, 다시 이를 순차적으로 읽는 선형 읽기 과정이 수행될 수 있다. 여기서, 인터리빙 시퀀스(인터리빙 주소)는 PRBS 등을 이용한 임의의 랜덤 시퀀스 제너레이터에 의해 발생되는 값일 수 있다.
홀수번째 심볼(j mod 2 = 1)에 대한 인터리빙 동작은 도시된 수학식(t51020)과 같이 수학적으로 기술될 수 있다. 입력 데이터 x 에 대하여, 인터리빙 시퀀스(인터리빙 주소)를 이용하여 주파수 인터리빙이 수행되어 출력 v 를 얻을 수 있다. 여기서, H(p) 번째 입력 데이터 x 는, p 번째 출력 데이터 v 와 같아지도록 순서가 섞일 수 있다. 즉, 짝수번째 심볼에 대한 인터리빙 처리와 비교했을 때, 인터리빙 시퀀스(인터리빙 주소)가 반대로(역으로, inverse) 적용될 수 있다.
즉, 홀수번째 심볼(두번째 심볼)에 대해서는, 순서대로 메모리에 데이터를 쓰는 선형쓰기 동작이 먼저 수행된 후, 다시 이를 인터리빙 시퀀스를 이용하여 랜덤하게 읽는 랜덤 읽기 과정이 수행될 수 있다. 마찬가지로, 인터리빙 시퀀스(인터리빙 주소)는 PRBS 등을 이용한 임의의 랜덤 시퀀스 제너레이터에 의해 발생되는 값일 수 있다.
먼저, FI 스킴 #2 에 따른 주파수 인터리빙을 설명한다.
FI 스킴 #2 에 따른 주파수 인터리빙의 경우, 짝/홀수번째 심볼에 대한 동작이 FI 스킴 #1 과 반대로 수행될 수 있다.
즉, 짝수번째 심볼에 대해서는 도시된 수학식(t51020)에 따라, 선형쓰기 동작 후, 랜덤 읽기 동작이 수행될 수 있다. 또한, 홀수번째 심볼에 대해서는 도시된 수학식(t51010)에 따라, 랜덤쓰기 동작 후, 선형 읽기 동작이 수행될 수 있다. 자세한 사항은, FI 스킴 #1 에서 설명한 것과 같다.
심볼 인덱스 l 은 0, 1, ... , Nsym - 1, 셀 인덱스 p 는 0, 1, ... , Ndata - 1 로 표현될 수 있다. 실시예에 따라 짝수번째 심볼과 홀수번째 심볼에 대한 주파수 인터리빙 방식이 서로 뒤바뀔 수 있다. 또한, 실시예에 따라, FI 스킴 #1 과 FI 스킴 #2 에 따른 주파수 인터리빙 방식이 서로 뒤바뀔 수 있다.
도 30 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 짝수인 경우의 실시예를 도시한 도면이다.
본 실시예에서, N_sym 필드는 한 프레임 내에 OFDM 개수가 짝수개임을 지시할 수 있다. 본 실시예에서, 하나의 프레임은 하나의 프리앰블과 8 개의 OFDM 심볼을 가지고 있음을 가정한다. 실시예에 따라 프리앰블 앞에 부트 스트랩 정보가 더 포함될 수 있다. 부트 스트랩 정보는 도시되지 않았다.
본 실시예에서, 한 프레임은 각각 하나의 FSS 와 FES 를 포함할 수 있다. 여기서, FSS 와 FES 의 길이는 같다고 가정한다. 또한, N_sym 필드의 정보는 PLS 파트에 포함되어 전송되므로, 주파수 디인터리버가 FSS 디코딩 후에 이를 확인할 수 있다. 또한, 본 실시예에서, FES 에 대한 동작이 수행되기 이전에 N_sym 필드에 대한 디코딩이 완료된다고 가정한다.
각각의 프레임의 FSS 에서, 심볼 오프셋 생성기의 값은 0 으로 리셋될 수 있다. 따라서, 각 첫번째, 두번째 심볼들은 같은 인터리빙 시퀀스에 의해 처리될 수 있다. 또한, 각 프레임의 시작마다 다시 #0 시퀀스가 동작에 사용될 수 있다. 그 이후 차례대로 #1, #2 시퀀스가 주파수 인터리버/디인터리버의 동작에 사용될 수 있다.
도 31 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 짝수인 경우의 실시예를 도시한 도면이다.
첫번째 프레임에서, 프리앰블의 FI_mode 필드로부터, FSS 가 어떠한 방식으로 인터리빙되었는지에 대한 정보를 얻을 수 있다. 본 실시예는 OFDM 심볼이 짝수개인 경우이므로 FI 스킴 #1 만 사용될 수 있다.
이 후, FSS 가 디코딩되어, N_sym 정보가 획득될 수 있다. N_sym 정보로부터 본 프레임의 심볼 개수가 짝수개임을 알 수 있다. 이 후, 주파수 디인터리버가 FES 를 디코딩하게 될 때, 획득된 FI_mode 정보와 N_sym 정보를 이용하여 디코딩이 수행될 수 있다. 심볼의 개수가 짝수개인 경우이므로, 심볼 오프셋 생성기는 전술한 리셋모드에 따라 동작하지 않는다. 즉, 리셋 모드는 오프(off)된 상태일 수 있다.
이 후 다른 프레임에 대해서도, 짝수개의 OFDM 심볼들이 포함되어 있으므로 주파수 디인터리버가 같은 방식으로 동작할 수 있다. 즉, FSS 에서 사용될 FI 스킴은 FI 스킴 #1 이며, FES 에서 사용될 리셋 모드는 오프(off) 된 상태일 수 있다.
도 32 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 홀수인 경우의 실시예를 도시한 도면이다.
본 실시예에서, N_sym 필드는 한 프레임 내에 OFDM 개수가 홀수개임을 지시할 수 있다. 본 실시예에서, 하나의 프레임은 하나의 프리앰블과 7 개의 OFDM 심볼을 가지고 있음을 가정한다. 실시예에 따라 프리앰블 앞에 부트 스트랩 정보가 더 포함될 수 있다. 부트 스트랩 정보는 도시되지 않았다.
본 실시예에서, 심볼의 개수가 짝수인 경우와 마찬가지로, 한 프레임은 각각 하나의 FSS 와 FES 를 포함할 수 있다. 여기서, FSS 와 FES 의 길이는 같다고 가정한다. 또한, N_sym 필드의 정보는 PLS 파트에 포함되어 전송되므로, 주파수 디인터리버가 FSS 디코딩 후에 이를 확인할 수 있다. 또한, 본 실시예에서, FES 에 대한 동작이 수행되기 이전에 N_sym 필드에 대한 디코딩이 완료된다고 가정한다.
각각의 프레임의 FSS 에서, 심볼 오프셋 생성기의 값은 0 으로 리셋될 수 있다. 또한 임의의 프레임의 FES 에서, FI_mode 필드와 N_sym 필드의 값에 따라 심볼 오프셋 생성기가 리셋모드에 따라 동작할 수 있다. 따라서, 임의의 프레임의 FES에서, 심볼 오프셋 생성기의 값이 0 으로 리셋되거나, 리셋되지 않을 수 있다. 이러한 리셋 과정은 매 프레임마다 교대로 수행될 수 있다.
도시된 첫번째 프레임의 마지막 심볼, FES 에서 심볼 오프셋 생성기의 리셋이 발생될 수 있다. 따라서, 인터리빙 시퀀스는 #0 시퀀스로 리셋될 수 있다. 따라서, 주파수 인터리버/디인터리버는 해당 FES 를 #0 시퀀스에 따라 처리할 수 있다(t54010).
다음 프레임의 FSS 에서는 심볼 오프셋 생성기가 다시 리셋되어 #0 시퀀스가 사용될 수 있다(t54010). 두번째 프레임(프레임 #1) 의 FES 에서는 리셋이 발생되지 않고, 다시 세번째 프레임(프레임 #2) 의 FES 에서는 리셋이 발생될 수 있다.
도 33 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 홀수인 경우의 실시예를 도시한 도면이다.
첫번째 프레임에서, 프리앰블의 FI_mode 필드로부터, FSS 가 어떠한 방식으로 인터리빙되었는지에 대한 정보를 얻을 수 있다. OFDM 심볼이 홀수개인 경우이므로 FI 스킴 #1 과 FI 스킴 #2 가 사용될 수 있다. 본 실시예의 첫번째 프레임에서는 FI 스킴 #1 이 사용되었다.
이 후, FSS 가 디코딩되어, N_sym 정보가 획득될 수 있다. N_sym 정보로부터 본 프레임의 심볼 개수가 홀수개임을 알 수 있다. 이 후, 주파수 디인터리버가 FES 를 디코딩하게 될 때, 획득된 FI_mode 정보와 N_sym 정보를 이용하여 디코딩이 수행될 수 있다. 심볼의 개수가 홀수개이고, FI 스킴#1 가 사용된 경우이므로, FI_mode 필드 값은 0임을 알 수 있다. FI_mode 가 0 이므로 심볼 오프셋 생성기는 전술한 리셋모드에 따라 동작할 수 있다. 즉, 리셋 모드는 온(on) 상태일 수 있다.
리셋모드에 따라 동작되어, 심볼 오프셋 생성기는 0 으로 리셋될 수 있다. 두번째 프레임에서 FI_mode 필드 값이 1 이므로, FI 스킴 #2 에 의해 FSS 가 처리되었음을 알 수 있다. 역시, N_sym 필드를 통해, 심볼의 개수가 홀수개임을 알 수 있다. 두번째 프레임의 경우에는 FI_mode 필드 값이 1 이고, 심볼 개수가 홀수개이므로 심볼 오프셋 생성기는 리셋모드에 따라 동작하지 않을 수 있다.
이러한 방식으로, FSS 에서 사용될 FI 스킴은 FI 스킴 #1 과 #2 가 번갈아가며 세팅될 수 있다. 또한, FES 에서 사용될 리셋 모드는 온(on) 과 오프(off) 가 번갈아가며 세팅될 수 있다. 실시예에 따라 매 프레임마다 세팅이 바뀌지 않을 수도 있다.
도 34 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 주파수 디인터리버의 동작을 도시한 도면이다.
주파수 디인터리버는 앞서 정의된 FI_mode 필드 및/또는 N_sym 필드의 정보를 이용하여 주파수 디인터리빙을 수행할 수 있다. 전술한 바와 같이 주파수 디인터리버는 싱글 메모리를 이용하여 동작할 수 있다. 기본적으로 주파수 디인터리빙은 송신단에서 수행한 주파수 인터리빙 과정의 역과정을 수행하여 원래의 데이터가 순서가 복원되도록 하는 과정일 수 있다.
전술한 것과 같이, FSS 에 대한 주파수 디인터리빙은 프리앰블의 FI_mode 필드 및 N_sym 필드를 이용하여 얻은 FI 스킴에 관한 정보를 기반으로 동작될 수 있다. FES 에 대한 주파수 디인터리빙은 FI_mode 필드와 N_sym 필드를 통해 리셋 모드의 동작 여부를 파악한뒤 그에 기반하여 동작될 수 있다.
즉, 입력되는 한쌍의 OFDM 심볼에 대하여, 주파수 디인터리버는 주파수 인터리버의 읽기/쓰기 동작의 역과정을 수행할 수 있다. 이 과정에서 하나의 인터리빙 시퀀스가 사용될 수 있다.
단, 전술한 바와 같이 주파수 인터리버는 더블 메모리를 사용하는 핑퐁 구조를 따르지만, 주파수 디인터리버는 싱글 메모리로 디인터리빙을 수행할 수 있다. 이 싱글 메모리 주파수 디인터리빙은 FI_mode 필드 및 N_sym 필드의 정보들을 이용하여 수행될 수 있다. 이 정보들을 통해, OFDM 심볼 개수에 영향을 받지 않고, 홀수개의 OFDM 심볼을 가진 프레임에 대해서도 싱글 메모리 주파수 디인터리빙이 가능할 수 있다.
본 발명에 따른 주파수 인터리버는 OFDM 심볼의 모든 데이터 셀들을 대상으로 주파수 인터리빙을 수행할 수 있다. 주파수 인터리버는 데이터 셀들을, 각 심볼의 가능한(available) 데이터 캐리어에 매핑시키는 동작을 수행할 수 있다.
본 발명에 따른 주파수 인터리버는 FFT 사이즈에 따라 다른 인터리빙 모드로 동작할 수 있다. 예를 들어, FFT 사이즈가 32K 인 경우, 주파수 인터리버는 전술한 FI 스킴 #1 과 같이 짝수번째 심볼에 대해서는 랜덤쓰기/선형읽기 동작을 수행하고, 홀수번째 심볼에 대해서는 선형쓰기/랜덤읽기 동작을 수행할 수 있다. 또한, FFT 사이즈가 16K 또는 8K 인 경우, 주파수 인터리버는 짝수/홀수에 무관하게 모든 심볼들에 대하여 선형읽기/랜덤쓰기 동작을 수행할 수 있다.
인터리빙 모드 전환을 결정하는 FFT 사이즈는 실시예에 따라 변경될 수 있다. 즉, 32K 및 16K 일 경우 FI 스킴 #1 과 같이 동작하고, 8K 일 경우 짝수/홀수에 무관한 동작을 수행할 수도 있다. 또한, 모든 FFT 사이즈에 대해 FI 스킴 #1 과 같이 동작할 수도 있고, 모든 FFT 사이즈에 대해 짝수/홀수에 무관한 동작을 수행할 수도 있다. 또한 실시예에 따라, 특정 FFT 사이즈에 대해서는 FI 스킴 #2 와 같이 동작할 수도 있다.
이러한 주파수 인터리빙은 전술한 인터리빙 시퀀스(인터리빙 주소)를 이용하여 수행될 수 있다. 인터리빙 시퀀스는 전술한대로 오프셋 값을 이용하여 다양하게 생성될 수 있다. 또한, 주소값 체크(address check) 가 수행되어 다양한 인터리빙 시퀀스가 생성될 수 있다.
도 35는 본 발명의 다른 실시예에 따른 variable data-rate 시스템을 나타낸 개념도이다.
구체적으로, 이 도면에 도시된 하나의 전송 슈퍼 프레임은 NTI_NUM개의 TI 그룹들로 구성되며, 각 TI 그룹은 N BLOCK_TI 개의 FEC 블록들을 포함할 수 있다. 이 경우, 각 TI 그룹에 포함된 FEC 블록의 개수는 서로 다를 수 있다. 본 발명의 일 실시예에 따른 TI 그룹은 타임 인터리빙을 수행하기 위한 블록으로 정의될 수 있으며, 상술한 TI 블록 또는 IF와 동일한 의미로 사용될 수 있다.
본 발명에서는 TI 그룹 내에 포함된 FEC 블록들의 개수가 서로 다른 경우, 하나의 트위스티드 로-컬럼 블록 인터리빙 룰(twisted row-column block interleaving rule)을 이용하여 TI 그룹들에 대한 인터리빙을 수행하는 것을 일 실시예로 할 수 있다. 이를 통해 수신기는 단일 메모리를 사용하여 디인터리빙을 수행할 수 있다. 이하에서는 매 TI 그룹마다 FEC 블록 개수가 변할 수 있는 베리어블 비트-레이트 (variable bit-rate, VBR) 전송을 고려한 입력 FEC block의 메모리 배열 방법 및 타임 인터리버의 리딩 (reading) 동작을 설명한다.
도 36은 본 발명의 블록 인터리빙의 라이팅(writing) 및 리딩 (reading) 오퍼레이션의 일 실시예를 나타낸다. 이에 대한 구체적인 내용은 전술하였다.
도 37은 본 발명의 일 실시예에 따른 블록 인터리빙을 나타낸 수학식이다.
도면에 도시된 수학식은 각 TI 그룹 단위로 적용되는 블록 인터리빙을 나타낸다. 수학식에 도시된 바와 같이, 시프트 밸류는 TI 그룹에 포함된 FEC 블록들의 개수가 홀수인 경우 및 짝수인 경우 각각 계산될 수 있다. 즉, 본 발명의 일 실시예에 따른 블록 인터리빙은 FEC 블록들의 개수를 홀수로 만든 후 시프트 밸류를 계산할 수 있다.
본 발명의 일 실싱예에 따른 타임 인터리버는 수퍼 프레임 내에서 가장 큰 FEC 블록 개수를 갖는 TI group을 기준으로 인터리빙과 관련된 파라미터들을 결정할 수 있다. 이를 통해 수신기는 단일 메모리 사용하여 디인터리빙을 수행할 수 있다. 이때, 결정된 FEC 블록을 가장 많이 포함하고 있는 TI 그룹의 FEC 블록 개수보다 적은 FEC 블록을 갖는 TI 그룹에 대해서는 부족한 FEC 블록의 개수에 해당하는 버츄얼 (virtual) FEC 블록들을 추가할 수 있다.
본 발명의 일 실시예에 따른 버츄얼 (virtual) FEC 블록들은 실제 FEC 블록들 앞에 삽입될 수 있다. 이후, 본 발명의 일 실시예에 따른 타임 인터리버는 버츄얼 (virtual) FEC 블록들을 고려하여 하나의 트위스티드 로-컬럼 블록 인터리빙 룰(twisted row-column block interleaving rule)을 이용하여 TI 그룹들에 대한 인터리빙을 수행할 수 있다. 또한 본 발명의 일 실시예에 따른 타임 인터리버는 리딩(reading) 동작에서 버츄얼 (virtual) FEC 블록들에 해당되는 메모리-인덱스 (memory-index)가 발생하는 경우 상술한 스킵 오퍼레이션을 수행할 수 있다. 이후 라이팅 (writing) 동작 시, 입력된 TI 그룹의 FEC 블록들의 개수와 리딩 (reading)시 출력 TI 그룹의 FEC 블록들의 개수를 일치 시킨다. 결과적으로, 본 발명의 일 실시예에 따른 타임 인터리빙에 따르면, 수신기에서 효율적인 싱글-메모리 디인터리빙(single-memory deinterleaving)을 수행하기 위하여 버츄얼 (virtual) FEC 블록을 삽입하더라도 스킵 오퍼레이션을 통해 실제 전송되는 데이터-레이트의 손실은 발생하지 않을 수 있다.
도 38는 본 발명의 일 실시예에 따른 버츄얼 (virtual) FEC 블록들을 나타낸 도면이다.
도면의 좌측은 맥시멈 FEC 블록들의 개수와 TI 그룹에 포함된 실제 FEC 블록들의 개수 및 맥시멈 FEC 블록들의 개수와 실제 FEC 블록들의 개수간의 차이를 나타낸 파라미터 및 버츄얼 (virtual) FEC 블록들의 개수를 도출하기 위한 수학식을 나타낸다.
도면의 우측은 TI 그룹 내에 버츄얼 (virtual) FEC 블록들이 삽입된 실시예를 나타낸다. 이 경우 상술한 바와 같이 버츄얼 (virtual) FEC 블록들은 실제 FEC 블록의 앞에 삽입될 수 있디.
도 39은 본 발명의 일 실시예에 따른 버츄얼 (virtual) FEC 블록들이 삽입된 이후 리딩 (reading) 동작을 나타낸 수학식이다.
도면에 표시된 스킵 오퍼레이션은 리딩(reading) 동작에서 버츄얼 (virtual) FEC 블록들을 스킵하는 역할을 수행할 수 있다.
도 40는 본 발명의 일 실시예에 따른 타임 인터리빙의 프로세스를 나타낸 순서도이다.
본 발명의 일 실시예에 따른 타임 인터리버는 이니셜 밸류(initial value)를 셋업할 수 있다(S67000).
이후 본 발명의 일 실시예에 따른 타임 인터리버는 버츄얼 (virtual) FEC 블록들을 고려하여 실제 FEC 블록들을 라이팅 (writing)할 수 있다(S67100).
이후, 본 발명의 일 실시예에 따른 타임 인터리버는 템포럴 TI 어드레스(temporal TI address)를 생성할 수 있다(S67200).
이후, 본 발명의 일 실시예에 따른 타임 인터리버는 생성된 TI 리딩 어드레스 (reading address)의 가용성 (availiability)를 평가할 수 있다(S67300). 이후, 본 발명의 일 실시예에 따른 타임 인터리버는 최종 TI 리딩 어드레스 (reading address)를 생성할 수 있다(S67400).
이후, 본 발명의 일 실시예에 따른 타임 인터리버는 실제 FEC 블록들을 리딩(reading)할 수 있다(S67500).
도 41은 본 발명의 일 실시예에 따른 시프트 밸류 및 맥시멈 TI 블록의 크기를 결정하는 과정을 나타낸 수학식이다.
본 도면은 TI 그룹이 2개이고, TI 그룹내의 셀의 개수는 30이고, 첫번째 TI 그룹에 포함된 FEC 블록의 개수가 5이고 두번째 TI 블록에 포함된 FEC 블록의 개수가 6인 경우의 실시예를 나타낸다. 맥시멈 FEC 블록의 개수는 6이 되나, 짝수이므로, 시프트 밸류를 구하기 위한 조정된 맥시멈 FEC 블록의 개수는 7이 될 수 있으며, 시프트 밸류는 4로 계산될 수 있다.
도 42 내지 도 44은 이전도면에서 전술한 실시예의 TI 과정을 나타낸 도면이다.
도 42은 본 발명의 일 실시예에 따른 라이팅 (writing) 오퍼레이션을 나타낸다.
이 도면은 이전도면에서 설명한 두 개의 TI 그룹에 대한 라이팅 (writing) 오퍼레이션을 나타낸다.
도면의 왼쪽에 도시된 블록은 TI 메모리 어드레스 어레이(memory address array)를 나타내며, 도면의 오른쪽에 도시된 블록은 연속한 두 개의 TI 그룹들에 대해 각각 버츄얼(virtual) FEC 블록들이 각각 2개 및 1개가 삽입된 경우의 라이팅 (writing) 오퍼레이션을 나타낸다. 상술한 바와 같이 조정된 맥시멈 FEC 블록의 개수는 7이므로, 첫번째 TI 그룹에는 두 개의 버츄얼(virtual) FEC 블록들이 삽입되며, 두번째 TI 그룹에는 한 개의 버츄얼(virtual) FEC 블록이 삽입된다.
도 43은 본 발명의 일 실시예에 따른 리딩 (reading) 오퍼레이션을 나타낸다.
도면의 왼쪽에 도시된 블록은 TI 메모리 어드레스 어레이(memory address array)를 나타내며, 도면의 오른쪽에 도시된 블록은 연속한 두 개의 TI 그룹들에 대해 각각 버츄얼(virtual) FEC 블록들이 각각 2개 및 1개가 삽입된 경우의 리딩 (reading) 오퍼레이션을 나타낸다. 이 경우, 버츄얼(virtual) FEC 블록들에도 실제 FEC 블록과 동일하게 리딩 (reading) 오퍼레이션이 수행될 수 있다.
도 44은 본 발명의 일 실시예에 따른 리딩 (reading) 오퍼레이션에서 스킵 오퍼레이션이 수행된 결과를 나타낸다.
도면에 도시된 바와 같이 두 개의 TI 그룹내에는 버츄얼(virtual) FEC 블록들이 스킵될 수 있다.
도 45 내지 46는 전술한 TI의 역과정인 타임 디인터리빙을 나타낸다.
구체적으로 도 45는 첫번째 TI 그룹에 대한 타임 디인터리빙을 나타내며 도 46은 두번째 TI 그룹에 대한 타임 디인터리빙을 나타낸다.
도 45는 본 발명의 일 실시예에 따른 타임 디인터리빙의 라이팅 (writing) 과정을 나타낸다.
도면의 왼쪽에 도시된 블록은 TI 메모리 어드레스 어레이(memory address array)를 나타내며, 도면의 가운데 도시된 블록은 타임 디인터리버에 입력된 첫번째 TI 그룹을 나타내며, 도면의 오른쪽에 도시된 블록은 연속한 첫번째 TI 그룹에 대해 스킵된 버츄얼(virtual) FEC 블록들을 고려하여 수행된 라이팅 (writing) 과정을 나타낸다.
도면에 도시된 바와 같이, TI 과정에서 스킵된 2 개의 버츄얼 (virtual) FEC 블록들은 정확한 리딩 (reading) 오퍼레이션을 위해 라이팅 (writing) 과정에서 복원될 수 있다. 이 경우, 스킵된 2 개의 버츄얼 (virtual) FEC 블록들의 위치 및 양은 임의의 알고리즘을 통해 추정될 수 있다.
도 46는 본 발명의 다른 실시예에 따른 타임 디인터리빙의 라이팅 (writing) 과정을 나타낸다.
도면의 왼쪽에 도시된 블록은 TI 메모리 어드레스 어레이(memory address array)를 나타내며, 도면의 가운데 도시된 블록은 타임 디인터리버에 입력된 두번째 TI 그룹을 나타내며, 도면의 오른쪽에 도시된 블록은 연속한 두번째 TI 그룹에 대해 스킵된 버츄얼(virtual) FEC 블록들을 고려하여 수행된 라이팅 (writing) 과정을 나타낸다.
도면에 도시된 바와 같이, TI 과정에서 스킵된 1 개의 버츄얼 (virtual) FEC 블록들은 정확한 리딩 (reading) 오퍼레이션을 위해 라이팅 (writing) 과정에서 복원될 수 있다. 이 경우, 스킵된 1 개의 버츄얼 (virtual) FEC 블록들의 위치 및 양은 임의의 알고리즘을 통해 추정될 수 있다.
도 47은 본 발명의 다른 실시예에 따른 타임 디인터리빙의 리딩 (reading) 오퍼레이션을 나타내는 수학식이다.
수신기에서 사용되는 TDI 시프트 밸류는 송신기에서 사용된 시프트 밸류에 의해 결정될 수 있으며, 스킵 오퍼레이션 (skip operation)은 송신부와 유사하게 리딩 (reading) 오퍼레이션에서 버츄얼 (virtual) FEC 블록들을 스킵하는 역할을 수행할 수 있다.
도 48은 본 발명의 일 실시예에 따른 타임 디인터리빙의 프로세스를 나타낸 순서도이다.
본 발명의 일 실시예에 따른 타임 디인터리버는 이니셜 밸류(initial value)를 셋업할 수 있다(S75000).
이후 본 발명의 일 실시예에 따른 타임 인터리버는 버츄얼 (virtual) FEC 블록들을 고려하여 실제 FEC 블록들을 라이팅 (writing)할 수 있다(S75100).
이후, 본 발명의 일 실시예에 따른 타임 인터리버는 템포럴 TDI 어드레스(temporal TDI address)를 생성할 수 있다(S75200).
이후, 본 발명의 일 실시예에 따른 타임 인터리버는 생성된 TDI 리딩 어드레스 (reading address)의 가용성 (availiability)를 평가할 수 있다(S75300). 이후, 본 발명의 일 실시예에 따른 타임 인터리버는 최종 TDI 리딩 어드레스 (reading address)를 생성할 수 있다(S75400).
이후, 본 발명의 일 실시예에 따른 타임 인터리버는 실제 FEC 블록들을 리딩(reading)할 수 있다(S75500).
도 49는 PLP 개수에 따라 적용하는 인터리빙 타입을 표로 도시한 도면이다. 본 발명의 일실시예에 따른 타임 인터리버는 PLP_NUM의 값을 기반으로 인터리빙 타입(Interleaving type)이 결정될 수 있다. PLP_NUM는 PLP 모드를 나타내는 시그널링 필드(signaling field) 이다. PLP_NUM의 값이 1인 경우, PLP 모드는 싱글 PLP이다. 본 발명의 일 실시예에 따른 싱글 PLP는 컨볼루션 인터리버(Convolutional Interleaver, CI)만 적용될 수 있다.
PLP_NUM의 값이 1보다 큰 경우, PLP 모드는 멀티플 PLP이다. 본 발명의 일 실시예에 따른 멀티플 PLP는 컨볼루션 인터리버(Convolutional Interleaver, CI)와 블록 인터리버(Block Interleaver, BI)가 적용될 수 있다. 이 경우, 컨볼루션 인터리버는 인터 프레임 인터리빙(Inter frame interleaving)을 수행할 수 있으며, 블록 인터리버는 인트라 프레임 인터리빙(Intra frame interleaving)을 수행할 수 있다. 인터 프레임 인터리빙 및 인트라 프레임 인터리빙의 구체적인 내용은 전술한 내용과 동일하다.
도 50은 상술한 하이브리드 타임 인터리버 구조의 제 1 실시예를 포함하는 블록도이다. 제 1 실시예에 따른 하이브리드 타임 인터리버는 블록 인터리버(BI)와 컨볼루션 인터리버(CI)를 포함할 수 있다. 본 발명의 타임 인터리버는 BICM 체인(BICM chain) 블록과 프레임 빌더(Frame Builder) 사이에 위치할 수 있다. 도 50 내지 도 51에 도시된 BICM 체인 블록은 도 5에 도시된 BICM 블록의 처리 블록(5000) 중 타임 인터리버(5050)를 제외한 블록들을 포함할 수 있다. 도 50 내지 도 51에 도시된 프레임 빌더는 도 1의 프레임 빌딩(1020)블록의 동일한 역할을 수행할 수 있다.
상술한 바와 같이 하이브리드 타임 인터리버 구조의 제 1 실시예에 따른 블록 인터리버는 PLP_NUM 값에 따라 적용 여부가 결정될 수 있다. 즉, PLP_NUM=1인 경우, 블록 인터리버는 적용되지 않고(블록인터리버 오프(off)), 컨볼루션 인터리버만 적용된다. PLP_NUM>1인 경우, 블록 인터리버와 컨볼루션 인터리버가 모두 적용(블록 인터리버 온(on))될 수 있다. PLP_NUM>1인 경우 적용되는 컨볼루션 인터리버의 구조 및 동작은 PLP_NUM=1인 경우 적용되는 컨볼루션 인터리버의 구조 및 동작과 동일하거나 유사할 수 있다.
도 51은 상술한 하이브리드 타임 인터리버 구조의 제 2 실시예를 포함하는 블록도이다.
하이브리드 타임 인터리버 구조의 제 2 실시예에 포함되는 각 블록의 동작은 도 50에서 설명한 내용과 동일하다. 하이브리드 타임 인터리버 구조의 제 2 실시예에 따른 블록 인터리버는 PLP_NUM 값에 따라 적용 여부가 결정될 수 있다. 제 2 실시예에 따른 하이브리드 타임 인터리버의 각 블록들은 본 발명의 실시예에 따른 동작들을 수행할 수 있다. 이 때, PLP_NUM=1인 경우와 PLP_NUM>1인 경우 적용되는 컨볼루션 인터리버의 구조 및 동작이 서로 다를 수 있다.
도 52는 하이브리드 타임 디인터리버의 구조의 제 1 실시예를 포함하는 블록도이다.
제 1 실시예에 따른 하이브리드 타임 디인터리버는 상술한 제 1 실시예에 따른 하이브리드 타임 인터리버의 역동작에 상응하는 동작을 수행할 수 있다. 따라서, 도 52의 제 1 실시예에 따른 하이브리드 타임 디인터리버는 컨볼루션 디인터리버(Convolutional deinterleaver, CDI)와 블록 디인터리버(Block deinterleaver, BDI)를 포함할 수 있다.
PLP_NUM>1인 경우 적용되는 컨볼루션 디인터리버의 구조 및 동작은 PLP_NUM=1인 경우 적용되는 컨볼루션 디인터리버의 구조 및 동작과 동일하거나 유사할 수 있다.
하이브리드 타임 디인터리버 구조의 제 1 실시예에 따른 블록 디인터리버는 PLP_NUM 값에 따라 적용 여부가 결정될 수 있다. 즉, PLP_NUM=1인 경우, 블록 디인터리버는 적용되지 않고(블록 디인터리버 오프(off)), 컨볼루션 디인터리버만 적용된다.
하이브리드 타임 디인터리버의 컨볼루션 디인터리버는 인터 프레임 디인터리빙(Inter frame deinterleaving)을 수행할 수 있으며, 블록 디인터리버는 인트라 프레임 디인터리빙(Intra frame deinterleaving)을 수행할 수 있다. 인터 프레임 디인터리빙 및 인트라 프레임 디인터리빙의 구체적인 내용은 전술한 내용과 동일하다.
도 52 내지 도 53에 도시된 BICM 디코딩(BICM decoding) 블록은 도 50 내지 도 51의 BICM 체인(BICM chain)블록의 역동작을 수행할 수 있다.
도 53은 하이브리드 타임 디인터리버의 구조의 제 2 실시예를 포함하는 블록도이다.
제 2 실시예에 따른 하이브리드 타임 디인터리버는 상술한 제 2 실시예에 따른 하이브리드 타임 인터리버의 역동작에 상응하는 동작을 수행할 수 있다. 하이브리드 타임 디인터리버 구조의 제 2 실시예에 포함되는 각 블록의 동작은 도 52에서 설명한 내용과 동일할 수 있다.
하이브리드 타임 디인터리버 구조의 제 2 실시예에 따른 블록 디인터리버는 PLP_NUM 값에 따라 적용 여부가 결정될 수 있다. 제 2 실시예에 따른 하이브리드 타임 디인터리버의 각 블록들은 본 발명의 실시예에 따른 동작들을 수행할 수 있다. 이 때, PLP_NUM=1인 경우와 PLP_NUM>1인 경우 적용되는 컨볼루션 디인터리버의 구조 및 동작이 서로 다를 수 있다.
도 54는 본 발명의 일 실시예에 따른 하이브리드 방송 수신 장치를 나타낸 도면이다. 하이브리드 방송 시스템은 지상파 방송망 및 인터넷 망을 연동하여 방송 신호를 송신할 수 있다. 하이브리드 방송 수신 장치는 지상파 방송망 (브로드캐스트) 및 인터넷 망 (브로드밴드)을 통해 방송 신호를 수신할 수 있다. 하이브리드 방송 수신 장치는 피지컬 레이어 모듈, 피지컬 레이어 I/F 모듈, 서비스/컨텐트 획득 컨트롤러, 인터넷 억세스 제어 모듈, 시그널링 디코더, 서비스 시그널링 매니저, 서비스 가이드 매니저, 어플리케이션 시그널링 매니저, 경보 신호 매니저, 경보 신호 파서, 타겟팅 신호 파서, 스트리밍 미디어 엔진, 비실시간 파일 프로세서, 컴포넌트 싱크로나이저, 타겟팅 프로세서, 어플리케이션 프로세서, A/V 프로세서, 디바이스 매니저, 데이터 셰어링 및 커뮤니케이션 유닛, 재분배 모듈, 컴패니언 디바이스 및/또는 외부 모듈들을 포함할 수 있다.
피지컬 레이어 모듈 (Physical Layer Module(s))은 지상파 방송 채널을 통하여 방송 관련 신호를 수신 및 처리하고 이를 적절한 형태로 변환하여 피지컬 레이어 I/F 모듈로 전달할 수 있다.
피지컬 레이어 I/F 모듈 (Physical Layer I/F Module(s))은 Physical layer Module로 부터 획득된 정보로부터 IP 데이터 그램을 획득할 수 있다. 또한, 피지컬 레이어 I/F 모듈은 획득된 IP 데이터그램 등을 특정 프레임(예를 들어 RS Frame, GSE 등) 으로 변환할 수 있다.
서비스/컨텐트 획득 컨트롤러 (Service/Content Acquisition Controller)는 broadcast 및/또는 broadband 채널을 통한 서비스, 콘텐츠 및 이와 관련된 시그널링 데이터 획득을 위한 제어 동작을 수행할 수 있다.
인터넷 억세스 제어 모듈(Internet Access Control Module(s))은 Broadband 채널을 통하여 서비스, 콘텐츠 등을 획득하기 위한 수신기 동작을 제어할 수 있다.
시그널링 디코더 (Signaling Decoder)는 broadcast 채널 등을 통하여 획득한 시그널링 정보를 디코딩할 수 있다.
서비스 시그널링 매니저 (Service Signaling Manager)는 IP 데이터 그램 등으로부터 서비스 스캔 및 서비스/콘텐츠 등과 관련된 시그널링 정보 추출, 파싱 및 관리할 수 있다.
서비스 가이드 매니저 (Service Guide Manager)는 IP 데이터 그램 등으로 부터 announcement 정보를 추출하고 SG(Service Guide) database 관리하며, service guide를 제공할 수 있다.
어플리케이션 시그널링 매니저 (App Signaling Manager)는 IP 데이터 그램 등으로 부터 애플리케이션 획득 등과 관련된 시그널링 정보 추출, 파싱 및 관리할 수 있다.
경보 신호 파서 (Alert Signaling Parser)는 IP 데이터 그램 등으로 부터 alerting 관련된 시그널링 정보 추출 및 파싱, 관리할 수 있다.
타겟팅 신호 파서 (Targeting Signaling Parser)는 IP 데이터 그램 등으로 부터 서비스/콘텐츠 개인화 혹은 타겟팅 관련된 시그널링 정보 추출 및 파싱, 관리할 수 있다. 또한 타겟팅 신호 파서는 파싱된 시그널링 정보를 타겟팅 프로세서로 전달할 수 있다.
스트리밍 미디어 엔진 (Streaming Media Engine)은 IP 데이터그램 등으로 부터 A/V 스트리밍을 위한 오디오/비디오 데이터 추출 및 디코딩할 수 있다.
비실시간 파일 프로세서 (Non-real time File Processor)는 IP 데이터그램 등으로 부터 NRT 데이터 및 application 등 파일 형태 데이터 추출 및 디코딩, 관리할 수 있다.
컴포넌트 싱크로나이저 (Component Synchronizer)는 스트리밍 오디오/비디오 데이터 및 NRT 데이터 등의 콘텐츠 및 서비스를 동기화할 수 있다.
타겟팅 프로세서 (Targeting Processor)는 타겟팅 신호 파서로부터 수신한 타겟팅 시그널링 데이터에 기초하여 서비스/콘텐츠의 개인화 관련 연산을 처리할 수 있다.
어플리케이션 프로세서 (App Processor)는 application 관련 정보 및 다운로드 된 application 상태 및 디스플레이 파라미터 처리할 수 있다.
A/V 프로세서 (A/V Processor)는 디코딩된 audio 및 video data, application 데이터 등을 기반으로 오디오/비디오 랜더링 관련 동작을 수행할 수 있다.
디바이스 매니저 (Device Manager)는 외부 장치와의 연결 및 데이터 교환 동작을 수행할 수 있다. 또한 디바이스 매니저는 연동 가능한 외부 장치의 추가/삭제/갱신 등 외부 장치에 대한 관리 동작을 수행할 수 있다.
데이터 셰어링 및 커뮤니케이션 유닛 (Data Sharing & Comm.)은 하이브리드 방송 수신기와 외부 장치 간의 데이터 전송 및 교환에 관련된 정보를 처리할 수 있다. 여기서, 전송 및 교환 가능한 데이터는 시그널링, A/V 데이터 등이 될 수 있다.
재분배 모듈 (Redistribution Module(s))은 방송 수신기가 지상파 방송 신호를 직접 수신 하지 못하는 경우 차세대 방송 서비스 및 콘텐츠에 대한 관련 정보를 획득할 수 있다. 또한 재분배 모듈은 방송 수신기가 지상파 방송 신호를 직접 수신 하지 못하는 경우 차세대 방송 시스템에 의한 방송 서비스 및 콘텐츠 획득을 지원할 수 있다.
컴패니언 디바이스 (Companion device(s))는 본 발명의 방송 수신기에 연결되어 오디오, 비디오, 또는 시그널링 포함데이터를 공유할 수 있다. 컴패니언 디바이스는 방송 수신기와 연결된 외부 장치를 지칭할 수 있다.
외부 모듈 (External Management)는 방송 서비스/콘텐츠 제공을 위한 모듈을 지칭할 수 있으며 예를들어 차세대 방송 서비스/컨텐츠 서버가 될 수 있다. 외부 모듈은 방송 수신기와 연결된 외부 장치를 지칭할 수 있다.
도 55는 본 발명의 일 실시예에 따른 하이브리드 방송 수신기의 블록도를 나타낸 도면이다.
하이브리드 방송 수신기는 차세대 방송 시스템의 DTV 서비스에서 지상파 방송과 브로드밴드의 연동을 통한 하이브리드 방송 서비스를 수신할 수 있다. 하이브리드 방송 수신기는 지상파 방송을 통해서 전송되는 방송 오디오/비디오 (Audio/Video, A/V) 컨텐츠를 수신하고, 이와 연관된 enhancement data 혹은 방송 A/V 컨텐츠의 일부를 브로드밴드를 통하여 실시간으로 수신할 수 있다. 본 명세서에서 방송 오디오/비디오 (Audio/Video, A/V) 컨텐츠는 미디어 컨텐츠로 지칭할 수 있다.
하이브리드 방송 수신기는 물리 계층 컨트롤러 (Physical Layer Controller, D55010), 튜너 (Tuner, D55020), 물리적 프레임 파서 (Physical Frame Parser, D55030), 연결 계층 파서 (Link Layer Frame Parser, D55040), IP/UDP 데이터그램 필터 (IP/UDP Datagram Filter, D55050), ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (ATSC 3.0 DTV Control Engine, D55060), ALC/LCT+ 클라이언트 (ALC/LCT+ Client, D55070), 타이밍 제어부 (Timing Control, D55080), 시그널링 파서 (Signaling Parser, D55090), DASH 클라이언트 (Dynamic Adaptive Streaming over HTTP Client, DASH Client, D55100), HTTP 접속 클라이언트 (HTTP Access Client, D55110), ISO BMFF 파서 (ISO Base Media File Format Parser, ISO BMFF Parser, D55120) 및/또는 미디어 디코더(Media Decoder, D55130)을 포함할 수 있다.
물리 계층 컨트롤러 (D55010)는 하이브리드 방송 수신기가 수신하고자 하는 지상파 방송 채널의 라디오 주파수 (Radio Frequency, RF) 정보 등을 이용하여 튜너 (D55020), 물리적 프레임 파서(D55030) 등의 동작을 제어할 수 있다.
튜너 (D55020)는 지상파 방송 채널을 통하여 방송 관련 신호를 수신 및 처리하고 이를 적절한 형태로 변환할 수 있다. 예를 들어 튜너 (D55020)는 수신된 지상파 방송 신호를 물리적 프레임 (Physical Frame)으로 변환할 수 있다.
물리적 프레임 파서 (D55030)는 수신된 물리적 프레임을 파싱하고 이와 관련된 프로세싱을 통하여 연결 계층 프레임 (Link Layer Frame)을 획득할 수 있다.
연결 계층 파서 (D55040)는 연결 계층 프레임으로부터 연결 계층 시그널링 (Link Layer signaling) 등을 획득하거나 IP/UDP 데이터그램 혹은 MPEG-2 TS 등을 획득하기 위한 관련 연산을 수행할 수 있다. 연결 계층 파서 (D55040)는 적어도 하나 이상의 IP/UDP 데이터그램 등을 출력할 수 있다.
IP/UDP 데이터그램 필터 (D55050)는 수신된 적어도 하나 이상의 IP/UDP 데이터그램 등으로부터 특정 IP/UDP 데이터 그램을 필터링할 수 있다. 즉, IP/UDP 데이터그램 필터 (D55050)는 연결 계층 파서 (D55040)로부터 출력된 적어도 하나의 IP/UDP 데이터그램 중 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D55060)에 의해 선택된 IP/UDP 데이터그램을 선택적으로 필터링할 수 있다. IP/UDP 데이터그램 필터 (D55050)는 ALC/LCT+ 등의 애플리케이션 계층 전송 프로토콜 패킷을 출력할 수 있다.
ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D55060)은 각 하이브리드 방송 수신기에 포함된 모듈 간의 인터페이스를 담당할 수 있다. 또한 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D55060)은 각 모듈에 필요한 파라미터 등을 각 모듈에 전달하고, 이를 통해 각 모듈의 동작을 제어할 수 있다. 본 발명에서 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D55060)은 미디어 프리젠테이션 디스크립션 (Media Presentation Description, MPD) 및/또는 MPD URL을 DASH 클라이언트 (D55100)에 전달할 수 있다. 또한 본 발명에서 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D55060)은 전송 모드(Delivery mode) 및/또는 전송 세션 식별자 (Transport Session Identifier, TSI)를 ALC/LCT+ 클라이언트 (D55070)에 전달할 수 있다. 여기서 TSI는 MPD 또는 MPD URL 관련 시그널링 등 시그널링 메시지를 포함하는 전송 패킷을 전송하는 세션, 예를 들어 애플리케이션 계층 전송 프로토콜인 ALC/LCT+ 세션 또는 FLUTE 세션의 식별자를 나타낼 수 있다. 또한 전송 세션 식별자는 MMT의 Asset id 등에 대응될 수 있다.
ALC/LCT+ 클라이언트 (D55070)는 ALC/LCT+ 등의 애플리케이션 계층 전송 프로토콜 패킷을 처리하고 복수의 패킷을 수집 및 처리하여 하나 이상의 ISO Base Media File Format (ISOBMFF) 오브젝트를 생성할 수 있다. 어플리케이션 계층 전송 프로토콜 패킷에는 ALC/LCT 패킷, ALC/LCT+ 패킷, ROUTE 패킷, 및/또는 MMTP 패킷이 포함될 수 있다.
타이밍 제어부 (D55080)는 시스템 타임 정보를 포함하는 패킷을 처리하고 이에 따라 시스템 클럭을 제어할 수 있다.
시그널링 파서 (D55090)는 DTV 방송 서비스 관련 시그널링을 획득 및 파싱하고 파싱된 시그널링에 기초하여 채널 맵 등을 생성하고 관리할 수 있다. 본 발명에서 시그널링 파서는 시그널링 정보로부터 확장된 MPD 또는 MPD 관련 정보 등을 파싱할 수 있다.
DASH 클라이언트 (D55100)는 실시간 스트리밍 (Real-time Streaming)혹은 적응적 스트리밍 (Adaptive Streaming)에 관련된 연산을 수행할 수 있다. DASH 클라이언트 (D55100)는 HTTP 접속 클라이언트 (D55110)을 통해 HTTP 서버로부터 DASH 컨텐츠를 수신할 수 있다. DASH 클라이언트 (D55100)는 수신된 DASH Segment등을 처리하여 ISO Base Media File Format 오브젝트를 출력할 수 있다. 본 발명에서 DASH 클라이언트 (D55100)는 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D55060)에 전체 Representation ID (Fully qualified Representation ID) 또는 세그먼트 URL을 전달할 수 있다. 여기서 전체 Representation ID는 예를 들어 MPD URL, period@id 및 representation@id를 결합한 ID를 의미할 수 있다. 또한 DASH 클라이언트 (D55100)는 ATSC 3.0 디지털 텔레비전 컨트롤 엔진 (D55060)으로부터 MPD 또는 MPD URL을 수신할 수 있다. DASH 클라이언트 (D55100)는 수신된 MPD 또는 MPD URL을 이용하여 원하는 미디어 스트림 또는 DASH Segment를 HTTP 서버로부터 수신할 수 있다. 본 명세서에서 DASH 클라이언트 (D55100)는 프로세서로 지칭될 수 있다.
HTTP 접속 클라이언트 (D55110)는 HTTP 서버에 대해 특정 정보를 요청하고, HTTP 서버로부터 이에 대한 응답을 수신하여 처리할 수 있다. 여기서 HTTP 서버는 HTTP 접속 클라이언트로부터 수신한 요청을 처리하고 이에 대한 응답을 제공할 수 있다.
ISO BMFF 파서 (D55120)는 ISO Base Media File Format 오브젝트로부터 오디오/비디오의 데이터 추출할 수 있다.
미디어 디코더 (D55130)는 수신된 오디오 및/또는 비디오 데이터를 디코딩하고, 디코딩된 오디오/비디오 데이터를 프리젠테이션하기 위한 프로세싱을 수행할 수 있다.
본 발명의 하이브리드 방송 수신기가 지상파 방송망과 브로드밴드의 연동을 통한 하이브리드 방송 서비스를 제공하기 위해서는 MPD에 대한 확장 또는 수정이 요구된다. 전술한 지상파 방송 시스템은 확장 또는 수정된 MPD를 송신할 수 있으며 하이브리드 방송 수신기는 확장 또는 수정된 MPD를 이용하여 방송 또는 브로드밴드를 통해 컨텐츠를 수신할 수 있다. 즉, 하이브리드 방송 수신기는 확장 또는 수정된 MPD는 지상파 방송을 통해 수신하고, MPD에 기초하여 지상파 방송 또는 브로드밴드를 통해 컨텐츠를 수신할 수 있다. 아래에서는 기존 MPD와 비교하여 확장 또는 수정된 MPD에 추가적으로 포함되어야 하는 엘리먼트 및 속성(attribute)에 대해 기술한다. 아래에서, 확장 또는 수정된 MPD는 MPD로 기술될 수 있다.
MPD는 ATSC 3.0 서비스를 표현하기 위해 확장되거나 수정될 수 있다. 확장 또는 수정된 MPD는 MPD@anchorPresentationTime, Common@presentable, Common.Targeting, Common.TargetDevice 및/또는 Common@associatedTo를 추가적으로 포함할 수 있다.
MPD@anchorPresentationTime는 MPD에 포함된 세그먼트들의 프리젠테이션 타임의 앵커, 즉 기초가 되는 시간을 나타낼 수 있다. 아래에서 MPD@anchorPresentationTime는 MPD의 유효 시간(effective time)으로 사용될 수 있다. MPD@anchorPresentationTime는 MPD에 포함된 세그먼트들 중 가장 빠른 재생 시점을 나타낼 수 있다.
MPD는 공통 속성들 및 요소들(common attributes and elements)을 더 포함할 수 있다. 공통속성및 요소는 MPD 내의 AdaptionSet, Representation, SubRepresentation 등에 적용될 수 있다. Common@presentable은 MPD가 기술하고 있는 미디어가 프리젠테이션이 가능한 컴포넌트임을 나타낼 수 있다.
Common.Targeting은 MPD가 기술하고 있는 미디어의 타겟팅 특징(targeting properties) 및/또는 개별화 특징(personalization properties)를 나타낼 수 있다.
Common.TargetDevice는 MPD가 기술하고 있는 미디어의 타겟 디바이스 또는 타겟 디바이스들을 나타낼 수 있다.
Common@associatedTo는 MPD가 기술하고 있는 미디어에 관련된 adaptationSet 및/또는 representation을 나타낼 수 있다.
또한 MPD에 포함된 MPD@id, Period@id 및 AdaptationSet@id는 MPD가 기술하고 있는 미디어 컨텐츠를 특정하기 위해 요구될 수 있다. 즉, DASH 클라이언트는 MPD에 기초하여 수신하고자 하는 컨텐츠를 MPD@id, Period@id 및 AdaptationSet@id로 특정하여 ATSC 3.0 디지털 텔레비전 컨트롤 엔진에 전달할 수 있다. 또한 ATSC 3.0 디지털 텔레비전 컨트롤 엔진은 해당 컨텐츠를 수신하여 DASH 클라이언트에 전달할 수 있다.
도 56은 본 발명의 일 실시예에 따른 차세대 하이브리드 방송 시스템의 프로토콜 스택을 나타낸다. 도시된 바와 같이, IP 기반 하이브리드 방송을 지원하는 차세대 방송 송신 시스템은 방송서비스의 오디오 혹은 비디오 데이터 등을 ISO Base Media File Format (이하 ISO BMFF) 으로 encapsulation 할 수 있다. 여기서, 인캡슐레이션은 DASH Segment 혹은 MMT의 MPU (Media processing unit) 등의 형태를 이용할 수 있다. 또한 차세대 방송 시스템은 인캡슐레이션된 데이터를 방송망과 인터넷 망에 동일하게 혹은 각 전송망의 속성에 따라 서로 다르게 전송할 수 있다. 또한 차세대 방송 시스템은 인캡슐레이션된 데이터를 브로드캐스트 또는 브로드밴드 중 적어도 하나를 이용하여 전송할 수 있다. 브로드캐스트를 이용하는 방송망의 경우 방송 시스템은 ISO Base Media File (이하 ISO BMFF) 형태로 encapsulation 된 데이터를 실시간 오브젝트 전송을 지원하는 application layer transport 프로토콜 패킷을 통해 전송할 수 있다. 예를 들어 방송 시스템은 Real-Time Object Delivery over Unidirectional Transport (이하 ROUTE) 또는 MMTP의 transport packet 등으로 encapsulation 할 수 있다. 그리고 방송 시스템은 인캡슐레이션된 데이터를 다시 IP/UDP 데이터 그램으로 생성 후 이를 방송 신호에 실어서 전송할 수 있다. 브로드밴드를 이용하는 경우 방송 시스템은 인캡슐레이션된 데이터를 DASH 등 스트리밍 기법 등을 기반으로 수신측에 전달 할 수 있다.
이와 더불어 방송 시스템은 방송 서비스의 시그널링 정보를 다음과 같은 방법으로 전송할 수 있다. 브로드캐스트를 이용하는 방송망의 경우 방송 시스템은 시그널링의 속성 등에 따라 차세대 방송 전송 시스템 및 방송망의 physical layer 를 통해 시그널링 정보를 전송할 수 있다. 여기서, 방송 시스템은 방송 신호 내에 포함된 transport frame 의 특정 data pipe (이하 DP) 등을 통해 시그널링 정보를 전송할 수 있다. 브로드캐스트를 통해 전송되는 시그널링 형태는 비트 스트림 또는 IP/UDP 데이터 그램으로 encapsulation 된 형태일 수 있다. 브로드밴드를 이용하는 경우 방송 시스템은 수신기의 요청에 대한 응답으로서 시그널링 데이터를 리턴하여 전달할 수 있다.
이와 더불어 방송 시스템은 방송 서비스의 ESG 혹은 NRT 콘텐츠 등을 다음과 같은 방법으로 전송할 수 있다. 브로드캐스트를 이용하는 방송망의 경우 방송 시스템은 application layer transport 프로토콜 패킷, 예를 들어 Real-Time Object Delivery over Unidirectional Transport (이하 ROUTE), MMTP의 transport packet 등으로 ESG 혹은 NRT 콘텐츠를 encapsulation 할 수 있다. 그리고 encapsulation 된 ESG 혹은 NRT 콘텐츠를 다시 IP/UDP 데이터 그램으로 생성한 후 이를 방송 신호에 실어서 전송할 수 있다. 브로드밴드를 이용하는 경우 방송 시스템은 수신기의 요청에 대한 응답으로서 ESG 혹은 NRT 콘텐츠 등을 리턴하여 전달할 수 있다.
도 57은 본 발명의 일 실시예에 따른 차세대 방송 전송 시스템의 physical layer 에 전달되는 전송 프레임의 구조를 나타낸다. 차세대 방송 시스템은 브로드캐스트를 이용하여 전송 프레임을 전송할 수 있다. 도면에서, 전송 프레임의 앞부분에 위치한 P1은 transport signal detection을 위한 정보가 포함된 심볼을 의미할 수 있다. P1은 tuning information을 포함할 수 있으며 수신기는 P1 심볼에 포함된 parameter에 기초하여 P1 다음에 위치한 L1 파트를 디코딩할 수 있다. 방송 시스템은 L1 파트에 transport frame 구성 및 각 DP (data pipe)의 특성 등에 대한 정보를 포함시킬 수 있다. 즉, 수신기는 L1 파트를 디코딩하여 transport frame 구성 및 각 DP (data pipe)의 특성 등에 대한 정보를 얻을 수 있다. 또한 수신기는 Common DP를 통해 DP 간의 공유해야 하는 정보를 획득할 수 있다. 실시예에 따라 Transport frame 은 common DP를 포함하지 않을 수도 있다.
전송 프레임에서 Audio, Video, Data 등의 component는 DP1~n으로 구성된 interleaved DP 영역에 포함되어 전송된다. 여기서 각각의 서비스(채널)를 구성하는 component가 각각 어느 DP로 전송되는가는 L1 혹은 common PLP 등을 통해 시그널링 될 수 있다.
또한 차세대 방송 시스템은 전송 프레임에 포함된 서비스에 대한 정보를 신속하게 획득하기 위한 정보를 전송할 수 있다. 즉, 차세대 방송 시스템은 차세대 방송 수신기가 transport frame 에 포함된 방송 서비스 및 콘텐츠 관련 정보를 신속하게 획득하도록 할 수 있다. 이와 더불어 해당 frame 내에서 하나 이상의 방송국에서 생성해 낸 서비스/콘텐츠가 존재하는 경우 수신기로 하여금 방송국에 따른 서비스/콘텐츠를 효율적으로 인지하도록 할 수 있다. 즉, 차세대 방송 시스템은 전송 프레임 내에 포함된 서비스에 대한 서비스 리스트 정보를 전송 프레임에 포함시켜 전송할 수 있다.
방송 시스템은 수신기가 해당 주파수 내의 방송 서비스 및 콘텐츠 스캔을 신속하게 할 수 있도록 하기 위하여, 별도의 채널, 예를 들어 Fast Information Channel (FIC) 등이 존재하는 경우 이를 통해 방송서비스 관련된 정보를 전송할 수 있다. 도 57의 중단에 도시된 바와 같이 방송 시스템은 Transport frame 에 방송 서비스 스캔 및 획득을 위한 정보를 포함시켜 전송할 수 있다. 여기서 방송 서비스에 대한 스캔 및 획득에 대한 정보를 포함하는 영역을 FIC라고 지칭할 수 있다. 수신기는 FIC 를 통하여 하나 이상의 방송국에서 생성 및 전송되는 방송 서비스에 대한 정보를 획득할 수 있으며, 이를 통해 수신기 상에서 이용 가능한 방송 서비스들에 대한 스캔을 손쉽고 빠르게 수행할 수 있다.
또한 전송 프레임에 포함된 특정 DP는 해당 transport frame 내에서 전송되는 방송 서비스 및 콘텐츠에 대한 시그널링을 신속하고 강건하게 전송할 수 있는 Base DP 로 동작할 수 있다. Physical layer의 transport frame 의 각 DP 을 통하여 전송되는 데이터들은 도 57의 하단과 같을 수 있다. 즉, Link layer signaling 혹은 IP 데이터 그램 등은 특정 형태의 Generic packet 으로 encapsulation 된 후 DP 을 통하여 전송될 수 있다. 여기서, Generic packet은 시그널링 데이터를 포함할 수 있다. 여기서, Link(low) layer signaling 은 fast service scan/acquisition, IP header compression의 context information, emergency alert 과 관련된 시그널링 등을 포함할 수 있다.
도 58은 본 발명의 일 실시예에 따른 어플리케이션 계층 전송 프로토콜의 전송 패킷을 나타낸 도면이다. 애플리케이션 계층 전송 세션은 IP 주소 및 포트 번호의 조합으로 구성될 수 있다. 어플리케이션 계층 전송 프로토콜이 Real-Time Object Delivery over Unidirectional Transport (이하 ROUTE) 인 경우, ROUTE 세션이 하나 이상의 LCT(Layered Coding Transport) 세션들로 구성되는 될 수 있다. 예를 들어 하나의 LCT 전송 세션을 통해 하나의 미디어 컴포넌트 (예를 들어 DASH Representation 등)를 전달하는 경우 하나의 애플리케이션 전송 세션을 통하여 하나 이상의 미디어 컴포넌트를 multiplexing 하여 전송할 수 있다. 더 나아가 하나의 LCT 전송 세션을 통하여 하나이상의 전송 오브젝트 (Transport object) 를 전달할 수 있으며 각 전송 오브젝트는 전송 세션을 통하여 전달되는 DASH representation과 연관된 DASH segment 가 될 수 있다.
예를 들어 애플리케이션 계층 전송 프로토콜이 LCT 기반인 경우, 다음과 같이 전송 패킷이 구성될 수 있다. 전송 패킷은 LCT 헤더, ROUTE 헤더 및 페이로드 데이터를 포함할 수 있으며, 전송 패킷에 포함된 복수의 필드는 다음과 같을 수 있다.
LCT 헤더는 다음과 같은 필드들을 포함할 수 있다. V (version) 필드는 해당 전송 프로토콜 패킷의 버전 정보 나타낼 수 있다. C 필드는 아래에서 설명할 Congestion Control Information 필드의 길이와 연관된 flag을 나타낼 수 있다. PSI 필드는 protocol-specific information 으로써 해당 프로토콜에 특화된 정보를 나타낼 수 있다. S 필드는 transport session identifier (TSI) 필드의 길이와 연관된 flag을 나타낼 수 있다. O 필드는 transport object identifier (TOI) 필드의 길이와 연관된 flag을 나타낼 수 있다. H 필드는 TSI, TOI 필드의 길이에 half-word(16 bits) 추가 여부를 표현할 수 있다. A (Close Session flag) 필드는 세션이 종료됨 또는 종료가 임박했음을 표현할 수 있다. B (Close Object flag) 필드는 전송중인 오브젝트가 종료됨 또는 종료가 임박했음을 표현할 수 있다. Code point 필드는 해당 패킷의 페이로드를 인코딩 혹은 디코딩하는데 관련된 정보를 나타낼 수 있다. 예를 들어 페이로드 타입 등이 이에 해당할 수 있다. Congestion Control Information 필드는 congestion control 과 연관된 정보를 포함할 수 있다. 예를 들어 congestion control 과 연관된 정보는 Current time slot index (CTSI), channel number, 또는 해당 채널 내의 packet sequence number 등이 될 수 있다. Transport Session Identifier 필드는 전송 세션의 식별자를 나타낼 수 있다. Transport Object Identifier 필드는 전송 세션을 통해 전송되는 오브젝트의 식별자를 나타낼 수 있다.
ROUTE(ALC) Header는 Forward Error correction scheme 등과 연관된 페이로드 식별자 등 앞선 LCT 헤더의 추가 정보 전송를 포함할 수 있음.
Payload data는 해당 패킷의 페이로드의 실질적인 데이터 부분을 나타낼 수 있다.
도 59는 본 발명의 일 실시예에 따른 차세대 방송 시스템이 시그널링 데이터를 전송하는 방법을 나타낸다. 차세대 방송 시스템의 시그널링 데이터는 도시된 바와 같이 전송될 수 있다. 수신기로 하여금 신속한 서비스/콘텐츠 스캔 및 획득을 지원하기 위하여 차세대 방송 송신 시스템은 해당 physical layer frame에 의해 전달되는 방송 서비스에 대한 시그널링 데이터를 Fast Information Channel(이하 FIC) 등을 통하여 전달할 수 있다. 본 명세서에서 FIC는 서비스 리스트에 대한 정보를 의미할 수 있다. 만약 별도의 FIC 가 존재하지 않는 경우 link layer signaling 이 전달되는 경로를 통하여 전달될 수 있다. 즉 서비스 및 서비스 내의 컴포넌트(오디오, 비디오 등) 들에 대한 정보 등을 포함하는 시그널링 정보는 physical layer frame 내의 하나 이상의 DP 들을 통해 IP/UDP 데이터그램으로 encapsulation 되어 전송될 수 있다. 실시예에 따라 서비스 및 서비스 컴포넌트에 대한 시그널링 정보는 application layer transport 패킷 (예를 들어 ROUTE 패킷 또는 MMTP 패킷 등) 으로 encapsulation 되어 전송될 수 있다.
도 59의 상단은 위에서 설명한 시그널링 데이터가 FIC 및 하나 이상의 DP 를 통하여 전달되는 경우의 실시 예를 나타낸다. 이는 신속한 서비스 스캔/획득을 지원하기 위한 시그널링 데이터가 FIC 를 통해 전달되고 서비스 등에 대한 자세한 정보를 포함하는 시그널링 데이터가 IP 데이터그램으로 encapsulation 되어 특정 DP을 통하여 전달될 수 있다. 본 명세서에서 서비스 등에 대한 자세한 정보를 포함하는 시그널링 데이터는 서비스 레이어 시그널링으로 칭할 수 있다.
도 59의 중단은 위에서 설명한 시그널링 데이터가 FIC 및 하나 이상의 DP 를 통하여 전달되는 경우의 실시 예를 나타낸다. 이는 신속한 서비스 스캔/획득을 지원하기 위한 시그널링 데이터가 FIC 를 통해 전달되고 서비스 등에 대한 자세한 정보를 포함하는 시그널링 데이터가 IP 데이터그램으로 encapsulation 되어 특정 DP을 통하여 전달될 수 있다. 또한 서비스에 포함된 특정 컴포넌트 등에 대한 정보 등을 포함하는 시그널링 데이터의 일부가 어플리케이션 레이어 전송 프로토콜 내의 하나 이상의 전송 세션을 통하여 전달될 수도 있다. 예를 들어 시그널링 데이터의 일부는 ROUTE 세션 내의 하나 이상의 전송 세션을 통하여 전달될 수도 있다.
도 59의 하단은 위에서 설명한 시그널링 데이터가 FIC 및 하나 이상의 DP 를 통하여 전달되는 경우의 실시 예를 나타낸다. 이는 신속한 서비스 스캔/획득을 지원하기 위한 시그널링 데이터가 FIC 를 통해 전달되고 서비스 등에 대한 자세한 정보를 포함하는 시그널링 데이터는 ROUTE 세션 내의 하나 이상의 전송 세션을 통하여 전달될 수 있다.
도 60은 본 발명의 일 실시예에 따른 차세대 방송 시스템이 수신기의 신속한 방송 서비스 스캔을 위해 전송하는 시그널링 데이터를 나타낸다. 본 명세서는 차세대 방송 수신 장치가 방송 서비스를 스캔하고 획득하기 위한 시그널링 정보를 제안한다. 차세대 방송 시스템에서는 특정 주파수 내에 하나 이상의 방송국에서 생성해 낸 방송 서비스 및 콘텐츠가 전송될 수 있다. 수신기는 해당 주파수 내에 존재하는 방송국 및 해당 방송국의 서비스/콘텐츠를 신속하고 용이하게 스캔하기 위해 상술한 시그널링 정보를 이용할 수 있다. 이는 도시된 바와 같은 syntax로 나타낼 수 있으며 이는 XML 등 다른 포멧으로 나타내어 질 수 있다.
신속한 서비스 스캔 및 획득을 위한 시그널링 정보는 physical layer transport frame 내의 별도의 채널인 fast information channel (FIC) 로 전달될 수 있다. 또한 상술한 시그널링 정보는 Physical layer의 data pipe 들 간의 공유될 수 있는 정보를 전달할 수 있는 Common DP 등을 통하여 전달될 수도 있다. 또한 link layer 의 시그널링이 전달되는 경로로 통하여 전달될 수도 있다. 또한 상술한 시그널링 정보는 IP 데이터그램으로 encapsulation 되어 특정 DP을 통하여 전달될 수 있다. 또한 상술한 시그널링 정보는 서비스 시그널링이 전달되는 service signaling channel 혹은 application layer의 transport session 등을 통하여 전달될 수도 있다.
신속한 서비스 스캔 및 획득을 위한 시그널링 정보 (FIC 정보)는 다음 같은 필드들 중 적어도 하나를 포함할 수 있다. 본 명세서에서 FIC 정보는 서비스 획득 정보로 지칭될 수 있다. FIC_portocol_version 필드는 FIC 시그널링 정보의 프로토콜 버전 (Version of structure of FIC)을 나타낼 수 있다. TSID 필드는 방송 스트림의 식별자 (Identifier of overall broadcast stream)를 나타낼 수 있다. FIC_data_version 필드는 해당 FIC 정보의 데이터 버전 (indicates data version of this FIC instance)을 나타낼 수 있다. FIC_data_version 필드는 FIC의 내용에 변경이 있는 경우 증가할 수 있다. num_partitions 필드는 브로드캐스트 스트림의 파티션 개수를 나타낼 수 있다. num_partitions 필드가 사용되기 위해 각 브로드캐스트 스트림은 하나 또는 그 이상의 파티션으로 나뉘어 전송될 수 있음을 가정한다. 각 파티션은 하나의 브로드캐스터에 의한 복수의 DP를 포함할 수 있다. 각 파티션은 하나의 브로드캐스터에 의해 사용된 브로드캐스트 스트림의 부분을 나타낼 수 있다. partition_protocol_version 필드는 상술한 파티션 구조의 버전을 나타낼 수 있다. base_DP_ID 필드는 해당 파티션의 베이스 DP에 대한 식별자를 나타낼 수 있다. 베이스 DP는 서비스 시그널링 테이블을 포함할 수 있다. 서비스 시그널링 테이블은 해당 파티션 내의 모든 서비스에 대한 리스트를 포함할 수 있다. 즉, 서비스 시그널링 테이블은 전송되는 서비스들을 리스팅할 수 있다. 또한 각 서비스에 대한 기본 속성을 정의할 수 있다. 베이스 DP는 해당 파티션 내에서 로버스트한 DP일 수 있으며 해당 파티션에 대한 다른 시그널링 테이블을 포함할 수도 있다. base_DP_version 필드는 해당 베이스 DP를 통해서 전송되는 데이터의 변화를 나타내는 버전 정보를 나타낼 수 있다. 예를 들어 베이스 DP를 통해 서비스 시그널링 등이 전달되는 경우, 서비스 시그널링의 변화가 발생되면 base_DP_version 필드는 1씩 증가할 수 있다. num_services 필드는 해당 파티션에 속하는 적어도 하나의 서비스의 개수를 나타낼 수 있다. service_id 필드는 서비스에 대한 식별자를 나타낼 수 있다. channel_number 필드는 해당 서비스와 연관된 채널 넘버를 나타낼 수 있다. service_category 필드는 해당 서비스의 카테고리를 나타낼 수 있으며, 예를 들어 A/V, audio, ESG, CoD 등을 나타낼 수 있다. short_service_name_length 필드는 해당 서비스를 나타내는 이름에 대한 길이를 나타낼 수 있다. short_Service_name 필드는 해당 서비스를 나타내는 이름을 나타낼 수 있다. service_status 필드는 해당 서비스의 상태를 나타낼 수 있으며, 그 값에 따라 active 또는 suspended, hidden 또는 shown 속성을 나타낼 수 있다. service_distribution 필드는 ATSC M/H 문서의 “multi-ensemble” flag 와 유사한 속성을 가질 수 있다. 예를 들어 해당 서비스가 해당 파티션에 모두 포함되어 있는지, 해당 파티션에 부분적으로 포함되어 있지만 해당 파티션만으로 프리젠테이션이 가능한지, 프리젠테이션하기 위해 다른 파티션이 필요한지 또는 프리젠테이션하기 위해 다른 방송 스트림이 요구되는지 등에 대한 정보를 나타낼 수 있다. sp_indicator 필드는 서비스 보호 플래그 (service protection flag)로써 프리젠테이션을 위해 필요한 하나 또는 그 이상의 컴포넌트들이 보호되는지 여부를 나타낼 수 있다.
도 61은 본 발명의 일 실시예에 따른 차세대 방송 시스템이 수신기의 신속한 방송 서비스 스캔을 위해 전송하는 시그널링 데이터를 나타낸다. 신속한 방송 서비스 스캔 및 서비스/컴포넌트 획득을 지원하기 위한 FIC 정보 (서비스 획득 정보)는 서비스 및 컴포넌트 데이터를 전달하는 application layer transport session 에 대한 정보를 포함할 수 있다. 도시된 바와 같이 FIC 정보는 바이너리 포맷으로 표현될 수 있으나 실시예에 따라 XML 등 다른 포멧으로 나타내어질 수 있다. FIC 정보는 다음과 같은 필드를 포함할 수 있다. FIC_portocol_version 필드는 시그널링 정보의 프로토콜 버전 (Version of structure of FIC)을 나타낼 수 있다. TSID 필드는 방송 스트림의 식별자 (Identifier of overall broadcast stream)를 나타낼 수 있다. FIC_data_version 필드는 해당 FIC 정보의 데이터 버전 (indicates data version of this FIC instance)을 나타낼 수 있다. FIC_data_version 필드는 FIC의 내용에 변경이 있는 경우 증가할 수 있다. num_partitions 필드는 브로드캐스트 스트림의 파티션 개수를 나타낼 수 있다. num_partitions 필드가 사용되기 위해 각 브로드캐스트 스트림은 하나 또는 그 이상의 파티션으로 나뉘어 전송될 수 있음을 가정한다. 각 파티션은 하나의 브로드캐스터에 의한 복수의 DP를 포함할 수 있다. 각 파티션은 하나의 브로드캐스터에 의해 사용된 브로드캐스트 스트림의 부분을 나타낼 수 있다. partition_id 필드는 해당 파티션의 식별자를 나타낼 수 있다. partition_protocol_version 필드는 상술한 파티션 구조의 버전을 나타낼 수 있다. num_services 필드는 해당 파티션에 속하는 적어도 하나의 컴포넌트의 개수를 나타낼 수 있다. service_id 필드는 서비스에 대한 식별자를 나타낼 수 있다. service_data_version 필드는 FIC 내의 service loop 데이터의 변화 혹은 해당 서비스와 연관된 서비스 시그널링 데이터의 변화를 나타낼 수 있다. service_data_version 필드는 포함된 서비스 데이터에 변화가 발생할 때마다 1씩 증가할 수 있다. 수신기는 service_data_version 필드를 이용하여 FIC의 서비스 루프의 데이터 변화 혹은 해당 서비스와 관련된 시그널링의 변화를 감지할 수 있다. channel_number 필드는 해당 서비스와 연관된 채널 넘버를 나타낼 수 있다. service_category 필드는 해당 서비스의 카테고리를 나타낼 수 있으며, 예를 들어 A/V, audio, ESG, CoD 등을 나타낼 수 있다. short_service_name_length 필드는 해당 서비스를 나타내는 이름에 대한 길이를 나타낼 수 있다. short_service_name 필드는 해당 서비스를 나타내는 이름을 나타낼 수 있다. service_status 필드는 해당 서비스의 상태를 나타낼 수 있으며, 그 값에 따라 active 또는 suspended, hidden 또는 shown 속성을 나타낼 수 있다. service_distribution 필드는 ATSC M/H 문서의 “multi-ensemble” flag 와 유사한 속성을 가질 수 있다. 예를 들어 해당 서비스가 해당 파티션에 모두 포함되어 있는지, 해당 파티션에 부분적으로 포함되어 있지만 해당 파티션만으로 프리젠테이션이 가능한지, 프리젠테이션하기 위해 다른 파티션이 필요한지 또는 프리젠테이션하기 위해 다른 방송 스트림이 요구되는지 등에 대한 정보를 나타낼 수 있다. sp_indicator 필드는 서비스 보호 플래그 (service protection flag)로써 프리젠테이션을 위해 필요한 하나 또는 그 이상의 컴포넌트들이 보호되는지 여부를 나타낼 수 있다. IP_version_flag 필드는 뒤따르는 IP 주소 형식을 나타낼 수 있다. 해당 필드 값이 0인 경우 IPv4 형식을, 1인 경우 IPv6 주소 형식을 사용함을 나타낼 수 있다. source_IP_address_flag 필드는 source_IP_addr 을 포함하는지 여부를 나타낼 수 있다. 해당 필드 값이 1인 경우 source_IP_addr 가 존재함을 나타낼 수 있다. num_transport_session 필드는 방송 스트림 내에서 해당 서비스의 컴포넌트 데이터를 전송하는 transport session (예를 들어 ROUTE 또는 MMTP session) 의 개수를 나타낼 수 있다. source_IP_addr 필드는 전술한 source_IP_address_flag 값이 1인 경우 해당 서비스의 컴포넌트 데이터를 포함하는 IP datagram의 source IP address 를 나타낼 수 있다. dest_IP_addr 필드는 해당 서비스의 컴포넌트 데이터를 포함하는 IP datagram의 destination IP address 을 나타낼 수 있다. dest_UDP_port 필드는 해당 서비스의 컴포넌트 데이터를 포함하는 UDP datagram의 UDP port number 나타낼 수 있다. LSID_DP 필드는 전송 세션에 대한 세부 정보를 포함하는 시그널링을 전달하는 physical layer 의 Data pipe 식별자를 나타낼 수 있다. 여기서, 전송 세션에 대한 세부 정보를 포함하는 시그널링은 예를 들어 ROUTE 인 경우 각 ROUTE 세션의 세부 LCT 전송 세션에 대한 정보를 포함하는 LCT session instance description 등이 될 수 있다. service_signaling_flag 필드는 전송 세션이 서비스 시그널링을 전송하는지 여부를 나타낼 수 있다. service_signaling_flag 값이 1인경우 해당 전송 세션 (예를 들어 ROUTE 또는 MMTP session)을 통하여 전송되는 데이터가 서비스 시그널링을 포함하고 있음을 나타낼 수 있다. Transport session descriptors 필드는 전송 세션 레벨의 descriptor 들을 포함할 수 있다. 각 디스크립터는 확장이 가능하며, 각 디스크립터는 num_descriptors 필드를 포함할 수 있다. 각 디스크립터는 num_descriptors 필드가 나타내는 값에 대응하는 개수의 descriptor loop를 포함할 수 있다. Transport session descriptors 필드는 전송 세션 레벨의 descriptor 들을 포함할 수 있다. service descriptors 필드는 service 레벨의 descriptor 들을 포함할 수 있다. Partition descriptors 필드는 파티션 레벨의 디스크립터를 포함할 수 있으며, 하나의 파티션은 하나의 방송사 등에 의해 사용되는 방송 스트림의 일부를 가리킬 수 있다. FIC session descriptors 필드는 FIC 레벨의 descriptor 들을 포함할 수 있다. 실시예에 따라 상술한 FIC에 포함된 각 필드들은 FIC외의 다른 테이블에 포함되어 방송 신호와 함께 전송될 수도있다.
도 62는 본 발명의 일 실시예에 따른 FIC 기반 시그널링을 전송하는 방법을 나타낸다. 상술한 FIC 기반 시그널링이 전달되는 실시 예는 아래 그림과 같을 수 있다. 본 명세서에서 FIC 기반 시그널링은 서비스 획득 정보 또는 서비스 획득 시그널링으로 지칭될 수 있다. 도시된 바와 같이 피지컬 레이어 시그널링은 서비스 획득 정보에 대한 필드를 포함할 수 있다. 서비스 획득 정보에 대한 필드는 서비스 획득 정보 (FIC)의 파싱 여부를 수신기에게 알려줄 수 있다. 수신기는 서비스 획득 정보를 파싱하여 service_data_version 정보를 통해 서비스 시그널링의 데이터가 변경되었는지 여부를 확인할 수 있다. 서비스 시그널링 데이터가 변경된 경우, 방송 신호 수신기는 LSID_DP 필드를 이용하여 전송 세션에 대한 세부 정보를 포함하는 시그널링을 전달하는 physical layer 의 Data pipe 식별자를 확인할 수 있다. 방송 수신기는 해당 DP 식별자가 지시하는 DP를 파싱하여 전송 세션에 대한 세부 정보를 확인할 수 있다. 즉, 차세대 방송 시스템의 시그널링 방법은 피지컬 레이어 시그널링이 서비스 획득 정보의 파싱 여부를 시그널링하고, 서비스 획득 정보가 전송 세션에 대한 세부 정보의 위치를 시그널링하여 전송 세션에 대한 세부 정보를 확인하는 순서를 포함할 수 있다. 여기서, 전송 세션에 대한 세부 정보는 MPD 전송 테이블, 어플리케이션 시그널링 테이블, 전송 세션 디스크립터 (LSID) 및/또는 컴포넌트 매핑 테이블(CMT)을 포함할 수 있다.
도 63은 본 발명의 일 실시예에 따른 차세대 방송 시스템이 수신기의 신속한 방송 서비스 스캔을 위해 전송하는 시그널링 데이터를 나타낸다. 신속한 방송 서비스 스캔 및 서비스/컴포넌트 획득을 지원하기 위한 FIC 정보 (서비스 획득 정보)는 서비스 및 컴포넌트 데이터를 전달하는 application layer transport session 에 대한 정보를 포함할 수 있다. 도시된 바와 같이 FIC 정보는 바이너리 포맷으로 표현될 수 있으나 실시예에 따라 XML 등 다른 포멧으로 나타내어질 수 있다. FIC 정보는 다음과 같은 필드를 포함할 수 있다. FIC_portocol_version 필드는 시그널링 정보의 프로토콜 버전 (Version of structure of FIC)을 나타낼 수 있다. TSID 필드는 방송 스트림의 식별자 (Identifier of overall broadcast stream)를 나타낼 수 있다. FIC_data_version 필드는 해당 FIC 정보의 데이터 버전 (indicates data version of this FIC instance)을 나타낼 수 있다. FIC_data_version 필드는 FIC의 내용에 변경이 있는 경우 증가할 수 있다. num_partitions 필드는 브로드캐스트 스트림의 파티션 개수를 나타낼 수 있다. num_partitions 필드가 사용되기 위해 각 브로드캐스트 스트림은 하나 또는 그 이상의 파티션으로 나뉘어 전송될 수 있음을 가정한다. 각 파티션은 하나의 브로드캐스터에 의한 복수의 DP를 포함할 수 있다. 각 파티션은 하나의 브로드캐스터에 의해 사용된 브로드캐스트 스트림의 부분을 나타낼 수 있다. partition_id 필드는 해당 파티션의 식별자를 나타낼 수 있다. partition_protocol_version 필드는 상술한 파티션 구조의 버전을 나타낼 수 있다. num_services 필드는 해당 파티션에 속하는 적어도 하나의 컴포넌트의 개수를 나타낼 수 있다. service_id 필드는 서비스에 대한 식별자를 나타낼 수 있다. service_data_version 필드는 FIC 내의 service loop 데이터의 변화 혹은 해당 서비스와 연관된 서비스 시그널링 데이터의 변화를 나타낼 수 있다. service_data_version 필드는 포함된 서비스 데이터에 변화가 발생할 때마다 1씩 증가할 수 있다. 수신기는 service_data_version 필드를 이용하여 FIC의 서비스 루프의 데이터 변화 혹은 해당 서비스와 관련된 시그널링의 변화를 감지할 수 있다. channel_number 필드는 해당 서비스와 연관된 채널 넘버를 나타낼 수 있다. service_category 필드는 해당 서비스의 카테고리를 나타낼 수 있으며, 예를 들어 A/V, audio, ESG, CoD 등을 나타낼 수 있다. short_service_name_length 필드는 해당 서비스를 나타내는 이름에 대한 길이를 나타낼 수 있다. short_service_name 필드는 해당 서비스를 나타내는 이름을 나타낼 수 있다. service_status 필드는 해당 서비스의 상태를 나타낼 수 있으며, 그 값에 따라 active 또는 suspended, hidden 또는 shown 속성을 나타낼 수 있다. service_distribution 필드는 ATSC M/H 문서의 “multi-ensemble” flag 와 유사한 속성을 가질 수 있다. 예를 들어 해당 서비스가 해당 파티션에 모두 포함되어 있는지, 해당 파티션에 부분적으로 포함되어 있지만 해당 파티션만으로 프리젠테이션이 가능한지, 프리젠테이션하기 위해 다른 파티션이 필요한지 또는 프리젠테이션하기 위해 다른 방송 스트림이 요구되는지 등에 대한 정보를 나타낼 수 있다. sp_indicator 필드는 서비스 보호 플래그 (service protection flag)로써 프리젠테이션을 위해 필요한 하나 또는 그 이상의 컴포넌트들이 보호되는지 여부를 나타낼 수 있다. IP_version_flag 필드는 뒤따르는 IP 주소 형식을 나타낼 수 있다. 해당 필드 값이 0인 경우 IPv4 형식을, 1인 경우 IPv6 주소 형식을 사용함을 나타낼 수 있다. source_IP_address_flag 필드는 source_IP_addr 을 포함하는지 여부를 나타낼 수 있다. 해당 필드 값이 1인 경우 source_IP_addr 가 존재함을 나타낼 수 있다. num_transport_session 필드는 방송 스트림 내에서 해당 서비스의 컴포넌트 데이터를 전송하는 transport session (예를 들어 ROUTE 또는 MMTP session) 의 개수를 나타낼 수 있다. source_IP_addr 필드는 전술한 source_IP_address_flag 값이 1인 경우 해당 서비스의 컴포넌트 데이터를 포함하는 IP datagram의 source IP address 를 나타낼 수 있다. dest_IP_addr 필드는 해당 서비스의 컴포넌트 데이터를 포함하는 IP datagram의 destination IP address 을 나타낼 수 있다. dest_UDP_port 필드는 해당 서비스의 컴포넌트 데이터를 포함하는 IP datagram의 UDP port number 나타낼 수 있다. LSID_DP 필드는 전송 세션에 대한 세부 정보를 포함하는 시그널링을 전달하는 physical layer 의 Data pipe 식별자를 나타낼 수 있다. 여기서, 전송 세션에 대한 세부 정보를 포함하는 시그널링은 예를 들어 ROUTE 인 경우 각 ROUTE 세션의 세부 LCT 전송 세션에 대한 정보를 포함하는 LCT session instance description 등이 될 수 있다. service_signaling_flag 필드는 전송 세션이 서비스 시그널링을 전송하는지 여부를 나타낼 수 있다. service_signaling_flag 값이 1인경우 서비스 시그널링을 포함하는 DP가 존재함을 나타낼 수 있다. signaling_data_version 필드는 연관된 서비스 시그널링 데이터의 변화를 나타낼 수 있다. 서비스 시그널링 데이터에 변화가 발생할 때마다 해당 필드는 1씩 증가할 수 있다. 수신기는 signaling_data_version 필드를 이용하여 해당 서비스와 관련된 시그널링의 변화를 감지할 수 있다. signaling_DP 필드는 서비스 시그널링을 전달하는 physical layer 의 Data pipe 식별자를 나타낼 수 있다. Transport session descriptors 필드는 전송 세션 레벨의 descriptor 들을 포함할 수 있다. 각 디스크립터는 확장이 가능하며, 각 디스크립터는 num_descriptors 필드를 포함할 수 있다. 각 디스크립터는 num_descriptors 필드가 나타내는 값에 대응하는 개수의 descriptor loop를 포함할 수 있다. Transport session descriptors 필드는 전송 세션 레벨의 descriptor 들을 포함할 수 있다. service descriptors 필드는 service 레벨의 descriptor 들을 포함할 수 있다. Partition descriptors 필드는 파티션 레벨의 디스크립터를 포함할 수 있으며, 하나의 파티션은 하나의 방송사 등에 의해 사용되는 방송 스트림의 일부를 가리킬 수 있다. FIC session descriptors 필드는 FIC 레벨의 descriptor 들을 포함할 수 있다. 실시예에 따라 상술한 FIC에 포함된 각 필드들은 FIC외의 다른 테이블에 포함되어 방송 신호와 함께 전송될 수도있다.
도 64는 본 발명의 다른 실시예에 따른 FIC 기반 시그널링을 전송하는 방법을 나타낸다. 상술한 FIC 기반 시그널링이 전달되는 실시 예는 아래 그림과 같을 수 있다. 본 명세서에서 FIC 기반 시그널링은 서비스 획득 정보 또는 서비스 획득 시그널링으로 지칭될 수 있다. 도시된 바와 같이 피지컬 레이어 시그널링은 서비스 획득 정보에 대한 필드를 포함할 수 있다. 서비스 획득 정보에 대한 필드는 서비스 획득 정보 (FIC)의 파싱 여부를 수신기에게 알려줄 수 있다. 수신기는 서비스 획득 정보를 파싱하여 service_data_version 정보를 통해 서비스 시그널링의 데이터가 변경되었는지 여부를 확인할 수 있다. 서비스 시그널링 데이터가 변경된 경우, 방송 신호 수신기는 LSID_DP 필드를 이용하여 전송 세션에 대한 자세한 정보를 포함하고있는 LSID 혹은 LSID Table 등을 LSID_DP 필드로부터 식별한 DP를 통하여 획득할 수 있다. 이와 더불어 수신기는 service_signaling_flag, signaling_data_version, signaling_DP 등의 정보를 이용하여 시그널링 데이터의 변화 등을 인지하고 signaling_예로부터 식별한 DP를 통해 시그널링 데이터를 획득할 수 있다.
즉, 차세대 방송 시스템의 시그널링 방법은 피지컬 레이어 시그널링이 서비스 획득 정보의 파싱 여부를 시그널링하고, 서비스 획득 정보가 전송 세션에 대한 세부 정보의 위치를 시그널링하여 전송 세션에 대한 세부 정보를 확인하는 순서를 포함할 수 있다. 여기서, 전송 세션에 대한 세부 정보는 MPD 전송 테이블, 어플리케이션 시그널링 테이블, 전송 세션 디스크립터 (LSID) 및/또는 컴포넌트 매핑 테이블(CMT)을 포함할 수 있으며 전송 세션에 대한 각 세부 정보는 서로 다른 예에 의해 전달될 수 있다.
도 65는 본 발명의 일 실시예에 따른 차세대 방송 시스템의 서비스 시그널링 메시지 포맷을 나타낸 도면이다. 본 명세서에서 서비스 시그널링 메시지는 서비스 등에 대한 자세한 정보를 포함하는 시그널링 데이터 또는 서비스 레이어 시그널링으로 칭할 수 있다. 서비스 시그널링 메시지는 signaling message header 와 signaling message를 포함하는 구조일 수 있다. signaling message는 binary 혹은 XML 포맷 등으로 표현될 수 있다. 이는 IP 데이터 그램 혹은 application layer transport 패킷(예를 들어 ROUTE 혹은 MMTP 등)의 페이로드로 포함되어 전송될 수 있다. Signaling message header 의 syntax 는 다음과 같을 수 있으며 이는 XML 등 다른 포멧으로 나타내어질 수 있다. Signaling message header는 다음의 필드를 포함할 수 있다. signaling_id 필드는 signaling 메시지의 식별자를 나타낼 수 있다. 예를 들어 시그널링 메시지가 section 형태로 나타내어 지는 경우 signaling table section 의 id 를 나타낼 수 있다. signaling_length 필드는 포함되어 있는 signaling 메시지의 길이를 나타낼 수 있다. signaling_id_extension 필드는 signaling 메시지에 대한 식별자의 확장 정보를 나타낼 수 있다. signaling_id_extension 필드는 signaling_id 필드와 함께 시그널링을 식별하는 정보로 사용할 수 있다. 예를 들어 signaling_id_extension 필드는 signaling message 의 프로토콜 버전 등을 포함할 수 있다. version_number 필드는 signaling 메시지의 버전 정보를 나타낼 수 있다. version_number 필드는 해당 시그널링 메시지가 포함하는 내용이 변경하는 경우에 변경될 수 있다. current_next_indicator 필드는 포함되어 있는 signaling 메시지가 현재 가용한지 여부를 나타낼 수 있다. 이 필드의 값이 ‘1’인 경우 포함되어 있는 현재 포함되어 있는 signaling 메시지가 현재 가용함을 나타낼 수 있다. 이 필드의 값이 ‘0’인 경우 현재 signaling 메시지가 가용하지 않으며 추후 동일한 signaling_id, signaling_id_extension, 혹은 fragment_number 을 포함하는 signaling 메시지가 가용할 수 있음을 나타낼 수 있다. fragmentation_indicator 필드는 해당 signaling 메시지가 fragmentation 되었는지 여부를 나타낼 수 있다. 이 필드의 값이 ‘1’인 경우 해당 메시지가 fragmentation 되었음을 나타내며 이러한 경우 signaling_message_data() 에 시그널링 데이터의 일부가 포함되었음을 나타낼 수 있다. 이 필드의 값이 ‘0’ 인 경우 signaling_message_data() 에 전체 시그널링 데이터가 포함되어 있음을 나타낼 수 있다. payload_format_indicator 필드는 현재 signaling 메시지 헤더 부분에 payload_format 값을 포함하고 있는지 여부를 나타낼 수 있다. 이 필드의 값이 ‘1’인 경우 signaling 메시지 헤더 부분에 payload_format 값이 포함되어 있음을 나타낼 수 있다. expiration_indicator 필드는 현재 signaling 메시지 헤더 부분에 expiration 값을 포함하고 있는지 여부를 나타낼 수 있음. 이 필드의 값이 ‘1’인 경우 signaling 메시지 헤더 부분에 expiration 값이 포함되어 있음을 나타낼 수 있다. fragment_number 필드는 하나의 signaling 메시지가 여러 개의 fragment 로 나뉘어져서 전송될 경우 현재 signaling message의 fragment 넘버를 나타낼 수 있다. last_fragment_number 필드는 하나의 signaling 메시지가 여러 개의 fragment 로 나뉘어져서 전송될 경우 해당 signaling 메시지의 마지막 데이터를 포함하는 fragment 의 넘버를 나타낼 수 있다. payload_format 필드는 페이로드에 포함되는 시그널링 메시지 데이터의 포멧을 나타낼 수 있음. 실시 예로 binary, XML 등을 나타낼 수 있다. expiration 필드는 페이로드에 포함된 시그널링 메시지의 유효 시간을 나타낼 수 있다.
도 66은 본 발명의 일 실시예에 따른 차세대 방송 시스템에서 사용하는 서비스 시그널링 테이블을 나타낸다. 본 발명은 차세대 방송망에서 사용 가능한 서비스 시그널링 테이블/메시지 등은 다음과 같을 수 있으며 아래와 같은 정보 등을 포함하여 시그널링 할 수 있다. 각 테이블/메시지에 포함된 정보들은 서로 다른 테이블로 나뉘어서 개별적으로 전송될 수 있으며 도시된 실시예에 의해 한정되지 않는다. 또한 실시예에 따라 서로 다른 테이블에 속한 시그널링 정보는 하나의 테이블로 병합되어 전송될 수도 있다. Service mapping table은 서비스의 속성 및 서비스와 연관된 정보를 포함할 수 있다. 서비스의 속성 정보는 예를 들어 아이디, 이름, 카테고리 등의 정보를 포함할 수 있으며, 서비스와 연관된 정보는 서비스를 획득할 수 있는 경로 정보 등을 포함할 수 있다. MPD Delivery table은 서비스/콘텐츠와 연관된 DASH MPD 를 포함하거나 DASH MPD 를 획득할 수 있는 경로 정보 등을 포함할 수 있다. Component mapping table은 서비스 내 컴포넌트 정보 및 컴포넌트와 연관된 정보를 포함할 수 있다. 컴포넌트 정보는 연관된 DASH representation 정보 등을 포함할 수 있으며, 컴포넌트와 연관된 정보는 컴포넌트를 획득할 수 있는 경로 정보 등을 포함할 수 있다. LSID table은 서비스/컴포넌트 등을 전달하는 전송 세션 및 전송 패킷의 구성 등에 대한 정보를 포함할 수 있다. Initialization Segment Delivery table는 서비스 내 컴포넌트와 연관된 DASH Representation 대한 Initialization Segment 정보 혹은 이를 획득할 수 있는 경로 등에 대한 정보 포함할 수 있다. Application parameter table는 방송 서비스와 연관된 애플리케이션에 대한 세부 정보 및 이를 획득할 수 있는 경로 등 연관된 정보를 포함할 수 있다. 이러한 시그널링 메시지/테이블 등이 방송망을 통하여 전송되는 경우 FIC (Fast Information Channel) 혹은 SSC (Service Signaling Channel), 혹은 application layer transport session (예를 들어 ROUTE 또는 MMTP session) 등을 통해 전송될 수 있다. 더 나아가 인터넷 망(브로드밴드)을 통하여 전송될 수 있다.
도 67은 본 발명의 일 실시예에 따른 차세대 방송 시스템에서 사용되는 서비스 매핑 테이블을 나타낸 도면이다. 아래에서 설명할 내용은 시그널링 메시지 헤더 뒤에 위치한 서비스 시그널링 메시지 부분에 포함되어 전송될 수 있다.
서비스 매핑 테이블은 서비스 매핑 시그널링에 대한 정보를 포함할 수 있으며 XML 형태 또는 binary 형태 등으로 표현될 수 있다. 서비스 시그널링의 하나인 서비스 매핑 테이블은 서비스 식별자(id), 서비스 타입, 서비스 네임, 채널 넘버, ROUTE 세션 관련 정보, MPD 관련 정보, 컴포넌트 시그널링 위치 정보를 포함할 수 있다. 서비스 식별자는 서비스를 식별하는 정보를 나타낼 수 있으며 id 속성으로 표현될 수 있다. 서비스 타입 정보는 서비스의 타입을 나타내는 정보일 수 있으며, serviceType 속성으로 표현될 수 있다. 서비스 네임 정보는 서비스의 이름을 나타내는 정보일 수 있으며, serviceName 속성으로 표현될 수 있다. 채널 넘버 정보는 서비스와 관련된 채널 넘버를 나타내는 정보일 수 있으며, channelNumber 속성으로 표현될 수 있다.
ROUTE 세션 관련 정보는 sourceIP 속성, destinationIP 속성, destinationPort 속성을 포함할 수 있다. sourceIP 속성은 연계된 데이터를 포함하는 IP 데이터그램들의 소스 어드레스를 나타낼 수 있다. destinationIP 속성은 연계된 데이터를 포함하는 IP 데이터그램들의 목적지 어드레스를 나타낼 수 있다. destinationPort 속성은 연계된 데이터를 포함하는 IP 데이터그램 내의 UDP 패킷 헤더의 목적지 포트 넘버를 나타낼 수 있다.
또한 ROUTE 세션 관련 정보는 전송 세션들에 대한 세부 정보(LSID)를 포함할 수 있으며, 예를 들어 각 LSID 위치 정보 및 각 LSID 위치 정보의 딜리버리 모드 정보를 포함할 수 있다. 또한 전송 세션들에 대한 세부 정보(LSID)는 부트스트랩 정보를 포함할 수 있다. LSID에 포함된 부트스트랩 정보는 딜리버리 모드에 따른 LSID의 부트스트랩 정보를 포함할 수 있다. 부트스트랩 정보에 포함된 속성은 아래에서 자세히 설명한다.
MPD 관련 정보는 MPD 또는 MPD 시그널링 로케이션에 대한 정보를 포함할 수 있다. MPD에 대한 정보는 버전 속성을 포함할 수 있으며, MPD의 버전을 나타낼 수 DT다. MPD 시그널링 로케이션 정보는 MPD 또는 MPD URL과 관련된 시그널링을 획득할 수 있는 위치를 나타낼 수 있다. MPD 시그널링 로케이션에 포함된 딜리버리 모드 정보는 MPD 로케이션 시그널링의 딜리버리 모드를 나타낼 수 있다. MPD 시그널링 로케이션에 포함된 부트스트랩 인포 정보는 상기 딜리버리 모드에 따른 MPD 또는 MPD URL의 부트스트랩 정보를 포함할 수 있다.
컴포넌트 시그널링 로케이션 관련 정보는 딜리버리 모드 속성을 포함할 수 있다. 딜리버리모드 속성은 해당 컴포넌트 시그널링 로케이션 정보의 딜리버리 모드를 나타낼 수 있다. MPD 시그널링 로케이션에 포함된 부트스트랩 정보는 딜리버리 모드에 따른 해당 컴포넌트 로케이션 시그널링의 부트스트랩 정보를 포함할 수 있다.
부트스트랩 정보는 딜리버리 모드에 따라 다음과 같은 속성 중 적어도 하나를 포함할 수 있다.
sourceIP 속성은 연계된 데이터를 포함하는 IP 데이터그램들의 소스 어드레스를 나타낼 수 있다. destinationIP 속성은 연계된 데이터를 포함하는 IP 데이터그램들의 목적지 어드레스를 나타낼 수 있다. destinationPort 속성은 연계된 데이터를 포함하는 UDP 패킷 헤더의 목적지 포트 넘버를 나타낼 수 있다. tsi 속성은 연계된 데이터를 포함하는 전송 패킷들(transport packets)을 전달하는 전송 세션에 대한 식별자를 나타낼 수 있다. URL 속성은 연계된 데이터를 획득할 수 있는 URL을 나타낼 수 있다. packetid는 연계된 데이터를 포함하는 전송 패킷들(transport packets)의 식별자를 나타낼 수 있다.
도 68은 본 발명의 일 실시예에 따른 차세대 방송 시스템의 서비스 시그널링 테이블을 나타낸다. 차세대 방송 시스템에서 수신기로 하여금 방송 서비스 및 콘텐츠를 수신 가능할 수 있도록 하기 위하여 방송 서비스 시그널링을 제공할 수 있다. 이는 시그널링 데이터가 동일한 전송 세션 식별자(TSI)를 통하여 전송되는 경우 수신기로 하여금 관련 시그널링을 획득할 수 있도록 한다. 서비스 시그널링 테이블은 도시된 바와 같이 바이너리 포맷으로 표현될 수 있으며, 실시예에 따라 XML 등 다른 형태로 나타내어 질 수 있다. 또한 서비스 시그널링 테이블은 전술한 시그널링 메시지 포멧으로 encapsulation 될 수 있다. 서비스 시그널링 테이블은 다음과 같은 필드들을 포함할 수 있다. SST_portocol_version 필드는 서비스 시그널링 테이블의 버전을 나타낼 수 있다. partition_id 필드는 해당 파티션의 식별자를 나타낼 수 있다. SST_data_version 필드는 해당 서비스 시그널링 테이블의 데이터 버전을 나타낼 수 있다. num_services 필드는 해당 파티션 내에 포함된 적어도 하나 이상의 서비스의 개수를 나타낼 수 있다. service_id 필드는 해당 서비스의 식별자를 나타낼 수 있다. service_name 필드는 해당 서비스의 이름을 나타낼 수 있다. MPD_availability 필드는 브로드캐스트, 셀룰러 네트워크 및/또는 wifi/이더넷을 통해 MPD를 획득할 수 있는지 여부를 나타낼 수 있다. CMT_availability 필드는 브로드캐스트, 셀룰러 네트워크 및/또는 wifi/이더넷을 통해 Component Mapping Table (CMT)를 이용할 수 있는지 여부를 나타낼 수 있다. ASL_availability 필드는 브로드캐스트, 셀룰러 네트워크 및/또는 wifi/이더넷을 통해 Application Signaling Table (AST)를 이용할 수 있는지 여부를 나타낼 수 있다. DP_ID 필드는 MPD, CMT 및/또는 ASL 를 브로드캐스트를 통해 전달하는 DP의 식별자를 나타낼 수 있다. LCT_IP_address 필드는 MPD, CMT 및/또는 ASL 를 전달하는 LCT 채널의 IP 주소를 나타낼 수 있다. LCT_UDP_port 필드는 MPD, CMT 및/또는 ASL 를 전달하는 LCT 채널의 UDP 포트를 나타낼 수 있다 나타낼 수 있다. LCT_TSI 필드는 MPD, CMT 및/또는 ASL 를 전달하는 LCT 채널의 전송 세션 식별자 (Transport Session Identifier, TSI)를 나타낼 수 있다. MPD_TOI 필드는 MPD가 브로드캐스트를 통해 전달되는 경우 MPD를 전달하는 애플리케이션 전송 패킷의 전송 오브젝트 식별자 (Transport Object Identifier)를 나타낼 수 있다. CMT TOI 필드는 CMT가 브로드캐스트를 통해 전달되는 경우 CMT를 전달하는 애플리케이션 전송 패킷의 전송 오브젝트 식별자 (Transport Object Identifier)를 나타낼 수 있다. AST_TOI 필드는 AST 가 브로드캐스트를 통해 전달되는 경우 AST를 전달하는 애플리케이션 전송 패킷의 전송 오브젝트 식별자 (Transport Object Identifier)를 나타낼 수 있다. MPD_URL 필드는 브로드밴드를 통해 MPD를 획득할 수 있는 URL 정보를 나타낼 수 있다. CMT_URL 필드는 브로드밴드를 통해 CMT를 획득할 수 있는 URL 정보를 나타낼 수 있다. AST_URL 브로드밴드를 통해 AST를 획득할 수 있는 URL 정보를 나타낼 수 있다.
도 69는 본 발명의 일 실시예에 따른 차세대 방송 시스템에서 사용되는 컴포넌트 매핑 테이블을 나타낸 도면이다. 아래에서 설명할 내용은 시그널링 메시지 헤더 뒤에 위치한 서비스 시그널링 메시지 부분에 포함되어 전송될 수 있다. 컴포넌트 매핑 테이블은 컴포넌트 매핑 시그널링에 대한 정보를 포함할 수 있으며 XML 형태 또는 binary 형태 등으로 표현될 수 있다. 서비스 시그널링의 하나인 컴포넌트 매핑 테이블은 다음과 같은 필드를 포함할 수 있다. Signaling_id 필드는 해당 테이블이 component mapping table 임을 나타내는 식별자를 포함할 수 있다. protocol_version 필드는 component mapping table syntax 등 component mapping table 의 프로토콜 버전을 나타낼 수 있다. Signaling_version 필드는 component mapping table 의 시그널링 데이터의 변화 등을 나타낼 수 있다. Service_id 필드는 해당 컴포넌트들과 연관된 서비스에 대한 식별자를 나타낼 수 있다. Num_component 필드는 해당 서비스가 포함하는 컴포넌트의 개수를 나타낼 수 있다. Mpd_id 필드는 컴포넌트와 연관된 DASH MPD 식별자를 나타낼 수 있다. Period_id 필드는 컴포넌트와 연관된 DASH period 식별자를 나타낼 수 있다. representation_id 필드는 컴포넌트와 연관된 DASH representation 식별자를 나타낼 수 있다. Source_IP 필드는 해당 컴포넌트 데이터를 포함하는 IP/UDP 데이터 그램의 source IP 주소를 나타낼 수 있다. Dest_IP 필드는 해당 컴포넌트 데이터를 포함하는 IP/UDP 데이터 그램의 destination IP 주소를 나타낼 수 있다. port 필드는 해당 컴포넌트 데이터를 포함하는 IP/UDP 데이터 그램의 Port 넘버를 나타낼 수 있다. tsi 필드는 해당 컴포넌트 데이터를 포함하는 application layer transport session의 식별자를 나타낼 수 있다. DP_id 필드는 해당 컴포넌트 데이터를 전달하는 physical layer data pipe 의 식별자를 나타낼 수 있다. 위와 같은 정보를 통해 CMT는 각 서비스에 연관된 컴포넌트들을 정의하고 해당 컴포넌트들을 수신할 수 있는 위치 또는 경로를 수신기에 알려줄 수 있다.
도 70은 본 발명의 일 실시예에 따른 컴포넌트 매핑 테이블 디스크립션을 나타낸다. 컴포넌트 매핑 테이블 디스크립션 (Component Mapping Table Description)은 차세대 방송 시스템에서 방송 서비스에 포함된 컴포넌트의 전송 경로에 대한 정보를 시그널링할 수 있다. 이는 XML 포맷 또는 binary 형태의 bitstream 등으로 표현될 수 있다. 컴포넌트 매핑 테이블 디스크립션은 다음과 같은 엘리먼트 및 속성을 포함할 수 있다. service_id 속성은 컴포넌트와 연관된 서비스의 식별자를 나타낼 수 있다. BroadcastComp는 동일한 방송 스트림을 통하여 전송되는 하나 이상의 컴포넌트를 나타낼 수 있다. BroadcastComp는 mpdID, perID, reptnID, baseURL 및/또는 datapipeID 중 적어도 하나를 포함할 수 있다. mpdID 속성은 BroadcastComp와 연관된 DASH MPD 식별자를 나타낼 수 있다. perID 속성은 해당 MPD 내의 연관된 period 식별자를 나타낼 수 있다. reptnID 속성은 해당 컴포넌트와 연관된 DASH Representation 식별자를 나타낼 수 있다. baseURL 속성은 해당 컴포넌트와 연관된 DASH Segment와 연관된 Base URL 을 나타낼 수 있다. datapipeID 속성은 방송 스트림 내에서 해당 컴포넌트 데이터가 전송되는 data pipe 의 식별자를 나타낼 수 있다.
BBComp는 broadband 망을 통하여 전송되는 하나 이상의 컴포넌트를 나타낼 수 있다. BBComp는 mpdID, perID, reptnID 및/또는 baseURL 중 적어도 하나를 포함할 수 있다. mpdID 속성은 BBComp와 연관된 DASH MPD 식별자를 나타낼 수 있다. perID 속성은 해당 MPD 내의 연관된 period 식별자를 나타낼 수 있다. reptnID 속성은 해당 컴포넌트와 연관된 DASH Representation 식별자를 나타낼 수 있다. baseURL 속성은 해당 컴포넌트와 연관된 DASH Segment와 연관된 Base URL 을 나타낼 수 있다.
ForeignComp는 다른 방송 스트림을 통하여 전송되는 하나 이상의 컴포넌트를 나타낼 수 있다. ForeignComp는 mpdID, perID, reptnID, baseURL, transportStreamID, sourceIPAddr, destIPAddr 및/또는 destUDPPort 중 적어도 하나를 포함할 수 있다. mpdID 속성은 ForeignComp와 연관된 DASH MPD 식별자를 나타낼 수 있다. perID 속성은 해당 MPD 내의 연관된 period 식별자를 나타낼 수 있다. reptnID 속성은 해당 컴포넌트와 연관된 DASH Representation 식별자를 나타낼 수 있다. baseURL 속성은 해당 컴포넌트와 연관된 DASH Segment 의 Base URL 을 나타낼 수 있다. transportStreamID 속성 해당 컴포넌트 데이터를 포함하는 방송 스트림의 식별자를 나타낼 수 있다. sourceIPAddr 속성은 해당 컴포넌트 데이터를 포함하는 IP 데이터 그램의 source IP 주소를 나타낼 수 있다. destIPAddr 속성은 해당 컴포넌트 데이터를 포함하는 IP 데이터 그램의 destination IP 주소를 나타낼 수 있다. destUDPPort 속성은 해당 컴포넌트 데이터를 포함하는 IP 데이터 그램의 destination UDP port number를 나타낼 수 있다. datapipeID 속성은 해당 방송 스트림 내에서 해당 컴포넌트 데이터가 전송되는 data pipe 의 식별자를 나타낼 수 있다. 위의 Component Mapping Description 은 하나의 XML 파일 혹은 앞서 제안한 시그널링 메시지 포멧으로 encapsulation 되어 전송될 수 있다. 도 70의 하단에 도시된 바와 같이 Signaling message header 는 전술한 형태를 따를 수 있으며 서비스 메시지 부분에 component mapping description 혹은 그 일부가 포함될 수 있다. 위와 같은 정보를 통해 CMT는 각 서비스에 연관된 컴포넌트들을 정의하고 해당 컴포넌트들에 관련된 정보를 수신할 수 있는 위치 또는 경로를 수신기에 알려줄 수 있다.
도 71은 본 발명의 일 실시예에 따른 차세대 방송 시스템의 컴포넌트 매핑 테이블의 신택스를 나타낸다. 차세대 방송 시스템은 수신기로 하여금 방송 서비스의 컴포넌트를 획득할 수 있도록 컴포넌트 매핑 테이블(CMT)을 시그널링할 수 있다. 이는 binary 또는 XML 등 다른 형태로 표현될 수 있으며 전술한 시그널링 메시지 포멧으로 encapsulation 될 수 있다. 컴포넌트 매핑 테이블은 다음과 같은 필드를 포함할 수 있다. CMT_portocol_version 필드는 Component Mapping Tabe(CMT)의 구조(structure)의 버전을 나타낼 수 있다. service_id 필드는 해당 CMT가 제공하는 컴포넌트 위치와 관련된 서비스의 식별자를 나타낼 수 있다. CMT_data_version 필드는 해당 CMT의 데이터 버전을 나타낼 수 있다. num_broadcast_streams 필드는 해당 서비스와 연관된 적어도 하나의 컴포넌트를 포함하는 브로드캐스트 스트림의 개수를 나타낼 수 있다. TSID 필드는 해당 브로드캐스트 스트림의 전송 세션 식별자를 나타낼 수 있다. num_partitions 필드는 해당 서비스와 관련된 적어도 하나의 컴포넌트를 포함하는 브로드캐스트 스트림의 파티션 개수를 나타낼 수 있다. CMT는 복수의 파티션들을 포함할 수 있다. partition_id 필드는 해당 파티션의 식별자를 나타낼 수 있다. num_data_pipes 필드는 해당 서비스와 관련된 적어도 하나의 컴포넌트를 포함하는 파티션 내의 데이터 파이프들의 개수를 나타낼 수 있다. DP_ID 필드는 각 데이터 파이프의 식별자를 나타낼 수 있다. num_ROUTE_sessions 필드는 각 데이터 파이프에 포함된 전송 세션 (예를들어 ROUTE 세션)의 개수를 나타낼 수 있다. 각 데이터 파이프는 해당 서비스와 관련된 적어도 하나의 컴포넌트를 포함할 수 있다. IP_address 필드는 각 전송 세션의 IP 주소를 나타낼 수 있다. UDP_port 필드는 각 전송 세션의 UDP port를 나타낼 수 있다. num_LCT_channels 필드는 해당 서비스와 관련된 컴포넌트를 포함하는 전송 세션 내의 LCT 채널의 개수를 나타낼 수 있다. LCT_TSI 필드는 전송 세션 식별자 (Transport Session Identifier, TSI)를 나타낼 수 있다. Representation_ID 필드는 해당 LCT 채널에 의해 운반되는 DASH Representation의 식별자를 나타낼 수 있다. 실시예에 따라 컴포넌트 매핑 테이블은 MPD id 필드 및 Period id 필드를 더 포함할 수 있다. 이 경우, MPD id, Period id 및 Representation id를 조합하여 globally unique ID를 획득할 수 있다. Internet_availability 필드는 해당 Representation 이 인터넷 또는 브로드밴드를 통해서도 수신될 수 있는지 여부를 나타낸 식별자일 수 있다. num_internet_only_reptns 필드는 인터넷 또는 브로드밴드를 통해서만 수신할 수 있는 Representation의 개수를 나타낼 수 있다. Representation_ID 필드는 num_internet_only_reptns 의 loop 내에서, 인터넷 또는 브로드밴드를 통해서만 수신할 수 있는 DASH Representation 의 식별자를 나타낼 수 있다. 상술한 바와 같이 실시예에 따라 MPD id, Period id 및 Representation id를 조합하여 globally unique한 식별자를 구성할 수 있다. 위와 같은 정보를 통해 CMT는 각 서비스에 연관된 컴포넌트들을 정의하고 해당 컴포넌트들을 수신할 수 있는 위치 또는 경로를 수신기에 알려줄 수 있다.
도 72는 본 발명의 일 실시예에 따른 차세대 방송 시스템에서 각 서비스와 연관된 시그널링을 브로드밴드망을 통해 전달하는 방법을 나타낸다. 차세대 방송 시스템은 서비스와 연관된 시그널링을 broadband 망 등을 통하여 수신기로 전달할 수 있다. 차세대 방송 시스템은 URL Signaling Table Description을 이용하여 broadband 망 등을 통해 시그널링을 수신기로 전달할 수 있다. 이는 XML 또는 binary 등 다른 형태로 나타내어질 수 있다. URL Signaling Table Description은 다음과 같은 속성을 포함할 수 있다. service_id 속성은 시그널링과 연관된 서비스의 식별자를 나타낼 수 있다. mpdURL 속성은 브로드밴드 MPD의 URL을 나타낼 수 있다. cstURL 속성은 브로드밴드 CMT의 URL을 나타낼 수 있다. CMT 는 방송 서비스 내 컴포넌트 데이터 획득 경로에 대한 정보를 포함할 수 있다. astURL 속성은 브로드밴드 AST의 URL을 나타낼 수 있다. AST 는 방송 서비스와 연관된 애플리케이션에 대한 정보를 포함할 수 있다. 수신기는 상기 디스크립션을 수신하고 각 시그널링에 대한 URL에 기초하여 해당 시그널링을 수신할 수 있다. 위의 URL Signaling Table Description 은 하나의 XML 파일 혹은 앞서 제안한 시그널링 메시지 포멧으로 encapsulation 되어 전송될 수 있다. 도면 하단에서 보는 바와 같이 Signaling message header 는 앞서 제안한 형태를 따를 수 있으며, 헤더 뒤에 URL Signaling Table Description 혹은 그 일부가 포함될 수 있다.
도 73은 본 발명의 일 실시예에 따른 차세대 방송 시스템에서 MPD를 시그널링하는 방안을 나타낸다. 차세대 방송망에서 사용 가능한 방송 서비스의 MPD에 대한 시그널링 메시지는 도면 상단에 도시된 바와 같이 시그널링 메시지 헤더와 시그널링 메시지로 구성될 수 있다. Signaling message header 는 전술한 형태를 따를 수 있으며, MPD delivery table 정보는 다음과 같은 정보를 포함할 수 있다. Signaling_id 정보는 해당 시그널링 메시지가 MPD 혹은 MPD를 획득할 수 있는 경로 정보를 포함하는 시그널링 메시지임을 식별할 수 있다. protocol_version 정보는 해당 시그널링 메시지의 syntax 등 MPD delivery table 의 프로토콜 버전을 나타낼 수 있다. Signaling_version 정보는 MPD delivery table 의 시그널링 데이터의 변화 등을 나타낼 수 있다. Service_id 정보는 해당 시그널링 정보와 연관된 서비스 식별자를 나타낼 수 있다. Mpd_id 정보는 시그널링 메시지와 연관된 DASH MPD의 식별자를 나타낼 수 있다. MPD_version 정보는 해당 MPD의 변화 등을 나타내는 버전 정보를 나타낼 수 있다. Delivery_mode 정보는 시그널링 메시지가 해당 MPD 를 포함하고 있는지 다른 경로를 통하여 전달되는지 여부에 대한 정보를 나타낼 수 있다. MPD_data() 정보는 해당 시그널링 메시지가 MPD를포함하는 경우 MPD 데이터 자체를 포함할 수 있다. MPD_path 정보는 MPD를 획득할 수 있는 경로에 대한 정보를 포함할 수 있다. 예를 들어 경로는 URL 등을 나타낼 수 있다.
MPD delivery table description은 다음과 같은 정보를 포함할 수 있다. service_id 속성은 시그널링과 연관된 서비스의 식별자를 나타낼 수 있다. MPD_id 속성은 MPD의 식별ㅈ를 나타낼 수 있다. MPD_version은 MPD의 변화 정보를 나타낼 수 있는 버전 정보를 나타낼 수 있다. MPD_URL 속성은 MPD를 획득할 수 있는 URL 정보를 포함할 수 있다. 또한 MPD 엘리먼트는 MPD 정보를 포함할 수 있다. MPD Delivery Table Description 은 하나의 XML 파일 혹은 앞서 제안한 시그널링 메시지 포멧으로 encapsulation 되어 전송될 수 있다. 즉, Signaling message header 는 앞서 제안한 형태를 따를 수 있으며, 그 뒤에 MPD Delivery Table Description 혹은 그 일부가 포함될 수 있다.
도 74는 본 발명의 일 실시예에 따른 차세대 방송 시스템의 MPD 딜리버리 테이블의 신택스를 나타낸다. 시그널링 메시지 헤더 뒤에는 MPD 딜리버리 테이블의 정보 또는 그 일부가 포함될 수 있으며 MPD 딜리버리 테이블의 정보는 다음과 같은 필드를 포함할 수 있다. service_id 필드는 연관된 방송 서비스의 식별자를 나타낼 수 있다. MPD_id_length 필드는 뒤따르는 MPD_id_bytes() 길이를 나타낼 수 있다. MPD_id_bytes 필드는 signaling 메시지에 포함되는 MPD 파일의 식별자를 나타낼 수 있다. MPD_version 필드는 해당 MPD의 데이터의 변화 등 버전 정보를 나타낼 수 있다. MPD_URL_availabilty 필드는 해당 시그널링 테이블/메시지 내에 MPD 의 URL 정보의 존재 여부를 나타낼 수 있다. MPD_data_availabilty 필드는 해당 시그널링 테이블/메시지 내에 MPD 자체 포함 여부를 나타낼 수 있다. 해당 값이 ‘1’인 경우 MPD 자체가 해당 시그널링 테이블/메시지에 포함됨을 나타낼 수 있다. MPD_URL_length 필드는 뒤따르는 MPD_URL_bytes() 길이를 나타낼 수 있다. MPD_URL_bytes 필드는 signaling 메시지에 포함되는 MPD URL을 나타낼 수 있다. MPD_coding 필드는 해당 signaling 메시지 내에 포함하는 MPD 파일의 인코딩 방식을 나타낼 수 있다. 도면 하단과 같이 값에 따라 MPD 파일이 서로 다른 형태의 인코딩 방식으로 인코딩되었음을 나타낼 수 있다. 예를 들어 MPD_coding 필드의 값이 ‘0x00’인 경우 XML로 표현되는 MPD 파일 자체를 포함하고 있음을 나타낼 수 있다. 또한 그 값이 ‘0x01’인 경우 gzip 으로 압축된 MPD 파일이 포함되어 있음을 나타낼 수 있다. 예를 들어 gzip 으로 압축되어 있는 MPD 가 복수의 메시지/테이블로 나뉘어져 전송되는 경우 해당 복수의 MPD_bytes()를 concatenate한 후 ungzip 할 수 있다. MPD_byte_length 필드는 뒤따르는 MPD_bytes() 길이를 나타낼 수 있다. MPD_bytes 필드는 MPD_coding 에서 명시된 인코딩 방식에 따라 signaling 메시지에 포함되는 MPD 파일의 실제 데이터를 포함할 수 있다. 차세대 방송 시스템은 상술한 필드들을 포함하는 MPD 딜리버리 테이블을 통해 수신기가 서비스와 관련된 MPD를 수신 또는 획득할 수 있도록 한다.
도 75는 본 발명의 일 실시예에 따른 차세대 방송 시스템의 전송 세션 인스턴스 디스크립션을 나타낸다. 어플리케이션 레이어 전송 방법이 Real-Time Object Delivery over Unidirectional Transport (이하 ROUTE) 인 경우 ROUTE 세션이 하나 이상의 LCT(Layered Coding Transport) 세션들로 구성될 수 있다. 하나 이상의 전송 세션(Transport session) 에 대한 세부 정보는 전송 세션 인스턴스 디스크립션을 통해 시그널링 될 수 있다. 전송 세션 인스턴스 디스크립터는 ROUTE인 경우 LCT Session Instance Description (LSID)로 지칭될 수 있다. 특히, 전송 세션 인스턴스 디스크립션은 ROUTE 세션을 구성하는 각 LCT 전송 세션에 의해 무엇이 전달되는지를 정의할 수 있다. 각 전송 세션은 전송 세션 식별자(Transport Session Identifier, TSI)에 의해 유니크하게 식별될 수 있다. 전송 세션 식별자는 LCT 헤더에 포함될 수 있다. 전송 세션 인스턴스 디스크립션은 해당 세션을 통해 전송되는 모든 전송 세션을 기술할 수 있다. 예를 들어 LSID는 ROUTE 세션에 의해 운반되는 모드 LCT 세션을 기술할 수 있다. 전송 세션 인스턴스 디스크립션은 전송 세션들과 동일한 ROUTE 세션으로 전달되거나, 또는 서로 다른 ROUTE 세션이나 유니캐스트를 통해 전달될 수도 있다.
동일한 ROUTE 세션으로 전달되는 경우, 전송 세션 인스턴스 디스크립션은 지정된 전송 세션 식별자(TSI) 0을 갖는 전송 세션으로 전달될 수 있다. 전송 세션 인스턴스 디스크립션에서 참조되는 다른 오브젝트도 TSI=0으로 전달될 수 있으나, 전송 세션 인스턴스 디스크립션과는 다른 TOI 값을 가질 수 있다. 또는 TSI ≠ 0인 분리된 전송 세션을 통해 전달될 수도 있다. 전송 세션 인스턴스 디스크립션은버전 넘버, 유효(validity) 정보 또는 만료(expiration) 정보 중 적어도 하나를 이용하여 업데이트될 수 있다. 전송 세션 인스턴스 디스크립션은 도시된 형태 이외에 bitstream 등으로 나타내어 질 수 있다.
전송 세션 인스턴스 디스크립션은 version 속성, validFrom 속성, expiration 속성을 포함할 수 있으며, 각 전송 세션에 대해 TSI 속성 및 SourceFlow, RepairFlow 정보를 포함할 수 있다. version 속성은 해당 전송 세션 인스턴스 디스크립션의 버전 정보를 나타낼 수 있으며, 그 내용이 업데이트 될 때마다 버전 정보는 증가할 수 있다. 가장 높은 버전 넘버를 갖는 전송 세션 인스턴스 디스크립션이 최근의 유효한 버전임을 나타낼 수 있다. validFrom 속성은 해당 전송 세션 인스턴스 디스크립션이 언제부터 유효한 지를 나타낼 수 있다. validFrom 속성은 실시예에 따라 전송 세션 인스턴스 디스크립션에 포함되지 않을 수도 있으며, 이 경우 해당 전송 세션 인스턴스 디스크립션은 수신 즉시 유효함을 나타낼 수 있다. expiration 속성은 해당 전송 세션 인스턴스 디스크립션이 언제 만료되는지를 나타낼 수 있다. expiration 속성은 실시예에 따라 전송 세션 인스턴스 디스크립션에 포함되지 않을 수도 있으며, 이 경우 해당 전송 세션 인스턴스 디스크립션은 계속적으로 유효한 것임을 나타낼 수 있다. 만약 expiration 속성을 갖는 전송 세션 인스턴스 디스크립션이 수신되면 해당 expiration 속성을 따를 수 있다. TSI 속성은 전송 세션 식별자를 나타낼 수 있으며, SourceFlow 엘리먼트는 해당 TSI로 전송되는 소스 플로우의 정보를 제공하며, 상세 내용은 아래에서 설명한다. RepairFlow 엘리먼트는 해당 TSI로 전송되는 리페어 플로우의 정보를 제공할 수 있다.
도 76은 본 발명의 일 실시예에 다른 차세대 방송 시스템의 소스 플로우(SourceFlow) 엘리먼트를 나타낸다. 소스 플로우 엘리먼트는 EFDT 엘리먼트, idRef 속성, realtime 속성, minBufferSize 속성, Application Idendtifier 엘리먼트, PayloadFormat 엘리먼트를 포함할 수 있다. EFDT 엘리먼트는 파일 딜리버리 데이터의 상세 정보를 포함할 수 있다. EFDT는 extended File Delivery Table(FDT) instance를 나타낼 수 있으며 자세한 내용은 아래에서 설명한다. idRef 속성은 EFDT의 식별자를 나타낼 수 있으며, 대응하는 전송 세션에 의해 URI로 표현될 수 있다. realtime 속성은 해당 LCT 패킷들이 확장 헤더(extension header)를 포함함을 나타낼 수 있다. 확장 헤더는 딜리버리 오브젝트의 프리젠테이션 타임을 나타내는 타임 스탬프를 포함할 수 있다. minBufferSize 속성은 수신기에 저장되는데 필요한 데이터의 최대 양을 정의할 수 있다. Application Idendtifier 엘리먼트는 해당 전송 세션에 의해 운반되는 어플리케이션에 매핑될 수 있는 부가 정보를 제공할 수 있다. 예를 들어 렌더링을 위한 전송 세션을 선택하기 위한 DASH 컨텐츠의 Representation ID 또는 DASH representation의 Adaptation Set 파라미터가 부가 정보로 제공될 수 있다. PayloadFormat 엘리먼트는 소스플로우의 오브젝트를 운반하는 ROUTE 패킷의 페이로드 포맷을 정의할 수 있다. PayloadFormat 엘리먼트는 codePoint 속성, deliveryObjectFormat 속성, fragmentation 속성, deliveryOrder 속성, sourceFecPayloadID 속성 및/또는 FECParameters 엘리먼트를 포함할 수 있다. codePoint 속성은 해당 페이로드에서 사용되는 코드포인트 값이 가지는 패킷의 구조 등을 정의할 수 있다. 이는 LCT 헤더의 CP 필드의 값을 나타낼 수 있다. deliveryObjectFormat 속성은 해당 딜리버리 오브젝트의 페이로드 포맷을 나타낼 수 있다. fragmentation 속성은 오브젝트가 하나 이상의 전송 패킷으로 나뉘어져서 전송되는 경우 프래그멘테이션 규칙 등을 정의할 수 있다. deliveryOrder 속성은 하나의 전송 오브젝트를 전달하는 각 전송 패킷이 포함하는 내용의 전송 순서를 나타낼 수 있다. sourceFecPayloadID 속성은 source FEC 페이로드 식별자의 포맷을 정의할 수 있다. FECParameters 엘리먼트는 FEC 파라미터들을 정의할 수 있다. 이는 FEC encoding id, instance id등을 포함할 수 있다.
도 77은 본 발명의 일 실시예에 따른 차세대 방송 시스템의 EFDT를 나타낸다. EFDT는 파일 딜리버리 데이터의 상세 정보를 포함할 수 있다. EFDT는 idRef 속성, 버전 속성, maxExpiresDelta 속성, maxTransportSize 속성, FileTemplate 엘리먼트를 포함할 수 있다. idRef 속성은 EFDT의 식별자를 나타낼 수 있다. 버전 속성은 EFDT 인스턴스 디스크립터의 버전을 나타낼 수 있다. 이 속성은 EFDT가 업데이트될 때 1씩 증가할 수 있다. 수신된 EFDT 중 가장 높은 버전 넘버를 갖는 EFDT가 현재 유효한 버전임을 나타낼 수 있다. maxExpiresDelta 속성은 오브젝트와 연관된 첫번째 패킷을 전송한 후 해당 오브젝트의 최대 유효시간(expiry time)을 나타낼 수 있다. maxTransportSize 속성은 해당 EFDT에 의해 기술되는 오브젝트의 최대 전송 사이즈를 나타낼 수 있다. FileTemplate 엘리먼트는 바디 부분의 file URL 또는 file 템플릿을 상세화할 수 있다.
전술한 전송 세션 인스턴스 디스크립터 (LSID) element는 도면 하단의 전송 세션 인스턴스 디스크립터 테이블 (LSID Table)에 의해 전송될 수 있다. LSID Table은 전술한 signaling message에 의해 전달될 수 있으며, 이는 시그널링 메시지 헤더와 시그널링 메시지 데이터 부분으로 구분될 수 있다. 시그널링 메시지 데이터 부분은 전송 세션 인스턴스 디스크립터 (LSID) 또는 그 일부를 포함할 수 있다. 시그널링 메시지 데이터는 전송 세션 인스턴스 디스크립터 (LSID) Table을 포함할 수 있으며, 다음과 같은 필드들을 포함할 수 있다. Signaling_id 필드는 전송 세션 인스턴스 디스크립터 (LSID)를 포함하는 시그널링 table 임을 나타내는 식별자 정보를 나타낼 수 있다. protocol_version 필드는 전송 세션 인스턴스 디스크립터(LSID)를 포함하는 시그널링 syntax 등 시그널링의 프로토콜 버전을 나타낼 수 있다. Signaling_version 필드는 전송 세션 인스턴스 디스크립터(LSID)를 포함하는 시그널링 데이터의 변화 등을 나타낼 수 있다. 이와 더불어 전송 세션 인스턴스 디스크립터 테이블은 앞서 설명한 전송 세션 인스턴스 디스크립터 (LSID) 엘리먼트의 내용을 더 포함할 수 있다.
도 78은 본 발명의 일 실시예에 따른 차세대 방송 시스템이 사용하는 ISDT를 전송하는 방법을 나타낸다. 차세대 방송 시스템은 Initialization Segment Delivery Table (ISDT)를 전송함으로써 방송 서비스 내의 컴포넌트와 연관된 DASH Representation 의 Initialization segment 에 대한 시그널링 정보를 전달할 수 있다. 방송 서비스 내 컴포넌트와 연관된 DASH Representation 의 Initialization segment 에 대한 시그널링 메시지는 헤더와 데이터를 포함할 수 있다. Signaling message header 는 전술한 형태를 따를 수 있으며, 시그널링 메시지 데이터는 initialization segment delivery 정보 또는 그 일부를 포함할 수 있다. initialization segment delivery 정보는 다음의 정보를 포함할 수 있다. Signaling_id 정보는 initialization segment 혹은 그 경로 정보를 포함하는 시그널링 메시지임을 식별할 수 있다. protocol_version 정보는 해당 시그널링 메시지의 syntax 등 initialization segment delivery table 의 프로토콜 버전을 나타낼 수 있다. Sequence_number 정보는 initialization segment delivery table 의 인스턴스에 대한 식별자를 나타낼 수 있다. Signaling_version 정보는 initialization segment delivery table 의 시그널링 데이터의 변화 등을 나타낼 수 있다. Service_id 정보는 해당 컴포넌트와 연관된 서비스를 식별할 수 있다. Mpd_id 정보는 해당 컴포넌트와 연관된 연관된 DASH MPD 식별자를 나타낼 수 있다. period_id 정보는 해당 컴포넌트와 연관된 연관된 DASH Period 식별자를 나타낼 수 있다. representation_id 정보는 해당 컴포넌트와 연관된 DASH representation 식별자를 나타낼 수 있다. Initialization_segment_version 정보는 해당 MPD의 변화 등을 나타내는 버전 정보일 수 있다. Delivery_mode 정보는 해당 initialization segment 를 포함하고 있는지 다른 경로를 통하여 전달되는 지 등에 대한 정보를 나타낼 수 있다. Initialization_segment _data() 정보는 initialization segment 데이터 자체를 포함할 수 있다. initialization segment path 정보는 initialization segment 에 대한 URL 등 initialization segment 를 획득할 수 있는 경로에 대한 정보를 포함할 수 있다. 이와 같은 ISDT를 통해 수신기는 컴포넌트와 연관된 DASH Representation 의 Initialization segment 에 대한 정보를 수신할 수 있다.
도 79는 본 발명의 일 실시예에 따른 차세대 방송 시스템의 시그널링 메시지의 딜리버리 구조를 나타낸다. 전술한 시그널링 데이터들이 application layer transport, 예를 들어 ROUTE 기반으로 전송되는 경우 도시된 바와 같이 전달될 수있다. 즉, 신속한 서비스의 스캔 등을 지원하기 위하여 fast information channel 등을 통하여 일부 시그널링을 전송할 수 있다. 그리고 시그널링의 일부는 특정 transport session을 통하여 전송될 수 있으며 또한 컴포넌트 데이터와 함께 혼재 되어 전달될 수 있다.
신속한 서비스의 스캔 및 획득을 지원하기 위한 시그널링 정보는 전송 세션과 별도의 채널로 수신될 수 있다. 여기서 별도의 채널이란 별도의 데이터 파이프(data pipe, DP)를 의미할 수 있다. 또한 서비스에 대한 상세 정보는 별도의 지정된 전송 세션을 통해 수신될 수 있으며 이 때 해당 전송 세션은 TSI=0의 값을 가질 수 있다. 여기서 지정된 전송 세션을 통해 전달되는 정보는 MPD 딜리버리 테이블, 어플리케이션 시그널링 테이블, 전송 세션 인스턴스 디스크립션 테이블 및/또는 컴포넌트 매핑 테이블을 포함할 수 있다. 또한 일부 시그널링 정보는 컴포넌트 데이터와 함께 전송 세션으로 전달될 수 있으며, 예를 들어 initialization segment delivery table이 컴포넌트 데이터와 함께 전달될 수 있다.
도면 하단은 차세대 방송망에서 방송 서비스를 획득하는 실시예를 나타낸다. 수신기는 서비스가 선택되면 브로드캐스트를 튜닝하고 빠른 서비스 스캔 및 획득을 위한 정보를 획득하고 파싱할 수 있다. 그 다음, 빠른 서비스 스캔 및 획득을 위한 정보로부터 서비스 레이어 시그널링 또는 전송 세션 인스턴스 디스크립션 (예를들어 LSID)의 위치가 결정되면 해당 디스크립션을 획득하고 파싱할 수 있다. 이와 함께 수신기는 시그널링을 포함한 전송 세션을 확인하고 이로부터 시근러링 테이블을 획득하고 파싱할 수 있으며, 원하는 컴포넌트를 결정할 수 있다. 이 과정을 통해 원하는 컴포넌트를 프리젠테이션 할 수 있다. 즉, 방송 서비스는 빠른 서비스 스캔 및 획득을 위한 정보로부터 전송 세션에 대한 정보를 획득하고, 전송 세션에 대한 정보로부터 원하는 컴포넌트의 위치를 확인하여 해당 컴포넌트를 재생함으로써 사용자에게 제공될 수 있다.
도 80은 본 발명의 일 실시예에 따른 차세대 방송 송신 장치를 나타낸 도면이다. 본 발명의 차세대 방송 송신 장치는 방송 신호에 미디어 스트림 및 시그널링 정보를 포함하여 전송할 수 있다. 차세대 방송 송신 장치는 시그널링 정보 내에 상술한 미디어 스트림 또는 컴포넌트에 대한 시그널링 정보를 포함시켜 전송할 수 있다. 시그널링 정보는 전술한 빠른 서비스 스캔 및 획득을 위한 정보, 서비스 시그널링 정보, 전송 세션에 대한 정보, 서비스와 컴포넌트를 매핑하는 정보, MPD에 대한 정보 등을 포함할 수 있다. 차세대 방송 송신 장치(D800000)는 인코더(D800010), 시그널링 생성부(D800020), 다중화부(D800030) 및/또는 송신부(D800040)를 포함할 수 있다. 인코더(D800010)는 미디어 데이터를 미디어 스트림을 인코딩할 수 있다. 시그널링 생성부(D800020)는 미디어 스트림 또는 컴포넌트를 시그널링하는 시그널링 정보를 생성할 수 있다. 상술한 바와 같이 시그널링 정보는 전술한 빠른 서비스 스캔 및 획득을 위한 정보, 서비스 시그널링 정보, 전송 세션에 대한 정보, 서비스와 컴포넌트를 매핑하는 정보, MPD에 대한 정보 등을 포함할 수 있다. 다중화부(D800030)는 미디어 스트림과 시그널링 정보를 다중화하여 방송 신호를 생성할 수 있다. 여기서 방송 신호는 상술한 차세대 방송 서비스에 대한 방송 신호 송신 장치의 인풋 포맷 블럭에 입력되는 MPEG2-TS, IP 또는 GS 스트림 입력을 포함할 수 있다. 송신부(D800040)는 생성된 방송 신호를 송신할 수 있다.
도 81은 본 발명의 일 실시예에 따른 차세대 방송 수신 장치를 나타낸 도면이다.
차세대 방송 수신 장치는 미디어 스트림 및 시그널링 정보를 포함하는 방송 신호를 수신할 수 있다. 차세대 방송 수신 장치는 방송 신호에 포함된 시그널링 정보를 파싱할 수 있다. 시그널링 정보는 전술한 빠른 서비스 스캔 및 획득을 위한 정보, 서비스 시그널링 정보, 전송 세션에 대한 정보, 서비스와 컴포넌트를 매핑하는 정보, MPD에 대한 정보 등을 포함할 수 있다. 차세대 방송 수신 장치(D810000)는 수신부(D810010), 역다중화부(D810020) 및/또는 프로세서(D810030)를 포함할 수 있다.
수신부(D810010)는 지상파 방송 신호 및/또는 브로드밴드 방송 신호를 수신할 수 있다. 여기서 방송 신호는 다중화된 미디어 스트림 및 미디어 스트림을 시그널링하는 시그널링 정보를 포함할 수 있다. 수신부(D810010)의 동작은 상술한 튜너에 의해서 동일하게 수행될 수 있다. 역다중화부(D810020)는 수신된 방송 신호를 역다중화하여 미디어 스트림 및 시그널링 정보를 획득할 수 있다. 시그널링 정보는 상술한 시그널링 파서에 의해 파싱되어, 차세대 방송 수신 장치는 방송 서비스 및 컴포넌트에 대한 시그널링 정보를 획득할 수 있다. 프로세서(D810030)는 시그널링 정보를 이용하여 서비스와 컴포넌트 간의 매핑 관계, 전송 세션에 대한 정보 및/또는 MPD에 대한 정보를 획득할 수 있다.
도 82은 본 발명의 일 실시예에 따른 차세대 방송 송신 방법을 나타낸 도면이다. 본 발명의 차세대 방송 송신 방법은 방송 신호에 미디어 스트림 및 시그널링 정보를 포함하여 전송할 수 있다. 차세대 방송 송신 방법은 시그널링 정보 내에 상술한 미디어 스트림 또는 컴포넌트에 대한 시그널링 정보를 포함시켜 전송할 수 있다. 시그널링 정보는 전술한 빠른 서비스 스캔 및 획득을 위한 정보, 서비스 시그널링 정보, 전송 세션에 대한 정보, 서비스와 컴포넌트를 매핑하는 정보, MPD에 대한 정보 등을 포함할 수 있다. 차세대 방송 송신 방법은 다음과 같이 수행될 수 있다. 차세대 방송 송신 방법은 미디어 데이터를 미디어 스트림을 인코딩할 수 있다(DS820010). 차세대 방송 송신 방법은 미디어 스트림을 시그널링하는 시그널링 정보를 생성할 수 있다(DS820020). 상술한 바와 같이 시그널링 정보는 전술한 빠른 서비스 스캔 및 획득을 위한 정보, 서비스 시그널링 정보, 전송 세션에 대한 정보, 서비스와 컴포넌트를 매핑하는 정보, MPD에 대한 정보 등을 포함할 수 있다. 차세대 방송 송신 방법은 미디어 스트림과 시그널링 정보를 다중화하여 방송 신호를 생성할 수 있다(DS820030). 여기서 방송 신호는 상술한 차세대 방송 서비스에 대한 방송 신호 송신 장치의 인풋 포맷 블럭에 입력되는 MPEG2-TS, IP 또는 GS 스트림 입력을 포함할 수 있다. 차세대 방송 송신 방법은 미디어 스트림과 시그널링 정보를 포함하는 방송 신호를 송신할 수 있다(DS820040).
도 83는 본 발명의 일 실시예에 따른 차세대 방송 수신 방법을 나타낸 도면이다. 차세대 방송 수신 방법은 미디어 스트림 및 시그널링 정보를 포함하는 방송 신호를 수신할 수 있다. 차세대 방송 수신 방법은 시그널링 정보를 파싱할 수 있으며, 전술한 빠른 서비스 스캔 및 획득을 위한 정보, 서비스 시그널링 정보, 전송 세션에 대한 정보, 서비스와 컴포넌트를 매핑하는 정보, MPD에 대한 정보 등을 포함할 수 있다. 차세대 방송 수신 방법은 다음과 같이 수행될 수 있다. 차세대 방송 수신 방법은 방송 신호를 수신할 수 있다(DS830010). 여기서 방송 신호는 다중화된 미디어 스트림 및 미디어 스트림을 시그널링하는 시그널링 정보를 포함할 수 있다. 차세대 방송 수신 방법은 방송 신호를 역다중화하여 시그널링 정보를 획득할 수 있다(DS830020). 시그널링 정보는 상술한 시그널링 파서에 의해 파싱되어, 차세대 방송 수신 방법은 미디어 스트림에 대한 시그널링 정보를 획득할 수 있다. 차세대 방송 수신 방법은 시그널링 정보를 이용하여 미디어 스트림을 획득할 수 있다(DS830030). 여기서 시그널링 정보는 전술한 빠른 서비스 스캔 및 획득을 위한 정보, 서비스 시그널링 정보, 전송 세션에 대한 정보, 서비스와 컴포넌트를 매핑하는 정보, MPD에 대한 정보 등을 포함할 수 있다.
본 명세서에서 모듈 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있다. 전술한 실시예에 기술된 각 단계들은 하드웨어/프로세서들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블락/유닛들은 하드웨어/프로세서로서 동작할 수 있다. 또한, 본 발명이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 발명의 권리범위에 속한다.
본 발명에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명이 제안하는 방법을 네트워크 디바이스에 구비된, 프로세서가 읽을 수 있는 기록매체에, 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
그리고, 당해 명세서에서는 물건 발명과 방법 발명이 모두 설명되고 있으며, 필요에 따라 양 발명의 설명은 보충적으로 적용될 수가 있다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 이해된다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.