Operation processing device, operation processing method, and computer program

The operation processing device addresses unintended operation results from multiple analog sticks by determining a representative stick within a stationary range, generating operation information from its value, thus enhancing input accuracy and user experience.

WO2025018101A1PCT designated stage expired Publication Date: 2025-01-23SONY INTERACTIVE ENTERTAINMENT LLC
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/022756
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-14
Filing Date
2024-06-24
Publication Date
2025-01-23

AI Technical Summary

Technical Problem

When multiple analog sticks are handled as a single input device, unintended operation results can occur due to the summation of their operation values, leading to mistaken detection of stick operation, even when they are in a stationary state.

Method used

An operation processing device that acquires values related to the operation amounts of multiple analog sticks, determines a representative stick based on a predetermined rule when the values are within a stationary range, and generates operation information using this representative stick's value, thereby preventing unintended operation results.

Benefits of technology

This approach effectively reduces the occurrence of unintended operation results by identifying a representative stick and using its operation value, ensuring accurate input processing and user comfort by minimizing mistaken operation detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024022756_23012025_PF_FP_ABST
    Figure JP2024022756_23012025_PF_FP_ABST
Patent Text Reader

Abstract

A controller 18 acquires values related to the operation amounts of a plurality of analog sticks 20 (analog stick 20a, analog stick 20b, analog stick 20c) to each of which a user's operation is inputted. When all of the values related to the operation amounts of the plurality of analog sticks 20 are values in a range regarded as a stationary state, the controller 18 determines a representative analog stick 20 from among the plurality of analog sticks 20 on the basis of a prescribed rule. The controller 18 generates operation information based on the value related to the operation amount for the representative analog stick 20.
Need to check novelty before this filing date? Find Prior Art

Description

Operation processing device, operation processing method, and computer program

[0001] The present invention relates to data processing technology, and more particularly to an operation processing device, an operation processing method, and a computer program.

[0002] 2. Description of the Related Art Controllers equipped with analog sticks are widely used as controllers with which a user inputs operations into application software such as games.

[0003] In recent years, systems have been provided that treat multiple analog sticks as a single input device. In such systems, if the sum of the operation amounts for each of the multiple analog sticks is used as an input value to the system, the input value may be unintended by the user, potentially resulting in an operation result unintended by the user. A primary object of the present invention is to provide a technology that prevents unintended operation results when treating multiple operation members as a single input device.

[0004] In order to solve the above problem, an operation processing device according to one aspect of the present invention includes an acquisition unit that acquires values ​​relating to the operation amounts of multiple operation members, in which a user's input operation is detected as information on a two-dimensional plane; a determination unit that, when the values ​​relating to the operation amounts of any of the multiple operation members are within a range that is considered to be in a stationary state, determines a representative operation member from among the multiple operation members based on a predetermined rule; and a generation unit that generates operation information based on the value relating to the operation amount for the representative operation member.

[0005] Another aspect of the present invention is an operation processing method, which includes the steps of: acquiring values ​​related to the operation amounts of a plurality of operation members detected as information on a two-dimensional plane based on a user's input operation; determining a representative operation member from among the plurality of operation members based on a predetermined rule when the values ​​related to the operation amounts of all of the operation members are within a range that is considered to be in a stationary state; and generating operation information based on the values ​​related to the operation amounts of the representative operation member, executed by a computer.

[0006] Any combination of the above components, or conversion of the expression of the present invention between an operating device, an information processing device, a system, a computer program, a recording medium storing a computer program, etc., are also valid aspects of the present invention.

[0007] According to the present invention, when a plurality of operation members are treated as a single input device, it is possible to prevent an operation result that is not intended by the user.

[0008] FIG. 1 is a diagram showing the configuration of an information processing system according to a first embodiment; FIG. 2 is a diagram showing the hardware configuration related to a first embodiment of a controller; FIG. 3 is a diagram showing the relationship between analog stick operation and input values; FIG. 4 is a block diagram showing functional blocks of a controller according to a first embodiment; FIG. 5 is a flowchart showing the operation of a controller following FIG. 5; FIG. 6 is a block diagram showing functional blocks of a controller according to a second embodiment; FIG. 7 is a flowchart showing the operation of a controller according to a second embodiment; FIG. 8 is a diagram explaining attenuation calculation according to a second embodiment; and FIG. 9 is a diagram explaining attenuation calculation according to a modified example.

[0009] 1 shows the configuration of an information processing system 10 according to Example 1. The information processing system 10 includes an information processing device 12, a display device 14, a controller 18, an analog stick 20a, an analog stick 20b, and an analog stick 20c.

[0010] The information processing device 12 is a computer capable of executing various software such as system software and application software, and is a stationary game console in the first embodiment. Alternatively, the information processing device 12 may be a PC, a tablet terminal, a smartphone, or a server.

[0011] The controller 18 is a device that accepts operations input by a user to system software or application software (e.g., a video game) executed by the information processing device 12. The controller 18 can also be called an operation device. The controller 18 includes the functionality of an operation processing device that executes data processing related to the generation of operation information indicating operations input by the user. The controller 18 sequentially transmits the generated operation information to the information processing device 12. The controller 18 is connected to the information processing device 12 via a wired or wireless connection. The controller 18 may be an adaptive controller that is intended to be used by users with various conditions, such as people with physical disabilities.

[0012] The analog stick 20a is an analog stick device that is provided at a predetermined position on the controller 18 when the controller 18 is manufactured. On the other hand, the analog stick 20b and the analog stick 20c are analog stick devices that are externally attached to the controller 18. For example, the analog stick 20b and the analog stick 20c may be connected to the AUX port of the controller 18 by wire, or may be connected to the controller 18 wirelessly.

[0013] The analog sticks 20a, 20b, and 20c (collectively referred to as "analog sticks 20") are set in advance to be treated as a single analog stick. The user uses the analog sticks 20a, 20b, and 20c in parallel to input operations for the system software and application software running on the information processing device 12.

[0014] The analog stick 20, also called a control stick, thumbstick, or joystick, is used to input the direction and amount of tilt. The amount of tilt can also be referred to as the angle at which the analog stick 403 is tilted. The analog stick 20 may also function as a push-button that sinks downward when pressed by the user and returns to its original position when the user releases their hand.

[0015] The display device 14 has a display for outputting images and a speaker for outputting sound. The display device 14 may be a television or a computer display. The display device 14 is connected to the information processing device 12 via a wired or wireless connection. When the information processing device 12 receives operation information transmitted from the controller 18, it reflects the operation information in the processing of the system software and application software, causes the display device 14 to display an image related to the processing result, and causes the speaker of the display device 14 to output sound related to the processing result.

[0016] 2 shows the hardware configuration related to a first embodiment of the controller 18. The controller 18 includes a plurality of buttons 200, an analog stick 20a, a processor 202, a memory unit 204, a communication control unit 206, and an AUX port 208.

[0017] Various functions are assigned to the buttons 200 to allow the user to control system software and application software executed on the information processing device 12. The functions assigned to the buttons 200 may include a confirmation function, a cancel function, an option function, and a function of a direction key for inputting directions.

[0018] The processor 202 executes various data processing operations and controls the operation of various hardware components. The processor 202 may include a central processing unit (CPU), memory, and a system on a chip (SoC). The storage unit 204 stores data referenced or updated by the processor 202.

[0019] The communication control unit 206 controls communication with external devices. In the first embodiment, the communication control unit 206 performs wireless communication with the information processing device 12, but as a modified example, it may perform wired communication with the information processing device 12. The AUX plugs of the analog stick 20b and the analog stick 20c are connected to the AUX port 208.

[0020] An input operation by the user using the analog stick 20 is detected as information (hereinafter also referred to as an "operation amount" or an "input value") on a two-dimensional plane formed by the X-axis and the Y-axis. The controller 18 outputs operation information relating to the detected operation amount to the information processing device 12.

[0021] FIG. 3 shows the relationship between the operation of the analog stick 20 and the input value. The stick movable range 100, indicated by a circle in FIG. 3, indicates the range in which the analog stick 20 can actually be moved. The solid-line rectangle in FIG. 3 indicates the data normalization range 102. The data normalization range 102 is a range to which an input value is assigned according to the amount of operation. This amount of operation can also be considered an analog value (voltage value) read in response to the tilt operation of the analog stick 20. The dashed arrows in FIG. 3 indicate the input values ​​assigned in the data normalization range 102. In the data normalization range 102, input values ​​of 0 to 255 are assigned to each of the X-axis and Y-axis directions. The return position 104 can also be considered the center return position, and is the position of the analog stick 20 when the finger is off the analog stick 20 (i.e., when not operating). The input value at the return position 104 is 128 in both the X-axis and Y-axis directions.

[0022] The dashed rectangle in Figure 3 indicates a device neutral range 106. The device neutral range 106 is a range in which the analog stick 20 is considered to be in a stationary state (i.e., not operated). In the first embodiment, the device neutral range 106 is a range of values ​​in the X-axis direction of 128 ± 13 and in the Y-axis direction of 128 ± 13. For example, if the amount of operation indicated by the operation information received from the controller 18 is within the device neutral range 106, the system software or application software executed on the information processing device 12 determines that the analog stick 20 is in a stationary state (i.e., not operated), and executes processing corresponding to the analog stick 20 being in a stationary state.

[0023] Here, we will explain drift that can occur when multiple analog sticks 20 are stationary. In recent years, a technology has been proposed in which operations on multiple analog sticks 20 are considered to be operations on a single analog stick 20 and an input value to the system is obtained. In this method, when the sum of the operation amounts detected for the multiple analog sticks 20 is used as the input value to the system, if a value that is within the device neutral range 106 but close to the boundary of the device neutral range 106 is detected as the operation amount for each analog stick 20, the sum of the operation amounts may deviate from the device neutral range 106. As a result, it may be erroneously determined that the analog stick 20 is being operated when it should actually be determined that it is not being operated.

[0024] Therefore, when the operation amounts of all of the multiple analog sticks 20 are values ​​within the device neutral range 106, the controller 18 of the first embodiment determines one analog stick 20 as a representative analog stick 20 from among the multiple analog sticks 20 based on a predetermined rule. Specifically, the controller 18 of the first embodiment identifies the analog stick 20 that last came to rest among the multiple analog sticks 20, and determines that analog stick 20 as the representative analog stick 20. The controller 18 generates operation information based on a value related to the operation amount for the representative analog stick 20. This reduces the possibility of the above-mentioned erroneous determination occurring.

[0025] 4 is a block diagram showing the functional blocks of the controller 18 of the first embodiment. Each block shown in the block diagram in this specification can be realized in hardware terms by elements such as a computer processor, CPU, and memory, as well as electronic circuits and mechanical devices, and in software terms by computer programs loaded into memory, but the functional blocks shown here are realized by the cooperation of these elements. Therefore, it will be understood by those skilled in the art that these functional blocks can be realized in various ways by combining hardware and software.

[0026] The controller 18 includes an analog stick 20a, a processing unit 30, a storage unit 32, and a communication unit 34. The processing unit 30 executes various data processes. The processing unit 30 corresponds to the processor 202 in FIG. 2. The storage unit 32 stores data referenced or updated by the processing unit 30. The storage unit 32 corresponds to the storage unit 204 in FIG. 2. The communication unit 34 corresponds to the communication control unit 206 in FIG. 2, and communicates with an external device in accordance with a predetermined communication protocol. The processing unit 30 transmits and receives data to and from the information processing device 12 via the communication unit 34.

[0027] The storage unit 32 includes an operation amount storage unit 40, a stationary count storage unit 42, and a stationary confirmation count storage unit 44. The operation amount storage unit 40 stores operation amounts, which are information indicating the magnitude of operations input to each of the analog sticks 20a, 20b, and 20c. In the embodiment, the operation amounts are values ​​from 0 to 255 for each of a plurality of combinations of the type of analog stick 20 and the axial direction (X-axis direction and Y-axis direction). For example, the operation amount storage unit 40 stores the X-axis direction operation amount and Y-axis direction operation amount of the analog stick 20a, the X-axis direction operation amount and Y-axis direction operation amount of the analog stick 20b, and the X-axis direction operation amount and Y-axis direction operation amount of the analog stick 20c.

