KR100444899B1 - 화상의회전변환방법 - Google Patents

화상의회전변환방법 Download PDF

Info

Publication number
KR100444899B1
KR100444899B1 KR1019970017350A KR19970017350A KR100444899B1 KR 100444899 B1 KR100444899 B1 KR 100444899B1 KR 1019970017350 A KR1019970017350 A KR 1019970017350A KR 19970017350 A KR19970017350 A KR 19970017350A KR 100444899 B1 KR100444899 B1 KR 100444899B1
Authority
KR
South Korea
Prior art keywords
data
rotation conversion
rotation
conversion data
rotation transformation
Prior art date
Application number
KR1019970017350A
Other languages
English (en)
Other versions
KR19980082434A (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 KR1019970017350A priority Critical patent/KR100444899B1/ko
Publication of KR19980082434A publication Critical patent/KR19980082434A/ko
Application granted granted Critical
Publication of KR100444899B1 publication Critical patent/KR100444899B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 화상의 회전 변환 방법에 관한 것으로, 회전 변환을 수행할 시에 연산량을 효과적으로 경감시키고자 함에 그 목적이 있다.
이와 같은 본 발명의 목적을 달성하기 위해, 본 발명에 의한 화상의 회전 변환 방법은 해당 블록에서 수평 화소수와 동수의 비트로 구성된 단위 데이터를 래스터 스캐닝 순으로 판독하는 단위 데이터 판독 단계; 기변환된 회전 변환 데이터가 기록된 검색 테이블에서 상기 단위 데이터에 대한 해당 회전 변환 데이터를 판독하여 현 회전 변환 데이터로 설정한 후, 판독 횟수를 1회 증가시키는 회전 변환 데이터 판독 단계; 상기 현 회전 변환 데이터와 이전 회전 변환 데이터를 비트 논리곱 연산한 후, 쉬프트 연산을 수행하여 상기 이전 회전 변환 데이터를 갱신함을 통해 갱신 회전 변환 데이터를 생성하는 회전 변환 데이터 연산 단계; 상기 판독 횟수가 수직 화소수와 동수인지 여부를 판독하여 동수이면, 상기 갱신 회전 변환 데이터를 최종 회전 변환 데이터로 출력하는 판독 횟수 판단 단계; 및 상기 판독 횟수 판단 단계의 판단 결과, 동수가 아니면, 상기 갱신 회전 변환 데이터를 이전 회전 변환 데이터로 설정한 후, 상기 단위 데이터 판독 단계로 되돌아 가는 이전 회전 변환 데이터 갱신 단계를 수행하여 연산량을 경감시킨다.

Description

화상의 회전 변환 방법
본 발명은 화상의 회전 변환 방법에 관한 것으로, 더욱 상세하게는 기 변환된 회전 변환 데이터를 이용하여 화상에 대한 회전 변환(rotation transformation)을 수행함으로써 연산량을 경감시킬 수 있는 화상의 회전 변환 방법에 관한 것이다.
화상의 공간 변환 기술은 컴퓨터 지원 공동 작업(CSCW; Computer Supported Cooperative Work) 분야와 영상 재구성, 영상 편집, 예술 영상(art image) 등과 같은 영상 처리(image processing) 분야 및 컴퓨터 그래픽, CAD(Computer Aided Design), 텔레비젼 방송 등과 같은 광범위한 분야에서 유용하게 이용되고 있는 기초적인 화상 처리 기법이다.
화상의 공간 변환 기술은 매우 광범위하여 분류가 용이하지 않지만 통상, 확대/축소(zoom in/zoom out), 미러링(mirroring effect), 회전 변환(rotation transformation ), 플립(flip) 등이 이 범주에 포함되고, 또한 휨(skew), 수직/수평 원근(vertical/horizontal perspective), 원/실린더/다각형 효과(circle/ cylinder/polygon effect), 핀치/펀치 효과(pinch/punch effect) 등과 같이 기하학적인 비선형 공간 변환을 수행하는 기형 변형(deformation) 등이 이 범주에 속한다.
특히, 앞에 열거한 공간 변환 중에서 회전 변환(rotation transformation )은 레이져 프린터, 잉크젯 프린터 등과 같은 래스터 화상(raster image)을 처리해야 하는 장치에서 필수적으로 채택하고 있는 공간 변환 기술이다.
본 발명은 화상의 공간 변환 중 회전 변환과 직접적으로 관련된 바, 회전 변환 기법을 이용하는 기기의 대표적인 용례가 되고 있는 프린터를 본 발명과 밀접한 관련이 있는 구성 요소를 중심으로 간략하게 설명하기로 한다.
통상적으로 프린터는, 크게, 윈도우 운영 체계 환경에서 화상 전 개시 해당 장치에 대하여 독립적인(장치 독립적인) 그래픽 기능을 제공하는 윈도우 프로그램용 GDI(Window Graphic Device Interface) 프린터와, 기타 일반 프린터로 구분할 수 있으며, 일반 프린터에는 휴렛 패커드사에서 개발한 PCL(Printer Control Language) 프린터와, KS/KSSM 프린터와, PostScript 프린터 등 여러 종류가 있다.
이러한 각각의 프린터에 있어서, 컴퓨터로 작성한 화상 데이터를 프린터에서 인쇄하기 위한 프린터의 개략적 블럭도가 도 1에 도시되어 있고, 도 2에는 종래의 일반 프린터 장치에 있어서, 컴퓨터 내의 구성을 나타내는 상세 블럭도가 도시되어 있으며, 도 3에는 종래의 GDI 프린터에 있어서, 컴퓨터와 프린터 컨트롤러의 내부 구성을 나타내는 상세 블럭도가 도시되어 있다.
종래의 프린터는, 먼저, 사용자가 컴퓨터(1)의 응용프로그램(2)을 이용하여 출력하고자 하는 원본 파일(화상 데이터)을 작성하고, 작성된 원본 파일을 인쇄하기 위하여 프린터 구동 프로그램(3)에 해당하는 프린터 드라이버(Printer Driver)를 통하여 병렬 포트(4)로 전송한다.
여기서, 해당 프린터가 GDI 프린터인 경우, 프린터 구동 프로그램(3)은 GDI 프린터 구동 프로그램(5)을 사용하게 되며, GDI 프린터 구동 프로그램(5)은 컴퓨터(1)로부터 장치 독립적인 출력 명령을 인가받아 장치 종속적인 출력용 화상 데이터를 생성한 후, 압축기(여기서는, 'RLE: Run Length Encoding'을 사용함)(6)로 해당 화상 데이터를 압축하고 가상 포트(7)를 거쳐 병렬 포트(4)에 전송한다.
프린터(8) 내에 장착된 프린터 컨트롤러(9)는 병렬 포트(4)를 통하여 인가받은 PCL 명령어와 화상 데이터(또는, GDI 프린터에서의 압축 화상 데이터)를 분석하고, 폰트(Font) 데이터와 화상 데이터를 사용하여 인쇄 화상을 전개한 후, 전개된 인쇄 화상을 버퍼 메모리(11)에 임시 저장한다. 버퍼 메모리(11)에 임시 저장된 출력용 원시 화상 데이터(Raw Image Data)는 데이터 송출부(12)를 거쳐 프린터 엔진 (13)으로 최종 전송되어 인쇄 동작이 수행된다.
여기서, 도 1에서의 미설명 부호인 14는 프린터(8)의 각종 기능을 선택할 수 있는 조작 패널이다. 또한, 도 2 내지 도 3에서의 미설명 부호인 15는 인쇄 페이지를 여러 개의 밴드나 조각으로 나누고, 해당 페이지를 인쇄하기 위하여 나중에 이들 밴드 또는 조각을 합성하는 밴드 처리부이며, 16∼19는 프린터 컨트롤러(9)에서 제어하는 프린터(8)의 통신 장치와 패널 구동부 및 급지 제어부와 엔진 구동부이다. 또한, 20은 전술한 프린터(8)의 구동 상태를 제어하기 위한 프로그램이 저장된 프로그램 메모리이고, 21은 컴퓨터(1)로부터 전송된 폰트 데이터를 저장하는 폰트 메모리이며, 22는 프린터(8)의 구동상태를 제어함과 동시에 프린터(1)로부터 전송된 화상 데이터를 화상 전개하는 중앙 처리 장치이다.
이하, 전술한 바와 같은 프린터와 같이 회전 변환 기법을 채택하여 사용하고 있는 장치에 있어서, 종래 기술에 따른 화상의 회전 변환 방법을 첨부한 도 4을 참조하여 상세하게 설명하기로 한다.
통상의 회전 변환은 수학식 1과 같은 기본 단위의 회전 변환 매트릭스를 확장하여 원화상과 승산함으로 다양한 각도의 공간적인 회전 효과를 획득할 수 있다.
[수학식 1]
Figure pat00001
원하는 회전 각도를 θ에 대입한 후, 원화상과 회전 변환 매트릭스 간의 승산을 취하여 결과 화상을 산출하지만, 화상의 화소가 위치하는 특성상, 다양한 각도에 대한 회전 변환을 수행하기 보다는 흔히, 90°, 180°, 270°와 같이 90°단위의 회전 변환이 주로 이용된다.
도 4의 (a)는 회전 변환을 수행하기 전의 8화소×8화소의 이치화 화상을 나타낸 것이고, 도 4의 (b)는 도 4의 (a)를 90°우회전 변환(90° right rotation transformation)한 후의 이치화 화상을 나타낸 것이다.
여기서, 도 4의 (a)의 수직축에 기입한 Byte 0, Byte 1, Byte 2,...., Byte7은 각각 8개의 이진 화소를 나타내기 위한 인덱스이며, 도 4의 (b)의 수직축에 기입한 Byte 0(90°), Byte 1(90°), Byte 2(90°),....., Byte7(90°)은 도 4의 (a)의 이치화 화상을 90° 우회전 변환한 후, 각각 8개의 이진 화소를 나타내기 위한 인덱스이다.
종래 기술에 따른 화상의 회전 변환 방법은 도 4에 도시한 바와 같이, 화상을 블록으로 분할하여 공간 변환을 적용하기 위한 기본 단위로 이용하는 것이 일반적이며, 오늘날, 이와 같이 블록 기반으로 화상을 처리하는 기법은 화상 처리에 있어 가장 일반화된 접근 방법이 되고 있다.
종래 기술에 따른 화상의 회전 변환 방법에 있어서, 도 4의 (a)의 화상을 도 4의 (b)와 같이, 90° 우회전 변환하기 위해서는 수학식 2와 같은 비트 논리 연산을 수행해야 한다. 한편, 본 원에서 회전각으로 90° 우회전한 예를 들어 설명하는 것은 이 회전각이 가장 빈도 높게 이용되는 것이기 때문이며, 블록 단위로 8화소×8화소를 예로 든 것 8화소×8화소 블록 크기가 가장 일반적으로 이용하고 있는 통상의 블록 크기인 것에 기초한 것이다.
[수학식 2]
Figure pat00002
Figure pat00003
여기서, bn는 Byte 0, Byte 1, Byte 2 ,...., Byte7 중 해당되는 것의 n 번째 비트의 이진값이며, ×는 산술 연산의 승산 연산자이고, +는 산술 연산의 가산 연산자이지만, 비트 논리합 연산자로 간주하여도 무방하다. 이때, 연산 결과는 이치화된 형태로 표현해야 함을 자명하다.
이것은 8화소×8화소의 이치화 원화상에 90° 우회전 변환 매트릭스를 곱한 것과 동일한 효과를 발생시키게 되는 데, 이것은 180°, 270° 및 그 외 각도를 갖는 회전 변환 등에서도 유사한 방식으로 적용 가능하다. 이때, 상기와 같은 연산은 중앙 처리 장치(22)에 종속되어 있음은 명백하다.
그러나, 이와 같이 화상 데이터를 대상으로 비트 연산을 수행할 경우에는 데이터의 구조상, 연산량의 증가로 많은 처리 시간이 소요되는 것을 감수해야 한다. 즉, 상기와 같은 경우, 회전 변환을 수행하기 위해서는 바이트 단위로 8회의 데이터 접근(access)을 시도해야 하며, 승산 또는 쉬프트 연산을 64번을 해야 함에 따라 화상의 통상적인 크기를 고려할 때, 방대한 연산량에 기인하여 단위 작업량을 처리하는 속도가 저하되어 관련 제품을 이용하는 사용자의 제품 만족도를 경감시키는 커다란 요인이 되고 있다.
따라서, 본 발명은 이와 같은 문제를 해결하기 위해 안출된 것으로, 단위 데이터의 조합에 의해 발생될 수 있는 회전 변환 데이터 배열을 저장 매체에 검색 테이블(Look Up Table; LUT) 형태로 저장하고 있다가 해당 데이터가 입력되면, 이에 대응하는 회전 변환 데이터 배열을 판독한 후, 다음의 단위 데이터가 입력될 때 마다 우 쉬프트 연산을 수행하여 최종적으로 회전 변환된 결과 화상을 산출함에 따라 연산량을 효과적으로 경감시킬 수 있는 화상의 회전 변환 방법을 제공함에 그 목적이 있다.
도 1은 컴퓨터에서 작성한 화상데이터를 프린터에서 인쇄하기 위한 통상적인 프린터 장치의 개략적 블럭도,
도 2는 종래의 일반 프린터 장치에 있어서, 컴퓨터와 프린터 컨트롤러의 구성을 나타내는 상세 블럭도,
도 3은 종래의 GDI 프린터장치에 있어서, 컴퓨터와 프린터 컨트롤러의 내부 구성을 나타내는 상세 블럭도,
도 4은 회전 변환을 수행하기 전후의 8화소×8화소의 이치화 화상을 나타낸 예시도,
도 5는 본 발명에 따른 화상의 회전 변환 방법의 순서도,
도 6a 및 도 6b는 90°우 회전 변환의 검색 테이블에 대한 일실시예의 상위 배열 및 하위 배열을 나타낸 예시도.
<도면의 주요 부분에 사용된 부호의 설명>
S10 : 단위 데이터 판독 단계 S20 : 회전 변환 데이터 판독 단계
S30 : 회전 변환 데이터 연산 단계 S40 : 판독 횟수 판단 단계
S50 : 이전 회전 변환 데이터 갱신 단계
이와 같은 본 발명의 목적을 달성하기 위해, 본 발명에 따른 화상의 회전 변환 방법은, 입력된 이치화 화상 데이터를 수평 화소수와 수직 화소수의 곱에 의해 결정되는 블록 단위로 분할하여 회전 변환을 수행하는 화상의 회전 변환 방법에 있어서, 해당 블록에서 상기 수평 화소수와 동수의 비트로 구성된 단위 데이터를 래스터 스캐닝(raster scanning) 순으로 판독하는 단위 데이터 판독 단계; 및 기 변환된 회전 변환 데이터가 기록된 검색 테이블(Look Up Table; LUT)에서 상기 단위 데이터에 대한 해당 회전 변환 데이터를 판독하여 현 회전 변환 데이터로 설정한 후, 상기 현 회전 변환 데이터를 이전 회전 변환 데이터와 논리 연산하여 갱신 회전 변환 데이터를 생성한 후, 상기 단위 데이터 판독 단계로 되돌아가는 과정을 상기 수직 화소수 만큼 되풀이하여 최종 회전 변환 데이터를 생성하는 회전 변환 수행 단계로 구성되는 것이 특징이다.
여기서, 상기 회전 변환 수행 단계는 상기 검색 테이블에서 상기 단위 데이터에 대한 해당 회전 변환 데이터를 판독하여 상기 현 회전 변환 데이터로 설정한 후, 판독 횟수를 1회 증가시키는 회전 변환 데이터 판독 단계; 상기 현 회전 변환 데이터와 상기 이전 회전 변환 데이터를 비트 논리곱 연산한 후, 쉬프트 연산 (shift operation)을 수행하여 상기 이전 회전 변환 데이터를 갱신함을 통해 상기 갱신 회전 변환 데이터를 생성하는 회전 변환 데이터 연산 단계; 상기 판독 횟수가 상기 수직 화소수와 동수인지 여부를 판독하여 동수이면, 상기 판독 횟수를 리셋 (reset)한 후, 상기 갱신 회전 변환 데이터를 상기 최종 회전 변환 데이터로 출력하는 판독 횟수 판단 단계; 및 상기 판독 횟수 판단 단계의 판단 결과, 동수가 아니면, 상기 갱신 회전 변환 데이터를 상기 이전 회전 변환 데이터로 설정한 후, 상기 단위 데이터 판독 단계로 되돌아 가는 이전 회전 변환 데이터 갱신 단계로 구성되는 것이 바람직하다.
이하, 본 발명에 따른 화상의 회전 변환 방법을 첨부한 도 5를 참조하여 설명하면 다음과 같다.
도 5는 본 발명에 따른 화상의 회전 변환 방법의 순서도를 나타낸 것이다.
본 발명에 따른 화상의 회전 변환 방법은 도 5에 도시한 바와 같이, 입력된 이치화 화상 데이터를 수평 화소수와 수직 화소수의 곱에 의해 결정되는 블록 단위로 분할하여 회전 변환을 수행하는 화상의 회전 변환 방법에 있어서, 해당 블록에서 상기 수평 화소수와 동수의 비트로 구성된 단위 데이터를 래스터 스캐닝(raster scanning) 순으로 판독하는 단위 데이터 판독 단계(S10); 기 변환된 회전 변환 데이터가 기록된 검색 테이블(Look Up Table; LUT)에서 상기 단위 데이터에 대한 해당 회전 변환 데이터를 판독하여 현 회전 변환 데이터로 설정한 후, 판독 횟수를 1회 증가시키는 회전 변환 데이터 판독 단계(S20); 상기 현 회전 변환 데이터를 이전 회전 변환 데이터와 비트 논리곱 연산(bit OR operation)한 후, 결과에 대하여 쉬프트 연산(shift operation)을 수행하여 갱신 회전 변환 데이터를 생성하는 회전 변환 데이터 연산 단계(S30); 상기 판독 횟수가 상기 수직 화소수와 동수인지 여부를 판독하여 동수이면, 상기 판독 횟수를 리셋(reset)한 후, 상기 갱신 회전 변환 데이터를 최종 회전 변환 데이터로 출력하는 판독 횟수 판단 단계(S40); 및 상기 판독 횟수 판단 단계(S40)의 판단 결과, 동수가 아니면, 상기 갱신 회전 변환 데이터를 상기 이전 회전 변환 데이터로 설정한 후, 상기 단위 데이터 판독 단계로 되돌아 가는 이전 회전 변환 데이터 갱신 단계(S50)로 구성된다.
이때, 상기 수평 화소수는 8화소(즉, 상기 단위 데이터는 8 비트)이며, 상기 수직 화소수도 8화소(즉, 총 판독 횟수는 8회)임에 따라 상기 회전 변환 데이터는 64 비트인 것이 바람직하며, 상기 쉬프트 연산은 각 단위 데이터에 대한 회전 변환 데이터가 판독될 때 마다 논리곱 연산을 수행한 후, 연산 결과를 회전 변환 데이터를 하위 비트 쪽으로 쉬프트시키기 위한 것으로, 1 비트 우 쉬프트 연산(1 bit right shift operation)인 것이 바람직하다.
이에 따라, 상기 회전 변환 데이터 판독 단계(S20)는 상기 검색 테이블(LookUp Table; LUT)에서 상기 해당 회전 변환 데이터를 상위 32비트와 하위 32비트로 각각 분할하여 각각 상위 배열과 하위 배열을 통해 판독하며, 상기 회전 변환 데이터 연산 단계(S30)에서도 62비트 단위로 데이터를 처리하게 된다.
이와 같이 구성된 본 발명에 따른 화상의 회전 변환 방법의 수순을 도 5를 참조하여 상세하게 설명하기로 한다.
본 발명은 각 단위 데이터에 대응하는 회전 변환 데이터가 검색 테이블에 미리 기록되어 있음을 전제로 함에 따라 상기 검색 테이블에 기록된 기 변환된 회전 변환 데이터의 저장 형식을 예를 들어 간단하게 설명하기로 한다.
가령, 십진수로는 1이며, 8비트의 2 진수로는 0000 00012인 단위 데이터를 수학식 1과 같은 회전 변환 매트릭스를 확장하여 생성한 90°우 회전 변환 매트릭스와 승산하거나 수학식 2와 같은 방법에 기초하여 회전 변환을 수행하게 되면, 표 1과 같은 결과를 얻을 수 있으며, 십진수로는 211이며, 또 하나의 예로, 8비트의 2 진수로는 1101 00112인 단위 데이터에 대해서는 표 2와 같은 회전 변환 결과를 얻을 수 있는 데, 표 1에서 16 진수로 표현한 회전 변환 데이터를 각각 32 비트 단위로 상위 배열과 하위 배열에 기록하면, 상위 배열에는 16 진수의 0000 000016, 하위 배열에는 16진수의 0000 008016이 기록된다.
단위 데이터가 8비트인 경우, 이와 같은 방식으로 0000 00002에서부터 1111 11112까지의 256가지에 대한 변환 데이터를 작성하여 상기 검색 테이블에 저장하여 둔다.
[표 1]
Figure pat00004
[표 2]
Figure pat00005
90°우 회전 변환의 검색 테이블에 대한 일실시예를 도 6에 나타냈는데, 도6a에는 상위 배열(hightab[]), 도 6b는 하위 배열(lowtab[])을 나타낸 것으로, 여기서, 0x는 16 진수를 의미하는 것이다.
본 발명은 원하는 회전 각도에 대하여 이와 같은 검색 테이블을 각각 작성하여 저장 매체에 기록하여 두어야 하는 것이 반드시 선행되어야 한다.
상기와 같은 전제 조건 하에서, 상기 단위 데이터 판독 단계(S10)에서 해당 블록에서 상기 수평 화소수와 동수의 비트로 구성된 단위 데이터를 래스터 스캐닝 (raster scanning) 순으로 판독하면, 상기 회전 변환 데이터 판독 단계(S20)에서는 기변환된 회전 변환 데이터가 기록된 검색 테이블(Look Up Table; LUT)에서 상기 단위 데이터에 대한 해당 회전 변환 데이터를 판독하여 현 회전 변환 데이터로 설정한 후, 데이터 판독 횟수를 식별하기 위해 판독 횟수를 1회 증가시킨다.
이때, 상기 수평 화소수 및 수직 화소수는 모두 8화소로 설정하는 것이 바람직함에 따라 상기 단위 데이터는 8 비트가 되며, 상기 회전 변환 데이터는 64 비트가 된다.
한편, 상기 회전 변환 데이터 판독 단계(S20)는 데이터 처리의 편의상, 상기 검색 테이블(Look Up Table; LUT)에서 상기 해당 회전 변환 데이터를 상위 32비트와 하위 32비트로 각각 분할하여 각각 상위 배열과 하위 배열을 통해 판독하며, 상기 회전 변환 데이터 연산 단계(S30)에서도 62비트 단위로 데이터를 처리하게 됨을 전술한 바 있다.
이후, 상기 회전 변환 데이터 연산 단계(S30)에서는 상기 현 회전 변환 데이터를 이전 회전 변환 데이터와 비트 논리곱 연산(bit OR operation)한 후, 결과에대하여 1 비트 우 쉬프트 연산(1 bit right shift operation)을 수행하여 갱신 회전 변환 데이터를 생성하는 데, 이것은 각 단위데이터에 대한 회전변환 데이터가 판독될 때마다, 상기 판독된 해당 회전변환 데이터를 바로 직전에 판독된 회전변환 데이터와 비트 논리곱 연산을 수행한 후, 상기 비트 논리곱 연산이 이루어진 회전변환데이터를 다시 하위 비트 쪽으로 1비트 쉬프트 시킨다는 의미이다.
이어서, 상기 판독 횟수 판단 단계(S40)에서는 상기 판독 횟수가 상기 수직 화소수와 동수인지 여부를 판독하여 동수이면, 상기 판독 횟수를 리셋(reset)한 후, 상기 갱신 회전 변환 데이터를 최종 회전 변환 데이터로 출력하고, 상기 판독 횟수 판단 단계(S40)의 판단 결과, 동수가 아니면, 상기 이전 회전 변환 데이터 갱신 단계(S50)에서는 상기 갱신 회전 변환 데이터를 상기 이전 회전 변환 데이터로 설정한 후, 상기 단위 데이터 판독 단계로 되돌아감으로써 해당 블록에 포함된 모든 단위 데이터에 대한 회전 변환을 완료할 수 있도록 한다.
본 발명에 따르면, 8비트의 단위 데이터를 이용하는 90° 우 회전 변환인 경우, 8회의 단위 데이터에 대한 판독과, 16회의 검색 테이블에 대한 판독 및 16회의 쉬프트 연산만을 수행함에 따라 종래 기술에 따른 화상의 회전 변환 방법에 비해 효과적으로 연산량을 경감할 수 있다.
이상에서 상세하게 설명한 바와 같이, 입력된 이치화 화상 데이터를 수평 화소수와 수직 화소수의 곱에 의해 결정되는 블록 단위로 분할하여 회전 변환을 수행하는 화상의 회전 변환 방법에 있어서: 해당 블록에서 상기 수평 화소수와 동수의비트로 구성된 단위 데이터를 래스터 스캐닝(raster scanning) 순으로 판독하는 단위 데이터 판독 단계; 기 변환된 회전 변환 데이터가 기록된 검색 테이블(Look Up Table; LUT)에서 상기 단위 데이터에 대한 해당 회전 변환 데이터를 판독하여 현 회전 변환 데이터로 설정한 후, 판독 횟수를 1회 증가시키는 회전 변환 데이터 판독 단계; 상기 현 회전 변환 데이터와 이전 회전 변환 데이터를 비트 논리곱 연산한 후, 쉬프트 연산(shift operation)을 수행하여 상기 이전 회전 변환 데이터를 갱신함을 통해 갱신 회전 변환 데이터를 생성하는 회전 변환 데이터 연산 단계; 상기 판독 횟수가 상기 수직 화소수와 동수인지 여부를 판독하여 동수이면, 상기 판독 횟수를 리셋(reset)한 후, 상기 갱신 회전 변환 데이터를 최종 회전 변환 데이터로 출력하는 판독 횟수 판단 단계; 및 상기 판독 횟수 판단 단계의 판단 결과, 동수가 아니면, 상기 갱신 회전 변환 데이터를 이전 회전 변환 데이터로 설정한 후, 상기 단위 데이터 판독 단계로 되돌아가는 이전 회전 변환 데이터 갱신 단계로 구성되는 본 발명에 의한 화상의 회전 변환 방법에 따르면, 연산량을 효과적으로 경감시킬 수 있어 관련 제품을 이용하는 사용자의 제품 만족도를 향상시킬 수 있다.

Claims (4)

  1. 입력된 이치화 화상 데이터를 수평 화소수와 수직 화소수의 곱에 의해 결정되는 블록 단위로 분할하여 회전 변환을 수행하는 화상의 회전 변환 방법에 있어서,
    해당 블록에서 상기 수평 화소수와 동수의 비트로 구성된 단위 데이터를 래스터 스캐닝(raster scanning) 순으로 판독하는 단위 데이터 판독 단계; 및
    기 변환된 회전 변환 데이터가 기록된 검색 테이블(Look Up Table; LUT)에서 상기 단위 데이터에 대한 해당 회전 변환 데이터를 판독하여 현 회전 변환 데이터로 설정한 후, 상기 현 회전 변환 데이터를 이전 회전 변환 데이터와 논리 연산하여 갱신 회전 변환 데이터를 생성한 후, 상기 단위 데이터 판독 단계로 되돌아가는 과정을 상기 수직 화소수 만큼 되풀이하여 최종 회전 변환 데이터를 생성하는 회전 변환 수행 단계로 구성되는 것을 특징으로 하는 화상의 회전 변환 방법.
  2. 제 1 항에 있어서, 상기 회전 변환 수행 단계는,
    상기 검색 테이블에서 상기 단위 데이터에 대한 해당 회전 변환 데이터를 판독하여 상기 현 회전 변환 데이터로 설정한 후, 판독 횟수를 1회 증가시키는 회전 변환 데이터 판독 단계;
    상기 현 회전 변환 데이터와 상기 이전 회전 변환 데이터를 비트 논리곱 연산한 후, 쉬프트 연산(shift operation)을 수행하여 상기 이전 회전 변환 데이터를갱신함을 통해 상기 갱신 회전 변환 데이터를 생성하는 회전 변환 데이터 연산 단계;
    상기 판독 횟수가 상기 수직 화소수와 동수인지 여부를 판독하여 동수이면, 상기 판독 횟수를 리셋(reset)한 후, 상기 갱신 회전 변환 데이터를 상기 최종 회전 변환 데이터로 출력하는 판독 횟수 판단 단계; 및
    상기 판독 횟수 판단 단계의 판단 결과, 동수가 아니면, 상기 갱신 회전 변환 데이터를 상기 이전 회전 변환 데이터로 설정한 후, 상기 단위 데이터 판독 단계로 되돌아가는 이전 회전 변환 데이터 갱신 단계로 구성되는 것을 특징으로 하는 화상의 회전 변환 방법.
  3. 제 1 항에 있어서, 상기 수평 화소수 및 상기 수직 화소수는 모두 8 화소인 것을 특징으로 하는 화상의 회전 변환 방법.
  4. 제 2 항에 있어서, 상기 쉬프트 연산은 1 비트 우 쉬프트 연산(1 bit right shift operation)인 것을 특징으로 하는 화상의 회전 변환 방법.
KR1019970017350A 1997-05-07 1997-05-07 화상의회전변환방법 KR100444899B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970017350A KR100444899B1 (ko) 1997-05-07 1997-05-07 화상의회전변환방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970017350A KR100444899B1 (ko) 1997-05-07 1997-05-07 화상의회전변환방법

Publications (2)

Publication Number Publication Date
KR19980082434A KR19980082434A (ko) 1998-12-05
KR100444899B1 true KR100444899B1 (ko) 2004-12-08

Family

ID=37362276

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970017350A KR100444899B1 (ko) 1997-05-07 1997-05-07 화상의회전변환방법

Country Status (1)

Country Link
KR (1) KR100444899B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59180777A (ja) * 1983-03-31 1984-10-13 Fujitsu Ltd 図形デ−タの回転処理方式
JPH04276870A (ja) * 1990-12-31 1992-10-01 Samsung Electron Co Ltd 画像回転処理方法及びその装置
KR950029990A (ko) * 1994-04-15 1995-11-24 윌리암 티. 엘리스 2레벨 이미지 및 이미지 블러그의 90˚회전 방법 및 32 비트 운영 체제

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59180777A (ja) * 1983-03-31 1984-10-13 Fujitsu Ltd 図形デ−タの回転処理方式
JPH04276870A (ja) * 1990-12-31 1992-10-01 Samsung Electron Co Ltd 画像回転処理方法及びその装置
KR950029990A (ko) * 1994-04-15 1995-11-24 윌리암 티. 엘리스 2레벨 이미지 및 이미지 블러그의 90˚회전 방법 및 32 비트 운영 체제

Also Published As

Publication number Publication date
KR19980082434A (ko) 1998-12-05

Similar Documents

Publication Publication Date Title
US5542031A (en) Halftone computer imager
US6603483B1 (en) Color management and proofing architecture
JP2922680B2 (ja) 高解像コンピユータ・グラフイツクスの圧縮画像蓄積方法
US7379209B1 (en) Color separation of pattern color spaces and form XObjects
JPH11147335A (ja) 描画処理装置
US7034955B2 (en) Using a processor enhanced memory module to accelerate hardcopy image processing within existing printer controller
US20060274341A1 (en) Image processing apparatus and image processing method
US6429950B1 (en) Method and apparatus for applying object characterization pixel tags to image data in a digital imaging device
US20060215200A1 (en) Printing control system and method
US6860203B2 (en) Method and apparatus for printing computer generated images
US20030228184A1 (en) Image processor, image processing method, and computer product
US5915077A (en) Image compression using adjacent pixels and predetermined colors
JP3817473B2 (ja) 画像出力装置及び画像処理方法
KR100477777B1 (ko) 래스터 오브젝트를 생성하기 위한 방법, 시스템, 정보저장 매체, 및 컴퓨터 판독가능 매체
JPH1117971A (ja) 画像処理装置およびその方法、データ処理方法、並びに、記録媒体
KR100444899B1 (ko) 화상의회전변환방법
US20110205591A1 (en) Image processing device and image processing method
JP5480835B2 (ja) 印刷装置における印刷方法、印刷エンジンを有する印刷装置
JP4853504B2 (ja) 画像処理プログラム及び画像処理システム
US6961134B1 (en) Method, system, and logic using multiplexers to select data for pixels from multiple objects
US6281982B1 (en) Information processing apparatus, information processing method, storage medium, and printing system
US6894796B1 (en) Method, system, and logic for selecting line work and control data for a pixel from multiple objects of line work data provided for the pixel
JP3826091B2 (ja) 情報処理装置、及び情報処理方法、プリント装置、及びプリント方法
JP2001270170A (ja) プリンタ制御装置
JP6140973B2 (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: 20070727

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee