KR20220013398A - 프로그램이 기록된 컴퓨터 판독가능 기록 매체, 정보 처리 방법 및, 정보 처리 장치 - Google Patents

프로그램이 기록된 컴퓨터 판독가능 기록 매체, 정보 처리 방법 및, 정보 처리 장치 Download PDF

Info

Publication number
KR20220013398A
KR20220013398A KR1020217042168A KR20217042168A KR20220013398A KR 20220013398 A KR20220013398 A KR 20220013398A KR 1020217042168 A KR1020217042168 A KR 1020217042168A KR 20217042168 A KR20217042168 A KR 20217042168A KR 20220013398 A KR20220013398 A KR 20220013398A
Authority
KR
South Korea
Prior art keywords
user
virtual space
content
hmd
web
Prior art date
Application number
KR1020217042168A
Other languages
English (en)
Other versions
KR102538480B1 (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 KR20220013398A publication Critical patent/KR20220013398A/ko
Application granted granted Critical
Publication of KR102538480B1 publication Critical patent/KR102538480B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/003Navigation within 3D models or images
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • 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
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • 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/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • 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
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/048023D-info-object: information is displayed on the internal or external surface of a three dimensional manipulable object, e.g. on the faces of a cube that can be rotated by the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Databases & Information Systems (AREA)
  • Optics & Photonics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Remote Sensing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Geometry (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

프로그램은, 프로세서에, 웹 브라우저를 포함하는 가상 공간을 정의하는 스텝과, URL 어드레스로의 액세스에 기초하여, 웹 브라우저상에서 웹 컨텐츠를 제공하는 스텝과, 유저의 제1 조작 입력에 기초하여, 웹 브라우저상에 표시되어 있는 웹 컨텐츠를, 가상 공간에 전개된 360도 웹 컨텐츠로서 제공하는 스텝과, 유저의 두부의 움직임에 따라서, 가상 공간에 배치된 가상 카메라로부터의 시계를 제어하는 스텝과, 시계에 대응하는 시계 화상을 유저의 두부에 대응지어진 화상 표시 장치에 표시하는 스텝을 실행시키고, 웹 컨텐츠 및 360도 웹 컨텐츠는, 1 이상의 동화상 컨텐츠 중으로부터 재생 대상의 동화상 컨텐츠를 선택하기 위한 웹 화면이다.

Description

프로그램, 정보 처리 방법 및, 정보 처리 장치
본 발명은, 프로그램, 정보 처리 방법 및, 정보 처리 장치에 관한 것이다.
최근, 웹 브라우저를 이용하여 VR(Virtual Reality) 컨텐츠를 이용하는 것이 가능해지고 있다. 예를 들면, 특허문헌 1에는, 헤드 마운트 디스플레이 등의 단말 기기에 360도 컨텐츠인 가상 공간을 제공하고, 당해 가상 공간에 있어서의 메인 컨텐츠 표시 영역이나 서브 컨텐츠 표시 영역에, URL(Uniform Resource Locator) 어드레스에 대응하는 웹 페이지로부터의 액세스에 기초하여, 소정의 컨텐츠를 제공하는 것이 기재되어 있다.
일본공개특허공보 2018-195255호
특허문헌 1의 방법으로 제공되는 가상 공간은, 전체적으로는 360도 컨텐츠이지만, 메인 컨텐츠 자체는 한정된 영역에 평면적으로 표시되는데에 머무르고 있어, 유저의 몰입감 향상이라는 관점에서 개선의 여지가 있었다.
본 개시된 일 태양(態樣)은, 웹 브라우저를 이용하여 VR 컨텐츠를 이용한 경우에 있어서의 유저의 몰입감을 향상시키는 것이 가능한, 프로그램, 정보 처리 방법 및, 정보 처리 장치를 제공하는 것을 목적으로 한다.
본 개시에 나타내는 일 실시 형태에 의하면,
프로세서를 구비한 컴퓨터에 있어서 실행되는 프로그램으로서,
상기 프로그램은, 상기 프로세서에,
웹 브라우저를 포함하는 가상 공간을 정의하는 스텝과,
URL(Uniform Resource Locator) 어드레스로의 액세스에 기초하여, 상기 웹 브라우저 상에서 웹 컨텐츠를 제공하는 스텝과,
유저의 제1 조작 입력에 기초하여, 상기 웹 브라우저상에 표시되어 있는 웹 컨텐츠를, 가상 공간에 전개된 360도 웹 컨텐츠로서 제공하는 스텝과,
상기 유저의 두부(頭部)의 움직임에 따라서, 가상 공간에 배치된 가상 카메라로부터의 시계(視界)를 제어하는 스텝과,
상기 시계에 대응하는 시계 화상을 상기 유저의 두부에 대응지어진 화상 표시 장치에 표시하는 스텝을 실행시키고,
상기 웹 컨텐츠 및 상기 360도 웹 컨텐츠는, 1 이상의 동화상 컨텐츠 중으로부터 재생 대상의 동화상 컨텐츠를 선택하기 위한 웹 화면인,
프로그램이 제공된다.
본 개시에 나타내는 일 실시 형태에 의하면, web 브라우저를 이용하여 VR 컨텐츠를 이용한 경우에 있어서의 유저의 몰입감을 향상시키는 것이 가능한, 프로그램을 제공할 수 있다.
도 1은 어느 실시의 형태에 따르는 HMD 시스템의 구성의 개략을 나타내는 도이다.
도 2는 어느 실시의 형태에 따르는 컴퓨터의 하드웨어 구성의 일 예를 나타내는 블록도이다.
도 3은 어느 실시의 형태에 따르는 HMD에 설정되는 uvw 시야 좌표계를 개념적으로 나타내는 도이다.
도 4는 어느 실시의 형태에 따르는 가상 공간을 표현하는 일 태양을 개념적으로 나타내는 도이다.
도 5는 어느 실시의 형태에 따르는 HMD를 장착하는 유저의 두부를 위로부터 나타낸 도이다.
도 6은 가상 공간에 있어서 시계 영역을 X 방향으로부터 본 YZ 단면을 나타내는 도이다.
도 7은 가상 공간에 있어서 시계 영역을 Y 방향으로부터 본 XZ 단면을 나타내는 도이다.
도 8a는 어느 실시의 형태에 따르는 컨트롤러의 개략 구성을 나타내는 도이다.
도 8b는 어느 실시의 형태에 따르는 유저의 오른손에 대하여 규정되는 요(yaw), 롤, 피치의 각 방향의 일 예를 나타내는 도이다.
도 9는 어느 실시의 형태에 따르는 서버의 하드웨어 구성의 일 예를 나타내는 블록도이다.
도 10은 어느 실시의 형태에 따르는 컴퓨터를 모듈 구성으로서 나타내는 블록도이다.
도 11은 어느 실시의 형태에 따르는 HMD 세트에 있어서 실행되는 처리의 일부를 나타내는 시퀀스 차트이다.
도 12a는 네트워크에 있어서, 각 HMD가 유저에게 가상 공간을 제공하는 상황을 나타내는 개략도이다.
도 12b는 도 12a에 있어서의 유저(5A)의 시계 화상을 나타내는 도이다.
도 13은 어느 실시의 형태에 따르는 HMD 시스템에 있어서 실행하는 처리를 나타내는 시퀀스도이다.
도 14는 어느 실시의 형태에 따르는 컴퓨터의 모듈의 상세 구성을 나타내는 블록도이다.
도 15는 어느 실시의 형태에 따르는 컴퓨터에 있어서 실행되는 동작 처리의 일 예를 나타내는 플로우차트이다.
도 16은 어느 실시의 형태에 따르는 가상 공간의 일 예를 나타내는 개략도이다.
도 17은 도 16에 나타내는 가상 공간을 Y축 방향으로부터 본 XZ 단면을 나타내는 개략도이다.
도 18은 어느 실시의 형태에 따르는 가상 공간의 일 예를 나타내는 개략도이다.
도 19는 도 18에 나타내는 가상 공간을 Y축 방향으로부터 본 XZ 단면을 나타내는 개략도이다.
도 20은 도 18에 있어서의 유저(5)의 시계 화상을 나타내는 개략도이다.
도 21은 어느 실시의 형태에 따르는 가상 공간을 Y축 방향으로부터 본 XZ 단면을 나타내는 개략도이다.
도 22는 어느 실시의 형태에 따르는 가상 공간의 일 예를 나타내는 개략도이다.
(발명을 실시하기 위한 형태)
이하, 이 기술적 사상의 실시의 형태에 대해서 도면을 참조하면서 상세하게 설명한다. 이하의 설명에서는, 동일한 부품에는 동일한 부호가 붙여져 있다. 그들 명칭 및 기능도 동일하다. 따라서, 그들에 대한 상세한 설명은 반복하지 않는다. 본 개시에 있어서 나타나는 1 이상의 실시 형태에 있어서, 각 실시 형태가 포함하는 요소를 서로 조합할 수 있고, 또한, 당해 조합된 결과물도 본 개시가 나타내는 실시 형태의 일부를 이루는 것으로 한다.
[HMD 시스템의 구성]
도 1을 참조하여, HMD(Head-Mounted Device) 시스템(100)의 구성에 대해서 설명한다. 도 1은, 본 실시의 형태에 따르는 HMD 시스템(100)의 구성의 개략을 나타내는 도이다. HMD 시스템(100)은, 가정용의 시스템으로서 혹은 업무용의 시스템으로서 제공된다.
HMD 시스템(100)은, 서버(600)와, HMD 세트(110A, 110B, 110C, 110D)와, 외부 기기(700)와, 네트워크(2)를 포함한다. HMD 세트(110A, 110B, 110C, 110D)의 각각은, 네트워크(2)를 통하여 서버(600)나 외부 기기(700)와 통신 가능하게 구성된다. 이하, HMD 세트(110A, 110B, 110C, 110D)를 총칭하여, HMD 세트(110)라고도 한다. HMD 시스템(100)을 구성하는 HMD 세트(110)의 수는, 4개에 한정되지 않고, 3개 이하라도, 5개 이상이라도 좋다. HMD 세트(110)는, HMD(120)와, 컴퓨터(200)와, HMD 센서(410)와, 디스플레이(430)와, 컨트롤러(300)를 구비한다. HMD(120)는, 모니터(130)와, 주시(注視) 센서(140)와, 제1 카메라(150)와, 제2 카메라(160)와, 마이크(170)와, 스피커(180)를 포함한다. 컨트롤러(300)는, 모션 센서(420)를 포함할 수 있다.
어느 국면에 있어서, 컴퓨터(200)는, 인터넷 그 외의 네트워크(2)에 접속 가능하고, 네트워크(2)에 접속되어 있는 서버(600) 그 외의 컴퓨터와 통신 가능하다. 그 외의 컴퓨터로서는, 예를 들면, 다른 HMD 세트(110)의 컴퓨터나 외부 기기(700)를 들 수 있다. 다른 국면에 있어서, HMD(120)는, HMD 센서(410)의 대신에, 센서(190)를 포함할 수 있다.
HMD(120)는, 유저(5)의 두부에 장착되어, 동작 중에 가상 공간을 유저(5)에게 제공할 수 있다. 보다 구체적으로는, HMD(120)는, 오른쪽눈용의 화상 및 왼쪽눈용의 화상을 모니터(130)에 각각 표시한다. 유저(5)의 각 눈이 각각의 화상을 시인하면, 유저(5)는, 양 눈의 시차에 기초하여 당해 화상을 3차원 화상으로서 인식할 수 있다. HMD(120)는, 모니터를 구비하는 소위 헤드 마운트 디스플레이와, 스마트 폰 그 외의 모니터를 갖는 단말을 장착 가능한 헤드 마운트 기기의 어느것이나 포함할 수 있다.
모니터(130)는, 예를 들면, 비투과형의 표시 장치로서 실현된다. 어느 국면에 있어서, 모니터(130)는, 유저(5)의 양 눈의 전방에 위치하도록 HMD(120)의 본체에 배치되어 있다. 따라서, 유저(5)는, 모니터(130)에 표시되는 3차원 화상을 시인하면, 가상 공간에 몰입할 수 있다. 어느 국면에 있어서, 가상 공간은, 예를 들면, 배경, 유저(5)가 조작 가능한 오브젝트, 유저(5)가 선택 가능한 메뉴의 화상을 포함한다. 어느 국면에 있어서, 모니터(130)는, 소위 스마트 폰 그 외의 정보 표시 단말이 구비하는 액정 모니터 또는 유기 EL(Electro Luminescence) 모니터로서 실현될 수 있다.
다른 국면에 있어서, 모니터(130)는, 투과형의 표시 장치로서 실현될 수 있다. 이 경우, HMD(120)는, 도 1에 나타나는 바와 같이 유저(5)의 눈을 덮는 밀폐형이 아니라, 안경형과 같은 개방형일 수 있다. 투과형의 모니터(130)는, 그의 투과율을 조정함으로써, 일시적으로 비투과형의 표시 장치로서 구성 가능해도 좋다. 모니터(130)는, 가상 공간을 구성하는 화상의 일부와, 현실 공간을 동시에 표시하는 구성을 포함하고 있어도 좋다. 예를 들면, 모니터(130)는, HMD(120)에 탑재된 카메라로 촬영한 현실 공간의 화상을 표시해도 좋고, 일부의 투과율을 높게 설정함으로써 현실 공간을 시인 가능하게 해도 좋다.
어느 국면에 있어서, 모니터(130)는, 오른쪽눈용의 화상을 표시하기 위한 서브 모니터와, 왼쪽눈용의 화상을 표시하기 위한 서브 모니터를 포함할 수 있다. 다른 국면에 있어서, 모니터(130)는, 오른쪽눈용의 화상과 왼쪽눈용의 화상을 일체로서 표시하는 구성이라도 좋다. 이 경우, 모니터(130)는, 고속 셔터를 포함한다. 고속 셔터는, 화상이 어느 한쪽의 눈에만 인식되도록, 오른쪽눈용의 화상과 왼쪽눈용의 화상을 번갈아 표시 가능하게 작동한다.
어느 국면에 있어서, HMD(120)는, 도시하지 않는 복수의 광원을 포함한다. 각 광원은 예를 들면, 적외선을 발하는 LED(Light Emitting Diode)에 의해 실현된다. HMD 센서(410)는, HMD(120)의 움직임을 검출하기 위한 포지션 트랙킹 기능을 갖는다. 보다 구체적으로는, HMD 센서(410)는, HMD(120)가 발하는 복수의 적외선을 판독하고, 현실 공간 내에 있어서의 HMD(120)의 위치 및 기울기를 검출한다.
다른 국면에 있어서, HMD 센서(410)는, 카메라에 의해 실현되어도 좋다. 이 경우, HMD 센서(410)는, 카메라로부터 출력되는 HMD(120)의 화상 정보를 이용하여, 화상 해석 처리를 실행함으로써, HMD(120)의 위치 및 기울기를 검출할 수 있다.
다른 국면에 있어서, HMD(120)는, 위치 검출기로서, HMD 센서(410)의 대신에, 혹은 HMD 센서(410)에 더하여 센서(190)를 구비해도 좋다. HMD(120)는, 센서(190)를 이용하여, HMD(120) 자신의 위치 및 기울기를 검출할 수 있다. 예를 들면, 센서(190)가 각속도 센서, 지자기 센서, 혹은 가속도 센서인 경우, HMD(120)는, HMD 센서(410)의 대신에, 이들 각 센서 중 어느 하나를 이용하여, 자신의 위치 및 기울기를 검출할 수 있다. 일 예로서, 센서(190)가 각속도 센서인 경우, 각속도 센서는, 현실 공간에 있어서의 HMD(120)의 3축 둘레의 각속도를 경시적으로 검출한다. HMD(120)는, 각 각속도에 기초하여, HMD(120)의 3축 둘레의 각도의 시간적 변화를 산출하고, 추가로, 각도의 시간적 변화에 기초하여, HMD(120)의 기울기를 산출한다.
주시 센서(140)는, 유저(5)의 오른쪽눈 및 왼쪽눈의 시선이 향해지는 방향을 검출한다. 즉, 주시 센서(140)는, 유저(5)의 시선을 검출한다. 시선의 방향의 검출은, 예를 들면, 공지의 아이 트랙킹 기능에 의해 실현된다. 주시 센서(140)는, 당해 아이 트랙킹 기능을 갖는 센서에 의해 실현된다. 어느 국면에 있어서, 주시 센서(140)는, 오른쪽눈용의 센서 및 왼쪽눈용의 센서를 포함하는 것이 바람직하다. 주시 센서(140)는, 예를 들면, 유저(5)의 오른쪽눈 및 왼쪽눈에 적외광을 조사함과 함께, 조사광에 대한 각막 및 홍채로부터의 반사광을 받음으로써 각 안구의 회전각을 검출하는 센서라도 좋다. 주시 센서(140)는, 검출한 각 회전각에 기초하여, 유저(5)의 시선을 검지할 수 있다.
제1 카메라(150)는, 유저(5)의 얼굴의 하부를 촬영한다. 보다 구체적으로는, 제1 카메라(150)는, 유저(5)의 코 및 입 등을 촬영한다. 제2 카메라(160)는, 유저(5)의 눈 및 눈썹 등을 촬영한다. HMD(120)의 유저(5)측의 몸체를 HMD(120)의 내측, HMD(120)의 유저(5)와는 반대측의 몸체를 HMD(120)의 외측이라고 정의한다. 어느 국면에 있어서, 제1 카메라(150)는, HMD(120)의 외측에 배치되고, 제2 카메라(160)는, HMD(120)의 내측에 배치될 수 있다. 제1 카메라(150) 및 제2 카메라(160)가 생성한 화상은, 컴퓨터(200)에 입력된다. 다른 국면에 있어서, 제1 카메라(150)와 제2 카메라(160)를 1대의 카메라로서 실현하고, 이 1대의 카메라로 유저(5)의 얼굴을 촬영하도록 해도 좋다.
마이크(170)는, 유저(5)의 발화(發話)를 음성 신호(전기 신호)로 변환하여 컴퓨터(200)에 출력한다. 스피커(180)는, 음성 신호를 음성으로 변환하여 유저(5)에게 출력한다. 다른 국면에 있어서, HMD(120)는, 스피커(180)를 대신하여 이어폰을 포함할 수 있다.
컨트롤러(300)는, 유선 또는 무선에 의해 컴퓨터(200)에 접속되어 있다. 컨트롤러(300)는, 유저(5)로부터 컴퓨터(200)로의 명령의 입력을 접수한다. 어느 국면에 있어서, 컨트롤러(300)는, 유저(5)에 의해 파지 가능하게 구성된다. 다른 국면에 있어서, 컨트롤러(300)는, 유저(5)의 신체 혹은 의류의 일부에 장착 가능하게 구성된다. 추가로 다른 국면에 있어서, 컨트롤러(300)는, 컴퓨터(200)로부터 송신되는 신호에 기초하여, 진동, 소리, 빛 중 적어도 어느 하나를 출력하도록 구성되어도 좋다. 추가로 다른 국면에 있어서, 컨트롤러(300)는, 유저(5)로부터, 가상 공간에 배치되는 오브젝트의 위치나 움직임을 제어하기 위한 조작을 접수한다.
어느 국면에 있어서, 컨트롤러(300)는, 복수의 광원을 포함한다. 각 광원은 예를 들면, 적외선을 발하는 LED에 의해 실현된다. HMD 센서(410)는, 포지션 트랙킹 기능을 갖는다. 이 경우, HMD 센서(410)는, 컨트롤러(300)가 발하는 복수의 적외선을 판독하여, 현실 공간 내에 있어서의 컨트롤러(300)의 위치 및 기울기를 검출한다. 다른 국면에 있어서, HMD 센서(410)는, 카메라에 의해 실현되어도 좋다. 이 경우, HMD 센서(410)는, 카메라로부터 출력되는 컨트롤러(300)의 화상 정보를 이용하여, 화상 해석 처리를 실행함으로써, 컨트롤러(300)의 위치 및 기울기를 검출할 수 있다.
모션 센서(420)는, 어느 국면에 있어서, 유저(5)의 손에 부착되어, 유저(5)의 손의 움직임을 검출한다. 예를 들면, 모션 센서(420)는, 손의 회전 속도, 회전수 등을 검출한다. 검출된 신호는, 컴퓨터(200)에 전송된다. 모션 센서(420)는, 예를 들면, 컨트롤러(300)에 형성되어 있다. 어느 국면에 있어서, 모션 센서(420)는, 예를 들면, 유저(5)에 파지 가능하게 구성된 컨트롤러(300)에 형성되어 있다. 다른 국면에 있어서, 현실 공간에 있어서의 안전을 위해, 컨트롤러(300)는, 장갑형과 같이 유저(5)의 손에 장착됨으로써 용이하게 날아 가지 않는 것에 장착된다. 또한 다른 국면에 있어서, 유저(5)에 장착되지 않는 센서가 유저(5)의 손의 움직임을 검출해도 좋다. 예를 들면, 유저(5)를 촬영하는 카메라의 신호가, 유저(5)의 동작을 나타내는 신호로서, 컴퓨터(200)에 입력되어도 좋다. 모션 센서(420)와 컴퓨터(200)는, 일 예로서, 무선에 의해 서로 접속된다. 무선의 경우, 통신 형태는 특별히 한정되지 않고, 예를 들면, Bluetooth(등록상표) 그 외의 공지의 통신 수법이 이용된다.
디스플레이(430)는, 모니터(130)에 표시되어 있는 화상과 동일한 화상을 표시한다. 이에 따라, HMD(120)를 장착하고 있는 유저(5) 이외의 유저에게도 당해 유저(5)와 동일한 화상을 시청시킬 수 있다. 디스플레이(430)에 표시되는 화상은, 3차원 화상일 필요는 없고, 오른쪽눈용의 화상이나 왼쪽눈용의 화상이라도 좋다. 디스플레이(430)로서는, 예를 들면, 액정 디스플레이나 유기 EL 모니터 등을 들 수 있다.
서버(600)는, 컴퓨터(200)에 프로그램을 송신할 수 있다. 다른 국면에 있어서, 서버(600)는, 다른 유저에 의해 사용되는 HMD(120)에 가상 현실을 제공하기 위한 다른 컴퓨터(200)와 통신할 수 있다. 예를 들면, 어뮤즈먼트 시설에 있어서, 복수의 유저가 참가형의 게임을 행하는 경우, 각 컴퓨터(200)는, 각 유저의 동작에 기초하는 신호를 서버(600)를 통하여 다른 컴퓨터(200)와 통신하고, 동일한 가상 공간에 있어서 복수의 유저가 공통의 게임을 즐기는 것을 가능하게 한다. 각 컴퓨터(200)는, 각 유저의 동작에 기초하는 신호를 서버(600)를 통하지 않고 다른 컴퓨터(200)와 통신하도록 해도 좋다.
외부 기기(700)는, 컴퓨터(200)와 통신 가능한 기기이면 어떠한 기기라도 좋다. 외부 기기(700)는, 예를 들면, 네트워크(2)를 통하여 컴퓨터(200)와 통신 가능한 기기라도 좋고, 근거리 무선 통신이나 유선 접속에 의해 컴퓨터(200)와 직접 통신 가능한 기기라도 좋다. 외부 기기(700)로서는, 예를 들면, 스마트 디바이스, PC(Personal Computer) 및, 컴퓨터(200)의 주변 기기 등을 들 수 있지만, 이들에 한정되는 것은 아니다.
[컴퓨터의 하드웨어 구성]
도 2를 참조하여, 본 실시의 형태에 따른 컴퓨터(200)에 대해서 설명한다. 도 2는, 본 실시의 형태에 따르는 컴퓨터(200)의 하드웨어 구성의 일 예를 나타내는 블록도이다. 컴퓨터(200)는, 주요 구성 요소로서, 프로세서(210)와, 메모리(220)와, 스토리지(230)와, 입출력 인터페이스(240)와, 통신 인터페이스(250)를 구비한다. 각 구성 요소는, 각각, 버스(260)에 접속되어 있다.
프로세서(210)는, 컴퓨터(200)에 부여되는 신호에 기초하여, 혹은, 미리 정해진 조건이 성립한 것에 기초하여, 메모리(220) 또는 스토리지(230)에 격납되어 있는 프로그램에 포함되는 일련의 명령을 실행한다. 어느 국면에 있어서, 프로세서(210)는, CPU(Central Processing Unit), GPU(Graphics Processing Unit), MPU(Micro Processor Unit), FPGA(Field-Programmable Gate Array) 그 외의 디바이스로서 실현된다.
메모리(220)는, 프로그램 및 데이터를 일시적으로 보존한다. 프로그램은, 예를 들면, 스토리지(230)로부터 로드된다. 데이터는, 컴퓨터(200)에 입력된 데이터와, 프로세서(210)에 의해 생성된 데이터를 포함한다. 어느 국면에 있어서, 메모리(220)는, RAM(Random Access Memory) 그 외의 휘발 메모리로서 실현된다.
스토리지(230)는, 프로그램 및 데이터를 영속적으로 보존유지한다. 스토리지(230)는, 예를 들면, ROM(Read-Only Memory), 하드 디스크 장치, 플래시 메모리, 그 외의 불휘발 기억 장치로서 실현된다. 스토리지(230)에 격납되는 프로그램은, HMD 시스템(100)에 있어서 가상 공간을 제공하기 위한 프로그램, 시뮬레이션 프로그램, 게임 프로그램, 유저 인증 프로그램, 다른 컴퓨터(200)와의 통신을 실현하기 위한 프로그램을 포함한다. 스토리지(230)에 격납되는 데이터는, 가상 공간을 규정하기 위한 데이터 및 오브젝트 등을 포함한다.
다른 국면에 있어서, 스토리지(230)는, 메모리 카드와 같이 탈착 가능한 기억 장치로서 실현되어도 좋다. 또한 다른 국면에 있어서, 컴퓨터(200)에 내장된 스토리지(230)의 대신에, 외부의 기억 장치에 보존되어 있는 프로그램 및 데이터를 사용하는 구성이 사용되어도 좋다. 이러한 구성에 의하면, 예를 들면, 어뮤즈먼트 시설과 같이 복수의 HMD 시스템(100)이 사용되는 장면에 있어서, 프로그램이나 데이터의 갱신을 일괄하여 행하는 것이 가능해진다.
입출력 인터페이스(240)는, HMD(120), HMD 센서(410), 모션 센서(420) 및 디스플레이(430)와의 사이에서 신호를 통신한다. HMD(120)에 포함되는 모니터(130), 주시 센서(140), 제1 카메라(150), 제2 카메라(160), 마이크(170) 및 스피커(180)는, HMD(120)의 입출력 인터페이스(240)를 통하여 컴퓨터(200)와의 통신을 행할 수 있다. 어느 국면에 있어서, 입출력 인터페이스(240)는, USB(Universal Serial Bus), DVI(Digital Visual Interface), HDMI(등록상표)(High-Definition Multimedia Interface) 그 외의 단자를 이용하여 실현된다. 입출력 인터페이스(240)는 전술의 것에 한정되지 않는다.
어느 국면에 있어서, 입출력 인터페이스(240)는, 추가로, 컨트롤러(300)와 통신할 수 있다. 예를 들면, 입출력 인터페이스(240)는, 컨트롤러(300) 및 모션 센서(420)로부터 출력된 신호의 입력을 받는다. 다른 국면에 있어서, 입출력 인터페이스(240)는, 프로세서(210)로부터 출력된 명령을, 컨트롤러(300)에 전송한다. 당해 명령은, 진동, 음성 출력, 발광 등을 컨트롤러(300)에 지시한다. 컨트롤러(300)는, 당해 명령을 수신하면, 그 명령에 따라서, 진동, 음성 출력 또는 발광 중 어느 하나를 실행한다.
통신 인터페이스(250)는, 네트워크(2)에 접속되고, 네트워크(2)에 접속되어 있는 다른 컴퓨터(예를 들면, 서버(600))와 통신한다. 어느 국면에 있어서, 통신 인터페이스(250)는, 예를 들면, LAN(Local Area Network) 그 외의 유선 통신 인터페이스, 혹은, WiFi(Wireless Fidelity), Bluetooth(등록상표), NFC(Near Field Communication) 그 외의 무선 통신 인터페이스로서 실현된다. 통신 인터페이스(250)는 전술의 것에 한정되지 않는다.
어느 국면에 있어서, 프로세서(210)는, 스토리지(230)에 액세스하고, 스토리지(230)에 격납되어 있는 1개 이상의 프로그램을 메모리(220)에 로드하여, 당해 프로그램에 포함되는 일련의 명령을 실행한다. 당해 1개 이상의 프로그램은, 컴퓨터(200)의 오퍼레이팅 시스템, 가상 공간을 제공하기 위한 어플리케이션 프로그램, 가상 공간에서 실행 가능한 게임 소프트웨어 등을 포함할 수 있다. 프로세서(210)는, 입출력 인터페이스(240)를 통하여, 가상 공간을 제공하기 위한 신호를 HMD(120)에 전송한다. HMD(120)는, 그의 신호에 기초하여 모니터(130)에 영상을 표시한다.
도 2에 나타나는 예에서는, 컴퓨터(200)는, HMD(120)의 외부에 형성되는 구성이 나타나 있지만, 다른 국면에 있어서, 컴퓨터(200)는, HMD(120)에 내장되어도 좋다. 일 예로서, 모니터(130)를 포함하는 휴대형의 정보 통신 단말(예를 들면, 스마트 폰)이 컴퓨터(200)로서 기능해도 좋다.
컴퓨터(200)는, 복수의 HMD(120)에 공통으로 이용되는 구성이라도 좋다. 이러한 구성에 의하면, 예를 들면, 복수의 유저에게 동일한 가상 공간을 제공할 수도 있기 때문에, 각 유저는 동일한 가상 공간에서 다른 유저와 동일한 어플리케이션을 즐길 수 있다.
어느 실시의 형태에 있어서, HMD 시스템(100)에서는, 현실 공간에 있어서의 좌표계인 실좌표계가 미리 설정되어 있다. 실좌표계는, 현실 공간에 있어서의 연직 방향, 연직 방향에 직교하는 수평 방향, 그리고, 연직 방향 및 수평 방향의 쌍방에 직교하는 전후 방향에 각각 평행한, 3개의 기준 방향(축)을 갖는다. 실좌표계에 있어서의 수평 방향, 연직 방향(상하 방향) 및, 전후 방향은, 각각, x축, y축, z축이라고 규정된다. 보다 구체적으로는, 실좌표계에 있어서, x축은 현실 공간의 수평 방향에 평행하다. y축은, 현실 공간의 연직 방향에 평행하다. z축은 현실 공간의 전후 방향에 평행하다.
어느 국면에 있어서, HMD 센서(410)는, 적외선 센서를 포함한다. 적외선 센서가, HMD(120)의 각 광원으로부터 발해진 적외선을 각각 검출하면, HMD(120)의 존재를 검출한다. HMD 센서(410)는, 추가로, 각 점의 값(실좌표계에 있어서의 각 좌표값)에 기초하여, HMD(120)를 장착한 유저(5)의 움직임에 따른, 현실 공간 내에 있어서의 HMD(120)의 위치 및 기울기(방향)를 검출한다. 보다 상세하게는, HMD 센서(410)는, 경시적으로 검출된 각 값을 이용하여, HMD(120)의 위치 및 기울기의 시간적 변화를 검출할 수 있다.
HMD 센서(410)에 의해 검출된 HMD(120)의 각 기울기는, 실좌표계에 있어서의 HMD(120)의 3축 둘레의 각 기울기에 상당한다. HMD 센서(410)는, 실좌표계에 있어서의 HMD(120)의 기울기에 기초하여, uvw 시야 좌표계를 HMD(120)에 설정한다. HMD(120)에 설정되는 uvw 시야 좌표계는, HMD(120)를 장착한 유저(5)가 가상 공간에 있어서 물체를 볼 때의 시점 좌표계에 대응한다.
[uvw 시야 좌표계]
도 3을 참조하여, uvw 시야 좌표계에 대해서 설명한다. 도 3은, 어느 실시의 형태에 따르는 HMD(120)에 설정되는 uvw 시야 좌표계를 개념적으로 나타내는 도이다. HMD 센서(410)는, HMD(120)의 기동 시에, 실좌표계에 있어서의 HMD(120)의 위치 및 기울기를 검출한다. 프로세서(210)는, 검출된 값에 기초하여, uvw 시야 좌표계를 HMD(120)에 설정한다.
도 3에 나타나는 바와 같이, HMD(120)는, HMD(120)를 장착한 유저(5)의 두부를 중심(원점)으로 한 3차원의 uvw 시야 좌표계를 설정한다. 보다 구체적으로는, HMD(120)는, 실좌표계를 규정하는 수평 방향, 연직 방향 및, 전후 방향(x축, y축, z축)을, 실좌표계 내에 있어서 HMD(120)의 각 축 둘레의 기울기만큼 각 축 둘레에 각각 기울임으로써 새롭게 얻어지는 3개의 방향을, HMD(120)에 있어서의 uvw 시야 좌표계의 피치축(u축), 요축(v축) 및, 롤축(w축)으로서 설정한다.
어느 국면에 있어서, HMD(120)를 장착한 유저(5)가 직립하고, 또한, 정면을 시인하고 있는 경우, 프로세서(210)는, 실좌표계에 평행한 uvw 시야 좌표계를 HMD(120)에 설정한다. 이 경우, 실좌표계에 있어서의 수평 방향(x축), 연직 방향(y축) 및, 전후 방향(z축)은, HMD(120)에 있어서의 uvw 시야 좌표계의 피치축(u축), 요축(v축) 및, 롤축(w축)에 일치한다.
uvw 시야 좌표계가 HMD(120)에 설정된 후, HMD 센서(410)는, HMD(120)의 움직임에 기초하여, 설정된 uvw 시야 좌표계에 있어서의 HMD(120)의 기울기를 검출할 수 있다. 이 경우, HMD 센서(410)는, HMD(120)의 기울기로서, uvw 시야 좌표계에 있어서의 HMD(120)의 피치각(θu), 요각(θv) 및, 롤각(θw)을 각각 검출한다. 피치각(θu)은, uvw 시야 좌표계에 있어서의 피치축 둘레의 HMD(120)의 기울기 각도를 나타낸다. 요각(θv)은, uvw 시야 좌표계에 있어서의 요축 둘레의 HMD(120)의 기울기 각도를 나타낸다. 롤각(θw)은, uvw 시야 좌표계에 있어서의 롤축 둘레의 HMD(120)의 기울기 각도를 나타낸다.
HMD 센서(410)는, 검출된 HMD(120)의 기울기에 기초하여, HMD(120)가 움직인 후의 HMD(120)에 있어서의 uvw 시야 좌표계를, HMD(120)에 설정한다. HMD(120)와, HMD(120)의 uvw 시야 좌표계의 관계는, HMD(120)의 위치 및 기울기에 상관없이, 항상 일정하다. HMD(120)의 위치 및 기울기가 바뀌면, 당해 위치 및 기울기의 변화에 연동하여, 실좌표계에 있어서의 HMD(120)의 uvw 시야 좌표계의 위치 및 기울기가 변화한다.
어느 국면에 있어서, HMD 센서(410)는, 적외선 센서로부터의 출력에 기초하여 취득되는 적외선의 광 강도 및 복수의 점 간의 상대적인 위치 관계(예를 들면, 각 점 간의 거리 등)에 기초하여, HMD(120)의 현실 공간 내에 있어서의 위치를, HMD 센서(410)에 대한 상대 위치로서 특정해도 좋다. 프로세서(210)는, 특정된 상대 위치에 기초하여, 현실 공간 내(실좌표계)에 있어서의 HMD(120)의 uvw 시야 좌표계의 원점을 결정해도 좋다.
[가상 공간]
도 4를 참조하여, 가상 공간에 대해서 추가로 설명한다. 도 4는, 어느 실시의 형태에 따르는 가상 공간(11)을 표현하는 일 태양을 개념적으로 나타내는 도면이다. 가상 공간(11)은, 중심(12)의 360도 방향의 전체를 덮는 전체 천구 형상의 구조를 갖는다. 도 4에서는, 설명을 복잡하게 하지 않기 위해, 가상 공간(11) 중의 상반분의 천구가 예시되어 있다. 가상 공간(11)에서는 각 메시가 규정된다. 각 메시의 위치는, 가상 공간(11)에 규정되는 글로벌 좌표계인 XYZ 좌표계에 있어서의 좌표값으로서 미리 규정되어 있다. 컴퓨터(200)는, 가상 공간(11)에 전개 가능한 파노라마 화상(13)(정지화상, 동화상 등)을 구성하는 각 부분 화상을, 가상 공간(11)에 있어서 대응하는 각 메시에 각각 대응짓는다.
어느 국면에 있어서, 가상 공간(11)에서는, 중심(12)을 원점으로 하는 XYZ 좌표계가 규정된다. XYZ 좌표계는, 예를 들면, 실좌표계에 평행하다. XYZ 좌표계에 있어서의 수평 방향, 연직 방향(상하 방향) 및, 전후 방향은, 각각 X축, Y축, Z 축으로서 규정된다. 따라서, XYZ 좌표계의 X축(수평 방향)이 실좌표계의 x축과 평행하고, XYZ 좌표계의 Y축(연직 방향)이 실좌표계의 y축과 평행하며, XYZ 좌표계의 Z축(전후 방향)이 실좌표계의 z축과 평행하다.
HMD(120)의 기동 시, 즉 HMD(120)의 초기 상태에 있어서, 가상 카메라(14)가, 가상 공간(11)의 중심(12)에 배치된다. 어느 국면에 있어서, 프로세서(210)는, 가상 카메라(14)가 촬영하는 화상을 HMD(120)의 모니터(130)에 표시한다. 가상 카메라(14)는, 현실 공간에 있어서의 HMD(120)의 움직임에 연동하여, 가상 공간(11)을 동일하게 이동한다. 이에 따라, 현실 공간에 있어서의 HMD(120)의 위치 및 기울기의 변화가, 가상 공간(11)에 있어서 동일하게 재현될 수 있다.
가상 카메라(14)에는, HMD(120)의 경우와 마찬가지로, uvw 시야 좌표계가 규정된다. 가상 공간(11)에 있어서의 가상 카메라(14)의 uvw 시야 좌표계는, 현실 공간(실좌표계)에 있어서의 HMD(120)의 uvw 시야 좌표계에 연동하도록 규정되어 있다. 따라서, HMD(120)의 기울기가 변화하면, 그에 따라서, 가상 카메라(14)의 기울기도 변화한다. 가상 카메라(14)는, HMD(120)를 장착한 유저(5)의 현실 공간에 있어서의 이동에 연동하여, 가상 공간(11)에 있어서 이동할 수도 있다.
컴퓨터(200)의 프로세서(210)는, 가상 카메라(14)의 위치와 기울기(기준 시선(16))에 기초하여, 가상 공간(11)에 있어서의 시계 영역(15)을 규정한다. 시계 영역(15)은, 가상 공간(11) 중, HMD(120)를 장착한 유저(5)가 시인하는 영역에 대응한다. 즉, 가상 카메라(14)의 위치는, 가상 공간(11)에 있어서의 유저(5)의 시점이라고 할 수 있다.
주시 센서(140)에 의해 검출되는 유저(5)의 시선은, 유저(5)가 물체를 시인할 때의 시점 좌표계에 있어서의 방향이다. HMD(120)의 uvw 시야 좌표계는, 유저(5)가 모니터(130)를 시인할 때의 시점 좌표계에 동일하다. 가상 카메라(14)의 uvw 시야 좌표계는, HMD(120)의 uvw 시야 좌표계에 연동하고 있다. 따라서, 어느 국면에 따르는 HMD 시스템(100)은, 주시 센서(140)에 의해 검출된 유저(5)의 시선을, 가상 카메라(14)의 uvw 시야 좌표계에 있어서의 유저(5)의 시선으로 간주할 수 있다.
[유저의 시선]
도 5를 참조하여, 유저(5)의 시선의 결정에 대해서 설명한다. 도 5는, 어느 실시의 형태에 따르는 HMD(120)를 장착하는 유저(5)의 두부를 위로부터 나타낸 도이다.
어느 국면에 있어서, 주시 센서(140)는, 유저(5)의 오른쪽눈 및 왼쪽눈의 각 시선을 검출한다. 어느 국면에 있어서, 유저(5)가 가까운 곳을 보고 있는 경우, 주시 센서(140)는, 시선(R1 및 L1)을 검출한다. 다른 국면에 있어서, 유저(5)가 먼 곳을 보고 있는 경우, 주시 센서(140)는, 시선(R2 및 L2)을 검출한다. 이 경우, 롤축(w)에 대하여 시선(R2 및 L2)이 이루는 각도는, 롤축(w)에 대하여 시선(R1 및 L1)이 이루는 각도보다도 작다. 주시 센서(140)는, 검출 결과를 컴퓨터(200)에 송신한다.
컴퓨터(200)가, 시선의 검출 결과로서, 시선(R1 및 L1)의 검출값을 주시 센서(140)로부터 수신한 경우에는, 그의 검출값에 기초하여, 시선(R1 및 L1)의 교점인 주시점(N1)을 특정한다. 한편, 컴퓨터(200)는, 시선(R2 및 L2)의 검출값을 주시 센서(140)로부터 수신한 경우에는, 시선(R2 및 L2)의 교점을 주시점으로서 특정한다. 컴퓨터(200)는, 특정한 주시점(N1)의 위치에 기초하여, 유저(5)의 시선(N0)을 특정한다. 컴퓨터(200)는, 예를 들면, 유저(5)의 오른쪽눈(R)과 왼쪽눈(L)을 연결하는 직선의 중점과, 주시점(N1)을 통과하는 직선이 연장되는 방향을, 시선(N0)으로서 검출한다. 시선(N0)은, 유저(5)가 양 눈에 의해 실제로 시선을 향하고 있는 방향이다. 시선(N0)은, 시계 영역(15)에 대하여 유저(5)가 실제로 시선을 향하고 있는 방향에 상당한다.
다른 국면에 있어서, HMD 시스템(100)은, 텔레비젼 방송 수신 튜너를 구비해도 좋다. 이러한 구성에 의하면, HMD 시스템(100)은, 가상 공간(11)에 있어서 TV 프로를 표시할 수 있다.
또 다른 국면에 있어서, HMD 시스템(100)은, 인터넷에 접속하기 위한 통신 회로, 혹은, 전화 회선에 접속하기 위한 통화 기능을 구비하고 있어도 좋다.
[시계 영역]
도 6 및 도 7을 참조하여, 시계 영역(15)에 대해서 설명한다. 도 6은, 가상 공간(11)에 있어서 시계 영역(15)을 X 방향으로부터 본 YZ 단면을 나타내는 도이다. 도 7은, 가상 공간(11)에 있어서 시계 영역(15)을 Y 방향으로부터 본 XZ 단면을 나타내는 도이다.
도 6에 나타나는 바와 같이, YZ 단면에 있어서의 시계 영역(15)은, 영역(18)을 포함한다. 영역(18)은, 가상 카메라(14)의 위치와 기준 시선(16)과 가상 공간(11)의 YZ 단면에 의해 정의된다. 프로세서(210)는, 가상 공간에 있어서의 기준 시선(16)을 중심으로 하여 극각(α)을 포함하는 범위를, 영역(18)으로서 규정한다.
도 7에 나타나는 바와 같이, XZ 단면에 있어서의 시계 영역(15)은, 영역(19)을 포함한다. 영역(19)은, 가상 카메라(14)의 위치와 기준 시선(16)과 가상 공간(11)의 XZ 단면에 의해 정의된다. 프로세서(210)는, 가상 공간(11)에 있어서의 기준 시선(16)을 중심으로 한 방위각(β)을 포함하는 범위를, 영역(19)으로서 규정한다. 극각(α 및 β)은, 가상 카메라(14)의 위치와 가상 카메라(14)의 기울기(방향)에 따라서 정해진다.
어느 국면에 있어서, HMD 시스템(100)은, 컴퓨터(200)로부터의 신호에 기초하여, 시계 화상(17)을 모니터(130)에 표시시킴으로써, 유저(5)에게 가상 공간(11)에 있어서의 시계를 제공한다. 시계 화상(17)은, 파노라마 화상(13) 중 시계 영역(15)에 대응하는 부분에 상당하는 화상이다. 유저(5)가, 머리에 장착한 HMD(120)를 움직이면, 그의 움직임에 연동하여 가상 카메라(14)도 움직인다. 그 결과, 가상 공간(11)에 있어서의 시계 영역(15)의 위치가 변화한다. 이에 따라, 모니터(130)에 표시되는 시계 화상(17)은, 파노라마 화상(13) 중, 가상 공간(11)에 있어서 유저(5)가 향한 방향의 시계 영역(15)에 중첩하는 화상으로 갱신된다. 유저(5)는, 가상 공간(11)에 있어서의 소망하는 방향을 시인할 수 있다.
이와 같이, 가상 카메라(14)의 기울기는 가상 공간(11)에 있어서의 유저(5)의 시선(기준 시선(16))에 상당하고, 가상 카메라(14)가 배치되는 위치는, 가상 공간(11)에 있어서의 유저(5)의 시점에 상당한다. 따라서, 가상 카메라(14)의 위치 또는 기울기를 변경함으로써, 모니터(130)에 표시되는 화상이 갱신되어, 유저(5)의 시계가 이동된다.
유저(5)는, HMD(120)를 장착하고 있는 동안, 현실 세계를 시인하는 일 없이, 가상 공간(11)에 전개되는 파노라마 화상(13)만을 시인할 수 있다. 그 때문에, HMD 시스템(100)은, 가상 공간(11)으로의 높은 몰입 감각을 유저(5)에게 부여할 수 있다.
어느 국면에 있어서, 프로세서(210)는, HMD(120)를 장착한 유저(5)의 현실 공간에 있어서의 이동에 연동하여, 가상 공간(11)에 있어서 가상 카메라(14)를 이동할 수 있다. 이 경우, 프로세서(210)는, 가상 공간(11)에 있어서의 가상 카메라(14)의 위치 및 기울기에 기초하여, HMD(120)의 모니터(130)에 투영되는 화상 영역(시계 영역(15))을 특정한다.
어느 국면에 있어서, 가상 카메라(14)는, 2개의 가상 카메라, 즉, 오른쪽눈용의 화상을 제공하기 위한 가상 카메라와, 왼쪽눈용의 화상을 제공하기 위한 가상 카메라를 포함할 수 있다. 유저(5)가 3차원의 가상 공간(11)을 인식할 수 있도록, 적절한 시차가, 2개의 가상 카메라에 설정된다. 다른 국면에 있어서, 가상 카메라(14)를 1개의 가상 카메라에 의해 실현해도 좋다. 이 경우, 1개의 가상 카메라에 의해 얻어진 화상으로부터, 오른쪽눈용의 화상과 왼쪽눈용의 화상을 생성하도록 해도 좋다. 본 실시의 형태에 있어서는, 가상 카메라(14)가 2개의 가상 카메라를 포함하고, 2개의 가상 카메라의 롤축이 합성됨으로써 생성되는 롤축(w)이 HMD(120)의 롤축(w)에 적합되도록 구성되어 있는 것으로서, 본 개시에 따른 기술 사상을 예시한다.
[컨트롤러]
도 8을 참조하여, 컨트롤러(300)의 일 예에 대해서 설명한다. 도 8은, 어느 실시의 형태에 따르는 컨트롤러(300)의 개략 구성을 나타내는 도이다.
도 8에 나타나는 바와 같이, 어느 국면에 있어서, 컨트롤러(300)는, 우측 컨트롤러(300R)와 도시하지 않는 좌측 컨트롤러를 포함할 수 있다. 우측 컨트롤러(300R)는, 유저(5)의 오른손으로 조작된다. 좌측 컨트롤러는, 유저(5)의 왼손으로 조작된다. 어느 국면에 있어서, 우측 컨트롤러(300R)와 좌측 컨트롤러는, 별개의 장치로서 대칭으로 구성된다. 따라서, 유저(5)는, 우측 컨트롤러(300R)를 파지한 오른손과, 좌측 컨트롤러를 파지한 왼손을 각각 자유롭게 움직일 수 있다. 다른 국면에 있어서, 컨트롤러(300)는 양손의 조작을 접수하는 일체형의 컨트롤러라도 좋다. 이하, 우측 컨트롤러(300R)에 대해서 설명한다.
우측 컨트롤러(300R)는, 그립(310)과, 프레임(320)과, 천면(330)을 구비한다. 그립(310)은, 유저(5)의 오른손에 의해 파지되도록 구성되어 있다. 예를 들면, 그립(310)은, 유저(5)의 오른손의 손바닥과 3개의 손가락(가운데 손가락, 약 손가락, 새끼 손가락)에 의해서 보유지지될 수 있다.
그립(310)은, 버튼(340, 350)과, 모션 센서(420)를 포함한다. 버튼(340)은, 그립(310)의 측면에 배치되고, 오른손의 가운데 손가락에 의한 조작을 접수한다. 버튼(350)은, 그립(310)의 전면에 배치되고, 오른손의 집게 손가락에 의한 조작을 접수한다. 어느 국면에 있어서, 버튼(340, 350)은, 트리거식의 버튼으로서 구성된다. 모션 센서(420)는, 그립(310)의 몸체에 내장되어 있다. 유저(5)의 동작이 카메라 그 외의 장치에 의해 유저(5)의 둘레로부터 검출 가능한 경우에는, 그립(310)은, 모션 센서(420)를 구비하지 않아도 좋다.
프레임(320)은, 그의 원주 방향을 따라서 배치된 복수의 적외선(LED360)을 포함한다. 적외선(LED360)은, 컨트롤러(300)를 사용하는 프로그램의 실행 중에, 당해 프로그램의 진행에 맞추어 적외선을 발광한다. 적외선(LED360)으로부터 발해진 적외선은, 우측 컨트롤러(300R)와 좌측 컨트롤러의 각 위치나 자세(기울기, 방향)를 검출하기 위해 사용될 수 있다. 도 8에 나타나는 예에서는, 2열로 배치된 적외선(LED360)이 나타나 있지만, 배열의 수는 도 8에 나타나는 것에 한정되지 않는다. 1열 혹은 3열 이상의 배열이 사용되어도 좋다.
천면(330)은, 버튼(370, 380)과, 아날로그 스틱(390)을 구비한다. 버튼(370, 380)은, 푸시식 버튼으로서 구성된다. 버튼(370, 380)은, 유저(5)의 오른손의 엄지 손가락에 의한 조작을 접수한다. 아날로그 스틱(390)은, 어느 국면에 있어서, 초기 위치(뉴트럴의 위치)로부터 360도 임의의 방향으로의 조작을 접수한다. 당해 조작은, 예를 들면, 가상 공간(11)에 배치되는 오브젝트를 이동하기 위한 조작을 포함한다.
어느 국면에 있어서, 우측 컨트롤러(300R) 및 좌측 컨트롤러는, 적외선(LED360) 그 외의 부재를 구동하기 위한 전지를 포함한다. 전지는, 충전식, 버튼형, 건전지형 등을 포함하지만, 이들에 한정되지 않는다. 다른 국면에 있어서, 우측 컨트롤러(300R)와 좌측 컨트롤러는, 예를 들면, 컴퓨터(200)의 USB 인터페이스에 접속될 수 있다. 이 경우, 우측 컨트롤러(300R) 및 좌측 컨트롤러는, 전지를 필요로 하지 않는다.
도 8의 상태a 및 상태b에 나타나는 바와 같이, 예를 들면, 유저(5)의 오른손에 대하여, 요, 롤, 피치의 각 방향이 규정된다. 유저(5)가 엄지 손가락과 집게 손가락을 폈을 경우에, 엄지 손가락이 뻗는 방향이 요 방향, 집게 손가락이 뻗는 방향이 롤 방향, 요 방향의 축 및 롤 방향의 축에 의해 규정되는 평면에 수직인 방향이 피치 방향으로서 규정된다.
[서버의 하드웨어 구성]
도 9를 참조하여, 본 실시의 형태에 따른 서버(10)에 대해서 설명한다. 도 9는, 어느 실시의 형태에 따르는 서버(600)의 하드웨어 구성의 일 예를 나타내는 블록도이다. 서버(600)는, 주요 구성 요소로서, 프로세서(610)와, 메모리(620)와, 스토리지(630)와, 입출력 인터페이스(640)와, 통신 인터페이스(650)를 구비한다. 각 구성 요소는, 각각, 버스(660)에 접속되어 있다.
프로세서(610)는, 서버(600)에 부여되는 신호에 기초하여, 혹은, 미리 정해진 조건이 성립한 것에 기초하여, 메모리(620) 또는 스토리지(630)에 격납되어 있는 프로그램에 포함되는 일련의 명령을 실행한다. 어느 국면에 있어서, 프로세서(610)는, CPU), GPU, MPU, FPGA 그 외의 디바이스로서 실현된다.
메모리(620)는, 프로그램 및 데이터를 일시적으로 보존한다. 프로그램은, 예를 들면, 스토리지(630)로부터 로드된다. 데이터는, 서버(600)에 입력된 데이터와, 프로세서(610)에 의해 생성된 데이터를 포함한다. 어느 국면에 있어서, 메모리(620)는, RAM 그 외의 휘발 메모리로서 실현된다.
스토리지(630)는, 프로그램 및 데이터를 영속적으로 유존유지한다. 스토리지(630)는, 예를 들면, ROM, 하드 디스크 장치, 플래시 메모리, 그 외의 불휘발 기억 장치로서 실현된다. 스토리지(630)에 격납되는 프로그램은, HMD 시스템(100)에 있어서 가상 공간을 제공하기 위한 프로그램, 시뮬레이션 프로그램, 게임 프로그램, 유저 인증 프로그램, 컴퓨터(200)와의 통신을 실현하기 위한 프로그램을 포함해도 좋다. 스토리지(630)에 격납되는 데이터는, 가상 공간을 규정하기 위한 데이터 및 오브젝트 등을 포함해도 좋다.
다른 국면에 있어서, 스토리지(630)는, 메모리 카드와 같이 탈착 가능한 기억 장치로서 실현되어도 좋다. 또 다른 국면에 있어서, 서버(600)에 내장된 스토리지(630)의 대신에, 외부의 기억 장치에 보존되어 있는 프로그램 및 데이터를 사용하는 구성이 사용되어도 좋다. 이러한 구성에 의하면, 예를 들면, 어뮤즈먼트 시설과 같이 복수의 HMD 시스템(100)이 사용되는 장면에 있어서, 프로그램이나 데이터의 갱신을 일괄하여 행하는 것이 가능해진다.
입출력 인터페이스(640)는, 입출력 기기와의 사이에 신호를 통신한다. 어느 국면에 있어서, 입출력 인터페이스(640)는, USB, DVI, HDMI 그 외의 단자를 이용하여 실현된다. 입출력 인터페이스(640)는 전술의 것에 한정되지 않는다.
통신 인터페이스(650)는, 네트워크(2)에 접속되고, 네트워크(2)에 접속되어 있는 컴퓨터(200)와 통신한다. 어느 국면에 있어서, 통신 인터페이스(650)는, 예를 들면, LAN 그 외의 유선 통신 인터페이스, 혹은, WiFi, Bluetooth, NFC 그 외의 무선 통신 인터페이스로서 실현된다. 통신 인터페이스(650)는 전술의 것에 한정되지 않는다.
어느 국면에 있어서, 프로세서(610)는, 스토리지(630)에 액세스하고, 스토리지(630)에 격납되어 있는 1개 이상의 프로그램을 메모리(620)에 로드하여, 당해 프로그램에 포함되는 일련의 명령을 실행한다. 당해 1개 이상의 프로그램은, 서버(600)의 오퍼레이팅 시스템, 가상 공간을 제공하기 위한 어플리케이션 프로그램, 가상 공간에서 실행 가능한 게임 소프트웨어 등을 포함할 수 있다. 프로세서(610)는, 입출력 인터페이스(640)를 통하여, 가상 공간을 제공하기 위한 신호를 컴퓨터(200)에 전송해도 좋다.
[HMD의 제어 장치]
도 10을 참조하여, HMD(120)의 제어 장치에 대해서 설명한다. 어느 실시의 형태에 있어서, 제어 장치는 주지의 구성을 갖는 컴퓨터(200)에 의해 실현된다. 도 10은, 어느 실시의 형태에 따르는 컴퓨터(200)를 모듈 구성으로서 나타내는 블록도이다.
도 10에 나타나는 바와 같이, 컴퓨터(200)는, 컨트롤 모듈(510)과, 렌더링 모듈(520)과, 메모리 모듈(530)과, 통신 제어 모듈(540)을 구비한다. 어느 국면에 있어서, 컨트롤 모듈(510)과 렌더링 모듈(520)은, 프로세서(210)에 의해 실현된다. 다른 국면에 있어서, 복수의 프로세서(210)가 컨트롤 모듈(510)과 렌더링 모듈(520)로서 작동해도 좋다. 메모리 모듈(530)은, 메모리(220) 또는 스토리지(230)에 의해 실현된다. 통신 제어 모듈(540)은, 통신 인터페이스(250)에 의해 실현된다.
컨트롤 모듈(510)은, 유저(5)에게 제공되는 가상 공간(11)을 제어한다. 컨트롤 모듈(510)은, 가상 공간(11)을 나타내는 가상 공간 데이터를 이용하여, HMD 시스템(100)에 있어서의 가상 공간(11)을 규정한다. 가상 공간 데이터는, 예를 들면, 메모리 모듈(530)에 기억되어 있다. 컨트롤 모듈(510)이, 가상 공간 데이터를 생성하거나, 서버(600) 등으로부터 가상 공간 데이터를 취득하도록 해도 좋다.
컨트롤 모듈(510)은, 오브젝트를 나타내는 오브젝트 데이터를 이용하여, 가상 공간(11)에 오브젝트를 배치한다. 오브젝트 데이터는, 예를 들면, 메모리 모듈(530)에 기억되어 있다. 컨트롤 모듈(510)이, 오브젝트 데이터를 생성하거나, 서버(600) 등으로부터 오브젝트 데이터를 취득하도록 하거나 해도 좋다. 오브젝트는, 예를 들면, 유저(5)의 분신인 아바타(Avatar) 오브젝트, 캐릭터 오브젝트, 컨트롤러(300)에 의해 조작되는 가상손 등의 조작 오브젝트, 게임의 스토리의 진행에 따라서 배치되는 숲, 산 그 외를 포함하는 풍경, 거리풍경, 동물 등을 포함할 수 있다.
컨트롤 모듈(510)은, 네트워크(2)를 통하여 접속되는 다른 컴퓨터(200)의 유저(5)의 아바타 오브젝트를 가상 공간(11)에 배치한다. 어느 국면에 있어서, 컨트롤 모듈(510)은, 유저(5)의 아바타 오브젝트를 가상 공간(11)에 배치한다. 어느 국면에 있어서, 컨트롤 모듈(510)은, 유저(5)를 포함하는 화상에 기초하여, 유저(5)를 본뜬 아바타 오브젝트를 가상 공간(11)에 배치한다. 다른 국면에 있어서, 컨트롤 모듈(510)은, 복수 종류의 아바타 오브젝트(예를 들면, 동물을 본뜬 오브젝트나, 데포르메된 사람의 오브젝트) 중으로부터 유저(5)에 의한 선택을 접수한 아바타 오브젝트를 가상 공간(11)에 배치한다.
컨트롤 모듈(510)은, HMD 센서(410)의 출력에 기초하여 HMD(120)의 기울기를 특정한다. 다른 국면에 있어서, 컨트롤 모듈(510)은, 모션 센서로서 기능하는 센서(190)의 출력에 기초하여 HMD(120)의 기울기를 특정한다. 컨트롤 모듈(510)은, 제1 카메라(150) 및 제2 카메라(160)가 생성하는 유저(5)의 얼굴의 화상으로부터, 유저(5)의 얼굴을 구성하는 기관(예를 들면, 입, 눈, 눈썹)을 검출한다. 컨트롤 모듈(510)은, 검출한 각 기관의 움직임(형상)을 검출한다.
컨트롤 모듈(510)은, 주시 센서(140)로부터의 신호에 기초하여, 유저(5)의 가상 공간(11)에 있어서의 시선을 검출한다. 컨트롤 모듈(510)은, 검출한 유저(5)의 시선과 가상 공간(11)의 천구가 교차하는 시점 위치(XYZ 좌표계에 있어서의 좌표값)를 검출한다. 보다 구체적으로는, 컨트롤 모듈(510)은, uvw 좌표계로 규정되는 유저(5)의 시선과, 가상 카메라(14)의 위치 및 기울기에 기초하여, 시점 위치를 검출한다. 컨트롤 모듈(510)은, 검출한 시점 위치를 서버(600)에 송신한다. 다른 국면에 있어서, 컨트롤 모듈(510)은, 유저(5)의 시선을 나타내는 시선 정보를 서버(600)에 송신하도록 구성되어도 좋다. 이러한 경우, 서버(600)가 수신한 시선 정보에 기초하여 시점 위치를 산출할 수 있다.
컨트롤 모듈(510)은, HMD 센서(410)가 검출하는 HMD(120)의 움직임을 아바타 오브젝트에 반영한다. 예를 들면, 컨트롤 모듈(510)은, HMD(120)가 기울어진 것을 검지하여, 아바타 오브젝트를 기울여 배치한다. 컨트롤 모듈(510)은, 검출한 얼굴 기관의 동작을, 가상 공간(11)에 배치되는 아바타 오브젝트의 얼굴에 반영시킨다. 컨트롤 모듈(510)은, 서버(600)로부터 다른 유저(5)의 시선 정보를 수신하고, 당해 다른 유저(5)의 아바타 오브젝트의 시선에 반영시킨다. 어느 국면에 있어서, 컨트롤 모듈(510)은, 컨트롤러(300)의 움직임을 아바타 오브젝트나 조작 오브젝트에 반영한다. 이 경우, 컨트롤러(300)는, 컨트롤러(300)의 움직임을 검지하기 위한 모션 센서, 가속도 센서, 또는 복수의 발광 소자(예를 들면, 적외선 LED) 등을 구비한다.
컨트롤 모듈(510)은, 가상 공간(11)에 있어서 유저(5)의 조작을 접수하기 위한 조작 오브젝트를 가상 공간(11)에 배치한다. 유저(5)는, 조작 오브젝트를 조작함으로써, 예를 들면, 가상 공간(11)에 배치되는 오브젝트를 조작한다. 어느 국면에 있어서, 조작 오브젝트는, 예를 들면, 유저(5)의 손에 상당하는 가상손인 손 오브젝트 등을 포함할 수 있다. 어느 국면에 있어서, 컨트롤 모듈(510)은, 모션 센서(420)의 출력에 기초하여 현실 공간에 있어서의 유저(5)의 손의 움직임에 연동하도록 가상 공간(11)에 있어서 손 오브젝트를 움직인다. 어느 국면에 있어서, 조작 오브젝트는, 아바타 오브젝트의 손의 부분에 상당할 수 있다.
컨트롤 모듈(510)은, 가상 공간(11)에 배치되는 오브젝트의 각각이, 다른 오브젝트와 충돌한 경우에, 당해 충돌을 검출한다. 컨트롤 모듈(510)은, 예를 들면, 어느 오브젝트의 충돌 에어리어와, 다른 오브젝트의 충돌 에어리어가 접촉한 타이밍을 검출할 수 있고, 당해 검출이 되었을 시에, 미리 정해진 처리를 행한다. 컨트롤 모듈(510)은, 오브젝트와 오브젝트가 접촉하고 있는 상태로부터 떨어진 타이밍을 검출할 수 있어, 당해 검출이 되었을 시에, 미리 정해진 처리를 행한다. 컨트롤 모듈(510)은, 오브젝트와 오브젝트가 접촉하고 있는 상태인 것을 검출할 수 있다. 예를 들면, 컨트롤 모듈(510)은, 조작 오브젝트와, 다른 오브젝트가 접촉했을 시에, 이들 조작 오브젝트와 다른 오브젝트가 접촉한 것을 검출하여, 미리 정해진 처리를 행한다.
어느 국면에 있어서, 컨트롤 모듈(510)은, HMD(120)의 모니터(130)에 있어서의 화상 표시를 제어한다. 예를 들면, 컨트롤 모듈(510)은, 가상 공간(11)에 가상 카메라(14)를 배치한다. 컨트롤 모듈(510)은, 가상 공간(11)에 있어서의 가상 카메라(14)의 위치와, 가상 카메라(14)의 기울기(방향)를 제어한다. 컨트롤 모듈(510)은, HMD(120)를 장착한 유저(5)의 머리의 기울기와, 가상 카메라(14)의 위치에 따라서, 시계 영역(15)을 규정한다. 렌더링 모듈(520)은, 결정된 시계 영역(15)에 기초하여, 모니터(130)에 표시되는 시계 화상(17)을 생성한다. 렌더링 모듈(520)에 의해 생성된 시계 화상(17)은, 통신 제어 모듈(540)에 의해 HMD(120)에 출력된다.
컨트롤 모듈(510)은, HMD(120)로부터, 유저(5)의 마이크(170)를 이용한 발화를 검출하면, 당해 발화에 대응하는 음성 데이터의 송신 대상의 컴퓨터(200)를 특정한다. 음성 데이터는, 컨트롤 모듈(510)에 의해 특정된 컴퓨터(200)에 송신된다. 컨트롤 모듈(510)은, 네트워크(2)를 통하여 다른 유저의 컴퓨터(200)로부터 음성 데이터를 수신하면, 당해 음성 데이터에 대응하는 음성(발화)을 스피커(180)로부터 출력한다.
메모리 모듈(530)은, 컴퓨터(200)가 가상 공간(11)을 유저(5)에게 제공하기 위해 사용되는 데이터를 보존유지하고 있다. 어느 국면에 있어서, 메모리 모듈(530)은, 공간 정보와, 오브젝트 정보와, 유저 정보를 보존유지하고 있다.
공간 정보는, 가상 공간(11)을 제공하기 위해 규정된 1개 이상의 템플레이트를 보존유지하고 있다.
오브젝트 정보는, 가상 공간(11)을 구성하는 복수의 파노라마 화상(13), 가상 공간(11)에 오브젝트를 배치하기 위한 오브젝트 데이터를 포함한다. 파노라마 화상(13)은, 정지화상 및 동화상을 포함할 수 있다. 파노라마 화상(13)은, 비현실 공간의 화상과 현실 공간의 화상을 포함할 수 있다. 비현실 공간의 화상으로서는, 예를 들면, 컴퓨터 그래픽스로 생성된 화상을 들 수 있다.
유저 정보는, 유저(5)를 식별하는 유저 ID를 보존유지한다. 유저 ID는, 예를 들면, 유저가 사용하는 컴퓨터(200)에 설정되는 IP(Internet Protocol) 어드레스 또는 MAC(Media Access Control) 어드레스일 수 있다. 다른 국면에 있어서, 유저 ID는 유저에 의해 설정될 수 있다. 유저 정보는, HMD 시스템(100)의 제어 장치로서 컴퓨터(200)를 기능시키기 위한 프로그램 등을 포함한다.
메모리 모듈(530)에 격납되어 있는 데이터 및 프로그램은, HMD(120)의 유저(5)에 의해 입력된다. 혹은, 프로세서(210)가, 당해 컨텐츠를 제공하는 사업자가 운영하는 컴퓨터(예를 들면, 서버(600))로부터 프로그램 혹은 데이터를 다운로드하고, 다운로드된 프로그램 혹은 데이터를 메모리 모듈(530)에 격납한다.
통신 제어 모듈(540)은, 네트워크(2)를 통하여, 서버(600) 그 외의 정보 통신 장치와 통신할 수 있다.
어느 국면에 있어서, 컨트롤 모듈(510) 및 렌더링 모듈(520)은, 예를 들면, 유니티 테크놀로지스사에 의해 제공되는 Unity(등록상표)를 이용하여 실현될 수 있다. 다른 국면에 있어서, 컨트롤 모듈(510) 및 렌더링 모듈(520)은, 각 처리를 실현하는 회로 소자의 조합으로서도 실현될 수 있다.
컴퓨터(200)에 있어서의 처리는, 하드웨어와, 프로세서(210)에 의해 실행되는 소프트웨어에 의해 실현된다. 이러한 소프트웨어는, 하드 디스크 그 외의 메모리 모듈(530)에 미리 격납되어 있는 경우가 있다. 소프트웨어는, CD-ROM 그 외의 컴퓨터 판독 가능한 불휘발성의 데이터 기록 매체에 격납되고, 프로그램 제품으로서 유통되고 있는 경우도 있다. 혹은, 당해 소프트웨어는, 인터넷 그 외의 네트워크에 접속되어 있는 정보 제공 사업자에 의해 다운로드 가능한 프로그램 제품으로서 제공되는 경우도 있다. 이러한 소프트웨어는, 광 디스크 구동 장치 그 외의 데이터 판독 장치에 의해 데이터 기록 매체로부터 판독되고, 혹은, 통신 제어 모듈(540)을 통하여 서버(600) 그 외의 컴퓨터로부터 다운로드된 후, 기억 모듈에 일단 격납된다. 그 소프트웨어는, 프로세서(210)에 의해 기억 모듈로부터 독출되어, 실행 가능한 프로그램의 형식으로 RAM에 격납된다. 프로세서(210)는, 그 프로그램을 실행한다.
[HMD 시스템의 제어 구조]
도 11을 참조하여, HMD 세트(110)의 제어 구조에 대해서 설명한다. 도 11은, 어느 실시의 형태에 따르는 HMD 세트(110)에 있어서 실행되는 처리의 일부를 나타내는 시퀀스 차트이다.
도 11에 나타나는 바와 같이, 스텝 S1110에서, 컴퓨터(200)의 프로세서(210)는, 컨트롤 모듈(510)로서, 가상 공간 데이터를 특정하여, 가상 공간(11)을 정의한다.
스텝 S1120에서, 프로세서(210)는, 가상 카메라(14)를 초기화한다. 예를 들어, 프로세서(210)는, 메모리의 워크 영역에 있어서, 가상 카메라(14)를 가상 공간(11)에 있어서 미리 규정된 중심점(12)에 배치하고, 가상 카메라(14)의 시선을 유저(5)가 향하고 있는 방향을 향한다.
스텝 S1130에서, 프로세서(210)는, 렌더링 모듈(520)로서, 초기의 시계 화상을 표시하기 위한 시계 화상 데이터를 생성한다. 생성된 시계 화상 데이터는, 통신 제어 모듈(540)에 의해 HMD(120)에 출력된다.
스텝 S1132에서, HMD(120)의 모니터(130)는, 컴퓨터(200)로부터 수신한 시계 화상 데이터에 기초하여, 시계 화상을 표시한다. HMD(120)를 장착한 유저(5)는, 시계 화상을 시인하면 가상 공간(11)을 인식할 수 있다.
스텝 S1134에서, HMD 센서(410)는, HMD(120)로부터 발신되는 복수의 적외선광에 기초하여, HMD(120)의 위치와 기울기를 검지한다. 검지 결과는, 움직임 검지 데이터로서, 컴퓨터(200)에 출력된다.
스텝 S1140에서, 프로세서(210)는, HMD(120)의 움직임 검지 데이터에 포함되는 위치와 기울기에 기초하여, HMD(120)를 장착한 유저(5)의 시계 방향을 특정한다.
스텝 S1150에서, 프로세서(210)는, 어플리케이션 프로그램을 실행하고, 어플리케이션 프로그램에 포함되는 명령에 기초하여, 가상 공간(11)에 오브젝트를 배치한다.
스텝 S1160에서, 컨트롤러(300)는, 모션 센서(420)로부터 출력되는 신호에 기초하여, 유저(5)의 조작을 검출하고, 그 검출된 조작을 나타내는 검출 데이터를 컴퓨터(200)에 출력한다. 다른 국면에 있어서, 유저(5)에 의한 컨트롤러(300)의 조작은, 유저(5)의 주위에 배치된 카메라로부터의 화상에 기초하여 검출되어도 좋다.
스텝 S1170에서, 프로세서(210)는, 컨트롤러(300)로부터 취득한 검출 데이터에 기초하여, 유저(5)에 의한 컨트롤러(300)의 조작을 검출한다.
스텝 S1180에서, 프로세서(210)는, 유저(5)에 의한 컨트롤러(300)의 조작에 기초하는 시계 화상 데이터를 생성한다. 생성된 시계 화상 데이터는, 통신 제어 모듈(540)에 의해 HMD(120)에 출력된다.
스텝 S1190에서, HMD(120)는, 수신한 시계 화상 데이터에 기초하여 시계 화상을 갱신하고, 갱신 후의 시계 화상을 모니터(130)에 표시한다.
[아바타 오브젝트]
도 12a, b를 참조하여, 본 실시의 형태에 따르는 아바타 오브젝트에 대해서 설명한다. 이하, HMD 세트(110A, 110B)의 각 유저(5)의 아바타 오브젝트를 설명하는 도이다. 이하, HMD 세트(110A)의 유저를 유저(5A), HMD 세트(110B)의 유저를 유저(5B), HMD 세트(110C)의 유저를 유저(5C), HMD 세트(110D)의 유저를 유저(5D)라고 나타낸다. HMD 세트(110A)에 관한 각 구성 요소의 참조 부호에 A가 붙여지고, HMD 세트(110B)에 관한 각 구성 요소의 참조 부호에 B가 붙여지고, HMD 세트(110C)에 관한 각 구성 요소의 참조 부호에 C가 붙여지고, HMD 세트(110D)에 관한 각 구성 요소의 참조 부호에 D가 붙여진다. 예를 들면, HMD(120A)는, HMD 세트(110A)에 포함된다.
도 12a는, 네트워크(2)에 있어서, 각 HMD(120)가 유저(5)에 가상 공간(11)을 제공하는 상황을 나타내는 모식도이다. 컴퓨터(200A∼200D)는, HMD(120A∼120D)를 통하여, 유저(5A∼5D)에, 가상 공간(11A∼11D)을 각각 제공한다. 도 12a에 나타나는 예에 있어서, 가상 공간(11A) 및 가상 공간(11B)은 동일한 데이터에 의해 구성되어 있다. 환언하면, 컴퓨터(200A)와 컴퓨터(200B)는 동일한 가상 공간을 공유하고 있게 된다. 가상 공간(11A) 및 가상 공간(11B)에는, 유저(5A)의 아바타 오브젝트(6A)와, 유저(5B)의 아바타 오브젝트(6B)가 존재한다. 가상 공간(11A)에 있어서의 아바타 오브젝트(6A) 및 가상 공간(11B)에 있어서의 아바타 오브젝트(6B)가 각각 HMD(120)를 장착하고 있지만, 이는 설명을 알기 쉽게 하기 위한 것으로서, 실제로는 이들의 오브젝트는 HMD(120)를 장착하고 있지 않다.
어느 국면에 있어서, 프로세서(210A)는, 유저(5A)의 시계 화상(17A)을 촬영하는 가상 카메라(14A)를, 아바타 오브젝트(6A)의 눈의 위치에 배치할 수 있다.
도 12b는, 도 12a에 있어서의 유저(5A)의 시계 화상(17A)을 나타내는 도이다. 시계 화상(17A)은, HMD(120A)의 모니터(130A)에 표시되는 화상이다. 이 시계 화상(17A)은, 가상 카메라(14A)에 의해 생성된 화상이다. 시계 화상(17A)에는, 유저(5B)의 아바타 오브젝트(6B)가 표시되어 있다. 특히 도시는 하고 있지 않지만, 유저(5B)의 시계 화상에도 마찬가지로, 유저(5A)의 아바타 오브젝트(6A)가 표시되어 있다.
도 12b의 상태에 있어서, 유저(5A)는 가상 공간(11A)을 통하여 유저(5B)와 대화에 의한 통신(커뮤니케이션)을 도모할 수 있다. 보다 구체적으로는, 마이크(170A)에 의해 취득된 유저(5A)의 음성은, 서버(600)를 통하여 유저(5B)의 HMD(17120B)에 송신되고, HMD(120B)에 형성된 스피커(180B)로부터 출력된다. 유저(5B)의 음성은, 서버(600)를 통하여 유저(5A)의 HMD(120A)에 송신되고, HMD(120A)에 형성된 스피커(180A)로부터 출력된다.
유저(5B)의 동작(HMD(120B)의 동작 및 컨트롤러(300B)의 동작)은, 프로세서(210A)에 의해 가상 공간(11A)에 배치되는 아바타 오브젝트(6B)에 반영된다. 이에 따라, 유저(5A)는, 유저(5B)의 동작을, 아바타 오브젝트(6B)를 통하여 인식할 수 있다.
도 13은, 본 실시의 형태에 따르는 HMD 시스템(100)에 있어서 실행되는 처리의 일부를 나타내는 시퀀스 차트이다. 도 13에 있어서는, HMD 세트(110D)를 도시하고 있지 않지만, HMD 세트(110D)에 대해서도, HMD 세트(110A, 110B, 110C)와 마찬가지로 동작한다. 이하의 설명에서도, HMD 세트(110A)에 관한 각 구성 요소의 참조 부호에 A가 붙여지고, HMD 세트(110B)에 관한 각 구성 요소의 참조 부호에 B가 붙여지고, HMD 세트(110C)에 관한 각 구성 요소의 참조 부호에 C가 붙여지고, HMD 세트(110D)에 관한 각 구성 요소의 참조 부호에 D가 붙여지는 것으로 한다.
스텝 S1310A에 있어서, HMD 세트(110A)에 있어서의 프로세서(210A)는, 가상 공간(11A)에 있어서의 아바타 오브젝트(6A)의 동작을 결정하기 위한 아바타 정보를 취득한다. 이 아바타 정보는, 예를 들면, 움직임 정보, 페이스 트랙킹 데이터 및, 음성 데이터 등의 아바타에 관한 정보를 포함한다. 움직임 정보는, HMD(120A)의 위치 및 기울기의 시간적 변화를 나타내는 정보나, 모션 센서(420A) 등에 의해 검출된 유저(5A)의 손의 움직임을 나타내는 정보 등을 포함한다. 페이스 트랙킹 데이터는, 유저(5A)의 얼굴의 각 파트의 위치 및 크기를 특정하는 데이터를 들 수 있다. 페이스 트랙킹 데이터는, 유저(5A)의 얼굴을 구성하는 각 기관의 움직임을 나타내는 데이터나 시선 데이터를 들 수 있다. 음성 데이터는, HMD(120A)의 마이크(170A)에 의해 취득된 유저(5A)의 음성을 나타내는 데이터를 들 수 있다. 아바타 정보에는, 아바타 오브젝트(6A), 혹은 아바타 오브젝트(6A)에 관련지어지는 유저(5A)를 특정하는 정보나, 아바타 오브젝트(6A)가 존재하는 가상 공간(11A)을 특정하는 정보 등이 포함되어도 좋다. 아바타 오브젝트(6A)나 유저(5A)를 특정하는 정보로서는, 유저 ID를 들 수 있다. 아바타 오브젝트(6A)가 존재하는 가상 공간(11A)을 특정하는 정보로서는, 룸 ID를 들 수 있다. 프로세서(210A)는, 전술과 같이 취득된 아바타 정보를, 네트워크(2)를 통하여 서버(600)에 송신한다.
스텝 S1310B에 있어서, HMD 세트(110B)에 있어서의 프로세서(210B)는, 스텝 S1310A에 있어서의 처리와 마찬가지로, 가상 공간(11B)에 있어서의 아바타 오브젝트(6B)의 동작을 결정하기 위한 아바타 정보를 취득하여, 서버(600)에 송신한다. 마찬가지로, 스텝 S1310C에 있어서, HMD 세트(110B)에 있어서의 프로세서(210B)는, 가상 공간(11C)에 있어서의 아바타 오브젝트(6C)의 동작을 결정하기 위한 아바타 정보를 취득하여, 서버(600)에 송신한다.
스텝 S1320에 있어서, 서버(600)는, HMD 세트(110A), HMD 세트(110B) 및, HMD 세트(110C)의 각각으로부터 수신한 플레이어 정보를 일단 기억한다. 서버(600)는, 각 아바타 정보에 포함되는 유저 ID 및 룸 ID 등에 기초하여, 공통의 가상 공간(11)에 관련지어진 전체 유저(이 예에서는, 유저(5A∼5C))의 아바타 정보를 통합한다. 그리고, 서버(600)는, 미리 정해진 타이밍에서, 통합한 아바타 정보를 당해 가상 공간(11)에 관련지어진 전체 유저에게 송신한다. 이에 따라, 동기 처리가 실행된다. 이러한 동기 처리에 의해, HMD 세트(110A), HMD 세트(110B) 및, HMD(11020C)는, 서로의 아바타 정보를 거의 동일한 타이밍에 공유할 수 있다.
계속하여, 서버(600)로부터 각 HMD 세트(110A∼110C)에 송신된 아바타 정보에 기초하여, 각 HMD 세트(110A∼110C)는, 스텝 S1330A∼S1330C의 처리를 실행한다. 스텝 S1330A의 처리는, 도 11에 있어서의 스텝 S1180의 처리에 상당한다.
스텝 S1330A에 있어서, HMD 세트(110A)에 있어서의 프로세서(210A)는, 가상 공간(11A)에 있어서의 다른 유저(5B, 5C)의 아바타 오브젝트(6B), 아바타 오브젝트(6C)의 정보를 갱신한다. 구체적으로는, 프로세서(210A)는, HMD 세트(110B)로부터 송신된 아바타 정보에 포함되는 움직임 정보에 기초하여, 가상 공간(11)에 있어서의 아바타 오브젝트(6B)의 위치 및 방향 등을 갱신한다. 예를 들면, 프로세서(210A)는, 메모리 모듈(540)에 격납된 오브젝트 정보에 포함되는 아바타 오브젝트(6B)의 정보(위치 및 방향 등)를 갱신한다. 마찬가지로, 프로세서(210A)는, HMD 세트(110C)로부터 송신된 아바타 정보에 포함되는 움직임 정보에 기초하여, 가상 공간(11)에 있어서의 아바타 오브젝트(6C)의 정보(위치 및 방향 등)를 갱신한다.
스텝 S1330B에 있어서, HMD 세트(110B)에 있어서의 프로세서(210B)는, 스텝 S1330A에 있어서의 처리와 마찬가지로, 가상 공간(11B)에 있어서의 유저(5A, 5C)의 아바타 오브젝트(6A, 6C)의 정보를 갱신한다. 마찬가지로, 스텝 S1330C에 있어서, HMD 세트(110C)에 있어서의 프로세서(210C)는, 가상 공간(11C)에 있어서의 유저(5A, 5B)의 아바타 오브젝트(6A, 6B)의 정보를 갱신한다.
[모듈의 상세 구성]
도 14를 참조하여, 컴퓨터(200)의 모듈 구성의 상세에 대하여 설명한다. 도 14는, 어느 실시의 형태에 따르는 컴퓨터(200)의 모듈의 상세 구성을 나타내는 블록도이다.
도 14에 나타나는 바와 같이, 컨트롤 모듈(510)은, 가상 카메라 제어 모듈(1421)과, 시계 영역 결정 모듈(1422)과, 기준 시선 특정 모듈(1423)과, 가상 공간 정의 모듈(1424)과, 가상 오브젝트 생성 모듈(1425)과, 조작 오브젝트 제어 모듈(1426)과, 브라우징 모듈(1427)과, 어플리케이션 모듈(1428)을 구비한다. 렌더링 모듈(520)은, 시계 화상 생성 모듈(1438)을 구비한다. 메모리 모듈(530)은, 공간 정보(1431)와, 유저 정보(1432)를 보존유지하고 있다.
가상 카메라 제어 모듈(1421)은, 가상 공간(11)에 가상 카메라(14)를 배치한다. 가상 카메라 제어 모듈(1421)은, 가상 공간(11)에 있어서의 가상 카메라(14)의 배치 위치와, 가상 카메라(14)의 방향(기울기)을 제어한다. 시계 영역 결정 모듈(1422)은, HMD(120)를 장착한 유저(5)의 머리의 방향과, 가상 카메라(14)의 배치 위치에 따라서, 시계 영역(15)을 규정한다. 시계 화상 생성 모듈(1438)은, 결정된 시계 영역(15)에 기초하여, 모니터(130)에 표시되는 시계 화상(17)을 생성한다.
기준 시선 특정 모듈(1423)은, 주시 센서(140)로부터의 신호에 기초하여, 유저(5)의 시선을 특정한다. 가상 공간 정의 모듈(1424)은, 가상 공간(11)을 나타내는 가상 공간 데이터를 생성함으로써, HMD 시스템(100)에 있어서의 가상 공간(11)을 규정한다. 가상 오브젝트 생성 모듈(1425)은, 가상 공간(11)에 배치되는 오브젝트를 생성한다.
조작 오브젝트 제어 모듈(1426)은, 가상 공간(11)에 있어서 유저(5)의 조작을 접수하기 위한 조작 오브젝트를 가상 공간(11)에 배치한다. 유저(5)는, 조작 오브젝트를 조작함으로써, 예를 들면, 가상 공간(11)에 배치되는 오브젝트를 조작한다. 어느 국면에 있어서, 조작 오브젝트는, 예를 들면, HMD(120)를 장착한 유저(5)의 손에 상당하는 손 오브젝트 등을 포함할 수 있다. 어느 국면에 있어서, 조작 오브젝트는, 후술하는 아바타 오브젝트의 손의 부분에 상당할 수 있다.
브라우징 모듈(1427)은, 가상 공간(11)에 있어서 웹 브라우징을 행하는 것을 가능하게 한다. 어느 국면에 있어서, 브라우징 모듈(1427)은, 웹 브라우저(이하, 브라우저 윈도우라고도 칭함)를 가상 공간(11)에 배치한다. 또한, 어느 국면에 있고, 브라우징 모듈(1427)은, 웹 브라우징에 관한 유저(5)의 조작을 접수하기 위한 메뉴 윈도우를 가상 공간(11)에 배치한다. 예를 들면, 유저(5)가 브라우저 윈도우 또는 메뉴 윈도우상에서 URL을 입력한 경우, 브라우징 모듈은, 당해 URL에 대응하는 서버로부터 정보 리소스를 수취하여, 브라우저 윈도우 내에 당해 정보 리소스에 기초하는 화상을 제공한다. 어느 국면에 있어서, 정보 리소스가 360도 웹 컨텐츠를 나타내는 것인 경우, 브라우징 모듈(1427)은, 당해 정보 리소스에 기초하는 화상을, 가상 공간(11) 또는 다른 가상 공간 내에 전개된 360도 웹 컨텐츠로서 제공한다.
어플리케이션 모듈(1428)은, 웹 브라우징을 하기 위한 어플리케이션 프로그램과는 상이한 것으로서, VR 컨텐츠를 시청하기 위한 전용 어플리케이션 프로그램(이하, VR 어플리라고도 칭함)을 실행하는 기능을 갖는다. 어느 국면에 있어서, 어플리케이션 모듈(1428)에 의해 실행되는 VR 어플리는, 1 이상의 동화상 컨텐츠 중으로부터 재생 대상의 동화상 컨텐츠를 선택하기 위한 화면을, 가상 공간에 전개된 360도 컨텐츠로서 제공 가능한 것이다. 이러한 VR 어플리는, 예를 들면, HMD(120)의 PF(Plat Form) 상에서 전송될 수 있다.
컨트롤 모듈(510)은, 가상 공간(11)에 배치되는 오브젝트의 각각이, 다른 오브젝트와 충돌한 경우에, 당해 충돌을 검출한다. 컨트롤 모듈(510)은, 예를 들면, 어느 오브젝트와, 다른 오브젝트가 접촉한 타이밍을 검출할 수 있고, 당해 검출이 되었을 시에, 미리 정해진 처리를 행한다. 컨트롤 모듈(510)은, 오브젝트와 오브젝트가 접촉하고 있는 상태로부터 떨어진 타이밍을 검출할 수 있고, 당해 검출이 되었을 시에, 미리 정해진 처리를 행한다. 컨트롤 모듈(510)은, 오브젝트와 오브젝트가 접촉하고 있는 상태인 것을 검출할 수 있다. 구체적으로는, 컨트롤 모듈(510)은, 조작 오브젝트와, 다른 오브젝트가 접촉했을 때에, 이들 조작 오브젝트와 다른 오브젝트가 접촉한 것을 검출하여, 미리 정해진 처리를 행한다.
메모리 모듈(530)은, 컴퓨터(200)가 가상 공간(11)을 유저(5)에게 제공하기 위해 사용되는 데이터를 보존유지하고 있다. 어느 국면에 있어서, 메모리 모듈(530)은, 공간 정보(1431)와, 유저 정보(1432)를 보존유지하고 있다.
공간 정보(1431)는, 가상 공간(11)을 제공하기 위해 규정된 1개 이상의 템플레이트를 보존유지하고 있다. 공간 정보(1431)에는, 가상 공간(11)에 배치되는 오브젝트의 정보가 포함될 수 있다.
유저 정보(1432)는, HMD 시스템(100)의 제어 장치로서 컴퓨터(200)를 기능시키기 위한 프로그램, 브라우징 모듈(1427)이나 어플리케이션 모듈(1428)을 기능시키기 위한 프로그램 등을 보존유지하고 있다.
[동작 처리]
다음으로, 도 15∼도 22를 참조하여 본 실시 형태에 따른 컴퓨터(200)의 동작 처리를 설명한다. 또한, 이하의 설명에 있어서, 「360도 컨텐츠」란, 예를 들면, HMD(120)의 위치 및 기울기 등을 변경함으로써, 유저(5)가 가상 공간 내에서 자유롭게 시점을 변경 가능한 VR 컨텐츠인 것을 말하고, 예를 들면, 소정의 각도(예를 들면, 180도, 360도 등)로 전개되는 공간 화상을 포함하는 가상 공간으로서 제공되는 것이 바람직하고, 360도 공간 화상을 포함하는 가상 공간으로서 제공되는 것이 보다 바람직하다. 360도 공간 화상을 포함하는 가상 공간에서는, 가상 공간의 중심 위치에 가상 카메라가 배치됨과 함께, 가상 공간의 표면상에 360도 공간 화상이 표시된다.
또한, 「360도 동화상 컨텐츠」란, 예를 들면, 상기 소정의 각도로 전개되는 공간 화상을 포함하는 가상 공간상에서 제공되는 동화상 컨텐츠인 것을 말하고, 360도 공간 화상을 포함하는 가상 공간상에서 제공되는 동화상 컨텐츠인 것이 바람직하다. 또한, 「360도 웹 컨텐츠」란, 예를 들면, 상기 소정의 각도로 전개되는 공간 화상을 포함하는 가상 공간상에서 제공되는 웹 컨텐츠인 것을 말하고, 360도 공간 화상을 포함하는 가상 공간상에서 제공되는 것인 것이 바람직하다. 한편으로, 간단히 「웹 컨텐츠」라고 하는 경우는, 예를 들면, 가상 공간 내에 배치되는 브라우저 윈도우 내 등의 한정된 영역 내에서 제공되는 웹 컨텐츠인 것을 말한다.
우선, 전제로서, 컴퓨터(200)의 프로세서(210)는, 컨트롤 모듈(510)로서, VR 어플리를 실행하는 것이 가능하다. VR 어플리가 실행된 경우, 예를 들면, 프로세서(210)는, 당해 VR 어플리의 홈 화면을, 360도 공간 화상을 포함하는 가상 공간 상에 생성한다. 당해 홈 화면은, 예를 들면, 1 이상의 동화상 컨텐츠 중으로부터 재생 대상의 동화상 컨텐츠를 선택하기 위한 선택 화면을 포함하고 있거나, 유저(5)에 의한 조작 입력에 따라 1 이상의 동화상 컨텐츠 중으로부터 재생 대상의 동화상 컨텐츠를 선택하기 위한 선택 화면으로 전이 가능하거나, 혹은 이들 양쪽을 충족시키는 것이다. 선택 화면에 있어서 유저(5)가 1의 동화상 컨텐츠를 선택한 경우, 프로세서(210)는, 예를 들면, 선택된 동화상 컨텐츠를 360도 동화상 컨텐츠로서 재생할 수 있고, 재생된 화상을 HMD(120)에 제공할 수 있다.
VR 어플리를 이용하는 경우, 홈 화면의 단계로부터 360도 컨텐츠로서의 제공이 가능하기 때문에, 유저의 몰입감 향상이라는 관점에서 우수하다. 한편으로, VR 어플리에 의해 제공되는 동화상 컨텐츠는, HMD(120)의 PF 제공자가 허가한 것 뿐이다. 동화상 컨텐츠의 전송자는, 전송을 희망하는 모든 동화상 컨텐츠를 VR 어플리에 의해 전송할 수 있다고는 한정되지 않고, 또한, 유저에 있어서는, 웹 등에서 공개되어 있는 동화상 컨텐츠의 전체가 VR 어플리에 의해 시청 가능한 것은 아니다.
종래, 웹에서 공개되어 있는 동화상 컨텐츠라면, HMD(120) 상에서 VR용의 웹 브라우저를 이용하여 시청할 수 있었다. 그러나, 종래의 태양에서는, 동화상 컨텐츠의 선택이 가상 공간 내에 배치된 브라우저 윈도우 내에서 행해지는 등 때문에, VR 어플리를 사용한 경우보다도 몰입감이 떨어져 버린다. 이하의 개시는, 이러한 문제점의 개선에 이바지하는 것으로, 웹 브라우저를 이용한 VR 컨텐츠의 시청에 관한 것이다.
도 15는, 어느 실시의 형태에 따르는 컴퓨터(200)에 있어서 실행되는 동작 처리의 일 예를 나타내는 플로우차트이다.
도 15에 나타나는 바와 같이, 스텝 S1510에서, 컴퓨터(200)의 프로세서(210)는, 컨트롤 모듈(510)로서, 가상 공간 데이터를 특정하여, 가상 공간을 정의한다. 정의된 가상 공간은, HMD(120)에 제공된다. 스텝 S1510에서 정의되는 가상 공간은, 소정의 각도(예를 들면, 180도, 360도 등)로 전개되는 공간 화상을 포함하는 가상 공간이고, 이하에서는, 360도 공간 화상을 포함하는 가상 공간으로서 설명을 한다.
스텝 S1520에서, 프로세서(210)는, 스텝 S1510에 있어서 정의된 가상 공간에 브라우저 윈도우를 배치한다. 브라우저 윈도우는, 예를 들면, 유저(5)에 의해 웹 브라우저를 실행하기 위한 조작이 되었던 것에 따라서 배치되어도 좋고, 스텝 S1510에 있어서 가상 공간을 정의할 때에, 가상 공간 내에 배치되는 초기 오브젝트로서 배치되어도 좋다.
프로세서(210)는, 스텝 S1520과 동시적으로, 웹 브라우징을 할 때의 조작 메뉴를 표시하는 메뉴 오브젝트나, 브라우저 윈도우 내에 표시되는 웹 컨텐츠에 관한 보충 정보나 광고 정보 등을 표시하는 정보 표시 오브젝트를 가상 공간 내에 배치해도 좋다.
스텝 S1530에서, 프로세서(210)는, URL 어드레스로의 액세스 요구를 접수한다. 어느 국면에 있어서, 스텝 S1530에서는, VR용의 동화상 컨텐츠를 제공하는 서버를 지정하는 URL 어드레스로의 액세스 요구를 접수한다. 이하에서는, 스텝 S1530에 있어서, VR용의 동화상 컨텐츠를 제공하는 서버로의 액세스 요구가 있었던 것으로서 설명을 한다.
상기 액세스 요구는, 예를 들면, 유저(5)에 의한 조작 입력에 기초하여 실행된다. 프로세서(210)는, 상기 액세스 요구에 기초하여 지정된 서버에 액세스하고, 예를 들면, 상기 서버에 의해 제공되는 웹 컨텐츠의 홈 화면(탑 페이지)을 브라우저 윈도우 내에 전개하기 위한 정보 리소스를 취득한다.
스텝 S1540에서, 프로세서(210)는, 취득한 정보 리소스에 기초하여, 브라우저 윈도우 내에 웹 컨텐츠를 제공한다. 스텝 S1540에 있어서 제공되는 웹 컨텐츠는, 1 이상의 동화상 컨텐츠 중으로부터 재생 대상의 동화상 컨텐츠를 선택하기 위한 웹 화면을 포함한다.
스텝 S1550에서, 프로세서(210)는, 유저에 의한 제1 조작 입력이 이루어지지 않는 경우(스텝 S1550에 있어서 No), 브라우저 윈도우 내에 있어서의 웹 컨텐츠의 제공을 속행하여, 스텝 S1560, S1570 및, S1580의 일련의 처리로 진행된다. 당해 일련의 처리에 대해서는, 후의 단락에서 상술한다.
여기에서, 제1 조작 입력이란, 스텝 S1541로 진행되기 위한 조작 입력이다. 제1 조작 입력으로서는, 특별히 한정은 되지 않고, 예를 들면, 컨트롤러(300)로의 소정의 조작 입력이나, 가상 버튼을 가상적으로 압하하는 바와 같은 조작 입력을 들 수 있다.
스텝 S1550에서, 프로세서(210)는, 유저에 의한 제1 조작 입력이 이루어진 경우(스텝 S1550에 있어서 Yes), 스텝 S1541로 진행된다.
스텝 S1541에서, 프로세서(210)는, 브라우저 윈도우(1621) 내에서 제공되어 있던 웹 컨텐츠를 대신하여, 360도 공간 화상을 포함하는 가상 공간에 전개된 360도 웹 컨텐츠를 HMD(120)에 제공한다. 구체적으로는, 제1 조작 입력이 이루어진 경우, 프로세서(210)는, 서버와 통신 접속을 행하여, 360도 웹 컨텐츠를 HMD(120)에 제공하기 위한 정보 리소스를 취득한다. 프로세서(210)는, 당해 정보 리소스에 기초하여, 360도 웹 컨텐츠를 HMD(120)에 제공한다. 스텝 S1541에 있어서 제공되는 360도 웹 컨텐츠는, 스텝 S1540에 있어서 제공되어 있던 웹 컨텐츠에 대응하는 것으로서, 1 이상의 동화상 컨텐츠 중으로부터 재생 대상의 동화상 컨텐츠를 선택하기 위한 웹 화면을 포함하는 것이다.
이하, 도 16 및 도 17과 도 18∼도 20을 이용하여, S1540에서 제공되는 웹 컨텐츠와, S1541에서 제공되는 360도 웹 컨텐츠의 차이에 대해 상술한다.
도 16은, 어느 실시의 형태에 따르는 가상 공간(1611)의 일 예를 나타내는 개략도이고, 구체적으로는, 스텝 S1540의 처리 시에 HMD(120)에 제공되는 가상 공간(1611)을 나타내는 개략도이다. 도 17은, 도 16에 나타내는 가상 공간(1611)을 Y축 방향으로부터 본 XZ 단면을 나타내는 개략도이다.
도 16 및 도 17에 나타내는 바와 같이, 가상 공간(1611) 내에는, 브라우저 윈도우(1621)와, 메뉴 오브젝트(1623)와, 정보 표시 오브젝트(1624)와, 가상 카메라(1614)가 배치되어 있다.
브라우저 윈도우(1621)에는, 서버로부터 제공된 웹 컨텐츠가 표시된다. 구체적으로는, 서버가 전송하는 동화상 컨텐츠 중으로부터 유저가 재생을 희망하는 동화상 컨텐츠를 선택하기 위한 웹 화면이 표시된다. 도 16의 예에서는, 브라우저 윈도우(1621) 내에, 6개의 동화상 컨텐츠(1622)(1622a∼1622f)가 표시되어 있다. 동화상 컨텐츠(1622)는, 예를 들면, 각 동화상 컨텐츠의 섬네일 화상을 포함하고 있다.
브라우저 윈도우(1621)의 형상 등은, 특별히 한정되지 않지만, 예를 들면, 도 16 및 17에 의해 나타나는 바와 같이, 일반적으로는 평면적인 판 형상이다. 따라서, 동화상 컨텐츠를 선택하기 위한 웹 화면도, 평면적인 표시에 머무른다. 또한, 도 17에 있어서 가상 카메라(1614)로부터 연장되는 점선은, 유저(5)의 시계 영역을 나타내고 있다.
메뉴 오브젝트(1623)에는, 웹 브라우징을 할 때의 조작 메뉴가 표시된다. 유저가 메뉴 오브젝트(1623)에 대하여 조작 입력을 함으로써, 예를 들면, 브라우저 윈도우(1621) 내의 표시 내용이 변경된다. 도 16의 예에서는, 3개의 메뉴 오브젝트(1623a∼1623c)가 있고, 각각 상이한 조작 메뉴가 표시된다. 메뉴 오브젝트(1623)는, 브라우저 윈도우(1621)와 일체적인 것이라도 좋고, 브라우저 윈도우(1621)에 중첩하도록 배치되어도 좋다.
정보 표시 오브젝트(1624)에는, 소정의 정보가 표시된다. 소정의 정보로서는, 특별히 제한은 되지 않지만, 예를 들면, 브라우저 윈도우(1621) 내에 표시되는 동화상 컨텐츠(1622)에 관한 보충 정보 등을 들 수 있다. 도 16의 예에서는, 예를 들면, 가상 카메라(1614)의 시선(L) 상에 있는 동화상 컨텐츠(1622b)에 관한 정보가 표시되도록 해도 좋다. 정보 표시 오브젝트(1624)는, 브라우저 윈도우(1621)와 일체적인 것이라도 좋고, 브라우저 윈도우(1621)에 중첩하도록 배치되어도 좋다.
브라우저 윈도우(1621)의 우측 하방 부분에는, 제1 조작 버튼(1625)이 표시되어 있다. 제1 조작 버튼(1625)을 선택하기 위한 조작 입력이 유저(5)에 의해 이루어지면, 전술의 스텝 S1541의 처리가 이루어져, 브라우저 윈도우(1621) 내에서 제공되고 있던 웹 컨텐츠가, 360도 공간 화상을 포함하는 가상 공간에 전개된 360도 웹 컨텐츠로서 HMD(120)에 제공되게 된다.
도 18은, 어느 실시의 형태에 따르는 가상 공간(1811)의 일 예를 나타내는 개략도이고, 구체적으로는, 스텝 S1541의 처리 시에 HMD(120)에 제공되는 가상 공간(1811)을 나타내는 개략도이다. 도 19는, 도 18에 나타내는 가상 공간(1811)을 Y축 방향으로부터 본 XZ 단면을 나타내는 개략도이다. 도 20은, 도 18에 있어서의 유저(5)의 시계 화상(2017)을 나타내는 개략도이다.
도 18 및 도 19에 나타내는 바와 같이, 가상 공간(1811) 내에는, 복수의 동화상 컨텐츠(1822)(동화상 컨텐츠(1822a∼1822h)를 포함함)와, 가상 카메라(1814)가 배치되어 있다. 가상 공간(1811) 및 가상 카메라(1814)는, 각각, 가상 공간(1611) 및 가상 카메라(1614)와 동일한 것이라도 좋고, 상이한 것이라도 좋다. 가상 공간(1811)의 형상은, 특별히 제한은 되지 않지만, 예를 들면, 반구 형상 또는 천구 형상이다. 또한, 도 19에 있어서 가상 카메라(1814)로부터 연장되는 점선은, 유저(5)의 시계 영역을 나타내고 있다.
복수의 동화상 컨텐츠(1822)는, 가상 공간(1811) 내에 360도 웹 컨텐츠로서 전개되고 있다. 또한, 복수의 동화상 컨텐츠(1822)는, 가상 공간(1811)의 외연에 따르도록 배치되어 있다. 복수의 동화상 컨텐츠(1822) 중, 1822a∼1822f는, 각각, 도 16에 있어서의 동화상 컨텐츠(1622a∼1622f)와 동일한 동화상 컨텐츠를 나타내는 것이다. 즉, 스텝 S1540에 있어서 웹 컨텐츠로서 제공되는 선택 화면과, 스텝 S1541에 있어서 360도 웹 컨텐츠로서 제공되는 선택 화면은, 서로 대응하는 것이다.
그러나, 서로 대응하는 것이라도, 360도 웹 컨텐츠로서 선택 화면을 제공하는 경우는, 웹 컨텐츠로서 선택 화면을 제공하는 경우에는 얻는 것이 곤란한 하기와 같은 1 이상의 효과를 기대할 수 있다.
제1의 효과로서는, 예를 들면, 유저의 조작성의 향상을 들 수 있다. 웹 컨텐츠로서 선택 화면을 제공하는 경우, 브라우저 윈도우 내에 선택 화면이 표시되게 되지만, 당해 선택 화면(예를 들면, 홈 화면)은, VR의 브라우저 윈도우용에 최적화되어 있는 것은 아니기 때문에, 유저에게 있어서는 사용하기 어려운 경우가 많다. 한편으로, 360도 웹 컨텐츠로서 선택 화면을 제공하는 경우, 브라우저 윈도우 내에 선택 화면을 표시한다는 제한을 없앨 수 있기 때문에, 유저에게 있어서 사용하기 쉬운 양태로 선택 화면을 제공하는 것이 가능해진다.
예를 들면, 도 20에 나타나는 시계 화상(2017)이 유저(5)에 대하여 제공되고 있는 상태에 있어서, 유저(5)는, 요축 둘레로 좌측 방향으로 회전시키도록 두부를 움직이는 것만으로, 동화상 컨텐츠(1822g)의 좌측에 배치되어 있는 동화상 컨텐츠(예를 들면, 동화상 컨텐츠(1822h))를 시계 화상(2017) 내에 넣는 것이 가능해진다. 한편으로, 브라우저 윈도우(1621) 내에 선택 화면이 표시되어 있는 경우는, 유저(5)가 두부를 움직였다고 해도, 브라우저 윈도우(1621) 내에 표시된 선택 화면은 변경되지 않는다. 브라우저 윈도우(1621) 내에 표시되는 내용을 변경하기 위해서는, 예를 들면, 메뉴 오브젝트(1623)나 컨트롤러(300)에 대한 조작이 필요해진다.
제2의 효과로서는, 예를 들면, 가상 공간으로의 몰입감의 향상을 들 수 있다. 웹 컨텐츠로서 선택 화면을 제공하는 경우에 있어서, 설령, 당해 선택 화면(예를 들면, 홈 화면)을 VR의 브라우저 윈도우용에 최적화했다고 해도, 결국은, 평면적인 브라우저 윈도우 상에서 표시될 뿐이기 때문에, VR이 아니고는 몰입감을 얻을 수 없다. 한편으로, 360도 웹 컨텐츠로서 선택 화면을 제공하는 경우, 전술한 VR 어플리와 같이 동화상 컨텐츠를 선택하는 단계(예를 들면, 홈 화면을 표시하는 단계)부터, 360도에 걸쳐서 전개되는 가상 공간상에서 행할 수 있기 때문에, 결과적으로, 가상 공간으로의 몰입감을 높이는 것이 가능해진다.
또한, 360도 웹 컨텐츠로서 선택 화면을 제공하는 경우에 있어서, 선택 대상인 1 이상의 동화상 컨텐츠의 배치 태양은, VR 어플리에 의해 제공되는 선택 화면에 있어서의 배치 태양에 대응(예를 들면, 유사 또는 동일)한 것인 것이 바람직하다. 이러한 구성에 의해, 유저는, VR 어플리를 사용할 때와 동일한 사용감 및 몰입감을 얻는 것이 가능해진다.
또한, VR용의 웹 브라우저의 경우, API(Application Programming Interface)가 최적화되어 있지 않기 때문에, PF 제공자가 준비하고 있는 API를 이용하여 VR 어플리와 같은 컨텐츠를 작성하고자 하면, 처리 부하가 지나치게 걸려 곤란하다. 따라서, 컨텐츠의 선택 화면(예를 들면, 홈 화면)을 360도 공간 화상으로서 실현하기 위해서는, PF 제공자가 준비하고 있는 API를 이용하여 실현하는 것이 아니라, 보다 하드웨어측의 레이어에 가까운 저레이어의 기술(예를 들면, 언어 등)을 이용하는 것이 바람직하다.
또한, 유저의 조작 입력에 기초하여, 360도 웹 컨텐츠로서 선택 화면을 제공하고 있는 상태로부터, 웹 컨텐츠로서 선택 화면을 제공하는 상태로의 변경도 가능한 것이 바람직하다. 이러한 태양에 의해, 예를 들면, VR 멀미의 징조가 보여지면 브라우저 윈도우(1621) 내에서 컨텐츠의 선택을 하고 싶다는 바와 같은 유저의 요망에도 응하는 것이 가능해진다.
도 15의 플로우차트의 설명으로 되돌아간다. 스텝 S1541의 후, 스텝 S1561에서, 프로세서(210)는, 360도 웹 컨텐츠상에서, 재생 대상이 되는 동화상 컨텐츠(1622)의 선택을 접수한다. 스텝 S1561에 있어서의 동화상 컨텐츠(1622)의 선택은, 예를 들면, 재생을 소망하는 어느 하나의 동화상 컨텐츠(1622) 상에, 유저(5)가 소정의 시간 이상 시선을 멈추는 것이나, 컨트롤러(300) 등으로의 조작 입력에 의해 행해진다.
스텝 S1561의 후, 스텝 S1571에서, 프로세서(210)는, 360도 동화상 컨텐츠를 재생하고, 재생된 화상을 360도 공간 화상으로서 가상 공간에 전개하여, HMD(120)에 제공한다. 구체적으로는, 프로세서(210)는, 선택된 동화상 컨텐츠를 360도 동화상 컨텐츠로서 HMD(120)에 제공하기 위한 정보 리소스를 서버로부터 취득하고, 취득한 당해 정보 리소스에 기초하여, HMD(120)로의 제공을 행한다.
도 21은, 어느 실시의 형태에 따르는 가상 공간을 Y축 방향으로부터 본 XZ 단면을 나타내는 개략도이고, 구체적으로는, 스텝 S1561의 처리 시에 HMD(120)에 제공되는 가상 공간(2111)을 나타내는 개략도이다.
도 21에 나타내는 바와 같이, 가상 공간(2111) 내에는, 가상 카메라(2114)가 배치됨과 함께, 가상 공간(2111)의 외연에 따르도록 파노라마 화상(2113)이 전개되고 있다. 또한, 가상 카메라(2114)의 시선은, 유저(5)의 두부의 움직임과 연동하고 있다. 이러한 구성에 의해, 웹 브라우징에 의한 동화상 컨텐츠의 시청이라도, 직감적인 조작성이나, 높은 몰입감을 유저에게 제공하는 것이 가능해진다.
또한, 본 실시 형태에 있어서는, 스텝 S1541, S1561 및, S1571의 일련의 처리를, 360도 공간 화상을 포함하는 가상 공간 내에서 연속하여 행하게 되기 때문에, VR용의 웹 브라우저에 의해 동화상 컨텐츠를 시청하는 경우라도, 유저는, 동화상 컨텐츠를 선택하는 단계부터 높은 몰입감이 얻어지고, 그것을 유지한 채로 동화상 컨텐츠를 즐기는 것이 가능해진다.
이하, 스텝 S1550에 있어서 No의 경우의 일련의 처리에 대해서 설명을 한다. 스텝 S1560에서, 프로세서(210)는, 브라우저 윈도우(1621) 상에서, 재생 대상이 되는 동화상 컨텐츠(1622)의 선택을 접수한다. 스텝 S1560에 있어서의 동화상 컨텐츠(1622)의 선택은, 예를 들면, 컨트롤러(300) 등으로의 조작 입력에 의해 행해진다.
스텝 S1560의 후, 스텝 S1570에서, 프로세서(210)는, 동화상 컨텐츠를 재생하고, 재생된 화상을 브라우저 윈도우(1621) 내에 있어서 표시한다. 구체적으로는, 프로세서(210)는, 선택된 동화상 컨텐츠를 브라우저 윈도우(1621) 내에 있어서 표시하기 위한 정보 리소스를 서버로부터 취득하고, 취득한 당해 정보 리소스에 기초하여, 브라우저 윈도우(1621) 내에서 표시한다.
스텝 S1580에서, 프로세서(210)는, 유저에 의한 제2 조작 입력이 이루어지지 않는 경우(스텝 S1580에 있어서 No), 예를 들면, 동화상 컨텐츠의 재생이 종료하는 조건을 충족할 때까지, 스텝 S1570의 처리가 속행된다.
여기에서, 제2 조작 입력이란, 스텝 S1571로 진행하기 위한 조작 입력이다. 제2 조작 입력으로서는, 특별히 한정은 되지 않고, 예를 들면, 컨트롤러(300)로의 소정의 조작 입력이나, 가상 버튼을 가상적으로 압하하는 바와 같은 조작 입력을 들 수 있다.
한편으로, 스텝 S1580에서, 프로세서(210)는, 유저에 의한 제2 조작 입력이 이루어진 경우(스텝 S1580에 있어서 Yes), 전술의 스텝 S1571로 진행된다. 스텝 S1580은, 예를 들면, 스텝 S1570에 있어서 브라우저 윈도우(1621) 내에서 동화상 컨텐츠(1622)가 재생되고 있는 상황에서 실행된다.
도 22는, 어느 실시의 형태에 따르는 가상 공간(1611)의 일 예를 나타내는 개략도이고, 구체적으로는, 스텝 S1570의 처리 시에 HMD(120)에 제공되는 가상 공간(1611)을 나타내는 개략도이다.
도 22에 나타내는 바와 같이, 가상 공간(1611) 내에는, 브라우저 윈도우(1621)와, 메뉴 오브젝트(1623)와, 정보 표시 오브젝트(1624)와, 가상 카메라(1614)가 배치되어 있다.
브라우저 윈도우(1621) 내에는, 유저(5)가 재생 대상으로서 선택한 동화상 컨텐츠(2222b)의 화상이 표시되어 있다. 동화상 컨텐츠(2222b)는, 예를 들면, 도 16의 동화상 컨텐츠(1622b)에 대응하는 동화상 컨텐츠이다.
브라우저 윈도우(1621)의 우측 하방 부분에는, 제2 조작 버튼(2226)이 표시되어 있다. 제2 조작 버튼(2226)을 선택하기 위한 조작 입력이 유저(5)에 의해 이루어지면, 전술의 스텝 S1571의 처리가 이루어지고, 브라우저 윈도우(1621) 내에서 재생되고 있던 동화상 컨텐츠(2222b)가, 360도 공간 화상으로서 가상 공간에 전개되어, HMD(120)에 제공된다.
이와 같이, 도 22의 예에서는, HMD(120)에 의한 동화상 컨텐츠(2222b)의 시청이지만, 동화상 컨텐츠(2222b)는 평면적인 웹 브라우저(1611) 내에 표시되는데에 머무르기 때문에, VR이 아니고는 몰입감을 얻는 것이 곤란하다. 그러나, 제2 조작 버튼(2226)이 가상적으로 압하된 경우, 재생되고 있던 동화상 컨텐츠(2222b)를, 360도 공간 화상으로서 가상 공간에 전개 가능하도록 구성함으로써, 웹 브라우징에 의해 동화상 컨텐츠를 시청하는 경우라도, 유저는, 높은 몰입감을 얻는 것이 가능해진다.
또한, 유저의 조작 입력에 기초하여, 360도 동화상 컨텐츠로서 동화상을 제공하고 있는 상태로부터, 브라우저 윈도우 내에서 동화상을 제공하는 상태로의 변경도 가능한 것이 바람직하다. 이러한 태양에 의해, 예를 들면, VR 멀미의 징조가 보여졌기 때문에 브라우저 윈도우(1621) 내에서 컨텐츠를 시청하고 싶다는 바와 같은 유저의 요망에도 응하는 것이 가능해진다.
상기의 실시 형태는, 본 발명의 이해를 용이하게 하기 위한 예시에 불과하고, 본 발명을 한정하여 해석하기 위한 것은 아니다. 본 발명은, 그의 취지를 일탈하는 일 없이, 변경, 개량할 수 있음과 함께, 본 발명에는 그의 균등물이 포함되는 것은 말할 필요도 없다.
상기 실시 형태에 있어서는, HMD에 의해 유저가 몰입하는 가상 공간(VR 공간)을 예시하여 설명했지만, HMD로서, 투과형의 HMD를 채용해도 좋다. 이 경우, 투과형의 HMD를 통하여 유저가 시인하는 현실 공간에 가상 공간을 구성하는 화상의 일부를 합성한 시계 화상을 출력함으로써, 확장 현실(AR: Augmented Reality) 공간 또는 복합 현실(MR: Mixed Reality) 공간에 있어서의 가상 체험을 유저에게 제공해도 좋다. 이 경우, 조작 오브젝트를 대신하여, 유저의 손의 움직임에 기초하여, 가상 공간 내에 있어서의 대상 오브젝트로의 작용을 발생시켜도 좋다. 구체적으로는, 프로세서는, 현실 공간에 있어서의 유저의 손의 위치의 좌표 정보를 특정함과 함께, 가상 공간 내에 있어서의 대상 오브젝트의 위치를 현실 공간에 있어서의 좌표 정보와의 관계로 정의해도 좋다. 이에 따라, 프로세서는, 현실 공간에 있어서의 유저의 손과 가상 공간에 있어서의 대상 오브젝트의 위치 관계를 파악하고, 유저의 손과 대상 오브젝트의 사이에서 전술한 충돌 제어 등에 대응하는 처리를 실행 가능해진다. 그 결과, 유저의 손의 움직임에 기초하여 대상 오브젝트에 작용을 부여하는 것이 가능해진다.
[부기 사항]
본 개시된 내용을 열기하면 이하와 같다.
(항목 1)
프로세서를 구비한 컴퓨터에 있어서 실행되는 프로그램으로서,
상기 프로그램은, 상기 프로세서에,
웹 브라우저를 포함하는 가상 공간을 정의하는 스텝과,
URL(Uniform Resource Locator) 어드레스로의 액세스에 기초하여, 상기 웹 브라우저 상에서 웹 컨텐츠를 제공하는 스텝과,
유저의 제1 조작 입력에 기초하여, 상기 웹 브라우저 상에 표시되어 있는 웹 컨텐츠를, 가상 공간에 전개된 360도 웹 컨텐츠로서 제공하는 스텝과,
상기 유저의 두부의 움직임에 따라서, 가상 공간에 배치된 가상 카메라로부터의 시계를 제어하는 스텝과,
상기 시계에 대응하는 시계 화상을 상기 유저의 두부에 대응지어진 화상 표시 장치에 표시하는 스텝을 실행시키고,
상기 웹 컨텐츠 및 상기 360도 웹 컨텐츠는, 1 이상의 동화상 컨텐츠 중으로부터 재생 대상의 동화상 컨텐츠를 선택하기 위한 웹 화면인, 프로그램.
이에 따라, 웹 브라우저를 이용하여 VR 컨텐츠를 이용한 경우에 있어서의 유저의 몰입감을 향상시키는 것이 가능해진다.
(항목 2)
상기 프로그램은, 상기 프로세서에, 추가로,
상기 360도 웹 컨텐츠 상에서 재생 대상의 동화상 컨텐츠가 선택된 경우, 선택된 동화상 컨텐츠를, 가상 공간에 전개된 360도 동화상 컨텐츠로서 재생하는 스텝을 실행시키는, 항목 1에 기재된 프로그램.
이에 따라, 360도 웹 컨텐츠로부터 360도 동화상 컨텐츠로 이행하는 것이 가능해 지기 때문에, 결과적으로, 웹 브라우저를 이용하여 VR 컨텐츠를 이용한 경우에 있어서의 유저의 몰입감을 더욱 향상시키는 것이 가능해진다.
(항목 3)
상기 제1 조작 입력이, 상기 웹 컨텐츠 상에 배치된 제1 가상 버튼을 선택하는 조작인, 항목 1 또는 항목 2에 기재된 프로그램.
이에 따라, 유저는 1개의 조작으로 360도 웹 컨텐츠의 제공을 받을 수 있기 때문에, 유저의 편리성을 향상시킬 수 있다. 또한, 360도 웹 컨텐츠를 제공할 때까지의 시간 단축으로도 이어지기 때문에, 웹 브라우저를 이용하여 VR 컨텐츠를 이용한 경우에 있어서의 유저의 몰입감의 향상에도 이바지한다.
(항목 4)
상기 프로그램은, 상기 프로세서에, 추가로,
상기 웹 컨텐츠 상에서 재생 대상의 동화상 컨텐츠가 선택된 경우, 선택된 동화상 컨텐츠를 상기 웹 브라우저 상에서 재생하는 스텝과,
유저의 제2 조작 입력에 기초하여, 상기 웹 브라우저 상에서 재생되고 있는 동화상 컨텐츠를, 가상 공간에 전개된 360도 동화상 컨텐츠로서 재생하는 스텝을 실행시키는,
항목 1부터 항목 3 중 어느 하나에 기재된 프로그램.
이에 따라, 웹 브라우저를 이용하여 VR 컨텐츠를 이용한 경우에 있어서의 유저의 몰입감을 향상시키는 것을 가능하게 하면서, 예를 들면, 컨텐츠의 선택은 웹 브라우저 상에서 행하고, 동화상은 360도 컨텐츠로서 시청한다는 것과 같은 여러 가지의 이용 태양을 유저에게 제공하는 것이 가능해진다.
(항목 5)
상기 제2 조작 입력이, 상기 웹 컨텐츠 상에 배치된 제2 가상 버튼을 선택하는 조작인, 항목 4에 기재된 프로그램.
이에 따라, 유저는 1개의 조작으로 360도 동화상 컨텐츠의 제공을 받을 수 있기 때문에, 유저의 편리성을 향상시킬 수 있다. 또한, 360도 동화상 컨텐츠를 제공할 때까지의 시간 단축으로도 이어지기 때문에, 웹 브라우저를 이용하여 VR 컨텐츠를 이용한 경우에 있어서의 유저의 몰입감의 향상에도 이바지한다.
(항목 6)
상기 컴퓨터는, 상기 웹 브라우저와는 상이한 소정의 어플리케이션 기능을 구비하고 있고,
상기 컴퓨터는, 상기 어플리케이션 기능의 실행에 따라서, 1 이상의 동화상 컨텐츠 중으로부터 재생 대상의 동화상 컨텐츠를 선택하기 위한 화면을, 가상 공간에 전개된 360도 컨텐츠로서 제공 가능한 것이고,
상기 360도 웹 컨텐츠로서 제공되는 상기 웹 화면에 있어서의, 선택 대상인 1 이상의 동화상 컨텐츠의 배치 태양이, 상기 어플리케이션 기능의 실행에 따라서 제공되는 상기 화면에 있어서의, 선택 대상인 1 이상의 동화상 컨텐츠의 배치 태양에 대응한 것인,
항목 1부터 항목 5 중 어느 하나에 기재된 프로그램.
이에 따라, VR 어플리와 동일한 사용감으로, 웹 브라우저를 이용한 컨텐츠의 이용을 즐기는 것이 가능해진다. 예를 들면, 어느 컨텐츠가 VR 어플리 상에서 제공되고 있지 않고, 웹 상에서 제공되고 있는 바와 같은 경우라도, 유저는, VR 어플리를 사용할 때와 동일한 사용감 및 몰입감을 얻는 것이 가능해진다.
(항목 7)
프로세서를 구비한 컴퓨터에 있어서 실행되는 정보 처리 방법으로서,
상기 정보 처리 방법은, 상기 프로세서에,
웹 브라우저를 포함하는 가상 공간을 정의하는 스텝과,
URL(Uniform Resource Locator) 어드레스로의 액세스에 기초하여, 상기 웹 브라우저 상에서 웹 컨텐츠를 제공하는 스텝과,
유저의 제1 조작 입력에 기초하여, 상기 웹 브라우저 상에 표시되어 있는 웹 컨텐츠를, 가상 공간에 전개된 360도 웹 컨텐츠로서 제공하는 스텝과,
상기 유저의 두부의 움직임에 따라서, 가상 공간에 배치된 가상 카메라로부터의 시계를 제어하는 스텝과,
상기 시계에 대응하는 시계 화상을 상기 유저의 두부에 대응지어진 화상 표시 장치에 표시하는 스텝을 실행시키는 것을 포함하고,
상기 웹 컨텐츠 및 상기 360도 웹 컨텐츠는, 1 이상의 동화상 컨텐츠 중으로부터 재생 대상의 동화상 컨텐츠를 선택하기 위한 웹 화면인, 정보 처리 방법.
이에 따라, 웹 브라우저를 이용하여 VR 컨텐츠를 이용한 경우에 있어서의 유저의 몰입감을 향상시키는 것이 가능해진다.
(항목 8)
프로세서를 구비한 정보 처리 장치로서,
상기 프로세서는,
웹 브라우저를 포함하는 가상 공간을 정의하고,
URL(Uniform Resource Locator) 어드레스로의 액세스에 기초하여, 상기 웹 브라우저 상에서 웹 컨텐츠를 제공하고,
유저의 제1 조작 입력에 기초하여, 상기 웹 브라우저 상에서 표시되어 있는 웹 컨텐츠를, 가상 공간에 전개된 360도 웹 컨텐츠로서 제공하고,
상기 유저의 두부의 움직임에 따라서, 가상 공간에 배치된 가상 카메라로부터의 시계를 제어하고,
상기 시계에 대응하는 시계 화상을 상기 유저의 두부에 대응지어진 화상 표시 장치에 표시하는 것이고,
상기 웹 컨텐츠 및 상기 360도 웹 컨텐츠는, 1 이상의 동화상 컨텐츠 중으로부터 재생 대상의 동화상 컨텐츠를 선택하기 위한 웹 화면인, 정보 처리 장치.
이에 따라, 웹 브라우저를 이용하여 VR 컨텐츠를 이용한 경우에 있어서의 유저의 몰입감을 향상시키는 것이 가능해진다.
본 출원은, 2019년 6월 26일 출원의 일본특허출원(특원 2019-118918호)에 기초하는 것이고, 그의 내용은 여기에 참조로서 도입된다.
2: 네트워크
11, 1611, 1811, 2111: 가상 공간
14, 14A, 1614, 1814, 2114: 가상 카메라
17, 17A, 2017: 시계 화상
100: HMD 시스템
110, 110A, 110B, 110C, 110D: HMD 세트
120, 120A, 120B: HMD
200, 200A, 200B: 컴퓨터
210, 210A, 210B, 210C, 610: 프로세서
220, 620: 메모리
230, 630: 스토리지
300, 300B: 컨트롤러
510: 컨트롤 모듈
520: 렌더링 모듈
530: 메모리 모듈
600: 서버
700: 외부 기기
1621: 브라우저 윈도우
1622, 1822: 동화상 컨텐츠

Claims (8)

  1. 프로세서를 구비한 컴퓨터에 있어서 실행되는 프로그램으로서,
    상기 프로그램은, 상기 프로세서에,
    웹 브라우저를 포함하는 가상 공간을 정의하는 스텝과,
    URL(Uniform Resource Locator) 어드레스로의 액세스에 기초하여, 상기 웹 브라우저상에서 웹 컨텐츠를 제공하는 스텝과,
    유저의 제1 조작 입력에 기초하여, 상기 웹 브라우저상에 표시되어 있는 웹 컨텐츠를, 가상 공간에 전개된 360도 웹 컨텐츠로서 제공하는 스텝과,
    상기 유저의 두부(頭部)의 움직임에 따라서, 가상 공간에 배치된 가상 카메라로부터의 시계(視界)를 제어하는 스텝과,
    상기 시계에 대응하는 시계 화상을 상기 유저의 두부에 대응지어진 화상 표시 장치에 표시하는 스텝을 실행시키고,
    상기 웹 컨텐츠 및 상기 360도 웹 컨텐츠는, 1 이상의 동화상 컨텐츠 중으로부터 재생 대상의 동화상 컨텐츠를 선택하기 위한 웹 화면인, 프로그램.
  2. 제1항에 있어서,
    상기 프로그램은, 상기 프로세서에, 추가로,
    상기 360도 웹 컨텐츠상에서 재생 대상의 동화상 컨텐츠가 선택된 경우, 선택된 동화상 컨텐츠를, 가상 공간에 전개된 360도 동화상 컨텐츠로서 재생하는 스텝을 실행시키는, 프로그램.
  3. 제1항 또는 제2항에 있어서,
    상기 제1 조작 입력이, 상기 웹 컨텐츠상에 배치된 제1 가상 버튼을 선택하는 조작인, 프로그램.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 프로그램은, 상기 프로세서에, 추가로
    상기 웹 컨텐츠상에서 재생 대상의 동화상 컨텐츠가 선택된 경우, 선택된 동화상 컨텐츠를 상기 웹 브라우저상에서 재생하는 스텝과,
    유저의 제2 조작 입력에 기초하여, 상기 웹 브라우저상에서 재생되고 있는 동화상 컨텐츠를, 가상 공간에 전개된 360도 동화상 컨텐츠로서 재생하는 스텝을 실행시키는, 프로그램.
  5. 제4항에 있어서,
    상기 제2 조작 입력이, 상기 웹 컨텐츠상에 배치된 제2 가상 버튼을 선택하는 조작인, 프로그램.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 컴퓨터는, 상기 웹 브라우저와는 상이한 소정의 어플리케이션 기능을 구비하고 있고,
    상기 컴퓨터는, 상기 어플리케이션 기능의 실행에 따라서, 1 이상의 동화상 컨텐츠 중으로부터 재생 대상의 동화상 컨텐츠를 선택하기 위한 화면을, 가상 공간에 전개된 360도 컨텐츠로서 제공 가능한 것이고,
    상기 360도 웹 컨텐츠로서 제공되는 상기 웹 화면에 있어서의, 선택 대상인 1 이상의 동화상 컨텐츠의 배치 태양(態樣)이, 상기 어플리케이션 기능의 실행에 따라서 제공되는 상기 화면에 있어서의, 선택 대상인 1 이상의 동화상 컨텐츠의 배치 태양에 대응한 것인, 프로그램.
  7. 프로세서를 구비한 컴퓨터에 있어서 실행되는 정보 처리 방법으로서,
    상기 정보 처리 방법은, 상기 프로세서에,
    웹 브라우저를 포함하는 가상 공간을 정의하는 스텝과,
    URL(Uniform Resource Locator) 어드레스로의 액세스에 기초하여, 상기 웹 브라우저상에서 웹 컨텐츠를 제공하는 스텝과,
    유저의 제1 조작 입력에 기초하여, 상기 웹 브라우저상에 표시되어 있는 웹 컨텐츠를, 가상 공간에 전개된 360도 웹 컨텐츠로서 제공하는 스텝과,
    상기 유저의 두부의 움직임에 따라서, 가상 공간에 배치된 가상 카메라로부터의 시계를 제어하는 스텝과,
    상기 시계에 대응하는 시계 화상을 상기 유저의 두부에 대응지어진 화상 표시 장치에 표시하는 스텝을 실행시키는 것을 포함하고,
    상기 웹 컨텐츠 및 상기 360도 웹 컨텐츠는, 1 이상의 동화상 컨텐츠 중으로부터 재생 대상의 동화상 컨텐츠를 선택하기 위한 웹 화면인, 정보 처리 방법.
  8. 프로세서를 구비한 정보 처리 장치로서,
    상기 프로세서는,
    웹 브라우저를 포함하는 가상 공간을 정의하고,
    URL(Uniform Resource Locator) 어드레스로의 액세스에 기초하여, 상기 웹 브라우저상에서 웹 컨텐츠를 제공하고,
    유저의 제1 조작 입력에 기초하여, 상기 웹 브라우저상에 표시되어 있는 웹 컨텐츠를, 가상 공간에 전개된 360도 웹 컨텐츠로서 제공하고,
    상기 유저의 두부의 움직임에 따라서, 가상 공간에 배치된 가상 카메라로부터의 시계를 제어하고,
    상기 시계에 대응하는 시계 화상을 상기 유저의 두부에 대응지어진 화상 표시 장치에 표시하는 것이고,
    상기 웹 컨텐츠 및 상기 360도 웹 컨텐츠는, 1 이상의 동화상 컨텐츠 중으로부터 재생 대상의 동화상 컨텐츠를 선택하기 위한 웹 화면인, 정보 처리 장치.
KR1020217042168A 2019-06-26 2020-06-05 프로그램이 기록된 컴퓨터 판독가능 기록 매체, 정보 처리 방법 및, 정보 처리 장치 KR102538480B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019118918A JP7356827B2 (ja) 2019-06-26 2019-06-26 プログラム、情報処理方法、及び情報処理装置
JPJP-P-2019-118918 2019-06-26
PCT/JP2020/022416 WO2020261945A1 (ja) 2019-06-26 2020-06-05 プログラム、情報処理方法、及び情報処理装置

Publications (2)

Publication Number Publication Date
KR20220013398A true KR20220013398A (ko) 2022-02-04
KR102538480B1 KR102538480B1 (ko) 2023-05-30

Family

ID=74061240

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217042168A KR102538480B1 (ko) 2019-06-26 2020-06-05 프로그램이 기록된 컴퓨터 판독가능 기록 매체, 정보 처리 방법 및, 정보 처리 장치

Country Status (6)

Country Link
US (1) US11882172B2 (ko)
EP (1) EP3992920A4 (ko)
JP (1) JP7356827B2 (ko)
KR (1) KR102538480B1 (ko)
CN (1) CN114026526A (ko)
WO (1) WO2020261945A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4319144A1 (en) * 2021-03-30 2024-02-07 Gree, Inc. Information processing system, information processing method, and information processing program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017041780A (ja) * 2015-08-20 2017-02-23 株式会社 ディー・エヌ・エー 動画を特定の視野で表示するシステム、方法、及びプログラム
KR20170035958A (ko) * 2014-07-25 2017-03-31 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 가상 현실 환경 내에서의 시선 기반의 오브젝트 배치
JP2018195255A (ja) 2017-05-22 2018-12-06 株式会社コロプラ 情報処理方法、情報処理プログラム、情報処理システムおよび情報処理装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11164394B2 (en) * 2012-02-24 2021-11-02 Matterport, Inc. Employing three-dimensional (3D) data predicted from two-dimensional (2D) images using neural networks for 3D modeling applications and other applications
US9201578B2 (en) * 2014-01-23 2015-12-01 Microsoft Technology Licensing, Llc Gaze swipe selection
US10852838B2 (en) * 2014-06-14 2020-12-01 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US9858720B2 (en) 2014-07-25 2018-01-02 Microsoft Technology Licensing, Llc Three-dimensional mixed-reality viewport
US20160027218A1 (en) 2014-07-25 2016-01-28 Tom Salter Multi-user gaze projection using head mounted display devices
US9865089B2 (en) 2014-07-25 2018-01-09 Microsoft Technology Licensing, Llc Virtual reality environment with real world objects
US10311638B2 (en) 2014-07-25 2019-06-04 Microsoft Technology Licensing, Llc Anti-trip when immersed in a virtual reality environment
US20160027214A1 (en) 2014-07-25 2016-01-28 Robert Memmott Mouse sharing between a desktop and a virtual world
US9904055B2 (en) 2014-07-25 2018-02-27 Microsoft Technology Licensing, Llc Smart placement of virtual objects to stay in the field of view of a head mounted display
US10451875B2 (en) 2014-07-25 2019-10-22 Microsoft Technology Licensing, Llc Smart transparency for virtual objects
US9766460B2 (en) 2014-07-25 2017-09-19 Microsoft Technology Licensing, Llc Ground plane adjustment in a virtual reality environment
KR102063895B1 (ko) * 2015-04-20 2020-01-08 삼성전자주식회사 서버, 사용자 단말 장치 및 그 제어 방법
US10049493B1 (en) * 2015-10-22 2018-08-14 Hoyt Architecture Lab, Inc System and methods for providing interaction with elements in a virtual architectural visualization
WO2017215899A2 (en) * 2016-05-27 2017-12-21 Holobuilder Inc, Augmented and virtual reality
US20180095618A1 (en) 2016-10-04 2018-04-05 Facebook, Inc. Controls and Interfaces for User Interactions in Virtual Spaces
KR20180074369A (ko) * 2016-12-23 2018-07-03 삼성전자주식회사 3차원 컨텐츠의 썸네일 관리 방법 및 그 장치
US10688396B2 (en) * 2017-04-28 2020-06-23 Sony Interactive Entertainment Inc. Second screen virtual window into VR environment
WO2019040539A1 (en) * 2017-08-21 2019-02-28 Flow Immersive, Inc. INCREASED VIRTUAL REALITY
JP7037936B2 (ja) 2017-12-28 2022-03-17 Art-Hikari株式会社 スイッチ機構
US10573060B1 (en) * 2018-06-14 2020-02-25 Kilburn Live, Llc Controller binding in virtual domes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170035958A (ko) * 2014-07-25 2017-03-31 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 가상 현실 환경 내에서의 시선 기반의 오브젝트 배치
JP2017041780A (ja) * 2015-08-20 2017-02-23 株式会社 ディー・エヌ・エー 動画を特定の視野で表示するシステム、方法、及びプログラム
JP2018195255A (ja) 2017-05-22 2018-12-06 株式会社コロプラ 情報処理方法、情報処理プログラム、情報処理システムおよび情報処理装置

Also Published As

Publication number Publication date
US11882172B2 (en) 2024-01-23
EP3992920A4 (en) 2023-06-28
JP7356827B2 (ja) 2023-10-05
JP2021005237A (ja) 2021-01-14
US20220360619A1 (en) 2022-11-10
EP3992920A1 (en) 2022-05-04
CN114026526A (zh) 2022-02-08
WO2020261945A1 (ja) 2020-12-30
KR102538480B1 (ko) 2023-05-30

Similar Documents

Publication Publication Date Title
US20180189555A1 (en) Method executed on computer for communicating via virtual space, program for executing the method on computer, and computer apparatus therefor
JP2018205913A (ja) 仮想空間を提供するためにコンピュータで実行される方法、プログラム、および、情報処理装置
JP2020161168A (ja) プログラム、情報処理方法及び情報処理装置
JP6513241B1 (ja) プログラム、情報処理装置、及び情報処理方法
JP6529571B1 (ja) 仮想空間を提供するためにコンピュータで実行されるプログラム、方法、およびプログラムを実行するための情報処理装置
US20190114841A1 (en) Method, program and apparatus for providing virtual experience
JP6306678B1 (ja) 仮想空間にオブジェクトを提示するためにコンピュータによって実行される方法、当該方法をコンピュータに実行させるプログラム、および、コンピュータ装置
JP6457446B2 (ja) 仮想空間におけるコミュニケーションを支援するための方法および装置ならびに当該方法をコンピュータに実行させるためのプログラム
JP7005406B2 (ja) プログラム、情報処理装置、及び情報処理方法
KR102538480B1 (ko) 프로그램이 기록된 컴퓨터 판독가능 기록 매체, 정보 처리 방법 및, 정보 처리 장치
US10319346B2 (en) Method for communicating via virtual space and system for executing the method
JP7192151B2 (ja) プログラム、情報処理装置、及び情報処理方法
JP2020107092A (ja) プログラム、方法および情報処理装置
JP2018206340A (ja) 仮想空間を提供するためにコンピュータで実行される方法、プログラム、および、情報処理装置
JP2018032384A (ja) 仮想空間におけるコミュニケーションを支援するための方法および装置ならびに当該方法をコンピュータに実行させるためのプログラム
JP2019155115A (ja) プログラム、情報処理装置、及び情報処理方法
JP7438786B2 (ja) プログラム、情報処理方法、及び情報処理装置
WO2021039345A1 (ja) プログラム、情報処理装置、及び情報処理方法
JP6453499B1 (ja) プログラム、情報処理装置、および方法
WO2021131935A1 (ja) プログラム、方法および情報処理装置
WO2021145243A1 (ja) プログラム、コンピュータが実行する方法及びコンピュータ
JP2020156104A (ja) 映像出力システム
JP2019130292A (ja) プログラム、情報処理装置、および方法
JP2020046753A (ja) プログラム、情報処理方法及び情報処理装置
JP2019074953A (ja) 仮想体験をユーザに提供するための方法、プログラム及びコンピュータ

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