WO2007148731A1 - 線形状処理装置、線形状処理方法、情報記録媒体、ならびに、プログラム - Google Patents

線形状処理装置、線形状処理方法、情報記録媒体、ならびに、プログラム Download PDF

Info

Publication number
WO2007148731A1
WO2007148731A1 PCT/JP2007/062436 JP2007062436W WO2007148731A1 WO 2007148731 A1 WO2007148731 A1 WO 2007148731A1 JP 2007062436 W JP2007062436 W JP 2007062436W WO 2007148731 A1 WO2007148731 A1 WO 2007148731A1
Authority
WO
WIPO (PCT)
Prior art keywords
coordinate value
shape
line
coordinate
value
Prior art date
Application number
PCT/JP2007/062436
Other languages
English (en)
French (fr)
Inventor
Noriaki Okamura
Original Assignee
Konami Digital Entertainment Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co., Ltd. filed Critical Konami Digital Entertainment Co., Ltd.
Priority to US12/304,956 priority Critical patent/US8244073B2/en
Priority to EP07767274A priority patent/EP2034392A4/en
Publication of WO2007148731A1 publication Critical patent/WO2007148731A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/04166Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/333Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification
    • G06V30/387Matching; Classification using human interaction, e.g. selection of the best displayed recognition candidate

Definitions

  • Line shape processing apparatus line shape processing method, information recording medium, and product technology
  • the present invention relates to a line shape processing apparatus, a line shape processing method, and the like suitable for detecting a feature of a terminal portion of a line shape and determining similarity of the line shape based on the feature.
  • the present invention relates to a computer-readable information recording medium that records a program for realizing the program on a computer, and the program.
  • Patent Document 1 Japanese Unexamined Patent Publication No. 2003-114760
  • Patent Document 1 discloses that when moving the position of a mouse pointer, the pointer is moved and controlled with a movement distance per unit operation amount that is smaller than the movement distance of the pointer per unit operation amount. A technique for precisely moving the position is disclosed. On the other hand, a technique for drawing various curves on a screen by inputting coordinate values using such a touch panel or mouse is also widely used.
  • the present invention has an object to solve the above-described problem, and detects a feature of a terminal portion of a line shape and determines similarity of the line shape based on the feature. It is an object of the present invention to provide a line shape processing apparatus, a line shape processing method, a computer-readable information recording medium that records a program that realizes these on a computer, and the program.
  • the line shape processing apparatus provides a first coordinate value that is a coordinate value in the first coordinate axis direction and a coordinate in the second coordinate axis direction that is a coordinate axis in a direction different from the first coordinate axis.
  • the shape of the line arranged in the two-dimensional region where the position is specified is processed by a pair with the second coordinate value, which is a value, and a coordinate storage unit and a detection unit are provided and configured as follows.
  • the coordinate storage unit stores the second coordinate value of the point in association with the first coordinate value of the point included in the line for the shape of the line input by the user force.
  • the coordinate storage unit is typically prepared in a RAM (Random Access Memory).
  • the pairs of the first coordinate value and the second coordinate value may be stored as they are so that no one with the same first coordinate value exists, or when the first coordinate value is expressed as an integer. May store only the second coordinate value last input for the first coordinate value by storing the second coordinate value in an array having the first coordinate value as an index.
  • the detection unit determines that the shape of the terminal portion of the line input from the user is
  • the pennant shape, the flag shape, and the like are concepts widely used in fluctuations in stock prices, and since the importance is given to the shape of the terminal portion of the line input from the user, This is to be detected. At this time, in the present invention, the determination is made with reference to the distribution of the extreme values (maximum values or minimum values) of the second coordinate values in the shape of the line.
  • the shape of the terminal portion of the shape of the line input by the user is reduced by reducing the vibration width while vibrating, the pennant shape, the flag shape that vibrates with a substantially constant vibration width,
  • the user can know which of the normal shapes is a shape other than.
  • the line shape processing apparatus of the present invention can be configured as follows.
  • the coordinate storage unit uses the element value of the array with the first coordinate value of the point included in the line as a subscript as the second coordinate value of the point, thereby determining the point included in the line.
  • the first coordinate value is stored in correspondence with the second coordinate value of the point.
  • the first coordinate value and the second coordinate value can be expressed by integer values, it is easy to store the second coordinate value in an array having the first coordinate value as an index. It is possible to memorize coordinate value pairs that do not overlap the first coordinate value.
  • the detection unit changes the first coordinate value, which is an index of the array, from the maximum value to the minimum value direction.
  • the second coordinate value stored in association with immediately before the first coordinate value the second coordinate value stored in association with immediately after the first coordinate value, and the second The second coordinate value stored in association with one coordinate value is compared, and the coordinates of the point where the second coordinate value is the maximum and the coordinate of the point where the second coordinate value is the minimum are respectively 2W (W ⁇ l) If 2 W are detected and 2 W are detected, the second coordinate value of the W center of gravity detected first among the maximum points and the W detected first among the minimum points.
  • the difference from the second coordinate value of the centroid of each piece, and the second coordinate value of the centroid of W pieces detected later among the maximum points and the minimum Are compared with the second coordinate values of W centroids detected later, and the shape of the line is determined as follows: (a) the difference between the start side and the difference at the end side is a predetermined value. If they are equal within the error range, it is detected as a flag shape that vibrates with a substantially constant vibration width. (b) If the difference at the start end side is greater than the difference at the start end side in (a) above, the vibration width is narrowed while oscillating and detected as a pennant shape,
  • the present invention relates to a preferred embodiment of the above invention, and realizes a specific method for distinguishing between a flag shape, a pennant shape, and a normal shape.
  • a line segment having a shape-specific constraint that “the point included in the line segment does not have the same first coordinate value” is naturally and efficiently stored.
  • the line shape processing apparatus of the present invention includes an input receiving unit, and the input receiving unit is a first type instruction input that specifies the position of a point included in a line arranged in the two-dimensional area. And a second type instruction input different from the first type instruction input.
  • the input receiving unit specifies a position in the two-dimensional region associated with the pressing operation on the surface of the screen and the position where the pressing operation is performed.
  • the first type instruction input can be accepted, and the detachment operation from the surface of the screen can be accepted as the second type instruction input.
  • an orthogonal coordinate system is used as the coordinate system and X as the first coordinate value.
  • the y-coordinate value is used as the coordinate value and the second coordinate value, respectively.
  • X and y coordinates may be exchanged, and oblique coordinates and polar coordinates may be adopted depending on the application. For example, when drawing a pie chart, it is possible to use an angle as the first coordinate value and a radius as the second coordinate value.
  • the subsequent first type is determined from the first coordinate value of the start position specified in the previous first type instruction input.
  • the first coordinate value is included in the line segment connecting the start position and the end position.
  • the second coordinate value of the point can be associated with the first coordinate value and stored in the coordinate storage unit.
  • the coordinates specified for the first first input are (X, y), and the coordinates specified for the first first input
  • the second coordinate value stored in the coordinate storage unit in association with the first coordinate value is stored.
  • the acquired second coordinate value is associated with the second coordinate value.
  • the shape of a line arranged in the two-dimensional area may be displayed by drawing a point at a position in the screen to be attached.
  • the X coordinate values are acquired in ascending order, and the y coordinate value for each X coordinate value is acquired.
  • two types of instruction inputs can be easily performed by a simple operation, and the user can intuitively change the shape of the line using the first type instruction input. It becomes possible to input.
  • the user when inputting and processing the coordinate values of points constituting a diagram that forms a graph shape of an explicit function, the user can easily input.
  • the line shape processing apparatus of the present invention can further include a deletion unit and can be configured as follows.
  • the deletion unit continuously receives the first type instruction input for a predetermined number of times, and the pair of first type instruction inputs adjacent to each other of the first type instruction input performed subsequently. In all cases, the vector from the position specified in the first type instruction input ahead of the pair to the position specified in the first type instruction input after the pair, and the first type in the two-dimensional region. If the angle formed by the vector in the direction in which only the coordinate value is changed in the predetermined order is equal to or greater than the predetermined obtuse angle, the first coordinate value specified for each of the subsequent first type instruction inputs The second coordinate value stored in the coordinate storage unit in association with the first coordinate value included in the range from the minimum value to the maximum value is deleted from the coordinate storage unit.
  • the first coordinate value is the X coordinate in the horizontal direction
  • the second coordinate value is the vertical coordinate
  • the direction in which the X coordinate increases is from left to right
  • a vector in a direction in which only one coordinate value is changed in a predetermined order refers to a direction force from left to right and a vector.
  • the vector from the previous position to the subsequent position is a vector indicating the direction in which the touch pen or the mouse has moved.
  • betatones have a predetermined obtuse angle corresponds to a case where the touch pen or the mouse is moved from the right to the left.
  • the first type instruction input is performed a predetermined number of times. This corresponds to the case where the surface is continuously traced for a certain time.
  • Force axis is more than the positive direction and obtuse angle ⁇ , that is,
  • a part of a line shape such as an inputted graph is deleted, and a line shape such as drawing a divided line shape or deleting an unnecessary section is deleted. Editing can be done easily.
  • the user can input a line shape or delete a line shape that has already been input by a simple operation.
  • the detection unit when the detection unit detects that the shape of the terminal portion of the line is a pennant shape or a flag shape, the detection unit The sum of the second coordinate value of the center of gravity of the starting half of the point and the second coordinate value of the center of gravity of the starting half of the minimum point, and the second coordinate value of the center of gravity of the terminal half of the maximum point Is compared with the second coordinate value of the center of gravity of the end half of the local minimum point,
  • It can be configured to further detect the shape of the line.
  • the present invention relates to a preferred embodiment of the above invention, and in the analysis of stock price fluctuation, when the flag shape or pennant shape corresponds to rising, falling, or horizontal is extremely important. Therefore, the detection unit detects this. At this time, in the present invention, the determination is made by comparing the average of the extreme values of the first half of the end portion of the line with the average of the extreme values of the second half.
  • the user can know whether the shape of the terminal portion of the line shape input by the user is ascending, descending, or horizontal.
  • the line shape processing apparatus of the present invention further includes a candidate storage unit, a similarity extraction unit, and a presentation unit. It can be configured as follows.
  • the candidate storage unit associates the second coordinate value of the point with the first coordinate value of the point included in the line.
  • the similarity extraction unit calculates the similarity between the shape of each of the plurality of lines stored in the candidate storage unit and the shape of the line stored in the coordinate storage unit, and the plurality of lines Among these, a similarity extraction unit that extracts candidates having a low calculated similarity as candidates, and for the two lines for which the similarity is calculated for the same first coordinate value The sum of the values obtained by multiplying the square of the difference between the two coordinate values by the weight determined by whether the shape of the end portion of the two lines is a combination of a pennant shape, a flag shape, or a normal shape. This similarity is assumed.
  • the shape of the end portion that does not determine the similarity based on the sum of squares of the difference between the existing stock price fluctuation and the stock price fluctuation input by the user is a pennant shape, a flag shape, or a normal shape.
  • the weight for the difference square value is determined and the similarity is calculated.
  • the similarity can be determined based on the shape of the terminal portion considered to be particularly important to the user.
  • the presentation unit presents the extracted line shape to the user.
  • each of the plurality of lines prepared in advance represents a change with time of the value of the transaction object associated with the line among the plurality of transaction objects.
  • the shape of the line input from the user is the shape in which the user inputs the change over time of the value of the transaction target to be searched from the past to the present.
  • the transaction target information associated with the line can be presented to the user. That is, since the shape of a line having a shape similar to the shape of the line input by the user is extracted, in the above example, when the user views the shape of the presented line, the user can select a desired shape. Stock information having the form of stock price fluctuations can be obtained.
  • the first coordinate value is expressed by an integer, and the first coordinate value of the drawn point and the first coordinate value of the point drawn immediately before When, are adjacent to each other, a line segment connecting the drawn point and the point drawn immediately before the drawn point can be further drawn.
  • the present invention relates to a preferred embodiment of the above invention.
  • a line between these two points is displayed.
  • the graph can be drawn as a diagram.
  • the line shape processing apparatus of the present invention further includes a display unit, and the coordinate storage unit includes the second coordinate value or the first coordinate as an element of an array having the first coordinate value as an index.
  • a value indicating that the second coordinate value to be associated with the standard value is deleted is stored, and the display unit scans the elements of the array so that the index of the array changes in the predetermined order.
  • the second coordinate value associated with the first coordinate value is acquired, and a curve passing through the position specified by the first coordinate value and the second coordinate value is displayed. Power S can be.
  • the first coordinate value and the second coordinate value are both input as integers, and when a predetermined area such as width 320 X height 240 is adopted, There are 240 possible values for the second coordinate value, 0 to 239, which can be expressed in 1 byte.
  • the possible values for the first coordinate value are 320 values from 0 to 319.
  • the total size of the array is 320. Good as a byte Les. If 255 is stored as the value of the element of the array (ie, the second coordinate value), the graph is not drawn at the first coordinate value that is the index of that element (the point is deleted) Can be treated as
  • the line shape processing method includes a first coordinate value that is a coordinate value in the first coordinate axis direction and a coordinate in the second coordinate axis direction that is a coordinate axis in a direction different from the first coordinate axis.
  • the shape of the line placed in the two-dimensional region where the position is specified is processed by the pair with the second coordinate value, which is the value, and the shape of the line included in the line is input for the shape of the line input by the user.
  • a line shape processing apparatus having a coordinate storage unit, an input reception unit, a storage unit, and a detection unit that store the second coordinate value of the point in association with one coordinate value.
  • the detection step is provided and configured as follows.
  • the first type instruction input in which the input receiving unit specifies the position of the point included in the line arranged in the two-dimensional region is different from the first type instruction input.
  • the second type instruction input is accepted.
  • the storage unit uses the first coordinate value force at the start position specified in the previous first type instruction input. For each of the first coordinate values included between the first coordinate value of the end position specified in the first type instruction input and included in the line segment connecting the start position and the end position, The second coordinate value of the point having the first coordinate value is stored in the coordinate storage unit in association with the first coordinate value.
  • the detection unit determines from the first coordinate value and the second coordinate value of the point included in the stored line shape that the shape of the terminal portion of the line input from the user is
  • a program according to another aspect of the present invention causes a computer to perform the above-described line shape processing apparatus. And the computer is configured to execute the above line shape processing method.
  • the program of the present invention can be recorded on a computer-readable information storage medium such as a compact disk, flexible disk, hard disk, magneto-optical disk, digital video disk, magnetic tape, and semiconductor memory.
  • a computer-readable information storage medium such as a compact disk, flexible disk, hard disk, magneto-optical disk, digital video disk, magnetic tape, and semiconductor memory.
  • the above program can be distributed and sold via a computer communication network independently of the computer on which the program is executed.
  • the information storage medium can be distributed and sold independently of the computer.
  • a line shape processing apparatus suitable for detecting the feature of the end portion of the line shape and determining the similarity of the line shape based on the feature, It is possible to provide a computer-readable information recording medium in which a program that realizes these on a computer is recorded, and the program.
  • FIG. 1 is an explanatory diagram showing a schematic configuration of a general information processing apparatus in which a line shape processing apparatus according to the present invention is realized.
  • FIG. 2 is an explanatory diagram showing a schematic configuration of a line shape processing apparatus according to the present embodiment.
  • FIG. 3 is a flowchart showing a control flow of a coordinate value input display process executed by the line shape processing apparatus of the present embodiment.
  • FIG. 4 is an explanatory diagram showing the locus of movement of the touch pen that has been pressed and the shape of the graph line displayed in response thereto.
  • FIG. 5 is an explanatory diagram for explaining the relationship between the trajectory of the touch pen and the shape of the line displayed on the screen.
  • FIG. 6 is a flowchart showing a detailed control flow of processing executed when it is determined whether or not a deletion condition is satisfied, and is satisfied.
  • FIG. 7 is an explanatory diagram showing the shape of a line that is input when the user performs an operation of moving the touch pen from right to left.
  • FIG. 8 is an explanatory diagram showing pennant and flag shapes.
  • FIG. 9] is a flowchart showing a control flow of detection processing for detecting whether or not there is a pennant or flag shape in the shape of the line.
  • FIG. 10 is an explanatory diagram showing the relationship between the maximum point, the minimum point, and the position of each center of gravity.
  • FIG. 1 is an explanatory diagram showing a schematic configuration of a general information processing apparatus in which the line shape processing apparatus according to the present invention is realized.
  • FIG. 1 is an explanatory diagram showing a schematic configuration of a general information processing apparatus in which the line shape processing apparatus according to the present invention is realized.
  • the information processing apparatus 101 includes a CPU (Central Processing Unit) 102 and a RAM (Random A ccess Memory) 103, ROM (Read Only Memory) 104, input device 105, image processing unit 106, liquid crystal display 107, audio processing unit 108, speaker 109, and cassette reader 110. .
  • CPU Central Processing Unit
  • RAM Random A ccess Memory
  • ROM Read Only Memory
  • the CPU 102 controls each unit of the information processing apparatus 101.
  • the storage area of the RAM 103, the storage area of the ROM 104, and the storage area of the ROM cassette 111 inserted into the cassette reader 110 are all mapped to one memory space managed by the CPU 102. If the address where each storage area is mapped is read, the information stored in each area can be obtained. In addition, writing to the storage area of the RAM 103 is also possible.
  • a register serving as a window for obtaining information from the input device 105 is also provided. It is mapped to the memory space, and can be instructed by writing data representing a command at a predetermined address, and can acquire information by reading data from the predetermined address.
  • the CPU 102 executes a program starting from an address to which the storage area of the ROM cassette 111 inserted into the cassette reader 110 is mapped.
  • the RAM 103 is used for various purposes as a temporary storage area.
  • the ROM 104 stores a BIOS (Basic Input / Output System) routine provided by the information processing apparatus 101 and can be appropriately called from a program in the ROM cassette 111.
  • BIOS Basic Input / Output System
  • the input device 105 reflects an input from a button for receiving an instruction input indicating a direction and a button for receiving an instruction input for distinguishing various operations in a register mapped in the memory space. Whether the touch panel attached to the surface is pressed or not and the input of the coordinates when pressed are also accepted.
  • the liquid crystal display 107 is managed by the image processing unit 106.
  • a storage area for storing tiles mapped in the memory space and a storage area for storing object attribute memory are used.
  • the CPU 102 writes a value generated by calculation or appropriately transfers information from the ROM cassette 111 inserted in the cassette reader 110, the liquid crystal display A sprite image is displayed on the display 107.
  • a frame buffer that manages an image displayed on the liquid crystal display 107 in units of pixels can also be used.
  • a certain color is to be displayed at a certain position on the liquid crystal display 107
  • a numerical value corresponding to the color is written in a location corresponding to the position
  • a bitmap image is displayed on the liquid crystal display 107 at an appropriate timing.
  • the color for one pixel is expressed by 2 bytes. Therefore, an array having 320 ⁇ 200 elements (2 bytes each) is prepared in the RAM 103 as a frame buffer, and the elements of the array are made to correspond to the pixels of the liquid crystal display 107 on a one-to-one basis.
  • a 16-bit value representing the color is written to the element of the array, and the image processing unit 106 is made to reflect the contents of the frame buffer on the liquid crystal display 107 at an appropriate timing (for example, at the period when the vertical synchronization interrupt occurs). Control.
  • the number of liquid crystal displays 107 is one or more. In the case of a plurality of liquid crystal displays 107, one liquid crystal display 107 is exclusively used for display and the other liquid crystal display 107 is attached with a touch panel. You may comprise. In this case, a coordinate value indicating the position of the corresponding liquid crystal display 107 is input by pressing the touch panel with the touch pen.
  • the information processing apparatus 101 is used as a typical portable game apparatus, but the technology of the present invention uses a mouse, a keyboard, and a CRT (Cathode Ray Tube) for input and output. It is also possible to apply to various applications that operate on a general-purpose computer that performs the above-described operations, and such embodiments are also included in the scope of the present invention.
  • FIG. 2 is an explanatory diagram showing a schematic configuration of the line shape processing apparatus according to the present embodiment. Hereinafter, description will be given with reference to this figure.
  • the line shape processing apparatus 201 includes an input receiving unit 202, a coordinate storage unit 203, a history storage unit 204, a display unit 205, a deletion unit 206, and a detection unit 207.
  • the input reception unit 202 includes a touch panel attached to the surface of the liquid crystal display 107 and a touch panel. Realized by a combination of touch pens.
  • the CPU 102 inspects the value of a predetermined register mapped in the memory space, the touch panel is pressed with the touch pen, and the information on the release force or the touch panel is displayed when the touch panel is pressed.
  • the coordinates of the pressing operation in are obtained in the orthogonal coordinate system.
  • the X coordinate corresponds to the first coordinate value
  • the y coordinate corresponds to the second coordinate value.
  • possible values for the X coordinate are 0 to 319
  • possible values for the y coordinate are 0 to 239.
  • the coordinate storage unit 203 stores a combination of the X coordinate value and the y coordinate value of the points included in the graph diagram
  • the history storage unit 204 stores the input history of coordinate values.
  • the information is typically stored in the RAM 103 under the control of the CPU 102.
  • the display unit 205 displays a graph diagram, and is realized by the liquid crystal display 107 under the control of the CPU 102.
  • the deletion unit 206 includes a coordinate storage unit 203 and a history storage unit 204. Information stored in the memory is managed as appropriate, and the CPU 102 is realized in cooperation with the RAM 103.
  • the detection unit 207 detects whether or not the shape of the line stored in the coordinate storage unit 203 has a predetermined characteristic shape, and the CPU 102 cooperates with the RAM 103. This is realized.
  • processing using the history storage unit 204 and the deletion unit 206 and the processing using the detection unit 207 can be omitted depending on the application field, and an embodiment in which these are appropriately omitted is also applicable to the present invention. Included in the range.
  • FIG. 3 is a flowchart showing a control flow of coordinate value input display processing executed by the line shape processing apparatus of this embodiment.
  • a description will be given with reference to FIG.
  • the CPU 102 initializes the coordinate storage unit 203 prepared in the RAM 103 (step S301), and initializes the history storage unit 204 (step S302).
  • the coordinate storage unit 203 is realized by an array F of 320 bytes.
  • the xth element of array F is denoted as F [x].
  • the latest second coordinate value with respect to the first coordinate value X. y is stored in the xth element F [x] of the array.
  • valid values for the second coordinate value are 0 to 239. Therefore, “the second coordinate value y corresponding to the first coordinate value x does not exist and the location of the first coordinate value X The value 255 is used to indicate that the graph is broken.
  • “-” means so-called substitution.
  • the history storage unit 204 stores a predetermined number of combinations of the X and y coordinates input most recently.
  • the ring buffer has a variable p for storing a place where a value is to be registered next, an array R having a structure composed of an X coordinate and a y coordinate, and a coordinate input indicating that a pressing operation is performed. It is realized by a variable n that stores how many times it has been performed so far (corresponding to how long the force has been continued).
  • the number of elements in the IJR is M.
  • the grid element of array R is written as R [i]
  • the X and y coordinates of the element are R [i] .x
  • initialization of the history storage unit 204 is p ⁇ 0, n 0, and for i ⁇ 0, 1,..., M_l, R [i] .x ⁇ -1, R [i] .y-Realized by setting a value such as 255.
  • the CPU 102 refers to a predetermined register mapped in the memory space and checks whether or not the touch panel attached to the surface of the liquid crystal display 107 is pressed.
  • Step S303 When the touch panel is pressed (Step S303; Yes), the touch panel attached to the surface of the liquid crystal display 107 is referred to the position where the touch panel is pressed with reference to a predetermined register mapped in the memory space.
  • X coordinate value a and y coordinate value b are acquired (step S304). In other words, the first type instruction input has been accepted through steps S303 to S304.
  • the X coordinate value a and y coordinate value b are reversed in sign and added with a constant to reverse the direction, or by multiplying and dividing by an appropriate constant to obtain the accuracy of the coordinate value. It is also possible to perform various conversion processes such as changing to the desired accuracy. If you want to draw a pie chart shape, Typically, the standard value is the angle, and the y-coordinate value is the distance from the center.
  • R [p] .xa, R [p] .y—b, p (p + 1) mod M is executed to register the coordinate values acquired in the ring buffer of the history storage unit 204 (Step S305).
  • X mod y means a remainder obtained by dividing the integer X by a positive integer y (meaning a remainder in a mathematical sense, 0 ⁇ (x mod y) ⁇ y-1).
  • n ⁇ n + 1 is executed (step S306), and the number of times indicating that the pressing operation (first type instruction input) has been performed so far is counted.
  • the processing after step S303 is performed at regular intervals, so the value of n can be considered as the time during which the pressing operation has been continued up to the present time.
  • step S307 determines whether or not a predetermined deletion condition is satisfied. If the deletion condition is satisfied, the input coordinate value will be deleted as appropriate. The details will be described later. In addition, as described above, it is also possible to adopt a mode in which the process immediately proceeds from step S306 to step S308 without considering the deletion condition. Therefore, here, the case where the deletion condition is not satisfied (step S307; No) will be described.
  • step S307 When the deletion condition is not satisfied (step S307; No), the CPU 102 performs the pressing operation.
  • step S308 It is determined whether or not (first type instruction input) is continuously performed, that is, whether or not n ⁇ 2 holds (step S308).
  • step S308 If not established (step S308; No), that is, if the first type instruction input is performed after the second type instruction input, in other words, the touch pen force S touched the touch panel. Is detected, execute F [ a ] — b (step S330) Then, the coordinate information of the pressed operation is registered, and the process proceeds to step S319. That is, step S330 corresponds to starting correction of the shape of a line input in the past.
  • step S308 if established (step S308; Yes), the coordinates specified by the latest type 1 instruction input are
  • step S311 execute F [x] -y (step S311), and set the point where the line of the desired shape passes.
  • the second coordinate value y most recently input for the first coordinate value X is registered in the coordinate storage unit 203.
  • s-sgn (x -X) is executed for s (step S312). Where sgn (z) is positive if z is positive
  • This function returns 1 when z is negative and 1 when z is negative.
  • Step S313) the following processing is repeated (Step S314). That is, for the variable area y prepared in RAM 103
  • Step S315) the first coordinate value of the line segment connecting (x, y) and (x, y)
  • step S31-7 X — X + s is executed (step S317), and x ⁇ x, step S314 to step
  • step S318 The process of S318 is repeated (step S318).
  • step S320 it is checked whether F [i] is a valid y coordinate value. That is, in this embodiment, it is checked whether or not 0 ⁇ F [i] ⁇ 239. If F [i] is a valid y-coordinate value (step S320; Yes), the coordinates G and F [i] of the frame buffer that stores information corresponding to each pixel on the two-dimensional surface of the liquid crystal display 107 are displayed. ) Writes information for drawing a point at a position corresponding to) (step S321). On the other hand, if not (step S320; No), the process proceeds to step S322 without drawing a point.
  • step S319 By repeating step S319 to step S322 (step S322), the point where the position is detected among the positions traced with the touch pen is displayed on the screen.
  • step S 324 it is checked whether or not both F [i] and F [i + 1] are valid y coordinate values. This criterion is the same as that in step S319. If both are valid y-coordinate values (step S324; Yes), the line segment from the frame buffer coordinates (i, F [i]) to the coordinates (i + l, F [i + l]) Is written (step S325).
  • Such a line drawing process for the frame buffer may employ a Bresenham line drawing algorithm, and the image processing unit 106 itself may have such a function.
  • step S324 if not (step S324; No), the line segment is not drawn and the process proceeds to step S326.
  • step S323 By repeating step S323 to step S326 (step S326), a line segment connecting the points where the positions are detected among the positions traced with the touch pen is also displayed on the screen.
  • step S327 the process waits until a vertical synchronization interrupt occurs.
  • the CPU 102 instructs the image processing unit 106 to reflect the contents of the frame buffer on the liquid crystal display 107 and to a position corresponding to the coordinate value input using the touch pen.
  • the points are displayed, and the line segments connecting these points are appropriately displayed (step S328). Then, the process returns to step S303.
  • step S3 when the touch pen is not pressed and is away from the touch panel (step S303; No), n-0 is stored as such (step S329), and the process proceeds to step S319. This means that the second type instruction input has been accepted.
  • FIG. 4 is an explanatory diagram showing the movement trajectory of the touch pen that has been pressed and the shape of the graph lines displayed in response thereto.
  • FIG. 4 is an explanatory diagram showing the movement trajectory of the touch pen that has been pressed and the shape of the graph lines displayed in response thereto.
  • This figure (a) shows the trajectory when the user draws a zigzag meandering line with the touch pen.
  • the zigzag line 401 has such a shape that a graph showing a situation in which stock price fluctuations frequently occur in a short cycle, such as a pennant or a flag, for example, in a stock price change over time is a line shape. Since the passage of time is set from the left to the right, the locus of the zigzag line 401 has moved from the left to the right when viewed as a whole.
  • This figure (b) shows the shape of the line 403 of the graph that is actually input when the zigzag line 401 including such an overlapping portion 402 is drawn with a touch pen.
  • the value (vertical axis) at a certain point in time (horizontal axis) is determined to be one, and if there are multiple values at a certain point in time, the value is input last. The selected value is adopted. Therefore, even when the user goes back from right to left, the touch pen moves from left to right after that, and the latest locus is used as the line 403 of the graph.
  • this figure (c) shows the touch pen when the zigzag line 401 drawn in this figure (a) is partly stopped and flattened (parallel to the X axis). The movement trajectory is drawn. After drawing the zigzag line 401 shown in this figure with a touch pen, tap the flat line 404 from left to right. It is drawn with a pen tip pen.
  • the last input value is valid as the value of the y coordinate for a certain X coordinate.
  • the state of the shape of the line 405 of the graph actually input is shown, and the portion to be flattened is reflected.
  • the touch pen can be moved from right to left so as to press the touch panel along the flat line 404, or from left to right. The part you want to be reflected will be reflected.
  • FIG. 5 is an explanatory diagram for explaining the relationship between the trajectory of the touch pen and the shape of the line displayed on the screen.
  • a description will be given with reference to FIG.
  • FIGS. (A) to (e) show the movement of the touch pen in chronological order, the arrows indicate the direction of the touch pen movement, and the solid line moves while the touch pen presses the touch panel. The broken line indicates that the touch pen moves when the touch panel force is released.
  • FIGS. (A) to (E) correspond to FIGS. (A) to (e), and show the shape of the line displayed on the screen at each time point in the time series. It is shown.
  • This figure (e) shows a state where the zigzag line is continuously drawn as it is.
  • the shape of a continuous line is displayed on the screen.
  • an orthogonal coordinate system is used as the coordinate system, and X is used as the first coordinate value.
  • the X-coordinate and y-coordinate may be exchanged, or the oblique and polar coordinates may be adopted.
  • the angle can be used as the first coordinate value and the radius can be used as the second coordinate value.
  • the coordinate axes are not orthogonal or are curved, so that the user input is likely to be shaken.
  • the present invention when the present invention is applied, In such a case, it is possible to obtain the coordinate values of the graph having a shape close to the user's desire by appropriately correcting such blurring.
  • the touch pen may move from right to left for a moment as described above.
  • the graph is erased when the touch pen moves almost horizontally from right to left for a certain period of time. Otherwise, the touch pen moves from right to left. Even if it moves, it is interpreted as an input of normal coordinate values.
  • the criterion for this is the deletion condition.
  • MX vertical synchronization interrupt cycle corresponds to this “certain time”. That is, if the touch pen moves almost horizontally from right to left during the “M X vertical synchronization interrupt period”, only the range of movement from the right to the left of the line shape is deleted.
  • the ring buffer is used to detect whether or not the deletion condition “the touch pen has moved substantially horizontally from right to left during the M X vertical synchronization interrupt period” as follows.
  • FIG. 6 is a flowchart showing step S307 for determining whether or not the deletion condition is satisfied, and a detailed control flow of processing executed when the deletion condition is satisfied. This will be described below with reference to this figure.
  • step S501 it is first determined whether or not n ⁇ M (step S501). If n ⁇ M (step S 501; No), this process ends, and the process proceeds to step S 308.
  • step S501 if n ⁇ M (step S501; Yes), the history of coordinates of the touch pen movement during the MX vertical synchronization interrupt cycle up to the present is stored in the ring buffer one time in the ring buffer.
  • Force S Determines whether or not the force has moved in the direction opposite to the horizontal direction in the positive direction of the X axis and an obtuse angle ⁇ or more (step S503).
  • step S503 If this condition is not satisfied (step S503; No), this process ends and the process proceeds to step S308. On the other hand, if this condition is satisfied (step S503; Yes), the processing from step S502 to step S504 is repeated.
  • Step S506 is repeated (Step S507).
  • step S505 to step S507 the repetition (step S505 to step S507) is completed, the present process is terminated, and the process proceeds to step S319.
  • FIG. 7 is an explanatory diagram showing the shape of a line that is input when the user performs an operation of moving the touch pen from right to left.
  • This figure (a) shows the path of movement of the touch pen performed by the user. Move along the zigzag line 401 similar to that in Fig. 4 while pressing the touch panel with the touch pen. After removing the touch pen from the touch panel, place the pen further, move the touch panel while pressing the touch panel with the touch pen along the almost horizontal erasing instruction line 601 from right to left, and then remove the touch pen. “History of pressing operation path” is displayed.
  • This figure (b) shows the "screen display example" of the shape of the line 403 of the graph displayed by the line shape processing apparatus immediately after moving the touch panel while pressing the touch panel along the zigzag line 401 with a touch pen. Is shown. The same shape as in Fig. 4 (b) is displayed. This figure shows a graph line corresponding to the zigzag line 401, which is the history of the touch pen tracing the touch panel.
  • the shape of 03 is shown as a display example.
  • This figure (c) is a graph of the line 603 of the graph displayed by the line shape processing apparatus immediately after the touch panel is moved while pressing the touch panel along the erasing instruction line 601 with a touch pen. It shows a “screen display example” of the shape. As shown in this figure, the graph lines
  • the shape of the line 603 is divided in the middle.
  • Shapes characteristic of such stock price changes include what are called pennants and flags.
  • FIG. 8 is an explanatory diagram showing the shapes of pennants and flags. Hereinafter, description will be given with reference to this figure.
  • Figures (a), (b), and (c) are shapes called pennants, and initially, the price movement is intense, but the values gradually converge as time elapses. In other words, while the price vibrates (becomes zigzag), the vibration width gradually narrows. The Furthermore, when the average value is almost constant, it is simply “pennant” or “horizontal pennant” (this figure (a)), and when it ’s rising, it ’s “rising pennant” (this figure (b)). When it is, call it as “Descent pennant” ((c) in this figure).
  • FIGS. (D), (e), and (f) are shapes called flags, which are shapes in which almost the same fluctuation range of value movement is maintained. That is, the shape vibrates with a substantially constant vibration width (becomes zigzag). Furthermore, when the average value is almost constant, it is simply “flag” or “horizontal flag” (this figure (d)), and when it is rising, it is “rising flag” (this figure (e)). When it is, call it as “Descent flag” ((f) in this figure).
  • the line shape is stored in the array F of the coordinate storage unit 203. Therefore, by examining the contents of this array F, it is possible to detect pennants and flags. Hereinafter, details of the processing for performing this detection will be described.
  • FIG. 9 is a flowchart showing a control flow of detection processing for detecting whether or not the shape of a line has a shape of a pennant or a flag.
  • Constant W Used to extract 2W local maximum points and 2W local minimum points.
  • Array AX, AY to store the partial sum and average of the local maximum X and y coordinate values separately for the first half and the second half. Both have two elements.
  • Arrays IX and IYo for storing partial sums and averages of the local minimum X and y coordinate values in the first half and the second half are both two elements.
  • Threshold constant ⁇ for the X coordinate spread of 2W local maxima and minima to be considered to correspond to pennants or flags. If the spread of the X coordinate is less than or equal to ⁇ , the value will rise and fall sharply. The power to think of it as a pennant or flag. As soon as the value goes up and down, it is neither a pennant nor a flag.
  • step S802 a variable m for counting the number of local maximum points and local minimum points detected up to now is initialized (step S802). Specifically, m-0 is executed.
  • step S804 it is determined whether or not F [i-1] ⁇ F [i] and F [i]> F [i + 1], that is, whether or not it is a maximum point. If so (step S804; Yes), AX [m / (4W)] ⁇ AX [m / (4w)] + i, AY [m / (4W)] ⁇ AY [m / (4w)] + F [i] is executed (step S805), and the x coordinate value and the y coordinate value of the local maximum point are added up.
  • a / b means integer division (division by rounding down the remainder) by dividing a by b.
  • step S806 m ⁇ 4W (step S807; Yes)
  • step S820 the process exits from the repetition and proceeds to step S820; otherwise (step S807; No)
  • step S808 No
  • step S808 The process proceeds to the next repetition (step S808).
  • step S804 determines whether F [i_l]> F [i] and F [i] is F [i + 1], that is, a local minimum. It is determined whether or not there is (step S809). If so (step S809; Yes), IX [m / (4W)] IX [m / (4w)] + i, IY [m / (4W)] IY [m / (4w)] + F [i ] Is executed (step S810), and the x-coordinate value and y-coordinate value of the minimum point are added up. Then, go to step S806.
  • step S803 to step S808 when the repetition (step S803 to step S808) is simply completed, the total number of detected local maximum points and local minimum points is a small force, so the shape of the line is neither a pennant nor a flag.
  • the output destination may be processed by another functional unit as an information storage location in the RAM 103, or may be presented to the user.
  • Step S803 to Step S808 the value of i is decreased by 1, while the value of m is increased by 1.
  • the information on the side with the larger value of i (the right side, that is, the nearest side) is accumulated in the dull, and the subscripts for AX, AY, IX, and IY are stored.
  • the large element stores information on the side of the graph where the value of i is small (right side, that is, the past side). Therefore, after step S822,
  • the center of gravity 961 of the past maximum point is at the midpoint of the maximum points 901 and 911, and the center of gravity 971 of the most recent maximum point is at the midpoint of the maximum points 921 and 931.
  • the center of gravity 966 is at the midpoint of the maximum points 906 and 916, and the center of gravity 976 of the nearest pole / J and point is at the midpoint of the maximum points 926 and 936.
  • the position of the center of gravity 961, 966, 971, 976 determines the pennant force, the flag force, and whether it is up or down or horizontal.
  • Step S823; No the time change of the price movement will not be severe.
  • step S827 after outputting "normal” in step S831.
  • step S811 instead of proceeding to step S811 from step S831 force, in the case of "normal” Judgment of “up”, “down” and “horizontal” may not be performed.
  • the feature of the line shape is extracted using the average position (center of gravity) of the local maximum point and the local minimum point.
  • the similarity between a plurality of lines is desired. For example, when considering an application in which a user inputs changes in stock prices over time using a touch pen and searches for stocks similar to those changes, the features extracted as described above are appropriate. It is necessary to obtain the similarity of the line shape by using it for cutting. In the following, a technique for obtaining the similarity of such line shapes will be described.
  • the X axis is set from right to left in the horizontal direction
  • the y axis is set from bottom to top in the vertical direction
  • the lines to be compared are in the X-y plane.
  • interpolation may be appropriately performed (a method such as simply connecting with a line segment or spline interpolation may be employed). And even if you select the most recent one (the one on the rightmost side) of multiple lines, it's okay.
  • the horizontal expansion or reduction is typically performed by reducing both lines, which may be performed on both lines.
  • interval i kW / 320, kW / 320 + 1, ⁇ ⁇ ⁇ , (k + l) W / 320
  • -Deformation may be performed so that the average value of F [i] for 1 is obtained.
  • each of the uncompressed lines F and G of the two lines f and g is converted into "flag", “pennant”, “non-flag” and non-pennant (hereinafter referred to as "normal") by the technique of the above embodiment. It is desirable to determine in advance whether this is the case, and to calculate the degree of similarity using that information.
  • This weight parameter is a constant N (0 to N to W) depending on whether the shape of the original lines F and G before conversion of the two lines f and g is “flag”, “pennant”, or “normal”. It is assumed that the value has the following relationship. Here, it is desirable that the width before reduction corresponding to W-N corresponds to Z in the above embodiment.
  • FIG. 11 is a schematic diagram showing a schematic configuration of a line shape processing apparatus that realizes such an embodiment. This will be described below with reference to this figure. Of the elements in this figure, those shown in Figure 2 Elements having the same functions as those described above are denoted by the same reference numerals, and elements having different functions will be described for easy understanding.
  • the line shape processing apparatus 201 includes a candidate storage unit 991, a similarity extraction unit 9 in addition to the above embodiment.
  • Candidate storage unit 991 stores in advance data of the shapes of a plurality of lines G, ..., G
  • the similarity extraction unit 992 uses the detection results of “flag”, “pennant”, and “normal” performed by the detection unit 207 for the shape of the line F input by the user, and weights as described above. Based on the similarity calculation processing performed, the shape of the line F stored in the coordinate storage unit 203 is contrasted to sort a plurality of lines G 1,. Total
  • a predetermined number of lines having a small value are left, and a line similar to the line F is selected from a plurality of lines G,. Extract the number.
  • the presentation unit 993 presents the line information up to a predetermined rank, extracted as being similar to the line F, to the user, and prepares for subsequent processing. For example, along with the extracted line, summary information of stock issues associated with the line is displayed. Then, when the user selects one of these extracted ones, detailed information on the stock brands associated with the selected line is presented.
  • the similarity of the graphs can be calculated based on notable items, and the user can obtain the desired values based on fluctuations in the stock prices. This makes it easier to search for stocks.
  • the line shape processing apparatus suitable for detecting the feature of the end portion of the line shape and determining the similarity of the line shape based on the feature, It is possible to provide a processing method, a computer-readable information recording medium in which a program for realizing these in a computer is recorded, and the program.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

 線の形状の終端部分の特徴を検出するため、線形状処理装置(201)において、座標記憶部(203)は、ユーザから入力された線の形状について当該線に含まれる点の第1座標値に当該点の第2座標値を対応付けて記憶し、検出部(207)は、記憶された線の形状に含まれる点の第1座標値および第2座標値から、当該ユーザから入力された線の終端部分の形状が、(a)振動しながら振動幅を狭めていくペナント形状、(b)略一定の振動幅で振動するフラッグ形状、(c)前記(a)(b)以外の形状であるノーマル形状、のいずれであるかを、当該第2座標値の極値の分布から検出する。

Description

明 細 書
線形状処理装置、線形状処理方法、情報記録媒体、ならびに、プロダラ ム 技術分野
[0001] 本発明は、線の形状の終端部分の特徴を検出し、当該特徴に基づきつつ線の形 状の類似を判断したりするのに好適な線形状処理装置、線形状処理方法、これらを コンピュータにて実現するプログラムを記録したコンピュータ読取可能な情報記録媒 体、ならびに、当該プログラムに関する。
背景技術
[0002] 従来から、タツチパネルやマウス等、所定の 2次元領域内の点の位置を 2つの座標 値 (典型的には、 X座標と y座標の値。)で指定する指示入力を受け付けて、この座標 値を処理する技術が提案されている。このような技術については、たとえば、以下の 文献に開示されている。
特許文献 1 :特開 2003— 114760号公報
[0003] [特許文献 1]には、マウスポインタの位置を移動させる際に、単位操作量あたりのポ インタの移動距離より小さい単位操作量あたりの移動距離でポインタを移動制御する ことによって、ポインタの精密な位置移動を行う技術が開示されている。一方で、この ようなタツチパネルやマウスを用いた座標値の入力によって、各種の曲線を画面に描 く技術も広く用いられている。
[0004] また、時間の経過にともなう株価や体重の変化などを、時間を横軸 (X座標)、その 時点での値を縦軸 (y座標)とするグラフで描くことも、広く行われている。このグラフ等 の線図では、線に含まれる点の位置が第 1座標値と第 2座標値 (本例では、それぞれ X座標値と y座標値に対応する。 )によって指定され、 y = x)のような陽関数の形式で 、第 1座標値 Xに対して第 2座標値 yが唯一つに決まる。
発明の開示
発明が解決しょうとする課題
[0005] したがって、このような線の形状が得られた場合に、線の形状を的確に分類したり、 その分類の結果によって既存の線の形状との類似度を算出して入力された線の形 状に類似する線をユーザに提示したり選択させたりするのに好適な技術が強く求め られている。
[0006] 本発明は、上記の課題を解決することを課題とするものであって、線の形状の終端 部分の特徴を検出し、当該特徴に基づきつつ線の形状の類似を判断したりするのに 好適な線形状処理装置、線形状処理方法、これらをコンピュータにて実現するプログ ラムを記録したコンピュータ読取可能な情報記録媒体、ならびに、当該プログラムを 提供することを目的とする。
課題を解決するための手段
[0007] 以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する
[0008] 本発明の第 1の観点に係る線形状処理装置は、第 1座標軸方向の座標値である第 1座標値と、第 1座標軸とは異なる方向の座標軸である第 2座標軸方向の座標値であ る第 2座標値と、の対により、位置が指定される 2次元領域内に配置される線の形状 を処理し、座標記憶部、検出部を備え、以下のように構成する。
[0009] すなわち、座標記憶部は、ユーザ力 入力された線の形状について当該線に含ま れる点の第 1座標値に当該点の第 2座標値を唯一つ対応付けて記憶する。
[0010] ここで、座標記憶部は、典型的には RAM (Random Access Memory)内に用意され る。第 1座標値と第 2座標値との対を、第 1座標値が同じものが存在しないように、そ のまま記憶することとしても良いし、第 1座標値が整数で表現される場合には、第 1座 標値をインデックスとする配列に第 2座標値を記憶することにより、当該第 1座標値に 対して最後に入力された第 2座標値のみを記憶することとしても良い。
[0011] 一方、検出部は、記憶された線の形状に含まれる点の第 1座標値および第 2座標 値から、当該ユーザから入力された線の終端部分の形状が、
(a)振動しながら振動幅を狭めていくペナント形状、
(b)略一定の振動幅で振動するフラッグ形状、
(c)上記(a) (b)以外の形状であるノーマル形状
のいずれであるかを、当該第 2座標値の極値の分布から検出する。 [0012] ペナント形状、フラッグ形状等は、株価の変動において広く用いられる概念であり、 ユーザから入力された線の終端部分の形状がいずれであるかが重要視されることか ら、検出部においてこれを検出するものである。この際に、本発明においては、線の 形状における第 2座標値の極値 (極大値もしくは極小値)の分布を参照して、判断を 行う。
[0013] 本発明によれば、ユーザにより入力された線の形状の終端部分の形状が、振動し ながら振動幅を狭めてレ、くペナント形状、略一定の振動幅で振動するフラッグ形状、 これら以外の形状であるノーマル形状のいずれであるかをユーザが知ることができる ようになる。
[0014] また、本発明の線形状処理装置は、以下のように構成することができる。
[0015] すなわち、座標記憶部は、当該線に含まれる点の第 1座標値を添字とする配列の 要素の値を当該点の第 2座標値とすることにより、当該線に含まれる点の第 1座標値 に当該点の第 2座標値を唯一つ対応付けて記憶する。
[0016] 上記のように、第 1座標値と第 2座標値が整数値で表現可能な場合には、第 1座標 値を添字とする配列に第 2座標値を格納することで、容易に第 1座標値が重複しない ような座標値の対を記憶することができるようになる。
[0017] 一方、検出部は、記憶された線の形状に含まれる点の第 1座標値および第 2座標 値について、配列の添字である第 1座標値を、その最大値から最小値の方向へ走査 して、当該第 1座標値の直前に対応付けられて記憶される第 2座標値と、当該第 1座 標値の直後に対応付けられて記憶される第 2座標値と、当該第 1座標値に対応付け られて記憶される第 2座標値と、を比較して、当該第 2座標値が極大となる点の座標 と、極小となる点の座標と、をそれぞれ 2W (W≥l)個検出しようとし、それぞれ 2W個 検出できた場合、当該極大となる点のうち先に検出された W個の重心の第 2座標値と 当該極小となる点のうち先に検出された W個分の重心の第 2座標値との差、および、 当該極大となる点のうち後に検出された W個の重心の第 2座標値と当該極小となる点 のうち後に検出された W個の重心の第 2座標値との差を比較して、当該線の形状を、 (a)当該始端側の差と当該終端側の差とが、所定の誤差範囲で等しければ、略一 定の振動幅で振動するフラッグ形状と検出し、 (b)上記 (a)でなぐかつ、当該始端側の差が当該終端側の差より大きければ、振 動しながら振動幅を狭めてレ、くペナント形状と検出し、
(c)上記(a) (b)でない、もしくは、当該極大となる点と当該極小となる点とがそれぞ れ 2W個検出できなければ、ノーマル形状と検出する。
[0018] 本発明は上記発明の好適実施形態に係るものであり、フラッグ形状、ペナント形状 、ノーマル形状を区別するための、具体的な手法を実現するものである。
[0019] 本発明によれば、「線分に含まれる点には、第 1座標値を同じくする点がない」という 形状に特有の制約を有する線分を、自然に、かつ、効率良く記憶することができるほ か、「第 2座標値が極大もしくは極小となる点」を、配列の添字である第 1座標値を走 查するだけで、容易に効率良く検出することができるようになる。
[0020] また、本発明の線形状処理装置は、入力受付部を備え、入力受付部は、当該 2次 元領域内に配置される線に含まれる点の位置を指定する第 1種指示入力と、当該第 1種指示入力とは異なる第 2種指示入力と、を受け付けるように構成することができる
[0021] 特に、本発明の線形状処理装置において、入力受付部は、当該画面の表面に対 する押圧操作を、当該押圧操作された位置に対応付けられる当該 2次元領域内の位 置を指定する第 1種指示入力として受け付け、当該画面の表面からの離脱操作を、 第 2種指示入力として受け付けるように構成することができる。
[0022] 株価変動のグラフのように、横方向に時間軸をとつたグラフのような線図の座標値を 処理する場合には、座標系として直交座標系を用い、第 1座標値として X座標の値、 第 2座標値として y座標の値をそれぞれ用いるのが典型的である。ただし、用途によ つて、 X座標や y座標を交換したり、斜交座標や極座標を採用したりしても良い。たと えば、円グラフを描く場合には、第 1座標値として角度、第 2座標値として半径を採用 すること力 Sできる。
[0023] マウスを移動させることによって画面内でマウスポインタを移動させるような入力機 器を採用する場合には、マウスのボタンを押したまま移動させるドラッグ操作の間だけ 、当該マウスポインタの画面内における位置を指定する第 1種指示入力が順次入力 されることとするのが典型的である。 [0024] この場合、それ以外の操作、たとえば、マウスのボタンを離したり、マウスのボタンを 離したままマウスを移動させたりする操作の間は、第 2種指示入力が順次入力される こととなる。
[0025] 一方、タツチパネルのような入力機器を採用する場合には、タツチパネルに触れた( 押圧操作した)ままタツチペンを移動させた間の軌跡に含まれる点の位置を指定する 第 1種指示入力が順次入力されることとするのが典型的である。
[0026] この場合、それ以外の操作、たとえば、タツチペンをタツチパネルから離す操作等が 、第 2種指示入力に対応付けられることとなる。
[0027] この際に、当該第 1種指示入力の受付が続いて行われた場合、当該先の第 1種指 示入力に指定される開始位置の第 1座標値から当該後の第 1種指示入力に指定さ れる終了位置の第 1座標値までの間に含まれる第 1座標値のそれぞれについて、当 該開始位置と当該終了位置とを結ぶ線分に含まれ当該第 1座標値を有する点の第 2 座標値を、当該第 1座標値に対応付けて、座標記憶部に記憶させるようにすることが できる。
[0028] 先の第 1指示入力に指定される座標を (X ,y )、後の第 1指示入力に指定される座標
1 1
を (X
2,y )としたとき、 Xと Xが隣り合う (Xと Xとの相違が 1)とは限らないため、 (X ,y )と (X 2 1 2 1 2 1 1 2
,y )とを結ぶ線分を想定する。この線分内に含まれる点の位置 (x,y)は、以下のように
2
表現される。
(X, (X— x) ' y /(χ -χ ) + (x-x ) - y /{χ— x ))
2 1 2 1 1 2 2 1
ただし、 Xは Xと Xの間にある。
1 2
[0029] このようにして得られる (x,y)の Xを適切な精度で、たとえば、
(a) x < Xの場合は、 Xの初期値を Xとして Xに至るまで Xを 1ずつ増やす。
1 2 1 2
(b) x < Xの場合は、 Xの初期値を Xとして Xに至るまで Xを 1ずつ減らす。
2 1 1 2
(c) x = xの場合は、 (x,y) = (x ,y )とする。
1 2 2 2
のように変化させ、得られる (x,y)について、 Xに yを対応付けて記憶部に記憶させる。 このとき、過去に同じ第 1座標値 Xについて何らかの第 2座標値が記憶されていたとし ても、これは上書きして、常に最新の第 2座標値 yを記憶させるのである。
[0030] この際に、座標記憶部に第 1座標値に対応付けられて記憶された第 2座標値を、当 該第 1座標値に対する所定の順序で取得し、当該 2次元領域内の当該取得された第 2座標値が対応付けられる第 1座標値と当該第 2座標値とにより指定される位置に対 応付けられる画面内の位置に点を描画することにより、当該 2次元領域内に配置され る線の形状を表示するようにしても良い。
[0031] 第 1座標値として X座標値を、第 2座標値として y座標値を、それぞれ採用した場合 には、 X座標値を昇順に取得してそれぞれの X座標値に対する y座標値を取得しても 良レ、し、 X座標値を降順に取得してそれぞれの X座標値に対する y座標値を取得して も良い。
[0032] このようにして得られる (x,y)に点を描画すると、線の形状が点線 (破線)で描かれる こととなり、その線の形状は、 y = x)のように陽関数として表示できるようなグラフをな すこととなる。
[0033] 本発明によれば、簡単な操作によって、容易に 2種類の指示入力を行うことができ るようになり、ユーザは、第 1種指示入力を用いて、直観的に線の形状を入力すること ができるようになる。特に、陽関数のグラフ形状をなすような線図を構成する点の座標 値を入力させて処理する際に、ユーザの入力を容易にさせることができるようになる。
[0034] また、本発明の線形状処理装置は、削除部をさらに備え、以下のように構成するこ とができる。
[0035] すなわち、削除部は、当該第 1種指示入力の受付が続いて所定の回数行われ、当 該続いて行われた第 1種指示入力の互いに隣り合う第 1種指示入力の対のすべてに おいて、当該対の先の第 1種指示入力に指定される位置から当該対の後の第 1種指 示入力に指定される位置へのベクトルと、当該 2次元領域において当該第 1座標値 のみを当該所定の順序で変化させる方向のベクトルと、のなす角が所定の鈍角以上 である場合、当該続いて行われた第 1種指示入力のそれぞれに指定される第 1座標 値の最小値から最大値までの範囲に含まれる第 1座標値に対応付けられて座標記 憶部に記憶される第 2座標値の値を、座標記憶部から削除する。
[0036] たとえば第 1座標値が横方向の X座標であり、第 2座標値が縦方向の Υ座標であり 、 X座標が増加する方向が左から右への向きであるとすると、「第 1座標値のみを所定 の順序で変化させる方向のベクトル」とは、左から右へ向力、うべクトノレである。一方、 先の位置から後の位置へのベクトルとは、タツチペンやマウスが移動した方向を示す ベクトルである。
[0037] したがって、これらのベタトノレが所定の鈍角をなす、とは、タツチペンやマウスを概ね 右から左へ移動した場合に相当する。
[0038] すなわち、本発明によれば、タツチペンやマウスを概ね左から右へ移動した場合に は、当該区間について線の形状が入力され、概ね右から左へ移動した場合には、当 該区間の線の形状が削除されるのである。
[0039] たとえばタツチペンの状態を一定時間間隔で監視してこの状態から指示入力を得 る場合には、「第 1種指示入力が続いて所定の回数行われる」とは、タツチペンでタツ チパネルの表面を一定時間以上なぞり続けた場合に相当する。
[0040] また、第 1座標値として X座標値を採用し、 Xが増加する順序に点を描画する場合に は、「2次元領域において第 1座標値のみを所定の順序で変化させる方向」とは、 X軸 の正の方向を意味する。
[0041] そして、 M回続いて行われた第 1種指示入力に指定される座標が時間順に
x ,y ), · · · , (x ,y
1 1 M M
であるときに、 i = 1 , 2, · · · , M-lのすべてについて、方向べクトノレ
—x ,y -y )
i+l i i+l i
力 軸正の方向と鈍角 Θ以上をなす、すなわち、
X く X 力つ | (y - y )/(x -x )|≤tan θ
i+l i i+l i i+l i
のとき、削除を行うこととなる。
[0042] たとえば、 X軸が画面の水平方向に配置され、 X軸の正の向きが左から右であるとき 、グラフなどの線の形状を描く場合には、ユーザはできるだけ左から右へタツチペン を移動させれば良レ、。このとき、操作に少々の誤差があり、少しだけ右から左へタツチ ペンが逆行したとしても、線の形状はタツチペンの移動の履歴に合わせて決定される
[0043] し力、しながら、タツチペンを右から左へ水平に一定時間以上移動させると、その移 動の開始位置の X座標から終了位置の X座標までの間に含まれる線の一部が消去さ れるのである。 [0044] 削除の手法としては、 RAM内に座標値を記憶する際に、ありえない座標値、たとえ ば、 2次元領域の外側に相当する座標値等を記憶させたり、各第 2座標値を記憶す る際に、当該第 2座標値が削除されているか否力を表すフラグ情報を同時に記憶す ることとしても良レ、。
[0045] 本発明によれば、入力されたグラフ等の線の形状の一部を消去して、分断された線 の形状を描いたり、不要な区間を削除したりするような線の形状の編集が容易にでき るようになる。
[0046] 本発明によれば、簡単な操作によって、ユーザは線の形状を入力したり、既に入力 した線の形状を削除したりできるようになる。
[0047] また、本発明の線形状処理装置において、検出部により、当該線の終端部分の形 状が、ペナント形状もしくはフラッグ形状であることが検出された場合、検出部は、当 該極大となる点の始端側半分の重心の第 2座標値と当該極小となる点の始端側半分 の重心の第 2座標値との和、当該極大となる点の終端側半分の重心の第 2座標値と 当該極小となる点の終端側半分の重心の第 2座標値との和を比較して、
(P)当該始端側の和と当該終端側の和とが、所定の誤差範囲で等しければ、水平 と、
(q)上記 (P)でなぐかつ、当該始端側の和が当該終端側の和より小さければ、上 昇と、
(r)上記 (p) ( でなければ、下降と、
当該線の形状をさらに検出するように構成することができる。
[0048] 本発明は上記発明の好適実施形態に係るものであり、株価変動の解析においては 、フラッグ形状やペナント形状が上昇、下降、水平のいずれに相当するかが極めて 重要な意味を持つ場合も多いことから、検出部においてこれを検出するものである。 この際に、本発明においては、線の終端部分の前半部分の極値の平均と、後半部分 の極値の平均と、を対比して、判断を行う。
[0049] 本発明によれば、ユーザにより入力された線の形状の終端部分の形状が、上昇、 下降、水平のいずれであるかをユーザが知ることができるようになる。
[0050] また、本発明の線形状処理装置は、候補記憶部、類似抽出部、提示部をさらに備 え、以下のように構成することができる。
[0051] すなわち、候補記憶部は、あら力じめ用意された複数の線のそれぞれの形状につ いて、当該線に含まれる点の第 1座標値に当該点の第 2座標値を対応付けて記憶す る。
[0052] 上記の例でいえば、ユーザが入力した株価変動のグラフとは別に、あらかじめ巿況 力 得られた各株式の株価変動のグラフを用意しておくためものである。
[0053] 一方、類似抽出部は、候補記憶部に記憶された複数の線のそれぞれの形状と、座 標記憶部に記憶された線の形状と、の類似度を計算し、当該複数の線のうち、当該 計算された類似度が小さいものを候補として抽出する類似抽出部であって、当該類 似度が計算される対象となる 2つの線について、同じ第 1座標値に対してとる第 2座 標値の差分の自乗に、当該 2つの線の終端部分の形状がペナント形状、フラッグ形 状、ノーマル形状のいずれの組み合わせとなるかによつて決定される重みを乗じた値 の総和を当該類似度とする。
[0054] 上記の例でいえば、既存の株価変動とユーザが入力した株価変動との単なる差分 自乗和によって類似度を決定するのではなぐ終端部分の形状がペナント形状、フラ ッグ形状、ノーマル形状のいずれの組み合わせとなるかによつて、差分自乗値に対 する重みを決定して、類似度を計算するのである。これにより、特にユーザが重要視 すると考えられる終端部分の形状に基づいて、類似度を決めることができる。
[0055] さらに、提示部は、抽出された線の形状を当該ユーザに提示する。
[0056] 線の形状としては、種々のものを考えることができる力 たとえば、取引の対象となる 商品や役務、証券、債権などの価値、たとえば、株価の変動を表すグラフを採用する こと力 Sできる。
[0057] このとき、本発明の線形状処理装置において、当該あらかじめ用意された複数の線 のそれぞれは、複数の取引対象のうち当該線に対応付けられる取引対象の価値の 時間経過による変化を表し、当該ユーザから入力された線の形状は、ユーザが検索 の対象とする取引対象の価値の時間経過による変化を、過去から現在へ向けて入力 した形状であり、提示部は、抽出された線の形状と、当該線に対応付けられる取引対 象の情報と、を当該ユーザに提示するように構成することができる。 [0058] すなわち、ユーザが入力した線の形状に類似する形状を有する線の形状が抽出さ れるので、上記の例では、提示された線の形状をユーザが見ることによって、ユーザ は、所望の株価変動の形を有する株式の情報を得ることができるようになる。
[0059] また、本発明の線形状処理装置において、当該第 1座標値は整数により表現され、 当該描画される点の第 1座標値と、その直前に描画された点の第 1座標値と、が隣り 合う場合、当該描画される点と、その直前に描画された点と、を結ぶ線分をさらに描 画するように構成することができる。
[0060] 本発明は、上記発明の好適実施形態に係るものであり、上記発明では、 y = f(x)に 相当するグラフを、その X座標値と y座標値を有する点の点列として表示していたが、 本実施形態では、描画すべき 2つの点の X座標が十分に近い場合、たとえば、画面 の表示精度(ドット単位)で隣り合う場合に、これら 2つの点の間に線分を描画すること によって、グラフを線図として描くことができるようにするものである。
[0061] なお、 X座標が隣り合わない場合は、その間には線分を描画しないから、 y = x)の X 座標のうち、一部の区間については y座標が定義されないような、分断されたグラフを 苗くこともできる。
[0062] 本発明によれば、入力された点の位置を適切に結ぶグラフ等の線の形状を描き、 各種のグラフ等を表示させることが容易にできるようになる。
[0063] また、本発明の線形状処理装置は、表示部をさらに備え、座標記憶部は、当該第 1 座標値をインデックスとする配列の要素として当該第 2座標値、もしくは、当該第 1座 標値に対応付けられるべき第 2座標値は削除されている旨を示す値を記憶し、表示 部は、当該配列のインデックスが当該所定の順序に変化するように当該配列の要素 を走査して、当該第 1座標値に対応付けられる当該第 2座標値を取得して、当該第 1 座標値と当該第 2座標値とにより指定される位置を通過する曲線を表示するように構 成すること力 Sできる。
[0064] 多くの情報処理装置においては、第 1座標値と第 2座標値はいずれも整数で入力 され、所定の領域として、たとえば、幅 320 X高 240などの大きさを採用した場合は、 第 2座標値のとりうる値は 0〜239の 240通りで、 1バイトで表現でき、第 1座標値のと りうる値は 0〜319の 320通りである力ら、配列全体のサイズは 320バイトとすれば良 レ、。配列の要素の値 (すなわち、第 2座標値)として 255を記憶させた場合には、その 要素のインデックスである第 1座標値では、グラフは描かれなレ、(点が削除されている )として扱うことが可能である。
[0065] 本発明によれば、各第 1座標値に対して最後に記憶された第 2座標値を唯一の値 として管理するのに容易なデータ構造を実現して、処理を高速に行うことができる。
[0066] 本発明のその他の観点に係る線形状処理方法は、第 1座標軸方向の座標値であ る第 1座標値と、第 1座標軸とは異なる方向の座標軸である第 2座標軸方向の座標値 である第 2座標値と、の対により、位置が指定される 2次元領域内に配置される線の 形状を処理し、ユーザから入力された線の形状について当該線に含まれる点の第 1 座標値に当該点の第 2座標値を唯一つ対応付けて記憶する座標記憶部、入力受付 部、記憶部、検出部を備える線形状処理装置にて実行され、入力受付工程、記憶ェ 程、検出工程を備え、以下のように構成する。
[0067] すなわち、入力受付工程では、入力受付部が、当該 2次元領域内に配置される線 に含まれる点の位置を指定する第 1種指示入力と、当該第 1種指示入力とは異なる 第 2種指示入力と、を受け付ける。
[0068] 一方、当該第 1種指示入力の受付が続いて行われた場合、記憶工程では、記憶部 、当該先の第 1種指示入力に指定される開始位置の第 1座標値力 当該後の第 1 種指示入力に指定される終了位置の第 1座標値までの間に含まれる第 1座標値のそ れぞれについて、当該開始位置と当該終了位置とを結ぶ線分に含まれ当該第 1座 標値を有する点の第 2座標値を、当該第 1座標値に対応付けて、座標記憶部に記憶 させる。
[0069] さらに、検出工程では、検出部が、記憶された線の形状に含まれる点の第 1座標値 および第 2座標値から、当該ユーザから入力された線の終端部分の形状が、
(a)振動しながら振動幅を狭めていくペナント形状、
(b)略一定の振動幅で振動するフラッグ形状、
(c)上記(a) (b)以外の形状であるノーマル形状
のいずれであるかを、当該第 2座標値の極値の分布から検出する。
[0070] 本発明のその他の観点に係るプログラムは、コンピュータを上記の線形状処理装置 として機能させ、コンピュータに上記の線形状処理方法を実行させるように構成する
[0071] また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディ スク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコン ピュータ読取可能な情報記憶媒体に記録することができる。
[0072] 上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ 通信網を介して配布 ·販売することができる。また、上記情報記憶媒体は、コンピュー タとは独立して配布 ·販売することができる。
発明の効果
[0073] 本発明によれば、線の形状の終端部分の特徴を検出し、当該特徴に基づきつつ線 の形状の類似を判断したりするのに好適な線形状処理装置、線形状処理方法、これ らをコンピュータにて実現するプログラムを記録したコンピュータ読取可能な情報記 録媒体、ならびに、当該プログラムを提供することができる。
図面の簡単な説明
[0074] [図 1]本発明に係る線形状処理装置が実現される一般的な情報処理装置の概要構 成を示す説明図である。
[図 2]本実施形態に係る線形状処理装置の概要構成を示す説明図である。
[図 3]本実施形態の線形状処理装置にて実行される座標値入力表示処理の制御の 流れを示すフローチャートである。
[図 4]押圧操作されたタツチペンの移動の軌跡と、これに対して表示されるグラフ線の 形状の様子を示す説明図である。
[図 5]タツチペンの移動の軌跡と、画面に表示される線の形状との関係を説明する説 明図である。
[図 6]削除条件が成立するか否力を判断し、成立した場合に実行される処理の詳細 な制御の流れを示すフローチャートである。
[図 7]タツチペンを右から左に移動する操作をユーザが行った場合に入力される線の 形状を示す説明図である。
[図 8]ペナントとフラッグの形状を表す説明図である。 園 9]線の形状にペナントやフラッグの形状があるか否力を検出するための検出処理 の制御の流れを示すフローチャートである。
園 10]極大点、極小点および各重心の位置の関係を示す説明図である。
園 11]本実施形態に係る線形状処理装置の概要構成を示す説明図である。
符号の説明
101 情報処理装置
102 CPU
103 RAM
104 ROM
105 入力装置
106 画像処理部
107 液晶ディスプレイ
108 音声処理部
109 スピーカ
110 カセットリーダ
111 ROMカセット
201 線形状処理装置
202 入力受付部
203 座標記憶部
204 履歴記憶部
205 表示部
206 削除部
207 検出部
401 ジグザグ泉
402 重複部分
403 グラフの ,線
404 平らな線
405 グラフの ,線 601 消去指示線
603 グラフの ,線
901 極大点
906 極小点
911 極大点
916 極小点
921 極大点
926 極小点
931 極大点
936 極小点
961 過去の極大点の重心
966 過去の極小点の重心
971 直近の極大点の重心
976 直近の極小点の重心
991 候補記憶部
992 類似抽出部
993 提示部
発明を実施するための最良の形態
[0076] 以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム 用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に 説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものでは なレ、。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なもの に置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の 範囲に含まれる。
実施例 1
[0077] 図 1は、本発明に係る線形状処理装置が実現される一般的な情報処理装置の概 要構成を示す説明図である。以下、本図を参照して説明する。
[0078] 本情報処理装置 101は、 CPU (Central Processing Unit) 102と、 RAM (Random A ccess Memory) 103と、 ROM (Read Only Memory) 104と、入力装置 105と、画像処 理部 106と、液晶ディスプレイ 107と、音声処理部 108と、スピーカ 109と、カセットリ ーダ 110と、を備える。
[0079] CPU 102は、本情報処理装置 101の各部の制御を行う。 RAM 103の記憶域、 ROM 104の記憶域、カセットリーダ 110に揷入された ROMカセット 111の記憶域 は、いずれも、 CPU 102が管理する 1つのメモリ空間にマップされており、 CPU 1 02は、それぞれの記憶域がマップされるアドレスを読み出せば、それぞれに記憶さ れている情報を取得することができる。また、 RAM 103の記憶域には、書き込みも 可能である。
[0080] このほか、 CPU 102が画像処理部 106や音声処理部 108に対して各種の指示を 行う際や、これらのほか、入力装置 105から情報を取得する際の、窓口となるレジスタ も、当該メモリ空間にマップされており、所定のアドレスにコマンドを表すデータ書き 込みを行えば指示をすることができ、所定のアドレスからデータを読み出せば、情報 を取得すること力 Sできる。
[0081] 情報処理装置 101の電源が投入されると、 CPU 102は、カセットリーダ 110に揷 入された ROMカセット 111の記憶域がマップされたアドレスから開始されるプロダラ ムを実行する。 RAM 103は、一時的な記憶域として種々の目的に使用される。 RO M 104には、情報処理装置 101が提供する BIOS(Basic Input/Output System)ル 一チンが記録されており、 ROMカセット 111内のプログラムから、適宜呼び出すこと ができる。
[0082] 入力装置 105は、方向を表す指示入力を受け付けるボタン、各種の操作を区別す る指示入力を受け付けるボタンからの入力をメモリ空間にマップされたレジスタに反 映させるほか、液晶ディスプレイ 107の表面に貼り付けられたタツチパネルが押圧さ れているか否か、および押圧されているときのその座標の入力も受け付ける。
[0083] 液晶ディスプレイ 107は、画像処理部 106によって管理される。メモリ空間にマップ されたタイルを記憶するための記憶領域や、オブジェクト属性メモリを記憶するための 記憶領域が用いられる。 CPU 102が、計算により生成した値を書き込んだり、カセ ットリーダ 110に揷入された ROMカセット 111から適切に情報を転送すると、液晶デ イスプレイ 107にスプライト画像が表示されることとなる。
[0084] このほか、液晶ディスプレイ 107に表示される画像を画素単位で管理するフレーム バッファを利用することもでき、液晶ディスプレイ 107においてある色をある位置に表 示したい場合には、フレームバッファ内のその位置に相当する場所にその色に相当 する数値を書き込むと、適切なタイミングで液晶ディスプレイ 107にビットマップ画像 が表示される。
[0085] たとえば、 16ビットカラー表示 320 X 200ドットの液晶ディスプレイ 107の場合、画 素 1つ分の色は 2バイトで表現される。そこで、 320 X 200個の要素(各 2バイト)を持 つ配列をフレームバッファとして RAM 103内に用意し、当該配列の要素を 1対 1に 液晶ディスプレイ 107の画素に対応させる。当該配列の要素に色を表す 16ビットの 値を書き込み、適切なタイミングで (たとえば、垂直同期割り込みが発生する周期で) フレームバッファの内容を液晶ディスプレイ 107に反映させるように、画像処理部 106 にて制御を行う。
[0086] 液晶ディスプレイ 107の数は 1つまたは複数とするのが一般的であり、複数の場合 には、一方の液晶ディスプレイ 107は表示専用とし、他方の液晶ディスプレイ 107に はタツチパネルが貼り付けられているように構成しても良い。この場合、タツチペンで タツチパネルを押圧操作することにより、対応する液晶ディスプレイ 107の位置を表 す座標値が、入力される。
[0087] なお、本情報処理装置 101は、典型的な携帯ゲーム装置として利用されるものであ るが、本発明の技術は、マウスおよびキーボードと CRT (Cathode Ray Tube)を用い て入力と出力を行うような汎用コンピュータで動作する各種のアプリケーションに適用 することも可能であり、そのような実施形態も本発明の範囲に含まれる。
[0088] (基本的な構成)
図 2は、本実施形態に係る線形状処理装置の概要構成を示す説明図である。以下 、本図を参照して説明する。
[0089] 本実施形態に係る線形状処理装置 201は、入力受付部 202、座標記憶部 203、履 歴記憶部 204、表示部 205、削除部 206、検出部 207を備える。
[0090] 入力受付部 202は、液晶ディスプレイ 107の表面に貼り付けられたタツチパネルと タツチペンの組み合わせによって実現される。 CPU 102がメモリ空間にマップされ た所定のレジスタの値を検査すると、タツチペンでタツチパネルが押圧操作されてレ、 るカ それとも解放されている力、の情報や、押圧操作されている場合にタツチパネ ルにおけるその押圧操作されている座標が、直交座標系で得られる。
[0091] ここで、本実施形態では、横軸に時間変化、縦軸に株価や体重などの値をとるダラ フの線図を入力したい場合を考える。したがって、 X座標が第 1座標値に、 y座標が第 2座標値に、それぞれ相当する。上記の例では、 X座標としてとりうる値は 0〜319、 y 座標としてとりうる値は 0〜239である。これらの数値は、適用分野および情報処理装 置 101の仕様に応じて、適宜変更が可能である。
[0092] 一方、座標記憶部 203は、グラフの線図に含まれる点の X座標値と y座標値の組合 せを記憶するものであり、履歴記憶部 204は、座標値の入力の履歴を記憶するもの であり、 CPU 102の制御の下、典型的には RAM 103によって実現される。
[0093] また、表示部 205は、グラフの線図を表示するものであり、 CPU 102の制御の下、 液晶ディスプレイ 107によって実現され、削除部 206は、座標記憶部 203や履歴記 憶部 204に記憶される情報を適宜管理するもので、 CPU 102が RAM 103と共働 して実現される。
[0094] さらに、検出部 207は、座標記憶部 203に記憶された線の形状が所定の特徴的な 形状を有しているか否かを検出するもので、 CPU 102が RAM 103と共働すること により実現される。
[0095] なお、履歴記憶部 204および削除部 206を用いた処理や、検出部 207を用いた処 理は、適用分野によっては省略することができ、これらを適宜省略した実施形態も、 本発明の範囲に含まれる。
[0096] 図 3は、本実施形態の線形状処理装置にて実行される座標値入力表示処理の制 御の流れを示すフローチャートである。以下、本図を参照して説明する。
[0097] まず、 CPU 102は、 RAM 103内に用意された、座標記憶部 203を初期化し (ス テツプ S301)、履歴記憶部 204を初期化する(ステップ S302)。
[0098] 座標記憶部 203は、 320バイトの配列 Fによって実現される。以下、配列 Fの x番目 の要素を F[x]と表記する。本実施形態では、第 1座標値 Xに対する最新の第 2座標値 yが、配列の x番目の要素 F[x]に記憶される。
[0099] 上記の例では、第 2座標値として有効な値は 0から 239であるため、「第 1座標値 xに 対応する第 2座標値 yは存在せず、第 1座標値 Xの場所でグラフが途切れている」こと を表すために、 255という値を用いる。
[0100] したがって、座標記憶部 203の初期化は、 X = 0, 1,■· - , 319について、 F[x]― 255 の処理を実行することで行う。ここで、「―」は、いわゆる代入を意味する。
[0101] 一方、履歴記憶部 204は、直近に入力された X座標と y座標の組合せを所定の個数
Mだけ、順次記憶するリングバッファとして実現される。
[0102] 当該リングバッファは、次に値を登録すべき場所を記憶する変数 pと、 X座標、 y座標 からなる構造体を要素とする配列 Rと、押圧操作されている旨の座標入力が現在まで に何個連続してされたか(どれだけの時間連続してされた力 に相当する。)を格納 する変数 nと、によって実現する。配歹 IJRの要素の数は M個とする。以下では、配列 R の潘目の要素は R[i]のように表記し、当該要素の X座標、 y座標は、それぞれ、 R[i] .x
, R[i] .yのように表記する。
[0103] したがって、履歴記憶部 204の初期化は、 p— 0, n 0とし、 i— 0, 1, · · ·, M_lに ついて、 R[i].x― -1, R[i] .y― 255のように値を設定することによって実現される。
[0104] このようにして、 RAM 103内に確保された各種の変数領域の初期化を行った後、
CPU 102は、メモリ空間内にマップされた所定のレジスタを参照して、液晶ディスプ レイ 107の表面に貼り付けられたタツチパネルが押圧操作されているか否かを調べる
(ステップ S 303)。
[0105] 押圧操作されている場合 (ステップ S303 ; Yes)、メモリ空間内にマップされた所定 のレジスタを参照して、液晶ディスプレイ 107の表面に貼り付けられたタツチパネルが 押圧操作されている位置の X座標値 aと y座標値 bを取得する(ステップ S304)。すな わち、ステップ S303〜ステップ S304により、第 1種指示入力を受け付けたことになる
[0106] なお、この際に、 X座標値 aや y座標値 bには、符号を反転して定数を加算して向きを 逆向きにしたり、適当な定数で乗除を行って座標値の精度を所望の精度に変更する などの各種の変換処理を行っても良レ、。また、円グラフの形状を描く場合には、 xffi 標値に相当するものは角度、 y座標値に相当するものは中心からの距離とするのが 典型的である。
[0107] そして、 R[p].x a, R[p].y— b, p (p + 1) mod Mを実行して、履歴記憶部 204 のリングバッファに取得された座標値を登録する(ステップ S305)。ここで、 X mod yは 、整数 Xを正整数 yで割った余り(数学的な意味での剰余を意味し、 0≤(x mod y)≤y- 1である。)を意味する。
[0108] なお、マウスを移動させることによって画面内でマウスポインタを移動させるような入 力機器を採用する場合には、マウスのボタンを押したまま移動させるドラッグ操作の 間だけ、当該マウスポインタの画面内における位置が順次入力されることとするのが 好適である。マウスのボタンが押圧されているか否かと、マウスポインタの現在位置と 、の情報を用いれば、ステップ S303〜ステップ S304と同等の処理を行うことができ る。
[0109] さらに、 n— n + 1を実行して (ステップ S306)、押圧操作 (第 1種指示入力)が現在 までに連続してされていることを示す回数をカウントする。ステップ S303以降の処理 は、後述するように、一定の時間おきにされるので、 nの値は、押圧操作が現在までに 連続してされている時間と考えることもできる。
[0110] ついで、 CPU 102は、所定の削除条件が満たされているか否かを判定する(ステ ップ S307)。削除条件が満たされていると、入力された座標値を適宜削除することと なるが、その詳細については後述することとする。また、前述した通り、削除条件を考 慮せず、ステップ S306からステップ S308に直ちに移行するような態様を採用しても 良レ、。そこでここでは、削除条件が満たされていない場合 (ステップ S307 ; No)につ いて説明する。
[0111] 削除条件が満たされていない場合 (ステップ S307 ; No)、 CPU 102は、押圧操作
(第 1種指示入力)が連続してされているか否カ すなわち、 n≥ 2が成立するか否か を判断する(ステップ S308)。
[0112] 成立しない場合 (ステップ S308 ; No)、すなわち、第 2種指示入力に続いて第 1種 指示入力が行われた場合、言い換えれば、タツチパネルから離れていたタツチペン 力 Sタツチパネルに触れたことが検出された場合、 F[a]— bを実行して (ステップ S330) 、押圧操作されている座標の情報を登録し、ステップ S319に進む。すなわち、ステツ プ S330は、過去に入力された線の形状の修正を開始することに相当する。
[0113] 一方、成立する場合 (ステップ S308 ; Yes)、最新の第 1種指示入力により指定され る座標は、
(X ,y ) = (R[(p-1) mod M].x, R[(p-1) mod M].y)
1 1
であり、その直前の第 1種指示入力により指定される座標は、
(X ,y ) = (R[(p-2) mod M].x, R[(p-2) mod M].y)
2 2
であるから、これらの座標値を取得する(ステップ S309)。
[0114] そして、 X = xであるか否かを判定し(ステップ S310)、そうであれば(ステップ S31
1 2
0 ;Yes)、 F[x ]― yを実行して (ステップ S311)、所望の形状の線が通過する点とし
2 2
て第 1座標値 Xに対して最新に入力された第 2座標値 yを、座標記憶部 203に登録
2 2
する。
[0115] 一方、 X≠xである場合(ステップ S310 ; No)、RAM 103に用意された変数領域
1 2
sに対して、 s― sgn(x -X )を実行する(ステップ S312)。ここで、 sgn(z)は、 zが正のと
2 1
きに 1、 zが負のときに 1を返す関数である。
[0116] そして、 RAM 103に用意された変数領域 Xの初期値として Xを設定してから (ステ
1
ップ S313)、以下の処理を繰り返す(ステップ S314)。すなわち、 RAM 103に用意 された変数領域 yに対して
y (X x) 'y /(χ -χ ) + (χ-χ )*y /(χ -χ )
2 1 2 1 1 2 2 1
を実行し (ステップ S315)、 (x ,y )と (x ,y )とを結ぶ線分の第 1座標値カ½であるときの
1 1 2 2
第 2座標値 yの値を求める。
[0117] そして、 F[x] yを実行して (ステップ S316)、所望の形状の線が通過する点として 第 1座標値 Xに対して最新に入力された第 2座標値 yを、座標記憶部 203に登録する
[0118] ついで、 X — X + sを実行し(ステップ S317)、 x≠xの間、ステップ S314〜ステップ
2
S318の処理を繰り返す(ステップ S318)。
[0119] さて、繰り返しが終わったら、ついで、 CPU 102は、 i = 0, 1,…, 319について〖の 値を 1ずつ増やしながら、以下の処理を繰り返す (ステップ S319)。 [0120] まず、 F[i]が有効な y座標値であるか否かを調べる(ステップ S320)。すなわち、本 実施形態では、 0≤F[i]≤239であるか否かを調べる。そして、 F[i]が有効な y座標値 である場合 (ステップ S320 ; Yes)、液晶ディスプレイ 107の 2次元面の各画素に対応 する情報を格納するフレームバッファの、座標 G,F[i])に相当する位置に、点を描画す る情報を書き込む(ステップ S321)。一方、そうでなければ(ステップ S320 ; No)、点 の描画はせず、ステップ S322に進む。
[0121] ステップ S319〜ステップ S322を繰り返すことによって(ステップ S322)、タツチぺ ンでなぞった位置のうち、位置が検出された点が画面に表示されることになる。
[0122] さらに、 CPU 102は、 i = 0, 1,…, 318について、 iの値を 1ずつ増やしながら、以 下の処理を繰り返す(ステップ S323)。
[0123] すなわち、 F[i]と F[i+1]が両方とも有効な y座標値であるか否かを調べる(ステップ S 324)。この判定基準は、ステップ S319におけるものと同様である。そして、両方とも 有効な y座標値である場合 (ステップ S324 ; Yes)、フレームバッファの座標 (i,F[i])か ら座標 (i+l,F[i+l])までの線分を描画する情報を書き込む(ステップ S325)。このよう なフレームバッファに対する線分描画の処理は、ブレゼンハム線分描画アルゴリズム を採用しても良いし、画像処理部 106自体がそのような機能を有する場合もある。
[0124] 一方、そうでなければ(ステップ S324 ; No)、線分の描画はせず、ステップ S326に 進む。
[0125] ステップ S323〜ステップ S326を繰り返すことによって(ステップ S326)、タツチぺ ンでなぞった位置のうち、位置が検出された点を結ぶ線分も画面に表示されることに なる。
[0126] そして、垂直同期割り込みが発生するまで待機する (ステップ S327)。当該待機中 には、コルーチン的に他の処理を実行することができる。垂直同期割り込みが発生し たら、 CPU 102は、画像処理部 106に指示を出して、フレームバッファの内容を液 晶ディスプレイ 107に反映させ、タツチペンを用いて入力された座標値に相当する位 置に点を表示し、これらの点を結ぶ線分を適切に表示する (ステップ S328)。そして 、ステップ S303に戻る。
[0127] 一方、タツチペンが押圧操作されておらず、タツチパネルから離れている場合 (ステ ップ S303 ; No)、 n― 0としてその旨を記憶してから(ステップ S329)、ステップ S31 9に進む。これは、第 2種指示入力を受け付けたことを意味する。
[0128] このような処理によって、タツチペンで入力された点の軌跡から、どのようなグラフの 線の形状が描画されることとなるのかについて、説明する。
[0129] 図 4は、押圧操作されたタツチペンの移動の軌跡と、これに対して表示されるグラフ 線の形状の様子を示す説明図である。以下、本図を参照して説明する。
[0130] 本図(a)には、上下にジグザグに蛇行する線をユーザがタツチペンで描いた場合の 軌跡を示す。このようなジグザグ線 401の形状は、たとえば株価の時間変化において 、ペナントやフラッグと呼ばれるような、株価変動が短い周期に頻繁に起きる状況を 示すグラフを線の形状としたものである。時間経過は左から右に設定されているので 、このジグザグ線 401の軌跡は、全体として見ると、概ね左から右に移動していたこと になる。
[0131] ここで、ユーザがタツチペンを押圧操作しながら移動させるときにジグザグ線 401を 描くと、タツチペンが常に左から右に移動するとは限らず、ときどきは右から左に戻つ てしまうような動きになってしまうことがある。急いでタツチペンを操作した場合には特 にこのようなことが発生する。このような逆行が生じると、ある X座標におけるジグザグ 線 401の y座標の値が複数発生することとなる。本図でも、このような重複部分 402が 何か所が生じている。
[0132] 本図(b)には、このような重複部分 402を含むようなジグザグ線 401がタツチペンで 描かれた場合、実際に入力されるグラフの線 403の形状の様子を示している。
[0133] 上記のように、本実施形態では、ある時点(横軸)における値 (縦軸)は 1つに決めら れ、ある時点における値が複数存在してしまう場合には、最後に入力された値が採用 される。したがって、右から左へ後戻りしてしまう場合であっても、その後に左から右 へタツチペンが移動することとなっており、その最新の軌跡がグラフの線 403として採 用されている。
[0134] また、本図(c)は、本図(a)で描かれたジグザグ線 401の一部のジグザグをやめて、 平ら(X軸に平行に)にしたいと考えたときの、タツチペンの移動の軌跡を描いてある。 本図に示すジグザグ線 401をタツチペンで描いた後に、平らな線 404を左から右へタ ツチペンで描いたものである。
[0135] このような操作を行うと、ある X座標に対する y座標の値としては、最後に入力された ものが有効となる。本図(d)では、実際に入力されるグラフの線 405の形状の様子を 示しており、平らにしたい部分が反映されている。
[0136] なお、後述する削除条件を採用しない場合は、平らな線 404に沿ってタツチパネル を押圧するようにタツチペンを右から左へ移動させても、左から右へ移動させても、平 らにしたい部分が反映されることになる。
[0137] 図 5は、タツチペンの移動の軌跡と、画面に表示される線の形状との関係を説明す る説明図である。以下、本図を参照して説明する。
[0138] 本図(a)〜(e)は、タツチペンが移動する様子を時系列順に示すものであり、矢印 はタツチペンが移動する方向を表し、実線はタツチペンがタツチパネルを押圧操作し ながら移動してレ、ることを、破線はタツチペンがタツチパネル力 解放されて移動して レ、ることを、それぞれ示す。
[0139] 一方、本図(A)〜(E)は、本図(a)〜(e)に対応して、時系列中のそれぞれの時点 で、画面に表示される線の形状の様子を示すものである。
[0140] 本図(a)のように、タツチペンを概ね左力 右へ押圧移動させると、本図(A)のよう に、これと同じ形状の線の形状が描画される。本図(b)と本図(B)についても同様で ある。
[0141] この後、本図(c)に示すように、タツチペンをタツチパネル力 離して、タツチペンを 移動する。このとき、タツチペンはタツチパネルから離れているから、第 1種指示操作 入力はされないので、画面に表示される線の形状は、本図(B)と本図(C)とで同じに なる。
[0142] たとえば、本図(B)に表示される線の形状は逆 S字形のカーブをなしている力 そ の末端をペナント形状にしたくなつた場合を考える。本実施形態では、本図(d)に示 すように、タツチペンを右から左に移動して、ジグザグ線を描き始めるだけで良い。本 図(D)は、このジグザグ線を描いている途中での表示例であり、グラフの線の形状は 、一繋がりの線になっている。
[0143] 本図(e)には、このままジグザグ線を描き続けた様子を示す。これに呼応して、本図 (E)に示すように、一繋がりの線の形状が、画面に表示される。
[0144] このように、本実施形態では、おおまかなグラフの形状を描いた (本図(a) (b) )後に 、その一部をジグザグ線に修正したいときには、その区間に単純にジグザグ線を描く だけで (本図(d) (e) )、グラフが一繋がりとなって得られる。この際に、ジグザグ線の 開始点や終了点を、過去に描いたおおまかな線の上に重ねる必要はないため、ュ 一ザは、修正が容易である。
[0145] さて、本実施形態では、横方向に時間軸をとつたグラフのような線図の座標値を処 理しているため、座標系として直交座標系を用い、第 1座標値として X座標の値、第 2 座標値として y座標の値をそれぞれ用いている力 用途によって、 X座標や y座標を交 換したり、斜交座標や極座標を採用したりしても良い。たとえば、円グラフを描く場合 には、第 1座標値として角度、第 2座標値として半径を採用することができる。
[0146] このように、斜行座標や極座標におけるグラフの入力においては、座標軸が直交し ていなかったり曲線であったりするために、ユーザの入力にぶれが生じやすいが、本 発明を適用した場合には、このようなぶれを適宜修正して、ユーザの希望に近い形 状のグラフの座標値を取得することができるようになる。
[0147] (削除条件)
上記のように、削除条件が常に満たされないものとしても、グラフ線図を描いたり、こ れを修正する作業を十分に行うことができる力 S、グラフの一部を削除したいこともありう る。すなわち、途切れた線図を描きたい場合である。また、一旦余計なグラフを消去 してから、新たに所望のグラフを書き直したいことも多レ、。そこで、以下では、簡単な 操作でグラフ線図の一部を消去するための技術について説明する。
[0148] 上記のように、グラフを描く場合には、タツチペンを押圧操作しながら左から右へ移 動させる。そこで、本実施形態では、グラフを消去する場合には、消去したい範囲で 、タツチペンを押圧操作しながら右から左へ移動させることとするのである。
[0149] ただし、ジグザグ線を描くような場合には、上述の通り、タツチペンが一瞬だけ右か ら左へ移動してしまうことがありうる。
[0150] これらを区別するため、タツチペンが一定時間の間、右から左へ、ほぼ水平に移動 した場合には、グラフを消去するが、そうでない場合は、タツチペンが右から左へ移 動したとしても、通常の座標値の入力として解釈するのである。このための判断基準 が削除条件である。
[0151] この「一定時間」に相当するものは、本実施形態では、「M X垂直同期割り込み周期 」である。すなわち、「M X垂直同期割り込み周期」の間、タツチペンが右から左へほ ぼ水平に移動した場合には、線の形状のうち、その右から左への移動の範囲だけを 削除する。
[0152] 本実施形態では、リングバッファを用いて、削除条件「M X垂直同期割り込み周期 の間、タツチペンが右から左へほぼ水平に移動した」か否かを、以下のように検知す る。
[0153] 図 6は、削除条件が成立するか否力、を判断するステップ S307と、成立した場合に 実行される処理の詳細な制御の流れを示すフローチャートである。以下、本図を参照 して説明する。
[0154] 本処理が開始されると、まず、 n≥Mであるか否かを判断する(ステップ S501)。 n<M である場合(ステップ S 501 ; No)、本処理を終了し、ステップ S 308に進む。
[0155] 一方、 n≥Mである場合(ステップ S501 ; Yes)、リングバッファ内に、現在までの M X 垂直同期割り込み周期の間のタツチペンの移動の座標の履歴は、リングバッファ内 に時間 1噴に、
(X ,y ) = (R[(p-M) mod M].x, R[(p-M) mod M].y),
1 1
(x ,y ) = (R[(p-M+1) mod M].x, R[(p- M+l) mod M].y),
2 2
(x ,y) = (R[(p-M-1 + i) mod M].x, R[(p-M-1 + i) mod M].y), (x ,y ) = (R[(p-1) mod M].x, R[(p-l) mod M].y)
M M
のように格納されていることになる。
[0156] また、所定の鈍角 Θ (典型的には、 170度〜 180度程度の範囲の間。)を用いて、 x 軸の向きと、タツチペンが移動した向きとがこの鈍角 Θ以上のときに、タツチペンが水 平に移動しているものと判断する。
[0157] そこで、 i = 1, 2,…, M-1について、 iを変化させながら、以下の処理を繰り返す(ス テツプ S502)。
[0158] まず、 x く xかつ |(y -y)/(x -χ) tan Θであるか否力、すなわち、履歴の i番目か
i+l i i+1 i i+1 i
ら i+1番目につレ、てのタツチペンの移動の方向べクトノレ
(x -x ,y -y )
i+1 i i+1 i
力 SX軸正の方向と鈍角 Θ以上をなし、ほぼ水平方向逆向きに移動したか否力、を判断 する(ステップ S503)。
[0159] この条件が成立していなければ(ステップ S503 ; No)、本処理を終了して、ステップ S308に進む。一方、この条件が成立していれば(ステップ S503 ; Yes)、ステップ S5 02〜ステップ S504の処理を繰り返す。
[0160] i = 1, 2,…, M-1のすべてについて上記の条件が成立したときは、削除条件が成 立したことになり、ステップ S505に進む。
[0161] 削除条件が成立している場合、
Xぐ X ぐ… x <x
M-1 2 1
であるから、最近の M個の履歴における x座標の最大値は x、 X座標の最小値は Xで
1
ある。
[0162] そこで、 i = x , X +1, · · ·, x -1, Xのそれぞれについて、以下の処理を繰り返す(ス
M M 1 1
テツプ S 505)。
[0163] すなわち、座標記憶部 203において、
F[i] = 255
を実行する(ステップ S506)ことを、繰り返すのである(ステップ S507)。
[0164] この処理によって、線の形状から X座標が X以上 X以下の区間が除去され、多くの
M 1
場合、線が分断されることになる。
[0165] 繰り返し (ステップ S505〜ステップ S507)が終了したら、本処理を終了して、ステツ プ S319に進む。
[0166] 図 7は、タツチペンを右から左に移動する操作をユーザが行った場合に入力される 線の形状を示す説明図である。以下、本図を参照して説明する。
[0167] 本図(a)には、ユーザが行ったタツチペンの移動の経路を示す。図 4におけるものと 同様のジグザグ線 401に沿ってタツチペンでタツチパネルを押圧操作しながら移動さ せた後、タツチペンをタツチパネルから外して、さらにペンを置き、右から左へのほぼ 水平な消去指示線 601に沿ってタツチペンでタツチパネルを押圧操作しながら移動 させ、その後にタツチペンを外したときの「押圧操作経路の履歴」が示されてレ、る。
[0168] 本図(b)は、ジグザグ線 401に沿ってタツチペンでタツチパネルを押圧操作しながら 移動させた直後に、線形状処理装置によって表示されるグラフの線 403の形状の「 画面表示例」を示すものである。図 4 (b)と同様の形状が表示されている。本図には、 タツチペンがタツチパネルをなぞった履歴であるジグザク線 401に応じたグラフの線 4
03の形状が、表示例として示されている。
[0169] 本図(c)は、さらにその後に、消去指示線 601に沿ってタツチペンでタツチパネルを 押圧操作しながら移動させた直後に、線形状処理装置によって表示されるグラフの 線 603の線の形状の「画面表示例」を示すものである。本図に示すように、グラフの線
603の線の形状は、途中で分断されている。
[0170] これは、消去指示線 601に沿って水平にある程度の時間連続してタツチペンでタツ チパネルを押圧操作しながら移動させると、グラフの線 403の形状のうち、当該移動 区間の水平範囲が削除されるからである。
[0171] このように、本実施形態によれば、簡単な操作で、線の形状から一部の区間を削除 することができ、ユーザは容易に線の形状を修正、編集することができるようになる。
[0172] (座標値に対する種々の処理)
以下では、特に株の価格変動を示す場合に用いられる線の形状を検出する技術 について説明する。本技術は、上記のような技術によって入力された線の形状が、株 の価格の時間経過をあらわすグラフだと考えたときに、株の価格変化の特徴を検出 することに適用すること力 Sできる。
[0173] このような株の価格変化に特徴的な形状には、ペナントとフラッグと呼ばれるものが ある。図 8は、ペナントとフラッグの形状を表す説明図である。以下、本図を参照して 説明する。
[0174] 本図(a) (b) (c)は、ペナントと呼ばれる形状であり、当初は値動きが激しいが、時 間が経過するにつれて値が次第に収束するような形状である。すなわち、価格が振 動しながら(ジグザグになりながら)、その振動幅が次第に狭まっていく形状である。さ らに、平均的な値がほぼ一定のときは単に「ペナント」もしくは「水平ペナント」(本図( a) )、上昇しているときは「上昇ペナント」(本図(b) )、下降しているときは「下降ペナ ント」(本図(c) )のように呼ぶ。
[0175] 一方、本図(d) (e) (f)は、フラッグと呼ばれる形状であり、ほぼ同じ値動きの変動幅 が維持される形状である。すなわち、ほぼ一定の振動幅で振動する(ジグザグになる )形状である。さらに、平均的な値がほぼ一定のときは単に「フラッグ」もしくは「水平フ ラッグ」(本図(d) )、上昇しているときは「上昇フラッグ」(本図(e) )、下降しているとき は「下降フラッグ」(本図(f) )のように呼ぶ。
[0176] ペナントやフラッグは、株価の変動においては、もっとも直近(最近)に生じたものが 重要である。したがって、ペナントやフラッグを検出する際には、これらがグラフの終 端近傍に存在するか否か(上記実施形態でいえば、 X座標が一番大きいところで当 該形状を呈するか否か)、を検出する必要がある。
[0177] さて、上記実施形態においては、線の形状が座標記憶部 203の配列 Fに記憶され ている。したがって、この配列 Fの内容を吟味することで、ペナントやフラッグを検出す ること力 Sできる。以下、この検出を行う処理の詳細について説明する。
[0178] 本実施形態では、線の形状の極大点、極小点、および、その時の X座標の広がりか ら、ペナントもしくはフラッグの確認を行う。図 9は、線の形状にペナントやフラッグの 形状があるか否かを検出するための検出処理の制御の流れを示すフローチャートで ある。以下、本図を参照して説明する。
[0179] 本処理においては、以下のような定数および一時変数を用いる。
定数 W。極大点を 2W個、極小点を 2W個抽出するために用いる。
極大点の X座標値および y座標値の部分和および平均を、前半と後半に分けて記 憶するための配列 AX, AY。いずれも要素は 2つである。
極小点の X座標値および y座標値の部分和および平均を、前半と後半に分けて記 憶するための配列 IX, IYoいずれも要素は 2つである。
2W個の極大点および極小点の X座標の広がりが、ペナントもしくはフラッグに相当 すると考えられるための閾値定数 Ζ。 X座標の広がりが Ζ以下であれば、激しく値が上 下していることになり、ペナントもしくはフラッグであると考える力 そうでなければ、ゆ るやかに値が上下していることになり、ペナントでもフラッグでもないことになる。
[0180] 本処理が開始されると、 CPU 102は、 RAM 103にアクセスして、配歹 IJAX, AY, I X, IYを初期化する(ステップ S801)。具体的には、 i = 0, 1のそれぞれについて、 AX [i]― 0, AY[i]― 0, IX[i]― 0, IY[i]― 0を実行する。
[0181] 次に、現在までに検出された極大点および極小点の数をカウントするための変数 m を初期化する (ステップ S802)。具体的には、 m― 0を実行する。
[0182] さらに、 i = 318, 317,…, 2, 1について、 iの値を 1ずつ減らしながら、以下の処理を 繰り返す(ステップ S803)。
[0183] まず、 F[i-1] < F[i]かつ F[i] > F[i+1]であるか否か、すなわち、極大点か否かを判定 する(ステップ S804)。そうであれば(ステップ S804 ; Yes)、 AX[m/(4W)]― AX[m/( 4w)]+i, AY[m/(4W)]― AY[m/(4w)]+F[i]を実行して(ステップ S805)、極大点の x座 標値と y座標値を積算する。なお、「a/b」は、 aを bで割った整数除算(余りを切り捨て る割り算)を意味する。
[0184] そして、 m m+1を実行して(ステップ S806)、 m≥ 4Wであれば(ステップ S807; Yes)、繰返しを抜けてステップ S820に進み、そうでなければ(ステップ S807 ; No)、 次の繰返しに移る(ステップ S808)。
[0185] 一方、極大点でなければ(ステップ S804 ; No)、 F[i_l] > F[i]かつ F[i]く F[i+1]であ るか否か、すなわち、極小点であるか否かを判定する(ステップ S809)。そうであれば (ステップ S809 ; Yes)、 IX[m/(4W)] IX[m/(4w)]+i, IY[m/(4W)] IY[m/(4w)]+F[i ]を実行して (ステップ S810)、極小点の x座標値と y座標値を積算する。そして、ステ ップ S806に進む。
[0186] さて、繰返し (ステップ S803〜ステップ S808)が単純に終了したときは、検出され た極大点および極小点の総数が少な力 たことになるため、線の形状はペナントでも フラッグでもない旨を出力して (ステップ S811)、本処理を終了する。当該出力先は、 RAM 103内の情報格納場所として他の機能単位に処理させることとしても良いし、 ユーザに提示することとしても良い。
[0187] 一方、繰返しの途中で抜けた場合には(ステップ S807 ; Yes)、 i = 0, 1のそれぞれ について、以下の処理を繰り返す(ステップ S820)。すなわち、 AX[i]― AX[i]/W, A Y[i] AY[i]/W, IX[i]― IX[i]/W, IY[i] IY[i]/Wを実行して(ステップ S821)、繰 り返しを行う(ステップ S822)。
[0188] なお、ステップ S803〜ステップ S808の繰返しでは、 iの値を 1ずつ減らされていく 一方で、 mの値は 1ずつ増えていく。 AX, AY, IX, IYの添字が小さい要素には、ダラ フにおいて iの値が大きい側 (右側、すなわち直近の側)の情報が蓄積されており、 A X, AY, IX, IYの添字が大きい要素には、グラフにおいて iの値が小さい側(右側、す なわち過去の側)の情報が蓄積されている。したがって、ステップ S822の後は、
(AX[0],AY[0]) ■·■ 直近の極大点の平均(重心)
(AX[1],AY[1]) ■·■ 以前の極大点の平均(重心)
(IX[0],IY[0]) ·■· 直近の極小点の平均(重心)
(ΙΧ[1],ΙΥ[1]) ·■· 以前の極小点の平均(重心)
となる。
[0189] 図 10は、極大点、極小点および各重心の位置の関係を示す説明図である。本図で は、 W = 2の場合について図示している。以下、本図を参照して説明する。
[0190] 本図に示すように直近力 過去に向けて極大点 931、 921、 911、 901および極小 点 936、 926、 916、 906力 S検出されてレヽる。
[0191] 時系列に沿ってグラフを描く場合、左から右に時間が進むように描くことが一般に 行われているため、画面右側の方が「直近」であり、画面左側の方が「過去」に相当 する。
[0192] そして、過去の極大点の重心 961は、極大点 901、 911の中点にあり、直近の極大 点の重心 971は、極大点 921、 931の中点にあり、過去の極小点の重心 966は、極 大点 906、 916の中点にあり、直近の極/ J、点の重心 976は、極大点 926、 936の中 点にある。
[0193] これらの重心 961、 966、 971、 976の位置関ィ系によって、ペナント力、、フラッグ力、、 上昇か下降か水平か、などを判断するのである。
[0194] まず、 AX[0]_AX[1]く Zかつ IX[0]_IX[1]く Zであるか否かを調べる(ステップ S823)。
そうでなければ (ステップ S823 ; No)、値動きの時間変化が激しくないことになるので
、ステップ S811に進む。 [0195] 一方、そうであれば(ステップ S823 ;Yes)、 AY[0]-IY[0]と AY[1]-IY[1]を比較する( ステップ S824)。前者が後者より小さければ (ステップ S824 ;く)、「ペナント」である 旨を出力し (ステップ S825)、前者が後者と(ほぼ)等しければ (ステップ S824; = )、 「フラッグ」である旨を出力し (ステップ S826)、前者が後者より大きければ (ステップ S 824 ; >)、「ノーマル」である旨を出力する(ステップ S831)。ここで「ノーマル」とは、「 ペナント」でも「フラッグ」でもなレ、ことを意味する。
[0196] さらに、 AY[0]+IY[0]と AY[1]+IY[1]を比較する(ステップ S827)。前者が後者より大 きければ (ステップ S827 ; >)、「上昇」である旨を出力し (ステップ S828)、前者が後 者より小さければ (ステップ S827;く)、「下降」である旨を出力し (ステップ S829)、 前者が後者と(ほぼ)等しければ (ステップ S827; =)、「水平」である旨を出力して (ス テツプ S830)、本処理を終了する。
[0197] なお、ステップ S824および S827における比較においては、いずれも、所定の誤差 を考慮して、 2つの値が当該誤差範囲内に納まれば、「(ほぼ)等しい」と判断すること とするのが典型的である。
[0198] また、本実施形態では、ステップ S831において「ノーマル」と出力した後にステップ S827に進むこととしている力 その力わりにステップ S831力らステップ S811に進む こととして、「ノーマル」の場合には「上昇」「下降」「水平」の判断は行わないこととして も良い。
[0199] 本処理によれば、特に株の価格変動を示す場合に用いられる線の形状を検出する ことができるようになる。
[0200] (線の形状の類似度)
上記実施形態では、極大点や極小点の平均位置(重心)を用いて、線の形状の特 徴を抽出していたが、複数の線同士の類似度を求めたい場合も多い。たとえば、時 間経過に伴う株価の変化をユーザがタツチペンを用いて入力し、その変化に類似す る株式を検索する、などの応用を考える場合には、上記のように抽出された特徴を適 切に利用して、線の形状の類似度を求める必要がある。以下では、このような線の形 状の類似度を求める技術について説明する。
[0201] 2つの線の形状を比較するためには、まず、その 2つの線に対して適切な正規化を 行う必要がある。以下、上記の実施形態に沿って、水平方向の右から左に X軸が設 定され、垂直方向の下から上に y軸が設定され、この X— y平面内に、対比される線が 配置されてレ、る場合を考える。
[0202] まず、 2つの線の横幅 (X軸方向の幅)が異なる場合には、一方を横方向(X軸方向) に拡大もしくは縮小して、 2つの線の横幅を等しくするように、変換をカ卩える。このとき 、両者の長さの比がある定数 (たとえば 2や 3や 5。)よりも大きかったり、別の定数 (た とえば 0.5や 0.333や 0.2。)よりも小さかったりした場合には、 2つの線は大きさが違 レ、過ぎるため、「類似判定不能」あるいは「類似してレ、なレ、」と判断することが望ましレ、
[0203] また、線が途中で途切れている場合には、途切れている間を適当に補間(単に線 分で結んだり、スプライン補間する等の手法を採用することができる。)しても良いし、 複数の線のうち直近のもの(最も右側にあるもの)を選択しても良レ、。
[0204] また、横方向への拡大もしくは縮小は、両方の線に対して行うこととしても良ぐ両方 の線を縮小するのが典型的である。
[0205] たとえば、上記の実施形態では、 i = 0,· · ·, 319について値 F[i]が座標記憶部 203に 記憶されている力 これを幅 Wに縮小し、 k = 0, 1,· · ·, W-1について値 f[k]が定められ るようにするには、
f[k] =∑ w/32° F[kW/320 + i](W/320)
i=0
のように計算して、 kに対する値 f[k]が、区間 i = kW/320, kW/320+1, · · · , (k+l)W/320
- 1に対する値 F[i]の平均値となるような変形を行えばよい。
[0206] 以下、理解を容易にするため、いずれの線の形状についても、適切な選択や変換 を行って、線は途中で途切れず、幅は Wに正規化されているものとする。
[0207] そして、 2つの線について、それぞれ正規化された結果力 S、 RAM 103内の要素 数 Wの配列 f, gに格納されているものとする。また、当該配列名 f, gによって、線その ものを意味するものとする。
[0208] 次に、 2つの線 f, gの y軸方向の高さを揃えるため、それぞれの重心を求める。上記 実施形態では、 X座標値 iでの y座標値がそれぞれ i0], g[i]であるから、それぞれの重 心の y軸方向の高さ] 3, qは、 p =∑ 1 F[i]/W
i=0
q =∑ W1 G[i]/W
i=0
により求めることができる。
[0209] すると、高さを揃えたときに、同じ X座標値 [i]における 2つの線 f, gの高さの差 Δ [ί]は
A [i] = (F[i]-p) - (G[i]-q)
により計算できる。
[0210] さて、 2つの線 f, gの類似度 L(f,g)については、 自乗和を利用した以下のような計算 式を用いる手法が考えられる。
L(f,g) =∑ 1 Δ [ί]2
i=0
すなわち、 L(f,g)が小さければ小さいほど、 2つの線 f, gは類似している、と考えるので ある。
[0211] し力 ながら、株価の変動のように、フラッグであるかペナントである力、や、直近の 価格の変動が重要視される。一方で、上記のように、幅 320の情報を幅 Wに圧縮する ことは、いわゆる高周波成分を除去することに相当し、高周波成分そのものであるフ ラッグやペナントの情報そのものが落ちてしまう。
[0212] そこで、 2つの線 f, gの圧縮前の線 F, Gのそれぞれが、上記の実施形態の技術によ り「フラッグ」「ペナント」「非フラッグ '非ペナント(以下「ノーマル」という。)」のいずれで あるかをあらかじめ判定しておき、その情報を用いて、類似度を計算することが望まし レ、。
[0213] そのために、以下のような W個の正の値の重みパラメータを用いる。
w[0], w[l],■· - , w[W-l]
この重みパラメータは、 2つの線 f, gの変換前の元の線 F, Gの形状が、「フラッグ」「ぺ ナント」「ノーマル」か否かによって、定数 N (0く Nく W)を用いて、以下のような関係を持 つ値とする。ここで、 W-Nに相当する縮小前の幅は、上記実施形態における Zに相当 するものとすることが望ましい。
(1)両者が「ノーマル」である場合は、
w[0] = w[l] =… w[N-l] = 1 = w[N] = W[N+1] =… = W[W- 1] = 1 (2)両者が「フラッグ」である場合、もしくは、両者が「ペナント」である場合は、 w[0] = w[l] =… w[N-l] = 1 > w[N] = W[N+1] =… = W[W- 1] = ίΐ ρ = 0.5
(3)—方が「ノーマル」、他方が「フラッグ」もしくは「ペナント」である場合は、定数 Ν ( 0<Νく W)により、
w[0] = w[l] =… w[N-l] = 1 < w[N] = W[N+1] =… = W[W- 1] = nfp = 2
(4)一方が「フラッグ」、他方が「ペナント」である場合は、定数 N (0く Nく W)により、 w[0] = w[l] =… w[N-l] = 1 < w[N] = W[N+1] =… = W[W- 1] = fp = 0.8
[0214] そして、類似度を、以下のように定める。
L(f,g) =∑ w^ w[i] A [i]2
i=0
[0215] すなわち、フラッグやペナントが存在しうる区間 i = Ν,Ν+1,···,\ν_1について、上記の ように重みを適宜変化させることで、線の形状の変化を類似度に反映させるのである
[0216] なお、上記のように、変化させる重みについては、 ffpp = 0.5, nfp = 2, fp = 0.8として いる力 これらの大小関係については、
ff p < fp < 1 < nfp
のような関係が成立していれば、上記の定数以外にも種々の定数を採用することが できる。また、 w[N], w[N+l], · · ·, w[W- 1]が、 1力 ffpp, fp, n に向かって単調に変化 してレ、くようなパラメータ設定を採用しても良い。
[0217] このように、 2つの線 F, Gの形状について、その高周波成分を除去した配列 f, gを 考え、 F, Gのそれぞれについて検出された「フラッグ」「ペナント」「ノーマル」の形状 特性に基づいて重み wを定め、これらの情報に基づいて類似度 L(f,g)を計算すること により、両者がどれだけ似ているかを判定することができる。
[0218] したがって、あら力、じめ複数の線 G,…, Gの形状データが存在する場合にも、そ
1 D
のそれぞれについてユーザが入力した線の形状 Fとの類似度を計算し、類似度の小 さい順にソートすることによって、 G ,…, Gの中から、 Fに形状が類似しているものを
1 D
ユーザに適切に提示し、場合によっては選択させることができるようになる。
[0219] 図 11は、このような態様を実現する線形状処理装置の概要構成を示す模式図であ る。以下本図を参照して説明する。なお、本図における各要素のうち、図 2に示すも のと同様の機能を果たすものについては、同じ符号を付すこととしており、理解を容 易にするため、異なる機能を有する要素について説明を加えるものとする。
[0220] 線形状処理装置 201は、上記実施形態に加えて、候補記憶部 991、類似抽出部 9
92、提示部 993を備える。
[0221] 候補記憶部 991は、複数の線 G,…, Gの形状のデータをあらかじめ記憶するもの
1 D
で、株価変動のデータベースに相当するものである。なお、これらのデータは時間と ともに更新されるものとしても良レ、が、計算機シミュレーションなどの用途のために固 定値を採用するときには、それぞれの形状について、あらかじめ、「フラッグ」か「ペナ ント」か「ノーマル」かを判定しておくとともに、所定の幅 Wに変換した後の配歹 Ijg ,…,
1 gもあらかじめ用意しておくと、類似度計算を容易に行うことができる。
D
[0222] 一方、類似抽出部 992は、ユーザが入力した線 Fの形状に対して検出部 207が行 つた「フラッグ」「ペナント」「ノーマル」の検出結果を用いるとともに、上記のような重み 付けをおこなった類似度計算処理に基づいて、座標記憶部 203に記憶されている線 Fの形状、を対比して、複数の線 G , · · · ,〇をソートする、あるいは、順次類似度を計
1 D
算し、これまでに計算された類似度と対比して、値が小さいものを所定の個数まで残 すようにして、複数の線 G ,…, Gから、線 Fに類似するものを所定の個数抽出する。
1 D
[0223] さらに、提示部 993は、線 Fに類似するとして抽出された上位の所定の順位までの 線の情報をユーザに提示して、後の処理に備える。たとえば、当該抽出された線とと もに当該線に対応付けられる株の銘柄の概要情報を表示する。そして、これらの抽 出されたものの中からレ、ずれかをユーザが選択した場合には、選択された線に対応 付けられる株の銘柄の詳細情報を提示する、等である。
[0224] 本実施形態によれば、株価の変動などをグラフで表現するときに、注目すべき事項 に基づいてグラフの類似度を計算することができ、株価の変動に基づいて、ユーザが 所望の銘柄を検索しやすくすることができる。
[0225] なお、本願においては、 日本国特許出願 2006— 172208号を基礎とする優先権 を主張するものとし、指定国の法令が許す限り、当該基礎出願を本願の内容に取り 込むものとする。
産業上の利用可能性 以上説明したように、本発明によれば、線の形状の終端部分の特徴を検出し、当該 特徴に基づきつつ線の形状の類似を判断したりするのに好適な線形状処理装置、 線形状処理方法、これらをコンピュータにて実現するプログラムを記録したコンビユー タ読取可能な情報記録媒体、ならびに、当該プログラムを提供することができる。

Claims

請求の範囲
[1] 第 1座標軸方向の座標値である第 1座標値と、第 1座標軸とは異なる方向の座標軸 である第 2座標軸方向の座標値である第 2座標値と、の対により、位置が指定される 2 次元領域内に配置される線の形状を処理する線形状処理装置であって、
ユーザから入力された線の形状について当該線に含まれる点の第 1座標値に当該 点の第 2座標値を唯一つ対応付けて記憶する座標記憶部、
前記記憶された線の形状に含まれる点の第 1座標値および第 2座標値から、当該 ユーザから入力された線の終端部分の形状が、
(a)振動しながら振動幅を狭めていくペナント形状、
(b)略一定の振動幅で振動するフラッグ形状、
(c)上記(a) (b)以外の形状であるノーマル形状
のいずれであるかを、当該第 2座標値の極値の分布から検出する検出部
を備えることを特徴とする線形状処理装置。
[2] 請求項 1に記載の線形状処理装置であって、
前記座標記憶部は、当該線に含まれる点の第 1座標値を添字とする配列の要素の 値を当該点の第 2座標値とすることにより、当該線に含まれる点の第 1座標値に当該 点の第 2座標値を唯一つ対応付けて記憶し、
前記検出部は、前記記憶された線の形状に含まれる点の第 1座標値および第 2座 標値について、配列の添字である第 1座標値を、その最大値から最小値の方向へ走 查して、当該第 1座標値の直前に対応付けられて記憶される第 2座標値と、当該第 1 座標値の直後に対応付けられて記憶される第 2座標値と、当該第 1座標値に対応付 けられて記憶される第 2座標値と、を比較して、当該第 2座標値が極大となる点の座 標と、極小となる点の座標と、をそれぞれ 2W (W≥l)個検出しようとし、それぞれ 2W 個検出できた場合、当該極大となる点のうち先に検出された W個の重心の第 2座標 値と当該極小となる点のうち先に検出された W個分の重心の第 2座標値との差、およ び、当該極大となる点のうち後に検出された W個の重心の第 2座標値と当該極小とな る点のうち後に検出された W個の重心の第 2座標値との差を比較して、当該線の形 状を、 (a)当該始端側の差と当該終端側の差とが、所定の誤差範囲で等しければ、略一 定の振動幅で振動するフラッグ形状と検出し、
(b)上記 (a)でなぐかつ、当該始端側の差が当該終端側の差より大きければ、振 動しながら振動幅を狭めてレ、くペナント形状と検出し、
(c)上記(a) (b)でない、もしくは、当該極大となる点と当該極小となる点とがそれぞ れ 2W個検出できなければ、ノーマル形状と検出する
ことを特徴とする線形状処理装置。
[3] 請求項 2に記載の線形状処理装置であって、
当該画面の表面に対する押圧操作を、当該押圧操作された位置に対応付けられる 当該 2次元領域内の位置を指定する第 1種指示入力として受け付け、当該画面の表 面からの離脱操作を、第 2種指示入力として受け付ける入力受付部
をさらに備えることを特徴とする線形状処理装置。
[4] 請求項 2に記載の線形状処理装置であって、
当該第 1種指示入力の受付が続いて所定の回数行われ、当該続いて行われた第 1 種指示入力の互いに隣り合う第 1種指示入力の対のすべてにおいて、当該対の先の 第 1種指示入力に指定される位置から当該対の後の第 1種指示入力に指定される位 置へのベクトルと、当該 2次元領域において当該第 1座標値のみを当該所定の順序 で変化させる方向のベクトルと、のなす角が所定の鈍角以上である場合、当該続い て行われた第 1種指示入力のそれぞれに指定される第 1座標値の最小値力 最大値 までの範囲に含まれる第 1座標値に対応付けられて前記座標記憶部に記憶される第 2座標値の値を、前記座標記憶部から削除する削除部
をさらに備えることを特徴とする線形状処理装置。
[5] 請求項 2に記載の線形状処理装置であって、
前記検出部により、当該線の終端部分の形状が、ペナント形状もしくはフラッグ形 状であることが検出された場合、前記検出部は、当該極大となる点の始端側半分の 重心の第 2座標値と当該極小となる点の始端側半分の重心の第 2座標値との和、当 該極大となる点の終端側半分の重心の第 2座標値と当該極小となる点の終端側半分 の重心の第 2座標値との和を比較して、 (P)当該始端側の和と当該終端側の和とが、所定の誤差範囲で等しければ、水平 と、
(q)上記 (P)でなぐかつ、当該始端側の和が当該終端側の和より小さければ、上 昇と、
(r)上記 (P) ( でなければ、下降と、
当該線の形状をさらに検出する
ことを特徴とする線形状処理装置。
[6] 請求項 2に記載の線形状処理装置であって、
あらかじめ用意された複数の線のそれぞれの形状について、当該線に含まれる点 の第 1座標値に当該点の第 2座標値を対応付けて記憶する候補記憶部、
前記候補記憶部に記憶された複数の線のそれぞれの形状と、前記座標記憶部に 記憶された線の形状と、の類似度を計算し、当該複数の線のうち、当該計算された類 似度が小さいものを候補として抽出する類似抽出部であって、当該類似度が計算さ れる対象となる 2つの線にっレ、て、同じ第 1座標値に対してとる第 2座標値の差分の 自乗に、当該 2つの線の終端部分の形状がペナント形状、フラッグ形状、ノーマル形 状のいずれの組み合わせとなるかによつて決定される重みを乗じた値の総和を当該 類似度とする類似抽出部、
前記抽出された線の形状を当該ユーザに提示する提示部
を備えることを特徴とする線形状処理装置。
[7] 請求項 6に記載の線形状処理装置であって、
当該あらかじめ用意された複数の線のそれぞれは、複数の取引対象のうち当該線 に対応付けられる取引対象の価値の時間経過による変化を表し、
当該ユーザから入力された線の形状は、ユーザが検索の対象とする取引対象の価 値の時間経過による変化を、過去から現在へ向けて入力した形状であり、
前記提示部は、前記抽出された線の形状と、当該線に対応付けられる取引対象の 情報と、を当該ユーザに提示する
ことを特徴とする線形状処理装置。
[8] 第 1座標軸方向の座標値である第 1座標値と、第 1座標軸とは異なる方向の座標軸 である第 2座標軸方向の座標値である第 2座標値と、の対により、位置が指定される 2 次元領域内に配置される線の形状を処理し、ユーザから入力された線の形状につい て当該線に含まれる点の第 1座標値に当該点の第 2座標値を唯一つ対応付けて記 憶する座標記憶部を用いる線形状処理方法であって、
当該 2次元領域内に配置される線に含まれる点の位置を指定する第 1種指示入力 と、当該第 1種指示入力とは異なる第 2種指示入力と、を受け付ける入力受付工程、 当該第 1種指示入力の受付が続レ、て行われた場合、当該先の第 1種指示入力に 指定される開始位置の第 1座標値力 当該後の第 1種指示入力に指定される終了位 置の第 1座標値までの間に含まれる第 1座標値のそれぞれについて、当該開始位置 と当該終了位置とを結ぶ線分に含まれ当該第 1座標値を有する点の第 2座標値を、 当該第 1座標値に対応付けて、前記座標記憶部に記憶させる記憶工程、 前記記憶された線の形状に含まれる点の第 1座標値および第 2座標値から、当該 ユーザから入力された線の終端部分の形状が、
(a)振動しながら振動幅を狭めていくペナント形状、
(b)略一定の振動幅で振動するフラッグ形状、
(c)上記(a) (b)以外の形状であるノーマル形状
のいずれであるかを、当該第 2座標値の極値の分布から検出する検出工程
を備えることを特徴とする線形状処理方法。
コンピュータに、第 1座標軸方向の座標値である第 1座標値と、第 1座標軸とは異な る方向の座標軸である第 2座標軸方向の座標値である第 2座標値と、の対により、位 置が指定される 2次元領域内に配置される線の形状を処理させるプログラムであって 、当該プログラムは、当該コンピュータを、
ユーザから入力された線の形状について当該線に含まれる点の第 1座標値に当該 点の第 2座標値を唯一つ対応付けて記憶する座標記憶部、
前記記憶された線の形状に含まれる点の第 1座標値および第 2座標値から、当該 ユーザから入力された線の終端部分の形状が、
(a)振動しながら振動幅を狭めていくペナント形状、
(b)略一定の振動幅で振動するフラッグ形状、 (c)上記(a) (b)以外の形状であるノーマル形状
のいずれであるかを、当該第 2座標値の極値の分布から検出する検出部
として機能させることを特徴とするプログラムを記録したコンピュータ読取可能な情 報記録媒体。
コンピュータに、第 1座標軸方向の座標値である第 1座標値と、第 1座標軸とは異な る方向の座標軸である第 2座標軸方向の座標値である第 2座標値と、の対により、位 置が指定される 2次元領域内に配置される線の形状を処理させるプログラムであって 、当該プログラムは、当該コンピュータを、
ユーザから入力された線の形状について当該線に含まれる点の第 1座標値に当該 点の第 2座標値を唯一つ対応付けて記憶する座標記憶部、
前記記憶された線の形状に含まれる点の第 1座標値および第 2座標値から、当該 ユーザから入力された線の終端部分の形状が、
(a)振動しながら振動幅を狭めていくペナント形状、
(b)略一定の振動幅で振動するフラッグ形状、
(c)上記(a) (b)以外の形状であるノーマル形状
のいずれであるかを、当該第 2座標値の極値の分布から検出する検出部
として機能させることを特徴とするプログラム。
PCT/JP2007/062436 2006-06-22 2007-06-20 線形状処理装置、線形状処理方法、情報記録媒体、ならびに、プログラム WO2007148731A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/304,956 US8244073B2 (en) 2006-06-22 2007-06-20 Line shape processing device, line shape processing method, information recording medium, and program
EP07767274A EP2034392A4 (en) 2006-06-22 2007-06-20 LINE SHAPE PROCESSING DEVICE, LINE SHAPE PROCESSING METHOD, INFORMATION RECORDING MEDIUM AND PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006172208A JP3938928B1 (ja) 2006-06-22 2006-06-22 線形状処理装置、線形状処理方法、ならびに、プログラム
JP2006-172208 2006-06-22

Publications (1)

Publication Number Publication Date
WO2007148731A1 true WO2007148731A1 (ja) 2007-12-27

Family

ID=38249222

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/062436 WO2007148731A1 (ja) 2006-06-22 2007-06-20 線形状処理装置、線形状処理方法、情報記録媒体、ならびに、プログラム

Country Status (6)

Country Link
US (1) US8244073B2 (ja)
EP (1) EP2034392A4 (ja)
JP (1) JP3938928B1 (ja)
KR (1) KR101079610B1 (ja)
CN (1) CN101473290A (ja)
WO (1) WO2007148731A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110129125A (ko) * 2010-05-25 2011-12-01 삼성전자주식회사 휴대 단말기의 터치 패널 운용 방법 및 이를 지원하는 휴대 단말기
JP2012053684A (ja) * 2010-09-01 2012-03-15 Toshiba Tec Corp 表示入力装置および表示入力方法
US9305210B2 (en) * 2013-11-19 2016-04-05 Kabushiki Kaisha Toshiba Electronic apparatus and method for processing document
JP5843908B2 (ja) * 2014-03-07 2016-01-13 株式会社コナミデジタルエンタテインメント ゲーム制御装置、ゲームシステム、及びプログラム
KR102087681B1 (ko) 2015-09-17 2020-03-11 삼성전자주식회사 이미지 처리 장치, 이미지 처리 방법 및 컴퓨터 판독가능 기록 매체
CN111275612A (zh) * 2020-01-17 2020-06-12 成都库珀区块链科技有限公司 一种基于vr技术的k线显示、交互方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002049747A (ja) * 2000-08-07 2002-02-15 Kuikku:Kk 時系列データ圧縮装置及び時系列データ圧縮方法
JP2003051014A (ja) * 2001-08-03 2003-02-21 Canon Inc 情報処理装置及び方法
JP2003085381A (ja) * 2001-09-07 2003-03-20 Masuda Keizai Kenkyusho:Kk 相場情報の検索及び表示システムと相場情報の検索及び表示方法
JP2005275652A (ja) * 2004-03-24 2005-10-06 Canon Inc 入力軌跡処理装置および入力軌跡処理方法
JP2006172208A (ja) 2004-12-16 2006-06-29 Hitachi Kokusai Electric Inc 事前チェック機能付きetcシステム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU622823B2 (en) 1989-08-25 1992-04-16 Sony Corporation Portable graphic computer apparatus
JP3322697B2 (ja) * 1992-09-04 2002-09-09 株式会社リコー 手書き情報表示装置
US5596656B1 (en) * 1993-10-06 2000-04-25 Xerox Corp Unistrokes for computerized interpretation of handwriting
US5768417A (en) 1994-09-09 1998-06-16 Motorola, Inc. Method and system for velocity-based handwriting recognition
JP3204154B2 (ja) * 1997-02-21 2001-09-04 日本電気株式会社 時系列データ解析装置
JP4066566B2 (ja) * 1999-07-26 2008-03-26 ヤマハ株式会社 電子ノート
JP2001043390A (ja) * 1999-07-28 2001-02-16 Canon Inc 画像処理装置および画像処理方法、並びに画像処理用プログラムを記録した記録媒体
JP4444428B2 (ja) * 2000-01-28 2010-03-31 東京エレクトロン株式会社 エッチング深さの検出方法並びにエッチングモニター装置及びエッチング装置
JP2003114760A (ja) 2001-10-05 2003-04-18 Konami Computer Entertainment Japan Inc ポインタの制御方法および装置
JP2004152175A (ja) * 2002-10-31 2004-05-27 Toshiba Corp 時系列データ検索装置、時系列データ検索方法、プログラム及び記録媒体
JP3793201B2 (ja) 2004-01-28 2006-07-05 任天堂株式会社 ゲーム装置およびゲームプログラム
JP2005346467A (ja) 2004-06-03 2005-12-15 Nintendo Co Ltd 図形認識プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002049747A (ja) * 2000-08-07 2002-02-15 Kuikku:Kk 時系列データ圧縮装置及び時系列データ圧縮方法
JP2003051014A (ja) * 2001-08-03 2003-02-21 Canon Inc 情報処理装置及び方法
JP2003085381A (ja) * 2001-09-07 2003-03-20 Masuda Keizai Kenkyusho:Kk 相場情報の検索及び表示システムと相場情報の検索及び表示方法
JP2005275652A (ja) * 2004-03-24 2005-10-06 Canon Inc 入力軌跡処理装置および入力軌跡処理方法
JP2006172208A (ja) 2004-12-16 2006-06-29 Hitachi Kokusai Electric Inc 事前チェック機能付きetcシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2034392A4

Also Published As

Publication number Publication date
KR101079610B1 (ko) 2011-11-03
KR20090025252A (ko) 2009-03-10
JP3938928B1 (ja) 2007-06-27
JP2008003825A (ja) 2008-01-10
US8244073B2 (en) 2012-08-14
EP2034392A1 (en) 2009-03-11
EP2034392A4 (en) 2009-11-11
CN101473290A (zh) 2009-07-01
US20090175542A1 (en) 2009-07-09

Similar Documents

Publication Publication Date Title
JP5604279B2 (ja) ジェスチャー認識装置、方法、プログラム、および該プログラムを格納したコンピュータ可読媒体
US10437466B2 (en) Formula inputting method and apparatus
EP1507192B1 (en) Detection of a dwell gesture by examining parameters associated with pen motion
JP4046753B2 (ja) 線形状処理装置、線形状処理方法、ならびに、プログラム
US10534527B2 (en) Relative pen scroll
JP4177335B2 (ja) 手書き文字入力装置および手書き文字入力処理方法
WO2007148731A1 (ja) 線形状処理装置、線形状処理方法、情報記録媒体、ならびに、プログラム
JP2019220155A (ja) 手書き入力表示装置、手書き入力表示方法およびプログラム
CN102414648A (zh) 输入装置
US11402923B2 (en) Input method, apparatus based on visual recognition, and electronic device
WO2007094411A1 (ja) 軌跡情報処理装置、軌跡情報処理方法、情報記録媒体、ならびに、プログラム
JP7456287B2 (ja) 表示装置、プログラム、表示方法
JP7452155B2 (ja) 手書き入力装置、手書き入力方法、プログラム
JP2009110135A (ja) オブジェクト選択装置
JP6318794B2 (ja) 情報処理装置及び情報処理プログラム
CN110162251B (zh) 图像缩放方法及装置、存储介质、电子设备
KR102052392B1 (ko) 도형 인식 방법
JP2001075721A (ja) 図形入力装置及びその方法と図形入力のためのプログラムを記録した記録媒体
JPH09120433A (ja) 文字認識方法及び文書作成装置
EP4073624B1 (en) Systems and methods for grid-aligned inking
JP2018163441A (ja) 画像処理装置、及びプログラム
CN110647245A (zh) 基于dtw算法的手写输入法
JPH08212306A (ja) 筆跡データ間引き方法、辞書作成方法及び文字認識装置
US10474886B2 (en) Motion input system, motion input method and program
JP2005056209A (ja) 手書き図形計測方法,手書き図形計測装置および手書き図形計測プログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200780023420.X

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07767274

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12304956

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2007767274

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: KR

NENP Non-entry into the national phase

Ref country code: DE