KR0140283B1 - 화상편집장치의 화상 회전방법 - Google Patents

화상편집장치의 화상 회전방법

Info

Publication number
KR0140283B1
KR0140283B1 KR1019950007526A KR19950007526A KR0140283B1 KR 0140283 B1 KR0140283 B1 KR 0140283B1 KR 1019950007526 A KR1019950007526 A KR 1019950007526A KR 19950007526 A KR19950007526 A KR 19950007526A KR 0140283 B1 KR0140283 B1 KR 0140283B1
Authority
KR
South Korea
Prior art keywords
rotation
point
span
image
pixel value
Prior art date
Application number
KR1019950007526A
Other languages
English (en)
Other versions
KR960035343A (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 김광호
Priority to KR1019950007526A priority Critical patent/KR0140283B1/ko
Publication of KR960035343A publication Critical patent/KR960035343A/ko
Application granted granted Critical
Publication of KR0140283B1 publication Critical patent/KR0140283B1/ko

Links

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
화상편집장치의 화상 회전방법에 관한 것이다.
2. 발명이 해결하려고 하는 기술적 과제
화소의 누락없이도 빠른 시간내에 화상을 회전시킨다.
3. 발명의 해결방법의 요지
화상의 회전처리시 각 스팬의 시작점에 대한 회전 화소값은 실제 매트릭스의 계산에 의하여 구하고, 스팬의 시작점 이후의 점들에 대한 회전 화소값들은 인크리멘탈 알고리즘에 의해 구한다.
4. 발명의 중요한 용도
화상편집장치

Description

화상편집장의 화상 회전방법
제1도는 입력 화상 및 회전된 일예를 나타내는 도면.
제2도는 본 발명에 따른 화상 편집장치의 블럭구성도.
제3도는 본 발명에 따른 화상 회전방법의 흐름도.
제4도는 본 발명의 화상 회전방법을 설명하기 위한 도면.
* 도면의 주요부분에 대한 부호의 설명
10: 화상입력부20: 입력화상 메모리
30: 노드버퍼40: 회전처리부
50: 중앙처리장치60: 출력회상 메모리
70: 화상출력부
본 발명은 화상편집장치 화상 회전방법에 관한 것으로, 특히 화소의 누락없이도 빠른 시간내에 화상을 회전시키는 방법에 관한 것이다.
2차원 직교 좌표계에서 좌표(X, Y)를 원점으로 중심으로 하고, 반시계방향으로 θ만큼 회전시키면 이때 얻어지는 좌표(X', Y')는 하기의 식(1)과 같은 매트릭스 형태로 표현할 수 있다.
일반적으로 화상편집장치에서 화상의 회전은 상기 식(1)과 같은 회전 매트릭스를 사용하면 가능하다. 그러나 식(1)의 회전 매트릭스를 사용하여 화상을 회전시키는 경우에는 위치가 연속적이지 못하기 때문에 회전된 화상에는 원 디지탈 화상과 비교하였을때 다수의 화소가 누락되는 결과가 초래되었다. 이러한 화소 누락현상을 극복하기 위한 방법은 발명자 나오히로 키마타(Naohiro Kimata)에 의해 제안된후 1990년 12월 4일자에 등록된 미합중국 특허번호 제4,975,976호의 제목 IMAGE TRANSFORMING METHOD AND DEVICE하에 상세하게 개시되어 있다. 나오히로 키마타에 의해 제안된 방법은 회전하려는 화상의 노드를 먼저 회전시키고, 이 회전된 노드를 이용하여 화상의 영역을 구한후에 이 영역의 각 점들을 역회전하여 원화상의 어떤 점에 대응되는가를 구하는 방법이다.
한편, 나오히로 키마타에 의해 제안된 방법은 흑과 백의 두 색을 가지는 화상에만 적용되는 방법이므로, 그레이나 칼라 화상에 적용하기 위해서는 별도의 보간처리가 부가되어 이용되고 있는 추세이다. 이때 그레이나 칼라 화상에 따른 데이타는 흑백 화상의 데이타에 비해 그 크기가 크기 때문에 화상의 회전처리시 그 회전속도는 커다란 요인으로 대두되고 있다.
상기와 같은 이유로 현재 화상편집장치에는 보간처리의 과정이 필수적으로 수행되고 있으며, 아울러 회전시 그 처리속도를 빨리하기 위한 쉐어링(shearing)방법이 적용되고 있다. 이러한 쉐어링 방법은 제록스사에서 발생한 도서Graphics Gems에 실린 알라패스(Alan W.Paeth)의 논문 제목 A Fast Algorithm for General Raster Rotation하에 상세하게 개시되어 있다. 그러나 쉐어링 방법의 대상은 사각형 모양의 화상을 기본으로 하기 때문에 사용자가 선택한 영역이 사각형 모양이 아닌 경우에는 화상의 회전에 따른 소요시간 즉, 회전속도가 증가하는 문제점이 있었다. 한편, 보간처리 역회전점을 둘러싸는 원 화상의 점들 모두에 대해 곱셈처리를 행하는 것이므로, 이때 곱셈처리의 과정을 단축시킬 수 있다면 회전속도를 빠르게 할 수 있을 것이다.
따라서 본 발명의 목적은 화상편집장치에서 화상의 회전속도를 단축시키기 위한 화상의 회전방법을 제공함에 있다.
상기와 같은 목적에 따라, 화상의 회전처리시 각 스팬의 시작점에 대한 회전 화소값은 실제 매트릭스의 계산에 의하여 구하고, 스팬의 시작점이 이후의 점들에 대한 회전 화소값들은 인크리멘탈 알고리즘에 의해 구하는 화상의 회전방법을 향한 것이다.
또한 본 발명에 따른 화상 회전방법은, 회전시키고자 하는 입력화상으로부터 회전영역을 나타내는 스팬테이블을 구성하는 스팬테이블 구성과정과, 상기 스팬테이블에 구성된 스팬의 시작점을 회전각만큼 역회전시켜 역회전점을 구하고 상기 역회전점을 둘러싸는 입력화상의 주변점들을 이용하여 상기 스팬의 시작점에 대한 회전 화소값을 계산하는 제1회전 화소값 계산과정과, 상기 스팬의 시작점 이후에 위치하는 상기 스팬의 각 점들에 대한 회전 화소값을 상기 회전각을 이용하여 덧셈처리하여 계산하는 제2회전 화소값 계산과정으로 구성한다.
이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면을 참조하여 설명될 것이다.
화상편집장치의 화면상에서 사용자가 마우스와 같은 포인팅 장치를 이용하여 회전시키고자 하는 화상을 선택하고 회전각을 입력하게 되면, 선택된 화상은 입력된 회전각만큼 회전된다. 예를 들어, 제1도(A)와 같이 화면상에서 노드 N1~N4에 의해 형성되는 영역의 화상이 사용자에 의해 선택되면, 제1도(B)와 같이 회전된 화상이 화면상에 표시된다. 이때 사용자에 의해 선택된 입력화상의 노드 N1, N2, N3 및 N4는 회전된 화상의 노드 N5, N6, N7 및 N8에 대응한다.
제2도는 사용자에 의해 회전시키고자 하는 화상이 선택되고, 회전각이 입력될때 실제 회전의 동작을 수행하는 본 발명에 따른 화상편집장치에 대한 구성을 도시한 것이다.
화상편집장치(10)는 스캐너, 카메라등으로 구성될 수 있다. 입력화상 메모리(20)는 회전시키고자 하는 전체의 입력화상을 저장하기 위한 2차원의 영역을 갖는 메모리로서, 화상편집장치(10)로부터 데이터를 입력받아 저장한다.
노드 버퍼(30)는 사용자에 의해 선택된 실제로 회전시키고자 하는 영역을 구성하는 점들을 저장한다. 회전처리부(40)는 사용자에 의해 회전각이 설정되는 경우에 노드 버퍼(30)에 저장된 각 점들로부터 상기 회전각만큼 회전되게 되는 점들을 계산하는 회전점 계산부(40A)와, 노드 버퍼(30)에 저장된 각 점들을 AET(Active Edge Table)방법을 이용하여 스팬 테이블을 구성하는 스팬 테이블 계산부(40A)로 구분된다. 스팬 테이블의 구조 및 구성방법은 본원 발명자에 의해 1994년 1월 3일자에 선출원된 대한민국 특허 출원번호 제94-32호의 제목 화상편집장치에서 클리핑 다각형에 대한 외곽선 디스플레이 방법하에 상세하게 개시되어 있다.
출력화상 메모리(60)는 회전처리부(40)에 의해 계산된 회전화상을 저장하기 위한 2차원의 영역을 갖는 메모리이다. 화상출력부(70)는 출력화상 메모리(60)에 저장되어 있는 회전화상을 출력시키는 수단으로, 프린터등으로 구성될 수 있다.
중앙처리장치(50)는 화상편집장치의 전반적인 동작을 소정 프로그램에 의해 수행한다.
제3도는 제2도와 같은 구성을 갖는 화상편집장치에서 수행되는 본 발명에 따른 화상 회전방법의 흐름을 도시한 것이다.
제4도는 본 발명에 따라 수행되는 화상 회전방법을 나타낸 것이다.
제1도 내지 제4도를 참조하여, 본 발명에 따른 화상 회전방법을 나타낸 것이다.
사용자가 제1도(A)에 도시된 바와 같이 회전을 위한 노드 N1~N4를 선택하고 회전각θ를 입력하면, 이때 선택된 노드 N1~N4는 노드버퍼(30)에 저장된다. 제3도의 중앙처리장치(50)는 노드버퍼(30)에 저장된 노드 N1~N4를 읽어 회전점 계산부(40A)에 보낸다. (300)단계에서 회전점 계산부(40A)는 상기 식(1)과 같은 일반적인 회전 매트릭스를 이용하여 노드 N1~N4를 θ만큼 회전한 좌표를 나타내는 노드 N5~N8를 구한다. (302)단계에서 스팬테이블 계산부(40B)는 회전된 노드 N5~N8를 이용하여 스팬테이블을 구성한다.
스팬테이블에 구성되는 첫번째 엔트리에서부터 마지막 엔트리까지 각 엔트리의 스팬에 대해 (304)단계 내지 (320)단계의 동작이 수행된다. 스팬테이블의 하나의 엔트리에는 여러개의 스팬이 있을 수 있으나 각 스팬에 대해 동일한 동작이 수행된다.
스팬의 시작점이 (i, j)의 위치에 있다고 가정할때, (304)단계에서 스팬의 시작점 Ai, j를 θ만큼 반대방향으로 회전시키면 제4도와 같은 역회전점 A'i, j이 구해진다. 역회전점 A'i, j이 구해지게 되면, 종래 방법의 경우에는 역회전점 A'i, j와 역회전점 A'i, j의 주변점들 Px-1, y, Px-1, y+1, Px, y및 Px, y+1와의 관계에 의해 스팬의 시작점 Ai, j에서의 화소값 Ii, j가 구해진다. 즉, 역회전점 A'i, j와 각각의 주변점들 Px-1, y, Px-1, y+1, Px, y및 Py+1와의 사이에 소정의 곱셈연산이 수행되어 화소값 Ii, j가 구해진다.
그러나 본 발명의 경우에는 4개의 주변점들 모두를 고려하는 것이 아니라 역회전점 A'i, j에 가장 가까운 정수점만이 고려된다. 즉, (306)단계에서 역회전점 A'i, j와 이 점에 가까운 정수점 Px, y와의 x방향 차이 dx와 y방향 차이 dy를 구한다. (308)단계에서 겹쳐진 점 4개에 대해 모두 계산하지 않고 dx와 dy의 크기를 비교하여 크기가 작은 차이값의 방향을 기여방향으로 선택하여 계산한다. 만약, dx가 작다면 y방향을 기여방향으로 선택한후 (310)단계를 수행하고, dy가 작다면 x방향을 기여방향으로 선택한후 (312)단계를 수행한다.
x방향과 y방향에 대해 동일한 계산이 적용되므로, 기여방향으로 y방향이 선택되는 경우를 예로 하여 설명한다. (310)단계에서 회전된 화상 (i, j)위치에서의 화소값 Ii, j는 역회전점 A'i, j이 겹치는 영역을 가중치로 해서 구해지는데, dy가 양수인 경우에 두점 Px, y및 Px, y+1에 겹쳐진 영역을 가중치로 계산하여 구해진다. 이를 식으로 나타내면 하기 식(2)와 같으며, 기여방향이 x방향으로 선택되는 경우에 계산되는 가중치를 식으로 나타내면 하기 식(3)과 같다.
여기에서 Ix, y는 좌표(x, y)에서의 화소값을 의미하며, Ix, y+1는 좌표(x, y+1)에서의 화소값을 의미한다.
스팬의 시작점 Ai, j에서 화속값 Ii, j를 구했으므로, (314)단계에서는 스팬의 다음점 Ai+1, j를 회전각 θ만큼 역회전하여 회전되기 이전의 화상에 대응되는 좌표를 구한다. 이때의 계산은 상기 식(1)과 같은 매트릭스에 의해 구하는 것이 아니고, 인크리멘탈 알고리즘(Incremental Algorithm)을 이용하여 구한다. 이러한 인크리멘탈 알고리즘은 애디슨 웨슬리사에서 발생한 도서 Computer Graphics의 73페이지 74페이지하에 상세하게 개시되어 있다.
즉, 스팬이 수평방향이고 이를 회전각 θ만큼 반대방향으로 회전하면 회전된 선분은 -tanθ만큼의 기울기를 가지므로 이를 이용하면, 인크리멘탈 알고리즘에 의해 덧셈처리만으로 다음점을 계산할 수 있다. 종래의 방법에서는 스팬의 시작점 이후의 점들에 대한 화소값들은 스팬의 시작점과 동일하게 곱셈처리에 의해 구해진다. 그러나 본 발명에 따르면 스팬의 시작점 이후의 점들에 대한 화소값들은 덧셈처리에 의해 구해진다. 상기와 같이 스팬의 시작점 이후의 다음점들은 (316)단계에서 스팬의 끝점으로 확인될때까지 (306) 내지 (314) 단계의 동작을 반복적으로 스팬의 끝점으로 확인될때까지 (306) 내지 (314)단계의 동작을 동작을 반복적으로 수행함으로써 구해지게 된다.
(304) 내지 (316)단계에서 하나의 엔트리에 포함되는 스팬들에 대한 회전 화소값들이 구해지면, 다음의 엔트리들에 포함되는 스팬들에 대한 회전 화소값들은 (318)단계 및 (302)단계에서 마지막 엔트리가 확인될 때까지 (304)단계 내지 (316)단계의 동작을 반복함으로써 구해진다.
상술한 바와 같이 화상의 회전처리시 각 스팬의 시작점에 대한 회전 화소값은 실제 매트릭스의 계산에 의하여 구하고, 스팬의 시작점 이후의 점들에 대한 회전 화소값들은 인크리멘탈 알고리즘에 의해 구할 수 있으므로 회전속도를 단축시킬 수 있는 잇점이 있다.
또한 각 스팬의 시작점을 구하는 경우에도 x축 또는 y축중에 기여가 높은 방향만을 선택하여 한 방향에 걸친 두 화소만을 고려하기 때문에 화상의 현저한 저하없이도 회전속도를 단축시킬 수 있는 잇점이 있다.

Claims (5)

  1. 화상편집장치의 화상 회전방법에 있어서, 회전시키고자 하는 입력화상으로부터 회전영역을 나타내는 스팬테이블을 구성하는 스팬테이블 구성과정과, 상기 스팬테이블에 구성된 스팬의 시작점을 회전각만큼 역회전시켜 역회전점을 구하고, 상기 역회전점을 둘러싸는 입력화상의 주변점들을 이용하여 상기 스팬의 시작점에 대한 회전 화소값을 계산하는 제1회전 화소값 계산과정과,
    상기 스팬의 시작점 이후에 위치하는 상기 스팬의 각 점들에 대한 회전 화소값을 상기 회전각을 이용하여 덧셈처리한후 계산하는 제2회전 화소값 계산과정으로 구성됨을 특징으로 하는 화상 회전방법.
  2. 제1항에 있어서, 상기 제1회전화소값 계산과정은, 상기 스팬의 시작점에 대한 역회전점을 구하는 역회전점 계산과정과, 상기 역회전점을 둘러싸는 입력화상의 주변점들로부터 상기 역회전점에 가장 근접하는 근사점을 확인하는 근사점 확인과정과, 상기 근사점과 상기 역회전점 사이의 방향 차이값들로부터 기여방향을 선택한후 상기 기여방향에 대한 가중치를 계산하여 상기 스팬의 시작점에 대한 회전 화소값을 계산하는 시작점 회전 화소값 계산과정으로 구성됨을 특징으로 하는 화상 회전방법.
  3. 제2항에 있어서, 상기 시작점 회전 화소값 계산과정은, 상기 근사점과 상기 역회전점 사이의 가로방향 차이값 및 세로방향 차이값들을 계산하는 차이값 계산과정과, 상기 가로방향 차이값과 상기 세로방향 차이값을 비교하여, 그 값이 큰 경우에 해당하는 방향을 기여방향을 선택하는 기여방향 선택과정과, 상기 선택된 기여방향에 대한 가중치를 상기 역회전점의 회전 화소값에 부가시켜 상기 스팬의 시작점에 대한 회전 화소값을 계산하는 가중치 부가과정으로 구성됨을 특징으로 하는 화상 회전방법.
  4. 제1항에 있어서, 상기 제2회전 화소값 계산과정은, 상기 스팬의 시작점 이후에 위치하는 상기 스팬의 각 점들에 대한 회전 화소값을 상기 회전각에서 얻어지는 기울기 값을 이용하여 덧셈처리한후 구하는 것을 특징으로 하는 화상 회전방법.
  5. 화상편집장치의 화상 회전방법에 있어서, 선택된 좌표와 회전각을 매트릭스로 계산하여 회전된 좌표를 구하고, 상기 회전된 좌표에 의해 형성되는 회전영역을 나타내는 구성하는 회전영역 구성과정과, 회전영역을 나타내는 다수의 스팬들이 엔트리단위로 구조되는 상기 스팬테이블에 등록되어 있는 각 엔트리의 스팬의 시작점을 상기 회전각만큼 매트릭스로 계산하여 역회전된 좌표를 구하고, 상기 역회전 좌표의 화소값에 주변 좌표들의 화소값에 의한 가중치를 부가하여 상기 스팬의 시작점에 대한 회전 화소값을 계산하는 제1회전 화소값 계산과정과, 상기 스팬테이블에 등록되어 있는 각 엔트리의 스팬의 시작점 이후의 점들에 대한 회전 화소값을 상기 계산된 스팬 시작점의 회전 화소값과 인크리멘탈 알고리즘을 이용하여 계산하는 제2회전 화소값 계산과정으로 구성됨을 특징으로 하는 화상 회전방법.
KR1019950007526A 1995-03-31 1995-03-31 화상편집장치의 화상 회전방법 KR0140283B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950007526A KR0140283B1 (ko) 1995-03-31 1995-03-31 화상편집장치의 화상 회전방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950007526A KR0140283B1 (ko) 1995-03-31 1995-03-31 화상편집장치의 화상 회전방법

Publications (2)

Publication Number Publication Date
KR960035343A KR960035343A (ko) 1996-10-24
KR0140283B1 true KR0140283B1 (ko) 1998-07-01

Family

ID=66553261

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950007526A KR0140283B1 (ko) 1995-03-31 1995-03-31 화상편집장치의 화상 회전방법

Country Status (1)

Country Link
KR (1) KR0140283B1 (ko)

Also Published As

Publication number Publication date
KR960035343A (ko) 1996-10-24

Similar Documents

Publication Publication Date Title
EP1004988B1 (en) Method, apparatus and computer program product for generating perspective corrected data from warped information
Gribbon et al. A novel approach to real-time bilinear interpolation
EP0360155B1 (en) Image transformation method and device
US6360029B1 (en) Method and apparatus for variable magnification of an image
US6421063B1 (en) Pixel zoom system and method for a computer graphics system
US5491769A (en) Method and apparatus for variable minification of an image
US6741759B2 (en) Method and apparatus for interpolation
US7081903B2 (en) Efficient movement of fragment stamp
AU2420988A (en) Quadratic interpolation for shaded image generation
US10123052B2 (en) Elimination of artifacts from lossy encoding of digital images by color channel expansion
EP0574245A2 (en) Method and apparatus for variable expansion and variable shrinkage of an image
KR0140283B1 (ko) 화상편집장치의 화상 회전방법
EP0719034A1 (en) Improved character smoothing in scanners/printers
JPH10247241A (ja) 畳み込み走査ラインレンダリング
KR100587979B1 (ko) 이미지 확대를 위한 경계선 및 귀퉁이 기반 보간 방법
JP4325812B2 (ja) ベクター画像描画回路およびベクター画像描画方法
US20080310761A1 (en) Image Process Method and Apparatus for Image Enlargement and Enhancement
JPH07107268A (ja) 画像処理装置
JPH09284578A (ja) 画像処理装置
JP3517982B2 (ja) 図形描画装置
US7768512B1 (en) System and method for rasterizing primitives using direct interpolation
JP3065855B2 (ja) 画像処理装置
JPH11224331A (ja) ラスタ画像生成装置およびラスタ画像生成方法
JPH08185516A (ja) 画像制御方法、及びその装置
JPH06333031A (ja) 画像処理装置

Legal Events

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

Payment date: 20080228

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee