KR20070102989A - 2차원 공간변환을 표현하는 시스템과 방법 - Google Patents

2차원 공간변환을 표현하는 시스템과 방법 Download PDF

Info

Publication number
KR20070102989A
KR20070102989A KR1020077007873A KR20077007873A KR20070102989A KR 20070102989 A KR20070102989 A KR 20070102989A KR 1020077007873 A KR1020077007873 A KR 1020077007873A KR 20077007873 A KR20077007873 A KR 20077007873A KR 20070102989 A KR20070102989 A KR 20070102989A
Authority
KR
South Korea
Prior art keywords
patch
polynomial
image
output
shape
Prior art date
Application number
KR1020077007873A
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 실리콘 옵틱스 인코포레이션
Priority to KR1020077007873A priority Critical patent/KR20070102989A/ko
Publication of KR20070102989A publication Critical patent/KR20070102989A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3179Video signal processing therefor
    • H04N9/3185Geometric adjustment, e.g. keystone or convergence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 디지털 영상데이터의 2차원 공간변환의 표현에 관한 것으로, 본 발명은 입력 화소좌표를 갖는 입력영상을 출력 화소좌표를 갖는 출력영상으로 변환하는 2차원 비디오 영상변환을 싱글-패스에서 구현하는 시스템과, 입력 화소좌표를 갖는 입력영상을 출력 화소좌표를 갖는 출력영상으로 변환하는 2차원 비디오 영상변환을 싱글-패스에서 구현하도록 표현하는 방법에 관한 것이다.

Description

2차원 공간변환을 표현하는 시스템과 방법{SYSTEM AND MEHOD FOR REPRESENTING A GENERAL TWO DIMENSIONAL SPATIAL TRANSFORMATION}
본 발명은 디지털 영상데이터의 변환에 관한 것으로, 구체적으로는 디지털 영상데이터의 2차원 공간변환의 표현에 관한 것이다.
대부분의 영상처리 시스템은 어느정도는 공간변환을 담당한다. 2차원(2D) 영상처리에 있어서, 화소의 관계에 맞는 2D 출력공간내의 모든 화소에 대한 "색" 값을 몇몇 입력데이터(가능하면 3D)에 할당하면 영상이 생긴다. 입출력 데이터공간에 좌표체계를 도입하면, 이런 관계를 공간매핑으로 편하게 표현할 수 있다. 공간매핑은 영상처리 시스템의 디자인(렌즈 배열 등)에 포함되거나 일정한 효과를 얻기위한 것이다. 2D 입출력 영상이나 공간 사이의 매핑에 관련된 영상워핑은 흔히 수차와 같은 각종 아티팩트와 광학왜곡을 교정하는데 이용되는데, 이런 왜곡은 영상을 캡처하는 영상표시장치에서는 일반적인 것이다. 영상 워핑의 다른 용도는 특수효과, 애니메이션, 영상짜집기, 일반 형상변환 등이다. 일반적으로 영상워핑은 공간변환이 불필요하지만, 여기서는 공간매핑에 대해 중점을 둔다.
많은 영상 왜곡이나 변환 알고리즘은 하드웨어 구현을 간단히 하는 것을 주목적으로 한다. 이 목적은 흔히 공간변환의 복잡성이나 이 변환의 비현실적 설명에 대해 제한을 가하곤 한다. 예를 들어, 영상워핑에 자주 사용되는 방법으로 2-패스 방법이 있다. 2-패스 방법을 기반으로 한 특정 워핑시스템으로 Bennett의 미국특허 4,472,732에 소개된 장치가 있다. 여기 소개된 방법은 실시간 영상처리 시스템의 하드웨어 구현에 적합하고 2D 맵을 1D 필터링이나 리샘플링만 요하는 일련의 1D 맵으로 분해한다. 1D 리샘플링은 2D보다 훨씬 간단하고 각종 아키텍처를 이용하는 하드웨어를 최적화할 수 있다. 그러나, 2-패스 방법은 병목효과를 가져오는바, 중간영상에 큰 압축을 가하여 데이터 손실을 일으키곤 한다. 극단적으로는 면을 선으로 압축한 경우에 데이터의 완전한 손실을 일으킬 수 있다. 이때문에 형상변환의 종류가 제한된다. 다른 문제는 중간 패스데이터를 생성하는 것이다.
2-패스 방법에 대한 개선을 하여 이런 문제를 해결하고자 하는 시도가 Wolberg의 미국특허 5,204,944와 Sayre의 미국특허 5,175,808에 소개되었는데, 여기서는 화소x화소 설명(즉, 룩업테이블)을 기반으로 한다. 화소x화소 설명은 큰 저장공간을 요하고, 더 중요한 것은 추가적인 데이터조작을 위한 간단한 수단이 허용되지 않는다는 것이다. 일단 영상을 워핑했으면, 두번째 변환인 확대작업이 필요하다. 화소x화소 설명에서, 확대워핑을 위해서는 전체 격자를 재생성해야만 하고, 이것은 특히 확대가 정기적으로 일어날 경우 불충분할 수 있다.
반드시 2-패스 방법을 기반으로 하지는 않는 다른 공간변환 알고리즘은 Fant의 미국특허 4,835,532, Kimata의 미국특허 4,975,976, Hamburg의 미국특허 5,808,623, Levien의 미국특허 6,097,855에 소개된 회전, 선형축척, 아핀(affine), 투시변환과 같은 매핑에만 제한된다. 기존의 어떤 방법은 수학적 좌표공간을 물리 적 메모리 공간으로 확인하려고도 했는데, 이 방법은 하드웨어 구현시 메모리 구조의 조직에 의해 변환이 제한됨을 의미한다. 또, 대부분의 워핑 알고리즘은 영상의 부분부분마다 다른 변환을 하는 간단한 포맷은 제공하지 않는다. 토폴로지의 변화(예; 원에서 사각형으로의 변화)와 같은 복잡한 매핑은 부분부분마다 독립적인 매핑을 필요로 한다.
이런 한계로 2D 표현, 즉 2D 필터링을 이용하는 싱글-패스가 배제된다. 2D 표현을 기반으로 한 시스템으로는 Orginc의 미국특허 5,384,912의 비디오 프로세서와 디스플레이, 그리고 페어차일드 반도체에서 제작한 TMC2302A 집적회로가 있다. 그러나, 이들 종래의 기술은 2D 변환을 제한된 범위에서만 인정하였고, 범용적인 2D 매핑은 표현하지 못했다. 특히, 이들 시스템은 하나의 영상의 부분부분마다 독립적인 변환을 하는 수단은 전혀 제시하지 못한다.
발명의 요약
본 발명은 입력 화소좌표를 갖는 입력영상을 출력 화소좌표를 갖는 출력영상으로 변환하는 2차원 비디오 영상변환을 싱글-패스에서 구현하는 시스템에 있어서:
⒜ 디스플레이 광학계, 투사각도, 평판스크린과 곡면스크린용의 디스플레이 패널형상 및 사용자 정의 변수를 포함하여 변환을 정의하는 형상 변수를 얻기위한 형상입력 인터페이스;
⒝ 출력 화소좌표를 입력 화소좌표에 매핑하는 격자데이터 변환을 위해 상기 형상입력 인터페이스에 연결된 격자변환 생성기;
⒞ 출력 화소좌표 공간을 하부 형상에 맞는 여러 패치로 분할하되, 패치마다 관련 격자데이터 집합을 가지며, 상기 격자변환 생성깅 연결되고, 출력공간의 패치의 경계를 결정하는 패치형상 생성기;
⒟ 각 패치의 격자데이터 집합을 곡면계수로 표현한 곡면함수로 변수화하도록 상기 패치형상 생성기에 연결된 곡면함수 추정기; 및
⒠ 곡면계수 저장을 위해 곡면함수 추정기에 연결된 출력 인터페이스;를 포함하는 시스템을 제공한다.
본 발명은 또한, 입력 화소좌표를 갖는 입력영상을 출력 화소좌표를 갖는 출력영상으로 변환하는 2차원 비디오 영상변환을 싱글-패스에서 구현하도록 표현하는 방법에 있어서:
⒜ 디스플레이 광학계, 투사각도, 평판스크린과 곡면스크린용의 디스플레이 패널형상 및 사용자 정의 변수를 포함하여 변환을 정의하는 형상 입력 변수를 구하는 단계;
⒝ 출력 화소좌표를 입력 화소좌표에 매핑하도록 상기 형상입력 변수를 기반으로 격자데이터 변환을 하는 단계;
⒞ 출력 화소좌표 공간을 하부 형상에 맞는 여러 패치로 분할하되, 패치마다 관련 격자데이터 집합을 가지며 출력공간의 패치의 경계를 결정하는 단계;
⒟ 각각의 패치에서, 곡면계수로 표현된 곡면함수로 상기 격자 데이터변환을 변수화하는 단계; 및
⒠ 곡면계수를 저장하는 단계;를 포함하는 방법도 제공한다.
이하, 첨부 도면들을 참조하여 본 발명에 대해 자세히 설명한다.
도 1은 본 발명에 따라 구성된 워핑시스템의 블록도;
도 2는 출력영상의 화소(P)를 역매핑하여 입력영상의 대응 화소(P')의 위치를 결정하는 범용 2D 변환의 그래픽 표현;
도 3은 도 1의 시스템내에서 패치를 규칙적으로나 불규칙적으로 분할하는 예를 보여주는 도면;
도 4는 도 1의 시스템에 이용되는 불연속 곡면(4A)과 연속 2D 곡면(도 4B)의 그래픽 표현;
도 5는 입출력 영상 둘다 축척할 수 있도록 해상도 변화를 도 1의 시스템으로 이루는 방법을 보여주는 도면;
도 6은 도 1의 시스템을 사용해 확대맵을 구하는 방법을 보여주는 도면;
도 7은 본 발명의 변환방법을 보여주는 순서도.
도 1에 도시된 워핑시스템(100)은 형상입력 인터페이스(110), 격자변환 생성기(120), 패치형상 생성기(130), 곡면함수 추정기(140), 오차분석 스테이지(150), 바운딩박스 생성기(160), 해상도/확대 생성기(170), 데이터 재배열 스테이지(180) 및 출력 인터페이스(190)를 포함한다.
워핑시스템(100)은 격자데이터(화소x화소) 표현을 곡면함수 표현으로 변환하고, 결국 효과적인 실시간 하드웨어 구현을 이룬다. 2D 공간변환을 필요로 하는 모 든 시스템에 워핑시스템(100)을 응용할 수 있다. 워핑시스템(100)은 프로젝터, 카메라 및 디스플레이 기기의 작은 왜곡의 수정부터 키스톤과 같은 원근 수정이나 특수한 광각렌즈 수정은 물론, 360도 원형 영상이나 사각형 영상에서 극좌표형 매핑까지 모든 영상 변화를 커버하는데 이용된다.
형상입력 인터페이스(110)는 적은 수의 형상변수의 관점에서 변환을 설명한다. 이들 변수는 최고 레벨에서 변환을 설명(정의)한다. 예컨대 투사각과 렌즈 투사비의 관점에서 키스톤 변환을 설명하거나, 방사상 입체 다항식의 관점에서 렌즈교정을 설명하거나(여기서는 변수가 4개의 다항식 계수임), 또는 곡률반경의 관점에서 디스플레이 곡면을 설명한다. 극단적으로 작은 형상변수의 관점에서 한 설명을 이용할 수 없는 경우, 수치적 설명을 이용하면서 점 집합의 매핑을 하기도 한다.
격자변환 생성기(120)는 형상입력 인터페이스(110)에 연결되어, 이 인터페이스에서 얻은 입력 형상변수를 이용해 공간변환의 격자데이터 설명을 만드는데, 이 설명은 해당 기하학적 매핑을 정의하고 변환이 된 뒤 새로운 화소위치를 제공한다. 격자변환 생성기(120)는 역변환을 이용하는바, 출력영상의 각각의 화소를 입력영상에 매핑하는 공간변환을 이용한다. 이 방식에서는, 출력부에서의 수평수직 주사선내 모든 출력화소에 각각 값을 할당하여 처리할 수 있다. 한편, 기존에 알려진 순방향 매핑에서는 할당받지 못한 화소를 갖는 출력영상에 구멍이 생길 수 있다.
도 2는 입력 좌표공간내 입력영상의 화소 P'를구하기 위해 출력영상 좌표공간내 화소 P에 역변환 매핑을 하는 일반적인 2D 변환의 그래픽 표현이다. 일반적인 워프는 입력 좌표공간내 비정수 위치에 한 점을 매핑한다. 화소는 격자점을 사각형으로 둘러싼 것으로서 수학적 점이 아니라 유한의 면적을 갖는 것으로 본다. 따라서, 출력공간내 화소 P는 사각형 ABCD로 처리되고, 이것은 입력 좌표공간내 P'를 둘러싼 임의의 형상 ABCD로 일그러진다. 입력공간에서 P'는 화소 1, 2, 3, 4를 오버랩하는 것처럼 보인다.
도 2와 같이, 입력공간의 원점과 출력공간의 원점은 해당 영상의 상단좌측 모서리에 있으며, 우측방향은 양의 x 방향, 아래쪽은 양의 y 방향이다. 입출력 영상은 메모리에 저장되거나 기록되므로, 본 명세서에서 말하는 입출력 영상공간은 입출력 메모리공간으로 보면 된다. 일반적으로, 격자데이터 설명은 아래의 식으로 요약된다;
Figure 112007026607518-PCT00001
위의 식에 의하면, 좌표가 (X,Y)인 출력영상내 화소는 F=(Fu,Fv)의 공간변환을 거쳐 입력영상내에 좌표 (U,V)의 화소로 매핑된다. 따라서, 격자 데이터집합 관계 {(Ui,Vi),(Xi,Yi)}나 단순히 격자 데이터집합이 출력공간내의 화소 {(Xi,Yi)}의 집합이고, 이는 입력공간내 화소 {(Ui,Vi)}로 역 매핑된다. 이상과 같이, 좌표 {X,Y,U,V}는 물리적 메모리 주소공간내 좌표이다. 이 관계는 아래와 같다:
Figure 112007026607518-PCT00002
Figure 112007026607518-PCT00003
공간변환을 정의하는 방법으로 2가지 일반적 방법이 있다. 첫째, 매핑 (F u ,F v )를 위한 명시적 함수형태를 알 수 있는바, 공간변환을 위한 분명한 수학적 모델을 구현할 수 있다. 둘째, 격자 데이터집합 관계 {(Ui,Vi),(Xi,Yi)}가 출력화소 위치 (Xi,Yi)에 대응하는 입력화소 위치 (Ui,Vi)를 제공하는데, 출력화소 위치는 출력공간의 전체나 일부에 대해 알 수 있다. 출력화소 위치 (Xi,Yi)는 정수값을 갖고, 이는 출력 메모리공간의 정기적 샘플링을 의미하지만, 매핑된 입력화소 위치 (Ui,Vi)는 대개 도 2와 같이 정수가 아니다. 수학적 모델은 대개 형상입력 인터페이스(110)에서의 몇몇 형상 변수의 관점의 설명과 관련되지만, 격자 데이터집합은 몇몇 지점의 관점에서의 수치설명과 관련된다. 수학적 모델 방식에서는 매핑이 항상 격자 데이터집합을 얻는다고 평가되므로, 두번째 방식이 더 범용적이다.
격자 데이터집합 관련 모델은 공간변환의 "이상적" 표현이라고 간주된다. 실제로, 격자데이터는 잡음을 포함하고, 이 경우 "이상적"이란 표현은 근사적인 표현일 것이다. 그러나, 설명은 매우 복잡할 수 있고, 데이터집합(또는 함수)은 영상의 영역에 따라 크게 다를 수 있다. 이런 표현을 근거로 한 영상변환 시스템은 소프트웨어나 하드웨어적으로 구현하기가 힘들다. 격자 데이터집합 {(Xi,Yi)}나 격자 데이터집합 관계 {(Ui,Vi),(Xi,Yi)}가 출력공간 전체에 걸쳐있으면, 격자 데이터 성분들 이 기본적으로 화소x화소 표현과 동일하다. 이런 관점에서, 2D 공간변환을 표현할 때 격자 데이터집합을 사용함은 (종래 기술에서) 화소x화소 (룩업/변화 테이블) 설명을 사용하는 것임을 암묵적으로 의미한다. 그러나, 화소x화소 표현은 하드웨어 구현에는 불충분하다. 본 발명의 워핑시스템(100)은 격자데이터(화소x화소) 관계 표현을 곡면함수 표현으로 변환한다.
함수표현을 하기 전에 2-패스 처리를 위해 데이터를 분리하곤 한다. 주지하는 바와 같이, 이렇게 분리하는 이유는 해당 하드웨어 구현을 간단히 하기 위해서이다. 축척 데이터를 수직경로와 수평경로로 분리하면, 1D 필터링을 이용할 수 있다. 그러나, 이 경우 화질이 저하됨은 물론 모든 매핑을 분리할 수 없게된다. 메모리의 공간과 속도의 발전으로 인해, 2D 필터링의 효과적인 싱글-패스 구현도 이제 가능하다. 일례로 미국 캘리포니아 산호세 소재 Silicon Optix사의 sxT2 칩이 있다. 따라서, 2-패스 과정의 분리에서 생기는 종래의 하드웨어 장점을 화질과 변환 융통성 둘다를 유지한다는 좀더 중요한 목표로 바꿀 수 있다. 본 발명의 방법에서는 분리를 이용하지 않고도 효과적인 하드웨어 구현을 할 수 있고 또한 2D 매핑을 표현하기에 충분한 융통성을 유지할 수 있다. 싱글-패스 방법에서처럼, (2D 필터를 사용했을 때의) 최종 화질도 2-패스 방법의 화질보다 우수하다.
본 발명의 유용성을 충분히 입증하려면, 하드웨어 처리를 단순화하기 위해 출력공간에서 2D 변환을 평가하는데 사용되는 주사선 처리를 이해하는 것이 중요하다. 변환은 종래와 같이 2-패스로 하거나 본 발명과 같이 싱글-패스로 할 수 있다. 주사선 처리시, 행 방향(수평)과 열 방향(수직)으로 순차적으로 출력화소가 생긴 다. 하나의 행/열이 완전히 생긴 뒤, 다음 행/열로 진행된다. 주사선 처리의 변형은, 각각의 행/열의 한 구간, 즉 구간 1을 먼저 처리한 뒤 구간 2를 처리하기 위해 돌아가는 식으로 계속 진행되는 것이다. 이런 변형례는 양방향으로 주사선 처리를 병합한다. 출력부에서의 주사선 처리는 입력영상 데이터에 적용된 처리 종류를 제한하지 않는다. 특히 2D 필터링을 이용할 수 있다.
출력부에서 처리하는 주사선의 이용에 대한 주요 제한은 입력부엣의 (필터링에 필요한 화소데이터의) 메모리 접속이 랜덤할 수 있다는 것이다. (거의 하나씩 처리되는) 출력공간내의 부근 화소들은 큰 영역에 분산되는 입력공간내 데이터를 필요로 하므로, 입력 메모리접속을 불충분하게 한다. 이것은 필터링에 문제가 될 수 있지만(처리는 느리게 하고 시간지연은 길게 함) 변환을 설명하는 곡면다항식을 평가하는데 있어서는 그렇지 않은데, 본 발명은 이것에 촛점이 맞추어져 있다. 본 발명에서, 곡면다항식은 출력공간에 정의되고 입력 화소데이터에 대한 접속은 필요치 않다.
주사선 처리를 위해서는 출력공간내 모든 화소에 대한 공간변환을 규정해야 한다. 즉 모든 화소에 대한 이상적인 매핑에 가장 근사한 함수 설명을 해야 한다. 샘플링된 화소들에 대해 알려진 격자 데이터집합 관계를 통해 이상적 매핑이 주어진다. 수학적 모델을 정의하지 않은 영역에 대해서는 함수 설명이 규정 데이터를 추론하거나 이런 영역을 배경으로 매핑할 수 있다. 수학적 모델을 잘못 규정한 영역이 항상 배경 화소에 대응하므로 후자의 경우가 인정된다.
도 3은 패치형상 생성기(130)의 기능을 예시한다. 패치형상 생성기(130)는 출력공간에 규정된 사각형 패치 어레이를 생성하고(도 2 참조), 출력공간의 데이터는 곡면 맞춤화된다. 패치는 서로 같은 크기를 가질 필요는 없지만 이런 특수한 경우에는 서로 규칙적으로 적합해야만 한다. "규칙적"이란 패치가 행이나 열로 배열되는 것을 의미한다. 사격형 패치에 의한 어떤 분할들도 규칙적 배열을 가질 수 있으므로 이것은 제한사항이 아니다. 규칙적이거나 불규칙한 패치 분할 둘다 도 3에 도시되어 있다. 패치의 수는 워프의 복잡도, (후술하는) 맞춤 오차에 대한 허용수준, 맞춤에 사용되는 기본 함수의 종류, 기타 제한사항에 의해 결정된다. 원칙적으로, 4개의 인접 화소점 집합마다 패치를 하나씩 할당할 수 있지만, 공간변환을 저장하려면 더 많은 메모리가 필요하다.
패치형상 생성기(130)에 연결된 것 곡면함수 추정기(140)로서, 이것은 격자변환의 함수적 설명을 만든다. 공간변환의 함수적 설명을 구하는데 사용되는 일반적 방법은 수직이나 수평의 주사선 집합에 격자데이터를 맞추는 것이다. 이 맞춤은 보통 최소제곱을 기반으로 하되, 기본 함수는 다항식이다. 맞춤 주사선의 단점은 (a) 대량의 데이터를 저장해야 하는바, 맞춤된 주사선마다 다항식 계수가 여러개 존재하고, (b) 각각의 주사선을 맞추면 주사선 사이의 워프의 설명이 분실된다. 특히, 매 화소 행이나 열마다 주사선을 끼워맞추면, 메모리 용량 때문에 이런 경우가 흔하다해도, 주사선 사이의 격자데이터를 구하는데 보간법이 필요하다. 범용적인 워프의 설명을 고려하지 않는 보간법이라면 어떤 종류든 간에 화소 위치에 오차를 일으키고, 이것은 워프의 엄격도에 따라 아주 커질 수 있다.
이런 문제는 양쪽 좌표에 대해 격자데이터를 곡면맞춤하면 해결될 수 있다. 싱글-패스와 2-패스 방법 모두에 적용되는 곡면맞춤은 2D 공간변환을 설명하는 자연스런 방식이다. 양방향으로의 형상거동을 동시에 병합하는 정확한 설명을 제공한다. 곡면맞춤은 다항식 방법으로 이루어졌을 때 일방향 주사선 맞춤을 설명하는 다항계수들을 맞춤하는 것을 의미한다. 곡면이 매핑에 관한 모든 2D 설명을 준다고 해도, 곡면의 평가는 주사선 차수에서 수직이나 수평으로 계속 진행될 수 있다. 따라서, 곡면을 기반으로 한 설명 역시 효과적인 주사선 알고리즘을 사용해 구현될 수 있다.
도 1, 3에서, 곡면함수 추정기(140)는 각각의 사각형 패치의 격자데이터를 하나의 곡면에 맞추되 전술한 바와 같은 선택기준을 이용한다. 이 과정은 데이터가 여러 값을 갖지 않아 접힘이 없다는 가정하에 이루어진다. 실시간 하드웨어 구현에 가장 공통적인 맞춤선택은 x-y 방향의 3차 다항 곡면이다. 곡면맞춤은 이상적 데이터집합 관계 {(ui,vi),(xi,yi)}에 대한 함수 근사값을 제공한다. 곡면함수는 u i =S nu (x i ,y i )와 같이 표시된다. 출력 좌표공간의 원점은 패치마다 재정의되는 것으로서 상대적 원점이 되도록 선택한다. 예컨대 모든 패치의 상단좌측 모서리를 원점으로 할 수 있다. 이렇게 되면 맞춤과 곡면 평가에 관련된 갯수의 범위가 줄어들고, 이것은 특히 하드웨어 산술부의 수치오차를 줄이는데 중요하다.
다항식 방법에 대해 더 자세한 설명을 한다. (x i y j 형태의) 다항식 함수는 하드웨어 구현에 사용되는 가장 일반적인 함수이다. B-스플라인 곡면과 같은 모든 다항식계 곡면을 이 형식에 맞출 수 있다. 아래 표현은 여러가지 맞춤 곡면에 사용 된다:
Figure 112007026607518-PCT00004
여기서 곡면을 평가하는 좌표는 전체 패치에 걸쳐있는 것이지, 단순히 데이터집합의 샘플 화소(첨자 c로 표시한 것)에 한정된 것이 아니다. 곡면의 차수는 x 방향으로는 L이고 y 방향으로는 L로서, 이들은 서로 다르다. 이런 맞춤에서 구해진 곡면계수 {S nu , kl ,S nv , kl }는 전체 패치의 곡면을 정의한다.
곡면 맞춤에 의해 격자계 표현인 {(ui,vi),(xi,yi)}에서 (패치 n에 대한) 아래의 곡면 다항식 (함수) 표현으로 바뀐다:
Figure 112007026607518-PCT00005
v에 대해서도 마찬가지로 전술한 바와 같다. 다수의 격자데이터 관계 {(ui,vi),(xi,yi)}를 저장하는 대신, (모든 곡면이나 패치에 대해) 곡면계수 S nu , kl 만 저장하면 된다. 이어서 이 곡면을 평가하여 역매핑 화소위치를 결정한다. 맞춤과정에서 곡면계수가 결정된다. 데이터를 맞추는데 다른 방법이나 맞춤함수를 사용할 수도 있지만, 가장 일반적인 방법은 최소제곱법이다.
도 4는 출력 좌표공간을 4개의 사각형 패치로 분할한 것을 기반으로 곡면함수 추정기(140)에서 만든 2D 맞춤곡면의 2k지예를 보여준다. 도 4A의 곡면은 불연속적인 반면, 도 4B의 곡면은 연속적이다.
2D 데이터집합의 출력좌표점 각각에 대해 곡면을 구하면, 오차분석 스테이지(150)에서 관련 곡면함수를 분석하여 u ic v ic 값을 구한다. 오차분석 스테이지(150)는 이들 값을 2D 격자설명의 정확한 좌표 (u i , v i )와 비교하는데, 이 좌표는 격자변환 생성기(120)에서 독립적으로 받은 것이다. 다음, 미리결정된 오차허용도 조건
Figure 112007026607518-PCT00006
을 만족하는지 판단한다. 조건을 만족하지 못하면 오차분석 스테이지(150)가 분석 결과를 패치형상 생성기(130)로 돌려보낸다. 이런 결과를 기반으로, 패치형상 생성기(130)는 패치를 더 세분하되, 오차가 허용도보다 큰 패치만을 세분한다. 패치의 세분은 사각형 어레이라는 규칙성을 유지한다. 가장 우선적으로 세분할 패치는 배경이 큰 패치이다. 입력좌표공간 외부의 배경에 매핑된 화소에 대해서는 맞춤오차가 큰 것이 일반적이다. 이런 경우, 이들 지점은 별도의 패치와 연관되어 배경에 매핑하도록 조정되어야 한다. 이어서 관련 비배경 영역들을 독립적으로 맞출 수 있다. 이들 단계는 원하는 정확도를 얻을 때까지 계속한다. 곡면함수는 변하지 않음을 알아야 한다.
패치의 형상을 최적화하기 위한 과정은 기울기 탐색(gradient search)이나 임의 탐색(random search)을 통해 이루어진다. 이런 탐색은 패치 경계선상의 벡터공간에서 이루어진다. 패치 배열이 MxN인 경우, 수직 경계선은 M+1y이고 수평경계선은 N+1y로서, 벡터공간에 대한 차원은 M+N+2이다.
기울기 탐색에서, 패치 경계선의 시작 벡터는
Figure 112007026607518-PCT00007
이고 스텝벡터는
Figure 112007026607518-PCT00008
로 표시한다.
Figure 112007026607518-PCT00009
Figure 112007026607518-PCT00010
+
Figure 112007026607518-PCT00011
양쪽에 대해 맞춤오차 분석을 한다.
Figure 112007026607518-PCT00012
+
Figure 112007026607518-PCT00013
에서의 오차가 더 작으 면
Figure 112007026607518-PCT00014
+
Figure 112007026607518-PCT00015
를 유지하고,
Figure 112007026607518-PCT00016
+
Figure 112007026607518-PCT00017
Figure 112007026607518-PCT00018
로 과정을 반복한다. 오차가 같거나 크면
Figure 112007026607518-PCT00019
를 유지하고 새로운 스텝벡터
Figure 112007026607518-PCT00020
을 선택한 다음,
Figure 112007026607518-PCT00021
Figure 112007026607518-PCT00022
로 과정을 반복한다. 스텝벡터는 오차 변화를 기반으로 조정할 수 있다. 변화가 클수록 크기가 더 큰 스텝벡터를 사용한다. 패치형상 생성기(130)를 이용하면 벡터공간에서 가능한 모든 방향을 탐색할 수 있으므로, 국부적 오차 최소값에 한정하여 탐색되지 않는다. 반복 횟수는 탐색에 할애된 시간에 좌우된다. 기울기 탐색은 가능한 모든 패치배열, 예컨대 1x1, 1x2, 2x1 .. 등등 최대 배열에 대해 이루어진다.
임의 탐색은 경계선 벡터
Figure 112007026607518-PCT00023
를 패치경계의 벡터공간에서 임의로 선택한다. 이런 벡터를 선택할 때는 크기가 최대/최소 등의 여러 조건을 줄 수 있다. 벡터
Figure 112007026607518-PCT00024
의 맞춤을 위해 오차를 계산하되 오차가 최대인 벡터를 유지한다. 이 탐색은 기울기 탐색과 마찬가지로 가능한 모든 패치 어레이에 대해 이루어진다. 본 발명의 일례를 선례로 삼은 결과, 후술하는 대부분의 변환에서 오차를 10배 줄이는데는 20회 반복으로 충분했다.
한편, 오차를 줄이는 효과적이고 강력한 방법은 2가지 탐색을 결합하는 것이다. 먼저 임의 탐색으로 벡터
Figure 112007026607518-PCT00025
를 구해 오차를 최소화한 다음, 이 벡터를 기울기 탐색의 시작벡터로 사용하여
Figure 112007026607518-PCT00026
로 한다. 여기서 기울기 탐색은 임의 탐색으로 얻은 결과를 더 가다듬는 역할을 한다. 이런 임의-기울기 (결합) 탐색을 이용하면, 패치의 경계공간을 철저히 탐색하여 오차를 최소로 하는 경계를 찾을 수 있다.
위의 곡면 표현에 관해 몇가지 중요한 점을 강조하고자 한다. 필요하다면, 패치마다 독립적인 출력 좌표공간으로 취급하고, 패치의 데이터집합은 자체적으로 독립적인 2D 변환으로 취급할 수 있다. 특히, 패치마다 독립적으로 맞춤을 하고, 이는 출력영상이 연속일 필요가 없음을 암시한다. 패치에 대한 불연속 곡면과 연속 곡면 맞춤의 예가 도 4A~B에 도시되었다. 도 4A의 4개의 패치를 더 세분하여 맞춤을 개선할 수 있다. 구체적으로, 1024x768 x-y 출력공간을 4개의 패치로 나누고 곡면 (u(x,y))를 그렸다. 도 4A에서, 곡면은 패치를 가로질러 불연속적이다. 패치마다 독립적인 데이터집합을 갖고, 인접 데이터집합에 독립적으로 맞춤된다. 도 4B의 곡면은 패치를 가로질러 연속적이며, 이 경우 어떤 패치에 대한 맞춤도 연속성이 있어야 한다.
패치 경계에서 영상의 연속성을 유지하기 위해, 연속성을 분명히 강제하는 기본함수를 사용할 수 있다. 2D 공간에서 연속성을 제어하는 가장 널리 알려진 함수는 B-스플라인 곡면과 베지어 곡면(Bezier surface)이다. 이들 곡면 둘다 (C i 연속함수의 수학적 관점에서) 필요한 연속성을 구하는데 사용된다. B-스플라인 곡면에서 MxN 패치어레이에 대한 곡면맞춤은 텐서곱(tensor product) 방식을 이용해 이루어지는데, 스플라인 마디에서 쉽게 패치를 분할하거나 그 역으로 한다. 마디수열을 조정하면 B-스플라인 곡면의 연속성을 쉽게 조절할 수 있다. 쌍삼차(bicubic) B-스플라인 곡면으로 C 2 연속성까지 부과할 수 있는데, 이정도면 어디에도 충분하다. (일반적으로 평활한 영상을 얻는데 필요한 것은 C 1이 전부다.) 불연속 곡면, 즉 독립적 패치는 B-스플라인의 특수한 경우로서, 적당한 마디수열을 갖는다. 스플라 인은 상대적 원점을 갖는 (각 패치에 대한) 국소 다항식 형태로 기록되고, 이 기록은 자연히 다항식계 하드웨어 도구로 변역된다. B-스플라인 맞춤 도구는 많은 수치/수학적 계산소프트웨어 패키지에 적합하다 또, 패치마다 다른 동작을 하기도 한다. (패치 경계선에서의 임의 연속성에 대한) 패치기반 곡면설명으로 아주 복잡한 2D 공간변환의 표현이 가능하다.
일반 2D 공간변환의 완벽한 표현은 모든 패치에 적용되는 아래 데이터로 주어진다:
1) 패치의 형상(패치 원점의 절대위치와 패치의 크기)
2) 격자데이터 관계에 대한 곡면을 설명하는 곡면계수.
이런 표현으로 2D 매핑을 정의하는 통합된 포맷이 생긴다. 이 표현은 2D 영상변환 시스템의 실시간 하드웨어 구현을 향한다. 하드웨어 구현시, 주사선 차수에서 곡면다항식을 평가하고, 그 위치와 미분정보는 처리필터로 보내진다. (위치곡면에서 도합수를 쉽게 유도한다.) 매핑이 폐함수 형태로 주어지므로, 전체 형상데이터(각종 도함수)를 필터링 단계에서 쉽게 얻을 수 있다.
맵이 복잡할수록, 패치의 수, 결국에는 1)과 2)에 포함된 데이터량이 증가한다. 데이터는 전체적인 포맷에 변화를 주지 않고 매핑의 복잡도에 따라 좌우된다. 패치의 수가 늘어나면 맞춤오차가 줄어든다. 원칙적으로, 패치 어레이를 계속 세분하면 최대 맞춤오차를 크게 줄일 수 있다. 그러나, 실제로는 데이터를 저장하기 위한 공간이 제한되어 (패치마다 1), 2) 데이터와 관련됨), 패치의 수도 제한된다. 메모리와 오차 최소화(허용레벨)가 균형을 이루는데서 최종 패치어레이 크기가 결 정된다.
대부분의 2D 변환에서는 고해상도 패치망을 필요로하지 않는다. 패치 사이즈와 오차 발생을 정량화하기 위해, 위의 포맷을 이용해 여러가지 2D 매핑을 연구했다. 연구대상은 (i) 방사상 핀쿠션과 배럴 왜곡과 같은 렌즈왜곡, (ii) 수평수직 키스톤 교정이나 곡면에 대한 투사와 같은 투사 맵, (iii) 선형 축적과 결합된 회전, (iv) 아래와 같은 더 복잡한 맵을 위한 위의 조합, (v) 아치 래스터 맵, (vi) (어안렌즈나 특수한 360도 촬영장치를 이용해 얻은) 광각/360도/파노라마 영상 교정 등이 있다.
3차(K=L=3)의 다항식 곡면을 사용했는데, 이는 곡면계수가 패치당 16개임을 의미한다. 0.5 화소의 오차한계를 정했다. (ii~iv)의 변환에 최대 4개의 패치가 필요했다. 이 수 전체 맵을 정의하는데 필요한 곡면계수가 128개 이하임을 의미한다. 곡면계수를 4-바이트 플로트(4-byte float)로 저장하고 데이터 크기를 512 바이트 이하로 한다. 이는 매우 합리적인 값으로서 보드나 칩 탑재형 메모리에 쉽게 적용될 수 있다.
i, v 변환에는 (양쪽 좌표에 대해) 최대 26 패치가 필요했는데, 데이터 크기는 1.625킬로바이트 이하로서, 현재의 보드나 칩 탑재형 메모리에서 쉽게 다룰 수 있다. vi 변환에 대해서는 90도의 시야각에 대한 입체교정을 위해 최대 18개의 패치나 1.125킬로바이트 이하가 필요했다. 전체 함수가 사용되면 vi에서 구한 영상에 복잡한 변환을 적용할 수 있다. 예컨대, 180도 어안렌즈 2개에서 얻은 영상을 하나의 360 파노라마 영상 외에도 특정 영역의 2개 줌업 90도 시야로 변환할 수 있 다. 이런 변환은 대략 6개의 맵(360/90 + 2)에 해당하는 것으로, 각각 특정의 90도 영역을 변환하고, 데이터 크기는 6.75킬로바이트 이하이다. 이런 특수한 광각/360 기반 변환은 최근에 보안분야에서 많이 선호되고 있다. 따라서, 이런 결과에서 알 수 있듯이, 이상의 방법은 2D 변환을 표현할 수 있으며 합리적인 데이터 크기와 화소 정밀도를 갖는다.
바운딩박스 데이터로 영상변환데이터를 보충하면 하드웨어를 더 최적화할 수 있다. 바운딩박스 데이터는 바운딩박스 생성기(160)에서 생기는 것으로서 불필요한 하드웨어 처리를 제거하는 역할을 한다. 앞서 설명한대로, 출력공간내의 큰 asu적이 배경 화소에 해당하는바, 입력영상을 축소시키는 변환으로 작용하고, 이것은 2D 필터링을 이용했을 때 대부분의 하드웨어 리소스에 영향을 준다. 이런 화소위치에서는 곡면을 평가할 필요가 없고, 필터도 실행할 필요가 없으며, 단지 화소 색상을 배경 색상으로 맞추기만 하면 된다. 하드웨어가 많은 배경화소를 빨리(즉, 곡면 평가 없이) 확인하도록, 패치마다 사각형 바운딩박스에 연계했다. 바운딩박스는 출력공간에서 상단좌측 좌표를 (x L B , y L B )로, 하단 우측 좌표를 (x R B , y R B )로 간단히 정의한다. 바운딩박스 안에 좌표가 있는 출력화소 (x i , y i )만 처리하고 x L B x i x R B , y L B y i y R B ,한다(즉, 곡면을 평가하되 화소의 색상값은 2D 필터링으로 결정한다), 한편 바운딩박스 밖의 출력화소에는 간단히 배경색상을 할당한다. 이렇게 되면 많은 중복 처리사이클을 없앨 수 있다.
비배경 화소 경계가 대개 사각형이 아니므로 이런 식으로 모든 배경 화소를 확인할 수는 없다. 그러나, 바운딩박스를 가능하면 패치당 하나 이상으로 세분하면, 이런 경계가 사각형 바운딩박스에 가깝게 되지만, 더 많은 저장 비용이 든다(바운딩박스 좌표가 필요함). 대부분의 변환에 바운딩박스 데이터는 불필요하고, 극한의 변환일지라도 패치당 바운딩박스 하나면 충분하다.
바운딩박스 데이터를 사용하지 않으면, 더 표준적인 방식을 이용해 불필요한 과정을 줄일 수 있다. 표준 방식에서는 모든 화소에 대해 곡면을 평가하고, 최종 좌표가 입력공간에 있는지 점검한다. 좌표가 입력공간에 있으면, 정상으로 처리를 진행하여, 출력화소 색상값을 2D 필터링으로 결정한다. 좌표가 벗어나 있으면, 화소에 간단히 배경 색상을 할당하고, 2D 필터링을 하지 않는다. 곡면을 평가해야만 하지만, 필터가 이들 데이터를 처리하지 않는다는 사실에서 얻는 이득이 상당할 수 있다. 또, 비배경 화소 경계를 아주 정확히 결정할 수 있는데, 이는 이런 경계가 입력공간에 대한 곡면매핑에 의해 충분히 규정되기 때문이다.
워핑시스템(100)의 영상변환은 2D 영상변환을 설명하는 변수 전체를 결정한다. 이들 데이터는 차례로 해상도/확대 생성기(170)와 데이터 재배열 스테이지(180)에서 사용된다. 이들 스테이지에 앞서 바운딩박스 생성기(160) 출력에 의해 매핑표현이 결정되는데, 생성기의 출력은 패치형상 생성기(130) 및 곡면함수 추정기(140)에서 생긴 하부의 패치형상과 곡면계수로 이루어진다.
도 5~6의 해상도/확대 생성기(170)는 입출력 영상의 해상도를 변화시키고 확대효과를 주어 전술한 영상변수를 활용하는데 이용된다. 워핑시스템(100)의 위치기 반 영상변환 표현을 이용하면 단순히 계수를 축척함으로써 해상도마다 공간변환을 쉽게 조절할 수 있다. 도 5는 해상도 변화작업에 관한 과정을 보여주는데, 여기서 입출력 영상 둘다 축척된다. 입출력 좌표의 독립적 축척은 아래와 같이 표현된다:
xx'=r 1 x, yy'=s 1 y
uu'=r 2 u, vv'=s 2 v (5)
상수 {r 1,s 1 , r 2,s 2}는 축척율을 결정하고 프라임 표시는 축척좌표를 의미한다. 축척좌표의 관점에서 곡면은 아래와 같이 표현된다:
Figure 112007026607518-PCT00027
따라서, 입출력 해상도 변화를 조정하기 위해, 모든 계수를 축척한다. 이것은 맞춤이나 보간이 필요없는 비교적 간단한 작업이다. 그러나, 패치의 형상(즉, 패치의 사이즈와 원점의 절대위치) 역시 워핑시스템(100)으로 적절히 축척해야만 한다.
도 6은 워핑시스템(100)으로 한 영상변환내에서 확대맵(zooming map)을 생성하는데 관련된 단계들을 보여준다. 베이스 입력영상, 베이스 출력영상 및 축척된 베이스 출력영상은 확대할 영역과 베이스 워프를 보여준다. 먼저 베이스 출력영상을 축척(즉, 축척된 베이스 출력영상을 만들어)한 다음 (축척 작업으로 적절히 확대된) 관심 영역을 추출하면 확대 워프가 만들어진다. 확대 맵은 새로운 입력영상과 새로운 출력영상 사이에 나타나는 변환에 해당한다. 확대 작업은 특정 영역을 확대할 수 있는 차이에 맞게 다른 해상도로 축척하는 것과 비슷한데, 이는 패닝 기능(panning capability)을 의미한다. 확대작업은 입력 영상공간(사전변환)이나 출력 영상공간(사후변환)에서 이루어진다. 워핑시스템(100)의 아래 실례에서는 출력공간에서의 확대에 대해 설명한다. 확대율(zoom factor) K는 1보다 크게 해야만 하는데 여기서는 K=2로 2배율로 했다. 다른 경우에도 비슷하게 취급된다.
도 6의 베이스맵 변환을 보면, 해상도 W 0 xH 0 의 입력영상을 W 1 xH 1 의 출력영상으로 변환한다. 출력에서의 확대작업은 베이스 맵의 출력공간내 사각 영역을 확대함을 의미한다. 이 영역은
Figure 112007026607518-PCT00028
으로 정의되고, 상단좌측 모서리의 절대위치는
Figure 112007026607518-PCT00029
이다. 새로운 확대맵의 출력영상은 크기가
Figure 112007026607518-PCT00030
이다. 확대작업은 2단계로 나눌 수 있다. 먼저 베이스 출력영상을 K의 비율로 축척하는데, 이는 KW 1 xKH 1 의 새로운 출력해상도로 축척하는 것과 같은 작업이다. 다음, 더 크게 축척된 영상에 서
Figure 112007026607518-PCT00031
에 위치하는 크기
Figure 112007026607518-PCT00032
의 윈도우를 추출해 새로운 출력영상으로 디스플레이한다. 따라서, 축척된 영상을 채취하여 관심영역만 보유한다. 확대맵은 2D 공간변환한 것으로서, 새로이 축척채취한
Figure 112007026607518-PCT00033
출력영상에 W 0 xH 0 의 입력영상을매핑한 것이다. 새로운 출력공간의 좌표체계는 (x",y")로 표시한다. (x",y") 표시는 새로운 맵의 입력좌표 체계로 사용되고, 이것은 실제로는 베이스 워프에서 변하지 않고 남아있다. 각각의 패치(출력공간)의 좌표는 패치 상단좌측 모서리의 원점에 대해 규정된다. 아래 계산에서는 역시 절대좌표로 작업해야 한다. 첨자 A는 (x A ,y A )와 같이 절대좌표를 나타낸다.
수학적으로 첫번째 확대단계는 곱셈연산이고, 두번째 단계는 시프트나 덧셈연산이다. 베이스 공간과 새 출력공간내 절대위치는 아래와 같다:
Figure 112007026607518-PCT00034
이들 식을 곡면 표현으로 대체하기 전에, 상대위치로 바꾸어야 한다. 두번째 단계에서는 간단한 해상도 변화작업에서 볼 수 없었던 추가적인 복잡성을 유도하므로 이것은 덜 하찮은 것이다. 축척된 영상내 원점을 옮기고 크기
Figure 112007026607518-PCT00035
의 윈도우를 추출하면 많은 화소/점이 출력영상 밖에 놓이게 된다. 새로운 워프에 관한 한, 이들 점은 더이상 존재하지 않는다. 마찬가지로, 패치의 일부나 전체 패치를 영상 윈도우 밖에 놓을 수 있다. 이것은 패치 분할이 확대맵에는 다르다는 것을 의미한 다.
Figure 112007026607518-PCT00036
윈도우 안에 있는 패치나 패치의 일부분만이 유지되어야 한다. 패치 모서리의 새로운 (절대) 위치를 연구하면 어느 패치나 패치의 어느 부분을 포함시켜야 할지를 알 수 있다. 규칙적인 사각형 패치 망으로 시작하고 윈도우가 사각형이므로, 새로운 패치 분할 역시 규칙적 사각형이 될 것이다.
베이스맵에서 n번째 패치의 상단 좌측 모서리(첨자 1로 표시)와 하단 우측 모서리(2로 표시)를 다음과 같이 표시한다(이들은 절대위치이지만, 첨자 A는 편의상 생략한다):
Figure 112007026607518-PCT00037
이들 지점을 다음의 새로운 공간내 새로운 모서리에 매핑한다:
Figure 112007026607518-PCT00038
새로운 패치의 크기는 아래와 같다:
Figure 112007026607518-PCT00039
패치의 신규 폭이나 높이가 0 이하이면, 이 패치가 새 맵에 포함된다. 폭과 높이 모두 0보다 크면, 패치가 확대변환에 포함된다. 포함된 패치의 절대위치(즉, 상단 좌측 모서리)를 재계산해야 하는데, 이는 이 패치가 일부만 포함되기 때문이다. 새 위치는 아래와 같다:
Figure 112007026607518-PCT00040
보유된 각각의 패치는 아래와 같은 새로운 형상(위치와 크기)을 갖는다:
Figure 112007026607518-PCT00041
새 패치 형상을 알면, 식 (12), (13)을 새 출력공간의 상대적 원점 표현으로 바꿀 수 있다:
Figure 112007026607518-PCT00042
끝으로, 베이스 맵의 곡면표현으로 대체할 수 있다:
Figure 112007026607518-PCT00043
위의 식을 확장하고 표준형태와 비교하면, 새로운 곡면계수를 간단히 얻을 수 있다. 이들 계수는 패치 형상과 결합하여 확대변환을 완벽히 정의한다.
데이터 재배열 스테이지(180)는 특정의 영상 조작시스템에 활용되어 필요한 데이터를 더 재배열한다. 곡면다항식의 평가는 여러 방식으로 진행될 수 있는바, (덧셈이나 곱셈의 수와 차수와 같은) 자세한 것은 하드웨어나 소프트웨어 아키텍처에 좌우된다. 예를 들어, 다항식을 평가하는 일반적인 하드웨어 방식은 호너의 방법으로서, 본 발명에서는 3차 다항식을 이용한다:
Figure 112007026607518-PCT00044
비슷한 기술을 곡면 평가에도 사용한다. 곡면은 아래와 같이 재평가된다:
Figure 112007026607518-PCT00045
곡면은 x 방향의 다항식으로 취급되고, ㅌ-다항식의 계수는 y 방향의 다항식이다. 모든 다항식(토탈 5개)은 호너의 방법으로 평가된다. 모든 수평주사선(행)에 대해, y-다항식을 (패치당) 1회만 평가해야 한다. (22) 식은 수직 주사선에도 사용된다. 이 경우, 각 패치의 첫번째 수직주사선(열)에 대해 y-다항식을 평가해 저장해야만 한다. 이어서 패치내 나머지 수직주사선에 대해 하여야 하는데, 이들은 주사선의 x-위치와는 무관하기 때문이다. 이렇게 되면 처리속도가 증가하고 직접적으로는 x에 관련되지만 암묵적으로는 y에 관련된 1D 위치 다항식으로 변환을 취급하므로, y의 다항식인 위치계수 자체로 표현되기도 한다. 한편, 곡면을 y의 다항식으로 취급하고, 그 계수는 x의 다항식으로 하기도 한다. 경우에 따라, 메모리 접속/저장 및 연산장치의 사양에 따라서는 다른 방법이 더 좋을 수도 있다.
다항식 표현을 평가하는 다른 표준 기술은 전방차분(forward differences)이다. 그러나, 전방차분 사정은 오차를 모으는 경향이 있고, 이 방식의 큰 장점은 하드웨어의 복잡성을 줄이되, 구체적으로는 곱셈을 줄이고 고정점 사용 가능성을 줄이는데 있다. 패치 크기가 주사선 방향으로 작고 타당한 비트의 수치적 정확도를 얻을 수 있으면, 오차의 합도 작을 수 있다.
도 7은 본 발명의 논리흐름(700)을 보여준다. 710에서는 각각의 출력화소를 입력화소에 매핑하는(역매핑) 좌표쌍을 포함하는 격자데이터 세트를 생성한다. 720에서는 하부 형상과 워프의 복잡도에 맞는 패치 형상을 만든다. 730에서는 격자데이터 세트에 관한 설명을 곡면맞춤을 통해 구하고 곡면계수를 생성한다.
이 지점에서 곡면데이터와 패치데이터가 모두 생성된다. 이들 데이터를 740에서 분석하고 750에서는 710에서 생긴 격자데이터 세트의 정확한 좌표와 비교한다. 패치형상과 곡면맞춤을 통해 생긴 근사값의 오차가 752에서 허용오차보다 크면, 이 정보를 이용해 720에서 패치 형상을 더 세분한다. 이 과정을 오차가 허용범위내에 있을 때까지 반복한다.
오차 분석이 만족되면, 760에서 출력영상의 활성영역을 결정하고 이곳을 둘러싸는 바운딩박스를 추출한다. 이 과정은 처리시간 절감을 위해 이 영역에만 제한한다.
770에서 가능한 해상도 변화와 확대를 위한 맵을 만들되 곡면계수의 축척에 의해 워프변환과 함께 작업을 한다. 780에서는 곱셈 수를줄여 하드웨어 효율성을 높이도록 변환을 재배열한다.
본 발명의 워핑시스템(100)은 종래에 비해 여러 중요한 장점을 갖는다. 첫째, 주사선 과정, 작은 메모리용량 및 간단한 다항식 표현을 활용해 실시간 영상변환 체계를 갖는 효과적인 하드웨어 구현이 가능하다. 이 워핑시스템은 통일적으로 임의의 변환을 표현한다. 출력공간에서의 곡면-패치 설명을 기반으로 변환을 하므로(역변환), 쉽게 조작이 가능하면서도 효율이 더 좋은 폐쇄형 방식이라 할 수 있다. 모든 변환은 패치형상과 곡면계수를 규정하는 변수들로 이루어진다. 화소x화소 설명은 곡면-패치 설명의 제한된 경우에만 볼 수 있는데, 이런 경우는 4개의 화소마다 곡면을 맞춤하는 경우이다.
워핑시스템(100)은 또한 자연적으로 복잡하게 축척할 수 밖에 없는 공간변환의 설명을 제공한다. 변환이 복잡할수록 필요한 패치의 수도 증가하는바, 즉 포맷은 불변하고 설명변수의 증가는 선형적이다. 특히, 추가적인 특징을 도입할 필요는 없다. 이 표현은 실제 관심이 있는 복잡한 변환을 구현하기에 충분하다.
워핑시스템(100)은 다른 입출력 해상도의 변환을 일으키기도 한다. 화소x화소 형태가 아닌 폐함수 형태로 설명이 주어지므로, 변수에 대한 간단한 수학적 연산이 가능하다. 해상도 변화는 곡면계수를 축척하면 쉽게 알 수 있다. 또, 워핑시스템(100)은 확대와 패닝을 위한 효과적인 메커니즘을 제공한다. 해상도 변화와 마찬가지로, 확대와 패닝은 곡면계수의 선형변환을 의미한다. 격자데이터의 재생성은 필요없다. 일단 "베이스" 맵을 계산했으면, 이에 대한 설명의 변수들을 직접 바꿔 표준 축척-시프트 변환을 구현한다.
워핑시스템(100)은 "이상적" 설명과 비교해 수치적으로 아주 낮은 오차를 일으킨다. 오차는 패치망의 해상도에 크게 좌우된다. 패치 수를 증가시키면, 오차를 작게할 수 있다. 일정 한계를 넘어서면 오차가 더 감소되어 광각 필터의 화질에 거의 영향을 미치지 않는다. 오차의 허용범위는 메모리 조건에 의해 제한된다. 기본함수가 변하면, 특수한 워프에 대해 적당한 맞춤을 선택하여 오차를 (패치의 증가 없이도) 무시할 수 있을 정도로 할 수 있다.
워핑시스템(100)은 하드웨어 구현에 매력적인 방법인 공간변환 설명을 위해 메모리 저장공간을 적게 필요로 한다(즉, 데이터파일 크기를 적게 필요로 한다). 대부분의 실제 변환에 대해, 적은 수의 패치로도 화소의 정확도를 얻을 수 있다. 이 경우, 큰 화소x화소 위치테이블과는 반대로 데이터파일 크기를 작은 갯수의 곡면계수로 구성할 수 있다.
워핑시스템(100)은 범용적인 매핑을 위해 영상의 부분부분마다 다른 변환을 한다. 패치마다 독립적인 맵으로 취급하므로, 영상의 구역마다 다르게 변환할 수 있다. 이런 변환을 하나의 연속 곡면으로 정의할 필요는 없다. 여러 맵을 하나로 조합해 동일한 포맷을 갖는 하나의 맵을 만들 수 있다. 워핑시스템(100)은 잘 만들어진 형상모델 기법들, 예컨대 B-스플라인 맞춤과 베지어(Bezier) 곡면 맞춤을 병합해 최적의 결과를 구한다. 필요에 따라, 다른 수학적 방법을 이용해 곡면계수를 구하기도 한다. B-스플라인과 베지어 곡면은 자연적으로 본 발명의 프레임웍에 맞춰진다. 이들 곡면은 패치를 가로질러 곡면의 연속성을 분명히 보여준다. 패치분할은 스플라인 곡면의 마디수열에서 쉽게 도출될 수 있다. 최소제곱 맞춤기법으로 이들 곡면을 이용하면, 널리 사용되는 간단한 워프에 대해 곡면설명 생성과정을자동화할 수 있다.
워핑시스템(100)은 사각형이 아닌 패치도 허용하는데, 이 경우 패치형상을 복잡하게 하여 맞춤을 더 통제해야 한다. 본 발명에서는 변수적 경계곡선으로 패치의 형상을 설명한다. 좌표의 관점에서 변수화가 이루어지는데, 좌표의 선택은 경계곡선의 방향에 따라 결정된다. 사각형 패치의 경우, 경계곡선이 간단히 수평선이거나 수직선이다. 임의의 형상의 패치의 경우, 앞서 설명한다른 특징들과 결합하여 매우 복잡한 2D 워핑을 생성하기 위한 극도의 융통성을 제공한다.
한편, 워핑시스템(100)은 주로 사각형 패치를 이용하지만, 영상과 배경의 경계를 이루는 경계 패치의 평가 도메인을 제한하는 경계곡선에도 사용된다. 이런식으로, 경계곡선이 규정한 도메인 내에 있는 패치나 패치 부분에 대해서만 모든 계산이 이루어진다. 즉, 규정된 영역에 대해서만 맞춤작업이 한정되는 것이다.
이상 설명한 방법은 영상면의 레이어를 지원하는 다중패스에도 확장할 수 있다. 영상데이터는 영상의 휘도와 색 데이터를 위해 샘플링되는 깊이 정보를 포함할 수도 있다. 깊이 정보는 레이어 과정에 사용되어 각 화소의 선명도나 오클루전(occlusion)을 결정한다. 곡면은 같은 크기를 가질 필요가 없고 오버랩이 되거나 아닐 수 있다.

Claims (44)

  1. 입력 화소좌표를 갖는 입력영상을 출력 화소좌표를 갖는 출력영상으로 변환하는 2차원 비디오 영상변환을 싱글-패스에서 구현하는 시스템에 있어서:
    ⒜ 디스플레이 광학계, 투사각도, 평판스크린과 곡면스크린용의 디스플레이 패널형상 및 사용자 정의 변수를 포함하여 변환을 정의하는 형상 변수를 얻기위한 형상입력 인터페이스;
    ⒝ 출력 화소좌표를 입력 화소좌표에 매핑하는 격자데이터 변환을 위해 상기 형상입력 인터페이스에 연결된 격자변환 생성기;
    ⒞ 출력 화소좌표 공간을 하부 형상에 맞는 여러 패치로 분할하되, 패치마다 관련 격자데이터 집합을 가지며, 상기 격자변환 생성깅 연결되고, 출력공간의 패치의 경계를 결정하는 패치형상 생성기;
    ⒟ 각 패치의 격자데이터 집합을 곡면계수로 표현한 곡면함수로 변수화하도록 상기 패치형상 생성기에 연결된 곡면함수 추정기; 및
    ⒠ 곡면계수 저장을 위해 곡면함수 추정기에 연결된 출력 인터페이스;를 포함하는 것을 특징으로 하는 시스템.
  2. 제1항에 있어서, 상기 곡면함수 추정기, 패치형상 생성기 및 격자변환 생성기에 연결된 오차분석 스테이지를 더 포함하되, 이 오차분석 스테이지는 선택된 좌표점에서의 곡면함수의 평가와 격자데이터 설명에서 얻은 대응 좌표점 사이의 차이 가 허용범위내에 있는지 여부를 판단하도록 오차분석을 하고, 또한 허용범위내에 없으면 오차분석 결과를 패치형상 생성기로 보내 해상도 향상을 위해 패치를 더 세분하는 것을 특징으로 하는 시스템.
  3. 제1항에 있어서, 출력화소 좌표를 감싸는 바운딩박스를 생성하여 과정을 줄이기 위한 바운딩박스 생성기를 더 포함하는 것을 특징으로 하는 시스템.
  4. 제1항에 있어서, 변환된 출력화소 좌표가 입력화소 좌표내에 있는지를 판단하고, 입력화소 좌표내에 없으면 출력화소 데이터의 더이상의 처리를 금지하는 것을 특징으로 하는 시스템.
  5. 제1항에 있어서, 상기 곡면함수 추정기가 다항식으로 곡면함수를 표현하는 것을 특징으로 하는 시스템.
  6. 제5항에 있어서, 상기 다항식이 3차 다항식인 것을 특징으로 하는 시스템.
  7. 제6항에 있어서, 상기 곡면함수 추정기가 텐서곱 쌍삼차 스플라인 곡면(tensor product bi-cubic splines)을 이용한 최소제곱법을 통해 상기 다항식을 조정하는 것을 특징으로 하는 시스템.
  8. 제6항에 있어서, 상기 곡면함수 추정기가 연산과정을 줄이도록 다른 차수의 계수를 인수분해하여 다항식을 계산하는 것을 특징으로 하는 시스템.
  9. 제1항에 있어서, 기울기 탐색(gradient search)을 통해 패치를 최적으로 분할하는 것을 특징으로 하는 시스템.
  10. 제1항에 있어서, 임의탐색(random search)을 통해 패치를 최적으로 분할하는 것을 특징으로 하는 시스템.
  11. 제1항에 있어서, 임의탐색과 기울기 탐색을 결합하여 패치를 최적으로 분할하되, 임의탐색으로 먼저 최적의 형상을 찾은 다음 기울기 탐색으로 미세조정된 최적 형상을 찾는 것을 특징으로 하는 시스템.
  12. 제1항에 있어서, 영상변환을 반복하지 않고도 해상도 변화를 수용하도록 결정된 곡면계수를 변화시키는 해상도 변화 스테이지를 더 포함하는 것을 특징으로 하는 시스템.
  13. 제1항에 있어서, 영상변환을 반복하지 않고도 확대작업을 수용하도록 결정된 곡면계수를 변화시키는 확대 스테이지를 더 포함하는 것을 특징으로 하는 시스템.
  14. 제5항에 있어서, 곡면을 x의 다항식으로 취급하되 x-다항식의 계수는 y 다항식으로 취급하여 표면 맞춤을 하는 것을 특징으로 하는 시스템.
  15. 제1항에 있어서, 패치마다 별도로 맞춤작업을 하는 것을 특징으로 하는 시스템.
  16. 제1항에 있어서, 상기 곡면함수 추정기가 패치의 좌표 원점을 패치상에 위치하도록 재정의하여 좌표 맞춤에 사용되는 숫자의 범위를 줄이는 것을 특징으로 하는 시스템.
  17. 제1항에 있어서, 핀쿠션이나 배럴렌즈 왜곡을 포함한 광학적 비선형을 교정하는 것을 특징으로 하는 시스템.
  18. 제1항에 있어서, 키스톤 왜곡을 포함한 투사왜곡을 교정하는 것을 특징으로 하는 시스템.
  19. 제1항에 있어서, 곡면에 투사하는데 사용되는 것을 특징으로 하는 시스템.
  20. 제1항에 있어서, 광각렌즈를 이용한 파노라마 비전시스템에 사용되는 것을 특징으로 하는 시스템.
  21. 제1항에 있어서, 제17항, 제18항, 제19항 및 제20항에서 설명한 왜곡들의 결합을 교정하는데 사용되는 것을 특징으로 하는 시스템.
  22. 제1항에 있어서, 영상의 휘도와 색 데이터로서 리샘플링되는 깊이 정보가 포함되도록 영상면을 레이어(layer)하되, 깊이 정보를 레이어 과정에 사용하여 각 화소의 선명도나 오클루전(occlusion)을 결정하는 것을 특징으로 하는 시스템.
  23. 입력 화소좌표를 갖는 입력영상을 출력 화소좌표를 갖는 출력영상으로 변환하는 2차원 비디오 영상변환을 싱글-패스에서 구현하도록 표현하는 방법에 있어서:
    ⒜ 디스플레이 광학계, 투사각도, 평판스크린과 곡면스크린용의 디스플레이 패널형상 및 사용자 정의 변수를 포함하여 변환을 정의하는 형상 입력 변수를 구하는 단계;
    ⒝ 출력 화소좌표를 입력 화소좌표에 매핑하도록 상기 형상입력 변수를 기반으로 격자데이터 변환을 하는 단계;
    ⒞ 출력 화소좌표 공간을 하부 형상에 맞는 여러 패치로 분할하되, 패치마다 관련 격자데이터 집합을 가지며 출력공간의 패치의 경계를 결정하는 단계;
    ⒟ 각각의 패치에서, 곡면계수로 표현된 곡면함수로 상기 격자 데이터변환을 변수화하는 단계; 및
    ⒠ 곡면계수를 저장하는 단계;를 포함하는 것을 특징으로 하는 방법.
  24. 제23항에 있어서, 선택된 좌표점에서의 곡면함수의 평가와 격자데이터 설명에서 얻은 대응 좌표점 사이의 차이가 허용범위내에 있는지 여부를 판단하도록 오차분석을 하고, 또한 허용범위내에 없으면 해상도 향상을 위해 패치를 더 세분하는 것을 특징으로 하는 방법.
  25. 제23항에 있어서, 출력화소 좌표를 감싸는 바운딩박스를 생성하는 것을 특징으로 하는 방법.
  26. 제23항에 있어서, 변환된 출력화소 좌표가 입력화소 좌표내에 있는지를 판단하고, 입력화소 좌표내에 없으면 출력화소 데이터의 더이상의 처리를 금지하는 것을 특징으로 하는 방법.
  27. 제23항에 있어서, 다항식으로 곡면함수를 표현하는 것을 특징으로 하는 방법.
  28. 제27항에 있어서, 상기 다항식이 3차 다항식인 것을 특징으로 하는 방법.
  29. 제28항에 있어서, 텐서곱 쌍삼차 스플라인 곡면(tensor product bi-cubic splines)을 이용한 최소제곱법을 통해 상기 다항식을 조정하는 것을 특징으로 하는 방법.
  30. 제28항에 있어서, 연산과정을 줄이도록 다른 차수의 계수를 인수분해하여 다항식을 계산하는 것을 특징으로 하는 방법.
  31. 제23항에 있어서, 기울기 탐색(gradient search)을 통해 패치를 최적으로 분할하는 것을 특징으로 하는 방법.
  32. 제23항에 있어서, 임의탐색(random search)을 통해 패치를 최적으로 분할하는 것을 특징으로 하는 방법.
  33. 제23항에 있어서, 임의탐색과 기울기 탐색을 결합하여 패치를 최적으로 분할하되, 임의탐색으로 먼저 최적의 형상을 찾은 다음 기울기 탐색으로 미세조정된 최적 형상을 찾는 것을 특징으로 하는 방법.
  34. 제23항에 있어서, 영상변환을 반복하지 않고도 해상도 변화를 수용하도록 결정된 곡면계수를 변화시키는 것을 특징으로 하는 방법.
  35. 제23항에 있어서, 영상변환을 반복하지 않고도 확대작업을 수용하도록 결정된 곡면계수를 변화시키는 것을 특징으로 하는 방법.
  36. 제27항에 있어서, 곡면을 x의 다항식으로 취급하되 x-다항식의 계수는 y 다항식으로 취급하여 표면 맞춤을 하는 것을 특징으로 하는 방법.
  37. 제23항에 있어서, 패치마다 별도로 맞춤작업을 하는 것을 특징으로 하는 방법.
  38. 제23항에 있어서, 패치의 좌표 원점을 패치상에 위치하도록 재정의하여 효율적인 하드웨어 구현을 위한 좌표 맞춤에 사용되는 숫자의 범위를 줄이는 것을 특징으로 하는 방법.
  39. 제23항에 있어서, 핀쿠션이나 배럴렌즈 왜곡을 포함한 광학적 비선형을 교정하는 것을 특징으로 하는 방법.
  40. 제23항에 있어서, 키스톤 왜곡을 포함한 투사왜곡을 교정하는 것을 특징으로 하는 방법.
  41. 제23항에 있어서, 곡면에 투사하는데 사용되는 것을 특징으로 하는 방법.
  42. 제23항에 있어서, 광각렌즈를 이용한 파노라마 비전방법에 사용되는 것을 특 징으로 하는 방법.
  43. 제23항에 있어서, 제39항, 제40항, 제41항 및 제42항에서 설명한 왜곡들의 결합을 교정하는데 사용되는 것을 특징으로 하는 방법.
  44. 제23항에 있어서, 영상의 휘도와 색 데이터로서 리샘플링되는 깊이 정보가 포함되도록 영상면을 레이어(layer)하되, 깊이 정보를 레이어 과정에 사용하여 각 화소의 선명도나 오클루전(occlusion)을 결정하는 것을 특징으로 하는 방법.
KR1020077007873A 2007-04-06 2004-09-09 2차원 공간변환을 표현하는 시스템과 방법 KR20070102989A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020077007873A KR20070102989A (ko) 2007-04-06 2004-09-09 2차원 공간변환을 표현하는 시스템과 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020077007873A KR20070102989A (ko) 2007-04-06 2004-09-09 2차원 공간변환을 표현하는 시스템과 방법

Publications (1)

Publication Number Publication Date
KR20070102989A true KR20070102989A (ko) 2007-10-22

Family

ID=38817635

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077007873A KR20070102989A (ko) 2007-04-06 2004-09-09 2차원 공간변환을 표현하는 시스템과 방법

Country Status (1)

Country Link
KR (1) KR20070102989A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101350732B1 (ko) * 2012-06-04 2014-01-14 한국과학기술원 변형체의 실시간 시뮬레이션을 위한 다해상도 무요소법
US9759856B2 (en) 2015-08-20 2017-09-12 Samsung Eletronics Co., Ltd. Curved backlight unit and curved display apparatus including the same
CN113706625A (zh) * 2021-07-28 2021-11-26 昆山丘钛微电子科技股份有限公司 一种镜头畸变校正方法及装置
KR20230057315A (ko) * 2016-02-12 2023-04-28 삼성전자주식회사 360도 영상 처리 방법 및 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101350732B1 (ko) * 2012-06-04 2014-01-14 한국과학기술원 변형체의 실시간 시뮬레이션을 위한 다해상도 무요소법
US9759856B2 (en) 2015-08-20 2017-09-12 Samsung Eletronics Co., Ltd. Curved backlight unit and curved display apparatus including the same
KR20230057315A (ko) * 2016-02-12 2023-04-28 삼성전자주식회사 360도 영상 처리 방법 및 장치
CN113706625A (zh) * 2021-07-28 2021-11-26 昆山丘钛微电子科技股份有限公司 一种镜头畸变校正方法及装置

