WO2015025874A1 - カーソル位置制御装置、カーソル位置制御方法、プログラム及び情報記憶媒体 - Google Patents

カーソル位置制御装置、カーソル位置制御方法、プログラム及び情報記憶媒体 Download PDF

Info

Publication number
WO2015025874A1
WO2015025874A1 PCT/JP2014/071742 JP2014071742W WO2015025874A1 WO 2015025874 A1 WO2015025874 A1 WO 2015025874A1 JP 2014071742 W JP2014071742 W JP 2014071742W WO 2015025874 A1 WO2015025874 A1 WO 2015025874A1
Authority
WO
WIPO (PCT)
Prior art keywords
component
cursor
magnitude
operation amount
movement amount
Prior art date
Application number
PCT/JP2014/071742
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 CN201480044637.9A priority Critical patent/CN105453012B/zh
Priority to EP14837792.2A priority patent/EP3037941B1/en
Priority to US14/908,622 priority patent/US10216288B2/en
Priority to JP2015532875A priority patent/JP6049885B2/ja
Publication of WO2015025874A1 publication Critical patent/WO2015025874A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • 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/0338Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of limited linear or angular displacement of an operating part of the device from a neutral position, e.g. isotonic or isometric joysticks
    • 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/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03543Mice or pucks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/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

