The present invention relates to an information processing apparatus, an information processing method, and an information processing program.
In the above technical field, a technique described in patent literature 1 acquires coordinate values in the horizontal and vertical directions of a touch point during a drag operation on a touch screen. When a touch start point is set as an origin, if at least one of the coordinate values is smaller than a predetermined threshold, at least one of the moving amounts in the horizontal and vertical directions of the drag operation is reset to zero.
Patent literature 1: Japanese Patent Laid-Open No. 2013-092942
However, the technique described in the above literature cannot implement scroll lock control in accordance with a shape estimated to be drawn by a stroke, and thus cannot achieve sufficiently user-friendly screen control.
The present invention enables to provide a technique of solving the above-described problem.
One aspect of the present invention provides an information processing apparatus that acquires a stroke from a user operation on a touch panel, and locks a scroll operation by the stroke, if the user operation by the stroke is estimated to draw a contour of a closed region.
Another aspect of the present invention provides an information processing method comprising:
acquiring a stroke from a user operation on a touch panel;
determining whether the operation by the stroke can be estimated to draw a contour of a closed region; and
locking a scroll operation by the stroke, if the operation by the stroke is estimated to draw the contour of the closed region.
Still other aspect of the present invention provides an information processing program for causing a computer to execute a method, comprising:
acquiring a stroke from a user operation on a touch panel;
determining whether the operation by the stroke can be estimated to draw a contour of a closed region; and
locking a scroll operation by the stroke, if the operation by the stroke is estimated to draw the contour of the closed region.
According to the present invention, it is possible to implement more user-friendly screen control.
Preferred embodiments of the present invention will now be described in detail with reference to the drawings. It should be noted that the relative arrangement of the components, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless it is specifically stated otherwise.
An information processing apparatus 100 according to the first embodiment of the present invention will be described with reference to
If the stroke acquirer 110 acquires the stroke 102, the scroll locker 120 determines a condition such as the direction of the stroke 102, the accumulation of vertical and horizontal components, the ratio between the vertical and horizontal components, or the main vector. Under the condition, the stroke of the user is estimated to generate a selected range of a closed region at the beginning, thereby determining to lock scroll.
This can perform scroll lock control in accordance with a shape estimated to be drawn by a stroke, thereby implementing sufficiently user-friendly scroll control.
An information processing apparatus according to the second embodiment of the present invention will be described next. If the information processing apparatus according to this embodiment acquires a stroke of a user operation on a touch panel, and estimates the operation by the stroke to draw the contour of a closed region, it locks a scroll operation by the stroke. In this example, based on the ratio between the moving amount in the horizontal direction and that in the vertical direction in a stroke operation, the apparatus estimates that the contour of a closed region is to be drawn.
<<Processing of Technical Premise>>
Before a description of this embodiment,
In the left view of
In this way, the document 303 on the display panel 301 is scrolled. Therefore, the user cannot accurately designate a selected range of a closed region.
<<Processing of Embodiment>>
In the left view of
As described above, if it is determined that a selected range of a closed region is to be designated, the information processing apparatus 200 locks scroll of the document 203 on the display panel 202, thereby allowing the user to accurately designate the selected range of the closed region.
<<Information Processing Apparatus>>
In the information processing apparatus 200, the touch panel 201 and the display panel 202 function as an operation unit and a display unit, respectively. The information processing apparatus 200 includes a microphone 403 and a loudspeaker 404 as a voice input/output function. The information processing apparatus 200 also includes a switch group 405 including a power switch. Furthermore, the information processing apparatus 200 includes an external interface 406 used for external input/output device connection and communication connection.
(Functional Arrangement of Information Processing Apparatus)
A processor 400 includes at least one CPU (Central Processing Unit), and controls the overall information processing apparatus 200. Note that the processor 400 desirably incorporates a unique memory. A screen operation processor 410 is a component for performing processing according to this embodiment. The screen operation processor 410 accepts a user operation input from the touch panel 201, changes a display screen in correspondence with the user operation input, and displays the screen on the display panel 202. Note that the screen operation processor 410 may be implemented by executing an associated program by the processor 400 but an independent screen operation processor is desirably provided. A voice processor 420 processes a voice input from the microphone 403 to, for example, transmit the voice input via a communication processor 440 or send a user voice instruction changed to a user operation input from the touch panel 201. The voice processor 420 generates a notification/warning to the user, a video reproduction voice, or the like, and outputs a voice from the loudspeaker. The voice processor 420 is also desirably provided with a voice processing processor independent of the processor 400.
A switch processor 430 executes processing based on a switch input from the switch group 405. The communication processor 440 transmits/receives data via a network. An interface controller 450 controls data input/output to/from an input/output device connected via the external interface 406. The communication processor 440 is also desirably provided with a voice processing processor independent of the processor 400. For example, a memory controller 460 controls exchange of data and programs between the processor 400 and a ROM (Read Only Memory) 461 which is formed by a flash memory and the like, a RAM (Random Access Memory) 462, and a storage 463. The memory controller 460 is also desirably provided with a voice processing processor independent of the processor 400.
The screen operation processor 410 according to this embodiment will be described in more detail below.
(Screen Operation Processor)
The screen operation processor 410 includes an operation acceptor 520, an operation analyzer 530, a user operation determiner 540, and a display controller 550. The operation acceptor 520 accepts a user operation from the touch panel 201, and acquires a touch position and an operation. The operation analyzer 530 analyzes operation contents in consideration of information of the display screen based on the user operation and position accepted by the operation acceptor 520. In this embodiment, the operation analyzer 530 especially analyzes data associated with a stroke necessary to estimate that the contour of a closed region is to drawn. Based on the operation contents analyzed by the operation analyzer 530, the user operation determiner 540 determines an operation desired by the user. In this embodiment, the user operation determiner 540 performs scroll control including a scroll lock operation. The display controller 550 includes a display driver. The display controller 550 reads out a content including a document from the storage 463, and controls screen display on the display panel 202 in accordance with the determination result of the user operation determiner 540. Under the control of the display controller 550, the operation desired by the user can be implemented on the display screen.
Note that the functional components shown in
(Operation Acceptor)
The operation acceptor 520 includes an event detector 601, a touch position detector 602, and a stroke detector 603. The event detector 601 detects the start of some operation from the user on the touch panel 201, and starts accepting operation data. The touch position detector 602 detects position coordinates on the touch panel 201 touched by a user's finger. The stroke detector 603 detects a stroke as a locus from the start point of a user touch to its end point based on a temporal change of the touch.
(Operation Analyzer)
The operation analyzer 530 includes a stroke component extractor 701, a stroke history accumulator 702, and a stroke locus generator 703. The stroke component extractor 701 extracts a component of the stroke detected by the stroke detector 603 of the operation acceptor 520. For example, the stroke component extractor 701 extracts components in the horizontal and vertical directions of the touch panel 201, a direction component from the start point of the stroke to the current point, or the like. The stroke history accumulator 702 accumulates the coordinates of the path of the stroke, velocities, or the like. The stroke locus generator 703 generates the locus of the stroke from the accumulated stroke history.
(User Operation Determiner)
The user operation determiner 540 includes a scroll lock determiner 801, a scroll lock condition storage unit 802, and a stroke locus position controller 803. The scroll lock determiner 801 controls a scroll lock operation and a scroll release operation with reference to a condition for locking scroll stored in the scroll lock condition storage unit 802. The scroll lock condition storage unit 802 stores a condition for locking scroll, by estimating the stroke of the user to generate a selected range of a closed region at the beginning under the condition such as the direction of the stroke of the user, the accumulation of vertical and horizontal components, the ratio between the vertical and horizontal components, or the main vector. The stroke locus position controller 803 is used to prevent, in advance, an error from occurring in estimation of generation of a selected range due to a fluctuation occurred in the middle of the stroke. For example, the fluctuation may occur when the user cannot accurately draw a straight line or circle, and the vertical and horizontal components may have no predetermined tendency. For example, if a shift width does not exceed a threshold or a fluctuation temporarily occurs, the stroke locus position controller 803 controls to delete the fluctuation from the determination condition for estimation of a selected range at the time of returning. As simple stroke locus position control, for example, a solution of obtaining an average value depending on a predetermined stroke length can be used.
(Scroll Lock Condition Storage Unit)
As for the component ratio 883, the following example is provided. If, for example, there is no change equal to or larger than a predetermined threshold in the ratio between the vertical and horizontal components, it is estimated that a closed region of a selected range is not to be drawn, thereby scrolling the document in accordance with the stroke. On the other hand, if the ratio between the vertical and horizontal components tends to shift from one to the other of the vertical and horizontal components, the stroke is considered to have changed its direction, and estimated to currently draw a closed region of a selected range, thereby locking scroll. However, the components of the stroke are influenced by the fluctuation of the stroke.
If a change in ratio between the cumulative values of vertical and horizontal components of the stroke from the start point, especially the cumulative value of the absolute values of the vertical and horizontal components, is equal to or smaller than a threshold α, it is estimated that a closed region of a selected range is not currently drawn, thereby scrolling the document in accordance with the stroke. On the other hand, if a change in ratio exceeds the threshold α, it is estimated that a closed region of a selected range is currently drawn, thereby locking the scroll. Stable determination can be performed based on a change in ratio between the cumulative values.
In the vector history of the stroke, for example, if the main component of a vector is changed from the horizontal direction to the vertical direction or from the vertical direction to the horizontal direction, it is estimated that a closed region of a selected range is currently drawn, thereby locking the scroll. However, even if the direction of the main component is changed, if it is not changed again or it is changed to the opposite direction by an inflection point, it is estimated that a closed region of a selected range is not currently drawn, thereby releasing the lock of the scroll.
If there is a stroke component in the horizontal direction while scroll in the horizontal direction is disabled, or there is a stroke component in the vertical direction while scroll in the vertical direction is disabled, it is estimated that a closed region of a selected range is currently drawn, thereby locking the scroll.
Note that the scroll lock determiner 801 may perform determination by a program, instead of using the data in the scroll lock condition storage unit 802.
(Stroke Analysis Processing)
The scroll lock condition 811 shows a condition for locking scroll when the absolute value |Thx| of an X component> the absolute value |Thy| of a Y component. The scroll lock condition 812 shows a condition for locking scroll when the absolute value |Thx| of an X component< the absolute value |Thy| of a Y component.
On the other hand, the scroll lock prevention condition 821 shows a condition for preventing scroll from being locked when the absolute value |Thx| of an X component< the absolute value |Thy| of a Y component. The scroll lock prevention condition 822 shows a condition for preventing scroll from being locked when the absolute value |Thx| of an X component> the absolute value |Thy| of a Y component.
(Analysis for Stroke Analysis Processing)
Based on analysis in each of representative situations shown in
(Display Controller)
The display controller 550 includes a display position controller 901 and an identifiable display controller 902. The display position controller 901 controls a position of the content read out from the storage 463 to be displayed. In this embodiment, the display position controller 901 controls the display position of the document. The identifiable display controller 902 controls to identifiably display the selected range of the document on the display screen.
<<Procedure of Screen Operation Processing>>
In step S1001, the screen operation processor 410 displays a predetermined portion of a document designated, by the user, to be displayed. In step S1003, the screen operation processor 410 monitors whether the user's finger touches the touch panel 201. If a touch by the finger is detected, the screen operation processor 410 acquires a stroke in step S1005.
In step S1007, the screen operation processor 410 executes, based on the acquired stroke, stroke analysis processing of analyzing whether the contour of a closed region for designating a selected range is to be drawn. Based on the result of the stroke analysis, the screen operation processor 410 determines in step S1009 whether the stroke is to designate a selected range. If it is determined that the stroke is to designate a selected range, the screen operation processor 410 locks scroll in step S1011; otherwise, the screen operation processor 410 scrolls the document in step S1013.
If it is determined in step S1015 that the touch by the user's finger continues, the screen operation processor 410 returns to step S1005 to repeat the processing. If the user releases the finger from the touch panel 201, the screen operation processor 410 executes, in step S1017, processing corresponding to the set range designation.
(Stroke Analysis Processing)
In step S1101, the screen operation processor 410 acquires stroke data. In step S1103, the screen operation processor 410 acquires the moving amount in the horizontal direction of the stroke. In step S1105, the screen operation processor 410 acquires the moving amount in the vertical direction of the stroke.
In step S1107, the screen operation processor 410 calculates the ratio between the moving amount in the horizontal direction and that in the vertical direction, for example, the ratio of the vertical moving amount to the horizontal moving amount. In step S1109, the screen operation processor 410 determines whether the calculated ratio is larger than the predetermined threshold α. If the ratio is larger than the predetermined threshold α, the screen operation processor 410 estimates in step S1111 that the stroke draws a closed region, and determines in step S1113 to lock scroll; otherwise, the screen operation processor 410 estimates in step S1115 that the stroke draws no closed region.
According to this embodiment, if it is estimated that a shape drawn by a stroke is a closed region for range designation, scroll is locked and it is controlled to allow the user to surely designate a range, thereby implementing sufficiently user-friendly screen control.
An information processing apparatus according to the third embodiment of the present invention will be described next. The information processing apparatus according to this embodiment is different from that according to the second embodiment in that if, in stroke analysis, a stroke of a component in the first direction is detected on a screen which is not scrolled in the first direction, scroll in the second direction orthogonal to the first direction is locked. The remaining components and operations are the same as those in the second embodiment. Hence, the same reference numerals denote the same components and operations, and a detailed description thereof will be omitted.
(Stroke Analysis Processing)
In step S1201, it is determined whether a display screen is a screen which can be scrolled in only one direction. If the display screen is a screen which can be scrolled in both the horizontal and vertical directions, NO is determined to end the processing of this flowchart. If the display screen is a screen which can be scrolled in only one of the horizontal and vertical directions, the process advances to step S1203.
In step S1203, it is determined whether a stroke acquired in step S1005 is that in a direction (for example, the horizontal direction) different from the scrollable direction (for example, the vertical direction).
If it is determined that the stroke in the direction (for example, the horizontal direction) different from the scrollable direction (for example, the vertical direction) has been acquired, the process advances to step S1205 to perform scroll lock control.
As described above, according to this embodiment, since scroll is locked in response to detection of a stroke in multiple directions on a screen which can be scrolled in only one direction, it is possible to perform more user-friendly scroll lock control.
An information processing apparatus according to the fourth embodiment of the present invention will be described next. The information processing apparatus according to this embodiment is different from that according to the second embodiment in that a user operation is detected to lock scroll, and the lock is released under a condition. The remaining components and operations are the same as those in the second embodiment. Hence, the same reference numerals denote the same components and operations, and a detailed description thereof will be omitted.
(Procedure of Screen Operation Processing)
Referring to
As described above, according to this embodiment, when a touch panel operation is accepted, scroll is locked, and the lock of scroll is released under a predetermined condition. Thus, it is possible to perform more user-friendly scroll lock control.
An information processing apparatus according to the fifth embodiment of the present invention will be described next. The information processing apparatus according to this embodiment is different from that according to the second embodiment in that scroll is locked in accordance with a change in ratio of a component in the vertical direction to a component in the horizontal direction of a vector at each point on a stroke. The remaining components and operations are the same as those in the second embodiment. Hence, the same reference numerals denote the same components and operations, and a detailed description thereof will be omitted.
(Stroke Analysis Processing)
In
As described above, according to this embodiment, when a touch panel operation is accepted, scroll is locked, and kept locked under a predetermined condition, thereby making it possible to perform more user-friendly scroll lock control.
Alternatively, a change in direction of a stroke may be detected. If the direction of a stroke is changed, scroll lock control may be performed.
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.
The present invention is applicable to a system including a plurality of devices or a single apparatus. The present invention is also applicable even when an information processing program for implementing the functions of the embodiments is supplied to the system or apparatus directly or from a remote site. Hence, the present invention also incorporates the program installed in a computer to implement the functions of the present invention by the computer, a medium storing the program, and a WWW (World Wide Web) server that causes a user to download the program. Especially, the present invention incorporates at least a non-transitory computer readable medium storing a program that causes a computer to execute processing steps included in the above-described embodiments.
This application claims the benefit of Japanese Patent Application No. 2014-059239 filed on Mar. 20, 2014, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2014-059239 | Mar 2014 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2014/083984 | 12/22/2014 | WO | 00 |