KR20170026543A - 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 - Google Patents

방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 Download PDF

Info

Publication number
KR20170026543A
KR20170026543A KR1020177002590A KR20177002590A KR20170026543A KR 20170026543 A KR20170026543 A KR 20170026543A KR 1020177002590 A KR1020177002590 A KR 1020177002590A KR 20177002590 A KR20177002590 A KR 20177002590A KR 20170026543 A KR20170026543 A KR 20170026543A
Authority
KR
South Korea
Prior art keywords
information
data
watermark
content
signaling
Prior art date
Application number
KR1020177002590A
Other languages
English (en)
Other versions
KR101923459B1 (ko
Inventor
안승주
곽민성
양승률
문경수
이진원
고우석
홍성룡
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20170026543A publication Critical patent/KR20170026543A/ko
Application granted granted Critical
Publication of KR101923459B1 publication Critical patent/KR101923459B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • H04N21/4725End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6131Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a mobile phone network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/615Signal processing at physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 TV 수신기에서 모바일 방송 서비스를 제공하는 방법을 제안한다. 이 방법은, 모바일 방송 컨텐츠를 재생중인 모바일 디바이스와 페어링하는 단계; 상기 모바일 디바이스로부터 상기 모바일 방송 컨텐츠의 오디오 및 비디오 컴포넌트를 전달받아 재생하는 단계; 상기 오디오 컴포넌트 또는 상기 비디오 컴포넌트로부터 워터마크를 추출하는 단계; 및 상기 워터마크를 이용하여 상기 모바일 방송 컨텐츠와 관련된 시그널링 정보를 획득하는 단계; 를 포함하는 방송 서비스 제공 방법일 수 있다.

Description

방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법{BROADCAST SIGNAL TRANSMISSION APPARATUS, BROADCAST SIGNAL RECEPTION APPARATUS, BROADCAST SIGNAL TRANSMISSION METHOD, AND BROADCAST SIGNAL RECEPTION METHOD}
본 발명은 방송 신호 송신 장치, 방송 신호 수신 장치, 및 방송 신호 송수신 방법에 관한 것이다.
아날로그 방송 신호 송신이 종료됨에 따라, 디지털 방송 신호를 송수신하기 위한 다양한 기술이 개발되고 있다. 디지털 방송 신호는 아날로그 방송 신호에 비해 더 많은 양의 비디오/오디오 데이터를 포함할 수 있고, 비디오/오디오 데이터뿐만 아니라 다양한 종류의 부가 데이터를 더 포함할 수 있다.
즉, 디지털 방송 시스템은 HD(High Definition) 이미지, 멀티채널(multi channel, 다채널) 오디오, 및 다양한 부가 서비스를 제공할 수 있다. 그러나, 디지털 방송을 위해서는, 많은 양의 데이터 전송에 대한 데이터 전송 효율, 송수신 네트워크의 견고성(robustness), 및 모바일 수신 장치를 고려한 네트워크 유연성(flexibility)이 향상되어야 한다.
목적 및 다른 이점을 달성하기 위해, 본 발명의 목적에 따라, 여기에 포함되고 대략적으로 기재된 바와 같이, TV 수신기에서 모바일 방송 서비스를 제공하는 방법은 모바일 방송 컨텐츠를 재생중인 모바일 디바이스와 페어링하는 단계; 상기 모바일 디바이스로부터 상기 모바일 방송 컨텐츠의 오디오 및 비디오 컴포넌트를 전달받아 재생하는 단계; 상기 오디오 컴포넌트 또는 상기 비디오 컴포넌트로부터 워터마크를 추출하는 단계; 및 상기 워터마크를 이용하여 상기 모바일 방송 컨텐츠와 관련된 시그널링 정보를 획득하는 단계; 를 포함하는 방송 서비스 제공 방법.
바람직하게는, 워터마크는 시그널링 서버와 관련된 URL 정보를 포함하고,상기 워터마크를 이용하여 시그널링 정보를 획득하는 단계는 상기 URL 정보를 이용하여 상기 시그널링 서버의 URL 을 생성하는 단계를 더 포함하는 방송 서비스 제공 방법.
다른 관점에서, 본 발명은 모바일 방송 서비스를 제공하는 방송 수신 장치를 제공한다. 이 방송 수신 장치는 모바일 방송 컨텐츠를 재생중인 모바일 디바이스와 페어링하는 페어링 모듈; 상기 모바일 디바이스로부터 상기 모바일 방송 컨텐츠의 오디오 및 비디오 컴포넌트를 전달받는 AV 쉐어링 모듈; 상기 전달받은 오디오 및 비디오 컴포넌트를 재생하는 디스플레이 모듈; 및 상기 오디오 컴포넌트 또는 상기 비디오 컴포넌트로부터 워터마크를 추출하는 ACR(Auto Content Recognition) 모듈, 여기서 상기 ACR 모듈은 상기 워터마크를 이용하여 상기 모바일 방송 컨텐츠와 관련된 시그널링 정보를 획득하는 것을 특징으로 하는 모바일 방송 서비스를 제공하는 방송 수신 장치.
바람직하게는, 워터마크는 시그널링 서버와 관련된 URL 정보를 포함하고, 상기 ACR 모듈은 URL 정보를 이용하여 상기 시그널링 서버의 URL 을 생성하는 것을 특징으로 하는 모바일 방송 서비스를 제공하는 방송 수신 장치.
본 발명은 서비스 특성에 따라 데이터를 처리하여 각 서비스 또는 서비스 컴포넌트에 대한 QoS (Quality of Service)를 제어함으로써 다양한 방송 서비스를 제공할 수 있다.
본 발명은 동일한 RF (radio frequency) 신호 대역폭을 통해 다양한 방송 서비스를 전송함으로써 전송 유연성(flexibility)을 달성할 수 있다.
본 발명은 MIMO (Multiple-Input Multiple-Output) 시스템을 이용하여 데이터 전송 효율 및 방송 신호의 송수신 견고성(Robustness)을 향상시킬 수 있다.
본 발명에 따르면, 모바일 수신 장치를 사용하거나 실내 환경에 있더라도, 에러 없이 디지털 방송 신호를 수신할 수 있는 방송 신호 송신 및 수신 방법 및 장치를 제공할 수 있다.
본 발명에 대해 더욱 이해하기 위해 포함되며 본 출원에 포함되고 그 일부를 구성하는 첨부된 도면은 본 발명의 원리를 설명하는 상세한 설명과 함께 본 발명의 실시예를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 송신 장치의 구조를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 인풋 포맷팅(Input formatting, 입력 포맷) 블록을 나타낸다.
도 3은 본 발명의 다른 일 실시예에 따른 인풋 포맷팅(Input formatting, 입력 포맷) 블록을 나타낸다.
도 4는 본 발명의 일 실시예에 따른 BICM (bit interleaved coding & modulation) 블록을 나타낸다.
도 5는 본 발명의 다른 일 실시예에 따른 BICM 블록을 나타낸다.
도 6은 본 발명의 일 실시예에 따른 프레임 빌딩(Frame Building, 프레임 생성) 블록을 나타낸다.
도 7은 본 발명의 일 실시예에 따른 OFDM (orthogonal frequency division multiplexing) 제너레이션(generation, 생성) 블록을 나타낸다.
도 8은 본 발명의 일 실시예에 따른 차세대 방송 서비스에 대한 방송 신호 수신 장치의 구조를 나타낸다.
도 9는 본 발명의 일 실시예에 따른 프레임 구조를 나타낸다.
도 10은 본 발명의 일 실시예에 따른 프레임의 시그널링 계층 구조를 나타낸다.
도 11은 본 발명의 일 실시예에 따른 프리앰블 시그널링 데이터를 나타낸다.
도 12는 본 발명의 일 실시예에 따른 PLS1 데이터를 나타낸다.
도 13은 본 발명의 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 14는 본 발명의 다른 일 실시예에 따른 PLS2 데이터를 나타낸다.
도 15는 본 발명의 일 실시예에 따른 프레임의 로지컬(logical, 논리) 구조를 나타낸다.
도 16은 본 발명의 일 실시예에 따른 PLS (physical layer signalling) 매핑을 나타낸다.
도 17은 본 발명의 일 실시예에 따른 EAC (emergency alert channel) 매핑을 나타낸다.
도 18은 본 발명의 일 실시예에 따른 FIC (fast information channel) 매핑을 나타낸다.
도 19는 본 발명의 일 실시예에 따른 FEC (forward error correction) 구조를 나타낸다.
도 20은 본 발명의 일 실시예에 따른 타임 인터리빙을 나타낸다.
도 21은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 기본 동작을 나타낸다.
도 22는 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
도 23은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 대각선 방향 읽기 패턴을 나타낸다.
도 24는 본 발명의 일 실시예에 따른 각 인터리빙 어레이(array)로부터 인터리빙된 XFECBLOCK을 나타낸다.
도 25 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디 인터리빙을 위한 시그널링을 도시한 도면이다.
도 26 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디 인터리빙을 위한 시그널링에 있어서, FSS 를 위한 FI 스킴들을 도시한 도면이다.
도 27 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디 인터리빙을 위한 시그널링에 있어서, FES 를 위한 리셋 모드의 동작을 도시한 도면이다.
도 28 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 주파수 인터리버의 입력과 출력을 수학식으로 표시한 도면이다.
도 29 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, FI 스킴 #1 및 FI 스킴 #2 에 따른 주파수 인터리빙의 논리적 동작 매커니즘의 수학식을 나타낸다.
도 30 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 짝수인 경우의 실시예를 도시한 도면이다.
도 31 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 짝수인 경우의 실시예를 도시한 도면이다.
도 32 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 홀수인 경우의 실시예를 도시한 도면이다.
도 33 는 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 심볼의 개수가 홀수인 경우의 실시예를 도시한 도면이다.
도 34 은 본 발명의 일 실시예에 따른 프레임 내의 심볼 수에 영향받지 않는 싱글 메모리 디인터리빙을 위한 시그널링에 있어서, 주파수 디인터리버의 동작을 도시한 도면이다.
도 35는 본 발명의 다른 실시예에 따른 variable data-rate 시스템을 나타낸 개념도이다.
도 36은 본 발명의 블록 인터리빙의 라이팅(writing) 및 리딩 (reading) 오퍼레이션의 일 실시예를 나타낸다. 이에 대한 구체적인 내용은 전술하였다.
도 37은 본 발명의 일 실시예에 따른 블록 인터리빙을 나타낸 수학식이다.
도 38는 본 발명의 일 실시예에 따른 버츄얼 (virtual) FEC 블록들을 나타낸 도면이다.
도 39은 본 발명의 일 실시예에 따른 버츄얼 (virtual) FEC 블록들이 삽입된 이후 리딩 (reading) 동작을 나타낸 수학식이다.
도 40는 본 발명의 일 실시예에 따른 타임 인터리빙의 프로세스를 나타낸 순서도이다.
도 41은 본 발명의 일 실시예에 따른 시프트 밸류 및 맥시멈 TI 블록의 크기를 결정하는 과정을 나타낸 수학식이다.
도 42은 본 발명의 일 실시예에 따른 라이팅 (writing) 오퍼레이션을 나타낸다.
도 43은 본 발명의 일 실시예에 따른 리딩 (reading) 오퍼레이션을 나타낸다.
도 44은 본 발명의 일 실시예에 따른 리딩 (reading) 오퍼레이션에서 스킵 오퍼레이션이 수행된 결과를 나타낸다.
도 45는 본 발명의 일 실시예에 따른 타임 디인터리빙의 라이팅 (writing) 과정을 나타낸다.
도 46는 본 발명의 다른 실시예에 따른 타임 디인터리빙의 라이팅 (writing) 과정을 나타낸다.
도 47은 본 발명의 다른 실시예에 따른 타임 디인터리빙의 리딩 (reading) 오퍼레이션을 나타내는 수학식이다.
도 48은 본 발명의 일 실시예에 따른 타임 디인터리빙의 프로세스를 나타낸 순서도이다.
도 49은 본 발명의 일 실시예에 따른 네트워크 토폴로지를 보여주는 블록도이다.
도 50는 본 발명의 일 실시예에 따른 워터마크 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 51은 본 발명의 일 실시예에 따른 워터마크 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
도 52는 본 발명의 일 실시예에 따른 워터마크 기반의 컨텐츠 인식 타이밍을 보여준다.
도 53는 본 발명의 일 실시예에 따른 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 54은 본 발명의 일 실시예에 따른 핑거프린트 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
도 55은 본 발명의 일 실시예에 따른 질의 결과를 담는 ACR-Resulttype의 XML 스키마 다이어그램(schema diagram)을 보여준다.
도 56은 본 발명의 일 실시예에 따른 워터마크와 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 57은 본 발명의 일 실시예에 따른 워터마크와 핑거프린트 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
도 58은 본 발명의 실시예에 따른 영상 표시 장치의 블록도이다.
도 59는 본 발명의 실시예에 따라 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 재생 시간을 동기화하는 방법을 보여주는 흐름도이다.
도 60에 도시된 바와 같이, 영상 표시 장치(100)는 시스템 시간(Tn)에서 시청각 샘플을 추출한다.
도 61은 본 발명의 또 다른 실시예에 따른 핑거프린트 기반의 영상 표시 장치의 구조를 보여주는 블록도이다.
도 62은 본 발명의 또 다른 실시예에 따른 워트마크 기반의 영상 표시 장치의 구조를 보여주는 블록도이다.
도 63 는 본 발명의 일 실시예에 따른 워터마킹 기법을 통해 전달될 수 있는 데이터들을 예시한 도면이다.
도 64 는 본 발명의 일 실시예에 따른 타임 스탬프 타입 필드의 각 값들의 의미를 도시한 도면이다.
도 65 은 본 발명의 일 실시예에 따른 URL 프로토콜 타입 필드의 각 값들의 의미를 도시한 도면이다.
도 66 은 본 발명의 일 실시예에 따른 URL 프로토콜 타입 필드의 처리과정을 순서도로 도시한 도면이다.
도 67 은 본 발명의 일 실시예에 따른 이벤트 필드의 각 값들의 의미를 도시한 도면이다.
도 68 은 본 발명의 일 실시예에 따른 데스티네이션 타입 필드의 각 값들의 의미를 도시한 도면이다.
도 69 은 본 발명의 실시예 #1 에 따른 WM 에 삽입될 데이터 구조를 도시한 도면이다.
도 70 은 본 발명의 실시예 #1 에 따른 WM 에 삽입될 데이터 구조를 처리하는 순서도를 도시한 도면이다.
도 71 는 본 발명의 실시예 #2 에 따른 WM 에 삽입될 데이터 구조를 도시한 도면이다.
도 71 는 본 발명의 실시예 #2 에 따른 WM 에 삽입될 데이터 구조를 도시한 도면이다.
도 72 은 본 발명의 실시예 #2 에 따른 WM 에 삽입될 데이터 구조를 처리하는 순서도를 도시한 도면이다.
도 73 는 본 발명의 실시예 #3 에 따른 WM 에 삽입될 데이터 구조를 도시한 도면이다.
도 74 는 본 발명의 실시예 #4 에 따른 WM 에 삽입될 데이터 구조를 도시한 도면이다.
도 75 는 본 발명의 실시예 #4 에서, 첫번째 WM 에 삽입될 데이터 구조를 도시한 도면이다.
도 76 는 본 발명의 실시예 #4 에서, 두번째 WM 에 삽입될 데이터 구조를 도시한 도면이다.
도 77 은 본 발명의 실시예 #4 에 따른 WM 에 삽입될 데이터 구조를 처리하는 순서도를 도시한 도면이다.
도 78 는 본 발명의 또 다른 실시예에 따른 워터마크 기반의 영상 표시 장치의 구조를 도시한 도면이다.
도 79 은 핑거프린팅 방식에 있어서, 본 발명의 일 실시예에 따른 데이터 구조를 도시한 도면이다.
도 80 은 핑거프린팅 방식에 있어서, 본 발명의 일 실시예에 따른 데이터 구조를 처리하는 순서도를 도시한 도면이다.
도 81는 본 발명의 일 실시예에 따른, 방송 수신기를 나타낸 도면이다.
도 82은 본 발명의 일 실시예에 따른 멀티캐스트 환경에서의 ACR 송수신 시스템을 나타낸다.
도 83는 본 발명의 일 실시예에 따른 멀티캐스트 환경에서의 WM를 통한 ACR 송수신 시스템을 나타낸다.
도 84는 본 발명의 일 실시예에 따른 멀티캐스트 환경에서의 FP 방식을 통한 ACR 송수신 시스템을 나타낸다.
도 85은 본 발명의 일 실시예에 따른 수신기가 멀티캐스트 환경에서 ACR 스킴을 통해 방송과 관련된 시그널링을 수행하는 순서도를 나타낸다.
도 86은 본 발명의 일 실시예에 따른 모바일 네트워크 환경에서의 ACR 송수신 시스템을 나타낸다.
도 87은 본 발명의 다른 실시예에 따른 수신기가 모바일 브로드밴드를 통해 시그널링 정보를 수신하는 과정을 나타낸다.
도 88는 본 발명의 일 실시예에 따른 하이브리드 방송 서비스를 나타낸 개념도이다.
도 89은 본 발명의 다른 실시예에 따른 모바일 네트워크 환경에서의 ACR 송수신 시스템을 나타낸다.
도 90 은 본 발명의 일 실시예에 따른 UPnP 방식의 액션(Action) 메커니즘을 도시한 도면이다.
도 91 은 본 발명의 일 실시예에 따른 REST 메커니즘을 도시한 도면이다.
도 92 는 본 발명의 일 실시예에 따른 AV(Audio Video) 쉐어링(sharing) 환경에서 워터마크를 이용한 ACR (Auto Content Recognition) 과정을 도시한 도면이다.
도 93 은 본 발명의 일 실시예에 따른 AV 쉐어링 환경에서 워터마크/핑거프린트를 이용한 ACR 과정을 도시한 도면이다.
도 94 는 본 발명의 일 실시예에 따른 AV 쉐어링 환경에서 핑거프린트를 이용한 ACR 과정의 다이어그램을 도시한 도면이다.
도 95 는 본 발명의 다른 실시예에 따른 AV 쉐어링 환경에서 워터마크를 이용한 ACR 과정을 도시한 도면이다.
도 96 은 본 발명의 다른 실시예에 따른 AV 쉐어링 환경에서 워터마크/핑거프린트를 이용한 ACR 과정을 도시한 도면이다.
도 97 은 본 발명의 다른 실시예에 따른 AV 쉐어링 환경에서 워터마크/핑거프린트를 이용한 ACR 과정을 도시한 도면이다.
도 98 은 본 발명의 다른 실시예에 따른 AV 쉐어링 환경에서 핑거프린트를 이용한 ACR 과정의 다이어그램을 도시한 도면이다.
도 99 는 본 발명의 일 실시예에 따른 TV 수신기에서 모바일 방송 서비스를 제공하는 방법을 도시한 도면이다.
도 100 은 본 발명의 일 실시예에 따른 모바일 방송 서비스를 제공하는 방송 수신 장치를 도시한 도면이다.
발명의 실시를 위한 최선의 형태
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
본 발명은 차세대 방송 서비스에 대한 방송 신호 송신 및 수신 장치 및 방법을 제공한다. 본 발명의 일 실시예에 따른 차세대 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스, 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에 기재되어 있다.
Figure pct00001
2. 핸드헬드 프로파일
핸드헬드 프로파일은 배터리 전원으로 구동되는 핸드헬드 및 차량용 장치에서의 사용을 위해 설계된다. 해당 장치는 보행자 또는 차량 속도로 이동할 수 있다. 수신기 복잡도뿐만 아니라 소비 전력은 핸드헬드 프로파일의 장치의 구현을 위해 매우 중요하다. 핸드헬드 프로파일의 타겟 신호 대 잡음비 범위는 대략 0 내지 10 dB이지만, 더 낮은 실내 수신을 위해 의도된 경우 0 dB 아래에 달하도록 설정될 수 있다.
저 신호 대 잡음비 능력뿐만 아니라, 수신기 이동성에 의해 나타난 도플러 효과에 대한 복원력은 핸드헬드 프로파일의 가장 중요한 성능 속성이다. 핸드헬드 프로파일에 대한 중요 시스템 파라미터가 아래 표 2에 기재되어 있다.
Figure pct00002
3. 어드벤스 프로파일
어드벤스 프로파일은 더 큰 실행 복잡도에 대한 대가로 더 높은 채널 능력을 제공한다. 해당 프로파일은 MIMO 송신 및 수신을 사용할 것을 요구하며, UHDTV 서비스는 타겟 용도이고, 이를 위해 해당 프로파일이 특별히 설계된다. 향상된 능력은 주어진 대역폭에서 서비스 수의 증가, 예를 들면, 다수의 SDTV 또는 HDTV 서비스를 허용하는 데도 사용될 수 있다.
어드벤스 프로파일의 타겟 신호 대 잡음비 범위는 대략 20 내지 30 dB이다. MIMO 전송은 초기에는 기존의 타원 분극 전송 장비를 사용하고, 추후에 전출력 교차 분극 전송으로 확장될 수 있다. 어드벤스 프로파일에 대한 중요 시스템 파라미터가 아래 표 3에 기재되어 있다.
Figure pct00003
이 경우, 베이스 프로파일은 지상파 방송 서비스 및 모바일 방송 서비스 모두에 대한 프로파일로 사용될 수 있다. 즉, 베이스 프로파일은 모바일 프로파일을 포함하는 프로파일의 개념을 정의하기 위해 사용될 수 있다. 또한, 어드벤스 프로파일은 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로부터 조직적으로 인코딩되고, 그 뒤에 첨부된다.
Figure pct00004
PLS1 및 PLS2에 대한 LDPC 코드 파라미터는 다음의 표 4와 같다.
Figure pct00005
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에 주어진다.
Figure pct00006
FFT_SIZE: 해당 2비트 필드는 아래 표 6에서 설명한 바와 같이 프레임 그룹 내에서 현 프레임의 FFT 사이즈를 나타낸다.
Figure pct00007
GI_FRACTION: 해당 3비트 필드는 아래 표 7에서 설명한 바와 같이 현 슈퍼 프레임에서의 가드 인터벌 일부(fraction) 값을 나타낸다.
Figure pct00008
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에 나타낸 바와 같이 각각의 프로파일에 대해 다르게 정의된다.
Figure pct00009
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에 나타낸 바와 같이 시그널링 된다.
Figure pct00010
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 코드에 대한 자세한 내용은 후술한다.
Figure pct00011
PLS2_MOD: 해당 3비트 필드는 PLS2에 의해 사용되는 변조 타입을 나타낸다. 변조 타입은 표 11에 따라 시그널링 된다.
Figure pct00012
PLS2_SIZE_CELL: 해당 15비트 필드는 현 프레임 그룹에서 전달되는 PLS2에 대한 모든 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 Ctotal_partial_block를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_STAT_SIZE_BIT: 해당 14비트 필드는 현 프레임 그룹에 대한 PLS2-STAT의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_DYN_SIZE_BIT: 해당 14비트 필드는 현 프레임 그룹에 대한 PLS2-DYN의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_REP_FLAG: 해당 1비트 플래그는 PLS2 반복 모드가 현 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, PLS2 반복 모드는 활성화된다. 해당 필드의 값이 0으로 설정되면, PLS2 반복 모드는 비활성화된다.
PLS2_REP_SIZE_CELL: 해당 15비트 필드는 PLS2 반복이 사용되는 경우 현 프레임 그룹의 매 프레임마다 전달되는 PLS2에 대한 부분 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 Ctotal_partial_block를 나타낸다. 반복이 사용되지 않는 경우, 해당 필드의 값은 0과 동일하다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_FEC_TYPE: 해당 2비트 필드는 다음 프레임 그룹의 매 프레임에서 전달되는 PLS2에 사용되는 FEC 타입을 나타낸다. FEC 타입은 표 10에 따라 시그널링 된다.
PLS2_NEXT_MOD: 해당 3비트 필드는 다음 프레임 그룹의 매 프레임에서 전달되는 PLS2에 사용되는 변조 타입을 나타낸다. 변조 타입은 표 11에 따라 시그널링 된다.
PLS2_NEXT_REP_FLAG: 해당 1비트 플래그는 PLS2 반복 모드가 다음 프레임 그룹에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, PLS2 반복 모드는 활성화된다. 해당 필드의 값이 0으로 설정되면, PLS2 반복 모드는 비활성화된다.
PLS2_NEXT_REP_SIZE_CELL: 해당 15비트 필드는 PLS2 반복이 사용되는 경우 다음 프레임 그룹의 매 프레임마다 전달되는 PLS2에 대한 전체 코딩 블록의 사이즈(QAM 셀의 수로 특정됨)인 Ctotal_full_block를 나타낸다. 다음 프레임 그룹에서 반복이 사용되지 않는 경우, 해당 필드의 값은 0과 동일하다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다.
PLS2_NEXT_REP_STAT_SIZE_BIT: 해당 14비트 필드는 다음 프레임 그룹에 대한 PLS2-STAT의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹에서 일정하다.
PLS2_NEXT_REP_DYN_SIZE_BIT: 해당 14비트 필드는 다음 프레임 그룹에 대한 PLS2-DYN의 사이즈를 비트수로 나타낸다. 해당 값은 현 프레임 그룹에서 일정하다.
PLS2_AP_MODE: 해당 2비트 필드는 현 프레임 그룹에서 PLS2에 대해 추가 패리티가 제공되는지 여부를 나타낸다. 해당 값은 현 프레임 그룹의 전체 듀레이션 동안 일정하다. 아래의 표 12는 해당 필드의 값을 제공한다. 해당 필드의 값이 00으로 설정되면, 현 프레임 그룹에서 추가 패리티가 PLS2에 대해 사용되지 않는다.
Figure pct00013
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에 따라 시그널링 된다.
Figure pct00014
DP_GROUP_ID: 해당 8비트 필드는 현 데이터 파이프가 관련되어 있는 데이터 파이프 그룹을 식별한다. 이는 수신기가 동일한 DP_GROUP_ID를 갖게 되는 특정 서비스와 관련되어 있는 서비스 컴포넌트의 데이터 파이프에 접속하는 데 사용될 수 있다.
BASE_DP_ID: 해당 6비트 필드는 관리 계층에서 사용되는 (PSI/SI와 같은) 서비스 시그널링 데이터를 전달하는 데이터 파이프를 나타낸다. BASE_DP_ID에 의해 나타내는 데이터 파이프는 서비스 데이터와 함께 서비스 시그널링 데이터를 전달하는 노멀 데이터 파이프이거나, 서비스 시그널링 데이터만을 전달하는 전용 데이터 파이프일 수 있다.
DP_FEC_TYPE: 해당 2비트 필드는 관련된 데이터 파이프에 의해 사용되는 FEC 타입을 나타낸다. FEC 타입은 아래의 표 14에 따라 시그널링 된다.
Figure pct00015
DP_COD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 코드 레이트(code rate)을 나타낸다. 코드 레이트(code rate)은 아래의 표 15에 따라 시그널링 된다.
Figure pct00016
DP_MOD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 변조를 나타낸다. 변조는 아래의 표 16에 따라 시그널링 된다.
Figure pct00017
DP_SSD_FLAG: 해당 1비트 필드는 SSD 모드가 관련된 데이터 파이프에서 사용되는지 여부를 나타낸다. 해당 필드의 값이 1로 설정되면, SSD는 사용된다. 해당 필드의 값이 0으로 설정되면, SSD는 사용되지 않는다.
다음의 필드는 PHY_PROFILE가 어드벤스 프로파일을 나타내는 010과 동일할 때에만 나타난다.
DP_MIMO: 해당 3비트 필드는 어떤 타입의 MIMO 인코딩 처리가 관련된 데이터 파이프에 적용되는지 나타낸다. MIMO 인코딩 처리의 타입은 아래의 표 17에 따라 시그널링 된다.
Figure pct00018
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에 정의된다.
Figure pct00019
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에 따라 시그널링 된다.
Figure pct00020
DP_INBAND_MODE: 해당 2비트 필드는 현 데이터 파이프가 인 밴드(In-band) 시그널링 정보를 전달하는지 여부를 나타낸다. 인 밴드(In-band) 시그널링 타입은 아래의 표 20에 따라 시그널링 된다.
Figure pct00021
DP_PROTOCOL_TYPE: 해당 2비트 필드는 주어진 데이터 파이프에 의해 전달되는 페이로드의 프로토콜 타입을 나타낸다. 페이로드의 프로토콜 타입은 입력 페이로드 타입이 선택되면 아래의 표 21에 따라 시그널링 된다.
Figure pct00022
DP_CRC_MODE: 해당 2비트 필드는 CRC 인코딩이 인풋 포맷 블록에서 사용되는지 여부를 나타낸다. CRC 모드는 아래의 표 22에 따라 시그널링 된다.
Figure pct00023
DNP_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 널 패킷 삭제 모드를 나타낸다. DNP_MODE는 아래의 표 23에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, DNP_MODE는 00의 값으로 설정된다.
Figure pct00024
ISSY_MODE: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 ISSY 모드를 나타낸다. ISSY_MODE는 아래의 표 24에 따라 시그널링 된다. DP_PAYLOAD_TYPE이 TS ('00')가 아니면, ISSY_MODE는 00의 값으로 설정된다.
Figure pct00025
HC_MODE_TS: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 TS 헤더 압축 모드를 나타낸다. HC_MODE_TS는 아래의 표 25에 따라 시그널링 된다.
Figure pct00026
HC_MODE_IP: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 IP ('01')로 설정되는 경우에 IP 헤더 압축 모드를 나타낸다. HC_MODE_IP는 아래의 표 26에 따라 시그널링 된다.
Figure pct00027
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 사이즈에 따라 다른 길이를 갖는다.
Figure pct00028
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 인코딩 파라미터를 나타낸다.
Figure pct00029
Figure pct00030
BCH 인코딩 및 LDPC 인코딩의 구체적인 동작은 다음과 같다.
12-에러 정정 BCH 코드가 BBF의 외부 인코딩에 사용된다. 쇼트 FECBLOCK 및 롱 FECBLOCK에 대한 BBF 생성 다항식은 모든 다항식을 곱함으로써 얻어진다.
LDPC 코드는 외부 BCH 인코딩의 출력을 인코딩하는 데 사용된다. 완성된 Bldpc (FECBLOCK)를 생성하기 위해, Pldpc (패리티 비트)가 각각의 Ildpc (BCH - 인코딩된 BBF)로부터 조직적으로 인코딩되고, Ildpc에 첨부된다. 완성된 Bldpc (FECBLOCK)는 다음의 수학식으로 표현된다.
Figure pct00031
롱 FECBLOCK 및 쇼트 FECBLOCK에 대한 파라미터는 위의 표 28 및 29에 각각 주어진다.
롱 FECBLOCK에 대해 Nldpc - Kldpc 패리티 비트를 계산하는 구체적인 절차는 다음과 같다.
1) 패리티 비트 초기화
Figure pct00032
2) 패리티 체크 매트릭스의 어드레스의 첫 번째 행에서 특정된 패리티 비트 어드레스에서 첫 번째 정보 비트 i0 누산(accumulate). 패리티 체크 매트릭스의 어드레스의 상세한 내용은 후술한다. 예를 들면, 비율 13/15에 대해,
Figure pct00033
3) 다음 359개의 정보 비트 is, s=1, 2, …, 359에 대해, 다음의 수학식을 이용하여 패리티 비트 어드레스에서 is 누산(accumulate).
Figure pct00034
여기서, x는 첫 번째 비트 i0에 해당하는 패리티 비트 누산기의 어드레스를 나타내고, Qldpc는 패리티 체크 매트릭스의 어드레서에서 특정된 코드 레이트(code rate) 의존 상수이다. 상기 예인, 비율 13/15에 대한, 따라서 정보 비트 i1에 대한 Qldpc = 24에 계속해서, 다음 동작이 실행된다.
Figure pct00035
4) 361번째 정보 비트 i360에 대해, 패리티 비트 누산기의 어드레스는 패리티 체크 매트릭스의 어드레스의 두 번째 행에 주어진다. 마찬가지 방식으로, 다음 359개의 정보 비트 is, s= 361, 362, …, 719에 대한 패리티 비트 누산기의 어드레스는 수학식 6을 이용하여 얻어진다. 여기서, x는 정보 비트 i360에 해당하는 패리티 비트 누산기의 어드레스, 즉 패리티 체크 매트릭스의 두 번째 행의 엔트리를 나타낸다.
5) 마찬가지 방식으로, 360개의 새로운 정보 비트의 모든 그룹에 대해, 패리티 체크 매트릭스의 어드레스로부터의 새로운 행은 패리티 비트 누산기의 어드레스를 구하는 데 사용된다.
모든 정보 비트가 이용된 후, 최종 패리티 비트가 다음과 같이 얻어진다.
6) i=1로 시작해서 다음 동작을 순차적으로 실행
Figure pct00036
여기서 pi, i=0,1,...Nldpc - Kldpc - 1의 최종 콘텐트는 패리티 비트 pi와 동일하다.
Figure pct00037
표 30을 표 31로 대체하고, 롱 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스를 쇼트 FECBLOCK에 대한 패리티 체크 매트릭스의 어드레스로 대체하는 것을 제외하고, 쇼트 FECBLOCK에 대한 해당 LDPC 인코딩 절차는 롱 FECBLOCK에 대한 t LDPC 인코딩 절차에 따른다.
Figure pct00038
도 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에 나타낸 바와 같이, 타임 인터리빙에는 세 가지 옵션이 있다(타임 인터리빙을 생략하는 추가 옵션 제외).
Figure pct00039
일반적으로, 타임 인터리버는 프레임 생성 과정 이전에 데이터 파이프 데이터에 대한 버퍼로도 작용할 것이다. 이는 각각의 데이터 파이프에 대해 2개의 메모리 뱅크로 달성된다. 첫 번째 타임 인터리빙 블록은 첫 번째 뱅크에 기입된다. 첫 번째 뱅크에서 판독되는 동안 두 번째 타임 인터리빙 블록이 두 번째 뱅크에 기입된다.
타임 인터리빙은 트위스트된 행-열 블록 인터리버이다. n번째 타임 인터리빙 그룹의 s번째 타임 인터리빙 블록에 대해, 열의 수 Nc 가 NxBLOCK_TI(n,s) 와 동일한 반면, 타임 인터리빙 메모리의 행의 수 Nr 는 셀의 수 Ncells 와 동일하다 (즉, Nr = Ncells).
도 21은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 기본 동작을 나타낸다.
도 21(a)는 타임 인터리버에서 기입 동작을 나타내고, 도 21(b)는 타임 인터리버에서 판독 동작을 나타낸다. (a)에 나타낸 바와 같이, 첫 번째 XFECBLOCK은 타임 인터리빙 메모리의 첫 번째 열에 열 방향으로 기입되고, 두 번째 XFECBLOCK은 다음 열에 기입되고, 이러한 동작이 이어진다. 그리고 인터리빙 어레이에서, 셀이 대각선 방향으로 판독된다. (b)에 나타낸 바와 같이 첫 번째 행으로부터 (가장 왼쪽 열을 시작으로 행을 따라 오른쪽으로) 마지막 행까지 대각선 방향 판독이 진행되는 동안,
Figure pct00040
개의 셀이 판독된다. 구체적으로,
Figure pct00041
이 순차적으로 판독될 타임 인터리빙 메모리 셀 위치라고 가정하면, 이러한 인터리빙 어레이에서의 판독 동작은 아래 식에서와 같이 행 인덱스
Figure pct00042
, 열 인덱스
Figure pct00043
, 관련된 트위스트 파라미터
Figure pct00044
를 산출함으로써 실행된다.
Figure pct00045
여기서,
Figure pct00046
Figure pct00047
에 상관없이 대각선 방향 판독 과정에 대한 공통 시프트 값이고, 시프트 값은 아래 식에서와 같이 PLS2-STAT에서 주어진
Figure pct00048
에 의해 결정된다.
Figure pct00049
결과적으로, 판독될 셀 위치는 좌표
Figure pct00050
에 의해 산출된다.
도 22는 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
더 구체적으로, 도 22는
Figure pct00051
,
Figure pct00052
,
Figure pct00053
일 때 가상 XFECBLOCK을 포함하는 각각의 타임 인터리빙 그룹에 대한 타임 인터리빙 메모리에서 인터리빙 어레이를 나타낸다.
변수
Figure pct00054
Figure pct00055
보다 작거나 같을 것이다. 따라서,
Figure pct00056
에 상관없이 수신기 측에서 단일 메모리 디인터리빙을 달성하기 위해, 트위스트된 행-열 블록 인터리버용 인터리빙 어레이는 가상 XFECBLOCK을 타임 인터리빙 메모리에 삽입함으로써
Figure pct00057
의 크기로 설정되고, 판독 과정은 다음 식과 같이 이루어진다.
Figure pct00058
타임 인터리빙 그룹의 수는 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 데이터에서 시그널링 되고, 이는
Figure pct00059
로 이어진다.
도 23은 본 발명의 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 대각선 방향 판독 패턴을 나타낸다.
더 구체적으로, 도 23은 파라미터
Figure pct00060
및 Sshift=(7-1)/2=3을 갖는 각각의 인터리빙 어레이로부터의 대각선 방향 판독 패턴을 나타낸다. 이때 위에 유사 코드로 나타낸 판독 과정에서,
Figure pct00061
이면, Vi의 값이 생략되고, Vi의 다음 계산값이 사용된다.
도 24는 본 발명의 일 실시예에 따른 각각의 인터리빙 어레이로부터의 인터리빙된 XFECBLOCK을 나타낸다.
도 24는 파라미터
Figure pct00062
및 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의 역과정인 타임 디인터리빙을 나타낸다.
구체적으로 도 47은 첫번째 TI 그룹에 대한 타임 디인터리빙을 나타내며 도 48는 두번째 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 내지 도 57 를 참고하여 본 발명의 일 실시예에 따른 네트워크 토폴로지를 설명한다.
도 49은 본 발명의 일 실시예에 따른 네트워크 토폴로지를 보여주는 블록도이다.
도 49에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크 토폴로지는 컨텐츠 제공 서버(10), 컨텐츠 인식 서비스 제공 서버(20), 멀티채널 비디오 분배 서버(30), 부가 서비스 정보 제공 서버(40), 복수의 부가 서비스 제공 서버(50), 방송 수신 장치(60), 네트워크(70), 영상 표시 장치(100)를 포함한다.
컨텐츠 제공 서버(10)는 방송국 등에 해당할 수 있으며, 메인 시청각 컨텐트(main audio-visual content)를 포함하는 방송 신호를 방송한다. 방송 신호는 부가 서비스를 더 포함할 수 있다. 부가 서비스는 메인 시청각 컨텐트와 관련이 있을 수도 있고, 관련이 없을 수도 있다. 부가 서비스는 서비스 정보(service information), 메타데이터(metadata), 부가 데이터, 컴파일된 실행 파일, 웹 애플리케이션, HTML(Hypertext Markup Language) 문서, XML 문서, CSS(cascading style sheet) 문서, 오디오 파일, 비디오 파일, ATSC 2.0 컨텐트, URL(Uniform Resource Locator)과 같은 주소 등의 형태를 가질 수 있다. 하나 이상의 컨텐츠 제공 서버가 존재할 수 있다.
컨텐츠 인식 서비스 제공 서버(20)는 영상 표시 장치(100)가 메인 시청각 컨텐트에 기초하여 컨텐트를 인식할 수 있게 하는 컨텐트 인식 서비스를 제공한다. 컨텐츠 인식 서비스 제공 서버(20)는 메인 시청각 컨텐트에 수정을 가할 수도 있고 수정을 가하지 않을 수도 있다. 하나 이상의 컨텐츠 인식 서비스 제공 서버가 존재할 수 있다.
컨텐츠 인식 서비스 제공 서버(20)는 메인 시청각 컨텐트에 변형을 가하여 메인 시청각 컨텐트에 로고와 같은 보이는 워터마크(visible watermark)를 삽입하는 워터마크 서버일 수 있다. 이 워터마크 서버는 메인 시청각 컨텐트의 각 프레임의 왼쪽 상단 또는 오른쪽 상단에 컨텐츠 제공자의 로고를 워터마크할 수 있다.
또, 컨텐츠 인식 서비스 제공 서버(20)는 메인 시청각 컨텐트에 변형을 가하여 메인 시청각 컨텐트에 컨텐츠 정보를 보이지 않는 워터마크(invisible watermark)로서 삽입하는 워터마크 서버일 수 있다.
또한, 컨텐츠 인식 서비스 제공 서버(20)는 메인 시청각 컨텐트의 일부의 프레임 또는 일부의 오디오 샘플로부터 특징 정보를 추출하여 저장하는 핑거프린트 서버일 수 있다. 이 특징 정보는 시그너처라고도 불린다.
멀티채널 비디오 분배 서버(30)는 복수의 방송국으로부터 방송 신호를 수신하고 다중화하여 다중화된 신호를 방송 수신 장치(60)에 제공한다. 특히, 멀티채널 비디오 분배 서버(30)는 수신한 방송 신호에 대해 복조와 채널 복호화를 수행하여 메인 시청각 컨텐트와 부가 서비스를 추출한 후, 추출된 메인 시청각 컨텐트와 추출한 부가 서비스에 대해 채널 부호화를 수행하여 분배를 위한 다중화 신호를 생성할 수 있다. 이때, 멀티채널 비디오 분배 서버(30)는 추출한 부가 서비스를 제외할 수도 있고, 또 다른 부가 서비스를 추가할 수도 있기 때문에, 방송국은 방송국 주도의 서비스를 제공할 수 없다. 하나 이상의 멀티채널 비디오 분배 서버가 존재할 수 있다.
방송 수신 장치(60)는 사용자가 선택한 채널을 튜닝하고, 튜팅한 채널의 신호를 수신하고, 수신한 신호에 대해 복조와 채널 복호를 수행하여 메인 시청각 컨텐트를 추출한다. 그리고 방송 수신 장치(60)는 추출한 메인 시청각 컨텐트를 H.264/MPEG-4 AVC(Moving Picture Experts Group-4 advanced video coding), Dolby AC-3, MPEG-2 AAC (Moving Picture Experts Group-2 Advanced Audio Coding) 알고리즘 등을 이용하여 복호하여 비압축 메인 시청각 컨텐트(uncompressed main AV content)를 생성한다. 방송 수신 장치(60)는 생성한 비압축 메인 시청각 컨텐트를 영상 표시 장치(100)의 외부 입력 포트 등을 통해 영상 표시 장치(100)에 제공한다.
부가 서비스 정보 제공 서버(40)는 영상 표시 장치의 요청에 응답하여 메인 시청각 컨텐트와 관련된 하나 이상의 이용가능한 부가 서비스를 위한 부가 서비스 정보를 제공한다. 하나 이상의 부가 서비스 주소 제공 서버가 존재할 수 있다. 부가 서비스 정보 제공 서버(40)는 복수의 이용가능한 부가 서비스 중에서 가장 우선순위가 높은 부가 서비스를 위한 부가 서비스 정보를 제공할 수도 있다.
부가 서비스 제공 서버(50)는 영상 표시 장치의 요청에 응답하여 메인 시청각 컨텐트와 관련하여 이용할 수 있는 하나 이상의 부가 서비스를 제공한다. 하나 이상의 부가 서비스 제공 서버가 존재할 수 있다.
영상 표시 장치(100)는 텔레비전, 노트북, 핸드폰, 스마트폰 등과 같이 디스플레이부를 장치일 수 있다. 영상 표시 장치(100)는 방송 수신 장치(60)로부터 비압축 메인 시청각 컨텐트를 수신할 수도 있고, 컨텐츠 제공 서버(10) 또는 멀티채널 비디오 분배 서버(30)로부터 부호화된 메인 시청각 컨텐트를 포함하는 방송 신호를 수신할 수 도 있다. 영상 표시 장치(100)는 네트워크(70)를 통해 컨텐츠 인식 서비스 제공 서버(20)로부터 컨텐츠 인식 서비스를 제공받을 수 있고, 네트워크(70)를 통해 부가 서비스 정보 제공 서버(40)로부터 메인 시청각 컨텐트와 관련하여 이용할 수 있는 하나 이상의 부가 서비스의 주소를 받을 수 있으며, 부가 서비스 제공 서버(50)로부터 메인 시청각 컨텐트와 관련하여 이용할 수 있는 하나 이상의 부가 서비스를 제공받을 수 있다.
컨텐츠 제공 서버(10), 컨텐츠 인식 서비스 제공 서버(20), 멀티채널 비디오 분배 서버(30), 부가 서비스 정보 제공 서버(40), 복수의 부가 서비스 제공 서버(50) 중 2 이상은 하나의 서버의 형태로 결합될 수도 있고, 한 사업자에 의해 운영될 수도 있다.
도 50는 본 발명의 일 실시예에 따른 워터마크 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 50에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크 토폴로지는 워터마크 서버(21)를 더 포함한다.
도 50에 도시된 바와 같은 워터마크 서버(21)는 메인 시청각 컨텐트에 변형을 가하여 메인 시청각 컨텐트에 컨텐츠 정보를 삽입한다. 멀티채널 비디오 분배 서버(30)는 변형된 메인 시청각 컨텐트를 포함하는 방송 신호를 수신하여 분배한다. 특히, 워터마크 서버는 이하에서 설명하는 바와 같은 디지털 워터마킹 기술을 이용할 수 있다.
디지털 워터마크는 삭제하기 어려운 방법으로 디지털 신호에 정보를 삽입하는 프로세스이다. 예를 들면, 디지털 신호는 오디오, 사진, 또는 비디오일 수 있다. 이 디지털 신호가 복사되면, 삽입된 정보 또한 복사본에 담아진다. 한 디지털 신호가 동시에 다른 여러 개의 워터마크를 운반할 수 있다.
보이는 워터마킹(visible watermarking)에서, 삽입되는 정보는 사진 또는 비디오에서 눈으로 식별가능하다. 전형적으로, 삽입된 정보는 미디어의 소유자를 식별하는 텍스트 또는 로고이다. 텔레비전 방송국이 자신의 로고를 전송되는 비디오의 코너에 추가하면, 이것이 눈으로 식별가능한 워터마크이다.
눈으로 식별 불가능한 워터마킹(invisible watermarking)에서, 정보는 디지털 데이터로서 오디오, 사진, 또는 비디오에 추가되지만, 일정 량의 정보가 숨겨져 있다는 사실은 감지할 수 있다하더라도 그러한 정보는 인지할 수는 없다. 이러한 눈으로 식별불가능한 워터마킹을 통해 비밀 메시지가 전달될 수도 있다.
워터마킹의 한 응용은 디지털 미디어의 불법 복제를 막기 위한 저작권 보호 시스템에 있다. 예컨데, 복제 장치는 디지털 미디어의 복제 전에 디지털 미디어로부터 워터마크를 얻고, 워터마크의 내용에 기초하여 복제를 할지 말지를 결정할 수 있다.
워터마킹의 또 다른 응용은 디지털 미디어의 출처 추적에 있다. 배포 경로 상의 각 지점에서 워터마크가 디지털 미디어에 임베딩된다. 나중에 이와 같은 디지털 미디어가 발견된다면, 이 디지털 미디어로부터 워터마크가 추출될 수 있고, 워터마크의 내용으로부터 배포의 출처를 파악할 수 있다.
디지털 미디어에 대한 설명이 눈으로 식별불가능한 워터마킹의 또 다른 응용이다.
디지털 미디어를 위한 파일 포멧이 메타데이터라고 불리는 추가적인 정보를 포함할 수 있는데, 디지털 워터마크는 디지털 미디어의 시청각 신호 자체로 전달된다는 점에서 메타데이터와는 구별된다.
워터마킹 방법으로 스프레드 스펙트럼, 양자화, 앰플리튜드 변조가 있다.
마킹되는 신호가 추가적인 수정에 의해 얻어진다면, 워터마킹 방법은 스프레드 스펙트럼에 해당한다. 스프레드 스펙트럼 워터마크는 꽤 강인하다고 알려져 있지만, 워터마크가 임베딩되는 호스트 신호에 간섭을 주기 때문에 많은 정보가 실리지는 않는다.
마킹되는 신호가 양자화에 의해 얻어진다면, 워터마킹 방법은 양자화 타입에 해당한다. 양자화 워터마크는 강인성은 낮지만, 꽤 많은 정보를 실을 수 있다.
마킹되는 신호가 공간 도메인에서 스프레드 스펙트럼과 유사한 추가 수정 방법으로 얻어진다면, 워터마킹 방법은 앰플리튜드 변조에 해당한다.
도 51은 본 발명의 일 실시예에 따른 워터마크 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
먼저, 컨텐츠 제공 서버(10)는 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 전송한다(S101).
워터마크 서버(21)는 컨텐츠 제공 서버(10)가 제공하는 방송 신호를 수신하고, 메인 시청각 컨텐트에 변형을 가하여 메인 시청각 컨텐트에 로고와 같은 보이는 워터마크(visible watermark)를 삽입하거나, 메인 시청각 컨텐트에 워터마크 정보를 보이지 않는 워터마크(invisible watermark)로서 삽입하고, 워터마킹된 메인 시청각 컨텐트와 부가 서비스를 MVPD(30)에 제공한다(S103).
보이지 않는 워터마크를 통해 삽입되는 워터마크 정보는 워터마크 용도, 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 포함할 수 있다. 워터마크 용도는 무단 복제 방지, 시청률 조사, 부가 서비스 획득 중 하나를 나타낼 수 있다.
컨텐츠 정보는 메인 시청각 컨텐트를 제공하는 컨텐츠 제공자의 식별 정보, 메인 시청각 컨텐트 식별 정보, 메인 시청각 컨텐트 등급 정보, 컨텐츠 정보 획득에 사용된 컨텐트 구간의 시간 정보, 메인 시청각 컨텐트가 방송되는 채널의 이름, 메인 시청각 컨텐트가 방송되는 채널의 로고, 메인 시청각 컨텐트가 방송되는 채널의 설명, 이용 정보 보고 주소, 이용 정보 보고 주기, 이용 정보 획득을 위한 최소 이용 시간, 메인 시청각 컨텐트와 관련하여 이용가능한 부가 서비스 정보 중 하나 이상을 포함할 수 있다.
영상 표시 장치(100)가 컨텐츠 정보의 획득을 위하여 워터마크를 이용하였다면, 컨텐츠 정보 획득에 사용된 컨텐트 구간의 시간 정보는 이용된 워터마크가 내삽(embedding)된 컨텐트 구간의 시간 정보일 수 있다. 영상 표시 장치(100)가 컨텐츠 정보의 획득을 위하여 핑거프린트를 이용하였다면, 컨텐츠 정보 획득에 사용된 컨텐트 구간의 시간 정보는 특징 정보가 추출된 컨텐트 구간의 시간 정보일 수 있다. 컨텐츠 정보 획득에 사용된 컨텐트 구간의 시간 정보는 컨텐츠 정보 획득에 사용된 컨텐트 구간의 시작 시간, 컨텐츠 정보 획득에 사용된 컨텐트 구간의 지속 시간(duration), 컨텐츠 정보 획득에 사용된 컨텐트 구간의 종료 시간 중 하나 이상을 포함할 수 있다.
이용 정보 보고 주소는 메인 시청각 컨텐트 시청 정보 보고 주소, 부가 서비스 이용 정보 보고 주소 중 하나 이상을 포함할 수 있다. 이용 정보 보고 주기는 메인 시청각 컨텐트 시청 정보 보고 주기, 부가 서비스 이용 정보 보고 주기 중 하나 이상을 포함할 수 있다. 이용 정보 획득을 위한 최소 이용 시간은 메인 시청각 컨텐트 시청 정보 획득을 위한 최소 시청 시간, 부가 서비스 이용 정보 추출을 위한 최소 사용 시간 중 하나 이상을 포함할 수 있다.
메인 시청각 컨텐트가 최소 시청 시간 이상 시청된 경우에 기초하여 영상 표시 장치(100)는 메인 시청각 컨텐트의 시청 정보를 획득하고, 메인 시청각 컨텐트 시청 정보 보고 주기에서 메인 시청각 컨텐트 시청 정보 보고 주소로 추출한 시청 정보를 보고할 수 있다.
부가 서비스가 최소 사용 시간 이상 사용된 경우에 기초하여 영상 표시 장치(100)는 부가 서비스 이용 정보를 획득하고, 부가 서비스 이용 정보 보고 주기에서 부가 서비스 이용 정보 보고 주소로 추출한 이용 정보를 보고할 수 있다.
부가 서비스 정보는 부가 서비스가 존재하는지에 대한 정보, 부가 서비스 주소 제공 서버 주소, 각각의 이용가능한 부가 서비스의 획득 경로, 각각의 이용가능한 부가 서비스를 위한 주소, 각각의 이용가능한 부가 서비스의 시작 시간, 각각의 이용가능한 부가 서비스의 종료 시간, 각각의 이용가능한 부가 서비스의 수명 주기(lifetime), 각각의 이용가능한 부가 서비스의 획득 모드, 각각의 이용가능한 부가 서비스 위한 요청 주기, 각각의 이용가능한 부가 서비스의 우선 순위 정보, 각각의 이용가능한 부가 서비스의 설명, 각각의 이용가능한 부가 서비스의 항목(category), 이용 정보 보고 주소, 이용 정보 보고 주기, 이용 정보 획득을 위한 최소 이용 시간 중 하나 이상을 포함할 수 있다.
이용가능한 부가 서비스의 획득 경로는 IP 또는 ATSC M/H(Advanced Television Systems Committee - Mobile/Handheld)를 나타낼 수 있다. 이용가능한 부가 서비스의 획득 경로가 ATSC M/H인 경우에, 부가 서비스 정보는 주파수 정보, 채널 정보를 더 포함할 수 있다. 각각의 이용가능한 부가 서비스의 획득 모드는 Push 또는 Pull을 나타낼 수 있다.
한편, 워터마크 서버(21)는 메인 시청각 컨텐트의 로고에 워터마크 정보를 보이지 않는 워터마크(invisible watermark)로서 삽입할 수 있다.
예컨데, 워터마크 서버(21)는 로고의 일정 위치에 바코드를 삽입할 수 있다. 이때 로고의 일정 위치는 로고가 디스플레이되는 구역의 하단 1 라인에 해당할 수 있다. 영상 표시 장치(100)는 이와 같이 바코드가 삽입된 로고를 포함하는 메인 시청각 컨텐트를 수신하는 경우에, 바코드를 디스플레이하지 않을 수 있다.
또한, 워터마크 서버(21)는 로고의 메타데이터 형태로 워터마크 정보를 삽입할 수 있다. 이때 로고의 형상은 유지될 수 있다.
또한, 워터마크 서버(21)는 M개의 프레임의 로고의 각각에 N 비트의 워터마크 정보를 삽입할 수 있다. 즉, 워터마크 서버(21)는 M개의 프레임을 통해 M*N개의 워터마크 정보를 삽입할 수 있다.
MVPD(30)는 워터마킹된 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 수신하고, 다중화 신호를 생성하여 방송 수신 장치(60)에 제공한다(S105). 이때 다중화 신호는 수신한 부가 서비스를 배제하거나 새로운 부가 서비스를 포함할 수 있다.
방송 수신 장치(60)는 사용자가 선택한 채널을 튜닝하고 튜닝한 채널의 신호를 수신하고, 수신된 방송 신호를 복조하고 채널 복호화(channel decoding)하고 시청각 복호(AV decoding)를 수행하여 비압축 메인 시청각 컨텐트를 생성한 후, 생성된 비압축 메인 시청각 컨텐트를 영상 표시 장치(100)에 제공한다(S106).
한편, 컨텐츠 제공 서버(10) 또한 메인 시청각 컨텐트를 포함하는 방송 신호를 무선 채널 등을 통해 방송한다(S107).
또한, MVPD(30)는 방송 수신 장치(60)를 통하지 않고 직접 영상 표시 장치(100)에 메인 시청각 컨텐트를 포함하는 방송 신호를 전송할 수도 있다(S108).
영상 표시 장치(100)는 셋톱 박스(60)를 통해 비압축 메인 시청각 컨텐트를 수신할 수 있다. 또는, 영상 표시 장치(100)는 무선 채널을 통해 방송 신호를 수신하고 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 얻을 수 있다. 또는, 영상 표시 장치(100)는 MVPD(30)로부터 방송 신호를 수신하고, 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 수신할 수도 있다. 영상 표시 장치(100)는 획득한 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 워터마크 정보를 추출한다. 워터마크 정보가 로고에 해당하면, 영상 표시 장치(100)는 복수의 로고와 복수의 워터마크 서버 주소의 대응관계로부터 추출한 로고에 해당하는 워터마크 서버 주소를 확인한다. 워터마크 정보가 로고에 해당하는 경우에, 영상 표시 장치(100)는 로고만을 가지고서는 메인 시청각 컨텐츠를 식별할 수 없다. 또한, 워터마크 정보가 컨텐트 정보를 포함하고 있지 않은 경우에도 영상 표시 장치(100)는 메인 시청각 컨텐츠를 식별할 수 없으나, 워터마크 정보가 컨텐츠 제공자 식별 정보나 워터마크 서버 주소를 포함할 수 있다. 워터마크 정보가 컨텐츠 제공자 식별 정보를 포함하는 경우에, 영상 표시 장치(100)는 복수의 컨텐츠 제공자 식별 정보와 복수의 워터마크 서버 주소의 대응관계로부터 추출한 컨텐츠 제공자 식별 정보에 해당하는 워터마크 서버 주소를 확인할 수 있다. 이와 같이, 영상 표시 장치(100)는 워터마크 정보만으로 메인 시청각 컨텐트를 식별할 수 없는 경우에, 획득한 워터마크 서버 주소에 해당하는 워터마크 서버(21)에 접속하여 제1 질의를 전송한다(S109).
워터마크 서버(21)는 제1 질의에 대한 제1 응답을 제공한다(S111). 이 제1 응답은 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 포함할 수 있다.
워터마크 정보와 제1 응답이 부가 서비스 주소를 포함하고 있지 않다면, 영상 표시 장치(100)는 부가 서비스을 획득할 수 없다. 그러나 워터마크 정보와 제1 응답이 부가 서비스 주소 제공 서버 주소를 포함할 수 있다. 이와 같이, 영상 표시 장치(100)는 워터마크 정보와 제1 응답을 통해 부가 서비스 주소나 부가 서비스를 획득하지 못하였고 부가 서비스 주소 제공 서버 주소를 획득하였다면, 영상 표시 장치(100)는 획득한 부가 서비스 주소 제공 서버 주소에 해당하는 부가 서비스 정보 제공 서버(40)에 접속하여 컨텐츠 정보를 포함하는 제2 질의를 전송한다(S119).
부가 서비스 정보 제공 서버(40)는 제2 질의의 컨텐츠 정보와 관련된 하나 이상의 이용가능한 부가 서비스를 검색한다. 이후, 부가 서비스 정보 제공 서버(40)는 제2 질의에 대한 제2 응답으로 하나 이상의 이용가능한 부가 서비스를 위한 부가 서비스 정보를 영상 표시 장치(100)에 제공한다(S121).
영상 표시 장치(100)는 워터마크 정보, 제1 응답 또는 제2 응답을 통해 하나 이상의 이용가능한 부가 서비스 주소를 획득하였다면, 이 하나 이상의 이용가능한 부가 서비스 주소에 접속하여 부가 서비스를 요청하고(S123), 부가 서비스를 획득한다(S125).
도 52는 본 발명의 일 실시예에 따른 워터마크 기반의 컨텐츠 인식 타이밍을 보여준다.
도 52에 도시된 바와 같이, 방송 수신 장치(60)가 턴온되고 채널을 튜닝하고, 영상 표시 장치(100)가 외부 입력 포트(111)를 통해 방송 수신 장치(60)로부터 튜팅된 채널의 메인 시청각 컨텐트를 수신하면, 영상 표시 장치(100)는 메인 시청각 컨텐트의 워터마크로부터 컨텐츠 제공자 식별자(또는 방송국 식별자)를 감지할 수 있다. 이후, 영상 표시 장치(100)는 감지한 컨텐츠 제공자 식별자에 기초하여 메인 시청각 컨텐트의 워터마크로부터 컨텐츠 정보를 감지할 수 있다.
이때, 도 52에 도시된 바와 같이, 컨텐츠 제공자 식별자의 감지가능 주기와 컨텐츠 정보의 감지가능 주기는 다를 수 있다. 특히, 컨텐츠 제공자 식별자의 감지가능 주기는 컨텐츠 정보의 감지가능 주기보다 짧을 수 있다. 이를 통해, 영상 표시 장치(100)는 필요한 정보만을 감지하기 위한 효율적인 구성을 가질 수 있다.
도 53는 본 발명의 일 실시예에 따른 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 53에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크 토폴로지는 핑거프린트 서버(22)를 더 포함한다.
도 53에 도시된 바와 같은 핑거프린트 서버(22)는 메인 시청각 컨텐트에 변형을 가하지는 않으며 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출하여 저장한다. 이후에 핑거프린트 서버(22)는 영상 표시 장치(100)로부터의 특징 정보를 수신하면, 수신한 특징 정보에 해당하는 시청각 컨텐트의 식별자와 시간 정보를 제공한다.
도 54은 본 발명의 일 실시예에 따른 핑거프린트 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
먼저, 컨텐츠 제공 서버(10)는 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 전송한다(S201).
핑거프린트 서버(22)는 컨텐츠 제공 서버(10)가 제공하는 방송 신호를 수신하고, 메인 시청각 컨텐트의 복수의 프레임 구간 또는 복수의 오디오 구간으로부터 복수의 특징 정보를 추출하며, 복수의 특징 정보에 각각 대응하는 복수의 질의 결과를 위한 데이터베이스를 구축한다(S203). 질의 결과는 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 포함할 수 있다.
MVPD(30)는 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 수신하고, 다중화 신호를 생성하여 방송 수신 장치(60)에 제공한다(S205). 이때 다중화 신호는 수신한 부가 서비스를 배제하거나 새로운 부가 서비스를 포함할 수 있다.
방송 수신 장치(60)는 사용자가 선택한 채널을 튜닝하고 튜닝한 채널의 신호를 수신하고, 수신된 방송 신호를 복조하고 채널 복호화(channel decoding)하고 시청각 복호(AV decoding)를 수행하여 비압축 메인 시청각 컨텐트를 생성한 후, 생성된 비압축 메인 시청각 컨텐트를 영상 표시 장치(100)에 제공한다(S206).
한편, 컨텐츠 제공 서버(10) 또한 메인 시청각 컨텐트를 포함하는 방송 신호를 무선 채널 등을 통해 방송한다(S207).
또한, MVPD(30)는 방송 수신 장치(60)를 통하지 않고 직접 영상 표시 장치(100)에 메인 시청각 컨텐트를 포함하는 신호를 전송할 수도 있다(S208).
영상 표시 장치(100)는 셋톱 박스(60)를 통해 비압축 메인 시청각 컨텐트를 수신할 수 있다. 또는, 영상 표시 장치(100)는 무선 채널을 통해 방송 신호를 수신하고 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 얻을 수 있다. 또는, 영상 표시 장치(100)는 MVPD(30)로부터 방송 신호를 수신하고, 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 수신할 수도 있다. 영상 표시 장치(100)는 획득한 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출한다(S213).
영상 표시 장치(100)는 미리 설정된 핑거프린트 서버 주소에 해당하는 핑거프린트 서버(22)에 접속하여 추출한 특징 정보를 포함하는 제1 질의를 전송한다(S215).
핑거프린트 서버(22)는 제1 질의에 대한 제1 응답으로서 질의 결과를 제공한다(S217). 만약 제1 응답이 실패에 해당한다면, 영상 표시 장치(100)는 또 다른 핑거프린트 서버 주소에 해당하는 핑거프린트 서버(22)에 접속하여 추출한 특징 정보를 포함하는 제1 질의를 전송할 수 있다.
핑거프린트 서버(22)는 질의 결과로서 XML (Extensible Markup Language) 문서를 제공할 수 있다. 이하, 질의 결과를 담는 XML 문서의 예를 설명한다.
도 55은 본 발명의 일 실시예에 따른 질의 결과를 담는 ACR-Resulttype의 XML 스키마 다이어그램(schema diagram)을 보여준다.
도 55에 도시된 바와 같이, 질의 결과를 담는 ACR-Resulttype은 ResultCode 속성과 ContentID, NTPTimestamp, SignalingChannelInformation, ServiceInformation 엘리먼트를 갖는다.
예컨데, ResultCode 속성이 200의 값을 가지면, 이는 질의 결과가 성공임을 의미할 수 있다. ResultCode 속성이 404의 값을 가지면, 이는 질의 결과가 실패임을 의미할 수 있다.
SignalingChannelInformation 엘리먼트는 SignalingChannelURL 엘리먼트를 갖고, SignalingChannelURL 엘리먼트는 UpdateMode, PollingCycle 속성을 갖는다. UpdateMode 속성은 Pull 값 또는 Push 값을 가질 수 있다.
ServiceInformation 엘리먼트는 ServiceName, ServiceLogo, ServiceDescription 엘리먼트를 갖는다.
다음은, 이와 같은 질의 결과를 담는 ACR-ResultType의 XML Schema를 보여준다.
Figure pct00063
ContentID 엘리먼트로서, 아래의 표에서 보여주는 바와 같은 ATSC 컨텐트 식별자(ATSC content identifier)가 이용될 수 있다.
Figure pct00064
상기 표에서 보여지는 바와 같이, ATSC content identifier는 TSID와 하우스 번호로 구성된 구조를 가진다.
16 비트 부호없는 정수 TSID는 트랜스포트 스트림 식별자(transport stream identifier)를 담는다(carry).
5 비트 부호 없는 정수 end_of_day는 방송이 끝나서 content_id 값이 재사용될 수 있는 날의 시(hour)로 셋팅된다.
9 비트 부호 없는 정수 unique_for는 content_id 값이 재사용될 수 없는 날의 수(the number of day)로 설정된다.
content_id는 컨텐트 식별자를 나타낸다. 영상 표시 장치(100)는 매일 end_of_day에 해당하는 시간에서 unique_for를 1씩 감소시키고, unique_for가 0이 되지 않았다면 content_id가 유일한 것이라고 간주할 수 있다.
한편, ContentID 엘리먼트로서, 아래에서 설명하는 바와 같은 ATSC-M/H service를 위한 글로벌 서비스 식별자(Global Service Identifier)가 이용될 수 있다.
글로벌 서비스 식별자는 다음과 같은 폼을 갖는다.
- urn:oma:bcast:iauth:atsc:service:<region>:<xsid>:<serviceid>
여기에서 <region>는 ISO 639-2에 의해 규정되는 바와 같은 2개의 문자로 된 국제 국가 코드이다. 로컬 서비스(local service)를 위한 <xsid> 는 <region>에서 정의하는 바와 같은 TSID의 십진수이고, 지역 서비스(regional service) (major > 69)를 위한 <xsid> 는 "0"이다. <serviceid> 는 <major>나 <minor>로 정의된다. <major> 는 메이저 채널 번호(Major Channel number)를 나타내고, <minor> 마이너 채널 번호(Minor Channel Number)를 나타낸다.
글로벌 서비스 식별자의 예는 아래와 같다.
- urn:oma:bcast:iauth:atsc:service:us:1234:5.1
- urn:oma:bcast:iauth:atsc:service:us:0:100.200
한편, ContentID 엘리먼트로서, 아래에서 설명하는 바와 같은 ATSC 컨텐트 식별자가 이용될 수 있다.
ATSC 컨텐트 식별자는 다음과 같은 폼을 갖는다.
urn:oma:bcast:iauth:atsc:content:<region>:<xsidz>:<contentid>:<unique_for>:<end_of_day>
여기에서 <region>는 ISO 639-2에 의해 규정되는 바와 같은 2개의 문자로 된 국제 국가 코드이다. 로컬 서비스(local service)를 위한 <xsid> 는 <region>에서 정의하는 바와 같은 TSID의 십진수이고, "."<serviceid>가 뒤따를 수 있다. 지역 서비스(regional service) (major > 69)를 위한 <xsid> 는 <serviceid>이다. <content_id> 는 상기 표에 정의되어 있는 content_id field의 base64 부호이고, <unique_for> 는 상기 표에 정의되어 있는 unique_for field의 십진수 부호이며, <end_of_day> 는 상기 표에 정의되어 있는 end_of_day field의 십진수 부호이다.
이하에서는 다시 도 54을 설명한다.
질의 결과가 부가 서비스 주소나 부가 서비스를 포함하고 있지 않고 부가 서비스 주소 제공 서버 주소를 포함한다면, 영상 표시 장치(100)는 획득한 부가 서비스 주소 제공 서버 주소에 해당하는 부가 서비스 정보 제공 서버(40)에 접속하여 컨텐츠 정보를 포함하는 제2 질의를 전송한다(S219).
부가 서비스 정보 제공 서버(40)는 제2 질의의 컨텐츠 정보와 관련된 하나 이상의 이용가능한 부가 서비스를 검색한다. 이후, 부가 서비스 정보 제공 서버(40)는 제2 질의에 대한 제2 응답으로 하나 이상의 이용가능한 부가 서비스를 위한 부가 서비스 정보를 영상 표시 장치(100)에 제공한다(S221).
영상 표시 장치(100)는 제1 응답 또는 제2 응답을 통해 하나 이상의 이용가능한 부가 서비스 주소를 획득하였다면, 이 하나 이상의 이용가능한 부가 서비스 주소에 접속하여 부가 서비스를 요청하고(S223), 부가 서비스를 획득한다(S225).
UpdateMode 속성이 Pull 값을 가지는 경우, 영상 표시 장치(100)는 SignalingChannelURL을 통해 HTTP request를 부가서비스 제공 서버(50)에 전송하여 이에 대한 응답으로 PSIP 바이너리 스트림을 포함하는 HTTP response를 부가서비스 제공 서버(50)로부터 수신한다. 이 경우 영상 표시 장치(100)는 PollingCycle 속성으로 지정되는 Polling 주기에 따라 HTTP request를 전송할 수 있다. 또한, SignalingChannelURL 엘리먼트는 업데이트 시간 속성을 가질 수도 있다. 이 경우, 영상 표시 장치(100)는 업데이트 시간 속성으로 지정되는 업데이트 시간에서 HTTP request를 전송할 수 있다.
UpdateMode 속성이 Push 값을 가지는 경우, 영상 표시 장치(100)는 XMLHTTPRequest API 를 활용하여 비동기적으로 서버로부터 업데이트를 수신할 수 있다. 영상 표시 장치(100)가 서버로 XMLHTTPRequest object를 통해 비동기적인 request를 한 후에 서버가 시그널링 정보에 변경이 있을 경우에 이 채널을 통해 response로 시그널링 정보를 제공하는 방안이다. 세션의 대기 시간에 제한이 있을 경우에는 session timeout respond를 발생시키고, 바로 수신기는 이를 인지하여 재요청하여서 수신기와 서버간의 시그널링 채널을 항시 유지할 수 있다.
도 56은 본 발명의 일 실시예에 따른 워터마크와 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 56에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크 토폴로지는 워터마크 서버(21)와 핑거프린트 서버(22)를 더 포함한다.
도 56에 도시된 바와 같은 워터마크 서버(21)는 메인 시청각 컨텐트에 컨텐츠 제공자 식별 정보를 삽입한다. 워터마크 서버(21)는 로고와 같이 보이는 워터마크로서 컨텐츠 제공자 식별 정보를 메인 시청각 컨텐트에 삽입할 수도 있고, 보이지 않는 워터마크로서 컨텐츠 제공자 식별 정보를 메인 시청각 컨텐트에 삽입할 수도 있다.
핑거프린트 서버(22)는 메인 시청각 컨텐트에 변형을 가하지는 않으며 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출하여 저장한다. 이후에 핑거프린트 서버(22)는 영상 표시 장치(100)로부터의 특징 정보를 수신하면, 수신한 특징 정보에 해당하는 시청각 컨텐트의 식별자와 시간 정보를 제공한다.
도 57은 본 발명의 일 실시예에 따른 워터마크와 핑거프린트 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
먼저, 컨텐츠 제공 서버(10)는 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 전송한다(S301).
워터마크 서버(21)는 컨텐츠 제공 서버(10)가 제공하는 방송 신호를 수신하고, 메인 시청각 컨텐트에 변형을 가하여 메인 시청각 컨텐트에 로고와 같은 보이는 워터마크(visible watermark)를 삽입하거나, 메인 시청각 컨텐트에 워터마크 정보를 보이지 않는 워터마크(invisible watermark)로서 삽입하고, 워터마킹된 메인 시청각 컨텐트와 부가 서비스를 MVPD(30)에 제공한다(S303). 보이지 않는 워터마크를 통해 삽입되는 워터마크 정보는 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 포함할 수 있다. 컨텐츠 정보와 부가 서비스 정보는 앞서 설명한 바와 같다.
MVPD(30)는 워터마킹된 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 수신하고, 다중화 신호를 생성하여 방송 수신 장치(60)에 제공한다(S305). 이때 다중화 신호는 수신한 부가 서비스를 배제하거나 새로운 부가 서비스를 포함할 수 있다.
방송 수신 장치(60)는 사용자가 선택한 채널을 튜닝하고 튜닝한 채널의 신호를 수신하고, 수신된 방송 신호를 복조하고 채널 복호화(channel decoding)하고 시청각 복호(AV decoding)를 수행하여 비압축 메인 시청각 컨텐트를 생성한 후, 생성된 비압축 메인 시청각 컨텐트를 영상 표시 장치(100)에 제공한다(S306).
한편, 컨텐츠 제공 서버(10) 또한 메인 시청각 컨텐트를 포함하는 방송 신호를 무선 채널 등을 통해 방송한다(S307).
또한, MVPD(30)는 방송 수신 장치(60)를 통하지 않고 직접 영상 표시 장치(100)에 메인 시청각 컨텐트를 포함하는 신호를 전송할 수도 있다(S308).
영상 표시 장치(100)는 셋톱 박스(60)를 통해 비압축 메인 시청각 컨텐트를 수신할 수 있다. 또는, 영상 표시 장치(100)는 무선 채널을 통해 방송 신호를 수신하고 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 얻을 수 있다. 또는, 영상 표시 장치(100)는 MVPD(30)로부터 방송 신호를 수신하고, 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 수신할 수도 있다. 영상 표시 장치(100)는 획득한 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 워터마크 정보를 추출한다. 워터마크 정보가 로고에 해당하면, 영상 표시 장치(100)는 복수의 로고와 복수의 워터마크 서버 주소의 대응관계로부터 추출한 로고에 해당하는 워터마크 서버 주소를 확인한다. 워터마크 정보가 로고에 해당하는 경우에, 영상 표시 장치(100)는 로고만을 가지고서는 메인 시청각 컨텐츠를 식별할 수 없다. 또한, 워터마크 정보가 컨텐트 정보를 포함하고 있지 않은 경우에도 영상 표시 장치(100)는 메인 시청각 컨텐츠를 식별할 수 없으나, 워터마크 정보가 컨텐츠 제공자 식별 정보나 워터마크 서버 주소를 포함할 수 있다. 워터마크 정보가 컨텐츠 제공자 식별 정보를 포함하는 경우에, 영상 표시 장치(100)는 복수의 컨텐츠 제공자 식별 정보와 복수의 워터마크 서버 주소의 대응관계로부터 추출한 컨텐츠 제공자 식별 정보에 해당하는 워터마크 서버 주소를 확인할 수 있다. 이와 같이, 영상 표시 장치(100)는 워터마크 정보만으로 메인 시청각 컨텐트를 식별할 수 없는 경우에, 획득한 워터마크 서버 주소에 해당하는 워터마크 서버(21)에 접속하여 제1 질의를 전송한다(S309).
워터마크 서버(21)는 제1 질의에 대한 제1 응답을 제공한다(S311). 이 제1 응답은 핑거프린트 서버 주소, 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 포함할 수 있다. 컨텐츠 정보와 부가 서비스 정보는 앞서 설명한 바와 같다.
워터마크 정보와 제1 응답이 핑거프린트 서버 주소를 포함하고 있다면, 영상 표시 장치(100)는 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출한다(S313).
영상 표시 장치(100)는 제1 응답 내의 핑거프린트 서버 주소에 해당하는 핑거프린트 서버(22)에 접속하여 추출한 특징 정보를 포함하는 제2 질의를 전송한다(S315).
핑거프린트 서버(22)는 제2 질의에 대한 제2 응답으로서 질의 결과를 제공한다(S317).
질의 결과가 부가 서비스 주소나 부가 서비스를 포함하고 있지 않고 부가 서비스 주소 제공 서버 주소를 포함한다면, 영상 표시 장치(100)는 획득한 부가 서비스 주소 제공 서버 주소에 해당하는 부가 서비스 정보 제공 서버(40)에 접속하여 컨텐츠 정보를 포함하는 제3 질의를 전송한다(S319).
부가 서비스 정보 제공 서버(40)는 제3 질의의 컨텐츠 정보와 관련된 하나 이상의 이용가능한 부가 서비스를 검색한다. 이후, 부가 서비스 정보 제공 서버(40)는 제3 질의에 대한 제3 응답으로 하나 이상의 이용가능한 부가 서비스를 위한 부가 서비스 정보를 영상 표시 장치(100)에 제공한다(S321).
영상 표시 장치(100)는 제1 응답, 제2 응답, 또는 제3 응답을 통해 하나 이상의 이용가능한 부가 서비스 주소를 획득하였다면, 이 하나 이상의 이용가능한 부가 서비스 주소에 접속하여 부가 서비스를 요청하고(S323), 부가 서비스를 획득한다(S325).
다음은 도 58을 참고하여, 본 발명의 실시예에 따른 영상 표시 장치(100)를 설명한다.
도 58은 본 발명의 실시예에 따른 영상 표시 장치의 블록도이다.
도 58에 도시된 바와 같이, 본 발명의 실시예에 따른 영상 표시 장치(100)는 방송 신호 수신부(101), 복조부(103), 채널 복호부(105), 역다중화부(107), 시청각 복호부(109), 외부 입력 포트(111), 재생 제어부(113), 재생 장치(120), 부가 서비스 관리부(130), 데이터 송수신부(141), 메모리(150)를 포함한다.
방송 신호 수신부(101)는 컨텐츠 제공 서버(10) 또는 MVPD(30)로부터 방송 신호를 수신한다.
복조부(103)는 수신한 방송 신호를 복조하여 복조된 신호를 생성한다.
채널 복호부(105)는 복조된 신호를 채널 복호하여 채널 복호된 데이터를 생성한다.
역다중화부(107)는 채널 복호된 데이터로부터 메인 시청각 컨텐트와 부가 서비스를 분리한다. 분리된 부가 서비스는 부가 서비스 저장부(152)에 저장된다.
시청각 복호부(109)는 분리된 메인 시청각 컨텐트를 시청각 복호(AV decoding)하여 비압축 메인 시청각 컨텐트를 생성한다.
한편, 외부 입력 포트(111)는 방송 수신 장치(60), 디브이디(digital versatile disk, DVD) 플레이어, 블루레이 디스크 (Blu-ray disc) 플레이어 등으로부터 비압축 메인 시청각 컨텐트를 수신한다. 외부 입력 포트(111)는 DSUB 포트, HDMI (High Definition Multimedia Interface) 포트, DVI (Digital Visual Interface) 포트, 컴포지트(composite) 포트, 컴포넌트(component) 포트, S-Video 포트 중 하나 이상을 포함할 수 있다.
재생 제어부(113)는 시청각 복호부(109)가 생성하는 비압축 메인 시청각 컨텐트 또는 외부 입력 포트(111)로부터 수신한 비압축 메인 시청각 컨텐트 중 적어도 하나를 사용자 선택에 의해 재생 장치(120)에 재생한다.
재생 장치(120)는 디스플레이부(121)와 스피커(123)를 포함한다. 디스플레이부(121)는 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다.
부가 서비스 관리부(130)는 메인 시청각 컨텐트의 컨텐츠 정보를 획득하고, 획득된 컨텐츠 정보에 기초하여 이용가능한 부가 서비스를 획득한다. 특히, 앞서 설명한 바와 같이 부가 서비스 관리부(130)는 비압축 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플에 기초하여 메인 시청각 컨텐트의 식별 정보를 획득할 수 있는데, 본 명세서에서는 이를 자동 컨텐츠 인식(automatic contents recognition, ACR)이라 칭하기도 한다.
데이터 송수신부(141)는 ATSC-M/H (Advanced Television Systems Committee - Mobile/Handheld) 채널 송수신부(141a)와 IP 송수신부(141b)를 포함할 수 있다.
메모리(150)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 영상 표시 장치(100)는 인터넷(internet)상에서 상기 메모리(150)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다.
메모리(150)는 컨텐츠 정보 저장부(151), 부가 서비스 저장부(152), 로고 저장부(153), 설정 정보 저장부(154), 북마크 저장부(155), 사용자 정보 저장부(156), 이용 정보 저장부(157)를 포함할 수 있다.
컨텐츠 정보 저장부(151)는 복수의 특징 정보에 대응하는 복수의 컨텐츠 정보를 저장한다.
부가 서비스 저장부(152)는 복수의 특징 정보에 대응하는 복수의 부가 서비스를 저장할 수도 있고, 복수의 컨텐츠 정보에 대응하는 복수의 부가 서비스를 저장할 수도 있다.
로고 저장부(153)는 복수의 로고를 저장한다. 또, 로고 저장부는 이 복수의 로고에 대응하는 컨텐츠 제공자 식별자 또는 복수의 로고에 대응하는 워터마크 서버 주소를 더 저장할 수도 있다.
설정 정보 저장부(154)는 ACR을 위한 설정 정보를 저장한다.
북마크 저장부(155)는 북마크를 저장한다.
사용자 정보 저장부(156)는 사용자 정보를 저장한다. 사용자 정보는 하나 이상의 서비스를 위한 하나 이상의 계정 정보, 지역 정보, 가족 구성원 정보, 선호 장르 정보, 영상 표시 장치 정보, 이용 정보 제공 범위 중 하나 이상을 포함할 수 있다. 하나 이상의 계정 정보는 이용 정보 측정 서버를 위한 계정 정보, 트위터(twitter), 페이스북(facebook)과 같은 소셜 네트워크 서비스(social network service)의 계정 정보를 포함할 수 있다. 지역 정보는 주소 정보, 우편 번호를 포함할 수 있다. 가족 구성원 정보는 가족 구성원의 수, 각 구성원의 나이, 각 구성원의 성별, 각 구성원의 종교, 각 구성원의 직업 등을 포함할 수 있다. 선호 장르 정보는 스포츠, 영화, 드라마, 교육, 뉴스, 오락, 기타 장르 중에서 하나 이상으로 설정될 수 있다. 영상 표시 장치 정보는 영상 표시 장치의 종류, 제조사, 펌웨어 버전, 해상도, 모델명, OS, 브라우저, 저장 장치 유무, 저장 장치의 용량, 네트워크 속도에 대한 정보를 포함할 수 있다. 이용 정보 제공 범위가 설정되면, 영상 표시 장치(100)는 설정된 범위 내에서 메인 시청각 컨텐트 시청 정보와 부가 서비스 이용 정보를 수집하고 보고할 수 있다. 이용 정보 제공 범위는 가상 채널 각각에 대해 설정될 수 있다. 또한, 이용 정보 측정 허용 범위는 물리 채널 전체에 대해 설정될 수도 있다.
이용 정보 저장부(157)는 영상 표시 장치(100)에 의해 수집되는 메인 시청각 컨텐트 시청 정보와 부가 서비스 사용 정보를 저장한다. 또한, 영상 표시 장치(100)는 수집한 메인 시청각 컨텐트 시청 정보와 수집한 부가 서비스 사용 정보에 기초하여 서비스 이용 패턴을 분석하고, 분석된 서비스 이용 패턴을 이용 정보 저장부(157)에 저장할 수 있다.
부가 서비스 관리부(130)는 핑거프린트 서버(22) 또는 컨텐츠 정보 저장부(151)로부터 메인 시청각 컨텐트의 컨텐츠 정보를 획득할 수 있다. 컨텐츠 정보 저장부(151)에 추출한 특징 정보에 해당하는 컨텐츠 정보가 없거나 충분한 컨텐츠 정보가 없는 경우, 부가 서비스 관리부(130)는 데이터 송수신부(141)를 통해 추가 컨텐츠 정보를 수신할 수 있다. 또한, 부가 서비스 관리부(130)는 지속적으로 컨텐츠 정보를 업데이트할 수 있다.
부가 서비스 관리부(130)는 부가 서비스 제공 서버(50) 또는 부가 서비스 저장부(153)로부터 이용가능한 부가 서비스를 획득할 수 있다. 부가 서비스 저장부(153)에 부가 서비스가 없거나 충분한 부가 서비스가 없는 경우, 부가 서비스 관리부(130)는 데이터 송수신부(141)를 통해 부가 서비스를 업데이트할 수 있다. 또한, 부가 서비스 관리부(130)는 지속적으로 부가 서비스를 업데이트할 수 있다.
부가 서비스 관리부(130)는 메인 시청각 컨텐트로부터 로고를 추출하고, 로고 저장부(155)에 질의하여 추출한 로고에 대응하는 컨텐츠 제공자 식별자 또는 워터마크 서버 주소를 획득할 수 있다. 로고 저장부(155)에 추출한 로고와 일치하는 로고가 없거나 충분한 로고가 없는 경우, 부가 서비스 관리부(130)는 데이터 송수신부(141)를 통해 추가 로고를 수신할 수 있다. 또한, 부가 서비스 관리부(130)는 지속적으로 로고를 업데이트할 수 있다.
부가 서비스 관리부(130)는 메인 시청각 컨텐트로부터 추출한 로고와 로고 저장부(155) 내의 복수의 로고와의 비교를 수행하는데 연산의 부담을 줄이기 위한 다양한 방법을 수행할 수 있다.
예컨데, 부가 서비스 관리부(130)는 색깔 특성에 기초하여 비교를 수행할 수 있다. 즉, 부가 서비스 관리부(130)는 추출한 로고의 색깔 특성과 로고 저장부(155) 내의 로고의 색깔 특성을 비교하여 일치 여부를 판단할 수 있다.
또, 부가 서비스 관리부(130)는 문자 인식에 기초하여 비교를 수행할 수 있다. 즉, 부가 서비스 관리부(130)는 추출한 로고로부터 인식되는 문자와 로고 저장부(155) 내의 로고로부터 인식되는 문자를 비교하여 일치 여부를 판단할 수 있다.
뿐만 아니라, 부가 서비스 관리부(130)는 로고의 윤곽에 대한 형상에 기초하여 비교를 수행할 수 있다. 즉, 부가 서비스 관리부(130)는 추출한 로고의 윤곽 형상과 로고 저장부(155) 내의 로고의 윤곽 형상을 비교하여 일치 여부를 판단할 수 있다.
다음은 도 59와 도 60을 참고하여 본 발명의 실시예에 따라 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 재생 시간을 동기화하는 방법을 설명한다.
도 59는 본 발명의 실시예에 따라 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 재생 시간을 동기화하는 방법을 보여주는 흐름도이다.
부가 서비스 정보는 부가 서비스의 시작 시간을 포함할 수 있다. 이때, 영상 표시 장치(100)는 이 시작 시간에서 부가 서비스를 시작할 필요가 있다. 그러나, 영상 표시 장치(100)는 타임 스탬프를 가지지 않는 비압축 메인 시청각 컨텐트를 전송하는 신호를 수신하기 때문에, 메인 시청각 컨텐트의 재생 시간의 기준과 부가 서비스의 시작 시간의 기준은 서로 다르다. 영상 표시 장치(100)가 시간 정보를 가지는 메인 시청각 컨텐트를 수신하더라도, 재방송 등과 같이, 메인 시청각 컨텐트의 재생 시간의 기준과 부가 서비스의 시작 시간의 기준은 서로 다를 수 있다. 따라서, 영상 표시 장치(100)는 메인 시청각 컨텐트의 기준 시간과 부가 서비스의 기준 시간을 동기화할 필요가 있다. 특히 영상 표시 장치(100)는 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 시작 시간을 동기화할 필요가 있다.
먼저, 부가 서비스 관리부(130)는 메인 시청각 컨텐트의 일부 구간을 추출한다(S801). 메인 시청각 컨텐트의 일부 구간은 메인 시청각 컨텐트의 일부 비디오 프레임과 일부 오디오 구간 중 하나 이상을 포함할 수 있다. 부가 서비스 관리부(130)가 메인 시청각 컨텐트의 일부 구간을 추출한 시간을 Tn이라 한다.
부가 서비스 관리부(130)는 추출된 구간에 기초하여 메인 시청각 컨텐트의 컨텐츠 정보를 획득한다(S803). 구체적으로 부가 서비스 관리부(130)는 추출된 구간에 보이지 않는 워터마크(invisible watermark)로 부호화된 정보를 복호하여 컨텐츠 정보를 획득할 수 있다. 또한, 부가 서비스 관리부(130)는 추출된 구간의 특징 정보를 추출하고, 추출된 특징 정보에 기초하여 핑거프린트 서버(22) 또는 컨텐츠 정보 저장부(151)로부터 메인 시청각 컨텐트의 컨텐츠 정보를 획득할 수 있다. 부가 서비스 관리부(130)가 컨텐츠 정보를 획득한 시간을 Tm이라 한다.
한편, 컨텐츠 정보는 추출된 구간의 시작 시간(Ts)을 포함한다. 부가 서비스 관리부(130)는 컨텐츠 정보 획득 시간(Tm) 이후부터는 시간(Ts), 시간(Tm), 시간(Tn)에 기초하여 메인 시청각 컨텐트의 재생 시간을 부가 서비스의 시작 시간과 동기화한다(S805). 구체적으로, 부가 서비스 관리부(130)는 컨텐츠 정보 획득 시간(Tm)을 새로이 계산되는 시간(Tp)로 간주한다. 여기서, Tp = Ts + (Tm-Tn) 이라 할 수 있다.
그리고, 부가 서비스 관리부(130)는 컨텐츠 정보 획득 시간부터 시간(Tx)가 경과한 시간을 Tp + Tx로 간주할 수 있다.
이후, 부가 서비스 관리부(130)는 획득한 컨텐츠 정보에 기초하여 부가 서비스와 부가 서비스의 시작 시간(Ta)을 획득한다(S807).
메인 시청각 컨텐트의 동기화된 재생 시간이 부가 서비스의 시작 시간(Ta)와 일치하면, 부가 서비스 관리부(130)는 획득한 부가 서비스를 시작한다(S809). 구체적으로, 부가 서비스 관리부(130)는 Tp + Tx =Ta 를 만족하는 경우에 부가 서비스를 시작할 수 있다.
도 60은 발명의 실시예에 따라 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 재생 시간을 동기화하는 방법을 보여주는 개념도이다.
도 60에 도시된 바와 같이, 영상 표시 장치(100)는 시스템 시간(Tn)에서 시청각 샘플을 추출한다.
영상 표시 장치(100)는 추출한 시청각 샘플로부터 특징 정보를 추출하고, 핑거프린트 서버(22)에 추출한 특징 정보를 포함하는 질의를 전송하여 질의 결과를 수신한다. 영상 표시 장치(100)는 질의 결과를 파싱하여 추출한 시청각 샘플의 시작 시간(Ts)가 11000ms에 해당함을 시간(Tm)에서 확인한다.
따라서, 영상 표시 장치는 추출한 시청각 샘플의 시작 시간을 확인한 시점을 Ts + (Tm - Tn)로 간주하여 이후부터 메인 시청각 컨텐트의 재생 시간을 부가 서비스의 시작 시간과 동기화할 수 있다.
도 61은 본 발명의 또 다른 실시예에 따른 핑거프린트 기반의 영상 표시 장치의 구조를 보여주는 블록도이다.
도 61에서, Tuner(501)는 air 채널을 통해 전송되는 8-VSB RF 신호로부터 Symbol을 추출한다.
8-VSB Demodulator(503)는 Tuner(501)가 추출한 8-VSB Symbol을 복조하여 의미 있는 디지털 데이터를 복원한다.
VSB Decoder(505)는 8-VSB Demodulator(503)가 복원한 디지털 데이터를 복호하여 ATSC 메인 서비스와 ATSC M/H 서비스를 복원한다.
MPEG-2 TP Demux(507)는 8-VSB 신호를 통하여 전송되는 MPEG-2 Transport Packet 또는 PVR Storage에 저장된 MPEG-2 Transport Packet 중에서 영상 표시 장치(100)가 처리하고자 하는 Transport Packet을 필터링하여 적절한 처리 모듈로 중계한다.
PES 디코더(539)는 MPEG-2 Transport Stream을 통하여 전송된 Packetized Elementary Stream을 Buffering하고 복원한다.
PSI/PSIP 디코더(541)는 MPEG-2 Transport Stream을 통하여 전송되는 PSI/PSIP Section Data를 Buffering하고 분석한다. 분석된 PSI/PSIP 데이터는 Service Manager(미도시)에 의하여 수집되어, Service Map 및 Guide data 형태로 DB에 저장된다.
DSMCC Section Buffer/Handler (511)은 MPEG-2 TP를 통하여 전송되는 파일 전송 및 IP Datagram encapsulation 등을 위한 DSMCC Section Data를 버퍼링(Buffering)하고 처리한다.
IP/UDP Datagram Buffer/Header Parser(513)는 DSMCC Addressable section을 통해 encapsulate되어 MPEG-2 TP를 통하여 전송되는 IP Datagram을 버퍼링하고 복원하여 각 Datagram의 Header를 분석한다. 또한, IP/UDP Datagram Buffer/Header Parser(513)는 IP Datagram을 통하여 전송되는 UDP Datagram을 Buffering 및 복원하고, 복원된 UDP Header를 분석 및 처리한다.
Stream component handler(557)는 ES Buffer/Handler, PCR Handler, STC 모듈, Descrambler, CA Stream Buffer/Handler, Service Signaling Section Buffer/Handler를 포함할 수 있다.
ES Buffer/Handler는 PES 형태로 전송된 Video, Audio 데이터 등의 Elementary Stream을 Buffering 및 복원하여 적절한 A/V Decoder로 전달한다.
PCR Handler는 Audio 및 Video Stream의 Time synchronization 등을 위하여 사용되는 PCR (Program Clock Reference) Data를 처리한다.
STC 모듈은 PCR Handler를 통하여 전달받은 Reference Clock 값을 이용하여, A/V Decoder 들의 Clock 값을 보정하여 Time Synchronization를 수행한다.
수신된 IP Datagram의 Payload에 Scrambling이 적용된 경우, Descrambler는 CA Stream Handler로부터 전달 받은 Encryption key 등을 이용, Payload의 데이터를 복원한다.
CA Stream Buffer/Handler는 MPEG-2 TS또는 IP Stream을 통하여 전송되는 Conditional Access 기능을 위하여 전송되는 EMM, ECM 등의 Descrambling을 위한 Key 값 등의 Data를 Buffering 및 처리한다. CA Stream Buffer/Handler의 Output은 Descrambler로 전달되어, descrambler는 A/V Data 및 File Data등을 전송하는 MPEG-2 TP 또는 IP Datagram의 암호화 해제작업을 수행한다.
Service Signaling Section Buffer/Handler는 IP Datagram의 형태로 전송되는 NRT Service Signaling Channel Section Data를 Buffering 하고 복원하며 분석한다. Service Manager(미도시)는 분석된 NRT Service Signaling Channel Section 데이터를 수집하여, Service Map 및 Guide data 형태로 DB에 저장한다.
A/V Decoder(561)는 ES Handler를 통하여 전달받은 Audio/Video 데이터의 압축을 복호화하여, 사용자에게 Presentation한다.
MPEG-2 Service Demux(미도시)는 MPEG-2 TP Buffer/Parser, Descrambler, PVR Storage 모듈을 포함할 수 있다.
MPEG-2 TP Buffer/Parser (미도시)는 8-VSB 신호를 통하여 전송되는 MPEG-2 Transport Packet을 Buffering 및 복원하고, Transport Packet Header를 검출 및 처리한다.
Descrambler는 MPEG-2 TP 중, Scramble이 적용된 Packet payload에 대하여, CA Stream Handler로부터 전달 받은 Encryption key 등을 이용, Payload의 데이터를 복원한다.
PVR Storage 모듈은 사용자의 요구 등에 따라 8-VSB 신호를 이용하여 수신된 MPEG-2 TP를 저장하고, 또한 사용자의 요구에 의해 MPEG-2 TP를 출력한다. PVR Storage 모듈은 PVR Manager(미도시)에 의해 제어될 수 있다.
File Handler(551)는 ALC/LCT Buffer/Parser, FDT Handler, XML Parser, File Reconstruction Buffer, Decompressor, File Decoder, File Storage를 포함할 수 있다.
ALC/LCT Buffer/Parser는 UDP/IP Stream으로 전송되는 ALC/LCT 데이터를 Buffering 및 복원하고, ALC/LCT의 Header 및 Header extension을 분석한다. ALC/LCT Buffer/Parser는 NRT Service Manager(미도시)에 의해 제어될 수 있다.
FDT Handler는 ALC/LCT session을 통하여 전송되는 FLUTE protocol의 File Description Table을 분석 및 처리한다. FDT Handler는 NRT Service Manager(미도시)에 의해 제어될 수 있다.
XML Parser는 ALC/LCT session을 통하여 전송되는 XML Document를 분석하여, FDT Handler, SG Handler 등 적절한 모듈로 분석된 데이터를 전달한다.
File Reconstruction Buffer는 ALC/LCT, FLUTE session으로 전송되는 파일을 복원한다.
Decompressor는 ALC/LCT, FLUTE session으로 전송되는 파일이 압축되어 있는 경우, 그 압축을 해제하는 프로세스를 수행한다.
File Decoder는 File Reconstruction Buffer에서 복원된 File 또는 Decompressor에서 압축해제된 파일, 또는 File Storage에서 추출된 File을 Decoding한다.
File Storage는 복원된 파일을 필요에 의하여 저장하거나 추출한다.
M/W Engine(미도시)은 DSMCC Section, IP Datagram 등을 통하여 전송되는 A/V Stream이 아닌 파일 등의 Data를 처리한다. , M/W Engine은 처리된 데이터를 Presentation Manager 모듈로 전달한다.
SG Handler(미도시)는 XML Document 형태로 전송되는 Service Guide 데이터를 수집하고 분석하여 EPG Manager에게 전달하는 프로세스를 수행한다.
Service Manager(미도시)는 MPEG-2 Transport Stream을 통하여 전송되는 PSI/PSIP Data, IP Stream으로 전송되는 Service Signaling Section Data를 수집하고 분석하여 Service Map을 제작한다. Service Manager(미도시)는 제작한 service map을 Service Map & Guide Database에 저장하며, 사용자가 원하는 Service에 대한 access를 제어한다. Operation Controller(미도시)에 의하여 제어되며, Tuner(501), MPEG-2 TP Demux(507), IP Datagram Buffer/Handler (513) 등에 대한 제어를 수행한다.
NRT Service Manager(미도시)는 IP layer 상에서 FLUTE session을 통하여 object/file 형태로 전송되는 NRT 서비스에 대한 전반적인 관리를 수행한다. NRT Service Manager(미도시)는 FDT Handler, File Storage등을 제어할 수 있다.
Application Manager(미도시)는 Object, file 등의 형태로 전송되는 Application 데이터의 처리에 관한 전반적인 관리를 수행한다.
UI Manager(미도시)는 User Interface를 통하여 사용자의 Input을 Operation Controller에 전달하고, 사용자가 요구하는 서비스를 위한 Process의 동작을 시작한다.
Operation Controller(미도시)는 UI Manager를 통하여 전달받은 사용자의 Command를 처리하고, 필요한 모듈의 Manager가 해당 Action을 수행하게 한다.
Fingerprint Extractor(565)는 Audio/Video 스트림으로 부터 fingerprint 특징 정보를 추출한다.
Fingerprint Comparator(567)는 Fingerprint Extractor가 추출한 특징 정보와 Reference fingerprint를 비교하여 일치하는 컨텐트를 찾는다. Fingerprint Comparator(567)는 Local에 저장된 Reference fingerprint DB를 이용할 수도 있고, 인터넷 상의 Fingerprint 질의 서버에 질의하여 결과를 수신할 수도 있다. 비교 결과로 매칭된 결과 데이터는 Application에 전달되어 이용될 수 있다.
Application(569)은 ACR 기능을 관장하는 모듈 혹은 ACR에 기반하여 Enhanced 서비스를 제공하는 어플리케이션 모듈로서, 시청중인 방송 컨텐트를 식별하여 이와 연계된 확장된 서비스를 제공한다.
도 62은 본 발명의 또 다른 실시예에 따른 워트마크 기반의 영상 표시 장치의 구조를 보여주는 블록도이다.
도 62에 도시된 워트마크 기반의 영상 표시 장치는 도 61에 도시된 핑거프린트 기반의 영상 표시 장치와 유사하나, 핑거프린트 기반의 영상 표시 장치의 Fingerprint Extractor(565)와 Fingerprint Comparator(567)를 포함하지 않으며, 대신 Watermark Extractor(566)를 더 포함한다.
Watermark Extractor(566)는 Audio/Video 스트림으로부터 watermark형태로 삽입된 데이터를 추출한다. 이렇게 추출된 데이터는 Application에 전달되어 이용될 수 있다.
도 63 는 본 발명의 일 실시예에 따른 워터마킹 기법을 통해 전달될 수 있는 데이터들을 예시한 도면이다.
전술한 바와 같이 WM 를 통한 ACR 은, 비압축적 오디오/비디오만을 접근가능한 환경(즉, 케이블/위성/IPTV 등으로부터 수신하는 환경) 에서, 그 비압축적 오디오/비디오로부터 컨텐츠에 대한 부가 서비스 관련 정보를 얻을 수 있다는 것에 목적이 있다. 이러한 환경을 ACR 환경이라고 부를 수 있다. ACR 환경에서, 수신기는 비압축적 오디오/비디오 데이터만을 전달받기 때문에 현재 디스플레이되고 있는 컨텐츠가 어떠한 컨텐츠인지를 알 수 없다. 따라서, 수신기는 WM 에 의해 전달되는 컨텐츠 소스 ID, 방송의 현재시점, 관련 어플리케이션의 URL 정보들을 활용하여, 디스플레이되고 있는 컨텐츠를 식별하고 인터렉티브 서비스를 제공할 수 있게 된다.
오디오/비디오 워터마크(WaterMark, WM) 을 사용하여 방송과 관련된 부가서비스를 전달함에 있어서, 가장 간단한 상황은 모든 부가 정보가 WM 에 의해 전달되는 경우라고 할 수 있다. 이 경우, 모든 부가 정보가 WM 검출기에 의해 검출되어 수신기가 검출된 정보들을 한번에 처리할 수 있다.
그러나, 이 경우에는 오디오/비디오 데이터에 WM 를 삽입하는 양이 증가하면 오디오/비디오의 전체 퀄리티가 저하될 수 있다. 위와 같은 이유에 의해서, WM 에는 가능한 최소한 필요한 데이터만을 삽입하는 것이 하나의 목표가 될 수 있다. 최소한의 데이터를 WM 로서 삽입하면서도, 많은 정보를 효율적으로 수신기가 수신하여 처리할 수 있도록 하는, WM 데이터의 구조가 정의될 필요가 있다. WM 에 사용되는 데이터 구조는, 상대적으로 전달되는 데이터의 양에 의해 영향을 적게 받는 핑거프린팅 방식에 있어서도 동일하게 활용될 수 있다.
도시된 바와 같이, 본 발명의 일 실시예에 따른 워터마킹 기법을 통해 전달될 수 있는 데이터들에는, 컨텐츠 소스의 ID, 타임스탬프, 인터랙티브 어플리케이션의 URL, 타임스탬프의 종류, URL 프로토콜의 종류, 어플리케이션 이벤트, 데스티네이션의 종류 등이 있을 수 있다. 이 외에도 다양한 종류의 데이터들이 본 발명에 따른 WM 기법에 의해 전달될 수 있다.
본 발명은 WM 기법을 통해 ACR 이 이루어지는 경우에 있어서, WM 에 담겨지는 데이터의 구조를 제안한다. 각 도시된 데이터 종류들에 대하여, 가장 효율적인 데이터 구조가 본발명에 의해 제안될 수 있다.
본 발명의 일 실시예에 따른 워터마킹 기법을 통해 전달될 수 있는 데이터들 중에는, 컨텐츠 소스의 ID 가 있을 수 있다. 셋톱박스(set-top box)를 이용한 환경에서 수신기(단말, TV)는, MVPD 가 셋톱박스를 통해 프로그램 관련 정보를 같이 전달하지 않는다면, 프로그램 이름, 채널 정보등의 정보를 알 수 없다. 따라서, 특정 컨텐츠 소스를 구분하기 위한 유니크 ID 가 필요할 수 있다. 본 발명에서는 컨텐츠 소스의 ID 종류를 한정하지 않는다. 컨텐츠 소스의 ID 에는 다음과 같은 실시예가 있을 수 있다.
먼저, 글로벌 프로그램 ID (Global Program ID) 는 각 방송 프로그램을 구분할 수 있는 글로벌한 식별자일 수 있다. 해당 ID 는 컨텐츠 프로바이더가 직접 생성할 수도 있고, 권위있는 단체에서 지정한 형식을 따를 수도 있다. 예를 들어, 북미 "TMS metadata" 의 TMSId, 또는 영화/방송 프로그램 구분자인 EIDR ID 등이 있을 수 있다.
글로벌 채널 ID (Global Channel ID) 는 MVPD 와 상관없는, 모든 채널을 구분할 수 있는 채널 식별자일 수 있다. 셋톱박스에서 제공하는 MVPD 마다 채널 번호가 다를 수 있다. 또한, 같은 MVPD 라고 하더라도, 사용자가 지정하는 서비스에 따라 채널 번호가 다를 수 있다. 글로벌 채널 ID 는 MVPD 등에 영향받지 않는 글로벌한 식별자로 사용될 수 있다. 실시예에 따라, 지상파로 전송되는 채널은 메이저 채널 넘버&마이너 채널 넘버로 식별될 수 있다. 프로그램 ID 만을 사용할 경우, 여러 방송국에서 동일 프로그램을 방영하는 경우에 문제가 발생할 수 있으므로, 특정 방송국을 지정하기 위하여 글로벌 채널 ID 가 사용될 수 있다.
WM 에 삽입할 컨텐츠 소스의 ID 로는, 프로그램 ID 와 채널 ID 가 있을 수 있다. WM 에는 프로그램 ID 와 채널 ID 가 모두 삽입되거나, 두 ID 를 조합한 새로운 형태의 ID, 또는 각각의 ID 가 삽입될 수 있다. 실시예에 따라 각 ID 또는 통합된 ID 를 해쉬(hash)화하여 데이터의 양을 줄일 수도 있다.
또한, 본 발명의 일 실시예에 따른 워터마킹 기법을 통해 전달될 수 있는 데이터들 중에는, 타임 스탬프가 있을 수 있다. 수신기는 현재 시청중인 내용이 컨텐츠의 어느 시점인지를 알 수 있어야 한다. 이 시간 관련 정보는 타임 스탬프라고 불릴 수도 있으며, WM 에 삽입될 수 있다. 시간 관련 정보는 절대시간(UTC, GPS, 등 ...) 또는 미디어 타임의 형태를 띌 수 있다. 시간 관련 정보는 정확도를 위하여 밀리 세컨드 단위까지 전달할 수 있으며, 실시예에 따라 더 세밀한 단위까지도 전달될 수 있다. 타임 스탬프는 후술할 타임 스탬프의 종류 정보에 따라 가변의 길이를 가질 수도 있다.
또한, 본 발명의 일 실시예에 따른 워터마킹 기법을 통해 전달될 수 있는 데이터들 중에는, 인터랙티브 어플리케이션의 URL 이 있을 수 있다. 현재 시청중인 방송 프로그램과 관련된 인터액티브 어플리케이션이 있을 경우 해당 어플리케이션에 대한 URL 이 WM 에 삽입될 수 있다. 수신기는 WM 를 검출하여, 해당 URL 을 얻고, 브라우저를 통해 어플리케이션을 실행할 수 있다.
도 64 는 본 발명의 일 실시예에 따른 타임 스탬프 타입 필드의 각 값들의 의미를 도시한 도면이다.
본 발명은 워터마킹 기법을 통해 전달될 수 있는 데이터 중 하나로서, 타임 스탬프 타입 필드를 제안한다. 또한, 본 발명은 타임 스탬프 타입 필드의 효과적인 데이터 구조를 제안한다.
타임 스탬프 타입 필드에는 5 비트가 할당될 수 있다. 타임 스탬프의 처음 두 비트들은 타임 스탬프의 사이즈를 의미할 수 있고, 나머지 뒤따르는 3 비트들은 타임 스탬프가 나타내는 시간정보의 단위를 나타낼 수 있다. 여기서, 처음 두 비트는 타임스탬프 사이즈 필드, 나머지 3 비트들은 타임스탬프 유닛 필드라 불릴 수 있다.
도시된 바와 같이, 타임 스탬프의 크기(size)와 타임 스탬프의 단위 값에 따라, 실제 타임 스탬프 정보는 가변적인 양으로써 WM 에 삽입될 수 있다. 이 가변성을 이용하여, 설계자는 타임 스탬프의 정확도의 수준에 따라 타임스탬프에 할당되는 크기 및 그 단위를 선택할 수 있다. 타임 스탬프의 정확도가 높아지면 정확한 시각에 인터랙티브 서비스를 제공하는 것이 가능해지겠지만, 반대로 시스템의 복잡도가 증가하게 된다. 이 트레이드 오프를 고려해서 타임스탬프에 할당되는 크기 및 그 단위가 선택될 수 있다.
타임 스탬프 타입 필드의 첫 두 비트가 00 일 경우, 타임 스탬프는 1 바이트의 크기를 가질 수 있다. 타임 스탬프 타입 필드의 첫 두 비트가 01, 10, 11 일 경우 타임 스탬프의 크기는 각각 2, 4, 8 바이트의 크기를 가질 수 있다.
타임 스탬프 타입 필드의 마지막 3 비트가 000 일 경우, 타임 스탬프는 밀리세컨드의 단위를 가질 수 있다. 타임 스탬프 타입 필드의 마지막 3 비트가 001, 010, 011 일 경우, 타임 스탬프는 각각 초, 분, 시간의 단위를 가질 수 있다. 타임 스탬프 타입 필드의 마지막 3 비트가 101 에서 111 사이의 값일 경우는, 향후 사용을 위해 남겨둘 수 있다.
여기서, 타임 스탬프 타입 필드의 마지막 3 비트가 100 인 경우에는, 밀리세컨드, 세컨드 등의 특정 시간 단위가 아닌 별도의 타임 코드가 단위로서 사용될 수 있다. 예를 들어, SMPTE의 타임 코드 형태인 HH:MM:SS:FF 형태의 타임 코드가 WM 에 삽입될 수 있다. 여기서, HH 는 시간 단위, MM 은 분 단위, SS 는 초 단위일 수 있다. 그리고, FF 는 프레임 정보로서, 시간 단위가 아닌 프레임 정보까지 동시에 전달하여, 보다 정교한(Frame-accurate) 서비스가 제공될 수 있다. WM 에 삽입되기 위하여, 실제 타임 스탬프는 콜론을 제외한 HHMMSSFF 의 형태를 가지게 될 수도 있다. 이 경우, 타임 스탬프 사이즈 값은 11(8바이트)를 가지고, 타임 스탬프 유닛 값은 100 을 가질 수 있다. 가변 유닛일 경우에 어떠한 방식으로 타임 스탬프가 삽입되는지는 본 발명에 의해 한정되지 아니한다.
예를 들어, 타임 스탬프 종류 정보가 10 의 값을 가지고, 타임 스탬프의 단위 정보가 000 의 값을 가지는 경우, 타임 스탬프의 크기는 4 바이트이며, 타임 스탬프의 단위가 밀리세컨드일 수 있다. 이 때, 타임 스탬프가 Ts = 3265087 인 경우, 뒤의 3자리 087 은 밀리세컨드를 의미할 수 있고, 나머지 3265 는 초 단위일 수 있다. 따라서, 이 타임 스탬프를 해석하면, 현재 시간은 WM 이 삽입된 해당 프로그램의 시작 후 54분 25.087 초가 경과한 시점일 수 있다. 이는 일 실시예일 뿐이며, 타임 스탬프는 월 타임(Wall time) 의 역할로서, 컨텐츠에 무관하게 세그먼트 혹은 수신기 자체의 시간을 지시할 수도 있다.
도 65 은 본 발명의 일 실시예에 따른 URL 프로토콜 타입 필드의 각 값들의 의미를 도시한 도면이다.
본 발명은 워터마킹 기법을 통해 전달될 수 있는 데이터 중 하나로서, URL 프로토콜 타입 필드를 제안한다. 또한, 본 발명은 URL 프로토콜 타입 필드의 효과적인 데이터 구조를 제안한다.
전술한 정보 중, URL 은 그 길이가 길어 상대적으로 삽입될 데이터 양이 많은 것이 일반적이다. 전술한 바와 같이 WM 에 삽입되는 데이터는 적을수록 효율적인 바, URL 중에 고정적인 부분은 수신기에서 처리할 수 있다. 이를 위해서, 본 발명은 URL 프로토콜 타입을 위한 필드를 제안할 수 있다.
URL 프로토콜 타입 필드는 3 비트의 크기를 가질 수 있다. 서비스 프로바이더는 URL 프로토콜 타입 필드를 이용하여 WM 에 URL 프로토콜을 설정할 수 있다. 이 경우, 인터랙티브 어플리케이션의 URL 은 도메이부터 삽입되어 WM 로 전송될 수 있다.
수신기의 WM 검출기는 먼저, URL 프로토콜 타입 필드를 파싱하여 URL 프로토콜 정보를 얻고, 이후 전송된 URL 값 앞에 해당 프로토콜을 붙여 전체 URL 을 만들 수 있다. 수신기는 브라우저를 통해 완성된 URL 에 접근하여 해당 인터랙티브 어플리케이션을 실행할 수 있다.
여기서, URL 프로토콜 타입 필드의 값이 000 인 경우에는, URL 프로토콜이 WM 의 URL 필드에 직접 명시되어 삽입될 수 있다. URL 프로토콜 타입 필드의 값이 001, 010, 011 인 경우, URL 프로토콜은 각각 http://, https://, ws:// 일 수 있다. URL 프로토콜 타입 필드의 값이 100 에서 111 사이 값을 가지는 경우는, 향후 사용을 위해 남겨둘 수 있다.
어플리케이션 URL 은, 그 자체로 브라우저를 통해 어플리케이션의 실행이 가능할 수 있다(Web App. 의 형태). 또한, 실시예에 따라 컨텐츠 소스 ID 와 타임 스탬프 정보를 참조해야할 수 있다. 후자의 경우, 컨텐츠 소스 ID 정보와 타임 스탬프 정보를 어플리케이션 서버에 전달하기 위하여 최종적인 URL 이 다음과 같은 형태를 띌 수 있다. 여기서 어플리케이션 서버는, 실시예에 따라 후술할 리모트 서버에 해당할 수 있다.
요청(Request) URL :
이 실시예는, 컨텐츠 소스 ID 는 123456 이고, 타임 스탬프는 5005 인 경우일 수 있다. cid 는 어플리케이션 서버에 알릴 컨텐츠 소스 ID 의 요청(query) 식별자를 의미할 수 있다. t 는 어플리케이션 서버에 알릴 현재 시점의 요청 식별자를 의미할 수 있다.
도 66 은 본 발명의 일 실시예에 따른 URL 프로토콜 타입 필드의 처리과정을 순서도로 도시한 도면이다.
먼저, 서비스 프로바이더(47010) 는 WM 삽입기(47020) 에 컨텐츠를 전달할 수 있다(s47010). 여기서 서비스 프로바이더(47010) 은 전술한 컨텐츠 제공서버와 유사한 기능을 수행할 수 있다.
WM 삽입기(47020) 은 전달받은 컨텐츠에 WM 를 삽입할 수 있다(s47020). 여기서, WM 삽입기(47020) 은 전술한 워터마크 서버와 유사한 기능을 수행할 수 있다. WM 삽입기(47020) 은 전술한 것과 같은 WM 을 쯔 알고리즘에 의해 오디오 또는 비디오에 삽입할 수 있다. 여기서, 삽입되는 WM 에는 전술한 어플리케이션 URL 정보, 컨텐츠 소스 ID 정보등이 포함될 수 있다. 예를 들어, 삽입되는 WM 에는 전술한 타임 스탬프 타입 필드, 타임 스탬프, 컨텐츠 ID 등의 정보가 포함될 수 있다. 전술한 URL 프로토콜 타입 필드는 001 의 값을 가질 수 있고, URL 정보는 atsc.org 의 값을 가질 수 있다. WM 에 삽입되는 필드의 값들은 일 실시예일 뿐이며, 본 발명은 이 실시예에 한정되지 아니한다.
WM 삽입기(47020) 은 WM 가 삽입된 컨텐츠를 송출할 수 있다(s47030). WM 가 삽입된 컨텐츠의 송출은 서비스 프로바이더(47010) 에 의해서 수행될 수도 있다.
STB(47030) 은 WM 가 삽입된 컨텐츠를 전달받고, 비압축적 A/V 데이터 (또는 로(raw) A/V 데이터) 를 출력할 수 있다(s47040). 여기서, STB(47030) 은 전술한 방송 수신 장치, 또는 셋톱 박스를 의미할 수 있다. STB(47030) 은 수신기 외부 또는 내부에 설치될 수 있다.
WM 디텍터(47040) 은 전달받은 비압축적 A/V 데이터에서, 삽입되어 있는 WM 를 검출할 수 있다(s47050). WM 디텍터(47040) 은 WM 삽입기(47020) 이 삽입한 WM 를 검출한 후, 이 검출된 WM 를 WM 매니저로 전달할 수 있다.
WM 매니저(47050) 은 검출된 WM 를 파싱할 수 있다(s47060). 전술한 실시예에서, WM 는 URL 프로토콜 타입 필드 값이 001 이고, URL 값이 atsc.org 인 정보를 가지고 있을 수 있다. URL 프로토콜 타입 필드 값이 001 이므로, http:// 프로토콜이 사용됨을 의미할 수 있다. WM 매니저(47050) 은 이 정보들을 이용하여, http:// 와 atsc.org 를 붙여, 라는 전체 URL 을 생성할 수 있다(s47070).
WM 매니저(47050) 은 이 완성된 URL 을 Browser(47060) 으로 보내, 어플리케이션을 런칭할 수 있다(s47080). 경우에 따라, 컨텐츠 소스 ID 정보와 타임 스탬프 정보까지 전달해야 할 경우, 의 형태로 어플리케이션을 런칭할 수도 있다.
단말 내의 WM 검출기(47040)와 WM 매니저(47050)는 통합되어 한 모듈에서 그 기능들이 수행될 수 있다. 이 경우, 전술한 s47050, s47060, s47070 의 과정이 한 모듈에서 처리될 수 있다.
도 67 은 본 발명의 일 실시예에 따른 이벤트 필드의 각 값들의 의미를 도시한 도면이다.
본 발명은 워터마킹 기법을 통해 전달될 수 있는 데이터 중 하나로서, 이벤트 필드를 제안한다. 또한, 본 발명은 이벤트 필드의 효과적인 데이터 구조를 제안한다.
WM 에서 추출한 URL 을 통해서, 어플리케이션이 런칭될 수 있다. 보다 세부적인 이벤트를 통해서 어플리케이션이 제어될 수 있다. 어플리케이션을 제어할 수 있는 이벤트들이 이벤트 필드에 의해 표시되어 전달될 수 있다. 즉, 현재 시청중인 방송 프로그램과 관련된 인터랙티브 어플리케이션이 있을 경우, 해당 어플리케이션에 대한 URL 이 전송될 수 있고, 이벤트들을 이용하여 그 어플리케이션이 제어될 수 있다.
이벤트 필드는 3 비트의 크기를 가질 수 있다. 이벤트 필드의 값이 000 일 경우, 'Prepare' 명령을 의미할 수 있다. Prepare 란, 어플리케이션을 실행하기 전 준비단계로서, 이 명령을 받은 수신기는 미리 어플리케이션에 관련된 컨텐츠 아이템들을 다운로드 받아놓을 수 있다. 또한, 수신기는 해당 어플리케이션을 실행하기 위해 필요한 자원들을 해제해 놓을 수 있다. 여기서 필요한 자원들을 해제한다는 것은, 메모리를 정리한다거나, 미처 종료되지 못한 다른 어플리케이션들을 종료시켜 놓는 것을 의미할 수 있다.
이벤트 필드 값이 001 일 경우, 'Execute' 명령을 의미할 수 있다. Execute 란, 해당 어플리케이션을 실행하라는 명령일 수 있다. 이벤트 필드 값이 010 일 경우, 'Suspend' 명령을 의미할 수 있다. Suspend 란, 이미 실행되고 있는 해당 어플리케이션을 잠시동안 동작하지 않게 하는 것을 의미할 수 있다. 이벤트 필드 값이 011 일 경우, 'Kill' 명령을 의미할 수 있다. Kill 란, 이미 실행되고 있는 해당 어플리케이션을 종료시키는 명령일 수 있다. 이벤트 필드 값이 100 에서 111 사이의 값일 경우, 향후 사용을 위해 남겨둘 수 있다.
도 68 은 본 발명의 일 실시예에 따른 데스티네이션 타입 필드의 각 값들의 의미를 도시한 도면이다.
본 발명은 워터마킹 기법을 통해 전달될 수 있는 데이터 중 하나로서, 데스티네이션 타입 필드를 제안한다. 또한, 본 발명은 데스티네이션 타입 필드의 효과적인 데이터 구조를 제안한다.
DTV 관련 기술의 발전에 따라, 방송 컨텐츠와 관련된 부가 서비스들은 TV 수신기의 스크린이 아닌 컴패니언(companion) 디바이스에서도 제공될 수 있다. 그러나, 컴패니언 디바이스들은 방송 수신이 불가능하거나, 가능하더라도 WM 검출이 불가능할 수 있다. 따라서, 현재 방영중인 방송 컨텐츠와 관련된 부가 서비스를 제공하는 어플리케이션 중에서, 컴패니언 디바이스에서 실행되어야할 어플리케이션이 있다면, 그 관련 정보는 컴패니언 디바이스로 전달될 수 있어야 한다.
이 때, 수신기와 컴패니언 디바이스가 연동되어 동작할 수 있는 환경이더라도, WM 에서 검출된 어플리케이션 내지 데이터가 어느 기기에서 소비되어야 하는지 알아야할 필요가 있다. 즉, 각 데이터 내지 어플리케이션이 수신기에서 소비되어야 하는지, 아니면 컴패니언 디바이스에서 소비되어야 하는지에 관한 정보가 필요할 수 있다. 이러한 정보를 WM 로서 전달하기 위하여, 본 발명은 데스티네이션 타입 필드를 제안한다.
데스티네이션 타입 필드는 3 비트의 크기를 가질 수 있다. 데스티네이션 타입 필드의 값이 0x00 인 경우, WM 에 의해 검출된 어플리케이션 내지 데이터가 모든 기기를 타겟팅함을 의미할 수 있다. 데스티네이션 타입 필드의 값이 0x01 인 경우, WM 에 의해 검출된 어플리케이션 내지 데이터가 TV 수신기를 타겟팅함을 의미할 수 있다. 데스티네이션 타입 필드의 값이 0x02 인 경우, WM 에 의해 검출된 어플리케이션 내지 데이터가 스마트폰을 타겟팅함을 의미할 수 있다. 데스티네이션 타입 필드의 값이 0x03 인 경우, WM 에 의해 검출된 어플리케이션 내지 데이터가 타블렛 기기를 타겟팅함을 의미할 수 있다. 데스티네이션 타입 필드의 값이 0x04 인 경우, WM 에 의해 검출된 어플리케이션 내지 데이터가 퍼스널 컴퓨터를 타겟팅함을 의미할 수 있다. 데스티네이션 타입 필드의 값이 0x05 인 경우, WM 에 의해 검출된 어플리케이션 내지 데이터가 리모터 서버를 타겟팅함을 의미할 수 있다. 데스티네이션 타입 필드의 값이 0x06 에서 0xFF 사이의 값을 가지는 경우는, 향후 사용을 위해 남겨둘 수 있다.
여기서, 리모트 서버란 방송과 관련된 모든 부가 정보를 가지고 있는 서버를 의미할 수 있다. 이 리모트 서버는 단말 외부에 위치할 수 있다. 리모트 서버가 사용될 경우, WM 에 삽입되는 URL 은 특정 어플리케이션의 URL 이 아니라, 리모트 서버의 URL 을 나타낼 수 있다. 수신기는 리모트 서버의 URL 을 통해 리모트 서버와 소통하여, 방송 프로그램과 관련된 부가 정보를 받아올 수 있다. 이 때 받아오는 부가 정보는 관련된 어플리케이션의 URL 뿐 아니라, 현재 방송 프로그램의 장르, 배우정보, 줄거리 등의 다양한 정보일 수 있다. 받아올 수 있는 정보는 시스템에 따라 다를 수 있다. 여기서, 리모트 서버는 전술한 어플리케이션 서버의 일 실시예일 수 있다.
다른 실시예에 따르면, 데스티네이션 타입 필드의 각 비트를 각 디바이스별로 할당하여, 어플리케이션의 목적지(destination)를 나타낼 수도 있다. 이 경우, 비트와이즈 OR 를 통해 여러 데스티네이션이 동시에 지정될 수도 있다.
예를 들어, 0x01 이 TV 수신기, 0x02 가 스마트폰, 0x04 가 태블릿, 0x08 이 PC, 0x10 이 리모트 서버라고 했을 때, 데스티네이션 타입 필드가 0x6 의 값을 가지면, 해당 어플리케이션 내지 데이터는 스마트 폰과 태블릿을 타겟으로 할 수 있다.
전술한 WM 매니저에 의해 파싱된 WM 의 데스티네이션 타입 필드의 값에 따라, WM 매니저는 각 어플리케이션 내지 데이터를 컴패니언 디바이스로 전달할 수 있다. 이 경우, WM 매니저는 수신기 내의 컴패니언 디바이스와의 연동을 처리하는 모듈로 각 어플리케이션 내지 데이터와 관련된 정보를 전달할 수도 있다.
도 69 은 본 발명의 실시예 #1 에 따른 WM 에 삽입될 데이터 구조를 도시한 도면이다.
본 실시예에서, WM 에 삽입되는 데이터는 타임스탬프 타입 필드, 타임 스탬프, 컨텐츠 ID, 이벤트 필드, 데스티네이션 타입 필드, URL 프로토콜 타입 필드, URL 등의 정보를 가질 수 있다. 여기서, 각 데이터의 순서들을 바뀔 수 있으며, 각각의 데이터들은 실시예에 따라 생략될 수 있다.
본 실시예에서, 타임 스탬프 타입 필드의 타임 스탬프 사이즈 필드는 01, 타임 스탬프 유닛 필드는 000 의 값을 가질 수 있다. 이는 각각, 타임 스탬프에 2 비트가 할당되고, 타임 스탬프는 밀리세컨드의 단위를 가짐을 의미할 수 있다.
또한, 이벤트 필드는 001 의 값을 가지는데, 이는 해당되는 어플리케이션이 바로 실행되어야 함을 의미할 수 있다. 데스티네이션 타입 필드는 0x02 의 값을 가지는데 이는 WM 에 의해 전달된 데이터들이 스마트폰으로 전달되어야 함을 의미할 수 있다. URL 프로토콜 타입 필드는 001, URL 은 atsc.org 의 값을 가지므로, 부가정보 내지 어플리케이션의 URL 은 임을 의미할 수 있다.
도 70 은 본 발명의 실시예 #1 에 따른 WM 에 삽입될 데이터 구조를 처리하는 순서도를 도시한 도면이다.
여기서, 서비스 프로바이더가 WM 삽입기에 컨텐츠를 전달하는 단계(s51010), WM 삽입기가 전달받은 컨텐츠에 WM 를 삽입하는 단계(s51020), WM 삽입기가 WM가 삽입된 컨텐츠를 송출하는 단계(s51030), STB 가 WM 가 삽입된 컨텐츠를 전달받고, 비압축적 A/V 데이터를 출력하는 단계(s51040), WM 디텍터가 WM 를 검출하는 단계(s51050), WM 매니저가 검출된 WM 를 파싱하는 단계(s51060) 및/또는 WM 매니저가 전체 URL 을 생성하는 단계(s51070) 는 전술한 각 단계들과 동일할 수 있다.
WM 매니저는 파싱된 WM 의 데스티네이션 타입 필드에 따라, 수신기 내의 컴패니언 디바이스 프로토콜 모듈로, 관련 데이터를 전달할 수 있다(s51080). 여기서, 컴패니언 디바이스 프로토콜 모듈은 수신기 내에서, 컴패니언 디바이스와의 연동 및 통신 등을 관장하는 모듈일 수 있다. 컴패니언 디바이스 프로토콜 모듈은 컴패니언 디바이스와 페어링(pairing) 되어있을 수 있다. 실시예에 따라, 컴패니언 디바이스 프로토콜 모듈은 UPnP 디바이스일 수 있다. 실시예에 따라, 컴패니언 디바이스 프로토콜 모듈은 단말 외부에 위치할 수도 있다.
컴패니언 디바이스 프로토콜 모듈은, 데스티네이션 타입 필드에 따른 컴패니언 디바이스로 관련 데이터를 전달할 수 있다(s51090). 본 실시예 #1 에서, 데스티네이션 타입 필드의 값은 0x02 로서, WM 에 삽입된 데이터 등은 스마트폰을 위한 데이터일 수 있다. 따라서, 컴패니언 디바이스 프로토콜 모듈은, 파싱된 데이터를 스마트폰 기기로 보낼 수 있다. 즉, 이 실시예에서 컴패니언 디바이스는 스마트폰일 수 있다.
실시예에 따라, WM 매니저 또는 컴패니언 디바이스 프로토콜 모듈은, 컴패니언 디바이스로 데이터를 전달하기 전에 데이터 처리과정을 수행할 수 있다. 컴패니언 디바이스의 경우 일반적으로 휴대성이 강조되어 상대적으로 프로세싱/컴퓨팅 능력이 떨어지거나, 메모리 양이 적을 수 있다. 따라서 수신기는 컴패니언 디바이스가 수행할 데이터 프로세싱을 대신 수행한 후, 프로세싱된 데이터를 컴패니언 디바이스로 전달할 수 있다.
이러한 프로세싱에는 여러가지 실시예가 있을 수 있다. 먼저, WM 매니저 또는 컴패니언 디바이스 프로토콜 모듈은 컴패니언 디바이스가 필요로 하는 데이터만을 선별하는 작업을 수행할 수 있다. 또한, 실시예에 따라 이벤트 필드가 어플리케이션을 종료하라는 내용을 담고 있는 경우, 어플리케이션 관련 정보를 전달하지 않을 수 있다. 또한, 데이터가 여러 WM 에 나눠서 전송되어 온 경우, 그 데이터들을 저장하였다가 합친 최종 정보를 컴패니언 디바이스에 전달할 수 있다. 타임 스탬프를 이용한 동기화를 대신 수행하여, 이미 동기화된 어플리케이션 관련 명령을 전달하건, 이미 동기화된 인터랙티브 서비스를 전달하여 컴패니언 디바이스는 단지 디스플레이만 하게 할 수도 있다. 또한 타임 스탬프 관련 정보를 전달하지 않고, 타임 베이스를 수신기 내에서만 유지하며, 어떠한 이벤트가 활성화되어야할 시간에 맞추어 관련 정보를 컴패니언 디바이스로 전달할 수도 있다. 이 경우, 컴패니언 디바이스는 타임 베이스를 유지할 필요 없이, 관련 정보를 전달받은 순간에 맞추어 해당 이벤트를 활성화하는 등의 동작을 수행할 수 있다.
전술한 것과 마찬가지로, 단말 내의 WM 검출기와 WM 매니저는 통합되어 한 모듈에서 그 기능들이 수행될 수 있다. 이 경우, 전술한 s51050, s51060, s51070, s51080 의 과정이 한 모듈에서 처리될 수 있다.
또한, 실시예에 따라, 컴패니언 디바이스들 역시 WM 검출기를 가질 수 있다. 각 컴패니언 디바이스가 WM 가 삽입된 방송을 수신하거나 전달받을 수 있는 경우, 각 컴패니언 디바이스는 WM 를 직접 검출한 후에 또 다른 컴패니언 디바이스로 전달할 수 있다. 예를 들어, 스마트폰이 WM 를 검출 및 파싱하여, TV 로 관련 정보를 전달할 수도 있다. 이 경우 데스티네이션 타입 필드는 0x01 의 값을 가질 수 있다.
도 71 는 본 발명의 실시예 #2 에 따른 WM 에 삽입될 데이터 구조를 도시한 도면이다.
본 실시예에서, WM 에 삽입되는 데이터는 타임스탬프 타입 필드, 타임 스탬프, 컨텐츠 ID, 이벤트 필드, 데스티네이션 타입 필드, URL 프로토콜 타입 필드, URL 등의 정보를 가질 수 있다. 여기서, 각 데이터의 순서들을 바뀔 수 있으며, 각각의 데이터들은 실시예에 따라 생략될 수 있다.
본 실시예에서, 타임 스탬프 타입 필드의 타임 스탬프 사이즈 필드는 01, 타임 스탬프 유닛 필드는 000 의 값을 가질 수 있다. 이는 각각, 타임 스탬프에 2 비트가 할당되고, 타임 스탬프는 밀리세컨드의 단위를 가짐을 의미할 수 있다. 컨텐츠 ID 는 123456 의 값을 가질 수 있다.
또한, 이벤트 필드는 001 의 값을 가지는데, 이는 해당되는 어플리케이션이 바로 실행되어야 함을 의미할 수 있다. 데스티네이션 타입 필드는 0x05 의 값을 가지는데 이는 WM 에 의해 전달된 데이터들이 리모트 서버로 전달되어야 함을 의미할 수 있다. URL 프로토콜 타입 필드는 001, URL 은remoteserver.com 의 값을 가지므로, 부가정보 내지 어플리케이션의 URL 은 임을 의미할 수 있다.
전술한 바와 같이, 리모트 서버가 사용될 경우, 리모트 서버로부터 방송 프로그램에 대한 부가정보를 받아올 수 있다. 이 때, 리모트 서버의 URL 에 컨텐츠 ID 와 타임 스탬프를 파라미터로 삽입하여 리모트서버로 요청할 수 있다. 또한, 실시예에 따라 리모트 서버가 API 의 지원을 통해 현재 방송 프로그램에 대한 정보를 얻을 수도 있다. 이 때, API 는 수신기 내에 저장된 컨텐츠 ID, 타임 스탬프를 리모트 서버가 가져갈 수 있게 하거나, 관련된 부가 정보를 전달할 수 있게 한다.
본 실시예에서, 리모트 서버의 URL 에 컨텐츠 ID 와 타임 스탬프를 파라미터로 삽입될 경우, 전체 URL 은 와 같을 수 있다. 여기서, cid 는 리모트 서버에 알려줄 컨텐츠 ID 의 요청 식별자일 수 있다. 여기서, t 는 리모트 서버에 알려줄 현재 시점의 요청 식별자일 수 있다.
도 72 은 본 발명의 실시예 #2 에 따른 WM 에 삽입될 데이터 구조를 처리하는 순서도를 도시한 도면이다.
여기서, 서비스 프로바이더가 WM 삽입기에 컨텐츠를 전달하는 단계(s53010), WM 삽입기가 전달받은 컨텐츠에 WM 를 삽입하는 단계(s53020), WM 삽입기가 WM가 삽입된 컨텐츠를 송출하는 단계(s53030), STB 가 WM 가 삽입된 컨텐츠를 전달받고, 비압축적 A/V 데이터를 출력하는 단계(s53040), WM 디텍터가 WM 를 검출하는 단계(s53050), 및/또는 WM 매니저가 검출된 WM 를 파싱하는 단계(s53060) 는 전술한 각 단계들과 동일할 수 있다.
WM 매니저는 파싱한 데스티네이션 타입 필드(0x05)를 통해, 리모트 서버와 소통해야하는 경우임을 알 수 있다. WM 매니저는 URL 프로토콜 타입 필드의 값과, URL 값을 이용하여 이라는 URL을 생성할 수 있다. 또한, 컨텐츠 ID 와 타임 스탬프의 값을 이용해 최종적으로 의 URL 을 생성할 수 있다. WM 매니저는 이 최종 URL 로 요청을 수행할 수 있다(s53070).
리모트 서버는 요청을 받고, 방송 프로그램에 맞는 관련 어플리케이션의 URL 을 WM 매니저로 전송할 수 있다(s53080). WM 매니저는 전달받은 어플리케이션의 URL 을 브라우저로 보내, 해당 어플리케이션을 런칭할 수 있다(s53090).
전술한 것과 마찬가지로, 단말 내의 WM 검출기와 WM 매니저는 통합되어 한 모듈에서 그 기능들이 수행될 수 있다. 이 경우, 전술한 s53050, s53060, s53070, s53090 의 과정이 한 모듈에서 처리될 수 있다.
도 73 는 본 발명의 실시예 #3 에 따른 WM 에 삽입될 데이터 구조를 도시한 도면이다.
본 발명은 워터마킹 기법을 통해 전달될 수 있는 데이터 중 하나로서, 전달 타입(delivery type) 필드를 제안한다. 또한, 본 발명은 전달 타입 필드의 효과적인 데이터 구조를 제안한다.
WM 에 삽입되는 데이터 양의 증가로 인한 오디오/비디오 컨텐츠의 퀄리티 저하를 줄이기 위하여, WM 가 나눠서 삽입될 수 있다. WM 가 나뉘어서 삽입되는지 여부를 지시하기 위하여, 전달 타입 필드가 사용될 수 있다. 전달 타입 필드를 통해, 한번의 WM 검출로 방송 관련 정보 습득이 가능한지, 여러 개의 WM 가 검출되어야 하는지 구분될 수 있다.
전달 타입 필드가 0 의 값을 가질 경우, 하나의 WM 에 모든 데이터가 삽입되어 전송됨을 의미할 수 있다. 전달 타입 필드가 1 의 값을 가질 경우, 여러 개의 WM 에 데이터가 나뉘어져 삽입된 후 전송됨을 의미할 수 있다.
본 실시예는 전달 타입 필드의 값이 0 인 경우일 수 있다. 이 경우의 WM 의 데이터 구조는, 전술한 데이터 구조에 전달 타입 필드가 덧붙여진 형태일 수 있다. 본 실시예는 전달 타입 필드가 가장 앞에 위치하나, 실시예에 따라 다른 곳에 위치할 수도 있다.
WM 매니저 또는 WM 검출기는, 전달 타입 필드가 0 의 값을 가지는 경우, WM 의 길이를 참조하여 WM 를 파싱할 수 있다. 이 때, WM 의 길이는 기 정해진 필드의 비트 수를 고려하여 계산될 수 있다. 예를 들어, 전술한 바와 같이 이벤트 필드의 길이는 3 비트 일 수 있다. 컨텐츠 ID, URL 의 크기는 가변이나, 실시예에 따라 그 비트수가 제한될 수도 있다.
도 74 는 본 발명의 실시예 #4 에 따른 WM 에 삽입될 데이터 구조를 도시한 도면이다.
본 실시예는 전달 타입 필드의 값이 1 인 경우일 수 있다. 이 경우, WM 의 데이터 구조에 몇가지 필드가 추가될 수 있다.
WMId 필드는 WM 를 구분하는 식별자의 역할을 할 수 있다. 데이터가 여러 개의 WM 에 나뉘어서 전송될 경우, WM 검출기는 나뉘어진 데이터를 가진 각 WM 를 식별할 필요가 있다. 이 때, 나뉘어진 데이터를 가진 각 WM 는 같은 WMId 필드 값을 가질 수 있다. WMId 필드는 8 비트의 크기를 가질 수 있다.
블락 넘버(Block number) 필드는, 나뉘어진 데이터를 가진 각 WM 중, 현재 WM 의 식별 번호를 나타내는 필드일 수 있다. 나뉘어진 데이터를 가진 WM 들이 전송되는 순서에 따라 1 씩 값이 증가할 수 있다. 예를 들어, 나뉘어진 데이터를 가진 각 WM 중 첫번째 WM 의 경우, 블락 넘버 필드의 값이 0x00 일 수 있다. 이후 전송되는 두번째, 세번째 WM 들은 각각 0x01, 0x02 ... 의 값을 가질 수 있다. 블락 넘버 필드는 8 비트의 크기를 가질 수 있다.
마지막 블락 넘버(Last block number) 필드는 나뉘어진 데이터를 가진 각 WM 중, 마지막 WM 의 식별 번호를 나타내는 필드일 수 있다. 전술한 블락 넘버 필드와 마지막 블락 넘버 필드의 값이 같아질 때 까지, WM 검출기 또는 WM 매니저는 검출한 WM 들을 모으고, 파싱할 수 있다. 마지막 블락 넘버 필드는 8 비트의 크기를 가질 수 있다.
블락 길이(Block length) 필드는, 해당 WM 의 총 길이를 나타낼 수 있다. 여기서, 해당 WM 란, 나뉘어진 데이터를 가진 각 WM 중 하나를 의미할 수 있다. 블락 길이 필드는 7 비트의 크기를 가질 수 있다.
컨텐츠 ID 플래그(Content Identifier Flag) 필드는, 나뉘어진 데이터를 가진 각 WM 중, 현재 WM 의 페이로드에 컨텐츠 ID 가 포함되어 있는지를 알릴 수 있다. 컨텐츠 ID 가 포함되어 있는 경우, 컨텐츠 ID 플래그 필드는 1 로 세팅될 수 있고, 반대의 경우 0 으로 세팅될 수 있다. 컨텐츠 ID 플래그 필드는 1 비트의 크기를 가질 수 있다.
이벤트 플래그 필드는, 나뉘어진 데이터를 가진 각 WM 중, 현재 WM 의 페이로드에 이벤트 필드가 포함되어 있는지를 알릴 수 있다. 이벤트 필드가 포함되어 있는 경우, 이벤트 플래그 필드는 1 로 세팅될 수 있고, 반대의 경우 0 으로 세팅될 수 있다. 이벤트 플래그 필드는 1 비트의 크기를 가질 수 있다.
데스티네이션 플래그 필드는, 나뉘어진 데이터를 가진 각 WM 중, 현재 WM 의 페이로드에 데스티네이션 타입 필드가 포함되어 있는지를 알릴 수 있다. 데스티네이션 타입 필드가 포함되어 있는 경우, 데스티네이션 플래그 필드는 1 로 세팅될 수 있고, 반대의 경우 0 으로 세팅될 수 있다. 데스티네이션 플래그 필드는 1 비트의 크기를 가질 수 있다.
URL 프로토콜 플래그 필드는, 나뉘어진 데이터를 가진 각 WM 중, 현재 WM 의 페이로드에 URL 프로토콜 타입 필드가 포함되어 있는지를 알릴 수 있다. URL 프로토콜 타입 필드가 포함되어 있는 경우, URL 프로토콜 플래그 필드는 1 로 세팅될 수 있고, 반대의 경우 0 으로 세팅될 수 있다. URL 프로토콜 플래그 필드는 1 비트의 크기를 가질 수 있다.
URL 플래그 필드는, 나뉘어진 데이터를 가진 각 WM 중, 현재 WM 의 페이로드에 URL 정보가 포함되어 있는지를 알릴 수 있다. URL URL 정보가 포함되어 있는 경우, URL 플래그 필드는 1 로 세팅될 수 있고, 반대의 경우 0 으로 세팅될 수 있다. URL 플래그 필드는 1 비트의 크기를 가질 수 있다.
페이로드에는 전술한 필드들 외의, 실제 데이터들이 담길 수 있다.
여러 WM 에 나눠서 전송하는 경우, 각각의 WM 가 삽입된 시점의 시점 정보를 알 필요가 있을 수 있다. 이 경우, 실시예에 따라 각각의 WM 에 타임 스탬프가 삽입될 수 있다. 이 때, 타임 스탬프 타입 필드 역시, 타임 스탬프가 삽입된 WM 에 같이 삽입될 수 있다. WM 가 삽입된 시점을 알기 위해 필요하기 때문이다. 또는 실시예에 따라, 수신기가 WM 타임 스탬프 타입 정보를 저장하여 활용할 수도 있다. 수신기는 최초의 타임 스탬프, 마지막 타임 스탬프, 또는 각각의 타임 스탬프를 기준으로 하여 타임 싱크를 맞출 수 있다.
데이터를 여러 WM 에 나눠서 전송하는 경우, 각각의 WM 의 크기는 상기 플래그 필드들을 이용하여 조절될 수 있다. 전술한 바와 같이, WM 에 의해 전송되는 데이터 양이 커질 경우, 오디오/비디오 컨텐츠의 질이 영향을 받을 수 있다. 따라서, 전송되는 각 오디오/비디오 프레임 별 상황에 따라 해당 프레임에 삽입되는 WM 의 크기를 조절할 수 있다. 이 때 WM 의 크기는 전술한 플래그 필드들에 의해 조절될 수 있다.
예를 들어, 컨텐츠의 비디오 프레임 중 어느 한 비디오 프레임이 검은 화면만으로 되어 있다고 하자. 컨텐츠의 내용상 장면이 전환되거나 하는 경우에, 검은 화면만으로 된 비디오 프레임이 하나 삽입될 수 있다. 이러한 비디오 프레임의 경우, 많은 양의 WM 가 삽입된다고 하여, 컨텐츠의 질이 떨어지거나 하지 않을 수 있다. 즉, 유저가 컨텐츠의 질 저하를 느끼지 못할 수 있다. 이 경우, 해당 비디오 프레임에는 많은 양의 데이터를 가지는 WM 가 삽입될 수 있다. 이 때 해당 비디오 프레임에 삽입되는 WM 의 플래그 필드들은 대부분 값이 1 을 가질 수 있다. 그 WM 는 대부분의 필드를 실제로 가지기 때문이다. 특히, 많은 데이터 양을 차지하는 URL 필드가, 그 WM 에 포함될 수 있다. 이로 인하여, 다른 비디오 프레임에 삽입되는 WM 에는 상대적으로 적은 양의 데이터가 삽입될 수 있다. WM 에 삽입되는 데이터 양은 설계자의 의도에 따라 변경될 수 있다.
도 75 는 본 발명의 실시예 #4 에서, 첫번째 WM 에 삽입될 데이터 구조를 도시한 도면이다.
본 실시예는 전달 타입 필드의 값이 1 인 경우, 즉 데이터가 여러 개의 WM 에 나뉘어져 전송되는 경우에 있어, 첫번째 WM 의 구조는 도시된 바와 같을 수 있다.
나뉘어진 데이터를 가진 각 WM 중에서, 첫번째 WM 이므로, 블락 넘버 필드의 값이 0x00 일 수 있다. 물론, 실시예에 따라, 블락 넘버 필드의 값을 다르게 사용한다면, 도시된 WM 는 첫번째 WM 가 아닐 수도 있다.
수신기는 첫번째 WM 를 검출할 수 있다. 검출된 WM 는 WM 매니저에 의해 파싱될 수 있다. 이 때, WM 의 전달 타입 필드값이 1 이고, 블락 넘버 필드의 값과 마지막 블락 넘버 필드의 값이 다른 것을 알 수 있다. 따라서, WM 매니저는 WMId 가 0x00 인, 나머지 WM 가 올 때까지 파싱한 정보를 저장해 놓을 수 있다. 특히, URL 정보인 atsc.org 역시 저장될 수 있다. 여기서, 마지막 블락 넘버 필드의 값이 0x01 이므로, 앞으로 하나의 WM 만 더 받으면, WMId 가 0x00 인 WM 들에 대해서는 모두 수신하게됨을 알 수 있다.
본 실시예에서, 각 플래그 필드들의 값이 모두 1 이다. 따라서, 본 WM 의 페이로드에는 이벤트 필드 등 각 정보가 포함되어 있음을 알 수 있다. 또한, 타임 스탬프 값이 5005 이므로, 본 WM 가 삽입된 부분의 시점은 5.005초 임을 알 수 있다.
도 76 는 본 발명의 실시예 #4 에서, 두번째 WM 에 삽입될 데이터 구조를 도시한 도면이다.
본 실시예는 전달 타입 필드의 값이 1 인 경우, 즉 데이터가 여러 개의 WM 에 나뉘어져 전송되는 경우에 있어, 두번째 WM 의 구조는 도시된 바와 같을 수 있다.
나뉘어진 데이터를 가진 각 WM 중에서, 두번째 WM 이므로, 블락 넘버 필드의 값이 0x01 일 수 있다. 실시예에 따라, 블락 넘버 필드의 값을 다르게 사용하는 경우, 도시된 WM 는 두번째 WM 가 아닐 수도 있다.
수신기는 두번째 WM 를 검출할 수 있다. WM 매니저는 검출된 두번째 WM 를 파싱할 수 있다. 블락 넘버 필드와 마지막 블락 넘버 필드의 값이 같으므로, 본 WM 가 WMId 값이 0x00 인 WM 중 마지막 WM 임을 알 수 있다.
플래그 필드들 중, URL 플래그만 값이 1 이므로, 페이로드에는 URL 정보가 포함되어 있음을 알 수 있다. 현재 블락 넘버 필드의 값이 0x01 이므로, 이미 저장되어 있던 정보와 결합될 수 있다. 특히, 이미 저장되어 있던 atsc.org 부분과, 두번째 WM 에 포함된 /apps/app1.html 부분이 결합될 수 있다. 또한, 이미 저장되어 있던 정보 중, URL 프로토콜 타입 필드의 값이 001 이므로, 최종 결합된 URL 은 일 수 있다. 이 URL 이 Browser 를 통해 런칭될 수 있다.
두번째 WM 에 따르면, 두번째 WM 가 삽입된 부분의 시점은 10.005 초이다. 수신기는 첫번째 WM의 5.005초를 기준으로 타임 싱크를 맞출 수 있고, 마지막 WM의 10.005초를 기준으로 타임 싱크를 맞출 수도 있다. 본 실시예는 5초의 간격으로 WM을 두 번의 걸쳐서 전송한 예시로서, WM이 삽입되지 않은 5초간은 온전히 오디오/비디오만을 전송할 수 있는 장점이 있으므로 컨텐츠의 퀄리티 저하를 막을 수 있다. 즉, 여러 WM 로 나눠서 데이터가 전달되더라도 퀄리티 저하를 줄일 수 있다. WM을 나눠서 삽입하는 시기는 실시예에 따라 다를 수 있다.
도 77 은 본 발명의 실시예 #4 에 따른 WM 에 삽입될 데이터 구조를 처리하는 순서도를 도시한 도면이다.
여기서, 서비스 프로바이더가 WM 삽입기에 컨텐츠를 전달하는 단계(s58010), WM 삽입기가 전달받은 컨텐츠에 WM#1 를 삽입하는 단계(s58020), WM 삽입기가 WM#1이 삽입된 컨텐츠를 송출하는 단계(s58030), STB 가 WM#1 이 삽입된 컨텐츠를 전달받고, 비압축적 A/V 데이터를 출력하는 단계(s58040), 및/또는 WM 디텍터가 WM#1 를 검출하는 단계(s58050) 는 전술한 각 단계들과 동일할 수 있다.
여기서 WM#1 은 나뉘어진 데이터가 삽입된 WM 중 하나를 의미하며, 전술한 본 발명의 실시예 #4 에서의 첫번째 WM 일 수 있다. 전술한 바와 같이 이 WM 의 블락 넘버 필드는 0x00 이고, URL 정보는 atsc.org 일 수 있다.
WM 매니저는 검출된 WM#1 을 파싱한 후, 이를 저장해 놓을 수 있다(s58060). 이 때 WM 매니저는 기 정해진 각 필드들의 비트 수와 전체 WM 의 길이를 참조하여 파싱을 수행할 수 있다. 블락 넘버 필드와 마지막 블락 넘버 필드의 값이 다르므로, 또한 전달 타입 필드 값이 1 이므로, WM 매니저는 WM 를 파싱한 후 저장해 놓고, 다음 WM 를 기다릴 수 있다.
여기서, 서비스 프로바이더가 WM 삽입기에 컨텐츠를 전달하는 단계(s58070), WM 삽입기가 전달받은 컨텐츠에 WM#2 를 삽입하는 단계(s58080), WM 삽입기가 WM#2가 삽입된 컨텐츠를 송출하는 단계(s58090), STB 가 WM#2 가 삽입된 컨텐츠를 전달받고, 비압축적 A/V 데이터를 출력하는 단계(s58100), 및/또는 WM 디텍터가 WM#2 를 검출하는 단계(s58110) 는 전술한 각 단계들과 동일할 수 있다.
여기서, WM#2 는 나뉘어진 데이터가 삽입된 WM 중 하나를 의미하며, 전술한 본 발명의 실시예 #4 에서의 두번째 WM 일 수 있다. 전술한 바와 같이 이 WM 의 블락 넘버 필드는 0x01 이고, URL 정보는 /apps/app1.html 일 수 있다.
WM 매니저는 WM#2 를 파싱할 수 있다(s58120). WM#2 를 파싱해서 얻은 정보와, 이미 저장되어 있던 WM#1 를 파싱해서 얻은 정보를 합쳐서 전체 URL 을 생성할 수 있다(s58130). 이 경우, 전체 URL 은 전술한 바와 같이 일 수 있다.
여기서, WM 매니저가 데스티네이션 타입 필드에 따라, 수신기 내의 컴패니언 디바이스 프로토콜 모듈로, 관련 데이터를 전달하는 단계(s58140), 컴패니언 디바이스 프로토콜 모듈이 데스티네이션 타입 필드에 따른 컴패니언 디바이스로 관련 데이터를 전달하는 단계(s58150) 는 전술한 각 단계와 동일할 수 있다.
단, 여기서 데스티네이션 타입 필드는 전술한 바와 같이, WM#1 에 의해 전달되었을 수 있다. 본 발명의 실시예#4 의 첫번째 WM 의 데스티네이션 플래그 필드 값이 1 이기 때문이다. 전술한 바와 같이, 이 데스티네이션 타입 필드 값은 파싱되어 저장되고 있었을 수 있다. 데스티네이션 타입 필드 값이 0x02 이므로 스마트폰을 위한 데이터임을 알 수 있다.
컴패니언 디바이스 프로토콜 모듈은 컴패니언 디바이스와 소통하여, 관련 정보를 처리할 수 있다. 이는 전술한 바와 같다. 또한 전술한 바와 같이 WM 검출기와 WM 매니저는 통합되어 한 모듈에 포함될 수 있으며, 그 통합모듈이 WM 검출기와 WM 매니저의 역할을 모두 수행할 수 있다.
도 78 는 본 발명의 또 다른 실시예에 따른 워터마크 기반의 영상 표시 장치의 구조를 도시한 도면이다.
본 실시예는 전술한 워터마크 기반의 영상 표시 장치의 구조와 유사하나, 워터마크 추출기(t59030) 밑에 WM 매니저(t59010), 컴패니언 디바이스 프로토콜 모듈(t59020)이 추가되었다. 나머지 다른 모듈들은 전술한 바와 같을 수 있다.
여기서 워터마크 추출기(t59030)는 전술한 WM 검출기에 대응될 수 있다. 워터마크 추출기(t59030)는 전술한 워터마크 기반의 영상 표시 장치의 구조의 동명 모듈과 동일할 수 있다. 또한, WM 매니저(t59010)는 전술한 WM 매니저에, 컴패니언 디바이스 프로토콜 모듈(t59020)은 전술한 컴패니언 디바이스 프로토콜 모듈에 대응되는 구성일 수 있다. 각 모듈들의 동작은 전술한 바와 같다.
도 79 은 핑거프린팅 방식에 있어서, 본 발명의 일 실시예에 따른 데이터 구조를 도시한 도면이다.
핑거프린팅(FingerPrinting) 방식의 ACR 시스템의 경우, WM 를 사용하는 경우에 비하여 오디오/비디오 컨텐츠의 퀄리티 저하가 적을 수 있다. 핑거프린팅 방식의 ACR 시스템의 경우, 부가적인 정보를 ACR 서버로부터 받아오기 때문에, 컨텐츠에 직접 삽입되어 있는 WM 에 비해 상대적으로 퀄리티 저하가 적을 수 있다.
ACR 서버로부터 정보를 받아옴에 있어서, 전술한 바와 같이 퀄리티 저하에 따른 제약이 적으므로, WM 에서 사용한 데이터 구조가 그대로 활용될 수 있다. 즉, 본 발명이 제안하는 데이터 구조는 FP 방식에 있어서도 그대로 활용될 수 있다. 또는 실시예에 따라, WM 데이터 구조 중 일부의 구조만을 취해서 사용될 수 있다.
전술한 WM 의 데이터 구조가 사용될 경우, 데스티네이션 타입 필드의 값 중 0x05 가 나타내는 바는 바뀔 수 있다. 전술한 바와 같이, 데스티네이션 타입 필드의 값이 0x05 일 경우, 수신기가 리모트 서버로 데이터를 요청하게 된다. FP 방식에 있어서, 리모트 서버의 역할은 ACR 서버에 의해서 이루어질 수 있으므로, 데스티네이션 타입 필드가 0x05 인 경우는 삭제되거나 재정의될 수 있다.
나머지 필드들은 전술한 바와 같을 수 있다.
도 80 은 핑거프린팅 방식에 있어서, 본 발명의 일 실시예에 따른 데이터 구조를 처리하는 순서도를 도시한 도면이다.
서비스 프로바이더는 송출할 방송 프로그램으로부터 핑거프린트(FP)를 추출할 수 있다(s61010). 여기서 서비스 프로바이더는 전술한 서비스 프로바이더와 같을 수 있다. 서비스 프로바이더는 ACR 업체가 제공하는 툴을 사용하여 컨텐츠 별로 핑거프린트를 추출하거나, 자신의 툴을 사용하여 핑거프린트를 추출할 수 있다. 서비스 프로바이더는 오디오/비디오 핑거 프린트를 추출할 수 있다.
서비스 프로바이더는 ACR 서버로 추출한 핑거프린트를 전달할 수 있다(s61020). 이 때 전달되는 시점은, 사전제작 프로그램의 경우에는 방송으로 송출되기 전일 수 있고, 라이브 프로그램의 경우에는 실시간으로 FP가 추출되자마자 ACR 서버로 전달될 수도 있다. 실시간으로 FP 가 추출되어 ACR 서버로 전달되는 경우, 서비스 프로바이더는 컨텐츠에 대한 컨텐츠 ID 를 부여하고, 전송 타입, 데스티네이션 타입, URL 프로토콜 타입 등의 정보를 부여할 수 있다. 이 때 부여된 정보들은 실시간으로 추출된 FP 에 매핑되어 함께 ACR 서버로 전달될 수 있다.
ACR 서버는 전달받은 FP 및 관련 정보들을 ACR DB 에 저장할 수 있다(s61030). 수신기는 외부입력으로부터 들어오는 오디오/비디오 신호로부터 FP 를 추출할 수 있다. 여기서, 오디오/비디오 신호는 비압축적 신호일 수 있다. 이 FP 는 시그니쳐라고 불릴 수도 있다. 수신기는 FP 를 이용하여 ACR 서버로 요청을 보낼 수 있다(s61040).
ACR 서버는 수신한 FP 와 ACR DB 를 비교할 수 있다. 수신한 FP 와 매칭되는 FP 가 ACR DB 에 있을 경우, 수신기에서 방영중인 컨텐츠가 인식될 수 있다. 컨텐츠가 인식되면 전달 타입 정보, 타임 스탬프, 컨텐츠 ID, 이벤트 타입 정보, 데스티네이션 타입 정보, URL 프로토콜 타입 정보, URL 정보등을 수신기로 보낼 수 있다(s61050).
여기서, 각 정보들은 전술한 각 필드에 담겨 전송될 수 있다. 예를 들어, 데스티네이션 타입 정보는 데스티네이션 타입 필드에 담겨 전송될 수 있다. 수신기로 응답함에 있어, 전달되는 데이터의 구조는 전술한 WM 에서 사용되는 데이터 구조가 활용될 수 있다.
수신기는 ACR 서버로부터 전달받은 정보를 파싱할 수 있다. 본 실시예에서는 데스티네이션 타입 필드의 값이 0x01 이므로 어플리케이션의 URL 이 TV 에서 실행되어야함을 알 수 있다. URL 프로토콜 타입 필드의 값과, URL 정보를 이용하여 최종 URL 인 가 생성될 수 있다. URL 생성과정은 전술한 바와 같을 수 있다.
수신기는 해당 URL 을 이용하여 Browser 를 통해 방송 관련 어플리케이션을 실행할 수 있다(s61060). 여기서 Browser 는 전술한 Browser 와 동일할 수 있다. s61040, s61050, s61060 의 과정이 반복될 수 있다.
도 81는 본 발명의 일 실시예에 따른, 방송 수신기를 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 수신기는, Service / Content Acquisition Controller (J2010), 인터넷 인터페이스 (J2020; Internet interface), 방송망 인터페이스 (J2030; Broadcast interface), 시그널링 디코더 (J2040), 서비스 맵 데이터 베이스 (J2050), 디코터 (J2060), 타겟팅 프로세서 (J2070), 프로세서 (J2080), 관리 유닛 (J2090; Managing unit) 및/또는 재분배 모듈 (J2100; redistribution module) 를 포함한다. 도면에서는 방송 수신기의 외부 및/또는 내부에 존재할 수 있는 외부 관리장치 (J2110; External Management)이 도시되어 있다.
Service / Content Acquisition Controller (J2010)는 broadcast/broadband 채널을 통하여 서비스 및/또는 콘텐츠, 이와 관련된 시그널링 데이터를 수신한다. 또는 Service / Content Acquisition Controller (J2010)는 서비스 및/또는 콘텐츠, 이와 관련된 시그널링 데이터를 수신하기 위한 제어를 수행할 수 있다.
인터넷 인터페이스 (J2020; Internet interface)는 인터넷 어세스 컨트롤 모듈 (Internet Access Control Module)를 포함할 수 있다. 인터넷 어세스 컨트롤 모듈은 Broadband 채널을 통하여 서비스, 콘텐츠 및/또는 시그널링 데이터를 수신한다. 또는 인터넷 어세스 컨트롤 모듈은 서비스, 콘텐츠 및/또는 시그널링 데이터를 획득하기 위한 수신기의 동작을 제어할 수 있다.
방송망 인터페이스 (J2030; Broadcast interface)는 물리적 계층 모듈 (Physical Layer Module) 및/또는 물리적 계층 인터페이스 모듈 (Physical Layer I/F Module)을 포함할 수 있다. 물리적 계층 모듈은 방송 채널을 통하여 방송 관련 신호를 수신한다. 물리적 계층 모듈은 방송 채널을 통하여 수신한 방송 관련 신호를 처리 (복조, 복호 등) 한다. 물리적 계층 인터페이스 모듈은 물리적 계층 모듈로부터 획득한 정보로부터, IP (Internet Protocol) 데이터그램을 획득하거나, 획득된 IP 데이터그램을 이용하여 특정 프레임 (예를 들면, 방송 프레임, RS Frame, 또는 GSE 등)으로 변환한다.
시그널링 디코더 (J2040)는 broadcast 채널 등을 통하여 획득한 시그널링 데이터 또는 시그널링 정보 (이하 '시그널링 데이터'라 한다)를 디코딩한다.
서비스 맵 데이터 베이스 (J2050)는 디코딩된 시그널링 데이터를 저장하거나, 수신기의 다른 장치 (예를 들면, 시그널링 파서 등)에서 처리된 시그널링 데이터를 저장한다.
디코터 (J2060)는 수신기에서 수신한 방송 신호 또는 데이터를 디코딩한다. 디코더 (J2060)는 스케쥴드 스트리밍 디코더 (Scheduled Streaming Decoder), 파일 디코더 (File Decoder), 파일 데이터베이스 (File DB), 온디멘드 스트리밍 디코더 (On-Demand Streaming Decoder), 컴포넌트 동기화기 (Component Synchronizer), 경보 시그널링 파서 (Alert Signaling Parser), 타겟팅 시그널링 파서 (Targeting Signaling Parser), 서비스 시그널링 파서 (Service Signaling Parser) 및/또는 어플리케이션 시그널링 파서 (Application Signaling Parser)를 포함할 수 있다.
스케쥴드 스트리밍 디코더 (Scheduled Streaming Decoder)는 IP 데이터그램 등으로 부터 실시간 A/V (Audio / Video) 스트리밍을 위한 오디오/비디오 데이터 추출하고, 이를 디코딩한다.
파일 디코더 (File Decoder)는 IP 데이터그램으로부터, NRT 데이터 및 어플리케이션 (application) 등 파일 형태 데이터 추출하고, 이를 디코딩한다.
파일 데이터베이스 (File DB)는 파일 디코더에서 추출한 데이터를 저장한다.
온디멘드 스트리밍 디코더 (On-Demand Streaming Decoder) 는 IP 데이터그램등으로 부터 사용자 요청 (on-demand) 스트리밍을 위한 오디오/비디오 데이터 추출하고, 이를 디코딩한다.
컴포넌트 동기화기 (Component Synchronizer)는 스케쥴드 스트리밍 디코더, 파일 디코더 및/또는 온디멘드 스트리밍 디코더를 통하여 디코딩 된 데이터를 기반으로, 콘텐츠를 구성하는 요소들 사이의 동기화를 수행하거나, 서비스를 구성하는 요소들 사이의 동기화를 수행하여, 콘텐츠 또는 서비스를 구성한다.
경보 시그널링 파서 (Alert Signaling Parser)는 IP 데이터그램 등으로부터 경보 (alerting)와 관련된 시그널링 정보 추출하고, 이를 파싱한다.
타겟팅 시그널링 파서 (Targeting Signaling Parser)는 IP 데이터그램 등으로부터 서비스/콘텐츠 개인화, 또는 타겟팅 관련된 시그널링 정보 추출하고, 이를 파싱한다. 여기서 타겟팅은, 특정 시청자의 조건에 맞는 콘텐츠 또는 서비스를 제공하는 것으로, 해당 시청자의 조건에 맞는 콘텐츠 또는 서비스를 식별하여 이를 제공하는 행위를 말한다.
서비스 시그널링 파서 (Service Signaling Parser)는 IP 데이터그램 등으로부터 서비스 스캔 및/또는 서비스/콘텐츠 등과 관련된 시그널링 정보를 추출하고, 이를 파싱한다. 서비스/콘텐츠 등과 관련된 시그널링 정보는 방송 시스템 정보 및/또는 방송 시그널링 정보를 포함한다.
어플리케이션 시그널링 파서는 IP 데이터그램 등으로부터 어플리케이션 획득과 관련된 시그널링 정보를 추출하고, 이를 파싱한다. 어플리케이션 획득과 관련된 시그널링 정보는 트리거 (Trigger), TPT (TDO parameter table) 및/또는 TDO 파라미터 엘레멘트를 포함할 수 있다.
타겟팅 프로세서 (J2070)는 타겟팅 시그널링 파서에서 파싱된 서비스/콘텐츠 타겟팅 관련 정보를 처리한다.
프로세서 (J2080)는 수신한 데이터를 디스플레이하기 위한 일련의 처리를 수행한다. 프로세서 (J2080)는 경보 프로세서 (Alert Processor), 어플리케이션 프로세서 (Application Processor) 및/또는 오디오/비디오 프로세서 (A/V Processor)를 포함할 수 있다.
경보 프로세서는 경보와 관련된 시그널링 정보를 통하여, 경보 데이터를 획득하도록 수신기를 제어하고, 경보 데이터를 디스플레이하기 위한 처리를 수행한다.
어프리케이션 프로세서는 어플리케이션 관련 정보를 처리하고, 다운로드 된 어플리케이션의 상태 및 어플리케이션과 관련한 디스플레이 파라미터를 처리한다.
오디오/비디오 프로세서는 디코딩된 오디오 데이터, 비디오 데이터 및/또는 어플리케이션 데이터을 기반으로 오디오/비디오 랜더링 관련 동작을 수행한다.
관리 유닛 (J2090; Managing unit)은 장치 매니저 (device manager) 및/또는 데이터 통신 및 쉐어링 유닛 (Data Sharing & Communication Unit)을 포함한다.
장치 매니저는 연결 및 데이터 교환 등 연동 가능한 외부 장치 추가/삭제/갱신 등 외부 장치에 대한 관리를 수행한다.
데이터 통신 및 쉐어링 유닛은 수신기와 외부 장치 (예를 들면, companion device)간의 데이터 전송 및 교환 관련 정보를 처리하고, 이와 관련한 동작을 수행한다. 전송 및 교환 가능한 데이터는 시그널링 데이터 및/또는 A/V 데이터가 될 수 있다.
재분배 모듈 (J2100; redistribution module)은 수신기가 방송 신호를 직접 수신 하지 못하는 경우, 방송 서비스/콘텐츠 관련 정보 및/또는 서비스/콘텐츠 데이터 획득을 수행한다.
외부 관리장치 (J2110; External Management)는 방송 서비스/컨텐츠 서버 등, 방송 서비스/콘텐츠 제공을 위한 방송 수신기 외부의 모듈들을 지칭한다. 외부 관리 장치의 역할을 수행하는 모듈은 방송 수신기 내부에 구비될 수도 있다.
본 발명의 일 실시예에 따른 방송 신호 수신기(또는 수신기)는 도 1 내지 도 29에서 설명한 방송 신호를 처리하는 TV 리시버 또는 리시버를 포함할 수 있다. 본 발명의 일 실시예에 따른 방송 신호 수신기는 브로드캐스트 채널 을 통해 전송되는 브로드캐스트 시그널 뿐만 아니라 브로드밴드 채널 을 통해 전송되는 컨텐츠를 수신할 수 있다. 본 발명의 일 실시예에 따른 브로드캐스트 시그널 및 컨텐츠가 제공하는 서비스를 하이브리드 브로드캐스트 서비스라 호칭할 수 있다. 명칭 및 정의는 설계자의 의도에 따라 변경 가능하다.
이하에서는 본 발명의 일 실시예에 따른 멀티캐스트 환경에서의 ACR을 통한 시그널링 방법에 대해 설명한다.
ACR 기법은 브로드캐스트 채널을 통한 시그널링을 할 수 없는 STB (SetTopBox) 를 이용하는 상황에서 쓰이며, 주로 ACR 기법을 통해 현재 시청하고 있는 채널이나 프로그램의 정보를 획득한다. 이렇게 현재 시청중인 방송의 채널이나 프로그램 인식 결과를 토대로 별도의 시그널링 서버에 브로드밴드 채널을 통해 시그널링 정보를 요청할 수 있으며 유니캐스트의 형태의 구조를 가질 수 있다. 하지만 본 발명에서 제시하는 하이브리드 방송 서비스에서는 브로드캐스터가 방송망이 아닌 브로드밴드 채널을 통해 멀티캐스트로 시그널링 정보를 송출 할 수 있고, 수신기는 이를 수신 및 시그널링할 수 있다.
도 82은 본 발명의 일 실시예에 따른 멀티캐스트 환경에서의 ACR 송수신 시스템을 나타낸다.
상술한 바와 같이, STB를 사용하는 환경의 경우, 수신기는 방송망을 통해 전달되는 시그널링정보를 수신할 수 없다. 하지만 ACR 스킴을 통해 현재 시청중인 채널 또는 프로그램 등과 같은 시그널링 획득을 위한 최소한의 정보를 수신하는 경우, 기존의 사용되던 주기적인 리퀘스트 및 리스폰스 절차 없이도 멀티캐스트를 통해 시그널링을 직접 수신할 수 있다.
도 82은 본 발명의 일 실시예에 따른 수신기가 멀티캐스트를 통해 시그널링 정보를 수신하는 과정을 나타낸다. 도 82에 도시된 블록들의 동작은 상술한 바와 동일하므로 이하에서는 멀티캐스트 환경에서 ACR을 통한 방송관련 정보의 시그널링 및 서비스 제공을 받기 위한 수신기의 동작에 대해 설명한다.
수신기는 브로드밴드에 접속할 수 있는 경우 (즉, 인터넷을 사용할 수 있는 경우) 멀티캐스트 세션에 조인할 수 있다.
이후, 수신기는 ACR 스킴을 통해 STB로 전달되는 A/V를 바탕으로 현재 수신 중인 방송 신호 또는 방송 정보를 감지할 수 있다.
이후 수신기는 인식한 방송 정보를 이용하여, 멀티캐스트를 통해 전송되는 시그널링 정보 중 필요한 시그널링 정보를 파싱하고 관련 서비스를 사용자에게 제공할 수 있다.
도 83는 본 발명의 일 실시예에 따른 멀티캐스트 환경에서의 WM를 통한 ACR 송수신 시스템을 나타낸다.
도면 상단은 WM에 시그널링 서버의 주소가 삽입된 경우의 ACR 송수신 시스템을 나타내며, 도면 하단은 WM에 ACR 서버의 주소만 삽입되고, 수신기가 해당 ACR 서버에 리퀘스트 및 리스폰스 방식으로 현재 시청 중인 방송의 채널, 프로그램, 시그널링 서버 주소 등을 획득하는 경우의 ACR 송수신 시스템을 나타낸다.
도 83에 도시된 블록들의 동작은 상술한 바와 동일하므로 이하에서는 멀티캐스트 환경에서 ACR을 통한 방송관련 정보의 시그널링 및 서비스 제공을 받기 위한 수신기의 동작에 대해 설명한다.
도면 상단에 도시된 송수신 시스템의 경우, WM에 시그널링 서버의 주소가 삽입되어 있으므로,수신기는 WM를 추출한 뒤, 해당 시그널링 서버의 주소를 획득하고, 시그널링 서버 세션에 조인하여 시그널링 정보를 받을 수 있다.
도면 하단에 도시된 송수신 시스템의 경우, WM에는 ACR 서버의 주소만 삽입되어 있으므로, 수신기는 ACR 서버로부터 시그널링 서버의 주소를 획득할 수 있다.
멀티캐스트 환경에서 ACR을 통한 방송관련 정보의 시그널링 및 서비스 제공을 받기 위한 수신기의 동작은 도 82에서 설명한 바와 동일하므로 구체적인 설명은 생략한다.
도 84는 본 발명의 일 실시예에 따른 멀티캐스트 환경에서의 FP 방식을 통한 ACR 송수신 시스템을 나타낸다.
상술한 바와 같이, 수신기는 오디오/비디오 신호로부터 FP 를 추출할 수 있다. 이후, 수신기는 추출한 시그니처 (또는 FP)를 FP 서버로 전송하고, FP 서버로부터 현재 채널, 프로그램 등의 정보 외에 시그널링 서버 주소를 수신할 수 있다. 이후 수신기는 서버 세션에 조인 하여 시그널링 정보를 받을 수 있다.
멀티캐스트 환경에서 ACR을 통한 방송관련 정보의 시그널링 및 서비스 제공을 받기 위한 수신기의 동작은 도 82에서 설명한 바와 동일하므로 구체적인 설명은 생략한다.
도 85은 본 발명의 일 실시예에 따른 수신기가 멀티캐스트 환경에서 ACR 스킴을 통해 방송과 관련된 시그널링을 수행하는 순서도를 나타낸다.
서비스 프로바이더는 방송망뿐 만 아니라 브로드밴드 채널을 통해서도 방송에 관한 시그널링 정보들을 멀티캐스트로 전송할 수 있다. 이를 수신한 수신기는 해당 시그널링 정보를 획득하기 위하여 멀티캐스트 세션에 조인하여 해당 시그널링을 수신하기 위한 커뮤니케이션 절차를 수행할 수 있다.
본 발명의 일 실시예에 따른 수신기가 시그널링 서버 (또는 멀티캐스트 서버)의 주소를 획득하는 방식은 다음과 같다.
제 1 실시예: 수신기는 ACR 서버로부터 현재 보고 있는 채널 인식 결과를 전달 받을 때 해당 채널의 멀티캐스트 서버의 주소(e.g., URL, IP 어드레스, etc.,)를 같이 전달받을 수 있다.
제 2 실시예: 수신기는 수신기 내에 각 채널들에 관한 멀티캐스트 서버 주소를 직접 저장하여 ACR 서버로부터 채널 인식 결과를 전달 받으면 해당 채널의 멀티캐스트 서버로 접근 할 수 있다.
상술한 실시예는 설계자의 의도에 따라 변경 가능하다.
이하에서는 도면에 도시된 수신기가 멀티캐스트 환경에서 ACR 스킴을 통해 방송과 관련된 시그널링을 수행하는 순서도를 설명한다. 도면의 ACR 스킴은 상술한 핑거프린팅(핑거프린트ing) 방식의 경우를 나타낸다.
서비스 프로바이더 (E66000)는 ACR 업체가 제공하는 Tool을 사용하여 프로그램(Content)별로 핑거프린트를 추출할 수 있다. 이 경우 서비스 프로바이더 (E66000)는 Audio/Video 핑거프린트 DB를 구축할 수 있다. 서비스 프로바이더 (E66000)는 필요한 경우 두 가지 핑거 프린트들을 모두 추출하여 저장할 수 있다. 서비스 프로바이더 (E66000)는 ACR 서버(E66100)로 컨텐츠로부터 추출한 핑거 프린트를 전달할 수 있다. 핑거 프린터가 전달되는 시점은 프로그램의 특성에 따라 달라질 수 있다. 구체적으로, 사전에 제작된 프로그램의 경우 해당 프로그램이 방송으로 송출되기 전에 해당 핑거 프린터가 전달될 수 있고, 라이브 프로그램의 경우, 실시간으로 핑거프린트가 추출되는대로 전달 될 수 있다. 이 경우 서비스 프로바이더 (E66000)는 사전에 프로그램에 대해 컨텐트를 유일하게 인식할 수 있는 정보들을 부여하여 실시간으로 추출된 핑거프린트와 매핑하여 전달 할 수 있다.
ACR 서버(E66100)는 전달받은 FP 및 관련 정보들을 ACR DB 에 저장할 수 있다. 구체적인 내용은 도 80에서 설명한 바와 같으므로 생략한다.
이후, 수신기(E66200)는 외부입력으로 들어오는 오디오/비디오 신호로부터 핑거프린트를 추출하고ACR 서버(E66100)으로 ACR Query 리퀘스트를 전송할 수 있다. ACR 서버(E66100)는 수신한 ACR Query 리퀘스트에 대응하여 수신기(E66200)로 ACR Query 리스폰스를 전송할 수 있다. 구체적으로 ACR 서버(E66100)는 ACR DB를 검색하여 수신한 핑거 프린터와 매칭되는 컨텐트를 찾을 수 있다. 이후, 컨텐트가 인식되면 ACR 서버(E66100)는 ACR Query 리스폰스를 전송할 수 있다. ACR Query 리스폰스는 해당 컨텐트의 채널 정보, 시그널링 서버 어드레스(멀티캐스트 서버 어드레스) 등을 포함할 수 있다.
이후, 수신기 (E66200)는 수신한 ACR Query 리스폰스에 포함된 시그널링 서버 어드레스를 이용하여 해당 시그널링 서버 (멀티캐스트 서버) (E66300)에 멀티캐스트 세션 조인 리퀘스트를 송신할 수 있다.
시그널링 서버의 주소는 서비스 프로바이더 마다 각 대표 주소로서 설정할 수도 있고, 특정 채널을 대표하는 주소로서 설정할 수 있다. 각각의 경우에 따라 서비스 프로바이더는 서버 매니지먼트(서버 매니지먼트)를 할 수 있다.
또한 하나의 서비스 프로바이더가 복수개의 채널을 소유하고 있고, 대표 주소로 시그널링 서버 주소를 설정하는 경우 수신기는 해당 시그널링 서버에 리퀘스트를 전송할 때 채널 아이디(채널 id)와 같은 채널식별정보를 같이 전달하여 특정 채널에 대한 시그널링을 수행할 수 있다.
시그널링 서버 (E66300)는 수신한 멀티캐스트 세션 조인 리퀘스트에 대응하여 수신기 (E66200)에 대하여 인증 절차를 수행하고 세션을 연결 및 유지할 수 있다. 수신기 (E66200)와 시그널링 서버 (E66300) 간 세션이 연결되면, 시그널링 서버 (E66300)는 특별한 리퀘스트 및 리스폰스 전송 없이 지속적으로 시그널링 정보를 수신기 (E66200)로 송신할 수 있다.
수신기 (E66200)는 수신한 정보들을 시그널링 하고 파싱 할 수 있다. 해당 동작은 시그널링 서버 어드레스가 변경되기 전까지 반복적으로 수행될 수 있다. 또한 수신기 (E66200)는 파싱한 결과들을 토대로 해당 채널 혹은 프로그램의 서비스를 사용자에게 제공할 수 있다.
이후, 시그널링 서버 어드레스가 변경되거나, 관련 시그널링 정보를 파싱할 필요가 없는 경우, 수신기(E66200)는 해당 세션의 종료를 요청하는 리퀘스트를 송신하고 해당 세션을 떠날 수 있다.
워터마킹을 사용한 ACR 스킴의 경우 WM 삽입시 시그널링 서버의 주소를 삽입할 수 있으며, 상술한 바와 동일한 과정을 통해 시그널링을 수행할 수 있다.
도 86은 본 발명의 일 실시예에 따른 모바일 네트워크 환경에서의 ACR 송수신 시스템을 나타낸다.
본 발명의 일 실시예에 따른 모바일 네트워크 환경에서의 ACR 송수신 시스템은 LTE/LTE-A 서비스의 eMBMS(evolved Multimedia Broadcast Multicast Service)를 결합한 시스템이다. eMBMS 는 기존 LTE/LTE-A 서비스에서 모바일 방송 서비스를 동시에 제공할 수 있는 기술이다. 따라서 eMBMS를 이용하는 경우, 이동 통신망을 통한 방송 시스템을 구축할 수 있다. 향후 방송 시스템의 경우, 기존 방송망과 이동통신망(모바일 브로드밴드)를 모두 사용하여 전송하는 하이브리드 방송 서비스를 제공할 수 있다. 하이브리드 방송 서비스의 일 실시예로서, 방송망을 통해서는 해당 서비스의 베이스 레이어 컴포넌트를 전송하고, 모바일 브로드밴드를 통해서는 UHD 서비스등을 위한 인핸스드 레이어 컴포넌트를 전송하는 경우가 있다. 또한 하이브리드 방송 서비스의 일 실시예로서, 서비스 프로바이더는 종래의 eMBMS에서 사용되는 테이블 등을 이용하여 관련 시그널링 정보를 수신기에 전송하는 경우가 있다.
도 86은 본 발명의 일 실시예에 따른 수신기가 모바일 브로드밴드를 통해 시그널링 정보를 수신하는 과정을 나타낸다.
도 86은 본 발명의 일 실시예에 따른 수신기가 모바일 브로드밴드를 통해 시그널링 정보 또는 관련 방송 정보를 수신하는 과정을 나타낸다. 도 86에 도시된 블록들의 동작은 상술한 바와 동일하므로 구체적인 내용은 생략한다. 또한, 도면에 도시된 수신기에 적용될 수 있는 ACR 스킴은 WM 또는 FP 방식 중 적어도 어느 하나의 방식이 될 수 있다.
도 87은 본 발명의 다른 실시예에 따른 수신기가 모바일 브로드밴드를 통해 시그널링 정보를 수신하는 과정을 나타낸다. 도 87은 수신기에 적용된 ACR 스킴이 WM 방식인 경우를 나타낸다. 구체적인 동작 등은 상술한 바와 동일하므로 생략한다.
도 88는 본 발명의 일 실시예에 따른 하이브리드 방송 서비스를 나타낸 개념도이다.
전술한 본 발명의 일 실시예에 따른 방송 서비스와 상술한 eMBMS 서비스를 모두 포함하는 하이브리드 방송 서비스는 사용자에게 제공되는 형태에 따라 도면에 도시된 두 가지 서비스로 나누어질 수 있다.
도면 왼쪽에 도시된 블록은 각각의 네트워크에서 제공하는 방송 데이터의 서비스 프로바이더 또는 컨텐츠가 다른 경우의 하이브리드 방송 서비스를 나타낸다. 도면 오른쪽에 도시된 블록은 각 서비스 프로바이더가 동일한 컨텐츠를 각 네트워크에서 동시에 제공하는 경우의 하이브리드 방송 서비스를 나타낸다.
도면 왼쪽에 도시된 하이브리드 방송 서비스의 경우, 상술한 방송망을 통한 서비스와 eMBMS를 통해 제공되는 서비스가 서로 다른 네트워크를 통해 제공되므로, 수신기는 각 네트워크 마다 독립적으로 서비스를 획득할 수 있다. 또한, 네트워크 간 수신기가 서비스를 획득하는 절차도 상이할 수 있다.
구체적으로 본 발명에서는 각각의 네트워크에서 제공하는 컨텐츠가 다른 경우로서, 방송사(서비스 프로바이더 A)는 방송 네트워크를 통해 서비스를 제공하고, 통신회사(서비스 프로바이더 B)는 이동통신 네트워크를 통해 서비스를 제공하는 경우 또는 각각의 방송 컨텐츠 업체에서 통신 네트워크로 가입하여 서비스 하는 경우를 일 실시예로 할 수 있다. 즉, 방송 네트워크를 이용하여 서비스하는 주체와 통신 네트워크를 이용하여 서비스 하는 주체가 서로 다르거나, 방송 데이터가 사용자까지 전달 되기 전에는 별개의 시스템을 통해 처리 또는 전송되는 경우를 의미한다. 이 경우, 방송 서비스는 각 네트워크 별로 분리되어 사용자에게까지 처리, 전송 되므로, 수신기는 각 네트워크에 대응하는 서비스를 처리하기 위한 모듈을 포함할 수 있다.
이 경우 수신기는 두 가지 네트워크를 통해 각기 다른 채널/프로그램 정보를 수신하여 사용자에게 제공할 수 있다. 이 경우 방송망으로 송출되는 서비스들은 STB를 거쳐 수신기로 수신될 수 있으며, 시그널링 정보들은 ACR 스킴을 이용하여 전송될 수 있다. 따라서 수신기는 상술한 방식들을 이용하여 방송과 관련된 시그널링 정보를 획득할 수 있다. 하지만 eMBMS를 통해 수신되는 채널 또는 프로그램 정보는 수신기에서 직접 수신할 수 있으므로 ACR 스킴과 관계없이 적용될 수 있다.
도면의 오른쪽에 도시된 하이브리드 방송 서비스의 경우, 각 서비스 프로바이더 (A, B)가 동일한 컨텐츠를 각 네트워크를 통해 동시에 전송하므로, 하이브리드 방송 서비스 데이터는 방송망과 eMBMS 네트워크에 전달 되기 전 IP backbone 망에서 적절히 분리될 수 있다.
이 경우, 하이브리드 방송 서비스 데이터는 상황에 따라 방송망 및 eMBMS 네트워크를 통해 각 수신기로 전송 될 수 있다.
도면의 오른쪽에 도시된 하이브리드 방송 서비스의 경우, 사용자가 방송 데이터를 수신할 때 어느 시스템으로부터 전송되는 데이터인지 확인할 필요가 없고, 기존 방송 환경에 비해 다양한 방송사 및 컨텐츠 제공 업체로부터 방송 데이터를 수신할 수 있다는 장점이 있다. 또한, 수신기의 설계에 있어서, 경우 방송 관련 UI(User Interface)를 단일화하여 구현할 수 있으므로 설계가 용이하다는 장점이 있다.
이 경우, 수신기는 서로 다른 네트워크를 통해 동일한 채널 또는 프로그램을 수신할 수 있고, eMBMS를 통해 해당 채널 또는 프로그램에 대한 시그널링 정보를 수신할 수 있다. 하지만 eMBMS 네트워크를 일시적 또는 영구적으로 사용할 수 없는 경우 수신기는 STB를 통해 들어오는 A/V만 수신할 수 있으며, eMBMS 네트워크를 이용할 수 없음을 확인할 수 있다. 이러한 경우, 수신기는 상술한 ACR 스킴을 사용하여 시그널링 정보를 수신할 수 있다. 시그널링 서버는 수신기에 유니캐스트 또는 멀티캐스트 방식을 이용하여 시그널링 정보를 전송할 수 있으며 이는 상술한 바와 같다.
또는 eMBMS 네트워크를 사용할 수 있다 하더라도, 현재 사용자가 시청하는 방송의 A/V는 STB를 통해 전달되는 상황인 경우, 수신기는 현재 시청중인 방송 컨텐츠와 eMBMS를 통해 수신한 시그널링 정보를 매핑할 수 없다. 이 경우, 수신기는 ACR 스킴을 이용하여 현재 시청중인 방송의 채널 또는 프로그램 정보 등을 인식하고, 이를 통해 eMBMS로 수신하는 시그널링 정보를 수신하여 서비스를 제공할 수 있다.
또한 모바일 브로드밴드를 통해 데이터를 수신하는 경우, 수신기는 일반적인 브로드밴드채널(브로드밴드 채널)이 아닌 모바일 브로드밴드 채널 (Mobile Broadband Channel)을 통하여 시그널링 정보를 송수신 할 수도 있다. 이는 설계자 의도에 따라 변경 가능한 사항이다.
도 89은 본 발명의 다른 실시예에 따른 모바일 네트워크 환경에서의 ACR 송수신 시스템을 나타낸다.
도 89은 상술한 하이브리드 방송 서비스의 다른 실시예로서, STB가 두 가지 네트워크를 통해 데이터를 수신하고, 외부입력 등을 통하여 해당 데이터들이 수신기로 전달되는 경우를 나타낸다.
도면에 도시된 바와 같이 방송망을 통해 전송되는 방송 데이터들은 STB를 통해 최종적으로 수신기로 전달될 수 있다. 또한, STB는 eMBMS-capable한 특성을 가지고 있으므로 eMBMS를 통하여 전송되는 방송 데이터를 수신할 수 있다. 이 경우, 서비스 프로바이더는 MVPD의 역할을 수행할 수 있다.
따라서 방송망과 eMBMS를 통해 전송되는 A/V 및 관련 시그널링 정보들은 모두 STB를 거쳐 수신기에 전송되므로, 수신기는 A/V만을 사용자에게 제공할 수 있다. 이 경우, 기본적인 ACR 환경과 동일하므로, 수신기는 ACR 스킴을 통해 현재 시청중인 채널/프로그램을 인식 후 시그널링 서버로부터 시그널링 정보를 수신하여 서비스를 제공할 수 있다. 구체적인 내용은 상술한 바와 동일하므로 생략한다.
본 발명의 ACR 스킴은 WM 방식 및 FP 방식 모두 적용 가능하다. 또한, WM 방식의 경우 서비스 프로바이더에서 전송하는 A/V에 삽입된 WM는 STB를 거쳐 수신기로 전달되더라도 필터링되지 않는다.
도 90 은 본 발명의 일 실시예에 따른 UPnP 방식의 액션(Action) 메커니즘을 도시한 도면이다.
먼저, 본 발명에서의 기기간 커뮤니케이션에 대하여 설명한다.
기기간 커뮤니케이션이란, 기기간에 메시지/명령(command)/콜(call)/액션(action)/요청(request)/응답(response) 를 교환하는 것을 의미할 수 있다.
기기간에 메시지를 원하는 대상 기기에 안정적으로 전달하기 위하여, IP (Internet Protocol) 뿐 아니라 ICMP (Internet Control Message Protocol), IGMP (Internet Group Management Protocol) 등의 다양한 프로토콜이 적용될 수 있다. 이 때, 본 발명은 특정 프로토콜에 국한되지 아니한다.
기기간 커뮤니케이션에 사용되는 메시지에 다양한 정보를 담기 위하여, HTTP (Hypertext Transfer Protocol), RTP (Real-time Transport Protocol), XMPP (Extensible Messaging and Presence Protocol), FTP (File Transfer Protocol) 등의 다양한 프로토콜이 적용될 수 있다. 이 때, 본 발명은 특정 프로토콜에 국한되지 아니한다.
기기간 커뮤니케이션에 사용되는 메시지를 전달할 때, 각 프로토콜이 정의하는 메시지 헤더/메시지 바디 등의 다양한 컴포넌트가 활용될 수 있다. 즉, 각 메시지 컴포넌트에 데이터가 저장되어 전달될 수 있으며, 특정 메시지 컴포넌트에 국한되지 아니한다. 또한, 메시지에 의해 전달되는 데이터는 각 프로토콜이 정의하는 다양한 타입(string, integer, floating point, boolean, character, array, list 등) 으로 전달될 수 있다. 복잡한 내용의 데이터를 구조적으로 표현/전달/저장하기 위해 XML (Extensible Markup Language), HTML (Hypertext Markup Language), XHTML (Extensible Hypertext Markup Language), JSON (JavaScript Object Notation) 등의 마크업(Markup) 방식 혹은 텍스트, 이미지 포맷 등이 적용될 수 있다. 이 때, 본 발명은 특정 방식에 국한되지 아니한다.
또한, 기기간 기기간 커뮤니케이션에 사용되는 메시지는 데이터를 압축하여 전달할 수 있는데, 본 발명은 특정 방식의 압축기술을 적용하는 것에 국한되지 아니한다.
전술한 본 발명에서의 기기간 커뮤니케이션에 대한 설명 중, 한가지 방식인 UPnP 방식에 대하여 설명한다. UPnP 방식은 전술한 기기간 커뮤네케이션에 관한 설명 중에서, IP-TCP/UDP-HTTP의 프로토콜이 조합된 경우에 해당할 수 있다.
도시된 본 발명의 일 실시예에 따른 UPnP 방식의 액션(Action) 메커니즘이란, UPnP 컨트롤 포인트와 UPnP 디바이스 간의 커뮤니케이션 매커니즘을 의미할 수 있다. 여기서 UPnP 컨트롤 포인트(t87010) 은 HTTP 클라이언트일 수 있고, UPnP 디바이스(t87020) 은 HTTP 서버일 수 있다. UPnP 컨트롤 포인트(t87010) 는 액션이라 불리우는 일종의 메시지를, UPnP 디바이스(t87020) 에 전달하여, UPnP 디바이스(t87020) 가 특정한 동작을 수행하도록 할 수 있다.
여기서, UPnP 컨트롤 포인트(t87010) 과 UPnP 디바이스(t87020) 은 페어링되어 있을 수 있다. 페어링은 각 디바이스들 간에 디스커버리 및 디스크립션 전달과정을 통해 수행될 수 있다. UPnP 컨트롤 포인트는 페어링 과정을 통해 컨트롤 URL 을 획득할 수 있다.
UPnP 컨트롤 포인트(t87010) 는 각 액션을 XML 의 형태로 표시할 수 있다. UPnP 컨트롤 포인트(t87010) 는 HTTP 에서 정의한 POST 메쏘드(t87030) 를 이용하여, 획득한 컨트롤 URL로 전달할 수 있다. 각 액션은 일종의 메시지로 실제 전달하고자 하는 데이터일 수 있으며, 이는 HTTP POST 메시지 바디에 XML 형태로 전달될 수 있다. 여기서, 각 액션은 이름(Name) 과, 아규먼트(arguments), 관련 데이터 들을 포함할 수 있다. HTTP POST 메시지 바디는, 각 액션의 이름 및/또는 아규먼트를 전달할 수 있다.
이 때, 각 액션은 같은 컨트롤 URL 로 전달될 수 있다. UPnP 디바이스(t87020) 는 전달받은 액션을 XML 파서(parser) 를 이용하여 파싱을 수행할 수 있다. UPnP 디바이스(t87020) 는 파싱한 각 액션에 따라 해당 동작을 수행할 수 있다.
UPnP 프로토콜의 경우, 각 액션이 이름(Name)에 의해 정의되어 사용될 수 있다. 또한, HTTP POST 메시지 바디에 액션 이름(Name) 도 함께 전달되기 때문에, 대상 기기에 대한 URL이 하나만 존재하고, HTTP POST 메쏘드 역시 하나만 사용되어도, 무한한 종류의 액션의 교환이 가능할 수 있다.
도 91 은 본 발명의 일 실시예에 따른 REST 메커니즘을 도시한 도면이다.
전술한 본 발명에서의 기기간 커뮤니케이션에 대한 설명 중, 한가지 방식인 REST 방식에 대하여 설명한다.
도시된 본 발명의 일 실시예에 따른 REST 메커니즘이란, REST 클라이언트(t88010) 과 REST 서버(t88020) 간의 커뮤니케이션 매커니즘을 의미할 수 있다. 여기서 REST 클라이언트(t88010) 은 HTTP 클라이언트일 수 있고, REST 서버(t88020) 은 HTTP 서버일 수 있다. 전술한 것과 마찬가지로, REST 클라이언트는 액션이라 불리우는 일종의 메시지를, REST 서버(t88020) 에 전달하여, REST 서버(t88020) 가 특정한 동작을 수행하도록 할 수 있다.
본 실시예에서, REST 클라이언트(t88010) 는 각 액션을 URI 를 통하여 REST 서버(t88020) 에 전달할 수 있다. 각 액션에는 액션 이름(Name) 이 필수적이지 않을 수 있다. 각 액션은 아규먼트들과 데이터만을 포함할 수 있다.
여기서, HTTP 메쏘드 중 POST 뿐 만 아니라, GET, HEAD, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH 등의 여러 메쏘드가 활용될 수 있다. 또한, 커뮤니케이션을 행할 대상 기기에 접근할 URI 가 복수개가 정의될 수 있다. 이러한 특징들로 인하여, 액션 이름의 정의없이도 액션이 전달될 수 있다. 이러한 REST 방식에 필요한 복수의 URI 값은 디스커버리 혹은 디스크립션 전달 과정에서 획득될 수 있다.
전달이 필요한 데이터 또는 아규먼트들이, 해당 URI 에 부가되어(appended) 전달될 수 있고, 또는 HTTP 바디에 다양한 형태(XML, JSON, HTML, TEXT, IMAGE,…..)로 포함되어 전달될 수 있다.
REST 서버(t88020) 는 전달받은 액션에 따라 특정 동작을 수행할 수 있다.
전술한 기기간 커뮤니케이션은 일 실시예일 뿐이며, 본 발명에서 제안하는 모든 내용은 UPnP 방식 등에 국한되지 아니한다.
도 92 는 본 발명의 일 실시예에 따른 AV(Audio Video) 쉐어링(sharing) 환경에서 워터마크를 이용한 ACR (Auto Content Recognition) 과정을 도시한 도면이다.
현재 4세대 이동통신으로 LTE/LTE-A 가 서비스되고 있다. LTE/LTE-A 서비스는 모바일 방송 서비스도 동시에 제공할 수 있다. 이러한 모바일 방송 서비스는 eMBMS(evolved Multimedia Broadcast Multicast Service)라 불릴 수 있다. eMBMS 를 이용하여 이동통신망을 통한 방송 시스템 구축이 가능하며, 실제로 모바일 디바이스에서도 시청 가능한 인터넷 방송이 증가 추세에 있다.
그러나, 모바일 디바이스의 시청 환경은, 모바일 디바이스의 작은 화면으로 인해 불편할 수 있다. 이를 개선하기 위하여 AV 쉐어링 기술이 이용될 수 있다. AV 쉐어링은 TV 리시버 등의 큰 화면을 가지는 장치와 모바일 디바이스의 화면을 공유하는 기술이다. 이러한 AV 쉐어링 기술은 UPnP DLNA, Wi-Di, Miracast 등의 기술들에 의하여 제공될 수 있다.
AV 쉐어링에 의하여 고정된 디바이스, 즉 TV 리시버 등으로 전달되는 데이터는 오디오/비디오 데이터 뿐일 수 있다. 즉, 컨텐츠 자체의 시그널링 정보나 부가 서비스(인터랙티브 서비스 등)에 관한 정보는 AV 쉐어링을 통한 전달과정에서 배제될 수 있다. 이러한 오디오/비디오 데이터는 비압축 오디오/비디오(uncompressed audio/video) 데이터라 불릴 수 있다. 또한 모바일 방송의 특성상, 모바일 디바이스조차 처음부터 시그널링 정보나 부가서비스에 관한 정보를 수신하지 못할 수 있다.
이러한 정보들을 얻기 위하여, ACR 클라이언트를 보유하고 있는 고정 디바이스에서 ACR 을 수행할 수 있다. 고정 디바이스는 모바일 디바이스로부터 전달받은 오디오/비디오 데이터를 재생할 때, 이를 인식하여 관련된 시그널링 정보등을 전달받을 수 있다. 이러한 시그널링 정보가 활용되어 부가서비스나 ESG 등의 데이터가 사용자에게 제공될 수 있다. 본 발명에서 활용되는 워터마크, 핑거프린트는 전술한 다양한 실시예의 워터마크/핑거프린트의 구조를 가질 수 있다. 즉, 전술한 URL 필드, URL 프로토콜 필드, 타임 스탬프 관련 필드들이 워터마크에 포함될 수 있으며, 정보가 분할되어 복수개의 워터마크에 포함될 수도 있다. 수신측에서는 이러한 정보들을 재조합하여 원래의 정보를 얻을 수도 있다. 또한 프레임이 가지는 정보량에 따라 워터마크에 포함되는 데이터의 양이 조절될 수도 있다. 자세한 설명은 전술한 바와 같다.
도시된 구조도(architecture) 는, 워터마크에 직접적으로 정보가 삽입된 경우일 수 있다.
먼저 브로드캐스터는 전술한 eMBMS 등의 모바일 방송망을 통하여 모바일 방송을 브로드캐스팅할 수 있다. 이 때, 브로드캐스터 또는 별개의 엔티티는 워터마크를 삽입할 수 있다. 여기서 워터마크에 포함되는 정보는 시그널링 서버의 URL, 모바일 방송을 식별하기 위한 컨텐츠 ID, 해당 모바일 방송의 프레임을 지시하는 시간(Time) 정보 등일 수 있다. 여기서 시간 정보는 전술한 타임 스탬프 정보일 수도 있다. 이 타임 스탬프 정보는 인터랙티브 서비스 등의 부가 서비스 제공을 위한 타임 베이스를 생성할 수 있다.
모바일 디바이스는 해당 모바일 방송을 수신할 수 있다. 본 실시예에서 모바일 디바이스는 오디오/비디오 데이터 외에 시그널링 정보 등도 수신할 수 있다. 그러나 실시예에 따라 모바일 디바이스조차 처음부터 시그널링 정보등의 정보를 수신하지 못할 수도 있다.
모바일 디바이스는 고정 디바이스인 TV 리시버 등과 AV 쉐어링을 수행할 수 있다. AV 쉐어링 기술에 따라 AV 쉐어링이 수행되면, 비압축적 오디오/비디오 데이터가 모바일 디바이스에서 TV 리시버 측으로 전달될 수 있다. 즉, 이 전달과정에서 브로드캐스터로부터 전달받은 시그널링 정보 등은 배제될 수 있다.
TV 리시버는 오디오/비디오 데이터만을 전달받았다. 전달받지 못한 시그널링 정보를 얻기 위하여, TV 리시버는 ACR 과정을 수행할 수 있다. 여기서, TV 리시버는 내/외부에 워터마크 클라이언트를 가지고 있다고 가정한다. 비압축적 오디오/비디오 데이터라 할지라도 삽입된 워터마크는 가지고 있으므로, 워터마크 클라이언트는 해당 워터마크를 추출해낼 수 있다. 이를 통해 TV 리시버는 시그널링 서버의 URL, 컨텐츠 ID, 시간정보 등을 얻을 수 있다.
TV 리시버는 얻어낸 컨텐츠 ID, 시간정보를 통하여 해당 모바일 방송을 식별해낼 수 있다(ACR). 또한 TV 리시버는 얻어낸 시그널링 서버의 URL 을 이용하여 시그널링 서버에 접속할 수 있다. 시그널링 서버는 TV 리시버가 전달받지 못했던 시그널링 정보를 제공할 수 있다. 시그널링 서버는 브로드캐스터와 동일하거나, 브로드캐스터에 의해 운영되는 엔티티일 수 있다. 여기서 TV 리시버는 컨텐츠 ID, 시간정보를 시그널링 서버로 전송하여 시그널링 정보를 요청할 수 있다. 시그널링 서버는 해당 모바일 방송 컨텐츠에 해당하는 시그널링 정보를, TV 리시버로 전달해줄 수 있다. TV 리시버는 해당 시그널링 정보를 이용하여 필요한 동작들을 수행할 수 있다.
도 93 은 본 발명의 일 실시예에 따른 AV 쉐어링 환경에서 워터마크/핑거프린트를 이용한 ACR 과정을 도시한 도면이다.
처음으로 도시된 구조도(t93010)는, 워터마크에 간접적으로 정보가 삽입된 경우일 수 있다. 이 때 워터마크는 단순히 모바일 방송의 프레임에 대한 식별자 내지 시그니쳐(signature) 정보만을 가질 수 있다.
브로드캐스터가 워터마크가 삽입된 모바일 방송을 브로드캐스팅하고, 모바일 디바이스가 AV 쉐어링을 통해 모바일 방송의 오디오/비디오를 TV 리시버로 전달하는 과정은 전술한 것과 같다.
TV 리시버의 워터마크 클라이언트는 워터마크를 추출해낼 수 있다. TV 리시버는 워터마크에 포함된 식별자를 ACR 서비스 프로바이더로 전송할 수 있다. TV 리시버는 이 전송을 통하여 컨텐츠 확인을 요청(request)할 수 있다. ACR 서비스 프로바이더는 ACR 을 제공하는 엔티티로서, 실시예에 따라 브로드캐스터와 같을 수도, 별개일 수도 있다. 브로드 캐스터는 ACR 서비스 프로바이더로 모바일 방송에 대한 메타데이터와 시그널링 서버의 주소 등을 실시간으로 전달해 놓을 수 있다.
TV 리시버로부터 요청을 받은 ACR 서비스 프로바이더는 현재 TV 리시버에서 AV 쉐어링을 통해 재생중인 모바일 방송 컨텐츠를 인식하고, 그에 해당하는 시그널링 서버의 주소를 전송할 수 있다(responding).
TV 리시버는 전달받은 시그널링 서버의 주소 및 컨텐츠 ID, 시간정보등을 이용하여 시그널링 서버에 접속해 시그널링 정보를 얻을 수 있다. 이 과정은 전술한 바와 같다. 실시예에 따라 ACR 서비스 프로바이더와 시그널링 서버는 통합될 수 있다. 이 경우, ACR 서비스 프로바이더는 ACR 을 위하여 TV 리시버로부터 식별자를 전달받았을 때, 그에 대한 응답으로서 바로 관련된 시그널링 정보를 TV 리시버로 전달해줄 수도 있다. ACR 서비스 프로바이더가 시그널링 서버의 역할까지 담당하는 경우, 별도의 시그널링 서버는 필요하지 않을 수 있다.
두번째 도시된 구조도(t93020)는, 핑거프린트가 사용되는 경우일 수 있다.
브로드캐스터는 전술한 eMBMS 등의 모바일 방송망을 통하여 모바일 방송을 브로드캐스팅할 수 있다. 이 때, 브로드캐스터 또는 별개의 엔티티는 모바일 방송 컨텐츠로부터 시그니쳐를 추출해낼 수 있다. 이 시그니쳐는 매 프레임 또는 일정 주기마다의 프레임에 대해서 추출될 수 있다. 이 시그니쳐는 핑거프린트 서버(FP server)로 전달될 수 있다. 시그니쳐와 함께 모바일 방송에 관한 메타데이터, 시그널링 서버의 주소 등이 같이 FP 서버로 전달될 수 있다. 여기서 시그니쳐는 핑거프린트라고 불릴 수도 있다.
전술한 워터마크에 대한 실시예와 마찬가지로 모바일 디바이스는 모바일 방송을 수신할 수 있고, 또한 TV 리시버와 AV 쉐어링을 수행할 수 있다. 이를 통해 TV 리시버는 모바일 방송을 재생할 수 있다.
TV 리시버의 핑거프린트 클라이언트(FP client)는 재생중인 모바일 방송 컨텐츠의 매 프레임 또는 일정 주기마다의 프레임에 대하여 시그니쳐(핑거프린트)를 추출할 수 있다. 여기서 사용되는 추출 알고리즘은 브로드캐스터 측에서 사용되었던 추출 알고리즘과 같을 수 있다.
TV 리시버는 추출된 시그니쳐를 FP 서버로 전송해 ACR 을 요청할 수 있다. FP 서버는 핑거프린트 DB 에 저장된 시그니쳐와 수신된 시그니쳐를 비교하여, 현재 TV 리시버에서 재생중인 모바일 방송 컨텐츠를 인식할 수 있다. FP 서버는 인식된 모바일 방송 컨텐츠와 관련된 시그널링 서버 주소를 TV 리시버로 전달할 수 있다(responding).
TV 리시버는 전달받은 시그널링 서버의 주소 및 컨텐츠 ID, 시간정보등을 이용하여 시그널링 서버에 접속해 시그널링 정보를 얻을 수 있다. 이 과정은 전술한 바와 같다. 실시예에 따라 FP 서버와 시그널링 서버는 통합될 수 있다. 이 경우, FP 서버는 ACR 을 위하여 TV 리시버로부터 시그니쳐를 전달받았을 때, 그에 대한 응답으로서 바로 관련된 시그널링 정보를 TV 리시버로 전달해줄 수도 있다. FP 서버가 시그널링 서버의 역할까지 담당하는 경우, 별도의 시그널링 서버는 필요하지 않을 수 있다.
도 94 는 본 발명의 일 실시예에 따른 AV 쉐어링 환경에서 핑거프린트를 이용한 ACR 과정의 다이어그램을 도시한 도면이다.
도시된 다이어그램은 전술한 AV 쉐어링 환경에서 핑거프린트가 사용되는 경우의 구조도를 다이어그램으로 표현한 것일 수 있다. 여기서 고정 디바이스는 DTV 로 가정하였다. 또한 모바일 디바이스와 DTV 는 AV 쉐어링 이전의 특정 시점에서 페어링되어 있다고 가정한다.
먼저, 브로드캐스터(방송사)는 ACR 업체가 제공하는 툴을 이용하여 모바일 방송 컨텐츠(프로그램)별로 핑거프린트를 추출할 수 있다(t94010). 브로드캐스터는 오디오/비디오 컨텐츠에 대한 핑거프린트 DB 를 구축할 수 있다. 실시예에 따라 오디오와 비디오 컴포넌트에 대한 두가지 핑거프린트를 모두 추출하여 저장할 수도 있다.
브로드캐스터는 추출된 핑거프린트를 ACR 서버(전술한 FP 서버 등)으로 전달할 수 있다(t94020). 전달되는 시점은 미리 제작된 컨텐츠인 경우에는 모바일 방송이 송출되기 전일 수 있고, 라이브 컨텐츠인 경우에는 핑거프린트가 추출되는 대로 실시간으로 ACR 서버로 전달될 수 있다. 라이브 컨텐츠인 경우에는 사전에 해당 컨텐츠를 유일하게 인식할 수 있는 정보들이 부여되어야 하고, 핑거프린트의 실시간 전달시 이와 매핑되어 ACR 서버로 전달되어야 할 수 있다. ACR 서버는 전달받은 핑거프린트 및/또는 이와 매핑된 컨텐츠 식별 정보들을 별도의 ACR DB 에 저장해 둘 수 있다(t94030).
브로드캐스터는 eMBMS 등의 모바일 방송 채널을 통하여, 모바일 디바이스로 방송을 송출할 수 있다. 모바일 방송을 지원하는 모바일 디바이스는 해당 방송을 수신할 수 있다(t94040). 모바일 디바이스는 UPnP, DLNA, Wi-Di, Miracast 등등의 AV 쉐어링 기법을 이용하여 고정 디바이스인 DTV 와 AV 쉐어링을 수행할 수 있다(t94050).
DTV 는 공유되는 오디오/비디오 신호로부터 핑거프린트를 추출하여 ACR 서버로 쿼리 리퀘스트(Query Request) 를 보낼 수 있다(t94060). ACR 서버는 수신한 핑거프린트와 ACR DB 를 대조하여 매칭되는 컨텐츠를 찾을 수 있다. 컨텐츠가 인식되면 그와 관련된 채널 정보, 시그널링 서버의 URL 등을 DTV 로 전달해 줄 수 있다(t94070).
DTV 는 시그널링 서버의 URL 을 이용하여 시그널링 서버에 접속해 시그널링 정보를 요청한다(t94080). 이 때 요청을 위한 파라미터로는 채널 정보, 컨텐츠 정보, 시간 정보 등등이 사용될 수 있다. 시그널링 서버는 요청받은 파라미터에 따라 관련된 시그널링 정보들을 DTV 로 전달할 수 있다(t94090).
실시예에 따라 ACR 과정을 통해 얻게된 시그널링 정보는, ACR 클라이언트를 가지고 있지 않은 모바일 디바이스로 다시 전달될 수 있다. 이 경우 모바일 디바이스는 해당 시그널링 정보를 이용하여 모바일 디바이스에서 재생되는 모바일 방송 컨텐츠에 대한 부가적인 동작을 수행할 수 있다. 이 실시예는 모바일 방송의 특성상 모바일 디바이스조차 처음부터 시그널링 정보를 수신하지 못한 경우에 해당할 수 있다.
도 95 는 본 발명의 다른 실시예에 따른 AV 쉐어링 환경에서 워터마크를 이용한 ACR 과정을 도시한 도면이다.
모바일 방송을 수신하는 모바일 디바이스가, 그 방송내용을 고정 디바이스로 AV 쉐어링하는 상황을 전술하였다. 이와 반대로, 고정 디바이스를 통해 수신한 방송을 모바일 디바이스로 AV 쉐어링할 수도 있다. 고정 디바이스가 아닌 각 개인의 모바일 디바이스로 원하는 장소에서 방송을 시청하고자 하는 경우 유용할 수 있다.
전술한 바와 같이 AV 쉐어링을 통해서 단순히 오디오/비디오 데이터만 모바일 디바이스로 전달될 수 있다. 관련된 시그널링 정보, 부가 서비스에 관한 정보들은 모바일 디바이스로 전달되지 않을 수 있다. 이러한 환경을 고려하여 모바일 디바이스에서 ACR 을 위한 클라이언트가 있는 경우, 이를 활용해 필요한 시그널링 정보들을 얻을 수 있다.
도시된 구조도(architecture) 는, 워터마크에 직접적으로 정보가 삽입된 경우일 수 있다.
브로드캐스터는 워터마크가 삽입된 방송 컨텐츠를 송출할 수 있다. TV 리시버는 이를 수신할 수 있다. 워터마크 및 그 삽입에 관한 사항은 전술한 바와 같다. TV 리시버는 모바일 디바이스와 AV 쉐어링을 수행할 수 있다. AV 쉐어링 이전에 두 디바이스는 페어링되어 있었다고 가정한다.
모바일 디바이스는 전달받은 비압축적 오디오/비디오 데이터를 재생할 수 있다. 모바일 디바이스는, 내/외부의 워터마크 클라이언트를 이용하여 ACR 을 수행할 수 있다. 비압축적 오디오/비디오 데이터로부터 워터마크를 추출하고, 워터마크의 정보들을 얻어낼 수 있다. 워터마크의 정보들을 이용하여 시그널링 서버로부터 시그널링 정보를 얻는 과정은 전술한 바와 같다.
도 96 은 본 발명의 다른 실시예에 따른 AV 쉐어링 환경에서 워터마크/핑거프린트를 이용한 ACR 과정을 도시한 도면이다.
도시된 실시예들은 각각 워터마크에 간접적으로 정보가 삽입된 경우(t96010) 및 핑거프린트가 사용되는 경우(t96020)일 수 있다. 워터마크가 간접적으로 사용되는 경우에는 워터마크가 단순히 모바일 방송의 프레임에 대한 식별자 내지 시그니쳐(signature) 정보만을 가질 수 있다.
각 실시예에서 브로드캐스터, ACT 서비스 프로바이더, 시그널링 서버, ACR 클라이언트(워터마크 클라이언트, 핑거프린트 클라이언트) 등은 전술한 바와 같다. 각 실시예들에 따라 워터마크, 핑거프린트를 이용한 동작도 전술한 바와 같다.
단, 이 경우 TV 리시버와 모바일 디바이스의 역할은 서로 뒤바뀔 수 있다. 즉, TV 리시버가 수신한 일반 방송 컨텐츠를, 모바일 디바이스는 AV 쉐어링을 통하여 재생할 수 있다. 모바일 디바이스는 전달받지 못한 시그널링 정보등의 부가정보를, 워터마크/핑거프린트를 이용한 ACR 을 통하여 얻을 수 있다. 이를 통하여 모바일 디바이스에서도 단순히 AV 의 재생이 아닌 시그널링 정보/부가 정보등을 통한 동작 수행이 가능할 수 있다.
마찬가지로 이 경우에도 시그널링 서버의 역할은 ACR 서비스 프로바이더 내지 핑거프린트 서버가 수행할 수도 있다.
도 97 은 본 발명의 다른 실시예에 따른 AV 쉐어링 환경에서 워터마크/핑거프린트를 이용한 ACR 과정을 도시한 도면이다.
셋 탑 박스(set top box)가 사용되는 경우, TV 리시버 역시 처음부터 시그널링 정보 등이 배제된 오디오/비디오 데이터만을 받을 수 있다. 즉, MVPD 등을 통하여 원래의 방송 컨텐츠가 수신되나, 셋 탑 박스등을 통해 TV 리시버로 전달되는 과정에서 시그널링 정보 내지 부가 정보가 배제될 수 있다.
이러한 경우에도 모바일 디바이스가 비압축적 오디오/비디오를 받고, 워터마크 또는 핑거프린트를 이용해 ACR 을 수행하는 것은 동일할 수 있다. 도시된 실시예(t97010, t97020) 에서 브로드캐스터, TV 리시버, ACR 클라이언트, 모바일 디바이스, FP 서버 등은 전술한 바와 동일하다. 컨텐츠 서버는 전술한 ACR 서비스 프로바이더의 역학을 할 수 있다.
본 실시예에서는 TV 리시버 역시 시그널링 정보 등을 받을 필요가 있다. 이를 위해서, 모바일 디바이스가 ACR 과정을 통해 얻게 된 시그널링 정보 등을 다시 TV 리시버로 전달해 줄 수 있다. 이는 TV 리시버가 ACR 클라이언트를 가지고 있지 못한 경우에 더 유용할 수 있다. 물론 TV 리시버가 ACR 클라이언트를 가지고 있는 경우에는 직접 ACR 과정을 수행해 시그널링 정보 등을 획득할 수도 있다. 혹은 중복된 동작 수행을 방지하기 위하여, AV 쉐어링이 되는 두 디바이스 중 어느 한 디바이스만이 ACR 과정을 수행하고, 획득한 시그널링 정보를 타 디바이스에 전달해 줄 수 있다.
도 98 은 본 발명의 다른 실시예에 따른 AV 쉐어링 환경에서 핑거프린트를 이용한 ACR 과정의 다이어그램을 도시한 도면이다.
도시된 다이어그램은 전술한 AV 쉐어링 환경에서 핑거프린트가 사용되는 경우의 구조도를 다이어그램으로 표현한 것일 수 있다. 여기서 고정 디바이스는 DTV 로 가정하였다. 또한 모바일 디바이스와 DTV 는 AV 쉐어링 이전의 특정 시점에서 페어링되어 있다고 가정한다.
브로드캐스터가 핑거프린트를 추출하고, 이를 ACR 서버에 전송해 DB 에 저장하는 과정(t98010 - t98030) 은 전술한 바와 같다. 이 실시예에서 브로드캐스터는 DTV 로 일반 방송을 송출할 수 있다(t98040).
DTV 는 AV 쉐어링을 통하여 모바일 디바이스로 비압축 오디오/비디오를 전송하고(t98050), 모바일 디바이스는 오디오/비디오를 재생함과 동시에 핑거프린트를 추출해 ACR 서버로 요청을 보낼 수 있다(t98060). ACR 서버는 요청에 따라 모바일 디바이스로 시청중인 일반 방송에 관한 시그널링 서버의 주소를 전송할 수 있다(t98070).
모바일 디바이스는 시그널링 서버에 접속해 시그널링 정보를 요청한다(t98080). 이 때 요청을 위한 정보에는 채널 정보, 컨텐츠 정보, 시간 정보 등이 포함될 수 있다. 시그널링 서버는 이 파라미터들에 따라 관련된 시그널링 정보를 모바일 디바이스로 전달할 수 있다(t98090).
실시예에 따라 모바일 디바이스는 이 정보들을 ACR 클라이언트를 가지고 있지 않은 DTV 로 다시 보내줄 수도 있다. 이 경우 DTV 는 해당 시그널링 정보를 이용하여 재생중인 방송 컨텐츠에 대한 부가적인 동작을 수행할 수 있다. 이 실시예는 DTV 가 셋탑 박스 등을 통해 방송을 수신하여, 처음부터 시그널링 정보를 얻지 못한 경우에 해당할 수 있다.
도 99 는 본 발명의 일 실시예에 따른 TV 수신기에서 모바일 방송 서비스를 제공하는 방법을 도시한 도면이다.
본 발명의 일 실시예에 따른 TV 수신기에서 모바일 방송 서비스를 제공하는 방법은 모바일 방송 컨텐츠를 재생중인 모바일 디바이스와 페어링하는 단계, 모바일 디바이스로부터 모바일 방송 컨텐츠의 오디오 및 비디오 컴포넌트를 전달받아 재생하는 단계, 오디오 컴포넌트 또는 비디오 컴포넌트로부터 워터마크를 추출하는 단계 및/또는 워터마크를 이용하여 모바일 방송 컨텐츠와 관련된 시그널링 정보를 획득하는 단계를 포함할 수 있다.
먼저 TV 수신기(리시버)는 모바일 디바이스와 페어링할 수 있다(t99010). 이 페어링은 TV 수신기와 모바일 디바이스 내부의 페어링 모듈에 의해 수행될 수 있다. 이 후, TV 수신기는 모바일 디바이스로부터 모바일 방송 컨텐츠의 오디오 및 비디오 컴포넌트를 전달받아 재생할 수 있다(t99020). 이는 전술한 모바일 방송의 오디오/비디오 컴포넌트를 AV 쉐어링하는 과정에 해당할 수 있다. 이는 TV 수신기와 모바일 디바이스 내부의 AV 쉐어링 모듈에 의해 수행될 수 있다. 실시예에 따라 AV 쉐어링 모듈은 페어링 모듈과 같은 모듈일 수도 있다. 또한 오디오/비디오 컴포넌트를 전달받는 동작은 AV 쉐어링 모듈이 수행하고, 이를 재생하는 모듈은 다른 모듈(예를 들어 디스플레이 모듈)이 수행할 수도 있다.
TV 수신기는 오디오 컴포넌트 또는 비디오 컴포넌트로부터 워터마크를 추출할 수 있다(t99030). 이는 TV 수신기 내부의 ACR 모듈에 의해 수행될 수 있다. 설명되고 있는 실시예는 모바일 방송을 TV 수신기가 전달받는 경우에 해당하지만, 일반 방송을 모바일 디바이스가 전달받아 ACR 을 수행하는 경우도 있을 수 있다. 후자의 경우에는 모바일 디바이스의 ACR 모듈이 ACR 을 수행할 수 있다. 실시예에 따라 워터마크가 아닌 핑거프린트를 이용한 ACR 이 수행될 수도 있다. 이 경우에도 ACR 모듈에 의해 핑거프린트가 생성/추출될 수 있다.
TV 수신기는 워터마크를 이용하여 전달받은 모바일 방송 컨텐츠와 관련된 시그널링 정보를 획득할 수 있다(t99040). 이 동작은 ACR 모듈에 의해 수행되거나, 별도의 네트워크 인터페이스 모듈에 의해 수행될 수 있다.
본 발명의 다른 실시예에 따른 TV 수신기에서 모바일 방송 서비스를 제공하는 방법에서, 워터마크는 시그널링 서버와 관련된 URL 정보를 포함할 수 있다. URL 정보는 시그널링 서버의 URL 을 재생성하기 위한 시그널링 서버의 URL 의 일부분일 수 있다. 본 실시예는 워터마크에 직접 시그널링 서버의 URL 을 삽입한 경우에 해당할 수 있다. 전술한 바와 같이 URL 이 분할되어 여러 워터마크에 나뉘어 전송되는 경우, 이 URL 정보들을 이용하여 시그널링 서버의 URL 이 취합, 재생성될 수 있다. 이 경우 워터마크를 이용하여 시그널링 정보를 획득하는 단계는 URL 정보를 이용하여 시그널링 서버의 URL 을 생성하는 단계를 더 포함할 수 있다. URL 을 생성하는 과정은 전술한 ACR 모듈에 의해 수행될 수 있다.
본 발명의 또 다른 실시예에 따른 TV 수신기에서 모바일 방송 서비스를 제공하는 방법에서, 워터마크를 이용하여 시그널링 정보를 획득하는 단계는 생성된 시그널링 서버의 URL 을 이용하여 시그널링 서버에 시그널링 정보의 요청을 전송하고 받는 단계를 더 포함할 수 있다. 이는 ACR 모듈에 의해 수행될 수 있다. 요청의 전송 및 수신은 별도의 네트워크 인터페이스 모듈에 의해 수행될 수 있다.
본 발명의 또 다른 실시예에 따른 TV 수신기에서 모바일 방송 서비스를 제공하는 방법에서, 워터마크는 모바일 방송 컨텐츠의 식별자 및 워터마크가 추출된 프레임의 시점 정보를 더 포함할 수 있다. 여기서 모바일 방송 컨텐츠의 식별자는 전술한 컨텐츠 ID, 시점 정보는 타임정보(timestamp)일 수 있다. 전술한 시그널링 정보의 요청은 모바일 방송 컨텐츠 식별자 및 시점 정보를 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 TV 수신기에서 모바일 방송 서비스를 제공하는 방법에서, 워터마크의 URL 정보는 시그널링 서버 URL 의 일부를 가지는 URL 필드 또는 시그널링 서버 URL 이 사용하는 프로토콜을 지시하는 URL 프로토콜 필드일 수 있다. 여기서 URL 필드는 전술한 URL 필드에 해당하고, URL 프로토콜 필드는 전술한 URL 프로토콜 필드(URL protocol) 에 해당할 수 있다. 이러한 방식을 통해 URL 을 워터마크로 전달하면, 긴 URL 을 효율적으로 전달할 수 있다.
본 발명의 또 다른 실시예에 따른 TV 수신기에서 모바일 방송 서비스를 제공하는 방법에서, 시그널링 정보는 모바일 방송 컨텐츠에 관한 인터랙티브 서비스 제공을 위한 정보일 수 있다. 인터랙티브 서비스 제공을 위해, 모바일 방송 컨텐츠와 관련된 앱 베이스드 서비스 또는 트리거 등을 이용한 이벤트의 활성화(activation) 을 수행할 수 있는 정보일 수 있다.
본 발명의 또 다른 실시예에 따른 TV 수신기에서 모바일 방송 서비스를 제공하는 방법에서, 시점 정보는 모바일 방송 컨텐츠에 관한 인터랙티브 서비스를 제공하기 위한 타임 베이스를 생성할 수 있다. 여기서 시점 정보는 타임스탬프로서, 실시예에 따라 인터랙티브 서비스를 모바일 방송 컨텐츠와 싱크를 맞추기 위한 타임 베이스를 생성할 수 있다. 이 때 시그널링 정보는 타임 베이스 트리거일 수 있다.
본 발명의 또 다른 실시예에 따른 TV 수신기에서 모바일 방송 서비스를 제공하는 방법에서, 워터마크는 워터마크가 추출된 프레임을 식별하는 식별정보를 포함하고, 워터마크를 이용하여 시그널링 정보를 획득하는 단계는 워터마크의 식별정보를 ACR(Auto Content Recognition) 서버로 전송하고 수신하는 단계를 더 포함할 수 있다. 이는 워터마크에 정보를 직접 삽입하지 않은 경우에 해당할 수 있다. 전술한 바와 같이, 이 경우 워터마크는 프레임 식별자로서 역할을 할 수 있다. 이 경우에 있어 시그널링 서버는 ACR 서버와 같을 수 있다. 이는 ACR 모듈 내지 네트워크 인터페이스 모듈에 의해 수행될 수 있다.
본 발명의 또 다른 실시예에 따른 TV 수신기에서 모바일 방송 서비스를 제공하는 방법에서, 획득한 시그널링 정보는 모바일 디바이스로 다시 전달될 수 있다. 이는 전술한 페어링 모듈 또는 AV 쉐어링 모듈에 의해 수행될 수 있다.
본 발명의 일 실시예에 따른 모바일 디바이스에서 방송 서비스를 제공하는 방법을 설명한다. 본 방법은 도면에 도시되지 아니하였다.
본 발명의 일 실시예에 따른 모바일 디바이스에서 방송 서비스를 제공하는 방법은 TV 수신기와 페어링하는 단계, TV 수신기로부터 방송 컨텐츠의 오디오/비디오 컴포넌트를 전달받고 재생하는 단계, 오디오/비디오 컴포넌트로부터 워터마크를 추출하는 단계 및/또는 워터마크를 이용하여 모방송 컨텐츠와 관련된 시그널링 정보를 획득하는 단계를 포함할 수 있다.
이 경우의 실시예도 반대의 경우와 마찬가지로, 워터마크가 URL 정보를 포함하거나, 컨텐츠 식별자, 프레임의 시점정보, URL 프로토콜 필드 등을 포함할 수 있다. 또한 모바일 디바이스 내의 ACR 모듈은 시그널링 서버의 URL 을 재생성해내고, 이에 시그널링 정보를 요청/수신할 수 있다. 또한 실시예에 따라 획득한 시그널링 정보를 다시 TV 수신기로 전달할 수 있다.
전술한 단계들은 실시예에 따라 생략되거나, 유사/동일한 동작을 수행하는 다른 단계에 의해 대체될 수 있다.
도 100 은 본 발명의 일 실시예에 따른 모바일 방송 서비스를 제공하는 방송 수신 장치를 도시한 도면이다.
본 발명의 일 실시예에 따른 모바일 방송 서비스를 제공하는 방송 수신 장치는 전술한 페어링 모듈, AV 쉐어링 모듈, 디스플레이 모듈 및/또는 ACR 모듈을 포함할 수 있다. 또한 실시예에 따라 네트워크 인터페이스 모듈을 더 포함할 수도 있다. 각각의 블락, 모듈들은 전술한 바와 같다.
본 발명의 일 실시예에 따른 모바일 방송 서비스를 제공하는 방송 수신 장치 및 그 내부 모듈/블락들은, 전술한 본 발명의 TV 수신기에서 모바일 방송 서비스를 제공하는 방법의 실시예들을 수행할 수 있다.
본 발명의 일 실시예에 따른 방송 서비스를 제공하는 모바일 디바이스를 설명한다. 본 발명의 일 실시예에 따른 방송 서비스를 제공하는 모바일 디바이스는 도시되지 않았다.
본 발명의 일 실시예에 따른 방송 서비스를 제공하는 모바일 디바이스는 전술한 페어링 모듈, AV 쉐어링 모듈, 디스플레이 모듈 및/또는 ACR 모듈을 포함할 수 있다. 또한 실시예에 따라 네트워크 인터페이스 모듈을 더 포함할 수도 있다. 각각의 블락, 모듈들은 전술한 바와 같다.
본 발명의 일 실시예에 따른 방송 서비스를 제공하는 모바일 디바이스 및 그 내부 모듈/블락들은, 전술한 본 발명의 모바일 디바이스에서 방송 서비스를 제공하는 방법의 실시예들을 수행할 수 있다.
전술한 방송 수신 장치 및 모바일 디바이스 내부의 블락/모듈 등은 메모리에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있고, 실시예에 따라 장치 내/외부에 위치하는 하드웨어 엘레멘트들일 수 있다.
전술한 모듈들은 실시예에 따라 생략되거나, 유사/동일한 동작을 수행하는 다른 모듈에 의해 대체될 수 있다.
모듈 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있다. 전술한 실시예에 기술된 각 단계들은 하드웨어/프로세서들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블락/유닛들은 하드웨어/프로세서로서 동작할 수 있다. 또한, 본 발명이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 발명의 권리범위에 속한다.
본 발명에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명이 제안하는 방법을 네트워크 디바이스에 구비된, 프로세서가 읽을 수 있는 기록매체에, 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
그리고, 당해 명세서에서는 물건 발명과 방법 발명이 모두 설명되고 있으며, 필요에 따라 양 발명의 설명은 보충적으로 적용될 수가 있다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 이해된다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.
발명의 실시를 위한 형태
다양한 실시예가 본 발명을 실시하기 위한 최선의 형태에서 설명되었다.
본 발명은 일련의 방송 신호 제공 분야에서 이용된다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 자명하다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.

Claims (18)

  1. TV 수신기에서 모바일 방송 서비스를 제공하는 방법에 있어서,
    모바일 방송 컨텐츠를 재생중인 모바일 디바이스와 페어링하는 단계;
    상기 모바일 디바이스로부터 상기 모바일 방송 컨텐츠의 오디오 및 비디오 컴포넌트를 전달받아 재생하는 단계;
    상기 오디오 컴포넌트 또는 상기 비디오 컴포넌트로부터 워터마크를 추출하는 단계; 및
    상기 워터마크를 이용하여 상기 모바일 방송 컨텐츠와 관련된 시그널링 정보를 획득하는 단계; 를 포함하는 방송 서비스 제공 방법.
  2. 제 1 항에 있어서,
    상기 워터마크는 시그널링 서버와 관련된 URL 정보를 포함하고,
    상기 워터마크를 이용하여 시그널링 정보를 획득하는 단계는 상기 URL 정보를 이용하여 상기 시그널링 서버의 URL 을 생성하는 단계를 더 포함하는 방송 서비스 제공 방법.
  3. 제 2 항에 있어서, 상기 워터마크를 이용하여 시그널링 정보를 획득하는 단계는:
    상기 생성된 시그널링 서버의 URL 을 이용하여 상기 시그널링 서버에 시그널링 정보의 요청을 전송하는 단계; 및
    상기 시그널링 서버로부터 상기 시그널링 정보를 수신하는 단계;
    를 더 포함하는 방송 서비스 제공 방법.
  4. 제 3 항에 있어서,
    상기 워터마크는 상기 모바일 방송 컨텐츠의 식별자 및 상기 워터마크가 추출된 프레임의 시점 정보를 더 포함하고,
    상기 시그널링 정보의 요청은 상기 모바일 방송 컨텐츠 식별자 및 상기 시점 정보를 포함하는 방송 서비스 제공 방법.
  5. 제 2 항에 있어서,
    상기 워터마크의 URL 정보는 상기 시그널링 서버 URL 의 일부를 가지는 URL 필드 또는 상기 시그널링 서버 URL 이 사용하는 프로토콜을 지시하는 URL 프로토콜 필드인 방송 서비스 제공 방법.
  6. 제 1 항에 있어서,
    상기 시그널링 정보는 상기 모바일 방송 컨텐츠에 관한 인터랙티브 서비스 제공을 위한 정보인 방송 서비스 제공 방법.
  7. 제 4 항에 있어서,
    상기 시점 정보는 상기 모바일 방송 컨텐츠에 관한 인터랙티브 서비스를 제공하기 위한 타임 베이스를 생성하는 방송 서비스 제공 방법.
  8. 제 1 항에 있어서,
    상기 워터마크는 상기 워터마크가 추출된 프레임을 식별하는 식별정보를 포함하고,
    상기 워터마크를 이용하여 시그널링 정보를 획득하는 단계는:
    상기 워터마크의 식별정보를 ACR(Auto Content Recognition) 서버로 전송하는 단계; 및
    상기 ACR 서버로부터 상기 모바일 방송 컨텐츠와 관련된 시그널링 정보를 수신하는 단계;
    를 더 포함하는 방송 서비스 제공 방법.
  9. 제 1 항에 있어서, 상기 방송 서비스 제공 방법은,
    상기 획득한 시그널링 정보를 상기 모바일 디바이스로 전달하는 단계를 더 포함하는 방송 서비스 제공 방법.
  10. 모바일 방송 컨텐츠를 재생중인 모바일 디바이스와 페어링하는 페어링 모듈;
    상기 모바일 디바이스로부터 상기 모바일 방송 컨텐츠의 오디오 및 비디오 컴포넌트를 전달받는 AV 쉐어링 모듈;
    상기 전달받은 오디오 및 비디오 컴포넌트를 재생하는 디스플레이 모듈; 및
    상기 오디오 컴포넌트 또는 상기 비디오 컴포넌트로부터 워터마크를 추출하는 ACR(Auto Content Recognition) 모듈, 여기서 상기 ACR 모듈은 상기 워터마크를 이용하여 상기 모바일 방송 컨텐츠와 관련된 시그널링 정보를 획득하는 것을 특징으로 하는 모바일 방송 서비스를 제공하는 방송 수신 장치.
  11. 제 10 항에 있어서,
    상기 워터마크는 시그널링 서버와 관련된 URL 정보를 포함하고,
    상기 ACR 모듈은 URL 정보를 이용하여 상기 시그널링 서버의 URL 을 생성하는 것을 특징으로 하는 모바일 방송 서비스를 제공하는 방송 수신 장치.
  12. 제 11 항에 있어서,
    상기 ACR 모듈은 상기 생성된 시그널링 서버의 URL 을 이용하여 상기 시그널링 서버에 시그널링 정보의 요청을 전송하고, 상기 시그널링 서버로부터 상기 시그널링 정보를 수신하는 것을 특징으로 하는 모바일 방송 서비스를 제공하는 방송 수신 장치.
  13. 제 12 항에 있어서,
    상기 워터마크는 상기 모바일 방송 컨텐츠의 식별자 및 상기 워터마크가 추출된 프레임의 시점 정보를 더 포함하고,
    상기 시그널링 정보의 요청은 상기 모바일 방송 컨텐츠 식별자 및 상기 시점 정보를 포함하는 것을 특징으로 하는 모바일 방송 서비스를 제공하는 방송 수신 장치.
  14. 제 11 항에 있어서,
    상기 워터마크의 URL 정보는 상기 시그널링 서버 URL 의 일부를 가지는 URL 필드 또는 상기 시그널링 서버 URL 이 사용하는 프로토콜을 지시하는 URL 프로토콜 필드인 것을 특징으로 하는 모바일 방송 서비스를 제공하는 방송 수신 장치.
  15. 제 10 항에 있어서,
    상기 시그널링 정보는 상기 모바일 방송 컨텐츠에 관한 인터랙티브 서비스 제공을 위한 정보인 것을 특징으로 하는 모바일 방송 서비스를 제공하는 방송 수신 장치.
  16. 제 13 항에 있어서,
    상기 시점 정보는 상기 모바일 방송 컨텐츠에 관한 인터랙티브 서비스를 제공하기 위한 타임 베이스를 생성하는 것을 특징으로 하는 모바일 방송 서비스를 제공하는 방송 수신 장치.
  17. 제 10 항에 있어서,
    상기 워터마크는 상기 워터마크가 추출된 프레임을 식별하는 식별정보를 포함하고,
    상기 ACR 모듈은 상기 워터마크의 식별정보를 ACR 서버로 전송하고, 상기 ACR 서버로부터 상기 모바일 방송 컨텐츠와 관련된 시그널링 정보를 수신하는 것을 특징으로 하는 모바일 방송 서비스를 제공하는 방송 수신 장치.
  18. 제 10 항에 있어서,
    상기 페어링 모듈은 상기 획득한 시그널링 정보를 상기 모바일 디바이스로 전달하는 것을 특징으로 하는 모바일 방송 서비스를 제공하는 방송 수신 장치.
KR1020177002590A 2014-08-20 2015-08-18 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 KR101923459B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462039423P 2014-08-20 2014-08-20
US62/039,423 2014-08-20
PCT/KR2015/008593 WO2016028052A2 (ko) 2014-08-20 2015-08-18 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Publications (2)

Publication Number Publication Date
KR20170026543A true KR20170026543A (ko) 2017-03-08
KR101923459B1 KR101923459B1 (ko) 2019-02-27

Family

ID=55351357

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177002590A KR101923459B1 (ko) 2014-08-20 2015-08-18 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Country Status (3)

Country Link
US (1) US20170164071A1 (ko)
KR (1) KR101923459B1 (ko)
WO (1) WO2016028052A2 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2974341C (en) 2015-01-19 2022-08-23 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving multimedia content
CA3114545C (en) * 2015-12-04 2023-01-03 Sharp Kabushiki Kaisha Recovery data with content identifiers
KR102410668B1 (ko) * 2017-09-27 2022-06-20 삼성전자주식회사 오디오 장치 및 오디오 장치의 동작 방법
CN111355997B (zh) * 2018-12-21 2021-01-29 北京字节跳动网络技术有限公司 视频文件的生成方法、装置、移动终端及存储介质
US11095927B2 (en) * 2019-02-22 2021-08-17 The Nielsen Company (Us), Llc Dynamic watermarking of media based on transport-stream metadata, to facilitate action by downstream entity
US11736742B2 (en) 2019-05-10 2023-08-22 Roku, Inc. Content-modification system with responsive transmission of reference fingerprint data feature
WO2020231927A1 (en) 2019-05-10 2020-11-19 The Nielsen Company (Us), Llc Content-modification system with responsive transmission of reference fingerprint data feature
TWI802797B (zh) 2019-05-10 2023-05-21 美商六科股份有限公司 用於檢測和回應於在先前檢測到的指紋匹配之後檢測到的指紋不匹配的方法、非暫時性電腦可讀儲存介質及計算系統
US11234050B2 (en) 2019-06-18 2022-01-25 Roku, Inc. Use of steganographically-encoded data as basis to control dynamic content modification as to at least one modifiable-content segment identified based on fingerprint analysis
US11012757B1 (en) 2020-03-03 2021-05-18 The Nielsen Company (Us), Llc Timely addition of human-perceptible audio to mask an audio watermark

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130020874A (ko) * 2011-08-21 2013-03-04 엘지전자 주식회사 영상 표시 장치, 단말 장치 및 그 동작 방법
KR20140016906A (ko) * 2011-05-24 2014-02-10 엘지전자 주식회사 방송 서비스 전송 방법, 그 수신 장치 및 그 수신 장치의 부가 서비스 처리 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100205628A1 (en) * 2009-02-12 2010-08-12 Davis Bruce L Media processing methods and arrangements
US9003440B2 (en) * 2012-02-07 2015-04-07 Turner Broadcasting System, Inc. Method and system for synchronization of messages to content utilizing automatic content recognition
KR102035259B1 (ko) * 2012-04-25 2019-10-22 삼성전자주식회사 디지털 방송 시스템에서 시그널링 정보 송수신 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140016906A (ko) * 2011-05-24 2014-02-10 엘지전자 주식회사 방송 서비스 전송 방법, 그 수신 장치 및 그 수신 장치의 부가 서비스 처리 방법
KR20130020874A (ko) * 2011-08-21 2013-03-04 엘지전자 주식회사 영상 표시 장치, 단말 장치 및 그 동작 방법

Also Published As

Publication number Publication date
US20170164071A1 (en) 2017-06-08
WO2016028052A3 (ko) 2016-04-14
WO2016028052A2 (ko) 2016-02-25
KR101923459B1 (ko) 2019-02-27

Similar Documents

Publication Publication Date Title
US11696000B2 (en) Method for transmitting broadcast signals and method for receiving broadcast signals
JP6474835B2 (ja) ハイブリッド放送サービスを処理する装置、及びハイブリッド放送サービスを処理する方法
KR101923459B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR101877159B1 (ko) 방송 전송 장치, 방송 전송 장치의 동작 방법. 방송 수신 장치 및 방송 수신 장치의 동작 방법
JP6262880B2 (ja) 放送伝送装置、放送受信装置、放送伝送装置の動作方法及び放送受信装置の動作方法
KR101801592B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
KR101904946B1 (ko) 서비스 가이드 정보 송신 방법, 서비스 가이드 정보 수신 방법, 서비스 가이드 정보 송신 장치 및 서비스 가이드 정보 수신 장치
JP6189546B2 (ja) 放送コンテンツ及び放送コンテンツに関連したアプリケーションを含む放送信号を処理する方法及び装置
JP6325673B2 (ja) 放送信号受信装置及び放送信号受信方法
JP2017508326A (ja) 放送伝送装置、放送伝送装置の動作方法、放送受信装置および放送受信装置の動作方法
KR20170016866A (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right