Definitions

  • the present invention relates to a cursor position control device, a cursor position control method, a program, and an information storage medium.
  • a controller that outputs, as an operation signal, operation amount data associated with an operation amount vector indicating an operated direction and a size.
  • a controller for example, a controller that outputs an operation signal associated with the amount of rotation detected by the gyro sensor or the amount of tilt of the analog controller can be mentioned.
  • the direction and the size which the amount vector of operations represents, and the direction and the size to which an object moves are matched.
  • the larger the amount of rotation of the controller the larger the object moves.
  • the arrangement intervals of options such as an image of keys on the on-screen keyboard may be different in different directions such as, for example, the vertical direction and the horizontal direction.
  • a controller that outputs operation amount data associated with an operation amount vector. That is, the sensitivity of the controller, that is, the ratio of the magnitude of the movement amount of the cursor to the magnitude of the manipulation amount is the same regardless of the direction. Therefore, when the related art is used for the operation of moving the cursor to the image of the target key, the cursor is placed on the image of the target key in the direction in which the arrangement interval of options is short rather than the direction in which the arrangement interval of options is long. It becomes difficult to perform the operation of moving the
  • the present invention has been made in view of the above problems, and one of the objects is to set a cursor to a target position with a controller that outputs operation amount data associated with an operation amount vector representing an operated direction and magnitude. It is an object of the present invention to provide a cursor position control device, a cursor position control method, a program, and an information storage medium capable of improving the operability when performing an operation of moving to the next position.
  • a plurality of option groups respectively including a plurality of options arranged along the first arrangement direction are represented, and the plurality of option groups are the above
  • a cursor position control device for controlling the position of a cursor in an image arranged along a second arrangement direction different from the first arrangement direction which is an operation amount vector representing an operated direction and a size
  • a magnitude of a first manipulation amount component that is a component of the manipulation amount vector for a first manipulation direction based on the manipulation amount data acquisition unit that acquires manipulation amount data to be associated, and the manipulation amount data
  • An operation amount component specifying unit that specifies a size of a second operation amount component that is a component of the operation amount vector in a second operation direction different from the first operation direction; and the first operation amount component Based on the size, the magnitude of a first movement amount component which is a component of the movement amount vector representing the movement amount of the cursor in the first arrangement direction is determined, and the magnitude of the second operation amount component is determined.
  • a moving amount component determining unit that determines the size of a second moving amount component that is a component of the moving amount vector in the second arrangement direction, the position of the cursor from the current position of the cursor; And a cursor position change unit for changing the position in the first arrangement direction to a position separated by the size of the second movement amount component in the second arrangement direction by the size of the first movement amount component,
  • the arrangement interval of the option group along the second arrangement direction is shorter than the arrangement interval of the option along the first arrangement direction, and the second movement amount component with respect to the magnitude of the second operation amount component
  • the size of Rate is, the smaller than the size ratio of the first amount of movement component to the magnitude of the first manipulated variable component, and wherein the.
  • a plurality of option groups respectively including a plurality of options arranged along the first arrangement direction is represented, and the plurality of option groups are the first arrangement direction and Is a cursor position control method for controlling the position of a cursor in an image arranged along a different second arrangement direction, which is operation amount data associated with an operation amount vector representing the operated direction and size And a magnitude of a first operation amount component which is a component of the operation amount vector with respect to the first operation direction based on the operation amount data acquiring step of acquiring the first operation direction and the first operation direction An operation amount component specifying step of specifying a size of a second operation amount component which is a component of the operation amount vector with respect to different second operation directions; and a size of the first operation amount component Based on the magnitude of the first movement amount component which is a component of the movement amount vector representing the movement amount of the cursor in the first arrangement direction, the magnitude of the first movement amount component is determined.
  • the arrangement interval of the option group along the arrangement direction of the option is shorter than the arrangement interval of the option along the first arrangement direction, and the magnitude of the second movement amount component with respect to the magnitude of the second operation amount component Ratio of the smaller than the size ratio of the first amount of movement component to the magnitude of the first manipulated variable component, and wherein the.
  • a plurality of option groups respectively including a plurality of options arranged along the first arrangement direction is represented, and the plurality of option groups are different from the first arrangement direction.
  • a program that is executed by a computer that controls the position of a cursor in an image arranged along the arrangement direction of 2, and acquires operation amount data associated with an operation amount vector representing the operated direction and size Procedure, based on the operation amount data, the second operation direction which is different from the first operation direction and the magnitude of the first operation amount component which is the component of the operation amount vector in the first operation direction Representing the movement amount of the cursor based on the size of the first operation amount component, and a procedure of specifying the second operation amount component that is a component of the operation amount vector of The magnitude of a first movement amount component, which is a component of the movement amount vector in the first arrangement direction, is determined, and the second arrangement direction of the movement amount vector is determined based on the magnitude of the second operation amount component.
  • a procedure for determining the magnitude of the second movement amount component which is a component of the position of the cursor from the current position of the cursor by the magnitude of the first movement amount component in the first arrangement direction; And (2) causing the computer to execute a procedure of changing the position of the second movement amount component to a position away from the second movement amount component, and the arrangement interval of the option group along the second arrangement direction is the first
  • the ratio of the magnitude of the second movement amount component to the magnitude of the second operation amount component is shorter than the arrangement interval of the option along the arrangement direction of the second operation amount component relative to the magnitude of the first operation amount component 1 move Less than the ratio of the magnitude of the component, characterized in that.
  • a plurality of option groups respectively including a plurality of options arranged along the first arrangement direction are represented, and the plurality of option groups are the first arrangement direction
  • a computer readable information storage medium storing a program to be executed by a computer that controls the position of a cursor in an image arranged along a different second arrangement direction, the computer readable information storage medium representing the operated direction and size.
  • the magnitude of the first movement amount component which is a component of the movement amount vector representing the movement amount of the cursor in the first arrangement direction is determined based on the size of the portion, and the size of the second operation amount component
  • the computer is made to execute a procedure of changing the position by the size of the first movement amount component to a position separated by the size of the second movement amount component by the size of the first movement amount component;
  • the ratio of the size of the movement amount of the cursor to the size of the operation amount in the direction in which the option arrangement interval is short is smaller than the ratio in the long direction.
  • the first arrangement direction is a horizontal direction in a display unit on which the image is displayed
  • the second arrangement direction is a vertical direction in the display unit.
  • the position of the cursor in the image is limited to a region that occupies a part of the image.
  • the option may be disposed at the end of the area.
  • the operation amount data acquisition unit acquires the operation amount data associated with the rotation amount vector detected by the gyro sensor, and the operation amount component identification unit generates the operation amount data.
  • the operation amount component identification unit On the basis of the magnitude of the first rotation amount component which is the component of the operation amount vector in the first rotation direction, and the component of the operation amount vector in the second rotation direction different from the first rotation direction.
  • the magnitude of the second rotation amount component is specified, and the movement amount component determination unit determines the magnitude of the first movement amount component based on the magnitude of the first rotation amount component, and The magnitude of the second movement amount component is determined based on the magnitude of the two rotation amount component.
  • the number of options arranged along the second arrangement direction is smaller than the number of options arranged along the first arrangement direction.
  • FIG. 1 is a diagram showing an example of the entire configuration of an information processing system 10 according to an embodiment of the present invention.
  • an information processing system 10 according to the present embodiment includes an information processing device 12, a controller 14, and a display 16.
  • the information processing apparatus 12 is, for example, a computer such as a game device or a personal computer, and includes, for example, a control unit 20, a storage unit 22, and a communication unit 24, as shown in FIG.
  • the control unit 20 is, for example, a program control device such as a CPU that operates according to a program installed in the information processing apparatus 12.
  • the storage unit 22 is, for example, a storage element such as a ROM or a RAM, a hard disk drive, or the like.
  • the storage unit 22 stores programs executed by the control unit 20 and the like.
  • the communication unit 24 is, for example, a communication interface such as a network board or a wireless LAN module.
  • the controller 14 is an operation input device for performing an operation input to the information processing device 12.
  • FIG. 3 is a view showing an example of the appearance of the controller 14 according to the present embodiment.
  • four directional keys DK1 to DK4, four buttons B1 to B4, and two analog controllers AC1 and AC2 are disposed on the top surface of the controller 14.
  • the controller 14 also includes other operation members.
  • the controller 14 according to the present embodiment includes sensors such as a gyro sensor that detects an angular velocity and an acceleration sensor that detects an acceleration.
  • the controller 14 which concerns on this embodiment may be equipped with the electronic compass (geomagnetic sensor) which detects an azimuth
  • the controller 14 includes a network board, a wireless LAN module, and the like, and can communicate with the information processing apparatus 12 in a wired or wireless manner.
  • the Y1 direction and the Y2 direction shown in FIG. 3 are respectively forward and backward.
  • the X1 direction and the X2 direction are assumed to be the right direction and the left direction, respectively.
  • the Z1 direction and the Z2 direction are assumed to be upward and downward, respectively.
  • the display 16 is a liquid crystal display, an organic EL display, or the like.
  • the information processing device 12 and the display 16 are connected by a cable such as a high-definition multimedia interface (HDMI (registered trademark)) cable or a universal serial bus (USB) cable.
  • HDMI high-definition multimedia interface
  • USB universal serial bus
  • FIG. 4 is a view showing an example of an image displayed on the display 16 in the present embodiment.
  • the image is referred to as a whole image 30.
  • the area occupying a part of the entire image 30 is set as the on-screen keyboard area 32 in which the image of the on-screen keyboard is arranged.
  • the on-screen keyboard area 32 includes a character string arrangement area 32a, a prediction candidate arrangement area 32b, and a key arrangement area 32c.
  • character strings are arranged in the character string arrangement area 32a.
  • the prediction candidate arrangement area 32b in the present embodiment, a list of one or more prediction candidates specified based on the character string arranged in the character string arrangement area 32a is arranged side by side.
  • the key arrangement area 32c images of a plurality of options, for example, a plurality of keys K in the present embodiment, are arranged.
  • the keys K are arranged in a matrix in the key arrangement area 32c. That is, in the key arrangement area 32c, a plurality of key groups respectively including a plurality of keys K arranged along the horizontal direction are arranged across a plurality of lines in the vertical direction. Specifically, for example, ten keys K are arranged in the horizontal direction from the top row to the fourth row. In the lower row, six keys K are arranged in the lateral direction, and in the lowermost row, eight keys K are arranged in the lateral direction.
  • the arrangement interval of the keys K along the vertical direction is shorter than the arrangement interval of the keys K along the horizontal direction. Also, the number of keys K arranged along the vertical direction is smaller than the number of keys K arranged along the horizontal direction.
  • a cursor C is also arranged.
  • the cursor C according to the present embodiment is a circular figure.
  • the user can move the cursor C by operating the controller 14.
  • the position of the cursor C changes in accordance with the change in the attitude of the controller 14 detected by the gyro sensor included in the controller 14, that is, the amount of rotation of the controller 14.
  • the cursor C moves upward when the user performs a counterclockwise rotation operation on the controller 14 when viewed along the X2 direction with the X1-X2 direction as the axis.
  • the cursor C moves downward.
  • any one of the plurality of keys K is determined as the key K in the selected state. Then, the key K in the selected state is highlighted. In FIG. 4, it is expressed that the key K is highlighted by a rectangle surrounding the key K to be highlighted. Then, in the on-screen keyboard shown in FIG. 4, the key K corresponding to the character “f” is in a selected state.
  • FIG. 5 shows the entire image 30 when the cursor C is moved to the upper left from the state where the entire image 30 shown in FIG. 4 is displayed, and then the determination operation is performed.
  • the key K corresponding to the character "e” is in a selected state, and the character "e” is added to the character string arranged in the character string arrangement area 32a.
  • the character string placed in the character string placement area 32a is input to the information processing apparatus 12 Treated as a string. Then, processing according to the character string is performed.
  • the selection is made when the position of the center of gravity G of the cursor C moves in the determination area DA that occupies a part of the key K.
  • the state key K is updated to the key K.
  • the position of the key K and the position of the center of gravity coincide with each other.
  • the height and the width of the determination area DA are respectively a predetermined multiple of the height and the width of the key K, for example, 7/8.
  • an operation of moving the cursor C to the character string arrangement area 32a or the prediction candidate arrangement area 32b can be performed. Then, an operation of specifying the range of characters arranged in the character string arrangement area 32a, an operation of canceling the specified range, and an operation of selecting a prediction candidate arranged in the prediction candidate arrangement area 32b can be performed. ing.
  • the circular cursor C is erased from the entire image 30, and the character additional position arranged in the character string arrangement area 32a
  • a vertical bar-like cursor (caret) may be displayed to blink. At this time, the color of the caret may be changed in addition to or instead of causing the caret to blink.
  • the user can recognize that the operation in the character string arrangement area 32a is possible.
  • the circular cursor C is arranged again in the entire image 30. You may
  • FIG. 7 shows an example of a detection result space 34, which is a virtual three-dimensional space in which the relationship between the attitude of the controller 14 and parameters representing the attitude is represented.
  • the front direction is the X-axis positive direction
  • the upper direction is the Y-axis positive direction
  • the right direction is the Z-axis positive direction.
  • the Z-axis positive direction is referred to as a reference direction.
  • the attitude with respect to the reference direction is specified based on the rotation information of the quaternion type that is the detection result of the gyro sensor.
  • the Y1 direction of the controller 14 is set to coincide with the reference direction in the detection result space 34 shown in FIG. 7.
  • the pressing operation of the analog controller AC1 is treated as a reset operation. Then, based on the attitude of the controller 14 in the initial state or when the reset operation is performed, the attitude with respect to the reference direction is specified based on the above-described rotation information.
  • the posture with respect to the reference direction is expressed by coordinate values ( ⁇ o, ⁇ o) in the spherical coordinate system set in the detection result space 34 shown in FIG. 7.
  • the coordinate values are hereinafter referred to as operation coordinate values.
  • the value ⁇ o represents an angle in which the rotation direction from the Z-axis positive direction to the X-axis positive direction is positive, and the value ⁇ o is the rotation direction from the direction along the XZ plane to the Y-axis positive direction as positive.
  • the clockwise rotation when viewed along the Z2 direction about the Z1-Z2 direction as the axis causes the value ⁇ o to increase the counterclockwise rotation has a value It is treated as a rotation that reduces ⁇ o.
  • the counterclockwise rotation when the controller 14 is viewed along the X2 direction about the X1-X2 direction as the axis causes the value ⁇ o to increase the clockwise rotation has a value It is treated as a rotation that reduces ⁇ o.
  • the detection of the posture by the gyro sensor is performed at a predetermined frame rate.
  • posture detection is performed, for example, at intervals of 1/60 seconds.
  • the operation coordinate values ( ⁇ o, ⁇ o) are specified at the predetermined frame rate.
  • the movement amount of the cursor C that is, the change amount of the position of the cursor C is determined based on the detected operation amount in one frame, for example, the rotation amount of the controller 14 in one frame in this embodiment. Ru.
  • the difference in one frame of the ⁇ o component of the operation coordinate value ( ⁇ o, ⁇ o) is referred to as a first operation amount component
  • the difference in one frame of the ⁇ o component of the operation coordinate value ( ⁇ o, ⁇ o) is a second operation amount I will call it a component.
  • the value of the first operation amount component is expressed as a first operation amount component value ⁇ o
  • the value of the second operation amount component is expressed as a second operation amount component value ⁇ o.
  • an operation coordinate value ( ⁇ o, ⁇ o) in a certain frame is specified as ( ⁇ o1, ⁇ o1).
  • the operation coordinate values ( ⁇ o, ⁇ o) in the next frame are specified as ( ⁇ o2, ⁇ o2).
  • the first operation amount component value ⁇ o is ⁇ o2 ⁇ o1
  • the second operation amount component value ⁇ o is ⁇ o2 ⁇ o1.
  • FIG. 9 shows an example of a cursor space 36 which is a virtual three-dimensional space in which the relationship between the position of the cursor C and the movable area MA (see FIG. 10) occupying a part of the on-screen keyboard is represented.
  • the cursor C and the movable area MA are arranged on the spherical surface in the cursor space 36 shown in FIG.
  • the front direction is the X-axis positive direction
  • the upper direction is the Y-axis positive direction
  • the right direction is the Z-axis positive direction.
  • the Z-axis positive direction is referred to as a reference direction.
  • the positions of the cursor C and the movable area MA in the spherical coordinate system of the cursor space 36 shown in FIG. 9 are determined based on the movement amount.
  • the position of the center of gravity of the cursor C in the spherical coordinate system set in the cursor space 36 shown in FIG. 9 is expressed by coordinate values ( ⁇ c, ⁇ c).
  • the coordinate value is described as G ( ⁇ c, ⁇ c).
  • the coordinate values are hereinafter referred to as cursor coordinate values.
  • positions of four corners of the movable area MA are expressed by coordinate values ( ⁇ 1, ⁇ 1), ( ⁇ 1, ⁇ 2), ( ⁇ 2, ⁇ 1), and ( ⁇ 2, ⁇ 2).
  • the value ⁇ 1 is smaller than the value ⁇ 2, and the value ⁇ 1 is smaller than the value ⁇ 2.
  • values ⁇ c, ⁇ 1 and ⁇ 2 represent rotation angles that make the direction of rotation from the Z-axis positive direction to the X-axis positive direction positive
  • the values ⁇ c, ⁇ 1 and ⁇ 2 are Y-axis from the direction along the XZ plane It represents a rotation angle where the direction of rotation toward the positive direction is positive.
  • FIG. 10 shows an example of the positional relationship between the on-screen keyboard and the movable area MA.
  • the description of the characters arranged for the key K is omitted.
  • An area obtained by coordinate-converting the movable area MA shown in FIG. 9 from a partial spherical surface to a plane is shown as the movable area MA in FIG. That is, the positions corresponding to the coordinate values ( ⁇ 1, ⁇ 1), ( ⁇ 1, ⁇ 2), ( ⁇ 2, ⁇ 1), and ( ⁇ 2, ⁇ 1) in FIG. 9 are the coordinate values (x1 in FIG. 10) respectively. , Y1), (x1, y2), (x2, y1), and (x2, y2).
  • the relative position of the cursor C in the movable area MA when the movable area MA shown in FIG. 9 is transformed from a partial spherical surface to a plane is in the movable area MA shown in FIG. Is also maintained.
  • the movable range of the cursor C is limited to the movable area MA.
  • the difference in one frame of the ⁇ c component of the cursor coordinate value ( ⁇ c, ⁇ c) is referred to as a first movement amount component
  • the difference in one frame of the ⁇ c component of the cursor coordinate value ( ⁇ c, ⁇ c) is a second movement amount I will call it a component.
  • the value of the first movement amount component is expressed as a first movement amount component value ⁇ c
  • the value of the second movement amount component is expressed as a second movement amount component value ⁇ c.
  • the first movement amount component value ⁇ c is determined based on the first operation amount component value ⁇ o in accordance with the relationship shown in FIG. 11, and the second movement amount component is determined based on the second operation amount component value ⁇ o.
  • FIG. 11 shows the relationship between the absolute value of the first operation amount component value ⁇ o and the absolute value of the first movement amount component value ⁇ c, and the absolute value of the second operation amount component value ⁇ o and the second movement amount component value ⁇ c.
  • An example of the relationship with the absolute value of is shown.
  • the signs of the first operation amount component value ⁇ o and the first movement amount component value ⁇ c coincide, and the signs of the second operation amount component value ⁇ o and the second movement amount component value ⁇ c coincide.
  • cursor coordinate values ( ⁇ c, ⁇ c) after movement of the cursor C in the frame Is determined. For example, it is assumed that cursor coordinate values ( ⁇ c, ⁇ c) representing the position of the gravity center G of the cursor C in a certain frame are ( ⁇ c1, ⁇ c1). Then, it is assumed that the first movement amount component value ⁇ c and the second movement amount component value ⁇ c are determined.
  • the sensitivity of the controller 14 is slower than in the case where the absolute value of the operation amount component value is proportional to the absolute value of the movement amount component value associated with the operation amount component. Therefore, in the present embodiment, even if the user thinks that the controller 14 is stopped, it is possible to suppress the movement of the cursor C which is not intended by the user, which actually occurs when the controller 14 is shaking. Further, in the present embodiment, since the sensitivity of the controller 14 is low in the low speed region R1, the user can accurately align the cursor C. Therefore, in the present embodiment, alignment of the cursor C to the target position can be easily performed.
  • the absolute value of the operation amount component value is proportional to the absolute value of the movement amount component value associated with the operation amount component. Then, in a range where the absolute value of the operation amount component value is large, the ratio of the absolute value of the movement amount component value associated with the operation amount component to the absolute value of the operation amount component value is the absolute value of the operation amount component value Greater than moderate range.
  • the range where the absolute value of the manipulated variable component value is large is expressed as high speed range R3 in FIG. 11, and the range where the absolute value of the manipulated variable component value is medium is expressed as medium speed range R2 in FIG. ing.
  • the ratio of the absolute value of the second movement amount component value ⁇ c to the absolute value of the second operation amount component value ⁇ o is the first movement amount component value ⁇ c relative to the absolute value of the first operation amount component value ⁇ o. Less than the ratio of the absolute value of Specifically, for example, when the absolute value of the second operation amount component value ⁇ o is 1.5 times the absolute value of the first operation amount component value ⁇ o, the absolute value of the first movement amount component value ⁇ c and the second The absolute value of the movement amount component value ⁇ c is the same. In FIG.
  • the absolute value of the first operation amount component value ⁇ o is b. It is shown that the absolute value of the operation amount component value ⁇ o is 1.5b. That is, the sensitivity of the controller 14 is slower in the vertical direction than in the horizontal direction. In the present embodiment, since the arrangement interval of the keys K along the vertical direction is shorter than the arrangement interval of the keys K along the horizontal direction, a finer operation is required in the vertical direction than in the horizontal direction.
  • the position of the cursor C tends to be blurred by the operation of the operation members such as the direction keys DK1 to DK4 and the buttons B1 to B4.
  • the operability of the operation of moving the cursor C to the target position is achieved by making the sensitivity of the controller 14 in the vertical direction slower than that of the controller 14 in the horizontal direction. I am improving.
  • the movement of the cursor C is suppressed for a predetermined time (for example, 5 frames, ie, about 80 milliseconds) after the determination operation is performed. Therefore, in the present embodiment, the movement of the cursor C which is not intended by the user due to the determination operation, for example, the depression of the button B1 in the present embodiment, is suppressed.
  • a predetermined time for example, 5 frames, ie, about 80 milliseconds
  • the movable area MA moves along the moving direction of the cursor C, and the cursor C can move.
  • the state of being placed in the area MA is maintained.
  • the movable range of the cursor C is limited to the movable area MA.
  • the center of gravity G of the cursor C moves in the left direction, and cursor coordinate values ( ⁇ c, ⁇ c) representing the position of the center of gravity G are ( ⁇ c ′, ⁇ c ′) to ( ⁇ c ′ ′, ⁇ c ′).
  • cursor coordinate values ( ⁇ c, ⁇ c) representing the position of the center of gravity G are ( ⁇ c ′, ⁇ c ′) to ( ⁇ c ′ ′, ⁇ c ′).
  • the movable area MA is along the spherical surface in the cursor space 36 so that the position of the center of gravity G of the cursor C after movement is on the left side of the movable area MA. It will move to the left. That is, the movable area MA moves leftward along the spherical surface in the cursor space 36 such that the value ⁇ c ′ ′ is set as the coordinate value ⁇ 1 representing the position of the left side of the movable area MA.
  • the controller 14 since the attitude of the controller 14 can be changed while the cursor C is disposed at the edge of the movable area MA, the controller 14 can be configured to be easy to operate the controller 14. It is possible to adjust the And this reduces the situation where the user has to explicitly perform the reset operation.
  • the movable area MA is a rectangular area which occupies a part of the on-screen keyboard, and the key K is provided at the positions of the left side, lower side and right side of the movable area MA. It is arranged. In particular, at the position of the lower right corner of movable area MA, enter key EK is arranged. As described above, in the present embodiment, since the key K is arranged at the edge of the movable area MA, when the user selects the key K arranged at the edge of the movable area MA, the amount of movement is taken into account. An operation to move the cursor C can be performed without any problem.
  • the operability in the selection of the key K by the cursor C is improved. Further, as understood from the above description, it is desirable that the frequently used key K such as, for example, the enter key EK be disposed on the outer periphery of the on-screen keyboard, that is, at the edge of the movable area MA.
  • the Y1 direction of the controller 14 coincides with the reference direction in the detection result space 34 shown in FIG. 7. Is set. Further, in the present embodiment, in the above case, the Y1 direction of the controller 14 is also set to coincide with the reference direction in the cursor space 36 shown in FIG. Further, in the present embodiment, in the above case, the operation coordinate values ( ⁇ o, ⁇ o) and the cursor coordinate values ( ⁇ c, ⁇ c) are set to (0, 0). Further, in the present embodiment, in the above case, the position of the movable area MA in the cursor space 36 is set so that the position of the center of gravity of the movable area MA shown in FIG. It is set.
  • a forced reset process is performed.
  • the forced reset process is also performed when the state in which the center of gravity of the cursor C is arranged at the edge of the movable area MA continues for a predetermined time, for example, 8 seconds in this case.
  • the forced reset process is executed, the Y1 direction of the controller 14 is set to coincide with the reference direction in the detection result space 34, and the Y1 direction of the controller 14 is set to coincide with the reference direction in the cursor space 36.
  • the position of movable area MA in cursor space 36 is set so that the position of cursor C in movable area MA shown in FIG. 8 is maintained before the execution of the forced reset process. Then, in the present embodiment, the movement of the cursor C is suppressed for a predetermined time (for example, 2 frames, ie, about 32 milliseconds) after the forced reset process is performed.
  • a predetermined time for example, 2 frames, ie, about 32 milliseconds
  • deviation from the reference posture is accumulated as time elapses from when the detection of the posture is started. As a result, the position of the cursor C may be blurred, or a drift in which the cursor C moves even in a stationary state may occur.
  • the user can change the position of the on-screen keyboard area 32 in the entire image 30.
  • the on-screen keyboard is displayed in the direction corresponding to the pressed direction key DK or the tilt direction of the analog controller AC.
  • Region 32 moves.
  • FIG. 14 shows the entire image 30 when the on-screen keyboard area 32 is moved to the upper left from the state where the entire image 30 shown in FIG. 5 is displayed.
  • the position of the cursor C in the movable area MA does not change if the attitude of the controller 14 has not changed.
  • the information processing apparatus 12 plays a role as a cursor position control apparatus that controls the position of the cursor C.
  • the movement process of the cursor C will be mainly described.
  • FIG. 15 is a functional block diagram showing an example of functions implemented by the information processing apparatus 12 according to the present embodiment.
  • the information processing apparatus 12 according to the present embodiment not all the functions illustrated in FIG. 15 need to be implemented, and functions other than the functions illustrated in FIG. 15 may be implemented.
  • the information processing apparatus 12 functionally includes, for example, a coordinate value data storage unit 40, a relationship data storage unit 42, an operation amount data acquisition unit 44, and an operation amount component.
  • the identification unit 46, the movement amount component determination unit 48, the cursor position change unit 50, the movable area change unit 52, the entire image generation unit 54, and the display control unit 56 are included.
  • the coordinate value data storage unit 40 and the relationship data storage unit 42 are mainly implemented with the storage unit 22.
  • the operation amount data acquisition unit 44 is mainly mounted on the communication unit 24. The other functions are implemented mainly by the control unit 20.
  • the above functions are implemented by the control unit 20 executing a program installed in the information processing apparatus 12 which is a computer and including a command corresponding to the above functions.
  • This program is supplied to the information processing apparatus 12 through a computer readable information storage medium such as an optical disk, a magnetic disk, a magnetic tape, a magneto-optical disk, a flash memory, or a computer network such as the Internet. Ru.
  • the coordinate value data storage unit 40 stores operation coordinate value data indicating operation coordinate values ( ⁇ o, ⁇ o) and cursor coordinate value data indicating cursor coordinate values ( ⁇ c, ⁇ c). Further, in the present embodiment, the coordinate value data storage unit 40 sets the coordinate values ( ⁇ 1, ⁇ 1), ( ⁇ 1, ⁇ 2), ( ⁇ 2, ⁇ 1), and ( ⁇ 2, ⁇ 2) of the positions of the four corners of the movable area MA. Movable area coordinate value data indicating.
  • the relationship data storage unit 42 is a first relationship data indicating a relationship between the first operation amount component value ⁇ o and the first movement amount component value ⁇ c, the second operation amount component value ⁇ o, and the second movement amount component.
  • the second relationship data indicating the relationship with the value ⁇ c is stored.
  • the first relation data and the second relation data are implemented by, for example, a table in which an operation amount component value is associated with a movement amount component value associated with the operation amount component.
  • the first relation data and the second relation data may be implemented by data indicating a mathematical expression such as a function for determining a movement amount component value to be associated with the operation amount component based on the operation amount component value.
  • the operation amount data acquisition unit 44 acquires operation amount data transmitted from the controller 14 and associated with an operation amount vector representing the operated direction and size.
  • the manipulation amount data acquisition unit 44 acquires quaternion-type rotation information detected by the gyro sensor as manipulation amount data associated with the rotation amount vector.
  • the operation amount data acquisition unit 44 may acquire operation amount data associated with detection results of sensors other than the rotation information detected by the gyro sensor. Specifically, for example, the operation amount data acquisition unit 44 may acquire operation amount data associated with an operation amount vector representing the direction and size in which the analog controller AC is tilted.
  • the manipulation amount component identification unit 46 determines the magnitude of the first manipulation amount component that is a component of the manipulation amount vector for the first manipulation direction, and the manipulation amount vector for the second manipulation direction different from the first manipulation direction. And the magnitude of the second operation amount component that is the component of In the present embodiment, for example, the operation amount component identification unit 46 performs the first operation based on the operation coordinate value data stored in the coordinate value data storage unit 40 and the operation amount data acquired by the operation amount data acquisition unit 44. The amount component value ⁇ o and the second operation amount component value ⁇ o are specified. Then, the operation amount component specifying unit 46 specifies an operation coordinate value ( ⁇ o, ⁇ o) indicated by the operation coordinate value data stored in the coordinate value data storage unit 40 based on the operation amount data ( Update to ⁇ o, ⁇ o).
  • the first operation direction corresponds to the rotation direction of the controller 14 about the Z1-Z2 direction
  • the second operation direction is the rotation direction of the controller 14 about the X1-X2 direction. Equivalent to.
  • the first operation direction and the second operation direction are not limited to the above-described operation directions.
  • the rotation direction of the controller 14 about the Y1-Y2 direction may correspond to the first operation direction or the second operation direction.
  • the movement amount component determination unit 48 determines the size of the first movement amount component which is a component of the movement amount vector representing the movement amount of the cursor C in the first arrangement direction based on the size of the first operation amount component. decide. The movement amount component determination unit 48 also determines the size of the second movement amount component that is a component of the movement amount vector in the second arrangement direction, based on the magnitude of the second operation amount component.
  • the first arrangement direction and the second arrangement direction indicate the arrangement directions of the options.
  • the arrangement interval of options along the second arrangement direction is shorter than the arrangement interval of options along the first arrangement direction.
  • the number of options arranged along the second arrangement direction may be smaller than the number of options arranged along the first arrangement direction.
  • the arrangement interval of the keys K along the vertical direction is shorter than the arrangement interval of the keys K along the horizontal direction.
  • the number of keys K arranged along the vertical direction is smaller than the number of keys K arranged along the horizontal direction. Therefore, in the present embodiment, the first arrangement direction corresponds to the horizontal direction, and the second arrangement direction corresponds to the vertical direction. Note that the first arrangement direction and the second arrangement direction do not have to be the horizontal direction or the vertical direction.
  • the ratio of the size of the first movement amount component to the size of the first operation amount component is smaller than the ratio of the size of the second movement amount component to the size of the second operation amount component. It will be.
  • the movement amount component determination unit 48 determines the first movement amount component value ⁇ c, for example, based on the first relation data and the first operation amount component value ⁇ o. Further, specifically, the movement amount component determination unit 48 determines the second movement amount component value ⁇ c based on, for example, the second relation data and the value of the second operation amount component value ⁇ o.
  • the cursor position changing unit 50 moves the position of the cursor C from the current position of the cursor C in the first arrangement direction by the size of the first movement amount component and in the second arrangement direction the size of the second movement amount component Change to a position far away.
  • the cursor position changing unit 50 acquires, for example, cursor coordinate values ( ⁇ c, ⁇ c) indicated by cursor coordinate value data stored in the coordinate value data storage unit 40. Then, based on the cursor coordinate value ( ⁇ c, ⁇ c), the first movement amount component value ⁇ c, and the second movement amount component value ⁇ c, the cursor position changing unit 50 indicates the position after the movement of the cursor C. Identify the values ( ⁇ c, ⁇ c). Then, the cursor coordinate values ( ⁇ c, ⁇ c) indicated by the cursor coordinate value data in the data stored in the coordinate value data storage unit 40 are updated to the specified cursor coordinate values ( ⁇ c, ⁇ c).
  • the movable area changing unit 52 moves the movable area MA as described above. Specifically, for example, when the updated cursor coordinate value ( ⁇ c, ⁇ c) is outside the area surrounded by the four coordinate values indicated by the movable area coordinate value data, the movable area changing unit 52 As described above, the four coordinate values indicated by the movable area coordinate value data are updated.
  • the whole image generation unit 54 generates the whole image 30 based on the cursor coordinate value data and the movable area coordinate value data stored in the coordinate value data storage unit 40.
  • the display control unit 56 outputs the entire image 30 generated by the whole image generation unit 54 to the display 16.
  • the operation amount data acquisition unit 44 acquires operation amount data associated with the detection result of the gyro sensor (S101). Then, the operation amount component identification unit 46 identifies operation coordinate values ( ⁇ o, ⁇ o) in the frame based on the operation amount data acquired in the process shown in S101 (S102). Then, based on the difference between the operation coordinate value ( ⁇ o, ⁇ o) specified in the process shown in S102 and the operation coordinate value ( ⁇ o, ⁇ o) stored in the coordinate value data storage unit 40, the first operation amount component The value ⁇ o and the second operation amount component value ⁇ o are specified (S103).
  • the operation amount component identification unit 46 determines the operation coordinate value ( ⁇ o, ⁇ o) indicated by the operation coordinate value data stored in the coordinate value data storage unit 40 by the operation coordinate value ( ⁇ o) specified in the process shown in S102. , ⁇ o) (S104).
  • the movement amount component determination unit 48 determines whether or not a predetermined suppression condition is satisfied (S105).
  • a predetermined time for example, 5 frames
  • the predetermined time for example, 2 frames
  • the movement amount component determination unit 48 determines that the first relation data and the first operation amount component value ⁇ o specified in the process shown in S103.
  • the first movement amount component value ⁇ c is determined on the basis of (S106).
  • the movement amount component determination unit 48 determines the second movement amount component value ⁇ c based on the second relation data and the second operation amount component value ⁇ o specified in the process shown in S103 (S107). .
  • the cursor position changing unit 50 specifies cursor coordinate values ( ⁇ c, ⁇ c) after the movement of the cursor C (S108).
  • the cursor is based on the value of the ⁇ c component of the cursor coordinate value ( ⁇ c, ⁇ c) indicated by the cursor coordinate value data, and the first movement amount component value ⁇ c determined in the processing shown in S106.
  • the value of the ⁇ c component of the cursor coordinate value ( ⁇ c, ⁇ c) after the movement of C is specified.
  • the cursor C is moved.
  • the value of the ⁇ c component of the cursor coordinate value ( ⁇ c, ⁇ c) indicating the position is specified.
  • the cursor position changing unit 50 causes the cursor coordinate value ( ⁇ c, ⁇ c) indicated by the cursor coordinate value data stored in the coordinate value data storage unit 40 to be the cursor coordinate value ( ⁇ c, It updates to (theta) c (S109).
  • the movable area changing unit 52 determines whether or not the position of the center of gravity G of the cursor C after movement is outside the movable area MA (S110). In the process shown in S110, specifically, for example, whether or not the position represented by the updated cursor coordinate value ( ⁇ c, ⁇ c) is outside the area surrounded by the four coordinate values indicated by the movable area coordinate value data. Is determined. If it is out of the movable area MA (S110: Y), the movable area changing unit 52 moves the movable area MA as described above (S111). In the process shown in S111, specifically, for example, four coordinate values indicated by the movable area coordinate value data stored in the coordinate value data storage unit 40 are updated.
  • the entire image generating unit 54 compares the relative position of the gravity center G of the cursor C in the movable area MA shown in FIG. Position is determined (S112).
  • the relative position is determined based on, for example, cursor coordinate value data and movable area coordinate value data.
  • the display control unit 56 outputs the entire image 30 generated in the process shown in S113 to the display 16 (S114), and ends the process shown in this process example.
  • the display 16 receives the entire image 30 output in the process shown in S115, the display 16 displays the entire image 30 on the screen.
  • the present invention is not limited to the above-described embodiment.
  • the size of the on-screen keyboard may be variable. Then, for example, based on the size of the on-screen keyboard, the size of the movement amount component associated with the operation amount component relative to the size of the operation amount component may be determined. More specifically, for example, as the size of the on-screen keyboard is smaller, the size of the movement amount component associated with the operation amount component relative to the size of the operation amount component may be smaller.
  • the user may change the size of the movement amount component associated with the operation amount component relative to the size of the operation amount component.
  • the information processing device 12 may incorporate the display 16.
  • the information processing apparatus 12 may be configured of a plurality of casings. Further, the above specific character strings and the specific character strings in the drawings are merely examples, and the present invention is not limited to these character strings.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

 操作された方向及び大きさを表す操作量ベクトルに対応付けられる操作量データを出力するコントローラでカーソルを目標位置に移動させる操作を行う際の操作性を向上させる。操作量成分特定部(46)は、操作量データに基づいて、第1操作量成分の大きさと第2操作量成分の大きさとを特定する。移動量成分決定部(48)は、第1移動量成分の大きさと第2移動量成分の大きさを決定する。カーソル位置変化部(50)は、カーソルの位置を、当該カーソルの現在位置から第1の配置方向については第1移動量成分の大きさだけ第2の配置方向については第2移動量成分の大きさだけ離れた位置に変化させる。第2の配置方向に沿った選択肢の配置間隔は第1の配置方向に沿った選択肢の配置間隔よりも短く、第2操作量成分の大きさに対する第2移動量成分の大きさの比率が、第1操作量成分の大きさに対する第1移動量成分の大きさの比率よりも小さい。

Description

カーソル位置制御装置、カーソル位置制御方法、プログラム及び情報記憶媒体
 本発明は、カーソル位置制御装置、カーソル位置制御方法、プログラム及び情報記憶媒体に関する。
 ユーザがコントローラを操作することでカーソルを移動させた上で所定の決定操作を行うと、当該カーソルの位置に配置されている選択肢に応じた処理を実行する技術がある。このような技術の一例として、決定操作の際のカーソルの位置に配置されているキーの画像に対応する文字を入力された文字として取り扱うオンスクリーンキーボードの技術がある(例えば特許文献1参照)。
 また、操作された方向及び大きさを表す操作量ベクトルに対応付けられる操作量データを操作信号として出力するコントローラで照準を表す画像などといったオブジェクトの位置を制御する技術も存在する。このようなコントローラとして例えばジャイロセンサが検出する回転量やアナログコントローラの傾倒量に対応付けられる操作信号を出力するコントローラなどが挙げられる。そして当該技術では、操作量ベクトルが表す方向及び大きさとオブジェクトが移動する方向及び大きさは対応付けられている。ジャイロセンサが検出する回転量に対応付けられる操作信号を出力するコントローラでは、例えばコントローラを時計回りに回転させるとオブジェクトは右に動き、コントローラを反時計回りに回転させるとオブジェクトは左に動くようになっている。また、例えばコントローラの回転量が大きいほどオブジェクトが大きく動くようになっている。
米国特許出願公開第2007/0245259号明細書
 オンスクリーンキーボードにおけるキーの画像などといった選択肢の配置間隔が、例えば縦方向と横方向など互いに異なる方向で異なることがある。しかし上述の、操作量ベクトルに対応付けられる操作量データを出力するコントローラでオブジェクトの位置を制御する従来技術においては、このような状況が考慮されていなかった。すなわち、コントローラの感度、ここではすなわち操作量の大きさに対するカーソルの移動量の大きさの比率は方向によらず同じであった。そのため、目標となるキーの画像にカーソルを移動させる操作に当該従来技術を用いると、選択肢の配置間隔が短い方向については選択肢の配置間隔が長い方向よりも目標となるキーの画像の上にカーソルを移動させる操作を行うことが困難になる。
 本発明は上記課題に鑑みてなされたものであって、その目的の1つは、操作された方向及び大きさを表す操作量ベクトルに対応付けられる操作量データを出力するコントローラでカーソルを目標位置に移動させる操作を行う際の操作性を向上させることができるカーソル位置制御装置、カーソル位置制御方法、プログラム及び情報記憶媒体を提供することにある。
 上記課題を解決するために、本発明に係るカーソル位置制御装置は、第1の配置方向に沿って配置された複数の選択肢をそれぞれ含む複数の選択肢群が表され、前記複数の選択肢群は前記第1の配置方向とは異なる第2の配置方向に沿って配置されている画像内におけるカーソルの位置を制御するカーソル位置制御装置であって、操作された方向及び大きさを表す操作量ベクトルに対応付けられる操作量データを取得する操作量データ取得部と、前記操作量データに基づいて、第1の操作方向についての前記操作量ベクトルの成分である第1操作量成分の大きさと、当該第1の操作方向とは異なる第2の操作方向についての前記操作量ベクトルの成分である第2操作量成分の大きさと、を特定する操作量成分特定部と、前記第1操作量成分の大きさに基づいて、前記カーソルの移動量を表す移動量ベクトルの前記第1の配置方向についての成分である第1移動量成分の大きさを決定し、前記第2操作量成分の大きさに基づいて、前記移動量ベクトルの前記第2の配置方向についての成分である第2移動量成分の大きさを決定する移動量成分決定部と、前記カーソルの位置を、当該カーソルの現在位置から前記第1の配置方向については前記第1移動量成分の大きさだけ前記第2の配置方向については前記第2移動量成分の大きさだけ離れた位置に変化させるカーソル位置変化部と、を含み、前記第2の配置方向に沿った前記選択肢群の配置間隔は前記第1の配置方向に沿った前記選択肢の配置間隔よりも短く、前記第2操作量成分の大きさに対する前記第2移動量成分の大きさの比率が、前記第1操作量成分の大きさに対する前記第1移動量成分の大きさの比率よりも小さい、ことを特徴とする。
 また、本発明に係るカーソル位置制御方法は、第1の配置方向に沿って配置された複数の選択肢をそれぞれ含む複数の選択肢群が表され、前記複数の選択肢群は前記第1の配置方向とは異なる第2の配置方向に沿って配置されている画像内におけるカーソルの位置を制御するカーソル位置制御方法であって、操作された方向及び大きさを表す操作量ベクトルに対応付けられる操作量データを取得する操作量データ取得ステップと、前記操作量データに基づいて、第1の操作方向についての前記操作量ベクトルの成分である第1操作量成分の大きさと、当該第1の操作方向とは異なる第2の操作方向についての前記操作量ベクトルの成分である第2操作量成分の大きさと、を特定する操作量成分特定ステップと、前記第1操作量成分の大きさに基づいて、前記カーソルの移動量を表す移動量ベクトルの前記第1の配置方向についての成分である第1移動量成分の大きさを決定し、前記第2操作量成分の大きさに基づいて、前記移動量ベクトルの前記第2の配置方向についての成分である第2移動量成分の大きさを決定する移動量成分決定ステップと、前記カーソルの位置を、当該カーソルの現在位置から前記第1の配置方向については前記第1移動量成分の大きさだけ前記第2の配置方向については前記第2移動量成分の大きさだけ離れた位置に変化させるカーソル位置変化ステップと、を含み、前記第2の配置方向に沿った前記選択肢群の配置間隔は前記第1の配置方向に沿った前記選択肢の配置間隔よりも短く、前記第2操作量成分の大きさに対する前記第2移動量成分の大きさの比率が、前記第1操作量成分の大きさに対する前記第1移動量成分の大きさの比率よりも小さい、ことを特徴とする。
 また、本発明に係るプログラムは、第1の配置方向に沿って配置された複数の選択肢をそれぞれ含む複数の選択肢群が表され、前記複数の選択肢群は前記第1の配置方向とは異なる第2の配置方向に沿って配置されている画像内におけるカーソルの位置を制御するコンピュータに実行させるプログラムであって、操作された方向及び大きさを表す操作量ベクトルに対応付けられる操作量データを取得する手順、前記操作量データに基づいて、第1の操作方向についての前記操作量ベクトルの成分である第1操作量成分の大きさと、当該第1の操作方向とは異なる第2の操作方向についての前記操作量ベクトルの成分である第2操作量成分の大きさと、を特定する手順、前記第1操作量成分の大きさに基づいて、前記カーソルの移動量を表す移動量ベクトルの前記第1の配置方向についての成分である第1移動量成分の大きさを決定し、前記第2操作量成分の大きさに基づいて、前記移動量ベクトルの前記第2の配置方向についての成分である第2移動量成分の大きさを決定する手順、前記カーソルの位置を、当該カーソルの現在位置から前記第1の配置方向については前記第1移動量成分の大きさだけ前記第2の配置方向については前記第2移動量成分の大きさだけ離れた位置に変化させる手順、を前記コンピュータに実行させ、前記第2の配置方向に沿った前記選択肢群の配置間隔は前記第1の配置方向に沿った前記選択肢の配置間隔よりも短く、前記第2操作量成分の大きさに対する前記第2移動量成分の大きさの比率が、前記第1操作量成分の大きさに対する前記第1移動量成分の大きさの比率よりも小さい、ことを特徴とする。
 また、本発明に係る情報記憶媒体は、第1の配置方向に沿って配置された複数の選択肢をそれぞれ含む複数の選択肢群が表され、前記複数の選択肢群は前記第1の配置方向とは異なる第2の配置方向に沿って配置されている画像内におけるカーソルの位置を制御するコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体であって、操作された方向及び大きさを表す操作量ベクトルに対応付けられる操作量データを取得する手順、前記操作量データに基づいて、第1の操作方向についての前記操作量ベクトルの成分である第1操作量成分の大きさと、当該第1の操作方向とは異なる第2の操作方向についての前記操作量ベクトルの成分である第2操作量成分の大きさと、を特定する手順、前記第1操作量成分の大きさに基づいて、前記カーソルの移動量を表す移動量ベクトルの前記第1の配置方向についての成分である第1移動量成分の大きさを決定し、前記第2操作量成分の大きさに基づいて、前記移動量ベクトルの前記第2の配置方向についての成分である第2移動量成分の大きさを決定する手順、前記カーソルの位置を、当該カーソルの現在位置から前記第1の配置方向については前記第1移動量成分の大きさだけ前記第2の配置方向については前記第2移動量成分の大きさだけ離れた位置に変化させる手順、を前記コンピュータに実行させ、前記第2の配置方向に沿った前記選択肢群の配置間隔は前記第1の配置方向に沿った前記選択肢の配置間隔よりも短く、前記第2操作量成分の大きさに対する前記第2移動量成分の大きさの比率が、前記第1操作量成分の大きさに対する前記第1移動量成分の大きさの比率よりも小さい、ことを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
 本発明では、選択肢の配置間隔が短い方向についての操作量の大きさに対するカーソルの移動量の大きさの比率が長い方向についての当該比率よりも小さい。このようにして、本発明によれば、操作された方向及び大きさを表す操作量ベクトルに対応付けられる操作量データを出力するコントローラでカーソルを目標位置に移動させる操作を行う際の操作性が向上することとなる。
 本発明の一態様では、前記第1の配置方向は前記画像が表示される表示部における横方向であり、前記第2の配置方向は前記表示部における縦方向である。
 また、本発明の一態様では、前記画像内における前記カーソルの位置が当該画像の一部を占める領域に制限される。
 この態様では、前記領域の端には、前記選択肢が配置されていてもよい。
 また、本発明の一態様では、前記操作量データ取得部は、ジャイロセンサが検出する回転量ベクトルに対応付けられる前記操作量データを取得し、前記操作量成分特定部は、前記操作量データに基づいて、第1の回転方向についての前記操作量ベクトルの成分である第1回転量成分の大きさと、当該第1の回転方向とは異なる第2の回転方向についての前記操作量ベクトルの成分である第2回転量成分の大きさと、を特定し、前記移動量成分決定部は、前記第1回転量成分の大きさに基づいて、前記第1移動量成分の大きさを決定し、前記第2回転量成分の大きさに基づいて、前記第2移動量成分の大きさを決定する。
 また、本発明の一態様では、前記第2の配置方向に沿って配置されている前記選択肢の数は前記第1の配置方向に沿って配置されている前記選択肢の数よりも少ない。
本発明の一実施形態に係る情報処理システムの全体構成の一例を示す図である。 本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。 本発明の一実施形態に係るコントローラの外観の一例を示す図である。 全体画像の一例を示す図である。 全体画像の一例を示す図である。 キーと判定領域との関係の一例を示す図である。 検出結果空間の一例を示す図である。 操作座標値と操作量成分値との関係の一例を示す図である。 カーソル空間の一例を示す図である。 カーソルの位置と移動可能領域との関係の一例を示す図である。 操作量成分値の絶対値と移動量成分値の絶対値との関係との一例を示す図である。 カーソル座標値と移動量成分値との関係の一例を示す図である。 移動可能領域が移動する様子の一例を示す図である。 全体画像の一例を示す図である。 本発明の一実施形態に係る情報処理装置で実装される機能の一例を示す機能ブロック図である。 本発明の一実施形態に係る情報処理装置で行われる処理の流れの一例を示すフロー図である。
 以下、本発明の一実施形態について図面に基づき詳細に説明する。
 図1は、本発明の一実施形態に係る情報処理システム10の全体構成の一例を示す図である。図1に示すように、本実施形態に係る情報処理システム10は、情報処理装置12とコントローラ14とディスプレイ16とを含んでいる。
 本実施形態に係る情報処理装置12は、例えば、ゲーム装置やパーソナルコンピュータ等のコンピュータであり、例えば図2に示すように、制御部20、記憶部22、通信部24、を含んでいる。制御部20は、例えば情報処理装置12にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスである。記憶部22は、例えばROMやRAM等の記憶素子やハードディスクドライブなどである。記憶部22には、制御部20によって実行されるプログラムなどが記憶される。通信部24は、例えばネットワークボードや無線LANモジュールなどの通信インタフェースなどである。
 本実施形態に係るコントローラ14は、情報処理装置12に対する操作入力を行うための操作入力装置である。図3は、本実施形態に係るコントローラ14の外観の一例を示す図である。本実施形態では、コントローラ14の上面には、4つの方向キーDK1~DK4、4つのボタンB1~B4、2つのアナログコントローラAC1及びAC2が配置されている。また、コントローラ14は、その他の操作部材も備えている。また、本実施形態に係るコントローラ14は、角速度を検出するジャイロセンサ、加速度を検出する加速度センサ等のセンサを備えている。なお、本実施形態に係るコントローラ14が、方位を検出する電子コンパス(地磁気センサ)を備えていてもよい。また、本実施形態に係るコントローラ14は、ネットワークボードや無線LANモジュール等を備えており、情報処理装置12と有線又は無線で通信可能となっている。以下の説明において、図3に示すY1方向及びY2方向はそれぞれ前方向及び後方向であることとする。また、X1方向及びX2方向はそれぞれ右方向及び左方向であることとする。また、Z1方向及びZ2方向はそれぞれ上方向及び下方向であることとする。
 本実施形態に係るディスプレイ16は、液晶ディスプレイや有機ELディスプレイ等である。本実施形態では、情報処理装置12とディスプレイ16とは、HDMI(登録商標)(High-Definition Multimedia Interface)ケーブルやUSB(Universal Serial Bus)ケーブル等のケーブルにより接続されている。
 図4は、本実施形態におけるディスプレイ16に表示される画像の一例を示す図である。以下、当該画像を全体画像30と呼ぶこととする。本実施形態では、全体画像30の一部を占める領域が、オンスクリーンキーボードの画像が配置されるオンスクリーンキーボード領域32として設定されている。
 オンスクリーンキーボード領域32には、文字列配置領域32a、予測候補配置領域32b、及び、キー配置領域32cが含まれている。文字列配置領域32aには、本実施形態では、文字列が配置される。そして、予測候補配置領域32bには、本実施形態では、文字列配置領域32aに配置されている文字列に基づいて特定される1又は複数の予測候補の一覧が横に並んで配置される。そして、キー配置領域32cには、複数の選択肢、本実施形態では例えば複数のキーKの画像が配置されている。
 本実施形態では、キーKはキー配置領域32cにマトリクス状に配置されている。すなわち、キー配置領域32cには、横方向に沿って配置された複数のキーKをそれぞれ含む複数のキー群が縦方向に複数行にわたって配置されている。具体的には例えば、最も上の行から4行は横方向に10個のキーKが配置されている。そして、その下の行には横方向に6個のキーKが配置されており、最も下の行には横方向に8個のキーKが配置されている。
 また、図4に示すように、本実施形態では、縦方向に沿ったキーKの配置間隔は横方向に沿ったキーKの配置間隔よりも短い。また、縦方向に沿って配置されているキーKの数は横方向に沿って配置されているキーKの数よりも少ない。
 また、全体画像30には、カーソルCも配置されている。本実施形態に係るカーソルCは円形の図形である。本実施形態では、ユーザは、コントローラ14を操作することでカーソルCを移動することができるようになっている。本実施形態では、コントローラ14が備えるジャイロセンサが検出するコントローラ14の姿勢の変化、すなわち、コントローラ14の回転量に応じて、カーソルCの位置が変化するようになっている。本実施形態では例えば、ユーザが、コントローラ14に対して、X1-X2方向を軸とした、X2方向に沿って見た場合における反時計回りの回転操作を行うと、カーソルCが上方向に移動し、時計回りの回転操作を行うと、カーソルCが下方向に移動する。また、ユーザが、コントローラ14に対して、Z1-Z2方向を軸とした、Z2方向に沿って見た場合における反時計回りの回転操作を行うと、カーソルCが左方向に移動し、時計回りの回転操作を行うと、カーソルCが右方向に移動する。
 そして、本実施形態では、カーソルCの位置に基づいて、複数のキーKのうちのいずれかが選択状態のキーKとして決定される。そして、選択状態のキーKは、強調表示される。図4では、強調表示の対象となるキーKを囲む矩形によって当該キーKが強調表示されていることが表現されている。そして、図4に示すオンスクリーンキーボードでは、文字「f」に対応するキーKが選択状態となっている。
 そして、ユーザが、決定操作、本実施形態では例えば、ボタンB1を押下する操作を行うと、選択状態であるキーKが入力されたものとして扱われ、当該キーKに対応する文字が文字列配置領域32aに配置されている文字列に追加される。図5には、図4に示す全体画像30が表示されている状態から、カーソルCを左上に移動させて、その後決定操作を行った際の全体画像30が示されている。図5に示すオンスクリーンキーボードでは、文字「e」に対応するキーKが選択状態となっており、文字列配置領域32aに配置されている文字列に文字「e」が追加されている。
 そしてその後、ユーザが、キー配置領域32cの右下に配置されたエンターキーEKを選択状態として決定操作を行うと、文字列配置領域32aに配置されている文字列が情報処理装置12への入力文字列として取り扱われる。そして、当該文字列に応じた処理が実行される。
 本実施形態では、図6に示すように、選択状態であるキーKが存在する場合に、キーKの一部を占める判定領域DA内にカーソルCの重心Gの位置が移動した際に、選択状態であるキーKが当該キーKに更新される。本実施形態では、キーKの一部を占める判定領域DAは、当該キーKと重心の位置が一致する。また、本実施形態では、判定領域DAの高さ及び幅は、それぞれキーKの高さ及び幅の所定倍、例えば7/8である。このようにして、本実施形態では、カーソルCがキーKの境界付近に配置されているある場合に選択状態であるキーKが過剰な頻度で更新されることを防いでいる。
 また、本実施形態では、文字列配置領域32aや予測候補配置領域32bにカーソルCを移動する操作を行うことができるようになっている。そして、文字列配置領域32aに配置されている文字の範囲を指定する操作や、指定された範囲を解除する操作、予測候補配置領域32bに配置された予測候補を選択する操作も行えるようになっている。ここで、カーソルCの重心Gの位置が文字列配置領域32a内となった際に、円形のカーソルCを全体画像30から消去し、文字列配置領域32aに配置されている、文字の追加位置を示す縦棒状のカーソル(キャレット)が点滅するようにしてもよい。また、このとき、キャレットが点滅するようにする代わりに、あるいは点滅するようにするとともに、キャレットの色が変わるようにしてもよい。このことにより、文字列配置領域32a内での操作が可能であることをユーザは認識することができる。また、カーソルCの重心Gの位置が文字列配置領域32aの外、あるいは、文字列配置領域32aを囲む所定の領域の外となった際に、再び円形のカーソルCが全体画像30に配置されるようにしてもよい。
 以下、本実施形態におけるカーソルCの移動操作についてさらに説明する。図7に、コントローラ14の姿勢と当該姿勢を表すパラメータとの関係が表現された仮想3次元空間である検出結果空間34の一例を示す。図7に示す検出結果空間34では、手前方向がX軸正方向であり、上方向がY軸正方向であり、右方向がZ軸正方向であることとする。そして、Z軸正方向を基準方向と呼ぶこととする。
 本実施形態では、ジャイロセンサの検出結果であるクォータニオン形式の回転情報に基づいて、基準方向に対する姿勢を特定する。本実施形態では、初期状態の際、又は、リセット操作が行われた際には、コントローラ14のY1方向が、図7に示す検出結果空間34における基準方向と一致するように設定される。なお本実施形態では、アナログコントローラAC1の押下操作がリセット操作として取り扱われる。そして、初期状態の際、又は、リセット操作が行われた際のコントローラ14の姿勢を基準として、上述の回転情報に基づいて基準方向に対する姿勢が特定される。本実施形態では、基準方向に対する姿勢は、図7に示す検出結果空間34内に設定された球面座標系における座標値(λo,θo)で表現される。当該座標値を、以下、操作座標値と呼ぶこととする。本実施形態では、値λoはZ軸正方向からX軸正方向に向かう回転方向を正とする角度を表し、値θoはXZ平面に沿った方向からY軸正方向に向かう回転方向を正とする角度を表す。そして本実施形態では、コントローラ14の、Z1-Z2方向を軸とした、Z2方向に沿って見た場合における時計回りの回転が、値λoを増加させる回転として、反時計回りの回転が、値λoを減少させる回転として取り扱われる。また本実施形態では、コントローラ14の、X1-X2方向を軸とした、X2方向に沿って見た場合における反時計回りの回転が、値θoを増加させる回転として、時計回りの回転が、値θoを減少させる回転として取り扱われる。
 本実施形態では、所定のフレームレートで、ジャイロセンサによる姿勢の検出が行われる。本実施形態では例えば1/60秒間隔で姿勢の検出が行われる。そして、当該所定のフレームレートで、操作座標値(λo,θo)の特定が行われることとなる。そして、本実施形態では、検出された1フレームにおける操作量、本実施形態では例えば1フレームにおけるコントローラ14の回転量に基づいて、カーソルCの移動量、すなわちカーソルCの位置の変化量が決定される。以下、操作座標値(λo,θo)のλo成分についての1フレームにおける差分を第1操作量成分と呼び、操作座標値(λo,θo)のθo成分についての1フレームにおける差分を第2操作量成分と呼ぶこととする。そして、第1操作量成分の値を第1操作量成分値Δλoと表現し、第2操作量成分の値を第2操作量成分値Δθoと表現することとする。
 例えば、あるフレームにおける操作座標値(λo,θo)が(λo1,θo1)であると特定されたとする。そして、次のフレームにおける操作座標値(λo,θo)が(λo2,θo2)であると特定されたとする。この場合、図8に示すように、第1操作量成分値Δλoは、λo2-λo1となり、第2操作量成分値Δθoは、θo2-θo1となる。
 そして、本実施形態では、第1操作量成分値Δλo及び第2操作量成分値Δθoに基づいて、図9に示すカーソル空間36内に設定された球面座標系における1フレームにおけるカーソルCの移動量が決定される。
 図9に、カーソルCの位置とオンスクリーンキーボードの一部を占める移動可能領域MA(図10参照)との関係が表現された仮想3次元空間であるカーソル空間36の一例を示す。図9に示すカーソル空間36内の球面上には、カーソルC及び移動可能領域MAが配置されている。図9に示すカーソル空間36では、手前方向がX軸正方向であり、上方向がY軸正方向であり、右方向がZ軸正方向であることとする。そして、Z軸正方向を基準方向と呼ぶこととする。
 本実施形態では、カーソルCの移動量が決定されると、当該移動量に基づいて、図9に示すカーソル空間36の球面座標系におけるカーソルC及び移動可能領域MAの位置が決定される。ここで、図9に示すカーソル空間36内に設定された球面座標系におけるカーソルCの重心の位置を座標値(λc,θc)で表現することとする。図9では、当該座標値がG(λc,θc)と記載されている。当該座標値を、以下、カーソル座標値と呼ぶこととする。そして、移動可能領域MAの四隅の位置を座標値(λ1,θ1)、(λ1,θ2)、(λ2,θ1)、及び、(λ2,θ2)で表現することとする。なお、値λ1は値λ2より小さく、値θ1は値θ2より小さいこととする。本実施形態では、値λc、λ1、λ2はZ軸正方向からX軸正方向に向かう回転方向を正とする回転角を表し、値θc、θ1、θ2はXZ平面に沿った方向からY軸正方向に向かう回転方向を正とする回転角を表す。
 図10に、オンスクリーンキーボードと移動可能領域MAとの位置関係の一例を示す。図10では、キーKに配置された文字の記載は省略されている。図9に示す移動可能領域MAを部分球面から平面に座標変換した領域が図10における移動可能領域MAとして示されている。すなわち、図9における座標値(λ1,θ1)、(λ1,θ2)、(λ2,θ1)、及び、(λ2,θ2)のそれぞれに対応付けられる位置は、それぞれ、図10における座標値(x1,y1)、(x1,y2)、(x2,y1)、及び、(x2,y2)の位置となる。そして本実施形態では、図9に示す移動可能領域MAを部分球面から平面に座標変換した際の当該移動可能領域MA内におけるカーソルCの相対的な位置が、図10に示す移動可能領域MA内においても維持される。そして、本実施形態では、カーソルCが移動可能な範囲は移動可能領域MAに制限される。
 以下、カーソル座標値(λc,θc)のλc成分についての1フレームにおける差分を第1移動量成分と呼び、カーソル座標値(λc,θc)のθc成分についての1フレームにおける差分を第2移動量成分と呼ぶこととする。そして、第1移動量成分の値を第1移動量成分値Δλcと表現し、第2移動量成分の値を第2移動量成分値Δθcと表現することとする。本実施形態では、図11に示す関係に従って、第1操作量成分値Δλoに基づいて、第1移動量成分値Δλcが決定され、第2操作量成分値Δθoに基づいて、第2移動量成分値Δθcが決定される。図11には、第1操作量成分値Δλoの絶対値と第1移動量成分値Δλcの絶対値との関係、及び、第2操作量成分値Δθoの絶対値と第2移動量成分値Δθcの絶対値との関係の一例が示されている。なお、本実施形態では、第1操作量成分値Δλoと第1移動量成分値Δλcの符号は一致し、第2操作量成分値Δθoと第2移動量成分値Δθcの符号は一致する。そして、カーソルCの重心Gの現在位置と、第1移動量成分値Δλc及び第2移動量成分値Δθcと、に基づいて、当該フレームにおけるカーソルCの移動後のカーソル座標値(λc,θc)が決定される。例えば、あるフレームにおけるカーソルCの重心Gの位置を表すカーソル座標値(λc,θc)が(λc1,θc1)であることとする。そして、第1移動量成分値Δλc及び第2移動量成分値Δθcが決定されたこととする。この場合、カーソルCの当該フレームにおける移動後のカーソルCの重心Gの位置を表すカーソル座標値(λc,θc)を(λc2,θc2)とすると、図12に示すように、値λc2は、λc1+Δλcとなり、値θc2は、θc1+Δθcとなる。
 以下、図11に示す関係についてさらに説明する。本実施形態では、図11で低速度範囲R1と表現されている、操作量成分値の絶対値が小さい範囲については、操作量成分値の絶対値と、当該操作量成分に対応付けられる移動量成分値の絶対値との関係は、指数関数で表現される。そのため、操作量成分値の絶対値と当該操作量成分に対応付けられる移動量成分値の絶対値とが比例する場合よりも、操作量成分値の絶対値に対する当該操作量成分に対応付けられる移動量成分値の絶対値の比率が小さい状態となっている。すなわち操作量成分値の絶対値と当該操作量成分に対応付けられる移動量成分値の絶対値とが比例する場合よりも、コントローラ14の感度が鈍い状態となっている。そのため、本実施形態では、ユーザが、コントローラ14を止めていると思っていても実際はコントローラ14が揺れている際に発生する、ユーザが意図しないカーソルCの移動を抑えることができることとなる。また、本実施形態では、低速度領域R1では、コントローラ14の感度が鈍くなっているため、ユーザはカーソルCの位置合わせを精度よく行えることとなる。そのため、本実施形態では、カーソルCの目標位置への位置合わせが容易に行えることとなる。また、低速度範囲R1についても、操作量成分値の絶対値が0でない場合には、当該操作量成分に対応付けられる移動量成分値の絶対値は0ではない。そのため、コントローラ14に対する操作が検出されている際にはカーソルCが移動するので、ユーザはコントローラ14に対する操作が行われていることを認識できることとなる。
 また、本実施形態では、低速度範囲R1以外の範囲については、操作量成分値の絶対値と、当該操作量成分に対応付けられる移動量成分値の絶対値とが比例する。そして、操作量成分値の絶対値が大きい範囲については、操作量成分値の絶対値に対する当該操作量成分に対応付けられる移動量成分値の絶対値の比率が、操作量成分値の絶対値が中程度である範囲よりも大きい。操作量成分値の絶対値が大きい範囲は、図11で高速度範囲R3と表現されており、操作量成分値の絶対値が中程度である範囲は、図11で中速度範囲R2と表現されている。以上のようにすることで、高速度範囲R3については、操作量を示す値に対するカーソルCの移動量を示す値の比率が中速度範囲R2よりも大きくなるので、カーソルCを速く移動させる際の操作量が減ることとなる。
 また、本実施形態では、第2操作量成分値Δθoの絶対値に対する第2移動量成分値Δθcの絶対値の比率は、第1操作量成分値Δλoの絶対値に対する第1移動量成分値Δλcの絶対値の比率よりも小さい。具体的には例えば、第2操作量成分値Δθoの絶対値が第1操作量成分値Δλoの絶対値の1.5倍である場合に、第1移動量成分値Δλcの絶対値と第2移動量成分値Δθcの絶対値は同じになる。図11には、第1移動量成分値Δλcの絶対値及び第2移動量成分値Δθcの絶対値がaである場合の、第1操作量成分値Δλoの絶対値がbであり、第2操作量成分値Δθoの絶対値が1.5bであることが示されている。すなわち、コントローラ14の感度は、縦方向の方が横方向よりも鈍くなっている。本実施形態では、縦方向に沿ったキーKの配置間隔は横方向に沿ったキーKの配置間隔よりも短いので、縦方向の方が横方向よりも細かい操作が必要とされる。また、縦方向に沿って配置されているキーKの数は横方向に沿って配置されているキーKの数よりも少ないので、横方向についてはキーKを選択する際のカーソルCの移動量が大きくなりがちである。また、縦方向については、方向キーDK1~DK4やボタンB1~B4などの操作部材の操作により、カーソルCの位置がぶれてしまいがちである。本実施形態では、以上の点に着目して、縦方向についてのコントローラ14の感度が横方向についてのコントローラ14の感度よりも鈍くすることで、カーソルCを目標位置に移動させる操作の操作性を向上させている。
 また、本実施形態では、決定操作が行われてから所定時間(例えば、5フレーム、すなわち約80ミリ秒)については、カーソルCの移動が抑制されるようになっている。そのため、本実施形態では、決定操作、本実施形態では例えばボタンB1の押下に伴う、ユーザが意図せぬカーソルCの移動が抑制されることとなる。
 また、本実施形態では、移動後のカーソルCの重心Gの位置が移動可能領域MAの範囲を超えると、移動可能領域MAがカーソルCの移動方向に沿って移動して、カーソルCが移動可能領域MA内に配置されている状態が維持されるようになっている。このようにして、結果的に、カーソルCの移動可能な範囲が、移動可能領域MAに制限されることとなる。例えば、図13に示すように、カーソルCの重心Gが左方向に移動して重心Gの位置を表すカーソル座標値(λc,θc)が(λc’,θc’)から(λc’’,θc’)に変化したこととする。そして、移動後のカーソルCの重心Gの位置が移動可能領域MAの範囲を超えたこととする。この場合には、移動後のカーソルCの重心Gの位置が移動可能領域MAの左辺上の位置となるよう、図13に示すように、移動可能領域MAがカーソル空間36内の球面に沿って左方向に移動することとなる。すなわち、値λc’’が、移動可能領域MAの左辺の位置を表す座標値λ1として設定されるよう、移動可能領域MAがカーソル空間36内の球面に沿って左方向に移動することとなる。このように、本実施形態では、移動可能領域MAの縁にカーソルCが配置された状態のままコントローラ14の姿勢を変えることができるので、コントローラ14をユーザにとって操作しやすい姿勢となるようコントローラ14を調整することが可能となる。そして、このことによって、ユーザがリセット操作を明示的に行わなければならない状況が減ることとなる。
 また、本実施形態では、図10に示すように、移動可能領域MAはオンスクリーンキーボードの一部を占める矩形領域であり、移動可能領域MAの左辺、下辺、右辺の位置には、キーKが配置されている。特に、移動可能領域MAの右下隅の位置には、エンターキーEKが配置されている。このように、本実施形態では、移動可能領域MAの縁にキーKが配置されているので、ユーザが移動可能領域MAの縁に配置されているキーKを選択する際には移動量を気にせずカーソルCを移動させる操作を行える。このようにして、本実施形態によれば、カーソルCによるキーKの選択における操作性が向上することとなる。また、以上の説明からわかるように、例えばエンターキーEKなどといった使用頻度の高いキーKを、オンスクリーンキーボードの外周に、すなわち、移動可能領域MAの縁に配置されるようにすることが望ましい。
 また、本実施形態では、上述のように、初期状態の際、又は、リセット操作が行われた際には、コントローラ14のY1方向が、図7に示す検出結果空間34における基準方向と一致するよう設定される。また、本実施形態では、上述の際には、コントローラ14のY1方向が、及び図9に示すカーソル空間36における基準方向と一致するようにも設定される。また、本実施形態では、上述の際には、操作座標値(λo,θo)及びカーソル座標値(λc,θc)が、(0,0)に設定される。また、本実施形態では、上述の際には、図9に示す移動可能領域MAの重心の位置がカーソルCの重心Gの位置と一致するよう、カーソル空間36内における移動可能領域MAの位置が設定される。
 そして、本実施形態では、カーソルCの重心Gが移動可能領域MAの縁に配置された状態で、コントローラ14の姿勢に対応する方向と、基準方向と、のなす角が45度を超えた場合には、強制リセット処理が実行される。また、カーソルCの重心が移動可能領域MAの縁に配置された状態が、所定時間、ここでは例えば8秒継続した場合にも、強制リセット処理が実行される。強制リセット処理が実行されると、コントローラ14のY1方向が検出結果空間34における基準方向と一致し、コントローラ14のY1方向がカーソル空間36における基準方向と一致するよう設定される。また、強制リセット処理の実行前における、図8に示す移動可能領域MA内におけるカーソルCの位置が維持されるよう、カーソル空間36内における移動可能領域MAの位置が設定される。そして、本実施形態では、強制リセット処理が実行されてから所定時間(例えば、2フレーム、すなわち約32ミリ秒)については、カーソルCの移動が抑制されるようになっている。ジャイロセンサは、姿勢の検出が開始されてからの時間が経過するとともに、基準となる姿勢からのずれが蓄積される。その結果、カーソルCの位置がぶれたり、静止状態でもカーソルCが移動するドリフトが発生したりすることがある。そのため、上述のリセット操作が行われた際の処理や強制リセット処理を何らかのタイミングで行う必要がある。本実施形態では、強制リセット処理が実行されても、図8に示す移動可能領域MA内におけるカーソルCの位置が維持されるので、ユーザに気づかれることなく強制リセット処理を実行することができることとなる。
 また、本実施形態では、ユーザは、全体画像30内におけるオンスクリーンキーボード領域32の位置を変更可能になっている。本実施形態では、ユーザが、方向キーDKを押下する操作やアナログコントローラACを傾倒する操作を行うと、押下された方向キーDKに対応付けられる方向やアナログコントローラACの傾倒方向に、オンスクリーンキーボード領域32が移動する。図14には、図5に示す全体画像30が表示されている状態から、オンスクリーンキーボード領域32を左上に移動させた際の全体画像30が示されている。本実施形態では、オンスクリーンキーボード領域32が移動しても、コントローラ14の姿勢が変わっていない場合は、移動可能領域MA内におけるカーソルCの位置は変化しない。
 以上説明したように、本実施形態に係る情報処理装置12は、カーソルCの位置を制御するカーソル位置制御装置としての役割を担っている。以下、カーソルCの移動処理を中心にさらに説明する。
 図15は、本実施形態に係る情報処理装置12で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係る情報処理装置12で、図15に示す機能のすべてが実装される必要はなく、また、図15に示す機能以外の機能が実装されていても構わない。
 そして、本実施形態に係る情報処理装置12は、図15に示すように、機能的には、例えば、座標値データ記憶部40、関係データ記憶部42、操作量データ取得部44、操作量成分特定部46、移動量成分決定部48、カーソル位置変化部50、移動可能領域変化部52、全体画像生成部54、表示制御部56、を含んでいる。座標値データ記憶部40、関係データ記憶部42は、記憶部22を主として実装される。操作量データ取得部44は、通信部24を主として実装される。その他の機能は、制御部20を主として実装される。
 そして、以上の機能は、コンピュータである情報処理装置12にインストールされた、以上の機能に対応する指令を含むプログラムを制御部20で実行することにより実装されている。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどのコンピュータネットワークを介して情報処理装置12に供給される。
 座標値データ記憶部40は、本実施形態では、操作座標値(λo,θo)を示す操作座標値データ、カーソル座標値(λc,θc)を示すカーソル座標値データを記憶する。また、座標値データ記憶部40は、本実施形態では、移動可能領域MAの四隅の位置の座標値(λ1,θ1)、(λ1,θ2)、(λ2,θ1)、及び、(λ2,θ2)を示す移動可能領域座標値データも記憶する。
 関係データ記憶部42は、本実施形態では、第1操作量成分値Δλoと第1移動量成分値Δλcとの関係を示す第1関係データ、第2操作量成分値Δθoと第2移動量成分値Δθcとの関係を示す第2関係データ、を記憶する。第1関係データや第2関係データは、例えば、操作量成分値と当該操作量成分に対応付けられる移動量成分値とを対応付けたテーブルにより実装される。なお、第1関係データや第2関係データが、操作量成分値に基づいて当該操作量成分に対応付けられる移動量成分値を決定する関数等の数式を示すデータにより実装されてもよい。
 操作量データ取得部44は、コントローラ14から送信される、操作された方向及び大きさを表す操作量ベクトルに対応付けられる操作量データを取得する。操作量データ取得部44は、本実施形態では例えば、ジャイロセンサが検出するクォータニオン形式の回転情報を、回転量ベクトルに対応付けられる操作量データとして取得する。なお、操作量データ取得部44が、ジャイロセンサが検出する回転情報以外のセンサの検出結果に対応付けられる操作量データを取得してもよい。具体的には例えば、操作量データ取得部44が、アナログコントローラACが傾倒された向き及び大きさを表す操作量ベクトルに対応付けられる操作量データを取得してもよい。
 操作量成分特定部46は、第1の操作方向についての操作量ベクトルの成分である第1操作量成分の大きさと、当該第1の操作方向とは異なる第2の操作方向についての操作量ベクトルの成分である第2操作量成分の大きさと、を特定する。操作量成分特定部46は、本実施形態では例えば、座標値データ記憶部40に記憶されている操作座標値データと、操作量データ取得部44が取得した操作量データに基づいて、第1操作量成分値Δλo及び第2操作量成分値Δθoを特定する。そして、操作量成分特定部46は、座標値データ記憶部40に記憶されている操作座標値データが示す操作座標値(λo,θo)を、操作量データに基づいて特定される操作座標値(λo,θo)に更新する。
 本実施形態では、第1の操作方向は、コントローラ14のZ1-Z2方向を軸とした回転方向に相当し、第2の操作方向は、コントローラ14のX1-X2方向を軸とした回転方向に相当する。なお、第1の操作方向や第2の操作方向は上述の操作方向に限定されない。例えば、コントローラ14のY1-Y2方向を軸とした回転方向が第1の操作方向又は第2の操作方向に相当してもよい。
 移動量成分決定部48は、第1操作量成分の大きさに基づいて、カーソルCの移動量を表す移動量ベクトルの第1の配置方向についての成分である第1移動量成分の大きさを決定する。また、移動量成分決定部48は、第2操作量成分の大きさに基づいて、移動量ベクトルの第2の配置方向についての成分である第2移動量成分の大きさを決定する。
 ここで、第1の配置方向や第2の配置方向は選択肢の配置方向を示している。また、第2の配置方向に沿った選択肢の配置間隔は第1の配置方向に沿った選択肢の配置間隔よりも短い。なお、第2の配置方向に沿って配置されている選択肢の数が第1の配置方向に沿って配置されている選択肢の数よりも少なくてもよい。本実施形態では、上述のように、縦方向に沿ったキーKの配置間隔は横方向に沿ったキーKの配置間隔よりも短い。また、縦方向に沿って配置されているキーKの数は横方向に沿って配置されているキーKの数よりも少ない。そのため、本実施形態では、第1の配置方向は横方向に相当し、第2の配置方向は縦方向に相当することとなる。なお、第1の配置方向や第2の配置方向が横方向や縦方向である必要はない。
 また、本実施形態では、第1操作量成分の大きさに対する第1移動量成分の大きさの比率が、第2操作量成分の大きさに対する第2移動量成分の大きさの比率よりも小さいこととなる。
 本実施形態では、移動量成分決定部48は、具体的には例えば、第1関係データと第1操作量成分値Δλoとに基づいて、第1移動量成分値Δλcを決定する。また、移動量成分決定部48は、具体的には例えば、第2関係データと第2操作量成分値Δθoの値とに基づいて、第2移動量成分値Δθcを決定する。
 カーソル位置変化部50は、カーソルCの位置を、カーソルCの現在位置から第1の配置方向については第1移動量成分の大きさだけ第2の配置方向については第2移動量成分の大きさだけ離れた位置に変化させる。カーソル位置変化部50は、本実施形態では例えば、座標値データ記憶部40に記憶されているカーソル座標値データが示すカーソル座標値(λc,θc)を取得する。そして、カーソル位置変化部50は、当該カーソル座標値(λc,θc)と、第1移動量成分値Δλc及び第2移動量成分値Δθcとに基づいて、カーソルCの移動後の位置を示す座標値(λc,θc)を特定する。そして、座標値データ記憶部40に記憶されているデータにおけるカーソル座標値データが示すカーソル座標値(λc,θc)を、特定されたカーソル座標値(λc,θc)に更新する。
 移動可能領域変化部52は、移動後のカーソルCの重心Gの位置が、移動可能領域MA外である場合は、上述のようにして、移動可能領域MAを移動させる。移動可能領域変化部52は、具体的には例えば、更新後のカーソル座標値(λc,θc)が、移動可能領域座標値データが示す4つの座標値で囲まれる領域外である場合は、上述のようにして、移動可能領域座標値データが示す4つの座標値を更新する。
 全体画像生成部54は、座標値データ記憶部40に記憶されているカーソル座標値データ及び移動可能領域座標値データに基づいて全体画像30を生成する。
 表示制御部56は、全体画像生成部54が生成する全体画像30をディスプレイ16に出力する。
 ここで、本実施形態に係る情報処理装置12で各フレームについて行われる処理の流れの一例を、図16に示すフロー図を参照しながら説明する。
 まず、操作量データ取得部44が、ジャイロセンサによる検出結果に対応付けられる操作量データを取得する(S101)。そして、操作量成分特定部46は、S101に示す処理で取得した操作量データに基づいて、当該フレームにおける操作座標値(λo,θo)を特定する(S102)。そして、S102に示す処理で特定された操作座標値(λo,θo)と座標値データ記憶部40に記憶されている操作座標値(λo,θo)との差分に基づいて、第1操作量成分値Δλo及び第2操作量成分値Δθoを特定する(S103)。そして、操作量成分特定部46は、座標値データ記憶部40に記憶されている操作座標値データが示す操作座標値(λo,θo)を、S102に示す処理で特定された操作座標値(λo,θo)に更新する(S104)。
 そして、移動量成分決定部48は、所定の抑制条件を満足するか否かを判定する(S105)。ここで例えば、決定操作が行われてから所定時間(例えば、5フレーム)以内である、又は、強制リセット処理が実行されてから所定時間(例えば、2フレーム)以内であるという条件を満足する場合は、所定の抑制条件を満足すると判定される。
 所定の抑制条件を満足しないと判定された場合は(S105:N)、移動量成分決定部48が、第1関係データと、S103に示す処理で特定された第1操作量成分値Δλoと、に基づいて、第1移動量成分値Δλcを決定する(S106)。そして、移動量成分決定部48が、第2関係データと、S103に示す処理で特定された第2操作量成分値Δθoと、に基づいて、第2移動量成分値Δθcを決定する(S107)。
 そして、カーソル位置変化部50は、カーソルCの移動後のカーソル座標値(λc,θc)を特定する(S108)。このとき本処理例では、カーソル座標値データが示すカーソル座標値(λc,θc)のθc成分の値と、S106に示す処理で決定された第1移動量成分値Δλcと、に基づいて、カーソルCの移動後のカーソル座標値(λc,θc)のθc成分の値が特定される。また、カーソル座標値データが示すカーソル座標値(λc,θc)のλc成分の値と、S107に示す処理で決定された第2移動量成分値Δθcと、に基づいて、カーソルCの移動後の位置を示すカーソル座標値(λc,θc)のλc成分の値が特定される。
 そして、カーソル位置変化部50は、座標値データ記憶部40に記憶されているカーソル座標値データが示すカーソル座標値(λc,θc)を、S108に示す処理で特定されたカーソル座標値(λc,θc)に更新する(S109)。
 そして、移動可能領域変化部52は、移動後のカーソルCの重心Gの位置が、移動可能領域MA外であるか否かを判定する(S110)。S110に示す処理では、具体的には例えば、更新後のカーソル座標値(λc,θc)が表す位置が、移動可能領域座標値データが示す4つの座標値で囲まれる領域外であるか否かが判定される。移動可能領域MA外である場合は(S110:Y)、移動可能領域変化部52は、上述したように、移動可能領域MAを移動させる(S111)。S111に示す処理では、具体的には例えば、座標値データ記憶部40に記憶されている移動可能領域座標値データが示す4つの座標値を更新する。
 移動可能領域MA内である場合(S110:N)、又は、S111に示す処理が終了した場合は、全体画像生成部54は、図10に示す移動可能領域MA内におけるカーソルCの重心Gの相対的な位置を決定する(S112)。S112に示す処理では、当該相対的な位置は、例えば、カーソル座標値データ及び移動可能領域座標値データに基づいて決定される。
 そして、S105に示す処理で所定の抑制条件を満足すると判定された場合(S105:Y)、又は、S112に示す処理が終了した場合は、全体画像生成部54は、S112に示す処理で決定された位置にカーソルCの重心Gが配置された移動可能領域MAを含む全体画像30を生成する(S113)。
 そして、表示制御部56は、S113に示す処理で生成された全体画像30をディスプレイ16に出力して(S114)、本処理例に示す処理を終了する。ディスプレイ16は、S115に示す処理で出力された全体画像30を受け付けると、当該全体画像30を画面に表示させる。
 なお、本発明は上述の実施形態に限定されるものではない。
 例えば、オンスクリーンキーボードのサイズが可変であっても構わない。そして例えば、オンスクリーンキーボードのサイズに基づいて、操作量成分の大きさに対する当該操作量成分に対応付けられる移動量成分の大きさが決定されてもよい。より具体的には例えば、オンスクリーンキーボードのサイズが小さいほど、操作量成分の大きさに対する当該操作量成分に対応付けられる移動量成分の大きさが小さくなるようにしてもよい。
 また、ユーザが、操作量成分の大きさに対する当該操作量成分に対応付けられる移動量成分の大きさを変更できるようになっていても構わない。
 また、情報処理装置12がディスプレイ16を内蔵していてもよい。また、情報処理装置12が複数の筐体から構成されていてもよい。また、上記の具体的な文字列や図面中の具体的な文字列は例示であり、これらの文字列には限定されない。

Claims (9)

  1.  第1の配置方向に沿って配置された複数の選択肢をそれぞれ含む複数の選択肢群が表され、前記複数の選択肢群は前記第1の配置方向とは異なる第2の配置方向に沿って配置されている画像内におけるカーソルの位置を制御するカーソル位置制御装置であって、
     操作された方向及び大きさを表す操作量ベクトルに対応付けられる操作量データを取得する操作量データ取得部と、
     前記操作量データに基づいて、第1の操作方向についての前記操作量ベクトルの成分である第1操作量成分の大きさと、当該第1の操作方向とは異なる第2の操作方向についての前記操作量ベクトルの成分である第2操作量成分の大きさと、を特定する操作量成分特定部と、
     前記第1操作量成分の大きさに基づいて、前記カーソルの移動量を表す移動量ベクトルの前記第1の配置方向についての成分である第1移動量成分の大きさを決定し、前記第2操作量成分の大きさに基づいて、前記移動量ベクトルの前記第2の配置方向についての成分である第2移動量成分の大きさを決定する移動量成分決定部と、
     前記カーソルの位置を、当該カーソルの現在位置から前記第1の配置方向については前記第1移動量成分の大きさだけ前記第2の配置方向については前記第2移動量成分の大きさだけ離れた位置に変化させるカーソル位置変化部と、を含み、
     前記第2の配置方向に沿った前記選択肢群の配置間隔は前記第1の配置方向に沿った前記選択肢の配置間隔よりも短く、
     前記第2操作量成分の大きさに対する前記第2移動量成分の大きさの比率が、前記第1操作量成分の大きさに対する前記第1移動量成分の大きさの比率よりも小さい、
     ことを特徴とするカーソル位置制御装置。
  2.  前記第1の配置方向は前記画像が表示される表示部における横方向であり、
     前記第2の配置方向は前記表示部における縦方向である、
     ことを特徴とする請求項1に記載のカーソル位置制御装置。
  3.  前記画像内における前記カーソルの位置が当該画像の一部を占める領域に制限される、
     ことを特徴とする請求項1又は2に記載のカーソル位置制御装置。
  4.  前記領域の端には、前記選択肢が配置されている、
     ことを特徴とする請求項3に記載のカーソル位置制御装置。
  5.  前記操作量データ取得部は、ジャイロセンサが検出する回転量ベクトルに対応付けられる前記操作量データを取得し、
     前記操作量成分特定部は、前記操作量データに基づいて、第1の回転方向についての前記操作量ベクトルの成分である第1回転量成分の大きさと、当該第1の回転方向とは異なる第2の回転方向についての前記操作量ベクトルの成分である第2回転量成分の大きさと、を特定し、
     前記移動量成分決定部は、前記第1回転量成分の大きさに基づいて、前記第1移動量成分の大きさを決定し、前記第2回転量成分の大きさに基づいて、前記第2移動量成分の大きさを決定する、
     ことを特徴とする請求項1から4のいずれか一項に記載のカーソル位置制御装置。
  6.  前記第2の配置方向に沿って配置されている前記選択肢の数は前記第1の配置方向に沿って配置されている前記選択肢の数よりも少ない、
     ことを特徴とする請求項1から5のいずれか一項に記載のカーソル位置制御装置。
  7.  第1の配置方向に沿って配置された複数の選択肢をそれぞれ含む複数の選択肢群が表され、前記複数の選択肢群は前記第1の配置方向とは異なる第2の配置方向に沿って配置されている画像内におけるカーソルの位置を制御するカーソル位置制御方法であって、
     操作された方向及び大きさを表す操作量ベクトルに対応付けられる操作量データを取得する操作量データ取得ステップと、
     前記操作量データに基づいて、第1の操作方向についての前記操作量ベクトルの成分である第1操作量成分の大きさと、当該第1の操作方向とは異なる第2の操作方向についての前記操作量ベクトルの成分である第2操作量成分の大きさと、を特定する操作量成分特定ステップと、
     前記第1操作量成分の大きさに基づいて、前記カーソルの移動量を表す移動量ベクトルの前記第1の配置方向についての成分である第1移動量成分の大きさを決定し、前記第2操作量成分の大きさに基づいて、前記移動量ベクトルの前記第2の配置方向についての成分である第2移動量成分の大きさを決定する移動量成分決定ステップと、
     前記カーソルの位置を、当該カーソルの現在位置から前記第1の配置方向については前記第1移動量成分の大きさだけ前記第2の配置方向については前記第2移動量成分の大きさだけ離れた位置に変化させるカーソル位置変化ステップと、を含み、
     前記第2の配置方向に沿った前記選択肢群の配置間隔は前記第1の配置方向に沿った前記選択肢の配置間隔よりも短く、
     前記第2操作量成分の大きさに対する前記第2移動量成分の大きさの比率が、前記第1操作量成分の大きさに対する前記第1移動量成分の大きさの比率よりも小さい、
     ことを特徴とするカーソル位置制御方法。
  8.  第1の配置方向に沿って配置された複数の選択肢をそれぞれ含む複数の選択肢群が表され、前記複数の選択肢群は前記第1の配置方向とは異なる第2の配置方向に沿って配置されている画像内におけるカーソルの位置を制御するコンピュータに実行させるプログラムであって、
     操作された方向及び大きさを表す操作量ベクトルに対応付けられる操作量データを取得する手順、
     前記操作量データに基づいて、第1の操作方向についての前記操作量ベクトルの成分である第1操作量成分の大きさと、当該第1の操作方向とは異なる第2の操作方向についての前記操作量ベクトルの成分である第2操作量成分の大きさと、を特定する手順、
     前記第1操作量成分の大きさに基づいて、前記カーソルの移動量を表す移動量ベクトルの前記第1の配置方向についての成分である第1移動量成分の大きさを決定し、前記第2操作量成分の大きさに基づいて、前記移動量ベクトルの前記第2の配置方向についての成分である第2移動量成分の大きさを決定する手順、
     前記カーソルの位置を、当該カーソルの現在位置から前記第1の配置方向については前記第1移動量成分の大きさだけ前記第2の配置方向については前記第2移動量成分の大きさだけ離れた位置に変化させる手順、を前記コンピュータに実行させ、
     前記第2の配置方向に沿った前記選択肢群の配置間隔は前記第1の配置方向に沿った前記選択肢の配置間隔よりも短く、
     前記第2操作量成分の大きさに対する前記第2移動量成分の大きさの比率が、前記第1操作量成分の大きさに対する前記第1移動量成分の大きさの比率よりも小さい、
     ことを特徴とするプログラム。
  9.  第1の配置方向に沿って配置された複数の選択肢をそれぞれ含む複数の選択肢群が表され、前記複数の選択肢群は前記第1の配置方向とは異なる第2の配置方向に沿って配置されている画像内におけるカーソルの位置を制御するコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体であって、
     操作された方向及び大きさを表す操作量ベクトルに対応付けられる操作量データを取得する手順、
     前記操作量データに基づいて、第1の操作方向についての前記操作量ベクトルの成分である第1操作量成分の大きさと、当該第1の操作方向とは異なる第2の操作方向についての前記操作量ベクトルの成分である第2操作量成分の大きさと、を特定する手順、
     前記第1操作量成分の大きさに基づいて、前記カーソルの移動量を表す移動量ベクトルの前記第1の配置方向についての成分である第1移動量成分の大きさを決定し、前記第2操作量成分の大きさに基づいて、前記移動量ベクトルの前記第2の配置方向についての成分である第2移動量成分の大きさを決定する手順、
     前記カーソルの位置を、当該カーソルの現在位置から前記第1の配置方向については前記第1移動量成分の大きさだけ前記第2の配置方向については前記第2移動量成分の大きさだけ離れた位置に変化させる手順、を前記コンピュータに実行させ、
     前記第2の配置方向に沿った前記選択肢群の配置間隔は前記第1の配置方向に沿った前記選択肢の配置間隔よりも短く、
     前記第2操作量成分の大きさに対する前記第2移動量成分の大きさの比率が、前記第1操作量成分の大きさに対する前記第1移動量成分の大きさの比率よりも小さい、
     ことを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
PCT/JP2014/071742 2013-08-20 2014-08-20 カーソル位置制御装置、カーソル位置制御方法、プログラム及び情報記憶媒体 WO2015025874A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201480044637.9A CN105453012B (zh) 2013-08-20 2014-08-20 光标位置控制装置、光标位置控制方法、程序和信息存储介质
EP14837792.2A EP3037941B1 (en) 2013-08-20 2014-08-20 Cursor location control device, cursor location control method, program, and information storage medium
US14/908,622 US10216288B2 (en) 2013-08-20 2014-08-20 Cursor position controlling apparatus, cursor position controlling method, program and information storage medium
JP2015532875A JP6049885B2 (ja) 2013-08-20 2014-08-20 カーソル位置制御装置、カーソル位置制御方法、プログラム及び情報記憶媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013170805 2013-08-20
JP2013-170805 2013-08-20

Publications (1)

Publication Number Publication Date
WO2015025874A1 true WO2015025874A1 (ja) 2015-02-26

Family

ID=52483646

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/071742 WO2015025874A1 (ja) 2013-08-20 2014-08-20 カーソル位置制御装置、カーソル位置制御方法、プログラム及び情報記憶媒体

Country Status (5)

Country Link
US (1) US10216288B2 (ja)
EP (1) EP3037941B1 (ja)
JP (1) JP6049885B2 (ja)
CN (1) CN105453012B (ja)
WO (1) WO2015025874A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017051567A1 (ja) * 2015-09-24 2017-03-30 アイシン・エィ・ダブリュ株式会社 操作システム、操作方法、及び操作プログラム
WO2023021757A1 (ja) * 2021-08-20 2023-02-23 ソニーグループ株式会社 情報処理装置、情報処理方法、及びプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110007786B (zh) * 2019-03-04 2022-03-29 深圳威尔视觉科技有限公司 一种手柄映射到鼠标灵敏度的优化方法和相关装置
CN111870945A (zh) * 2020-08-10 2020-11-03 网易(杭州)网络有限公司 控件选择方法、装置、主机及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10260784A (ja) * 1997-03-17 1998-09-29 Hitachi Ltd カーソル制御方法及び装置
US20070245259A1 (en) 2006-04-12 2007-10-18 Sony Computer Entertainment Inc. Dynamic arrangement of characters in an on-screen keyboard
WO2008156141A1 (ja) * 2007-06-20 2008-12-24 Sony Corporation 制御装置、入力装置、制御システム、ハンドヘルド型情報処理装置、制御方法及びそのプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2140164A1 (en) * 1994-01-27 1995-07-28 Kenneth R. Robertson System and method for computer cursor control
US7071917B2 (en) * 2002-01-09 2006-07-04 Sony Corporatiom Electronic apparatus and method and program of controlling the same
CN201025530Y (zh) * 2007-03-12 2008-02-20 昆盈企业股份有限公司 可调整分辨率的计算机输入装置及光标控制装置
JP5338662B2 (ja) 2007-06-08 2013-11-13 ソニー株式会社 情報処理装置、入力装置及び情報処理システム
US8010313B2 (en) * 2008-06-27 2011-08-30 Movea Sa Hand held pointing device with roll compensation
JP4968321B2 (ja) * 2009-12-25 2012-07-04 株式会社デンソー 車両用操作入力装置
KR101742986B1 (ko) * 2010-07-26 2017-06-15 엘지전자 주식회사 영상표시기기 및 그 동작 방법
WO2012023089A1 (en) 2010-08-16 2012-02-23 Koninklijke Philips Electronics N.V. Highlighting of objects on a display
US9116616B2 (en) * 2011-02-10 2015-08-25 Blackberry Limited Portable electronic device and method of controlling same
JP2013012010A (ja) * 2011-06-29 2013-01-17 Jvc Kenwood Corp ポインタ表示装置、ポインタ表示方法、及びポインタ表示プログラム
US9274616B2 (en) * 2012-09-11 2016-03-01 Empire Technology Development Llc Pointing error avoidance scheme

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10260784A (ja) * 1997-03-17 1998-09-29 Hitachi Ltd カーソル制御方法及び装置
US20070245259A1 (en) 2006-04-12 2007-10-18 Sony Computer Entertainment Inc. Dynamic arrangement of characters in an on-screen keyboard
WO2008156141A1 (ja) * 2007-06-20 2008-12-24 Sony Corporation 制御装置、入力装置、制御システム、ハンドヘルド型情報処理装置、制御方法及びそのプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017051567A1 (ja) * 2015-09-24 2017-03-30 アイシン・エィ・ダブリュ株式会社 操作システム、操作方法、及び操作プログラム
JPWO2017051567A1 (ja) * 2015-09-24 2018-06-14 アイシン・エィ・ダブリュ株式会社 操作システム、操作方法、及び操作プログラム
WO2023021757A1 (ja) * 2021-08-20 2023-02-23 ソニーグループ株式会社 情報処理装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
CN105453012B (zh) 2019-08-16
CN105453012A (zh) 2016-03-30
JPWO2015025874A1 (ja) 2017-03-02
EP3037941A4 (en) 2017-01-04
EP3037941B1 (en) 2018-08-01
US10216288B2 (en) 2019-02-26
JP6049885B2 (ja) 2016-12-21
US20160170501A1 (en) 2016-06-16
EP3037941A1 (en) 2016-06-29

Similar Documents

Publication Publication Date Title
CN108780360B (zh) 虚拟现实导航
US9721396B2 (en) Computer and computer system for controlling object manipulation in immersive virtual space
JP6159323B2 (ja) 情報処理方法及び情報処理装置
US20160313800A1 (en) Information processing device, information processing method, and program
JP5808712B2 (ja) 映像表示装置
US11042732B2 (en) Gesture recognition based on transformation between a coordinate system of a user and a coordinate system of a camera
US20180143693A1 (en) Virtual object manipulation
JP6357023B2 (ja) 情報処理プログラム、情報処理装置、情報処理装置の制御方法および情報処理システム
US9507414B2 (en) Information processing device, information processing method, and program
WO2016199736A1 (ja) 仮想空間位置指定方法、プログラム、プログラムを記録した記録媒体、および、装置
US20140189581A1 (en) Information processing apparatus, information processing method, and program
WO2015025874A1 (ja) カーソル位置制御装置、カーソル位置制御方法、プログラム及び情報記憶媒体
US10929083B2 (en) Resource sharing device and control method thereof
US20140035813A1 (en) Input device, input method and recording medium
US8643640B2 (en) Object processing apparatus and storage medium having object processing program stored thereon
US20180203602A1 (en) Information terminal device
US20120162262A1 (en) Information processor, information processing method, and computer program product
CN107111930B (zh) 显示装置及其控制方法
US20210014425A1 (en) Information processing apparatus, setting method, and storage medium
CN104094213A (zh) 信息处理装置、信息处理方法、程序以及信息存储介质
JP2013109538A (ja) 入力方法及び入力装置
JP5841023B2 (ja) 情報処理装置、情報処理方法、プログラム及び情報記憶媒体
JP2021043680A (ja) 情報処理装置及び情報処理プログラム
JP2017004539A (ja) 仮想空間位置指定方法、プログラム、プログラムを記録した記録媒体、および、装置
JP5997388B2 (ja) エミュレーション装置、エミュレーション方法、プログラム及び情報記憶媒体

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201480044637.9

Country of ref document: CN

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

Ref document number: 14837792

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015532875

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2014837792

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14908622

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE