KR20240044327A - 제어장치, 제어 방법 및 컴퓨터 판독 가능한 기억 매체 - Google Patents

제어장치, 제어 방법 및 컴퓨터 판독 가능한 기억 매체 Download PDF

Info

Publication number
KR20240044327A
KR20240044327A KR1020230114136A KR20230114136A KR20240044327A KR 20240044327 A KR20240044327 A KR 20240044327A KR 1020230114136 A KR1020230114136 A KR 1020230114136A KR 20230114136 A KR20230114136 A KR 20230114136A KR 20240044327 A KR20240044327 A KR 20240044327A
Authority
KR
South Korea
Prior art keywords
input operation
hand
input
control
information
Prior art date
Application number
KR1020230114136A
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 KR20240044327A publication Critical patent/KR20240044327A/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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/014Hand-worn input/output arrangements, e.g. data gloves
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • 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/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
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/033Indexing scheme relating to G06F3/033
    • G06F2203/0331Finger worn pointing device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computer Hardware Design (AREA)
  • Processing Or Creating Images (AREA)
  • Position Input By Displaying (AREA)

Abstract

제어장치는, 웨어러블 타입의 디바이스인 조작 디바이스에 의한 입력 조작과 핸드 트래킹에 의한 입력 조작을 접수 가능한 접수부; 및 상기 조작 디바이스에 의한 입력 조작과 상기 핸드 트래킹에 의한 입력 조작을 동시에 접수했을 경우에, 미리 정해진 우선도에 근거하여, 상기 조작 디바이스에 의한 입력 조작과 상기 핸드 트래킹에 의한 입력 조작 중 어느 조작을, 정보처리 시스템의 제어에 이용하는 입력 조작으로서, 채용할지 결정하는 결정부를, 구비한다.

Description

제어장치, 제어 방법 및 컴퓨터 판독 가능한 기억 매체{CONTROL DEVICE, CONTROL METHOD, AND COMPUTER-READABLE STORAGE MEDIUM}
본 발명은, 제어장치 및 제어 방법에 관한 것이다.
유저에 가상 현실을 체감시키는 크로스 리얼리티(XR)의 시스템에 있어서, 헤드 마운트 디스플레이(HMD)의 표시를 조작하는 수단으로서, 핸드 콘트롤러와 같은 조작 디바이스를 이용하는 방법이나, 핸드 트래킹을 이용하는 방법 등이 알려져 있다.
전자의 방법에서는, 유저가 조작 디바이스의 위치/자세를 바꾸거나, 조작 디바이스에 설치된 버튼 등의 조작 부재를 조작함으로써, HMD에 대한 입력을 행한다. 이 때문에, 손으로 쥔 형상으로 형성된 조작 디바이스(그립 타입, 핸드 헬드 타입 등이라고 불린다)가 일반적으로 사용되지만, 손이나 손가락에 장착 가능한 소형의 조작 디바이스(웨어러블 타입 등이라고 불린다)도 제안되어 있다(국제공개 제2015/153803호 참조). 후자의 방법에서는, 핸드 트래킹이, 카메라로 촬상한 화상으로부터 유저의 손을 인식하고, 그 손의 위치, 자세, 제스처 등을 입력 조작으로서 파악하도록 행해진다. 예를 들면, 국제공개 제2012/135553호에는, 제스처의 입력에 의한 HMD의 제어 방법이 개시되어 있다.
조작 디바이스를 이용하는 방법은, 조작 디바이스의 오류 조작이 적다(확실한 조작이 쉽다)고 하는 이점이 있고, 핸드 트래킹을 이용하는 방법은, 손이나 손가락으로 직관적인 조작이 가능하다고 하는 이점이 있다. 종래의 XR시스템의 중에는, 조작 디바이스를 이용하는 조작 모드와 핸드 트래킹에 의한 조작 모드간에 전환 가능한 것도 존재한다.
본 발명자는, 조작 디바이스와 핸드 트래킹의 모드를 택일적으로 전환하는 것이 아니고, 조작 디바이스에 의한 조작과 핸드 트래킹에 의한 조작의 어느 쪽도 접수 가능하게 하면, XR시스템의 편리성이나 조작성을 더욱 향상할 수도 있다는 착상을 얻었다. 특히, 웨어러블 타입의 경우는, 조작 디바이스에 의해 손이 숨겨지지 않고(손의 일부가 카메라의 사각 지대에 있지 않고), 조작 디바이스의 이용시에 손이나 손가락을 자유롭게 움직일 수 있다. 이 때문에, 조작 디바이스와 핸드 트래킹을 분명히 병용하기 쉬운 것 같다.
그렇지만, 본 발명자가, 조작 디바이스와 핸드 트래킹의 병용에 있어서 다음과 같은 과제에 직면했다. 예를 들면, 유저가 조작 디바이스를 조작하여 커맨드를 입력할 때에, 조작 디바이스를 보유한(혹은 조작 디바이스가 장착된) 손이 움직이고, 이것이 우연히 핸드 트래킹에 의한 커맨드의 입력으로서 해석될 가능성이 있다. 반대로, 유저가 핸드 제스처를 행할 때에, 그 손이 보유한(혹은 그 손에 장착된) 조작 디바이스의 위치나 자세가 변화되고, 이것이 우연히 조작 디바이스에 의한 커맨드의 입력으로서 해석될 가능성도 있다. 이러한 경우, XR시스템에서는, 조작 디바이스에 의한 커맨드 입력과 핸드 트래킹에 의한 커맨드 입력이 동시에 인식(검지)되게 되어, 제어의 오동작이나 의도하지 않은 거동이 생길 수도 있다.
본 발명은 상기 상황을 감안하여 이루어진 것으로, 조작 디바이스에 의한 입력 조작과 핸드 트래킹에 의한 입력 조작의 병용을 가능하게 하기 위한 기술을 제공한다.
본 개시는, 웨어러블 타입의 디바이스인 조작 디바이스에 의한 입력 조작과 핸드 트래킹에 의한 입력 조작을 접수 가능한 접수부; 및 상기 조작 디바이스에 의한 입력 조작과 상기 핸드 트래킹에 의한 입력 조작을 동시에 접수했을 경우에, 미리 정해진 우선도에 근거하여, 상기 조작 디바이스에 의한 입력 조작과 상기 핸드 트래킹에 의한 입력 조작 중 어느 조작을, 정보처리 시스템의 제어에 이용하는 입력 조작으로서, 채용할지 결정하는 결정부를 구비하는, 제어장치를 포함한다.
본 발명의 추가의 특징들은, 첨부도면을 참조하여 이하의 예시적 실시 형태들의 설명으로부터 명백해질 것이다.
도1은, 정보처리 시스템의 전체구성을 설명하는 도;
도2는, 정보처리 시스템의 내부구성을 설명하는 도;
도3a 내지 3c는, HMD의 표시 예를 도시한 도면;
도4는, 화상처리 장치의 소프트웨어 구성을 도시한 도면;
도5는, 입력 조작의 처리에 이용되는 정보의 예를 도시한 도면;
도6은, 우선도 테이블의 예를 도시한 도면;
도7a 및 7b는, 입력 조작의 처리의 흐름도다.
이하, 첨부 도면을 참조하여 실시 형태를 상세히 설명한다. 또한, 이하의 실시 형태는 청구항에 따른 발명을 한정하려는 것이 아니다. 실시 형태에는 복수의 특징이 기재되어 있지만, 이것들의 모두가 발명에 반드시 필수적인 것은 아니다. 또한, 그 복수의 특징은 임의로 조합되어도 좋다. 더욱이, 첨부 도면에 있어서는, 동일 또는 유사한 구성에 동일한 참조 번호를 첨부하고, 그들의 중복된 설명은 생략한다.
(시스템 전체 구성)
도1을 참조하여, 본 발명의 실시 형태에 따른 정보처리 시스템(1)에 대해서 설명한다. 정보처리 시스템(1)은, HMD(100), 화상처리 장치(110), 및 조작 디바이스(120)를 가진다. 정보처리 시스템(1)은, 현실 세계와 가상 세계를 융합한 유사체험(Cross Reality:XR)을 유저에 제공하는데 사용된 XR시스템이다. XR에는, VR(가상 현실), AR(확장 현실), MR(복합 현실), SR(대체 현실)등이 포함되지만, 정보처리 시스템(1)은 어떤 타입의 XR콘텐츠에도 적용가능하다.
HMD(100)는, 유저의 두부(130)에 장착되는 두부장착형의 표시장치(전자기기)이다. HMD(100)에는, 예를 들면, HMD(100)가 유저의 정면의 범위를 촬상한 촬상 화상과, HMD(100)의 자세에 대응한 모드의 컴퓨터 그래픽(CG) 등의 콘텐츠가 합성된, 합성 화상이 표시된다.
화상처리 장치(110)는, HMD(100)의 제어, HMD(100)에 탑재된 카메라로 촬영된 촬상 화상의 처리, CG등의 콘텐츠의 생성, 및 HMD(100)에 표시된 합성 화상의 생성 등의 처리를 행할 책임이 있는 제어장치(전자기기)이다. 화상처리 장치(110)는, CPU(프로세서)와 메모리를 구비하는 컴퓨터에 의해 구성된다. 예를 들면, 스마트 폰, 태블릿 단말, 퍼스널 컴퓨터(PC), 비디오 게임기기 등을 화상처리 장치(110)로서 이용가능하다. 화상처리 장치(110)는, 무선 또는 유선 방식으로 HMD(100)에 접속된다. 화상처리 장치(110)는, 촬상 화상과 CG를 합성하여서 합성 화상을 생성하고, 그 합성 화상을 HMD(100)에 송신한다. 또한, 화상처리 장치(110)의 각 구성이 HMD(100)에 내장되어 있어도 좋다.
조작 디바이스(120)는, HMD(100)에 대한 지시(커맨드)의 입력을 행하는 데 사용된 장치다. 정보처리 시스템(1)이 특정한 제어 모드이면, 유저가 조작 디바이스(120)를 이용하여 미리 결정된 입력 조작(액션)을 행하면, 그 입력 조작에 대응한 커맨드가 정보처리 시스템(1)에 의해 접수되어, HMD(100) 또는 화상처리 장치(110)가 제어된다.
조작 디바이스(120)는, "핸드 콘트롤러" 또는 간단히 "콘트롤러"라고도 불린다. 유저의 손으로 움켜잡은(잡은) 형상으로 형성된 콘트롤러는, 그립 타입 콘트롤러 혹은 핸드 헬드 타입 콘트롤러 등이라고도 불린다. 유저의 손이나 손가락에 장착된 상태에서 이용된 콘트롤러는, 웨어러블 타입 콘트롤러 등이라고도 불린다. 본 실시 형태에서는, 예를 들면, 도1에 도시한 바와 같이, 유저의 손가락에 장착 가능하도록, 링(ring)형의 조작 디바이스(120)를 사용한다. 조작 디바이스(120)가 유저의 손가락에 장착가능하면, 유저는 조작 디바이스(120)를 보유하면서도 자유롭게 손이나 손가락을 움직일 수 있음과 아울러, 조작 디바이스(120)에 의해 손이 숨겨질 가능성이 없다고 하는 이점이 있다. 조작 디바이스(120)는, "옵티컬 트랙 패드"(이하, "OTP"라고 부른다)를 내장한 버튼을 가진다. 조작 디바이스(120)는, Bluetooth(등록상표)에 의한 무선통신을 화상처리 장치(110)와 행한다.
또한, 조작 디바이스(120)의 형상은 상술한 것처럼 링형이지만, 이것에 한정되는 것이 아니다. 예를 들면, 조작 디바이스(120)의 형상은, 글로브형과 같은 손에 장착가능한 형상이나 손목 시계형(팔찌형)과 같이 손목에 장착가능한 형상이여도 좋다. 이렇게, 조작 디바이스(120)는, 유저가 사용하기 쉽도록, 유저의 손에 의해 보유 가능, 또는 손이나 손목에 장착가능한 형상을 가져도 좋다. 도1에는 1개의 조작 디바이스(120)만 도시되어 있다. 그렇지만, HMD(100)를 조작하기 위해 조작 디바이스를 복수 설치해도 좋다. 예를 들면, 오른손용의 조작 디바이스와 왼손용의 조작 디바이스를 설치해도 좋거나, 복수의 손가락(예를 들면, 엄지 손가락과 집게 손가락 등)에 조작 디바이스를 장착해도 좋다.
조작 디바이스(120)는, 유저가 물리적 접촉에 의해 조작을 행하는 것이 가능하면, OTP 대신에, 어떠한 조작 부재를 구비하여도 좋다. 예를 들면, 조작 디바이스(120)는, OTP 대신에, 터치 패드, 터치패널, 십자 키, 버튼, 조이스틱, 및 트랙 패드 장치 중 임의의 것을 구비해도 좋다. 혹은, 조작 디바이스(120)에 의한 조작으로서, 조작 디바이스(120)자신의 위치 및/또는 자세의 변화만을 사용하면, OTP 또는 기타의 조작 부재는 설치되지 않아도 좋다.
(HMD의 내부구성)
도2를 참조하여, HMD(100)의 내부구성을 설명한다. HMD(100)는, HMD제어부(201), 촬상부(202), 화상표시부(203) 및 자세 센서부(204)를 가진다.
HMD제어부(201)는, HMD(100)의 각 구성을 제어한다. HMD제어부(201)는, 화상처리 장치(110)로부터 합성 화상(촬상부(202)가 유저의 정면의 공간을 촬상한 촬상 화상과, CG가 합성된, 화상)을 취득하면, 그 합성 화상을 화상표시부(203)에 표시한다. 유저는, HMD(100)를 장착한 화상표시부(203)에 표시되는 합성 화상을 볼 수 있다. 유저는, 현실공간에 CG가 융합한 것 같은, 여러 가지 복합 현실을 체험할 수 있다.
촬상부(202)는, 2대의 카메라(촬상 장치)를 구비해도 좋다. 2대의 카메라는, 유저가 통상시에 본 공간과 같은 공간을 촬상하기 위해서, HMD(100)가 유저에 장착시에, 유저의 좌우 각각의 눈의 위치에 가깝게 배치된다. 2대의 카메라가 피사체(유저의 정면의 범위)를 촬상한 화상은, 화상처리 장치(110)에 출력된다. 또한, 촬상부(202)의 2대의 카메라는, 스테레오 카메라에 의거한 측거에 의해, 2대의 카메라로부터 피사체까지의 거리의 정보를 거리정보로서 취득할 수 있다.
화상표시부(203)는, 합성 화상을 표시한다. 화상표시부(203)는, 예를 들면, 액정 패널 또는 유기EL패널 등으로 이루어진 표시 패널을 가진다. 유저가 HMD(100)를 장착하고 있는 상태에서는, 유저의 좌우 각각의 눈앞에 표시 패널이 배치된다.
자세 센서부(204)는, HMD(100)의 자세 (및 위치)를 검출한다. 그리고, 자세 센서부(204)는, HMD(100)의 자세 (및 위치)에 대응하는, 유저(HMD(100)을 장착한 유저)의 자세를 검출(취득)한다. 자세 센서부(204)는, 관성계측장치(IMU)를 가진다. 자세 센서부(204)는, 유저의 자세의 정보(자세정보)를, 화상처리 장치(110)에 출력한다.
(화상처리 장치의 내부구성)
도2를 참조하여, 화상처리 장치(110)의 내부구성을 설명한다. 화상처리 장치(110)는, 제어부(211), 콘텐츠 데이터베이스(DB)(212) 및 통신부(213)를 가지는 제어장치다.
제어부(211)는, 촬상부(202)가 취득한 화상(촬상 화상)과, 자세 센서부(204)가 취득한 자세정보를, HMD(100)로부터 받는다. 제어부(211)는, 촬상부(202)의 광학계와 화상표시부(203)의 광학계 사이의 수차를 캔슬하는 화상처리를, 상기 촬상 화상에 행한다. 그리고, 제어부(211)는, 촬상 화상과 임의의 CG를 합성하여, 합성 화상을 생성한다. 제어부(211)는, HMD(100)에 있어서의 HMD제어부(201)에 그 합성 화상을 송신한다.
또한, 제어부(211)는, HMD(100)가 취득한 정보(거리정보 및 자세정보)에 근거하여, 합성 화상에 있어서의 CG의 위치, 방향, 및 크기를 제어한다. 예를 들면, 제어부(211)는, 합성 화상이 표현한 공간에 있어서, 현실공간에 존재하는 특정한 물체에 가깝게, CG로서 나타낸 가상 물체를 배치할 경우에는, 특정한 물체와 촬상부(202) 사이의 거리가 가까울수록 가상 물체(CG)를 크게 설정한다. 이렇게 CG의 위치, 방향 및 크기를 제어함으로써, 제어부(211)는, 마치 현실공간에 존재하지 않는 CG의 가상 물체가 현실공간에 배치되어 있는 것처럼 합성 화상을 생성할 수 있다.
또한, 제어부(211)는, 조작 디바이스(120)에 의한 입력 조작의 접수, HMD(100)로부터 취득된 촬상 화상을 사용한 핸드 트래킹에 의한 입력 조작의 접수, 입력 조작에 근거하는 HMD(100)의 표시의 제어 등을 행한다. 입력 조작에 관한 처리의 상세한 것은 후술한다.
콘텐츠DB(212)는, CG등의 정보를 기억하는 기억부다. 또한, 제어부(211)는, 콘텐츠DB(212)로부터 판독된 CG(즉, 합성 화상의 생성에 사용하는 CG)를 전환하는 것이 가능하다.
(조작 디바이스의 내부구성)
도2를 참조하여, 조작 디바이스(120)의 내부구성을 설명한다. 조작 디바이스(120)는, 제어부(221), 조작부(222), 통신부(223) 및 움직임 검출부(224)를 가진다.
제어부(221)는, 조작 디바이스(120)의 각 구성을 제어한다. 제어부(221)는, 소형의 범용 프로세서, 메모리 및 프로그램으로 구성되어도 좋고, 전용의 마이크로프로세서 또는 ASIC등으로 구성되어도 좋다.
조작부(222)는, OTP를 내장한 버튼을 구비한다. 조작부(222)에 있어서의 OTP에 대한 누름이나 손가락의 슬라이드의 정보(조작 정보)는, 통신부(223)를 통해 화상처리 장치(110)에 송신된다.
예를 들면, 유저는, OTP에 있어서의 손가락의 슬라이드에 의해, HMD(100)에 표시된 포인터를 미리 결정된 위치에 이동시킬 수 있다. 또한, 유저는, OTP의 버튼을 누름으로써, HMD(100) 또는 화상처리 장치(110)에 특정한 처리를 지시할 수 있다. 이렇게, 유저는, OTP에 있어서의 손가락의 슬라이드와 버튼의 누름과의 조합에 의해, HMD(100)를 제어할 수 있다.
통신부(223)는, 화상처리 장치(110)(통신부 213)와의 무선통신을 행한다.
움직임 검출부(224)는, 조작 디바이스(120)의 관성정보(공간적 이동량이나 각도)를 검출할 수 있는 관성계측장치(IMU)(관성 센서)를 가진다. 본 실시 형태에서는, 3축(x, y, z)의 가속도 센서와 3축의 자이로 센서를 구비하고, x, y, z방향의 운동과 x, y, z축주변의 회전의 6자유도의 관성정보를 취득 가능한 IMU를 사용한다. 관성정보는, 통신부(223)를 통해 화상처리 장치(110)에 송신된다. 또한, 움직임 검출부(224)는, 조작 디바이스(120)의 소형화를 저해하지 않는 장치이며, 관성정보(위치 변위, 속도, 및 가속도 등의 정보)를 검출할 수 있는 장치이면, 어떠한 장치를 가지고 있어도 좋다.
(핸드 트래킹 및 조작 디바이스에 의한 조작)
본 실시 형태의 정보처리 시스템(1)은, 조작 디바이스(120)에 의한 조작과 핸드 트래킹에 의한 조작과의 양쪽을 지원한다.
조작 디바이스(120)에 의한 조작은, 유저가 조작 디바이스(120)의 위치나 자세를 바꾸거나, 조작 디바이스(120)에 설치된 OPT등의 조작 부재를 조작하는 방식으로, HMD(100)에 대한 커맨드(지시)를 입력하는 방법을 말한다. 조작 디바이스(120)에 의한 입력 조작의 종류에는, 예를 들면, 하기와 같은 베리에이션이 있다.
*조작 디바이스(120)를 미리 결정된 위치 또는 영역에 이동시키는 것
*조작 디바이스(120)를 미리 결정된 방향으로 움직이는 것(병진운동)
*조작 디바이스(120)를 미리 결정된 궤적을 그리도록 움직이는 것
*조작 디바이스(120)를 미리 결정된 속도조건으로 움직이는 것(예를 들면, 조작 디바이스(120)를 천천히 이동시키는 것, 조작 디바이스(120)를 재빠르게 기울이는 것 등)
*조작 디바이스(120)를 (미리 결정된 자세를 갖게) 미리 결정된 방향으로 돌리는 것(회전)
*버튼을 누르는 것(누름, 반누름, 긴 누름, 더블 클릭, 복수의 버튼의 동시 누름 등)
*OPT나 십자 키 등의 조작 부재로 방향을 지시하는 것
핸드 트래킹에 의한 조작은, 유저의 손 혹은 손가락의 위치, 자세 또는 움직임에 따라, HMD(100)에 대한 커맨드(지시)를 입력하는 방법을 말한다. HMD(100)의 촬상부(202)로 촬상한 화상으로부터, HMD(100)를 장착하는 유저의 손을 검출하고, 손의 위치, 자세나 움직임(제스처)등을 파악할 때, 핸드 트래킹에 의한 입력 조작이 인식된다. 핸드 트래킹에 의한 입력 조작의 종류에는, 예를 들면, 하기와 같은 베리에이션이 있다.
*손을 미리 결정된 위치 또는 영역에 이동시키는 것
*손을 미리 결정된 방향으로 이동시키는 것
*손을 미리 결정된 궤적을 그리도록 움직이는 것
*손을 미리 결정된 속도조건으로 움직이는 것(예를 들면, 손을 천천히 이동시키는 것, 손을 재빠르게 기울이는 것 등)
*손을 (미리 결정된 자세를 갖게) 미리 결정된 방향으로 돌리는 것
*손이나 손가락으로 미리 결정된 형상을 형성하는 것(예를 들면, 썸즈업(thumbs-up), 피스 사인(peace sign) 등)
*손이나 손가락으로 미리 결정된 움직임을 행하는 것(예를 들면, 핀칭, 클렌칭, 웨이빙 등)
정보처리 시스템(1)(화상처리 장치110)은, 조작 디바이스(120)나 핸드 트래킹에 의한 "입력 조작"을 접수하면(인식하면), 그 입력 조작을 "커맨드"로 변환하고, 이 커맨드에 근거하는 HMD(100)의 제어를 행한다. 커맨드란, 정보처리 시스템(1)(HMD(100))에 대한 제어 지시다. 예를 들면, HMD(100)에 표시된 GUI의 조작이나 가상 물체에 대한 조작을 위해 사용된, 추상적 지시(예를 들면 "SELECT", "NEXT", "MOVE"등)가 커맨드로서 준비되어도 좋다.
예를 들면, 유저가 조작 디바이스(120)의 버튼을 장기간 눌러 HMD(100)에 메뉴를 표시시키는 것과, OTP를 조작해서 원하는 항목에 포인터를 이동한 후 OTP의 버튼을 누르는 것과, 해당 항목의 선택을 결정하는 것을 행할 수 있다. 또한, 유저는, 같은 조작을 핸드 트래킹만으로 실현하는 것도 가능하다. 게다가, 유저는, 조작 디바이스(120)의 조작을 통해 메뉴를 표시하고, 핸드 트래킹에 의해 항목의 선택이나 결정을 행하여도 좋다. 이렇게 하여, 유저는, 조작 디바이스(120)에 의한 조작과 핸드 트래킹에 의한 조작을 조합하는 것도 가능하다.
입력 조작과 커맨드간의 대응 관계(매핑)는, 후술하는 것 같이, 미리 정보처리 시스템(1)에서 설정되어 있다. 정보처리 시스템(1)은, 이 설정에 따라, 접수한 입력 조작을 커맨드로 변환(번역)한다. 또한, 입력 조작과 커맨드간의 대응 관계는 유저에 의해 자유롭게 설정되어도 좋다. 또한, 같은 움직임이여도, 오른손으로 조작을 행했을 경우와, 왼손으로 조작을 행했을 경우와, 양손으로 조작을 행했을 경우의 각각은, 상이한 커맨드에 할당되어도 좋다. 상술한 것처럼, 조작 디바이스(120)에 의한 입력 조작도 핸드 트래킹에 의한 입력 조작도 여러 가지 종류가 있지만, 정보처리 시스템(1)은 그 모든 종류에 대응할 필요는 없다. 정보처리 시스템(1)은, 용도, 기능 또는 콘텐츠에 따라, 접수 가능한(인식 가능한) 입력 조작을 적절히 구현해도 좋다.
(핸드 트래킹에 의한 조작의 예)
우선, 유저의 손의 위치에 대응한 핸드 트래킹을 사용하여, HMD(100)를 제어하는 예에 대해서 설명한다.
화상처리 장치(110)의 제어부(211)는, 촬상 화상에 반영된 유저의 손의 색 및 형상에 근거하여, 손의 위치, 자세 및 손가락의 움직임을 판정(인식)한다. 그리고, 제어부(211)는, 합성 화상이 표현하는 공간에 있어서의 손의 위치(예를 들면, 손의 손가락과 CG와의 거리)에 따라서 HMD(100)를 제어한다. 화상으로부터 손과 손가락을 인식하는 수법에는, 어떠한 알고리즘을 사용해도 좋다. 예를 들면, 서포트 벡터 머신으로 대표된 고전적인 기계학습을 사용해도 좋고, R-CNN등의 심층학습을 기초로 한 알고리즘을 사용해도 좋거나, 룰 베이스의 알고리즘을 사용해도 좋다.
제어부(211)는, 예를 들면, 도3a에 도시한 바와 같이, 3개의 선택지를 나타내는 패널 301∼303의 CG를 합성 화상에 표시하고, 합성 화상이 표현하는 공간에 있어서의 3개의 패널 301∼303과 손의 집게 손가락의 손끝과의 거리를 산출한다. 그리고, 제어부(211)는, 3개의 패널 301∼303중 어느 하나와 해당 손끝과의 거리가 미리 결정된 거리이하인 상태가 미리 결정된 시간보다 오래 계속될 경우에, 해당 패널이 선택되었다고 판정한다. 그리고, 제어부(211)는, 선택된 패널에 대응한 결정 처리를 행한다. 도3a의 예에서는, 유저의 오른손의 집게 손가락의 손끝이 패널(302) 위에 놓여 있다. 이 상태가 예를 들면 1초이상 계속되었을 경우에, 제어부(211)는, 패널(302)을 선택하는 커맨드(지시)가 입력되었다고 해석하여, 패널(302)에 할당된 처리B를 행한다.
그 다음에, 도3b를 참조하여, 유저의 손의 방향에 대응한 가상적인 광선을 사용하여, HMD(100)를 제어하는 예를 설명한다. 제어부(211)는, 유저의 손의 방향의 연장선상에 가상적인 광선의 위치에 따라 HMD(100)를 제어한다.
화상처리 장치(110)의 제어부(211)는, 촬상 화상에 반영된 유저의 손의 색 및 형상에 근거하여, 손의 방향을 판정(인식)한다. 이때, 제어부(211)는, 도3b에 도시한 바와 같이, 손이 지시하는 방향으로 연장되는 광선의 CG를 화상표시부(203)에 표시한다. 그리고, 제어부(211)는, 그 광선이 향하는 위치에 포인터를 표시(이동)시킨다. 이 때문에, 유저는, 손의 방향을 바꾸는 것에 의해, 광선의 위치 및 방향, 및, 포인터의 위치를 변경할 수 있다. 도3b의 예에서는, 오른손의 광선 310의 포인터 311이 패널 302를 지시하고, 왼손의 광선 320의 포인터 321이 패널 301을 지시하고 있다.
도3c에 도시한 바와 같이, 패널 301상에 포인터 321이 표시된 상태에서 유저가 왼손으로 핀치 제스처(손가락으로 집는 동작)를 행하면, 제어부(211)는 해당 패널 301이 선택되었다고 판정한다. 그리고, 제어부(211)는, 선택된 패널 301에 대응한 결정 처리를 행한다. 핀치 제스처를 일례로서 설명했지만, 유저는 핀치이외의 핸드 제스처로 선택 동작을 행해도 좋다.
유저의 손에 장착된 조작 디바이스(120)에 설치된 관성계측장치(IMU)(관성 센서)로부터 취득된 정보를, 광선의 방향의 제어에 이용해도 좋다. 예를 들면, 제어부(211)는, 핸드 트래킹에 의해 취득된 손의 방향의 정보 대신에, IMU로부터 취득된 조작 디바이스(120)의 방향의 정보를 사용하여, 광선의 방향을 결정해도 좋다. 혹은, 상기 제어부는, IMU로부터 취득된 조작 디바이스(120)의 기울기나 가속도의 정보와 화상으로부터 판정한 손가락의 방향 등의 정보의 양쪽에 근거하여, 유저가 지시한 방향과 광선이 연장되는 방향과의 일치율을 향상시켜도 좋다.
(화상처리 장치(110)의 소프트웨어 플랫폼의 구성)
다음에, 도4를 참조하여, 실시 형태에 따른 화상처리 장치(110)의 소프트웨어 구성을 설명한다.
플랫폼(402)은, 예를 들면 Google사의 Android(등록상표)나 Linux(등록상표)등의 OS(401)상에 구성되어도 좋다. 플랫폼(402)은, 각종 하드웨어를 제어하기 위한 디바이스 드라이버 군을 구비하고, 플랫폼(402)에서 동작하는 애플리케이션(406)에 대하여 각종 하드웨어를 이용하기 위한 API를 제공한다. 디바이스 드라이버 군으로서, Bluetooth(등록상표) 제어부(403)가 존재한다. 또한, 플랫폼(402)은, 애플리케이션(406)에 대하여, 조작 디바이스 제어부(404)와 핸드 트래킹 제어부(405)가 검출한 데이터를 바탕으로 생성되는 여러 가지 종류의 입력 조작 정보를 제공하는 기능도 가진다. 화상처리 장치(110)에는 여러 가지의 애플리케이션(406)을 인스톨하고, OS(401) 및 플랫폼(402)상에서 가동시킬 수 있다.
애플리케이션(406)은, 입력 조작 매핑부(407), 이벤트 처리부(408) 및 콘텐츠DB(409)를 포함한다. 입력 조작 매핑부(407)는, 조작 디바이스(120) 또는 핸드 트래킹에 의한 입력 조작(액션)을, 정보처리 시스템(1)에 대한 제어 지시를 표현하는 추상적 정보(커맨드)로 변환하는 변환부다. 이벤트 처리부(408)는, 입력 조작 매핑부(407)로부터 커맨드를 접수하면, 그 커맨드에 대응한 처리를 행하는 기능을 제공한다. 콘텐츠DB 409는, 도2에 도시된 콘텐츠DB 212와 같은 것이며, HMD(100)에 표시하기 위한 가상 물체의 CG나 GUI등을 기억한다.
조작 디바이스 제어부(404) 및/또는 핸드 트래킹 제어부(405)로부터의 입력 조작 정보는, 입력 조작 매핑부(407)에 통지되어, 미리 정해진 추상적 정보(커맨드)로 변환된다. 예를 들면, 입력 조작 매핑부(407)는, 제1의 조작 디바이스의 A버튼을 눌렀다고 하는 정보를, 추상적 정보 "SELECT"로 변환한다. 추상적 정보는, 애플리케이션의 이벤트 처리부(408)에 통지된다. 제1의 조작 디바이스와 상이한 제2의 조작 디바이스에 대응할 경우에, 입력 조작 매핑부(407)는, 제2의 조작 디바이스의 B버튼을 눌렀다고 하는 정보를 정보 "SELECT"에 할당하여도 좋다. 따라서, 상기 애플리케이션은 복수의 조작 디바이스, 다양한 조작 디바이스에의 대응을 쉽게 하고 있다.
도5는, 입력 조작 매핑부(407)가 보유하는 입력 매핑 정보(412)의 예, 조작 디바이스 제어부(404)가 보유하는 조작 디바이스 정보(410)의 예, 및, 핸드 트래킹 제어부(405)가 보유하는 핸드 트래킹 정보(411)의 예를 도시한다. 도3b에 도시한 바와 같이, 오른손이 조작 디바이스(120)에 의한 광선 조작을 행하고, 왼손이 조작 디바이스를 갖지 않고 손의 방향에 따른 광선 조작을 행하는 경우를, 일례로서 설명한다.
조작 디바이스 제어부(404)는, 조작 디바이스 정보(410)로서, 조작 디바이스(120)의 명칭, 조작 디바이스가 보유/장착하고 있는 손(오른손/왼손), 버튼의 누름 상태, OTP의 조작 상태, 광선 표시용의 삼차원 위치 및 자세, 조작 디바이스 표시용의 삼차원 위치 및 자세를 가진다. 버튼의 누름 상태, OTP의 조작 상태, 삼차원 위치 및 자세 등의 정보는, 조작 디바이스(120)의 조작이 행해진 타이밍 또는 일정한 시간간격(예를 들면 IMU의 출력 레이트)으로 갱신된다. 광선 표시용의 위치 및 자세는 광선 표시용에 이용하고, 조작 디바이스 표시용의 위치 및 자세는 CG로 조작 디바이스를 표시할 때에 이용한다. 조작 디바이스가 보유/장착된 손은, 조작 디바이스(120)가 오른손용 또는 왼손용인지에 근거하여 결정된다. 조작 디바이스(120)가 모두 오른손용과 왼손용이면, 손은, 유저가 수동으로 설정한 정보를 기초로 결정해도 좋고, 촬상 화상을 기초로 자동 판별해도 좋다. 조작 디바이스(120)에 탑재되는 조작 부재, 센서 등의 구성에 따라, 보유된 조작 디바이스 정보는 다르다.
핸드 트래킹 제어부(405)는, 핸드 트래킹 정보(411)로서, 오른손, 왼손 각각에 있어서, 광선 표시용의 삼차원 위치 및 자세, 손의 제스처, 및 관절위치의 삼차원 위치를 가진다. 광선 표시용의 위치 및 자세는 광선 표시용에 이용된다. 핸드 트래킹 정보(411)는, 일정한 시간간격(예를 들면 촬상부(202)의 프레임 레이트)으로 갱신된다.
입력 조작 매핑부(407)는, 입력 매핑 정보(412)로서, 오른손, 왼손 각각에 대해서, 조작 디바이스(120) 및 핸드 트래킹으로부터 접수하는 입력 조작 정보와, 커맨드와의 대응 관계를 정의하는 테이블을 가진다.
여기에서는, 조작 디바이스(120)로서, XX콘트롤러와 YY콘트롤러의 2개가 이용 가능하다. "XX콘트롤러(RIGHT)"는, XX콘트롤러가 유저의 오른손에 보유 또는 장착되어 있는 것을 의미하고, "XX콘트롤러(LEFT)"는, XX콘트롤러가 유저의 왼손에 보유 또는 장착되어 있는 것을 의미한다. YY콘트롤러에 대해서도 마찬가지다.
도5의 조작 디바이스 정보(410)는, 유저가 오른손에 XX콘트롤러를 장착하고 있고, 버튼 및 OTP는 조작하지 않고 있는 상태를 도시하고 있다. YY콘트롤러는 유저에 의해 사용되어 있지 않으므로, 조작 디바이스 정보(410)에 YY콘트롤러에 관한 정보가 포함되어 있지 않다. 또한, 도5의 핸드 트래킹 정보(411)는, 유저의 오른손과 왼손의 양쪽이 인식되고, 오른손도 왼손도 오픈 제스처(오른손과 왼손을 펴다)를 하고 있는 상태를 나타내고 있다.
우선, 왼손의 입력 매핑 정보(412)에 대해서 설명한다. 입력 조작 매핑부(407)는, XX콘트롤러(LEFT)의 버튼A 누름, YY콘트롤러(LEFT)의 버튼B 누름, 핸드 트래킹(왼손)의 핀치 제스처의 어느 하나를 접수하면, 그 조작을 "SELECT" 커맨드로 변환한다. "SELECT"커맨드는, 이벤트 처리부(408)에 통지된다. 이벤트 처리부(408)는, "SELECT"커맨드를 받으면, 왼손의 포인터(321)가 지시하는 항목이나 가상 물체 등을 선택하는 처리를 행한다. XX콘트롤러(LEFT)의 광선 표시용의 삼차원 위치 및 자세, YY콘트롤러(LEFT)의 광선 표시용의 삼차원 위치 및 자세, 핸드 트래킹(왼손)의 광선 표시용의 삼차원 위치 및 자세는, "POINTER POSE" 커맨드로 변환된다. "POINTER POSE"커맨드는 삼차원 위치 및 자세정보와 함께 이벤트 처리부(408)에 통지되어, 왼손의 광선(320) 및 포인터(321)의 제어에 이용된다.
도5의 조작 디바이스 정보(410)의 예에서는, 왼손에 관련된 입력 조작은 발생하지 않는다(오른손에 보유 및 장착된 조작 디바이스밖에 없기 때문). 도5의 핸드 트래킹 정보(411)의 예에서는, 왼손에 관련된 입력 조작으로서, 핸드 트래킹(왼손)의 제스처 및 광선 표시용의 삼차원 위치 및 자세가 검지될 수 있다. 예를 들면, 왼손의 위치 및 자세에 따라서 핸드 트래킹 정보(411)의 왼손의 광선 표시용의 삼차원 위치 및 자세가 갱신된다. 그리고, 입력 조작 매핑부(407)가 "POINTER POSE"커맨드를 발행하고, 이벤트 처리부(408)가 왼손의 광선(320) 및 포인터(321)의 묘화 위치를 갱신한다. 유저가 왼손으로 핀치 제스처를 행한 것이 검지되면, 핸드 트래킹 정보(411)의 왼손의 제스처의 정보가 "핀치"로 갱신된다. 그리고, 입력 조작 매핑부(407)가 "SELECT"커맨드를 발행하고, 이벤트 처리부(408)가 왼손의 포인터(321)에 놓인 항목이나 가상 물체를 선택하는 처리를 행한다.
그 다음에, 오른손의 입력 매핑 정보(412)에 대해서 설명한다. XX콘트롤러(RIGHT)의 버튼A 누름, YY콘트롤러(RIGHT)의 버튼B 누름, 핸드 트래킹(오른손)의 핀치 제스처의 어느 하나가 발생했을 경우에는, 입력 조작 매핑부(407)는 그 조작을 "SELECT"커맨드로 변환한다. "SELECT"커맨드는 이벤트 처리부(408)에 통지된다. 이벤트 처리부(408)는, "SELECT"커맨드를 받으면, 오른손의 포인터(311)가 지시하는 항목이나 가상 물체 등을 선택하는 처리를 행한다. XX콘트롤러(RIGHT)의 광선 표시용의 삼차원 위치 및 자세, YY콘트롤러(RIGHT)의 광선 표시용의 삼차원 위치 및 자세, 핸드 트래킹(오른손)의 광선 표시용의 삼차원 위치 및 자세는, "POINTER POSE"커맨드로 변환된다. "POINTER POSE"커맨드는 삼차원 위치 및 자세정보와 함께 이벤트 처리부(408)에 통지되어, 오른손의 광선(310) 및 포인터(311)의 제어에 이용된다.
도5의 조작 디바이스 정보(410)의 예에서는, 오른손에 관련된 입력 조작으로서, XX콘트롤러의 버튼A 누름 및 광선 표시용의 삼차원 위치 및 자세가 검지될 수 있다. 도5의 핸드 트래킹 정보(411)의 예에서는, 핸드 트래킹(오른손)의 제스처 및 광선 표시용의 삼차원 위치 및 자세가 검지될 수 있다.
본 실시 형태에서는, 입력 매핑 정보(412)에 있어서, XX콘트롤러(RIGHT)의 광선 표시용의 삼차원 위치 및 자세와 핸드 트래킹(오른손)의 광선 표시용의 삼차원 위치 및 자세는, 어느 쪽도 오른손의 "POINTER POSE"에 할당되어 있다. 예를 들면, 유저가 오른손을 움직이면, 오른손에 보유 및 장착된 XX콘트롤러의 광선 표시용의 삼차원 위치 및 자세의 변화와, 핸드 트래킹(오른손)의 광선 표시용의 삼차원 위치 및 자세의 변화가, 동시에 검지될 수 있다. 이때, XX콘트롤러의 조작 디바이스 정보(410)로부터 취득된 삼차원 위치 및 자세의 값과, 오른손의 핸드 트래킹 정보(411)로부터 취득된 삼차원 위치 및 자세의 값이 일치하면 문제가 없지만, 실제로는, 이들 값간에 차이가 있다. 그 때문에, 제어량에 상당하는 삼차원 위치 및 자세의 값이 상이한 2개의 "POINTER POSE"커맨드, 즉, 모순하는 내용의 2개의 커맨드(제어 지시)가 동시에 발행될 수 있다. 이처럼, "동시에 발행될(검지될) 가능성이 있고, 또한, 서로 모순하는 커맨드로서 해석될 수 있는 복수의 입력 조작"을, 이하, "경합 관계에 있는 입력 조작"이라고 말한다. 경합 관계에 있는 복수의 입력 조작을 접수하면, 제어의 오동작이나 의도하지 않은 거동이 일어날 가능성이 있다.
본 실시 형태의 정보처리 시스템(1)에서는, 경합 관계에 있는 입력 조작의 조에 대하여, 미리 우선도(우선순위)를 설정해 둔다. 그리고, 정보처리 시스템(1)은, 경합 관계에 있는 복수의 입력 조작을 동시에 접수했을 경우에, 미리 설정된 우선도에 근거하여, 접수한 입력 조작 중 어느 조작을 채용할지 판단한다. 간단하게는, 접수한 복수의 입력 조작 중에서 가장 우선도가 높은 1개의 입력 조작을 채용하면 좋다. 단, 입력 조작을 채용하는 방법은 이것에 한정되지 않는다. 우선도에만 의존하는 대신에, 우선도를 포함하는 복수의 평가 지표를 사용하여 입력 조작을 채용하여도 좋다. 혹은, 우선도에 대응한 가중치로 복수의 입력 조작을 합성해도 좋다.
도6은, 우선도의 설정 예로서, 우선도와 입력 조작과 커맨드간의 대응 관계를 정의하는 우선도 테이블의 일례를 도시하고 있다. 오른손의 "POINTER POSE"에 할당된 3개의 입력 조작에 대하여, 우선도 1∼우선도 3이 설정되어 있다. 또한, 경합 관계에 있는 입력 조작의 다른 조가 존재할 경우는, 조마다 우선도 테이블이 준비된다.
이 우선도 테이블은, 유저가 설정하여도 좋거나, 애플리케이션 작성자가 애플리케이션 작성시에 설정하여도 좋다. 혹은, 이러한 우선도 테이블을 사용하는 대신에, 핸드 트래킹에 의한 입력 조작보다도 조작 디바이스(120)에 의한 입력 조작쪽을 항상 우선한다고 하는 룰이 규정되어도 좋다. 이 우선도를 기초로 한 판단은, 플랫폼(402)에서 행해도 좋거나, 애플리케이션(406)(입력 조작 매핑부 407 또는 이벤트 처리부 408)에서 행해도 좋다.
(입력 조작의 처리 예)
그 다음에, 도7a 및 도7b의 흐름도를 따라, 본 실시 형태에 있어서의 입력 조작의 처리의 일례를 설명한다. 도7a 및 도7b에 도시된 처리는, 화상처리 장치(110)에 의해 미리 결정된 사이클로 반복적으로 행해진다.
스텝S701에서는, 조작 디바이스 제어부(404)가, 조작 디바이스(120)로부터 취득한 정보에 근거하여, 조작 디바이스 정보(410)를 갱신한다. 이때, 조작 디바이스 제어부(404)는, 조작 디바이스(120)로부터 취득되는 관성정보로부터 조작 디바이스(120)의 위치 및 자세를 추정하고, 광선 표시용의 삼차원 위치 및 자세와 조작 디바이스 표시용의 삼차원 위치 및 자세를 계산한다. 이 스텝S701의 처리가, 조작 디바이스(120)에 의한 입력 조작을 접수하는 것에 해당한다.
스텝S702에서는, 핸드 트래킹 제어부(405)가, HMD(100)의 촬상부(202)로 촬상된 화상으로부터 유저(HMD(100)의 장착자)의 오른손 및 왼손 각각의 위치, 자세, 관절위치, 제스처 등의 추정을 행한다. 그리고, 핸드 트래킹 제어부(405)는, 추정 결과에 근거하여, 핸드 트래킹 정보(411)를 갱신한다. 이 스텝S702의 처리가, 핸드 트래킹에 의한 입력 조작을 접수하는 것에 해당한다.
스텝S703에서는, 입력 조작 매핑부(407)가, 스텝S701 및 스텝S702에서 접수한 조작 디바이스(120)에 의한 입력 조작 및 핸드 트래킹에 의한 입력 조작의 배타 제어를 행한다. 입력 조작의 배타 제어는, 서로 경합하는 복수의 입력 조작을 동시에 접수했을 경우에, 복수의 입력 조작 중 임의의 조작의 결정에 해당한다.
스텝S704에서는, 입력 조작 매핑부(407)가, 입력 매핑 정보(412)를 참조하여, 스텝S703에서 결정(채용)된 입력 조작을 커맨드(정보처리 시스템(1)에 대한 제어 지시)로 변환한다.
스텝S705에서는, 입력 조작 매핑부(407)가, 스텝S704에서 변환된 커맨드를 이벤트 처리부(408)에 통지한다. 이때, 입력 조작 매핑부(407)는, 필요한 경우, 조작 디바이스(120) 또는 손의 삼차원 위치 및 자세의 정보도 커맨드와 함께 이벤트 처리부(408)에 통지한다. 이벤트 처리부(408)는, 통지된 커맨드에 대응한 처리를 행하여, HMD(100)의 표시를 제어한다.
그 다음에, 도7b를 참조하여, 스텝S703의 입력 조작의 배타 제어의 처리에 대해서 상세히 설명한다.
스텝S706에서는, 입력 조작 매핑부(407)가, 스텝S701 및 S702에서 접수한 복수의 입력 조작으로부터, 오른손으로 행해진 입력 조작을 추출한다. 예를 들면, 입력 조작 매핑부(407)는, 오른손에 보유 또는 장착된 조작 디바이스(120)의 삼차원 위치 및 자세나 버튼/OTP의 입력 조작과, 오른손의 핸드 트래킹에 의한 삼차원 위치 및 자세나 제스처 등의 입력 조작을 추출한다. 여기에서, 조작 디바이스(120)에 의한 입력 조작(제1입력 조작이라고 부른다)과 핸드 트래킹에 의한 입력 조작(제2입력 조작이라고 부른다)이 추출되었을 경우, 입력 조작 매핑부(407)는, 제1입력 조작과 제2입력 조작이 경합하는지를 확인한다.
도5의 예에서는, "XX콘트롤러(RIGHT)의 버튼A 누름", "YY콘트롤러(RIGHT)의 버튼B 누름", 및 "핸드 트래킹(오른손)의 핀치 제스처"가, "SELECT"에 할당되고, 경합 관계에 있다. 또한, "XX콘트롤러(RIGHT)의 광선 표시용의 삼차원 위치 및 자세", "YY콘트롤러(RIGHT)의 광선 표시용의 삼차원 위치 및 자세", 및 "핸드 트래킹(오른손)의 광선 표시용의 삼차원 위치 및 자세"도 경합 관계에 있다.
제1입력 조작과 제2의 입력 조작이 경합할 경우, 입력 조작 매핑부(407)는, 우선도 테이블에 정해진 우선도에 따라, 제1입력 조작과 제2의 입력 조작 중 임의의 조작을 채용한다. 도6의 예에서는, 입력 조작 매핑부(407)는, "XX콘트롤러(RIGHT)의 광선 표시용의 삼차원 위치 및 자세", 및 "핸드 트래킹(오른손)의 광선 표시용의 삼차원 위치 및 자세"를 접수했을 경우, "XX콘트롤러(RIGHT)의 광선 표시용의 삼차원 위치 및 자세"를 채용한다. 또한, 입력 조작 매핑부(407)에 의해 채용되지 않은 입력 조작인 "핸드 트래킹(오른손)의 광선 표시용의 삼차원 위치 및 자세"는 파기된다.
스텝S707에서는, 입력 조작 매핑부(407)가, 스텝S701 및 S702에서 접수한 복수의 입력 조작으로부터, 왼손으로 행해진 입력 조작을 추출한다. 예를 들면, 입력 조작 매핑부(407)는, 왼손에 보유 또는 장착된 조작 디바이스(120)의 삼차원 위치 및 자세나 버튼/OTP의 입력 조작과, 왼손의 핸드 트래킹에 의한 삼차원 위치 및 자세나 제스처 등의 입력 조작을 추출한다. 오른손의 배타 제어와 같이, 경합 관계에 있는 제1입력 조작과 제2입력 조작을 추출하는 경우, 입력 조작 매핑부(407)는, 우선도 테이블에 정해진 우선도에 따라, 제1입력 조작과 제2의 입력 조작 중 임의의 조작을 채용한다.
이상 서술한 본 실시 형태에 의하면, 경합 관계에 있는 복수의 입력 조작을 접수했을 경우에, 미리 정해진 우선도에 근거하여, 복수의 입력 조작 중 임의의 조작의 채용이 결정된다. 따라서, 서로 모순하는 복수의 커맨드(제어 지시)가 발생하는 것을 방지하고, 제어의 오동작이나 이상의 발생 등을 미연에 회피할 수 있다. 이에 따라, 조작 디바이스에 의한 입력 조작과 핸드 트래킹에 의한 입력 조작을 문제없이 병용할 수 있게 되어, 편리성 및 조작성이 뛰어난 XR시스템을 제공할 수 있다.
이상, 본 발명을 그 적합한 실시 형태에 근거하여 상술해 왔지만, 본 발명은 이 특정한 실시 형태들에 한정되는 것이 아니다. 본 발명의 요지의 범위내의 여러 가지의 형태도 본 발명에 포함된다. 상술한 실시 형태의 일부를 적절히 조합해도 좋다.
또한, 상기 실시 형태의 각 기능부는, 개별의 하드웨어이여도 좋고, 그렇지 않아도 좋다. 2개 이상의 기능부의 기능이, 공통의 하드웨어에 의해 실현되어도 좋다. 1개의 기능부의 복수의 기능의 각각이, 개별의 하드웨어에 의해 실현되어도 좋다. 1개의 기능부의 2개이상의 기능이, 공통의 하드웨어에 의해 실현되어도 좋다. 또한, 각 기능부는, ASIC, FPGA, DSP등의 하드웨어에 의해 실현되어도 좋고, 그렇지 않아도 좋다. 예를 들면, 장치가, 프로세서와, 제어 프로그램이 기억된 메모리(기억 매체)를 가지고 있어도 좋다. 또한, 그 장치의 적어도 일부의 기능부의 기능이, 프로세서가 메모리로부터 제어 프로그램을 판독해 실행할 때 실현되어도 좋다.
본 개시에 의하면, 조작 디바이스에 의한 입력 조작과 핸드 트래킹에 의한 입력 조작의 병용이 가능해진다.
그 밖의 실시 형태
또한, 본 발명의 실시 형태(들)는, 기억매체(보다 완전하게는 '비일시적 컴퓨터 판독 가능한 기억매체'라고도 함)에 레코딩된 컴퓨터 실행가능한 명령들(예를 들면, 하나 이상의 프로그램)을 판독하고 실행하여 상술한 실시 형태(들)의 하나 이상의 기능을 수행하는 것 및/또는 상술한 실시 형태(들)의 하나 이상의 기능을 수행하기 위한 하나 이상의 회로(예를 들면, 특정 용도 지향 집적회로(ASIC))를 구비하는 것인, 시스템 또는 장치를 갖는 컴퓨터에 의해 실현되고, 또 예를 들면 상기 기억매체로부터 상기 컴퓨터 실행가능한 명령을 판독하고 실행하여 상기 실시 형태(들)의 하나 이상의 기능을 수행하는 것 및/또는 상술한 실시 형태(들)의 하나 이상의 기능을 수행하는 상기 하나 이상의 회로를 제어하는 것에 의해 상기 시스템 또는 상기 장치를 갖는 상기 컴퓨터에 의해 행해지는 방법에 의해 실현될 수 있다. 상기 컴퓨터는, 하나 이상의 프로세서(예를 들면, 중앙처리장치(CPU), 마이크로처리장치(MPU))를 구비하여도 되고, 컴퓨터 실행 가능한 명령을 판독하여 실행하기 위해 별개의 컴퓨터나 별개의 프로세서의 네트워크를 구비하여도 된다. 상기 컴퓨터 실행가능한 명령을, 예를 들면 네트워크나 상기 기억매체로부터 상기 컴퓨터에 제공하여도 된다. 상기 기억매체는, 예를 들면, 하드 디스크, 랜덤액세스 메모리(RAM), 판독전용 메모리(ROM), 분산형 컴퓨팅 시스템의 스토리지, 광디스크(콤팩트 디스크(CD), 디지털 다기능 디스크(DVD) 또는 블루레이 디스크(BD)TM등), 플래시 메모리 소자, 메모리 카드 등 중 하나 이상을 구비하여도 된다.
본 발명을 예시적 실시 형태들을 참조하여 기재하였지만, 본 발명은 상기 개시된 예시적 실시 형태들에 한정되지 않는다는 것을 알 것이다. 아래의 청구항의 범위는, 모든 변형, 동등한 구조 및 기능을 포함하도록 폭 넓게 해석해야 한다.

Claims (12)

  1. 웨어러블 타입의 디바이스인 조작 디바이스에 의한 입력 조작과 핸드 트래킹에 의한 입력 조작을 접수 가능한 접수부; 및
    상기 조작 디바이스에 의한 입력 조작과 상기 핸드 트래킹에 의한 입력 조작을 동시에 접수했을 경우에, 미리 정해진 우선도에 근거하여, 상기 조작 디바이스에 의한 입력 조작과 상기 핸드 트래킹에 의한 입력 조작 중 어느 조작을, 정보처리 시스템의 제어에 이용하는 입력 조작으로서, 채용할지 결정하는 결정부를 구비하는, 제어장치.
  2. 제 1 항에 있어서,
    상기 접수부에서 접수 가능한 입력 조작과 상기 정보처리 시스템에 대한 제어 지시를 나타내는 커맨드와의 대응 관계를 정의하는 매핑 정보에 근거하여, 상기 결정부에 의해 채용된 상기 입력 조작을 커맨드로 변환하는 변환부를 더 구비하는, 제어장치.
  3. 제 2 항에 있어서,
    상기 조작 디바이스에 의한 제1입력 조작과 상기 핸드 트래킹에 의한 제2입력 조작을 동시에 접수했을 경우와, 상기 매핑 정보에 있어서 상기 제1입력 조작과 상기 제2입력 조작이 같은 커맨드에 대응한 경우에, 상기 결정부는, 상기 우선도에 근거하여 상기 제1입력 조작과 상기 제2입력 조작 중 어느 조작을 채용할지 결정하는, 제어장치.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 결정부는,
    오른손에 보유 또는 장착된 조작 디바이스에 의한 오른손의 입력 조작과 오른손의 핸드 트래킹에 의한 오른손의 입력 조작으로부터 채용되는 오른손의 입력 조작을 결정하는 처리와,
    왼손에 보유 또는 장착된 조작 디바이스에 의한 왼손의 입력 조작과 왼손의 핸드 트래킹에 의한 왼손의 입력 조작으로부터 채용되는 왼손의 입력 조작을 결정하는 처리를,
    행하는, 제어장치.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 조작 디바이스에 의한 입력 조작은, 상기 조작 디바이스의 방향을 바꾸는 조작을 포함하고,
    상기 핸드 트래킹에 의한 입력 조작은, 손의 방향을 바꾸는 조작을 포함하고,
    상기 정보처리 시스템의 제어는, 상기 정보처리 시스템에 설치된 표시장치에 표시된 컴퓨터 그래픽의 방향을, 상기 조작 디바이스의 방향 또는 상기 손의 방향에 따라서 바꾸게 하는 제어를 포함하는, 제어장치.
  6. 제 5 항에 있어서,
    상기 컴퓨터 그래픽은, 유저의 손이 지시하는 방향을 광선으로 표현하는 컴퓨터 그래픽인, 제어장치.
  7. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 조작 디바이스는, 링형의 디바이스인, 제어장치.
  8. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 조작 디바이스는, 손목 시계형의 디바이스인, 제어장치.
  9. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 핸드 트래킹에 의한 입력 조작보다, 상기 조작 디바이스에 의한 입력 조작쪽이 우선되도록, 상기 우선도가 설정되어 있는, 제어장치.
  10. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 우선도는 유저에 의해 설정 가능한, 제어장치.
  11. 정보처리 시스템의 제어 방법으로서,
    웨어러블 타입의 디바이스인 조작 디바이스에 의한 입력 조작을 접수하는 스텝;
    핸드 트래킹에 의한 입력 조작을 접수하는 스텝; 및
    상기 조작 디바이스에 의한 입력 조작과 상기 핸드 트래킹에 의한 입력 조작을 동시에 접수했을 경우에, 미리 정해진 우선도에 근거하여, 상기 조작 디바이스에 의한 입력 조작과 상기 핸드 트래킹에 의한 입력 조작 중 어느 조작을, 상기 정보처리 시스템의 제어에 이용하는 입력 조작으로서, 채용할지 결정하는 스텝을 포함하는, 제어 방법.
  12. 제 11 항에 따른 상기 제어 방법의 각 스텝을 프로세서에 실행시키기 위한 프로그램을 기억하는, 컴퓨터 판독 가능한 기억 매체.
KR1020230114136A 2022-09-28 2023-08-30 제어장치, 제어 방법 및 컴퓨터 판독 가능한 기억 매체 KR20240044327A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2022-154733 2022-09-28
JP2022154733A JP2024048680A (ja) 2022-09-28 2022-09-28 制御装置、制御方法、プログラム

Publications (1)

Publication Number Publication Date
KR20240044327A true KR20240044327A (ko) 2024-04-04

Family

ID=88068584

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230114136A KR20240044327A (ko) 2022-09-28 2023-08-30 제어장치, 제어 방법 및 컴퓨터 판독 가능한 기억 매체

Country Status (5)

Country Link
US (1) US20240103629A1 (ko)
EP (1) EP4345584A1 (ko)
JP (1) JP2024048680A (ko)
KR (1) KR20240044327A (ko)
CN (1) CN117784926A (ko)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2691936A1 (en) 2011-03-29 2014-02-05 Qualcomm Incorporated Modular mobile connected pico projectors for a local multi-user collaboration
US9218058B2 (en) * 2011-06-16 2015-12-22 Daniel Bress Wearable digital input device for multipoint free space data collection and analysis
US9142182B2 (en) * 2011-10-07 2015-09-22 Lg Electronics Inc. Device and control method thereof
KR20140112910A (ko) * 2013-03-14 2014-09-24 삼성전자주식회사 입력 제어 방법 및 이를 지원하는 전자 장치
JP6524111B2 (ja) 2014-04-01 2019-06-05 アップル インコーポレイテッドApple Inc. リング形コンピューティングデバイスのための装置及び方法
US10101803B2 (en) * 2015-08-26 2018-10-16 Google Llc Dynamic switching and merging of head, gesture and touch input in virtual reality
US20220253146A1 (en) * 2021-02-09 2022-08-11 Finch Technologies Ltd. Combine Inputs from Different Devices to Control a Computing Device

Also Published As

Publication number Publication date
US20240103629A1 (en) 2024-03-28
EP4345584A1 (en) 2024-04-03
JP2024048680A (ja) 2024-04-09
CN117784926A (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
US11983326B2 (en) Hand gesture input for wearable system
JP6702489B2 (ja) ヘッドマウントディスプレイ、情報処理方法、及びプログラム
US10712901B2 (en) Gesture-based content sharing in artificial reality environments
US10082940B2 (en) Text functions in augmented reality
TWI528227B (zh) 一種指環式無線指感控制器、控制方法及控制系統
JP5802667B2 (ja) ジェスチャ入力装置およびジェスチャ入力方法
KR101620777B1 (ko) 증강된 가상 터치패드 및 터치스크린
US20170293351A1 (en) Head mounted display linked to a touch sensitive input device
US20130069883A1 (en) Portable information processing terminal
JP6547741B2 (ja) 情報処理システムおよび情報処理方法
US20170262056A1 (en) Selection of optimally positioned sensors in a glove interface object
KR101812227B1 (ko) 동작 인식 기반의 스마트 글래스 장치
US10890967B2 (en) Systems and methods for using eye gaze to bend and snap targeting rays for remote interaction
CN116097209A (zh) 人工现实交互模式的整合
US20220291744A1 (en) Display processing device, display processing method, and recording medium
KR102184243B1 (ko) Imu 센서를 이용한 손가락 동작 기반 인터페이스 제어 시스템
US10852816B2 (en) Gaze-informed zoom and pan with manual speed control
JP6716028B2 (ja) 制御装置、情報処理システム、制御方法、及びプログラム
US20130187890A1 (en) User interface apparatus and method for 3d space-touch using multiple imaging sensors
KR20240044327A (ko) 제어장치, 제어 방법 및 컴퓨터 판독 가능한 기억 매체
KR20090085821A (ko) 인터페이스 장치와 이를 이용한 게임기 및 컨텐츠 제어방법
WO2023181549A1 (ja) 制御装置、制御方法、プログラム
JP2023143634A (ja) 制御装置、制御方法、プログラム
Wang et al. Multimodal Interaction with Gaze and Pressure Ring in Mixed Reality