Patent Publication Number: US-9430089-B2

Title: Information processing apparatus and method for controlling the same

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a technique for recognizing a touch operation. 
     2. Description of the Related Art 
     A touch input device has spread in these years. The touch input device imports the X and Y coordinate values of a touched position as input values in response to a touch on the screen by the user&#39;s finger or a stylus so as to perform various processes based on the input values. A technique for a so-called multi-touch in which the user operates the device by touching a plurality of points on the screen has been developing. The user can perform various operations such as enlargement, reduction, and scroll, for example, by touching two points with the user&#39;s right hand index figure and thumb in the multi-touch operation. 
     Designing as much of the whole device as possible on the screen is often required for such touch input devices. However, the user may happen to unconsciously touch the screen, for example, in order to hold the touch input device with the use&#39;s hand. When, as described above, the user mistakenly touches the screen on the touch input device in which a multi-touch operation can be performed, more touch inputs are recognized than the user intended. This can cause malfunction. 
     Japanese Patent Application Laid-Open No. 2009-217814 discloses that a touch on the peripheral edge of the touch panel is selectively ignored. In that case, when a touch on the edge moves a distance exceeding a predetermined distance or moves at a speed exceeding a predetermined speed, or when a touch started in the central region of the touch panel enters the edge, the touch on the edge is recognized as a part of a gesture. 
     However, various displays including a user interface are displayed even on the edge of a touch panel in many touch input devices in order to efficiently use the display region of the touch panel. A method disclosed in Japanese Patent Application Laid-Open No. 2009-217814 in which all touch points without moving are determined as invalid on the edge limits the contents allowed to be displayed on the edge. 
     SUMMARY OF THE INVENTION 
     An objective of the present invention is to improve the operability of the user interface displayed in a predetermined range when a touch point in the predetermined range on the touch panel display is selectively determined as an invalid input. 
     The present invention provides an information processing apparatus configured to recognize a touch operation. The information processing apparatus includes an obtaining unit configured to obtain a plurality of touch positions touched on a display screen; a specifying unit configured to specify an object displayed at a position corresponding to each of the touch positions obtained by the obtaining unit on the display screen when at least one of the touch positions obtained by the obtaining unit is included in a predetermined range on the display screen; and a determination unit configured to determine, among the touch positions obtained by the obtaining unit, a touch position included in the predetermined range as an invalid input for a touch operation to the information processing apparatus when the object specified by the specifying unit is not a plurality of objects associated with each other. Further features of the present invention will become apparent from the following description of exemplary embodiments (with reference to the attached drawings). 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIGS. 1A to 1C  are diagrams of an exemplary appearance and configuration of an information processing apparatus; 
         FIG. 2  is a flowchart for describing an exemplary flow of a process for recognizing a touch input by the user; 
         FIG. 3  is a flowchart for describing an exemplary flow of a process for obtaining a touch point; 
         FIG. 4  is a flowchart for describing an exemplary flow of a determination process based on the information associating objects; 
         FIGS. 5A to 5C  are diagrams of an exemplary display state of an object and exemplary association information; 
         FIGS. 6A to 6D  are diagrams of an exemplary operation on the information processing apparatus; 
         FIGS. 7A to 7C  are diagrams of an exemplary operation on the information processing apparatus; 
         FIGS. 8A to 8E  are diagrams of exemplary stored information about touch points; 
         FIG. 9  is a flowchart for describing an exemplary flow of a process for recognizing a touch input by the user; 
         FIG. 10  is a flowchart for describing an exemplary flow of a process for obtaining a touch point; 
         FIG. 11  is a flowchart for describing an exemplary flow of a determination process based on the information associating objects; 
         FIGS. 12A to 12E  are diagrams of an exemplary operation on the information processing apparatus; 
         FIGS. 13A to 13D  are diagrams of an exemplary operation on the information processing apparatus; and 
         FIGS. 14A to 14D  are diagrams of exemplary stored information about touch points. 
     
    
    
     DESCRIPTION OF THE EMBODIMENTS 
     Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings. Note that the exemplary embodiments to be described below are examples in which the present invention is specifically implemented and the present invention is not limited to the exemplary embodiments. 
     (First Embodiment) 
       FIGS. 1A to 1C  are diagrams of an exemplary appearance and hardware configuration of an information processing apparatus applicable to the present exemplary embodiment.  FIG. 1A  is a diagram of a mobile terminal that is an example of an information processing apparatus  100  when viewed from the front side and the lateral side of the screen. A housing  101  is an outer periphery of an input region  102  and made of, for example, synthetic resin or metal in  FIG. 1A . The input region  102  includes, for example, a touch sensor and is a target region to be touched by the user so as to receive an input to the information processing apparatus  100 . The input region  102  includes a touch panel display in which a touch sensor is installed on a display that is a display portion in the present exemplary embodiment. A display screen of the touch panel display is an interface configured to display an image for operating the information processing apparatus  100  or a device connected to the information processing apparatus  100 . When carrying the information processing apparatus  100 , the user usually grasps a part of the housing  101  with the user&#39;s hand. At that time, the user happens to touch a portion near an outer edge of the input region  102  with the user&#39;s finger. In the present exemplary embodiment, a range  103  from the outer edge of the inside of the input region  102  to a predetermined distance inwardly away from the outer edge is set as a predetermined range where it is expected that the user happens to mistakenly touch the range. Note that the input region  102  on a touch panel display  115  in the information processing apparatus  100  described herein has a resolution of 480 [dot]×640 [dot] and can manage the positional information as a plane of coordinates that has the origin on the upper left of the drawing. 
     Hereinafter, the mobile terminal illustrated in  FIG. 1A  will be described as the information processing apparatus  100  in the present exemplary embodiment. 
     Hereinafter, the position touched by the user in the input region  102  is specified as a point and is referred to as a touch point in the present exemplary embodiment. The positional information of the touch point is handled as the information of the coordinates on the assumption that the input region  102  is a plane of coordinates having the origin on the upper left of the drawing. However, the position touched by the user can be obtained in a method except the method in which the point is specified. For example, both of the information corresponding to the area touched by a finger and the information indicating the point that is the median point (or the center) of the touched region can be obtained. 
     It is considered in the present exemplary embodiment that it is highly possible that the touch point obtained in the predetermined range  103  set on the outer edge of the input region  102  among one or more touch points touched by the user in the input region  102  has been touched because the user carries the apparatus with the user&#39;s hand. However, when the obtained touch points contact one or more associated objects, it is deemed that the user has touched the input region  102  in order to operate the object even if the touch points have been obtained in the predetermined range  103 . Thus, among the touch points obtained in the predetermined range  103 , the touch point that does not contact an object associated with the object that the other touch point contacts is determined as an invalid input. 
       FIG. 1B  is an exemplary block diagram of a hardware configuration of the information processing apparatus  100  applicable to the present exemplary embodiment. In  FIG. 1B , a CPU  111  is a central processing unit, ROM  112  is read only memory, and an HDD  113  is a hard disk drive. The CPU  111  reads and executes a control program stored in the ROM  112  or the HDD  113  so as to control each device in the present exemplary embodiment. The control program is for causing the information processing apparatus  100  to perform the operations to be described in the present exemplary embodiment. The ROM  112  stores such control programs and various types of data used by the programs. RAM  114  is random access memory and includes, for example, the work region of the program of the CPU  111 , a data save region at an error handling, and a load region for the control programs. The HDD  113  stores the control programs and various types of data. The touch panel display  115  is a device that combines a touch sensor or the like for importing the information about the user operation in the input region  102  and a display screen for outputting a display. The touch panel display  115  integrated in the information processing apparatus  100  is used as the touch panel working as an input device and the display device working as an output device in the present exemplary embodiment. However, an external device connected to the information processing apparatus  100  can also be used. A capacitance type touch panel display is used as the touch panel display  115  working as an input device in the present exemplary embodiment. The touch panel display  115  can operate in two modes, a normal mode and a sensitive mode in the present exemplary embodiment. In the normal mode, every time after the touch sensor provided on an operation panel and configured to detect a touch by the user scans the surface of the touch panel display and detects a point touched by the user or a point from which a touch has been released one by one, the points are sequentially notified as touch events to the information processing apparatus  100 . On the other hand, in the sensitive mode, the sensitivity of the touch sensor increases. Thus, the finger close to the surface of the touch panel display  115  is detected as a touch point even though the finger has not touched the surface. However, the touch panel is not limited to the capacitance type. A touch panel configured to detect a touch or a vicinity of the user to the operation surface, for example, using an electromagnetic induction or optical sensor device can be used. An output I/F  116  is for outputting various types of information through a network or the like to an output device except for the display. A bus  117  transfers an address signal indicating a component to be controlled by the CPU  111 , a control signal for controlling each component, and data transferred among the component devices. Note that the control program can previously be stored in the ROM  112  or the HDD  113 , or can be received from an external device through the network and stored in the ROM  112  or the HDD  113  as necessary. 
     The CPU  111  performs each of the functions of the information processing apparatus  100  to be described below or each of the operations described in the flowcharts to be described below by executing the program stored in, the ROM  112 , the HDD  113 , or the like. 
       FIG. 1C  is an exemplary block diagram of the software configuration of the information processing apparatus  100 . 
     An obtaining unit  121  includes the CPU, the ROM, and the RAM (hereinafter, referred to as the CPU and the like) so as to obtain the information about a touch point touched by the user based on a signal notified from the touch sensor on the touch panel display  115 . The information about a touch point includes, for example, the coordinate information indicating the position of the touch point in the input region  102 , and the information indicating the obtaining time when the touch point has been obtained at the position, the order in which the touched position has been obtained, and the like. The obtaining unit  121  stores the obtained information in a first storage unit  123  included in the RAM  114 . 
     A determination unit  122  includes the CPU and the like so as to determine whether each touch point is a valid input or an invalid input to the information processing apparatus  100  when it has been determined that there is a plurality of touch points obtained by the obtaining unit  121  based on the information stored in the first storage unit  123 . The predetermined range  103  is set in the input region  102  in the present exemplary embodiment. The predetermined range  103  corresponds to the part where the user happens to touch when the user holds the information processing apparatus  100 , for example, a range from the outer edge of the input region to a predetermined distance away from the outer edge. The determination unit  122  determines a touch point as a possible invalid input when the position of the touch point is included in the set predetermined range  103 . The determination unit  122  determines the touch point as a valid input when an object associated with the object displayed on the other touch point is displayed at the position of each of the touch points that have been determined as possibly invalid inputs. The determination unit  122  determines the touch point as an invalid input when the object associated with the object displayed on the other touch point is not displayed at the position of each of the touch points that have been determined as possibly invalid inputs. The information about the object or the content data included in the displayed image displayed on the touch panel display  115  and used for the determination process in the determination unit  122  is stored in a second storage unit  126  in the present exemplary embodiment. 
     A recognition unit  124  includes the CPU and the like to receive the determination result from the determination unit  122  and obtain the information about a valid touch point from the information stored in the first storage unit  123  so as to recognize the information as the input information included in the touch operation. 
     A display control unit  125  is configured to generate a displayed image reflecting the result according to the input based on the information stored in the second storage unit  126  in order to control the display to output the image to the touch panel display  115  working as the display unit. For example, when the object shows the user interface designated by the touch point determined as valid, the display control unit  125  generates a displayed image reflecting the operation according to the object and outputs the image. 
     The second storage unit  126  stores image data necessary for the display control unit  125  to generate a displayed image, and the attribute information. The second storage unit  126  stores, for example, the image information and the information indicating the display position about a plurality of objects that are the components of the graphical user interfaces of various applications performed in the information processing apparatus  100  or the operation system. Further, the second storage unit  126  sometimes stores the object that forms a graphical user interface screen with associating the object to the other object. For example, when there is a user interface that operates a function by cooperating a plurality of objects, the association information associating the objects to each other is added to the objects as it is determined that the objects are associated with each other. The determination unit  122  determines based on the association information added to the object displayed at the position of each of the touch points whether the object displayed at the touch point included in the predetermined range  103  is associated with the object displayed at the other touch point. When determining that the object displayed at the touch point included in the predetermined range  103  is associated with the object displayed at the other touch point, the determination unit  122  determines the touch point included in the predetermined range  103  as valid. When determining that the object displayed at the touch point included in the predetermined range  103  is not associated with the object displayed at the other touch point, the determination unit  122  determines the touch point included in the predetermined range  103  as invalid. Note that the RAM  114  reads the information stored in the HDD  113 , an external storage device, or the ROM  112 . This forms the second storage unit  126 . Note that the association information indicates only the link between an object and another object in the present exemplary embodiment. When the same object is displayed at a plurality of touch points, it is determined that an object that is not associated with another is touched. 
     The CPU  111  develops the program stored in the ROM  112  to the RAM  114  to execute the program in order to implement each function of the functional units in the present exemplary embodiment. Note that an information processing apparatus that implements the functional units with hardware can similarly implement the present invention. 
     Next, the flow of a process for recognizing a touch input by the user in the present exemplary embodiment will be described according to the flowchart in  FIG. 2 . Note that turning on the information processing apparatus  100  starts the following process in the present exemplary embodiment. However, the present invention is not limited to the present exemplary embodiment. Releasing the lock on the apparatus, starting a specific application, or completing drawing a displayed image can also start the process for recognizing a touch input. 
     First, the obtaining unit  121  obtains the information about the touch point to the input region  102  in step S 201 . At that time, the touch sensor on the touch panel display  115  detects the fact that the user has touched the input region  102  with the user&#39;s finger to operate the apparatus. Then, the obtaining unit  121  obtains the information about the touched position based on the information obtained from the touch sensor. 
     Herein,  FIG. 3  is a flowchart for describing the flow of a process for obtaining a touch point in step S 201 . 
     First, the obtaining unit  121  determines in step S 301  whether the touch event notified from the touch sensor is a “TOUCH”. The touch sensor used in the present exemplary embodiment notifies a touch event when obtaining the fact that the input region  102  is touched or when the obtained touch is released. In that case, when obtaining the fact that the input region  102  is touched, the touch sensor notifies a “TOUCH” as the touch event to the obtaining unit  121 . When the obtained touch is released, the touch sensor notifies a “RELEASE” as the touch event to the obtaining unit  121 . When it is determined that the notified touch event is a “TOUCH” (YES in step S 301 ), the process goes to step S 302 . When the notified touch event is not a “TOUCH”, or, in other words, is a “RELEASE” (NO in step S 301 ), the process goes to step S 307 . 
     The obtaining unit  121  determines in step S 302  whether a touch point having the same ID as the touch point of which touch event has been notified as the “TOUCH” has already been obtained. The obtaining unit  121  determines whether the same ID is included in the information stored in the first storage unit  123  with reference to the information. The ID of a touch point is identification data for identifying the touch point that the obtaining unit  121  has obtained. In the present exemplary embodiment, numbers 1, 2, . . . are assigned as the IDs in order of obtaining based on how many points have been touched before the touch point is touched in the input region  102 . When it is determined that the touch point having the same ID has not been obtained (NO in step S 302 ), the process goes to step S 303 . On the other hand, when it is determined that the touch point having the same ID has already been obtained (YES in step S 302 ), the process goes to step S 304 . 
     The obtaining unit  121  newly adds the information about the ID, coordinates, and obtaining time of the touch point of which touch event has been obtained as a “TOUCH” to the information stored in the first storage unit  123  in step S 303 . Note that, as illustrated in  FIG. 1A , the information about the position is represented by the coordinates x and y based on the plane of coordinates having the origin on the upper left of the input region  102  in the present exemplary embodiment. 
     The obtaining unit  121  newly adds the information about the ID, coordinates, and obtaining time of the touch point of which touch event has been obtained as a “TOUCH” to the information stored in the first storage unit  123  in step S 303 . 
     The obtaining unit  121  updates the information about the coordinates and obtaining time of the touch point having the same ID as the touch point of which touch event has been obtained as a “TOUCH” in the information stored in the first storage unit  123  in step S 304 . 
     Next, the obtaining unit  121  specifies the ID of the object displayed at the position of the obtained touch point with reference to the information about the object stored in the second storage unit  126  in order to store the ID in the first storage unit  123  in step S 305 . Then, the process returns to the process for recognizing a touch input ( FIG. 2 ). 
     On the other hand, when the obtaining unit  121  determines NO in step S 301 , or, in other words, when the touch sensor notifies a touch event except for a “TOUCH”, it means that a “RELEASE” is notified in the present exemplary embodiment. Thus, in step S 306 , the obtaining unit  121  deletes the position and obtaining time associated with the ID corresponding to the touch point of which touch event has been obtained as “RELEASE” and the ID information of the displayed object together with the ID of the touch point from the information stored in the first storage unit  123 . Then, the process returns to the process for recognizing a touch input ( FIG. 2 ). 
     Once the process has returned to the process for recognizing a touch input by the user, the determination unit  122  subsequently determines in step S 202  whether the obtaining unit  121  has obtained a plurality of touch points. At that time, the determination unit  122  finds the number of touch points from the number of the stored IDs with reference to the information stored in the first storage unit  123  in order to determine whether a plurality of touch points has been obtained. When it is determined in step S 202  that a plurality of touch points has been obtained (YES in step S 202 ), the process goes to step S 203 . When it is determined that a plurality of touch points has not been obtained (NO in step S 202 ), the process goes to step S 208 . 
     The determination unit  122  determines in step S 203  whether the position of at least one of the obtained touch points is included in the predetermined range  103  preset in the input region  102 . The determination unit  122  in the present exemplary embodiment determines whether at least a touch point is included in the predetermined range  103  with reference to the information stored in the first storage unit  123  and based on the coordinate values of the obtained touch point and a preset condition expression. When it is determined that the position of at least one of the obtained touch points is included in the predetermined range (YES in step S 203 ), the process goes to step S 204 . On the other hand, when it is determined that all the positions of the obtained touch points are not included in the predetermined range (NO in step S 203 ), the process goes to step S 209 . 
     The determination unit  122  determines the touch point included in the predetermined range  103  as a possibly invalid input in step S 204  in order to store the information about a value “TRUE” of a flag on the possibly invalid input in the first storage unit  123  with associating the information to the ID of the specified touch point. 
     In step S 205 , the determination unit  122  determines the obtained touch point as a valid input or as an invalid input based on the object displayed in the input region  102 . It is determined in the present exemplary embodiment based on the information about the object stored in the second storage unit  126  whether the object displayed at the position of the touch point included in the predetermined range  103  is associated with the object displayed at the position of the other touch point. 
     Herein,  FIG. 4  is a flowchart for describing the flow of a determination process based on the displayed object in step S 205 . 
     First, in step S 401 , the determination unit  122  selects a touch point that has been recognized to be included in the predetermined range  103  in step S 203 . In the present exemplary embodiment, the determination unit  122  obtains an ID of the touch point associated with the flag on the possibly invalid touch point that is “TRUE” with reference to the information stored in the first storage unit  123 . In the present exemplary embodiment, the determination unit  122  finds touch points associated with the flag on the possibly invalid touch point that is “TRUE” in ascending order of the ID number and selects the touch points one by one. 
     Next, in step S 402 , the determination unit  122  specifies the object displayed at the position of the selected touch point. The determination unit  122  in the present exemplary embodiment obtains the ID of the displayed object from the information associated with the ID of the touch point obtained in step S 401  with reference to the information stored in the first storage unit  123 . 
     The determination unit  122  determines in step S 403  whether the specified object is associated with the object displayed at the position of the other touch point. In the present exemplary embodiment, the determination unit  122  determines, with reference to the information stored in the second storage unit  126  and associated with the ID of the displayed object that the determination unit  122  has obtained in step S 402 , whether there is an object associated with the displayed object having the ID. When there is an associated object, the determination unit  122  specifies the ID of the associated object and then determines whether there is a touch point associated with the displayed object having the ID among the touch points stored in the first storage unit  123 . When there is a touch point associated with the displayed object having the ID, it is determined that the specified object is associated with the object displayed at the position of the other touch point. When it is determined that the specified object is associated with the object displayed at the position of the other touch point (YES in step S 403 ), the process goes to step S 405 . When it is determined that the specified object is not associated with the object displayed at the position of the other touch point (NO in step S 403 ), the process goes to step S 404 . 
     In step S 404 , the determination unit  122  determines the touch point selected in step S 401  as an invalid input and maintains the value of the flag on the possibly invalid touch point as “TRUE”. Then, the process goes to step S 406 . 
     On the other hand, the determination unit  122  determines the touch point selected in step S 401  as a valid input in step S 405 . In other words, the touch point is eliminated from the touch points determined as possibly invalid inputs. At that time, the determination unit  122  updates, as “FALSE”, the value of the flag on the possibly invalid touch point associated with the touch point having the ID specified in step S 401  in the information stored in the first storage unit  123 . 
     The determination unit  122  determines in step S 406  whether all the touch points included in the predetermined range have been processed. In the present exemplary embodiment, at the completion of the search of the information about the touch point of which ID has the largest number among the touch points stored in the first storage unit  123 , it is determined that all the touch points included in the predetermined range  103  have been processed. When it is determined that all the touch points included in the predetermined range have not been processed (NO in step S 406 ), the process goes back to step S 401  to select the touch point of which ID has the second largest number from among the touch points associated with the flag on the possibly invalid touch point that is “TRUE”. When it is determined that all the touch points included in the predetermined range have been processed (YES in step S 406 ), the determination process is terminated. Then, the process goes back to the flowchart in  FIG. 2 . 
     Once the process has returned to the process for recognizing a touch input by the user, the recognition unit  124  subsequently in step S 206  recognizes the touch point that has not been determined as an invalid input as the result from the determination process in the determination unit  122 . The recognition unit  124  in the present exemplary embodiment recognizes the information stored in the first storage unit  123  as the input of the coordinates of all the touch points associated with the flag on the possibly invalid touch point that is not “TRUE” with reference to the information in order to perform an appropriate process. 
     Then, in step S 207 , the display control unit  125  reflects the result from the input recognized with the recognition unit  124  in the output. In the present exemplary embodiment, the display control unit  125  reflects the result that is the operation indicated by the recognized input in the displayed image displayed on the touch panel display  115  and outputs the result. 
     On the other hand, the determination unit  122  determines in step S 208  whether an obtained touch point is the touch point already determined as invalid by the determination unit  122 . When an obtained touch point is the touch point remaining after the other touch points have not been obtained (have been released) and thus the obtained touch points have decreased to one, the touch point has already been determined by the determination unit  122 . In that case, once a touch point has been determined as an invalid input, it is preferable that the touch point continues to be determined as an invalid input. Thus, the determination in step S 207  is performed. When an obtained touch point has already been determined as invalid by the determination unit  122 , it is highly possible that the touch point is touched by the finger touching the input region  102  in order to carry the information processing apparatus  100 . Thus, the touch point is continuously determined as invalid in the present exemplary embodiment. When it is determined that the obtained touch point is the touch point that has already been determined as invalid by the determination unit  122  (YES in step S 208 ), the process goes to step S 206 . On the other hand, when it is determined that the obtained touch point is not the touch point that has already been determined as invalid by the determination unit  122  (NO in step S 208 ), the process goes to step S 209 . 
     In step S 209 , the determination unit  122  determines all the obtained touch points as valid inputs and then notifies the information indicating the determination result to the recognition unit  124 . 
     Note that, although the touch panel that notifies a “TOUCH” as the touch event when the touch sensor has obtained a touch, and notifies a “RELEASE” as the touch event when the obtained touch has been released is used in the present exemplary embodiment, the present invention is not limited to the embodiment. For example, a “TOUCH_DOWN” can be notified as the touch event when the input region  102  has newly been touched, a “MOVE” can be notified as the touch event when the motion of the touch point having the obtained ID has been obtained, or a “TOUCH_UP” can be notified as the touch event when the touch has been released. In such a case, when a “TOUCH_DOWN” is notified, the information to be stored in the first storage unit  123  is newly added and associated with the ID. When a “MOVE” is notified, the information associated with the same ID is updated. When a “TOUCH_UP” is notified, the information associated with the same ID is deleted. 
     As described above, the information processing apparatus  100  manages the information by identifying a plurality of touch points obtained on the touch panel working as an input device using the IDs. Thus, the information processing apparatus  100  can obtain each motion of the touch points and can recognize a multi-touch operation configured on the touch points. 
     Hereinafter, an exemplary operation in which the user operates the information processing apparatus  100  according to the first exemplary embodiment will specifically be described with reference to  FIGS. 5A to 8E . 
     First,  FIGS. 5A to 5C  are examples of the display state of an object and the association information.  FIG. 5A  illustrates an exemplary state of the user interface displayed when the information processing apparatus  100  is used as a camera. In that case, a captured image  500  taken with an imaging unit (not illustrated in the drawings), an object  501 , an object  502 , and an object  503  are displayed in the input region  102 . The objects work as the interfaces of the information processing apparatus  100  and play roles as icons for calling the adjustment function of the zoom level of the camera, the adjustment function of the ISO speed, and the adjustment function of the shutter speed (hereinafter, merely referred to as “shutter speed”).  FIG. 5B  illustrates that the user indicates the object  501  with a touch point  504  and thus an object  505  is newly displayed. A function as a zoom adjustment bar is allotted to the object  505  because the touch point  504  has indicated the icon for calling the zoom level adjustment function (hereinafter, merely referred to as “zoom”). Similarly, a function as an ISO adjustment bar is allotted to the object  505  when the object  502  corresponding to the adjustment function of the ISO speed (hereinafter, merely referred to as “ISO”) is indicated. A function as a shutter speed adjustment bar is allotted to the object  505  when the object  503  corresponding to the adjustment function of the shutter speed (hereinafter, merely referred to as “shutter speed”) is indicated. 
       FIG. 5C  is a table showing an example of the information stored in the second storage unit  126 . IDs for identifying the displayed objects and the association information for associating the object to the other object are stored in the table. For example, as illustrated in  FIG. 5B , indicating the object  501  corresponding to the “zoom” displays the object  505  corresponding to the zoom adjustment bar. Thus, in  FIG. 5C , the object corresponding to the “zoom” and having an ID  1  and the object corresponding to the zoom adjustment bar and having an ID  1 - 1  stores the IDs of each other as the association information. The “ISO” and the “shutter speed” are similar. 
     Next,  FIGS. 6A to 6D  illustrate an exemplary operation of the information processing apparatus  100  described in  FIGS. 5A to 5C . First, as illustrated in  FIG. 6A , the information processing apparatus  100  is rotated 90 degrees counterclockwise from the state in  FIG. 1A . Thus, the input region  102  on the touch panel display  115  can manage the positional information as a plane of coordinates that has a resolution of 480 [dot]×640 [dot] and has the origin on the lower left of the drawing. In the examples in  FIGS. 6A to 6D , a range having 20 [dot] in width is previously set as the predetermined range  103  from the outer edge of the input region  102 .  FIGS. 8A to 8C  are tables showing examples of the information that has been obtained by the obtaining unit  121  and has been stored in the first storage unit  123  in the states in  FIGS. 6B to 6D . 
       FIG. 6B  illustrates that the user has touched the object  501  displayed in the input region  102  and thus the touch point  504  has been obtained (step S 201 ). As illustrated in  FIG. 8A , the obtaining unit  121  obtains the positional coordinates that are the x-coordinate (380 [dot]) and the y-coordinate (10 [dot]) and the ID  1  indicating the object  501  displayed at the position with respect to the touch point having the ID  1  indicating that the touch point has been touched first. At that time, a plurality of touch points has not been obtained (NO in step S 202 ), and the obtained touch point has not already been determined as invalid (NO in step S 208 ). Thus, the operation with the touch point  504  is recognized (step S 206 ). Thus, as illustrated in  FIG. 6C , the object  505  that is the zoom adjustment bar is displayed as the output of the operation result (step S 207 ). 
     Next,  FIG. 6C  illustrates that the user has newly touched the object  505  and thus a touch point  601  has been obtained (step S 201 ). As illustrated in  FIG. 8B , the obtaining unit  121  obtains the positional coordinates that are the x-coordinate (80 [dot]) and the y-coordinate (620 [dot]) and the ID  1 - 1  indicating the object  505  displayed at the position with respect to the touch point having an ID  2  indicating that the touch point has been touched secondarily. At that time, a plurality of touch points has been obtained (YES in step S 202 ). Thus, the determination unit  122  determines whether the position of at least one of the touch points is included in the predetermined range  103 . In the example, both of the touch point having the ID  1  and the touch point having the ID  2  are included in the range having 20 [dot] in width from the outer edge in a Y-axis direction (YES in step S 203 ). Thus, the determination unit  122  obtains the two touch points (ID= 1  and ID= 2 ) included in the predetermined range  103  (step S 204 ). Then, the determination unit  122  first selects the touch point having the ID  1  (step S 401 ) and determines whether there is an object associated with the object  501  having the ID  1  and displayed at the position of the selected touch point (step S 403 ). In the example, the determination unit  122  determines based on the table in  FIG. 5C  that there is the object  505  having the ID  1 - 1 . It is determined based on the table stored in the first storage unit  123  in  FIG. 8B  that the touch point having the ID  2  is associated with the object having the ID  1 - 1 . Thus, the touch point having the ID  1  is determined as a valid input and the flag on the possibly invalid touch point becomes “FALSE” because the specified object is associated with the object displayed at the position of the other touch point (YES in step S 403 ). Similarly, the touch point having the ID  2  is also determined as a valid input and the flag on the possibly invalid touch point becomes “FALSE” (step S 405 ). Note that, when the displayed object associated with a touch point included in the predetermined range  103  has been associated as the displayed object of the other touch point included in the predetermined range  103 , the touch points can constantly be determined as valid inputs. 
       FIG. 6D  illustrates the information processing apparatus  100  in which the operation for adjusting the zoom level is continuously input because the two touch points are determined as valid inputs. In that case, moving the touch point  601  having the ID  2  in the positive direction of the positive X-axis zooms in the captured image (step S 207 ).  FIG. 8C  illustrates an example of the information stored in the first storage unit  123  at that time. Both of two touch points associated with the flag on the possibly invalid touch point that is “FALSE” are determined as valid inputs. Thus, it is found that the operation configured with the touch points is recognized. 
     Next,  FIG. 7A to 7C  illustrates that the user browses an image  700  of a person on the information processing apparatus  100 . In that case, the image  700  is associated with the object ID= 4  in the table in  FIG. 5C , similarly to the captured image  500  in  FIG. 5A . 
       FIG. 7A  illustrates that the user&#39;s thumb has touched the input region  102  when the user carries the information processing apparatus  100  with the user&#39;s left hand and thus a touch point  701  has been obtained. As illustrated in  FIG. 8D , the obtaining unit  121  obtains the positional coordinates that are the x-coordinate (220 [dot]) and the y-coordinate (10 [dot]) and the ID= 4  indicating the image  700  displayed at the position with respect to the touch point having the ID  1  indicating that the touch point has been touched first. At that time, the touch point  701  is determined as a valid input in the same process as in  FIG. 6B . However, the process that the information processing apparatus  100  performs is not associated with the operation in which the image  700  is touched on the operation screen. Thus, the output displayed image does not change. 
     Next,  FIG. 7B  illustrates that the user further touches the input region  102  in order to change the image displayed in the input region  102 .  FIG. 8E  is an example of the information about the touch points obtained at that time stored in the first storage unit  123 . A touch point  702  having the ID  2  indicating that the touch point has been touched secondarily is associated with the positional coordinates that are the x-coordinate (200 [dot]) and the y-coordinate (600 [dot]) and the ID= 4  indicating the image  700  displayed at the position. 
     Next,  FIG. 7B  illustrates that the touch point  702  that has been touched when the user has further touched the input region  102  in order to change the image displayed in the input region  102  is obtained (step S 201 ). As illustrated in  FIG. 8E , the obtaining unit  121  obtains the positional coordinates that are the x-coordinate (200 [dot]) and the y-coordinate (600 [dot]) and the ID  4  indicating the image  700  displayed at the position with respect to the touch point  702  having the ID  2  indicating that the touch point has been touched secondarily. At that time, a plurality of touch points has been obtained (YES in step S 202 ). Thus, the determination unit  122  determines whether the position of at least one of the obtained touch points is included in the predetermined range  103 . In the example, the touch point having the ID  1  is included in the range having 20 [dot] in width from the outer edge in the Y-axis direction (YES in step S 203 ). Thus, the determination unit  122  obtains the touch point (ID= 1 ) included in the predetermined range  103  (step S 204 ). Then, the determination unit  122  determines whether there is an object associated with the image  700  having the ID  4  and displayed at the position of the obtained touch point (step S 403 ). When it is determined based on the table stored in the second storage unit  126  in  FIG. 5C  that there is not an object associated with the image  700  having the ID  4 , the touch point  701  is determined as an invalid input (step S 404 ). Thus, the flag on the possibly invalid touch point associated with the touch point having the ID  1  becomes “TRUE” and the flag on the possibly invalid touch point associated with the touch point having the ID  2  becomes “FALSE” in  FIG. 8E . 
       FIG. 7C  illustrates that a flick operation (operation by a quick flip on the screen) in a direction of arrow on the valid touch point  702  slides the currently-displayed image  700  and thus displays an image of a landscape that differs from the image  700  (step S 207 ). 
     As described above, according to the present exemplary embodiment, a touch point in the range highly possibly touched by a finger for carrying the apparatus in the region in which a touch-operation is to be performed is determined as an input that is possibly not recognized. Then, it is determined whether to recognize the touch point based on the display contents on the touch point determined as an input that is possibly not recognized. This can efficiently select a touch point to be invalid without a restriction on the contents allowed to be displayed on the display screen, and thus can reduce the malfunctions of the information processing apparatus  100 . 
     (Second Embodiment) 
     In the first exemplary embodiment, when a plurality of touch points is obtained, the touch points are processed based on whether the object displayed on a touch point included in the predetermined range  103  is associated with the object displayed on the other touch point, regardless of the order in which the touch points have been touched. On the other hand, in the second exemplary embodiment, the latest touch point among the obtained touch points (hereinafter, abbreviated to “the latest touch point”) is determined as a valid input regardless of the position because it is highly possible that the user has touched the latest touch point in order to start a new operation. Note that the latest touch point includes the latest obtaining time obtained when a touch has been started or the position of the touch has been moved. Among the touch points included in the predetermined range  103 , the touch point on which the object associated with the object displayed at the latest touch point is displayed is determined as a valid input. 
     An information processing apparatus  100  according to the second exemplary embodiment has the same appearance, hardware configuration, and functional configuration as in the first exemplary embodiment in  FIG. 1A to 1C . However, a determination unit  122  in the second exemplary embodiment determines the touch points except for the latest touch point in the predetermined range  103  as possibly invalid inputs. When an object associated with the object displayed at the latest touch point is displayed on the position of each touch point determined as a possibly invalid input, the touch point is determined as a valid input. When an object associated with the object displayed at the latest touch point is not displayed on the position of each touch point determined as a possibly invalid input, the touch point is determined as an invalid input. The contents of the processes in the other functional units are performed accordance with the first exemplary embodiment. 
       FIG. 9  is a flowchart for describing a process for recognizing a touch input by the user in an exemplary variation  1 . A process having the same contents as in the first exemplary embodiment is performed in steps having the same numbers as in  FIG. 2 . Thus, the detailed descriptions of the overlapped contents will be omitted. The different points from the first exemplary embodiment will mainly be described. 
     In the second exemplary embodiment, the obtaining unit  121  first obtains the information about a touch point to the input region  102  in step S 901 . In the present exemplary embodiment, the obtained information is processed in accordance with the flowchart in  FIG. 10  to be described below. 
     In the flowchart in  FIG. 10 , a process having the same contents as in the first exemplary embodiment is performed in steps having the same numbers as in  FIG. 3 . Thus, the detailed descriptions of the overlapped contents will be omitted. The different points from the first exemplary embodiment will mainly be described. 
     In the second exemplary embodiment, once the obtaining unit  121  has completed updating the information about the touch point having the same ID as the obtained touch point in the information stored in a first storage unit  123  in step S 304 , the process goes to step S 1001 . 
     The obtaining unit  121  determines in step S 1001  whether the obtained touch point has moved from the previously obtained position. In the present exemplary embodiment, when updating the information about the touch point in step S 304 , the obtaining unit  121  temporarily stores the information indicating whether the positional information is identical before and after the update so as to use the information for the determination in step S 1001 . When it is determined that the obtained touch point has moved (YES in step S 1001 ), the process goes to step S 1002 . On the other hand, when it is determined that the obtained touch point has not moved (step S 1002 ), the process goes to step S 305 . 
     In the second exemplary embodiment, also when the obtaining unit  121  has completed newly adding the information of a touch point to the information stored in the first storage unit  123  in step S 303 , the process goes to step S 1002 . 
     In step S 1002 , the obtaining unit  121  updates the information indicating that the obtained touch point is the latest touch point. In the present exemplary embodiment, a value “TRUE” of a flag on the latest touch point is stored and associated with the ID of the touch point having the latest obtaining time as the information indicating the touch point is the latest touch point in the information about the touch points stored in the first storage unit  123 . The touch point to be associated with the value “TRUE” of the flag on the latest touch point is updated in step S 1002 . Then, the process goes to step S 305 . 
     Similarly to the first exemplary embodiment, the ID of the object displayed on the position of the obtained touch point is specified and stored in the first storage unit  123  in step S 305 . Then, the process returns to the process for recognizing a touch input ( FIG. 2 ). 
     In the second exemplary embodiment, when the determination unit  122  determines in step S 202  that the obtaining unit  121  has obtained a plurality or touch points (YES in step S 202 ), the process goes to step S 902 . 
     The determination unit  122  determines in step S 902  whether the position of a touch point except for the latest touch point is included in the predetermined range  103 . In the present exemplary embodiment, it is determined with reference to the information stored in the first storage unit  123  whether the positional information of the touch point associated with the flag on the latest touch point that is not “TRUE” is included in the predetermined range  103 . When there is the touch point included in the predetermined range  103 , it is determined that the position of a touch point except for the latest touch point is included in the predetermined range  103  (YES in step S 902 ). Then, the process goes to step S 903 . 
     In step S 903 , from among the touch points except for the latest touch point, the determination unit  122  specifies the touch point included in the predetermined range as a touch point determined as a possibly invalid input to link the value “TRUE” of the flag on the possibly invalid touch point to the ID of the included touch point and store the flag. 
     In step S 904 , a determination process based the object displayed on the position of a touch point is performed in accordance with the flowchart in  FIG. 11 . 
     In the flowchart in  FIG. 11 , the determination unit  122  first specifies the object displayed on the position of the latest touch point in step S 1101 . The determination unit  122  refers to the information stored in the first storage unit  123  in order to specify the displayed object associated with the touch point associated with the flag on the latest touch point that is “TRUE” and obtain the ID of the displayed object. 
     Next, the determination unit  122  determines in step S 1102  whether there is the other displayed object associated with the object specified in step S 1101 . In the present exemplary embodiment, it is determined with reference to the information stored in a second storage unit  126  whether the ID of the other displayed object is stored as the association information in the object having the obtained ID. When it is determined that there is the other displayed object associated with the specified object (YES in step S 1102 ), the ID of the other displayed object is obtained. Then, the process goes to step S 1103 . On the other hand, when it is determined that there is not the other displayed object associated with the specified object (NO in step S 1102 ), the process goes back to the flowchart in  FIG. 9 . 
     The determination unit  122  determines in step S 1103  whether the object associated with the specified object is displayed at the position of the touch point included in the predetermined range. In the present exemplary embodiment, it is determined that the object associated with the specified object is displayed at the position of the touch point included in the predetermined range when the ID of the displayed object obtained in step S 1102  is included in the information stored in the first storage unit  123 . When it is determined that the object associated with the specified object is displayed at the position of the touch point included in the predetermined range (YES in step S 1103 ), the process goes to step S 1104 . On the other hand, it is determined that the object associated with the specified object is not displayed at the position of the touch point included in the predetermined range (NO in step S 1103 ), the process goes back to the flowchart in  FIG. 9 . 
     In step S 1104 , the determination unit  122  specifies at least a touch point on which the object associated with the specified object is displayed. In the present exemplary embodiment, the ID of at least a touch point associated with the ID of the object obtained in step S 1102  is obtained with reference to the information stored in the first storage unit  123 . 
     The determination unit  122  determines at least a specified touch point as a valid input in step S 1105 . In other words, the determination unit  122  eliminates the touch point from the touch points determined as possibly invalid inputs. Thus, the value of the flag on the possibly invalid touch point associated with the obtained ID is updated as “FALSE”. Then, the process returns to the flowchart in  FIG. 9 . 
     Note that the description of the following process in and after step S 206  will be omitted because the process is performed in the same manner as the first exemplary embodiment. 
     Hereinafter, an example in which the user operates the information processing apparatus  100  according to the second exemplary embodiment will be described in detail with reference to  FIGS. 12A to 12E, 13A to 13D, and 14A to 14D . 
       FIG. 12  is an example of the zoom operation of the camera function in the information processing apparatus  100 . The example is the same as the description using  FIGS. 5 and 6  in the first exemplary embodiment. In that case, the second storage unit  126  similarly stores the table illustrated in  FIG. 5C . The table stores the IDs for identifying the displayed objects and the association information for associating the object to the other object. The state of the operation illustrated in  FIG. 12A  corresponds to the state in  FIG. 6B . The state of the operation illustrated in  FIG. 12A  corresponds to the state in  FIG. 6C .  FIGS. 12C to 12E  correspond to  FIGS. 8A to 8C . 
       FIG. 12A  illustrates that the user has touched an object  501  displayed in an input region  102  and thus a touch point  1201  has been obtained (step S 901 ). As illustrated in  FIG. 12C , the obtaining unit  121  obtains the positional coordinates that are the x-coordinate (380 [dot]) and the y-coordinate (10 [dot]) and an ID  1  indicating the object  501  displayed at the position with respect to the touch point that has the ID  1  and has been touched first. The flag on the latest touch point that is “TRUE” is associated as the information indicating that the touch point is the latest touch point at that time to the touch point having the ID  1  (step S 1002 ). At that time, a plurality of touch points have not been obtained (NO in step S 202 ), and the obtained touch point has not already been determined as invalid (NO in step S 208 ). Thus, the operation with the touch point  504  is recognized (step S 206 ). Thus, as illustrated in  FIG. 6C , the object  505  that is the zoom adjustment bar is displayed as the output of the operation result (step S 207 ). 
     Next,  FIG. 12B  illustrates that the user has newly touched the object  505  and thus a touch point  1202  has been obtained (step S 901 ). As illustrated in  FIG. 12D , the obtaining unit  121  obtains the positional coordinates that are the x-coordinate (80 [dot]) and the y-coordinate (620 [dot]) and an ID  1 - 1  indicating the object  505  displayed at the position with respect to the touch point that has the ID  2  and has been touched secondarily. The flag on the latest touch point that is “TRUE” is associated as the information indicating that the touch point is the latest touch point at that time to the touch point having the ID  2  and the value of the flag on the latest touch point associated with the touch point having the ID  1  is updated as “FALSE” (step S 1002 ). At that time, a plurality of touch points has been obtained (YES in step S 202 ). Thus, the determination unit  122  determines whether the position of the touch point except for the latest touch point and having the ID  1  is included in the predetermined range  103 . In the example, Both of the positional coordinates of the touch point  1201  having the ID  1  are included in the range having 20 [dot] in width from the outer edge in the Y-axis direction (YES in step S 902 ). Thus, the determination unit  122  links the flag on the possibly invalid touch point that is “TRUE” to the touch point (ID= 1 ) included in the predetermined range  103  and stores the flag (step S 903 ). Next, the ID  1 - 1  is specified as the ID of the object displayed at the latest touch point  1201  (step S 1101 ). Further, the object  501  (ID= 1 ) associated with the object having the ID  1 - 1  is specified with reference to the information stored in the second storage unit  126  and illustrated in  FIG. 5C  (YES in step S 1102 ). In that case, the value 1 indicating the object  501  is stored at the portion for storing the ID of the displayed object in the table in  FIG. 12D  that is the information stored in the first storage unit  123  (YES in step S 1103 ). Based on the table in  FIG. 12D , the touch point is specified as the touch point  1202  (ID= 1 ) (step S 1104 ) and the touch point  1202  is determined as a valid input. As illustrated in  FIG. 12E , the value of the flag on the possibly invalid touch point associated with the touch point having the ID  1  is updated as “FALSE”. Thus, both inputs of the touch point  1201  and the touch point  1202  are recognized (step S 206 ), similarly to the first exemplary embodiment described in  FIG. 6 . 
       FIGS. 13A to 13D  illustrate an exemplary scroll operation of the browser in the information processing apparatus  100 .  FIGS. 14A to 14D  illustrate examples of the information about the scroll operation described herein stored in the first storage unit  123  and the second storage unit  126 . 
     First,  FIG. 13A  illustrates an exemplary state of the user interface displayed on the information processing apparatus  100 . Herein, an image  1300  displaying a WEB page including text information and a scroll bar  1301  are displayed as an example in the input region  102 . The scroll bar  1301  is a component included in the user interface on the information processing apparatus  100  and plays a role for changing a part of the WEB page displayed by the browser by designating a position relative to the entire length of the WEB page. A vertical flick operation on the screen  1300  can also change a part displayed in the input region  102  on the WEB page.  FIG. 14A  illustrates an exemplary table of the information stored in the second storage unit  126 . The table stores the ID for identifying the displayed objects and the association information for associating the object to the other object. In that case, the table stores the information about the object of the image  1300  that is the display region of the browser and that has the ID  1 , and the information about the object that is the scroll bar  1301  and that has the ID  2 . The two objects are not associated with each other because being operated by independent touch-operations. 
       FIG. 13B  illustrates that the user&#39;s thumb has touched the input region  102  when the user carries the information processing apparatus  100  with the user&#39;s left hand and thus a touch point  701  has been obtained. As illustrated in  FIG. 14B , the obtaining unit  121  obtains the x-coordinate (10 [dot]) and the y-coordinate (320 [dot]) of the touch point having the ID  1  indicating that the touch point has been touched first, and the ID  1  indicating the image  1300  that is the display region of the browser displayed at the position (step S 901 ). At that time, the flag on the latest touch point that is “TRUE” is associated as the information indicating that the touch point is the latest touch point at that time to the touch point having the ID  1  (step S 1002 ). At that time, a plurality of touch points have not been obtained (NO in step S 202 ), and the obtained touch point has not already been determined as invalid (NO in step S 208 ). Thus, the operation with the touch point  1302  is recognized (step S 206 ). However, the touch point  1302  has not been moved. Thus, the flick operation for a scroll is not recognized and the displayed contents have not changed (step S 207 ). 
     Next,  FIG. 13C  illustrates that the user has newly touched the scroll bar  1301  and thus a touch point  1303  has been obtained (step S 901 ). As illustrated in  FIG. 14C , the obtaining unit  121  obtains the positional coordinates that are the x-coordinate (470 [dot]) and the y-coordinate (100 [dot]) and the ID  2  indicating the scroll bar  1301  displayed at the position with respect to the touch point that has the ID  2  and that has been touched secondarily. The flag on the latest touch point that is “TRUE” is associated as the information indicating that the touch point is the latest touch point at that time to the touch point having the ID  2  and the value of the flag on the latest touch point associated with the touch point having the ID  1  is updated as “FALSE” (step S 1002 ). At that time, a plurality of touch points has been obtained (YES in step S 202 ). Thus, the determination unit  122  determines whether the position of the touch point except for the latest touch point and having the ID  1  is included in the predetermined range  103 . In the example, the touch point having the ID  1  is included in the range having 20 [dot] in width from the outer edge in the X-axis direction (YES in step S 902 ). Thus, the determination unit  122  links the flag on the possibly invalid touch point that is “TRUE” to the touch point (ID= 1 ) included in the predetermined range  103  and stores the flag (step S 903 ). Next, the ID  2  is specified as the ID of the object displayed at the latest touch point  1302  (step S 1101 ). Further, it is determined that there is not an object associated with the object having the ID  2  with reference to the information stored in the second storage unit  126  and illustrated in  FIG. 14A  (NO in step S 1102 ). Thus, the value “TRUE” of the flag on the possibly invalid touch point associated with the touch point  1302  (ID= 1 ) and the value “FALSE” of the flag on the possibly invalid touch point associated with the touch point  1303  (ID= 2 ) are maintained. The input of the touch point  1303  is recognized as the operation for designating the point of the scroll bar  1301  (step S 206 ). Thus, the contents of the image  1300  partially change (step S 207 ). 
       FIG. 13D  illustrates that the touch point  1303  is determined as a valid input (step S 206 ) and thus the contents displayed by the browser are scrolled and the image  1300  changes. In that case, moving the touch point  1303  having the ID  2  in the positive direction of the Y-axis direction scrolls the WEB page upward. Thus, the displayed part is displayed with moving (step S 207 ).  FIG. 14D  illustrates an example of the information stored in the first storage unit  123  at that time. It is found that the operation with the touch point  1303  (ID= 2 ) associated with the flag on the possibly invalid touch point that is “FALSE” is recognized. 
     Similarly to the scroll operation of the browser described in  FIG. 13A , the scroll bar is generally displayed near the outer edge of the input region  102  when the scroll bar is displayed on the screen. Such a scroll bar is often implemented. In addition to the scroll bar, an object for the user interface is often displayed near the outer edge of the input region in order not to interrupt the information displayed at the center of the screen. Thus, in a control method in which the touch points near the outer edge of the screen are uniformly determined as invalid inputs, or in a control method in which the touch points near the outer edge that have moved are determined as valid inputs, a touch operation by the user is sometimes not able to accurately be recognized in the case as the example illustrated in  FIG. 13C . Further, such methods sometimes cause a restriction on the position to display a user interface. In light of the foregoing, the timing when an operation is started is considered when a process is performed in the present exemplary embodiment. Thus, even a touch-operation near the outer edge of the input region  102  can be recognized without a restriction on the displayed contents. 
     As described above, in the present exemplary embodiment, the latest obtained touch point in a plurality of touch points obtained by simultaneously touching the input region  102  is determined as a valid input regardless of the position. The latest touch point is included in the predetermined range  103 . Thus, from among the touch points determined as possibly invalid inputs, the touch point at the position on which an object associated with the object displayed at the position of the latest touch point is displayed is determined as a valid input. The reason why the determination is made in such a manner is that it is highly possible that the latest touch point is touched because the user intends to start a new touch operation and similarly that it is highly possible that a touch point at the position on which an object associated with the touch point is displayed is touched because the touch point is associated with the operation to be started. As described above, narrowing the touch points determined as possibly invalid inputs using the order in which the touch points have been touched can reduce the load on the process for determining the touch points as invalid or as valid. 
     (Another Embodiment) 
     The present invention can be implemented by performing the following process. In other words, software (a program) configured to implement the functions in the above-mentioned exemplary embodiments is provided to a system or an apparatus through a network or various recording media and then the computer (for example, a CPU or an MPU) in the system or in the apparatus reads and executes the program. 
     (Effect of the Invention) 
     In light of the above-mentioned problems, the present invention can improve the operability of the user interface displayed in a predetermined range on a touch panel display when a touch point in the predetermined range is selectively determined as an invalid input. 
     While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention 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 the benefit of Japanese Patent Application No. 2012-287245, filed Dec. 28, 2012, which is hereby incorporated by reference herein in its entirety.