[0028] The rest count storage unit 42 stores a rest count. The rest count indicates the number of times the analog stick 20 has been determined to be stationary, and in this embodiment, a value between 0 and 100 is stored. In this embodiment, a rest count is provided for each analog stick 20 and for each X-axis and Y-axis. For example, the rest count storage unit 42 stores the X-axis rest count and Y-axis rest count for the analog stick 20a, the X-axis rest count and Y-axis rest count for the analog stick 20b, and the X-axis rest count and Y-axis rest count for the analog stick 20c.

[0029] The stationary confirmation count storage unit 44 stores the stationary confirmation count for the X axis and the stationary confirmation count for the Y axis. The stationary confirmation count indicates the number of analog sticks 20 that have been confirmed to be in a stationary state. For example, if the information processing system 10 includes analog sticks 20a, 20b, and 20c, a value between 0 and 3 is stored in each of the stationary confirmation count for the X axis and the stationary confirmation count for the Y axis.

[0030] The processing unit 30 includes an operation amount acquisition unit 50, a representative device determination unit 52, an operation information generation unit 54, and an operation information transmission unit 56. A computer program (e.g., firmware) that implements these multiple functions may be stored in the storage unit 204 of the controller 18. The processor 202 of the controller 18 may fulfill these multiple functions by reading this computer program into main memory and executing it.

[0031] The operation amount acquisition unit 50 acquires values ​​related to the operation amounts of the multiple analog sticks 20, which are obtained by detecting user input operations as information on a two-dimensional plane. In the embodiment, the operation amount acquisition unit 50 repeatedly acquires values ​​of the operation amounts input to each of the analog sticks 20a, 20b, and 20c at a predetermined cycle (1 millisecond in the embodiment). The operation amount values ​​in the embodiment are values ​​within the data normalization range 102 in FIG. 3. In other words, the operation amount values ​​include a value in the X-axis direction (0 to 255) and a value in the Y-axis direction (0 to 255) on the two-dimensional plane.

[0032] If the values ​​related to the operation amounts of all of the multiple analog sticks 20 are within a range in which they are considered to be in a stationary state (i.e., the device neutral range 106 in FIG. 3 ), the representative device determination unit 52 determines a representative analog stick 20 from among the multiple analog sticks 20 based on predetermined rules. In the first embodiment, the representative device determination unit 52 determines the analog stick 20 that last came to a standstill among the multiple analog sticks 20 as the representative analog stick 20, based on the values ​​related to the operation amounts of the multiple analog sticks 20 repeatedly acquired by the operation amount acquisition unit 50.

[0033] When the operation amount values ​​of all of the multiple analog sticks 20 are within a range in which the operation amount is considered to be in a stationary state (device neutral range 106), the operation information generation unit 54 generates operation information based on the value related to the operation amount for the representative analog stick 20 determined by the representative device determination unit 52. This operation information may include a value of 128±13 as the operation amount value.

[0034] If the analog stick 20 that last came to rest is undetermined, the representative device determination unit 52 does not determine a representative analog stick 20. For example, if the value of the operation amount of at least one of the multiple analog sticks 20 is a value that deviates from the device neutral range 106, the representative device determination unit 52 does not determine a representative analog stick 20. If the representative analog stick 20 is undetermined, in other words, if the analog stick 20 that last came to rest is undetermined, the operation information generation unit 54 generates operation information based on the result of adding up the values ​​related to the operation amounts of the multiple analog sticks 20.

[0035] The operation information transmitting unit 56 transmits the operation information generated by the operation information generating unit 54 to the information processing device 12 via the communication unit 34 .

[0036] The operation of the information processing system 10 configured as described above will now be described. The operation amount acquisition unit 50 of the controller 18 acquires the operation amounts of each of the analog sticks 20a, 20b, and 20c. The operation information generation unit 54 of the controller 18 generates a single piece of operation information based on the operation amounts of each of the analog sticks 20a, 20b, and 20c. The operation information transmission unit 56 of the controller 18 transmits the operation information generated by the operation information generation unit 54 to the information processing device 12. The operation amount acquisition unit 50 repeatedly executes this series of operations at a predetermined cycle.

[0037] If the operation amounts of all analog sticks 20 are within the device neutral range 106 and the analog stick 20 that was operated last (hereinafter also referred to as the "finally operated stick") can be determined, the operation information generation unit 54 generates operation information that indicates the operation amount of the last operated stick as the representative analog stick 20. The operation amount here is a normalized value between 0 and 255 for each of the X-axis and Y-axis directions.

[0038] On the other hand, if the operation amount of at least one analog stick 20 deviates from the device neutral range 106 or the final operation stick cannot be determined, the operation information generation unit 54 generates an input value in the X-axis direction and an input value in the Y-axis direction by summing the operation amounts for each of the analog sticks 20a, 20b, and 20c, and generates operation information indicating these input values. This process is also called "simple addition."

[0039] The information processing device 12 receives operation information transmitted from the controller 18. The information processing device 12 executes system software and application software based on the amount of operation of the analog stick 20 indicated by the received operation information, and causes the display device 14 to display the results of the execution.

[0040] Next, a detailed description will be given of the processing up to the generation of operation information in the controller 18. Fig. 5 is a flowchart showing the operation of the controller 18 of the first embodiment. Each time data on the amount of operation for the multiple analog sticks 20 (input values ​​in the X-axis direction and the Y-axis direction) is obtained, the series of processing shown in Fig. 5 is repeatedly executed.

[0041] The operation amount acquisition unit 50 acquires operation amount data for each of the analog sticks 20a, 20b, and 20c at a predetermined cycle (every 1 millisecond in the first embodiment), and obtains normalized values ​​(0 to 255) of the operation amount for each analog stick 20 (S10). The operation amount acquisition unit 50 stores the normalized values ​​of the operation amount for each analog stick 20 in the operation amount storage unit 40.

