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

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

Info

Publication number
KR102298378B1
KR102298378B1 KR1020187028641A KR20187028641A KR102298378B1 KR 102298378 B1 KR102298378 B1 KR 102298378B1 KR 1020187028641 A KR1020187028641 A KR 1020187028641A KR 20187028641 A KR20187028641 A KR 20187028641A KR 102298378 B1 KR102298378 B1 KR 102298378B1
Authority
KR
South Korea
Prior art keywords
display
buffers
information processing
buffer
information
Prior art date
Application number
KR1020187028641A
Other languages
English (en)
Other versions
KR20180136445A (ko
Inventor
아츠시 이시하라
히로유키 아가
고이치 가와사키
미츠루 니시베
Original Assignee
소니그룹주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니그룹주식회사 filed Critical 소니그룹주식회사
Publication of KR20180136445A publication Critical patent/KR20180136445A/ko
Application granted granted Critical
Publication of KR102298378B1 publication Critical patent/KR102298378B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

실공간상에 가상 오브젝트를 중첩시키는 상황하에서, 보다 바람직한 양태에서 당해 가상 오브젝트의 표시를 보정한다. 실공간상의 실제 오브젝트의 인식 결과에 관한 정보를 취득하는 취득부와, 복수의 버퍼 각각에 대해서, 복수의 표시 정보 중 당해 버퍼에 직접적 또는 간접적으로 관련지어진 상기 표시 정보를 묘화하는 묘화부와, 상기 실제 오브젝트의 인식 결과에 기초하여, 상기 복수의 버퍼 각각에 묘화된 상기 표시 정보의 표시를 보정하고, 당해 표시가 보정된 상기 표시 정보 각각을, 당해 실제 오브젝트와의 사이의 위치 관계에 따라서 소정의 출력부에 제시시키는 표시 제어부를 구비하는, 정보 처리 장치.

Description

정보 처리 장치, 정보 처리 방법, 및 프로그램
본 개시는, 정보 처리 장치, 정보 처리 방법 및 프로그램에 관한 것이다.
근년, 화상 인식 기술의 고도화에 수반하여, 촬상 장치에 의해 촬상된 화상에 포함되는 실제 오브젝트(즉, 실공간상의 물체)의 위치 및 자세를 인식하는 것이 가능하게 되어 있다. 이러한 물체 인식의 응용예의 하나로서, 확장 현실(AR: Augmented Reality)이라 불리는 기술이 알려져 있다. AR 기술을 이용함으로써, 실공간의 화상에 촬상된 실제 오브젝트에 대해서, 텍스트, 아이콘, 또는 애니메이션 등의 다양한 양태의 가상적인 콘텐츠(이후에서는, 「가상 오브젝트」라고도 칭함)를 중첩해서 유저에게 제시하는 것이 가능해진다. 예를 들어, 특허문헌 1에는, AR 기술의 일례가 개시되어 있다.
일본 특허공개 제2013-92964호 공보
그런데, 가상 오브젝트로서 제시하는 표시 정보에 따라서는, 당해 가상 오브젝트의 묘화의 처리 부하가 비교적 높아져서, 당해 가상 오브젝트의 묘화가 개시되고 나서 표시 정보로서 출력될 때까지의 사이에 지연이 발생하는 경우가 있다. 그 때문에, 예를 들어 당해 지연에 수반하여, 묘화된 가상 오브젝트가 유저에게 제시될 때까지의 사이에, 당해 유저의 시점 위치에 변화가 발생하면, 당해 시점의 위치와, 묘화된 가상 오브젝트가 중첩되는 위치와의 사이의 상대적인 위치 관계에 어긋남이 발생한다. 이와 같은 어긋남은, 예를 들어 당해 가상 오브젝트가 중첩되는 공간상의 위치의 어긋남으로서 유저에게 인식되는 경우가 있다. 이것은, AR로 한정되지 않고, 인공적으로 구축되는 가상 공간상에 가상 오브젝트를 제시하는, 소위 가상 현실(VR: Virtual Reality)에서도 마찬가지이다.
이에 반하여, 예를 들어 VR에서는, 가상 오브젝트의 묘화에 수반하는 지연을 고려하여, 당해 가상 오브젝트의 가상 공간상에서의 표시 위치를 당해 묘화 후에 보정함으로써, 묘화에 수반하는 지연의 영향을 저감시키는 경우가 있다. 한편, AR에 있어서는, 실공간상에 가상 오브젝트를 중첩시킨다는 특성에서, 단순히 가상 오브젝트의 표시 위치를 보정한 경우에는, 유저에게 시인되는 실공간의 광학 상(像)과, 가상 오브젝트의 표시의 사이에 어긋남이 발생하는 경우가 있다.
그래서, 본 개시에서는, 실공간상에 가상 오브젝트를 중첩시키는 상황하에서, 보다 바람직한 양태에서 당해 가상 오브젝트의 표시를 보정하는 것이 가능한, 정보 처리 장치, 정보 처리 방법, 및 프로그램을 제안한다.
본 개시에 의하면, 실공간상의 실제 오브젝트의 인식 결과에 관한 정보를 취득하는 취득부와, 복수의 버퍼 각각에 대해서, 복수의 표시 정보 중 당해 버퍼에 직접적 또는 간접적으로 관련지어진 상기 표시 정보를 묘화하는 묘화부와, 상기 실제 오브젝트의 인식 결과에 기초하여, 상기 복수의 버퍼 각각에 묘화된 상기 표시 정보의 표시를 보정하고, 당해 표시가 보정된 상기 표시 정보 각각을, 당해 실제 오브젝트와의 사이의 위치 관계에 따라서 소정의 출력부에 제시시키는 표시 제어부를 구비하는, 정보 처리 장치가 제공된다.
또한, 본 개시에 의하면, 컴퓨터 시스템이, 실공간상의 실제 오브젝트의 인식 결과에 관한 정보를 취득하는 것과, 복수의 버퍼 각각에 대해서, 복수의 표시 정보 중 당해 버퍼에 직접적 또는 간접적으로 관련지어진 상기 표시 정보를 묘화하는 것과, 상기 실제 오브젝트의 인식 결과에 기초하여, 상기 복수의 버퍼 각각에 묘화된 상기 표시 정보의 표시를 보정하고, 당해 표시가 보정된 상기 표시 정보 각각을, 당해 실제 오브젝트와의 사이의 위치 관계에 따라서 소정의 출력부에 제시시키는 것을 포함하는, 정보 처리 방법이 제공된다.
또한, 본 개시에 의하면, 컴퓨터 시스템에, 실공간상의 실제 오브젝트의 인식 결과에 관한 정보를 취득하는 것과, 복수의 버퍼 각각에 대해서, 복수의 표시 정보 중 당해 버퍼에 직접적 또는 간접적으로 관련지어진 상기 표시 정보를 묘화하는 것과, 상기 실제 오브젝트의 인식 결과에 기초하여, 상기 복수의 버퍼 각각에 묘화된 상기 표시 정보의 표시를 보정하고, 당해 표시가 보정된 상기 표시 정보 각각을, 당해 실제 오브젝트와의 사이의 위치 관계에 따라서 소정의 출력부에 제시시키는 것을 실행시키는, 프로그램이 제공된다.
이상 설명한 바와 같이 본 개시에 의하면, 실공간상에 가상 오브젝트를 중첩시키는 상황하에서, 보다 바람직한 양태에서 당해 가상 오브젝트의 표시를 보정하는 것이 가능한, 정보 처리 장치, 정보 처리 방법, 및 프로그램이 제공된다.
또한, 상기 효과는 반드시 한정적인 것이 아니라, 상기 효과와 함께 또는 상기 효과 대신에, 본 명세서에 개시된 어느 효과, 또는 본 명세서로부터 파악될 수 있는 다른 효과가 발휘되어도 된다.
도 1은, 본 개시의 일 실시 형태에 따른 정보 처리 시스템의 개략적인 구성의 일례에 대하여 설명하기 위한 설명도이다.
도 2는, 상기 실시 형태에 따른 입출력 장치의 개략적인 구성의 일례에 대하여 설명하기 위한 설명도이다.
도 3은, 가상 오브젝트의 표시 위치의 보정에 관한 처리의 일례에 대하여 설명하기 위한 설명도이다.
도 4는, AR에서의 가상 오브젝트의 묘화에 수반하는 지연의 영향의 일례에 대하여 설명하기 위한 설명도이다.
도 5는, AR에서의 가상 오브젝트의 묘화에 수반하는 지연의 영향의 일례에 대하여 설명하기 위한 설명도이다.
도 6은, 상기 실시 형태에 따른 정보 처리 시스템의 동작의 기본 원리에 대하여 설명하기 위한 설명도이다.
도 7은, 상기 실시 형태에 따른 정보 처리 시스템의 기능 구성의 일례를 나타낸 블록도이다.
도 8은, 상기 실시 형태에 따른 정보 처리 시스템(1)의 일련의 처리의 흐름의 일례를 나타낸 흐름도이다.
도 9는, 변형예 1에 따른 정보 처리 시스템의 개요에 대하여 설명하기 위한 설명도이다.
도 10은, 변형예 2에 따른 정보 처리 시스템의 일 형태에 대하여 개요를 설명하기 위한 설명도이다.
도 11은, 변형예 2에 따른 정보 처리 시스템의 다른 일 형태에 대하여 개요를 설명하기 위한 설명도이다.
도 12는, 변형예 2에 따른 정보 처리 시스템의 다른 일 형태에 대하여 개요를 설명하기 위한 설명도이다.
도 13은, 변형예 3에 따른 정보 처리 시스템의 일 형태에 대하여 개요를 설명하기 위한 설명도이다.
도 14는, 변형예 3에 따른 정보 처리 시스템의 일 형태에 대하여 개요를 설명하기 위한 설명도이다.
도 15는, 하드웨어 구성의 일 구성예를 나타내는 기능 블록도이다.
이하에 첨부 도면을 참조하면서, 본 개시의 바람직한 실시 형태에 대하여 상세히 설명한다. 또한, 본 명세서 및 도면에 있어서, 실질적으로 동일한 기능 구성을 갖는 구성 요소에 대해서는, 동일한 번호를 부여함으로써 중복 설명을 생략한다.
또한, 설명은 이하의 순서로 행하도록 한다.
1. 개요
1.1. 개략 구성
1.2. 입출력 장치의 구성
1.3. 자기 위치 추정의 원리
2. 가상 오브젝트의 묘화에 수반하는 지연에 관한 검토
3. 기술적 특징
3.1. 기본 원리
3.2. 기능 구성
3.3. 처리
4. 변형예
4.1. 변형예 1: 가상 오브젝트와 버퍼 사이의 관련지음의 일례
4.2. 변형예 2: 영역 분할의 일례
4.3. 변형예 3: 버퍼의 제어예
4.4. 변형예 4: 가상 오브젝트의 묘화나 출력에 관한 제어의 일례
4.5. 변형예 5: 인터랙션의 제어의 일례
5. 하드웨어 구성
6. 결론
<<1. 개요>>
<1.1. 개략 구성>
우선, 도 1을 참조하여, 본 개시의 일 실시 형태에 따른 정보 처리 시스템의 개략적인 구성의 일례에 대하여 설명한다. 도 1은, 본 개시의 일 실시 형태에 따른 정보 처리 시스템의 개략적인 구성의 일례에 대하여 설명하기 위한 설명도이다. 도 1에 있어서, 참조 부호 M11은, 실공간상에 위치하는 물체(즉, 실제 오브젝트)를 모식적으로 나타내고 있다. 또한, 참조 부호 V13 및 V15는, 실공간상에 중첩되도록 제시되는 가상적인 콘텐츠(즉, 가상 오브젝트)를 모식적으로 나타내고 있다. 즉, 본 실시 형태에 따른 정보 처리 시스템(1)은, 소위 AR 기술에 기초하여, 예를 들어 실제 오브젝트 M11 등의 실공간상의 물체에 대해서, 가상 오브젝트를 중첩해서 유저에게 제시한다. 또한, 도 1에서는, 본 실시 형태에 따른 정보 처리 시스템의 특징을 보다 이해하기 쉽게 하기 위해서, 실제 오브젝트와 가상 오브젝트의 양쪽을 함께 제시하고 있다.
도 1에 도시한 바와 같이, 본 실시 형태에 따른 정보 처리 시스템(1)은, 정보 처리 장치(10)와, 입출력 장치(20)를 포함한다. 정보 처리 장치(10)와 입출력 장치(20)는, 소정의 네트워크를 통해서 서로 정보를 송수신 가능하게 구성되어 있다. 또한, 정보 처리 장치(10)와 입출력 장치(20)를 접속하는 네트워크의 종별은 특별히 한정되지 않는다. 구체적인 일례로서, 당해 네트워크는 Wi-Fi(등록상표) 규격에 기초하는 네트워크와 같은, 소위 무선의 네트워크에 의해 구성되어 있어도 된다. 또한, 다른 일례로서, 당해 네트워크는 인터넷, 전용선, LAN(Local Area Network), 또는 WAN(Wide Area Network) 등에 의해 구성되어 있어도 된다. 또한, 당해 네트워크는, 복수의 네트워크를 포함해도 되며, 일부가 유선의 네트워크로서 구성되어 있어도 된다.
입출력 장치(20)는, 각종 입력 정보의 취득이나, 당해 입출력 장치(20)를 유지하는 유저에 대해서 각종 출력 정보를 제시하기 위한 구성이다. 또한, 입출력 장치(20)에 의한 출력 정보의 제시는, 정보 처리 장치(10)에 의해, 당해 입출력 장치(20)에 의해 취득된 입력 정보에 기초하여 제어된다. 예를 들어, 입출력 장치(20)는, 실제 오브젝트 M11을 인식하기 위한 정보를 입력 정보로서 취득하고, 취득한 정보를 정보 처리 장치(10)로 출력한다. 정보 처리 장치(10)는, 입출력 장치(20)로부터 취득한 정보에 기초하여, 실공간상에서의 실제 오브젝트 M11의 위치를 인식하고, 당해 인식 결과에 기초하여, 입출력 장치(20)에 가상 오브젝트 V13 및 V15를 제시시킨다. 이와 같은 제어에 의해, 입출력 장치(20)는, 소위 AR 기술에 기초하여, 실제 오브젝트 M11에 대해서 가상 오브젝트 V13 및 V15가 중첩되도록, 당해 가상 오브젝트 V13 및 V15를 유저에게 제시하는 것이 가능해진다. 또한, 도 1에서는, 입출력 장치(20)와 정보 처리 장치(10)가 서로 다른 장치로서 도시되어 있지만, 입출력 장치(20) 및 정보 처리 장치(10)는 일체적으로 구성되어 있어도 된다. 또한, 입출력 장치(20) 및 정보 처리 장치(10)의 구성 및 처리의 상세에 대해서는 별도 후술한다.
이상, 도 1을 참조하여, 본 개시의 일 실시 형태에 따른 정보 처리 시스템의 개략적인 구성의 일례에 대하여 설명하였다.
<1.2. 입출력 장치의 구성>
계속해서, 도 2를 참조하여, 도 1에 도시한 본 실시 형태에 따른 입출력 장치(20)의 개략적인 구성의 일례에 대하여 설명한다. 도 2는, 본 실시 형태에 따른 입출력 장치의 개략적인 구성의 일례에 대하여 설명하기 위한 설명도이다.
본 실시 형태에 따른 입출력 장치(20)는, 유저가 헤드부의 적어도 일부에 장착해서 사용하는, 소위 헤드부 장착형 디바이스로서 구성되어 있다. 예를 들어, 도 2에 도시한 예에서는, 입출력 장치(20)는, 소위 아이웨어형(안경형)의 디바이스로서 구성되어 있으며, 렌즈(293a 및 293b) 중 적어도 어느 하나가 투과형의 디스플레이(출력부(211))로서 구성되어 있다. 또한, 입출력 장치(20)는, 제1 촬상부(201a 및 201b)와, 제2 촬상부(203a 및 203b)와, 조작부(207)와, 안경의 프레임에 상당하는 유지부(291)를 구비한다. 유지부(291)는, 입출력 장치(20)가 유저의 헤드부에 장착되었을 때, 출력부(211)와, 제1 촬상부(201a 및 201b)와, 제2 촬상부(203a 및 203b)와, 조작부(207)를, 당해 유저의 헤드부에 대해서 소정의 위치 관계가 되도록 유지한다. 또한, 도 2에는 도시하지 않았지만, 입출력 장치(20)는, 유저의 음성을 집음하기 위한 집음부를 구비하고 있어도 된다.
여기서, 입출력 장치(20)의 보다 구체적인 구성에 대하여 설명한다. 예를 들어, 도 2에 도시한 예에서는, 렌즈(293a)가, 우안쪽의 렌즈에 상당하고, 렌즈(293b)가, 좌안쪽의 렌즈에 상당한다. 즉, 유지부(291)는, 입출력 장치(20)가 장착된 경우에, 출력부(211)(환언하면, 렌즈(293a 및 293b))가 유저의 눈앞에 위치하도록, 당해 출력부(211)를 유지한다.
제1 촬상부(201a 및 201b)는, 소위 스테레오 카메라로서 구성되어 있으며, 입출력 장치(20)가 유저의 헤드부에 장착되었을 때, 당해 유저의 헤드부가 향한 방향(즉, 유저의 전방)을 향하도록, 유지부(291)에 의해 각각 유지된다. 이때, 제1 촬상부(201a)가, 유저의 우안 근방에 유지되고, 제1 촬상부(201b)가, 당해 유저의 좌안 근방에 유지된다. 이와 같은 구성에 기초하여, 제1 촬상부(201a 및 201b)는, 입출력 장치(20)의 전방에 위치하는 피사체(환언하면, 실공간에 위치하는 실제 오브젝트)를 서로 다른 위치로부터 촬상한다. 이에 의해, 입출력 장치(20)는, 유저의 전방에 피사체의 화상을 취득함과 함께, 제1 촬상부(201a 및 201b) 각각에 의해 촬상된 화상 간의 시차에 기초하여, 당해 입출력 장치(20)로부터, 당해 피사체까지의 거리를 산출하는 것이 가능해진다.
또한, 입출력 장치(20)와 피사체 사이의 거리를 측정 가능하면, 그 구성이나 방법은 특별히 한정되지 않는다. 구체적인 일례로서, 멀티 카메라 스테레오, 이동 시차, TOF(Time Of Flight), Structured Light 등의 방식에 기초하여, 입출력 장치(20)와 피사체 사이의 거리가 측정되어도 된다. 여기서, TOF는, 피사체에 대해서 적외선 등의 광을 투광하고, 투광된 광이 당해 피사체에서 반사되어 되돌아올 때까지의 시간을 화소마다 측정함으로써, 당해 측정 결과에 기초하여 피사체까지의 거리(심도)를 포함한 화상(소위 거리 화상)을 얻는 방식이다. 또한, Structured Light는, 피사체에 대해서 적외선 등의 광에 의해 패턴을 조사하고 그것을 촬상함으로써, 촬상 결과로부터 얻어지는 당해 패턴의 변화에 기초하여, 피사체까지의 거리(심도)를 포함한 거리 화상을 얻는 방식이다. 또한, 이동 시차는, 소위 단안 카메라에서도, 시차에 기초하여 피사체까지의 거리를 측정하는 방법이다. 구체적으로는, 카메라를 이동시킴으로써, 피사체를 서로 다른 시점으로부터 촬상하고, 촬상된 화상 간의 시차에 기초하여 피사체까지의 거리를 측정한다. 또한, 이때 각종 센서에 의해 카메라의 이동 거리 및 이동 방향을 인식함으로써, 피사체까지의 거리를 보다 고정밀도로 측정하는 것이 가능해진다. 또한, 거리의 측정 방법에 따라서, 촬상부의 구성(예를 들어, 단안 카메라, 스테레오 카메라 등)을 변경해도 된다.
또한, 제2 촬상부(203a 및 203b)는, 입출력 장치(20)가 유저의 헤드부에 장착되었을 때, 각각의 촬상 범위 내에 당해 유저의 안구가 위치하도록, 유지부(291)에 의해 각각 유지된다. 구체적인 일례로서, 제2 촬상부(203a)는, 촬상 범위 내에 유저의 우안이 위치하도록 유지된다. 이와 같은 구성에 기초하여, 제2 촬상부(203a)에 의해 촬상된 우안의 안구 화상과, 당해 제2 촬상부(203a)와 당해 우안 사이의 위치 관계에 기초하여, 당해 우안의 시선이 향하고 있는 방향을 인식하는 것이 가능해진다. 마찬가지로, 제2 촬상부(203b)는, 촬상 범위 내에 당해 유저의 좌안이 위치하도록 유지된다. 즉, 제2 촬상부(203b)에 의해 촬상된 좌안의 안구 화상과, 당해 제2 촬상부(203b)와 당해 좌안 사이의 위치 관계에 기초하여, 당해 좌안의 시선이 향하고 있는 방향을 인식하는 것이 가능해진다. 또한, 도 2에 도시한 예에서는, 입출력 장치(20)가 제2 촬상부(203a 및 203b)의 양쪽을 포함하는 구성에 대하여 나타내고 있지만, 제2 촬상부(203a 및 203b) 중 어느 한쪽만이 설치되어 있어도 된다.
조작부(207)는, 입출력 장치(20)에 대한 유저로부터의 조작을 접수하기 위한 구성이다. 조작부(207)는, 예를 들어 터치 패널이나 버튼 등과 같은 입력 디바이스에 의해 구성되어 있어도 된다. 조작부(207)는, 유지부(291)에 의해, 입출력 장치(20)의 소정의 위치에 유지되어 있다. 예를 들어, 도 2에 도시한 예에서는, 조작부(207)는, 안경 다리(temple)에 상당하는 위치에 유지되어 있다.
또한, 본 실시 형태에 따른 입출력 장치(20)는, 예를 들어 가속도 센서나, 각속도 센서(자이로 센서)가 설치되고, 당해 입출력 장치(20)를 장착한 유저의 헤드부의 움직임(환언하면, 입출력 장치(20) 자체의 움직임)을 검출 가능하게 구성되어 있어도 된다. 구체적인 일례로서, 입출력 장치(20)는, 유저의 헤드부의 움직임으로서, 요(yaw) 방향, 피치(pitch) 방향, 및 롤(roll) 방향 각각의 성분을 검출함으로써, 당해 유저의 헤드부의 위치 및 자세 중 적어도 어느 하나의 변화를 인식해도 된다.
이상과 같은 구성에 기초하여, 본 실시 형태에 따른 입출력 장치(20)는, 유저의 헤드부의 움직임에 따른, 실공간상에서의 자신의 위치나 자세의 변화를 인식하는 것이 가능해진다. 또한, 이때 입출력 장치(20)는, 소위 AR 기술에 기초하여, 실공간에 위치하는 실제 오브젝트에 대해서, 가상적인 콘텐츠(즉, 가상 오브젝트)가 중첩되도록, 출력부(211)에 당해 콘텐츠를 제시하는 것도 가능해진다. 또한, 입출력 장치(20)가, 실공간상에서의 자신의 위치 및 자세를 추정하기 위한 방법(즉, 자기 위치 추정)의 일례에 대해서는, 상세를 별도 후술한다.
또한, 입출력 장치(20)로서 적용 가능한 헤드부 장착형의 표시 장치(HMD: Head Mounted Display)의 일례로서는, 예를 들어 시스루형 HMD, 비디오 시스루형 HMD, 및 망막 투사형 HMD를 들 수 있다.
시스루형 HMD는, 예를 들어 하프 미러나 투명한 도광판을 사용하여, 투명한 도광부 등을 포함하는 허상 광학계를 유저의 눈앞에 유지하고, 당해 허상 광학계의 내측에 화상을 표시시킨다. 그 때문에, 시스루형 HMD를 장착한 유저는, 허상 광학계의 내측에 표시된 화상을 시청하고 있는 사이에도, 외부의 풍경을 시야에 넣는 것이 가능해진다. 이와 같은 구성에 의해, 시스루형 HMD는, 예를 들어 AR 기술에 기초하여, 당해 시스루형 HMD의 위치 및 자세 중 적어도 어느 하나의 인식 결과에 따라서, 실공간에 위치하는 실제 오브젝트의 광학 상에 대해서 가상 오브젝트의 화상을 중첩시키는 것도 가능해진다. 또한, 시스루형 HMD의 구체적인 일례로서, 안경의 렌즈에 상당하는 부분을 허상 광학계로서 구성한, 소위 안경형 웨어러블 디바이스를 들 수 있다. 예를 들어, 도 2에 도시한 입출력 장치(20)는, 시스루형 HMD의 일례에 상당한다.
비디오 시스루형 HMD는, 유저의 헤드부 또는 얼굴부에 장착된 경우에, 유저의 눈을 덮도록 장착되고, 유저의 눈앞에 디스플레이 등의 표시부가 유지된다. 또한, 비디오 시스루형 HMD는, 주위의 풍경을 촬상하기 위한 촬상부를 갖고, 당해 촬상부에 의해 촬상된 유저의 전방 풍경 화상을 표시부에 표시시킨다. 이와 같은 구성에 의해, 비디오 시스루형 HMD를 장착한 유저는, 외부의 풍경을 직접 시야에 넣는 것은 곤란하지만, 표시부에 표시된 화상에 의해, 외부의 풍경을 확인하는 것이 가능해진다. 또한, 이때 비디오 시스루형 HMD는, 예를 들어 AR 기술에 기초하여, 당해 비디오 시스루형 HMD의 위치 및 자세 중 적어도 어느 하나의 인식 결과에 따라서, 외부의 풍경 화상에 대해서 가상 오브젝트를 중첩시켜도 된다.
망막 투사형 HMD는, 유저의 눈앞에 투영부가 유지되어 있으며, 당해 투영부로부터 유저의 눈을 향하여, 외부의 풍경에 대해서 화상이 중첩되도록 당해 화상이 투영된다. 보다 구체적으로는, 망막 투사형 HMD에서는, 유저의 눈 망막에 대해서, 투영부로부터 화상이 직접 투사되고, 당해 화상이 망막 위에서 결상한다. 이와 같은 구성에 의해, 근시나 원시의 유저인 경우에도, 보다 선명한 영상을 시청하는 것이 가능해진다. 또한, 망막 투사형 HMD를 장착한 유저는, 투영부로부터 투영되는 화상을 시청하고 있는 사이에도, 외부의 풍경을 시야에 넣는 것이 가능해진다. 이와 같은 구성에 의해, 망막 투사형 HMD는, 예를 들어 AR 기술에 기초하여, 당해 망막 투사형 HMD의 위치나 자세 중 적어도 어느 하나의 인식 결과에 따라서, 실공간에 위치하는 실제 오브젝트의 광학 상에 대해서 가상 오브젝트의 화상을 중첩시키는 것도 가능해진다.
또한, 참고로서, 상기에 설명한 예 이외에도, 몰입형 HMD라 불리는 HMD를 들 수 있다. 몰입형 HMD는, 비디오 시스루형 HMD와 마찬가지로, 유저의 눈을 덮도록 장착되고, 유저의 눈앞에 디스플레이 등의 표시부가 유지된다. 그 때문에, 몰입형 HMD를 장착한 유저는, 외부의 풍경(즉, 현실 세계의 풍경)을 직접 시야에 넣는 것이 곤란하여, 표시부에 표시된 영상만이 시야에 들어오게 된다. 이와 같은 구성에 의해, 몰입형 HMD는, 화상을 시청하고 있는 유저에 대해서 몰입감을 부여하는 것이 가능해진다.
이상, 도 2를 참조하여, 본 개시의 일 실시 형태에 따른 입출력 장치의 개략적인 구성의 일례에 대하여 설명하였다.
<1.3. 자기 위치 추정의 원리>
다음으로, 입출력 장치(20)가, 실제 오브젝트에 대해서 가상 오브젝트를 중첩시킬 때, 실공간상에서의 자신의 위치 및 자세를 추정하기 위한 방법(즉, 자기 위치 추정)의 원리의 일례에 대하여 설명한다.
자기 위치 추정의 구체적인 일례로서, 입출력 장치(20)는, 실공간상의 실제 오브젝트 위에 제시된 사이즈가 기지의 마커 등을, 자신에게 설치된 카메라 등의 촬상부에 의해 촬상한다. 그리고, 입출력 장치(20)는, 촬상된 화상을 해석함으로써, 마커(나아가서는, 당해 마커가 제시된 실제 오브젝트)에 대한 자신의 상대적인 위치 및 자세 중 적어도 어느 하나를 추정한다. 또한, 이후의 설명에서는, 입출력 장치(20)가 자신의 위치 및 자세를 추정하는 경우에 착안하여 설명하지만, 당해 입출력 장치(20)는, 자신의 위치 및 자세 중 어느 한쪽만을 추정해도 된다.
구체적으로는, 화상 중에 촬상된 마커의 방향(예를 들어, 마커의 모양 등의 방향)에 따라서, 당해 마커에 대한 촬상부(나아가서는, 당해 촬상부를 구비하는 입출력 장치(20))의 상대적인 방향을 추정하는 것이 가능하다. 또한, 마커의 사이즈가 기지의 경우에는, 화상 중에서의 마커의 사이즈에 따라서, 당해 마커와 촬상부(즉, 당해 촬상부를 구비하는 입출력 장치(20)) 사이의 거리를 추정하는 것이 가능하다. 보다 구체적으로는, 마커를 보다 멀리서 촬상하면, 당해 마커는, 보다 작게 촬상되게 된다. 또한, 이때 화상 중에 촬상되는 실공간상의 범위는, 촬상부의 화각에 기초하여 추정하는 것이 가능하다. 이상의 특성을 이용함으로써, 화상 중에 촬상된 마커의 크기(환언하면, 화각 내에 있어서 마커가 차지하는 비율)에 따라서, 당해 마커와 촬상부 사이의 거리를 역산하는 것이 가능하다. 이상과 같은 구성에 의해, 입출력 장치(20)는, 마커에 대한 자신의 상대적인 위치 및 자세를 추정하는 것이 가능해진다.
또한, 소위 SLAM(simultaneous localization and mapping)이라 칭해지는 기술이, 입출력 장치(20)의 자기 위치 추정에 이용되어도 된다. SLAM은, 카메라 등의 촬상부, 각종 센서, 인코더 등을 이용함으로써, 자기 위치 추정과 환경 지도의 작성을 병행하여 행하는 기술이다. 보다 구체적인 일례로서, SLAM(특히, Visual SLAM)에서는, 촬상부에 의해 촬상된 동화상에 기초하여, 촬상된 장면(scene)(또는, 피사체)의 3차원 형상을 순차적으로 복원한다. 그리고, 촬상된 장면의 복원 결과를, 촬상부의 위치 및 자세의 검출 결과와 관련지음으로써, 주위 환경의 지도 작성과, 당해 환경에서의 촬상부(나아가서는, 입출력 장치(20))의 위치 및 자세의 추정이 행해진다. 또한, 촬상부의 위치 및 자세에 대해서는, 예를 들어 입출력 장치(20)에 가속도 센서나 각속도 센서 등의 각종 센서를 설치함으로써, 당해 센서의 검출 결과에 기초하여 상대적인 변화를 나타내는 정보로서 추정하는 것이 가능하다. 물론, 촬상부의 위치 및 자세를 추정 가능하면, 그 방법은, 반드시 가속도 센서나 각속도 센서 등의 각종 센서의 검지 결과에 기초하는 방법만으로는 한정되지 않는다.
이상과 같은 구성을 기초로 하여, 예를 들어 촬상부에 의한 기지의 마커 촬상 결과에 기초하는, 당해 마커에 대한 입출력 장치(20)의 상대적인 위치 및 자세의 추정 결과가, 상술한 SLAM에서의 초기화 처리나 위치 보정에 이용되어도 된다. 이와 같은 구성에 의해, 입출력 장치(20)는, 마커가 촬상부의 화각 내에 포함되지 않은 상황하에서도, 종전에 실행된 초기화나 위치 보정의 결과를 받은 SLAM에 기초하는 자기 위치 추정에 의해, 당해 마커(나아가서는, 당해 마커가 제시된 실제 오브젝트)에 대한 자신의 위치 및 자세를 추정하는 것이 가능해진다.
이상, 입출력 장치(20)가, 실제 오브젝트에 대해서 가상 오브젝트를 중첩시킬 때, 실공간상에서의 자신의 위치 및 자세를 추정하기 위한 방법(즉, 자기 위치 추정)의 원리의 일례에 대하여 설명하였다. 또한, 이후에 있어서는, 예를 들어 상술한 원리에 기초하여, 실공간상의 물체(실제 오브젝트)에 대한 입출력 장치(20)의 위치 및 자세를 추정하는 것이 가능한 것으로서 설명한다.
<<2. 가상 오브젝트의 묘화에 수반하는 지연에 관한 검토>>
계속해서, 가상 오브젝트의 묘화에 수반하는 지연과, 당해 지연에 의한 영향을 완화하는 구조의 일례에 대하여 설명한 다음, 본 실시 형태에 따른 정보 처리 시스템의 과제에 대하여 정리한다.
가상 오브젝트로서 제시하는 표시 정보에 따라서는, 당해 가상 오브젝트의 묘화의 처리 부하가 비교적 높아져서, 소위 AR이나 VR에 기초하여 당해 가상 오브젝트의 묘화가 개시되고 나서 표시 정보로서 출력될 때까지의 동안에 지연이 발생하는 경우가 있다. 그 때문에, 예를 들어 당해 지연에 수반하여, 묘화된 가상 오브젝트가 유저에게 제시될 때까지의 사이에, 당해 유저의 시점 위치나 방향에 변화가 발생하면, 당해 시점의 위치와, 묘화된 가상 오브젝트가 중첩되는 위치 사이의 상대적인 위치 관계에 어긋남이 발생한다. 이러한 어긋남은, 예를 들어 당해 가상 오브젝트가 중첩되는 공간상의 위치의 어긋남으로서 유저에게 인식되는 경우가 있다.
이에 반하여, 예를 들어 VR에서는, 가상 오브젝트의 묘화에 수반하는 지연을 고려하여, 당해 가상 오브젝트의 가상 공간상에서의 표시 위치를 당해 묘화 후에 보정함으로써, 묘화에 수반하는 지연의 영향을 저감시키는 경우가 있다. 예를 들어, 도 3은, 가상 오브젝트의 묘화에 수반하는 지연에 따른, 당해 가상 오브젝트의 표시 위치의 보정에 관한 처리의 일례에 대하여 설명하기 위한 설명도이다.
도 3에서는, 가상 오브젝트의 묘화와, 시점의 위치나 방향 변화의 검지 결과에 기초하는 센서 입력과, 묘화된 가상 오브젝트의 출력의 각각의 시계열을 따른 처리 타이밍을 모식적으로 나타내고 있다. 도 3에 있어서, 참조 부호 t21 내지 t23은, 가상 오브젝트의 묘화 개시 타이밍을 나타내고 있으며, 참조 부호 t21' 내지 t23'는, 가상 오브젝트의 묘화의 종료 타이밍을 나타내고 있다. 또한, 참조 부호 V121 내지 V123은, 타이밍 t21 내지 t23에 있어서 묘화되는 화상의 일례를 나타내고 있으며, 당해 화상 중에 제시되는 가상 오브젝트의 형상이나 제시 위치를 모식적으로 나타내고 있다. 마찬가지로, 참조 부호 t11 내지 t14는, 묘화된 가상 오브젝트의 출력 타이밍을 나타내고 있다. 또한, 참조 부호 V111 내지 V114는, 타이밍 t11 내지 t14에 있어서 출력되는 화상의 일례를 나타내고 있으며, 당해 화상 중에 제시되는 가상 오브젝트의 형상이나 제시 위치를 모식적으로 나타내고 있다. 또한, 도 3에 도시한 바와 같이, 센서 입력은, 가상 오브젝트가 묘화되는 주기(빈도)에 비하여 보다 빠른 주기(보다 높은 빈도)로 취득된다.
예를 들어, 타이밍 t21에 있어서, 가상 오브젝트 v211이 제시된 화상 V121의 묘화가 개시되고, 당해 묘화는, 타이밍 t21'에 있어서 종료된다. 그 후, 화상의 출력 타이밍 t11이 도래하면, 당해 타이밍 t11의 직전에 취득된 센서 입력에 기초하여, 화상 V121에 제시된 가상 오브젝트 V211의 표시 위치가 보정되고, 당해 보정 후의 화상 V111이 출력된다. 이어서, 화상의 출력 타이밍 t12가 도래하지만, 이때, 새로운 화상(예를 들어, 화상 V122)의 묘화가 아직 완료되지 않았다. 그 때문에, 타이밍 t12의 직전에 취득된 센서 입력에 기초하여, 화상 V111에 제시된 가상 오브젝트 V211의 표시 위치가 보정되고, 당해 보정 후의 화상 V112가 출력된다.
또한, 타이밍 t22에 있어서, 가상 오브젝트 v213이 제시된 화상 V122의 묘화가 개시되고, 당해 묘화는, 타이밍 t22'에 있어서 종료한다. 즉, 타이밍 t22' 이후에 도래하는 표시 타이밍 t13 및 t14에서는, 가상 오브젝트 v213이 제시되며, 또한, 직전에 취득된 센서 입력에 기초하여 당해 가상 오브젝트 v213의 표시 위치가 보정된 화상 V113 및 V114가 각각 출력된다. 또한, 가상 오브젝트 v215가 제시된 화상 V123에 대해서는, 타이밍 t23에 있어서 묘화가 개시되고, 타이밍 t23'에 있어서 당해 묘화가 종료된다. 즉, 가상 오브젝트 v215가 제시된 화상은, 타이밍 t23' 이후에 출력되게 된다.
이상과 같은 제어에 의해, 가상 오브젝트의 묘화가 개시되고 나서 표시 정보로서 출력될 때까지의 사이에 지연이 발생했다고 해도, 묘화된 가상 오브젝트의 표시 위치를 보정함으로써, 당해 지연의 영향을 완화하는 것이 가능해진다.
한편, AR에 있어서는, 실공간상에 가상 오브젝트를 중첩시킨다는 특성으로부터, 단순히 가상 오브젝트의 표시 위치를 보정한 경우에는, 유저에게 시인되는 실공간의 광학 상과, 가상 오브젝트의 표시의 사이에 어긋남이 발생하는 경우가 있다. 예를 들어, 도 4 및 도 5는, AR에서의 가상 오브젝트의 묘화에 수반하는 지연의 영향의 일례에 대하여 설명하기 위한 설명도이다.
우선, 도 4에 도시한 예에 대하여 설명한다. 도 4에 도시한 예는, 가상 오브젝트 V221 및 V223을 실공간상에 중첩되도록 제시한 상태에서, 유저의 시점 P11의 위치를 이동시킨 경우에서의, 당해 가상 오브젝트 V221 및 V223의 제시에 관한 제어의 일례를 나타내고 있다. 도 4에 있어서, 좌측의 각 도면은 시점 P11의 위치가 이동하기 전의 상태를 나타내고 있으며, 우측의 각 도면은 시점 P11의 위치가 이동한 후의 상태를 나타내고 있다.
예를 들어, 시점 P11과, 가상 오브젝트 V221 및 V223의 각각이, 도 4의 좌측 상단의 도면에 도시한 바와 같은 위치 관계에 있는 경우에, 유저에게 시인되는 광학 상은, 「적용 전의 시야」로서 나타낸 도면과 같아진다.
그 후, 도 4의 우측 상단의 도면에 도시한 바와 같이 시점 P11이 신속하게 가로 방향으로 평행 이동하고, 당해 시점 P11의 이동에 수반하여 가상 오브젝트 V221 및 V223의 표시 위치가 보정되도록 한다. 이 경우에, 이동 후의 시점 P11과, 가상 오브젝트 V221 및 V223의 각각 사이의 위치 관계로부터, 유저에게 시인되는 광학 상은, 「기대하는 시야」로서 도시한 도면과 같이, 가상 오브젝트 V223이 가상 오브젝트 V221에 의해 차폐된 상태로 되는 것이 바람직하다. 이것은, 시점 P11의 이동에 수반하는, 유저의 시야 내에서의 각 광학 상의 이동량이, 당해 시점 P11을 기준으로 한 깊이 방향의 위치에 따라서 상이한 것에 기인한다. 보다 구체적으로는, 유저의 보다 가까이에 위치하는 물체의, 시점 P11의 이동에 수반하는 당해 유저의 시야 내에서의 이동량은, 당해 유저에 대해서 보다 멀리에 위치하는 물체의 당해 시야 내에서의 이동량보다도 보다 커진다.
한편, 「단순히 보정을 적용한 시야」로서 도시한 도면은, 가상 오브젝트 V221 및 V223 각각에 대해서 공통의 보정량에 의해 마찬가지로 표시 위치를 보정한 경우에, 유저에게 시인되는 광학 상의 일례를 나타내고 있다. 이 경우에는, 가상 오브젝트 V221 및 V223 중 적어도 어느 하나의 표시 위치의 보정량이, 우측 상단의 도면에 도시한 위치 관계에 따른 값과는 상이하기 때문에, 본디 기대되는 광학 상과는 다른 광학 상이 유저에게 시인되게 된다. 또한, 도 4를 참조하여 설명한 현상은, VR에서도 발생할 가능성이 있지만, AR에서는 실공간상에 가상 오브젝트를 중첩시키기 때문에, 실공간상의 물체와 가상 오브젝트 사이의 위치 관계의 어긋남에 의해, 유저는 보다 부자연스러움을 느끼기 쉬운 경향이 있다.
다음으로, 도 5에 도시한 예에 대하여 설명한다. 도 5에 도시한 예는, 실제 오브젝트 M225가 배치된 실공간상에 중첩되도록 가상 오브젝트 V227을 제시한 상태에서, 유저의 시점 P11의 위치를 이동시킨 경우에서의, 당해 가상 오브젝트 V227의 제시에 관한 제어의 일례를 나타내고 있다. 도 5에 있어서, 좌측의 각 도면은 시점 P11의 위치가 이동하기 전의 상태를 나타내고 있으며, 우측의 각 도면은 시점 P11의 위치가 이동한 후의 상태를 나타내고 있다.
예를 들어, 시점 P11과, 실제 오브젝트 M225와, 가상 오브젝트 V227이, 도 5의 좌측 상단에 도시한 바와 같은 위치 관계에 있는 경우에, 유저에게 시인되는 광학 상이, 「적용 전의 시야」로서 도시한 도면과 같아진다. 즉, 실제 오브젝트 V225의 후방에 가상 오브젝트 V227이 위치하게 되고, 실제 오브젝트 V225에 의해 가상 오브젝트 V227의 일부가 차폐되어, 가상 오브젝트 V227에 대해서는 상부만이 유저에게 시인되게 된다.
그 후, 도 5의 우측 상단의 도면에 도시한 바와 같이 시점 P11이 신속하게 가로 방향으로 평행 이동하고, 당해 시점 P11의 이동에 수반하여 가상 오브젝트 V227의 표시 위치가 보정되도록 한다. 이 경우에, 이동 후의 시점 P11과, 실제 오브젝트 M225와, 가상 오브젝트 V227 사이의 위치 관계로부터, 유저에게 시인되는 광학 상이, 「기대하는 시야」로서 도시한 도면과 같이 되는 것이 바람직하다. 즉, 시점 P11의 이동 전에 실제 오브젝트 M225에 차폐되어 있던 가상 오브젝트 V227의 일부가, 시점 P11의 이동에 수반하여 시인 가능하도록 제시된 상태로 되는 것이 바람직하다.
한편, 「단순히 보정을 적용한 시야」로서 도시한 도면은, 「적용 전의 시야」로서 제시된 가상 오브젝트 V227에 대해서, 단순히 표시 위치의 보정을 적용한 경우에, 유저에게 시인되는 광학 상의 일례를 나타내고 있다. 이 경우에는, 「적용 전의 시야」에 있어서, 가상 오브젝트 V227 중 실제 오브젝트 V225에 차폐된 부분에 대해서는 묘화의 대상으로부터 제외되어 있다. 그 때문에, 시점 P11의 이동에 수반하여, 단순히 가상 오브젝트 V227의 표시 위치만을 보정한 경우에는, 당해 시점 P11의 이동 전에 실제 오브젝트 V225에 차폐되어 있던 부분은 제시되지 않고, 결과로서 일부가 결핍한 가상 오브젝트 V227이 유저에게 시인되게 된다.
이상과 같은 상황을 감안하여, 본 개시에서는, 실공간상에 가상 오브젝트를 중첩시키는 상황하에서, 묘화의 지연에 따르는 영향을 보다 저감하고, 또한 보다 바람직한 양태에서 가상 오브젝트의 표시 보정을 가능하게 하기 위한 구조의 일례에 대하여 제안한다.
<<3. 기술적 특징>>
이하에, 본 실시 형태에 따른 정보 처리 시스템(1)의 기술적 특징에 대하여 설명한다.
<3.1. 기본 원리>
우선, 도 6을 참조하여, 본 실시 형태에 따른 정보 처리 시스템(1)이, AR 기술에 기초하여 실공간상에 가상 오브젝트가 중첩되도록, 당해 가상 오브젝트를 유저에게 제시하기 위한 동작의 대표적인 일례에 대하여 기본 원리를 설명한다. 도 6은, 본 실시 형태에 따른 정보 처리 시스템에 의한, AR 기술에 기초하는 가상 오브젝트의 제시에 관한 동작의 기본 원리에 대하여 설명하기 위한 설명도이다.
도 6에 도시한 바와 같이, 본 실시 형태에 따른 정보 처리 시스템(1)은, 시점 P11을 기점으로 한 시야에 상당하는 영역(즉, 실공간상의 영역)을, 깊이 방향을 따라서 복수의 영역 R111, R113 및 R115로 분할하고, 분할된 각 영역에 대해서 서로 다른 버퍼를 관련짓고 있다. 또한, 시점 P11은, 예를 들어 도 1에서의 입출력 장치(20)의 위치에 상당하며, 나아가서는, 유저의 헤드부 등과 같이 당해 입출력 장치(20)가 장착된 소정의 부위의 위치에 상당할 수 있다. 예를 들어, 도 6에 도시한 예에서는, 영역 R111에 대해서 버퍼 B111이 관련지어져 있다. 마찬가지로, 영역 R113에는 버퍼 B113이 관련지어지고, 영역 R115에는 버퍼 B115가 관련지어져 있다. 또한, 본 실시 형태에 따른 정보 처리 시스템(1)에는, 실공간상에 존재하는 실제 오브젝트와 시점 P11 사이의 거리(즉, 심도)를 측정하고, 당해 심도의 측정 결과를 나타내는 정보(이후에서는, 「뎁스 맵」이라고도 칭함)를 묘화하기 위한 버퍼 B101이, 버퍼 B111, B113 및 B115와는 별도로 설치되어 있다.
이상과 같은 구성을 기초로 하여, 정보 처리 시스템(1)은, 실공간상에 중첩되도록 제시하는 가상 오브젝트를, 당해 가상 오브젝트가 제시되는 실공간상의 위치에 따른 버퍼에 묘화한다. 예를 들어, 도 6에 도시한 예에서는, 가상 오브젝트 V311은, 영역 R111에 위치하도록 제시된다. 그 때문에, 정보 처리 시스템(1)은, 가상 오브젝트 V311을, 영역 R111에 관련지어진 버퍼 B111에 묘화한다. 마찬가지로, 정보 처리 시스템(1)은, 영역 R113에 위치하도록 제시하는 가상 오브젝트 V313을, 당해 영역 R113에 관련지어진 버퍼 B113에 묘화한다. 또한, 정보 처리 시스템(1)은, 영역 R115에 위치하도록 제시하는 가상 오브젝트 V315 및 V317을, 당해 영역 R115에 관련지어진 버퍼 B115에 묘화한다. 또한, 전술한 바와 같이, 정보 처리 시스템(1)은, 실공간상에 존재하는 실제 오브젝트 M319까지의 거리(심도)를 측정하고, 당해 측정 결과를 버퍼 B101에 묘화한다.
다음으로, 정보 처리 시스템(1)은, 각 버퍼로의 각 가상 오브젝트의 묘화 후에 시점 P11이 이동한 경우에는, 당해 시점 P11의 이동량에 따라서, 각 버퍼에 묘화된 각 가상 오브젝트의 표시 위치를, 당해 버퍼에 관련지어진 영역에 따라서 보정한다. 또한, 정보 처리 시스템(1)은, 버퍼 B101에 묘화된 뎁스 맵에 기초하여, 실제 오브젝트 M319의 실공간상에서의 위치(특히, 깊이 방향의 위치)를 인식하고, 당해 실제 오브젝트 M319와, 각 버퍼에 묘화된 각 가상 오브젝트 사이의 위치 관계(특히, 깊이 방향을 따른 위치 관계)를 비교한다. 그리고, 정보 처리 시스템(1)은, 당해 비교 결과에 기초하여, 버퍼 B111 내지 B115 각각에 묘화된 각 가상 오브젝트에 대하여, 실제 오브젝트 M319나 다른 가상 오브젝트에 의해 차폐되지 않은 부분을, 입출력 장치(20)를 통해 유저에게 제시한다.
이상과 같은 구성에 기초하여, 본 실시 형태에 따른 정보 처리 시스템(1)은, 각 가상 오브젝트의 표시 위치를, 당해 가상 오브젝트가 제시되는 실공간상의 위치(특히, 깊이 방향의 위치)에 따라서 개별로 보정한다. 또한, 본 실시 형태에 따른 정보 처리 시스템(1)은, 시점 P11과, 실제 오브젝트와, 각 가상 오브젝트 사이의 위치 관계에 따라서, 당해 가상 오브젝트의 출력을 제어한다. 이에 의해, 본 실시 형태에 따른 정보 처리 시스템(1)은, 묘화의 지연에 따르는 영향을 가상 오브젝트가 중첩되는 위치에 따라서 개개로 보정하며, 또한, 각 가상 오브젝트의 표시를 실제 오브젝트나 다른 가상 오브젝트에 의한 차폐를 고려하여 제어하는 것이 가능해진다.
이상, 도 6을 참조하여, 본 실시 형태에 따른 정보 처리 시스템(1)이, AR 기술에 기초하여 실공간상에 가상 오브젝트가 중첩되도록, 당해 가상 오브젝트를 유저에게 제시하기 위한 동작의 기본 원리에 대하여 설명하였다.
<3.2. 기능 구성>
계속해서, 도 7을 참조하여, 본 실시 형태에 따른 정보 처리 시스템(1)의 기능 구성의 일례에 대하여, 특히 정보 처리 장치(10)의 구성에 착안하여 설명한다. 도 7은, 본 실시 형태에 따른 정보 처리 시스템의 기능 구성의 일례를 나타낸 블록도이다.
도 7에 도시한 바와 같이, 본 실시 형태에 따른 정보 처리 시스템(1)은, 촬상부(201)와, 검지부(251)와, 출력부(211)와, 정보 처리 장치(10)를 포함한다. 촬상부(201), 검지부(251), 출력부(211)는, 도 1 및 도 2를 참조하여 설명한 입출력 장치(20)의 일부의 구성에 상당한다. 또한, 출력부(211)는, 도 2에서의 출력부(211)에 대응하고 있다.
촬상부(201)는, 도 2에 있어서 스테레오 카메라로서 구성된 촬상부(201a 및 201b)에 상당한다. 즉, 촬상부(201)는, 실공간상의 물체(피사체)의 화상을 촬상하고, 촬상한 당해 화상을 정보 처리 장치(10)로 출력한다.
또한, 검지부(251)는, 입출력 장치(20)의 위치나 자세의 변화(나아가서는, 당해 입출력 장치(20)를 장착한 유저의 헤드부의 움직임)를 검출하기 위한 정보 취득에 관한 부분을 모식적으로 나타내고 있다. 구체적인 일례로서, 검지부(251)는, 가속도 센서나 각속도 센서 등과 같은 각종 센서를 포함해도 된다. 검지부(251)는, 취득한 정보를 정보 처리 장치(10)로 출력한다. 이에 의해, 정보 처리 장치(10)는, 입출력 장치(20)의 위치나 자세의 변화를 인식하는 것이 가능해진다.
다음으로, 정보 처리 장치(10)의 구성에 대하여 설명한다. 도 7에 도시한 바와 같이, 정보 처리 장치(10)는, 인식부(101)와, 묘화부(103)와, 복수의 버퍼(105)와, 표시 제어부(107)와, 일시 버퍼(109)와, 버퍼 제어부(111)를 포함한다.
인식부(101)는, 촬상부(201)로부터 촬상된 화상을 취득하고, 취득된 화상에 대해서 해석 처리를 실시함으로써, 당해 화상에 촬상된 실공간상의 물체(피사체)를 인식한다. 구체적인 일례로서, 인식부(101)는, 스테레오 카메라로서 구성된 촬상부(201)로부터, 서로 다른 복수의 시점으로부터 촬상된 화상(이후에서는, 「스테레오 화상」이라고도 칭함)을 취득하고, 취득된 화상 간의 시차에 기초하여, 화상 중에 촬상된 물체까지의 거리를, 당해 화상의 화소마다 측정한다. 이에 의해, 인식부(101)는, 당해 화상이 촬상된 타이밍에서의, 촬상부(201)(나아가서는, 입출력 장치(20))와, 당해 화상에 촬상된 각 물체 사이의, 실공간상에서의 상대적인 위치 관계(특히, 깊이 방향의 위치 관계)를 추정 또는 인식하는 것이 가능해진다.
또한, 인식부(101)는, SLAM에 기초하여 자기 위치 추정과 환경 지도의 작성을 행함으로써, 입출력 장치(20)와, 화상 중에 촬상된 물체와의 사이의, 실공간상에서의 위치 관계를 인식해도 된다. 이 경우에는, 예를 들어 인식부(101)는, 검지부(251)로부터 입출력 장치(20)의 위치 및 자세의 변화를 나타내는 정보를 취득하고, 당해 정보를 SLAM에 기초하는 자기 위치 추정에 이용해도 된다.
이상과 같이 하여, 인식부(101)는, 화상 중에 촬상된 각 물체의 실공간상에서의 위치를 인식하고, 인식 결과를 나타내는 정보를 묘화부(103)로 출력한다. 또한, 본 설명에서는, 인식부(101)는, 상술한 바와 같이, 화상 중의 화소마다 측정된 심도(물체까지의 거리)를 나타내는 정보(즉, 뎁스 맵)를, 묘화부(103)로 출력하는 것으로서 설명한다.
또한, 전술한 바와 같이, 피사체까지의 거리의 측정 방법은, 상술한 스테레오 화상에 기초하는 측정 방법만으로는 한정되지 않는다. 그 때문에, 촬상부(201)에 상당하는 구성을, 거리의 측정 방법에 맞춰 적절히 변경해도 된다. 구체적인 일례로서, TOF에 기초하여 피사체까지의 거리를 측정하는 경우에는, 촬상부(201) 대신에, 적외선을 투광하는 광원과, 당해 광원으로부터 투광되어 피사체에서 반사된 적외선을 검지하기 위한 수광 소자를 설치해도 된다. 또한, 물체까지의 거리를 측정할 때 복수의 측정 방법이 이용되어도 된다. 이 경우에는, 이용되는 측정 방법에 따라서, 당해 측정에 이용하는 정보를 취득하기 위한 구성이, 입출력 장치(20) 또는 정보 처리 장치(10)에 설치되어 있어도 된다. 물론, 화상 중에 촬상된 각 물체의 실공간상에서의 위치의 인식 결과를 나타내는 정보(예를 들어, 뎁스 맵)의 내용에 대해서도, 적용되는 측정 방법에 따라서 적절히 변경되어도 됨은 물론이다.
복수의 버퍼(105)는, 도 6을 참조하여 설명한 버퍼 B101, B111 내지 B115 각각에 대응하고 있다. 복수의 버퍼(105)는, 예를 들어 플래시 메모리나 RAM(Random Access Memory) 등과 같은, 각종 데이터를 일시적 또는 항구적으로 유지하기 위한 기억 장치의 적어도 일부의 기억 영역에 대해서 할당된다. 또한, 하나의 기억 영역을, 논리적으로 복수의 영역으로 분할함으로써, 분할된 당해 영역 각각에 버퍼(105)가 할당되어 있어도 된다. 또한, 다른 일례로서, 서로 다른 기억 장치의 기억 영역 각각에, 서로 다른 버퍼(105)가 할당되어 있어도 된다. 물론, 기억 장치를 복수 설치하는 경우에서도, 버퍼(105)의 수와, 당해 기억 장치의 수는 반드시 일치하지 않아도 됨은 물론이다. 이 경우에는, 예를 들어 복수의 기억 장치 각각의 기억 영역을, 가상적으로 하나의 기억 영역으로서 규정하고, 당해 가상적인 기억 영역을 논리적으로 복수의 영역으로 분할한 다음, 당해 영역 각각에 버퍼(105)를 할당해도 된다.
버퍼 제어부(111)는, 복수의 버퍼(105) 각각과, 묘화 대상으로 되는 각 가상 오브젝트 사이의 관련지음을, 직접적 또는 간접적으로 제어한다. 예를 들어, 버퍼 제어부(111)는, 도 6에 도시한 바와 같이, 시점 P11을 기점으로 한 시야에 상당하는 영역이 깊이 방향을 따라서 분할된 복수의 영역 R111 내지 R115 각각, 서로 다른 버퍼(105)에 관련지어도 된다. 이에 의해, 영역 R111 내지 R115 각각에 제시되는 가상 오브젝트가, 대응하는 당해 영역에 관련지어진 버퍼(105)에 묘화되게 된다. 또한, 버퍼 제어부(111)는, 복수의 버퍼(105) 중 적어도 일부를, 뎁스 맵을 묘화하기 위한 버퍼(즉, 도 6에 도시한 버퍼 B101)로서 할당해도 된다.
또한, 버퍼 제어부(111)는, 복수의 버퍼(105) 각각과, 묘화 대상으로 되는 각 가상 오브젝트 사이의 관련지음을, 각종 상태나 상황의 변화에 따라서 동적으로 변경해도 된다. 또한, 버퍼 제어부(111)는, 복수의 버퍼(105)로서 할당하는 기억 영역의 사이즈나, 당해 버퍼(105)의 매수를, 각종 상태나 상황에 따라서 동적으로 변경해도 된다. 또한, 이들 제어의 일례에 대해서는, 변형예로서 별도 후술한다.
그리고, 버퍼 제어부(111)는, 복수의 버퍼(105) 각각과, 묘화 대상(예를 들어, 각 가상 오브젝트나 뎁스 맵) 사이의 관련지음을 나타내는 정보를, 묘화부(103)에 통지한다. 이에 의해, 묘화부(103)는, 묘화 대상으로 되는 각 가상 오브젝트와, 뎁스 맵의 각각의 묘화처로 되는 버퍼(105)를 인식하는 것이 가능해진다.
또한, 복수의 버퍼(105)로서 할당하는 기억 영역의 설정이나, 당해 복수의 버퍼(105) 각각과 묘화 대상 사이의 관련지음에 대해서는, 미리 고정적으로 설정되어 있어도 된다. 이 경우에는, 당해 설정을 묘화부(103)가 인식 가능하게 구성되어 있으면, 버퍼 제어부(111)는 반드시 설치되어 있지 않아도 된다.
묘화부(103)는, 버퍼 제어부(111)로부터, 복수의 버퍼(105) 각각과, 묘화 대상 사이의 관련지음을 나타내는 정보의 통지를 받는다. 이에 의해, 묘화부(103)는, 묘화 대상으로 되는 각 가상 오브젝트와, 뎁스 맵의 각각의 묘화처로 되는 버퍼(105)를 인식한다.
또한, 묘화부(103)는 인식부(101)로부터, 실공간상의 물체(피사체)의 인식 결과에 기초하여 생성된 뎁스 맵을 취득한다. 묘화부(103)는 취득한 뎁스 맵을, 복수의 버퍼(105) 중 대응하는 버퍼에 묘화한다.
또한, 묘화부(103)는 검지부(251)로부터, 입출력 장치(20)의 위치나 자세의 변화를 나타내는 정보를 소정의 타이밍마다 취득하고, 취득한 정보에 기초하여 시점의 위치나 방향의 변화를 인식한다. 이어서, 묘화부(103)는, 당해 시점의 위치나 방향의 변화의 인식 결과에 기초하는, 당해 시점과 각 가상 오브젝트 사이의 위치 관계에 따라서, 각 가상 오브젝트의 제시 위치나 형상(예를 들어, 제시하는 방향에 따른 형상) 등을 특정한다. 그리고, 묘화부(103)는, 각 가상 오브젝트를, 당해 가상 오브젝트가 직접적 또는 간접적으로 관련지어진 버퍼(105)에 묘화한다. 또한, 묘화부(103)는, 검지부(251)로부터 취득한 정보에 기초하는 시점의 위치나 방향의 변화의 인식 결과를 나타내는 정보를, 후술하는 표시 제어부(107)로 순차 출력한다.
표시 제어부(107)는, 묘화부(103)로부터 시점의 위치나 방향의 변화의 인식 결과를 나타내는 정보를 순차 취득한다. 이에 의해, 표시 제어부(107)는, 시점의 위치나 방향의 변화를 인식하는 것이 가능해진다. 또한, 표시 제어부(107)는, 복수의 버퍼(105) 중 적어도 일부에 묘화된 뎁스 맵에 기초하여, 시야 내에 위치하는 실제 오브젝트의 실공간상에서의 위치를 인식한다.
또한, 표시 제어부(107)는, 묘화부(103)에 의한 각 버퍼(105)로의 각 가상 오브젝트의 묘화가 완료되면, 당해 버퍼(105)에 묘화된 각 가상 오브젝트를 판독한다. 그리고, 표시 제어부(107)는, 각 가상 오브젝트의 출력 타이밍에 있어서, 당해 출력 타이밍에서의 시점의 위치나 방향에 따라서, 각 가상 오브젝트의 표시 위치를, 당해 가상 오브젝트가 묘화된 버퍼(105)마다 보정한다. 또한, 표시 제어부(107)는, 출력 타이밍에서의 시점의 위치나 방향에 따라서, 소정의 버퍼(105)에 묘화된 뎁스 맵(즉, 실제 오브젝트의 위치나 자세)을 보정해도 된다.
다음으로, 표시 제어부(107)는 시점과, 인식된 실제 오브젝트와, 표시 위치가 보정된 각 가상 오브젝트 사이의 위치 관계에 따라서, 당해 가상 오브젝트가 제시된 화상을 합성한다. 이에 의해, 제시 대상으로 되는 각 가상 오브젝트 중, 실제 오브젝트나 다른 가상 오브젝트에 의해 적어도 일부가 차폐된 가상 오브젝트의, 당해 차폐된 부분의 출력이, 보다 자연스러운 양태에서 제한된다. 또한, 상기 보정에 관한 처리나, 상기 합성에 관한 처리에 대해서는, 일련의 처리의 흐름의 일례의 설명과 함께 상세를 별도 후술한다.
또한, 표시 제어부(107)는, 상술한 각 가상 오브젝트의 표시 위치의 보정이나, 당해 가상 오브젝트가 제시된 화상의 합성에 관한 처리를 실행할 때, 당해 처리를 실행하기 위해서 요하는 일시 데이터 등을, 일시 버퍼(109)에 일시적으로 유지시켜도 된다. 일시 버퍼(109)는, 예를 들어 플래시 메모리나 RAM 등의 기억 장치에 의해 구성되고, 각종 데이터를 일시적 또는 항구적으로 유지하기 위한 기억 영역이다.
그리고, 표시 제어부(107)는, 각 버퍼(105)에 묘화된 각 가상 오브젝트를 합성함으로써 생성된 화상(즉, 각 가상 오브젝트의 화상)을, 출력부(211)에 표시시킨다. 이에 의해, 유저는, 실공간상에 중첩되도록 제시된 각 가상 오브젝트를, 출력부(211)를 통해 시인하는 것이 가능해진다.
이상, 도 7을 참조하여, 본 실시 형태에 따른 정보 처리 시스템(1)의 기능 구성의 일례에 대하여, 특히 정보 처리 장치(10)의 구성에 착안하여 설명하였다.
<3.3. 처리>
계속해서, 도 8을 참조하여, 본 실시 형태에 따른 정보 처리 시스템(1)의 일련의 처리의 흐름의 일례에 대하여, 특히, 가상 오브젝트의 묘화와, 묘화된 당해 가상 오브젝트의 출력에 관한 처리에 착안하여 설명한다. 도 8은, 본 실시 형태에 따른 정보 처리 시스템(1)의 일련의 처리의 흐름의 일례를 나타낸 흐름도이다.
우선, 정보 처리 장치(10)(인식부(101))는, 스테레오 카메라로서 구성된 촬상부(201)로부터 촬상된 스테레오 화상을 취득하고, 취득된 스테레오 화상에 기초하여, 화상 중에 촬상된 물체까지의 거리를 당해 화상의 화소마다 측정함으로써, 뎁스 맵을 생성한다. 그리고, 정보 처리 장치(10)(묘화부(103))는, 생성한 뎁스 맵을, 복수의 버퍼(105) 중 대응하는 버퍼에 묘화한다(S101).
또한, 정보 처리 장치(10)(묘화부(103))는, 검지부(251)로부터, 입출력 장치(20)의 위치나 자세의 변화를 나타내는 정보를 소정의 타이밍마다 취득하고, 취득된 정보에 기초하여 시점의 위치나 방향의 변화를 인식한다. 정보 처리 장치(10)는, 당해 인식 결과에 기초하는 시점과 각 가상 오브젝트 사이의 위치 관계에 따라서, 각 가상 오브젝트의 제시 위치나 형상 등을 특정한다. 그리고, 정보 처리 장치(10)는, 각 가상 오브젝트를, 복수의 버퍼(105) 중 대응하는 버퍼(105)에 묘화한다(S103).
또한, 정보 처리 장치(10)(표시 제어부(107)))는, 시점의 위치나 방향의 변화를, 검지부(251)로부터 취득한 정보에 기초하여 순차 인식한다(S105).
다음으로, 정보 처리 장치(10)(표시 제어부(107)))는, 소정의 버퍼(105)로부터 뎁스 맵을 일시 버퍼(109)에 판독하고, 최신의 시점 위치나 방향에 따라서, 당해 뎁스 맵(즉, 실제 오브젝트의 위치나 자세)을 보정한다(S107). 또한, 이때 정보 처리 장치(10)는, 뎁스 맵을 화면의 주사 라인마다 일시 버퍼(109)에 판독하고, 판독된 당해 주사 라인마다 상기 보정을 행해도 된다. 이에 의해, 시점과 실제 오브젝트 사이의 위치 관계가, 당해 시점의 최신 위치나 방향에 따라서 보정된다.
또한, 정보 처리 장치(10)(표시 제어부(107)))는, 최신의 시점 위치나 방향에 따라서, 각 버퍼(105)에 묘화된 각 가상 오브젝트의 표시 위치를 보정한다. 구체적으로는, 정보 처리 장치(10)는, 각 버퍼(105)에 관련지어진 실공간상의 영역(예를 들어, 도 6에 도시한 영역 R111 내지 R115)의 심도(즉, 시점으로부터의 거리)와, 최신의 시점 위치나 방향에 따라서, 당해 버퍼(105)에 묘화된 가상 오브젝트에 대한 표시 위치의 보정량을 산출한다. 그리고, 정보 처리 장치(10)는, 예를 들어 버퍼(105)마다 산출된 보정량에 따라서, 당해 버퍼(105)의 판독 위치를 조정함으로써, 당해 버퍼(105)에 묘화된 가상 오브젝트의 표시 위치를 보정한다(S109).
계속해서, 정보 처리 장치(10)(표시 제어부(107)))는, 출력부(211)의 각 픽셀을 순차 대상으로 하여, 당해 픽셀로 출력하는 정보(예를 들어, 색 정보)를 특정한다. 이때, 우선 정보 처리 장치(10)는, 각 버퍼(105)에 관련지어진 실공간상의 영역 중, 유저에 의해 가까운 영역에 관련지어진 버퍼(105)로부터 대상으로 되는 픽셀을 판독한다(S111).
정보 처리 장치(10)는, 판독된 픽셀에 정보(예를 들어, 색 정보)가 묘화되어 있는지 여부를 판정한다(S113). 판독된 픽셀에 정보가 묘화되어 있는 경우에는(S113, 예), 정보 처리 장치(10)는, 당해 픽셀의 심도와, 뎁스 맵 중의 당해 픽셀에 대응하는 위치의 심도를 비교한다(S115). 정보 처리 장치(10)는, 판독된 픽셀이 뎁스 맵이 나타내는 심도(즉, 실제 오브젝트의 깊이 방향의 위치)를 포함하고, 가장 앞쪽에 위치하는 경우에는(S115, 예), 판독된 당해 픽셀에 묘화된 정보를 출력부(211)로 출력시킨다(S117).
또한, 정보 처리 장치(10)는, 판독된 픽셀이 가장 앞쪽에 위치하지 않는 경우(S115, 아니오)나, 판독된 픽셀에 정보가 묘화되지 않는 경우(S113, 아니오)에는, 모든 영역에 대하여 상술한 판정이 완료되었는지 여부를 확인한다(S119). 아직, 판정의 대상으로 하지 않는 영역이 존재하는 경우에는(S119, 아니오), 정보 처리 장치(10)는, 판정의 대상으로 하지 않는 영역 중, 보다 유저에 가까운 영역을 새로운 대상으로 한다. 이 경우에는, 정보 처리 장치(10)는, 새롭게 대상으로 한 영역에 관련지어진 버퍼(105)로부터, 대응하는 픽셀을 판독하고(S111), 당해 픽셀에 대하여 상술한 일련의 판정을 행한다(S113, S115).
또한, 모든 영역에 대해서 상기 판정이 이미 행해진 경우에는(S119, 예), 대상으로 되는 픽셀에 대하여 정보가 묘화되지 않은 상태이거나, 또는 실제 오브젝트에 의해 가상 오브젝트가 차폐되어 있는 상태로 된다. 그 때문에, 이 경우에는, 정보 처리 장치(10)는, 대상으로 되는 픽셀에 대응하는 정보로서, 출력부(211)에 무효색을 출력시킨다(S121).
이상과 같이 하여, 정보 처리 장치(10)는, 전체 주사 라인 각각의 일련의 픽셀에 대하여 정보의 출력이 완료될 때까지(S123, 아니오), 상기에 설명한 당해 픽셀로의 정보의 출력에 관한 일련의 처리를 계속한다. 그리고, 전체 주사 라인 각각의 일련의 픽셀에 대하여 정보의 출력이 완료되면(S123, 예), 상술한 가상 오브젝트의 묘화와, 묘화된 당해 가상 오브젝트의 출력에 관한 일련의 처리를 종료한다.
또한, 도 8을 참조하여 상술한 일련의 처리의 흐름은 어디까지나 일례이며, 각 처리의 실행 단위는 반드시 도 8에 도시한 예만으로는 한정되지 않는다. 예를 들어, 참조 부호 S101 및 S103을 붙인 뎁스 맵이나 가상 오브젝트의 묘화에 관한 처리의 실행 후에, 참조 부호 S105 내지 S123으로 나타내어진 정보의 표시에 관한 일련의 처리가 복수 세트 실행되어도 된다.
이상, 도 8을 참조하여, 본 실시 형태에 따른 정보 처리 시스템(1)의 일련의 처리의 흐름의 일례에 대하여, 특히, 가상 오브젝트의 묘화와, 묘화된 당해 가상 오브젝트의 출력에 관한 처리에 착안하여 설명하였다.
<<4. 변형예>>
계속해서, 본 실시 형태에 따른 정보 처리 시스템(1)의 변형예에 대하여 설명한다.
<4.1. 변형예 1: 가상 오브젝트와 버퍼 사이의 관련지음의 일례>
상술한 실시 형태에서는, 시점을 기점으로 한 시야에 상당하는 영역을 깊이 방향을 따라서 복수의 영역으로 분할하고, 분할된 각 영역에 대해서 서로 다른 버퍼(105)를 관련지음으로써, 각 가상 오브젝트에 대해서 버퍼(105)를 간접적으로 관련짓고 있었다. 이에 반하여, 변형예 1에 따른 정보 처리 시스템에서는, 제시 대상으로 되는 가상 오브젝트 각각에 대해서, 서로 다른 버퍼(105)를 직접적으로 관련짓는다.
예를 들어, 도 9는, 변형예 1에 따른 정보 처리 시스템의 개요에 대하여 설명하기 위한 설명도이며, 제시 대상으로 되는 가상 오브젝트와 버퍼 사이의 관련지음의 일례를 나타내고 있다. 도 9에 도시한 바와 같이, 변형예 1에 따른 정보 처리 시스템은, 제시 대상으로 되는 가상 오브젝트 V411, V413 및 V415 각각에 대해서, 서로 다른 버퍼를 관련짓고 있다. 보다 구체적으로는, 가상 오브젝트 V411은, 버퍼 B211에 관련지어져 있다. 그 때문에, 정보 처리 시스템(1)은, 가상 오브젝트 V411을, 버퍼 B211에 묘화하게 된다. 마찬가지로, 가상 오브젝트 V413은, 버퍼 B213에 관련지어져 있으며, 가상 오브젝트 V415는, 버퍼 B215에 관련지어져 있다. 또한, 뎁스 맵에 대해서는, 전술한 실시 형태와 마찬가지로, 버퍼 B211, B213 및 B215와는 별도로 설치된 버퍼 B101에 묘화된다.
이상과 같은 구성에 기초하여, 변형예 1에 따른 정보 처리 시스템은, 시점 P11이 이동한 경우에는, 당해 시점 P11의 이동량에 따라서, 각 버퍼에 묘화된 각 가상 오브젝트의 표시 위치를, 시점 P11과 당해 가상 오브젝트 사이의 위치 관계에 따라서 개별로 보정한다. 또한, 당해 정보 처리 시스템은, 버퍼 B101에 묘화된 뎁스 맵에 기초하여, 실제 오브젝트 M417의 실공간상에서의 위치를 인식하고, 당해 실제 오브젝트 M417과, 각 버퍼에 묘화된 각 가상 오브젝트 사이의 위치 관계를 비교한다. 그리고, 당해 정보 처리 시스템은, 당해 비교 결과에 기초하여, 버퍼 B211 내지 B215 각각에 묘화된 각 가상 오브젝트 중, 실제 오브젝트 M417이나 다른 가상 오브젝트에 의해 차폐되지 않은 부분을, 입출력 장치(20)를 통해 유저에게 제시하면 된다.
이상과 같은 구성으로부터, 변형예 1에 따른 정보 처리 시스템은, 특히, 제시 대상으로 되는 가상 오브젝트의 수가 미리 제한되어 있는 상황하에서는, 각 가상 오브젝트의 표시를 보다 고정밀도로 보정하는 것이 가능해진다.
<4.2. 변형예 2: 영역 분할의 일례>
계속해서, 변형예 2로서, 실공간상의 영역(즉, 시점을 기점으로 한 시야에 상당하는 영역)을 복수의 영역으로 분할하는 방법의 일례에 대하여 설명한다.
예를 들어, 도 10은, 변형예 2에 따른 정보 처리 시스템의 일 형태에 대하여 개요를 설명하기 위한 설명도이며, 시점 P11을 기점으로 한 시야에 상당하는 영역을 깊이 방향을 따라서 복수의 영역으로 분할하는 방법의 일례를 나타내고 있다. 구체적으로는, 도 10에 도시한 예에서는, 시점 P11을 기점으로 한 시야에 상당하는 영역을 깊이 방향을 따라서 복수의 영역 R211 내지 R215로 분할할 때, 보다 앞쪽에 위치하는 영역일수록, 깊이 방향을 따른 폭이 보다 좁아지도록 분할되어 있다. 보다 구체적으로는, 도 10에 도시한 예에서는, 보다 앞쪽에 위치하는 영역 R211의 깊이 방향의 폭이 가장 좁고, 이어서, 영역 R213, R215, R217의 순서대로 깊이 방향의 폭이 보다 넓어진다. 이와 같이, 도 10에 도시한 예에서는, 정보 처리 시스템은, 유저의 근방을 보다 미세한 영역으로 분할하고, 분할된 영역 각각에 대해서 서로 다른 버퍼를 관련짓는다.
이와 같은 구성에 의해, 도 10에 도시한 예에서는, 시점 P11이 이동한 경우에, 시점 P11(즉, 유저)의 보다 근방에 중첩되도록 제시하는 가상 오브젝트일수록, 표시 위치를 보다 미세하게 보정하는 것이 가능해진다. 특히, 시점의 이동에 수반하여 표시 위치를 보정하는 경우에는, 당해 시점에 보다 가까이 위치하는 가상 오브젝트일수록 표시 위치의 보정량이 보다 커지고, 보다 멀리에 위치하는 가상 오브젝트에 대해서는, 표시 위치의 보정량이 보다 작아지는 경향이 있다. 이러한 특성으로부터, 시점의 보다 근방에서는, 깊이 방향의 위치 차이에 수반하는 당해 보정량의 차가, 시점으로부터 보다 이격한 위치에 비해 보다 커지는 경향이 있다. 또한, 각 가상 오브젝트의 표시 위치의 보정은, 상술한 바와 같이 버퍼 단위로 행해진다. 이상과 같은 특성으로부터, 유저의 근방을 보다 미세한 영역으로 분할하고, 분할된 영역 각각에 대해서 서로 다른 버퍼를 관련지음으로써, 버퍼를 효율적으로 이용하며, 또한, 각 가상 오브젝트의 표시 위치의 보정에 관한 정밀도를 향상시키는 것이 가능해진다.
또한, 상기에서는, 주로, 시점 P11을 기점으로 한 시야에 상당하는 영역을 미리 복수의 영역으로 분할하는(즉, 정적으로 분할하는) 경우의 일례에 대하여 설명하였지만, 당해 영역의 분할이 상황에 따라서 동적으로 행해져도 된다.
예를 들어, 도 11은, 변형예 2에 따른 정보 처리 시스템의 다른 일 형태에 대하여 개요를 설명하기 위한 설명도이며, 유저가 주목하고 있는 실공간상의 위치의 근방을 보다 미세한 영역으로 분할하는 경우의 일례를 나타내고 있다.
예를 들어, 도 11에 도시한 예에서는, 참조 부호 M421로 나타내어진 실제 오브젝트에 대해서 유저가 시선을 향하고 있는 경우를 상정하고, 시점 P11을 기점으로 한 시야에 상당하는 영역이 깊이 방향을 따라서 복수의 영역 R311 내지 R319로 분할되어 있다. 보다 구체적으로는, 도 12에 도시한 예에서는, 유저가 주목하고 있는 위치(즉, 실제 오브젝트 M421이 존재하는 위치)를 포함하는 영역 R315와, 당해 영역 R315에 인접하는 영역 R313 및 R317의 깊이 방향의 폭이, 다른 영역 R311 및 R319보다도 좁아지도록 설정되고 있다. 또한, 영역 R311 내지 R319의 각각에는, 서로 다른 버퍼가 관련지어져 있다.
이와 같은 구성에 의해, 정보 처리 시스템은, 시점 P11이 이동한 경우에, 유저가 주목하고 있는 위치의 보다 근방에 제시되는 가상 오브젝트일수록, 표시 위치를 보다 미세하게 보정하는 것이 가능해진다.
또한, 이동하는 가상 오브젝트를 유저에게 제시하는 상황하에서는, 가상 오브젝트의 움직임의 예측 결과에 따라서, 시점 P11을 기점으로 한 시야에 상당하는 영역이 동적으로 복수의 영역으로 분할되어도 된다. 예를 들어, 도 12는, 변형예 2에 따른 정보 처리 시스템의 다른 일 형태에 대하여 개요를 설명하기 위한 설명도이며, 가상 오브젝트의 움직임의 예측 결과에 따라서, 실공간상의 영역을 복수의 영역으로 분할하는 경우의 일례를 나타내고 있다.
예를 들어, 도 12에 도시한 예에서는, 가상 오브젝트 V431의 이동처로서 참조 부호 V433으로 나타내어진 위치가 예측된 경우를 상정하고, 시점 P11을 기점으로 한 시야에 상당하는 영역이 깊이 방향을 따라서 복수의 영역 R321 내지 R329로 분할되어 있다. 보다 구체적으로는, 도 12에 도시한 예에서는, 가상 오브젝트 V431의 이동처로서 예측된 위치 V433을 포함하는 영역 R325와, 당해 영역 R325에 인접하는 영역 R323 및 R327의 깊이 방향의 폭이, 다른 영역 R321 및 R329보다도 좁아지도록 설정되어 있다. 또한, 영역 R321 내지 R329의 각각에는, 서로 다른 버퍼가 관련지어져 있다.
이와 같은 구성에 의해, 정보 처리 시스템은, 시점 P11이 이동한 경우에, 가상 오브젝트 V431의 이동에 수반하는, 당해 가상 오브젝트 V431과, 다른 실제 오브젝트나 가상 오브젝트 사이의 위치 관계의 변화를 고려하여, 보다 고정밀도로 보정을 행하는 것이 가능해진다.
또한, 예측 결과를 이용한 보정은, 도 12에 도시한 바와 같이 가상 오브젝트의 움직임의 예측 결과를 이용한 방법만으로는 한정되지 않는다. 구체적인 일례로서, 정보 처리 시스템은, 유저의 헤드부의 위치나 자세의 변화 검출 결과에 기초하여 시점의 위치나 방향의 변화를 예측함으로써, 당해 예측 결과에 기초하여, 실공간상의 영역을 복수의 영역을 복수의 영역으로 분할해도 된다. 또한, 다른 일례로서, 실제 오브젝트가 이동하고 있는 상황하에서, 정보 처리 시스템은, 당해 실제 오브젝트의 이동처를 예측하고, 당해 예측 결과에 기초하여, 실공간상의 영역을 복수의 영역으로 분할해도 된다.
또한, 상술한 예는 어디까지나 일례이며, 실공간상의 영역을 복수의 영역으로 분할하는 방법은, 반드시 상술한 예로는 한정되지 않는다. 예를 들어, 보다 우선하여 제시할 대상(즉, 표시 위치를 보다 미세하게 보정하는 대상)에 따라서, 실공간상의 영역이 복수의 영역으로 분할되면 된다. 보다 구체적인 일례로서, 정보 처리 시스템의 사용례나 이용 장면(scene)마다 우선하여 제시할 대상을 설정함으로써, 당해 사용례나 이용 장면에 따라서, 실공간상의 영역이 복수의 영역으로 분할되어도 된다.
이상, 변형예 2로서, 실공간상의 영역(즉, 시점을 기점으로 한 시야에 상당하는 영역)을 복수의 영역으로 분할하는 방법의 일례에 대하여 설명하였다.
<4.3. 변형예 3: 버퍼의 제어예>
계속해서, 변형예 3으로서, 버퍼를 제어의 일례에 대하여 설명한다.
예를 들어, 정보 처리 시스템은, 가상 오브젝트나 뎁스 맵을 묘화하기 위해서 할당하는 버퍼의 매수를, 각종 상태나 상황에 따라서 동적으로 제어해도 된다.
예를 들어, 변형예 2에서는, 실공간상의 영역을 상황에 따라서 동적으로 복수의 영역으로 분할하는 예에 대하여 설명하였지만, 이때 정보 처리 시스템은, 분할되는 영역의 수를 동적으로 변경해도 된다. 이 경우에는, 분할된 각 영역에 관련지어지는 버퍼의 수도, 분할된 당해 영역의 수에 따라서 변동하기 때문에, 정보 처리 시스템은, 분할된 영역의 수에 따라서, 가상 오브젝트를 묘화하는 버퍼의 매수를 제어해도 된다.
또한, 다른 일례로서, 변형예 1에 나타낸 바와 같이 가상 오브젝트에 대하여 직접 버퍼를 관련지은 경우에는, 정보 처리 시스템은, 제시 대상으로 되는 가상 오브젝트의 수에 따라서, 가상 오브젝트를 묘화하는 버퍼의 매수를 제어해도 된다.
또한, 정보 처리 시스템은, 실공간상의 영역이나 가상 오브젝트에 대한 버퍼의 관련지음을 동적으로 변경한 결과로서, 당해 버퍼의 매수가 부족한 경우에는, 소정의 기억 영역으로부터 새롭게 버퍼를 할당해도 된다. 또한, 정보 처리 시스템은, 실공간상의 영역이나 가상 오브젝트에 대한 버퍼의 관련지음을 동적으로 변경한 결과로서, 일부의 버퍼가 사용되지 않은 상황으로 된 경우에는, 당해 버퍼가 할당된 기억 영역을 해방해도 된다.
또한, 실공간상의 영역을 복수의 영역으로 분할한 경우에서도, 반드시, 분할된 영역 모두에 대하여 가상 오브젝트가 중첩된다고는 할 수 없다. 이러한 경우에는, 가상 오브젝트가 중첩되지 않는 영역에 관련지어진 버퍼에는, 가상 오브젝트가 묘화되지 않는 경우가 있다. 이러한 상황을 감안하여, 예를 들어 정보 처리 시스템은, 가상 오브젝트가 중첩되지 않는 영역에 대해서는, 버퍼의 관련지음을 해제해도 된다. 이 경우에는, 정보 처리 시스템은, 영역으로의 관련지음이 해제된 버퍼가 할당된 기억 영역을 해방해도 된다.
또한, 정보 처리 시스템이, 상황에 따라서 가상 오브젝트의 표시를 일시적으로 억제하는(즉, 비표시로 하는) 경우도 상정될 수 있다. 이러한 경우에는, 당해 정보 처리 시스템은, 가상 오브젝트의 표시를 억제하는 기간 중에는, 당해 가상 오브젝트가 중첩되어 있던 영역으로의 버퍼의 관련지음을 해제함으로써 당해 가상 오브젝트의 묘화 자체를 억제해도 되고, 당해 버퍼가 할당된 기억 영역을 해방해도 된다. 또한, 표시를 억제하고 있던 가상 오브젝트를 다시 표시하는 경우에는, 정보 처리 시스템은, 당해 가상 오브젝트를 제시하는 영역에 대해서 재차 버퍼를 관련지으면 된다. 또한, 이때 정보 처리 시스템은, 당해 영역에 관련짓는 버퍼를 다시 할당해도 된다.
또한, 정보 처리 시스템은, 일부의 가상 오브젝트의 묘화를 동적으로 제한함으로써, 일부의 버퍼 사용을 제한해도 된다. 구체적인 일례로서, 정보 처리 시스템은, 각종 상태나 상황에 따라서, 보다 안쪽에 제시되는 가상 오브젝트에 대해서는 유저가 주목하지 않은 것으로서, 당해 가상 오브젝트의 묘화를 제한해도 된다. 또한 다른 일례로서, 정보 처리 시스템은, 각종 상태나 상황에 따라서, 유저가 주목하고 있는 위치로부터 보다 이격하고 있는 가상 오브젝트에 대해서는 유저가 주목하지 않는 것으로서, 당해 가상 오브젝트의 묘화를 제한해도 된다. 또한, 정보 처리 시스템은, 묘화의 제한에 수반하여 사용이 제한된 버퍼에 대해서는, 다른 가상 오브젝트의 묘화에 사용하는 등과 같이, 다른 용도로 사용해도 된다.
또한, 전술한 바와 같이, 가상 오브젝트의 표시 위치의 보정은, 버퍼 단위로 실행된다. 그 때문에, 예를 들어 일부의 영역에 대해서 복수의 가상 오브젝트가 중첩되는 상황하에서는, 예를 들어 정보 처리 시스템은, 재차 당해 영역을 더욱 미세하게 분할하고, 분할된 각 영역 각각에 대해서 개별로 버퍼를 관련지어도 된다. 이러한 제어에 의해, 정보 처리 시스템은, 당해 복수의 가상 오브젝트 각각의 표시 위치를 개별로 보정하는 것이 가능해진다.
또한, 다른 일례로서, 정보 처리 시스템은, 가상 오브젝트나 뎁스 맵을 묘화하는 각 버퍼 중 적어도 일부의 버퍼 사이즈를 제어해도 된다.
구체적인 일례로서, 정보 처리 시스템은, 버퍼 간에 우선도를 설정함으로써, 당해 우선도에 따른 사이즈에 따라 당해 버퍼를 할당해도 된다. 예를 들어, 도 13은, 변형예 3에 따른 정보 처리 시스템의 일 형태에 대하여 개요를 설명하기 위한 설명도이며, 버퍼 사이즈의 제어의 일례에 대하여 나타내고 있다.
일반적으로는, 보다 먼 쪽에 위치하는 가상 오브젝트는 보다 작게 제시되고, 상대적으로 당해 가상 오브젝트의 해상도도 낮아지는 경향이 있다. 그 때문에, 도 13에 도시한 예에서는, 정보 처리 시스템은, 시점 P11을 기점으로 한 시야에 상당하는 영역이 깊이 방향을 따라서 분할된 복수의 영역 R331 내지 R337에 관련짓는 버퍼의 사이즈를, 당해 영역의 깊이 방향의 위치에 따라서 설정하고 있다. 구체적으로는, 도 13에 도시한 예에서는, 정보 처리 시스템은, 보다 앞쪽에 위치하는 영역 R331 및 R333의 우선도를, 보다 안쪽에 위치하는 영역 R335 및 R337의 우선도보다도 높게 설정하고, 당해 우선도에 따라서 관련짓는 버퍼의 사이즈를 설정하고 있다. 즉, 정보 처리 시스템은, 영역 R335 및 R337에 관련지어진 버퍼의 사이즈를, 영역 R331 및 R333에 관련지어진 버퍼의 사이즈보다도 작게 설정하고 있다. 또한, 정보 처리 시스템은, 사이즈가 작은 버퍼에 묘화한 가상 오브젝트에 대해서는, 다른 버퍼에 묘화된 가상 오브젝트와 합성할 때, 다른 버퍼에 묘화된 가상 오브젝트의 사이즈에 맞춰 확대 처리를 실시한 다음 당해 합성을 행하면 된다.
상술한 바와 같이, 일부의 버퍼 사이즈를 제한함으로써, 예를 들어 가상 오브젝트의 묘화에 관한 처리 부하를 경감하는 것도 가능해진다. 또한, 상술한 버퍼의 사이즈 제어는, 각종 상태나 상황에 따라서 동적으로 행해져도 된다.
또한, 정보 처리 시스템은, 일부의 버퍼 사이즈를 제한하기 위해서, 가상 오브젝트의 묘화에 관한 동작이나, 당해 가상 오브젝트의 출력에 관한 동작을 전환해도 된다. 예를 들어, 도 14는, 변형예 3에 따른 정보 처리 시스템의 일 형태에 대하여 개요를 설명하기 위한 설명도이며, 버퍼의 사이즈를 제한하기 위한 구조의 일례에 대하여 나타내고 있다.
구체적으로는, 전술한 바와 같이, 보다 먼 쪽에 위치하는 가상 오브젝트는 보다 작게 제시되고, 상대적으로 해상도도 낮아지는 경향이 있고, 당해 가상 오브젝트의 표시를 미세하게 변화시켰다고 해도, 유저가, 당해 표시의 변화를 인식하는 것이 곤란한 경우가 있다. 그래서, 도 14에 도시한 예에서는, 정보 처리 시스템은, 보다 먼 쪽에 제시하는 가상 오브젝트에 대해서는, 시점과의 사이의 위치 관계에 따라서 제시하는 화상을 미리 묘화해 두고, 당해 화상을 전환함으로써, 당해 묘화를 위한 버퍼 사이즈를 제한하고 있다.
구체적으로는, 도 14에 도시한 예에서는, 제시 대상으로 되는 가상 오브젝트에 대하여, 서로 다른 방향에서 본 경우의 당해 가상 오브젝트의 화상 V441a 내지 V441c가 미리 묘화되어 있다. 즉, 화상 V441a는, 가상 오브젝트를 정면으로부터 참조한 경우의 화상이다. 또한, 화상 V441b는, 가상 오브젝트의 정면에 대해서 우측으로부터 참조한 경우의 화상이며, 화상 V441b는, 가상 오브젝트의 정면에 대해서 좌측으로부터 참조한 경우의 화상이다. 그리고, 정보 처리 시스템은, 가상 오브젝트를 중첩하는 위치와 시점 사이의 위치 관계에 따라서, 화상 V441a 내지 V441c 중 어느 하나를, 당해 가상 오브젝트의 화상으로서 제시한다. 이러한 구성으로 함으로써, 3차원적으로 제시된 가상 오브젝트를 묘화하는 경우에 비하여, 버퍼의 사이즈를 제한하는 것이 가능하게 되고, 추가로 당해 묘화에 관한 처리 부하도 경감하는 것도 가능해진다.
또한, 정보 처리 시스템은, 버퍼 간에 우선도를 설정하고, 당해 우선도에 따라서, 일부의 버퍼에 묘화된 가상 오브젝트에 대한 표시 위치의 보정에 관한 처리를 제한해도 된다. 예를 들어, 정보 처리 시스템은, 유저가 주목하고 있는 위치의 보다 근방에 위치하는 영역에 관련지어진 버퍼의 우선도를 보다 높게 설정함으로써, 유저가 주목하고 있는 위치로부터 이격한 위치에 중첩되는 가상 오브젝트에 대해서는, 표시 위치의 보정에 관한 처리를 제한해도 된다. 이와 같은 구성에 의해, 정보 처리 시스템은, 각 버퍼에 묘화된 가상 오브젝트를 합성할 때의 처리 부하를 경감하는 것이 가능해진다.
또한, 정보 처리 시스템이 버퍼의 매수나 사이즈를 동적으로 제어하기 위한 조건에 대해서는, 예를 들어 정보 처리 시스템의 사용례나 이용 장면에 따라서 적절히 설정하면 된다. 구체적인 일례로서, 정보 처리 시스템은 사용 가능한 전력량이 제한되는 상황하(예를 들어, 배터리 구동 시 등)에서는, 버퍼의 매수나 사이즈를 제한하고, 가상 오브젝트의 묘화나 합성에 관한 처리 부하를 경감함으로써, 소비 전력을 억제해도 된다.
이상, 변형예 3으로서, 버퍼를 제어의 일례에 대하여 설명하였다.
<4.4. 변형예 4: 가상 오브젝트의 묘화나 출력에 관한 제어의 일례>
계속해서, 변형예 4로서, 각 버퍼로의 가상 오브젝트의 묘화나, 당해 가상 오브젝트의 출력에 관한 제어의 일례에 대하여 설명한다.
(원경(遠景)에 제시하는 가상 오브젝트의 묘화나 출력의 제어예)
우선, 원경에 제시하는 가상 오브젝트의 묘화나 출력을 제어하는 경우의 일례에 대하여 설명한다. 전술한 바와 같이, 보다 먼 쪽에 위치하는 가상 오브젝트는, 표시를 미세하게 변화시켰다고 해도, 유저가 당해 표시의 변화를 인식하는 것이 곤란한 경우가 있다. 그래서, 예를 들어 정보 처리 시스템은, 시점의 위치에서보다 떨어진 영역에 제시하는 일련의 가상 오브젝트에 대해서는, 개별로 3차원적인 묘화를 행하지 않고, 2차원적인 화상으로서 묘화함으로써, 당해 묘화에 관한 처리 부하를 경감해도 된다. 이 경우에는, 정보 처리 시스템은, 소위 큐브 맵(Cubemap)이나 패럴랙스 등의 기술에 기초하여, 대상으로 되는 영역과 시점과의 위치 관계에 따라서, 당해 영역에 중첩되는 일련의 가상 오브젝트가 묘화된 2차원적인 화상의 표시 위치를 제어하면 된다.
(표시 위치를 고정하는 경우의 제어의 일례)
다음으로, 소위 UI 등과 같이 표시 위치가 고정된 정보의 묘화나 출력을 제어하는 경우의 일례에 대하여 설명한다. UI 등과 같이, 실공간과의 관련지음이 행해지지 않고 독립하여 제시되는 표시 정보에 대해서는, 시점의 위치나 방향이 변화된 경우에서도, 항상 동일한 위치에 제시되는 것이 기대된다. 즉, UI 등의 표시 정보에 대해서는, 예를 들어 시점의 위치나 방향이 변화된 경우에서도, 표시 위치의 보정이 불필요해지는 경우가 있다. 이러한 상황을 감안하여, 정보 처리 시스템은, 예를 들어 당해 보정의 대상으로부터 제외한 일련의 표시 정보를 묘화하기 위한 버퍼를 설치해도 된다.
(묘화나 합성에 관한 처리 타이밍의 제어)
다음으로, 묘화나 합성에 관한 처리 타이밍을 제어하는 경우의 일례에 대하여 설명한다. 가상 오브젝트의 묘화에 관한 처리나, 각 버퍼에 묘화된 가상 오브젝트의 합성에 관한 처리는, 처리 부하가 비교적 높은 경향이 있고, 당해 처리 부하에 수반하여 처리 시간이 길어지는 경우가 있다. 이러한 상황을 감안하여, 정보 처리 시스템은, 유저가 가상 오브젝트를 시인하지 않는 타이밍을 검출하고, 당해 타이밍에 전술한 처리 부하가 높은 처리를 실행해도 된다.
구체적인 일례로서, 정보 처리 시스템은, 유저가 깜박거리는 타이밍을 예측함으로써, 당해 예측 결과에 기초하여 유저가 눈을 감는 타이밍에 맞춰 처리 부하가 높은 제어를 실행해도 된다. 또한, 이때 정보 처리 시스템은, 유저가 눈을 뜨는 타이밍에 맞춰서, 각 버퍼에 묘화된 가상 오브젝트의 표시 위치를 보정하고, 당해 가상 오브젝트를 합성하는 타이밍을 제어해도 된다.
또한, 유저가 깜박거리는 타이밍을 예측하는 것이 가능하면, 그 방법에 대해서는 특별히 한정되지 않는다. 구체적인 일례로서, 정보 처리 시스템은, 유저의 행동을 모니터링하고, 당해 모니터링의 결과와 당해 유저의 행동 특성의 비교 결과에 따라서, 당해 유저가 깜박거리는 타이밍을 예측해도 된다.
이상, 변형예 4로서, 각 버퍼로의 가상 오브젝트의 묘화나, 당해 가상 오브젝트의 출력에 관한 제어의 일례에 대하여 설명하였다.
<4.5. 변형예 5: 인터랙션의 제어의 일례>
계속해서, 변형예 5로서, 본 실시 형태에 따른 정보 처리 시스템에서의 인터랙션의 제어의 일례에 대하여 설명한다.
(다른 출력 정보와의 조합)
우선, 가상 오브젝트의 제시와, 다른 출력 정보의 제어를 조합함으로써, 가상 오브젝트의 묘화에 수반하는 지연의 영향을 보다 완화하기 위한 제어의 일례에 대하여 설명한다. 예를 들어, 가상 오브젝트를 제시할 때 당해 가상 오브젝트가 제시된 위치로부터 음향이 도래하고 있도록, 당해 음향의 출력을 제어함으로써, 당해 가상 오브젝트로부터 음향이 출력되어 있는 상황을 모의하는 경우가 있다. 이러한 경우에는, 정보 처리 시스템은 시점과, 제시 대상으로 되는 각 가상 오브젝트와, 실공간상에 위치하는 실제 오브젝트 사이의 위치 관계에 따라서 음향의 출력을 제어함으로써, 가상 오브젝트의 묘화에 수반하는 지연의 영향을 완화시켜도 된다.
보다 구체적인 일례로서, 시점과, 음향을 출력하고 있는 상태를 모의하는 가상 오브젝트의 사이에, 다른 가상 오브젝트나 실제 오브젝트가 개재되어 있는 상황에 착안한다. 이러한 상황에서는, 정보 처리 시스템은, 예를 들어 당해 음향의 음량이나 음질을 제어함으로써, 가상 오브젝트로부터 출력된 음향이, 다른 가상 오브젝트나 실제 오브젝트에 의해 차폐되어 있는 상황을 모의해도 된다. 이러한 제어에 의해, 가상 오브젝트의 표시 위치의 보정이 불완전한 경우에서도, 당해 불완전함을 보간하는 것이 가능해진다.
(표시 양태의 제어예)
다음으로, 가상 오브젝트의 표시 양태의 제어와, 당해 제어에 의해 기대되는 효과의 일례에 대하여 설명한다. 예를 들어, 정보 처리 시스템은, 유저가 주목하고 있는 가상 오브젝트가 중첩되는 영역 이외의 다른 영역에 중첩하는 다른 가상 오브젝트의 투과도를 높이는(예를 들어, 반투명으로 제시하는) 바와 같이, 당해 가상 오브젝트의 표시를 제어해도 된다. 이러한 제어에 의해, 유저가 주목하고 있는 가상 오브젝트가 보다 강조되고, 다른 가상 오브젝트와의 사이의 위치 관계(특히, 깊이 방향의 위치 관계)를 보다 이해하기 쉽게 제시하는 것이 가능해진다.
또한, 일부의 가상 오브젝트를 보다 강조하여 제시함으로써, 당해 가상 오브젝트에 의해 유저의 시선을 유도하는 것도 가능하다. 이러한 제어를 이용함으로써, 정보 처리 시스템은, 예를 들어 유저의 시선을 유도한 위치의 근방에서, 가상 오브젝트의 표시 위치를 보다 미세하게 제어할 수 있도록, 실공간상의 영역의 분할이나, 당해 영역에 대한 버퍼의 관련지음을 제어해도 된다.
이상, 변형예 5로서, 본 실시 형태에 따른 정보 처리 시스템에서의 인터랙션의 제어의 일례에 대하여 설명하였다.
<<5. 하드웨어 구성>>
다음으로, 도 15를 참조하면서, 전술한 정보 처리 장치(10) 및 입출력 장치(20)와 같이, 본 실시 형태에 따른 정보 처리 시스템(1)을 구성하는 정보 처리 장치(900)의 하드웨어 구성에 대하여, 상세히 설명한다. 도 15는, 본 개시의 일 실시 형태에 따른 정보 처리 시스템(1)을 구성하는 정보 처리 장치(900)의 하드웨어 구성의 일 구성예를 나타내는 기능 블록도이다.
본 실시 형태에 따른 정보 처리 시스템(1)을 구성하는 정보 처리 장치(900)는, 주로 CPU(901)와, ROM(903)과, RAM(905)을 구비한다. 또한, 정보 처리 장치(900)는, 호스트 버스(907)와, 브리지(909)와, 외부 버스(911)와, 인터페이스(913)와, 입력 장치(915)와, 출력 장치(917)와, 스토리지 장치(919)와, 드라이브(921)와, 접속 포트(923)와, 통신 장치(925)를 더 구비한다.
CPU(901)는, 연산 처리 장치 및 제어 장치로서 기능하고, ROM(903), RAM(905), 스토리지 장치(919) 또는 리무버블 기록 매체(927)에 기록된 각종 프로그램에 따라서, 정보 처리 장치(900) 내의 동작 전반 또는 그 일부를 제어한다. ROM(903)은, CPU(901)가 사용하는 프로그램이나 연산 파라미터 등을 기억한다. RAM(905)은, CPU(901)가 사용하는 프로그램이나, 프로그램의 실행에 있어서 적절히 변화하는 파라미터 등을 1차 기억한다. 이들은 CPU 버스 등의 내부 버스에 의해 구성되는 호스트 버스(907)에 의해 서로 접속되어 있다. 또한, 도 7을 참조하여 전술한, 인식부(101), 묘화부(103), 표시 제어부(107), 및 버퍼 제어부(111)는, 예를 들어 CPU(901)에 의해 실현될 수 있다.
호스트 버스(907)는, 브리지(909)를 통하여, PCI(Peripheral Component Interconnect/Interface) 버스 등의 외부 버스(911)에 접속되어 있다. 또한, 외부버스(911)에는, 인터페이스(913)를 통하여, 입력 장치(915), 출력 장치(917), 스토리지 장치(919), 드라이브(921), 접속 포트(923) 및 통신 장치(925)가 접속된다.
입력 장치(915)는, 예를 들어 마우스, 키보드, 터치 패널, 버튼, 스위치, 레버 및 페달 등, 유저가 조작하는 조작 수단이다. 또한, 입력 장치(915)는, 예를 들어 적외선이나 그 밖의 전파를 이용한 리모트 컨트롤 수단(소위, 리모컨)이어도 되고, 정보 처리 장치(900)의 조작에 대응한 휴대 전화나 PDA 등의 외부 접속 기기(929)여도 된다. 또한, 입력 장치(915)는, 예를 들어 상기 조작 수단을 이용하여 유저에 의해 입력된 정보에 기초하여 입력 신호를 생성하고, CPU(901)로 출력하는 입력 제어 회로 등으로 구성되어 있다. 정보 처리 장치(900)의 유저는, 이 입력 장치(915)를 조작함으로써, 정보 처리 장치(900)에 대해서 각종 데이터를 입력하거나 처리 동작을 지시하거나 할 수 있다.
출력 장치(917)는, 취득된 정보를 유저에 대해서 시각적 또는 청각적으로 통지하는 것이 가능한 장치로 구성된다. 이러한 장치로서, CRT 디스플레이 장치, 액정 디스플레이 장치, 플라즈마 디스플레이 장치, EL 디스플레이 장치 및 램프 등의 표시 장치나, 스피커 및 헤드폰 등의 음성 출력 장치나, 프린터 장치 등이 있다. 출력 장치(917)는, 예를 들어 정보 처리 장치(900)가 행한 각종 처리에 의해 얻어진 결과를 출력한다. 구체적으로는, 표시 장치는, 정보 처리 장치(900)가 행한 각종 처리에 의해 얻어진 결과를, 텍스트 또는 이미지로 표시한다. 한편, 음성 출력 장치는, 재생된 음성 데이터나 음향 데이터 등을 포함하는 오디오 신호를 아날로그 신호로 변환하여 출력한다. 또한, 도 7을 참조하여 전술한 출력부(211)는, 예를 들어 출력 장치(917)에 의해 실현될 수 있다.
스토리지 장치(919)는, 정보 처리 장치(900)의 기억부의 일례로서 구성된 데이터 저장용 장치이다. 스토리지 장치(919)는, 예를 들어 HDD(Hard Disk Drive) 등의 자기 기억부 디바이스, 반도체 기억 디바이스, 광 기억 디바이스 또는 광자기 기억 디바이스 등에 의해 구성된다. 이 스토리지 장치(919)는, CPU(901)가 실행하는 프로그램이나 각종 데이터 등을 저장한다.
드라이브(921)는, 기록 매체용 리더라이터이며, 정보 처리 장치(900)에 내장, 혹은 외장된다. 드라이브(921)는, 장착되어 있는 자기디스크, 광디스크, 광자기디스크 또는 반도체 메모리 등의 리무버블 기록 매체(927)에 기록되어 있는 정보를 판독하여, RAM(905)으로 출력한다. 또한, 드라이브(921)는, 장착되어 있는 자기디스크, 광디스크, 광자기디스크 또는 반도체 메모리 등의 리무버블 기록 매체(927)에 기록을 기입하는 것도 가능하다. 리무버블 기록 매체(927)는, 예를 들어 DVD 미디어, HD-DVD 미디어 또는 Blu-ray(등록상표) 미디어 등이다. 또한, 리무버블 기록 매체(927)는, 컴팩트 플래시(등록상표)(CF: Compact Flash), 플래시 메모리 또는 SD 메모리 카드(Secure Digital memory card) 등이어도 된다. 또한, 리무버블 기록 매체(927)는, 예를 들어 비접촉형 IC 칩을 탑재한 IC 카드(Integrated Circuit card) 또는 전자 기기 등이어도 된다. 또한, 도 7을 참조하여 전술한, 버퍼(105) 및 일시 버퍼(109)는, 예를 들어 RAM(905) 및 스토리지 장치(919) 중 적어도 어느 하나에 의해 실현될 수 있다.
접속 포트(923)는, 정보 처리 장치(900)에 직접 접속하기 위한 포트이다. 접속 포트(923)의 일례로서, USB(Universal Serial Bus) 포트, IEEE1394 포트, SCSI(Small Computer System Interface) 포트 등이 있다. 접속 포트(923)의 다른 예로서, RS-232C 포트, 광 오디오 단자, HDMI(등록상표)(High-Definition Multimedia Interface) 포트 등이 있다. 이 접속 포트(923)에 외부 접속 기기(929)를 접속함으로써, 정보 처리 장치(900)는, 외부 접속 기기(929)로부터 직접 각종 데이터를 취득하거나, 외부 접속 기기(929)에 각종 데이터를 제공하거나 한다.
통신 장치(925)는, 예를 들어 통신망(네트워크)(931)에 접속하기 위한 통신 디바이스 등으로 구성된 통신 인터페이스이다. 통신 장치(925)는, 예를 들어 유선 혹은 무선 LAN(Local Area Network), Bluetooth(등록상표) 또는 WUSB(Wireless USB)용 통신 카드 등이다. 또한, 통신 장치(925)는, 광통신용 라우터, ADSL(Asymmetric Digital Subscriber Line)용 라우터 또는 각종 통신용 모뎀 등이어도 된다. 이 통신 장치(925)는, 예를 들어 인터넷이나 다른 통신 기기와의 사이에서, 예를 들어 TCP/IP 등의 소정의 프로토콜에 의거하여 신호 등을 송수신할 수 있다. 또한, 통신 장치(925)에 접속되는 통신망(931)은, 유선 또는 무선에 의해 접속된 네트워크 등에 의해 구성되며, 예를 들어 인터넷, 가정 내 LAN, 적외선 통신, 라디오파 통신 또는 위성 통신 등이어도 된다.
이상, 본 개시의 실시 형태에 따른 정보 처리 시스템(1)을 구성하는 정보 처리 장치(900)의 기능을 실현 가능한 하드웨어 구성의 일례를 나타내었다. 상기 각 구성 요소는, 범용적인 부재를 사용하여 구성되어 있어도 되고, 각 구성 요소의 기능에 특화된 하드웨어에 의해 구성되어 있어도 된다. 따라서, 본 실시 형태를 실시하는 시시각각의 기술 레벨에 따라서, 적절히 이용하는 하드웨어 구성을 변경하는 것이 가능하다. 또한, 도 15에서는 도시하지 않았지만, 본 실시 형태에 따른 정보 처리 시스템(1)을 구성하는 정보 처리 장치(900)에 대응하는 각종 구성을 당연히 구비한다.
또한, 상술한 바와 같은 본 실시 형태에 따른 정보 처리 시스템(1)을 구성하는 정보 처리 장치(900)의 각 기능을 실현하기 위한 컴퓨터 프로그램을 제작하고, 퍼스널 컴퓨터 등에 실장하는 것이 가능하다. 또한, 이와 같은 컴퓨터 프로그램이 저장된, 컴퓨터로 판독 가능한 기록 매체도 제공할 수 있다. 기록 매체는, 예를 들어 자기디스크, 광디스크, 광자기디스크, 플래시 메모리 등이다. 또한, 상기 컴퓨터 프로그램은, 기록 매체를 사용하지 않고, 예를 들어 네트워크를 통해 배신해도 된다. 또한, 당해 컴퓨터 프로그램을 실행시키는 컴퓨터의 수는 특별히 한정되지 않는다. 예를 들어, 당해 컴퓨터 프로그램을, 복수의 컴퓨터(예를 들어, 복수의 서버 등)가 서로 제휴해서 실행해도 된다. 또한, 단수의 컴퓨터, 또는 복수의 컴퓨터가 제휴하는 것을, 「컴퓨터 시스템」이라고도 칭한다.
<<6. 결론>>
이상 설명한 바와 같이, 본 실시 형태에 따른 정보 처리 시스템은, 복수의 표시 정보(예를 들어, 가상 오브젝트) 각각을, 복수의 버퍼 중 어느 하나에 대해서 직접적 또는 간접적으로 관련짓고, 버퍼마다 당해 버퍼에 관련지어진 표시 정보를 묘화한다. 그리고, 정보 처리 시스템은 실공간상의 실제 오브젝트의 인식 결과에 기초하여, 복수의 버퍼 각각에 묘화된 표시 정보의 표시를 보정하고, 당해 보정이 실시된 표시 정보 각각을, 실제 오브젝트와의 사이의 위치 관계에 따라서 소정의 출력부에 제시시킨다. 이와 같은 구성으로부터, 본 실시 형태에 따른 정보 처리 시스템은, 시점과, 각 표시 정보와, 실제 오브젝트 사이의 위치 관계에 따라서, 당해 표시 정보의 표시를 개별로 보정하는 것이 가능해진다. 즉, 본 실시 형태에 따른 정보 처리 시스템은, 묘화의 지연에 따르는 영향을 표시 정보가 중첩되는 위치에 따라 개개로 보정하며, 또한, 실제 오브젝트에 의한 차폐를 고려하여 각 표시 정보의 표시(예를 들어, 표시 위치)를 제어하는 것이 가능해진다.
또한, 상기에서는, 주로 입출력 장치(20)가 HMD로서 구성되어 있는 경우에 착안하여 설명하였지만, AR을 실현 가능하면, 입출력 장치(20)의 구성은 반드시 HMD로 한정되지 않는다. 구체적인 일례로서, 스마트폰 등과 같은 정보 처리 장치가 입출력 장치(20)로서 적용되어도 된다. 이 경우에는, 예를 들어 비디오 시스루형 HMD와 마찬가지의 구조에 기초하여, 외부 풍경의 화상에 대해서 가상 오브젝트를 중첩시키면 된다.
또한, 입출력 장치(20)와는 상이한 외부 장치로서 촬상부를 별도 설치해도 된다. 이와 같이, 별도 촬상부를 설치함으로써, 실공간상의 물체(피사체)를 다양한 방향에서 촬상하는 것이 가능하게 되기 때문에, 생성되는 뎁스 맵의 정밀도를 보다 향상시키는 것이 가능해진다.
이상, 첨부 도면을 참조하면서 본 개시의 바람직한 실시 형태에 대하여 상세히 설명하였지만, 본 개시의 기술적 범위는 이러한 예로 한정되지 않는다. 본 개시의 기술 분야에서의 통상의 지식을 지닌 사람이면, 청구범위에 기재된 기술적 사상의 범주 내에서, 각종 변경예 또는 수정예에 상도할 수 있음은 명확하며, 이들에 대해서도, 당연히 본 개시의 기술적 범위에 속하는 것이라 이해된다.
또한, 본 명세서에 기재된 효과는, 어디까지나 설명적 또는 예시적인 것으로서 한정적이지는 않다. 즉, 본 개시에 따른 기술은, 상기 효과와 함께, 또는 상기 효과 대신에, 본 명세서의 기재로부터 당업자에게는 명확한 다른 효과를 발휘할 수 있다.
또한, 이하와 같은 구성도 본 개시의 기술적 범위에 속한다.
(1)
실공간상의 실제 오브젝트의 인식 결과에 관한 정보를 취득하는 취득부와,
복수의 버퍼 각각에 대해서, 복수의 표시 정보 중 당해 버퍼에 직접적 또는 간접적으로 관련지어진 상기 표시 정보를 묘화하는 묘화부와,
상기 실제 오브젝트의 인식 결과에 기초하여, 상기 복수의 버퍼 각각에 묘화된 상기 표시 정보의 표시를 보정하고, 당해 표시가 보정된 상기 표시 정보 각각을, 당해 실제 오브젝트와의 사이의 위치 관계에 따라서 소정의 출력부에 제시시키는 표시 제어부
를 구비하는, 정보 처리 장치.
(2)
상기 복수의 표시 정보의 각각을, 상기 복수의 버퍼 중 어느 하나에 대해서 직접적 또는 간접적으로 관련짓는 버퍼 제어부를 구비하는, 상기 (1)에 기재된 정보 처리 장치.
(3)
상기 표시 제어부는, 상기 실제 오브젝트의 인식 결과에 따른, 당해 실제 오브젝트와 시점 사이의 위치 관계에 기초하여, 상기 복수의 버퍼 각각에 묘화된 상기 표시 정보의 표시 위치를 보정하는, 상기 (2)에 기재된 정보 처리 장치.
(4)
상기 버퍼 제어부는, 상기 시점의 위치를 기점으로 한, 실공간상에서의 깊이 방향을 따른 복수의 영역 각각에 대해서 서로 다른 상기 버퍼를 관련짓고,
상기 묘화부는, 상기 복수의 영역 각각에 위치하도록 제시하는 상기 표시 정보를, 당해 영역에 관련지어진 상기 버퍼에 묘화하고,
상기 표시 제어부는, 상기 복수의 버퍼 중 적어도 어느 하나를 대상으로 하여, 당해 대상으로 한 상기 버퍼에 관련지어진 상기 영역에 제시하는 상기 표시 정보의 표시 위치를, 당해 영역과 상기 시점 사이의 위치 관계에 따라서 보정하는, 상기 (3)에 기재된 정보 처리 장치.
(5)
상기 버퍼 제어부는, 상기 복수의 표시 정보 각각을, 서로 다른 상기 버퍼에 관련짓고,
상기 표시 제어부는, 상기 복수의 버퍼 중 적어도 어느 하나를 대상으로 하여, 당해 대상으로 한 상기 버퍼에 관련지어진 상기 표시 정보의 표시 위치를, 당해 표시 정보와 상기 시점 사이의 위치 관계에 따라서 보정하는, 상기 (3)에 기재된 정보 처리 장치.
(6)
상기 버퍼 제어부는, 소정의 상태 또는 상황에 따라서, 상기 복수의 표시 정보의 각각을, 상기 복수의 버퍼 중 어느 하나에 대해서 직접적 또는 간접적으로 관련짓는, 상기 (2) 내지 (5) 중 어느 한 항에 기재된 정보 처리 장치.
(7)
상기 버퍼 제어부는, 소정의 상태 또는 상황에 따라서, 상기 버퍼의 매수를 제어하는, 상기 (6)에 기재된 정보 처리 장치.
(8)
상기 버퍼 제어부는, 소정의 상태 또는 상황에 따라서, 상기 복수의 버퍼 중 적어도 어느 하나의 사이즈를 제어하는, 상기 (6) 또는 (7)에 기재된 정보 처리 장치.
(9)
상기 버퍼 제어부는, 소정의 상태 또는 상황에 따라서, 상기 복수의 표시 정보와 상기 복수의 버퍼 사이의 직접적 또는 간접적인 관련지음을 제어하는, 상기 (6) 내지 (8) 중 어느 한 항에 기재된 정보 처리 장치.
(10)
상기 버퍼 제어부는, 유저의 시선이 나타낸 실공간상의 위치에 따라서, 상기 복수의 표시 정보와 상기 복수의 버퍼 사이의 직접적 또는 간접적인 관련지음을 제어하는, 상기 (9)에 기재된 정보 처리 장치.
(11)
상기 버퍼 제어부는, 유저의 시선의 변화의 예측 결과에 따라서, 상기 복수의 표시 정보와 상기 복수의 버퍼 사이의 직접적 또는 간접적인 관련지음을 제어하는, 상기 (9)에 기재된 정보 처리 장치.
(12)
상기 버퍼 제어부는, 상기 복수의 표시 정보 중 적어도 어느 하나의 표시 정보의 움직임의 예측 결과에 따라서, 상기 복수의 표시 정보와 상기 복수의 버퍼 사이의 직접적 또는 간접적인 관련지음을 제어하는, 상기 (9)에 기재된 정보 처리 장치.
(13)
상기 표시 제어부는, 상기 복수의 버퍼 간에 설정된 우선도에 기초하여, 상기 복수의 버퍼 각각에 묘화된 상기 표시 정보의 상기 출력부로의 제시를 제어하는, 상기 (1) 내지 (11) 중 어느 한 항에 기재된 정보 처리 장치.
(14)
상기 표시 제어부는, 상기 복수의 버퍼 중 적어도 어느 하나에 묘화된 상기 표시 정보의 표시를, 당해 버퍼에 설정된 상기 우선도에 따라서 보정하는, 상기 (13)에 기재된 정보 처리 장치.
(15)
상기 묘화부는, 상기 복수의 버퍼 중 적어도 어느 하나에 대한 상기 표시 정보의 묘화를, 당해 버퍼에 설정된 상기 우선도에 따라서 제한하는, 상기 (13) 또는 (14)에 기재된 정보 처리 장치.
(16)
상기 표시 제어부는, 상기 복수의 버퍼 중 일부의 버퍼를, 상기 보정의 대상으로부터 제외하는, 상기 (1) 내지 (15) 중 어느 한 항에 기재된 정보 처리 장치.
(17)
상기 표시 제어부는, 상기 버퍼에 대해서 상기 표시 정보가 묘화된 타이밍보다도 후의 타이밍에 취득된 상기 실제 오브젝트의 인식 결과에 기초하여, 당해 버퍼에 묘화된 당해 표시 정보의 표시를 보정하는, 상기 (1) 내지 (16) 중 어느 한 항에 기재된 정보 처리 장치.
(18)
컴퓨터 시스템이,
실공간상의 실제 오브젝트의 인식 결과에 관한 정보를 취득하는 것과,
복수의 버퍼 각각에 대해서, 복수의 표시 정보 중 당해 버퍼에 직접적 또는 간접적으로 관련지어진 상기 표시 정보를 묘화하는 것과,
상기 실제 오브젝트의 인식 결과에 기초하여, 상기 복수의 버퍼 각각에 묘화된 상기 표시 정보의 표시를 보정하고, 당해 표시가 보정된 상기 표시 정보 각각을, 당해 실제 오브젝트와의 사이의 위치 관계에 따라서 소정의 출력부에 제시시키는 것
을 포함하는, 정보 처리 방법.
(19)
컴퓨터 시스템에,
실공간상의 실제 오브젝트의 인식 결과에 관한 정보를 취득하는 것과,
복수의 버퍼 각각에 대해서, 복수의 표시 정보 중 당해 버퍼에 직접적 또는 간접적으로 관련지어진 상기 표시 정보를 묘화하는 것과,
상기 실제 오브젝트의 인식 결과에 기초하여, 상기 복수의 버퍼 각각에 묘화된 상기 표시 정보의 표시를 보정하고, 당해 표시가 보정된 상기 표시 정보 각각을, 당해 실제 오브젝트와의 사이의 위치 관계에 따라서 소정의 출력부에 제시시키는 것
을 실행시키는, 프로그램.
1: 정보 처리 시스템
10: 정보 처리 장치
101: 인식부
103: 묘화부
105: 버퍼
107: 표시 제어부
109: 일시 버퍼
111: 버퍼 제어부
20: 입출력 장치
201: 촬상부
211: 출력부
251: 검지부

Claims (19)

  1. 정보 처리 장치로서,
    실공간상의 실제 오브젝트의 인식 결과에 관한 정보를 취득하는 취득부와,
    복수의 버퍼 각각에 대해서, 복수의 표시 정보 중 당해 버퍼에 직접적 또는 간접적으로 관련지어진 상기 표시 정보를 묘화하는 묘화부와,
    상기 실제 오브젝트의 인식 결과에 기초하여, 상기 복수의 버퍼 각각에 묘화된 상기 표시 정보의 표시를 보정하고, 당해 표시가 보정된 상기 표시 정보 각각을, 당해 실제 오브젝트와의 사이의 위치 관계에 따라서 소정의 출력부에 제시시키는 표시 제어부를 구비하고,
    상기 복수의 표시 정보의 각각을, 상기 복수의 버퍼 중 어느 하나에 대해서 직접적 또는 간접적으로 관련짓는 버퍼 제어부를 구비하고,
    상기 버퍼 제어부는, 소정의 상태 또는 상황에 따라서, 상기 복수의 표시 정보 각각을, 상기 복수의 버퍼 중 어느 하나에 대해서 직접적 또는 간접적으로 관련짓는, 정보 처리 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 표시 제어부는, 상기 실제 오브젝트의 인식 결과에 따른, 당해 실제 오브젝트와 시점 사이의 위치 관계에 기초하여, 상기 복수의 버퍼 각각에 묘화된 상기 표시 정보의 표시 위치를 보정하는, 정보 처리 장치.
  4. 제3항에 있어서,
    상기 버퍼 제어부는, 상기 시점의 위치를 기점으로 한, 실공간상에서의 깊이 방향을 따른 복수의 영역 각각에 대해서 서로 다른 상기 버퍼를 관련짓고,
    상기 묘화부는, 상기 복수의 영역 각각에 위치하도록 제시하는 상기 표시 정보를, 당해 영역에 관련지어진 상기 버퍼에 묘화하고,
    상기 표시 제어부는, 상기 복수의 버퍼 중 적어도 어느 하나를 대상으로 하여, 당해 대상으로 한 상기 버퍼에 관련지어진 상기 영역에 제시하는 상기 표시 정보의 표시 위치를, 당해 영역과 상기 시점 사이의 위치 관계에 따라서 보정하는, 정보 처리 장치.
  5. 제3항에 있어서,
    상기 버퍼 제어부는, 상기 복수의 표시 정보 각각을, 서로 다른 상기 버퍼에 관련짓고,
    상기 표시 제어부는, 상기 복수의 버퍼 중 적어도 어느 하나를 대상으로 하여, 당해 대상으로 한 상기 버퍼에 관련지어진 상기 표시 정보의 표시 위치를, 당해 표시 정보와 상기 시점 사이의 위치 관계에 따라서 보정하는, 정보 처리 장치.
  6. 삭제
  7. 제1항에 있어서,
    상기 버퍼 제어부는, 소정의 상태 또는 상황에 따라서, 상기 버퍼의 매수를 제어하는, 정보 처리 장치.
  8. 제1항에 있어서,
    상기 버퍼 제어부는, 소정의 상태 또는 상황에 따라서, 상기 복수의 버퍼 중 적어도 어느 하나의 사이즈를 제어하는, 정보 처리 장치.
  9. 제1항에 있어서,
    상기 버퍼 제어부는, 소정의 상태 또는 상황에 따라서, 상기 복수의 표시 정보와 상기 복수의 버퍼 사이의 직접적 또는 간접적인 관련지음을 제어하는, 정보 처리 장치.
  10. 제9항에 있어서,
    상기 버퍼 제어부는, 유저의 시선이 나타낸 실공간상의 위치에 따라서, 상기 복수의 표시 정보와 상기 복수의 버퍼 사이의 직접적 또는 간접적인 관련지음을 제어하는, 정보 처리 장치.
  11. 제9항에 있어서,
    상기 버퍼 제어부는, 유저의 시선의 변화의 예측 결과에 따라서, 상기 복수의 표시 정보와 상기 복수의 버퍼 사이의 직접적 또는 간접적인 관련지음을 제어하는, 정보 처리 장치.
  12. 제9항에 있어서,
    상기 버퍼 제어부는, 상기 복수의 표시 정보 중 적어도 어느 하나의 표시 정보의 움직임의 예측 결과에 따라서, 상기 복수의 표시 정보와 상기 복수의 버퍼 사이의 직접적 또는 간접적인 관련지음을 제어하는, 정보 처리 장치.
  13. 제1항에 있어서,
    상기 표시 제어부는, 상기 복수의 버퍼 간에 설정된 우선도에 기초하여, 상기 복수의 버퍼 각각에 묘화된 상기 표시 정보의 상기 출력부로의 제시를 제어하는, 정보 처리 장치.
  14. 제13항에 있어서,
    상기 표시 제어부는, 상기 복수의 버퍼 중 적어도 어느 하나에 묘화된 상기 표시 정보의 표시를, 당해 버퍼에 설정된 상기 우선도에 따라서 보정하는, 정보 처리 장치.
  15. 제13항에 있어서,
    상기 묘화부는, 상기 복수의 버퍼 중 적어도 어느 하나에 대한 상기 표시 정보의 묘화를, 당해 버퍼에 설정된 상기 우선도에 따라서 제한하는, 정보 처리 장치.
  16. 제1항에 있어서,
    상기 표시 제어부는, 상기 복수의 버퍼 중 일부의 버퍼를, 상기 보정의 대상으로부터 제외하는, 정보 처리 장치.
  17. 제1항에 있어서,
    상기 표시 제어부는, 상기 버퍼에 대해서 상기 표시 정보가 묘화된 타이밍보다도 후의 타이밍에 취득된 상기 실제 오브젝트의 인식 결과에 기초하여, 당해 버퍼에 묘화된 당해 표시 정보의 표시를 보정하는, 정보 처리 장치.
  18. 정보 처리 방법으로서,
    컴퓨터 시스템이,
    실공간상의 실제 오브젝트의 인식 결과에 관한 정보를 취득하는 것과,
    복수의 버퍼 각각에 대해서, 복수의 표시 정보 중 당해 버퍼에 직접적 또는 간접적으로 관련지어진 상기 표시 정보를 묘화하는 것과,
    상기 실제 오브젝트의 인식 결과에 기초하여, 상기 복수의 버퍼 각각에 묘화된 상기 표시 정보의 표시를 보정하고, 당해 표시가 보정된 상기 표시 정보 각각을, 당해 실제 오브젝트와의 사이의 위치 관계에 따라서 소정의 출력부에 제시시키는 것을 포함하고,
    상기 복수의 표시 정보의 각각을, 상기 복수의 버퍼 중 어느 하나에 대해서 직접적 또는 간접적으로 관련짓는 버퍼 제어부를 구비하고,
    상기 버퍼 제어부는, 소정의 상태 또는 상황에 따라서, 상기 복수의 표시 정보 각각을, 상기 복수의 버퍼 중 어느 하나에 대해서 직접적 또는 간접적으로 관련짓는, 정보 처리 방법.
  19. 컴퓨터 프로그램으로서,
    컴퓨터 시스템에,
    실공간상의 실제 오브젝트의 인식 결과에 관한 정보를 취득하는 것과,
    복수의 버퍼 각각에 대해서, 복수의 표시 정보 중 당해 버퍼에 직접적 또는 간접적으로 관련지어진 상기 표시 정보를 묘화하는 것과,
    상기 실제 오브젝트의 인식 결과에 기초하여, 상기 복수의 버퍼 각각에 묘화된 상기 표시 정보의 표시를 보정하고, 당해 표시가 보정된 상기 표시 정보 각각을, 당해 실제 오브젝트와의 사이의 위치 관계에 따라서 소정의 출력부에 제시시키는 것을 실행시키는 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이며,
    상기 복수의 표시 정보의 각각을, 상기 복수의 버퍼 중 어느 하나에 대해서 직접적 또는 간접적으로 관련짓는 버퍼 제어부를 구비하고,
    상기 버퍼 제어부는, 소정의 상태 또는 상황에 따라서, 상기 복수의 표시 정보 각각을, 상기 복수의 버퍼 중 어느 하나에 대해서 직접적 또는 간접적으로 관련짓는, 컴퓨터로 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
KR1020187028641A 2016-04-18 2017-03-08 정보 처리 장치, 정보 처리 방법, 및 프로그램 KR102298378B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2016-082983 2016-04-18
JP2016082983 2016-04-18
PCT/JP2017/009261 WO2017183346A1 (ja) 2016-04-18 2017-03-08 情報処理装置、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
KR20180136445A KR20180136445A (ko) 2018-12-24
KR102298378B1 true KR102298378B1 (ko) 2021-09-07

Family

ID=60115844

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187028641A KR102298378B1 (ko) 2016-04-18 2017-03-08 정보 처리 장치, 정보 처리 방법, 및 프로그램

Country Status (6)

Country Link
US (1) US10943409B2 (ko)
EP (1) EP3447735B1 (ko)
JP (1) JP6747504B2 (ko)
KR (1) KR102298378B1 (ko)
CN (1) CN109074681B (ko)
WO (1) WO2017183346A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11263456B2 (en) 2017-10-31 2022-03-01 Sony Corporation Virtual object repositioning versus motion of user and perceived or expected delay
WO2019150431A1 (ja) * 2018-01-30 2019-08-08 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置
CN111713121B (zh) * 2018-02-15 2022-04-12 奇跃公司 用于混合现实的双听者位置
CN108398787B (zh) * 2018-03-20 2023-05-16 京东方科技集团股份有限公司 增强现实显示设备、方法和增强现实眼镜
CN116483200A (zh) 2018-07-23 2023-07-25 奇跃公司 具有虚拟内容翘曲的混合现实系统和使用该系统生成虚拟内容的方法
US11749141B2 (en) 2018-10-04 2023-09-05 Sony Corporation Information processing apparatus, information processing method, and recording medium
WO2020080177A1 (ja) * 2018-10-16 2020-04-23 ソニー株式会社 情報処理装置、情報処理方法、及び記録媒体
JP7204511B2 (ja) * 2019-02-12 2023-01-16 キヤノン株式会社 電子機器、電子機器の制御方法、プログラム
US10867220B2 (en) * 2019-05-16 2020-12-15 Rpx Corporation Systems and methods for generating composite sets of data from different sensors
JP7377014B2 (ja) * 2019-07-10 2023-11-09 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
US20220319105A1 (en) * 2019-07-10 2022-10-06 Sony Interactive Entertainment Inc. Image display apparatus, image display system, and image display method
JP7217206B2 (ja) * 2019-07-10 2023-02-02 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
JP7320400B2 (ja) * 2019-08-06 2023-08-03 日本放送協会 映像演出処理装置及びそのプログラム
WO2021040010A1 (ja) * 2019-08-30 2021-03-04 ソニー株式会社 情報処理装置、制御方法
JP7355840B2 (ja) * 2019-10-18 2023-10-03 株式会社Nttドコモ Arシステム及び端末
US11816757B1 (en) * 2019-12-11 2023-11-14 Meta Platforms Technologies, Llc Device-side capture of data representative of an artificial reality environment
JP2021100222A (ja) 2019-12-23 2021-07-01 ソニーグループ株式会社 端末装置、アプリケーションサーバ、受信方法及び送信方法
EP4111368A4 (en) * 2020-02-26 2023-08-16 Magic Leap, Inc. CROSS REALITY SYSTEM WITH BUFFERING FOR LOCATION ACCURACY
JPWO2022244131A1 (ko) * 2021-05-19 2022-11-24
WO2024076058A1 (ko) * 2022-10-07 2024-04-11 삼성전자 주식회사 센서를 포함하는 웨어러블 전자 장치 및 이의 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013235373A (ja) * 2012-05-08 2013-11-21 Sony Corp 画像処理装置、投影制御方法及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005009437A1 (de) * 2005-03-02 2006-09-07 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Einblenden von AR-Objekten
JP5123747B2 (ja) * 2008-06-18 2013-01-23 キヤノン株式会社 画像表示装置およびその制御方法
JP5156571B2 (ja) * 2008-10-10 2013-03-06 キヤノン株式会社 画像処理装置、画像処理方法
KR20110136035A (ko) 2010-06-14 2011-12-21 주식회사 비즈모델라인 실제현실 적응형 증강현실 장치
US9354718B2 (en) * 2010-12-22 2016-05-31 Zspace, Inc. Tightly coupled interactive stereo display
CN102509342A (zh) * 2011-09-22 2012-06-20 北京航空航天大学 一种共享增强现实场景中协同式虚实遮挡处理方法
JP5821526B2 (ja) 2011-10-27 2015-11-24 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
US9595083B1 (en) * 2013-04-16 2017-03-14 Lockheed Martin Corporation Method and apparatus for image producing with predictions of future positions
JP2015119373A (ja) * 2013-12-19 2015-06-25 ソニー株式会社 画像処理装置および方法、並びにプログラム
US20150379772A1 (en) * 2014-06-30 2015-12-31 Samsung Display Co., Ltd. Tracking accelerator for virtual and augmented reality displays
US9659410B2 (en) * 2014-10-21 2017-05-23 Honeywell International Inc. Low latency augmented reality display
CN104768018B (zh) * 2015-02-04 2016-09-21 浙江工商大学 一种基于深度图的快速视点预测方法
US10129523B2 (en) * 2016-06-22 2018-11-13 Microsoft Technology Licensing, Llc Depth-aware reprojection
CN109863538B (zh) * 2016-08-26 2023-10-27 奇跃公司 用于虚拟及增强现实显示的连续时间扭曲及双目时间扭曲系统和方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013235373A (ja) * 2012-05-08 2013-11-21 Sony Corp 画像処理装置、投影制御方法及びプログラム

Also Published As

Publication number Publication date
US10943409B2 (en) 2021-03-09
EP3447735A4 (en) 2019-04-10
CN109074681A (zh) 2018-12-21
EP3447735B1 (en) 2020-04-29
EP3447735A1 (en) 2019-02-27
CN109074681B (zh) 2023-03-21
KR20180136445A (ko) 2018-12-24
WO2017183346A1 (ja) 2017-10-26
JP6747504B2 (ja) 2020-08-26
US20190102956A1 (en) 2019-04-04
JPWO2017183346A1 (ja) 2019-02-21

Similar Documents

Publication Publication Date Title
KR102298378B1 (ko) 정보 처리 장치, 정보 처리 방법, 및 프로그램
US11978175B2 (en) Mixed reality system with color virtual content warping and method of generating virtual content using same
CN108351691B (zh) 用于虚拟图像的远程渲染
KR101960980B1 (ko) 증강 현실 디스플레이용 최적화 초점 영역
US20140176591A1 (en) Low-latency fusing of color image data
JP2020515954A (ja) 仮想コンテンツをワーピングすることを伴う複合現実システムおよびそれを使用して仮想コンテンツを生成する方法
US20210377515A1 (en) Information processing device, information processing method, and program
US11720996B2 (en) Camera-based transparent display
WO2020003860A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US11749141B2 (en) Information processing apparatus, information processing method, and recording medium
CN110895433B (zh) 用于增强现实中用户交互的方法和装置
US20220012922A1 (en) Information processing apparatus, information processing method, and computer readable medium
US11443719B2 (en) Information processing apparatus and information processing method
JP6509101B2 (ja) 眼鏡状の光学シースルー型の両眼のディスプレイにオブジェクトを表示する画像表示装置、プログラム及び方法
US20220300120A1 (en) Information processing apparatus, and control method
WO2021182124A1 (ja) 情報処理装置、及び情報処理方法
US11615767B2 (en) Information processing apparatus, information processing method, and recording medium
US20230376109A1 (en) Image processing apparatus, image processing method, and storage device
US20220413295A1 (en) Electronic device and method for controlling electronic device

Legal Events

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