KR20000011022A - 화상 합성 장치 및 방법,위치 검출 장치 및 방법, 및공급 매체 - Google Patents

화상 합성 장치 및 방법,위치 검출 장치 및 방법, 및공급 매체

Info

Publication number
KR20000011022A
KR20000011022A KR1019980709172A KR19980709172A KR20000011022A KR 20000011022 A KR20000011022 A KR 20000011022A KR 1019980709172 A KR1019980709172 A KR 1019980709172A KR 19980709172 A KR19980709172 A KR 19980709172A KR 20000011022 A KR20000011022 A KR 20000011022A
Authority
KR
South Korea
Prior art keywords
image
obtaining
feature point
coordinate
coordinates
Prior art date
Application number
KR1019980709172A
Other languages
English (en)
Inventor
미쯔하루 오끼
Original Assignee
이데이 노부유끼
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이데이 노부유끼, 소니 가부시끼 가이샤 filed Critical 이데이 노부유끼
Publication of KR20000011022A publication Critical patent/KR20000011022A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)

Abstract

실제 촬영 화상(동화상)에 CG 화상이 합성되는 경우, 합성된 화상이 부자연스럽게 되는 것을 제어한다. 촬상부(2)는 이동하면서 플레이트(1)를 촬영한다. 촬상부(2)에 의해 촬영된 연속적인 화상에 CG를 통하여 작성된 볼을 합성하는 경우, 볼(5) 근방에 있는 12개의 패턴들(프레임(21)에 의해 둘러싸인 부분) Aj(j = 1, . . . , 12)이 촬상부(2)에 의해 촬영된 연속 화상내에서 어떻게 변환되는지를 회전 변환 함수 및 병진 변환 함수로 나타내어 이 회전 변환 함수와 병진 변환 함수를 사용함으로써 각 화상 내의 볼(5)의 투영 화상의 합성 위치를 구한다.

Description

화상 합성 장치 및 방법, 위치 검출 장치 및 방법, 및 공급 매체
컴퓨터 그래픽(computer graphics; CG) 기술은 최근 수년간에 걸쳐 발전되어 왔기 때문에, 실제 화상을 통하여 실제적으로 촬영된(한 지점에서 찍혀진) 화상과 거의 흡사한 리얼한 화상을 인공적으로 작성하는 것이 가능하다. 이 경우, 선정된 물체를 비디오 카메라로 (동화상과 같이) 연속적으로 촬영하고 나서, 이 선정된 물체의 CG 화상을 한 지점에서 찍혀진 모든 화상과 합성하는 프로세싱이 빈번하게 행해진다.
도 1은 종래의 화상 합성 방법을 나타낸다. 이 경우, 현재의 플레이트(1)가 촬상부(2)에 의해 촬영되고 CG를 통해 작성된 볼들(5, 6)은 이 볼들(5, 6)이 정지된 것처럼 보이도록 플레이트(1)의 화상과 합성되는 것으로 한다. 이 경우, 패턴들이 묘화되는 플레이트(1)는 우선적으로 촬상부(2)에 의해 실제 촬영된다. 이 경우, 플레이트(1) 상에 묘화되어 있는 i-번째 패턴은 ai라고 한다. 이 경우, 부호 i는 정수이며 또한 각 패턴 ai에 부여된 식별 번호를 지칭한다. 패턴 ai는 서로 색깔 및 형태가 다르기 때문에 구별될 수 있다. 촬상부(2)는 메인 비디오 카메라와 서브-비디오 카메라로 구성된 입체 음향 비디오 카메라를 사용하고 이는 메인 비디오 카메라로 촬영된 화상과 서브-비디오 카메라로 촬영된 화상 간의 시차로부터 3차원 정보를 구할 수 있도록 구성된다. 플레이트(1)는 촬상부(2)를 이동시키면서 촬영된다.
이 경우, 촬상부(2)가 촬영을 시작하는 시각을 제1 시각으로 하고 촬영 시각 내에서 이 제1 시각 이후의 선정된 시각은 제2 시각으로 한다. 도 1은 제1 시각과 제2 시각에서의 촬상부(2)를 나타낸다.
도 2에 나타난 바와 같이, 선정된 각으로부터 플레이트(1)를 촬영한 프레임 화상 1A1은 제1 시각에서 촬상부(2)로부터 획득된다. 유사하게, 도 3에 나타난 바와 같이, 제1 시각에 얻어진 프레임 화상 1A1과는 다른 프레임 화상 1A2가 제2 시각에 얻어진다.
다음으로, 도 4에 나타난 바와 같이, 볼들(5, 6)의 투영 화상들 5A1과 6B1은 제1 시각에 촬상부(2)에 의해 촬영된 화상(도 18의 화상) 1A1에 합성된다. 그리고 나서, 도 5에 나타난 바와 같이, 볼들(5, 6)의 투영 화상들 5A2와 5B2은 볼들(5, 6)이 플레이트(1) 상에서 정지되어 있는 것 처럼 보이는 위치에서 제2 시각에 촬상부(2)에 의해 촬영된 화상(도 19의 화상) 1A2에 합성된다.
이 경우, 플레이트(1) 상에서 볼들이 정지된 것 처럼 보이도록 CG를 통하여 형성된 볼들(5, 6)을 합성하는 방법은 도 6 및 도 7을 참조하여 이하에 기술된다.
투영된 화상들(5A, 6B)을 최종적으로 합성하기 위한 위치가 2차원 화상들 1A1과 1A2상에 있다고 할지라도, 합성 위치들은 3차원 공간 내에서 고려함으로써 쉽게 추측할 수 있다. 따라서, 3차원 데이타(좌표)는 2차원 프레임 화상으로부터 복원된다. 프레임 화상이 입체 음향 비디오 카메라에 의해 얻어지기 때문에, 전술된 복원이 실현된다.
즉, 도 6에 나타난 바와 같이, 3차원 좌표들은 제1 시각에서의 촬상부(2)의 위치가 원점 O1이고 촬상부(2)의 수평, 수직 및 깊이 방향은 X-축, Y-축, Z-축이라고 한다. 그리고나서, 플레이트(1)의 모든 패턴 ai의 3차원 위치(X1i, Y1i, Z1i)는 2차원 프레임 화상 1A1으로부터 우선적으로 구해진다. 다음으로, 사용자는 볼(5)이 놓여지는 3차원 위치(3차원 합성 위치)(X1A, Y1A, Z1A)와 볼(6)이 놓여지는 3차원 위치(3차원 합성 위치)(X1B, Y1B, Z1B)를 가리킨다.
다음으로, 3차원 합성 위치에 대응되는 화상 1A1의 합성 위치(2차원 위치)가 구해진다. 이 2차원 위치는 3차원 위치의 투시 투영 변환(perspective projection transform)을 통하여 얻어진 위치가 된다. 즉, 촬상부(2)의 촛점 거리를 f라고 할 때, 3차원 합성 위치(X1A, Y1A, Z1A)에 대응되는 제1 시각에 화상 1A1상의 투영 화상 5A1의 2차원 합성 위치는 (X1A×f/Z1A, Y1A×f/Z1A)로서 획득된다. 유사하게, 3차원 합성 위치(X1B, Y1B, Z1B)에 대응되는 제1 시각에 화상 1A1상의 투영 화상 6B1의 2차원 합성 위치는 (X1B×f/Z1B, Y1B×f/Z1B)가 된다.
유사하게, 도 7에 나타난 바와 같이, 제2 시각에서의 촬상부(2)의 위치는 원점 O2이라고 하고, 촬상부(2)의 수평, 수직 및 깊이 방향은 X-축, Y-축 및 Z-축이라고 한다. 그리고 나서, 플레이트(1)의 모든 패턴 ai의 3차원 위치(X2i, Y2i, Z2i)는 2차원 화상 1A2로부터 구해진다.
전술된 바와 같이, 플레이트(1) 상의 패턴들 ai은 서로 구별될 수 있기 때문에, 제1 시각에서의 화상 1A1으로부터 복원된 제1 3차원 좌표계에서의 i-번째 패턴 ai가 제2 시각에서의 화상 1A2로부터 복원된 제2 3차원 좌표계에서의 패턴 ai에 대응되는지를 식별 가능하다. 따라서, 제1 시각에서의 패턴 ai의 좌표(X1i, Y1i, Z1i)를 제2 시각에서의 패턴 ai의 좌표(X2i, Y2i, Z2i)에 대응되게 할 수 있다. 이들 2개의 좌표계들이 상이한 각으로부터 동일 패턴 ai를 보기 때문에, 제2 3차원 좌표계는 제1 3차원 좌표계에 선정된 회전 변환(이하, 이 변환의 함수를 R1이라 한다)과 선정된 병진 변환(이하, 이 변환의 함수를 S1이라 한다)을 적용함으로써 구해질 수 있다(병진 변환의 함수가 정상적으로 T를 나타낸다고 할지라도, 본 명세서에서는 이 T가 시각을 나타내는 변수로 사용되기 때문에 S로 나타나 있다). 따라서, (X2i, Y2i, Z2i) = (X1i, Y1i, Z1i)·R1+ S1로 나타난 관계식은 각 패턴 ai에 대해 성립한다.
(병진 변환의 함수가 정상적으로 T를 나타낸다고 할지라도, 본 명세서에서는 이 T가 시각을 나타내는 변수로 사용되기 때문에 S로 나타나 있다.)
따라서, 좌표 변환 함수들 R1과 S1은 전술된 관계식에 각 패턴 ai의 (X1i, Y1i, Z1i)과 (X2i, Y2i, Z2i)를 대입함으로써 구해질 수 있다.
그러나, 임의의 시각에 촬영된 2차원 공간의 화상 데이타(화상들 1A1과 1A2의 화상 데이타)로부터 3차원 공간에서의 패턴 ai의 위치(3차원 좌표)를 복원하는 경우, 이 복원된 위치는 소정 오류를 포함한다. 따라서, 예를 들면 제1 3차원 좌표계를 기준으로 이용하는 경우, i번째 패턴 ai의 위치는 (X1i, Y1i, Z1i)에 정확하게 존재하지 않는다. 유사하게, 제2 3차원 좌표계를 기준으로 이용하는 경우, i번째 패턴 ai의 위치는 (X2i, Y2i, Z2i)에 정확하게 존재하지 않는다.
따라서, 최소 제곱법에 의해 모든 패턴 ai에 대한 수학식 1의 3차원 벡터(x1, y1, z1)의 크기를 제곱함으로써 구해진 값을 합계내어 이 합계를 최소화하기 위한 변환 함수들 R1과 S1을 구한다.
(x1, y1, z1) = (X2i, Y2i, Z2i)
= {(X1i, Y1i, Z1i)·R1+ S1}
전술된 바와 같이 구해진 변환 함수들 R1과 S1을 사용함으로써, 제1 시각에서의 볼(5)의 3차원 위치(X1A, Y1A, Z1A)에 대응되는 제2 시각에서의 볼(5)의 3차원 위치(X2A, Y2A, Z2A)는 수학식 2에 의해 구해진다.
(X2A, Y2A, Z2A) = (X1A, Y1A, Z1A)·R1+ S1
유사하게, 제1 시각 에서의 볼(6)의 3차원 위치(X1B, Y1B, Z1B)에 대응되는 제2 시각에서의 볼(6)의 위치(X2B, Y2B, Z2B)는 다음 수학식 3에 의해 구해진다.
(X2B, Y2B, Z2B) = (X1B, Y1B, Z1B)·R1+ S1
그리고 나서, 3차원 좌표(X2A, Y2A, Z2A)와 (X2B, Y2B, Z2B)에 투시 투영 변환의 관계를 적용하고, 제2 시각에서 촬상부(2)에 의해 촬영된 2차원 화상 1A2상의 투영 화상 5A2의 좌표(X2A×f/Z2A, Y2A×f/Z2A)와 투영 화상 6B2의 좌표(X2B×f/Z2B, Y2B×f/Z2B)를 구한다. 이 좌표 위치와 투영 화상들 5A2와 6B2를 합성시킴으로써, 합성된 화상은 상기 좌표 위치들이 투영된 화상들 5A1과 6B1의 좌표 위치에 대응되기 때문에 볼들(5, 6)이 플레이트(1)에 정지된 것으로 보여짐에 틀림없다. 제1 시각에서의 i-번째 패턴 ai의 위치 및 볼들(5, 6)의 위치들은 제1 3차원 좌표계의 (X1i, Y1i, Z1i), (X1A, Y1A, Z1A) 및 (X1B, Y1B, Z1B)로 나타나 있다. 게다가, 제2 시각에서의 i-번째 패턴 ai의 위치 및 볼들(5, 6)의 위치들은 제2 3차원 좌표계에서의 (X2i, Y2i, Z2i), (X2A, Y2A, Z2A) 및 (X2B, Y2B, Z2B)로 나타나 있다. 이 경우, 이들 좌표계에서의 i-번째 패턴 ai의 위치와 볼들(5, 6)의 위치 간의 관계는 다음 수학식들 4, 5 및 6으로 나타날 수 있다.
(X2i, Y2i, Z2i) ≠ (X1i, Y1i, Z1i)·R1+ S1
(X2A, Y2A, Z2A) = (X1A, Y1A, Z1A)·R1+ S1
(X2B, Y2B, Z2B) = (X1B, Y1B, Z1B)·R1+ S1
즉, 전술된 3개의 수학식들 중에서 가운데 및 하단의 수학식들의 경우에, 좌측 항은 우측 항의 연산에 의해 구해지기 때문에, 우측 및 좌측 항들은 동일하다. 그러나, 전술된 바와 같이, 변환 함수들 R1과 S1은 최소 제곱법을 이용함으로써 구해지기 때문에, 함수들은 오류를 포함한다. 그 결과, 상단의 수학식들에 나타난 바와 같이, 제2 화상 1A2의 패턴 ai의 3차원 좌표(제2 화상 1A2로부터 구해짐)는 제1 화상 1A1의 3차원 좌표(X1A, Y1A Z1A)에 변환 함수들 R1과 S1를 대입함으로써 구해진 좌표와 정확하게 일치하지 않는다.
따라서, 제1 시각에서 제1 화상 1A1의 패턴 ai에 대한 투영 화상들 5A1과 6B1의 관계는 제2 시각에서의 제2 화상 1A2의 각 패턴 ai에 대한 투영 화상들 5A2와 6B2의 관계와는 상이하다. 이 화상 스트링을 재생하려면, 패턴들 ai이 묘화되는 플레이트(1)로부터 볼들(5, 6)이 부유되기 때문에 볼들(5, 6)은 부자연스럽게 보이는 문제점이 있다.
<발명의 요약>
본 발명은 전술된 문제점들을 해결하기 위한 것으로, 본 발명의 목적은 복수개의 촬영 화상에 소정 물체의 투영 화상을 합성하는 경우, 합성부 근방의 특징점에 따라 선정된 물체의 투영 화상을 합성함으로써 합성된 화상이 자연스럽게 보이게 할 수 있는 화상 합성 장치 및 방법과 공급 매체를 제공함에 있다.
더욱이, 본 발명의 다른 목적은 제1 및 제2 화상들에 대한 제3 화상의 위치 관계를 정확하게 연산할 수 있는 화상 합성 장치 및 방법과 공급 매체를 제공함에 있다.
게다가, 본 발명의 또 다른 목적은 복수개의 촬영 화상들에 물체의 투영 화상을 합성하는 경우 왜곡값에 따라 선정된 물체의 투영 화상의 위치를 정정함으로써 합성된 화상의 동요를 제어할 수 있는 화상 합성 장치 및 방법과 공급 매체를 제공함에 있다.
청구항 1의 화상 합성 장치는 제1 화상 상에 투영된 특징점들 중에서 물체를 합성시키는 합성 위치 근방의 제1 특징점을 구하기 위한 제1 수단, 제1 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점의 제1 좌표를 구하기 위한 제2 수단, 제2 화상 상에 투영된 특징점들 중에서 제2 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점에 대응되는 제2 특징점의 제2 좌표를 구하기 위한 제3 수단, 제1 및 제2 좌표의 좌표 변환 함수를 구하기 위한 제4 수단, 제1 화상에 물체를 합성시키기 위한 합성 위치에서 제1 화상에 대응되는 3차원 좌표계 상에서의 제3 좌표를 구하기 위한 제5 수단, 제3 좌표에 좌표 변환 함수를 적용함으로써 제2 화상에 대응되는 3차원 좌표계 상에서의 제4 좌표를 구하기 위한 제6 수단, 및 제2 화상의 제4 좌표에 대응되는 위치에서 물체의 투영 화상을 합성하기 위한 제7 수단을 포함한다.
청구항 8의 화상 합성 방법은 제1 화상 상에 투영된 특징점들 중에서 물체를 합성시키는 합성 위치 근방의 제1 특징점을 구하는 제1 단계, 제1 화상에 대응되는 제1 특징점의 3차원 좌표계 상에서의 제1 좌표를 구하는 제2 단계, 제2 화상 상에 투영된 특징점들 중에서 제2 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점에 대응되는 제2 특징점의 제2 좌표를 구하는 제3 단계, 제1 및 제2 좌표의 좌표 변환 함수를 구하기 위한 제4 단계, 제1 화상에 물체를 합성시키기 위한 합성 위치에서 제1 화상에 대응되는 3차원 좌표계 상에서의 제3 좌표를 구하기 위한 제5 단계, 제3 좌표에 좌표 변환 함수를 적용함으로써 제2 화상에 대응되는 3차원 좌표계 상에서의 제4 좌표를 구하기 위한 제6 단계, 및 제2 화상의 제4 좌표에 대응되는 위치에서 물체의 투영 화상을 합성하기 위한 제7 단계를 포함한다.
청구항 15의 공급 매체는 적어도 제1 및 제2 화상들에 물체의 투영 화상을 합성시키기 위한 것으로, 제1 화상 상에 투영된 특징점들 중에서 물체를 합성시키는 합성 위치 근방의 제1 특징점을 구하는 제1 단계, 제1 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점의 제1 좌표를 구하는 제2 단계, 제2 화상 상에 투영된 특징점들 중에서 제2 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점에 대응되는 제2 특징점의 제2 좌표를 구하는 제3 단계, 제1 및 제2 좌표의 좌표 변환 함수를 구하기 위한 제4 단계, 제1 화상에 물체를 합성시키기 위한 합성 위치에서 제1 화상에 대응되는 3차원 좌표계 상에서의 제3 좌표를 구하기 위한 제5 단계, 제3 좌표에 좌표 변환 함수를 적용함으로써 제2 화상에 대응되는 3차원 좌표계 상에서의 제4 좌표를 구하기 위한 제6 단계, 및 제2 화상의 제4 좌표에 대응되는 위치에서 물체의 투영 화상을 합성하는 제7 단계를 포함하는 화상 합성 장치에 사용된 컴퓨터 프로그램을 제공한다.
청구항 16의 위치 검출 장치는 제1 화상 상에 투영된 특징점들 중에서 물체 근방의 제1 특징점을 구하기 위한 제1 수단, 제1 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점의 제1 좌표를 구하기 위한 제2 수단, 제2 화상 상에 투영된 특징점들 중에서 제2 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점에 대응되는 제2 특징점의 제2 좌표를 구하기 위한 제3 수단, 제1 화상에 대응되는 3차원 좌표계 상에서의 물체의 제3 좌표를 구하기 위한 제4 수단, 제2 화상에 대응되는 3차원 좌표계 상에서의 물체의 제4 좌표를 구하기 위한 제5 수단, 제1 및 제2 좌표의 좌표 변환 함수를 구하기 위한 제6 수단, 제3 좌표에 좌표 변환 함수를 적용함으로써 제2 화상에 대응되는 3차원 좌표계 상에서의 제5 좌표를 구하기 위한 제7 수단, 및 제4 좌표와 제5 좌표 간의 차를 검출하기 위한 제8 수단을 포함한다.
청구항 17의 위치 검출 방법은 제1 화상 상에 투영된 특징점들 중에서 물체 근방의 제1 특징점을 구하기 위한 제1 단계, 제1 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점의 제1 좌표를 구하는 제2 단계, 제2 화상 상에 투영된 특징점들 중에서 제2 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점에 대응되는 제2 특징점의 제2 좌표를 구하는 제3 수단, 제1 화상에 대응되는 3차원 좌표계 상에서의 물체의 제3 좌표를 구하는 제4 단계, 제2 화상에 대응되는 3차원 좌표계 상에서의 물체의 제4 좌표를 구하는 제5 단계, 제1 및 제2 좌표의 좌표 변환 함수를 구하기 위한 제6 단계, 제3 좌표에 좌표 변환 함수를 적용함으로써 제2 화상에 대응되는 3차원 좌표계 상에서의 제5 좌표를 구하는 제7 단계, 및 제4 좌표와 제5 좌표 간의 차를 검출하기 위한 제8 단계를 포함한다.
청구항 18의 공급 매체는 제1 및 제2 화상들 상에 투영된 물체의 위치 관계를 검출하기 위한 것으로, 제1 화상 상에 투영된 특징점들 중에서 물체 근방의 제1 특징점을 구하는 제1 단계, 제1 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점의 제1 좌표를 구하는 제2 단계, 제2 화상 상에 투영된 특징점들 중에서 제2 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점에 대응되는 제2 특징점의 제2 좌표를 구하는 제3 단계, 제1 화상에 대응되는 3차원 좌표계 상에서의 물체의 제3 좌표를 구하는 제4 단계, 제2 화상에 대응되는 3차원 좌표계 상에서의 물체의 제4 좌표를 구하는 제5 단계, 제1 및 제2 좌표의 좌표 변환 함수를 구하는 제6 단계, 제3 좌표에 좌표 변환 함수를 적용함으로써 제2 화상에 대응되는 3차원 좌표계 상에서의 제5 좌표를 구하는 제7 단계, 및 제4 좌표와 제5 좌표 간의 차를 검출하는 제8 단계를 포함하는 위치 검출 장치에 사용된 컴퓨터 프로그램을 제공한다.
청구항 19의 화상 합성 장치는 복수개의 촬영 화상들 각각을 촬영할 때 촬상 장치의 최적 위치를 연산하는 촬상 장치 위치 연산 수단, 제1 물체의 특징점의 최적 위치를 연산하는 특징점 위치 연산 수단, 최적 위치에 놓여진 촬상 장치를 이용하여 촬영할 때 특징점의 최적 위치가 투영되는 가상 투영 위치를 연산하는 가상 투영 위치 연산 수단, 복수개의 촬영 화상들 각각을 실제적으로 촬영한 특징점의 투영 화상의 위치와 가상 투영 위치 간의 차에 따라 왜곡값을 연산하는 왜곡값 연산 수단, 왜곡값 연산 수단에 의해 연산된 왜곡값에 따라 제2 물체의 투영 화상이 설정되는 위치를 정정하기 위한 정정 수단, 정정 수단에 의한 정정 위치에 제2 물체가 놓여져 있다고 가정함으로써 최적의 위치에서 촬상 장치로부터 제2 물체를 촬영할 경우 제2 물체의 투영 화상을 연산하는 투영 화상 연산 수단, 및 각 촬영 화상에 투영 화상 연산 수단에 의해 연산된 제2 물체의 투영 화상을 합성하는 합성 수단을 포함한다.
청구항 21의 화상 합성 방법은 복수개의 촬영 화상들 각각을 촬영할 때 촬상 장치의 최적 위치를 연산하는 촬상 장치 위치 연산 단계, 제1 물체의 특징점의 최적 위치를 연산하는 특징점 위치 연산 단계, 최적 위치에 놓여진 촬상 장치를 이용하여 촬영할 때 특징점의 최적 위치가 투영되는 가상 투영 위치를 연산하는 가상 투영 위치 연산 단계, 복수개의 촬영 화상들 각각을 실제적으로 촬영한 특징점의 투영 화상의 위치와 가상 투영 위치 간의 차에 따라 왜곡값을 연산하는 왜곡값 연산 단계, 왜곡값 연산 단계에서 연산된 왜곡값에 따라 제2 물체의 투영 화상이 설정되는 위치를 정정하는 정정 단계, 정정 단계에서 정정된 위치에 제2 물체가 놓여져 있다고 가정함으로써 최적의 위치에서 촬상 장치로부터 제2 물체를 촬영할 경우 제2 물체의 투영 화상을 연산하는 투영 화상 연산 단계, 및 각 촬영 화상에 투영 화상 연산 단계에서 연산된 제2 물체의 투영 화상을 합성하는 합성 단계를 포함한다.
청구항 23의 공급 매체는 선정된 위치에 제2 물체가 놓여져 있다고 가정함으로써 촬상 장치에 의해 촬영된 제1 물체가 촬영되는 복수개의 촬영 화상들 각각에 제2 물체의 촬영 화상을 합성하기 위한 것이며, 복수개의 촬영 화상들 각각을 촬영할 때 촬상 장치의 최적 위치를 연산하는 촬상 장치 위치 연산 단계, 제1 물체의 특징점의 최적 위치를 연산하는 특징점 위치 연산 단계, 최적 위치에 놓여진 촬상 장치를 이용하여 촬영할 때 특징점의 최적 위치가 투영되는 가상 투영 위치를 연산하는 가상 투영 위치 연산 단계, 복수개의 촬영 화상들 각각을 실제적으로 촬영한 특징점의 투영 화상의 위치와 가상 투영 위치 간의 차에 따라 왜곡값을 연산하는 왜곡값 연산 단계, 왜곡값 연산 단계에서 연산된 왜곡값에 따라 제2 물체의 투영 화상이 설정되는 위치를 정정하는 정정 단계, 정정 단계에서 정정된 위치에 제2 물체가 놓여져 있다고 가정함으로써 최적의 위치에서 촬상 장치로부터 제2 물체를 촬영할 경우 제2 물체의 투영 화상을 연산하는 투영 화상 연산 단계, 및 각 촬영 화상에 투영 화상 연산 단계에서 연산된 제2 물체의 투영 화상을 합성하는 합성 단계를 포함하는 화상 합성 장치에 사용된 컴퓨터 프로그램을 제공한다.
청구항 1의 화상 합성 장치의 경우에, 제1 수단은 제1 화상 상에 투영된 특징점들 중에서 물체의 화상을 합성하기 위한 합성 위치 근방의 제1 특징점을 구하고, 제2 수단은 제1 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점의 제1 좌표를 구하고, 제3 수단은 제2 화상 상에 투영된 특징점들 중에서 제2 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점에 대응되는 제2 특징점의 제2 좌표를 구하고, 제4 수단은 제1 및 제2 좌표의 좌표 변환 함수를 구하고, 제5 수단은 제1 화상에 물체를 합성하기 위한 합성 위치에서 제1 화상에 대응되는 3차원 좌표계 상에서의 제3 좌표를 구하고, 제6 수단은 제3 좌표에 좌표 변환 함수를 적용함으로써 제2 화상에 대응되는 3차원 좌표계 상에서의 제4 좌표를 구하며, 제7 수단은 제2 화상의 제4 좌표에 대응되는 위치에서 물체의 투영 화상을 합성한다.
청구항 8의 화상 합성 방법과 청구항 15의 공급 매체의 경우에, 물체를 합성하는 합성 위치 근방의 제1 특징점은 제1 화상 상에 투영된 특징점들 중에서 취득되고, 제1 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점의 제1 좌표가 구해지고, 제2 화상 상에 투영된 특징점들 중에서 제2 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점에 대응되는 제2 특징점의 제2 좌표가 구해지고, 제1 및 제2 좌표의 좌표 변환 합수가 구해지고, 제1 화상에 물체를 합성시키기 위한 합성 위치에서 제1 화상에 대응되는 3차원 좌표계 상에서의 제3 좌표가 구해지며, 제2 화상에 대응되는 3차원 좌표계 상에서의 제4 좌표는 제2 화상의 제4 좌표에 대응되는 위치에서 물체의 투영 화상을 합성하기 위하여 제3 좌표에 좌표 변환 함수를 적용함으로써 구해진다.
청구항 16의 위치 검출 장치의 경우에, 제1 수단은 제1 화상 상에 투영된 특징점들 중에서 물체 근방의 제1 특징점을 구하고, 제2 수단은 제1 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점의 제1 좌표를 구하고, 제3 수단은 제2 화상 상에 투영된 특징점들 중에서 제2 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점에 대응되는 제2 특징점의 제2 좌표를 구하고, 제4 수단은 제1 화상에 대응되는 3차원 좌표계 상에서의 물체의 제3 좌표를 구하고, 제5 수단은 제2 화상에 대응되는 3차원 좌표계 상에서의 물체의 제4 좌표를 구하고, 제6 수단은 제1 및 제2 좌표의 좌표 변환 함수를 구하고, 제7 수단은 제3 좌표에 좌표 변환 함수를 적용함으로써 제2 화상에 대응되는 제3 좌표계 상에서의 제5 좌표를 구하며, 제8 수단은 제4 좌표와 제5 좌표 간의 차를 검출한다.
청구항 17의 위치 검출 방법과 청구항 18의 공급 매체의 경우에, 물체 근방의 제1 특징점은 제1 화상 상에 투영된 특징점들 중에서 구해지고, 제1 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점의 제1 좌표가 구해지고, 제2 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점에 대응되는 제2 특징점의 제2 좌표는 제2 화상 상에 투영된 특징점들 중에서 구해지고, 제1 화상에 대응되는 3차원 좌표계 상에서의 물체의 제3 좌표가 구해지고, 제2 화상에 대응되는 3차원 좌표계 상에서의 물체의 제4 좌표가 구해지고, 제1 및 제2 좌표의 좌표 변환 함수가 구해지며, 제2 화상에 대응되는 3차원 좌표계 상에서의 제5 좌표는 제3 좌표에 좌표 변환 함수를 적용함으로써 구해지게 되어 제4 좌표와 제5 좌표 간의 차를 검출한다.
청구항 19의 화상 합성 장치의 경우에, 촬상 장치 위치 연산 수단은 복수개의 촬영 화상들 각각을 촬영할 때 촬상 장치의 최적 위치를 연산하고, 특징점 위치 연산 수단은 제1 물체의 특징점의 최적 위치를 연산하고, 가상 투영 위치 연산 수단은 최적 위치에 놓여진 촬상 장치를 이용하여 촬영을 할 때 특징점의 최적 위치가 투영되는 가상 투영 위치를 연산하고, 왜곡값 연산 수단은 복수개의 촬영 화상 각각을 실제적으로 촬영한 특징점의 투영 화상의 위치와 가상 투영 위치 간의 차에 따라 왜곡값을 연산하고, 정정 수단은 왜곡값 연산 수단에 의해 연산된 왜곡값에 따라 제2 물체의 투영 화상이 설정되는 위치를 정정하고, 투영된 화상 연산 수단은 정정 수단에 의해 정정된 위치에 제2 물체가 놓여져 있다고 가정함으로써 최적 위치에 놓여진 촬상 장치로부터 제2 물체를 촬영할 때 제2 물체의 투영 화상을 연산하며, 합성 수단은 각 촬영 화상에 투영 화상 연산 수단에 의해 연산된 제2 물체의 투영 화상을 합성시킨다.
청구항 21의 화상 합성 방법과 청구항 23의 공급 매체의 경우에, 복수개의 촬영 화상들 각각을 촬영할 때 촬상 장치의 최적 위치가 연산되고, 제1 물체의 특징점의 최적 위치가 연산되고, 최적 위치에 설치된 촬상 장치를 이용하여 촬영을 할 때 특징점의 최적 위치가 투영되는 가상 투영 위치가 연산되고, 왜곡값은 복수개의 촬영 화상들 각각을 실제적으로 촬영한 특징점의 투영 화상의 위치와 가상 투영 위치 간의 차에 따라 연산되고, 제2 물체의 투영 화상이 연산된 왜곡값에 따라 설정되는 위치가 정정되며, 최적 위치에 놓여진 촬상 장치로부터 제2 물체를 촬영할 때 제2 물체의 투영 화상은 각 촬영 화상에 연산된 제2 물체의 투영 화상을 합성시키기 위한 정정 위치에 제2 물체가 놓여져 있다고 가정함으로써 연산된다.
본 발명은 화상 합성 장치 및 방법, 위치 검출 장치 및 방법, 및 공급 매체에 관한 것으로, 특히 복수개의 연속된 촬영 화상에 선정된 물체의 투영 화상을 합성함으로써 선정된 물체의 투영 화상이 연속된 촬영 화상들 내에서 자연스럽게 보여질 수 있게 할 수 있는 화상 합성 장치 및 방법, 위치 검출 장치 및 방법, 및 공급 매체에 관한 것이다.
도 1은 종래의 화상 합성 방법의 촬상부(2)와 플레이트(1) 간의 위치 관계를 도시한 도면이다.
도 2는 도 1의 촬상부(2)의 플레이트(1)의 촬영예를 도시한 도면이다.
도 3은 도 1의 촬상부(2)의 플레이트(1)의 다른 촬영예를 도시한 도면이다.
도 4는 도 1의 볼들(5, 6)의 합성예를 도시한 도면이다.
도 5는 도 1의 볼들(5, 6)의 다른 합성예를 도시한 도면이다.
도 6은 도 1의 촬상부(2)와 플레이트(1) 간의 위치 관계를 도시한 도면이다.
도 7은 도 1의 촬상부(2)와 플레이트(1) 간의 다른 위치 관계를 도시한 도면이다.
도 8은 본 발명의 화상 합성 장치의 제1 실시예의 구조를 나타낸 블럭도이다.
도 9는 도 8의 실시예의 동작을 설명하기 위한 흐름도이다.
도 10은 도 8의 실시예의 촬상부(2)와 플레이트(1) 간의 위치 관계를 도시한 도면이다.
도 11은 도 8의 실시예의 촬상부(2)와 플레이트(1) 간의 다른 위치 관계를 도시한 도면이다.
도 12는 도 8의 실시예의 다른 동작을 설명하기 위한 흐름도이다.
도 13은 도 8의 실시예의 촬상부(2)와 플레이트(1) 간의 위치 관계를 도시한 도면이다.
도 14는 도 8의 실시예의 촬상부(2)와 플레이트(1) 간의 다른 위치 관계를 도시한 도면이다.
도 15는 촬상 장치와 월드 좌표 시스템 간의 관계를 설명하기 위한 도면이다.
도 16은 월드 좌표에 기초한 점의 투영 화상을 설명하기 위한 도면이다.
도 17은 본 발명의 화상 합성 장치의 제2 실시예의 구성을 나타낸 블럭도이다.
도 18은 도 17의 실시예의 동작을 설명하기 위한 흐름도이다.
도 19는 촬상 장치로 사물을 촬영하는 처리를 설명하기 위한 도면이다.
도 20은 실제 촬영된 화상에 CG 화상을 합성하는 일례를 도시한 도면이다.
도 21은 실제 촬영된 화상의 변화를 설명하기 위한 도면이다.
도 22는 CG 화상의 변화를 설명하기 위한 도면이다.
도 23은 CG 화상과 촬영 화상의 합성 화상의 변화를 설명하기 위한 도면이다.
본 발명을 실행하기 위한 최적 모드
본 발명의 실시예는 첨부된 도면들을 참조함으로써 이하에 기술될 것이다.
특허 청구 범위의 각 수단과 다음 실시예 사이의 대응 관계를 명백히 하기 위하여, 각 수단 이후의 삽입구에 대응되는 실시예(일례)를 부가하여 본 발명의 특징을 이하에 기술한다.
즉, 청구항 1의 화상 합성 장치는 제1 화상 상에 투영된 특징점들 중에서 물체를 합성하기 위한 합성 위치 근방의 제1 특징점을 구하기 위한 제1 수단(예를 들면, 도 9의 단계 S3), 제1 화상에 대응되는 제3 좌표계 상에서의 제1 특징점의 제1 좌표를 구하기 위한 제2 수단(예를 들면, 도 9의 단계 S2), 제2 화상 상에 투영된 특징점들 중에서 제2 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점에 대응되는 제2 특징점의 제2 좌표를 구하기 위한 제3 수단(예를 들면, 도 9의 단계 S6), 제1 및 제2 좌표의 좌표 변환 함수를 구하기 위한 제4 수단(예를 들면, 도 9의 단계 S7), 제1 화상에 물체를 합성하기 위한 합성 위치에서 제1 화상에 대응되는 3차원 좌표계 상에서의 제3 좌표를 구하기 위한 제5 수단(예를 들면, 도 9의 단계 S3), 제3 좌표에 좌표 변환 함수를 적용하여 제2 화상에 대응되는 3차원 좌표계 상에서의 제4 좌표를 구하기 위한 제6 수단(예를 들면, 도 9의 단계 S8), 및 제2 화상의 제4 좌표에 대응되는 위치에서 물체의 투영 화상을 합성하는 제7 수단(예를 들면, 도 9의 단계 S10)을 포함한다.
청구항 16의 위치 검출 장치는 제1 화상 상에 투영된 특징점들 중에서 물체 근방의 제1 특징점을 구하기 위한 제1 수단(예를 들면, 도 12의 단계 S34), 제1 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점의 제1 좌표를 구하기 위한 제2 수단(예를 들면, 도 12의 단계 S32), 제2 화상 상에 투영된 특징점들 중에서 제2 화상에 대응되는 3차원 좌표계 상에서의 제1 특징점에 대응되는 제2 특징점의 제2 좌표를 구하기 위한 제3 수단(예를 들면, 도 12의 단계 S36), 제1 화상에 대응되는 3차원 좌표계 상에서의 물체의 제3 좌표를 구하기 위한 제4 수단(예를 들면, 도 12의 단계 S33), 제2 화상에 대응되는 3차원 좌표계 상에서의 물체의 제4 좌표를 구하기 위한 제5 수단(예를 들면, 도 12의 단계 S37), 제1 및 제2 좌표의 좌표 변환 함수를 구하기 위한 제6 수단(예를 들면, 도 12의 단계 S38), 제3 좌표에 좌표 변환 함수를 적용하여 제2 화상에 대응되는 3차원 좌표계 상에서의 제5 좌표를 구하기 위한 제7 수단(예를 들면, 도 12의 단계 S39), 및 제4 좌표와 제5 좌표 간의 차를 검출하기 위한 제8 수단(예를 들면, 도 12의 단계 S40)을 포함한다.
청구항 19의 화상 합성 장치는 복수개의 촬영 화상들 각각을 촬영할 때 촬상 장치의 최적 위치를 연산하는 촬상 장치 위치 연산 수단(예를 들면, 도 18의 단계 S61), 제1 물체의 특징점의 최적 위치를 연산하는 특징점 위치 연산 수단(예를 들면, 도 18의 단계 S61), 최적 위치에 놓여진 촬상 장치를 이용하여 촬영할 때 특징점의 최적 위치가 투영되는 가상 투영 위치를 연산하는 가상 투영 위치 연산 수단(예를 들면, 도 18의 단계 S61), 복수개의 촬영 화상들 각각을 실제적으로 촬영한 특징점의 투영 화상의 위치와 가상 투영 위치 간의 차에 따라 왜곡값을 연산하는 왜곡값 연산 수단(예를 들면, 도 18의 단계 S63), 왜곡값 연산 수단에 의해 연산된 왜곡값에 따라 제2 물체의 투영 화상이 설정되는 위치를 정정하기 위한 정정 수단(예를 들면, 도 18의 단계 S66), 정정 수단에 의해 정정된 위치에 제2 물체가 놓여져 있다고 가정함으로써 최적의 위치에 놓여진 촬상 장치로부터 제2 물체를 촬영할 경우 제2 물체의 투영 화상을 연산하는 투영 화상 연산 수단(예를 들면, 도 18의 단계 S67), 및 각 촬영 화상에 투영 화상 연산 수단에 의해 연산된 제2 물체의 투영 화상을 합성하는 합성 수단(예를 들면, 도 18의 단계 S67)을 포함한다.
물론, 전술된 설명은 각 수단의 설명에 국한되는 것은 아니다.
본 발명의 화상 합성 장치의 실시예는 도 8을 참조함으로써 이하에 기술된다.
도 8에 나타난 바와 같이, 본 발명의 화상 합성 장치는 사용자가 CG 화상(볼(5) 또는 볼(6)의 화상)의 합성 위치를 입력할 때 사용자에 의해 입력부(11)가 제어되도록 한다. 이 입력부(11)는 예를 들면, 키보드, 터치 패널, 마우스 및 원격 제어기로 구성된다.
제어부(12)는 CG 데이타를 합성하기 위하여 각 부를 제어한다. 게다가, 이 제어부(12)는 CG 데이타를 합성하기 위한 프로그램이 저장되어 있는 메모리(12A)를 가진다. 연산부(13)는 화상 데이타 축적부(14)로부터 입력된 화상 데이타에 CG 데이타 저장부(16)로부터 입력된 CG 데이타를 합성하기 위한 다양한 동작을 수행한다. 게다가, 연산부(13)는 CG 데이타와 합성된 화상을 재생부(18)에 출력하도록 구성되어 있다. 제어부(12)와 연산부(13)는 예를 들면, 마이크로컴퓨터에 의해 구현된다.
촬상부(2)는 예를 들면, 메인 비디오 카메라(2A)와 서브 비디오 카메라(2B)로 구성된 입체 비디오 카메라를 이용하여 이 메인 비디오 카메라(2A)와 서브 비디오 카메라(2B)로 플레이트(1)을 촬영하도록 구성되며 이 촬영 화상 데이타를 화상 데이타 축적부(14)로 출력한다. 화상 데이타 축적부(14)는 제어부(12)에 의해 제어되며, 촬상부(2)로부터 입력된 화상 데이타를 축적하여 이 데이타를 연산부(13)로 출력한다.
CG 데이타 저장부(16)는 제어부(12)에 의해 제어되며, 촬상부(2)에 의해 촬영된 화상 데이타에 합성될 CG 데이타(볼들(5, 6)의 화상 데이타)를 저장하여 이 CG 데이타를 연산부(13)로 출력한다. 표시부(17)는 촬상부(2)에 의해 촬영된 화상 데이타 또는 연산부(13)로부터 출력된 플레이트(1)의 위치 정보를 표시한다. 재생부(18)은 연산부(13)로부터 입력된 CG 데이타가 합성되는 화상 데이타를 재생한다.
다음으로, 이렇게 구성된 실시예의 동작은 도 9의 흐름도를 참조하여 이하에 기술된다.
단계 S1에서, 사용자는 입력부(11)을 조작하여 플레이트(1)의 촬영을 시작하도록 명령한다. 입력부(11)는 전술된 명령에 대응되는 신호를 제어부(12)로 출력한다. 이 제어부(12)는 이 신호에 따라 촬상부(2)로부터 전송된 화상 데이타를 화상 데이타 축적부(14)가 축적하게 한다.
사용자는 촬상부(2)(메인 비디오 카메라(2A)와 서브 비디오 카메라(2B))를 이동하면서 플레이트(1)을 촬영하고 이 촬영된 화상 데이타를 화상 데이타 축적부(14)에 출력하여, 이 화상 데이타를 화상 데이타 축적부(14)에 저장한다. 이 경우, 촬상부(2)에 의해 촬영된 화상들의 매수를 N개라고 한다. 게다가, 연속된 시각에서 이 화상들에 1 내지 N개의 식별 번호 k가 부여되고 k-번째(k= 1, . . . , N) 화상 1Ak가 형성될 때의 시각은 k-번째 시각이라고 한다. 더욱이, 제어부(12)는 식별 번호 k를 메모리(12A)에 기억시켜서 이 메모리(12A)를 합성 처리용 카운터로서 사용한다.
촬영이 완료될 때, 제어부(12)는 단계 S2에서 화상 데이타 축적부(14)를 제어하여 화상 데이타 축적부(14)에 축적된 화상 데이타를 연산부(13)에 출력되게 한다. 연산부(13)는 화상 데이타 축적부(14)로부터 입력된 화상 데이타의 휘도 신호 또는 색차 신호가 인접하여 있는 점에 비해 현저하게 변화함으로 인해 이 특징점이 화상 데이타의 다른 부분과 구별될 수 있는 특징점(예를 들면, 플레이트(1) 상의 패턴, 플레이트(1) 상의 결함 또는 다른 패턴)을 구한다. 이 경우, i-번째 특징점(패턴)은 ai라고 가정한다. 이 경우, 부호 i는 각 패턴 ai에 부여된 식별 번호인 정수를 지칭한다. 게다가, 연산부(13)는 동일한 시각에 메인 비디오 카메라(2A)와 서브 비디오 카메라(2B)로부터 입력된 화상 데이타 중에서 동일 패턴들 ai을 비교하고, 이 패턴들 간의 시차를 연산하여 모든 패턴(특징점) ai의 3차원 위치(좌표)를 구한다. 3차원 위치는 카메라 간의 시차를 이용함으로써 구해지기 때문에, 이 위치는 카메라(촬상부(2))를 원점으로 한 3차원 좌표 상의 위치이다. 즉, 예를 들면, 후술될 도 10에 나타난 3차원 좌표의 위치가 구해진다.
예를 들면, 도 10에 나타난 바와 같이, 제1 시각에서의 촬상부(2)의 위치는 원점 O1이고 촬상부(2)의 수평 방향, 수직 방향 및 깊이 방향은 X-축, Y-축, 및 Z-축이라고 한다. 연산부(13)는 제1 시각에서의 플레이트(1)의 화상 1A1상의 모든 패턴 ai의 3차원 위치(X1i, Y1i, Z1i)를 구한다.
그리고 나서, 단계 S3에서, 연산부(13)는 모든 패턴 ai의 위치 제1 화상 1A1을 표시부(17)에 출력하여 이 표시부(17)가 모든 패턴 ai의 위치와 제1 화상 1A1의 위치를 표시하게 한다. 표시부(17)에 표시된 제1 시각에서의 위치 정보에 기초하여 사용자는 입력부(11)를 조작하여 제1 화상 1A1에 볼(5)의 투영 화상 5A1을 합성하기 위한 볼(5)의 3차원 위치(X1A, Y1A, Z1A)와 제1 화상 1A1에 볼(6)의 투영 화상 6B1을 합성하기 위한 볼(6)의 3차원 위치(X1B, Y1B, Z1B)를 지정하고 입력한다.
다음으로, 연산부(13)는 다음 수학식 7에 따라 모든 패턴 ai에 대하여 볼(5)와 패턴 ai 간의 3차원 벡터(x2, y2, z2)를 구하고 벡터의 크기가 작은 순(볼(5)에 근접한 벡터에서 시작)으로 선정된 개수의 패턴들(예를 들면, 12개의 패턴들)(도 10의 프레임(21)에 의해 포함된 부분) Aj(j = 1, . . . , 12)을 선택한다.
(x2, y2, z2) = (X1i, Y1i, Z1i) - (X1A, Y1A, Z1A)
그리고 나서, 12개의 선택된 패턴들 Aj(j = 1, . . . , 12)의 위치는 (X1Aj, Y1Aj, Z1Aj)(j = 1, . . . , 12)라고 가정된다.
유사하게, 연산부(13)는 다음 수학식 8에 따라 모든 패턴 ai에 대해 볼(6)과 패턴 ai 간의 3차원 벡터(x3, y3, z3)를 구하고 벡터의 크기가 작은 순(볼(6)에 근접한 벡터에서 시작)으로 12개의 패턴들(도 10의 프레임(22)에 의해 포함된 부분) Bj(j = 1, . . . , 12)을 선택한다.
(x3, y3, z3) = (X1i, Y1i, Z1i) - (X1B, Y1B, Z1B)
다음으로, 12개의 선택된 패턴들 Bj(j = 1, . . . , 12)의 위치는 (X1Bj, Y1Bj, Z1Bj)(j = 1, . . . , 12)라고 가정된다.
따라서, 합성 위치 근방의 특징점이 구해지고 나서, 화상 합성 처리를 수행하기 위한 단계 S4가 시작된다. 즉, 연산부(13)는 3차원 합성 위치에 대응되는 제1 화상 1A1상의 2차원 합성 위치를 구한다. 2차원 합성 위치는 3차원 합성 위치를 투시 투영 변환함으로써 구해진다. 즉, 촬상부(2)의 촛점 거리를 f라고 가정할 때, 3차원 위치(X1A, Y1A, Z1A)에 대응되는 제1 시각에서의 화상 1A1상의 볼(5)의 투영 화상 5A1의 2차원 위치는 (X1A×f/Z1A, Y1A×f/Z1A)로 나타난다. 유사하게, 3차원 위치(X1B, Y1B, Z1B)에 대응되는 제1 시각에서의 2차원 화상 1A1상의 볼(6)의 투영 화상 6B1의 위치는 (X1B×f/Z1B, Y1B×f/Z1B)로 나타난다.
제어부(12)는 CG 데이타 저장부(16)를 제어하여 CG 데이타 저장부(16)에 저장된 CG 데이타(볼들(5, 6)의 화상 데이타)를 연산부(13)에 출력한다. 다음으로, 연산부(13)는 위에서 구해진 합성 위치에서 CG 데이타를 합성한다.
다음으로, 단계 S5에서, 제어부(12)는 화상 식별 번호 k를 2로 설정한다.
도 11에 나타난 바와 같이, k-번째 시각에서의 촬상부(2)의 위치를 원점 Ok로 하고, 촬상부(2)의 수평 방향, 수직 방향, 및 깊이 방향은 X-축, Y-축 및 Z-축이라고 가정한다. 단계 S6에서, 연산부(13)는 k-번째(이 경우에, k = 2) 화상 1Ak에서 패턴 ai(특징점)의 3차원 위치(Xki, Yki, Zki)를 구한다. 패턴 ai의 위치를 구하는 방법은 제1 화상 1A1의 패턴 ai의 위치를 구하는 방법과 동일하다.
전술된 바와 같이, 플레이트(1) 상의 패턴들 ai이 서로 분리될 수 있기 때문에, k-번째 화상 1Ak에 의해 복원된 k-번째 3차원 좌표계에서의 패턴 Aj와 Bj(j = 1, . . . , 12)에 대응되는 (k-1)-번째(이 경우, 첫번째) 화상 1Ak-1에 의해 복원된 (k-1)-번째 3차원 좌표계의 패턴들(근접한 패턴들) Aj와 Bj(j = 1, . . . , 12)을 식별할 수 있다. 이 경우, k-번째 3차원 좌표계의 패턴들 Aj 및 Bj(j = 1, . . . , 12)의 위치가 (XkAj, YkAj, ZkAj)과 (XkBj, YkBj, ZkBj)(j = 1, . . . , 12)라고 가정한다.
전술된 2개의 좌표계들은 상이한 각에서 동일 패턴들 Aj와 Bj를 관찰한다. 따라서, (k-1)-번째 3차원 좌표계에서, 이 (k-1)-번째 3차원 좌표계의 각 패턴 Aj에 선정된 회전 변환(이하, 회전 변환의 변환 함수는 R2라고 한다)과 선정된 병진 변환(이하, 병진 변환의 변환 함수는 S2로서 가정된다)을 적용함으로써, k-번째 3차원 좌표계를 구할 수 있게 된다. 따라서, 각 패턴 Aj에 대하여 다음 수학식 9가 성립한다.
(XkAj, YkAj, ZkAj) = (X(k-1)Aj, Y(k-1)Aj, Z(k-1)Aj)·R2+ S2
따라서, 단계 S7에서, 연산부(13)는 각 패턴 Aj에 대하여 (X(k-1)Aj, Y(k-1)Aj, Z(k-1)Aj)와 (XkAj, YkAj, ZkAj)를 수학식 9에 대입함으로써 변환 함수들 R2와 S2를 구한다.
유사하게, (k-1)-번째 3차원 좌표계에서의 각 패턴 Bj에 선정된 회전 변환(이하, 회전 변환의 변환 함수는 R3로서 가정된다)과 선정된 병진 변환(이하, 병진 변환의 변환 함수는 S3로서 가정된다)을 적용함으로써, k-번째 3차원 좌표계를 구할 수 있게 된다. 따라서, 각 패턴 Bj에 대하여 다음 수학식 10이 성립한다.
(XkBj, YkBj, ZkBj) = (X(k-1)Bj, Y(k-1)Bj, Z(k-1)Bj)·R3+ S3
따라서, 연산부(13)는 각 패턴 Bj에 대하여 (X(k-1)Bj, Y(k-1)Bj, Z(k-1)Bj)와 (XkBj, YkBj, ZkBj)를 수학식 10에 대입함으로써 변환 함수들 R3와 S3를 구한다.
전술된 바와 같이, 임의의 시각에 촬영된 2차원 화상 데이타로부터 3차원 공간 내의 패턴들 Aj와 Bj의 위치를 복원하는 경우, 이 복원 위치를 오류를 포함한다. 따라서, 예를 들면, (k-1)-번째 3차원 좌표계를 기준으로 사용하는 경우, j-번째 패턴들 Aj 및 Bj의 위치는 (X(k-1)Aj, Y(k-1)Aj, Z(k-1)Aj)와 (X(k-1)Bj, Y(k-1)Bj, Z(k-1)Bj)에 정확하게 존재하지 않게 된다. 더욱이, k-번째 3차원 좌표계를 기준으로 사용하는 경우, j-번째 패턴들 Aj와 Bj의 위치는 (XkAj, YkAj, ZkAj)와 (XkBj, YkBj, ZkBj)에 정확하게 존재하지 않게 된다.
따라서, 연산부(13)는 최소 제곱 방법에 따라 모든 패턴들 Aj에 대해 다음 수학식 11의 3차원 벡터(x4, y4, z4)의 크기를 제곱하고 구해진 값을 합산하여 전체값을 최소화하기 위한 (최적의) 변환 함수 R2와 S2를 구한다.
(x4, y4, z4) = (XkAj, YkAj, ZkAj)
- {(X(k-1)Aj, Y(k-1)Aj, Z(k-1)Aj)·R2+ S2}
단계 S8에서, 전술된 바와 같이 구해진 변환 함수들 R2와 S2를 이용함으로써, 연산부(13)는 다음 수학식 12에 따라 k-번째 시각에서의 볼(5)의 3차원 위치(XkA, YkA, ZkA)를 구한다. 이 위치는 도 11에 나타난 3차원 좌표계에 있어서의 위치이다.
(XkA, YkA, ZkA) = (X(k-1)A, Y(k-1)A, Z(k-1)A)·R2+ S2
유사하게, 연산부(13)는 최소 제곱 방법에 따라 모든 패턴들 Bj에 대해 3차원 벡터(x5, y5, z5)를 곱함으로써 구해진 값들을 합산하여 수학식 13에 의해 나타난 전체값을 최소화하기 위한 (최적의) 변환 함수들 R3와 S3를 구한다.
(x5, y5, z5) = (XkBj, YkBj, ZkBj)
- {(X(k-1)Bj, Y(k-1)Bj, Z(k-1)Bj)·R3+ S3}
단계 S8에서, 전술된 바와 같이 구해진 변환 함수들 R3와 S3를 이용함으로써, 연산부(13)는 다음 수학식 14로부터 k-번째 시각에서의 볼(6)의 투영 화상 6Bk의 위치(XkB, YkB, ZkB)를 구한다. 이 위치는 도 11에 나타난 3차원 좌표계에 있어서의 위치이다.
(XkB, YkB, ZkB) = (X(k-1)B, Y(k-1)B, Z(k-1)B)·R3+ S3
이와 관련하여, R2, S2, R3및 S3는 (k-1)-번째 시각과 k-번째 시각에서의 촬상부(2)들 간의 위치 관계에 따라 좌우된다. 즉, R2, S2, R3및 S3는 k의 함수들로서, R2는 R2(k)이고, S2는 S2(k)이고, R3는 R3(k)이며, S3는 S3(k)이다.
더욱이, 단계 S9에서, 연산부(13)는 다음 수학식 15에 따라 모든 패턴들 ai에 대하여 볼(5)와 패턴 ai 간의 3차원 벡터(x6, y6, z6)를 구하고 다음 수학식 15에 나타난 벡터의 크기가 작은 순(볼(5)에 근접한 벡터에서 시작)으로 k-번째 3차원 좌표계에서의 12개의 패턴들(도 11의 프레임(21)에 의해 포함된 부분) Aj을 선택한다.
(x6, y6, z6) = (Xki, Yki, Zki) - (XkA, YkA, ZkA)
게다가, 연산부(13)는 다음 수학식 16에 따라 모든 패턴들 ai에 대해 볼(6)과 패턴 ai 간의 3차원 벡터(x7, y7, z7)를 구하고 벡터의 크기가 작은 순(볼(6)에 근접한 벡터에서 시작)으로 k-번째 3차원 좌표계에서의 12개의 패턴들(도 11의 프레임(22)에 의해 포함된 부분) Bj을 선택한다.
(x7, y7, z7) = (Xki, Yki, Zki) - (XkB, YkB, ZkB)
다음으로, 단계 S10에서, 연산부(13)는 k-번째 화상 1Ak에서 투시 투영 변환의 관계를 이용하여 (XkA×f/ZkA, YkA×f/ZkA)의 위치에서 볼(5)의 투영 화상 5Ak를 합성한다. 더욱이, k-번째 화상 1Ak의 투영 화상 5Ak이외에 임의의 물체가 촬상부(2)측에 존재하는 경우, 연산부(13)는 투영 화상 5Ak가 물체 뒤에 있다면 이를 합성하지 않는다.
유사하게, 연산부(13)는 k-번째 화상 1Ak에 투시 투영 변환의 관계를 이용하여 (XkB×f/ZkB, YkB×f/ZkB)의 위치에서 볼(6)의 투영 화상 6Bk를 합성한다. 또한, 이 경우, k-번째 화상 1Ak의 투영 화상 6Bk이외에 임의의 물체가 촬상부(2)측에 존재하는 경우, 연산부(13)는 투영 화상 6Bk가 물체 뒤에 있다면 이를 합성하지 않는다.
다음으로, 단계 S11에서, 제어부(12)는 촬상부(2)에 의해 촬영된 전체 화상 데이타에 대하여 합성 처리가 완료되었는지를 판정한다. 그 처리가 완료되지 않는 한(k . . . N인 경우), 제어부(12)는 단계 S12를 시작하여 화상의 식별 번호 k를 1씩 증가시키고(k = k +1), 단계 S4로 귀환하여 합성 처리를 계속한다. 이러한 처리가 완료되는 경우(k = N인 경우), 제어부(12)는 단계 S13을 시작하고 연산부(13)는 합성 처리를 한 화상 데이타를 재생부(18)에 출력하여 이 재생부(18)가 데이타를 재생하게 한다(데이타를 표시).
예를 들면, 볼들(5, 6) 근방의 패턴들 ai 간의 위치 관계(예를 들면, 볼들(5, 6)로부터 10 cm 떨어져 있음)가 항상 동일한 경우, 사람은 볼들(5, 6)이 정지되어 있는 것으로 느낀다. 그러나, 볼들(5, 6)로부터 멀리 떨어진 패턴들 ai 간의 위치 관계(예를 들면, 볼들(5, 6)로부터 100 m 떨어져 있음)가 변한다고 할지라도, 사람은 그 위치 관계의 변화를 감지하지 못한다.
본 발명의 경우에, 합성 위치로부터 멀리 떨어져 있는 패턴을 고려하지 않고 합성 위치 근방의 패턴을 선택하여(패턴이 사람에 의해 감지되지 않음) 패턴에 대한 회전 변환 및 병진 변환을 구한다. 따라서, 플레이트(1) 상에 볼들(5, 6)이 정지되어 있는 것처럼 보이도록 화상을 합성할 수 있다.
전술된 실시예의 경우에, 정지된 볼들(5, 6)은 플레이트(1)에 합성된다. 그러나, 플레이트(1)에 움직이는 볼들(5, 6)을 합성할 수도 있다. 이 경우, 도 9의 단계 S8에서 구해진 k-번째 3차원 좌표계에서 합성될 볼들(5, 6)의 합성 위치에서 각각의 이동을 표시하는 3차원 벡터를 부가하여 얻어진 값을 볼들(5, 6)의 새로운 위치로 하여, 이 볼들(5, 6)의 투영 화상을 합성할 필요가 있다.
게다가, 전술된 실시예의 경우에, 볼들(5, 6)과 같이 상대적으로 작은 물체가 합성된다. 그러나, 큰 물체도 합성 가능하다. 예를 들면, 커다른 사각 육면체를 합성하기 위하여, 사각 육면체의 8개의 정점을 지정함으로써, 정점들을 연결하는 변과 이 변으로 둘러싸인 면을 얻을 수 있다. 사각 육면체는 이들 8개의 정점들을 독립된 물체라고 가정함으로써 합성된다. 연속된 각각의 화상에 있어서 8개의 점들이 결정되기 때문에, 이들 점들을 직선으로 연결하고 이 직선으로 연결된 점들을 변으로 사용하며, 더 나아가서는 이 변들에 의해 둘러싸인 것을 면으로 이용함으로써 사각 육면체를 합성할 수 있다.
전술된 실시예의 경우에, CG를 통하여 형성된 볼들(5, 6)의 화상들이 합성된다. 그러나, 플레이트(1) 상에 실제로 존재하는 물체(실제로 촬영될 물체)들 간의 위치 관계를 구할 수 있게 된다. 다음으로, 그 동작에 대해서는 도 12의 흐름도를 참조하여 이하에 기술한다.
도 13에 나타난 바와 같이, 제1 시각에서의 촬상부(2)의 위치를 원점 O1이라고 하고 이 촬상부(2)의 수평 방향, 수직 방향 및 깊이 방향을 X-축, Y-축 및 Z-축이라고 가정한다. 현존하는 볼들(31, 32)은 플레이트(1) 상에서 이동한다. 단계 S31에서, 촬상부(2)는 예를 들면 사용자에 의해 이동되면서 플레이트(1)를 촬영한다. 전술된 실시예의 경우와 유사하게, 촬영 시간 내에 촬상부(2)에 의해 촬영된 화상들의 매수를 N이라고 가정한다. 게다가, 연속된 시각의 이들 화상들에 대하여 1 내지 N의 식별 번호 k가 부여되고 k-번째 화상 1Ak이 형성되는 시각을 k-번째 시각이라고 가정한다. 더욱이, 제어부(12)는 메모리(12A)가 식별 번호 k를 저장하게 하며 메모리(12)를 합성 처리 카운터로서 이용한다.
촬상부(2)에 의해 촬영된 화상이 완성될 때, 연산부(13)는 단계 S32에서 제1 시각에서의 플레이트(1) 상의 모든 패턴(특징점) ai의 3차원 위치(X1i, Y1i, Z1i)를 구한다. 게다가, 연산부(13)는 단계 S33에서 제1 시각에서의 볼(31)의 3차원 위치(X1C, Y1C, Z1C)와 볼(32)의 3차원 위치(X1D, Y1D, Z1D)를 구한다.
연산부(13)는 다음 수학식 17에 따라 단계 S34에서 모든 패턴 ai에 대하여 패턴 ai와 볼(31) 간의 3차원 벡터(x8, y8, z8)를 구하고 벡터들의 크기가 작은 순(볼(31)에 가장 근접한 벡터에서 시작)으로 제1 3차원 좌표계의 12개의 패턴들(도 13의 프레임(41)에 의해 둘러싸인 부분)을 선택한다.
(x8, y8, z8) = (X1i, Y1i, Z1i) - (X1C, Y1C, Z1C)
더욱이, 12개의 선택된 패턴들 Cj(j = 1, . . . , 12)의 위치는 (X1Cj, Y1Cj, Z1Cj)(j = 1, . . . , 12)로 가정된다.
유사하게, 연산부(13)는 다음 수학식 18에 따라 모든 패턴 ai에 대하여 패턴 ai와 볼(32) 간의 3차원 벡터(x9, y9, z9)를 구하고 벡터들의 크기가 작은 순(볼(32)에 가장 근접한 벡터에서 시작)으로 제1 3차원 좌표계의 12개의 패턴들(도 13의 프레임(42)에 의해 둘러싸인 부분)을 선택한다.
(x9, y9, z9) = (X1i, Y1i, Z1i) - (X1D, Y1D, Z1D)
다음으로, 12개의 선택된 패턴들 Dj(j = 1, . . . , 12)의 위치들은 (X1Dj, Y1Dj, Z1Dj)(j = 1, . . . , 12)라고 가정한다.
그리고 나서, 단계 S35에서, 제어부(12)는 화상 데이타의 식별 번호 k를 2로 설정한다.
유사하게, 도 14에 나타난 바와 같이, k-번째 시각에서의 촬상부(2)의 위치를 원점 Ok라고 하고 이 촬상부(2)의 수평 방향, 수직 방향 및 깊이 방향을 X-축, Y-축 및 Z-축이라고 가정한다. 게다가, 연산부(13)은 단계 S36에서 k-번째 화상 1Ak에서 패턴 ai의 3차원 위치(Xki, Yki, Zki)를 구한다.
전술된 바와 같이, 플레이트(1) 상의 패턴들 ai은 서로 분리될 수 있기 때문에, (k-1)-번째 화상 1Ak-1으로부터 복원된 (k-1)-번째 3차원 좌표계에서의 패턴들 Cj와 Dj(j = 1, . . . , 12)가 k-번째 화상 1Ak으로부터 복원된 k-번째 3차원 좌표계에서의 패턴들 Cj와 Dj(j = 1, . . . , 12)에 대응되는지를 식별할 수 있다. 이 경우, k-번째 3차원 좌표계에서의 패턴들 Cj와 Dj(j = 1, . . . , 12)의 위치를 (XkCj, YkCj, ZkCj)와 (XkDj, YkDj, ZkDj)(j = 1, . . . , 12)라고 가정한다.
연산부(13)은 단계 S37에서 k-번째 시각에서의 볼(31)의 위치(XkC, YkC, ZkC)와 볼(32)의 위치(XkD, YkD, ZkD)를 구한다.
(k-1)-번째 3차원 좌표계에서, 패턴 Cj에 선정된 회전 변환(이하, 회전 변환의 변환 함수를 R4라고 가정한다)과 선정된 병진 변환(이하, 병진 변환의 변환 함수를 S4라고 가정한다)을 적용함으로써, k-번째 3차원 좌표계를 구할 수 있게 된다. 게다가, 3차원 공간에서의 패턴 Cj의 위치를 복원하기 위하여, 연산부(13)는 다음 수학식 19에 따른 최소 제곱 방법에 의해 모든 패턴들 Cj에 대하여 3차원 벡터(x12, y12, z12)의 크기를 제곱하여 구해진 값들을 합산하여 복원된 위치가 임의의 오류를 포함하는지를 고려하여 단계 S38에서 전체값을 최소화하는 (최적의) 변환 함수들 R4와 S4를 구한다.
(x12, y12, z12) = (XkCj, YkCj, ZkCj)
- {(X(k-1)Cj, Y(k-1)Cj, Z(k-1)Cj)·R4+ S4}
연산부(13)은 구해진 변환 함수들 R4와 S4를 이용하여 단계 S39에서 다음 수학식 20에 따라 볼(32)이 정지되어 있을 때의 위치(XkC', YkC', ZkC')를 구한다.
(XkC', YkC', ZkC') = (X(k-1)C, Y(k-1)C, Z(k-1)C)·R4+ S4
따라서, 다음 수학식 21의 3차원 벡터(xkc, ykc, zkc)는 (k-1)-번째 시각과 k-번째 시각 사이에서 볼(31)의 움직임을 나타낸다. 이러한 동작은 단계 S40에서 수행된다.
(xkc, ykc, zkc) = (XkC, YkC, ZkC) - (XkC', YkC', ZkC')
유사하게, (k-1)-번째 3차원 좌표계에서 패턴 Dj에 선정된 회전 변환(이하, 변환 함수를 R5라고 가정한다)과 선정된 병진 변환(이하, 변환 함수를 S5라고 가정한다)을 적용함으로써, k-번째 3차원 좌표계를 구할 수 있게 된다. 3차원 공간에서의 패턴 Dj의 위치를 복원하기 위하여, 연산부(13)는 최소 제곱 방법에 의해 모든 패턴들 Dj에 대하여 다음 수학식 22에서의 3차원 벡터(x13, y13, z13)의 크기를 제곱하여 구해진 값들을 합산하여 복원된 위치가 임의의 오류를 포함하는지를 고려하여 전체값을 최소화하는 (최적의) 변환 함수들 R5와 S5를 구한다.
(x13, y13, z13) = (XkDj, YkDj, ZkDj)
- {(X(k-1)Dj, Y(k-1)Dj, Z(k-1)Dj)·R5+ S5}
연산부(13)은 구해진 변환 함수들 R5와 S5를 이용하여 다음 수학식 23에 따라 볼(32)이 정지되어 있을 때의 위치(XkD', YkD', ZkD')를 구한다.
(XkD', YkD', ZkD') = (X(k-1)D, Y(k-1)D, Z(k-1)D)·R5+ S5
따라서, 다음 수학식 24에서의 3차원 벡터(xkd, ykd, zkd), 즉 (k-1)-번째 시각과 k-번째 시각 사이에서의 볼(32)의 움직임을 구할 수 있다.
(xkd, ykd, zkd) = (XkD, YkD, ZkD) - (XkD', YkD', ZkD')
다음으로, 연산부(13)는 다음 수학식 25에 나타난 바와 같이, 단계 S41에서 모든 패턴들 ai에 대하여 볼(31)과 패턴 ai 사이의 3차원 벡터(x10, y10, z10)를 구하고 벡터들의 크기가 작은 순(볼(31)에 근접한 벡터에서 시작)으로 k-번째 3차원 좌표계에서의 12개의 패턴들(도 14의 프레임(41)에 의해 둘러싸인 부분)을 선택한다.
(x10, y10, z10) = (Xki, Yki, Zki) - (XkC, YkC, ZkC)
더욱이, 연산부(13)는 다음 수학식 26에 나타난 바와 같이 모든 패턴들 ai에 대하여 볼(32)과 패턴 ai 사이의 3차원 벡터(x11, y11, z11)를 구하고 벡터들의 크기가 작은 순(볼(32)에 근접한 벡터에서 시작)으로 k-번째 3차원 좌표계에서의 12개의 패턴들(도 14의 프레임(41)에 의해 둘러싸인 부분)을 선택한다.
(x11, y11, z11) = (Xki, Yki, Zki) - (XkD, YkD, ZkD)
다음으로, 단계 S42에서, 제어부(12)는 촬상부(2)에 의해 촬영된 전체 화상 데이타에 대한 합성 처리가 완료되었는지를 판정한다. 처리가 완료되지 않은 경우(k . . . N인 경우), 제어부(12)는 단계 S43에서 시작하여 화상의 식별 번호 k를 1씩 증가시키고(k = k +1), 단계 S36으로 귀환하여 합성 처리를 계속한다. 이러한 처리가 완료되는 경우(k = N인 경우), 연산부(13)는 단계 S44에서 시작하여 표시부(17)가 각 시각에 이동값들(xkc, ykc, zkc)와 (xkd, ykd, zkd)를 표시하게 한다.
전술된 제1 실시예의 경우에, 특징점은 플레이트(1) 상의 패턴 ai과 같은 2차원 물체를 사용한다. 그러나, 예를 들면, 3차원 정렬된 사각 육면체의 한 변도 사용 가능하다.
게다가, 제1 실시예의 경우에, 특징점은 연산부(13)에 의한 조작을 통하여 선택된다. 그러나, 예를 들면, 사용자가 처리 중에 입력부(11)를 조작하여 특징점을 선택할 수도 있다.
더욱이, 제1 실시예의 경우에, 합성 위치 근방의 12개의 패턴들(특징점들) Aj와 Bj이 선택된다. 그러나, 예를 들면, 합성 위치에 근접한 20개의 패턴들을 선택하고, 이 20개의 패턴들 중에서 그 합성 위치에 좀 더 근접한 12개의 패턴들에는 8개의 나머지 패턴들 보다 더 웨이트(weight)를 제공하며, 최소 제곱 방법을 이용함으로써 회전 변환 함수 및 직각 변환 함수를 구할 수도 있게 된다.
이렇게 구해진 회전 변환 함수와 직각 변환 함수는 비교적 멀리 떨어진 8개의 패턴들에 대해서는 비교적 큰 오류를 가지는 회전 변환 함수와 직각 변환 함수로서 제공되고 충분히 근접한 12개의 패턴들에 대해서는 완벽하게 제어된 오류를 가진 회전 변환 함수 및 직각 변환 함수로서 제공된다. 이는 소정 거리 만큼 서로 떨어진 특징점들(전술된 8개의 패턴들) 간의 위치 관계는 비교적 덜 정확하게 인식하고 서로 충분히 근접한 특징점들(전술된 12개의 패턴들) 간의 위치 관계는 매우 정확하게 인식하는 인간 눈의 특성에 대응되기 때문에 적절하다. 물론, 본 발명은 특징점들의 개수가 12 또는 20개에 제한되지 않는다.
제1 실시예의 경우에, 촬상 플레이트(1)는 설명의 간략화를 위하여 CG 데이타와 합성된다. 그러나, 실제적으로, 플레이트(1)는 카메라에 의해 촬영된 실제 화상이고 플레이트(1)의 특징점은 실제 화상의 엣지와 같은 특징점에 대응된다. 예를 들면, 촬영 화상이 책상 또는 벽인 경우, 책상의 코너 또는 벽의 얼룩(먼지 등)은 특징점으로서 제공된다.
예를 들면, 실제 책상이 있는 실제 실내를 카메라로 촬영하여 얻은 실체 화상의 책상 위에 CG를 통하여 형성된 화병을 올려 놓는다고 가정한다. 우선, 책상의 코너로부터 3차원 정보(특징점)을 구할 수 있다. 더욱이, 실내에 있는 창틀의 코너 또는 방안 천장 상에 있는 형광등의 코너가 3차원 정보(특징점)로서 검출된다. 게다가, 책상 위에 CG를 통하여 형성된 화병을 올려 놓는 경우, CG를 통하여 형성된 화병은 화병이 놓여지는 위치 근방에 있는 특징점(예를 들면, 책상 등의 코너)으로부터 구해진 3차원 정보에 따라 실체 화상과 합성된다. 그러나, 이 경우, 멀리 떨어진 특징점으로부터 구해진 3차원 정보(실내에 있는 창틀의 코너 또는 방안 천장 상에 있는 형광등의 코너)는 무시된다.
전술된 실시예의 경우에, CG를 통하여 형성된 작은 볼은 촬영 화상에 합성된다. 게다가, 큰 사각 육면체를 합성하기 위하여, 사각 육면체의 8개의 정점들은 독립된 물체로서 가정되고, 각 정점은 정점 근방의 특징점에 합성되어 상기 위치들이 서로 일치하게 되며, 이 정점들이 직선으로 접속되어 있는 위치에 변들 및 면들이 합성된다. 즉, 정점들이 배치되어 있기 때문에, 사람은 사각 육면체의 정점들이 배열되어 있다고 느끼지 못한다. 그러나, 변들과 면들은 정확하게 배치되지 않는다.
그 결과, 제1 물체를 연속적으로 촬영함으로써 얻어진 촬영 화상 스트링을 처리하여 제2 물체가 전술된 스트링에 있는 것과 같이 나타내는 새로운 촬영 화상 스트링을 생성할 때, 즉, 최초 촬영 화상에 제2 화상을 합성하여 합성된 화상 스트링을 생성할 때, 이 합성된 화상 스트링은 합성 위치가 각 합성된 화상에 다소 어긋나 있기 때문에 부자연스러울 수도 있다.
즉, 각 시각에서 3차원 실제 공간 내에 있는 촬상 장치의 위치 및 자세(방향)와 3차원 실제 공간 내에 있는 특징점의 위치를 구할 때, 이렇게 구해진 값들은 참값을 나타내는 것이 아니라 오류를 포함한다.
소정 시간 Th에서의 촬영 화상이 인식된다. 이 시각 Th에서, 오차를 포함하고 있지만 참값이 아닌 촬상 장치의 구해진 위치와 자세(방향)로부터, 오차를 포함하고 있지만 참값이 아닌 구해진 특징점의 위치에, 그 특징점이 있다고 가정하여 촬영한 경우의 특징점의 투영 위치를 가상 투영 위치라고 한다.
사실상, 시간 Th에서 촬영된 촬영 화상 Ph에 나타나는 특징점의 위치는 가상 투영 위치로부터 다소 어긋나 있다.
따라서, 후술될 제2 실시예의 경우에, 변위값(왜곡값)이 구해진다. 이 왜곡값은 위치에 따라 좌우된다. 게다가, 왜곡값이 시간에 따라 좌우되기 때문에, 이는 각 시간에 대하여 구해진다. 바꾸어 말하자면, 왜곡값은 위치 및 시간의 함수이다.
합성될 물체(제2 물체)의 위치(가상 위치)는 제2 물체의 위치와 구해진 특징점의 위치 간의 관계에 따라 조작자에 의해 결정된다.
제1 실시예의 경우에서와 유사하게, 제2 물체가 가상 위치에 존재한다고 가정할 때 그 시각에 구해진 촬상 장치의 위치 및 자세(방향)으로부터 제2 물체의 투영 화상을 구하는 경우, 실제적으로 촬영된 촬영 화상 Ph의 특징점의 투영 위치로부터 배치된다.
제2 실시예의 경우에, 조작자에 의해 결정된 제2 물체의 가상 위치는 구해진 왜곡값과 동일한 값만큼 왜곡된다. 게다가, 제2 물체의 투영 화상은 제2 물체가 왜곡된 위치에 존재한다고 가정함으로써 구해진다. 따라서, 제2 물체의 투영 화상의 위치는 실제 촬영된 촬영 화상 Ph의 특징점의 투영 화상의 위치와 일치한다.
다음으로, 일반적인 컴퓨터 비젼에 대한 기하학(geometry)은 제2 실시예를 구체적으로 기술하기 전에 이하에 기술된다.
촬상 장치(도 8의 촬상부(2)에 해당됨)의 위치 및 자세(방향)는 매트릭스 R의 회전 및 벡터 S의 변환으로 인해 월드 좌표의 원점으로부터 이동한 위치에 있다고 가정된다. 이 경우, 월드 좌표에 기초한 위치(X, Y, Z)에서의 한 점은 촬상 장치에 기초한 좌표계의 경우에 다음 수학식 27에 나타난 좌표(XX, YY, ZZ)를 가진다.
따라서, 전술된 촬상 장치에 의해 촬영된 촬영 화상에서의 상기 점의 투영 화상의 위치(U, V)는 다음 수학식 28 및 29로 나타나 있다. 이 상태는 도 16에 나타나 있다.
여기서,
수학식 28 및 29에서의 부호 f는 촬상 장치의 촛점 거리를 지칭한다.
다음으로, 복수개의 촬영 화상의 점들과 3차원 실제 공간 내의 점들이 가정된다.
복수개의 촬영 화상들은 촬상 장치를 이동하면서 촬영함으로써 얻어진다. 촬영은 T1, T2, T3, . . . , TH와 같은 H 시각에 수행된다고 가정한다. 더욱이, 시간 Th에 촬영된 촬영 화상은 Ph라고 가정한다. 게다가, 시간 Th에 촬상 장치의 위치 및 자세는 회전 매트릭스 Rh와 평형 변위 벡터 Sh로 인해 월드 좌표의 원점으로부터 이동된다. 이 경우, h = 1, . . . , H.
더욱이, 3차원 실제 공간에서 점들(J개의 점들)의 각 위치를 월드 좌표에 기초한 (Xj, Yj, Zj)라고 가정한다. 즉, j-번째 점의 위치를 (Xj, Yj, Zj)라고 가정한다. 이 경우, j = 1, . . . , J. 게다가, 3차원 실제 공간에서 각 점이 정지되어 있다고 가정한다.
더욱이, 촬영 화상 상에 나타나 있는 j-번째 점의 투영 화상의 위치를 (Uhj, Vhj)라고 가정한다.
수학식 27 내지 29의 경우에서와 유사한 다음 수학식 30 내지 32가 유도된다.
여기서, j = 1, . . . , J이고 h = 1, . . . , H.
여기서, , j = 1, . . . , J이고, h = 1, . . . , H.
이 경우, (XXhj, YYhj, ZZhj)는 시각 Th에서 촬상 장치에 기초한 좌표계 상에서의 j-번째 점의 위치를 지칭한다.
각 시각에서 3차원 실제 공간에서의 촬상 장치의 위치 및 자세(방향)와 상기 점의 위치(Xj, Yj, Zj)는 미지 상태라고 가정한다. 이 경우, 각 시각에서의 촬영 화상 Ph(h = 1, . . . , H)으로부터 미지 값을 구할 수 있다. 즉, 촬영 화상 Ph 상에 나타나는 j-번째 점의 투영 화상의 위치(Uhj, Vhj)는 화상 Ph를 체크함으로써 구해질 수 있다. 이 구해진 위치(Uhj, Vhj)를 수학식 31과 32에 대입함으로써 미지의 파라미터(회전 매트릭스 Rh, 평형 변위 벡터 Sh, 및 Xj, Yj, Zj)를 구할 수 있다. 여기서, h = 1, . . . , H이고 j = 1, . . . , J.
이 수학식 31과 32에 (Uhj, Vhj)의 값을 대입하여 수학식 31과 32를 풀이할 경우, 월드 좌표를 어떻게 배치하여야 하는지에 대한 불정성이 남는다. 그러나, 이는 중요치 않다. 예를 들면, 제1 시각 T1에서의 촬상 장치의 위치 및 자세(방향)가 월드 좌표와 일치되도록 할 수 있다. 바꾸어 말하자면, R1이 제로 매트릭스이고 S1은 제로 벡터인 조건 하에서 수학식 31과 32를 풀이할 수 있다.
게다가, 넓은 각의 렌즈(어안 렌즈)를 이용하는 촬상 장치의 경우에, 이 장치로 촬영된 촬영 화상이 왜곡될 수도 있다. 이 경우, 왜곡값을 미리 측정할 필요가 있다(미리 카메라 칼리브레이션한다). 왜곡값의 역수를 왜곡된 촬영 화상에 곱함으로써, 비왜곡된 촬영 화상을 작성할 수 있다. 게다가, 비왜곡된 촬영 화상에 대한 전술된 방법을 이용함으로써, 수학식 31과 32로부터 각 시각에서의 촬상 장치의 위치 및 자세(방향)와 3차원 실제 공간에서의 상기 점의 위치(Xj, Yj, Zj)를 구할 수 있다.
수학식 31과 32를 풀이함으로써, 각 시각에서의 3차원 실제 공간에서의 촬상 장치의 위치 및 자세(방향)와 3차원 실제 공간에서의 상기 점의 위치를 구할 수 있다. 그러나, 이들 구해진 값들은 참값을 나타내지 않는다. 전술된 바와 같이, 일반적으로 측정된 데이타에 오류들이 항상 포함되어 있다. 각 시각(Th)에서의 촬상 장치의 위치 및 자세(방향)와 j-번째 점의 위치(Xj, Yj, Zj)는 미지의 파라미터들로서 사용되고 이 미지의 파라미터들은 수학식 31과 32에 따라 관측 데이타(Uhj, Vhj)로부터 구해진다. 이 경우, 관측 데이타(Uhj, Vhj)에 오류들을 포함하고 있기 때문에, 수학식 31과 32를 풀이함으로써 구해진 3차원 실제 공간에서의 촬상 장치의 위치 및 자세(방향)와 3차원 실제 공간에서의 상기 점의 위치에도 오류들이 포함되어 있다.
도 17은 제2 실시예의 화상 합성 장치의 구조의 일례를 나타낸다. 도 17에서, 처리 회로(32)는 프로그램 메모리(31)에 저장된 프로그램에 따라 다양한 동작 형태를 수행한다. 데이타 메모리(33)는 처리 회로(32)에 의해 현재 처리된 데이타를 저장하기 위한 메모리이다. 프레임 메모리(34)는 화상 표시부(35)에 표시될 화상 데이타를 저장한다. 입력부(36)는 예를 들면, 키보드 및 마우스로 구성되며 다양한 명령을 입력하기 위하여 동작된다. 입출력 단자(37)는 도시되지 않은 외부 유닛과 접속되어 데이타를 전송한다. 버스 라인(38)은 이 유닛들을 서로 접속하기 위한 버스이다.
다음으로, 제2 실시예의 화상 합성 장치의 동작은 도 18의 흐름도를 참조하여 이하에 기술된다. 도 18의 처리는 처리 회로(32)에 의해 주로 수행된다.
2개의 실제 빌딩들(제1 물체: 도 19에 빌딩(71)과 빌딩(81)으로서 나타나 있음) 사이에 CG를 통하여 형성된 빌딩(제2 물체: 도 20에 빌딩(91)로서 나타나 있음)을 배치한다고 가정한다. 다음으로, 단계 S61에서, 전술된 2개의 실제 빌딩(제1 물체)은 비디오 카메라(촬상 장치)를 이동하면서 촬영된다. 이 2개의 빌딩들에 대한 화상 데이타는 입출력 단자(37)로부터 버스 라인(38)을 통하여 데이타 메모리(33)에 저장된다. 이 경우, 각 촬영 화상 내의 빌딩의 투영 화상의 위치가 시간의 경과에 따라 이동하기 때문에, 빌딩(제2 물체)의 투영 화상의 위치를 옮겨서 촬영 화상에 합성시킬 필요가 있다. 이 상태는 도 19 내지 23에 나타나 있다.
즉, 도 19에 나타난 바와 같이, 비디오 카메라(촬상 장치)의 위치를 제1 시각 T1에서의 61-1이라고 가정한다. 다음 시각 T2에서는, 비디오 카메라가 위치 61-2로 이동한다. 유사하게, 시각 Th(h = 3, 4, . . . , H)에서는, 비디오 카메라의 위치가 61-h로 이동한다. 이로써, 전술된 2개의 실제 빌딩(제1 물체들)(71, 81)이 촬영된다. 빌딩들(71, 81) 사이에 제2 물체(빌딩(91))를 합성하는 것, 즉 위치 61-1 내지 위치 61-H로 비디오 카메라를 이동하면서 도 20에 나타난 3개의 빌딩들(71, 91)을 촬영함으로써 구해진 촬영 화상과 동일한 합성 화상을 구하는 것이 최종 목적이다.
도 21은 시각 T1, T2, . . . , Th, . . . , TH에 비디오 카메라에 의해 촬영된 촬영 화상 P1, P2, . . . , Ph, . . . , PH를 나타낸다. 부호들 71-1, 71-2, . . . , 71-h, . . . , 71-H은 다양한 시각에 전술된 실제 빌딩(71)의 투영 화상을 지칭한다. 부호들 81-1, 81-2, . . . , 81-h, . . . , 81-H은 다양한 시각에 전술된 실제 빌딩(81)의 투영 화상을 지칭한다.
다음으로, 각 시각에 각 촬영 화상 Ph(도 21)을 촬영하는 경우 3차원 실제 공간에서의 비디오 카메라의 위치 및 자세(방향)와 3차원 실제 공간에서의 제1 물체들(71, 81)의 J개의 특징점들(제1 특징점들)의 위치가 구해진다. 전술된 바와 같이, 특징점은 휘도 또는 색이 갑작스럽게 변화하는 점이다. 예를 들면, 특징점은 사각 육면체(예를 들면, 빌딩)의 코너 또는 흰 평면 상의 검은 점(예를 들면, 흰 벽에 둘러붙은 검은 먼지)이다. 구체적으로, 도 19의 빌딩들(71, 81)의 코너들(72) 내지 (75)와 (82) 내지 (85)는 제1 특징점들이다. 이와 관련하여, 코너들(72) 내지 (75)에 의해 둘러싸인 평면은 빌딩(71)의 정면이고 코너들(82) 내지(85)에 의해 둘러싸인 평면은 빌딩(81)의 정면이다.
즉, j-번째 특징점의 투영 화상의 위치(U1j, V1j)는 시각 T1에 촬영 화상 P1 상에 나타난 제1 특징점들(J개의 특징점들의 총 개수) 중에서 구해진다. 게다가, j-번째 특징점의 투영 화상의 위치(U2j, V2j)는 시각 T2에 촬영 화상 P2 상에 나타난 제1 특징점들 중에서 구해진다. 유사하게, j-번째 특징점의 투영 화상의 위치(Uhj, Vhj)는 시각 Th(h = 3, . . . , H)에 촬영 화상 Ph 상에 나타난 제1 특징점들 중에서 구해진다.
더욱이, 회전 매트릭스 Rh, 평형 변위 벡터 Sh, 및 (Xj, Yj, Zj)는 h = 1, . . . , H이고 j = 1, . . . , J인 경우에 다음 수학식 33에 위치(Uhj, Vhj)를 대입함으로써 구해진다. 구해진 데이타는 데이타 메모리(33)에 저장된다.
여기서,
구해진 회전 매트릭스 Rh와 평형 변위 벡터 Sh는 월드 좌표에 기초하여 시각 Th에서 비디오 카메라의 위치 및 자세(방향)을 나타낸다. 이 구해진 (Xj, Yj, Zj)는 월드 좌표에 기초하여 j-번째 특징점의 위치를 나타낸다.
따라서, 각 시각 Th에 촬영 화상들 Ph(도 21) 각각을 촬영할 때 3차원 실제 공간에서의 비디오 카메라의 위치 및 자세(방향)과 3차원 실제 공간에서 제1 물체로서 제공되는 빌딩들(71, 81)의 특징점(제1 특징점)의 위치를 구할 수 있다.
제1 특징점들 중 하나인 코너(75)는 k-번째 특징점에 대응된다고 가정한다. 부호 k는 1 내지 J 중 임의의 수치값을 지칭한다. 단계 S61에서의 처리에 따라, 월드 좌표에 기초한 k-번째 특징점의 위치(Xk, Yk, Zk)가 구해진다. 물론, 이 위치는 참값을 나타내지는 않고 오류를 포함하고 있다. 이와 관련하여, 코너(75)는 실제 빌딩(71)의 정면 우측 상부의 코너이다.
게다가, 시각 Th에서의 촬영 화상 Ph는 매트릭스 Rh의 회전과 벡터 Sh의 병진으로 인해 월드 좌표의 원점으로부터 비디오 카메라가 이동할 때 촬영된 촬영 화상이다. 따라서, 매트릭스 Rh와 벡터 Sh도 구해진다. 물론, 전술된 상태(회전 매트릭스 Rh와 평형 변위 벡터 Sh에 의해 나타난 위치 및 자세(방향))는 참값을 나타내지 않고 오류들을 포함하고 있다.
따라서, 3차원 실제 공간 내에 있는 2개의 실제 빌딩들(제1 물체들)(71, 81)의 위치들은 단계 S61에서 처리를 통하여 구해지기 때문에, 위치(Xj, Yj, Zj)에 대한 데이타는 프레임 메모리(34)를 통하여 화상 표시부(35)에 제공되어 단계 S62에서 표시된다. 이 표시를 봄으로써, 조작자(합성 동작을 수행하는 사람)가 입력부(36)를 조작하여 CG를 통하여 작성된 빌딩(제2 물체)(91)이 설정되는 위치(가상 3차원 실제 공간에서의 위치)를 지정한다. 조작자는 3차원 실제 공간에서의 2개의 실제 빌딩들(제1 물체들)(71, 81)의 위치를 고려하여 전술된 조작을 결정한다. 이 결정된 위치들은 데이타 메모리(33)에 저장된다.
구체적으로, 도 20에 나타난 바와 같이, 제1 특징점들로서 제공되는 코너들(72) 내지 (75)와 코너들(82)와 (85)의 위치는 월드 좌표 내에서 구해지기 때문에, CG를 통하여 작성된 빌딩(제2 빌딩)(91)은 상기 위치들 사이에 배치된다. 즉, CG를 통하여 형성된 빌딩(제2 물체)(91)을 설정하여 코너들(75, 74, 83, 및 82)에 의해 둘러싸인 평면이 CG를 통하여 작성된 빌딩(제2 물체)(91)의 정면으로서 제공되도록 할 필요가 있다(빌딩(91)의 상부 좌측 코너(92)와 하부 좌측 코너(93)는 빌딩(71)의 상부 우측 코너(75)와 하부 우측 코너(74)에 대응되고 빌딩(91)의 상부 우측 코너(95)와 하부 우측 코너(94)는 빌딩(81)의 상부 좌측 코너(82)와 하부 좌측 코너(83)에 대응되게 한다). 따라서, CG를 통하여 작성된 빌딩(제2 물체)(91)의 위치가 결정된다.
즉, CG를 통하여 작성된 빌딩(제2 물체)(91)이 가상적으로 설정되어 CG를 통하여 작성된 빌딩(제2 물체)(91)의 정면 상부 좌측은 월드 좌표에 기초한 위치(Xk, Yk, Zk)에 오게 한다(도 20). 바꾸어 말하자면, CG를 통하여 형성된 빌딩(제2 물체)(91)의 정면 상부 좌측 위치는 (Xk, Yk, Zk)이다. 이에 관련하여, 이 위치(Xk, Yk, Zk)는 k-번째 특징점으로서 제공되는 코너(75)의 위치이다. 이로써, CG를 통하여 작성된 실제 빌딩(71)과 빌딩(제2 물체)(91)을 설정하여 빌딩(71)의 정면 상부 우측과 빌딩(91)의 정면 상부 좌측이 접하게 한다.
다음으로, 제1 특징점들 중 하나인 코너(75)(k-번째 특징점)는 이하에서 고려된다. 시각 Th에서의 촬영 화상 Ph는 k-번째 특징점인 코너(75)의 투영 화상을 포함한다. 투영 화상의 위치는 (Uhk, Vhk)로서 나타난다. 따라서, 다음 수학식 34와 35가 성립한다.
Uhk ≠ f(Rh11·Xk + Rh12·Yk + Rh13·Zk + Sh1')
/(Rh31·Xk + Rh32·Yk + Rh33·Zk + Sh3')
Vhk ≠ f(Rh21·Xk + Rh22·Yk + Rh23·Zk + Sh2')
/(Rh31·Xk + Rh32·Yk + Rh33·Zk + Sh3')
이 경우, Rh, Sh, Xk, Yk 및 Zk는 수학식 33을 최소화함으로써 구해진 값들이다. 수학식 34와 35의 좌우측은 거의 동일한 값을 가진다. 그러나, 전술한 바와 같이, 이들은 서로 엄격히 서로 동일하지는 않다. 그러나, 빌딩(91)의 정면 상부 좌측에 투영 화상의 위치(UUhk, VVhk)는 다음 수학식 36과 37에 완전히 부합된다.
여기서,
즉, 도 22에 나타나 있는 바와 같이, 빌딩(91)의 정면 상부 좌측이 월드 좌표에 기초한 위치(Xk, Yk, Zk)에 있다고 가정한 상태에서 CG를 통하여 작성된 빌딩(제2 물체)(91)을 비디오 카메라로 촬영한다고 고려한다. 비디오 카메라의 위치 및 자세(방향)은 시각 Th에 회전 매트릭스 Rh와 평형 변위 벡터 Sh에 의해 나타난다. 따라서, 빌딩(91)의 정면 상부 좌측의 투영 화상의 위치는 수학식 36과 37에 나타난 시각 Th에 촬영 화상의 위치(UUhk, VVhk)가 된다. 여기서, h = 1, . . . , H.
그 결과, (Uhk, Vhk)는 (UUhk, VVhk)와 동일하지 않다. 이 수학식은 다음과 같이 나타난다.
조작자는 빌딩(71)의 정면 상부 우측이 빌딩(91)의 정면 상부 좌측과 접하도록 CG를 통하여 작성된 실제 빌딩(71)과 빌딩(91)을 배열하고, 가상 빌딩(91)의 투영 화상을 형성하며, 실제적으로 촬영된 촬영 화상을 합성한다고 가정한다. 시각 Th에 빌딩(71)의 정면 상부 우측에 있는 투영 화상은 (Uhk, Vhk)에 배치된다(도 21). 더욱이, 인공적으로 작성된 빌딩(91)의 정면 상부 좌측에 있는 투영 화상은 (UUhk, VVhk)에 배치된다(도 22). 따라서, 시각 Th에 실제 빌딩(71)의 정면 상부 우측에 있는 투영 화상은 가상 빌딩(91)의 정면 상부 좌측에 있는 투영 화상과 일치하지 않는다. 이들의 합성 화상을 사람이 볼 때, 그는 실제 빌딩(71)의 정면 상부 우측이 CG를 통하여 작성된 빌딩(91)의 정면 상부 좌측과 접하도록 촬영된 것인지를 느끼지 못한다.
게다가, 이는 수학식 34와 35의 좌우측 간의 차가 모든 시각 Th에 일정하도록 보장하지 못한다. 따라서, 사람이 모든 시각에 합성된 화상을 연속적으로 볼 때, 그는 실제 빌딩(71)의 정면 상부 우측과 CG를 통하여 형성된 빌딩(91)의 정면 상부 좌측 간의 간격이 스윙(swing)하는 것 처럼 느낀다.
도 23은 오류가 없는 이상적인 상태하에서의 합성 화상을 나타내기 때문에, (Uhk, Vhk)는 (UUhk, VVhk)와 동일하다. 그러나, 사실상 (Uhk, Vhk)는 (UUhk, VVhk)와 동일하지 않다.
따라서, 단계 S61에서 구해진 Rh, Sh, Xj, Yj 및 Zj와 촬영 화상 Ph의 j-번째 특징점의 투영 화상의 위치(Uhj, Vhj)는 수학식 31과 32와 완전히 부합되지 않는다. 즉, 다음 수학식 38과 39가 성립한다. 여기서, h = 1, . . . , H, j = 1, . . . , J.
여기서,
따라서, 처리 회로(32)는 단계 S63에서 데이타 메모리(33)로부터 각 시각 Th와 특징점들에 대한 데이타를 판독하고, 시각 Th와 특징점 데이타에 대한 다음 수학식 40 내지 44를 연산하고, 비디오 카메라에 기초한 각 특징점의 좌표(XXhj, YYhj, ZZhj) 및 변위값(δXXhj, δYYhj)를 구하며, 데이타 메모리(33)에 좌표 및 변위값을 저장한다.
XXhj = Rh11·Xj + Rh12·Yj + Rh13·Zj + Sh1'
YYhj = Rh21·Xj + Rh22·Yj + Rh23·Zj + Sh2'
ZZhj = Rh31·Xj + Rh32·Yj + Rh33·Zj + Sh3'
여기서,
δXXhj = (Uhj·ZZhj)/f - XXhj
δYYhj = (Vhj·ZZhj)/f - YYhj
즉, 월드 좌표에 기초한 위치(X, Y, Z)는 다음 수학식 45 내지 47에 나타난 변환식에 따라 시각 Th에 비디오 카메라에 기초한 좌표계의 위치(XXh, YYh, ZZh)로 변환된다.
XXh = Rh11·X + Rh12·Y + Rh13·Z + Sh1'
YYh = Rh21·X + Rh22·Y + Rh23·Z + Sh2'
ZZh = Rh31·X + Rh32·Y + Rh33·Z + Sh3'
(XXh, YYh, ZZh)에 위치하는 점은 촬영 화상 Ph 내의 위치(f·XXh/ZZh, f·YYh/ZZh)에 투영된다.
도 12에 나타난 코너(75)(k-번째 특징점)는 이하에 고려된다. 특징점의 위치는 시각 Th에 비디오 카메라에 기초한 좌표계에서의 다음 수학식 48 내지 50에 나타난 위치(XXhk, YYhk, ZZhk)가 된다.
XXhk = Rh11·Xk + Rh12·Yk + Rh13·Zk + Sh1'
YYhk = Rh21·Xk + Rh22·Yk + Rh23·Zk + Sh2'
ZZhk = Rh31·Xk + Rh32·Yk + Rh33·Zk + Sh3'
따라서, 오류가 없는 이상적인 촬영 상태가 설정되면, 위치(XXhk, YYhk, ZZhk)와 촬영 화상 Ph에서의 k-번째 특징점의 투영 화상의 위치(Uhk, Vhk)는 다음 수학식 51과 52 간의 관계를 가진다.
Uhk = f(XXhk/ZZhk)
Vhk = f(YYhk/ZZhk)
그러나, 오류들이 실제로 존재하기 때문에, 수학식 51과 52에 나타난 동일 부호는 성립하지 않는다. 즉, 다음 수학식 53과 54에 나타난 오차 (δXX, δYY)가 구해진다.
δXX = (Uhk·ZZhk)/f -XXhk
δYY = (Vhk·ZZhk)/f -YYhk
따라서, 오차(δXX, δYY)는 단계 S61에서 구해진 Rh, Sh, Xk, Yk, 및 Zk, 측정치(Uhk, Vhk), 및 수학식 48 내지 50과 수학식 53과 54에 따라 연산된다.
CG를 통하여 작성된 빌딩(제2 물체)의 정면 상부 좌측의 코너(92)를 월드 좌표에 기초한 위치(Xk, Yk, Zk)에 가상적으로 설정하는 것을 단계 S62에서 결정한다. 즉, 코너(92)는 시각 Th에 비디오 카메라에 기초한 좌표계에서 수학식 48 내지 50으로 나타난 위치(XXhk, YYhk, ZZhk)에 설정된다. 코너(92)는 시각 Th에 촬영 화상 내의 다음 수학식 55와 56으로 나타난 위치(UUhk, VVhk)에 투영된다.
UUhk = f(XXhk/ZZhk)
VVhk = f(YYhk/ZZhk)
이와 관련하여, 수학식 48 내지 50과 수학식 55와 56은 수학식 36과 37에 동등하다. 수학식 55와 56으로 나타난 위치(UUhk, VVhk)는 k-번째 실제 특징점의 투영 화상의 위치(Uhk, Vhk)와는 다르다. 이는 문제가 되는 위치 변위이다.
따라서, 제2 실시예의 경우에, 시각 Th에 비디오 카메라에 기초한 좌표계에서 위치(XXhk, YYhk, ZZhk)에 나타나는 CG을 통해 작성된 빌딩(제2 물체)(91)의 위치는 제2 물체의 투영 화상을 형성하기 전에 수학식 53과 54에 나타난 값만큼 변위된다. 즉, 시각 Th에 비디오 카메라에 기초한 좌표계에서 빌딩(91)의 정면 상부 좌측의 코너(92)를 위치(XXhk, YYhk, ZZhk)에 설정하는 것이 단계 S62에서 결정된다. 그러나, 이 위치는 수학식 53과 54에 나타난 값만큼 변위되어 (XXhk + δXX, YYhk + δYY, ZZhk)가 된다. 따라서, 빌딩(91)의 정면 상부 좌측의 코너(92)의 위치를 변위시킴으로써, 시각 Th에 인공적으로 작성된 빌딩(91)의 정면 상부 좌측의 코너의 투영 화상의 위치는 다음 수학식 57과 58에 의해 나타나는 위치가 된다.
UUhk = f(XXhk + δXX)/ZZhk
VVhk = f(YYhk + δYY)/ZZhk
위치(UUhk, VVhk)는 코너(75)의 투영 화상의 위치(Uhk, Vhk)와 동일하게 되는데, 이는 다음 수학식 59와 60이 성립하기 때문이다.
UUhk = f(XXhk + δXX)/ZZhk
= f{XXhk + (Uhk·ZZhk/f) - XXhk} / ZZhk
= Uhk
VVhk = f(YYhk + δYY)/ZZhk
= f{YYhk + (Vhk·ZZhk/f) - YYhk} / ZZhk
= Vhk
요약하면, k-번째 특징점이 월드 좌표에 기초한 위치(Xk, Yk, Zk)에 존재하는지를 단계 S61에서 판정한다. 이 위치는 시각 Th에 비디오 카메라에 기초한 좌표계에서 수학식 48 내지 50에 의해 나타나는 위치(XXhk, YYhk, ZZhk)이다. 이 값은
3차원 실제 공간에서 시각 Th에 촬영 화상 Ph 상에 투영된 k-번째 특징점의 투영 화상의 위치(Uhk, Vhk)로부터 수학식 53과 54에 의해 나타나는 (δXX, δYY)만큼 변위된다. 따라서, 시각 Th에 비디오 카메라에 기초한 좌표계에서 위치(XXhk, YYhk, ZZhk)에 합성될 물체(빌딩(91)의 정면 상부 좌측의 코너(92))를 설정하기 위하여, 투영 화상은 이 투영 화상이 (δXX, δYY)만큼 변위된 위치에 존재한다고 가정함으로써 작성된다. 이로써, 투영 화상의 위치는 실제 촬영된 물체의 투영 화상의 위치(빌딩(71)의 정면 상부 좌측의 코너(75))와 일치하게 된다.
전술된 구체적인 예의 경우에, 코너(75)(k-번째 특징점)이 기술된다. k-번째 특징점 이외의 특징점들에 대해서는 동일하게 행한다. 제1 특징점들(제1, . . . , j-번째 특징점들)과 일치하는 위치에 있는 합성될 물체(또는 물체의 일부)의 경우에, 전술된 바와 같이, 대응되는 특징점의 변위값(왜곡값)인 (δXX, δYY)를 연산하여 (δXX, δYY)만큼 변위된 위치에 투영 화상이 있다고 가정하여 물체의 투영 화상을 형성할 필요가 있다.
그러나, 합성될 물체(또는 물체의 일부)의 위치에 제1 특징점들이 없는 경우, 근방의 제1 특징점으로부터 보간을 통하여 변위값(왜곡값)(δXX, δYY)을 구할 필요가 있다.
따라서, 단계 S64에서, 처리 회로(32)는 데이타 메모리(33)로부터 각 시각 Th에 특징점(XXhj, YYhj, ZZhj)을 판독하고, 이 특징점을 모점으로 사용하여 디라우니(Delaunay) 분할을 행하고, 디라우니 요철 다각형을 구하며, 이 다각형을 데이타 메모리(33)에 저장한다.
즉, 시각 Th에 비디오 카메라에 기초한 좌표계에서 j-번째 특징점의 위치는 (XXhj, YYhj, ZZhj)라고 가정된다. 이 위치는 단계 S61에서 구해진 Rh, Sh, Xj, Yj, 및 Zj를 이용함으로써 수학식 40 내지 42로부터 구해질 수 있다.
다음으로, (XXhj, YYhj, ZZhj)의 변위값(왜곡값)(δXXhj, δYYhj)은 수학식 43과 44를 이용함으로써 구해진다. 이 경우, 첨자 h와 j는 XX, YY 및 ZZ가 시각 Th과 제1 특징점들 중에서 j-번째 특징점에 따라 좌우되도록 붙여진다. 수학식 43과 44의 연산은 XXhj, YYhj, 및 ZZhj에 수학식 40 내지 42로부터 구해진 값들을 대입하고, Uhj와 Vhj에는 실제 촬영 화상 Ph로부터 측정된 값을 대입함으로써 행해진다.
보간을 통하여 모든 위치(XX, YY, ZZ)에서의 변위값(왜곡값)(δXX, δYY)을 구한다는 것은 j-번째 특징점의 위치인 (XXhj, YYhj, ZZhj)에서의 변위값(왜곡값)이 (δXXhj, δYYhj)이 되는 조건하에서 임의의 위치에서의 변위값(왜곡값)을 구한다는 사실을 나타낸다. 이 경우, j = 1, . . . , J. 게다가, 여기서 기술된 3차원 실제 공간의 위치는 시각 Th에 비디오 카메라에 기초한 좌표계를 나타낸다.
보간을 수행하기 위하여, 디라우니(Delaunay) 분할은 우선 3차원 실제 공간 내에서 수행된다. 즉, 보로노이(Voronoi) 영역의 분할은 이 보로노이 영역의 분할로 인한 듀얼(dual) 관계를 가지는 디라우니(Delaunay) 분할을 수행하기 위하여 J개의 특징점들을 모점들로 하여 수행된다. 각각의 디라우니 분할된 영역은 모점들(즉, 제1 특징점들)을 정점으로 사용하는 요철 다각형을 형성한다. 3차원 실제 공간 내의 추가점(XX, YY, ZZ)은 디라우니 요철 다각형(디라우니 분할된 영역)에 포함되기 때문에, 점(XX, YY, ZZ)으로부터 다각형의 각 정점 까지의 거리에 역비례하도록 디라우니 요철 다각형의 정점들(변위 값들(왜곡값들)이 이미 구해진 제1 특징점들)의 변위값(왜곡값)(δXXhj, δYYhj)을 가중하고 평균하여 구해진 값은 점(XX, YY, ZZ)의 변위값(왜곡값)으로서 사용된다. 따라서, J개의 제1 특징점들 이외의 위치에 변위값(왜곡값)을 구할 수 있게 된다.
보로노이 영역과 디라우니 분할은 "현대 수리 물리학 사전(구선주식회사 발행)"의 연산 기하학의 설명 부분(1064쪽)에 상세히 기술되어 있다.
따라서, 단계 S63과 S64에서, J개의 제1 특징점들 각각의 변위값(왜곡값)은 단계 S61에서 구해진 Rh, Sh, Xj, Yj, 및 Zj와 측정치(Uhk, Vhk)을 이용함으로써 수학식 40 내지 44에 따라 우선적으로 구해진다. 다음으로, 디라우니 요철 다각형은 J개의 특징점들을 모점들로 하여 구해진다. 각각의 디라우니 요철 다각형에서 각각의 위치에 대하여, 변위값(왜곡값)은 구해진 정점들(즉, 제1 특징점들)의 변위값(왜곡값)을 가중하여 평균냄으로써 구해진다. 이와 관련하여, 변위값(왜곡값)은 시각 Th에 따라 좌우되고 3차원 실제 공간 내의 위치에 따라 좌우된다. 즉, 이 변위값(왜곡값)은 Th의 함수와, 비디오 카메라에 기초한 좌표계 내의 위치(XX, YY, ZZ)의 함수이다. Th와 (XX, YY, ZZ) 간의 변위값(왜곡값)의 관계는 단계 S63과 S64에서 구해진다. 단계 S63과 S64는 각 시간에 3차원 실제 공간 내의 각 점의 변위값(왜곡값)을 구하는 연산 단계들이다.
각 점의 변위값(왜곡값)을 구하기 위한 연산 단계를 이용하여 j-번째 특징점의 위치인 (XXhj, YYhj, ZZhj)에서의 변위값(왜곡값)이 (δXXhj, δYYhj)와 동일하게 되는 조건하에서 추가점에서의 변위값(왜곡값)을 구하는 것이 중요하다. 또한, 전술된 조건 하에서 디라우니 분할 대신에 다른 방법을 사용할 수도 있다.
단계 S62에서, CG를 통하여 작성된 빌딩(제2 물체)(91)이 설정되는 위치(월드 좌표에 기초한 가상 위치)가 구해진다. 게다가, 단계 S61에서, 각 시각 Th(h = 1, . . . , H)에 비디오 카메라의 위치 및 자세(방향)을 나타내는 회전 매트릭스 Rh와 평형 변위 벡터 Sh가 구해진다.
따라서, 단계 S65에서, 처리 회로(32)는 데이타 메모리(3)로부터 CG를 통하여 작성된 빌딩(제2 물체)(91)을 구성하는 모든 점들(M 점들이라고 가정함)의 월드 좌표계 가상 위치(Xm, Ym, Zm)를 판독하고, 데이타 메모리(33)로부터 판독된 회전 매트릭스 Rh와 평형 변위 벡터 Sh를 가상 위치에 적용하고, 시각 Th에 비디오 카메라에 기초한 좌표계에 의해 나타난 위치(XXhm, YYhm, ZZhm)를 구하며, 이 위치(XXhm, YYhm, ZZhm)를 데이타 메모리(33)에 저장한다. 이 경우, m = 1, . . . , M. 즉, 다음 수학식 61 내지 63이 연산된다.
XXhm = Rh11·Xm + Rh12·Ym + Rh13·Zm + Sh1'
YYhm = Rh21·Xm + Rh22·Ym + Rh23·Zm + Sh2'
ZZhm = Rh31·Xm + Rh32·Ym + Rh33·Zm + Sh3'
다음으로, 단계 S66에서, 처리 회로(32)는 다음 수학식 64와 65에 따라 수학식 61 내지 63으로부터 구해진 위치(XXhm, YYhm, ZZhm)에 대응되는 단계 S63과 S64에서 구해진 변위값(왜곡값)(δXXhm, δYYhm)을 구한다.
다음으로, (δXXhm, δYYhm)은 (XXhm, YYhm, ZZhm)에 부가된다. 이 부가된 위치(XXhm + δXXhm, YYhm + δYYhm, ZZhm)는 CG를 통하여 작성된 빌딩(제2 물체)(91)을 구성하는 m-번째 점의 최종 위치로서 제공된다. 물론, 이 위치는 시각 Th에 비디오 카메라에 기초한 좌표계이다.
그리고 나서, CG를 통하여 작성된 빌딩(제2 물체)(91)을 구성하는 m-번째 점의 투영 화상의 위치(UUhm, VVhm)가 구해진다. 즉, 다음 수학식 66과 67이 연산된다.
UUhm = f(XXhm + δXXhm)/ZZhm
VVhm = f(YYhm + δYYhm)/ZZhm
수학식 61 내지 63과 수학식 66 및 67은 모든 m = 1, . . . , M에 대하여 연산된다. 이로써, CG를 통하여 빌딩(제2 물체)(91)의 투영 화상을 연산할 수 있다.
이 실시예의 경우에, 비디오 카메라에 기초한 2차원 평면(X, Y)의 방향에만 변위값이 존재한다고 가정함으로써 수학식 40 내지 44에 따라 변위값(δXXhj, δYYhj)이 구해진다. 그러나, 이 변위값이 Z 방향에 존재한다고 가정할 수도 있다. 즉, 다음 수학식 68과 69에 부합되는 (δXXhj, δYYhj, δZZhj)의 최소값을 변위값으로 가정할 수 있다.
Uhj = f(XXhj + δXXhj) / (ZZhj + δZZhj)
Vhj = f(YYhj + δYYhj) / (ZZhj + δZZhj)
그러나, 전술된 수학식에서 (XXhj, YYhj, ZZhj)는 수학식 40 내지 42로부터 구해질 수 있다. 이 경우, j-번째 특징점의 위치인 (XXhj, YYhj, ZZhj)에서의 변위값(왜곡값)이 (δXXhj, δYYhj, δZZhj)되는 조건하에서 추가 위치의 변위값을 구함으로써, 각 위치에서의 변위값을 구할 수 있다. CG를 통하여 작성된 빌딩(제2 물체)(91)을 구성하는 m-번째 점의 투영 화상의 위치(UUhm, VVhm)는 수학식 66과 67 대신에 다음 수학식 70과 71에 의해 나타난다.
UUhm = f(XXhm + δXXhm) / (ZZhm + δZZhm)
VVhm = f(YYhm + δYYhm) / (ZZhm + δZZhm)
전술된 수학식에서, (δXXhm, δYYhm, δZZhm)은 수학식 61 내지 63에 의해 구해지는 위치(XXhm, YYhm, ZZhm)에서의 변위값(왜곡값)을 나타낸다.
최종적으로, 촬영 화상 Ph에 CG를 통하여 작성된 빌딩(제2 물체)(91)의 투영 화상을 합성함으로써, 시각 Th에서 최종적으로 구해지게 될 합성 화상을 구할 수 있다. h = 1, . . . , H의 모든 시각에 대하여 전술된 동작을 수행함으로써, 시각 T1으로부터 시각 TH 까지의 합성 화상을 구할 수 있다.
제2 실시예의 기술을 이용함으로써, 조작자에 의해 지정되는 합성될 물체의 가상 위치가 각 시간과 3차원 실제 공간 내의 각 위치에 대하여 상기 시각에 실제적으로 촬영된 촬영 화상의 특징점의 위치와 일치하도록 변위값(왜곡값)이 부가된다. 따라서, 합성된 화상의 위치는 변하지 않게 된다.
게다가, 3차원 공간 내의 모든 위치에서의 변위값(왜곡값)을 결정할 수 있으며 변위값(왜곡값)은 합성될 물체(제2 물체)의 정점들, 변들, 면들 간의 구별없이 제2 물체를 구성하는 모든 부분에 부가된다. 따라서, 제1 실시예에서 기술된 변들 및 면들의 정렬시 아무런 문제도 없다.
더욱이, 본 발명의 요점을 벗어나지 않는 한 전술된 설명 이외의 다양한 변형과 응용이 고려될 수 있다. 따라서, 본 발명의 요지는 특징점들을 가지는 플레이트와 CG를 통하여 형성된 CG 화상의 합성에 국한되지 않으며 실제 화상과 CG를 통하여 형성된 CG 화상의 합성에 관련된 모든 경우를 포함한다.
사용자들에게 전술된 처리를 수행하는 컴퓨터 프로그램을 공급하기 위한 공급 매체로서, 자기 디스크, CD-ROM, 및 고체 메모리와 같은 기록 매체는 물론 네트워크와 위성과 같은 통신 매체를 사용할 수 있다.
전술된 바와 같이, 청구항 1의 화상 합성 장치, 청구항 8의 화상 합성 방법, 및 청구항 15의 공급 매체에 따르면, 물체를 합성하기 위한 합성 위치 근방의 제1 특징점에 따라 좌표 변환 함수를 구하고 제2 화상에 대응되는 3차원 좌표계 상에서의 제4 좌표는 제3 좌표에 좌표 변환 함수를 적용하여 구하는데, 이는 제2 화상의 제4 좌표에 대응되는 위치에 전술된 물체의 투영 화상을 합성하기 위한 것이다. 따라서, 제1 및 제2 화상에 있어서 물체의 투영 화상이 자연스럽게 보이도록 할 수 있다.
청구항 16의 위치 검출 장치, 청구항 17의 위치 검출 방법, 및 청구항 18의 공급 매체에 따르면, 좌표 변환 함수는 물체 근방의 제1 특징점에 따라 구해지고 제2 물체에 대응되는 3차원 좌표계 상에서의 제5 좌표는 제3 좌표에 좌표 변환 함수를 적용함으로써 구해지는데, 이는 제4 및 제5 좌표 간의 차를 검출하기 위한 것이다. 따라서, 제1 및 제2 화상에 있어서 제3 화상의 위치 관계를 정확하게 연산 가능하다.
청구항 19의 화상 합성 장치, 청구항 21의 화상 합성 방법, 및 청구항 23의 공급 매체에 따르면, 제2 물체의 투영 화상이 설정되는 위치는 왜곡값에 따라 정정된다. 따라서, 합성된 화상의 스윙을 제어할 수 있다.
화상 합성 장치는 비디오 카메라에 의해 촬영된 실재 화상에 컴퓨터 그래픽(CG) 화상을 합성하는 경우에 적용될 수 있다.

Claims (23)

  1. 적어도 제1 및 제2 화상들에 물체의 투영 화상을 합성하기 위한 화상 합성 장치에 있어서:
    상기 제1 화상 상에 투영된 특징점들 중에서 상기 물체를 합성하는 합성 위치 근방의 제1 특징점을 구하기 위한 제1 수단;
    상기 제1 화상에 대응되는 3차원 좌표계 상에서의 상기 제1 특징점의 제1 좌표를 구하기 위한 제2 수단;
    상기 제2 화상 상에 투영된 특징점들 중에서 상기 제1 특징점에 대응되는 제2 특징점의, 상기 제2 화상에 대응되는 3차원 좌표계 상에서의 제2 좌표를 구하기 위한 제3 수단;
    상기 제1 및 제2 좌표의 좌표 변환 함수들을 구하기 위한 제4 수단;
    상기 제1 화상에 상기 물체를 합성하는 상기 합성 위치의, 상기 제1 화상에 대응되는 3차원 좌표계 상에서의 제3 좌표를 구하기 위한 제5 수단;
    상기 제3 좌표에 상기 좌표 변환 함수들을 적용함으로써 상기 제2 화상에 대응되는 3차원 좌표계 상에서의 제4 좌표를 구하기 위한 제6 수단; 및
    상기 제2 화상의 상기 제4 좌표에 대응되는 위치에 상기 물체의 투영 화상을 합성하기 위한 제7 수단
    을 포함하는 것을 특징으로 하는 화상 합성 장치.
  2. 제1항에 있어서, 상기 좌표 변환 함수들은 회전 변환(rotational transform) 및 병진 변환(rectilinear transform)에 관련된 함수인 것을 특징으로 하는 화상 합성 장치.
  3. 제1항에 있어서,
    상기 제6 수단은 상기 제3 좌표에 제1 3차원 벡터를 가산한 값에 따라 상기 제4 좌표를 구하고,
    상기 제7 수단은 상기 제4 좌표에 제2 3차원 벡터를 가산한 값에 대응되는 위치에 상기 물체의 투영 화상을 합성하는
    것을 특징으로 하는 화상 합성 장치.
  4. 제3항에 있어서, 상기 제1 및 제2 3차원 벡터들 중 적어도 하나는 제로 벡터인 것을 특징으로 하는 화상 합성 장치.
  5. 제1항에 있어서, 상기 제4 수단은 상기 제1 특징점들 중에서 상기 물체를 합성하는 합성 위치에 보다 근접한 제3 특징점에 대하여, 상기 합성 위치로부터 보다 멀리 떨어진 제4 특징점의 웨이트(weight) 보다 더 큰 웨이트 부여하여 상기 제1 및 제2 좌표의 좌표 변환 함수들을 구하는 것을 특징으로 하는 화상 합성 장치.
  6. 제1항에 있어서, 상기 제1 특징점들은 휘도 신호와 색차 신호 중 적어도 하나가 인접한 점들에 비해 크게 변화하는 점들로부터 구해지는 것을 특징으로 하는 화상 합성 장치.
  7. 제1항에 있어서,
    상기 제1 화상은 상기 제1 시각에 선정된 물체를 실제 촬영한 화상이고,
    상기 제2 화상은 상기 제1 시각보다 늦은 제2 시각에 상기 물체를 실제 촬영한 화상이며,
    상기 물체는 컴퓨터 그래픽을 통하여 작성된 물체인 것을 특징으로 하는 화상 합성 장치.
  8. 제1 및 제2 화상들에 물체의 투영 화상을 합성하는 화상 합성 방법에 있어서:
    상기 제1 화상 상에 투영된 특징점들 중에서 상기 물체를 합성하는 합성 위치 근방의 제1 특징점을 구하는 제1 단계;
    상기 제1 화상에 대응되는 3차원 좌표계 상에서의 상기 제1 특징점의 제1 좌표를 구하는 제2 단계;
    상기 제2 화상 상에 투영된 특징점들 중에서 상기 제1 특징점에 대응되는 제2 특징점의, 상기 제2 화상에 대응되는 3차원 좌표계 상에서의 제2 좌표를 구하는 제3 단계;
    상기 제1 및 제2 좌표의 좌표 변환 함수들을 구하는 제4 단계;
    상기 제1 화상에 상기 물체를 합성하는 상기 합성 위치의, 상기 제1 화상에 대응되는 3차원 좌표계 상에서의 제3 좌표를 구하는 제5 단계;
    상기 제3 좌표에 상기 좌표 변환 함수들을 적용하여 상기 제2 화상에 대응되는 3차원 좌표계 상에서의 제4 좌표를 구하는 제6 단계; 및
    상기 제2 화상의 상기 제4 좌표에 대응되는 위치에 상기 물체의 투영 화상을 합성하는 제7 단계
    를 포함하는 것을 특징으로 하는 화상 합성 방법.
  9. 제8항에 있어서, 상기 좌표 변환 함수들은 회전 변환과 병진 변환에 관련된 함수들인 것을 특징으로 하는 화상 합성 방법.
  10. 제8항에 있어서,
    상기 제4 좌표는 상기 제6 단계에서 상기 제3 좌표에 제1 3차원 벡터를 가산한 값에 따라 구해지고,
    상기 물체의 투영 화상은 상기 제7 단계에서 상기 제4 좌표에 제2 3차원 벡터를 가산한 값에 대응되는 위치에 합성되는
    것을 특징으로 하는 화상 합성 방법.
  11. 제10항에 있어서, 상기 제1 및 제2 3차원 벡터들 중 적어도 하나는 제로 벡터인 것을 특징으로 하는 화상 합성 방법.
  12. 제8항에 있어서, 상기 제1 및 제2 좌표들의 좌표 변환 함수들은 상기 제4 단계에서 상기 제1 특징점들 중에서 상기 물체를 합성하는 합성 위치에 보다 근접한 제3 특징점들에 대하여, 상기 합성 위치로부터 보다 멀리 떨어진 제4 특징점들의 웨이트보다 더 큰 웨이트를 부여함으로써 구해지는 것을 특징으로 하는 화상 합성 방법.
  13. 제8항에 있어서, 상기 제1 특징점들은 휘도 신호와 색차 신호 중 적어도 하나가 인접한 점에 비해 크게 변화하는 점들로부터 구해지는 것을 특징으로 하는 화상 합성 방법.
  14. 제8항에 있어서,
    상기 제1 화상은 상기 제1 시각에 선정된 물체를 실제 촬영한 화상이고,
    상기 제2 화상은 상기 제1 시각보다 늦은 제2 시각에 상기 물체를 실제 촬영한 화상이며,
    상기 물체는 컴퓨터 그래픽을 통하여 작성된 물체인 것을 특징으로 하는 화상 합성 방법.
  15. 적어도 제1 및 제2 화상들에 물체의 투영 화상을 합성하는 화상 합성 장치용 컴퓨터 프로그램을 공급하기 위한 공급 매체에 있어서:
    상기 컴퓨터 프로그램은,
    상기 제1 화상 상에 투영된 특징점들 중에서 상기 물체를 합성하는 합성 위치 근방의 제1 특징점을 구하는 제1 단계;
    상기 제1 화상에 대응되는 3차원 좌표계 상에서의 상기 제1 특징점의 제1 좌표를 구하는 제2 단계;
    상기 제2 화상 상에 투영된 특징점들 중에서 상기 제1 특징점에 대응되는 제2 특징점의, 상기 제2 화상에 대응되는 3차원 좌표계 상에서의 제2 좌표를 구하는 제3 단계;
    상기 제1 및 제2 좌표의 좌표 변환 함수들을 구하는 제4 단계;
    상기 제1 화상에 상기 물체를 합성하는 상기 합성 위치의, 상기 제1 화상에 대응되는 3차원 좌표계 상에서의 제3 좌표를 구하는 제5 단계;
    상기 제3 좌표에 상기 좌표 변환 함수들을 적용하여 상기 제2 화상에 대응되는 3차원 좌표계 상에서의 제4 좌표를 구하는 제6 단계; 및
    상기 제2 화상의 상기 제4 좌표에 대응되는 위치에 상기 물체의 투영 화상을 합성하는 제7 단계를 포함하는
    것을 특징으로 하는 공급 매체.
  16. 제1 및 제2 화상들 상에 투영된 물체들 간의 위치 관계를 검출하기 위한 위치 검출 장치에 있어서:
    상기 제1 화상 상에 투영된 특징점들 중에서 상기 물체 근방의 제1 특징점을 구하기 위한 제1 수단;
    상기 제1 화상에 대응되는 3차원 좌표계 상에서의 상기 제1 특징점의 제1 좌표를 구하기 위한 제2 수단;
    상기 제2 화상 상에 투영된 특징점들 중에서 상기 제1 특징점에 대응되는 제2 특징점의, 상기 제2 화상에 대응되는 3차원 좌표계 상에서의 제2 좌표를 구하기 위한 제3 수단;
    상기 제1 화상에 대응되는 3차원 좌표계 상에서의 상기 물체의 제3 좌표를 구하기 위한 제4 수단;
    상기 제2 화상에 대응되는 3차원 좌표계 상에서의 상기 물체의 제4 좌표를 구하기 위한 제5 수단;
    상기 제1 및 제2 좌표의 좌표 변환 함수들을 구하기 위한 제6 수단;
    상기 제3 좌표에 상기 좌표 변환 함수들을 적용하여 상기 제2 화상에 대응되는 3차원 좌표계 상에서의 제5 좌표를 구하기 위한 제7 수단; 및
    상기 제4 좌표와 상기 제5 좌표간의 차를 검출하기 위한 제8 수단
    을 포함하는 것을 특징으로 하는 위치 검출 장치.
  17. 제1 및 제2 화상들 상에 투영된 물체들 간의 위치 관계를 검출하기 위한 위치 검출 방법에 있어서:
    상기 제1 화상 상에 투영된 특징점들 중에서 상기 물체 근방의 제1 특징점을 구하는 제1 단계;
    상기 제1 화상에 대응되는 3차원 좌표계 상에서의 상기 제1 특징점의 제1 좌표를 구하는 제2 단계;
    상기 제2 화상 상에 투영된 특징점들 중에서 상기 제1 특징점에 대응되는 제2 특징점의, 상기 제2 화상에 대응되는 3차원 좌표계 상에서의 제2 좌표를 구하는 제3 단계;
    상기 제1 화상에 대응되는 3차원 좌표계 상에서의 상기 물체의 제3 좌표를 구하는 제4 단계;
    상기 제2 화상에 대응되는 3차원 좌표계 상에서의 상기 물체의 제4 좌표를 구하는 제5 단계;
    상기 제1 및 제2 좌표의 좌표 변환 함수들을 구하는 제6 단계;
    상기 제3 좌표에 상기 좌표 변환 함수들을 적용하여 상기 제2 화상에 대응되는 3차원 좌표계 상에서의 제5 좌표를 구하는 제7 단계; 및
    상기 제4 좌표와 상기 제5 좌표간의 차를 검출하는 제8 단계
    를 포함하는 것을 특징으로 하는 위치 검출 방법.
  18. 제1 및 제2 화상들 상에 투영된 물체들 간의 위치 관계를 검출하는 위치 검출 장치용 컴퓨터 프로그램을 제공하기 위한 공급 매체에 있어서:
    상기 컴퓨터 프로그램은,
    상기 제1 화상 상에 투영된 특징점들 중에서 상기 물체 근방의 제1 특징점을 구하는 제1 단계;
    상기 제1 화상에 대응되는 3차원 좌표계 상에서의 상기 제1 특징점의 제1 좌표를 구하는 제2 단계;
    상기 제2 화상 상에 투영된 특징점들 중에서 상기 제1 특징점에 대응되는 제2 특징점의, 상기 제2 화상에 대응되는 3차원 좌표계 상에서의 제2 좌표를 구하는 제3 단계;
    상기 제1 화상에 대응되는 3차원 좌표계 상에서의 상기 물체의 제3 좌표를 구하는 제4 단계;
    상기 제2 화상에 대응되는 3차원 좌표계 상에서의 상기 물체의 제4 좌표를 구하는 제5 단계;
    상기 제1 및 제2 좌표의 좌표 변환 함수들을 구하는 제6 단계;
    상기 제3 좌표에 상기 좌표 변환 함수들을 적용하여 상기 제2 화상에 대응되는 3차원 좌표계 상에서의 제5 좌표를 구하는 제7 단계; 및
    상기 제4 좌표와 상기 제5 좌표간의 차를 검출하는 제8 단계를 포함하는
    것을 특징으로 하는 공급 매체.
  19. 촬상 장치에 의해 촬영된 제1 물체가 촬영되어 있는 복수 개의 촬영 화상 각각의 선정된 위치에 제2 물체가 존재하는 것으로 가정하여 상기 제2 물체의 투영 화상을 합성하는 화상 합성 장치에 있어서:
    상기 촬영 화상들 각각을 촬영할 때 상기 촬상 장치의 최적 위치를 연산하기 위한 촬상 장치 위치 연산 수단;
    상기 제1 물체의 특징점의 최적 위치를 연산하기 위한 특징점 위치 연산 수단;
    상기 최적 위치에 배치된 상기 촬상 장치를 사용하여 촬영하는 경우 상기 특징점의 최적 위치가 투영되는 가상 투영 위치를 연산하기 위한 가상 투영 위치 연산 수단;
    상기 가상 투영 위치와, 상기 촬영 화상들 각각에 실제 촬영되어 있는 상기 특징점의 투영 화상의 위치간의 차에 따라 왜곡값을 연산하기 위한 왜곡값 연산 수단;
    상기 왜곡값 연산 수단에 의해 연산된 왜곡값에 따라 상기 제2 물체의 투영 화상이 배치되는 위치를 정정하기 위한 정정 수단;
    상기 정정 수단에 의해 정정된 위치에 상기 제2 물체가 위치하는 것으로 가정하여 상기 최적 위치의 상기 촬상 장치로부터 상기 제2 물체를 촬영하는 경우의 상기 제2 물체의 투영 화상을 연산하기 위한 투영 화상 연산 수단; 및
    상기 투영 화상 연산 수단에 의해 연산된 상기 제2 물체의 투영 화상을 상기 촬영 화상들 각각에 합성하기 위한 합성 수단
    을 포함하는 것을 특징으로 하는 화상 합성 장치.
  20. 제19항에 있어서, 상기 왜곡값 연산 수단은 상기 특징점에 따라 보간(interpolation)을 통하여 상기 왜곡값을 연산하는 것을 특징으로 하는 화상 합성 장치.
  21. 촬상 장치에 의해 촬영된 제1 물체가 촬영되어 있는 복수 개의 촬영 화상들 각각에, 제2 물체가 선정된 위치에 있는 것으로 가정하여 상기 제2 물체의 투영 화상을 합성하기 위한 화상 합성 방법에 있어서:
    상기 촬영 화상들 각각을 촬영할 때 상기 촬상 장치의 최적 위치를 연산하는 촬상 장치 위치 연산 단계;
    상기 제1 물체의 특징점의 최적 위치를 연산하는 특징점 위치 연산 단계;
    상기 최적 위치에 배치된 상기 촬상 장치를 이용하여 촬영하는 경우 상기 특징점의 최적 위치가 투영되는 가상 투영 위치를 연산하는 가상 투영 위치 연산 단계;
    상기 가상 투영 위치와, 상기 촬영 화상들 각각에 실제 촬영되어 있는 상기 특징점의 투영 화상의 위치간의 차에 따라 왜곡값을 연산하는 왜곡값 연산 단계;
    상기 왜곡값 연산 단계에서 연산된 왜곡값에 따라 상기 제2 물체의 투영 화상이 배치되는 위치를 정정하는 정정 단계;
    상기 정정 단계에서 정정된 위치에 상기 제2 물체가 위치하는 것으로 가정하여 상기 최적 위치의 상기 촬상 장치로부터 상기 제2 물체를 촬영하는 경우의 상기 제2 물체의 투영 화상을 연산하는 투영 화상 연산 단계; 및
    상기 투영 화상 연산 단계에서 연산된 상기 제2 물체의 투영 화상을 상기 촬영 화상들 각각에 합성하는 합성 단계
    를 포함하는 것을 특징으로 하는 화상 합성 방법.
  22. 제21항에 있어서, 상기 왜곡값은 상기 왜곡값 연산 단계에서 상기 특징점에 따라 보간을 통하여 연산되는 것을 특징으로 하는 화상 합성 방법.
  23. 촬상 장치에 의해 촬영된 제1 물체가 촬영되어 있는 복수 개의 촬영 화상들 각각에, 제2 물체가 선정된 위치에 있는 것으로 가정하여 상기 제2 물체의 투영 화상을 합성하는 화상 합성 장치용 컴퓨터 프로그램을 제공하는 공급 매체에 있어서:
    상기 컴퓨터 프로그램은,
    상기 촬영 화상들 각각을 촬영할 때 상기 촬상 장치의 최적 위치를 연산하는 촬상 장치 위치 연산 단계;
    상기 제1 물체의 특징점의 최적 위치를 연산하는 특징점 위치 연산 단계;
    상기 최적 위치에 배치된 상기 촬상 장치를 이용하여 촬영하는 경우 상기 특징점의 최적 위치가 투영되는 가상 투영 위치를 연산하는 가상 투영 위치 연산 단계;
    상기 가상 투영 위치와, 상기 촬영 화상들 각각에 실제 촬영되어 있는 상기 특징점의 투영 화상의 위치간의 차에 따라 왜곡값을 연산하는 왜곡값 연산 단계;
    상기 왜곡값 연산 단계에서 연산된 왜곡값에 따라 상기 제2 물체의 투영 화상이 배치되는 위치를 정정하는 정정 단계;
    상기 정정 단계에서 정정된 위치에 상기 제2 물체가 위치하는 것으로 가정하여 상기 최적 위치의 상기 촬상 장치로부터 상기 제2 물체를 촬영하는 경우의 상기 제2 물체의 투영 화상을 연산하는 투영 화상 연산 단계; 및
    상기 투영 화상 연산 단계에서 연산된 상기 제2 물체의 투영 화상을 상기 촬영 화상들 각각에 합성하는 합성 단계를 포함하는
    것을 특징으로 하는 공급 매체.
KR1019980709172A 1997-03-14 1998-03-13 화상 합성 장치 및 방법,위치 검출 장치 및 방법, 및공급 매체 KR20000011022A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP97-060541 1997-03-14
JP6054197 1997-03-14

Publications (1)

Publication Number Publication Date
KR20000011022A true KR20000011022A (ko) 2000-02-25

Family

ID=13145265

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980709172A KR20000011022A (ko) 1997-03-14 1998-03-13 화상 합성 장치 및 방법,위치 검출 장치 및 방법, 및공급 매체

Country Status (6)

Country Link
US (2) US6404913B1 (ko)
EP (1) EP0910046A1 (ko)
KR (1) KR20000011022A (ko)
CA (1) CA2254344A1 (ko)
IL (1) IL127028A0 (ko)
WO (1) WO1998041951A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19832974A1 (de) * 1998-07-22 2000-01-27 Siemens Ag Vorrichtung und Verfahren zur Erstellung eines virtuellen Anlagenmodells
US6473536B1 (en) * 1998-09-18 2002-10-29 Sanyo Electric Co., Ltd. Image synthesis method, image synthesizer, and recording medium on which image synthesis program is recorded
US7084867B1 (en) * 1999-04-02 2006-08-01 Massachusetts Institute Of Technology Haptic interface system for collision detection and applications therefore
US7084869B2 (en) * 2000-03-31 2006-08-01 Massachusetts Institute Of Technology Methods and apparatus for detecting and correcting penetration between objects
US7889804B2 (en) * 2003-05-30 2011-02-15 Mohammad Jaber Borran Partially coherent constellations for multiple-antenna systems
FR2869752A1 (fr) * 2004-04-28 2005-11-04 Thomson Licensing Sa Appareil et procede d'affichages d'images
US8068665B2 (en) * 2005-05-10 2011-11-29 Kabushiki Kaisha Toshiba 3D-image processing apparatus, 3D-image processing method, storage medium, and program
US20070058846A1 (en) * 2005-05-10 2007-03-15 Satoru Ohishi Three-dimensional image processing apparatus, three-dimensional image processing method and control program used in three-dimensional image processing apparatus
US20070216711A1 (en) * 2006-03-14 2007-09-20 Microsoft Corporation Microsoft Patent Group Abstracting transform representations in a graphics API
JP2008021092A (ja) * 2006-07-12 2008-01-31 Fanuc Ltd ロボットシステムのシミュレーション装置
US7873233B2 (en) * 2006-10-17 2011-01-18 Seiko Epson Corporation Method and apparatus for rendering an image impinging upon a non-planar surface
JP5617166B2 (ja) * 2009-02-09 2014-11-05 日本電気株式会社 回転推定装置、回転推定方法およびプログラム
CN101872277A (zh) 2009-04-22 2010-10-27 介面光电股份有限公司 一种立体成像的触控装置
US20100283836A1 (en) * 2009-05-08 2010-11-11 Jtouch Corporation Stereo imaging touch device
TW201104494A (en) * 2009-07-20 2011-02-01 J Touch Corp Stereoscopic image interactive system
JP5785753B2 (ja) * 2011-03-25 2015-09-30 京セラ株式会社 電子機器、制御方法および制御プログラム
US10368059B2 (en) * 2015-10-02 2019-07-30 Atheer, Inc. Method and apparatus for individualized three dimensional display calibration

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628449A (ja) * 1992-07-08 1994-02-04 Matsushita Electric Ind Co Ltd 画像合成装置
JPH08101924A (ja) * 1994-09-30 1996-04-16 Hitachi Ltd 画像合成方法
US5727093A (en) * 1995-02-07 1998-03-10 Canon Kabushiki Kaisha Image processing method and apparatus therefor
KR100414629B1 (ko) * 1995-03-29 2004-05-03 산요덴키가부시키가이샤 3차원표시화상생성방법,깊이정보를이용한화상처리방법,깊이정보생성방법
US5825483A (en) * 1995-12-19 1998-10-20 Cognex Corporation Multiple field of view calibration plate having a reqular array of features for use in semiconductor manufacturing

Also Published As

Publication number Publication date
CA2254344A1 (en) 1998-09-24
IL127028A0 (en) 1999-09-22
WO1998041951A1 (fr) 1998-09-24
US6404913B1 (en) 2002-06-11
EP0910046A1 (en) 1999-04-21
US20030007679A1 (en) 2003-01-09

Similar Documents

Publication Publication Date Title
CA3103844C (en) Method for reconstructing three-dimensional space scene based on photographing
Szeliski et al. Creating full view panoramic image mosaics and environment maps
CN109658365B (zh) 图像处理方法、装置、系统和存储介质
KR20000011022A (ko) 화상 합성 장치 및 방법,위치 검출 장치 및 방법, 및공급 매체
JP6764533B2 (ja) キャリブレーション装置、キャリブレーション用チャート、チャートパターン生成装置、およびキャリブレーション方法
Raskar et al. A self-correcting projector
US7643025B2 (en) Method and apparatus for applying stereoscopic imagery to three-dimensionally defined substrates
US20020113865A1 (en) Image processing method and apparatus
JP4065488B2 (ja) 3次元画像生成装置、3次元画像生成方法及び記憶媒体
US20120182403A1 (en) Stereoscopic imaging
JP4996922B2 (ja) 立体映像化
JP2022506104A (ja) 広角画像からの視差推定
US10699372B2 (en) Image generation apparatus and image display control apparatus
WO1997026758A1 (en) Method and apparatus for insertion of virtual objects into a video sequence
JPH10208074A (ja) 画像生成方法
JP7447403B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
KR101163020B1 (ko) 3차원 모델을 스케일링하는 방법 및 스케일링 유닛
CN101566784B (zh) 立体影像的景深数据建立方法及其系统
JP3577202B2 (ja) 映像作成装置
CN109379577B (zh) 一种虚拟视点的视频生成方法、装置及设备
JPH10320586A (ja) 画像合成装置および方法、位置検出装置および方法、並びに提供媒体
JP2004133556A (ja) 三次元形状抽出方法及び三次元形状抽出プログラム及び三次元形状抽出プログラムを格納した記憶媒体
CN116778127B (zh) 一种基于全景图的三维数字场景构建方法及系统
JPH10240967A (ja) モデル画像を用いた3次元物体のグラフィクスアニメーション装置及び方法
JP2024037496A (ja) 画像処理装置、プログラム及び画像処理方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid