KR0129505B1 - 문자 데이터, 로고·삽화 데이터 입력출력장치와 입력출력방법 - Google Patents
문자 데이터, 로고·삽화 데이터 입력출력장치와 입력출력방법Info
- Publication number
- KR0129505B1 KR0129505B1 KR1019930017344A KR930017344A KR0129505B1 KR 0129505 B1 KR0129505 B1 KR 0129505B1 KR 1019930017344 A KR1019930017344 A KR 1019930017344A KR 930017344 A KR930017344 A KR 930017344A KR 0129505 B1 KR0129505 B1 KR 0129505B1
- Authority
- KR
- South Korea
- Prior art keywords
- junction
- point
- group
- data
- contour
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/20—Contour coding, e.g. using detection of edges
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Abstract
본 발명은 문자폰트, 로고·삽화를 단시간에 적은 데이터로 바꾸어 기억하고 임의의 크기, 임의의 위치로 재생할 수 있는 문자데이터, 로고·삽화 데이터 입력출력장치에 관한 것으로 문자폰트, 로고·삽화를 광학적으로 판독, 윤곽점열을 구하고 윤곽점열의 좌표를 독립변수 t를 사용해 기억하고 윤곽점열의 접합점을 구하고 접합점간의 구간을 직선, 원호, 자우곡선으로 근사하고 근사한 파라미터와 접합점의 좌표를 기억한다. 재생은 접합점의 좌포와 인접접합점을 연결하는 선의 파라미터를 출력하고 이것에 의해 운곽점열을 재생하고 윤곽점열에 둘러쌓인 영역을 그이외의 영역과 구별해서 문자, 로고·삽화를 재생하는 것을 특징으로 한다.
Description
제1도는 본 발명의 문자폰트, 로고·삽화 데이터 입력출력장치 전체의 기능을 나타내는 전체 구성도.
제2도는 문자, 로고·삽화를 판독한 화상에 있어서 화소에 대해 정의하는 X, Y좌표계를 나타내는 도면.
제3도는 한개의 화소 주위의 체인코드를 나타내는 도면.
제4도는 화상 데이터에 있어서 윤곽선을 탐색하기 위한 주사방향을 나타낸 도면.
제5도는 한개의 윤곽점을 알았을 때에 다음의 윤곽점을 발견하기 위한 탐색방향을 나타낸 도면.
제6도는 흑화소 및 백화소가 존재할 때 어느 윤곽점과 그 다음의 윤곽점을 나타낸 도면.
제7도는 ㅁ자형의 화상 데이터에 있어서 바깥쪽의 윤곽선과 안쪽의 윤곽선을 추출하고 화소에 값(2)을 대응시키는 상태를 나타낸 도면.
제8도는 윤곽점열 추출장치의 구성을 나타낸 도면.
제9도는 윤곽점열을 근사해 곡률을 구하기 위한 데이터 근사기구의 플로우챠트.
제10도는 데이터 근사기구의 일부로서 윤곽점열의 전체를 구분적 다항식으로 근사할 때 계수를 결정하는 과정을 나타낸 플로우챠트.
제11도는 전 단계에서 근사하게 된 윤곽점열의 각 점에 있어서 곡률 계산을 위한 플로우챠트.
제12도는 구분적 다항식에서 근사된 데이터에 의거 원을 추출하기 위한 기구를 나타낸 플로우챠트.
제13도는 접합점 추출 방법을 개략적으로 나타낸 흐름도.
제14도는 먼저 계산된 곡률에서 접합점의 위치를 추출하기 위한 기구를 나타낸 플로우챠트.
제15도는 문자폰트를 만들기 위한 원 문자의 한 예인를 나타낸도면.
제16도는의 윤곽점열을 구하고 또한 접합점을 추출한 예를 나타낸 도면.
제17도는 로고·삽화의 한 예인 16분 음표 그림으로서, 제17a도는 원래 화상이고 제17b도는 이것의 윤곽점열을 추출과 접합점 추출의 결과를 나타낸 도면이고, 여기서 X표시는 접합점을 나타낸다.
제18도는 로고·삽화의 한 예인 다이오드 그림으로서, 제18a도는 원래 화상이고 제18b도는 이것의 윤곽점열 추출과 접합점 추출의 결과를 나타낸 도면.
제19도는 최적 접합점 추출기구의 개략적인 플로우챠트.
제20도는 곡률에 의해 선택된 가접합점과 그 근방의 접합점 후보의 번호를 나타낸 도면.
제21도는 곡률에 의해 선택된 가접합점에 출력 근방의 근방접합점이 있는 경우의 각 점에 붙인 번호를 나타낸 도면.
제22도는 근방접합점이 있는 경우에 있어서 접합계수를 결정하기 위한 플로우챠트.
제23도는 곡률에 의해 선택된 가접합점 근방의 접합점후보 C, 출력 근방의 접합점후보 B, 가접합점의 다음 접합점 D와, 출력 근방의 접합점 바로 앞의 접합점 A를 연결하는 근사곡선의 예와 변곡점의 수를 나타낸 도면.
제24도는 곡률에 의해 선택된 가접합점에 근방접합점이 존재하지 않을 경우의 접합계수를 구하기 위한 플로우챠트.
제25도는 가접합점에 근방접합점이 존재하지 않는 경우에 있어서 이 가접합점의 접합점후보 B와, 전후의 가접합점의 접합점후보 A, C와 이것들을 연결하는 곡선과 이들 점에 붙인 번호를 분명하게 하기위한 도면.
제26도는 곡률에 의해 선택된 가접합점 근방의 접합점후보 C, 입력근방의 근방접합점 가까이의 접합점후보 B, 그 가접합점 직전의 가접합점의 접합점후보 D의 정의와 번호를 설명하기 위한 도면.
제27도는 하나의 가접합점의 입력근방, 출력근방인 근방접합점의 결정을 위한 플로우챠트.
제28도는 접합점후보 중 어느 것이 최적의 접합점인지를 나타낸 확률변수의 정의와 반복연산을 나타낸 플로우챠트.
제29도는 적합한 다른 계수의 부여방법을 나타내는 플로우챠트.
제30도는 가접합점을 중심으로 하는 2α+1개의 접합점후보에 부여하는 초기 곡률을 나타낸 도면.
제31도는 모든 가접합점에 관해 확률변수의 계산을 실행하고, 최대 확률을 부여 하는 접합점후보를 최적접합점으로 하여 최적접합점 기억장치에 기억하는 것을 나타낸 도면.
제32도는를 예로 지금까지의 순서를 간단히 대체해 나타낸 도면.
제33도는 변형 다이오드의 도면을 예로들어 지금까지의 순서를 간단하게 나타낸 도면.
제34도는 최적접합점에서 불필요한 접합점을 제거하고 최종 접합점을 구하는 조작을 설명하는 플로우챠트.
제35도는 복수개의 직선 접합점이 연속하여 존재할 때 제거해야 하는지 제거하지 말아야 하는지를 판단해야 할 대상인 중간의 접합점과 양단의 접합점의 부호를 나타낸 도면.
제36도는 제35도의 배치에서 양단의 접합점을 연결하는 직선으로 중간 접합점으로부터 내린 수직선의 길이가 어떤 함수값보다 작을 때에 중간의 접합점을 제거하는 것을 나타낸 도면.
제37도는 복수개의 원호 접합점이 연속하여 존재하고 있을 때 제거해야 하는지 제거하지 말아야 하는지를 판단해야 할 중간 접합점과 양단 접합점의 부호를 나타낸 도면.
제38도는 제37도에서 제1 접합점에서 시작되는 원호의 반지름, 중심 제2 접합점에서 시작되는 원호의 반지름, 중심을 타나낸 도면.
제39도는 윤곽점열, 죄종접합점, 원 등의 데이터로부터 데이터를 근사하게 하고, 근사함수에 의해 윤곽점열을 나타내는 조작을 설명하기 위한 도면.
제40도는문자의 원 화상과 이것을 본 발명의 방법에 의해 데이터 압축하고 다시 재생한 화상 도면.
제41도는라는 문자의 원 화상과 이것을 본 발명의 방법에 의해 데이터 압축하고 다시 재생한 도면.
제42도는이라는 문자의 원 화상과 이것을 본 발명의 방법에 의해 데이터 압축하고 다시 재생한 도면.
제43도에서 제43a도는 16분음표의 로고·삽화의 원 화상이고, 제43b도는 이것을 본 발명에 의해 데이터 압축하고 다시 재생한 화상 도면.
제44도에서 제44a도는 원 그래프의 로고·삽화의 원 화상이고, 제44b도는 이것을 본 발명에 의해 데이터 압축하고 다시 재생한 화상 도면.
제45도에서 제45a도는 담배의 로고·삽화의 원 화상이고, 제45b도는 이것을 본 발명에 의해 데이터 압축하고 다시 재생한 화상 도면.
제46도는 2차 플루엔시(fluency)함수의 0차, 1차, 3차의 플루엔시함수의 개략도.
제47도는 2차 플루엔시함수를 채용한 경우에 기저함수의 수가 적을 때 충분히 데이터를 근사할 수 없다고 해도 차원수를 올리면 근사를 높일 수 있음을 나타낸 개략도.
제48도는라는 문자를 예로들어 윤곽점열 전체를 구분적 다항식으로 근사하는 절차를 나타내는 도면.
제49도는 담배의 로고·삽화를 예로 윤곽점열 전체를 구분적 다항식으로 근사하는 절차를 나타내는 도면.
제50도에서 제50a도는 다이오드의 로고·삽화의 원 화상이고, 제50b도는 이것을 본 발명의 방법에 의해 데이터 압축하고 다시 재생한 화상 도면.
제51도는 문자를 포함하고 자유곡선이 많은 로고·삽화의 예.
제52도는 제51도의 로고·삽화의 축소 도면.
제53도는 자유곡선이 많은 로고·삽화의 예.
제54도는 제53도의 도형을 본 발명의 방법에 의해 기록하고 변형해서 출력하는 예를 나타낸 도면.
제55도는 장식문자나 도형을 포함하는 로고·삽화의 예로서, 제55a도는 축소 도면, 제55b도는 확대 도면(전부 본 발명의 장치에 의해 기록해도 다른쪽의 도형을 간단히 얻을 수 있음).
제56도는 엽서의 일부에 본 발명의 방법에 의해 달팽이의 로고·삽화를 넣은 예를 나타낸 도면(크기/위치를 임의로 결정해서 변경할 수 있음).
제57도는 엽서의 일부에 본 발명의 방법에 의해 산악의 로고·삽화를 넣은 예를 나타낸 도면(크기/위치를 임의로 결정해서 변경할 수 있음)이다.
본 발명은 문자폰트(활자체나 모필체), 로고·삽화 등(이하 간단하게 로고·삽화 라 칭한다)을 화상판독장치에 의해 2가 데이터로서 얻고 문자, 로고·삽화의 특징을 잃지 않고 잡음을 제거하면서 압축해 기억시키고, 압축된 데이터로부터 문자, 로고·삽화를 재생하는 것이다. 특히, 문자폰트를 모자(母字)로부터 또는 로고·삽화를 원 도면에서 자동적으로 디지털 데이터화하고 이것을 임의의 크기, 임의의 위치에서 재생하는데 이용되며, 인쇄기기, 워드프로세서 및 컴퓨터 등에 간단하게 사용할 수 있는 것을 특징으로 한다.
문자폰트는 형상이 규정된 문자의 집합이지만 자유롭게 축소/확대하여 이용하고자 하면 문자의 2차원적인 형상 그 자체가 아니고 추상적인 데이터로서 기억시킬 필요가 있다. 한자(漢字)를 포함하는 문자의 수가 많기 때문에 한 문자마다의 데이터수가 많으면 입력에 시간이 걸리고 기억장치의 용량도 큰 것이 요구된다. 또한 출력에도 시간이 걸리고 경제적이지 않으므로 가능한한 한 문자당 데이터의 수는 적은 편이 좋다.
종래의 문자마다의 데이터를 기억시키는 방법으로는 다음의 2가지 방법이 있다.
문자 데이터를 2가 데이터의 열로 간주해서 코드화하는 방법. 이것은 문자를 흑백의 2가 화상으로하고 미분등에 의해 윤곽선을 추출하고 윤곽선이 연속하는 방향을 귀해 체인 부호화하고 시점과 부호열을 기억하는 것이다.
문자 폰트의 윤곽선을 추출하고 이것을 직선이나 원호에 의해 근사하고 시점의 좌표와 직선, 원호등의 함수를 기억하는 방법. 이것은 데이터를 압축할 수 있어 입출력에 편리한 방법이다.
본 발명은 후자의 범주에 속하는 발명이다. 문자폰트의 윤곽선을 추출한 후 체인부호화하면 화상의 최소 단위인 화소에 의해 윤곽점열좌표를 기억하기 때문에 확대한 경우의 재생문자의 품질이 떨어진다. 기억시킨 데이터에 일정한 승수를 곱해 확대문자의 좌표를 결정하기 때문에 윤곽점열이 매끄럽지 않고 들쭉날쭉하게된다. 따라서 체인부호화법에서 임의의 배율로 양호한 확대문자를 재생할 수 없다.
윤곽선은 직선, 원호 등의 조합이라고 생각되지만 그 밖의 형상 일부인 경우도 있다. 이것은 몇몇 함수로 나타낼 수 있다. 데이터의 취급상 편리함을 생각하면 데이터의 수는 적은 것이 편리하다. 문자폰트를 정확하게 표현하기 위해서는 윤곽선을 정확하게 근사할 수 있는 데이터를 구해야 하기 때문에 데이터의 수를 가능한한 적게, 그리고 가능한한 정확하게 윤곽선을 근사하는 방법이 요구된다.
문자폰트는 2차원적인 정보이다. 이에대한 종래기술은 빈약하다. 1차원 정보에 대한 데이터의축법으로서는 일본국 특원소 63-211948호가 있다. 이것을 일련의 곡선을 2차 곡선으로 근사하고 근사식으로부터 각 점의 곡률을 구해 미분 불연속점을 구한다. 미분 불연속점이 접합점에 해당할 수 있다. 계속해서 인접하는 미분불연속점 사이의 데이터를 2차 함수로 근사해서 데이터 압축을 한다. 이 2차함수는 간단한 파라미터에 의해 저장할 수 있다. 그러면 미분 불연속점과 2차함수열의 파라미터를 지정함으로서 2차원 데이터를 근사할 수 있다. 로고마크·삽화는 임의의 형상, 치수의 도형, 모양 또는 그 집합체이다. 3차원의 것도 있으나 여기서는 2차원의 것을 대상으로 한다. 문자와는 다르고 형상이 미리 정해져 있지 않아 디자이너의 창의에 의해 창출된다. 다양한 것이 있지만 본명세서에서는 제17도에 나타낸 음표, 제18도의 다이오드, 제44도의 원 그래프, 제45도의 담배, 제51도 내지 제57도의 예를 참조하면서 설명하도록 하겠다.
원래 도면은 종이등에 쓰여진 상태에서 그대로 보존된다. 이 원 도면은 하나밖에 없다. 재생하고자 하면 복사기로 광학적으로 복사할 수 밖에 없다. 확대하고 싶은 경우나 축소할 경우는 복사기로 광학적으로 축소, 확대한다.
또한 어떤 서류의 지정장소에 넣고 싶을 경우도 복사기로 일단 복사해서 종이를 잘라 풀로 원하는 위치에 붙일 필요가 있다. 모두 손으로 하는 작업이다. 이와 같이 부정형의 형상모양 집합이므로 로고·삽화는 기록, 재생, 확대, 축소등 처리가 어렵다.
디자이너가 창출하기 때문에 로고·삽화의 수는 매우 많고 한개의 마크가 반복 사용되는 경우도 많기 때문에 로고·삽화처리의 자동화는 아직 전혀 되어있지 않다고 할 정도이다. 재생은 복사기등 다른 인쇄기에 의한 대향 재생도 할 수 있으나 이것도 원래 도면을 복사해서 판을 만들기 때문에 광학적으로 복사한 것과 동일하다. 따라서 로고·삽화의 자동처리에 관한 종래기술이라 할 수 있는 것과같은 기술은 아직 존재하지 않고있다.
본 발명이 해결하고자 하는 과제는 다음과 같다. 종래 문자폰트를 적은 데이터로 기억하고 임의의 크기로 재생할 수 있는 기술은 존재하지 않았다. 상술한 방법은 독리변수가 시간이고 종속변수가 위치인 경우등에 사용되기 때문에 데이터가 일차원 정보이다. 예를들어 소리와 같은 한 변수를 취급하는 경우이다.
이것을 문자폰트와 같이 2차원의 정보의 데이터 압축으로 사용할 수 있다. 문자폰트를 가로축을 x, 세로축을 y로서 x의 함수로 나타낼 수 있기 때문에 2차원으로 확장해서 이 방법을 사용할 수 있는 것처럼 보이지만 그렇지는 않다. 문자폰트의 윤곽선은 닫혀진 2차원의 정보이기 때문에 독립변수를 x라 하면 y가 이것을 다가함수가 되고 이 방법을 사용하는 것을 간단하게 할 수 없다. 또한 상술한 방법이 대상으로 하고 있는 것을 2차원 정보가 아니기 때문에 윤곽선과 접합점이란 명확한 의미를 갖고 있지 않았다. 변수의 변화는 랜덤으로 미분 불연속점의 의미가 아직 명확하지 않고 이것의 결정에 대해 잘못이 있는지 없는지에 대해서는 고려되어 있지 않다. 그런데 문자와 같은 경우는 직선성분이 많이 포함되어 있고 원호 부분도 많다. 변수가 랜덤으로 변화한다는 것은 아니다.
또한 상술한 방법을 2차원 정보로 적용하기 위해 어느 독립변수를 생각하고 윤곽선의 x,y 좌표를 독립변수에 대한 종속변수라 하는 것을 생각할 수 있다. 그러나 이 경우에는 어느 것이 곡률을 나타내는 것인지 명확하지 않다. 접합점이라는 것이 2차원 정보를 취급할 때 처음 나타나지만 이것은 단지 미분 불연속점으로서 구해지는 것은 아니다. 노이즈의 영향을 고려해야 하며 노이즈에 의해 겉으로 보아 접합점으로 나타나는 경우가 있다. 이것을 제거하여 올바른 접합점을 구할 필요가 있는 것이다.
본 발명은 첫 번째로 문자폰트를 판독하고 자동적으로 데이터 압축을 실행하여 기억하고, 임의의 크기로 임의의 장소에서 재생할 수 있는 문자폰트 데이터 입력 출력장치를 제공한다. 그 목표는 아래와 같이 정리할 수 있다.
(1) 폰트의 작성노력을 덜 것
(2) 고품질의 문자취급이 가능할 것
(3) 폰트의 데이터량이 적을 것
종래에는 로고·삽화를 복사기를 사용하지 않고 재생할 수 있는 듯한 기술은 존재하지 않았다. 원래 도면을 그대로 보존한다는 것 외에 기록의 방법으로는 존재하지 않았다. 더욱이 축소/확대 등의 처리는 복사기에 의존할 수밖에 없었다. 이러한 방법으로는 로고·삽화의 자동적인 처리를 완전히 할 수 없다. 인력에 의한 방법은 시간이 걸리고 점차 숙련을 요하는 것도 있다. 또한 복사를 반복하면 노이즈가 발생하고 화질이 떨어진다. 확대하면 윤곽선이 희미해져서 깨끗한 확대을 얻을 수 없다.
원래 도면을 보존하고 광학적으로 처리하는 것이 아니다. 디지털 데이터로서 로고·삽화를 기록할 수 있고 임의의 크기, 임의의 장소에 로고·삽화를 깨끗하게 재생할 수 있는 방법이 절실히 요구되고 있다.
이러한 요구에 따라 본 발명은, 두 번째로, 로고·삽화를 광학적으로 판독하고 자동적으로 데이터를 압축하여 기억하고, 임의의 크기로 원래 화상에 충실한 로고·삽화로서 임의의 장소에서 재생 가능한 로고·삽화 데이터 입력출력장치를 제공한다. 그 목표는 다음과 같이 정리할 수 있다.
(1) 로고·삽화 데이터의 작성 노력을 덜 것
(2) 고품질의 로고·삽화의 취급이 가능할 것
(3) 로고·삽화의 기억을 위한 데이터 양이 적을 것
이상의 과제를 해결하기 위한 수단으로서, 본 발명의 문자 데이터, 로고·삽화 데이터 입력출력장치는, 광학적으로 문자폰트, 로고·삽화 데이터를 판독하고 종횡으로 유한갯수가 나열된 화소에 대응시켜 기억하는 문자판독장치 ; 종횡으로 나열된 화소에 대응시켜 판독된 문자, 로고·삽화의 윤곽선을 추출하는 윤곽선추출기구 ; 추출된 윤곽선의 2차원 좌표(X,Y)를 연속되는 군마다 기억하는 윤곽점열기억기구 ; 상기한 각 군의 윤곽점열의 X,Y좌표를 t를 독립변수, x 및 y를 종속변수로 하는 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정범위가 되기까지 최소 2승 근사를 반복하여 윤곽점열의 각 군의 근사 다항식을 구하는 데이터근사기구(A) ; 상기 근사결과를 미분 연산하여 x,y 공간에서 각 군의 윤곽점열의 각점에서 곡률을 구하는 곡률연산기구 ; 각 군의 곡률의 데이터로부터 원을 추출하는 원 추출기구; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치보다 큰 값의 곡률을 갖는 점을 가접합점으로 하여 추출하는 가접합점 위치 추출기구 ; 상기 가접합점의 1개(제1 가접합점)의 윤곽점열상의 전후에 소정 개수의 점 하나를 제1 접합점 후보로 하고, 상기 제1 가접합점에서 소정의 반지름 내에서 동일 윤곽점열상에 있는 다른 가접합점의 하나(근방 접합점)의 윤곽점열상의 전후에 소정 개수의 점 하나를 제2 접합점 후보로 하며, 동일 윤곽점열상에서 점열 주사방향으로 제1 고정점, 상기 제1 가접합점, 상기 근방 접합점 및 제2 고정점 순서대로 일렬로 나열하도록 상기 근방 접합점, 제1 고정점 및 제2 고정점을 선택하는 수단과, 상기 제1 접합점 후보와 상기 제2 접합점 후보의 모든 조합에 대해 상기 제1 고정점, 상기 제1 접합점 후보, 상기 제2 접합점 후보 및 상기 제2 고정점의 4점을 가장 원활하게 연결하는 선의 원활함에 기초하여 상기 제1 접합점 후보의 적합도를 구하는 수단 및 가장 적합도가 놓은 상기 제1 접합점 후보를 선택하여 상기 제1 가접합점을 대신하는 최적 접합점으로 하는 수단을 갖는 최적 접합점 추출기구 ; 연속되는 둘 이상의 직선 또는 연속되는 둘 이상의 원호의 시작점인 최적 접합점중에서 이들이 없어도 근사 정밀도가 유지되도록 불필요한 최적접합점을 발견하여 이것을 제거하여 직선 또는 원호를 통합하는 불필요한 접합점제거기구 ; 제거되지 않고 남은 최적 접합점을 최종 접합점으로 기억하는 최종 접합점 기억장치 ; 동일 군의 점열내의 인접하는 최종 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x,y를 종속변수로 한 2차의 구분적 다향식으로 근사하고, 근사 정밀도가 소정의 값으로 수납되기까지 2차의 구분적 다항식의 차원수를 증가시키면서 최소 2승 근사를 반복하여 인접하는 최종 접합점간을 직선, 원호, 구분적 다항식으로 근사하는 데이터 근사기구(B) ; 원 데이터 및 점열의 각 군마다 상기 최종 접합점의 좌표와 인접하는 최종 접합점사이를 근사하는 함수의 파라미터를 기억하는 압축 데이터 기억기구 ; 기억된 압축 데이터를 입력하여 원 데이터와 점열의 각 군의 최종 접합점 좌표와 인접하는 최종 접합점간을 근사하는 함수의 파라미터를 얻어 윤곽선을 재생하는 윤곽재생기구 ; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 문자, 로고·삽화 재생기구 ; 및 재생된 문자폰트, 로고·삽화를 문자, 로고·삽화로 출력하는 재생 데이터 출력기구를 포함하는 것을 특징으로 한다.
본 발명의 적용은 다음과 같다. 제1도에 전체의 구성을 일람표로 나타내고 있으며, 여기에 모든 기구를 미리 기록한다.
A. 화상기억장치 1
B. 윤곽점열추출장치
C. 윤곽점열기억장치
D. 데이터근사기구 A
E. 곡률연산기구
E'. 근사곡률기억장치
F. 원추출기구
G. 원기억장치
H. 접합점 위치추출기구
I. 접합점 위치기억장치
J. 최적접합점 추출기구
K. 최적접합점 기억장치
L. 접합점 제거기구
M. 최종접합점 기억장치
N. 데이터근사기구 B
O. 압축데이터출력기구
P. 압축데이터기억장치
R. 윤곽재생기구
S. 문자, 로고·삽화재생기구
T. 재생데이터출력기구
U. 화상기억장치 2
한 예로서 제32도에 나타낸라는 문자에 대해 순서를 간단히 설명한다.
제32도는 한번더 설명된다. 우선 종이에 쓰여있는를 이미지검출로 판독한다. 이것이 문자의 광학적인 판독·입력이다. 윤곽선의 집합인 윤곽점열추출을 하면 흰색문자가 된다. 이예로 윤곽점열의 군으로서는 5개가 있다. 좌측의 종선은 하나 중앙의와 닮은 부분이 2개, 우측어깨부분의 동그라미가 내외로 2개의 윤곽점열을 갖는다. 매개변수표시를 사용해 X,Y 좌표를 t의 함수로 한다. 각각의 윤곽점열군에 있어서 전체에 걸쳐 구분적 다항식으로 근사한다. 구분적 다항식으로 연속함수가 되기 때문에 각 윤곽점열에 있어서 2차 미분하고 곡률을 구한다. 곡률이 일정한 윤곽점열은 원이다. 이것은 원으로 분리된다. 이 예로서는 좌측어깨부분의 ○가 제외되고 나머지는 이예로 3가지의 윤곽점열군이 된다. 곡률이 큰곳이 접합점이다. 4단계로 윤곽점열의 교점, 곡점(曲点) 등에 × 표시가 붙어 있다. 이것이 접합점이다. 윤곽점열은 후에 추가되는 것도 있다.
접합점에 의해 운곽점열을 분할하는 것이다. 접합점은 곡률이 큰 것으로 구한 일차적인 접합점(가접합점이라 한다)을 사용해도 좋다. 문자폰트의 경우는 처음부터 깨끗하게 그려진 문자를 대상으로 했기 때문에 노이즈가 들어가기 어렵고 곡률만으로도 접합점을 정확하게 구할 수 있다.
이렇게 하면 계산이 극히 단순화 된다.
접합점에 대해서는 더욱 다듬는 것이 있다. 이 경우는 근방의 접합점과의 정합성(整合性)을 고려해 접합점을 수정한다. 이것은 가접합점과 접합점 후보로서 후에 설명한다. 또한 접합점의 위치를 수정한 후 불필요한 접합점을 제거한다는 것도 유효하다. 또한 새롭게 접합점을 추가하는 것도 있다.
이렇게하면 광학적판독등에 있어서 발생한 노이즈등을 유효하게 제거할 수 있다.
접합점이 확정되면 접합점사이를 직선, 원호, 자유곡선에 의해 근사한다.
근사는 직선, 원호, 자유곡선의 순으로 실행된다. 문자폰트이기 때문에 직선부분이 많다. 특히 한자의 경우는 직선부분의 비율이 극히 높고, 직선 다음으로 많은 것은 원호이다. 한자의 경우 직선, 원호, 자유곡선순으로 많다고 생각된다. 그러나 근사의 순서가 직선, 원호, 자유곡선인 이유는 빈출도가 이 순서이기 때문은 아니다.
그렇지 않고 기록된 데이터의 품질을 향상하기 위해 이 순서로 근사를 한다. 만약 처음부터 자유곡선으로 근사하면 직선이나 원호도 그 나름대로 2차곡선으로 근사해 버린다. 2차곡선의 집합은 직선과 원호를 정확히 표현할 수 있다. 노이즈가 있는 경우는 직선, 원호가 더욱 변형하도록 근사된다. 직선, 원호부분이 분명히 존재하므로 이것을 확실히 추출하기 위해 직선, 원호, 자유곡선의 순서로 근사하는 것이다. 직선의 경우는 근사에 요구되는 시간은 짧고 데이터양도 적으며 원호의 근사도 간단하다. 중심의 좌표, 반경, 중심각을 부여하면 좋다.
직선으로나 원호로도 근사할 수 없는 경우는 자유곡선근사를 한다. 이 경우는 접합점간을 n개의 세부구간으로 분할하고 구분적 다항식으로 근사한다. 세부구분의 수를 증가하면 근사를 높일 수 있기 때문에 원하는 정밀도의 근사를 할수 있다.
이렇게해서 접합점과 직선, 원호, 자유곡선의 파라미터가 얻어지기 때문에 이것을 문자폰트의 데이터로서 기억한다. 그림수나 복잡함에 달려 있지만 1문자당 대체 300∼500byte정도의 데이터로 할수 있다. 흑백화상대로이면 화면을 구성하는 전화소의 수만큼의 데이터가 있다. 예를들면 종횡 256화소로 하면 8byte도 있지만 본 발명에서는 대폭으로 데이터를 압축할 수 있다.
이 데이터는 역으로 읽어내어 접합점을 기준으로하여 직선, 원호, 자유곡선을 재생할 수 있으며 계산에 의해 임의의 크기, 임의의 위치에서 재생할 수 있다.
로고·삽화의 예로서 제33도에 나타낸 다이오드의 로고·삽화에 대해 순서를 간단히 설명한다.
제33도는 한 번더 설명된다. 이것은 원추출을 설명하기 위해 여분으로 원을 기입하고 있다.
우선 종이에 써있는 다이오드의 도형을 이미지스캐너(scanner)로 판독한다. 이것이 로고·삽화의 광학적판독·입력이다. 윤곽선의 집합인 윤곽점열 추출을 하면 흰색의 로고·삽화가 된다.
이예에서 윤곽점열의 군으로서 5개가 있다. 우측어깨의 원에 대해 내의 2개의 윤곽선이 있고, 다이오드의 부분에서는 외측에 있는 윤곽선과, 내측상하의 윤곽선이 있고 합계 5개가 된다. 매개변수표시를 사용해 X,Y좌표를 t의 함수로 한다. 각각의 윤곽점열군에 있어서 전체에 걸쳐 구분적 다항식으로 근사한다. 구분적 다항식으로 연속함수가 되기 때문에 각 윤곽점열에 있어서 2차 미분하고 곡률을 구한다. 곡률이 일정한 윤곽점열은 원이다. 이것은 원으로 분리된다. 이 예로서는 좌측어깨부분의 ○가 제외되고 나머지는 이예로 3가지의 윤곽점열군이 된다. 곡률이 큰곳이 접합점이다. 4단계로 윤곽점열의 교점, 곡점(曲点) 등에 ×표시가 붙어 있고, 이것이 접합점이다.
윤곽점열은 후에 추가되는 것도 있다.
접합점에 의해 윤곽점열을 분할하는 것이다. 접합점은 곡률이 큰 것으로 구한 일차적인 접함점(가접합점이라 한다)을 사용해도 좋다. 로고·삽화의 경우는 처음부터 깨끗하게 그려진 로고·삽화를 사용하면 노이즈가 들어가기 어렵기 때문에 곡률만으로도 접합점을 정확하게 구할 수 있다.
이렇게 하면 계산이 극히 단순화 된다. 그리고 본 발명은 노이즈를 포함하는 원그림으로 부터도 보다 깨끗한 복제를 얻을 수 있다.
이하의 순서는 문자폰트의 경우와 동일하다
[실시예]
[A. 화상기억장치 1]
이것은 종이 등에 쓰여진 문자폰트, 로고·삽화를 광학적수단에 의해 판독하고 화소마다 분해된 정보로서 기억하는 것이다. 문자, 로고·삽화는 착색되어 있어도 좋지만 필요한 것을 흑백의 2가 화상이다. 예를들면 착색부는 흑이되고 문자, 로고·삽화를 구성하지 않는 부분을 백으로서 2가 화상으로 하고 이것을 화소마다 기억시킨다.
예를들면 이미지스캐너를 사용해 256×256도트의 정밀도로 입력된다. 도트의 수는 물론 임의이고 도트수가 많은쪽이 문자폰트, 로고·삽화로서 기억되는 것은 고품질이 되겠지만 도트가 많으면 계산시간, 기억용량이 크기 때문에 적당한 도트수의 화상판독장치를 사용하면 좋다. 도트(화소)마다 이것이 백화소인지 흑화소인지가 구별되어 일시적으로 기억된다. 이하 한개의 화소를 점이라하는 경우가 있다. 또한 연속하는 일련의 흑화소열을 점열이라 한다. 점을 나타내기 위해 화면상에서의 화소횡방향의 번호(x)와 종방향의 번호(y)로 구성되는 좌표(x,y)를 사용한다. 좌표변수에는 여러가지 첨자를 붙여 구별한다.
[B. 윤곽점열추출장치]
윤곽점열추출장치는 판독된 문자, 로고·삽화의 윤곽선을 구하는 조작을 실시한 것이다. 대략의 흐름을 먼저 서술한다.
① 화소데이터를 좌측위로부터 우측아래로 주사하고 아직 발견되지 않은 윤곽점을 발견한다.(제 4 도에 나타낸다)
② 윤곽선을 일주할때까지 다음의 윤곽점을 탐색한다. 윤곽점을 2로 마크된다.
③ 화상데이터 우측아래의 데이터까지 조사한다.
이 조작을 실행하는데 있어 우선 정의부터 설명한다. 화상은 화소의 집합으로 나타내고, 화소는 화면내에서의 좌포로 지시된다. 화소의 좌표는 행(횡방향)방향의 좌표를 x로 하고, 열(종)방향의 좌표를 y로 한다. 좌측 위의 좌표는 x=0, y=0 이다. 가로에 X, 세로에 Y의 화소가 있다고 하면 x는 0∼X-1, y는 0∼Y-1의 값을 취한다. 좌표계는 제2도와 같이 우측아래로 향한 것이 된다.
화상자체는 문자, 로고·삽화를 입력했기 때문에 흑과 백의 2가 밖에 없다. 화소마다 흑백지정을 한다.
○ 2가 화상입력
특성함수 gxy를 다음과 같이 정의한다.
(i) 0≤x<X, 0≤y<Y 에 있어서 좌표(x, y)에 점(흑화소)이 존재하는 경우
(ii) 그밖의 경우(2점에 흑화소가 존재하지 않는다)
이것은 화상을 2가로 표현한 것이므로 백의부분은 0, 흑의 부분은 1로 한다.
○ 윤곽점열의 표현
윤곽점열이라하는 것은 흑화소의 집합외부둘레에 존재하는 흑화소의 좌우 상하기울기에 연속한 점의 예이다. 외부뿐만 아니라 내부에서도 윤곽점열이 있다. 닫혀진 한개의 점열을 윤곽점열이라 한다. 윤곽점열의 총수를 U라한다. U개의 윤곽점열에는 0에서 U-1의 번호가 붙여진다. u번째의윤곽점열의 윤곽점 총수를 N(u)로 나타낸다. 하나의 윤곽점열에 있어서 연속하는 점에 번호 k를 나타낸다. k는 0∼N(u)-1의 정수이다.
u번째의 윤곽점열의 k번째의 윤곽점좌표를 ( xk u, yk u)에 의해 표현된다.
전 윤곽점은
에 의해 표현된다.k=0 Nu-1라는 것은 점열번호 k가 0에서 N(u)-1까지의 값을 취할 수 있다는 것이다. N(u)-1은 괄호를 포함하고 이것은 1/4각으로 할수 없어 변수첨자로 될때는 괄호를 제거해 Nu-1로 쓰여져 있다. Nu-1=N(u)-1이다. 첨자이기 때문에 상하로 써야하지만 이것을 할수 없기 때문에 좌측아래와 우측위로 나누어 붙인다.u=0 u-1윤곽점열군의 번호 u가 0∼U-1의 값을 취한다는 것이다. 또한 윤곽점열의 번호 u는 변수의 우측어깨분분에 괄호를 붙여 나타내야하지만 괄호가 1/4각으로 할수 없기 때문에 괄호를 생략한다. 실제로는 도면에 나타낸 바와같이 괄호가 붙어 있다. 변수의 u제곱은 아니다. 이것은 매개변수 t, 독립변수 x, y 등에 공통이다. u는 군번호이고 변수의 우측어깨부분에 그대로 쓰지만 사실은 괄호가 붙어 있다.
○ 체인코드
제3도와 같은 어느 화소를 중심으로 둘레의 8점화소에 우측둘레부터 번호 0∼7을 붙여 나타낸다. 이것은 윤곽점에 있어서 점열의 연속을 나타내기 위해 사용한다. 또한 연속된 상태를 조사하기 위해서도 사용한다. c를 체인코드로서 다음의 함수 α(c)와 β(c)를 정의한다. 함수 α(c)는
로 하고 함수 β(c)는
이다.
이들 정의에 의거 윤곽선의 추출을 실행한다. 제4도에 나타낸 바와 같이 전체의 화상을 좌측위에서 우측방향으로 주사해서 흑화소를 발견했다. 윤곽선은 2가 화상의 gxy=1이 되는 부분의 외부둘레 화소이지만 이것을 1회전하면서 점열의 좌표를 기억해간다. 1회전하는 방향은 그 영역의 외측을 돌때는 시계방향으로 돌고 내측을 돌때는 반시계방향으로 회전한다. 제5도에 윤곽점을 회전하는 순서를 나타낸다. 물론 반대로 해도 좋지만 여기서는 그와 같이 결정한다.
어떤 윤곽점열의 어떤 윤곽점을 알았다고 하자. 그 다음의 윤곽점을 구하려면 그 윤곽점을 중심으로 전회의 윤곽점에서 시계방양으로 8개의 근방화소를 탐색한다. 제6도에 한예를 나타낸다.
☆표를 붙인 것이 최신의 윤곽점이라 하자. 시계방향으로 다음의 윤곽점을 탐색하지만 번호 1, 2, 3, 4, 5까지는 모두 백화소 gxy=0이기 때문에 해당 하지 않는다. 6번째의 화소가 흑화소이고 gxy=1에서 윤곽점이다. 이렇게해서 다음의 윤곽점이 구해짐으로 6번째의 화소를 중심으로 고정하고 그 다음의 윤곽점을 구한다.
이하 동일순서에 의해 윤곽점을 차례로 구할 수 있다. 근방 8화소로부터 다음의 윤곽점을 구하기 때문에 연속해서 윤곽점열이 얻어진다. 윤곽점은 gxy의 값을 2로 한다. 이에 의해 내부의 흑화소 gxy=1로 구별할 수 있다. 또한 gxy=1의 화소가 화면상에서 국소적으로 존재하고 있기 때문에 윤곽점을 차례로 구해가면 최초의 윤곽점으로 돌아간다. 즉 윤곽점열을 고리형상으로 되어있다. 이와같은 윤곽점열은 전부 U개 있다. 윤곽점열의 번호는 u로 나타내지만 어떤 윤곽점열 u에서의 점의 번호는 k이다.
한개의 윤곽점열이 확정되면 제4도의 주사를 재개하고 다음의 윤곽점을 찾는다. 이것을 알면 동일순서에 의해 윤곽점의 좌표를 확정해 간다. 복수의 윤곽점열이 있을때는 당연히 좌측위로부터 이들의 처리를 실행하게 되고 차례로 0, 1, ··(U-1)의 윤곽점열번호를 붙인다. 내부에 구멍이 있는 경우도 제5도에 나타낸 바와같이 몇회째인가의 주사로 몇개의 점이 검출된다.
제6도에 나타낸 바와같이 인접점의 탐색을 실시하지만 구멍의 경우는 제5도에 나타낸 바와같이 윤곽점을 반시계방향으로 발견해 가게 된다. 이렇게해서 외부의 윤곽점열과 내부의 윤곽점열도 탐색되어 점열의 좌표가 기억된다. 이들의gxy의 값은 2가 된다.
윤곽점열의 탐색은 물론 gxy=1의 화소에 대해 실시하는 것이므로 이와같이 하면 외부둘레와 내부둘레의 폭이 1화소분 밖에 없는 경우는 조금 문제가 발생한다. 제7도에 이것을 나타낸다.
(a)는 1화소분의 폭밖에 없는 고리모양의 패턴이다. gxy=1의 화소가 정방형상으로 분포된다.
폭이 2이상이면 전술한 순서로 외부윤곽점열, 내부윤곽점열이 문제없이 구해진다. 그러나 폭이 1화소이면 우선 외부둘레의 윤곽점열을 결정한 후 gxy=1의 화소가 윤곽점이기 때문에 gxy=2가 된다. 윤곽점의 탐색이 gxy=1의 화소에 대해 이루어졌기 때문에 gxy=2에서는 이미 윤곽점열로는 되지 않는다. 내부둘레의 윤곽점열이 인식되지 않고 구멍이 무시된다. 이것으로는 안되기 때문에 그 대책으로서 다음의 운곽점이 현재의 것보다 아래에 있을때는 마크 (gxy→2)를 실행하지 않게 한다. 이점은 gxy=1상태로 남는다. 제7도의 (b)에서 우측중간의 값이 1인 것은 이것을 나타낸다. 값이 1이므로 내부 윤곽점의 출발점으로 발견된다. 이점으로부터 출발해 내부윤곽점열을 추출할 수 있다. 결국 내부의 구멍이 무시되지 않고 내외의 윤곽점열을 추출할 수 있다. 제 7(c)도는 이것을 나타낸다.
윤곽점열이 확정되면 윤곽점열로 둘러쌓인 내부의 흑화소는 이것의 영역을 규정하기 위해서는 이미 불필요하게 된다. 여기서 내부의 흑화소는 기억할 필요가 없다. 이것에 의해 기억해야 할 데이터의 양을 먼저 감소시킬 수 있다.
[C. 윤곽점열기억장치]
윤곽점열기억장치는 전단계에서 구한 윤곽점열을 기억하는 장치이다. (xk u,yk u)k=0 nu-1 u=0 u-1이라는 형태로 이것을 기억한다. 상술한 바와같이 U가 전점열의 수이고 u가 점열에 붙인 번호이다.
점열 u에 있어서 점의 수는 N(u)이고 k가 이것에 붙인 점번호이다. 이와같은 것을k=0 nu-1 u=0 u-1에 의해 표현한다. (xk u,yk u)는 u번째의 점열 k번째의 점 x, y좌표이다. 반복하지만 N(u)-1을 첨자로서는 Nu-1를 쓴다.
[D. 데이터근사기구 A]
데이터근사기구는 2개 있다. 이것은 최초의 것이지만 구별하기 위해 A라 기록한다. 이것은 가령 윤곽점열의 곡률이 큰곳을 구하고 접합점을 구하기 위해 필요하게 된다. 곡률을 구하려면 이산적인 점내 몇개를 데이터로서 채용해 이것으로부터 구할 수 있다. 본 발명은 이러한 이산적 곡률을 채용해도 실행할 수 있다. 그러나 여기서는 데이터를 연속함수로 근사하고나서 이것을 2차미분해 곡률을 구하게 한다. 이러한 근사가 여기서의 데이터근사이다.
곡률을 구하는 것이기 때문에 x를 독립변수, y를 종속변수로서 y의 x에 의한 2차미분을 구한다는 것이 통상의 방법일 것이다. 그러나 그렇게 하면 x, y에 대해 취급이 비대칭이 되어 바람직하지 않다. 본 발명에서는 그러한 방법을 채용하지 않는다.
여기서는 독립변수를 t로 하고 종속변수를 x, y로 하고 상기한 연속군마다의 윤곽선점열의 x, y좌표를 t를 독립변수, x와 y를 종속변수로 하는 2차의 구분적 다항식으로 근사하고 근사정밀도가 소정범위가 될때까지 최소 2승법근사를 반복윤곽선 점열의 군마다의 근사다항식을 구하는 것이다. 이것을 최종적으로 데이터를 얻고자하는 것이 아니고 접합점을 구하는 것이다.
상술한 바와같이 군 u의 점열 k의 좌표를 (xk u,yk u)로 쓴다. 이것은 상기한 윤곽선 점열기억기구로부터 얻어진다. 제9도에 여기서의 조작을 나타낸다. 우선 윤곽점열 기억장치로부터 윤곽점열의 (xk u,yk u)를 모두 읽어낸다. 이것을 매개변수로 분해한다. 즉 각점에 대해 2개의 (xk u,yk u)에 공통의 매개변수(t)를 대응시킨다. 이것에도 첨자를 붙여 tk u로 한다. 2차원 정보였지만 그것을 일차원문제로 하기 위해 매개변수를 사용하는 것이다. 제9도의 2단계는 이것을 나타낸다.
매개변수를 사용함으로서 (tk u,yk u)와 (tk u,yk u)의 두 개의 좌포조합이 각 윤곽점열의 각점에 대응한다. 이후는 2변수에 대해 동일한 것을 하기 때문에 하나에 대해 설명한다.
군 u에서의 윤곽점열 (tk u,yk u)을 근사하는 t의 함수 Sx(t)를 2차의 플루엔시(Flueney functions)함수에 {Φm}를 기저로하는 일차결합으로 부여한다. Sx(t)에 의해 군 u에서의 t함수로서의 x를 근사하는 것이다. 마찬가지로 Sy(t)에 의해 군 u에서의 y를 근사한다. 근사함수로 적절한지 아닌지의 평가는 최소 2승법으로 오차가 소정의 범위내에 있는지 없는지 하는 것을 확인한다.
주의해야 할 것은 Sx(t), Sy(t)에 의해 윤곽점열 군 u의 전체의 폐곡선을 일거에 근사하는 것이다. 접합점을 중도에 갖는 것이 아니라 전체를 한개의 함수 Sx(t)로 근사한다. 이와같이하는 것은 아직 접합점이 결점되어 있지 않기 때문이다. 이미 서술한 바와같이 곡률을 구하려면 이와같이 근사에 의하지 않고 더욱 간단한 방법이 있다. 그것은 윤곽점열의 데이터를 직접 이용해서 이산적 곡률을 구하는 방법이다. 본 발명을 실행하려면 이러한 이산곡률에 의해서도 좋다. 그러나 여기서는 그것에 대해 설명하지 않고 근사함수 Sx(t), Sy(t)의 생성에 대해 설명한다.
Sx(t)는 비주기 m차의 플루엔시함수 Φk를 기저로서 전개한다.
플루엔시함수라는 것은 본 발명자가 명명한 함수명이다. 차수 m은 다항식의 차수에 대응한다.
M은 차원수이다. 일반적으로 m차의 플루엔시함수는 정의 역을 [0, T]으로 하고 파라미터를 k로 하고 이 파라미터를 첨자로 붙여 나타낸다.
Ck x는 선형 일차결합의 계수이다. Φk자체가 k의 근방에서 값을 가지는 다항식이다.
단,
k = -m, -m + 1, ···, 0, 1, 2, ···, m+M
여기서 m승 아래에 붙인 +는 괄호내가 -일때는 0이고, +일때는 m승이라는 것으로 다음과 같이 정의한다.
기저함수 ΦK는 구분번호 k∼k+m+1까지 유한의 값을 가지며 그 양측은 0이 되는 산모양의 함수이다. 이것은 {t-(k+q)(T/M)}m +와 같이 0에서 시작하는 m차 함수를 하나씩 좌표를 옆으로 비켜놓고 (q를 하나씩 증가한다) 이것을 중합(重合)하는 형태가 되어 있다. t (K+m+1) (T/M) 일때에 항시적으로 0이어햐 한다. 이 조건에 의해 중합계수가 (-1)q/{q!(m+1-q)!}라는 식으로 결정된다. 영역의 크기 T는 윤곽점열군의 점의 수 N(u)에 같게 하는 것이 간단하지만 비례하는 것으로 정의해도 좋다. 이와같이 플루엔시함수를 사용해 윤곽점열을 근사하지만 T/M간격을 가지는 분할점이 다수있기 때문에 접합점이 없어도 근사할 수 있다. 근사의 정도를 높이기 위해서는 플루엔시 함수의 차수 m을 높이면 좋다. 그러나 차수가 높으면 계수의 횟수가 증가하기 때문에 처리시간이 걸린다.
발명의 주장은 대부분 자연계의 물리량의 변동을 나타내는 함수가 1차, 2차의 플루엔시함수의 선형결합으로서 나타낸다는 것이다. 프루엔시함수는 완비(完備)직교 규격화함수는 아니다. 만약 m에서 ∞까지의 함수를 채용하고 이것의 일차결합으로 하면 임의의 함수를 표현할 수 있다. 이것은 의심이 없다. 그러나 본 발명자가 말하는 것은 그렇지 않고 약간의 차원수의 플루엔시함수에 의해 자연계의 물리량변동을 써내려가게 하는 것이다. 여기서는 m=2만을 채용한다. 이것에 의해 문자, 로고·삽화 등의 윤곽선은 과부족없이 표현할 수 있다. 물론 본 발명은 m=3이상의 플루엔시함수를 사용해 구성할 수 있다.
가장 상응하는 함수계를 채용해서 이것의 일차결합에 의해 물리량의 변동을 써 나타낸다고 하면 가장 적은 함수로 최적의 근사를 얻을 수 있다. 함수계가 좋지 않으면 대부분의 함수를 기저로서 일차결합의 식을 전개해야 한다.
이것으로는 좋은 근사를 얻을 수 없고 최종적인 데이터의 수도 많아져 기억장치의 부담도 크다. 또한 이것을 읽어내어 이용하는 것도 용이하지 않다. 최적함수계를 선택해야 한다. m=2가 최적이라고 본 발명자는 생각한다.
본 발명자는 여기서 m=2의 플루엔시함수를 사용한다. 제46a도에 2차의 플루엔시함수의 개략을 나타낸다. 이것은 3개의 구간에 걸친 2차곡선이다. 양단에서의 상승하강은 2차함수이다 중앙의 점에서 최대이지만 근방에서도 2차함수이다.
0차의 플루엔시함수는 제46b도에 나타낸 바와같이 1구간에서만 일정치를 취하는 상자형태의 함수이다.
1차 플푸엔시함수는 제46c도에 나타낸 바와같이 2구간에 걸친 3각형상의 함수이다.
3차의 플루엔시함수는 제46e도에 나타낸 바와같이 4개의 구간에 미치는 순조로운 함수이다.
일반적으로 m차 플루엔시함수는 (m+1)구간에 걸쳐 존재하고 중앙부에서 극대를 가지는 매끄러운 (m≥ 2)함수 이다. 양단에서는 m승으로 상승·하강한다. 중앙부에서의 함수형태는 역시 m승이다. 기저 ΦK의 파라미터 k가 한개 증가하면 원래의 것을 우측으로 한개 평행이동하게 된다.
어느 구간에서 몇개의 이동을 m차 구분적 다항식으로 근사하면 그 구간에서 값을 가지는 함수의 기저가 (m+1)개 있다는 것이다. m=3이상의 것을 채용할 수 있지만 여기서는 m=2로 한다.
즉 3개의 구간에 걸쳐 값이 있고 극대와 끝점에서 2차 함수적이다. 위의 식은 m=2일 때
가 된다. 기저함수는 {t-(k+q)(T/M)}2로 나타내는 횡방향으로 T/M씩 비켜난 4개의 0에서 시작하는 2차함수의 중합이다. 세부구분의 수가 k에서 k+3까지 값이 있는 함수이다. k+4이상에서 항시적으로 0이기 때문에 중복함수가(-1)q/{q!(3-q)!}이 된다. 기저함수의 수는 M+5개이다. M은 전구간의 분할 수이고 이것을 근사의 차원수라 부른다. 이것과 플루엔시함수의 차수 m을 혼동해서 안된다. 제47도에 의해 설명한다. (a)는 데이터점을 나타낸다. 데이터의 변역이 0∼T이다. (b)는 기저함수가 3개이고 차원수 M이 1의 경우를 나타낸다. 이 경우 기저함수가 너무 적기 때문에 계수의 수도 적고 좋은 근사를 부여할 수 없다. 그러나 차원수 M을 증가해가면 (c)에 나타낸 바와같이 어떤 복잡한 변화라도 그 나름대로 근사할 수 있다. 근사의 정도는 이것이 얼만큼 원래의 윤곽점열(xk u, xk u)에 가까운가라는 것을 판단할 수 있다. 최소 2승법에 의해 이것을 평가했는데 이것은
을 최소로하는 것이다. 적산(積算)의 범위는 윤곽점열군 u의 점 전부이다. 여기서는 곡률만을 구하기 때문에 정밀도는 그다지 높지 않아도 좋다. 후에 설명하는 제2회째의 데이터근사 B라도 같은 근사를 한다. 그 경우 정밀도는 보다 높은 것으로 한다. 이 부분의 플로우챠트를 제10도에 나타낸다. 계수Ch를 결정하는 것이지만 이것의 차수가 M이다. 어떤 M을 규정하면 (10)에서 계수Ch x는 한결같이 결정된다. 그러나 이 계수가 최소 2승법에 의한 제한을 반드시 넘는다고는 할수 없다. 이 경우는 차원수 M을 한개 증가시킨다. 그리고 원하는 근사범위까지 도달하면 이것으로 차원수 M에서 계수Ch를 확정한다.
(10)에 있어서 좌변의 Sx(t)가 t=tk일때에 Sx(t)=xk u가 되어야 한다. 거기서 (10)에 이것을 대입해
이것에 Φu(tk u)을 가해, 점열 k에 대해 가산한다.
여기서 2번째의 식에서 3번째의 식으로의 변화는 적산의 순서를 치환한 것이다. 유한수열이므로 적산순서는 자유롭게 변경할 수 있다.
이 식의 좌변 Σk=0 M-1Φu(tk u)xk u은 첨자가 w인 (w = -2, -1, 0,···, M+2)M+5 원(元)의 열백터라고 생각할 수 있다. 우변의 전항은 플루엔시 함수의 곱의 합 Σk=0 M-1Φh(tk u)Φu(tk u)인 M+5열, M+5행의 정방행열이라고 생각할 수 있다. 또한 우변의 후항 Ch x는 M+5열의 열벡터이다→를 문자상에 붙일 수 없기 때문에 이하 벡터를 나타내는 →는 문자뒤에 붙이기로 한다.
벡터 bx→ , cx→ 를
에 의해 정의한다. T는 전치행열인 것을 나타낸다.
행열 G를
에 의해 정의한다. 이사이에는
라는 식이 성립한다. 이것은 벡터 c →를 구하는 식이지만
로 되어 있는 차원수 M에 대한 계수Ch를 구할 수 있다.G-1는 행열 G의 역행열이다.
이것은 x에 대한 계산이다. y에 대해서도 마찬가지로
가 성립하고, 벡터 b→ , c→ 를
에 의해 정의한다. (23)과 같이 y 성분에 대해서도
로 되어 있는 차원수 M에 대한 계수 Ch y를 구할 수 있다. G -1은 행렬 G의 역행열도 x의 계산에서 사용한 것과 동일하다. 제10도는 이러한 것을 서술하고 있다. 최초는 군번호 u=0에 대해 실행한다. 또한 근사의 차수 M은 1에서 시작된다. 이렇게 해서 윤곽점열 u=0에 대해 ( xk u, yk u)을 근사하는 Sx(t), Sy(t)의 계수 Ch x, Ch y가 구해진다. 이것과 ( xk u, yk u)점과의 차의 2승의 합 Q를 계산한다.
이것과 미리 정해진 함수값 ε를 비교한다. 이것은 충분히 적은 정확한 +정수이다. 여기서는 1화소분의 거리로 취하고 있다. 만약 Q ε이면 근사가 불충분하다. 그래서 이 경우 회수 M을 1에서 2로 증가한다. 그러면 Ch의 수가 한개 증가한다.
이 상태에서 같은 것을 되풀이 한다. 이것도 Q ε라면 다시 M을 한개 늘린다. 이하 마찬가지로 반복해서 근사를 올려가고 Q ε가 되도록 한다. 여기서 M과 {Ch x},{Ch y}를 확정한다.
근사함수 Sx(t), Sy(t)가 구해진다. 윤곽점열군 u=0에 대해 계산할 수 있으면 다음은 u=1의 군에 대해 실행한다. 이하 마찬가지로 어떤 u의 값에 대해 계수를 결정하면 다음의 u+1의 윤곽점열에 대해 같은 계산을 실행한다. 그리고 u=U-1군 까지 반복 실행한다.
제48도에 의해 한번더 문자폰트의 근사기구의 과정을 설명한다. 화면상에이란 문자가 입력되었다고 하자. 윤곽점열추출을 하면 3개의 윤곽점열군이 얻어진다. 좌측의 윤곽점열이 u=0, 우측의의 부분은 외윤곽점열 u=1과 내윤곽점열 u=2를 가진다. 화면의 좌측위의 점(0,0)으로부터 우측방향으로 1행씩 화소의 값을 검출해 간다. 최초로 윤곽점에 부딪힌 점을(t0 0,x0 0),(t0 0,y0 0)로 하고 윤곽점열의 좌표를 t를 파라미터로 구해간다. t의 함수로서 윤곽점열좌표 x(t) ,y(t)가 얻어진다. 2차의 플루엔시함수를 사용해 근사하게 하고 우선 M=1에서 출발한다. 이것은 전구간[0,1]을 한개의 구간으로서 취급한다. 3개의 기저함수 Φ-2, Φ-1, Φ0가 이 구간에서 값을 가진다. 이것의 계수 3개의 값을 적당히 선택한다. 그러면 중단에 나타낸 근차곡선이 얻어진다. 확대해 보면 원데이터와의 오차가 크다는 것을 알수 있다. 오차의 2승의 합에 의해 오차를 평가하고 근사가 불충분한때는 M을 한개 늘린다. 다음 단계에서는 M=2의 예가 나타난다. 기저함수가 4개로 늘어난다. 최하단은 M=10의 경우를 나타낸다. 기저함수는 12개이다. M이 커짐에 따라 복잡한 곡선을 정밀하게 근사할 수 있다. 여기서 설명한 것은 곡률을 구하기 위한 근사이지만 나중에 서술한 데이터압축시의 근사에서는 이러한 조작을 각 구분에 대해 실행한다.
이상이 데이터근사기구 A이다.
제49도에 의해 다시 로고·삽화 경우의 근사기구과정을 설명한다. 화면상에 담배의 개략도의 삽화가 입력되었다고 하자. 윤곽점열추출을 하면 2개의 윤곽점열군이 얻어진다. 좌측의 장방형상의 윤곽점열이 u=1, 우측의 연기 부분은 윤곽점열 u=0을 가진다. 화면의 좌측위의 점(0,0)에서 우측방향으로 1행씩 화소의 값을 검출해 간다. 최초로 윤곽선에 부딪힌 점을 (t0 0,x0 0),(t0 0,y0 0)로 하고 윤곽점열의 좌표를 t를 파라미터로 구해간다. t의 함수로서 윤곽점열좌표 x(t), y(t)가 얻어진다.
이하의 절차는 제48도의 문자폰트의 경우와 같다.
[E. 곡률연산기구]
모든 윤곽점열군에 대해 근사함수가 구해졌기 때문에 이것을 2차미분함으로서 각 운곽점열군, 각 점에서의 곡률을 구한다. 제11도가 곡률연산의 플로우챠트를 나타낸다. 윤곽점열군 u의 k번째의 점 (xk u, yk u)에서의 곡률 K(tk u)는,
에 의해 계산할 수 있다. 최초 u=0의 윤곽점열군의 k=0인 점에서 이 계산을 시작한다. 이 계산은 점마다 실행한다. 즉 k번째의 점에 대해 계산할 수 있으면 다음에는 k+1번째의 점에 대해 같은 계산을 한다. 한개의 윤곽점열군에서의 계산이 끝나면 다음의 윤곽점열로 이동한다. 그리고 모든 윤곽점열의 점에 대해 곡률을 구한다.
[E'. 근사곡률기억장치]
전단계에서 구한 곡률 K( tk u)를 점(윤곽점열군 u, 점번호 k)마다 기억하는 장치이다.
[F.원추출기구]
이것은 근사곡률에 의거 어떤 윤곽점열이 원인지 아닌지를 판별하고 원을 추출하는 것이다. 문자, 로고·삽화에는 원부분이 상당히 있다. 이러한 문자폰트, 로고 ·삽화의 성질을 이용하는 것이다. 그러나 여기서 말하는 원은 윤곽선에 대한 것이기 때문에 독립된 원을 가리키고 있다.
원의 부분이 다른직선, 곡선과 교차접촉하고 있는 경우는 원으로서 추출되지 않는다. 제33도의 경우 우측어깨부분에 붙인 원이 원추출에 의해 제거된다. 제44도의 원그래프의 경우도 최외부둘레의 원이 고립된 원이기 때문에 원추출로 추출되고 이후 근사계산으로 제거된다.
이것을 추출하면 다음의 잇점이 있다. 한개는 본래 원인 것이 노이즈 때문에 조금 왜곡되어 있어도 원으로서 데이터화 하기 때문에 노이즈가 적어져 버리고 형상을 보다 정확하게 결정할 수 있다. 또한 원은 반경과 중심의 좌표만으로 지정할 수 있기 때문에 데이터압축의 점에서 극히 유효하다.
원이라는 것은 그 윤곽점열에서의 각점의 곡률이 거의 같다는 것이다. 이러한 성질을 사용해 원을 추출할 수 있다. 제12도에 플로우챠트를 설명한다. 우선 곡률 K(tk u)에 관한 데이터를 판독한다. 그리고 각 윤곽점열군 u가 원을 이루는지 아닌지를 조사한다. 윤곽점열군 u에 대한 평균곡률 Ku를 구한다. 이것은 단순히 곡률을 평균하는 것이다. 군번호 u는 괄호(u)를 붙여야 하지만 이것은 첨자에 넣을 수 없기 때문에 단지 u로 하고 있다. 도면에서는 괄호가 붙어 있다.
이것이 평균곡률이다. 곡률의 상한 ε1을 결정해 놓고 평균곡률이 이 이상이면 이 곡률점열군 u는 원이 아니라고 한다.
곡률이 극히 큰점을 포함하는 경우이다. 원이 아니고 미분할 수 없는점, 꺽인점등에 대응한다.
이 경우 군 u는 원이 아니라는 표시 Circle(u)=0를 한다. 이에 반해 평균곡률이ε1보다 적으면 군 u는 원일 가능성이 있다. 여기서 k=0인 점에서 점근방에서의 곡률 K(tk u)와, 평균곡률 Ku차의 절대값을 구하고 이것이 일정한 함수값 ε2보다 적은지 아닌지를 조사한다.
만약 그러면 이것은 원의 일부일 가능성이 있다. 그래서 다음의 점 k=1의 곡률에 대해서도 마찬가지로 평균곡률과의 차의 절대값을 구하고ε2와 비교한다. 이와같이 군 u의 모든 점에 대해 순차적으로 비교를 실행한다. 이 부등식이 성립하는한 이들의 점은 원호상에 있다. 어떤 점에서 곡률과 평균곡률의 차가ε2보다 크면 이것은 이미 원호상에 없다. 이점을 포함하는 윤곽점열군은 이미 원을 형성하지 않는다. 이 군이 원이 아니라는 표시 Circle(u)=0를 붙인다.
만약 군에서의 모든 점에 대해 곡률과 평균곡률의 차가ε2보다 적으면 이 윤곽점열은 원이다.
그리고 원인표시 Circle(u)=1을 붙인다. 이와같은 원의 추출을 모든 윤곽점열군에 대해 0∼U∼1까지 실행한다. 최후에 이것을 정리하고 군 u=0로부터 군에 대해 Circle(u)=0인지 아닌지를 조사한다. 모든 윤곽점열군 u에 대해 Circle(u)=0이면 이 문자폰트, 로고·삽화에 있어서 원은 하나도 없다는 것이다. 이 중심좌표 ( X , Y )와 반경 r을 구하고 원기억장치 G에 이것을 입력해 기억시킨다.
[G.원기억장치]
전단계에서 구한 원의 중심좌표와 반경 r을 기억하는 것이다. 이것에 의해 군 u의 데이터를 3개의 값으로 기술할 수 있다. 문자폰트, 로고·삽화를 대상으로 하기 때문에 모든 윤곽점열은 폐곡선이다. 한겹의 원인 경우 이것은 내부전체가 흑화소로 칠해진 원이기 때문에 독립된 원점이다.
2겹의 원인경우는 2겹의 원사이가 흑화소로 칠해진 동그라미등에 대응한다.
[H. 접합점위치추출기구]
접합점이라는 것은 직선과 직선의 이음매, 곡선과 곡선의 이음매, 직선과 곡선의 이음매등이다.
다른 기울기의 선이 접촉하기 때문에 이것을 접합점이라 한다. 문자폰트, 로고·삽화를 함수근사할 때 접합점은 극히 중요한 역할을 부과한다. 그 때문에 접합점의 역활, 접합점의 의의, 접합점의 추출등에 관해 명확한 관념을 가지는 것이 필요하다. 본 발명은 접합점의 정확하고 적절한 결정을 통해 문자폰트, 로고·삽화를 고품질로 유지하면서 데이터양을 최소로 할 수 있다.
제13도는 접합점추출절차의 개략을 나타낸다. 문자, 로고·삽화를 입력해 이것을 화상으로하고 2가 화상으로 해서 외부둘레를 이루는 윤곽점열을 추출한다. 이것에 의해 얻은 각 윤곽점열군에 대해 접합점을 추출한다.
우선 명백한 접합점을 추출한다. 이것은 곡률이 큰점으로 결정할 수 있다. 이것은 임시접합점으로 최적의 것이 아니다. 또한 이것만으로는 모든 접합점을 발견할 수 없다. 역으로 접합점으로서 불필요한 것도 포함된다.
따라서 접합점의 지정에 관해 수정이 필요하다. 그후 직각부분의 접합점 추출을 실행한다. 이것은 나중에 서술하겠지만 문자, 로고·삽화의 두 개의 직선이 교차할때에 교차점에서의 접속을 순조롭게 하기 때문이다. 직선의 접합점이라하는 것은 시점과 종점이고 가는선으로 곡률이 크다는 조건에서는 나타나지 않는 접합점을 추가하는 것이다. 문자의 경우 이것은 거의 필요 없지만 로고·삽화의 경우는 자주 필요하다.
반대로 불필요한 접합점이 있기 때문에 이것들을 제거할 필요가 있다. 한개는 직선중에 있는 접합점이다. 접합점이 직선의 중간에 있고 직선으로 부터의 거리가 작을때 이것을 제거해도 직선을 유지할 수 있는 것이 있다. 이것은 노이즈에 의해 발생한 접합점이기 때문에 제거한다. 다른 하나는 원호의 접합점이다. 본래 한개의 원호이어야하는 것이 접합점이 많아 2개의 원호로 분리해 나타나는 것이 있다. 이것도 중간의 접합점을 제거해 원호를 합체해서 한개의 원호로 한다.
그리고 접합점을 확정하면 각 구간을 구분적 다항식에 의해 근사한다. 이 구분적 다항식의 근사는 먼저 데이터근사기구 A에서 서술한 것과 같지만 전번의 것은 근사구간이 전윤곽점열군에 걸쳐 있었다. 이번에는 그렇지 않고 접합점마다에 구분적 다항식근사를 한다.
우선 가접합점의 추출에 대해 설명한다. 접합점에 있어서 기울기가 변화하기 때문에 곡률도 크다. 접합점은 다음에 함수근사할때에 있어서 함수의 정의역을 결정하는 것이다. 접합점과 접합점사이는 직선이거나 순조롭게 기울기가 변화하는 곡선이다. 접합점사이의 근사함수는 간단한 형태로 표현할 수 있다. 따라서 접합점의 좌표와 접합점사이의 근사함수를 구하면 이 문자폰트에 대해 모든 데이터가 구해진 것이 된다.
그러나 접합점의 선택이 적절하지 않고 접합점끼리가 너무 떨어지면 인접접합점사이를 간단한 형태의 근사함수로 나타낼 수 없기 때문에 도리어 데이터수가 증가해 버린다. 반대로 접합점이 너무 많으면 접합점의 좌표에 관한 데이터가 증가하기 때문에 충분히 데이터압축을 할 수 없다. 이와같이 접합점의 선택은 중요하다. 제14도의 플로우챠트에 의해 접합점 위치추출의 방법을 설명한다. 먼저 전윤곽점열에 대해 근사곡률이 구해지기 때문에 이것을 이용한다.
근사곡률기억장치 E'에서 곡률을 판독한다. ]{K(tk u)}이다. 이들의 데이터로 부터 군 u의 모든 점 k=0∼N-1에 대해 곡률이 어떤 값 δ보다 큰지 아닌지를 순차적으로 조사한다.
접합점이라는 것은 기울기가 비연속으로 곡률이 어느정도 큰 점이기 때문에 이러한 수법에 의해 구할 수 있다.δ의 값은 목적에 따라 적절하게 결정할 수 있다.
또한 원을 이루는 윤곽점열은 이미 제거되어 있기 때문에 원호일부에서 곡률이 크다는 점(이것은 접합점에서 있을수 없다)은 이 연산으로는 나오지 않는다. 그래서 곡률이 δ를 넘는 점을 가접합점이라 한다. 그리고 이 좌표( xk u, yk u)를 접합점 위치기억장치 I에 기억시킨다. 가접합점의 번호를 i라 한다. 여기서 i번째의 가접합점은 di( xi u,yi u)로 쓸수 있다. 윤곽점열에서의 번호 k가 접합점번호 i로 치환되어 있다. 이러한 비교와 접합점의 추출을 각점 k에 대해 실행한다. 군 u에 대해 이러한 실행을 한후 u+1에 대해 동일한 실행을 한다. 이렇게해서 각군에서의 모든 가접합점의 좌표를 얻는다.
직감적으로 접합점을 설명한다. 15도는 히라가나의와 가다카나의에서의 원문자이다. 이것을 화상처리장치에 입력해서 윤곽점열추출을 하고 접합점을 추출한 것을 제16도에 나타낸다. X표시를 붙인 곳이 접합점이다. 이것을 잘못없이 추출하기 위해 이후 몇개의 계산을 실시한다.
또한 제17도는 음표의 예이다. 좌우에 세로선이 2개이고 위에 세로선을 기울게 연결하는 2개의 선이 있다. 세로선 아래에는 기울어진 타원이 2개 붙어 있다. (a)는 원도면이고 흑백의 도형이나 (b)는 윤곽점열추출을 실시하고 또한 접합점을 추출한 것이다. X표시를 붙인점이 접합점이다.
이예에서는 외측의 윤곽선이와 내측의 윤곽선 ㅁ의 2개의 윤곽선이 있다.
외측윤곽선는 접합점를 갖는다.는 직선이다.와는 자유곡선이다. 내윤곽선 ㅁ에 있어서는는 직선이다.
는 원호 또는 자유곡선이다. 이 예에서는 직선부분이 많고 직선을 직선으로서 바르게 추출할 수 있는 것이 보인다. 자유곡선부도 포함된다.
제18도는 다이오드의 약도이다. 큰 원형 가운데에 삼각과 선분이 있고 이들의 중앙부를 횡으로 관통하는 직선이 있다. 윤곽선은 외측의 원형상의 윤곽선와 내측의 윤곽선가 있고 합계 3개이다. 외측윤곽선의 접합점은 8개 있지만 윗반쪽에 대해서만 부호를 붙였다.는 짧은 선분,는 반원호,는 짧은 선분,는 짧은 원호 또는 자유곡선이다. 내측윤곽선는 대칭이기 때문에,에 대해 설명한다.는 선분,는 선분,도 선분과 같지만,의 근방에서 구부러져 있고 자유곡선이다.는 선분,도 선분,는 선분,는 선분,는 반원호이다. 이것도 직선의 부분이 많다. 그 다음으로 원호가 많다. 기하학적으로 선분은 양단이 결정되어 있고 직선은 양단이 없는 도형이지만 이 명세서에서는 선분과 반직선도 직선이라 부르고 있다.
어떠한 로고·삽화에서도 직선이 많은 것이나 원호가 많은 것(제45도, 제56도)과, 자유곡선이 많은 것(제51도, 제53도, 제55도, 제57도)과 다양한 것이 있다. 로고·삽화는 디자이너의 자유로운 발상에서 창출되기 때문에 미리 그 경향을 정할 수 없다.
[I. 접합점위치기억장치]
이것은 상술한 조작에서 구한 가접합점이 번호와 좌표{di( xi u,yi u)}를 기억하는 것이다. 가접합점이라는 편이 정확하다. 접합점에 관해서는 상기한 곡률이 큰 것으로 선택한 가접합점과 앞으로 서술한 접합점후보와 최적접합점의 3종류가 있다. 이것을 혼동해서는 안된다.
[J. 최적접합점 추출기구]
지금까지 구한 것은 곡률의 크기만으로 판정한 가접합점이다. 이들은 실제의 접합점이 아닌 것이 있다. 문자폰트, 로고·삽화를 광학적으로 판독한 화상에는 렌즈나 유리에 있어서 빛의 반사나 산란, 외란광등의 노이즈가 있기 때문에 실제로 2직선, 2곡선의 접합점 곡률이 작게 된 것이 있다. 때문에 전단계의 처리로 접합점으로서 남지 않는 것이 있다. 반대로 노이즈 때문에 직선, 곡선 중간점임에도 불구하고 곡률이 크게 되고 접합점으로 보이는 것이 있다.
그래서 최적의 접합점을 발견할 필요가 있다. 최적접합점은 상기한 방법으로 구한 접합점후보 가까이에 있다. 최적접합점이라는 것은 상기한 바와같이 직선과 직선의 교점과 꺽인점등이기 때문에 문자, 로고·삽화에 고유한 것이다. 이것이 노이즈 때문에 곡률의 대소만으로는 정확하게 발견할 수 없다.
제19도에 최적접합점의 추출기구의 플로우챠트를 나타낸다. 접합접 위치기억장치 I에서 가접합점 di( xi u,yi u)i=0 I-1을 판독하다. 여기서 u는 윤곽점열의 군번호, i는 이군에서의 가접합점의 번호 I는 이 군에서의 가접합점의 수이다. 가접합점이라 부르는 것은 이것이 최종적인 접합점이 아니기 때문이다. 본 발명의 현저한 특징은 여기에도 있다. 접합점의 위치에 대해 다듬고 다듬는다는 것이 본 발명에 있어서 중요하다.
가접합점의 근방에 몇개의 접합점부호라는 것을 생각한다. 이것을λ0 i로 하고 좌표를 붙여로 쓴다. i는 가접합점의 번호로 괄호에 넣고 첨자로 올려야하지만 괄호가 1/4각이 되지 않기 때문에 생략한다. 도면에서는 (i)라는 첨자가 바르게 쓰여져 있다. 군 u란 표시는 생략하고 있다. 물론 군 u의 i번째의 가접합점 근방에 있는 접합점후보이다. 이접합점후보의 수를 0이라 한다. 이것은 어떤 가접합점에 대해서도 동일한 수이다. 제20도는 이것을 나타내고 있다.
중앙의 xi가 곡률에 의해 선택된 가접합점이고 이들 전후α개가 접합점후보이다. 단 여기서xi라고 써있는 것은 di( xi u,yi u)에 관한 것이고, x좌표와 y좌표의 양쪽을 의미한다. di라 쓰면 좋지만 여기서는 위치좌표인 것을 확실하게 나타내기 위해 단지 xi라 써 있다. 다음에 나오는 근방접합점의 표기도 같다.
접합점후보는 o =0, 1,··o-1까지 있다. 이것은 di+α 또는 di-α 에 의해 구해진다. 이것은 가접합점 전후α개의 윤곽점열을 접합점후보라 하는 것이다.
가접합점도 이것에 대응하기 때문에 o=2α+1이다. 이중에 한개의 최적접합점이 존재한다. α의 크기는 가접합점과 최적접합점의 어긋남의 크기의 평가로부터 결정되지만 이 어긋남이 큰 경우는α를 크게할 필요가 있다. 그러나 이것을 크게하면 뒤에서 계산해야 할 수가 증가한다. 양자를 감안해서 적당한 수를 결정해야 한다.
다음에 근방접합점 {di( xi u,yi u)}를 추출한다 근방접합점은 가접합점xi를 중심으로 반경ρ의 원내에 있는 가접합점이고 연속하는 윤곽점열에 의해 연결되어 있는 것 및 이 가접합점을 포함하는 윤곽점열에 의해 둘러쌓인 운곽점열내에 있는 것이다. 예를들면란 문자의 경우 우측아래의 ○내측 윤곽점열도 외측의 가접합점의 근방접합점이 되고 제33도의 로고·삽화의 경우 최하단에 나타낸 바와같이 ○내부에 포함되는 가접합점가 근방접합점이 된다.
근방접합점에 붙인 번호를 j라 한다. 앞부분의 고찰대상이 되는 가접합점 xi가 i를 번호로 하고 있고 이것들로 구별되어 있다. 반경 ρ내에 있다는 것은
라는 조건으로 나타낼 수 있다. 윤곽점열에 의해 연결하고 있다는 조건이 왜 필요한가하면 이 가장 적합한 접합점의 추출이라는 것이 선과 선의 교차에 있어서 교차를 사이에 둔 접합점끼리가 매끄럽게 연결하도록 하기 위해서이다. 윤곽점열에 의해 연결되어 있지 않은 접합점끼리의 상대적인 관계는 아무래도 좋다. 또한 윤곽점열에 의해(흑화소의 연결) 연결한다는 조건은 xj가 xi와 동일한 윤곽점열군에 있는지 없느지하는 것에 의해 간단하게 조사할 수 있다.
근방접합점은 정확하게는xj( xj u,yj u)라 써야하지만 장황하기 때문에 이후 간단하기 xj로 쓰기고 한다. 이것은 x좌표뿐만 아니라 y좌표도 포함하고 있다.
근방접합점의 수를 J라 한다. J는 0의 것도 있고 1이상의 것도 있다. J=0이라는 것은 근방접합점이 없다는 것이다. J가 1이상이라고하는 것은 몇개의 근방접합점이 있다는 것이다. 두개의 경우에 있어서 처리가 다르다. J≥1의 경우와 J 1 (즉 J=0)의 경우로 나누어 설명한다. J≥1의 경우 또한 2개의 경우를 구별한다. 윤곽점열의 추적은 외부에 윤곽점열이 있으면 시계방향으로, 내부에 있는 경우는 반시계방향이다. 그 때문에 고찰의 대상이 되고 있는 가접합점 xi보다 먼저 근방접합점 xj가 있는 경우와 xi보다 전에 근방접합점 xj가 있는 경우가 있다. 양자를 구별해야 한다.
곡률이 선택한 가접합점 xi보다 전에 있는 근방접합점 xj는 출력근방이라한다. 이것을 제 21도에 나타낸다. 가접합점 xi보다 뒤에 있는 근방접합점 xj는 입력근방이라 한다. 즉 가접합점 xi에서 윤곽점열의 주사방향으로 발산한 벡터가 나가는 앞에 있는 근방접합점이 출력근방이다.
역으로 근방접합점에서 주사 방향으로 발사한 벡터가 들어가 있는 가접합점이 입력근방이다.
출력근방과 입력근방의 판단에 대해서는 나중에 설명한다.
[예 1 (J≥1에서 출력근방의 경우)]
우선 제 21도에 의해 출력근방의 근방접합점에 대해 생각한다. 이것은 몇가지로 생각할 수 있다.
여기서는 4개의 가접합점의 근방을 생각한다. 그리고 이 4점을 연결하는 곡선이 가장 순조롭다는 조건에 의해 가접합점이 가까운 접합점후보 λ0 i( xi0, yi0)중 가장 적합한 것을 결정한다.
제 21도에 있어서 가장 처음으로 곡률에 의해 선택된 가접합점이 xi(C의 근방)이다. 근방접합점이 xj(B의 근방)이다. 출력근방의 경우는 가접합점의 다음 가접합점 xj+1(D의 근방)과 근방접합점 xj의 한개 앞의 가접합점 xj-1(A의 근방)을 생각한다. 이 4점을 통하는 곡선이 가장 매끄럽게 되도록 이들의 점을 통하도록 한다. 이들 4개의 가접합점내 양측의 A,D는 고정되고 중간의 B,C만을 움직여 접합계수를 구한다. B,C의 점은2α+1개의 접합점후보를 가진다. 여기서 (2α+1)2개의 조합의 구분적 다항식근사를 한다. 이중 가장 순조롭게 4점을 연결하는 근사가 가장 높은 적합계수를 부여한다. 순조롭다는 조건을 어떻게 표현하고, 얼마나 있는가를 여기서는 곡선의 변곡점이 가장 작다는 조건에 의해 평가하기로 한다. 점차 근사를 잡아가는데 근사의횟수를 t로 나타낸다.
곡선의 끝점 A는 xj-i의 어느쪽인가의 접합점후보 λj-1( xj-i, yj-1)이다. 단 여기서 접합점후보의 첨자는 ℓ'이지만 「'」를 1/4그림으로 할수 없기 때문에 여기서는 ℓ로 쓰여있다. 실제로는 ℓ이다. 중간점 B는 근방접합점 xj의 어느쪽인가의 접합점후보 λt j( xjt, yjt)이다. 접합점후보의 번호를 ℓ로 나타내고 있다. ℓ이 파라미터가 되고 ℓ을 바꿔 같은 계산을 수회 한다.
중간점 C는 원래의 가접합점 xi중 어느쪽인가의 접합점후보 λt j( xjt, yjt)이다. 접합점후보의 번호는 o 에 의해 나타내고 있다. o 가 파라미터가 되고 이것을 바꿔 동일계산을 수회 반복한다.
곡선의 다른끝점 D는 xi+1의 어느쪽인가의 접합점후보이다. 단 여기서도 접합점후보의 첨자는 o'이지만 「'」1/4그림으로 할수 없기 때문에 단지 o로 써있다. 실제는 제 21도와 같이 o'이다.
계산의 순서이지만 양단의 A,D점은 고정점(t회째의 근사에 있어서)이고 중간점 B의 접합점후보, 중간점 C의 접합점후보에 대해서는 파라미터 ℓ, o를 한개씩 바꿔 계산을 반복한다. 이계산으로 접합점으로서의 적합성을 확률함수로서 계산한다. 확률함수는 곡선의 순조로움에 의한 계수를 가진다. 이 계수는 적합계수라 할 수 있다. i와 j는 가접합점 xi와 근방접합점 xj의 부호 이다.
o 와 l은 이들의 가접합점이 속하는 접합점후보의 번호이다. 이 계수가 파라미터 o, l마다 결정되는 값이기 때문에 그 만큼의 첨자를 필요로 한다. 이것은 곡선 ABCD가 충분히 순조로울때 l이 되고 순조롭지 못할때는 l보다 적어진다. 따라서 곡선의 적합성을 결정하는 파라미터가 될 수 있다.
제 22도는 근방접합점이 존재하는 경우 `의 접합계수의 결정법을 나타내는 플로우챠트이다. 파라미터의 범위를 먼저 지정하고 있다.
i가 0에서 I-1이라하는 것은 곡률에 의해 구한 가접합점 xi에 대해 이러한 계산을 0에서 I-1까지 반복한다는 것이다.
o가 0에서2α까지라는 것은 대상으로하는 가접합점 xi에 있어서 2α+1개의 접합점후보가 있기 때문에 이것에 대해 하나씩 모두 계산한다는 것이다.
j가 0에서 J-1까지라 하는 것는 근방접합점 xj가 복수개 있는 경우는 이 계산을 어느만큼만 반복하는 것이다. J 1이므로 이와같은 것이 필요하다. l이 0에서 2α까지라 하는 것은 근방접합점 xj에 있어서 2α+1개의 접합점 후보가 있기 때문에 이들에 대해 한개씩 모두 계산한다는 것이다.
i, 0, j, l의 파라미터에 대해 이러한 계산을 하지만 여기서는 순서가 같지 않게 써 있고 처음의 것만큼 큰 루프를 구성한다는 것은 없다. 그러나 이후의 설명에 의해 이들 파라미터의 변화는 한결같이 부여된다.
처음에 데이터근사한 것과 같은 수법에 의해 점 A, B, C, D를 플루앤시함수에 의해 근사한다. 즉 구분적 다항식에 의해 근사하는 것이다. 근사함수의 차수는 2차라도 좋다. 상기한 식에서 m=2로 한다.
여기서 파라미터 t는 연속량을 나타내는 t이다. 앞서 서술한 근사의 단계를 나타낸 t와는 다르다.
문자의 수가 부족하기 때문에 별도의 다른 것을 같은 t로 표현하고 있다. 최초의 데이터근사시는 전윤곽점열에 대해 범위 T를 정하고 전윤곽점열에 대해 한개의 근사를 하고 있다. 그 때문에 모든 윤곽점열의 좌표데이터가 참조되어야 했다.
그러나 여기서는 그렇지 않고 4점 A, B, C, D를 연결하면 좋다. 4점의 좌표만이 필요하고 4점사이의 많은 윤곽점열의 좌표는 이미 필요없다. 4점을 연결하면 좋기 때문에 AD간을 구분적 다항식에 의해 근사하고, 구간 T와 곡선 AD에 대응하고 있다. 제 10 도에 나타낸 바와같은 계산을 하지만 점의 수가 현저히 적기 때문에 이 근사는 간단하다. 최소 2승법으로 계수를 확정하는 점도 같다. 이러한 근사에 의해 4점을 통하는 근사곡선 ABCD를 만든다.
곡선 ABCD의 각 윤곽점에 있어서 곡률을 계산한다. 이것은 근사함수 Sx(t), Sy(t)가 있기 때문에
단, w = A, B, C, D이다.
이것도 곡선 AD전체에 걸쳐 곡선을 구하는 것이 아니고 4점만 계산하면 됨으로 간단하다.
곡률의 반전회수에 의해 변곡점의 수 nc를 구한다. 변곡점의 수는 당연히 3이하이다. 제 23도는 곡선의 개략형과 변곡점의 수 nc의 예를 나타내는 도면이다. 변곡점을 X표시에 의해 나타난다. (a) 는 변곡점의 수가 3개의 경우가 있다. 구불구불함이 심하다. (b)는 변곡점의 수가 2개의 경우이다. (c)는 변곡점수가 1인 경우이다. (d)는 변곡점수가 0인 경우이다. 이것이 가장 순조롭게 4점을 연결하고 있다. 이것을 채용하는 것이 바람직하다. 이 경우에이 1이 되도록 결정한다. 예를들면 변곡점수 nc를 사용해서
(C1, C2는 정해진수)
라는 식으로 결정한다. 이 예에서는 변곡점의 수가 3일 때으로 되어 있다. 이것은 C1=-1, C2=3/4 로 한 것이다. 이렇게 하면 nc=2에서 4/9, nc=1에서 2/3, nc=0에서 1이 된다. 물론 이들의 정해진 수는 적절하게 결정하면 좋다. 1과 min연산하는 것은 변곡점수가 적을때 너무 크게 되기 때문에 이것을 방지하기 위해서이지만의 상한이 1이어야 한다는 것은 아니다. 단지으로서 좋다.
이와같은 계산을 몇회나 거듭한다. 근사계수의 횟수를 t로 표현한다. 이것은 확률을 구하는 계산이다. 근사계산에 대해서는 나중에 서술한다. 여기서는 적합계수의 결정에 대해서만 설명했다.
[예 2(J 1의 경우: 근방접합점이 없다.)]
제 24도는 J1즉 근방접합점이 존재하지 않은 경우에 처리한 플로우챠트를 나타낸다. 제 25도는 이 경우의 접합점위치의 예를 나타내고 있다. 이것은 가접합점 xi앞의 가접합와, 나중의 가접합점과 3점의 접속을 문제로 한다. 제 24도의 플로우챠트도 파라미터메터의 범위에 대해 처음으로 정의하고 있다. i는 0∼I-1이지만 이것은 가접합점의 번호이다. 모든 가접합점에 대해 연산을 실행하는 것이다.
k는 가접합점 xi의 접합점후보의 번호이다. l은 xi보다 전의 가접합점의 접합점후보의 번호이다. 모든 접합점후보에 대해 계산을 한다. j는 i-1∼i-1 즉 j=i-1뿐이다.
각각의 가접합점의 접합점후보를 A, B, C로 한다. 점 A는이고 l이 파라미터이다. 점 B는이고 파라미터는 k이다. 점 C는의 접합점후보이고 maxh는 파라미터 h중에서의 최대를 나타낸다.
이들의 3점을 플루엔시함수로 보간한다. 이것은 제 10도에 나타낸 바와같은 방법으로 실행하지만 3점밖에 없고 극히 간단하다. 단 이것도 근사를 향상해 가도록하고 근사의 횟수를 t로 나타낸다. 그리고 최소 2승법에 의한 오차가가 될 때까지 근사한다. 이때 근사의 차원수를 M이라 한다.은로 결정한다. ε는 최종오차 M은 최종차원이다. 즉 가능한한 낮는 차원수로 오차가 적게 근사할 수 있는 점을 구한다는 것이다. 이러한 점은 각각 속하는 가접합점의 접합점후보내 가장 순조로운 곡선을 부여할 수 있다. t는 근사의 횟수이고 0에서 이것을 향상해 간다. 전술한 J≥1일때 와 t는 0∼4로 하고 4회로 근사를 중단한다.
[예 3 (J≥1에서 입력근방의 경우)]
제21도에서 나타낸 것은J≥1로 가접합점 xi에 대한 근방접합점 xj가 출력근방일때이다.
J≥1이고 근방접합점 xj가 입력근방인 경우도 같은 계산을 하는 것이지만 이 경우 4점의 취하는 형태가 조금 다르다.
제26도에 입력근방의 경우의 근방접합점 xj에 대한 4점의 취하는 방법을 나타낸다.
근방접합점 xj가 xi를 중심으로하는 반경ρ가운데에 있다. 또한 이것은 주사의 방향에 있어 원래의 가접합점 xi보다 앞에 있다. 4점은 대상이 되는 가접합점 xi앞의 가접합점 xj-1과 근방접합점 xj다음의 가접합점 xj+1이다.
이들 가까이에 있는 2α개의 접합점후보로부터 4점을 취한다.
A는 xj+1의 접합점후보의 하나이다. 단 여기서 l은「'」이 붙어 있지만 이것은 1/4그림으로 할 수 없기 때문에 「'」를 생략하고 있다. 이것은 전회의 확률계산으로 최대값을 부여한 것으로 결정되어 있고 고정값이다.
B는 근방접합점 xj의 접합점후보의 하나이다.
C는 대상으로하고 있는 가접합점 xi의 접합점후보의 하나이다.
D는 xi-1의 접합점후보의 하나이다. 이것도 전회의 확률계산으로 최대값을 부여하는 것으로 고정값이다. 도시한 바와같이 실제로는 o'이지만 「'」가 1/4각이 되지 않기 때문에 여기서는 「'」를 생략하고 있다.
이상과 같이 4점이 결정된다. 이것보다 앞으로의 계산은 먼저 설명한 예 1의 경우와 같다.
[출력근방과 입력근방의 결정방법]
대상이 되는 가접합점 xi의 근방접합점 xj로서 출력근방과 입력근방을 구별해야 한다. 윤곽점열의 주사방향에 따른 가접합점의 2점을 통하여 벡터가 근방접합점을 향할때 이것을 출력근방이라 한다. 반대로 윤곽점열의 주사방향을 따른 근방접합점의 2점을 통하는 벡터가 가접합점을 향할때 이것을 입력근방이라 한다.
알기 어려운 개념이다. 접합점은 이와같이 2개의 근방접합점을 가지며 양쟈와의 접속을 매끄럽게 해야 한다. 때문에 2개의 근방접합점을 구별해야만 한다.
제27도는 입력, 출력 근방접합점의 결정을 위한 플로우챠트이다. 모든 접합점후보를 입력한다.
i는 계산대상인 가접합점xi의 번호이고 이것은 한개의 윤곽점열군 u에 대해 I개 이다 (0∼I-1).
이것에 대해 i=0부터 시작한다. j는 근방접합점의 번호이지만 처음부터 근방인지 아닌지 알수는 없다. 처음은 모든 가접합점 xj를 취한다. o 는 그 가접합점에 가까운 2α 개내에 포함되는 접합점후보의 번호이다. 도면중에서는 o 에 윗줄을 붙였지만 명세서에서는 윗줄을 붙일수 없기 때문에 생략한다. 가접합점 xi의 i만 고정해서 근방접합점을 구한다.
dj( xj u, yj u)은 j 번째의 가접합점의 좌표이지만 간단하게 하기 위해 단지 dj라 쓰여 있다.
이것이(간단하게 하기 위해 λo i라고 쓴다)을 중심으로 하는 반경ρ내에 존재하는지 안하는지를 조사한다. 이것은 35 에 나타낸 조건이지만 다시 기술하면
가 된다. 35 는 가접합점의 좌표 xi를 그대로 사용하고 있지만 여기서는 xi의 접합점후보의 좌표를 사용하고 있다. 만약 dj가 반경ρ내에 있으면 이것은 근방접합점일 가능성이 있다. 다음에 dj와 λo i가 동일한 윤곽점에 있는지 없는지를 조사한다. 다른 윤곽점열에 있으면 이것들은 근방접합점이 아니다. 만약 동일한 윤곽점열에 있으면 dj는λo i가 속하는 가접합점 xi의 근방접합점이다.
xi를 di로 나타낸다. 대상으로하고 있는 가접합점 xi에 있어서 어느 일정수 b전의 점의 좌표는(반드시 접합점후보라고 할 수 없다) di-h로 나타낼 수 있다. 벡터 di-hdi는 가접합점에 있어서 주사방향에 따른 방향을 갖는다. 단 b는 고면중에서는 β이지만 이것을 1/4화로 할수 없기 때문에 여기서는 b로 쓰여 있다. b는 β로 대체해야 한다. 또한 문자상에 → 를 붙일 수 없기 때문에 여기서는 벡터를 벡터로 쓴다.
한편 근방접합점 xj에 있어서 이들로부터 일정수 b만큼 뒤의 점의 좌표는 dj+h로 쓸수 있다. 벡터dj dj+h는 근방접합점의 직후에 있어서 주사방향에 따르는 방향을 갖는다. 이들 벡터의 내적을 계산한다. 이것이 적을때 이들의 벡터는 거의 직교하게 된다. 즉
이면 양자는 거의 직교하게 된다. 단 ε는 적당한 작은 값이다. 이 경우 dj는 입력근방이다.
거기서 이것을 dj input(i)로서 등록한다.
또한 다른쪽 근방접합점 xj에 있어서 이것들로부터 일정수 b만큼 앞의 정의 좌표 dj-h로 쓸수 있다. 벡터 djdj-h는 근방접합점의 직전에 있어서 주사방향에 따르는 방향을 가지고, 이들 벡터의 내적을 계산한다. 이것이 작을때 이들의 벡터는 거의 직교하게 된다. 즉
이면 양자는 거의 직교하고 있게 된다. 단 ε는 적당한 적은 값이다. 이 경우는 dj는 출력근방이다. 거기서 이것을 dj output(i)로서 등록한다.
상기한 것은 벡터의 내적을 이용한 것이다. 외적을 이용할 수 있다. 외적을 사용하면 평행한 벡터를 발견할 수 있다.
등이다. 또한 출력근방과 입력근방의 구별이 이것으로는 명확하지 않은 것이라면, 내직
을 계산해서 이들의 +,-를 확정하고 입력, 출력 근방을 구별할 수 있도록 한다.
[확률계산]
최적접합점을 구하려면 접합점후보에 대해 다음과 같은 계산을 해서 최적한 것을 선택한다. 제 28도는 이 계산을 나타내는 플로우챠트이다.
입력하는 것은
λo (i)( xio, yio)는 곡률에 의해 선택된 가접합점 xi의 가까운 접합점후보이다. o는 접합접후보에 붙인 번호이다. i는 xi에 관한 것이라는 의미이다. dj input(i)는 가접합점 xi의 근방접합점내 입력근방접합점의 위치 좌표이다. dj output(i)는 xi는 근방접합점내 출력근방접합점의 위치좌표이다.
그것만을 처음에 입력한다. 확률계산의 차수를 t로 나타낸다. 이것은 최소 2승법으로 오차가 어느정도 적어졌을때에 중지하는 것이 아니라 처음부터 횟수를 결정해 둔다. 예를들면 4회로 한다( t=0∼4). 물론 목적에 의해 5회이상으로 해도 좋다.
확률변수 Pi t(o)를 정의한다. 이것은 가접합점 xi의 근방에 있는 2α +1의( xi자신을 포함한다) 접합점후보내 o의 t회째의 확률이다. t가 아니고 t회째이기 때문에 괄호를 붙여야 하나 괄호를 첨자에 넣을 수가 없기 때문에 단지 t로 쓰여져 있다. 어떠한 확률인가하면 최적접합점으로서의 확률이다. 2α +1개의 접합점후보내 이들 중 가장 높은 것을 선택한다. 확률계산의 회수 t를 늘릴때마다 접합점으로서 보다 적합한 것의 확률변수가 높아간다. 그와같이 확률변수를 결정한다. 물론 몇가지의 정의가 가능하다. 여기서는 다음과같이 결정한다.
상보확률변수Qi t(o)를 생각해 본다. 이것도 접합점부호 o의 t회째의 확률을 부여하고 있다. 이것은 입력근방으로부터의 기여 qj input(o)와 출력근방으로부터의 기여qj output(o)의 합이다. 이것도 회수 t가 들어가지만 여기서는 생략한다.
qi input(o)와 qi output(o)은 다음과 같이 정의한다.
단 max의 계산은 접합점후보 λl j가 dj input(i)의 접합점후보에 속해있다는 조건에서 최대의 값을 취한다는 것이다. 여기서는 l이 변화하는 파라미터이다. 접합계수 rij(ol)은 먼저 부여된다. 마찬가지로
max는 접합점후보 λl j가 dj input(i)의 접합점후보에 속해 있다는 조건에서 최대의 값을 취한다는 것이다.
t+1회째의 확률변수는 t회째의 확률변수, 상보확률변수 등을 사용해 다음과 같이 정의된다.
이러한 계산을 t=0∼4까지 실행한다. 단 이것은 처음(t=0)의 확률변수를 모르면 계산할 수 없다. 초기확률Pi (o)(o)는 어떻게 부여해도 좋지만 여기서는 xi에 가까울수록 큰값을 부여한다. 최적접합점은 가접합점 xi의 가까이에 있다고 생각되고 xi의 초기확률울 높게 하면 확률변수의 수렴이 빠르게 된다고 생각되기 때문이다.
제30도에 초기값의 설정을 설명한다. 접합점후보 λo j는 o가 0부터 2α +1개 있다. o=α는 xi자신이다. 초기값 Pi'(o)는 0=α일때에 최대값 K를 취한다. 0=α-1, α+1은 (K-2)로 한다. 이하 α에서 멀어짐에 따라 2개씩 감소해가는 것으로 한다. o=0,2α에서는 초기값은 1이다. 초기확률 Pi (o)(o)는 초기값을 사용해서
이다. Σ의 적산은 o에 대해 실행한다. 이렇게해서 초기확률이 주어지기 때문에 적합계수 rij(ko)와 조합시켜 t=1에서의 qi input(o)와 qi output(o)를 계산할 수 있다. 이들의 합으로 Qit(o)서 상보확률변수 를 계산하고 또한 t+1회째의 확률변수 Pi t(o)를 계산할 수 있다. 이것은 t=4가 될때까지 반복실행한다. t=4에서 최고의 확률변수를 가지는 접합점후보가 최적 접합점이다. 여기서의 출력은 Pi4(o)i=0 I-1 o=0 0-I이다. 이것을 제31도에 나타낸다.
이와같이 해서 곡률로부터 구한 가접합점의 가까이에 있는 접합점휴보로부터 최적접합점을 구할 수 있다. 처음에 가접합점을 구했는데 더욱 가까운 윤곽점열에까지 범위를 넓혀 접합점후보로 하고 여기서 최적한 접합점을 구하는 것은 본 발명의 현저한 특징중의 하나이다. 이것은 곡률이 극대인 점이 반드시 접합점으로서 최적하지 않다는 본 발명자의 발견에 의거한 것이다.
[적합계수의 다른 정의]
최적합점의 조건은 전술한 방법으로는 4개의 점을 연결하는 곡선의 변곡점이 가장 적다는 것이다. 즉 가장 순조롭게 연속한다는 것이다. 이것은 변곡점의 수를 바꾸는 외에 곡선의 곡률을 직접적으로 대상으로하는 방법도 가능하다.
제29도는 이와같은 다른 조건에 의한 접합접후보의 적합계수의 구하는 방법을 나타낸 플로우챠트이다.
처음의 J1은 근방접합점이 존재한다는 조건이다. 이 경우 입력근방과 출력근방을 생각해 4점 A, B, C, D를 통하는 곡선을 생각하지만 (제21도, 제26도)이때 변곡점은 아니고 곡률을 구한다. Kinput라는 것은 입력근방에 있어서 4점을 연결하는 곡선의 최대곡률이다. 이것이 적어지는 곡선이 바람직하다. Koutput는 출력근방에 있어서 4점을 연결하는 곡선의 최대곡률이다. 이것도 적은편이 좋다. 거기서 양자의 합을 취해 이들의 최소를 부여하는 점을 구하게 한다. 거기서 접합계수를
로서 정의한다. γ은 정수이다. 이것은 최적일때에 곡률의 합이 거의 γ이 되도록 결정한다. 제 31도는 확률변수의 계산을 반복해서 t=4가 되었을때 반복을 정지해 이것에서 얻을 확률변수 Pi 4(o)가 최대가 되는 접합점후보의 번호(o)를 구하고 이것을 상기한 가접합점 xi가 속하 는 접합점후보내의 최적접합점 λo j로 하는 것이다. 이것을 최적접합점 기억장치에 K에 입력한 다. 이러한 조작을 윤곽점열군의 모든 가접합점에 대해 실행하고 각각의 카테고리의 접합점후보를 결정한다.
[K.최적접합점 기억장치]
상기한 조작에 의해 구한 최적접합점을 모두 넣어두는 장치이다. 제31도의 최하단에 나타낸 바와같이 최적접합점을 (xi u, yi u)로서 넣어둔다. u는 윤곽점열의 번호이다. i는 군 u중에서 접합점에 붙이는 번호이다. 앞에서는 가접합점에 xi라는 번호 (y좌표도 대표시키고 있다)를 붙이고 있고 번호 i가 동일하지만 이것은 지장이 없는 것이다. 가접합점 하나에 최적접합점 하나가 대응하고 최적접합점은 앞서 구한 구접합점과 동일하거나 또는 극히 가까이에 있기 때문이다.
여기까지 조작을 순서대로 설명했는데 절차를 알기 쉽게 하기 위해 여기서 제32도에 나타낸라는 문자를 예로서 지금까지의 조작을 간단하게 반복한다. 제32도에 있어서 흑자로라는 문자가 있다. 이것은 이미지스캐너로 판독해서 화상으로 한다. 화상처리해서 윤곽점열추출을 실행한다. 이것은 흰색문자로 나타낸다. 우측어깨부분의 동그라미 원추출에 의해 추출되고 원기억기구에 의해 기억된다.
나머지는가 된다. 윤곽점열로서는 독립된 3가지의 군이 있다. 이들 전길이에 걸쳐 구분적 다항식근사를 한다. 그리고 곡률을 계산해서 가접합점을 구한다. 이것이 3단계로 쓰여 있다. 가접합점의 선분의 이음매로 나타난다.
4단계에서 ×표시로 가접합점을 나타낸다. 곡률로 선택하기 때문에의 우측아래부분은 가접합점으로서 나타나지 않는 것이 있다. 이 경우는 이점이 접합점이 되도록 추가한다. 다음으로 접합점후보를 구한다. 또한아래의 교차점부분에 있어서 근방접합점을 추출한다. 이상의 설명으로 여기까지 분명해졌다. 다음으로 제33도에 나타낸 로고·삽화를 예로서 지금까지의 조작을 마찬가지로 간단하게 반복한다. 이것은 제18도나 제50도의 다이오드도형의 우측어깨부분에 여분의 ○를 추가한 것이다. 이것은 원의 처리를 설명하기 위해서이다. 이 화면을 이미지스캐너로 판독해 화상으로 한다. 화상처리해서 윤곽점열추출을 실행한다. 이것은 흰색의 로고·삽화로 나타낸다. 5개의 윤곽점열이 있다. 우측어깨부분의 동그라미는 원추출에의해 추출되고 원기억기구에 의해 기억된다. 이것이 제거됨으로 내외부가 동심인 2개의 윤곽점열이 줄어든다.
나머지는 동그라미와 삼각선분을 조합한 도형이 된다. 윤곽점열로서는 독립된 3가지의 군이 있다. 이들의 전길이에 걸쳐 구분적 다항식근사를 한다. 그리고 곡률을 계산해 가접합점을 구한다. 이것이 3단계에 쓰여 있다. 가접합점은 선분의 이음새로 나타난다. 4단계에서 ×표시로 가접합점을 나타낸다. 곡률로 선택하기 때문에 본래 접합점이 되야하는 것이라도 둔각에서 2선분이 교차하는 경우등 가접합점으로서 나타나지 않는 것이 있다. 이 경우는 이 점이 접합점이 되도록 추가한다. 이 예에서는 곡률계산으로 가접합점이 모두 나오기 때문에 접합점의 추가는 불필요하다. 다음으로 접합점후보를 구한다. 또한 원과 횡직선의 교차점과 세로의 선분과 직선의 교차점등으로 일정반경내의 가접합점으로서 근방접합점을 추출한다. 이상의 설명에서 여기까지 확실하게 되어 있다.
[L. 접합점제거기구]
여기서는 지금까지 추출된 접합점내의 불필요한 접합점을 제거한다. 제34도는 이것을 나타낸 플로우챠트이다. 최적접합점 기억장치에서 최종접합점을 판독한다.이다. u는 군번호 i는 군에서의 접합점 번호이다. 이후 직선근사에 있어서 불필요하게 긴 접합점 제거를 실시한다. 또한 원호근사에 있어서 불필요하게 긴 접합점을 제거한다. 최종접합점은 윤곽점열마다 좌표 ( xi u, yi u)와 번호 I' 에 의해 기억장치에 기억된다.
지금까지 구한 접합점은 윤곽선을 구분적 다항식으로 근사하고 곡률을 구하고 가접합점을 구하고 접합점후보로부터 최종접합점을 구한 것이다. 따라서 불필요한 접합점은 거의 없지만 그것도 화상노이즈의 영향등으로 불필요한 접합점이 존재할 가능성이 있다. 그것은 직선의 접합점과 원호의 접합점이다.
[직선의 접합점제거] 제35도의 윤곽점열의 예는 선분증에 접합점이 있는 경우를 나타낸다. 이들 좌표를 (xi4 B, yi4 B)에 의해 표현한다. 이 접합점을 순차평가하고, 직선의 접합점이 2점이상 연속된 구간이 존재할때 이들내 3개가 연속하는 점열을 취하고 i4=ns, ns+1, ns+2로 한다. 양측의 (xns B, yns B)와 (xns+2 B, yns+2 B)을 직선으로 연결한다. 중간의 접합점 (xns+1 B,yns+1 B)로 부터 이 직선으로 내린 수직선의 길이를 Las+1로 한다. 이것이 미리 정한 K7보 다 작을때
이 접합점은 제거한다. 제36도는 이러한 접합접을 제거하고 양측의 접합점을 연결한 상태를 나타낸다. 반대로 수직선의 길이 Las+1가 정수 K7이상일 때
이 접합점은 유지된다. 이러한 평가를 모든 접합점에 대해 실시한다.
[원호의 접합점제거] 전 단계까기 추출된 원호의 접합점중에 복수개의 접합점이 연속하고 있는 것이 있다. 이 경우에 있어서 중간의 접합점을 제거해도 데이터의 품질이 유지되는 경우 그 접합점을 제거하는 것이라 한다. 제거가능성의 판정은 다음과 같이 실행한다. 제 37도에 나타낸 바와같이 원호의 접합점을 ( xi4 B, yi4 B)로 나타낸다. i4가 연속번호이다.
제37도와 같이 3개의 접합점( Xas B, Yns B), (Xns+1 B, Yns+1 B), (Xns+2 B, Yns+2 B)가 연속해서 존재한다고 하자. 이때, (Xns B, Yns B)에서 개시하는 원호와 (Xns+1 B, Yns+1 B)에서 개시하는 원호에 착안한다. 제38도에 나타낸 바와 같이, 양원호의 반경을 rns,rns+1이라 한다. 중심 좌표를 각각 (xns, yns), ( xns+1, yns+1) 이라고 한다. 원호는 다음의 조건을 만족할때 단일 원호로 간주된다.
즉, 중심좌표가 거의 동일점으로 반경이 거의 같지만, 2개의 원호는 동일 원호의 일부로 간주된다. 이 경우 중간의 접합점 (Xns+1 B, Yns+1 B)은 불필요한 것으로서 제거된다. 그렇지 않은 경우, 이 집합접은 유지된다.
이러한 판정과 제어, 유지 작업의 순차적으로 모든 원호의 접합점에 대해 실행된다. 반경차, 중심차의 함수값은 적당하게 결정해야 하지만 예를들면, K8=1, K9=2로 정하면 적당하다.
이상의 조작에 의해 직선과 원호에 있어서 불필요한 접합점이 제거된다. 이것은 데이터를 압축한다는데에 유효하다. 그뿐아니라 직선과 원호이어야 하는 것을 자기가 원하는 형태로 수정하는 것이기 때문에 데이터의 품질을 높인다는 적극적인 의의가 있다. 이렇게해서 선택된 접합점은 최종접합점이라 한다.
[ M. 최종접합점 기억장치 ]
불필요한 접합점을 제거해서 얻었다. 최종접합점은 최종접합점 기억장치에 기억된다. 이것은 제34도의 최종 단계에 나타낸대로 좌표이다. 단, 도면에서는 최적접합점과 구별하기 위해「'」가 붙어 있다. 「'」는 1/4각으로 할 수 없기 때문에 설명서에서는 「'」를 생각하고 있다. 실제로 「'」가 붙어 있다.
[ N. 데이터근사기구 B ]
지금까지 얻은 윤곽점열, 최종 접합점, 원등의 데이터에서 데이터를 근사하는 기구이다. 본 발명의 중심적인 부분이다. 각각의 기억장치에서 입력되는 것은 제 39도에 나타낸 바와 같이,
이다. 윤곽점열의 첨자 u는 윤곽점열군의 번호이다. k는 그 윤곽점열군 u에서의 윤곽점열 번호이다. N(u) (Nu로 되어 있다)는 군 u에서의 윤곽점열 수이다. i는 군 u에서의 최종접합점이다. 단 i로 쓰여 있지만, 제39도에 나타낸 바와같이, 실은 i'이다. 「'」는 1/4각으로 할 수 없기 때문에 여기서는 「'」를 생략하고 있다.
최종접합점을 얻을 수 있는데, 인접하는 2개의 접합점 사이(접합점간)를 직선, 원호, 자유곡선 근사한다. 근사에 있어서 매개변수 t를 사용해 x성분을 Sx(t)에 의해, y성분을 Sy(t) 에 의해 표현한다.
이것은 최초로 윤곽점열의 전체를 매개변수(t)로 표현한 것과 동일수법이다. 그러나, 이번은 영영역이 접합점사이로 되어 있기 때문에 t의 범위나 t와 sx(t),sx(t)의 대응은 전회의 것과는 다르다. 또한, 어느 접합점에서 시작되는 구간이 직선의 구간인지 원호의 구간인지 혹은 자유곡선의 구간에서인지 하는 것은 곡률을 각 점에 있어서 구할때 알 수 있다.
이것을 기억하고 있는 경우는 처음부터 직선, 원호, 자유곡선 중 어느것인가를 구별할 수 있다. 즉, 그 구간의 전체의 점에 있어서 곡률이 0이면 이것은 직선이다. 또한, 그 구간에서의 곡률이 일정값이면 이것은 원호이다. 또한, 곡률이 변동하면 이것은 자유곡선이다. 이와같이, 구간을 구별할 수 있으면 근사계산의 파라미터를 결정하는 것은 간단하다.
그러나, 반대로 곡률계산의 결과를 기억시키지 않아도 이 단계에서 직선, 원호, 자유곡선의 차이를 조사할 수 있다. 구별을 하고 나서 근사를 해도 좋다. 본 발명은 어떠한 경우에서도 적용할 수 있다. 우선 전자의 경우에 대해 설명한다.
[ 직선구간의 근사 ] 직선의 접합점에서 시작되는 구간의 근사에 대해 설명한다. 접합점의 추출수단에서 직선으로 판단된다. 이 때 x방향의 근사 곡선 sx(t)는 시점 x1과 종점 xn3를 연결하는 일차함수가 된다. y방향의 근사곡선 sy(t)는 시점 y1과 종점 yn3를 연결하는 일차함수가 된다. 이 경우 매개변수에 대해 x, y와 함께 일차함수가 된다.
매개변수 t와 sx(t), sy(t)의 비례정수가 파라미터가 된다. 그러나, 이 비례정수는 기억할 필요가 없다. 직선 구간이라면 시점 ( x1, y1)과 종점 (xn3, yn3)을 알면 이 사이에서 직선을 그으면 좋기 때문이다. 또한, 종점의 (xn3, yn3)는 다음 구간의 시점으로서 부여되기 때문에 여기서는 기억할 필요가 없다.
[ 원호구간의 근사 ] 원호의 접합점에서 시작되는 구간의 근사에 대해 설명한다. 이 구간은 접합점추출의 단계에 있어서 원호라 판단된다. 원호를 나타낸 근사곡선 sx(t), sy(t)는 다음의 삼각함수의 선형결합으로 나타낸다. 관측구간을 t ∈ [0, T]라 하면, sx(t), sy(t)는
에 의해 표현된다. narc는 원호의 전체원에 대한 비이다. 즉 원호의 중심각을 360°로 나눈 값이다. 예를 들면, 4분원인 경우 narc는 1/4이 때문에 2πnarc가 이 원호중심각이다. 변수 2πt(T/narc )는 원호의 시점에서 파라미터 t에 대응하는 점까지의 중심각이다. ( Cx, Cy)는 원호중심의 좌표이다. 이때,
이 성립하면 근사함수는 원호가 된다. 이 경우, 원호를 규정하는 파라미터는 함수의 각각의 계수 Ax, Bx, Cx, Ay, By, Cy, narc이다. 만약 처음부터 이 구간이 원호인지를 알면 시점, 종점의 좌표와 곡률과 중간의 한점 좌표로부터 이러한 파라미터를 일의(一義)적으로 결정할 수 있다.
[ 자유곡선의 근사 ] 직선의 접합점에서도 원호의 접합점에서도 없는 접합점에서 시작되는 구간을 자유곡선 근사한다. 매개변수 t로 표현하는데, 윤곽점열은 ( xi3 u, yi3 u)로 나타내고, 이것에 t를 반응시켜 ( ti3 u, xi3 u), (xi3 u, yi3 u)라는 매개변수표시로 한다. 지금까지 윤곽점열의 첨자 k였지만, 여기서 구간 구분의 변호로서 k를 사용하기 때문에 k 대신에 i3을 윤곽점열의 번호라 하는 것이다. 그리고 윤곽점열의 총수를 n3으로 한다.
그리고 2차 플루엔시함수 φk3을 기저로 sx(t), sy(t)를 전개한다. 플루엔시함수에 대해서는 제 46도에 나타낸 대로이다. 이것은 3개의 세부구분에만 값을 가지는 함수이다. 구간을 [O, T]로서 2차 플루엔시함수 φk3은 M차원의 함수계
이다. 이것을 바탕으로 sx(t13) , sy(t13)은 계수를 사용해,
로 표현된다. 여기서,
계수는, 각 윤곽점열의 값 (xi3 u, yi3 u)과, sx( ti3), sy( ti3)의 값이 근사하도록 결정한다. 최소 2승법으로 함수값을 결정한다. 2승오차 Q는
에 의해 결정된다. 이것을 풀어 계수를 구할 수 있다. 이 계수가 적당한지, 아닌지를 평가하기 위해 다음과 같이 각 점에서의 오차의 최대값 ε을 구한다.
단, max 연산에서는 i3의 범위는 0에서 n3-1까지이다. 이 범위에서의 최대를 구한다는 것이다. ε이 일정수보다 적어지면 이것으로 근사할 수 있게 된다, 예를들면 ε<0.9가 될지 안될지하는 것으로 판정한다. 만약 일정수보다 ε이 크면 차원수 M을 한개 늘려 같은 계산을 실행한다. 차원수가 높아지면 구분할 수가 증가하기 때문에 근사정밀도가 향상된다. 동일한 오차계산을 하면 어느땐가 ε0.9가 된다. 이때 근사계산을 완료하게 된다.
[ O. 압축데이터출력기구 ]
문자폰트, 로고·삽화의 윤곽선이 지금까지의 절차에 의해 직선(선분), 원, 원호, 자유곡선으로 분리되었다. 이들은 시점, 종점을 가지고 기울기, 중심, 반경등의 파라미터를 가지고 있다. 각각의 종류에 의해 보관해야 할 데이터도 다르다.
직선 데이터의 경우는 직선인 것을 나타낸 플래그(flag), 직선의 시점좌표를 데이터로 하여 보관한다. 종점좌표는 다음 구간의 시점으로서 부여되기 때문에 여기서는 보관할 필요가 없다. 직선의 기울기는 직선을 정의하는 파라미터이지만 시점과 다음의 접합점좌표를 연결함으로서 직선이 가능하기 때문에 경사도 불필요하다. 이것도 보관하지 않는다.
원데이터의 경우는 원기억장치 G에 직접 데이터를 얻을 수 있다. 이것은 1회째 데이터근사기구 A에 의해 이미 선택된다. 원의 경우 원을 나타내는 그래프, 원의 중심좌표, 원의 반경을 데이터로서 보관한다.
원호데이터로서 원호인 것을 나타내는 그래프, 원호의 시점좌표, 원호분할 길이(원호길이/주위길이), 윤곽점수, 함수의 계수를 보관한다.
자유곡선의 데이터로서는 함수의 차원수, 윤곽점수, 윤곽점열변동의 중점 및 함수의 계수를 포함한다.
[ P. 압축데이터기억장치 ]
압축데이터출력기구로부터 출력된 직선, 원, 원호, 자유곡선등의 데이터를 기억한다. 이것은 기억한 적당한 시기에 출력한다. 여기까지는 데이터를 압축생성하고 기억하는 장치이다. 이 이후가 축적된 데이터로부터 문자를 재생하는 장치를 설명한다.
압축데이터 기억장치 P에 보관되는 데이터구조를 표1에 나타낸다.
[ 표 1 ]을 참조하세요.
데이터의 크기에 대해 설명한다. 접합점간이 직선인 경우는 직선을 나타내는 플래그를 위해 1바이트 성분의 시점을 나타내는데 2바이트 (X좌표와 Y좌표)로 함께 3바이트 필요하다. 접합점간이 원호인 경우는 원호를 나타내는 플래그로 1바이트, 원호의 시점을 나타내는데에 2바이트, 원호 중심각을 나타내는데에 4바이트, 윤곽점열의 수를 나타내는데에 1바이트, 근사함수의 계수(6개 있다)를 나타내는데에 12바이트로 합계 20바이트 필요하다. 접합점간이 자유곡선인 경우는 함수의 차원수 M을 나타내는데에 1바이트, 윤곽점수로 1바이트 변동중심을 나타내는데에 2바이트, 근사함수의 계수를 나타내는데에 2M바이트, 합계로 4+2M바이트가 된다.
이하에 설명하는 윤곽재생기구, R, 문자, 로고·삽화재생기구 S, 재생데이터 출력기구T는 문자폰트, 로고·삽화를 임의의 크기로 재생하기 위한 재생 데이터 생성장치를 구성한다.
[ R. 윤곽재생기구 ]
이것은 기억되어 있는 압축데이터에서 문자폰트, 로고·삽화의 골격이 되어야할 윤곽선을 재생하는 기구이다. 윤곽선은 직선, 원, 원호, 자유곡선의 경우가 있다.
[ 직선의 재생 ] 직선의 재생은 시점의 좌표에서 다음 구간의 접합점좌표까지를 직선으로 연결함으로서 실행된다. 직선의 기울기에 관한 데이터는 불필요하다.
[ 원의 재생 ] 원의 재생은 중심좌표와 반경의 데이터에서 중심좌표를 중심으로서 부여된 반경의 원을 그림으로서 실행된다.
[ 원호의 재생 ] 원호의 재생은 보관되어 있는 각 데이터 (Ax,Bx, … )를 다음식에 대입함으로서 실행된다.
파라미터 t를 [0∼T]의 구간에서 변동시킴으로서 Sx(t), Sy(t)에서 x, y 좌표를 얻는다.
[ 자유곡선의 재생 ] 각 표본점 t1에 있어서 근사함수의 기저 φk3의 값은 표본점 ti가 구간 [(L-1)(T/M), L(T/M)]내에 있을 때 (1≤L≤M), P=L- t1×M/T를 사용해
으로 나타낸다. 단 L은 차원수 M이하의 자연수이다. 동일한 성질의 수이기 때문에 M'라 써야 하지만「'」이 1/4 각이 되지 않기 때문에 L로 표현하고 있다.
이러한 기저 φk3를 사용해 각 표본점에 있어서 근사함수값 S(ti)는
에 의해 구해진다.
[ S. 문자, 로고·삽화 재생기구 ]
윤곽선이 얻어졌기 때문에 윤곽선으로 둘러쌓인 부분을 흑화소로서 흑백의 2값 화상으로 문자형상, 로고·삽화형상으로 재생한다. 혹은 반대로 윤곽선으로 둘러쌓인 부분을 백화소로 하고 나머지는 흑화소로 할 수 있다. 또한 윤곽선으로 둘러쌓인 부분을 어떤 색체로 하고 다른 부분을 다른 색체로 할 수 있다. 요컨데, 윤곽선의 내외를 구별할 수 있도록 하면 좋다.
[ T. 재생데이터출력기구 ]
함수의 계수에서 화상을 재생하기 위해 예를들면, 재생화상의 크기를 1mm 각에서 A3판의 크기까지 지정할 수 있는 레이아우트에 디터를 사용한다. 재생 화상은 300DPI의 정밀도를 가지는 레이저프린터 또는 600DPI의 정밀도를 가지는 레이저프린터를 사용해 인자된다. 또한, 3000DPI의 전식기(인쇄기기) 또는 400DPI의 포스트스크립트 대응프린터, 레이저커터등에 의해 출력할 수 있다.
문자폰트, 로고·삽화는 함수의 계수형태로 기억되어 있고 임의의 배율로 확대축소할 수 있다. 또한 좌표도 그 중심을 임의로 지정할 수 있다. 이 때문에 임의의 디자인, 로고·삽화문자를 임의의 위치에서 임의의 크기로 출력할 수 있다.
상기 기구는 C언어를 사용한 프로그램에 의해 부동소수점연산용의 수치연산 프로세서를 탑재한 PC-9801DA에 실제로 장착할 수 있다. 본 발명의 효과를 확인하기 위해 명조체고딕체의및 JIS 제 1수준의 문자에 대해 본 발명에 의해 데이터압축 했다. 그 결과를 표 2에 나타낸다. 또한 이들의 3문자에 대해 제40도∼제42도에 원화상과 본 발명에 의한 재생화상 (300DPI의 레이저프린터에 의한다)를 나타낸다. 거의 충실하게 재생할 수 있다는 것을 알 수 있다.
[ 표 2 ]를 참조하세요.
또한, 제43도의 음표, 제44도의 원 그래프, 제45도의 담배의 로고·삽화에 대해 본 발명에 의해 데이터압축 했다. 그 결과를 표 3에 나타낸다. 또한 이들 음표, 원 그래프, 담배 제50도의 다이오드등에 대해 원화상과 본 발명의 데이터압축기록한 후 재생한 것을 각각의 도면 하반부에 나타낸다. 각각 우수한 재생화면이다. 원화상과 거의 구별을 할 수 없다. 본 발명에 의한 재생화상 (300DPI의 레이저 프린터에 의한다)이 원화상의 품질을 떨어뜨리는 일없이 충실하게 재생할 수 있다는 것을 알 수 있다.
[ 표 3 ]을 참조하세요.
표 2, 표 3은 각각의 문자·삽화를 본 발명의 방법에 의해 데이터압축한 후의 데이터량(Byte)과 압축률(%), 압축시간(초)을 나타내 있다.
여기서, 압축률이라는 것은 원화상의 데이터량(약 8kbyte)에 의해 본 발명 방법에 따라 압축된 폰트의 데이터량(byte)을 나누어 100을 곱하고 %로서 나타낸 것이다. 원화상은 256×256화소의 광학적판독장치에 의해 판독하기 때문에 원화상은 약 8kbyte의 데이터량을 가지지만, 본 발명의 법으로 압축하면 문자폰트의 경우는 300∼500byte , 로고·삽화의 경우에는 100∼300byte의 데이터량으로 감소한다.
압축률이 2∼6%정도이고, 극히 소량의 데이터로 환원할 수 있다. 또한 1문자 혹은 1로고·삽화당 압축시간은 수초정도이고, 극히 단시간이다. 여기서 말하는 압축 시간은 CPU시간이고 한마디로 수용할 수 있는 데이터의 분할합성 처리시간, 그래픽시간도 포함되어 있다.
이와같이 처리시간이 짧고 데이터량이 적어진다. 특히 활자체의 문자는 많고 직선 부분으로 이루어지고, 명백한 접합점으로서 제1단계에서 추출되기 때문에 제2단계에서 반복근사해서 얻어지는 접합점의 수가 적기 때문이다.
[ U. 화상기억장치 2 ]
재생된 문자폰트, 로고·삽화를 기억하는 것이다. 프린터에 의해 인쇄된 문자를 그대로 기억하는 모든 기구장치를 의미한다. 비디오카메라등을 사용할 수 있다. 프린트된 지면도 이것에 포함된다. 화상기억장치는 특별히 없어도 지장없다.
본 발명의 효과는 다음과 같다. 본 발명은 기본이 되는 문자폰트, 로고·삽화를 판독하고 적은 데이터로 기억하고, 축적하는 것을 가능하게 한다. 문자폰트의 경우 1문자당의 처리시간이 짧다. 때문에 수천자로 구성되는 한자의 신규문자폰트를 창안했을때라도 이것을 단시간에 데이터로서 축적할 수 있다. 단순히 축적했을뿐만 아니라, 재생하는 것도 가능하다. 축적데이터를 사용해서 임의의 크기문자를 재생할 수 있다.
또한 로고·삽화의 경우, 로고·삽화를 광학적으로 판독하고 적은 데이터로 기억축적하는 것도 마찬가지로 가능하게 된다. 미리 종이에 쓴 원화의 형태로 보존할 필요가 없다. 직선은 직선으로서 원호, 원은 기하학적으로 바른 원호, 원으로서 추출, 기억하기 때문에 원화면에 포함되는 노이즈나 판독시에 혼합되는 노이즈를 제거하고 화질을 향상시킬 수 있다. 본 발명은 또한 접합점의 제거를 통해 로고·삽화의 품질을 향상시킬 수 있다. 또한 1로고·삽화당 처리시간이 짧다. 때문에 수많은 신규로고·삽화를 창안했을때에도 이것을 단시간에 수학적인 데이터로 축적할 수 있다.
단순히 축적한 것뿐만 아니라 재생하는 것도 간단하다. 축적데이터를 사용해서 임의의 크기의 로고·삽화를 임의의 위치로 재생할 수 있다. 제51도와 제52도는 확대축소의 예이다. 광학적수단에 의해 확대하면 아무래도 노이즈가 증가하고 윤곽선이 희미해지지만, 본 발명은 계산상에서 확대하기 때문에 직선은 직선으로, 원호는 원호로서 재생된다. 자유곡선도 동일하다. 이것도 계산상에서 확대되기 때문에 선이 울퉁불퉁되거나 희미해지거나 하지 않는다.
제53도와 제54도는 확대축소형 회전이동등이 자유인 것을 나타낸다. 제54도에서 a는 종방향으로 연장하고 있다. b는 종방향으로 압축하고 있다. c는 비스듬히 연장하고 있다. d는 45° 정도 회전하고 있다. e, f는 축소 회전등의 예이다. 제55도는 동일한 마크의 확대축소를 나타낸다. 위치도 임의인 것을 나타내고 있다. 이것은 자유곡선이 많은 예이지만 이것이라도 바르게 접합점을 정의할 수 있고, 본 발명을 적용할 수 있다. 제56도, 제57도는 엽서에 삽화를 인쇄하는 경우를 나타낸다. 원도면을 임의의 크기로 하고 엽서의 임의장소에 넣을 수가 있다. 문자와의 균형을 생각해 적당한 부위에 삽입한다. 종래와 같이 원도면을 가위로 자르고 풀로 붙이는 수고가 불필요하다.
종래는 문자, 로고·삽화의 확대, 축소가 용이하지 않고, 광학적수단에 의해 확대, 축소하는 외에 수단이 없었다. 광학적으로 화상을 확대축소 이동등을 실행하면 노이즈가 들어와 품질이 저하된다. 또한 자유도도 낮고, 시간도 걸린다. 몇 회나 복사를 반복하면 품질의 저하가 현저하다.
본 발명은 접합점과 구분적 다항식의 계수로서 데이터를 축적하기 때문에 문자, 로고·삽화스케일의 확대축소, 평행이동등은 계산에 의해 실행할 수 있다. 따라서, 문자, 로고·삽화의 확대축소, 이동을 신속하고 자유롭게 실행할 수 있다. 이들 조작에 의해 문자·삽화의 품질이 저하한다는 것도 없다.
본 발명은 또한 접합점의 제거를 통해 문자폰트, 로고·삽화의 품질을 향상시킬 수 있다.
장소의 이동은 전체좌표의 평행이동에 의해 이루어진다. 확대축소는 기준이 되는 점의 좌표, 원호반경, 구분적 다항식의 계수 {Ck x}, { Ck y}에서도 배율을 가함으로서 계산에 의해 이루어진다. 데이터의 수가 적기 때문에 계산은 신속하게 행해진다.
또한 제 54도에 나타낸 바와같은 회전도 계산만으로 할 수 있다. 기준이 되는 좌표와 구분적 다항식의 계수 {Ck x}, { Ck y}에 회전각으로 대응하는 계수를 곱해 이것을 합해서 새로운 계수를 구한다.
제 54도에 같이 이방적 확대축소도 계산에 의해 부여된다. 여기서 이방적이라 하는 것은 확대축소의 계수가 방향에 의해 다르다는 것이다. 원과 타원, 정방형과 장방형사이의 변환과 같은 것이다. 이것은 x방향의 계수 {Ck x}와 y방향의 계수 { Ck y}에 다른 승수를 곱해 다시 상기한 회전을 실행하면 좋다.
이와같이, 이동, 회전, 확대, 축소, 이방적 확대축소등 변환은 계수 {Ck x}, { Ck y}의 일차 변환에 의해 간단하게 실행할 수 있다. 이것은 계산에 의한 것이기 때문에 변형에 의해 노이즈가 들어간다 하는 것은 아니다. 또한 데이터의 수가 적게 되어있기 때문에 계산의 시간도 짧게 할 수 있다. 형상이 결정되어 있는 문자와 다르고, 로고·삽화의 경우는 이와같은 변형은 점차 유용하다. 본 발명에서는 도형 요소가 접합점과 원호중심, 반경, 자유곡선의 계수등으로 집합적으로 표현되기 때문에 상기한 계산의 수가 적고, 시간도 짧다. 또한 이 계산에 의해 노이즈를 발생하는 일이 없다. 즉, 이들의 조작에 의해 로고·삽화 품질이 악화하는 일도 없다.
Claims (16)
- 광학적으로 문자폰트 데이터를 판독하고 종횡으로 유한갯수가 나열된 화소에 대응시켜 기억하는 문자판독장치; 종횡으로 나열된 화소에 대응시켜 판독된 문자의 윤곽선을 추출하는 윤곽선추출기구: 추출된 윤곽선의 2차원 좌표(X,Y)를 연속되는 군마다 기억하는 윤곽점열기억기구; 상기한 각 군의 윤곽점열의 X,Y 좌표를 t를 독립변수, x 및 y를 종속변수로 하는 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정범위가 되기까지 최소 2승 근사를 반복하여 윤곽점열의 각 군의 근사 다항식을 구하는 데이터근사기구(A); 상기 근사결과를 미분 연산하여 x,y 공간에서 각 군의 윤곽점열의 각 점에서 곡률을 구하는 곡률연산기구; 각 군의 곡률의 데이터로부터 원을 추출하는 원 추출기구; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치 보다 큰 값의 곡률을 갖는 점을 가접합점으로 하여 추출하는 가접합접 위치추출기구; 상기 가접합점의 1개(제1 가접합점)의 윤곽점열상의 전후에 소정 개수의 점 하나를 제1 접합점 후보로 하고, 상기 제1 가접합점에서 소정의 반지름 내에서 동일 윤곽점열상에 있는 다른 가접합점의 하나(근방 접합점)의 윤곽점열상의 전후에 소정 개수의 점 하나를 제2 접합점 후보로 하며, 동일 윤곽점열상에서 점열주사 방향으로 제1 고정점, 상기 제1 가접합점, 상기 근방 접합점 및 제2 고정점 순서대로 일렬로 나열하도록 상기 근방 접합점, 제1 고정점 및 제2 고정점을 선택하는 수단과, 상기 제1 접합점 후보와 상기 제2 접합점 후보의 모든 조합에 대해 상기 제1 고정점, 상기 제1 접합점 후보, 상기 제2 접합 후보 및 상기 제2 고정점의 4점을 가장 원활하게 연결하는 선의 원활함에 기초하여 상기 제1 접합점 후보의 적합도를 구하는 수단 및 가장 적합도가 높은 상기 제1 접합점 후보를 선택하여 상기 제1 가접합점을 대신하는 최적 접합점으로 하는 수단을 갖는 최적 접합점 추출기구; 연속되는 둘 이상의 직선 또는 연속되는 둘 이상의 원호의 시작점인 최적 접합점중에서 이들이 없어도 근사 정밀도가 유지되도록 불필요한 최적 접합점을 발견하여 이것을 제거하여 직선 또는 원호를 통합하는 불필요한 접합점 제거기구; 제거되지 않고 남은 최적 접합점을 최종 접합점으로 기억하는 최종 접합점 기억장치; 동일 군의 점열내의 인접하는 최종 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x,y를 종속변수로 한 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정의 값으로 수납되기까지 2차의 구분적 다항식의 차원수를 증가시키면서 최소 2승 근사를 반복하여 인접하는 최종 접합점간을 직선, 원호, 구분적 다항식으로 근사하는 데이터 근사기구(B); 원 데이터 및 점열의 각 군마다 상기 최종 접합점의 좌표와 인접하는 최종 접합점사이를 근사하는 함수의 파라미터를 기억하는 압축 데이터 기억기구; 기억된 압축 데이터를 입력하여 원 데이터와 점열의 각 군의 최종 접합점 좌표와 인접하는 최종 접합점간을 근사하는 함수의 파라미터를 얻어 윤곽선을 재생하는 윤곽 재생기구; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 문자재생기구; 및 재생된 문자폰트를 문자로 출력하는 재생 데이터 출력기구를 포함하는 것을 특징으로 하는 문자 데이터 입출력장치.
- 광학적으로 문자폰트 데이터를 판독하고 종횡으로 유한개수가 나열된 화소에 대응시켜 기억하는 문자판독장치; 종횡으로 나열된 화소에 대응시켜 판독된 문자의 윤곽선을 추출하는 윤곽선추출기구; 추출된 윤곽선의 2차원 좌표(X,Y)를 연속된 각 군마다 기억하는 윤곽점열기억기구; 상기한 각 군의 윤곽점열의 X,Y 좌표를 t를 독립변수, x 및 y를 종속변수로 하는 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정범위가 되기까지 최소 2승 근사를 반복하여 윤곽점열의 각 군의 근사 다항식을 구하는 데이터근사 기구(A); 상기 근사결과를 미분 연산하여 x,y 공간에서 각 군의 점열의 각 점에서 곡률을 구하는 곡률연산기구; 각 군의 곡률 데이터로부터 원을 추출하는 원추출기구; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치 보다 큰 값의 곡률을 갖는 점을 가접합점으로 하여 추출하는 가접합접 위치추출기구; 상기 가접합점의 1개(제1 가접합점)의 윤곽점열상의 전후에 소정 개수의 점 하나를 제1 접합점 후보로 하고, 상기 제1 가접합점에서 소정의 반지름내에서 동일 윤곽점열상에 있는 다른 가접합점의 하나(근방 접합점)의 윤곽점열상의 전후에 소정 개수의 점 하나를 제2 접합점 후보로 하며, 동일 윤곽점열상에서 점열주사 방향으로 제1 고정점, 상기 제1 가접합점, 상기 근방 접합점 및 제2 고정점 순서대로 일렬로 나열하도록 상기 근방 접합점, 제1 고정점 및 제2 고정점을 선택하는 수단과, 상기 제1 접합점 후보와 상기 제2 접합점 후보의 모든 조합에 대해 상기 제1 고정점, 상기 제1 접합점 후보, 상기 제2 접합점 후보 및 상기 제2 고정점의 4점을 가장 원활하게 연결하는 선의 원활함에 기초하여 상기 제1 접합점 후보의 적합도를 구하는 수단 및 가장 적합도가 높은 상기 제1 접합점 후보를 선택하여 상기 제1 가접합점을 대신하는 최적 접합점으로 하는 수단을 갖는 최적 접합점 추출기구; 동일 군의 점열내의 인접하는 최종 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x,y를 종속변수로 한 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정의 값으로 수납되기까지 2차의 구분적 다항식의 차원수를 증가시키면서 최소 2승 근사를 반복하여 인접하는 최종 접합점간을 직선, 원호, 구분적 다항식으로 근사하는 데이터 근사기구; 원 데이터 및 점열의 각 군마다 상기 최종 접합점의 좌표와 인접하는 최종 접합점사이를 근사하는 함수의 파라미터를 기억하는 압축 데이터 기억기구; 기억된 압축 데이터를 입력하여 원 데이터와 점열의 각 군의 최종 접합점의 좌표와 인접하는 최종 접합점간을 근사하는 함수의 파라미터를 얻어 윤곽선을 재생하는 윤곽 재생기구; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 문자재생기구; 및 재생된 문자폰트를 문자로 출력하는 재생 데이터 출력기구를 포함하는 것을 특징으로 하는 문자 데이터 입출력장치.
- 광학적으로 문자폰트 데이터를 판독하고 종횡으로 유한개수가 나열된 화소에 대응시켜 기억하는 문자판독장치; 종횡으로 나열된 화소에 대응시켜 판독된 문자의 윤곽선을 추출하는 윤곽선추출기구; 추출된 윤곽선의 2차원 좌표(X,Y)를 연속된 각 군마다 기억하는 윤곽점열기억기구; 상기한 각 군의 윤곽점열의 X,Y 좌표를 t를 독립변수, x 및 y를 종속변수로 하는 2차의 구분적 다항식으로 근사하여 윤곽점열의 각 군의 근사 다항식을 구하는 데이터근사기구(A); 상기 근사결과를 미분 연산하여 x,y 공간에서 각 군의 점열의 각 점에서 곡률을 구하는 곡률연산기구; 각 군의 곡률 데이터로부터 원을 추출하는 원추출기구; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치 보다 큰 값의 곡률을 갖는 점을 가접합점으로 하여 추출하는 가접합접 위치추출기구; 동일 군의 점열내의 인접하는 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x,y를 종속변수로 한 2차의 구분적 다항식으로 근사하여 인접하는 접합점간을 직선, 원호, 구분적 다항식으로 근사하는 데이터 근사기구; 원 데이터 및 점열의 각 군마다 상기 접합점의 좌표와 인접하는 접합점사이를 근사하는 함수의 파라미터를 기억하는 압축 데이터 기억기구; 기억된 압축 데이터를 입력하여 원 데이터와 점열의 각 군의 접합점 좌표와 인접하는 접합점간을 근사하는 함수의 파라미터를 얻어 윤곽선을 재생하는 윤곽재생기구; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 문자재생기구; 및 재생된 문자폰트를 문자로 출력하는 재생 데이터 출력기구를 포함하는 것을 특징으로 하는 문자 데이터 입출력장치.
- 광학적으로 문자폰트 데이터를 판독하고 종횡으로 유한개수가 나열된 화소에 대응시켜 기억하는 문자판독장치; 종횡으로 나열된 화소에 대응시켜 판독된 문자의 윤곽선을 추출하는 윤곽선추출기구; 추출된 윤곽선의 2차원 좌표(X,Y)를 연속되는 군마다 t를 독립변수, X 및 Y를 종속변수로 하여 기억하는 윤곽점열기억기구; X,Y공간에서의 각 군의 점열에서 이산적 곡률을 구하는 곡률연산기구; 각 군의 곡률의 데이터로부터 원을 추출하는 원추출기구; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치 보다 큰값의 곡률을 갖는 점을 가접합점으로 하여 추출하는 가접합접 위치추출기구; 동일 군의 점열내의 인접하는 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x,y를 종속변수로 한 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정의 값으로 수납되기까지 2차의 구분적 다항식으로 근사하는 데이터 근사기구; 원 데이터 및 점열의 각 군마다 상기 접합점의 좌표와 인접하는 접합점사이를 근사하는 함수의 파라미터를 기억하는 압축 데이터 기억기구; 기억된 압축 데이터를 입력하여 원 데이터와 점열의 각 군의 접합점 좌표와 인접하는 접합점간을 근사하는 함수의 파라미터를 얻어 윤곽선을 재생하는 윤곽재생기구; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 문자재생기구; 및 재생된 문자폰트를 문자로 출력하는 재생 데이터 출력기구를 포함하는 것을 특정으로 하는 문자 데이터 입출력장치.
- 광학적으로 문자폰트 데이터를 판독하고 종횡으로 유한개수가 나열된 화소에 대응시켜 기억하고; 종횡으로 나열된 화소에 대응시켜 판독된 문자의 윤곽선을 추출하고; 추출된 윤곽선의 2차원 좌표(X,Y)를 연속하는 각 군마다 t를 독립변수, X 및 Y를 종속변수로 기억하고; 상기한 각 군의 윤곽점열의 X,Y 좌표를 t를 독립변수, x 및 y를 종속변수로 하는 2차의 구분적 다항식으로 근사하고; 상기 근사결과를 미분 연산하여 x,y 공간에서 각 군의 점열의 각 점에서 곡률을 구하고; 각 군의 곡률 데이터로부터 원을 추출하고; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치 보다 큰값의 곡률을 갖는 접합점으로 추출하고; 동일 군의 점열내의 인접하는 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x y를 종속변수로 한 2차의 구분적 다항식으로 근사하고; 원 데이터 및 점열의 각 군마다 상기 접합점의 좌표와 인접하는 접합점 사이를 근사하는 함수의 파라미터를 기억하는 것에 의해 문자폰트 데이터를 입력하고; 다른쪽 문자를 출력할 때는 기억된 원 데이터와 점열의 각 군의 접합점 좌표와 인접하는 접합점간을 근사하는 함수의 파라미터를 출력하고, 이것으로부터 문자폰트의 윤곽선을 재생하고; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 것에 의해 문자를 재생하고; 및 재생된 문자폰트를 문자로 출력하는 것을 특징으로 하는 문자 데이터 입출력방법.
- 광학적으로 문자폰트 데이터를 판독하고 종횡으로 유한개수가 나열된 화소에대응시켜 기억하고; 종횡으로 나열된 화소에 대응시켜 판독된 문자의 윤곽선을 추출하고; 추출된 윤곽선의 2차원 좌표(X, Y)를 연속되는 군마다 t를 독립변수, X 및 Y를 종속변수로 기억하고; 상기한 각 군마다 윤곽점열의 X,Y 좌표를 t를 독립변수, X 및 Y를 종속변수로 하는 2차의 구분적 다항식으로 근사하고; 상기 근사 결과를 미분 연산하여 x, y 공간에서 각 군의 점열의 각 점에서 곡률을 구하고; 각 군의 곡률의 데이터로부터 원을 추출하고; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치 보다 큰 값의 곡률을 갖는 점을 가접합점으로 하여 추출하고; 상기 가접합점의 1개(제1 가접합점)의 윤곽점열상의 전후에 소정 개수의 점 하나를 제1 접합점 후보로 하고, 상기 제1 가접합점에서 소정의 반지름내에서 동일 윤곽점열상에 있는 다른 가접합점의 하나(근방 접합점)의 윤곽점열상의 전후에 소정 개수의 점 하나를 제2 접합점 후보로 하며, 동일 윤곽점열상에서 점열 주사 방향으로 제1 고정점, 상기 제1 가접합점, 상기 근방 접합점 및 제2 고정점 순서대로 일렬로 나열하도록 상기 근방 접합점, 제1 고정점 및 제2 고정점을 선택하고, 상기 제1 접합점 후보와 상기 제2 접합점 후보의 모든 조합에 대해 상기 제1 고정점, 상기 제1 접합점 후보, 상기 제2 접합점 후보 및 상기 제2 고정점의 4점을 가장 원활하게 연결하는 선의 원활함에 기초하여 상기 제1 접합점 후보의 적합도를 구하고, 가장 적합도가 높은 상기 제1 접합점 후보를 선택하여 상기 제1 가접합점을 대신하는 최적 접합점으로 하고; 연속되는 둘 이상의 직선 또는 연속되는 둘 이상의 원호의 시작점인 최적 접합점중에서 이들이 없어도 근사 정밀도가 유지되도록 불필요한 최적 접합점을 발견하여 이것을 제거하여 직선 또는 원호를 통합하고; 제거되지 않고 남은 최적 접합점을 최종 접합점으로 기억하고; 동일 군의 점열내의 인접하는 최종 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x, y를 종속변수로 한 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정의 값으로 수납되기까지 2차의 구분적 다항식의 차원수를 증가시키면서 최소 2승 근사를 반복하여 인접하는 최종 접합점간을 직선, 원호, 구분적 다항식으로 근사하고; 원 데이터 및 점열의 각 군마다 상기 최종 접합점의 좌표와 인접하는 최종 접합점 사이를 근사하는 함수의 파라미터를 기억하는 것에의해 문지폴트데이터를 기억하고; 다른쪽 문자를 출력할 때는 기억된 원 데이터와 점열의 각 군의 최종 접합점 좌표와 인접하는 최종 접합점간을 근사하는 함수의 피라미터를 출력하고, 이것으로부터 문자폰트의 윤곽선을 재생하고; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 것에 문자를 재생하고; 및 재생된 문자폰트를 문자로 출력하는 것을 특징으로 하는 문자 데이터 입출력방법.
- 광학적으로 문자폰트 데이터를 판독하고 종횡으로 유한개수가 나열된 화소에 대응시켜 기억하고; 종횡으로 나열된 화소에 대응시켜 판독된 문자의 윤곽선을 추출하고; 추출된 윤곽선의 2차원 좌표(X, Y)를 연속되는 군마다 t를 독립변수, X 및 Y를 종속변수로 기억하고; 상기한 각군마다 윤곽점열의 X,Y 좌표를 t를 독립변수, X 및 Y를 종속변수로하는 2차의 구분적 다항식으로 근사하고; X, Y 공간에서 각 군의 점열의 각 점에 있어서의 이산적 곡률을 구하고; 각 군의 곡률의 데이터로부터 원을 추출하고; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치 보다 큰 값의 곡률을 갖는 점을 가접합점으로 하여 추출하고; 동일 군의 점열내의 인접하는 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x, y를 종속변수로 한 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정의 값으로 수납되기까지 2차의 구분적 다항식의 차원수를 증가시키면서 최소 2승 근사를 반복하여 인접하는 접합점간을 직선, 원호, 구분적 다항식으로 근사하고; 원 데이터 및 점열의 각 군마다 상기 접합점의 좌표와 인접하는 접합점사이를 근사하는 함수의 파라미터를 기억하는 것에 의해 문자폰트 데이터를 기억하고; 다른쪽 문자를 출력할 때는 기억된 원 데이터와 점열의 각 군의 접합점 좌표와 인접하는 접합점간을 근사하는 함수의 파라미터를 출력하고, 이것으로부터 문자폰트의 윤곽선을 재생하고; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 것에 의해 문자를 재생하고; 및 재생된 문자폰트를 문자로 출력하는 것을 특징으로 하는 문자 데이터 입출력방법.
- 광학적으로 로고·삽화 데이터를 판독하고 종횡으로 유한개수가 나열된 화소에 대응시켜 기억하는 로고·삽화 판독장치; 종횡으로 나열된 화소에 대응시켜 판독된 로고·삽화의 윤곽선을 추출하는 윤곽선추출기구; 추출된 윤곽선의 2차원 좌표(X, Y)를 연속되는 군마다 기억하는 윤곽점열기억기구; 상기한 각 군의 윤곽점열의 X, Y 좌표를 t를 독립변수, x 및 y를 종속변수로 하는 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정범위가 되기까지 최소 2승 근사를 반복하여 윤곽점열의 각 군의 근사 다항식을 구하는 데이터근사기구(A); 상기 근사결과를 미분 연산하여 x, y 공간에서 각 군의 점열의 각 점에서 곡률을 구하는 곡률연산기구; 각 군의 곡률의 데이터로부터 원을 추출하는 원추출기구; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치 보다 큰 값의 곡률을 갖는 점을 가접합점으로 하여 추출하는 가접합접 위치추출기구; 상기 가접합점의 1개(제1 가접합점)의 윤곽점열상의 전후에 소정 개수의 점 하나를 제1 접합점 후보로 하고, 상기 제1 가접합점에서 소정의 반지름내에서 동일 윤곽점열상에 있는 다른 가접합점의 하나(근방 접합점)의 윤곽점열상의 전후에 소정 개수의 점 하나를 제2 접합점 후보로 하며, 동일 윤곽점열상에서 점열 주사 방향으로 제1 고정점, 상기 제1 가접합점, 상기 근방 접합점 및 제2 고정점 순서대로 일렬로 나열하도록 상기 근방 접합점, 제1 고정점 및 제2 고정점을 선택하는 수단과, 상기 제1 접합점 후보와 상기 제2 접합점 후보의 모든 조합에 대해 상기 제1 고정점, 상기 제1 접합점 후보, 상기 제2 접합점 후보 및 상기 제2 고정점의 4점을 가장 원활하게 연결하는 선의 원활함에 기초하여 상기 제1 접합점 후보의 적합도를 구하는 수단 및 가장 적합도가 높은 상기 제1 접합점 후보를 선택하여 상기 제1 가접합점을 대신하는 최적 접합점으로 하는 수단을 갖는 최적 접합점 추출기구; 연속되는 둘 이상의 직선 또는 연속되는 둘 이상의 원호의 시작점인 최적 접합점중에서 이들이 없어도 근사 정밀도가 유지되도록 불필요한 최적 접합점을 발견하여 이것을 제거하여 직선 또는 원호를 통합하는 불필요한 접합점 제거기구; 제거되지 않고 남은 최적 접합점을 최종 접합점으로 기억하는 최종 접합점 기억 장치; 동일 군의 점열내의 인접하는 최종 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x, y를 종속변수로 한 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정의 값으로 수납되기까지 2차의 구분적 다항식의 차원수를 증가시키면서 최소 2승 근사를 반복하여 인접하는 최종 접합점간을 직선, 원호, 구분적 다항식으로 근사하는 데이터 근사기구; 원 데이터 및 점열의 각 군마다 상기 최종 접합점의 좌표와 인접하는 최종 접합점 사이를 근사하는 함수의 파라미터를 기억하는 압축 데이터 기억기구; 기억된 압축 데이터를 입력하여 원 데이터와 점열의 각 군의 최종 접합점 좌표와 인접하는 최종 접합점간을 근사하는 함수의 파라미터를 얻어 윤곽선을 재생하는 윤곽 재생기구; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 로고·삽화 재생기구; 및 재생된 로고·삽화를 로고·삽화로 출력하는 재생 데이터 출력기구를 포함하는 것을 특징으로 하는 로고·삽화 데이터 입출력장치.
- 광학적으로 로고·삽화 데이터를 판독하고 종횡으로 유한개수가 나열된 화소에 대응시켜 기억하는 로고·삽화 판독장치; 종횡으로 나열된 화소에 대응시켜 판독된 로고·삽화의 윤곽선을 추출하는 윤곽선추출기구; 추출된 윤곽선의 2차원 좌표(X, Y)를 연속되는 군마다 기억하는 윤곽점열기억기구; 상기한 각 군의 윤곽점열의 X, Y 좌표를 t를 독립변수, x 및 y를 종속변수로 하는 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정범위가 되기까지 최소 2승 근사를 반복하여 윤곽점열의 각 군의 근사 다항식을 구하는 데이터근사기구(A); 상기 근사 결과를 미분 연산하여 x, y 공간에서 각 군의 점열의 각 점에서 곡률을 구하는 곡률연산기구; 각 군의 곡률의 데이터로부터 원을 추출하는 원추출기구; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치 보다 큰 값의 곡률을 갖는 점을 가접합점으로 하여 추출하는 가접합점 위치추출기구; 상기 가접합점의 1개(제1 가접합점)의 윤곽점열상의 전후에 소정 개수의 점 하나를 제1 접합점 후보로 하고, 상기 제1 가접합점에서 소정의 반지름내에서 동일 윤곽점열상에 있는 다른 가접합점의 하나(근방 접합점)의 윤곽점열상의 전후에 소정 개수의 점 하나를 제2 접합점 후보로 하며, 동일 윤곽점열상에서 점열 주사 방향으로 제1 고정점, 상기 제1 가접합점, 상기 근방 접합점 및 제2 고정점 순서대로 일렬로 나열하도록 상기 근방 접합점, 제1 고정점 및 제2 고정점을 선택하는 수단과, 상기 제1 접합점 후보와 상기 제2 접합점 후보의 모든 조합에 대해 상기 제1 고정점, 상기 제1 접합점 후보, 상기 제2 접합점 후보 및 상기 제2 고정점의 4점을 가장 원활하게 연결하는 선의 원활함에 기초하여 상기 제1 접합점 후보의 적합도를 구하는 수단 및 가장 적합도가 높은 상기 제1 접합점 후보를 선택하여 상기 제1 가접합점을 대신하는 최적 접합점으로 하는 수단을 갖는 최적 접합점 추출기구; 동일 군의 점열내의 인접하는 최적 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x, y를 종속변수로 한 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정의 값으로 수납되기까지 2차의 구분적 다항식의 차원수를 증가시키면서 최소 2승 근사를 반복하여 인접하는 최적 접합점간을 직선, 원호, 구분적 다항식으로 근사하는 데이터 근사기구; 원 데이터 및 점열의 각 군마다 상기 최적 접합점의 좌표와 인접하는 최적 접합점사이를 근사하는 함수의 파라미터를 기억하는 압축 데이터 기억기구; 기억된 압축 데이터를 입력하여 원 데이터와 점열의 각 군의 최적 접합점 좌표와 인접하는 최적 접합점간을 근사하는 함수의 파라미터를 얻어 윤곽선을 재생하는 윤곽 재생기구; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 로고·삽화 재생 기구; 및 재생된 로고·삽화를 로고·삽화로 출력하는 재생 데이터 출력기구를 포함하는 것을 특징으로 하는 로고·삽화 데이터 입출력장치.
- 광학적으로 로고·삽화 데이터를 판독하고 종횡으로 유한개수가 나열된 화소에 대응시켜 기억하는 로고·삽화 판독장치; 종횡으로 나열된 화소에 대응시켜 판독된 로고·삽화의 윤곽선을 추출하는 윤곽선 추출기구; 추출된 윤곽선의 2차원 좌표(X, Y)를 연속되는 군마다 기억하는 윤곽점열기억기구; 상기한 각 군의 윤곽점열의 X, Y 좌표를 t를 독립변수, x 및 y를 종속변수로 하는 2차의 구분적 다항식으로 근사하여 윤곽점열의 각 군의 근사 다항식을 구하는 데이터근사기구(A); 상기 근사 결과를 미분 연산하여 x,y 공간에서 각 군의 점열의 각 점에서 곡률을 구하는 곡률연산기구; 각 군의 곡률의 데이터로부터 원을 추출하는 원추출기구; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치 보다 큰 값의 곡률을 갖는 점을 가접합점으로 하여 추출하는 가접합점 위치추출기구; 동일 군의 점열내의 인접하는 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x, y를 종속변수로 한 2차의 구분적 다항식으로 근사하여 인접하는 접합점간을 직선, 원호, 구분적 다항식으로 근사하는 데이터 근사기구; 원 데이터 및 점열의 각 군마다 상기 접합점의 좌표와 인접하는 접합점사이를 근사하는 함수의 파라미터를 기억하는 압축 데이터 기억기구; 기억된 압축 데이터를 입력하여 원 데이터와 점열의 각 군의 접합점 좌표와 인접하는 접합점간을 근사하는 함수의 피라미터를 얻어 윤곽선을 재생하는 윤곽 재생기구; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 로고·삽화 재생기구; 및 재생된 로고·삽화로 출력하는 재생 데이터 출력기구를 포함하는 것을 특징으로 하는 로고·삽화 데이터 입출력장치.
- 광학적으로 로고·삽화 데이터를 판독하고 종횡으로 유한개수가 나열된 화소에 대응시켜 기억하는 로고·삽화 판독장치; 종횡으로 나열된 화소에 대응시켜 판독된 로고·삽화의 윤곽선을 추출하는 윤곽선추출기구; 추출된 윤곽선의 2차원 좌표(X, Y) 를 연속되는 군마다 t를 독립변수, X 및 Y를 종속변수로 하여 기억하는 윤곽점열기억기구; X, Y 공간에서의 각 군의 점열에서 이산적 곡률을 구하는 곡률연산기구; 각 군의 곡률의 데이터로부터 원을 추출하는 원추출기구; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치보다 큰 값의 곡률을 갖는 점을 가접합점으로 하여 추출하는 가접합접 위치추출기구; 동일 군의 점열내의 인접하는 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x, y를 종속변수로 한 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정의 값으로 수납되기까지 2차의 구분적 다항식의 차원수를 증가시키면서 최소 2승 근사를 반복하여 인접하는 접합점간을 직선, 원호, 구분적 다항식으로 근사하는 데이터 근사기구; 원 데이터 및 점열의 각 군마다 상기 접합점의 좌표와 인접하는 접합점 사이를 근사하는 함수의 파라미터를 기억하는 압축 데이터 기억기구; 기억된 압축 데이터를 입력하여 원 데이터와 점열의 각 군의 접합점 좌표와 인접하는 접합점간을 근사하는 함수의 파라미터를 얻어 윤곽선을 재생하는 윤곽 재생기구; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 로고·삽화 재생기구; 및 재생된 로고·삽화를 로고·삽화로 출력하는 재생 데이터 출력기구를 포함하는 것을 특징으로 하는 로고·삽화 데이터 입출력장치.
- 광학적으로 로고·삽화 데이터를 판독하고 종횡으로 유한개수가 나열된 화소에 대응시켜 기억하고; 종횡으로 나열된 화소에 대응시켜 판독된 로고·삽화의 윤곽선을 추출하고; 추출된 윤곽선의 2차원 좌표(X, Y)를 연속하는 각 군마다 t를 독립변수, X 및 Y를 종속변수로 기억하고; 상기한 각 군의 윤곽점열의 X, Y 좌표를 t를 독립변수, x 및 y를 종속변수로 하는 2차의 구분적 다항식으로 근사하고; 상기 근사결과를 미분 연산하여 x, y 공간에서 각 군의 점열의 각 점에서 곡률을 구하고; 각 군의 곡률 데이터로부터 원을 추출하고; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치 보다 큰 값의 곡률을 갖는 점을 접합점으로 추출하고; 동일 군의 점열내의 인접하는 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변소, x, y를 종속변수로 한 2차의 구분적 다항식으로 근사하고; 원 데이터 및 점열의 각 군마다 상기 접합점의 좌표와 인접하는 접합점사이를 근사하는 함수의 파라미터를 기억하는 것에 의해 로고·삽화 데이터를 입력하고; 다른쪽 로고·삽화를 출력할 때는 기억된 원 데이터와 점열의 각 군의 접합점 좌표와 인접하는 접합점간을 근사하는 함수의 파라미터를 출력하고, 이것으로부터 로고·삽화의 윤곽선을 재생하고; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 것에 의해 로고·삽화를 재생하고; 및 재생된 로고·삽화로 출력하는 것을 특징으로 하는 로고·삽화 데이터 입출력방법.
- 광학적으로 로고·삽화 데이터를 판독하고 종횡으로 유한개수가 나열된 화소에 대응시켜 기억하고; 종횡으로 나열된 화소에 대응시켜 판독된 로고·삽화의 윤곽선을 추출하고; 추출된 윤곽선의 2차원 좌표(X, Y)를 연속되는 군마다 t를 독립변수, X 및 Y를 종속변수로 기억하고;상기한 각군마다 윤곽점열의 X,Y좌표를 t를 독립변수, X 및 Y를 종속변수로 하는 2차의 구분적 다항식으로 근사하고;상기 근사 결과를 미분 연산하여 x, y공간에서 각 군의 점열의 각 점에서 곡률을 구하고; 각 군의 곡률의 데이터로부터 원을 추출하고; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치 보다 큰 값의 곡률을 갖는 가접합점으로 하여 추출하고;상기 가접합점의 1개(제1 가접합점)의 윤곽점열상의 전후에 소정 개수의 점 하나를 제1 접합점 후보로 하고, 상기 제1 가접합점에서 소정의 반지름내에서 동일 윤곽점열상에 있는 다른 가접합점의 하나(근방 접합점)의 윤곽점열상의 전후에 소정 개수의 점 하나를 제2 접합점 후보로 하며, 동일 윤곽점열상에서 점열 주사 방향으로 제1 고정점, 상기 제1 가접합점, 상기 근방 접합점 및 제2 고정점 순서대로 일렬로 나열하도록 상기 근방 접합점, 제1 고정점 및 제2 고정점을 선택하고, 상기 제1 접합점 후보와 상기 제2 접합점 후보의 모든 조합에 대해 상기 제1 고정점, 상기 제1 접합점 후보, 상기 제2 접합점 후보 및 상기 제2 고정점의 4점을 가장 원활하게 연결하는 선의 원활함에 기초하여 상기 제1 접합점 후보의 적합도를 구하고, 가장 적합도가 높은 상기 제1 접합점 후보를 선택하여 상기 제1 가접합점을 대신하는 최적 접합점으로 하고; 연속되는 둘 이상의 직선 또는 연속되는 둘 이상의 원호의 시작점인 최적 접합점중에서 이들이 없어도 근사 정밀도가 유지되도록 불필요한 최적 접합점을 발견하여 이것을 제거하여 직선 또는 원호를 통합하고; 제거되지 않고 남은 최적 접합점을 최종 접합점으로 기억하고; 동일 군의 점열내의 인접하는 최종 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x, y를 종속변수로 한 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정의 값으로 수납되기까지 2차의 구분적 다항식의 차원수를 증가시키면서 최소 2승 근사를 반복하여 인접하는 최종 접합점간을 직선, 원호, 구분적 다항식으로 근사하고; 원 데이터 및 점열의 각 군마다 상기 최종 접합점의 좌표와 인접하는 최종 접합점사이를 근사하는 함수의 파라미터를 기억하는 것에 의해 로고·삽화 데이터를 기억하고; 다른쪽 로고·삽화를 출력할 때는 기억된 원 데이터와 점열의 각 군의 최종 접합점 좌표와 인접하는 최종 접합점간을 근사하는 함수의 파라미터를 출력하고, 이것으로부터 로고·삽화의 윤곽선을 재생하고; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 것에 의해 로고·삽화를 재생하고; 및 재생된 로고·삽화를 로고·삽화로 출력하는 것을 특징으로 하는 로고·삽화 데이터 입출력방법.
- 광학적으로 로고·삽화 데이터를 판독하고 종횡으로 유한개수가 나열된 화소에 대응시켜 기억하고; 종횡으로 나열된 화소에 대응시켜 판독된 로고·삽화의 윤곽선을 추출하고; 추출된 윤곽선의 2차원 좌표(X, Y)를 연속되는 군으로 t를 독립변수, X 및 Y를 종속변수로 기억하고; X, Y공간에서 각 군의 점열의 각 점에 있어서의 이산적 곡률을 구하고; 각 군의 곡률의 데이터로부터 원을 추출하고; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치 보다 큰 값의 곡률을 갖는 점을 가접합점으로 하여 추출하고; 동일 군의 점열 내의 인접하는 접합점간을 직선, 원호, 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x, y를 종속변수로 한 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정의 값으로 수납되기까지 2차의 구분적 다항식의 차원수를 증가시키면서 최소 2승 근사를 반복하여 인접하는 접합점간을 직선, 원호, 구분적 다항식으로 근사하고; 원 데이터 및 점열의 각 군마다 상기 접합점의 좌표와 인접하는 접합점사이를 근사하는 함수의 파라미터를 기억하는 것에 의해 로고·삽화 데이터를 기억하고; 다른쪽 로고·삽화를 출력할 때는 기억된 원 데터와 점열의 각 군의 접합점 좌표와 인접하는 접합점간을 근사하는 함수의 파라미터를 출력하고, 이것으로부터 로고·삽화의 윤곽선을 재생하고; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 것에 의해 로고·삽화를 재생하고; 및 재생된 로고·삽화를 로고·삽화로 출력하는 것을 특징으로 하는 로고·삽화 데이터 입출력방법.
- 광학적으로 로고·삽화 데이터를 판독하고 종횡으로 유한개수가 나열된 화소에 대응시켜 기억하고; 종횡으로 나열된 화소에 대응시켜 판독된 로고·삽화의 윤곽선을 추출하고; 추출된 윤곽선의 2차원 좌표(X, Y)를 연속하는 각 군마다 t를 독립변수, X 및 Y를 종속변수로 기억하고; 상기한 각 군의 윤곽점열의 X, Y 좌표를 t를 독립변수, x 및 y를 종속변수로 하는 2차의 구분적 다항식으로 근사하고; 상기 근사결과를 미분 연산하여 x, y 공간에서 각 군의 점열의 각 점에서 곡률을 구하고; 각 군의 곡률 데이터로부터 원을 추출하고; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치 보다 큰 값의 곡률을 갖는 점을 접합점으로 추출하고; 동일 군의 점열내의 인접하는 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x, y를 종속변수로한 2차의 구분적 다항식으로 근사하고; 원 데이터 및 점열의 각 군마다 상기 접합점의 좌표와 인접하는 접합점사이를 근사하는 함수의 파라미터를 기억하는 것에 의해 로고·삽화 데이터를 입력하고; 다른쪽 로고·삽화를 출력할 때는 기억된 원 데이터와 점열의 각 군의 접합점 좌표와 인접하는 접합점간을 근사하는 함수의 파라미터를 출력하고, 이들 접합점의 좌표를 평행이동 또는 접합점의 좌표와 원호의 곡률, 구분적 다항식의 계수등에 x방향, y방향에 계수를 곱하여 이것을 가함으로서 평행이동, 확대/축소, 회전, 다름방향으로의 확대/축소등을 실행하고 나서 로고·삽화의 윤곽선을 제생하고; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 것에 의해 로고·삽화를 재생하고; 및 재생된 로고·삽화를 로고·삽화로 출력하는 것을 특징으로 하는 로고·삽화 데이터 입출력방법.
- 광학적으로 로고·삽화 데이터를 판독하고 종횡으로 유한개수가 나열된 화소에 대응시켜 기억하고; 종횡으로 나열된 화소에 대응시켜 판독된 로고·삽화의 윤곽선을 추출하고; 추출된 윤곽선의 2차원 좌표(X, Y)를 연속되는 군마다 t를 독립변수, X 및 Y를 종속변수로 기억하고;x, y 공간에서 각 군의 점열의 각 점에 있어서의 이산적 곡률을 구하고; 각 군의 곡률의 데이터로부터 원을 추출하고; 원을 제외한 윤곽점열의 곡률의 데이터에서 무한대이거나 어느 일정치보다 큰 값의 곡률을 갖는 점을 가접합점으로 하여 추출하고; 동일 군의 점열내의 인접하는 접합점간을 직선, 원호 순서로 근사하여 이것으로 소정의 근사 정밀도를 얻을 수 없을 때는 t를 독립변수, x, y를 종속변수로 한 2차의 구분적 다항식으로 근사하고, 근사 정밀도가 소정의 값으로 수납되기까지 2차의 구분적 다항식의 차원수를 증가시키면서 최소 2승 근사를 반복하여 인접하는 접합점간을 직선, 원호, 구분적 다항식으로 근사하고; 원 데이터 및 점열의 각 군마다 상기 접합점의 좌표와 인접하는 접합점사이를 근사하는 함수의 파라미터를 기억하는 것에 의해 로고·삽화 데이터를 기억하고; 다른쪽 로고·삽화를 출력할 때는 기억된 원 데이터와 점열의 각 군의 접합점 좌표와 인접하는 접합점간을 근사하는 함수의 파라미터를 출력하고, 이들 접합점의 좌표를 평행이동 또는 접합점의 좌표와 원호의 곡률, 구분적 다항식의 계수등에 x방향, y방향에 계수를 곱하여 이것을 가함으로서 평행이동, 확대/축소, 회전, 다름방향으로의 확대/축소등을 실행하고 나서 로고·삽화의 윤곽선을 제생하고; 재생된 윤곽선의 내부 및 외부의 화소에 다른 값을 대응시키는 것에 의해 로고·삽화를 재생하고; 및 재생된 로고·삽화를 로고·삽화로 출력하는 것을 특징으로 하는 로고·삽화 데이터 입출력방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4259137A JP2646475B2 (ja) | 1992-09-01 | 1992-09-01 | 文字デ−タ入力出力装置と入力出力方法 |
JP92-259137 | 1992-09-01 | ||
JP4269646A JP2646476B2 (ja) | 1992-09-11 | 1992-09-11 | ロゴ・イラストデ−タ入力出力装置と入力出力方法 |
JP92-269646 | 1992-09-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR940007735A KR940007735A (ko) | 1994-04-28 |
KR0129505B1 true KR0129505B1 (ko) | 1998-04-15 |
Family
ID=26543986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019930017344A KR0129505B1 (ko) | 1992-09-01 | 1993-09-01 | 문자 데이터, 로고·삽화 데이터 입력출력장치와 입력출력방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5572605A (ko) |
EP (1) | EP0586219A3 (ko) |
KR (1) | KR0129505B1 (ko) |
CN (1) | CN1033110C (ko) |
AU (1) | AU656090B2 (ko) |
CA (1) | CA2105125C (ko) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5623555A (en) * | 1994-04-18 | 1997-04-22 | Lucent Technologies Inc. | Method and apparatus for handwriting decompression using estimated timing information |
JPH0816801A (ja) * | 1994-06-30 | 1996-01-19 | Canon Inc | 画像処理方法及び装置 |
JP3573465B2 (ja) * | 1996-01-22 | 2004-10-06 | 松下電器産業株式会社 | デジタル画像符号化、復号化方法及びそれを用いたデジタル画像符号化、復号化装置 |
KR0181075B1 (ko) * | 1996-05-08 | 1999-04-01 | 배순훈 | 적응 윤곽선 부호화 방법 |
JP3031613B2 (ja) * | 1996-11-12 | 2000-04-10 | 株式会社つくばソフト研究所 | カラー/濃淡画像入力出力装置と入力出力方法 |
JP4021058B2 (ja) * | 1998-06-17 | 2007-12-12 | 新潟精密株式会社 | データ補間方式 |
US6401133B1 (en) * | 1998-06-24 | 2002-06-04 | Unisys Corporation | System for high speed continuous file transfer processing of data files |
JP3172498B2 (ja) * | 1998-10-02 | 2001-06-04 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | イメージ認識用特徴値抽出方法、およびその装置、イメージ解析プログラムを格納する記憶媒体 |
US6584237B1 (en) * | 1999-08-23 | 2003-06-24 | Pentax Corporation | Method and apparatus for expanding image data |
JP3732978B2 (ja) * | 1999-08-23 | 2006-01-11 | ペンタックス株式会社 | 画像圧縮および伸張装置とその方法 |
JP3709106B2 (ja) * | 1999-09-10 | 2005-10-19 | ペンタックス株式会社 | 画像圧縮および伸張装置 |
US6820032B2 (en) * | 2001-02-05 | 2004-11-16 | National Instruments Corporation | System and method for scanning a region using conformal mapping |
US7463172B2 (en) * | 2004-03-03 | 2008-12-09 | Japan Science And Technology Agency | Signal processing device and method, signal processing program, and recording medium where the program is recorded |
JP4053021B2 (ja) * | 2004-05-12 | 2008-02-27 | 三洋電機株式会社 | 画像拡大装置、及びプログラム |
US7418145B2 (en) * | 2004-06-30 | 2008-08-26 | Matsushita Electric Industrial Co., Ltd. | Compression device and decompression device |
TWI254234B (en) * | 2004-12-24 | 2006-05-01 | Hon Hai Prec Ind Co Ltd | System and method for auto-judging geometric shape trend of a set of dots on an image |
CN100377578C (zh) * | 2005-08-02 | 2008-03-26 | 北京北大方正电子有限公司 | 一种电视字幕文字的处理方法 |
CN104980619B (zh) * | 2014-04-10 | 2018-04-13 | 富士通株式会社 | 图像处理设备和电子装置 |
US10347016B2 (en) * | 2016-01-12 | 2019-07-09 | Monotype Imaging Inc. | Converting font contour curves |
US10936792B2 (en) | 2017-12-21 | 2021-03-02 | Monotype Imaging Inc. | Harmonizing font contours |
CN111063009B (zh) * | 2019-12-18 | 2021-04-06 | 山东山科智能科技有限公司 | 一种汉字书写动画演示方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0613212B2 (ja) * | 1983-10-03 | 1994-02-23 | 株式会社写研 | 文字画像デ−タの処理方法 |
GB2147474B (en) * | 1983-10-03 | 1987-05-07 | Shaken Kk | Method of processing character or pictorial image data |
JP2735197B2 (ja) * | 1987-11-12 | 1998-04-02 | 株式会社東芝 | 図形入力装置 |
US5233671A (en) * | 1989-02-22 | 1993-08-03 | Ricoh Company Ltd. | Image coding method for coding characters using a modified Bezier curve |
JP2806961B2 (ja) * | 1989-02-22 | 1998-09-30 | 株式会社リコー | 画像符号化方法 |
JPH0458378A (ja) * | 1990-06-28 | 1992-02-25 | Mitsubishi Heavy Ind Ltd | ベジエ曲線を分割して展開する方法 |
-
1993
- 1993-08-30 CN CN93117077A patent/CN1033110C/zh not_active Expired - Fee Related
- 1993-08-30 CA CA002105125A patent/CA2105125C/en not_active Expired - Fee Related
- 1993-08-31 EP EP19930306856 patent/EP0586219A3/en not_active Withdrawn
- 1993-08-31 AU AU46008/93A patent/AU656090B2/en not_active Ceased
- 1993-09-01 KR KR1019930017344A patent/KR0129505B1/ko not_active IP Right Cessation
- 1993-09-01 US US08/114,364 patent/US5572605A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1083954A (zh) | 1994-03-16 |
EP0586219A3 (en) | 1994-06-08 |
US5572605A (en) | 1996-11-05 |
CA2105125C (en) | 2000-04-18 |
EP0586219A2 (en) | 1994-03-09 |
KR940007735A (ko) | 1994-04-28 |
AU656090B2 (en) | 1995-01-19 |
CN1033110C (zh) | 1996-10-23 |
CA2105125A1 (en) | 1994-03-02 |
AU4600893A (en) | 1994-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0129505B1 (ko) | 문자 데이터, 로고·삽화 데이터 입력출력장치와 입력출력방법 | |
US5467411A (en) | System with approximation mechanism for recognizing graphical elements in a drawing | |
JP2641380B2 (ja) | 光学式文字認識システム用折曲点抽出方法 | |
JP2608571B2 (ja) | 入力走査画像データのベクトル化のための装置及び方法 | |
US6661417B1 (en) | System and method for converting an outline font into a glyph-based font | |
JPS61267177A (ja) | 文書画像追加情報の蓄積方法 | |
Rothacker et al. | Retrieving cuneiform structures in a segmentation-free word spotting framework | |
JP2000148911A (ja) | 文字認識方法およびテキスト認識システム | |
JPH09134157A (ja) | ヒント付け方法及びフォントファイル構成方法 | |
FR2537305A1 (fr) | Procede de traitement des donnees d'un modele graphique binaire et systeme pour mettre en oeuvre le procede | |
GB2366108A (en) | Vectorization of raster images | |
JP2646475B2 (ja) | 文字デ−タ入力出力装置と入力出力方法 | |
JP2646476B2 (ja) | ロゴ・イラストデ−タ入力出力装置と入力出力方法 | |
US11908216B2 (en) | Musical notation system | |
JP2007109177A (ja) | 画像処理装置及びその制御方法、プログラム | |
JPH08194716A (ja) | 画像処理方法及びその装置 | |
US5894525A (en) | Method and system for simultaneously recognizing contextually related input fields for a mutually consistent interpretation | |
JP3034140B2 (ja) | 文字生成方法及びその装置 | |
JP3305395B2 (ja) | 図形分割装置 | |
JP2559359B2 (ja) | 画像の構造記憶方法及び画像登録装置 | |
JP2701194B2 (ja) | アイロンプリントの作成装置 | |
JP3409993B2 (ja) | 接触パターンを分離するパターン分離装置および方法 | |
JP2954434B2 (ja) | 画像処理方法及びその装置 | |
JP3647075B2 (ja) | 画像検索方法及びその装置 | |
JP2717013B2 (ja) | 位置データの近似方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
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: 20070823 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |