KR102177786B1 - 미디어 출력 디바이스들 사이의 미디어 전달 - Google Patents

미디어 출력 디바이스들 사이의 미디어 전달 Download PDF

Info

Publication number
KR102177786B1
KR102177786B1 KR1020187033465A KR20187033465A KR102177786B1 KR 102177786 B1 KR102177786 B1 KR 102177786B1 KR 1020187033465 A KR1020187033465 A KR 1020187033465A KR 20187033465 A KR20187033465 A KR 20187033465A KR 102177786 B1 KR102177786 B1 KR 102177786B1
Authority
KR
South Korea
Prior art keywords
media
cast
destination
voice
user
Prior art date
Application number
KR1020187033465A
Other languages
English (en)
Other versions
KR20190006975A (ko
Inventor
라우나크 샤흐
매트 반 더 스태이
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/592,120 external-priority patent/US10304450B2/en
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority claimed from PCT/US2017/032263 external-priority patent/WO2017197187A1/en
Publication of KR20190006975A publication Critical patent/KR20190006975A/ko
Application granted granted Critical
Publication of KR102177786B1 publication Critical patent/KR102177786B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/635Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/169Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated pointing device, e.g. trackball in the palm rest area, mini-joystick integrated between keyboard keys, touch pads or touch stripes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/18Packaging or power distribution
    • G06F1/181Enclosures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03547Touch pads, in which fingers can move on a surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0362Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 1D translations or rotations of an operating part of the device, e.g. scroll wheels, sliders, knobs, rollers or belts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1094Inter-user-equipment sessions transfer or sharing
    • H04L65/4084
    • H04L65/4092
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42203Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] sound input device, e.g. microphone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • H04N21/42206User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/20Arrangements for obtaining desired frequency or directional characteristics
    • H04R1/32Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only
    • H04R1/323Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only for loudspeakers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/04Details of speech synthesis systems, e.g. synthesiser structure or memory management
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2201/00Details of transducers, loudspeakers or microphones covered by H04R1/00 but not provided for in any of its subgroups
    • H04R2201/02Details casings, cabinets or mounting therein for transducers covered by H04R1/02 but not provided for in any of its subgroups
    • H04R2201/028Structural combinations of loudspeakers with built-in power amplifiers, e.g. in the same acoustic enclosure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2227/00Details of public address [PA] systems covered by H04R27/00 but not provided for in any of its subgroups
    • H04R2227/005Audio distribution systems for home, i.e. multi-room use

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Acoustics & Sound (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Otolaryngology (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

2개의 미디어 출력 디바이스들 사이에서 미디어 콘텐츠 디스플레이를 이동시키기 위한 방법이 구현된다. 서버 시스템은, 미디어 콘텐츠를 목적지 미디어 출력 디바이스로 전달하기 위한 사용자 음성 커맨드 및 목적지 미디어 출력 디바이스의 사용자 음성 지정을 포함하는 미디어 전달 요청을, 전자 디바이스에 의해 기록된 음성 메시지에서 결정한다. 이어서, 서버 시스템은, 미디어 플레이 애플리케이션, 플레이되고 있는 미디어 콘텐츠, 및 시간적인 위치의 정보를 포함하는 인스턴트 미디어 플레이 정보를 소스 캐스트 디바이스로부터 획득한다. 서버 시스템은 추가로, 사용자 도메인에서 전자 디바이스와 연관되고 목적지 미디어 출력 디바이스에 커플링된 목적지 캐스트 디바이스를 식별하고, 인스턴트 미디어 플레이 정보를 포함하는 미디어 플레이 요청을 목적지 캐스트 디바이스로 전송하고, 이로써 목적지 캐스트 디바이스가 시간적인 위치로부터 미디어 콘텐츠를 플레이하기 위한 미디어 플레이 애플리케이션을 실행할 수 있게 한다.

Description

미디어 출력 디바이스들 사이의 미디어 전달
[0001] 본 출원은 일반적으로, 스마트 미디어 환경에서 상이한 미디어 출력 디바이스들 사이에서 미디어 콘텐츠 전달을 개시하기 위해 음성-활성화 전자 디바이스를 사용하기 위한 방법들 및 시스템들을 포함하지만, 이들에 제한되지 않는 컴퓨터 기술에 관한 것이다.
[0002] 마이크로폰들에 통합된 전자 디바이스들은 사용자들로부터 음성 입력들을 수집하고 음성 입력들에 따라 상이한 음성-활성화 기능들을 구현하는 데 널리 사용되어 왔다. 예컨대, 많은 최신 기술의 모바일 디바이스들은, 전화 통화를 개시하고, 레스토랑 검색을 실시하고, 맵 상에서 라우팅을 시작하고, 캘린더 이벤트들을 생성하고, 포스트를 소셜 네트워크에 추가하고, 노래를 인식하고, 많은 다른 작업들을 완료하기 위해 음성 입력들을 사용하도록 구성된 음성 보조 시스템(예컨대, Siri 및 구글 어시스턴트)을 포함한다. 모바일 디바이스들은 종종, 음성 입력들을 제공하는 사용자들이 음성 입력들을 통해 요청된 작업들의 상태를 확인할 수 있게 하는 디스플레이 스크린들을 포함한다. 그러나, 상대적으로 간단한 구조를 가지며 저가로 제조된 전자 디바이스가 모바일 디바이스들과 유사한 음성-활성화 기능을 구현하기 위해 적용될 때, 디스플레이 스크린의 사용은 전자 디바이스의 비용을 상당히 증가시킬 것이다. 따라서, 하나 이상의 마이크로폰들을 포함하고 음성 인터페이스로서 기능하는 전자 디바이스에서 음성 입력 프로세싱의 상태를 나타내기 위한 간단하고 저가의 사용자 인터페이스를 사용할 필요가 있다.
[0003] 또한, 현재 모바일 디바이스들에서 구현되는 음성-활성화 기능들은 원격 서버들(예컨대, 검색 엔진, 소셜 네트워크 서버 또는 음성 보조 서버)를 수반하는 인터넷-기반 기능들로 제한된다. 음성-활성화 기능들의 결과들은 모바일 디바이스들 자체에 디스플레이되거나 모바일 디바이스들 자체를 제어하는 데 사용되고, 사용자가 액세스할 수 있는 임의의 다른 원격 또는 로컬 전자 디바이스들에는 영향을 주지 않는다. 음성 입력들이 사용자에게 편리하다면, 원격 서버들과 모바일 디바이스들 사이에서 제한된 인터넷-기반 기능들을 요청하는 것 이외에, 사용자가 음성 입력들을 사용하여 사용자가 액세스할 수 있는 다른 전자 디바이스들을 제어할 수 있게 하는 것이 유리하다.
[0004] 따라서, 전자 디바이스가 아이즈-프리(eyes-free) 및 핸즈-프리(hands-free) 음성 인터페이스를 제공하여, 다른 미디어 플레이 디바이스들 또는 스마트 미디어 또는 홈 환경 내에 커플링된 스마트 홈 디바이스들 상에서 음성-활성화 기능들을 활성화하는 그러한 스마트 미디어 환경 또는 스마트 홈 환경을 생성할 필요가 있다. 본 출원의 일부 구현들에서, 스마트 미디어 환경은 하나 이상의 음성-활성화 전자 디바이스들 및 별개의 위치에 각각 배치되고 캐스트 디바이스(예컨대, 셋톱 박스)에 커플링된 다수의 미디어 디스플레이 디바이스들을 포함한다. 각각의 음성-활성화 전자 디바이스는, 클라우드 캐스트 서비스 서버가 사용자 음성 요청(예컨대, 미디어 플레이 요청, 미디어 전달 요청 또는 폐쇄 자막 개시 요청)을 결정하는 음성 메시지를 기록하도록 구성된다. 이어서, 클라우드 캐스트 서비스 서버는, 음성 메시지로 표시된 바와 같이, 사용자 음성 요청을 목적지 캐스트 디바이스로 지향한다. 음성-활성화 전자 디바이스는 또한 대응하는 음성 프로세싱 상태를 나타내는 시각적인 패턴을 풀 컬러 LED들의 어레이를 통해 디스플레이하도록 구성된다. 스마트 홈 환경에서 음성-활성화 기능들을 구현하도록 스마트 홈 디바이스를 제어하기 위해 유사한 어레인지먼트가 사용될 수 있다. 이러한 방법들은 선택적으로, 스마트 미디어 또는 홈 환경에서 미디어 디바이스들 또는 스마트 홈 디바이스들을 제어하기 위해 원격 제어 또는 클라이언트 디바이스를 사용하도록 사용자에게 요구하는 종래의 방법들을 보완하거나 대체한다.
[0005] 본 출원의 일 양상에 따라, 방법은 음성 프로세싱 상태를 시각적으로 표시하기 위한 전자 디바이스에서 구현된다. 전자 디바이스는 풀 컬러 LED들의 어레이, 하나 이상의 마이크로폰들, 스피커, 프로세서 및 프로세서에 의한 실행을 위한 적어도 하나의 프로그램을 저장하는 메모리를 포함한다. 방법은, 전자 디바이스에 근접한 환경으로부터 오디오 입력들을 하나 이상의 마이크로폰들을 통해 수집하고, 오디오 입력들을 프로세싱하는 것을 포함한다. 프로세싱은 환경 내의 사용자로부터의 음성 입력들을 식별하는 것 및 이들에 응답하는 것 중 하나 이상을 포함한다. 방법은 복수의 미리 정의된 음성 프로세싱 상태들 중에서 프로세싱의 상태를 결정하는 것, 및 풀 컬러 LED들 각각에 대해, 결정된 음성 프로세싱 상태와 연관된 개개의 미리 결정된 LED 조명 규격을 식별하는 것을 더 포함한다. 조명 규격은 LED 조명 지속기간, 펄스 레이트, 듀티 사이클, 컬러 시퀀스 및 밝기 중 하나 이상을 포함한다. 방법은, 풀 컬러 LED들의 식별된 LED 조명 규격들에 따라, 결정된 음성 프로세싱 상태를 나타내는 시각적인 패턴을 제공하기 위해 풀 컬러 LED들의 어레이의 조명을 동기화하는 것을 더 포함한다.
[0006] 본 출원의 일 양상에 따라, 미디어 출력 디바이스 상에서 미디어 콘텐츠를 플레이하기 위해 프로세서에 의한 실행을 위한 적어도 하나의 프로그램을 저장하는 메모리 및 프로세서를 포함하는 서버 시스템에서 방법이 실행된다. 미디어 콘텐츠 플레이 방법은 전자 디바이스에 의해 기록된 음성 메시지를 수신하는 것, 및 음성 메시지가 제1 미디어 플레이 요청을 포함한다고 결정하는 것을 포함한다. 제1 미디어 플레이 요청은 목적지 미디어 출력 디바이스 상에 미디어 콘텐츠를 플레이하기 위한 사용자 음성 커맨드 및 미디어 출력 디바이스의 사용자 음성 지정(user voice designation )을 포함하고, 사용자 음성 커맨드는 적어도, 플레이될 필요가 있는 미디어 콘텐츠 및 제1 미디어 플레이 애플리케이션의 정보를 포함한다. 미디어 콘텐츠 플레이 방법은, 미디어 출력 디바이스의 음성 지정에 따라, 사용자 도메인에서 전자 디바이스와 연관되고 미디어 출력 디바이스에 커플링된 캐스트 디바이스를 (예컨대, 디바이스 레지스트리(registry) 내에서) 식별하는 것을 더 포함한다. 캐스트 디바이스는 하나 이상의 미디어 콘텐츠 호스트들로부터 수신된 미디어 콘텐츠를 플레이하기 위해 미디어 출력 디바이스를 제어하기 위해 하나 이상의 미디어 플레이 애플리케이션들을 실행하도록 구성된다. 미디어 콘텐츠 플레이 방법은, 플레이될 필요가 있는 미디어 콘텐츠 및 제1 미디어 플레이 애플리케이션의 정보를 포함하는 제2 미디어 플레이 요청을 캐스트 디바이스로 전송하는 것을 더 포함하며, 이로써 캐스트 디바이스가 미디어 콘텐츠를 플레이하도록 미디어 출력 디바이스를 제어하는 제1 미디어 플레이 애플리케이션을 실행할 수 있게 한다.
[0007] 본 출원의 다른 양상에 따라, 미디어 콘텐츠에 대한 폐쇄 자막들(CC)의 디스플레이를 음성에 의해 개시하기 위해 프로세서에 의한 실행을 위한 적어도 하나의 프로그램을 저장하는 메모리 및 프로세서를 포함하는 서버 시스템에서 방법이 실행된다. CC 디스플레이 미디어 방법은 전자 디바이스에 의해 기록된 음성 메시지를 수신하는 것, 및 음성 메시지가 제1 폐쇄 자막 개시 요청이라고 결정하는 것을 포함한다. 제1 폐쇄 자막 개시 요청은, 폐쇄 자막들을 개시하기 위한 사용자 음성 커맨드 및 폐쇄 자막들이 활성화되어야 하는 미디어 콘텐츠를 플레이하는 디스플레이 디바이스의 사용자 음성 지정을 포함한다. CC 디스플레이 방법은, 디스플레이 디바이스의 지정에 따라, 사용자 도메인에서 전자 디바이스와 연관되고 지정된 디스플레이 디바이스에 커플링된 캐스트 디바이스를 (예컨대, 디바이스 레지스트리에서) 식별하는 것을 더 포함한다. 캐스트 디바이스는, 미디어 콘텐츠 호스트로부터 수신된 미디어 콘텐츠를 디스플레이하도록, 지정된 디스플레이 디바이스를 제어하기 위해 미디어 플레이 애플리케이션을 실행하도록 구성된다. CC 디스플레이 방법은, 지정된 디스플레이 디바이스에 커플링된 캐스트 디바이스에 제2 폐쇄 자막 개시 요청을 전송하는 것을 더 포함하며, 이로써 캐스트 디바이스가, 지정된 디스플레이 디바이스 상에 현재 디스플레이되는 미디어 콘텐츠의 폐쇄 자막들을 턴 온하고 제2 폐쇄 자막 개시 요청에 따라 폐쇄 자막들을 디스플레이하도록 지정된 디스플레이 디바이스를 제어하는 미디어 플레이 애플리케이션을 실행할 수 있게 한다.
[0008] 본 출원의 다른 양상에 따라, 소스 미디어 출력 디바이스로부터 목적지 미디어 출력 디바이스로 미디어 콘텐츠 디스플레이를 이동시키기 위해 프로세서에 의한 실행을 위한 적어도 하나의 프로그램을 저장하는 메모리 및 프로세서를 포함하는 서버 시스템에서 방법이 실행된다. 미디어 전달 방법은 전자 디바이스에 의해 기록된 음성 메시지를 수신하는 것, 및 음성 메시지가 미디어 전달 요청을 포함한다고 결정하는 것을 포함한다. 미디어 전달 요청은, 플레이되는 미디어 콘텐츠를 목적지 미디어 출력 디바이스로 전달하기 위한 사용자 음성 커맨드 및 목적지 미디어 출력 디바이스의 사용자 음성 지정을 포함한다. 미디어 전달 방법은, 현재 플레이되고 있는 미디어 콘텐츠의 인스턴트 미디어 플레이 정보를 소스 캐스트 디바이스로부터 획득하는 것을 더 포함한다. 인스턴트 플레이 정보는 적어도, 제1 미디어 플레이 애플리케이션, 현재 플레이되고 있는 미디어 콘텐츠, 및 미디어 콘텐츠의 플레이와 연관된 시간적인 위치의 정보를 포함한다. 미디어 전달 방법은, 목적지 미디어 출력 디바이스의 음성 지정에 따라, 사용자 도메인에서 전자 디바이스와 연관되고 목적지 미디어 출력 디바이스에 커플링된 목적지 캐스트 디바이스를 (예컨대, 디바이스 레지스트리에서) 식별하는 것을 더 포함하고, 목적지 캐스트 디바이스는 하나 이상의 미디어 콘텐츠 호스트들로부터 수신된 미디어 콘텐츠를 플레이하도록 목적지 미디어 출력 디바이스를 제어하기 위해 하나 이상의 미디어 플레이 애플리케이션들을 실행하도록 구성된다. 미디어 전달 방법은, 인스턴트 미디어 플레이 정보를 포함하는 미디어 플레이 요청을 목적지 캐스트 디바이스로 전송하는 것을 더 포함하고, 이로써 목적지 캐스트 디바이스가, 시간적인 위치로부터 미디어 콘텐츠를 플레이하도록 목적지 미디어 출력 디바이스를 제어하는 제1 미디어 플레이 애플리케이션을 실행할 수 있게 한다.
[0009] 일부 구현들에 따라, 캐스트 디바이스는 위에 설명된 방법들 중 임의의 방법의 동작들을 수행하기 위한 수단을 포함한다.
[0010] 설명된 다양한 구현들을 더 잘 이해하기 위해, 다음의 도면들과 함께, 아래의 구현 설명에 대해 참조가 이루어져야 하고, 도면들에서 유사한 참조 번호들은 도면들 전반에 걸쳐 대응하는 부분들을 나타낸다.
[0011] 도 1은 일부 구현들에 따른 예시적인 스마트 미디어 환경이다.
[0012] 도 2a는 일부 구현들에 따른, 음성-활성화 전자 디바이스가 스마트 미디어 환경의 캐스트 디바이스, 클라이언트 디바이스 또는 서버 시스템과 상호작용하는 예시적인 동작 환경이다.
[0013] 도 2b는 도 2a에 도시된 제어 경로 B에 따라 캐스트 디바이스 및 그와 연관된 미디어 플레이 활동들을 제어하는 미디어 플레이 제어 프로세스의 예시적인 흐름도이다.
[0014] 도 3은 일부 구현들에 따른, 캐스트 디바이스들이 스마트 미디어 환경의 클라이언트 디바이스, 음성-활성화 전자 디바이스들 또는 서버 시스템과 상호작용하는 다른 예시적인 동작 환경이다.
[0015] 도 4a 및 4b는 일부 구현들에 따른 음성-활성화 전자 디바이스의 정면도 및 후면도이다.
[0016] 도 4c는 일부 구현들에 따른, 전자 디바이스(190)의 베이스에 포함된, 개방 구성의 스피커들을 도시하는, 음성-활성화 전자 디바이스(190)의 사시도이다.
[0017] 도 4d 및 4e는, 일부 구현들에 따른, 그 안에 포함되는 전자 컴포넌트들을 각각 도시하는, 음성-활성화 전자 디바이스의 측면도 및 확대도이다.
[0018] 도 4f(1)-4f(4)는 일부 구현들에 따른, 음성-활성화 전자 디바이스의 터치 감지 어레이 상에서 검출된 4번의 터치 이벤트들을 도시한다.
[0019] 도 4f(5)는 일부 구현들에 따른, 사용자가 음성-활성화 전자 디바이스의 후방측 상의 버튼을 누르는 것을 도시한다.
[0020] 도 4g는 일부 구현들에 따른 음성-활성화 전자 디바이스의 상면도이고, 도 4h는 일부 구현들에 따른, 음성 프로세싱 상태들을 나타내기 위한 풀 컬러 LED들의 어레이에 의해 디스플레이되는 6개의 예시적인 시각적인 패턴들을 도시한다.
[0021] 도 5는 일부 구현들에 따른, 스마트 미디어 환경에서 사용자 음성 커맨드들을 수집하기 위해 음성 인터페이스로서 적용되는 예시적인 전자 디바이스를 예시하는 블록도이다.
[0022] 도 6은 일부 구현들에 따른, 스마트 미디어 환경에서 미디어 콘텐츠의 디스플레이의 자동 제어를 위해 적용되는 예시적인 캐스트 디바이스를 예시하는 블록도이다.
[0023] 도 7은 일부 구현들에 따른 스마트 미디어 환경의 서버 시스템(140) 내의 예시적인 서버를 예시하는 블록도이다. 예시적인 서버는 클라우드 캐스트 서비스 서버 중 하나이다.
[0024] 도 8은 일부 구현들에 따른, 스마트 미디어 환경에서 미디어 디스플레이의 자동 제어를 위해 적용되는 예시적인 클라이언트 디바이스를 예시하는 블록도이다.
[0025] 도 9는 일부 구현들에 따른, 스마트 미디어 환경에서 예시적인 스마트 홈 디바이스를 예시하는 블록도이다.
[0026] 도 10은 일부 구현들에 따른, 음성 프로세싱 상태를 시각적으로 나타내는 방법을 예시하는 흐름도이다.
[0027] 도 11은 일부 구현들에 따른, 음성에 의한 미디어 콘텐츠에 대한 폐쇄 자막들의 디스플레이를 개시하는 방법을 예시하는 흐름도이다.
[0028] 도 12는 일부 구현들에 따른, 미디어 출력 디바이스 상의 미디어 콘텐츠의 플레이를 음성에 의해 개시하는 방법을 예시하는 흐름도이다.
[0029] 도 13은 일부 구현들에 따른, 소스 미디어 출력 디바이스로부터 목적지 미디어 출력 디바이스로 미디어 콘텐츠의 플레이를 이동시키는 방법을 예시하는 흐름도이다.
[0030] 유사한 참조 번호들은 도면들 중 몇몇의 도면들 전반에 걸쳐 대응하는 부분들을 나타낸다.
[0031] 디지털 혁명이 개방적으로 정보를 공유하는 것에서부터 글로벌 커뮤니티의 의미에 이르는 많은 이익들을 제공하고 있지만, 부상하는 새로운 기술은 종종 소비자들 사이에서 혼란, 회의론(skepticism) 및 공포감을 유발하여, 소비자들이 그 기술로부터 이익을 얻는 것을 방해한다. 전자 디바이스들은, 사용자들로부터 음성 입력들을 수신하고, 음성-활성화 기능들을 개시하기 위해 음성 인터페이스들로서 편리하게 사용되고, 이로써 기존의 기술 및 부상하는 기술 둘 모두에 접근하기 위한 아이즈-프리 및 핸즈-프리 솔루션들을 제공한다. 구체적으로, 전자 디바이스에서 수신된 음성 입력들은, 사용자의 시야가 가려지고 자신의 손들이 가득 차더라도, 명령들 및 정보를 전달할 수 있다. 핸즈-프리 및 아이즈-프리 경험을 가능하게 하기 위해, 음성-활성화 전자 디바이스는 끊임없이 또는 트리거링될 때에만 주변(ambient)을 청취(즉, 주변으로부터 수집된 오디오 신호들을 프로세싱)한다. 반면에, 사용자 아이덴티티들은 사용자의 음성 및 사용자가 사용하는 언어와 링크된다. 사용자 아이덴티티들을 보호하기 위해, 음성-활성화 전자 디바이스들은, 보호되고 제어되는 비공개 장소들 및 친숙한 공간들(예컨대, 집 및 자동차)에서 정상적으로 사용된다.
[0032] 본 발명의 일부 구현들에 따라, 음성-활성화 전자 디바이스는 풀 컬러 발광 다이오드(LED)들의 어레이를 포함한다. 전자 디바이스가 하나 이상의 마이크로폰들로부터 수집된 오디오 입력들을 프로세싱하는 동안, 풀 LED들의 어레이는 프로세싱의 상태에 따라 결정된 LED 조명 규격들에 따라 시각적인 패턴을 제공하도록 조명된다. 풀 컬러 LED들의 어레이는, 음성 프로세싱 상태(예컨대, 핫 워드 검출, 청취, 사고 및 말하기)에 각각 대응하는 복수의 시각적인 패턴들을 제공하도록 구성된다. 시각적인 패턴들을 생성하는 데 사용되는 이러한 LED 설계 언어는, 사용자 혼동, 우려 및 불안의 문제를 적어도 부분적으로 해결하고, 대응하는 음성 인터페이스 경험에 대한 이해, 채택 및 즐거움을 촉진하기 위해 적용된다.
[0033] 또한, 본 발명의 일부 구현들에 따라, 음성-활성화 전자 디바이스는, 디스플레이 디바이스들 상의 비디오 플레이백을 개시하고 제어하기 위해, 음성 입력들을 사용한다. 구체적으로, 서버 시스템(예컨대, 클라우드 캐스트 서비스 서버)은 음성-활성화 전자 디바이스에 의해 기록된 음성 메시지를 수신하고, 음성 메시지가 미디어 콘텐츠를 미디어 출력 디바이스(선택적으로 음성-활성화 전자 디바이스 자체를 포함함) 상에서 플레이하기 위한 사용자 음성 커맨드 및 미디어 출력 디바이스의 사용자 음성 지정을 더 포함하는 미디어 플레이 요청을 포함한다고 결정한다. 사용자 음성 커맨드는 적어도, 플레이될 필요가 있는 미디어 콘텐츠 및 제1 미디어 플레이 애플리케이션의 정보를 포함한다. 미디어 출력 디바이스의 음성 지정에 따라, 서버 시스템은, 사용자 도메인에서 전자 디바이스와 연관되고 미디어 출력 디바이스에 커플링된 캐스트 디바이스를 식별하고, 캐스트 디바이스는 하나 이상의 미디어 콘텐츠 호스트들로부터 수신된 미디어 콘텐츠를 플레이하도록 미디어 출력 디바이스를 제어하기 위해 하나 이상의 미디어 플레이 애플리케이션들을 실행하도록 구성된다. 이어서, 서버 시스템은 플레이될 필요가 있는 미디어 콘텐츠 및 제1 미디어 플레이 애플리케이션의 정보를 캐스트 디바이스로 전송하고, 이로써 캐스트 디바이스가 미디어 콘텐츠를 플레이하도록 미디어 출력 디바이스를 제어하는 제1 미디어 플레이 애플리케이션을 실행할 수 있게 한다.
[0034] 일부 구현들에서, 미디어 콘텐츠가 미디어 출력 디바이스 상에 디스플레이되는 동안, 음성-활성화 전자 디바이스는, 원격 제어 또는 제2 스크린 디바이스(예컨대, 모바일 폰, 태블릿 컴퓨터 및 랩톱 컴퓨터)와의 임의의 사용자 상호작용을 수반하지 않고서, 사용자가 TV 상에 자막들을 턴 온하고 턴 오프하기 위해 자신들의 음성을 사용할 수 있게 한다. 구체적으로, 서버 시스템은, 폐쇄 자막들을 개시하기 위한 사용자 음성 커맨드 및 폐쇄 자막들이 활성화되어야 하는 미디어 콘텐츠를 플레이하는 디스플레이 디바이스의 사용자 음성 지정을 포함하는 제1 폐쇄 자막 개시 요청을, 음성 메시지로부터 결정하도록 구성된다. 사용자 도메인에서 전자 디바이스와 연관되고 지정된 디스플레이 디바이스에 커플링된 캐스트 디바이스를 식별한 후, 서버 시스템은 제2 폐쇄 자막 개시 요청을 캐스트 디바이스로 전송하고, 이로써 캐스트 디바이스가, 지정된 디스플레이 디바이스 상에 현재 디스플레이되는 미디어 콘텐츠의 폐쇄 자막들을 턴 온하고 제2 폐쇄 자막 개시 요청에 따라 폐쇄 자막들을 디스플레이하도록, 지정된 디스플레이 디바이스를 제어하는 미디어 플레이 애플리케이션을 실행할 수 있게 한다.
[0035] 또한, 본 발명의 일부 구현들에 따라, 미디어 콘텐츠가 제1 미디어 출력 디바이스 상에 디스플레이되는 동안, 음성-활성화 전자 디바이스는, 사용자가 제1 미디어 출력 디바이스로부터 제2 미디어 출력 디바이스로의 미디어 콘텐츠의 미디어 전달을 개시하기 위해 자신들의 음성을 사용할 수 있게 한다. 전달은, 적어도 제1 미디어 출력 디바이스 상에서 플레이된 미디어 콘텐츠의 정확한 포인트에서 미디어 콘텐츠를 제2 미디어 출력 디바이스 상에서 재개함으로써 대응하는 미디어 플레이 상태를 유지한다.
[0036] 구체적으로, 서버 시스템은, 플레이되고 있는 미디어 콘텐츠를 목적지 미디어 출력 디바이스로 전달하기 위한 사용자 음성 커맨드 및 목적지 미디어 출력 디바이스의 사용자 음성 지정을 포함하는 미디어 전달 요청을 음성 메시지로부터 결정하도록 구성된다. 이어서, 서버 시스템은 소스 캐스트 디바이스로부터 현재 플레이되고 있는 미디어 콘텐츠의 인스턴트 미디어 플레이 정보를 획득하고, 인스턴트 플레이 정보는 적어도, 제1 미디어 플레이 애플리케이션, 현재 플레이되고 있는 미디어 콘텐츠, 및 미디어 콘텐츠의 플레이에 관련된 시간적인 위치의 정보를 포함한다. 사용자 도메인에서 전자 디바이스와 연관되고 지정된 디스플레이 디바이스에 커플링된 목적지 캐스트 디바이스를 식별한 후, 서버 시스템은 인스턴트 미디어 플레이 정보를 포함하는 미디어 플레이 요청을 목적지 캐스트 디바이스로 전송하고, 이로써 목적지 캐스트 디바이스가, 시간적인 위치로부터 미디어 콘텐츠를 플레이하도록 목적지 미디어 출력 디바이스를 제어하는 제1 미디어 플레이 애플리케이션을 실행할 수 있게 한다. 일부 구현들에서, 목적지 캐스트 디바이스는 디바이스 레지스트리에서 식별된다.
[0037] 이제, 구현들에 대한 참조가 상세하게 이루어질 것이며, 이들 구현들의 예들은 첨부된 도면들에 예시된다. 다음의 상세한 설명에서는, 다양한 설명된 구현들의 완전한 이해를 제공하기 위해, 많은 특정 세부사항들이 기재된다. 그러나, 다양한 설명된 구현들이 이들 특정 세부사항들 없이도 실시될 수 있다는 것이 당업자에게 자명할 것이다. 다른 예시들에서, 잘-알려진 방법들, 절차들, 컴포넌트들, 회로들, 및 네트워크들은, 구현들의 양상들을 불필요하게 불명료하게 하지 않기 위해 상세히 설명되지 않는다.
스마트 미디어/홈 환경
[0038] 도 1은 일부 구현들에 따른 예시적인 스마트 미디어 환경(100)이다. 스마트 미디어 환경(100)은 다양한 통합 디바이스들을 갖는 구조(150)(예컨대, 집, 사무실 빌딩, 차고 또는 모바일 홈)를 포함한다. 디바이스들이 또한 아파트, 콘도미니엄 또는 사무실 공간과 같은 전체 구조(150)를 포함하지 않는 스마트 미디어 환경(100)에 통합될 수 있음이 인식될 것이다. 도시된 구조(150)는 벽들(154)을 통해 서로 적어도 부분적으로 분리된 복수의 방들(152)을 포함한다. 벽들(154)은 내부 벽들 또는 외부 벽들을 포함할 수 있다. 각각의 방은 바닥(156) 및 천장(158)을 더 포함할 수 있다.
[0039] 하나 이상의 미디어 디바이스들은, 로컬 콘텐츠 소스에 저장되거나 원격 콘텐츠 소스(예컨대, 콘텐츠 호스트(들)(114))로부터 스트리밍되는 미디어 콘텐츠를 제공하기 위해 스마트 미디어 환경(100)에 배치된다. 미디어 디바이스들은 2개의 카테고리들: 시청자에게 미디어 콘텐츠를 직접 출력하는 미디어 출력 디바이스들(106), 및 미디어 콘텐츠를 미디어 출력 디바이스들(108)로 스트리밍하기 위해 네트워크화된 캐스트 디바이스들(108)로 분류될 수 있다. 미디어 출력 디바이스들(106)의 예들은 텔레비전(TV) 디스플레이 디바이스들 및 음악 플레이어들을 포함하지만, 이에 제한되지는 않는다. 캐스트 디바이스들(108)의 예들은 셋톱 박스(STB)들, DVD 플레이어들 및 TV 박스들을 포함하지만, 이에 제한되지는 않는다. 예시적인 스마트 미디어 환경(100)에서, 미디어 출력 디바이스들(106)은 하나 초과의 위치에 배치되고, 각각의 미디어 출력 디바이스(106)는 개개의 캐스트 디바이스(108)에 커플링되거나, 임베딩된 캐스팅 유닛을 포함한다. 미디어 출력 디바이스(106-1)는, DVD 플레이어 또는 셋톱 박스(108-1)에 하드 와이어링된 TV 디스플레이를 포함한다. 미디어 출력 디바이스(106-2)는, 자신의 시청자에게 디스플레이하기 위한 미디어 콘텐츠를 스트리밍하기 위해 임베딩된 캐스팅 유닛을 통합하는 스마트 TV 디바이스를 포함한다. 미디어 출력 디바이스(106-3)는 TV 박스(108-3)(예컨대, 구글 TV 또는 애플 TV 제품들)에 커플링된 일반 TV 디스플레이를 포함하고, 이러한 TV 박스(108-3)는 미디어 콘텐츠 호스트 서버(114)로부터 수신되는 미디어 콘텐츠를 스트리밍하고, 인터넷-기반 콘텐츠를 미디어 출력 디바이스(106-3) 상에 디스플레이하기 위해 인터넷에 대한 액세스를 제공한다.
[0040] 미디어 디바이스들(106 및 108) 이외에, 하나 이상의 전자 디바이스들(190)은, 미디어 디바이스들의 다양한 미디어 플레이 기능들을 개시하기 위한 오디오 입력들을 수집하기 위해 스마트 미디어 환경(100)에 배치된다. 일부 구현들에서, 이러한 음성-활성화 전자 디바이스들(190)(예컨대, 디바이스들(190-1, 190-2 및 190-3))은 미디어 디바이스에 근접하게, 예컨대, 캐스트 디바이스들(108) 및 미디어 출력 디바이스들(106)과 동일한 방에 배치된다. 대안적으로, 일부 구현들에서, 음성-활성화 전자 디바이스(190-4)는 임의의 미디어 디바이스가 아니라 하나 이상의 스마트 홈 디바이스들을 갖는 방에 배치된다. 대안적으로, 일부 구현들에서, 음성-활성화 전자 디바이스(190)는 네트워크화된 전자 디바이스를 갖지 않는 위치에 배치된다.
[0041] 전자 디바이스(190)는 적어도 하나 이상의 마이크로폰들, 스피커, 프로세서 및 프로세서에 의한 실행을 위한 적어도 하나의 프로그램을 저장하는 메모리를 포함한다. 스피커는, 전자 디바이스(190)가 스마트 미디어 환경(100)에 위치되는 위치로 전자 디바이스(190)가 음성 메시지들을 전달할 수 있도록 구성되고, 이로써 음악을 브로드캐스팅하고, 오디오 입력 프로세싱의 상태를 보고하고, 전자 디바이스(190)의 사용자와 대화를 하거나 이에 명령들을 제공한다. 음성 메시지들에 대한 대안으로서, 시각적인 신호들은 또한 오디오 입력 프로세싱의 상태에 관한 피드백을 전자 디바이스(190)의 사용자에게 제공하기 위해 사용될 수 있다. 전자 디바이스(190)가 종래의 모바일 디바이스(예컨대, 모바일 폰 또는 태블릿 컴퓨터)일 때, 그의 디스플레이 스크린은 오디오 입력 프로세싱의 상태에 관한 통지를 디스플레이하도록 구성된다.
[0042] 일부 구현들에 따라, 전자 디바이스(190)는, 클라우드 캐스트 서비스 서버(116) 및/또는 음성 보조 서버(112)의 도움으로 음성 인식 기능들을 제공하도록 네트워크-연결된 음성 인터페이스 디바이스이다. 예컨대, 전자 디바이스(190)는, 사용자에게 음악을 제공하고, 음성 보조 서비스(예컨대, 구글 어시스턴트)에 대한 아이즈-프리 및 핸즈-프리 액세스를 허용하는 스마트 스피커를 포함한다. 선택적으로, 전자 디바이스(190)는 데스크톱 또는 랩톱 컴퓨터, 태블릿, 및 마이크로폰을 포함하는 모바일 폰 중 하나이다. 선택적으로, 전자 디바이스(190)는 간단하고 저가의 음성 인터페이스 디바이스이다. 전자 디바이스(190)의 간소함 및 저비용이 주어지면, 전자 디바이스(190)는 풀 디스플레이 스크린보다는 풀 컬러 발광 다이오드(LED)들의 어레이를 포함하고, 오디오 입력 프로세싱의 상태를 나타내기 위한 시각적인 패턴을 풀 컬러 LED들 상에 디스플레이한다.
[0043] 전자 디바이스(190)로부터의 음성 입력들이 캐스트 디바이스들(108)을 통해 미디어 출력 디바이스들(106)을 제어하는 데 사용될 때, 전자 디바이스(190)는 캐스트-인에이블 미디어 디바이스들의 새로운 레벨의 제어를 효과적으로 가능하게 한다. 특정 예에서, 전자 디바이스(190)는 원거리 음성 액세스를 갖는 캐주얼 엔조이먼트 스피커(casual enjoyment speaker)를 포함하고, 구글 어시스턴트를 위한 음성 인터페이스 디바이스로서 기능한다. 전자 디바이스(190)는 스마트 미디어 환경(100)의 임의의 방에 배치될 수 있다. 다수의 전자 디바이스들(190)이 다수의 방들에 분배될 때, 그들은 모든 이들 방들로부터 음성 입력들을 제공하도록 동기되는 캐스트 오디오 수신기들이 된다.
[0044] 구체적으로, 일부 구현들에서, 전자 디바이스(190)는, 음성-활성화된 개인 보조 서비스(예컨대, 구글 어시스턴트)에 연결된 마이크로폰을 갖는 WiFi 스피커를 포함한다. 사용자는 전자 디바이스(190)의 마이크로폰을 통해 미디어 플레이 요청을 발행하고, 전자 디바이스(190) 자체 또는 다른 연결된 미디어 출력 디바이스(106) 상에서 미디어 콘텐츠를 플레이하도록 개인 보조 서비스에 요청할 수 있다. 예컨대, 사용자는 WiFi 스피커에 "오케이 구글, 내 거실 TV에 고양이 비디오들을 플레이"하라고 말함으로써 미디어 플레이 요청을 발행할 수 있다. 이어서, 개인 보조 서비스는, 디폴트 또는 지정된 미디어 애플리케이션을 사용하여, 요청한 미디어 콘텐츠를 요청된 디바이스 상에서 플레이함으로써 미디어 플레이 요청을 수행한다.
[0045] 사용자는 또한, 이미 디스플레이 디바이스 상에서 플레이된 미디어 콘텐츠에 관하여 전자 디바이스(190)의 마이크로폰을 통해 음성 요청을 할 수 있다. 일부 구현들에서, 원격 제어가 없거나 제2 스크린 디바이스가 사용자에게 이용 가능할 때, 현재 디스플레이되는 미디어 콘텐츠의 폐쇄 자막들은 음성에 의해 디스플레이 디바이스 상에서 개시 또는 비활성화된다. 따라서, 사용자는, 물리적인 사용자 인터페이스를 갖는 임의의 다른 디바이스를 수반하지 않고서, 아이즈-프리 및 핸즈-프리 음성-활성화 전자 디바이스(190)를 통해 디스플레이 디바이스 상에 폐쇄 자막들을 턴 온할 수 있고, 그러한 음성-활성화 전자 디바이스(190)는 청각 장애를 갖는 사용자들에 대해 연방 접근성 요건들(federal accessibility requirements)을 충족시킨다.
[0046] 일부 구현들에서, 사용자는, 그들이 집을 통해 이동할 때 그들과의 현재의 미디어 세션을 취하기를 원할 수 있다. 이것은, 제1 캐스트 디바이스로부터, 제1 캐스트 디바이스에 직접 연결되지 않거나 제1 캐스트 디바이스의 존재에 대한 지식이 없는 제2 캐스트 디바이스로 현재 미디어 세션을 전달하도록 개인 보조 서비스에 요구한다. 미디어 콘텐츠 전달에 후속하여, 제2 캐스트 디바이스(108)에 커플링된 제2 출력 디바이스(106)는, 제1 출력 디바이스(106) 상의 미디어 콘텐츠의 플레이가 중지된 음악 트랙 또는 비디오 클립 내의 정확한 포인트로부터, 제1 캐스트 디바이스(108)에 커플링된 제1 출력 디바이스(106)에서의 이전 미디어 콘텐츠를 계속해서 플레이한다.
[0047] 일부 구현들에서, 미디어 디바이스들(예컨대, 출력 디바이스들(106) 및 캐스트 디바이스들(108)) 및 음성-활성화 전자 디바이스들(190) 이외에, 스마트 홈 디바이스들은 또한 스마트 미디어 환경(100)(이는 또한 스마트 홈 디바이스들의 존재에 관점에서 광범위하게 스마트 홈 환경으로 불림)의 벽(154), 바닥(156) 또는 천장(158)에 장착되고 이에 통합되고 그리고/또는 이에 의해 지지될 수 있다. 통합된 스마트 홈 디바이스들은, 다양한 유용한 스마트 홈 기능들을 제공하기 위해, 스마트 홈 네트워크에서 서로와 및/또는 중앙 서버 또는 클라우드 컴퓨팅 시스템과 무결절로(seamlessly) 통합되는 지능형, 다중-감지, 네트워크-연결 디바이스들을 포함한다. 일부 구현들에서, 스마트 홈 디바이스는 캐스트 디바이스(108) 및/또는 출력 디바이스(106)와 스마트 홈 환경(100)의 동일한 위치에 배치되고, 따라서 캐스트 디바이스(108) 및 출력 디바이스(106)에 근접하게 또는 그들에 대해 알려진 거리에 위치된다.
[0048] 스마트 미디어 환경(100)의 스마트 홈 디바이스들은 하나 이상의 지능형, 다중-감지, 네트워크-연결 서모스탯들(thermostats)(122), 하나 이상의 지능형, 네트워크-연결 다중-감지 위험 검출기들(124), 하나 이상의 지능형, 다중-감지, 네트워크-연결 입구 인터페이스 디바이스들(126 및 128)(이후에 "스마트 도어벨들(126)" 및 "스마트 도어 록들(128)"로 지칭됨), 하나 이상의 지능형, 다중-감지, 네트워크-연결 경보 시스템들(130), 하나 이상의 지능형, 다중-감지, 네트워크-연결 카메라 시스템들(132), 및 하나 이상의 지능형, 다중-감지, 네트워크-연결 벽 스위치들(136)을 포함할 수 있지만, 이에 제한되지 않는다. 일부 구현들에서, 도 1의 스마트 미디어 환경(100) 내의 스마트 홈 디바이스들은 복수의 지능형, 다중-감지, 네트워크-연결 어플라이언스들(138)(이하에 "스마트 어플라이언스들(138)"로 지칭됨), 이를테면, 냉장고들, 난로들, 오븐들, 텔레비전들, 세탁기들, 건조기들, 조명들, 스테레오들, 인터콤(intercom) 시스템들, 차고-문 개폐기들, 바닥 선풍기들, 천장 선풍기들, 벽 에어 컨디셔너들, 풀 히터들, 관개(irrigation) 시스템들, 보안 시스템들, 스페이스 히터들, 윈도우 AC 유닛들, 동력 환기구들(motorized duct vents) 등을 포함한다.
[0049] 스마트 미디어 환경(100)의 스마트 홈 디바이스들은 부가적으로 또는 대안적으로 하나 이상의 다른 점유(occupancy) 센서들(예컨대, 터치 스크린들, IR 센서들, 주변 광 센서들 및 모션 검출기들)을 포함할 수 있다. 일부 구현들에서, 스마트 미디어 환경(100)의 스마트 홈 디바이스들은, 점유자들(occupants) 상에 위치되거나 그에 임베딩된 RFID(radio-frequency identification) 태그들에 기반하여 점유를 결정하는 (예컨대, 각각의 방(152) 또는 그의 일부에 있는) RFID 판독기들을 포함한다. 예컨대, RFID 판독기들은 스마트 위험 검출기들(104)에 통합될 수 있다.
[0050] 일부 구현들에서, 감지 능력들을 포함하는 것 이외에도, 디바이스들(122, 124, 126, 128, 130, 132, 136 및 138)(총괄적으로 "스마트 홈 디바이스들" 또는 "스마트 홈 디바이스들(120)"로 지칭됨)은 다른 스마트 홈 디바이스들, 중앙 서버 또는 클라우드-컴퓨팅 시스템 및/또는 네트워크-연결된 다른 디바이스들(예컨대, 클라이언트 디바이스(104), 캐스트 디바이스들(108) 및 음성-활성화 전자 디바이스들(190))과의 데이터 통신 및 정보 공유가 가능하다. 유사하게, 캐스트 디바이스들(108) 및 음성-활성화 전자 디바이스들(190) 각각은 또한 다른 캐스트 디바이스들(108), 음성-활성화 전자 디바이스들(190), 스마트 홈 디바이스들, 중앙 서버 또는 클라우드-컴퓨팅 시스템(140), 및/또는 네트워크-연결된 다른 디바이스들(예컨대, 클라이언트 디바이스(104))과의 데이터 통신들 및 정보 공유가 가능하다. 데이터 통신들은 다양한 커스텀 또는 표준 무선 프로토콜들(예컨대, IEEE 802.15.4, Wi-Fi, ZigBee, 6LoWPAN, Thread, Z-Wave, Bluetooth Smart, ISA100.11a, WirelessHART, MiWi 등) 중 임의의 것 및/또는 다양한 커스텀 또는 표준 유선 프로토콜들(예컨대, 이더넷, HomePlug 등) 중 임의의 것, 또는 본 문서의 출원일에 아직 개발되지 않은 통신 프로토콜을 포함하는 임의의 다른 적합한 통신 프로토콜을 사용하여 수행될 수 있다.
[0051] 일부 구현들에서, 캐스트 디바이스들(108), 전자 디바이스들(190) 및 스마트 홈 디바이스들은 무선 또는 유선 중계기들로서 역할을 한다. 일부 구현들에서, 캐스트 디바이스들(108) 중 제1 캐스트 디바이스는 무선 라우터를 통해 캐스트 디바이스들(108) 중 제2 캐스트 디바이스 및 스마트 홈 디바이스들과 통신한다. 캐스트 디바이스들(108), 전자 디바이스들(190) 및 스마트 홈 디바이스들은 또한 인터넷(110)과 같은 네트워크로의 연결(예컨대, 네트워크 인터페이스(160))을 통해 서로 통신할 수 있다. 인터넷(110)을 통해, 캐스트 디바이스들(108), 전자 디바이스들(190) 및 스마트 홈 디바이스들은 스마트 서버 시스템(140)(본원에서 중앙 서버 시스템 및/또는 클라우드 컴퓨팅 시스템이라 또한 불림)과 통신할 수 있다. 선택적으로, 스마트 서버 시스템(140)은 캐스트 디바이스들(108) 및 사용자에게 디스플레이된 미디어 콘텐츠와 연관된 제조자, 지원 엔티티, 또는 서비스 제공자와 연관될 수 있다.
[0052] 따라서, 스마트 서버 시스템(140)은, 음성-활성화 전자 디바이스에 의해 수집된 오디오 입력들을 프로세싱하는 음성 보조 서버(112), 디스플레이되는 미디어 콘텐츠를 제공하는 하나 이상의 콘텐츠 호스트들(104), 분산된 디바이스 단말들에 기반하여 가상 사용자 도메인을 생성하는 클라우드 캐스트 서비스 서버(116), 및 분산된 디바이스 단말들의 기록을 가상 사용자 환경에서 유지하는 디바이스 레지스트리(118)를 포함할 수 있다. 분산된 디바이스 단말들의 예들은 캐스트 디바이스들(108), 미디어 출력 디바이스들(106), 전자 디바이스들(190) 및 스마트 홈 디바이스들을 포함하지만, 이에 제한되지는 않는다. 일부 구현들에서, 이러한 분산된 디바이스 단말들은 가상 사용자 도메인에서 사용자 계정(예컨대, 구글 사용자 계정)에 링크된다.
[0053] 일부 구현들에서, 네트워크 인터페이스(160)는 종래의 네트워크 디바이스(예컨대, 라우터)를 포함한다. 도 1의 스마트 미디어 환경(100)은 직접적으로 또는 네트워크 인터페이스(160)를 통해 네트워크(들)(110)에 통신 가능하게 커플링된 허브 디바이스(180)를 더 포함한다. 허브 디바이스(180)는 또한 위의 지능형, 다중-감지, 네트워크-연결 디바이스들(예컨대, 캐스트 디바이스들(108), 전자 디바이스들(190), 스마트 홈 디바이스들 및 클라이언트 디바이스(104)) 중 하나 이상에 통신 가능하게 커플링된다. 이들 네트워크-연결 디바이스들 각각은 선택적으로 적어도 스마트 미디어 환경(100)에서 이용 가능한 하나 이상의 라디오 통신 네트워크들(예컨대, ZigBee, Z-Wave, Insteon, Bluetooth, Wi-Fi 및 다른 라디오 통신 네트워크들)을 사용하여 허브 디바이스(180)와 통신한다. 일부 구현들에서, 허브 디바이스(180) 및 허브 디바이스와/에 커플링된 디바이스들은 스마트 폰, 가정용 제어기, 랩톱, 태블릿 컴퓨터, 게임 콘솔 또는 유사한 전자 디바이스 상에서 실행되는 애플리케이션을 통해 제어되고 및/또는 이와 상호작용할 수 있다. 일부 구현들에서, 그러한 제어기 애플리케이션의 사용자는 허브 디바이스 또는 커플링된 네트워크-연결 디바이스들의 상태를 보고, 홈 네트워크에 새롭게 도입된 디바이스들과 상호 운용하도록 허브 디바이스를 구성하고, 새로운 디바이스들을 커미셔닝(commission)하고, 연결된 디바이스들의 설정들을 조정하거나 볼 수 있는 식이다.
[0054] 도 2a는 일부 구현들에 따른, 음성-활성화 전자 디바이스(190)가 스마트 미디어 환경(100)의 캐스트 디바이스(108), 클라이언트 디바이스(104) 또는 서버 시스템(140)과 상호작용하는 예시적인 동작 환경이다. 음성-활성화 전자 디바이스(190)는 음성-활성화 전자 디바이스(190)에 근접한 환경으로부터 오디오 입력들을 수신하도록 구성된다. 선택적으로, 전자 디바이스(190)는 오디오 입력들을 저장하고 오디오 입력을 적어도 부분적으로 로컬적으로 프로세싱한다. 선택적으로, 전자 디바이스(190)는 추가의 프로세싱을 위해 수신된 오디오 입력들 또는 부분적으로 프로세싱된 오디오 입력들을 통신 네트워크들(110)을 통해 음성 보조 서버(112)로 송신한다. 캐스트 디바이스(108)는, 캐스트 디바이스(108)에 커플링된 출력 디바이스(106) 상에 디스플레이하기 위해 하나 이상의 콘텐츠 호스트들(114)로부터 미디어 콘텐츠 또는 인터넷 콘텐츠를 획득하도록 구성된다. 위에 설명된 바와 같이, 캐스트 디바이스(108) 및 음성-활성화 전자 디바이스(190)는 사용자 도메인에서 서로 링크되고, 더 구체적으로, 사용자 도메인에서 사용자 계정을 통해 서로 연관된다. 캐스트 디바이스(108)의 정보 및 전자 디바이스(190)의 정보는 사용자 계정과 연관하여 디바이스 레지스트리(118)에 저장된다.
[0055] 일부 구현들에서, 캐스트 디바이스(108) 및 음성-활성화 전자 디바이스(190)는 어떠한 디스플레이 스크린도 포함하지 않으며, 커미셔닝 프로세스 동안 사용자 인터페이스를 제공하기 위해 클라이언트 디바이스(104)에 의존해야 한다. 구체적으로, 클라이언트 디바이스(104)에는, 사용자 인터페이스가 클라이언트 디바이스(104)에 근접하게 배치된 새로운 캐스트 디바이스(108) 또는 새로운 음성-활성화 전자 디바이스(190)의 커미셔닝을 가능하게 할 수 있는 애플리케이션이 설치된다. 사용자는, 커미셔닝될 필요가 있는 새로운 캐스트 디바이스(108) 또는 전자 디바이스(190)에 대한 커미셔닝 프로세스를 개시하기 위한 요청을 클라이언트 디바이스(104)의 사용자 인터페이스 상에서 전송할 수 있다. 커미셔닝 요청을 수신한 후, 클라이언트 디바이스(104)는, 커미셔닝될 필요가 있는 새로운 캐스트 디바이스(108) 또는 전자 디바이스(190)와 단거리 통신 링크를 설정한다. 선택적으로, 단거리 통신 링크는 NFC(near field communication), 블루투스, BLE(Bluetooth Low Energy) 등에 기반하여 설정된다. 이어서, 클라이언트 디바이스(104)는 WLAN(wireless local area network)과 연관된 무선 구성 데이터를 새로운 캐스트 디바이스(108) 또는 전자 디바이스(190)로 전달한다. 무선 구성 데이터는 적어도 WLAN 보안 코드(즉, SSID(service set identifier) 패스워드)를 포함하며, 선택적으로, SSID, 인터넷 프로토콜(IP) 어드레스, 프록시 구성 및 게이트웨이 구성을 포함한다. 단거리 통신 링크를 통해 무선 구성 데이터를 수신한 후, 새로운 캐스트 디바이스(108) 또는 전자 디바이스(190)는 무선 구성 데이터를 디코딩 및 복구하고, 무선 구성 데이터에 기반하여 WLAN에 합류한다.
[0056] 부가적인 사용자 도메인 정보는 클라이언트 디바이스(104) 상에 디스플레이되는 사용자 인터페이스 상에서 입력되고, 새로운 캐스트 디바이스(108) 또는 전자 디바이스(190)를 사용자 도메인의 계정에 링크하는 데 사용된다. 선택적으로, 부가적인 사용자 도메인 정보는, 단거리 통신 링크를 통해 무선 통신 데이터와 함께 새로운 캐스트 디바이스(108) 또는 전자 디바이스(190)로 전달된다. 선택적으로, 부가적인 사용자 도메인 정보는, 새로운 디바이스가 WLAN에 합류한 후에, WLAN을 통해 새로운 캐스트 디바이스(108) 또는 전자 디바이스(190)로 전달된다.
[0057] 일단 캐스트 디바이스(108) 및 전자 디바이스(190)가 사용자 도메인에 커미셔닝되면, 캐스트 디바이스(108), 출력 디바이스(106) 및 그들의 연관된 미디어 플레이 활동들은 2개의 제어 경로들(제어 경로 A 및 제어 경로 B)을 통해 제어될 수 있다. 제어 경로 A에 따라, 캐스트 디바이스 애플리케이션 또는 클라이언트 디바이스(104) 상에 설치된 하나 이상의 미디어 플레이 애플리케이션들은 캐스트 디바이스(108) 및 그의 연관된 미디어 플레이 활동들을 제어하는 데 사용된다. 대안적으로, 제어 경로 B에 따라, 전자 디바이스(190)는 캐스트 디바이스(108) 및 그의 연관된 미디어 플레이 활동들(예컨대, 출력 디바이스(106) 상의 미디어 콘텐츠 플레이의 플레이백, 출력 디바이스(106) 상에 현재 디스플레이되는 미디어 콘텐츠의 폐쇄 자막들의 활성화)의 아이즈-프리 및 핸즈-프리 제어를 가능하게 하는 데 사용된다.
[0058] 도 2b는 도 2a에 도시된 제어 경로 B에 따라 캐스트 디바이스(108) 및 그의 연관된 미디어 플레이 활동들을 제어하는 미디어 플레이 제어 프로세스(250)의 예시적인 흐름도이다. 보조 서버(예컨대, 음성 보조 서버(112))는 음성-활성화 전자 디바이스(190)를 지원하고, 검색 스택과의 상호작용을 제어하고, 전자 디바이스(190)에 의해 수집된 미가공(raw) 음성 입력들에 따라 어떤 미디어 액션이 실행될 필요가 있는지를 결정하도록 구성된다. 보조 서버는, 미디어 액션을 타겟 캐스트 디바이스(108)에 의해 이어서 실행될 수 있는 액션 스크립트(Action Script)로 변환하는 요청을 클라우드 캐스트 서비스 서버(116)로 전송한다(202). 액션 스크립트에 대한 2개의 가능한 실행 경로들이 있다. 제1 실행 경로 A에 따라, 액션 스트립트는 응답으로 보조 서버에 리턴된다. 이것은 "로컬 경로"이다. 타겟 캐스트 디바이스(108)가 음성-활성화 전자 디바이스(190) 자체이면, 액션 스크립트는 보조 서버로부터 용이하게 이용 가능하다. 대안적으로, 제2 실행 경로 B에 따라, 클라우드 캐스트 서비스 서버(116)는 클라우드 메시징 서비스를 통해 액션 스크립트를 디바이스에 디스패치(dispatch)한다. 이것은 원격 실행 경로이다. 일부 구현들에서, 실행 경로들 둘 모두는 병렬로 취해지고, 타겟 캐스트 디바이스(108)는 2번째로 도착하는 액션 스크립트를 무시한다. unique_command_id는 모든 각각의 ExecuteCloudCastCommand와 연관된다.
[0059] 일부 구현들에서, 음성 보조 서버는 다음과 같은 CloudCastCommand를 사용하여 executeCastCommand의 RPC(remote procedure call)를 한다.
Figure 112018124859013-pct00001
[0060] 일단 커맨드가 획득되면, 클라우드 캐스트 서비스 서버(116)는 unique_command_id 및 target_device_id에 의해 키잉(key)된 일관된 저장소에서 이러한 CloudCastCommand를 유지한다. CloudCastCommand는, 동일한 타겟 캐스트 디바이스(108) 또는 전자 디바이스(190)에 대해 또 다른 커맨드가 발행될 때 또는 /executionReport 엔드포인트들이 SUCCESS/ERROR 상태를 수신할 때, 대체되거나 제거될 것이다. 이어서, 클라우드 캐스트 서비스 서버(116)는 오래된(특정 시간 기간 내에 완료되지 않은) 커맨드를 클린 업하고, 캐스트 액션 스크립트를 생성한다. 일단 캐스트 액션 스크립트가 생성되면, 클라우드 캐스트 서비스 서버(116)는 RPC 응답으로 스크립트를 리턴하고, (source_device_id! = target_device_id)이면, 구글 클라우드 메시징 서비스를 사용하여 응답을 전송한다.
[0061] 일부 구현들에서, 캐스트 디바이스(108)는 다음과 같은 캐스트 액션 스크립트를 실행하는 동안 그리고 이후에 자신의 상태를 보고한다(204).
Figure 112018124859013-pct00002
일부 구현들에서, 캐스트 디바이스(108)는, 자신의 상태가 변경될 때마다 상태 메시지를 사용하여 자신의 상태를 업데이트한다. 일부 구현들에서, 캐스트 디바이스(108)는 클라우드 캐스트 서비스 서버(116)에 그들의 존재를 알리기 위한 하트비트를 주기적으로 전송하고, 클라우드 캐스트 서비스 서버(116)는 last_action_time 필드를 초 단위의 에포크(epoch) 이후의 시간으로 업데이트한다. 클라우드 캐스트 서비스 서버(116)는 선택적으로 클라우드 메시징 서비스를 통해 실행 상태 메시지를 소스 디바이스(예컨대, 음성-활성화 전자 디바이스(190))에 전송한다. 이어서, 음성-활성화 전자 디바이스(190)는 TTS 및 플레이백을 위해 S3을 호출할 것이다.
미디어 출력 디바이스 상의 음성-활성화 미디어 플레이
[0062] 도 2a를 참조하면, 캐스트 디바이스(108) 및 음성-활성화 전자 디바이스(190)가 공통 사용자 도메인에 커미셔닝될 뿐만 아니라 링크된 후에, 음성-활성화 전자 디바이스(190)는, 어떠한 원격 제어도 수반하지 않는 캐스트 디바이스(108), 클라이언트 디바이스(104) 또는 다른 제2 스크린 디바이스로 스트리밍되는 미디어 콘텐츠의 아이즈-프리 및 핸즈-프리 제어를 가능하게 하기 위해 음성 사용자 인터페이스로서 사용될 수 있다. 예컨대, 사용자는 "거실 스피커들에서 레이디 가가 플레이"와 같은 음성 커맨드들을 제공할 수 있다. 레이디 가가 음악 트랙 또는 비디오 클립은 "거실 스피커들"과 연관된 캐스트 디바이스(108)로 스트리밍된다. 클라이언트 디바이스(104)는 연루되지 않거나, 어떠한 캐스트 디바이스 애플리케이션 또는 미디어 플레이 애플리케이션도 클라이언트 디바이스(104) 상에 로딩되지 않는다.
[0063] 클라우드 캐스트 서비스(116)는, 음성-활성화 전자 디바이스를 캐스트 디바이스(108)에 통신 가능하게 링크하고, 클라이언트 디바이스(104) 상의 어떤 애플리케이션들도 수반하지 않고서, 캐스트 디바이스(108)로의 캐스팅을 가능하게 하는 프록시 서비스이다. 구체적으로, 음성 메시지는 전자 디바이스(190)에 의해 기록되고, 음성 메시지는 미디어 출력 디바이스(106)에서의 미디어 플레이를 요청하도록 구성된다. 선택적으로, 전자 디바이스(190)는 로컬적으로 음성 메시지를 부분적으로 프로세싱한다. 선택적으로, 전자 디바이스(190)는 추가의 프로세싱을 위해 음성 메시지 또는 부분적으로 프로세싱된 음성 메시지를 통신 네트워크(110)를 통해 음성 보조 서버(112)로 송신한다. 클라우드 캐스트 서비스 서버(116)는, 음성 메시지가 제1 미디어 플레이 요청을 포함하고, 제1 미디어 플레이 요청이 미디어 출력 디바이스(106) 상에서 미디어 콘텐츠를 플레이하기 위한 사용자 음성 커맨드 및 미디어 출력 디바이스(106)의 사용자 음성 지정을 포함한다고 결정한다. 사용자 음성 커맨드는 적어도, 플레이될 필요가 있는 미디어 콘텐츠(예컨대, 레이디 가가 음악) 및 제1 미디어 플레이 애플리케이션(예컨대, 유튜브 및 넷플릭스)의 정보를 더 포함한다.
[0064] 미디어 출력 디바이스의 음성 지정에 따라, 클라우드 캐스트 서비스 서버(116)는, 사용자 도메인에서 전자 디바이스(190)와 연관되고 미디어 출력 디바이스(106)에 커플링된 캐스트 디바이스를 디바이스 레지스트리(118)에서 식별한다. 캐스트 디바이스(108)는 하나 이상의 미디어 콘텐츠 호스트들(114)로부터 수신된 미디어 콘텐츠를 플레이하도록 미디어 출력 디바이스(106)를 제어하기 위한 하나 이상의 미디어 플레이 애플리케이션들을 실행하도록 구성된다. 이어서, 클라우드 캐스트 서비스 서버(116)는, 제1 미디어 플레이 애플리케이션 및 플레이될 필요가 있는 미디어 콘텐츠의 정보를 포함하는 제2 미디어 플레이 요청을 캐스트 디바이스(108)로 전송한다. 클라우드 캐스트 서비스 서버(116)에 의해 전송된 정보를 수신할 때, 캐스트 디바이스(108)는 제1 미디어 플레이 애플리케이션을 실행하고, 요청된 미디어 콘텐츠를 플레이하도록 미디어 출력 디바이스(106)를 제어한다.
[0065] 일부 구현들에서, 미디어 출력 디바이스(106)의 사용자 음성 지정은 목적지 미디어 출력 디바이스의 설명을 포함한다. 클라우드 캐스트 서비스 서버(116)는, 목적지 미디어 출력 디바이스의 설명에 따라 복수의 미디어 출력 디바이스들 중에서 목적지 미디어 출력 디바이스를 레지스트리에서 식별한다. 일부 구현들에서, 목적지 미디어 출력 디바이스의 설명은 적어도 미디어 출력 디바이스(106)의 브랜드("삼성 TV") 또는 위치( "나의 거실 TV")를 포함한다.
음성-활성화 폐쇄 자막 디스플레이
[0066] 미국 연방 접근성 법들(Federal Accessibility Laws)은, 웹사이트들, 이메일 또는 웹 문서들과 같은 전자 통신들 및 정보 기술이 액세스 가능하고, 청각 장애가 있거나 난청인 사용자들을 위해 비디오 콘텐츠에 폐쇄 자막들의 옵션이 제시되어야 한다는 것을 요구한다. 도 2a를 참조하면, 캐스트 디바이스(108) 및 음성-활성화 전자 디바이스(190)가 공통 사용자 도메인에 커미셔닝될 뿐만 아니라 링크된 후에, 음성-활성화 전자 디바이스(190)는, 미디어 출력 디바이스(106) 상에 현재 디스플레이되는 미디어 콘텐츠와 폐쇄 자막 디스플레이의 아이즈-프리 및 핸즈-프리 제어를 가능하게 하기 위해 음성 사용자 인터페이스로서 사용될 수 있다. 구체적으로, 음성 인식 시스템은, 자막들을 턴 온하기 위한 음성 커맨드를, 클라우드 캐스트 서비스로 전송되는 인식 가능한 메시지로 변환한다. 클라우드 캐스트 서비스는 이러한 메시지를 해석하고, 커맨드를 캐스트 디바이스 상에 설치된 미디어 플레이 애플리케이션(예컨대, 유튜브)으로 전송한다. 미디어 플레이 애플리케이션은 그 커맨드를 수신하고, 메시지에 기반하여 자막 트랙을 렌더링한다. 이로써, 이어서 사용자는 음성을 사용하여 미디어 출력 디바이스들 상에서 자막들을 토글링(toggle) 온 및 오프할 수 있다. 폐쇄 자막 디스플레이의 이러한 제어는 어떠한 원격 제어, 클라이언트 디바이스(104) 또는 다른 제2 스크린 디바이스도 수반하지 않으며, 이것은 클라이언트 디바이스(104) 상에 로딩된 어떠한 캐스트 디바이스 애플리케이션 또는 미디어 플레이 애플리케이션도 인보크(invoke)하지 않는다. 따라서, 폐쇄 자막 디스플레이의 음성-활성화 제어는 특히 청각 장애가 있거나 난청인 사용자들을 위한 연방 접근성 요건들을 충족시킨다.
[0067] 사용자가 현재 디스플레이되는 미디어 콘텐츠에 대한 폐쇄 자막들의 디스플레이를 개시하려고 할 때, 사용자는 전자 디바이스(190)에 의해 기록되는 음성 메시지(예컨대, "폐쇄 자막을 턴 온하라")를 전송한다. 선택적으로, 전자 디바이스(190)는 로컬적으로 음성 메시지를 부분적으로 프로세싱한다. 선택적으로, 전자 디바이스(190)는 추가의 프로세싱을 위해 음성 메시지 또는 부분적으로 프로세싱된 음성 메시지를 음성 보조 서버(112)에 송신한다. 클라우드 캐스트 서비스 서버(116)는, 음성 메시지가 제1 폐쇄 자막 개시 요청이고, 제1 폐쇄 자막 개시 요청이 폐쇄 자막을 개시하기 위한 사용자 음성 커맨드 및 폐쇄 자막들이 활성화되어야 하는 미디어 콘텐츠를 플레이하는 디스플레이 디바이스(106)의 사용자 음성 지정을 포함한다고 결정한다. 일부 구현들에서, 전자 디바이스(190)는 기록된 음성 메시지를 클라우드 캐스트 서비스 서버(116)로 직접적으로 송신한다. 클라우드 캐스트 서비스 서버(116)는, 음성 메시지를 파싱하고 사용자 음성 커맨드 및 목적지 미디어 디바이스의 사용자 음성 지정을 식별하기 위해, 음성 메시지를 음성 보조 서버(112)로 포워딩하고, 음성 보조 서버(112)로부터 사용자 음성 커맨드 및 목적지 미디어 디바이스의 사용자 음성 지정을 수신함으로써, 음성 메시지가 제1 폐쇄 자막 개시 요청이라고 결정한다.
[0068] 디스플레이 디바이스의 지정에 따라, 클라우드 캐스트 서비스 서버(116)는, 사용자 도메인 내에 전자 디바이스(190)와 연관되고 지정된 디스플레이 디바이스(106)에 커플링된 캐스트 디바이스(108)를 디바이스 레지스트리(118)에서 식별한다. 캐스트 디바이스(108)는, 미디어 콘텐츠 호스트로부터 수신된 미디어 콘텐츠를 디스플레이하기 위해 지정된 디스플레이 디바이스를 제어하기 위한 미디어 플레이 애플리케이션을 실행하도록 구성된다. 일부 구현들에서, 전자 디바이스(190) 및 캐스트 디바이스(108) 둘 모두는 사용자 도메인의 사용자 계정과 연관된다. 사용자 계정은 구글 사용자 계정일 수 있다.
[0069] 이어서, 클라우드 캐스트 서비스 서버(116)는 지정된 디스플레이 디바이스에 커플링된 캐스트 디바이스에 제2 폐쇄 자막 개시 요청을 전송한다. 클라우드 캐스트 서비스 서버(116)에 의해 전송되는 정보를 수신할 때, 캐스트 디바이스(108)는, 지정된 디스플레이 디바이스(106) 상에서 현재 디스플레이되는 미디어 콘텐츠의 폐쇄 자막들을 턴 온하고, 제2 폐쇄 자막 개시 요청에 따라 폐쇄 자막들을 디스플레이하기 위해, 지정된 디스플레이 디바이스(106)를 제어하기 위한 미디어 플레이 애플리케이션을 실행한다. 일부 구현들에서, 폐쇄 자막들은, 디폴트 폐쇄 자막 디스플레이 규격에 따라, 지정된 디스플레이 디바이스 상에 디스플레이된다.
[0070] 일부 구현들에서, 제1 폐쇄 자막 개시 요청에 따라, 클라우드 캐스트 서비스 서버(116)는 폐쇄 자막들의 디스플레이 규격을 결정한다. 제2 폐쇄 자막 개시 요청은 폐쇄 자막의 디스플레이 규격을 포함하고, 캐스트 디바이스는 디스플레이 규격에 따라 폐쇄 자막들을 디스플레이하도록 디스플레이 디바이스를 제어하기 위한 미디어 플레이 애플리케이션을 실행하도록 구성된다. 또한, 일부 구현들에서, 폐쇄 자막들의 디스플레이 규격은 폰트(예컨대, Arial), 폰트 크기(예컨대, 12), 폰트 컬러(예컨대, 백색) 및 배경 컬러(예컨대, 흑색) 중 적어도 하나를 포함한다. 또한, 일부 구현들에서, 클라우드 캐스트 서비스 서버(116)를 통해 폐쇄 자막들의 디스플레이 규격을 전송하는 것은, 사용자들이 캐스트 디바이스(108)로 전송되는 폐쇄 자막 개시 요청을 업데이트하기 위해 커스텀 음성 커맨드들(이를테면, "더 큰 자막들" 또는 "배경 컬러를 청색으로 변경")을 변환함으로써 자신들의 폐쇄 자막들의 포맷을 조정할 수 있게 한다. 부가적으로, 폐쇄 자막 디스플레이의 그러한 음성-활성화 제어는 마이크로폰을 갖는 임의의 전자 디바이스(예컨대, 모바일 폰)가 미디어 콘텐츠의 플레이백을 개시하고, 미디어 디스플레이 디바이스(106) 상의 폐쇄 자막들을 조정할 수 있게 한다.
[0071] 일부 구현들에서, 전자 디바이스, 캐스트 디바이스 및 지정된 디스플레이 디바이스는 서로 근접하게 배치되지만, 클라우드 캐스트 서비스 시스템(116), 음성 보조 서버(112) 및 디바이스 레지스트리(118)로부터 원격에 위치된다. 일부 구현들에서, 클라우드 캐스트 서비스 시스템(116), 음성 보조 서버(112) 및 디바이스 레지스트리(118) 중 2 이상은 단일 서버에 통합된다. 일부 구현들에서, 클라우드 캐스트 서비스 시스템(116), 음성 보조 서버(112) 및 디바이스 레지스트리(118)는, 지정된 디스플레이 디바이스(106) 상에 디스플레이하기 위해 캐스트 디바이스(108)에 미디어 콘텐츠를 제공하는 콘텐츠 호스트(114)와 구별된다.
[0072] 일부 구현들에서, 미디어 출력 디바이스(106)의 사용자 음성 지정은 목적지 미디어 출력 디바이스의 설명을 포함한다. 클라우드 캐스트 서비스 서버(116)는, 목적지 미디어 출력 디바이스의 설명에 따라 복수의 미디어 출력 디바이스들 중에서 목적지 미디어 출력 디바이스를 레지스트리에서 식별한다. 일부 구현들에서, 목적지 미디어 출력 디바이스의 설명은 적어도 미디어 출력 디바이스(106)의 브랜드("삼성 TV") 또는 위치( "나의 거실 TV")를 포함한다.
미디어 출력 디바이스들 사이의 음성-활성화 미디어 전달
[0073] 도 3은 일부 구현들에 따른, 캐스트 디바이스들(108)이 스마트 미디어 환경(100)의 클라이언트 디바이스(104), 음성-활성화 전자 디바이스들(190) 또는 서버 시스템과 상호작용하는 다른 예시적인 동작 환경이다. 스마트 미디어 환경(100)은 제1 캐스트 디바이스(108-1) 및 제1 캐스트 디바이스에 커플링된 제1 출력 디바이스(106-1)를 포함한다. 스마트 미디어 환경(100)은 또한 제1 캐스트 디바이스에 커플링된 제2 캐스트 디바이스(108-2) 및 제2 출력 디바이스(106-2)를 포함한다. 캐스트 디바이스들(108-1 및 108-2)은 스마트 미디어 환경(100) 내의 동일한 위치(예컨대, 거실) 또는 2개의 별개의 위치들(예컨대, 2개의 방들)에 선택적으로 위치된다. 캐스트 디바이스들(108-1 및 108-2) 각각은, 개개의 캐스트 디바이스(108-1 또는 108-2)에 커플링된 출력 디바이스(106) 상에 디스플레이하기 위한 미디어 콘텐츠 또는 인터넷 콘텐츠를 미디어 호스트들(114)로부터 획득하도록 구성된다. 제1 및 제2 캐스트 디바이스들 둘 모두는 클라우드 캐스트 서비스 서버(116) 및 콘텐츠 호스트들(114)에 통신 가능하게 커플링된다.
[0074] 스마트 미디어 환경(100)은, 클라우드 캐스트 서비스 서버(116) 및 음성 보조 서버(112)에 통신 가능하게 커플링된 하나 이상의 음성-활성화 전자 디바이스들(190)을 더 포함한다. 일부 구현들에서, 음성-활성화 전자 디바이스들(190)은 캐스트 디바이스들(108) 및 출력 디바이스들(106)과 독립적으로 배치된다. 예컨대, 도 1에 도시된 바와 같이, 전자 디바이스(190-4)는, 어떠한 캐스트 디바이스(108) 또는 출력 디바이스(106)도 위치되지 않은 방에 배치된다. 일부 구현들에서, 제1 전자 디바이스(190-1)는 제1 캐스트 디바이스(108-1) 및 제1 출력 디바이스(106-1)에 근접하게 배치되고, 예컨대, 제1 전자 디바이스(190-1), 제1 캐스트 디바이스(108-1) 및 제1 출력 디바이스(106-1)는 동일한 방에 위치된다. 선택적으로, 제2 전자 디바이스(190-2)는 제2 캐스트 디바이스(108-2) 및 제2 출력 디바이스(106-2)와 독립적으로 또는 이들에 근접하게 배치된다.
[0075] 미디어 콘텐츠가 제1 출력 디바이스(106-1) 상에서 플레이되고 있을 때, 사용자는 제2 출력 디바이스(106-2)로 전달될 미디어 콘텐츠의 플레이를 요청하기 위한 음성 커맨드를 전자 디바이스들(190) 중 임의의 디바이스로 전송할 수 있다. 음성 커맨드는 미디어 플레이 전달 요청을 포함한다. 일 상황에서, 사용자는, 사용자가 목적지 위치로 이동하기 전에, 제1 캐스트 디바이스(108-1)에 근접하게 배치된 전자 디바이스(190-1)로 음성 커맨드를 발행할 수 있다. 대안적으로, 다른 상황에서, 사용자는, 사용자가 목적지 위치에 도달한 후에, 제2 디바이스(108-2)에 근접하게 배치된 전자 디바이스(190-2)에 음성 커맨드를 발행할 수 있다.
[0076] 음성 커맨드는 클라우드 캐스트 서비스 서버(116)로 송신된다. 클라우드 캐스트 서비스 서버(116)는, 제1 캐스트 디바이스(108-1)에 커플링된 제1 출력 디바이스(106-1) 상에 현재 플레이되고 있는 미디어 콘텐츠의 인스턴트 미디어 플레이 정보를 요청하기 위한 미디어 디스플레이 정보 요청을 제1 캐스트 디바이스(108-1)로 전송한다. 이어서, 제1 캐스트 디바이스(108-1)는, 적어도 제1 미디어 플레이 애플리케이션(예컨대, 유튜브), 현재 플레이되고 있는 미디어 콘텐츠(예컨대, "Lady Gaga-National Anthem-Super Bowl 2016"), 및 미디어 콘텐츠의 플레이에 관련된 시간적인 위치의 정보를 포함하는 요청된 인스턴트 플레이 정보를 클라우드 캐스트 서비스 서버(116)로 리턴한다. 이어서, 제2 캐스트 디바이스(108-2)는 클라우드 캐스트 서비스 서버(116)로부터 인스턴트 플레이 정보를 포함하는 미디어 디스플레이 요청을 수신하고, 인스턴트 플레이 정보에 따라, 시간적인 위치로부터 미디어 콘텐츠를 플레이하도록 제2 출력 디바이스(106-2)를 제어하는 제1 미디어 플레이 애플리케이션을 실행한다.
[0077] 특정 예에서, 음악 플레이리스트가 제1 출력 디바이스(106-1) 상에서 플레이될 때, 사용자는 "내 거실 스피커에서 플레이"이라고 말한다. 제1 출력 디바이스(106-1)는 현재 플레이된 노래의 플레이를 정지하고, 정지된 노래가 거실 스피커들 상에서 재개된다. 노래가 완료되면, 거실 스피커들은 제1 출력 디바이스(106-1) 상에서 이전에 플레이된 음악 플레이리스트 상의 다음 노래를 계속해서 플레이한다. 이와 같이, 사용자가 스마트 홈 환경(100)을 돌아다닐 때, 제한된 사용자 개입(즉, 음성 커맨드를 제공하는 것)만을 수반하면서, 미디어 콘텐츠의 플레이는 사용자를 무결절로 따라갈 것이다. 미디어 콘텐츠의 그러한 무결절 전달은 다음 동작들 중 하나 이상에 따라 달성된다.
● 음성 보조 서비스(예컨대, 음성 보조 서버(112))는, 하나의 출력 디바이스(소스)로부터 다른 출력 디바이스(목적지)로 미디어를 전달하는 것이 사용자 음성 커맨드라는 것을 인식함;
● 보조 서비스는 사용자 음성 커맨드를 포함하는 메시지를 클라우드 캐스트 서비스 서버(116)로 전달함;
● 이어서, 클라우드 캐스트 서비스 서버(116)는, 미디어 스트림을 전달하기 위해 필요한 데이터의 블랍(blob)을 제공하도록 소스 출력 디바이스(106-1)에 요청함;
● 데이터의 블랍의 콘텐츠는 파트너에 의존하지만, 이는 통상적으로 현재 플레이되고 있는 미디어 콘텐츠, 현재 미디어 콘텐츠의 위치 및 현재 미디어 콘텐츠의 스트림 볼륨을 포함함;
● 선택적으로, 데이터의 블랍의 콘텐츠는 현재 미디어 콘텐츠에 대한 컨테이너(예컨대, 미디어 콘텐츠가 속하는 플레이리스트), 및 플레이리스트 내의 현재 미디어 콘텐츠의 위치의 정보를 포함함;
● 클라우드 캐스트 서비스 서버(116)는 미디어 콘텐츠의 플레이를 정지하도록 소스 디바이스에 말함;
● 이어서, 클라우드 캐스트 서비스 서버(116)는 목적지(즉, 소스 출력 디바이스에서 실행되는 동일한 수신기 애플리케이션) 상의 적절한 수신기 애플리케이션(예컨대, 미디어 플레이 애플리케이션)을 로딩함;
● 클라우드 캐스트 서비스 서버(116)는 미디어 콘텐츠의 전달을 재개하기 위한 수신기 애플리케이션으로의 명령과 함께 이러한 데이터의 블랍을 목적지 캐스트 디바이스(108-2)로 전송함; 및
● 수신기 애플리케이션은 이에 따라 미디어 콘텐츠를 재개하기 위해 데이터 블랍을 해석함.
[0078] 구체적으로, 서버 측에서, 소스 미디어 출력 디바이스로부터 목적지 미디어 출력 디바이스로 미디어 콘텐츠 디스플레이의 플레이를 이동시키기 위한 방법은 클라우드 캐스트 서비스 서버(116)에 의해 구현된다. 클라우드 캐스트 서비스 서버(116)는 전자 디바이스(190-1 또는 190-2)에 의해 기록된 음성 메시지를 수신하고, 음성 메시지가 미디어 전달 요청을 포함한다고 결정한다. 위에 설명된 바와 같이, 전자 디바이스는 제1 위치에 위치된 소스 캐스트 디바이스(108-1)에 근접하거나, 제2 위치에 위치된 목적지 캐스트 디바이스(108-2)에 근접하거나 또는 소스 및 목적지 캐스트 디바이스들 둘 모두와 독립적으로 배치될 수 있다. 일부 구현들에서, 전자 디바이스(190), 소스 캐스트 디바이스(108-1) 및 목적지 캐스트 디바이스(108-2)는 클라우드 캐스트 서비스 서버(116)에 의해 관리되는 사용자 도메인의 사용자 계정과 연관된다. 사용자 계정은 구글 사용자 계정일 수 있다.
[0079] 사용자 음성 커맨드 내의 미디어 전달 요청은, 플레이되고 있는 미디어 콘텐츠를 목적지 미디어 출력 디바이스(190-2)로 전송하기 위한 사용자 음성 커맨드 및 목적지 미디어 출력 디바이스(190-2)의 사용자 음성 지정을 포함한다. 일부 구현들에서, 전자 디바이스(190-1 또는 190-2)에 의해 기록된 음성 메시지를 수신한 후에, 클라우드 캐스트 서비스 서버(116)는, 음성 메시지를 파싱하고 사용자 음성 커맨드 및 목적지 미디어 출력 디바이스의 음성 지정을 식별하는 음성 보조 서버(112)로 음성 메시지를 포워딩하고, 목적지 미디어 출력 디바이스(106-2)의 음성 지정 및 사용자 음성 커맨드를 음성 보조 서버(112)로부터 수신한다.
[0080] 클라우드 캐스트 서비스 서버(116)는, 현재 플레이되고 있는 미디어 콘텐츠의 인스턴트 미디어 플레이 정보를 소스 캐스트 디바이스(108-1)로부터 획득한다. 인스턴트 플레이 정보는 적어도, 제1 미디어 플레이 애플리케이션, 현재 플레이되고 있는 미디어 콘텐츠, 및 미디어 콘텐츠의 플레이와 연관된 시간적인 위치의 정보를 포함한다. 사용자가 미디어 콘텐츠의 목적지 출력 디바이스(106-2)로의 이동을 요청할 때, 시간적인 위치가 기록될 수 있다. 일부 구현들에서, 클라우드 캐스트 서비스 서버(116)는, 미디어 콘텐츠가 소스 미디어 출력 디바이스(106-1)에서 현재 플레이되고 있음을 식별한다. 클라우드 캐스트 서비스 서버(116)는, 사용자 도메인에서 전자 디바이스(190)와 연관되고 소스 미디어 출력 디바이스(106-1)에 커플링된 소스 캐스트 디바이스(108-1)를 디바이스 레지스트리(118)에서 식별한다. 이어서, 클라우드 캐스트 서비스 서버(116)는 미디어 정보 요청을 소스 캐스트 디바이스(108-1)에 전송하고, 이로써 소스 캐스트 디바이스(108-1)로부터 인스턴트 미디어 플레이 정보를 수신한다.
[0081] 목적지 미디어 출력 디바이스의 음성 지정에 따라, 클라우드 캐스트 서비스 서버(116)는, 사용자 도메인에서 전자 디바이스와 연관되고 목적지 미디어 출력 디바이스(106-2)에 커플링된 목적지 캐스트 디바이스(108-2)를 디바이스 레지스트리(118)에서 식별한다. 목적지 캐스트 디바이스(108-2)는, 하나 이상의 미디어 콘텐츠 호스트들(114)로부터 수신된 미디어 콘텐츠를 플레이하도록 목적지 미디어 출력 디바이스(106-2)를 제어하기 위한 하나 이상의 미디어 플레이 애플리케이션들을 실행하도록 구성된다. 일부 구현들에서, 목적지 미디어 출력 디바이스(106-2)의 사용자 음성 지정은 목적지 미디어 출력 디바이스(106-2)의 설명(예컨대, 출력 디바이스(106-2)의 브랜드 및 위치)을 포함한다. 클라우드 캐스트 서비스 서버(116)는, 목적지 미디어 출력 디바이스(106-2)에 대한 설명에 따라 복수의 미디어 출력 디바이스 중에서 목적지 미디어 출력 디바이스(106-2)를 레지스트리(112)에서 식별한다. 따라서, 사용자는 디바이스 레지스트리(112)에서의 기록과 매칭하는 정확한 디바이스 식별을 제공할 필요가 없고, 클라우드 캐스트 서비스 서버(116)는, 목적지 미디어 출력 디바이스(106-2)의 설명에 기반하여 목적지 미디어 출력 디바이스(106-2)를 결정할 수 있다.
[0082] 인스턴트 플레이 정보를 획득하고 목적지 캐스트 디바이스(108-2)를 식별한 후, 클라우드 캐스트 서비스 서버(116)는, 인스턴트 미디어 플레이 정보를 포함하는 미디어 플레이 요청을 목적지 캐스트 디바이스(108-2)로 전송하고, 이로써 목적지 캐스트 디바이스(108-2)가 시간적인 위치로부터 미디어 콘텐츠를 플레이하도록 목적지 미디어 출력 디바이스(106-2)를 제어하는 제1 미디어 플레이 애플리케이션을 실행할 수 있게 한다. 일부 구현들에서, 사용자 음성 커맨드에 따라, 클라우드 캐스트 서비스 서버(116)는 또한 미디어 정지 요청을 소스 캐스트 디바이스(108-1)로 전송하고, 이로써 소스 캐스트 디바이스(108-1)가 소스 미디어 출력 디바이스(106-1) 상의 미디어 콘텐츠의 플레이를 중지하기 위해 소스 캐스트 디바이스(108-1)에 커플링된 소스 미디어 출력 디바이스(106-1)를 제어하는 제1 미디어 플레이 애플리케이션을 실행할 수 있게 한다.
[0083] 이러한 미디어 전달 방법은 미디어 스트림을 서비스로부터 멀리 전달하는 데 필요한 데이터를 요약(abstract)하고, 이를 스트리밍 서비스 제공자에 직접적으로 배치하여, 그들이 현재 플레이되고 있는 스트림을 전달하는 데 필요한 파라미터들(예컨대, 구글 캐스트 프로토콜)을 정의할 수 있다. 이는 본 발명의 설계를 임의의 타입의 미디어 파트너 또는 미디어 스트림을 수용하도록 매우 유연하게 유지한다. 부가적으로, 이는, 소스 디바이스와 목적지 디바이스 간에 메시지들을 전달하고 플레이백을 조정하기 위해 (클라우드 캐스트 서비스를 통해) 클라우드 인프라구조를 레버리지(leverage)한다. 이것은, 이러한 캐스트 디바이스들이 서로에 대한 임의의 지식을 갖거나 동일한 무선 로컬 영역 네트워크 상에 있지 않고서도, 이러한 전달이 발생할 수 있게 한다.
[0084] 클라우드 캐스트 서비스 서버(116)를 통한 미디어 전달은 또한 확장성(scalability), 유연성 및 데이터 보안을 가능하게 한다. 미디어를 전달하는 데 필요한 데이터의 블랍은, 다수의 콘텐츠 제공자 파트너들 및 다수의 스트림 타입들을 수용하기 위해 구체적으로 느슨하게 정의된다. 스트림들은 개별 트랙들, 플레이리스트들, 라이브 스트림들, 광고들, 자동 플레이 비디오들 및 많은 다른 콘텐츠 포맷들일 수 있다. 데이터 블랍을 유연하게 유지하고 파트너를 종속적으로 유지하는 것은, 단일 방법이 모든 타입들의 미디어 스트림들에 대해 작용할 수 있게 한다. 또한, 클라우드 캐스트 서비스가 소스 및 목적지 캐스트 디바이스들과 독립적으로 연결하게 함으로써, 이러한 디바이스들이 서로 연결되거나, 동일한 WLAN 상에 있거나, 서로에 대한 지식을 가질 어떠한 필요성도 없다. 또한, CCS에 의한 어떠한 탈중계화(disintermediation)도 없다. 소스 및 목적지 상의 수신기 애플리케이션들 간에 전송되는 데이터는 클라우드 캐스트 서비스 서버(116)에 대해 불투명하다. 이는, 전달되는 미디어 세션에 대한 기밀 세부사항들이 클라우드 캐스트 서비스를 사용하는 파트너에 남아 있게 한다.
음성-활성화 전자 디바이스의 물리적 특징들
[0085] 도 4a 및 4b는 일부 구현들에 따른 음성-활성화 전자 디바이스(190)의 정면도(400) 및 후면도(420)이다. 전자 디바이스(190)는 따뜻하고 매력적으로 설계되고, 홈의 많은 영역들에 자연스럽게 어울린다. 전자 디바이스(190)는 하나 이상의 마이크로폰들(402) 및 풀 컬러 LED들(404)의 어레이를 포함한다. 풀 컬러 LED들(404)은 전자 디바이스(190)의 최상부 표면 아래에 은닉되고, LED들이 점등되지 않을 때 사용자에게 보이지 않을 수 있다. 일부 구현들에서, 풀 컬러 LED들(404)의 어레이는 물리적으로 원형으로 배치된다. 또한, 전자 디바이스(190)의 후방 측은 선택적으로 전력 공급기에 커플링하도록 구성된 전력 공급 커넥터(408)를 포함한다.
[0086] 일부 구현들에서, 전자 디바이스(190)는 어떠한 가시적인 버튼도 갖지 않는 깨끗한 외관을 제공하고, 전자 디바이스(190)와의 상호작용은 음성 및 터치 제스처들에 기반한다. 대안적으로, 일부 구현들에서, 전자 디바이스(190)는 제한된 수의 물리적 버튼들(예컨대, 자신의 후방측 상의 버튼(406))을 포함하고, 전자 디바이스(190)와의 상호작용은 음성 및 터치 제스처들 이외에 버튼을 누르는 것에 추가로 기반한다.
[0087] 하나 이상의 스피커들이 전자 디바이스(190)에 배치된다. 도 4c는 일부 구현들에 따른, 전자 디바이스(190)의 베이스(410)에 포함되는, 개방 구성의 스피커들(422)을 도시하는, 음성-활성화 전자 디바이스(190)의 사시도(440)이다. 도 4d 및 4e는, 일부 구현들에 따른, 그 안에 포함되는 전자 컴포넌트들을 각각 도시하는, 음성-활성화 전자 디바이스(190)의 측면도(450) 및 확대도(460)이다. 전자 디바이스(190)는 풀 컬러 LED들(404)의 어레이, 하나 이상의 마이크로폰들(402), 스피커(422), 듀얼-밴드 WiFi 802.11ac 라디오(들), 블루투스 LE 라디오, 주변 광 센서, USB 포트, 프로세서 및 프로세서에 의한 실행을 위한 적어도 하나의 프로그램을 저장하는 메모리를 포함한다.
[0088] 또한, 일부 구현들에서, 전자 디바이스(190)는, 전자 디바이스(190)의 최상부 표면 상의 터치 이벤트들을 검출하도록 구성된 터치 감지 어레이(424)를 더 포함한다. 터치 감지 어레이(424)는 전자 디바이스(190)의 최상부 표면 아래에 배치되어 은폐된다. 일부 구현들에서, 비아 홀들의 어레이를 포함하는 회로 기판의 최상부 표면 상에 배열된 터치 감지 어레이(424) 및 풀 컬러 LED들은 회로 기판의 비아 홀들 내에 배치된다. 회로 기판이 전자 디바이스(190)의 최상부 표면 바로 아래에 위치될 때, 풀 컬러 LED들(404) 및 터치 감지 어레이(424) 둘 모두는 물론 전자 디바이스(190)의 최상부 표면 바로 아래에 배치된다.
[0089] 도 4f(1)-4f(4)는 일부 구현들에 따른, 음성-활성화 전자 디바이스(190)의 터치 감지 어레이(424) 상에서 검출된 4번의 터치 이벤트들을 도시한다. 도 4f(1) 및 4f(2)를 참조하면, 터치 감지 어레이(424)는 음성-활성화 전자 디바이스(190)의 최상부 표면 상의 회전 스와이프(rotational swipe)를 검출한다. 시계 방향 스와이프의 검출에 대한 응답으로, 음성-활성화 전자 디바이스(190)는 자신의 오디오 출력의 볼륨을 증가시키고, 반시계 방향 스와이프의 검출에 대한 응답으로, 음성-활성화 전자 디바이스(190)는 자신의 오디오 출력의 볼륨들을 감소시킨다. 도 4f(3)를 참조하면, 터치 감지 어레이(424)는 음성-활성화 전자 디바이스(190)의 최상부 표면 상의 단일 탭 터치를 검출한다. 제1 탭 터치 검출에 대한 응답으로, 음성-활성화 전자 디바이스(190)는 제1 미디어 제어 동작(예컨대, 특정 미디어 콘텐츠의 플레이)을 구현하고, 제2 탭 터치 검출에 대한 응답으로, 음성-활성화 전자 디바이스(190)는 제2 미디어 제어 동작(예컨대, 현재 플레이되고 있는 특정 미디어 콘텐츠의 일시정지)을 구현한다. 도 4f(4)를 참조하면, 터치 감지 어레이(424)는 음성-활성화 전자 디바이스(190)의 최상부 표면 상의 더블 탭 터치(예컨대, 2번의 연속적인 터치들)를 검출한다. 2번의 연속적인 터치들은 미리 결정된 길이 미만의 시간의 지속기간만큼 분리된다. 그러나, 그들이 미리 결정된 길이보다 더 긴 시간의 지속기간만큼 분리될 때, 2번의 연속적인 터치들은 2번의 단일 탭 터치들로 간주된다. 더블 탭 터치의 검출에 대한 응답으로, 음성-활성화 전자 디바이스(190)는, 전자 디바이스(190)가 하나 이상의 핫 워드들(예컨대, 미리 정의된 키 워드들)을 청취하고 인식하는 핫 워드 검출 상태를 개시한다. 전자 디바이스(190)가 핫 워드들을 인식할 때까지, 전자 디바이스(190)는 오디오 입력들을 음성 보조 서버(112) 또는 클라우드 캐스트 서비스 서버(118)로 전송하지 않는다.
[0090] 일부 구현들에서, 풀 컬러 LED들(404)의 어레이는, 음성-활성화 전자 디바이스(190)의 최상부 표면 상의 시계 방향 스와이프, 반시계 방향 스와이프, 단일 탭 또는 더블 탭의 검출을 나타내는, LED 설계 언어에 따른 시각적인 패턴들의 세트를 디스플레이하도록 구성된다. 예컨대, 풀 컬러 LED들(404)의 어레이는, 도 4f(1) 및 4f(2)에 각각 도시된 바와 같이, 시계 방향 또는 반시계 방향의 스와이프를 추적하기 위해 순차적으로 점등될 수 있다. 전자 디바이스(190)의 음성 프로세싱 상태들과 연관된 시각적인 패턴들에 대한 더 많은 세부사항들은 도 4g 및 4h(1)-4h(8)를 참조하여 아래에 설명된다.
[0091] 도 4f(5)는 일부 구현들에 따른 음성-활성화 전자 디바이스(190)의 후방 측 상의 버튼(406)에 대한 예시적인 사용자 터치 또는 누름을 도시한다. 제1 사용자 터치 또는 버튼(406)의 누름에 대한 응답으로, 전자 디바이스(190)의 마이크로폰들은 뮤팅(mute)되고, 제2 사용자 터치 또는 버튼(406)의 누름에 대한 응답으로, 전자 디바이스(190)의 마이크로폰들이 활성화된다.
음성 사용자 인터페이스의 시각적 어포던스(Visual Affordance)를 위한 LED 설계 언어
[0092] 일부 구현들에서, 전자 디바이스(190)의 간단함 및 저비용이 주어지면, 전자 디바이스(190)는 풀 디스플레이 스크린보다는 풀 컬러 발광 다이오드(LED)들의 어레이를 포함한다. LED 설계 언어는 풀 컬러 LED들의 어레이의 조명을 구성하고, 전자 디바이스(190)의 상이한 음성 프로세싱 상태를 나타내는 상이한 시각적인 패턴을 가능하게 하도록 채택된다. LED 설계 언어는 풀 컬러 LED들의 고정 세트에 적용되는 컬러들, 패턴들 및 특정 모션의 문법(grammar)으로 구성된다. 전자 디바이스(190)의 사용 동안, 특정 디바이스 상태를 시각적으로 나타내기 위해 언어의 엘리먼트들이 결합된다. 일부 구현들에서, 풀 컬러 LED들의 조명은, 다른 중요한 상태들 중에서 전자 디바이스(190)의 수동 청취 및 능동 청취 상태들을 명확하게 묘사하는 것을 목표로 한다. 풀 컬러 LED들의 배치는 전자 디바이스(190)의 물리적 제약들을 따르며, 풀 컬러 LED들의 어레이는 특정 기술(예컨대, 구글 어시스턴트)에 기반하여 제3 자 OEM(Original Equipment Manufacturer)에 의해 제조된 스피커에서 사용될 수 있다.
[0093] 풀 컬러 LED들의 어레이가 특정 기술에 기반하여 제3 자 OEM에 의해 제조된 스피커에서 사용될 때, 풀 컬러 LED들 및 LED 설계 언어는 OEM 스피커의 대응하는 물리적 사용자 인터페이스에 맞도록 구성된다. 이러한 상황에서, OEM 스피커의 디바이스 상태들은 동일하게 유지되는 반면에, 디바이스 상태들을 나타내는 특정 시각적인 패턴들이 변동될 수 있다(예컨대, 풀 컬러 LED들의 컬러들은 상이할 수 있지만, 유사한 애니메이션 효과들로 디스플레이됨).
[0094] 음성-활성화 전자 디바이스(190)에서, 수동 청취는, 전자 디바이스(190)가 자신의 주변 환경으로부터 수집된 오디오 입력들을 프로세싱하지만 오디오 입력들을 저장하지 않거나 오디오 입력들을 임의의 원격 서버로 송신하지 않을 때, 발생한다. 반대로, 능동 청취는, 전자 디바이스(190)가 자신의 주변 환경으로부터 수집된 오디오 입력들을 저장하고 그리고/또는 원격 서버와 오디오 입력들을 공유할 때, 발생한다. 이러한 애플리케이션의 일부 구현들에 따라, 전자 디바이스(190)는, 전자 디바이스(190)의 사용자들의 프라이버시를 침해하지 않으면서, 자신의 주변 환경에서 오디오 입력들을 수동적으로만 청취한다.
[0095] 도 4g는 일부 구현들에 따른 음성-활성화 전자 디바이스(190)의 상면도이고, 도 4h는 일부 구현들에 따른 음성 프로세싱 상태들을 나타내기 위한 풀 컬러 LED들의 어레이에 의해 디스플레이되는 6개의 예시적인 시각적인 패턴들을 도시한다. 일부 구현들에서, 전자 디바이스(190)는 임의의 디스플레이 스크린을 포함하지 않으며, 풀 컬러 LED들(404)은 풀 디스플레이 스크린과 비교하여 간단하고 저가의 시각적인 사용자 인터페이스를 제공한다. 풀 컬러 LED들은 전자 디바이스의 최상부 표면 아래에 은닉되고, 그들이 점등되지 않을 때, 사용자에게 보이지 않을 수 있다. 도 4g 및 4h를 참조하면, 일부 구현들에서, 풀 컬러 LED들의 어레이(404)는 원형으로 물리적으로 배열된다. 예컨대, 도 4h(6)에 도시된 바와 같이, 풀 컬러 LED들(404)의 어레이는, 도 4f(1) 및 4f(2)에 각각 도시된 바와 같이, 시계 방향 또는 반시계 방향 스와이프를 추적하기 위해 순차적으로 점등될 수 있다.
[0096] 음성 프로세싱 상태를 시각적으로 나타내기 위한 방법이 전자 디바이스(190)에서 구현된다. 전자 디바이스(190)는 전자 디바이스에 근접한 환경으로부터 오디오 입력들을 하나 이상의 마이크로폰들(402)을 통해 수집하고, 오디오 입력들을 프로세싱한다. 프로세싱은 환경 내의 사용자로부터의 음성 입력들을 식별하는 것 및 이들에 응답하는 것 중 하나 이상을 포함한다. 전자 디바이스(190)는 복수의 미리 정의된 음성 프로세싱 상태들 중에서 프로세싱의 상태를 결정한다. 풀 컬러 LED들(404) 각각에 대해, 전자 디바이스(190)는 결정된 음성 프로세싱 상태와 연관된 개개의 미리 결정된 LED 조명 규격을 식별한다. 조명 규격은 LED 조명 지속기간, 펄스 레이트, 듀티 사이클, 컬러 시퀀스 및 밝기 중 하나 이상을 포함한다. 일부 구현들에서, 전자 디바이스(190)는, 음성 프로세싱 상태가 복수의 사용자들 중 하나와 연관된다고 결정하고, 복수의 사용자들 중 하나의 아이덴티티에 따라 풀 컬러 LED들(404)의 미리 결정된 LED 조명 규격들(예컨대, 컬러 시퀀스) 중 적어도 하나를 맞춤화함으로써 풀 컬러 LED들(404)의 미리 결정된 LED 조명 규격들을 식별한다.
[0097] 또한, 일부 구현들에서, 결정된 음성 프로세싱 상태에 따라, 풀 컬러 LED들의 컬러들은 컬러들의 미리 결정된 세트를 포함한다. 예컨대, 도 4h(2), 4h(4) 및 4h(7)-(10)를 참조하면, 컬러들의 미리 결정된 세트는 청색, 녹색, 황색 및 적색을 포함하는 구글 브랜드 컬러들을 포함하고, 풀 컬러 LED들의 어레이는 각각이 구글 브랜드 컬러들 중 하나와 연관된 4개의 사분면들로 분할된다.
[0098] 풀 컬러 LED들의 식별된 LED 조명 규격들에 따라, 전자 디바이스(190)는, 결정된 음성 프로세싱 상태를 나타내는 시각적인 패턴을 제공하기 위해, 풀 컬러 LED들의 어레이의 조명을 동기화한다. 일부 구현들에서, 음성 프로세싱 상태를 나타내는 시각적인 패턴은 복수의 별개의 LED 조명 픽셀들을 포함한다. 일부 구현들에서, 시각적인 패턴은 시작 세그먼트, 루프 세그먼트 및 종결 세그먼트를 포함한다. 루프 세그먼트는 풀 컬러 LED들의 LED 조명 지속기간들과 연관된 시간의 길이 동안 지속되고, 음성 프로세싱 상태의 길이와 매칭하도록 구성된다.
[0099] 일부 구현들에서, 전자 디바이스(190)는, LED 설계 언어에 의해 표현되는 20개 초과의 상이한 디바이스 상태들(복수의 미리 정의된 음성 프로세싱 상태들을 포함함)을 갖는다. 선택적으로, 복수의 미리 정의된 음성 프로세싱 상태들은 핫 워드 검출 상태, 청취 상태, 생각 상태 및 응답 상태 중 하나 이상을 포함한다.
1. 핫 워드 검출 상태 및 청취 상태
[00100] 일부 구현들에서, 전자 디바이스(190)는 핫 워드 검출 상태에서 하나 이상의 핫 워드들(예컨대, 미리 정의된 키 워드들)을 청취하고 인식한다. 전자 디바이스(190)가 핫 워드들을 인식할 때까지, 전자 디바이스(190)는 오디오 입력들을 음성 보조 서버(112) 또는 클라우드 캐스트 서비스 서버(118)로 전송하지 않는다. 핫 워드들의 검출 시에, 전자 디바이스(190)는, 마이크로폰들이 추가의 프로세싱을 위해 클라우드로 추가로 송신되는 오디오 입력들을 기록할 때 청취 상태에서 동작하기 시작한다. 청취 모드에서, 미리 결정된 시간적인 위치(예컨대, 핫 워드의 검출의 2초 전)로부터 시작하는 오디오 입력들은 음성 보조 서버(112) 또는 클라우드 캐스트 서비스 서버(118)로 송신되고, 이로써 더 자연스러운 대화형 흐름에 대한 무결절 질의들을 가능하게 한다.
[00101] 따라서, 일부 구현들에서, 결정된 음성 프로세싱 상태가 하나 이상의 미리 정의된 핫 워드들이 검출될 때 발생하는 핫 워드 검출 상태라는 결정에 따라, 풀 컬러 LED들의 어레이는, 교번으로 배열되고 순차적으로 점등되도록 구성되는 복수의 다이오드 그룹들로 분할되고, 복수의 다이오드 그룹들의 각각의 그룹 내의 다이오드들은 상이한 컬러들로 점등된다. 추가로, 일부 구현들에서, 결정된 음성 프로세싱 상태가 전자 디바이스가 환경으로부터 음성 입력들을 능동적으로 수신하고 수신된 음성 입력들을 원격 서버에 제공할 때 발생하는 청취 상태라는 결정에 따라, 모든 풀 컬러 LED들은 단일 컬러로 점등되고, 각각의 풀 컬러 LED들은 상이하고 변동하는 밝기로 조명한다.
[00102] 도 4h(1), (3) 및 (5)에 도시된 바와 같이, 시각적인 패턴(예컨대, 브리싱(breathing), 점등(flickering), 깜박임(blinking) 및 스와이핑)은 음성 프로세싱 상태와 연관된 인간 반응들과 일치하도록 구성될 수 있다. 예컨대, 구글 브랜드 컬러들을 사용하기 위한 가장 영향력 있는 부분들 중 하나로서, 세심한 웨이크-업 스핀에 이어지는 부드러운 브리싱 애니메이션은 느긋하면서도 열망하고 동시에 공손한 청취를 시그널링한다. 컬러들 자체들은 브랜드의 의미 및 구글 음성 어시스턴트의 구현을 떠오르게 한다. 이러한 엘리먼트들은, 비기록 및 기록 상태들을 매우 명확하게 보여주기 위해 디바이스의 데드 프론트(dead front)와 대비된다.
2. 생각 모드 또는 작업 모드
[00103] 구체적으로, 일부 구현들에서, 음성 프로세싱 상태가, 전자 디바이스가 사용자로부터 수신된 음성 입력들을 프로세싱할 때 발생하는 생각 상태라는 결정에 따라, 증가하는 수의 RGB 다이오드들은 LED 조명 지속기간의 제1 조명 사이클 동안 점등되고, 감소하는 수의 RGB 다이오드들은 제1 조명 사이클 다음의 제2 조명 사이클 동안 점등된다. 이러한 시각적인 패턴은 사람이 생각하고 있는 인간 반응과 일치한다. 선택적으로, 마이크로폰들(402)은 생각 모드에서 턴 오프된다.
[00104] 도 4h(3), 4h(5) 및 4h(6)을 참조하면, 진행 바들(progress bars)과 가장 유사한 모션 및 다른 타입들의 디지털 대기 신호들은 생각 모드를 나타내기 위해 시각적인 패턴으로 사용된다. 일부 구현들에서, 백색은 추적(chasing) 애니메이션과 함께 사용된다. 브랜드 컬러들은 의도적으로 다른 음성 프로세싱 상태들에 대해 더 양호한 구별 대비(distinction contrast) 및 하이라이팅을 제공하기 위해 여기에 사용되지 않는다.
3. 응답 모드 또는 말하기 모드
[00105] 대안적으로, 일부 구현들에서, 음성 프로세싱 상태가, 전자 디바이스가 사용자로부터 수신된 음성 입력들에 대한 응답으로 음성 메시지를 브로드캐스팅할 때 발생하는 응답 상태라는 결정에 따라, 풀 컬러 LED들의 서브세트는 단일 컬러의 뚜렷하고 변동하는 밝기로 점등되고, 풀 컬러 LED들의 서브세트 각각의 밝기의 변동은 사용자로부터의 음성 입력들과 연관된 음성 속도와 일치한다. 일부 구현들에서, 말하기 모드는 음성 어시스턴트가 자신의 촙들(chops)을 보여준다. 컬러들(예컨대, 구글 브랜드 컬러들)의 세트는 시각적인 패턴으로 사용되어, 풀 컬러 LED들이 음성 질의에 대한 종결(closure), 즉, 질문이 답변되었다는 것을 시각적으로 나타낸다.
스마트 미디어 환경에 수반되는 개별적인 디바이스들
[00106] 도 5는 일부 구현들에 따른, 스마트 미디어 환경(100)에서 사용자 음성 커맨드들을 수집하기 위한 음성 인터페이스로서 적용되는 예시적인 전자 디바이스(190)를 예시하는 블록도이다. 전자 디바이스(190)는, 통상적으로, 하나 이상의 프로세싱 유닛(CPU)들(502), 하나 이상의 네트워크 인터페이스들(504), 메모리(506) 및 이들 컴포넌트들(때때로 칩셋이라 불림)을 상호연결하기 위한 하나 이상의 통신 버스들(508)을 포함한다. 전자 디바이스(190)는 사용자 입력을 가능하게 하는 하나 이상의 입력 디바이스들(510), 이를테면, 도 4a-4h에 도시된 버튼(406), 터치 감지 어레이 및 하나 이상의 마이크로폰들(402)을 포함한다. 전자 디바이스(190)는 또한 하나 이상의 스피커들(422) 및 풀 컬러 LED들(404)의 어레이를 포함하는 하나 이상의 출력 디바이스들(512)을 포함한다.
[00107] 메모리(506)는 고속 랜덤 액세스 메모리, 이를테면, DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 고체 상태 메모리 디바이스들을 포함하고, 선택적으로, 비-휘발성 메모리, 이를테면, 하나 이상의 자기 디스크 저장 디바이스들, 하나 이상의 광 디스크 저장 디바이스들, 하나 이상의 플래시 메모리 디바이스들, 또는 하나 이상의 다른 비-휘발성 고체 상태 저장 디바이스들을 포함한다. 메모리(506)는, 선택적으로, 하나 이상의 프로세싱 유닛들(502)로부터 원격에 위치된 하나 이상의 저장 디바이스들을 포함한다. 메모리(506) 또는 대안적으로 메모리(506) 내의 비-휘발성 메모리는 비-일시적인 컴퓨터 판독 가능 저장 매체를 포함한다. 일부 구현들에서, 메모리(506) 또는 메모리(506)의 비-일시적 컴퓨터 판독 가능 저장 매체는 다음의 프로그램들, 모듈들 및 데이터 구조들, 또는 이들의 서브세트 또는 슈퍼세트를 저장한다.
● 다양한 기본 시스템 서비스들을 처리하고, 하드웨어 종속적인 작업들을 수행하기 위한 절차들을 포함하는 운영 시스템(516);
● 하나 이상의 네트워크 인터페이스들(504)(유선 또는 무선) 및 하나 이상의 네트워크들(110), 이를테면, 인터넷, 다른 광역 네트워크들, 로컬 영역 네트워크들, 대도시권 네트워크들 등을 통해, 전자 디바이스(190)를 다른 디바이스들(예컨대, 서버 시스템(140), 캐스트 디바이스(108), 클라이언트 디바이스(104), 스마트 홈 디바이스들(120) 및 다른 전자 디바이스(들)(190))에 연결하기 위한 네트워크 통신 모듈(518);
● 하나 이상의 출력 디바이스들(512)을 통해 전자 디바이스(190)에서 정보의 프리젠테이션을 가능하게 하는 입력들을 하나 이상의 입력 디바이스들(510)을 통해 수신하기 위한 입력/출력 제어 모듈로서, 다음을 포함함:
○ 전자 디바이스(190)를 둘러싼 환경에서 수집된 오디오 입력들 또는 음성 메시지들을 프로세싱하거나, 또는 음성 보조 서버(112) 또는 클라우드 캐스트 서비스 서버(118)에서 프로세싱하기 위해 수집된 오디오 입력들 또는 음성 메시지들을 준비하기 위한 음성 프로세싱 모듈(522);
○ 전자 디바이스(190)의 디바이스 상태들에 따라 풀 컬러 LED들(404) 상에 시각적인 패턴들을 생성하기 위한 LED 제어 모듈(524); 및
○ 전자 디바이스(190)의 최상부 표면 상의 터치 이벤트들을 감지하기 위한 터치 감지 모듈(526); 및
● 전자 디바이스(190)와 연관된 데이터를 적어도 저장하는 음성-활성화 디바이스 데이터(530)로서, 다음을 포함함:
○ 공통 디바이스 설정들(예컨대, 서비스 티어(tier), 디바이스 모델, 저장 용량, 프로세싱 능력들, 통신 능력들 등), 사용자 도메인에서 사용자 계정의 정보, 및 풀 컬러 LED들에 의해 디스플레이된 하나 이상의 시각적인 패턴들과 연관된 디스플레이 규격들(536)을 포함하는, 전자 디바이스(190) 자체와 연관된 정보를 저장하기 위한 음성 디바이스 설정들(532); 및
○ 오디오 신호들, 음성 메시지들, 응답 메시지들 및 전자 디바이스(190)의 음성 인터페이스 기능들에 관련된 다른 데이터를 저장하기 위한 음성 제어 데이터(534).
[00108] 구체적으로, 풀 컬러 LED들에 의해 디스플레이되는 하나 이상의 시각적인 패턴들과 연관된 디스플레이 규격들(536)은 하나 이상의 시각적인 패턴들 각각과 연관된 미리 결정된 LED 조명 규격들을 포함한다. 풀 컬러 LED들 각각에 대해, 조명 규격들은 개개의 시각적인 패턴과 연관된 LED 조명 지속기간, 맥박 속도, 듀티 사이클, 컬러 시퀀스 및 밝기 중 하나 이상을 포함한다. 각각의 시각적인 패턴은 적어도 하나의 음성 프로세싱 상태에 대응한다.
[00109] 위의 식별된 엘리먼트들 각각은 이전에 언급된 메모리 디바이스들 중 하나 이상에 저장될 수 있고, 위에 설명된 기능을 수행하기 위한 명령들의 세트에 대응한다. 위의 식별된 모듈들 또는 프로그램들(즉, 명령들의 세트들)은 별개의 소프트웨어 프로그램들, 절차들, 모듈들 또는 데이터 구조들로 구현될 필요가 없으며, 따라서 이들 모듈들의 다양한 서브세트들은 다양한 구현들에서 결합되거나 그렇지 않다면 재배열될 수 있다. 일부 구현들에서, 메모리(506)는, 선택적으로, 위의 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 또한, 메모리(506)는, 선택적으로, 위에 설명되지 않은 부가적인 모듈들 및 데이터 구조들을 저장한다.
[00110] 도 6은 일부 구현들에 따른 스마트 미디어 환경(100)에서 미디어 콘텐츠의 디스플레이의 자동 제어를 위해 적용되는 예시적인 캐스트 디바이스(108)를 예시하는 블록도이다. 캐스트 디바이스(108)는, 통상적으로, 하나 이상의 프로세싱 유닛(CPU)들(602), 하나 이상의 네트워크 인터페이스들(604), 메모리(606) 및 이들 컴포넌트들(때때로 칩셋이라 불림)을 상호연결하기 위한 하나 이상의 통신 버스들(608)을 포함한다.
[00111] 메모리(606)는 고속 랜덤 액세스 메모리, 이를테면, DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 고체 상태 메모리 디바이스들을 포함하고, 선택적으로, 비-휘발성 메모리, 이를테면, 하나 이상의 자기 디스크 저장 디바이스들, 하나 이상의 광 디스크 저장 디바이스들, 하나 이상의 플래시 메모리 디바이스들, 또는 하나 이상의 다른 비-휘발성 고체 상태 저장 디바이스들을 포함한다. 메모리(606)는, 선택적으로, 하나 이상의 프로세싱 유닛들(602)로부터 원격에 위치된 하나 이상의 저장 디바이스들을 포함한다. 메모리(606) 또는 대안적으로 메모리(606) 내의 비-휘발성 메모리는 비-일시적인 컴퓨터 판독 가능 저장 매체를 포함한다. 일부 구현들에서, 메모리(606) 또는 메모리(606)의 비-일시적 컴퓨터 판독 가능 저장 매체는 다음의 프로그램들, 모듈들 및 데이터 구조들, 또는 이들의 서브세트 또는 슈퍼세트를 저장한다:
● 다양한 기본 시스템 서비스들을 처리하고, 하드웨어 종속적인 작업들을 수행하기 위한 절차들을 포함하는 운영 시스템(616);
● 하나 이상의 네트워크 인터페이스들(604)(유선 또는 무선) 및 하나 이상의 네트워크들(110), 이를테면, 인터넷, 다른 광역 네트워크들, 로컬 영역 네트워크들, 대도시권 네트워크들, 케이블 텔레비전 시스템들, 위성 텔레비전 시스템들, IPTV 시스템들 등을 통해, 캐스트 디바이스(108)를 다른 컴퓨터들 또는 시스템들(예컨대, 서버 시스템(140), 스마트 홈 디바이스들(120) 및 클라이언트 디바이스(104))에 연결하기 위한 네트워크 통신 모듈(618);
● 하나 이상의 콘텐츠 소스들(114)로부터 수신된 콘텐츠 신호들을 디코딩하고, 디코딩된 신호들의 콘텐츠를 캐스트 디바이스(108)에 커플링된 출력 디스플레이 디바이스(106)로 출력하기 위한 콘텐츠 디코딩 모듈(620);
● 미디어 디스플레이를 제어하기 위한, 예컨대, 클라우드 캐스트 서비스 서버(116)로부터 수신된 인스턴트 미디어 플레이 정보에 따라 출력 디바이스(106)로의 미디어 출력을 발생시키기 위한 하나 이상의 미디어 플레이 애플리케이션들(624)을 포함하는 자동 미디어 디스플레이 모듈(624); 및
● 미디어 디스플레이의 자동 제어와 연관된 데이터를 (예컨대, 자동 미디어 출력 모드 및 후속(follow-up) 모드에서) 적어도 저장하는 캐스트 디바이스 데이터(626)로서, 다음을 포함함:
○ 계정 액세스 정보, 디바이스 설정들(예컨대, 서비스 티어, 디바이스 모델, 저장 용량, 프로세싱 능력들, 통신 능력들 등)에 대한 정보 및 자동 미디어 디스플레이 제어에 대한 정보 중 하나 이상을 포함하는, 캐스트 디바이스 애플리케이션의 사용자 계정들과 연관된 정보를 저장하기 위한 캐스트 디바이스 설정들(628); 및
○ 계정 액세스 정보, 미디어 콘텐츠 타입들의 사용자 선호도들, 리뷰 이력 데이터, 및 자동 미디어 디스플레이 제어에 대한 정보 중 하나 이상을 포함하는, 하나 이상의 미디어 플레이어 애플리케이션들의 사용자 계정들과 연관된 정보를 저장하기 위한 미디어 플레이어 애플리케이션 설정들(630).
[00112] 위의 식별된 엘리먼트들 각각은 이전에 언급된 메모리 디바이스들 중 하나 이상에 저장될 수 있고, 위에 설명된 기능을 수행하기 위한 명령들의 세트에 대응한다. 위의 식별된 모듈들 또는 프로그램들(즉, 명령들의 세트들)은 별개의 소프트웨어 프로그램들, 절차들, 모듈들 또는 데이터 구조들로 구현될 필요가 없으며, 따라서 이들 모듈들의 다양한 서브세트들은 다양한 구현들에서 결합되거나 그렇지 않다면 재배열될 수 있다. 일부 구현들에서, 메모리(606)는, 선택적으로, 위의 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 또한, 메모리(606)는, 선택적으로, 위에 설명되지 않은 부가적인 모듈들 및 데이터 구조들을 저장한다.
[00113] 도 7은 일부 구현들에 따른 스마트 미디어 환경(100)의 서버 시스템(140) 내의 예시적인 서버를 예시하는 블록도이다. 예시적인 서버는 클라우드 캐스트 서비스 서버(116) 중 하나이다. 서버(140)는, 통상적으로, 하나 이상의 프로세싱 유닛(CPU)들(702), 하나 이상의 네트워크 인터페이스들(704), 메모리(706), 및 이들 컴포넌트들(때때로 칩셋으로 불림)을 상호연결하기 위한 하나 이상의 통신 버스들(708)을 포함한다. 서버(140)는 사용자 입력을 가능하게 하는 하나 이상의 입력 디바이스들(710), 이를테면, 키보드, 마우스, 음성 커맨드 입력 유닛 또는 마이크로폰, 터치 스크린 디스플레이, 터치 감지 입력 패드, 제스처 캡처링 카메라 또는 다른 입력 버튼들 또는 제어부들 등을 포함할 수 있다. 또한, 서버(140)는, 키보드를 보충하거나 대체하기 위해 마이크로폰 및 음성 인식 또는 카메라 및 제스처 인식을 사용할 수 있다. 일부 구현들에서, 서버(140)는 하나 이상의 카메라들, 스캐너들 또는, 예컨대, 전자 디바이스들 상에 인쇄된 그래픽 시리즈 코드들의 이미지들을 캡처하기 위한 광 센서 유닛들을 포함한다. 서버(140)는 또한, 하나 이상의 스피커들 및/또는 하나 이상의 시각적인 디스플레이들을 포함하는, 사용자 인터페이스들 및 콘텐츠 디스플레이의 프리젠테이션을 가능하게 하는 하나 이상의 출력 디바이스들(712)을 포함할 수 있다.
[00114] 메모리(706)는 고속 랜덤 액세스 메모리, 이를테면, DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 고체 상태 메모리 디바이스들을 포함하고, 선택적으로, 비-휘발성 메모리, 이를테면, 하나 이상의 자기 디스크 저장 디바이스들, 하나 이상의 광 디스크 저장 디바이스들, 하나 이상의 플래시 메모리 디바이스들, 또는 하나 이상의 다른 비-휘발성 고체 상태 저장 디바이스들을 포함한다. 메모리(706)는, 선택적으로, 하나 이상의 프로세싱 유닛들(702)로부터 원격에 위치된 하나 이상의 저장 디바이스들을 포함한다. 메모리(706) 또는 대안적으로 메모리(706) 내의 비-휘발성 메모리는 비-일시적 컴퓨터 판독 가능 저장 매체를 포함한다. 일부 구현들에서, 메모리(706) 또는 메모리(706)의 비-일시적 컴퓨터 판독 가능 저장 매체는 다음의 프로그램들, 모듈들 및 데이터 구조들, 또는 이들의 서브세트 또는 슈퍼세트를 저장한다:
● 다양한 기본 시스템 서비스들을 처리하고, 하드웨어 종속적인 작업들을 수행하기 위한 절차들을 포함하는 운영 시스템(716);
● 하나 이상의 네트워크 인터페이스들(704)(유선 또는 무선) 및 하나 이상의 네트워크들(110), 이를테면, 인터넷, 다른 광역 네트워크들, 로컬 영역 네트워크들, 대도시권 네트워크들 등을 통해, 서버 시스템(140)을 다른 디바이스들(예컨대, 서버 시스템(140), 클라이언트 디바이스(104), 캐스트 디바이스(108) 및 스마트 홈 디바이스들(120) 내의 다양한 서버들)에 연결하기 위한 네트워크 통신 모듈(718);
● 클라이언트 디바이스(104)에서 정보의 프리젠테이션을 가능하게 하기 위한 사용자 인터페이스 모듈(720)(예컨대, 애플리케이션(들)(826-830), 위젯들, 웹사이트들 및 그의 웹 페이지들 및/또는 게임들, 오디오 및/또는 비디오 콘텐츠, 텍스트 등을 제시하기 위한 그래픽 사용자 인터페이스);
● 서버 측 상의 실행을 위한 커맨드 실행 모듈(721)(예컨대, 게임들, 소셜 네트워크 애플리케이션들, 스마트 홈 애플리케이션들 및/또는 클라이언트 디바이스(104), 캐스트 디바이스들(108), 전자 디바이스(190) 및 스마트 홈 디바이스들(120)을 제어하고, 그러한 디바이스들에 의해 캡처된 데이터를 리뷰하기 위한 다른 웹 또는 비-웹 기반 애플리케이션들)로서, 다음 중 하나 이상을 포함함:
○ 캐스트 디바이스(들)(108)와 연관된 디바이스 프로비저닝, 디바이스 제어 및 사용자 계정 관리를 위한 서버-측 기능들을 제공하도록 실행되는 캐스트 디바이스 애플리케이션(722);
○ 대응하는 미디어 소스들과 연관된 미디어 디스플레이 및 사용자 계정 관리를 위한 서버-측 기능들을 제공하도록 실행되는 하나 이상의 미디어 플레이어 애플리케이션들(724);
○ 대응하는 스마트 홈 디바이스(120)의 디바이스 프로비저닝, 디바이스 제어, 데이터 프로세싱 및 데이터 리뷰를 위한 서버-측 기능들을 제공하도록 실행되는 하나 이상의 스마트 홈 디바이스 애플리케이션들(726); 및
○ 전자 디바이스(190)로부터 수신된 음성 메시지의 음성 프로세싱을 배열하거나, 사용자 음성 커맨드 및 캐스트 디바이스(108) 또는 다른 전자 디바이스(190)의 지정을 추출하기 위해 음성 메시지를 직접 프로세싱하도록 실행되는 음성 보조 애플리케이션(728); 및
● 미디어 디스플레이의 자동 제어와 연관된 데이터를 (예컨대, 자동 미디어 출력 모드 및 후속 모드에서) 적어도 저장하는 서버 시스템 데이터(730)로서, 다음 중 하나 이상을 포함함:
○ 공통 디바이스 설정들(예컨대, 서비스 티어, 디바이스 모델, 저장 용량, 프로세싱 능력들, 통신 능력들 등)을 포함하는, 클라이언트 디바이스(104)와 연관된 정보, 및 자동 미디어 디스플레이 제어에 대한 정보를 저장하기 위한 클라이언트 디바이스 설정들(732);
○ 계정 액세스 정보, 디바이스 설정들(예컨대, 서비스 티어, 디바이스 모델, 저장 용량, 프로세싱 능력들, 통신 능력들 등)에 대한 정보 및 자동 미디어 디스플레이 제어에 대한 정보 중 하나 이상을 포함하는, 캐스트 디바이스 애플리케이션(722)의 사용자 계정들과 연관된 정보를 저장하기 위한 캐스트 디바이스 설정들(734);
○ 계정 액세스 정보, 미디어 콘텐츠 타입들의 사용자 선호도들, 리뷰 이력 데이터, 및 자동 미디어 디스플레이 제어에 대한 정보 중 하나 이상을 포함하는, 하나 이상의 미디어 플레이어 애플리케이션들(724)의 사용자 계정들과 연관된 정보를 저장하기 위한 미디어 플레이어 애플리케이션 설정들(736);
○ 계정 액세스 정보, 하나 이상의 스마트 홈 디바이스들(120)(예컨대, 서비스 티어, 디바이스 모델, 저장 용량, 프로세싱 능력들, 통신 능력들 등)에 대한 정보 중 하나 이상을 포함하는, 스마트 홈 애플리케이션들(726)의 사용자 계정들과 연관된 정보를 저장하기 위한 스마트 홈 디바이스 설정들(738); 및
○ 계정 액세스 정보, 하나 이상의 전자 디바이스들(190)(예컨대, 서비스 티어, 디바이스 모델, 저장 용량, 프로세싱 능력들, 통신 능력들 등)에 대한 정보 중 하나 이상을 포함하는, 음성 보조 애플리케이션(728)의 사용자 계정들과 연관된 정보를 저장하기 위한 음성 보조 데이터(740).
[00115] 서버(140)가 클라우드 캐스트 서비스 서버(116)를 포함할 때, 메모리(706) 또는 메모리(706)의 비-일시적 컴퓨터 판독 가능 저장 매체는 다음의 프로그램들, 모듈들 및 데이터 구조들, 또는 이들의 서브세트 또는 슈퍼세트를 저장한다;
● 클라우드 캐스트 서비스 서버(116)에 커플링된 디바이스 레지스트리(118)를 관리하기 위한 디바이스 등록 모듈(750);
● 클라우드 캐스트 사용자 도메인에 커플링된 캐스트 디바이스(들)(180), 전자 디바이스(들)(190) 및 스마트 홈 디바이스(들)(120) 중 하나 이상으로, 음성 메시지에서 식별된 사용자 음성 커맨드를 중계하기 위한 클라우드 캐스트 애플리케이션(760); 및
● 클라우드 캐스트 사용자 도메인에 커플링된 캐스트 디바이스(들)(180), 전자 디바이스(들)(190) 및 스마트 홈 디바이스(들)(120)의 상태들을 유지하기 위한 상태 보고 모듈(770).
[00116] 위의 식별된 엘리먼트들 각각은 이전에 언급된 메모리 디바이스들 중 하나 이상에 저장될 수 있고, 위에 설명된 기능을 수행하기 위한 명령들의 세트에 대응한다. 위의 식별된 모듈들 또는 프로그램들(즉, 명령들의 세트들)은 별개의 소프트웨어 프로그램들, 절차들, 모듈들 또는 데이터 구조들로 구현될 필요가 없으며, 따라서 이들 모듈들의 다양한 서브세트들은 다양한 구현들에서 결합되거나 그렇지 않다면 재배열될 수 있다. 일부 구현들에서, 메모리(706)는, 선택적으로, 위의 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 또한, 메모리(706)는, 선택적으로 위에 설명되지 않은 부가적인 모듈들 및 데이터 구조들을 저장한다.
[00117] 도 8은 일부 구현들에 따라 스마트 미디어 환경(100)에서 미디어 디스플레이의 자동 제어를 위해 적용되는 예시적인 클라이언트 디바이스(104)를 예시하는 블록도이다. 클라이언트 디바이스의 예들은 모바일 폰, 태블릿 컴퓨터 및 웨어러블 개인 디바이스를 포함하지만, 이에 제한되지 않는다. 클라이언트 디바이스(104)는, 통상적으로, 하나 이상의 프로세싱 유닛(CPU)들(802), 하나 이상의 네트워크 인터페이스들(804), 메모리(806) 및 이들 컴포넌트(때때로 칩셋이라 불림)를 상호연결하기 위한 하나 이상의 통신 버스들(808)을 포함한다. 클라이언트 디바이스(104)는 사용자 입력을 가능하게 하는 하나 이상의 입력 디바이스들(810), 이를테면, 키보드, 마우스, 음성-커맨드 입력 유닛 또는 마이크로폰, 터치 스크린 디스플레이, 터치-감지 입력 패드, 제스처 캡처링 카메라 또는 다른 입력 버튼들 또는 제어부들을 포함한다. 또한, 일부 클라이언트 디바이스들(104)은, 키보드를 보충하거나 대체하기 위해 마이크로폰 및 음성 인식 또는 카메라 및 제스처 인식을 사용한다. 일부 구현들에서, 클라이언트 디바이스(104)는 하나 이상의 카메라들, 스캐너들 또는, 예컨대, 전자 디바이스들 상에 인쇄된 그래픽 시리즈 코드들의 이미지들을 캡처하기 위한 광 센서 유닛들을 포함한다. 클라이언트 디바이스(104)는 또한 하나 이상의 스피커들 및/또는 하나 이상의 시각적인 디스플레이들을 포함하는, 사용자 인터페이스들 및 디스플레이 콘텐츠의 프리젠테이션을 가능하게 하는 하나 이상의 출력 디바이스들(812)을 포함한다. 선택적으로, 클라이언트 디바이스(104)는, 클라이언트 디바이스(104)의 위치를 결정하기 위한 위치 검출 디바이스(814), 이를테면, GPS(global positioning satellite) 또는 다른 지리적 위치 수신기를 포함한다.
[00118] 메모리(806)는 고속 랜덤 액세스 메모리, 이를테면, DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 고체 상태 메모리 디바이스들을 포함하고, 선택적으로, 비-휘발성 메모리, 이를테면, 하나 이상의 자기 디스크 저장 디바이스들, 하나 이상의 광 디스크 저장 디바이스들, 하나 이상의 플래시 메모리 디바이스들, 또는 하나 이상의 다른 비-휘발성 고체 상태 저장 디바이스들을 포함한다. 메모리(806)는, 선택적으로, 하나 이상의 프로세싱 유닛들(802)로부터 원격에 위치된 하나 이상의 저장 디바이스들을 포함한다. 메모리(806), 또는 대안적으로 메모리(806) 내의 비-휘발성 메모리는 비-일시적인 컴퓨터 판독 가능 저장 매체를 포함한다. 일부 구현들에서, 메모리(806) 또는 메모리(806)의 비-일시적 컴퓨터 판독 가능 저장 매체는 다음의 프로그램들, 모듈들 및 데이터 구조들, 또는 이들의 서브세트 또는 슈퍼세트를 저장한다;
● 다양한 기본 시스템 서비스들을 처리하고, 하드웨어 종속적인 작업들을 수행하기 절차들을 포함하는 운영 시스템(816);
● 하나 이상의 네트워크 인터페이스들(804)(유선 또는 무선) 및 하나 이상의 네트워크들(110), 이를테면, 인터넷, 다른 광역 네트워크들, 로컬 영역 네트워크들, 대도시권 네트워크들 등을 통해, 클라이언트 디바이스(104)를 다른 디바이스들(예컨대, 서버 시스템(140), 캐스트 디바이스(108), 전자 디바이스(190), 스마트 홈 디바이스들(120) 및 다른 클라이언트 디바이스들)(104))에 연결하기 위한 네트워크 통신 모듈(818);
● 하나 이상의 출력 디바이스들(812)(예컨대, 디스플레이들, 스피커들 등)을 통해 클라이언트 디바이스(104)에서 정보의 프리젠테이션을 가능하게 하기 위한 사용자 인터페이스 모듈(820)(예컨대, 애플리케이션(들)(826-830), 위젯들, 웹사이트들 및 그의 웹 페이지들 및/또는 게임들, 오디오 및/또는 비디오 콘텐츠, 텍스트 등을 제시하기 위한 그래픽 사용자 인터페이스);
● 하나 이상의 입력 디바이스들(810) 중 하나로부터 하나 이상의 사용자 입력들 또는 상호작용들을 검출하고, 검출된 입력 또는 상호작용을 해석하기 위한 입력 프로세싱 모듈(822);
● 캐스트 디바이스(108), 전자 디바이스(190), 미디어 애플리케이션 또는 스마트 홈 디바이스(120)와 연관된 사용자 계정에 로그인하고, 사용자 계정과 연관되면, 캐스트 디바이스(108), 전자 디바이스(190) 또는 스마트 홈 디바이스(120)를 제어하고, 사용자 계정과 연관된 설정들 및 데이터를 편집 및 리뷰하기 위한 웹 인터페이스를 포함하는, 웹사이트들 및 그의 웹 페이지들을 내비게이팅, (예컨대, HTTP를 통해) 요청 및 디스플레이하기 위한 웹 브라우저 모듈(824);
● 클라이언트 디바이스에 의한 실행을 위한 하나 이상의 애플리케이션들(예컨대, 게임들, 소셜 네트워크 애플리케이션들, 스마트 홈 애플리케이션들, 및/또는 캐스트 디바이스(108), 전자 디바이스(190) 및/또는 스마트 홈 디바이스들(120)을 제어하고, 그러한 디바이스들에 의해 캡처된 데이터를 리뷰하기 위한 다른 웹 또는 비-웹 기반 애플리케이션들)로서, 다음 중 하나 이상을 포함함:
○ 캐스트 디바이스(들)(108)와 연관된 디바이스 프로비저닝, 디바이스 제어 및 사용자 계정 관리를 위한 클라이언트-측 기능들을 제공하도록 실행되는 캐스트 디바이스 애플리케이션(826);
○ 전자 디바이스(190)와 연관된 디바이스 프로비저닝, 디바이스 제어 및 사용자 계정 관리를 위한 클라이언트-측 기능들을 제공하도록 실행되는 음성-활성화 디바이스 애플리케이션(827);
○ 대응하는 미디어 소스들과 연관된 미디어 디스플레이 및 사용자 계정 관리를 위한 클라이언트-측 기능들을 제공하도록 실행되는 하나 이상의 미디어 플레이어 애플리케이션들(828); 및
○ 대응하는 스마트 홈 디바이스들(120)의 디바이스 프로비저닝, 디바이스 제어, 데이터 프로세싱 및 데이터 리뷰를 위해 클라이언트-측 기능들을 제공하도록 실행되는 하나 이상의 스마트 홈 디바이스 애플리케이션들(830); 및
● 미디어 디스플레이의 자동 제어와 연관된 데이터를 (예컨대, 자동 미디어 출력 모드 또는 후속 모드에서) 적어도 저장하는 클라이언트 데이터(832)로서, 다음을 포함함:
○ 공통 디바이스 설정들(예컨대, 서비스 티어, 디바이스 모델, 저장 용량, 프로세싱 능력들, 통신 능력들 등)을 포함하는, 클라이언트 디바이스(104) 그 자체와 연관된 정보, 및 자동 미디어 디스플레이 제어에 대한 정보를 저장하기 위한 클라이언트 디바이스 설정들(834);
○ 계정 액세스 정보, 디바이스 설정들(예컨대, 서비스 티어, 디바이스 모델, 저장 용량, 프로세싱 능력들, 통신 능력들 등)에 대한 정보, 및 자동 미디어 디스플레이 제어에 대한 정보 중 하나 이상을 포함하는, 캐스트 디바이스 애플리케이션(826)의 사용자 계정들과 연관된 정보를 저장하기 위한 캐스트 디바이스 설정들(836);
○ 계정 액세스 정보, 미디어 콘텐츠 타입들의 사용자 선호도들, 리뷰 이력 데이터, 및 자동 미디어 디스플레이 제어에 대한 정보 중 하나 이상을 포함하는, 하나 이상의 미디어 플레이어 애플리케이션들(828)의 사용자 계정들과 연관된 정보를 저장하기 위한 미디어 플레이어 애플리케이션 설정들(838);
○ 계정 액세스 정보, 스마트 홈 디바이스 설정들(예컨대, 서비스 티어, 디바이스 모델, 저장 용량, 프로세싱 능력들, 통신 능력들 등)에 대한 정보 중 하나 이상을 포함하는, 스마트 홈 애플리케이션들(830)의 사용자 계정들과 연관된 정보를 저장하기 위한 스마트 홈 디바이스 설정들(840); 및
○ 계정 액세스 정보, 전자 디바이스 설정들(예컨대, 서비스 티어, 디바이스 모델, 저장 용량, 프로세싱 능력들, 통신 능력들 등)에 대한 정보 중 하나 이상을 포함하는, 음성-활성화 디바이스 애플리케이션(827)의 사용자 계정들과 연관된 정보를 저장하기 위한 음성-활성화 디바이스 설정들(842).
[00119] 일부 구현들에서, 캐스트 디바이스 애플리케이션(826), 음성-활성화 디바이스 애플리케이션(827), 미디어 플레이어 애플리케이션들(828) 및 스마트 홈 디바이스 애플리케이션들(830) 각각은 클라이언트 디바이스(104)의 출력 디바이스(812) 상의 개개의 사용자 인터페이스의 디스플레이를 발생시킨다. 일부 구현들에서, 캐스트 디바이스 애플리케이션(826), 음성-활성화 디바이스 애플리케이션(827), 미디어 플레이어 애플리케이션들(828) 및 스마트 홈 디바이스 애플리케이션들(830)과 연관된 사용자의 사용자 계정들은 단일 클라우드 캐스트 서비스 계정에 링크된다. 사용자는 캐스트 디바이스 애플리케이션(826), 음성-활성화 디바이스 애플리케이션(827), 미디어 플레이어 애플리케이션들(828) 및 스마트 홈 디바이스 애플리케이션들(830) 모두에 로그온하기 위해 클라우드 캐스트 서비스 계정 정보를 사용할 수 있다. 일부 구현들에서, 메모리(806), 또는 메모리(806)의 비-일시적인 컴퓨터 판독 가능 저장 매체는, 동일한 클라우드 캐스트 서비스 계정(예컨대, 구글 사용자 계정)에 링크된 캐스트 디바이스(108), 스마트 홈 디바이스(120) 및 전자 디바이스(190)와 연관된 기능 제어 및 사용자 계정 관리를 위한 클라이언트-측 기능들을 제공하도록 실행되는 클라우드 캐스트 애플리케이션(844)을 저장한다.
[00120] 위의 식별된 엘리먼트들 각각은 이전에 언급된 메모리 디바이스들 중 하나 이상에 저장될 수 있고, 위에 설명된 기능을 수행하기 위한 명령들의 세트에 대응한다. 위의 식별된 모듈들 또는 프로그램들(즉, 명령들의 세트들)은 별개의 소프트웨어 프로그램들, 절차들, 모듈들 또는 데이터 구조들로 구현될 필요가 없으며, 따라서 이들 모듈들의 다양한 서브세트들은 다양한 구현들에서 결합되거나 그렇지 않다면 재배열될 수 있다. 일부 구현들에서, 메모리(806)는, 선택적으로, 위의 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 또한, 메모리(806)는, 선택적으로, 위에 설명되지 않은 부가적인 모듈들 및 데이터 구조들을 저장한다.
[00121] 도 9는 일부 구현들에 따른 스마트 미디어 환경(100)의 예시적인 스마트 홈 디바이스(120)를 예시하는 블록도이다. 스마트 홈 디바이스(120)는, 통상적으로, 하나 이상의 프로세싱 유닛(CPU)들(902), 하나 이상의 네트워크 인터페이스들(904), 메모리(906) 및 이들 컴포넌트(때때로 칩셋이라 불림)를 상호연결하기 위한 하나 이상의 통신 버스들(908)을 포함한다. 메모리(906)는 고속 랜덤 액세스 메모리, 이를테면, DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 고체 상태 메모리 디바이스들을 포함하고, 선택적으로, 비-휘발성 메모리, 이를테면, 하나 이상의 자기 디스크 저장 디바이스들, 하나 이상의 광 디스크 저장 디바이스들, 하나 이상의 플래시 메모리 디바이스들, 또는 하나 이상의 다른 비-휘발성 고체 상태 저장 디바이스들을 포함한다. 메모리(906)는, 선택적으로, 하나 이상의 프로세싱 유닛들(902)로부터 원격에 위치된 하나 이상의 저장 디바이스들을 포함한다. 메모리(906) 또는 대안적으로 메모리(906) 내의 비-휘발성 메모리는 비-일시적인 컴퓨터 판독 가능 저장 매체를 포함한다. 일부 구현들에서, 메모리(906) 또는 메모리(906)의 비-일시적 컴퓨터 판독 가능 저장 매체는 다음의 프로그램들, 모듈들 및 데이터 구조들, 또는 이들의 서브세트 또는 슈퍼세트를 저장한다:
● 다양한 기본 시스템 서비스들을 처리하고, 스마트 홈 디바이스(120)에 대한 하드웨어 의존적인 작업들을 수행하기 위한 절차들을 포함하는 운영 시스템(916);
● 하나 이상의 네트워크 인터페이스들(904)(유선 또는 무선) 및 하나 이상의 네트워크들(110), 이를테면, 인터넷, 다른 광역 네트워크들, 로컬 영역 네트워크들, 대도시권 네트워크들 등을 통해, 스마트 홈 디바이스(120)를 다른 컴퓨터들 또는 시스템들(예컨대, 서버 시스템(140), 클라이언트 디바이스(104), 캐스트 디바이스(108), 전자 디바이스(190) 및 다른 스마트 홈 디바이스들(120))에 연결하기 위한 네트워크 통신 모듈(918);
● 스마트 홈 디바이스(120)가 자신의 지정된 기능들을 구현할 수 있게 하기 위한(예컨대, 스마트 홈 디바이스(120)가 비디오 카메라(132)를 포함할 때, 멀티미디어 데이터 스트림들을 캡처 및 생성하고, 멀티미디어 데이터 스트림을 연속적인 피드로서 또는 짧은 버스트들로 클라이언트 디바이스(104) 또는 서버 시스템(140)으로 전송하기 위한) 스마트 홈 디바이스 모듈(922);
● 디바이스 설정들(926)과 연관된 데이터를 적어도 저장하는 스마트 홈 디바이스 데이터(924).
[00122] 일부 구현들에서, 스마트 홈 디바이스(120)는 음성에 의해 제어된다. 구체적으로, 클라우드 캐스트 서비스 서버(116)는 전자 디바이스(190)에 의해 기록된 음성 메시지를 수신하고, 음성 메시지가 스마트 디바이스 제어 요청(예컨대, 비디오 카메라의 줌 인 또는 줌 아웃, 거짓 경보의 턴 오프 및 스마트 서모스탯에서 측정된 온도의 조회)을 포함한다고 결정한다. 스마트 디바이스 제어 요청은 스마트 홈 디바이스(120)를 제어하기 위한 사용자 음성 커맨드 및 스마트 홈 디바이스의 사용자 음성 지정을 포함한다. 스마트 홈 디바이스의 음성 지정에 따라, 클라우드 캐스트 서비스 서버(116)는 사용자 도메인에서 전자 디바이스와 연관된 스마트 홈 디바이스(120)를 디바이스 레지스트리(118)에서 식별한다. 이어서, 클라우드 캐스트 서비스 서버(116)는 다른 디바이스 제어 요청을 스마트 홈 디바이스(1290)에 전송하고, 이로써 스마트 홈 디바이스(120)의 스마트 홈 디바이스 모듈(922)이 사용자 음성 커맨드에 따라 스마트 홈 디바이스(120)를 제어할 수 있게 한다.
[00123] 위의 식별된 엘리먼트들 각각은 이전에 언급된 메모리 디바이스들 중 하나 이상에 저장될 수 있고, 위에 설명된 기능을 수행하기 위한 명령들의 세트에 대응한다. 위의 식별된 모듈들 또는 프로그램들(즉, 명령들의 세트들)은 별개의 소프트웨어 프로그램들, 절차들, 모듈들 또는 데이터 구조들로 구현될 필요가 없으며, 따라서 이들 모듈들의 다양한 서브세트들은 다양한 구현들에서 결합되거나 그렇지 않다면 재배열될 수 있다. 일부 구현들에서, 메모리(906)는, 선택적으로, 위의 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 또한, 메모리(906)는, 선택적으로, 위에 설명되지 않은 부가적인 모듈들 및 데이터 구조들을 저장한다.
스마트 미디어 환경에서의 음성 기반 LED 디스플레이 및 미디어 제어 방법들
[00124] 도 10은 일부 구현들에 따른, 음성 프로세싱 상태를 시각적으로 나타내는 방법(1000)을 예시하는 흐름도이다. 방법(1000)은 풀 컬러 LED들의 어레이, 하나 이상의 마이크로폰들, 스피커, 프로세서 및 프로세서에 의한 실행을 위한 적어도 하나의 프로그램을 저장하는 메모리를 갖는 전자 디바이스(190)에서 구현된다. 전자 디바이스(190)는 전자 디바이스(190)에 근접한 환경으로부터 오디오 입력들을 하나 이상의 마이크로폰들(402)을 통해 수집하고(1002), 오디오 입력들을 프로세싱한다(1004). 프로세싱은 음성 프로세싱 모듈(522)에서 구현되며, 환경에서 사용자로부터의 음성 입력들을 식별하고 이에 응답하는 것 중 하나 이상을 포함한다. 이어서, 전자 디바이스(190)는 복수의 미리 정의된 음성 프로세싱 상태들 중에서 프로세싱의 상태를 결정한다(1006). 풀 컬러 LED들 각각에 대해, 전자 디바이스(190)는 결정된 음성 프로세싱 상태와 연관된 개개의 미리 결정된 LED 조명 규격을 식별하고(1008), 개개의 조명 규격은 LED 조명 지속기간, 펄스 레이트, 듀티 사이클, 컬러 시퀀스 및 밝기 중 하나 이상을 포함한다(1010). 풀 컬러 LED들의 식별된 LED 조명 규격들에 따라, 전자 디바이스(190)(구체적으로, LED 제어 모듈(524))는, 결정된 음성 프로세싱 상태를 나타내는 시각적인 패턴을 제공하기 위해, 풀 컬러 LED들의 어레이의 조명을 동기화한다. 방법(1000)에 대한 더 많은 세부사항들은 도 4a-4h 및 5를 참조하여 위에 설명되었다.
[00125] 방법(1000)은, 선택적으로, 비-일시적인 컴퓨터 판독 가능 저장 매체에 저장되고, 음성-활성화 전자 디바이스(190)의 하나 이상의 프로세서들에 의해 실행되는 명령들에 의해 제어된다. 도 10에 도시된 동작들 각각은 컴퓨터 메모리 또는 컴퓨터 판독 가능 저장 매체(예컨대, 도 5의 전자 디바이스(190)의 메모리(506))에 저장된 명령들에 대응할 수 있다. 컴퓨터 판독 가능 저장 매체는 자기 또는 광학 디스크 저장 디바이스, 플래시 메모리와 같은 고체 상태 저장 디바이스들, 또는 다른 비-휘발성 메모리 디바이스 또는 디바이스들을 포함할 수 있다. 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 판독 가능 명령들은: 소스 코드, 어셈블리 언어 코드, 오브젝트 코드, 또는 하나 이상의 프로세서들에 의해 해석되는 다른 명령 포맷 중 하나 이상을 포함할 수 있다. 방법(1000)의 일부 동작들은 결합될 수 있고 그리고/또는 일부 동작들의 순서는 변경될 수 있다.
[00126] 도 11은 일부 구현들에 따른, 음성에 의해 미디어 콘텐츠에 대한 폐쇄 자막들의 디스플레이를 개시하는 방법(1100)을 예시하는 흐름도이다. 방법(1100)은, 프로세서 및 프로세서에 의한 실행을 위한 적어도 하나의 프로그램(예컨대, 클라우드 캐스트 애플리케이션(760))을 저장하는 메모리를 포함하는 서버 시스템(예컨대, 클라우드 캐스트 서비스 서버(116))에서 구현된다. 서버 시스템은 전자 디바이스(190)에 의해 기록된 음성 메시지를 수신하고(1102), 음성 메시지가 제1 폐쇄 자막 개시 요청이라고 결정한다(1104). 제1 폐쇄 자막 개시 요청은 폐쇄 자막들을 개시하기 위한 사용자 음성 커맨드 및 폐쇄 자막들이 활성화되어야 하는 미디어 콘텐츠를 플레이하는 디스플레이 디바이스(106)의 사용자 음성 지정을 포함한다(1106). 디스플레이 디바이스의 지정에 따라, 서버 시스템은, 사용자 도메인에서 전자 디바이스(190)와 연관되고 지정된 디스플레이 디바이스(106)에 커플링된 캐스트 디바이스(108)를 디바이스 레지스트리(118)에서 식별한다(1108). 캐스트 디바이스(108)는, 미디어 콘텐츠 호스트로부터 수신된 미디어 콘텐츠를 디스플레이하기 위해, 지정된 디스플레이 디바이스를 제어하기 위한 미디어 플레이 애플리케이션을 실행하도록 구성된다(1110). 이어서, 서버 시스템(구체적으로, 클라우드 캐스트 애플리케이션(760))은 지정된 디스플레이 디바이스에 커플링된 캐스트 디바이스에 제2 폐쇄 자막 개시 요청을 전송하고(1112), 이로써 캐스트 디바이스가, 지정된 디스플레이 디바이스 상에 현재 디스플레이되는 미디어 콘텐츠의 폐쇄 자막을 턴 온하고, 제2 폐쇄 자막 개시 요청에 따라 폐쇄 자막을 디스플레이하도록, 지정된 디스플레이 디바이스를 제어하는 미디어 플레이 애플리케이션을 실행할 수 있게 한다. 방법(1100)에 대한 더 많은 세부사항들은 도 2a, 2b 및 5-7을 참조하여 위에 설명되었다.
[00127] 도 12는 일부 구현들에 따른, 미디어 출력 디바이스 상에서 음성에 의해 미디어 콘텐츠의 플레이를 개시하는 방법(1200)을 예시하는 흐름도이다. 방법(1200)은 프로세서 및 프로세서에 의한 실행을 위한 적어도 하나의 프로그램을 저장하는 메모리를 포함하는 서버 시스템(예컨대, 클라우드 캐스트 서비스 서버(116))에서 구현된다. 서버 시스템은 전자 디바이스에 의해 기록된 음성 메시지를 수신하고(1202), 음성 메시지가 제1 미디어 플레이 요청을 포함한다고 결정한다(1204). 제1 미디어 플레이 요청은 미디어 출력 디바이스 상에서 미디어 콘텐츠를 플레이하기 위한 사용자 음성 커맨드 및 미디어 출력 디바이스(106)의 사용자 음성 지정을 포함하고, 사용자 음성 커맨드는 적어도, 제1 미디어 플레이 애플리케이션 및 플레이될 필요가 있는 미디어 콘텐츠의 정보를 포함한다(1206). 미디어 출력 디바이스의 음성 지정에 따라, 서버 시스템은, 사용자 도메인에서 전자 디바이스(190)와 연관되고 미디어 출력 디바이스(106)에 커플링된 캐스트 디바이스(108)를 디바이스 레지스트리(118)에서 식별한다(1208). 캐스트 디바이스(108)는, 하나 이상의 미디어 콘텐츠 호스트로부터 수신된 미디어 콘텐츠를 플레이하도록 미디어 출력 디바이스(106)를 제어하기 위한 하나 이상의 미디어 플레이 애플리케이션들을 실행하도록 구성된다(1210). 이어서, 서버 시스템(구체적으로, 클라우드 캐스트 애플리케이션(760))은 제1 미디어 플레이 애플리케이션 및 플레이될 필요가 있는 미디어 콘텐츠의 정보를 포함하는 제2 미디어 플레이 요청을 캐스트 디바이스(108)에 전송하고, 이로써 캐스트 디바이스(108)가 미디어 콘텐츠를 플레이하도록 미디어 출력 디바이스(106)를 제어하는 제1 미디어 플레이 애플리케이션을 실행할 수 있게 한다(1212). 방법(1200)에 대한 더 많은 세부사항들은 도 2a, 2b 및 5-7을 참조하여 위에 설명되었다.
[00128] 도 13은 일부 구현들에 따른, 소스 미디어 출력 디바이스로부터 목적지 미디어 출력 디바이스로 미디어 콘텐츠의 플레이를 이동시키는 방법(1300)을 예시하는 흐름도이다. 방법(1300)은 프로세서 및 프로세서에 의한 실행을 위한 적어도 하나의 프로그램을 저장하는 메모리를 포함하는 서버 시스템(예컨대, 클라우드 캐스트 서비스 서버(116))에서 구현된다.
[00129] 서버 시스템은 전자 디바이스(190)에 의해 기록된 음성 메시지를 수신하고(1302), 음성 메시지가 미디어 전달 요청을 포함한다고 결정한다(1304). 미디어 전달 요청은 플레이되고 있는 미디어 콘텐츠를 목적지 미디어 출력 디바이스로 전송하기 위한 사용자 음성 커맨드 및 목적지 미디어 출력 디바이스의 사용자 음성 지정을 포함한다(1306). 서버 시스템은 현재 플레이되고 있는 미디어 콘텐츠의 인스턴트 미디어 플레이 정보를 소스 캐스트 디바이스(예컨대, 도 3의 캐스트 디바이스(108-1))로부터 획득한다(1308). 인스턴트 플레이 정보는 적어도, 제1 미디어 플레이 애플리케이션, 현재 플레이되고 있는 미디어 콘텐츠, 및 미디어 콘텐츠의 플레이와 연관된 시간적인 위치의 정보를 포함한다(1310).
[00130] 목적지 미디어 출력 디바이스의 음성 지정에 따라, 서버 시스템은, 사용자 도메인에서 전자 디바이스(190)와 연관되고, 목적지 미디어 출력 디바이스(예컨대, 도 3의 출력 디바이스(106-2))에 커플링된 목적지 캐스트 디바이스(예컨대, 도 3의 캐스트 디바이스(108-2))를 디바이스 레지스트리(118)에서 식별한다(1312). 목적지 캐스트 디바이스는, 하나 이상의 미디어 콘텐츠 호스트들로부터 수신된 미디어 콘텐츠를 플레이하도록 목적지 미디어 출력 디바이스를 제어하기 위한 하나 이상의 미디어 플레이 애플리케이션들을 실행하도록 구성된다(1314). 이어서, 서버 시스템(구체적으로, 클라우드 캐스트 애플리케이션(760))은, 인스턴트 미디어 플레이 정보를 포함하는 미디어 플레이 요청을 목적지 캐스트 디바이스에 전송하고, 이로써, 목적지 캐스트 디바이스가, 시간적인 위치로부터 미디어 콘텐츠를 플레이하도록 목적지 미디어 출력 디바이스를 제어하는 제1 미디어 플레이 애플리케이션을 실행할 수 있게 한다(1316). 방법(1300)에 대한 더 많은 세부사항들은 도 3 및 5-7을 참조하여 위에 설명되었다.
[00131] 방법들(1100, 1200 및 1300)은, 선택적으로, 비-일시적인 컴퓨터 판독 가능 저장 매체에 저장되고, 클라우드 캐스트 서비스 서버(116)의 하나 이상의 프로세서들에 의해 실행되는 명령들에 의해 제어된다. 도 12-14에 도시된 동작들 각각은 컴퓨터 메모리 또는 컴퓨터 판독 가능 저장 매체(예컨대, 도 7의 서버 시스템의 메모리(706))에 저장된 명령들에 대응할 수 있다. 컴퓨터 판독 가능 저장 매체는 자기 또는 광학 디스크 저장 디바이스, 플래시 메모리와 같은 고체 상태 저장 디바이스들, 또는 다른 비-휘발성 메모리 디바이스 또는 디바이스들을 포함할 수 있다. 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 판독 가능 명령들은: 소스 코드, 어셈블리 언어 코드, 오브젝트 코드, 또는 하나 이상의 프로세서들에 의해 해석되는 다른 명령 포맷 중 하나 이상을 포함할 수 있다. 방법들(1100, 1200 및 1300) 각각의 일부 동작들은 결합될 수 있고 그리고/또는 일부 동작들의 순서는 변경될 수 있다.
[00132] 본원에서 설명된 다양한 구현들의 설명에서 사용되는 용어는 오직 특정 구현들을 설명하는 것을 목적으로 하며 제한되는 것으로 의도되지 않는다. 설명된 다양한 구현들 및 첨부된 청구항들의 설명에서 사용되는 바와 같이, 단수 형태의 표현들은, 문맥에 달리 명확하게 지시되지 않는다면, 복수의 형태들을 또한 포함하도록 의도된다. 또한, 본원에서 사용되는 "및/또는"이란 용어는 연관되는 리스트된 아이템들 중 하나 이상의 것의 임의의 그리고 모든 가능한 조합들을 나타내며 이를 포괄한다는 것이 이해될 것이다. "포함한다(includes)", "포함하는(including)","포함한다(comprises)" 및/또는 "포함하는(comprising)"이란 용어들은, 본 명세서에서 사용될 때, 언급된 특징들, 정수들, 단계들, 동작들, 엘리먼트들 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않는다는 것이 추가로 이해될 것이다.
[00133] 본원에서 사용되는 바와 같이, "만약~라면"이라는 용어는 선택적으로, 문맥에 따라, "~할 때" 또는 "~시에" 또는 "~결정하는 것에 대한 응답으로" 또는 "~검출하는 것에 대한 응답으로" 또는 "~한다는 결정에 따라"를 의미하도록 해석된다. 유사하게, "만약~것으로 결정된다면" 또는 "만약 [언급된 컨디션 또는 이벤트가] 검출된다면"이란 문구는 선택적으로, 문맥에 따라, "~를 결정할 시에" 또는 "~결정하는 것에 대한 응답으로" 또는 "[언급된 컨디션 또는 이벤트가] 검출될 시에" 또는 "[언급된 컨디션 또는 이벤트가] 검출되는 것에 대한 응답으로" 또는 "[언급된 컨디션 또는 이벤트가] 검출된다는 결정에 따라"를 의미하도록 해석된다.
[00134] "스마트 미디어 환경들"이 단독 주택과 같은 가정들을 위한 스마트 환경들을 지칭할 수 있지만, 본 교시들의 범위가 그렇게 제한되지 않는다는 것이 인식되어야 한다. 본 교시들은 또한, 제한없이, 듀플렉스들, 타운홈들, 멀티-유닛 아파트 빌딩들, 호텔들, 소매점들, 사무실 빌딩들, 산업용 빌딩들, 및 더 일반적으로 임의의 거주 공간 또는 작업 공간에 적용 가능하다.
[00135] 사용자, 고객, 설치자, 주택 소유자, 점유자, 게스트, 세입자, 집주인, 수리공 등이라는 용어들이 본원에 설명된 일부 특별한 상황들의 맥락에서 활동하는 사람 또는 사람들을 지칭하는 데 사용될 수 있지만, 이들 언급들이 이러한 활동들을 수행하는 사람 또는 사람들과 관련하여 본 교시들의 범위를 제한하지 않는다는 것이 또한 인식되어야 한다. 따라서, 예컨대, 사용자, 고객, 구매자, 설치자, 가입자 및 주택 소유자라는 용어들은 단일-가족 주거용 주택의 경우 종종 동일한 사람을 지칭할 수 있는 데, 왜냐하면 세대주가 종종 구매를 결정하고, 유닛을 구입하고, 유닛을 설치 및 구성하고, 또한 유닛의 사용자 중 하나인 사람이기 때문이다. 그러나, 집주인-세입자 환경과 같은 다른 시나리오들에서, 고객은 유닛을 구매하는 것과 관련하여 집주인일 수 있고, 설치자는 로컬 아파트 감독관일 수 있고, 제1 사용자는 세입자일 수 있고, 제2 사용자는 다시 원격 제어 기능과 관련하여 집주인일 수 있다. 중요하게는, 활동을 수행하는 사람의 아이덴티티가 구현들 중 하나 이상에 의해 제공되는 특정 이점과 밀접한 관계일 수 있지만, 그러한 아이덴티티는 다음의 설명들에서 본 교시들의 범위를 그러한 특정 아이덴티티들을 갖는 그러한 특정 개인들로 반드시 제한하는 것으로 해석되지 않아야 한다.
[00136] 다양한 도면들이 특정 순서로 다수의 로지컬 스테이지들을 예시하지만, 순서에 의존하지 않는 스테이지들은 재정렬될 수 있고, 다른 스테이지들은 결합되거나 분해될 수 있다. 일부 재정렬 또는 다른 그룹화들이 구체적으로 언급되지만, 다른 것들이 당업자에게는 자명할 것이고, 그래서 본원에 제시된 순서 및 그룹화들은 대안들을 총망라한 리스트는 아니다. 또한, 스테이지들이 하드웨어, 펌웨어, 소프트웨어 또는 이들의 임의의 결합으로 구현될 수 있음이 인지되어야 한다.
[00137] 설명을 목적으로 한 전술한 설명은 특정 구현들을 참조로 설명되었다. 그러나, 상기 예시적인 논의들은 총망라적인 것으로 또는 개시된 바로 그 형태로 청구항들의 범위를 제한하는 것으로 의도되지 않는다. 상기 교시들의 관점에서 다수의 수정들 및 변동들이 가능하다. 구현들은, 청구항들 및 이들의 실제 적용들의 기반이 되는 원리들을 가장 잘 설명하고, 이로써 당업자들로 하여금, 고려되는 특정 사용들에 맞는 다양한 수정들을 갖는 구현들을 잘 사용할 수 있게 하기 위해 선택되었다.
[00138] 위에 언급된 구현들 및 대안적인 실시예들에 대한 더 많은 세부사항들이 또한 본 출원과 함께 제출된 부록에 개시되어있다는 것이 주목된다. 부록에서, OOBE는 창조적인 경험(out-of-box experience)을 나타낸다.

Claims (16)

  1. 미디어 콘텐츠 디스플레이의 플레이를 이동시키기 위한 방법으로서,
    프로세서 및 상기 프로세서에 의한 실행을 위한 적어도 하나의 프로그램을 저장하는 메모리를 포함하는 서버 시스템에서:
    전자 디바이스를 통해 음성 메시지를 수신하는 단계;
    상기 음성 메시지가 미디어 전달 요청을 포함한다고 결정하는 단계 ― 상기 미디어 전달 요청은 플레이되고 있는 미디어 콘텐츠를 목적지 미디어 출력 디바이스에 전달하기 위한 사용자 음성 커맨드 및 상기 목적지 미디어 출력 디바이스의 사용자 음성 지정(designation)을 포함함 ― ;
    현재 플레이되고 있는 상기 미디어 콘텐츠의 인스턴트 미디어 플레이 정보를 소스 캐스트 디바이스로부터 획득하는 단계 ― 상기 인스턴트 미디어 플레이 정보는 적어도, 제1 미디어 플레이 애플리케이션, 현재 플레이되고 있는 상기 미디어 콘텐츠, 및 상기 미디어 콘텐츠의 플레이에 관련된 시간적인 위치(temporal position)의 정보를 포함함 ― ;
    상기 목적지 미디어 출력 디바이스의 사용자 음성 지정에 따라, 사용자 도메인에서 상기 전자 디바이스와 연관되고 그리고 상기 목적지 미디어 출력 디바이스에 커플링된 목적지 캐스트 디바이스를 식별하는 단계 ― 상기 목적지 캐스트 디바이스는 하나 이상의 미디어 콘텐츠 호스트들로부터 수신된 미디어 콘텐츠를 플레이하도록 상기 목적지 미디어 출력 디바이스를 제어하기 위한 하나 이상의 미디어 플레이 애플리케이션들을 실행하도록 구성됨 ― ; 및
    상기 인스턴트 미디어 플레이 정보를 포함하는 미디어 플레이 요청을 사용자 개입 없이 자동으로 상기 서버 시스템에 의해 상기 목적지 캐스트 디바이스에 전송하여, 이로써 상기 목적지 캐스트 디바이스가, 시간적인 위치로부터 상기 미디어 콘텐츠를 플레이하도록 상기 목적지 미디어 출력 디바이스를 제어하는 상기 제1 미디어 플레이 애플리케이션을 실행할 수 있게 하는 단계
    를 포함하는,
    방법.
  2. 제1항에 있어서,
    상기 목적지 캐스트 디바이스는 디바이스 레지스트리(device registry)에서 식별되고, 그리고
    상기 현재 플레이되고 있는 상기 미디어 콘텐츠의 인스턴트 미디어 플레이 정보를 상기 소스 캐스트 디바이스로부터 획득하는 단계는:
    상기 미디어 콘텐츠가 소스 미디어 출력 디바이스에서 현재 플레이되고 있다는 것을 식별하는 단계;
    상기 사용자 도메인에서 상기 전자 디바이스와 연관되고, 그리고 상기 소스 미디어 출력 디바이스에 커플링된 상기 소스 캐스트 디바이스를 상기 디바이스 레지스트리에서 식별하는 단계;
    미디어 정보 요청을 상기 소스 캐스트 디바이스에 전송하는 단계; 및
    상기 소스 캐스트 디바이스로부터 상기 인스턴트 미디어 플레이 정보를 수신하는 단계
    를 더 포함하는,
    방법.
  3. 제2항에 있어서,
    상기 사용자 음성 커맨드에 따라, 미디어 정지 요청을 상기 소스 캐스트 디바이스에 전송하여, 이로써 상기 소스 캐스트 디바이스가, 상기 소스 미디어 출력 디바이스 상의 상기 미디어 콘텐츠의 플레이를 중지(forgo)하도록, 상기 소스 캐스트 디바이스에 커플링된 상기 소스 미디어 출력 디바이스를 제어하는 상기 제1 미디어 플레이 애플리케이션을 실행할 수 있게 하는 단계를 더 포함하는,
    방법.
  4. 제1항에 있어서,
    상기 전자 디바이스는 제1 위치에 위치된 상기 소스 캐스트 디바이스에 근접하게 배치되는,
    방법.
  5. 제1항에 있어서,
    상기 전자 디바이스는 제2 장소(venue)에 위치된 상기 목적지 캐스트 디바이스 및 상기 목적지 미디어 출력 디바이스에 근접하게 배치되는,
    방법.
  6. 제1항에 있어서,
    상기 전자 디바이스, 상기 소스 캐스트 디바이스 및 상기 목적지 캐스트 디바이스는 상기 사용자 도메인에서 사용자 계정과 연관되는,
    방법.
  7. 제1항에 있어서,
    상기 서버 시스템은, 전자 디바이스, 소스 캐스트 디바이스 및 목적지 캐스트 디바이스가 등록되고 사용자 계정을 통해 서로 연결(link)되는 가상 사용자 도메인을 관리하도록 구성되는,
    방법.
  8. 제1항에 있어서,
    상기 목적지 미디어 출력 디바이스가 상기 사용자 도메인에서 상기 목적지 캐스트 디바이스와 연관됨으로써, 상기 목적지 미디어 출력 디바이스의 지정에 따라 상기 목적지 캐스트 디바이스의 식별이 가능하게 되고, 그리고
    상기 서버 시스템은, 2개의 별개의 미디어 출력 디바이스들에서의 재생을 위해 상기 소스 캐스트 디바이스 및 상기 목적지 캐스트 디바이스에 상기 미디어 콘텐츠를 각각 제공하는 콘텐츠 호스트와는 별개인,
    방법.
  9. 제1항에 있어서,
    상기 전자 디바이스, 상기 소스 캐스트 디바이스 및 상기 목적지 캐스트 디바이스는 상기 서버 시스템으로부터 떨어져있고, 그리고 하나 이상의 무선 통신 네트워크들을 통해 상기 서버 시스템과 통신 가능하게 연결되는,
    방법.
  10. 제1항에 있어서,
    상기 시간적인 위치는, 상기 사용자가 상기 목적지 미디어 출력 디바이스로의 상기 미디어 콘텐츠의 이동을 요청할 때 기록되는,
    방법.
  11. 제1항에 있어서,
    상기 음성 메시지를 파싱(parse)하고, 그리고 상기 사용자 음성 커맨드 및 상기 목적지 미디어 출력 디바이스의 사용자 음성 지정을 식별하는 음성 보조 서버로 상기 음성 메시지를 포워딩하는 단계; 및
    상기 사용자 음성 커맨드 및 상기 목적지 미디어 출력 디바이스의 상기 음성 지정을 상기 음성 보조 서버로부터 수신하는 단계를 더 포함하는,
    방법.
  12. 제1항에 있어서,
    상기 목적지 캐스트 디바이스는 디바이스 레지스트리에서 식별되고, 그리고 상기 목적지 미디어 출력 디바이스의 사용자 음성 지정은 상기 목적지 미디어 출력 디바이스의 설명을 포함하고,
    상기 방법은, 상기 목적지 미디어 출력 디바이스의 설명에 따라 복수의 미디어 출력 디바이스들 중에서 상기 목적지 미디어 출력 디바이스를 상기 레지스트리에서 식별하는 단계를 더 포함하는,
    방법.
  13. 제12항에 있어서,
    상기 목적지 미디어 출력 디바이스의 설명은 적어도, 상기 목적지 미디어 출력 디바이스의 브랜드 또는 위치를 포함하는,
    방법.
  14. 제1항에 있어서,
    상기 인스턴트 미디어 플레이 정보는 플레이리스트 식별자를 포함하는,
    방법.
  15. 서버 시스템으로서,
    하나 이상의 프로세서들; 및
    명령들이 저장된 메모리를 포함하고,
    상기 명령들은, 상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 프로세서들로 하여금 제1항 내지 제14항 중 어느 한 항의 방법을 수행하게 하는,
    서버 시스템.
  16. 비-일시적인 컴퓨터 판독 가능 저장 매체로서,
    서버 시스템의 적어도 하나의 프로세서에 의한 실행을 위해 구성된 적어도 하나의 프로그램을 저장하고, 상기 적어도 하나의 프로그램은 제1항 내지 제14항 중 어느 한 항의 방법을 수행하기 위한 명령들을 포함하는,
    비-일시적인 컴퓨터 판독 가능 저장 매체.
KR1020187033465A 2016-05-13 2017-05-11 미디어 출력 디바이스들 사이의 미디어 전달 KR102177786B1 (ko)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US201662336569P 2016-05-13 2016-05-13
US201662336551P 2016-05-13 2016-05-13
US201662336566P 2016-05-13 2016-05-13
US201662336565P 2016-05-13 2016-05-13
US62/336,565 2016-05-13
US62/336,551 2016-05-13
US62/336,569 2016-05-13
US62/336,566 2016-05-13
US15/592,126 2017-05-10
US15/592,120 US10304450B2 (en) 2016-05-10 2017-05-10 LED design language for visual affordance of voice user interfaces
US15/592,128 2017-05-10
US15/592,128 US10332516B2 (en) 2016-05-10 2017-05-10 Media transfer among media output devices
US15/592,120 2017-05-10
US15/592,126 US10235997B2 (en) 2016-05-10 2017-05-10 Voice-controlled closed caption display
PCT/US2017/032263 WO2017197187A1 (en) 2016-05-13 2017-05-11 Media transfer among media output devices

Publications (2)

Publication Number Publication Date
KR20190006975A KR20190006975A (ko) 2019-01-21
KR102177786B1 true KR102177786B1 (ko) 2020-11-12

Family

ID=60295267

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187033465A KR102177786B1 (ko) 2016-05-13 2017-05-11 미디어 출력 디바이스들 사이의 미디어 전달
KR1020187036139A KR102114003B1 (ko) 2016-05-13 2017-05-11 음성 사용자 인터페이스들의 시각적 어포던스를 위한 led 설계 언어

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187036139A KR102114003B1 (ko) 2016-05-13 2017-05-11 음성 사용자 인터페이스들의 시각적 어포던스를 위한 led 설계 언어

Country Status (5)

Country Link
US (2) US10402450B2 (ko)
EP (5) EP3757753A1 (ko)
JP (2) JP6797938B2 (ko)
KR (2) KR102177786B1 (ko)
CN (6) CN114758655A (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10515637B1 (en) * 2017-09-19 2019-12-24 Amazon Technologies, Inc. Dynamic speech processing
US20190095444A1 (en) * 2017-09-22 2019-03-28 Amazon Technologies, Inc. Voice driven analytics
US11526518B2 (en) 2017-09-22 2022-12-13 Amazon Technologies, Inc. Data reporting system and method
JP6943192B2 (ja) * 2018-01-24 2021-09-29 沖電気工業株式会社 家電機器および場所検索システム
WO2019188393A1 (ja) * 2018-03-29 2019-10-03 ソニー株式会社 情報処理装置、情報処理方法、送信装置、及び送信方法
CN110753927B (zh) * 2018-05-07 2023-08-11 谷歌有限责任公司 在计算设备之间同步访问控制
US11085777B2 (en) * 2018-07-27 2021-08-10 Adobe Inc. Generating digital event sequences utilizing a dynamic user preference interface to modify recommendation model reward functions
US11231975B2 (en) * 2018-09-29 2022-01-25 Apple Inc. Devices, methods, and user interfaces for providing audio notifications
US20200127988A1 (en) * 2018-10-19 2020-04-23 Apple Inc. Media intercom over a secure device to device communication channel
US10867603B2 (en) * 2018-10-24 2020-12-15 Sony Corporation Audio-video reproduction device setup using interview-based voice control
US10878805B2 (en) 2018-12-06 2020-12-29 Microsoft Technology Licensing, Llc Expediting interaction with a digital assistant by predicting user responses
FR3093840B1 (fr) 2019-03-14 2021-02-19 Psa Automobiles Sa Procédé et dispositif d’assistance à l’utilisation d’un véhicule automobile
US10990939B2 (en) * 2019-04-15 2021-04-27 Advanced New Technologies Co., Ltd. Method and device for voice broadcast
US10867608B1 (en) * 2019-05-31 2020-12-15 Apple Inc. Multi-user configuration
CN110501988B (zh) * 2019-09-25 2020-06-09 北京金茂绿建科技有限公司 一种实现物联网设备融合控制方法及其装置
JP2021091182A (ja) * 2019-12-12 2021-06-17 コニカミノルタ株式会社 画像処理装置及び制御方法
US11322150B2 (en) * 2020-01-28 2022-05-03 Amazon Technologies, Inc. Generating event output
US11036466B1 (en) 2020-02-28 2021-06-15 Facebook, Inc. Social media custom audio program
CN113365124B (zh) * 2020-03-06 2023-01-20 海信视像科技股份有限公司 一种显示设备及显示方法
WO2021183148A2 (en) * 2020-03-13 2021-09-16 Google Llc Media content casting in network-connected television devices
EP3906695A1 (en) 2020-03-13 2021-11-10 Google LLC Network-connected television devices with knowledge-based media content recommendations and unified user interfaces
CN112735419A (zh) * 2021-01-28 2021-04-30 东莞维升电子制品有限公司 智能语音唤醒控制方法及及其控制装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110311206A1 (en) 2010-06-16 2011-12-22 Verizon Patent And Licensing Inc. Method and apparatus for managing digital video recorders
US20140006947A1 (en) * 2012-06-29 2014-01-02 Spotify Ab Systems and methods for multi-context media control and playback
US20140108019A1 (en) 2012-10-08 2014-04-17 Fluential, Llc Smart Home Automation Systems and Methods
US20150154976A1 (en) 2013-12-02 2015-06-04 Rawles Llc Natural Language Control of Secondary Device

Family Cites Families (156)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659665A (en) 1994-12-08 1997-08-19 Lucent Technologies Inc. Method and apparatus for including speech recognition capabilities in a computer system
US5774859A (en) 1995-01-03 1998-06-30 Scientific-Atlanta, Inc. Information system having a speech interface
US5760754A (en) 1995-12-04 1998-06-02 Motorola, Inc. Light pipe assembly and electrical device using same
US6195641B1 (en) 1998-03-27 2001-02-27 International Business Machines Corp. Network universal spoken language vocabulary
US7050977B1 (en) 1999-11-12 2006-05-23 Phoenix Solutions, Inc. Speech-enabled server for internet website and method
US6397186B1 (en) 1999-12-22 2002-05-28 Ambush Interactive, Inc. Hands-free, voice-operated remote control transmitter
US6681380B1 (en) * 2000-02-15 2004-01-20 International Business Machines Corporation Aggregating constraints and/or preferences using an inference engine and enhanced scripting language
GB2372864B (en) * 2001-02-28 2005-09-07 Vox Generation Ltd Spoken language interface
US7426505B2 (en) * 2001-03-07 2008-09-16 International Business Machines Corporation Method for identifying word patterns in text
US7302634B2 (en) * 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
US20030120744A1 (en) * 2001-12-20 2003-06-26 Gordon Kessler Method and apparatus for providing downlaoded audio data
US7493259B2 (en) * 2002-01-04 2009-02-17 Siebel Systems, Inc. Method for accessing data via voice
US7260538B2 (en) 2002-01-08 2007-08-21 Promptu Systems Corporation Method and apparatus for voice control of a television control device
US20040001095A1 (en) 2002-07-01 2004-01-01 Todd Marques Method and apparatus for universal device management
JP2004102415A (ja) * 2002-09-05 2004-04-02 Toshiba Corp データ伝送装置およびデータ伝送方法並びに車載用電子機器
US20060276230A1 (en) * 2002-10-01 2006-12-07 Mcconnell Christopher F System and method for wireless audio communication with a computer
US7911358B2 (en) * 2002-10-08 2011-03-22 Johnson Controls Technology Company System and method for enrollment of a remotely controlled device in a trainable transmitter
JP4292789B2 (ja) 2002-11-20 2009-07-08 日本電気株式会社 ブラウザ機能拡張方法
US7925754B2 (en) * 2003-11-21 2011-04-12 Microsoft Corporation Method and computer program product to provide synch notifications to client devices
US7660715B1 (en) * 2004-01-12 2010-02-09 Avaya Inc. Transparent monitoring and intervention to improve automatic adaptation of speech models
US20050164681A1 (en) * 2004-01-22 2005-07-28 Jenkins William W. Voice message storage in a push-to-talk communication system
US20050212684A1 (en) 2004-03-23 2005-09-29 Flora Huang Indicating apparatus combined with flash
US20060075429A1 (en) * 2004-04-30 2006-04-06 Vulcan Inc. Voice control of television-related information
TWM260059U (en) * 2004-07-08 2005-03-21 Blueexpert Technology Corp Computer input device having bluetooth handsfree handset
JP2006286275A (ja) * 2005-03-31 2006-10-19 Koizumi Sangyo Corp 照明器具の制御装置
EP1750253B1 (en) 2005-08-04 2012-03-21 Nuance Communications, Inc. Speech dialog system
US8104054B2 (en) * 2005-09-01 2012-01-24 At&T Intellectual Property I, L.P. Methods, systems, and devices for bandwidth conservation
US7996228B2 (en) 2005-12-22 2011-08-09 Microsoft Corporation Voice initiated network operations
US8516087B2 (en) 2006-02-14 2013-08-20 At&T Intellectual Property I, L.P. Home automation system and method
US7721313B2 (en) * 2006-06-30 2010-05-18 Microsoft Corporation Multi-DVR node communication
US20080010652A1 (en) 2006-07-07 2008-01-10 General Instrument Corporation Association of Network Terminals to a Common Account
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8073697B2 (en) * 2006-09-12 2011-12-06 International Business Machines Corporation Establishing a multimodal personality for a multimodal application
US8056070B2 (en) 2007-01-10 2011-11-08 Goller Michael D System and method for modifying and updating a speech recognition program
US20080180572A1 (en) 2007-01-29 2008-07-31 Microsoft Corporation Enabling access to closed captioning data present in a broadcast stream
JP4315986B2 (ja) * 2007-02-08 2009-08-19 富士通株式会社 発光ダイオードを備えた電子機器
US8219406B2 (en) * 2007-03-15 2012-07-10 Microsoft Corporation Speech-centric multimodal user interface design in mobile technology
US8538757B2 (en) 2007-05-17 2013-09-17 Redstart Systems, Inc. System and method of a list commands utility for a speech recognition command system
CN101309390B (zh) * 2007-05-17 2012-05-23 华为技术有限公司 视讯通信系统、装置及其字幕显示方法
WO2008144638A2 (en) 2007-05-17 2008-11-27 Redstart Systems Inc. Systems and methods of a structured grammar for a speech recognition command system
US8160426B2 (en) 2007-10-12 2012-04-17 Rovi Guides, Inc. Storage management of a recording device in a multi-user system
US8521766B1 (en) * 2007-11-12 2013-08-27 W Leo Hoarty Systems and methods for providing information discovery and retrieval
US8543622B2 (en) 2007-12-07 2013-09-24 Patrick Giblin Method and system for meta-tagging media content and distribution
US8385536B2 (en) 2008-01-09 2013-02-26 Verizon Patent And Licensing Inc. Automatic telephone number favorites list
US9135809B2 (en) 2008-06-20 2015-09-15 At&T Intellectual Property I, Lp Voice enabled remote control for a set-top box
US8898568B2 (en) * 2008-09-09 2014-11-25 Apple Inc. Audio user interface
US8244531B2 (en) * 2008-09-28 2012-08-14 Avaya Inc. Method of retaining a media stream without its private audio content
JP5334178B2 (ja) 2009-01-21 2013-11-06 クラリオン株式会社 音声認識装置およびデータ更新方法
US8423353B2 (en) 2009-03-25 2013-04-16 Microsoft Corporation Sharable distributed dictionary for applications
US20100265397A1 (en) 2009-04-20 2010-10-21 Tandberg Television, Inc. Systems and methods for providing dynamically determined closed caption translations for vod content
US9858925B2 (en) * 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9197736B2 (en) * 2009-12-31 2015-11-24 Digimarc Corporation Intuitive computing methods and systems
US20120253822A1 (en) 2009-12-11 2012-10-04 Thomas Barton Schalk Systems and Methods for Managing Prompts for a Connected Vehicle
US20110161085A1 (en) * 2009-12-31 2011-06-30 Nokia Corporation Method and apparatus for audio summary of activity for user
US9401099B2 (en) * 2010-05-11 2016-07-26 AI Squared Dedicated on-screen closed caption display
US9633656B2 (en) 2010-07-27 2017-04-25 Sony Corporation Device registration process from second display
US8473289B2 (en) * 2010-08-06 2013-06-25 Google Inc. Disambiguating input based on context
US20120096497A1 (en) 2010-10-14 2012-04-19 Sony Corporation Recording television content
CN102064985B (zh) * 2010-11-24 2013-04-24 深圳市同洲电子股份有限公司 基于互动电视应用的数字智能家电远程控制系统和方法
TW201224966A (en) * 2010-12-03 2012-06-16 Accton Technology Corp Interactive media player system and method thereof
US10382509B2 (en) * 2011-01-28 2019-08-13 Amazon Technologies, Inc. Audio-based application architecture
US20120226981A1 (en) 2011-03-02 2012-09-06 Microsoft Corporation Controlling electronic devices in a multimedia system through a natural user interface
CN102148031A (zh) 2011-04-01 2011-08-10 无锡大核科技有限公司 语音识别与交互系统及方法
US20120260192A1 (en) * 2011-04-11 2012-10-11 Detweiler Sean D Automated browser mode based on user and access point
CN102196207B (zh) * 2011-05-12 2014-06-18 深圳市车音网科技有限公司 语音控制电视机的方法、装置和系统
WO2013012107A1 (ko) 2011-07-19 2013-01-24 엘지전자 주식회사 전자 기기 및 그 제어 방법
US20130046773A1 (en) 2011-08-18 2013-02-21 General Instrument Corporation Method and apparatus for user-based tagging of media content
CN102289374B (zh) 2011-08-31 2017-06-30 南京中兴新软件有限责任公司 一种构建跨平台软件运行环境的方法及装置
US9495331B2 (en) * 2011-09-19 2016-11-15 Personetics Technologies Ltd. Advanced system and method for automated-context-aware-dialog with human users
US8762156B2 (en) 2011-09-28 2014-06-24 Apple Inc. Speech recognition repair using contextual information
US8340975B1 (en) 2011-10-04 2012-12-25 Theodore Alfred Rosenberger Interactive speech recognition device and system for hands-free building control
US20150212664A1 (en) 2011-10-11 2015-07-30 IQnect Technology Limited System and methods for content-search carousel for mobile-computing devices
US9326088B2 (en) 2011-10-21 2016-04-26 GM Global Technology Operations LLC Mobile voice platform architecture with remote service interfaces
US9847083B2 (en) 2011-11-17 2017-12-19 Universal Electronics Inc. System and method for voice actuated configuration of a controlling device
US8954330B2 (en) * 2011-11-28 2015-02-10 Microsoft Corporation Context-aware interaction system using a semantic model
US9152376B2 (en) 2011-12-01 2015-10-06 At&T Intellectual Property I, L.P. System and method for continuous multimodal speech and gesture interaction
US8793136B2 (en) * 2012-02-17 2014-07-29 Lg Electronics Inc. Method and apparatus for smart voice recognition
US9836545B2 (en) * 2012-04-27 2017-12-05 Yahoo Holdings, Inc. Systems and methods for personalized generalized content recommendations
CN102685579B (zh) * 2012-05-02 2015-03-25 合一网络技术(北京)有限公司 一种实现本地网络中多装置间媒体分享及控制的方法
US10156455B2 (en) * 2012-06-05 2018-12-18 Apple Inc. Context-aware voice guidance
US20130332159A1 (en) 2012-06-08 2013-12-12 Apple Inc. Using fan throttling to enhance dictation accuracy
US9679330B2 (en) * 2012-06-10 2017-06-13 Apple Inc. Interface for enhanced continuity of browsing experience
KR20130140423A (ko) * 2012-06-14 2013-12-24 삼성전자주식회사 디스플레이 장치, 대화형 서버 및 응답 정보 제공 방법
US20130339859A1 (en) 2012-06-15 2013-12-19 Muzik LLC Interactive networked headphones
US9195383B2 (en) 2012-06-29 2015-11-24 Spotify Ab Systems and methods for multi-path control signals for media presentation devices
US9786294B1 (en) 2012-07-30 2017-10-10 Amazon Technologies, Inc. Visual indication of an operational state
US9779757B1 (en) 2012-07-30 2017-10-03 Amazon Technologies, Inc. Visual indication of an operational state
US9106957B2 (en) * 2012-08-16 2015-08-11 Nuance Communications, Inc. Method and apparatus for searching data sources for entertainment systems
US10026394B1 (en) * 2012-08-31 2018-07-17 Amazon Technologies, Inc. Managing dialogs on a speech recognition platform
US9576574B2 (en) * 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
JP5986468B2 (ja) 2012-09-25 2016-09-06 富士通テン株式会社 表示制御装置、表示システム及び表示制御方法
US9043210B1 (en) * 2012-10-02 2015-05-26 Voice Security Systems, Inc. Biometric voice command and control switching device and method of use
US9319445B2 (en) 2012-10-22 2016-04-19 Spotify Ab Systems and methods for pre-fetching media content
PL401346A1 (pl) * 2012-10-25 2014-04-28 Ivona Software Spółka Z Ograniczoną Odpowiedzialnością Generowanie spersonalizowanych programów audio z zawartości tekstowej
US9337674B2 (en) 2012-11-02 2016-05-10 Chen-Source Inc. Desktop charger
US9704486B2 (en) 2012-12-11 2017-07-11 Amazon Technologies, Inc. Speech recognition power management
US9672822B2 (en) * 2013-02-22 2017-06-06 Next It Corporation Interaction with a portion of a content item through a virtual assistant
US9292832B2 (en) 2013-02-25 2016-03-22 Qualcomm Incorporated Collaborative intelligence and decision-making in an IoT device group
US9361885B2 (en) 2013-03-12 2016-06-07 Nuance Communications, Inc. Methods and apparatus for detecting a voice command
US9304736B1 (en) 2013-04-18 2016-04-05 Amazon Technologies, Inc. Voice controlled assistant with non-verbal code entry
US10445115B2 (en) 2013-04-18 2019-10-15 Verint Americas Inc. Virtual assistant focused user interfaces
US9116619B2 (en) 2013-05-10 2015-08-25 Seagate Technology Llc Displaying storage device status conditions using multi-color light emitting diode
US9811087B2 (en) * 2013-05-15 2017-11-07 Deere & Company Method for controlling a vehicle and a vehicle guidance system
US9843623B2 (en) * 2013-05-28 2017-12-12 Qualcomm Incorporated Systems and methods for selecting media items
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US20140365887A1 (en) * 2013-06-10 2014-12-11 Kirk Robert CAMERON Interactive platform generating multimedia from user input
US9324322B1 (en) 2013-06-18 2016-04-26 Amazon Technologies, Inc. Automatic volume attenuation for speech enabled devices
US9554632B2 (en) 2013-06-21 2017-01-31 Logitech Europe S.A. Portable device case and accessories
US9997160B2 (en) 2013-07-01 2018-06-12 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for dynamic download of embedded voice components
CN103474068B (zh) 2013-08-19 2016-08-10 科大讯飞股份有限公司 实现语音命令控制的方法、设备及系统
US9431004B2 (en) * 2013-09-05 2016-08-30 International Business Machines Corporation Variable-depth audio presentation of textual information
KR20150029974A (ko) 2013-09-11 2015-03-19 엘지전자 주식회사 디스플레이 디바이스 및 그 제어 방법
CN103501382B (zh) 2013-09-17 2015-06-24 小米科技有限责任公司 语音服务提供方法、装置和终端
US9240182B2 (en) 2013-09-17 2016-01-19 Qualcomm Incorporated Method and apparatus for adjusting detection threshold for activating voice assistant function
US9443527B1 (en) 2013-09-27 2016-09-13 Amazon Technologies, Inc. Speech recognition capability generation and control
WO2015054278A1 (en) 2013-10-07 2015-04-16 Google Inc. Smart-home hazard detector providing useful follow up communications to detection events
US9484025B2 (en) 2013-10-15 2016-11-01 Toyota Jidosha Kabushiki Kaisha Configuring dynamic custom vocabulary for personalized speech recognition
US9706007B2 (en) * 2013-10-17 2017-07-11 Blue Syntax Consulting LLC System and method for querying disparate data sources in real time
US9900177B2 (en) 2013-12-11 2018-02-20 Echostar Technologies International Corporation Maintaining up-to-date home automation models
US9804820B2 (en) 2013-12-16 2017-10-31 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
US9721570B1 (en) * 2013-12-17 2017-08-01 Amazon Technologies, Inc. Outcome-oriented dialogs on a speech recognition platform
US10248856B2 (en) 2014-01-14 2019-04-02 Toyota Motor Engineering & Manufacturing North America, Inc. Smart necklace with stereo vision and onboard processing
US9430186B2 (en) 2014-03-17 2016-08-30 Google Inc Visual indication of a recognized voice-initiated action
US10031721B2 (en) 2014-05-15 2018-07-24 Tyco Safety Products Canada Ltd. System and method for processing control commands in a voice interactive system
WO2015187048A1 (en) * 2014-06-06 2015-12-10 Obschestvo S Ogranichennoy Otvetstvennostiyu "Speactoit" Proactive environment-based chat information system
US10440499B2 (en) 2014-06-16 2019-10-08 Comcast Cable Communications, Llc User location and identity awareness
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
CN104135697A (zh) * 2014-07-31 2014-11-05 上海素控控制技术有限公司 基于蓝牙的智能共振音箱及其控制方法
US9767794B2 (en) * 2014-08-11 2017-09-19 Nuance Communications, Inc. Dialog flow management in hierarchical task dialogs
KR101579292B1 (ko) 2014-08-29 2015-12-21 서울대학교 산학협력단 범용 음성인식 제어 장치 및 제어 방법
CN107004410B (zh) 2014-10-01 2020-10-02 西布雷恩公司 语音和连接平台
EP3823342B1 (en) * 2014-10-30 2023-12-13 DZS Inc. Method and apparatus for providing performance and usage information for a wireless local area network
EP3213518A1 (en) * 2014-10-31 2017-09-06 Piksel, Inc. Personalised channel
CN104506944B (zh) 2014-11-12 2018-09-21 科大讯飞股份有限公司 基于电视场景及语音助手的语音交互辅助方法及系统
EP3232395A4 (en) * 2014-12-09 2018-07-11 Sony Corporation Information processing device, control method, and program
US9811312B2 (en) 2014-12-22 2017-11-07 Intel Corporation Connected device voice command support
US10284618B2 (en) * 2015-04-28 2019-05-07 Apple Inc. Dynamic media content
US10038757B2 (en) * 2015-04-29 2018-07-31 Microsoft Technology Licensing, Llc Providing personalized greetings on a digital assistant
US9766596B2 (en) 2015-07-08 2017-09-19 Google Inc. Wake up to a cast alarm or an alarm plus content prompt
CN105163298B (zh) * 2015-08-24 2019-01-15 努比亚技术有限公司 一种通信方法及终端
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10671665B2 (en) * 2015-09-25 2020-06-02 Oath Inc. Personalized audio introduction and summary of result sets for users
JP6532021B2 (ja) 2015-09-29 2019-06-19 本田技研工業株式会社 音声処理装置及び音声処理方法
EP3153056B1 (en) 2015-09-30 2018-12-05 Apple Inc. Case with magnetic over-center mechanism
US10102201B2 (en) 2015-11-30 2018-10-16 Soundhound, Inc. Natural language module store
US10026401B1 (en) 2015-12-28 2018-07-17 Amazon Technologies, Inc. Naming devices via voice commands
US20170221322A1 (en) 2016-02-01 2017-08-03 Brian M. Ignomirello System and method of multimodal status indication
US10623518B2 (en) * 2016-02-04 2020-04-14 Spotify Ab System and method for ordering media content for shuffled playback based on user preference
US9858927B2 (en) 2016-02-12 2018-01-02 Amazon Technologies, Inc Processing spoken commands to control distributed audio outputs
EP3427488A4 (en) * 2016-03-08 2019-08-21 Your Trainer Inc. SYSTEMS AND METHODS FOR DYNAMICALLY CREATING A PERSONALIZED EXERCISE VIDEO
US20170262537A1 (en) * 2016-03-14 2017-09-14 Amazon Technologies, Inc. Audio scripts for various content
CN109074292B (zh) 2016-04-18 2021-12-14 谷歌有限责任公司 适当的代理的自动化助理调用
US9990002B2 (en) 2016-05-25 2018-06-05 Lg Electronics Inc. Sound output apparatus and hub for communication network
WO2017203366A1 (en) 2016-05-27 2017-11-30 Mobile Synergy 26 International Limited Multifunctional connection systems for various devices and methods of use thereof
US10832684B2 (en) * 2016-08-31 2020-11-10 Microsoft Technology Licensing, Llc Personalization of experiences with digital assistants in communal settings through voice and query processing
US11085777B2 (en) * 2018-07-27 2021-08-10 Adobe Inc. Generating digital event sequences utilizing a dynamic user preference interface to modify recommendation model reward functions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110311206A1 (en) 2010-06-16 2011-12-22 Verizon Patent And Licensing Inc. Method and apparatus for managing digital video recorders
US20140006947A1 (en) * 2012-06-29 2014-01-02 Spotify Ab Systems and methods for multi-context media control and playback
US20140108019A1 (en) 2012-10-08 2014-04-17 Fluential, Llc Smart Home Automation Systems and Methods
US20150154976A1 (en) 2013-12-02 2015-06-04 Rawles Llc Natural Language Control of Secondary Device

Also Published As

Publication number Publication date
JP7293180B2 (ja) 2023-06-19
CN108604181B (zh) 2021-03-09
US20170329848A1 (en) 2017-11-16
US10402450B2 (en) 2019-09-03
CN112947683A (zh) 2021-06-11
KR102114003B1 (ko) 2020-05-25
EP3455722A1 (en) 2019-03-20
EP3757753A1 (en) 2020-12-30
EP3455720B1 (en) 2023-12-27
JP2019526177A (ja) 2019-09-12
EP3455747A1 (en) 2019-03-20
CN108604178A (zh) 2018-09-28
US20190391998A1 (en) 2019-12-26
CN114758655A (zh) 2022-07-15
CN108604180A (zh) 2018-09-28
EP3455721B1 (en) 2020-09-16
CN108604178B (zh) 2021-09-03
CN108604254B (zh) 2022-04-12
EP3455720A1 (en) 2019-03-20
KR20190006975A (ko) 2019-01-21
EP3455747B1 (en) 2021-07-28
US11860933B2 (en) 2024-01-02
EP3455721A1 (en) 2019-03-20
JP6797938B2 (ja) 2020-12-09
KR20190014515A (ko) 2019-02-12
CN108604254A (zh) 2018-09-28
JP2021052403A (ja) 2021-04-01
CN108604181A (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
US11341964B2 (en) Voice-controlled media play in smart media environment
KR102177786B1 (ko) 미디어 출력 디바이스들 사이의 미디어 전달
KR102242917B1 (ko) 음성 인터페이스 디바이스에서의 포커스 세션
WO2017197187A1 (en) Media transfer among media output devices
KR102254021B1 (ko) 결합된 어쿠스틱 도파관 및 방열판을 갖는 콤팩트 홈 어시스턴트에 대한 설계

Legal Events

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