KR20210095921A - 실시간 3d 시각화를 이용하는 포인트 클라우드 컬러화 시스템 - Google Patents

실시간 3d 시각화를 이용하는 포인트 클라우드 컬러화 시스템 Download PDF

Info

Publication number
KR20210095921A
KR20210095921A KR1020217019848A KR20217019848A KR20210095921A KR 20210095921 A KR20210095921 A KR 20210095921A KR 1020217019848 A KR1020217019848 A KR 1020217019848A KR 20217019848 A KR20217019848 A KR 20217019848A KR 20210095921 A KR20210095921 A KR 20210095921A
Authority
KR
South Korea
Prior art keywords
color
point cloud
point
points
view window
Prior art date
Application number
KR1020217019848A
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 KR20210095921A publication Critical patent/KR20210095921A/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

3D 포인트 클라우드들 상에서 컬러화 및 컬러 조정들을 가능하게 하는 시스템. 포인트 클라우드들은, 예를 들어 등장방형 투영을 이용하여 2D 뷰 상으로 투영된다. 사용자는 2D 뷰 상의 영역들을 컬러 지정하고, 포인트 클라우드 데이터의 시간 소모적인 업데이트 없이 포인트 클라우드의 3D 뷰에서 변경들을 즉시 프리뷰할 수도 있다. 임의의 2D 투영이 왜곡들을 도입시키기 때문에, 사용자가 포인트 클라우드 상의 컬러 변경들의 효과들을 관찰하기 위해서는 3D 프리뷰가 중요하다. 실시예들은 예를 들어 포인트의 2D 투영이 컬러 지정된 영역의 내측에 있는지 여부를 테스트함으로써 포인트 클라우드에서 각각의 포인트의 컬러를 렌더링할 수도 있다. 대안적으로, 영역은 삼각화될 수도 있고, GPU는 텍스처 이미지를 렌더링하고 이 텍스처를 사용하여 3D 뷰를 렌더링할 수도 있다. 적용예들은, 포인트 클라우드들 및 컬러 조정된 이미저리를 사용하는 컬러 3D 가상 현실 환경의 생성을 포함할 수도 있다.

Description

실시간 3D 시각화를 이용하는 포인트 클라우드 컬러화 시스템
본 발명의 하나 이상의 실시예들은 컴퓨터 그래픽들 및 가상 현실의 분야들에 관한 것이다. 제한이 아니라, 더 구체적으로, 본 발명의 하나 이상의 실시예들은 실시간 3D 시각화를 이용하는 포인트 클라우드 컬러화 시스템(point cloud colorization system)을 가능하게 한다.
포인트 클라우드 데이터로부터 환경의 3D 모델들을 구축하기 위한 시스템들이 본 기술분야에 알려져 있다. 그러나, LIDAR 시스템들과 같은 3D 스캐너들은 전형적으로 표면 지오메트리 정보(surface geometry information) 그리고 가능하다면 그레이스케일 세기(grayscale intensity)만을 단지 캡처한다; 이들은 컬러를 캡처하지 못한다. 사실적인 3D 환경의 구축은, 예를 들어 컬러 2D 사진들로부터의, 컬러 정보로 3D 포인트 클라우드들을 증강시킬 것을 요구한다. 컬러들은, 예를 들어 사진들의 조명 조건 변화들을 보정하기 위해, 또는 예술적 효과를 위해 수동 조정을 요구할 수도 있다.
포인트 클라우드들을 컬러화하기 위한 기존 시스템들은 2D 뷰로부터의 컬러 조정들(예컨대, 예를 들어 Photoshop®의 컬러 조정들)을 행한 후에, 배치 프로세스(batch process)를 통해 3D 포인트 클라우드 상으로 컬러를 베이킹(bake)하는데, 이는 시간 소모적일 수도 있다. 포인트 클라우드 상으로 컬러를 베이킹하면 포인트 클라우드에서의 매 포인트마다 컬러 값을 어태치(attach)시킨다. 잠재적으로 수백만 또는 수십억 개의 포인트들을 포함하는 포인트 클라우드들을 이용하면, 클라우드에서의 매 포인트마다의 컬러를 업데이트하는 데 몇 분 또는 몇 시간이 걸릴 수도 있다. 3D 포인트 클라우드가 업데이트된 후에, 사용자는 3D 클라우드를 검사하여, (2D의) 컬러 선택들이 3D 포인트 클라우드에서의 원하는 객체들, 구조체들, 또는 경계들과 정렬된다는 것을 보장할 수도 있다. 3D 포인트 클라우드와 2D 뷰 사이의 매핑에서 발생하는 와핑(warping) 때문에, 사용자가 2D 뷰에서 적절한 영역을 선택하여 3D 포인트 클라우드에 원하는 컬러를 변경하게 하는 것이 어려울 수도 있다. 그에 따라, 이들 컬러 변경들의 다수 회의 반복들이 종종 필요하다. 각각의 반복은 2D에서 컬러 변경들을 행하고, 3D로의 이들 변경들의 잠재적으로 시간 소모적인 베이킹을 기다리며, 3D에서 그 변경들을 검토할 것을 요구한다. 3D 포인트 클라우드들에 적용되는 2D 이미지들의 컬러들을 수동으로 조정하고 3D에서 이들 변경들의 효과들을 실시간 또는 거의 실시간으로 프리뷰(preview)하기 위한 단순한 방법을 제공하는 어떠한 알려진 시스템들도 없다.
2D에서 행해진 컬러 변경들의 3D 포인트 클라우드들에서 실시간 프리뷰들을 제공하는 시스템이 컬러 조정 프로세스의 효율성을 극적으로 개선시킬 것이다.
적어도 상술된 제한사항들에 대해, 실시간 3D 시각화를 이용하는 포인트 클라우드 컬러화 시스템에 대한 필요성이 있다.
본 명세서에서 설명되는 하나 이상의 실시예들은 실시간 3D 시각화를 이용하는 포인트 클라우드 컬러화 시스템에 관한 것이다. 3D 포인트 클라우드 데이터는 포인트 클라우드의 2D 투영 상에 드로잉함으로써 컬러 정보로 증강될 수도 있다; 결과적인 컬러 지정된 3D 포인트들은 3D 뷰에서 프리뷰될 수도 있다. 3D 프리뷰는 실시간 또는 거의 실시간으로 이용가능하여, 컬러화 프로세스의 효율성을 증가시킬 수도 있다.
하나 이상의 실시예들은, 예를 들어 하나 이상의 프로세서들, 메모리, 및 디스플레이를 포함할 수도 있는 컴퓨팅 시스템을 포함하거나 또는 이를 사용한다. 프로세서 또는 프로세서들은 CPU, GPU, 또는 이들의 조합들을 포함할 수도 있다. 프로세서는 3D 포인트 클라우드를 획득하고 디스플레이 상에 포인트 클라우드의 3D 뷰 윈도우(3D view window)를 디스플레이할 수도 있다. 3D 포인트 클라우드가 뷰잉되게 하는 뷰포인트(viewpoint)가 시스템의 사용자에 의해 수정가능할 수도 있다. 프로세서는 3D 포인트 클라우드를 2D 평면 상으로 투영하여, 디스플레이 상에 또한 디스플레이되는 2D 뷰 윈도우를 형성할 수도 있다. 투영은 포인트 클라우드의 각각의 3D 포인트를 2D의 대응하는 투영된 포인트와 연관시킬 수도 있다. 사용자는 2D 뷰 상에 영역을 드로잉하고 그 영역에 컬러를 적용할 수도 있다. 그 후에, 프로세서는 그 컬러로 영역에 대응하는 3D 포인트들을 나타내기 위해 3D 뷰 윈도우를 업데이트할 수도 있다. 3D 포인트가, 영역의 내측에 있는 대응하는 투영된 포인트를 가질 때, 그리고 그 3D 포인트가, 사용자에 의해 선택되는 뷰포인트로부터 가시적일 때, 그러면 그 3D 포인트는 영역의 컬러로 디스플레이될 수도 있다. 영역에 대응하는 각각의 3D 포인트와 컬러를 연관시키기 위해 포인트 클라우드를 업데이트하는 일 없이 3D 뷰 윈도우가 업데이트될 수도 있다. 그에 따라, 3D 뷰에 대한 업데이트는 심지어 큰 포인트 클라우드들의 경우에도 실시간 또는 거의 실시간으로 발생할 수도 있다; 예를 들어, 하나 이상의 실시예들에서 업데이트된 3D 뷰를 생성하기 위한 전형적인 딜레이들은 대략 밀리초일 수도 있다.
하나 이상의 실시예들에서, 2D 평면 상으로의 3D 포인트 클라우드의 투영은 등장방형 투영(equirectangular projection)일 수도 있다. 하나 이상의 실시예들에서, 투영은, 투영된 포인트 클라우드의 2D 사이즈를 신장 또는 축소시키기 위한 스케일링 변환(scaling transformation)을 포함할 수도 있거나 또는 이 스케일링 변환이 뒤따를 수도 있다. 예를 들어, 스케일링은 투영된 포인트 클라우드로 하여금 전체 2D 윈도우를 채우게 하는 데 사용될 수도 있다. 스케일링 변환은 포인트 클라우드의 수평 범위를 2D 뷰 윈도우의 수평 폭에 매칭시킬 수도 있고, 포인트 클라우드의 수직 범위를 2D 뷰 윈도우의 수직 높이에 매칭시킬 수도 있다.
하나 이상의 실시예들은, 예를 들어 포인트 클라우드로부터의 투영된 포인트들이 없는 픽셀들에서 아티팩트(artifact)들을 제거하거나 또는 감소시키기 위해, 2D 뷰 윈도우를 추가로 필터링할 수도 있다. 이들 픽셀들에 픽셀 컬러를 할당하기 위해, 필터가 이웃 픽셀들의 컬러들을 사용할 수도 있다. 예를 들어, 평균화 콘볼루션 필터(averaging convolutional filter)가 하나 이상의 실시예들에서 사용될 수도 있다.
하나 이상의 실시예들에서, 프로세서는 CPU와 GPU 양측 모두를 포함할 수도 있다. CPU는 2D 뷰에서 사용자에 의해 선택되는 영역 및 컬러를 GPU에 송신할 수도 있고, GPU는 3D 뷰 윈도우를 생성할 수도 있다. GPU는, 2D 영역에 투영되는 3D 포인트들에 대응하는 픽셀들의 컬러를, 사용자에 의해 선택되는 컬러로 설정할 수도 있다.
하나 이상의 실시예들에서, 사용자에 의해 선택되는 영역은 다각형일 수도 있고, 프로세서는 다각형 내측 포인트 테스트(point-inside-polygon test)를 사용하여 투영된 포인트가 영역의 내측에 있는지 여부를 결정할 수도 있다.
하나 이상의 실시예들에서, 사용자는 영역에 다수의 컬러들을 할당할 수도 있다. 예를 들어 컬러들은 영역의 내측에서 블렌딩될(blended) 수도 있다. 프로세서는 2D 영역에서의 각각의 픽셀에 그리고 2D 영역에서의 투영된 포인트에 대응하는 3D 뷰에서의 각각의 가시적 3D 포인트에 컬러들의 블렌드를 할당할 수도 있다. 단일 컬러 영역들의 경우, 블렌딩된 컬러들을 3D 포인트들과 연관시키기 위해 3D 포인트 클라우드를 업데이트하는 일 없이 3D 뷰가 업데이트될 수도 있다. 블렌딩된 컬러 영역이 삼각형일 때, 사용자에 의해 할당된 컬러들은 예를 들어 각각의 삼각형 정점(vertex)에 대한 정점 컬러들에 대응할 수도 있다. 삼각형 내의 포인트들의 컬러들은 정점 컬러들의 가중된 조합일 수도 있는데, 이때 가중치들은 각각의 포인트의 무게 중심 좌표(barycentric coordinate)들에 대응한다.
하나 이상의 실시예들에서, 프로세서는 2D 뷰 윈도우로부터 텍스처 이미지를 생성할 수도 있는데, 이때 텍스처 이미지에서의 구역은, 사용자에 의해 선택되는 영역에 대응한다. 텍스처 이미지에서의 이 구역에는 영역의 컬러가 할당될 수도 있다. 영역에서 투영된 포인트들을 갖는 하나 이상의 3D 포인트들에 대응하는 3D 뷰에서의 각각의 픽셀은 텍스처 이미지 및 투영된 포인트들의 텍스처 좌표들에 기초하여 컬러 지정될 수도 있다. 다각형 영역의 경우, CPU는 영역을 삼각형들로 삼각화하고, 텍스처 이미지의 렌더링을 위해 각각의 삼각형의 정점들 및 컬러를 GPU에 송신할 수도 있다.
본 특허 또는 출원 파일은 컬러로 제작된 적어도 하나의 도면을 포함한다. 컬러 도면(들)을 갖는 본 특허 또는 특허 출원 공보의 사본들은 요청 시에 그리고 필요한 수수료의 지불 시에 사무소에 의해 제공될 것이다.
본 발명의 상기의 그리고 다른 양태들, 피처(feature)들 및 이점들은 다음의 도면들과 함께 제시된 다음의 그의 더 구체적인 설명으로부터 더 명백해질 것이다.
도 1은 룸(room)으로부터의 포인트 클라우드 데이터를 프로세싱하고 포인트 클라우드의 2D 뷰 및 3D 뷰를 디스플레이하는 본 발명의 일 실시예를 도시한다.
도 2는 도 1에 도시된 예를 계속하여, 포인트 클라우드의 2D 뷰 상의 페인팅 컬러를 예시하고 이들 컬러 변경들을 3D 뷰에서 프리뷰한 것이다.
도 3은 파노라마 투영을 사용하여 3D 포인트 클라우드를 2D 뷰 상으로 투영하기 위한 예시적인 방법을 도시한다.
도 3a는 투영된 클라우드가 전체 360도 x 180도 이미지를 채우도록 투영된 3D 포인트 클라우드를 재스케일링하는 예시적인 방법을 도시한다.
도 3b는 포인트 클라우드에서의 포인트들이 2D 픽셀에 대응하지 않을 때 발생할 수도 있는 아티팩트들을 제거하기 위해 2D 이미지를 필터링하는 예시적인 방법을 도시한다.
도 4a는 포인트 클라우드 상으로 컬러들을 베이킹한 후에 렌더링하는 것을 수반하는 포인트 클라우드 컬러화를 뷰잉하는 선행 기술 방법을 도시한다; 이 프로세스는 반복적이고 시간 소모적일 수도 있다.
도 4b는 GPU를 사용하여 실시간으로 컬러 지정된 3D 프리뷰를 렌더링하기 위해 2D 뷰에 대한 사용자 수정들로부터의 컬러 데이터와 포인트 클라우드 지오메트리 데이터를 조합하기 위한 예시적인 아키텍처를 도시한다.
도 5는 2D 뷰에서 포인트가 컬러 지정된 영역의 내측에 있는지 여부를 테스트함으로써 픽셀의 컬러를 결정하기 위해 하나 이상의 실시예들에서 사용될 수도 있는 예시적인 방법을 도시한다.
도 6은 컬러 지정된 2D 영역을 삼각화하고 텍스처 이미지의 렌더링을 위해 정점 컬러들을 GPU에 전달함으로써 픽셀들을 컬러 지정하기 위해 하나 이상의 실시예들에서 사용될 수도 있는 상이한 방법을 도시한다.
도 7은 삼각형 정점들 간의 컬러들을 보간함으로써 영역에 컬러 그래디언트(color gradient)를 적용하는 일 예를 도시한다.
도 8은 사무실 환경으로부터 캡처되고 등장방형 투영을 이용하여 2D 뷰로 변환되는 포인트 클라우드의 일 예를 도시한다.
도 9는 2D 뷰에서 컬러 지정되고 3D 뷰에서 프리뷰되는 영역을 갖는 도 8의 포인트 클라우드를 도시한다.
도 10은, 2D의 다각형 영역이 3D 뷰에서 상당히 변형될 수도 있다는 것을 예시하는, 도 8의 포인트 클라우드를 컬러화하는 다른 예를 도시한다.
도 11은 포인트 클라우드에 사진을 적용하고 사진의 일부의 컬러를 수정하는 일 예를 도시한다.
도 12는, 예를 들어 영역의 에지에서 소프트 저하 구역(soft fall off area)을 생성하는 데 사용될 수도 있는, 영역 또는 영역의 일부에서의 컬러들을 블렌딩하는 일 예를 도시한다.
실시간 3D 시각화를 이용하는 포인트 클라우드 컬러화 시스템이 이제 설명될 것이다. 다음의 예시적인 설명에서, 본 발명의 실시예들의 더 완전한 이해를 제공하기 위해 수많은 특정 세부사항들이 제시된다. 그러나, 본 발명이 본 명세서에서 설명되는 특정 세부사항들의 모든 양태들을 포함시키지 않고도 실시될 수도 있다는 것은 본 기술분야의 통상의 기술자에게 명백할 것이다. 다른 경우들에서, 본 기술분야의 통상의 기술자들에게 잘 알려진 특정 피처들, 수량들, 또는 측정들이 본 발명을 모호하게 하지 않도록 상세히 설명되지 않았다. 독자들은 본 발명의 예들이 본 명세서에 제시되어 있지만, 청구범위, 및 임의의 등가물들의 전체 범위가 본 발명의 경계들 및 한계들을 정의하는 것이라는 것에 주목해야 한다.
도 1은 3D 포인트 클라우드 데이터를 획득하고 그 데이터를 2D 뷰와 3D 뷰 양측 모두에서 디스플레이하는 본 발명의 일 실시예를 도시한다. 장면(101)이, 예를 들어 LIDAR 또는 유사한 3D 스캐너(105)로 스캐닝될 수도 있다. 하나 이상의 실시예들은, LIDAR 스캔(scan)들을 포함하지만 이에 제한되지 않는, 임의의 타입의 스캐너 또는 임의의 소스로부터 획득되는 포인트 클라우드 데이터를 획득 및 사용할 수도 있다. 예시의 용이성을 위해, 예시적인 장면(101)은 단지 3개의 객체들: 천장(102), 전방 벽(103), 및 좌측 벽(104)을 갖는다. 본 발명의 실시예들에 의해 프로세싱되는 실제 장면들은 어느 정도의 상세도 및 복잡도를 가질 수도 있다. 장면들은, 예를 들어, 룸들, 건물들, 경기장들, 홀들, 극장들, 시장들, 상점들, 자연 경관들, 거리들, 도시들, 또는 시골들을 제한 없이 포함할 수도 있다. 하나 이상의 실시예들에서, 장면들은 완전히 또는 부분적으로 인위적으로 생성될 수도 있다.
스캐너(105)는 3D 포인트 클라우드 데이터(110)를 생성한다. 하나 이상의 실시예들에서, 임의의 포맷의 포인트 클라우드 데이터가 획득 및 프로세싱될 수도 있다. 포인트 클라우드에서의 각각의 포인트는 3D 포지션과 연관될 수도 있다. 일부 포인트 클라우드들은, 휘도 세기 또는 스캐너(105)에 의해 획득되거나 또는 다른 소스들로부터 부가되는 다른 속성들과 같은 부가적인 데이터를 포함할 수도 있다. 실시예들은 포인트 클라우드(110)로 직접 작동할 수도 있거나, 또는 하나 이상의 실시예들에서 포인트 클라우드 데이터는 예를 들어 메시(mesh)와 같은 다른 포맷들로 변환될 수도 있다. 3D 포인트 클라우드(110)는 컴퓨터(120)에 송신되는데, 이 컴퓨터(120)는, 후술되는 바와 같이, 디스플레이를 위해 그리고 컬러 수정을 위해 데이터를 프로세싱할 수도 있다. 하나 이상의 실시예들에서, 컴퓨터(120)는, 예를 들어 데스크톱 컴퓨터, 랩톱, 노트북, 서버, 모바일 폰, 스마트폰, 스마트 워치, 스마트 안경들, 가상 현실 헤드셋, 임베디드 시스템, 또는 이들의 조합들과 같은, 프로세싱 능력을 가진 임의의 디바이스 또는 디바이스들일 수도 있다. 하나 이상의 실시예들에서, 컴퓨터(120)는, 데이터를 집합적으로 프로세싱, 저장, 또는 디스플레이하는 다수의 컴퓨터들 또는 디바이스들의 네트워크일 수도 있다. 컴퓨터 또는 컴퓨터들(120)은, 예를 들어 하나 이상의 CPU들(121), 하나 이상의 GPU들(122), 및 하나 이상의 타입들의 메모리(123)를 포함할 수도 있다. 데이터의 프로세싱은 CPU, GPU, 또는 이들 양측 모두 상에서 수행될 수도 있다.
포인트 클라우드(110)는 예시의 용의성을 위해 비교적 적은 수의 포인트들로 도시되어 있다. 전형적인 적용예들에서는, 수백만 또는 수십억 개의 포인트들의 포인트 클라우드들이 프로세싱될 수도 있다. 잠재적인 사이즈가 매우 큰 포인트 클라우드들은 이들 클라우드들을 프로세싱하는 워크플로(workflow)들에 대해 도전과제를 제기하는데, 이는 포인트 클라우드들에 대한 업데이트들이 매우 시간 소모적일 수도 있기 때문이다. 후술되는 바와 같이, 본 발명은 포인트 클라우드의 시간 소모적인 업데이트를 요구하지 않는 컬러 변경들의 효율적인 3D 프리뷰를 제공함으로써 포인트 클라우드를 컬러화하는 워크플로에 대한 이 도전과제를 해결한다.
컴퓨터(120)는 3D 포인트 클라우드(110)를 프로세싱하고 하나 이상의 윈도우들을 생성하여 포인트 클라우드 정보를 디스플레이할 수도 있다. 이들 윈도우들은 예를 들어 디스플레이 또는 디스플레이들(124) 상에 보여질 수도 있다. 도 1에 도시된 예에서, 컴퓨터(120)는 포인트 클라우드(110)의 2D 뷰(131) 및 3D 뷰(132)를 생성한다. 이들 윈도우들은 예를 들어 단일 디스플레이 상에, 또는 임의의 원하는 방식으로 배열될 수도 있는 별개의 디스플레이들에 보여질 수도 있다. 윈도우들(131 및 132)은 임의의 방식으로, 예컨대 나란히(side-by-side), 위에서 아래로(top-to-bottom), 중첩되어, 또는 화면 속 화면(picture-in-picture)으로 배열될 수도 있다. 3D 뷰(132)는 예를 들어 임의의 원하는 뷰포인트로부터의 포인트 클라우드(110)의 투시 또는 직교 투영을 디스플레이할 수도 있다. 뷰포인트는 사용자가 3D 환경 내에서 패닝(pan), 회전, 및 줌(zoom)하여 임의의 원하는 각도로부터 그리고 임의의 원하는 스케일로 포인트 클라우드의 상이한 부분들을 뷰잉할 수 있도록, 사용자에 의해 제어가능할 수도 있다. 2D 뷰(131)는 예를 들어 전체 포인트 클라우드(110)의 2D 파노라마 투영을 포함할 수도 있다. 하나 이상의 실시예들에서, 사용자는 포인트 클라우드의 상이한 부분들 상에 포커싱하기 위해 2D 뷰(131) 내에서 패닝 및 줌하는 것이 가능할 수도 있다.
하나 이상의 실시예들에서, 포인트 클라우드(110)는 컬러 정보를 포함하지 않을 수도 있다. 일부 적용예들에서, 예를 들어 스캐닝된 장면에 기초하여 컬러 지정된 3D 가상 현실 환경을 생성하기 위해, 포인트 클라우드에 컬러 정보를 부가하는 것이 바람직할 수도 있다. 장면의 컬러 사진들은 예를 들어 포인트 클라우드 상으로 오버레이되어 컬러를 제공할 수도 있다. 그러나, 컬러 사진들이 컬러화 베이스라인을 제공하는 데 사용되더라도, 컬러들의 수동 조정이 많은 상황들에서 바람직할 수도 있다. 예를 들어, 다수의 사진들이 한 장면을 컬러 지정하는 데 사용되는 경우, 사진들에 걸친 조명 및 컬러 밸런스가 달라질 수도 있다; 그에 따라, 이들 사진들을 일관성 있는 컬러 지정된 3D 환경으로 함께 블렌딩하기 위해서는 수동 컬러 조정이 필요할 수도 있다. 아티스트들은 선택된 객체들을 하이라이트 표시하는 것과 같은 특정 효과들을 달성하기 위해 장면에서의 특정 객체들의 컬러들을 변경하기를 또한 원할 수도 있다.
도 2는 도 1에 도시된 예를 계속하여 3D 포인트 클라우드에서 선택된 포인트들의 컬러화를 도시한다. 디스플레이 또는 디스플레이들(124) 상에 보여지는 사용자 인터페이스는, 예를 들어 사용자가 포인트 클라우드의 2D 뷰 상으로 컬러들을 드로잉하는 것을 가능하게 하는 하나 이상의 컬러 툴들(201)을 포함할 수도 있다. 예를 들어, 컬러 선택기들, 페인트브러시들, 형상 팔레트들, 및 자재화(freehand drawing) 툴들을 제한 없이 포함하는 임의의 타입의 컬러 툴들이 사용될 수도 있다. 도시된 실시예에서, 사용자는 2D 뷰(131) 상의 영역(204)을 드로잉 및 컬러 지정하기 위해 컬러 툴들(201)을 사용한다. 사용자는 드로잉하기 위한 영역의 타입을 선택하고, 영역에 대한 컬러(203)를 선택한다. 예시의 용이성을 위해, 영역 형상 및 컬러에 대한 툴들(201)에는 단지 몇 가지 옵션들만이 도시되어 있다; 하나 이상의 실시예들에서, 많은 타입들의 영역들이 선택가능할 수도 있고, 컬러 선택 툴들은 사용자가, 예를 들어 알파 채널들을 갖는 컬러들을 포함하여, 임의의 원하는 컬러를 선택하게 할 수도 있다.
사용자는 스크린 상에 영역(204)을 드로잉하고, 그것을 컬러(203)로 채운다. 하나 이상의 실시예들에서, 사용자는, 예를 들어 그래디언트들, 블러들, 또는 텍스처들을 포함하여, 다수의 컬러들로 영역을 채울 수도 있다. 2D 뷰(131)는, 특히 투영의 극(pole)들에서, 왜곡될 수도 있기 때문에, 2D 뷰에서의 영역(204)의 외관은 3D 포인트 클라우드로 다시 매핑될 때 영역의 3D 형상을 반영하지 않을 수도 있다. 그에 따라, 하나 이상의 실시예들에서, 3D 뷰(132)는 3D에서 컬러 변경들의 프리뷰를 제공할 수도 있다. 하나 이상의 실시예들에서, 3D 뷰(132)의 컬러들에 대한 업데이트들이 실시간 또는 거의 실시간으로 될 수도 있어서, 사용자가 3D 포인트 클라우드에 대한 컬러 변경들의 효과에 대한 즉각적인 또는 거의 즉각적인 피드백을 획득하도록 한다. 그에 따라, 3D 뷰(132)에서의 포인트들(205)은 컬러(203)로 보여지는데, 이는 이들 포인트들이 영역(204) 내측의 투영된 포인트들에 대응하기 때문이다. 하나 이상의 실시예들에서, 사용자는 3D 윈도우(132)의 뷰포인트를 패닝, 회전, 줌, 또는 그렇지 않으면 수정하는 것이 가능할 수도 있다. 예를 들어, 사용자는 이 뷰포인트로부터의 뷰(206)를 보기 위해 전방 벽에 대해 줌 인(zoom in)하거나, 또는 이 뷰포인트로부터의 뷰(207)를 보기 위해 천장에 대해 줌 인할 수도 있다.
도 3은 하나 이상의 실시예들에서 2D 뷰 윈도우가 어떻게 생성될 수도 있는지에 대한 세부사항들을 제공한다. 도 3에 예시된 방법은 예시적이다; 하나 이상의 실시예들은 임의의 원하는 투영 또는 방법을 사용하여 포인트 클라우드의 2D 뷰를 생성할 수도 있다. 3D 포인트 클라우드(110)의 포인트들이 먼저 구체(sphere)(311) 상으로 투영될 수도 있다. 구체의 중심은, 예를 들어 장면의 3D 포인트 클라우드를 캡처하는 데 사용되는 LIDAR 또는 다른 스캐너의 중심과 일치할 수도 있거나, 또는 그것은, 사용자가 장면을 뷰잉하기를 원하는 관심 포인트를 표현할 수도 있다. 예를 들어, 포인트 클라우드에서의 3D 포인트(302)는 구체(311) 상의 포인트(312) 상으로 투영될 수도 있고, 3D 포인트(303)는 구체(311) 상의 포인트(313) 상으로 투영될 수도 있다. 제2 단계로서, 구체(311)는 평평한 2D 공간(321) 상으로 펼쳐질 수도 있다. 구체(311)로부터 평평한 공간(321)으로 매핑시키기 위해 임의의 타입의 투영이 사용될 수도 있다. 예를 들어, 제한 없이, 각각의 포인트의 경도와 위도를 2D 데카르트 좌표(cartesian coordinate)들에 매핑시키는 파노라마 등장방형 투영이 사용될 수도 있다. 이 투영을 이용하여, 구체 상의 포인트(312)는 2D 공간(321)에서의 포인트(322)에 매핑될 수도 있고, 구체 상의 포인트(313)는 2D 공간(321)에서의 포인트(323)에 매핑될 수도 있다. 3D 포인트들을 구체(311) 상으로 투영하는 것과 구체(311)를 2D 공간(321)에 투영하는 것의 조합은 3D 기준 프레임(305)에서의 3D("xyz") 좌표들과 2D 기준 프레임(325)에서의 2D("uv") 좌표들 사이의 대응을 확립한다. 예를 들어, 3D 좌표들(304)에서의 포인트(303)는 2D 좌표들(324)에서의 포인트(323)에 대응한다. 이 대응은 반전될 수도 있어서, 2D 공간(321)에서의 포인트가 3D 포인트 클라우드(110)에서의 포인트와 연관될 수도 있다.
일부 시나리오들에서, 관심있는 포인트 클라우드, 또는 포인트 클라우드의 일 부분은 전체 360도의 방위각 또는 180도의 고도를 커버하지 않을 수도 있다. 하나 이상의 실시예들에서, 포인트 클라우드의 범위가 제한되더라도, 포인트 클라우드가 전체 2D 뷰잉 윈도우를 채우도록 포인트 클라우드의 2D 뷰가 수정되어 2D 뷰를 재스케일링할 수도 있다. 이 시나리오는 도 3a에 예시되어 있고, 여기서 구체(311)의 중심에 있는 관찰자의 포인트로부터, 포인트 클라우드(110a)가 단지 331의 수평 범위와 332의 수직 범위에만 걸쳐 있다. 2D 뷰(321a)에 매핑될 때, 포인트 클라우드(110a)는 구역(333)을 차지한다. 가능한 한 상세한 포인트 클라우드의 2D 뷰를 제공하기 위해, 하나 이상의 실시예들에서, 2D 투영은 스케일링 연산(scaling operation)(334)으로 변환되어 2D 뷰(321b)를 획득할 수도 있다. 스케일링은 예를 들어 수평 범위(331)를 2D 뷰 윈도우(321b)의 폭과 매칭시키기 위해, 그리고 수직 범위(332)를 2D 뷰 윈도우(321b)의 수직 높이와 매칭시키기 위해 사용될 수도 있다. 이 변환된 뷰에서, 포인트 클라우드(110a)는, 전체 180도의 고도 및 360도의 방위각을 갖는 영역(335)을 차지한다. 수직 및 수평 축들에 대한 스케일링 인자들은 수평 범위 각도(331) 및 수직 범위 각도(332)에 따라 상이할 수도 있다; 그에 따라, 구역(335)은 원래의 투영된 구역(333)에 비해 왜곡될 수도 있다.
원래의 포인트 클라우드의 이산 샘플링(discrete sampling)뿐만 아니라, 3D로부터 2D로의 투영에 의해 그리고 축들의 가능한 재스케일링에 의해 도입되는 왜곡은, 포인트 클라우드의 2D 뷰가 래스터화될(rasterized) 때 아티팩트들을 생성할 수도 있다. 이 상황은 도 3b에 예시되어 있다. 포인트 클라우드(110a)는 2D 뷰(321b) 상으로 투영되고, 재스케일링되어, 그것이, 도 3a와 관련하여 설명된 바와 같이, 구역(335)을 차지하도록 한다. 그 후에, 이 뷰(321b)는 2D 이미지로 래스터화된다. 그리드(342)가 래스터화된 이미지의 영역(341)에서의 개별 픽셀들을 보여준다. 그리드(342)에서의 포인트들은 3D 포인트 클라우드(110a)로부터의 포인트들의 투영된 포지션이다. 픽셀(343)과 같은, 그리드(342)에서의 일부 픽셀들은 어떠한 투영된 포인트들도 포함하지 않기 때문에, 래스터화된 이미지 세그먼트(344)에서의 흑색 픽셀들과 같은 아티팩트들이 나타날 수도 있다. 예를 들어, 그리드(342)에서의 픽셀(343)은 이미지 세그먼트(344)에서 픽셀(345)로서 나타난다. 이들 아티팩트들은 2D 이미지들이 전체 360 x 180 이미지에 맞게 재스케일링될 때 더 널리 퍼질 수도 있는데, 이는 일부 픽셀들이 3D 포인트 클라우드로부터의 어떠한 투영된 포인트들에도 대응하지 않을 가능성이 더 많을 수도 있기 때문이다.
하나 이상의 실시예들에서, 이미지(344)에서의 픽셀(345)과 같은 아티팩트들은 대응하는 투영된 포인트들이 없는 픽셀들을 식별함으로써, 그리고 이들 픽셀들의 값을 이웃 픽셀들에 대응하는 값으로 설정함으로써 감소될 수도 있다. 하나 이상의 실시예들에서 사용될 수도 있는 하나의 기법은 필터를 이미지와 콘볼빙(convolve)하는 것이다. 도 3b에 도시된 예시적인 예에서, 이미지(344)는 필터(347)와의 연산(346) 시에 콘볼빙되는데, 이는 아티팩트 픽셀을 둘러싸는 픽셀들을 평균화한다. 이 연산(348)은 아티팩트 없는 이미지(348)를 발생시킨다. 이 평균화 필터(347)는 예시적이다; 하나 이상의 실시예들은 아티팩트들을 포함하는 픽셀들을 식별하기 위해 그리고 이들을 제거하거나 또는 감소시키기 위해 임의의 타입의 필터 또는 다른 연산을 적용할 수도 있다.
2D 뷰에 대해 행해진 컬러 수정들로부터의 컬러 3D 뷰의 생성으로 이제 돌아가면, 도 4a는 3D 포인트 클라우드를 컬러화하기 위해 본 기술분야에서 사용될 수도 있는 전형적인 방법을 도시한다. 3D 포인트 클라우드의 일 부분의 일부 뷰(420)가 생성되고, 사용자는 이 뷰의 일부 영역(422)에 컬러를 적용한다. 이 컬러 변경의 3D 효과를 관찰하기 위해, 3D 포인트 클라우드(110) 상으로 컬러를 "베이킹"하기 위해 프로세스 411이 실행된다. 이 베이킹 프로세스는 컬러 변경에 의해 영향받은 모든 3D 포인트들을 식별하고, 그것은 업데이트(421)와 같은 일련의 업데이트들을 적용하여, 영향받은 포인트들의 컬러 속성을 수정하거나, 또는 그렇지 않으면 컬러를 포인트 클라우드에서의 포인트들과 연관시킨다. 포인트 클라우드가 커서, 잠재적으로 수백만 또는 수십억 개의 포인트들을 포함할 수도 있기 때문에, 이들 업데이트들(421)은 매우 시간 소모적일 수도 있다. 컬러들을 포인트 클라우드 상으로 베이킹하는 전체 프로세스는 예를 들어 15분 이상 걸릴 수도 있다. 예시적인 프로세스는, 각각의 포인트에 대한 지오메트리 및 컬러 정보로, 데이터 구조체(430)로서의 포인트 클라우드를 표현한다. 영향받은 포인트들에 액세스하고 이들의 컬러 속성들을 업데이트하려면 큰 포인트 클라우드의 경우 기가바이트들의 데이터를 가로지를 것을 요구할 수도 있다. 베이킹 프로세스(411) 후에, 업데이트된 포인트 클라우드는 프로세스 412에서 렌더링되어 3D 뷰(423)를 생성한다. 그 후에, 사용자는 단계 413에서 이 렌더링을 검토할 수도 있고, 일단 사용자가 3D에서 변경들의 효과를 보고 나면 필요에 따라 컬러들을 보정할 수도 있다. 이 프로세스는 매우 시간 소모적일 수도 있기 때문에, 포인트 클라우드의 컬러들을 정확히 수정하기 위해서는 수 회의 반복들(414)이 요구될 수도 있다.
도 4b는 하나 이상의 실시예들에서 사용될 수도 있는 3D 뷰를 렌더링하기 위한 일반적인 프레임워크를 도시한다. 도 4a에 예시된 프로세스와 대조적으로, 이 프레임워크는 3D 뷰의 실시간 또는 거의 실시간 생성을 제공하여, 그에 의해 도 4a의 워크플로의 수 회의 반복들을 잠재적으로 제거하거나 또는 감소시킨다. 컬러 데이터(401)가, 영역(204)과 같은, 2D 뷰(131)에서의 컬러 지정된 영역들로부터 획득된다. 이 컬러 데이터는 예를 들어, 정점들, 에지들, 또는 이들 양측 모두를 포함할 수도 있는, 영역(204)의 경계의 설명일 수도 있다. 그것은 또한 영역 또는 영역 경계의 파라메트릭 표현일 수도 있다. 그것은 대안적으로, 영역에 포함되는 모든 픽셀들 또는 포인트들의 리스트일 수도 있다. 컬러 데이터는, 영역의 컬러 또는 영역 내의 상이한 포인트들 또는 구역들과 연관된 컬러들을 포함할 수도 있다. 지오메트리 데이터(402)가 3D 포인트 클라우드(110)로부터 획득된다. 이 데이터는 예를 들어 각각의 포인트의 3D 좌표들일 수도 있거나, 또는 그것은 포인트 클라우드로부터 유도된 메시일 수도 있다. 사용자는 3D 뷰가 렌더링되어야 하는 뷰포인트(403)를 선택한다. 데이터(401, 402, 및 403)는 영역(204)에 대응하는 3D 포인트들에 적용되는 컬러들로 3D 뷰(132)를 렌더링하기 위해 GPU(122)에 의해, 또는 임의의 다른 프로세서 또는 프로세서들에 의해 사용될 수도 있다. 3D 뷰(132)의 렌더링은 또한 CPU 프로세싱과 GPU 프로세싱의 조합에 의해 수행될 수도 있다.
도 4a에 도시된 프로세스와는 달리, 본 발명의 하나 이상의 실시예들에서 사용되는 도 4b의 프로세스는 포인트 클라우드 데이터(430)를 업데이트하지 않는다; 컬러들은 3D 프리뷰 프로세스의 일부로서 포인트 클라우드 내로 "베이킹"되지 않는다. 그 대신에, 영역(204)으로부터의 컬러 데이터는 GPU에 의해(또는 다른 프로세서들에 의해) 변환되어 올바른 포지션, 배향, 및 형상으로 오버레이된 컬러를 갖는 포인트 클라우드를 보여준다. 이 기법은 컬러 변경들의 3D 프리뷰가 거의 즉시 발생하게 한다. 적용예에 따라, 최종 컬러들은 편집 후에 포인트 클라우드 내로 여전히 베이킹될 수도 있지만, 이것은 편집 및 프리뷰하는 동안에는 필요하지 않다.
도 5 및 도 6은 하나 이상의 실시예들에서 3D 뷰(132)를 렌더링하는 데 사용될 수도 있는 방법들을 예시한다. 도 5는 포인트 클라우드(110)에서의 각각의 3D 포인트가 컬러 지정된 영역(204) 내에 있는 2D 투영을 갖는지 여부를 테스트하는 방법을 예시한다. 각각의 3D 포인트에 대해, 2D 투영(131)에서의 좌표들이 단계 501에서 검색 또는 생성된다. 예를 들어, 하나 이상의 실시예들에서, 투영의 2D("uv") 좌표들은 각각의 포인트의 속성으로서 포인트 클라우드와 함께 저장될 수도 있다. 대안적으로, 2D 좌표들을 생성할 필요가 있을 때 투영이 수행될 수도 있다. 투영 후에, 각각의 투영된 포인트에 대해 테스트(501)가 수행되어, 그것이 컬러 지정된 또는 페인팅된 영역의 내측에 있는지 여부를 결정할 수도 있다. 예를 들어 영역(204)이 다각형인 경우, 그러면 포인트가 다각형의 내측에 있는지 여부를 테스트하는 임의의 알고리즘이 사용될 수도 있다. 수 개의 그러한 알고리즘들이 본 기술분야에 알려져 있고 하나 이상의 실시예들에서 사용될 수도 있다. 예를 들어, 다각형 내측 포인트 테스트들은, 포인트로부터의 광선이 다각형 경계를 통과하는 횟수를 카운트하는 알고리즘들, 및 포인트 주위의 다각형 표면의 와인딩 수를 계산하는 알고리즘들을 포함한다. 3D 포인트와 연관된 투영된 포인트가 영역(204)의 내측에 있는 경우, 단계 502는 영역 컬러를 포인트에 적용하고; 그렇지 않으면 단계 503은 디폴트 또는 배경 컬러, 또는 포인트 클라우드에 적용된 배경 이미지의 컬러를 적용한다.
도 5는 3D 포인트 클라우드(110)에서 2개의 포인트들(511, 및 512)의 컬러를 결정하는 프로세스를 예시한다. 포인트(511)는 투영된 포인트(521)와 연관되었고, 포인트(512)는 투영된 포인트(522)와 연관되었다. 테스트(501)는 포인트(521)가 영역(204)의 내측에 있고, 포인트(522)가 영역(204)의 외측에 있다는 것을 보여준다; 따라서 포인트(511)는 3D 뷰(132)에서 청색으로 컬러 지정되고, 포인트(512)는 디폴트 컬러로 설정된다.
하나 이상의 실시예들에서, 도 5에 도시된 단계들 중 임의의 것 또는 전부가 GPU 상에서 실행될 수도 있다. 각각의 포인트에 대한 테스트들이 서로 독립적으로 수행될 수도 있기 때문에, 영역 내측 포인트 테스트들이 쉽게 병렬화된다. 하나 이상의 실시예들에서, 테스트들에 대한 부가적인 최적화들이 수행될 수도 있다. 예를 들어, 바운딩 박스(bounding box)가 영역(204) 주위에서 계산될 수도 있고, 단순한 테스트가, 투영된 포인트가 바운딩 박스의 내측에 있는지 여부를 결정할 수도 있다; 더 완전한 영역 내측 포인트 테스트가 그 후에, 단지 포인트가 바운딩 박스의 내측에 있는 경우에만 수행될 수도 있다. 하나 이상의 실시예들에서 사용될 수도 있는 다른 최적화는 2D 공간(131)을 타일들로 분할하고, 각각의 타일에 대해 그것이 영역(204)과 교차하는지 여부를 결정하는 것이다. 영역(204)과 교차하지 않는 타일에 투영들을 갖는 3D 포인트들은 그 후에, 포인트가 영역의 내측에 있는지 여부에 대한 더 복잡한 테스트 없이 단계 503에서 컬러 지정될 수도 있다.
도 6은 하나 이상의 실시예들에서 사용될 수도 있는 3D 뷰에서 포인트들을 컬러 지정하기 위한 다른 방법을 예시한다. 영역(204)은 삼각형들로 분할될 수도 있고, 삼각형 정점들 및 컬러들이 예를 들어 GPU에 송신되어 텍스처 이미지를 렌더링할 수도 있다. 예를 들어, 영역(204)은 삼각형들(601 및 602)로 분할될 수도 있고, 삼각형 데이터(603)가 GPU에 송신될 수도 있다. 데이터(603)는, 예를 들어 각각의 삼각형의 정점들의 좌표들 및 각각의 정점의 컬러를 포함할 수도 있다. 이 예에서, 모든 정점들은 동일한 컬러를 갖는다; 그러나, 도 7과 관련하여 후술되는 바와 같이, 예를 들어 블렌딩 또는 페더링(feathering) 효과들을 달성하기 위해 상이한 정점 컬러들이 사용될 수도 있다. 그 후에, GPU는 2D 텍스처 이미지의 렌더링(604), 및 컬러 지정된 3D 뷰(132)의 렌더링(605)을 수행할 수도 있다. GPU들은 삼각형 정점 데이터로부터 렌더링하도록 최적화되기 때문에, 이들 단계들은 매우 효율적으로 수행될 수도 있다.
하나 이상의 실시예들에서, 영역 컬러들이 영역에 걸쳐 불균일할 수도 있다. 이 능력은 예를 들어, 컬러들이, 하나 이상의 컬러 사진들 또는 다른 수동 컬러 변경들과 같은, 2D 뷰에 적용되는 다른 컬러들과 매끄럽게 블렌딩되도록, 영역에 소프트 에지를 제공하는 데 사용될 수도 있다. 도 7은 영역(204a)의 삼각형(602a)에 컬러 그래디언트를 갖는 일 예를 도시한다. 삼각형(602a)의 2개의 정점들(701 및 702)에는 청색 컬러가 할당되고, 세 번째 정점(703)에는 백색 컬러가 할당된다. GPU는 셰이딩 연산(shading operation)(704)을 수행하여 삼각형 내의 각각의 포인트의 컬러를 결정한다. 이 셰이딩 알고리즘은 예를 들어 각각의 포인트의 무게 중심 좌표들에 기초하는 블렌딩을 사용할 수도 있다. 예를 들어, 포인트(705)의 무게 중심 좌표들은 이 포인트의 컬러를 계산하는 데 사용될 수도 있다. 이 타입의 삼각형 셰이딩은 통상적으로 GPU에서 수행되어, 그것은 매우 효율적으로 행해질 수도 있다.
도 8 내지 도 12는 실제 장면들로부터 캡처되는 3D 포인트 클라우드들에 대한 본 발명의 일 실시예의 적용예들을 예시한다. 도 8은 룸을 모든 방향들로 스캐닝함으로써 획득되는 3D 포인트 클라우드의 일 부분(801)을 도시한다. 포인트 클라우드는 각각의 포인트에 대한 세기 및 포지션을 갖지만, 컬러는 갖지 않는다. 상술된 바와 같이, 포인트 클라우드(801)는 구체(802)에 매핑되는데, 이 구체(802)는 그 후에 등장방형 파노라마 투영을 사용하여 2D 뷰(803)에 투영된다. 도 9는 포인트 클라우드의 영역을 컬러 지정하는 데 사용되는 예시적인 사용자 인터페이스를 도시한다. 메인 윈도우(803a)는, 특정 벽 상에 포커싱하기 위해 사용자에 의해 줌 인되는 2D 뷰이다. 컬러 지정 툴들(901)이 사용자에게 제시된다. 사용자는 2D 뷰(803a)에서 영역(902)을 선택하고 그것에 컬러를 할당한다. 3D 뷰 윈도우(801a)는 동일한 컬러의 대응하는 영역(903)을 갖는 포인트 클라우드를 보여준다.
도 10은 도 8로부터의 포인트 클라우드의 2D 뷰에서의 영역을 컬러 지정하는 다른 예를 도시한다. 이 예에서는, 3D 대 2D 매핑의 왜곡이 더 분명하여, 3D 프리뷰의 중요성을 예시한다. 사용자는 2D 뷰(803b)에서 영역(1002)을 드로잉하고 컬러를 할당한다. 3D 뷰(801b)에서의 대응하는 영역(1003)은 상당히 상이한 형상을 갖는다; 영역(1002)에서의 직선들은 3D 뷰의 영역(1003)에서의 직선들에 대응하지 않는다.
도 11은 영역에 컬러를 적용하는 다른 예를 도시한다. 이 예에서는, 2D 컬러 이미지가 포인트 클라우드 데이터에 적용되었고, 사용자가 이들 컬러들에 대한 조정을 행한다. 표지판(1103)이 2D 컬러 이미지에서 흑색이지만, 사용자는 2D 뷰(1101)에서 표지판 주위로 영역 경계를 드로잉하고 컬러를 청색 색조로 변경한다. 이 컬러 변경은 3D 뷰(1102)에 반영된다.
도 12는 영역에 대한 소프트 에지를 달성하기 위한 컬러 블렌딩의 일 예를 도시한다. 사용자는 2D 뷰(803c)에서의 영역(1201)을 컬러로 채우고, 컬러 그래디언트를 갖는 다른 영역(1202)을 정의하여 1201의 컬러가 영역(1202)의 우측 에지를 향해 점진적으로 저하되게 한다.
본 명세서에 개시된 본 발명이 특정 실시예들 및 그의 적용예들에 의해 설명되었지만, 청구범위에 제시된 본 발명의 범위로부터 벗어남이 없이 본 기술분야의 통상의 기술자들에 의해 수많은 수정들 및 변형들이 이루어질 수 있다.

Claims (12)

  1. 실시간 3D 시각화를 이용하는 포인트 클라우드 컬러화 시스템(point cloud colorization system)으로서,
    프로세서;
    상기 프로세서에 커플링되는 메모리; 및,
    상기 프로세서에 그리고 상기 메모리에 커플링되는 디스플레이
    를 포함하고;
    상기 프로세서는
    복수의 3D 포인트들을 포함하는 3D 포인트 클라우드를 획득하고;
    뷰포인트(viewpoint)로부터의 상기 3D 포인트 클라우드의 뷰에 대응하는 3D 뷰 윈도우(3D view window)를 상기 디스플레이 상에 디스플레이하고 - 상기 뷰포인트는 사용자에 의해 수정가능함 -;
    복수의 투영된 포인트들을 포함하는 투영된 3D 포인트 클라우드를 형성하기 위해 2D 평면 상으로의 상기 3D 포인트 클라우드의 투영을 수행하고 - 상기 복수의 3D 포인트들의 각각의 3D 포인트는 상기 복수의 투영된 포인트들 중 한 투영된 포인트에 대응함 -;
    상기 디스플레이 상에 2D 뷰 윈도우 상의 상기 투영된 3D 포인트 클라우드를 디스플레이하고;
    상기 사용자에 의해 상기 2D 뷰 윈도우 상에 드로잉되는 영역을 수용하고;
    상기 영역에 적용하기 위해 상기 사용자에 의해 선택되는 컬러를 수용하고;
    상기 컬러로 상기 영역을 나타내기 위해 상기 2D 뷰 윈도우를 수정하고;
    상기 복수의 3D 포인트들의 각각의 3D 포인트가 상기 영역에서의 대응하는 투영된 포인트를 가질 때, 그리고 상기 각각의 3D 포인트가 상기 뷰포인트로부터 가시적일 때,
    상기 컬러로 상기 각각의 3D 포인트를 디스플레이하기 위해,
    상기 컬러를 상기 각각의 3D 포인트와 연관시키기 위해 상기 3D 포인트 클라우드를 업데이트하는 일 없이
    상기 3D 뷰 윈도우를 업데이트하도록
    구성되는, 포인트 클라우드 컬러화 시스템.
  2. 제1항에 있어서,
    상기 2D 평면 상으로의 상기 3D 포인트 클라우드의 상기 투영은 등장방형 투영(equirectangular projection)을 포함하는, 포인트 클라우드 컬러화 시스템.
  3. 제1항에 있어서,
    상기 2D 평면 상으로의 상기 3D 포인트 클라우드의 상기 투영은, 상기 3D 포인트 클라우드의 수평 범위를 상기 2D 뷰 윈도우의 수평 폭에 매칭시키고 상기 3D 포인트 클라우드의 수직 범위를 상기 2D 뷰 윈도우의 수직 높이에 매칭시키는 스케일링 변환(scaling transformation)을 포함하는, 포인트 클라우드 컬러화 시스템.
  4. 제1항에 있어서,
    상기 프로세서는
    대응하는 투영된 포인트들이 없는 상기 2D 뷰 윈도우에서의 각각의 픽셀에 픽셀 컬러를 할당하기 위해 상기 2D 뷰 윈도우에 필터를 적용하도록
    추가로 구성되고;
    상기 픽셀 컬러는, 투영된 포인트들을 포함하는 이웃 픽셀들의 컬러들에 기초하는, 포인트 클라우드 컬러화 시스템.
  5. 제4항에 있어서,
    상기 필터는 평균화 콘볼루션 필터(averaging convolutional filter)를 포함하는, 포인트 클라우드 컬러화 시스템.
  6. 제1항에 있어서,
    상기 프로세서는 CPU 및 GPU를 포함하고;
    상기 CPU는 상기 영역 및 상기 컬러를 상기 GPU에 송신하도록 구성되고;
    상기 GPU는 상기 3D 뷰 윈도우를 생성하도록 구성되고;
    상기 3D 뷰 윈도우를 상기 생성하는 것은,
    상기 3D 뷰 윈도우에서의 픽셀이, 상기 영역에서의 대응하는 투영된 포인트들을 갖는 하나 이상의 3D 포인트들에 대응할 때, 상기 픽셀의 픽셀 컬러를 상기 컬러로 설정하는 것
    을 포함하는, 포인트 클라우드 컬러화 시스템.
  7. 제1항에 있어서,
    상기 영역은 다각형이고;
    상기 프로세서는 다각형 내측 포인트 테스트(point-inside-polygon test)를 이용하여, 상기 각각의 3D 포인트에 대응하는 상기 투영된 포인트가 상기 영역에 있을 때를 결정하도록 구성되는, 포인트 클라우드 컬러화 시스템.
  8. 제1항에 있어서,
    상기 프로세서는
    상기 사용자에 의해 상기 2D 뷰 상에 드로잉되는 블렌딩된 컬러 영역(blended color region)을 수용하고;
    상기 블렌딩된 컬러 영역에 적용하기 위해 상기 사용자에 의해 선택되는 복수의 컬러들을 수용하고;
    상기 복수의 컬러들의 블렌드로 상기 블렌딩된 컬러 영역의 각각의 픽셀을 보여주기 위해 상기 2D 뷰 윈도우를 수정하고;
    상기 복수의 3D 포인트들의 각각의 3D 포인트가 상기 영역에서의 대응하는 투영된 포인트를 가질 때, 그리고 상기 각각의 3D 포인트가 상기 뷰포인트로부터 가시적일 때,
    상기 복수의 컬러들의 상기 블렌드로 상기 각각의 3D 포인트를 디스플레이하기 위해
    상기 복수의 컬러들의 상기 블렌드를 상기 각각의 3D 포인트와 연관시키기 위해 상기 3D 포인트 클라우드를 업데이트하는 일 없이
    상기 3D 뷰 윈도우를 업데이트하도록
    추가로 구성되는, 포인트 클라우드 컬러화 시스템.
  9. 제8항에 있어서,
    상기 블렌딩된 컬러 영역은 삼각형을 포함하고;
    상기 복수의 컬러들은 상기 삼각형의 각각의 정점(vertex)에 대한 정점 컬러를 포함하고;
    상기 복수의 컬러들의 상기 블렌드는 상기 정점 컬러들의 가중된 조합을 포함하고, 상기 가중된 조합의 가중치들은 상기 블렌딩된 컬러 영역의 상기 각각의 픽셀의 무게 중심 좌표(barycentric coordinate)들에 대응하는, 포인트 클라우드 컬러화 시스템.
  10. 제1항에 있어서,
    상기 프로세서는
    상기 2D 뷰 윈도우로부터 텍스처 이미지를 생성하도록
    추가로 구성되고,
    상기 2D 뷰 윈도우에서 상기 영역에 대응하는 상기 텍스처 이미지의 구역은 상기 컬러를 가지며;
    상기 3D 뷰 윈도우를 상기 업데이트하는 것은,
    상기 3D 뷰 윈도우에서의 픽셀이, 상기 영역에서의 대응하는 투영된 포인트들을 갖는 하나 이상의 3D 포인트들에 대응할 때, 상기 텍스처 이미지에 기초하여 그리고 상기 대응하는 투영된 포인트들의 텍스처 좌표들에 기초하여 상기 픽셀의 상기 픽셀 컬러를 설정하는 것
    을 포함하는, 포인트 클라우드 컬러화 시스템.
  11. 제10항에 있어서,
    상기 프로세서는 CPU 및 GPU를 포함하고;
    상기 영역은 다각형이고;
    상기 CPU는
    상기 다각형을 하나 이상의 삼각형들로 삼각화하고;
    상기 컬러 및 상기 하나 이상의 삼각형들의 정점들을 상기 GPU에 송신하도록
    구성되고;
    상기 GPU는
    상기 정점들 및 상기 컬러에 기초하여 상기 텍스처 이미지의 상기 구역을 생성하도록
    구성되는, 포인트 클라우드 컬러화 시스템.
  12. 실시간 3D 시각화를 이용하는 포인트 클라우드 컬러화 시스템으로서,
    CPU 및 GPU를 포함하는 프로세서;
    상기 프로세서에 커플링되는 메모리; 및,
    상기 프로세서에 그리고 상기 메모리에 커플링되는 디스플레이
    를 포함하고;
    상기 프로세서는
    복수의 3D 포인트들을 포함하는 3D 포인트 클라우드를 획득하고;
    뷰포인트로부터의 상기 3D 포인트 클라우드의 뷰에 대응하는 3D 뷰 윈도우를 상기 디스플레이 상에 디스플레이하고 - 상기 뷰포인트는 사용자에 의해 수정가능함 -;
    복수의 투영된 포인트들을 포함하는 투영된 3D 포인트 클라우드를 형성하기 위해 2D 평면 상으로의 상기 3D 포인트 클라우드의 등장방형 투영을 수행하고 - 상기 복수의 3D 포인트들의 각각의 3D 포인트는 상기 복수의 투영된 포인트들 중 한 투영된 포인트에 대응함 -;
    상기 3D 포인트 클라우드의 수평 범위를 2D 뷰 윈도우의 수평 폭에 매칭시키고 상기 3D 포인트 클라우드의 수직 범위를 상기 2D 뷰 윈도우의 수직 폭에 매칭시키는 상기 2D 평면의 스케일링 변환을 수행하고;
    상기 디스플레이 상에 상기 2D 뷰 윈도우 상의 상기 투영된 3D 포인트 클라우드를 디스플레이하고;
    상기 사용자에 의해 상기 2D 뷰 윈도우 상에 드로잉되는 영역을 수용하고 - 상기 영역은 다각형임 -;
    상기 영역에 적용하기 위해 상기 사용자에 의해 선택되는 컬러를 수용하고;
    상기 컬러로 상기 영역을 나타내기 위해 상기 2D 뷰 윈도우를 수정하고;
    대응하는 투영된 포인트들이 없는 상기 2D 뷰 윈도우에서의 각각의 픽셀에 픽셀 컬러를 할당하기 위해 상기 2D 뷰 윈도우에 콘볼루션 평균화 필터를 적용하고;
    상기 다각형을 하나 이상의 삼각형들로 삼각화하고;
    상기 컬러 및 상기 하나 이상의 삼각형들의 정점들을 상기 GPU에 송신하고;
    상기 GPU를 이용하여 상기 정점들 및 상기 컬러에 기초하여 상기 텍스처 이미지의 상기 구역을 생성하고;
    상기 3D 뷰 윈도우에서의 픽셀이, 상기 영역에서의 대응하는 투영된 포인트들을 갖는 하나 이상의 3D 포인트들에 대응할 때, 상기 텍스처 이미지에 기초하여 그리고 상기 대응하는 투영된 포인트들의 텍스처 좌표들에 기초하여 상기 픽셀의 상기 픽셀 컬러를 설정하기 위해,
    상기 컬러를 상기 각각의 3D 포인트와 연관시키기 위해 상기 3D 포인트 클라우드를 업데이트하는 일 없이
    상기 GPU를 이용하여 상기 3D 뷰 윈도우를 업데이트하도록
    구성되는, 포인트 클라우드 컬러화 시스템.
KR1020217019848A 2019-01-11 2020-01-09 실시간 3d 시각화를 이용하는 포인트 클라우드 컬러화 시스템 KR20210095921A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/246,178 2019-01-11
US16/246,178 US10353073B1 (en) 2019-01-11 2019-01-11 Point cloud colorization system with real-time 3D visualization
PCT/US2020/012972 WO2020146664A1 (en) 2019-01-11 2020-01-09 Point cloud colorization system with real-time 3d visualization

Publications (1)

Publication Number Publication Date
KR20210095921A true KR20210095921A (ko) 2021-08-03

Family

ID=67220451

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217019848A KR20210095921A (ko) 2019-01-11 2020-01-09 실시간 3d 시각화를 이용하는 포인트 클라우드 컬러화 시스템

Country Status (6)

Country Link
US (3) US10353073B1 (ko)
EP (1) EP3891706A4 (ko)
JP (1) JP7235875B2 (ko)
KR (1) KR20210095921A (ko)
CN (1) CN113272865B (ko)
WO (1) WO2020146664A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102659898B1 (ko) * 2022-11-30 2024-04-23 (주)비주얼신 모바일 단말을 이용한 3차원 발 모델 생성 방법 및 시스템

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10937202B2 (en) * 2019-07-22 2021-03-02 Scale AI, Inc. Intensity data visualization
US11222460B2 (en) * 2019-07-22 2022-01-11 Scale AI, Inc. Visualization techniques for data labeling
CN112381919B (zh) * 2019-07-29 2022-09-27 浙江商汤科技开发有限公司 信息处理方法、定位方法及装置、电子设备和存储介质
CN112203074B (zh) * 2020-12-07 2021-03-02 南京爱奇艺智能科技有限公司 一种基于两步迭代的相机平移新视点图像生成方法和系统
WO2022133569A1 (en) * 2020-12-22 2022-06-30 Prevu3D Inc. Methods and system for reconstructing textured meshes from point cloud data
US20220351394A1 (en) * 2021-04-27 2022-11-03 Faro Technologies, Inc. Hybrid feature matching between intensity image and color image
CN113487746B (zh) * 2021-05-25 2023-02-24 武汉海达数云技术有限公司 一种车载点云着色中最优关联影像选择方法及系统
CN113934294A (zh) * 2021-09-16 2022-01-14 珠海虎江科技有限公司 虚拟现实显示设备及其对话窗口显示方法、计算机可读存储介质
CN117475104A (zh) * 2022-07-22 2024-01-30 戴尔产品有限公司 用于渲染目标场景的方法、电子设备和计算机程序产品

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4056118B2 (ja) * 1997-12-26 2008-03-05 株式会社日立製作所 画像処理装置
CN100363932C (zh) * 2004-05-26 2008-01-23 鸿富锦精密工业(深圳)有限公司 点云三维处理系统及方法
US7817823B1 (en) * 2007-04-27 2010-10-19 Adobe Systems Incorporated Calculating shadow from area light sources using a spatially varying blur radius
US20090231327A1 (en) * 2008-03-12 2009-09-17 Harris Corporation Method for visualization of point cloud data
US20110115812A1 (en) * 2009-11-13 2011-05-19 Harris Corporation Method for colorization of point cloud data based on radiometric imagery
JP4796194B1 (ja) * 2010-03-31 2011-10-19 株式会社パスコ カーソルの表示方法およびカーソルの表示プログラム
US8547421B2 (en) * 2010-08-13 2013-10-01 Sharp Laboratories Of America, Inc. System for adaptive displays
CN102915559B (zh) * 2012-08-22 2015-04-29 北京航空航天大学 一种基于三维点云的实时透明物体gpu并行生成方法
US9996976B2 (en) * 2014-05-05 2018-06-12 Avigilon Fortress Corporation System and method for real-time overlay of map features onto a video feed
CN106973569A (zh) * 2014-05-13 2017-07-21 Pcp虚拟现实股份有限公司 生成和回放虚拟现实多媒体的方法、系统和装置
US9986154B2 (en) 2014-05-21 2018-05-29 Here Global B.V. Developing a panoramic image
CN105631927A (zh) * 2014-10-27 2016-06-01 富泰华工业(深圳)有限公司 点云套索选取系统及方法
JP6335389B2 (ja) * 2015-05-20 2018-05-30 三菱電機株式会社 点群画像生成装置および表示システム
US9665988B2 (en) 2015-09-24 2017-05-30 California Institute Of Technology Systems and methods for data visualization using three-dimensional displays
US20170263052A1 (en) * 2016-03-11 2017-09-14 Indoor Reality Method for generating an ordered point cloud using mobile scanning data
CN106408664B (zh) * 2016-08-30 2021-03-02 任少康 一种基于三维扫描装置的三维模型曲面重建方法
JP6868992B2 (ja) * 2016-09-27 2021-05-12 株式会社トプコン 画像処理装置、画像処理方法および画像処理用プログラム
EP3349182A1 (en) 2017-01-13 2018-07-18 Thomson Licensing Method, apparatus and stream for immersive video format
US11665308B2 (en) * 2017-01-31 2023-05-30 Tetavi, Ltd. System and method for rendering free viewpoint video for sport applications
CN107194983B (zh) * 2017-05-16 2018-03-09 华中科技大学 一种基于点云与影像数据的三维可视化方法和系统
CN107316325B (zh) * 2017-06-07 2020-09-22 华南理工大学 一种基于图像配准的机载激光点云与影像配准融合方法
CN108154560A (zh) * 2018-01-25 2018-06-12 北京小马慧行科技有限公司 激光点云标注方法、装置及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102659898B1 (ko) * 2022-11-30 2024-04-23 (주)비주얼신 모바일 단말을 이용한 3차원 발 모델 생성 방법 및 시스템

Also Published As

Publication number Publication date
US20200225356A1 (en) 2020-07-16
CN113272865B (zh) 2023-08-01
US11625861B2 (en) 2023-04-11
WO2020146664A1 (en) 2020-07-16
EP3891706A1 (en) 2021-10-13
US20210072394A1 (en) 2021-03-11
EP3891706A4 (en) 2021-12-15
CN113272865A (zh) 2021-08-17
US10845484B2 (en) 2020-11-24
US10353073B1 (en) 2019-07-16
JP2022517090A (ja) 2022-03-04
JP7235875B2 (ja) 2023-03-08

Similar Documents

Publication Publication Date Title
US11625861B2 (en) Point cloud colorization system with real-time 3D visualization
CN111508052B (zh) 三维网格体的渲染方法和装置
US11551418B2 (en) Image rendering of laser scan data
US11410320B2 (en) Image processing method, apparatus, and storage medium
US6983082B2 (en) Reality-based light environment for digital imaging in motion pictures
US20150325044A1 (en) Systems and methods for three-dimensional model texturing
US9129438B2 (en) 3D modeling and rendering from 2D images
Schütz et al. Real-time continuous level of detail rendering of point clouds
CN110248242B (zh) 一种图像处理和直播方法、装置、设备和存储介质
CN109523622B (zh) 一种非结构化的光场渲染方法
JP3549871B2 (ja) 描画処理装置及び方法、描画処理プログラムを記録した記録媒体、描画処理プログラム
EP0789893A1 (en) Methods and apparatus for rapidly rendering photo-realistic surfaces on 3-dimensional wire frames automatically
JP6679966B2 (ja) 三次元仮想空間提示システム、三次元仮想空間提示方法及びプログラム
CN114140566A (zh) 一种建筑图纸设计效果实时渲染方法
WO2022013342A1 (en) Direct volume rendering apparatus
WO2022133569A1 (en) Methods and system for reconstructing textured meshes from point cloud data
Güssefeld et al. Are reflectance field renderings appropriate for optical flow evaluation?
CN113409409A (zh) 图像处理方法、装置、电子设备和计算机可读存储介质
JP3712015B2 (ja) 画像作成装置および方法
Wang et al. An image-based texture mapping technique for apparel products exhibition and interior design
US6894696B2 (en) Method and apparatus for providing refractive transparency in selected areas of video displays
Bornik et al. Texture Minification using Quad-trees and Fipmaps.
JP2021068271A (ja) 画像処理システム、画像処理方法及びプログラム
Xu et al. Activepoints: acquisition, processing and navigation of large outdoor environments
JP2001005996A (ja) レイトレーシングにおける図形データ処理装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right