WO2023276216A1 - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
WO2023276216A1
WO2023276216A1 PCT/JP2022/003202 JP2022003202W WO2023276216A1 WO 2023276216 A1 WO2023276216 A1 WO 2023276216A1 JP 2022003202 W JP2022003202 W JP 2022003202W WO 2023276216 A1 WO2023276216 A1 WO 2023276216A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
information processing
information
unit
head
Prior art date
Application number
PCT/JP2022/003202
Other languages
English (en)
French (fr)
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 ソニーグループ株式会社
Priority to CN202280044639.2A priority Critical patent/CN117561490A/zh
Priority to JP2023531358A priority patent/JPWO2023276216A1/ja
Priority to US18/568,110 priority patent/US20240212293A1/en
Publication of WO2023276216A1 publication Critical patent/WO2023276216A1/ja

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/006Mixed reality
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/26Measuring arrangements characterised by the use of optical techniques for measuring angles or tapers; for testing the alignment of axes
    • G01B11/27Measuring arrangements characterised by the use of optical techniques for measuring angles or tapers; for testing the alignment of axes for testing the alignment of axes
    • 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
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Definitions

  • the present invention relates to an information processing device, an information processing method, and a program.
  • Patent Document 1 As an invention for determining contact with an object in virtual space, for example, there is an information processing device disclosed in Patent Document 1.
  • This information processing device specifies the length of the user's arm, and determines the reachable range of the collision area of the object based on the collision area set for the object held by the user's avatar and the range in which the user can move the hand. set. Since the reachable range of the collision area of the object is set according to the arm length of the user, the reachable range of the collision area is the predetermined range even if the user changes.
  • GUI Graphic User Interface
  • a user corresponding to an avatar may crouch or tilt his head in space, and depending on the user's posture, the reachable range of the avatar may change, resulting in poor operability and usability.
  • the present disclosure proposes an information processing device, an information processing method, and a program capable of suppressing deterioration of usability.
  • a position processing unit for estimating a user's head position and estimating a position of a predetermined part of the user's body based on the estimated head position; a correcting unit that corrects a position based on the head position and an inclination angle of the user's head; and the user visually recognizes an image operated by the user based on the position corrected by the correcting unit. and a display control unit that performs a process of superimposing and displaying the image in the space where the image is displayed. Further, according to the present disclosure, there are provided an information processing method in which the information processing of the information processing device is executed by a computer, and a program for causing the computer to implement the information processing of the information processing device.
  • FIG. 1 is a diagram showing devices that constitute an information processing system according to an embodiment.
  • FIG. 2 is a diagram showing an example of a work place and a GUI visually recognized by a user via a terminal device.
  • FIG. 3 is a diagram for explaining a method of calculating the waist position of the user.
  • FIG. 4 is a diagram for explaining a method of correcting the waist position of the user.
  • FIG. 5 is a diagram showing an example of a display mode of operation buttons according to the embodiment.
  • FIG. 6 is a diagram showing an example of a work place and a GUI visually recognized by the user through the terminal device.
  • FIG. 7 is a diagram illustrating an example of a display mode of operation buttons and a virtual hand according to the embodiment; FIG.
  • FIG. 8 is a block diagram showing the hardware configuration and functional configuration of the information processing apparatus.
  • FIG. 9 is a block diagram showing the hardware configuration and functional configuration of the terminal device.
  • FIG. 10 is a block diagram showing the hardware of the information providing device.
  • FIG. 11 is a flowchart showing the flow of processing executed when displaying operation buttons.
  • FIG. 12 is a flowchart showing the flow of processing for changing the display mode of operation buttons.
  • FIG. 13 is a flow chart showing the flow of processing for changing the display mode of the operation buttons.
  • FIG. 14 is a hardware configuration diagram of an example of a computer that implements the functions of the information processing apparatus.
  • the GUI will be positioned outside the field of view when the operator moves the line of sight or moves within the 3D space.
  • it is first necessary to search for the GUI that has moved out of the field of view, and it takes time and effort to search for the GUI.
  • the present disclosure proposes an information processing device, an information processing method, and a program with good operability.
  • the field workers are appropriately referred to as "users".
  • the user may be a user who experiences an AR experience of a worker in a field.
  • the user is a real field worker.
  • FIG. 1 is a diagram showing devices constituting an information processing system 1.
  • the information processing system 1 includes an information processing device 10 , a terminal device 20 , an information providing device 30 and a sensor group 40 .
  • the information processing device 10 is connected to the communication line N by wire, but may be connected wirelessly.
  • Various devices can be connected to the information processing device 10 .
  • a terminal device 20 and an information providing device 30 are connected to the information processing device 10 via a communication line N, and information is linked between the devices.
  • the terminal device 20, the information providing device 30, and the sensor group 40 are also connected to the communication line N by wire or wirelessly.
  • the connection of the terminal device 20, the information providing device 30, and the sensor group 40 to the communication line N by radio is, for example, a connection via a wireless LAN, but is not limited to the wireless LAN. ) may be used.
  • the terminal device 20 is, for example, an optical see-through type head-mounted display capable of AR display such as HoloLens (registered trademark) or HoloLens2.
  • the terminal device 20 may be a terminal device such as a smartphone capable of AR display using ARCore (registered trademark), ARKit (registered trademark), or the like.
  • the terminal device 20 may be a video see-through type AR device or XR device such as Varjo (registered trademark) XR-1.
  • the terminal device 20 may be a VR device such as a head-mounted display capable of VR display.
  • the terminal device 20 uses the range that the user can visually recognize through the terminal device 20 as the target range, and for example, based on the visualization information provided from the information processing device 10, AR displays various information related to the target range visually recognized in the field. I do.
  • the terminal device 20 is an example of an information processing device according to the present disclosure.
  • the sensor group 40 includes, for example, sensors that measure various types of information about fields, such as a camera that photographs fields, a sensor that measures the amount of sunshine in fields, and a sensor that measures the moisture content of soil in fields.
  • the information providing device 30 is an information processing device that provides the information processing device 10 with various types of information regarding the target range.
  • the information providing device 30 acquires and stores various types of information such as the amount of sunshine, the amount of moisture in the soil, and images of the field, for example, from the sensor group 40 installed in the field.
  • the information providing device 30 provides the information processing device 10 with various types of stored information about the target range in response to a request.
  • the information providing device 30 is implemented by a PC (Personal computer), WS (Work station), or the like. Note that the information providing device 30 is not limited to a PC, WS, or the like.
  • the information processing device 10 is an information processing device that performs processing for providing the terminal device 20 with information to be AR-displayed on the terminal device 20 . Specifically, the information processing device 10 acquires sensor information, which will be described later, from the terminal device 20 . The information processing device 10 requests the information providing device 30 for various information such as the amount of sunlight and the moisture content of the soil in the target range specified using the acquired sensor information, and acquires the various information supplied in response to the request. . Then, based on the information acquired from the information providing device 30, the information processing device 10 provides visualization information for displaying the amount of sunshine and the moisture content of the soil for the target range.
  • the information processing apparatus 10 is implemented by a PC, WS, or the like. Note that the information processing device 10 is not limited to a PC, WS, or the like. For example, the information processing device 10 may be an information processing device such as a PC, WS, or the like that implements the functions of the information processing device 10 as an application.
  • Example of information processing system 1 will be described.
  • the user is wearing the terminal device 20, which is a see-through type head-mounted display.
  • the embodiment it is assumed that there is a work place in the farm field.
  • FIG. 2 is a diagram showing an example of a work place viewed by the user through the terminal device 20 and an AR-displayed GUI displayed on the terminal device 20 and viewed by the user.
  • the vegetation visually recognized by the user at the work place includes tomato V11, carrot V12, Chinese chive V13, and the like.
  • the AR display visually recognized by the user includes operation buttons B11 to B13 as an example of a GUI, a virtual hand HL as a virtual object visualizing the left hand of the worker sensed by the terminal device 20, and and a virtual hand HR, which is a virtual object that visualizes the sensed right hand of the worker.
  • the operation buttons B11 to B13 are displayed based on the position of the user's waist.
  • the operation button B11 is a button for controlling the AR display of information on the amount of sunshine at the work place.
  • the operation button B12 is a button for controlling the AR display of the moisture content of the soil at the work place.
  • the operation button B13 is a button for controlling the AR display of the complexity of vegetation in the work place.
  • FIG. 3 is a diagram for explaining a method of calculating the waist position of the user.
  • the terminal device 20 senses a relative position from coordinates (0, 0, 0) of the origin in a left-handed three-dimensional orthogonal coordinate system having a predetermined position in the field as the origin, and at the sensed position Let the coordinates of a certain head position P1 be the user's head coordinates (xh, yh, zh).
  • the terminal device 20 identifies the coordinates (xp, yp, zp) of the waist position P2 of the user based on the head position P1.
  • the vertical height h from the ground where the origin of the field is located to the head position P1 is higher than the threshold value H, which is a predetermined reference height.
  • the waist position P2 of the user is positioned below the head position P1 by a distance ⁇ to the waist. If the coordinates of the head position P1 are (xh, yh, zh), then the coordinates (xp, yp, zp) of the waist position P2 are (xh, yh- ⁇ , zh).
  • the distance ⁇ may be a distance based on a predetermined human body model, or may be a distance obtained by previously measuring the distance from the position of the head to the waist when the user stands upright.
  • the terminal device 20 assumes a posture in which the user crouches, for example, as shown in FIG. If it is equal to or less than H, the waist position P2 of the user is set to a position below the head position P1 by a distance ⁇ . The distance ⁇ is shorter than the distance ⁇ . If the coordinates of the head position P1 are (xh, yh, zh), then the coordinates (xp, yp, zp) of the waist position P2 are (xh, yh- ⁇ , zh).
  • the terminal device 20 that has specified the waist position P2 corrects the waist position P2 of the user according to the inclination of the terminal device 20.
  • FIG. 4 is a diagram for explaining a method of correcting the waist position P2 of the user.
  • the terminal device 20 sets a left-handed three-dimensional orthogonal coordinate system with the head coordinates as the origin.
  • the terminal device 20 corrects the waist position P2 of the user when the angle ⁇ of the inclination (pitch) around the x-axis of the left-handed three-dimensional orthogonal coordinate system with the head coordinates as the origin is not within a predetermined range.
  • FIG. 4(a) shows a state in which the terminal device 20 is not rotated around the x-axis of the left-handed three-dimensional orthogonal coordinate system with the head coordinates as the origin when the user is standing.
  • the terminal device 20 senses the tilt angle ⁇ about the x-axis of the terminal device 20 from the horizontal state shown in FIG. 4A and the vertical movement distance ⁇ h of the head position P1 from the standing state. .
  • the coordinates of the waist position after correction are calculated by the following equations (1) to (3).
  • xp after correction xp before correction (1)
  • yp after correction yp before correction+ ⁇ h (2)
  • zp after correction zp before correction ⁇ h ⁇ tan ⁇ (3)
  • xp after correction xp before correction (4)
  • yp after correction yp- ⁇ h before correction (5)
  • zp after correction zp before correction+ ⁇ h ⁇ tan ⁇ (6)
  • FIG. 5 is a diagram showing an example of a display mode of the operation button B11.
  • the operation button B11 has a transparent hemispherical operated portion C1, an annular indicator portion C2, and a function display portion C3 including an icon representing a function corresponding to the operation button B11.
  • the terminal device 20 executes the process corresponding to the button with which the virtual hand HL or the virtual hand HR is in contact. .
  • the terminal device 20 displays the visualization information of the amount of sunshine in the target range visually recognized by the user. to the information processing apparatus 10 .
  • the terminal device 20 displays a graph GR of the amount of sunshine in AR as shown in FIG.
  • the terminal device 20 determines that the virtual hand HL or the virtual hand HR touches the operated portion C1
  • the height of the operated portion C1 is adjusted to the height of the virtual hand HL or the virtual hand HR that touches the operated portion C1. It may be displayed in another display manner instead of being displayed lower than the state in which it is not installed.
  • FIG. 8 is a block diagram showing the functional configuration of the information processing device 10. As shown in FIG. As shown in FIG. 8 , the information processing device 10 includes a control section 100 , a communication section 110 and a storage section 120 .
  • the communication unit 110 has a function of communicating with an external device.
  • the communication unit 110 supplies information received from the external device to the control unit 100 in communication with the external device.
  • the communication unit 110 supplies information received from the information providing device 30 and information received from the terminal device 20 to the control unit 100 .
  • the communication unit 110 transmits information supplied from the control unit 100 to an external device.
  • the communication unit 110 acquires from the control unit 100 the visualization information about the target range generated by the control unit 100 based on the information supplied from the information providing device 30, and transmits the acquired visualization information to the terminal device 20.
  • the communication unit 110 also acquires from the control unit 100 information representing the target range generated by the control unit 100 based on the sensor information supplied from the terminal device 20 and transmits the acquired information to the information providing device 30 .
  • the storage unit 120 is implemented by, for example, a semiconductor memory device such as a RAM or flash memory, or a storage device such as a hard disk or optical disk.
  • the storage unit 120 has a function of storing information regarding processing in the information processing apparatus 10 .
  • the storage unit 120 stores, for example, information about the target range supplied from the information providing device 30 .
  • the position specifying unit 1021 has a function of specifying the target range.
  • the position specifying unit 1021 specifies the position of the terminal device 20 and the direction in which the user is facing, based on the sensor information acquired from the terminal device 20 .
  • the position specifying unit 1021 specifies a target range that the user can visually recognize through the terminal device 20 in the field based on the specified position and direction.
  • the sensor unit 250 has a head position measurement unit 251, a hand posture measurement unit 252, and a voice acquisition unit 253.
  • the head position measurement unit 251 has an acceleration sensor 251a, an orientation sensor 251b, a depth sensor 251c, a gyro sensor 251d, a SLAM 251e, and a GPS module 251f.
  • the acceleration sensor 251a is, for example, a triaxial acceleration sensor.
  • the acceleration sensor 251a outputs acceleration information representing the measured acceleration.
  • the azimuth sensor 251b is a sensor that measures geomagnetism and detects the direction in which the terminal device 20 is facing.
  • the orientation sensor 251b outputs orientation information representing the detected orientation.
  • the depth sensor 251c is a sensor that measures the distance from the terminal device 20 to a person or object existing within the target range.
  • the depth sensor 251c outputs depth information representing the measured distance.
  • the gyro sensor 251 d is a sensor that measures the angular velocity of the terminal device 20 .
  • the gyro sensor 251d outputs angular velocity information representing the measured angular velocity.
  • the SLAM 251e is, for example, a Lidar (Light Detection And Ranging) SLAM (Simultaneous Localization and Mapping) equipped with a laser scanner, or a Visual SLAM equipped with a camera.
  • the SLAM 251e senses the target range and outputs map information representing an environmental map of the target range.
  • the GPS module 251f receives radio waves measured from satellites in the satellite positioning system and measures the position of the terminal device 20 .
  • the GPS module 251f outputs position information representing the measured position.
  • the hand posture measurement unit 252 has a depth sensor 252a and an infrared camera 252b.
  • the infrared camera 252b outputs infrared light, receives infrared light reflected by the user's hand, and photographs the user's hand.
  • the depth sensor 252a measures the distance to the user's hand based on the image of the user's hand generated by the infrared camera 252b.
  • the hand posture measurement unit 252 outputs hand posture information including the measured distance to the user's hand and an image of the user's hand.
  • the voice acquisition unit 253 has a microphone 253a.
  • the microphone 253a collects sounds around the terminal device 20 and outputs audio information representing the collected sounds.
  • the storage unit 210 is realized by semiconductor memory devices such as RAM and flash memory, for example.
  • the storage unit 210 has a function of storing information regarding processing in the terminal device 20 .
  • the storage unit 120 stores, for example, visualization information supplied from the information processing device 10 .
  • the storage unit 120 also stores application programs executed by the terminal device 20 .
  • the application program stored in the storage unit 120 is, for example, a program that allows the user to visually recognize graphs of the amount of solar radiation in a field, the amount of moisture in soil, the complexity of vegetation, and the like through AR display.
  • the control unit 200 is implemented by executing an application program stored in the storage unit 210.
  • the control unit 200 has a position processing unit 201, a hand posture processing unit 202, a correction unit 203, a display processing unit 204, a display control unit 205, and a communication control unit 206, as shown in FIG.
  • the position processing unit 201 Based on the sensor information output from the sensor unit 250, the position processing unit 201 identifies the aforementioned head position P, the waist position P2 which is an example of a predetermined part of the body, the inclination angle ⁇ of the terminal device 20, and the like. .
  • the hand posture processing unit 202 identifies the position and posture of the user's hands based on the hand posture information output from the hand posture measurement unit 252 .
  • the correction unit 203 corrects the waist position P2 based on the head position P and the angle ⁇ .
  • the display processing unit 204 generates AR-display images of the operation buttons B11 to B13, etc., and generates images of the virtual hand HL and the virtual hand HR based on the positions and postures specified by the hand posture processing unit 202.
  • the display processing unit 204 generates an image for AR display such as a graph GR based on the visualization information provided from the information processing device 10 .
  • the display control unit 205 controls the video output unit 220 so that the images of the operation buttons B11 to B13 generated by the display processing unit 204 are AR-displayed at the waist position P2 corrected by the correction unit 203.
  • FIG. the display control unit 205 controls the video output unit 220 so that the images of the virtual hand HL and the virtual hand HR are AR-displayed at the hand position specified by the hand posture processing unit 202 .
  • the display control unit 205 controls the video output unit 220 so that the image generated based on the visualization information in the display processing unit 204 is AR-displayed in the symmetric range.
  • the communication control unit 206 controls the external communication unit 240 to transmit information to the information processing device 10 and receive information from the information processing device 10 .
  • the video output unit 220 displays the AR image output from the control unit 200 and viewed by the user on the half mirror.
  • the audio output unit 230 includes a speaker and outputs sounds represented by audio signals supplied from an external device.
  • the external communication unit 240 has a function of communicating with an external device. For example, the external communication unit 240 supplies information received from the external device to the control unit 200 in communication with the external device. Specifically, the external communication unit 240 supplies visualization information received from the information processing device 10 to the control unit 200 . In addition, the external communication unit 240 transmits information supplied from the control unit 200 to the external device in communication with the external device. Specifically, the external communication unit 240 transmits the sensor information output from the sensor unit 250 to the control unit 200 to the information processing device 10 .
  • FIG. 10 is a block diagram showing the hardware configuration of the information providing device 30. As shown in FIG. As shown in FIG. 10 , the information providing device 30 includes a control section 300 , a storage section 310 and a communication section 320 .
  • the communication unit 320 has a function of communicating with an external device. For example, the communication unit 320 outputs information received from the external device to the control unit 300 in communication with the external device. Specifically, communication unit 320 outputs information received from information processing device 10 to control unit 300 . For example, the communication unit 320 outputs information representing the target range transmitted from the information processing device 10 to the control unit 300 . The communication unit 320 also transmits information about the target range supplied from the control unit 300 to the information processing device 10 .
  • the control unit 300 has a function of controlling the operation of the information providing device 30 .
  • the control unit 300 transmits various types of information regarding the target range to the information processing device 10 via the communication unit 320 .
  • the control unit 300 accesses the storage unit 310 and transmits to the information processing apparatus 10 the amount of sunlight, the amount of water in the soil, and the complexity of vegetation in the target range.
  • the storage unit 310 is implemented by, for example, a semiconductor memory device such as a RAM or flash memory, or a storage device such as a hard disk or optical disk.
  • the storage unit 310 has a function of storing data related to processing in the information providing device 30 .
  • the storage unit 310 stores, for example, information on the amount of sunshine and the amount of water in the soil acquired from the sensor group 40 installed in the field, images of the field, and the like.
  • FIG. 11 is a flow chart showing the flow of processing executed when the operation buttons B11 to B13 are displayed on the terminal device 20.
  • the terminal device 20 sets a predetermined position in the field as the origin (0, 0, 0) (step S101).
  • the terminal device 20 specifies the coordinates of the head position P1 when the user is standing, based on the information output from the sensor section 250 (step S102).
  • the terminal device 20 calculates the tilt angle ⁇ of the terminal device 20 from the horizontal state and the vertical movement distance ⁇ h of the terminal device 20 from the standing state. Identify (step S103).
  • the terminal device 20 determines whether or not the height of the head position P1 is higher than the aforementioned threshold value H based on the coordinates specified in step S102 (step S104). When the height of the head position P1 is higher than the threshold value H (Yes in step S104), the terminal device 20 sets the waist position P2 of the user to a position lower than the head position P1 by a distance ⁇ from the waist (step S105). ). On the other hand, if the height of the head position P1 is equal to or less than the threshold H (No in step S104), the terminal device 20 sets the waist position P2 of the user to a position below the head position P1 by the distance ⁇ (step S106). ).
  • the terminal device 20 determines whether the tilt angle ⁇ from the horizontal state specified in step S103 is within a predetermined range ( ⁇ A ⁇ A) (step S107). of the inclination from the horizontal state is within the predetermined range (Yes in step S107), the terminal device 20 shifts the flow of processing to step S111.
  • the terminal device 20 determines whether the terminal device 20 is tilted downward from the horizontal plane (step S108). When the terminal device 20 is tilted downward from the horizontal plane (Yes in step S108), the terminal device 20 corrects the coordinates of the waist position P2 upward and backward (step S109). Here, as described above, the terminal device 20 calculates the coordinates of the post-correction waist position P2 using the above equations (1) to (3). Further, when the terminal device 20 is tilted upward from the horizontal plane (No in step S108), the coordinates of the waist position P2 are corrected downward and forward (step S110).
  • the terminal device 20 calculates the coordinates of the post-correction waist position P2 using the above-described equations (4) to (6). After the processing of step S109 or step S110, the terminal device 20 shifts the flow of processing to step S111.
  • the terminal device 20 determines whether the origin has moved in step S111 (step S111). If the origin has moved (Yes in step S111), the terminal device 20 ends the process shown in FIG. If the origin has not moved (No in step S111), the terminal device 20 displays the operation buttons B11 to B13 at the waist position P2 (step S113). Here, when the terminal device 20 determines Yes in step S107, the operation buttons B11 to B13 are displayed based on the waist position P2 set in step S105 or step S106. Further, when the terminal device 20 determines No in step S107, it displays the operation buttons B11 to B13 based on the waist position P2 corrected in step S109 or step S110. Next, the terminal device 20 updates the coordinates of the head position P1 based on the information output from the sensor unit 250 (step S113), and returns the flow of processing to step S103.
  • FIG. 12 is a flow chart showing the flow of processing for changing the display mode of the operation buttons B11 to B13.
  • the terminal device 20 initializes the contact time t between the virtual hand and the operation buttons before displaying the operation buttons B11 to B13 (step S201).
  • the terminal device 20 displays the operated portion C1 in a hemispherical shape based on the waist position P2 specified in the process of FIG. 11 for the operation buttons B11 to B13 (step S202).
  • step S207 the terminal device 20 determines whether the measured contact time t is less than the threshold value T (step S207).
  • the terminal device 20 adjusts the height of the operated part C1 with which the virtual hand HL or the virtual hand HR is in contact, as shown in FIG. 2, the contact state is displayed in a lower contact state than the hemispherical shape (step S208).
  • the terminal device 20 changes the color of the indicator portion C2 according to the contact time t, as shown in FIGS. 5(b) to 5(d) (step S209). Then, the terminal device 20 returns the processing flow to step S203.
  • the terminal device 20 displays the operated part C1 in a hemispherical non-contact state display mode as shown in FIG. (Step S210). Next, the terminal device 20 executes a process corresponding to the operation button with which the virtual hand HL or the virtual hand HR is in contact (step S211), and ends the process.
  • the terminal device 20 transmits sensor information to the information processing device 10 .
  • the information processing device 10 identifies the user's visible range based on the sensor information transmitted from the terminal device 20 .
  • the information processing device 10 transmits information representing the specified visible range to the information providing device 30 .
  • the information providing device 30 transmits to the information processing device 10 information on the amount of sunshine in the visible range represented by the information transmitted from the information processing device 10 .
  • the information processing device 10 generates an AR image representing a three-dimensional graph of the amount of sunshine in the target range based on the information transmitted from the information providing device 30, and uses the information of the generated AR image as visualization information for the terminal device 20.
  • Send to The terminal device 20 receives the visualization information transmitted from the information processing device 10, and displays the graph GR of the AR image represented by the received visualization information as shown in FIG. 6, for example.
  • FIG. 13 is a flow chart showing the flow of processing for changing the display mode of the operation buttons B11 to B13 as shown in FIG. 7 according to the overlapping of the virtual hand HR or the virtual hand HL and the operated part C1.
  • the terminal device 20 identifies the position and posture of the virtual hand HR or the virtual hand HL based on the hand posture information output from the hand posture measurement unit 252 (step S301).
  • step S302 if a portion of the virtual hand HR or the virtual hand HL is positioned within the operated portion C1 (Yes in step S302), the terminal device 20 moves the virtual hand HR or the virtual hand HL inside the operated portion C1. Identify the area where it is located (step S303). Then, the terminal device 20 changes the color of the area specified in step S303, for example, as shown in FIG. 7 (step S304), and returns the flow of processing to step S301.
  • the display positions of the operation buttons B11 to B13 may be corrected according to the length of the user's arm. In the present invention, the display positions of the operation buttons B11 to B13 may be corrected according to the user's motion state. In the present invention, the posture state of the user may be estimated from the trajectory of the user's posture specified by the acceleration sensor 251a and the gyro sensor 251d, and the waist position P2 may be corrected according to the estimated posture state. In the present invention, when an object is detected by the sensor unit 250 and the position of the detected object overlaps the display positions of the operation buttons B11 to B13, the display positions of the operation buttons B11 to B13 are corrected so that they do not overlap the detected object.
  • the elapse of contact time may be notified to the user by vibration or sound.
  • the above-described threshold value H and threshold value T may be values determined for each user.
  • the contact between the virtual hand HL and the virtual hand HR may be determined in a wider range than the displayed operated part C1.
  • the terminal device 20 displays the operation buttons B11 to B13 around the waist of the user, but the positions where the operation buttons B11 to B13 are displayed are not limited to the waist position. For example, it may be around the user's chest.
  • the above-described embodiment is configured to perform AR display corresponding to synecoculture, but the AR display displayed by the information processing system 1 is not limited to one corresponding to synecoculture. AR display corresponding to work in a factory or work at a construction site may be performed.
  • FIG. 14 is a block diagram illustrating an example hardware configuration of a computer that implements the functions of the information processing apparatus according to the embodiment.
  • the information processing device 900 shown in FIG. 14 can realize, for example, the information processing device 10, the terminal device 20, and the information providing device 30 shown in FIG.
  • Information processing by the information processing device 10, the terminal device 20, and the information providing device 30 according to the embodiment is realized by cooperation between software and hardware described below.
  • the CPU 901, ROM 902, and RAM 903 are interconnected, for example, via a host bus 904a capable of high-speed data transmission.
  • the host bus 904a is connected via a bridge 904, for example, to an external bus 904b having a relatively low data transmission speed.
  • the external bus 904b is connected to various components via an interface 905. FIG.
  • the input device 906 is implemented by a device through which information is input, such as a mouse, keyboard, touch panel, button, microphone, switch, and lever.
  • the input device 906 may be, for example, a remote control device using infrared rays or other radio waves, or may be an external connection device such as a mobile phone or PDA corresponding to the operation of the information processing device 900.
  • the input device 906 may include, for example, an input control circuit that generates an input signal based on information input using the above input means and outputs the signal to the CPU 901 .
  • a user of the information processing apparatus 900 can input various data to the information processing apparatus 900 and instruct processing operations by operating the input device 906 .
  • the input device 906 may be formed by a device that detects the user's position.
  • the input device 906 includes an image sensor (eg, camera), depth sensor (eg, stereo camera), acceleration sensor, gyro sensor, geomagnetic sensor, optical sensor, sound sensor, ranging sensor (eg, ToF (Time of Flight ) sensors), force sensors, and the like.
  • the input device 906 also receives information about the state of the information processing device 900 itself, such as the attitude and movement speed of the information processing device 900, and information about the space around the information processing device 900, such as brightness and noise around the information processing device 900. may be obtained.
  • the input device 906 receives GNSS signals from GNSS (Global Navigation Satellite System) satellites (for example, GPS signals from GPS (Global Positioning System) satellites) and provides position information including the latitude, longitude and altitude of the device.
  • GNSS Global Navigation Satellite System
  • GPS Global Positioning System
  • a measuring GNSS module may be included.
  • the input device 906 may detect the position by Wi-Fi (registered trademark), transmission/reception with a mobile phone/PHS/smartphone, or short-distance communication.
  • the input device 906 can implement the functions of the sensor unit 250 described with reference to FIG. 9, for example.
  • the output device 907 is formed by a device capable of visually or audibly notifying the user of the acquired information.
  • Such devices include display devices such as CRT display devices, liquid crystal display devices, plasma display devices, EL display devices, laser projectors, LED projectors and lamps, sound output devices such as speakers and headphones, and printer devices. .
  • the output device 907 outputs, for example, results obtained by various processes performed by the information processing device 900 .
  • the display device visually displays the results obtained by various processes performed by the information processing device 900 in various formats such as text, image, table, and graph.
  • an audio output device converts an audio signal, which is composed of reproduced audio data, acoustic data, etc., into an analog signal and aurally outputs the analog signal.
  • the output device 907 can implement the functions of the video output unit 220 and the audio output unit 230 described with reference to FIG. 9, for example.
  • the storage device 908 is a data storage device formed as an example of the storage unit of the information processing device 900 .
  • the storage device 908 is implemented by, for example, a magnetic storage device such as an HDD, a semiconductor storage device, an optical storage device, a magneto-optical storage device, or the like.
  • the storage device 908 may include a storage medium, a recording device that records data on the storage medium, a reading device that reads data from the storage medium, a deletion device that deletes data recorded on the storage medium, and the like.
  • the storage device 908 stores programs executed by the CPU 901, various data, and various data acquired from the outside.
  • the storage device 908 can realize the functions of the storage unit 120, the storage unit 210, and the storage unit 310 described with reference to FIGS. 8 to 10, for example.
  • connection port 910 is, for example, a USB (Universal Serial Bus) port, an IEEE1394 port, a SCSI (Small Computer System Interface), an RS-232C port, or a port for connecting an external connection device such as an optical audio terminal. .
  • USB Universal Serial Bus
  • IEEE1394 Serial Bus
  • SCSI Serial Computer System Interface
  • RS-232C Serial Bus
  • a port for connecting an external connection device such as an optical audio terminal.
  • the communication network 920 is a wired or wireless transmission path for information transmitted from devices connected to the communication network 920 .
  • the communication network 920 may include a public line network such as the Internet, a telephone line network, a satellite communication network, various LANs (Local Area Networks) including Ethernet (registered trademark), WANs (Wide Area Networks), and the like.
  • Communication network 920 may also include a dedicated line network such as IP-VPN (Internet Protocol-Virtual Private Network).
  • the terminal device 20 performs processing for correcting the display position of the AR-displayed GUI based on the vertical position of the terminal device 20 and the tilt of the terminal device 20 .
  • the operation buttons B11 to B13 are always displayed around the waist position of the user, so that the operation buttons B11 to B13 can be found immediately even if the user changes position or posture, promoting improvement of usability. can do.
  • the waist position is calculated based on the user's body position, the operation buttons B11 to B13 can be operated at the same waist position at all times.
  • the operation buttons B11 to B13 are always displayed based on the user's waist, the user can learn the positional relationship between the operation buttons B11 to B13 and his/her own body when he/she becomes familiar with the operation. . Therefore, even if the operation buttons B11 to B13 are not placed in the center of the visual field, it is possible to operate the operation buttons B11 to B13 by feeling the movement of the body, and it is possible to operate them with one hand while working.
  • the user since the display mode of the operated part C1 and the indicator part C2 changes according to the operation, the user can notice the change in the display mode, and can operate the operation buttons B11 to B13 even while performing other work. can be operated. Further, according to the display mode shown in FIG. 7, the user can be made to recognize that the user's hand is in contact with the operated portion C1, so that the user can easily recognize that the hand is in contact with the operated portion C1. can do.
  • the information processing apparatus changes a display mode of the image according to an elapsed time after the user starts operating the image.
  • the position processing unit estimates the position of the hand of the user,
  • the display control unit superimposes an image of the user's hand on a space viewed by the user based on the position estimated by the position processing unit, and
  • the information processing apparatus changes a display mode of the image of the hand according to an overlap with an image operated by the user.
  • An information processing method comprising: (10) to the computer, a position processing step of estimating the position of the user's head and estimating the position of a predetermined part of the user's body based on the estimated head position; a correction step of correcting the position of the predetermined part estimated in the position processing step based on the head position and the inclination angle of the user's head; a display control step of performing a process of superimposing and displaying an image operated by the user on a space viewed by the user based on the position corrected
  • information processing system 10 information processing device 20 terminal device 30 information providing device 40 sensor group 100 control unit 101 acquisition unit 102 processing unit 1021 position specifying unit 1022 generation unit 103 output unit 110 communication unit 120 storage unit 200 control unit 201 position processing unit 202 hand posture processing unit 203 correction unit 204 display processing unit 205 display control unit 206 communication control unit 210 storage unit 220 video output unit 230 audio output unit 240 external communication unit 250 sensor unit 251 head position measurement unit 251a acceleration sensor 251b direction sensor 251c depth sensor 251d gyro sensor 251e SLAM 251f GPS module 252 hand posture measurement unit 252a depth sensor 252b infrared camera 253 voice acquisition unit 253a microphone 300 control unit 310 storage unit 320 communication unit B11 to B13 operation button C1 operated unit C2 indicator unit C3 function display unit

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

情報処理装置は、位置処理部と、補正部と、表示制御部とを有する。位置処理部は、ユーザの頭部位置を推定し、推定した頭部位置に基づいてユーザの身体の所定部位の位置を推定する。補正部は、位置処理部が推定した所定部位の位置を、頭部位置とユーザの頭部の傾きの角度に基づいて補正する。表示制御部は、補正部により補正された位置に基づいて、ユーザにより操作される画像をユーザにより視認される空間に重ねて表示する処理を行う。

Description

情報処理装置、情報処理方法およびプログラム
 本発明は、情報処理装置、情報処理方法およびプログラムに関する。
 仮想空間内における物体との接触を判定する発明として、例えば特許文献1に開示された情報処理装置がある。この情報処理装置は、ユーザの腕の長さを特定し、ユーザのアバターが持つオブジェクトに設定されているコリジョン領域と、ユーザが手を動かせる範囲とによって、オブジェクトのコリジョン領域が到達し得る範囲を設定する。ユーザの腕の長さに応じてオブジェクトのコリジョン領域が到達し得る範囲を設定するため、ユーザが変わった場合でも、コリジョン領域が到達し得る範囲が所定の範囲となる。
特開2019-101468号公報
 仮想空間内においては、例えば情報を表示するためのGUI(Graphical User Interface)を操作する場合がある。アバターに対応するユーザは、空間内でしゃがむ場合や頭部を傾ける場合があり、ユーザの姿勢によっては、アバターの手が届く範囲が変化して操作性が悪くなり、それにより、ユーザビリティが低下してしまう可能性がある。
 そこで、本開示では、ユーザビリティの低下を抑制することを可能とする情報処理装置、情報処理方法およびプログラムを提案する。
 本開示によれば、ユーザの頭部位置を推定し、推定した頭部位置に基づいてユーザの身体の所定部位の位置を推定する位置処理部と、前記位置処理部が推定した前記所定部位の位置を、前記頭部位置と前記ユーザの頭部の傾きの角度に基づいて補正する補正部と、前記補正部により補正された位置に基づいて、前記ユーザにより操作される画像を前記ユーザにより視認される空間に重ねて表示する処理を行う表示制御部と、を備える情報処理装置が提供される。また、本開示によれば、前記情報処理装置の情報処理がコンピュータにより実行される情報処理方法、ならびに、前記情報処理装置の情報処理をコンピュータに実現させるプログラムが提供される。
図1は、実施形態に係る情報処理システムを構成する装置を示す図である。 図2は、ユーザが端末装置を介して視認する作業場所とGUIの一例を示す図である。 図3は、ユーザの腰の位置の算出方法を説明するための図である。 図4は、ユーザの腰の位置の補正方法を説明するための図である。 図5は、実施形態に係る操作ボタンの表示態様の一例を示す図である。 図6は、ユーザが端末装置を介して視認する作業場所とGUIの一例を示す図である。 図7は、実施形態に係る操作ボタンと仮想手の表示態様の一例を示す図である。 図8は、情報処理装置のハードウェア構成及び機能構成を示すブロック図である。 図9は、端末装置のハードウェア構成及び機能構成を示すブロック図である。 図10は、情報提供装置のハードウェアを示すブロック図である。 図11は、操作ボタンを表示するときに実行される処理の流れを示すフローチャートである。 図12は、操作ボタンの表示態様を変える処理の流れを示すフローチャートである。 図13は、操作ボタンの表示態様を変える処理の流れを示すフローチャートである。 図14は、情報処理装置の機能を実現するコンピュータの一例のハードウェア構成図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 なお、説明は以下の順序で行うものとする。
 1.本開示の実施形態の概要
  1.1.はじめに
  1.2.情報処理システムの概要
 2.情報処理システムの実施例
  2.1.圃場の作業場所でのAR表示
  2.2.ユーザの腰の位置の特定方法
  2.3.操作ボタンの表示態様
 3.情報処理システムの構成
  3.1.情報処理装置の構成
  3.2.端末装置の構成
  3.3.情報提供装置の構成
  3.4.情報処理システムの処理
  3.5.処理のバリエーション
 4.ハードウェア構成例
 5.まとめ
<<1.本開示の実施形態の概要>>
<1.1.はじめに>
 協生農法(登録商標)において、圃場における植物等の生態系に係る各種情報(例えば、日照量や土壌の水分量)を、作業者に対してAR(Augmented Reality)技術を用いて可視化して表示する技術が注目されている。各種情報を表示する方法としては、例えば、情報を表示するためのボタン等のGUIを端末装置でAR表示し、表示されたGUIを操作する方法がある。
 GUIの表示位置を3次元空間内で固定してしまうと、作業者が視線を移動させたり、3次元空間内を移動したりした場合、GUIが視界外に位置することとなる。この場合、GUIを操作するためには、まず視界外に移動したGUIを探す必要があり、GUIを探すために時間や手間がかかってしまう。
 そこで、本開示では、操作性のよい情報処理装置、情報処理方法及びプログラムを提案する。
 以下の説明において、圃場の作業者を、適宜、「ユーザ」とする。ユーザは、圃場の作業者をAR体験するユーザであってもよい。実施形態では、ユーザは、実際の圃場の作業者である。
<1.2.情報処理システムの概要>
 実施形態に係る情報処理システム1の概要について説明する。図1は、情報処理システム1を構成する装置を示す図である。図1に示したように、情報処理システム1は、情報処理装置10、端末装置20、情報提供装置30、及びセンサ群40を備える。例えば、情報処理装置10は、通信回線Nに有線で接続されるが、無線で接続されてもよい。情報処理装置10には、多様な装置が接続され得る。例えば、情報処理装置10には、端末装置20及び情報提供装置30が通信回線Nを介して接続され、各装置間で情報の連携が行われる。また、端末装置20、情報提供装置30及びセンサ群40も、有線又は無線で通信回線Nに接続される。端末装置20、情報提供装置30及びセンサ群40の無線による通信回線Nへの接続は、例えば無線LANを介した接続であるが、無線LANに限定されるものではなく、例えば、Bluetooth(登録商標)を用いた接続であってもよい。
 端末装置20は、例えば、HoloLens(登録商標)やHoloLens2等のAR表示が可能な光学シースルー型のヘッドマウントディスプレイである。また、端末装置20は、ARCore(登録商標)やARKit(登録商標)等を用いてAR表示が可能なスマートホン等の端末機器であってもよい。また、端末装置20は、Varjo(登録商標)のXR-1等のビデオシースルー型のARデバイスやXRデバイスであってもよい。また、端末装置20は、VR表示が可能なヘッドマウントディスプレイ等のVRデバイスであってもよい。端末装置20は、ユーザが端末装置20を介して視認し得る範囲を対象範囲とし、例えば、情報処理装置10から提供された可視化情報に基づいて、圃場において視認した対象範囲に関する各種情報のAR表示を行う。なお、端末装置20は、本開示における情報処理装置の一例である。
 センサ群40は、例えば、圃場を撮影するカメラや圃場の日照量を測定するセンサ、圃場の土壌の水分量を測定するセンサ等、圃場に関する各種情報を測定するセンサを含む。
 情報提供装置30は、対象範囲に関する各種情報を情報処理装置10へ提供する情報処理装置である。情報提供装置30は、例えば、圃場に設置されたセンサ群40から日照量や土壌の水分量、圃場の映像などの各種情報を取得して記憶する。情報提供装置30は、記憶している対象範囲に関する各種情報を、要求に応じて情報処理装置10へ提供する。情報提供装置30は、PC(Personal computer)、WS(Work station)等により実現される。なお、情報提供装置30は、PC、WS等に限定されない。
 情報処理装置10は、端末装置20においてAR表示する情報を端末装置20へ提供するための処理を行う情報処理装置である。具体的には、情報処理装置10は、端末装置20から後述するセンサ情報を取得する。情報処理装置10は、取得したセンサ情報を用いて特定した対象範囲における日照量や土壌の水分量等の各種情報を情報提供装置30へ要求し、要求に応じて供給された各種情報を取得する。そして、情報処理装置10は、情報提供装置30から取得した情報に基づいて、対象範囲に対して日照量や土壌の水分量を表示するための可視化情報を提供する。情報処理装置10は、PC、WS等により実現される。なお、情報処理装置10は、PC、WS等に限定されない。例えば、情報処理装置10は、情報処理装置10としての機能をアプリケーションとして実装したPC、WS等の情報処理装置であってもよい。
<<2.情報処理システムの実施例>>
 続いて、情報処理システム1の実施例について説明する。なお、実施例では、ユーザはシースルー型のヘッドマウントディスプレイである端末装置20を装着しているものとする。また、実施例では、圃場には作業場所があるものとする。
<2.1.圃場の作業場所でのAR表示>
 図2は、ユーザが端末装置20を介して視認している作業場所と、端末装置20で表示されてユーザが視認しているAR表示されたGUIの一例を示す図である。図2に示すように、作業場所においてユーザが視認している植生には、トマトV11、人参V12、ニラV13等が含まれている。また、ユーザが視認するAR表示には、GUIの一例である操作ボタンB11~B13と、端末装置20によりセンシングされた作業者の左手を可視化した仮想オブジェクトである仮想手HLと、端末装置20によりセンシングされた作業者の右手を可視化した仮想オブジェクトである仮想手HRと、が含まれる。
 操作ボタンB11~B13は、ユーザの腰の位置を基準にして表示される。操作ボタンB11は、作業場所における日照量の情報のAR表示を制御するためのボタンである。操作ボタンB12は、作業場所における土壌の水分量のAR表示を制御するためのボタンである。操作ボタンB13は、作業場所の植生の複雑度のAR表示を制御するためのボタンである。
<2.2.ユーザの腰の位置の特定方法>
 図3は、ユーザの腰の位置の算出方法を説明するための図である。端末装置20は、例えば、圃場に予め定められた位置を原点とした左手系の3次元直交座標系において、原点の座標(0,0,0)からの相対位置をセンシングし、センシングした位置である頭部位置P1の座標をユーザの頭部座標(xh,yh,zh)とする。
 端末装置20は、頭部位置P1に基づいてユーザの腰位置P2の座標(xp,yp,zp)を特定する。端末装置20は、例えば、図3(a)に示すように、圃場の原点がある地面から頭部位置P1までの鉛直方向の高さhが予め定められた基準高さである閾値Hより高い場合、ユーザの腰位置P2を頭部位置P1から腰までの距離αだけ下方の位置とする。頭部位置P1の座標を(xh,yh,zh)とした場合、この場合の腰位置P2の座標(xp,yp,zp)は、(xh,yh-α,zh)となる。距離αは、予め定めた人体モデルに基づく距離としてもよく、また、ユーザが直立したときの頭部の位置から腰までの距離を予め測定して得られた距離であってもよい。
 一方、端末装置20は、例えば、図3(b)に示すようにユーザがしゃがんだ姿勢となり、圃場の原点がある地面から頭部位置P1までの鉛直方向の高さhが予め定められた閾値H以下である場合、ユーザの腰位置P2を、頭部位置P1から距離βだけ下方の位置とする。距離βは、距離αより短い距離である。頭部位置P1の座標を(xh,yh,zh)とした場合、この場合の腰位置P2の座標(xp,yp,zp)は、(xh,yh-β,zh)となる。
 腰位置P2を特定した端末装置20は、端末装置20の傾きに応じてユーザの腰位置P2を補正する。図4は、ユーザの腰位置P2の補正方法を説明するための図である。端末装置20は、頭部座標を原点として左手系の3次元直交座標系を設定する。端末装置20は、頭部座標を原点とした左手系の3次元直交座標系のx軸まわりの傾き(ピッチ)の角度θが所定範囲内ではない場合、ユーザの腰位置P2を補正する。
 図4(a)は、ユーザが立位状態のときに端末装置20が頭部座標を原点とした左手系の3次元直交座標系のx軸まわりに回転していない状態を示している。端末装置20は、図4(a)に示す水平状態からの端末装置20のx軸まわりの傾きの角度θと、立位状態からの頭部位置P1の鉛直方向への移動距離Δhをセンシングする。
 端末装置20は、例えば、図4(b)に示すように下方に所定の範囲を超えて傾いた場合、頭部座標を原点とした左手系の3次元直交座標系において、補正前の腰位置の座標を(xp,yp,zp)とした場合、補正後の腰位置の座標を以下の(1)~(3)の式で算出する。
 補正後のxp=補正前のxp・・・(1)
 補正後のyp=補正前のyp+Δh・・・(2)
 補正後のzp=補正前のzp-Δh÷tanθ・・・(3)
 また、端末装置20は、例えば、図4(c)に示すように上方に所定の範囲を超えて傾いた場合、補正前の腰位置の座標を(xp,yp,zp)とした場合、補正後の腰位置の座標を以下の(4)~(6)の式で算出する。
 補正後のxp=補正前のxp・・・(4)
 補正後のyp=補正前のyp-Δh・・・(5)
 補正後のzp=補正前のzp+Δh÷tanθ・・・(6)
 端末装置20は、頭部位置P1を原点とした左手系の3次元直交座標系において、補正後の腰位置P3に基づいて、操作ボタンB11~B13を表示する。例えば、端末装置20は、補正後の腰位置P3に操作ボタンB12を表示する。また、端末装置20は、頭部位置P1を原点とした左手系の3次元直交座標系において、腰位置P3からx軸方向とz軸方向に所定のオフセットがされた位置に操作ボタンB11と操作ボタンB13を表示する。これにより、図2に示すようにユーザの視界に操作ボタンB11~B13がAR表示される。ユーザは、AR表示されている操作ボタンB11~B13を仮想手HL又は仮想手HRで操作する。操作ボタンB11~B13は、仮想手HL又は仮想手HRによる操作に応じて表示態様が変化する。
<2.3.操作ボタンの表示態様>
 図5は、操作ボタンB11の表示態様の一例を示す図である。操作ボタンB11は、透明な半球形状の被操作部C1と、円環形状のインジケータ部C2と、操作ボタンB11に対応した機能を表すアイコンを含む機能表示部C3を有する。
 端末装置20は、仮想手HL又は仮想手HRが被操作部C1に接触しているか判定する。端末装置20は、仮想手HL又は仮想手HRが被操作部C1に接触していないと判定した場合には、図5(a)に示すように被操作部C1を半球形状に表示する。
 端末装置20は、仮想手HL又は仮想手HRが被操作部C1に接触したと判定した場合には、被操作部C1の高さを図5(a)に示す状態より低くして表示する。端末装置20は、仮想手HL又は仮想手HRの被操作部C1への接触時間に応じて、インジケータ部C2の表示を変化させる。具体的には、端末装置20は、仮想手HL又は仮想手HRの被操作部C1への接触時間に応じて、時計回りにインジケータ部C2の色を変化させる。これにより、インジケータ部C2は、接触時間の増加に応じて図5(c)、図5(d)に示すように時計回りに色が変化していく。端末装置20は、仮想手HL又は仮想手HRの被操作部C1への接触時間が予め定められた閾値Tを超えた場合、インジケータ部C2の色を図5(e)に示すように全周にわたって変化させる。端末装置20は、接触時間が閾値Tに達する前に仮想手HL又は仮想手HRが被操作部C1から離れた場合には、操作ボタンB11の表示を図5(a)に示す状態に戻す。
 端末装置20は、仮想手HL又は仮想手HRの被操作部C1への接触時間が閾値T以上となった場合、仮想手HL又は仮想手HRが接触しているボタンに対応した処理を実行する。例えば、端末装置20は、仮想手HL又は仮想手HRが操作ボタンB11の被操作部C1へ接触した時間が閾値T以上となった場合、ユーザが視認している対象範囲における日照量の可視化情報を情報処理装置10へ要求する。端末装置20は、情報処理装置10から送られる可視化情報に基づいて、図6に示すように日照量のグラフGRをAR表示する。
 なお、端末装置20は、仮想手HL又は仮想手HRが被操作部C1に接触したと判定した場合、被操作部C1の高さを仮想手HL又は仮想手HRが被操作部C1に接触していない状態より低くして表示するのではなく、他の表示態様で表してもよい。
 図7は、仮想手HRの一部が操作ボタンB11内に位置しているときの操作ボタンB11の表示態様の一例を示す図である。端末装置20は、仮想手HL又は仮想手HRの位置と、操作ボタンB11の表示位置に基づいて、仮想手HL又は仮想手HRにおいて被操作部C1内に位置する領域を特定する。端末装置20は、特定した領域を図7に示すように被操作部C1外にある領域とは異なる色で表示してもよい。
<<3.情報処理システムの構成>>
 続いて、情報処理システム1の構成について説明する。
<3.1.情報処理装置の構成>
 図8は、情報処理装置10の機能構成を示すブロック図である。図8に示したように、情報処理装置10は、制御部100、通信部110、及び記憶部120を備える。
 通信部110は、外部装置と通信を行う機能を有する。例えば、通信部110は、外部装置との通信において、外部装置から受信する情報を制御部100へ供給する。具体的には、通信部110は、情報提供装置30から受信する情報や端末装置20から受信する情報を制御部100へ供給する。また、通信部110は、制御部100から供給される情報を外部装置へ送信する。具体的には、通信部110は、情報提供装置30から供給された情報に基づいて制御部100が生成した対象範囲に関する可視化情報を制御部100から取得し、取得した可視化情報を端末装置20へ送信する。また、通信部110は、端末装置20から供給されたセンサ情報に基づいて制御部100が生成した対象範囲を表す情報を制御部100から取得し、取得した情報を情報提供装置30へ送信する。
 記憶部120は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、情報処理装置10における処理に関する情報を記憶する機能を有する。記憶部120は、例えば、情報提供装置30から供給された対象範囲に関する情報を記憶する。
 制御部100は、情報処理装置10の動作を制御する処理を実行する。例えば、制御部100は、情報提供装置30から供給される情報に基づいて、端末装置20において対象範囲にAR表示する可視化情報を提供するための処理を行う。この処理を実行するために、制御部100は、図8に示すように、取得部101、処理部102、及び出力部103を有する。
 取得部101は、可視化情報を生成するための情報を取得する機能を有する。取得部101は、例えば、通信部110を介して、端末装置20から送信されるセンサ情報を取得する。例えば、取得部101は、センサ情報として、後述する加速度情報、方角情報、深度情報、角速度情報、地図情報、位置情報等の端末装置20の位置や対象範囲を特定するためのセンサ情報を取得する。また、取得部101は、情報提供装置30から送信された対象範囲に関する情報を、通信部110を介して取得する。例えば、取得部101は、対象範囲における日照量や土壌の水分量の情報を情報提供装置30から取得する。
 処理部102は、可視化情報を生成する機能を有する。処理部102は、図8に示すように、位置特定部1021及び生成部1022を有する。
 位置特定部1021は、対象範囲を特定する機能を有する。位置特定部1021は、端末装置20から取得したセンサ情報に基づいて、端末装置20の位置と、ユーザが向いている方角を特定する。位置特定部1021は、特定した位置と方角に基づいて、ユーザが圃場において端末装置20を介して視認し得る対象範囲を特定する。
 生成部1022は、位置特定部1021が特定した対象範囲における日照量や土壌の水分量の三次元グラフ、植生の複雑度を表すAR画像を生成する機能を有する。生成部1022は、位置特定部1021で特定された対象範囲に関する日照量や土壌の水分量、植生の複雑度の情報を、通信部110を介して情報提供装置30に要求する。生成部1022は、この要求に応じて情報提供装置30から提供された情報を記憶部120に記憶させる。生成部1022は、情報提供装置30から供給された対象範囲に関する日照量や土壌の水分量、植生の複雑度の情報に基づいて、対象範囲における日照量や土壌の水分量の三次元グラフ、植生の複雑度を表すAR画像を生成する。
 出力部103は、対象範囲を表す情報を出力する機能を有する。出力部103は、位置特定部1021で特定された対象範囲を表す情報を通信部110へ出力する。出力部103から通信部110へ出力された対象範囲を表す情報は、情報提供装置30へ送信される。また、出力部103は、可視化情報を出力する機能を有する。出力部103は、生成部1022で生成された可視化情報を通信部110へ出力する。出力部103から通信部110へ出力された可視化情報は、端末装置20へ送信される。
<3.2.端末装置の構成>
 図9は、端末装置20のハードウェア構成及び機能構成を示すブロック図である。端末装置20は、制御部200、記憶部210、映像出力部220、音声出力部230、外部通信部240、及びセンサ部250を有する。
 センサ部250は、頭部位置測定部251、手姿勢測定部252、及び音声取得部253を有する。
 頭部位置測定部251は、加速度センサ251a、方位センサ251b、深度センサ251c、ジャイロセンサ251d、SLAM251e、及びGPSモジュール251fを有する。加速度センサ251aは、例えば3軸の加速度センサである。加速度センサ251aは、測定した加速度を表す加速度情報を出力する。方位センサ251bは、地磁気を測定して端末装置20が向いている方角を検知するセンサである。方位センサ251bは、検知した方角を表す方角情報を出力する。深度センサ251cは、端末装置20から対象範囲に存在する人や物までの距離を測定するセンサである。深度センサ251cは、測定した距離を表す深度情報を出力する。ジャイロセンサ251dは、端末装置20の角速度を測定するセンサである。ジャイロセンサ251dは、測定した角速度を表す角速度情報を出力する。SLAM251eは、例えば、レーザスキャナを備えたLidar(Light Detection And Ranging) SLAM(Simultaneous Localization and Mapping)、又はカメラを備えたVisual SLAMである。SLAM251eは、対象範囲をセンシングし、対象範囲の環境地図を表す地図情報を出力する。GPSモジュール251fは、衛星測位システムで衛星から測定される電波を受信し、端末装置20の位置を測位する。GPSモジュール251fは、測位した位置を表す位置情報を出力する。
 手姿勢測定部252は、深度センサ252aと、赤外カメラ252bを有する。赤外カメラ252bは、赤外光を出力し、ユーザの手で反射された赤外光を受光してユーザの手を撮影する。深度センサ252aは、赤外カメラ252bで生成されるユーザの手の画像に基づいて、ユーザの手までの距離を測定する。手姿勢測定部252は、測定したユーザの手までの距離やユーザの手の画像を含む手姿勢情報を出力する。
 音声取得部253は、マイク253aを有する。マイク253aは、端末装置20の周囲の音を収音し、収音した音を表す音声情報を出力する。
 記憶部210は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子によって実現される。記憶部210は、端末装置20における処理に関する情報を記憶する機能を有する。記憶部120は、例えば、情報処理装置10から供給された可視化情報を記憶する。また、記憶部120は、端末装置20が実行するアプリケーションプログラムを記憶する。記憶部120に記憶されるアプリケーションプログラムは、例えば、AR表示によってユーザに圃場の日射量や土壌の水分量のグラフ、植生の複雑度等を視認させるプログラムである。
 制御部200は、記憶部210に記憶されたアプリケーションプログラムを実行することにより実現する。制御部200は、図9に示すように位置処理部201、手姿勢処理部202、補正部203、表示処理部204、表示制御部205、及び通信制御部206を有する。
 位置処理部201は、センサ部250から出力されるセンサ情報に基づいて、前述の頭部位置Pや身体の所定部位の一例である腰位置P2、端末装置20の傾きの角度θ等を特定する。手姿勢処理部202は、手姿勢測定部252から出力される手姿勢情報に基づいて、ユーザの手の位置や手の姿勢を特定する。補正部203は、頭部位置Pと角度θに基づいて、腰位置P2を補正する。表示処理部204は、操作ボタンB11~B13等のAR表示する画像を生成し、手姿勢処理部202が特定した位置及び姿勢に基づいて、仮想手HL及び仮想手HRの画像を生成する。また、表示処理部204は、情報処理装置10から提供される可視化情報に基づいて、例えばグラフGRのようにAR表示する画像を生成する。表示制御部205は、表示処理部204が生成した操作ボタンB11~B13等の画像が補正部203により補正された腰位置P2にAR表示されるように映像出力部220を制御する。また、表示制御部205は、仮想手HL及び仮想手HRの画像が、手姿勢処理部202が特定した手の位置にAR表示されるように、映像出力部220を制御する。また、表示制御部205は、表示処理部204において可視化情報に基づいて生成された画像が対称範囲にAR表示されるように映像出力部220を制御する。通信制御部206は、外部通信部240を制御して情報処理装置10への情報の送信と、情報処理装置10からの情報の受信を行う。
 映像出力部220は、制御部200から出力されてユーザに視認させるAR画像をハーフミラーに表示する。音声出力部230は、スピーカを備え、外部装置から供給される音声信号が表す音を出力する。外部通信部240は、外部装置と通信を行う機能を有する。例えば、外部通信部240は、外部装置との通信において、外部装置から受信する情報を制御部200へ供給する。具体的には、外部通信部240は、情報処理装置10から受信する可視化情報を制御部200へ供給する。また、外部通信部240は、外部装置との通信において、制御部200から供給される情報を外部装置へ送信する。具体的には、外部通信部240は、センサ部250から制御部200へ出力されたセンサ情報を情報処理装置10へ送信する。
<3.3.情報提供装置の構成>
 図10は、情報提供装置30のハードウェア構成を示すブロック図である。図10に示したように、情報提供装置30は、制御部300、記憶部310及び通信部320を備える。
 通信部320は、外部装置と通信を行う機能を有する。例えば、通信部320は、外部装置との通信において、外部装置から受信する情報を制御部300へ出力する。具体的には、通信部320は、情報処理装置10から受信する情報を制御部300へ出力する。例えば、通信部320は、情報処理装置10から送信された対象範囲を表す情報を制御部300へ出力する。また、通信部320は、制御部300から供給される対象範囲に関する情報を情報処理装置10へ送信する。
 制御部300は、情報提供装置30の動作を制御する機能を有する。例えば、制御部300は、対象範囲に関する各種情報を、通信部320を介して情報処理装置10へ送信する。例えば、制御部300は、記憶部310にアクセスして取得した対象範囲における日照量や土壌の水分量、植生の複雑度を情報処理装置10へ送信する。
 記憶部310は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部310は、情報提供装置30における処理に関するデータを記憶する機能を有する。記憶部310は、例えば圃場に設置されたセンサ群40から取得した日照量や土壌の水分量の情報、圃場の映像等を記憶する。
<3.4.情報処理システムの処理>
 次に情報処理システム1で行われる処理について説明する。図11は、端末装置20において操作ボタンB11~B13を表示するときに実行される処理の流れを示すフローチャートである。まず、端末装置20は、圃場に予め定められた位置を原点(0,0,0)として設定する(ステップS101)。次に端末装置20は、センサ部250から出力される情報に基づいて、ユーザが立位状態であるときの頭部位置P1の座標を特定する(ステップS102)。また、端末装置20は、センサ部250から出力される情報に基づいて、水平状態からの端末装置20の傾きの角度θと、立位状態からの端末装置20の鉛直方向への移動距離Δhを特定する(ステップS103)。
 端末装置20は、ステップS102で特定した座標に基づいて、頭部位置P1の高さが前述の閾値Hより高いか否かを判断する(ステップS104)。端末装置20は、頭部位置P1の高さが閾値Hより高い場合(ステップS104でYes)、ユーザの腰位置P2を頭部位置P1から腰までの距離αだけ下方の位置とする(ステップS105)。一方、端末装置20は、頭部位置P1の高さが閾値H以下である場合(ステップS104でNo)、ユーザの腰位置P2を頭部位置P1から距離βだけ下方の位置とする(ステップS106)。
 次に端末装置20は、ステップS103で特定した水平状態からの傾きの角度θが所定範囲内(-A≦θ≦A)であるか判断する(ステップS107)。端末装置20は、水平状態からの傾きの角度θが所定範囲内である場合(ステップS107でYes)、ステップS111へ処理の流れを移す。
 端末装置20は、水平状態からの傾きの角度θが所定範囲内ではない場合(ステップS107でNo)、端末装置20が水平面より下向きに傾いたか判断する(ステップS108)。端末装置20は、水平面より下向きに傾いた場合(ステップS108でYes)、腰位置P2の座標を上方且つ後方に補正する(ステップS109)。ここで端末装置20は、前述したように、補正後の腰位置P2の座標を前述の(1)~(3)の式で算出する。また、端末装置20は、水平面より上向きに傾いた場合(ステップS108でNo)、腰位置P2の座標を下方且つ前方に補正する(ステップS110)。ここで端末装置20は、前述したように、補正後の腰位置P2の座標を前述の(4)~(6)の式で算出する。端末装置20は、ステップS109又はステップS110の処理の後、ステップS111へ処理の流れを移す。
 端末装置20は、ステップS111で原点が移動したか判断する(ステップS111)。端末装置20は、原点が移動している場合(ステップS111でYes)、図11に示す処理を終了する。端末装置20は、原点が移動していない場合(ステップS111でNo)、操作ボタンB11~B13を腰位置P2に表示する(ステップS113)。ここで端末装置20は、ステップS107でYesと判断していた場合、ステップS105又はステップS106で設定した腰位置P2に基づいて操作ボタンB11~B13を表示する。また、端末装置20は、ステップS107でNoと判断していた場合、ステップS109又はステップS110で補正した腰位置P2に基づいて操作ボタンB11~B13を表示する。次に端末装置20は、センサ部250から出力される情報に基づいて頭部位置P1の座標を更新し(ステップS113)、処理の流れをステップS103へ戻す。
 図12は、操作ボタンB11~B13の表示態様を変える処理の流れを示すフローチャートである。まず、端末装置20は、操作ボタンB11~B13を表示する前に、仮想手と操作ボタンとの接触時間tを初期化する(ステップS201)。次に端末装置20は、操作ボタンB11~B13について、図11の処理で特定した腰位置P2に基づいて、被操作部C1を半球形状にして表示する(ステップS202)。
 端末装置20は、操作ボタンB11~B13を表示した後、仮想手HL又は仮想手HRが被操作部C1に接しているか判断する(ステップS203)。具体的には、端末装置20は、操作ボタンB11~B13の表示位置と、仮想手HL及び仮想手HRの位置に基づいて、仮想手HL又は仮想手HRが被操作部C1に接しているか判断する。端末装置20は、仮想手HL又は仮想手HRが被操作部C1に接していない場合(ステップS203でNo)、処理の流れをステップS201へ戻す。端末装置20は、仮想手HL又は仮想手HRが被操作部C1に接している場合(ステップS203でYes)、接触時間t=0であるか判断する(ステップS204)。端末装置20は、接触時間t=0である場合(ステップS204でYes)、接触時間tの計測を開始する(ステップS205)。端末装置20は、接触時間t=0ではない場合(ステップS204でNo)、接触時間tを更新する(ステップS206)。
 端末装置20は、ステップS205又はステップS206の後、計測している接触時間tが前述の閾値T未満であるか判断する(ステップS207)。端末装置20は、接触時間tが閾値T未満である場合(ステップS207でYes)、仮想手HL又は仮想手HRが接している被操作部C1の高さを、図5(b)に示すように半球形状から低くした接触状態の表示態様で表示する(ステップS208)。次に端末装置20は、図5(b)~(d)に示すように、接触時間tに応じてインジケータ部C2の色を変化させる(ステップS209)。そして端末装置20は、処理の流れをステップS203へ戻す。
 一方、端末装置20は、接触時間tが閾値以上である場合(ステップS207でNo)、図5(a)に示すように、被操作部C1を半球形状の非接触状態の表示態様で表示する(ステップS210)。次に端末装置20は、仮想手HL又は仮想手HRが接している操作ボタンに対応した処理を実行し(ステップS211)、処理を終了する。
 端末装置20は、例えば、仮想手HL又は仮想手HRの操作ボタンB11への接触時間tが閾値T以上である場合、センサ情報を情報処理装置10へ送信する。情報処理装置10は、端末装置20から送信されたセンサ情報に基づいて、ユーザの視認範囲を特定する。情報処理装置10は、特定した視認範囲を表す情報を情報提供装置30へ送信する。情報提供装置30は、情報処理装置10から送信された情報が表す視認範囲における日照量の情報を情報処理装置10へ送信する。情報処理装置10は、情報提供装置30から送信された情報に基づいて、対象範囲における日照量の三次元グラフを表すAR画像を生成し、この生成したAR画像の情報を可視化情報として端末装置20へ送信する。端末装置20は、情報処理装置10から送信された可視化情報を受信し、受信した可視化情報が表すAR画像のグラフGRを、例えば、図6に示すように表示する。
<3.5.処理のバリエーション>
 続いて、本実施形態の処理のバリエーションを説明する。なお、以下に説明する処理のバリエーションは、単独で本実施形態に適用されてもよいし、組み合わせで本実施形態に適用されてもよい。また、処理のバリエーションは、本実施形態で説明した構成に代えて適用されてもよいし、本実施形態で説明した構成に対して追加的に適用されてもよい。
 図13は、仮想手HR又は仮想手HLと被操作部C1との重なりに応じて図7に示すように操作ボタンB11~B13の表示態様を変える処理の流れを示すフローチャートである。まず、端末装置20は、手姿勢測定部252から出力される手姿勢情報に基づいて、仮想手HR又は仮想手HLの位置と姿勢を特定する(ステップS301)。
 次に端末装置20は、特定した仮想手HR又は仮想手HLの位置と姿勢と、操作ボタンB11~B13の表示位置に基づいて、仮想手HR又は仮想手HLの少なくとも一部が被操作部C1内に位置しているか判断する(ステップS302)。端末装置20は、仮想手HR又は仮想手HLの少なくとも一部が被操作部C1内に位置していない場合(ステップS302でNo)、例えば、図2に示すように仮想手HR及び仮想手HLを同一色で表示し(ステップS305)、処理を終了する。
 一方、端末装置20は、仮想手HR又は仮想手HLの一部が被操作部C1内に位置している場合(ステップS302でYes)、仮想手HR又は仮想手HLにおいて被操作部C1内に位置する領域を特定する(ステップS303)。そして端末装置20は、ステップS303で特定した領域の色を、例えば図7に示したように変更し(ステップS304)、処理の流れをステップS301へ戻す。
 本発明においては、操作ボタンB11~B13の表示位置を、ユーザの腕の長さに応じて補正してもよい。本発明においては、操作ボタンB11~B13の表示位置を、ユーザの動作の状態に応じて補正してもよい。本発明においては、加速度センサ251a及びジャイロセンサ251dで特定したユーザの姿勢の軌跡からユーザの姿勢状態を推定し、推定した姿勢状態に応じて腰位置P2を補正してもよい。本発明においては、センサ部250で物体を検知し、検知した物体の位置が操作ボタンB11~B13の表示位置と重なる場合、検知した物体に重ならないように操作ボタンB11~B13の表示位置を補正してもよい。本発明においては、音声取得部253で取得した音声を認識し、認識した音声が操作ボタンB11~B13の表示を指示する音声である場合、仮想手HL又は仮想手HRの位置に操作ボタンB11~B13を表示してもよい。本発明においては、表示された操作ボタンを操作可能であるか否かを被操作部C1の色や透明度で表してもよい。本発明においては、ユーザの視線の方向を検知し、ユーザの視線の方向が一定時間以上、操作ボタンB11~B13の方向である場合、ユーザの視線の方向にある操作ボタンに対応した機能の処理を実行してもよい。本発明においては、接触時間の経過を振動や音でユーザに知らせるようにしてもよい。本発明においては、前述の閾値Hや閾値Tをユーザ毎に定めた値としてもよい。本発明においては、表示された被操作部C1より広い範囲で仮想手HL及び仮想手HRの接触の判定を行ってもよい。本発明においては、端末装置20は、ユーザの腰の周囲に操作ボタンB11~B13を表示しているが、操作ボタンB11~B13が表示される位置は腰の位置に限定されるものではなく、例えば、ユーザの胸の周囲であってもよい。上述した実施形態は、協生農法に対応したAR表示を行う構成であるが、情報処理システム1で表示されるAR表示は、協生農法に対応したものに限定されるものではなく、例えば、工場内での作業や建築現場での作業に対応したAR表示を行うものであってもよい。
<<4.ハードウェア構成例>>
 次に、図14を参照しながら、実施形態に係る情報処理装置のハードウェア構成例について説明する。図14は、実施形態に係る情報処理装置の機能を実現するコンピュータの一例のハードウェア構成例を示すブロック図である。なお、図14に示す情報処理装置900は、例えば、図1に示した情報処理装置10、端末装置20、及び情報提供装置30を実現し得る。実施形態に係る情報処理装置10、端末装置20、及び情報提供装置30による情報処理は、ソフトウェアと、以下に説明するハードウェアとの協働により実現される。
 図14に示すように、情報処理装置900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、及びRAM(Random Access Memory)903を備える。また、情報処理装置900は、ホストバス904a、ブリッジ904、外部バス904b、インターフェース905、入力装置906、出力装置907、ストレージ装置908、ドライブ909、接続ポート910、及び通信装置911を備える。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ハードウェア構成は、ここで示される構成要素以外の構成要素をさらに含んでもよい。
 CPU901は、例えば、演算処理装置又は制御装置として機能し、ROM902、RAM903、又はストレージ装置908に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM902は、CPU901に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM903には、例えば、CPU901に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。これらはCPUバスなどから構成されるホストバス904aにより相互に接続されている。CPU901、ROM902およびRAM903は、例えば、ソフトウェアとの協働により、図8~10を参照して説明した制御部100、制御部200、及び制御部300の機能を実現し得る。
 CPU901、ROM902、及びRAM903は、例えば、高速なデータ伝送が可能なホストバス904aを介して相互に接続される。一方、ホストバス904aは、例えば、ブリッジ904を介して比較的データ伝送速度が低速な外部バス904bに接続される。また、外部バス904bは、インターフェース905を介して種々の構成要素と接続される。
 入力装置906は、例えば、マウス、キーボード、タッチパネル、ボタン、マイクロホン、スイッチ及びレバー等、情報が入力される装置によって実現される。また、入力装置906は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置900の操作に対応した携帯電話やPDA等の外部接続機器であってもよい。さらに、入力装置906は、例えば、上記の入力手段を用いて入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などを含んでいてもよい。情報処理装置900のユーザは、この入力装置906を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
 他にも、入力装置906は、ユーザの位置を検知する装置により形成され得る。例えば、入力装置906は、画像センサ(例えば、カメラ)、深度センサ(例えば、ステレオカメラ)、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサ、測距センサ(例えば、ToF(Time of Flight)センサ)、力センサ等の各種のセンサを含み得る。また、入力装置906は、情報処理装置900の姿勢、移動速度等、情報処理装置900自身の状態に関する情報や、情報処理装置900の周辺の明るさや騒音等、情報処理装置900の周辺空間に関する情報を取得してもよい。また、入力装置906は、GNSS(Global Navigation Satellite System)衛星からのGNSS信号(例えば、GPS(Global Positioning System)衛星からのGPS信号)を受信して装置の緯度、経度及び高度を含む位置情報を測定するGNSSモジュールを含んでもよい。また、位置情報に関しては、入力装置906は、Wi-Fi(登録商標)、携帯電話・PHS・スマートホン等との送受信、または近距離通信等により位置を検知するものであってもよい。入力装置906は、例えば、図9を参照して説明したセンサ部250の機能を実現し得る。
 出力装置907は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で形成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置、レーザープロジェクタ、LEDプロジェクタ及びランプ等の表示装置や、スピーカ及びヘッドホン等の音響出力装置や、プリンタ装置等がある。出力装置907は、例えば、情報処理装置900が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置900が行った各種処理により得られた結果を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。出力装置907は、例えば、図9を参照して説明した映像出力部220や音声出力部230の機能を実現し得る。
 ストレージ装置908は、情報処理装置900の記憶部の一例として形成されたデータ格納用の装置である。ストレージ装置908は、例えば、HDD等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により実現される。ストレージ装置908は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置908は、CPU901が実行するプログラムや各種データ及び外部から取得した各種のデータ等を格納する。ストレージ装置908は、例えば、図8~10を参照して説明した記憶部120、記憶部210、記憶部310の機能を実現し得る。
 ドライブ909は、記憶媒体用リーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ909は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体に記録されている情報を読み出して、RAM903に出力する。また、ドライブ909は、リムーバブル記憶媒体に情報を書き込むこともできる。
 接続ポート910は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS-232Cポート、又は光オーディオ端子等のような外部接続機器を接続するためのポートである。
 通信装置911は、例えば、通信ネットワーク920に接続するための通信デバイス等で形成された通信インターフェースである。通信装置911は、例えば、有線若しくは無線LAN(Local Area Network)、LTE(Long Term Evolution)、Bluetooth(登録商標)又はWUSB(Wireless USB)用の通信カード等である。また、通信装置911は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ又は各種通信用のモデム等であってもよい。この通信装置911は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。通信装置911は、例えば、図8~10を参照して説明した通信部110、外部通信部240、及び通信部320の機能を実現し得る。
 なお、通信ネットワーク920は、通信ネットワーク920に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、通信ネットワーク920は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、通信ネットワーク920は、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網を含んでもよい。
 以上、実施形態に係る情報処理装置900の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて実現されていてもよいし、各構成要素の機能に特化したハードウェアにより実現されていてもよい。従って、実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
<<5.まとめ>>
 以上説明したように、実施形態に係る端末装置20は、AR表示されるGUIの表示位置を端末装置20の鉛直方向の位置と、端末装置20の傾きに基づいて補正する処理を行う。これにより、操作ボタンB11~B13は、常にユーザの腰の位置の周辺に表示されるため、ユーザが位置や姿勢を変えても操作ボタンB11~B13を直ぐに見つけることができ、ユーザビリティの向上を促進することができる。また、本実施形態では、ユーザの身体位置を基準に腰位置が算出されるため、常に同じ腰位置で操作ボタンB11~B13の操作を行うことができる。また、本実施形態では、常にユーザの腰を基準に操作ボタンB11~B13が表示されているため、ユーザは、操作に慣れてくると操作ボタンB11~B13と自身の身体の位置関係を学習できる。そのため、操作ボタンB11~B13を視野の中心に入れなくても、身体の動作感覚により操作ボタンB11~B13を操作することが可能となり、作業しながら片手で操作することも可能となる。
 また、本実施形態では、操作に応じて被操作部C1やインジケータ部C2の表示態様が変わるため、ユーザが表示態様に変化に気づくことができ、他の作業をしながらでも操作ボタンB11~B13の操作を行うことができる。また、図7に示す表示態様によれば、ユーザの手が被操作部C1に接しているようにユーザに認識させることができるため、ユーザは被操作部C1に接していることを容易に認識することができる。
 なお、本技術は、以下のような構成も取ることができる。
(1)
 ユーザの頭部位置を推定し、推定した頭部位置に基づいてユーザの身体の所定部位の位置を推定する位置処理部と、
 前記位置処理部が推定した前記所定部位の位置を、前記頭部位置と前記ユーザの頭部の傾きの角度に基づいて補正する補正部と、
 前記補正部により補正された位置に基づいて、前記ユーザにより操作される画像を前記ユーザにより視認される空間に重ねて表示する処理を行う表示制御部と、
 を備える情報処理装置。
(2)
 前記補正部は、前記所定部位の鉛直方向の位置を、基準高さに基づいて補正する
 前記(1)に記載の情報処理装置。
(3)
 前記補正部は、水平状態からの前記頭部の傾きの角度が所定範囲外である場合、前記所定部位の位置を前記ユーザの前後方向に補正する
 前記(1)又は(2)に記載の情報処理装置。
(4)
 前記補正部は、水平状態から前記頭部が下向きに傾いた場合、前記所定部位の位置を前記ユーザの後方向に補正する
 前記(3)に記載の情報処理装置。
(5)
 前記補正部は、水平状態から前記頭部が上向きに傾いた場合、前記所定部位の位置を前記ユーザの前方向に補正する
 前記(3)又は(4)に記載の情報処理装置。
(6)
 前記ユーザにより前記画像が操作された場合、前記画像の表示態様を変更する表示処理部を更に備える
 前記(1)に記載の情報処理装置。
(7)
 前記表示処理部は、前記ユーザが前記画像に対する操作を開始してからの経過時間に応じて前記画像の表示態様を変更する
 前記(6)に記載の情報処理装置。
(8)
 前記位置処理部は、前記ユーザの手の位置を推定し、
 前記表示制御部は、前記位置処理部が推定した位置に基づいて、前記ユーザの手の画像を前記ユーザにより視認される空間に重ねて表示し、
 前記表示処理部は、前記手の画像の表示態様を前記ユーザにより操作される画像との重なりに応じて変更する
 前記(6)又は(7)に記載の情報処理装置。
(9)
 ユーザの頭部位置を推定し、推定した頭部位置に基づいてユーザの身体の所定部位の位置を推定する位置処理ステップと、
 前記位置処理ステップで推定した前記所定部位の位置を、前記頭部位置と前記ユーザの頭部の傾きの角度に基づいて補正する補正ステップと、
 前記補正ステップで補正された位置に基づいて、前記ユーザにより操作される画像を前記ユーザにより視認される空間に重ねて表示する処理を行う表示制御ステップと、
 を備える情報処理方法。
(10)
 コンピュータに、
 ユーザの頭部位置を推定し、推定した頭部位置に基づいてユーザの身体の所定部位の位置を推定する位置処理ステップと、
 前記位置処理ステップで推定した前記所定部位の位置を、前記頭部位置と前記ユーザの頭部の傾きの角度に基づいて補正する補正ステップと、
 前記補正ステップで補正された位置に基づいて、前記ユーザにより操作される画像を前記ユーザにより視認される空間に重ねて表示する処理を行う表示制御ステップと、
 を実行させるプログラム。
 1 情報処理システム
 10 情報処理装置
 20 端末装置
 30 情報提供装置
 40 センサ群
 100 制御部
 101 取得部
 102 処理部
 1021 位置特定部
 1022 生成部
 103 出力部
 110 通信部
 120 記憶部
 200 制御部
 201 位置処理部
 202 手姿勢処理部
 203 補正部
 204 表示処理部
 205 表示制御部
 206 通信制御部
 210 記憶部
 220 映像出力部
 230 音声出力部
 240 外部通信部
 250 センサ部
 251 頭部位置測定部
 251a 加速度センサ
 251b 方位センサ
 251c 深度センサ
 251d ジャイロセンサ
 251e SLAM
 251f GPSモジュール
 252 手姿勢測定部
 252a 深度センサ
 252b 赤外カメラ
 253 音声取得部
 253a マイク
 300 制御部
 310 記憶部
 320 通信部
 B11~B13 操作ボタン
 C1 被操作部
 C2 インジケータ部
 C3 機能表示部

Claims (10)

  1.  ユーザの頭部位置を推定し、推定した頭部位置に基づいてユーザの身体の所定部位の位置を推定する位置処理部と、
     前記位置処理部が推定した前記所定部位の位置を、前記頭部位置と前記ユーザの頭部の傾きの角度に基づいて補正する補正部と、
     前記補正部により補正された位置に基づいて、前記ユーザにより操作される画像を前記ユーザにより視認される空間に重ねて表示する処理を行う表示制御部と、
     を備える情報処理装置。
  2.  前記補正部は、前記所定部位の鉛直方向の位置を、基準高さに基づいて補正する
     請求項1に記載の情報処理装置。
  3.  前記補正部は、水平状態からの前記頭部の傾きの角度が所定範囲外である場合、前記所定部位の位置を前記ユーザの前後方向に補正する
     請求項1に記載の情報処理装置。
  4.  前記補正部は、水平状態から前記頭部が下向きに傾いた場合、前記所定部位の位置を前記ユーザの後方向に補正する
     請求項3に記載の情報処理装置。
  5.  前記補正部は、水平状態から前記頭部が上向きに傾いた場合、前記所定部位の位置を前記ユーザの前方向に補正する
     請求項3に記載の情報処理装置。
  6.  前記ユーザにより前記画像が操作された場合、前記画像の表示態様を変更する表示処理部を更に備える
     請求項1に記載の情報処理装置。
  7.  前記表示処理部は、前記ユーザが前記画像に対する操作を開始してからの経過時間に応じて前記画像の表示態様を変更する
     請求項6に記載の情報処理装置。
  8.  前記位置処理部は、前記ユーザの手の位置を推定し、
     前記表示制御部は、前記位置処理部が推定した位置に基づいて、前記ユーザの手の画像を前記ユーザにより視認される空間に重ねて表示し、
     前記表示処理部は、前記手の画像の表示態様を前記ユーザにより操作される画像との重なりに応じて変更する
     請求項6に記載の情報処理装置。
  9.  ユーザの頭部位置を推定し、推定した頭部位置に基づいてユーザの身体の所定部位の位置を推定する位置処理ステップと、
     前記位置処理ステップで推定した前記所定部位の位置を、前記頭部位置と前記ユーザの頭部の傾きの角度に基づいて補正する補正ステップと、
     前記補正ステップで補正された位置に基づいて、前記ユーザにより操作される画像を前記ユーザにより視認される空間に重ねて表示する処理を行う表示制御ステップと、
     を備える情報処理方法。
  10.  コンピュータに、
     ユーザの頭部位置を推定し、推定した頭部位置に基づいてユーザの身体の所定部位の位置を推定する位置処理ステップと、
     前記位置処理ステップで推定した前記所定部位の位置を、前記頭部位置と前記ユーザの頭部の傾きの角度に基づいて補正する補正ステップと、
     前記補正ステップで補正された位置に基づいて、前記ユーザにより操作される画像を前記ユーザにより視認される空間に重ねて表示する処理を行う表示制御ステップと、
     を実行させるプログラム。
PCT/JP2022/003202 2021-06-29 2022-01-28 情報処理装置、情報処理方法およびプログラム WO2023276216A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202280044639.2A CN117561490A (zh) 2021-06-29 2022-01-28 信息处理装置、信息处理方法和程序
JP2023531358A JPWO2023276216A1 (ja) 2021-06-29 2022-01-28
US18/568,110 US20240212293A1 (en) 2021-06-29 2022-01-28 Information processing apparatus, information processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021108086 2021-06-29
JP2021-108086 2021-06-29

Publications (1)

Publication Number Publication Date
WO2023276216A1 true WO2023276216A1 (ja) 2023-01-05

Family

ID=84691102

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/003202 WO2023276216A1 (ja) 2021-06-29 2022-01-28 情報処理装置、情報処理方法およびプログラム

Country Status (4)

Country Link
US (1) US20240212293A1 (ja)
JP (1) JPWO2023276216A1 (ja)
CN (1) CN117561490A (ja)
WO (1) WO2023276216A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010534895A (ja) * 2007-07-27 2010-11-11 ジェスチャー テック,インコーポレイテッド 高度なカメラをベースとした入力
US20170140552A1 (en) * 2014-06-25 2017-05-18 Korea Advanced Institute Of Science And Technology Apparatus and method for estimating hand position utilizing head mounted color depth camera, and bare hand interaction system using same
JP2017182216A (ja) * 2016-03-28 2017-10-05 株式会社バンダイナムコエンターテインメント シミュレーション制御装置及びシミュレーション制御プログラム
JP2018205913A (ja) * 2017-05-31 2018-12-27 株式会社コロプラ 仮想空間を提供するためにコンピュータで実行される方法、プログラム、および、情報処理装置
WO2019038875A1 (ja) * 2017-08-24 2019-02-28 マクセル株式会社 ヘッドマウントディスプレイ
JP2020003898A (ja) * 2018-06-26 2020-01-09 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP2020107123A (ja) * 2018-12-27 2020-07-09 株式会社コロプラ プログラム、情報処理装置、および方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010534895A (ja) * 2007-07-27 2010-11-11 ジェスチャー テック,インコーポレイテッド 高度なカメラをベースとした入力
US20170140552A1 (en) * 2014-06-25 2017-05-18 Korea Advanced Institute Of Science And Technology Apparatus and method for estimating hand position utilizing head mounted color depth camera, and bare hand interaction system using same
JP2017182216A (ja) * 2016-03-28 2017-10-05 株式会社バンダイナムコエンターテインメント シミュレーション制御装置及びシミュレーション制御プログラム
JP2018205913A (ja) * 2017-05-31 2018-12-27 株式会社コロプラ 仮想空間を提供するためにコンピュータで実行される方法、プログラム、および、情報処理装置
WO2019038875A1 (ja) * 2017-08-24 2019-02-28 マクセル株式会社 ヘッドマウントディスプレイ
JP2020003898A (ja) * 2018-06-26 2020-01-09 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP2020107123A (ja) * 2018-12-27 2020-07-09 株式会社コロプラ プログラム、情報処理装置、および方法

Also Published As

Publication number Publication date
US20240212293A1 (en) 2024-06-27
JPWO2023276216A1 (ja) 2023-01-05
CN117561490A (zh) 2024-02-13

Similar Documents

Publication Publication Date Title
US11847747B2 (en) Displaying a virtual image of a building information model
JP7268692B2 (ja) 情報処理装置、制御方法及びプログラム
CN110536665B (zh) 使用虚拟回声定位来仿真空间感知
WO2020241189A1 (ja) 情報処理装置、情報処理方法、及びプログラム
US11443540B2 (en) Information processing apparatus and information processing method
WO2015048890A1 (en) System and method for augmented reality and virtual reality applications
WO2020110659A1 (ja) 情報処理装置、情報処理方法、およびプログラム
KR20200116459A (ko) 증강 현실을 위한 시스템들 및 방법들
US20230148185A1 (en) Information processing apparatus, information processing method, and recording medium
JPWO2018051592A1 (ja) 情報処理装置、情報処理方法およびプログラム
WO2023276216A1 (ja) 情報処理装置、情報処理方法およびプログラム
CN115904188B (zh) 户型图的编辑方法、装置、电子设备及存储介质
US20230177781A1 (en) Information processing apparatus, information processing method, and information processing program
US11240482B2 (en) Information processing device, information processing method, and computer program
CN112154389A (zh) 终端设备及其数据处理方法、无人机及其控制方法
Cai et al. Heads-up lidar imaging with sensor fusion
WO2018074054A1 (ja) 表示制御装置、表示制御方法及びプログラム
US20230245397A1 (en) Information processing method, program, and system
WO2023276215A1 (ja) 情報処理装置、情報処理方法及びプログラム
WO2020235539A1 (ja) オブジェクトの位置及び姿勢を特定する方法及び装置
JP2023062983A (ja) 仮想鉄塔表示システム
JP2022142517A (ja) 画像表示制御装置、画像表示制御システム及び画像表示制御方法
CN115761046A (zh) 房屋信息的编辑方法、装置、电子设备及存储介质
WO2020185115A1 (ru) Способ и система сбора информации для устройства совмещенной реальности в режиме реального времени

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22832384

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023531358

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 18568110

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202280044639.2

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22832384

Country of ref document: EP

Kind code of ref document: A1