KR20230126108A - 채팅룸 서비스를 제공하는 전자 장치 및 그 동작 방법 - Google Patents

채팅룸 서비스를 제공하는 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20230126108A
KR20230126108A KR1020220023208A KR20220023208A KR20230126108A KR 20230126108 A KR20230126108 A KR 20230126108A KR 1020220023208 A KR1020220023208 A KR 1020220023208A KR 20220023208 A KR20220023208 A KR 20220023208A KR 20230126108 A KR20230126108 A KR 20230126108A
Authority
KR
South Korea
Prior art keywords
chat room
electronic device
program
server
information
Prior art date
Application number
KR1020220023208A
Other languages
English (en)
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 삼성전자주식회사
Priority to KR1020220023208A priority Critical patent/KR20230126108A/ko
Priority to PCT/KR2023/002524 priority patent/WO2023163501A1/ko
Priority to US18/132,726 priority patent/US20230269207A1/en
Publication of KR20230126108A publication Critical patent/KR20230126108A/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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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/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/482End-user interface for program selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

실시예들에 따라, 전자 장치 및 그 동작 방법이 개시된다. 개시된 전자 장치는, 통신 인터페이스; 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 컨텐츠를 표시하도록 제어하고, 표시된 상기 컨텐츠의 프로그램 인식을 수행하고, 상기 인식된 컨텐츠의 프로그램 ID를 이용하여 서버에 상기 프로그램 ID에 대응하는 채팅룸 정보를 요청하고, 상기 요청에 대응하여 상기 서버로부터 상기 채팅룸 정보를 획득함에 따라, 상기 컨텐츠를 표시하는 동안, 상기 획득된 채팅룸 정보에 기반하여 상기 채팅룸 실행 여부를 문의하는 사용자 인터페이스를 출력한다.

Description

채팅룸 서비스를 제공하는 전자 장치 및 그 동작 방법 {An electronic apparatus for providing a chatting room service and a method for operating the electronic apparatus}
다양한 실시예들은 전자 장치 및 그 동작 방법에 관한 것으로, 보다 구체적으로는, 컨텐츠를 표시하는 동안 채팅룸 서비스를 제공하는 전자 장치 및 그 동작 방법에 관한 것이다.
TV와 같은 디스플레이 장치에서 시청 가능한 라이브(Live) 프로그램은 현재 RF 망이나 셋탑박스 등을 통해 제공되고 있다. 사용자가 자신이 보고 있는 프로그램을 다른 사람과 함께 보면서 의견을 공유하고 싶어 하는 니즈는 다양한 사용자에서 꾸준하게 있어 왔다. 현재까지는 이를 서비스하기 위해 라이브 프로그램을 시청하는 기기와는 무관한, 별도의 기기를 사용하고 각각의 서비스 업체들이 제공하는 채팅 어플리케이션이나 브라우저 등을 통해 제공되고 있다. 따라서, 결국 사용자는 라이브 프로그램을 시청하면서 의견을 공유하는 채팅 등의 서비스를 사용하기 위해서는 라이브 프로그램을 볼 수 있는 TV 등의 기기도 원하는 채널로 직접 설정해야 하고, 의견을 교환하기 위한 기능을 가지는 서비스 앱이나 브라우저등을 직접 실행하고 해당 위치를 찾아 접속해야 하는 번거로움이 존재했다.
다양한 실시예들은, 라이브 컨텐츠를 보는 동안 해당 라이브 컨텐츠에 대응하는 채팅룸을 간편하고 편리하게 이용하는 것을 가능하게 하는 전자 장치 및 그 동작 방법을 제공하는 것을 목적으로 한다.
일 실시예에 따른 전자 장치는, 통신 인터페이스; 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 컨텐츠를 표시하도록 제어하고, 표시된 상기 컨텐츠의 프로그램 인식을 수행하고, 상기 인식된 컨텐츠의 프로그램 ID를 이용하여 서버에 상기 프로그램 ID에 대응하는 채팅룸 정보를 요청하고, 상기 요청에 대응하여 상기 서버로부터 상기 채팅룸 정보를 획득함에 따라, 상기 컨텐츠를 표시하는 동안, 상기 획득된 채팅룸 정보에 기반하여 상기 채팅룸 실행 여부를 문의하는 사용자 인터페이스를 출력한다.
일 실시예에 따라 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 채팅룸 실행 여부를 문의하는 사용자 인터페이스에 대응하여 상기 채팅룸 실행을 요청하는 사용자 입력을 수신하고, 상기 사용자 입력에 따라 상기 채팅룸에 조인 요청을 상기 서버로 전송하고, 상기 서버로부터 상기 채팅룸에 조인 응답을 수신할 수 있다.
일 실시예에 따라 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 조인 응답에 포함된 엔드포인트를 참조하여 상기 채팅룸 서비스를 제공하는 채팅룸 서버에 통신 연결을 수행할 수 있다.
일 실시예에 따라 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 요청에 대응하여 상기 서버로부터 상기 채팅룸 정보를 획득하는데 실패함에 따라, 상기 서버로 상기 프로그램 ID에 대응하는 채팅룸 생성을 요청하고, 상기 요청에 대응하여 상기 서버로부터 상기 생성된 채팅룸 정보를 획득할 수 있다.
일 실시예에 따라 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 하나 이상의 채팅룸을 포함하는 채팅룸 리스트를 표시하고, 상기 표시된 채팅룸 리스트 중에서 하나의 채팅룸을 선택하는 사용자 입력에 따라, 상기 선택된 채팅룸으로 진입하도록 제어함과 함께 현재 채널을 상기 선택된 채팅룸에 대응하는 컨텐츠 채널로 변경하고, 상기 변경된 컨텐츠 채널에서 제공되는 컨텐츠를 표시하는 동안 상기 선택된 채팅룸을 표시할 수 있다.
일 실시예에 따라 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 용자로부터 상기 프로그램 ID에 대응하는 채팅룸 공유 요청을 수신함에 따라 상기 채팅룸 공유 요청을 상기 서버로 전송하고, 상기 서버로부터 상기 프로그램 ID에 대응하는 채팅룸에 접속할 수 있도록 하는 채팅룸 접속 정보를 수신하고, 상기 수신된 채팅룸 접속 정보를 채팅룸을 공유할 모바일 장치로 전달할 수 있다.
일 실시예에 따라 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 채팅룸 접속 정보에 포함된 URL을 기반으로 QR 코드를 생성하고, 모바일 장치에 의해 촬영될 수 있도록 상기 생성된 QR 코드를 표시하며, 상기 QR 코드는 상기 모바일 장치에 의해 촬영되어, 상기 모바일 장치가 채팅룸 서버에 조인 요청하는 데에 이용될 수 있다.
일 실시예에 따라 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 채팅룸을 다른 사용자와 공유하는 것을 가능하게 하는 아이콘을 제공하고, 상기 아이콘을 선택하는 사용자 입력에 따라 채팅룸 공유 정보를 상기 서버로부터 수신하고, 상기 수신된 채팅룸 공유 정보를 상기 다른 사용자의 전자 장치로 전달할 수 있다.
일 실시예에 따라 상기 채팅룸 공유 정보는 상기 채팅룸 정보에 기반하여 생성된 URL을 포함하고, 상기 URL은 상기 사용자의 모바일 장치 및 상기 다른 사용자의 모바일 장치를 통해 상기 다른 사용자의 전자 장치로 전달될 수 있다.
일 실시예에 따라 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 자동 컨텐츠 인식 (ACR), 컨텍스트 인식, 또는 메타데이터에 포함된 정보를 이용하여 프로그램 인식 중 적어도 하나를 이용하여 상기 컨텐츠의 프로그램을 인식할 수 있다.
일 실시예에 따라 전자 장치의 동작 방법은, 컨텐츠를 표시하도록 제어하는 동작, 표시된 상기 컨텐츠의 프로그램 인식을 수행하는 동작, 상기 인식된 컨텐츠의 프로그램 ID를 이용하여 서버에 상기 프로그램 ID에 대응하는 채팅룸 정보를 요청하는 동작, 및 상기 요청에 대응하여 상기 서버로부터 상기 채팅룸 정보를 획득함에 따라, 상기 컨텐츠를 표시하는 동안, 상기 획득된 채팅룸 정보에 기반하여 상기 채팅룸 실행 여부를 문의하는 사용자 인터페이스를 출력하는 동작을 포함한다.
일 실시예에 따라 전자 장치의 동작 방법을 수행하는 하나 이상의 인스트럭션을 포함하는 프로그램이 컴퓨터에 의해 수행되게 하기 위해 기록된 컴퓨터 판독 가능 기록 매체에 있어서, 상기 전자 장치의 동작 방법은, 컨텐츠를 표시하도록 제어하는 동작, 표시된 상기 컨텐츠의 프로그램 인식을 수행하는 동작, 상기 인식된 컨텐츠의 프로그램 ID를 이용하여 서버에 상기 프로그램 ID에 대응하는 채팅룸 정보를 요청하는 동작, 및 상기 요청에 대응하여 상기 서버로부터 상기 채팅룸 정보를 획득함에 따라, 상기 컨텐츠를 표시하는 동안, 상기 획득된 채팅룸 정보에 기반하여 상기 채팅룸 실행 여부를 문의하는 사용자 인터페이스를 출력하는 동작을 포함한다.
본 개시서의 다양한 실시예들에 따르면, 사용자는 자신이 안테나, Set-Top, 디스플레이 기기 업체 자체 서비스 등을 통해 제공되는 라이브 프로그램을 시청 중에 해당 프로그램에 연계된 의견 공유 서비스가 있을 경우 간편하게 해당 서비스에 접속하여 다양한 사용자와의 의견 공유가 가능해 진다. 이는 컨텐츠의 메타데이터 중 Program ID를 기반으로 하여 실시간으로 진행되는 라이브컨텐츠에 의견공유서비스를 매칭함으로 인해 가능하다.
또한 개시된 실시예들에 따르면 사용자는 해당 디스플레이 기기에서 서비스를 사용할 수도 있으며, 자신의 모바일 기기를 사용하여 비교적 쉽게 메시지를 입력할 수 있다. 또한 다른 사용자에게 해당 룸을 SNS등을 사용하여 공유하여 쉽게 같은 라이브 프로그램을 보면서 의견을 공유할 수 있는 기반을 마련해 준다
도 1은 일 실시예에 따라 전자 장치에서 컨텐츠를 표시하는 동안 컨텐츠에 대응하는 채팅룸 서비스 제공을 가능하게 하는 시스템의 개념을 설명하기 위한 참고도이다.
도 2는 일 실시예에 따라 채팅룸을 생성하는 시스템을 설명하기 위한 참고도이다.
도 3은 일 실시예에 따라 서비스 서버의 개략적인 블록도의 일 예이다.
도 4는 일 실시예에 따라 서비스 서버에 의해 채팅룸을 생성하는 과정을 나타내는 흐름도이다.
도 5는 일 실시예에 따라 프로그램 ID 기반 채팅룸 정보의 일 예를 나타낸다.
도 6은 일 실시예에 따라 서비스 서버에 의해 채팅룸 조인을 처리하는 과정을 나타내는 흐름도이다.
도 7은 일 실시예에 따라 채팅룸 조인 후 사용자들의 대화 내용이 전달되는 경로를 설명하기 위한 참고도이다.
도 8은 일 실시예에 따라 전자 장치의 개략적인 블록도이다.
도 9는 일 실시예에 따라 전자 장치의 세부적인 블록도이다.
도 10은 일 실시예에 따라 전자 장치가 표시되는 컨텐츠의 프로그램을 인식하여 프로그램에 대응하는 채팅룸에 진입하도록 유도하는 동작을 수행하는 전자 장치의 기능 중심 블록도를 나타낸다.
도 11은 일 실시예에 따라 전자 장치가 표시되는 컨텐츠를 인식하여 채팅룸으로의 진입을 유도하는 방법의 과정의 일 예를 나타내는 흐름도이다.
도 12는 일 실시예에 따라 전자 장치에서 컨텐츠가 표시되는 동안 이 컨텐츠를 자동으로 인식하여 인식된 컨텐츠에 대응해서 생성된 채팅룸으로의 조인을 문의하는 사용자 인터페이스의 일 예를 도시한다.
도 13은 일 실시예에 따라 전자 장치가 표시되는 컨텐츠를 인식하여 채팅룸으로의 진입을 유도하는 방법의 과정의 다른 예를 나타내는 흐름도이다.
도 14는 일 실시예에 따라 전자 장치에서 컨텐츠가 표시되는 동안 이 컨텐츠를 자동으로 인식하여 인식된 컨텐츠에 대응하는 채팅룸의 생성을 문의하는 사용자 인터페이스의 일 예를 도시한다.
도 15는 일 실시예에 따라 전자 장치가 채팅룸 리스트를 표시하고 표시된 채팅룸 리스트에서 채팅룸을 선택하여 채팅룸으로의 진입을 유도하는 방법의 과정의 일 예를 나타내는 흐름도이다.
도 16는 전자 장치 100의 디스플레이 화면의 일부에 표시되는 채팅룸 리스트 실행 아이콘 1600의 일 예를 나타낸다.
도 17은 일 실시예에 따라 전자 장치 100에 의해 표시되는 채팅룸 리스트의 예들을 나타낸다.
도 18은 일 실시예에 따라 전자 장치 100에 의해 표시되는 채팅룸 리스트의 다른 예를 나타낸다.
도 19는 일 실시예에 따라 채팅룸 정보를 공유하기 위한 전자 장치와 모바일 장치의 기능적인 블록도이다.
도 20은 일 실시예에 따라 채팅룸을 공유하는 동작의 과정의 일 예를 나타내는 흐름도이다.
도 21은 일 실시예에 따라 채팅룸 공유에 따라 모바일 장치를 이용하여 채팅룸으로 채팅 메시지를 입력하는 예를 설명하기 위한 참고도이다.
도 22는 일 실시예에 따라 사용자들의 전자 장치들간에 채팅룸을 공유하는 방법을 설명하기 위한 참고도이다.
도 23은 일 실시예에 따라 사용자들의 전자 장치들간에 채팅룸을 공유하는 과정의 일 예를 나타내는 흐름도이다.
도 24은 도 22에 도시된 채팅룸 공유 동작을 수행하는 장치들의 기능적인 블록도를 나타낸다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 명세서의 실시예에서 "사용자"라는 용어는 제어 장치를 이용하여 컴퓨팅 장치 또는 전자 장치의 기능 또는 동작을 제어하는 사람을 의미하며, 시청자, 관리자 또는 설치 기사를 포함할 수 있다.
도 1은 일 실시예에 따라 전자 장치에서 컨텐츠를 표시하는 동안 컨텐츠에 대응하는 채팅룸 서비스 제공을 가능하게 하는 시스템의 개념을 설명하기 위한 참고도이다.
도 1을 참조하면, 시스템 10은 통신 네트워크 20을 통해서 서로 통신가능한 전자 장치 100, 서비스 서버 200, 프로그램 메타데이터 서버 300, 채팅룸 서버 500, 모바일 장치 2100, 다른 사용자의 전자 장치 30, 다른 사용자의 모바일 장치 40을 포함할 수 있다.
전자 장치 100는 사용자의 요청에 따라 컨텐츠를 표시하는 동안, 표시되는 컨텐츠에 대응하는 채팅룸 서비스를 제공할 수 있다. 일 실시예에 따라 디스플레이 장치 100는 텔레비전 (TV) 일 수 있으나, 이에 한정되지 않으며, 메모리와 프로세서를 포함하여 사용자 요청에 따라 영상을 표시하는 장치로 구현될 수 있다. 예를 들어, 디스플레이 장치 100는 휴대폰, 태블릿 PC, 디지털 카메라, 캠코더, 노트북 컴퓨터(laptop computer), 태블릿 PC, 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 내비게이션, MP3 플레이어, 착용형 기기(wearable device) 등과 같은 다양한 전자 기기로 구현될 수 있다. 또한, 전자 장치 100는 고정형 또는 이동형일 수 있으며, 디지털 방송 수신이 가능한 디지털 방송 수신기일 수 있다. 전자 장치 라는 용어는 시스템 10에 포함된 모바일 장치 2100와 구별되게 하기 위해 사용된 용어로서, 본 개시서에 개시된 전자 장치의 기능을 수행하는 장치라면, 디스플레이 장치나 컴퓨팅 장치 등으로 언급될 수도 있다.
일 실시예에 따라 전자 장치 100는 컨텐츠를 표시하는 동안, 표시되는 컨텐츠에 대응하는 채팅룸이 존재하는지 여부를 서비스 서버 200에 문의할 수 있다. 구체적으로, 전자 장치 100는 컨텐츠를 표시하는 동안, 표시되는 컨텐츠를 인식함으로써 컨텐츠의 프로그램 ID를 식별하고, 식별된 프로그램 ID를 이용하여 이 프로그램 ID에 대응하는 채팅룸이 존재하는지 여부를 서비스 서버 200에 문의하는 메시지를 전송할 수 있다. 이러한 문의에 대응하여 서비스 서버 200로부터 프로그램 ID에 대응하는 채팅룸이 존재함을 나타내는 응답을 수신한 경우, 전자 장치 100는 채팅룸에 조인할지 여부를 문의하는 사용자 인터페이스를 출력할 수 있다.
일 실시예에 따라 전자 장치 100는 프로그램 ID에 대응하는 채팅룸에 조인하는 사용자 입력을 수신한 경우, 채팅룸 조인 요청을 서비스 서버 200에 전송하고, 이에 응답하여 서비스 서버 200로부터 채팅룸 조인 응답을 서비스 서버 200로부터 수신할 수 있다. 이에 따라 전자 장치 100는 채팅룸 조인 응답을 이용하여 채팅룸 서버 400와 통신 연결할 수 있고 이에 따라 채팅룸 서버 400로부터 조인된 채팅룸에 대한 채팅룸 내용을 수신하여 표시할 수 있다. 채팅룸 내용은 조인된 채팅룸에 조인된 하나 이상의 다른 사용자들로부터 입력된 대화 내용을 포함할 수 있다.
일 실시예에 따라 전자 장치 100는 표시되는 컨텐츠의 프로그램 ID를 이용하여 이 프로그램 ID에 대응하는 채팅룸이 존재하는지 여부를 서비스 서버 200에 문의한 결과, 서비스 서버 200로부터 프로그램 ID에 대응하는 채팅룸이 존재하지 않음을 나타내는 응답을 수신한 경우, 전자 장치 100는 채팅룸 생성 요청을 서비스 서버 200에 전송할 수 있다. 그리고 전자 장치 100는 이에 대한 응답으로 서비스 서버 200로부터 채팅룸 생성이 완료되었음을 나타내는 응답을 서비스 서버 200로부터 수신할 수 있다.
일 실시예에 따라 전자 장치 100는 채팅룸 리스트를 요청하는 사용자 입력에 따라 서비스 서버 200에 채팅룸 리스트를 요청하고, 서비스 서버 200로부터 수신된 채팅룸 리스트를 표시할 수 있다. 채팅룸 리스트는 조인 가능한 하나 이상의 채팅룸에 대한 정보를 포함할 수 있다. 전자 장치 100는 채팅룸 리스트에서 하나의 채팅룸을 선택하는 사용자 입력에 따라, 선택된 채팅룸으로의 조인 요청을 서비스 서버 200로 전송함과 함께, 현재 디스플레이에 표시되는 현재 채널을 선택된 채팅룸에 대응하는 라이브 컨텐츠 채널로 변경하도록 제어할 수 있다. 이에 따라 전자 장치 100는 변경된 라이브 컨텐츠 채널에서 제공되는 라이브 컨텐츠를 표시하는 동안 이 컨텐츠에 대응하는 채팅룸을 표시할 수 있다.
일 실시예에 따라 전자 장치 100는 채널룸 공유를 요청하는 사용자 입력에 따라 채팅룸 공유 요청을 서비스 서버 200로 전송하고, 서비스 서버 200로부터 채팅룸 접속 정보를 수신할 수 있다. 전자 장치 100는 수신된 채팅룸 접속 정보를 표시함으로써 모바일 장치 2100로 하여금 표시된 채팅룸 접속 정보를 획득하는 것을 가능하게 할 수 있다. 모바일 장치 2100는 이와 같이 획득된 채팅룸 접속 정보를 이용하여 채팅룸 서버 400와 통신 연결함으로써 채팅룸을 공유받을 수 있다.
서비스 서버 200는 전자 장치 100에 채팅룸 서비스를 제공하고 채팅룸 서비스를 전체적으로 관리하는 역할을 하는 서버 컴퓨터를 나타낼 수 있다.
일 실시예에 따라 서비스 서버 200는 전자 장치 100로부터 컨텐츠에 대응하는 채팅룸 생성 요청을 수신함에 따라, 컨텐츠에 대응하는 프로그램 ID를 기반으로 채팅룸을 생성할 수 있다. 구체적으로, 서비스 서버 200는 프로그램 메타데이터 서버 300에서 제공되는 프로그램 메타데이터를 이용하여 프로그램 ID에 대응하는 프로그램 정보를 획득할 수 있다. 또한 서비스 서버 200는 채팅룸 서버 400에 채팅룸 ID를 이용하여 채팅룸 생성을 요청함에 따라 채팅룸 서버 400로부터 생성된 채팅룸에 대한 채팅룸 접속 정보를 수신할 수 있다. 서비스 서버 200는 프로그램 ID, 프로그램 정보 및 채팅룸 접속 정보를 포함하는 채팅룸 정보를 생성함으로써 채팅룸 생성을 완료할 수 있다.
일 실시예에 따라 서비스 서버 200는 전자 장치 100로부터 채팅룸 조인 요청을 수신함에 따라, 조인 요청된 채팅룸 접속 정보를 전자 장치 100로 전송할 수 있다.
일 실시예에 따라 서비스 서버 200는 전자 장치 100로부터 채팅룸 공유 요청을 수신함에 따라, 공유 요청된 채팅룸 정보를 전자 장치 100로 전송할 수 있다.
프로그램 메타데이터 서버 300는 서비스 서버 200의 요청에 따라 특정한 컨텐츠 프로바이더에 의해 제공되는 하나 이상의 컨텐츠에 대응하는 프로그램 메타데이터를 서비스 서버 200로 제공하는 서버 컴퓨터를 나타낼 수 있다.
채팅룸 서버 400는 서비스 서버 200의 요청에 따라 채팅룸을 생성하고, 생성된 채팅룸에 대한 채팅룸 접속 정보를 서비스 서버 200로 전송할 수 있다.
채팅룸 서버 400는 서비스 서버 200의 채팅룸 조인 요청에 따라 채팅룸에 특정한 사용자 즉, 전자 장치 100를 등록하고, 전자 장치 100와의 통신 연결을 수행할 수 있다. 채팅룸 서버 400는 전자 장치 100와의 통신 연결에 따라, 전자 장치 100로 채팅룸에 입력된 다른 사용자들의 대화 내용을 전자 장치 100로 전송할 수 있고 또한 전자 장치 100의 사용자가 채팅룸에 입력하는 대화 내용을 전자 장치 100로부터 수신할 수도 있다.
모바일 장치 2100는 전자 장치 100와 통신을 수행하여 전자 장치 100로부터 채팅룸 접속 정보를 수신하고 수신된 채팅룸 접속 정보를 이용하여 채팅룸 서버에 접속할 수 있는 스마트 디바이스를 나타낼 수 있다. 또한, 모바일 장치 2100는 메신저 어플리케이션을 이용하여 채팅룸 접속 정보를 다른 사용자의 모바일 장치 40으로 전달할 수 있다. 모바일 장치 2100는 스마트 폰 일 수 있으나, 이에 한정되지 않으며, 메모리와 프로세서를 포함하여 사용자 요청에 따른 기능을 수행하는 장치로 구현될 수 있다. 예를 들어, 모바일 장치 2100는 휴대폰, 태블릿 PC, 디지털 카메라, 캠코더, 노트북 컴퓨터(laptop computer), 태블릿 PC, 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 내비게이션, MP3 플레이어, 착용형 기기(wearable device) 등과 같은 다양한 전자 기기로 구현될 수 있다. 또한, 모바일 장치 2100는 모바일 장치 2100가 가진 기능성에 따라 포터블 장치 또는 컴퓨팅 장치로 언급될 수도 있다.
일 실시예에 따라 모바일 장치 2100는 채팅룸 접속 정보를 통신 네트워크 20를 통하여 다른 사용자의 모바일 장치 40로 전달할 수 있고, 다른 사용자의 모바일 장치 40는 수신된 채팅룸 접속 정보를 통신가능한 다른 사용자의 전자 장치 30로 전달할 수 있다.
다른 사용자의 전자 장치 30는 획득된 채팅룸 접속 정보를 이용하여 서비스 서버 200에 접속하고 서비스 서버 200로부터 채팅룸 접속 정보에 대응하는 채팅룸 정보를 수신할 수 있다. 다른 사용자의 전자 장치 30는 수신된 채팅룸 정보에 기반하여 해당 채팅룸에 조인할 것인지 문의하는 사용자 인터페이스를 출력하고, 사용자 인터페이스에 대응하여 채팅룸에 조인하는 사용자 입력을 수신한 경우에 채팅룸 조인 요청을 서비스 서버 200에 전송할 수 있다.
종래에는 현재 시청 중인 라이브 프로그램과 이와 연계된 의견공유서비스를 위한 채팅룸을 정확히 매칭할 수 없었기 때문에 라이브 프로그램과, 채팅 어플리케이션 등 TV 프로그램과 연계된 서비스를 사용자가 직접 별도로 접근해야 했으며, 동일기기에서 라이브 TV 프로그램과 연계된 채팅룸을 동시에 사용한다고 했을 때도 해당 채팅룸으로 바로 이동을 하는 등의 기능을 수행 할 수 없었다.
그러나, 본 개시서에 개시된 실시예들에 따르면, 라이브 TV 프로그램을 시청하면서 동일 기기 혹은 다른 기기에서도 그와 연계된 채팅룸을 사용할 수 있어서, 라이브 프로그램을 보고 있는 기기에서 해당 채널로 직접 이동할 수 있도록 한다. 이를 통해 사용자는 라이브 채널을 시청 중에 기기에서 알려주는 가이드 등을 통해 라이브 프로그램과 연계된 서비스에 직접 진입할 수 있게 된다.
또한, 어플리케이션 등을 실행하여 현재 자신의 기기에서 라이브 프로그램과 연계한 채팅룸 리스트를 사용자에게 보여주고 사용자가 채팅룸을 선택시 해당 채팅룸에 접속하면서 동시에 연계된 라이브 프로그램 채널로 이동 할 수 있게 된다. 즉 사용자가 별도로 접근해야 했던, 라이브 프로그램과 그와 연계된 채팅룸을, TV 내에서 라이브 프로그램의 선택 또는 채팅룸의 선택만으로도 사용자가 라이브 프로그램 시청과 채팅룸 서비스를 동시에 사용할 수 있는 방법을 제공할 수 있다.
또한, 다른 지역 혹은 다른 셋탑박스를 사용하는 사용자에게 다양한 방법을 통해 정보를 공유하고, 이 정보를 통하면 공유받은 TV 프로그램의 채널로 이동 하면서 대응하는 채팅룸에 참가할 수 있게 된다. 즉, 개시된 실시예들에 따르면 채팅룸은 프로그램 ID를 기반으로 생성되므로, 서로 다른 지역의 사용자들인지 관계없이, 서로 다른 방송 프로바이더로부터 컨텐츠를 제공받는 지에 관계없이, 서로 다른 셋탑박스를 이용하는지에 관계없이, 동일한 프로그램 ID에 관한 것이기만 하면 사용자들은 해당 프로그램 ID 기반의 채팅룸에 동시 접속이 가능하므로 편의성이 증대될 수 있다.
일 실시예에 따라 서비스 서버는 프로그램 ID에 기반하여 채팅룸을 생성할 수 있다. 이하에서는 도 2 내지 도 5를 참조하여 채팅룸을 생성하는 방법을 설명한다.
도 2는 일 실시예에 따라 채팅룸을 생성하는 시스템을 설명하기 위한 참고도이다.
도 2를 참조하면, 관리자 100a 또는 클라이언트 100b는 서비스 서버 200로 프로그램에 대응하는 채팅룸 생성 요청을 전송할 수 있다. 관리자 100a는 채팅룸 서비스를 관리하는 관리자 컴퓨터를 나타낼 수 있다. 클라이언트 100b는 특정한 사용자가 사용하는 전자 장치 100에 포함되어 서비스 서버 200와 통신함으로써 채팅룸 서비스 동작을 실행하고 관리하는 클라이언트 모듈을 나타낼 수 있다. 관리자 100a에 의해 요청되어 생성되는 채팅룸은 어느 사용자나 조인할 수 있는 개방된 형식의 채팅룸이 될 수 있다. 클라이언트 100b에 의해 요청되어 생성되는 채팅룸은 특정한 사용자들만이 조인할 수 있는 폐쇄된 형식의 채팅룸이 될 수 있다. 다만, 이에 한정되는 것은 아니고 클라이언트 100b에 의해 요청되어 생성되는 채팅룸도 오픈된 형식의 채팅룸이 될 수 있음은 물론이다.
프로그램 메타데이터 서버 300는 특정한 컨텐츠 프로바이더에 의해 제공되는 컨텐츠들에 대한 프로그램 메타데이터를 저장하는 프로그램 메타데이터 DB 350를 유지할 수 있다. 프로그램 메타데이터 서버 300는 서비스 서버 200의 요청에 따라 일정한 주기로 또는 서비스 서버 200의 요청이 있을 때마다 컨텐츠 프로바이더에 의해 제공되는 컨텐츠들에 대한 프로그램 메타데이터를 서비스 서버 200로 제공할 수 있다.
서비스 서버 200는 관리자 100나 클라이언트 100b로부터 어떤 프로그램에 대응하는 채팅룸 생성 요청을 수신한 경우, 프로그램 메타데이터 서버 300로부터 수신한 컨텐츠들에 대한 프로그램 메타데이터로부터 해당 프로그램에 대응하는 메타데이터를 획득하고, 획득된 메타데이터를 가공하여 해당 프로그램에 대응하는 프로그램 정보를 얻을 수 있다.
서비스 서버 200는 또한 프로그램에 대응하는 채팅룸 생성 요청에 따라 채팅룸 서버 400로 채팅룸 생성을 요청하고 채팅룸 서버 500로부터 생성된 채팅룸에 대한 엔드포인트를 수신할 수 있다. 엔드포인트는 채팅룸 서버 500에서 해당 채팅룸에 접속하기 위한 액세스 정보를 나타낼 수 있다.
서비스 서버 200는 프로그램에 대응하는 채팅룸 생성 요청에 따라 해당 프로그램 ID에 프로그램 정보 및 엔드포인트를 매칭하여 채팅룸 DB 250에 저장함으로써 채팅룸의 생성을 완료할 수 있다.
도 3은 일 실시예에 따라 서비스 서버의 개략적인 블록도의 일 예이다.
도 3을 참조하면, 서비스 서버 200는 통신 인터페이스 210, 메모리 220, 프로세서 230을 포함할 수 있다.
통신 인터페이스 210는 통신 네트워크 20를 통하여 전자 장치 100, 프로그램 메타데이터 서버 300, 채팅룸 서버 400, 모바일 장치 2100 등 다양한 장치와 통신을 수행할 수 있다.
메모리 220는, 프로세서 230의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 서비스 서버 200으로 입력되거나 서비스 서버 200로부터 출력되는 데이터를 저장할 수 있다.
메모리 220는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
프로세서 230는 서비스 서버 200의 전반적인 동작을 제어한다. 예를 들어, 프로세서 230는, 메모리 220에 저장된 하나 이상의 인스트럭션을 실행함으로써, 본 개시서에 기재된 서비스 서버 200의 기능을 수행할 수 있다.
본 개시의 실시예에서, 프로세서 230는 메모리 220에 저장된 하나 이상의 인스트럭션을 실행하여, 서비스 서버 200의 동작들이 수행되도록 제어할 수 있다. 이 경우, 메모리 220는 프로세서 220에 의해서 실행가능한 하나 이상의 인스트럭션을 저장하고 있을 수 있다.
일 실시예에 따라 프로세서 230는 메모리 220에 저장된 하나 이상의 인스트럭션을 실행함으로써, 전자 장치 100로부터의 요청에 따라 프로그램 ID에 기반하여 채팅룸을 생성할 수 있다.
일 실시예에 따라 프로세서 230는 메모리 220에 저장된 하나 이상의 인스트럭션을 실행함으로써, 전자 장치 100로부터의 요청에 따라 채팅룸에 사용자를 조인시키는 동작을 수행할 수 있다.
일 실시예에 따라 프로세서 230는 메모리 220에 저장된 하나 이상의 인스트럭션을 실행함으로써, 전자 장치 100로부터의 요청에 따라 채팅룸 공유 정보를 기반으로 URL을 생성하여 전달할 수 있다.
도 4는 일 실시예에 따라 서비스 서버에 의해 채팅룸을 생성하는 과정을 나타내는 흐름도이다.
도 4를 참조하면, 서비스 서버 200는 프로그램 메타데이터 서버 300로부터 프로그램 메타데이터를 가져올 수 있다. 서비스 서버 200는 일정한 주기로, 예를 들어 하루에 한 번씩 또는 특정한 시점에서 필요시마다 프로그램 메타데이터를 가져올 수 있다. 서비스 서버 200가 프로그램 메타데이터 서버 300로부터 프로그램 메타데이터를 가져오는 것은 동작 401 내지 동작 404에 의해 수행될 수 있다.
동작 401에서, 서비스 서버 200는 프로그램 메타데이터 서버 300로 프로그램 메타데이터를 요청할 수 있다. 서비스 서버 200는 특정한 컨텐츠 프로바이더에 의해 제공되는 프로그램 메타데이터를 요청할 수 있다. 컨텐츠 프로바이더는 지상파 방송국 사업자 또는 케이블 방송 사업자 등이 될 수 있다.
동작 402에서, 프로그램 메타데이터 서버 300는 프로그램 메타데이터 DB 350에서 메타데이터를 조회하고, 동작 403에서 프로그램 메타데이터 DB 350로부터 메타데이터를 획득할 수 있다. 그리고 동작 404에서, 프로그램 메타데이터 서버 300는 획득된 프로그램 메타데이터를 서비스 서버 200로 전달할 수 있다.
동작 405에서, 서비스 서버 200는 프로그램 메타데이터 서버 300로부터 전달된 프로그램 메타데이터를 가공하여 각 프로그램 ID 별로 각 프로그램 ID에 대응하는 프로그램 정보를 추출할 수 있다. 프로그램 ID는 어떤 프로그램을 식별하기 위한 고유 식별자를 나타낼 수 있다. 프로그램 정보는 해당 프로그램이 제공되는 채널을 식별하기 위한 채널 ID 또는 해당 프로그램의 시작 시간 정보 및 종료 시간 정보 등을 포함할 수 있다.
동작 406에서, 사용자는 관리자 컴퓨터 100a에 채팅룸 생성 요청을 입력할 수 있다. 이때 사용자는 프로그램 ID에 기반하여 채팅룸 생성 요청을 입력할 수 있다.
동작 407에서 관리자 컴퓨터 100a는 입력된 프로그램 ID에 기반한 채팅룸 생성 요청을 서비스 서버 200로 전달할 수 있다.
동작 408에서, 서비스 서버 200는 관리자 컴퓨터 100a로부터 수신된 채팅룸 생성 요청에 따라 채팅룸 ID를 생성할 수 있다. 서비스 서버 200는 채팅룸 이름, 프로그램 ID, 채널 ID 등의 정보를 조합하여 채팅룸 ID를 생성할 수 있다. 채팅룸 이름은 채팅룸을 표시할 때 사용자에게 이 채팅룸을 식별해주기 위한 이름이 될 수 있다. 예를 들어, 채팅룸 이름은 <런닝맨 채팅방> 과 같은 형태가 될 수 있다.
동작 409에서, 서비스 서버 200는 채팅룸 ID에 기반하여 채팅룸 생성 요청을 채팅룸 서버 500으로 전달할 수 있다.
동작 410에서, 채팅룸 서버 400는 채팅룸 ID에 기반하여 대응하는 채팅룸을 생성할 수 있다.
동작 411에서, 채팅룸 서버 400는 채팅룸 ID에 기반하여 생성된 채팅룸에 관한 채팅룸 정보를 서비스 서버 200로 전달할 수 있다. 채팅룸 정보는 해당 채팅룸 ID를 가지는 채팅룸에 접속하기 위한 정보로서 엔드포인트 (endpoint)를 포함할 수 있다.
동작 412에서, 서비스 서버 200는 생성된 채팅룸에 대한 정보를 채팅룸 DB 250에 저장할 수 있다. 서비스 서버 200는 각 프로그램 ID에 대응하는 채팅룸 정보를 채팅룸 DB 250에 저장할 수 있다. 프로그램 ID 기반 채팅룸 정보의 일 예가 도 5에 도시되어 있다.
도 5는 일 실시예에 따라 프로그램 ID 기반 채팅룸 정보의 일 예를 나타낸다.
도 5를 참조하면, 프로그램 ID 기반 채팅룸 정보 500는 프로그램 ID 510, 채팅룸 ID 520, 채팅룸 이름 530, 채팅룸 시작시간/종료시간 540, 채팅룸 접속 정보 550를 포함할 수 있다.
프로그램 ID 510는 해당 프로그램을 식별하기 위한 식별자를 나타낼 수 있다.
채팅룸 ID 520는 채팅룸 이름, 프로그램 ID, 채널 ID 등의 정보를 조합하여 생성된, 해당 채팅룸을 식별하기 위한 식별 정보를 나타낼 수 있다.
채팅룸 이름 530은 채팅룸을 표시할 때 사용자에게 이 채팅룸을 식별해주기 위한 이름이 될 수 있다. 예를 들어, 채팅룸 이름은 <런닝맨 채팅방> 과 같은 형태가 될 수 있다.
채팅룸 시작시간/종료시간 540는 대응하는 채팅룸이 시작되는 시간과 종료되는 시간을 나타낼 수 있다. 이러한 채팅룸은 해당 프로그램 ID를 가지는 프로그램의 표시동안 동작하는 채팅룸이므로, 채팅룸의 시작 시간은 해당 프로그램의 시작 시간과 같을 수 있고, 채팅룸의 종료 시간은 해당 프로그램의 종료 시간과 같을 수 있다. 서비스 서버 200는 프로그램 스케쥴 정보를 참조하여 프로그램의 시작 시간과 종료 시간을 획득하고 이를 이용하여 채팅룸 시작시간과 종료시간을 결정할 수 있다.
채팅룸 접속 정보 550는 채팅룸 서버 400에 마련된 해당 채팅룸 ID를 가지는 채팅룸에 접속할 때 이용되는 정보로서 예를 들어 엔드포인트를 포함할 수 있다.
다시 도 4로 돌아가서, 동작 413에서, 서비스 서버 200는 채팅룸 생성 완료를 관리자 컴퓨터 100a로 전달하고, 동작 414에서, 관리자 컴퓨터 100a는 채팅룸 생성이 완료되었음을 나타내는 메시지를 사용자에게 출력할 수 있다.
일 실시예에 따라 서비스 서버는 프로그램 ID에 기반한 채팅룸에 사용자를 조인시킬 수 있다. 이하에서는 도 6 내지 도 7을 참조하여 채팅룸을 생성하는 방법을 설명한다.
도 6은 일 실시예에 따라 서비스 서버에 의해 채팅룸 조인을 처리하는 과정을 나타내는 흐름도이다.
도 6을 참조하면, 동작 601에서, 사용자는 전자 장치 100에서 컨텐츠가 표시되는 동안 해당 컨텐츠에 연관된 채팅룸에 조인하는 사용자 입력을 전자 장치 100으로 입력할 수 있다.
동작 602에서, 전자 장치 100는 사용자 입력된 채팅룸 조인 요청을 서비스 서버 200로 전달할 수 있다. 채팅룸 조인 요청은 사용자의 계정 정보 즉, 전자 장치 100의 계정 정보 및 현재 전자 장치 100에서 표시되는 컨텐츠의 프로그램 ID에 대한 정보를 포함할 수 있다.
동작 603에서, 서비스 서버 200는 전자 장치 100로부터 수신된 채팅룸 조인 요청에 포함된 프로그램 ID를 이용하여 채팅룸 DB 250에서 프로그램 ID에 대응하는 채팅룸 조회 동작을 수행할 수 있다.
동작 604에서, 서비스 서버 200는 채팅룸 DB 250로부터 채팅룸 조인 요청에 따른 프로그램 ID에 대응하는 채팅룸 정보를 획득할 수 있다. 프로그램 ID에 대응하는 채팅룸 정보는 도 5에서 설명된 바와 같이, 채팅룸 ID, 채팅룸 이름, 채팅룸 시작시간/종료시간, 채팅룸 접속 정보를 포함할 수 있다.
동작 605에서, 서비스 서버 200는 채팅룸 DB 250에 획득된 프로그램 ID에 대응하는 채팅룸 정보에 포함된 채팅룸 ID 및 채팅룸 요청을 전달한 사용자의 계정 정보를 이용하여 채팅룸 서버 400에 해당 채팅룸 ID에 대응하는 채팅룸에 사용자 계정을 멤버로 등록하도록 하는 요청을 전송할 수 있다.
동작 606에서, 서비스 서버 200는 채팅룸 서버 400으로부터 멤버 등록 성공을 나타내는 응답을 수신할 수 있다.
동작 607에서, 서비스 서버 200는 채팅룸 서버 400으로부터 멤버 등록 성공을 나타내는 응답 수신에 따라, 전자 장치 100로 조인 요청된 채팅룸에 접속을 위한 채팅룸 접속 정보를 전송할 수 있다. 채팅룸 접속 정보는 예를 들어 엔드포인트를 포함할 수 있다.
동작 608에서, 전자 장치 100는 서비스 서버 200로부터 채팅룸 접속 정보를 수신하고, 수신된 채팅룸 접속 정보를 이용하여 채팅룸 서버 400에 통신 연결 요청을 전송할 수 있다. 예를 들어 전자 장치 100는 채팅룸 접속 정보인 엔드포인트를 이용하여 채팅룸 서버 400와 소켓 연결할 수 있다.
동작 609에서, 채팅룸 서버 400는 전자 장치 100로 통신 연결 요청에 대한 응답, 예를 들어 소켓 오픈됨을 나타내는 응답을 전송할 수 있다.
동작 610에서, 전자 장치 100는 채팅룸 서버 400로부터 통신 연결 요청에 대한 응답을 수신하고 나서 채팅룸 조인이 완료되었음을 나타내는 메시지를 사용자에게 출력할 수 있다.
이와 같이 전자 장치 100와 채팅룸 서버 400 간에 통신 연결이 완료되면 전자 장치 100는 채팅룸에 입력한 사용자의 대화 입력을 채팅룸 서버 400로 직접 전달할 수 있고 또한 채팅룸 서버 400도 다른 사용자들의 대화 입력 내용을 전자 장치 100로 직접 전달할 수 있다.
도 7은 일 실시예에 따라 채팅룸 조인 후 사용자들의 대화 내용이 전달되는 경로를 설명하기 위한 참고도이다.
도 7의 700A를 참조하면, 사용자의 채팅룸 조인 후, 사용자가 해당 채팅룸에 대화입력을 한 경우, 전자 장치 100는 사용자의 대화입력 내용을 서비스 서버 200로 전달하고 서비스 서버 200는 수신한 사용자의 대화 입력 내용을 채팅룸 서버 400로 전달할 수 있다.
그리고 채팅룸 서버 400는 다른 사용자의 대화 입력 내용을 전자 장치 100로 직접 전송할 수 있다.
이와 같이 사용자의 대화 입력 내용을 서비스 서버 200가 전자 장치 100로부터 전달받아서 채팅룸 서버 400로 전달함으로써 서비스 서버 200는 이러한 대화 입력 처리 동작에 부하가 걸릴 수 는 있는 반면, 사용자들의 대화 입력 내용을 쌓아둘 수 있으므로 사용자들에 대한 정보를 수집할 수 있게 된다.
도 7의 700B를 참조하면, 사용자의 채팅룸 조인 후, 사용자가 해당 채팅룸에 대화입력을 한 경우, 전자 장치 100는 사용자의 대화입력 내용을 직접 채팅룸 서버 400으로 전달할 수 있다.
그리고 채팅룸 서버 400는 다른 사용자의 대화 입력 내용을 전자 장치 100로 직접 전송할 수 있다.
이와 같이 사용자의 대화 입력 처리 동작이 서비스 서버 200의 개입 없이 전자 장치 100와 채팅룸 서버 400 간에만 동작하게 되므로 서비스 서버 200의 부하를 감소시킬 수 있다.
도 7에서는 채팅룸 서버 400가 서비스 서버 200의 외부에 별도로 존재하는 것으로 도시되어 있지만, 서비스 서버 200가 채팅룸 서버 400의 동작을 수행할 만큼 성능 및 자원이 충분하다면, 서비스 서버 200는 채팅룸 서버 400를 포함하도록 구현될 수 있음은 물론이다.
이하에서는 도 8 내지 도 9를 참조하여 전자 장치를 설명한다.
도 8은 일 실시예에 따라 전자 장치의 개략적인 블록도이다.
도 8을 참조하면, 전자 장치 100는 통신부 110, 디스플레이 120, 메모리 130, 프로세서 140를 포함할 수 있다.
디스플레이 120는 전자 장치 100에서 처리된 이미지나 데이터를 출력할 수 있다. 도 8에 도시된 바와 같이 디스플레이 120는 전자 장치 100 내부에 포함될 수도 있지만, 또는 디스플레이 120는 전자 장치 100에 연결된 외부 디스플레이 장치와 같이 전자 장치 100의 외부에 존재할 수 있다. 예를 들어, 전자 장치 100는 셋탑박스 이고, 디스플레이는 셋탑박스에 연결된 텔레비전과 같은 형태가 될 수 있다.
메모리 130는, 프로세서 140의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치 100으로 입력되거나 전자 장치 100로부터 출력되는 데이터를 저장할 수 있다.
메모리 130는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
프로세서 140는 전자 장치 100의 전반적인 동작을 제어한다. 예를 들어, 프로세서 140는, 메모리 130에 저장된 하나 이상의 인스트럭션을 실행함으로써, 본 개시서에 기재된 전자 장치 100의 기능을 수행할 수 있다.
본 개시의 실시예에서, 프로세서 140는 메모리 130에 저장된 하나 이상의 인스트럭션을 실행하여, 전자 장치 100의 동작들이 수행되도록 제어할 수 있다. 이 경우, 메모리 130는 프로세서 140에 의해서 실행가능한 하나 이상의 인스트럭션을 저장하고 있을 수 있다.
또한, 본 개시의 실시예에서, 프로세서 140는 내부적으로 구비되는 메모리에 하나 이상의 인스트럭션을 저장하고, 내부적으로 구비되는 메모리에 저장된 하나 이상의 인스트럭션을 실행하여 전술한 동작들이 수행되도록 제어할 수 있다. 즉, 프로세서 140는 프로세서 140의 내부에 구비되는 내부 메모리 또는 메모리 130에 저장된 적어도 하나의 인스트럭션 또는 프로그램을 실행하여 소정 동작을 수행할 수 있다.
전자 장치 100는 프로세서와 메모리를 포함하여 기능을 수행하는 어떠한 형태의 장치도 될 수 있다. 전자 장치 100는 고정형 또는 휴대형 장치가 될 수 있다. 예를 들어, 전자 장치 100는, 데스크탑, 랩탑, 태블릿과 같은 컴퓨터, 텔레비전, 셋탑박스, 스마트폰, 셀룰러폰, 게임 플레이어, 음악 플레이어, 비디오 플레이어, 의료 장비, 가전 제품 등 다양한 전자 장치를 포함할 수 있다. 전자 장치 300는 디스플레이 장치, 컴퓨팅 장치, 미디어 장치로도 언급될 수 있다.
일 실시예에 따라 프로세서 140는 메모리 130에 저장된 하나 이상의 인스트럭션을 실행함으로써, 컨텐츠를 표시하도록 제어하고, 표시된 상기 컨텐츠의 프로그램 인식을 수행하고, 상기 인식된 컨텐츠의 프로그램 ID를 이용하여 서버에 상기 프로그램 ID에 대응하는 채팅룸 정보를 요청하고, 상기 요청에 대응하여 상기 서버로부터 상기 채팅룸 정보를 획득함에 따라, 상기 컨텐츠를 표시하는 동안, 상기 획득된 채팅룸 정보에 기반하여 상기 채팅룸 실행 여부를 문의하는 사용자 인터페이스를 출력할 수 있다.
일 실시예에 따라 프로세서 140는 메모리 130에 저장된 하나 이상의 인스트럭션을 실행함으로써, 상기 채팅룸 실행 여부를 문의하는 사용자 인터페이스에 대응하여 상기 채팅룸 실행을 요청하는 사용자 입력을 수신하고, 상기 사용자 입력에 따라 상기 채팅룸에 조인 요청을 상기 서버로 전송하고, 상기 서버로부터 상기 채팅룸에 조인 응답을 수신할 수 있다.
일 실시예에 따라 프로세서 140는 메모리 130에 저장된 하나 이상의 인스트럭션을 실행함으로써, 상기 조인 응답에 포함된 엔드포인트를 참조하여 상기 채팅룸 서비스를 제공하는 채팅룸 서버에 통신 연결을 수행할 수 있다.
일 실시예에 따라 프로세서 140는 메모리 130에 저장된 하나 이상의 인스트럭션을 실행함으로써, 상기 요청에 대응하여 상기 서버로부터 상기 채팅룸 정보를 획득하는데 실패함에 따라, 상기 서버로 상기 프로그램 ID에 대응하는 채팅룸 생성을 요청하고, 상기 요청에 대응하여 상기 서버로부터 상기 생성된 채팅룸 정보를 획득할 수 있다.
일 실시예에 따라 프로세서 140는 메모리 130에 저장된 하나 이상의 인스트럭션을 실행함으로써, 하나 이상의 채팅룸을 포함하는 채팅룸 리스트를 표시하고, 상기 표시된 채팅룸 리스트 중에서 하나의 채팅룸을 선택하는 사용자 입력에 따라, 상기 선택된 채팅룸으로 진입하도록 제어함과 함께 현재 채널을 상기 선택된 채팅룸에 대응하는 컨텐츠 채널로 변경하고, 상기 변경된 컨텐츠 채널에서 제공되는 컨텐츠를 표시하는 동안 상기 선택된 채팅룸을 표시할 수 있다.
일 실시예에 따라 프로세서 140는 메모리 130에 저장된 하나 이상의 인스트럭션을 실행함으로써, 사용자로부터 상기 프로그램 ID에 대응하는 채팅룸 공유 요청을 수신함에 따라 상기 채팅룸 공유 요청을 상기 서버로 전송하고, 상기 서버로부터 상기 프로그램 ID에 대응하는 채팅룸에 접속할 수 있도록 하는 채팅룸 접속 정보를 수신하고, 상기 수신된 채팅룸 접속 정보를 채팅룸을 공유할 모바일 장치로 전달할 수 있다.
일 실시예에 따라 프로세서 140는 메모리 130에 저장된 하나 이상의 인스트럭션을 실행함으로써, 상기 채팅룸 접속 정보에 포함된 URL을 기반으로 QR 코드를 생성하고, 모바일 장치에 의해 촬영될 수 있도록 상기 생성된 QR 코드를 표시하며, 상기 QR 코드는 상기 모바일 장치에 의해 촬영되어, 상기 모바일 장치가 채팅룸 서버에 조인 요청하는 데에 이용될 수 있다.
일 실시예에 따라 프로세서 140는 메모리 130에 저장된 하나 이상의 인스트럭션을 실행함으로써, 상기 채팅룸을 다른 사용자와 공유하는 것을 가능하게 하는 아이콘을 제공하고, 상기 아이콘을 선택하는 사용자 입력에 따라 채팅룸 공유 정보를 상기 서버로부터 수신하고, 상기 수신된 채팅룸 공유 정보를 상기 다른 사용자의 전자 장치로 전달할 수 있다.
일 실시예에 따라 프로세서 140는 메모리 130에 저장된 하나 이상의 인스트럭션을 실행함으로써, 자동 컨텐츠 인식 (ACR), 컨텍스트 인식, 또는 메타데이터에 포함된 정보를 이용하여 프로그램 인식 중 적어도 하나를 이용하여 상기 컨텐츠의 프로그램을 인식할 수 있다.
일 실시예에 따라 상기 채팅룸 공유 정보는 상기 채팅룸 정보에 기반하여 생성된 URL을 포함하고, 상기 URL은 상기 사용자의 모바일 장치 및 상기 다른 사용자의 모바일 장치를 통해 상기 다른 사용자의 전자 장치로 전달될 수 있다.
도 9는 일 실시예에 따라 전자 장치의 세부적인 블록도이다.
도 9를 참조하면, 전자 장치 100는 통신부 110, 디스플레이 120, 메모리 130, 프로세서 140, 비디오 처리부 150, 오디오 처리부 160, 오디오 출력부 165, 사용자 입력부 170, 입/출력부 180, 감지부 190를 포함할 수 있다.
통신부 110는 전자 장치 100와 서비스 서버 200의 통신을 수행할 수 있다. 통신부 110는 전자 장치 100과 무선 통신 시스템 사이 또는 전자 장치 100과 다른 전자 장치가 위치한 네트워크 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 예를 들어, 통신부 110는 방송 수신 모듈 111, 이동통신 모듈 112, 무선 인터넷 모듈 113및 근거리 통신 모듈 114을 포함할 수 있다. 통신부는 송/수신부로 호칭될 수 있다.
방송 수신 모듈은 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 신호는, TV 방송 신호, 라디오 방송 신호, 데이터 방송 신호를 포함할 뿐만 아니라, TV 방송 신호 또는 라디오 방송 신호에 데이터 방송 신호가 결합된 형태의 방송 신호도 포함할 수 있다.
이동통신 모듈 112는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 상기 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선 인터넷 모듈 113은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 디바이스에 내장되거나 외장될 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(WiFi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등이 이용될 수 있다. 상기 무선 인터넷 모듈 113을 통해서 전자 장치 100는 다른 디바이스와 와이 파이(Wi-Fi) P2P(Peer to Peer)연결을 할 수 있다.
근거리 통신 모듈 114은 근거리 통신을 위한 모듈을 말한다. 근거리 통신 기술로 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
디스플레이 120는 프로세서 140의 제어에 의해 이미지를 화면에 표시할 수 있다. 화면에 표시되는 이미지는 통신부 110, 입/출력부 180, 메모리 130로부터 수신될 수 있다.
비디오 처리부 150는, 디스플레이 12에 의해 표시될 이미지 데이터를 처리하며, 이미지 데이터에 대한 디코딩, 렌더링, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 및 해상도 변환 등과 같은 다양한 영상 처리 동작을 수행할 수 있다.
일 실시예에 따라 비디오 처리부 150는 사용자에 의해 선택된 컨텐츠를 표시하는 동안 표시된 컨텐츠에 대응하는 채팅룸을 멀티 윈도우 또는 PIP 형태로 출력되도록 처리할 수 있다.
오디오 처리부 160는 오디오 데이터에 대한 처리를 수행한다. 오디오 처리부 160에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
오디오 출력부 165는 프로세서 140의 제어에 의해 수신된 방송 신호에 포함된 오디오, 통신부 110 또는 입/출력부 180를 통해 입력되는 오디오, 메모리 110에 저장된 오디오를 출력할 수 있다. 오디오 출력부 165는 스피커, 헤드폰 출력 단자 또는 S/PDIF(Sony/Philips Digital Interface) 출력 단자 중 적어도 하나를 포함할 수 있다.
사용자 입력부 170는, 사용자가 전자 장치 100를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부 170는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드, 조그 휠, 조그 스위치 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
입/출력부 180는 프로세서 120의 제어에 의해 전자 장치 100의 외부에서부터 비디오(예를 들어, 동영상 등), 오디오(예를 들어, 음성, 음악 등) 및 부가 정보(예를 들어, EPG 등) 등을 수신한다. 입/출력부 180는 HDMI 포트(High-Definition Multimedia Interface port, 181, 컴포넌트 잭(component jack, 182), PC 포트(PC port, 183), 및 USB 포트(USB port, 184) 중 하나를 포함할 수 있다. 입/출력부 180는 HDMI 포트 181, 컴포넌트 잭 182, PC 포트 183), 및 USB 포트 184)의 조합을 포함할 수 있다.
일 실시예에 따라 프로세서 140의 제어에 따라 HDMI 포트 181은 셋탑박스나 컨텐츠 제공 장치로부터 방송 컨텐츠를 수신할 수 있다.
감지부 190는 사용자의 음성, 사용자의 영상, 또는 사용자의 인터랙션을 감지하며, 마이크로폰 191, 카메라부 192, 및 광 수신부 193를 포함할 수 있다.
마이크로폰 191는 사용자의 발화(utterance)된 음성을 수신한다. 마이크 191는 수신된 음성을 전기 신호로 변환하여 프로세서 140로 출력할 수 있다.
카메라부 192는 카메라 인식 범위에서 제스처를 포함하는 사용자의 모션에 대응되는 영상(예를 들어, 연속되는 프레임)을 수신할 수 있다.
광 수신부 193는, 원격 제어 장치에서부터 수신되는 광 신호(제어 신호를 포함)를 수신한다. 광 수신부 193는 원격 제어 장치로부터 사용자 입력(예를 들어, 터치, 눌림, 터치 제스처, 음성, 또는 모션)에 대응되는 광 신호를 수신할 수 있다. 수신된 광 신호로부터 프로세서 120의 제어에 의해 제어 신호가 추출될 수 있다.
일 실시예에 따른 메모리 130는, 프로세서 140의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치 100로 입력되거나 전자 장치 100로부터 출력되는 데이터를 저장할 수 있다. 또한, 메모리 130는 전자 장치 100의 동작에 필요한 데이터들을 저장할 수 있다. 또한, 메모리 130에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있다.
메모리 130는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
프로세서 140는 전자 장치 100의 전반적인 동작을 제어한다. 예를 들어, 프로세서 140는, 메모리 130에 저장된 하나 이상의 인스트럭션을 실행함으로써, 본 개시서에 기재된 전자 장치 100의 기능을 수행할 수 있다.
프로세서 140는 전자 장치 100의 전반적인 동작 및 전자 장치 100의 내부 구성 요소들 사이의 신호 흐름을 제어하고, 데이터를 처리하는 기능을 수행한다. 프로세서 140는 사용자의 입력이 있거나 기 설정되어 저장된 조건을 만족하는 경우, 메모리 130에 저장된 OS(Operation System) 및 다양한 애플리케이션을 실행할 수 있다.
또한, 프로세서 140는 내부 메모리를 포함할 수 있을 것이다. 이 경우, 메모리 130에 저장되는 데이터, 프로그램, 및 인스트럭션 중 적어도 하나가 프로세서 120의 내부 메모리(미도시)에 저장될 수 있다.
한편, 도 9에 도시된 전자 장치 100의 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 전자 장치 100의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 예를 들어, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분화되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
일 실시예에 따라 전자 장치는 표시되는 컨텐츠의 프로그램을 인식하여 인식된 프로그램에 대응하여 생성된 채팅룸에 진입하는 것을 가능하게 하는 동작을 수행할 수 있다. 이하에서는 도 10 내지 도 15를 참조하여 전자 장치가 표시되는 컨텐츠의 프로그램을 인식하여 채팅룸에 진입하도록 사용자를 유도하는 방법을 설명한다.
도 10은 일 실시예에 따라 전자 장치가 표시되는 컨텐츠의 프로그램을 인식하여 프로그램에 대응하는 채팅룸에 진입하도록 유도하는 동작을 수행하는 전자 장치의 기능 중심 블록도를 나타낸다.
도 10을 참조하면, 전자 장치 100는 프로바이더 설정부 1010, 프로그램 메타데이터 획득부 1020, 프로그램 인식부 1030, 대몬 1040, 통지 제공부 1050, 어플리케이션 구동부 1060, 클라이언트 1070를 포함할 수 있다.
프로바이더 설정부 1010는 전자 장치 100가 컨텐츠를 제공받는 컨텐츠 프로바이더를 설정할 수 있다. 컨텐츠 프로바이더는 전자 장치 100가 설치된 지역에 따라서 그리고 전자 장치 100가 컨텐츠를 제공받는 통신망에 따라서 다양한 컨텐츠 프로바이더가 존재할 수 있다. 프로바이더 설정부 1010는 복수의 컨텐츠 프로바이더 중에서 하나의 컨텐츠 프로바이더를 선택하여 설정할 수 있다. 컨텐츠 프로바이더는 컨텐츠 프로바이더 ID를 기반으로 식별될 수 있다.
프로그램 메타데이터 획득부 1020는 프로바이더 설정부 1010에 의해 설정된 프로바이더 ID를 기반으로 프로그램 메타데이터 서버 300으로부터 프로바이더 ID에 대응하는 프로그램 메타데이터, 예를 들어, 방송 스케줄 정보를 획득할 수 있다.
프로그램 인식부 1030는 전자 장치 100에서 현재 표시되는 컨텐츠를 인식함으로써 프로그램 정보를 획득할 수 있다. 프로그램 인식부 1030는 예를 들어, 컨텍스트 인식 (Context Aware) 기술 또는 ACR (Automatic Content Recognition) 기술, 또는 컨텐츠의 메타이터에 포함된 정보를 이용하여 프로그램을 인식할 수 있다. 컨텍스트 인식 기술은 프로그램 메타데이터 획득부 1020가 제공하는 프로그램 메타데이터 정보와 현재 디스플레이에서 출력 중인 화면을 인식하여 현재 보고 있는 채널의 프로그램이 어떠한 것인지를 특정할 수 있는 기능을 제공한다. ACR은 컨텍스트 인식 기술과는 별도로 동작하여 현재 시청 중인 프로그램을 특정할 수 있도록 하는 기능을 제공한다.
대몬 1040는 시스템에 상주하는 프로세스로, 현재 프로바이더 ID 기준으로 생성된 채팅룸 리스트를 서비스 서버 200로부터 수신한 상태에서, 프로그램 인식부 1030을 통해 현재 사용자가 전자 장치 100에서 시청중인 프로그램이 특정되면, 채팅룸 리스트 중 현재 시청중인 프로그램의 정보에 대응하여 생성된 채팅룸을 확인하고, 통지 제공부 1050로 클라이언트 1070을 실행할 수 있음을 알린다.
통지 제공부 1050는 현재 시청중인 프로그램의 정보에 대응하여 생성된 채팅룸이 존재함을 화면에 표시하고, 사용자가 이러한 채팅룸을 선택시 어플리케이션 구동부 1060를 통해 클라이언트 1070을 시작할 수 있다.
클라이언트 1070는 현재 시청중인 프로그램에 채팅룸을 표시하기 위해 서비스 서버 200로 해당 채팅룸으로의 조인을 요청할 수 있다.
클라이언트 1070는 사용자의 선택에 따라 별도의 앱 진입점을 통해 실행 될 수 있으며, 앱이 실행된 경우 현재 설정된 전자 장치 100의 프로바이더 ID를 가진 프로바이더 기준으로 생성된 채팅룸 리스트를 서비스 서버 200로 요청하고 전달받아 다양한 방법으로 화면에 표시할 수 있다. 이에 따라 사용자는 표시된 채팅룸 리스트 중에서의 하나의 채팅룸을 선택할 수 있고, 선택된 프로그램을 제공하는 채널로 이동하면서 프로그램과 연결된 채팅룸으로 바로 진입할 수 있다. 연결된 채팅룸으로 조인 후에는 프로그램을 시청하면서 프로그램과 연계된 채팅룸을 통해 의견 공유 서비스를 이용할 수 있다.
도 11은 일 실시예에 따라 전자 장치가 표시되는 컨텐츠를 인식하여 채팅룸으로의 진입을 유도하는 방법의 과정의 일 예를 나타내는 흐름도이다.
도 11을 참조하면, 동작 1110에서, 전자 장치 100를 라이브 컨텐츠를 표시할 수 있다.
동작 1120에서, 전자 장치 100는 전자 장치 100에서 현재 표시되는 컨텐츠의 프로그램을 인식할 수 있다. 구체적으로 전자 장치 100는 컨텍스트 인식 기술이나 ACR 등을 이용하여 화면에 표시되는 컨텐츠의 프로그램 인식 동작을 수행할 수 있다.
동작 1130에서, 전자 장치 100는 프로그램 인식 동작 수행 결과 프로그램 인식이 성공한 경우에는 동작 1140으로 진행하고, 프로그램 인식이 성공하지 않은 경우, 즉 실패한 경우에는 그대로 종료할 수 있다. 프로그램 인식이 성공한 경우라는 것은 프로그램 인식 동작 수행 결과 프로그램 ID를 추출하는데 성공한 것을 말하고 프로그램 인식이 실패한 경우라는 것은 프로그램 ID를 획득하는 데에 실패한 것을 의미할 수 있다.
동작 1140에서, 전자 장치 100는 서버에 프로그램 ID를 이용하여 해당 프로그램 ID에 대응하는 채팅룸 정보가 있는지를 문의할 수 있다.
일 실시예에 따라 전자 장치 100는 프로그램 인식 동작에 의해 프로그램 ID를 획득할 때 마다 서비스 서버 200에 프로그램 ID를 전송함으로써 해당 프로그램 ID에 대응하는 채팅룸 정보가 있는지를 문의할 수 있다.
일 실시예에 따라 전자 장치 100는 전자 장치 100에 설정된 프로바이더 ID 기준으로 채팅룸 리스트를 서비스 서버 200로부터 다운로드해놓고, 이 채팅룸 리스트에서 프로그램 ID에 대응하는 채팅룸 정보가 있는지를 확인할 수도 있다.
동작 1150에서, 전자 장치 100는 현재 표시되는 컨텐츠의 프로그램 ID에 대응하는 채팅룸 정보를 획득했는지 판단하고, 획득되지 않은 경우에는 그대로 종료할 수 있다. 즉, 현재 전자 장치 100에서 표시되는 컨텐츠의 프로그램 인식이 가능한 경우라도 해당 인식된 프로그램에 대응하여 생성된 채팅룸이 존재하지 않는다면 그대로 종료할 수 있다. 전자 장치 100는 현재 표시되는 컨텐츠의 프로그램 ID에 대응하는 채팅룸 정보를 획득한 경우에 동작 1160으로 진행할 수 있다.
동작 1160에서, 전자 장치 100는 컨텐츠를 표시하는 동안 이 컨텐츠에 대응하여 생성된 채팅룸에 조인할 것인지를 문의하는 사용자 인터페이스 자동으로 표시할 수 있다.
구체적으로 전자 장치 100는 컨텐츠를 표시하는 동안 이 표시되는 컨텐츠에 대응하여 생성된 채팅룸이 존재하며 이 채팅룸에 조인할 것인지를 문의하는 사용자 인터페이스를 출력할 수 있다. 이와 같은 사용자 인터페이스의 일 예가 도 12에 도시되어 있다.
도 12는 일 실시예에 따라 전자 장치에서 컨텐츠가 표시되는 동안 이 컨텐츠를 자동으로 인식하여 인식된 컨텐츠에 대응해서 생성된 채팅룸으로의 조인을 문의하는 사용자 인터페이스의 일 예를 도시한다.
도 12를 참조하면, 전자 장치 100는 디스플레이 화면에 <런닝맨>이라는 컨텐츠를 표시하는 동안, 자동으로 화면에 표시되는 컨텐츠를 인식함으로써 <런닝맨> 이라는 프로그램을 표시됨을 인식하고, <런닝맨> 프로그램에 대응하는 채팅룸이 존재하는 경우, 전자 장치 100는 디스플레이 화면에 사용자 인터페이스 1200를 출력할 수 있다.
사용자 인터페이스 1200는 <런닝맨 채팅룸에 조인하시겠습니까? 라는 메시지와 함께 YES, NO 선택 버튼을 포함할 수 있다. 사용자로부터 NO를 선택하는 사용자 입력을 수신한 경우에 전자 장치 100는 더 이상의 동작 없이 그대로 사용자 인터페이스 1200를 사라지게 하는 처리를 할 수 있다. 사용자로부터 YES를 선택하는 사용자 입력을 수신한 경우 전자 장치 100는 런닝맨 채팅룸에 이 전자 장치 100의 사용자 계정을 조인시키는 요청을 서비스 서버 200로 전송함으로써 채팅룸 조인 동작을 수행할 수 있다. 채팅룸 조인 동작에 대해서는 도 6을 참조하여 설명한 바와 같다.
다시 도 11로 돌아가서, 동작 1170에서, 전자 장치 100는 채팅 룸 조인을 선택하는 사용자 입력이 있는지를 판단하고, 채팅룸 조인을 선택하는 사용자 입력이 없는 경우에는 그대로 동작을 종료할 수 있다.
채팅룸 조인을 선택하는 사용자 입력이 있는 경우 동작 1180에서, 전자 장치 100는 채팅룸 조인 동작 및 조인된 채팅룸을 표시할 수 있다.
구체적으로, 채팅룸 조인을 선택하는 사용자 입력이 있는 경우 전자 장치 100는 사용자 계정 및 프로그램 ID를 기반으로 서비스 서버 200에 채팅룸 조인 요청을 전송하면, 채팅룸 조인 완료에 따라 서비스 서버 200로부터 전자 장치 100는 채팅룸에 접속할 수 있는 채팅룸 접속 정보를 수신할 수 있다. 이러한 채팅룸 접속 정보를 이용하여 전자 장치 100는 채팅룸 서버 400에 통신 연결함으로써 채팅룸에 조인할 수 있다. 채팅룸 조인 과정에 대해서는 도 6을 참조하여 설명한 바와 같다. 채팅룸 조인에 따라 전자 장치 100는 컨텐츠를 표시하는 동안 해당 컨텐츠에 대응하는 채팅룸을 표시할 수 있다. 도 12를 참조하면 전자 장치 100는 컨텐츠가 표시되는 화면의 일부에 채팅룸 1210을 표시할 수 있다. 채팅룸 1210은 채팅 메시지를 입력할 수 있는 채팅 입력부와 채팅 메시지가 출력되는 채팅 메시지 출력부를 포함할 수 있다.
도 13은 일 실시예에 따라 전자 장치가 표시되는 컨텐츠를 인식하여 채팅룸으로의 진입을 유도하는 방법의 과정의 다른 예를 나타내는 흐름도이다.
도 13을 참조하면, 동작 1310부터 동작 1340 까지는 도 11에 도시된 동작 1110 부터 동작 1140 과 동일하므로 이에 대한 설명을 생략하기로 한다.
동작 1350에서, 전자 장치 100는 현재 표시되는 컨텐츠의 프로그램 ID에 대응하는 채팅룸이 존재하는 경우 동작 1390으로 진행할 수 있다.
동작 1390에서, 전자 장치 100는 컨텐츠를 표시하는 동안 대응하는 채팅룸 정보를 표시할 수 있다. 구체적으로, 전자 장치 100는 표시되는 컨텐츠에 대응하는 채팅룸으로 진입할지 여부를 문의하는 사용자 인터페이스를 출력할 수 있다.
동작 1350의 판단 결과 현재 표시되는 컨텐츠의 프로그램 ID에 대응하는 채팅룸이 존재하지 않는 경우 동작 1355로 진행할 수 있다.
동작 1355에서, 전자 장치 100는 현재 표시되는 컨텐츠에 대응하는 채팅룸을 생성할 지 여부를 문의하는 사용자 인터페이스를 출력할 수 있다. 이와 같은 사용자 인터페이스의 일 예가 도 14에 도시되어 있다.
도 14는 일 실시예에 따라 전자 장치에서 컨텐츠가 표시되는 동안 이 컨텐츠를 자동으로 인식하여 인식된 컨텐츠에 대응하는 채팅룸의 생성을 문의하는 사용자 인터페이스의 일 예를 도시한다.
도 14를 참조하면, 전자 장치 100는 디스플레이 화면에 <런닝맨>이라는 컨텐츠를 표시하는 동안, 자동으로 화면에 표시되는 컨텐츠를 인식함으로써 <런닝맨> 이라는 프로그램을 표시됨을 인식하고, <런닝맨> 프로그램에 대응하는 채팅룸을 생성할지 여부를 문의하는 사용자 인터페이스 1400를 출력할 수 있다.
사용자 인터페이스 1400는 <런닝맨 채팅룸을 생성하시겠습니까?> 라는 메시지와 함께 YES, NO 선택 버튼을 포함할 수 있다. 사용자로부터 NO를 선택하는 사용자 입력을 수신한 경우에 전자 장치 100는 더 이상의 동작 없이 그대로 사용자 인터페이스 1200를 사라지게 하는 처리를 할 수 있다. 사용자로부터 YES를 선택하는 사용자 입력을 수신한 경우 전자 장치 100는 런닝맨 채팅룸을 생성하는 요청을 서비스 서버 200로 전송할 수 있다.
다시 도 13으로 돌아와서, 채팅룸 생성 문의에 대해서 사용자로부터 채팅룸 생성을 요청하는 사용자 입력을 수신한 경우, 동작 1355에서, 전자 장치 100는 현재 표시된 컨텐츠에 대응하는 프로그램 ID를 기반으로 채팅룸 생성 요청을 서비스 서버 200로 전송할 수 있다.
동작 1360에서, 서비스 서버 200는 전자 장치 100로부터 수신된 프로그램 ID를 기반으로 채팅룸 생성 동작을 수행할 수 있다. 채팅룸 생성 동작은 도 4에서 설명한 바와 같다.
동작 1365에서, 서비스 서버 200는 채팅룸 생성 완료 응답을 전자 장치 100로 전송할 수 있다.
동작 1370에서, 전자 장치 100는 채팅룸 조인 요청을 서비스 서버 200로 전송할 수 있다.
동작 1375에서, 서비스 서버 200는 채팅룸 조인 동작을 수행할 수 있다. 채팅룸 조인 동작에 대해서는 도 6을 참조하여 설명한 바와 같다.
동작 1380에서, 서비스 서버 200는 채팅룸 조인 완료 응답을 전자 장치 100로 전송할 수 있다.
동작 1385에서, 전자 장치 100는 조인된 채팅룸을 표시할 수 있다.
이상 설명된 예들에서는 전자 장치 100가 현재 표시하는 컨텐츠에 대응되는 채팅룸으로 진입하는 예들을 설명하였다. 전자 장치 100는 채팅룸 리스트를 제공하고 채팅룸 리스트에서 하나의 채팅룸을 선택함에 따라 선택된 채팅룸에 관련된 프로그램 채널로 변경하여 컨텐츠를 표시하도록 제어할 수 있다. 채팅룸 리스트에 따라서 채팅룸을 선택하는 방법을 도 15 내지 도 18을 참조하여 설명한다.
도 15는 일 실시예에 따라 전자 장치가 채팅룸 리스트를 표시하고 표시된 채팅룸 리스트에서 채팅룸을 선택하여 채팅룸으로의 진입을 유도하는 방법의 과정의 일 예를 나타내는 흐름도이다.
도 15를 참조하면, 동작 1510에서, 전자 장치 100는 컨텐츠를 표시할 수 있다.
동작 1520에서, 전자 장치 100는 채팅룸 리스트를 요청하는 사용자 입력을 수신할 수 있다. 전자 장치 100는 다양한 사용자 인터페이스를 통해서 채팅룸 리스트를 요청하는 사용자 입력을 수신할 수 있다. 예를 들어, 전자 장치 100는 마이크로폰을 통해서 수신되는 사용자의 발화 내용, 예를 들어, <채팅룸 리스트 보여줘!>와 같은 발화 내용을 음성 인식함으로써 채팅룸 리스트를 요청하는 사용자 입력을 수신할 수 있다. 예를 들어, 전자 장치 100는 전자 장치 100를 원격으로 제어하는 리모트 콘트롤러에 마련된 특정 버튼 입력에 따라 채팅룸 리스트를 요청하는 사용자 입력을 수신할 수 있다. 예를 들어, 전자 장치 100는 도 16에 도시된 바와 같이 전자 장치 100의 디스플레이 화면의 일부에 표시되는 채팅룸 리스트 실행 아이콘 1600을 선택하는 사용자 입력에 따라 채팅룸 리스트를 요청하는 사용자 입력을 수신할 수 있다.
동작 1530에서, 전자 장치 100는 채팅룸 리스트를 요청하는 사용자 입력에 대응하여 채팅룸 리스트를 표시할 수 있다. 구체적으로 전자 장치 100는 현재 전자 장치 100에 컨텐츠를 제공하는 것으로 설정된 컨텐츠 프로바이더에 의해 제공가능한 컨텐츠들에 대해서 연관되어 생성된 하나 이상의 채팅룸을 포함하는 채팅룸 리스트를 표시할 수 있다. 현재 전자 장치 100에 설정된 컨텐츠 프로바이더에 의해 제공가능한 컨텐츠들이라도 어떤 컨텐츠에 대해서는 채팅룸이 생성되어 있을 수도 있고 어떤 컨텐츠에 대해서는 채팅룸이 생성되어 있지 않을 수 있다. 또한, 채팅룸은 현재 방송되는 컨텐츠를 시청하면서 시청하는 컨텐츠 관련하여 의견을 공유하기 위한 것이므로 채팅룸은 현재 방송되는 컨텐츠들에 대응하는 채팅룸을 나타낼 수 있다.
일 실시예에 따라 채팅룸 리스트 요청이 있는 경우 전자 장치 100는 서비스 서버 200에 전자 장치 100에 설정된 컨텐츠 프로바이더 기준으로 채팅룸 리스트를 요청해서 수신하여 채팅룸 리스트를 획득할 수 있다.
일 실시예에 따라 전자 장치 100는 일정한 주기 단위로 서비스 서버 200에 전자 장치 100에 설정된 컨텐츠 프로바이더 기준으로 채팅룸 리스트를 요청해서 수신하여 저장해놓고 사용자 요청이 있는 경우 채팅룸 리스트를 표시할 수 있다.
전자 장치 100는 다양한 형태로 채팅룸 리스트를 표시할 수 있다.
도 17은 일 실시예에 따라 전자 장치 100에 의해 표시되는 채팅룸 리스트의 예들을 나타낸다.
도 17의 1700A를 참조하면, 전자 장치 100는 사용자가 현재 시청하는 컨텐츠의 표시가 방해되는 것을 최소화하기 위해 디스플레이 화면의 일부에 채팅룸 리스트 1710를 표시할 수 있다. 채팅룸 리스트 1710는 하나 이상의 채팅룸을 포함할 수 있다. 채팅룸 리스트 1710에 포함되는 채팅룸은 전자 장치 100에 설정된 프로바이더에 의해 제공되는 하나 이상의 채널에서 현재 방송되는 컨텐츠들에 대응하여 생성된 채팅룸을 나타낼 수 있다.
도 17의 1700B를 참조하면, 전자 장치 100는 디스플레이 화면 전체에 채팅룸 리스트 1720를 표시할 수 있다. 채팅룸 리스트 1720는 하나 이상의 채팅룸을 포함할 수 있다. 채팅룸 리스트 1720에 포함되는 채팅룸은 전자 장치 100에 설정된 프로바이더에 의해 제공되는 하나 이상의 채널에서 현재 방송되는 컨텐츠들에 대응하여 생성된 채팅룸을 나타낼 수 있다.
도 17의 1700A나 1700B에 표시되는 채팅룸 리스트에 포함되는 각 채팅룸에는 각 채팅룸에 대응하는 프로그램 정보가 표시되어 있을 수 있다. 사용자는 각 채팅룸에 대응하는 프로그램 정보를 확인함으로써 자신이 원하는 채팅룸을 선택할 수 있다.
도 18은 일 실시예에 따라 전자 장치 100에 의해 표시되는 채팅룸 리스트의 다른 예를 나타낸다.
도 17에서 전자 장치 100는 채팅룸 리스트를 나타내기 위한 사용자 인터페이스를 별도로 생성하였지만, 도 18에서 전자 장치 100는 전자 장치 100에서 제공하는 프로그램 스케쥴 1800을 이용하여 프로그램 스케쥴 1800 상에서 채팅룸 표시를 추가함으로써 채팅룸 리스트를 생성할 수 있다.
도 18을 참조하면, 프로그램 스케쥴 1800는 채널 1 내지 채널 5에 대응하는 프로그램 시간표를 포함하고, 예를 들어 사용자가 채팅룸 리스트를 요청한 시간대가 오후 7시 인 경우, 전자 장치 100는 프로그램 스케쥴 1800 상에서 현재 방송되는 컨텐츠 중에서 채팅룸이 생성되어 있는 컨텐츠에 대해서 채팅룸을 표시할 수 있다. 프로그램 스케쥴 1800에는 채널 1의 프로그램 1, 채널 3의 프로그램 3, 채널4의 프로그램 4 에는 각각 연관된 채팅룸의 표시를 위해 채팅룸 아이콘 1810, 1820, 1830이 표시되어 있다. 사용자는 이러한 프로그램 스케쥴 1800 상에서 프로그램 1, 프로그램 3, 프로그램 4 에 각각 연관된 채팅룸 아이콘 1810, 1820, 1830 중 하나를 선택할 수 있다.
다시 도 15로 돌아가서, 동작 1540에서, 전자 장치 100는 채팅룸을 선택하는 사용자 입력이 있는지를 판단할 수 있다.
전자 장치 100는 채팅룸 리스트에서 하나의 채팅룸을 선택하는 사용자 입력이 없다고 판단하는 경우에는 동작 1590으로 진행할 수 있다. 채팅룸 리스트에서 하나의 채팅룸을 선택하는 사용자 입력은 다양한 형태로 수신될 수 있다. 예를 들어, 도 17의 1700A나 1700B와 같은 채팅룸 리스트에서는 사용자가 원하는 하나의 채팅룸을 리모트 콘트롤러로 선택하는 사용자 입력에 따라 채팅룸을 선택할 수 있다. 예를 들어, 도 18의 프로그램 스케쥴 1800 상에서는 채팅룸 아이콘 1810, 1820, 1830 중 하나를 선택하는 사용자 입력에 따라 채팅룸을 선택할 수 있다.
동작 1590에서, 전자 장치 100는 현재 표시되는 컨텐츠 채널을 유지하고 계속하여 현재 컨텐츠 표시를 유지할 수 있다.
전자 장치 100는 채팅룸 리스트에서 하나의 채팅룸을 선택하는 사용자 입력이 있다고 판단된 경우에 동작 1560으로 진행할 수 있다.
동작 1560에서, 전자 장치 100는 사용자에 의해 선택된 채팅룸으로 진입하는 동작을 수행할 수 있다. 채팅룸 진입 동작은 사용자에 의해 선택된 채팅룸에 사용자를 조인시키는 동작을 나타낼 수 있다. 전자 장치 100는 사용자에 의해 선택된 채팅룸에 대응하는 프로그램 ID와 사용자 계정을 기반으로 서비스 서버 200에 채팅룸 조인을 요청하고, 서비스 서버 200의 채팅룸 조인 동작에 따라서 서비스 서버 200로부터 해당 채팅룸에 접속하기 위한 채팅룸 접속 정보를 수신할 수 있다. 그러면 전자 장치 100는 이러한 채팅룸 접속 정보를 이용하여 채팅룸 서버 400와 통신 연결함으로써 채팅룸 서버 400로부터 채팅룸 대화 내용을 수신할 준비를 할 수 있게 된다. 채팅룸 조인 동작에 대해서는 도 6에서 설명한 바와 같으므로 더 이상의 설명은 생략한다.
동작 1570에서, 전자 장치 100는 선택된 채팅룸에 대응하는 컨텐츠 채널로 변경하고 해당 채널에서 제공되는 컨텐츠를 표시할 수 있다. 사용자에 의해 선택된 채팅룸이 현재 전자 장치 100에 표시하는 컨텐츠에 대응되는 것이면 별도로 전자 장치 100는 현재 채널을 변경할 필요가 없을 것이다. 그러나 사용자에 의해 선택된 채팅룸이 현재 전자 장치 100가 표시하는 컨텐츠에 대응되지 않는 경우 전자 장치 100는 현재 채널을 사용자에 의해 선택된 채팅룸에 대응하는 컨텐츠를 제공하는 채널로 변경할 필요가 있다. 예를 들어, 현재 전자 장치 100가 채널 2의 프로그램 2를 표시하는 상태에서, 사용자로부터 채널 1의 프로그램 1에 대응하는 채팅룸 아이콘 1810의 선택을 수신한 경우, 프로그램 1의 채팅룸으로 진입할 뿐만 아니라 프로그램 1을 표시할 필요가 있다. 따라서 전자 장치 100는 현재 채널인 채널 2를 채널 1으로 소스를 전환하고, 전환된 소스인 채널 1으로부터 제공되는 프로그램 1을 디스플레이에 표시할 수 있다.
동작 1580에서, 전자 장치 100는 변경된 채널의 컨텐츠를 표시하는 동안 대응하는 채팅룸을 표시할 수 있다. 예를 들어 전자 장치 100는 앞서 예에서 현재 채널을 채널 1로 전환하여 프로그램 1을 디스플레이에 표시함과 함께 프로그램 1에 대응하는 채팅룸을 표시할 수 있다.
전자 장치 100가 TV와 같은 형태인 경우, 사용자들은 TV를 이용하여 메시지를 입력하는 것이 불편할 수 있다. 따라서, 일 실시예에 따라 전자 장치 100는 채팅룸에 대화 메시지 입력 동작을 문자 입력이 편리한 다른 전자 장치를 이용하기 위해 채팅룸에 대한 정보를 다른 전자 장치와 공유할 수 있다. 이하에서는 전자 장치 100가 채팅룸 정보를 다른 전자 장치, 예를 들어 모바일 장치와 공유하기 위한 동작을 도 19 내지 도 21을 참조하여 설명한다.
도 19는 일 실시예에 따라 채팅룸 정보를 공유하기 위한 전자 장치와 모바일 장치의 기능적인 블록도이다.
도 19를 참조하면, 전자 장치 100는 채팅룸 공유 정보를 서비스 서버 200로부터 획득하여 이를 모바일 장치 1900로 전달할 수 있다. 채팅룸 공유 정보를 모바일 장치 1900로 전달하는 것은 다양한 방법에 의해 수행될 수 있지만 이하에서는 QR 코드를 이용하는 방법을 설명한다.
전자 장치 100는 클라이언트 1070와 QR 생성부 1080을 포함할 수 있다.
클라이언트 1070은 사용자의 요청에 따라 채팅룸 공유 요청을 서비스 서버 200에 전송할 수 있다. 예를 들어 전자 장치 100는 <채팅룸 공유하기>와 같은 메뉴를 제공할 수 있고, 이러한 <채팅룸 공유하기> 와 같은 메뉴를 선택하는 사용자 입력을 수신한 경우 전자 장치 100는 채팅룸 공유 요청을 수신한 것으로 판단할 수 있다. 이와 같은 요청에 대응하여 클라이언트 1070은 서비스 서버 200로부터 채팅룸에 참여할 수 있는 채팅룸 공유 정보를 수신할 수 있다. 채팅룸 공유 정보는 예를 들어, 채팅룸 ID, 채팅룸 이름, 토큰 등에 기반하여 생성된 URL 정보을 포함할 수 있다. 토큰은 1회성으로 사용 되며 일정 시간 이후에는 만료되어 사용할 수 없게 하는 정보를 나타낸다.
QR 생성부 1080은 클라이언트 1070가 획득한 URL 정보를 기반으로 QR 코드를 생성할 수 있다.
클라이언트 1070은 QR 생성부 1080에 의해 생성된 QR 코드가 디스플레이 화면에 표시되도록 제어할 수 있다.
모바일 장치 1900는 QR 스캐너 1910, 서비스 어플리케이션 1920, 웹 브라우저 1930를 포함할 수 있다.
QR 스캐너 1910는 전자 장치 100의 디스플레이 화면에 표시된 QR 코드를 촬영할 수 있다.
서비스 어플리케이션 1920 이나 웹 브라우저 1930는 촬영된 QR 코드로부터 채팅룸 공유 정보를 획득하고, 채팅룸 공유 정보에 포함된 채팅룸 정보로서 채팅룸 이름 등을 모바일 장치 1900의 화면에 표시함으로써 사용자가 이 채팅룸에 접속하는 것을 희망하는 지를 문의할 수 있다. 그리고 사용자가 화면에 표시된 채팅룸 이름을 선택하면, 이는 모바일 장치 1900의 사용자가 이 채팅룸 접속을 희망하는 것으로 판단하여 이러한 채팅룸으로의 접속 동작을 수행할 수 있다. 즉, 서비스 어플리케이션 1920이나 웹 브라우저 1930은 서비스 서버 200로 해당 채팅룸에 조인을 요청함으로써 채팅룸 조인 동작을 수행할 수 있다. 이와 같은 채팅룸 조인 동작의 완료에 의해 모바일 장치 1900의 사용자는 모바일 장치 1900를 통해, 조인된 채팅룸에 문자 메시지 입력 동작을 할 수 있다.
도 20은 일 실시예에 따라 채팅룸을 공유하는 동작의 과정의 일 예를 나타내는 흐름도이다.
동작 2005에서, 전자 장치 100는 채팅룸 공유 요청을 사용자로부터 수신할 수 있다. 예를 들어, 전자 장치 100는 채팅룸 공유하기 와 같은 아이콘을 제공하고, 이러한 채팅룸 공유하기 아이콘을 선택하는 사용자 입력을 수신함으로써 채팅룸 공유 요청을 수신하는 것으로 판단할 수 있다.
동작 2010에서, 전자 장치 100는 채팅룸 공유 요청을 서비스 서버 200로 전달할 수 있다. 전자 장치 100는 공유 요청된 채팅룸에 대응하는 프로그램 ID 기반으로 채팅룸 공유 요청을 서비스 서버 200으로 전송할 수 있다.
동작 2015에서, 서비스 서버 200는 전자 장치 100로부터 채팅룸 공유 요청을 수신함에 따라 공유 요청된 채팅룸에 대응하는 프로그램 ID를 채팅룸 DB 250에서 조회함으로써 해당 프로그램 ID에 대응하는 채팅룸 정보를 확인할 수 있다. 서비스 서버 200는 해당 프로그램 ID에 대응하는 채팅룸 정보에서 채팅룸 ID, 채팅룸 이름, 그리고 1회성 유효 기간을 나타내는 토큰 등을 기반으로 URL 을 생성할 수 있다.
동작 2020에서, 서비스 서버 200는 이와 같이 생성된 URL 정보를 전자 장치 100로 전송할 수 있다.
동작 2025에서, 전자 장치 100는 서비스 서버 200로부터 전달받은 URL 정보를 기반으로 QR 코드를 생성하고 디스플레이 화면에 표시할 수 있다.
동작 2030에서, 모바일 장치 1900는 전자 장치 100의 화면에 표시된 QR 코드를 촬영함으로써 QR 코드를 획득할 수 있다.
동작 2035에서, 모바일 장치 1900는 어플리케이션을 실행하여 QR 코드로부터 채팅룸 정보를 획득하고 획득된 채팅룸 정보를 디스플레이 화면에 표시할 수 있다. 이는 채팅룸 정보는 예를 들어 채팅룸 이름 등을 포함하고, 이로부터 사용자로 하여금 어떠한 프로그램에 대응하는 채팅룸 접속이 가능한지를 알려줄 수 있다.
동작 2040에서, 모바일 장치 1900는 화면에 표시된 채팅룸 정보를 선택하는 사용자 입력을 수신할 수 있다. 예를 들어 모바일 장치 1900는 화면에 표시된 채팅룸 이름을 선택하는 사용자 입력을 수신할 수 있다.
동작 2045에서, 모바일 장치 1900는 QR 코드에 포함된 채팅룸 정보인 채팅룸 ID 등을 이용하여 서비스 서버 200로 채팅룸 조인 요청을 전송하고, 동작 2050에서, 이러한 채팅룸 조인 요청이 서비스 서버 200로 전달될 수 있다.
동작 2055에서, 서비스 서버 200는 모바일 장치 1900로부터의 채팅룸 조인 요청에 따라 모바일 장치 1900를 멤버로 등록해달라는 멤버 등록 요청을 채팅룸 서버 400로 전송할 수 있다.
동작 2060에서, 채팅룸 서버 400는 채팅룸에 모바일 장치 1900를 멤버로 등록할 수 있다.
동작 2065에서, 채팅룸 서버 400는 멤버 등록 완료 응답을 서비스 서버 200로 전달할 수 있다.
동작 2070에서, 서비스 서버 200는 멤버 등록 완료에 따라 해당 채팅룸에 접속하기 위한 정보로서 엔드포인트를 모바일 장치 1900로 전달할 수 있다.
동작 2075에서, 모바일 장치 1900는 서비스 서버 200로부터 수신한 엔드포인트를 이용하여 채팅룸 서버 400에 통신 연결을 수행함으로써 채팅룸의 조인을 완료할 수 있다.
이와 같은 채팅룸 공유 동작에 의해 전자 장치 100 및 모바일 장치 1900의 사용자는 전자 장치 100를 통해서 컨텐츠를 시청하면서 모바일 장치 1900를 통해서는, 전자 장치 100를 통하여 시청하는 컨텐츠에 대응하는 채팅룸에 접속하여 채팅 메시지를 입력할 수 있다.
도 21은 일 실시예에 따라 채팅룸 공유에 따라 모바일 장치를 이용하여 채팅룸으로 채팅 메시지를 입력하는 예를 설명하기 위한 참고도이다.
도 21을 참조하면, 전자 장치 100에서 표시되는 컨텐츠에 대응하는 채팅룸 2100 에 대한 공유 정보를 획득하여 채팅룸 공유 동작을 완료함으로써 모바일 장치 1900도 디스플레이 화면에 채팅룸을 표시할 수 있다. 또한 사용자는 모바일 장치 1900의 디스플레이 화면에 표시된 채팅룸의 채팅입력부에 채팅 메시지를 입력할 수 있다. 이와 같이 모바일 장치 1900에 입력된 채팅 메시지 내용은 서비스 서버 200를 통해서 채팅룸 서버 400로 전달되거나 또는 채팅룸 서버 400에 직접 전달될 수 있다. 채팅룸 서버 400는 이와 같이 모바일 장치 1900를 통해서 입력된 사용자의 채팅 메시지 뿐만 아니라 다른 사용자들이 이 채팅룸에 입력한 채팅 메시지들을 전자 장치 100로 전송할 수 있을 뿐만 아니라 모바일 장치 1900로도 전송함으로써, 전자 장치 100 및 모바일 장치 1900는 채팅룸의 채팅 메시지 출력부에 이 채팅룸에서 오고 가는 사용자들의 채팅 메시지를 출력할 수 있다.
전자 장치 100에서 표시되는 컨텐츠에 대응하는 채팅룸은 위에서 설명된 바와 같이 채팅 메시지 입력 편의성을 위해 모바일 장치 1900로 공유될 수 있다. 뿐만 아니라, 전자 장치 100의 사용자는 사용자의 친구 등 다른 사용자와 함께 컨텐츠를 시청하여 채팅을 즐기기 위해 다른 사용자와 컨텐츠 및 채팅룸을 공유할 수 있다. 이하에서는 전자 장치 100가 채팅룸 정보를 다른 사용자의 전자 장치와 공유하기 위한 동작을 도 22 내지 도 24를 참조하여 설명한다.
도 22는 일 실시예에 따라 사용자들의 전자 장치들간에 채팅룸을 공유하는 방법을 설명하기 위한 참고도이다.
도 23은 일 실시예에 따라 사용자들의 전자 장치들간에 채팅룸을 공유하는 과정의 일 예를 나타내는 흐름도이다.
도 22 및 도 23을 참조하여 사용자 A가 먼저 전자 장치 100를 통해서 어떤 컨텐츠를 보면서 채팅룸 서비스를 이용하다가 친구인 사용자 B와 함께 이 컨텐츠를 시청하면서 채팅을 즐기기 위해 채팅룸을 공유하는 방법을 설명한다.
도 23을 참조하면, 동작 2305에서 전자 장치 100는 채팅룸 공유 요청을 사용자로부터 수신할 수 있다.
도 22를 참조하면, 사용자 A의 요청에 따라 특정한 컨텐츠를 표시하는 동안 이 컨텐츠에 대응하는 채팅룸 2200을 표시할 수 있다. 채팅룸 2200는 이 채팅룸과 함께 이 채팅룸에 대응하는 컨텐츠의 공유를 할 수 있도록 하는 <친구와 공유하기> 아이콘 2210을 제공할 수 있다. 전자 장치 100는 사용자 A로부터 이러한 <친구와 공유하기> 아이콘 2210을 선택하는 사용자 입력을 수신할 수 있다.
동작 2310에서, 전자 장치 100는 채팅룸 공유 요청을 수신한 경우에 서비스 서버 200에 채팅룸 공유 정보를 요청할 수 있다.
동작 2315에서, 서비스 서버 200는 채팅룸 공유 요청에 따라 공유 요청된 채팅룸에 대한 정보에 기반하여 URL을 생성할 수 있다. 예를 들어 서비스 서버 200는 공유 요청된 채팅룸 ID에 관한 채팅룸 정보에 기반하여 채팅룸 ID, 채팅룸 이름, 프로그램 ID 등의 정보를 포함하는 URL을 생성할 수 있다.
동작 2320에서, 전자 장치 100는 서비스 서버 200로부터 채팅룸 정보에 기반하여 생성된 URL을 수신할 수 있다.
동작 2325에서, 전자 장치 100는 수신된 URL을 사용자 A의 모바일 장치 1900로 전달할 수 있다. 전자 장치 100가 모바일 장치 1900로 URL을 전달하는 방법에는 다양한 수단이 이용될 수 있을 것이다. 예를 들어 전자 장치 100는 URL을 QR 코드로 생성하여 출력하고 모바일 장치 1900가 전자 장치 100에 표시된 QR 코드를 촬영함으로써 URL을 전달할 수 있다.
동작 2330에서, 전자 장치 100로부터 채팅룸 정보를 담고 있는 URL을 수신한 사용자 A의 모바일 장치 1900는 사용자 B의 모바일 장치 40로 URL을 전달할 수 있다. URL 전달은 다양한 방법에 의해 이루어질 수 있으며 예를 들어 SNS 시스템을 통해서 전달할 수 있다.
동작 2335에서, 사용자 B의 모바일 장치 40는 사용자 A의 모바일 장치 1900로부터 수신한 URL로부터 채팅룸 정보를 추출하고, 사용자 B에게 해당 채팅룸에 접속을 희망하는지를 문의할 수 있다.
동작 2340에서, 모바일 장치 40는 사용자로부터 채팅룸 접속을 선택하는 사용자 입력을 수신한 경우에 사용자 B의 전자 장치를 탐색하여 통신 연결할 수 있다.
동작 2345에서, 모바일 장치 40는 사용자 B의 전자 장치 30로 URL을 전달할 수 있다.
동작 2350에서, 사용자 B의 전자 장치 30는 모바일 장치 40로부터 수신된 URL을 서비스 서버 200로 전달할 수 있다.
동작 2355에서, 서비스 서버 200는 전자 장치 30로부터 수신된 URL로부터 채팅룸 정보를 추출하고, 추출된 채팅룸 정보에 기반하여 채팅룸 초대 정보를 생성할 수 있다.
동작 2360에서, 서비스 서버 200는 생성된 채팅룸 초대 정보를 사용자 B의 전자 장치 30로 전송할 수 있다.
동작 2365에서, 전자 장치 30는 채팅룸 초대 정보를 서비스 서버 200로부터 수신하고, 채팅룸 초대 정보 및 실행 버튼을 화면에 표시할 수 있다.
동작 2370에서, 사용자로부터 채팅룸 초대 정보에 대해서 실행 버튼 선택을 수신한 경우에 전자장치 30는 해당 채팅룸으로의 진입 동작과 함께 해당 채팅룸에 대응하는 컨텐츠를 표시하기 위해 채널을 변경함으로써 컨텐츠를 표시하고 또한 컨텐츠에 대응하는 채팅룸을 표시할 수 있다.
이와 같은 동작에 의해 사용자 A의 전자 장치 100는 채팅룸 정보를 사용자 B의 전자 장치 30과 공유하여, 사용자 B의 전자 장치 30가 공유 요청된 채팅룸에 접속할 뿐만 아니라 해당 채팅룸에 대응하는 컨텐츠를 표시하게 할 수 있다. 이에 따라 사용자 A와 사용자 B는 각자 자신의 위치에서 자신의 전자 장치로 동일한 컨텐츠를 감상하면서 채팅룸을 통해 채팅을 할 수 있다. 이와 같은 프로세스에 의해 사용자 A와 사용자 B는 모바일 장치를 이용한 간단한 조작만으로 편리하게 컨텐츠를 함께 보면서 채팅을 즐길 수 있다.
도 24은 도 22에 도시된 채팅룸 공유 동작을 수행하는 장치들의 기능적인 블록도를 나타낸다.
도 24를 참조하면, 사용자 A의 전자 장치 100는 채팅룸 공유 정보를 서비스 서버 200로부터 획득하여 이를 모바일 장치 1900로 전달할 수 있다. 채팅룸 공유 정보를 모바일 장치 1900로 전달하는 것은 다양한 방법에 의해 수행될 수 있지만 이하에서는 QR 코드를 이용하는 방법을 설명한다.
전자 장치 100는 클라이언트 1070와 QR 생성부 1080을 포함할 수 있다.
클라이언트 1070은 사용자의 요청에 따라 채팅룸 공유 요청을 서비스 서버 200에 전송할 수 있다. 예를 들어 전자 장치 100는 <친구와 공유하기>와 같은 메뉴, 예를 들어 도 22에 도시된 바와 같은 친구와 공유하기 아이콘 2210를 제공할 수 있고, 이러한 <친구와 공유하기> 와 같은 메뉴를 선택하는 사용자 입력을 수신한 경우 전자 장치 100는 채팅룸 공유 요청을 수신한 것으로 판단할 수 있다. 이와 같은 요청에 대응하여 클라이언트 1070은 서비스 서버 200로부터 채팅룸에 참여할 수 있는 채팅룸 공유 정보를 수신할 수 있다. 채팅룸 공유 정보는 예를 들어, 채팅룸 ID, 채팅룸 이름, 프로그램 ID, 토큰 등에 기반하여 생성된 URL 정보을 포함할 수 있다. 토큰은 1회성으로 사용 되며 일정 시간 이후에는 만료되어 사용할 수 없게 하는 정보를 나타낸다.
QR 생성부 1080은 클라이언트 1070가 획득한 URL 정보를 기반으로 QR 코드를 생성할 수 있다.
클라이언트 1070은 QR 생성부 1080에 의해 생성된 QR 코드가 디스플레이 화면에 표시되도록 제어할 수 있다.
모바일 장치 1900는 QR 스캐너 1910, 서비스 어플리케이션 1920, 웹 브라우저 1930, SNS 전송부 1940를 포함할 수 있다.
QR 스캐너 1910는 전자 장치 100의 디스플레이 화면에 표시된 QR 코드를 촬영할 수 있다.
서비스 어플리케이션 1920 이나 웹 브라우저 1930는 촬영된 QR 코드로부터 URL을 획득하고 URL 정보에 포함된 채팅룸 정보로서 채팅룸 이름 등을 모바일 장치 1900의 화면에 표시함으로써 사용자 A에게 이 채팅룸 정보를 다른 사용자에게 공유하는 것을 희망하는 지를 문의할 수 있다. 그리고 사용자 A가 화면에 표시된 채팅룸 이름을 선택하면, 이는 모바일 장치 1900의 사용자가 이 채팅룸을 다른 사용자에게 공유하는 것을 희망하는 것으로 판단하고, 서비스 어플리케이션 1920는 SNS 전송부 1940을 통해 URL 정보를 사용자 B의 모바일 장치 40로 전송할 수 있다.
사용자 B의 모바일 장치 40는 SNS 수신부 41, 서비스 어플리케이션 42, 웹 브라우저 43, 메시지 프레임 송신부 44, 푸시 송신부 45를 포함할 수 있다.
SNS 수신부 41는 모바일 장치 1900로부터 URL 정보를 수신 후 이를 서비스 어플리케이션 42이나 웹 브라우저 43로 전달할 수 있다.
서비스 어플리케이션 42나 웹 브라우저 43는 수신된 URL 정보로부터 채팅룸 공유 정보를 획득하고, 채팅룸 정보에 포함된 채팅룸 이름을 이용하여 사용자 B로 하여금 해당 채팅룸 진입을 희망하는지 문의하고, 사용자 B로부터 해당 채팅룸 진입을 요청하는 사용자 입력을 수신하면, 수신된 URL 정보를 사용자 B의 전자 장치 30로 전송하도록 제어할 수 있다.
모바일 장치 40와 전자 장치 30 간에 메시지를 송수신할 수 있는 메시지 프레임 송신부와 메시지 프레임 수신부가 정해져 있는 경우, 메시지 프레임 송신부 44는 주변의 전자 장치 30를 탐색하는 탐색된 전자 장치 30로 URL 정보를 deeplink 형태로 전달 할 수 있다. 만약 이러한 메시지 프레임 송신부와 메시지 프레임 수신부가 별도로 없다면, 푸시 송신부 45는 푸시 서버 2400를 통해서 전자 장치 30로 URL 정보를 전달할 수 있다.
사용자 B의 전자 장치 30는 메시지 프레임 수신부 31 또는 푸시 수신부 32를 통해서 URL 정보를 수신하면, 어플리케이션 구동부 33의 제어에 의해 클라이언트 34를 실행하고 클라이언트 34는 수신된 URL 정보를 전달받을 수 있다.
클라이언트 34는 수신된 URL 정보로부터 채팅룸 정보를 획득하고, 획득된 채팅룸 정보에 포함된 채팅룸 ID를 이용하여 서비스 서버 200에 해당 채팅룸으로의 조인을 요청함으로써 채팅룸에 참여함과 함께, 채팅룸 정보에 포함된 프로그램 ID 등을 이용하여 현재 전자 장치 30가 표시하는 채널을 획득된 프로그램 ID에 대응하는 채널로 변경하여 해당 프로그램 ID에 대응하는 컨텐츠를 표시할 수 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
개시된 실시예들은 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 S/W 프로그램으로 구현될 수 있다.
컴퓨터는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 개시된 실시예에 따른 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치를 포함할 수 있다.
컴퓨터로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서,‘비일시적'은 저장 매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 개시된 실시예들에 따른 동작 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 디바이스의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 디바이스로 구성되는 시스템에서, 서버의 저장매체 또는 디바이스의 저장매체를 포함할 수 있다. 또는, 서버 또는 디바이스와 통신 연결되는 제 3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제 3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 디바이스 또는 제 3 장치로 전송되거나, 제 3 장치로부터 디바이스로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 디바이스 및 제 3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 디바이스 및 제 3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 디바이스가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
또 다른 예로, 제 3 장치가 컴퓨터 프로그램 제품을 실행하여, 제 3 장치와 통신 연결된 디바이스가 개시된 실시예에 따른 방법을 수행하도록 제어할 수 있다. 제 3 장치가 컴퓨터 프로그램 제품을 실행하는 경우, 제 3 장치는 서버로부터 컴퓨터 프로그램 제품을 다운로드하고, 다운로드 된 컴퓨터 프로그램 제품을 실행할 수 있다. 또는, 제 3 장치는 프리로드 된 상태로 제공된 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수도 있다.
또한, 본 명세서에서, "부"는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 전자 장치에 있어서,
    통신 인터페이스;
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    컨텐츠를 표시하도록 제어하고,
    표시된 상기 컨텐츠의 프로그램 인식을 수행하고,
    상기 인식된 컨텐츠의 프로그램 ID를 이용하여 서버에 상기 프로그램 ID에 대응하는 채팅룸 정보를 요청하고,
    상기 요청에 대응하여 상기 서버로부터 상기 채팅룸 정보를 획득함에 따라, 상기 컨텐츠를 표시하는 동안, 상기 획득된 채팅룸 정보에 기반하여 상기 채팅룸 실행 여부를 문의하는 사용자 인터페이스를 출력하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 채팅룸 실행 여부를 문의하는 사용자 인터페이스에 대응하여 상기 채팅룸 실행을 요청하는 사용자 입력을 수신하고,
    상기 사용자 입력에 따라 상기 채팅룸에 조인 요청을 상기 서버로 전송하고,
    상기 서버로부터 상기 채팅룸에 조인 응답을 수신하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 조인 응답에 포함된 엔드포인트를 참조하여 상기 채팅룸 서비스를 제공하는 채팅룸 서버에 통신 연결을 수행하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 요청에 대응하여 상기 서버로부터 상기 채팅룸 정보를 획득하는데 실패함에 따라, 상기 서버로 상기 프로그램 ID에 대응하는 채팅룸 생성을 요청하고,
    상기 요청에 대응하여 상기 서버로부터 상기 생성된 채팅룸 정보를 획득하는, 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    하나 이상의 채팅룸을 포함하는 채팅룸 리스트를 표시하고,
    상기 표시된 채팅룸 리스트 중에서 하나의 채팅룸을 선택하는 사용자 입력에 따라, 상기 선택된 채팅룸으로 진입하도록 제어함과 함께 현재 채널을 상기 선택된 채팅룸에 대응하는 컨텐츠 채널로 변경하고,
    상기 변경된 컨텐츠 채널에서 제공되는 컨텐츠를 표시하는 동안 상기 선택된 채팅룸을 표시하는, 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    사용자로부터 상기 프로그램 ID에 대응하는 채팅룸 공유 요청을 수신함에 따라 상기 채팅룸 공유 요청을 상기 서버로 전송하고,
    상기 서버로부터 상기 프로그램 ID에 대응하는 채팅룸에 접속할 수 있도록 하는 채팅룸 접속 정보를 수신하고,
    상기 수신된 채팅룸 접속 정보를 채팅룸을 공유할 모바일 장치로 전달하는, 전자 장치.
  7. 제6항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 채팅룸 접속 정보에 포함된 URL을 기반으로 QR 코드를 생성하고,
    모바일 장치에 의해 촬영될 수 있도록 상기 생성된 QR 코드를 표시하며,
    상기 QR 코드는 상기 모바일 장치에 의해 촬영되어, 상기 모바일 장치가 채팅룸 서버에 조인 요청하는 데에 이용되는, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 채팅룸을 다른 사용자와 공유하는 것을 가능하게 하는 아이콘을 제공하고,
    상기 아이콘을 선택하는 사용자 입력에 따라 채팅룸 공유 정보를 상기 서버로부터 수신하고,
    상기 수신된 채팅룸 공유 정보를 상기 다른 사용자의 전자 장치로 전달하는, 전자 장치.
  9. 제8항에 있어서,
    상기 채팅룸 공유 정보는 상기 채팅룸 정보에 기반하여 생성된 URL을 포함하고,
    상기 URL은 상기 사용자의 모바일 장치 및 상기 다른 사용자의 모바일 장치를 통해 상기 다른 사용자의 전자 장치로 전달되는, 전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    자동 컨텐츠 인식 (ACR), 컨텍스트 인식 (context Aware), 또는 메타데이터에 포함된 정보를 이용하여 프로그램 인식 중 적어도 하나를 이용하여 상기 컨텐츠의 프로그램을 인식하는, 전자 장치.
  11. 전자 장치의 동작 방법에 있어서,
    컨텐츠를 표시하도록 제어하는 동작,
    표시된 상기 컨텐츠의 프로그램 인식을 수행하는 동작,
    상기 인식된 컨텐츠의 프로그램 ID를 이용하여 서버에 상기 프로그램 ID에 대응하는 채팅룸 정보를 요청하는 동작, 및
    상기 요청에 대응하여 상기 서버로부터 상기 채팅룸 정보를 획득함에 따라, 상기 컨텐츠를 표시하는 동안, 상기 획득된 채팅룸 정보에 기반하여 상기 채팅룸 실행 여부를 문의하는 사용자 인터페이스를 출력하는 동작을 포함하는, 전자 장치의 동작 방법.
  12. 제11항에 있어서,
    상기 채팅룸 실행 여부를 문의하는 사용자 인터페이스에 대응하여 상기 채팅룸 실행을 요청하는 사용자 입력을 수신하는 동작,
    상기 사용자 입력에 따라 상기 채팅룸에 조인 요청을 상기 서버로 전송하는 동작, 및
    상기 서버로부터 상기 채팅룸에 조인 응답을 수신하는 동작을 포함하는, 전자 장치의 동작 방법.
  13. 제12항에 있어서,
    상기 조인 응답에 포함된 엔드포인트를 참조하여 상기 채팅룸 서비스를 제공하는 채팅룸 서버에 통신 연결을 수행하는 동작을 더 포함하는, 전자 장치의 동작 방법.
  14. 제11항에 있어서,
    상기 요청에 대응하여 상기 서버로부터 상기 채팅룸 정보를 획득하는데 실패함에 따라, 상기 서버로 상기 프로그램 ID에 대응하는 채팅룸 생성을 요청하는 동작, 및
    상기 요청에 대응하여 상기 서버로부터 상기 생성된 채팅룸 정보를 획득하는 동작을 더 포함하는, 전자 장치의 동작 방법.
  15. 제11항에 있어서,
    하나 이상의 채팅룸을 포함하는 채팅룸 리스트를 표시하는 동작,
    상기 표시된 채팅룸 리스트 중에서 하나의 채팅룸을 선택하는 사용자 입력에 따라, 상기 선택된 채팅룸으로 진입하도록 제어함과 함께 현재 채널을 상기 선택된 채팅룸에 대응하는 컨텐츠 채널로 변경하는 동작, 및
    상기 변경된 컨텐츠 채널에서 제공되는 컨텐츠를 표시하는 동안 상기 선택된 채팅룸을 표시하는 동작을 더 포함하는, 전자 장치의 동작 방법.
  16. 제11항에 있어서,
    사용자로부터 상기 프로그램 ID에 대응하는 채팅룸 공유 요청을 수신함에 따라 상기 채팅룸 공유 요청을 상기 서버로 전송하는 동작,
    상기 서버로부터 상기 프로그램 ID에 대응하는 채팅룸에 접속할 수 있도록 하는 채팅룸 접속 정보를 수신하는 동작, 및
    상기 수신된 채팅룸 접속 정보를 채팅룸을 공유할 모바일 장치로 전달하는 동작을 더 포함하는, 전자 장치의 동작 방법.
  17. 제16항에 있어서,
    상기 채팅룸 접속 정보에 포함된 URL을 기반으로 QR 코드를 생성하는 동작, 및
    모바일 장치에 의해 촬영될 수 있도록 상기 생성된 QR 코드를 표시하는 동작을 더 포함하고,
    상기 QR 코드는 상기 모바일 장치에 의해 촬영되어, 상기 모바일 장치가 채팅룸 서버에 조인 요청하는 데에 이용되는, 전자 장치의 동작 방법.
  18. 제11항에 있어서,
    상기 채팅룸을 다른 사용자와 공유하는 것을 가능하게 하는 아이콘을 제공하는 동작,
    상기 아이콘을 선택하는 사용자 입력에 따라 채팅룸 공유 정보를 상기 서버로부터 수신하는 동작, 및
    상기 수신된 채팅룸 공유 정보를 상기 다른 사용자의 전자 장치로 전달하는 동작을 더 포함하는, 전자 장치의 동작 방법.
  19. 제18항에 있어서,
    상기 채팅룸 공유 정보는 상기 채팅룸 정보에 기반하여 생성된 URL을 포함하고,
    상기 URL은 상기 사용자의 모바일 장치 및 상기 다른 사용자의 모바일 장치를 통해 상기 다른 사용자의 전자 장치로 전달되는, 전자 장치의 동작 방법.
  20. 전자 장치의 동작 방법을 수행하는 하나 이상의 인스트럭션을 포함하는 프로그램이 컴퓨터에 의해 수행되게 하기 위해 기록된 컴퓨터 판독 가능 기록 매체에 있어서, 상기 전자 장치의 동작 방법은,
    컨텐츠를 표시하도록 제어하는 동작,
    표시된 상기 컨텐츠의 프로그램 인식을 수행하는 동작,
    상기 인식된 컨텐츠의 프로그램 ID를 이용하여 서버에 상기 프로그램 ID에 대응하는 채팅룸 정보를 요청하는 동작, 및
    상기 요청에 대응하여 상기 서버로부터 상기 채팅룸 정보를 획득함에 따라, 상기 컨텐츠를 표시하는 동안, 상기 획득된 채팅룸 정보에 기반하여 상기 채팅룸 실행 여부를 문의하는 사용자 인터페이스를 출력하는 동작을 포함하는, 컴퓨터 판독가능 기록 매체.




KR1020220023208A 2022-02-22 2022-02-22 채팅룸 서비스를 제공하는 전자 장치 및 그 동작 방법 KR20230126108A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220023208A KR20230126108A (ko) 2022-02-22 2022-02-22 채팅룸 서비스를 제공하는 전자 장치 및 그 동작 방법
PCT/KR2023/002524 WO2023163501A1 (ko) 2022-02-22 2023-02-22 채팅룸 서비스를 제공하는 전자 장치 및 그 동작 방법
US18/132,726 US20230269207A1 (en) 2022-02-22 2023-04-10 Electronic device for providing chat room service and operation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220023208A KR20230126108A (ko) 2022-02-22 2022-02-22 채팅룸 서비스를 제공하는 전자 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20230126108A true KR20230126108A (ko) 2023-08-29

Family

ID=87766422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220023208A KR20230126108A (ko) 2022-02-22 2022-02-22 채팅룸 서비스를 제공하는 전자 장치 및 그 동작 방법

Country Status (2)

Country Link
KR (1) KR20230126108A (ko)
WO (1) WO2023163501A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW463503B (en) * 1998-08-26 2001-11-11 United Video Properties Inc Television chat system
KR20140126046A (ko) * 2013-04-22 2014-10-30 인포뱅크 주식회사 채팅 서비스 제공 시스템, 장치, 방법 및 기록매체
KR102199568B1 (ko) * 2014-11-10 2021-01-07 엘지전자 주식회사 전자 장치 및 그 동작 방법
KR101667603B1 (ko) * 2015-05-06 2016-10-19 경희대학교 산학협력단 방송 채널별 채팅 제공 방법, 시스템 및 채팅 서버
KR102611748B1 (ko) * 2017-01-19 2023-12-11 엘지전자 주식회사 디스플레이 장치 및 그의 동작 방법

Also Published As

Publication number Publication date
WO2023163501A1 (ko) 2023-08-31

Similar Documents

Publication Publication Date Title
US11650781B2 (en) Methods and systems for displaying content on multiple networked devices with a simple command
KR102242413B1 (ko) 앱을 다운로드하는 방법 및 앱을 실행시키는 방법
US10235305B2 (en) Method and system for sharing content, device and computer-readable recording medium for performing the method
KR101925016B1 (ko) 디지털 미디어 콘텐츠 관리 시스템 및 방법
US8863196B2 (en) Enhanced information on mobile device for viewed program and control of internet TV device using mobile device
US11006187B2 (en) Method and apparatus for executing application in wireless communication system
KR102049789B1 (ko) 휴대단말기의 정보 전송장치 및 방법
KR102203757B1 (ko) 자막기능을 지원하는 컨텐츠 수신장치와 디스플레이장치, 그것을 구비하는 시스템 및 그 자막 제공방법
US20230008199A1 (en) Remote Assistance Method and System, and Electronic Device
US20150222946A1 (en) Display apparatus, method for controlling the same, and computer-readable recording medium
TWI484821B (zh) 電視節目分享播放系統與應用於其上之方法
KR20230126108A (ko) 채팅룸 서비스를 제공하는 전자 장치 및 그 동작 방법
US20230269207A1 (en) Electronic device for providing chat room service and operation method thereof
US9363559B2 (en) Method for providing second screen information
US20140067916A1 (en) Method and display apparatus for processing an input signal
US20240007697A1 (en) Messenger connection method in multi-messenger service environment, and device therefor
CN104486390A (zh) 数据共享的方法及装置
US20230156266A1 (en) Electronic apparatus and control method thereof
KR20240026591A (ko) 디스플레이 장치, 전자 장치 및 그 동작 방법
KR20240095902A (ko) 리모콘으로 동작하는 구분된 컴퓨터 시스템을 통해 컴퓨터 시스템에서 실행되는 호스트 어플리케이션을 제어하는 방법 및 시스템