JP2008003825A - 線形状処理装置、線形状処理方法、ならびに、プログラム - Google Patents

線形状処理装置、線形状処理方法、ならびに、プログラム Download PDF

Info

Publication number
JP2008003825A
JP2008003825A JP2006172208A JP2006172208A JP2008003825A JP 2008003825 A JP2008003825 A JP 2008003825A JP 2006172208 A JP2006172208 A JP 2006172208A JP 2006172208 A JP2006172208 A JP 2006172208A JP 2008003825 A JP2008003825 A JP 2008003825A
Authority
JP
Japan
Prior art keywords
shape
line
coordinate value
coordinate
input
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2006172208A
Other languages
English (en)
Other versions
JP3938928B1 (ja
Inventor
Noriaki Okamura
憲明 岡村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
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 JP2006172208A priority Critical patent/JP3938928B1/ja
Priority to EP07767274A priority patent/EP2034392A4/en
Priority to KR1020087031014A priority patent/KR101079610B1/ko
Priority to US12/304,956 priority patent/US8244073B2/en
Priority to PCT/JP2007/062436 priority patent/WO2007148731A1/ja
Priority to CNA200780023420XA priority patent/CN101473290A/zh
Application granted granted Critical
Publication of JP3938928B1 publication Critical patent/JP3938928B1/ja
Publication of JP2008003825A publication Critical patent/JP2008003825A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (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座標値の極値の分布から検出する。
【選択図】図2

Description

本発明は、線の形状の終端部分の特徴を検出し、当該特徴に基づきつつ線の形状の類似を判断したりするのに好適な線形状処理装置、線形状処理方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
従来から、タッチパネルやマウス等、所定の2次元領域内の点の位置を2つの座標値(典型的には、x座標とy座標の値。)で指定する指示入力を受け付けて、この座標値を処理する技術が提案されている。このような技術については、たとえば、以下の文献に開示されている。
特開2003−114760号公報
[特許文献1]には、マウスポインタの位置を移動させる際に、単位操作量あたりのポインタの移動距離より小さい単位操作量あたりの移動距離でポインタを移動制御することによって、ポインタの精密な位置移動を行う技術が開示されている。一方で、このようなタッチパネルやマウスを用いた座標値の入力によって、各種の曲線を画面に描く技術も広く用いられている。
また、時間の経過にともなう株価や体重の変化などを、時間を横軸(x座標)、その時点での値を縦軸(y座標)とするグラフで描くことも、広く行われている。このグラフ等の線図では、線に含まれる点の位置が第1座標値と第2座標値(本例では、それぞれx座標値とy座標値に対応する。)によって指定され、y = f(x)のような陽関数の形式で、第1座標値xに対して第2座標値yが唯一つに決まる。
したがって、このような線の形状が得られた場合に、線の形状を的確に分類したり、その分類の結果によって既存の線の形状との類似度を算出して入力された線の形状に類似する線をユーザに提示したり選択させたりするのに好適な技術が強く求められている。
本発明は、上記の課題を解決することを課題とするものであって、線の形状の終端部分の特徴を検出し、当該特徴に基づきつつ線の形状の類似を判断したりするのに好適な線形状処理装置、線形状処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
本発明の第1の観点に係る線形状処理装置は、2次元領域内のそれぞれの位置が第1座標値と第2座標値とにより指定され、当該2次元領域内に配置される線の形状を処理し、座標記憶部、検出部を備え、以下のように構成する。
すなわち、座標記憶部は、ユーザから入力された線の形状について当該線に含まれる点の第1座標値に当該点の第2座標値を対応付けて記憶する。
ここで、座標記憶部は、典型的にはRAM(Random Access Memory)内に用意される。第1座標値と第2座標値との対をそのまま記憶することとしても良いし、第1座標値が整数で表現される場合には、第1座標値をインデックスとする配列に第2座標値を記憶することにより、当該第1座標値に対して最後に入力された第2座標値のみを記憶することとしても良い。
一方、検出部は、記憶された線の形状に含まれる点の第1座標値および第2座標値から、当該ユーザから入力された線の終端部分の形状が、
(a)振動しながら振動幅を狭めていくペナント形状、
(b)略一定の振動幅で振動するフラッグ形状、
(c)上記(a)(b)以外の形状であるノーマル形状
のいずれであるかを、当該第2座標値の極値の分布から検出する。
ペナント形状、フラッグ形状等は、株価の変動において広く用いられる概念であり、ユーザから入力された線の終端部分の形状がいずれであるかが重要視されることから、検出部においてこれを検出するものである。この際に、本発明においては、線の形状における第2座標値の極値(極大値もしくは極小値)の分布を参照して、判断を行う。
本発明によれば、ユーザにより入力された線の形状の終端部分の形状が、振動しながら振動幅を狭めていくペナント形状、略一定の振動幅で振動するフラッグ形状、これら以外の形状であるノーマル形状のいずれであるかをユーザが知ることができるようになる。
また、本発明の線形状処理装置において、検出部により、当該線の終端部分の形状が、ペナント形状もしくはフラッグ形状であることが検出された場合、検出部は、当該線の終端部分の前半と、後半と、のそれぞれにおける第2座標値の極値の平均値を対比して、当該線の終端部分の形状が、「上昇」「下降」「水平」のいずれであるかをさらに検出するように構成することができる。
株価変動の解析においては、フラッグ形状やペナント形状が上昇、下降、水平のいずれに相当するかが極めて重要な意味を持つ場合も多いことから、検出部においてこれを検出するものである。この際に、本発明においては、線の終端部分の前半部分の極値の平均と、後半部分の極値の平均と、を対比して、判断を行う。
本発明によれば、ユーザにより入力された線の形状の終端部分の形状が、上昇、下降、水平のいずれであるかをユーザが知ることができるようになる。
また、本発明の線形状処理装置は、候補記憶部、類似抽出部、提示部をさらに備え、以下のように構成することができる。
すなわち、候補記憶部は、あらかじめ用意された複数の線のそれぞれの形状について、当該線に含まれる点の第1座標値に当該点の第2座標値を対応付けて記憶する。
上記の例でいえば、ユーザが入力した株価変動のグラフとは別に、あらかじめ市況から得られた各株式の株価変動のグラフを用意しておくためものである。
一方、類似抽出部は、候補記憶部に記憶された複数の線のそれぞれの形状と、座標記憶部に記憶された線の形状と、の類似度を計算し、当該複数の線のうち、当該計算された類似度が小さいものを候補として抽出する類似抽出部であって、当該類似度が計算される対象となる2つの線について、同じ第1座標値に対してとる第2座標値の差分の自乗に、当該2つの線の終端部分の形状がペナント形状、フラッグ形状、ノーマル形状のいずれの組み合わせとなるかによって決定される重みを乗じた値の総和を当該類似度とする。
上記の例でいえば、既存の株価変動とユーザが入力した株価変動との単なる差分自乗和によって類似度を決定するのではなく、終端部分の形状がペナント形状、フラッグ形状、ノーマル形状のいずれの組み合わせとなるかによって、差分自乗値に対する重みを決定して、類似度を計算するのである。これにより、特にユーザが重要視すると考えられる終端部分の形状に基づいて、類似度を決めることができる。
さらに提示部は、抽出された線の形状を当該ユーザに提示する。
線の形状としては、種々のものを考えることができるが、たとえば、取引の対象となる商品や役務、証券、債権などの価値、たとえば、株価の変動を表すグラフを採用することができる。
このとき、本発明の線形状処理装置において、当該あらかじめ用意された複数の線のそれぞれは、複数の取引対象のうち当該線に対応付けられる取引対象の価値の時間経過による変化を表し、当該ユーザから入力された線の形状は、ユーザが検索の対象とする取引対象の価値の時間経過による変化を、過去から現在へ向けて入力した形状であり、提示部は、抽出された線の形状と、当該線に対応付けられる取引対象の情報と、を当該ユーザに提示するように構成することができる。
すなわち、ユーザが入力した線の形状に類似する形状を有する線の形状が抽出されるので、上記の例では、提示された線の形状をユーザが見ることによって、ユーザは、所望の株価変動の形を有する株式の情報を得ることができるようになる。
また本発明の線形状処理装置は、入力受付部、記憶部、表示部をさらに備え、以下のように構成することができる。
ここで、入力受付部は、当該2次元領域内に配置される線に含まれる点の位置を指定する第1種指示入力と、当該第1種指示入力とは異なる第2種指示入力と、を受け付ける。
株価変動のグラフのように、横方向に時間軸をとったグラフのような線図の座標値を処理する場合には、座標系として直交座標系を用い、第1座標値としてx座標の値、第2座標値としてy座標の値をそれぞれ用いるのが典型的である。ただし、用途によって、x座標やy座標を交換したり、斜交座標や極座標を採用したりしても良い。たとえば、円グラフを描く場合には、第1座標値として角度、第2座標値として半径を採用することができる。
マウスを移動させることによって画面内でマウスポインタを移動させるような入力機器を採用する場合には、マウスのボタンを押したまま移動させるドラッグ操作の間だけ、当該マウスポインタの画面内における位置を指定する第1種指示入力が順次入力されることとするのが典型的である。
この場合、それ以外の操作、たとえば、マウスのボタンを離したり、マウスのボタンを離したままマウスを移動させたりする操作の間は、第2種指示入力が順次入力されることとなる。
一方、タッチパネルのような入力機器を採用する場合には、タッチパネルに触れた(押圧操作した)ままタッチペンを移動させた間の軌跡に含まれる点の位置を指定する第1種指示入力が順次入力されることとするのが典型的である。
この場合、それ以外の操作、たとえば、タッチペンをタッチパネルから離す操作等が、第2種指示入力に対応付けられることとなる。
一方、記憶部は、当該第1種指示入力の受付が続いて行われた場合、当該先の第1種指示入力に指定される開始位置の第1座標値から当該後の第1種指示入力に指定される終了位置の第1座標値までの間に含まれる第1座標値のそれぞれについて、当該開始位置と当該終了位置とを結ぶ線分に含まれ当該第1座標値を有する点の第2座標値を、当該第1座標値に対応付けて、座標記憶部に記憶させる。
先の第1指示入力に指定される座標を(x1,y1)、後の第1指示入力に指定される座標を(x2,y2)としたとき、x1とx2が隣り合う(x1とx2との相違が1)とは限らないため、(x1,y1)と(x2,y2)とを結ぶ線分を想定する。この線分内に含まれる点の位置(x,y)は、以下のように表現される。
(x,(x2-x)・y1/(x2-x1) + (x-x1)・y2/(x2-x1))
ただし、xはx1とx2の間にある。
このようにして得られる(x,y)のxを適切な精度で、たとえば、
(a)x1 < x2の場合は、xの初期値をx1としてx2に至るまでxを1ずつ増やす。
(b)x2 < x1の場合は、xの初期値をx1としてx2に至るまでxを1ずつ減らす。
(c)x1 = x2の場合は、(x,y) = (x2,y2)とする。
のように変化させ、得られる(x,y)について、xにyを対応付けて記憶部に記憶させる。このとき、過去に同じ第1座標値xについて何らかの第2座標値が記憶されていたとしても、これは上書きして、常に最新の第2座標値yを記憶させるのである。
さらに、表示部は、座標記憶部に第1座標値に対応付けられて記憶された第2座標値を、当該第1座標値に対する所定の順序で取得し、当該2次元領域内の当該取得された第2座標値が対応付けられる第1座標値と当該第2座標値とにより指定される位置に対応付けられる画面内の位置に点を描画することにより、当該2次元領域内に配置される線の形状を表示する。
第1座標値としてx座標値を、第2座標値としてy座標値を、それぞれ採用した場合には、x座標値を昇順に取得してそれぞれのx座標値に対するy座標値を取得しても良いし、x座標値を降順に取得してそれぞれのx座標値に対するy座標値を取得しても良い。
このようにして得られる(x,y)に点を描画すると、線の形状が点線(破線)で描かれることとなり、その線の形状は、y = f(x)のように陽関数として表示できるようなグラフをなすこととなる。
本発明によれば、線形状処理装置において、陽関数のグラフ形状をなすような線図を構成する点の座標値を入力させて処理する際に、ユーザの入力を容易にさせることができるようになる。
また、本発明の線形状処理装置において、入力受付部は、当該画面の表面に対する押圧操作を、当該押圧操作された位置に対応付けられる当該2次元領域内の位置を指定する第1種指示入力として受け付け、当該画面の表面からの離脱操作を、第2種指示入力として受け付けるように構成することができる。
画面の表面にタッチパネルが配置され、画面における点や線図の表示位置と、タッチペンで点や線図を描きたいときの押圧操作の位置とが重なるようにしたものである。
本発明は、上記発明の好適実施形態に係るものであり、本発明によれば、所望の形状の線に含まれる点の位置を、ユーザが容易に指示できるようになる。
また、本発明の線形状処理装置は、削除部をさらに備え、以下のように構成することができる。
すなわち、削除部は、当該第1種指示入力の受付が続いて所定の回数行われた場合、当該続いて行われた第1種指示入力の互いに隣り合う第1種指示入力の対のすべてにおいて、当該対の先の第1種指示入力に指定される位置から当該対の後の第1種指示入力に指定される位置へのベクトルと、当該2次元領域において当該第1座標値のみを当該所定の順序で変化させる方向のベクトルと、のなす角が所定の鈍角以上である場合、当該続いて行われた第1種指示入力のそれぞれに指定される第1座標値の最小値から最大値までの範囲に含まれる第1座標値に対応付けられて記憶部に記憶される第2座標値の値を、記憶部から削除する。
たとえばタッチペンの状態を一定時間間隔で監視してこの状態から指示入力を得る場合には、「第1種指示入力が続いて所定の回数行われる」とは、タッチペンでタッチパネルの表面を一定時間以上なぞり続けた場合に相当する。
また、第1座標値としてx座標値を採用し、xが増加する順序に点を描画する場合には、「2次元領域において第1座標値のみを所定の順序で変化させる方向」とは、x軸の正の方向を意味する。
そして、M回続いて行われた第1種指示入力に指定される座標が時間順に
(x1,y1),…,(xM,yM)
であるときに、i = 1,2,…,M-1のすべてについて、方向ベクトル
(xi+1-xi,yi+1-yi)
がx軸正の方向と鈍角θ以上をなす、すなわち、
xi+1<xi かつ |(yi+1-yi)/(xi+1-xi)|≦tanθ
のとき、削除を行うこととなる。
たとえば、x軸が画面の水平方向に配置され、x軸の正の向きが左から右であるとき、グラフなどの線の形状を描く場合には、ユーザはできるだけ左から右へタッチペンを移動させれば良い。このとき、操作に少々の誤差があり、少しだけ右から左へタッチペンが逆行したとしても、線の形状はタッチペンの移動の履歴に合わせて決定される。
しかしながら、タッチペンを右から左へ水平に一定時間以上移動させると、その移動の開始位置のx座標から終了位置のx座標までの間に含まれる線の一部が消去されるのである。
削除の手法としては、RAM内に座標値を記憶する際に、ありえない座標値、たとえば、2次元領域の外側に相当する座標値等を記憶させたり、各第2座標値を記憶する際に、当該第2座標値が削除されているか否かを表すフラグ情報を同時に記憶することとしても良い。
本発明によれば、入力されたグラフ等の線の形状の一部を消去して、分断された線の形状を描いたり、不要な区間を削除したりするような線の形状の編集が容易にできるようになる。
また、本発明の線形状処理装置において、当該第1座標値は整数により表現され、表示部は、当該描画される点の第1座標値と、その直前に描画された点の第1座標値と、が隣り合う場合、当該描画される点と、その直前に描画された点と、を結ぶ線分をさらに描画するように構成することができる。
本発明は、上記発明の好適実施形態に係るものであり、上記発明では、y = f(x)に相当するグラフを、そのx座標値とy座標値を有する点の点列として表示していたが、本実施形態では、描画すべき2つの点のx座標が十分に近い場合、たとえば、画面の表示精度(ドット単位)で隣り合う場合に、これら2つの点の間に線分を描画することによって、グラフを線図として描くことができるようにするものである。
なお、x座標が隣り合わない場合は、その間には線分を描画しないから、y = f(x)のx座標のうち、一部の区間についてはy座標が定義されないような、分断されたグラフを描くこともできる。
本発明によれば、入力された点の位置を適切に結ぶグラフ等の線の形状を描き、各種のグラフ等を表示させることが容易にできるようになる。
また、本発明の線形状処理装置において、記憶部は、当該第1座標値をインデックスとする配列の要素として当該第2座標値、もしくは、当該第1座標値に対応付けられるべき第2座標値は削除されている旨を示す値を記憶し、表示部は、当該配列のインデックスが当該所定の順序に変化するように当該配列の要素を走査して、当該第1座標値に対応付けられる当該第2座標値を取得するように構成することができる。
多くの情報処理装置においては、第1座標値と第2座標値はいずれも整数で入力され、所定の領域として、たとえば、幅320×高240などの大きさを採用した場合は、第2座標値のとりうる値は0〜239の240通りで、1バイトで表現でき、第1座標値のとりうる値は0〜319の320通りであるから、配列全体のサイズは320バイトとすれば良い。配列の要素の値(すなわち、第2座標値)として255を記憶させた場合には、その要素のインデックスである第1座標値では、グラフは描かれない(点が削除されている)として扱うことが可能である。
本発明によれば、各第1座標値に対して最後に記憶された第2座標値を唯一の値として管理するのに容易なデータ構造を実現して、処理を高速に行うことができる。
本発明のその他の観点に係る線形状処理方法は、2次元領域内のそれぞれの位置が第1座標値と第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は、本発明に係る線形状処理装置が実現される一般的な情報処理装置の概要構成を示す説明図である。以下、本図を参照して説明する。
本情報処理装置101は、CPU(Central Processing Unit)102と、RAM(Random Access Memory)103と、ROM(Read Only Memory)104と、入力装置105と、画像処理部106と、液晶ディスプレイ107と、音声処理部108と、スピーカ109と、カセットリーダ110と、を備える。
CPU 102は、本情報処理装置101の各部の制御を行う。RAM 103の記憶域、ROM 104の記憶域、カセットリーダ110に挿入されたROMカセット111の記憶域は、いずれも、CPU 102が管理する1つのメモリ空間にマップされており、CPU 102は、それぞれの記憶域がマップされるアドレスを読み出せば、それぞれに記憶されている情報を取得することができる。また、RAM 103の記憶域には、書き込みも可能である。
このほか、CPU 102が画像処理部106や音声処理部108に対して各種の指示を行う際や、これらのほか、入力装置105から情報を取得する際の、窓口となるレジスタも、当該メモリ空間にマップされており、所定のアドレスにコマンドを表すデータ書き込みを行えば指示をすることができ、所定のアドレスからデータを読み出せば、情報を取得することができる。
情報処理装置101の電源が投入されると、CPU 102は、カセットリーダ110に挿入されたROMカセット111の記憶域がマップされたアドレスから開始されるプログラムを実行する。RAM 103は、一時的な記憶域として種々の目的に使用される。ROM 104には、情報処理装置101が提供するBIOS(Basic Input/Output System)ルーチンが記録されており、ROMカセット111内のプログラムから、適宜呼び出すことができる。
入力装置105は、方向を表す指示入力を受け付けるボタン、各種の操作を区別する指示入力を受け付けるボタンからの入力をメモリ空間にマップされたレジスタに反映させるほか、液晶ディスプレイ107の表面に貼り付けられたタッチパネルが押圧されているか否か、および押圧されているときのその座標の入力も受け付ける。
液晶ディスプレイ107は、画像処理部106によって管理される。メモリ空間にマップされたタイルを記憶するための記憶領域や、オブジェクト属性メモリを記憶するための記憶領域が用いられる。CPU 102が、計算により生成した値を書き込んだり、カセットリーダ110に挿入されたROMカセット111から適切に情報を転送すると、液晶ディスプレイ107にスプライト画像が表示されることとなる。
このほか、液晶ディスプレイ107に表示される画像を画素単位で管理するフレームバッファを利用することもでき、液晶ディスプレイ107においてある色をある位置に表示したい場合には、フレームバッファ内のその位置に相当する場所にその色に相当する数値を書き込むと、適切なタイミングで液晶ディスプレイ107にビットマップ画像が表示される。
たとえば、16ビットカラー表示320×200ドットの液晶ディスプレイ107の場合、画素1つ分の色は2バイトで表現される。そこで、320×200個の要素(各2バイト)を持つ配列をフレームバッファとしてRAM 102内に用意し、当該配列の要素を1対1に液晶ディスプレイ107の画素に対応させる。当該配列の要素に色を表す16ビットの値を書き込み、適切なタイミングで(たとえば、垂直同期割り込みが発生する周期で)フレームバッファの内容を液晶ディスプレイ107に反映させるように、画像処理部106にて制御を行う。
液晶ディスプレイ107の数は1つまたは複数とするのが一般的であり、複数の場合には、一方の液晶ディスプレイ107は表示専用とし、他方の液晶ディスプレイ107にはタッチパネルが貼り付けられているように構成しても良い。この場合、タッチペンでタッチパネルを押圧操作することにより、対応する液晶ディスプレイ107の位置を表す座標値が、入力される。
なお、本情報処理装置101は、典型的な携帯ゲーム装置として利用されるものであるが、本発明の技術は、マウスおよびキーボードとCRT(Cathode Ray Tube)を用いて入力と出力を行うような汎用コンピュータで動作する各種のアプリケーションに適用することも可能であり、そのような実施形態も本発明の範囲に含まれる。
(基本的な構成)
図2は、本実施形態に係る線形状処理装置の概要構成を示す説明図である。以下、本図を参照して説明する。
本実施形態に係る線形状処理装置201は、入力受付部202、座標記憶部203、履歴記憶部204、表示部205、削除部206、検出部207を備える。
入力受付部202は、液晶ディスプレイ107の表面に貼り付けられたタッチパネルとタッチペンの組み合わせによって実現される。CPU 102がメモリ空間にマップされた所定のレジスタの値を検査すると、タッチペンでタッチパネルが押圧操作されているか、それとも解放されているか、の情報や、押圧操作されている場合にタッチパネルにおけるその押圧操作されている座標が、直交座標系で得られる。
ここで、本実施形態では、横軸に時間変化、縦軸に株価や体重などの値をとるグラフの線図を入力したい場合を考える。したがって、x座標が第1座標値に、y座標が第2座標値に、それぞれ相当する。上記の例では、x座標としてとりうる値は0〜319、y座標としてとりうる値は0〜239である。これらの数値は、適用分野および情報処理装置101の仕様に応じて、適宜変更が可能である。
一方、座標記憶部203は、グラフの線図に含まれる点のx座標値とy座標値の組合せを記憶するものであり、履歴記憶部204は、座標値の入力の履歴を記憶するものであり、CPU 102の制御の下、典型的にはRAM 103によって実現される。
また、表示部205は、グラフの線図を表示するものであり、CPU 102の制御の下、液晶ディスプレイ107によって実現され、削除部206は、座標記憶部203や履歴記憶部204に記憶される情報を適宜管理するもので、CPU 102がRAM 103と共働して実現される。
さらに、検出部207は、座標記憶部203に記憶された線の形状が所定の特徴的な形状を有しているか否かを検出するもので、CPU 102がRAM 103と共働することにより実現される。
なお、履歴記憶部204および削除部206を用いた処理や、検出部207を用いた処理は、適用分野によっては省略することができ、これらを適宜省略した実施形態も、本発明の範囲に含まれる。
図3は、本実施形態の線形状処理装置にて実行される座標値入力表示処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
まず、CPU 102は、RAM 103内に用意された、座標記憶部203を初期化し(ステップS301)、履歴記憶部204を初期化する(ステップS302)。
座標記憶部203は、320バイトの配列Fによって実現される。以下、配列Fのx番目の要素をF[x]と表記する。本実施形態では、第1座標値xに対する最新の第2座標値yが、配列のx番目の要素F[x]に記憶される。
上記の例では、第2座標値として有効な値は0から239であるため、「第1座標値xに対応する第2座標値yは存在せず、第1座標値xの場所でグラフが途切れている」ことを表すために、255という値を用いる。
したがって、座標記憶部203の初期化は、x = 0,1,…,319について、F[x] ← 255の処理を実行することで行う。ここで、「←」は、いわゆる代入を意味する。
一方、履歴記憶部204は、直近に入力されたx座標とy座標の組合せを所定の個数Mだけ、順次記憶するリングバッファとして実現される。
当該リングバッファは、次に値を登録すべき場所を記憶する変数pと、x座標、y座標からなる構造体を要素とする配列Rと、押圧操作されている旨の座標入力が現在までに何個連続してされたか(どれだけの時間連続してされたか、に相当する。)を格納する変数nと、によって実現する。配列Rの要素の数はM個とする。以下では、配列Rのi番目の要素はR[i]のように表記し、当該要素のx座標、y座標は、それぞれ、R[i].x,R[i].yのように表記する。
したがって、履歴記憶部204の初期化は、p ←0,n ← 0とし、i ← 0,1,…,M-1について、R[i].x ← -1,R[i].y ← 255のように値を設定することによって実現される。
このようにして、RAM 103内に確保された各種の変数領域の初期化を行った後、CPU 102は、メモリ空間内にマップされた所定のレジスタを参照して、液晶ディスプレイ107の表面に貼り付けられたタッチパネルが押圧操作されているか否かを調べる(ステップS303)。
押圧操作されている場合(ステップS303;Yes)、メモリ空間内にマップされた所定のレジスタを参照して、液晶ディスプレイ107の表面に貼り付けられたタッチパネルが押圧操作されている位置のx座標値aとy座標値bを取得する(ステップS304)。すなわち、ステップS303〜ステップS304により、第1種指示入力を受け付けたことになる。
なお、この際に、x座標値aやy座標値bには、符号を反転して定数を加算して向きを逆向きにしたり、適当な定数で乗除を行って座標値の精度を所望の精度に変更するなどの各種の変換処理を行っても良い。また、円グラフの形状を描く場合には、x座標値に相当するものは角度、y座標値に相当するものは中心からの距離とするのが典型的である。
そして、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である。)を意味する。
なお、マウスを移動させることによって画面内でマウスポインタを移動させるような入力機器を採用する場合には、マウスのボタンを押したまま移動させるドラッグ操作の間だけ、当該マウスポインタの画面内における位置が順次入力されることとするのが好適である。マウスのボタンが押圧されているか否かと、マウスポインタの現在位置と、の情報を用いれば、ステップS303〜ステップS304と同等の処理を行うことができる。
さらに、n ← n + 1を実行して(ステップS306)、押圧操作(第1種指示入力)が現在までに連続してされていることを示す回数をカウントする。ステップS303以降の処理は、後述するように、一定の時間おきにされるので、nの値は、押圧操作が現在までに連続してされている時間と考えることもできる。
ついで、CPU 102は、所定の削除条件が満たされているか否かを判定する(ステップS307)。削除条件が満たされていると、入力された座標値を適宜削除することとなるが、その詳細については後述することとする。また、前述した通り、削除条件を考慮せず、ステップS306からステップS308に直ちに移行するような態様を採用しても良い。そこでここでは、削除条件が満たされていない場合(ステップS307;No)について説明する。
削除条件が満たされていない場合(ステップS307;No)、CPU 102は、押圧操作(第1種指示入力)が連続してされているか否か、すなわち、n≧2が成立するか否かを判断する(ステップS308)。
成立しない場合(ステップS308;No)、すなわち、第2種指示入力に続いて第1種指示入力が行われた場合、言い換えれば、タッチパネルから離れていたタッチペンがタッチパネルに触れたことが検出された場合、F[a]←bを実行して(ステップS330)、押圧操作されている座標の情報を登録し、ステップS319に進む。すなわち、ステップS330は、過去に入力された線の形状の修正を開始することに相当する。
一方、成立する場合(ステップS308;Yes)、最新の第1種指示入力により指定される座標は、
(x1,y1) = (R[(p-1) mod M].x,R[(p-1) mod M].y)
であり、その直前の第1種指示入力により指定される座標は、
(x2,y2) = (R[(p-2) mod M].x,R[(p-2) mod M].y)
であるから、これらの座標値を取得する(ステップS309)。
そして、x1 = x2であるか否かを判定し(ステップS310)、そうであれば(ステップS310;Yes)、F[x2] ← y2を実行して(ステップS311)、所望の形状の線が通過する点として第1座標値x2に対して最新に入力された第2座標値y2を、座標記憶部203に登録する。
一方、x1≠x2である場合(ステップS310;No)、RAM 103に用意された変数領域sに対して、s ← sgn(x2-x1)を実行する(ステップS312)。ここで、sgn(z)は、zが正のときに1、zが負のときに−1を返す関数である。
そして、RAM 103に用意された変数領域xの初期値としてx1を設定してから(ステップS313)、以下の処理を繰り返す(ステップS314)。すなわち、RAM 103に用意された変数領域yに対して
y ← (x2-x)・y1/(x2-x1) + (x-x1)・y2/(x2-x1)
を実行し(ステップS315)、(x1,y1)と(x2,y2)とを結ぶ線分の第1座標値がxであるときの第2座標値yの値を求める。
そして、F[x] ← yを実行して(ステップS316)、所望の形状の線が通過する点として第1座標値xに対して最新に入力された第2座標値yを、座標記憶部203に登録する。
ついで、x ← x + sを実行し(ステップS317)、x≠x2の間、ステップS314〜ステップS318の処理を繰り返す(ステップS318)。
さて、繰り返しが終わったら、ついで、CPU 102は、i = 0,1,…,319についてiの値を1ずつ増やしながら、以下の処理を繰り返す(ステップS319)。
まず、F[i]が有効なy座標値であるか否かを調べる(ステップS320)。すなわち、本実施形態では、0≦F[i]≦239であるか否かを調べる。そして、F[i]が有効なy座標値である場合(ステップS320;Yes)、液晶ディスプレイ107の2次元面の各画素に対応する情報を格納するフレームバッファの、座標(i,F[i])に相当する位置に、点を描画する情報を書き込む(ステップS321)。一方、そうでなければ(ステップS320;No)、点の描画はせず、ステップS322に進む。
ステップS319〜ステップS322を繰り返すことによって(ステップS322)、タッチペンでなぞった位置のうち、位置が検出された点が画面に表示されることになる。
さらに、CPU 102は、i = 0,1,…,318について、iの値を1ずつ増やしながら、以下の処理を繰り返す(ステップS323)。
すなわち、F[i]とF[i+1]が両方とも有効なy座標値であるか否かを調べる(ステップS324)。この判定基準は、ステップS319におけるものと同様である。そして、両方とも有効なy座標値である場合(ステップS324;Yes)、フレームバッファの座標(i,F[i])から座標(i+1,F[i+1])までの線分を描画する情報を書き込む(ステップS325)。このようなフレームバッファに対する線分描画の処理は、ブレゼンハム線分描画アルゴリズムを採用しても良いし、画像処理部107自体がそのような機能を有する場合もある。
一方、そうでなければ(ステップS324;No)、線分の描画はせず、ステップS326に進む。
ステップS323〜ステップS326を繰り返すことによって(ステップS326)、タッチペンでなぞった位置のうち、位置が検出された点を結ぶ線分も画面に表示されることになる。
そして、垂直同期割り込みが発生するまで待機する(ステップS327)。当該待機中には、コルーチン的に他の処理を実行することができる。垂直同期割り込みが発生したら、CPU 102は、画像処理部106に指示を出して、フレームバッファの内容を液晶ディスプレイ107に反映させ、タッチペンを用いて入力された座標値に相当する位置に点を表示し、これらの点を結ぶ線分を適切に表示する(ステップS328)。そして、ステップS303に戻る。
一方、タッチペンが押圧操作されておらず、タッチパネルから離れている場合(ステップS303;No)、n ← 0としてその旨を記憶してから(ステップS329)、ステップS319に進む。これは、第2種指示入力を受け付けたことを意味する。
このような処理によって、タッチペンで入力された点の軌跡から、どのようなグラフの線の形状が描画されることとなるのかについて、説明する。
図4は、押圧操作されたタッチペンの移動の軌跡と、これに対して表示されるグラフ線の形状の様子を示す説明図である。以下、本図を参照して説明する。
本図(a)には、上下にジグザグに蛇行する線をユーザがタッチペンで描いた場合の軌跡を示す。このようなジグザグ線401の形状は、たとえば株価の時間変化において、ペナントやフラッグと呼ばれるような、株価変動が短い周期に頻繁に起きる状況を示すグラフを線の形状としたものである。時間経過は左から右に設定されているので、このジグザグ線401の軌跡は、全体として見ると、概ね左から右に移動していたことになる。
ここで、ユーザがタッチペンを押圧操作しながら移動させるときにジグザグ線401を描くと、タッチペンが常に左から右に移動するとは限らず、ときどきは右から左に戻ってしまうような動きになってしまうことがある。急いでタッチペンを操作した場合には特にこのようなことが発生する。このような逆行が生じると、あるx座標におけるジグザグ線401のy座標の値が複数発生することとなる。本図でも、このような重複部分402が何か所が生じている。
本図(b)には、このような重複部分402を含むようなジグザグ線401がタッチペンで描かれた場合、実際に入力されるグラフの線403の形状の様子を示している。
上記のように、本実施形態では、ある時点(横軸)における値(縦軸)は1つに決められ、ある時点における値が複数存在してしまう場合には、最後に入力された値が採用される。したがって、右から左へ後戻りしてしまう場合であっても、その後に左から右へタッチペンが移動することとなっており、その最新の軌跡がグラフの線403として採用されている。
また、本図(c)は、本図(a)で描かれたジグザグ線401の一部のジグザグをやめて、平ら(x軸に平行に)にしたいと考えたときの、タッチペンの移動の軌跡を描いてある。本図に示すジグザグ線401をタッチペンで描いた後に、平らな線404を左から右へタッチペンで描いたものである。
このような操作を行うと、あるx座標に対するy座標の値としては、最後に入力されたものが有効となる。本図(d)では、実際に入力されるグラフの線405の形状の様子を示しており、平らにしたい部分が反映されている。
なお、後述する削除条件を採用しない場合は、平らな線404に沿ってタッチパネルを押圧するようにタッチペンを右から左へ移動させても、左から右へ移動させても、平らにしたい部分が反映されることになる。
図5は、タッチペンの移動の軌跡と、画面に表示される線の形状との関係を説明する説明図である。以下、本図を参照して説明する。
本図(a)〜(e)は、タッチペンが移動する様子を時系列順に示すものであり、矢印はタッチペンが移動する方向を表し、実線はタッチペンがタッチパネルを押圧操作しながら移動していることを、破線はタッチペンがタッチパネルから解放されて移動していることを、それぞれ示す。
一方、本図(A)〜(E)は、本図(a)〜(e)に対応して、時系列中のそれぞれの時点で、画面に表示される線の形状の様子を示すものである。
本図(a)のように、タッチペンを概ね左から右へ押圧移動させると、本図(A)のように、これと同じ形状の線の形状が描画される。本図(b)と本図(B)についても同様である。
この後、本図(c)に示すように、タッチペンをタッチパネルから離して、タッチペンを移動する。このとき、タッチペンはタッチパネルから離れているから、第1種指示操作入力はされないので、画面に表示される線の形状は、本図(B)と本図(C)とで同じになる。
たとえば、本図(B)に表示される線の形状は逆S字形のカーブをなしているが、その末端をペナント形状にしたくなった場合を考える。本実施形態では、本図(d)に示すように、タッチペンを右から左に移動して、ジグザグ線を描き始めるだけで良い。本図(D)は、このジグザグ線を描いている途中での表示例であり、グラフの線の形状は、一繋がりの線になっている。
本図(e)には、このままジグザグ線を描き続けた様子を示す。これに呼応して、本図(E)に示すように、一繋がりの線の形状が、画面に表示される。
このように、本実施形態では、おおまかなグラフの形状を描いた(本図(a)(b))後に、その一部をジグザグ線に修正したいときには、その区間に単純にジグザグ線を描くだけで(本図(d)(e))、グラフが一繋がりとなって得られる。この際に、ジグザグ線の開始点や終了点を、過去に描いたおおまかな線の上に重ねる必要はないため、ユーザは、修正が容易である。
さて、本実施形態では、横方向に時間軸をとったグラフのような線図の座標値を処理しているため、座標系として直交座標系を用い、第1座標値としてx座標の値、第2座標値としてy座標の値をそれぞれ用いているが、用途によって、x座標やy座標を交換したり、斜交座標や極座標を採用したりしても良い。たとえば、円グラフを描く場合には、第1座標値として角度、第2座標値として半径を採用することができる。
このように、斜行座標や極座標におけるグラフの入力においては、座標軸が直交していなかったり曲線であったりするために、ユーザの入力にぶれが生じやすいが、本発明を適用した場合には、このようなぶれを適宜修正して、ユーザの希望に近い形状のグラフの座標値を取得することができるようになる。
(削除条件)
上記のように、削除条件が常に満たされないものとしても、グラフ線図を描いたり、これを修正する作業を十分に行うことができるが、グラフの一部を削除したいこともありうる。すなわち、途切れた線図を描きたい場合である。また、一旦余計なグラフを消去してから、新たに所望のグラフを書き直したいことも多い。そこで、以下では、簡単な操作でグラフ線図の一部を消去するための技術について説明する。
上記のように、グラフを描く場合には、タッチペンを押圧操作しながら左から右へ移動させる。そこで、本実施形態では、グラフを消去する場合には、消去したい範囲で、タッチペンを押圧操作しながら右から左へ移動させることとするのである。
ただし、ジグザグ線を描くような場合には、上述の通り、タッチペンが一瞬だけ右から左へ移動してしまうことがありうる。
これらを区別するため、タッチペンが一定時間の間、右から左へ、ほぼ水平に移動した場合には、グラフを消去するが、そうでない場合は、タッチペンが右から左へ移動したとしても、通常の座標値の入力として解釈するのである。このための判断基準が削除条件である。
この「一定時間」に相当するものは、本実施形態では、「M×垂直同期割り込み周期」である。すなわち、「M×垂直同期割り込み周期」の間、タッチペンが右から左へほぼ水平に移動した場合には、線の形状のうち、その右から左への移動の範囲だけを削除する。
本実施形態では、リングバッファを用いて、削除条件「M×垂直同期割り込み周期の間、タッチペンが右から左へほぼ水平に移動した」か否かを、以下のように検知する。
図6は、削除条件が成立するか否かを判断するステップS307と、成立した場合に実行される処理の詳細な制御の流れを示すフローチャートである。以下、本図を参照して説明する。
本処理が開始されると、まず、n≧Mであるか否かを判断する(ステップS501)。n<Mである場合(ステップS501;No)、本処理を終了し、ステップS308に進む。
一方、n≧Mである場合(ステップS501;Yes)、リングバッファ内に、現在までのM×垂直同期割り込み周期の間のタッチペンの移動の座標の履歴は、リングバッファ内に時間順に、
(x1,y1) = (R[(p-M) mod M].x,R[(p-M) mod M].y),
(x2,y2) = (R[(p-M+1) mod M].x,R[(p-M+1) mod M].y),
…,
(xi,yi) = (R[(p-M-1 + i) mod M].x,R[(p-M-1 + i) mod M].y),
…,
(xM,yM) = (R[(p-1) mod M].x,R[(p-1) mod M].y)
のように格納されていることになる。
また、所定の鈍角θ(典型的には、170度〜180度程度の範囲の間。)を用いて、x軸の向きと、タッチペンが移動した向きとがこの鈍角θ以上のときに、タッチペンが水平に移動しているものと判断する。
そこで、i = 1,2,…,M-1について、iを変化させながら、以下の処理を繰り返す(ステップS502)。
まず、xi+1<xi かつ |(yi+1-yi)/(xi+1-xi)|≦tanθであるか否か、すなわち、履歴のi番目からi+1番目についてのタッチペンの移動の方向ベクトル
(xi+1-xi,yi+1-yi)
がx軸正の方向と鈍角θ以上をなし、ほぼ水平方向逆向きに移動したか否かを判断する(ステップS503)。
この条件が成立していなければ(ステップS503;No)、本処理を終了して、ステップS308に進む。一方、この条件が成立していれば(ステップS503;Yes)、ステップS502〜ステップS504の処理を繰り返す。
i = 1,2,…,M-1のすべてについて上記の条件が成立したときは、削除条件が成立したことになり、ステップS505に進む。
削除条件が成立している場合、
xM<xM-1<…<x2<x1
であるから、最近のM個の履歴におけるx座標の最大値はx1、x座標の最小値はxMである。
そこで、i = xM,xM+1,…,x1-1,x1のそれぞれについて、以下の処理を繰り返す(ステップS505)。
すなわち、座標記憶部203において、
F[i] = 255
を実行する(ステップS506)ことを、繰り返すのである(ステップS507)。
この処理によって、線の形状からx座標がxM以上x1以下の区間が除去され、多くの場合、線が分断されることになる。
繰り返し(ステップS505〜ステップS507)が終了したら、本処理を終了して、ステップS319に進む。
図7は、タッチペンを右から左に移動する操作をユーザが行った場合に入力される線の形状を示す説明図である。以下、本図を参照して説明する。
本図(a)には、ユーザが行ったタッチペンの移動の経路を示す。図4におけるものと同様のジグザグ線401に沿ってタッチペンでタッチパネルを押圧操作しながら移動させた後、タッチペンをタッチパネルから外して、さらにペンを置き、右から左へのほぼ水平な消去指示線601に沿ってタッチペンでタッチパネルを押圧操作しながら移動させ、その後にタッチペンを外したときの「押圧操作経路の履歴」が示されている。
本図(b)は、ジグザグ線401に沿ってタッチペンでタッチパネルを押圧操作しながら移動させた直後に、線形状処理装置によって表示されるグラフの線403の形状の「画面表示例」を示すものである。図4(b)と同様の形状が表示されている。本図には、タッチペンがタッチパネルをなぞった履歴であるジグザク線401に応じたグラフの線403の形状が、表示例として示されている。
本図(c)は、さらにその後に、消去指示線601に沿ってタッチペンでタッチパネルを押圧操作しながら移動させた直後に、線形状処理装置によって表示されるグラフの線603の線の形状の「画面表示例」を示すものである。本図に示すように、グラフの線603の線の形状は、途中で分断されている。
これは、消去指示線601に沿って水平にある程度の時間連続してタッチペンでタッチパネルを押圧操作しながら移動させると、グラフの線403の形状のうち、当該移動区間の水平範囲が削除されるからである。
このように、本実施形態によれば、簡単な操作で、線の形状から一部の区間を削除することができ、ユーザは容易に線の形状を修正、編集することができるようになる。
(座標値に対する種々の処理)
以下では、特に株の価格変動を示す場合に用いられる線の形状を検出する技術について説明する。本技術は、上記のような技術によって入力された線の形状が、株の価格の時間経過をあらわすグラフだと考えたときに、株の価格変化の特徴を検出することに適用することができる。
このような株の価格変化に特徴的な形状には、ペナントとフラッグと呼ばれるものがある。図8は、ペナントとフラッグの形状を表す説明図である。以下、本図を参照して説明する。
本図(a)(b)(c)は、ペナントと呼ばれる形状であり、当初は値動きが激しいが、時間が経過するにつれて値が次第に収束するような形状である。すなわち、価格が振動しながら(ジグザグになりながら)、その振動幅が次第に狭まっていく形状である。さらに、平均的な値がほぼ一定のときは単に「ペナント」もしくは「水平ペナント」(本図(a))、上昇しているときは「上昇ペナント」(本図(b))、下降しているときは「下降ペナント」(本図(c))のように呼ぶ。
一方、本図(d)(e)(f)は、フラッグと呼ばれる形状であり、ほぼ同じ値動きの変動幅が維持される形状である。すなわち、ほぼ一定の振動幅で振動する(ジグザグになる)形状である。さらに、平均的な値がほぼ一定のときは単に「フラッグ」もしくは「水平フラッグ」(本図(d))、上昇しているときは「上昇フラッグ」(本図(e))、下降しているときは「下降フラッグ」(本図(f))のように呼ぶ。
ペナントやフラッグは、株価の変動においては、もっとも直近(最近)に生じたものが重要である。したがって、ペナントやフラッグを検出する際には、これらがグラフの終端近傍に存在するか否か(上記実施形態でいえば、x座標が一番大きいところで当該形状を呈するか否か)、を検出する必要がある。
さて、上記実施形態においては、線の形状が座標記憶部203の配列Fに記憶されている。したがって、この配列Fの内容を吟味することで、ペナントやフラッグを検出することができる。以下、この検出を行う処理の詳細について説明する。
本実施形態では、線の形状の極大点、極小点、および、その時のx座標の広がりから、ペナントもしくはフラッグの確認を行う。図9は、線の形状にペナントやフラッグの形状があるか否かを検出するための検出処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
本処理においては、以下のような定数および一時変数を用いる。
定数W。極大点を2W個、極小点を2W個抽出するために用いる。
極大点のx座標値およびy座標値の部分和および平均を、前半と後半に分けて記憶するための配列AX,AY。いずれも要素は2つである。
極小点のx座標値およびy座標値の部分和および平均を、前半と後半に分けて記憶するための配列IX,IY。いずれも要素は2つである。
2W個の極大点および極小点のx座標の広がりが、ペナントもしくはフラッグに相当すると考えられるための閾値定数Z。x座標の広がりがZ以下であれば、激しく値が上下していることになり、ペナントもしくはフラッグであると考えるが、そうでなければ、ゆるやかに値が上下していることになり、ペナントでもフラッグでもないことになる。
本処理が開始されると、CPU 102は、RAM 103にアクセスして、配列AX,AY,IX,IYを初期化する(ステップS801)。具体的には、i = 0,1のそれぞれについて、AX[i] ← 0,AY[i] ← 0,IX[i] ← 0,IY[i] ← 0を実行する。
次に、現在までに検出された極大点および極小点の数をカウントするための変数mを初期化する(ステップS802)。具体的には、m ← 0を実行する。
さらに、i = 318,317,…,2,1について、iの値を1ずつ減らしながら、以下の処理を繰り返す(ステップS803)。
まず、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で割った整数除算(余りを切り捨てる割り算)を意味する。
そして、m ← m+1を実行して(ステップS806)、m ≧ 4Wであれば(ステップS807;Yes)、繰返しを抜けてステップS820に進み、そうでなければ(ステップS807;No)、次の繰返しに移る(ステップS808)。
一方、極大点でなければ(ステップS804;No)、F[i-1] > 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に進む。
さて、繰返し(ステップS803〜ステップS808)が単純に終了したときは、検出された極大点および極小点の総数が少なかったことになるため、線の形状はペナントでもフラッグでもない旨を出力して(ステップS811)、本処理を終了する。当該出力先は、RAM 103内の情報格納場所として他の機能単位に処理させることとしても良いし、ユーザに提示することとしても良い。
一方、繰返しの途中で抜けた場合には(ステップS807;Yes)、i = 0,1のそれぞれについて、以下の処理を繰り返す(ステップS820)。すなわち、AX[i] ← AX[i]/W,AY[i] ← AY[i]/W,IX[i] ← IX[i]/W,IY[i] ← IY[i]/Wを実行して(ステップS821)、繰り返しを行う(ステップS822)。
なお、ステップS803〜ステップS808の繰返しでは、iの値を1ずつ減らされていく一方で、mの値は1ずつ増えていく。AX,AY,IX,IYの添字が小さい要素には、グラフにおいてiの値が大きい側(右側、すなわち直近の側)の情報が蓄積されており、AX,AY,IX,IYの添字が大きい要素には、グラフにおいてiの値が小さい側(右側、すなわち過去の側)の情報が蓄積されている。したがって、ステップS822の後は、
(AX[0],AY[0]) … 直近の極大点の平均(重心)
(AX[1],AY[1]) … 以前の極大点の平均(重心)
(IX[0],IY[0]) … 直近の極小点の平均(重心)
(IX[1],IY[1]) … 以前の極小点の平均(重心)
となる。
図10は、極大点、極小点および各重心の位置の関係を示す説明図である。本図では、W = 2の場合について図示している。以下、本図を参照して説明する。
本図に示すように直近から過去に向けて極大点931、921、911、901および極小点936、926、916、906が検出されている。
時系列に沿ってグラフを描く場合、左から右に時間が進むように描くことが一般に行われているため、画面右側の方が「直近」であり、画面左側の方が「過去」に相当する。
そして、過去の極大点の重心961は、極大点901、911の中点にあり、直近の極大点の重心971は、極大点921、931の中点にあり、過去の極小点の重心966は、極大点906、916の中点にあり、直近の極小点の重心976は、極大点926、936の中点にある。
これらの重心961、966、971、976の位置関係によって、ペナントか、フラッグか、上昇か下降か水平か、などを判断するのである。
まず、AX[0]-AX[1]<ZかつIX[0]-IX[1]<Zであるか否かを調べる(ステップS823)。そうでなければ(ステップS823;No)、値動きの時間変化が激しくないことになるので、ステップS811に進む。
一方、そうであれば(ステップS823;Yes)、AY[0]-IY[0]とAY[1]-IY[1]を比較する(ステップS824)。前者が後者より小さければ(ステップS824;<)、「ペナント」である旨を出力し(ステップS825)、前者が後者と(ほぼ)等しければ(ステップS824;=)、「フラッグ」である旨を出力し(ステップS826)、前者が後者より大きければ(ステップS824;>)、「ノーマル」である旨を出力する(ステップS831)。ここで「ノーマル」とは、「ペナント」でも「フラッグ」でもないことを意味する。
さらに、AY[0]+IY[0]とAY[1]+IY[1]を比較する(ステップS827)。前者が後者より大きければ(ステップS827;>)、「上昇」である旨を出力し(ステップS828)、前者が後者より小さければ(ステップS827;<)、「下降」である旨を出力し(ステップS829)、前者が後者と(ほぼ)等しければ(ステップS827;=)、「水平」である旨を出力して(ステップS830)、本処理を終了する。
なお、ステップS824およびS827における比較においては、いずれも、所定の誤差を考慮して、2つの値が当該誤差範囲内に納まれば、「(ほぼ)等しい」と判断することとするのが典型的である。
また、本実施形態では、ステップS831において「ノーマル」と出力した後にステップS827に進むこととしているが、そのかわりにステップS831からステップS811に進むこととして、「ノーマル」の場合には「上昇」「下降」「水平」の判断は行わないこととしても良い。
本処理によれば、特に株の価格変動を示す場合に用いられる線の形状を検出することができるようになる。
(線の形状の類似度)
上記実施形態では、極大点や極小点の平均位置(重心)を用いて、線の形状の特徴を抽出していたが、複数の線同士の類似度を求めたい場合も多い。たとえば、時間経過に伴う株価の変化をユーザがタッチペンを用いて入力し、その変化に類似する株式を検索する、などの応用を考える場合には、上記のように抽出された特徴を適切に利用して、線の形状の類似度を求める必要がある。以下では、このような線の形状の類似度を求める技術について説明する。
2つの線の形状を比較するためには、まず、その2つの線に対して適切な正規化を行う必要がある。以下、上記の実施形態に沿って、水平方向の右から左にx軸が設定され、垂直方向の下から上にy軸が設定され、このx−y平面内に、対比される線が配置されている場合を考える。
まず、2つの線の横幅(x軸方向の幅)が異なる場合には、一方を横方向(x軸方向)に拡大もしくは縮小して、2つの線の横幅を等しくするように、変換を加える。このとき、両者の長さの比がある定数(たとえば2や3や5。)よりも大きかったり、別の定数(たとえば0.5や0.333や0.2。)よりも小さかったりした場合には、2つの線は大きさが違い過ぎるため、「類似判定不能」あるいは「類似していない」と判断することが望ましい。
また、線が途中で途切れている場合には、途切れている間を適当に補間(単に線分で結んだり、スプライン補間する等の手法を採用することができる。)しても良いし、複数の線のうち直近のもの(最も右側にあるもの)を選択しても良い。
また、横方向への拡大もしくは縮小は、両方の線に対して行うこととしても良く、両方の線を縮小するのが典型的である。
たとえば、上記の実施形態では、i = 0,…,319について値F[i]が座標記憶部203に記憶されているが、これを幅Wに縮小し、k = 0,1,…,W-1について値f[k]が定められるようにするには、
f[k] = Σi=0 W/320 F[kW/320 + i](W/320)
のように計算して、kに対する値f[k]が、区間i = kW/320,kW/320+1,…,(k+1)W/320 - 1に対する値F[i]の平均値となるような変形を行えばよい。
以下、理解を容易にするため、いずれの線の形状についても、適切な選択や変換を行って、線は途中で途切れず、幅はWに正規化されているものとする。
そして、2つの線について、それぞれ正規化された結果が、RAM 103内の要素数Wの配列f,gに格納されているものとする。また、当該配列名f,gによって、線そのものを意味するものとする。
次に、2つの線f,gのy軸方向の高さを揃えるため、それぞれの重心を求める。上記実施形態では、x座標値iでのy座標値がそれぞれf[i],g[i]であるから、それぞれの重心のy軸方向の高さp,qは、
p = Σi=0 W-1 F[i]/W
q = Σi=0 W-1 G[i]/W
により求めることができる。
すると、高さを揃えたときに、同じx座標値[i]における2つの線f,gの高さの差Δ[i]は、
Δ[i] = (F[i]-p) - (G[i]-q)
により計算できる。
さて、2つの線f,gの類似度L(f,g)については、自乗和を利用した以下のような計算式を用いる手法が考えられる。
L(f,g) = Σi=0 W-1 Δ[i]2
すなわち、L(f,g)が小さければ小さいほど、2つの線f,gは類似している、と考えるのである。
しかしながら、株価の変動のように、フラッグであるかペナントであるか、や、直近の価格の変動が重要視される。一方で、上記のように、幅320の情報を幅Wに圧縮することは、いわゆる高周波成分を除去することに相当し、高周波成分そのものであるフラッグやペナントの情報そのものが落ちてしまう。
そこで、2つの線f,gの圧縮前の線F,Gのそれぞれが、上記の実施形態の技術により「フラッグ」「ペナント」「非フラッグ・非ペナント(以下「ノーマル」という。)」のいずれであるかをあらかじめ判定しておき、その情報を用いて、類似度を計算することが望ましい。
そのために、以下のようなW個の正の値の重みパラメータを用いる。
w[0],w[1],…,w[W-1]
この重みパラメータは、2つの線f,gの変換前の元の線F,Gの形状が、「フラッグ」「ペナント」「ノーマル」か否かによって、定数N (0<N<W)を用いて、以下のような関係を持つ値とする。ここで、W-Nに相当する縮小前の幅は、上記実施形態におけるZに相当するものとすることが望ましい。
(1)両者が「ノーマル」である場合は、
w[0] = w[1] = … w[N-1] = 1 = w[N] = W[N+1] = … = W[W-1] = 1
(2)両者が「フラッグ」である場合、もしくは、両者が「ペナント」である場合は、
w[0] = w[1] = … w[N-1] = 1 > w[N] = W[N+1] = … = W[W-1] = ffpp = 0.5
(3)一方が「ノーマル」、他方が「フラッグ」もしくは「ペナント」である場合は、定数N (0<N<W)により、
w[0] = w[1] = … w[N-1] = 1 < w[N] = W[N+1] = … = W[W-1] = nfp = 2
(4)一方が「フラッグ」、他方が「ペナント」である場合は、定数N (0<N<W)により、
w[0] = w[1] = … w[N-1] = 1 < w[N] = W[N+1] = … = W[W-1] = fp = 0.8
そして、類似度を、以下のように定める。
L(f,g) = Σi=0 W-1 w[i]Δ[i]2
すなわち、フラッグやペナントが存在しうる区間i = N,N+1,…,W-1について、上記のように重みを適宜変化させることで、線の形状の変化を類似度に反映させるのである。
なお、上記のように、変化させる重みについては、ffpp = 0.5,nfp = 2,fp = 0.8としているが、これらの大小関係については、
ffpp < fp < 1 < nfp
のような関係が成立していれば、上記の定数以外にも種々の定数を採用することができる。また、w[N],w[N+1],…,w[W-1]が、1からffpp,fp,nfpに向かって単調に変化していくようなパラメータ設定を採用しても良い。
このように、2つの線F,Gの形状について、その高周波成分を除去した配列f,gを考え、F,Gのそれぞれについて検出された「フラッグ」「ペナント」「ノーマル」の形状特性に基づいて重みwを定め、これらの情報に基づいて類似度L(f,g)を計算することにより、両者がどれだけ似ているかを判定することができる。
したがって、あらかじめ複数の線G1,…,GDの形状データが存在する場合にも、そのそれぞれについてユーザが入力した線の形状Fとの類似度を計算し、類似度の小さい順にソートすることによって、G1,…,GDの中から、Fに形状が類似しているものをユーザに適切に提示し、場合によっては選択させることができるようになる。
図11は、このような態様を実現する線形状処理装置の概要構成を示す模式図である。以下本図を参照して説明する。なお、本図における各要素のうち、図2に示すものと同様の機能を果たすものについては、同じ符号を付すこととしており、理解を容易にするため、異なる機能を有する要素について説明を加えるものとする。
線形状処理装置201は、上記実施形態に加えて、候補記憶部991、類似抽出部992、提示部993を備える。
候補記憶部991は、複数の線G1,…,GDの形状のデータをあらかじめ記憶するもので、株価変動のデータベースに相当するものである。なお、これらのデータは時間とともに更新されるものとしても良いが、計算機シミュレーションなどの用途のために固定値を採用するときには、それぞれの形状について、あらかじめ、「フラッグ」か「ペナント」か「ノーマル」かを判定しておくとともに、所定の幅Wに変換した後の配列g1,…,gDもあらかじめ用意しておくと、類似度計算を容易に行うことができる。
一方、類似抽出部992は、ユーザが入力した線Fの形状に対して検出部207が行った「フラッグ」「ペナント」「ノーマル」の検出結果を用いるとともに、上記のような重み付けをおこなった類似度計算処理に基づいて、座標記憶部203に記憶されている線Fの形状、を対比して、複数の線G1,…,GDをソートする、あるいは、順次類似度を計算し、これまでに計算された類似度と対比して、値が小さいものを所定の個数まで残すようにして、複数の線G1,…,GDから、線Fに類似するものを所定の個数抽出する。
さらに、提示部993は、線Fに類似するとして抽出された上位の所定の順位までの線の情報をユーザに提示して、後の処理に備える。たとえば、当該抽出された線とともに当該線に対応付けられる株の銘柄の概要情報を表示する。そして、これらの抽出されたものの中からいずれかをユーザが選択した場合には、選択された線に対応付けられる株の銘柄の詳細情報を提示する、等である。
本実施形態によれば、株価の変動などをグラフで表現するときに、注目すべき事項に基づいてグラフの類似度を計算することができ、株価の変動に基づいて、ユーザが所望の銘柄を検索しやすくすることができる。
以上説明したように、本発明によれば、線の形状の終端部分の特徴を検出し、当該特徴に基づきつつ線の形状の類似を判断したりするのに好適な線形状処理装置、線形状処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
本発明に係る線形状処理装置が実現される一般的な情報処理装置の概要構成を示す説明図である。 本実施形態に係る線形状処理装置の概要構成を示す説明図である。 本実施形態の線形状処理装置にて実行される座標値入力表示処理の制御の流れを示すフローチャートである。 押圧操作されたタッチペンの移動の軌跡と、これに対して表示されるグラフ線の形状の様子を示す説明図である。 タッチペンの移動の軌跡と、画面に表示される線の形状との関係を説明する説明図である。 削除条件が成立するか否かを判断し、成立した場合に実行される処理の詳細な制御の流れを示すフローチャートである。 タッチペンを右から左に移動する操作をユーザが行った場合に入力される線の形状を示す説明図である。 ペナントとフラッグの形状を表す説明図である。 線の形状にペナントやフラッグの形状があるか否かを検出するための検出処理の制御の流れを示すフローチャートである。 極大点、極小点および各重心の位置の関係を示す説明図である。 本実施形態に係る線形状処理装置の概要構成を示す説明図である。
符号の説明
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 提示部

Claims (7)

  1. 2次元領域内のそれぞれの位置が第1座標値と第2座標値とにより指定され、当該2次元領域内に配置される線の形状を処理する線形状処理装置であって、
    ユーザから入力された線の形状について当該線に含まれる点の第1座標値に当該点の第2座標値を対応付けて記憶する座標記憶部、
    前記記憶された線の形状に含まれる点の第1座標値および第2座標値から、当該ユーザから入力された線の終端部分の形状が、
    (a)振動しながら振動幅を狭めていくペナント形状、
    (b)略一定の振動幅で振動するフラッグ形状、
    (c)上記(a)(b)以外の形状であるノーマル形状
    のいずれであるかを、当該第2座標値の極値の分布から検出する検出部
    を備えることを特徴とする線形状処理装置。
  2. 請求項1に記載の線形状処理装置であって、
    前記検出部により、当該線の終端部分の形状が、ペナント形状もしくはフラッグ形状であることが検出された場合、前記検出部は、当該線の終端部分の前半と、後半と、のそれぞれにおける第2座標値の極値の平均値を対比して、当該線の終端部分の形状が、「上昇」「下降」「水平」のいずれであるかをさらに検出する
    ことを特徴とする線形状処理装置。
  3. 請求項1または2に記載の線形状処理装置であって、
    あらかじめ用意された複数の線のそれぞれの形状について、当該線に含まれる点の第1座標値に当該点の第2座標値を対応付けて記憶する候補記憶部、
    前記候補記憶部に記憶された複数の線のそれぞれの形状と、前記座標記憶部に記憶された線の形状と、の類似度を計算し、当該複数の線のうち、当該計算された類似度が小さいものを候補として抽出する類似抽出部であって、当該類似度が計算される対象となる2つの線について、同じ第1座標値に対してとる第2座標値の差分の自乗に、当該2つの線の終端部分の形状がペナント形状、フラッグ形状、ノーマル形状のいずれの組み合わせとなるかによって決定される重みを乗じた値の総和を当該類似度とする類似抽出部、
    前記抽出された線の形状を当該ユーザに提示する提示部
    を備えることを特徴とする線形状処理装置。
  4. 請求項3に記載の線形状処理装置であって、
    当該あらかじめ用意された複数の線のそれぞれは、複数の取引対象のうち当該線に対応付けられる取引対象の価値の時間経過による変化を表し、
    当該ユーザから入力された線の形状は、ユーザが検索の対象とする取引対象の価値の時間経過による変化を、過去から現在へ向けて入力した形状であり、
    前記提示部は、前記抽出された線の形状と、当該線に対応付けられる取引対象の情報と、を当該ユーザに提示する
    ことを特徴とする線形状処理装置。
  5. 請求項1から4のいずれか1項に記載の線形状処理装置であって、
    当該2次元領域内に配置される線に含まれる点の位置を指定する第1種指示入力と、当該第1種指示入力とは異なる第2種指示入力と、を受け付ける入力受付部、
    当該第1種指示入力の受付が続いて行われた場合、当該先の第1種指示入力に指定される開始位置の第1座標値から当該後の第1種指示入力に指定される終了位置の第1座標値までの間に含まれる第1座標値のそれぞれについて、当該開始位置と当該終了位置とを結ぶ線分に含まれ当該第1座標値を有する点の第2座標値を、当該第1座標値に対応付けて、前記座標記憶部に記憶させる記憶部、
    前記座標記憶部に第1座標値に対応付けられて記憶された第2座標値を、当該第1座標値に対する所定の順序で取得し、当該2次元領域内の当該取得された第2座標値が対応付けられる第1座標値と当該第2座標値とにより指定される位置に対応付けられる画面内の位置に点を描画することにより、当該2次元領域内に配置される線の形状を表示する表示部
    をさらに備えることを特徴とする線形状処理装置。
  6. 2次元領域内のそれぞれの位置が第1座標値と第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座標値の極値の分布から検出する検出工程
    を備えることを特徴とする線形状処理方法。
  7. コンピュータに、2次元領域内のそれぞれの位置が第1座標値と第2座標値とにより指定され、当該2次元領域内に配置される線の形状を処理させるプログラムであって、当該プログラムは、当該コンピュータを、
    ユーザから入力された線の形状について当該線に含まれる点の第1座標値に当該点の第2座標値を対応付けて記憶する座標記憶部、
    前記記憶された線の形状に含まれる点の第1座標値および第2座標値から、当該ユーザから入力された線の終端部分の形状が、
    (a)振動しながら振動幅を狭めていくペナント形状、
    (b)略一定の振動幅で振動するフラッグ形状、
    (c)上記(a)(b)以外の形状であるノーマル形状
    のいずれであるかを、当該第2座標値の極値の分布から検出する検出部
    として機能させることを特徴とするプログラム。
JP2006172208A 2006-06-22 2006-06-22 線形状処理装置、線形状処理方法、ならびに、プログラム Expired - Fee Related JP3938928B1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2006172208A JP3938928B1 (ja) 2006-06-22 2006-06-22 線形状処理装置、線形状処理方法、ならびに、プログラム
EP07767274A EP2034392A4 (en) 2006-06-22 2007-06-20 LINE SHAPE PROCESSING DEVICE, LINE SHAPE PROCESSING METHOD, INFORMATION RECORDING MEDIUM AND PROGRAM
KR1020087031014A KR101079610B1 (ko) 2006-06-22 2007-06-20 선형상 처리장치, 선형상 처리방법 및 정보 기록 매체
US12/304,956 US8244073B2 (en) 2006-06-22 2007-06-20 Line shape processing device, line shape processing method, information recording medium, and program
PCT/JP2007/062436 WO2007148731A1 (ja) 2006-06-22 2007-06-20 線形状処理装置、線形状処理方法、情報記録媒体、ならびに、プログラム
CNA200780023420XA CN101473290A (zh) 2006-06-22 2007-06-20 线形状处理装置、线形状处理方法、信息记录介质及程序

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP3938928B1 JP3938928B1 (ja) 2007-06-27
JP2008003825A true JP2008003825A (ja) 2008-01-10

Family

ID=38249222

Family Applications (1)

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

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 (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683920A (ja) * 1992-09-04 1994-03-25 Ricoh Co Ltd 手書き情報表示装置
JPH10240716A (ja) * 1997-02-21 1998-09-11 Nec Corp 時系列データ解析装置及びプログラムを記録した機械読み取り可能な記録媒体
JP2001034260A (ja) * 1999-07-26 2001-02-09 Yamaha Corp 電子ノート
JP2001043390A (ja) * 1999-07-28 2001-02-16 Canon Inc 画像処理装置および画像処理方法、並びに画像処理用プログラムを記録した記録媒体
JP2001210625A (ja) * 2000-01-28 2001-08-03 Tokyo Electron Ltd エッチング深さの検出方法
JP2003085381A (ja) * 2001-09-07 2003-03-20 Masuda Keizai Kenkyusho:Kk 相場情報の検索及び表示システムと相場情報の検索及び表示方法
JP2004152175A (ja) * 2002-10-31 2004-05-27 Toshiba Corp 時系列データ検索装置、時系列データ検索方法、プログラム及び記録媒体

Family Cites Families (10)

* 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
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
JP3573072B2 (ja) * 2000-08-07 2004-10-06 株式会社Quick 時系列データ圧縮装置
JP2003051014A (ja) 2001-08-03 2003-02-21 Canon Inc 情報処理装置及び方法
JP2003114760A (ja) 2001-10-05 2003-04-18 Konami Computer Entertainment Japan Inc ポインタの制御方法および装置
JP3793201B2 (ja) 2004-01-28 2006-07-05 任天堂株式会社 ゲーム装置およびゲームプログラム
JP2005275652A (ja) * 2004-03-24 2005-10-06 Canon Inc 入力軌跡処理装置および入力軌跡処理方法
JP2005346467A (ja) * 2004-06-03 2005-12-15 Nintendo Co Ltd 図形認識プログラム
JP2006172208A (ja) 2004-12-16 2006-06-29 Hitachi Kokusai Electric Inc 事前チェック機能付きetcシステム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683920A (ja) * 1992-09-04 1994-03-25 Ricoh Co Ltd 手書き情報表示装置
JPH10240716A (ja) * 1997-02-21 1998-09-11 Nec Corp 時系列データ解析装置及びプログラムを記録した機械読み取り可能な記録媒体
JP2001034260A (ja) * 1999-07-26 2001-02-09 Yamaha Corp 電子ノート
JP2001043390A (ja) * 1999-07-28 2001-02-16 Canon Inc 画像処理装置および画像処理方法、並びに画像処理用プログラムを記録した記録媒体
JP2001210625A (ja) * 2000-01-28 2001-08-03 Tokyo Electron Ltd エッチング深さの検出方法
JP2003085381A (ja) * 2001-09-07 2003-03-20 Masuda Keizai Kenkyusho:Kk 相場情報の検索及び表示システムと相場情報の検索及び表示方法
JP2004152175A (ja) * 2002-10-31 2004-05-27 Toshiba Corp 時系列データ検索装置、時系列データ検索方法、プログラム及び記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
林 康史, はじめてのテクニカル分析, vol. 第1版, CSNB200001330001, 22 September 1997 (1997-09-22), JP, pages 133 - 134, ISSN: 0000767989 *

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4046753B2 (ja) 線形状処理装置、線形状処理方法、ならびに、プログラム
JP5668365B2 (ja) 描画処理システム、サーバ装置、ユーザ端末、描画処理方法、プログラム及び記録媒体
US8847978B2 (en) Information processing apparatus, information processing method, and information processing program
JP5724543B2 (ja) 端末装置、オブジェクト制御方法及びプログラム
JP4177335B2 (ja) 手書き文字入力装置および手書き文字入力処理方法
JP3938928B1 (ja) 線形状処理装置、線形状処理方法、ならびに、プログラム
US20130050076A1 (en) Method of recognizing a control command based on finger motion and mobile device using the same
JP5033216B2 (ja) コンピュータグラフィックスシステムにおける立方ベジェ制御点の生成
JP2008134918A (ja) 画像処理装置及び画像処理決定方法
KR20110068795A (ko) 이미지 처리 장치의 사용자 인터페이스 처리 방법 및 장치
KR20220110493A (ko) 비디오의 객체 표시 방법 및 장치, 전자 장치 및 컴퓨터 판독 가능 저장 매체
CN111492407B (zh) 用于绘图美化的系统和方法
US9799103B2 (en) Image processing method, non-transitory computer-readable storage medium and electrical device
CN110162251B (zh) 图像缩放方法及装置、存储介质、电子设备
JP2001075721A (ja) 図形入力装置及びその方法と図形入力のためのプログラムを記録した記録媒体
JP4940911B2 (ja) 画像処理装置及び画像処理選択方法
EP4073624B1 (en) Systems and methods for grid-aligned inking
JP2018163441A (ja) 画像処理装置、及びプログラム
JPH03662B2 (ja)
JP2010271821A (ja) ポリライン生成方法及びポリライン生成システム
JP2003248830A (ja) 指紋画像解析装置及び入力装置
CN112639710A (zh) 页面操作方法、电子装置及计算机可读存储介质
JPH08212306A (ja) 筆跡データ間引き方法、辞書作成方法及び文字認識装置
KR20200131536A (ko) 이미지의 특정 영역 변형 방법
JPH08241159A (ja) 座標入力装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070320

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070326

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110406

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110406

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120406

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130406

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140406

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees