KR102505302B1 - 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치 - Google Patents

방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치 Download PDF

Info

Publication number
KR102505302B1
KR102505302B1 KR1020220075709A KR20220075709A KR102505302B1 KR 102505302 B1 KR102505302 B1 KR 102505302B1 KR 1020220075709 A KR1020220075709 A KR 1020220075709A KR 20220075709 A KR20220075709 A KR 20220075709A KR 102505302 B1 KR102505302 B1 KR 102505302B1
Authority
KR
South Korea
Prior art keywords
information
service
application
request
type
Prior art date
Application number
KR1020220075709A
Other languages
English (en)
Other versions
KR20220092830A (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 KR20220092830A publication Critical patent/KR20220092830A/ko
Application granted granted Critical
Publication of KR102505302B1 publication Critical patent/KR102505302B1/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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/426Internal components of the client ; Characteristics thereof
    • H04N21/42684Client identification by a unique number or address, e.g. serial number, MAC address, socket ID
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/81Monomedia components thereof
    • H04N21/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
    • H04N21/814Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts comprising emergency warnings
    • 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/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • 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/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8186Monomedia components thereof involving executable data, e.g. software specially adapted to be executed by a peripheral of the client device, e.g. by a reprogrammable remote control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

본 발명은 방송 시스템에서 디바이스들 간에 효율적으로 정보를 송수신하는 방법 및 장치에 대한 것으로서, 본 발명의 실시 예에 따른 송신 방법은, 제1 디바이스가 제2 디바이스에게 상기 제1 디바이스의 디바이스 상태 정보를 획득하기 위한 서비스 종단점 정보를 송신하는 과정과, 상기 제2 디바이스로부터 디바이스 상태 정보 요청을 수신한 경우, 적어도 하나의 방송 관련 정보를 포함하는 상기 디바이스 상태 정보를 상기 제2 디바이스에게 송신하는 과정을 포함한다.

Description

방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치{METHOD AND DEVICE FOR TRANSMITTING/RECEIVING INFORMATION IN A BROADCASTING SYSTEM}
본 발명은 방송 시스템에서 디바이스들 간에 방송 서비스, 콘텐츠 관련 정보 등 각종 정보를 송수신하는 방법 및 장치에 대한 것이다.
멀티미디어 서비스를 제공하는 방송 시스템의 발전에 따라 유선 또는 무선 방송 시스템에서 다수의 디바이스들이 서로 통신하여 방송 서비스를 이용할 수 있는 기술들이 개발되고 있다. 일 예로 댁내 설치된 디지털 TV와, 스마트 폰, 테블릿 등의 휴대 단말이 서로 통신하여 사용자가 디지털 TV에서 시청하던 콘텐츠를 휴대 단말에서 이어서 시청하거나, 휴대 단말에서 사용자가 시청하던 콘텐츠를 TV에서 이어서 시청할 수 있는 멀티스크린 서비스 등이 제공되고 있다.
이하 본 명세서에서 상기 디지털 TV 또는 디지털 TV와 연결된 셋탑 박스(STB) 등을 방송 서비스 이용을 위한 프라이머리 디바이스(Primary Device : PD)라 칭하고, 상기 휴대 단말 등을 방송 서비스 이용을 위한 보조 단말(Companion Device : CD)라 칭하기로 한다.
도 1은 멀티스크린 서비스를 지원하는 일반적인 방송 시스템의 예를 간략히 나타낸 도면이다.
도 1을 참조하면, PD(110)는 지상파 방송, 케이블 방송 등의 각종 방송 서비스를 유선 또는 무선으로 수신할 수 있다. PD(110)에는 방송 서비스의 이용과 관련된 각종 애플리케이션(111)이 설치될 수 있으며, 멀티스크린 서비스 등을 위해 CD(130)와 통신을 위한 CS(Companion Screen) 매니저(113)를 포함한다. 그리고 CD(130)에도 방송 서비스의 이용과 관련된 각종 애플리케이션(131)이 설치될 수 있다. 도 1에서 PD(110)와 CD(130)는 설명의 편의상 하나만 도시하였으나, 하나 또는 복수의 PD, CD가 존재할 수 있다. 상기 PD(110)와 CD(130)는 WiFi 등의 각종 무선 또는 유선 통신 방식을 통해 서로 통신할 수 있다.
도 1에서 CD(130)는 애플리케이션(131)의 실행에 따라 멀티스크린 서비스의 이용을 위해 가용한 PD(110)가 있는지 탐색(discovery)한다(101). 가용한 PD(110)가 탐색된 경우, 상기 CD(130)의 애플리케이션(131)은 PD(110)의 애플리케이션(111)을 구동(launch)하기 위해 CS 매니저(113)와 통신한다(103). 그러면 CS 매니저(113)는 PD(110)의 애플리케이션(111)을 구동시킨다(105). 상기한 동작과 같이 PD(110)와 CD(130)는 애플리케이션(111, 131)를 통해 멀티스크린 서비스의 이용을 위해 필요한 데이터를 주고 받는다. 도 1의 방송 시스템은 PD(110)와 CD(130)에서 각각 애플리케이션(111, 131)이 구동되어 애플리케이션간 통신을 통해 필요한 정보를 주고 받는 애플리케이션 중심 모델에 적합하다.
그러나 도 1의 시스템에서 PD(110)의 애플리케이션(111)이 방송 시스템을 통해 제공되지 않거나 또는 애플리케이션(111)을 구동할 수 없는 경우, CD(130)의 애플리케이션(131)만 구동되므로 PD(110)와 CD(130)에서 애플리케이션간 통신이 이루어지지 않는다. 이 경우 PD(1110)에서는 애플리케이션간 통신을 위한 관련 애플리케이션을 구동시킬 수 없게 되므로 PD(110)와 CD(130)를 이용한 멀티스크린 서비스 등을 안정적으로 제공할 수 없게 된다.
본 발명은 방송 시스템에서 디바이스들 간에 효율적으로 정보를 송수신하는 방법 및 장치를 제공한다.
또한 본 발명은 방송 시스템에서 PD에서 애플리케이션의 구동 없이도 PD와 CD 간에 방송 관련 정보를 송수신하는 방법 및 장치를 제공한다.
본 발명의 실시 예에 따른 방송 시스템에서 디바이스들 간에 정보를 송신하는 방법은, 제1 디바이스가 제2 디바이스에게 상기 제1 디바이스의 디바이스 상태 정보를 획득하기 위한 서비스 종단점 정보를 송신하는 과정과, 상기 제2 디바이스로부터 디바이스 상태 정보 요청을 수신한 경우, 적어도 하나의 방송 관련 정보를 포함하는 상기 디바이스 상태 정보를 상기 제2 디바이스에게 송신하는 과정을 포함한다.
도 1은 멀티스크린 서비스를 지원하는 일반적인 방송 시스템의 예를 간략히 나타낸 도면,
도 2는 본 발명의 실시 예에 따라 디바이스들 간에 통신을 수행하는 방송 시스템의 구성을 나타낸 도면,
도 3은 본 발명의 실시 예에 따른 방송 시스템에서 디바이스들 간의 통신을 통해 PD 상태 정보를 송수신하는 방법을 나타낸 도면,
도 4는 본 발명의 실시 예에 따라 PD 상태 정보를 요청하는 방법을 선택하는 절차를 설명하기 위한 도면,
도 5는 본 발명의 실시 예에 따라 WebSocket 프로토콜을 이용한 요청에 대한 PD의 응답을 처리하는 절차를 설명하기 위한 도면,
도 6은 본 발명의 실시 예에 따른 디바이스들 간의 통신을 통해 PD 상태 정보를 송수신하는 동작을 예시한 도면.
하기에서 본 발명의 실시 예들을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
이하 설명될 본 발명의 실시 예는 복수의 디바이스들이 연결되어 있는 방송 시스템에서 멀티스크린 서비스를 제공하는 경우, 방송을 수신하여 재생하고 있는 주 디바이스(예컨대, PD)가 재생 중인 방송 관련 정보를 부 디바이스(예컨대, CD)에게 제공하는 방안을 제안한 것이다. 상기 PD, CD는 디바이스들 간에 통신을 통해 방송 서비스, 방송 콘텐츠의 수신을 위해 필요한 정보, 공공 정보, 또는 방송 프로그램 정보 등(이하, 상기 방송 관련 정보)를 송수신할 수 있는 주 디바이스와 부 디바이스를 통칭하는 의미로 이해될 수 있다. 일 예로 상기 PD는 전술한 것처럼 디지털 TV, STB 등이 될 수 있으며, 상기 CD는 스마트폰, 태블릿 등의 휴대 단말이 될 수 있다. 다른 예로 다수의 디지털 TV들이 PD 또는 CD로 동작할 수도 있으며, 다수의 휴대 단말들이 PD 또는 CD로 동작할 수도 있다. 본 발명의 실시 예에서 CD와 통신을 위한 애플리케이션이 구동되지 않은(또는 제공되지 않은) PD에서 재생중인 방송 서비스 또는 방송 콘텐츠 등에 대한 상기 방송 관련 정보를 CD가 PD에게 직접 요청하고, 그 요청에 따라 PD가 CD에게 상기 방송 관련 정보를 제공하는 구체적인 방안을 제공한다. 본 발명의 실시 예에서는 PD의 애플리케이션의 구동 없이도 CD의 애플리케이션은 PD로부터 상기 방송 관련 정보를 수신하여 사용자에게 PD에서 제공되는 방송 서비스 등을 사용자에게 제공할 수 있다. 본 발명의 실시 예에서 상기 방송 관련 정보는 PD에서 재생중인 방송 서비스 또는 방송 콘텐츠 등에 대한 식별자, 데이터, 재생 정보, 알람 정보 등의 각종 상태 정보이므로 이하 상기 방송 관련 정보를 이하 PD 상태 정보라 칭하기로 한다. 상기 PD 상태 정보는 예컨대, 방송 서비스 또는 콘텐츠의 식별 정보(콘텐츠 ID(CID)), ESG(Electronic Service Guide) 정보, 미디어 데이터, 미디어 타임라인(timeline) 정보, 미디어 재생 정보(playback), 그리고 긴급 알람(Emergency Alert) 정보(emergency alert message : eam) 중 적어도 하나를 포함할 수 있다.
도 2는 본 발명의 실시 예에 따라 디바이스들 간에 통신을 수행하는 방송 시스템의 구성을 나타낸 도면이다.
도 2를 참조하면, PD(210)는 애플리케이션(211), CS 매니저(213), WS(Web Socket) 서버/Web 서버(215), ESG(Electronic Service Guide) 핸들러/미디어 재생부(217)를 포함하며, CD(230)는 PD(210)에게 상기 PD 상태 정보를 요청하여 수신하기 위한 애플리케이션(231)을 포함한다. 상기 CD(230)는 상기 PD 상태 정보를 이용하여 PD(210)에서 재생중인 방송 서비스 또는 방송 콘텐츠 등을 사용자에게 제공할 수 있다. 도 2에서 상기 PD(210)의 구성을 설명하면, 애플리케이션(211)은 방송 서비스 또는 방송 콘텐츠와 연계된 각종 애플리케이션이 될 수 있다. 또한 상기 애플리케이션(211)은 도 1에서 설명한 애플리케이션(111)과 동일한 방식으로 CD(230)와 애플리케이션간 통신을 수행할 수도 있다. 따라서 상기 애플리케이션(211)은 본 발명의 실시 예에서 필수 구성은 아니며, 선택적으로 PD(210)에 포함될 수 있다. 상기 CS 매니저(213)는 PD(210)와 CD(230) 간의 연동을 위한 동작들을 수행한다. 상기 동작들은 CD(230)로부터 수신한 가용한 PD 탐색(discovery) 요청(201)에 대한 응답과, 상기 CD(230)로부터 애플리케이션(211)의 구동(Launch) 요청에 대한 처리, 그리고 본 발명의 실시 예에 따라 CD(230)로부터 WS(Web Socket) 서버/Web 서버(215)를 통해 상기 PD 상태 정보의 요청(203)을 수신한 경우, ESG 핸들러/미디어 재생부(217)로부터 상기 PD 상태 정보를 전달 받아서 CD(230)에게 제공하는 동작 중 적어도 하나를 포함한다.
도 2의 실시 예에서 WS 서버/Web 서버(215)는 CD(230)와 통신을 위한 통신 인터페이스로 이용되며, CS 매니저(213)와 분리된 구성 요소로 도시되어 있으나, 다른 구현 예로 상기 CS 매니저(213)가 WS 서버/Web 서버(215)를 포함하는 것도 가능하다. 상기 WS 서버/Web 서버(215)는 CD(230)와 양방향 통신을 위해 웹소켓(Web Socket) 프로토콜을 이용할 수 있다. 상기 웹소켓(Web Socket) 프로토콜은 WS 서버에서 처리된다. 또한 상기 WS 서버/Web 서버(215)는 HTTP 프로토콜을 이용하여 CD(230)에게 상기 PD 상태 정보를 전송한다. 상기 HTTP 프로토콜은 Web 서버에서 처리된다. 도 2의 ESG 핸들러/미디어 재생부(217)에서 ESG 핸들러는 방송 프로그램에 실려 전송된 ESG를 처리하며, 상기 PD 상태 정보의 제공(205)을 위해, CS 매니저(213)로부터 요청된 적어도 하나의 정보를 상기 CS 매니저(213) 또는 WS 서버/Web 서버(215)로 전달한다. 상기 ESG 핸들러/미디어 재생부(217)에서 미디어 재생부는 방송 프로그램을 재생하며, 상기 PD 상태 정보의 제공(205)을 위해, CS 매니저(213)로부터 요청된 적어도 하나의 정보를 상기 CS 매니저(213) 또는 WS 서버/Web 서버(215)로 전달한다.
도 2에서 예시된 PD(210)와 CD(230)의 구성은 일 구현 예를 기능블록 형태로 나타낸 것이다. 상기 PD(210)는 CS 매니저(213)와 ESG 핸들러/미디어 재생부(217)의 기능을 담당하는 적어도 하나의 프로세서(즉 제어부)와 WS 서버/Web 서버(215)의 기능을 담당하는 통신 인터페이스, 그리고 애플리케이션(211)이 설치되는 저장부를 포함하여 구현될 수 있다. 또한 CD(230)는 애플리케이션(231)이 설치되는 저장부와, PD(210)와 통신을 위한 통신 인터페이스와, 애플리케이션(231)의 구동과 상기 PD 상태 정보의 요청 및 수신을 위한 전반적인 동작을 제어하는 제어부를 포함하여 구현될 수 있다.
한편 도 2의 예에서 WS 서버/Web 서버(215), ESG 핸들러/미디어 재생부(217)는 각각 WS 서버와 Web 서버, 그리고 ESG 핸들러와 미디어 재생부를 하나의 블록으로 함께 도시하였으나, 이는 설명의 편의를 위해 관련 구성 요소들을 하나의 블록으로 도시한 것이다. 상기 WS 서버와 Web 서버는 구분된 블록으로 구현될 수 있으며, 상기 SG 핸들러와 미디어 재생부도 구분된 블록으로 구현될 수 있다.
도 3은 본 발명의 실시 예에 따른 방송 시스템에서 디바이스들 간의 통신을 통해 PD 상태 정보를 송수신하는 방법을 나타낸 도면이다.
도 3을 참조하면, 301 단계에서 사용자의 키 조작 등에 의해 CD(230)의 애플리케이션(231)이 구동되면, 303 단계에서 CD(230)는 네트워크에서 가용한 PD가 존재하는 지 탐색한다. 이 탐색 과정은 일반적으로 SSDP(Simple Service Discovery Protocol)나 DIAL(Discovery and Launch Protocol)을 사용할 수 있으며, 구현하는 방식에 따라 다른 프로토콜이 사용될 수도 있다. PD(210)와 CD(230)는 WiFi, 블루투스, NFC(Near Field Communication) 등의 각종 무선 통신 또는 유선 통신 네트워크에서 통신을 수행할 수 있다. 305 단계에서 PD(210)의 CS 매니저(213)는 CD(230)의 탐색 요청에 응답한다. 이때 PD(210)가 CD(230)에게 그 응답으로 전송하는 정보는 PD(210)에 대한 정보, CD(230)가 PD(210)에게 PD 상태 정보를 요청할 수 있는 서비스 종담점(Service-endpoint)의 정보(예컨대, PD 상태 정보를 수신하는데 이용되는 URL 정보 등) 중 적어도 하나를 포함한다. 상기 서비스 종단점의 정보 제공 방법은 후술하기로 한다.
307 단계에서 CD(230)는 상기 서비스 종단점의 정보를 이용하여 PD(210)에게 PD 상태 정보를 요청한다. 상기 PD 상태 정보의 요청은 HTTP GET Method 또는 Web Socket을 통해 수행될 수 있으며, 상기 PD 상태 정보는 상기한 것처럼 예컨대, 방송 서비스 또는 콘텐츠의 식별 정보(CID), ESG 정보, 미디어 데이터, 미디어 타임라인(timeline) 정보, 미디어 재생 정보(playback), 그리고 긴급 알람(Emergency Alert) 정보(eam) 중 적어도 하나를 포함할 수 있다. 309 단계에서 상기 PD 상태 정보의 요청은 WS 서버/Web 서버(215)에서 수신하여 해당 정보를 처리하는 기능 블록인 ESG 핸들러/미디어 재생부(217)에 전달된다. 상기 해당 정보가 긴급 알람 정보인 경우, 상기 기능 블록은 긴급 알람 정보를 처리하는 긴급 알람 매니저가 될 수 있다. 311 단계에서 ESG 핸들러/미디어 재생부(217) 또는 긴급 알람 매니저에서 처리된 정보는 WS 서버/Web 서버(215)로 전달되고, 313 단계에서 WS 서버/Web 서버(215)는 전달된 정보를 포함하는 PD 상태 정보를 CD(230)에게 전송한다. 또한 상기 PD 상태 정보의 요청 수신, 그리고 상기 PD 상태 정보의 전송을 위한 제어는 CS 매니저(213)에서 수행될 수 있다. 그리고 상기 PD 상태 정보는 미리 정해진 상태 코드와 함께 전송할 수 있다. 상기 상태 코드는 상기 PD 상태 정보에 포함된 각 정보에 대응되게 설정될 수 있다.
이하 본 발명의 실시 예에서 수행되는 가용한 PD의 탐색 및 서비스 종단점 정보의 제공 방법에 대해 구체적으로 설명한다.
1. 먼저 CD(230)의 애플리케이션(231)(이하, CD 애플리케이션)은 다음과 <표 1>과 같은 특정 ST(Search Target) 헤더 정보를 포함한 SSDP 프로토콜을 사용하여 네트워크 내에 가용한 PD의 검색을 요청한다.
M-SEARCH * HTTP/1.1
HOST: 239.255.255.250:1900
MAN: "ssdp:discover"
MX: <seconds to delay response>
ST: urn:dial-multiscreen-org:service:dial:1
2. SSDP 요청을 수신한 PD(210)는 다음 <표 2>와 같이 LOCATION 헤더를 포함한 HTTP/1.1 응답을 전송한다. 이때 LOCATION 헤더에는 PD(210)의 Device Description 파일을 요청할 수 있는 정보가 포함될 수 있다.
HTTP/1.1 200 OK
CACHE-CONTROL: max-age = <seconds until advertisement expires>
EXT:
LOCATION: <URL for UPnP description for root device>
SERVER: <OS/version UPnP/1.0 product/version>
ST: urn:dial-multiscreen-org:service:dial:1
USN: <advertisement UUID>
3. 가용한 PD(210)로부터 응답을 수신한 CD 애플리케이션은 상기 2번 과정에서 수신한 LOCATION 정보로 아래 <표 3>과 같이 PD의 Device description 파일을 요청하는 요청을 보낸다.
GET <path component of the LOCATION URL> HTTP/1.1
4. PD(210)는 Device description 파일과 함께 다음 <표 4>와 같은 Application-URL 헤더를 응답으로 보낸다.
HTTP/1.1 200 OK
CONTENT-LANGUAGE: <language used in description>
CONTENT-LENGTH: <bytes in body>
CONTENT-TYPE: text/xml; charset="utf-8"
Application-URL: http://192.168.1.11.11111/apps
Access-Control-Allow-Origin:*
5. CD 애플리케이션은 상기 4번 과정에서 수신한 Application-URL 정보로 서비스 종단점 정보를 다음 <표 5>와 같이 요청한다. 여기서 Application-URL의 마지막에 붙은 'HbbTV(Hybrid broadcast broadband TV)'는 하나의 실시 예로 본 발명에 따른 구현에 따라 변형될 수 있다.
GET /apps/HbbTV HTTP/1.1
6. PD(210)는 HTTP/1.1 OK 헤더와 함께 다음 <표 6>의 정보를 body로 응답한다. 본 발명에서는 XML(Extensible Markup Language)로 구성하는 예를 제시하였으나, 이 역시 구현에 따라 JSON(JavaScript Object Notation) 등 HTTP 응답의 Body 로 실어 보낼 수 있는 텍스트 기반의 어떠한 포맷도 사용 가능하다. 아래 <표 6>의 예에서 <X_HbbTV_App2AppURL>은 웹소켓 서버의 서비스 종단점을 제공하기 위해 사용되었으며, 나머지 <X_HbbTV_InterDevSyncURL>과 <X_HbbTV_UserAgent> 정보는 구현에 따라 사용하지 않을 수도 있다. 본 발명의 실시 예에서는 두 개 정보(즉 <X_HbbTV_InterDevSyncURL>, <X_HbbTV_UserAgent>)는 사용하지 않는다. 마찬가지로 구현 방식에 따라 추가적인 정보 제공이 필요한 경우 필드를 새로 정의하여 사용할 수 있다.
HTTP/1.1 200 OK

<?xml version="1.0" encoding="UTF-8"?>
<service xmlns="urn:dial?multiscreen?org:schemas:dial" dialVer="1.7">
<name>HbbTV</name>
<options allowStop="false"/>
<state>running</state>
<additionalData>
<X_HbbTV_App2AppURL>URL of App2App communication service endpoint
</X_HbbTV_App2AppURL>
<X_HbbTV_InterDevSyncURL>URL of CSS-CII service endpoint
</X_HbbTV_InterDevSyncURL >
<X_HbbTV_UserAgent>Value of HbbTV Terminal User Agent header
</X_HbbTV_UserAgent>
</additionalData>
</service>
상기한 실시 예에서 설명한 PD의 탐색 및 서비스 종단점 정보 제공 방법에 의해, 상기 4번 과정에서 HTTP GET 요청을 보낼 수 있는 Web 서버의 종단점 정보를, 상기 6번 과정에서 WebSocket 서버의 종단점 정보를 획득할 수 있다.한편 상기 도 3의 307 단계에서 PD 상태 정보 요청에 대해 자세히 설명한다. 상기 PD 상태 정보는 아래 <표 7>의 예시된 정보들 중 적어도 하나를 포함할 수 있다.
상태 정보 상태정보 ID 요청 빈도 양방향성 추천 방법
서비스 및 콘텐츠 ID 정보 cid 낮음 불필요 HTTP
ESG 정보 esg 낮음 불필요 HTTP
미디어 데이터 data 낮음 불필요 HTTP
미디어 타임라인 정보 timeline 높음 필요 WebSocket
미디어 재생 정보 playback 낮음 필요 WebSocket
Emergency Alert 정보 eam 낮음 필요 WebSocket
상기 PD 상태 정보에 포함될 수 있는 각각의 정보는 정보가 요청되는 빈도 및 양방향성 필요에 따라 HTTP GET이나 Web Socket 프로토콜을 사용한 두 가지 방식으로 나누어 요청할 수 있다. <표 1>에서는 이 두 가지 방식에 따라 예시를 하였으나, 다른 방식을 이용하는 것도 가능하다.먼저, HTTP GET에 의한 PD 상태 정보 요청 방법을 설명한다.
HTTP 요청을 보낼 서비스 종단점은 상기 <표 4>에서 획득한 Application-URL 을 사용할 수 있다. 이때 원하는 PD의 상태정보를 구분하기 위해 Application-URL에 상기 <표 7>에서 예시한 상태 정보 ID를 붙여서 보낼 수 있다. 예를 들어, 서비스 및 콘텐츠 ID 정보를 요청하기 위한 HTTP GET 요청의 예는 다음 <표 8>과 같다.
GET /apps/cid HTTP/1.1
이에 대한 PD의 응답은 HTTP 상태코드와 Body에 포함되어 보내질 수 있다.그 응답의 예는 아래 <표 9> 내지 <표 12>와 같으며, HTTP 요청에 대한 PD 상태 정보 응답의 일 구현 예를 나타낸 것이다. <표 9> 내지 <표 12>의 예는 XML로 구성하는 예를 제시하였으나, 이 역시 구현에 따라 JSON등 HTTP 응답의 Body 로 실어 보낼 수 있는 텍스트 기반의 어떠한 포맷도 사용 가능하다. 또한 포함되는 각각의 필드 역시 구현에 따라 달라질 수 있다.
Description Value
deviceID Device ID of
primary device
deviceID
serviceType The type of service contentID, esg, timeline, playback, eam
service The information of current service
esg The information of ESG
timeline The media timeline of
current service
UTC time
playbackState The playback state of
current service
EAM Emergency Alert Message
Description
serviceName Description of service(text)
serviceID Identifier of current service
Description
MPstate PLAYING, PAUSED, STOPPED, FFOWARD, REWIND, BUFFERING, UNKNOWN
MPSpeed Current speed of media state
MediaURL The URL of content providing from the PD
Description
EAMID Identifier of the emergency alert message
SentTimeStamp Timestamp when the EAM generated
ExpiredTimeStamp Timestamp of EAM is valid
Urgency Urgency of EAM
Geo-loc Geographical location for EAM is applicable
EAMContent EAM content
RichEAMURL URL provides additional information about this EAM
상기 <표 10>은 상기 <표 9>에서 "service" 필드에 포함되는 정보의 일 구성 예를 나타낸 것이고, 상기 <표 11>는 상기 <표 9>에서 "playbackState" 필드에 포함되는 정보의 일 구성 예를 나타낸 것이다. 그리고 상기 <표 12>는 상기 <표 9>에서 "EAM" 필드에 포함되는 정보의 일 구성 예를 나타낸 것이다.
상기 <표 9>에서 각각의 필드의 의미는 다음과 같다.
<deviceID>: PD 상태 정보를 전송한 PD의 device ID를 기술한다.
<seviceType>: PD 상태 정보의 종류를 나타낸다. PD 상태 정보에 포함될 수 있는 값으로는 contentID, esg, timeLine, playbackState, EAM 등이 있다.
<service>:현재 PD에서 제공 중인(구동 중인) 서비스의 정보를 포함한다. <service> 의 하위 필드의 구성은 <표 10>과 같다.
<esg>: ESG(Electronic Service Guide) 정보를 나타낸다.
<timeline>: 현재 제공 중인 서비스의 미디어 타임 라인 정보를 포함한다. 상기 타임 라인(timeline) 정보는 UTC(Coordinated Universal Time) Time(즉 국제표준시)으로 기술된다. 이 타임라인 정보는 동일 디바이스 내에서 복수의 서비스 또는, 복수의 디바이스들 간의 서비스 사이에서의 동기화를 위해 사용된다.
<playbackState>: 현재 제공 중인 서비스의 재생상태 정보를 포함한다. <playbackState>의 하위 필드의 구성은 <표 11>와 같다.
<EAM>: Emergency Alert Message를 포함한다. 상기 EAM의 경우, <표 8>이나 <표10>의 CD 응용 프로그램에서 PD로의 요청 과정 없이도 PD로부터 CD 응용프로그램으로의 전송이 가능하다. 상기 <EAM>의 하위 필드의 구성은 <표 12>와 같다.
상기 <표 10>에 포함되는 필드들의 의미는 다음과 같다.
<serviceName>: PD에서 제공 중인 서비스의 이름 (텍스트)을 포함한다.
<serviceID>: PD에서 제공 중인 서비스의 ID를 포함한다.
상기 <표 11>에 포함되는 필드들의 의미는 다음과 같다.
<MPState>: 제공 중인 서비스의 재생상태 정보를 나타낸다. PLAYING, PAUSED, STOPPED, FFOWARD, REWIND, BUFFERING, UNKNOWN의 값을 가질 수 있다.
<MPSpeed>: 제공 중인 서비스의 재생속도를 나타낸다. 정상적인 속도로 재생중일 때는 상수 1을 가지며, FFWOWRD(fast-forward), REWIND 등의 재생 상태일 때는 각각 양의 배수와 음의 배수 값을 취할 수 있다.
<MediaURL>: 제공 중인 서비스의 다른 디바이스로의 재전송을 허용할 시, 이를 재전송해주는 URL을 기술한다.
그리고 상기 <표 12>에 포함되는 필드들의 의미는 다음과 같다.
<EAMID>: Emergency Alert Mesasge의 ID를 나타낸다.
<setnTimeStamp>: EAM이 생성된 시간정보를 포함한다.
<expiredTimeStamp>:EAM이 유효한 시간정보를 포함한다.
<urgency>: EAM의 중요도를 표시한다.
<Geo-loc>: EAM이 적용되는 특정 지역정보가 포함될 경우 이를 나타낸다.
<EAMContent>: EAM 메시지(텍스트)를 포함한다.
<RichEAMURL>: 텍스트 이외의 이미지, 동영상, 음성 등 부가 정보가 제공될 때 이를 접근할 수 있는 URL 정보를 기술한다.
다음으로, WebSocket 프로토콜을 이용한 요청 방법을 설명한다.
WebSocket 요청을 보낼 서비스 종단점의 정보는 상기 <표 6>에서 획득한 <X_HbbTV_App2AppURL>을 사용할 수 있다. 상기 WebSocket은 양방향 통신을 지원하며, 어떠한 이의 payload format으로 어떠한 형식도 허용하기 때문에, 본 발명의 실시 예에서는 다음과 같은 XML payload 형태를 제안한다. 하지만, 앞서 설명한 것처럼 구현에 따라 XML 뿐 아니라 JSON등 WebSocket 프로토콜이 지원하는 어떠한 형태도 사용 가능하며, 필드 역시 필요에 따라 얼마든지 추가나 삭제가 가능하다. 아래 <표 13>은 웹소켓에 의한 서비스 및 콘테츠 ID 정보 요청의 일 예를 나타낸 것이다.
<?xml version="1.0" encoding="UTF-8"?>
<GetStatusInfo>
<statusID>cid</statusID>
<command>subscribe</command>
<duration>-1</duration>
</serviceInfo>
상기 <표 13>에서 <statusID>필드는 특정 정보를 요청하기 위한 용도로 사용되었으며, 상기 예의 경우 구체적으로 서비스 및 콘텐츠 ID 정보를 요청하기 위한 방법을 예시하였다. 해당 필드가 생략되면, 모든 상태 정보의 업데이트를 요청하는 것으로 처리되어 PD에서 상태정보의 변화가 있을 때마다 CD에 제공하는 것도 가능하다.상기 <표 13>에서 command 필드는 해당 정보의 요청 및/또는 취소를 나타낸 것이다. CD 애플리케이션은 PD에게 PD 상태 정보(예컨대, <statusID>로 기술된 정보)에 업데이트가 있을 경우, 그 업데이트된 정보의 전송을 PD에게 요청할 수 있다. 이러한 요청은 command 필드에서 아래 <표 14>와 같이 subscribe에 기술되고, 기존 요청을 갱신하고 싶을 때는 renew를, 취소하고 싶을 때는 cancel을 기술한다. 각각의 의미는 아래 <표 14>의 예시와 같다.
Command 값 의미
subscribe PD에 <statusID>로 기술된 정보에 업데이트가 있을 경우, 그 업데이트된 정보의 전송을 PD에게 요청한다. 디폴트 값으로 값이 지정되어 있지 않을때는 subscribe로 판단한다.
renew 업데이트 요청을 갱신한다.
cancel 업데이트 요청을 취소한다.
상기 <표 13>에서 duration 필드는 해당 정보의 요청이 지속되는 시간을 나타낸다. PD는 상기 duration 필드에 기술되어 있는 시간 동안만 해당 정보의 업데이트를 보내준다. CD 애플리케이션에서 취소 요청을 보낼 때까지 정보를 계속 받고자 할 때는 infinite(또는 -1)을 보내주면 된다. 상기 duration 필드가 기술되어 있지 않을 때 역시 infinite로 판단할 수 있다.그리고 PD는 상기 WebSocket 프로토콜을 이용한 CD 응용프로그램의 PD 상태 정보 업데이트 요청을 수신하면, 상기 PD 상태 정보 업데이트 요청에 대한 처리 결과를 CD 응용프로그램에 알려줄 수 있다. 여기서 상기 PD 상태 정보 업데이트 요청은 PD에서 업데이트된 PD 상태 정보가 있을 경우, PD에게 업데이트된 PD 상태 정보의 전송을 요청하는 것으로 이해될 수 있다.그리고 만약 PD가 CD로부터 PD 상태 정보 업데이트 요청을 수신한 시점에 업데이트된 PD 상태 정보가 없을 경우, 상기 PD 상태 정보 업데이트 요청에 대한 상기 처리 결과는 PD가 상기 PD 상태 정보 업데이트 요청을 수신하였음을 CD에게 알리는 일종의 확인 응답으로 이해될 수 있다.
아래 <표 15>는 PD가 웹 소켓에 의한 서비스 및 콘텐츠 ID 정보 요청을 수신한 경우, CD 응용프로그램에게 전송하는 처리 결과의 일 예를 나타낸 것이다. 상기 처리 결과는 상기 <표 7>에서 예시한 PD 상태 정보 중 적어도 하나에 대해 전송될 수 있다.
<?xml version="1.0" encoding="UTF-8"?>
<AckStatusInfo>
<statusID>cid</statusID>
<responseCode>200</responseCode>
<ack>subscribeAck</ack>
<duration>1000</duration>
</serviceInfo>
상기 <표 15>에서 <statusID> 필드는 상기 <표 13>에서 웹소켓에 의한 서비스 및 콘테츠 ID 정보 요청에 대한 처리 결과의 일 예를 나타낸 것이다.상기 <표 15>에서 <responseCode>는 상기 <표 13>에서 서비스 및 콘테츠 ID 정보 요청에 대한 결과를 나타낸다. 상기 <responseCode>는 일반적인 HTTP에서 Status code와 동일한 의미를 사용될 수 있으며, 상기 <표 15>의 예에서는 "200", 즉 상기 서비스 및 콘테츠 ID 정보 요청이 성공적으로 처리되었음을 나타낸다. 만약 상기 서비스 및 콘테츠 ID 정보 요청이 어떠한 이유로 거부된 경우, 예컨대, 400 번대 Status code를 전송할 수 있다.상기 <표 15>에서 <ack>는 상기 <표 13>에서 어떤 요청에 대한 ACK인지를 나타낸다. 예에서는 subscribe 요청에 대한 ACK임을 나타내며, 각각의 의미는 아래 <표 16>의 예시와 같다.
상기 <표 15>에서 duration 필드는 상기 <표 13>에서 서비스 및 콘테츠 ID 정보 요청에 따라 PD에서 해당 정보의 업데이트를 전송할 시간을 CD 응용프로그램에 알려준다. 즉, 예에서 CD 응용프로그램은 업데이트의 지속시간을 예컨대, infinite로 요청하였으나 PD는 이에 대해 그 업데이트의 지속시간을 예컨대, 1000초로 결정하여 전송할 수 있다. 일 동작 예로 상기 업데이트의 지속시간 내에 상기 서비스 및 콘테츠 ID 정보의 업데이트가 있는 경우, PD는 CD에게 업데이트된 서비스 및 콘테츠 ID 정보를 전송할 수 있다.
ack 의미
subscribeAck 업데이트 요청에 대한 처리 결과임을 나타낸다.
renewAck 갱신 요청에 대한 처리 결과임을 나타낸다.
cancelAck 취소 요청에 대한 처리 결과임을 나타낸다.
상기 <표 16>에서 ack는 상기 <표 14>의 command 값과 1:1로 매핑된다. 따라서 경우에 따라서는 별도의 <ack> 필드를 사용하는 대신 <표 14>의 command 필드를 공동으로 사용하고 이의 값만 상기 <표 16>에서 정의한 값을 사용할 수도 있다.상기 WebSocket 프로토콜을 이용한 PD 상태 정보 요청에 대한 PD의 상태 정보 업데이트 역시 상기한 <표 9> 내지 <표 16>에 기술한 포맷에 의해 기술할 수 있다. 도 5는 본 발명의 실시 예에 따라 WebSocket 프로토콜을 이용한 요청에 대한 PD의 응답을 처리하는 절차를 설명하기 위한 도면으로서, 도 5의 절차는 PD에서 이벤트(예를 들어 PD 상태 정보의 업데이트)가 발생했을 때, 수행될 수 있다.
도 5를 참조하면, 501 단계에서 PD는 먼저 CD 응용프로그램으로부터 WebSocket 프로토콜을 통해 PD 상태 정보의 요청을 수신한다. 이때 수신하는 값은 위에서 설명한 상기 <표 13>의 예와 같다.
다음으로 503 단계에서, PD는 상기 수신한 WebSocket 프로토콜을 이용한 요청의 <command> 필드를 분석하여, 이 <command> 필드 값이 subscribe이면, 505 단계에서 PD에서 발생한 이벤트가 있을 시 이 WebSocket 연결에 이벤트를 전송할 수 있도록 가입(등록)한다. 그리고 상기 503 단계에서 <command> 필드 값이 cancel이면 PD는 해당 이벤트에 대한 가입을 취소하는 요청인 것으로 판단하여 507 단계에서 상기 가입을 취소하고 응답 절차를 종료한다.
상기 505 단계에서 PD는 요청한 이벤트를 등록하고, 509 단계에서 등록이 성공하면(받아들여지면), 513 단계에서 이에 대한 처리 결과를 CD 응용프로그램으로 전송한다. 한편 상기 509 단계에서 어떠한 이유에서 등록이 실패하였을 경우에도 마찬가지로 511 단계에서 이에 대한 처리결과를 CD 응용프로그램으로 전송하고, 응답 절차를 종료한다. 한편 상기 505 단계에서 요청한 이벤트 등록이 완료된 후, 515 단계에서 PD의 상태 정보의 업데이트(이벤트)가 발생하면, 517 단계에서 PD는 상기 501 단계에서 상기 수신한 요청의 <statusID> 필드를 분석하여 해당 PD 상태 정보의 요청이 수신되었는지 판단한다. 만약 해당 PD 상태 정보의 요청이 수신되지 않았다면 CD 응용프로그램으로 해당 이벤트를 전송할 필요가 없으므로 523 단계에서 이 이벤트는 무시되고 응답 절차는 종료된다.
한편 상기 517 단계에서 판단 결과 상기 <statusID> 필드에 해당 PD 상태 정보의 요청이 포함되어 있을 경우, 519 단계로 이동하여 <duration> 필드에 기술된 요청 시간이 유효한지 판단한다. 만약 상기 <duration> 필드에 기술된 시간이 경과되어 그 PD 상태 정보의 요청이 유효하지 않다면 마찬가지로 해당 이벤트를 CD 응용프로그램으로 전송할 필요가 없기 때문에 523 단계로 진행하여 해당 이벤트는 무시되고 응답 절차는 종료된다. 그리고 상기 519 단계에서 <duration> 필드에 기술된 요청 시간이 유효하다면 521 단계로 진행하여 PD는 웹 소켓을 이용하여 해당 이벤트를 CD 응용프로그램으로 전송한다.
도 4는 본 발명의 실시 예에 따라 PD 상태 정보를 요청하는 방법을 선택하는 절차를 설명하기 위한 도면이다.
도 4를 참조하면, 401 단계에서 먼저 PD 상태 정보가 요청 빈도가 높은지 여부를 판단한다. PD 상태 정보의 요청 빈도가 낮은 경우 비교적 요청에 대한 비용이 적게 드는 HTTP를 사용하는 것이 좋으며, 요청이 빈번할 경우 요청이 발생할 때 마다 HTTP 요청을 하는 것보다는 한번 연결이 수행되면 해당 채널을 계속해서 유지하고 이를 통해 데이터를 전송할 수 있는 웹소켓을 사용하는 것이 비용측면에서 유리하다. 따라서 요청이 빈번할 때는 웹소켓을 사용하는 것이 좋다.
다음으로 403 단계에서 양방향성이 필요한지 판단한다. 양방향성이란, CD 애플리케이션에서 일방적으로 PD로 정보요청을 요청하는 것인지, PD에서 상태의 변화가 발생했을 때 CD 애플리케이션의 요청없이도 CD 애플리케이션으로 정보를 보낼 수 있는지를 말한다. 웹소켓은 양방향 통신을 지원하기 때문에 양방향 통신이 필요할 경우는 웹소켓을 사용하는 것이 좋다.
마지막으로 405 단계에서 바이너리 데이터의 전송이 필요한지를 판단한다. HTTP도 바이너리를 전송할 수 있지만, 웹소켓의 경우 양방향으로 전송되는 데이터에 제한이 없기 때문에 바이너리 전송에 보다 적합하다.
그리고 상기한 401 단계 내지 405 단계의 판단에 따라 407 단계에서 HTTP를 사용하여 PD 상태 정보를 요청하거나, 409 단계에서 웹 소켓을 사용하여 PD 상태 정보를 요청할 수 있다.
상기한 도 4의 방법을 사용하는 PD 상태 정보의 전송 방법을 판단해 보면 다음과 같다.
서비스 및 콘텐츠 ID 정보의 경우, 일반적으로 CD 애플리케이션이 최초 구동될 때 요청하는 것으로 충분하다. 따라서 요청 빈도가 낮다고 판단할 수 있고, 정보 또한 최초 CD 애플리케이션의 요청시 보내주는 것으로 충분하기 때문에 양방향성이 필요없다. 또한 서비스 정보는 일반적으로 XML이나 JSON같은 텍스트 정보로 기술 할 수 있기 때문에 도 4의 흐름도에 적용해 보면 HTTP를 사용하는 것으로 충분하다.
다음으로 미디어 타임라인 정보의 경우, PD에서의 미디어 재생이 진행될 때마다 정보의 업데이트가 빈번하기 때문에 웹소켓을 사용하는 것이 좋다.
미디어 재생 정보의 경우, 현재 PD에서 재생중인 미디어의 상태(재생 중인지, 중단되었는지, FF 중인지 등)를 나타내는데 위의 미디어 타임라인 정보에 비하면 요청 빈도가 상대적으로 낮다. 하지만, 미디어의 재생 상태가 변경되었을 때 (예를 들어, 재생에서 중단으로) 이를 CD 애플리케이션에 알려야 할 필요가 있기 때문에 양방향 통신이 필요하다. 따라서 이 경우 웹소켓을 사용하는 것이 좋다.
긴급 알람 정보의 경우에도 일반적으로 해당 정보가 발생할 가능성은 낮지만, PD가 해당 정보를 수신하는 경우, CD 애플리케이션에 반드시 정보를 전달해야 한다. 따라서 양방향성이 반드시 필요하며 이 경우 웹소켓 사용이 추천된다.
본 발명의 실시 예에 의하면, 도 6의 예와 같이 서비스 제공자(601, 603)로부터 방송망 또는 광대역 네트워크(61, 63)를 통해 복수의 디바이스들(611, 613)로 방송 서비스 또는 방송 콘텐츠가 제공되는 환경에서 멀티스크린 서비스를 이용하는 경우, CD 애플리케이션에서 PD 상태 정보를 요청(65)하고 수신(67)할 수 있는 방법을 제공함으로써, PD 애플리케이션이 없어도 CD 애플리케이션을 사용해 PD와 연동시킬 수 있다. 또한 기존의 컴페니온 스크린 구조와 프로토콜을 활용하여 PD의 상태 정보를 수신할 수 있는 방법을 제공함으로써 추가적인 구성과 비용이 발생하지 않는다.

Claims (10)

  1. 방송 시스템의 제1 디바이스에 있어서,
    송수신기; 및
    상기 송수신기에 연결된 제어부를 포함하며, 상기 제어부는:
    제1 디바이스의 어플리케이션이, 제2 디바이스의 탐색(discovery)을 위한 요청을 전송하고 -상기 제1 디바이스는 상기 제2 디바이스와 통신하기 위한 컴패니언 디바이스(companion device)이고, 상기 제2 디바이스는 네트워크를 통해 방송 서비스 또는 컨텐트 중 적어도 하나를 수신하기 위한 프라이머리 디바이스(primary device)인-,
    상기 제1 디바이스의 상기 어플리케이션이, 상기 제2 디바이스의 컴패니언 디바이스 관련 매니저로부터 상기 제2 디바이스의 탐색을 위한 요청에 대응하는 응답을 수신하고,
    상기 제1 디바이스의 상기 어플리케이션이, 상기 제2 디바이스의 웹 소켓 서버의 제2 서비스 엔드포인트 정보를 획득하고 -상기 제2 디바이스의 웹 서버의 제1 서비스 엔드포인트 정보는 상기 제2 디바이스의 상기 웹 소켓 서버의 상기 제2 서비스 엔드포인트 정보를 획득하기 위해 사용됨-,
    상기 제1 디바이스의 상기 어플리케이션이, 요청 될 제1 정보의 타입을 식별하고,
    상기 제1 정보의 타입이 미디어 재생 관련 정보 타입인 경우, 상기 제1 디바이스의 어플리케이션이, 상기 웹 소켓 서버의 상기 제2 서비스 엔드포인트 정보를 이용하여, 미디어 재생 관련 정보를 요청하기 위한 요청 메시지를 상기 제2 디바이스로 전송하고, 그리고
    상기 제1 디바이스의 어플리케이션이, 상기 제2 디바이스로부터 상기 제2 서비스 엔드포인트 정보를 이용하여 설정된 웹 소켓 연결을 통해 상기 미디어 재생 관련 정보를 포함하는 응답 메시지를 수신하는 것을 제어하도록 구성되며,
    상기 미디어 재생 관련 정보는 현재(current) 미디어 재생의 상태를 지시하는 재생 상태 정보 또는 상기 현재 미디어 재생의 속도(speed)를 지시하는 재생 속도 정보 중 적어도 하나를 포함하는, 제1 디바이스.
  2. 제 1 항에 있어서, 상기 제어부는:
    상기 제1 정보의 타입이 서비스 정보 타입 또는 전자 서비스 가이드(ESG) 정보 타입인 경우, 상기 제1 디바이스의 어플리케이션이, 상기 웹 서버의 상기 제1 서비스 엔드포인트 정보를 이용하여, 서비스 정보 또는 ESG 정보를 요청하기 위한 요청 메시지를 상기 제2 디바이스로 전송하고; 그리고
    상기 제1 디바이스의 어플리케이션이, 상기 제2 디바이스로부터 상기 서비스 정보 또는 상기 ESG 정보를 포함하는 응답 메시지를 수신하는 것을 제어하도록 더 구성되는, 제1 디바이스.
  3. 제2 항에 있어서,
    상기 서비스 정보는 현재 서비스의 식별자를 지시하는 서비스 식별자 정보를 포함하는, 제1 디바이스.
  4. 제 1 항에 있어서,
    상기 웹 소켓 연결은 상기 제1 디바이스와 상기 제2 디바이스 간의 애플리케이션간(app-to-app) 통신을 이용하지 않고 설정되는, 제1 디바이스.
  5. 제 1 항에 있어서,
    상기 제1 정보는 상기 방송 서비스 또는 상기 컨텐트의 접속을 위한 주소 정보를 포함하는, 제1 디바이스.
  6. 방송 시스템의 제2 디바이스에 있어서,
    송수신기; 및
    상기 송수신기에 연결된 제어부를 포함하며, 상기 제어부는:
    제2 디바이스의 컴패니언 디바이스(companion device) 관련 매니저가, 제1 디바이스의 어플리케이션로부터, 제2 디바이스의 탐색(discovery)을 위한 요청을 수신하고 -상기 제1 디바이스는 상기 제2 디바이스와 통신하기 위한 컴패니언 디바이스이고, 상기 제2 디바이스는 네트워크를 통해 방송 서비스 또는 컨텐트 중 적어도 하나를 수신하기 위한 프라이머리 디바이스(primary device)인-,
    상기 제2 디바이스의 컴패니언 디바이스 관련 매니저가, 상기 제1 디바이스로, 상기 제2 디바이스의 탐색을 위한 요청에 대응하는 응답을 전송하고,
    상기 제1 디바이스로부터 요청되는 제1 정보의 타입이 미디어 재생 관련 정보 타입인 경우, 제2 디바이스의 웹 소켓 서버의 제2 서비스 엔드포인트 정보를 통해, 미디어 재생 관련 정보를 요청하기 위한 요청 메시지를 상기 제2 디바이스의 어플리케이션으로부터 수신하고 -상기 제2 디바이스의 상기 웹 소켓 서버의 제2 서비스 엔드포인트 정보는 상기 제2 디바이스의 컴패니언 디바이스 관련 매니저에 의해 상기 제1 디바이스의 상기 어플리케이션으로 제공되고, 상기 제2 디바이스의 웹 서버의 제1 서비스 엔드포인트 정보는 상기 제2 디바이스의 상기 웹 소켓 서버의 상기 제2 서비스 엔드포인트 정보를 획득하기 위해 사용됨-, 그리고
    상기 제2 서비스 엔드포인트 정보를 이용하여 설정된 웹 소켓 연결을 통해, 상기 제1 디바이스의 어플리케이션으로, 상기 미디어 재생 관련 정보를 포함하는 응답 메시지를 전송하는 것을 제어하도록 구성되며,
    상기 미디어 재생 관련 정보는 현재(current) 미디어 재생의 상태를 지시하는 재생 상태 정보 또는 상기 현재 미디어 재생의 속도(speed)를 지시하는 재생 속도 정보 중 적어도 하나를 포함하는, 제2 디바이스.
  7. 제 6 항에 있어서, 상기 제어부는:
    상기 제1 정보의 타입이 서비스 정보 타입 또는 전자 서비스 가이드(ESG) 정보 타입인 경우, 상기 제1 디바이스의 어플리케이션으로부터, 상기 웹 서버의 상기 제1 서비스 엔드포인트 정보를 통해, 서비스 정보 또는 ESG 정보를 요청하기 위한 요청 메시지를 수신하고, 그리고
    상기 제1 디바이스의 어플리케이션으로, 상기 서비스 정보 또는 상기 ESG 정보를 포함하는 응답 메시지를 전송하는 것을 제어하도록 더 구성되는, 제2 디바이스.
  8. 제7항에 있어서,
    상기 서비스 정보는 현재 서비스의 식별자를 지시하는 서비스 식별자 정보를 포함하는, 제2 디바이스.
  9. 제 6 항에 있어서,
    상기 웹 소켓 연결은 상기 제1 디바이스와 상기 제2 디바이스 간의 애플리케이션간(app-to-app) 통신을 이용하지 않고 설정되는, 제2 디바이스.
  10. 제 6 항에 있어서,
    상기 제1 정보는 상기 방송 서비스 또는 상기 컨텐트의 접속을 위한 주소 정보를 포함하는, 제2 디바이스.
KR1020220075709A 2015-04-01 2022-06-21 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치 KR102505302B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20150046455 2015-04-01
KR1020150046455 2015-04-01
KR1020150073340 2015-05-26
KR20150073340 2015-05-26
KR1020210168722A KR102413177B1 (ko) 2015-04-01 2021-11-30 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020210168722A Division KR102413177B1 (ko) 2015-04-01 2021-11-30 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220092830A KR20220092830A (ko) 2022-07-04
KR102505302B1 true KR102505302B1 (ko) 2023-03-06

Family

ID=57162098

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020150080209A KR102335007B1 (ko) 2015-04-01 2015-06-05 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치
KR1020210168722A KR102413177B1 (ko) 2015-04-01 2021-11-30 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치
KR1020220075709A KR102505302B1 (ko) 2015-04-01 2022-06-21 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020150080209A KR102335007B1 (ko) 2015-04-01 2015-06-05 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치
KR1020210168722A KR102413177B1 (ko) 2015-04-01 2021-11-30 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치

Country Status (5)

Country Link
US (2) US11159844B2 (ko)
EP (1) EP3280148B1 (ko)
JP (1) JP6728218B2 (ko)
KR (3) KR102335007B1 (ko)
CN (3) CN107431843B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016189870A1 (en) * 2015-05-26 2016-12-01 Sharp Kabushiki Kaisha Message Protocol Sequence for Primary Device and Companion Device Communication
US11652894B2 (en) * 2020-09-08 2023-05-16 Arris Enterprises Llc Device capability over dial

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015041488A1 (ko) 2013-09-23 2015-03-26 삼성전자 주식회사 기기 별 응용 프로그램간 통신을 위한 장치 및 방법

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915525B2 (en) * 2000-04-14 2005-07-05 Sony Corporation Method and apparatus for controlling set-top box hardware and software functions
KR100978277B1 (ko) * 2005-11-07 2010-08-26 삼성전자주식회사 휴대 방송 시스템에서 서비스 가이드 생성을 위한 공급 정보 전달 방법과 통지 이벤트/통지 메시지 전달 방법 및 시스템
JP2007272868A (ja) * 2006-03-07 2007-10-18 Sony Corp 情報処理装置、情報通信システム、および情報処理方法、並びにコンピュータ・プログラム
KR100770831B1 (ko) * 2006-09-20 2007-10-26 삼성전자주식회사 부분 방송가이드정보 구성 장치 및 방법
KR20090076765A (ko) * 2008-01-09 2009-07-13 삼성전자주식회사 방송 모바일 통합 서비스 시스템에서의 전자 서비스 가이드발견 방법 및 장치
WO2009139465A1 (ja) 2008-05-16 2009-11-19 日本電気株式会社 通信装置、通信方法および通信制御プログラム
US8180891B1 (en) * 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
KR20100127162A (ko) 2009-05-25 2010-12-03 엘지전자 주식회사 단말 내에서 브로드캐스트 서비스를 통해 관련된 콘텐츠를 검색하고 주문하는 방법 및 장치
US20110239253A1 (en) * 2010-03-10 2011-09-29 West R Michael Peters Customizable user interaction with internet-delivered television programming
US8738783B2 (en) 2010-06-22 2014-05-27 Microsoft Corporation System for interaction of paired devices
FR2962284A1 (fr) * 2010-06-30 2012-01-06 France Telecom Procede, dispositif et systeme de gestion de sessions de communication
JP5970160B2 (ja) * 2011-01-31 2016-08-17 日本放送協会 受信装置、送信装置、放送システム及びプログラム
JP2013066159A (ja) 2011-08-26 2013-04-11 Nippon Hoso Kyokai <Nhk> 受信機
WO2013031556A1 (ja) * 2011-08-26 2013-03-07 日本放送協会 受信機および受信方法
GB2495088B (en) * 2011-09-27 2013-11-13 Andrew William Deeley Interactive system
WO2013052490A2 (en) * 2011-10-04 2013-04-11 Google Inc. System and method for obtaining video streams
EP2771770A4 (en) * 2011-10-28 2015-04-29 Thomson Licensing METHOD FOR POSITIONING VIRTUAL MOUSE CURSOR OF REMOTE USER INTERFACE BASED ON INTERNET BROWSER
KR20130053650A (ko) 2011-11-15 2013-05-24 삼성전자주식회사 디바이스간 직접 통신 서비스 시스템에서 데이터 송신 방법 및 장치
JP2013143616A (ja) 2012-01-10 2013-07-22 Nec Access Technica Ltd 無線通信端末、情報提供媒体、アクセスポイント、無線通信方法およびプログラム
US20140053182A1 (en) * 2012-08-20 2014-02-20 Veiko Jääger Method and system for evaluating and sharing media
JP2014072600A (ja) * 2012-09-28 2014-04-21 Brother Ind Ltd 会議サーバ、通信方法、コンピュータプログラム及び遠隔会議システム
CN103001959B (zh) * 2012-11-29 2015-04-15 东软集团股份有限公司 家庭间设备发现方法和系统
KR101413246B1 (ko) 2013-03-08 2014-08-06 주식회사 엘지유플러스 콘텐츠 가이드 송수신 방법, 이를 위한 장치 및 기록 매체
JP6109617B2 (ja) * 2013-03-26 2017-04-05 株式会社東芝 情報出力装置、情報操作装置、およびプログラム
US9173000B2 (en) * 2013-04-12 2015-10-27 Sony Corporation Automatic discovery and mirroring of server-client remote user interface (RUI) session on a companion device and synchronously controlling both sessions using RUI on companion device
KR102069547B1 (ko) * 2013-04-19 2020-01-28 삼성전자주식회사 방송 통신 시스템에서 부가 정보를 송수신하는 방법 및 장치
CN103414746B (zh) * 2013-07-05 2017-04-12 深圳市天朗时代科技有限公司 一种跨平台网络交互的实现方法及其识读器和网络服务器
WO2015030412A1 (ko) * 2013-08-28 2015-03-05 엘지전자 주식회사 신호 송신 장치 및 제어 방법
WO2015041494A1 (ko) 2013-09-23 2015-03-26 삼성전자 주식회사 무선 통신 시스템에서 어플리케이션 실행 방법 및 장치
CN103491179B (zh) * 2013-09-27 2017-01-18 百视通网络电视技术发展有限责任公司 基于Web的多屏互动方法及系统
EP3068139B1 (en) * 2013-11-04 2020-09-23 LG Electronics Inc. Electronic device and method for controlling electronic device
KR101881532B1 (ko) * 2013-11-13 2018-07-24 엘지전자 주식회사 네트워크로 연결된 방송 수신 장치와 다른 디바이스 간 연결을 관리하는 방법 및 장치
CN103702238B (zh) * 2013-12-23 2017-11-28 华为终端有限公司 一种多屏视频共享方法及终端、服务器
US10554745B2 (en) * 2014-01-14 2020-02-04 Lg Electronics Inc. Method and apparatus for managing connection between broadcasting reception device and another device which are connected through network
EP2986011A1 (en) * 2014-08-11 2016-02-17 OpenTV, Inc. Method and system to create interactivity between a main reception device and at least one secondary device
CN106797262A (zh) * 2014-10-21 2017-05-31 夏普株式会社 具有伴随设备和主设备的系统
EP3214774A4 (en) * 2014-10-29 2018-05-02 LG Electronics Inc. Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015041488A1 (ko) 2013-09-23 2015-03-26 삼성전자 주식회사 기기 별 응용 프로그램간 통신을 위한 장치 및 방법

Also Published As

Publication number Publication date
KR20220092830A (ko) 2022-07-04
CN107431843A (zh) 2017-12-01
KR20210148065A (ko) 2021-12-07
US11606601B2 (en) 2023-03-14
KR102413177B1 (ko) 2022-06-27
JP2018516478A (ja) 2018-06-21
CN114501118A (zh) 2022-05-13
KR20160118115A (ko) 2016-10-11
CN107431843B (zh) 2022-03-15
US11159844B2 (en) 2021-10-26
EP3280148B1 (en) 2023-05-03
JP6728218B2 (ja) 2020-07-22
KR102335007B1 (ko) 2021-12-06
US20180249202A1 (en) 2018-08-30
EP3280148A1 (en) 2018-02-07
EP3280148A4 (en) 2018-05-16
CN114501118B (zh) 2023-04-07
US20220046317A1 (en) 2022-02-10
CN114513696B (zh) 2023-04-11
CN114513696A (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
KR102505302B1 (ko) 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치
US10382154B2 (en) Companion device and primary device
US10425454B2 (en) Device and method for transferring the rendering of multimedia content
US11799683B2 (en) Communication, monitoring and control architecture and method
US20170244992A1 (en) Media playback communication
US20190014370A1 (en) Method forplaying back a plurality of media titles, adapted media source device, media player device, media delegation device and configurable and adapted computer program
US20180027301A1 (en) Methods for media playback state information exchange
US20190098351A1 (en) Method for managing the access right to an item of digital content
US20200021879A1 (en) Information processing method, and display apparatus
CN101022354A (zh) 在upnp网络中提供广播内容的方法和设备
CA3027027A1 (en) Current service information
US9900644B2 (en) Device and method for processing an object which provides additional service in connection with a broadcast service in a broadcast receiving device
WO2016159727A1 (ko) 멀티미디어 시스템에서 디바이스들 간에 통신 방법 및 장치
JP2015115793A (ja) デジタル放送受信装置、実行方法及び記録媒体
JP2021002861A (ja) 表示装置

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right