KR20200043458A - 3d 장면의 이미지를 생성 및 수정하기 위한 방법 - Google Patents

3d 장면의 이미지를 생성 및 수정하기 위한 방법 Download PDF

Info

Publication number
KR20200043458A
KR20200043458A KR1020207008668A KR20207008668A KR20200043458A KR 20200043458 A KR20200043458 A KR 20200043458A KR 1020207008668 A KR1020207008668 A KR 1020207008668A KR 20207008668 A KR20207008668 A KR 20207008668A KR 20200043458 A KR20200043458 A KR 20200043458A
Authority
KR
South Korea
Prior art keywords
image
scene
function
data
projection
Prior art date
Application number
KR1020207008668A
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 KR20200043458A publication Critical patent/KR20200043458A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/08Projecting images onto non-planar surfaces, e.g. geodetic screens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T3/0006
    • G06T3/005
    • G06T3/0056
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/10Selection of transformation methods according to the characteristics of the input images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Landscapes

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

Abstract

3D 장면의 2D 이미지를 생성 및 수정하는 방법으로서, 상기 방법은: 3D 장면의 이미지를 처리하여 상기 3D 장면 및 상기 장면 내의 3D 물체를 나타내는 데이터 포인트 세트를 생성하는 단계; 상기 데이터 세트로부터 하나 이상의 데이터 포인트를 검색하는 단계; 각각의 데이터 포인트에 대한 투영 궤도를 정의하는 함수; 각각의 데이터 포인트에 대한 투영 표면의 기하학적 구조를 정의하는 함수; 각각의 데이터 포인트에 대한 투영 볼륨을 정의하는 함수; 투영 표면 상의 수렴 포인트에 대한 각각의 데이터 포인트의 투영 각도를 정의하는 함수; 투영 표면으로부터 각각의 데이터 포인트의 크기 대 거리 비율을 정의하는 함수;를 포함하는 하나 이상의 수학적 변환 함수에 따라 상기 하나 이상의 데이터 포인트를 변환하는 단계; 변환된 데이터 포인트 세트를 생성하는 단계; 상기 3D 장면의 수정된 2D 이미지를 나타내는 변환된 데이터 포인트 세트를 투영하는 단계; 및 상기 투영되고 변환된 데이터 포인트 세트를 디스플레이 상에 2D 이미지로 렌더링하는 단계를 포함한다.

Description

3D 장면의 이미지를 생성 및 수정하기 위한 방법
본 발명은 3D 장면의 2D 이미지를 생성 및 수정하는 방법에 관한 것이다. 보다 구체적으로, 본 방법은 장면에서 물체 및 공간의 레이아웃(layout) 및 분포(distribution)를 제어한다.
실제 또는 가상 3D 장면의 이미지가 컴퓨터 그래픽 시스템을 사용하여 점점 생성, 저장 및 수정되고 있다. 실제 물리적 환경을 나타내는 3D 데이터 세트는 광학 카메라, 광학 카메라 어레이, 이미지 기반 3D 스캐너, 적외선 스캐너, 사진 측량 시스템(photogrammetry system) 및 레이저 스캐너를 포함하지만 이에 제한되지 않는 기술로 캡처(capture)될 수 있다. 실제 또는 가상 공간을 나타내는 3D 데이터 세트는 3D 모델링 및 설계 소프트웨어를 사용하여 생성될 수 있다. 실제 물리적 공간의 측정값(measurement)을 컴퓨터-생성 환경과 결합함으로써 증강 현실 또는 혼합 현실을 나타내는 3D 데이터 세트를 생성할 수 있다. 일단 3D 장면을 나타내는 캡처 또는 생성된 데이터가 일반적으로 색상, 텍스처(texture) 또는 매핑(mapping) 값과 같은 각각의 좌표에 첨부된 값으로 3D 좌표 세트로 컴퓨터 시스템에 저장된다. 이미지를 편집하거나 보려면, 컴퓨터 시스템은 이러한 3D 데이터를 일반적으로 그래픽 처리 장치를 통해 모니터, 프로젝터 또는 유사한 장치에 표시되는 픽셀의 배열로 변환한다.
많은 기존 소프트웨어 패키지는 사용자 요구 사항을 충족시키기 위해 이미지의 기능을 수정하기 위한 도구 또는 메커니즘을 제공한다. 예를 들어, 일반적인 3D 컴퓨터 게임은 게임 장면이 디스플레이 상에 제공되는 시야각에 대해 사용자가 제어할 수 있도록 제공한다. 이러한 경우, 더 많은 3D 장면이 디스플레이에 보이도록 시야각을 증가시키는 것이 필요할 수 있다. 다른 예를 제공하기 위해, 사용자는 이미지 내의 정보를 보다 명확하게 보기 위해 이미지의 특정 부분을 확대하고자 할 수 있다.
그러나, 3차원 장면의 이미지의 외관(appearance)을 수정하는 현재의 방법에는 많은 문제점 및 제한이 있다. 첫째, 종래의 컴퓨터 그래픽 시스템은 일반적으로 3D 포인트를 2D 이미지로 도식화하기 위해 선형 원근법(linear perspective)의 기하학적 구조를 사용한다. 선형 원근법의 기하학적 구조는 장면에서 물체의 상대적 크기와 이들이 이미지화하는 가상 핀홀로부터의 이들 거리 사이에 엄격하게 정의된 관계를 부여한다. 간단히 말해서, 물체는 깊이가 감소함에 따라 크기가 줄어든다. 최대 50° 또는 수평으로 시야각으로 이미지를 볼 때 이러한 명백한 감소는 보는 사람에게 매우 자연스럽게 나타날 수 있다. 그러나 시야각이 양안 인간 시야의 시야각을 근사하는 180°로 증가함에 따라, 이미지의 여백에 있는 물체의 분명한 신장(stretch)으로 인해, 열화에 의한 감소는 더욱 극단적이다. 이러한 극단적인 광각 이미지는 보기에 불편하고, 보는 사람에게 관심을 가질 수 있는 장면의 중앙 부분을 모호하게 하는 경향이 있으며 일반적으로 실생활 경험을 정확하게 표현하지 않는 것으로 간주된다.
어안, 직교, 등변형 또는 기타 맵 투영 및 원통형 투영을 포함하여, 이미지에 3차원 장면을 렌더링(rendering)하기 위한 다른 기하학적 방법을 사용할 수 있으며, 이러한 방법은 모두 현재 컴퓨터 그래픽 엔진에서 구현될 수 있다. 이들 방법의 한가지 제한 사항은 큐브맵 형태로부터 2D 파노라마 이미지를 다른 기하학적 투영으로 변형하거나 재-투영하여 일반적으로 생성되고, 이는 복수의 원근 카메라(perspective camera)를 함께 스티칭하는 것을 포함하고 계산적으로 매우 집중적이라는 것이다. 이러한 투영의 주요 한계는 묘사되는 물체와 공간의 다양한 종류의 극단적이거나 부자연스러운 왜곡을 생성하는 경향이 있으며, 결과적으로 그래픽 엔진이나 소비자에 의해 다시 널리 채택되지 않음으로써 실제 경험의 정확한 표현을 일반적으로 제공하지 않는 것으로 간주된다.
파노라마 2D 이미지가 광학적으로 캡처되거나 계산적으로 생성되면 전문 디자이너는 이미지 레이아웃을 개선하기 위해 2D 이미지를 임의로 휘게하고 조작하도록 일반적으로 사용되는 여러 후반-작업 소프트웨어(post-production software) 도구의 수를 사용할 수 있다. 예를 들어, 영화 특수 효과 디자이너는 이러한 도구를 사용하여 동영상의 일부를 크기 조정하거나, 하나의 종횡비에서 다른 종횡비로 이미지를 변환하거나, 특정 왜곡 또는 비디오 레이어로의 휘어짐과 같은 특수 효과를 생성할 수 있다. 이러한 시스템이 캡처되거나 생성된 2D 이미지 좌표의 조작에 의존하는 경우, 적용될 수 있는 조정에 제한된다. 2D 이미지에서 물체의 어클루전(occlusion)은 이미지를 캡처한 카메라의 핀홀을 통한 선형 광선의 수렴에 의해 결정되고, 이는 장면의 영역 또는 장면에서의 물체의 부분을 표시할 수 없음을 나타내며, 삽입된 물체에 의해 가려진다. 결과적으로, 디자이너는 값비싼 이미지 처리없이 묘사된 장면에서 레이어의 깊이를 독립적으로 수정할 수 없기 때문에, 2D 이미지 또는 동영상을 재구성하거나 대상을 다시 지정할 수 있는 범위가 제한된다.
많은 컴퓨터 그래픽 시스템의 또 다른 한계는 표시되는 이미지의 기하학적 구조가 보는 사람의 동작에 따라 자동으로 수정되지 않는다는 것이다. 예를 들어, 보는 사람이 화면에 더 가까이 이동하면 장면의 구조가 변경되어 장면의 요소를 보다 명확하게 볼 수 있다. 보는 사람이 가상 현실 헤드셋, 360° 비디오 및 움직임 소프트웨어의 구조를 포함하는 3D 공간 또는 물체 주위의 스캔을 시뮬레이션하기 위해 장치의 위치를 조정할 수 있는 시스템이 존재한다. 그러나 이러한 시스템은 기본적으로 이미지를 표시하기 위해 선형 원근법 기하학적 구조를 사용하고, 따라서 위에서 언급한 넓은 시야각을 표시하는 동일한 문제가 발생한다. 또한, 이러한 시스템은 부자연스럽거나 불편하거나 불편함을 느낄 수 있는 효과를 생성하기 위해, 머리 또는 신체에 부착되거나 보유하고 있는지 여부에 따라 사용자가 감지 장치를 취급 및 이동시키는 것에 의존하는 경향이 있다.
본 발명은 전술한 문제를 해결하기 위한 것으로, 3D 장면의 2D 이미지를 생성하고 수정하는 방법을 제공한다.
본 발명에 따르면 3D 장면의 2D 이미지를 생성하고 수정하는 방법이 제공되고, 상기 방법은 하기 단계를 포함한다:
3D 장면의 이미지를 처리하여 상기 3D 장면 및 상기 장면 내의 3D 물체를 나타내는 데이터 포인트의 세트를 생성하는 단계;
상기 데이터의 세트로부터 하나 이상의 데이터 포인트를 검색하는 단계;
각각의 데이터 포인트에 대한 투영 궤도(projection trajectory)를 정의하는 함수;
각각의 데이터 포인트에 대한 투영 표면의 기하학적 구조를 정의하는 함수;
각각의 데이터 포인트에 대한 수렴 포인트로 투영 볼륨을 정의하는 함수;
투영 표면 상에서의 수렴 포인트에 대해 각각의 데이터 포인트에 대한 투영 각도를 정의하는 함수;
투영 표면으로부터 각각의 데이터 포인트에 대한 크기 대 거리 비율을 정의하는 함수를 포함하는 군으로부터 선택되는 하나 이상의 수학적 변환 함수에 따라 상기 하나 이상의 데이터 포인트를 변환하는 단계;
변환된 데이터 포인트의 세트를 생성하는 단계;
상기 3D 장면의 수정된 2D 이미지를 나타내는 상기 변환된 데이터 포인트의 세트를 투영하는 단계; 및
상기 투영되고 변환된 데이터 포인트의 세트를 디스플레이 상에서 2D 이미지로 렌더링하는 단계.
일 실시 형태에서, 3D 장면을 나타내는 데이터 포인트의 세트는 공간 좌표, 색상, 텍스처, 표면 매핑 데이터, 움직임 데이터, 물체 식별 데이터, 또는 3D 장면을 나타내는데 필요한 다른 데이터를 포함한다.
일 실시 형태에서 하나 이상의 데이터 포인트를 변환하기 전에 데이터 포인트의 세트를 수학 매트릭스(mathematical matrice)로 변환하는 단계를 더 포함한다.
일 실시 형태에서 각각의 데이터 포인트의 투영 궤도를 정의하는 변환 함수는 궤도를 선형 또는 비선형으로 정의하는 것을 포함한다. 상기 선형 궤도는 단일 벡터로 정의되며 비선형 궤도는 여러 벡터, 연속 다항식(polynomial), 스플라인(spline) 또는 조각별 함수(piecewise function)로 정의된다.
일 실시 형태에서 각각의 데이터 포인트에 대한 투영 표면의 기하학적 구조를 정의하는 변환 함수는 상기 투영 표면을 평면 또는 비평면으로 정의하는 것을 포함한다. 상기 비평면은 연속적이든 조각식이든 2차원 다항식 함수를 사용하여 기하학적으로 정의된다.
일 실시 형태에서, 각각의 데이터 포인트에 대한 수렴 포인트로 투영 볼륨을 정의하는 변환 함수는 변수(varible)로서 정의된다.
일 실시 형태에서, 상기 투영 표면 또는 표면들에 대해 각각의 데이터 포인트에 대한 투영의 각도를 정의하는 변환 함수는 각각의 데이터 포인트의 위치와 수렴 포인트 사이의 관계로부터 도출된 수학 함수로서 정의된다.
일 실시 형태에서, 투영 표면으로부터 각각의 데이터 포인트의 크기 대 거리 비율을 정의하는 변환 함수는 수학 함수로서 정의된다.
일 실시 형태에서 0°보다 큰 임의의 각도에서 360°보다 작은 임의의 각도까지의 범위로 상기 이미지에 의해 표현되는 장면의 수직 시야각을 증가시키거나 감소시키기 위해 함수들이 개별적으로 또는 조합하여 적용될 수 있다.
일 실시 형태에서, 0°보다 큰 임의의 각도에서 360°보다 작은 임의의 각도까지의 범위로, 상기 이미지에 의해 표현되는 장면의 수평 시야각을 증가시키거나 감소시키기 위해 함수들이 개별적으로 또는 조합하여 적용될 수 있다.
일 실시 형태에서, 상기 함수들은 실제 크기의 0%보다 큰 임의의 값으로부터 1000%보다 작은 임의의 값까지의 범위로 상기 이미지의 모서리에 위치된 영역 또는 물체의 크기에 비해 이미지의 중심에 위치되는 영역 또는 물체의 크기를 증가 또는 감소시키기 위해 개별적으로 또는 조합하여 적용될 수 있다.
일 실시 형태에서, 상기 함수들은 실제 크기의 0%보다 큰 임의의 값으로부터 1000%보다 작은 임의의 값까지 범위로 상기 이미지의 중심에 위치된 영역 또는 물체의 크기에 비해 상기 이미지의 모서리에 위치된 영역 또는 물체의 크기를 증가 또는 감소시키기 위해 개별적으로 또는 조합하여 적용될 수 있다.
일 실시 형태에서, 상기 함수들은 상기 장면에서 직선인 모든 수직선이 상기 이미지에서 직선으로 나타나는 0으로부터 상기 장면에서 직선인 모든 수직선이 상기 이미지에서 원의 단면으로 나타나는 100까지, 상기 이미지에서 수직 곡률의 양을 증가시키거나 감소시키기 위해 개별적으로 또는 조합하여 적용될 수 있다.
일 실시 형태에서, 함수들은 상기 장면에서 직선인 모든 수평선이 상기 이미지에서 직선으로 나타나는 0으로부터 상기 장면에서 직선인 모든 수평선이 상기 이미지에서 원의 단면으로 나타나는 100까지, 상기 이미지에서 수평 곡률의 양을 증가시키거나 감소시키기 위해 개별적으로 또는 조합하여 적용될 수 있다.
일 실시 형태에서, 함수들은 상기 이미지에서의 물체 또는 영역의 진직도(straightness)가 깊이에 따라 증가하는 0에서부터 상기 이미지에서의 물체 또는 영역의 곡률이 깊이에 따라 증가하는 100까지, 상기 이미지에서 진직도 또는 곡률의 양을 깊이의 함수로서 증가시키거나 감소시키기 위해 개별적으로 또는 조합하여 적용될 수 있다.
일 실시 형태에서, 함수들은 하나 이상의 정의 가능한 파라미터를 갖는다. 상기 정의 가능한 파라미터는 사용자 제어 인터페이스를 통해 설정되거나 특정 특성을 생성하도록 미리 결정될 수 있다. 상기 사용자 제어 인터페이스는 기계식 또는 전자식 형태의 수동 작동식 슬라이더 또는 노브(knob)의 세트로 구성되거나 상기 사용자 제어 인터페이스는 상기 파라미터를 실시간으로 변경하기 위해 사용자 눈 움직임 및 위치, 머리 움직임 및 위치, 신체 움직임 및 위치를 감지하는 하나 이상의 센서로 구성된다.
일 실시 형태에서, 상기 장면의 선형 원근법 투영이 상기 장면의 수정된 뷰(view)가 생성되는 동시에 제공되는 추가 디스플레이가 제공된다.
일 실시 형태에서 하나 이상의 데이터 포인트를 변환하기 전에 세트에서 새로운 데이터 포인트를 구성하기 위해 데이터 포인트의 세트를 보간(interpolate)하는 단계를 더 포함한다.
본 발명은 다양한 방식으로 수행될 수 있으며, 이의 실시 형태는 첨부하는 도면을 참조하여 단지 예로서 설명될 것이다.
도 1은 컴퓨터 장치에서 구현된 본 방법의 흐름도이다.
도 2는 선형 원근법의 기하학적 구조의 개략도이다.
도 3은 본 방법에 개시된 비선형 궤도 함수의 개략도이다.
도 4는 본 방법에 개시된 비평면 투영 표면 함수의 개략도이다.
도 5는 본 방법에 개시된 투영 볼륨 함수의 개략도이다.
도 6은 본 방법에 개시된 비-수렴 투영 각도 함수의 개략도이다.
도 7은 본 방법에 개시된 크기 대 거리 함수의 개략도이다.
도 8은 사용자 제어 인터페이스의 개략도이다.
도 9는 사용자 센서 입력의 개략도이다.
도면의 도 1을 참조하면, 본 방법(100)의 일 실시 형태가 도시된다. 3D 장면을 나타내는 데이터(111) 및 장면에서의 물체를 보유하는 제1 메모리 저장 장치(110)가 도시되고, 이는 픽셀, 복셀(voxel), 포인트 좌표, 색상, 텍스처 정보, 또는 장면을 나타내는데 필요한 다른 이러한 데이터의 형태로 존재한다. 데이터는 제1 메모리 저장 장치(110)로부터 검색되고 중앙 처리 유닛(112)으로 전달되며 바람직하게 수학적 매트릭스(113)로 변환된다. 공지된 계산 기술을 사용하여, 매트릭스는 방법에서 각각 특정된 일련의 함수(115)를 통해 이들 값이 이후에 변환될 수 있는 방식으로 중앙 처리 유닛(114) 내에서 예시(instantiate)된다. 본 방법에서 각각의 함수(115)는 투영 표면(예를 들어, 계산적으로 광 경로로서 모델링됨)을 교차시키기 위해 월드 공간(world space)을 통해 경로 및 궤도를 취하도록 정의된 3D 데이터 포인트 세트를 생성한다. 교차 포인트(또는 수렴 포인트)는 투영될(116) 이미지의 기초를 형성하며, 디스플레이 장치가 적합한 그래픽 처리 유닛(114)을 통해 2D로 이미지를 제1 이미지 디스플레이 장치(117)로 렌더링할 수 있도록 3D 데이터 포인트는 평탄화되어야 한다.
3D 장면 및 장면 내에서의 3D 물체를 나타내는 데이터 포인트 세트를 생성하기 위해 3D 장면의 이미지를 처리하는 단계는 CAD(computer aided design) 모델 또는 도면과 같은 3D 모델의 데이터를; 또는 컴퓨터 게임에서 생성될 수 있는 움직이는 3D 장면으로부터 캡처하는 것을 포함한다. 이러한 방법은 후반 작업 효과 또는 실시간으로 모델의 스냅샷(snapshot)을 처리할 수 있다.
3D 이미지를 2D 이미지로 투영/매핑하는 프로세스의 예시적인 시각화로서, 데이터 포인트 세트는 메탈 인테리어(metal interior) 및 벨크로 표면(Velcro surface)을 갖는 각각의 공간에서 다수의 작은 메탈 구로 표현될 수 있다. 공간에서 주어진 위치에 전자석이 있으며, 전자석이 켜지면, 메탈 구 모두는 공간을 통해 전자석을 향해 이동하고, 데이터 포인트의 투영 경로와 같다. 전자석 주위에는 표면 상에 벨크로의 다른 절반을 갖는 우산이 있으며, 공은 전자석에 닿기 전에, 투영 표면과 같은 우산에 부딪친다. 우산은 어떤 형상이든 될 수 있다. 최종 2D 표면은 다양한 방식으로 단일 평면 표면에서 풀리거나 구는 데이터 포인트의 투영 및 렌더링과 동일한 직교법으로(Z를 제거하여) 볼 수 있다. 본 발명의 함수는 이러한 생성 프로세스를 수정한다.
본 방법에서, 3D 데이터에 의해 표현되는 장면의 이미지를 생성 또는 수정하기 위해 다음의 변환 함수(115)가 3D 데이터에 적용된다:
각각의 데이터 포인트의 궤도를 정의하는 투영 궤도 변환 함수는 궤도(또는 경로)을 선형 또는 비선형으로 정의하는 것을 포함한다. 선형 경로는 단일 벡터(투영 기하학적 구조)로 정의되는 반면 비선형 경로는 여러 벡터, 연속 다항식, 스플라인 또는 다른 조각별 함수(piecewise function, 30)로 정의된다.
각각의 데이터 포인트에 대한 투영 표면의 기하학적 구조를 정의하는 변환 함수는 투영 표면을 평면 또는 비평면으로 정의하는 것을 포함한다. 비평면 표면은 연속 또는 조각별(40)에 따라 2차원 다항식 함수를 사용하여 기하학적으로 정의된다.
(단일 투영 표면과 대조적으로) 각각의 데이터 포인트에 대한 볼륨으로서 투영 표면을 정의하는 변환 함수 및 볼륨을 통한 각각의 데이터 포인트의 경로와의 교차 포인트는 변수(50)로서 정의된다. 볼륨은 각각의 데이터 포인트의 경로가 정의된 수렴 포인트에서 교차할 수 있는 이의 볼륨 내에서 투영 표면의 수를 정의할 수 있다.
투영 표면(들) 또는 볼륨 상의 수렴/교차 포인트에 대한 각각의 데이터 포인트의 투영 각도를 정의하는 변환 함수는 수학 함수(60)로 정의된다.
투영 표면(볼륨) 수렴/교차 포인트로부터의 각각의 데이터 포인트(3D 장면 내 3D 물체를 나타냄)의 크기 대 거리 함수가 정의되고, 수학 함수(70)로 표현된다.
이러한 변환 함수는 동시에 또는 선택 함수의 조합으로 사용될 수 있다. 예상되는 바와 같이, 일부 함수 간에는 다른 함수보다 시너지 효과가 더 크다. 선택은 방법에 제공되는 이미지 수정 파라미터(121) 및/또는 사용자 제어 인터페이스(80) 또는 사용자 센서 입력(90)으로부터의 입력에 의해 영향을 받을 수 있다.
데이터 포인트에 대한 수렴 포인트를 정의하는 것은 또한 3D 장면에서의 원래 위치와 수렴 포인트 위치 사이의 각각의 데이터 포인트에 대한 투영 궤도를 정의할 수 있다는 것이 이해될 것이다. 그런 다음 수렴 포인트을 이동하거나, 궤도로 조정을 적용하여, 데이터 포인트의 투영 궤도가 조정될 수 있다. 교차 포인트는 원래 위치와 수렴 포인트 사이의 데이터 포인트의 투영 궤도; 및 교차(투영 표면) 평면, 형상 또는 볼륨의 형상에 의해 정의될 수 있다. 투영 표면 또는 볼륨은 수학 용어로 정의된 형상으로 생각될 수 있으며, 이는 투영 궤도 및 수렴 포인트 모두에 영향을 미치며, 예를 들어 형상은 궤도과 함께 교차 포인트를 정의한다.
가장 간단한 함수는 수학적 변환이다. 이들 함수(115)는 다수의 유형의 결과에 대해 사전에 구성된 알고리즘 이미지 수정 파라미터(121)에 따라 또는 방법을 구현하는 장치의 사용자에 의해 변환되거나, 사용자 제어 인터페이스(80) 및 센서 입력(90)으로부터의 데이터에 응답하여 변환되고, 직교 투영을 통해 제1 이미지 디스플레이 장치(117)로 렌더링된다(render).
이미지 수정 파라미터(121)는 제2 메모리 저장 장치(120)에 수치 데이터 또는 알고리즘으로서 저장될 수 있고 GPU(114)에 의해 필요에 따라 검색되거나 제2 메모리 저장 장치(120)에 저장될 수 있다. 도면은 사용자 제어 인터페이스(80) 및 사용자 센서 입력(90)이 방법을 구현하는 나머지 장치와 관련하여 구성되는 방법을 도시한다. 사용자 제어 인터페이스(80)로부터의 설정은 본 방법에서 특정된 함수(115)를 수정하기 위해 그래픽 처리 유닛(114)으로 전달된다. 사용자 센서 입력(90)으로부터의 설정은 또한 본 방법(100)에 특정된 함수(115)을 수정하기 위해 그래픽 처리 유닛(114)으로 전달된다.
본 방법의 일 실시 형태에서, 추가의 제2 이미지 디스플레이 장치(127)는 도 2에 도시된 원리(20)에 의해 생성된 3D 데이터의 표준 선형 원근법 렌더링(standard linear perspective render)을 도시한다.
도 2는 선형 원근법(20)의 기본 원리의 개략도를 도시한다. 광선은 단일 평면을 교차하기 위해 단일 핀홀에서 수렴하는 직선 경로로 이동하여, 3D 장면의 2D 투영인 반전된 이미지를 형성한다. 정육면체(28)의 반전된 투영 및 물체가 투영(26)되는 단일 평면 표면은 이후 이미지 디스플레이(28) 상에 렌더링된다는 점에 유의한다. 이러한 방법에서 어클루전은 광 경로의 선형 궤도에 의해 결정되며 물체의 크기는 장면에서 상대 깊이의 함수이다. 예를 들어, 정점(vertex, 22b)은 일부인 정육면체의 전면에 의해 가려져서 이미지(28)에 나타나지 않는다. 또한, 정육면체의 후면은 핀홀에서 멀어지고 전면보다 더 작게 렌더링된다.
도 3은 본 방법에 개시된 비선형 궤도 함수(30)의 도면이다. 이러한 예에서, 정육면체(32)로부터 투영 표면(들)을 향해 이동하는 데이터 포인트는 직선 및 곡선이다. 이러한 방법에서 데이터 포인트가 투영 표면(34)으로부터 2D 이미지로 직교적으로 렌더링되기 때문에, 도 2에서의 선형 원근법 방법에서와 같이, 핀홀이 필요하지 않다. 결과적으로, 선형 원근법에서와 같이 렌더링된 물체의 반전이 존재하지 않는다.
또한, 오클루전 경로는 선형 원근법 투영과 비교하여 본 방법에서 임의로 수정될 수 있다. 예로서, 선형 원근법에서 정육면체(32z)의 전면에 의해 가려지는 정점(32y)은 본 방법에서 38y'로 보인다. 이러한 예에서, 방법의 효과는 정육면체(32xy)의 후면이 확대되어 정육면체의 전면이 선형 원근법 투영에서 나타나는 것보다 크게 이미지(38x'y')에 나타난다.
여기에 예시된 바와 같이, 본 방법은 임의의 데이터 포인트의 경로/궤도가 선형이든 비선형이든 정의될 수 있게 하여, 포인트를 투영 표면 상에 투영되도록 한다. 본 방법에서 비선형 경로의 사용은 선형 원근법보다 3D 장면의 이미지에서 가려진 물체를 표시하기 위해 더 큰 위도(latitude)를 허용한다.
장치에서 본 방법을 구현할 때, 연속 다항식, 스플라인, 또는 다른 조각별 함수로서, 또는 곡률의 일부 다른 적절한 기하학적 구조 또는 이의 혼합을 갖는 비선형 경로가 미리 결정될 수 있다. 본 방법의 일 실시 형태에서 비선형 경로의 형태는 장치로 프로그램되거나 제2 메모리 저장 장치(120)로부터 검색된 파라미터를 통해 사용자 제어 인터페이스(80) 또는 사용자 센서 입력(90)을 통해 사용자에 의해 제어된다.
도 4는 본 방법에 개시된 비평면 투영 표면 함수(40)를 도시한다. 도면은 4개의 정육면체(42), 비평면 투영 표면(B)의 평면도 및 최종 이미지(48)의 상면도를 도시한다. 임의적일 수 있는 형태이고 오직 예로서 여기에 도시된 비평면 투영 표면(44)은 도 2에 도시된 바와 같이, 선형 원근법 투영을 통해 얻어진 이미지와 비교하여 이미지(48) 상에 정육면체의 수정된 렌더링으로 나타난다. 이미지(48)는 비평면 표면(44)의 직교 투영이지만, 명확성을 위해 도면에서 확대된다. 본 방법의 이러한 양태의 목적은 본 방법을 구현하는 장치의 임의의 사용자가 3D 장면의 외관을 제어할 수 있게 하는 것이다.
장치에서 본 방법을 구현할 때 연속 다항식, 스플라인, 또는 다른 조각별 함수, 비평면 표면의 일부 다른 적절한 기하학적 구조, 또는 이들의 혼합을 갖는 비평면 투영 표면이 미리 결정될 수 있다. 본 방법의 일 실시 형태에서 비평면 투영 표면의 형태는 장치로 프로그램되거나 제2 메모리 저장 장치(120)로부터 검색된 파라미터를 통해 사용자 제어 인터페이스 또는 사용자 센서 입력을 통해 사용자에 의해 제어된다.
도 5는 본 방법에 개시된 바와 같은 투영 볼륨 함수(50)를 도시한다. 도면은 4개의 정육면체(52), 영역(54)에서의 투영 볼륨의 평면도 및 최종 이미지(58)의 상면를 도시한다. 투영 볼륨을 향한 예시적인 데이터 포인트의 경로/궤도는 점선으로 표시된다. 단지 예시로서, 투영 볼륨 내의 4개의 상이한 투영 표면이 54w, 54x, 54y 및 54z로 도시된다. 각각은 경로 방향에 대한 이의 각도, 교차되는 경로를 따른 이의 거리 또는 이의 형상에 따라 다르다. 투영(52z)은 예를 들어 비평면이다. 각각의 정육면체의 이미지는 경로가 교차하는 각각의 투영 표면의 각도, 위치 및 형태에 따라 달라진다. 이미지(58)는 데이터 포인트 경로의 직교 투영 및 투영 표면과 교차하는 최종 패턴(원 크기로 도시되지 않음)으로부터 렌더링되며, 이는 영역(54)의 어느 곳에나 위치될 수 있다. 방법의 이러한 양태의 목적은 3D 장면에서 독립 영역 또는 물체의 외관을 제어하는 방법을 구현하는 장치의 모든 사용자에게 허용하는 것이다.
장치에서 본 방법을 구현할 때, 투영 볼륨, 투영 표면의 수, 이들 형태 및 각각의 데이터 포인트의 경로와의 교차의 이들 포인트가 미리 결정될 수 있다. 본 방법의 일 실시 형태에서, 투영 볼륨 내의 다수의 투영 표면의 수량, 위치 및 형태는 장치로 프로그램되거나 제2 메모리 저장 장치(120)로부터 검색된 파라미터를 통해 사용자 제어 인터페이스 또는 사용자 센서 입력을 통해 사용자에 의해 제어될 수 있다.
도 6은 본 방법에 개시된 투영 각도 및 비-수렴 경로 함수(60)을 도시한다. 정육면체(62)의 상이한 단면을 나타내는 각각의 데이터 포인트의 경로는 표면(64)에 대해 비-수렴 각도로 다양하게 투영된다. 경로의 각도는 데이터 포인트 당 전체적이거나 심지어 개별적으로 설정된 단일 또는 다중 수렴/교차 포인트의 위치에 의해 정의되는 바와 같이 임의로 설정될 수 있다. 본 방법에서 비-수렴 경로를 사용하면 선형 원근법에 고유한 수렴 광 경로 방법보다 이미지 디스플레이에서 상이한 위치로 3D 장면의 일부를 렌더링할 때 더 큰 위도를 허용한다. 예를 들어, 정육면체(62w)는 등가 선형 원근법 투영에서 어떻게 나타나는지에 비해 이미지(68w')에서 수평으로 신장된 것으로 도시되고, 정육면체(62x)는 이미지(68x')에서 왜곡된 것으로 도시되며, 정육면체(62y)는 선형 원근법 투영에서 나타나는 것보다 작게 68y'로 도시되고, 62z에서의 정육면체는 뒤틀린 68z'로 도시된다. 투영 표면(64)과 교차하는 각각의 데이터 포인트의 경로는 데이터 포인트 위치 정보로부터 z(깊이)를 제거하는 직교 투영에 의해 이미지 디스플레이(68)에 최종적으로 렌더링되는 이미지를 생성한다(도면에서 실제 크기로 도시되지 않음).
장치에서 본 방법을 구현할 때, 투영 매트릭스 또는 다른 적절한 수학 함수 또는 기하학적 구조를 통한 명확한 각도로서 각각의 데이터 포인트의 경로의 각도는 미리 결정될 수 있다. 본 방법의 일 실시 형태에서 경로의 각도는 장치로 프로그램되거나 제2 메모리 저장 장치(120)로부터 검색된 파라미터를 통해 사용자 제어 인터페이스 또는 사용자 센서 입력을 통해 사용자에 의해 제어될 수 있다.
도 7은 본 방법에 개시된 투영 표면 함수(70)로부터 각각의 데이터 포인트의 크기 대 거리를 도시한 것이다. 정육면체(72)의 상이한 단면으로부터의 데이터 포인트는 선형 원근법 투영에 고유한 크기와 거리 사이의 관계를 수정하는 방식으로 표면(74)에 대해 변하는 비-수렴 각도로 투영된다. 크기 대 거리 비율은 임의로 설정될 수 있다. 본 방법에서 임의의 크기 대 거리 비율의 사용은 3D 장면의 일부를 선형 원근법에 고유한 방법보다 이미지 디스플레이에서의 다른 위치로 렌더링할 때 더 큰 위도를 허용한다. 예를 들어, 정육면체(72x)는 투영 표면으로부터 멀어지더라도, 정육면체(78y')보다 더 큰 78x'로 도시되고, 정육면체(72z)는 투영 표면에 가깝더라도, 정육면체(78y')보다 더 작은 78z'로 도시된다. 투영된 후 교차(74)하는 데이터 포인트는 직교 투영에 의해 이미지 디스플레이(78)로 렌더링된다(도면에서 실제 크기로 도시되지 않음).
장치에서 본 방법을 구현할 때 삼각법, 투영 매트릭스, 또는 다른 적절한 기하학적 구조를 사용하여 크기 대 거리 비율이 미리 결정될 수 있다. 본 방법의 일 실시 형태에서, 크기 대 거리 비율은 장치로 프로그램되거나 제2 메모리 저장 장치(120)로부터 검색된 파라미터를 통해 사용자 제어 인터페이스 또는 사용자 센서 입력을 통해 사용자에 의해 제어될 수 있다.
도 3 내지 도 7을 참조하면, 도면에 개시된 방법은 3D 장면의 이미지를 생성 또는 수정하고,
0°보다 큰 임의의 각도에서 360°보다 작은 임의의 각도 범위로, 이미지에 의해 표시되는 장면의 수직 시야각을 증가시키거나 감소시키며;
0°보다 큰 임의의 각도에서 360°보다 작은 임의의 각도 범위로, 이미지에 의해 표시되는 장면의 수평 시야각을 증가시키거나 감소시키고;
실제 크기의 0%보다 큰 임의의 값에서 1000%보다 작은 임의의 값에 이르기까지 이미지의 모서리에 위치되는 영역 또는 물체의 크기에 비해 이미지 중앙에 위치되는 영역 또는 물체의 크기를 증가시키거나 감소시키며;
실제 크기의 0%보다 큰 임의의 값에서 1000%보다 작은 임의의 값의 범위로 이미지 중앙에 위치되는 영역 또는 물체의 크기에 비해 이미지의 모서리에 위치되는 영역 또는 물체의 크기를 증가시키거나 감소시키고;
장면에서 직선인 모든 수직선이 이미지에서 직선으로 나타나는 0에서 장면에서 직선인 모든 수직선이 이미지에서 원의 단면으로 나타나는 100까지의 범위에서 이미지에서의 수직 곡률의 양을 증가시키거나 감소시키며;
장면에서 직선인 모든 수평선이 이미지에서 직선으로 나타나는 0에서 장면에서 직선인 모든 수평선이 이미지에서 원의 단면으로 나타나는 100까지 이미지에서의 수평 곡률의 양을 증가시키거나 감소시키고;
이미지에서 물체 또는 영역의 진직도가 깊이에 따라 증가하는 0에서 이미지에서 물체 또는 영역의 진직도가 깊이에 따라 증가하는 100까지의 깊이의 함수로서 이미지에서의 진직도 또는 곡률의 양을 증가시키거나 감소시키기 위해 이미지의 공간 기하학적 구조를 제어하도록 개별적으로 또는 조합하여 적용될 수 있다.
도 8은 사용자 제어 인터페이스(80)의 일 실시 형태를 도시한다. 예시로서, A에서 G까지의 일련의 슬라이더가 제공되며, 이들 각각은 0 내지 100의 값으로 설정될 수 있다. 슬라이더의 위치는 그래픽 처리 유닛(100)에 전달되는 값을 결정한다.
본 방법의 일 실시 형태에서, 일련의 제어 슬라이더는 본 방법에 개시된 함수를 수정하도록 미리 프로그램되고 따라서 이미지 디스플레이 장치에서의 이의 외관을 변환하기 위해 3D 데이터에 적용되며, 이의 파라미터는 사용자 제어 인터페이스를 통해 자유롭게 수정될 수 있다.
예를 들어, 슬라이더 A는 적절한 수학적 알고리즘을 사용하여 장면에서 각 데이터 포인트의 투영 궤도/경로의 곡률의 양을 제어하고; 슬라이더 B는 적합한 수학적 알고리즘을 사용하여 각각의 데이터 포인트가 투영되는 표면의 수를 제어하며; 슬라이더 C는 적절한 수학적 알고리즘을 사용하여 투영 표면의 비평면 특성을 제어하고; 슬라이더 D는 데이터 포인트 당 수렴/교차 포인트 위치를 제어하며, 따라서 적절한 수학적 알고리즘을 사용하여 각각의 데이터 포인트의 경로가 표면 또는 표면들로 투영되는 각도를 제어하고; 슬라이더 E는 적절한 수학적 알고리즘을 사용하여 데이터 포인트 투영 경로와 투영 표면 또는 투영 표면들 사이의 교차 포인트를 제어하며; 슬라이더 F는 적절한 수학적 알고리즘을 사용하여 장면의 영역이 수정되도록 제어하고; 슬라이더 G는 적절한 수학적 알고리즘을 사용하여 장면에서 물체의 크기 대 거리 비율을 제어한다.
방법의 다른 실시 형태에서, 슬라이더는 방법에 정의된 함수 및 파라미터를 사용하여 표현된 3D 장면의 공간 구조의 일련의 기하학적 변환을 제어하도록 미리 프로그램된다. 예를 들어, 슬라이더 A는 장면에서 직선인 모든 수직선이 이미지에서 직선으로 나타도록 곡률이 없는 0과, 장면에서 모든 수직선이 원의 단면으로 나타나도록 완전한 곡률인 100으로, 적합한 수학적 알고리즘을 사용하여 이미지의 수직축에서 곡률의 양을 제어하며; 슬라이더 B는 장면에서 직선인 모든 수평선이 이미지에서 직선이도록 곡률이 없는 0과, 장면에서 모든 수평선이 원의 단면으로 나타나도록 완전한 곡률인 100으로, 적합한 수학적 알고리즘을 사용하여 이미지의 수평축에서 곡률의 양을 제어하고; 슬라이더 C는 0°인 0과 360°인 100으로, 적절한 수학적 알고리즘을 사용하여 이미지의 수직 시야각을 제어하며; 슬라이더 D는 0°인 0과 360°인 100으로, 적절한 수학적 알고리즘을 사용하여 이미지의 수평 시야각을 제어하고; 슬라이더 E는 실제 크기의 1%인 0, 실제 크기인 50 및 실제 크기의 1000%인 100으로, 적절한 수학적 알고리즘을 사용하여 중앙 외부의 물체 또는 영역의 크기에 대해 이미지 중심에서 장면의 물체 또는 영역의 크기를 제어하며; 슬라이더 F는 실제 크기의 1%인 0, 실제 크기인 50 및 실제 크기의 1000%인 100으로, 적절한 수학적 알고리즘을 사용하여 중앙에서 물체 또는 영역의 크기에 비해 이미지의 외부 모서리에서 장면의 물체 또는 영역의 크기를 제어하고; 슬라이더 G는 깊이에 따라 증가된 곡률인 0과 깊이에 따라 증가된 진직도인 100으로, 적절한 수학적 알고리즘을 사용하여 장면에서 깊이의 함수로서 이미지에서의 곡률 또는 진직도의 양을 제어한다.
도 9는 사용자 센서 입력(90)의 일 실시 형태를 도시한다. 예시적으로, 일련의 슬라이더(A에서 G까지)가 제공되는데, 이들 각각은 눈 센서(eye sensor, 91), 머리 센서(head sensor, 92) 및 신체 위치 센서(body position sensor, 93)로부터 전달된 데이터에 따라 0 내지 100 사이의 값으로 설정될 수 있다. 슬라이더의 위치는 그래픽 처리 유닛(100)으로 전달되는 값을 결정한다.
방법의 일 실시 형태에서, 슬라이더는 사용자 센서 입력으로부터 전달된 데이터에 응답하여 방법에 정의된 함수 및 파라미터를 사용하여 표현된 3D 장면의 공간 구조의 일련의 기하학적 변환을 제어하도록 미리 프로그램된다.
예를 들어, 슬라이더 A는 눈 위치 센서로부터 데이터를 수신하고 이미지에서 사용자의 눈 위치와 일치할 때 장면에서 직선인 모든 선이 이미지에서 직선으로 나타나도록 곡률이 없는 0과, 이미지에서 검출된 바와 같이 사용자의 눈 위치와 일치하는 장면에서 모든 선이 원의 단면으로 나타나도록 완전한 곡률인 100으로, 적합한 수학적 알고리즘을 사용하여 이미지에서의 곡률 양을 제어하며; 슬라이더 B는 머리 위치 센서로부터 데이터를 수신하고 장면에서 직선인 모든 선이 사용자의 머리 위치가 이미지 디스플레이 장치로부터 10 cm 이하에서 검출될 때 이미지에서 직선으로 나타나도록 곡률이 없는 0과, 장면에서의 모든 선이 사용자 머리 위치가 이미지 디스플레이 장치로부터 10 cm 이하에서 검출될 때 원의 단면으로 나타나도록 완전한 곡률인 100으로, 적합한 수학적 알고리즘을 사용하여 이미지에서 곡률의 양을 제어하며; 슬라이더 C는 신체 위치 센서로부터 데이터를 수신하고 신체가 이미지 디스플레이 장치로부터 20 cm 이하에서 검출될 때 50°인 0과, 신체가 이미지 디스플레이 장치로부터 20 cm 이하에서 검출될 때 180°인 100으로, 적절한 수학적 알고리즘을 사용하여 이미지의 시야각을 제어하며; 슬라이더 D는 눈 위치 센서로부터 데이터를 수신하고 사용자의 눈 위치와 일치하는 물체가 실제 크기의 1%로 감소되는 것을 의미하는 0과 사용자의 눈 위치와 일치하는 물체가 실제 크기의 1000%로 증가되는 것을 의미하는 100으로, 장면에서 물체 또는 영역의 크기 대 깊이 비율을 제어하며; 슬라이더 E는 머리 위치 센서로부터 데이터를 수신하고 실제 크기의 1%인 0, 실제 크기인 50 및 실제 크기의 1000%인 100으로, 적절한 수학적 알고리즘을 사용하여 이미지의 모서리에서 장면의 물체 또는 영역의 크기를 중심에서의 물체 또는 영역의 크기에 대해 제어한다.

Claims (24)

  1. 3D 장면의 이미지를 처리하여 상기 3D 장면 및 상기 장면 내의 3D 물체를 나타내는 데이터 포인트 세트를 생성하는 단계;
    상기 데이터 세트로부터 하나 이상의 데이터 포인트를 검색하는 단계;
    각각의 데이터 포인트에 대한 투영 궤도를 정의하는 함수;
    각각의 데이터 포인트에 대한 투영 표면의 기하학적 구조를 정의하는 함수;
    각각의 데이터 포인트에 대한 투영 볼륨을 정의하는 함수;
    투영 표면 상에 수렴 포인트에 대한 각각의 데이터 포인트의 투영 각도를 정의하는 함수;
    투영 표면으로부터 각각의 데이터 포인트의 크기 대 거리 비율을 정의하는 함수;를 포함하는 하나 이상의 수학적 변환 함수에 따라 상기 하나 이상의 데이터 포인트를 변환하는 단계;
    변환된 데이터 포인트 세트를 생성하는 단계;
    상기 3D 장면의 수정된 2D 이미지를 나타내는 상기 변환된 데이터 포인트 세트를 투영하는 단계; 및
    상기 투영되고 변환된 데이터 포인트 세트를 디스플레이 상에 2D 이미지로 렌더링하는 단계를 포함하는 3D 장면의 2D 이미지를 생성 및 수정하는 방법.
  2. 제1항에 있어서, 상기 3D 장면을 나타내는 데이터 포인트 세트는 공간 좌표, 색상, 텍스처, 표면 매핑 데이터, 움직임 데이터, 물체 식별 데이터 또는 3D 장면을 나타내는데 필요한 다른 데이터를 포함하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 하나 이상의 데이터 포인트를 변환하기 전에 상기 데이터 포인트 세트를 수학 매트릭스로 변환하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 각각의 데이터 포인트에 대한 투영 궤도를 정의하는 함수는 상기 궤도를 선형 또는 비선형으로 정의하는 것을 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서, 선형 궤도는 단일 벡터의 관점에서 정의되고 비선형 궤도는 다중 벡터, 연속 다항식, 스플라인 또는 조각별 함수의 관점에서 정의되는 것을 특징으로 하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 각각의 데이터 포인트에 대한 투영 표면의 기하학적 구조를 정의하는 함수는 상기 투영 표면을 평면 또는 비평면으로 정의하는 것을 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서, 비평면 표면은 연속적 또는 조각별인 것에 따라, 2차원 다항식 함수를 사용하여 기하학적으로 정의되는 것을 특징으로 하는 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 각각의 데이터 포인트에 대한 수렴 포인트로 투영 볼륨을 정의하는 함수는 변수로서 정의되는 것을 특징으로 하는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 투영 표면 상의 수렴 포인트에 대한 각각의 데이터 포인트에 대해 투영 각도를 정의하는 함수는 수학 함수로서 정의되는 것을 특징으로 하는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 각각의 데이터 포인트에 대한 크기 대 거리 비율을 정의하는 함수는 수학 함수로서 정의되는 것을 특징으로 하는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 함수들은 0°보다 큰 임의의 각도로부터 360°보다 작은 임의의 각도까지의 범위로, 상기 이미지에 의해 표현되는 상기 장면의 수직 시야각을 개별적으로 또는 조합하여 증가시키거나 감소시키기 위해 적용될 수 있는 것을 특징으로 하는 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 함수들은 0°보다 큰 임의의 각도로부터 360°보다 작은 임의의 각도까지의 범위로, 상기 이미지에 의해 표현되는 상기 장면의 수평 시야각을 개별적으로 또는 조합하여 증가시키거나 감소시키기 위해 적용될 수 있는 것을 특징으로 하는 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 함수들은 실제 크기의 0%보다 큰 임의의 값으로부터 실제 크기의 1000%보다 작은 임의의 값까지의 범위로 상기 이미지의 모서리에 위치되는 영역 또는 물체의 크기에 비해 상기 이미지의 중앙에 위치되는 영역 또는 물체의 크기를 개별적으로 또는 조합하여 증가시키거나 감소시키기 위해 적용될 수 있는 것을 특징으로 하는 방법.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서, 상기 함수들은 실제 크기의 0%보다 큰 임의의 값으로부터 실제 크기의 1000%보다 작은 임의의 값까지의 범위로 중앙에 위치되는 영역 또는 물체의 크기에 비해 상기 이미지의 모서리에 위치되는 영역 또는 물체의 크기를 개별적으로 또는 조합하여 증가시키거나 감소시키기 위해 적용될 수 있는 것을 특징으로 하는 방법.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서, 상기 함수들은 상기 장면에서 직선인 모든 수직선이 상기 이미지에서 직선으로 나타나는 0으로부터 상기 장면에서 직선인 모든 수직선이 상기 이미지에서 원의 단면으로 나타나는 100까지 상기 이미지에서 수직 곡률의 양을 개별적으로 또는 조합하여 증가시키거나 감소시키기 위해 적용될 수 있는 것을 특징으로 하는 방법.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서, 상기 함수들은 상기 장면에서 직선인 모든 수평선이 상기 이미지에서 직선으로 나타나는 0으로부터 상기 장면에서 직선인 모든 수평선이 상기 이미지에서 원의 단면으로 나타나는 100까지 상기 이미지에서 수평 곡률의 양을 개별적으로 또는 조합하여 증가시키거나 감소시키기 위해 적용될 수 있는 것을 특징으로 하는 방법.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 함수들은 상기 이미지에서 물체 또는 영역의 진직도가 깊이에 따라 증가하는 0으로부터 상기 이미지에서 물체 또는 영역의 곡률이 깊이에 따라 증가하는 100까지 상기 이미지에서 진직도 또는 곡률의 양을 깊이의 함수로서 개별적으로 또는 조합하여 증가시키거나 감소시키기 위해 적용될 수 있는 것을 특징으로 하는 방법.
  18. 제1항 내지 제17항 중 어느 한 항에 있어서, 상기 함수들은 하나 이상의 정의 가능한 파라미터를 갖는 것을 특징으로 하는 방법.
  19. 제18항에 있어서, 상기 정의 가능한 파라미터는 사용자 제어 인터페이스를 통해, 설정될 수 있는 것을 특징으로 하는 방법.
  20. 제19항에 있어서, 상기 사용자 제어 인터페이스는 기계식 또는 전자식 형태의 수동 작동식 슬라이더 또는 노브의 세트로 구성되는 것을 특징으로 하는 방법.
  21. 제19항에 있어서, 상기 사용자 제어 인터페이스는 실시간으로 상기 파라미터를 변경하기 위해 사용자 눈 움직임과 위치, 머리 움직임과 위치 및 신체 움직임과 위치를 검출하는 하나 이상의 센서로 구성되는 것을 특징으로 하는 방법.
  22. 제18항에 있어서, 상기 정의 가능한 파라미터는 특정 특성을 생성하도록 미리 결정되는 것을 특징으로 하는 방법.
  23. 제1항 내지 제22항 중 어느 한 항에 있어서, 상기 3D 장면의 선형 원근법 투영을 추가 디스플레이 상에 렌더링하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  24. 제1항 내지 제23항 중 어느 한 항에 있어서, 상기 하나 이상의 데이터 포인트를 변환하기 전에 상기 세트에서 새로운 데이터 포인트를 구성하기 위해 상기 데이터 포인트 세트를 보간하는 단계를 더 포함하는 것을 특징으로 하는 방법.
KR1020207008668A 2017-09-06 2018-08-23 3d 장면의 이미지를 생성 및 수정하기 위한 방법 KR20200043458A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1714352.0 2017-09-06
GB1714352.0A GB2566279B (en) 2017-09-06 2017-09-06 A method for generating and modifying images of a 3D scene
PCT/GB2018/052395 WO2019048825A1 (en) 2017-09-06 2018-08-23 METHOD FOR GENERATING AND MODIFYING IMAGES OF A 3D SCENE

Publications (1)

Publication Number Publication Date
KR20200043458A true KR20200043458A (ko) 2020-04-27

Family

ID=60050542

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207008668A KR20200043458A (ko) 2017-09-06 2018-08-23 3d 장면의 이미지를 생성 및 수정하기 위한 방법

Country Status (6)

Country Link
US (1) US11238558B2 (ko)
EP (1) EP3679543A1 (ko)
KR (1) KR20200043458A (ko)
CN (1) CN111279385A (ko)
GB (1) GB2566279B (ko)
WO (1) WO2019048825A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109472753B (zh) * 2018-10-30 2021-09-07 北京市商汤科技开发有限公司 一种图像处理方法、装置、计算机设备和计算机存储介质
US11430091B2 (en) 2020-03-27 2022-08-30 Snap Inc. Location mapping for large scale augmented-reality
US10956743B1 (en) * 2020-03-27 2021-03-23 Snap Inc. Shared augmented reality system
WO2021253189A1 (en) * 2020-06-15 2021-12-23 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Electric device, scanning method of controlling electric device, and computer readable storage medium
US20230013884A1 (en) * 2021-07-14 2023-01-19 Cilag Gmbh International Endoscope with synthetic aperture multispectral camera array
TWI818474B (zh) * 2021-12-10 2023-10-11 愛實境股份有限公司 三維空間風格快速轉換方法與系統
US20230215108A1 (en) * 2021-12-31 2023-07-06 Samsung Electronics Co., Ltd. System and method for adaptive volume-based scene reconstruction for xr platform applications

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6369814B1 (en) * 1999-03-26 2002-04-09 Microsoft Corporation Transformation pipeline for computing distortion correction geometry for any design eye point, display surface geometry, and projector position
US6744435B2 (en) * 2001-04-26 2004-06-01 Mitsubishi Electric Research Laboratories, Inc. Rendering discrete sample points projected to a screen space with a continuous resampling filter
US7042508B2 (en) * 2002-07-26 2006-05-09 Appro Technology Inc. Method for presenting fisheye-camera images
JP4642723B2 (ja) * 2006-09-26 2011-03-02 クラリオン株式会社 画像生成装置および画像生成方法
US8582825B2 (en) * 2007-06-07 2013-11-12 Paradigm Geophysical Ltd. Device and method for displaying full azimuth angle domain image data
JP5004188B2 (ja) * 2008-04-08 2012-08-22 サミー株式会社 画像生成装置、遊技機、および画像生成プログラム
US8290305B2 (en) * 2009-02-13 2012-10-16 Harris Corporation Registration of 3D point cloud data to 2D electro-optical image data
CA2885283C (en) * 2012-09-21 2020-05-05 Euclideon Pty Ltd A computer graphics method for rendering three dimensional scenes using orthogonal projections
US20140104394A1 (en) * 2012-10-15 2014-04-17 Intel Corporation System and method for combining data from multiple depth cameras
GB201302174D0 (en) * 2013-02-07 2013-03-27 Cardiff Metropolitan University Improvements in and relating to image making
EP2779102A1 (en) * 2013-03-12 2014-09-17 E.sigma Systems GmbH Method of generating an animated video sequence
GB2554925A (en) * 2016-10-14 2018-04-18 Nokia Technologies Oy Display of visual data with a virtual reality headset

Also Published As

Publication number Publication date
GB2566279A (en) 2019-03-13
US20200265548A1 (en) 2020-08-20
GB201714352D0 (en) 2017-10-18
EP3679543A1 (en) 2020-07-15
CN111279385A (zh) 2020-06-12
US11238558B2 (en) 2022-02-01
WO2019048825A1 (en) 2019-03-14
GB2566279B (en) 2021-12-22

Similar Documents

Publication Publication Date Title
US11238558B2 (en) Method for generating and modifying images of a 3D scene
US5694533A (en) 3-Dimensional model composed against textured midground image and perspective enhancing hemispherically mapped backdrop image for visual realism
EP3057066B1 (en) Generation of three-dimensional imagery from a two-dimensional image using a depth map
US6243099B1 (en) Method for interactive viewing full-surround image data and apparatus therefor
KR20070119018A (ko) 3d 카메라 및 3d비디오를 위한 자동 씬 모델링
JP2002251634A (ja) 画像処理装置及びその方法並びにプログラムコード、記憶媒体
KR102281462B1 (ko) 전자 디스플레이 앞에 또는 위에 투사한 것처럼 보이는 가상의 3차원 이미지를 생성하는 시스템, 방법 및 소프트웨어
TW201505420A (zh) 內容感知顯示適應方法
US20100033480A1 (en) Method for Interactively Viewing Full-Surround Image Data and Apparatus Therefor
CN110648274A (zh) 鱼眼图像的生成方法及装置
JPH09319896A (ja) 3次元画像作成装置
US11212502B2 (en) Method of modifying an image on a computational device
Saito et al. View interpolation of multiple cameras based on projective geometry
US9897806B2 (en) Generation of three-dimensional imagery to supplement existing content
US11353953B2 (en) Method of modifying an image on a computational device
EP3404522A1 (en) A method for viewing panoramic content and a head mounted device
Williams et al. InteractiveVirtual Simulation for Multiple Camera Placement
WO2021048525A1 (en) A method for generating and modifying non-linear perspective images of a 3d scene
KR102613059B1 (ko) 이미지에서 물체의 지각 항등성을 보호하기 위한 방법
Hisatomi et al. A method of video production using dynamic 3D models and its application to making scenes of a crowd
JP4668447B2 (ja) 模様画像作成方法および装置
JP4736239B2 (ja) 模様画像作成方法および装置
JP2022038354A (ja) 仮想視点映像生成装置、方法およびプログラム
CN117424997A (zh) 视频处理方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
WITB Written withdrawal of application