KR20210093866A - 정보 처리 장치, 정보 처리 방법 및 프로그램 - Google Patents

정보 처리 장치, 정보 처리 방법 및 프로그램 Download PDF

Info

Publication number
KR20210093866A
KR20210093866A KR1020217012586A KR20217012586A KR20210093866A KR 20210093866 A KR20210093866 A KR 20210093866A KR 1020217012586 A KR1020217012586 A KR 1020217012586A KR 20217012586 A KR20217012586 A KR 20217012586A KR 20210093866 A KR20210093866 A KR 20210093866A
Authority
KR
South Korea
Prior art keywords
sensor
information
operator
position information
controller
Prior art date
Application number
KR1020217012586A
Other languages
English (en)
Inventor
야스타카 후쿠모토
마사유키 요코야마
Original Assignee
소니그룹주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니그룹주식회사 filed Critical 소니그룹주식회사
Publication of KR20210093866A publication Critical patent/KR20210093866A/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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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/24Constructional details thereof, e.g. game controllers with detachable joystick handles
    • A63F13/245Constructional details thereof, e.g. game controllers with detachable joystick handles specially adapted to a particular type of game, e.g. steering wheels
    • 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/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • 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/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • 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/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • 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
    • A63F13/428Processing 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 involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • 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/0304Detection arrangements using opto-electronic means
    • 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/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/812Ball games, e.g. soccer or baseball
    • 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/1012Features 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 involving biosensors worn by the player, e.g. for measuring heart beat, limb activity
    • 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/105Features 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 using inertial sensors, e.g. accelerometers, gyroscopes
    • 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/1087Features 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 comprising photodetecting means, e.g. a camera
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8011Ball
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Computer Hardware Design (AREA)
  • Optics & Photonics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

제1 센서에 의해 출력되고, 조작자의 위치 정보의 산출에 사용되는 제1 센서 정보, 및 제2 센서에 의해 출력되고, 상기 조작자의 위치 정보의 산출에 사용되는 제2 센서 정보를 취득하는 취득부와, 상기 제1 센서 정보를 사용하여 산출되는 상기 조작자의 위치 정보가 미리 설정된 설정 범위에 포함되는 경우, 상기 제2 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는 산출부를 구비하는 정보 처리 장치가 제공된다.

Description

정보 처리 장치, 정보 처리 방법 및 프로그램
본 개시는 정보 처리 장치, 정보 처리 방법 및 프로그램에 관한 것이다.
근년, 여러 가지 센서를 사용하여 조작자의 위치 정보를 산출하는 기술이 활발히 개발되고 있다. 예를 들어, 이하의 특허문헌 1에는 유저의 헤드부에 장착된 카메라에 의해 출력된 촬상 화상을 해석함으로써 조작자(유저의 손 등)의 위치 정보를 산출하고, 산출한 위치 정보에 기초하여 조작자에 대하여 가상 오브젝트를 중첩하여 표시하는 기술이 개시되어 있다.
일본 특허 공개 제2011-175439호 공보
그러나, 특허문헌 1에 기재된 기술 등에 의해서는 조작자의 위치 정보의 산출을 적절하게 실현하지 못하는 경우가 있었다. 예를 들어, 특허문헌 1에 기재된 기술에 있어서는, 화상 처리 장치가, 유저의 헤드부에 장착된 카메라에 의해 출력된 촬상 화상을 해석함으로써, 촬상 화상에 비치는 조작자(유저의 손 등)의 위치 정보를 산출하고 있다. 그러나, 카메라에 의한 촬상 처리나 화상 처리 장치에 의한 화상 인식 처리의 소비 전력은 비교적 큰 경향이 있기 때문에, 이들 처리가 상시 실행됨으로써 시스템 전체의 소비 전력이 커져 버린다.
그래서, 본 개시는 상기 사정을 감안하여 이루어진 것이며, 조작자의 위치 정보의 산출을 보다 적절하게 실현하는 것이 가능한, 신규이면서도 개량된 정보 처리 장치, 정보 처리 방법 및 프로그램을 제공한다.
본 개시에 따르면, 제1 센서에 의해 출력되고, 조작자의 위치 정보의 산출에 사용되는 제1 센서 정보, 및 제2 센서에 의해 출력되고, 상기 조작자의 위치 정보의 산출에 사용되는 제2 센서 정보를 취득하는 취득부와, 상기 제1 센서 정보를 사용하여 산출되는 상기 조작자의 위치 정보가 미리 설정된 설정 범위에 포함되는 경우, 상기 제2 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는 산출부를 구비하는 정보 처리 장치가 제공된다.
또한, 본 개시에 따르면, 제1 센서에 의해 출력되고, 조작자의 위치 정보의 산출에 사용되는 제1 센서 정보, 및 제2 센서에 의해 출력되고, 상기 조작자의 위치 정보의 산출에 사용되는 제2 센서 정보를 취득하는 것과, 상기 제1 센서 정보를 사용하여 산출되는 상기 조작자의 위치 정보가 미리 설정된 설정 범위에 포함되는 경우, 상기 제2 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는 것을 갖는, 컴퓨터에 의해 실행되는 정보 처리 방법이 제공된다.
또한, 본 개시에 따르면, 제1 센서에 의해 출력되고, 조작자의 위치 정보의 산출에 사용되는 제1 센서 정보, 및 제2 센서에 의해 출력되고, 상기 조작자의 위치 정보의 산출에 사용되는 제2 센서 정보를 취득하는 것과, 상기 제1 센서 정보를 사용하여 산출되는 상기 조작자의 위치 정보가 미리 설정된 설정 범위에 포함되는 경우, 상기 제2 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는 것을 컴퓨터에 실현시키기 위한 프로그램이 제공된다.
도 1은 제1 실시 형태에 관한 정보 처리 시스템의 구성예를 도시하는 도면이다.
도 2는 제1 실시 형태에 관한 이미지 센서를 사용한 간헐 동작을 설명하기 위한 도면이다.
도 3은 제1 실시 형태에 관한 이미지 센서를 사용한 간헐 동작의 구체예를 설명하기 위한 도면이다.
도 4는 제1 실시 형태에 관한 이미지 센서를 사용한 간헐 동작의 구체예를 설명하기 위한 도면이다.
도 5는 제1 실시 형태에 관한 이미지 센서를 사용한 간헐 동작의 구체예를 설명하기 위한 도면이다.
도 6은 제1 실시 형태에 관한 이미지 센서를 사용한 간헐 동작의 구체예를 설명하기 위한 도면이다.
도 7은 제1 실시 형태에 관한 각 장치의 구성예를 도시하는 블록도이다.
도 8은 제1 실시 형태에 관한 산출부에 의한 제어를 설명하기 위한 도면이다.
도 9는 제1 실시 형태에 관한 HMD 및 컨트롤러에 의한 유저에의 콘텐츠의 제공 처리의 일례를 도시하는 흐름도이다.
도 10은 제1 실시 형태에 관한 변형예를 설명하기 위한 도면이다.
도 11은 제1 실시 형태에 관한 변형예를 설명하기 위한 도면이다.
도 12는 제1 실시 형태에 관한 변형예를 설명하기 위한 도면이다.
도 13은 제1 실시 형태에 관한 변형예를 설명하기 위한 도면이다.
도 14는 제2 실시 형태에 관한 설정 범위의 구체예를 설명하기 위한 도면이다.
도 15는 제2 실시 형태에 관한 각 장치의 구성예를 도시하는 블록도이다.
도 16은 제2 실시 형태에 관한 HMD 및 컨트롤러에 의한 유저에의 콘텐츠의 제공 처리의 일례를 도시하는 흐름도이다.
도 17은 제3 실시 형태에 관한 각 장치의 구성예를 도시하는 블록도이다.
도 18은 제3 실시 형태에 관한 HMD 및 컨트롤러에 의한 유저에의 콘텐츠의 제공 처리의 일례를 도시하는 흐름도이다.
도 19는 관성 항법에 기초하는 위치 추정 처리의 개략을 도시하는 모식도이다.
도 20은 관성 항법에 기초하는 위치 추정 처리에 있어서 발생할 수 있는 위치 오차의 시간 변화 이미지를 도시하는 모식도이다.
도 21은 운동 모델에 기초하는 위치 추정 처리의 개략을 도시하는 모식도이다.
도 22는 운동 모델에 기초하는 위치 추정 처리에 있어서 발생할 수 있는 위치 오차의 시간 변화 이미지를 도시하는 모식도이다.
도 23은 동 실시 형태에 관한 위치 추정 처리의 개략을 도시하는 모식도이다.
도 24는 동 실시 형태에 관한 위치 추정 처리에 있어서 발생할 수 있는 위치 오차의 시간 변화 이미지를 도시하는 모식도이다.
도 25는 각 실시 형태에 관한 HMD 또는 컨트롤러를 구현하는 정보 처리 장치의 하드웨어의 구성예를 도시하는 블록도이다.
이하에 첨부 도면을 참조하면서, 본 개시의 적합한 실시 형태에 대하여 상세하게 설명한다. 또한, 본 명세서 및 도면에 있어서, 실질적으로 동일한 기능 구성을 갖는 구성 요소에 대해서는, 동일한 번호를 부여함으로써 중복 설명을 생략한다.
또한, 설명은 이하의 순서로 행하기로 한다.
1. 제1 실시 형태
2. 제2 실시 형태
3. 제3 실시 형태
4. 위치 정보의 산출 방법의 구체예
5. 하드웨어 구성예
6. 마무리
<1. 제1 실시 형태>
(1.1. 개요)
우선, 본 개시에 관한 제1 실시 형태에 대하여 설명한다.
도 1은, 제1 실시 형태에 관한 정보 처리 시스템의 구성예를 도시하는 도면이다. 도 1에 도시하는 바와 같이, 제1 실시 형태에 관한 정보 처리 시스템은, 헤드 마운트 디스플레이(100)(이후, 「HMD(100)」라고 호칭함)와, 복수의 컨트롤러(200)(도 1의 예에서는 컨트롤러(200a) 내지 컨트롤러(200e))를 구비한다. 또한, 이하의 설명에 있어서, 컨트롤러(200a) 내지 컨트롤러(200e)를 특별히 구별할 필요가 없는 경우에는, 간단히 컨트롤러(200)라고 호칭하는 경우가 있다.
(1.1.1. 컨트롤러(200)의 개요)
컨트롤러(200)는, 유저의 몸의 일부에 장착되는 정보 처리 장치이다. 그리고, 컨트롤러(200)는, 조작자의 위치 정보의 산출에 사용되는 제1 센서 정보를 출력하는 제1 센서를 구비하고 있다(환언하면, 제1 센서는 유저의 몸의 일부에 장착됨). 여기서 「조작자」란, 유저의 몸에 있어서의 컨트롤러(200)의 장착 부분(예를 들어, 컨트롤러(200)가 장착된 손목 부분 등. 이후, 간단히 「장착 부분」이라고도 호칭함), 또는 장착 부분 이외의 부분(예를 들어, 컨트롤러(200)가 장착되어 있지 않은 팔꿈치 부분 등. 이후, 간단히 「비장착 부분」이라고도 호칭함)이다. 이후에서는, 일례로서 조작자가 유저의 몸에 있어서의 컨트롤러(200)의 장착 부분(이후, 간단히 「컨트롤러(200)」라고도 호칭함)인 경우에 대하여 설명한다.
그리고, 「제1 센서」는 가속도 센서나 자이로 센서(각속도 센서) 등을 포함하는 관성 센서(이후, 「IMU: Inertial Measurement Unit」이라고 호칭함) 등이며, 「제1 센서 정보」는 가속도(Acceleration)나 각속도(Angular velocity) 등이다. 컨트롤러(200)는, IMU에 의해 출력된 제1 센서 정보를 HMD(100)에 제공한다.
컨트롤러(200)는, 몸의 기준으로 되는 관절 부위(예를 들어, 허리나 헤드부 등), 혹은 몸의 말단 근방(예를 들어, 손목, 발목 또는 헤드부 등)에 장착되는 것이 바람직하다. 도 1에 도시하는 예에서는, 유저의 허리에 컨트롤러(200a)가, 손목에 컨트롤러(200b) 및 컨트롤러(200e)가, 발목에 컨트롤러(200c) 및 컨트롤러(200d)가 장착되어 있다. 또한, 컨트롤러(200)의 수나 장착 부분의 위치는 도 1에 도시하는 예에 한정되지 않는다.
(1.1.2. HMD(100)의 개요)
HMD(100)는, 유저의 헤드부에 장착됨으로써, 유저에 대하여 각종 콘텐츠를 제공하는 정보 처리 장치이다. 예를 들어, HMD(100)는, 유저가 밖의 모습을 직접 볼 수 있는 광학 투과형(광학 시스루형) 장치일 수 있다. 이 경우, HMD(100)는, 유저가 직접 보고 있는 실물체에 가상 오브젝트를 중첩하여 표시함으로써 유저에 대하여 각종 콘텐츠를 제공할 수 있다.
또한, 본 실시 형태에서는, 일례로서 HMD(100)가 광학 투과형 장치인 경우에 대하여 설명하는 바, HMD(100)의 종류는 특별히 한정되지 않는다. 예를 들어, HMD(100)는 비투과형 장치여도 되고, 비디오 투과형(비디오 시스루형) 장치여도 된다. 또한, HMD(100)는, 실물체에 가상 오브젝트를 중첩하여 표시하는, 소위 AR(Augmented Reality) 표시를 행할 뿐만 아니라, 가상 오브젝트를 표시함으로써 유저에게 가상 세계를 보여주는, 소위 VR(Virtual Reality) 표시를 행해도 된다(또한, AR 표시 및 VR 표시에 한정되지 않음). 또한, 본 개시는 HMD(100)로서 구현되지 않아도 된다. 예를 들어, 본 개시는 스마트폰, 태블릿형 PC(Personal Computer), 휴대형 게임기 또는 디지털 카메라 등의 각종 장치로서 구현되어도 된다. 또한, 「가상 오브젝트」란, 정지 화상이나 동화상 등, 시각에 작용하는 어떠한 화상을 포함하는 개념이다.
그리고, HMD(100)는, 컨트롤러(200)의 IMU(제1 센서)에 의해 출력된 제1 센서 정보에 기초하여 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 산출한다. 보다 구체적으로 설명하면, HMD(100)는, 컨트롤러(200)와 마찬가지로 IMU를 구비하고 있고, IMU에 의해 출력된 센서 정보를 취득한다. 그리고, HMD(100)는, 컨트롤러(200)의 IMU(제1 센서)에 의해 출력된 제1 센서 정보, 및 자장치의 IMU에 의해 출력된 센서 정보에 기초하여, HMD(100) 및 컨트롤러(200)의 각 장착 부분의 위치 정보 및 자세 정보를 산출한다. 예를 들어, HMD(100)는, 관성 항법에 의해 위치 정보 및 자세 정보를 산출하고, 그때 발생하는 드리프트 오차를 회귀 모델에 의해 보정함으로써, HMD(100) 및 컨트롤러(200)의 각 장착 부분의 고정밀도의 위치 정보 및 자세 정보를 산출한다. 당해 방법에 대해서는 후단에서 상세하게 설명한다.
또한, HMD(100)는, 각 장착 부분의 위치 정보 및 자세 정보에 기초하여, 스켈레톤 구조에 있어서의 각 부분의 위치 정보 및 자세 정보를 포함하는 스켈레톤 정보를 산출한다. 스켈레톤 구조란, 몸의 부위의 정보와, 부위간을 연결하는 선분인 뼈를 포함한다. 또한, 스켈레톤 구조에 있어서의 부위는, 예를 들어 몸의 말단 부위나 관절 부위 등에 대응한다. 또한, 스켈레톤 구조에 있어서의 뼈는 예를 들어 인간의 뼈에 상당할 수 있지만, 뼈의 위치나 수는 반드시 실제의 인간 골격과 정합하지 않아도 된다. HMD(100)는, 스켈레톤 정보를 산출함으로써, 컨트롤러(200)의 장착 부분뿐만 아니라 비장착 부분의 위치 정보 및 자세 정보도 산출할 수 있다. 그 때문에 상기한 바와 같이, 유저의 몸에 있어서의 컨트롤러(200)의 장착 부분뿐만 아니라, 비장착 부분도 조작자로 될 수 있다. 또한, HMD(100)에 의한 장착 부분 및 비장착 부분의 위치 정보 및 자세 정보의 산출 방법은, 상기 방법(관성 항법 및 회귀 모델을 사용하는 방법)에 한정되지 않는다.
HMD(100)는, 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보에 기초하여 가상 오브젝트를 현실 세계에 중첩시키도록 표시하는 바, IMU에 의해 출력된 센서 정보에 기초하는 처리만으로는, 그 정밀도가 충분하지 않기 때문에 가상 오브젝트를 정확하게 중첩시키기가 어렵다. 그래서, HMD(100)는, IMU 외에 컨트롤러(200)(조작자)의 위치 정보의 산출에 사용되는 제2 센서 정보를 출력하는 제2 센서를 구비하고 있다. 여기서, 제1 실시 형태에 관한 「제2 센서」는 이미지 센서이며(환언하면, HMD(100)는 이미지 센서를 사용하는 카메라를 구비하고 있음), 「제2 센서 정보」는 이미지 센서에 의해 출력된 촬상 화상이다. 또한, 제2 센서 정보는, 시각화된 촬상 화상에 한정되지 않고, 광전 변환에 의해 출력된 전기 신호 등이어도 된다. 여기서, 당해 카메라는, 그 화각이 유저의 시계에 대응하도록 HMD(100)에 구비되어 있는 것을 상정하고 있다(환언하면, 당해 카메라는 유저의 시선 방향과 대략 동일한 방향으로 향해져 있음. 또한, 반드시 이것에 한정되지 않음).
그리고, HMD(100)는, 이미지 센서에 의해 출력된 촬상 화상(제2 센서 정보)에 기초하여 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 산출할 수 있다. 예를 들어, HMD(100)는, 촬상 화상(제2 센서 정보)을 해석함으로써 당해 촬상 화상의 피사체의 특징량을 추출하고, 사전에 취득된 컨트롤러(200)(조작자)의 특징량과 비교하여 서로의 유사도를 산출함으로써, 촬상 화상에 비치는 컨트롤러(200)(조작자)를 검출한다. 그리고, HMD(100)는, 촬상 화상에 비치는 컨트롤러(200)(조작자)의 크기나 형태(형상이나 모양 등을 포함함)에 기초하여, 그 위치 정보 및 자세 정보를 산출한다.
이와 같이, HMD(100)는, IMU(제1 센서)에 의해 출력된 제1 센서 정보나, 이미지 센서(제2 센서)에 의해 출력된 촬상 화상(제2 센서 정보)을 사용하여, 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 산출할 수 있다. 여기서, 촬상 화상(제2 센서 정보)을 사용하여 조작자의 위치 정보 및 자세 정보를 산출하는 처리는, 제1 센서 정보를 사용하여 조작자의 위치 정보 및 자세 정보를 산출하는 처리에 비하여, 보다 높은 정밀도를 실현할 수 있는 반면, 보다 큰 전력을 소비해 버린다.
그래서, HMD(100)는, 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 산출할 때 이미지 센서(제2 센서)를 간헐적으로 사용한다. 도 2를 참조하여 보다 구체적으로 설명하면, HMD(100)는, 유저에 콘텐츠를 제공하고 있는 동안은 상시(또한, 반드시 상시에 한정되지 않음), IMU(제1 센서)에 의해 출력된 제1 센서 정보에 기초하여 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 계속해서 산출한다(도 2에서는 위치 정보 및 자세 정보를 산출하는 것을 「ON」으로 표기하고 있음). 그리고, IMU(제1 센서)에 의해 출력된 제1 센서 정보를 사용하여 산출되는 컨트롤러(200)(조작자)의 위치 정보가 미리 설정된 설정 범위에 포함되는 경우, HMD(100)는, 이미지 센서(제2 센서)에 의해 출력된 제2 센서 정보를 사용하여 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 산출한다. 여기서, 도 2는, IMU(제1 센서)에 의해 출력된 제1 센서 정보를 사용하는 위치 정보의 산출 처리에서 제1 센서 정보가 취득되는 기간보다, 이미지 센서(제2 센서)에 의해 출력된 제2 센서 정보를 사용하는 위치 정보의 산출 처리에서 제2 센서 정보가 취득되는 기간 쪽이 짧은 것을 도시하고 있다. 또한, 「제1 센서 정보가 취득되는 기간(제2 센서 정보가 취득되는 기간)」이란, 어떤 시점에서 다른 시점까지(예를 들어, 위치 정보의 산출 처리의 개시 시점부터 종료 시점까지) 제1 센서 정보(제2 센서 정보)가 취득되는 기간의 합계값을 포함하는 점에 유의하기 바란다. 이와 같이, HMD(100)는 이미지 센서(제2 센서)를 간헐적으로 사용함으로써 소비 전력을 저감시킬 수 있다.
여기서 「설정 범위」란, 예를 들어 이미지 센서(제2 센서)를 사용하는 카메라의 화각 내의 범위 등일 수 있다. 즉, 제1 센서 정보를 사용하여 산출되는 컨트롤러(200)(조작자)의 위치 정보가 카메라의 화각 내의 범위(설정 범위)에 포함되는 경우, HMD(100)는, 카메라에 의해 출력된 촬상 화상(제2 센서 정보)을 해석함으로써, 촬상 화상에 비치는 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 보다 고정밀도로 산출한다. 상기한 바와 같이, 카메라는, 그 화각이 유저의 시계에 대응하도록 HMD(100)에 구비되어 있기(환언하면, 설정 범위는 유저의 시계에 대응하고 있기) 때문에, HMD(100)는, 컨트롤러(200)(조작자)가 유저의 시계에 진입한 경우에, 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 보다 고정밀도로 산출할 수 있다. 따라서, HMD(100)는, 산출한 위치 정보 및 자세 정보에 기초하여 가상 오브젝트를 보다 정확하게 현실 세계에 중첩하여 표시할 수 있다.
여기서, HMD(100)가 테니스 게임의 콘텐츠를 제공하는 경우를 일례로서 설명한다. 당해 콘텐츠에 있어서는, HMD(100)가, 유저의 팔의 흔들림에 맞추어 테니스 라켓의 가상 오브젝트를 유저의 손에 쥐어지고 있는 것같이 표시하고, 당해 테니스 라켓에 맞혀지도록 테니스 볼의 가상 오브젝트를 표시한다.
도 3은, HMD(100)를 사용하여 테니스 게임을 행하는 유저를 상측 방향으로부터 보았을 때의 도면이다. 도 3에는, 유저가 테니스 볼을 테니스 라켓으로 치기 전의 상태가 도시되어 있다. 조작자인 컨트롤러(200)(도 3의 예에서는 컨트롤러(200b) 및 컨트롤러(200e))는, 카메라의 화각 θth 내의 범위에 포함되어 있지 않고, 테니스 라켓의 가상 오브젝트(이후, 「테니스 라켓(10a)」이라고 호칭함) 및 테니스 볼의 가상 오브젝트(이후, 「테니스 볼(10b)」이라고 호칭함)는 표시되어 있지 않다.
도 4는, 유저가 테니스 볼(10b)을 테니스 라켓(10a)으로 치기 전의 상태(도 3의 상태)에 있어서의 유저의 시계를 도시하는 도면이다. 도 4에 도시하는 바와 같이, 유저에게는 컨트롤러(200)(조작자), 테니스 라켓(10a) 및 테니스 볼(10b)의 어느 것도 보이지 않는 상태이다.
도 5에는, 유저가 테니스 볼(10b)을 테니스 라켓(10a)으로 친 후의 상태가 도시되어 있다. 컨트롤러(200b)(조작자)는, 카메라의 화각 θth 내의 범위에 포함되어 있고, 테니스 라켓(10a) 및 테니스 볼(10b)은 현실 세계에 중첩하여 표시되어 있다.
도 6은, 유저가 테니스 볼(10b)을 테니스 라켓(10a)으로 친 후의 상태(도 5의 상태)에 있어서의 유저의 시계를 도시하는 도면이다. 도 6에 도시하는 바와 같이, 유저에게는 손목에 장착된 컨트롤러(200b)(조작자)가 보이고, 또한 현실 세계에 중첩하여 표시된 테니스 라켓(10a) 및 테니스 볼(10b)이 보이고 있는 상태이다.
이상, HMD(100)는, 설정 범위 이외에 있어서는 IMU(제1 센서)를 사용하여 위치 정보 및 자세 정보를 산출하면서, 콘텐츠에 있어서 중요한 범위(설정 범위)에 있어서는 이미지 센서(제2 센서)를 사용하여 보다 고정밀도로 위치 정보 및 자세 정보를 산출할 수 있다. 또한, HMD(100)는, 이와 같이 이미지 센서(제2 센서)를 간헐적으로 사용함으로써 소비 전력을 저감시킬 수 있다.
또한, 처리에서 사용된 설정 범위는, 반드시 카메라의 화각 θth 내의 범위가 아니어도 된다. 예를 들어, 설정 범위는, 유저에 제공되는 콘텐츠에 있어서 보다 중요한 공간에 대응하는 범위일 수 있다.
(1.2. 구성예)
상기에서는, 본 개시에 관한 제1 실시 형태의 개요에 대하여 설명하였다. 계속해서, 도 7을 참조하여, 제1 실시 형태에 관한 각 장치의 구성예에 대하여 설명한다. 도 7은, 제1 실시 형태에 관한 각 장치의 구성예를 도시하는 블록도이다.
(1.2.1. 컨트롤러(200)의 구성예)
우선, 컨트롤러(200)의 구성예에 대하여 설명한다. 도 7에 도시하는 바와 같이, 컨트롤러(200)는 IMU(210)와 제어부(220)와 통신부(230)를 구비한다.
IMU(210)는, 제1 센서로서 기능하는 구성이다. 보다 구체적으로는, IMU(210)는 가속도 센서나 자이로 센서(각속도 센서) 등을 구비한다. 그리고, IMU(210)에 구비되는 가속도 센서는, 제1 센서 정보로서 가속도를 출력하고, 가속도 센서에 의해 출력되는 가속도는, 컨트롤러(200)마다 설정된 로컬 좌표계에 있어서의 컨트롤러(200)의 가속도일 수 있다. 또한, IMU(210)에 구비되는 자이로 센서는, 제1 센서 정보로서 각속도를 출력하고, 자이로 센서에 의해 출력되는 각속도는, 로컬 좌표계에 있어서의 컨트롤러(200)의 각속도일 수 있다. IMU(210)에 의한 제1 센서 정보의 출력의 주파수는, 예를 들어 약 800[Hz]일 수 있다(물론, 이것에 한정되지 않음).
여기서, 본 개시에 관한 제1 센서 및 제2 센서 중 적어도 제1 센서는, 제2 센서와 함께 하나의 장치에 구비되는 소정의 기기의 쌍으로서 사용된다. 보다 구체적으로 설명하면, IMU(210)(제1 센서)는 이미지 센서(120)(제2 센서)와 함께 HMD(100)(하나의 장치)에 구비되는 IMU(110)(소정의 기기)의 쌍으로서 사용된다. 즉, HMD(100)는, 컨트롤러(200)의 IMU(210)(제1 센서)와 자장치의 IMU(110)(소정의 기기)를 쌍으로서 사용하여, 이들의 센서 정보를 해석함으로써 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 산출할 수 있다. 또한, 「쌍으로서 사용하는」이란, 「1대 또는 2대 이상의 컨트롤러(200)의 IMU(210)(제1 센서)와, IMU(110)(소정의 기기)를 모두 사용하는」 것을 포함하는 점에 유의하기 바란다(즉, 처리에 사용되는 컨트롤러(200)의 대수는 특별히 한정되지 않음).
제어부(220)는, 컨트롤러(200)가 행하는 처리 전반을 통괄적으로 제어하는 구성이다. 예를 들어, 제어부(220)는, 각 구성의 기동이나 정지를 제어할 수 있다. 또한, 제어부(220)는, 통신부(230)에 의한 통신을 제어하고, IMU(210)에 의해 취득된 제1 센서 정보(각속도 및 가속도)를 HMD(100)에 송신시킨다. 혹은, 제어부(220)는, IMU(210)에 의해 취득된 제1 센서 정보에 대하여, HMD(100)에 의해 행해지는 처리의 일부를 행해도 되고, 당해 처리에 의해 얻어진 처리 결과를 HMD(100)에 송신시켜도 된다. 또한, 제어부(220)의 제어 내용은 이들에 한정되지 않는다. 예를 들어, 제어부(220)는, 각종 서버, 범용 컴퓨터, PC 또는 태블릿 PC 등에 있어서 일반적으로 행해지는 처리(예를 들어 OS(Operating System)에 관한 처리 등)를 제어해도 된다.
통신부(230)는, 유선 또는 무선에 의해 외부 장치(특히 HMD(100))와의 사이에서 데이터의 송수신을 행하는 구성이다. 통신부(230)는, 예를 들어 유선 LAN(Local Area Network), 무선 LAN, Wi-Fi(Wireless Fidelity, 등록 상표), 적외선 통신, Bluetooth(등록 상표), 근거리/비접촉 통신 등의 방식으로, 외부 장치와 직접 또는 네트워크 액세스 포인트를 통하여 무선 통신한다.
이상, 컨트롤러(200)의 구성예에 대하여 설명하였다. 또한, 도 7을 사용하여 설명한 상기 구성은 어디까지나 일례이며, 컨트롤러(200)의 구성은 이러한 예에 한정되지 않는다. 예를 들어, 컨트롤러(200)는, 도 7에 도시하고 있지 않은 구성을 구비하고 있어도 된다. 또한, 도 7에 도시하는 구성이 외부 장치(도시없음)에 마련되고, 컨트롤러(200)는 당해 외부 장치와 통신 연계함으로써 상기에서 설명한 각 기능을 실현해도 된다. 또한, 복수의 컨트롤러(200)가 사용되는 경우, 각 컨트롤러(200)는 서로 다른 구성을 구비하고 있어도 된다(본 실시 형태에서는, 각 컨트롤러(200)가 동일한 구성을 구비하고 있는 경우를 일례로서 기재함).
(1.2.2. HMD(100)의 구성예)
계속해서, HMD(100)의 구성예에 대하여 설명한다. 도 7에 도시하는 바와 같이, HMD(100)는, IMU(110)와, 이미지 센서(120)와, 통신부(130)와, 제어부(140)와, 표시부(150)와, 입력부(160)와, 기억부(170)를 구비한다. 또한, 제어부(140)는, 취득부(141)와, 산출부(142)와, 표시 제어부(143)를 구비한다.
IMU(110)는, 상기에서 설명한 컨트롤러(200)의 IMU(210)와 마찬가지로, 가속도 센서나 자이로 센서(각속도 센서) 등을 구비하는 구성이다. IMU(110)에 구비되는 가속도 센서는 가속도를 출력하고, 가속도 센서에 의해 출력되는 가속도는, HMD(100)에 설정된 로컬 좌표계에 있어서의 HMD(100)의 가속도일 수 있다. 또한, IMU(110)에 구비되는 자이로 센서는 각속도를 출력하고, 자이로 센서에 의해 출력되는 각속도는, 로컬 좌표계에 있어서의 HMD(100)의 각속도일 수 있다.
이미지 센서(120)는, 제2 센서로서 기능하는 구성이다. 보다 구체적으로는, 이미지 센서(120)는, 카메라(도시없음)에 구비되는 센서이며, 결상면에 복수의 화소를 구비하고, 각각의 화소는 촬상 렌즈(도시없음)에 의해 결상된 피사체상을 전기 신호로 변환함으로써 촬상 화상(제2 센서 정보)을 출력한다. 이미지 센서(120)는, 예를 들어 CCD 센서 어레이나 CMOS 센서 어레이 등이며, 반드시 이들에 한정되지는 않는다. 또한, 이미지 센서(120)에 의한 프레임 레이트는, 예를 들어 약 60[fps]일 수 있다(물론, 이것에 한정되지 않음).
여기서, 도 2를 사용하여 설명한 바와 같이, 각속도 등(제1 센서 정보)을 사용하여 산출되는 위치 정보가 설정 범위 내에 들어감에 따라 촬상 화상(제2 센서 정보)의 취득이 개시되고, 각속도 등(제1 센서 정보)을 사용하여 산출되는 위치 정보가 설정 범위 외로 나옴에 따라 촬상 화상(제2 센서 정보)의 취득이 정지된다. 환언하면, 컨트롤러(200)(조작자)의 위치 정보의 산출 처리에 있어서, IMU에 의한 각속도 등(제1 센서 정보)이 취득되는 기간보다 촬상 화상(제2 센서 정보)이 취득되는 기간 쪽이 짧다.
또한, 각속도 등(제1 센서 정보)을 사용하여 산출되는 위치 정보가 설정 범위 내에 들어감에 따라 촬상 화상(제2 센서 정보)의 취득 빈도가 증가되고, 각속도 등(제1 센서 정보)을 사용하여 산출되는 위치 정보가 설정 범위 외로 나옴에 따라 촬상 화상(제2 센서 정보)의 취득 빈도가 저감되어도 된다. 예를 들어, 최초로 고레이트의 각속도 등(제1 센서 정보)을 사용한 컨트롤러(200)(조작자)의 위치 정보의 산출과, 저프레임 레이트의 촬상 화상(제2 센서 정보)을 사용한 컨트롤러(200)(조작자)의 검출(컨트롤러(200)가 설정 범위 내에 존재하는지 여부를 판정하기 위해 행해지는 검출이며, 컨트롤러(200)의 위치 정보의 산출이 아닌 점에 유의하기 바람)이 행해진다. 그리고, 각속도 등(제1 센서 정보)을 사용하여 산출되는 위치 정보가 설정 범위 내에 들어간 경우, 촬상 화상(제2 센서 정보)의 프레임 레이트가 상승되고, 고프레임 레이트의 촬상 화상(제2 센서 정보)을 사용한 위치 정보의 산출이 행해져도 된다.
또한, 상기에서 설명한 (제1 센서 정보 및 제2 센서 정보의) 「취득」이나 「취득 빈도」란, 각종 센서(IMU(210)나 이미지 센서(120))에 의한 각종 정보(제1 센서 정보나 제2 센서 정보)의 취득이나 취득 빈도를 가리켜도 되고, HMD(100)의 취득부(141)에 의한 각종 센서로부터의 각종 정보(제1 센서 정보나 제2 센서 정보)의 취득이나 취득 빈도를 가리켜도 되는 점에 유의하기 바란다.
통신부(130)는, 유선 또는 무선에 의해 외부 장치(특히 컨트롤러(200))와의 사이에서 데이터의 송수신을 행하는 구성이다. 통신부(130)는, 예를 들어 유선 LAN, 무선 LAN, Wi-Fi, 적외선 통신, Bluetooth(등록 상표), 근거리/비접촉 통신 등의 방식으로, 외부 장치와 직접 또는 네트워크 액세스 포인트를 통하여 무선 통신한다.
제어부(140)는, HMD(100)가 행하는 처리 전반을 통괄적으로 제어하는 구성이다. 예를 들어, 제어부(140)는, 각 구성의 기동이나 정지를 제어할 수 있다. 또한, 제어부(140)의 제어 내용은 특별히 한정되지 않는다. 예를 들어, 제어부(140)는, 각종 서버, 범용 컴퓨터, PC 또는 태블릿 PC 등에 있어서 일반적으로 행해지는 처리(예를 들어 OS에 관한 처리 등)를 제어해도 된다.
취득부(141)는, 각종 정보를 취득하는 구성이다. 보다 구체적으로는, 취득부(141)는, 컨트롤러(200)의 IMU(210)(제1 센서)에 의해 출력되는 제1 센서 정보, 및 이미지 센서(120)(제2 센서)에 의해 출력되는 제2 센서 정보를 취득한다. 또한, 취득부(141)는, 자장치에 구비되는 IMU(110)에 의해 출력되는 센서 정보도 취득한다. 취득부(141)는, 취득한 이들 정보를 산출부(142)에 제공한다.
산출부(142)는, HMD(100) 및 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 산출하는 구성이다. 보다 구체적으로는, 산출부(142)는, 컨트롤러(200)의 IMU(210)(제1 센서)에 의해 출력된 제1 센서 정보, 및 IMU(110)에 의해 출력된 센서 정보에 기초하여, HMD(100) 및 컨트롤러(200)의 각 장착 부분의 위치 정보 및 자세 정보를 산출한다. 예를 들어, HMD(100)는, 관성 항법에 의해 위치 정보를 산출하고, 그때 발생하는 드리프트 오차를 회귀 모델에 의해 보정함으로써, HMD(100) 및 컨트롤러(200)(조작자)의 각 장착 부분의 고정밀도의 위치 정보 및 자세 정보를 산출한다(당해 방법에 대해서는 후단에서 상세하게 설명함).
또한, 산출부(142)는, HMD(100) 및 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보에 기초하여 스켈레톤 구조에 있어서의 각 부위의 위치 정보 및 자세 정보를 포함하는 스켈레톤 정보를 산출한다. 보다 구체적으로는, 산출부(142)는 역운동학(IK: Inverse Kinematics) 계산을 사용하여 스켈레톤 정보를 산출한다. 역운동학 계산이란, 말단 부위의 위치 정보 및 자세 정보로부터 각 관절 부위의 변위를 산출하는 기술이다. 역운동학 계산에 있어서는, 몸의 각 부위를, 길이가 기지인 소정수의 뼈로 이루어지는 단순한 링크 기구로 간주하고(예를 들어, 팔을, 길이가 기지인 2개의 뼈로 이루어지는 링크 기구로 간주하고), 당해 링크 기구의 자유도를 설정하여 각 뼈가 이루는 각도를 계산함으로써 스켈레톤 정보를 산출한다.
그리고, 산출부(142)는, 스켈레톤 정보에 포함되는 컨트롤러(200)(조작자)의 위치 정보에 기초하여 이미지 센서(120)(제2 센서)를 간헐적으로 사용한다. 보다 구체적으로 설명하면, 스켈레톤 정보에 포함되는 컨트롤러(200)(조작자)의 위치 정보(제1 센서 정보를 사용하여 산출되는 위치 정보)는, 이미지 센서(120)에 의해 취득되는 촬상 화상(제2 센서 정보)을 사용하여 산출되는 위치 정보의 좌표계에 의해 규정되어 있다(이후, 제2 센서 정보를 사용하여 산출되는 위치 정보의 좌표계를 「글로벌 좌표계」라고 호칭하는 경우가 있음. 환언하면, 제1 센서 정보를 사용하여 산출되는 위치 정보 및 제2 센서 정보를 사용하여 산출되는 위치 정보는, 글로벌 좌표계에 의해 규정됨). 이에 의해, 산출부(142)는, 스켈레톤 정보에 포함되는 컨트롤러(200)(조작자)의 위치 정보가 미리 설정된 설정 범위에 포함되는지 여부를 판정할 수 있다. 그리고, 스켈레톤 정보에 포함되는 컨트롤러(200)(조작자)의 위치 정보가 설정 범위에 포함되는 경우, 산출부(142)는, 이미지 센서(120)에 의해 출력된 제2 센서 정보를 사용하여 컨트롤러(200)(조작자)의 위치 정보를 산출한다.
예를 들어, 도 3 내지 도 6을 참조하여 설명한 예와 같이, 컨트롤러(200)(조작자)가 카메라의 화각 내의 범위(설정 범위)에 포함되는 경우에, 산출부(142)는, 카메라의 촬상 화상(제2 센서 정보)을 사용하여 컨트롤러(200)(조작자)의 위치 정보를 산출한다. 도 8을 참조하여 보다 구체적으로 설명하면, 카메라의 화각의 기점 O를 시점으로 하였을 때의 컨트롤러(200)(도 8의 예에서는 오른쪽 손목에 장착된 컨트롤러(200b))의 위치 벡터 A와 카메라의 방향 벡터 H가 이루는 각을 θ로 한다. 여기서 카메라의 화각(수평 화각)을 θth라고 하였을 때에 있어서, θ≤θth/2의 관계가 성립하는 경우, 산출부(142)는, 컨트롤러(200b)(조작자)가 카메라의 화각 내의 범위에 포함된다고 판정하고, 카메라의 촬상 화상(제2 센서 정보)을 사용한 위치 정보의 산출 처리를 행한다. 한편, θ>θth/2의 관계가 성립하는 경우, 산출부(142)는, 컨트롤러(200b)(조작자)가 카메라의 화각 내의 범위에 포함되지 않는다고 판정하고, IMU(210)로부터 취득된 제1 센서 정보를 사용한 위치 정보의 산출 처리를 계속한다. 또한, 도 8에서는 카메라의 수평 화각 θth에 기초하는 판정 처리에 대하여 설명한 바, 카메라의 수직 화각에 대해서도 마찬가지의 판정 처리가 행해질 수 있다.
카메라의 촬상 화상(제2 센서 정보)을 사용한 위치 정보 및 자세 정보의 산출 처리에 대하여 보다 구체적으로 설명하면, 산출부(142)는, 카메라의 촬상 화상(제2 센서 정보)을 해석함으로써 당해 촬상 화상의 피사체의 특징량을 추출하고, 사전에 취득된 컨트롤러(200)(조작자)의 특징량과 비교하여 서로의 유사도를 산출함으로써, 촬상 화상에 비치는 컨트롤러(200)(조작자)를 검출한다. 그리고, 산출부(142)는, 촬상 화상에 비치는 컨트롤러(200)(조작자)의 크기나 형태(형상이나 모양 등을 포함함)에 기초하여, 그 위치 정보 및 자세 정보를 산출한다.
그 후, 산출부(142)는, 촬상 화상을 사용하여 산출한 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 사용하여, IMU(IMU(110) 및 IMU(210))로부터 취득된 센서 정보를 사용하여 산출된 위치 정보 및 자세 정보를 보정한다(이 보정 처리는 제1 센서 정보 및 제2 센서 정보를 사용하여 조작자의 위치 정보를 산출하는 것과 등가임). 또한, 산출부(142)는, 당해 보정을 행하지 않고, 촬상 화상을 사용하여 산출한 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를, 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보로서 사용해도 된다.
여기서, 촬상 화상을 사용하여 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 산출할 때의 화상 처리를 간략화하기 위해 여러 가지 연구가 실시되어도 된다. 예를 들어, 적외광을 강하게 반사하는 성질을 갖는, 소위 재귀성 반사재를 도포한 마커(이후, 「반사 마커」라고 호칭함)가 컨트롤러(200)의 표면 상에 구비되어도 된다. 이에 의해, 외부(예를 들어, HMD(100))로부터 반사 마커에 대하여 적외광을 조사하고, 그 반사광이 비치는 촬상 화상을 해석함으로써, 산출부(142)는 촬상 화상에 있어서의 컨트롤러(200)의 위치 정보 및 자세 정보를 산출하기 쉬워진다. 또한, 재귀성 반사 부재의 종류는 특별히 한정되는 것은 아니지만, 적합하게는 가시광 영역에 있어서 투명성을 갖는 재료를 채용할 수 있다. 가시 영역에 있어서 투명 또는 반투명한 재귀성 반사 부재를 채용함으로써, 컨트롤러(200)의 위치 정보 및 자세 정보를 산출하기 쉽게 하면서도, 반사광이 눈에 거슬리지 않게 된다.
또한, 자발광하는 광원(예를 들어, LED 등)이 컨트롤러(200)의 표면 상에 구비되어도 된다. 이에 의해, 광원으로부터 출사된 광이 비치는 촬상 화상을 해석함으로써, 산출부(142)는, 촬상 화상에 있어서의 컨트롤러(200)의 위치 정보 및 자세 정보를 산출하기 쉬워진다. 또한, 광원의 종류는 특별히 한정되지 않는다.
또한, HMD(100)(구체적으로는 기억부(170))는, 컨트롤러(200)의 크기나 형상에 관한 정보를 미리 기억하고 있어도 된다. 이에 의해, 산출부(142)는, 이 미리 기억되어 있는 크기나 형상에 관한 정보와, 촬상 화상에 비치는 컨트롤러(200)의 크기나 형상을 비교함으로써, 촬상 화상에 있어서의 컨트롤러(200)의 위치 정보 및 자세 정보를 산출하기 쉬워진다.
또한, 산출부(142)는, Visual SLAM(Simultaneous localization and mapping)을 사용하여 HMD(100)의 위치 정보 및 자세 정보를 산출한다. Visual SLAM은, 미지 환경 하에서 카메라의 촬상 화상을 해석함으로써 자기 위치ㆍ자세 산출과 지도작성을 동시에 행할 수 있는 기술이다. 또한, Visual SLAM의 실현 방법은 특별히 한정되지 않으며 산출부(142)는 공지된 Visual SLAM의 실현 방법을 사용하여 HMD(100)의 위치 정보 및 자세 정보를 산출할 수 있다. 또한, HMD(100)의 위치 정보 및 자세 정보의 산출에 Visual SLAM이 사용되는 것은 어디까지나 일례이며, HMD(100)의 위치 정보 및 자세 정보의 산출 방법은 이것에 한정되지 않는다.
표시 제어부(143)는, 산출부(142)에 의해 산출된 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보에 기초하여 표시부(150)에 의한 가상 오브젝트의 표시를 제어하는 구성이다. 예를 들어, 표시 제어부(143)는, 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보에 기초하여 상기 표시부를 제어함으로써, 가상 오브젝트를 컨트롤러(200)(조작자)에 중첩하여 표시시킨다.
표시부(150)는, 유저의 시계에 가상 오브젝트를 표시하는 구성이다. 보다 구체적으로는, 표시부(150)는, 표시 제어부(143)에 의한 제어에 기초하여 가상 오브젝트를 현실 세계에 중첩시키도록 표시한다. 또한, 표시부(150)에 의한 표시 방식은 특별히 한정되지 않으며, HMD(100)의 종류 등에 따라 유연하게 변경될 수 있다.
입력부(160)는, 유저에 의한 입력을 받는 구성이다. 예를 들어, 입력부(160)는, 터치 패널, 버튼, 스위치, 마이크로폰, 마우스 또는 키보드 등의 입력 장치를 구비하고 있고, 유저가 이들 입력 장치를 사용함으로써, 원하는 정보를 입력할 수 있다. 또한, 입력부(160)가 구비하는 입력 장치는 특별히 한정되지 않는다.
기억부(170)는, 각종 정보를 기억하는 구성이다. 예를 들어, 기억부(170)는, HMD(100)의 각 구성에 의해 사용되는 프로그램이나 파라미터 등을 기억한다. 또한, 기억부(170)는, 각 센서에 의해 취득된 센서 정보를 기억해도 된다. 또한, 기억부(170)가 기억하는 정보의 내용은 이들에 한정되지 않는다.
이상, HMD(100)의 구성예에 대하여 설명하였다. 또한, 도 7을 사용하여 설명한 상기 구성은 어디까지나 일례이며, HMD(100)의 구성은 이러한 예에 한정되지 않는다. 예를 들어, HMD(100)는, 도 7에 도시하는 구성의 일부를 구비하고 있지 않아도 되고, 도 7에 도시하고 있지 않은 구성을 구비하고 있어도 된다. 또한, 도 7에 도시하는 구성이 외부 장치(도시없음)에 마련되고, HMD(100)는 당해 외부 장치와 통신 연계함으로써 상기에서 설명한 각 기능을 실현해도 된다. 예를 들어, 1 또는 2 이상의 컨트롤러(200)와 통신 가능한 허브 장치가 별도 마련되고, 당해 허브 장치가 컨트롤러(200)로부터 각종 정보(예를 들어, 제1 센서 정보 등)를 집약하는 경우, HMD(100)는, 각 컨트롤러(200)가 아니라 허브 장치와 통신함으로써 각종 정보를 수신해도 된다. 또한, 외부 서버가 별도 마련되는 경우, HMD(100) 및 외부 서버는 분산 처리에 의해 상기의 각종 처리를 실현해도 된다.
(1.3. 처리 플로 예)
상기에서는, 제1 실시 형태에 관한 각 장치의 구성예에 대하여 설명하였다. 계속해서, 도 9를 참조하여, 제1 실시 형태에 관한 각 장치의 처리 플로 예에 대하여 설명한다. 도 9는, HMD(100) 및 컨트롤러(200)에 의한 유저에의 콘텐츠의 제공 처리의 일례를 도시하는 흐름도이다. 또한, 당해 흐름도에 있어서는, 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 산출할 때의 화상 처리를 간략화하기 위해, 반사 마커가 컨트롤러(200)의 표면 상에 구비되어 있는 것으로 한다.
스텝 S1000에서는, HMD(100)의 취득부(141)가 컨트롤러(200)(조작자)의 IMU(210)에 의해 취득된 제1 센서 정보와, IMU(110)에 의해 취득된 센서 정보를 취득한다. 스텝 S1004에서는, 산출부(142)가, IMU(210)로부터의 제1 센서 정보 및 IMU(110)로부터의 센서 정보에 기초하여 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 산출한다.
스텝 S1008에서는, 산출부(142)는, 컨트롤러(200)(조작자)가 카메라의 화각 내의 범위(설정 범위)에 진입하였는지 여부를 판정한다. 컨트롤러(200)(조작자)가 카메라의 화각 내의 범위(설정 범위)에 진입하였다고 판정된 경우(스텝 S1008/"예"), 스텝 S1012에서, 취득부(141)는 이미지 센서(120)에 의해 취득된 촬상 화상(제2 센서 정보)을 취득한다.
스텝 S1016에서, 산출부(142)는, 촬상 화상(제2 센서 정보)을 해석함으로써, 컨트롤러(200)에 구비된 반사 마커의 검출을 시도한다. 컨트롤러(200)에 구비된 반사 마커가 검출된 경우(스텝 S1016/"예"), 스텝 S1020에서, 산출부(142)는, 제1 센서 정보를 사용하여 산출된 컨트롤러(200)의 위치 정보 및 자세 정보를, 검출된 반사 마커(환언하면, 반사 마커가 구비된 컨트롤러(200))에 기초하여 보정한다.
컨트롤러(200)가 카메라의 화각 내의 범위(설정 범위)에 진입하였다고 판정되었음에도 불구하고, 컨트롤러(200)에 구비된 반사 마커가 검출되지 않은 경우(스텝 S1016/"아니오"), 스텝 S1024에서, 촬상 조건이나 인식 성능에 반사 마커 검출 실패의 원인이 있다고 판단하고, 산출부(142)는, 화상 인식의 내부 처리를 전환함으로써 반사 마커의 검출을 시도한다. 예를 들어, 촬상 환경이 지나치게 밝은 경우(예를 들어, 조도가 지나치게 높은 경우), 산출부(142)는, 반사 마커에 조사되는 적외광의 강도를 높임으로써 반사 마커를 보다 검출하기 쉽게 해도 된다. 또한, 컨트롤러(200)의 이동 속도가 지나치게 빠른 경우, 산출부(142)는, 카메라의 프레임 레이트를 높여도 된다. 또한, 촬상 화상의 해석에 사용되는 알고리즘이 복수 존재하는 경우, 산출부(142)는 보다 고정밀도의 알고리즘으로 전환해도 된다. 또한, 이들은 어디까지나 일례이며, 산출부(142)가 반사 마커를 검출하기 쉽게 하기 위해 행하는 처리의 내용은 특별히 한정되지 않는다. 산출부(142)는, 화상 인식의 내부 처리를 전환함으로써 반사 마커를 검출할 수 있는 경우에는, 스텝 S1020에서 반사 마커에 기초하여 컨트롤러(200)의 위치 정보 및 자세 정보를 보정한다.
스텝 S1028에서는, 표시 제어부(143)가 컨트롤러(200)의 위치 정보 및 자세 정보에 기초하여 표시부(150)를 제어함으로써, 가상 오브젝트를 현실 세계에 중첩하여 표시시킨다. 스텝 S1032에서는, 제어부(220)가, 콘텐츠가 종료되었는지 여부를 판정한다. 콘텐츠가 종료되었다고 판정된 경우(스텝 S1032/"예"), 일련의 처리가 종료되고, 콘텐츠가 종료되지 않았다고 판정된 경우(스텝 S1032/"아니오"), 스텝 S1000 내지 스텝 S1028의 처리가 계속된다.
(1.4. 변형예)
이상에서는, 제1 실시 형태에 관한 각 장치의 처리 플로 예에 대하여 설명하였다. 계속해서, 제1 실시 형태에 관한 변형예에 대하여 설명한다.
(1.4.1. 설정 범위의 변형예)
상기에서는 설정 범위가 카메라의 화각 내의 범위인 경우를 일례로서 설명하였다. 여기서, 설정 범위는 카메라의 화각 외의 범위를 포함해도 된다. 예를 들어, 카메라의 화각을 θth라고 하고, 화각 θth에 버퍼를 가산하여 얻어지는 각도를 θth'라고 하였을 때, 설정 범위는 당해 각도 θth' 내의 범위여도 된다. 보다 구체적으로는, 도 10에 도시하는 바와 같이, θ≤θth'/2의 관계가 성립하는 경우(θ는 컨트롤러(200)의 위치 벡터 A와 카메라의 방향 벡터 H가 이루는 각), 산출부(142)는, 컨트롤러(200b)(조작자)가 설정 범위에 포함된다고 판정하고, 카메라의 촬상 화상(제2 센서 정보)을 사용한 위치 정보 및 자세 정보의 산출 처리를 개시한다. 이와 같이 버퍼가 마련되고, 화각 θth보다 넓은 각도 θth' 내의 범위가 설정 범위로 됨으로써, 산출부(142)는, 컨트롤러(200)가 화각 θth 내의 범위에 진입하기 전에 화상 처리를 개시할 수 있기 때문에, 촬상 화상에 비치는 컨트롤러(200)의 위치 정보 및 자세 정보를 보다 조기에 산출할 수 있다. 이것은, 특히 카메라의 화각 θth가 HMD(100)의 디스플레이 화각보다 좁은 경우에 유용하다. 또한, 도 10에서는 카메라의 수평 방향의 각도 θth'에 기초하는 판정 처리에 대하여 설명한 바, 카메라의 수직 방향의 각도에 대해서도 마찬가지의 판정 처리가 행해질 수 있다.
또한, 카메라의 화각 θth보다 좁은 각도를 θth''라고 하였을 때, 설정 범위는 당해 각도 θth'' 내의 범위여도 된다. 보다 구체적으로는, 도 11에 도시하는 바와 같이 θ≤θth''/2의 관계가 성립하는 경우, 산출부(142)는, 컨트롤러(200b)(조작자)가 설정 범위에 포함된다고 판정하고, 카메라의 촬상 화상(제2 센서 정보)을 사용한 위치 정보 및 자세 정보의 산출 처리를 개시한다. 또한, 이 경우에도 카메라의 수직 방향의 각도에 대하여 마찬가지의 판정 처리가 행해질 수 있다.
또한, 설정 범위는, 촬상 화상에 있어서의 소정 형상의 영역이어도 된다. 예를 들어 도 12에 도시하는 바와 같이, 설정 범위는, 촬상 화상의 우측 하단 부분에 위치하는 소정 형상의 영역(20)이어도 된다. 도 12는, 테니스 게임의 콘텐츠가 제공되는 경우를 일례로서 도시하고 있는 바, 당해 콘텐츠에 있어서 촬상 화상의 우측 하단 부분은 오른쪽 손목에 장착된 컨트롤러(200b)가 비치기 쉬운 영역이다. 이와 같이, 컨트롤러(200)가 비치기 쉬운 영역이 설정 범위로 됨으로써, HMD(100)는 컨트롤러(200)의 위치 정보 및 자세 정보를 산출하기 쉬워진다. 또한, 이와 같이 설정 범위를 한정함으로써 HMD(100)의 소비 전력이 저감된다. 또한, 촬상 화상에 있어서의 설정 범위의 형상은 특별히 한정되지 않는다.
(1.4.2. 그 밖의 변형예)
상기에서는, 산출부(142)가 관성 항법에 의해 위치 정보를 산출하고, 그때 발생하는 드리프트 오차를 회귀 모델에 의해 보정함으로써, HMD(100) 및 컨트롤러(200)의 각 장착 부분의 위치 정보를 산출한다는 취지를 설명하였지만, IMU(IMU(110) 및 IMU(210))의 정밀도가 향상된 경우, 관성 항법에 의한 위치 산출 시에 발생하는 드리프트 오차가 작아지기 때문에, 산출부(142)는 회귀 모델을 사용하여 보정을 행하지 않아도 된다. 이 경우, IMU(210)를 구비한 컨트롤러(200)가 유저의 몸의 일부뿐만 아니라, 유저의 몸의 일부에 접촉하는 물체에 장착되어도, 산출부(142)는, IMU(210)에 의해 취득된 제1 센서 정보를 해석함으로써 당해 물체의 위치 정보 및 자세 정보를 고정밀도로 산출할 수 있다. 예를 들어, 도 13에 도시하는 바와 같이, IMU(210)를 구비한 컨트롤러(200f)가 유저에 파지된 테니스 라켓(실물체)에 장착됨으로써, 산출부(142)는, 당해 테니스 라켓의 위치 정보 및 자세 정보를 고정밀도로 산출할 수 있다.
<2. 제2 실시 형태>
(2.1. 개요)
상기에서는, 본 개시에 관한 제1 실시 형태에 대하여 설명하였다. 계속해서, 본 개시에 관한 제2 실시 형태에 대하여 설명한다.
제1 실시 형태에서는, 제1 센서로서 IMU(210)가 사용되고, 제2 센서로서 이미지 센서(120)가 사용되었다. 한편, 제2 실시 형태에서는, 제1 센서로서 IMU(210)가 사용되고, 제2 센서로서는 자기 센서가 사용된다. 여기서, 자기 센서(제2 센서)를 사용하여 조작자의 위치 정보 및 자세 정보를 산출하는 처리는, IMU(210)(제1 센서)를 사용하여 조작자의 위치 정보 및 자세 정보를 산출하는 처리에 비하여, 보다 높은 정밀도를 실현할 수 있지만, 보다 큰 전력을 소비해 버린다.
그래서, HMD(100)는, 조작자의 위치 정보 및 자세 정보를 산출할 때 자기 센서(제2 센서)를 간헐적으로 사용한다. 이에 의해, HMD(100)는, 설정 범위 이외에 있어서는 IMU(210)(제1 센서) 등을 사용하여 위치 정보 및 자세 정보를 산출하면서, 콘텐츠에 있어서 중요한 범위(설정 범위)에 있어서는 자기 센서(제2 센서)를 사용하여 고정밀도의 위치 정보 및 자세 정보를 산출할 수 있다.
여기서, 자기 센서를 사용하는 자기식 트랙킹 기술에 의해서는, 이미지 센서(120)를 사용하는 카메라와 달리, 전체 주위에 있어서 위치 정보 및 자세 정보의 산출이 가능하게 되므로, HMD(100)를 장착한 유저의 전체 주위에 있어서의 소정 영역이 설정 범위로 될 수 있다. 예를 들어, 도 14에 도시하는 바와 같이, 유저의 전두면보다 전방측의 영역(21)이나 전두면보다 후방측의 영역(22)이 설정 범위로 될 수 있다.
(2.2. 구성예)
계속해서, 도 15를 참조하여, 제2 실시 형태에 관한 각 장치의 구성예에 대하여 설명한다. 도 15는, 제2 실시 형태에 관한 각 장치의 구성예를 도시하는 블록도이다. 또한, 이후에서는, 제1 실시 형태에 관한 각 구성과 마찬가지의 내용에 대해서는 설명을 생략하고, 다른 내용에 대하여 중점적으로 설명한다.
(2.2.1. 컨트롤러(200)의 구성예)
우선, 제2 실시 형태에 관한 컨트롤러(200)의 구성예에 대하여 설명한다. 도 15에 도시하는 바와 같이, 제2 실시 형태에 관한 컨트롤러(200)는, IMU(210)와, 제어부(220)와, 통신부(230)와, 자기 센서(240)를 구비한다.
자기 센서(240)는, 제2 센서로서 기능하고, HMD(100)에 구비되는 자기 발생부(180)로부터 발해진 자기를 검출함으로써, 제2 센서 정보로서 자기 검출 정보를 출력하는 구성이다. 자기 센서(240)는, 예를 들어 홀 소자 등에 의해 구성될 수 있는 바, 반드시 이것에 한정되지는 않는다.
제어부(220)는, 통신부(230)에 의한 통신을 제어하고, 자기 센서(240)에 의해 취득된 자기 검출 정보(제2 센서 정보)를 HMD(100)에 송신시킨다. 또한, 도 15에 도시한 구성은 어디까지나 일례이며, 제2 실시 형태에 관한 컨트롤러(200)의 구성은 이러한 예에 한정되지 않는다.
(2.2.2. HMD(100)의 구성예)
계속해서, 제2 실시 형태에 관한 HMD(100)의 구성예에 대하여 설명한다. 도 15에 도시하는 바와 같이, 제2 실시 형태에 관한 HMD(100)는, IMU(110)와, 이미지 센서(120)와, 통신부(130)와, 제어부(140)와, 표시부(150)와, 입력부(160)와, 기억부(170)와, 자기 발생부(180)를 구비한다. 또한, 제어부(140)는, 취득부(141)와, 산출부(142)와, 표시 제어부(143)를 구비한다.
자기 발생부(180)는, 자기 센서(240)에 의해 검출되기 위한 자기(자계)를 발생시키는 구성이다. 자기 발생부(180)는, 예를 들어 자기 발생 코일 등에 의해 구성될 수 있는 바, 반드시 이것에 한정되지는 않는다.
산출부(142)는, 제1 실시 형태와 마찬가지로, 컨트롤러(200)의 IMU(210)(제1 센서)에 의해 출력된 제1 센서 정보, 및 자장치의 IMU(110)에 의해 출력된 센서 정보에 기초하여 스켈레톤 정보를 산출한 후에, 스켈레톤 정보에 포함되는 조작자의 위치 정보에 기초하여 자기 발생부(180) 및 자기 센서(240)(제2 센서)를 간헐적으로 사용한다. 보다 구체적으로는, 산출부(142)는, 스켈레톤 정보에 포함되는 조작자의 위치 정보가 미리 설정된 설정 범위에 포함되는 경우, 자기 센서(240)에 의해 출력된 자기 검출 정보(제2 센서 정보)를 사용하여 공지된 자기식 트랙킹 처리를 행하여, 조작자의 위치 정보 및 자세 정보를 산출한다.
또한, 제2 실시 형태에 있어서도, 산출부(142)는, 이미지 센서(120)에 의해 출력된 촬상 화상을 사용하여 Visual SLAM에 관한 처리를 행함으로써, HMD(100)의 위치 정보 및 자세 정보를 산출하는 것으로 한다.
또한, 도 15에 도시한 구성은 어디까지나 일례이며, 제2 실시 형태에 관한 HMD(100)의 구성은 이러한 예에 한정되지 않는다. 예를 들어, 자기 발생부(180)가 컨트롤러(200)에 구비되고, 자기 센서(240)가 HMD(100)에 구비되어도 된다.
(2.3. 처리 플로 예)
상기에서는, 제2 실시 형태에 관한 각 장치의 구성예에 대하여 설명하였다. 계속해서, 도 16을 참조하여, 제2 실시 형태에 관한 각 장치의 처리 플로 예에 대하여 설명한다. 도 16은, HMD(100) 및 컨트롤러(200)에 의한 유저에의 콘텐츠의 제공 처리의 일례를 도시하는 흐름도이다.
스텝 S1100에서는, HMD(100)의 취득부(141)가 컨트롤러(200)(조작자)의 IMU(210)에 의해 취득된 제1 센서 정보와, IMU(110)에 의해 취득된 센서 정보를 취득한다. 스텝 S1104에서는, 산출부(142)가, IMU(210)로부터의 제1 센서 정보 및 IMU(110)로부터의 센서 정보에 기초하여 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 산출한다.
스텝 S1108에서는, 산출부(142)는, 컨트롤러(200)(조작자)가 설정 범위에 진입하였는지 여부를 판정한다. 컨트롤러(200)(조작자)가 설정 범위에 진입하였다고 판정된 경우(스텝 S1108/"예"), 스텝 S1112에서, 취득부(141)는, 자기 센서(240)에 의해 취득된 자기 검출 정보(제2 센서 정보)를 취득한다.
스텝 S1116에서, 산출부(142)는, 자기 검출 정보(제2 센서 정보)를 해석함으로써, 컨트롤러(200)의 위치 정보 및 자세 정보를 산출한다. 스텝 S1120에서는, 산출부(142)는, 제1 센서 정보를 사용하여 산출된 컨트롤러(200)의 위치 정보 및 자세 정보를 산출 결과에 기초하여 보정한다.
스텝 S1124에서는, 표시 제어부(143)가 컨트롤러(200)의 위치 정보 및 자세 정보에 기초하여 표시부(150)를 제어함으로써, 가상 오브젝트를 현실 세계에 중첩하여 표시시킨다. 스텝 S1128에서는, 제어부(220)는, 콘텐츠가 종료되었는지 여부를 판정한다. 콘텐츠가 종료되었다고 판정된 경우(스텝 S1128/"예"), 일련의 처리가 종료되고, 콘텐츠가 종료되지 않았다고 판정된 경우(스텝 S1128/"아니오"), 스텝 S1100 내지 스텝 S1124의 처리가 계속된다.
이상, 본 개시에 관한 제2 실시 형태에 대하여 설명하였다. 또한, 제2 실시 형태에는, 제1 실시 형태에서 설명한 기술적 사항이 적절하게 적용될 수 있는 점에 유의하기 바란다.
<3. 제3 실시 형태>
(3.1. 개요)
상기에서는, 본 개시에 관한 제2 실시 형태에 대하여 설명하였다. 계속해서, 본 개시에 관한 제3 실시 형태에 대하여 설명한다.
제1 실시 형태에서는, 제1 센서로서 IMU(210)가 사용되고, 제2 센서로서 이미지 센서(120)가 사용되고, 제2 실시 형태에서는, 제1 센서로서 IMU(210)가 사용되고, 제2 센서로서 자기 센서(240)가 사용되었다. 한편, 제3 실시 형태에서는, 제1 센서로서 자기 센서(240)가 사용되고, 제2 센서로서 이미지 센서(120)가 사용된다. 여기서, 상술한 바와 같이, 본 개시에 관한 제1 센서 및 제2 센서 중 적어도 제1 센서는, 제2 센서와 함께 하나의 장치에 구비되는 소정의 기기의 쌍으로서 사용된다. 제3 실시 형태에 있어서는, 자기 센서(240)(제1 센서)는, 이미지 센서(120)(제2 센서)와 함께 HMD(100)(하나의 장치)에 구비되는 자기 발생부(180)(소정의 기기)의 쌍으로서 사용된다.
이미지 센서(120)(제2 센서)를 사용하여 조작자의 위치 정보 및 자세 정보를 산출하는 처리는, 자기 센서(240)(제1 센서)를 사용하여 조작자의 위치 정보 및 자세 정보를 산출하는 처리에 비하여, 보다 높은 정밀도를 실현할 수 있지만, 보다 큰 전력을 소비해 버린다. 그래서, HMD(100)가, 조작자의 위치 정보 및 자세 정보를 산출할 때 이미지 센서(120)(제2 센서)를 간헐적으로 사용한다. 이에 의해, HMD(100)는, 설정 범위 이외에 있어서는 자기 센서(240)(제1 센서)를 사용하여 위치 정보 및 자세 정보를 산출하면서, 콘텐츠에 있어서 중요한 범위(설정 범위)에 있어서는 이미지 센서(120)(제2 센서)를 사용하여 고정밀도의 위치 정보 및 자세 정보를 산출할 수 있다.
(3.2. 구성예)
계속해서, 도 17을 참조하여, 제3 실시 형태에 관한 각 장치의 구성예에 대하여 설명한다. 도 17은, 제3 실시 형태에 관한 각 장치의 구성예를 도시하는 블록도이다.
도 17에 도시하는 바와 같이, 제3 실시 형태에 관한 컨트롤러(200)는, 제어부(220)와, 통신부(230)와, 자기 센서(240)를 구비한다. 또한, 이들의 구성은, 도 15를 참조하여 설명한 제2 실시 형태에 관한 구성과 마찬가지의 기능을 갖기 때문에 설명을 생략한다.
또한, 도 17에 도시하는 바와 같이, 제3 실시 형태에 관한 HMD(100)는, 이미지 센서(120)와, 통신부(130)와, 제어부(140)와, 표시부(150)와, 입력부(160)와, 기억부(170)와, 자기 발생부(180)를 구비한다. 또한, 제어부(140)는, 취득부(141)와, 산출부(142)와, 표시 제어부(143)를 구비한다. 또한, 이들의 구성은, 도 15를 참조하여 설명한 제2 실시 형태에 관한 구성과 마찬가지의 기능을 갖기 때문에 설명을 생략한다.
(3.3. 처리 플로 예)
계속해서, 도 18을 참조하여, 제3 실시 형태에 관한 각 장치의 처리 플로 예에 대하여 설명한다. 도 18은, HMD(100) 및 컨트롤러(200)에 의한 유저에의 콘텐츠의 제공 처리의 일례를 도시하는 흐름도이다. 또한, 당해 흐름도에 있어서는, 제1 실시 형태와 마찬가지로 카메라의 화각 내의 범위가 설정 범위로 되어 있다.
스텝 S1200에서는, HMD(100)의 취득부(141)가 컨트롤러(200)(조작자)의 자기 센서(240)에 의해 취득된 자기 검출 정보(제1 센서 정보)를 취득한다. 스텝 S1204에서는, 산출부(142)가, 자기 검출 정보(제1 센서 정보)에 기초하여 컨트롤러(200)(조작자)의 위치 정보 및 자세 정보를 산출한다.
스텝 S1208에서는, 산출부(142)는, 컨트롤러(200)(조작자)가 카메라의 화각 내의 범위(설정 범위)에 진입하였는지 여부를 판정한다. 컨트롤러(200)(조작자)가 카메라의 화각 내의 범위(설정 범위)에 진입하였다고 판정된 경우(스텝 S1208/"예"), 스텝 S1212에서, 취득부(141)는 이미지 센서(120)에 의해 취득된 촬상 화상(제2 센서 정보)을 취득한다.
스텝 S1216에서, 산출부(142)는, 촬상 화상(제2 센서 정보)을 해석함으로써, 컨트롤러(200)에 구비된 반사 마커의 검출을 시도한다. 컨트롤러(200)에 구비된 반사 마커가 검출된 경우(스텝 S1216/"예"), 스텝 S1220에서, 산출부(142)는, 자기 검출 정보(제1 센서 정보)를 사용하여 산출된 컨트롤러(200)의 위치 정보 및 자세 정보를, 검출된 반사 마커(환언하면, 반사 마커가 구비된 컨트롤러(200))에 기초하여 보정한다.
컨트롤러(200)가 카메라의 화각 내의 범위(설정 범위)에 진입하였다고 판정되었음에도 불구하고, 컨트롤러(200)에 구비된 반사 마커가 검출되지 않은 경우(스텝 S1216/"아니오"), 스텝 S1224에서, 촬상 조건이나 인식 성능에 반사 마커 검출 실패의 원인이 있다고 판단하고, 산출부(142)는, 화상 인식의 내부 처리를 전환함으로써 반사 마커의 검출을 시도한다. 내부 처리의 전환의 구체예에 대해서는 도 9에서 설명한 것과 마찬가지일 수 있기 때문에 설명을 생략한다. 산출부(142)는, 화상 인식의 내부 처리를 전환함으로써 반사 마커를 검출할 수 있는 경우에는, 스텝 S1220에서 반사 마커에 기초하여 컨트롤러(200)의 위치 정보 및 자세 정보를 보정한다.
스텝 S1228에서는, 표시 제어부(143)가 컨트롤러(200)의 위치 정보 및 자세 정보에 기초하여 표시부(150)를 제어함으로써, 가상 오브젝트를 현실 세계에 중첩하여 표시시킨다. 스텝 S1232에서는, 제어부(220)가, 콘텐츠가 종료되었는지 여부를 판정한다. 콘텐츠가 종료되었다고 판정된 경우(스텝 S1232/"예"), 일련의 처리가 종료되고, 콘텐츠가 종료되지 않았다고 판정된 경우(스텝 S1232/"아니오"), 스텝 S1200 내지 스텝 S1228의 처리가 계속된다.
이상, 본 개시에 관한 제3 실시 형태에 대하여 설명하였다. 또한, 제3 실시 형태에는, 제1 실시 형태 및 제2 실시 형태에서 설명한 기술적 사항이 적절하게 적용될 수 있는 점에 유의하기 바란다.
<4. 위치 정보의 산출 방법의 구체예>
상기에서는, 본 개시에 관한 제3 실시 형태에 대하여 설명하였다. 계속해서, 컨트롤러(200)의 IMU(210)에 의해 출력된 제1 센서 정보나, HMD(100)의 IMU(110)에 의해 출력된 센서 정보에 기초하는, HMD(100) 및 컨트롤러(200)의 각 장착 부분의 위치 정보의 산출 방법의 구체예에 대하여 설명한다.
상기한 바와 같이, HMD(100)는, 예를 들어 관성 항법에 의해 위치 정보를 산출하고, 그때 발생하는 드리프트 오차를 회귀 모델에 의해 보정함으로써, HMD(100) 및 컨트롤러(200)의 각 장착 부분의 보다 정확한 위치 정보를 산출할 수 있다.
먼저 전제로서, 관성 항법에 기초하는 위치 산출 처리에 대하여 설명한다. 관성 항법은, 각속도 및 가속도를 복수회 적분(Integration)함으로써 센서 위치 정보를 산출하는 기술이며, 예를 들어 선박 또는 항공기 등에 채용되고 있다. 도 19는, 관성 항법에 기초하는 위치 산출 처리의 개략을 도시하는 모식도이다.
관성 항법에서는, 먼저 자이로 센서에 의해 취득된 로컬 좌표계(센서 장치마다 설정된 좌표계)에 있어서의 각속도를 적분(S111)함으로써, 글로벌 좌표계에 있어서의 컨트롤러(200) 및 HMD(100)의 자세가 계산된다. 다음에, 글로벌 좌표계에 있어서의 각 장치의 자세에 기초하여, 각 장치에 구비되는 가속도 센서에 의해 취득된 로컬 좌표계에 있어서의 센서 장치의 가속도를 글로벌 좌표계에 있어서의 각 장치의 가속도로 좌표계 변환한다(S112). 그리고, 좌표계 변환된 글로벌 좌표계에 있어서의 가속도를 적분(S113)함으로써, 글로벌 좌표계에 있어서의 각 장치의 속도가 계산된다. 다음에, 글로벌 좌표계에 있어서의 각 장치의 속도를 적분(S114)함으로써, 각 장치의 이동 거리가 계산된다. 여기서, 글로벌 좌표계에 있어서의 이동 거리를 세분점마다 합성해 감으로써, 초기 위치를 기점으로 한 상대적인 위치 정보가 얻어진다. 초기 위치가 기지라면, 상기 정보에 의해 각 장치의 절대적인 위치 정보(즉, 글로벌 좌표계에 있어서의 3차원 좌표)를 계산할 수 있다. 상기와 같이 하여, 관성 항법에 기초하는 위치 산출 처리에 의해, 각 장치의 자세 정보와 위치 정보가 출력된다.
도 19에 도시한 관성 항법에 기초하는 위치 산출 처리는, 비교적 처리 부하가 작아 고속으로 실행될 수 있다.
여기서, 관성 항법에서는, 자세 정보를 얻기 위해 각속도에 대하여 실시되는 적분은 스텝 S111의 1회뿐이며, 또한 AHRS 등의 주지 기술을 조합함으로써, 자세 정보를 고정밀도로 취득하는 것이 가능하였다. 한편, 위치 정보를 얻기 위해서는 스텝 S113과 스텝 S114의 2회의 적분이 가속도에 대하여 실시되기 때문에, 가속도 센서에 의해 취득되는 가속도에 오차가 포함되는 경우에는, 출력되는 위치 정보에 오차가 축적될 수 있다.
도 20은, 관성 항법에 기초하는 위치 산출 처리에 있어서 발생할 수 있는 위치 오차의 시간 변화 이미지를 도시하는 모식도이다. 도 20에 도시하는 바와 같이, 관성 항법에 의해 위치 정보를 산출하기 시작하고 나서부터 짧은 시간 동안이라면, 위치 오차는 작고, 위치 정보를 고정밀도로 산출 가능하다. 그러나, 관성 항법에 의해 산출되는 위치 정보에 포함되는 오차는 도 20에 도시하는 바와 같이 시간에 따라 커질 수 있기 때문에, 장시간 계속해서 실행된 경우에, 매우 큰 오차가 위치 정보에 포함되어 버릴 우려가 있다.
그래서, 본 실시 형태에서는, 운동 모델(Dynamics Model)에 기초하여, 회귀에 의한 장착 부위의 위치 산출을 행한다. 도 21은, 운동 모델에 기초하는 위치 산출 처리의 개략을 도시하는 모식도이다.
도 21에 도시하는 스텝 S121 내지 S122의 처리는, 도 19를 참조하여 설명한 스텝 S111 내지 S112의 처리와 마찬가지이기 때문에 여기서의 설명은 생략한다. 도 21에 도시하는 바와 같이 운동 모델에 기초하는 위치 산출 처리에서는, 가속도의 적분을 행하지 않고, 각 장치의 위치 정보를 회귀에 의해 추정한다(S123). 스텝 S123의 회귀 추정 처리에서는, 글로벌 좌표계에 있어서의 각 장치의 자세와 가속도를, 사전에 준비된 운동 모델에 적용시키는 회귀에 의해 위치 정보가 추정된다. 여기서, 운동 모델은, 예를 들어 사전에 운동 제약 정보(예를 들어 과거에 취득된 포즈나 일련의 움직임에 있어서의 각 부위의 위치와 자세의 샘플을 복수 포함하는 정보)를 학습함으로써 생성하는 것이 가능하다. 또한, 스텝 S123의 회귀 추정 처리에는 다양한 회귀 분석 방법을 사용하는 것이 가능하며, 예를 들어 DNN(deep neural network)이나 Random Forest 등의 방법이 단독으로 혹은 조합하여 사용되어도 된다.
여기서, 도 21에 도시되는 처리에서는, 가속도가 적분되지 않기 때문에, 도 19, 도 20을 참조하여 설명한 관성 항법의 경우와 같이 위치 오차가 시간에 따라 커지기 어렵다. 도 22는, 운동 모델에 기초하는 위치 산출 처리에 있어서 발생할 수 있는 위치 오차의 시간 변화 이미지를 도시하는 모식도이다. 도 22에 도시하는 바와 같이, 운동 모델에 기초하는 위치 산출 처리에 있어서도 위치 오차는 발생하지만, 시간에 따라 커지지 않기 때문에, 장시간 계속해서 실행된 경우라도 큰 오차가 발생하기 어렵다.
따라서, 도 21에 도시한 운동 모델에 기초하는 위치 산출 처리에 의해, 보다 고정밀도로 위치 정보를 산출 가능하다고 생각된다. 단, 운동 모델에 기초하는 위치 산출 처리에서는, 회귀에 의한 통계적인 산출이 행해지기 때문에, 입력의 변화가 연속적인 경우라도 출력(산출 결과)의 변화가 비연속적으로 되기 쉽다. 그 결과, 예를 들어 최종적으로 얻어지는 스켈레톤 정보를 가시화하였을 때 위화감을 주기 쉬워질 우려가 있다. 또한, 도 21에 도시한 운동 모델에 기초하는 위치 산출 처리는, 도 19에 도시한 관성 항법에 기초하는 위치 산출 처리와 비교하면 처리 부하가 커서, 관성 항법에 기초하는 위치 산출 처리보다 고속의 실행은 곤란하다.
상술한 바와 같이, 관성 항법에 기초하는 위치 산출 처리와 운동 모델에 기초하는 위치 산출 처리에는, 각각의 특장이 있다. 그래서, 본 실시 형태에서는, 관성 항법에 기초하는 위치 산출 처리와 운동 모델에 기초하는 위치 산출 처리의 양쪽을 조합하여, 산출되는 위치 정보를 보정함으로써, 보다 고정밀도로 위치 정보를 산출한다. 또한, 이하에서는, 관성 항법에 기초하는 위치 산출 처리를 제1 처리, 운동 모델에 기초하는 위치 산출 처리를 제2 처리라고 칭하는 경우가 있다.
도 23은, 본 개시에 관한 HMD(100)의 산출부(142)에 의한 위치 산출 처리의 개략을 도시하는 모식도이다. 또한, 도 23에 도시한 것은 개략이며, 산출부(142)에 의한 위치 산출 처리는 도 23에 도시되어 있지 않은 처리도 포함해도 된다.
도 23에 도시하는 바와 같이, 산출부(142)에 의한 위치 산출 처리는, 관성 항법에 기초하는 제1 처리(S111 내지 S114)와 운동 모델에 기초하는 제2 처리(S121 내지 S123)에 더하여, 보정 처리(S130)도 포함한다. 스텝 S130의 보정 처리에서는, 제1 처리의 출력(이하, 제1 출력이라고도 칭함) 및 제2 처리의 출력(이하, 제2 출력이라고도 칭함)을 참조하여 보정이 행해진다. 또한, 제1 출력은 장착 부분의 자세 정보와 위치 정보를 포함하고, 제2 출력은 위치 정보를 포함한다. 그리고, 스텝 S130에서는, 제1 출력에 포함되는 위치 정보를 제1 출력에 포함되는 자세 정보와 제2 출력에 포함되는 위치 정보에 기초하여 보정한다. 또한, 스텝 S130에 있어서, 제1 출력에 포함되는 자세 정보에 대해서는 위치 정보의 보정에 사용됨과 함께, 그대로 출력되어도 된다. 또한, 스텝 S130의 보정 처리는, 예를 들어 칼만 필터에 의해 실현될 수 있다.
또한, 상술한 바와 같이, 제1 처리는 제2 처리보다 고속으로 실행될 수 있다. 따라서, 보정 처리(S130)는, 제2 출력이 얻어진 타이밍에 실행되며, 제2 출력이 얻어지지 않고 제1 출력만이 얻어진 경우에는, 제1 출력이 본 실시 형태에 관한 위치 산출 처리의 출력으로서 그대로 출력되어도 된다.
도 24는, 본 실시 형태에 관한 위치 산출 처리에 있어서 발생할 수 있는 위치 오차의 시간 변화 이미지를 도시하는 모식도이다. 도 24에 도시하는 예에서는, 시각 t11에 있어서 제2 출력이 얻어지고, 제2 출력에 기초하는 보정이 행해지는 것으로 한다. 도 24에 도시하는 바와 같이, 본 실시 형태에 관한 위치 산출 처리에서는, 처리의 개시부터 시각 t11까지의 동안은 시간에 따라 위치 오차가 커지지만, 시각 t11에 있어서 제2 출력에 기초하는 보정이 행해진 결과, 위치 오차가 억제된다.
이와 같이, 산출부(142)에 의한 위치 산출 처리에 따르면, 보정이 행해질 때마다 위치 오차가 억제되기 때문에, 오차가 시간에 따라 커지기 어렵고, 장시간 계속해서 실행된 경우라도 큰 오차가 발생하기 어렵다. 또한, 산출부(142)에 의한 위치 산출 처리에서는, 제2 출력이 얻어지지 않는 경우에는 제1 출력이 그대로 출력되기 때문에, 운동 모델에 기초하는 제2 처리에 의해서만 위치 산출을 행하는 경우에 비하여, 고빈도로 위치 정보를 산출하는 것이 가능하게 된다.
이와 같이 HMD(100)는, 관성 항법에 의한 위치 산출 시에 발생하는 드리프트 오차를 회귀 모델에 의해 보정함으로써, 더 적은 컨트롤러(200)에 의해 고정밀도의 위치 정보 및 자세 정보의 산출을 실현할 수 있다. 또한, 산출부(142)에 의한 위치 산출 처리는, 상기에서 설명한 방법(관성 항법 및 회귀 모델을 사용하는 방법)에 한정되지 않는다. 또한, IMU(IMU(110) 및 IMU(210))의 정밀도가 향상된 경우, 관성 항법에 의한 위치 산출 시에 발생하는 드리프트 오차가 작아지기 때문에 회귀 모델을 사용하여 보정을 행할 필요가 없어지는 경우가 있다.
<5. 하드웨어 구성예>
상기에서는 HMD(100) 및 컨트롤러(200)의 각 장착 부분의 위치 정보의 산출 방법의 구체예에 대하여 설명하였다. 마지막으로, 도 25를 참조하여, 상기에서 설명해 온 각 실시 형태에 관한 HMD(100) 또는 컨트롤러(200)의 하드웨어의 구성예에 대하여 설명한다. 도 25는, 각 실시 형태에 관한 HMD(100) 또는 컨트롤러(200)를 구현하는 정보 처리 장치의 하드웨어 구성예를 도시하는 블록도이다. 각 실시 형태에 관한 HMD(100) 또는 컨트롤러(200)에 의한 정보 처리는, 소프트웨어와, 이하에 설명하는 하드웨어의 협동에 의해 실현된다.
도 25에 도시하는 바와 같이, 정보 처리 장치(900)는 CPU(Central Processing Unit)(901), ROM(Read Only Memory)(902), RAM(Random Access Memory)(903) 및 호스트 버스(904a)를 구비한다. 또한, 정보 처리 장치(900)는 브리지(904), 외부 버스(904b), 인터페이스(905), 입력 장치(906), 출력 장치(907), 스토리지 장치(908), 드라이브(909), 접속 포트(911), 통신 장치(913) 및 센서(915)를 구비한다. 정보 처리 장치(900)는, CPU(901) 대신에, 또는 이와 함께 DSP 혹은 ASIC 등의 처리 회로를 가져도 된다.
CPU(901)는 연산 처리 장치 및 제어 장치로서 기능하며, 각종 프로그램에 따라 정보 처리 장치(900) 내의 동작 전반을 제어한다. 또한, CPU(901)는 마이크로 프로세서여도 된다. ROM(902)은 CPU(901)가 사용하는 프로그램이나 연산 파라미터 등을 기억한다. RAM(903)은 CPU(901)의 실행에 있어서 사용하는 프로그램이나, 그 실행에 있어서 적절하게 변화하는 파라미터 등을 일시 기억한다. CPU(901)는, 예를 들어 제어부(140) 또는 제어부(220)를 구현할 수 있다.
CPU(901), ROM(902) 및 RAM(903)은 CPU 버스 등을 포함하는 호스트 버스(904a)에 의해 서로 접속되어 있다. 호스트 버스(904a)는 브리지(904)를 통하여 PCI(Peripheral Component Interconnect/Interface) 버스 등의 외부 버스(904b)에 접속되어 있다. 또한, 반드시 호스트 버스(904a), 브리지(904) 및 외부 버스(904b)를 분리 구성할 필요는 없으며, 1개의 버스에 이들 기능을 실장해도 된다.
입력 장치(906)는, 예를 들어 마우스, 키보드, 터치 패널, 버튼, 마이크로폰, 스위치 및 레버 등, 유저에 의해 정보가 입력되는 장치에 의해 실현된다. 또한, 입력 장치(906)는, 예를 들어 적외선이나 그 밖의 전파를 이용한 리모트 컨트롤 장치여도 되고, 정보 처리 장치(900)의 조작에 대응한 휴대 전화나 PDA 등의 외부 접속 기기여도 된다. 또한, 입력 장치(906)는, 예를 들어 상기 입력 수단을 사용하여 유저에 의해 입력된 정보에 기초하여 입력 신호를 생성하고, CPU(901)에 출력하는 입력 제어 회로 등을 포함하고 있어도 된다. 정보 처리 장치(900)의 유저는, 이 입력 장치(906)를 조작함으로써, 정보 처리 장치(900)에 대하여 각종 데이터를 입력하거나 처리 동작을 지시하거나 할 수 있다. 입력 장치(906)는, 예를 들어 입력부(160)를 구현할 수 있다.
출력 장치(907)는, 취득한 정보를 유저에 대하여 시각적 또는 청각적으로 통지하는 것이 가능한 장치로 형성된다. 이러한 장치로서, CRT 디스플레이 장치, 액정 디스플레이 장치, 플라스마 디스플레이 장치, EL 디스플레이 장치 및 램프 등의 표시 장치나, 스피커 및 헤드폰 등의 음성 출력 장치나, 프린터 장치 등이 있다. 출력 장치(907)는, 예를 들어 정보 처리 장치(900)가 행한 각종 처리에 의해 얻어진 결과를 출력한다. 구체적으로는, 표시 장치는, 정보 처리 장치(900)가 행한 각종 처리에 의해 얻어진 결과를 텍스트, 이미지, 표, 그래프 등, 여러 가지 형식으로 시각적으로 표시한다. 한편, 음성 출력 장치는, 재생된 음성 데이터나 음향 데이터 등으로 이루어지는 오디오 신호를 아날로그 신호로 변환하여 청각적으로 출력한다. 출력 장치(907)는, 예를 들어 표시부(150)를 구현할 수 있다.
스토리지 장치(908)는, 정보 처리 장치(900)의 기억부의 일례로서 형성된 데이터 저장용 장치이다. 스토리지 장치(908)는, 예를 들어 HDD 등의 자기 기억부 디바이스, 반도체 기억 디바이스, 광 기억 디바이스 또는 광 자기 기억 디바이스 등에 의해 실현된다. 스토리지 장치(908)는, 기억 매체, 기억 매체에 데이터를 기록하는 기록 장치, 기억 매체로부터 데이터를 판독하는 판독 장치 및 기억 매체에 기록된 데이터를 삭제하는 삭제 장치 등을 포함해도 된다. 이 스토리지 장치(908)는, CPU(901)가 실행하는 프로그램이나 각종 데이터 및 외부로부터 취득한 각종 데이터 등을 저장한다. 스토리지 장치(908)는, 예를 들어 기억부(170)를 구현할 수 있다.
드라이브(909)는 기억 매체용 리더/라이터이며, 정보 처리 장치(900)에 내장 혹은 외장된다. 드라이브(909)는, 장착되어 있는 자기 디스크, 광 디스크, 광 자기 디스크 또는 반도체 메모리 등의 리무버블 기억 매체에 기록되어 있는 정보를 판독하여, RAM(903)에 출력한다. 또한, 드라이브(909)는 리무버블 기억 매체에 정보를 기입할 수도 있다.
접속 포트(911)는 외부 기기와 접속되는 인터페이스이며, 예를 들어 USB(Universal Serial Bus) 등에 의해 데이터 전송 가능한 외부 기기와의 접속구이다.
통신 장치(913)는, 예를 들어 네트워크(920)에 접속하기 위한 통신 디바이스 등으로 형성된 통신 인터페이스이다. 통신 장치(913)는, 예를 들어 유선 혹은 무선 LAN(Local Area Network), LTE(Long Term Evolution), Bluetooth(등록 상표) 또는 WUSB(Wireless USB)용 통신 카드 등이다. 또한, 통신 장치(913)는, 광통신용 라우터, ADSL(Asymmetric Digital Subscriber Line)용 라우터 또는 각종 통신용 모뎀 등이어도 된다. 이 통신 장치(913)는, 예를 들어 인터넷이나 다른 통신 기기와의 사이에서, 예를 들어 TCP/IP 등의 소정의 프로토콜에 의거하여 신호 등을 송수신할 수 있다. 통신 장치(913)는, 예를 들어 통신부(130) 또는 통신부(230)를 구현할 수 있다.
센서(915)는, 예를 들어 가속도 센서, 자이로 센서, 지자기 센서, 광 센서, 음 센서, 측거 센서, 힘 센서 등의 각종 센서이다. 센서(915)는, 정보 처리 장치(900)의 자세, 이동 속도 등, 정보 처리 장치(900) 자신의 상태에 관한 정보나, 정보 처리 장치(900)의 주변의 밝기나 소음 등, 정보 처리 장치(900)의 주변 환경에 관한 정보를 취득한다. 또한, 센서(915)는, GPS 신호를 수신하여 장치의 위도, 경도 및 고도를 측정하는 GPS 센서를 포함해도 된다. 센서(915)는, 예를 들어 IMU(110), IMU(210), 이미지 센서(120), 자기 발생부(180) 또는 자기 센서(240)를 구현할 수 있다.
또한, 네트워크(920)는, 네트워크(920)에 접속되어 있는 장치로부터 송신되는 정보의 유선 또는 무선의 전송로이다. 예를 들어, 네트워크(920)는 인터넷, 전화 회선망, 위성 통신망 등의 공중 회선망이나, Ethernet(등록 상표)을 포함하는 각종 LAN(Local Area Network), WAN(Wide Area Network) 등을 포함해도 된다. 또한, 네트워크(920)는 IP-VPN(Internet Protocol-Virtual Private Network) 등의 전용 회선망을 포함해도 된다.
이상, 본 개시의 각 실시 형태에 관한 정보 처리 장치(900)의 기능을 실현 가능한 하드웨어 구성예를 나타내었다. 상기 각 구성 요소는, 범용적인 부재를 사용하여 실현되어도 되고, 각 구성 요소의 기능에 특화된 하드웨어에 의해 실현되어도 된다. 따라서, 본 개시의 실시 형태를 실시하는 그때그때의 기술 레벨에 따라, 적절하게, 이용하는 하드웨어 구성을 변경하는 것이 가능하다.
또한, 상기와 같은 본 개시의 각 실시 형태에 관한 정보 처리 장치(900)의 각 기능을 실현하기 위한 컴퓨터 프로그램을 제작하고, PC 등에 실장하는 것이 가능하다. 또한, 이러한 컴퓨터 프로그램이 저장된, 컴퓨터로 판독 가능한 기록 매체도 제공할 수 있다. 기록 매체는, 예를 들어 자기 디스크, 광 디스크, 광 자기 디스크, 플래시 메모리 등이다. 또한, 상기 컴퓨터 프로그램은 기록 매체를 사용하지 않고, 예를 들어 네트워크를 통하여 배신되어도 된다.
<6. 마무리>
이상에서 설명해 온 바와 같이, 본 개시에 관한 정보 처리 시스템은, 조작자의 위치 정보의 산출에 사용되는 제1 센서 정보를 출력하는 제1 센서와, 제1 센서 정보보다 고정밀도의 위치 정보의 산출이 가능한 한편, 그 산출에 큰 전력을 요하는 제2 위치 정보를 출력하는 제2 센서를 구비한다. 그리고, 본 개시에 관한 HMD(100)는, 제1 센서 정보를 사용하여 산출되는 조작자의 위치 정보가 미리 설정된 설정 범위에 포함되는 경우, 제2 센서 정보를 사용하여 조작자의 위치 정보를 산출한다. 이에 의해, HMD(100)는, 설정 범위 이외에 있어서는 제1 센서를 사용하여 위치 정보 및 자세 정보를 산출하면서, 콘텐츠에 있어서 중요한 범위(설정 범위)에 있어서는 제2 센서를 사용하여 보다 고정밀도로 위치 정보 및 자세 정보를 산출할 수 있다. 또한, HMD(100)는, 이와 같이 제2 센서를 간헐적으로 사용함으로써 소비 전력을 저감시킬 수 있다.
본 개시에 관한 제1 실시 형태에서는, 제1 센서로서 IMU(210)가 사용되고, 제2 센서로서 이미지 센서(120)가 사용되고, 제2 실시 형태에서는, 제1 센서로서 IMU(210)가 사용되고, 제2 센서로서 자기 센서(240)가 사용되고, 제3 실시 형태에서는, 제1 센서로서 자기 센서(240)가 사용되고, 제2 센서로서 이미지 센서(120)가 사용되는 경우에 대하여 설명해 왔다. 그러나, 제1 센서 및 제2 센서로서 사용되는 센서의 종류나 조합은 이들에 한정되지 않는 점에 유의하기 바란다.
이상, 첨부 도면을 참조하면서 본 개시의 적합한 실시 형태에 대하여 상세하게 설명하였지만, 본 개시의 기술적 범위는 이러한 예에 한정되지 않는다. 본 개시의 기술 분야에 있어서의 통상의 지식을 갖는 자이면, 청구범위에 기재된 기술적 사상의 범주 내에 있어서, 각종 변경예 또는 수정예에 상도할 수 있는 것은 명확하며, 이들에 대해서도, 당연히 본 개시의 기술적 범위에 속하는 것으로 이해해야 한다.
예를 들어, 상기에서 설명한 각 흐름도에 있어서의 각 스텝은, 반드시 기재된 순서를 따라 시계열로 처리될 필요는 없다. 즉, 흐름도에 있어서의 각 스텝은, 기재된 순서와 다른 순서로 처리되어도, 병렬적으로 처리되어도 된다.
또한, 본 명세서에 기재된 효과는, 어디까지나 설명적 또는 예시적인 것으로서 한정적이지는 않다. 즉, 본 개시에 관한 기술은, 상기 효과와 함께 또는 상기 효과 대신에, 본 명세서의 기재로부터 당업자에게는 명확한 다른 효과를 발휘할 수 있다.
또한, 이하와 같은 구성도 본 개시의 기술적 범위에 속한다.
(1)
제1 센서에 의해 출력되고, 조작자의 위치 정보의 산출에 사용되는 제1 센서 정보, 및 제2 센서에 의해 출력되고, 상기 조작자의 위치 정보의 산출에 사용되는 제2 센서 정보를 취득하는 취득부와,
상기 제1 센서 정보를 사용하여 산출되는 상기 조작자의 위치 정보가 미리 설정된 설정 범위에 포함되는 경우, 상기 제2 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는 산출부를 구비하는,
정보 처리 장치.
(2)
상기 제1 센서 정보를 사용하여 산출되는 위치 정보는, 상기 제2 센서 정보를 사용하여 산출되는 위치 정보의 좌표계에 의해 규정되는,
상기 (1)에 기재된 정보 처리 장치.
(3)
상기 제1 센서 정보를 사용하여 산출되는 상기 조작자의 위치 정보가 상기 설정 범위에 포함되는 경우,
상기 산출부는, 상기 제1 센서 정보 및 상기 제2 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는,
상기 (1) 또는 (2)에 기재된 정보 처리 장치.
(4)
상기 제1 센서 정보를 사용하여 산출되는 상기 위치 정보가 상기 설정 범위 내에 들어감에 따라, 상기 제2 센서 정보의 취득이 개시되고,
상기 제1 센서 정보를 사용하여 산출되는 상기 위치 정보가 상기 설정 범위 외로 나옴에 따라, 상기 제2 센서 정보의 취득이 정지되는,
상기 (3)에 기재된 정보 처리 장치.
(5)
상기 제1 센서 정보를 사용하는 상기 위치 정보의 산출 처리에서 상기 제1 센서 정보가 취득되는 기간보다, 상기 제2 센서 정보를 사용하는 상기 위치 정보의 산출 처리에서 상기 제2 센서 정보가 취득되는 기간 쪽이 짧은,
상기 (3)에 기재된 정보 처리 장치.
(6)
상기 제1 센서 정보를 사용하여 산출되는 상기 위치 정보가 상기 설정 범위 내에 들어감에 따라, 상기 제2 센서 정보의 취득 빈도가 증가되고,
상기 제1 센서 정보를 사용하여 산출되는 상기 위치 정보가 상기 설정 범위 외로 나옴에 따라, 상기 제2 센서 정보의 취득 빈도가 저감되는,
상기 (5)에 기재된 정보 처리 장치.
(7)
상기 제2 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는 처리는, 상기 제1 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는 처리에 비하여, 보다 큰 전력을 소비하는,
상기 (1) 내지 (6) 중 어느 한 항에 기재된 정보 처리 장치.
(8)
상기 제1 센서 및 상기 제2 센서 중 적어도 상기 제1 센서는, 상기 제2 센서와 함께 하나의 장치에 구비되는 소정의 기기의 쌍으로서 사용되는,
상기 (1) 내지 (7) 중 어느 한 항에 기재된 정보 처리 장치.
(9)
상기 제1 센서가 IMU이고 상기 제2 센서가 이미지 센서이거나, 상기 제1 센서가 IMU이고 상기 제2 센서가 자기 센서이거나, 상기 제1 센서가 자기 센서이고 상기 제2 센서가 이미지 센서인,
상기 (7) 또는 (8)에 기재된 정보 처리 장치.
(10)
상기 제1 센서 및 상기 제2 센서는, 유저의 몸의 일부 또는 상기 일부에 접촉하는 물체에 장착되는,
상기 (9)에 기재된 정보 처리 장치.
(11)
상기 조작자는, 상기 유저의 몸 또는 상기 물체에 있어서의, 상기 제1 센서 혹은 상기 제2 센서의 장착 부분, 또는 상기 장착 부분 이외의 부분인,
상기 (10)에 기재된 정보 처리 장치.
(12)
상기 설정 범위는, 상기 유저의 시계에 대응하는,
상기 (10) 또는 (11)에 기재된 정보 처리 장치.
(13)
표시부는, 상기 유저의 시계에 가상 오브젝트를 표시하고,
상기 조작자의 위치 정보에 기초하여 상기 표시부에 의한 상기 가상 오브젝트의 표시를 제어하는 표시 제어부를 더 구비하는,
상기 (12)에 기재된 정보 처리 장치.
(14)
상기 표시 제어부는, 상기 조작자의 위치 정보에 기초하여 상기 표시부를 제어함으로써, 상기 가상 오브젝트를 상기 조작자에 중첩하여 표시시키는,
상기 (13)에 기재된 정보 처리 장치.
(15)
제1 센서에 의해 출력되고, 조작자의 위치 정보의 산출에 사용되는 제1 센서 정보, 및 제2 센서에 의해 출력되고, 상기 조작자의 위치 정보의 산출에 사용되는 제2 센서 정보를 취득하는 것과,
상기 제1 센서 정보를 사용하여 산출되는 상기 조작자의 위치 정보가 미리 설정된 설정 범위에 포함되는 경우, 상기 제2 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는 것을 갖는,
컴퓨터에 의해 실행되는 정보 처리 방법.
(16)
제1 센서에 의해 출력되고, 조작자의 위치 정보의 산출에 사용되는 제1 센서 정보, 및 제2 센서에 의해 출력되고, 상기 조작자의 위치 정보의 산출에 사용되는 제2 센서 정보를 취득하는 것과,
상기 제1 센서 정보를 사용하여 산출되는 상기 조작자의 위치 정보가 미리 설정된 설정 범위에 포함되는 경우, 상기 제2 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는 것
을 컴퓨터에 실현시키기 위한 프로그램.
100: HMD
110: IMU
120: 이미지 센서
130: 통신부
140: 제어부
141: 취득부
142: 산출부
143: 표시 제어부
150: 표시부
160: 입력부
170: 기억부
180: 자기 발생부
200: 컨트롤러
210: IMU
220: 제어부
230: 통신부
240: 자기 센서

Claims (16)

  1. 제1 센서에 의해 출력되고, 조작자의 위치 정보의 산출에 사용되는 제1 센서 정보, 및 제2 센서에 의해 출력되고, 상기 조작자의 위치 정보의 산출에 사용되는 제2 센서 정보를 취득하는 취득부와,
    상기 제1 센서 정보를 사용하여 산출되는 상기 조작자의 위치 정보가 미리 설정된 설정 범위에 포함되는 경우, 상기 제2 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는 산출부를 구비하는, 정보 처리 장치.
  2. 제1항에 있어서, 상기 제1 센서 정보를 사용하여 산출되는 위치 정보는, 상기 제2 센서 정보를 사용하여 산출되는 위치 정보의 좌표계에 의해 규정되는, 정보 처리 장치.
  3. 제1항에 있어서, 상기 제1 센서 정보를 사용하여 산출되는 상기 조작자의 위치 정보가 상기 설정 범위에 포함되는 경우,
    상기 산출부는, 상기 제1 센서 정보 및 상기 제2 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는, 정보 처리 장치.
  4. 제3항에 있어서, 상기 제1 센서 정보를 사용하여 산출되는 상기 위치 정보가 상기 설정 범위 내에 들어감에 따라, 상기 제2 센서 정보의 취득이 개시되고,
    상기 제1 센서 정보를 사용하여 산출되는 상기 위치 정보가 상기 설정 범위 외로 나옴에 따라, 상기 제2 센서 정보의 취득이 정지되는, 정보 처리 장치.
  5. 제3항에 있어서, 상기 제1 센서 정보를 사용하는 상기 위치 정보의 산출 처리에서 상기 제1 센서 정보가 취득되는 기간보다, 상기 제2 센서 정보를 사용하는 상기 위치 정보의 산출 처리에서 상기 제2 센서 정보가 취득되는 기간 쪽이 짧은, 정보 처리 장치.
  6. 제5항에 있어서, 상기 제1 센서 정보를 사용하여 산출되는 상기 위치 정보가 상기 설정 범위 내에 들어감에 따라, 상기 제2 센서 정보의 취득 빈도가 증가되고,
    상기 제1 센서 정보를 사용하여 산출되는 상기 위치 정보가 상기 설정 범위 외로 나옴에 따라, 상기 제2 센서 정보의 취득 빈도가 저감되는, 정보 처리 장치.
  7. 제1항에 있어서, 상기 제2 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는 처리는, 상기 제1 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는 처리에 비하여, 보다 큰 전력을 소비하는, 정보 처리 장치.
  8. 제1항에 있어서, 상기 제1 센서 및 상기 제2 센서 중 적어도 상기 제1 센서는, 상기 제2 센서와 함께 하나의 장치에 구비되는 소정의 기기의 쌍으로서 사용되는, 정보 처리 장치.
  9. 제7항에 있어서, 상기 제1 센서가 IMU이고 상기 제2 센서가 이미지 센서이거나, 상기 제1 센서가 IMU이고 상기 제2 센서가 자기 센서이거나, 상기 제1 센서가 자기 센서이고 상기 제2 센서가 이미지 센서인, 정보 처리 장치.
  10. 제9항에 있어서, 상기 제1 센서 및 상기 제2 센서는, 유저의 몸의 일부 또는 상기 일부에 접촉하는 물체에 장착되는, 정보 처리 장치.
  11. 제10항에 있어서, 상기 조작자는, 상기 유저의 몸 또는 상기 물체에 있어서의, 상기 제1 센서 혹은 상기 제2 센서의 장착 부분, 또는 상기 장착 부분 이외의 부분인, 정보 처리 장치.
  12. 제10항에 있어서, 상기 설정 범위는 상기 유저의 시계에 대응하는, 정보 처리 장치.
  13. 제12항에 있어서, 표시부는, 상기 유저의 시계에 가상 오브젝트를 표시하고,
    상기 조작자의 위치 정보에 기초하여 상기 표시부에 의한 상기 가상 오브젝트의 표시를 제어하는 표시 제어부를 더 구비하는, 정보 처리 장치.
  14. 제13항에 있어서, 상기 표시 제어부는, 상기 조작자의 위치 정보에 기초하여 상기 표시부를 제어함으로써, 상기 가상 오브젝트를 상기 조작자에 중첩하여 표시시키는, 정보 처리 장치.
  15. 제1 센서에 의해 출력되고, 조작자의 위치 정보의 산출에 사용되는 제1 센서 정보, 및 제2 센서에 의해 출력되고, 상기 조작자의 위치 정보의 산출에 사용되는 제2 센서 정보를 취득하는 것과,
    상기 제1 센서 정보를 사용하여 산출되는 상기 조작자의 위치 정보가 미리 설정된 설정 범위에 포함되는 경우, 상기 제2 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는 것을 갖는, 컴퓨터에 의해 실행되는 정보 처리 방법.
  16. 제1 센서에 의해 출력되고, 조작자의 위치 정보의 산출에 사용되는 제1 센서 정보, 및 제2 센서에 의해 출력되고, 상기 조작자의 위치 정보의 산출에 사용되는 제2 센서 정보를 취득하는 것과,
    상기 제1 센서 정보를 사용하여 산출되는 상기 조작자의 위치 정보가 미리 설정된 설정 범위에 포함되는 경우, 상기 제2 센서 정보를 사용하여 상기 조작자의 위치 정보를 산출하는 것을, 컴퓨터에 실현시키기 위한 프로그램.
KR1020217012586A 2018-11-27 2019-11-08 정보 처리 장치, 정보 처리 방법 및 프로그램 KR20210093866A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018221420 2018-11-27
JPJP-P-2018-221420 2018-11-27
PCT/JP2019/043841 WO2020110659A1 (ja) 2018-11-27 2019-11-08 情報処理装置、情報処理方法、およびプログラム

Publications (1)

Publication Number Publication Date
KR20210093866A true KR20210093866A (ko) 2021-07-28

Family

ID=70853788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217012586A KR20210093866A (ko) 2018-11-27 2019-11-08 정보 처리 장치, 정보 처리 방법 및 프로그램

Country Status (6)

Country Link
US (1) US20220026981A1 (ko)
EP (1) EP3889737A4 (ko)
JP (1) JPWO2020110659A1 (ko)
KR (1) KR20210093866A (ko)
CN (1) CN113168224A (ko)
WO (1) WO2020110659A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6795471B2 (ja) * 2017-08-25 2020-12-02 ファナック株式会社 ロボットシステム
US11347303B2 (en) * 2018-11-30 2022-05-31 Sony Interactive Entertainment Inc. Systems and methods for determining movement of a controller with respect to an HMD
US20230005182A1 (en) * 2019-12-10 2023-01-05 Nippon Telegraph And Telephone Corporation Estimation method, estimation apparatus and program
US20210405761A1 (en) * 2020-06-29 2021-12-30 Ilteris Canberk Augmented reality experiences with object manipulation
JP7517099B2 (ja) 2020-11-13 2024-07-17 株式会社リコー 情報処理装置、表示システム、情報処理方法およびプログラム
JP7534199B2 (ja) 2020-11-30 2024-08-14 雅貴 桂澤 ゴーグル表示システム
WO2023145019A1 (ja) * 2022-01-28 2023-08-03 株式会社ソニー・インタラクティブエンタテインメント 電子機器、情報処理方法およびプログラム
JP2023168746A (ja) * 2022-05-16 2023-11-29 キヤノン株式会社 情報処理装置、情報処理システム、情報処理方法、プログラム
US11893166B1 (en) * 2022-11-08 2024-02-06 Snap Inc. User avatar movement control using an augmented reality eyewear device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011175439A (ja) 2010-02-24 2011-09-08 Sony Corp 画像処理装置、画像処理方法、プログラム及び画像処理システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1946243A2 (en) * 2005-10-04 2008-07-23 Intersense, Inc. Tracking objects with markers
US8682606B2 (en) * 2008-10-07 2014-03-25 Qualcomm Incorporated Generating virtual buttons using motion sensors
JP2011259384A (ja) * 2010-06-11 2011-12-22 Sharp Corp 撮像装置、表示装置、プログラム及び記録媒体
US10209771B2 (en) * 2016-09-30 2019-02-19 Sony Interactive Entertainment Inc. Predictive RF beamforming for head mounted display
US9529426B2 (en) * 2012-02-08 2016-12-27 Microsoft Technology Licensing, Llc Head pose tracking using a depth camera
JP2015046089A (ja) * 2013-08-29 2015-03-12 ソニー株式会社 情報処理装置および情報処理方法
JP2016192014A (ja) * 2015-03-31 2016-11-10 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP6852673B2 (ja) * 2015-09-09 2021-03-31 ソニー株式会社 センサ装置、センサシステム及び情報処理装置
US10146335B2 (en) * 2016-06-09 2018-12-04 Microsoft Technology Licensing, Llc Modular extension of inertial controller for six DOF mixed reality input
JP2017224984A (ja) * 2016-06-15 2017-12-21 セイコーエプソン株式会社 プログラム、装置、キャリブレーション方法
US20190138795A1 (en) * 2017-11-07 2019-05-09 Ooma, Inc. Automatic Object Detection and Recognition via a Camera System

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011175439A (ja) 2010-02-24 2011-09-08 Sony Corp 画像処理装置、画像処理方法、プログラム及び画像処理システム

Also Published As

Publication number Publication date
WO2020110659A1 (ja) 2020-06-04
US20220026981A1 (en) 2022-01-27
EP3889737A1 (en) 2021-10-06
CN113168224A (zh) 2021-07-23
EP3889737A4 (en) 2022-01-19
JPWO2020110659A1 (ja) 2021-10-14

Similar Documents

Publication Publication Date Title
KR20210093866A (ko) 정보 처리 장치, 정보 처리 방법 및 프로그램
US11796309B2 (en) Information processing apparatus, information processing method, and recording medium
US11083950B2 (en) Information processing apparatus and information processing method
WO2019203189A1 (ja) プログラム、情報処理装置、及び情報処理方法
CN110494792B (zh) 外围设备的视觉跟踪
JP7546116B2 (ja) 拡張現実のためのシステムおよび方法
US10782780B2 (en) Remote perception of depth and shape of objects and surfaces
US11914762B2 (en) Controller position tracking using inertial measurement units and machine learning
US11443540B2 (en) Information processing apparatus and information processing method
US11514604B2 (en) Information processing device and information processing method
US11448884B2 (en) Image based finger tracking plus controller tracking
EP4075786A1 (en) Image processing device, system, image processing method and image processing program
JP2011033489A (ja) モーションキャプチャ用のマーカ
WO2019156990A1 (en) Remote perception of depth and shape of objects and surfaces
Mohareri et al. A vision-based location positioning system via augmented reality: An application in humanoid robot navigation
US20110035172A1 (en) System and method for determining parameters representing orientation of a solid in movement subject to two vector fields
WO2022146858A1 (en) Controller position tracking using inertial measurement units and machine learning
US20230062045A1 (en) Display control device, display control method, and recording medium
US20240175893A1 (en) Information processing apparatus, information processing method, and program
US20240112421A1 (en) System and method of object tracking for extended reality environment
WO2022004483A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP2023178798A (ja) 情報処理装置、コントローラ表示方法およびコンピュータプログラム