KR20090025252A - 선형상 처리장치, 선형상 처리방법 및 정보 기록 매체 - Google Patents

선형상 처리장치, 선형상 처리방법 및 정보 기록 매체 Download PDF

Info

Publication number
KR20090025252A
KR20090025252A KR1020087031014A KR20087031014A KR20090025252A KR 20090025252 A KR20090025252 A KR 20090025252A KR 1020087031014 A KR1020087031014 A KR 1020087031014A KR 20087031014 A KR20087031014 A KR 20087031014A KR 20090025252 A KR20090025252 A KR 20090025252A
Authority
KR
South Korea
Prior art keywords
coordinate value
shape
coordinate
line
value
Prior art date
Application number
KR1020087031014A
Other languages
English (en)
Other versions
KR101079610B1 (ko
Inventor
노리아키 오카무라
Original Assignee
가부시키가이샤 코나미 데지타루 엔타테인멘토
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 가부시키가이샤 코나미 데지타루 엔타테인멘토 filed Critical 가부시키가이샤 코나미 데지타루 엔타테인멘토
Publication of KR20090025252A publication Critical patent/KR20090025252A/ko
Application granted granted Critical
Publication of KR101079610B1 publication Critical patent/KR101079610B1/ko

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

선형상 처리장치, 선형상 처리방법, 정보 기록 매체 및 프로그램{LINE SHAPE PROCESSING DEVICE, LINE SHAPE PROCESSING METHOD, INFORMATION RECORDING MEDIUM, AND PROGRAM}
본 발명은 선 형상의 종단부분의 특징을 검출하고, 해당 특징에 의거하면서 선 형상의 유사를 판단하거나 하는 데도 적합한 선형상 처리장치, 선형상 처리방법, 이들을 컴퓨터에서 실현하는 프로그램을 기록한 컴퓨터 판독가능한 정보 기록 매체 및 해당 프로그램에 관한 것이다.
종래로부터, 터치 패널이나 마우스 등, 소정의 2차원 영역 내의 점의 위치를 2개의 좌표값(전형적으로는, x좌표와 y좌표의 값)으로 지정하는 지시 입력을 접수하여, 이 좌표값을 처리하는 기술이 제안되어 있다. 이러한 기술에 대해서는, 예를 들어, 이하의 문헌에 개시되어 있다.
특허문헌 1: 일본국 공개특허 제2003-114760호 공보.
상기 특허문헌 1에는, 마우스 포인터의 위치를 이동시킬 때에, 단위 조작량당의 포인터의 이동 거리보다 작은 단위 조작량당의 이동 거리로 포인터를 이동제어함으로써, 포인터의 정밀한 위치 이동을 행하는 기술이 개시되어 있다. 한편, 이러한 터치 패널이나 마우스를 이용한 좌표값의 입력에 의해서, 각종 곡선을 화면 에 그리는 기술도 널리 이용되고 있다.
또, 시간의 경과에 수반되는 주가나 체중의 변화 등을, 시간을 가로축(x좌표), 그 시점에서의 값을 세로축(y좌표)으로 하는 그래프로 그리는 것도 널리 행해지고 있다. 이 그래프 등의 선도에서는, 선에 포함되는 점의 위치가 제1좌표값과 제2좌표값(본 예에서는, 각각 x좌표값과 y좌표값에 대응함)에 의해서 지정되어, y = f(x)와 같은 양 함수의 형식으로, 제1좌표값 x에 대해서 제2좌표값 y가 유일하게 결정된다.
발명의 개시
발명이 해결하고자 하는 과제
따라서, 이와 같은 선의 형상이 얻어진 경우에, 선의 형상을 적확하게 분류하거나, 그 분류의 결과에 의해서 기존의 선의 형상과의 유사도를 산출해서 입력된 선의 형상과 유사한 선을 유저에게 제시하거나 선택시키거나 하는 데도 적합한 기술이 강하게 요구되고 있다,
본 발명은, 상기 과제를 해결하는 것을 과제로 하는 것으로서, 선의 형상의 종단부분의 특징을 검출하고, 해당 특징에 의거하면서 선 형상의 유사를 판단하거나 하는 데도 적합한 선형상 처리장치, 선형상 처리방법, 이들을 컴퓨터에서 실현하는 프로그램을 기록한 컴퓨터 판독가능한 정보 기록 매체 및 해당 프로그램을 제공하는 것을 목적으로 한다.
과제를 해결하기 위한 수단
이상의 목적을 달성하기 위하여, 본 발명의 원리에 따라서, 하기의 발명을 개시한다.
본 발명의 제1관점에 관한 선형상 처리장치는, 제1좌표축 방향의 좌표값인 제1좌표값과, 제1좌표축과는 다른 방향의 좌표축인 제2좌표축 방향의 좌표값인 제2좌표값과의 쌍에 의해, 위치가 지정되는 2차원 영역 내에 배치되는 선의 형상을 처리하며, 좌표기억부 및 검출부를 구비하여, 이하와 같이 구성한다.
즉, 좌표기억부는, 유저로부터 입력된 선의 형상에 대해서 해당 선에 포함되는 점의 제1좌표값에 해당 점의 제2좌표값을 유일하게 대응시켜 기억한다.
여기서, 좌표기억부는, 전형적으로는 RAM(Random Access Memory) 내에 준비된다. 제1좌표값과 제2좌표값과의 쌍을, 제1좌표값이 동일한 것이 존재하지 않도록, 그대로 기억하는 것으로 해도 되고, 제1좌표값이 정수로 표현될 경우에는, 제1좌표값을 지표로 하는 배열에 제2좌표값을 기억함으로써, 해당 제1좌표값에 대해서 최후에 입력된 제2좌표값만을 기억하는 것으로 해도 된다.
한편, 검출부는, 기억된 선의 형상에 포함되는 점의 제1좌표값 및 제2좌표값으로부터, 해당 유저로부터 입력된 선의 종단부분의 형상이,
(a) 진동하면서 진동 폭을 좁혀 가는 페넌트(pennant) 형상;
(b) 대략 일정한 진동 폭으로 진동하는 플래그(flag) 형상; 및
(c) 상기 (a) 및 (b) 이외의 형상인 노멀(normal) 형상
중의 어느 것인가를 상기 제2좌표값의 극값의 분포로부터 검출한다.
페넌트 형상, 플래그 형상 등은, 주가의 변동에 있어서 널리 이용되는 개념이며, 유저로부터 입력된 선의 종단부분의 형상이 어떠한 것인지가 중요시되는 것이므로, 검출부에 있어서 이것을 검출하는 것이다. 이때, 본 발명에 있어서는, 선의 형상에 있어서의 제2좌표값의 극값(극대치 혹은 극소치)의 분포를 참조해서, 판단을 행한다.
본 발명에 의하면, 유저에 의해 입력된 선의 형상의 종단부분의 형상이, 진동하면서 진동 폭을 좁혀 가는 페넌트 형상, 대략 일정한 진동 폭으로 진동하는 플래그 형상, 이들 이외의 형상인 노멀 형상 중의 어느 것인가를 유저가 알 수 있게 된다.
또, 본 발명의 선형상 처리장치는 이하와 같이 구성할 수 있다.
즉, 좌표기억부는, 해당 선에 포함되는 점의 제1좌표값을 첨자로 하는 배열의 요소의 값을 해당 점의 제2좌표값으로 함으로써, 해당 선에 포함되는 점의 제1좌표값에 해당 점의 제2좌표값을 유일하게 대응시켜 기억한다.
전술한 바와 같이, 제1좌표값과 제2좌표값이 정수값으로 표현가능한 경우에는, 제1좌표값을 첨자로 하는 배열에 제2좌표값을 격납시킴으로써, 용이하게 제1좌표값이 중복되지 않는 바와 같은 좌표값의 쌍을 기억할 수 있게 된다.
한편, 검출부는, 기억된 선의 형상에 포함되는 점의 제1좌표값 및 제2좌표값에 대해서, 배열의 첨자인 제1좌표값을, 그 최대값으로부터 최소값의 방향으로 주사해서, 해당 제1좌표값의 직전에 대응시켜서 기억되는 제2좌표값과, 해당 제1좌표값의 직후에 대응시켜서 기억되는 제2좌표값과, 해당 제1좌표값에 대응시켜서 기억되는 제2좌표값을 비교해서, 해당 제2좌표값이 극대로 되는 점의 좌표와, 극소로 되는 점의 좌표를 각각 2W(W≥1)개 검출하도록 해서 각각 2W개 검출한 경우, 해당 극대로 되는 점 중 먼저 검출된 W개의 중심의 제2좌표값과 해당 극소로 되는 점 중 먼저 검출된 W개분의 중심의 제2좌표값과의 차이, 및, 해당 극대로 되는 점 중 나중에 검출된 W개의 중심의 제2좌표값과 해당 극소로 되는 점 중 나중에 검출된 W개의 중심의 제2좌표값과의 차이를 비교하고, 해당 선의 형상을,
(a) 개시단부측의 차이와 종단부측의 차이가 소정의 오차 범위에서 동일하면, 대략 일정한 진동 폭으로 진동하는 플래그 형상으로 검출하고,
(b) 상기 (a)가 아니고, 또한, 해당 개시단부측의 차이가 해당 종단부측의 차보다 크면, 진동하면서 진동 폭을 좁혀 가는 페넌트 형상으로 검출하고,
(c) 상기 (a), (b)가 아니고, 혹은, 상기 극대로 되는 점과 상기 극소로 되는 점이 각각 2W개 검출될 수 없으면, 노멀 형상으로 검출한다.
본 발명은 상기 발명의 바람직한 실시형태에 관한 것으로, 플래그 형상, 페넌트 형상 및 노멀 형상을 구별하기 위한 구체적인 수법을 실현하는 것이다.
본 발명에 의하면, 「선분에 포함되는 점에는, 제1좌표값을 동일하게 하는 점이 없다」라고 하는 형상에 특유의 제약을 가진 선분을, 자연적으로, 또한, 효율적으로 기억하는 것이 가능한 외에, 「제2좌표값이 극대 혹은 극소로 되는 점」을, 배열의 첨자인 제1좌표값을 주사하는 것만으로, 용이하게 효율적으로 검출할 수 있게 된다.
또한, 본 발명의 선형상 처리장치는, 입력접수부를 구비하고, 해당 입력접수부는, 해당 2차원 영역 내에 배치되는 선에 포함되는 점의 위치를 지정하는 제1종 지시 입력과, 해당 제1종 지시 입력과는 다른 제2종 지시 입력을 접수하도록 구성할 수 있다.
특히, 본 발명의 선형상 처리장치에 있어서, 입력접수부는, 해당 화면의 표면에 대한 누름 조작을, 해당 누름 조작된 위치에 대응되는 해당 2차원 영역 내의 위치를 지정하는 제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종 지시 입력을 이용해서, 직관적으로 선 형상을 입력할 수 있게 된다. 특히, 양 함수의 그래프 형상을 이루는 것과 같은 선도를 구성하는 점의 좌표값을 입력시켜서 처리할 때에, 유저의 입력을 용이하게 시키는 것이 가능해진다.
또, 본 발명의 선형상 처리장치는 삭제부를 더욱 구비하여, 이하와 같이 구성할 수 있다.
즉, 삭제부는, 해당 제1종 지시 입력의 접수가 계속해서 소정의 횟수 행해지고, 해당 계속해서 행해진 제1종 지시 입력의 서로 이웃하는 제1종 지시 입력의 쌍의 모두에 있어서, 해당 쌍의 먼저 제1종 지시 입력으로 지정되는 위치로부터 해당 쌍의 나중에 제1종 지시 입력으로 지정되는 위치로의 벡터와, 해당 2차원 영역에 있어서 해당 제1좌표값만을 해당 소정의 순서로 변화시키는 방향의 벡터가 이루는 각이 소정의 둔각 이상일 경우, 해당 계속해서 행해진 제1종 지시 입력의 각각으로 지정되는 제1좌표값의 최소값으로부터 최대값까지의 범위에 포함되는 제1좌표값에 대응시켜서 좌표기억부에 기억되는 제2좌표값의 값을 좌표기억부로부터 삭제한다.
예를 들어, 제1좌표값이 가로방향의 X좌표이고, 제2좌표값이 세로방향의 Y좌표이며, X좌표가 증가하는 방향이 왼쪽에서부터 오른쪽으로 향하는 방향인 것으로 하면, 「제1좌표값만을 소정의 순서로 변화시키는 방향의 벡터」란, 왼쪽에서부터 오른쪽으로 향하는 벡터이다. 한편, 먼저 위치부터 나중에 위치로의 벡터란, 터치 펜이나 마우스가 이동한 방향을 나타내는 벡터이다.
따라서, 「이들 벡터가 소정의 둔각을 이루고」란, 터치 펜이나 마우스를 대체로 오른쪽에서부터 왼쪽으로 이동한 경우에 상당한다.
즉, 본 발명에 의하면, 터치 펜이나 마우스를 대체로 왼쪽에서부터 오른쪽으로 이동한 경우에는, 해당 구간에 대해서 선의 형상이 입력되고, 대체로 오른쪽에서부터 왼쪽으로 이동한 경우에는, 해당 구간의 선의 형상이 삭제되는 것이다.
예를 들어, 터치 펜의 상태를 일정시간 간격으로 감시해서 이 상태로부터 지시 입력을 얻을 경우에는, 「제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좌표값이 삭제되어 있는지의 여부를 나타내는 플래그 정보를 동시에 기억하는 것으로 해도 된다.
본 발명에 의하면, 입력된 그래프 등의 선의 형상의 일부를 소거하여, 분단된 선의 형상을 그리거나, 불필요한 구간을 삭제하거나 하는 바와 같은 선의 형상의 편집을 용이하게 할 수 있게 된다.
본 발명에 의하면, 간단한 조작에 의해서, 유저는 선의 형상을 입력하거나, 이미 입력한 선의 형상을 삭제하거나 할 수 있게 된다.
또, 본 발명의 선형상 처리장치에 있어서, 검출부에 의해, 해당 선의 종단부분의 형상이 페넌트 형상 혹은 플래그 형상인 것이 검출된 경우, 검출부는, 해당 극대로 되는 점의 개시단부측 절반부의 중심의 제2좌표값과 해당 극소로 되는 점의 개시단측 절반부의 중심의 제2좌표값과의 합, 해당 극대로 되는 점의 종단부측 절반부의 중심의 제2좌표값과 해당 극소로 되는 점의 종단부측 절반부의 중심의 제2좌표값과의 합을 비교해서,
(p) 해당 개시단부측의 합과 해당 종단부측의 합이 소정의 오차범위에서 동등하면, 수평으로;
(q) 상기 (p)가 아니고, 또한, 해당 개시단부측의 합이 해당 종단부측의 합보다 작으면, 상승으로;
(r) 상기 (p) 및 (q)가 아니면, 하강으로,
해당 선의 형상을 더욱 검출하도록 구성할 수 있다.
본 발명은 상기 발명의 적합한 실시형태에 관한 것으로, 주가변동의 해석에 있어서는, 플래그 형상이나 페넌트 형상이 상승, 하강 및 수평 중 어느 것에 상당하는지가 매우 중요한 의미를 가진 경우도 많으므로, 검출부에 있어서 이것을 검출하는 것이다. 이때, 본 발명에 있어서는, 선의 종단부분의 전반부분의 극값의 평균과, 후반부분의 극값의 평균을 대비해서 판단을 행한다.
본 발명에 의하면, 유저에 의해 입력된 선의 형상의 종단부분의 형상이 상승, 하강 및 수평의 어느 것인가를 유저가 알 수 있게 된다.
또, 본 발명의 선형상 처리장치는 후보기억부, 유사추출부 및 제시부를 추가로 구비하고, 이하와 같이 구성할 수 있다.
즉, 후보기억부는, 미리 준비된 복수의 선의 각각의 형상에 대해서, 해당 선에 포함되는 점의 제1좌표값에 해당 점의 제2좌표값을 대응시켜 기억한다.
상기의 예로 설명하면, 유저가 입력한 주가변동의 그래프와는 별도로, 미리 시황으로부터 얻어진 각 주식의 주가변동의 그래프를 준비해두기 위함인 것이다.
한편, 유사추출부는, 후보기억부에 기억된 복수의 선의 각각의 형상과, 좌표기억부에 기억된 선의 형상의 유사도를 계산하고, 해당 복수의 선 중, 해당 계산된 유사도가 작은 것을 후보로서 추출하는 유사추출부로서, 해당 유사도가 계산되는 대상으로 되는 2개의 선에 대해서, 같은 제1좌표값에 대하여 취하는 제2좌표값의 차이분의 제곱에, 해당 2개의 선의 종단부분의 형상이 페넌트 형상, 플래그 형상 및 노멀 형상의 어느 것의 조합으로 되는가에 의해서 결정되는 가중치를 곱한 값의 총 합계를 해당 유사도로 한다.
상기의 예로 설명하면, 기존의 주가변동과 유저가 입력한 주가변동과의 단순한 차이분의 제곱합에 의해서 유사도를 결정하는 것이 아니고, 종단부분의 형상이 페넌트 형상, 플래그 형상 및 노멀 형상의 어느 것의 조합으로 되는가에 의해서, 차이분의 제곱값에 대한 가중치를 결정해서 유사도를 계산하는 것이다. 이것에 의해, 특히 유저가 중요시하는 것으로 여겨지는 종단부분의 형상에 의거해서 유사도를 정할 수 있다.
또한, 제시부는 추출된 선의 형상을 해당 유저에게 제시한다.
선의 형상으로서는, 여러 가지의 것을 생각할 수 있지만, 예를 들어, 거래의 대상으로 되는 상품이나 역무(役務), 증권, 채권 등의 가치, 예를 들어, 주가의 변동을 의미하는 그래프를 채용할 수 있다.
이때, 본 발명의 선형상 처리장치에 있어서, 해당 미리 준비된 복수의 선의 각각은, 복수의 거래 대상 중 해당 선에 대응되는 거래 대상의 가치의 시간경과에 의한 변화를 나타내고, 해당 유저로부터 입력된 선의 형상은, 유저가 검색의 대상으로 하는 거래 대상의 가치의 시간경과에 의한 변화를, 과거로부터 현재를 향해서 입력한 형상이며, 제시부는 추출된 선의 형상과, 해당 선에 대응되는 거래 대상의 정보를 해당 유저에게 제시하도록 구성할 수 있다.
즉, 유저가 입력한 선의 형상과 유사한 형상을 가진 선의 형상이 추출되므로, 상기의 예에서는, 제시된 선의 형상을 유저가 봄으로써, 유저는 원하는 주가변동의 형태를 가지는 주식의 정보를 얻을 수 있게 된다.
또한, 본 발명의 선형상 처리장치에 있어서, 해당 제1좌표값은 정수에 의해 표현되어, 해당 묘화되는 점의 제1좌표값과 그 직전에 묘화된 점의 제1좌표값이 이웃한 경우, 해당 묘화되는 점과, 그 직전에 묘화된 점을 연결하는 선분을 더욱 묘화하도록 구성할 수 있다.
본 발명은, 상기 발명의 바람직한 실시형태에 관한 것으로, 상기 발명에서는, y = f(x)에 상당하는 그래프를, 그 x좌표값과 y좌표값을 가지는 점의 점열(点列)로서 표시하고 있었지만, 본 실시형태에서는 묘화해야 할 2개의 점의 x좌표가 충분히 가까운 경우, 예를 들어, 화면의 표시 정밀도(닷(dot) 단위)로 이웃할 경우에, 이들 2개의 점 사이에 선분을 묘화함으로써, 그래프를 선도로서 그릴 수 있도록 하는 것이다.
또한, x좌표가 이웃하지 않는 경우에는, 그 사이에는 선분을 묘화하지 않기 때문에, y = f(x)의 x좌표 중, 일부의 구간에 관해서는 y좌표가 정의되지 않는, 분단된 그래프를 그릴 수도 있다.
본 발명에 의하면, 입력된 점의 위치를 적절하게 연결하는 그래프 등의 선의 형상을 그려, 각종 그래프 등을 표시시키는 것을 용이하게 할 수 있게 된다.
또한, 본 발명의 선형상 처리장치는, 표시부를 더욱 구비하며, 좌표기억부는, 해당 제1좌표값을 지표로 하는 배열의 요소로서 해당 제2좌표값, 혹은, 해당 제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좌표값을 유일한 값으로서 관리하는 데 용이한 데이터 구조를 실현하여, 처리를 고속으로 행할 수 있다.
본 발명의 그 밖의 관점에 관한 선형상 처리방법은, 제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은 본 발명에 따른 선형상 처리장치가 실현되는 일반적인 정보처리장치의 개요 구성을 나타낸 설명도;
도 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: 제시부
이하에 본 발명의 실시예를 설명한다. 이하에서는, 이해를 쉽게 하기 위해서, 게임용의 정보처리장치를 이용해서 본 발명이 실현되는 실시예를 설명하지만, 이하에 설명하는 실시예는 설명을 위한 것으로, 본원 발명의 범위를 제한하는 것은 아니다. 따라서, 당업자라면 이러한 각 요소 혹은 전체 요소를 이것과 균등한 것으로 치환한 실시예를 채용하는 것이 가능하지만, 이들 실시예도 본 발명의 범위에 포함된다.
실시예 1
도 1은 본 발명에 따른 선형상 처리장치가 실현되는 일반적인 정보처리장치의 개요 구성을 나타낸 설명도이다. 이하, 본 도면을 참조해서 설명한다.
본 정보처리장치(101)는, CPU(Central Proccssing 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)에 의해서 관리된다. 메모리 공간에 매핑된 타일을 기억하기 위한 기억영역이나, 오브젝트(object) 속성 메모리를 기억하기 위한 기억영역이 이용된다. CPU(102)가 계산에 의해 생성한 값을 써넣거나, 카세트 리더(110)에 삽입된 ROM 카세트(111)로부터 적절하게 정보를 전송하면, 액정 디스플레이(107)에 스프라이트 화상이 표시되는 것으로 된다.
그 밖에, 액정 디스플레이(107)에 표시되는 화상을 화소단위로 관리하는 프레임 버퍼를 이용할 수도 있고, 액정 디스플레이(107)에 있어서 어느 색을 어느 위치에 표시하고자 할 경우에는, 프레임 버퍼 내의 그 위치에 상당하는 장소에 그 색에 상당하는 수치를 써 넣으면, 적절한 타이밍에 액정 디스플레이(107)에 비트 맵 화상이 표시된다.
예를 들어, 16 비트 컬러 표시 320 × 200닷의 액정 디스플레이(107)의 경우, 화소 1개분의 색은 2바이트로 표현된다. 그래서, 320 × 200개의 요소(각 2바이트)를 가지는 배열을 프레임 버퍼로서 RAM(103) 내에 준비하고, 해당 배열 요소 를 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의 처리를 실행함으로써 행한다. 여기서,「←1」는 소위 대입을 의미한다.
한편, 이력기억부(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; 예), 메모리 공간 내에 매핑된 소정의 레지스터를 참조해서, 액정 디스플레이(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; 아니오)에 대해서 설명한다.
삭제 조건이 충족되어 있지 않은 경우(스텝 S307; 아니오), CPU(102)는, 누름 조작(제1종 지시 입력)이 연속해서 되어 있는지의 여부, 즉, n≥2가 성립하는지의 여부를 판단한다(스텝 S308).
성립하지 않을 경우(스텝 S308; 아니오), 즉, 제2종 지시 입력에 이어서 제1종 지시 입력이 행해진 경우, 바꿔 말하면, 터치 패널로부터 떨어져 있던 터치 펜이 터치 패널에 접촉한 것이 검출된 경우, F[a]←b를 실행해서(스텝 S330), 누름 조작되어 있는 좌표의 정보를 등록하고, 스텝 S319로 진행한다. 즉, 스텝 S330은 과거에 입력된 선의 형상의 수정을 개시하는 것에 상당한다.
한편, 성립할 경우(스텝 S308; 예), 최신의 제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; 예), F[x2]←y2를 실행해서(스텝 S311), 원하는 형상의 선이 통과하는 점으로서 제1좌표값 x2에 대해서 최신에 입력된 제2좌표값 y2를 좌표기억부(203)에 등록한다.
한편, x1≠x2일 경우(스텝 S310; 아니오), 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; 예), 액정 디스플레이(107)의 2차원면의 각 화소에 대응하는 정보를 격납하는 프레임 버퍼의, 좌표(i, F[i])에 상당하는 위치에, 점을 묘화하는 정보를 써넣는다(스텝 S321). 한편, 그렇지 않으면(스텝 S320; 아니오), 점의 묘화는 하지 않고, 스텝 S322로 진행한다.
스텝 S319 내지 스텝 S322를 반복함으로써(스텝 S322), 터치 펜으로 덧쓴 위 치 중, 위치가 검출된 점이 화면에 표시되게 된다.
또한, CPU(102)는, i = 0, 1, ..., 318에 대해서, i의 값을 1씩 증가시키면서, 이하의 처리를 반복한다(스텝 S323).
즉, F[i]와 F[i+1]이 양쪽 모두 유효한 y좌표값인지의 여부를 조사한다(스텝 S324). 이 판정기준은 스텝 S319에 있어서의 것과 동일하다. 그리고, 양쪽 모두 유효한 y좌표값일 경우(스텝 S324; 예), 프레임 버퍼의 좌표(i, F[i])로부터 좌표(i+1, F[i+1])까지의 선분을 묘화하는 정보를 써넣는다(스텝 S325). 이와 같은 프레임 버퍼에 대한 선분 묘화 처리는, 브레젠함(Bresenham) 선분 묘화 알고리즘을 채용해도 되고, 화상처리부(106) 자체가 그러한 기능을 가질 경우도 있다.
한편, 그렇지 않으면(스텝 S324; 아니오), 선분의 묘화는 하지 않고, 스텝 S326으로 진행한다.
스텝 S323 내지 스텝 S326을 반복함으로써(스텝 S326), 터치 펜으로 덧쓴 위치 중, 위치가 검출된 점을 연결하는 선분도 화면에 표시되게 된다.
그리고, 수직 동기 인터럽트가 발생할 때까지 대기한다(스텝 S327). 해당 대기 중에는, 코루틴(coroutine)적으로 다른 처리를 실행할 수 있다. 수직 동기 인터럽트가 발생하면, CPU(102)는, 화상처리부(106)에 지시를 내보내, 프레임 버퍼의 내용을 액정 디스플레이(107)에 반영시켜, 터치 펜을 이용해서 입력된 좌표값에 상당하는 위치에 점을 표시하고, 이들 점을 연결하는 선분을 적절하게 표시한다(스텝 S328). 그리고, 스텝 S303으로 되돌아간다.
한편, 터치 펜이 누름 조작되지 않고, 터치 패널로부터 떨어져 있을 경우(스 텝 S303; 아니오), n←0으로서 그 취지를 기억하고 나서(스텝 S329), 스텝 S319로 진행한다. 이것은 제2종 지시 입력을 접수한 것을 의미한다.
이러한 처리에 의해서, 터치 펜으로 입력된 점의 궤적으로부터 어떠한 그래프의 선의 형상이 묘화되는 것으로 되는지에 대해서 설명한다.
도 4는 누름 조작된 터치 펜의 이동 궤적과, 이것에 대해서 표시되는 그래프 선의 형상의 형태를 나타낸 설명도이다. 이하, 본 도면을 참조해서 설명한다.
도 4(a)에는, 상하에 지그재그로 구불구불한 선을 유저가 터치 펜으로 그린 경우의 궤적을 나타낸다. 이러한 지그재그 선(401)의 형상은, 예를 들어 주가의 시간변화에 있어서, 페넌트나 플래그라 불리는 바와 같은, 주가변동이 짧은 주기에 빈번하게 일어나는 상황을 나타낸 그래프를 선의 형상으로 한 것이다. 시간경과는 왼쪽에서부터 오른쪽으로 설정되어 있으므로, 이 지그재그 선(401)의 궤적은, 전체로서 보면, 대체로 왼쪽에서 오른쪽으로 이동하고 있는 것으로 된다.
여기에서, 유저가 터치 펜을 누름 조작하면서 이동시킬 때에 지그재그 선(401)을 그리면, 터치 펜이 항상 왼쪽에서부터 오른쪽으로 이동하는 것으로 제한되지 않고, 때때로 오른쪽에서부터 왼쪽으로 되돌아와버리는 것 같은 움직임으로 되어버리는 일이 있다. 급하게 터치 펜을 조작한 경우에는 특히 이와 같은 일이 발생한다. 이러한 역행이 일어나면, 어떤 x좌표에 있어서의 지그재그 선(401)의 y좌표의 값이 복수 발생하는 것으로 된다. 본 도면에서도, 이러한 중복 부분(402)이 몇 군데 생기고 있다.
도 4(b)에는, 이러한 중복 부분(402)을 포함하는 바와 같은 지그재그 선(401)이 터치 펜으로 그려진 경우, 실제로 입력되는 그래프의 선(403)의 형상의 형태를 나타내고 있다.
전술한 바와 같이, 본 실시예에서는 어떤 시점(가로축)에 있어서의 값(세로축)은 1개로 결정되고, 어떤 시점에 있어서의 값이 복수개 존재해버릴 경우에는, 최후에 입력된 값이 채용된다. 따라서, 오른쪽에서부터 왼쪽으로 역행해버릴 경우더라도, 그 후에 왼쪽에서부터 오른쪽으로 터치 펜이 이동하는 것으로 되고 있어, 그 최신의 궤적이 그래프의 선(403)으로서 채용되고 있다.
또, 도 4(c)는, 도 4(a)에서 그려진 지그재그 선(401)의 일부의 지그재그를 중지하고, 평평하게(x축으로 평행하게) 하고 싶은 것으로 생각했을 때의, 터치 펜의 이동 궤적을 그리고 있다. 본 도면에 나타낸 지그재그 선(401)을 터치 펜으로 그린 후에, 평평한 선(404)을 왼쪽에서부터 오른쪽으로 터치 펜으로 그린 것이다.
이러한 조작을 행하면, 어떤 x좌표에 대한 y좌표의 값으로서는, 최후에 입력된 것이 유효하게 된다. 도 4(d)에서는, 실제로 입력되는 그래프의 선(405)의 형상의 형태를 나타내고 있고, 평평하게 하고자 하는 부분이 반영되어 있다.
또, 후술하는 삭제 조건을 채용하지 않은 경우에는, 평평한 선(404)을 따라서 터치 패널을 누르도록 터치 펜을 오른쪽에서부터 왼쪽으로 이동시켜도, 왼쪽에서부터 오른쪽으로 이동시켜도, 평평하게 하고자 하는 부분이 반영되게 된다.
도 5는 터치 펜의 이동 궤적과, 화면에 표시되는 선의 형상과의 관계를 설명하는 설명도이다. 이하, 본 도면을 참조해서 설명한다.
도 5(a) 내지 도 5(e)는, 터치 펜이 이동하는 상태를 시계열순으로 나타낸 것이며, 화살표는 터치 펜이 이동하는 방향을 나타내고, 실선은 터치 펜이 터치 패널을 누름 조작하면서 이동하고 있는 것을, 파선은 터치 펜이 터치 패널로부터 해방되어 이동하고 있는 것을 각각 나타낸다.
한편, 도 5(A) 내지 도 5(E)는, 도 5(a) 내지 도 5(e)에 대응해서, 시계열 중의 각각의 시점에서, 화면에 표시되는 선의 형상의 형태를 나타낸 것이다.
도 5(a)와 같이, 터치 펜을 대체로 왼쪽에서부터 오른쪽으로 누름 이동시키면, 도 5(A)와 같이, 이것과 동일한 형상의 선의 형상이 묘화된다. 도 5(b)와 도 5(B)에 대해서도 마찬가지이다.
이 후, 도 5(c)에 나타낸 바와 같이, 터치 펜을 터치 패널로부터 떨어지게 해서, 터치 펜을 이동한다. 이때, 터치 펜은 터치 패널로부터 떨어져 있기 때문에, 제1종 지시 조작 입력은 되지 않으므로, 화면에 표시되는 선의 형상은, 도 5(B)와 도 5(C)에서 동일하게 된다.
예를 들어, 도 5(B)에 표시되는 선의 형상은 역S자형의 곡선을 하고 있지만, 그 말단을 페넌트 형상으로 하고 싶어진 경우를 생각한다. 본 실시예에서는, 도 5(d)에 나타낸 바와 같이, 터치 펜을 오른쪽에서부터 왼쪽으로 이동해서, 지그재그 선을 그리기 시작하는 것만으로 충분하다. 도 5(D)는, 이 지그재그 선을 그리고 있는 도중에서의 표시예이며, 그래프의 선의 형상은 하나로 이어지는 선으로 되어 있다.
도 5(e)에는, 그대로 지그재그 선을 계속해서 그린 상태를 나타낸다. 이것에 호응해서, 도 5(E)에 나타낸 바와 같이 하나로 이어지는 선의 형상이 화면에 표 시된다.
이와 같이, 본 실시예에서는 대략적인 그래프의 형상을 그린(도 5(a) 및 도 5(b)) 후에, 그 일부를 지그재그 선으로 수정하고자 할 때에는, 그 구간에 단순하게 지그재그 선을 그리는 것만으로(도 5(d) 및 도 5(e)), 그래프가 하나로 이어지는 것으로 되어서 얻어진다. 이때, 지그재그 선의 개시점이나 종료점을, 과거에 그린 대략적인 선 위에 포갤 필요는 없기 때문에, 유저는 수정이 용이하다.
그런데, 본 실시예에서는 가로방향에 시간축을 취한 그래프와 같은 선도의 좌표값을 처리하고 있기 때문에, 좌표계로서 직교좌표계를 이용하고, 제1좌표값으로서 x좌표의 값, 제2좌표값으로서 y좌표의 값을 각각 이용하고 있지만, 용도에 따라서, x좌표나 y좌표를 교환하거나, 사교 좌표나 극좌표를 채용하거나 해도 된다. 예를 들어, 원 그래프를 그릴 경우에는, 제1좌표값으로서 각도, 제2좌표값으로서 반경을 채용할 수 있다.
이와 같이, 사행좌표나 극좌표에 있어서의 그래프의 입력에 있어서는, 좌표축이 직교하지 않고 있거나 곡선이거나 하기 때문에, 유저의 입력에 흔들림이 생기기 쉽지만, 본 발명을 적용했을 경우에는, 이러한 흔들임을 적절하게 수정해서, 유저의 희망에 가까운 형상의 그래프의 좌표값을 취득할 수 있게 된다.
(삭제 조건)
전술한 바와 같이, 삭제 조건이 항상 충족되지 않는 것으로 해도, 그래프 선도를 그리거나, 이것을 수정하는 작업을 충분히 행할 수 있지만, 그래프의 일부를 삭제하고 싶은 일도 있을 수 있다. 즉, 도중에 끊어진 선도를 그리고자 할 경우이 다. 또한, 일단 불필요한 그래프를 소거하고 나서, 새롭게 원하는 그래프를 다시 그리고 싶은 일도 많다. 그래서, 이하에서는, 간단한 조작으로 그래프 선도의 일부를 소거하기 위한 기술에 대해서 설명한다.
전술한 바와 같이, 그래프를 그릴 경우에는, 터치 펜을 누름 조작하면서 왼쪽에서부터 오른쪽으로 이동시킨다. 그리고, 본 실시예에서는, 그래프를 소거할 경우에는, 소거하고자 하는 범위에서, 터치 펜을 누름 조작하면서 오른쪽에서부터 왼쪽으로 이동시키는 것으로 하는 것이다.
다만, 지그재그 선을 그리는 것 같을 경우에는, 전술한 바와 같이, 터치 펜이 순식간에만 오른쪽에서부터 왼쪽으로 이동해버리는 일이 있을 수 있다.
이들을 구별하기 위해서, 터치 펜이 일정 시간 동안 오른쪽에서부터 왼쪽으로 거의 수평으로 이동한 경우에는, 그래프를 소거하지만, 그렇지 않은 경우에는, 터치 펜이 오른쪽에서부터 왼쪽으로 이동했다고 해도, 통상의 좌표값의 입력으로서 해석하는 것이다. 이를 위한 판단 기준이 삭제 조건이다.
이 「일정시간」에 상당하는 것은, 본 실시예에서는 「M×수직 동기 인터럽트 주기」이다. 즉, 「M×수직 동기 인터럽트 주기」 동안, 터치 펜이 오른쪽에서부터 왼쪽으로 거의 수평으로 이동한 경우에는, 선의 형상 중, 그 오른쪽에서부터 왼쪽으로의 이동의 범위만을 삭제한다.
본 실시예에서는 링 버퍼를 이용해서, 삭제 조건 「M×수직 동기 인터럽트 주기 동안, 터치 펜이 오른쪽에서부터 왼쪽으로 거의 수평으로 이동했는지」의 여부를 이하와 같이 검지한다.
도 6은, 삭제 조건이 성립하는지의 여부를 판단하는 스텝 S307과, 성립한 경우에 실행되는 처리의 상세한 제어의 흐름을 나타낸 순서도이다. 이하, 본 도면을 참조해서 설명한다.
본 처리가 개시되면, 우선, n ≥ M인지의 여부를 판단한다(스텝 S501). n < M일 경우(스텝 S501; 아니오), 본 처리를 종료하고, 스텝 S308로 진행한다.
한편, n ≥ M일 경우(스텝 S501; 예), 링 버퍼 내에, 현재까지의 M×수직 동기 인터럽트 주기 동안의 터치 펜의 이동의 좌표의 이력은, 링 버퍼 내에 시간순으로,
Figure 112008087506907-PCT00001
와 같이 격납되어 있는 것으로 된다.
또, 소정의 둔각 θ(전형적으로는, 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; 아니오), 본 처리를 종료하여, 스텝 S308로 진행한다. 한편, 이 조건이 성립하고 있으면(스텝 S503; 예), 스텝 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은 터치 펜을 오른쪽에서부터 왼쪽으로 이동하는 조작을 유저가 행한 경우에 입력되는 선의 형상을 나타낸 설명도이다. 이하, 본 도면을 참조해서 설명한다.
도 7(a)에는, 유저가 행한 터치 펜의 이동 경로를 나타낸다. 도 4에 있어서의 것과 마찬가지의 지그재그 선(401)을 따라서 터치 펜으로 터치 패널을 누름 조작하면서 이동시킨 뒤, 터치 펜을 터치 패널로부터 떼내고, 더욱 펜을 위치시켜, 오른쪽에서부터 왼쪽으로의 거의 수평한 소거 지시선(601)을 따라서 터치 펜으로 터치 패널을 누름 조작하면서 이동시키고, 그 후에 터치 펜을 떼어냈을 때의 「누름 조작 경로의 이력」이 표시되어 있다.
도 7(b)는 지그재그 선(401)을 따라서 터치 펜으로 터치 패널을 누름 조작하면서 이동시킨 직후에, 선형상 처리장치에 의해서 표시되는 그래프의 선(403)의 형상의 「화면 표시예」를 나타낸 것이다. 도 4(b)와 마찬가지의 형상이 표시되어 있다. 도 7(b)에는, 터치 펜이 터치 패널을 덧쓴 이력인 지그재그 선(401)에 따른 그래프의 선(403)의 형상이 표시예로서 표시되어 있다.
도 7(c)는, 더욱 그 후에, 소거 지시선(601)을 따라서 터치 펜으로 터치 패널을 누름 조작하면서 이동시킨 직후에, 선형상 처리장치에 의해서 표시되는 그래프의 선(603)의 선의 형상의 「화면 표시예」를 나타낸 것이다. 도 7(c)에 나타낸 바와 같이, 그래프의 선(603)의 선의 형상은 도중에 분단되어 있다.
이것은, 소거 지시선(601)을 따라서 수평으로 어느 정도의 시간 연속해서 터치 펜으로 터치 패널을 누름 조작하면서 이동시키면, 그래프의 선(403)의 형상 중, 해당 이동 구간의 수평 범위가 삭제되기 때문이다.
이와 같이, 본 실시예에 의하면, 간단한 조작으로, 선의 형상으로부터 일부의 구간을 삭제할 수 있고, 유저는 용이하게 선의 형상을 수정, 편집할 수 있게 된다.
(좌표값에 대한 각종 처리)
이하에서는, 특히 주식의 가격 변동을 나타낼 경우에 이용되는 선의 형상을 검출하는 기술에 관하여 설명한다. 본 기술은, 상기와 같은 기술에 의해서 입력된 선의 형상이 주식의 가격의 시간경과를 나타내는 그래프라고 생각했을 때에, 주식의 가격 변화의 특징을 검출하는 것에 적용할 수 있다.
이러한 주식의 가격 변화에 특징적인 형상에는 페넌트와 플래그라 불리는 것이 있다. 도 8은 페넌트와 플래그의 형상을 나타내는 설명도이다. 이하, 본 도면을 참조해서 설명한다.
도 8(a), 도 8(b) 및 도 8(c)는 페넌트라고 불리는 형상으로, 당초에는 가격변동이 심하지만, 시간이 경과함에 따라서 값이 점차로 수속하는 것 같은 형상이다. 즉, 가격이 진동하면서(지그재그로 되면서), 그 진동 폭이 점차로 좁아져 가는 형상이다. 또, 평균적인 값이 거의 일정할 때에는 단지 「페넌트」 혹은 「수평 페넌트」(도 8(a)), 상승하고 있을 때에는 「상승 페넌트」(도 8(b)), 하강하고 있을 때에는 「하강 페넌트」(도 8(c))와 같이 부른다.
한편, 도 8(d), 도 8(e) 및 도 8(f)는, 플래그라 불리는 형상으로, 거의 같은 가격변동의 변동폭이 유지되는 형상이다. 즉, 거의 일정한 진동 폭으로 진동하는(지그재그로 되는) 형상이다. 또한, 평균적인 값이 거의 일정할 때에는 단지 「플래그」 혹은 「수평 플래그」(도 8(d)), 상승하고 있을 때에는 「상승 플래그」(도 8(e)), 하강하고 있을 때에는 「하강 플래그」(도 8(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; 예), 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; 예), 반복을 빠져 나와 스텝 S820으로 진행하고, 그렇지 않으면(스텝 S807; 아니오), 다음의 반복으로 옮겨간다(스텝 S808).
한편, 극대점이 아니면(스텝 S804; 아니오), F[i-1] > F[i] 또한 F[i] < F[i+1]인지의 여부, 즉, 극소점인지의 여부를 판정한다(스텝 S809). 그러면(스텝 S809; 예), 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; 예), 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; 아니오), 값 변동의 시간변화가 심하지 않게 되므로, 스텝 S811로 진행한다.
한편, 그러면(스텝 S823; 예), 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]가 정해지도록 하기 위해서는,
Figure 112008087506907-PCT00002
과 같이 계산해서, 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)는,
Figure 112008087506907-PCT00003
에 의해 구할 수 있다.
그러면, 높이를 정렬했을 때에, 동일한 x좌표값 [i]에 있어서의 2개의 선(f), (g)의 높이의 차이 Δ[i]는,
Figure 112008087506907-PCT00004
에 의해 계산할 수 있다.
그런데, 2개의 선(f), (g)의 유사도 L(f,g)에 대해서는, 제곱합을 이용한 이하와 같은 계산식을 이용하는 수법이 고려될 수 있다:
Figure 112008087506907-PCT00005
.
즉, 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
그리고, 유사도를 이하와 같이 정한다.
Figure 112008087506907-PCT00006
즉, 플래그나 페넌트가 존재할 수 있는 구간 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)과 유사한 것으로 해서 추출된 상위의 소정의 순위까지의 선의 정보를 유저에게 제시하고, 그 후의 처리에 대비한다. 예를 들어, 해당 추출된 선과 함께 해당 선에 대응되는 주식의 종목의 개요정보를 표시한다. 그리고, 이들 추출된 것 중에서 어느 하나를 유저가 선택한 경우에는, 선택된 선에 대응되는 주식의 종목의 상세 정보를 제시하는 등이다.
본 실시예에 의하면, 주가의 변동 등을 그래프로 표현할 때에, 주목해야 할 사항에 의거해서 그래프의 유사도를 계산할 수 있고, 주가의 변동에 의거해서 유저가 원하는 종목을 검색하기 쉽게 할 수 있다.
또한, 본원에 있어서는, 일본국 특허출원 제2006-172208호를 기초로 하는 우선권을 주장하는 것으로 하여, 지정국의 법령이 허용하는 한, 해당 기초출원을 본원의 내용에 도입하는 것으로 한다.
이상 설명한 바와 같이, 본 발명에 의하면, 선의 형상의 종단부분의 특징을 검출하고, 해당 특징에 의거하면서 선의 형상의 유사를 판단하거나 하는 데 적합한 선형상 처리장치, 선형상 처리방법, 이들을 컴퓨터에서 실현하는 프로그램을 기록 한 컴퓨터 판독가능한 정보기록 매체 및 해당 프로그램을 제공할 수 있다.

Claims (10)

  1. 제1좌표축 방향의 좌표값인 제1좌표값과, 제1좌표축과는 다른 방향의 좌표축인 제2좌표축 방향의 좌표값인 제2좌표값과의 쌍에 의해, 위치가 지정되는 2차원 영역 내에 배치되는 선의 형상을 처리하는 선형상 처리장치에 있어서,
    유저로부터 입력된 선의 형상에 대해서 해당 선에 포함되는 점의 제1좌표값에 해당 점의 제2좌표값을 유일하게 대응시켜 기억하는 좌표기억부; 및
    상기 기억된 선의 형상에 포함되는 점의 제1좌표값 및 제2좌표값으로부터, 해당 유저로부터 입력된 선의 종단부분의 형상이 이하의 (a) 내지 (c) 중의 어느 것인가를 상기 제2좌표값의 극값의 분포로부터 검출하는 검출부
    를 포함하는 것을 특징으로 하는 선형상 처리장치:
    (a) 진동하면서 진동 폭을 좁혀 가는 페넌트(pennant) 형상;
    (b) 대략 일정한 진동 폭으로 진동하는 플래그(flag) 형상; 및
    (c) 상기 (a) 및 (b) 이외의 형상인 노멀(normal) 형상.
  2. 제1항에 있어서, 상기 좌표기억부는, 상기 선에 포함되는 점의 제1좌표값을 첨자로 하는 배열의 요소의 값을 해당 점의 제2좌표값으로 함으로써, 해당 선에 포함되는 점의 제1좌표값에 해당 점의 제2좌표값을 유일하게 대응시켜 기억하고,
    상기 검출부는, 상기 기억된 선의 형상에 포함되는 점의 제1좌표값 및 제2좌표값에 대해서, 배열의 첨자인 제1좌표값을, 그 최대값으로부터 최소값의 방향으로 주사하고, 해당 제1좌표값의 직전에 대응시켜서 기억되는 제2좌표값과, 해당 제1좌표값의 직후에 대응시켜서 기억되는 제2좌표값과, 해당 제1좌표값에 대응시켜서 기억되는 제2좌표값을 비교해서, 해당 제2좌표값이 극대로 되는 점의 좌표와, 극소로 되는 점의 좌표를 각각 2W(W≥1)개 검출하도록 해서, 각각 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) 및 (q)가 아니면, 하강으로
    상기 선의 형상을 더욱 검출하는 것을 특징으로 하는 선형상 처리장치.
  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) 내지 (c) 중의 어느 것인가 를 상기 제2좌표값의 극값의 분포로부터 검출하는 검출 공정
    을 포함하는 것을 특징으로 하는 선형상 처리방법:
    (a) 진동하면서 진동 폭을 좁혀 가는 페넌트 형상;
    (b) 대략 일정한 진동 폭으로 진동하는 플래그 형상; 및
    (c) 상기 (a) 및 (b) 이외의 형상인 노멀 형상.
  9. 컴퓨터에, 제1좌표축 방향의 좌표값인 제1좌표값과, 제1좌표축과는 다른 방향의 좌표축인 제2좌표축 방향의 좌표값인 제2좌표값과의 쌍에 의해, 위치가 지정되는 2차원 영역 내에 배치되는 선의 형상을 처리시키는 프로그램에 있어서, 해당 프로그램은, 해당 컴퓨터를,
    유저로부터 입력된 선의 형상에 대해서 해당 선에 포함되는 점의 제1좌표값에 해당 점의 제2좌표값을 유일하게 대응시켜 기억하는 좌표기억부; 및
    상기 기억된 선의 형상에 포함되는 점의 제1좌표값 및 제2좌표값으로부터, 해당 유저로부터 입력된 선의 종단부분의 형상이 이하의 (a) 내지 (c) 중의 어느 것인가를 상기 제2좌표값의 극값의 분포로부터 검출하는 검출부
    로서 기능시키는 것을 특징으로 하는 프로그램을 기록한 컴퓨터 독해 가능한 정보기록 매체:
    (a) 진동하면서 진동 폭을 좁혀 가는 페넌트 형상;
    (b) 대략 일정한 진동 폭으로 진동하는 플래그 형상; 및
    (c) 상기 (a) 및 (b) 이외의 형상인 노멀 형상.
  10. 컴퓨터에, 제1좌표축 방향의 좌표값인 제1좌표값과, 제1좌표축과는 다른 방향의 좌표축인 제2좌표축 방향의 좌표값인 제2좌표값과의 쌍에 의해, 위치가 지정되는 2차원 영역 내에 배치되는 선의 형상을 처리시키는 프로그램에 있어서,
    해당 프로그램은, 해당 컴퓨터를,
    유저로부터 입력된 선의 형상에 대해서 해당 선에 포함되는 점의 제1좌표값에 해당 점의 제2좌표값을 유일하게 대응시켜 기억하는 좌표기억부; 및
    상기 기억된 선의 형상에 포함되는 점의 제1좌표값 및 제2좌표값으로부터, 해당 유저로부터 입력된 선의 종단부분의 형상이 이하의 (a) 내지 (c) 중의 어느 것인가를 상기 제2좌표값의 극값의 분포로부터 검출하는 검출부
    로서 기능시키는 것을 특징으로 하는 프로그램:
    (a) 진동하면서 진동 폭을 좁혀 가는 페넌트 형상;
    (b) 대략 일정한 진동 폭으로 진동하는 플래그 형상; 및
    (c) 상기 (a) 및 (b) 이외의 형상인 노멀 형상.
KR1020087031014A 2006-06-22 2007-06-20 선형상 처리장치, 선형상 처리방법 및 정보 기록 매체 KR101079610B1 (ko)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
KR20090025252A true KR20090025252A (ko) 2009-03-10
KR101079610B1 KR101079610B1 (ko) 2011-11-03

Family

ID=38249222

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087031014A KR101079610B1 (ko) 2006-06-22 2007-06-20 선형상 처리장치, 선형상 처리방법 및 정보 기록 매체

Country Status (6)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10068312B2 (en) 2015-09-17 2018-09-04 Samsung Electronics Co., Ltd. Image processing apparatus, image processing method, and computer-readable recording medium

Families Citing this family (5)

* 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 株式会社コナミデジタルエンタテインメント ゲーム制御装置、ゲームシステム、及びプログラム
CN111275612A (zh) * 2020-01-17 2020-06-12 成都库珀区块链科技有限公司 一种基于vr技术的k线显示、交互方法及装置

Family Cites Families (17)

* 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 東京エレクトロン株式会社 エッチング深さの検出方法並びにエッチングモニター装置及びエッチング装置
JP3573072B2 (ja) * 2000-08-07 2004-10-06 株式会社Quick 時系列データ圧縮装置
JP2003051014A (ja) * 2001-08-03 2003-02-21 Canon Inc 情報処理装置及び方法
JP2003085381A (ja) * 2001-09-07 2003-03-20 Masuda Keizai Kenkyusho:Kk 相場情報の検索及び表示システムと相場情報の検索及び表示方法
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 任天堂株式会社 ゲーム装置およびゲームプログラム
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システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10068312B2 (en) 2015-09-17 2018-09-04 Samsung Electronics Co., Ltd. Image processing apparatus, image processing method, and computer-readable recording medium

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100984685B1 (ko) 선형상 처리장치, 선형상 처리방법 및 정보 기록 매체
EP1507192B1 (en) Detection of a dwell gesture by examining parameters associated with pen motion
KR101079610B1 (ko) 선형상 처리장치, 선형상 처리방법 및 정보 기록 매체
JP5668365B2 (ja) 描画処理システム、サーバ装置、ユーザ端末、描画処理方法、プログラム及び記録媒体
US20120056804A1 (en) Apparatus, Methods And Computer Program Products Providing Finger-Based And Hand-Based Gesture Commands For Portable Electronic Device Applications
KR100950838B1 (ko) 궤적정보처리장치, 궤적정보처리방법 및 프로그램을 기록한 컴퓨터 판독 가능한 정보기록매체
US10534527B2 (en) Relative pen scroll
WO2004097722A1 (ja) 手書き文字入力装置および手書き文字入力処理方法
JP2017090998A (ja) 文字認識プログラム、文字認識装置
CN111986229A (zh) 视频目标检测方法、装置及计算机系统
WO2022123929A1 (ja) 情報処理装置及び情報処理方法
CN110162251B (zh) 图像缩放方法及装置、存储介质、电子设备
JP2022138285A (ja) 表示装置、表示方法、プログラム
CN113168242A (zh) 手写系统的控制方法和手写系统
WO2024065345A1 (zh) 隔空手势编辑方法、装置、显示系统及介质
JP2018163441A (ja) 画像処理装置、及びプログラム
US20230060045A1 (en) Systems and methods for grid-aligned inking
JP2008134911A (ja) 画像処理装置及び画像処理選択方法
JP2010271821A (ja) ポリライン生成方法及びポリライン生成システム
JPH08212306A (ja) 筆跡データ間引き方法、辞書作成方法及び文字認識装置
JP2003248830A (ja) 指紋画像解析装置及び入力装置
JPH08241159A (ja) 座標入力装置
JP2016110299A (ja) 座標検出システム、座標検出方法、情報処理装置およびプログラム
JPH09282079A (ja) 情報処理方法とその装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141017

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161021

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171020

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181023

Year of fee payment: 8