KR102332920B1 - 6 자유도 가상현실의 렌더링 시스템 및 방법 - Google Patents

6 자유도 가상현실의 렌더링 시스템 및 방법 Download PDF

Info

Publication number
KR102332920B1
KR102332920B1 KR1020210082208A KR20210082208A KR102332920B1 KR 102332920 B1 KR102332920 B1 KR 102332920B1 KR 1020210082208 A KR1020210082208 A KR 1020210082208A KR 20210082208 A KR20210082208 A KR 20210082208A KR 102332920 B1 KR102332920 B1 KR 102332920B1
Authority
KR
South Korea
Prior art keywords
viewpoint
main
view
visibility
rendering
Prior art date
Application number
KR1020210082208A
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 KR1020210082208A priority Critical patent/KR102332920B1/ko
Priority to US17/474,189 priority patent/US11615574B2/en
Application granted granted Critical
Publication of KR102332920B1 publication Critical patent/KR102332920B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Radar, Positioning & Navigation (AREA)

Abstract

6 자유도 가상현실의 렌더링 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 6 자유도 가상현실의 렌더링 시스템은 복수의 참조 시점 각각에 대해 주 시점이 응시하는 현재 관심 위치가 보이는지 여부를 판단하는 가시성 검사를 수행하고, 수행 결과에 따라 각 참조 시점의 비가시 프래그먼트 개수를 파악하여 가시성 정보를 생성하기 위한 가시성 검사 모듈; 복수의 참조 시점 각각에 대한 가시성 정보 및 기 설정된 선택기준을 기초로 현재 프레임의 렌더링 처리를 위한 최종 참조 시점을 선택하는 참조 시점 선택모듈; 및 최종 참조 시점에 대응하는 색상 영상 및 깊이 영상을 이용하여 영상 기반 렌더링 처리를 수행하기 위한 렌더링 처리 모듈을 포함한다.

Description

6 자유도 가상현실의 렌더링 시스템 및 방법{SYSTEM AND METHOD FOR RENDERING OF 6 DEGREE OF FREEDOM VIRTUAL REALITY}
본 발명의 실시예들은 6 자유도 가상현실의 렌더링 시스템 및 방법과 관련된다.
영상 기반 렌더링은 현실 장면을 촬영한 영상을 활용하여 실사에 가까운 시각 자극을 생성하는 기술이다. 이러한 기술은 빛과 재질의 복잡한 상호작용을 계산하는 대신 영상에 저장된 것을 활용하기 때문에 실시간 렌더링에 적합할 수 있다.
한편, 상술한 영상 기반 렌더링을 구현할 때, 시점이 평행 이동할 수 있는데 이러한 과정에서 가려진 곳이 드러나면서 나타나는 잡음, 왜곡 등의 시각 아티팩트(visual artifacts)가 발생할 수 있다.
대한민국 등록특허공보 제10-1451966호 (2014. 10. 10.)
본 발명의 실시예들은 최적의 참조 시점을 이용하여 360도 영상을 기반으로 실시간 6 자유도 가상현실을 렌더링 하기 위한 6 자유도 가상현실의 렌더링 시스템 및 방법을 제공하기 위한 것이다.
본 발명의 예시적인 실시예에 따르면, 6 자유도 가상현실의 렌더링 시스템은 3차원 영상 및 상기 3차원 영상에 매칭되는 3차원 위치를 포함하는 3차원 기하 정보를 이용하여 복수의 참조 시점 각각에 대해 주 시점이 응시하는 현재 관심 위치가 보이는지 여부를 판단하는 가시성 검사를 수행하고, 수행 결과에 따라 각 참조 시점의 비가시 프래그먼트 개수를 파악하여 가시성 정보를 생성하기 위한 가시성 검사 모듈; 상기 복수의 참조 시점 각각에 대한 상기 가시성 정보 및 기 설정된 선택기준을 기초로 현재 프레임의 렌더링 처리를 위한 최종 참조 시점을 선택하되, 상기 렌더링 처리를 위한 유효한 참조 시점을 선택한 후 선택된 상기 유효 참조 시점 각각에 표현 점수를 부여하여 상기 최종 참조 시점을 선택하는 참조 시점 선택모듈; 및 상기 최종 참조 시점에 대응하는 색상 영상 및 깊이 영상을 이용하여 영상 기반 렌더링 처리를 수행하기 위한 렌더링 처리 모듈을 포함한다.
상기 가시성 검사 모듈은, 상기 참조 시점을 기준으로 상기 참조 시점이 응시하는 깊이 정보를 생성하고, 생성된 상기 깊이 정보를 이용하여 깊이 큐브맵을 생성하되, 3차원 공간 상에 입력 기하가 위치된 상태에서 상기 참조 시점의 위치에 있는 영상 촬영기를 통해 상기 3차원 공간 상에서 상기 입력 기하까지의 거리인 상기 깊이 정보를 획득하고, 획득된 상기 깊이 정보를 하나의 영상에 모두 적용시켜 상기 깊이 큐브맵을 생성할 수 있다.
상기 가시성 검사 모듈은, 상기 깊이 큐브맵을 생성할 때, 기하 셰이더(geometry shader)와 변환 피드백(transform feedback)을 이용하여 점군(point cloud)으로부터 메시를 생성할 수 있다.
상기 가시성 검사 모듈은, 상기 주 시점이 응시할 수 있는 복수의 관심 위치를 기초로 관심 위치 정보를 생성하여 저장하고, 상기 참조 시점 각각에 대한 가시성 검사 시 상기 관심 위치 정보를 추출 및 이용할 수 있다.
상기 가시성 검사 모듈은, 상기 참조 시점 기준의 상기 깊이 큐브맵 및 상기 주 시점 기준의 상기 관심 위치 정보를 기초로 깊이 검사를 수행하여 상기 참조 시점에 대한 비가시 프래그먼트가 발생할 때마다 카운팅을 증가시켜 참조 시점별 상기 비가시 프래그먼트의 개수를 파악하되, 상기 참조 시점의 위치로부터 상기 주 시점의 현재 관심 위치 간의 거리가 상기 참조 시점의 깊이 거리 보다 긴 경우 해당 프래그먼트를 비가시 프래그먼트로 결정할 수 있다.
상기 참조 시점 선택모듈은, 전체 참조 시점 중 상기 주 시점으로부터 인접한 위치기준, 상기 주 시점의 시야 내에 포함되는 시야기준, 상기 위치기준과 상기 시야기준을 조합한 기준 및 임의 설정 기준 중 어느 하나를 기초로 상기 유효 참조 시점을 선택할 수 있다.
상기 위치기준과 상기 시야기준을 조합한 기준은, 전체 참조 시점 중 상기 주 시점을 기준으로 기 설정된 반지름 내부에 포함되고 상기 주 시점의 시야 절두체 내부에 포함되는 참조 시점을 상기 유효 참조 시점으로 선택하거나, 또는 상기 주 시점을 기준으로 상기 기 설정된 반지름 내부에 포함되고 상기 주 시점 기반 변형 시야 절두체 내부에 포함되는 참조 시점을 상기 유효 참조 시점으로 선택하거나, 또는 상기 주 시점에 인접한 기 설정된 개수에 포함되면서 상기 주 시점의 시야 절두체 내부에 포함되는 참조 시점을 상기 유효 참조 시점으로 선택하거나, 또는 상기 주 시점에 인접한 상기 기 설정된 개수에 포함되면서 상기 주 시점 기반 변형 시야 절두체 내부에 포함되는 참조 시점을 상기 유효 참조 시점으로 선택하는 기준일 수 있다.
상기 임의 설정 기준은, 상기 전체 참조 시점 중 상기 주 시점으로부터 일정 범위 내에 있는 참조 시점을 선별하고, 선별된 상기 참조 시점 중 기 설정된 인접한 범위 내에 있는 참조 시점을 선택하며, 미 선택된 나머지 참조 시점 중 상기 주 시점 기반 변형 시야 절두체 내에 포함되는 참조 시점을 추가로 선택하는 기준일 수 있다.
상기 참조 시점 선택모듈은, 선택된 상기 유효 참조 시점의 개수가 최소 요구 개수 기준 미만인 경우, 상기 주 시점 기준으로 인접한 기준으로 상기 유효 참조 시점을 추가 선택하고, 선택된 상기 유효 참조 시점의 개수가 최대 요구 개수 기준 이상인 경우, 상기 전체 참조 시점 중 상기 주 시점 기준으로 인접한 순으로 참조 시점을 선택하는 기준 또는 상기 주 시점 기준으로 인접한 기준과 먼 기준을 번갈아 참조 시점을 선택하는 기준을 기초로 상기 유효 참조 시점의 개수가 상기 최대 요구 개수 기준과 일치하도록 상기 유효 참조 시점을 선택할 수 있다.
상기 참조 시점 선택모듈은, 선택된 상기 유효 참조 시점 각각의 비가시 프래그먼트 개수 및 주 시점과 참조 시점 간의 변위를 기초한 표현 점수 산출 기준에 따라 유효 참조 시점별 표현 점수를 부여하여 상기 최종 참조 시점을 선택할 수 있다.
상기 참조 시점 선택모듈은, 상기 주 시점과 참조 시점 간의 변위를 산출할 때, 상기 주 시점과 참조 시점 간의 변위 벡터의 Lp 노름, 상기 주 시점과 참조 시점 간의 변위 크기의 지수함수, 상기 주 시점과 참조 시점 간의 변위 크기의 로그 함수 및 상기 주 시점과 참조 시점 간의 변위 크기의 기타 함수 중 어느 하나를 상기 주 시점과 상기 참조 시점 간의 거리로 결정할 수 있다.
상기 참조 시점 선택모듈은, 상기 참조 시점별 비가시 프래그먼트 개수와 상기 거리를 단일 값으로 변환하여 목적 함수를 결정하여 상기 참조 시점별 표현 점수를 생성하되, 상기 참조 시점별 비가시 프래그먼트 개수와 상기 거리를 가중합하여 상기 단일 값으로 환산하거나, 또는 상기 참조 시점별 비가시 프래그먼트 개수와 상기 거리를 순위합하여 상기 단일 값으로 환산할 수 있다.
상기 참조 시점 선택모듈은, 상기 표현 점수가 낮은 순서대로 상위 기 설정된 개수의 최종 참조 시점을 선택하거나, 또는 전체 유효 참조 시점 중 최종 참조 시점 간의 가시 영역이 중첩되지 않는 기준으로 상기 최종 참조 시점을 선택할 수 있다.
상기 렌더링 처리 모듈은, 상기 최종 참조 시점에서 관심 프래그먼트를 볼 수 있다고 가정할 때 주 시점과 참조 시점이 인접할수록 가중치를 높게 설정하는 제1 기준, 상기 최종 참조 시점에서 관심 프래그먼트를 볼 수 있다고 가정할 때 상기 관심 프래그먼트의 전역 공간 좌표와 상기 참조 시점이 인접할수록 가중치를 높게 설정하는 하는 제2 기준 및 상기 최종 참조 시점 각각의 가시성 검사 결과에 기초하여 가중치를 부여한 제3 기준 중 적어도 하나 이상을 포함하는 기준을 상기 최종 참조 시점의 색상을 선택할 때 반영할 수 있다.
본 발명의 다른 예시적인 실시예에 따르면, 6 자유도 가상현실의 렌더링 방법은 3차원 영상 및 상기 3차원 영상에 매칭되는 3차원 위치를 포함하는 3차원 기하 정보를 저장하는 단계; 상기 3차원 기하 정보를 이용하여 복수의 참조 시점 각각에 대해 주 시점이 응시하는 현재 관심 위치가 보이는지 여부를 판단하는 가시성 검사를 수행하는 단계; 수행 결과에 따라 각 참조 시점의 비가시 프래그먼트 개수를 파악하여 가시성 정보를 생성하는 단계; 상기 복수의 참조 시점 각각에 대한 상기 가시성 정보 및 기 설정된 선택기준을 기초로 현재 프레임의 렌더링 처리를 위한 최종 참조 시점을 선택하는 단계; 및 상기 최종 참조 시점에 대응하는 색상 영상 및 깊이 영상을 이용하여 영상 기반 렌더링 처리를 수행하는 단계를 포함한다.
상기 가시성 검사를 수행하는 단계는, 상기 참조 시점을 기준으로 상기 참조 시점이 응시하는 깊이 정보를 생성하는 단계; 생성된 상기 깊이 정보를 이용하여 깊이 큐브맵을 생성하는 단계; 상기 주 시점이 응시할 수 있는 복수의 관심 위치를 기초로 관심 위치 정보를 생성하여 저장하는 단계; 및 상기 참조 시점 기준의 상기 깊이 큐브맵 및 상기 주 시점 기준의 상기 관심 위치 정보를 기초로 깊이 검사를 수행하는 단계를 포함할 수 있다.
상기 가시성 정보를 생성하는 단계에서, 상기 깊이 검사 수행 시, 상기 참조 시점에 대한 비가시 프래그먼트가 발생할 때마다 카운팅을 증가시켜 참조 시점별 상기 비가시 프래그먼트의 개수를 파악할 수 있다.
상기 최종 참조 시점을 선택하는 단계는, 상기 렌더링 처리를 위한 유효한 참조 시점을 선택하는 단계; 및 선택된 상기 유효 참조 시점 각각에 표현 점수를 부여하여 상기 최종 참조 시점을 선택하는 단계를 포함할 수 있다.
상기 최종 참조 시점을 선택하는 단계에서, 선택된 상기 유효 참조 시점 각각의 비가시 프래그먼트 개수 및 주 시점과 참조 시점 간의 변위를 기초한 표현 점수 산출 기준에 따라 유효 참조 시점별 표현 점수를 부여하여 상기 최종 참조 시점을 선택할 수 있다.
본 발명의 실시예들에 따르면, 실시간 가시성 검사 수행을 통해 최적의 참조 시점을 선택하여 영상 기반 렌더링 시 반영하기 때문에, 360도 영상 기반 렌더링에서 6 자유도 시점 변화로 인해 발생하는 시점의 3차원 평행이동 시 발생하는 디스오클루전(disocclusion)과 주 시점과 참조 시점 사이의 거리 차이로 인해 발생하는 왜곡 등의 시각 아티팩트(visual artifacts)를 줄일 수 있다는 효과를 기대할 수 있다.
도 1은 본 발명의 일 실시예에 따른 렌더링 처리를 설명하기 위한 전체 개념도
도 2는 본 발명의 일 실시예에 따른 6 자유도 가상현실의 렌더링 시스템을 설명하기 위한 블록도
도 3은 본 발명의 일 실시예에 따른 렌더링 처리를 위해 입력되는 360도 파노라마 영상의 예시도
도 4는 본 발명의 일 실시예에 따른 깊이 큐브맵을 생성하는 방법을 설명하기 위한 개념도
도 5는 본 발명의 일 실시예에 따른 깊이 큐브맵의 예시와 이를 시각화한 예시도
도 6은 본 발명의 일 실시예에 따른 관심 위치 정보를 생성하는 방법을 설명하기 위한 개념도
도 7은 본 발명의 일 실시예에 따른 관심 위치정보를 시각화한 예시도
도 8 및 도 9는 본 발명의 일 실시예에 따른 가시성 검사 방법을 설명하기 위한 개념도
도 9는 본 발명의 일 실시예에 따른 가시성 검사 방법을 설명하기 위한 예시도
도 10은 본 발명의 일 실시예에 따른 가시성 텍스처를 시각화하여 나타낸 예시도
도 11 내지 도 13은 본 발명의 일 실시예에 따른 참조 시점을 선택하는 방법을 설명하기 위한 예시도
도 14는 본 발명의 일 실시예에 따른 새로운 시점 합성 결과의 일 예시도
도 15는 본 발명의 일 실시예에 따른 새로운 시점 합성 결과의 다른 예시도
도 16은 본 발명의 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
도 17은 본 발명의 일 실시예에 따른 6 자유도 가상현실의 렌더링 방법을 설명하기 위한 흐름도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1을 참고하면, 본 발명의 실시예들에서는 렌더링에 적용할 참조 시점을 선택하는 것과 선택된 참조 시점을 활용하여 새로운 시점 합성의 렌더링을 수행하는 것을 포함할 수 있다. 렌더링 시스템(200)은 참조 시점을 선택할 때, 실시간 가시성 검사를 수행하여 전체 참조 시점 중 최적의 참조 시점을 선택할 수 있으며, 이에 대한 상세 설명은 후술하기로 한다. 또한, 렌더링 시스템(200)은 새로운 시점 합성을 통해 영상 기반 렌더링을 수행할 때 지연 셰이딩(deferred shading)을 적용할 수 있다.
도 2는 본 발명의 일 실시예에 따른 6 자유도 가상현실의 렌더링 시스템을 설명하기 위한 블록도이다.
영상 촬영기(100)는 영상을 촬영하기 위한 구성일 수 있다. 본 발명의 실시예에서 개시하는 영상 촬영기(100)는 시야각이 90도로, 이를 이용하여 상하좌우전후 여섯 방향에 대해 제1 방향 기준(예를 들어, 가로) 360도, 제2 방향 기준(예를 들어, 세로) 180도를 촬영할 수 있다. 예를 들어, 영상 촬영기(100)는 카메라일 수 있으며, 이에 한정되지 않고, 영상 촬영이 가능한 구성이라면 모두 가능하다 할 것이다.
도 3은 영상 촬영기(100)를 통해 촬영되어 렌더링 처리를 위해 입력되는 360도 파노라마 영상의 예시도를 나타낸 것이다.
6 자유도 가상현실의 렌더링 시스템(200, 이하에서는 '렌더링 시스템'이라고 하기로 함)은 다수의 방향으로 촬영된 3차원 영상 및 이에 매칭되는 3차원 위치를 포함하는 3차원 기하 정보를 사전에 다수 개 저장할 수 있다.
이때, 3차원 영상은 제1 방향(예를 들어, 가로)으로 360도, 제2 방향(예를 들어, 세로)으로 180도의 영상을 포함하고 있는 것으로 정의할 수 있다. 상기 3차원 위치는 촬영된 공간 내 기 설정된 영점 위치를 기준으로 결정된 상대적인 3차원 위치를 의미할 수 있다. 즉, 렌더링 시스템(200)은 상술한 3차원 영상 및 이에 매칭되는 3차원 위치의 여러 쌍을 사전에 저장하여, 참조 시점의 가시성 검사 등 영상 기반 렌더링 처리 시 활용할 수 있는 것이다.
본 발명의 실시예들에서 개시하는 주 시점은 사용자의 시점을 의미하는 것으로서 위치와 방향을 포함하고 있는 시점이고, 참조 시점은 영상 촬영기(100)로 360도 촬영한 위치를 포함하고 있는 시점을 의미하는 것이다.
이때, 주 시점의 위치 및 방향은 위치센서, 가속도 센서, 자이로 센서, 나침반 센서, 모션인식 센서, 지자기 센서, 변위센서 및 GPS 센서 등을 포함한 센서를 통해 파악될 수 있으며, 이에 한정되지 않고, 주 시점, 즉, 사용자의 위치 및 응시 방향을 파악할 수 있는 센서라면 모두 적용 가능하다 할 것이다. 이러한 센서는 가상 현실을 구현하기 위한 헤드셋에 적용된 형태, 또는 사용자가 장착할 수 있는 웨어러블 센서(wearable sensor) 형태, 스마트폰 및 모바일 패드를 비롯한 각종 모바일 기기 형태로 구현될 수 있으며, 이에 한정되지 않는다. 한편, 가상 현실의 구현이 PC(personal computer)와 같은 유선 단말 상에서 이루어지는 경우, 주 시점의 위치 및 방향은 사용자가 키보드, 마우스 및 조이스틱(joy stick)을 비롯한 각종 입력 장치를 조작함에 따라 입력되는 정보를 통해 파악될 수 있다.
렌더링 시스템(200)은 복수 개의 참조 시점(전체 참조 시점) 중 주 시점의 위치에 인접한 것을 비롯하여 기 설정된 조건에 부합한 참조 시점이 렌더링과 관련이 있다고 판단하여 선택하고, 선택된 참조 시점의 영상에 적용된 색상 정보를 이용하여 렌더링을 수행할 수 있다.
본 발명의 실시예들에서는 전체 참조 시점 중 렌더링 처리를 위한 참조 시점을 선택할 때, 참조 시점 각각에 대해 가시성 검사를 수행할 수 있다.
상기 가시성 검사는 무한히 많은 영상을 촬영할 수 없기 때문에 영상을 촬영한 위치 정보만을 가지고 있는 상태에서 가려져 보이지 않는 곳이 있을 수 있기 때문에, 주 시점에서 응시하는 관심 위치를 참조 시점에서도 볼 수 있는지 여부를 판단하는 가시성 검사를 수행하는 것이다. 상기 가시성 검사는 깊이 검사라고도 할 수 있다. 상기 깊이는 주 시점에서 관측 가능한 관심 위치까지의 깊이를 기준으로, 참조 시점으로부터 상기 관심 위치까지의 깊이와 참조 시점이 볼 수 있는 깊이를 포함할 수 있다. 도 9를 참고하면, 참조 시점과 관심 위치(P) 사이에 벽과 같은 장애물이 위치하는 경우, 참조 시점은 실제로 장애물까지만 볼 수 있는데, 이를 참조 시점이 볼 수 있는 깊이라고 할 수 있다.
즉, 가시성 검사는 주 시점에서 응시하는 관심 위치를 참조 시점에서도 볼 수 있는지 여부를 판단하는 것일 수 있다. 이러한 원리로 참조 시점을 기준으로 가시성 검사를 수행하여 참조 시점별 프래그먼트의 가시 또는 비가시를 판단할 수 있다.
예를 들어, 의자에 착석하고 있는 A 사용자의 기준으로 탁자 밑은 보이지 않는데, A 사용자의 후방에 위치하는 B 사용자가 탁자 밑의 영상을 요청하는 상황이 발생할 수 있다. 이에, A 사용자는 탁자 밑이 보이도록 후방으로 이동할 수 있다. 이때, A 사용자를 기준으로 촬영된 제1 영상에서는 탁자 밑이 보이고, 제2 영상에서는 탁자 밑이 보이지 않을 수 있는 것이다.
상술한 A 사용자를 참조 시점, B 사용자를 주 시점이라고 할 때, 렌더링 시스템(200)은 참조 시점을 기준으로 보이는 깊이 정보를 모두 생성하는 것이다. 또한, 렌더링 시스템(200)은 주 시점에서 관측 가능한 관심 위치와 참조 시점 간의 거리를 파악할 수 있다.
도 2를 참고하면, 렌더링 시스템(200)은 가시성 검사 모듈(210), 참조 시점 선택모듈(220), 렌더링 처리 모듈(230) 및 저장 장치(240)를 포함할 수 있다.
추가로, 렌더링 시스템(200)은 상술한 영상 촬영기(100)를 추가로 더 구비할 수 있으며, 이에 한정되지 않고, 별도로 구현되는 것 역시 가능하다 할 것이다.
가시성 검사 모듈(210)은 3차원 영상 및 상기 3차원 영상에 매칭되는 3차원 위치를 포함하는 3차원 기하 정보를 이용하여 복수의 참조 시점 각각에 대해 주 시점이 응시하는 현재 관심 위치가 보이는지 여부를 판단하는 가시성 검사를 수행하고, 수행 결과에 따라 각 참조 시점의 비가시 프래그먼트 개수를 파악하여 가시성 정보를 생성하기 위한 구성일 수 있다.
가시성 검사 모듈(210)은 참조 시점을 기준으로 상기 참조 시점이 응시하는 깊이 정보를 생성하고, 생성된 상기 깊이 정보를 이용하여 깊이 큐브맵을 생성할 수 있다. 이때, 가시성 검사 모듈(210)은 3차원 공간 상에 입력 기하가 위치된 상태에서 참조 시점의 위치에 있는 영상 촬영기(100)를 통해 3차원 공간 상에서 입력 기하까지의 거리인 깊이 정보를 획득하고, 획득된 깊이 정보를 하나의 영상에 모두 적용시켜 깊이 큐브맵을 생성할 수 있다.
참조 시점의 위치는 고정되어 있기 때문에, 참조 시점을 기준으로 계산된 깊이 정보는 저장되어 재 활용될 수 있다. 이에, 가시성 검사 모듈(210)은 주 시점이 바뀌더라도 참조 시점의 동일한 깊이 정보를 활용할 수 있도록 깊이 큐브맵을 생성할 수 있다. 이를 위해, 가시성 검사 모듈(210)은 큐브맵을 깊이 어태치먼트로 갖는 프레임 버퍼(미도시)를 사용할 수 있다. 상술한 깊이 큐브맵은 참조 시점을 기준으로 제1 방향(예를 들어, 가로)으로 360도, 제2 방향(예를 들어, 세로)으로 180도로 촬영된 영상을 기초할 수 있다. 즉, 깊이 큐브맵은 참조 시점의 기준에서 바라 보는 깊이 정보를 의미할 수 있는 것이다.
도 4를 참고하면, 가시성 검사 모듈(210)은 3차원 공간 상에 입력 기하를 위치시키고 참조 시점 위치에 놓인 영상 촬영기(100)를 통해 촬영하여 3차원 공간 상에서의 거리를 획득할 수 있고, 이를 하나의 영상에 모두 적용시켜 깊이 큐브맵을 생성할 수 있다. 이때, 가시성 검사 모듈(210)은 기하 셰이더(geometry shader) 상에서 입력 기하를 상하좌우전후 여섯 방향에 대해 복제하여 한 번에 그릴 수 있다. 이를 통해 가시성 검사 모듈(210)은 단일 드로우콜(drawcall)로 깊이 큐브맵을 생성할 수 있다. 이때, 드로우콜은 그리기 요청을 의미하는 것일 수 있다.
상기 기하 셰이더는 점이나 선, 삼각형 등의 도형을 생성할 수 있는 기능을 포함할 수 있다. 기하 셰이더 프로그램은 정점 셰이더가 수행되고 난 뒤에 수행될 수 있다. 기하 셰이더 프로그램은 정점 셰이더를 거쳐 온 도형 정보를 입력받는데, 정점 3개가 기하 셰이더에 들어오면, 셰이더는 정점을 모두 없앨 수도 있고 더 많은 도형을 만들어 출력할 수도 있다. 기하 셰이더는 테셀레이션이나 그림자 효과, 큐브맵을 한 번의 처리로 렌더링 하는데 적용될 수 있다.
도 4를 참조하면, 가시성 검사 모듈(210)은 깊이 큐브맵을 생성할 때, 조밀한 깊이를 얻기 위해 기하 셰이더와 변환 피드백을 이용하여 점군(point cloud)으로부터 메시를 생성할 수 있다. 상기 메시는 두 개의 삼각형을 연결한 사각형태일 수 있다.
구체적으로, 3차원 기하는 점군으로 주어지는데, 이를 통해 어느 시점에서의 가시여부를 판단할 수 없다. 이러한 이유로, 각각의 점군을 4개의 점으로 복사하여 사각형으로 형성하고 이를 저장하여 필요할 때마다 이용할 수 있도록 하는 것이다. 이때, 복사하여 저장하는 점을 변환 피드백이라고 할 수 있다.
본 실시예들에서는 전체 참조 시점 각각에 대응하는 깊이 큐브맵을 생성한 후, 보조 기억장치(예를 들어, SSD(solid state drive))에 저장한 뒤 필요할 때 주 기억장치(예를 들어, GPU(graphics processing unit))로 불러올 수 있다. 이는 주 기억장치의 용량 문제로 각 참조 시점에 대한 깊이 큐브맵을 모두 저장할 수 없을 때, 보조 기억장치를 활용하는 것이다. 이 접근법은 장면을 구성하는 기하 정보가 클수록 효과가 클 수 있다. 본 실시예들에서는 하드웨어가 지원하는 텍스처 블록 압축 기술을 사용하여 보다 신속한 불러오기가 가능할 수 있도록 할 수 있다.
도 5는 깊이 큐브맵의 예시(a)와 이를 시각화한 것(b)을 나타내는 도면일 수 있다. 이때, (b)는 깊이 큐브맵의 등장방형 투영(equirectangular projection)을 시각화한 것일 수 있다. 등장방형 투영은 동서(easting)와 남북(northing) 방향이 직각을 이루는 투영법을 의미할 수 있다. 도 5에서, 하얀색일수록 상대적으로 멀고, 검은색일수록 상대적으로 가까운 것을 의미할 수 있다.
가시성 검사 모듈(210)은 주 시점이 응시할 수 있는 복수의 관심 위치를 기초로 관심 위치 정보를 생성하여 저장하고, 참조 시점 각각에 대한 가시성 검사 시 관심 위치 정보를 추출 및 이용할 수 있다. 이때, 관심 위치 정보는 주 시점 입장에서 볼 수 있는 위치를 의미할 수 있다.
도 6을 참고하면, 가시성 검사 모듈(210)은 주 시점에서 볼 수 있는 위치에 대해 각 참조 시점에서 가시성 검사를 수행할 때, 주 시점 기준의 관심 위치 정보를 미리 생성할 수 있다. 이때, 가시성 검사 모듈(210)은 관심 위치 정보를 생성할 때, 기하 버퍼(G-Buffer)를 활용할 수 있다. 이때, 기하 버퍼는 3차원 기하 정보를 나누어 저장하는 텍스처의 묶음을 의미할 수 있다.
도 6을 참고하면, 가시성 검사 모듈(210)은 3차원 기하 정보를 멀티 렌더 타겟(multi render target)하여 기하 버퍼에 저장할 수 있다. 이때, 렌더 타겟은 정보 출력의 대상이 되는 텍스처를 의미할 수 있고, 멀티 렌더 타겟은 단일 드로우콜에서 여러 개의 렌더 타겟에 정보를 출력하는 방법을 의미할 수 있다.
가시성 검사 모듈(210)은 주 시점이 볼 수 있는 위치가 한정되어 있음을 고려하여, 주 시점 기준의 관심 위치 정보를 미리 생성하여 기하 버퍼에 저장하고, 각 참조 시점에서 가시성 검사를 수행할 때, 기하 버퍼에 저장된 관심 위치 정보를 활용하는 것이다. 이때, 주 시점의 위치는 변동되지 않는다는 가정 하에 특정 주 시점에서 볼 수 있는 관심 위치 정보를 생성하는 것이다. 상술한 관심 위치 정보는 이후 렌더링 처리에서도 활용되어야 하는 정보로, 본 단계를 위한 추가 연산에 해당하지 않을 수 있다.
본 발명의 실시예들에서는 가상 현실 구현에 필요한 양안 렌더링을 좌안과 우안에 대응하는 두 개의 주 시점에 대해 위치 정보를 동시에 생성하여 처리할 수 있다. 전체 과정은 멀티 렌더 타겟을 통해 단일 드로우콜 만으로 수행될 수 있다.
도 6에서 도시하는 바와 같이, 기하 버퍼에는 위치 텍스처 뿐만 아니라, 표면에서의 수직 벡터를 포함하는 법선 텍스처 및 색상을 포함하는 반사율 텍스처도 포함될 수 있다.
도 7은 기하 버퍼 중 위치 텍스처에 해당하는 관심 위치 정보를 시각화하여 나타낸 예시도일 수 있다. 도 7은 관심 위치 정보인 기하 버퍼 중 위치 텍스처를 X, Y, Z축을 각각 적, 녹, 청색으로 시각화한 것을 나타내는 것이다.
상술한 과정을 통해, 본 발명의 실시예들에서는 주 시점에서 볼 수 있는 위치에 대해 각 참조 시점에서 가시성 검사를 수행할 때, 매 참조 시점 검사 시 전체 기하를 주 시점에 대해 반복해서 렌더링하는 일반적인 방법에 비해 계산복잡도를 줄여 연산이 단순화될 수 있으며, 이로 인해 렌더링 시간을 단축할 수 있다는 효과를 기대할 수 있다.
가시성 검사 모듈(210)은 참조 시점별로 가시성 검사를 수행한 결과, 비가시 상태를 체크하여 비가시 프래그먼트 개수를 집계할 수 있다. 이때, 비가시 프래그먼트 개수를 집계하는 과정은 하드웨어 가속을 통해 병렬적으로 수행될 수 있다. 각 프래그먼트의 가시성 판정은 병렬로 수행될 수 있다.
구체적으로, 가시성 검사 모듈(210)은 참조 시점 기준의 깊이 큐브맵 및 주 시점 기준의 관심 위치 정보를 기초로 깊이 검사를 수행하여 참조 시점에 대한 비가시 프래그먼트가 발생할 때마다 카운팅을 증가시켜 참조 시점별 비가시 프래그먼트의 개수를 파악할 수 있다.
이때, 가시성 검사 모듈(210)은 참조 시점의 위치로부터 주 시점의 현재 관심 위치 간의 거리가 참조 시점의 깊이 거리 보다 긴 경우 해당 프래그먼트를 비가시 프래그먼트로 결정할 수 있다.
도 8 및 도 9를 참고하면, 가시성 검사 모듈(210)은 참조 시점 기준의 거리(①)인 깊이 큐브맵 및 참조 시점의 위치와 주 시점의 현재 관심 위치 간의 거리(②)인 주 시점 기준의 위치 텍스처를 입력으로 수신할 수 있다. 이때, 주 시점의 현재 관심 위치는 주 시점이 현재 바라보고 있는 위치를 의미하는 것으로 정의할 수 있다.
도 8 및 도 9를 참고하면, 가시성 검사 모듈(210)은 도 9와 같이 깊이 검사를 통해 ② > ①이면 해당 참조시점의 프래그먼트에 대해서 가시성이 없다고 판단하고, ② ≤ ①이면 해당 참조시점의 프래그먼트에 대해서 가시성이 있다고 판단할 수 있다.
구체적으로, 가시성 검사 모듈(210)은 참조 시점 각각의 모든 프래그먼트에 대해 하기와 같은 과정을 통해 가시성 검사를 수행할 수 있다.
먼저, 가시성 검사 모듈(210)은 특정 프래그먼트
Figure 112021072933731-pat00001
에 대응하는 주 시점의 특정 관심 위치인 도 9의
Figure 112021072933731-pat00002
에 대해, 특정 참조 시점 위치인
Figure 112021072933731-pat00003
에서
Figure 112021072933731-pat00004
로 향하는 참조 시점 벡터
Figure 112021072933731-pat00005
를 계산할 수 있다.
다음, 가시성 검사 모듈(210)은 전역 좌표계에서 표현된
Figure 112021072933731-pat00006
Figure 112021072933731-pat00007
를 기준으로 하는 상대 좌표계에서 표현된 벡터
Figure 112021072933731-pat00008
로 변환할 수 있다.
다음, 가시성 검사 모듈(210)은
Figure 112021072933731-pat00009
의 깊이 큐브맵에서
Figure 112021072933731-pat00010
에 대응하는 깊이 값
Figure 112021072933731-pat00011
(①)을 획득할 수 있다.
다음, 가시성 검사 모듈(210)은
Figure 112021072933731-pat00012
에서
Figure 112021072933731-pat00013
까지의 거리에 해당하는
Figure 112021072933731-pat00014
의 길이(②)
Figure 112021072933731-pat00015
를 계산할 수 있다.
만약
Figure 112021072933731-pat00016
이면, 가시성 검사 모듈(210)은 프래그먼트
Figure 112021072933731-pat00017
에 대해 '비가시' 상태라고 판정할 수 있고,
Figure 112021072933731-pat00018
라면, 프래그먼트
Figure 112021072933731-pat00019
에 대해 '가시' 상태라고 판단할 수 있다.
가시성 검사 모듈(210)은 렌더링 성능 향상을 위해, 가시성 정보(비가시 또는 가시)를 텍스처에 저장하여 재활용할 수 있다. 이때, 가시성 정보는 식별정보가 부여되고 관련된 참조 시점 또는 프래그먼트의 식별정보와 매칭되어 저장됨은 당연하다 할 것이다. 가시성 검사 모듈(210)은 임의 개수의 참조 시점에 대응하는 가시성 텍스처를 동시에 생성하기 위해 배열 텍스처(Array Texture)와 이미지 로드/스토어 API를 활용할 수 있다. 상기 배열 텍스처는 각 밉맵(mipmap) 레벨에 동일한 크기의 이미지 배열이 포함된 텍스처로, 여러 계층으로 구성되며 각 계층에 텍셀(texel: texture element)을 저장할 수 있다. 상기 이미지 로드/스토어 API는 이미지를 임의로 읽고 쓸 수 있는 셰이더의 기능을 의미할 수 있다.
한 참조 시점의 가시성 정보는 3차원 텍스처 좌표를 통해 해당 참조 시점에 대응하는 계층에 저장될 수 있다. 이후 렌더링 시에는 텍스처 뷰 API를 활용해 배열 텍스처 내 각 계층을 개별 가시성 텍스처로 간주하여 이용할 수 있다. 이에, 특정 참조 시점의 가시성 텍스처만을 선별하여 접근할 수 있다. 도 10은 본 발명의 일 실시예에 따른 가시성 텍스처를 시각화하여 나타낸 예시도를 나타낸 것일 수 있다. 이때, 흑과 백은 각각 비가시와 가시에 대응될 수 있다.
가시성 검사 모듈(210)은 연산을 끝낸 순서대로 아토믹 카운터를 증가시켜 비가시 프래그먼트 개수를 계수할 수 있다. 이는, 여러 참조 시점에 대해 비가시 프래그먼트 계수를 동시에 수행할 수 있다는 효과를 기대할 수 있다. 또한, 다수의 주 시점도 동시에 처리할 수 있다. 이때, 동시는 상술한 바와 같이, 단일 드로우콜을 의미할 수 있다. 즉, 1회 그리기 요청을 통해 기 설정된 개수의 주 시점에 대한 기 설정된 개수의 참조 시점에서의 가시성을 모두 검사하는 것이 가능할 수 있다는 것이다.
또한, 가시성 검사 모듈(210)은 특정 참조시점에 대해 가시성이 없다고 판단될 때마다 아토믹 카운터를 증가시킬 수 있다. 즉, 아토믹 카운터는 참조 시점마다 주 시점의 관심 위치들 각각에 대해 참조 시점의 가시 여부를 체크하고 비가시 상태인 경우 카운팅하는 것일 수 있는 것이다. 3차원 공간 상의 주시점이 바라보는 위치 모두에 대해서 아토믹 카운팅을 수행하여 비가시 프래그먼트 개수를 체크하는 것이다. 이때, 상기 아토믹 카운터로 체크된 수가 비가시 프래그먼트의 개수를 의미하는 것일 수 있다.
참조 시점 선택모듈(220)은 복수의 참조 시점 각각에 대한 가시성 정보 및 기 설정된 선택기준을 기초로 현재 프레임의 렌더링 처리를 위한 최종 참조 시점을 선택하되, 렌더링 처리를 위한 유효한 참조 시점을 선택한 후 선택된 상기 유효 참조 시점 각각에 표현 점수를 부여하여 최종 참조 시점을 선택할 수 있다.
참조 시점 선택모듈(220)은 휴리스틱 기반으로 전체 참조 시점 중 유효한 참조 시점을 선택할 수 있다. 실시간 성능이 요구되는 상황에서 전체 참조 시점이 아닌 유효한 참조 시점을 선정하기 때문에, 연산량을 줄이는 동시에 연산 시간을 단축 시킬 수 있는 효과를 기대할 수 있다.
참조 시점 선택모듈(220)은 전체 참조 시점 중 주 시점으로부터 인접한 위치기준, 상기 주 시점의 시야 내에 포함되는 시야기준, 상기 위치기준과 상기 시야기준을 조합한 기준 및 임의 설정 기준 중 어느 하나를 기초로 유효 참조 시점을 선택할 수 있다.
일 예로, 참조 시점 선택모듈(220)은 전체 참조 시점 중 주 시점으로부터 인접한 위치기준을 기초로 유효 참조 시점으로 선택할 수 있다.
참조 시점 선택모듈(220)은 주 시점의 위치로부터 특정 영역(예를 들어, 특정 반지름(R)) 내에 포함되는 참조 시점을 유효 참조 시점으로 선택하거나, 또는 주 시점의 위치로부터 인접한 기 설정된 개수(예를 들어, K개)의 참조 시점을 유효 참조 시점으로 선택할 수 있다.
다른 예로, 참조 시점 선택모듈(220)은 전체 참조 시점 중 주 시점의 시야와 관계가 있는 참조 시점을 유효 참조 시점으로 선택할 수 있다.
참조 시점 선택모듈(220)은 특정 시점 변환과 투영 변환 쌍으로 시야 절두체를 정의하고 클리핑(clipping)을 수행하여 시야에 포함되는 참조 시점만을 선택할 수 있다. 상기 특정 시점 변환은 주 시점의 눈의 위치와 주 시점이 보고 있는 방향을 의미하고, 투영 변환은 주 시점이 바라보는 각도를 의미할 수 있다. 상기 클리핑은 시야 외부의 물체를 추려내어 그리지 않도록 하는 것을 의미할 수 있다.
이때, 참조 시점 선택모듈(220)은 주 시점과 동일한 시점 변환 및 투영 변환을 사용하면 주 시점의 시야에 포함되는 참조 시점을 선택할 수 있다. 이때, 투영 변환은 변경하는 것이 가능할 수 있다. 예를 들어, 참조 시점 선택모듈(220)은 주 시점을 기준으로 시야를 더 넓게 하거나(더 넓은 FOV(field of view)), 가장 가까운 거리를 조금 더 멀게 이동시키거나(더 먼 Z Near), 또는 가장 먼 거리를 더 가까이 이동(더 가까운 Z Far)시켜 투영 변환을 변경할 수 있는 것이다. 상기 Z Near는 주 시점을 기준으로 가장 가까이 어디까지 볼 것인지를 의미하는 것이고, Z Far는 주 시점을 기준으로 가장 멀리 어디까지 볼 것인지를 의미하는 것일 수 있다.
또 다른 예로, 참조 시점 선택모듈(220)은 상술한 위치기준과 시야기준을 조합한 기준을 기초로 유효 참조 시점을 선택하되, 아래와 같은 4가지 경우를 통해 참조 시점을 선택할 수 있다.
첫 번째로, 참조 시점 선택모듈(220)은 전체 참조 시점 중 주 시점을 기준으로 기 설정된 반지름 내부에 포함되고 주 시점의 시야 절두체 내부에 포함되는 참조 시점을 유효 참조 시점으로 선택할 수 있다.
두 번째로, 참조 시점 선택모듈(220)은 전체 참조 시점 중 주 시점을 기준으로 기 설정된 반지름 내부에 포함되고 주 시점 기반 변형 시야 절두체 내부에 포함되는 참조 시점을 유효 참조 시점으로 선택할 수 있다. 이때, 주 시점 기반 변형 시야 절두체는 주 시점을 기반으로 임의의 변경된 시야가 반영된 것을 의미할 수 있다. 예를 들어, 주 시점 기반 변형 시야 절두체는 주 시점의 시야 절두체의 FOV(Field of View)와 같거나 더 넓은 FOV, 주 시점의 시야 절두체의 Z Near과 같거나 더 먼 Z Near 및 주 시점의 시야 절두체의 Z Far와 같거나 더 가까운 Z Far 등을 포함할 수 있다.
세 번째로, 참조 시점 선택모듈(220)은 전체 참조 시점 중 주 시점에 인접한 기 설정된 개수(예를 들어, K개)에 포함되면서 주 시점의 시야 절두체 내부에 포함되는 참조 시점을 유효 참조 시점으로 선택할 수 있다.
네 번째로, 참조 시점 선택모듈(220)은 전체 참조 시점 중 상기 주 시점에 인접한 기 설정된 개수(예를 들어, K개)에 포함되면서 주 시점 기반 변형 시야 절두체 내부에 포함되는 참조 시점을 유효 참조 시점으로 선택할 수 있다.
또 다른 예로, 도 11을 참조하면, 참조 시점 선택모듈(220)은 전체 참조 시점 중 주 시점으로부터 일정 범위(도 11의 외부 범위 r1) 내에 있는 참조 시점을 선별하고, 선별된 참조 시점 중 기 설정된 인접한 범위(내부 범위(r2) < 외부 범위(r1)) 내에 있는 참조 시점을 먼저 선택할 수 있다. 참조 시점 선택모듈(220)은 선택되지 않은 나머지 참조 시점 중 주 시점 기반 변형 시야 절두체 내에 들어오는 참조 시점을 추가로 선택할 수 있다. 예를 들어, 상기 주 시점 기반 변형 시야 절두체는 주 시점의 시야 절두체의 FOV(Field of View)와 같거나 더 넓은 FOV, 주 시점의 시야 절두체의 Z Near과 같거나 더 먼 Z Near 및 주 시점의 시야 절두체의 Z Far와 같거나 더 가까운 Z Far 등을 포함할 수 있다. 상술한 r1 및 r2는 운용자에 따라 임의로 설정할 수 있다.
참조 시점 선택모듈(220)은 상술한 과정에서 선택된 유효 참조 시점의 개수가 최소 요구 개수(Min K) 기준 미만인 경우, 주 시점 기준으로 인접한 기준으로 유효 참조 시점을 추가로 선택할 수 있다. 참조 시점 선택모듈(220)은 상술한 과정에서 선택된 유효 참조 시점의 개수가 최대 요구 개수 기준 이상인 경우, 전체 참조 시점 중 주 시점 기준으로 인접한 순으로 참조 시점을 선택하는 기준, 또는 주 시점 기준으로 인접한 기준과 먼 기준을 번갈아 참조 시점을 선택하는 기준을 기초로 유효 참조 시점의 개수가 최대 요구 개수 기준과 일치하도록 유효 참조 시점을 선택할 수 있다. 이는, 운용자에 따라 변경 또는 추가 가능하다 할 것이다.
참조 시점 선택모듈(220)은 상술한 방법을 통해 유효한 참조 시점만을 표본 추출할 수 있다. 이때, 효율적인 공간 질의를 위한 가속 구조를 사용할 수 있다. 예를 들어, 가속 구조는 k-d tree, octree 및 R tree 등을 포함할 수 있으며, 이에 한정되지 않는다.
예를 들어, 참조 시점 선택모듈(220)은 100개의 최초 참조 시점으로부터 상술한 과정을 통해 14개의 유효 참조 시점을 선택할 수 있고, 이하의 과정을 통해 최적의 최종 참조 시점 4개를 선택할 수 있는 것이다.
참조 시점 선택모듈(220)은 선택된 유효 참조 시점 각각의 비가시 프래그먼트 개수 및 주 시점과 참조 시점 간의 변위를 기초한 표현 점수 산출 기준에 따라 유효 참조 시점별 표현 점수를 부여하여 최적의 참조 시점 집합, 즉, 최종 참조 시점을 선택할 수 있다. 이때, 표현 점수는 목적 함수로 정의되며, 이 목적 함수를 최소화하는 것이 최종 참조 시점에 해당할 수 있는 것이다.
본 발명의 실시예들에서는, 하기와 같이 두 항으로부터 유도되는 목적 함수로 구성될 수 있다. 표현 점수 산출을 위한 목적 함수에 적용되는 하나는 가시성 검사로 도출된 비가시 프래그먼트 개수이고, 다른 하나는 주 시점과 참조 시점 간의 변위일 수 있으며, 이를 수학식 1과 같이 일반화하여 나타낼 수 있다.
[수학식 1]
표현 점수 = f(비가시 프래그먼트 개수, 주 시점과 참조 시점 간의 변위)
주 시점과 참조 시점이 일치한다면 시각적 왜곡이 발생하지 않는 100% 정확한 렌더링 결과를 획득할 텐데, 주 시점과 참조 시점이 일치하지 않기 때문에 시각적 왜곡이 발생할 수 있는 것이다. 이에, 상술한 목적 함수를 최소화하는 참조 시점 집합을 사용하여 비가시 프래그먼트 개수를 최소화하고, 주 시점과 참조 시점의 거리 차인 변위로 인한 시각적 왜곡을 최소화할 수 있는 것이다.
상술한 표현 점수는 다양하게 정의될 수 있다. 먼저, 주 시점과 참조 시점 사이의 거리를 구하는 방법에 따라 달라질 수 있다.
참조 시점 선택모듈(220)은 주 시점과 참조 시점 간의 변위를 산출할 때, 상기 주 시점과 참조 시점 간의 변위 벡터의 Lp 노름(p는 0, 1, 2, ... , 무한대), 상기 주 시점과 참조 시점 간의 변위 크기의 지수함수, 상기 주 시점과 참조 시점 간의 변위 크기의 로그 함수 및 상기 주 시점과 참조 시점 간의 변위 크기의 기타 함수 중 어느 하나를 상기 주 시점과 상기 참조 시점 간의 거리로 결정할 수 있다.
상술한 원리로, 수학식 1의 주 시점과 참조 시점 간의 변위는 하기 수학식 2 내지 4로 정의될 수 있다. 상술한 수학식 1의 주 시점과 참조 시점 간의 변위는 거리벡터를 의미할 수 있고, 수학식 2 내지 4의 거리는 거리벡터의 크기를 의미할 수 있다.
[수학식 2]
거리 = || 주 시점 - 참조 시점 ||p,
Figure 112021072933731-pat00020
[수학식 3]
거리 = log(1 + || 주 시점 - 참조 시점 ||p)
[수학식 4]
거리 = 1 - exp(- || 주 시점 - 참조 시점 ||p)
한편, 주 시점과 참조 시점 간의 변위는 상술한 수학식 2 내지 4 이외에도 기타 변위로부터 유도 가능한 거리 함수 등으로 정의되는 것 역시 가능하다 할 것이다.
참조 시점 선택모듈(220)은 참조 시점별 비가시 프래그먼트 개수와 상술한 거리를 단일 값으로 변환하여 목적 함수를 결정하여 참조 시점별 표현 점수를 생성할 수 있다. 이때, 참조 시점 선택모듈(220)은 비가시 프래그먼트 개수와 거리를 단일 값으로 나타내는 방법에 따라 목적 함수를 다르게 할 수 있다.
참조 시점 선택모듈(220)은 하기 수학식 5 및 6과 같이, 두 항인 참조 시점별 비가시 프래그먼트 개수와 거리를 가중합하여 단일 값으로 환산하거나, 또는 참조 시점별 비가시 프래그먼트 개수와 거리를 순위합하여 상기 단일 값으로 환산할 수 있다. 이때, 수학식 5는 두 항을 가중합하여 단일 값으로 환산한 것이고, 수학식 6은 두 항을 순위합하여 단일 값으로 환산한 것일 수 있다. 이때, 가중합은 운용자에 의해서 임의로 설정된 가중치가 적용되어 산출될 수 있다.
[수학식 5]
목적 함수 = a * (비가시 프래그먼트 개수) + b * (거리)
[수학식 6]
목적 함수 = RANK(비가시 프래그먼트 개수) + RANK(거리)
수학식 5 및 6에서, 거리는 수학식 2 내지 4에 개시된 거리를 의미할 수 있다. 상기 a와 b는 가중치를 의미할 수 있다.
참조 시점 선택모듈(220)은 장면 특성과 하드웨어 성능에 따라 2가지 방법으로 최적의 최종 참조 시점을 선택할 수 있다.
일 예로, 참조 시점 선택모듈(220)은 표현 점수가 낮은 순서대로 상위 기 설정된 개수의 최종 참조 시점을 선택할 수 있다. 이는, 표현 점수를 한 번만 계산하기 때문에 매우 효율적일 수 있다. 이때, 표현 점수가 낮을수록 표현 점수가 좋다고 정의할 수 있다.
다른 예로, 참조 시점 선택모듈(220)은 참조 시점 사이의 상호작용을 고려하여 전체 유효 참조 시점 중 최종 참조 시점 간의 가시 영역이 중첩되지 않는 기준으로 최종 참조 시점을 선택할 수 있다. 이때, 참조 시점 선택모듈(220)은 참조 시점을 하나 선택할 때마다 나머지 참조 시점의 표현 점수를 새로 계산할 수 있다. 이는, 먼저 선택된 참조 시점이 볼 수 있는 프래그먼트를 비가시 프래그먼트 계수 과정에서 제외하기 위한 것이다. 상술한 새로 계산한다는 것은 비가시 프래그먼트를 계수하는 것부터 재 계산한다는 것을 의미할 수 있다. 이때, 이미 선택된 참조 시점의 가시 영역에 대한 가시성 검사는 생략하여, 연산 단계를 간소화할 수 있다.
즉, 참조 시점 선택모듈(220)은 최종 참조 시점 간에 가시 영역의 중첩을 배제하고, 서로 중첩되지 않는 가시 영역이 보다 많이 반영되어 렌더링 처리가 이루어질 수 있도록 하기 위한 것이다.
상술한 최종 참조 시점을 선택하는 과정에서, 참조 시점 선택모듈(220)은 스텐실 버퍼 또는 텍스처(이하 스텐실)에 가시성 정보를 저장하여 활용할 수 있다. 상기 스텐실 버퍼는 각 프래그먼트에 대해 임의의 정보를 기록하여 연산에 활용하기 위한 저장 공간을 의미할 수 있다.
구체적으로, 참조 시점 선택모듈(220)은 다음과 같은 알고리즘을 통해 최종 참조 시점을 선택할 수 있다.
먼저, 참조 시점 선택모듈(220)은 스텐실에 모든 프래그먼트를 비가시 상태로 기록할 수 있다.
두 번째로, 참조 시점 선택모듈(220)은 유효 참조 시점 집합
Figure 112021072933731-pat00021
에 대해 가시성 검사를 수행할 수 있다. 이때, 각 프래그먼트 f에 대해 스텐실에 f가 '가시'로 기록된 경우 폐기(discard)할 수 있다. 만약, 각 프래그먼트 f에 대해 스텐실에 f가 '가시'로 기록되지 않은 경우, 각 유효 참조 시점
Figure 112021072933731-pat00022
에 대해 다음의 제1 과정과 제2 과정을 수행할 있다. 이때, 제1 과정은
Figure 112021072933731-pat00023
기준으로 f의 가시성을 판정하고
Figure 112021072933731-pat00024
의 가시성 텍스처를 갱신하는 것이고, 제2 과정은
Figure 112021072933731-pat00025
기준으로 f가 '비가시'라면
Figure 112021072933731-pat00026
의 아토믹 카운터를 증가시키는 것일 수 있다.
세 번째로, 참조 시점 선택모듈(220)은 가시성 검사 결과를 토대로 각
Figure 112021072933731-pat00027
에 표현 점수를 부여할 수 있다.
네 번째로, 참조 시점 선택모듈(220)은 표현 점수를 바탕으로 최종 참조 시점
Figure 112021072933731-pat00028
을 하나 선택할 수 있다.
다섯 번째로, 참조 시점 선택모듈(220)은
Figure 112021072933731-pat00029
의 '가시' 위치를 스텐실에 기록하고
Figure 112021072933731-pat00030
Figure 112021072933731-pat00031
에서 제외할 수 있다.
여섯 번째로, 참조 시점 선택모듈(220)은 종료 기준을 만족할 때까지 상술한 두 번째부터 다섯 번째 과정을 반복 수행할 수 있다.
일 예로, 상술한 종료 기준은 목표 참조 시점 개수를 만족할 경우 알고리즘을 종료하는 것을 포함할 수 있다. 예를 들어, 총 8개의 최종 참조 시점을 선택할 경우 알고리즘을 종료할 수 있는 것이다.
다른 예로, 종료 기준은 스텐실에 기록된 비가시 프래그먼트 비율이 문턱값 기준을 만족할 경우 알고리즘을 종료하는 것을 포함할 수 있다. 예를 들어, 95% 이상의 프래그먼트가 표현 가능할 경우 알고리즘을 종료할 수 있는 것이다.
또 다른 예로, 종료 기준은 상술한 2가지 방법을 조합할 수 있다. 예를 들어, 95% 이상의 프래그먼트를 표현할 수 있을 때까지 최종 참조 시점 선택을 반복하되, 목표 참조 시점 개수(예를 들어, 총 8개)만큼 선택한 경우 알고리즘을 종료할 수 있는 것이다.
상술한 최종 참조 시점 선택 알고리즘 종료 시점의 스텐실 정보의 예시를 시각화하여 나타낸 것은 도 12와 같을 수 있다. 이때, 흑과 백은 각각 비가시와 가시에 대응될 수 있다.
렌더링 처리 모듈(230)은 선택된 최종 참조 시점에 대응하는 색상 영상과 깊이 영상을 활용하여 영상 기반 렌더링을 수행할 수 있다. 이때, 최종 참조 시점에 대응하는 색상 영상은 360도 색상 영상일 수 있다. 즉, 렌더링 처리 모듈(230)은 최종 참조 시점에 대응하는 색상을 추출하고 이에 대한 위치 재조합을 통해 렌더링을 수행하는 것이다.
구체적으로, 렌더링 처리 모듈(230)은 참조 시점에 대응하는 360도 영상 텍셀을 가중치 블렌딩하여 최종 색상을 계산할 수 있다. 이때, 렌더링 처리 모듈(230)은 주 시점과 참조 시점 및 관심 프래그먼트의 전역 공간 위치를 고려하여 가중치를 설정하고, 이를 적용할 수 있다. 이때, 관심 프래그먼트는 주 시점에서 바라보는 관심 위치의 프래그먼트를 의미할 수 있다.
일 예로, 렌더링 처리 모듈(230)은 최종 참조 시점에서 관심 프래그먼트를 볼 수 있다고 가정할 때 주 시점과 참조 시점이 인접할수록 가중치를 높게 설정하는 제1 기준을 최종 참조 시점의 색상을 선택할 때 반영할 수 있다.
다른 예로, 렌더링 처리 모듈(230)은 상기 최종 참조 시점에서 관심 프래그먼트를 볼 수 있다고 가정할 때 상기 관심 프래그먼트의 전역 공간 좌표와 상기 참조 시점이 인접할수록 가중치를 높게 설정하는 하는 제2 기준을 최종 참조 시점의 색상을 선택할 때 반영할 수 있다.
또 다른 예로, 렌더링 처리 모듈(230)은 최종 참조 시점 각각의 가시성 검사 결과에 기초하여 가중치를 부여한 제3 기준을 최종 참조 시점의 색상을 선택할 때 반영할 수 있다.
특정 최종 참조 시점에서 관심 프래그먼트를 볼 수 없다면, 렌더링 처리 모듈(230)은 해당 최종 참조 시점의 가중치를 0으로 결정하는 것이다.
상술한 조건들을 수학식으로 표현하면 수학식 7 내지 10과 같을 수 있다.
[수학식 7]
출력 색상 = (정규화 상수) * Σi(색상i * 가중치i * 가시성i)
[수학식 8]
정규화 상수 = 1 / Σi(가중치i * 가시성i)
[수학식 9]
가중치 = f(주 시점 위치, 참조 시점 위치, 관심 프래그먼트 위치) → R
[수학식 10]
가시성 = 보이면 1, 보이지 않으면 0
상기 i는 참조 시점을 의미할 수 있다. 또한, 상술한 수학식 7 내지 수학식 10은 하나의 픽셀에 대한 것일 수 있다. 상기 관심 프래그먼트 위치는 주 시점에서 바라보는 현재 관심 위치를 의미할 수 있다. 상기 R은 실수일 수 있다.
가중치 함수를 정의하는 방법에 따라 렌더링 처리 시 출력 색상이 달라질 수 있다.
도 13을 참고하면, 렌더링 처리 모듈(230)은 주 시점 위치 A, 참조 시점 위치 B, 관심 프래그먼트 위치 C를 통해 형성된 영역의 넓이(삼각형 ABC의 넓이)를 기초한 수학식 11 및 12의 가중치 함수를 정의할 수 있다.
[수학식 11]
가중치 = exp(- 삼각형 ABC의 넓이)
[수학식 12]
가중치 = exp(- 삼각형 ABC의 넓이의 제곱)
상기 삼각형 ABC의 넓이는 두 시점 A와 B가 일치할 때(도 13의 A와 B') 또는 두 시선 AC와 BC가 일치할 때(도 13의 AC와 B'C, 또는 AC와 B"C) 0일 수 있다. 이 때 가중치는 1이 될 수 있다. 삼각형 ABC의 넓이는 0 또는 작을수록 렌더링 결과의 품질이 상대적으로 양호할 수 있다.
반대로, 세 점 ABC가 서로 멀리 떨어질 경우 삼각형 ABC의 넓이는 증가하고, 이 때 가중치는 0일 수 있는 것이다. 이때, 삼각형 ABC의 넓이의 제곱을 적용할 경우 연산이 상대적으로 빠를 수 있다는 효과를 기대할 수 있다.
도 14는 렌더링 처리 결과인 새로운 시점 합성 결과의 예시를 나타낸 것일 수 있고, 도 15는 렌더링 처리 결과인 새로운 시점 합성 결과의 다른 예시를 나타낸 것일 수 있다.
저장 장치(240)는 렌더링 시스템(200)의 동작과 관련된 각종 정보를 저장할 수 있는 구성일 수 있다. 도시하지 않았지만, 저장 장치(240)는 정보를 저장하는 형태에 따라 상술한 프레임 버퍼, 보조 기억장치, 주 기억장치, 기하 버퍼 등을 포함할 수 있다.
도 16은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 렌더링 시스템(200)일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
도 17은 본 발명의 일 실시예에 따른 6 자유도 가상현실의 렌더링 방법을 설명하기 위한 흐름도이다. 도 17에 도시된 방법은 예를 들어, 전술한 렌더링 시스템(200)에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
S101 단계에서, 렌더링 시스템(200)은 3차원 영상 및 상기 3차원 영상에 매칭되는 3차원 위치를 포함하는 3차원 기하 정보를 저장할 수 있다.
S103 단계에서, 렌더링 시스템(200)은 3차원 기하 정보를 이용하여 복수의 참조 시점 각각에 대해 주 시점이 응시하는 현재 관심 위치가 보이는지 여부를 판단하는 가시성 검사를 수행할 수 있다.
이때, 렌더링 시스템(200)은 참조 시점을 기준으로 참조 시점이 응시하는 깊이 정보를 생성할 수 있다. 또한, 렌더링 시스템(200)은 생성된 깊이 정보를 이용하여 깊이 큐브맵을 생성할 수 있다. 또한, 렌더링 시스템(200)은 주 시점이 응시할 수 있는 복수의 관심 위치를 기초로 관심 위치 정보를 생성하여 저장할 수 있다. 렌더링 시스템(200)은 참조 시점 기준의 깊이 큐브맵 및 주 시점 기준의 관심 위치 정보를 기초로 깊이 검사를 수행할 수 있다.
또한, 렌더링 시스템(200)은 수행 결과에 따라 각 참조 시점의 비가시 프래그먼트 개수를 파악하여 가시성 정보를 생성할 수 있다.
이때, 렌더링 시스템(200)은 상술한 깊이 검사 수행 시, 참조 시점에 대한 비가시 프래그먼트가 발생할 때마다 카운팅을 증가시켜 참조 시점별 비가시 프래그먼트의 개수를 파악할 수 있다.
S105 단계에서, 렌더링 시스템(200)은 복수의 참조 시점 각각에 대한 가시성 정보 및 기 설정된 선택기준을 기초로 현재 프레임의 렌더링 처리를 위한 최종 참조 시점을 선택할 수 있다.
이때, 렌더링 시스템(200)은 렌더링 처리를 위한 유효한 참조 시점을 선택할 수 있다. 렌더링 시스템(200)은 선택된 유효 참조 시점 각각에 표현 점수를 부여하여 최종 참조 시점을 선택할 수 있다. 구체적으로, 렌더링 시스템(200)은 선택된 유효 참조 시점 각각의 비가시 프래그먼트 개수 및 주 시점과 참조 시점 간의 변위를 기초한 표현 점수 산출 기준에 따라 유효 참조 시점별 표현 점수를 부여하여 최종 참조 시점을 선택할 수 있다.
S107 단계에서, 렌더링 시스템(200)은 최종 참조 시점에 대응하는 색상 영상 및 깊이 영상을 이용하여 영상 기반 렌더링 처리를 수행할 수 있다.
이때, 최종 참조 시점에 대응하는 색상 영상은 360도 색상 영상일 수 있다. 즉, 렌더링 시스템(200)은 최종 참조 시점에 대응하는 색상을 추출하고 이에 대한 위치 재조합을 통해 렌더링을 수행하는 것이다.
구체적으로, 렌더링 시스템(200)은 참조 시점에 대응하는 360도 영상 텍셀을 가중치 블렌딩하여 최종 색상을 계산할 수 있다. 이때, 렌더링 시스템(200)은 주 시점과 참조 시점 및 관심 프래그먼트의 전역 공간 위치를 고려하여 가중치를 설정하고, 이를 적용할 수 있다. 이때, 관심 프래그먼트는 주 시점에서 바라보는 관심 위치의 프래그먼트를 의미할 수 있다.
본 발명의 실시예들은 몰입감을 저해하는 요소인 시점 평행이동 시 가려진 영역이 드러나며 발생하는 시각적 왜곡을 줄일 수 있다. 또한, 본 발명의 실시예들은 실시간 성능 제공이 가능하여 사용자 경험을 해치지 않고 더욱 다양한 상호작용을 가능할 수 있도록 할 수 있다. 상술한 본 발명의 특징들로 인해, 6 자유도 가상현실 환경에서 렌더링 성능이 향상되어 사용자에게 양호한 성능의 몰입감을 제공할 수 있다. 또한, 본 발명의 실시예들에서 개시하는 실시간 가시성 검사 기법은 다른 시각 컴퓨팅 응용에도 활용될 수 있음은 당연하다 할 것이다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 영상 촬영기
200: 렌더링 시스템
210: 가시성 검사 모듈
220: 참조 시점 선택모듈
230: 렌더링 처리 모듈
240: 저장 장치

Claims (19)

  1. 3차원 영상 및 상기 3차원 영상에 매칭되는 3차원 위치를 포함하는 3차원 기하 정보를 이용하여 영상 촬영기로 360도 촬영한 위치를 포함하는 복수의 참조 시점 각각에 대해 주 시점이 응시하는 현재 관심 위치가 보이는지 여부를 판단하는 가시성 검사를 수행하고, 수행 결과에 따라 각 참조 시점의 비가시 프래그먼트 개수를 파악하여 가시성 정보를 생성하기 위한 가시성 검사 모듈;
    상기 복수의 참조 시점 각각에 대한 상기 가시성 정보 및 기 설정된 선택기준을 기초로 현재 프레임의 렌더링 처리를 위한 최종 참조 시점을 선택하되, 상기 렌더링 처리를 위한 유효한 참조 시점을 선택한 후 선택된 상기 유효 참조 시점 각각에 표현 점수를 부여하여 상기 최종 참조 시점을 선택하는 참조 시점 선택모듈; 및
    상기 최종 참조 시점에 대응하는 360도 색상 영상 및 깊이 영상을 이용하여 영상 기반 렌더링 처리를 수행하되, 상기 최종 참조 시점에 대응하는 360도 영상 텍셀에 상기 주 시점과 상기 참조 시점 및 관심 프래그먼트의 전역 공간 위치를 고려하여 설정한 가중치를 적용하여 최종 색상을 계산하는 렌더링 처리 모듈을 포함하고,
    상기 가시성 검사 모듈은, 상기 주 시점이 응시할 수 있는 복수의 관심 위치를 기초로 관심 위치 정보를 생성하여 저장하고, 상기 참조 시점 각각에 대한 가시성 검사 시 상기 관심 위치 정보를 추출 및 이용하는 6 자유도 가상현실의 렌더링 시스템.
  2. 청구항 1에 있어서,
    상기 가시성 검사 모듈은,
    상기 참조 시점을 기준으로 상기 참조 시점이 응시하는 깊이 정보를 생성하고, 생성된 상기 깊이 정보를 이용하여 깊이 큐브맵을 생성하되, 3차원 공간 상에 입력 기하가 위치된 상태에서 상기 참조 시점의 위치에 있는 상기 영상 촬영기를 통해 상기 3차원 공간 상에서 상기 입력 기하까지의 거리인 상기 깊이 정보를 획득하고, 획득된 상기 깊이 정보를 하나의 영상에 모두 적용시켜 상기 깊이 큐브맵을 생성하는 6 자유도 가상현실의 렌더링 시스템.
  3. 청구항 2에 있어서,
    상기 가시성 검사 모듈은,
    상기 깊이 큐브맵을 생성할 때, 기하 셰이더(geometry shader)와 변환 피드백(transform feedback)을 이용하여 점군(point cloud)으로부터 메시를 생성하는 6 자유도 가상현실의 렌더링 시스템.
  4. 삭제
  5. 청구항 3에 있어서,
    상기 가시성 검사 모듈은,
    상기 참조 시점 기준의 상기 깊이 큐브맵 및 상기 주 시점 기준의 상기 관심 위치 정보를 기초로 깊이 검사를 수행하여 상기 참조 시점에 대한 비가시 프래그먼트가 발생할 때마다 카운팅을 증가시켜 참조 시점별 상기 비가시 프래그먼트의 개수를 파악하되,
    상기 참조 시점의 위치로부터 상기 주 시점의 현재 관심 위치 간의 거리가 상기 참조 시점의 깊이 거리 보다 긴 경우 해당 프래그먼트를 비가시 프래그먼트로 결정하는 6 자유도 가상현실의 렌더링 시스템.
  6. 청구항 5에 있어서,
    상기 참조 시점 선택모듈은,
    전체 참조 시점 중 상기 주 시점으로부터 인접한 위치기준, 상기 주 시점의 시야 내에 포함되는 시야기준, 상기 위치기준과 상기 시야기준을 조합한 기준 및 임의 설정 기준 중 어느 하나를 기초로 상기 유효 참조 시점을 선택하는 6 자유도 가상현실의 렌더링 시스템.
  7. 청구항 6에 있어서,
    상기 위치기준과 상기 시야기준을 조합한 기준은,
    전체 참조 시점 중 상기 주 시점을 기준으로 기 설정된 반지름 내부에 포함되고 상기 주 시점의 시야 절두체 내부에 포함되는 참조 시점을 상기 유효 참조 시점으로 선택하거나, 또는 상기 주 시점을 기준으로 상기 기 설정된 반지름 내부에 포함되고 상기 주 시점 기반 변형 시야 절두체 내부에 포함되는 참조 시점을 상기 유효 참조 시점으로 선택하거나, 또는 상기 주 시점에 인접한 기 설정된 개수에 포함되면서 상기 주 시점의 시야 절두체 내부에 포함되는 참조 시점을 상기 유효 참조 시점으로 선택하거나, 또는 상기 주 시점에 인접한 상기 기 설정된 개수에 포함되면서 상기 주 시점 기반 변형 시야 절두체 내부에 포함되는 참조 시점을 상기 유효 참조 시점으로 선택하는 기준인 6 자유도 가상현실의 렌더링 시스템.
  8. 청구항 6에 있어서,
    상기 임의 설정 기준은,
    상기 전체 참조 시점 중 상기 주 시점으로부터 일정 범위 내에 있는 참조 시점을 선별하고, 선별된 상기 참조 시점 중 기 설정된 인접한 범위 내에 있는 참조 시점을 선택하며, 미 선택된 나머지 참조 시점 중 상기 주 시점 기반 변형 시야 절두체 내에 포함되는 참조 시점을 추가로 선택하는 기준인 6 자유도 가상현실의 렌더링 시스템.
  9. 청구항 8에 있어서,
    상기 참조 시점 선택모듈은,
    선택된 상기 유효 참조 시점의 개수가 최소 요구 개수 기준 미만인 경우, 상기 주 시점 기준으로 인접한 기준으로 상기 유효 참조 시점을 추가 선택하고,
    선택된 상기 유효 참조 시점의 개수가 최대 요구 개수 기준 이상인 경우, 상기 전체 참조 시점 중 상기 주 시점 기준으로 인접한 순으로 참조 시점을 선택하는 기준 또는 상기 주 시점 기준으로 인접한 기준과 먼 기준을 번갈아 참조 시점을 선택하는 기준을 기초로 상기 유효 참조 시점의 개수가 상기 최대 요구 개수 기준과 일치하도록 상기 유효 참조 시점을 선택하는 6 자유도 가상현실의 렌더링 시스템.
  10. 청구항 9에 있어서,
    상기 참조 시점 선택모듈은,
    선택된 상기 유효 참조 시점 각각의 비가시 프래그먼트 개수 및 주 시점과 참조 시점 간의 변위를 기초한 표현 점수 산출 기준에 따라 유효 참조 시점별 표현 점수를 부여하여 상기 최종 참조 시점을 선택하는 6 자유도 가상현실의 렌더링 시스템.
  11. 청구항 10에 있어서,
    상기 참조 시점 선택모듈은,
    상기 주 시점과 참조 시점 간의 변위를 산출할 때, 상기 주 시점과 참조 시점 간의 변위 벡터의 Lp 노름, 상기 주 시점과 참조 시점 간의 변위 크기의 지수함수, 상기 주 시점과 참조 시점 간의 변위 크기의 로그 함수 및 상기 주 시점과 참조 시점 간의 변위 크기의 기타 함수 중 어느 하나를 상기 주 시점과 상기 참조 시점 간의 거리로 결정하는 6 자유도 가상현실의 렌더링 시스템.
  12. 청구항 11에 있어서,
    상기 참조 시점 선택모듈은,
    상기 참조 시점별 비가시 프래그먼트 개수와 상기 거리를 단일 값으로 변환하여 목적 함수를 결정하여 상기 참조 시점별 표현 점수를 생성하되, 상기 참조 시점별 비가시 프래그먼트 개수와 상기 거리를 가중합하여 상기 단일 값으로 환산하거나, 또는 상기 참조 시점별 비가시 프래그먼트 개수와 상기 거리를 순위합하여 상기 단일 값으로 환산하는 6 자유도 가상현실의 렌더링 시스템.
  13. 청구항 12에 있어서,
    상기 참조 시점 선택모듈은,
    상기 표현 점수가 낮은 순서대로 상위 기 설정된 개수의 최종 참조 시점을 선택하거나, 또는 전체 유효 참조 시점 중 최종 참조 시점 간의 가시 영역이 중첩되지 않는 기준으로 상기 최종 참조 시점을 선택하는 6 자유도 가상현실의 렌더링 시스템.
  14. 청구항 13에 있어서,
    상기 렌더링 처리 모듈은,
    상기 최종 참조 시점에서 관심 프래그먼트를 볼 수 있다고 가정할 때 주 시점과 참조 시점이 인접할수록 상기 가중치를 높게 설정하는 제1 기준, 상기 최종 참조 시점에서 관심 프래그먼트를 볼 수 있다고 가정할 때 상기 관심 프래그먼트의 전역 공간 좌표와 상기 참조 시점이 인접할수록 상기 가중치를 높게 설정하는 하는 제2 기준 및 상기 최종 참조 시점 각각의 가시성 검사 결과에 기초하여 상기 가중치를 부여한 제3 기준 중 적어도 하나 이상을 포함하는 기준을 상기 최종 참조 시점의 색상을 선택할 때 반영하는 6 자유도 가상현실의 렌더링 시스템.
  15. 3차원 영상 및 상기 3차원 영상에 매칭되는 3차원 위치를 포함하는 3차원 기하 정보를 저장하는 단계;
    상기 3차원 기하 정보를 이용하여 영상 촬영기로 360도 촬영한 위치를 포함하는 복수의 참조 시점 각각에 대해 주 시점이 응시하는 현재 관심 위치가 보이는지 여부를 판단하는 가시성 검사를 수행하는 단계;
    수행 결과에 따라 각 참조 시점의 비가시 프래그먼트 개수를 파악하여 가시성 정보를 생성하는 단계;
    상기 복수의 참조 시점 각각에 대한 상기 가시성 정보 및 기 설정된 선택기준을 기초로 현재 프레임의 렌더링 처리를 위한 최종 참조 시점을 선택하는 단계; 및
    상기 최종 참조 시점에 대응하는 360도 색상 영상 및 깊이 영상을 이용하여 영상 기반 렌더링 처리를 수행하되, 상기 최종 참조 시점에 대응하는 360도 영상 텍셀에 상기 주 시점과 상기 참조 시점 및 관심 프래그먼트의 전역 공간 위치를 고려하여 설정한 가중치를 적용하여 최종 색상을 계산하는 단계를 포함하고,
    상기 가시성 검사를 수행하는 단계는, 상기 참조 시점을 기준으로 상기 참조 시점이 응시하는 깊이 정보를 생성하는 단계; 생성된 상기 깊이 정보를 이용하여 깊이 큐브맵을 생성하는 단계; 상기 주 시점이 응시할 수 있는 복수의 관심 위치를 기초로 관심 위치 정보를 생성하여 저장하는 단계; 및 상기 참조 시점 기준의 상기 깊이 큐브맵 및 상기 주 시점 기준의 상기 관심 위치 정보를 기초로 깊이 검사를 수행하는 단계를 포함하는 6 자유도 가상현실의 렌더링 방법.
  16. 삭제
  17. 청구항 15에 있어서,
    상기 가시성 정보를 생성하는 단계에서,
    상기 깊이 검사 수행 시, 상기 참조 시점에 대한 비가시 프래그먼트가 발생할 때마다 카운팅을 증가시켜 참조 시점별 상기 비가시 프래그먼트의 개수를 파악하는 6 자유도 가상현실의 렌더링 방법.
  18. 청구항 17에 있어서,
    상기 최종 참조 시점을 선택하는 단계는,
    상기 렌더링 처리를 위한 유효한 참조 시점을 선택하는 단계; 및
    선택된 상기 유효 참조 시점 각각에 표현 점수를 부여하여 상기 최종 참조 시점을 선택하는 단계를 포함하는 6 자유도 가상현실의 렌더링 방법.
  19. 청구항 18에 있어서,
    상기 최종 참조 시점을 선택하는 단계에서,
    선택된 상기 유효 참조 시점 각각의 비가시 프래그먼트 개수 및 주 시점과 참조 시점 간의 변위를 기초한 표현 점수 산출 기준에 따라 유효 참조 시점별 표현 점수를 부여하여 상기 최종 참조 시점을 선택하는 6 자유도 가상현실의 렌더링 방법.
KR1020210082208A 2021-06-24 2021-06-24 6 자유도 가상현실의 렌더링 시스템 및 방법 KR102332920B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210082208A KR102332920B1 (ko) 2021-06-24 2021-06-24 6 자유도 가상현실의 렌더링 시스템 및 방법
US17/474,189 US11615574B2 (en) 2021-06-24 2021-09-14 System and method for rendering 6 degree-of-freedom virtual reality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210082208A KR102332920B1 (ko) 2021-06-24 2021-06-24 6 자유도 가상현실의 렌더링 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102332920B1 true KR102332920B1 (ko) 2021-12-01

Family

ID=78899943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210082208A KR102332920B1 (ko) 2021-06-24 2021-06-24 6 자유도 가상현실의 렌더링 시스템 및 방법

Country Status (2)

Country Link
US (1) US11615574B2 (ko)
KR (1) KR102332920B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050047322A (ko) * 2003-11-17 2005-05-20 대한민국(서울대학교 총장) 3차원 물체의 특징 시점 선택 방법
KR20110112705A (ko) * 2010-04-07 2011-10-13 한국외국어대학교 연구산학협력단 시점 조정 3차원 영상 제공 장치 및 방법
KR101451966B1 (ko) 2013-06-17 2014-10-22 (주)가비아 모바일용 영상 렌더링 제공 시스템 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201116438D0 (en) * 2011-09-22 2011-11-02 Advanced Risc Mach Ltd Occlusion queries in graphics processing
US10636201B2 (en) * 2017-05-05 2020-04-28 Disney Enterprises, Inc. Real-time rendering with compressed animated light fields
US10733786B2 (en) * 2018-07-20 2020-08-04 Facebook, Inc. Rendering 360 depth content
KR102287472B1 (ko) * 2018-10-08 2021-08-09 한국과학기술원 인공조명 사진을 이용한 3차원 객체 획득 방법 및 그 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050047322A (ko) * 2003-11-17 2005-05-20 대한민국(서울대학교 총장) 3차원 물체의 특징 시점 선택 방법
KR20110112705A (ko) * 2010-04-07 2011-10-13 한국외국어대학교 연구산학협력단 시점 조정 3차원 영상 제공 장치 및 방법
KR101451966B1 (ko) 2013-06-17 2014-10-22 (주)가비아 모바일용 영상 렌더링 제공 시스템 및 방법

Also Published As

Publication number Publication date
US11615574B2 (en) 2023-03-28
US20220414966A1 (en) 2022-12-29

Similar Documents

Publication Publication Date Title
JP7304934B2 (ja) 仮想コンテンツワーピングを伴う複合現実システムおよびそれを使用して仮想コンテンツを生成する方法
CN111369655B (zh) 渲染方法、装置和终端设备
US8698804B2 (en) Image processing apparatus and image processing method
KR102214263B1 (ko) 화상 생성 장치, 화상 생성 방법, 컴퓨터 프로그램, 및 기록 매체
US10586375B2 (en) Hybrid raytracing approach for modeling light reflection
CN112840378A (zh) 在路径追踪中使用共享光照贡献进行相互作用的全局照明
US11430412B2 (en) Freely selected point of view image generating apparatus, reference image data generating apparatus, freely selected point of view image generating method, and reference image data generating method
US20230230311A1 (en) Rendering Method and Apparatus, and Device
US11210853B2 (en) Image generation apparatus and image generation method
EP3503036A1 (en) Determining pixel values using reference images
JP6974978B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2014006901A (ja) 関与媒質により受光された光量を推定する方法及び対応する装置
CN110286906B (zh) 用户界面显示方法、装置、存储介质与移动终端
WO2024148898A1 (zh) 图像降噪方法、装置、计算机设备和存储介质
JP2020166652A (ja) 画像処理装置、画像処理方法及びプログラム
WO2019042028A1 (zh) 全视向的球体光场渲染方法
JP5937957B2 (ja) リアルタイム大局照明レンダリングシステム
KR102332920B1 (ko) 6 자유도 가상현실의 렌더링 시스템 및 방법
CN115830202A (zh) 一种三维模型渲染方法和装置
WO2023089777A1 (ja) 画像処理装置、オブジェクトデータ生成装置、画像処理方法、オブジェクトデータ生成方法、およびオブジェクトモデルのデータ構造
CN117173314B (zh) 一种图像处理方法、装置、设备、介质及程序产品
US20240233265A9 (en) Appearance Capture
Shen THE PURDUE UNIVERSITY GRADUATE SCHOOL STATEMENT OF DISSERTATION APPROVAL
KR20230013099A (ko) 실시간 깊이 맵을 사용한 지오메트리 인식 증강 현실 효과
CN116266375A (zh) 处理光线数据的方法、装置、设备和存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant