An apparatus for manipulating an object displayed on a display device

Abstract: In an apparatus for manipulating an object displayed on a display devices (3), a touch screen (11) which is sensitive at least to a position thereon at which a body touches, outputs touch screen information representing a motion of the body, a plurality of data files store object data for displaying the object in different states, a display information table (17) stores object information including an object type which specifies the shape and physical properties of the object, display position information which specifies a position where the object is displayed on the display device, file information which specifies the size and location of a part of the object data stored in one said plurality of data files, and a file name which specifies one of said plurality of data files, and a display controller (52) recognizes a manipulation to be conducted on the object based on the touch screen information from the touch screen and on the object information included in the display information table, and displays the object on the display device in accordance with the recognition.

Description: The present invention relates to an apparatus for manipulating an object displayed on a display device. As use of computer systems for data processing has become widespread in recent years, more and more users are being required to input data to and converse with data processors such as work stations and personal computers. A vast range of application programs are available for recent data processors and even a complicated application can be processed by using such application programs in combination. However, there is a problem that such data processors are very difficult to handle, especially to manipulate an object displayed on a display device, for those who have little knowledge of computers. Therefore, an apparatus for manipulating an object displayed on a display device, which is easy to use even for a person who has no special knowledge of computers, is in great demand. Fig. 1 illustrates a computer system with a conventional user interface. A computer system with a conventional user interface consists mainly of a central processing unit (CPU) 4, a main memory 5, a keyboard/mouse 2, a frame memory 60 and a hard disk interface 71, which are interconnected via a system bus interface, and also a hard disk 7 and a display unit 3, which are connected to system bus interface via the hard disk interface and the frame memory 6, respectively. The main memory 5 stores a system control program and application programs which handle graphics processing, and provides a work area for use by the programs. The CPU 4 performs display operations under control of the programs. The hard disk 7 stores a data file for graphics to be displayed on the display unit 3. The frame memory 6 stores a frame of picture (or object) data to be displayed on the display unit 3. To manipulate an object displayed on a display unit 3 in the above system, an operator is required to input a command for manipulating the object by using a keyboard/mouse 2 or to select an icon (a symbolic representation of a computer function) displayed on a display unit 3 by using the keyboard/mouse 2 in order to command a desired function. However, it is troublesome and annoying to use a keyboard/mouse and icons and a person with less knowledge of computers tends to be allergic to even touching a keyboard/mouse. Therefore, it is a great problem that such data processors are very difficult to handle for those who have less knowledge of computers. It is therefore desirable to provide an apparatus which can easily manipulate an object displayed on a display unit. It is also desirable to provide a user interface with which a user can easily manipulate an object displayed on a display unit. IBM Technical Disclosure Bulletin, vol. 33, No. 1B, June 1990, pages 277-278 discloses an apparatus according to the preamble of accompanying claim 1. In this prior art, icons resembling three-dimensional push buttons are displayed on the panel (screen) . These icons can be "manipulated" by pushing them in or out, the icon display changing in appearance to reflect the amount of depression of the push button. There is only one type of object (icon) and they are displayed at fixed positions on the screen. According to the present invention, there is provided an apparatus for use with a display device to manipulate an object displayed on the display device, the apparatus comprising a touch panel, mounted to the display device and representing a display surface of the display device, which is sensitive to characteristics of a touching contact on the touch panel, the characteristics including at least coordinate positions of the touching contact, for outputting corresponding touch panel information representing the characteristics of the touching contact on the touch panel; and object manipulation means for manipulating and displaying the object on the display device in response to said touch panel information; characterised in that said object manipulation means comprises: object storage means for storing at least one data file which stores object data for displaying the object; display information storage means for storing object information including at least an object type which specifies a physical object having a centre of gravity or being subject to inertia, and display position information which specifies the position where the object is displayed on the display device; and display control means responsive to the touch panel information and to the object information included in said display information storage means, for recognizing the type of manipulation of the object in accordance with the touch panel information, the object type and the position information and performing the manipulation by moving the object on the display device in response to the recognized type of manipulation. According to another aspect of the invention, there is provided a controller for controlling the above-defined apparatus, comprising: outputting means for outputting touch panel information representing a position of the touching contact; and object manipulation means for manipulating and displaying the object on the display device in response to said touch panel information; characterised in that said object manipulation means comprises: object storage means for storing at least one data file which stores object data for displaying the object; display information storage means for storing object information including at least an object type which specifies a physical object having a centre of gravity or being subject to inertia, and display position information which specifies the position where the object is displayed on the display device; and display control means responsive to the touch panel information and to the object information included in said display information storage means, for recognizing the type of manipulation of the object in accordance with the touch panel information, the object type and the display position information, and performing the manipulation by moving the object on the display device in response to the recognized type of manipulation. Thus, the present invention provides a touch-sensitive panel (e.g. touch screen), means storing a plurality of data files, display information storage means and display control means, which can be used with a display device of a computer system or workstation. Reference is made, by way of example, to the accompanying drawings, in which Figures 8 and 9 particularly illustrate object manipulations according to the invention, and Figures 5 to 7, 10 and 11 illustrate other object manipulations, not in accordance with the invention but included by way of background information. In the drawings:- Fig. 1 illustrates a computer system with a conventional user interface; Fig. 2 is a configuration diagram of a touch-screen-equipped workstation, to which the present invention may be applied; Fig. 3 is a schematic diagram illustrating the principle of the present invention; Fig. 4(a) shows a display information table; Fig. 4(b) shows touch screen information; Fig. 5 is a flowchart illustrating a pick manipulation; Fig. 6 is a diagram illustrating a pick manipulation; Fig. 7 is a diagram illustrating a scroll manipulation, Fig. 8 is a diagram illustrating a push manipulation; Fig. 9 is a diagram illustrating a flip manipulation; Fig. 10 is a diagram illustrating a roll manipulation; and Fig. 11 is a diagram illustrating a distortrestore manipulation. Throughout the above-mentioned drawings, identical reference numerals are used to designate the same or similar component parts. Fig. 2 is a configuration diagram of a touch screen-equipped workstation for implementing the present invention. In addition to the conventional system shown in Fig. 1, the system includes an input-output (abbreviated to I/O) port 8, a touch screen controller 15 and a touch screen unit 1 with a touch screen 11. The touch screen controller 15, connected to the input-output port 8 through an RS-232C interface, controls the touch screen unit 1. The touch screen unit 1, which is sensitive to a position or positions (X-Y co-ordinates) where it is touched, and preferably also to a pressure applied to it, acts as a user interface that allows a user to send signals to the CPU by touching an area thereon with a body, such as a finger or a pencil. Fig. 3 is a schematic diagram illustrating the principle of the present invention. For easy understanding of the principle, the input-output port 8, touch screen controller 15 and touch screen unit 1 shown in Fig. 2 are represented by the touch screen unit 1; and the frame memory 6 and display unit 3 are represented by the display unit 3. A system controller 50, touch discriminator 51 display controller 52 and display information table 1T, which are stored in the main memory 5, control display operations featured by the present invention. Fig. 4(a) shows a display information table. Fig. 4(b) shows touch screen information. A display information table 1T, which is provided in the main memory 5, corresponding to objects, includes an object type, display position information, file information, normal-display file name and special-state file name. The object type defines the type including the shape, properties, circumstances, etc., of the object. The display position information defines the size of the object (width, height), and the position (top-left coordinates X,Y) and the angle at which the object is displayed on the display unit 1. The file information stored in the display data file, which is used for an object which is so large in size that it requires scrolling to view the whole object, defines the size (width W, height H) of the whole object relative to the display screen size, and also the position (top-left co-ordinates X, Y) of the object portion being displayed on the display device, relative to the whole object data. The normal display file name specifies a normal display file where object data for displaying a normal-state of the object is stored. The special-state file name specifies a special-state file where object data for displaying a special-state (e.g. turn-over indication of display color, used for displaying intermediate process of manipulating the object) of the object is stored. Touch-screen information 2I, which is sent from the touch screen unit 1, includes a touch position (X-Y coordinates) where the touch screen 11 is touched and a pressure applied thereon. The following manipulations are possible, in which (5) to (8) correspond to the present invention. (1) The touch discriminator 51, based on the touch screen information 2I from the touch screen unit 1, discriminates the type of a touch an operator's finger has on the touch screen 11, that is, a touch type including, i.e., a "continuous touch start" and "continuous touch end" explained later. The touch discriminator 51 sends to the system controller 50, the result of the discrimination as a touch report 3R, which includes a touch type and touch coordinates. Based on the touch report 3R from the touch discriminator 51 and the display information table 1T, the system controller 50 determines the type of a manipulation conducted by an operator and, according to the determination, updates the display information table 1T. Then, the system controller 50 sends to the display controller 52, a display update request 4Q along with "display update data" which includes contents of the display information table 1T updated (including display position information, file information, normal display file name and special-state file name.On receipt of the display update request 4Q from the system controller 50, the display controller 52 reads display file data (including object data) specified by the file name from the hard disk 7 and stores the data into the main memory 5. The display controller 52 then updates the object data in accordance with the display update data from the system controller 50 and loads the thus-updated object data into the frame memory 6 to display the object, as manipulated by the operator on the touch screen unit 1.Thus, the present invention determines a manipulation to be conducted on the object displayed, based on the touch screen information 2I which results from an operator's touching the touch screen 11 and the display information table 1T which defines the object's shape, physical properties, display position, etc. It then displays the object according to the manipulation determined, as intended by the operator. (2) Pick manipulation (see Figs. 5 and 6.) A pick manipulation is conducted in such a way as an object is picked up at a position on the display surface of the display unit 3 and placed at another position.Fig. 5 is a flowchart illustrating a pick manipulation. Fig. 6 is a diagram illustrating a pick manipulation.A pick manipulation is carried out according to the following steps (S1-S8) in Fig. 5: (S1) The system controller 50 receives a touch report 3R from the touch discriminator 51. (S2) The system controller 50 checks the touch report 3R to see whether the object-finger relation is a pick manipulation as shown in Fig. 6(a), based on the touch report 3R and contents of the display information table 1T shown in Fig. 6(c). When the relation is not a pick manipulation, the system controller 50 checks the touch report 3R for other manipulation. (S3) When the relation is a pick manipulation, the system controller 50 sends a display update request 4Q including "display update data", commanding that the special-state file (turn-over indication) be displayed at the position specified by the display information table 1T. (S4) The system controller 50 receives a touch report 3R. (S5) The system controller 50 determines whether the touch report 3R includes a "continuous touch end", which occurs when the finger-object relation is as in Fig. 6(b). When a "continuous touch end" is reported, the operation goes to step (S8). (S6) Otherwise, the system controller 50 updates the display position information "coordinates (X, Y)" of the display information table 1T so that the object is positioned between the two fingers. (S7) The system controller 50 sends display update request 4Q to the display controller 52, commanding that the special-state file be displayed according to the display information table 1T updated, and returns to step (S4). (S8) When "continuous touch end" is reported by a touch report 3R, the system controller 50 sends a display update request 4Q to the display controller 52, commanding that the normal-display file be displayed at the position specified in the display information table 1T. Following manipulations are carried out in the same way as described in the above flowchart of the pick manipulation. (3) Scroll manipulation (see Fig. 7.) A scroll manipulation is conducted in such a way as an object extending outside of the display surface of the display unit 3 is moved into and out of the display surface.Fig. 7 is a diagram illustrating a scroll manipulation.On determining that the finger moves while touching the touch screen 11 based on the touch screen information 2I from the touch screen unit 1, the discriminator 51 sends to the system controller 50, a touch report 3R including "continuous touch start" for the touch type and also "coordinates (800, 800)" for the touch position. As another touch screen information 2I comes in, the discriminator 51 sends a touch report 3R including "continuous touch in progress" and coordinates (780, 800). When the touch screen information 2I is not sent for more than 100 milliseconds, for example, the discriminator 51 sends a touch report 3R including "continuous touch end" and coordinates (700, 800) to the system controller 50.when a "continuous touch start" is reported and the "object type" is defined as "out-screen" in the display information table 1T, the system controller 50 recognizes the object as a large one extending beyond the display screen. Then, the system controller 50 determines the speed at which the finger has moved from right to left, for example, based on a change in the X-coordinate in the touch report 3R.Depending on whether the finger has moved at a speed of more (high-speed) or less (normal-speed) than for example 20 dots (pixels) e.g. since the last check, the display screen is scrolled first at an interval of 100 or 500 milliseconds, respectively. Then, the interval, at which the display update request 4Q is sent to the display controller 52, is increased by a factor 1.5 at each touch report 3R and, when the interval reaches 2 seconds, the scrolling is stopped.Practically, the screen is so controlled that it starts scrolling at an above-mentioned speed after a finger has moved a distance of 4 dots or more. That is, on recognizing that the finger has moved for that distance, the system controller 50 updates the file information "display position X" of the display information table 1T so that the object is displayed to the left by 10 dots, for example. Then, it sends to the display controller 52, a display update request including display position information, file information and normal display file name from the display information table 1T updated.The display controller 52 reads from the hard disk a display file specified by the normal display file name and loads it in the main memory 5. The display controller 52 then transfers only the part of the display file specified by the file information "display position X" of the display information table 1T, from the main memory 5 to the appropriate location of the frame memory 6.In the same way, the system controller 50 sends a display update request 4Q to the display controller 52 every time it receives a touch report 3R .When another "continuous touch" is reported before the scroll currently in progress comes to a stop, a new scroll can start from this point and at the first speed described above. (4) Scroll-stop manipulation (see Fig. 7.) Fig. 7 is a diagram illustrating a scroll manipulation.When a touch position given by a touch report 3R is the same as or approximately 5 dots apart from the position of the scrolling currently in progress, the system controller 50 doubles the frequency with which display update requests 4Q are sent to the display controller 52, in order to put an end to the scrolling. (5) Push manipulation (see Fig. 8.) A push manipulation is conducted in such a way as an object is pushed on the display surface of the display unit 3. Fig. 8 is a diagram illustrating a push manipulation.The system controller 50 determines the type of a manipulation, based on the touch report 3R and contents of the display information table 1T shown in Fig. 8(c). When the manipulation is a push manipulation as shown in Fig. 8(a), the system controller 50 sends to the display controller 52, a display update request 4Q including display position information, file information and normal display file name so that the object is displayed close to the finger position reported by the touch report 3R. The above display operation is repeated until a "continuous touch end" is reported by a touch report 3R. (6) Push-while-rotate manipulation (see Fig. 8.) A push-while-rotate manipulation is conducted in such a way as an object is pushed at a position off its center (or the center of gravity) and it moves rotating on the display surface of the display unit 3.Fig. 8 is a diagram illustrating a push manipulation.The system controller 50 determines the type of a manipulation, based on the touch report 3R and contents of the display information table 1T shown in Fig. 8(c). When the manipulation is a push-while-rotate manipulation as shown in Fig. 8(b), the system controller 50 sends to the display controller 52, display update requests 4Q with the angle of rotation increasing by 2 degrees, i.e., while increasing the angle in the display information table 1T shown in Fig. 8(c).The display controller 52 reads the display file from the hard disk and loads the data in the main memory 5, rotates the object by the angle and with the left-top coordinates (X, Y) as a rotational center, as specified by the display update request 4Q, and transfers the data with the object rotated, from the main memory 5 to the frame memory 6. (7) Flip manipulation (see Fig. 9.) A flip manipulation is conducted in such a way as a finger flips an object or touches the object from a remote position at a high speed on the display surface of the display unit 3.Fig. 9 is a diagram illustrating a flip manipulation.When a touch report 3R is input from the touch discriminator 51, the system controller 50 descriminates the type of a manipulation based on the touch report 3R and contents of the display information table 1T shown in Fig. 9 (c). When the manipulation is a flip manipulation as shown in Fig. 9 (a), the system controller 50 obtains a finger speed based on the touch report 3R and also an object speed (i.e., the interval at which display update requests 4Q are sent to the display controller 52), in the same way as described in item (3). The system controller 50 sends display update requests 4Q to the display controller 52, while updating the display position information left-top coordinates (X, Y) of the display information table 1T so that the object moves in the direction the finger moves. The system controller 50 stops moving the object when the above-mentioned interval reaches 2 seconds. (8) Flip-under-gravity manipulation (see Fig. 9.) A flip-under-gravity manipulation is conducted in such a way as an object which is subjected to a gravity is flipped by a finger on the display surface of the display unit 3.Fig. 9 is a diagram illustrating a flip manipulation.When the finger manipulation is a flip as in the above item (8) and the display information table 1T defines the object type as "gravity" meaning that the object is subjected to gravity, for example, the object moves under the combined influences of inertia and simulated gravity, i.e. "falls" as shown in Fig. 9(b). Therefore, the system controller 50 sends display update requests 4Q to the display controller 52, while updating the display position information left-top coordinates (X, Y) by adding a value to the Y-coordinate of of the display information table 1T. The value is represented by 2 to the Nth power (N: the number of display-update requests 4Q sent). In this case, too, the system controller 50 stops moving the object when the above-mentioned interval reaches 2 seconds. The resulting trajectory may be a parabola. (9) Roll manipulation (see Fig. 10.) A roll manipulation is conducted in such a way as a rollable object is rolled by a finger on the display surface of the display unit 3.Fig. 10 is a diagram illustrating a roll manipulation.When a touch report 3R is input from the touch discriminator 51 and the display information table 1T defines the object type as "rollable" meaning that the object is constructed such that it rolls when flipped like a globe or a cylinder, as shown in Fig. 10(a), the system controller 50 sends display update requests 4Q to the display controller 52, while updating the display position information left-top coordinates (X, Y) of the display information table 1T so that the object moves a distance 10 per cent behind the distance and in the direction the finger moves. (10) Distort-restore manipulation (see Fig. 11.) A distort-restore manipulation is conducted in such a way as an"elastic"object is pressed by a finger on the display surface of the display unit 3, thereby deforming the displayed object.Fig. 11 is a diagram illustrating a distort-restore manipulation.When a touch report 3R is input from the touch discriminator 51 and the display information table 1T defines the object type as "elastic" meaning that the object can be distorted and restored according to a pressure applied thereon by a finger, as shown in Fig. 11(a), the system controller 50 calculates an amount of distortion of the object based on the pressure reported by the touch report 3R. It stores in the display information table 1T, a special-state file name specifying one of special-state files (for displaying a distorted state of the object in turn-over indication) corresponding to the amount of distortion calculated. Then, the system controller 50 sends a display update request 4Q to the display controller 52, commanding that the special-state file be displayed at the current display position. When the above operation is repeated as necessary and a "continuous touch end" is reported by a touch report 3R, the system controller 50 sends a display update request 4Q (with a normal display file name specified) to the display controller 52, commanding that a normal display file (normal indication) be displayed at the current display position. A plurality of special-state files are provided in the hard disk 7, corresponding to the amount of distortion of the object, which results from a pressure applied on the touch screen 11. As is apparent by the above description, the present invention regards a display screen as a virtual space. It defines conditions and physical properties of an object (e.g., weight, hardness, frictional resistance, center of gravity) in the display information table 1T. It also receives touch screen information 2I indicating a finger-touched position and pressure is input from a touch screen unit 1. Based on the touch screen information 2I and the display information table 1T, the present invention determines a manipulation to be conducted on the object displayed, in particular a push, push-while rotate, flip, or flip-under-gravity manipulation of the object on the display surface of the display unit 3. Thus, the present invention allows a user to manipulate an object displayed on a display device quite easily, even when the user has little knowledge of computers.

Claims: An apparatus for use with a display device to manipulate an object displayed on the display device, the apparatus comprising:- a touch panel, mounted to the display device and representing a display surface of the display device, which is sensitive to characteristics of a touching contact on the touch panel, the characteristics including at least co-ordinate positions of the touching contact, for outputting corresponding touch panel information representing the characteristics of the touching contact on the touch panel; and object manipulation means for manipulating and displaying the object on the display device in response to said touch panel information; characterised in that said object manipulation means comprises: object storage means for storing at least one data file which stores object data for displaying the object; display information storage means for storing object information including at least an object type which specifies a physical object having a centre of gravity or being subject to inertia, and display position information which specifies the position where the object is displayed on the display device; and display control means responsive to the touch panel information and to the object information included in said display information storage means, for recognizing the type of manipulation of the object in accordance with the touch panel information, the object type and the position information and performing the manipulation by moving the object on the display device in response to the recognized type of manipulation. An apparatus according to claim 1, wherein in response to touch panel information indicating a movement such that the touching contact touches the object at its center or center of gravity, moves and stops on said touch panel while keeping in contact with the object, said display control means recognizes the movement as a push manipulation and controls to display the object on the display device so that the object moves on the display device from where the touching contact touches the object to where the touching contact stops. An apparatus according to any preceding claim, wherein in response to touch panel information indicating a movement such that the touching contact touches the object at a position off the center or the center of gravity thereof, moves and stops on said touch panel while keeping in contact with the object, said display control means controls to display the object on the display device so that the object moves while rotating on the display surface from where the touching contact touches the object to where the touching contact stops. An apparatus according to any preceding claim, wherein in response to touch panel information indicating a movement such that a touching contact touches the object from a position apart therefrom at a speed higher than a predetermined speed, said display control means recognizes the movement as a flip manipulation and controls to display the object on the display device so that the object moves a distance proportional to the speed with which the body touches the object and in the direction toward which the touching contact touches the object. An apparatus according to any preceding claim, wherein in response to touch panel information indicating a movement such that a touching contact touches the object from a position apart therefrom at a speed higher than a predetermined speed, and in response to object information specifying that the object is subject to gravity, said display control means controls to display the object on the display device so that the object moves a distance proportional to the speed with which the body touches the object and along a trajectory simulating movement of a physical object moving under the force of gravity. A controller for controlling an apparatus according to claim 1, comprising: outputting means for outputting touch panel information representing a position of the touching contact; and object manipulation means for manipulating and displaying the object on the display device in response to said touch panel information; characterised in that said object manipulation means comprises: object storage means for storing at least one data file which stores object data for displaying the object; display information storage means for storing object information including at least an object type which specifies a physical object having a centre of gravity or being subject to inertia, and display position information which specifies the position where the object is displayed on the display device; and display control means responsive to the touch panel information and to the object information included in said display information storage means, for recognizing the type of manipulation of the object in accordance with the touch panel information, the object type and the display position information, and performing the manipulation by moving the object on the display device in response to the recognized type of manipulation. A controller according to claim 6, wherein in response to touch panel information indicating a movement such that the touching contact touches the object at its center or center of gravity, moves and stops while keeping in contact with the object, said display control means recognizes the movement as a push manipulation and controls to display the object so that the object moves from where the touching contact touches the object to where the touching contact stops. A controller according to claim 6 or 7, wherein in response to touch panel information indicating a movement such that the touching contact touches the object at a position off the center or the center of gravity thereof, moves and stops on said touch panel while keeping in contact with the object, said display control means controls to display the object on the display device so that the object moves while rotating on the display surface from where the touching contact touches the object to where the touching contact stops. A controller according to any one of claims 6 to 8, wherein in the response to touch panel information indicating a movement such that a touching contact touches the object from a position apart therefrom at a speed higher than a predetermined speed, said display control means recognizes the movement as a flip manipulation and controls to display the object so that the object moves a distance proportional to that speed and in the direction toward which the touching contact touches the object. A controller according to any one of claims 6 to 9, wherein in response to touch panel information indicating a movement such that a touching contact touches the object from a position apart therefrom at a speed higher than a predetermined speed, and in response to object information specifying that the object is subject to gravity, said display control means controls to display the object on the display device so that the object moves a distance proportional to that speed and along a trajectory simulating movement of a physical object moving under the force of gravity.

Inventors: FUKUE AKIKO, KAMATA HAJIME, MINAKUCHI YU, OKUYAMA SATOSHI, FUKUE, AKIKO, KAMATA, HAJIME, MINAKUCHI, YU, OKUYAMA, SATOSHI, Fukue, Akiko, c/o FUJITSU LIMITED, Kamata, Hajime, c/o FUJITSU LIMITED, MINAKUCHI, YU, C/O FUJITSU LIMITED, OKUYAMA, SATOSHI, C/O FUJITSU LIMITED
Applicants: FUJITSU LTD, FUJITSU LIMITED
Application year: 1992
Main classification: G06F3
IPC codes: G06F3