WO2016085070A1 - 디바이스 제어 시스템, 디지털 디바이스 및 디지털 디바이스 제어 방법 - Google Patents
디바이스 제어 시스템, 디지털 디바이스 및 디지털 디바이스 제어 방법 Download PDFInfo
- Publication number
- WO2016085070A1 WO2016085070A1 PCT/KR2015/005460 KR2015005460W WO2016085070A1 WO 2016085070 A1 WO2016085070 A1 WO 2016085070A1 KR 2015005460 W KR2015005460 W KR 2015005460W WO 2016085070 A1 WO2016085070 A1 WO 2016085070A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- control
- data
- voice signal
- screen
- output
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/4227—Providing Remote input by a user located remotely from the client device, e.g. at work
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
- H04M1/72415—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories for remote control of appliances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42203—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] sound input device, e.g. microphone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
- H04N21/42206—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
- H04N21/42208—Display device provided on the remote control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
- H04N21/43637—Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44213—Monitoring of end-user related data
- H04N21/44218—Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/445—Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
- H04N5/44504—Circuit details of the additional information generator, e.g. details of the character or graphics signal generator, overlay mixing circuits
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
- H04N21/42206—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
- H04N21/4222—Remote control device emulator integrated into a non-television apparatus, e.g. a PDA, media center or smart toy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
- H04N21/42206—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
- H04N21/42224—Touch pad or touch panel provided on the remote control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/50—Tuning indicators; Automatic tuning control
Definitions
- the present invention relates to a device control system, and more particularly, to a target device control through a control command of the control device.
- a representative example of a digital system is a digital TV.
- a digital TV can be controlled only through a remote controller provided as a pair at the time of manufacture.
- a remote application may be downloaded and installed on a smart phone and used instead of the remote controller.
- the present invention by using a basic function (embedded function) or a basic function (embedded function) in the control device (controlling device) to separate applications (application) or program (program) Even if it is not installed, it is a task to simply control a targeted device.
- the control device is not only a method of pressing a function button provided in a conventional remote control or a function icon provided according to the execution of a remote application of a smart phone, but also a voice and a gesture. Another object is to control the target device based on a gesture or the like.
- a function button of a conventional remote control or a function icon according to a remote application of a smart phone when using a function button of a conventional remote control or a function icon according to a remote application of a smart phone, only a predetermined function can be performed, but various functions (s) supported by the target device in addition to the previously promised function described above can be performed. ) Is another task.
- the present invention is not only able to control the target device using a nearby control device without moving to find a remote controller mapped at the time of manufacture to a predetermined target device, and also to control the target device remotely through a network. Shall be.
- a target device controlled by a control command received through at least one control device the first receiving unit for receiving content, the voice signal from the control device or the A second receiver for receiving text data corresponding to a voice signal, a decoder for decoding the content, a processor for processing the text data, identifying whether the text data received from the processed data includes a control command, and identifying the identified text
- a control unit and decoded content for controlling a voice interface output in response to data reception, configuring a result screen corresponding to the processed data to control the output, and performing a function corresponding to the output result screen;
- the voice interface and the result screen Is an output unit that outputs the function execution screen.
- a device control system including a control device and a target device may include a first control device that receives a voice signal, converts the voice signal into digital voice data, and outputs the digital voice data by STT processing the digital voice data. And outputting a second control device for generating and outputting text data corresponding to the voice interface for receiving the voice signal, and NLP processing the text data received from the second control device to configure a result screen for the text data. And a target device for outputting and performing a function corresponding to the output result screen.
- a method of controlling a target device by a control command received through at least one control device may include receiving content, decoding the content and outputting the content through a screen; Receiving a speech signal or text data corresponding to the speech signal from the speech signal; processing the received speech signal or text data; identifying whether the processed data includes a control command and outputting a speech interface; Constructing and outputting a result screen corresponding to a control command included in the generated data; performing a function corresponding to the output result screen; and outputting the function execution screen.
- a control method of a device control system including a control device and a target device may include receiving a voice signal and converting the voice signal into digital voice data, and processing the digital voice data by STT to correspond to the voice signal. Generating text data, NLP processing the generated text data, and configuring and outputting at least one of a result screen and a function execution screen corresponding to the NLP-processed text data.
- the solving means according to the technical problem to be achieved in the present invention is not limited to the above-mentioned solving means, other solving means not mentioned are clearly to those skilled in the art from the following description. It can be understood.
- a separate application or program may be executed using a basic function or an embedded function in a controlling device. Even if it is not installed, there is an effect of simply controlling a targeted device.
- a voice as well as a method of pressing a function button provided on a conventional remote control or touching a function icon provided according to the execution of a remote application of a smart phone There is an effect of controlling the target device based on voice, gesture, and the like.
- FIG. 1 is a view for schematically illustrating a service system including a digital device according to an embodiment of the present invention
- FIG. 2 is a block diagram illustrating a digital device according to one embodiment of the present invention.
- FIG. 3 is a block diagram illustrating a digital device according to another embodiment of FIG. 2;
- FIG. 4 is a block diagram illustrating a digital device according to another embodiment of the present invention.
- FIG. 5 is a block diagram illustrating a digital device according to another embodiment of the present invention.
- FIGS. 2 to 5 are block diagram illustrating the detailed configuration of the control unit of FIGS. 2 to 5 according to an embodiment of the present invention
- FIG. 7 is a diagram illustrating a WebOS architecture according to an embodiment of the present invention.
- FIG. 8 is a view for explaining the architecture of a WebOS device according to an embodiment of the present invention.
- FIG. 9 is a diagram for explaining a graphic composition flow in a webOS device according to one embodiment of the present invention.
- FIG. 10 is a diagram illustrating a media server according to one embodiment of the present invention.
- FIG. 11 is a block diagram illustrating a configuration block of a media server according to one embodiment of the present invention.
- FIG. 12 is a diagram illustrating a relationship between a media server and a TV service according to an embodiment of the present invention
- FIG. 13 and 14 illustrate a device control system including a target device and a control device according to the present invention
- FIG. 15 is a diagram illustrating an internal configuration module of device control system configurations based on FIG. 14; FIG.
- FIG. 16 is a flowchart illustrating a process of performing a Miracast function with a target device through a control device in the device control system of FIG. 15;
- 17 is a flowchart illustrating a control command processing process of a target device according to an embodiment of the present invention.
- 18 to 23 are diagrams for explaining the operation of the target device according to FIG. 17;
- 24 is a flowchart illustrating a control command processing procedure of a target device according to another embodiment of the present invention.
- 25 to 28 are diagrams for explaining the operation of the target device according to FIG. 24;
- 29 to 32 are diagrams for explaining the operation of the target device after the above 26 to 28;
- 33 to 34 are diagrams for explaining a process of processing weather information through a control device according to the present invention.
- FIG. 35 is a diagram for explaining a result screen configuration of the target device associated with FIG. 33 or 34; FIG. And
- 36 is a diagram to describe interactive data processing fixing of a target device according to an embodiment of the present invention.
- the term "digital device” includes, for example, all devices capable of performing at least one or more of transmitting, receiving, processing, and outputting data, content, services, applications, and the like.
- the digital device may be paired or connected (hereinafter referred to as 'pairing') with another digital device or an external server through a wire / wireless network, and may transmit / receive predetermined data therethrough.
- the predetermined data also includes control data. And if necessary, the data can be properly converted before its transmission / reception.
- the digital device includes, for example, a standing device such as a Network TV, a Hybrid Broadcast Broadband TV (HBBTV), a Smart TV, an Internet Protocol TV (IPTV), a PC, or the like, and a PDA (A mobile device or a handheld device, such as a personal digital assistant, a smart phone, a tablet PC, a notebook, a wearable device, and the like, may all be included.
- a digital TV, a mobile device in FIG. 4, and a wearable device in FIG. 5 will be described and illustrated as an example of a digital device for better understanding of the present invention and for convenience of the applicant.
- the wearable device may have various forms such as a watch type, a glass type, a chip type, etc.
- a watch type for example, a smart watch is described as an example for convenience.
- the digital device described herein may be a digital signage, monitor, or display device composed only of panels, and may be a set-top box (STB). It may be a part of one service system including or in combination with a server.
- STB set-top box
- wired / wireless network refers to a communication network supporting various communication standards or protocols for pairing and / or transmitting and receiving data between digital devices or digital devices and external servers.
- wired / wireless networks include all communication networks that are currently or will be supported by the specification and are capable of supporting one or more communication protocols for them.
- Such wired and wireless networks include, for example, Universal Serial Bus (USB), Composite Video Banking Sync (CVBS), Component, S-Video (Analog), Digital Visual Interface (DVI), High Definition Multimedia Interface (HDMI), Network for wired connection such as RGB, D-SUB and communication standard or protocol therefor, Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), Zigbee (ZigBee), Digital Living Network Alliance (DLNA), Wireless LAN (WLAN) (Wi-Fi), Wireless broadband (Wibro), World Interoperability for Microwave Access (Wimax), High Speed Downlink Packet Access (HSDPA), LTE / LTE It may be formed by a network for a wireless connection such as Long Term Evolution / LTE-Advanced (A), Wi-Fi Direct, and a communication standard or protocol therefor.
- RFID Radio Frequency Identification
- IrDA Infrared Data Association
- UWB Ultra Wideband
- the meaning when referred to herein only as a digital device, the meaning may mean a fixed device or a mobile device depending on the context, and may be used to include both unless specifically mentioned.
- the digital device is, for example, an intelligent device that supports a broadcast receiving function, a computer function or support, at least one external input, and the like.
- the digital device is an email, web browsing, banking, game, Applications and so on.
- the digital device may include an interface for supporting at least one input or control means (hereinafter, “input means”) such as a handwritten input device, a touch screen, and a spatial remote controller.
- the digital device may use a standardized general operating system (OS), but in particular, the digital device described in the present specification uses a web OS. Therefore, the digital device can add, delete, modify, and update various services or applications on a general-purpose OS kernel or Linux kernel, thereby constructing a more user-friendly environment. Can be provided.
- OS general operating system
- the digital device described in the present specification uses a web OS. Therefore, the digital device can add, delete, modify, and update various services or applications on a general-purpose OS kernel or Linux kernel, thereby constructing a more user-friendly environment. Can be provided.
- the above-described digital device may receive and process an external input, wherein the external input is connected to an external input device, that is, the above-described digital device through a wired / wireless network to transmit / receive data.
- the external input may be a gaming device such as a high-definition multimedia interface (HDMI), a playstation or an X-box, a smartphone, a tablet PC, a pocket photo, or the like.
- Digital devices such as printing devices, smart TVs, Blu-ray device devices and the like.
- server refers to a digital device or system for supplying data to or receiving data from the above-mentioned digital device, that is, a client, and also referred to as a processor. do.
- a portal server for providing a web page, a web content or a web service
- an advertising server for providing advertising data
- Providing a content server providing content an SNS server providing a social network service (SNS), a service server provided by a manufacturer, and providing a video on demand (VOD) or streaming service
- SNS social network service
- VOD video on demand
- It may include a multi-channel video programming distributor (MVDP), a service server for providing a pay service, a cloud server, and the like.
- MVDP multi-channel video programming distributor
- the meaning may be a meaning including not only an application but also a service based on the context and the like, and the web supported on the WebOS platform according to the present invention. It may also include a web application.
- a device control system including controlling devices and a targeted device according to an embodiment of the present invention receives a voice signal, converts it into digital audio data, and outputs the digital audio data.
- a first control device configured to perform a speech to text (STT) process on the digital voice data to generate and output text data corresponding to the voice signal, and a voice interface related to the voice signal reception;
- a target that outputs a voice interface processes the text data received from the second control device by NLP (Natural Language Processing), constructs a result screen for the text data, outputs the result screen, and performs a function corresponding to the output result screen. It includes a device.
- STT speech to text
- NLP Natural Language Processing
- a target device controlled by a control command received through at least one control device may include a first receiver for receiving content, a voice signal from the control device, or a voice signal from the control device.
- a second receiving unit for receiving corresponding text data, a decoder for decoding the content, a processing unit for processing the text data, identifying whether the text data received from the processed data includes a control command, and receiving the identified text data.
- a control unit and decoded content in response to controlling a voice interface output, constructing a result screen corresponding to the processed data to control output, and performing a function corresponding to the output result screen; With the resulting display or function
- An output portion for outputting comprises a.
- FIG. 1 is a diagram schematically illustrating a service system including a digital device according to an embodiment of the present invention.
- the service system includes a content provider 10, a service provider 20, a network provider 30, and a home network end user (HNED). (Customer) 40.
- the HNED 40 comprises, for example, a client 100, ie a digital device according to the invention.
- the content provider 10 produces and provides various contents. As shown in FIG. 1, such a content provider 10 includes a terrestrial broadcast sender, a cable SO (System Operator) or MSO (Multiple SO), a satellite broadcast sender, various Internet broadcast senders, Personal content providers and the like.
- the content provider 10 may produce and provide various services or applications in addition to broadcast content.
- the service provider 20 service packetizes the content produced by the content provider 10 and provides it to the HNED 40.
- the service provider 20 packages at least one or more of contents produced by the first terrestrial broadcast, the second terrestrial broadcast, the cable MSO, satellite broadcast, various Internet broadcasts, applications, and the like for the service, and HNED. Provide 40.
- the service provider 20 provides a service to the client 100 in a uni-cast or multi-cast manner. Meanwhile, the service provider 20 may transmit data to a plurality of clients 100 registered in advance. For this, the service provider 20 may use an Internet Group Management Protocol (IGMP) protocol.
- IGMP Internet Group Management Protocol
- the content provider 10 and the service provider 20 described above may be the same entity.
- the content produced by the content provider 10 may be packaged as a service and provided to the HNED 40 to perform the functions of the service provider 20 together or vice versa.
- the network provider 30 provides a network for data exchange between the content provider 10 or / and the service provider 20 and the client 100.
- the client 100 is a consumer belonging to the HNED 40, and for example, establishes a home network through the network provider 30 to receive data, and receives data about various services or applications such as VoD and streaming. You can also send / receive.
- the content provider 10 and / or the service provider 20 in the service system may use conditional access or content protection means to protect the transmitted content.
- the client 100 may use a processing means such as a cable card (or point of deployment) or a downloadable casing (DCAS) in response to the limited reception or content protection.
- a processing means such as a cable card (or point of deployment) or a downloadable casing (DCAS) in response to the limited reception or content protection.
- the client 100 may also use a bidirectional service through a network. Accordingly, the client 100 may perform a role or function of the content provider, and the service provider 20 may receive it and transmit it to another client.
- the content provider 10 and / or the service provider 20 may be a server that provides a service described later herein.
- the server may mean to own or include the network provider 30 as necessary.
- the service or service data includes not only services or applications received from the outside described above but also internal services or applications, and these services or applications are services for the client 100 based on Web OS (Web OS). To application data.
- Web OS Web OS
- FIG. 2 is a block diagram illustrating a digital device according to an embodiment of the present invention.
- the digital device described herein corresponds to the client 100 of FIG. 1.
- the digital device 200 includes a network interface 201, a TCP / IP manager 202, a service delivery manager 203, an SI decoder 204, A demux or demultiplexer 205, an audio decoder 206, a video decoder 207, a display A / V and OSD module 208, a service control manager (service control manager) 209, service discovery manager 210, SI & metadata DB 211, metadata manager 212, service manager 213, And a UI manager 214.
- a network interface 201 includes a network interface 201, a TCP / IP manager 202, a service delivery manager 203, an SI decoder 204, A demux or demultiplexer 205, an audio decoder 206, a video decoder 207, a display A / V and OSD module 208, a service control manager (service control manager) 209, service discovery manager 210, SI & metadata DB 211, metadata manager 212, service manager 213, And a UI
- the network interface unit 201 may be configured to perform IP packet (s) (Internet Protocol (IP) packet (s)) or IP datagram (s) (IP datagram (s)) (hereinafter referred to as IP packet (s) through a network to access. Send / receive)
- IP packet Internet Protocol
- IP datagram IP datagram
- the network interface unit 201 may receive a service, an application, content, and the like from the service provider 20 of FIG. 1 through a network.
- the additional information may include SI information.
- the network interface unit 201 may be replaced with a tuner.
- the TCP / IP manager 202 may be configured to transfer packets between the source and the destination for IP packets received by the digital device 200 and IP packets transmitted by the digital device 200. involved in packet delivery).
- the TCP / IP manager 202 classifies the received packet (s) to correspond to an appropriate protocol, and includes a service delivery manager 205, a service discovery manager 210, a service control manager 209, and a metadata manager 212. Output the classified packet (s).
- the service delivery manager 203 is in charge of controlling the received service data.
- the service delivery manager 203 may use RTP / RTCP when controlling real-time streaming data.
- the service delivery manager 203 parses the received data packet according to the RTP and transmits it to the demultiplexer 205 or the control of the service manager 213.
- the service delivery manager 203 feeds back the network reception information to a server that provides a service using RTCP.
- the demultiplexer 205 demultiplexes the received packet into audio, video, SI (System Information) data, and the like, and transmits the demultiplexed unit to the audio / video decoders 206/207 and the SI decoder 204, respectively.
- SI System Information
- the SI decoder 204 includes demultiplexed SI data, that is, Program Specific Information (PSI), Program and System Information Protocol (PSIP), Digital Video Broadcasting-Service Information (DVB-SI), and Digital Television Terrestrial Multimedia (DTMB / CMMB). Decode service information such as Broadcasting / Coding Mobile Multimedia Broadcasting).
- the SI decoder 204 may store the decoded service information in the SI & metadata database 211. The stored service information may be read and used by the corresponding configuration, for example, at the request of a user.
- the audio / video decoder 206/207 decodes each demultiplexed audio data and video data.
- the decoded audio data and video data are provided to the user through the display unit 208.
- the application manager may include, for example, the UI manager 214 and the service manager 213 and perform a control function of the digital device 200.
- the application manager may manage the overall state of the digital device 200, provide a user interface (UI), and manage other managers.
- UI user interface
- the UI manager 214 provides a Graphic User Interface (UI) / UI for a user using an OSD (On Screen Display), etc., and receives a key input from the user to perform a device operation according to the input. For example, the UI manager 214 transmits the key input signal to the service manager 213 when receiving a key input related to channel selection from the user.
- UI Graphic User Interface
- OSD On Screen Display
- the service manager 213 controls a manager associated with a service such as a service delivery manager 203, a service discovery manager 210, a service control manager 209, and a metadata manager 212.
- the service manager 213 generates a channel map and controls the channel selection using the generated channel map according to the key input received from the UI manager 214.
- the service manager 213 receives service information from the SI decoder 204 and sets the audio / video packet identifier (PID) of the selected channel to the demultiplexer 205.
- PID audio / video packet identifier
- the PID set as described above may be used in the above demultiplexing process. Accordingly, the demultiplexer 205 filters (PID or section filtering) audio data, video data, and SI data by using the PID.
- the service discovery manager 210 provides information necessary for selecting a service provider that provides a service. Upon receiving a signal regarding channel selection from the service manager 213, the service discovery manager 210 searches for a service using the information.
- the service control manager 209 is responsible for selecting and controlling services.
- the service control manager 209 uses IGMP or RTSP when the user selects a live broadcasting service such as a conventional broadcasting method, and selects a service such as VOD (Video on Demand).
- the RTSP is used to perform service selection and control.
- the RTSP protocol may provide a trick mode for real time streaming.
- the service control manager 209 may initialize and manage a session through the IMS gateway 250 using an IP Multimedia Subsystem (IMS) or a Session Initiation Protocol (SIP).
- IMS IP Multimedia Subsystem
- SIP Session Initiation Protocol
- the protocols are one embodiment, and other protocols may be used depending on implementation.
- the metadata manager 212 manages metadata associated with the service and stores the metadata in the SI & metadata database 211.
- the SI & metadata database 211 stores service information decoded by the SI decoder 204, metadata managed by the metadata manager 212, and information necessary to select a service provider provided by the service discovery manager 210. Save it.
- the SI & metadata database 211 can store set-up data and the like for the system.
- the SI & metadata database 211 may be implemented using non-volatile memory (NVRAM), flash memory, or the like.
- NVRAM non-volatile memory
- the IMS gateway 250 is a gateway that collects functions necessary for accessing an IMS-based IPTV service.
- FIG. 3 is a block diagram illustrating a digital device according to another embodiment of FIG. 2.
- the digital device 300 may include a broadcast receiver 305, an external device interface 335, a storage 340, a user input interface 350, a controller 370, a display 380, The audio output unit 385, a power supply unit 390, and a photographing unit (not shown) may be included.
- the broadcast receiver 305 may include at least one tuner 310, a demodulator 320, and a network interface unit 330.
- the broadcast receiver 305 may include a tuner 310 and a demodulator 320 but may not include the network interface 330, or vice versa.
- the broadcast receiver 305 includes a multiplexer and a signal demodulated by the demodulator 320 through the tuner 310 and a signal received through the network interface 330. You can also multiplex.
- the broadcast receiving unit 325 may include a demultiplexer to demultiplex the multiplexed signal or to demultiplex the demodulated signal or the signal passed through the network interface unit 330. Can be.
- the tuner 310 receives an RF broadcast signal by tuning a channel selected by a user or all previously stored channels among radio frequency (RF) broadcast signals received through an antenna. In addition, the tuner 310 converts the received RF broadcast signal into an intermediate frequency (IF) signal or a baseband signal.
- IF intermediate frequency
- the received RF broadcast signal is a digital broadcast signal
- it is converted into a digital IF signal (DIF).
- the analog broadcast signal is converted into an analog baseband video or audio signal (CVBS / SIF). That is, the tuner 310 may process both digital broadcast signals or analog broadcast signals.
- the analog baseband video or audio signal CVBS / SIF output from the tuner 310 may be directly input to the controller 370.
- the tuner 310 may receive an RF broadcast signal of a single carrier or multiple carriers. Meanwhile, the tuner 310 sequentially tunes and receives RF broadcast signals of all broadcast channels stored through a channel memory function among RF broadcast signals received through an antenna, and converts them into intermediate frequency signals or baseband signals (DIFs). Frequency or baseband signal).
- DIFs intermediate frequency signals or baseband signals
- the demodulator 320 may receive and demodulate the digital IF signal DIF converted by the tuner 310 and perform channel decoding.
- the demodulator 320 includes a trellis decoder, a de-interleaver, a reed-solomon decoder, or a convolutional decoder, deinterleaver, and lead. A solo decoder or the like.
- the demodulator 320 may output a stream signal TS after performing demodulation and channel decoding.
- the stream signal may be a signal multiplexed with a video signal, an audio signal, or a data signal.
- the stream signal may be an MPEG-2 Transport Stream (TS) multiplexed with an MPEG-2 standard video signal, a Dolby AC-3 standard audio signal, and the like.
- TS MPEG-2 Transport Stream
- the stream signal output from the demodulator 320 may be input to the controller 370.
- the controller 370 may control demultiplexing, image / audio signal processing, and the like, and control the output of the audio through the display 380 and the audio output unit 385.
- the external device interface unit 335 provides an interface environment between the digital device 300 and various external devices.
- the external device interface unit 335 may include an A / V input / output unit (not shown) or a wireless communication unit (not shown).
- the external device interface unit 335 may include a digital versatile disk (DVD), a Blu-ray, a game device, a camera, a camcorder, a computer (laptop), a tablet PC, a smartphone, a Bluetooth device (Bluetooth). device), an external device such as a cloud, etc. may be connected via wired / wireless.
- the external device interface unit 335 transmits a signal including data such as an image, video, and audio input through the connected external device to the controller 370 of the digital device.
- the controller 370 may control the processed image, video, audio, and the like to output the data signal to the connected external device.
- the external device interface unit 335 may further include an A / V input / output unit (not shown) or a wireless communication unit (not shown).
- the A / V input / output unit may include a USB terminal, a CVBS (Composite Video Banking Sync) terminal, a component terminal, an S-video terminal (analog), so that video and audio signals of an external device can be input to the digital device 300. It may include a DVI (Digital Visual Interface) terminal, an HDMI (High Definition Multimedia Interface) terminal, an RGB terminal, a D-SUB terminal, and the like.
- the wireless communication unit may perform short range wireless communication with another digital device.
- the digital device 300 may include, for example, Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, and Digital Living Network Alliance (DLNA). It may be networked with other digital devices according to a communication protocol.
- RFID Radio Frequency Identification
- IrDA Infrared Data Association
- UWB Ultra Wideband
- ZigBee ZigBee
- DLNA Digital Living Network Alliance
- the external device interface unit 335 may be connected to the set top box STB through at least one of the various terminals described above to perform an input / output operation with the set top box STB.
- the external device interface unit 335 may receive an application or an application list in an adjacent external device and transmit the received application or application list to the controller 370 or the storage 340.
- the network interface unit 330 provides an interface for connecting the digital device 300 to a wired / wireless network including an internet network.
- the network interface unit 330 may include, for example, an Ethernet terminal for connection with a wired network, and for example, a wireless LAN (WLAN) for connection with a wireless network.
- WLAN wireless LAN
- Fi Wibro (Wireless broadband), Wimax (World Interoperability for Microwave Access), and High Speed Downlink Packet Access (HSDPA) communication standards.
- the network interface unit 330 may transmit or receive data with another user or another digital device through the connected network or another network linked to the connected network.
- some content data stored in the digital device 300 may be transmitted to another user or a selected digital device selected from the other digital devices 300 or a selected digital device.
- the network interface unit 330 may access a predetermined web page through a connected network or another network linked to the connected network. That is, by accessing a predetermined web page through the network, it is possible to send or receive data with the server. In addition, it may receive content or data provided by a content provider or a network operator. That is, content such as a movie, an advertisement, a game, a VOD, a broadcast signal, and related information provided from a content provider or a network provider may be received through a network. In addition, it is possible to receive the update information and the update file of the firmware (firmware) provided by the network operator. It may also transmit data to the Internet or content provider or network operator.
- the network interface unit 330 may select and receive a desired application from among applications that are open through the network.
- the storage unit 340 may store a program for processing and controlling each signal in the controller 370, or may store a signal-processed video, audio, or data signal.
- the storage unit 340 may perform a function for temporarily storing an image, audio, or data signal input from the external device interface unit 335 or the network interface unit 330.
- the storage unit 340 may store information about a predetermined broadcast channel through a channel storage function.
- the storage unit 340 may store an application or a list of applications input from the external device interface unit 335 or the network interface unit 330.
- the storage unit 340 may store various platforms described below.
- the storage unit 340 may be, for example, a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD or XD). Memory, etc.), RAM (RAM), or ROM (EEPROM, etc.) may include at least one type of storage medium.
- the digital device 300 may reproduce and provide a content file (video file, still image file, music file, document file, application file, etc.) stored in the storage unit 340 to the user.
- FIG 3 illustrates an embodiment in which the storage unit 340 is provided separately from the control unit 370, but the present invention is not limited thereto. In other words, the storage 340 may be included in the controller 370.
- the user input interface unit 350 transmits a signal input by the user to the controller 370 or transmits a signal of the controller 370 to the user.
- the user input interface unit 350 receives control signals such as power on / off, channel selection, and screen setting from a remote control device according to various communication methods such as an RF communication method and an infrared (IR) communication method. Or transmit a control signal of the controller 370 to the remote control device.
- control signals such as power on / off, channel selection, and screen setting from a remote control device according to various communication methods such as an RF communication method and an infrared (IR) communication method.
- IR infrared
- the user input interface unit 350 may transmit a control signal input from a local key (not shown), such as a power key, a channel key, a volume key, and a set value, to the controller 370.
- a local key such as a power key, a channel key, a volume key, and a set value
- the user input interface unit 350 transmits a control signal input from a sensing unit (not shown) that senses a user's gesture to the control unit 370 or transmits a signal of the control unit 370 to the sensing unit.
- the sensing unit may include a touch sensor, a voice sensor, a position sensor, an operation sensor, and the like.
- the controller 370 demultiplexes the stream input through the tuner 310, the demodulator 320, or the external device interface 335, or processes the demultiplexed signals to generate a signal for video or audio output. And output.
- the image signal processed by the controller 370 may be input to the display unit 380 and displayed as an image corresponding to the image signal.
- the image signal processed by the controller 370 may be input to the external output device through the external device interface 335.
- the audio signal processed by the controller 370 may be audio output to the audio output unit 385.
- the voice signal processed by the controller 370 may be input to the external output device through the external device interface 335.
- the controller 370 may include a demultiplexer, an image processor, and the like.
- the controller 370 may control overall operations of the digital device 300. For example, the controller 370 may control the tuner 310 to control tuning of an RF broadcast corresponding to a channel selected by a user or a pre-stored channel.
- the controller 370 may control the digital device 300 by a user command or an internal program input through the user input interface unit 350. In particular, it is possible to connect to the network so that the user can download the desired application or application list into the digital device 300.
- the controller 370 controls the tuner 310 to input a signal of a selected channel according to a predetermined channel selection command received through the user input interface unit 350. It processes the video, audio or data signal of the selected channel. The controller 370 allows the channel information selected by the user to be output through the display unit 380 or the audio output unit 385 together with the processed video or audio signal.
- the controller 370 may receive an external device image playback command from the external device, for example, a camera or a camcorder, according to an external device image playback command received through the user input interface unit 350.
- the video signal or the audio signal may be output through the display unit 380 or the audio output unit 385.
- the controller 370 may control the display 380 to display an image.
- an image For example, a broadcast image input through the tuner 310, an external input image input through the external device interface unit 335, an image input through a network interface unit, or an image stored in the storage unit 340.
- the display unit 380 may control the display.
- the image displayed on the display unit 380 may be a still image or a video, and may be a 2D image or a 3D image.
- the controller 370 may control to reproduce the content.
- the content may be content stored in the digital device 300, received broadcast content, or external input content input from the outside.
- the content may be at least one of a broadcast image, an external input image, an audio file, a still image, a connected web screen, and a document file.
- the controller 370 may control to display an application or a list of applications that can be downloaded from the digital device 300 or from an external network.
- the controller 370 may control to install and run an application downloaded from an external network, along with various user interfaces. In addition, by selecting a user, an image related to an application to be executed may be controlled to be displayed on the display unit 380.
- a channel browsing processor may be further provided to generate a thumbnail image corresponding to the channel signal or the external input signal.
- the channel browsing processor receives a stream signal TS output from the demodulator 320 or a stream signal output from the external device interface 335, extracts an image from the input stream signal, and generates a thumbnail image.
- the generated thumbnail image may be input as it is or encoded to the controller 370.
- the generated thumbnail image may be encoded in a stream form and input to the controller 370.
- the controller 370 may display a thumbnail list including a plurality of thumbnail images on the display unit 380 using the input thumbnail image. Meanwhile, the thumbnail images in the thumbnail list may be updated sequentially or simultaneously. Accordingly, the user can easily grasp the contents of the plurality of broadcast channels.
- the display unit 380 converts an image signal, a data signal, an OSD signal processed by the controller 370, or an image signal, data signal, etc. received from the external device interface unit 335 into R, G, and B signals, respectively. Generate a drive signal.
- the display unit 380 may be a PDP, an LCD, an OLED, a flexible display, a 3D display, or the like.
- the display unit 380 may be configured as a touch screen and used as an input device in addition to the output device.
- the audio output unit 385 receives a signal processed by the controller 370, for example, a stereo signal, a 3.1 channel signal, or a 5.1 channel signal, and outputs a voice signal.
- the voice output unit 385 may be implemented with various types of speakers.
- a sensing unit including at least one of a touch sensor, a voice sensor, a position sensor, and a motion sensor may be further provided in the digital device 300. .
- the signal detected by the sensing unit may be transmitted to the control unit 370 through the user input interface unit 350.
- a photographing unit (not shown) for photographing the user may be further provided. Image information photographed by a photographing unit (not shown) may be input to the controller 370.
- the controller 370 may detect a user's gesture by combining or respectively combining an image photographed by a photographing unit or a sensed signal from a sensing unit (not shown).
- the power supply unit 390 supplies the corresponding power throughout the digital device 300.
- the controller 370 may be implemented in the form of a System on Chip (SoC), a display unit 380 for displaying an image, and an audio output unit 385 for audio output.
- SoC System on Chip
- a display unit 380 for displaying an image
- an audio output unit 385 for audio output.
- the power supply unit 390 may include a converter (not shown) for converting AC power into DC power.
- a converter for example, when the display unit 380 is implemented as a liquid crystal panel having a plurality of backlight lamps, an inverter capable of operating a pulse width modulation (PWM) for driving of variable brightness or dimming It may further comprise an inverter (not shown).
- PWM pulse width modulation
- the remote control device transmits the user input to the user input interface unit 350.
- the remote control device may use Bluetooth, Radio Frequency (RF) communication, Infrared (IR) communication, Ultra Wideband (UWB), ZigBee (ZigBee), or the like.
- RF Radio Frequency
- IR Infrared
- UWB Ultra Wideband
- ZigBee ZigBee
- the remote control device may receive an image, an audio or a data signal output from the user input interface unit 350, display it on the remote control device or output an audio or vibration.
- the digital device 300 described above may be a digital broadcast receiver capable of processing a fixed or mobile ATSC or DVB digital broadcast signal.
- the digital device according to the present invention may omit some of the configurations of the illustrated configurations, or may further include components not shown on the contrary.
- the digital device does not include a tuner and a demodulator, and may receive and play content through a network interface unit or an external device interface unit.
- FIG. 4 is a block diagram illustrating a digital device according to another embodiment of the present invention.
- FIG. 2 and 3 illustrate the fixed device as an embodiment of the digital device
- FIG. 4 illustrates the mobile device as another embodiment of the digital device.
- the mobile device 400 may include a wireless communication unit 410, an audio / video input unit 420, a user input unit 430, a sensing unit 440, an output unit 450,
- the memory 460 may include an interface unit 470, a controller 480, a power supply unit 490, and the like.
- the wireless communication unit 410 may include one or more modules that enable wireless communication between the mobile device 400 and the wireless communication system or between the mobile device and the network in which the mobile device is located.
- the wireless communication unit 410 may include a broadcast receiving module 411, a mobile communication module 412, a wireless internet module 413, a short range communication module 414, a location information module 415, and the like. .
- the broadcast receiving module 411 receives a broadcast signal and / or broadcast related information from an external broadcast management server through a broadcast channel.
- the broadcast channel may include a satellite channel and a terrestrial channel.
- the broadcast management server may mean a server that generates and transmits a broadcast signal and / or broadcast related information or a server that receives a previously generated broadcast signal and / or broadcast related information and transmits the same to a terminal.
- the broadcast signal may include not only a TV broadcast signal, a radio broadcast signal, and a data broadcast signal, but also a broadcast signal having a data broadcast signal combined with a TV broadcast signal or a radio broadcast signal.
- the broadcast related information may mean information related to a broadcast channel, a broadcast program, or a broadcast service provider.
- the broadcast related information may also be provided through a mobile communication network. In this case, it may be received by the mobile communication module 412.
- the broadcast related information may exist in various forms, for example, in the form of an electronic program guide (EPG) or an electronic service guide (ESG).
- EPG electronic program guide
- ESG electronic service guide
- the broadcast receiving module 411 may be, for example, ATSC, Digital Video Broadcasting-Terrestrial (DVB-T), DVB-S (Satellite), MediaFLO (Media Forward Link Only), DVB-H (Handheld), ISDB-T ( Digital broadcasting signals may be received using a digital broadcasting system such as Integrated Services Digital Broadcast-Terrestrial.
- DVD-T Digital Video Broadcasting-Terrestrial
- DVB-S Setellite
- MediaFLO Media Forward Link Only
- DVB-H Highandheld
- ISDB-T Digital broadcasting signals may be received using a digital broadcasting system such as Integrated Services Digital Broadcast-Terrestrial.
- the broadcast receiving module 411 may be configured to be suitable for not only the above-described digital broadcast system but also other broadcast systems.
- the broadcast signal and / or broadcast related information received through the broadcast receiving module 411 may be stored in the memory 460.
- the mobile communication module 412 transmits and receives a radio signal with at least one of a base station, an external terminal, and a server on a mobile communication network.
- the wireless signal may include various types of data according to transmission and reception of a voice signal, a video call signal, or a text / multimedia message.
- the wireless internet module 413 may be embedded or external to the mobile device 400, including a module for wireless internet access.
- Wireless Internet technologies may include Wireless LAN (Wi-Fi), Wireless Broadband (Wibro), World Interoperability for Microwave Access (Wimax), High Speed Downlink Packet Access (HSDPA), and the like.
- the short range communication module 414 refers to a module for short range communication.
- Short range communication technologies include Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, RS-232, and RS-485. Can be.
- the location information module 415 is a module for obtaining location information of the mobile device 400, and may be a GPS module.
- the A / V input unit 420 is for inputting audio or video signals, and may include a camera 421 and a microphone 422.
- the camera 421 processes image frames such as still images or moving images obtained by the image sensor in the video call mode or the imaging mode.
- the processed image frame may be displayed on the display unit 451.
- the image frame processed by the camera 421 may be stored in the memory 460 or transmitted to the outside through the wireless communication unit 410. Two or more cameras 421 may be provided according to a use environment.
- the microphone 422 receives an external sound signal by a microphone in a call mode, a recording mode, a voice recognition mode, or the like, and processes the external sound signal into electrical voice data.
- the processed voice data may be converted into a form transmittable to the mobile communication base station through the mobile communication module 412 and output in the call mode.
- the microphone 422 may be implemented with various noise removing algorithms for removing noise generated while receiving an external sound signal.
- the user input unit 430 generates input data for the user to control the operation of the terminal.
- the user input unit 430 may include a key pad, a dome switch, a touch pad (constant voltage / capacitance), a jog wheel, a jog switch, and the like.
- the sensing unit 440 may determine a current state of the mobile device 400, such as an open / closed state of the mobile device 400, a location of the mobile device 400, presence or absence of user contact, orientation of the mobile device, acceleration / deceleration of the mobile device, and the like.
- the sensing unit generates a sensing signal for controlling the operation of the mobile device 400. For example, when the mobile device 400 is moved or tilted, the mobile device 400 may sense the position or tilt of the mobile device. In addition, whether the power supply unit 490 supplies power or whether the interface unit 470 is coupled to an external device may be sensed.
- the sensing unit 440 may include a proximity sensor 441 including a near field communication (NFC).
- NFC near field communication
- the output unit 450 is for generating output related to visual, auditory, or tactile senses, and may include a display unit 451, an audio output module 452, an alarm unit 453, and a haptic module 454. have.
- the display unit 451 displays (outputs) information processed by the mobile device 400. For example, when the mobile device is in the call mode, the UI or GUI related to the call is displayed. When the mobile device 400 is in a video call mode or a photographing mode, the mobile device 400 displays a photographed and / or received image, UI, or GUI.
- the display unit 451 may include a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT LCD), an organic light-emitting diode (OLED), a flexible display ( flexible display) and three-dimensional display.
- LCD liquid crystal display
- TFT LCD thin film transistor-liquid crystal display
- OLED organic light-emitting diode
- flexible display flexible display
- three-dimensional display three-dimensional display.
- Some of these displays can be configured to be transparent or light transmissive so that they can be seen from the outside. This may be referred to as a transparent display.
- a representative example of the transparent display is TOLED (Transparant OLED).
- the rear structure of the display unit 451 may also be configured as a light transmissive structure. With this structure, the user can see the object located behind the terminal body through the area occupied by the display unit 451 of the terminal body.
- two or more display units 451 may exist.
- a plurality of display units may be spaced apart or integrally disposed on one surface of the mobile device 400, or may be disposed on different surfaces, respectively.
- the display unit 451 and a sensor for detecting a touch operation form a mutual layer structure (hereinafter referred to as a touch screen)
- the display unit 451 may input other than an output device. It can also be used as a device.
- the touch sensor may have, for example, a form of a touch film, a touch sheet, a touch pad, or the like.
- the touch sensor may be configured to convert a change in pressure applied to a specific portion of the display unit 451 or capacitance generated at a specific portion of the display unit 451 into an electrical input signal.
- the touch sensor may be configured to detect not only the position and area of the touch but also the pressure at the touch.
- the corresponding signal (s) is sent to the touch controller.
- the touch controller processes the signal (s) and then transmits the corresponding data to the controller 480.
- the controller 480 may determine which area of the display 451 is touched.
- the proximity sensor 441 may be disposed in an inner region of the mobile device surrounded by the touch screen or near the touch screen.
- the proximity sensor refers to a sensor that detects the presence or absence of an object approaching a predetermined detection surface or an object present in the vicinity without using a mechanical contact by using an electromagnetic force or infrared rays.
- Proximity sensors have a longer life and higher utilization than touch sensors.
- the proximity sensor examples include a transmission photoelectric sensor, a direct reflection photoelectric sensor, a mirror reflection photoelectric sensor, a high frequency oscillation proximity sensor, a capacitive proximity sensor, a magnetic proximity sensor, and an infrared proximity sensor.
- the touch screen is capacitive, the touch screen is configured to detect the proximity of the pointer by the change of the electric field according to the proximity of the pointer.
- the touch screen may be classified as a proximity sensor.
- the act of allowing the pointer to be recognized without being in contact with the touch screen so that the pointer is located on the touch screen is referred to as a "proximity touch", and the touch
- the act of actually touching the pointer on the screen is called “contact touch.”
- the position where the proximity touch is performed by the pointer on the touch screen refers to a position where the pointer is perpendicular to the touch screen when the pointer is in proximity proximity.
- the proximity sensor detects a proximity touch and a proximity touch pattern (for example, a proximity touch distance, a proximity touch direction, a proximity touch speed, a proximity touch time, a proximity touch position, and a proximity touch movement state).
- a proximity touch and a proximity touch pattern for example, a proximity touch distance, a proximity touch direction, a proximity touch speed, a proximity touch time, a proximity touch position, and a proximity touch movement state.
- Information corresponding to the sensed proximity touch operation and proximity touch pattern may be output on the touch screen.
- the sound output module 452 may output audio data received from the wireless communication unit 410 or stored in the memory 460 in a call signal reception, a call mode or a recording mode, a voice recognition mode, a broadcast reception mode, and the like.
- the sound output module 452 may also output a sound signal related to a function (eg, a call signal reception sound, a message reception sound, etc.) performed by the mobile device 400.
- the sound output module 452 may include a receiver, a speaker, a buzzer, and the like.
- the alarm unit 453 outputs a signal for notifying occurrence of an event of the mobile device 400. Examples of events occurring in the mobile device include call signal reception, message reception, key signal input, and touch input.
- the alarm unit 453 may output a signal for notifying the occurrence of an event in a form other than a video signal or an audio signal, for example, vibration.
- the video signal or the audio signal may also be output through the display unit 451 or the audio output module 452, so that they 451 and 452 may be classified as part of the alarm unit 453.
- the haptic module 454 generates various tactile effects that a user can feel. Vibration is a representative example of the haptic effect generated by the haptic module 454.
- the intensity and pattern of vibration generated by the haptic module 454 can be controlled. For example, different vibrations may be synthesized and output or may be sequentially output.
- the haptic module 454 may not only be subjected to a pin arrangement vertically moving with respect to the contact skin surface, but also to a stimulus such as a jetting force or suction force of air through an injection or inlet, grazing to the skin surface, contact of an electrode, electrostatic force, and the like.
- the haptic module 454 may not only deliver the haptic effect through direct contact, but also may implement the user to feel the haptic effect through a muscle sense such as a finger or an arm.
- the haptic module 454 may be provided with two or more according to the configuration aspect of the mobile device 400.
- the memory 460 may store a program for the operation of the controller 480, and may temporarily store input / output data (eg, a phone book, a message, a still image, a video, etc.).
- the memory 460 may store data relating to various patterns of vibration and sound output when a touch input is input on the touch screen.
- the memory 460 may be a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg, SD or XD memory, etc.). Random Access Memory (RAM), Static Random Access Memory (SRAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Programmable Read-Only Memory (PROM), Magnetic Memory It may include a storage medium of at least one type of a magnetic disk, an optical disk.
- the mobile device 400 may operate in connection with a web storage that performs a storage function of the memory 460 on the Internet.
- the interface unit 470 serves as a path with all external devices connected to the mobile device 400.
- the interface unit 470 receives data from an external device, receives power, transfers the power to each component inside the mobile device 400, or transmits data within the mobile device 400 to the external device.
- wired / wireless headset port, external charger port, wired / wireless data port, memory card port, port for connecting a device with an identification module, audio input / output (I / O) port, The video I / O port, the earphone port, and the like may be included in the interface unit 470.
- the identification module is a chip that stores various types of information for authenticating the use right of the mobile device 400.
- the identification module may include a user identification module (UIM), a subscriber identify module (SIM), and a universal user authentication module (UI). Universal Subscriber Identity Module (USIM), and the like.
- a device equipped with an identification module (hereinafter referred to as an “identification device”) may be manufactured in the form of a smart card. Thus, the identification device can be connected with the terminal via a port.
- the interface unit 470 may be a passage through which power from the cradle is supplied to the mobile device 400 or may be input from the cradle by a user. It may be a passage through which a command signal is transmitted to the mobile device. Various command signals or power input from the cradle may be operated as signals for recognizing that the mobile device is correctly mounted in the cradle.
- the controller 480 typically controls the overall operation of the mobile device 400.
- the controller 480 performs, for example, related control and processing for voice call, data communication, video call, and the like.
- the controller 480 may include a multimedia module 481 for multimedia reproduction.
- the multimedia module 481 may be implemented in the controller 480 or may be implemented separately from the controller 480.
- the controller 480 may perform a pattern recognition process for recognizing a writing input or a drawing input performed on a touch-screen as a character and an image, respectively.
- the power supply unit 490 receives an external power source and an internal power source under the control of the controller 480 to supply power required for the operation of each component.
- Various embodiments described herein may be implemented in a recording medium readable by a computer or similar device using, for example, software, hardware or a combination thereof.
- the embodiments described herein include application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), and the like. It may be implemented using at least one of a processor, a controller, micro-controllers, microprocessors, and other electrical units for performing other functions. Examples may be implemented by the controller 480 itself.
- ASICs application specific integrated circuits
- DSPs digital signal processors
- DSPDs digital signal processing devices
- PLDs programmable logic devices
- FPGAs field programmable gate arrays
- embodiments such as the procedures and functions described herein may be implemented as separate software modules.
- Each of the software modules may perform one or more functions and operations described herein.
- Software code may be implemented in software applications written in a suitable programming language.
- the software code may be stored in the memory 460 and executed by the controller 480.
- the mobile terminal can be extended to a wearable device that can be worn on the body beyond the user mainly holding in the hand.
- wearable devices include a smart watch, a smart glass, a head mounted display (HMD), and the like.
- HMD head mounted display
- the wearable device may be configured to exchange (or interlock) data with another mobile terminal 400.
- the short range communication module 414 may detect (or recognize) a wearable device that can communicate around the mobile terminal 400. Further, when the detected wearable device is a device that is authenticated to communicate with the mobile terminal 400, the controller 480 transmits at least a portion of data processed by the mobile terminal 400 to the wearable device through the short range communication module 414. Can be sent to. Accordingly, the user may use data processed by the mobile terminal 400 through the wearable device. For example, when a call is received by the mobile terminal 400, a phone call may be performed through the wearable device, or when the message is received by the mobile terminal 400, the received message may be confirmed through the wearable device. .
- FIG. 5A is a perspective view illustrating an example of a watch type mobile terminal 500 according to another embodiment of the present invention.
- the watch-type mobile terminal 500 includes a main body 501 having a display unit 511 and a band 502 connected to the main body 501 to be worn on a wrist.
- the main body 501 includes a case forming an external appearance. As shown in the drawing, the case may include a first case 501a and a second case 501b for providing an inner space for accommodating various electronic components. However, the present invention is not limited thereto, and one case may be configured to provide the internal space so that the mobile terminal 500 of the unibody may be implemented.
- the watch type mobile terminal 500 is configured to enable wireless communication, and the main body 501 may be provided with an antenna for wireless communication.
- the antenna can extend the performance using a case.
- a case containing a conductive material may be configured to be electrically connected with the antenna to extend the ground area or the radiation area.
- the display unit 511 may be disposed on the front surface of the main body 501 to output information, and the display unit 511 may be provided with a touch sensor to be implemented as a touch screen. As illustrated, the window 511a of the display unit 511 may be mounted on the first case 501a to form the front surface of the terminal body together with the first case 501a.
- the main body 501 may include a sound output unit 512, a camera 521, a microphone 522, a user input unit 523, and the like.
- the display unit 511 When the display unit 511 is implemented as a touch screen, the display unit 511 may function as the user input unit 523, and thus a separate key may not be provided in the main body 501.
- the band 502 may be worn on the wrist to surround the wrist, and may be formed of a flexible material to facilitate wearing.
- the band 502 may be formed of leather, rubber, silicone, synthetic resin, or the like.
- the band 502 is configured to be detachable to the main body 501, the user can be configured to be replaced with various types of bands according to taste.
- the band 502 can be used to extend the performance of the antenna.
- the band may include a ground extension (not shown) electrically connected to the antenna to extend the ground area.
- the band 502 may be provided with a fastener 502a.
- the fastener 502a may be implemented by a buckle, a snap-fit hook structure, a velcro (trade name), or the like, and may include an elastic section or material. . In this figure, an example in which the fastener 502a is implemented in a buckle form is shown.
- FIG. 5B is a perspective view illustrating an example of a glass type mobile terminal 550 according to another embodiment of the present invention.
- Glass-type mobile terminal 550 is configured to be worn on the head of the human body, it may be provided with a frame portion (case, housing, etc.) for this.
- the frame portion may be formed of a flexible material to facilitate wearing.
- the frame part includes a first frame 551 and a second frame 552 of different materials.
- the frame part is supported by the head, and provides a space for mounting various components.
- an electronic component such as a control module 580, a sound output module 562, or the like may be mounted in the frame unit.
- a lens 553 covering at least one of the left eye and the right eye may be detachably mounted to the frame part.
- the control module 580 is configured to control various electronic components provided in the mobile terminal 550.
- the control module 580 may be understood as a configuration corresponding to the controller 480 described above. In this figure, the control module 580 is illustrated in the frame portion on one side head. However, the position of the control module 580 is not limited thereto.
- the display unit 561 may be implemented in the form of a head mounted display (HMD).
- HMD type is a display method mounted on the head and showing an image directly in front of the user's eyes.
- the display unit 561 may be disposed to correspond to at least one of the left eye and the right eye so as to provide an image directly in front of the user's eyes.
- the display unit 561 is located at a portion corresponding to the right eye so that an image can be output toward the right eye of the user.
- the display unit 561 may project an image to the eyes of a user using a prism.
- the prism can be formed translucent so that the user can see the projected image together with the general field of view (the range the user sees through the eye) together.
- the mobile terminal 660 may provide an augmented reality (AR) that displays a single image by superimposing a virtual image on a real image or a background using the characteristics of the display.
- AR augmented reality
- the camera 571 is disposed adjacent to at least one of the left eye and the right eye, and is formed to capture an image of the front. Since the camera 571 is positioned adjacent to the eye, the camera 571 may acquire a scene viewed by the user as an image.
- the camera 571 is illustrated in the control module 780, but is not necessarily limited thereto.
- the camera 571 may be installed in the frame unit, or may be provided in plural to acquire a stereoscopic image.
- the glass type mobile terminal 550 may include user input units 573a and 573b operated to receive a control command.
- the user inputs 573a and 573b may be adopted in any manner as long as the user is tactile in a tactile manner such as touch or push.
- the frame unit and the control module 580 are provided with push and touch input user inputs 573a and 573b, respectively.
- the glass-type mobile terminal 550 may be provided with a microphone (not shown) for receiving sound and processing it as electrical voice data and a sound output module 562 for outputting sound.
- the sound output module 562 may be configured to transmit sound in a general sound output method or a bone conduction method. When the sound output module 562 is implemented in a bone conduction manner, when the user wears the mobile terminal 550, the sound output module 562 is in close contact with the head and vibrates the skull to transmit sound.
- FIGS. 2 to 5 are block diagram illustrating the detailed configuration of the controller of FIGS. 2 to 5 according to an embodiment of the present invention.
- control unit may include a demultiplexer 610, an image processor 620, an OSD generator 640, a mixer 650, a frame rate converter (FRC) 655, and It may include a formatter 660.
- controller may further include a voice processor and a data processor.
- the demultiplexer 610 demultiplexes an input stream.
- the demultiplexer 610 may demultiplex the input MPEG-2 TS video, audio, and data signals.
- the stream signal input to the demultiplexer 610 may be a stream signal output from a tuner, a demodulator, or an external device interface unit.
- the image processor 620 performs image processing of the demultiplexed image signal.
- the image processor 620 may include an image decoder 625 and a scaler 635.
- the image decoder 625 decodes the demultiplexed video signal, and the scaler 635 scales the resolution of the decoded video signal so that the display unit can output the resolution.
- the image decoder 625 may support various standards. For example, when the video signal is encoded in the MPEG-2 standard, the video decoder 625 functions as an MPEG-2 decoder, and the video signal is encoded in the Digital Multimedia Broadcasting (DMB) method or the H.264 standard. In this case, the function of the H.264 decoder can be performed.
- DMB Digital Multimedia Broadcasting
- the video signal decoded by the image processor 620 is input to the mixer 650.
- the OSD generator 640 generates OSD data according to a user input or itself. For example, the OSD generator 640 generates data for displaying various data in the form of a graphic or text on the screen of the display 380 based on a control signal of the user input interface.
- the generated OSD data includes various data such as a user interface screen of the digital device, various menu screens, widgets, icons, viewing rate information, and the like.
- the OSD generator 640 may generate data for displaying broadcast information based on subtitles or EPGs of a broadcast image.
- the mixer 650 mixes the OSD data generated by the OSD generator 640 and the image signal processed by the image processor to provide the formatter 660.
- the decoded video signal and the OSD data are mixed so that the OSD is overlaid on the broadcast video or the external input video.
- the frame rate converter (FRC) 655 converts a frame rate of an input video.
- the frame rate converter 655 may convert the frame rate of the input 60Hz image to have a frame rate of, for example, 120Hz or 240Hz according to the output frequency of the display unit.
- various methods may exist in the method of converting the frame rate. For example, when the frame rate converter 655 converts the frame rate from 60 Hz to 120 Hz, the frame rate converter 655 inserts the same first frame between the first frame and the second frame or predicts the first frame from the first frame and the second frame. It can be converted by inserting three frames.
- the frame rate converter 555 may insert and convert three more identical or predicted frames between existing frames.
- the frame rate converter 655 may be bypassed.
- the formatter 660 changes the output of the input frame rate converter 655 according to the output format of the display unit.
- the formatter 660 may output R, G, and B data signals, and the R, G, and B data signals may be output as low voltage differential signals (LVDS) or mini-LVDS. Can be.
- the formatter 660 may support a 3D service through the display by configuring the output in a 3D form according to the output format of the display.
- the voice processing unit (not shown) in the controller may perform voice processing of the demultiplexed voice signal.
- the voice processor (not shown) may support processing of various audio formats.
- a voice signal may include moving picture experts group (MPEG) -2, MPEG-4, advanced audio codec (AAC), high efficiency-aac (HE-AAC), audio coding (AC) -3, and bit sliced arithmetic (BSAC).
- MPEG moving picture experts group
- AAC advanced audio codec
- HE-AAC high efficiency-aac
- AC audio coding
- BSAC bit sliced arithmetic
- the voice processing unit (not shown) in the controller may process base, treble, volume control, and the like.
- the data processor in the control unit may perform data processing of the demultiplexed data signal.
- the data processor may decode the demultiplexed data signal even when it is encoded.
- the encoded data signal may be EPG information including broadcast information such as a start time and an end time of a broadcast program broadcasted in each channel.
- each component may be integrated, added, or omitted according to the specifications of the digital device actually implemented. That is, as needed, two or more components may be combined into one component or one component may be subdivided into two or more components.
- the function performed in each block is for explaining an embodiment of the present invention, the specific operation or device does not limit the scope of the present invention.
- the digital device may be an image signal processing device that performs signal processing on an image stored in the device or an input image.
- a set-top box STB
- STB set-top box excluding the display unit 380 and the audio output unit 385 shown in FIG. 3, the above-described DVD player, Blu-ray player, game device, computer And the like can be further illustrated.
- the digital devices according to the above-described embodiments of the present invention may be connected to input means implemented in various forms.
- a front panel or control means (input means) provided on the digital device is used to control the digital device.
- control means is a user interface device (UID) capable of wired and wireless communication, and includes a remote controller, a keyboard, a pointing device, a touch pad, and the like, which are mainly implemented for controlling a digital device.
- An external input only control means connected to the digital device may also be included.
- control means also includes a mobile device such as a smart phone, a tablet PC, and the like that control the digital device through mode switching or the like, although it is not the purpose of digital device control.
- a pointing device is described as an embodiment, but is not limited thereto.
- the input means is a communication protocol such as Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, Digital Living Network Alliance (DLNA), RS, or the like. At least one may be employed as necessary to communicate with the digital device.
- RFID Radio Frequency Identification
- IrDA Infrared Data Association
- UWB Ultra Wideband
- DLNA Digital Living Network Alliance
- RS Digital Living Network Alliance
- the remote controller is a conventional input means equipped with various key buttons necessary for controlling a digital device.
- the pointing device includes a gyro sensor and the like, and implements a pointer corresponding to the screen of the digital device based on a user's movement, pressure, and rotation, and transmits a predetermined control command to the digital device.
- Such a pointing device may be named by various names such as a magic remote controller and a magic controller.
- the keyboard is an intelligent integrated digital device that provides a variety of services such as web browsers, applications, and social network services (SNS), beyond the conventional digital device providing only broadcasting. Similarly, it is implemented to facilitate input of text and the like.
- the control means such as a remote control, a pointing device, a keyboard, etc. may be used for more convenient and various control purposes, such as text input, pointer movement, enlargement / reduction of pictures or videos, by providing a touchpad as necessary.
- the digital device described herein may be operated by a webOS platform.
- a webOS-based configuration or algorithm or the like may be performed by the controller of the above-described digital device.
- the control unit includes the above-described control unit and uses the concept broadly. Therefore, hereinafter, the configuration for the processing of WebOS-based or related services, applications, content, etc. in the digital device, the hardware or components including the related software (software), firmware (firmware), etc. to the controller (controller) Can be explained by naming.
- the webOS based platform is designed to enhance development independence and function scalability by integrating services and applications based on the Luna-service bus, for example, and to develop applications based on the web application framework. Productivity can also be increased. In addition, multi-tasking may be supported by efficiently utilizing system resources through webOS processes and resource management.
- the webOS platform described in the present specification can be used in mobile devices such as mobile phones, smart phones, tablet pcs, notebooks, wearable devices, as well as fixed devices such as PCs, TVs, and STBs. .
- the architecture of software for digital devices is a monolithic structure that is based on conventional problem solving and market-dependent monolithic structures, and is a single process and closed product based on multi-threading technology. Afterwards, there was a difficulty in external application, and after that, we aimed for new platform-based development, and then layered and componentized by pursuing cost innovation and efficient UI and external application development through chip-set replacement. ), Which had a three-layered structure, add-on, single source product, and add-on structure for open applications.
- the software architecture has been further developed to provide a modular architecture of functional units, to provide a Web Open API (Application Programming Interface) for the eco-system, and to provide a game engine. Modular design for the native open API (Native Open API), etc. is being made, and accordingly, it is generated as a multi-process structure based on the service structure.
- FIG. 7 is a diagram illustrating a webOS architecture according to an embodiment of the present invention.
- the architecture of the webOS platform is as follows.
- the platform may be largely classified into a kernel, a system library based web OS core platform, an application, a service, and the like.
- the architecture of the WebOS platform is a layered structure, with the OS at the bottom layer, system library (s) at the next layer, and applications at the top.
- the lowest layer may include a Linux kernel as an OS layer and include Linux as an OS of the digital device.
- BSP Board Support Package
- HAL Hardware Abstraction Layer
- Web OS core modules layer Web OS core modules layer
- Service layer Service layer
- Luna-Service bus layer In the bus layer, the Enyo framework / NDK / QT layer, and the top layer
- the application layer is sequentially present.
- some layers of the above-described webOS layer structure may be omitted, and a plurality of layers may be one layer or conversely, one layer may have a plurality of layer structures.
- the webOS core module layer is based on a Luna Surface Manager (LSM) that manages surface windows, etc., a System & Application Manager (SAM), a WebKit (WebKit) that manages execution and execution states of applications, etc. It may include a WAM (Web Application Manager) for managing a web application.
- LSM Luna Surface Manager
- SAM System & Application Manager
- WebKit WebKit
- WAM Web Application Manager
- the LSM manages an application window displayed on the screen.
- the LSM manages the display hardware, provides a buffer for rendering the contents required by the applications, and synthesizes the rendering results of the plurality of applications on the screen. You can print
- the SAM manages performance policies for various conditions of systems and applications.
- WAM is based on the Enyo Framework, which can be viewed as a web application as a basic application.
- the service use of the application is made through the Luna-service bus, and the service can be newly registered on the bus, and the application can find and use the service that it needs.
- the service layer may include services of various service levels, such as a TV service and a WebOS service.
- the web OS service may include a media server, Node.JS, and the like.
- the Node.JS service supports, for example, JavaScript.
- WebOS services can communicate over the bus to Linux processes that implement function logic. It can be divided into four parts, which are migrated from the TV process and the existing TV to webOS or services that are differentiated from manufacturers, webOS common service and JavaScript developed and used through Node.js. It consists of a Node.js service.
- the application layer may include all applications that can be supported in a digital device, such as a TV application, a showcase application, a native application, and a web application.
- the application on the web OS may be classified into a web application, a Palm Development Kit (PDK) application, a Qt Meta Language or Qt Modeling Language (QML) application, and the like according to an implementation method.
- the web application is based on the WebKit engine and runs on the WAM Runtime.
- Such web applications may be based on the Enyo framework, or may be developed and executed based on general HTML5, Cascading Style Sheets (CSS), or JavaScript.
- the PDK application includes a third-party or native application developed in C / C ++ based on a PDK provided for an external developer.
- the PDK refers to a development library and a set of tools provided to enable a third party such as a game to develop a native application (C / C ++).
- a PDK application can be used for the development of applications whose performance is important.
- the QML application is a Qt-based native application, and includes a basic application provided with a web OS platform such as a card view, a home dashboard, a virtual keyboard, and the like.
- QML is a mark-up language in script form instead of C ++.
- the native application refers to an application that is developed in C / C ++, compiled, and executed in a binary form. Such a native application has an advantage in that its execution speed is fast.
- FIG. 8 is a diagram illustrating an architecture of a webOS device according to an embodiment of the present invention.
- FIG. 8 is a block diagram based on the runtime of the WebOS device, which can be understood with reference to the layered structure of FIG. 7.
- FIGS. 7 and 8 services and applications and WebOS core modules are included on a system OS (Linux) and system libraries, and communication therebetween may be via a luna-service bus.
- system OS Linux
- system libraries system libraries
- communication therebetween may be via a luna-service bus.
- Node.js services based on HTML5, CSS, JavaScript, e-mail, contacts, calendar, logging, backup, file notifier WebOS services such as notify, database (DB), activity manager, system policy, audio daemon (AudioD), update, media server, etc.
- TV services such as Electronic Program Guide (PVR), Personal Video Recorder (PVR), data broadcasting, etc., voice recognition, Now on, Notification, search CP services such as ACR (Auto Content Recognition), CBOX (Contents List Broswer), wfdd, DMR, Remote Application, Download, SDPIF (Sony Philips Digital Interface Format), PDK applications, browser , Native applications such as QML applications And the enyo framework based on the TV UI-related applications and web applications, Luna - made the process via the Web OS core modules, such as the aforementioned SAM, WAM, LSM via the service bus. Meanwhile, in the above, TV applications and web applications may not necessarily be Enyo framework based or UI related.
- CBOX can manage the list and metadata of the content of external devices such as USB, DLNA, cloud, etc. connected to the TV. Meanwhile, the CBOX may output content listings of various content containers such as USB, DMS, DVR, cloud, etc. in an integrated view. In addition, the CBOX can display various types of content listings such as pictures, music, and videos, and manage its metadata. In addition, the CBOX may output the contents of the attached storage in real-time. For example, when a storage device such as USB is plugged in, the CBOX should be able to immediately output a content list of the storage device. In this case, a standardized method for processing the content listing may be defined. In addition, CBOX can accommodate a variety of connection protocols.
- SAM is intended to improve module complexity and enhance scalability.
- the existing System Manager processes multiple functions such as system UI, window management, web application runtime, and handling constraints on UX in one process, so that the complexity of implementation is large. Clear implementation interfaces reduce implementation complexity.
- LSM supports the development and integration of system UX implementations, such as card views and launcher, independently, and makes it easy to respond to changes in product requirements.
- LSM in the case of synthesizing a plurality of application screens such as an App on App (multiple window) to enable the multi-tasking to maximize the hardware resources (HW resources), multi-window (multi-window) and It can provide a window management mechanism (21: 9, etc.).
- LSM supports the implementation of system UI based on QML and improves its development productivity.
- QML UX is based on MVC, which makes it easy to compose views of layouts and UI components, and to easily develop code to handle user input.
- the interface between QML and WebOS components is made through QML extension plug-in, and the graphic operation of the application may be based on the wayland protocol, luna-service call, and so on. have.
- LSM stands for Luna Surface Manager and functions as an application window compositor. LSM allows you to synthesize independently developed applications, UI components, etc. on the screen. In this regard, when components such as a Recents application, a showcase application, a launcher application, and the like, each render their own content, the LSM defines a output area, an interworking method, and the like as a compositor. In other words, the compositor, LSM, handles graphics compositing, focus management, input events, and so on.
- the LSM receives an event, focus, and the like from an input manager.
- the input manager may include a remote controller, a HID such as a mouse & keyboard, a joystick, a game pad, an application remote, a pen touch, and the like.
- LSM supports multiple window models, which can be executed simultaneously in all applications due to the system UI. Related, Launcher, Recents, Settings, Notification, System Keyboard, Volume UI, Search, Finger Gesture, Voice Recognition (STT (Speech to Text), TTS (Text to LSM can support Speech, Natural Language Processing (NLP), pattern gestures (camera, Mobile Radio Control Unit (MRCU)), Live menu, Auto Content Recognition (ACR), etc. .
- NLP Natural Language Processing
- MRCU Mobile Radio Control Unit
- ACR Auto Content Recognition
- FIG. 9 is a diagram for describing a graphic composition flow in a webOS device according to one embodiment of the present invention.
- the graphic composition processing includes a web application manager 910 in charge of a UI process, a webkit 920 in charge of a web process, a LSM 930, and a graphic manager (GM). Through 940.
- the generated graphic data is transferred to the LSM 930 when the graphic data is not a full-screen application.
- the web application manager 910 receives an application generated by the web kit 920 for sharing a GPU (Graphic Processing Unit) memory for graphic management between the UI process and the web process, and then displays the full-screen as described above. If it is not the application passes to the LSM (930). In the case of the full-screen application, the LSM 930 may be bypassed, and in this case, the LSM 930 may be directly transferred to the graphic manager 940.
- the LSM 930 may be bypassed, and in this case, the LSM 930 may be directly transferred to the graphic manager 940.
- the LSM 930 transmits the received UI application to the Wayland Compositor via the Wayland surface, and processes the received UI application to the graphic manager.
- the graphic data delivered from the LSM 930 is delivered to the graphic manager compositor via, for example, the LSM GM surface of the graphic manager 940.
- the full-screen application is delivered directly to the graphic manager 940 without passing through the LSM 930, which is processed by the graphic manager compositor via the WAM GM surface.
- the graphics manager handles all graphic data in the webOS device, including GM surfaces such as data broadcasting applications, caption applications, as well as data via the LSM GM surfaces and WAM GM surfaces described above. Receives all the graphic data that has passed through and processes it to be properly displayed on the screen.
- the function of the GM compositor is the same as or similar to that of the compositor described above.
- FIG. 10 is a diagram illustrating a media server according to an embodiment of the present invention.
- FIG. 11 is a block diagram illustrating a configuration of a media server according to an embodiment of the present invention. Is a diagram illustrating a relationship between a media server and a TV service according to an embodiment of the present invention.
- the media server supports the execution of various multimedia in the digital device and manages necessary resources.
- the media server can efficiently use hardware resources required for media play.
- the media server requires audio / video hardware resources in order to execute multimedia, and can efficiently utilize the resource usage status.
- fixed devices with larger screens than mobile devices require more hardware resources to run multimedia and require faster encoding / decoding and graphics data delivery due to the large amount of data.
- the media server may perform broadcasting, recording, and tuning tasks, simultaneously record a video, or simultaneously display a sender and a receiver screen during a video call. It should be able to handle
- the media server has limited hardware resources such as encoders, decoders, tuners, and display engines on a chip-set basis, making it difficult to execute multiple tasks at the same time. Input is processed.
- the media server can enhance the system stability, for example, by removing and restarting a playback pipeline in which an error occurred during media playback by pipeline and restarting the error. Even if it does not affect other media play.
- a pipeline is a chain connecting the respective unit functions such as decoding, analysis, and output when a media play request is requested, and required unit functions may vary according to a media type.
- Media servers can have extensibility, for example, adding new types of pipelines without affecting existing implementations.
- the media server may accommodate a camera pipeline, a video conference pipeline, a third-party pipeline, and the like.
- the media server can handle normal media playback and TV task execution as separate services because the interface of the TV service is different from the media playback case.
- the media server supports operations such as' setchannel ',' channelup ',' channeldown ',' channeltuning 'and' recordstart 'in relation to TV service, and' play 'and' pause in relation to general media playback.
- operations such as' and 'stop', different operations can be supported for both, and they can be treated as separate services.
- the media server may control or integrate management of resource management functions.
- the allocation and retrieval of hardware resources in the device are integrated in the media server.
- the TV service process transmits the running task and resource allocation status to the media server.
- the media server frees resources and executes pipelines as each media runs, allowing execution by priority (e.g., policy) upon request for media execution based on the resource status occupied by each pipeline. Recall resources of other pipelines.
- priority e.g., policy
- predefined execution priority and required resource information for a specific request are managed by a policy manager, and the resource manager may communicate with the policy manager to process resource allocation and retrieval.
- the media server may hold an identifier (ID) for all operations related to playback. For example, the media server may direct and direct a particular pipeline based on the identifier. The media server may issue separate commands to the pipelines for more than one media playback.
- the media server can be responsible for playback of HTML5 standard media.
- the media server may follow the TV restructuring scope of the separate service processing of the TV pipeline.
- the media server may be designed and implemented regardless of the TV restructuring scope. If the TV is not serviced separately, the media server may need to be re-executed when there is a problem with a specific task.
- the media server is also referred to as uMS, or micro media server.
- the media player is a media client, which is, for example, a web for HTML5 video tag, camera, TV, Skype, 2nd Screen, etc. It can mean a kit.
- management of micro resources such as a resource manager, a policy manager, and the like is a core function.
- the media server also controls the playback control role for the web standard media content.
- the media server may also manage pipeline controller resources.
- Such media servers support, for example, extensibility, reliability, efficient resource usage, and the like.
- the uMS that is, the media server
- the media server is a webOS device such as a TV game and resources such as cloud game, MVPD (pay service, etc.), camera preview, second screen, skype, and the like. It manages and controls the overall use and control of resource for proper processing within the system.
- each resource uses, for example, a pipeline when the resource is used, and the media server can manage and control the creation, deletion, and use of the pipeline for resource management.
- a pipeline is created when a media associated with a task starts a continuation of tasks such as parsing a request, a decoding stream, a video output, and the like. Can be.
- watching, recording, channel tuning, and the like are each processed under control of resource usage through a pipeline generated according to the request. .
- an application or service is connected to a media server 1020 via a luna-service bus 1010, and the media server 1020 is connected to pipelines regenerated through the luna-service bus 1010.
- the application or service may have various clients according to its characteristics and may exchange data with the media server 1020 or pipeline through the client or the client.
- the client includes, for example, a uMedia client (web kit) and a resource manager (RM) client (C / C ++) for connecting to the media server 1020.
- a uMedia client web kit
- RM resource manager
- the application including the uMedia client is connected to the media server 1020 as described above. More specifically, the uMedia client corresponds to, for example, a video object to be described later, and the client uses the media server 1020 for operation of the video by request.
- the video operation relates to a video state
- loading, unloading, play, playback, or reproduce, pause, stop, and the like are all states related to the video operation. May contain data. Each operation or state of such video can be handled through the creation of a separate pipeline. Accordingly, the uMedia client sends state data related to the video operation to the pipeline manager 1022 in the media server.
- the pipeline manager 1022 obtains information on a resource of the current device through data communication with the resource manager 1024 and requests allocation of a resource corresponding to the state data of the uMedia client.
- the pipeline manager 1022 or the resource manager 1024 controls resource allocation through data communication with the policy manager 1026 when necessary in relation to the resource allocation. For example, when there is no resource to be allocated according to the request of the pipeline manager 1022 in the resource manager 1024, or when there is insufficient resource, an appropriate resource allocation is performed according to the request according to the privacy comparison of the policy manager 1026. Can be.
- the pipeline manager 1022 requests the media pipeline controller 1028 to generate a pipeline for an operation according to the request of the uMedia client for the allocated resource according to the resource allocation of the resource manager 1024. .
- the media pipeline controller 1028 generates the required pipeline under the control of the pipeline manager 1022.
- This generated pipeline as shown, not only a media pipeline, a camera pipeline, but also a pipeline related to play, pause, and pause may be generated.
- the pipeline may include a pipeline for HTML5, web CP, smartshare playback, thumbnail extraction, NDK, cinema, multimedia and hypermedia information coding expert groups (MHEG), and the like.
- the pipeline may include, for example, a service-based pipeline (own pipeline) and a URI-based pipeline (media pipeline).
- an application or service including an RM client may not be directly connected to the media server 1020. This is because an application or service may handle media directly. In other words, when an application or service directly processes media, it may not go through a media server. However, at this time, resource management is required for pipeline creation and its use. For this, the uMS connector functions. Meanwhile, when the uMS connector receives a resource management request for direct media processing of the application or service, the uMS connector communicates with the media server 1020 including the resource manager 1024. To this end, the media server 1020 should also be equipped with a uMS connector.
- the application or service may respond to the request of the RM client by receiving resource management of the resource manager 1024 through the uMS connector.
- RM clients can handle services such as native CP, TV services, second screens, Flash players, YouTube Source Source Extensions (MSE), cloud games, and Skype.
- the resource manager 1024 may manage the resource through the data communication with the policy manager 1026 as necessary for resource management.
- the URI-based pipeline is made through the media server 1020, rather than directly processing the media as described above.
- a URI-based pipeline may include a player factory, a Gstreamer, a streaming plug-in, a digital rights management plug-in pipeline, and the like.
- an interface method between an application and media services may be as follows.
- the interface is a non-WebOS. In this case, you can call the Luna bus directly to interface.
- Seamless change is handled by a separate module (e.g. TVWIN), which is the process of first displaying and seamlessly displaying the TV on the screen without webOS before or during the webOS boot. to be. It is used for the purpose of providing the basic functions of TV service for quick response to the user's power on request because the webOS boot time is slow.
- the module also supports seamless change, factory mode, and the like, which provide fast boot and basic TV functions as part of the TV service process.
- the module may be responsible for switching from the non-webOS mode to the webOS mode.
- a processing structure of the media server is shown.
- the solid line box may indicate a process processing configuration
- the dotted line box may indicate an internal processing module during the process.
- the solid arrow may indicate an inter-process call, that is, a Luna service call
- the dashed arrow may indicate a notification or data flow such as register / notify.
- a service or web application or PDK application (hereinafter referred to as an "application") is connected to various service processing configurations via a luna-service bus, through which the application operates or is controlled.
- the data processing path depends on the type of application. For example, when the application is image data related to a camera sensor, the application is transmitted to the camera processor 1130 and processed. In this case, the camera processor 1130 processes image data of the received application, including a gesture, a face detection module, and the like. For example, when the data is required to be selected by the user or to automatically use the pipeline, the camera processor 1130 may generate a pipeline through the media server processor 1110 and process the corresponding data.
- the audio may be processed through the audio processor 1140 and the audio module 1150.
- the audio processor 1140 processes the audio data received from the application and transmits the audio data to the audio module 1150.
- the audio processor 1140 may include an audio policy manager to determine the processing of the audio data.
- the audio data thus processed is processed by the audio module 1160.
- the application may notify data related to audio data processing to the audio module 1160, which may also notify the audio module 1160 in a related pipeline.
- the audio module 1150 includes an advanced Linux sound architecture (ALSA).
- the corresponding content data is transmitted to the DRM service processor 1160, and the DRM service processor 1170 generates a DRM instance.
- the DRM service processor 1160 may be connected to and process the DRM pipeline in the media pipeline through the Luna-service bus to process the content data on which the DRM is applied.
- the following describes processing when the application is media data or TV service data (e.g., broadcast data).
- TV service data e.g., broadcast data
- FIG. 12 illustrates only the media server processing unit and the TV service processing unit in FIG. 11 described above in more detail.
- the TV service processor 1120 may include, for example, at least one or more of a DVR / channel manager, a broadcasting module, a TV pipeline manager, a TV resource manager, a data broadcasting module, an audio setting module, a path manager, and the like.
- the TV service processor 1220 may include a TV broadcast handler, a TV broadcast interface, a service processor, a TV middleware, a path manager, and a BSP.
- the service processor may mean, for example, a module including a TV pipeline manager, a TV resource manager, a TV policy manager, a USM connector, and the like.
- the TV service processor may have a configuration as shown in FIG. 11 or 12 or a combination thereof, and some components may be omitted or some components not shown may be added.
- the TV service processor 1120/1220 transmits the DVR (Digital Video Recorder) or channel related data to the DVR / channel manager based on the property or type of the TV service data received from the application, and then the TV pipeline manager. To create and process the TV pipeline. Meanwhile, when the attribute or type of the TV service data is broadcast content data, the TV service processor 1120 generates and processes a TV pipeline through a TV pipeline manager for processing the corresponding data through a broadcast module.
- DVR Digital Video Recorder
- a json (Javascript standard object notation) file or a file written in c is processed by the TV broadcast handler and transmitted to the TV pipeline manager through the TV broadcast interface to generate and process a TV pipeline.
- the TV broadcast interface unit may transmit data or files that have passed through the TV broadcast handler to the TV pipeline manager based on the TV service policy and refer to them when generating the pipeline.
- the TV broadcast interface may also perform a controller function of the TV service processor 1220.
- the TV broadcast interface requests the pipeline creation to the TV pipeline manager, which creates the TV pipeline and requests resources to the TV resource manager.
- the TV resource manager makes a resource request to the media server through the uMS connector and acquires it, and returns it to the TV pipeline manager.
- the TV pipeline manager arranges the returned resources in the generated TV pipeline and registers pipeline information in the path manager.
- the TV pipeline manager then returns the results to the TV pipeline manager, which returns the pipeline to the TV broadcast interface.
- the TV broadcast interface communicates with the TV middleware (MW) to request a channel change and the like, and returns the result from the TV middleware.
- MW TV middleware
- the TV service may be processed.
- the TV pipeline manager may be controlled by the TV resource manager in generating one or more pipelines in response to a TV pipeline generation request from a processing module or manager in a TV service.
- the TV resource manager may be controlled by the TV policy manager to request the state and allocation of resources allocated for the TV service according to the TV pipeline creation request of the TV pipeline manager, and the media server processor 1110. / 1210) and uMS connector to communicate data.
- the resource manager in the media server processor 1110/1210 transmits a status and resource allocation of a resource for a current TV service at the request of the TV resource manager. For example, as a result of checking the resource manager in the media server processor 1110/1210, if all resources for the TV service are already allocated, the TV resource manager may notify that all resources are currently allocated.
- the resource manager in the media server processing unit removes a predetermined TV pipeline according to a priority or a predetermined criterion among the TV pipelines pre-allocated for the TV service along with the notification and generates a TV pipeline for the requested TV service. May be requested or assigned.
- the TV resource manager may appropriately remove, add, or establish a TV pipeline in accordance with the status report of the resource manager in the media server processor 1110/1210.
- the BSP for example, supports compatibility with existing digital devices.
- the TV pipelines thus generated may be properly operated under the control of the path manager during the processing.
- the path manager may determine or control the processing path or process of the pipelines in consideration of not only the TV pipeline but also the operation of the pipeline generated by the media server processor 1110/1210.
- the media server processor 1110/1210 includes a resource manager, a policy manager, a media pipeline manager, a media pipeline controller, and the like.
- a pipeline generated under the control of the media pipeline manager and the media pipeline controller can be variously created such as a camera preview pipeline, a cloud game pipeline, and a media pipeline.
- the media pipeline may include a streaming protocol, an auto / static gstreamer, a DRM, and the like, which may be determined according to a path manager's control.
- the detailed processing procedure in the media server processor 1110/1210 uses the above-described description of FIG. 10 and will not be repeated herein.
- the resource manager in the media server processor 1110/1210 may manage resources on a counter base, for example.
- Media Server is a media framework that allows third-party multimedia pipeline (s) to interface with the WebOS platform.
- the media server may control, manage, isolate, deconflict, and the like, such that the third-party multimedia pipeline (s) are compliant.
- These media servers provide a generalized API for applications to play media and can be viewed as platform modules that consistently manage hardware resources and policies.
- the design of the media server is to reduce the complexity through generalization of media processing and separation of related modules.
- the key to such a media server is to provide integration of, for example, the service interface with the WebOS UI.
- the media server controls the resource manager, policy manager, pipeline manager, and provides API access according to resource manager queries.
- the uMS Connector is the main API and SDK to interface client media pipeline processes with the media server.
- Ums connectors are events and messages about the interface.
- the client media pipelines implement client media pipeline state events for enabling load, play, pose, seek, stop, unload, release resource (release_resource), aquire resource (acquire_resource), and the like. .
- the uMedia API provides C and C ++ APIs to the media server.
- the media resource manager provides a method of describing the use of media hardware resources and pipeline client resources in a simple configuration file.
- the Media Resource Manager provides all the performance and information needed to implement default or third-party media policy management.
- the media policy manager works when the resource manager rejects the media pipeline because of a resource conflict.
- the policy manager can provide a consistent API and SDK to enable third-party policy manager implementations.
- the policy manager supports media pipelines that match Least Recently Used (LRU), and may be used for one or more conflicted resources.
- LRU Least Recently Used
- the pipeline manager tracks and maintains client media pipelines.
- the pipeline controller provides a consistent API for the pipeline manager to control and manage client media pipelines.
- the media server communicates with the resource manager via a library call, which can communicate via the TV services, media pipeline and Luna service bus.
- the media resource manager can configure the entire configurable configuration file for disking the media hardware and media client pipelines, detect the resource conflict, and collect all the information needed to implement media policy management. .
- the media policy manager reads the policy_select and policy_action fields in the resource configuration file, the resource contention attempts to select the active pipeline described by the policy_select field, and issues with outgoing / selected pipelines based on the policy_action field. Issue.
- the selection function can be a parameter supported by the pipeline configuration setting entry. Policy actions are unload and release. All pipelines support the unload command to release all allocated resources. Pipelines can additionally support the release command to release specific resources. In the above, the release command is for fast switch pipelines competing with common resources, and the unload command of all resources may not be required for the incoming pipeline and deconflict.
- the pipeline manager manages pipeline controllers.
- the pipeline manager maintains a running queue of pipeline controllers and provides unique indexing for incoming messages from application (s) via a media server.
- the pipeline controller maintains a relationship of related media client pipeline processes.
- the pipeline controller maintains all relevant states and provides the media manager pipeline control interface to the pipeline manager.
- the pipeline client process is a separate process that uses the uMS connector to provide a control interface to a media server or the like.
- Pipeline (client) media technologies can be individually and completely decoupled from media server management and services.
- Smart TVs are generally controlled by remote controls provided in pairs at the time of their manufacture. Recently, a voice interface has been added to the remote controller so that the user can control the TV through the voice interface of the remote controller.
- a method of controlling the smart TV through a peripheral device such as a smart phone, a tablet PC, a wearable device, and the like, even if not based on the voice interface of the remote control, is provided.
- the present invention will be described mainly by controlling a device through voice, that is, a voice command as an example.
- the scope of the present invention is not limited thereto. Can be.
- the digital device paired with the targeted device is used as one controlling device, so that the user can control the target device with minimal movement, that is, peripheral control.
- the target device control convenience can be provided.
- a control device in the case of using a mobile device, a control device generally has an advantage of performing a control device function even if a control application such as a separate remote application for controlling a target device is not installed, executed, or the like. have.
- conventional digital devices are not useful because other devices capable of speech recognition exist or are limited in the types of devices that can be connected, and the user can connect and use a Miracaster or the like to the digital device. Even if a device exists, it is inconvenient to use the function after connecting and manually setting each device individually.
- the present specification provides a method of controlling the target device simply by a user without having to move for input of a control command through various control devices belonging to a network other than a remote controller preset in the target device.
- the target device is a concept including all of the above-described digital devices.
- the target device may be at least one of a digital TV, a washing machine, an air conditioner, a refrigerator, a PC, a smartphone, a tablet PC, a wearable device, and the like.
- a digital TV a washing machine
- an air conditioner a refrigerator
- a PC a washing machine
- a refrigerator a refrigerator
- a PC a PC
- smartphone a tablet PC
- a wearable device and the like.
- the target device will be described by using a digital TV as an example to help understanding of the present invention and for convenience of description.
- the control device refers to a digital device other than fixed control means, such as a TV remote control, provided in pairs at the time of manufacture to the target device.
- a control device may include a digital TV, a PC, a smart phone, a tablet PC, a wearable device, and the like.
- the control device does not necessarily function individually for controlling the target device, and may control the target device in association with at least one other control device.
- the fixed control means may be used for the associated device.
- the control device will be described as an example of a wearable device for the convenience of explanation and convenience of description, and the smart phone as an example of the associated control device, but is not limited thereto. Meanwhile, among the wearable devices, in the present specification, a smart watch is described as an example for convenience.
- the target device is controlled through a control device belonging to a network rather than a fixed control means such as a conventional remote controller.
- the control device belongs to a network only when paired with the target device, and a specific interface, for example, a voice recognition interface or gesture recognition, is not required to download, install, or execute a separate program or application for controlling the target device.
- the target device is controlled through an interface or the like.
- FIGS. 13 and 14 illustrate a device control system including a target device and a control device according to the present invention.
- the difference in configuration of FIGS. 13 and 14 is the presence or absence of the cooperative control device 1410.
- a device control system includes a target device 1310 and control devices 1320 and 1325.
- the device control system may further include at least one of a server 1330, a repeater 1350, and the like to support pairing, data communication, and the like between the target device 1310 and the control devices 1320 and 1325. .
- the target device 1310 performs an operation corresponding to a control command input from the control devices 1320 and 1325 as a digital TV.
- the corresponding operation includes all the functions of the digital TV having a webOS platform, such as changing a channel, changing a volume, executing a web browser, calling a menu, playing a content, stopping, or terminating.
- the target device 1310 may further include, for example, an NLP 1340.
- the NLP 1340 is a processor for identifying the voice data in order to identify the control command input to the target device 1310 and to perform a function according to the control command.
- the NLP 1340 may not be necessary if the control command is not voice data as described above, or may be replaced or changed to a processing configuration corresponding thereto.
- control device two wearable devices are illustrated, such as a smart glass 1320 and a smart watch 1325, which receive a user's voice signal or gesture input. Although two control devices are shown in FIGS. 13 and 14, both are not required to be used and target device control is possible via either control device.
- control devices 1320 and 1325 transmit the digital voice data to the target device 1310.
- 13 and 14 may refer to one embodiment.
- a pairing process should be performed between the target device 1310 and the control devices 1320 and 1325.
- the server 1330 and / or the repeater 1350 of FIGS. 13 and 14 may also be paired together.
- the pairing may be performed according to the above-described various communication protocols.
- the pairing will be described using Bluetooth as an example.
- not all device configurations in the device control system need to be Bluetooth paired, but it is sufficient if pairing is made based on a corresponding communication protocol according to each device characteristic.
- at least the target device 1310 and the control devices 1320 and 1325 are assumed to be Bluetooth paired in the device control system. In the case of FIG.
- Bluetooth pairing is performed between the control devices 1320 and 1325, the associated control device 1410 and the target device 1310. Meanwhile, targets and control devices that want to share the screen should be able to support device interworking services such as Miracast.
- the Bluetooth profile includes all cases of using a profile capable of transferring text data, including a Basic Printing Profile (BPP), a Message Access Profile (MAP), and the like.
- BPP Basic Printing Profile
- MAP Message Access Profile
- Bluetooth pairing is possible with both Bluetooth classic and Bluetooth Low Energe, and actual data communication is possible with all profiles including SPP (Serial Port Profile).
- control devices 1320 and 1325 convert an input voice signal into digital voice data, and perform a STT (Speech to Text) conversion operation directly to data in text form, thereby controlling the control command of the target device 1310. Can be sent directly.
- STT Sound to Text
- the STT process may be directly performed by the control devices 1320 and 1325 or transmitted to the server 1330 to be performed by the server 1330.
- the server 1330 may return the STT converted text data to the control devices 1320 and 1325 or directly transmit it to the target device 1310.
- the control devices 1320 and 1325 output the returned text data on the screens of the control devices 1320 and 1325, and after confirming that the text data has been converted in response to a user's selection, that is, a voice signal, the target device. May transmit to 1310.
- the converted text data does not correspond to the voice signal, it may communicate with the server 1330 again to perform the STT conversion process again or input the voice signal again.
- the text data obtained by the control devices 1320 and 1325 may be transmitted to the target device 1310 as a route through the repeater 1350 and not as a route through a direct route or a server.
- the repeater 1350 may convert the text data input as necessary as a gateway and transfer the text data to the target device 1310.
- the repeater 1350 may transmit the control command to the corresponding target device when the control device 1320 and 1325 are not directly paired with the target device 1310. It may be.
- FIG. 14 the basic processing procedure is similar to that of Fig. 13 described above. However, unlike FIG. 13, in FIG. 14, an associated control device 1410 is further included to contribute to the process.
- the voice signals received from the control devices 1320 and 1325 are converted into digital voice data and transmitted to the associated control device 1410, or the received voice signals are transferred to the associated control device 1410 as they are.
- the control device 1410 functions to process this and deliver it to the target device 1310.
- the input voice signal is directly converted into digital voice data by the control devices 1320 and 1325, and the STT (sometimes processed by the server) is converted and transferred to the target device 1310.
- the digital voice data conversion redundancy and / or STT conversion processing may be processed by the associated control device 1410.
- the cooperative control device 1410 may directly perform the STT conversion process, or transfer the data to the server 1330 to receive the STT converted data and deliver the data to the target device 1310.
- the target device 1310 processes an input text data through the NLP 1340, and then performs an operation corresponding to the voice signal received from the first control device 1320 or 1325 based on the data returned from the NLP 1340. Perform.
- the target device 1310 may output data corresponding to the voice signal in advance on the screen to perform a corresponding operation according to a user's selection.
- the corresponding data may or may not match the data subjected to STT conversion according to the voice signal. In the latter case, selection data for menus, functions, etc. of the target device 1310 corresponding thereto may be output even if they do not match.
- the target device needs to identify whether the text data input from or through the control device is a control command or text data for simple display or noise processing. Otherwise, a problem of power consumption and system efficiency may occur because resources must be allocated and processed to perform operations corresponding to each input text data.
- the text data after the STT processing in the control device may include identification data so as to identify that the text data is, for example, a control command for controlling the target device before transmission to the target device. Therefore, the target device parses only the header of the text data input from the control device, and if the identification data exists and the existing identification data is parsed and the corresponding text data is a control command, the control device performs the control operation accordingly. If the text data is display text data, the text data may be output to a predetermined area on the screen. Further, based on the identification data parsed above, if the text data is not a control command or display text data, the text data can be ignored without decoding.
- FIG. 15 is a diagram illustrating an internal configuration module of device control system configurations based on FIG. 14, and FIG. 16 is a diagram for describing a process of performing a Miracast function with a target device through a control device in the device control system of FIG. 15. It is a flowchart shown.
- the device control system includes a control device 1510, an associated control device 1520, and a target device 1530.
- the control device 1510 may perform various applications, services, functions, and the like, including an OS such as Android wear.
- the control device 1510 may include a control application for controlling the target device.
- the cooperative control device 1520 may perform various applications, services, functions, and the like, including the same or different OS of the control device 1510, and receive text data by pairing with the control device 1510. Transfer this to the target device 1530.
- the cooperative control device 1520 includes a target device control application that performs the same or similar function as the control device 1510 as a companion application.
- the target device control application may include a Bluetooth manager and a Miracast function block.
- the target device 1530 is paired with the control device 1510 or the cooperative control device 1520 based on the WebOS platform, and performs a function corresponding to a voice signal input to the control device 1510.
- the target device 1530 may include a Bluetooth manager, a voice application, an NLP, a Miracast function block, etc. to perform the above functions.
- the target device 1530 may support a specific OS platform of the control device 1510 and / or the associated control device 1520 or process corresponding data based on the web OS platform.
- control device 1510 and the associated control device 1520 are paired (S1602).
- the control device 1510 receives a voice signal (S1604), converts the voice signal into digital voice data, and generates text data based on the converted digital voice data.
- the control device 1510 transfers the generated text data to the associated control device 1520 (S1606).
- the cooperative control device 1520 transmits the text data received through the S1606 to the target device 1530 through the Bluetooth manager (S1608).
- the Bluetooth manager transmits the text data received from the Bluetooth manager of the associated control device to the voice application, and transmits the text data to the NLP again in step S1610.
- the data processed in the NLP is transmitted to the linkage control device 1520 again through the Bluetooth manager, and if the text data processed in the NLP is a control command relating to the Miracast, the target device calls the Miracast function (S1612). .
- the cooperative control device calls the Miracast function based on the text data received through the Bluetooth manager of the target device 1530 in the Bluetooth manager (S1614).
- association control device 1520 and the target device 1530 start Miracast pairing and streaming with each other (S1616).
- the target device 1530 outputs the data streamed after the step S1616 on the screen (S1618).
- FIG. 17 is a flowchart illustrating a control command processing procedure in a target device according to an embodiment of the present invention
- FIGS. 18 to 23 are diagrams for describing an operation of the target device according to FIG. 17.
- the target device may receive a voice signal corresponding to the control command through the control device in an animation screen state (S1702), and perform an operation according to the same. For example, the target device may switch to a mode (FIG. 20) for receiving a voice signal through a control device (including an associated control device) in an animated screen state. On the other hand, the target device may receive and process the voice signal of the control device even without switching to the voice signal reception mode.
- a mode FOG. 20
- the target device may receive and process the voice signal of the control device even without switching to the voice signal reception mode.
- the target device or the control device needs to be provided to be able to identify whether the control command via the user's voice signal is functioning properly.
- the user may transmit a voice signal as a control command from the start, but may perform an operation for notifying the switch to the voice signal receiving mode as a preparation process for performing a corresponding operation in the target device.
- this operation it is possible to derive all the conversions of the target device through the simple user's voice signal transmission, the predetermined button input of the control device, the gesture and the like. Thereafter, if all switching of the target device is intuitively recognized, the user may transmit a voice signal corresponding to the actual control command through the control device.
- the target device recognizes a voice signal of the user received through the control device (S1704).
- the target device STT processes the recognized user's voice signal (S1706).
- the STT process is mainly performed in at least one of the control device, the cooperative control device, or the server, but is not necessarily limited thereto. That is, as shown in FIG. 17, the target device may directly receive the voice signal of the user through the control device and directly perform at least one of the digital voice data conversion and the STT conversion process.
- the STT-processed voice signal can be recognized as a specific control command through NLP processing.
- the target device outputs a result corresponding to the STT-processed voice signal on the screen (S1708).
- FIG. 17 is demonstrated in more detail.
- the screen configuration of the target device according to FIG. 17 may be provided in a form of being overlaid on the main screen to a divided screen or a predetermined portion of the screen as shown.
- FIG. 18 illustrates a screen configuration for providing a result corresponding to the STT processed voice signal according to step S1708.
- icons mapped to a search result corresponding to a search function request such as "Find X" are outputted to one side of the STT-processed voice signal, and correspond to each icon in the vicinity thereof.
- Specific search results are provided. For example, if FIG. 18 is for channel search, an associated channel list is provided, as shown.
- the converted screen may include one or more function buttons for convenience of execution, such as video data or thumbnail image data, text data on the plot, person information, etc., other viewing reservations, recording reservations, instant recording, and time machine functions. have.
- FIG. 20 illustrates a screen in which a user switches to a voice signal reception mode corresponding to a control command when the user intends to perform another function following FIG. 19, and FIG. 21 illustrates a user's voice signal after the mode switch.
- FIG. 22 is a screen indicating that a result is being searched
- FIG. 23 is a search result providing screen as shown in FIG. 18 according to the search result of FIG. 22.
- FIG. 24 is a flowchart illustrating a control command processing process of a target device according to another embodiment of the present invention
- FIGS. 25 to 28 are diagrams for describing an operation of the target device according to FIG. 24.
- a control command processing procedure in the target device will be described with reference to FIG. 24.
- the target device When the target device receives the first signal from the control device or the associated control device in the any screen state (S2402), the target device outputs a voice signal receiving interface in response to the received first signal (S2404).
- the output voice signal reception interface is not intended to receive a voice signal through an actual target device, but to enable a user to identify that a voice signal including a control command is being received by a target device through a control device.
- the target device receives a voice signal from the control device (S2406), and STT-processes the received voice signal (S2408). At this time, the target device performs NLP processing after the STT processing.
- the target device outputs the STT / NLP processed text data on the screen (S2410).
- the target device If the output text data matches the intention of the control command transmitted by the user through the control device, the target device requests loading of a function block for executing a function corresponding to the control command (S2412).
- the target device performs a function requested by a user through the loaded function block (S2414), and outputs a screen, a result, etc. related to the function execution (S2416).
- FIG. 25 is a diagram illustrating, for example, a voice signal transmitted by a user through a control device and a screen operation according thereto.
- the target device When the user transmits a voice word "show me” through the control device as a voice signal, the target device receives the voice signal through the control device and STT processes the text signal to generate text data.
- the target device performs the NLP processing on the generated target device to finally grasp the intention of "providing a NAVER website through a web browser” corresponding to the voice signal, and provide a result related thereto.
- the NLP processing result is not only one result that is optimized, but a plurality of result screens related thereto may be generated. Even when there are several result screens as well as an optimized result screen, the screen is output to the user. Finally, the intention of.
- the target device may directly execute the optimized result instead of providing the result screen every time for checking and selecting the intention of the user.
- the result screen when the result screen is provided on the screen, even if the user does not select the result screen, the result may be immediately executed after a predetermined time or not.
- a plurality of result screens when a plurality of result screens are provided, they are arranged according to the priority according to the degree of intention of the corresponding result, and if the user does not select within a predetermined time, the highest priority result is automatically executed. It may be.
- the result screen may be selected in various manners such as key button selection and gesture input, without necessarily passing through the same voice signal as before.
- the priority or result screen configuration is not only based on the input voice signal, but also based on various historical data such as the user's selection according to the previous voice signal, the user's target device usage pattern, and the property of the content currently being viewed.
- the result screen configuration and the priority of the result screens may be determined and provided.
- the target device launches a web browser to go to the corresponding website, and based on the search term in the moved website. To execute the search and provide the search results.
- the automatic search function may be performed by referring to another search site or using a search term provided by the corresponding web site as the search term and the related search term. The series of processes described above are provided through the screen of the target device.
- the target device may provide a process of performing a function and a result through a web browser or a window overlaid on the content and screen division or overlaid on the content.
- the target device is the representative web of each country (the default website of the web browser ( Default web site) to run the search and provide the search results.
- the processing may be problematic if the user transmits a voice signal including a plurality of control commands within a predetermined time through one control device.
- identification should be prioritized whether or not the voice signal after the first voice signal is a control command.
- the following voice signal also includes a control command, it can be processed as follows. If the control command (second control command) included in the following voice signal conflicts with the previous control command (first control command), the second control command may be ignored or in place of the first control command. Only the second control command can be processed effectively. However, when the second control command does not conflict with the first control command, when the resource for performing the second control command is sufficient, the second control command is performed in parallel with the first control command.
- the second control command does not conflict with the first control command, but there are not enough resources necessary for its execution (including when impossible due to resource sharing), the second control command is currently on the screen.
- an indication of waiting to perform an operation according to the corresponding control command may be displayed.
- a content thereof may be displayed on the screen to request the user's selection.
- the processing may be problematic if a voice signal including a plurality of control commands is transmitted within a predetermined time through the plurality of control devices.
- a voice signal including a plurality of control commands is transmitted within a predetermined time through the plurality of control devices.
- one or more control commands received after the initial control command are identified, and control commands overlapping with the first control command are ignored.
- the attributes of the corresponding control command are compared and judged to determine whether they conflict with the first control command. As a result of the determination, if one or more conflicting control commands are ignored, the operation is performed according to the conflicting control commands.
- the parallel operation it is determined whether the parallel operation can be performed again by comparing the availability of resources and the like. If it is determined that the operation can be performed in parallel, the operation according to the corresponding control command may be performed in parallel. If not, the standby display may be performed and the user may wait for the selection.
- control command to stop the transmission of the voice signal to the corresponding devices may be transmitted from the target device to the corresponding control device.
- the voice interface may be output to identify that a user's control command is received. do.
- the result of the STT / NLP processing of the received voice signal as text data is displayed on the voice interface so that the user can confirm whether the control command is properly transmitted.
- FIG. 27 and 28 provide a result screen after FIG. 26.
- FIG. 27 illustrates a case in which the result screen is provided through the entire screen
- FIG. 28 illustrates a screen configuration in which the result screen is overlaid on the content and the screen division or the screen predetermined area.
- content that is being output through the main screen is automatically switched to the background and stops execution. If the content switched to the background is a live broadcast, the recording function is automatically performed according to the time machine function.
- 29 to 32 are diagrams for explaining the operation of the target device after the above 26 to 28.
- 29 illustrates a screen in which a web browser is executed according to a web browser execution control command of a user through the control device as described above.
- the target device may provide a virtual keyboard 2920 for inputting a search word required to perform a search function.
- a voice signal including a search word can be simply transmitted through a control device to complete a search word and use a search function based thereon.
- input of a search word through a voice signal simply transmits a voice signal through a control device in a situation in which a web page is output without requesting a voice interface of a remote controller or requesting a voice interface of a remote controller. This can be done by.
- the target device parses the voice signal to text data. Convert to At this time, when the voice signal is received, the target device outputs the voice interface 3010 to indicate that the voice signal including the user's search word is received and processed.
- the target device outputs the processed text data as shown in FIG. 31, and if the user selects it, as shown in FIG. 32, the selected search word is output to the search box of the web page. Thereafter, the user may transmit a search start control command again as a voice signal or select the information using a pointer to start a search for a corresponding search word and output a search result. As described above with reference to FIG. 31, when there are a plurality of processed text data, all of them may be output so that the user can select them.
- FIG. 33 to 34 are views for explaining a process of processing weather information through a control device according to the present invention
- FIG. 35 is a view for explaining a result screen configuration of a target device related to FIG. 33 or 34. to be.
- 33 to 35 illustrate a process of processing weather information on a target device through a control device, which may be configured on the target device in various ways according to a region, a date, and the like.
- a user when a user inputs a voice signal including a control command "How about 3 days weather?"
- the target device is inputted through the voice interface.
- the text data corresponding to the audio signal is processed and output, and as a result, a screen is output.
- weather data is preferentially provided as a result screen for the region where the user is currently located (S3304).
- weather data of the corresponding region is provided as a result screen (S3306).
- step S3304 or S3306 the target device provides weather information of the corresponding region (S3308).
- the weather provided in the steps S3304, S3306 and S3308 may provide, for example, three days of weather information including the corresponding day.
- step S3302 or step S3308 if the user inputs a control command of "How is the weather?", As in step S3304, the weather information of the current location is provided again (S3310). That is, as shown, even after the control command is input after step S3308, it provides the current location, that is, weather information of Seoul, not Daejeon. However, if the control command, "How about the weather today?", Is transmitted, unlike step S3310, today's weather information of the game is provided (S3312).
- the weather information may be provided in units of time of any one of the set area, city, county, district, dong.
- the time unit may be a day unit, or may be a time unit within a day range.
- FIG. 34 is similar to the above description, and when the first control command is " how is the weather today? &Quot;, it provides today's weather information for one of the regions or the current location set according to the region setting. On the other hand, when the next control command is input “after tomorrow?" On the other hand, the weather information of the region of tomorrow is provided. Afterwards, if the next control command is entered, "War?", The war weather information of tomorrow is provided.
- accurate information about a corresponding region, time, etc. may be provided according to a search word.
- FIG. 35 is a screen configuration for providing weather information of today, tomorrow, and day after day in the Seoul area in response to the target device when the user inputs "Seoul weather forecast?" As a control command. If you want to see weather information for additional dates, you can also provide additional weather information by accessing the "more" button.
- 36 is a diagram for describing interactive data processing fixing of a target device according to an embodiment of the present invention.
- 36 illustrates, for example, a screen configuration of providing an interactive service in a target device in response to an input control command of the control device according to the present invention.
- the target device if a voice signal is received from the control device while outputting content, the target device outputs the voice interface to a predetermined area on the screen.
- the target device processes the received voice signal by STT / NLP and converts the received voice signal into text data.
- the target device An interactive service according to the voice signal reception may be provided.
- the interactive service may collectively refer to all services corresponding to voice signals, such as recommending content to the user based on various information such as emotional state, surrounding weather information, visual information, and the like of the user.
- a user may read “I am bored.”
- the target device may convert the text data into text data and provide the response data as shown in FIG. 36B by analyzing the meaning or intention of the converted text data.
- FIG. 36B "Do you want to watch something?" Is provided as the response data.
- the response data is not limited to the text data as described above, and various types of data such as a web browser, a video, a still image, and audio may be provided.
- the user may play the latest music of the user's favorite singer in FIG. 36B, or may execute a web browser to provide today's humor or the latest hot news.
- the user may search for a free VOD so that the user can watch a favorite movie or drama.
- the remote control replacement application of the control device that replaces the conventional remote control can be controlled simply through the basic function of the control device, the remote control mapped to each target device belonging to the network It is possible to easily target the target device and control the targeted digital device remotely, even if it is not based on, and to execute the specific application necessary for controlling the target device on the control device to control the target device by a touch method,
- the control device may control the target device through an input signal such as voice or gesture, and control a separate target device through the closest control device among various control devices in the network. Easily without having to perform a movement or a certain application may set the target device for control, and
- the digital device and the method for controlling the digital device according to the present invention are not limited to the configuration and method of the embodiments described as described above, but the embodiments are all or part of the embodiments so that various modifications can be made. May be optionally combined.
- the operating method of the digital device of the present invention can be embodied as a processor-readable code on a processor-readable recording medium provided in the digital device.
- the processor-readable recording medium includes all kinds of recording devices that store data that can be read by the processor. Examples of the processor-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like, and are implemented in the form of a carrier wave such as transmission over the Internet. It includes being.
- the processor-readable recording medium can also be distributed over network coupled computer systems so that the processor-readable code is stored and executed in a distributed fashion.
- the present invention relates to a device control system and a digital device, and can be used throughout the industry using digital devices.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Social Psychology (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 명세서에서는 디지털 디바이스 및 디지털 디바이스 제어 방법이 개시된다. 여기서, 본 발명의 일 실시 예에 따른 적어도 하나 이상의 제어 디바이스를 통해 수신되는 제어 커맨드에 의해 제어되는 타겟 디바이스는, 컨텐트를 수신하는 제1 수신부, 상기 제어 디바이스로부터 음성 신호 또는 상기 음성 신호에 대응되는 텍스트 데이터를 수신하는 제2 수신부, 상기 컨텐트를 디코딩하는 디코더, 상기 텍스트 데이터를 처리하는 처리부, 상기 처리된 데이터로부터 수신된 텍스트 데이터가 제어 커맨드를 포함하였는지 식별하고, 식별된 텍스트 데이터 수신에 응답하여 음성 인터페이스 출력을 제어하고, 상기 처리된 데이터에 대응되는 결과 화면을 구성하여 출력을 제어하고, 상기 출력되는 결과 화면에 대응되는 기능을 수행하도록 제어하는 제어부 및 디코딩된 컨텐트와, 상기 음성 인터페이스와 결과 화면 또는 기능 수행 화면을 출력하는 출력부를 포함한다.
Description
본 발명은 디바이스 제어 시스템에 관한 것으로, 더욱 상세하게는 제어 디바이스의 제어 커맨드(control command)를 통해 타겟 디바이스(targeted device) 제어에 관한 것이다.
아날로그 시스템의 디지털 시스템으로의 전환이 급격히 이루어지고 있는데, 디지털 시스템은 종래 아날로그 시스템에 비하여 외부 잡음에 강해 데이터 손실이 작고 에러 정정에도 유리하며, 양방향 서비스도 제공할 수 있다.
디지털 시스템으로 디지털 TV를 대표적인 예로 들 수 있는데, 종래 디지털 TV는, 제조 당시 쌍(paired)으로 제공되는 리모컨(remote controller)을 통해서만 제어가 가능하였다. 하지만, 디지털 및 컨버전스 기술의 발전에 따라 스마트 폰에서 리모트 애플리케이션(remote application)을 다운로드하고 설치하여 상기 리모컨 대신에 이용하기도 한다.
그러나, 리모컨이 아닌 스마트 폰을 이용하는 경우, 상술한 바와 같이 그 제어를 위하여 별도의 애플리케이션을 다운로드 하여 설치하여야 할 뿐만 아니라 상기 제어 전에 반드시 상기 설치된 애플리케이션을 실행하여야 하는 점, 상기 설치된 애플리케이션은 종래 리모컨의 동일한 기능 또는 그 중 일부 기능만을 지원할 뿐이어서 사실상 상기 리모컨과 별반 차이가 없고 오히려 상술한 제어 과정에서의 불편함이 있었다.
또한, 종래 리모컨이나 스마트 폰을 이용하여 TV를 제어하는 경우, 대부분의 사용자는 미리 약속된 기능만을 이용할 뿐이고, 상기 기능 외에 TV에서 제공 가능한 다양한 기능 또는 시나리오를 이용하기 위해서는 별도의 프로그램이나 애플리케이션 설치 또는 프로세스가 요구되어 그 이용에 불편함이 있다. 이러한 불편함은 해당 기능이나 시나리오 이용의 빈도를 줄이게 되고, 사용자는 TV에서 제공할 수 있는 유용한 기능이나 시나리오를 하는 많은 기능들 중에서도 기본적인 기능만을 이용하게 하여 TV결국 제대로 TV를 이용할 수 없게 되는 문제점이 있다. 다시 말해, TV는 점차 기술의 발전과 디지털 환경에 발맞추어 계속하여 발전함에도 불구하고, 그를 지원하는 인터페이스의 부족 내지 불편함으로 인해 사용자는 TV 기술의 발전을 인지하기 어렵고 기본적인 기능만을 이용함에 비해 디바이스 가격에 대한 부담은 커져 문제가 되고 있다.
상기와 같은 문제점을 해소하기 위하여, 본 발명은, 제어 디바이스(controlling device)에서 기본 기능(basic function) 또는 임베디드된 기능(embedded function)을 이용하여 별도의 애플리케이션(application)이나 프로그램(program) 등을 설치하지 않더라도 간단하게 타겟 디바이스(targeted device)를 제어하는 것을 일 과제로 한다.
본 발명에 따른 제어 디바이스는, 종래 리모컨에 구비된 기능 버튼을 누르거나 스마트 폰의 리모트 애플리케이션(remote application) 실행에 따라 제공되는 기능 아이콘(function icon)을 터치하는 방식뿐만 아니라 음성(voice), 제스처(gesture) 등에 기초하여 타겟 디바이스를 제어하는 것을 다른 과제로 한다.
본 발명은, 종래 리모컨의 기능 버튼이나 스마트 폰의 리모트 애플리케이션에 따른 기능 아이콘을 이용하는 경우에는, 미리 약속된 기능만을 수행 가능함에 반해, 상술한 미리 약속된 기능 외에 타겟 디바이스가 지원 가능한 다양한 기능(들)을 더욱 직관적이고 간편하게 제어하는 것을 또 다른 과제로 한다.
본 발명은, 소정 타겟 디바이스에 제조 당시 맵핑된 리모컨을 찾기 위해 이동하지 않고도 간편하게 주변의 제어 디바이스를 이용하여 타겟 디바이스를 제어할 수 있을 뿐만 아니라 네트워크를 통해 원격에서도 타겟 디바이스를 제어하는 것을 또 다른 과제로 한다.
본 발명에서 이루고자 하는 기술적 과제는 상기 언급한 기술적 과제로 제한되지 않으며, 언급하지 않은 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위하여, 본 발명의 일 실시 예에 따른 적어도 하나 이상의 제어 디바이스를 통해 수신되는 제어 커맨드에 의해 제어되는 타겟 디바이스는, 컨텐트를 수신하는 제1 수신부, 상기 제어 디바이스로부터 음성 신호 또는 상기 음성 신호에 대응되는 텍스트 데이터를 수신하는 제2 수신부, 상기 컨텐트를 디코딩하는 디코더, 상기 텍스트 데이터를 처리하는 처리부, 상기 처리된 데이터로부터 수신된 텍스트 데이터가 제어 커맨드를 포함하였는지 식별하고, 식별된 텍스트 데이터 수신에 응답하여 음성 인터페이스 출력을 제어하고, 상기 처리된 데이터에 대응되는 결과 화면을 구성하여 출력을 제어하고, 상기 출력되는 결과 화면에 대응되는 기능을 수행하도록 제어하는 제어부 및 디코딩된 컨텐트와, 상기 음성 인터페이스와 결과 화면 또는 기능 수행 화면을 출력하는 출력부를 포함한다.
본 발명의 일 실시 예에 따른 제어 디바이스들과 타겟 디바이스를 포함한 디바이스 제어 시스템은, 음성 신호를 수신하여 디지털 음성 데이터로 변환하여 출력하는 제1 제어 디바이스, 상기 디지털 음성 데이터를 STT 처리하여 상기 음성 신호에 대응되는 텍스트 데이터를 생성하여 출력하는 제2 제어 디바이스 및 상기 음성 신호 수신에 관한 음성 인터페이스를 출력하고, 상기 제2 제어 디바이스로부터 수신되는 텍스트 데이터를 NLP 처리하여 상기 텍스트 데이터에 대한 결과 화면을 구성하여 출력하고 출력된 결과 화면에 대응되는 기능을 수행하는 타겟 디바이스를 포함한다.
본 발명의 일 실시 예에 따른 적어도 하나 이상의 제어 디바이스를 통해 수신되는 제어 커맨드에 의해 타겟 디바이스를 제어하는 방법은, 컨텐트를 수신하는 단계, 상기 컨텐트를 디코딩하고 화면을 통하여 출력하는 단계, 상기 제어 디바이스로부터 음성 신호 또는 상기 음성 신호에 대응되는 텍스트 데이터를 수신하는 단계, 상기 수신된 음성 신호 또는 텍스트 데이터를 처리하는 단계, 상기 처리된 데이터에 제어 커맨드를 포함하였는지 식별하여 음성 인터페이스 출력하는 단계, 상기 처리된 데이터에 포함된 제어 커맨드에 대응되는 결과 화면을 구성하여 출력하는 단계, 상기 출력되는 결과 화면에 대응되는 기능을 수행하는 단계 및 상기 기능 수행 화면을 출력하는 단계를 포함하여 이루어진다.
본 발명의 일 실시 예에 따른 제어 디바이스들과 타겟 디바이스를 포함한 디바이스 제어 시스템의 제어 방법은, 음성 신호를 수신하여 디지털 음성 데이터로 변환하는 단계, 상기 디지털 음성 데이터를 STT 처리하여 상기 음성 신호에 대응되는 텍스트 데이터를 생성하는 단계, 상기 생성된 텍스트 데이터를 NLP 처리하는 단계 및 상기 NLP 처리된 텍스트 데이터에 대응되는 결과 화면과 기능 수행 화면 중 적어도 하나 이상을 구성하여 출력하는 단계를 포함하여 이루어진다.
본 발명에서 이루고자 하는 기술적 과제에 따른 해결 수단은, 상기 언급한 해결 수단에 제한되지 않으며, 언급하지 않은 다른 해결 수단들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 따르면, 다음과 같은 효과가 있다.
본 발명의 다양한 실시 예들 중 일 실시 예에 의하면, 제어 디바이스(controlling device)에서 기본 기능(basic function) 또는 임베디드된 기능(embedded function)을 이용하여 별도의 애플리케이션(application)이나 프로그램(program) 등을 설치하지 않더라도 간단하게 타겟 디바이스(targeted device)를 제어하는 효과가 있다.
본 발명의 다양한 실시 예들 중 다른 실시 예에 의하면, 종래 리모컨에 구비된 기능 버튼을 누르거나 스마트 폰의 리모트 애플리케이션(remote application) 실행에 따라 제공되는 기능 아이콘(function icon)을 터치하는 방식뿐만 아니라 음성(voice), 제스처(gesture) 등에 기초하여 타겟 디바이스를 제어하는 효과가 있다.
본 발명의 다양한 실시 예들 중 또 다른 실시 예에 의하면, 종래 리모컨의 기능 버튼이나 스마트 폰의 리모트 애플리케이션에 따른 기능 아이콘을 이용하는 경우에는, 미리 약속된 기능만을 수행 가능함에 반해, 상술한 미리 약속된 기능 외에 타겟 디바이스가 지원 가능한 다양한 기능(들)을 더욱 직관적이고 간편하게 제어하는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시 예에 따른 디지털 디바이스를 포함한 서비스 시스템을 개략적으로 설명하기 위해 도시한 도면;
도 2는 본 발명의 일 실시 예에 따른 디지털 디바이스를 설명하기 위해 도시한 구성 블록도;
도 3은, 상기 도 2의 다른 실시 예에 따른 디지털 디바이스를 설명하기 위해 도시한 구성 블록도;
도 4는 본 발명의 다른 실시 예에 따른 디지털 디바이스를 설명하기 위해 도시한 구성 블록도;
도 5는 본 발명의 또 다른 실시 예에 따른 디지털 디바이스를 설명하기 위해 도시한 구성 블록도;
도 6은 본 발명의 일 실시 예에 따라 도 2 내지 5의 제어부의 상세 구성을 설명하기 위해 도시한 구성 블록도;
도 7은 본 발명의 일 실시 예에 따른 웹OS 아키텍처를 설명하기 위해 도시한 도면;
도 8은 본 발명의 일 실시 예에 따른 웹OS 디바이스의 아키텍처를 설명하기 위해 도시한 도면;
도 9는 본 발명의 일 실시 예에 따른 웹OS 디바이스에서 그래픽 컴포지션 플로우를 설명하기 위해 도시한 도면;
도 10은 본 발명의 일 실시 예에 따른 미디어 서버를 설명하기 위해 도시한 도면;
도 11은 본 발명의 일 실시 예에 따른 미디어 서버의 구성 블록을 설명하기 위해 도시한 도면;
도 12는 본 발명의 일 실시 예에 따른 미디어 서버와 TV 서비스의 관계를 설명하기 위해 도시한 도면;
도 13과 14는 본 발명에 따른 타겟 디바이스와 제어 디바이스를 포함한 디바이스 제어 시스템을 설명하기 위해 도시한 도면;
도 15는, 도 14에 기초한 디바이스 제어 시스템 구성들의 내부 구성 모듈을 설명하기 위해 도시한 도면;
도 16은, 도 15의 디바이스 제어 시스템에서 제어 디바이스를 통해 타겟 디바이스와 미라캐스트 기능 수행 과정을 설명하기 위해 도시한 순서도;
도 17은 본 발명의 일 실시 예에 따른 타겟 디바이스의 제어 커맨드 처리 과정을 설명하기 위해 도시한 순서도;
도 18 내지 23은, 상기 도 17에 따른 타겟 디바이스의 동작을 설명하기 위해 도시한 도면;
도 24는 본 발명의 다른 실시 예에 따른 타겟 디바이스의 제어 커맨드 처리 과정을 설명하기 위해 도시한 순서도;
도 25 내지 28은, 상기 도 24에 따른 타겟 디바이스의 동작을 설명하기 위해 도시한 도면;
도 29 내지 32는, 상기 도 26 내지 28 이후의 타겟 디바이스의 동작을 설명하기 위해 도시한 도면;
도 33 내지 34는 본 발명에 따라 제어 디바이스를 통해 날씨 정보를 처리하는 과정을 설명하기 위해 도시한 도면;
도 35는, 상기 도 33 또는 34와 관련된 타겟 디바이스의 결과 화면 구성을 설명하기 위해 도시한 도면; 및
도 36은 본 발명의 일 실시 예에 따른 타겟 디바이스의 대화형 데이터 처리 고정을 설명하기 위해 도시한 도면이다.
이하에서는 도면을 참조하여 본 발명에 따른 디바이스 제어 시스템(device control system), 디지털 디바이스(digital device) 및 디지털 디바이스 제어 방법의 다양한 실시예(들)을 상세하게 설명한다.
본 명세서에서 사용되는 구성요소에 대한 접미사 "모듈", "부" 등은 단지 명세서 작성의 용이함을 고려하여 부여되는 것으로서, 필요에 따라 양자는 혼용될 수도 있다. 또한, "제1-", "제2-" 등과 같이 서수로 기술한 경우에도 그것이 순서를 의미하기보다는 해당 용어의 설명 편의를 위한 것일 뿐, 그러한 용어나 서수에 한정되는 것은 아니다.
또한, 본 명세서에서 사용되는 용어도, 본 발명의 기술 사상에 따른 기능을 고려하여 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 다만, 특정한 경우는 출원인이 임의로 선정한 용어도 있으나, 이에 대해서는 관련 설명 부분에서 그 의미를 기술할 것이다. 따라서, 해당 용어를 단지 그 명칭이 아니라 그가 가진 실질적인 의미와 본 명세서 전반에 걸쳐 기술된 내용을 토대로 해석되어야 함을 밝혀 둔다.
한편, 본 명세서 또는/및 도면에 기술된 내용은, 본 발명에 따른 바람직한 일 실시 예로서 그에 한정되지 않으며, 그 권리범위는 특허청구범위를 통해 결정되어야 한다.
이하 본 명세서에서 기술되는 “디지털 디바이스”라 함은 예를 들어, 데이터, 컨텐트, 서비스, 애플리케이션 등을 송신, 수신, 처리 및 출력 중 적어도 하나 이상을 수행 가능한 모든 디바이스를 포함한다. 상기 디지털 디바이스는, 유/무선 네트워크(wire/wireless network)를 통하여 다른 디지털 디바이스, 외부 서버 등과 페어링(pairing) 또는 연결(이하 '페어링') 가능하며, 그를 통해 소정 데이터를 송/수신할 수 있다. 상기 소정 데이터에는, 제어 데이터도 포함된다. 그리고 필요에 따라, 상기 데이터는 그 송/수신 전에 적절히 변환될 수 있다. 상기 디지털 디바이스에는 예를 들어, 네트워크 TV(Network TV), HBBTV(Hybrid Broadcast Broadband TV), 스마트 TV(Smart TV), IPTV(Internet Protocol TV), PC 등과 같은 고정형 디바이스(standing device)와, PDA(Personal Digital Assistant), 스마트 폰(Smart Phone), 태블릿 PC(Tablet PC), 노트북(Notebook), 웨어러블 디바이스(wearable device) 등과 같은 모바일 디바이스(mobile device or handheld device)가 모두 포함될 수 있다. 본 명세서에서는 본 발명의 이해를 돕고 출원인의 설명의 편의상 후술하는 도 2와 3에서는 디지털 TV, 도 4에서는 모바일 디바이스 그리고 도 5에서는 웨어러블 디바이스를 디지털 디바이스의 일 실시 예로 도시하고 설명한다. 한편, 상기 웨어러블 디바이스에는 워치(watch)형, 글래스(glasses)형, 칩(chip)형 등 다양한 형태가 존재하나, 본 명세서에서는 편의상 워치형 즉, 스마트 워치(smart watch)를 일 예로 하여 설명한다. 또한, 본 명세서에서 기술되는 디지털 디바이스는, 패널(panel)로만 구성된 디지털 사이니지(digital signage), 모니터(monitor) 또는 디스플레이 디바이스(display device)일 수도 있고, 셋톱박스(STB: Set-Top Box)를 포함하거나 서버 등과 합쳐 하나의 서비스 시스템의 일부일 수도 있다.
한편, 본 명세서에서 기술되는 “유/무선 네트워크”라 함은, 디지털 디바이스들 또는 디지털 디바이스와 외부 서버 사이에서 페어링 또는/및 데이터 송수신을 위해 다양한 통신 규격 내지 프로토콜을 지원하는 통신 네트워크를 통칭한다. 이러한 유/무선 네트워크는, 규격에 의해 현재 또는 향후 지원될 통신 네트워크를 모두 포함하며, 그를 위한 하나 또는 그 이상의 통신 프로토콜들을 모두 지원 가능하다. 이러한 유/무선 네트워크에는 예컨대, USB(Universal Serial Bus), CVBS(Composite Video Banking Sync), 컴포넌트(Component), S-비디오(아날로그), DVI(Digital Visual Interface), HDMI(High Definition Multimedia Interface), RGB, D-SUB와 같은 유선 연결을 위한 네트워크와 그를 위한 통신 규격 내지 프로토콜과, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA: infrared Data Association), UWB(Ultra Wideband), 지그비(ZigBee), DLNA(Digital Living Network Alliance), WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), LTE/LTE-A(Long Term Evolution/LTE-Advanced), Wi-Fi 다이렉트(direct)와 같은 무선 연결을 위한 네트워크와 그를 위한 통신 규격 내지 프로토콜에 의하여 형성될 수 있다.
그 밖에, 본 명세서에서 단지 디지털 디바이스로 명명하는 경우, 그 의미는 문맥에 따라 고정형 디바이스 또는 모바일 디바이스를 의미할 수도 있고 특별히 언급하지 않는다면 양자를 모두 포함하는 의미로 사용될 수 있다.
한편, 디지털 디바이스는 예컨대, 방송 수신 기능, 컴퓨터 기능 내지 지원, 적어도 하나의 외부 인풋 등을 지원하는 지능형 디바이스로서, 상술한 유/무선 네트워크를 통해 이메일, 웹 브라우징(web browsing), 뱅킹, 게임, 애플리케이션 등을 지원할 수 있다. 더불어, 상기 디지털 디바이스는, 수기 방식의 인풋 디바이스, 터치-스크린, 공간 리모콘 등 적어도 하나의 인풋 또는 제어 수단(이하 ‘인풋 수단’)을 지원하기 위한 인터페이스(interface)를 구비할 수 있다.
그 밖에, 디지털 디바이스는, 표준화된 범용 OS(Operating System)를 이용할 수 있으나 특히, 본 명세에서 기술되는 디지털 디바이스는, 웹OS(Web OS)를 이용하는 것을 일 실시 예로 한다. 따라서, 디지털 디바이스는 범용의 OS 커널(OS kernel) 또는 리눅스 커널(Linux kernel) 상에 다양한 서비스나 애플리케이션을 추가, 삭제, 수정, 업데이트 등을 처리가 가능하며, 그를 통해 더욱 사용자 친화적인 환경을 구성하여 제공할 수 있다.
한편, 상술한 디지털 디바이스는 외부 인풋(external input)을 수신하여 처리할 수 있는데 이때, 상기 외부 인풋은, 외부 인풋 디바이스 즉, 상술한 디지털 디바이스와 유/무선 네트워크를 통해 연결되어 데이터를 송/수신하여 처리 가능한 모든 인풋 수단 내지 디지털 디바이스를 포함한다. 예를 들어, 상기 외부 인풋으로 HDMI(High-Definition Multimedia Interface), 플레이스테이션(playstation)이나 엑스-박스(X-Box) 등과 같은 게임 디바이스, 스마트 폰, 태블릿 PC, 포켓 포토(pocket photo) 등과 같은 프린터기(printing device), 스마트 TV, 블루-레이(Blu-ray device) 디바이스 등과 같은 디지털 디바이스들을 모두 포함한다.
그 밖에, 본 명세서에서 기술되는 “서버”라 함은, 상술한 디지털 디바이스 즉, 클라이언트(client)로 데이터를 공급 또는 그로부터 데이터를 수신하는 디지털 디바이스 혹은 시스템을 의미하며, 프로세서(processor)로 불리기도 한다. 상기 서버로 예컨대, 웹 페이지(web page), 웹 컨텐트 또는 웹 서비스(web content or web service)를 제공하는 포털 서버(portal server), 광고 데이터(advertising data)를 제공하는 광고 서버(advertising server), 컨텐트를 제공하는 컨텐트 서버(content server), SNS(Social Network Service)를 제공하는 SNS 서버, 제조업체(manufacturer)에서 제공하는 서비스 서버(service server), VoD(Video on Demand)나 스트리밍(streaminng) 서비스 제공을 위한 MVPD(Multichannel Video Programming Distributor), 유료 서비스(pay service) 등을 제공하는 서비스 서버, 클라우드 서버(cloud server) 등이 포함될 수 있다.
또한, 이하 본 명세서에서 설명의 편의를 위하여 애플리케이션으로만 기술한 경우에도 그 문맥 등을 기초하여 그 의미는 애플리케이션뿐만 아니라 서비스까지 포함하는 의미일 수 있으며, 본 발명에 따른 웹OS 플랫폼상에서 지원되는 웹 애플리케이션(web application)도 포함할 수 있다.
본 발명의 일 실시 예에 따른 제어 디바이스들(controlling devices)과 타겟 디바이스(targeted device)를 포함한 디바이스 제어 시스템은, 음성 신호(voice signal)를 수신하여 디지털 음성 데이터(digital audio data)로 변환하여 출력하는 제1 제어 디바이스, 상기 디지털 음성 데이터를 STT(Speech to Text) 처리하여 상기 음성 신호에 대응되는 텍스트 데이터(text data)를 생성하여 출력하는 제2 제어 디바이스 및 상기 음성 신호 수신에 관한 음성 인터페이스(voice interface)를 출력하고, 상기 제2 제어 디바이스로부터 수신되는 텍스트 데이터를 NLP(Natural Language Processing) 처리하여 상기 텍스트 데이터에 대한 결과 화면을 구성하여 출력하고 출력된 결과 화면에 대응되는 기능을 수행하는 타겟 디바이스를 포함한다.
본 발명의 일 실시 예에 따른 적어도 하나 이상의 제어 디바이스를 통해 수신되는 제어 커맨드(control command)에 의해 제어되는 타겟 디바이스는, 컨텐트를 수신하는 제1 수신부, 상기 제어 디바이스로부터 음성 신호 또는 상기 음성 신호에 대응되는 텍스트 데이터를 수신하는 제2 수신부, 상기 컨텐트를 디코딩하는 디코더, 상기 텍스트 데이터를 처리하는 처리부, 상기 처리된 데이터로부터 수신된 텍스트 데이터가 제어 커맨드를 포함하였는지 식별하고, 식별된 텍스트 데이터 수신에 응답하여 음성 인터페이스 출력을 제어하고, 상기 처리된 데이터에 대응되는 결과 화면을 구성하여 출력을 제어하고, 상기 출력되는 결과 화면에 대응되는 기능을 수행하도록 제어하는 제어부 및 디코딩된 컨텐트와, 상기 음성 인터페이스와 결과 화면 또는 기능 수행 화면을 출력하는 출력부를 포함한다.
이하 첨부된 도면을 참조하면 본 발명을 더욱 상세하게 설명하면, 다음과 같다.
도 1은 본 발명의 일 실시 예에 따른 디지털 디바이스를 포함한 서비스 시스템을 개략적으로 설명하기 위해 도시한 도면이다.
도 1을 참조하면, 서비스 시스템은, 컨텐트 프로바이더(content provider)(10), 서비스 프로바이더(service provider)(20), 네트워크 프로바이더(network provider)(30) 및 HNED(Home Network End User)(Customer)(40)를 포함한다. 여기서, HNED(40)는 예를 들어, 클라이언트(100) 즉, 본 발명에 따른 디지털 디바이스를 포함한다.
컨텐트 프로바이더(10)는, 각종 컨텐트를 제작하여 제공한다. 도 1에 도시된 바와 같이, 이러한 컨텐트 프로바이더(10)로 지상파 방송 송출자, 케이블 방송 사업자(cable SO(System Operator)) 또는 MSO(Multiple SO), 위성 방송 송출자, 다양한 인터넷 방송 송출자, 개인 컨텐트 프로바이더들 등을 예시할 수 있다. 한편, 컨텐트 프로바이더(10)는, 방송 컨텐트 외에도 다양한 서비스나 애플리케이션 등을 제작하여 제공할 수 있다.
서비스 프로바이더(20)는, 컨텐트 프로바이더(10)에 의해 제작된 컨텐트를 서비스 패키지화(service packetizing)하여 HNED(40)로 제공한다. 예컨대, 서비스 프로바이더(20)는, 제1 지상파 방송, 제2 지상파 방송, 케이블 MSO, 위성 방송, 다양한 인터넷 방송, 애플리케이션 등에 의해 제작된 컨텐트들 중 적어도 하나 이상을 서비스를 위해 패키지화하고, 이를 HNED(40)에게 제공한다.
서비스 프로바이더(20)는, 유니-캐스트(uni-cast) 또는 멀티-캐스트(multi-cast) 방식으로 클라이언트(100)에 서비스를 제공한다. 한편, 서비스 프로바이더(20)는 데이터를 미리 등록된 다수의 클라이언트(100)로 한꺼번에 전송할 수 있는데, 이를 위해 IGMP(Internet Group Management Protocol) 프로토콜 등을 이용할 수 있다.
상술한 컨텐트 프로바이더(10)와 서비스 프로바이더(20)는, 동일한 개체(entity)일 수 있다. 예를 들어, 컨텐트 프로바이더(10)가 제작한 컨텐트를 서비스 패키지화하여 HNED(40)로 제공함으로써 서비스 프로바이더(20)의 기능도 함께 수행하거나 그 반대일 수도 있다.
네트워크 프로바이더(30)는, 컨텐트 프로바이더(10) 또는/및 서비스 프로바이더(20)와 클라이언트(100) 사이의 데이터 교환을 위한 네트워크 망을 제공한다.
클라이언트(100)는, HNED(40)에 속한 소비자로서, 네트워크 프로바이더(30)를 통해 예컨대, 홈 네트워크(home network)를 구축하여 데이터를 수신하며, VoD, 스트리밍 등 다양한 서비스나 애플리케이션 등에 관한 데이터를 송/수신할 수도 있다.
한편, 서비스 시스템 내 컨텐트 프로바이더(10) 또는/및 서비스 프로바이더(20)는 전송되는 컨텐트의 보호를 위해 제한 수신(conditional access) 또는 컨텐트 보호(content protection) 수단을 이용할 수 있다. 따라서, 클라이언트(100)는 상기 제한 수신이나 컨텐트 보호에 대응하여 케이블카드(CableCARD)(또는 POD: Point of Deployment), DCAS(Downloadable CAS) 등과 같은 처리 수단을 이용할 수 있다.
그 밖에, 클라이언트(100)도 네트워크를 통해, 양방향 서비스를 이용할 수 있다. 따라서, 클라이언트(100)가 오히려 컨텐트 프로바이더의 역할 내지 기능을 수행할 수도 있으며, 서비스 프로바이더(20)는 이를 수신하여 다시 다른 클라이언트 등으로 전송할 수도 있다.
도 1에서 컨텐트 프로바이더(10) 또는/및 서비스 프로바이더(20)는 본 명세서에서 후술하는 서비스를 제공하는 서버일 수 있다. 이 경우, 상기 서버는 필요에 따라 네트워크 프로바이더(30)도 소유 내지 포함하는 의미일 수 있다. 이하 특별히 언급하지 않더라도 서비스 또는 서비스 데이터는, 전술한 외부로부터 수신되는 서비스 내지 애플리케이션뿐만 아니라 내부 서비스 내지 애플리케이션을 포함하며, 이러한 서비스 내지 애플리케이션은 웹OS(Web OS) 기반의 클라이언트(100)를 위한 서비스 내지 애플리케이션 데이터를 의미할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 디지털 디바이스를 설명하기 위해 도시한 구성 블록도이다.
이하 본 명세서에서 기술되는 디지털 디바이스는 전술한 도 1의 클라이언트(100)에 해당한다.
디지털 디바이스(200)는, 네트워크 인터페이스부(network interface)(201), TCP/IP 매니저(TCP/IP manager)(202), 서비스 전달 매니저(service delivery manager)(203), SI 디코더(204), 역다중화부(demux or demultiplexer)(205), 오디오 디코더(audio decoder)(206), 비디오 디코더(video decoder)(207), 디스플레이부(display A/V and OSD module)(208), 서비스 제어 매니저(service control manager)(209), 서비스 디스커버리 매니저(service discovery manager)(210), SI&메타데이터 데이터베이스(SI&metadata DB)(211), 메타데이터 매니저(metadata manager)(212), 서비스 매니저(213), UI 매니저(214) 등을 포함하여 구성된다.
네트워크 인터페이스부(201)는, 액세스하는 네트워크 망을 통하여 IP 패킷(들)(Internet Protocol(IP) packet(s)) 또는 IP 데이터그램(들)(IP datagram(s))(이하 IP 패킷(들)이라 한다)을 송/수신한다. 일 예로, 네트워크 인터페이스부(201)는 네트워크 망을 통해 도 1의 서비스 프로바이더(20)로부터 서비스, 애플리케이션, 컨텐트 등을 수신할 수 있다. 상기 부가 정보에는, SI 정보가 포함될 수 있다. 한편, 상기 네트워크 인터페이스부(201)는, 튜너(tuner)로 대체될 수도 있다.
TCP/IP 매니저(202)는, 디지털 디바이스(200)로 수신되는 IP 패킷들과 디지털 디바이스(200)가 전송하는 IP 패킷들에 대하여 즉, 소스(source)와 목적지(destination) 사이의 패킷 전달(packet delivery)에 관여한다. 상기 TCP/IP 매니저(202)는 수신된 패킷(들)을 적절한 프로토콜에 대응하도록 분류하고, 서비스 전달 매니저(205), 서비스 디스커버리 매니저(210), 서비스 제어 매니저(209), 메타데이터 매니저(212) 등으로 상기 분류된 패킷(들)을 출력한다.
서비스 전달 매니저(203)는, 수신되는 서비스 데이터의 제어를 담당한다. 예를 들어, 서비스 전달 매니저(203)는 실시간 스트리밍(real-time streaming) 데이터를 제어하는 경우에는 RTP/RTCP를 사용할 수 있다. 상기 실시간 스트리밍 데이터를 RTP를 사용하여 전송하는 경우, 서비스 전달 매니저(203)는 상기 수신된 데이터 패킷을 RTP에 따라 파싱(parsing)하여 역다중화부(205)로 전송하거나 서비스 매니저(213)의 제어에 따라 SI&메타데이터 데이터베이스(211)에 저장한다. 그리고, 서비스 전달 매니저(203)는 RTCP를 이용하여 상기 네트워크 수신 정보를 서비스를 제공하는 서버 측에 피드백(feedback)한다.
역다중화부(205)는, 수신된 패킷을 오디오, 비디오, SI(System Information) 데이터 등으로 역다중화하여 각각 오디오/비디오 디코더(206/207), SI 디코더(204)에 전송한다.
SI 디코더(204)는, 역다중화된 SI 데이터 즉, PSI(Program Specific Information), PSIP(Program and System Information Protocol), DVB-SI(Digital Video Broadcasting-Service Information), DTMB/CMMB(Digital Television Terrestrial Multimedia Broadcasting/Coding Mobile Multimedia Broadcasting) 등의 서비스 정보를 디코딩한다. 또한, SI 디코더(204)는, 디코딩된 서비스 정보들을 SI&메타데이터 데이터베이스(211)에 저장할 수 있다. 저장된 서비스 정보는 예를 들어, 사용자의 요청 등에 의해 해당 구성에 의해 독출되어 이용될 수 있다.
오디오/비디오 디코더(206/207)는, 역다중화된 각 오디오 데이터와 비디오 데이터를 디코딩한다. 이렇게 디코딩된 오디오 데이터 및 비디오 데이터는 디스플레이부(208)를 통하여 사용자에게 제공된다.
애플리케이션 매니저는 예를 들어, UI 매니저(214)와 서비스 매니저(213)를 포함하며 디지털 디바이스(200)의 제어부 기능을 수행할 수 있다. 다시 말해, 애플리케이션 매니저는, 디지털 디바이스(200)의 전반적인 상태를 관리하고 사용자 인터페이스(UI: User Interface)를 제공하며, 다른 매니저를 관리할 수 있다.
UI 매니저(214)는, 사용자를 위한 GUI(Graphic User Interface)/UI를 OSD(On Screen Display) 등을 이용하여 제공하며, 사용자로부터 키 인풋을 받아 상기 인풋에 따른 디바이스 동작을 수행한다. 예를 들어, UI 매니저(214)는 사용자로부터 채널 선택에 관한 키 인풋을 받으면 상기 키 인풋 신호를 서비스 매니저(213)에 전송한다.
서비스 매니저(213)는, 서비스 전달 매니저(203), 서비스 디스커버리 매니저(210), 서비스 제어 매니저(209), 메타데이터 매니저(212) 등 서비스와 연관된 매니저를 제어한다.
또한, 서비스 매니저(213)는, 채널 맵(channel map)을 생성하고 UI 매니저(214)로부터 수신한 키 인풋에 따라 상기 생성된 채널 맵을 이용하여 채널을 선택 등을 제어한다. 상기 서비스 매니저(213)는 SI 디코더(204)로부터 서비스 정보를 전송받아 선택된 채널의 오디오/비디오 PID(Packet Identifier)를 역다중화부(205)에 설정한다. 이렇게 설정되는 PID는 상술한 역다중화 과정에 이용될 수 있다. 따라서, 역다중화부(205)는 상기 PID를 이용하여 오디오 데이터, 비디오 데이터 및 SI 데이터를 필터링(PID or section filtering) 한다.
서비스 디스커버리 매니저(210)는, 서비스를 제공하는 서비스 프로바이더를 선택하는데 필요한 정보를 제공한다. 상기 서비스 매니저(213)로부터 채널 선택에 관한 신호를 수신하면, 서비스 디스커버리 매니저(210)는 상기 정보를 이용하여 서비스를 찾는다.
서비스 제어 매니저(209)는, 서비스의 선택과 제어를 담당한다. 예를 들어, 서비스 제어 매니저(209)는 사용자가 기존의 방송 방식과 같은 생방송(Live broadcasting) 서비스를 선택하는 경우 IGMP 또는 RTSP 등을 사용하고, VOD(Video on Demand)와 같은 서비스를 선택하는 경우에는 RTSP를 사용하여 서비스의 선택, 제어를 수행한다. 상기 RTSP 프로토콜은 실시간 스트리밍에 대해 트릭 모드(trick mode)를 제공할 수 있다. 또한, 서비스 제어 매니저(209)는 IMS(IP Multimedia Subsystem), SIP(Session Initiation Protocol)를 이용하여 IMS 게이트웨이(250)를 통하는 세션을 초기화하고 관리할 수 있다. 상기 프로토콜들은 일 실시 예이며, 구현 예에 따라 다른 프로토콜을 사용할 수도 있다.
메타데이터 매니저(212)는, 서비스와 연관된 메타데이터를 관리하고 상기 메타데이터를 SI&메타데이터 데이터베이스(211)에 저장한다.
SI&메타데이터 데이터베이스(211)는, SI 디코더(204)가 디코딩한 서비스 정보, 메타데이터 매니저(212)가 관리하는 메타데이터 및 서비스 디스커버리 매니저(210)가 제공하는 서비스 프로바이더를 선택하는데 필요한 정보를 저장한다. 또한, SI&메타데이터 데이터베이스(211)는 시스템에 대한 세트-업 데이터 등을 저장할 수 있다.
SI&메타데이터 데이터베이스(211)는, 비휘발성 메모리(Non-Volatile RAM: NVRAM) 또는 플래시 메모리(flash memory) 등을 사용하여 구현될 수도 있다.
한편, IMS 게이트웨이(250)는, IMS 기반의 IPTV 서비스에 접근하기 위해 필요한 기능들을 모아 놓은 게이트웨이이다.
도 3은, 상기 도 2의 다른 실시 예에 따른 디지털 디바이스를 설명하기 위해 도시한 구성 블록도이다.
디지털 디바이스(300)의 다른 실시 예는, 방송 수신부(305), 외부 디바이스 인터페이스부(335), 저장부(340), 사용자입력 인터페이스부(350), 제어부(370), 디스플레이부(380), 오디오 출력부(385), 전원 공급부(390) 및 촬영부(미도시)를 포함할 수 있다. 여기서, 상기 방송 수신부(305)는, 적어도 하나의 튜너(310), 복조부(320) 및 네트워크 인터페이스부(330)를 포함할 수 있다. 다만, 경우에 따라, 상기 방송 수신부(305)는 튜너(310)와 복조부(320)는 구비하나 네트워크 인터페이스부(330)는 포함하지 않을 수 있으며 그 반대의 경우일 수도 있다. 또한, 상기 방송 수신부(305)는 도시되진 않았으나, 다중화부(multiplexer)를 구비하여 상기 튜너(310)를 거쳐 복조부(320)에서 복조된 신호와 상기 네트워크 인터페이스부(330)를 거쳐 수신된 신호를 다중화할 수도 있다. 그 밖에 상기 방송 수신부(325)는 역시 도시되진 않았으나, 역다중화부(demultiplexer)를 구비하여 상기 다중화된 신호를 역다중화하거나 상기 복조된 신호 또는 상기 네트워크 인터페이스부(330)를 거친 신호를 역다중화할 수 있다.
튜너(310)는, 안테나를 통해 수신되는 RF(Radio Frequency) 방송 신호 중 사용자에 의해 선택된 채널 또는 기 저장된 모든 채널을 튜닝하여 RF 방송 신호를 수신한다. 또한, 튜너(310)는, 수신된 RF 방송 신호를 중간 주파수(Intermediate Frequency; IF) 신호 혹은 베이스밴드(baseband) 신호로 변환한다.
예를 들어, 수신된 RF 방송 신호가 디지털 방송 신호이면 디지털 IF 신호(DIF)로 변환하고, 아날로그 방송 신호이면 아날로그 베이스밴드 영상 또는 음성 신호(CVBS/SIF)로 변환한다. 즉, 튜너(310)는 디지털 방송 신호 또는 아날로그 방송 신호를 모두 처리할 수 있다. 튜너(310)에서 출력되는 아날로그 베이스 밴드 영상 또는 음성 신호(CVBS/SIF)는 제어부(370)로 직접 입력될 수 있다.
또한, 튜너(310)는, 싱글 캐리어(single carrier) 또는 멀티플 캐리어(multiple carrier)의 RF 방송 신호를 수신할 수 있다. 한편, 튜너(310)는, 안테나를 통해 수신되는 RF 방송 신호 중 채널 기억 기능을 통하여 저장된 모든 방송 채널의 RF 방송 신호를 순차로 튜닝 및 수신하여 이를 중간 주파수 신호 혹은 베이스 밴드 신호(DIF: Digital Intermediate Frequency or baseband signal)로 변환할 수 있다.
복조부(320)는, 튜너(310)에서 변환된 디지털 IF 신호(DIF)를 수신하여 복조하고, 채널 복호화 등을 수행할 수도 있다. 이를 위해 복조부(320)는 트렐리스 디코더(Trellis Decoder), 디인터리버(De-interleaver), 리드 솔로먼 디코더(Reed-Solomon Decoder) 등을 구비하거나 컨벌루션 디코더(convolution decoder), 디인터리버 및 리드-솔로먼 디코더 등을 구비할 수 있다.
복조부(320)는, 복조 및 채널 복호화를 수행한 후 스트림 신호(TS)를 출력할 수 있다. 이때, 스트림 신호는 영상 신호, 음성 신호 또는 데이터 신호가 다중화된 신호일 수 있다. 일 예로, 스트림 신호는 MPEG-2 규격의 영상 신호, 돌비(Dolby) AC-3 규격의 음성 신호 등이 다중화된 MPEG-2 TS(Transport Stream)일 수 있다.
복조부(320)에서 출력한 스트림 신호는, 제어부(370)로 입력될 수 있다. 제어부(370)는 역다중화, 영상/음성 신호 처리 등을 제어하고, 디스플레이부(380)를 통해 영상을, 오디오 출력부(385)를 통해 음성의 출력을 제어할 수 있다.
외부 디바이스 인터페이스부(335)는, 디지털 디바이스(300)와 다양한 외부 디바이스 사이의 인터페이싱 환경을 제공한다. 이를 위해, 외부 디바이스 인터페이스부(335)는, A/V 입/출력부(미도시) 또는 무선 통신부(미도시)를 포함할 수 있다.
외부 디바이스 인터페이스부(335)는, DVD(Digital Versatile Disk), 블루-레이(Blu-ray), 게임 디바이스, 카메라, 캠코더(Camcorder), 컴퓨터(노트북), 태블릿 PC, 스마트 폰, 블루투스 디바이스(Bluetooth device), 클라우드(Cloud) 등과 같은 외부 디바이스 등과 유/무선으로 접속될 수 있다. 외부 디바이스 인터페이스부(335)는 연결된 외부 디바이스를 통하여 입력되는 이미지, 영상, 음성 등 데이터를 포함한 신호를 디지털 디바이스의 제어부(370)로 전달한다. 제어부(370)는 처리된 이미지, 영상, 음성 등을 데이터 신호를 연결된 외부 디바이스로 출력되도록 제어할 수 있다. 이를 위해, 외부 디바이스 인터페이스부(335)는, A/V 입/출력부(미도시) 또는 무선 통신부(미도시)를 더 포함할 수 있다.
A/V 입/출력부는, 외부 디바이스의 영상 및 음성 신호를 디지털 디바이스(300)로 입력할 수 있도록, USB 단자, CVBS(Composite Video Banking Sync) 단자, 컴포넌트 단자, S-비디오 단자(아날로그), DVI(Digital Visual Interface) 단자, HDMI(High Definition Multimedia Interface) 단자, RGB 단자, D-SUB 단자 등을 포함할 수 있다.
무선 통신부는, 다른 디지털 디바이스와 근거리 무선 통신을 수행할 수 있다. 디지털 디바이스(300)는 예를 들어, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), 지그비(ZigBee), DLNA(Digital Living Network Alliance) 등의 통신 프로토콜에 따라 다른 디지털 디바이스와 네트워크 연결될 수 있다.
또한, 외부 디바이스 인터페이스부(335)는, 셋톱-박스(STB)와 상술한 각종 단자 중 적어도 하나를 통해 접속되어, 셋톱-박스(STB)와 입력/출력 동작을 수행할 수도 있다.
한편, 외부 디바이스 인터페이스부(335)는, 인접하는 외부 디바이스 내의 애플리케이션 또는 애플리케이션 목록(application list)을 수신하여, 제어부(370) 또는 저장부(340)로 전달할 수 있다.
네트워크 인터페이스부(330)는, 디지털 디바이스(300)를 인터넷 망을 포함하는 유/무선 네트워크와 연결하기 위한 인터페이스를 제공한다. 네트워크 인터페이스부(330)는, 유선 네트워크와의 접속을 위해 예를 들어, 이더넷(Ethernet) 단자 등을 구비할 수 있으며, 무선 네트워크와의 접속을 위해 예를 들어, WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 통신 규격 등을 이용할 수 있다.
네트워크 인터페이스부(330)는, 접속된 네트워크 또는 접속된 네트워크에 링크된 다른 네트워크를 통해, 다른 사용자 또는 다른 디지털 디바이스와 데이터를 송신 또는 수신할 수 있다. 특히, 디지털 디바이스(300)에 미리 등록된 다른 사용자 또는 다른 디지털 디바이스 중 선택된 사용자 또는 선택된 디지털 디바이스에, 상기 디지털 디바이스(300)에 저장된 일부의 컨텐트 데이터를 송신할 수 있다.
한편, 네트워크 인터페이스부(330)는, 접속된 네트워크 또는 접속된 네트워크에 링크된 다른 네트워크를 통해, 소정 웹 페이지에 접속할 수 있다. 즉, 네트워크를 통해 소정 웹 페이지에 접속하여, 해당 서버와 데이터를 송신 또는 수신할 수 있다. 그 외, 컨텐트 프로바이더 또는 네트워크 운영자가 제공하는 컨텐트 또는 데이터들을 수신할 수 있다. 즉, 네트워크를 통하여 컨텐트 프로바이더 또는 네트워크 프로바이더로부터 제공되는 영화, 광고, 게임, VOD, 방송 신호 등의 컨텐트 및 그와 관련된 정보를 수신할 수 있다. 또한, 네트워크 운영자가 제공하는 펌웨어(firmware)의 업데이트 정보 및 업데이트 파일을 수신할 수 있다. 또한, 인터넷 또는 컨텐트 프로바이더 또는 네트워크 운영자에게 데이터들을 송신할 수 있다.
또한, 네트워크 인터페이스부(330)는, 네트워크를 통해 공개(open)된 애플리케이션들 중 원하는 애플리케이션을 선택하여 수신할 수 있다.
저장부(340)는, 제어부(370) 내의 각 신호 처리 및 제어를 위한 프로그램을 저장할 수도 있고, 신호 처리된 영상, 음성 또는 데이터 신호를 저장할 수도 있다.
또한, 저장부(340)는 외부 디바이스 인터페이스부(335) 또는 네트워크 인터페이스부(330)로부터 입력되는 영상, 음성, 또는 데이터 신호의 임시 저장을 위한 기능을 수행할 수도 있다. 저장부(340)는, 채널 기억 기능을 통하여 소정 방송 채널에 관한 정보를 저장할 수 있다.
저장부(340)는, 외부 디바이스 인터페이스부(335) 또는 네트워크 인터페이스부(330)로부터 입력되는 애플리케이션 또는 애플리케이션 목록을 저장할 수 있다.
또한, 저장부(340)는, 후술하여 설명하는 다양한 플랫폼(platform)을 저장할 수도 있다.
저장부(340)는, 예를 들어 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM), 롬(EEPROM 등) 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 디지털 디바이스(300)는, 저장부(340) 내에 저장되어 있는 컨텐트 파일(동영상 파일, 정지영상 파일, 음악 파일, 문서 파일, 애플리케이션 파일 등)을 재생하여 사용자에게 제공할 수 있다.
도 3은, 저장부(340)가 제어부(370)와 별도로 구비된 실시 예를 도시하고 있으나, 본 발명은 이에 한정되지 않는다. 다시 말해, 저장부(340)는 제어부(370) 내에 포함될 수도 있다.
사용자 입력 인터페이스부(350)는, 사용자가 입력한 신호를 제어부(370)로 전달하거나 제어부(370)의 신호를 사용자에게 전달한다.
예를 들어, 사용자 입력 인터페이스부(350)는, RF 통신 방식, 적외선(IR) 통신 방식 등 다양한 통신 방식에 따라, 원격제어 디바이스로부터 전원 온/오프, 채널 선택, 화면 설정 등의 제어 신호를 수신하여 처리하거나, 제어부(370)의 제어 신호를 원격제어 디바이스로 송신하도록 처리할 수 있다.
또한, 사용자 입력 인터페이스부(350)는, 전원 키, 채널 키, 볼륨 키, 설정치 등의 로컬 키(미도시)에서 입력되는 제어 신호를 제어부(370)에 전달할 수 있다.
사용자 입력 인터페이스부(350)는, 사용자의 제스처(gesture)를 센싱(sensing)하는 센싱부(미도시)로부터 입력되는 제어 신호를 제어부(370)에 전달하거나, 제어부(370)의 신호를 센싱부(미도시)로 송신할 수 있다. 여기서, 센싱부(미도시)는, 터치 센서, 음성 센서, 위치 센서, 동작 센서 등을 포함할 수 있다.
제어부(370)는, 튜너(310), 복조부(320) 또는 외부 디바이스 인터페이스부(335)를 통하여 입력되는 스트림을 역다중화하거나 역다중화된 신호들을 처리하여, 영상 또는 음성 출력을 위한 신호를 생성 및 출력할 수 있다.
제어부(370)에서 처리된 영상 신호는, 디스플레이부(380)로 입력되어 해당 영상 신호에 대응하는 영상으로 표시될 수 있다. 또한, 제어부(370)에서 영상 처리된 영상 신호는, 외부 디바이스 인터페이스부(335)를 통하여 외부 출력 디바이스로 입력될 수 있다.
제어부(370)에서 처리된 음성 신호는, 오디오 출력부(385)로 오디오 출력될 수 있다. 또한, 제어부(370)에서 처리된 음성 신호는, 외부 디바이스 인터페이스부(335)를 통하여 외부 출력 디바이스로 입력될 수 있다.
도 3에서는 도시되어 있지 않으나, 제어부(370)는 역다중화부, 영상 처리부 등을 포함할 수 있다.
제어부(370)는, 디지털 디바이스(300)의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부(370)는, 튜너(310)를 제어하여, 사용자가 선택한 채널 또는 기 저장된 채널에 해당하는 RF 방송을 튜닝(tuning)하도록 제어할 수 있다.
제어부(370)는, 사용자 입력 인터페이스부(350)를 통하여 입력된 사용자 명령 또는 내부 프로그램에 의하여 디지털 디바이스(300)를 제어할 수 있다. 특히, 네트워크에 접속하여 사용자가 원하는 애플리케이션 또는 애플리케이션 목록을 디지털 디바이스(300) 내로 다운로드 받을 수 있도록 할 수 있다.
예를 들어, 제어부(370)는, 사용자 입력 인터페이스부(350)를 통하여 수신한 소정 채널 선택 명령에 따라 선택한 채널의 신호가 입력되도록 튜너(310)를 제어한다. 그리고 선택한 채널의 영상, 음성 또는 데이터 신호를 처리한다. 제어부(370)는, 사용자가 선택한 채널 정보 등이 처리한 영상 또는 음성신호와 함께 디스플레이부(380) 또는 오디오 출력부(385)를 통하여 출력될 수 있도록 한다.
다른 예로, 제어부(370)는, 사용자 입력 인터페이스부(350)를 통하여 수신한 외부 디바이스 영상 재생 명령에 따라, 외부 디바이스 인터페이스부(335)를 통하여 입력되는 외부 디바이스, 예를 들어, 카메라 또는 캠코더로부터의, 영상 신호 또는 음성 신호가 디스플레이부(380) 또는 오디오 출력부(385)를 통해 출력될 수 있도록 한다.
한편, 제어부(370)는, 영상을 표시하도록 디스플레이부(380)를 제어할 수 있다. 예를 들어, 튜너(310)를 통해 입력되는 방송 영상, 또는 외부 디바이스 인터페이스부(335)를 통해 입력되는 외부 입력 영상, 또는 네트워크 인터페이스부를 통해 입력되는 영상, 또는 저장부(340)에 저장된 영상을, 디스플레이부(380)에 표시하도록 제어할 수 있다. 이때, 디스플레이부(380)에 표시되는 영상은, 정지영상 또는 동영상일 수 있으며, 2D 영상 또는 3D 영상일 수 있다.
또한, 제어부(370)는, 컨텐트를 재생하도록 제어할 수 있다. 이때의 컨텐트는, 디지털 디바이스(300) 내에 저장된 컨텐트, 또는 수신된 방송 컨텐트, 외부로부터 입력되는 외부 입력 컨텐트일 수 있다. 컨텐트는, 방송 영상, 외부 입력 영상, 오디오 파일, 정지 영상, 접속된 웹 화면, 및 문서 파일 중 적어도 하나일 수 있다.
한편, 제어부(370)는, 애플리케이션 보기 항목에 진입하는 경우, 디지털 디바이스(300) 내 또는 외부 네트워크로부터 다운로드 가능한 애플리케이션 또는 애플리케이션 목록을 표시하도록 제어할 수 있다.
제어부(370)는, 다양한 사용자 인터페이스와 더불어, 외부 네트워크로부터 다운로드 되는 애플리케이션을 설치 및 구동하도록 제어할 수 있다. 또한, 사용자의 선택에 의해, 실행되는 애플리케이션에 관련된 영상이 디스플레이부(380)에 표시 되도록 제어할 수 있다.
한편, 도면에 도시하지 않았지만, 채널 신호 또는 외부 입력 신호에 대응하는 썸네일 이미지를 생성하는 채널 브라우징 처리부가 더 구비되는 것도 가능하다.
채널 브라우징 처리부는, 복조부(320)에서 출력한 스트림 신호(TS) 또는 외부 디바이스 인터페이스부(335)에서 출력한 스트림 신호 등을 입력받아, 입력되는 스트림 신호로부터 영상을 추출하여 썸네일 영상을 생성할 수 있다. 생성된 썸네일 영상은 그대로 또는 부호화되어 제어부(370)로 입력될 수 있다. 또한, 생성된 썸네일 영상은 스트림 형태로 부호화되어 제어부(370)로 입력되는 것도 가능하다. 제어부(370)는 입력된 썸네일 영상을 이용하여 복수의 썸네일 영상을 구비하는 썸네일 리스트를 디스플레이부(380)에 표시할 수 있다. 한편, 이러한 썸네일 리스트 내의 썸네일 영상들은 차례로 또는 동시에 업데이트 될 수 있다. 이에 따라 사용자는 복수의 방송 채널의 내용을 간편하게 파악할 수 있게 된다.
디스플레이부(380)는, 제어부(370)에서 처리된 영상 신호, 데이터 신호, OSD 신호 또는 외부 디바이스 인터페이스부(335)에서 수신되는 영상 신호, 데이터 신호 등을 각각 R, G, B 신호로 변환하여 구동 신호를 생성한다.
디스플레이부(380)는, PDP, LCD, OLED, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등이 가능할 수 있다.
한편, 디스플레이부(380)는, 터치 스크린으로 구성되어 출력 디바이스 이외에 입력 디바이스로 사용되는 것도 가능하다.
오디오 출력부(385)는, 제어부(370)에서 음성 처리된 신호, 예를 들어, 스테레오 신호, 3.1 채널 신호 또는 5.1 채널 신호를 입력받아 음성으로 출력한다. 음성 출력부(385)는 다양한 형태의 스피커로 구현될 수 있다.
한편, 사용자의 제스처를 감지하기 위해, 상술한 바와 같이, 터치 센서, 음성 센서, 위치 센서, 동작 센서 중 적어도 하나를 구비하는 센싱부(미도시)가 디지털 디바이스(300)에 더 구비될 수 있다. 센싱부(미도시)에서 감지된 신호는 사용자입력 인터페이스부(350)를 통해 제어부(370)로 전달될 수 있다.
한편, 사용자를 촬영하는 촬영부(미도시)가 더 구비될 수 있다. 촬영부(미도시)에서 촬영된 영상 정보는 제어부(370)에 입력될 수 있다.
제어부(370)는, 촬영부(미도시)로부터 촬영된 영상, 또는 센싱부(미도시)로부터의 감지된 신호를 각각 또는 조합하여 사용자의 제스처를 감지할 수도 있다.
전원 공급부(390)는, 디지털 디바이스(300) 전반에 걸쳐 해당 전원을 공급한다.
특히, 시스템 온 칩(System on Chip; SoC)의 형태로 구현될 수 있는 제어부(370)와, 영상 표시를 위한 디스플레이부(380), 및 오디오 출력을 위한 오디오 출력부(385)에 전원을 공급할 수 있다.
이를 위해, 전원 공급부(390)는, 교류 전원을 직류 전원으로 변환하는 컨버터(미도시)를 구비할 수 있다. 한편, 예를 들어, 디스플레이부(380)가 다수의 백라이트 램프(backlight lamp)를 구비하는 액정 패널로서 구현되는 경우, 휘도 가변 또는 디밍(dimming) 구동을 위해, PWM(Pulse Width Modulation) 동작 가능한 인버터(inverter)(미도시)를 더 구비할 수도 있다.
원격제어 디바이스는, 사용자 입력을 사용자입력 인터페이스부(350)로 송신한다. 이를 위해, 원격제어 디바이스는, 블루투스(Bluetooth), RF(Radio Frequency) 통신, 적외선(IR) 통신, UWB(Ultra Wideband), 지그비(ZigBee) 방식 등을 사용할 수 있다.
또한, 원격제어 디바이스는, 사용자입력 인터페이스부(350)에서 출력한 영상, 음성 또는 데이터 신호 등을 수신하여, 이를 원격제어 디바이스에서 표시하거나 음성 또는 진동을 출력할 수 있다.
상술한 디지털 디바이스(300)는, 고정형 또는 이동형의 ATSC 방식 또는 DVB 방식의 디지털 방송 신호의 처리가 가능한 디지털 방송 수신기일 수 있다.
그 밖에 본 발명에 따른 디지털 디바이스는 도시된 구성 중 필요에 따라 일부 구성을 생략하거나 반대로 도시되진 않은 구성을 더 포함할 수도 있다. 한편, 디지털 디바이스는 상술한 바와 달리, 튜너와 복조부를 구비하지 않고, 네트워크 인터페이스부 또는 외부 디바이스 인터페이스부를 통해서 컨텐트를 수신하여 재생할 수도 있다.
도 4는 본 발명의 다른 실시 예에 따른 디지털 디바이스를 설명하기 위해 도시한 구성 블록도이다.
전술한 도 2와 3이 고정 디바이스를 디지털 디바이스의 일 실시 예로 하여 설명하였다면, 도 4는 모바일 디바이스를 디지털 디바이스의 다른 실시 예로 한다.
도 4를 참조하면, 모바일 디바이스(400)는, 무선 통신부(410), A/V(Audio/Video) 입력부(420), 사용자 입력부(430), 센싱부(440), 출력부(450), 메모리(460), 인터페이스부(470), 제어부(480) 및 전원 공급부(490) 등을 포함할 수 있다.
이하 각 구성요소에 대해 상세히 설명하면, 다음과 같다.
무선 통신부(410)는, 모바일 디바이스(400)와 무선 통신 시스템 사이 또는 모바일 디바이스와, 모바일 디바이스가 위치한 네트워크 사이의 무선 통신을 가능하게 하는 하나 또는 그 이상의 모듈을 포함할 수 있다. 예를 들어, 무선 통신부(410)는 방송 수신 모듈(411), 이동통신 모듈(412), 무선 인터넷 모듈(413), 근거리 통신 모듈(414) 및 위치정보 모듈(415) 등을 포함할 수 있다.
방송 수신 모듈(411)은, 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 여기서, 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 상기 방송 관리 서버는, 방송 신호 및/또는 방송 관련 정보를 생성하여 송신하는 서버 또는 기 생성된 방송 신호 및/또는 방송 관련 정보를 제공받아 단말기에 송신하는 서버를 의미할 수 있다. 상기 방송 신호는, TV 방송 신호, 라디오 방송 신호, 데이터 방송 신호를 포함할 뿐만 아니라, TV 방송 신호 또는 라디오 방송 신호에 데이터 방송 신호가 결합한 형태의 방송 신호도 포함할 수 있다.
방송 관련 정보는, 방송 채널, 방송 프로그램 또는 방송 서비스 프로바이더에 관련한 정보를 의미할 수 있다. 상기 방송 관련 정보는, 이동통신망을 통하여도 제공될 수 있다. 이러한 경우에는 상기 이동통신 모듈(412)에 의해 수신될 수 있다.
방송 관련 정보는 다양한 형태 예를 들어, EPG(Electronic Program Guide) 또는 ESG(Electronic Service Guide) 등의 형태로 존재할 수 있다.
방송수신 모듈(411)은 예를 들어, ATSC, DVB-T(Digital Video Broadcasting-Terrestrial), DVB-S(Satellite), MediaFLO(Media Forward Link Only), DVB-H(Handheld), ISDB-T(Integrated Services Digital Broadcast-Terrestrial) 등 디지털 방송 시스템을 이용하여 디지털 방송 신호를 수신할 수 있다. 물론, 방송수신 모듈(411)은, 상술한 디지털 방송 시스템뿐만 아니라 다른 방송 시스템에 적합하도록 구성될 수도 있다.
방송수신 모듈(411)을 통해 수신된 방송 신호 및/또는 방송 관련 정보는, 메모리(460)에 저장될 수 있다.
이동통신 모듈(412)은, 이동 통신망 상에서 기지국, 외부 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 무선 신호는, 음성 신호, 화상 통화 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선인터넷 모듈(413)은, 무선 인터넷 접속을 위한 모듈을 포함하여, 모바일 디바이스(400)에 내장되거나 외장될 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등이 이용될 수 있다.
근거리통신 모듈(414)은, 근거리 통신을 위한 모듈을 말한다. 근거리 통신(short range communication) 기술로 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee, RS-232, RS-485 등이 이용될 수 있다.
위치정보 모듈(415)은, 모바일 디바이스(400)의 위치 정보 획득을 위한 모듈로서, GPS(Global Position System) 모듈을 예로 할 수 있다.
A/V 입력부(420)는, 오디오 또는/및 비디오 신호 인풋을 위한 것으로, 이에는 카메라(421)와 마이크(422) 등이 포함될 수 있다. 카메라(421)는, 화상통화 모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이부(451)에 표시될 수 있다.
카메라(421)에서 처리된 화상 프레임은, 메모리(460)에 저장되거나 무선 통신부(410)를 통하여 외부로 전송될 수 있다. 카메라(421)는, 사용 환경에 따라 2개 이상이 구비될 수도 있다.
마이크(422)는, 통화 모드 또는 녹음 모드, 음성인식 모드 등에서 마이크로폰(Microphone)에 의해 외부의 음향 신호를 입력받아 전기적인 음성 데이터로 처리한다. 처리된 음성 데이터는, 통화 모드인 경우 이동통신 모듈(412)을 통하여 이동통신 기지국으로 송신 가능한 형태로 변환되어 출력될 수 있다. 마이크(422)에는 외부의 음향 신호를 입력받는 과정에서 발생하는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘이 구현될 수 있다.
사용자 입력부(430)는, 사용자가 단말기의 동작 제어를 위한 인풋 데이터를 발생시킨다. 사용자 입력부(430)는, 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(정압/정전), 조그 휠(jog wheel), 조그 스위치(jog switch) 등으로 구성될 수 있다.
센싱부(440)는, 모바일 디바이스(400)의 개폐 상태, 모바일 디바이스(400)의 위치, 사용자 접촉 유무, 모바일 디바이스의 방위, 모바일 디바이스의 가속/감속 등과 같이 모바일 디바이스(400)의 현재 상태를 감지하여 모바일 디바이스(400)의 동작 제어를 위한 센싱 신호를 발생시킨다. 예를 들어, 모바일 디바이스(400)가 이동되거나 기울어진 경우 모바일 디바이스의 위치 내지 기울기 등을 센싱할 수 있다. 또한, 전원 공급부(490)의 전원 공급 여부, 인터페이스부(470)의 외부 디바이스 결합 여부 등도 센싱할 수도 있다. 한편, 센싱부(440)는, NFC(Near Field Communication) 등을 포함한 근접 센서(441)를 포함할 수 있다.
출력부(450)는, 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것으로, 디스플레이부(451), 음향 출력 모듈(452), 알람부(453), 및 햅틱 모듈(454) 등이 포함될 수 있다.
디스플레이부(451)는, 모바일 디바이스(400)에서 처리되는 정보를 표시(출력)한다. 예를 들어, 모바일 디바이스가 통화 모드인 경우 통화와 관련된 UI 또는 GUI를 표시한다. 모바일 디바이스(400)가 화상 통화 모드 또는 촬영 모드인 경우에는, 촬영 또는/및 수신된 영상 또는 UI, GUI를 표시한다.
디스플레이부(451)는, 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이 중에서 적어도 하나를 포함할 수 있다.
이들 중 일부 디스플레이는 그를 통해 외부를 볼 수 있도록 투명형 또는 광투과형으로 구성될 수 있다. 이는 투명 디스플레이라 호칭될 수 있는데, 상기 투명 디스플레이의 대표적인 예로는 TOLED(Transparant OLED) 등이 있다. 디스플레이부(451)의 후방 구조 또한 광 투과형 구조로 구성될 수 있다. 이러한 구조에 의하여, 사용자는 단말기 바디의 디스플레이부(451)가 차지하는 영역을 통해 단말기 바디(body)의 후방에 위치한 사물을 볼 수 있다.
모바일 디바이스(400)의 구현 형태에 따라 디스플레이부(451)가 2개 이상 존재할 수 있다. 예를 들어, 모바일 디바이스(400)에는 복수의 디스플레이부들이 하나의 면에 이격되거나 일체로 배치될 수 있고, 또한 서로 다른 면에 각각 배치될 수도 있다.
디스플레이부(451)와 터치 동작을 감지하는 센서(이하 '터치 센서'라 함)가 상호 레이어 구조를 이루는 경우(이하, '터치 스크린'이라 함)에, 디스플레이부(451)는 출력 디바이스 이외에 인풋 디바이스로도 사용될 수 있다. 터치 센서는, 예를 들어, 터치 필름, 터치 시트, 터치 패드 등의 형태를 가질 수 있다.
터치 센서는 디스플레이부(451)의 특정 부위에 가해진 압력 또는 디스플레이부(451)의 특정 부위에 발생하는 정전 용량 등의 변화를 전기적인 입력신호로 변환하도록 구성될 수 있다. 터치 센서는 터치 되는 위치 및 면적뿐만 아니라, 터치 시의 압력까지도 검출할 수 있도록 구성될 수 있다.
터치 센서에 대한 터치 인풋이 있는 경우, 그에 대응하는 신호(들)는 터치 제어기로 보내진다. 터치 제어기는 그 신호(들)를 처리한 다음 대응하는 데이터를 제어부(480)로 전송한다. 이로써, 제어부(480)는 디스플레이부(451)의 어느 영역이 터치 되었는지 여부 등을 알 수 있게 된다.
터치스크린에 의해 감싸지는 모바일 디바이스의 내부 영역 또는 상기 터치 스크린의 근처에 근접 센서(441)가 배치될 수 있다. 상기 근접 센서는 소정의 검출면에 접근하는 물체, 혹은 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 근접 센서는 접촉식 센서보다는 그 수명이 길며 그 활용도 또한 높다.
상기 근접 센서의 예로는 투과형 광전 센서, 직접 반사형 광전 센서, 미러 반사형 광전 센서, 고주파 발진형 근접 센서, 정전용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다. 상기 터치스크린이 정전식인 경우에는 상기 포인터의 근접에 따른 전계의 변화로 상기 포인터의 근접을 검출하도록 구성된다. 이 경우 상기 터치 스크린(터치 센서)은 근접 센서로 분류될 수도 있다.
이하에서는 설명의 편의를 위해, 상기 터치스크린 상에 포인터가 접촉되지 않으면서 근접되어 상기 포인터가 상기 터치스크린 상에 위치함이 인식되도록 하는 행위를 "근접 터치(proximity touch)"라고 칭하고, 상기 터치스크린 상에 포인터가 실제로 접촉되는 행위를 "접촉 터치(contact touch)"라고 칭한다. 상기 터치스크린 상에서 포인터로 근접 터치가 되는 위치라 함은, 상기 포인터가 근접 터치될 때 상기 포인터가 상기 터치스크린에 대해 수직으로 대응되는 위치를 의미한다.
상기 근접 센서는, 근접 터치와, 근접 터치 패턴(예를 들어, 근접 터치 거리, 근접 터치 방향, 근접 터치 속도, 근접 터치 시간, 근접 터치 위치, 근접 터치 이동 상태 등)을 감지한다. 상기 감지된 근접 터치 동작 및 근접 터치 패턴에 상응하는 정보는 터치 스크린상에 출력될 수 있다.
음향출력모듈(452)은, 호신호 수신, 통화 모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서 무선 통신부(410)로부터 수신되거나 메모리(460)에 저장된 오디오 데이터를 출력할 수 있다. 음향 출력 모듈(452)은 모바일 디바이스(400)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음 등)과 관련된 음향 신호를 출력하기도 한다. 이러한 음향 출력 모듈(452)에는 리시버(receiver), 스피커(speaker), 버저(buzzer) 등이 포함될 수 있다.
알람부(453)는, 모바일 디바이스(400)의 이벤트 발생을 알리기 위한 신호를 출력한다. 모바일 디바이스에서 발생 되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 터치 입력 등이 있다. 알람부(453)는, 비디오 신호나 오디오 신호 이외에 다른 형태, 예를 들어 진동으로 이벤트 발생을 알리기 위한 신호를 출력할 수도 있다. 상기 비디오 신호나 오디오 신호는 디스플레이부(451)나 음성 출력 모듈(452)을 통해서도 출력될 수 있어서, 그들(451,452)은 알람부(453)의 일부로 분류될 수도 있다.
햅틱 모듈(haptic module)(454)은, 사용자가 느낄 수 있는 다양한 촉각 효과를 발생시킨다. 햅틱 모듈(454)이 발생시키는 촉각 효과의 대표적인 예로는 진동이 있다. 햅택 모듈(454)이 발생하는 진동의 세기와 패턴 등은 제어 가능하다. 예를 들어, 서로 다른 진동을 합성하여 출력하거나 순차적으로 출력할 수도 있다. 햅틱 모듈(454)은, 진동 외에도, 접촉 피부면에 대해 수직 운동하는 핀 배열, 분사구나 흡입구를 통한 공기의 분사력이나 흡입력, 피부 표면에 대한 스침, 전극(eletrode)의 접촉, 정전기력 등의 자극에 의한 효과와, 흡열이나 발열 가능한 소자를 이용한 냉/온감 재현에 의한 효과 등 다양한 촉각 효과를 발생시킬 수 있다. 햅틱 모듈(454)은, 직접적인 접촉을 통해 촉각 효과의 전달할 수 있을 뿐만 아니라, 사용자가 손가락이나 팔 등의 근 감각을 통해 촉각 효과를 느낄 수 있도록 구현할 수도 있다. 햅틱 모듈(454)은, 모바일 디바이스(400)의 구성 태양에 따라 2개 이상이 구비될 수 있다.
메모리(460)는, 제어부(480)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 폰 북, 메시지, 정지영상, 동영상 등)을 임시 저장할 수도 있다. 상기 메모리(460)는 상기 터치스크린 상의 터치 인풋 시 출력되는 다양한 패턴의 진동 및 음향에 관한 데이터를 저장할 수 있다.
메모리(460)는, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어, SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 모바일 디바이스(400)는 인터넷(internet) 상에서 상기 메모리(460)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다.
인터페이스부(470)는, 모바일 디바이스(400)에 연결되는 모든 외부 디바이스와의 통로 역할을 한다. 인터페이스부(470)는 외부 디바이스로부터 데이터를 전송받거나, 전원을 공급받아 모바일 디바이스(400) 내부의 각 구성 요소에 전달하거나, 모바일 디바이스(400) 내부의 데이터가 외부 디바이스로 전송되도록 한다. 예를 들어, 유/무선 헤드셋 포트, 외부 충전기 포트, 유/무선 데이터 포트, 메모리 카드(memory card) 포트, 식별 모듈이 구비된 디바이스를 연결하는 포트, 오디오 I/O(Input/Output) 포트, 비디오 I/O 포트, 이어폰 포트 등이 인터페이스부(470)에 포함될 수 있다.
식별 모듈은 모바일 디바이스(400)의 사용 권한을 인증하기 위한 각종 정보를 저장한 칩으로서, 사용자 인증 모듈(User Identify Module, UIM), 가입자 인증 모듈(Subscriber Identify Module, SIM), 범용 사용자 인증 모듈(Universal Subscriber Identity Module, USIM) 등을 포함할 수 있다. 식별 모듈이 구비된 디바이스(이하 '식별 디바이스')는, 스마트 카드(smart card) 형식으로 제작될 수 있다. 따라서 식별 디바이스는 포트를 통하여 단말기와 연결될 수 있다.
인터페이스부(470)는, 모바일 디바이스(400)가 외부 크래들(cradle)과 연결될 때, 상기 크래들로부터의 전원이 상기 모바일 디바이스(400)에 공급되는 통로가 되거나, 사용자에 의해 상기 크래들에서 입력되는 각종 명령 신호가 상기 모바일 디바이스로 전달되는 통로가 될 수 있다. 크래들로부터 입력되는 각종 명령 신호 또는 상기 전원은, 모바일 디바이스가 상기 크래들에 정확히 장착되었음을 인지하기 위한 신호로 동작될 수도 있다.
제어부(480)는, 통상적으로 모바일 디바이스(400)의 전반적인 동작을 제어한다. 제어부(480)는 예를 들어, 음성 통화, 데이터 통신, 화상 통화 등을 위한 관련된 제어 및 처리를 수행한다. 제어부(480)는, 멀티미디어 재생을 위한 멀티미디어 모듈(481)을 구비할 수도 있다. 멀티미디어 모듈(481)은, 제어부(480) 내에 구현될 수도 있고, 제어부(480)와 별도로 구현될 수도 있다. 제어부(480)는, 터치-스크린상에서 행해지는 필기 인풋 또는 그림 그리기 인풋을 각각 문자 및 이미지로 인식할 수 있는 패턴 인식(pattern recognition) 처리를 행할 수 있다.
전원 공급부(490)는, 제어부(480)의 제어에 의해 외부의 전원, 내부의 전원을 인가받아 각 구성요소들의 동작에 필요한 전원을 공급한다.
여기에 설명되는 다양한 실시 예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 디바이스로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시 예는 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays, 프로세서, 제어기, 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시 예들이 제어부(480) 자체로 구현될 수 있다.
소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다. 적절한 프로그램 언어로 쓰여 진 소프트웨어 애플리케이션으로 소프트웨어 코드(software code)가 구현될 수 있다. 여기서, 소프트웨어 코드는, 메모리(460)에 저장되고, 제어부(480)에 의해 실행될 수 있다.
한편, 이동 단말기는 사용자가 주로 손에 쥐고 사용하는 차원을 넘어서, 신체에 착용할 수 있는 웨어러블 디바이스(wearable device)로 확장될 수 있다. 이러한 웨어러블 디바이스에는 스마트 워치(smart watch), 스마트 글래스(smart glass), HMD(head mounted display) 등이 있다. 이하, 웨어러블 디바이스로 확장된 이동 단말기의 예들에 대하여 설명하기로 한다.
웨어러블 디바이스는 다른 이동 단말기(400)와 데이터를 상호 교환(또는 연동) 가능하게 이루어질 수 있다. 근거리 통신 모듈(414)은, 이동 단말기(400) 주변에 통신 가능한 웨어러블 디바이스를 감지(또는 인식)할 수 있다. 나아가, 제어부(480)는 감지된 웨어러블 디바이스가 이동 단말기(400)와 통신하도록 인증된 디바이스인 경우, 이동 단말기(400)에서 처리되는 데이터의 적어도 일부를, 근거리 통신 모듈(414)을 통하여 웨어러블 디바이스로 전송할 수 있다. 따라서, 사용자는 이동 단말기(400)에서 처리되는 데이터를 웨어러블 디바이스를 통하여 이용할 수 있다. 예를 들어, 이동 단말기(400)에 전화가 수신된 경우 웨어러블 디바이스를 통해 전화 통화를 수행하거나, 이동 단말기(400)에 메시지가 수신된 경우 웨어러블 디바이스를 통해 상기 수신된 메시지를 확인하는 것이 가능하다.
도 5a는 본 발명의 다른 일 실시예와 관련된 와치 타입의 이동 단말기(500)의 일 예를 보인 사시도이다.
도 5a를 참조하면, 와치 타입의 이동 단말기(500)는 디스플레이부(511)를 구비하는 본체(501) 및 본체(501)에 연결되어 손목에 착용 가능하도록 구성되는 밴드(502)를 포함한다.
본체(501)는 외관을 형성하는 케이스를 포함한다. 도시된 바와 같이, 케이스는 각종 전자부품들을 수용하는 내부 공간을 마련하는 제1케이스(501a) 및 제2케이스(501b)를 포함할 수 있다. 다만, 본 발명은 이에 한정되는 것은 아니고, 하나의 케이스가 상기 내부 공간을 마련하도록 구성되어 유니 바디의 이동 단말기(500)가 구현될 수도 있다.
와치 타입의 이동 단말기(500)는 무선 통신이 가능하도록 구성되며, 본체(501)에는 상기 무선 통신을 위한 안테나가 설치될 수 있다. 한편, 안테나는 케이스를 이용하여 그 성능을 확장시킬 수 있다. 예를 들어, 도전성 재질을 포함하는 케이스가 안테나와 전기적으로 연결되어 그라운드 영역 또는 방사 영역을 확장시키도록 구성될 수 있다.
본체(501)의 전면에는 디스플레이부(511)가 배치되어 정보를 출력할 수 있으며, 디스플레이부(511)에는 터치 센서가 구비되어 터치 스크린으로 구현될 수 있다. 도시된 바와 같이, 디스플레이부(511)의 윈도우(511a)는 제1 케이스(501a)에 장착되어 제1 케이스(501a)와 함께 단말기 바디의 전면을 형성할 수 있다.
본체(501)에는 음향 출력부(512), 카메라(521), 마이크(522), 사용자 입력부(523) 등이 구비될 수 있다. 디스플레이부(511)가 터치 스크린으로 구현되는 경우, 사용자 입력부(523)로 기능할 수 있으며, 이에 따라 본체(501)에 별도의 키가 구비되지 않을 수 있다.
밴드(502)는 손목에 착용되어 손목을 감싸도록 이루어지며, 착용이 용이하도록 플렉서블 재질로 형성될 수 있다. 그러한 예로서, 밴드(502)는 가죽, 고무, 실리콘, 합성수지 재질 등으로 형성될 수 있다. 또한, 밴드(502)는 본체(501)에 착탈 가능하게 구성되어, 사용자가 취향에 따라 다양한 형태의 밴드로 교체 가능하게 구성될 수 있다.
한편, 밴드(502)는 안테나의 성능을 확장시키는 데에 이용될 수 있다. 예를 들어, 밴드에는 안테나와 전기적으로 연결되어 그라운드 영역을 확장시키는 그라운드 확장부(미도시)가 내장될 수 있다.
밴드(502)에는 파스너(fastener; 502a)가 구비될 수 있다. 파스너(502a)는 버클(buckle), 스냅핏(snap-fit)이 가능한 후크(hook) 구조, 또는 벨크로(velcro; 상표명) 등에 의하여 구현될 수 있으며, 신축성이 있는 구간 또는 재질을 포함할 수 있다. 본 도면에서는, 파스너(502a)가 버클 형태로 구현된 예를 제시하고 있다.
도 5b는 본 발명의 또 다른 실시 예와 관련된 글래스 타입의 이동 단말기(550)의 일 예를 보인 사시도이다.
글래스 타입의 이동 단말기(550)는 인체의 두부에 착용 가능하도록 구성되며, 이를 위한 프레임부(케이스, 하우징 등)을 구비할 수 있다. 프레임부는 착용이 용이하도록 플렉서블 재질로 형성될 수 있다. 본 도면에서는, 프레임부가 서로 다른 재질의 제1 프레임(551)과 제2 프레임(552)을 포함하는 것을 예시하고 있다.
프레임부는 두부에 지지되며, 각종 부품들이 장착되는 공간을 마련한다. 도시된 바와 같이, 프레임부에는 제어 모듈(580), 음향 출력 모듈(562) 등과 같은 전자부품이 장착될 수 있다. 또한, 프레임부에는 좌안 및 우안 중 적어도 하나를 덮는 렌즈(553)가 착탈 가능하게 장착될 수 있다.
제어 모듈(580)은 이동 단말기(550)에 구비되는 각종 전자부품을 제어하도록 이루어진다. 제어 모듈(580)은 앞서 설명한 제어부(480)에 대응되는 구성으로 이해될 수 있다. 본 도면에서는, 제어 모듈(580)이 일측 두부 상의 프레임부에 설치된 것을 예시하고 있다. 하지만, 제어 모듈(580)의 위치는 이에 한정되지 않는다.
디스플레이부(561)는 헤드 마운티드 디스플레이(Head Mounted Display, HMD) 형태로 구현될 수 있다. HMD 형태란, 두부에 장착되어, 사용자의 눈 앞에 직접 영상을 보여주는 디스플레이 방식을 말한다. 사용자가 글래스 타입의 이동 단말기(550)를 착용하였을 때, 사용자의 눈 앞에 직접 영상을 제공할 수 있도록, 디스플레이부(561)는 좌안 및 우안 중 적어도 하나에 대응되게 배치될 수 있다. 본 도면에서는, 사용자의 우안을 향하여 영상을 출력할 수 있도록, 디스플레이부(561)가 우안에 대응되는 부분에 위치한 것을 예시하고 있다.
디스플레이부(561)는 프리즘을 이용하여 사용자의 눈으로 이미지를 투사할 수 있다. 또한, 사용자가 투사된 이미지와 전방의 일반 시야(사용자가 눈을 통하여 바라보는 범위)를 함께 볼 수 있도록, 프리즘은 투광성으로 형성될 수 있다.
이처럼, 디스플레이부(561)를 통하여 출력되는 영상은, 일반 시야와 오버랩(overlap)되어 보여질 수 있다. 이동 단말기(660)는 이러한 디스플레이의 특성을 이용하여 현실의 이미지나 배경에 가상 이미지를 겹쳐서 하나의 영상으로 보여주는 증강현실(Augmented Reality, AR)을 제공할 수 있다.
카메라(571)는 좌안 및 우안 중 적어도 하나에 인접하게 배치되어, 전방의 영상을 촬영하도록 형성된다. 카메라(571)가 눈에 인접하여 위치하므로, 카메라(571)는 사용자가 바라보는 장면을 영상으로 획득할 수 있다.
본 도면에서는, 카메라(571)가 제어 모듈(780)에 구비된 것을 예시하고 있으나, 반드시 이에 한정되는 것은 아니다. 카메라(571)는 상기 프레임부에 설치될 수도 있으며, 복수 개로 구비되어 입체 영상을 획득하도록 이루어질 수도 있다.
글래스 타입의 이동 단말기(550)는 제어명령을 입력 받기 위하여 조작되는 사용자 입력부(573a,573b)를 구비할 수 있다. 사용자 입력부(573a,573b)는 터치, 푸시 등 사용자가 촉각적인 느낌을 가면서 조작하게 되는 방식(tactile manner)이라면 어떤 방식이든 채용될 수 있다. 본 도면에서는, 프레임부와 제어 모듈(580)에 각각 푸시 및 터치 입력 방식의 사용자 입력부(573a,573b)가 구비된 것을 예시하고 있다.
또한, 글래스 타입의 이동 단말기(550)에는 사운드를 입력받아 전기적인 음성 데이터로 처리하는 마이크(미도시) 및 음향을 출력하는 음향 출력 모듈(562)이 구비될 수 있다. 음향 출력 모듈(562)은 일반적인 음향 출력 방식 또는 골전도 방식으로 음향을 전달하도록 이루어질 수 있다. 음향 출력 모듈(562)이 골전도 방식으로 구현되는 경우, 사용자가 이동 단말기(550)를 착용시, 음향 출력 모듈(562)은 두부에 밀착되며, 두개골을 진동시켜 음향을 전달하게 된다.
도 6는 본 발명의 일 실시 예에 따라 도 2 내지 5의 제어부의 상세 구성을 설명하기 위해 도시한 구성 블록도이다.
제어부의 일 예는, 역다중화부(610), 영상 처리부(620), OSD 생성부(640), 믹서(mixer)(650), 프레임 레이트 변환부(FRC: Frame Rate Converter)(655), 및 포맷터(formatter)(660)를 포함할 수 있다. 그 외 상기 제어부는 도시되진 않았으나 음성 처리부와 데이터 처리부를 더 포함할 수 있다.
역다중화부(610)는, 입력되는 스트림을 역다중화한다. 예를 들어, 역다중화부(610)는 입력되는 MPEG-2 TS 영상, 음성 및 데이터 신호로 역다중화할 수 있다. 여기서, 역다중화부(610)에 입력되는 스트림 신호는, 튜너 또는 복조부 또는 외부 디바이스 인터페이스부에서 출력되는 스트림 신호일 수 있다.
영상 처리부(620)는, 역다중화된 영상 신호의 영상 처리를 수행한다. 이를 위해, 영상 처리부(620)는, 영상 디코더(625) 및 스케일러(635)를 구비할 수 있다.
영상 디코더(625)는 역다중화된 영상 신호를 복호하며, 스케일러(635)는 복호된 영상 신호의 해상도를 디스플레이부에서 출력 가능하도록 스케일링(scaling)한다.
영상 디코더(625)는 다양한 규격을 지원할 수 있다. 예를 들어, 영상 디코더(625)는 영상 신호가 MPEG-2 규격으로 부호화된 경우에는 MPEG-2 디코더의 기능을 수행하고, 영상 신호가 DMB(Digital Multimedia Broadcasting) 방식 또는 H.264 규격으로 부호화된 경우에는 H.264 디코더의 기능을 수행할 수 있다.
한편, 영상 처리부(620)에서 복호된 영상 신호는, 믹서(650)로 입력된다.
OSD 생성부(640)는, 사용자 입력에 따라 또는 자체적으로 OSD 데이터를 생성한다. 예를 들어, OSD 생성부(640)는 사용자입력 인터페이스부의 제어 신호에 기초하여 디스플레이부(380)의 화면에 각종 데이터를 그래픽(Graphic)이나 텍스트(Text) 형태로 표시하기 위한 데이터를 생성한다. 생성되는 OSD 데이터는, 디지털 디바이스의 사용자 인터페이스 화면, 다양한 메뉴 화면, 위젯(widget), 아이콘(icon), 시청률 정보(viewing rate information) 등의 다양한 데이터를 포함한다. OSD 생성부(640)는, 방송 영상의 자막 또는 EPG에 기반한 방송 정보를 표시하기 위한 데이터를 생성할 수도 있다.
믹서(650)는, OSD 생성부(640)에서 생성된 OSD 데이터와 영상 처리부에서 영상 처리된 영상 신호를 믹싱(mixing)하여 포맷터(660)로 제공한다. 복호된 영상 신호와 OSD 데이터가 믹싱되어 방송 영상 또는 외부 입력 영상 상에 OSD가 오버레이(overlay) 되어 표시된다.
프레임 레이트 변환부(FRC)(655)는, 입력되는 영상의 프레임 레이트(frame rate)를 변환한다. 예를 들어, 프레임 레이트 변환부(655)는 입력되는 60Hz 영상의 프레임 레이트를 디스플레이부의 출력 주파수에 따라 예를 들어, 120Hz 또는 240Hz의 프레임 레이트를 가지도록 변환할 수 있다. 상기와 같이, 프레임 레이트를 변환하는 방법에는 다양한 방법이 존재할 수 있다. 일 예로, 프레임 레이트 변환부(655)는 프레임 레이트를 60Hz에서 120Hz로 변환하는 경우, 제1 프레임과 제2 프레임 사이에 동일한 제1 프레임을 삽입하거나, 제1 프레임과 제2 프레임으로부터 예측된 제3 프레임을 삽입함으로써 변환할 수 있다. 다른 예로, 프레임 레이트 변환부(555)는 프레임 레이트를 60Hz에서 240Hz로 변환하는 경우, 기존 프레임 사이에 동일한 프레임 또는 예측된 프레임을 3개 더 삽입하여 변환할 수 있다. 한편, 별도의 프레임 변환을 수행하지 않는 경우에는 프레임 레이트 변환부(655)를 바이패스(bypass) 할 수도 있다.
포맷터(660)는, 입력되는 프레임 레이트 변환부(655)의 출력을 디스플레이부의 출력 포맷에 맞게 변경한다. 예를 들어, 포맷터(660)는 R, G, B 데이터 신호를 출력할 수 있으며, 이러한 R, G, B 데이터 신호는, 낮은 전압 차분 신호(LVDS: Low voltage differential signal) 또는 mini-LVDS로 출력될 수 있다. 또한, 포맷터(660)는 입력되는 프레임 레이트 변환부(655)의 출력이 3D 영상 신호인 경우에는 디스플레이부의 출력 포맷에 맞게 3D 형태로 구성하여 출력함으로써, 상기 디스플레이부를 통해 3D 서비스를 지원할 수도 있다.
한편, 제어부 내 음성 처리부(미도시)는, 역다중화된 음성 신호의 음성 처리를 수행할 수 있다. 이러한 음성 처리부(미도시)는 다양한 오디오 포맷을 처리하도록 지원할 수 있다. 일 예로, 음성 신호가 MPEG(Moving Picture Experts Group)-2, MPEG-4, AAC(Advanced Audio Codec), HE-AAC(High Efficiency-AAC), AC(Audio Coding)-3, BSAC(Bit Sliced Arithmetic Coding) 등의 포맷으로 부호화된 경우에도 이에 대응되는 디코더를 구비하여 처리할 수 있다.
또한, 제어부 내 음성 처리부(미도시)는, 베이스(Base), 트레블(Treble), 음량 조절 등을 처리할 수 있다.
제어부 내 데이터 처리부(미도시)는, 역다중화된 데이터 신호의 데이터 처리를 수행할 수 있다. 예를 들어, 데이터 처리부는 역다중화된 데이터 신호가 부호화된 경우에도 이를 복호할 수 있다. 여기서, 부호화된 데이터 신호로는, 각 채널에서 방영되는 방송 프로그램의 시작시각, 종료시각 등의 방송 정보가 포함된 EPG 정보일 수 있다.
한편, 상술한 디지털 디바이스는 본 발명에 따른 예시로서, 각 구성요소는 실제 구현되는 디지털 디바이스의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라, 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나 하나의 구성요소가 2 이상의 구성요소로 세분화될 수 있다. 또한, 각 블록에서 수행하는 기능은 본 발명의 실시 예를 설명하기 위한 것이며, 그 구체적인 동작이나 디바이스는 본 발명의 권리범위를 제한하지 아니한다.
한편, 디지털 디바이스는, 디바이스 내에 저장된 영상 또는 입력되는 영상의 신호 처리를 수행하는 영상신호 처리 디바이스일 수 있다. 영상신호 처리 디바이스의 다른 예로는, 도 3에서 도시된 디스플레이부(380)와 오디오 출력부(385)가 제외된 셋톱-박스(STB), 상술한 DVD 플레이어, 블루-레이 플레이어, 게임 디바이스, 컴퓨터 등이 더 예시될 수 있다.
한편, 도시되진 않았으나, 전술한 본 발명의 실시 예에 따른 디지털 디바이스들은 다양한 형태로 구현된 입력 수단과 연결될 수 있다.
예컨대, 디지털 디바이스를 제어하기 위해 상기 디지털 디바이스 상에 구비된 프론트 패널(front panel)이나 제어 수단(입력 수단)이 이용된다.
한편, 제어 수단은 유, 무선 통신 가능한 사용자 인터페이스 디바이스(UID; User Interface Device)로써, 주로 디지털 디바이스의 제어 목적으로 구현된 리모컨, 키보드, 포인팅 디바이스, 터치패드(touch-pad) 등이 포함되나, 상기 디지털 디바이스에 연결된 외부 입력 전용의 제어 수단 역시 포함될 수 있다. 그 밖에, 디지털 디바이스 제어 목적이 아니나 모드 전환 등을 통해 상기 디지털 디바이스를 제어하는 스마트 폰, 태블릿 PC 등 모바일 디바이스 등도 제어 수단에 포함된다. 다만, 본 명세서에서는 편의상 포인팅 디바이스(pointing device)를 일 실시 예로 하여 설명하나, 이에 한정되는 것은 아니다. 입력 수단은, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), 지그비(ZigBee), DLNA(Digital Living Network Alliance), RS 등의 통신 프로토콜을 필요에 따라 적어도 하나 이상 채용하여 디지털 디바이스와 통신 가능하다.
리모컨은, 디지털 디바이스 제어를 위해 필요한 다양한 키 버튼들이 구비된 통상의 입력 수단을 말한다. 포인팅 디바이스는, 자이로 센서(Gyro Sensor) 등을 탑재하여 사용자의 움직임, 압력, 회전 등에 기초하여 디지털 디바이스의 화면상에 대응되는 포인터(pointer)를 구현하여 상기 디지털 디바이스에 소정 제어 명령을 전달한다. 이러한 포인팅 디바이스는, 매직 리모컨, 매직 컨트롤러 등 다양한 이름으로 명명될 수 있다. 키보드는, 디지털 디바이스가 종래 방송만을 제공하던 것을 넘어 지능형 통합 디지털 디바이스로서 웹 브라우저, 애플리케이션, SNS(Social Network Service) 등 다양한 서비스를 제공함에 따라 종래 리모컨만으로는 제어가 쉽지 않아 이를 보완하여 PC의 키보드와 유사하게 구현하여 텍스트 등의 입력 편의를 도모하기 위해 구현되었다. 한편, 리모컨, 포인팅 디바이스, 키보드 등 제어수단은, 필요에 따라 터치패드를 구비함으로써 텍스트 인풋, 포인터 이동, 사진 내지 동영상의 확대/축소 등 더욱 편리하고 다양한 제어 목적에 이용할 수 있다.
본 명세서에서 설명하는 디지털 디바이스는, 웹OS 플랫폼(platform)에 의해 동작될 수 있다. 이하 웹OS 기반의 구성 내지 알고리즘 등 처리 과정은, 전술한 디지털 디바이스의 제어부 등에서 수행될 수 있다. 여기서, 상기 제어부는 전술한 제어부를 포함하여 광의의 개념으로 사용한다. 따라서, 이하에서는 디지털 디바이스 내 웹OS 기반의 또는 그와 관련된 서비스, 애플리케이션, 컨텐트 등의 처리를 위해 구성은 관련 소프트웨어(software), 펌웨어(firmware) 등을 포함한 하드웨어 내지 구성요소는 제어부(controller)로 명명하여 설명할 수 있다.
이러한 웹OS 기반 플랫폼은 예컨대, 루나-서비스 버스(Luna-service Bus)에 기반하여 서비스, 애플리케이션 등을 통합함으로써, 개발 독립성과 기능 확장성을 제고하기 위한 것으로, 웹 애플리케이션 프레임워크에 기반하여 애플리케이션 개발 생산성도 높일 수 있다. 또한, 웹OS 프로세스와 리소스 관리(resource management)를 통해 시스템 리소스(system resource) 등을 효율적으로 활용하여 멀티-태스킹(multi-tasking)도 지원할 수 있다.
한편, 본 명세서에서 기술하는 웹OS 플랫폼은 PC, TV, 셋톱박스(STB)와 같은 고정 디바이스 뿐만 아니라 휴대폰, 스마트 폰, 태블릿 pc, 노트북, 웨어러블 디바이스(wearable device) 등과 같은 모바일 디바이스에서도 이용 가능하다.
디지털 디바이스를 위한 소프트웨어의 구조는, 종래 문제 해결과 시장에 의존적인 모놀리틱 구조(monolithic structure)로 멀티쓰레딩 기술(multi-threading)에 기반한 단일 프로세스(single process)와 클로우즈드 제품(closed product)으로 외부 응용에 어려움이 있었고, 그 이후 새로운 플랫폼 기반 개발을 지향하고 칩-셋(chip-set) 교체를 통한 비용 혁신과 UI 응용 및 외부 응용 개발 효율화를 추구하여 레이어링 및 콤포넌티제이션(layering & componentization)이 이루어져 3-레이어드 구조와 애드-온(add-on), 싱글 소스 제품(single source product), 오픈 애플리케이션(open application)을 위한 애드-온 구조(Add-on structure)를 가졌었다. 최근에는 더 나아가 소프트웨어 구조가 기능 단위의 모듈화 아키텍처(modulating architecture), 에코-시스템(echo-system)을 위한 웹 오픈 API(Web Open API (Application Programming Interface)) 제공, 게임 엔진(game engine)을 위한 네이티브 오픈 API(Native Open API) 등을 위한 모듈화 디자인이 이루어지고 있으며, 이에 따라 서비스 구조 기반의 멀티-프로세스 구조(multi-process structure)로 생성되고 있다.
도 7은 본 발명의 일 실시 예에 따른 웹OS 아키텍처를 설명하기 위해 도시한 도면이다.
도 7을 참조하여, 웹OS 플랫폼의 아키텍처에 대해 설명하면, 다음과 같다.
상기 플랫폼은 크게 커널, 시스템 라이브러리(system library) 기반의 웹OS 코어 플랫폼(Web OS core platform), 애플리케이션, 서비스 등으로 구분할 수 있다.
웹OS 플랫폼의 아키텍처는, 레이어드 구조(layered structure)로 최하위의 레이어에는 OS, 다음 레이어에는 시스템 라이브러리(들) 그리고 최상위에는 애플리케이션들(applications)이 존재한다. 먼저, 최하위 레이어는, OS 레이어로 리눅스 커널(Linux Kernel)이 포함되어 상기 디지털 디바이스의 OS로 리눅스를 포함할 수 있다. 상기 OS 레이어 상위에는, BSP(Board Support Package)/HAL(Hardware Abstraction Layer) 레이어, 웹OS 코어 모듈 레이어(Web OS core modules layer), 서비스 레이어(service layer), 루나-서비스 버스 레이어(Luna-Service Bus layer), 엔요 프레임워크/NDK(Native Developer’s Kit)/QT 레이어(Enyo framework/NDK/QT layer) 그리고 최상위 레이어에는 애플리케이션 레이어(Application layer)가 순차로 존재한다. 한편, 상술한 웹OS 레이어 구조 중 일부 레이어는 생략 가능하며, 복수의 레이어가 하나의 레이어화 되거나 반대로 하나의 레이어가 복수의 레이어 구조가 될 수도 있다. 상기 웹OS 코어 모듈 레이어는, 서피스 윈도우(surface window) 등을 관리하는 LSM(Luna Surface Manager), 애플리케이션의 실행과 수행 상태 등을 관리하는 SAM(System & Application Manager), 웹키트(WebKit)에 기반하여 웹 애플리케이션 등을 관리하는 WAM(Web Application Manager) 등을 포함할 수 있다.
상기 LSM은, 화면에 보이는 애플리케이션 윈도우(application window)를 관리한다. 상기 LSM은, 디스플레이 하드웨어(Display HW)를 관장하며, 애플리케이션들에게 필요한 내용을 렌더링(rendering)할 수 있는 버퍼(buffer)를 제공하며, 복수의 애플리케이션들이 렌더링한 결과를 합성(composition)하여 화면에 출력할 수 있다.
상기 SAM은, 시스템과 애플리케이션의 여러 조건별 수행 폴리시(policy)를 관리한다.
한편, WAM은, 웹OS는 웹 애플리케이션(Web App)을 기본 애플리케이션으로 볼 수 있는바, 엔요 프레임워크(Enyo Framework)에 기반한다.
애플리케이션의 서비스 사용은, 루나-서비스 버스(Luna-service Bus)를 통해 이루어지며, 신규로 서비스를 버스에 등록할 수 있고, 애플리케이션은 자신이 필요로 하는 서비스를 찾아서 사용할 수도 있다.
상기 서비스 레이어는, TV 서비스, 웹OS 서비스 등 다양한 서비스 레벨(service level)의 서비스들이 포함될 수 있다. 한편, 상기 웹OS 서비스에는, 미디어 서버, Node.JS 등이 포함될 수 있으며 특히, Node.JS 서비스는 예컨대, 자바스크립트(javascript)를 지원한다.
웹OS 서비스는, 기능 로직(function logic)을 구현한 리눅스 프로세스(Linux process)로 버스를 통해 커뮤니케이션 할 수 있다. 이는 크게 네 파트로 구분될 수 있으며, TV 프로세스와 기존 TV로부터 웹OS에 미티그레이션(Migration)되거나 제조사 차별화 서비스인 서비스들, 웹OS 공통 서비스와 자바스크립트로 개발되고 Node.js를 통해 사용되는 Node.js 서비스로 구성된다.
상기 애플리케이션 레이어는, TV 애플리케이션, 쇼케이스(showcase) 애플리케이션, 네이티브 애플리케이션(native application), 웹 애플리케이션 등 디지털 디바이스에서 지원 가능한 모든 애플리케이션들을 포함할 수 있다.
웹OS 상의 애플리케이션은, 구현 방법에 따라 웹 애플리케이션, PDK(Palm Development Kit) 애플리케이션, QML(Qt Meta Language or Qt Modeling Language) 애플리케이션 등으로 구분될 수 있다. 상기 웹 애플리케이션은, 웹키트 엔진(WebKit engine)에 기반하고, WAM 런타임(Runtime) 상에서 수행된다. 이러한 웹 애플리케이션은 엔요 프레임워크에 기반하거나, 일반 HTML5, CSS(Cascading Style Sheets), 자바스크립트 기반으로 개발되어 수행될 수 있다. 상기 PDK 애플리케이션은, 써드-파티(3rd-Party) 또는 외부 개발자를 위해 제공된 PDK에 기반하여 C/C++로 개발되는 네이티브 애플리케이션 등을 포함한다. 상기 PDK는, 게임 등 써드 파티가 네이티브 애플리케이션(C/C++)을 개발할 수 있도록 제공된 개발 라이브러리 및 도구 집합을 말한다. 예를 들어, PDK 애플리케이션은, 그 성능이 중요한 애플리케이션의 개발에 이용될 수 있다. 상기 QML 애플리케이션은, Qt 기반의 네이티브 애플리케이션으로, 카드 뷰(card view), 홈 대시보드(Home dashboard), 가상 키보드(virtual keyboard) 등 웹OS 플랫폼과 함께 제공되는 기본 애플리케이션 등을 포함한다. 여기서, QML은, C++ 대신 스크립트 형태의 마크-업 언어(mark-up language)이다. 한편, 상기에서, 네이티브 애플리케이션은, C/C++로 개발되고 컴파일(compile)되어 바이너리(binary) 형태로 수행되는 애플리케이션을 말하는 것으로, 이러한 네이티브 애플리케이션은 그 수행 속도가 빠른 장점이 있다.
도 8은 본 발명의 일 실시 예에 따른 웹OS 디바이스의 아키텍처를 설명하기 위해 도시한 도면이다.
도 8은 웹OS 디바이스의 런타임에 기반한 블록도로서, 이는 도 7의 레이어드 구조를 참조하여 이해할 수 있다.
이하, 도 7과 8을 참조하여 설명하면, 다음과 같다. 도 8을 참조하면, 시스템 OS(Linux)와 시스템 라이브러리들 상에 서비스들과 애플리케이션들 그리고 웹OS 코어 모듈들이 포함되고 그들 사이의 커뮤니케이션은 루나-서비스 버스를 통해 이루어질 수 있다.
이메일(e-mail), 연락처(contact), 캘린더(calendar) 등 HTML5, CSS, 자바스크립트(java script)에 기초한 Node.js 서비스들, 로깅(Logging), 백업(backup), 파일 노티파이(file notify), 데이터베이스(DB), 액티비티 매니저(activity manager), 시스템 폴리시(system policy), 오디오 데몬(AudioD: Audio Daemon), 업데이트(update), 미디어 서버(media server) 등과 같이 웹OS 서비스들, EPG(Electronic Program Guide), PVR(Personal Video Recorder), 데이터 방송(data broadcasting) 등과 같은 TV 서비스들, 음성 인식(voice recognition), 나우 온(Now on), 노티피케이션(Notification), 검색(search), ACR(Auto Content Recognition), CBOX(Contents List Broswer), wfdd, DMR, 리모트 애플리케이션(Remote Application), 다운로드, SDPIF(Sony Philips Digital Interface Format) 등과 같은 CP 서비스들, PDK 애플리케이션들, 브라우저(browser), QML 애플리케이션 등과 같은 네이티브 애플리케이션들 그리고, 엔요 프레임워크 기반의 UI 관련 TV 애플리케이션들과 웹 애플리케이션들은, 루나-서비스 버스를 통하여 전술한 SAM, WAM, LSM과 같은 웹OS 코어 모듈을 통해 처리가 이루어진다. 한편, 상기에서, TV 애플리케이션들과 웹 애플리케이션들은 반드시 엔요 프레임워크 기반 또는 UI 관련이 아닐 수도 있다.
CBOX는 TV에 연결된 USB, DLNA, 클라우드 등과 같은 외부 디바이스의 컨텐트에 대한 리스트와 메타데이터 등을 관리할 수 있다. 한편, CBOX는 USB, DMS, DVR, 클라우드 등과 같은 다양한 컨텐트 컨테이너들(content containers)의 컨텐트 리스팅을 통합된 뷰(View)로 출력할 수 있다. 또한, CBOX는 픽쳐, 음악, 비디오 등 다양한 타입들의 컨텐트 리스팅을 보여주고, 그 메타데이터를 관리할 수 있다. 그 밖에, CBOX는, 어태치 된 저장장치(attached storage)의 컨텐츠를 리얼-타임(Real-time)으로 출력할 수 있다. 예컨대, CBOX는, USB 등의 저장 디바이스가 플러그-인(plug-in) 되면, 해당 저장 디바이스의 컨텐츠 리스트를 즉시 출력할 수 있어야 한다. 이때, 상기 컨텐트 리스팅 처리를 위한 표준화된 방식을 정의할 수도 있다. 또한, CBOX는 다양한 연결 프로토콜을 수용할 수 있다.
SAM은, 모듈 복잡도의 개선 및 확장성을 제고하기 위한 것이다. 이는 예컨대, 기존 시스템 매니저(System Manager)는 시스템 UI, 윈도우 관리, 웹 애플리케이션 런타임, UX 상의 제약 조건 처리 등의 여러 기능을 하나의 프로세스에서 처리하여 구현 복잡도가 커 이를 해소하고자 주요 기능을 분리하고 기능 간 인터페이스를 명확히 함으로써 구현 복잡도를 낮춘다.
LSM은, 카드 뷰, 런처(launcher) 등 시스템 UX 구현이 독립적으로 개발 통합될 수 있도록 지원하고, 제품 요구사항 변경 등에 쉽게 대응할 수 있도록 지원한다. 한편, LSM은, 앱온앱(App on App) 등과 같이 복수의 애플리케이션 화면을 합성하는 경우에 하드웨어 리소스(HW resource)를 최대한 활용하여 멀티-태스킹이 가능하도록 하는데, 멀티-윈도우(multi-window)와 21:9 등을 위한 윈도우 매니지먼트 메커니즘(window management mechanism)을 제공할 수 있다. LSM은, QML에 기반하여 시스템 UI의 구현을 지원하며, 그 개발 생산성을 제고한다. QML UX는 MVC에 기반하여, 화면 레이아웃(Layout) 및 UI 컴포넌트를 쉽게 뷰를 구성할 수 있고, 사용자 입력을 처리하기 위한 코드를 쉽게 개발할 수도 있다. 한편, QML과 웹OS 컴포넌트 간의 인터페이스는 QML 확장 플러그-인을 통해 이루어지며, 애플리케이션의 그래픽 오퍼레이션(graphic operation)은 웨이랜드 프로토콜(wayland protocol), 루나 서비스 콜(luna-service call) 등에 기반할 수 있다. LSM은 전술한 바와 같이, Luna Surface Manager의 약어로서, 애플리케이션 윈도우 컴포지터(Application Window Compositor)의 기능을 한다. LSM은 독립적으로 개발된 애플리케이션, UI 컴포넌트 등을 화면에 합성하여 출력하도록 한다. 관련하여, 리센츠(Recents) 애플리케이션, 쇼케이스 애플리케이션, 런처 애플리케이션 등과 같은 컴포넌트(component)들이 각자 자신의 내용을 렌더링(rendering)하면, LSM은 컴포지터로서 출력 영역, 연동 방법 등에 대해 정의한다. 다시 말해, 컴포지터인 LSM은 그래픽 합성, 포커스 관리(focus management), 인풋 이벤트(input event) 등을 처리한다. 이때, LSM은 인풋 매니저(input manager)로부터 이벤트, 포커스 등을 수신하는데 이러한 인풋 매니저로 리모트 컨트롤러, 마우스 & 키보드와 같은 HID, 조이스틱, 게임 패드, 애플리케이션 리모트, 펜 터치 등이 포함될 수 있다. 이와 같이, LSM은 멀티플 윈도우 모델(multiple window model)을 지원하는데 시스템 UI 성격으로 모든 애플리케이션에서 동시에 수행 가능하다. 관련하여, 런쳐, 리센츠, 세팅(setting), 노티피케이션, 시스템 키보드, 볼륨 UI, 검색, 핑거 제스쳐(finger gesture), 음성인식(Voice Recognition)(STT(Speech to Text), TTS(Text to Speech), NLP(Natural Language Processing) 등), 패턴 제스쳐(pattern gesture)(카메라, MRCU(Mobile Radio Control Unit)), 라이브 메뉴(Live menu), ACR(Auto Content Recognition) 등을 LSM이 지원할 수 있다.
도 9는 본 발명의 일 실시 예에 따른 웹OS 디바이스에서 그래픽 컴포지션 플로우(graphic composition flow)를 설명하기 위해 도시한 도면이다.
도 9를 참조하면, 그래픽 컴포지션 처리는, UI 프로세스를 담당하는 웹 애플리케이션 매니저(910), 웹 프로세스를 담당하는 웹키트(Webkit)(920), LSM(930) 그리고 그래픽 매니저(GM: Graphic Manager)(940)를 통해 이루어질 수 있다.
웹 애플리케이션 매니저(910)에서 UI 프로세스로서 웹 애플리케이션 기반의 그래픽 데이터(또는 애플리케이션)가 생성이 되면, 생성된 그래픽 데이터가 풀-스크린 애플리케이션이 아니면 LSM(930)으로 전달한다. 한편, 웹 애플리케이션 매니저(910)는 UI 프로세스와 웹 프로세스 사이에 그래픽 매니징을 위한 GPU(Graphic Processing Unit) 메모리 공유를 위하여 웹키트(920)에서 생성된 애플리케이션을 수신하여 이를 상기와 같이 풀-스크린 애플리케이션이 아닌 경우에는 LSM(930)으로 전달한다. 상기에서 풀-스크린 애플리케이션인 경우에는, LSM(930)을 바이패스(bypass)할 수 있으며, 이 경우 직접 그래픽 매니저(940)로 전달될 수 있다.
LSM(930)은 수신되는 UI 애플리케이션을 웨이랜드 서피스를 거쳐 웨이랜드 컴포지터(Wayland Compositor)로 전송하고, 웨이랜드 컴포지터에서 이를 적절히 처리하여 그래픽 매니저로 전달한다. 이렇게 LSM(930)에서 전달되는 그래픽 데이터는 예컨대, 그래픽 매니저(940)의 LSM GM 서피스를 거쳐 그래픽 매니저 컴포지터를 전달된다.
한편, 풀-스크린 애플리케이션은 전술한 바와 같이, LSM(930)을 거치지 않고 바로 그래픽 매니저(940)로 전달이 되는데 이러한 애플리케이션은 WAM GM 서피스로 거쳐 그래픽 매니저 컴포지터에서 처리된다. 그래픽 매니저는 웹OS 디바이스 내의 모든 그래픽 데이터를 처리하는데, 전술한 LSM GM 서피스를 거친 데이터, WAM GM 서피스를 거친 데이터뿐 아니라 데이터 방송 애플리케이션(Data Broadcasting application), 캡션 애플리케이션(caption application) 등과 같이 GM 서피스를 거친 그래픽 데이터를 모두 수신하여 화면상에 적절히 출력되도록 처리한다. 여기서, GM 컴포지터의 기능은 전술한 컴포지터와 동일 또는 유사한 기능이다.
도 10은 본 발명의 일 실시 예에 따른 미디어 서버를 설명하기 위해 도시한 도면이고, 도 11은 본 발명의 일 실시 예에 따른 미디어 서버의 구성 블록도를 설명하기 위해 도시한 도면이고, 도 12는 본 발명의 일 실시 예에 따른 미디어 서버와 TV 서비스의 관계를 설명하기 위해 도시한 도면이다.
미디어 서버는, 디지털 디바이스 내 다양한 멀티미디어의 실행을 지원 및 필요한 리소스를 관리한다. 미디어 서버는, 미디어 플레이(media play)에 필요한 하드웨어 리소스를 효율적으로 사용할 수 있다. 예컨대, 미디어 서버는, 멀티미디어의 실행을 위해서는 오디오/비디오 하드웨어 리소스가 필요하며, 리소스 사용 현황을 관리하여 효율적으로 활용할 수 있다. 일반적으로 모바일 디바이스보다 큰 화면을 가진 고정 디바이스는, 멀티미디어 실행 시 하드웨어 리소스가 더 필요하고, 많은 데이터 양으로 인해 인코딩/디코딩 및 그래픽 데이터 전달 속도도 빨라야 한다. 한편, 미디어 서버는, 스트리밍, 파일 기반 재생 이외에, 브로드캐스팅(broadcasting), 레코딩(recording) 및 튜닝(tuning) 태스크, 시청과 동시에 녹화를 한다거나, 영상 통화 시 송신자와 수신자 화면을 동시에 보여준다거나 하는 태스크 등을 처리할 수 있어야 한다. 다만, 미디어 서버는, 인코더, 디코더, 튜너, 디스플레이 엔진(display engine) 등 하드웨어 리소스가 칩-셋 단위로 제한이 있어, 동시에 여러 태스크를 실행하는 것이 어려워 예를 들어, 사용 시나리오를 제약하거나 사용자 선택을 입력받아 처리한다.
미디어 서버는, 시스템 안정성을 강화(robustness)할 수 있는데 이는 예컨대, 미디어 재생 중 에러(error)가 발생한 재생 파이프라인(pipeline)을 파이프라인별로 제거 가능하고 재 기동함으로써, 상기와 같이 에러가 발생하는 경우에도 다른 미디어 플레이에 영향을 주지 않을 수 있다. 이러한 파이프라인은, 미디어 재생 요청 시, 디코딩, 분석, 출력 등 각 단위 기능들을 연결한 체인(chain)으로, 미디어 타입(media type) 등에 따라, 필요 단위 기능들이 달라질 수 있다.
미디어 서버는, 확장성(extensibility)을 가질 수 있는데 예컨대, 새로운 타입의 파이프라인을 기존 구현 방식에 영향을 주지 않고 추가할 수 있다. 일 예로, 미디어 서버는, 카메라 파이프라인, 화상 회의(Skype) 파이프라인, 써드-파티 파이프라인 등을 수용할 수 있다.
미디어 서버는, 일반 미디어 재생과 TV 태스크 실행을 별개의 서비스로 처리할 수 있는데, 이는 TV 서비스의 인터페이스가 미디어 재생 경우와는 다르기 때문이다. 상기에서, 미디어 서버는, TV 서비스와 관련하여 ‘setchannel’, ‘channelup’, ‘channeldown’, ‘channeltuning’, ‘recordstart’ 등의 오퍼레이션을 지원하고, 일반 미디어 재생과 관련하여 ‘play’, ‘pause’, ‘stop’ 등의 오퍼레이션을 지원하여 양자에 대해 서로 다른 오퍼레이션을 지원하고, 별개의 서비스로 처리할 수 있다.
미디어 서버는 자원 관리 기능을 통제 또는 통합 관리할 수 있다. 디바이스 내 하드웨어 리소스 할당, 회수 등은, 미디어 서버에서 통합적으로 이루어지며 특히, TV 서비스 프로세스는 실행 중인 태스크와 리소스 할당 현황 등을 미디어 서버로 전달한다. 미디어 서버는, 각 미디어가 실행될 때마다 리소스를 확보하고 파이프라인이 실행되며, 각 파이프라인이 점유한 리소스 현황에 기반하여, 미디어 실행 요청 시 우선 순위(예를 들어, 폴리시)에 의한 실행 허용 및 다른 파이프라인의 리소스 회수 등을 수행한다. 여기서, 미리 정의된 실행 우선 순위와 특정 요청에 대한 필요 리소스 정보가 폴리시 매니저(policy manager)에 의해 관리되고, 리소스 매니저는 상기 폴리시 매니저와 커뮤니케이션하여 리소스 할당, 회수 등을 처리할 수 있다.
미디어 서버는 재생 관련 모든 오퍼레이션에 관한 식별 인자(ID: identifier)를 보유할 수 있다. 예컨대, 미디어 서버는 식별자에 근거하여 특정 파이프라인을 지시하여 명령을 내릴 수 있다. 미디어 서버는, 둘 이상의 미디어 재생을 위하여, 파이프라인들에 둘을 구분하여 명령을 내릴 수 있다. 미디어 서버는 HTML5 표준 미디어의 재생을 담당할 수 있다.
그 밖에, 미디어 서버는 TV 파이프라인의 별도 서비스 프로세스화는 TV 재구조화 범위에 따를 수 있다. 미디어 서버는, TV 재구조화 범위와 무관하게 설계 구현될 수 있는데, TV가 별도 서비스 프로세스화가 되지 않으면, 특정 태스크에 문제가 생길 때 TV 전체를 재실행해야 할 수도 있다.
미디어 서버는, uMS 즉, 마이크로 미디어 서버(micro media server)라고도 한다. 여기서, 미디어 플레이어(media player)가 미디어 클라이언트(media client)인데, 이는 예컨대, HTML5 비디오 태그(video tag), 카메라(Camera), TV, 스카이프(Skype), 세컨드 스크린(2nd Screen) 등을 위한 웹키트(Webkit)를 의미할 수 있다.
미디어 서버는, 리소스 매니저(resource manager), 폴리시 매니저(policy manager) 등과 같은 마이크로 리소스(micro resource)의 관리가 핵심 기능이다. 관련하여, 미디어 서버는, 웹 표준 미디어 컨텐트에 대한 재생(playback) 제어 역할도 제어한다. 이와 관련하여, 미디어 서버는 파이프라인 컨트롤러 리소스(pipeline controller resource)도 관리할 수 있다.
이러한 미디어 서버는 예컨대, 확장성(extensibility), 신뢰성(reliability), 리소스의 효율적 사용(efficient resource usage) 등을 지원한다.
다시 말해, uMS 즉, 미디어 서버는, 클라우드 게임(cloud game), MVPD(pay service 등), 카메라 프리뷰(camera preview), 세컨드 스크린(2nd screen), 스카이프 등과 같은 리소스와 TV 리소스 등의 웹OS 디바이스 내에서 적절한 처리를 위한 리소스 사용을 전반적으로 관리하고 제어하여 효율적인 사용이 가능하도록 관리 제어하는 기능을 한다. 한편, 각 리소스는 그 이용 시에 예컨대, 파이프라인을 이용하는데 미디어 서버는 리소스 관리를 위한 파이프라인의 생성, 삭제, 이용 등을 전반적으로 관리 제어할 수 있다. 여기서, 파이프라인이라 함은 예컨대, 태스크(task)와 관련된 미디어가 요청(request), 디코딩 스트림(decoding stream), 비디오 출력(video output) 등의 파싱(parsing)과 같은 작업의 연속을 시작하면 생성될 수 있다. 예컨대, TV 서비스 내지 애플리케이션과 관련하여, 시청(watching), 녹화(recording), 채널 튜닝(channel tuning) 등은 각각 개별적으로 그 요청에 따라 생성된 파이프라인을 통하여 리소스 이용 등에 대해 제어를 받아 처리된다.
도 10을 참조하여, 미디어 서버의 처리 구조 등에 대해 더욱 상세하게 설명하면, 다음과 같다.
도 10에서는, 애플리케이션 또는 서비스는 미디어 서버(1020)와 루나-서비스 버스(1010)를 통해 연결되고, 상기 미디어 서버(1020)는 상기 루나-서비스 버스(1010)를 통해 다시 생성된 파이프라인들과 연결되고 관리한다.
애플리케이션 또는 서비스는 그 특성에 따라 다양한 클라이언트(client)를 구비하고 그를 통해 미디어 서버(1020) 또는 파이프라인과 데이터를 주고 받을 수 있다.
상기 클라이언트에는 예컨대, 미디어 서버(1020)와 연결을 위한 uMedia 클라이언트(웹키트)와 RM(resource manager) 클라이언트(C/C++) 등이 포함된다.
상기 uMedia 클라이언트를 포함한 애플리케이션은, 전술한 바와 같이, 미디어 서버(1020)와 연결된다. 더욱 상세하게는, uMedia 클라이언트는 예컨대, 후술할 비디오 오브젝트와 대응되고, 이러한 클라이언트는 요청 등에 의해 비디오의 동작을 위하여 미디어 서버(1020)를 이용한다. 여기서, 상기 비디오 동작은 비디오 상태에 관한 것으로, 로딩(loading), 언로딩(unloading), 재생(play, playback, or reproduce), 포즈(pause), 중단(stop) 등은 비디오 동작과 관련된 모든 상태 데이터를 포함할 수 있다. 이러한 비디오의 각 동작 내지 상태는 개별 파이프라인 생성을 통해 처리될 수 있다. 따라서, uMedia 클라이언트는 상기 비디오 동작과 관련된 상태 데이터를 미디어 서버 내 파이프라인 매니저(1022)로 전송한다.
파이프라인 매니저(1022)는, 리소스 매니저(1024)와 데이터 커뮤니케이션을 통해 현재 디바이스의 리소스에 대한 정보를 획득하고, 상기 uMedia 클라이언트의 상태 데이터에 대응되는 리소스의 할당을 요청한다. 이때, 파이프라인 매니저(1022) 또는 리소스 매니저(1024)는 상기 리소스 할당 등과 관련하여, 필요한 경우에 폴리시 매니저(1026)과 데이터 커뮤니케이션을 통해 리소스 할당에 대한 제어를 한다. 예컨대, 리소스 매니저(1024)에서 파이프라인 매니저(1022)의 요청에 따라 할당할 리소스가 없거나 부족한 경우에, 폴리시 매니저(1026)의 프라이어티 비교 등에 따라 상기 요청에 따라 적절한 리소스 할당 등이 이루어지도록 할 수 있다. 한편, 파이프라인 매니저(1022)는, 상기 리소스 매니저(1024)의 리소스 할당에 따라 할당된 리소스에 대하여 상기 uMedia 클라이언트의 요청에 따른 동작을 위한 파이프라인 생성을 미디어 파이프라인 컨트롤러(1028)에 요청한다.
미디어 파이프라인 컨트롤러(1028)는 상기 파이프라인 매니저(1022)의 제어에 따라 필요한 파이프라인을 생성한다. 이렇게 생성된 파이프라인에는 도시된 바와 같이, 미디어 파이프라인, 카메라 파이프라인뿐만 아니라, 재생, 포즈, 중단 등과 관련된 파이프라인이 생성될 수 있다. 한편, 상기 파이프라인에는 HTML5, 웹 CP, 스마트쉐어(smartshare) 재생, 썸네일 추출, NDK, 시네마, MHEG(Multimedia and Hypermedia Information coding Experts Group) 등에 대한 파이프라인 등이 포함될 수 있다.
그 밖에, 파이프라인에는 예를 들어, 서비스 기반의 파이프라인(자체 파이프라인)과 URI 기반의 파이프라인(미디어 파이프라인)이 있을 수 있다.
도 10을 참조하면, RM 클라이언트를 포함한 애플리케이션 또는 서비스는 직접적으로 미디어 서버(1020)와 연결되지 않을 수 있다. 이는 애플리케이션 또는 서비스가 직접 미디어를 처리할 수도 있기 때문이다. 다시 말해, 애플리케이션 또는 서비스가 직접 미디어 처리하는 경우에는 미디어 서버를 통하지 않을 수 있다. 다만, 이때, 파이프라인 생성 및 그 이용을 위해 리소스 관리가 필요한바 이를 위해 uMS 커넥터가 기능 한다. 한편, 상기 uMS 커넥터는 상기 애플리케이션 또는 서비스의 직접적인 미디어 처리를 위한 리소스 관리 요청이 수신되면, 리소스 매니저(1024)를 포함한 미디어 서버(1020) 통신한다. 이를 위하여 미디어 서버(1020) 역시 uMS 커넥터가 구비되어야 한다.
따라서, uMS 커넥터를 통해 리소스 매니저(1024)의 리소스 관리를 받아 애플리케이션 또는 서비스는 RM 클라이언트의 요청에 대응할 수 있다. 이러한 RM 클라이언트는 네이티브 CP, TV 서비스, 세컨드 스크린, 플래시 플레이어, 유투브 MSE(Medai Source Extensions), 클라우드 게임, 스카이프 등의 서비스를 처리할 수 있다. 이 경우, 전술한 바와 같이, 리소스 매니저(1024)는 리소스 관리에 필요한 경우에 폴리시 매니저(1026)와 적절하게 데이터 커뮤니케이션을 통해 리소스를 관리할 수 있다.
한편, URI 기반의 파이프라인은 전술한 RM 클라이언트와 같이 미디어를 직접 처리하는 경우가 아니라, 미디어 서버(1020)를 통해 이루어진다. 이러한 URI 기반 파이프라인에는, 플레이어 팩토리(player factory), G스트리머(Gstreamer), 스트리밍 플러그-인(streaming plug-in), DRM(Digital Rights Management) 플러그인 파이프라인 등이 포함될 수 있다.
한편, 애플리케이션과 미디어 서비스들 사이에 인터페이스 방법은 다음과 같을 수 있다.
웹 애플리케이션에서 서비스를 이용하여 인터페이스하는 방법이다. 이는 PSB(Palm Service Bridge)를 이용하여 루나 콜(Luna Call) 하는 방법, 코르도바(Cordova)를 이용하는 방법인데 이는 디스플레이를 비디오 태그로 확장하는 것이다. 그 밖에, 비디오 태그나 미디어 엘리먼트(media element)에 관한 HTML5 표준을 이용하는 방법도 있을 수 있다. 그리고, PDK에서 서비스를 이용하여 인터페이스 하는 방법이다. 또는, 기존 CP에서 서비스를 이용하는 방법이다. 이는 호환성(backward compatibility)를 위해 기존 플랫폼의 플러그-인을 루나 기반으로 확장하여 이용할 수 있다.
마지막으로, non-웹OS인 경우에 인터페이스 하는 방법이다. 이 경우에는 직접 루나 버스를 호출하여 인터페이스 할 수 있다.
씸리스 체인지(Seamless change)는, 별도의 모듈(예를 들어, TVWIN)에 의해 처리되는데, 이는 웹OS 부팅 전 또는 부팅 동안에, 웹OS 없이 TV를 화면에 먼저 보여주고 씸리스하게 처리하기 위한 프로세스이다. 이는 웹OS의 부팅 시간이 늦기 때문에 사용자의 파워 온(Power On) 요청에 빠른 응답을 위해 TV 서비스의 기본 기능을 우선 제공할 목적으로 이용된다. 또한, 상기 모듈은 TV 서비스 프로세스의 일부로, 빠른 부팅과 기본 TV 기능을 제공하는 씸리스 체인지, 공장 모드 등을 지원한다. 또한, 상기 모듈은, Non-웹OS 모드에서 웹OS 모드로 전환도 담당할 수 있다.
도 11을 참조하면, 미디어 서버의 처리 구조를 도시하고 있다.
이때, 도 11에서, 실선 박스는 프로세스 처리 구성을 나타내고, 점선 박스는 프로세스 중 내부 처리 모듈을 나타낼 수 있다. 또한, 실선 화살표는 인터-프로세스 콜 즉, 루나 서비스 콜을 나타내고, 점선 화살표는 등록/알림(register/notify)와 같은 노티피케이션이나 데이터 플로우(data flow)를 나타낼 수 있다.
서비스 또는 웹 애플리케이션 또는 PDK 애플리케이션(이하 ‘애플리케이션’)은, 루나-서비스 버스를 통하여 각종 서비스 처리 구성들과 연결되고, 그를 통해 애플리케이션이 동작하거나 동작 제어된다.
애플리케이션의 타입에 따라 그 데이터 처리 경로는 달라진다. 예컨대, 애플리케이션이 카메라 센서와 관련된 이미지 데이터인 경우에는 카메라 처리부(1130)로 전송이 되어 처리된다. 이때, 카메라 처리부(1130)는 제스처(gesture), 안면 인식(face detection) 모듈 등을 포함하여 수신되는 애플리케이션의 이미지 데이터를 처리한다. 여기서, 카메라 처리부(1130)는 예컨대, 사용자의 선택이나 자동으로 파이프라인 등의 이용이 요구되는 데이터인 경우에는 미디어 서버 처리부(1110)를 통하여 파이프라인을 생성하여 해당 데이터를 처리할 수 있다.
또는, 애플리케이션이 오디오 데이터를 포함한 경우에는 오디오 처리부(AudioD)(1140)과 오디오 모듈(PulseAudio)(1150)을 통하여 해당 오디오를 처리할 수 있다. 예컨대, 오디오 처리부(1140)는 애플리케이션으로부터 수신되는 오디오 데이터를 처리하여 오디오 모듈(1150)로 전송한다. 이때, 오디오 처리부(1140)는 오디오 폴리시 매니저(audio policy manager)를 포함하여 오디오 데이터의 처리를 결정할 수 있다. 이렇게 처리된 오디오 데이터는 오디오 모듈(1160)에서 가공 처리된다. 한편, 상기 애플리케이션은, 오디오 데이터 처리와 관련된 데이터를 오디오 모듈(1160)로 노티피케이션 할 수 있고, 이는 관련 파이프라인에서도 상기 오디오 모듈(1160)로 노피티케이션 할 수 있다. 상기 오디오 모듈(1150)은 ALSA(Advanced Linux Sound Architecture)를 포함한다.
또는, 애플리케이션이 DRM이 걸려있는 컨텐트를 포함 또는 처리(이하 포함)하는 경우에는, 해당 컨텐트 데이터를 DRM 서비스 처리부(1160)로 전송하고, 상기 DRM 서비스 처리부(1170)는 DRM 인스턴스(instance)를 생성하여 DRM이 걸려 있는 컨텐트 데이터를 처리한다. 한편, DRM 서비스 처리부(1160)는 상기 DRM이 걸려 있는 컨텐트 데이터의 처리를 위하여, 미디어 파이프라인 내 DRM 파이프라인과 루나-서비스 버스를 통해 연결되어 처리할 수 있다.
이하에서는, 애플리케이션이 미디어 데이터이거나 TV 서비스 데이터(예컨대, 방송 데이터)인 경우의 처리에 관해 설명한다.
도 12는, 전술한 도 11에서 미디어 서버 처리부와 TV 서비스 처리부만을 더욱 상세하게 설명하기 위해 도시한 것이다.
따라서, 이하에서는, 도 11과 12를 함께 참고하여 설명한다.
먼저, 애플리케이션이 TV 서비스 데이터를 포함한 경우에는 TV 서비스 처리부(1120/1220)에서 처리된다.
여기서, TV 서비스 처리부(1120)는 예컨대, DVR/채널 매니저, 방송 모듈, TV 파이프라인 매니저, TV 리소스 매니저, 데이터 방송 모듈, 오디오 설정 모듈, 경로 매니저 등 중 적어도 하나 이상을 포함한다. 또는, 도 12에서 TV 서비스 처리부(1220)는, TV 방송 핸들러(TV broadcast handler), TV 방송 인터페이스부(TV Broadcast Interface), 서비스 처리부, TV 미들웨어(TV MW(middleware)), 경로 매니저, BSP(예를 들어, NetCast)를 포함할 수 있다. 여기서, 상기 서비스 처리부는 예를 들어, TV 파이프라인 매니저, TV 리소스 매니저, TV 폴리시 매니저, USM 커넥터 등을 포함한 모듈을 의미할 수 있다.
본 명세서에서, TV 서비스 처리부는, 도 11 또는 12와 같은 구성을 가지거나 양자의 조합으로 구현될 수 있으며, 상기에서 일부 구성은 생략되거나 도시되지 않은 일부 구성이 추가될 수도 있다.
TV 서비스 처리부(1120/1220)는 애플리케이션으로부터 수신된 TV 서비스 데이터의 속성 내지 타입에 기초하여, DVR(Digital Video Recorder)이나 채널 관련 데이터인 경우에는 DVR/채널 매니저로 전송하고, 다시 TV 파이프라인 매니저로 전송하여 TV 파이프라인을 생성하여 처리한다. 한편, 상기 TV 서비스 데이터의 속성 내지 타입이 방송 컨텐트 데이터인 경우에는, TV 서비스 처리부(1120)는 방송 모듈을 거쳐 해당 데이터의 처리를 위하여 TV 파이프라인 매니저를 거쳐 TV 파이프라인을 생성하여 처리한다.
또는, json(Javascript standard object notation) 파일이나 c로 작성된 파일은 TV 방송 핸들러에서 처리되어 TV 방송 인터페이스부를 거쳐 TV 파이프라인 매니저로 전송하여 TV 파이프라인을 생성하여 처리한다. 이 경우, TV 방송 인터페이스부는, TV 방송 핸들러를 거친 데이터 또는 파일을 TV 서비스 폴리시에 기초하여 TV 파이프라인 매니저로 전송하여 파이프라인 생성시 참고할 수 있다.
이하, 도 12의 TV 서비스 처리부(1220) 내부 특히, TV 브로드캐스트 인터페이스 이하 단의 처리 과정을 더욱 상세하게 설명하면, 다음과 같다.
TV 브로드캐스트 인터페이스는 TV 서비스 처리부(1220)의 컨트롤러 기능도 수행할 수 있다. TV 브로드캐스트 인터페이스는, TV 파이프라인 매니저로 파이프라인 생성을 요청하고, TV 파이프라인 매니저는 TV 파이프라인을 생성하고 TV 리소스 매니저로 리소스들을 요청한다. TV 리소스 매니저는 uMS 커넥터를 통해 미디어 서버로 리소스 요청을 하고 획득하면, 이를 다시 TV 파이프라인 매니저로 리턴한다.
TV 파이프라인 매니저는 리턴된 리소스들을 생성된 TV 파이프라인 내에 어레인지(arrange) 하고, 파이프라인 정보를 패쓰 매니저에 레지스터 한다. 이후, TV 파이프라인 매니저는 그 결과를 TV 파이프라인 매니저로 리턴 하고, TV 파이프라인 매니저는 파이프라인을 TV 브로드캐스트 인터페이스로 리턴 한다.
이후 TV 브로드캐스트 인터페이스는 TV 미들웨어(MW: Middleware)와 통신하여 채널 체인지 등을 요청하고, TV 미들웨어에서 그 결과를 리턴 한다.
상술한 과정을 통해 TV 서비스는 처리될 수 있다.
TV 파이프라인 매니저는, TV 서비스 내 처리 모듈 내지 매니저 등으로부터 TV 파이프라인 생성 요청에 따라 하나 또는 그 이상의 파이프라인 생성함에 있어서, TV 리소스 매니저의 제어를 받을 수 있다. 한편, TV 리소스 매니저는, TV 파이프라인 매니저의 TV 파이프라인 생성 요청에 따라 TV 서비스를 위해 할당된 리소스의 상태와 할당을 요청하기 위해, TV 폴리시 매니저의 제어를 받을 수 있으며, 미디어 서버 처리부(1110/1210)와 uMS 커넥터를 통해 데이터 커뮤니케이션을 한다. 미디어 서버 처리부(1110/1210) 내 리소스 매니저는 상기 TV 리소스 매니저의 요청에 따라 현재 TV 서비스를 위한 리소스의 상태와 할당 가부 등에 대해 전달한다. 예컨대, 미디어 서버 처리부(1110/1210) 내 리소스 매니저의 확인 결과 만약 TV 서비스를 위한 리소스가 이미 모두 할당된 경우에는, TV 리소스 매니저로 현재 모든 리소스가 할당 완료되었음을 노티파이 할 수 있다. 이때, 미디어 서버 처리부 내 리소스 매니저는 상기 노티파이와 함께, TV 서비스를 위해 기할당된 TV 파이프라인들 중 프라이어티나 소정 기준에 따라 소정 TV 파이프라인을 제거하고 요청된 TV 서비스를 위한 TV 파이프라인 생성을 요청 내지 할당할 수도 있다. 또는, TV 리소스 매니저에서 상기 미디어 서버 처리부(1110/1210) 내 리소스 매니저의 상태 보고에 따라 TV 리소스 매니저에서 적절히 TV 파이프라인을 제거, 추가, 신설 등 제어를 할 수 있다.
한편, BSP는 예컨대, 기존 디지털 디바이스와의 호환성를 지원한다.
이렇게 생성된 TV 파이프라인들은 그 처리 과정에서 경로 매니저의 제어에 따라 적절히 동작될 수 있다. 경로 매니저는 상기 처리 과정에서 TV 파이프라인만이 아니라 미디어 서버 처리부(1110/1210)에 의해 생성된 파이프라인의 동작까지 고려하여 파이프라인들의 처리 경로 내지 과정을 결정 내지 제어할 수 있다.
다음으로, 애플리케이션이 TV 서비스 데이터가 아니라 미디어 데이터를 포함한 경우에는, 미디어 서버 처리부(1110/1210)에서 처리된다. 여기서, 미디어 서버 처리부(1110/1210)는, 리소스 매니저, 폴리시 매니저, 미디어 파이프라인 매니저, 미디어 파이프라인 컨트롤러 등을 포함한다. 한편, 미디어 파이프라인 매니저와 미디어 파이프라인 컨트롤러의 제어에 따라 생성되는 파이프라인에는 카메라 프리뷰 파이프라인, 클라우드 게임 파이프라인, 미디어 파이프라인 등 다양하게 생성 가능하다. 한편, 미디어 파이프라인에는 스트리밍 프로토콜, 오토/스테이틱 gstreamer, DRM 등이 포함될 수 있는데, 이는 경로 매니저의 제어에 따라 그 처리 플로우가 결정될 수 있다. 상기 미디어 서버 처리부(1110/1210) 내 구체적인 처리 과정은 전술한 도 10의 설명을 원용하고, 여기서 중복 설명하지 않는다.
본 명세서에서 미디어 서버 처리부(1110/1210) 내 리소스 매니저는 예를 들어, 카운터 베이스로 리소스 매니징을 할 수 있다.
상술한 웹OS 플랫폼상에서의 미디어 서버 디자인에 대해 더욱 상세하게 설명하면, 다음과 같다.
미디어 서버는, 써드-파티 멀티미디어 파이프라인(들)이 웹OS 플랫폼과 인터페이스할 수 있도록 지원하는 미디어 프레임워크이다. 상기 미디어 서버는, 상기 써드-파티 멀티미디어 파이프라인(들)이 컴플라이언트(compliant) 할 수 있도록 리소스들을 컨트롤, 관리, 아이솔레이트(isolate), 디컴플릭트(deconflict) 등을 할 수 있다. 이러한 미디어 서버는 애플리케이션이 미디어 재생을 할 수 있도록 일반화된 API를 제공하고, 하드웨어 리소스 및 폴리시를 일관성 있게 관리하는 플랫폼 모듈로 볼 수 있다. 한편, 미디어 서버의 디자인은 미디어 처리 일반화, 관련 모듈 분리를 통한 복잡도 경감에 있다.
이러한 미디어 서버의 핵심은 예컨대, 서비스 인터페이스와 웹OS UI와의 인테그레이션(integration)을 제공하는 것이다. 이를 위해, 미디어 서버는, 리소스 매니저, 폴리시 매니저, 파이프라인 매니저를 컨트롤하고, 리소스 매니저 쿼리에 따라 API 액세스를 제공한다.
uMS 커넥터는, 클라이언트 미디어 파이프라인 프로세스들을 미디어 서버와 인터페이스하도록 하는 메인 API이자 SDK이다. Ums 커넥터는, 인터페이스에 관한 이벤트이자 메시지이다. 상기 클라이언트 미디어 파이프라인들은 로드, 플레이, 포즈, 시크(seek), 스톱, 언로드, 릴리즈 리소스(release_resource), 어콰이어 리소스(acquire_resource) 등을 인에이블(enable)하기 위한 클라이언트 미디어 파이프라인 상태 이벤트들을 구현한다.
uMedia API는, C, C++ API를 미디어 서버로 제공한다.
미디어 리소스 매니저는, 하나의 심플 컨피규레이션 파일(simple configuration file)로 미디어 하드웨어 리소스들(media hardware resources)과 파이프라인 클라이언트 리소스(pipeline client resource) 이용을 디스크라이브(describe) 하는 방법을 제공한다. 미디어 리소스 매니저는, 디폴트 또는 써드-파티 미디어 폴리시 매니지먼트를 구현하기 위해 필요한 모든 성능과 정보를 제공한다.
미디어 폴리시 매니저는, 리소스 컨플릭트 때문에 리소스 매니저가 미디어 파이프라인을 거절하는 경우에 기능 한다. 폴리시 매니저는, 써드-파티 폴리시 매니저 구현이 가능하도록 일관적인 API와 SDK를 제공할 수 있다. 상기 폴리시 매니저는 LRU(Least Recently Used)와 매치하는 미디어 파이프라인들을 지원하고, 하나 또는 그 이상의 컨플릭트된 리소스들(conflicted resources)을 위해 이용될 수 있다.
파이프라인 매니저는, 클라이언트 미디어 파이프라인들을 추적하고 유지한다. 파이프라인 컨트롤러는, 클라이언트 미디어 파이프라인들을 컨트롤하고 관리할 수 있도록 파이프라인 매니저로 일관적인 API를 제공한다.
미디어 서버는 리소스 매니저와 라이브러리 콜로 커뮤니케이션을 하고, 리소스 매니저는 TV 서비스들, 미디어 파이프라인과 루나 서비스 버스를 통해 커뮤니케이션할 수 있다.
상기 미디어 리소스 매니저는, 미디어 하드웨어와 미디어 클라이언트 파이프라인들을 디스크라이브하기 위한 전체 컨피규러블 컨피규레이션 파일을 구성하고, 리소스 컨플릭트를 디텍트하며, 미디어 폴리시 매니지먼트를 구현하기 위해 필요한 모든 정보를 수집할 수 있다.
미디어 폴리시 매니저는, 리소스 컨피규레이션 파일의 policy_select와 policy_action 필드를 읽고, 리소스 컨텐션은 policy_select 필드에 의해 설명된 액티브 파이프라인을 선택을 시도하고, policy_action 필드에 기초하여 아웃고잉/선택된 파이프라인들에 대한 문제를 제기한다(issue). 상기 선택 기능은 파이프라인 컨피규레이션 세팅 엔트리에 의해 지지되는 파라미터가 될 수 있다. 폴리시 액션들은 unload와 release이다. 모든 파이프라인들은 할당된 모든 리소스를 릴리즈하기 unload 커맨드를 지원한다. 파이프라인은 특정 리소스를 릴리즈하기 위해 release 커맨드를 부가적으로 지원할 수 있다. 상기에서, release 커맨드는 커먼 리소스들과 경쟁하는 fast switch 파이플라인들을 위한 것이고, 모든 리소스들의 unload 커맨드는 인커밍 파이프라인과 디컨플릭트(deconflict)에 요구되지는 않을 수 있다.
파이프라인 매니저는, 파이프라인 컨트롤러를 관리한다. 상기 파이프라인 매니저는 파이프라인 컨트롤러의 러닝 큐(running queue)를 유지하고, 미디어 서버를 통해 애플리케이션(들)로부터 인커밍 메시지(incoming message)를 위한 유니크 인덱싱(unique indexing)을 제공한다.
파이프라인 컨트롤러는, 관련된 미디어 클라이언트 파이프라인 프로세스의 관계를 유지한다. 파이프라인 컨트롤러는, 모든 관련된 상태를 유지하고, 파이프라인 매니저로 미디어 클라이언트 파이프라인 컨트롤 인터페이스를 제공한다. 파이프라인 클라이언트 프로세스는, 미디어 서버 등으로 컨트롤 인터페이스를 제공하기 위해 uMS 커넥터를 이용한 개별적인 프로세스이다. 파이프라인 (클라이언트) 미디어 기술(Gstreamer, Stage Fright)는 미디어 서버 매니지먼트와 서비스들과는 개별적이고 완전히 디커플드(decoupled)될 수 있다.
이하 본 발명에 따른 디지털 디바이스 및 상기 디지털 디바이스의 제어 방법에 대하여 더욱 상세하게 설명한다.
스마트 TV는, 그 제조 당시에 쌍(paired)으로 제공되는 리모컨에 의해 제어되는 것이 일반적이다. 최근에는 상기 리모컨에 음성 인터페이스(voice interface)를 부가하여 사용자가 상기 리모컨의 음성 인터페이스를 통해서도 TV를 제어할 수 있게 되었다. 본 명세서에서는, 상기 리모컨의 음성 인터페이스에 의하지 않더라도 스마트 폰, 태블릿 PC, 웨어러블 디바이스 등과 같은 주변 디바이스를 통하여 상기 스마트 TV를 제어하는 방법을 제공하고자 한다. 이하에서는, 전술한 바와 같이, 주로 음성 즉, 음성 커맨드를 통한 디바이스 제어를 일 실시 예로 하여 본 발명을 설명하나, 본 발명의 권리범위는 이에 한정되는 것은 아니며 제스처 등 다른 방식으로도 디바이스를 제어할 수 있다.
다시 말해, 종래 디지털 디바이스는 고정 제어수단(fixed controlling means)을 페어링되어 그를 통해 제어하는 것이 일반적이었으나, 이에 따를 경우 상기 고정 제어수단을 찾거나 그 제어수단의 음성 인터페이스를 통하여 입력 음성이 인식 가능한 위치로 사용자가 움직여야 하는 등 불편함이 있어 효용성이 떨어졌다. 따라서, 본 명세서에서는 전술한 고정 제어수단이 아니라고 하더라도 타겟 디바이스(targeted device)와 페어링 된 디지털 디바이스를 하나의 제어 디바이스(controlling device)로 하여 사용자가 타겟 디바이스 제어를 위하여 최소한의 움직임으로 즉, 주변 제어 디바이스를 그대로 이용함으로써 타겟 디바이스 제어 편의를 기할 수 있다. 이때, 제어 디바이스는 일반적으로 모바일 디바이스를 이용하는 경우에 타겟 디바이스 제어를 위한 별도의 리모트 애플리케이션과 같은 제어용 애플리케이션을 설치(install), 실행(execution) 등을 하지 않더라도 제어 디바이스 기능을 수행할 수 있는 장점이 있다. 예컨대, 종래 디지털 디바이스는 음성 인식이 가능한 다른 디바이스가 존재하더라도 그 연결이 불가능하거나 연결 가능한 디바이스의 종류가 제한적이어서 효용성이 떨어졌으며, 사용자가 디지털 디바이스에 미라캐스타(mircast) 등을 연결하여 사용할 수 있는 디바이스가 존재하더라도 각 디바이스를 개별 설정을 하여 수동으로 직접 작업하여 연결한 후에 해당 기능을 이용할 수 있는 등 불편함이 있었다.
따라서, 이하 본 명세서에서는, 타겟 디바이스에 미리 설정된 리모컨이 아닌 네트워크에 속한 다양한 제어 디바이스를 통해 사용자가 제어 커맨드 입력을 위해 별도로 이동하거나 할 필요 없이 간단하여 상기 타겟 디바이스를 제어하는 방법을 제공하고자 한다.
상기에서, 타겟 디바이스라 함은, 전술한 디지털 디바이스를 모두 포함하는 개념으로 예컨대, 디지털 TV, 세탁기, 에어컨, 냉장고, PC, 스마트 폰, 태블릿 PC, 웨어러블 디바이스 등 중 적어도 하나일 수 있다. 다만, 이하 상기 타겟 디바이스는, 본 발명의 이해를 돕고 설명의 편의를 위하여, 디지털 TV을 일 예로 하여 설명한다.
상기에서, 제어 디바이스라 함은, 상기 타겟 디바이스에 제조 당시 쌍으로 제공되는 고정 제어수단 예컨대, TV 리모컨 등이 아닌 다른 디지털 디바이스를 의미한다. 이러한 제어 디바이스로는, 디지털 TV, PC, 스마트 폰, 태블릿 PC, 웨어러블 디바이스 등이 모두 포함될 수 있다. 한편, 제어 디바이스는, 타겟 디바이스 제어를 위하여 반드시 개별적으로 기능할 필요는 없으며, 적어도 하나의 다른 제어 디바이스와 연계하여 상기 타겟 디바이스를 제어할 수도 있다. 이때, 상기 연계되는 디바이스에는 상기 고정 제어수단이 이용될 수도 있다. 이하 상기 제어 디바이스는, 본 발명의 이해를 돕고 설명의 편의를 위하여, 웨어러블 디바이스를 예로 하며, 상기 연계되는 제어 디바이스로는 스마트 폰을 예로 하여 설명하나, 이에 한정되는 것은 아니다. 한편, 상기 웨어러블 디바이스 중에서도 본 명세서에서는 편의상 스마트 워치를 일 예로 하여 설명한다.
정리하면, 본 명세서에서는, 종래 리모컨과 같은 고정 제어 수단이 아닌 네트워크에 속한 제어 디바이스를 통하여 타겟 디바이스를 제어하는 것이다. 이때, 상기 제어 디바이스는 단지 네트워크에 속하여 상기 타겟 디바이스와 페어링되면 족하고, 상기 타겟 디바이스 제어를 위하여 별도의 프로그램, 애플리케이션 등을 다운로드, 설치, 실행 등을 하지 않더라도 특정 인터페이스 예컨대, 음성 인식 인터페이스나 제스처 인식 인터페이스 등을 통하여 상기 타겟 디바이스를 제어한다.
이하 본 발명에 따른 다양한 실시 예들을 첨부된 도면을 참조하여 더욱 상세하게 설명하면, 다음과 같다.
도 13과 14는 본 발명에 따른 타겟 디바이스와 제어 디바이스를 포함한 디바이스 제어 시스템을 설명하기 위해 도시한 도면이다. 여기서, 도 13과 14의 구성상의 차이는 연계 제어 디바이스(1410)의 존재 유무 차이이다.
먼저, 도 13을 참조하여, 디바이스 제어 시스템을 설명한다.도 13을 참조하면, 디바이스 제어 시스템은, 타겟 디바이스(1310)와 제어 디바이스(1320,1325)를 포함한다. 상기 디바이스 제어 시스템은, 상기 타겟 디바이스(1310)와 제어 디바이스(1320,1325) 사이의 페어링, 데이터 커뮤니케이션 등을 지원하기 위하여 서버(1330), 중계기(1350) 등 중 적어도 하나를 더 포함할 수 있다.
타겟 디바이스(1310)는, 디지털 TV로서 제어 디바이스(1320,1325)로부터 입력되는 제어 커맨드에 대응되는 동작을 수행한다. 여기서, 상기 대응되는 동작이라 함은, 채널 변경, 볼륨 변경, 웹 브라우저 실행, 메뉴 호출, 컨텐트 재생, 중단, 종료 등 웹OS 플랫폼을 구비한 디지털 TV 본연의 기능 수행을 모두 포함한다. 한편, 상기 타겟 디바이스(1310)는 예컨대, NLP(1340)를 더 포함할 수 있다. 상기 NLP(1340)는, 타겟 디바이스(1310)로 입력되는 제어 커맨드(control command)가 음성 데이터인 경우에 그 식별 및 그에 따른 기능 수행을 위하여 상기 음성 데이터를 식별하기 위한 처리부이다. 따라서, 상기 NLP(1340)는, 만약 제어 커맨드가 상기와 같이, 음성 데이터가 아닌 경우에는 필요 없을 수도 있고 또는 그에 맞는 처리 구성으로 대체 또는 변경될 수도 있다.
제어 디바이스로는 스마트 글래스(1320)와 스마트 워치(1325) 두 개의 웨어러블 디바이스들을 도시하였으며, 상기 제어 디바이스는 사용자의 음성 신호 또는 제스처 입력을 수신한다. 도 13과 14에서 비록 두 개의 제어 디바이스들이 도시되었으나, 양자가 모두 이용되어야 하는 것은 아니며 어느 하나의 제어 디바이스를 통하여 타겟 디바이스 제어가 가능하다.
제어 디바이스(1320,1325)는, 구비된 음성 인식 인터페이스(미도시)를 통하여 외부의 음성 신호가 수신되면, 이를 디지털 음성 데이터로 변환하여 타겟 디바이스(1310)로 전송한다.
상기 제어 디바이스(1320,1325)에서 수신한 사용자의 음성 신호가 최종적으로 타겟 디바이스(1310)의 제어 커맨드로 전송되는 과정에서는 다양한 경로가 이용될 수 있다. 도 13과 14가 그 일 실시 예를 의미할 수 있다.
먼저, 본 발명에 따라 디바이스 제어 시스템이 정상적으로 동작하기 위해서는, 타겟 디바이스(1310)와 제어 디바이스(1320,1325) 간에 페어링 과정이 수행되어야 한다. 이때, 도 13 및 14의 서버(1330) 또는/및 중계기(1350)도 함께 페어링될 수 있다. 한편, 상기 페어링은 전술한 다양한 통신 프로토콜에 따라 이루어질 수 있는데 이하에서는 편의상 블루투스 방식으로 페어링되는 것을 일 예로 하여 설명한다. 한편, 디바이스 제어 시스템 내 모든 디바이스 구성이 블루투스 페어링 되어야 하는 것은 아니며 각 디바이스 특성에 맞게 해당 통신 프로토콜에 기초하여 페어링이 이루어지면 족하다. 다만, 편의상 디바이스 제어 시스템 내에 적어도 타겟 디바이스(1310)와 제어 디바이스(1320,1325)는 블루투스 페어링되는 것으로 가정한다. 도 14의 경우에는, 제어 디바이스(1320,1325)와 연계 제어 디바이스(1410) 그리고 타겟 디바이스(1310) 사이에 서로 블루투스 페어링이 수행된다. 한편, 화면을 공유하고자 하는 타겟 및 제어 디바이스들은 미라캐스트와 같은 디바이스 연동 서비스를 지원할 수 있어야 한다. 상기에서, 블루투스 페어링과 관련하여, 블루투스 프로파일로는 BPP(Basic Printing Profile), MAP(Message Access Profile) 등을 포함하여 텍스트 데이터를 전달 가능한 프로파일을 사용하는 모든 경우가 포함된다. 한편, 블루투스 페어링은 블루투스 클래식(Bluetooth classic)과 블루투스 로우 에너지(Bluetooth Low Energe)가 모두 가능하며, 실제 데이터 통신은 SPP(Serial Port Profile)을 비롯한 모든 프로파일로 가능하다.
도 13에서, 제어 디바이스(1320,1325)는 입력 음성 신호를 디지털 음성 데이터로 변환하고, 이를 직접 텍스트 형태의 데이터로 STT(Speech to Text) 변환 작업을 수행하여, 타겟 디바이스(1310)의 제어 커맨드로 다이렉트(direct)로 전송할 수 있다.
여기서, 상기 STT 처리는, 제어 디바이스(1320,1325)에서 직접 수행할 수도 있고 서버(1330)로 전송하여, 상기 서버(1330)에서 수행할 수도 있다. 상기 서버(1330)에서 STT 변환 작업이 수행되는 경우, 상기 서버(1330)는 STT 변환된 텍스트 데이터를 제어 디바이스(1320,1325)로 리턴하거나 직접 타겟 디바이스(1310)로 전송할 수 있다. 상기 리턴시에는 제어 디바이스(1320,1325)는 리턴된 텍스트 데이터를 제어 디바이스(1320,1325)의 화면상에 출력하고, 사용자의 선택 즉, 음성 신호에 대응되게 텍스트 데이터가 변환되었는지 확인 후에 타겟 디바이스(1310)로 전송할 수 있다. 이때, 만약 상기 변환된 텍스트 데이터가 음성 신호에 대응되지 않는 경우에는, 다시 서버(1330)와 통신하여 STT 변환 과정을 다시 거치거나 음성 신호를 다시 입력할 수도 있다.
한편, 제어 디바이스(1320,1325)에서 획득한 텍스트 데이터는 다이렉트 루트 또는 서버를 통한 루트가 아니라 중계기(1350)를 통한 루트로 타겟 디바이스(1310)로 전송될 수도 있다. 이러한 중계기(1350)는 게이트웨이로서 필요 시에는 입력되는 텍스트 데이터를 적절히 변환하여 타겟 디바이스(1310)로 전달할 수도 있다. 또는, 상기 중계기(1350)는 제어 디바이스(1320,1325)가 직접 타겟 디바이스(1310)와 페어링되지 않은 경우에, 자신이 타겟 디바이스(1310)와 페어링된 경우에 상기 제어 커맨드를 해당 타겟 디바이스로 전송할 수도 있다.
도 14의 경우에는, 기본 처리 과정은 전술한 도 13과 대동소이하다. 다만, 도 14에서는 도 13과 달리, 연계 제어 디바이스(1410)가 더 포함되어 상기 처리 과정에 기여한다.
예컨대, 제어 디바이스(1320,1325)에서 입력받은 음성 신호를 디지털 음성 데이터로 변환하여 연계 제어 디바이스(1410)로 전달하거나 상기 입력받은 음성 신호를 그대로 상기 연계 제어 디바이스(1410)로 전달하면, 상기 연계 제어 디바이스(1410)는 이를 처리하여 타겟 디바이스(1310)로 전달하는 기능을 한다.
도 13에서는, 입력받는 음성 신호를 제어 디바이스(1320,1325)에서 직접 디지털 음성 데이터로 변환하고, STT(서버에서 처리하는 경우도 있음) 변환 처리하고 타겟 디바이스(1310)로 전달하였으나, 도 14에서는 상기 디지털 음성 데이터 변환 적업 또는/및 STT 변환 처리를 연계 제어 디바이스(1410)에서 처리할 수 있다.
연계 제어 디바이스(1410)는 STT 변환 처리를 직접 수행할 수도 있고, 서버(1330)로 전달하여 STT 변환 처리된 데이터를 리턴받아 타겟 디바이스(1310)로 전달할 수도 있다.
타겟 디바이스(1310)는, 입력되는 텍스트 데이터를 NLP(1340)를 통해 처리 후, NLP(1340)에서 리턴되는 데이터에 기초하여 최초 제어 디바이스(1320,1325)에서 입력받은 음성 신호에 대응되는 동작을 수행한다. 이때, 상기 타겟 디바이스(1310)는, 상기 리턴 데이터에 기초하여 동작하기 전에 화면상에 미리 상기 음성 신호에 대응되는 데이터를 출력하여 사용자의 선택에 따라 해당 동작을 수행할 수 있다. 상기 대응되는 데이터에는 상기 음성 신호에 따라 STT 변환 처리된 데이터와 일치할 수도 있고 그렇지 않을 수 있다. 후자의 경우에는, 일치하지 않더라도 그에 대응되는 타겟 디바이스(1310)의 메뉴, 기능 등에 대한 선택 데이터가 출력될 수 있다.
상기에서, 타겟 디바이스는, 제어 디바이스로부터 또는 그를 통해 입력되는 텍스트 데이터가 제어 커맨드인지 단순 디스플레이를 위한 텍스트 데이터인지 아니면 노이즈 처리를 할 것인지 이를 식별할 필요가 있다. 그렇지 않으면, 매 입력 텍스트 데이터에 대응되는 동작 수행을 위해 리소스를 할당하고 그 처리를 하여야 하기 때문에 소비 전력의 문제, 시스템 효율의 문제점이 발생할 수 있다.
따라서, 제어 디바이스에서 STT 처리 이후의 텍스트 데이터는, 타겟 디바이스로 전송 이전에 해당 텍스트 데이터가 예컨대, 타겟 디바이스 제어를 위한 제어 커맨드임을 식별할 수 있도록 식별 데이터를 포함할 수 있다. 그러므로, 타겟 디바이스는 제어 디바이스로부터 입력되는 텍스트 데이터의 헤더(header)만을 파싱하여, 식별 데이터가 존재하고, 존재하는 식별 데이터를 파싱하여 해당 텍스트 데이터가 제어 커맨드이면, 그에 따른 제어 동작을 수행하고, 해당 텍스트 데이터가 디스플레이 텍스트 데이터이면, 화면상의 소정 영역에 그를 출력하면 된다. 또한, 상기에서 파싱된 식별 데이터에 기초할 때, 해당 텍스트 데이터가 제어 커맨드 또는 디스플레이 텍스트 데이터가 아닌 경우에는, 해당 텍스트 데이터를 디코딩하지 않고 무시할 수 있다.
도 15는 도 14에 기초한 디바이스 제어 시스템 구성들의 내부 구성 모듈을 설명하기 위해 도시한 도면이고, 도 16은 도 15의 디바이스 제어 시스템에서 제어 디바이스를 통해 타겟 디바이스와 미라캐스트 기능 수행 과정을 설명하기 위해 도시한 순서도이다.
도 15를 참조하면, 디바이스 제어 시스템은, 제어 디바이스(1510), 연계 제어 디바이스(1520) 및 타겟 디바이스(1530)로 구성된다.
제어 디바이스(1510)는, 안드로이드 웨어(Android Wear) 등과 같은 OS를 포함하여 다양한 애플리케이션, 서비스, 기능 등을 수행할 수 있다. 이때, 제어 디바이스(1510)는 타겟 디바이스 제어를 위한 제어 애플리케이션을 구비할 수 있다.
연계 제어 디바이스(1520)는, 제어 디바이스(1510) 동일 또는 다른 OS를 포함하여 다양한 애플리케이션, 서비스, 기능 등을 수행할 수 있으며, 상기 제어 디바이스(1510)와 페어링하여 텍스트 데이터를 수신하여, 페어링된 타겟 디바이스(1530)로 이를 전달한다. 또한, 연계 제어 디바이스(1520)는, 컴패니언 애플리케이션(companion application)으로 상기 제어 디바이스(1510)와 동일 또는 유사한 기능을 수행하는 타겟 디바이스 제어 애플리케이션을 구비한다. 상기 타겟 디바이스 제어 애플리케이션은, 블루투스 매니저와 미라캐스트 기능 블록을 포함할 수 있다.
타겟 디바이스(1530)는, 웹OS 플랫폼 기반으로 상기 제어 디바이스(1510) 또는 연계 제어 디바이스(1520)와 페어링되어, 상기 제어 디바이스(1510)로 입력되는 음성 신호에 대응되는 기능을 수행한다. 타겟 디바이스(1530)는 상기와 같은 기능 수행을 위하여 블루투스 매니저, 음성 애플리케이션, NLP, 미라캐스트 기능 블록 등을 포함할 수 있다. 한편, 타겟 디바이스(1530)는, 상기 웹OS 플랫폼 기반으로 상기 제어 디바이스(1510) 또는/및 연계 제어 디바이스(1520)의 특정 OS 플랫폼을 지원하거나 해당 데이터를 처리할 수 있다.
이하, 도 16의 순서도를 참조하여, 도 15의 디바이스 제어 시스템에서 예컨대, 미라캐스트 기능 수행 처리 과정을 설명한다.
먼저, 제어 디바이스(1510)와 연계 제어 디바이스(1520)가 페어링된다(S1602).
제어 디바이스(1510)에서 음성 신호를 수신하여(S1604), 상기 음성 신호를 디지털 음성 데이터로 변환한 후, 변환된 디지털 음성 데이터에 기초한 텍스트 데이터를 생성한다. 제어 디바이스(1510)는 상기 생성된 텍스트 데이터를 연계 제어 디바이스(1520)로 전달한다(S1606).
연계 제어 디바이스(1520)는, S1606 단계를 통해 수신한 텍스트 데이터를 블루투스 매니저를 통해 타겟 디바이스(1530)로 전송한다(S1608).
타겟 디바이스(1530)에서는, 블루투스 매니저에서 상기 연계 제어 디바이스의 블루투스 매니저로부터 수신한 텍스트 데이터를 음성 애플리케이션으로 전달하고, 상기 음성 애플리케이션에서 텍스트 데이터를 다시 NLP로 전송하여 처리한다(S1610).
NLP에서 처리된 데이터는, 블루투스 매니저를 통해 다시 연계 제어 디바이스(1520)로 전송되고, 상기 NLP에서 처리된 텍스트 데이터가 미라캐스트에 관한 제어 커맨드이면, 타겟 디바이스에서는 미라캐스트 기능을 호출한다(S1612).
연계 제어 디바이스는, 블루투스 매니저에서 상기 타겟 디바이스(1530)의 블루투스 매니저를 통해 수신한 텍스트 데이터에 기초하여 미라캐스트 기능을 호출한다(S1614).
이후, 연계 제어 디바이스(1520)와 타겟 디바이스(1530)는 상호 간에 미라캐스트 페어링 및 스트리밍을 시작한다(S1616).
타겟 디바이스(1530)는, S1616 단계 이후에 스트리밍 받는 데이터를 화면상에 출력한다(S1618).
도 17은 본 발명의 일 실시 예에 따른 타겟 디바이스에 제어 커맨드 처리 과정을 설명하기 위해 도시한 순서도이고, 도 18 내지 23은 상기 도 17에 따른 타겟 디바이스의 동작을 설명하기 위해 도시한 도면이다.
타겟 디바이스는, 애니 스크린 상태에서 제어 커맨드에 해당하는 음성 신호를 제어 디바이스를 통해 수신(S1702)하여, 그에 따른 동작을 수행할 수 있다. 예컨대, 타겟 디바이스는, 애니 스크린 상태에서, 제어 디바이스(연계 제어 디바이스를 포함)를 통한 음성 신호 수신을 위한 모드(도 20)로 전환할 수 있다. 한편, 타겟 디바이스는, 상기 음성 신호 수신 모드로 전환하지 않더라도 제어 디바이스의 음성 신호를 수신하여 처리할 수도 있다. 다만, 사용자의 입장에서 자신의 음성을 통한 제어 커맨드가 타겟 디바이스로 제대로 전달되고 있는지 직관적으로 인식할 수 있도록 하거나 잘못된 제어 커맨드가 전송되는지 또는 의도하지 않은 제어 커맨드의 전송 등을 식별하여 그에 따른 부대 처리를 할 수 있도록 하는 것이 바람직하다. 따라서, 타겟 디바이스 또는 제어 디바이스 중 적어도 하나는 사용자의 음성 신호를 통한 제어 커맨드가 제대로 기능하는지 식별 가능하도록 제공할 필요가 있다. 한편, 사용자는 시작부터 음성 신호를 제어 커맨드로 전달할 수도 있으나, 타겟 디바이스에서 그에 대응되는 동작 수행을 위한 준비 과정으로서 음성 신호 수신 모드로의 전환을 예고하는 동작을 수행할 수 있다. 이러한 동작으로, 간단한 사용자의 음성 신호 송출, 제어 디바이스의 소정 버튼 입력, 제스처 등을 통해 타겟 디바이스의 모든 전환을 도출할 수 있다. 이후 사용자는 타겟 디바이스의 모든 전환이 직관적으로 인식되면, 실제 제어 커맨드에 대응되는 음성 신호를 제어 디바이스를 통해 송출할 수 있다.
도 20과 같이, 타겟 디바이스가 모든 전환되면, 타겟 디바이스는 제어 디바이스를 통해 수신되는 사용자의 음성 신호를 인식한다(S1704).
타겟 디바이스는 인식된 사용자의 음성 신호를 STT 처리한다(S1706). 상기에서는, STT 처리가 주로 제어 디바이스, 연계 제어 디바이스 또는 서버 중 적어도 어느 하나에서 이루어지는 것으로 기술하였으나, 반드시 이에 한정되는 것은 아니다. 즉, 도 17에서와 같이, 타겟 디바이스는 제어 디바이스를 통한 사용자의 음성 신호를 그대로 수신하여, 디지털 음성 데이터로 변환 및 STT 변환 처리 중 적어도 하나를 직접 수행할 수 있다. 이렇게 STT 처리된 음성 신호는 NLP 처리를 통해 구체적인 제어 커맨드로 인식 가능하다.
타겟 디바이스는 STT 처리된 음성 신호에 대응되는 결과를 화면상에 출력한다(S1708).
이하, 도 18 내지 23을 참조하여, 도 17을 더욱 상세하게 설명한다. 이때, 상기 도 17에 따른 타겟 디바이스의 화면 구성은 도시된 바와 같이, 분할된 화면 또는 화면의 소정 부분에 메인 화면상에 오버레이되는 형태로 제공될 수 있다.
도 18은 S1708 단계에 따라 상기 STT 처리된 음성 신호에 대응되는 결과를 제공하는 화면 구성을 도시한 것이다. 도 18의 화면 구성을 보면, 일측에 상기 STT 처리된 음성 신호가 "X를 찾아줘."와 같은 검색 기능 요청에 대응된 검색 결과에 맵핑된 아이콘들이 출력되고, 그 주변에 상기 각 아이콘에 대응되는 구체적인 검색 결과가 제공된다. 예컨대, 도 18은 채널 검색에 대한 내용이면, 도시된 바와 같이, 관련 채널 리스트가 제공이 된다.
도 19는, 도 18에서 소정 채널이 선택이 된 경우에, 검색 아이콘들은 그대로 유지되나, 상세 검색 결과 화면은 사라지고, 상기 선택된 채널에 대응되는 화면으로 전환된다. 이렇게 전환된 화면은, 동영상 또는 썸네일 이미지 데이터, 줄거리, 인물 정보 등에 대한 텍스트 데이터, 기타 시청 예약, 녹화 예약, 즉시 녹화, 타임머신 기능 등 실행 편의를 위한 하나 또는 그 이상의 기능 버튼들을 포함하여 구성될 수 있다.
도 20은 전술한 도 19에 이어 사용자가 다른 기능 수행을 하고자 하는 경우에, 제어 커맨드에 대응되는 사용자의 음성 신호 수신 모드로 전환한 화면이고, 도 21은 상기 모드 전환 이후에 사용자의 음성 신호를 수신하여 인식하고 STT 및 NLP 처리를 통해 제어 커맨드에 대응되는 텍스트 데이터를 출력하는 화면이고, 도 22는 상기 출력된 텍스트 데이터가 사용자가 의도한 음성 신호에 대응된 경우 그 선택 또는 자동으로 대응되는 기능을 수행하고 있음을 식별하도록 하는 화면 구성이다.
도 22는 현재 결과 검색 중임을 나타내는 화면이고, 도 23은 상기 도 22의 검색 결과에 따른 도 18과 같은 검색 결과 제공 화면이다.
도 24는 본 발명의 다른 실시 예에 따른 타겟 디바이스의 제어 커맨드 처리 과정을 설명하기 위해 도시한 순서도이고, 도 25 내지 28은 상기 도 24에 따른 타겟 디바이스의 동작을 설명하기 위해 도시한 도면이다.
도 24를 참조하여 타겟 디바이스에서 제어 커맨드 처리 과정을 설명하면, 다음과 같다.
타겟 디바이스는 애니 스크린 상태에서 제어 디바이스 또는 연계 제어 디바이스로부터 제1 신호를 수신하면(S2402), 상기 수신되는 제1 신호에 대응하여 음성 신호 수신 인터페이스를 출력한다(S2404). 여기서, 출력되는 상기 음성 신호 수신 인터페이스는 실제 타겟 디바이스를 통하여 음성 신호를 수신하겠다는 것이 아니라 제어 디바이스를 통해 제어 커맨드를 포함한 음성 신호가 타겟 디바이스에 수신되고 있음을 사용자에게 식별 가능하도록 하기 위함이다.
타겟 디바이스는 제어 디바이스로부터 음성 신호를 수신하여(S2406), 수신된 음성 신호를 STT 처리한다(S2408). 이때, 타겟 디바이스는 STT 처리 후에 NLP 처리를 한다.
타겟 디바이스는 STT/NLP 처리된 텍스트 데이터를 화면상에 출력한다(S2410).
타겟 디바이스는 상기 출력된 텍스트 데이터가 사용자가 제어 디바이스를 통해 전송한 제어 커맨드의 의도와 부합하는 경우에는, 상기 제어 커맨드에 부합하는 기능 실행을 위한 기능 블록의 로딩을 요청한다(S2412).
그리고, 타겟 디바이스는 상기 로딩된 기능 블록을 통하여 사용자가 요청한 기능을 수행하고(S2414), 상기 기능 수행과 관련된 화면, 결과 등을 출력한다(S2416).
도 25는 예컨대, 사용자가 제어 디바이스를 통해 전송하는 음성 신호와 그에 따른 화면 동작을 설명하기 위해 도시한 도면이다.
사용자가 제어 디바이스를 통해 "네이버 보여줘"라는 발화어를 음성 신호로 전송하면, 제어 디바이스를 통해 타겟 디바이스는 상기 음성 신호를 수신하고, 이를 STT 처리하여 텍스트 데이터를 생성한다. 타겟 디바이스는 이렇게 생성된 타겟 디바이스를 NLP 처리하여 최종적으로 상기 음성 신호에 대응되는 "웹 브라우저를 통해 네이버 웹 사이트를 제공하라"라는 의도를 파악하고, 그와 관련된 결과를 제공한다. 이때, 상기 NLP 처리 결과가 단지 최적화된 하나의 결과만이 아니라 관련된 다수의 결과 화면이 생성될 수 있는바, 최적화된 하나의 결과 화면뿐만 아니라 여러 개의 결과 화면이 존재하는 경우에도 화면에 출력하여 사용자의 의도를 최종적으로 확인할 수 있다. 한편, 타겟 디바이스는 상기와 같이, 사용자의 의도 확인 및 선택을 위하여, 결과 화면을 매번 제공하는 것이 아니라 최적화된 결과를 바로 실행할 수도 있다. 또한, 상기에서 결과 화면이 화면상에 제공된 경우에는, 비록 사용자가 해당 결과 화면을 선택하지 않은 경우에는 소정 시간 경과 후에 해당 결과를 바로 실행하거나 그렇지 않을 수 있다. 또한, 상기에서, 여러 개의 결과 화면이 제공된 경우에는, 해당 결과의 의도 부합 정도에 따라 우선순위에 따라 배열되고, 사용자가 소정 시간 내에 선택하지 않은 경우에는, 가장 우선순위가 높은 결과를 자동으로 실행할 수도 있다. 한편, 상기 결과 화면 선택은 반드시 이전과 동일한 음성 신호를 통하지 않고, 키 버튼 선택, 제스처 입력 등 다양한 방식으로 이루어질 수 있다. 한편, 상기에서 우선순위나 결과 화면 구성은 비단 입력된 음성 신호에 기반하는 경우뿐만 아니라 사용자가 이전 음성 신호에 따른 선택과 사용자의 타겟 디바이스 이용 패턴, 현재 시청 중인 컨텐트의 속성 등 다양한 히스토리 데이터에 기초하여 결과 화면 구성 및 상기 결과 화면들의 우선순위를 결정하여 제공할 수 있다.
다음으로, 사용자가 제어 디바이스를 통해 "네이버에서 OO 찾아줘."라는 음성 신호를 전송하는 경우에는, 타겟 디바이스는 웹 브라우저를 실행하여 해당 웹 사이트로 이동하고, 이동된 웹 사이트에서 상기 검색어에 기초하여 검색을 실행하고, 그 검색 결과를 제공할 수 있다. 한편, 해당 검색어를 기준으로 검색된 결과가 없는 경우에는, 다른 검색 사이트를 참고하거나 상기 검색어와 연관 검색어로 해당 웹 사이트 등에서 제공하는 검색어를 이용하여 자동 검색 기능을 수행할 수 있다. 상술한 일련의 과정은 타겟 디바이스의 화면을 통하여 제공된다. 한편, 상술한 과정에서 타겟 디바이스는 기 시청 중인 컨텐트가 존재하는 경우에는, 해당 컨텐트와 화면 분할을 통하여 또는 해당 컨텐트에 오버레이되는 웹 브라우저나 윈도우를 통하여 기능 수행 과정 및 결과를 제공할 수 있다.
마지막으로, 사용자가 제어 디바이스를 통하여 "OO웹 검색해줘", "OO가르쳐줘(알려줘)"에 해당하는 음성 신호를 전송한 경우, 타겟 디바이스는 각 나라의 대표 웹(웹 브라우저의 기본 웹 사이트(Default web site))를 통해 검색을 실행하고 검색 결과를 제공한다.
한편, 도시되진 않았으나, 사용자가 만약 하나의 제어 디바이스를 통해 소정 시간 내에 복수의 제어 커맨드를 포함한 음성 신호를 전송한 경우에 그 처리가 문제될 수 있다. 이 경우, 최초 음성 신호 이후의 음성 신호가 과연 제어 커맨드인지 아닌지 식별이 우선되어야 한다. 상기 식별 결과 만약 뒤따르는 음성 신호 역시 제어 커맨드를 포함한 경우라면, 다음과 같이 처리할 수 있다. 만약 뒤따르는 음성 신호에 포함된 제어 커맨드(제2 제어 커맨드)가 이전 제어 커맨드(제1 제어 커맨드)와 상충(conflict)되는 경우에는, 상기 제2 제어 커맨드를 무시하거나 제1 제어 커맨드를 대신하여 제2 제어 커맨드만 유효하게 처리할 수 있다. 다만, 상기 제2 제어 커맨드가 제1 제어 커맨드와 상충하지 않은 경우에는, 상기 제2 제어 커맨드를 수행하기 위한 리소스가 충분한 경우에는 상기 제1 제어 커맨드와 병행하여 제2 제어 커맨드를 수행한다. 그러나, 만약 제2 제어 커맨드가 제1 제어 커맨드와 상충하지는 않으나, 그 수행을 위해 필요한 리소스가 충분하지 않은 경우(리소스 쉐어링(resource sharing)에 의해서 불가능한 경우 포함)에는, 화면에 현재 제2 제어 커맨드 수행이 불가하다는 표시와 함께 리소스가 확보되는 대로 해당 제어 커맨드에 따른 동작 수행을 대기 중이라는 표시를 할 수 있다. 이때, 다른 동작을 중단시키면 상기 리소스 확보가 가능한 경우에는, 그에 관한 내용을 화면에 출력하여 사용자의 선택을 요구할 수도 있다.
그 밖에, 도시되진 않았으나, 만약 복수의 제어 디바이스들을 통해 소정 시간 내에 복수의 제어 커맨드들을 포함한 음성 신호를 전송한 경우에 그 처리가 문제될 수 있다. 먼저, 최초 제어 커맨드 이후에 수신되는 하나 또는 그 이상의 제어 커맨드들을 식별하여, 상기 최초 제어 커맨드와 중복되는 제어 커맨드는 무시한다. 그러나, 상기 식별 결과 만약 상기 최초 제어 커맨드와 중복되지 않은 제어 커맨드가 하나 또는 그 이상 존재하면, 해당 제어 커맨드의 속성 등을 비교 판단하여 상기 최초 제어 커맨드와 상충하는지 판단한다. 상기 판단 결과 만약 상충하는 하나 또는 그 이상의 제어 커맨드는 무시하거나 상충하는 제어 커맨드에 따라 동작을 수행한다. 반면, 상충하지 않은 제어 커맨드가 존재하는 경우에는, 리소스 등의 이용 가능성을 비교 판단하여 다시 병행 동작 가능한지 판단한다. 만약 병행 가능하다고 판단되면, 해당 제어 커맨드에 따른 동작을 병행하나, 그렇지 않은 경우에는 대기 표시를 하고 사용자의 선택을 기다릴 수 있다.
한편, 복수의 제어 디바이스들을 통해 동일한 제어 커맨드가 포함된 음성 신호가 수신되면, 최초 제어 커맨드 이후의 제어 커맨드들은 모두 무시한다. 한편, 상기와 같은 과정이 미리 정한 횟수 이상 반복되면, 해당 디바이스들에 음성 신호 전송을 중단하라는 제어 커맨드를 타겟 디바이스에서 해당 제어 디바이스로 전송할 수도 있다.
도 26을 참조하면, 메인 화면을 통해 하나의 컨텐트가 출력되고 있는 와중에 제어 디바이스를 통해 음성 신호가 수신되면, 도시된 바와 같이, 음성 인터페이스를 출력하여 사용자의 제어 커맨드를 수신하고 있음을 식별 가능하도록 한다. 또한, 상기 수신된 음성 신호를 텍스트 데이터로 STT/NLP 처리된 결과를 상기 음성 인터페이스에 함께 표시하여 사용자가 자신의 제어 커맨드가 제대로 전달되었는지 확인할 수 있게 한다.
도 27과 28은, 상기 도 26 이후에 결과 화면을 제공하는 도면이다. 여기서, 도 27은 결과 화면이 전체 화면을 통해 제공되는 경우이고, 도 28은 결과 화면이 컨텐트와 화면 분할 또는 화면 소정 영역에 오버레이되어 출력되는 화면 구성이다. 도 27의 경우, 기존에 메인 화면을 통해 출력 중인 컨텐트는 백그라운드로 자동으로 전환되어 그 실행을 중지한다. 만약 상기 백그라운드로 전환되는 컨텐트가 라이브 방송인 경우에는 자동으로 타임머신 기능에 따라 녹화 기능이 수행된다.
29 내지 32는 상기 도 26 내지 28 이후의 타겟 디바이스의 동작을 설명하기 위해 도시한 도면이다.
도 29는 상술한 바에 따라 제어 디바이스를 통해 사용자의 웹 브라우저 실행 제어 커맨드에 따라 웹 브라우저가 실행된 화면을 도시하였다.
여기서, 사용자가 포인터(2915)를 움직여 웹 페이지 내 검색 창(2910)을 포인팅하면, 타겟 디바이스는 검색 기능 수행에 필요한 검색어 입력을 위하여 가상 키보드(2920)를 제공할 수 있다.
상술한 도 29가 일반적인 타겟 디바이스에서 검색 기능 이용 과정이나, 이는 검색어를 입력하기 위해 포인터를 여러 번 움직여야 하는 불편함으로 인해 잘 이용되지 않아 문제이다. 따라서, 본 발명에 따라 간단하게 제어 디바이스를 통해 검색어를 포함한 음성 신호를 전송하여 검색어를 완성하고 그에 기초하여 검색 기능을 이용할 수 있다.
본 발명에 따를 경우, 음성 신호를 통해 검색어 입력은 상기 웹 브라우저의 포인터를 통하거나 리모컨의 음성 인터페이스를 요청하거나 또는 아무런 동작없이 해당 웹 페이지가 출력된 상황에서 간단하게 제어 디바이스를 통해 음성 신호를 전송함으로써 이루어질 수 있다.
예컨대, 도 29와 같이, 웹 브라우저상에 웹 페이지가 출력된 경우에, 사용자는 검색어를 포함한 음성 신호를 이전과 동일한 방식으로 제어 디바이스를 통해 전송하면, 타겟 디바이스는 상기 음성 신호를 파싱하여 텍스트 데이터로 변환한다. 이때, 상기 타겟 디바이스는 상기 음성 신호가 수신되면, 도 30과 같이, 음성 인터페이스(3010)를 출력하여 사용자의 검색어를 포함한 음성 신호를 수신하여 처리하고 있음을 표시한다.
이후, 타겟 디바이스는 처리된 텍스트 데이터를 도 31과 같이 출력하고 사용자의 선택이 있으면, 도 32와 같이, 웹 페이지의 검색창에 상기 선택된 검색어가 출력되도록 한다. 이후 사용자가 검색 시작 제어 커맨드를 다시 음성 신호로 전송하거나 포인터를 통해 선택하여 해당 검색어에 대한 검색을 시작하고 검색 결과를 출력할 수 있다. 도 31에서 전술한 바와 같이, 처리된 텍스트 데이터가 복수 개인 경우에는 사용자의 선택이 가능하도록 모두 출력할 수 있다.
33 내지 34는 본 발명에 따라 제어 디바이스를 통해 날씨 정보를 처리하는 과정을 설명하기 위해 도시한 도면이고, 도 35는 상기 도 33 또는 34와 관련된 타겟 디바이스의 결과 화면 구성을 설명하기 위해 도시한 도면이다.
도 33 내지 35는 제어 디바이스를 통하여 타겟 디바이스 상에서 날씨 정보를 처리하는 과정을 도시한 것으로, 이는 지역, 날짜 등에 따라 다양하게 타겟 디바이스 상에서 화면 구성이 이루어질 수 있다.
도 33을 참조하면, 타겟 디바이스의 애니 스크린 상태에서 사용자가 제어 디바이스를 통하여 "3일 날씨 어때?"라는 제어 커맨드를 포함한 음성 신호를 입력(S3302)하면, 타겟 디바이스는 음성 인터페이스를 통해 상기 입력된 음성 신호에 대응되는 텍스트 데이터를 처리하여 출력하고, 그 결과 화면을 출력한다.
이때, 만약 타겟 디바이스에 지역 설정이 되어 있지 않은 경우에는, 사용자가 현재 위치한 지역에 대해 우선적으로 날씨 데이터를 결과 화면으로 제공한다(S3304). 그러나 만약 타겟 디바이스에 지역 설정이 되어 있는 경우에는 해당 설정 지역에 대한 날씨 데이터를 결과 화면으로 제공한다(S3306).
이후 사용자가 상기 S3304 또는 S3306 단계에서, 다시 "대전은?"이라는 제어 커맨드를 포함한 음성 신호를 입력하면, 타겟 디바이스는 해당 지역의 날씨 정보를 제공한다(S3308).
상기 S3304, S3306 및 S3308 단계에서 제공되는 날씨는 예를 들어, 해당일을 포함하여 이후 3일치의 날씨 정보를 제공할 수 있다.
S3302 단계 또는 S3308 단계에서, 만약 사용자가 "날씨 어때?"라는 제어 커맨드를 입력하는 경우에는, S3304 단계와 같이 현재 위치의 날씨 정보를 다시 제공한다(S3310). 즉, 도시된 바와 같이, S3308 단계 이후에 만약 상기 제어 커맨드가 입력되더라도 대전이 아닌 현재 위치 즉, 서울의 날씨 정보를 제공한다. 그러나, 만약 상기에서, "오늘 날씨 어때?"라고 제어 커맨드를 전송한 경우에는, S3310 단계와 달리, 대전의 오늘 날씨 정보를 제공한다(S3312).
한편, 상기 날씨 정보는 예컨대, 설정된 지역, 시, 군, 구, 동 중 어느 하나의 단위로 시간 단위로 제공될 수 있다. 여기서, 상기 시간 단위는 일 단위일 수도 있고, 하루 범위 내의 시간 단위일 수도 있다.
도 34는 전술한 내용과 대동소이한데, 최초 제어 커맨드를 "오늘 날씨 어때?"라고 입력한 경우에는, 지역 설정에 따라 설정된 지역 또는 현재 위치 중 하나에 대한 오늘 날씨 정보를 제공한다. 한편, 그 이후에 다음 제어 커맨드를 "내일은?"이라고 입력하는 경우에는, 해당 지역의 내일 날씨 정보를 제공한다. 이후 다음 제어 커맨드로 "대전은?"이라고 입력하면, 내일의 대전 날씨 정보를 제공한다.
상술한 바와 같이, 검색어에 따라 대응되는 지역과 시간 등에 대한 정확한 정보를 제공할 수 있다.
도 35는, 사용자가 제어 커맨드로 "서울 날씨 예상?"이라고 입력한 경우에, 타겟 디바이스에서 그에 대응하여 서울 지역의 오늘, 내일, 모레까지의 날씨 정보를 제공하는 화면 구성이다. 추가적인 날짜의 날씨 정보를 보고 싶은 경우에는 "모어(more)" 버튼을 액세스함으로써 추가적인 날짜의 날씨 정보도 제공할 수 있다.
도 36 본 발명의 일 실시 예에 따른 타겟 디바이스의 대화형 데이터 처리 고정을 설명하기 위해 도시한 도면이다.
도 36은 예컨대, 본 발명에 따라 제어 디바이스의 입력 제어 커맨드에 대응하여 타겟 디바이스에서 대화형 서비스를 제공하는 화면 구성을 도시한 것이다.
예컨대, 도 36a을 참조하면, 타겟 디바이스는 컨텐트를 출력 중에 제어 디바이스로부터 음성 신호가 수신되면, 음성 인터페이스를 화면상의 소정 영역에 출력한다. 타겟 디바이스는 상기 수신되는 음성 신호를 STT/NLP 처리하여 이를 텍스트 데이터로 변환하여 제공한다.
상기 텍스트 데이터로 변환된 사용자의 제어 커맨드가 예컨대, 타겟 디바이스의 특정 기능 수행, 애플리케이션 실행 등과 관련없는 내용인 경우 즉, 타겟 디바이스의 기능 수행 등이 아닌 일반적인 내용의 텍스트 데이터인 경우에는, 타겟 디바이스는 상기 음성 신호 수신에 따른 대화형 서비스를 제공할 수 있다. 여기서, 대화형 서비스는 주로 사용자의 감정 상태, 주변 날씨 정보, 시각 정보 등 다양한 정보에 기초하여 사용자에게 컨텐트를 추천하는 등 음성 신호에 대응하는 모든 서비스를 통칭할 수 있다.
일 예로, 사용자가 도 36a와 같이, "I am bored." 음성 신호를 입력하면, 타겟 디바이스는 이를 텍스트 데이터로 변환하여 제공하고, 상기 변환 제공된 텍스트 데이터의 의미 또는 의도를 분석하여, 도 36b와 같은 응답 데이터를 제공할 수 있다. 도 36b에서는 상기 응답 데이터로 "Do you want to watch something?"이 제공되었다. 다만, 상기 응답 데이터는 상기와 같은 텍스트 데이터에 한정되지 않고, 웹 브라우저, 동영상, 정지영상, 오디오 등 다양한 형태의 데이터가 제공될 수 있다. 예컨대, 도 36a에 따라 도 36b에서 사용자가 가장 좋아하는 가수의 최신 음악을 재생할 수도 있고, 웹 브라우저를 실행하여 오늘의 유머나 최신 핫 뉴스를 제공할 수도 있다. 또는, 무료 VOD를 검색하여 사용자가 즐겨보는 장르의 영화나 드라마 등을 시청 가능하도록 응답할 수도 있다.
한편, 이러한 대화형 서비스는, 비단 전술한 과정에서도 적용 가능하다.
상술한 본 발명에 따르면, 단지 종래 리모컨을 대체하는 제어 디바이스의 리모컨 대체 애플리케이션 실행이 아니더라도 상기 제어 디바이스의 기본 기능을 통하여 간단하게 타겟 디바이스를 제어할 수 있고, 네트워크에 속한 각 타겟 디바이스에 맵핑된 리모컨에 의하지 않더라도 원격에서 손쉽게 해당 타겟 디바이스를 타겟팅하고, 타겟팅 된 디지털 디바이스를 제어할 수 있으며, 타겟 디바이스 제어를 위해 필요한 특정 애플리케이션을 제어 디바이스에서 실행하여 터치 방식으로 상기 타겟 디바이스를 제어하는 것뿐만 아니라, 상기 제어 디바이스에서 음성(voice), 제스처(gesture) 등 입력 신호를 통해 상기 타겟 디바이스를 제어할 수 있고, 네트워크에 속한 다양한 제어 디바이스들 중 가장 근접한 제어 디바이스를 통하여 별도의 타겟 디바이스 제어를 위한 이동이나 특정 애플리케이션을 수행하지 않고도 손쉽게 타겟 디바이스를 설정하고 제어할 수 있다
본 발명에 따른 디지털 디바이스 및 디지털 디바이스 제어 방법은 상기한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명의 디지털 디바이스의 동작 방법은 디지털 디바이스에 구비된 프로세서가 읽을 수 있는 기록매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브(carrier wave)의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
본 발명은 디바이스 제어 시스템 및 디지털 디바이스에 관한 것으로, 디지털 디바이스를 이용하는 산업 전반에 걸쳐 이용 가능하다.
Claims (20)
- 적어도 하나 이상의 제어 디바이스(controlling device)를 통해 수신되는 제어 커맨드(control command)에 의해 제어되는 타겟 디바이스(targeted device)에 있어서,컨텐트를 수신하는 제1 수신부;상기 제어 디바이스로부터 음성 신호(voice signal) 또는 상기 음성 신호에 대응되는 텍스트 데이터를 수신하는 제2 수신부;상기 컨텐트를 디코딩하는 디코더;상기 텍스트 데이터를 처리하는 처리부;상기 처리된 데이터로부터 수신된 텍스트 데이터가 제어 커맨드를 포함하였는지 식별하고, 식별된 텍스트 데이터 수신에 응답하여 음성 인터페이스(voice interface) 출력을 제어하고, 상기 처리된 데이터에 대응되는 결과 화면을 구성하여 출력을 제어하고, 상기 출력되는 결과 화면에 대응되는 기능을 수행하도록 제어하는 제어부; 및디코딩된 컨텐트와, 상기 음성 인터페이스와 결과 화면 또는 기능 수행 화면을 출력하는 출력부를 포함하는 타겟 디바이스.
- 제1항에 있어서,상기 타겟 디바이스는, 블루투스 매니저(bluetooth manager)를 포함하여 상기 적어도 하나 이상의 제어 디바이스와 블루투스 통신 프로토콜로 연결되는 것을 특징으로 하는 타겟 디바이스.
- 제2항에 있어서,상기 처리부는,상기 제어 디바이스로부터 음성 신호가 수신되면 STT(Speech to Text) 및 NLP(Natural Lanaguage Processing) 처리를 수행하고,상기 제어 디바이스로부터 상기 음성 신호에 대응되는 텍스트 데이터가 수신되면 상기 NLP 처리만을 수행하는 것을 특징으로 하는 타겟 디바이스.
- 제1항에 있어서,상기 제어부는,상기 제어 디바이스로부터 수신되는 음성 신호 또는 상기 음성 신호에 대응되는 텍스트 데이터에 포함된 식별 정보에 기초하여 상기 음성 신호 또는 상기 텍스트 데이터의 제어 커맨드 포함 여부를 판단하는 것을 특징으로 하는 타겟 디바이스.
- 제1항에 있어서,상기 제어부는,상기 출력부가 컨텐트를 출력 중인 경우에는, 상기 결과 화면 및 기능 수행 화면을, 화면을 분할하여 분할된 화면 중 어느 하나의 화면 또는 상기 컨텐트가 출력 중인 화면상의 소정 영역에 오버레이(overlay) 하여 출력하도록 제어하는 것을 특징으로 하는 타겟 디바이스.
- 제1항에 있어서,상기 제어부는,상기 처리된 데이터가 특정 기능 수행에 관한 것이면, 해당 기능 수행에 필요한 적어도 하나 이상의 기능 블록에 관한 리소스 이용 가부를 판단하고, 상기 판단 결과 리소스 이용이 가능하면, 해당 기능 블록을 호출하는 것을 특징으로 하는 타겟 디바이스.
- 제1항에 있어서,상기 제어부는,상기 처리된 데이터가 기능 수행과 관련없는 텍스트 메시지인 경우에는, 대화형 서비스 제공을 위한 리소스를 할당하고, 상기 텍스트 메시지와 관련된 사용자 히스토리 데이터를 수집하여 컨텐트 추천을 포함한 대화형 서비스를 제공하는 것을 특징으로 하는 타겟 디바이스.
- 제1항에 있어서,상기 타겟 디바이스는 디지털 TV이고, 상기 적어도 하나 이상의 제어 디바이스는 웨어러블 디바이스 및 모바일 터미널 중 적어도 하나를 포함하는 것을 특징으로 하는 타겟 디바이스.
- 제어 디바이스들과 타겟 디바이스를 포함한 디바이스 제어 시스템에 있어서,음성 신호를 수신하여 디지털 음성 데이터로 변환하여 출력하는 제1 제어 디바이스;상기 디지털 음성 데이터를 STT 처리하여 상기 음성 신호에 대응되는 텍스트 데이터를 생성하여 출력하는 제2 제어 디바이스; 및상기 음성 신호 수신에 관한 음성 인터페이스를 출력하고, 상기 제2 제어 디바이스로부터 수신되는 텍스트 데이터를 NLP 처리하여 상기 텍스트 데이터에 대한 결과 화면을 구성하여 출력하고 출력된 결과 화면에 대응되는 기능을 수행하는 타겟 디바이스를 포함하는 디바이스 제어 시스템.
- 제9항에 있어서,상기 STT 및 NLP 처리와, 상기 처리된 데이터를 일시 저장 및 상기 제어 디바이스로 응답을 리턴하거나 상기 타겟 디바이스로 전송하는 서버; 및상기 타겟 디바이스와의 데이터 커뮤니케이션을 지원하는 중계기 중 적어도 하나를 더 포함하는 디바이스 제어 시스템.
- 적어도 하나 이상의 제어 디바이스를 통해 수신되는 제어 커맨드에 의해 타겟 디바이스를 제어하는 방법에 있어서,컨텐트를 수신하는 단계;상기 컨텐트를 디코딩하고 화면을 통하여 출력하는 단계;상기 제어 디바이스로부터 음성 신호 또는 상기 음성 신호에 대응되는 텍스트 데이터를 수신하는 단계;상기 수신된 음성 신호 또는 텍스트 데이터를 처리하는 단계;상기 처리된 데이터에 제어 커맨드를 포함하였는지 식별하여 음성 인터페이스 출력하는 단계;상기 처리된 데이터에 포함된 제어 커맨드에 대응되는 결과 화면을 구성하여 출력하는 단계;상기 출력되는 결과 화면에 대응되는 기능을 수행하는 단계; 및상기 기능 수행 화면을 출력하는 단계를 포함하여 이루어지는 타겟 디바이스 제어 방법.
- 제11항에 있어서,상기 적어도 하나 이상의 제어 디바이스와 블루투스 통신 프로토콜로 연결하는 것을 특징으로 하는 타겟 디바이스 제어 방법.
- 제12항에 있어서,상기 제어 디바이스로부터 음성 신호가 수신되면 STT 및 NLP 처리를 수행하고,상기 제어 디바리스로부터 상기 음성 신호에 대응되는 텍스트 데이터가 수신되면 NLP 처리만을 수행하는 것을 특징으로 하는 타겟 디바이스 제어 방법.
- 제11항에 있어서,상기 제어 디바이스로부터 수신되는 음성 신호 또는 상기 음성 신호에 대응되는 텍스트 데이터에 포함된 식별 정보에 기초하여 상기 음성 신호 또는 상기 텍스트 데이터의 제어 커맨드 포함 여부를 판단하는 것을 특징으로 하는 타겟 디바이스 제어 방법.
- 제11항에 있어서,상기 결과 화면 및 기능 수행 화면을, 상기 컨텐트가 출력 중인 화면을 분할하여 분할된 화면 중 어느 하나의 화면 또는 상기 컨텐트가 출력 중인 화면상의 소정 영역에 오버레이 하여 출력하는 것을 특징으로 하는 타겟 디바이스 제어 방법.
- 제11항에 있어서,상기 처리된 데이터가 특정 기능 수행에 관한 것이면, 해당 기능 수행에 필요한 적어도 하나 이상의 기능 블록에 관한 리소스 이용 가부를 판단하고, 상기 판단 결과 리소스 이용이 가능하면, 해당 기능 블록을 호출하는 것을 특징으로 하는 타겟 디바이스 제어 방법.
- 제11항에 있어서,상기 처리된 데이터가 기능 수행과 관련없는 텍스트 메시지를 포함한 경우에는, 대화형 서비스 제공을 위한 리소스를 할당하고, 상기 텍스트 메시지와 관련된 사용자 히스토리 데이터를 수집하여 컨텐트 추천을 포함한 대화형 서비스를 제공하는 것을 특징으로 하는 타겟 디바이스 제어 방법.
- 제11항에 있어서,상기 타겟 디바이스는 디지털 TV이고, 상기 적어도 하나 이상의 제어 디바이스는 웨어러블 디바이스 및 모바일 터미널 중 적어도 하나를 포함하는 것을 특징으로 하는 타겟 디바이스 제어 방법.
- 제어 디바이스들과 타겟 디바이스를 포함한 디바이스 제어 시스템의 제어 방법에 있어서,음성 신호를 수신하여 디지털 음성 데이터로 변환하는 단계;상기 디지털 음성 데이터를 STT 처리하여 상기 음성 신호에 대응되는 텍스트 데이터를 생성하는 단계;상기 생성된 텍스트 데이터를 NLP 처리하는 단계; 및상기 NLP 처리된 텍스트 데이터에 대응되는 결과 화면과 기능 수행 화면 중 적어도 하나 이상을 구성하여 출력하는 단계를 포함하여 이루어지는 디바이스 제어 시스템의 제어 방법.
- 제19항에 있어서,상기 STT 및 NLP 처리와, 상기 처리된 데이터를 일시 저장 및 상기 제어 디바이스로 응답을 리턴하거나 상기 타겟 디바이스로 전송은 외부의 서버를 통해 이루어지는 것을 특징으로 하는 디바이스 제어 시스템의 제어 방법.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP15862550.9A EP3226569B1 (en) | 2014-11-26 | 2015-06-01 | System for controlling device, digital device, and method for controlling same |
| CN201580069676.9A CN107113469B (zh) | 2014-11-26 | 2015-06-01 | 控制装置的系统、数字装置及其控制方法 |
| US15/531,388 US10063905B2 (en) | 2014-11-26 | 2015-06-01 | System for controlling device, digital device, and method for controlling same |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020140166678A KR102277259B1 (ko) | 2014-11-26 | 2014-11-26 | 디바이스 제어 시스템, 디지털 디바이스 및 디지털 디바이스 제어 방법 |
| KR10-2014-0166678 | 2014-11-26 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2016085070A1 true WO2016085070A1 (ko) | 2016-06-02 |
Family
ID=56074589
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2015/005460 Ceased WO2016085070A1 (ko) | 2014-11-26 | 2015-06-01 | 디바이스 제어 시스템, 디지털 디바이스 및 디지털 디바이스 제어 방법 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US10063905B2 (ko) |
| EP (1) | EP3226569B1 (ko) |
| KR (1) | KR102277259B1 (ko) |
| CN (1) | CN107113469B (ko) |
| WO (1) | WO2016085070A1 (ko) |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108475492B (zh) * | 2015-12-18 | 2021-01-29 | 麦克赛尔株式会社 | 头戴式显示器协作显示系统、包括显示装置和头戴式显示器的系统及其显示装置 |
| JP6789668B2 (ja) * | 2016-05-18 | 2020-11-25 | ソニーモバイルコミュニケーションズ株式会社 | 情報処理装置、情報処理システム、情報処理方法 |
| JP2018045543A (ja) * | 2016-09-16 | 2018-03-22 | カシオ計算機株式会社 | コンテンツ再生装置、コンテンツ再生方法及びプログラム |
| US10783883B2 (en) * | 2016-11-03 | 2020-09-22 | Google Llc | Focus session at a voice interface device |
| KR102008267B1 (ko) * | 2017-12-12 | 2019-08-07 | 엘지전자 주식회사 | 라이팅 장치 및 이를 포함하는 공연 시스템 |
| CN109936404B (zh) * | 2017-12-15 | 2021-09-14 | 海鹰航空通用装备有限责任公司 | 一种无人机多目标测控装置及方法 |
| US20190251961A1 (en) * | 2018-02-15 | 2019-08-15 | Lenovo (Singapore) Pte. Ltd. | Transcription of audio communication to identify command to device |
| CN110574105B (zh) * | 2018-03-07 | 2024-01-23 | 谷歌有限责任公司 | 用于基于语音发起定制装置动作的系统和方法 |
| CN108667697B (zh) * | 2018-04-28 | 2020-12-08 | 新华三技术有限公司 | 语音控制冲突解决方法、装置及语音控制系统 |
| CN110570864A (zh) * | 2018-06-06 | 2019-12-13 | 上海擎感智能科技有限公司 | 一种基于云端服务器的通信方法、系统及云端服务器 |
| US10878013B1 (en) * | 2018-11-26 | 2020-12-29 | CSC Holdings, LLC | Bi-directional voice enabled system for CPE devices |
| CN110111289B (zh) * | 2019-04-28 | 2021-09-28 | 深圳市商汤科技有限公司 | 一种图像处理方法及装置 |
| US11216233B2 (en) * | 2019-08-06 | 2022-01-04 | Motorola Mobility Llc | Methods and systems for replicating content and graphical user interfaces on external electronic devices |
| CN110633431B (zh) * | 2019-08-08 | 2022-05-03 | 北京大学 | 一种Web请求关联的分析方法和装置 |
| CN110598612B (zh) * | 2019-08-30 | 2023-06-09 | 深圳智慧林网络科技有限公司 | 基于移动终端的病人看护方法、移动终端和可读存储介质 |
| WO2021045243A1 (ko) * | 2019-09-03 | 2021-03-11 | 엘지전자 주식회사 | 디스플레이 장치 및 그 제어 방법 |
| CN110944056A (zh) * | 2019-11-29 | 2020-03-31 | 深圳传音控股股份有限公司 | 交互方法、移动终端及可读存储介质 |
| US20220291752A1 (en) * | 2020-01-16 | 2022-09-15 | Von Clausewitz Systems, LLC | Distributed Application Platform Projected on a Secondary Display for Entertainment, Gaming and Learning with Intelligent Gesture Interactions and Complex Input Composition for Control |
| CN111610861A (zh) * | 2020-05-25 | 2020-09-01 | 歌尔科技有限公司 | 跨平台交互方法、ar装置及服务器和vr装置及服务器 |
| CN111916092A (zh) * | 2020-07-30 | 2020-11-10 | 山东超越数控电子股份有限公司 | 一种Qemu虚拟机远程音频传输方法及装置 |
| US12301748B2 (en) * | 2021-02-08 | 2025-05-13 | Samsung Electronics Co., Ltd. | System and method for simultaneous multi-call support capability on compatible audio devices |
| CN113079400A (zh) * | 2021-03-25 | 2021-07-06 | 海信视像科技股份有限公司 | 显示设备、服务器及语音交互方法 |
| TWI801941B (zh) * | 2021-07-21 | 2023-05-11 | 國立中正大學 | 個人化語音轉換系統 |
| US11695488B2 (en) * | 2021-07-31 | 2023-07-04 | Sony Interactive Entertainment Inc. | ATSC over-the-air (OTA) broadcast of public volumetric augmented reality (AR) |
| US20230244204A1 (en) * | 2022-01-25 | 2023-08-03 | Hitachi, Ltd. | Simplified plc programming with mobile device |
| CN114584416B (zh) * | 2022-02-11 | 2023-12-19 | 青岛海尔科技有限公司 | 一种电器设备控制方法、系统及存储介质 |
| CN115967764A (zh) * | 2022-12-31 | 2023-04-14 | 联想(北京)有限公司 | 信息处理方法和装置 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20020043635A (ko) * | 2000-08-21 | 2002-06-10 | 요트.게.아. 롤페즈 | 다운로드가능한 음성 명령 세트를 구비하는 음성 제어형원격제어기 |
| KR100768653B1 (ko) * | 2006-05-26 | 2007-10-18 | 주식회사 케이티 | 음성 인식 기반의 ip-tv 서비스 제어 시스템과 그방법 및 기록매체 |
| WO2013012107A1 (ko) * | 2011-07-19 | 2013-01-24 | 엘지전자 주식회사 | 전자 기기 및 그 제어 방법 |
| WO2014088377A1 (ko) * | 2012-12-07 | 2014-06-12 | 삼성전자 주식회사 | 음성 인식 장치 및 그 제어 방법 |
| WO2014088146A1 (ko) * | 2012-12-07 | 2014-06-12 | 전남대학교 산학협력단 | Sns를 이용한 사물통신 시스템, 방법 및 그 사물통신 서버 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2838278B1 (fr) * | 2002-04-08 | 2004-08-13 | France Telecom | Terminal mobile multimedia et procede de telecommande d'une passerelle domestique au moyen d'un tel terminal |
| US20050132420A1 (en) * | 2003-12-11 | 2005-06-16 | Quadrock Communications, Inc | System and method for interaction with television content |
| US8175885B2 (en) * | 2007-07-23 | 2012-05-08 | Verizon Patent And Licensing Inc. | Controlling a set-top box via remote speech recognition |
| US8000972B2 (en) * | 2007-10-26 | 2011-08-16 | Sony Corporation | Remote controller with speech recognition |
| KR20110052863A (ko) * | 2009-11-13 | 2011-05-19 | 삼성전자주식회사 | 모바일 기기 및 그 제어 신호 생성 방법 |
| CN102196207B (zh) * | 2011-05-12 | 2014-06-18 | 深圳市车音网科技有限公司 | 语音控制电视机的方法、装置和系统 |
| US20130204408A1 (en) * | 2012-02-06 | 2013-08-08 | Honeywell International Inc. | System for controlling home automation system using body movements |
| US8793136B2 (en) * | 2012-02-17 | 2014-07-29 | Lg Electronics Inc. | Method and apparatus for smart voice recognition |
| US9734151B2 (en) * | 2012-10-31 | 2017-08-15 | Tivo Solutions Inc. | Method and system for voice based media search |
| JP2014126600A (ja) * | 2012-12-25 | 2014-07-07 | Panasonic Corp | 音声認識装置、音声認識方法、およびテレビ |
| KR102277752B1 (ko) * | 2014-01-06 | 2021-07-16 | 삼성전자주식회사 | 웨어러블 기기를 이용한 홈 디바이스 제어 장치 및 제어 방법 |
| US20160034058A1 (en) * | 2014-07-31 | 2016-02-04 | Microsoft Corporation | Mobile Device Input Controller For Secondary Display |
-
2014
- 2014-11-26 KR KR1020140166678A patent/KR102277259B1/ko active Active
-
2015
- 2015-06-01 WO PCT/KR2015/005460 patent/WO2016085070A1/ko not_active Ceased
- 2015-06-01 US US15/531,388 patent/US10063905B2/en active Active
- 2015-06-01 EP EP15862550.9A patent/EP3226569B1/en active Active
- 2015-06-01 CN CN201580069676.9A patent/CN107113469B/zh active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20020043635A (ko) * | 2000-08-21 | 2002-06-10 | 요트.게.아. 롤페즈 | 다운로드가능한 음성 명령 세트를 구비하는 음성 제어형원격제어기 |
| KR100768653B1 (ko) * | 2006-05-26 | 2007-10-18 | 주식회사 케이티 | 음성 인식 기반의 ip-tv 서비스 제어 시스템과 그방법 및 기록매체 |
| WO2013012107A1 (ko) * | 2011-07-19 | 2013-01-24 | 엘지전자 주식회사 | 전자 기기 및 그 제어 방법 |
| WO2014088377A1 (ko) * | 2012-12-07 | 2014-06-12 | 삼성전자 주식회사 | 음성 인식 장치 및 그 제어 방법 |
| WO2014088146A1 (ko) * | 2012-12-07 | 2014-06-12 | 전남대학교 산학협력단 | Sns를 이용한 사물통신 시스템, 방법 및 그 사물통신 서버 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3226569A4 * |
Also Published As
| Publication number | Publication date |
|---|---|
| KR102277259B1 (ko) | 2021-07-14 |
| CN107113469B (zh) | 2020-06-09 |
| US20170332128A1 (en) | 2017-11-16 |
| US10063905B2 (en) | 2018-08-28 |
| EP3226569A4 (en) | 2018-07-11 |
| CN107113469A (zh) | 2017-08-29 |
| KR20160063103A (ko) | 2016-06-03 |
| EP3226569A1 (en) | 2017-10-04 |
| EP3226569B1 (en) | 2021-12-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2016085070A1 (ko) | 디바이스 제어 시스템, 디지털 디바이스 및 디지털 디바이스 제어 방법 | |
| WO2015099343A1 (ko) | 디지털 디바이스 및 그 제어 방법 | |
| WO2017003022A1 (ko) | 디스플레이 디바이스 및 그 제어 방법 | |
| WO2016085094A1 (ko) | 멀티미디어 디바이스 및 그 제어 방법 | |
| WO2016104907A1 (ko) | 디지털 디바이스 및 상기 디지털 디바이스에서 데이터 처리 방법 | |
| WO2016143965A1 (en) | Display device and controlling method thereof | |
| WO2016186254A1 (ko) | 디스플레이 디바이스 및 그 제어 방법 | |
| WO2016027933A1 (ko) | 디지털 디바이스 및 그 제어 방법 | |
| WO2017034065A1 (ko) | 디스플레이 디바이스 및 그 제어 방법 | |
| WO2012026651A1 (en) | Method for synchronizing contents and display device enabling the method | |
| WO2016175361A1 (ko) | 디스플레이 디바이스 및 그 제어 방법 | |
| WO2012030024A1 (en) | Image display apparatus and method for operating the same | |
| WO2012099339A2 (en) | Digital receiver and method of providing real-time rating thereof | |
| WO2011126202A1 (en) | Image display apparatus and method for operating the same | |
| WO2016175356A1 (ko) | 디지털 디바이스 및 디지털 디바이스 제어 방법 | |
| WO2017200215A1 (en) | Digital device and controlling method thereof | |
| WO2012030025A1 (en) | Image display apparatus and method for operating the same | |
| WO2019221365A1 (en) | Flexible television and method thereof | |
| WO2012070789A2 (en) | System, method and apparatus of providing/receiving service of plurality of content providers and client | |
| WO2012074189A1 (ko) | 화면 표시 제어 방법 및 그를 이용한 영상 표시 기기 | |
| WO2020149426A1 (ko) | 영상표시기기 및 그 제어방법 | |
| WO2017047942A1 (ko) | 디지털 디바이스 및 상기 디지털 디바이스에서 데이터 처리 방법 | |
| WO2012070742A1 (ko) | 애플리케이션 설치 방법 및 그를 이용한 영상 표시 기기 | |
| WO2017034298A1 (ko) | 디지털 디바이스 및 상기 디지털 디바이스에서 데이터 처리 방법 | |
| WO2017047868A1 (ko) | 이동 단말기 및 그 제어 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15862550 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 15531388 Country of ref document: US |
|
| REEP | Request for entry into the european phase |
Ref document number: 2015862550 Country of ref document: EP |