[0042] If the number of pieces of data on the operation amounts of each analog stick 20 acquired by the operation amount acquisition unit 50 and stored in the operation amount storage unit 40 is less than 200 (N in S12), the representative device determination unit 52 skips the process of determining the last operated analog stick 20. The operation information generation unit 54 generates operation information by simply adding up the operation amounts of the analog stick 20a, analog stick 20b, and analog stick 20c (S14).

[0043] When the number of pieces of data on the operation amounts of each analog stick 20 acquired by the operation amount acquisition unit 50 reaches 200 (Y in S12), the representative device determination unit 52 executes the following process for each analog stick 20 and for each X-axis direction and Y-axis direction. Hereinafter, the combination of a specific analog stick 20 and the X-axis direction or Y-axis direction will be referred to as a "determination target." S16 to S28 are executed for each determination target.

[0044] The representative device determination unit 52 calculates a moving average value based on the most recent 200 operation amounts related to the object to be determined stored in the operation amount storage unit 40 (S16). When new operation amount data is acquired, the oldest operation amount data is deleted from the operation amount storage unit 40. If the moving average value is within the range of 128±11 (Y in S18) and the most recent operation amount is within the range of the moving average value ±2 (Y in S20), the representative device determination unit 52 increments the stillness count (initial value 0, maximum value 100) of the object to be determined stored in the stillness count storage unit 42 (S22). The result of Y in S20 is when the most recent operation amount is within the device neutral range 106 (i.e., 128±13).

[0045] If the moving average value falls outside the range of 128±11 (N in S18) or if the latest operation amount falls outside the range of the moving average value ±2 (N in S20), the representative device determination unit 52 resets the stationary count of the determination target stored in the stationary count storage unit 42 to 0 (S24). The process then proceeds to simple addition (S14). The determination in S20 can eliminate the effects of electrical chattering. Note that the threshold values ​​in S18 (i.e., ±11) and S20 (i.e., ±2) may be set to appropriate values ​​based on the developer's knowledge or experiments using the information processing system 10. In S24, the stationary count is reset to 0, and all stationary confirmed counts stored in the stationary confirmed count storage unit 44 may also be reset to 0.

[0046] If the still count of the object to be determined has been incremented and the still count reaches 100 (Y in S26), the representative device determination unit 52 increments the still count in the axis direction to which the object to be determined belongs (i.e., the still count in the X-axis direction or the still count in the Y-axis direction) stored in the still count storage unit 44 (S28). If the still count of the object to be determined is less than 100 (N in S26), the process proceeds to simple addition (S14).

[0047] Fig. 6 is a flowchart showing the operation of the controller 18 following Fig. 5. The representative device determination unit 52 executes a series of processes shown in Fig. 6 for each of the X-axis direction and the Y-axis direction.

[0048] When the stationary confirmation count becomes (the number of analog sticks 20 - 1), and in the configuration of FIG. 1, when the stationary confirmation count becomes 2 (Y in S30), the representative device determination unit 52 searches for analog sticks 20 (herein also referred to as "not stationary sticks") whose stationary count is less than 100 (S32). If the stationary count (in the X-axis direction or the Y-axis direction) of the not stationary stick stored in the stationary count storage unit 42 is 1 or greater (Y in S34), the representative device determination unit 52 determines the not stationary stick as a candidate for the final operation stick in that axial direction (S36).

[0049] If the candidate for the final operating stick in the X-axis direction matches the candidate for the final operating stick in the Y-axis direction (Y in S38), the representative device determination unit 52 determines that candidate as the final operating stick, in other words, as the representative analog stick 20. The operation information generation unit 54 generates operation information indicating the value of the operation amount for the final operating stick (here, a normalized value in the range of 128±13) (S40).

[0050] If the value of the stationary count (X-axis or Y-axis direction) of the non-stationary stick is 0 (N in S34), or if the candidate for the final operating stick in the X-axis direction does not match the candidate for the final operating stick in the Y-axis direction (N in S38), the operation information generation unit 54 generates operation information by simply adding the operation amounts of each of the analog sticks 20a, 20b, and 20c (S42).

[0051] If the stillness confirmation count is not 2 (N in S30) but is 3 (Y in S44), the operation information generation unit 54 determines whether the representative device determination unit 52 has confirmed the final operation stick. In the first embodiment, the three analog sticks 20, analog stick 20a, analog stick 20b, and analog stick 20c, are treated as one analog stick 20, so a stillness confirmation count of 3 indicates that all analog sticks 20 have been determined to be still in the X-axis direction or the Y-axis direction. For example, if five analog sticks 20 are treated as one analog stick 20, the determination value in S30 will be 4, and the determination value in S44 will be 5.

[0052] If the final operation stick has been confirmed (Y in S46), the operation information generation unit 54 generates operation information indicating the value of the operation amount for the final operation stick (here, a normalized value in the range of 128±13) (S48). If the stationary confirmation count is not 3, that is, if the stationary confirmation count is 0 or 1 (N in S44), or if the final operation stick has not been confirmed (N in S46), the operation information generation unit 54 generates operation information by simply adding the operation amounts of the analog stick 20a, the analog stick 20b, and the analog stick 20c (S42).

[0053] Below, we will explain several cases regarding the operation of multiple analog sticks 20. Case 1: When multiple analog sticks 20 are confirmed to be stationary at the same time, the flow goes from N in S46 to S42. In other words, since it is not possible to confirm one final operated stick, the operation amounts of the multiple analog sticks 20 are simply added together.

[0054] Case 2: After the last operated stick is confirmed, if the last operated stick is operated outside the device neutral range 106 In the process of FIG. 5 after the last operated stick is confirmed, the flow goes to N in S20 and S24. In other words, the process returns to the simple addition of the operation amounts of the multiple analog sticks 20.

[0055] Case 3: After the final operating stick is confirmed, if the final operating stick is operated within the device neutral range 106 (1) If the operation is within the range of the moving average value ±2, the operation amount of the confirmed final operating stick alone is output. (2) If the operation is outside the range of the moving average value ±2, the flow goes to N in S20 and S24, and the process returns to simple addition. However, if another analog stick 20 is not being operated, the same analog stick 20 is immediately determined to be the final operating stick. Furthermore, because the comparison is made with the moving average value, if the user slowly operates the final operating stick within the device neutral range 106, the determination of the final operating stick is maintained.

[0056] Case 4: After the final operating stick is confirmed, if another analog stick 20 is operated within the device neutral range 106 (1) If the operation is within the range of the moving average value ±2, the operation amount of the confirmed final operating stick alone is output, just as before the operation of the other analog stick 20. (2) If the operation is outside the range of the moving average value ±2, the flow goes to N in S20 and S24, where the process returns to simple addition and the stillness determination is redone. If the stillness determination is redone, the other analog stick 20 becomes the final operating stick.

[0057] The controller 18 of the first embodiment can prevent unintended operation results from occurring when multiple analog sticks 20 are treated as a single input device. For example, it can prevent the multiple analog sticks 20 from being mistakenly recognized as being operated when none of them are actually being operated.

[0058] Furthermore, users often continue to use the analog stick 20 that they operated last (in other words, the analog stick 20 that they operated most recently). According to the controller 18 of the first embodiment, when the operation amounts of all analog sticks 20 are within the device neutral range 106, operation information is generated based on the operation amount of the analog stick 20 that the user is most likely to operate next. This makes it less likely that the user will feel uncomfortable with the processing results of the information processing device 12 that are based on that operation information.

[0059] Furthermore, with the controller 18 of the first embodiment, if the last analog stick 20 that came to rest is undetermined, operation information is generated based on the sum of the operation amounts of the multiple analog sticks 20. This makes it less likely that the user will feel uncomfortable with the processing results of the information processing device 12 that are based on that operation information.

[0060] The present invention has been described above based on the first embodiment. The first embodiment is merely an example, and it will be understood by those skilled in the art that various modifications are possible in the combination of each component and each treatment process, and that such modifications are also within the scope of the present invention.

[0061] A modification of the first embodiment will now be described. In the first embodiment, in the process of S38 in Fig. 6, if the candidate for the final operating stick in the X-axis direction and the candidate for the final operating stick in the Y-axis direction match, the representative device determination unit 52 determines that candidate as the representative analog stick 20. As a modification, the controller 18 may be configured to be able to switch between enabling and disabling the process of S38 through a user operation.

[0062] Specifically, the processing of S38 may be enabled when multiple analog sticks 20 are to be operated as a single analog stick 20. This is useful when there are a main operator and an auxiliary operator and operations by either operator are to be accepted. Furthermore, when each of the multiple analog sticks 20 is to be used for operation in only one axis direction, for example, when analog stick 20a is used for operation in the X axis direction and analog stick 20b is used for operation in the Y axis direction, the processing of S38 may be disabled. When the processing of S38 is disabled, one analog stick 20 may be determined as the representative analog stick 20 in the X axis direction, and another analog stick 20 may be determined as the representative analog stick 20 in the Y axis direction.

[0063] Second Embodiment The second embodiment will be described focusing on the differences from the first embodiment, and a description of the commonalities will be omitted. It goes without saying that the features of the second embodiment can be arbitrarily combined with the features of the first embodiment and the modifications. Hereinafter, elements of the second embodiment that are the same as or correspond to elements of the first embodiment will be designated by the same reference numerals.

[0064] The configuration of the information processing system 10 of the second embodiment is the same as the configuration of the information processing system 10 of the first embodiment shown in Fig. 1. In the second embodiment as well, the analog stick 20a, the analog stick 20b, and the analog stick 20c are treated as a single input device.

[0065] Like the controller 18 of the first embodiment, the controller 18 of the second embodiment determines one analog stick 20 as a representative analog stick 20 from among the multiple analog sticks 20 based on a predetermined rule when the operation amounts of all of the multiple analog sticks 20 are values ​​within the device neutral range 106. Specifically, the controller 18 of the second embodiment determines the analog stick 20 with the largest most recent displacement amount among the multiple analog sticks 20 as the representative analog stick 20. The controller 18 generates operation information based on a value related to the operation amount for the representative analog stick 20. This reduces the possibility that it will be determined that none of the analog sticks 20 are being operated when they are not.

[0066] 7 is a block diagram showing the functional blocks of the controller 18 of the second embodiment. The controller 18 of the second embodiment differs from the controller 18 of the first embodiment in the configuration of the storage unit 32. The storage unit 32 includes an operation amount storage unit 40, a damping rate storage unit 60, a displacement amount storage unit 62, and an entropy storage unit 64.

[0067] The displacement amount storage unit 62 stores, for each analog stick 20 and for each axial direction, the difference between the value of the operation amount at time t+1 and the value of the operation amount at time t (hereinafter also referred to as the "displacement amount"). Time t+1 is the point in time when one unit time has elapsed since time t. The unit time may be the cycle for acquiring the operation amount of the analog stick 20, and may be, for example, 1 millisecond. The displacement amount storage unit 62 stores time-series data of the displacement amount (hereinafter also referred to as the "displacement amount array") for each analog stick 20 and for each axial direction.

[0068] The attenuation rate storage unit 60 stores multiple attenuation rates corresponding to predetermined elapsed times and multiplied by multiple displacement amounts in the displacement amount array. Each attenuation rate is determined so that the older the displacement amount, the smaller the influence. For example, if the attenuation rate multiplied by the most recent displacement amount is 1 and the attenuation rate multiplied by the oldest displacement amount is 0.1, the attenuation rates therebetween will be greater than 0.1 but less than 1, with the attenuation rate corresponding to a time point in the past becoming smaller. The attenuation rate storage unit 60 stores data on attenuation rates for each elapsed time (hereinafter also referred to as a "attenuation rate array"). Note that the values ​​of the multiple attenuation rates may be determined to appropriate values ​​based on the developer's knowledge or experiments using the information processing system 10.

[0069] The entropy storage unit 64 stores an entropy array that indicates the result of multiplying the displacement amount recorded in the displacement amount array by the attenuation rate recorded in the attenuation rate array. Entropy is the value obtained by multiplying the displacement amount at a certain point in time by the attenuation rate corresponding to that point in time, and can be considered as a weighted displacement amount that decreases as the elapsed time increases. Entropy can also be considered as the amount of information related to the operation of the analog stick 20.

[0070] The representative device determination unit 52 determines, as the representative analog stick 20, the analog stick 20 having the largest displacement amount (in other words, the total entropy) within a predetermined time period among the multiple analog sticks 20, based on values ​​related to the amount of operation repeatedly acquired by the operation amount acquisition unit 50. Specifically, the representative device determination unit 52 derives the displacement amounts at multiple points in time within the predetermined time period for each analog stick 20 and stores them in the displacement amount storage unit 62. The representative device determination unit 52 derives the displacement amount (in other words, the total entropy) within the predetermined time period for each analog stick 20 by summing the displacement amounts (in other words, the entropy) at the multiple points in time, in accordance with the decay rate for each point in time within the predetermined time period stored in the decay rate storage unit 60, so that the influence of older displacement amounts is smaller.

[0071] As in the first embodiment, the operation information generating unit 54 generates operation information based on the amount of operation performed on the representative analog stick 20 determined by the representative device determining unit 52 .

[0072] The operation of the information processing system 10 of the second embodiment is basically the same as the operation of the information processing system 10 of the first embodiment, but the operation up to determining the representative analog stick 20 on the controller 18 is different.

[0073] The operation of the controller 18 up to the determination of the representative analog stick 20 will be described below. Fig. 8 is a flowchart showing the operation of the controller 18 of the second embodiment. Each time data on the amount of operation for the multiple analog sticks 20 (input values ​​in the X-axis and Y-axis directions) is acquired, the series of processes shown in Fig. 5 is repeatedly executed.

[0074] The operation amount acquisition unit 50 acquires operation amount data for each of the analog sticks 20 a, 20 b, and 20 c at a predetermined cycle (1 millisecond in the first embodiment) (S50). The operation amount acquisition unit 50 stores data on the operation amount for each analog stick 20 and each axial direction (hereinafter also referred to as “individual operation amount”) in the operation amount storage unit 40.

[0075] The representative device determination unit 52 stores data on a plurality of displacement amounts (i.e., differences from the individual operation amounts one unit time before) relating to a plurality of individual operation amounts in a displacement amount array in the displacement amount storage unit 62 (S54).

[0076] 9 is a diagram for explaining the attenuation calculation of the second embodiment. The displacement amount array of the embodiment includes N displacement amounts (D 0 From D N-1 The size of the displacement amount array, i.e., the number N of displacement amounts to be stored, may be set to an appropriate value based on the developer's knowledge or experiments using the information processing system 10. 0 indicates the difference between the operation amount at the most recent time point (time t) and the operation amount one unit time ago. 1 indicates the difference between the operation amount one unit time before time t and the operation amount two unit times before time t. N-1indicates the difference between the operation amount at (N-2) x unit time before time t and the operation amount at (N-1) x unit time before time t. When a new displacement amount is calculated, the oldest displacement amount at that time is deleted from the displacement amount array, and the new displacement amount is stored in the displacement amount array.

[0077] As shown in FIG. 9, the attenuation factor array contains a plurality of attenuation factors (p 0 From p N-1 In this embodiment, the values ​​of the multiple attenuation rates are determined so that the entropy, which is the result of multiplication with the displacement, decreases as the attenuation rate corresponding to the past time slot increases. For example, the magnitude relationship between the multiple attenuation rates shown in FIG. 9 is expressed as p 0 >p 1 >p 2 >... >p N-2 >p N-1 It is defined as follows.

[0078] If the number of displacement amount data recorded in the displacement amount array is equal to or greater than a predetermined threshold (N in this embodiment) (Y in S56), the representative device determination unit 52 generates an entropy array for each individual operation amount and stores it in the entropy storage unit 64 (S58). Specifically, the representative device determination unit 52 multiplies the displacement amount of one time slot in the displacement amount array by the attenuation rate of that time slot in the attenuation rate array, and derives the result as the entropy of that time slot. The entropy array in FIG. 9 is a table of N entropies (h 0 , h 1 , h 2 , ..., h N-2 , h N-1 ) is included.

[0079] The representative device determination unit 52 determines whether all of the operation amounts for each analog stick 20 and each axis direction acquired in S50 are within the device neutral range 106. If all of the operation amounts are within the device neutral range 106 (Y in S59), the representative device determination unit 52 sums the entropy values ​​of each time slot in the entropy array for each individual operation amount (i.e., for each combination of analog stick 20 and axis direction). The representative device determination unit 52 determines the analog stick 20 with the largest total entropy value for each of the X-axis and Y-axis directions as the representative analog stick 20 (S60). The operation information generation unit 54 generates operation information indicating the values ​​of the operation amounts for the representative analog stick 20 (S62). For example, the operation information generation unit 54 generates operation information in which the operation amount of the representative analog stick 20 in the X-axis direction is set as the operation amount in the X-axis direction, and the operation amount of the representative analog stick 20 in the Y-axis direction is set as the operation amount in the Y-axis direction.

[0080] If the number of displacement amount data recorded in the displacement amount array is less than the threshold value N (N in S56), the operation information generation unit 54 generates operation information by simply adding up the operation amounts of the analog stick 20a, analog stick 20b, and analog stick 20c (S66). Also, if the operation amount for at least one combination of the analog stick 20 and the axial direction (i.e., at least one individual operation amount) falls outside the device neutral range 106 (N in S59), the process proceeds to the simple addition in S66.

[0081] Like the controller 18 of the first embodiment, the controller 18 of the second embodiment can also prevent unintended operation results from occurring when multiple analog sticks 20 are treated as a single input device.

[0082] Furthermore, with the controller 18 of the second embodiment, when the operation amounts of all analog sticks 20 are within the device neutral range 106, it is possible to identify the analog stick 20 that is likely to have been operated within the device neutral range 106, and to generate operation information based on the operation amount of the analog stick 20 that is likely to be operated next by the user. This makes it less likely that the user will feel uncomfortable with the processing results of the information processing device 12 based on the operation information.

[0083] Furthermore, the controller 18 of the second embodiment determines a representative analog stick 20 for each of the X-axis direction and the Y-axis direction. This allows appropriate input values ​​to be set for the operation information even when operations in the X-axis direction and the Y-axis direction are performed using different analog sticks 20.

[0084] The present invention has been described above based on the second embodiment. The second embodiment is merely an example, and it will be understood by those skilled in the art that various modifications are possible in the combination of each component and each treatment process, and that such modifications are also within the scope of the present invention.

[0085] A modification will be described. This modification relates to the second embodiment. In the second embodiment, the representative device determination unit 52 determines the amount of displacement D n The decay rate p n (i.e., the decay rate for each elapsed time) to obtain the entropy value h n As a modified example, the representative device determination unit 52 may multiply the displacement amount for each elapsed time by the same attenuation rate p every time a unit time elapses.

[0086] The memory unit 32 of the modified controller 18 includes the manipulated variable memory unit 40 and the entropy memory unit 64, but does not include the attenuation rate memory unit 60 or the displacement amount memory unit 62. The entropy memory unit 64 stores an entropy array including entropy values ​​for each elapsed time.

[0087] 10 is a diagram illustrating the attenuation calculation of the modified example. At time t+1, the representative device determination unit 52 determines the oldest entropy value h N-1 Discard and instead use the most recent displacement dt+1 in the entropy array. The representative device determination unit 52 also multiplies other entropy values ​​in the entropy array at time t by the same decay rate p and stores the result in the entropy array at time t+1. The decay rate p may be an appropriate value determined based on the developer's knowledge or experiments using the information processing system 10. For example, the decay rate p may be 0.9.

[0088] The controller 18 of this modification achieves the same effects as the controller 18 of the second embodiment. Furthermore, although the controller 18 of this modification may result in an entropy value that has been elapsed for a long time becoming too small, it does not require storage of an attenuation rate array or a displacement amount array, and therefore the amount of data that needs to be stored can be reduced.

[0089] Another modification will be described. This modification also relates to the second embodiment. In the second embodiment, a representative analog stick 20 was determined for each of the X-axis and Y-axis directions. As a modification, the representative device determination unit 52 of the controller 18 may determine a single representative analog stick 20 based on both the displacement amount in the X-axis direction and the displacement amount in the Y-axis direction. For example, the representative device determination unit 52 may detect, for each analog stick 20, the distance between the operation amount coordinate position at time t and the operation amount coordinate position at time t+1 on a two-dimensional plane formed by the X-axis and Y-axis as the displacement amount. Thereafter, as in the second embodiment, the representative device determination unit 52 may determine the operating member with the largest displacement amount within a predetermined time as the representative analog stick 20. As another example of determining a single representative analog stick 20, in the second embodiment, as in the first embodiment (S38 in FIG. 6 ), it may be determined whether the candidate representative analog stick 20 for the X-axis direction and the candidate representative analog stick 20 for the Y-axis direction match. If the two match, that single analog stick 20 may be determined to be the analog stick 20 that represents both axes.

[0090] Another modified example will now be described. In the controller 18 of the first and second embodiments, in order to prevent unintended operation results from occurring when multiple analog sticks 20 are treated as a single input device, a single representative analog stick 20 is selected and operation information is generated based on the amount of operation of the single representative analog stick 20. As a modified example, the controller 18 may not select a single representative analog stick, but may instead generate operation information based on the average value of the amounts of operation detected for the multiple analog sticks 20.

[0091] Another modified example will now be described. In the above embodiment, a technical concept has been proposed for preventing unintended operation results from occurring when multiple analog sticks 20 are treated as a single input device. The technical concept of the embodiment is not limited to the analog stick 20, but can be applied to various operation members in which a user's input operation is detected as information on a two-dimensional plane. For example, the controller 18 may be provided with a slide operation member instead of the analog stick 20. The slide operation member may be an operation member that allows the user to slide a slider portion from an initial position in any direction or in a predetermined direction. Furthermore, the operation member in which a user's input operation is detected as information on a two-dimensional plane may include a trigger button. The trigger button may be a trigger-type button that is supported to rotate and may output a value corresponding to the amount of rotation. The controller 18 may be provided with a trigger button instead of the analog stick 20. Furthermore, the controller 18 may be provided with both the analog stick 20 and the trigger button as the operation members.

[0092] Another modified example will now be described. In the above embodiment, the controller 18 functions as an operation processing device that executes data processing for determining a representative analog stick 20 from among the multiple analog sticks 20. As a modified example, an electronic device other than the controller 18 may function as an operation processing device that executes data processing for determining a representative analog stick 20. The other electronic device that functions as an operation processing device may be, for example, an information processing device, a game console, a PC, a server, a tablet terminal, a smartphone, or a head-mounted display.

[0093] Any combination of the above-described examples and modifications is also useful as an embodiment of the present invention. A new embodiment resulting from a combination will have the combined effects of the combined examples and modifications. It will also be understood by those skilled in the art that the functions to be performed by each constituent element in the claims can be realized by each component shown in the examples and modifications, either individually or in combination.

[0094] The technical concepts described in the above embodiments and modified examples can be expressed as the following techniques. [Technology 1] An operation processing device including: an acquisition unit that acquires values ​​related to the operation amounts of multiple operation members detected as information on a two-dimensional plane when a user's input operation is detected; a determination unit that, when the values ​​related to the operation amounts of all of the multiple operation members are within a range considered to be in a stationary state, determines a representative operation member from among the multiple operation members based on a predetermined rule; and a generation unit that generates operation information based on the values ​​related to the operation amounts for the representative operation member. This information processing device can prevent operation results unintended by the user when multiple operation members are treated as a single input device. [Technology 2] The operation processing device described in Technology 1, wherein the acquisition unit repeatedly acquires values ​​related to the operation amounts of the multiple operation members, and the determination unit determines the operation member that last stopped among the multiple operation members as the representative operation member based on the repeatedly acquired values ​​related to the operation amounts. This information processing device can determine the operation member that the user is likely to operate next as the representative operation member, making it less likely that the user will feel uncomfortable with the processing result (operation result) corresponding to the user's operation. [Technology 3] The operation processing device according to Technology 2, wherein the generation unit generates operation information based on a result of summing values ​​related to the operation amounts of the multiple operation members when the operation member that last stopped is undetermined. This information processing device makes it less likely that the user will feel uncomfortable with the processing result (operation result) corresponding to the user's operation. [Technology 4] The operation processing device according to Technology 1, wherein the acquisition unit repeatedly acquires values ​​related to the operation amounts of the multiple operation members, and the determination unit determines, based on the repeatedly acquired values ​​related to the operation amounts, the operation member among the multiple operation members that has the largest displacement amount within a predetermined time as the representative operation member. The displacement amount can also be considered as the sum of entropy. According to this information processing device, users often continue to use the operation member that they last operated. This information processing device can determine the operation member that the user is most likely to operate next as the representative operation member, making it less likely that the user will feel uncomfortable with the processing result (operation result) corresponding to the user's operation.[Technology 5] The operation processing device according to Technology 4, wherein the determination unit derives, for each operating member, a displacement amount at multiple time points within the predetermined time period, and sums the displacement amounts at the multiple time points so that the influence of older displacement amounts is smaller, thereby deriving a displacement amount for each operating member within the predetermined time period. The displacement amounts at multiple time points can also be considered entropy, and the displacement amount for each operating member within the predetermined time period can also be considered a sum of entropy. With this information processing device, the operating member that the user is most likely to operate next can be designated as a representative operating member. [Technology 6] An operation processing method executed by a computer includes the steps of: acquiring values ​​related to the operation amounts of multiple operating members detected as information on a two-dimensional plane based on user input operations; determining a representative operating member from among the multiple operating members based on a predetermined rule, if all values ​​related to the operation amounts of the multiple operating members are within a range considered to be in a stationary state; and generating operation information based on the values ​​related to the operation amounts for the representative operating member. This information processing method can prevent unintended operation results when multiple operating members are treated as a single input device. [Technology 7] A computer program for causing a computer to implement the following functions: a function for acquiring values ​​relating to the operation amounts of a plurality of operation members detected as information on a two-dimensional plane when a user's input operation is detected as information on a two-dimensional plane; a function for determining a representative operation member from among the plurality of operation members based on a predetermined rule when the value relating to the operation amount of any of the plurality of operation members is within a range in which the operation is considered to be in a stationary state; and a function for generating operation information based on the value relating to the operation amount of the representative operation member. This computer program makes it possible to realize a computer that prevents unintended operation results from occurring when multiple operation members are treated as a single input device.

[0095] The technology of the present disclosure can be applied to operation processing devices, electronic devices, and the like.

[0096] REFERENCE SIGNS LIST 10 Information processing system, 12 Information processing device, 18 Controller, 20 Analog stick, 50 Operation amount acquisition unit, 52 Representative device determination unit, 54 Operation information generation unit.

Claims

1. An operation processing device comprising: an acquisition unit that acquires values ​​relating to the operation amounts of a plurality of operating members, the values ​​relating to which are detected as information on a two-dimensional plane in response to a user's input operation; a determination unit that, when the values ​​relating to the operation amounts of any of the plurality of operating members are within a range of values ​​that are regarded as being in a stationary state, determines a representative operating member from among the plurality of operating members based on predetermined rules; and a generation unit that generates operation information based on the values ​​relating to the operation amounts for the representative operating member.

2. The operation processing device according to claim 1, wherein the acquisition unit repeatedly acquires values ​​relating to the operation amounts of the multiple operating members, and the determination unit determines the operating member that last came to rest among the multiple operating members as the representative operating member based on the repeatedly acquired values ​​relating to the operation amounts.

3. The operation processing device according to claim 2, wherein the generation unit generates operation information based on a result of adding up values ​​relating to the operation amounts of the multiple operating members when the last operating member that stopped moving is undetermined.

4. The operation processing device according to claim 1, wherein the acquisition unit repeatedly acquires values ​​relating to the operation amounts of the multiple operating members, and the determination unit determines, based on the repeatedly acquired values ​​relating to the operation amounts, an operating member among the multiple operating members that has the largest amount of displacement within a specified time as the representative operating member.

5. The operation processing device according to claim 4, wherein the determination unit derives the amount of displacement for each operating member at multiple points in time within the specified time, and derives the amount of displacement for each operating member within the specified time by summing the amounts of displacement at the multiple points in time so as to reduce the influence of earlier displacement amounts.

6. An operation processing method executed by a computer, comprising the steps of: acquiring values ​​relating to the operation amounts of a plurality of operating members detected as information on a two-dimensional plane in response to a user's input operation; determining a representative operating member from among the plurality of operating members based on a predetermined rule when the value relating to the operation amount of any of the plurality of operating members is within a range that is regarded as a stationary state; and generating operation information based on the value relating to the operation amount for the representative operating member.

7. A computer program for causing a computer to realize the following functions: a function for acquiring values ​​relating to the amounts of operation of a plurality of operating members detected as information on a two-dimensional plane in response to a user's input operation; a function for determining a representative operating member from among the plurality of operating members based on predetermined rules when the values ​​relating to the amounts of operation of any of the plurality of operating members are within a range that is regarded as being in a stationary state; and a function for generating operation information based on the values ​​relating to the amounts of operation for the representative operating member.

Citation Information

Patent Citations

  • Operation switching device for vehicles

    JP2001160336A

  • Recording medium readable by computer recorded with video game program, video game program and method and device for processing video game

    JP2002229697A

  • Program, information storage medium and game device

    JP2006320738A

  • Controller for game machine

    JP2014061225A

  • Game system and game controller

    JP2018110736A