KR102416421B1 - 터치 패드 입력을 갖는 게임 컨트롤러 - Google Patents

터치 패드 입력을 갖는 게임 컨트롤러 Download PDF

Info

Publication number
KR102416421B1
KR102416421B1 KR1020200049825A KR20200049825A KR102416421B1 KR 102416421 B1 KR102416421 B1 KR 102416421B1 KR 1020200049825 A KR1020200049825 A KR 1020200049825A KR 20200049825 A KR20200049825 A KR 20200049825A KR 102416421 B1 KR102416421 B1 KR 102416421B1
Authority
KR
South Korea
Prior art keywords
display
character
neural network
pressure
computer simulation
Prior art date
Application number
KR1020200049825A
Other languages
English (en)
Other versions
KR20200125514A (ko
Inventor
천 자오
정선 유
사무엘 란 매튜스
Original Assignee
소니 인터랙티브 엔터테인먼트 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 인터랙티브 엔터테인먼트 엘엘씨 filed Critical 소니 인터랙티브 엔터테인먼트 엘엘씨
Publication of KR20200125514A publication Critical patent/KR20200125514A/ko
Application granted granted Critical
Publication of KR102416421B1 publication Critical patent/KR102416421B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/218Input arrangements for video game devices characterised by their sensors, purposes or types using pressure sensors, e.g. generating a signal proportional to the pressure applied by the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2250/00Miscellaneous game characteristics
    • A63F2250/02Miscellaneous game characteristics having an effect on the human senses
    • A63F2250/025Miscellaneous game characteristics having an effect on the human senses related to sense of touch
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1068Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad

Abstract

게임 컨트롤러는 스크린 상의 가상 키보드를 보는 사용자가 소프트 터치하여 스크린 상에서 커서를 이동시킨 다음, 하드 터치하여 커서를 이동시키고 가상 키보드로부터 문자를 입력하기 위해 프로세서로 위치 데이터도 전송하는 터치 패드를 포함한다. 기계 학습은 다음 문자 또는 다음 단어를 예측하는 데 사용된다.

Description

터치 패드 입력을 갖는 게임 컨트롤러{GAME CONTROLLER WITH TOUCHPAD INPUT}
본 출원은 일반적으로 컴퓨터 기술에 근간을 두고 구체적인 기술적 개선을 만들어 내는 기술적으로 독창적인 비-루틴(non-routine) 솔루션들에 관한 것이다. 특히, 본 출원은 터치 패드 입력이 있는 컴퓨터 시뮬레이션 컨트롤러에 관한 것이다.
딥 러닝(deep learning)이라고 하는 기계 학습은 데이터 이해, 검출 및/또는 분류와 관련된 다양한 유용한 어플리케이션들에 사용될 수 있다.
게임 산업과 같은 컴퓨터 시뮬레이션 산업에서는 기계 학습으로부터 혜택을 받아 정밀도와 견고성을 향상시킬 수 있는 여러 데이터 입력 모드가 존재할 수 있다.
따라서, 장치는 일시적 신호가 아닌 컴퓨터 시뮬레이션 컨트롤러의 터치 패드상에서 터치 신호를 수신하기 위해 프로세서에 의해 실행 가능한 명령들을 포함하는 적어도 하나의 프로세서 및 적어도 하나의 컴퓨터 저장 장치를 포함한다. 제1 압력을 나타내는 터치 신호에 응답하여, 컨트롤러로부터 이격된 디스플레이 상에서 커서를 이동시키고 문자의 선택을 설정하지 않도록 하는 명령들이 실행 가능하다. 또한 제1 압력보다 큰 제2 압력을 나타내는 터치 신호에 응답하여, 제1 영숫자 문자의 선택을 설정하고 디스플레이 상에서 제1 영숫자 문자를 표시하도록 하는 명령들이 실행 가능하다.
예시적인 실시예에서, 프로세서는 컴퓨터 시뮬레이션 컨트롤러에서 구현된다. 또는, 프로세서는 컴퓨터 시뮬레이션 컨트롤러와 통신하도록 구성된 컴퓨터 시뮬레이션 콘솔에서 구현될 수 있다.
일부 구현예들에서, 제2 압력을 나타내는 터치 신호에 응답하여, 디스플레이 상에서 커서를 이동시키도록 하는 명령들이 실행 가능할 수 있다. 제1 압력을 나타내는 터치 신호에 응답하여, 디스플레이 상의 키보드의 이미지를 확대하도록 하는 명령들이 실행 가능할 수 있다.
특정 실시예들에서, 제1 영숫자 문자를 적어도 제1 신경망(neural network; NN)에 입력하고 적어도 제1 예측 영숫자 문자를 포함하는 제1 NN 예측 영숫자 문자 시퀀스로부터 수신하도록 하는 명령들이 실행될 수 있다. 이러한 실시예들에서, 디스플레이 상에, 제1 영숫자 문자 다음에, 적어도 제1 예측 영숫자 문자를 포함하는 영숫자 문자의 예측 시퀀스를 표시하도록 하는 명령들이 실행 가능할 수 있다. 원하는 경우, 제1 NN은 복수의 장단기 메모리(long short-term memory; LSTM) 네트워크들을 포함할 수 있다.
다른 양태에서, 컴퓨터 시뮬레이션 컨트롤러로부터 터치 신호를 수신하는 단계, 및 제1 압력을 나타내는 터치 신호에 응답하여, 디스플레이 상에서 커서를 이동시키는 단계를 포함한다. 상기 방법은 또한 제1 압력보다 큰 제2 압력을 나타내는 터치 신호에 응답하여, 적어도 제1 문자를 설명하는 단계, 및 제1 문자를 디스플레이 상에 표시하는 단계를 포함한다.
다른 양태에서, 어셈블리는 적어도 하나의 컴퓨터 시뮬레이션 컨트롤러, 컴퓨터 시뮬레이션 컨트롤러에 의해 지원되는 적어도 하나의 터치 패드, 및 터치 패드 상의 터치 입력에 응답하여 영숫자 문자들이 디스플레이 상에 나타날 수 있도록 적어도 하나의 프로세서에 의해 실행 가능한 명령들이 있는 적어도 하나의 컴퓨터 저장 장치를 포함한다. 터치 패드 상의 터치 입력에 응답하여 디스플레이 상에 나타낸 영숫자 문자들에 적어도 부분적으로 기초하여 디스플레이 상에 예측 영숫자 문자들을 표시하도록 하는 명령들이 실행될 수 있다.
본 출원의 구조 및 동작 둘 모두에 대한 세부 사항들은 첨부 도면들을 참조하여 가장 잘 이해될 수 있으며, 여기서 유사한 참조 부호들은 유사한 파트들을 지칭한다:
도 1은 본 원리들과 일치하는 예시적인 시스템의 블록도이다;
도 2는 게임 컨트롤러와 직접 통신하거나 예를 들어, 컴퓨터 게임 콘솔을 통해 통신하는 TV 또는 기타 오디오 비디오 장치와 같은 디스플레이 상에 나타낸 텍스트를 입력하는 데 사용되는 터치 패드가 있는 컴퓨터 시뮬레이션 컨트롤러의 사시도이다;
도 3은 컨트롤러 터치 패드 상의 소프트 프레스 및 하드 프레스를 예시하는 개략도이다;
도 4는 도 3과 관련된 본 원리들과 일치하는 예시적인 로직의 흐름도이다;
도 5는 본 원리들과 일치하는 로직 흐름도, 데이터 구조들 및 처리 컴포넌트들의 조합이다;
도 6 내지 8b는 사용 단계들을 예시하는, 도 5의 히트맵이라고 하는 데이터 구조의 개략도들이다;
도 9는 현재 사용자 입력에 기반한 다음 예측 단어를 출력하기 위해 복수의 장단기 메모리(LSTM) 네트워크들로 구성된 예시적인 신경망(NN)의 블록도이다;
도 10 내지 12는 트레이닝 후 도 9의 NN의 동작을 예시하는 개략도들이다; 그리고
도 13은 본 원리들과 일치하는 예시적인 전체 로직의 흐름도이다.
본 개시는 일반적으로 제한하는 것은 아니나 분산 컴퓨터 게임 네트워크들, 증강 현실(AR) 네트워크들, 가상 현실(VR) 네트워크들, 비디오 방송, 콘텐트 전달 네트워크들, 가상 기계들 및 인공 신경망들과 같은 소비자 전자제품(CE) 장치 네트워크들 및 기계 학습 어플리케이션들의 양태들을 포함하는 컴퓨터 에코시스템들에 관한 것이다.
본원의 시스템은 데이터가 클라이언트와 서버 컴포넌트들 사이에서 교환될 수 있도록 네트워크를 통해 연결된 서버 및 클라이언트 컴포넌트들을 포함할 수 있다. 클라이언트 컴포넌트들은 AR 헤드셋들, VR 헤드셋들, Sony PlayStation®과 같은 게임 콘솔들 및 관련 마더 보드들, 게임 컨트롤러들, 휴대용 텔레비전들(예를 들어, 스마트 TV들, 인터넷 가능 TV들), 랩탑들 및 태블릿 컴퓨터들과 같은 휴대용 컴퓨터들, 및 스마트 폰들 및 아래에 논의된 추가 예들을 포함하는 기타 모바일 장치들을 포함하는 하나 이상의 컴퓨팅 장치들을 포함할 수 있다. 이들 클라이언트 장치들은 다양한 동작 환경들에서 동작될 수 있다. 예를 들어, 클라이언트 컴퓨터들 중 일부는, 예들로서, 오비스(Orbis) 또는 리눅스(Linux) 운영 체제, 마이크로소프트(Microsoft)의 운영 체제 또는 유닉스(Unix) 운영 체제 또는 애플(Apple, Inc.) 또는 구글(Google)에서 생산된 운영 체제들을 사용할 수 있다. 이러한 운영 환경들은 마이크로소프트, 구글 또는 모질라(Mozilla)에 의해 만들어진 브라우저 또는 아래에 논의된 인터넷 서버들에 의해 호스팅된 웹 사이트들에 액세스할 수 있는 다른 브라우저 프로그램과 같은, 하나 이상의 프로그램들/어플리케이션들을 실행하는데 사용될 수 있다. 또한, 본 원리들에 따른 운영 환경들은 하나 이상의 컴퓨터 게임 프로그램들/어플리케이션들 및 본 원리들을 수행하는 다른 프로그램들/어플리케이션들을 실행하는데 사용될 수 있다.
서버들 및/또는 게이트웨이들은 인터넷과 같은 네트워크를 통해 데이터를 수신 및 전송하도록 서버들을 구성하는 명령들을 실행하는 하나 이상의 프로세서들을 포함할 수 있다. 추가로 또는 대안으로, 클라이언트 및 서버는 로컬 인트라넷 또는 가상 사설 네트워크를 통해 연결될 수 있다. 서버 또는 컨트롤러는 게임 콘솔 및/또는 소니 플레이스테이션®, 개인용 컴퓨터 등과 같은 하나 이상의 마더 보드들에 의해 인스턴스화될 수 있다.
클라이언트들과 서버들 사이의 네트워크를 통해 정보가 교환될 수 있다. 이를 위해 그리고 보안을 위해, 서버들 및/또는 클라이언트들은 방화벽들, 로드 밸런서들, 임시 저장 장치들 및 프록시들, 및 안정성 및 보안을 위한 기타 네트워크 인프라를 포함할 수 있다. 하나 이상의 서버들은 온라인 소셜 웹사이트 또는 비디오 게임 웹사이트와 같은 안전한 커뮤니티를 네트워크 사용자들에게 제공하여 본 원리들에 따라 크라우드 소싱된 통신을 제공하는 방법을 구현하는 장치를 형성할 수 있다.
본원에 사용된 바와 같이, 명령들은 시스템에서 정보를 처리하기 위한 컴퓨터 구현 단계들을 말한다. 명령들은 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수 있으며, 시스템의 컴포넌트들에 의해 수행되는 모임의 유형의 프로그래밍된 단계를 포함한다.
프로세서는 어드레스 라인들, 데이터 라인들, 및 제어 라인과 같은 다양한 라인들 및 레지스터들 및 시프트 레지스터들에 의해 로직을 실행할 수 있는 임의의 종래 범용 단일 또는 다중 칩 프로세서일 수 있다.
본원의 흐름도들 및 사용자 인터페이스들의 방식으로 설명된 소프트웨어 모듈들은 다양한 서브 루틴들, 절차들 등을 포함할 수 있다. 본 개시를 제한하지 않고, 특정 모듈에 의해 실행되는 것으로 언급된 로직은 다른 소프트웨어 모듈들에 재분배될 수 있고/있거나 단일 모듈로 함께 결합되고/되거나 공유 가능한 라이브러리에서 이용 가능하게 될 수 있다.
상기에 나타낸 바와 같이, 본원에 설명된 본 원리들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합들로 구현될 수 있다; 따라서, 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들은 그 기능성 측면에서 설명된다.
상기에 언급된 것 외에도, 아래에 설명된 논리 블록들, 모듈들 및 회로들은 범용 프로세서, 디지털 신호 프로세서(DSP), 필드 프로그램 가능 게이트 어레이(FPGA) 또는 본원에 설명된 기능들을 수행하도록 설계된 ASIC(application specific integrated circuit), 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 이들의 임의의 조합과 같은 다른 프로그램 가능 로직 장치로 구현되거나 수행될 수 있다. 프로세서는 컨트롤러 또는 상태 머신 또는 컴퓨팅 장치들의 조합에 의해 구현될 수 있다.
후술되는 기능들 및 방법들은 하드웨어 회로 또는 소프트웨어 회로에서 구현될 수 있다. 소프트웨어로 구현될 때, 기능들 및 방법은 제한하는 것은 아니나 자바, C# 또는 C++와 같은 적절한 언어로 작성될 수 있으며, RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM(compact disk read-only memory)과 같은 컴퓨터 판독 가능 저장 매체, 또는 DVD(digital versatile disc)와 같은 다른 광학 디스크 저장 장치, 자기 디스크 저장 장치, 또는 탈착식 썸(thumb) 드라이브들을 포함하는 다른 자기 저장 장치들 등을 통해 저장되거나 전송될 수 있다. 연결은 컴퓨터 판독 가능 매체를 설정할 수 있다. 이러한 연결들은 예들 들어, 광섬유 및 동축 와이어들 및 DSL(digital subscriber line) 및 트위스트 페어 와이어들을 포함하는 하드웨어에 내장된(hard-wired) 케이블들을 포함할 수 있다. 이러한 연결들은 적외선 및 무선을 포함하는 무선 통신 연결들을 포함할 수 있다.
일 실시예에 포함된 컴포넌트들은 다른 실시예들에서 임의의 적절한 조합으로 사용될 수 있다. 예를 들어, 본원에 설명되고/되거나 도면들에 도시된 다양한 컴포넌트들 중 어느 것도 다른 실시예들로부터 결합, 상호 변경 또는 배제될 수 있다.
"A, B 및 C 중 적어도 하나를 갖는 시스템"(마찬가지로, "A, B 또는 C 중 적어도 하나를 갖는 시스템" 및 "A, B, C 중 적어도 하나를 갖는 시스템")은 A 단독, B 단독, C 단독, A와 B를 함께, A와 C를 함께, B와 C를 함께 및/또는 A, B와 C를 함께 가지는 등의 시스템들을 포함한다.
이제 구체적으로 도 1을 참조하면, 상기에 언급되고 본 원리들에 따라 아래에 더 설명된 예시적인 장치들 중 하나 이상을 포함할 수 있는 예시적인 시스템(10)이 도시된다. 시스템(10)에 포함된 예시적인 장치들 중 제1 장치는 제한하는 것은 아니나 TV 튜너(동등하게, TV를 제어하는 셋톱박스)가 있는 인터넷 접속가능(Internet-enabled) TV와 같은 오디오 비디오 장치(AVD)(12)와 같은 소비자 전자제품(consumer electronics; CE) 장치이다. 그러나, AVD(12)는 대안적으로 가전제품 또는 예를 들어 컴퓨터화된 인터넷 접속가능 냉장고, 세탁기 또는 건조기인, 가정용 아이템일 수 있다. AVD(12)는 대안적으로 또한 컴퓨터화된 인터넷 접속가능("스마트") 전화기, 태블릿 컴퓨터, 노트북 컴퓨터, 증강 현실(AR) 헤드셋, 가상 현실(VR) 헤드셋, 인터넷 접속가능 또는 "스마트" 안경, 컴퓨터화된 인터넷 접속가능 워치, 컴퓨터화된 인터넷 접속가능 팔찌, 컴퓨터화된 인터넷 접속가능 음악 재생기, 컴퓨터화된 인터넷 접속가능 헤드폰, 삽입형(implantable) 스킨 장치와 같은 컴퓨터화된 인터넷 접속가능 삽입형 장치, 기타 컴퓨터화된 인터넷 접속가능 장치 등과 같은 다른 유형의 컴퓨터화된 웨어러블 장치일 수 있다. 어쨌든, AVD(12)는 본 원리들을 수행(예를 들어, 본 원리들을 수행하고, 본원에 설명된 로직을 실행하고, 본원에 설명된 임의의 다른 기능들 및/또는 동작들을 수행하도록 기타 소비자 전자제품(CE)과 통신)하도록 구성됨을 이해해야 한다.
따라서, 이러한 원리들을 수행하기 위해, AVD(12)는 도 1에 도시된 컴포넌트들 중 일부 또는 모두에 의해 설정될 수 있다. 예를 들어, AVD(12)는 고화질 또는 초고해상도 "4K" 또는 고도의 평면 스크린으로 구현될 수 있으며 디스플레이 상에서 터치들을 통해 사용자 입력 신호들을 수신하도록 터치 가능할 수 있는 하나 이상의 디스플레이들(14)을 포함할 수 있다. AVD(12)는 본 원리들에 따라 오디오를 출력하기 위한 하나 이상의 스피커들(16), 및 AVD(12)를 제어하기 위해 가청 커맨드들을 AVD(12)로 입력하는 오디오 수신기/마이크로폰과 같은 적어도 하나의 추가 입력 장치(18)를 포함할 수 있다. 예시적인 AVD(12)는 또한 하나 이상의 프로세서들의 제어 하에서 인터넷, WAN, LAN 등과 같은 적어도 하나의 네트워크(22)를 통해 통신하기 위한 하나 이상의 네트워크 인터페이스들(20)을 포함할 수 있다. 따라서, 인터페이스(20)는 제한 없이, 제한하는 것은 아니나 메쉬 네트워크 트랜시버와 같은 무선 컴퓨터 네트워크 인터페이스의 예인, Wi-Fi 트랜시버일 수 있다. 더욱이, 네트워크 인터페이스(20)는 예를 들어, 유선 또는 무선 모뎀 또는 라우터, 또는 예를 들어 무선 텔레포니 트랜시버 또는 상기에 언급된 것과 같은 Wi-Fi 트랜시버와 같은 기타 적절한 인터페이스 등일 수 있음에 유의한다.
하나 이상의 프로세서들은 그에 이미지들을 표시하도록 디스플레이(14)를 제어하고 그로부터 입력을 수신하는 것과 같이 본원에 설명된 AVD(12)의 다른 요소들을 포함하여, 본 원리들을 수행하도록 AVD(12)를 제어한다는 것을 이해해야 한다. 하나 이상의 프로세서들은 그래픽 카드(25A) 상의 그래픽 처리 유닛(GPU)(25)뿐만 아니라 중앙 처리 유닛(CPU)(24)을 포함할 수 있다.
전술한 것 이외에도, AVD(12)는 또한 예를 들어 다른 소비자 전자제품(CE) 장치에 물리적으로 연결(예를 들어, 유선 연결을 사용함)하기 위한 고해상도 멀티미디어 인터페이스(HDMI) 포트 또는 USB 포트 및/또는 헤드폰을 통해 AVD(12)로부터 사용자로 오디오를 프리젠테이션하기 위해 헤드폰을 AVD(12)에 연결하기 위한 헤드폰 포트와 같은 하나 이상의 입력 포트들(26)을 포함할 수 있다. 예를 들어, 입력 포트(26)는 유선을 통해 또는 무선으로 오디오 비디오 콘텐트의 케이블 또는 위성 소스(26a)에 연결될 수 있다. 따라서, 소스(26a)는 예를 들어, 개별 또는 통합형 셋톱박스(set top box) 또는 위성 수신기일 수 있다. 또는, 소스(26a)는 사용자에 의해 채널 할당을 위한 즐겨찾기로 간주될 수 있는 콘텐트를 포함하는 게임 콘솔 또는 디스크 플레이어일 수 있다. 소스(26a)는 게임 콘솔로 구현될 때 CE 장치(44)와 관련하여 아래에 설명된 컴포넌트들의 일부 또는 전부를 포함할 수 있으며 본원에 설명된 로직의 일부 또는 전부를 구현할 수 있다.
AVD(12)는 독립형 장치들로서 또는 AV 프로그램들을 다시 재생하기 위한 AVD의 섀시(chassis) 내부 또는 외부의 개인 비디오 레코딩 장치(PVR)나 비디오 디스크 플레이어로서 또는 탈착식 메모리 매체로서 AVD의 섀시에 구현된 일부 경우에, 일시적 신호들이 아닌 디스크-기반 또는 솔리드 스테이트 저장 장치와 같은 하나 이상의 컴퓨터 메모리들(28)을 더 포함할 수 있다. 또한, 일부 실시예들에서, AVD(12)는 제한하는 것은 아니나, 예를 들어, 적어도 하나의 위성 또는 휴대폰 타워로부터 지리학적 위치 정보를 수신하고, 정보를 프로세서(24)로 제공하고/하거나 AVD(12)가 프로세서(24)와 함께 배치되는 고도를 결정하도록 구성되는, 휴대폰 수신기, GPS 수신기 및/또는 고도계(30)와 같은 지점 또는 위치 수신기를 포함할 수 있다. 그러나, 휴대폰 수신기, GPS 수신기 및/또는 고도계 이외의 다른 적절한 위치 수신기는 예를 들어, 3차원 모두에서 AVD(12)의 위치를 결정하기 위해 본 원리들에 따라 사용될 수 있음을 이해해야 한다.
AVD(12)의 설명을 계속하면, 일부 실시예들에서, AVD(12)는 예를 들어, 열 화상 카메라, 웹캠과 같은 디지털 카메라, 적외선(IR) 카메라 및/또는 AVD(12)에 통합되고 본 원리들에 따라 사진들/이미지들 및/또는 비디오를 생성하도록 프로세서(24)에 의해 제어 가능한 카메라일 수 있는 하나 이상의 카메라들(32)을 포함할 수 있다. 또한, AVD(12)에는 각각 블루투스 및/또는 NFC 기술을 사용하여 다른 장치들과 통신하기 위한 블루투스 트랜시버(34) 및 다른 근거리 통신(NFC) 요소(36)가 포함될 수 있다. 예시적인 NFC 요소는 무선 주파수 식별(RFID) 요소일 수 있다.
또한, AVD(12)는 프로세서(24)에 입력을 제공하는 하나 이상의 보조 센서들(37)(예를 들어, 가속도계, 자이로스코프, 주행계 또는 자기 센서와 같은 모션 센서, 적외선(IR) 센서, 광학 센서, 속도 및/또는 케이던스(cadence) 센서, (예를 들어, 제스처 커맨드를 감지하기 위한) 제스처 센서 등)을 포함할 수 있다. AVD(12)는 프로세서(24)에 입력을 제공하는 OTA TV 방송들을 수신하기 위한 OTA(over-the-air) TV 방송 포트(38)를 포함할 수 있다. 전술한 것에 외에도, AVD(12)는 또한 IR 데이터 관련(IRDA) 장치와 같은 적외선(IR) 송신기 및/또는 IR 수신기 및/또는 IR 트랜시버(42)를 포함할 수 있음에 유의한다. 배터리(도시되지 않음)는 AVD(12)에 전원을 공급하기 위해 제공될 수 있다.
계속 도 1을 참조하면, AVD(12) 외에도, 시스템(10)은 하나 이상의 다른 소비자 전자제품(CE) 장치 타입들을 포함할 수 있다. 일 예에서, 제1 CE 장치(44)는 컴퓨터 게임 오디오 및 비디오를 AVD(12)로 직접 전송된 커맨드들을 통해 및/또는 아래에 설명된 서버를 통해 AVD(12)로 전송하는데 사용될 수 있는 반면, 제2 CE 장치(46)는 제1 CE 장치(44)와 유사한 컴포넌트들을 포함할 수 있다. 도시된 예에서, 제1 CE 장치(46)는 도시된 바와 같이 사용자(47)에 의해 착용된 AR 또는 VR 헤드셋으로 구성될 수 있다. 도시된 예에서, 두 개의 CE 장치들(44, 46)만이 도시되어 있으며, 이는 본 원리들에 따라 더 적거나 많은 장치들이 사용될 수도 있는 것으로 이해된다.
도시된 예에서, 모든 세 개의 장치들(12, 44, 46)은 예를 들어, 홈에서 보안되거나 암호화된 네트워크, 엔터테인먼트 네트워크 또는 Wi-Fi와 같은 네트워크의 멤버들인 것으로 가정되거나, 또는 적어도 특정 위치에서 서로 근접하여 존재하며, 서로 통신하고 본원에 설명된 바와 같은 서버와 통신할 수 있는 것으로 가정된다. 그러나, 본 원리들은 달리 명시적으로 청구되지 않는 한 특정 위치 또는 네트워크에 제한되지 않는다.
예시적인 비제한 제1 CE 장치(44)는 상기 언급된 장치들, 예를 들어, 스마트폰, 디지털 어시스턴트, 휴대용 무선 랩탑 컴퓨터 또는 노트북 컴퓨터 또는 게임 컨트롤러("콘솔"이라고도 함) 중 어느 하나에 의해 설정될 수 있으며, 따라서 아래에 설명된 컴포넌트들 중 하나 이상을 가질 수 있다. 제2 CE 장치(46)는 제한 없이 AR 헤드셋, VR 헤드셋, "스마트" 인터넷-가능 안경, 또는 심지어 블루레이, 게임 콘솔 등가 같은 비디오 디스크 플레이어에 의해 설정될 수 있다. 또한, 일부 실시예들에서, 제1 CE 장치(44)는 예를 들어, AV 재생 및 일시 정지 커맨드들을 AVD(12)로 발행하기 위한 원격 제어(RC)일 수 있거나, 또는 태블릿 컴퓨터, 유선 또는 무선 링크를 통해 도 1에 도시된 장치들 중 다른 하나에 의해 구현된 게임 콘솔과 통신하고 AVD(12), 개인용 컴퓨터, 무선 전화 등에서 비디오 게임 프리젠테이션을 제어하는 게임 컨트롤러와 같은 보다 복잡한 장치일 수 있다.
따라서, 제1 CE 장치(44)는 디스플레이(50)상의 터치들을 통해 사용자 입력 신호들을 수신하기 위해 터치 가능할 수 있는 하나 이상의 디스플레이들(50)을 포함할 수 있다. 추가로 또는 대안으로, 디스플레이(들)(50)은 AR 헤드셋 디스플레이 또는 "스마트" 안경 디스플레이 또는 "헤드업" 디스플레이와 같은 적어도 부분적으로 투명한 디스플레이일 수 있을 뿐만 아니라, VR 헤드셋 디스플레이 또는 AR 및/또는 VR 이미지들을 표시하도록 구성된 다른 디스플레이일 수 있다.
제1 CE 장치(44)는 또한 본 원리들에 따라 오디오를 출력하기 위한 하나 이상의 스피커들(52), 및 예를 들어, 장치(44)를 제어하기 위해 가청 커맨드들을 제1 CE 장치(44)에 입력하기 위한 오디오 수신기/마이크로폰과 같은 적어도 하나의 추가 입력 장치(54)를 포함할 수 있다. 예시적인 제1 CE 장치(44)는 하나 이상의 CE 장치 프로세서(58)의 제어 하에서 네트워크(22)를 통해 통신하기 위한 하나 이상의 네트워크 인터페이스들(56)을 더 포함할 수 있다. 따라서, 인터페이스(56)는, 제한하는 것은 아니나, 메쉬 네트워크 인터페이스들을 포함하는 무선 컴퓨터 네트워크 인터페이스의 예인, Wi-Fi 트랜시버일 수 있다. 프로세서(58)는 예를 들어, 이미지들을 표시하도록 디스플레이(50)를 제어하고 그로부터 입력 수신하는 것과 같은, 본원에 설명된 제1 CE 장치(44)의 다른 요소들을 포함하여 본 원리들을 수행하도록 제1 CE 장치(44)를 제어함을 이해해야 한다. 더욱이, 네트워크 인터페이스(56)는 예를 들어, 유선 또는 무선 모뎀 또는 라우터, 또는 무선 텔레포니 트랜시버 또는 상기에 언급된 것과 같은 Wi-Fi 트랜시버와 같은 기타 적절한 인터페이스 등일 수 있음에 유의한다.
또한, 프로세서(들)(58)외에, 제1 CE 장치(44)는 또한 그래픽 카드(55A) 상의 그래픽 처리 유닛(GPU)(55)을 포함할 수 있다. 그래픽 처리 유닛(55)은 그 중에서도 디스플레이(50) 상에 AR 및/또는 VR 이미지들을 표시하도록 구성될 수 있다.
전술한 것 이외에도, 제1 CE 장치(44)는 또한 예를 들어 다른 CE 장치에 물리적으로 연결(예를 들어, 유선 연결을 사용함)하기 위한 HDMI 포트 또는 USB 포트 및/또는 헤드폰을 통해 제1 CE 장치(44)로부터 사용자로 오디오를 프리젠테이션하기 위해 헤드폰을 제1 CE 장치(44)에 연결하기 위한 헤드폰 포트와 같은 하나 이상의 입력 포트들(60)을 포함할 수 있다. 제1 CE 장치(44)는 디스크-기반 또는 솔리드-스테이트 저장 장치와 같은 하나 이상의 유형 컴퓨터 판독 가능 저장 매체(62)를 더 포함할 수 있다. 또한, 일부 실시예들에서, 제1 CE 장치(44)는 제한하는 것은 아니나, 예를 들어, 삼각측량을 이용하여 적어도 하나의 위성 및/또는 셀 타워로부터 지리학적 위치 정보를 수신하고, 정보를 CE 장치 프로세서(58)로 제공하고/하거나 제1 CE 장치(44)가 CE 장치 프로세서(58)과 함께 배치되는 고도를 결정하도록 구성되는, 휴대폰 및/또는 GPS 수신기 및/또는 고도계(64)와 같은 지점 또는 위치 수신기를 포함할 수 있다. 그러나, 휴대폰 및/또는 GPS 수신기 및/또는 고도계 이외의 다른 적절한 위치 수신기는 예를 들어, 3차원 모두에서 제1 CE 장치(44)의 위치를 결정하기 위해 본 원리들에 따라 사용될 수 있음을 이해해야 한다.
제1 CE 장치(44)의 설명을 계속하면, 일부 실시예들에서, 제 1 CE 장치(44)는 예를 들어, 열 화상 카메라, IR 카메라, 웹캠과 같은 디지털 카메라 및/또는 제1 CE 장치(44)에 통합되고 본 원리들에 따라 사진들/이미지들 및/또는 비디오를 생성하도록 CE 장치 프로세서(58)에 의해 제어 가능한 다른 유형의 카메라일 수 있는 하나 이상의 카메라들(66)을 포함할 수 있다. 또한, 제1 CE 장치(44)에는 각각 블루투스 및/또는 NFC 기술을 사용하여 다른 장치들과 통신하기 위한 블루투스 트랜시버(68) 및 다른 근거리 통신(NFC) 요소(70)가 포함될 수 있다. 예시적인 NFC 요소는 무선 주파수 식별(RFID) 요소일 수 있다.
또한, 제1 CE 장치(44)는 CE 장치 프로세서(58)에 입력을 제공하는 하나 이상의 보조 센서들(72)(예를 들어, 가속도계, 자이로스코프, 주행계 또는 자기 센서와 같은 모션 센서, 적외선(IR) 센서, 광학 센서, 속도 및/또는 케이던스 센서, (예를 들어, 제스처 커맨드를 감지하기 위한) 제스처 센서 등)을 포함할 수 있다. 제1 CE 장치(44)는 예를 들어, CE 장치 프로세서(58)에 입력을 제공하는 하나 이상의 기후 센서들(74)(예를 들어, 기압계, 습도 센서, 바람 센서, 광 센서, 온도 센서 등) 및/또는 하나 이상의 생체 센서(76)와 같은 기타 센서들을 포함할 수 있다. 전술한 것에 외에도, 일부 실시예들에서, 제1 CE 장치(44)는 또한 IR 데이터 관련(IRDA) 장치와 같은 적외선(IR) 송신기 및/또는 IR 수신기 및/또는 IR 트랜시버(78)를 포함할 수 있음에 유의한다. 배터리(도시되지 않음)는 제1 CE 장치(44)에 전원을 공급하기 위해 제공될 수 있다. CE 장치(44)는 상기에 설명된 임의의 통신 모드들 및 관련 컴포넌트들을 통해 AVD(12)와 통신할 수 있다.
제2 CE 장치(46)는 CE 장치(44)에 대해 도시된 컴포넌트들 중 일부 또는 전부를 포함할 수 있다. CE 장치들 중 어느 하나 또는 모두는 하나 이상의 배터리들에 의해 전원을 공급받을 수 있다.
이제 상기 언급된 적어도 하나의 서버(80)을 참조하면, 이는 적어도 하나의 서버 프로세서(82), 디스크 기반 또는 솔리드 스테이트 저장 장치와 같은 적어도 하나의 유형 컴퓨터 판독 가능 저장 매체(84)를 포함한다. 구현예에서, 매체(84)는 하나 이상의 솔리드 스테이트 저장 장치(SSD)들을 포함한다. 서버는 또한 네트워크(22)를 통해 도 1의 다른 장치와 통신할 수 있게 하는 적어도 하나의 네트워크 인터페이스들(86)을 포함하며, 실제로 본 원리들에 따라 서버들과 클라이언트 장치들 사이의 통신을 용이하게 할 수 있다. 네트워크 인터페이스(86)는 예를 들어, 유선 또는 무선 모뎀 또는 라우터, Wi-Fi 트랜시버, 또는 무선 텔레포니 트랜시버와 같은 다른 적절한 인터페이스일 수 있음에 유의한다. 네트워크 인터페이스(86)는 서버 프로세서(82)를 통과하지 않고 매체(84)를 소위 "패브릭 (fabric)"과 같은 네트워크에 직접 연결하는 RDMA(remote direct memory access) 인터페이스일 수 있다. 네트워크는 이더넷 네트워크 및/또는 광섬유 채널 네트워크 및/또는 인피니밴드(InfiniBand) 네트워크를 포함할 수 있다. 일반적으로, 서버(80)는 물리적 서버 "스택"에 배열될 수 있는 "블레이드(blade)들"이라고 하는 복수의 컴퓨터들의 복수의 프로세서들을 포함한다.
따라서, 일부 실시예들에서, 서버(80)는 인터넷 서버 또는 전체 "서버 팜(server farm)"일 수 있으며, 예를 들어, 본원에 개시된 바와 같은 도메인 적응을 위한 예시적인 실시예들에서 시스템(10)의 장치들이 서버(80)를 통해 "클라우드" 환경에 액세스할 수 있도록 "클라우드" 기능들을 포함하고 수행할 수 있다. 추가로 또는 대안으로, 서버(80)는 하나 이상의 게임 콘솔들 또는 도 1에 도시된 다른 장치들과 동일한 룸 또는 근처의 다른 컴퓨터들에 의해 구현될 수 있다.
도 2는 컴포넌트들이 도 1에 도시된 적절한 컴포넌트들을 포함할 수 있는 시스템(200)을 예시한다. PlayStation® 컨트롤러, Xbox® 컨트롤러 또는 기타 컨트롤러와 같은 컴퓨터 시뮬레이션 컨트롤러(202)는 손(206)으로부터 터치 신호들을 수신하고 인터넷 가능 TV와 같은 컴퓨터 시뮬레이션 콘솔(210) 및/또는 디스플레이 장치(212)와 유선 및/또는 무선 경로들(208)을 통해 통신할 수 있는 터치 패드(204)를 포함할 수 있다. 아래에 더 설명된 바와 같이, 사용자는 터치 패드(204)를 조작하여 디스플레이 장치와 신호들의 직접 통신하거나 시뮬레이션 콘솔(210)을 통해 디스플레이 장치(212) 상에 프리젠테이션 하기 위한 영숫자 문자들(214)을 생성할 수 있다. 보다 구체적으로, 터치 패드(204)를 조작함으로써, 사용자는 디스플레이 장치(212) 상에 표시된 가상 키보드(216)상의 문자 위로 스크린 커서를 이동시켜 영숫자 문자들(214)을 입력할 수 있다. 가상 키보드(216)는 제한하는 것은 아니나, 쿼티(QWERTY) 레이아웃을 가질 수 있다.
도 3에 개략적으로 도시된 바와 같이, 본 발명의 원리들은 두 가지 유형의 터치, 즉, 디스플레이 장치(212) 상의 스크린 커서가 위치 데이터(즉, 임의의 특정 가상 키의 선택을 나타내는 신호)를 디스플레이 장치에 전송하지 않고 가상 키보드(216)상에서 원하는 위치들로 이동되는 "소프트" 프레스(300)(터치 패드 상의 소프트 압력 또는 제로 압력의 패드 위의 호버(hover)를 사용함), 및 디스플레이 장치(212) 상의 스크린 커서가 이동될 수 있고 가상 키의 선택을 표시하기 위해 디스플레이 장치로 전송된 위치 데이터에 응답하는, 소프트 프레스보다 더 큰 압력의 "하드" 프레스(302)를 고려한다. 이러한 방식에서, 사용자는 터치 패드(204)로부터 시선을 떼고 가상 키보드(216)를 보면서 터치 패드에 걸쳐 그 또는 그녀의 손가락을 움직여서 시각적인 스크린 커서를 가상 키보드 상의 원하는 문자로 이동시킨 다음, 그 문자를 선택하기 위해 하드 프레스를 가할 수 있다. 개별의 "다음" 문자는 디스플레이 상에 표시되지 않을 수 있지만, 사용자가 "스와이프(swipe)"를 완료한 후 다음의 "가장 가능한 단어"가 표시될 수 있다는 점에 유의한다. "가장 고온의(hottest)" 키(히트맵에 기반함)는 트레이스(trace)뿐만 아니라 가상 키보드에서도 강조 표시될 수 있다. 추가로, "스와이프"는 트레이스를 형성하는 연속적인 하드 프레스로 정의된다.
도 4는 위의 설명을 염두에 둔 예시적인 로직을 예시한다. 로직은 시뮬레이션 컨트롤러(202)의 프로세서, 시뮬레이션 콘솔(210)의 프로세서 및 디스플레이 장치(212)의 프로세서 중 하나 이상에 의해 실행될 수 있다.
상태(400)에서 시작하여, 터치 패드(204)의 프레스가 수신되었는지가 결정된다. 이는 터치 패드(204)와 관련된 하나 이상의 근접 센서들로부터의 신호들이 터치 패드(204)에 인접한 손가락의 호버를 나타내는지 여부를 결정하고/하거나 터치 패드(204)와 관련된 하나 이상의 압력 센서들로부터의 신호들이 최소 제1 임계 압력의 압력을 나타내는지 여부를 결정함으로써 수행될 수 있다.
터치가 수신되었다고 결정되는 경우, 로직은 예를 들어, 일반적으로 상태(400)에서 사용된 임의의 임계 전압보다 크도록 설정되는 최소 임계 전압의 터치를 나타내는 터치 패드(204)와 관련된 압력 센서로부터의 터치를 나타내는 신호들에 의해 표시되는 바와 같이 소프트 프레스인지 또는 하드 프레스인지를 결정하기 위한 상태(402)로 진행된다. 터치가 임계값을 만족하지 않는 경우, 로직은 소프트 프레스를 리턴하기 위한 블록(404)으로 이동한다. 일부 구현예들에서, 로직은 소프트 프레스가 예를 들어, 임계 기간 내에서의, 예를 들어 마지막 5분 내에서의 제1 소프트 프레스인지를 결정하기 위한 상태(406)로 진행되고, 그렇다면 로직은 디스플레이 장치(212)상의 가상 키보드(216)의 이미지를 확대하기 위한 블록(408)으로 이동할 수 있다. 테스트가 부정적인 경우의 상태(406)로부터든 또는 블록(408)으로부터든 어느 경우에도, 로직은 프레스 위치 정보를 전송하지 않고 스크린 커서를 이동시키기 위한 블록(410)으로 이동한다.
한편, 상태(402)에서의 테스트가 하드 프레스가 수신되었다고 결정되는 경우, 블록(412)으로 리턴되며, 스크린은 사용자가 시뮬레이션 컨트롤러(200)의 터치 패드(204) 상에서 하드 프레스에 의해 선택했던 가상 키보드의 위치를 나타내는 위치 정보도 전송되는 터치에 따라 이동될 수 있다.
도 5는 상기에 언급된 하드웨어 및 소프트웨어 블록들의 조합을 예시한다. 소프트 프레스(502) 및 하드 프레스(504)를 나타내는 신호들을 출력하기 위한 하나 이상의 근접 및/또는 압력 센서들(500)이 터치 패드(204)에 제공된다. 소프트 프레스들(502)은 핑거 포커스 포인트들(506)을 설정한다. 하드 프레스들(504)은 센서(들)(500)에 의해 검출되는 터치 패드 상의 포인트들을 설정한다. 소프트 프레스는 커서 포커스 포인트를 나타내는 반면, "센서에 의한 포인트들"은 "센서에 의해 전송되는 연속적인 포인트들"을 의미한다.
510에서, 도 6 내지 8을 참조하여 아래에 더 논의된 히트맵 알고리즘은 하드 프레스들(504)에 따라 문자들의 시퀀스(512)를 출력하기 위해 액세스된다. 문자들의 시퀀스(512)는 사전(514)과 함께 문자들의 시퀀스(512)에 대한 정정 또는 완료를 형성할 수 있는 후보 목록을 감소시키는 감소 블록(516)에 입력된다. 사전(514)은 본질적으로 잘못 타이핑된 단어를 정정하는데 사용될 수 있는 문자들의 시퀀스들의 사전 및/또는 동의어 사전이며, 예를 들어, 사전(514)은 "thw"의 입력에 응답하여 "thw"와 "the"를 연관시켜 단어 "the"를 리턴할 수 있다.
감소된 후보 목록(516)은 스크린 상에 프리젠테이션 하기 위해 예측 네트워크 또는 단어들을 출력하는 모듈(518)에 제공되며, 사용자는 예측 단어 또는 단어들의 모든 문자를 타이핑하지 않고 그의 또는 그녀의 원하는 입력을 완료하도록 선택할 수 있다. 모듈(518)은 아래에 더 설명된 바와 같이 하나 이상의 네트워크들(NN)에 의해 설정될 수 있다. 예측 단어 또는 단어들을 생성하기 위해, 모듈(518)은 상황별 사용자 블록(520)으로부터 입력을 수신할 수 있으며, 이는 사용자에 의해 사용된 이전 단어 스트링들을, 예를 들어, "do you"는 "know what I mean"로 이전 입력들에 여러 번 추적되었을 수 있는, 이전 입력의 반복일 가능성이 있는 것으로 추정되는 현재 입력에 제공하며, 이 정보는 모듈(518)을 트레이닝시키고 실행시키는 것을 돕기 위해 입력될 수 있다.
게다가, 유사한 트레이닝/실행 보조 장치들은 도 5의 우측에 도시된 바와 같은 모듈(518)에 입력될 수 있다. 구체적으로, 다른 컴퓨터 게이머들로부터의 질의 및 채팅 데이터(522)는 기계 학습 문자열 모델(526)에 제공하기 위한 공통 입력 스트링들의 패턴들을 학습하기 위해 양방향 장단기 메모리(BILSTM)(524)와 같은 문자-기반 NN에 입력될 수 있다. 이 모델(526)은 다음 예측 단어 또는 단어들을 렌더링 시 모듈(518)에 입력되거나 모듈(518)에 의해 액세스될 수 있다.
도 6 내지 8b는 도 5의 히트맵 알고리즘(510)의 사용을 예시한다. 기본적으로, 손가락 "스와이프"(하드 프레스)의 "경로" 또는 "연결 포인트들" 및 각 문자의 확률은 스와이프를 따라 특정 시간 간격으로 "공제 및 누적"된다. 각 시간 간격에서, 가장 높은 확률을 갖는 문자가 추출되며, 이는 아래에 더 발전된 바와 같이 시퀀스에 추가하기 위해 특정 임계값을 통과해야 할 수도 있다.
도 6 내지 8b에서, 쿼티(QWERTY) 키보드의 좌측 상단에 있는 처음 네 글자(즉, Q, 그 옆에 "W"가 있고, 그 아래 좌측에서 우측으로 "A" 및 "S"가 있음)만 본 개시의 명확성을 위해 표시되지만, 이는 가상 키보드(216)에 대한 가능한 가상 키보드 레이아웃의 일례일 뿐이다. 도시된 예시적인 히트맵(510)에서, 특정 문자에 대한 히트맵의 각 영역은 총 9개의 칸들(기하학적 사각형으로 예시됨)에 대해 3x3 그리드로 분할되는데, 특정 문자에 대한 중심 칸(600)은 커서가 중심 영역에 있을 때 해당 문자의 확률이 1인 것을 나타낸다. 반대로, 히트맵(510)은 문자의 중심 칸(600)을 둘러싸는 경계 칸들(602)에서 1보다 작지만 0보다 큰 확률을 나타내는데, 이 확률은 중심 칸(600)의 문자 및 경계 칸들(602)에 바로 인접한 문자(들)와 관련된다(또는 다른 문자에 인접하지 않은 경계 칸의 경우, 중심 칸의 문자에 대해서만 확률이 1보다 작다).
도 7에 도시된 바와 같이, 700에서, 소프트 프레스는 의도된 입력의 시작 문자를 위치시키기 위해 사용된다. 그런 다음, 도 8의 800에 도시된 바와 같이, "Q"로 도시된 예에서, 하드 프레스는 시작 문자의 선택을 나타내는 데 사용된다. 이로 인해 "Q"가 1의 확률로 선택되고, 주변 문자들(도시된 예에서, "W", "A" 및 "S")이 선택되지 않은, 즉 0의 확률을 갖는 데이터의 수집을 야기한다.
도 8a 및 8b는 이어지는 스와이프의 결과들을 예시한다. 도 8a에서, 도 8에서 시작하는 위치로부터 손의 이미지로 표시된 위치(804)로의 스와이프(802)가 도시된다. 여기서, 사용자는 그의 손가락을 문자 "A"를 향해 이동했다. 이는 새로운 히트맵 통계가 도 8a에 도시된 알고리즘을 사용하여 경계 칸들(602)을 통한 스와이프의 경로에 따라 집계되게 한다. "Q"의 확률이 "W"(확률이 0), "A"(확률이 0.3임) 및 "S"(확률이 0)의 확률들보다 높기 때문에, 시퀀스는 "Q"를 리턴한다.
도 8b는 스와이프가 손의 이미지에 의해 도시된 위치(808)까지 계속되었음을 806에 도시한다. 이는 추가 히트맵 통계가 도 8b에 도시된 알고리즘을 사용하여 경계 칸들(602)을 통한 스와이프의 경로에 따라 집계되게 한다. "A"의 확률이 "W"(확률이 0임), "Q"(확률이 0.3임) 및 "S"(확률이 0임)의 확률들보다 높기 때문에, 시퀀스는 "Q"가 도 8a에 리턴된 후, 부가될 "A"를 리턴하여, 시퀀스 "QA"가 된다.
따라서, 손가락 "스와이프"(하드 프레스)의 "경로" 또는 "연결 포인트들"이 추적되며, 각 문자의 확률들이 스와이프를 따라 특정 시간 간격들로 공제 및 누적된다는 것이 이제 이해될 수 있다. 각각의 시간 간격에서, 가장 높은 확률을 가진 문자가 추출되며, 제공된 일부 실시예들에서는 문자의 확률이 시퀀스에 추가될 임계 확률(예를 들어, 0.4)을 만족시킨다.
도 9는 예를 들어, 도 5의 임의의 NN 기반 모듈에서 사용될 수 있는 예시적인 NN 아키텍처를 예시한다. NN의 네트워크(900)는 히트맵으로부터 확률(904)을 갖는 입력 문자들(902)을 수신하여 관련 확률(908)을 갖는 시분할 예측 문자들(906)을 출력할 수 있다. 도시된 예에서, 각각의 문자(902)는 도시된 바와 같이 장단기 메모리(long short-term memory; LSTM)(910)의 시퀀스와 같은 각자의 순환 NN(recurrent NN; RNN)에 입력될 수 있다. 도 9의 우측에 도시된 바와 같은 LSTM(910)은 입력 게이트(912), 포겟(forget) 게이트(914) 및 출력 게이트(916)를 포함할 수 있으며, 이들 모두는 도 9에서 그리스 문자 σ로 표시된 바와 같이 시그모이드 함수(sigmoid function)를 실행할 수 있다. 입력 게이트(912)는 새로운 값이 셀로 흐르는 정도를 제어하고, 포겟 게이트(914)는 값이 셀에 남아 있는 정도를 제어하며, 출력 게이트(916)는 셀의 값이 LSTM 유닛의 출력 활성화를 계산하는데 사용되는 정도를 제어한다.
입력중인 현재 값(xi) 및 이전 반복으로부터 숨겨진 상태(ht-1)는 도시된 바와 같은 세 개의 게이트 모두에 입력된다. 입력 게이트(912)의 시그모이드 함수의 출력은 제1 결합 연산자(920)에서 하이퍼볼릭 탄젠트 함수(918)와 결합될 수 있으며, 이는 요소별 곱(element-wise product)일 수 있다. 제1 결합 연산자(920)의 출력은 원하는 경우 합산함으로써 제3 결합 연산자(924)에서 제2 결합 연산자(922)의 출력(s)과 결합된다. 제3 결합 연산자(924)의 출력은 포겟 게이트(914)의 출력과 결합하기 위해 제2 결합 연산자(922)로 다시 공급될 수 있다. 또한, 제3 결합 연산자(924)의 출력은 하이퍼볼릭 탄젠트 함수(926)에 의해 원하는 경우 동작된 다음, 계속되는 반복에 사용하기 위해 숨겨진 상태 벡터(930)를 렌더링하기 위해 제4 결합 연산자(928)에서 출력 게이트(916)의 출력과 결합될 수 있다.
도 10 내지 12는 예측 텍스트를 생성하기 위해 네트워크(900) 사용의 시퀀스를 예시한다. 하위 행의 문자들(1000)은 가상 키보드(216)의 키에서의 하드 프레스로부터 및/또는 이전 예측 문자들 및/또는 단어들의 선택으로부터 수신된 입력을 나타낸다. 이들은 트레이닝된 네트워크(900)에 입력된다. 1002에 도시된 바와 같은 히트맵으로부터의 문자들과 상관된 확률을 사용하여, 다음 예측 문자(1004)가 생성되고 모델로 다시 공급된다. 도 10 내지 12에 도시된 시퀀스는 단어 "PlayStation"을 발생시키는 "play"의 초기 입력에 대한 예측 문자들을 생성했다.
도 13은 본 원리들과 일치하는 예시적인 로직의 흐름도이다. 본원에 설명된 NN 시스템(들)은 블록(1300)에서 트레이닝된다. 블록(1302)으로 이동하면, 하드 프레스는 터치 패드 상에서 수신되며, 문자는 원하는 경우 히트맵을 사용하여 블록(1304)에서 그에 기반하여 설정되었다. 문자는 블록(1306)에서 NN 시스템에 입력되며, 이 블록은 블록(1308)에서 예측 문자 또는 단어들 또는 단어들의 스트링을 출력한다. 예측 문자들/단어들은 블록(1310)에서 스크린 상에 표시된다.
사용자가 상태(1312)에서 예측을 수락하지 않으면, 상태(1314)에서 프리젠테이션으로부터 제거될 수 있다. 그렇지 않으면, 추락된 예측들은 블록(1316)에서 확인되며, 하드 프레스에 의해 설정된 문자 다음에 순차적으로 표시된다.
본 원리들은 그 중에서도, 이미지, 비디오 및 오디오 데이터 처리를 위한 모든 가능한 딥 러닝 기반 방법들에 사용될 수 있다.
전술한 상세한 설명에서 알 수 있는 바와 같이, 본 원리들은 따라서 본원에 설명된 기술 솔루션들을 통해 신경망들의 적응 및 트레이닝을 개선시킨다.
본 원리들이 일부 예시적인 실시예들을 참조하여 설명되었지만, 이들은 제한적인 것으로 의도되지 않으며, 다양한 대안적인 배열들이 본원에 청구된 주제를 구현하는데 사용될 수 있음이 이해될 것이다.

Claims (20)

  1. 장치에 있어서,
    일시적 신호가 아니며, 적어도 하나의 프로세서가,
    컴퓨터 시뮬레이션 컨트롤러의 터치 패드 상의 터치 신호를 수신하고;
    제1 압력을 나타내는 상기 터치 신호에 응답하여, 상기 컨트롤러로부터 이격된 디스플레이 상에서 커서를 이동시키고 문자의 선택을 설정하지 않도록 하고;
    상기 제1 압력보다 큰 제2 압력을 나타내는 상기 터치 신호에 응답하여, 제1 영숫자 문자의 선택을 설정하고 상기 디스플레이 상에서 상기 제1 영숫자 문자를 표시하도록 하고,
    상기 제1 영숫자 문자를 적어도 제1 신경망(NN)에 입력하고;
    상기 제1 신경망으로부터 적어도 제1 예측 영숫자 문자를 포함하는 영숫자 문자의 예측 시퀀스를 수신하도록 하는 실행 가능한 명령들을 포함하는 적어도 하나의 컴퓨터 저장 장치를 포함하고,
    상기 제1 신경망은 복수의 장단기 메모리(LSTM) 네트워크들을 포함하는, 장치.
  2. 제1항에 있어서, 상기 프로세서는 상기 컴퓨터 시뮬레이션 컨트롤러에 구현되는, 장치.
  3. 제1항에 있어서, 상기 프로세서는 상기 컴퓨터 시뮬레이션 컨트롤러와 통신하도록 구성된 컴퓨터 시뮬레이션 콘솔에 구현되는, 장치.
  4. 제1항에 있어서, 상기 명령들은,
    상기 제2 압력을 나타내는 상기 터치 신호에 응답하여, 상기 디스플레이 상에서 상기 커서를 이동시키도록 실행 가능한, 장치.
  5. 제1항에 있어서, 상기 명령들은,
    상기 제1 압력을 나타내는 상기 터치 신호에 응답하여, 상기 디스플레이 상의 키보드의 이미지를 확대하도록 실행 가능한, 장치.
  6. 삭제
  7. 제1항에 있어서, 상기 명령들은,
    디스플레이 상에, 상기 제1 영숫자 문자 다음에, 적어도 상기 제1 예측 영숫자 문자를 포함하는 상기 영숫자 문자의 예측 시퀀스를 표시하도록 실행 가능한, 장치.
  8. 삭제
  9. 방법에 있어서,
    컴퓨터 시뮬레이션 컨트롤러로부터 터치 신호를 수신하는 단계;
    제1 압력을 나타내는 상기 터치 신호에 응답하여, 디스플레이 상에서 커서를 이동시키는 단계;
    상기 제1 압력보다 큰 제2 압력을 나타내는 상기 터치 신호에 응답하여, 적어도 부분적으로 히트맵 통계를 이용하여 적어도 제1 문자를 설정하는 단계; 및
    상기 제1 문자를 상기 디스플레이 상에 표시하는 단계를 포함하는, 방법.
  10. 제9항에 있어서,
    상기 제1 문자를 적어도 제1 신경망(NN)에 입력하는 단계; 및
    상기 제1 신경망에 의해 생성된 적어도 제1 예측 문자를 상기 디스플레이 상에 표시하는 단계를 포함하는, 방법.
  11. 제10항에 있어서,
    상기 디스플레이 상에 상기 제1 신경망에 의해 생성된 상기 제1 예측 문자를 포함하는 적어도 예측 문자들의 시퀀스를 표시하는 단계를 포함하는, 방법.
  12. 방법에 있어서,
    컴퓨터 시뮬레이션 컨트롤러로부터 터치 신호를 수신하는 단계;
    제1 압력을 나타내는 상기 터치 신호에 응답하여, 디스플레이 상에서 커서를 이동시키는 단계;
    상기 제1 압력보다 큰 제2 압력을 나타내는 상기 터치 신호에 응답하여, 적어도 제1 문자를 설정하는 단계;
    상기 제1 문자를 적어도 제1 신경망(NN)에 입력하는 단계;
    상기 제1 신경망에 의해 생성된 적어도 제1 예측 문자를 상기 디스플레이 상에 표시하는 단계; 및
    네트워크 상의 컴퓨터 시뮬레이션 플레이어들에 의해 입력된 텍스트를 사용하여 상기 제1 신경망을 트레이닝시키는 단계를 포함하는, 방법.
  13. 제12항에 있어서, 상기 트레이닝시키는 단계는 적어도 하나의 양방향 장단기 메모리(LSTM) 네트워크를 사용하여 컴퓨터 시뮬레이션 플레이어들에 의해 입력된 상기 텍스트를 처리하는 단계를 포함하는, 방법.
  14. 방법에 있어서,
    컴퓨터 시뮬레이션 컨트롤러로부터 터치 신호를 수신하는 단계;
    제1 압력을 나타내는 상기 터치 신호에 응답하여, 디스플레이 상에서 커서를 이동시키는 단계;
    상기 제1 압력보다 큰 제2 압력을 나타내는 상기 터치 신호에 응답하여, 적어도 제1 문자를 설정하는 단계;
    상기 제1 문자를 적어도 제1 신경망(NN)에 입력하는 단계;
    상기 제1 신경망에 의해 생성된 적어도 제1 예측 문자를 상기 디스플레이 상에 표시하는 단계; 및
    상기 제1 신경망에 의해 사용 가능한 시뮬레이션 사전으로부터의 단어들을 상기 제1 신경망에 입력하여 상기 제1 예측 문자를 생성하는 단계를 포함하는, 방법.
  15. 제10항에 있어서,
    상기 제1 예측 문자를 생성하기 위해 상기 제1 신경망에 의해 사용 가능한 상기 컴퓨터 시뮬레이션 컨트롤러에 이전에 입력된 단어들을 상기 제1 신경망에 입력하는 단계를 포함하는, 방법.
  16. 방법에 있어서,
    컴퓨터 시뮬레이션 컨트롤러로부터 터치 신호를 수신하는 단계;
    제1 압력을 나타내는 상기 터치 신호에 응답하여, 디스플레이 상에서 커서를 이동시키는 단계;
    상기 제1 압력보다 큰 제2 압력을 나타내는 상기 터치 신호에 응답하여, 적어도 제1 문자를 설정하는 단계;
    상기 제1 문자를 적어도 제1 신경망(NN)에 입력하는 단계;
    상기 제1 신경망에 의해 생성된 적어도 제1 예측 문자를 상기 디스플레이 상에 표시하는 단계; 및
    적어도 하나의 양방향 장단기 메모리(LSTM) 네트워크에 의해 생성되고 상기 제1 신경망에 의해 사용 가능한 문자열 모델로부터의 데이터를 상기 제1 신경망에 입력하여 상기 제1 예측 문자를 생성하는 단계를 포함하는, 방법.
  17. 어셈블리에 있어서,
    적어도 하나의 컴퓨터 시뮬레이션 컨트롤러;
    상기 컴퓨터 시뮬레이션 컨트롤러에 의해 지원되는 적어도 하나의 터치 패드; 및
    적어도 하나의 컴퓨터 저장 장치로서, 적어도 하나의 프로세서가,
    상기 터치 패드 상의 터치 입력에 응답하여 디스플레이 상에 영숫자 문자들을 표시하고;
    상기 터치 패드 상의 상기 터치 입력에 응답하여 상기 디스플레이 상에 표시된 상기 영숫자 문자들에 적어도 부분적으로 기초하여 상기 디스플레이 상에 예측 영숫자 문자들을 표시하도록 하는 실행 가능한 명령들을 포함하는, 상기 적어도 하나의 컴퓨터 저장 장치를 포함하는, 어셈블리.
  18. 제17항에 있어서, 상기 프로세서를 포함하고 상기 디스플레이 및 상기 컴퓨터 시뮬레이션 컨트롤러와 통신하도록 구성된 적어도 하나의 컴퓨터 시뮬레이션 콘솔을 포함하는, 어셈블리.
  19. 제17항에 있어서, 상기 프로세서는 상기 컴퓨터 시뮬레이션 컨트롤러에 구현되는, 어셈블리.
  20. 제17항에 있어서, 상기 프로세서는 상기 터치 패드 상의 상기 터치 입력에 의해 생성된 신호들을 수신하도록 구성된 적어도 하나의 네트워크 서버 상에 구현되는, 어셈블리.
KR1020200049825A 2019-04-26 2020-04-24 터치 패드 입력을 갖는 게임 컨트롤러 KR102416421B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/396,379 2019-04-26
US16/396,379 US11554322B2 (en) 2019-04-26 2019-04-26 Game controller with touchpad input

Publications (2)

Publication Number Publication Date
KR20200125514A KR20200125514A (ko) 2020-11-04
KR102416421B1 true KR102416421B1 (ko) 2022-07-04

Family

ID=72921126

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200049825A KR102416421B1 (ko) 2019-04-26 2020-04-24 터치 패드 입력을 갖는 게임 컨트롤러

Country Status (7)

Country Link
US (1) US11554322B2 (ko)
EP (1) EP3959721A4 (ko)
JP (1) JP7315705B2 (ko)
KR (1) KR102416421B1 (ko)
CN (1) CN114072755A (ko)
TW (1) TWI743748B (ko)
WO (1) WO2020219300A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112529062B (zh) * 2020-12-04 2021-06-15 齐鲁工业大学 一种基于灵巧手触觉信息的物体分类方法
US20220355211A1 (en) * 2021-05-04 2022-11-10 Sony Interactive Entertainment Inc. Controller action recognition from video frames using machine learning

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100302190A1 (en) * 2009-06-02 2010-12-02 Elan Microelectronics Corporation Multi-functional touchpad remote controller
US20190034416A1 (en) * 2016-01-26 2019-01-31 Koninklijke Philips N.V. Systems and methods for neural clinical paraphrase generation

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680510A (en) 1995-01-26 1997-10-21 Apple Computer, Inc. System and method for generating and using context dependent sub-syllable models to recognize a tonal language
US7171498B2 (en) * 2003-01-09 2007-01-30 Sony Computer Entertainment America Inc. Alphanumeric keyboard input system using a game controller
US7619616B2 (en) * 2004-12-21 2009-11-17 Microsoft Corporation Pressure sensitive controls
US20090213081A1 (en) 2007-01-10 2009-08-27 Case Jr Charlie W Portable Electronic Device Touchpad Input Controller
US8065624B2 (en) * 2007-06-28 2011-11-22 Panasonic Corporation Virtual keypad systems and methods
US8542927B2 (en) 2008-06-26 2013-09-24 Microsoft Corporation Character auto-completion for online east asian handwriting input
US20100138221A1 (en) 2008-12-02 2010-06-03 Boys Donald R Dedicated hardware/software voice-to-text system
KR101553629B1 (ko) 2009-05-06 2015-09-17 삼성전자주식회사 인터페이스 제공 방법
KR101597553B1 (ko) 2009-05-25 2016-02-25 엘지전자 주식회사 기능 실행 방법 및 그 장치
JP5278259B2 (ja) 2009-09-07 2013-09-04 ソニー株式会社 入力装置、入力方法及びプログラム
US8754746B2 (en) 2009-11-16 2014-06-17 Broadcom Corporation Hand-held gaming device that identifies user based upon input from touch sensitive panel
KR101477530B1 (ko) 2010-03-12 2014-12-30 뉘앙스 커뮤니케이션즈, 인코포레이티드 이동 전화의 터치 스크린과 함께 사용하기 위한 다중 모드 문자 입력 시스템
US20170017393A1 (en) 2010-04-23 2017-01-19 Handscape Inc., A Delaware Corporation Method for controlling interactive objects from a touchpad of a computerized device
US20120113008A1 (en) * 2010-11-08 2012-05-10 Ville Makinen On-screen keyboard with haptic effects
JP5731281B2 (ja) 2011-05-31 2015-06-10 Kddi株式会社 文字入力装置およびプログラム
US9262076B2 (en) 2011-09-12 2016-02-16 Microsoft Technology Licensing, Llc Soft keyboard interface
AU2013239179B2 (en) * 2012-03-26 2015-08-20 Apple Inc. Enhanced virtual touchpad and touchscreen
JP5852930B2 (ja) 2012-06-29 2016-02-03 Kddi株式会社 入力文字推定装置およびプログラム
US8997013B2 (en) 2013-05-31 2015-03-31 Google Inc. Multiple graphical keyboards for continuous gesture input
US20150019539A1 (en) * 2013-07-15 2015-01-15 Blackberry Limited Methods and devices for providing a text prediction
KR101515454B1 (ko) * 2013-08-23 2015-04-30 전자부품연구원 듀얼 터치패드를 구비하는 리모콘 및 그를 이용한 제어 방법
US9626354B2 (en) 2014-01-21 2017-04-18 Lenovo (Singapore) Pte. Ltd. Systems and methods for using tone indicator in text recognition
CN106937531B (zh) 2014-06-14 2020-11-06 奇跃公司 用于产生虚拟和增强现实的方法和系统
US9678664B2 (en) * 2015-04-10 2017-06-13 Google Inc. Neural network for keyboard input decoding
US10282090B2 (en) * 2015-09-30 2019-05-07 Apple Inc. Systems and methods for disambiguating intended user input at an onscreen keyboard using dual strike zones
US10275023B2 (en) * 2016-05-05 2019-04-30 Google Llc Combining gaze input and touch surface input for user interfaces in augmented and/or virtual reality
US20180018086A1 (en) 2016-07-14 2018-01-18 Google Inc. Pressure-based gesture typing for a graphical keyboard
US10855550B2 (en) 2016-11-16 2020-12-01 Cisco Technology, Inc. Network traffic prediction using long short term memory neural networks
US10146768B2 (en) * 2017-01-25 2018-12-04 Google Llc Automatic suggested responses to images received in messages using language model
US10228892B2 (en) * 2017-03-17 2019-03-12 Dell Products L.P. Information handling system management of virtual input device interactions
WO2018194569A1 (en) * 2017-04-18 2018-10-25 Hewlett-Packard Development Company, L.P. Virtual input devices for pressure sensitive surfaces
TWI635435B (zh) 2017-07-13 2018-09-11 宏碁股份有限公司 電子裝置、感測儲存裝置及其操作方法
US11087210B2 (en) 2017-08-18 2021-08-10 MyFitnessPal, Inc. Context and domain sensitive spelling correction in a database
CN109002186B (zh) * 2018-06-28 2020-12-25 北京金山安全软件有限公司 一种输入预测方法及装置
US20200019609A1 (en) * 2018-07-13 2020-01-16 Asapp, Inc. Suggesting a response to a message by selecting a template using a neural network
US11216510B2 (en) * 2018-08-03 2022-01-04 Asapp, Inc. Processing an incomplete message with a neural network to generate suggested messages
CN109493977B (zh) * 2018-11-09 2020-07-31 天津新开心生活科技有限公司 文本数据处理方法、装置、电子设备及计算机可读介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100302190A1 (en) * 2009-06-02 2010-12-02 Elan Microelectronics Corporation Multi-functional touchpad remote controller
US20190034416A1 (en) * 2016-01-26 2019-01-31 Koninklijke Philips N.V. Systems and methods for neural clinical paraphrase generation

Also Published As

Publication number Publication date
JP7315705B2 (ja) 2023-07-26
WO2020219300A1 (en) 2020-10-29
EP3959721A1 (en) 2022-03-02
TWI743748B (zh) 2021-10-21
US20200338445A1 (en) 2020-10-29
CN114072755A (zh) 2022-02-18
EP3959721A4 (en) 2023-01-18
US11554322B2 (en) 2023-01-17
TW202121265A (zh) 2021-06-01
JP2022529856A (ja) 2022-06-24
KR20200125514A (ko) 2020-11-04

Similar Documents

Publication Publication Date Title
JP7101315B2 (ja) 画像データを自然言語の説明に変換するためのシステム及び方法
JP7470137B2 (ja) 視覚的特徴をサウンドタグに相関させることによるビデオタグ付け
US10228810B2 (en) Method of transmitting inquiry message, display device for the method, method of sharing information, and mobile terminal
JP7277611B2 (ja) テキスト類似性を使用した視覚的タグのサウンドタグへのマッピング
US11541317B2 (en) Automated weapon selection for new players using AI
KR102416421B1 (ko) 터치 패드 입력을 갖는 게임 컨트롤러
US20220258045A1 (en) Attention-based ai determination of player choices
US10845954B2 (en) Presenting audio video display options as list or matrix
US20180081484A1 (en) Input method for modeling physical objects in vr/digital
US11298622B2 (en) Immersive crowd experience for spectating
US11048356B2 (en) Microphone on controller with touchpad to take in audio swipe feature data
US11503361B1 (en) Using signing for input to search fields
US11778261B2 (en) Electronic content glossary
US11471765B2 (en) Handwriting recognition using cardinal directions between sample points
US20220355211A1 (en) Controller action recognition from video frames using machine learning
US20240100417A1 (en) Outputting braille or subtitles using computer game controller
KR20240038125A (ko) 장치의 기능에 따른 게임의 적응형 렌더링

Legal Events

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