KR100494470B1 - 광 마우스의 이미지 데이터 처리 장치 및 그 방법 - Google Patents
광 마우스의 이미지 데이터 처리 장치 및 그 방법 Download PDFInfo
- Publication number
- KR100494470B1 KR100494470B1 KR10-2002-0070144A KR20020070144A KR100494470B1 KR 100494470 B1 KR100494470 B1 KR 100494470B1 KR 20020070144 A KR20020070144 A KR 20020070144A KR 100494470 B1 KR100494470 B1 KR 100494470B1
- Authority
- KR
- South Korea
- Prior art keywords
- value
- determination system
- values
- state
- image data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
- G06F3/0317—Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Position Input By Displaying (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 광 마우스의 이미지 데이터 처리장치 및 그 방법에 관한 것으로, 이미지 픽셀 어레이로부터 연속적으로 입력되는 이미지 데이터인 모션 벡터의 X축 및 Y축에 대하여 방향 및 크기를 각각 필터로 필터링하는 단계; 상기 필터에서 변환되어 출력되는 일정 개수의 모션 벡터를 누적하여 마우스 속도에 따라 노이즈 성분을 감쇠시키고 방향성을 증폭시키기 위한 변환 값을 맵퍼로 맵핑하여 출력하는 단계; 및 상기 맵퍼에서 맵핑된 값을 복수의 파이프를 통하여 저장하였다가 저장된 복수개의 값을 가산한 후에 변환 배율로 나누어 얻어진 값을 PC인터페이스(USB 또는 PS/2)로 전달하는 단계를 포함하여 마우스의 모션 벡터(이동 좌표)를 X축 및 Y축에 대하여 각각 필터링, 맵핑 및 파이핑 단계를 거쳐 얻은 값을 인터페이스를 거쳐 PC로 출력함으로써 마우스의 노이즈 성분을 최소화하여 PC의 화면상에 커서의 움직임의 부자연스러움을 극복한 것이다.
Description
본 발명은 광 마우스에 관한 것으로, 보다 상세하게는 향상된 궤적곡선을 갖도록 하는 광 마우스의 이미지 데이터 처리 장치 및 그 방법에 관한 것이다.
도 1은 종래 광 마우스의 이미지 처리회로를 나타낸 블록도이다.
현재 광 마우스의 이미지 처리회로(5)는 이미지 픽셀 어레이(1) 및 픽셀 어레이를 제어하는 아날로그 회로와, 아날로그/디지털 컨버터(2), 모션 벡터(마우스의 움직임 또는 이동 좌표) 연산부(3) 및 PC(6)와의 인터페이스를 위한 PC인터페이스(4)로 구성되어 있다.
이미지 픽셀 어레이(1)는 마우스의 움직임에 따라 픽셀들이 빛에 반응을 하여 반응에 대한 값을 추출하는 것으로, 여기에서는 18*18(324개)의 픽셀로 구성되어 있고, 각 픽셀의 크기는 53μm* 53μm인 이미지 픽셀 어레이를 예로써 사용한다.
이때 픽셀 어레이에서 출력되는 값은 아날로그 값이므로 이것을 아날로그/디지털 컨버터(Analog Digital Converter)(2)를 이용하여 디지털 값으로 바꾸는 과정이 필요하고, 이때 18*18에 해당하는 픽셀 어레이의 데이터는 한번에 입력되는 것이 아니라 1개씩 아날로그/디지털 컨버팅되어 순차적으로 입력이 되도록 되어 있다. 각 픽셀에 대한 디지털변환 값은 아날로그/디지털 컨버터의 분해능(Resolution)에 따라 4bit 혹은 8bit로 구현이 가능하다.
모션 벡터 연산부(3)에서는 모션 벡터(Motion Vector)를 산출하는데 사용하는 것으로, 산출하는 과정은 18*18의 이미지 값 중에서 11*11의 이미지 값을 기준프레임으로 사용하는데, 이전 버퍼(18*18)를 저장하고 있다가 다음 프레임이 입력되면 그 중에서 11*11의 이미지 데이터를 이용하여 이전 버퍼(18*18) 상에서 1칸씩 이동하면서 비교하여 계산하다. 이때 18*18의 이전 버퍼 값 중에서 1bit로 줄이는 과정을 통하여 17*17의 값이 남게되고, 기준 프레임(11*11)과 비교하였을 때에 차이 값의 변위는 기준 시간간격 동안 -3에서 +3의 범위가 되고, 모션벡터는 -3, -2, -1, 0, 1, 2, 3의 값 중에서 하나가 된다.
이와 같이 결정된 모션 벡터값을 일정시간마다 읽어들여 연속적으로 값을 나열하여 마우스의 궤적을 결정하게 되는데, 연속적인 값의 차이가 급격하게 변하는 경우만 오류로 인식하고 조절하도록 되기 때문에 방향이 변하는 데이터가 일시적으로 입력되는 경우에는 효율적으로 조절할 수 없어서 모니터 상에서 마우스의 궤적이 부자연스럽게 되는 경우가 많았다. 예를 들면, 030으로 값이 들어온 경우 0은 움직임이 없는 상태를 의미하고 3은 갑작스러운 움직임을 의미하는데 짧은 시간 간격동안 갑작스런 움직임은 발생할 수 없으므로 3은 오류로 인식을 하고 0으로 강제조절을 하여 움직임을 좋게 한다. 하지만, 마우스가 실제적으로는 양의 방향으로 움직이고 있는데 왼쪽으로 움직인 것으로 모션벡터가 잘못 산출된 경우, 예를 들어 0(-1)0 인 경우는 갑작스러운 값의 변화가 아니므로 오류로 인식하지 못하기 때문에 마우스 궤적이 부자연스럽게 되는 경우가 많다. 이러한 데이터의 오류는 광 마우스의 데이터를 읽어들이는 부분에서 아날로그적 처리로 인한 불명확성으로 인해 발생이 된다. 이는 첨부된 도 2a에서 마우스로 사각형을 그렸을 때에 나타나는 마우스 포인터의 궤적과, 도 2b는 마우스로 원을 그렸을 때에 나타나는 마우스 포인터의 궤적을 참조하면 명확하게 알 수 있다.
본 발명은 상기와 같은 종래의 단점들을 해소하기 위한 것으로, 광 마우스의 이미지 픽셀 어레이로부터 입력되는 이미지 신호를 모션 벡터 처리 알고리즘을 통해 PC로 출력하여 보다 향상된 특성을 갖는 마우스의 궤적 곡선을 제공하기 위한 것이 목적이다.
본 발명은 상술한 목적을 달성하기 위하여, 일련의 모션 벡터들의 방향을 누적하는 방향 계수기; 상기 방향 계수기에 누적된 방향 값을 판단하여 방향을 결정하는 방향 결정계; 상기 방향 계수기의 방향 값과 방향 결정계에서 결정된 방향에 따라 값을 결정하는 방향 필터; 상기 방향 필터에서 변환되어 출력되는 일정 개수의 모션 벡터를 누적하여 마우스 속도에 따라 노이즈 성분을 감쇠시키고 방향성을 증폭시키기 위한 변환 값을 맵핑하여 출력하는 맵퍼; 및 상기 맵퍼에서 맵핑된 값을 저장하였다가 저장된 복수개의 값을 가산한 후에 변환 배율로 나누어 얻어진 값을 PC인터페이스(USB 또는 PS/2)로 전달하는 복수의 파이프를 포함하는 것을 특징으로 한다.또한, 본 발명은, 모션 벡터(마우스의 이동 좌표, 광 마우스의 경우는 마우스의 바닥면에서 반사되는 빛의 양에 따라 반응을 하여 바닥면의 명암을 구분하는 이미지 픽셀 어레이의 전압 값들의 변화로부터 마우스의 이동 좌표를 산출해 냄)를 X축 및 Y축에 대하여 각각 필터링, 맵핑 및 파이핑 단계를 거쳐 얻은 값을 인터페이스를 거쳐 PC로 출력함으로써 마우스의 노이즈 성분을 최소화한 광 마우스의 이미지 데이터 처리방법을 제공한다.
즉 본 발명은 이미지 픽셀 어레이로부터 연속적으로 입력되는 이미지 데이터인 모션 벡터의 X축 및 Y축에 대하여 방향 및 크기를 각각 필터로 필터링하는 단계; 상기 필터에서 변환되어 출력되는 일정 개수의 모션 벡터를 누적하여 마우스 속도에 따라 노이즈 성분을 감쇠시키고 방향성을 증폭시키기 위한 변환 값을 맵퍼로 맵핑하여 출력하는 단계; 및 상기 맵퍼에서 맵핑된 값을 복수의 파이프를 통하여 저장하였다가 저장된 복수개의 값을 가산한 후에 변환 배율로 나누어 얻어진 값을 PC인터페이스(USB 또는 PS/2)로 전달하는 단계를 거쳐 마우스의 노이즈 성분을 최소화한 광 마우스의 이미지 데이터 처리방법을 제공한다.
이하 본 발명을 첨부된 도면을 참고하면서 x값을 예를 들어 좀 더 구체적으로 설명하면 다음과 같다.
도 3은 본 발명에 따른 이미지 처리회로 블록도이고, 도 4는 모션 벡터의 처리과정을 나타낸 블록도로, 모션 벡터 처리부(16)를 세 단계로 구분한 것이다.
이미지 픽셀 어레이(10)로부터의 이미지 데이터는 일정시간 간격(여기에서는 588μsec)으로 출력되고, 이미지 데이터는 아날로그 신호이므로 아날로그/디지털 컨버터(12)에서 디지털 신호로 변환된다. 디지털 신호로 변환된 이미지 데이터는 모션 벡터 산출부(14)로 입력되어 모션 벡터로 산출되고, 이렇게 산출된 모션 벡터는 모션 벡터 처리부(16)의 필터(40), 맵퍼(50) 및 파이프(60)를 거쳐 처리되어 PC인터페이스(18)를 통해 PC(30)에 전달되어 특성이 좋은 마우스의 포인트 궤적을 얻을 수 있도록 한 것이다. 광 마우스의 이미지 처리회로(20)는 광 마우스용 IC 내에 포함되어 있는 것이 바람직하다.
다음으로, 필터와 맵퍼 및 파이프를 거치는 각 단계를 통한 이미지 데이터 V(x)의 처리방법에 대하여 상세하게 설명한다.
먼저, 필터(40)의 구성은 도 5와 같다. 방향 계수기(42)는 일련의 모션 벡터 V(x)들의 방향을 누적한다. (+)값이 한 번 들어오면 방향 계수기는 (+)방향으로 1이 되고, 두 번 들어오면 2가 되며, 세 번 들어오면 3이 되며 일정한 숫자가 되면 계수값을 유지한다(여기에서는 일예로 8이라고 가정한다). 물론 이러한 규칙은 (-)값에 대해서도 동일하다. 그리고 방향 계수기(42)의 값이 8(일예로 8을 가정한 것이며 경우에 따라 다른 숫자고 선택가능하다)이 되면 방향 결정계(46)는 (+)값을 가진다. 이처럼 방향 계수기(42)가 일정한 값(여기서의 가정에서는 8)을 가질 때 방향 결정계(46)를 (+)로 하는 이유는 입력값의 +값이 일정 개수 이상 연속해서 나오면(여기에서는 8) 사용자의 손이 (+) 방향으로 움직인다고 확신을 가질 수 있기 때문이다. 일예로 연속적인 입력값을 010101010112233221100101010000000000000-1-0-1-1라고 할 때 이를 잘 관찰해보면 +값의 개수가 많아지고 그에 따라 크기도 점점증가하게 되는데 이는 사용자의 손의 방향이 확실하게 (+) 방향이 되어 있음을 뜻하며 0이 연속적으로 소정개수가 나온 후에야(이때 사용자의 손이 방향 전환을 하기 위해서 저속이 되기 때문에 0이 다수개가 나옴) -의 방향값이 입력됨을 알 수 있다. 따라서, 방향 계수기(42)가 (+) 방향의 입력값을 계수하여 8이 될 때 방향 결정계(46)가 (+)가 된 후에 0이 소정개수(여기에서는 10개정도)가 입력되지 않고 바로 -값이 입력되면 오류 신호로 판단하여 무시하며 방향 필터(44)가 0을 출력하도록 한다. 즉, 방향 결정계(46)는 방향 계수기(42)로부터 (+)의 입력값이 8개가 넘었다는 신호를 받아 확실하게 사용자의 손이 (+) 방향으로 움직인다고 판단한 후에(즉 (+)값을 가진 후에) (-)값이 입력되면 오류로 판단하여 무시하면 되며 이러한 작업은 0이 소정개수(여기에서는 10개)가 입력되어 방향결정계(46)이 0으로 세팅될 때까지 계속된다. 이러한 규칙은 (-)에 대해서도 유효하다. 그리고, 방향계수기(42)는 (+)값의 입력을 8개 개수하고 있다가 0의 값이 소정개수(여기에서는 10개가 입력되면)가 입력되면 0값으로 세팅되며, 이에 따라 방향 결정계(46)도 0으로 세팅된다. 즉, 여기에서 방향 결정계(46)의 0의 값의 의미는 방향을 알 수 없다는 것이며 방향 필터(44)는 입력값에 대하여 아무런 보정작업을 수행하지 않고 통과시킨다. 위에서 살펴본바와 같이 방향계수기(42)가 소정개수 이상의 (+)의 계수값 또는 (-)의 계수값에 대하여 방향 결정계(46)가 반응하여 방향을 결정하는 이유는 연속적인 (+)값 또는 (-)값이 소정개수 이상 들어오면 방향이 확실하다고 판단하기 때문이다. 즉, 위에서 입력값을 살펴보았듯이 0이 소정개수 들어오지 않고 반대 방향의 값이 들어오는 것이 사람의 손의 움직임을 살펴보았을 때 물리적으로 어렵다는 가정에 근거한 것이다(아무리 사람의 손이 빨리 움직여도 그러한 값이 들어오기 힘들다).한편, 방향계수기(42)가 8개의 (+)값을 계수한 후에 방향결정계(46)가 (+)이 되고 이에 따라 -값이 입력되면 무시하여 0을 출력하지만, 이때 방향 계수기(42)는 -의 방향값을 계수하여 -1을 카운팅한다. 그리고, 계속하여(중간에 0이 개입되어도 상관없다) -값이 입력되어(물론 이때 (+)값이 입력되면 다시 +1로 카운팅한다) 소정개수 일예로 4개 이상 입력되면 이를 무시하기가 힘들며 아마도 방향이 (-)로 변환되었다고 생각하는 것이 타당할 것이다. 따라서, 이 경우에는 방향결정계(46)는 (-)로 방향을 변경하여 이후에 입력되는 +값을 무시하여 0으로 처리한다. 물론 이때에도 다시 +값이 4개가 계속하여 입력되면 방향결정계(46)는 방향을 (+)로 수정한다. 여기에서 설명한 경우는 (+) 방향의 계수이후에 0이 소정개수가 입력되지 않고 (-)가 소정개수 입력되는 경우에 적용될 수 있는 보완적인 규칙이다.일예로 입력값이 01010100102101-10-10-10-101010-1인 경우에 -1이 4개 연속해서 들어왔기 때문에 방향 계수기(42)는 -4로 카운팅을 하고 그에 따라 방향 결정계(46)는 (-)로 방향을 결정하며 이후에 입력되는 (+)1값을 무시하여 0으로 출력한다. 물론 이때 방향 계수기(42)는 (+)값을 계수한다.한편, 또 다른 규칙으로 위에서처럼 양의 방향에서 음의 방향으로 음의 방향에서 양의 방향으로 급격한 방향 전환이 요구될 때 0의 값이 불연속적으로 10개가 들어오면 방향 결정계(46)를 0으로 세팅하여 방향을 알 수 없다고 선언하는 것이다. 즉 일예로 입력값이 010101010101010101010-10000-10000000-10-10101일 때 이를 잘 관찰해보면 -값이 입력된 후에 -값이 4개가 차기전에 0의 값이 불연속적으로 0개 이상이 입력됨을 알 수 있으며 이때 방향 결정계(46)은 0으로 세팅되어 방향을 알 수 없다고 선언하는 것이다. 결론적으로 방향 결정계(46)는 (+), (-) 및 (0)의 세 가지 상태로 표현된다. 방향 결정계(46)가 (+)방향을 갖고(반대로 (-)방향을 갖고) V(x)값이 음수(-)이면(V(x))가 양수이면), V(x)값은 방향 필터(44)에서 0값으로 바뀌는 것이다.
평탄화 필터(48)는 3단의 버퍼로 구성되고, 방향 필터(44)를 거쳐서 나온 연속된 세 개의 V(x)값을 저장한 다음에 방향 결정계(46)의 상태를 참조하여 이전의 V(x)값과 다음에 오는 V(x)값을 비교하여 해당하는 값으로 바꾸어 준다. 이러한 평탄화 필터(48)가 필요한 이유는 사용자의 움직임을 관찰한 바에 따르면 연속된 입력값의 크기 차이가 2보다 클 수가 없다는 것이다. 왜냐하면 픽셀의 크기가 58um이고 픽셀 어레이에서 이미지 데이터를 얻는 시간이 일예로 588usec라고 할 때 사람의 손이 588usec 동안에 52um*3=156um만큼 움직일 수 없기 때문이다. 즉 연속적인 값의 크기 차이가 2보다 크면 오류 신호로 판단되며 이에 따라 방향 결정계(46)의 방향을 참조하여 수정을 해줄 필요가 있다. 예를 들어, 방향 결정계(46)가 (+)방향일 때, V(x)값이 연속하여 0, 3, 0이 입력되면 0, 1, 0으로 바뀌지만, 방향 결정계(46)가 0이면 0, 0, 0으로 바뀐다.
만약, 방향 결정계(46)가 (-)방향이라면 연속된 V(x)값 0, 3, 0은 방향 필터(44)에서 이미 0, 0, 0으로 바뀌어져 평탄화 필터(48)로 전달된다. 다음의 표는 평탄화 필터(48)에 포함된 3단 버퍼의 계산 과정을 예시한 것이다.
연속된 3개 의V(x) 입력 방향결정계 | 030, 031, 032, 033, 020, 021, 022, 023, 130, 131 | 132,133 | 0(-3)0, 0(-3)(-1)0(-3)(-2), 0(-3)(-3),0(-2)0 , 0(-2)(-1),0(-2)(-2), 0(-2)(-3),(-1)(-3)0, (-1)(-3)(-1) | (-1)(-3)(-2) (-1)(-3)(-3) | |
방향이 없는 상태 | 0 | 0 | 0 | 0 | |
(+) 방향상태 | 1 | 2 | 방향 필터에서 이미 000으로 변환됨 | ||
(-) 방향상태 | 방향 필터에서 이미 000으로 변환됨 | (-1) | (-2) | ||
비고 | 방향결정계가 0이고 3개의 연속적인 V(x)값이 +, -를 포함하고 있는 경우에는 3단 버퍼의 총합이 0이 되게 한다. |
상기 표 1은 필터로 입력되는 V(x)값과 그 값이 필터(40)를 거쳐 변형되어 나오는 V(x)값을 정리한 한 예이다. 표 1에 정리된 3번의 연속된 V(x)값 입력은 각각의 변화량이 1보다 크게 변화된 경우로서 3단 버퍼의 가운데 V(x)값이 그 전에 저장된 V(x)값(버퍼의 마지막 단)과의 차이가 2 이상인 경우에 그 전에 저장된 V(x)값과의 차이가 1 이하로만 변하도록 가운데 V(x)값을 조정하였다. 이때, 조정되는 값은 방향 결정계(46)의 상태와 현재 입력된 V(x)값(버퍼의 첫 번째 단)에 따라 달라진다.
예를 들어, 표 1에서, 연속으로 입력된 3개의 V(x)값이 031인 경우에 현재 V(x)값은 1이고, 이전에 입력된 V(x)값은 3이며, 그 이전에 입력된 V(x)값은 0이다.
표 1을 정리하면, 상기 방향 결정계(46)의 방향이 없는 상태일 때에 연속된 3개의 V(x)값(예를 들어, 양(+)의 값인 030, 031, 032, 033, 020, 021, 022, 023, 130, 131, 132, 133과, 음(-)의 값인 0(-3)0, 0(-3)(-1), 0(-3)(-2), 0(-3)(-3), 0(-2)0, 0(-2)(-1), 0(-2)(-2), 0(-2)(-3), (-1)(-3)0, (-1)(-3)(-1), (-1)(-3)(-2), (-1)(-3)(-3)가 입력되더라도 마우스가 정지된 상태로 인식하여 000을 평탄화 필터(48)에 전달하고, 방향 결정계(46)가 (+)방향 상태일 때에 연속된 3개의 V(x)값이 입력되고 V(x)값이 양(+)의 값을 갖는 것일 때에는 1 또는 2를 평탄화 필터(48)로 전달하며, 방향 결정계(46)가 (+)방향 상태일 때에 연속된 3개의 V(x)값이 입력되고 V(x)값이 음(-)의 값을 갖는 것일 때에는 000을 평탄화 필터(48)로 전달하고, 방향 결정계(46)가 (-)방향 상태일 때에 연속된 3개의 V(x)값이 입력되고 V(x)값이 양(+)의 값을 갖는 것일 때에는 000을 평탄화 필터(48)로 전달하며, 방향 결정계(46)가 (-)방향 상태일 때에 연속된 3개의 V(x)값이 입력되고 V(x)값이 음(-)의 값을 갖는 것일 때에는 -1 또는 -2를 평탄화 필터(48)로 전달하는 것이다.
맵퍼(50)는 상기 필터(40)에서 입력되는 일정 개수의 모션 벡터를 누적하여 마우스 속도에 따라 노이즈 성분을 감쇠시키고 방향성을 증폭시키기 위한 변환 값을 출력하는 것이다.
상기 필터(40)를 거쳐 나온 V1(x)값은 맵핑(Mapping) 단계를 수행한다. 우선 588μsec 마다 출력되는 V1(x)값을 n번, 바람직하게는 21번 더한다. 이 값을 Add21V1(x)라 하면, Add21V1(x)은 0∼±3의 값을 21번 더하므로 0∼±63의 값이 된다. Add21V1(x)은 맵핑에 의하여 적당한 값으로 변환된다.
저속(Add21V1(x)의 절대값이 작을 때)의 경우에는 맵핑되는 값 V2(x)가 1씩 증가하도록 맵핑하고, 중속일 경우에는 2씩 증가하도록 맵핑하며, 고속(Add21V1(x)의 절대값이 클 때)의 경우에는 3씩 증가하도록 맵핑을 한다. 이렇게 함으로써 노이즈 성분의 비율이 적어 방향성이 명확한 고속을 크게 증폭하여 보다 뚜렷한 방향성을 얻을 수 있고, 노이즈 감쇠 효과도 얻을 수 있다. 예를 들어, 도 6과 같이 맵핑할 수 있다. 즉 588μsec 마다 나오는 V1(x)값을 21번 더하므로, 맵핑을 거쳐 나온 V2(x)값은 12.348ms 마다 한 번씩 출력되어 나온다.
즉 상기 맵퍼(50)는 입력값의 절대값이 1∼5인 저속일 때에는 21번 더한 값에 1배로 맵핑하고, 입력값의 절대값이 6∼21인 중속일 때에는 21번 더한 값에 3을 감산하여 2를 곱한 후에 1을 가산하여 맵핑하며, 입력값의 절대값이 22∼36인 고속일 때에는 21번 더한 값에 9를 감산하여 3을 곱하여 맵핑하고, 입력값의 절대값이 37∼63인 초고속일 때에는 21번 더한 값에 16을 감산하여 4를 곱하여 맵핑한다.
다음으로, 파이프(60)는 상기 맵퍼(50)에서 맵핑된 값을 저장하였다가 저장된 복수개의 값을 가산한 후에 변환 배율로 나누어 얻어진 값을 PC인터페이스(18)를 통하여 PC(30)로 전달하는 것이다.
상기 파이프(60)에는 4개의 레지스터를 포함하고, 각 레지스터에 저장된 값을 더한 후에 이전 계산 결과의 나머지도 누적하여 8로 나누어 맵핑에 대한 영향을 감소시킨다. 이에 대한 수학식은 다음과 예와 같다.
상기 맵퍼(50)로부터 맵핑을 거쳐 나온 V2(x)값은 파이프를 통해서 V3(x)값으로 변환되어 PC(30)로 전달된다. 파이프는 도 7과 같이, 4단계의 파이프(61-64)로 되어 있다. V2(x)값은 12.348ms 마다 다음 단계로 밀려서 저장되고 4단계 후에는 삭제된다. 모든 단계의 V2(x)값과 Rem_레지스터에 저장된 값을 더해서 8로 나눈다. 이때, 몫은 V3(x)이 되어 PC(30)에 전달되고, 나머지는 Rem_레지스터(65)에 저장된다. V2(x)값이 4단계 파이프(61-64)를 거쳐서 출력되지만, 8로 나누기 때문에 V2(x)값의 절반 값만 V3(x)값으로 변환되는 효과가 있다.
상기 맵핑 단계에서 저속은 1씩 증가하고, 중속은 2씩 증가하며, 고속은 3씩 증가하도록 맵핑되었기 때문에 저속은 0.5배, 중속은 1배, 고속은 1.5배로 변환되는 효과를 갖는다. 모션 벡터의 노이즈 성분 비율이 고속에 비하여 상대적으로 많은 저속의 경우에는 입력되는 값의 절반 값만 PC로 보내므로 PC 화면에 마우스 포인터의 이상 움직임 현상을 경감시킬 수 있다.
또한, 모션 벡터의 노이즈 성분의 비율이 저속에 비하여 상대적으로 적은 고속의 경우에는 1.5배로 PC로 보내므로 마우스 포인터의 방향성이 향상된다. 즉 모션 벡터의 변환 배율을 저속은 0.5배, 고속은 1.5배로 하여 마우스 포인터의 이상 동작 현상을 줄이고 방향성이 뚜렷한 움직임을 얻을 수 있다. 또한 V2(x)값을 한 번에 보내지 않고 4번에 나누어 보내기 때문에 마우스 포인터가 보다 부드럽게 움직인다. 예를 들어, V2(x)값이 4번 연속으로 8, 0, 0, 0으로 들어올 경우에 USB 또는 PS/2 인터페이스를 통하여 PC에 전달되는 V3(x)값은 1, 1, 1, 1이 되어 보다 매끄러운 마우스 포인터의 궤적 곡선을 얻을 수 있다.
이와 같이 본 발명에서 제시한 모션 벡터 처리부를 거친 마우스 포인터의 궤적은 도 8a와 같이 사각형을 표시하였을 경우에 나타나는 마우스 포인터의 궤적과, 도 8b와 같이 원을 표시하였을 때에 나타나는 마우스 포인터의 궤적을 참조하면, 도 2a 및 도 2b의 마우스 포인터의 궤적보다 부드러운 마우스 포인터의 궤적이 나타남을 알 수 있다.
본 발명은 연속적으로 입력되는 마우스의 모션 벡터(이동 좌표)를 X축 및 Y축에 대하여 각각 필터링, 맵핑 및 파이핑 단계를 거쳐 얻은 값을 PC인터페이스(USB 또는 PS/2)를 거쳐 PC로 출력함으로써 마우스의 노이즈 성분을 최소화하여 PC의 화면상에 커서의 움직임의 부자연스러움을 극복한 효과를 갖는다. 또한 본 발명은 광 마우스에 국한되지 않고 다른 종류의 마우스에도 적용될 수 있다.
상술한 구체적인 예는 본 발명의 이해를 돕기 위해 제시된 실시예로서 본 발명의 범주를 한정하지 않고, 단순한 변형 내지 변경은 모두 본 발명의 영역에 속하는 것으로 본 발명의 구체적인 보호범위는 첨부된 특허청구범위에 의하여 명확해질 것이다.
도 1은 종래 광 마우스의 이미지 처리회로를 나타낸 블록도,
도 2는 종래에 PC 화면상에서 나타나는 마우스 포인터의 궤적 곡선을 도시한 참고도,
도 3은 본 발명의 이미지 처리회로를 나타낸 블록도,
도 4는 본 발명의 모션 벡터의 처리과정을 나타낸 블록도,
도 5는 본 발명의 필터의 구성을 나타낸 블록도,
도 6은 본 발명의 맵핑의 실시예를 나타낸 설명도,
도 7은 본 발명의 파이핑의 실시예를 나타낸 블록도,
도 8은 본 발명의 모션 벡터 처리부를 거친 경우에 PC 화면상에 나타나는 마우스 포인터의 궤적 곡선을 도시한 참고도.
♣ 도면의 주요부분에 대한 부호의 설명 ♣
10: 이미지 픽셀 어레이 12: 아날로그/디지털 컨버터
14: 모션 벡터 산출부 16: 모션 벡터 처리부
18: PC인터페이스 20: 이미지 처리회로
30: PC(Personal Computer) 40: 필터(Filter)
42: 방향 계수기 44: 방향 필터
46: 방향 결정계 48: 평탄화 필터
50: 맵퍼(Mapper) 60: 파이프(Pipe)
Claims (10)
- 일련의 모션 벡터들의 방향을 누적하는 방향 계수기;상기 방향 계수기에 누적된 방향 값을 판단하여 방향을 결정하는 방향 결정계;상기 방향 계수기의 방향 값과 방향 결정계에서 결정된 방향에 따라 값을 결정하는 방향 필터;상기 방향 필터에서 변환되어 출력되는 일정 개수의 모션 벡터를 누적하여 마우스 속도에 따라 노이즈 성분을 감쇠시키고 방향성을 증폭시키기 위한 변환 값을 맵핑하여 출력하는 맵퍼; 및상기 맵퍼에서 맵핑된 값을 저장하였다가 저장된 복수개의 값을 가산한 후에 변환 배율로 나누어 얻어진 값을 PC인터페이스(USB 또는 PS/2)로 전달하는 복수의 파이프를 포함하는 것을 특징으로 하는 광 마우스의 이미지 데이터 처리 장치.
- 제 1 항에 있어서,상기 방향 필터로부터 결정된 값을 버퍼링하여 저장한 후에 방향 결정계의 상태를 참조하여 이전에 저장된 값 및 이후에 들어오는 값과 비교하여 출력 값을 바꾸어 상기 맵퍼로 출력하는 평탄화 필터를 더 포함하는 것을 특징으로 하는 광 마우스의 이미지 데이터 처리 장치.
- 제2항에 있어서, 상기 방향 결정계는 방향이 없는 상태, (+)방향 상태, (-)방향 상태로 구분되고,방향 결정계가 (+)방향 상태일 때에 (-)입력값(모션 벡터)은 영으로 바뀌며,방향 결정계가 (-)방향 상태일 때에 (+)입력값(모션 벡터)은 영으로 바뀌고,상기 평탄화 필터에서는 모션 벡터의 급격한 변화(±2 이상의 변화)를 ±1 이하의 변화로 바꾸어 주는데, 바뀌어지는 값은 방향 결정계의 상태에 따라 다르게 처리되도록 한 것을 특징으로 하는 광 마우스의 이미지 데이터 처리 장치.
- 광 마우스의 이미지 데이터 처리방법에 있어서,방향 계수기가 일련의 모션 벡터들의 방향을 누적하는 단계,방향 결정계가 상기 방향 계수기에 누적된 방향 값을 판단하여 방향을 결정하는 단계와,방향 필터가 상기 방향 계수기의 방향 값과 방향 결정계에서 결정된 방향에 따라 값을 결정하는 단계와,상기 방향 필터에서 변환되어 출력되는 일정 개수의 모션 벡터를 누적하여 마우스 속도에 따라 노이즈 성분을 감쇠시키고 방향성을 증폭시키기 위한 변환 값을 맵퍼로 맵핑하여 출력하는 단계; 및상기 맵퍼에서 맵핑된 값을 복수의 파이프를 통하여 저장하였다가 저장된 복수개의 값을 가산한 후에 변환 배율로 나누어 얻어진 값을 PC인터페이스(USB 또는 PS/2)로 전달하는 단계를 포함하는 것을 특징으로 하는 광 마우스의 이미지 데이터 처리방법.
- 제4항에 있어서, 상기 방향 필터가 값을 결정하는 단계 이후에,평탄화 필터가 상기 방향 필터로부터 결정된 값을 버퍼링하여 저장한 후에 방향 결정계의 상태를 참조하여 이전에 저장된 값 및 이후에 들어오는 값과 비교하여 출력 값을 바꾸어 주는 딘계를 더 포함하는 것을 특징으로 하는 광 마우스의 이미지 데이터 처리방법.
- 제5항에 있어서, 상기 방향 결정계는 방향이 없는 상태, (+)방향 상태, (-)방향 상태로 구분되고,방향 결정계가 (+)방향 상태일 때에 (-)입력값(모션 벡터)은 영으로 바뀌며,방향 결정계가 (-)방향 상태일 때에 (+)입력값(모션 벡터)은 영으로 바뀌고,평탄화 필터에서는 모션 벡터의 급격한 변화(±2 이상의 변화)를 ±1 이하의 변화로 바꾸어 주는데, 바뀌어지는 값은 방향 결정계의 상태에 따라 다르게 처리되도록 한 것을 특징으로 하는 광 마우스의 이미지 데이터 처리방법.
- 제4항에 있어서, 상기 맵퍼는 연속된 15~30개의 입력 값의 합을 저속, 중속, 고속으로 나누고 저속일때는 맵핑되는 값은 1씩 증가하고, 중속일때는 맵핑되는 값은 2씩 증가하고, 고속일때는 맵핑되는 값이 3씩 증가하는 것을 특징으로 하는 광 마우스의 이미지 데이터 처리방법.
- 제7항에 있어서, 상기 저속과 중속, 중속과 고속의 경계점이 이어지도록 맵핑방정식을 만들어서 맵핑하는 광마우스의 이미지 데이터 처리방법.
- 제4항에 있어서, 상기 파이프에는 3~6개의 레지스터를 포함하고, 각 레지스터에 저장된 값을 더한 후에 이전 계산 결과의 나머지도 누적하여 8로 나누어 맵핑에 대한 영향을 감소시킨 것을 특징으로 하는 광 마우스의 이미지 데이터 처리방법.
- 제9항에 있어서, 상기 8로 나눈 몫은 PC에 전달하고 나머지는 레지스터에 저장되는 것을 특징으로 하는 광 마우스의 이미지 데이터 처리방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0070144A KR100494470B1 (ko) | 2002-11-12 | 2002-11-12 | 광 마우스의 이미지 데이터 처리 장치 및 그 방법 |
US10/414,668 US7212685B2 (en) | 2002-11-12 | 2003-04-16 | Method for processing image data of optical mouse |
JP2003111338A JP3866217B2 (ja) | 2002-11-12 | 2003-04-16 | 光マウスのイメージデータ処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0070144A KR100494470B1 (ko) | 2002-11-12 | 2002-11-12 | 광 마우스의 이미지 데이터 처리 장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040042024A KR20040042024A (ko) | 2004-05-20 |
KR100494470B1 true KR100494470B1 (ko) | 2005-06-10 |
Family
ID=32226300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0070144A KR100494470B1 (ko) | 2002-11-12 | 2002-11-12 | 광 마우스의 이미지 데이터 처리 장치 및 그 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7212685B2 (ko) |
JP (1) | JP3866217B2 (ko) |
KR (1) | KR100494470B1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100545062B1 (ko) * | 2002-11-22 | 2006-01-24 | 삼성전기주식회사 | 광 마우스의 이미지 데이터 처리방법 |
TWI240207B (en) * | 2004-06-11 | 2005-09-21 | Sunplus Technology Co Ltd | Method and system for real-time determining abnormality of pixel values for captured image |
CN100359448C (zh) * | 2004-06-28 | 2008-01-02 | 凌阳科技股份有限公司 | 即时判断撷取影像像素值异常的方法及系统 |
US7423633B2 (en) * | 2004-09-01 | 2008-09-09 | Avago Technologies Ec Buip Pte Ltd | Apparatus for controlling the position of a screen pointer with low sensitivity to fixed pattern noise |
KR100639681B1 (ko) * | 2005-07-04 | 2006-10-30 | 주식회사 애트랩 | 광 마우스 및 광 마우스 시스템 및 이들의 방법 |
KR100728653B1 (ko) * | 2005-11-21 | 2007-06-14 | 주식회사 애트랩 | 광 포인팅 장치의 움직임 값 계산 방법과 이 방법을 이용한광 포인팅 장치 |
TWI375163B (en) * | 2008-10-23 | 2012-10-21 | Pixart Imaging Inc | Locus smoothing method and navigation device using the same |
TW201346651A (zh) * | 2012-05-01 | 2013-11-16 | Pixart Imaging Inc | 光學導航裝置及其軌跡平滑化方法 |
CN102902491B (zh) * | 2012-08-29 | 2015-09-09 | 北京地拓科技发展有限公司 | 遥感影像数据写入及读取的方法及装置 |
TWI467467B (zh) * | 2012-10-29 | 2015-01-01 | Pixart Imaging Inc | 畫面物件移動控制方法及裝置 |
US10382012B2 (en) * | 2015-01-26 | 2019-08-13 | Pixart Imaging Inc. | Navigation device and track smoothing method thereof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010001783A (ko) * | 1999-06-08 | 2001-01-05 | 김영환 | 마우스 제어기의 노이즈 제거장치 및 방법 |
KR20020041234A (ko) * | 2000-11-27 | 2002-06-01 | 이형도 | 마우스의 위치영역 제어방법 |
KR20030014933A (ko) * | 2001-08-13 | 2003-02-20 | 주식회사 애트랩 | 자기-웨이크업기능을 갖는 광마우스 센서칩 및 이센서칩을 갖는 광마우스 |
KR20040011310A (ko) * | 2002-07-30 | 2004-02-05 | 주식회사 애트랩 | 광마우스 및 광마우스의 오동작 방지 방법 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4631400A (en) * | 1984-01-20 | 1986-12-23 | California Institute Of Technology | Correlating optical motion detector |
US4686329A (en) * | 1985-06-21 | 1987-08-11 | Advanced Robotic Technology, Inc. | Absolute position mouse |
US5598187A (en) * | 1993-05-13 | 1997-01-28 | Kabushiki Kaisha Toshiba | Spatial motion pattern input system and input method |
US6513717B2 (en) * | 2000-12-07 | 2003-02-04 | Digimarc Corporation | Integrated cursor control and scanner device |
US6392632B1 (en) * | 1998-12-08 | 2002-05-21 | Windbond Electronics, Corp. | Optical mouse having an integrated camera |
US6568777B1 (en) * | 1999-11-16 | 2003-05-27 | Agilent Technologies, Inc. | Optical navigation system and method |
US8197306B2 (en) | 2008-10-31 | 2012-06-12 | Araca, Inc. | Method and device for the injection of CMP slurry |
-
2002
- 2002-11-12 KR KR10-2002-0070144A patent/KR100494470B1/ko not_active IP Right Cessation
-
2003
- 2003-04-16 JP JP2003111338A patent/JP3866217B2/ja not_active Expired - Fee Related
- 2003-04-16 US US10/414,668 patent/US7212685B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010001783A (ko) * | 1999-06-08 | 2001-01-05 | 김영환 | 마우스 제어기의 노이즈 제거장치 및 방법 |
KR20020041234A (ko) * | 2000-11-27 | 2002-06-01 | 이형도 | 마우스의 위치영역 제어방법 |
KR20030014933A (ko) * | 2001-08-13 | 2003-02-20 | 주식회사 애트랩 | 자기-웨이크업기능을 갖는 광마우스 센서칩 및 이센서칩을 갖는 광마우스 |
KR20040011310A (ko) * | 2002-07-30 | 2004-02-05 | 주식회사 애트랩 | 광마우스 및 광마우스의 오동작 방지 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20040042024A (ko) | 2004-05-20 |
US20040091165A1 (en) | 2004-05-13 |
JP2004164560A (ja) | 2004-06-10 |
JP3866217B2 (ja) | 2007-01-10 |
US7212685B2 (en) | 2007-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100494470B1 (ko) | 광 마우스의 이미지 데이터 처리 장치 및 그 방법 | |
US11631246B2 (en) | Method for outputting a signal from an event-based sensor, and event-based sensor using such method | |
EP0725357B1 (en) | Semiconductor device, circuit having the device, and correlation calculation apparatus, signal converter, and signal processing system utilizing the circuit | |
EP0709794B1 (en) | Semiconductor device, and operating device, signal converter, and signal processing system using the semiconductor device | |
KR100545062B1 (ko) | 광 마우스의 이미지 데이터 처리방법 | |
EP0098223B1 (en) | A method and an apparatus for coding/decoding telewriting signals | |
US7432966B2 (en) | Image data correcting method and imaging device | |
KR102204596B1 (ko) | 프로세서, 이를 포함하는 이미지 프로세싱 장치 및 이미지 프로세싱 방법 | |
JPH07203451A (ja) | テレビジョン信号における動きの階層的予測方法 | |
US7417623B2 (en) | Pointing device and displacement estimation method | |
EP0666696A2 (en) | Data processing method and data processor | |
US8189080B2 (en) | Orientation-based approach for forming a demosaiced image, and for color correcting and zooming the demosaiced image | |
JP2003078829A (ja) | 画像検出処理装置 | |
KR100224557B1 (ko) | 반도체 장치, 연산 장치, 신호 변환기, 및 반도체 장치를 이용한 신호 처리시스템 | |
EP3447682B1 (en) | Semiconductor device and image recognition system | |
WO2022188120A1 (en) | Event-based vision sensor and method of event filtering | |
EP1582968A2 (en) | Fingerprint sensor | |
CN101778200B (zh) | 基于非均匀采样的图像校正系统及方法 | |
WO2020113411A1 (zh) | 指纹信号处理电路、电子设备和指纹信号处理方法 | |
US9483713B2 (en) | Image processing device, image processing method, and imaging device | |
CN113497861B (zh) | 一种视频稳化方法及装置 | |
CN113763250B (zh) | 一种自适应图像缩放处理方法及系统 | |
Sun et al. | pg. A Smart CMOS Imager with On-chip High-speed Windowed Centroiding Capability | |
KR20230026872A (ko) | 전자 장치 및 이의 동작 방법 | |
US20240089595A1 (en) | Image sensor, image processing system, and operating method of the image processing system |
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: 20080328 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |