Patent Publication Number: US-9405374-B2

Title: Information processing apparatus operable in response to touch operation

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present disclosure generally relates to information processing and, more particularly, to an information processing apparatus operable in response to a touch operation and a technique capable of recognizing a flick operation input by a user. 
     2. Description of the Related Art 
     A recent touch input device enables a user to touch a touch panel with an appropriate operation object (e.g., a finger or a stylus). The touch input device inputs X and Y coordinate values of a touched position, as input values, and performs various processing based on the input values. 
     Further, a user action performed in such a way as to touch an arbitrary position on the touch panel with a finger or a stylus, if it is followed by a flick-like motion while moving the finger or the stylus, is generally referred to hereinafter as a “flick operation”. 
     As discussed in Japanese Patent Application Laid-Open No. 10-161628, it is conventionally known to scroll an image displayed on a screen based on speed (i.e., flick speed) and direction detected immediately before a user completes a flick operation by moving the operation object away from the touch panel. 
     In the flick operation, at the moment when the operation object (e.g., finger) becomes free from the touch panel, the operation object is released from a frictional engagement with a surface of the touch panel. Therefore, at the moment of the release of the finger from the touch panel, the moving speed of the operation object may increase compared to the speed intended by the user. In this case, if the speed detected immediately before the user moves the operation object away from the touch panel is recognized as the flick speed as discussed in Japanese Patent Application Laid-Open No. 10-161628, the recognized flick speed tends to be higher than the speed intended by the user. As a result, the moving speed (i.e., scroll speed) of an image on a display screen tends to become higher than the speed intended by the user. 
     SUMMARY OF THE INVENTION 
     The present disclosure is directed to an information processing apparatus operable in response to a touch operation and a technique capable of improving user operability in a flick operation. 
     Further features of the present disclosure will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1A  is a block diagram illustrating an example hardware configuration of an information processing apparatus, and  FIGS. 1B and 1C  are block diagrams each illustrating a functional configuration of the information processing apparatus. 
         FIG. 2  is a flowchart illustrating an example of flick operation recognizing processing. 
         FIG. 3  is a flowchart illustrating an example of section determination processing. 
         FIGS. 4A, 4B, and 4C  illustrate an example of a series of touch points detected when a flick operation is performed. 
         FIGS. 5A and 5B  illustrate an example of flick operation recognizing processing performed by the information processing apparatus according to a modified example. 
         FIGS. 6A, 6B, and 6C  illustrate an example of a series of touch points detected when a flick operation is performed. 
         FIG. 7  is a flowchart illustrating an example of flick operation recognizing processing performed by an information processing apparatus according to a modified example. 
         FIGS. 8A, 8B, and 8C  illustrate an example of a series of touch points detected when a flick operation is performed. 
         FIGS. 9A and 9B  are flowcharts each illustrating an example of section determination processing. 
         FIGS. 10A and 10B  illustrate tables each indicating information about a series of touch points detected when a flick operation is performed. 
     
    
    
     DESCRIPTION OF THE EMBODIMENTS 
     Various exemplary embodiments, features, and aspects of the disclosure will be described in detail below with reference to the drawings. However, constituent elements described in the following exemplary embodiments are mere examples and should not be interpreted in such a way as to narrow the scope of the present disclosure. 
     To prevent an adverse influence of a speed change of an operation object used for a flick operation caused by a release from friction of a touch panel, an information processing apparatus according to a first exemplary embodiment stores a plurality of measurement values about the moving speed of a touch point in a touch operation and determines the speed of the flick operation based on a part of the stored plurality of pieces of moving speed information. The information processing apparatus according to the first exemplary embodiment stores a plurality of pieces of moving speed information in respective subsections that can be time-divisionally obtained from a sequential movement of a touch point. Further, the information processing apparatus determines a flick speed (i.e., the moving speed of a display image) based on the moving speeds in subsections to be reflected on the speed of the flick operation. 
       FIG. 1A  illustrates an example of a hardware configuration of an information processing apparatus  100  according to the present exemplary embodiment. A central processing unit (CPU)  101 , which is configured to perform calculations and logical determinations for various kinds of processing, can control each constituent element connected to a system bus  110 . The information processing apparatus  100  includes a plurality of memories. A read-only memory (ROM)  102  is operable as a program memory, which stores programs that cause the CPU  101  to perform controls according to various processing procedures. A random access memory (RAM)  103  is operable as a data memory, which has a work area usable when the CPU  101  executes the above-mentioned programs, a data retreat area usable in error processing, and a loading area usable in loading the above-mentioned control programs. When a program is loadable from an external storage device  109  to the RAM  103 , the external storage device  109  can serve as a program memory. A hard disk (HD)  104  is usable to store data and programs relating to the present exemplary embodiment. 
     The external storage device  109 , which is connected to the system bus  110  via an input/output interface  107 , is usable as a device comparable to the HD  104 . The external storage device  109  can be constituted, for example, by a recording medium and an external storage drive that can realize an access to the recording medium. For example, the recording medium is a flexible disk (FD), a compact disk (CD)-ROM, a digital versatile disk (DVD), a universal serial bus (USB) memory, a magneto-optical (MO) disk, or a flash memory. Further, the external storage device  109  may be a server apparatus connected to a network. Information used in the present exemplary embodiment is stored in the RAM  103 , the HD  104 , or the external storage device  109 . An input interface  105 , which is configured to control an input device (e.g., a pointing device), can acquire an input signal to recognize a touch operation if it is input to the information processing apparatus  100 , and notifies the system of the recognized touch operation. To control a result of various processing to be output, an output interface  106  can output a control signal to an output unit including a display unit (e.g., a liquid crystal display or a TV monitor). As used herein, the term “unit” generally refers to any combination of software, firmware, hardware, or other component that is used to effectuate a purpose. 
     A touch panel display  108  includes a touch panel serving as the input unit and a display device serving as the output unit, which are integrated with the information processing apparatus  100 . In the present exemplary embodiment, the touch panel display  108  may be an external apparatus connected to the information processing apparatus  100  or independent of the information processing apparatus  100 . The touch panel employed in the present exemplary embodiment is a capacitance-type touch panel, which can identify the coordinate position of a touch point of a user finger (i.e., an operation object) on a contact surface of the panel. Further, the touch panel according to the present exemplary embodiment may be configured to be operable in a high-sensitivity mode, in which the sensitivity of a touch sensor is set to be higher so that an approaching finger can be detected as a touch point before the finger contacts the surface of the touch panel display  108 . In the high-sensitivity mode, it is feasible to detect positional information, as a touch operation based touch point, in a state where the operation object is approaching the touch panel display  108  immediately after the operation object performs a flick operation. The type of the touch panel is not limited to the capacitance type. For example, any other touch panel that is equipped with an optical sensor or operable based on electromagnetic induction can be employed to detect a user who is approaching to or contacts the operation surface. 
       FIG. 1B  is a block diagram illustrating a functional configuration of the information processing apparatus  100  according to the present exemplary embodiment. 
     The information processing apparatus  100  according to the present exemplary embodiment includes a detection unit  111 , an acquisition unit  112 , a first determination unit  114 , a second determination unit  115 , and an output control unit (display control unit)  116 . Each functional unit can be realized when the CPU  101  executes a program loaded from the ROM  102  to the RAM  103  to perform processing according to each flowchart described below. Further, the information processing apparatus  100  according to the present exemplary embodiment includes a storage unit  113 , which is a functional unit of the RAM  103 . However, the present disclosure can be similarly realized by an information processing apparatus that has a hardware configuration comparable to the above-mentioned functional units. Each element is described in detail below. 
     The detection unit  111  can detect information about a touch point touched by a user, based on a notification signal received from the input interface  105 . In this case, in the present exemplary embodiment, the input interface  105  refers to touch point information detected by the touch panel (i.e., the input unit) at predetermined intervals. The input interface  105  sends a notification signal to the detection unit  111  each time the touch point information is acquired. The touch point information detected by the detection unit  111  includes at least positional information about a series of touch points. In the present exemplary embodiment, the touch point information further includes touch point detection time. Further, if the operation object has been moved away from the touch panel and the touch point is no longer present on the touch panel when the input interface  105  refers to the touch point information, the input interface  105  notifies the detection unit  111  of the release of the operation object. The detection unit  111  manages the detected touch point information. In a case where the touch panel is configured to enable a user to perform a multi-touch operation, the input interface  105  refers to information about a plurality of touch points at predetermined intervals and sends a notification signal to the detection unit  111  each time when information about each touch point is acquired. In this case, the information about the touch points includes ID information to identify each one of the detected touch points. In this case, it is useful to associate the ID information with the detection order of each touch point so that the management of a plurality of touch points becomes easy. The detection unit  111  can detect the latest information about each touch point based on ID information and can identify a movement of the touch point if the touch point having the same ID information is detected at a position different from the previous position. 
     The acquisition unit  112  refers to the touch point related information detected by the detection unit  111 , and stores a series of touch point information and touch point movement information in a plurality of subsections each corresponding to a region intervening between two points included in the series of positional information in the storage unit  113 . In response to a release of a touch point, the acquisition unit  112  according to the present exemplary embodiment acquires a plurality of moving speeds by actually measuring a touch point movement in each subsection between two continuous points of the series of touch point positional information (i.e., touch positions) based on the distance between two points and detection time interval information. Further, the acquisition unit  112  stores information indicating the acquired plurality of moving speeds together with the series of positional information detected by the detection unit  111  in the storage unit  113 . However, the acquisition unit  112  may be configured to acquire a moving speed of the touch point in a corresponding section, each time when the touch point is detected by the detection unit  111 , with reference to a moving distance from the previously detected touch point position and a detection interval. 
     Further, in the present exemplary embodiment, to reduce the required resources and to acquire only the moving speed information during a flick operation, if the number of touch point related information exceeds a predetermined number, the acquisition unit  112  deletes older touch point related information stored in the storage unit  113 . However, the acquisition unit  112  may be configured to store all of the information without adjusting the amount of the information stored in the storage unit  113 . Further, as a modified example, it is feasible to delete a plurality of pieces of moving speed information acquired a predetermined time before the acquisition timing of the lastly acquired touch point (or moving speed) information from the storage unit  113 . 
     The first determination unit  114  determines whether to reflect the movement of the touch point on the moving speed in input operation in a plurality of subsections each corresponding to a distance between two points included in a series of touch point positional information. In the present exemplary embodiment, the first determination unit  114  does not reflect a subsection, if the touch point has moved at a moving speed satisfying predetermined conditions, on the moving speed in the input operation. In other words, the first determination unit  114  excludes each moving speed if it satisfies predetermined conditions, from a plurality of pieces of moving speed information stored in the storage unit  113 . Then, the first determination unit  114  extracts the remaining (not excluded) moving speed information and reflects each subsection corresponding to a movement at the remaining (not excluded) moving speed on the moving speed in the input operation. In the present exemplary embodiment, in this case, the first determination unit  114  determines each moving speed of the plurality of pieces of moving speed information stored in the storage unit  113 , if it satisfies the predetermined conditions, as an exclusion candidate. More specifically, the first determination unit  114  designates the corresponding subsection as a candidate that is not reflected on the moving speed in the input operation. The first determination unit  114  may exclude all of the moving speeds if they are designated as exclusion candidates. Further, it is useful that the first determination unit  114  designates each moving speed, if it satisfies one condition, as an exclusion candidate and then excludes the exclusion candidate, if it satisfies another condition, from the moving speed information usable to determine the moving speed in the input operation. The first determination unit  114  according to the first exemplary embodiment determines each moving speed as an exclusion candidate if it is included in a predetermined speed range. Further, the first determination unit  114  excludes a predetermined number of moving speeds (i.e., a part of the exclusion candidates), selected from faster ones, from the moving speed information usable to determine the moving speed in the input operation. Further, the first determination unit  114  determines not to reflect subsections in which the touch point moves at the excluded moving speed on the moving speed in the input operation. On the other hand, the first determination unit  114  determines to reflect each subsection in which the touch point moves at the remaining (not excluded) moving speed on the moving speed in the input operation. 
     In the present exemplary embodiment, the acquisition unit  112  can adjust the number of a plurality of pieces of moving speed information stored in the storage unit  113 . Accordingly, the first determination unit  114  determines whether the moving speed satisfies a predetermined exclusion condition, as part of processing for determining whether to reflect each subsection corresponding to the stored moving speed on the moving speed in the input operation. However, the processing to be performed by the first determination unit  114  is not limited to the above-mentioned example. For example, in a case where the acquisition unit  112  stores all of moving speed information acquired in a series of operations, the first determination unit  114  may determine whether to satisfy the exclusion condition only for a predetermined number of new information or information acquired in a predetermined time range. 
     The second determination unit  115  determines a moving speed that represents an input operation based on the moving speed information extracted by the first determination unit  114 . In the present exemplary embodiment, the second determination unit  115  determines a mean value of all moving speeds extracted without being excluded as the moving speed representing the input operation. The second determination unit  115  notifies the output control unit  116  of the determined moving speed. The moving speed acquired by the acquisition unit  112  is an actual measurement value. On the other hand, the moving speed determined by the second determination unit  115  corresponds to the speed of an operation performed by a user. In the present exemplary embodiment, it is presumed that a user performs a flick operation. Therefore, in the following description, the moving speed of a flick operation determined by the second determination unit  115  is referred to as “flick speed.” In the present exemplary embodiment, the second determination unit  115  receives the moving speed information extracted by the first determination unit  114  and calculates a mean value of moving speeds. However, when the first determination unit  114  determines information to be excluded, it is useful that the second determination unit  115  extracts target information and perform flick speed determination processing. 
     To feedback the result of an input operation, the output control unit  116  generates a display image to be scrolled at a scroll speed that corresponds to the flick speed determined by the second determination unit  115 . Further, the output control unit  116  outputs the generated image to the touch panel display  108  (i.e., the output unit). In this case, the output control unit  116  performs a display control so as to set an initial speed of the scroll to be identical to the flick speed and then gradually reduce the scroll speed until the scroll finally stops. Further, it is useful to disregard a flick-like operation if the motion speed is less than a predetermined speed. In this case, the output control unit  116  does not scroll the displayed image even when the operation object is released from the touch panel. 
     The information processing apparatus according to the present exemplary embodiment performs processing for each one of a plurality of subsections, each corresponding to the distance between two continuous points included in the series of positional information. Further, the information processing apparatus according to the present exemplary embodiment determines whether to reflect the movement in each subsection on the moving speed in the input operation based on the moving speed information in a plurality of subsections. However, the present disclosure is not limited to the above-mentioned examples. For example, it is useful to determine whether to reflect the movement in each subsection on the moving speed in the input operation based on the moving distance in each subsection corresponding to the line connecting two continuous points. Further, for example, it is useful to define a plurality of equidistance sections and perform the above-mention determination with reference to the moving time that is required when a touch point moves a predetermined distance in each subsection. Further, the above-mentioned two points included in the series of positional information are not limited to two points continuously detected and may be the first and latest touch points in a touch operation. 
       FIG. 2  is a flowchart illustrating an example of flick operation recognizing processing performed by the information processing apparatus  100  according to the present exemplary embodiment. The information processing apparatus  100  starts the processing of the flowchart illustrated in  FIG. 2  in response to a touch notification from the input interface  105  that informs information about a touch point detected on the touch panel. Further, the information processing apparatus  100  starts the processing of the flowchart illustrated in  FIG. 2  in response to a release notification from the input interface  105  that informs that the touch point is not present on the touch panel. The input interface  105  refers to the present status at predetermined intervals to generate the touch notification and the release notification. 
     First, in step S 201 , the detection unit  111  detects a touch point. The detection unit  111  detects touch point information, if it is notified from the input interface  105 , based on the information detected by the touch panel. Further, if a release notification is received from the input interface  105 , the detection unit  111  determines that an operation object is moved away from the touch point corresponding to the detection time thereof. 
     Next, in step S 202 , the acquisition unit  112  determines whether the latest information detected by the detection unit  111  in step S 201  indicates that the touch point has been released. If it is determined that the detected latest information indicates the release of the touch point (YES in step S 202 ), the operation proceeds to step S 204 . On the other hand, if it is determined that the latest information does not indicate the release of the touch point, more specifically, if it is determined that the touch by the operation object is continuously detected (NO in step S 202 ), the operation proceeds to step S 203 . 
     In step S 203 , because no flick operation is currently performed, the acquisition unit  112  stores the touch point related information detected by the detection unit  111  in the storage unit  113  and terminates the processing of the flowchart illustrated in  FIG. 2 . In this case, as mentioned above, if the number of acquisitions about the touch point related information exceeds a predetermined number of times, the acquisition unit  112  according to the present exemplary embodiment deletes some older data from a series of touch point related information stored in the storage unit  113 . Accordingly, information constantly stored in the storage unit  113  is information acquired in a predetermined number of latest touch point detections, more specifically, touch point information obtained during a predetermined time before the touch point is no longer detected. 
     Although it is feasible to calculate the moving speed in step S 203 , the processing function load will increase if moving speed acquiring processing is performed each time the touch point is notified. Therefore, in the present exemplary embodiment, the processing to be performed in step S 203  does not include calculating the moving speed. Further, in a case where the information processing apparatus  100  recognizes a touch operation other than the flick operation, it is useful to perform determination processing (for example, for identifying an input of a locus indicating a predetermined gesture operation) as an additional processing to be performed after step S 203 . 
     On the other hand, in step S 204 , the acquisition unit  112  acquires a moving speed of the touch point in each of subsections obtained through the time-division processing, with reference to a series of information stored in the storage unit  113 . In the present exemplary embodiment, the acquisition unit  112  acquires the moving speed with reference to the distance between a first coordinate point where the touch point has been first detected and a second coordinate point where the same touch point has been next detected, and a detection time interval. The acquisition unit  112  can acquire the moving speed for each of the touch point detections by successively performing the above-mentioned processing with reference to a series of touch point information that has been time-sequentially stored in the storage unit  113 . The acquisition unit  112  causes the storage unit  113  to store the acquired moving speed information. 
     Next, in step S 205 , the first determination unit  114  performs processing for determining whether to reflect the movement information in each subsection on the moving speed in the input operation. In the present exemplary embodiment, in step S 204 , the acquisition unit  112  determines exclusion candidates based on the moving speed information in each subsection stored in the storage unit  113 . Then, the acquisition unit  112  excludes some of the moving speeds based on the determined exclusion candidates and extracts the remaining moving speeds. More specifically, the acquisition unit  112  reflects the subsection corresponding to the extracted moving speed on the moving speed in the input operation without reflecting the subsection corresponding to the excluded moving speed on the moving speed in the input operation. The exclusion condition used in the above-mentioned determination is described in detail below. Further, the mean value of moving speeds cannot be obtained when the time intervals of respective touch point detections are not constant. Therefore, it is also useful to calculate a flick speed with reference to a sum value of moving distances corresponding to the moving speeds extracted by the first determination unit  114  and a sum value of actually detected time intervals. 
     In step S 206 , the second determination unit  115  calculates a mean value obtained by dividing a sum value of moving speeds extracted by the first determination unit  114  by the number of the extracted moving speeds, and determines the calculated mean value as flick speed. However, the moving speed determination processing to be performed in step S 206  is not limited to the mean value of the moving speeds. For example, the second determination unit  115  may determine a flick speed based on the maximum and minimum moving speeds, or the first and last moving speeds, of the extracted moving speed information. 
     Next, in step S 207 , the output control unit  116  determines that the input touch operation is the flick operation if the flick speed determined in step S 206  is higher than a predetermined reference value. The output control unit  116  performs processing corresponding to the flick operation considering the screen or the touch position. For example, in the present exemplary embodiment, the output control unit  116  generates a display image (i.e., an image that displays a scrolled state) to scroll the screen display according to the flick speed of the flick operation. After the output control unit  116  outputs the generated display image to the touch panel display  108 , the information processing apparatus  100  terminates the flick operation recognizing processing of the flowchart illustrated in  FIG. 2 . The flow of the processing to recognize the flick operation has been described above. 
       FIG. 3  is a flowchart illustrating an example of the moving speed extraction processing to be performed in step S 205 . In the present exemplary embodiment, first, the first determination unit  114  performs exclusion candidate determination processing for designating moving speeds included in a predetermined speed range being set as a target to be excluded (hereinafter, referred to as “exclusion range”), as exclusion candidates, from a plurality of pieces of moving speed information acquired by the acquisition unit  112 . Then, the first determination unit  114  designates only a predetermined number of higher moving speeds included in the exclusion candidates, as exclusion targets, and excludes the designated moving speeds from the plurality of pieces of moving speed information stored in the storage unit  113 , and extracts the remaining speed information. In an example described below, three higher moving speeds included in the exclusion candidates are designated as exclusion targets. Before performing the processing of the flowchart illustrated in  FIG. 3 , the first determination unit  114  designates three pieces of 0 moving speed information as initial exclusion targets, and stores the designated speed information in the storage unit  113 . 
     First, in step S 301 , the first determination unit  114  selects leading information included in the plurality of pieces of moving speed information stored in the storage unit  113  as a processing target speed A. In the present exemplary embodiment, moving speed information of each subsection obtained through time-division processing is time-sequentially stored in the storage unit  113 . Accordingly, the leading information included in the moving speed information is a moving speed of the oldest movement. 
     Next, in step S 302 , the first determination unit  114  determines whether the processing target speed A is included in the exclusion range. The exclusion range in the present exemplary embodiment is a range that designates the speed value that is not positively used in determining the flick speed. More specifically, a range that statistically includes a large speed detected when the operation object is released from the frictional engagement with the touch panel surface is set as the exclusion range. If it is determined that the speed A is included in the exclusion range (YES in step S 302 ), the operation proceeds to step S 303 . On the other hand, if it is determined that the speed A is not included in the exclusion range (NO in step S 302 ), it is unnecessary to exclude the speed A. Therefore, the operation proceeds to step S 310 . 
     In step S 303 , the first determination unit  114  determines the speed A as an exclusion candidate, which is a moving speed candidate to be excluded from the moving speed information used in the determination of the flick speed. 
     In subsequent steps S 304  to S 309 , the first determination unit  114  performs processing for comparing the speed A with the speed designated as an exclusion target to exclude a predetermined number of higher speeds included in the moving speed information included in the exclusion range and stored in the storage unit  113 . In the present exemplary embodiment, as an example, the first determination unit  114  determines three higher moving speeds included in the exclusion range as exclusion candidates. Through the above-mentioned processing, it is feasible to prevent a calculated flick speed from becoming excessively larger compared to the value intended by a user. 
     First, in step S 304 , the first determination unit  114  selects the maximum speed, as a processing target speed B, among the speeds determined as exclusion targets. However, in the initial processing, the speed B selected by the first determination unit  114  is 0 because the designated initial value of the exclusion target is 0. 
     In step S 305 , the first determination unit  114  determines whether the speed A is higher than the speed B. If it is determined that the speed A is higher than the speed B (YES in step S 305 ), the operation proceeds to step S 308 . If it is determined that the speed A is equal to or lower than the speed B (NO in step S 305 ), the operation proceeds to step S 306 . 
     In step S 306 , the first determination unit  114  determines whether the speed A is compared with all of the predetermined number of moving speeds designated as exclusion targets. In the present exemplary embodiment, the predetermined number is 3. Therefore, the first determination unit  114  determines whether the speed A has been compared with all of three exclusion target speeds. If it is determined that the comparison with all exclusion targets has been completed (YES in step S 306 ), the operation proceeds to step S 310 . If it is determined that the comparison with all exclusion targets is not yet completed (NO in step S 306 ), the operation proceeds to step S 307 . 
     In step S 307 , the first determination unit  114  selects the next highest exclusion target speed included in the moving speeds designated as exclusion targets, as the speed B, and the operation returns to step S 305 . 
     On the other hand, in step S 308 , the first determination unit  114  designates the moving speed selected as the speed A, as an exclusion target, and stores the designated information in the storage unit  113 . In the present exemplary embodiment, the first determination unit  114  excludes three higher moving speeds included in the range determined in step S 302  from the plurality of pieces of moving speed information stored in the storage unit  113 . Accordingly, when the speed A is higher than the speed B designated as an exclusion target, there is a higher possibility that the speed A is one of the three higher moving speeds. Therefore, the first determination unit  114  designates the speed A as an exclusion target. 
     In step S 309 , the first determination unit  114  excludes the minimum speed information from the moving speeds designated as exclusion targets and sorts the exclusion target speeds according to speed. At the time when the speed A is added as the exclusion target in step S 308 , the first determination unit  114  determines that the minimum moving speed designated as an exclusion target is not any one of the three higher moving speeds. Accordingly, the first determination unit  114  excludes the minimum moving speed from the exclusion targets. The storage unit  113  stores three moving speed values presently designated as exclusion targets while sorting them according to size. 
     Next, in step S 310 , the first determination unit  114  determines whether processing of all stored moving speed information including the last information has been completed. If it is determined that the processing of the last information has been completed (YES in step S 310 ), the operation proceeds to step S 312 . If it is determined that the last information is not yet processed (NO in step S 310 ), the operation proceeds to step S 311 . 
     In step S 311 , the first determination unit  114  selects the next stored moving speed, as the speed A, from the plurality of pieces of moving speed information stored in the storage unit  113 . Then, the operation returns to step S 302 . 
     In step S 312 , the first determination unit  114  determines to reflect the movement in a subsection corresponding to the moving speed designated as an exclusion target on the moving speed in the input operation. On the other hand, the first determination unit  114  determines to reflect the movement in a subsection corresponding to the moving speed not designated as an exclusion target on the moving speed in the input operation. 
     In step S 313 , the first determination unit  114  extracts all speed information that is not yet designated as exclusion targets from the plurality of pieces of moving speed information stored in the storage unit  113 . Then, the operation returns to the processing of the flowchart illustrated in  FIG. 2 . The exclusion target moving speed information stored in the storage unit  113  is initialized to the value “0” at arbitrary timing after the flick speed is determined, for example, when a detection of a newly touch point is notified or when a display control based on a flick operation is completed. 
     The first determination unit  114  performs the moving speed extraction processing in step S 205 , as described above, in the present exemplary embodiment. The above-mentioned moving speed extraction processing includes the processing for designating moving speeds included in a predetermined range as exclusion candidates (see step S 302 ) and the processing for excluding a predetermined number of higher moving speeds (see steps S 304  to S 309 ). However, it is also useful that the moving speed extraction processing includes only one of the above-mentioned two types of processing. Further, as described in the present exemplary embodiment, it is useful to employ both the processing for designating moving speeds included in a predetermined range as exclusion targets (step S 302 ) and the processing for excluding a predetermined number of moving speeds (according to a notified order or randomly). As described above, the information processing apparatus performs adjustment processing to extract a sufficient number of moving speeds to determine a flick speed by excluding a predetermined number of moving speeds included in a predetermined range. Further, the information processing apparatus sets an initial value of the exclusion target speed to 0. Therefore, in a case where the number of moving speeds included in an exclusion range does not reach a predetermined number, a predetermined number of moving speeds designated as exclusion targets include 0. Accordingly, the information processing apparatus does not exclude a higher moving speed if it is not included in the exclusion range. 
     As described above, the information processing apparatus according to the present exemplary embodiment excludes a higher moving speed, which has been detected at the moment when an operation object is released from a frictional engagement with a touch panel, from a plurality of moving speeds acquired at predetermined time intervals. Then, the information processing apparatus determines a flick speed based on the remaining moving speed information. Therefore, even if a user moves the operation object away from the touch panel at a speed higher than the intended speed at the moment when the operation object is released from the frictional engagement with the touch panel, it is feasible to adjust the flick speed to be a value comparable to the moving speed of the operation object intended by the user. Accordingly, the information processing apparatus according to the present exemplary embodiment can prevent an image displayed on a display screen from being scrolled at a high speed that greatly exceeds the moving speed of the operation object intended by the user. Thus, the information processing apparatus according to the present exemplary embodiment can realize a flick operation that does not make a user feel any discomfort. 
     &lt;First Operational Example&gt; 
     As a first operational example, a user can operate the information processing apparatus  100  according to the first exemplary embodiment in the following manner. 
       FIGS. 4A, 4B, and 4C  illustrate a series of touch points detected when a flick operation is performed.  FIGS. 4A and 4B  illustrate an example movement of a touch point in the flick operation performed by a user with a finger  410  (i.e., the operation object), in which a locus is constituted by a plurality of coordinate points each representing the movement of the touch point.  FIG. 4B  is an enlarged view of  FIG. 4A . A coordinate system employed to express the touch point has the origin on the upper left corner of an input area  400 , in which an x-coordinate value represents the touch position of the finger  410  in the horizontal direction and a y-coordinate value represents the touch position of the finger  410  in the vertical direction. The unit “dot” representing the screen resolution of the touch panel display  108  is used in the employed coordinate system.  FIG. 4C  is a table indicating information about a predetermined number of touch points stored in step S 203 , including x-coordinate value representing each touch point, moving distance between neighboring touch points, moving time required in movement between neighboring touch points, moving speed in a subsection between neighboring touch points, and determination whether to exclude the moving speed.  FIG. 4C  does not include y-coordinate information because the relationship between the moving distance, the moving time, and moving speed is similar to that of the x-coordinate information. 
     In the first operational example, it is presumed that a user performs a flick operation by intuitively flicking the finger  410  on the screen so that the speed of approximately 800 dot/s can be recognized. However, it is unnecessary for the user to be aware of an actual operational speed value. According to the example illustrated in  FIG. 4C , higher moving speeds are detected in a transition from the touch point  404  to the touch point  405  (i.e., 2200 dot/s) as well as in a transition from the touch point  406  to the touch point  407  (i.e., 1600 dot/s). For example, according to a conventional technique, the moving speed detected immediately before the user releasing the touch point is recognized as the flick speed. In this case, the detected flick speed 1600 dot/s may be greatly higher than the actual flick speed. Thus, the flick speed is erroneously recognized. 
     Hereinbelow, predetermined parameters to be set in the first operational example are described in detail below. In the first operational example, it is presumed that touch point detection information is notified from the input interface  105  at intervals of 20 ms. The acquisition unit  112  stores six pieces of touch point information notified during six consecutive detections to acquire five moving speeds (each representing moving distance/20 ms). In general, the time required for a single flick operation is 20 [ms]×6 [times]=120 [ms]. This is the reason why the above-mentioned values are selected. Further, the first determination unit  114  designates three higher moving speeds that are included in an exclusion range from 800 dot/s to 2,500 dot/s as exclusion targets. At the processing start timing, three moving speeds having initial values [0 dot/s, 0 dot/s, and 0 dot/s] are set as exclusion targets and stored in the storage unit  113 . Further, the information processing apparatus  100  according to the first operational example recognizes that a flick operation has been performed when the flick speed output from the second determination unit  115  is higher than a threshold value 200 dot/s. The information processing apparatus  100  scrolls an image displayed on a display screen according to the flick speed. If the flick speed is equal to or less than the threshold value, it can be regarded that a user has moved the finger  410  away from the touch panel without intentionally performing a flick operation. More specifically, the touch operation has been released in this case. 
     First, the information processing apparatus  100  starts the flick operation recognizing processing (according to the flowchart illustrated in  FIG. 2 ) in response to information about the touch point  401  notified from the input interface  105  when the user touches the touch panel with the finger  410 . In step S 201 , the detection unit  111  detects the touch point  401 . The detection unit  111  performs the touch point detection processing in step S 201  in response to each touch point information notified every 20 ms. In step S 202 , the acquisition unit  112  determines that the touch point is not yet released because the touch point  401  has been detected in step S 201 . Thus, the operation proceeds to step S 203 . In this case, the number of pieces of moving speed information stored in the storage unit  113  is equal to the initial value “0.” In step S 203 , the detected touch point related information is stored in the storage unit  113 . The stored information includes coordinate information indicating the position of the touch point  401  (e.g., x coordinate=400, y coordinate=300, and touch point detection time). In the present exemplary embodiment, the touch point  401  is initially detected by the user after the touch operation is started. Therefore, the acquisition unit  112  stores the acquired information about the touch point  401  in the first storage area of the storage unit  113 . Then, the information processing apparatus  100  terminates the flick operation recognizing processing. 
     The information processing apparatus  100  repeats the above-mentioned processing in steps S 201  to S 203  until the number of pieces of touch point information stored in the storage unit  113  reaches the predetermined number (=6) and stores a series of touch point positional information in the storage unit  113  according to detection time. In the first operational example, the information processing apparatus  100  repeats the above-mentioned processing until information about the touch point  406  is stored in the storage unit  113 , although redundant description thereof will be avoided. 
     Next, the information processing apparatus  100  starts the processing of the flowchart illustrated in  FIG. 2  in response to information about the touch point  407  notified from the input interface  105 . In step S 203 , the acquisition unit  112  deletes the oldest information (i.e., the information about the touch point  401 ) because the number of pieces of touch point information stored in the storage unit  113  is already 6 when the information about the touch point  407  is stored in the storage unit  113 . In this case, in the present exemplary embodiment, the information processing apparatus  100  stores the touch point information in corresponding storage areas while sorting the information according to detection time. As described above, the information about the touch points  402  to  407  is stored in the storage unit  113 . If new information is notified at a position different from the touch point  407  when the user continuously performs the touch operation, the information processing apparatus  100  repeats similar processing. As described above, the information processing apparatus  100  according to the present exemplary embodiment can control the amount of storage area to be used by performing old information deletion processing when the number of the acquired touch point information exceeds a predetermined number. 
     According to the example illustrated in  FIG. 4B , the user moves the finger  410  away from the touch panel immediately after the notification of the information about the touch point  407 . Therefore, at the time when 20 ms has elapsed since the notification of the information about the touch point  407 , touch point release information is notified from the input interface  105 . The information processing apparatus  100  starts the processing of the flowchart illustrated in  FIG. 2 . More specifically, the detection unit  111  determines that the touch point has been released (YES in step S 202 ). The operation proceeds to step S 204 . In step S 204 , the acquisition unit  112  acquires a moving speed in each subsection between continuously detected touch points, based on a series of information stored in the storage unit  113 . More specifically, the acquisition unit  112  obtains a moving distance with reference to coordinate information of the touch point  402  stored in the first storage area and coordinate information of the touch point  403  stored in the second storage area. The obtained moving distance is equal to 15 dots, as illustrated in  FIG. 4C . The acquisition unit  112  can obtain a moving speed value by dividing the obtained moving distance by the touch point movement time (more specifically, touch point notification interval (=20 ms) according to the following moving speed calculation formula. Moving distance [dot]×1000÷Moving time [ms]=Moving speed [dot/s] 
     The formula includes multiplication using a numerical value 1000 for conversion from millisecond to second. The conversion from millisecond to second is effective to increase the calculation speed because the calculation accuracy can be substantially maintained even when decimal fractions are truncated. Through the above-mentioned calculation processing, the acquisition unit  112  acquires a numerical value 750 dot/s that indicates a moving speed in a subsection between the touch point  402  and the touch point  403 . Similarly, the acquisition unit  112  acquires a numerical value 850 dot/s that indicates a moving speed in a subsection between the touch point  403  and the touch point  404 . Further, the acquisition unit  112  acquires a numerical value 2200 dot/s that indicates a moving speed in a subsection between the touch point  404  and the touch point  405 . The table illustrated in  FIG. 4C  includes five moving speed values acquired in respective subsections provided between the touch point  402  to the touch point  407 . If the acquisition unit  112  completes the above-mentioned processing for acquiring the moving speed in each subsection between continuously detected touch points, for all of the touch point information stored in the storage unit  113 , the operation proceeds to step S 301  (i.e., the internal processing of step S 205 ). 
     In step S 301 , the first determination unit  114  selects, as the processing target speed A, the leading information (i.e., the moving speed in the subsection between the touch point  402  and the touch point  403  in the first operational example=750 dot/s) included in five moving speed values stored in the storage unit  113 . Next, in step S 302 , the first determination unit  114  determines whether the selected processing target speed A (=750 dot/s) is included in the exclusion range from 800 dot/s to 2,500 dot/s. As the processing target speed A (=750 dot/s) is not included in the exclusion range, it is unnecessary to exclude the target speed A. Accordingly, the operation proceeds to step S 310 , in which it is determined that the last moving speed stored in the storage unit  113  is not yet processed. Thus, the operation proceeds to step S 311 . In step S 311 , the first determination unit  114  selects the next stored moving speed (i.e., the moving speed in the subsection between the touch point  403  and the touch point  404  in the first operational example=850 dot/s), as the processing target speed A. Then, the first determination unit  114  repeats the processing of steps S 302  to S 310  on the newly selected target speed A. 
     As the moving speed 850 dot/s is included in the exclusion range, the determination result in step S 302  becomes YES. In other words, the first determination unit  114  determines the newly selected target speed A as an exclusion candidate. Then, the operation proceeds to step S 304 . In step S 304 , the first determination unit  114  selects the maximum speed, as the processing target speed B, among three speeds designated as exclusion targets. At this moment, the initial value of the exclusion target is “0” dot/s. Therefore, the target speed to be processing initially is 0 dot/s. Therefore, the first determination unit  114  determines that the speed A (i.e., the moving speed 850 dot/s) is higher than the speed B (i.e., 0 dot/s) (YES in step S 305 ). In step S 308 , the first determination unit  114  designates the speed A (i.e., the moving speed 850 dot/s) as an exclusion target. The table illustrated in  FIG. 4C  includes a mark “◯” indicating that the corresponding moving speed is an exclusion target. In step S 309 , the first determination unit  114  excludes the minimum speed (i.e., 0 dot/s) from the exclusion target speeds stored in the storage unit  113  and sorts the information about three speeds designated as exclusion targets according to the speed. Therefore, the exclusion target speed information is stored in the storage unit  113  in order of [850 dot/s, 0 dot/s, and 0 dot/s]. Then, it is determined that the last moving speed information is not yet processed (NO in step S 310 ), the first determination unit  114  selects the next stored moving speed information (i.e., the moving speed in the subsection between the touch point  404  and the touch point  405 =2200 dot/s) as the processing target speed A. Subsequently, the first determination unit  114  repeats the above-mentioned processing until the processing for the last moving speed information (i.e., the moving speed in a subsection between the touch point  406  and the touch point  407  in the first operational example=1600 dot/s) stored in the storage unit  113  terminates. 
     As illustrated in  FIG. 4C , any one of unprocessed information (i.e., 2200 dot/s, 800 dot/s, and 1600 dot/s) of five moving speeds stored in the storage unit  113  is included in the exclusion range. Therefore, the exclusion target speed information finally stored in the storage unit  113  is [2200 dot/s, 1600 dot/s, and 850 dot/s]. 
     If it is determined that the processing for the five moving speeds stored in the storage unit  113  is entirely completed (YES in step S 310 ), then in step S 313 , the first determination unit  114  extracts speed information that is not yet designated as an exclusion target from the plurality of pieces of moving speed information stored in the storage unit  113 . In the first operational example, the first determination unit  114  extracts 750 dot/s (i.e., the moving speed in the subsection between the touch point  402  and the touch point  403 ) and 800 dot/s (i.e., the moving speed in a subsection between the touch point  405  and the touch point  406 ). Then, the operation returns to the main processing of the flowchart illustrated in  FIG. 2 . 
     In step S 206 , the second determination unit  115  determines the flick speed by calculating a mean value of the two moving speeds extracted by the first determination unit  114 . More specifically, the second determination unit  115  obtains a sum of the extracted moving speed values (i.e., 750 [dot/s]+800 [dot/s]=1550 [dot/s]) and divides the obtained sum by the number of extracted information (=2). Thus, the second determination unit  115  determines a mean value 775 dot/s obtained in this manner as the flick speed. 
     In step S 207 , the output control unit  116  determines that the input touch operation is the flick operation because the determined flick speed 775 dot/s is higher than a threshold value 200 dot/s (i.e., a reference value to be used to determine whether the flick operation has been performed). Accordingly, the output control unit  116  generates a display image to be scrolled at a speed corresponding to the flick speed 775 dot/s and outputs the generated image to the touch panel display  108 . Then, the information processing apparatus  100  terminates the processing of the flowchart illustrated in  FIG. 2 . 
     Through the above-mentioned sequential processing, in the first operational example, it is feasible to obtain the flick speed 775 dot/s that is close to the speed of a flick operation actually performed by a user (i.e., approximately 800 dot/s. 
     As described above, the information processing apparatus according to the present exemplary embodiment stores a plurality of pieces of touch point moving speed information acquired at predetermined time intervals and determines a flick speed, when the touch point is released, based on a limited number of speed information, which does not include a part of the plurality of pieces of stored information excluded with reference to predetermined conditions. Further, the predetermined exclusion condition employed in the first exemplary embodiment is “excluding a predetermined number of higher moving speeds that are included in a predetermined range.” Therefore, it is feasible to exclude a higher moving speed that is detectable when a user moves an operation object away from the touch panel or randomly occurs when the operation object is moving. Thus, the information processing apparatus according to the present exemplary embodiment can determine an appropriate flick speed based on speed information acquired when a user is intentionally moving a finger, even when an operation object is influenced by the frictional engagement with the touch panel and the operation object moves at a speed higher than the expected speed immediately before the operation object is moved away from the touch panel. Accordingly, the information processing apparatus according to the present exemplary embodiment can improve user operability in a flick operation. 
     Further, if the flick operation is performed with a force that exceeds the frictional resistance of the touch panel (more specifically at a higher speed), the operation object is substantially released from the frictional engagement. Therefore, in this case, it is unnecessary to perform moving speed exclusion processing. Accordingly, the information processing apparatus according to the present exemplary embodiment provides an upper limit to be applied to the exclusion range. In other words, the information processing apparatus according to the present exemplary embodiment can determine an appropriate flick speed without excluding any moving speed when the flick operation is performed at a higher speed. 
     As an example operation, the information processing apparatus according to the present exemplary embodiment scrolls a display image in response to a flick operation. Similarly, the information processing apparatus according to the present exemplary embodiment can cause a touched object (e.g., an image or an icon) to move on a display screen in response to a flick operation. 
     The information processing apparatus according to the present exemplary embodiment acquires an x-coordinate component and a y-coordinate component of the moving speed so that the moving speed can be expressed as a vector. It is useful to increase the processing speed because square and root calculations can be avoided. However, acquiring both the x-coordinate and y-coordinate components is not always necessary. It is useful to acquire the moving speed of a touch point in an actually advancing direction. Similarly, it is unnecessary to determine x-coordinate and y-coordinate components of a flick speed separately. Further, in the present exemplary embodiment, coordinate information is notified at the intervals of 20 ms. However, thinning out some of the acquired coordinate information may be useful if the notification of coordinate information is performed at shorter intervals. 
     In the first exemplary embodiment, it is useful to change the number of speed information to be designated as exclusion targets according to the number of pieces of acquired touch point information or moving speed information. In such a modified example, it is feasible to determine an appropriate flick speed even when the amount of information acquirable from information notified at predetermined time intervals is limited, for example, when the input time of a flick operation performed by a user is short. 
       FIG. 1C  is a block diagram illustrating another example of the functional configuration of the information processing apparatus  100 . The configuration illustrated in  FIG. 1C  is different from the configuration illustrated in  FIG. 1B  in that a measuring unit  117  and a changing unit  118  are additionally provided. The measuring unit  117  is constituted by the CPU  101 , the ROM  102 , and the RAM  103  as a unit configured to measure the number of moving speed information stored in the storage unit  113 . The changing unit  118  is constituted by the CPU  101 , the ROM  102 , and the RAM  103  as a unit configured to change the number of moving speeds to be set as exclusion targets by the first determination unit  114  according to the number of moving speed values measured by the measuring unit  117 . In the present exemplary embodiment, as an example, an initial value set for the number of exclusion speeds is 3. Processing for changing the number of exclusion speeds is described in detail below. However, it is useful that the changing unit  118  determines the number of moving speeds to be initially designated as exclusion targets without setting the initial value for the number of exclusion speeds. 
       FIG. 5A  is a flowchart illustrating another example of the flick operation recognizing processing performed by the information processing apparatus  100 . Each processing step, if the content thereof is similar to that illustrated in  FIG. 2 , is denoted by the same reference numeral used in  FIG. 2  and redundant description thereof will be avoided. Processing step, which is different from that illustrated in  FIG. 2 , is described in detail below. In step S 501 , the measuring unit  117  measures the number of pieces of moving speed information included in the information stored in the storage unit  113 . In step S 502 , the changing unit  118  changes the number of moving speeds to be designated as exclusion targets according to the number of acquisitions about the moving speed measured in step S 501 . In the processing of the flowchart illustrated in  FIG. 3  to be performed as internal processing of step S 205 , an initial value is set to designate the changed number of moving speeds as exclusion targets. 
       FIG. 5B  is an example of a table that associates the number of pieces of moving speed information acquired from touch point information acquired by the acquisition unit  112  during a sequential operation, which has been measured by the measuring unit  117 , with the number of moving speeds designated as exclusion targets according to the number of the acquired moving speed information. In the present exemplary embodiment, if the number of acquisitions about touch point information is equal to or greater than 7, the information processing apparatus stores six pieces of latest information. Therefore, the upper limit for the number of moving speed information is equal to 5. In this case, three moving speeds (i.e., initial values) are designated as exclusion targets. In a case where the number of stored moving speed information is 4, the number of moving speeds to be designated as exclusion targets is changed to 2. More specifically, the number of exclusion targets is set so as to secure at least two moving speeds to be extracted to determine a flick speed. Extracting at least two moving speeds enables the second determination unit  115  to perform mean value acquisition processing. Accordingly, when the number of pieces of stored moving speed information is 3, the number of moving speeds to be designated as exclusion targets is changed to 1. If the number of pieces of stored moving speed information is 2, the number of moving speeds to be designated as exclusion targets is changed to 0. Further, if the number of pieces of stored moving speed information is 1, the number of moving speeds to be designated as exclusion targets is set to 0. In this case, the second determination unit  115  determines that the stored moving speed (i.e., only one moving speed) as flick speed. 
     &lt;Second Operational Example&gt; 
     As a second operational example, a user can operate the information processing apparatus  100  in the following manner.  FIGS. 6A, 6B, and 6C  illustrate an example of a plurality of touch points that cooperatively constitute a flick operation. The example illustrated in  FIGS. 6A to 6C  is different from the example illustrated in  FIGS. 4A to 4C  in that the total number of touch points notified during a flick operation is five. Predetermined parameters being set in the second operational example are similar to those described in the first operational example. Further, even in the second operational example, it is presumed that a user performs a flick operation so as so scroll a display image at the speed of approximately 800 dot/s. In this case, as illustrated in  FIG. 6C , higher speeds, such as the moving speed 2200 dot/s and the moving speed 1600 dot/s, are detected due to the influence of the frictional engagement between the user finger  410  and the touch panel. 
     The input interface  105  notifies information about touch points  601  to  605 . In the flowchart illustrated in  FIG. 5A , processing to be performed in steps S 201  to S 203  is similar to the processing described in the first operational example. Therefore, redundant description thereof will be avoided. However, in the second operational example, the touch point is released after it is consecutively notified five times. Therefore, a series of touch point information obtained through five consecutive detections is stored in the storage unit  113 . 
     If release information is notified from the input interface  105  after 20 ms has elapsed since the detection timing of the touch point  605 , the information processing apparatus  100  starts the processing of the flowchart illustrated in  FIG. 5A . Processing to be performed in steps S 201  to S 204  is similar to the processing described in the first operational example. In the second operational example, the information processing apparatus  100  acquires moving speed information based on five pieces of touch point information stored in step S 203 . In step S 501 , the measuring unit  117  measures the number of pieces of moving speed information stored in the storage unit  113  and notifies the changing unit  118  of a measurement result “4.” In step S 502 , the changing unit  118  changes the number of moving speeds to be designated as exclusion targets to 2 based on the number of pieces of moving speed information notified from the measuring unit  117  and the table illustrated in  FIG. 5B . Processing to be performed in step S 205  and subsequent steps is similar to the processing described in the first operational example. However, when the predetermined number is changed to 2, two moving speeds [0 dot/s and 0 dot/s] of the exclusion targets are designated as initial values. Two moving speeds [2200 dot/s and 1600 dot/s] are finally designated as exclusion targets. Accordingly, the flick speed finally output by the second determination unit  115  in step S 206  is 825 dot/s (i.e., a mean value of 850 dot/s and 800 dot/s), which is close to the speed intended by the user (i.e., approximately 800 dot/s). 
     As described above, even when a user performs an input operation for a short period of time and the number of acquisitions about the moving speed is small, it is feasible to determine an appropriate flick speed by changing the predetermined number of exclusion speeds. 
     In the first exemplary embodiment, to prevent the flick speed from becoming excessively high, the exclusion range is set to a speed range greater than the speed of a general flick operation. However, as another exclusion condition, it is useful to exclude a slow speed if the magnitude thereof is less than a predetermined threshold value in acquiring from the flick speed. According to the above-mentioned modified example, it is feasible to prevent the flick speed from becoming lower than the value intended by a user because a slow moving speed of an operation object, which is detectable immediately after a user starts an input operation, is not used in the determination of the flick speed. 
       FIG. 7  is a flowchart illustrating another example of the flick operation recognizing processing performed by the information processing apparatus  100 , in which another exclusion condition is added. Each processing step, if the content thereof is similar to that illustrated in  FIG. 2 , is denoted by the same reference numeral used in  FIG. 2  and redundant description thereof will be avoided. Processing step, which is different from that illustrated in  FIG. 2 , is described in detail below. In step S 701 , the information processing apparatus  100  performs secondary section determination processing. More specifically, the first determination unit  114  extracts moving speeds, which do not include any moving speed that satisfies a secondary exclusion condition, from the moving speeds extracted in step S 205 . In other words, the first determination unit  114  does not reflect any movement in a subsection corresponding to a moving speed that satisfies the secondary exclusion condition on the moving speed in the input operation. On the other hand, the first determination unit  114  reflects the movement in a subsection corresponding to the extracted moving speed on the moving speed in the input operation. The secondary exclusion condition employed in the above-mentioned modified example is excluding any moving speed that is lower than the threshold value and extracting the remaining moving speed information. Even in a case where the moving speed that is slower than the threshold value is excluded, a predetermined number of lower speeds are excluded from a plurality of moving speeds extracted in step S 205 . Thus, it is feasible to secure the amount of information to be used in flick speed acquiring processing performed by the second determination unit  115 . Detailed processing includes comparing moving speeds selected as processing targets with the speed already designated as an exclusion target, similar to the processing for excluding higher moving speed information. The processing further includes designating moving speeds that are determined as being lower than the speed designated as an exclusion target, as exclusion targets, and updating the exclusion target speeds. 
     &lt;Third Operational Example&gt; 
     As a third operational example, a user can operate the information processing apparatus  100  in the following manner.  FIGS. 8A, 8B, and 8C  illustrate an example of a plurality of touch points that cooperatively constitute a flick operation. The example illustrated in  FIGS. 8A, 8B, and 8C  is different from the example illustrated in  FIGS. 6A, 6B, and 6C  in that the total number of touch points notified during a flick operation is six. The moving speed acquired at the time when 20 ms has elapsed after starting the flick operation, is a comparatively slow moving speed (i.e., 250 dot/s). Further, even in the third operational example, it is presumed that a user performs a flick operation so as to scroll a display image at the low speed of approximately 800 dot/s. In this case, as illustrated in  FIG. 8C , higher speeds, such as the moving speed 2200 dot/s and the moving speed 1600 dot/s, are detected due to the influence of the frictional engagement between a user finger  810  and the touch panel. 
       FIG. 8C  is a table indicating information about respective touch points, including x-coordinate value representing each touch point illustrated in  FIG. 8B , moving distance between neighboring touch points, moving time required in movement between neighboring touch points, moving speed in a subsection between neighboring touch points, and determination whether to exclude the moving speed. 
     Hereinbelow, predetermined parameters to be set in the third operational example are described in detail below. In the third operational example, it is presumed that touch point detection information is notified from the input interface  105  at intervals of 20 ms. The acquisition unit  112  stores six pieces of touch point information notified during six consecutive detections to acquire five moving speeds (each representing moving distance/20 ms). In general, the time required for a single flick operation is 20 [ms]×6 [times]=120 [ms]. This is the reason why the above-mentioned values are selected. Further, the first determination unit  114  designates two higher moving speeds that are included in the exclusion range 800 dot/s to 2500 dot/s and a single moving speed that is lower than the threshold value 300 dot/s as exclusion targets. 
     Accordingly, the moving speeds to be excluded are 250 dot/s (i.e., the moving speed in a subsection between a touch point  801  and a touch point  802 ), 2200 dot/s (i.e., the moving speed in a subsection between a touch point  803  and a touch point  804 ), and 1600 dot/s (i.e., the moving speed in a subsection between a touch point  805  and a touch point  806 ). As a result, the second determination unit  115  determines a mean value of the extracted moving speeds (=825 dot/s) as flick speed. 
     As described above, even when the flick speed is acquired by adding additional exclusion condition to exclude any speed that is lower than a predetermined threshold value, it is feasible to obtain an appropriate flick speed (i.e., 825 dot/s) that is close to the speed actually intended by the user (i.e., approximately 800 dot/s). According to the above-mentioned example, it is feasible to prevent the flick speed from becoming lower than the value intended by the user because a slow moving speed of an operation object, which is detectable immediately after the user starts an input operation, is not used in the determination of the flick speed. 
     Even in a case where the slower moving speed is excluded, it is useful to change the number of exclusion target speed information according to the number of pieces of acquired touch point (or moving speed) information. In this case, the number of exclusion targets can be set so as to enable the first determination unit  114  to refer to at least two pieces of information. The second determination unit  115  can secure the amount of information to be used in the determination of the flick speed. Thus, it is feasible to determine an appropriate flick speed. 
     A method according to a second exemplary embodiment includes comparing a moving speed with an immediately preceding moving speed included in a plurality of moving speeds that have been time-divisionally acquired, designating a moving speed whose increment amount is greater than a threshold value as an exclusion candidate, and excluding all of the exclusion candidates, as described in detail below. 
     The information processing apparatus  100  according to the second exemplary embodiment has a hardware configuration and a functional configuration that are similar to those described in the first exemplary embodiment with reference to  FIGS. 1A and 1B , and therefore redundant description thereof will be avoided. In the second exemplary embodiment, the information processing apparatus  100  performs user flick operation recognizing processing according to the flowchart illustrated in  FIG. 2 . 
       FIG. 9A  is a flowchart illustrating an example of the moving speed extraction processing to be performed in step S 205  according to the second exemplary embodiment. 
     First, in step S 901 , the first determination unit  114  sets a variable “i” to 1. 
     Next, in step S 902 , the first determination unit  114  determines whether a value obtainable by subtracting a moving speed value stored in the (i−1)th storage area of the storage unit  113  from a moving speed value stored in the i-th storage area is greater than a predetermined threshold value A. The threshold value A is usable to discriminate a moving speed of an operation object in a state where a user intentionally touches the touch panel from a large speed that is detectable when the operation object is released from the frictional engagement with the touch panel. More specifically, in the present exemplary embodiment, moving speeds are continuously acquired at predetermined time intervals and, if an increment amount relative to the immediately preceding moving speed exceeds the threshold value A, the first determination unit  114  determines that the operation object is released from the frictional engagement with the touch panel. If it is determined that the value obtainable by subtracting the (i−1)th speed from the i-th speed is greater than the threshold value A (YES in step S 902 ), the operation proceeds to step S 903 . If it is determined that the value obtainable by subtracting the (i−1)th speed from the i-th speed is equal to or smaller than the threshold value A (NO in step S 902 ), the operation proceeds to step S 904 . However, the (i−1)th moving speed is not present in initial loop processing. Therefore, the determination result in step S 902  is NO. The operation proceeds to step S 904 . 
     In step S 903 , the first determination unit  114  determines the i-th moving speed information as an exclusion candidate. 
     In step S 904 , the first determination unit  114  determines whether the plurality of pieces of moving speed information stored in the storage unit  113  has been entirely processed. If it is determined that the processing has been entirely completed for all of the speed information (YES in step S 904 ), the operation proceeds to step S 906 . If it is determined the processing is not yet completed for all of the speed information (NO in step S 904 ), the operation proceeds to step S 905 . 
     In step S 905 , the first determination unit  114  increments the variable “i” to “i+1” and repeats the above-mentioned processing in step S 902 . 
     In step S 906 , the first determination unit  114  determines to reflect the movement in the subsection corresponding to the moving speed designated as an exclusion candidate on the moving speed in the input operation. On the other hand, the first determination unit  114  determines to reflect the movement in the subsection corresponding to the moving speed not designated as an exclusion candidate on the moving speed in the input operation. 
     In step S 907 , the first determination unit  114  excludes all of the exclusion candidates from the plurality of pieces of moving speed information stored in the storage unit  113  and extracts the remaining moving speed information. Then, the operation returns to the processing of the flowchart illustrated in  FIG. 2 . 
     A table  1000  illustrated in  FIG. 10A  indicates information about respective touch points that have been detected when a flick operation has been performed as illustrated in  FIGS. 4A, 4B, and 4C  according to the second exemplary embodiment. The table  1000  includes x-coordinate value representing each touch point, moving distance between neighboring touch points, moving time required in movement between neighboring touch points, moving speed in a subsection between neighboring touch points, increment amount relative to immediately preceding moving speed, and determination whether to exclude the moving speed. In this example, the threshold value A is 500 dot/s. 
     In the present exemplary embodiment, the first determination unit  114  excludes moving speed information from information to be used in the determination of the flick speed if the difference between the moving speed and the immediately preceding moving speed is greater than 500 dot/s. Accordingly, as illustrated in the table  1000 , moving speed 2200 dot/s (i.e., the moving speed in the subsection between the touch point  404  and the touch point  405 ) and moving speed 1600 dot/s (i.e., the moving speed in the subsection between the touch point  406  and the touch point  407 ) are excluded and the remaining information is extracted. As a result, the second determination unit  115  determines a mean value of the extracted moving speeds (=800 dot/s) as flick speed. 
     As described above, moving speeds are continuously acquired at predetermined time intervals. Even when a moving speed is excluded because an increment amount relative to an immediately preceding moving speed exceeds a predetermined threshold value, it is feasible to obtain an appropriate flick speed that is close to the speed intended by the user (i.e., approximately 800 dot/s). In such a case, it is feasible to simplify processing steps compared to the processing steps of the flowchart illustrated in  FIG. 3 . 
     In the present exemplary embodiment, all moving speeds that satisfy only one exclusion condition are designated as exclusion candidates and excluded from processing targets of the second determination unit  115 . However, the present exemplary embodiment is not limited to the above-mentioned example. In the second exemplary embodiment, it is useful to add another exclusion condition to exclude any exclusion candidate speed that is lower than a threshold value from the processing targets of the second determination unit  115  and obtain a flick speed based on the remaining speeds. With this processing, it is feasible to prevent the flick speed from becoming lower than the value intended by a user because a slow moving speed of an operation object, which is detectable immediately after the user starts an input operation, is not used in the determination of the flick speed. Further, similar to the first exemplary embodiment, it is useful to change the number of pieces of exclusion target speed information according to the number of pieces of acquired touch point (or moving speed) information. In this case, the number of pieces of exclusion targets can be set so as to enable the first determination unit  114  to refer to at least two pieces of information. The second determination unit  115  can secure the amount of information to be used in the determination of the flick speed. Thus, it is feasible to determine an appropriate flick speed. 
     In a third exemplary embodiment, a moving speed is designated as an exclusion candidate if the moving speed is higher than a mean value of a plurality of moving speeds included in the plurality of pieces of moving speed information stored in the storage unit  113  and a difference thereof is greater than a predetermined threshold value. Further, all of the exclusion candidates are excluded, as described below. 
     The information processing apparatus  100  according to the third exemplary embodiment has a hardware configuration and a functional configuration that are similar to those described in the first exemplary embodiment with reference to  FIGS. 1A and 1C , and therefore redundant description thereof will be avoided. In the third exemplary embodiment, the information processing apparatus  100  performs user flick operation recognizing processing according to the flowchart illustrated in  FIG. 2 . 
       FIG. 9B  is a flowchart illustrating an example of the moving speed extraction processing to be performed in step S 205  according to the third exemplary embodiment. 
     First, in step S 911 , the first determination unit  114  acquires a mean speed of acquired moving speeds. More specifically, the first determination unit  114  obtains a sum of the plurality of pieces of moving speed information stored in the storage unit  113  and divides the obtained sum value by the number of the plurality of pieces of moving speed information. However, the mean value of moving speeds cannot be obtained based on the sum of the plurality of pieces of moving speed information when the time intervals of respective touch point detections are not constant. Therefore, it is useful to calculate a mean speed of the moving speeds with reference to a sum value of moving distances corresponding to the moving speeds stored in the storage unit  113  and a sum value of actually detected time intervals. 
     Next, in step S 912 , the first determination unit  114  sets the variable “i” to 1. 
     Next, in step S 913 , the first determination unit  114  determines whether a value obtainable by subtracting the mean speed acquired in step S 911  from the moving speed value stored in the i-th storage area of the storage unit  113  is greater than a predetermined threshold value B. The threshold value B is usable to discriminate a moving speed of an operation object in a state where a user intentionally touches the touch panel from a large speed that is detectable when the operation object is released from the frictional engagement with the touch panel. More specifically, in the present exemplary embodiment, moving speeds are continuously acquired at predetermined time intervals and, if a moving speed is higher than the mean moving speed and a difference thereof is greater than the threshold value B, the first determination unit  114  determines that the moving speed is influenced by the frictional engagement between the operation object and the touch panel. If it is determined that the value obtainable by subtracting the mean moving speed from the i-th speed is greater than the threshold value B (YES in step S 913 ), the operation proceeds to step S 914 . If it is determined the value obtainable by subtracting the mean moving speed from the i-th speed is equal to or smaller than the threshold value B (NO in step S 913 ), the operation proceeds to step S 915 . 
     In step S 914 , the first determination unit  114  determines the i-th moving speed information as an exclusion candidate. 
     In step S 915 , the first determination unit  114  determines whether all of the plurality of pieces of moving speed information stored in the storage unit  113  has been completely processed. If it is determined that all of the speed information has been completely processed (YES in step S 915 ), the operation proceeds to step S 917 . If it is determined that all of the speed information has not yet been completely processed (NO in step S 915 ), the operation proceeds to step S 916 . 
     In step S 916 , the first determination unit  114  increments the variable “i” to “i+1” and repeats the processing of step S 913 . 
     In step S 917 , the first determination unit  114  determines to reflect the movement in the subsection corresponding to the moving speed designated as an exclusion candidate on the moving speed in the input operation. On the other hand, the first determination unit  114  determines to reflect the movement in the subsection corresponding to the moving speed not designated as an exclusion candidate on the moving speed in the input operation. 
     In step S 918 , the first determination unit  114  excludes all of the exclusion candidates from the plurality of pieces of moving speed information stored in the storage unit  113  and extracts the remaining moving speed information. Then, the operation returns to the processing of the flowchart illustrated in  FIG. 2 . 
     A table  1001  illustrated in  FIG. 10B  indicates information about respective touch points that have been detected when a flick operation has been performed as illustrated in  FIGS. 4A, 4B, and 4C  according to the third exemplary embodiment. The table  1001  includes x-coordinate value representing each touch point, moving distance between neighboring touch points, moving time required in movement between neighboring touch points, moving speed in a subsection between neighboring touch points, speed difference relative to the mean moving speed, and determination whether to exclude the moving speed. In this example, the threshold value B is 300 dot/s. 
     First, in step S 911 , the first determination unit  114  obtains a mean moving speed 1240 dot/s (=(750+850+2200+800+1600)/5) based on the plurality of pieces of moving speed information stored in the storage unit  113 . In the present exemplary embodiment, the first determination unit  114  excludes moving speed information that is greater than the mean moving speed and the difference thereof is greater than 300 dot/s from the information to be used in the determination of the flick speed. Accordingly, as illustrated in the table  1001 , the first determination unit  114  excludes 2200 dot/s (i.e., the moving speed in the subsection between the touch point  404  and the touch point  405 ) and 1600 dot/s (i.e., the moving speed in the subsection between the touch point  406  and the touch point  407 ) and extracts the remaining information. As a result, the second determination unit  115  determines a mean value of the extracted moving speeds (=800 dot/s) as flick speed. 
     As described above, even when the exclusion condition is “excluding a moving speed that is equal to or higher than a mean speed of the plurality of stored moving speeds if the difference thereof is greater than a predetermined threshold value”, it is feasible to obtain an appropriate flick speed that is close to approximately 800 dot/s actually intended by a user. In such a case, it is feasible to simplify processing steps compared to the processing steps of the flowchart illustrated in  FIG. 3 . 
     In the third exemplary embodiment, to acquire the flick speed, it is useful to add another exclusion condition to exclude any speed that is lower than the mean speed if the difference thereof is greater than a predetermined threshold value. According to the above-mentioned example, it is feasible to prevent the flick speed from becoming lower than the value intended by a user because a low moving speed of an operation object, which is detectable immediately after the user starts an input operation, is not used in the determination of the flick speed. Further, similar to the first exemplary embodiment, it is useful to change the number of pieces of exclusion target speed information according to the number of pieces of acquired touch point (or moving speed) information. In this case, the number of exclusion targets can be set so as to enable the first determination unit  114  to refer to at least two pieces of information. The second determination unit  115  can secure the amount of information to be used in the determination of the flick speed. Thus, it is feasible to determine an appropriate flick speed. 
     In the third exemplary embodiment, all moving speeds that satisfy only one exclusion condition are designated as exclusion candidates and excluded from processing targets of the second determination unit  115 . However, the present exemplary embodiment is not limited to the above-mentioned example. Although the first determination unit  114  in the above-mentioned exemplary embodiment excludes any moving speed that is higher than the mean speed and the difference thereof is greater than a predetermined threshold value, it is also useful to exclude any speed that is higher than the mean speed and the difference thereof is included in a predetermined range having an upper limit. According to the above-mentioned example, it is feasible to prevent any moving speed that is higher than the mean speed and the difference thereof does not exceed the upper limit of the predetermined range from being excluded. Thus, in a case where a user performs a flick operation at a higher speed, the moving speed is not excluded and an appropriate flick speed can be determined. Further, in a case where the mean speed obtained in step S 911  is greater than a predetermined threshold value, it is useful to stop the moving speed extraction processing and extract all moving speeds stored in the storage unit  113 . In this case, even when a user performs a flick operation at a higher speed, the moving speed is not excluded and an appropriate flick speed can be determined. The performance can be improved and power saving can be appropriately realized because the information processing apparatus does not perform the moving speed processing unnecessarily. 
     According to the present disclosure, it is feasible to improve user operability in a flick operation. 
     Embodiments of the present disclosure can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions recorded on a storage medium (e.g., a non-transitory computer-readable storage medium) to perform the functions of one or more of the above-described embodiment(s) of the present disclosure, and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more of a CPU, micro processing unit (MPU), or other circuitry, and may include a network of separate computers or separate computer processors. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like. 
     While the present disclosure has been described with reference to exemplary embodiments, it is to be understood that the disclosure is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions. 
     This application claims priority from Japanese Patent Application No. 2012-201684 filed Sep. 13, 2012, which is hereby incorporated by reference herein in its entirety.