1. Field of the Invention
The present invention relates to an information processing apparatus and method for presenting content of an instruction and an instruction locus to give instructions to a user while explicitly illustrating a correspondence relationship between them both.
2. Description of the Related Art
When a user instructs a device to perform processing, the user can successively select menus having a hierarchical structure. According to this method, even a user unfamiliar with a device use can find away of giving instructions to perform desired processing because icons or menu items illustrate contents of instructions. In this method, however, it is necessary to repeat menu selections until the instruction content desired by the user appears on the menu, making the work complicated for the user.
To solve this problem, some information processing devices provided with a pointing device such as a pen tablet and touch panel allow the user to provide instructions to the device by inputting a locus to the device. Using this function, instructions can be provided to the device immediately by inputting an instruction locus corresponding to the desired instruction content, thereby improving work efficiency as compared with conventional methods.
However, it is necessary for the user to remember the instruction locus corresponding to the desired instruction content so that instructions can be given to the device by locus input. It is difficult to perform the operation, particularly for the user who is unfamiliar with such device use.
As described above, it is necessary for the user to perform complicated operations to give instructions when an instruction method based on non-locus input is used. On the other hand, it is necessary for the user to remember a correspondence relation ship between the desired instruction content and instruction locus in advance when an instruction method based on locus input is used. An example of a conventional technique to solve these problems is discussed in Japanese Patent No. 3704777.
Both instructions methods based on locus input and based on non-locus input can be used by a pen input type information processing apparatus discussed in Japanese Patent No. 3704777. If the instruction method to a device is based on locus input, the instruction content corresponding to the instruction locus is searched for and the instruction is immediately executed. If, on the other hand, the instruction method is based on non-locus input, an instruction locus corresponding to the instruction content is presented to a display apparatus for the user and then, the instruction is executed.
However, in the configuration discussed in Japanese Patent No. 3704777, problems arise in practice. Such problems are discussed further below.
A pen input type information processing apparatus discussed in Japanese Patent No. 3704777 presents a locus corresponding to the instruction content when a single instruction through non-locus input is provided. However, depending on devices to which instructions are given, the user may want to specify a plurality of processes to the device simultaneously. For example, when a document is printed by an ordinary printer, a plurality of items such as the size and orientation of paper, scaling factor, number of copies, and page layout is set.
When an instruction locus corresponding to setting of these items is presented, if a locus is to be presented each time every item is set, such presentation could become an obstacle for the user who wishes to continue print settings in a short time.
The present invention is directed to presenting content of an instruction and an instruction locus to give instructions to a user while explicitly illustrating a correspondence relationship of both.
According to an aspect of the present invention, an information processing apparatus includes an instruction identification unit that identifies an instruction based on an operation of the instruction of a user, an instruction locus identification unit that identifies an instruction locus corresponding to the instruction identified by the instruction identification unit based on association information that associates an instruction and the instruction locus of the instruction, and a presentation unit that associates and presents content of the instruction identified by the instruction identification unit and the instruction locus identified by the instruction locus identification unit.
By adopting such a configuration, the content of an instruction and an instruction locus for giving the instruction can be presented to a user while explicitly illustrating a correspondence relationship of both the content and locus.
The present invention is also directed to an information processing method, a program, and a storage medium.
According to the present invention, the content of an instruction and the instruction locus for giving instructions can be presented to a user while explicitly illustrating a correspondence relationship of both.
Further features and aspects of the present invention will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments, features, and aspects of the invention and, together with the description, serve to explain the principles of the invention.
Various exemplary embodiments, features, and aspects of the invention will be described in detail below with reference to the drawings.
Next, operations of the information processing apparatus configured as described above will be described in detail with reference to
In the present exemplary embodiment, it is assumed that when a document is printed by an ordinary printer, a plurality of instructions to make various settings is given by the user through non-locus input. To give an instruction through non-locus input, for example, a menu displayed on the display 0105 is selected. The information processing apparatus identifies the instruction given through non-locus input by the user based on user operations (instruction identification). After making sure that the user has given all instructions through non-locus input, the information processing apparatus presents various kinds of instruction contents and instruction loci to be input to carry out each instruction more swiftly, to the user while explicitly illustrating a correspondence relationship between both the contents and loci (that is, associating both the contents and loci with each other).
Another setting item, on the other hand, is a “two-sided printing” setting that performs printing on both sides of printing paper. Concerning this setting instruction, its content is also presented to the user by the display 0203 of instruction content. Since the user provides these setting instructions through non-locus input, the information processing apparatus presents instruction loci that enable the user to provide instructions more swiftly to the user. At this point, it is necessary for the information processing apparatus to explicitly illustrate correspondence relationship between a plurality of pieces of instruction content and a plurality of instruction loci.
To explicitly illustrate correspondences between the display of instruction content and instruction loci, the information processing apparatus in the present exemplary embodiment moves the display of the corresponding instruction content to within a fixed distance from a locus in timing with the start of locus rendering. The information processing apparatus moves the display of the instruction content by tracking animation that sequentially renders a locus from the start point and, when rendering of the locus is completed, brings back the display of the instruction content to its original position. In the meantime, the information processing apparatus does not allow the display of instruction content to move that does not correspond to the instruction locus being presented. Thus, the user can clearly grasp the processing (instruction content) to which the presented instruction locus corresponds by checking the display of instruction content that is moving while tracking the animation.
An example will be illustrated below in which an instruction locus for making the “4in1” setting is presented to the user.
On the other hand, the information processing apparatus does not allow a display 0303 of the instruction content that does not correspond to the instruction locus to be presented now, to move from the predetermined position. Subsequently, as illustrated in
Then, as illustrated in
Here, when the display of instruction content moves by tracking the rendering of an instruction locus, as illustrated in
As illustrated in
When the pointer approaches a screen edge while the display of instruction content moves in tracking the locus rendering, the tracking display of instruction content may go out of the screen so that the user cannot check the display of instruction content. To avoid such a situation, as illustrated in
Here, the mode of each screen display, setting item content, a number of setting items, and shapes of instruction loci are only examples and are not necessarily be limited to the above description. This also applies to the second exemplary embodiment and the third exemplary embodiment described below and other exemplary embodiments.
An example of processing to realize the operation of the information processing apparatus described here will be described below in detail using flow charts.
Subsequently, in step S1401, the information processing apparatus searches for the locus ID corresponding to each stored instruction ID and stores the locus ID in the reference table for locus presentation in the same manner. The information processing apparatus obtains the correspondence relationship between the instruction ID and locus ID by referring to the instruction/locus correspondence information illustrated in
More specifically, the information processing apparatus refers to the display size information 0902 stored in the display information of instruction content illustrated in
Subsequently, in step S1502, the information processing apparatus actually renders the point at the coordinates (X0, Y0). Then, in step S1503, the information processing apparatus moves to processing for calculating the movement destination of the display of instruction content so that the points of the rendered instruction locus can track the display of instruction content. As described above, the display of instruction content is moved in the direction ahead of a point in which the instruction locus will be rendered, to prevent the locus being presented from hiding due to tracking. In step S1504, to prevent the display of instruction content from going out of the screen if the display is moved to the movement destination determined here, the information processing apparatus performs processing for correcting movement destination of the display of instruction content. Processing concerning the movement destination calculation processing (step S1503) and the movement destination correction processing (step S1504) will be described later in detail.
When the above processing is completed, the final movement destination of the display of instruction content is stored in variables Tx and Ty. Then, in step S1505, the information processing apparatus actually moves the display of instruction content to the coordinates (Tx, Ty). Then, in step S1506, the information processing apparatus determines whether all points of the locus have been rendered. In step S1507, if all points of the locus have been rendered, the information processing apparatus brings the display of instruction content that has tracked the locus rendering, back to the initial position stored in the reference table for locus presentation. Then, the information processing apparatus determines whether corresponding loci have been rendered for all processing again and if all rendering has been completed, processing is terminated as is.
Subsequently, in step S1602, the information processing apparatus stores differences between coordinates of a point to be rendered next and a point rendered immediately before, in variables dX and dY. Next, in step S1603, the information processing apparatus prepares variables Tx and Ty and stores coordinates X1 and Y1 of the point to be rendered next, as initial values thereof. These variables Tx and Ty hold coordinates of the movement destination of the display of instruction content. In step S1604, the information processing apparatus adds the differences dX and dY calculated before to the variables Tx and Ty. Then, in step S1605, the information processing apparatus determines whether coordinates stored in Tx and Ty deviate by an offset amount D from the point rendered immediately before. If coordinates stored in Tx and Ty do not deviate by more than the offset amount, the information processing apparatus returns to the processing of difference addition (step S1604). On the other hand, in step S1606, if coordinates stored in Tx and Ty deviate by more than the offset amount, the information processing apparatus decides the values of the variables Tx and Ty as coordinates of a movement destination candidate and stores the values in the RAM.
In step S1700, the information processing apparatus determines whether the X component of the display of instruction content is within a movement prohibited region. The information processing apparatus can make this determination as follows. The information processing calculates a display region of the display of instruction content from the value of the variable Tx and the display size (breadth) of the display of instruction content illustrated in
By performing a sequence of processing illustrated above, the information processing apparatus can display the corresponding instruction content by tracking a locus, along with rendering of the locus. Accordingly, the correspondence between a locus and a processing result is explicitly illustrated to the user.
In addition, regarding the present exemplary embodiment, the information processing apparatus may change the display mode of instruction content during tracking movement such as changing the display size of instruction content or changing the display color when the display of the corresponding instruction content moves by tracking in keeping with rendering of a locus. Accordingly, as effects of the exemplary embodiment of the present invention, the correspondence relationship between an instruction locus and instruction content can be communicated to the user more explicitly, but also it becomes easier for the user to check the shape of an instruction locus by, for example, decreasing the display size of instruction content during tracking movement.
Thus, the display of the corresponding instruction content moves by tracking in keeping with rendering of a locus in such a way that when movement of the display of instruction content starts, the information processing apparatus changes the display mode thereof. The information processing apparatus holds information about the display mode before the information is changed, in the display information of instruction content illustrated in
In the present exemplary embodiment, an example is described in which the display of instruction content is always moved in the direction ahead of a position in which an instruction locus will be rendered, in order to prevent the instruction locus from hiding due to the tracking display of instruction content. As another method, the information processing apparatus may present the display of instruction content transparently only if the display of instruction content hides an instruction locus being presented. To realize this, the information processing apparatus calculates a range of coordinates covered by the display of instruction content, based on movement destination coordinates of the display of instruction content and information about the display size of the display of instruction content illustrated in
In the present exemplary embodiment, it is assumed that a plurality of various setting instructions is given. However, when a document is actually printed, the user may give a single setting instruction. If only a single setting instruction is given, because the instruction content corresponding to an instruction locus to be presented is evident to the user, the information processing apparatus may be configured not to explicitly illustrate an instruction locus and instruction content.
In the present exemplary embodiment, an example is describe in which an instruction locus is presented in timing with issuing of a setting instruction by the user. However, an explicit illustration of an instruction locus and instruction content by the information processing apparatus is not necessarily performed in timing with a setting instruction given by the user. Assume, for example, that the user prepares a dedicated screen to give an instruction to list the correspondence relationship between instruction content and instruction loci and the information processing apparatus receives a listing instruction from the user via the screen. The information processing apparatus may acquire a list of instruction loci using the listing instruction as a trigger to display the list and instruction content corresponding to instruction loci contained in the list by explicitly illustrating the correspondence therebetween.
The hardware configuration of an information processing apparatus according to a second exemplary embodiment is the same as that according to the first exemplary embodiment and thus, a description thereof will not be repeated.
Next, operations of the information processing apparatus according to the second exemplary embodiment configured as described above will be described in detail with reference to
In the first exemplary embodiment, an example is described in which the display of instruction content is always moved in the direction ahead of a position in which a locus will be rendered, so that the locus being presented is not hidden when the information processing apparatus causes the display of instruction content to track a locus in keeping with locus rendering. In the present exemplary embodiment, by contrast, processing will be described in which the information processing apparatus causes the display of instruction content to track presentation of instruction locus in such a way that not only the locus being presented, but also instruction loci rendered in the past are not hidden.
In the first exemplary embodiment, when an instruction locus corresponding to the “4in1” setting is presented, if a display 1802 of instruction content is simply moved in the rendering direction of a locus, as illustrated in
If the information processing apparatus determines that, as a result of moving the display of instruction content, a locus rendered in the past will be hidden, as illustrated in
In the example according to the present exemplary embodiment, as illustrated in
While the display of instruction content should originally be moved to the position corresponding to a mesh 1904 in
More specifically, in the example according to the present exemplary embodiment, the information processing apparatus moves the display of instruction content to the position corresponding to a mesh 2004 in
An example of processing to realize the operation of the information processing apparatus described here will be described below in detail using flow charts.
Details of various kinds of information stored in the ROM 0101 and the RAM 0102 are basically the same as those illustrated in
Details of processing in the present exemplary embodiment are the same as those in the first exemplary embodiment regarding the flow charts about the main processing illustrated in
Next, in step S2403, the information processing apparatus searches for a mesh whose value is false, that is, in which no instruction locus is rendered, from among meshes up and down, left and right adjacent to the identified mesh. The information processing apparatus determines whether there is any mesh whose value is false in step S2404 and, if there is a mesh whose value is false, stores its central coordinates as new values of Tx and Ty in step S2407. In step S2405, if, on the other hand, no mesh whose value is false is found, the information processing apparatus searches for a mesh whose value is false, from among meshes upper right, lower right, upper left, and lower left of the identified mesh. If it is determined that a mesh is found in step S2406, the information processing apparatus stores, like the above one, its central coordinates as new values of Tx and Ty in step S2407. If no mesh whose value is false is found here, it is possible to extend the search range to meshes further outside. However, in consideration of overheads in processing the movement of the display of instruction content, the information processing apparatus stops the search in the present exemplary embodiment. In this case, the information processing apparatus uses the values determined in the movement destination calculation processing in step S2305 in
By performing a sequence of processing illustrated above in the information processing apparatus, the display of instruction content can track the locus rendering in such a way that not only the locus being presented, but also loci rendered in the past are not hidden.
The hardware configuration of an information processing apparatus according to a third exemplary embodiment is similar to that according to the first exemplary embodiment and thus, a description thereof will not be repeated.
Next, operations of the information processing apparatus according to the third exemplary embodiment configured as described above will be described in detail with reference to
In the first and second exemplary embodiments, the information processing apparatus causes the display of instruction content to track a locus until rendering of an instruction locus is completed. However, depending on the mode of embodiment, it is better to stop tracking when the user completes confirmation of the correspondence relationship so that the user can check locus rendering with concentration. Thus, in the present exemplary embodiment, an example is described in which the information processing apparatus newly sets an initial position movement condition and, if it is determined that the position condition is satisfied, brings the display of instruction content back to its initial position even halfway through presentation of an instruction locus. In the present exemplary embodiment, a movement limiting value is set as an initial position movement condition to the total moving distance of the display of instruction content and when the total moving distance exceeds the movement limiting value, the information processing apparatus brings the display of instruction content to its predetermined position.
An example of processing to realize the operation of the information processing apparatus described here will be described below in detail using flow charts.
Details of various information stored in the ROM 0101 and the RAM 0102 are basically the same as those illustrated in
Then, in step S2809, before rendering the next point, the information processing apparatus determines whether the total moving distance of the display of instruction content exceeds the movement limiting value. At this point, if it is determined that the total moving distance does not exceed the movement limiting value, like the above exemplary embodiments, the information processing apparatus directly proceeds to the processing to render the next point. On the other hand, in step S2810, if it is determined that the total moving distance exceeds the movement limiting value, the information processing apparatus immediately brings the display of instruction content back to its initial position stored in the reference table for locus presentation even halfway through presentation of a locus. Subsequently, in step S2811, the information processing apparatus renders remaining points of the locus without tracking the display of instruction content and moves to rendering of the next instruction locus.
If an initial position movement condition is satisfied by the information processing apparatus performing a sequence of processing illustrated above, the display of instruction content is brought back to its initial position even halfway through presentation of an instruction locus. Thus, the user can concentrate on checking an instruction locus.
While a limiting value is set regarding the total moving distance from the rendering start of an instruction locus as an initial position movement condition. However, for example, an elapsed time after the display of instruction content starts to move may be set as another condition. In this case, instead of the variable totalD holding the total moving distance used in the description of the present exemplary embodiment, the information processing apparatus prepares a variable to hold the elapsed time from the start of locus rendering and, before rendering each point of an instruction locus, checks whether the value of the variable exceeds a threshold. Alternatively, the user's degree of mastery of devices maybe held based on the utilization time. In this case, the limiting value may be increased if the user is unfamiliar with an information processing apparatus. Conversely, if the user is familiar with an information processing apparatus, the limiting value may be decreased.
As another example of the position movement condition, for example, a line-of-sight detection device can be installed in an information processing apparatus. In this case, when the device confirms that the user has checked the instruction locus being rendered and the tracking display of instruction content, the display of instruction content may be brought back to its original position.
In the exemplary embodiments of the present invention described above, as an example, the information processing apparatus moves the display of instruction content by tracking the rendering of an instruction locus to explicitly illustrate the correspondence relationship between an instruction locus and instruction content. In addition, there are example methods which can explicitly illustrate the correspondence relationship between an instruction locus and instruction content as described below.
(a) One example is a method by which the information processing apparatus matches the display mode of the corresponding instruction locus and that of the display of instruction content (making the display mode of the corresponding instruction locus and the display of instruction content different from other display modes). The display mode can be any mode that can be checked by the user such as the display color, transparency, thickness of an instruction locus or the display of instruction content.
(b) As another example, in timing synchronized with presenting one of an instruction locus and the display of instruction content, the information processing apparatus changes the display mode of the other. For example,
In the present exemplary embodiment, as an example, the information processing apparatus changes the display mode of the display of instruction content in timing with presenting an instruction locus. However, conversely, the thickness of an instruction locus may be changed in timing with presenting the display of instruction content. Moreover, when the display of instruction content or an instruction locus is presented, the information processing apparatus may change the display color or transparency other than the thickness. The type of a display mode to be changed is not specifically limited.
A feature of the present invention is achieved in the following way: A storage medium (recording medium) recording a program code of software to realize a function of the above exemplary embodiments is supplied to a system or an apparatus. Then, a central processing unit (a CPU or micro processing unit (MPU)) of the system or apparatus reads and executes the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the function of the above exemplary embodiments and the storage medium recording the program code constitutes the present invention.
By executing the program code read by the central processing unit of the system or apparatus, the operating system (OS) operating in the system or apparatus performs a part or all of actual processing based on instructions of the program code. A case in which the function of the above exemplary embodiments is realized by processing thereof is also included in the present invention.
Further, assume that the program code read from the storage medium is written into a memory contained in a function expansion card inserted into the system or apparatus or a function expansion unit connected to the system. Then, a case in which a CPU contained in the function expansion card or function expansion unit performs a part or all of actual processing based on instructions of the program code and the function of the above exemplary embodiments is realized by the processing is also included in the present invention.
When the present invention is applied to the storage medium, program code corresponding to the flow charts described above will be stored in the storage medium (computer readable storage medium).
According to each of the above exemplary embodiments, instruction content and an instruction locus for issuing the instruction can be presented to a user while explicitly illustrating a correspondence relationship between both.
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 discussed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims priority from Japanese Patent Application No. 2008-312626 filed Dec. 8, 2008, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2008-312626 | Dec 2008 | JP | national |