Similar Documents

Publication Publication Date Title
US7324706B2 (en) System and method for representing a general two dimensional spatial transformation
EP1800245B1 (en) System and method for representing a general two dimensional spatial transformation
CN104732479B (zh) 对图像进行调整大小
KR101785027B1 (ko) 화면 왜곡 보정이 가능한 디스플레이 장치 및 이를 이용한 화면 왜곡 보정 방법
EP1395952B1 (en) Method and system for processing a non-linear two dimensional spatial transformation
JP2000182038A (ja) 歪まされた情報からの遠近法的矯正デ―タの生成方法及びこれに用いる装置並びにコンピュ―タプログラム製品
JP4131994B2 (ja) 透視変換システム及び方法
JP2007193508A (ja) 画像処理装置及び画像処理プログラム
CN110246161B (zh) 一种360度全景图像无缝拼接的方法
US5930407A (en) System and method for efficiently generating cubic coefficients in a computer graphics system
WO2000016262A1 (en) Method and apparatus for zooming digital images
US8548274B2 (en) Systems and methods for efficient storage of image transformations
US7081903B2 (en) Efficient movement of fragment stamp
KR20070110252A (ko) 이방성 필터링을 이용한 싱글-패스 리샘플링 시스템 및방법
KR20070102989A (ko) 2차원 공간변환을 표현하는 시스템과 방법
JPH09259290A (ja) 描画方法
WO2011121563A1 (en) Detecting saliency in an image
Mody et al. Flexible and efficient perspective transform engine
EP1591955A2 (en) Resolution converting method
JP2013218523A (ja) 画像拡大処理装置
JP7131080B2 (ja) ボリュームレンダリング装置
JP5085589B2 (ja) 画像処理装置および方法
JP3509368B2 (ja) 情報処理装置
WO2006062508A1 (en) Dynamic warp map generation system and method
Summers-Stay Graphcut Texture Synthesis for Single-Image Superresolution

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