KR102306774B1 - 영상 처리 방법 및 장치 - Google Patents

영상 처리 방법 및 장치 Download PDF

Info

Publication number
KR102306774B1
KR102306774B1 KR1020140187465A KR20140187465A KR102306774B1 KR 102306774 B1 KR102306774 B1 KR 102306774B1 KR 1020140187465 A KR1020140187465 A KR 1020140187465A KR 20140187465 A KR20140187465 A KR 20140187465A KR 102306774 B1 KR102306774 B1 KR 102306774B1
Authority
KR
South Korea
Prior art keywords
vpl
current frame
vpls
sampled
samplings
Prior art date
Application number
KR1020140187465A
Other languages
English (en)
Other versions
KR20150128536A (ko
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 CN201510187622.4A priority Critical patent/CN105096375B/zh
Priority to JP2015090585A priority patent/JP6543508B2/ja
Priority to EP15166965.2A priority patent/EP2942755B1/en
Priority to US14/707,761 priority patent/US10403034B2/en
Publication of KR20150128536A publication Critical patent/KR20150128536A/ko
Application granted granted Critical
Publication of KR102306774B1 publication Critical patent/KR102306774B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

3D 모델을 렌더링하는 영상 처리 방법 및 장치가 개시된다. 영상 처리 장치는 현재 프레임의 영역별로 VPL 샘플링 개수를 결정할 수 있다. 영상 처리 장치는 이전 프레임에서 샘플링된 VPL들을 현재 프레임에 적용하고, 상기 결정된 VPL 샘플링 개수에 기초하여 이전 프레임의 VPL들이 적용된 결과를 조정할 수 있다. 영상 처리 장치는 현재 프레임에서 샘플링된 VPL들에 기초하여 현재 프레임을 렌더링할 수 있다.

Description

영상 처리 방법 및 장치{METHOD AND APPARATUS FOR PROCESSING IMAGE}
아래의 설명은 영상을 렌더링하는 영상 처리 기술에 관한 것이다.
3D 게임, 가상현실(virtual reality) 애니메이션, 영화 등 다양한 분야에서, 3D 모델에 대한 실시간 렌더링(real-time rendering)에 대한 관심이 높아지고 있다. 3D 렌더링 기법 중 하나인 전역 조명을 고려한 래디오서티(radiosity) 기법은, 3D 모델 내에 존재하는 직접 광원(direct light source)에 의한 직접 조명뿐만 아니라 직접 조명이 오브젝트에 의해 반사된 반사광이나 난반사 현상 등에 의한 효과를 렌더링에 적용하는 렌더링 방법이다.
일 실시예에 따른 영상 처리 방법은, 현재 프레임의 영역별로 VPL 샘플링 개수를 결정하는 단계; 이전 프레임에서 샘플링된 VPL들을 상기 현재 프레임에 적용하는 단계; 상기 결정된 VPL 샘플링 개수에 기초하여 상기 이전 프레임의 VPL들이 적용된 결과를 조정하는 단계; 및 상기 현재 프레임에서 샘플링된 VPL들에 기초하여 상기 현재 프레임을 렌더링하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 처리 방법에서, 상기 조정하는 단계는, 상기 결정된 VPL 샘플링 개수에 기초하여, 상기 이전 프레임의 VPL들이 적용된 현재 프레임의 영역별로 샘플링되는 VPL의 개수를 조정할 수 있다.
일 실시예에 따른 영상 처리 방법에서, 상기 조정하는 단계는, 상기 결정된 VPL 샘플링 개수를 만족하도록 상기 현재 프레임에 적용된 이전 프레임의 VPL들을 제외한 적어도 하나의 새로운 VPL을 샘플링하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 처리 방법에서, 상기 샘플링하는 단계는, 상기 새로운 VPL이 샘플링될 영역의 밝기 분포에 기초하여 상기 새로운 VPL이 샘플링될 위치를 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 처리 방법에서, 상기 샘플링하는 단계는, 상기 새로운 VPL이 샘플링될 영역에서 상기 새로운 VPL이 샘플링될 위치를 랜덤하게 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 처리 방법에서, 상기 샘플링하는 단계는, 상기 현재 프레임에 나타난 오브젝트의 움직임 및 상기 오브젝트의 재질 특성 중 적어도 하나에 기초하여 상기 새로운 VPL이 샘플링될 위치를 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 처리 방법에서, 상기 조정하는 단계는, 상기 결정된 VPL 샘플링 개수를 만족하도록 상기 현재 프레임에 적용된 이전 프레임의 VPL들 중 적어도 하나의 VPL을 제거하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 처리 방법에서, 상기 제거하는 단계는, 상기 현재 프레임에 적용된 이전 프레임의 VPL의 밝기에 기초하여 상기 현재 프레임에 적용된 이전 프레임의 VPL들 중 제거할 VPL을 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 처리 방법에서, 상기 결정하는 단계는, 상기 현재 프레임에 복수의 오브젝트 영역들을 설정하는 단계; 및 상기 설정된 오브젝트 영역별로 상기 VPL 샘플링 개수를 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 처리 방법에서, 상기 결정하는 단계는, 상기 현재 프레임에 복수의 그리드 영역들을 설정하는 단계; 및 상기 설정된 그리드 영역별로 상기 VPL 샘플링 개수를 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 처리 방법에서, 상기 적용하는 단계는, 상기 이전 프레임에서 VPL들이 샘플링된 위치에 대응하는 상기 현재 프레임 내 위치에 VPL을 샘플링할 수 있다.
일 실시예에 따른 영상 처리 방법에서, 상기 적용하는 단계는, 시점 매트릭스, 투영 매트릭스 및 모델 매트릭스 중 적어도 하나를 이용하여 상기 이전 프레임에서 샘플링된 VPL들을 상기 현재 프레임에 적용할 수 있다.
일 실시예에 따른 영상 처리 방법은, 상기 현재 프레임에 공간 필터링을 수행하는 단계를 더 포함할 수 있다.
일 실시예에 따른 영상 처리 방법에서, 상기 조정하는 단계는, 상기 이전 프레임에서 샘플링된 VPL의 밝기에 기초하여 상기 현재 프레임에서 샘플링된 VPL의 밝기를 조정하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 처리 방법에서, 상기 결정하는 단계는, 현재 프레임에 설정된 그리드 영역별로 VPL 샘플링 개수를 결정하고, 상기 조정하는 단계는, 상기 결정된 VPL 샘플링 개수에 기초하여 상기 현재 프레임의 그리드 영역별로 샘플링된 VPL의 개수를 조정할 수 있다.
일 실시예에 따른 영상 처리 방법에서, 상기 결정하는 단계는, 상기 그리드 영역들 각각의 밝기 정보에 기초하여 그리드 영역별로 VPL 샘플링 개수를 결정할 수 있다.
일 실시예에 따른 영상 처리 방법에서, 상기 조정하는 단계는, 상기 결정된 VPL 샘플링 개수에 기초하여, 상기 이전 프레임의 VPL들이 적용된 현재 프레임의 그리드 영역별로 VPL의 개수를 조정할 수 있다.
일 실시예에 따른 영상 처리 장치는, 현재 프레임의 영역별로 VPL 샘플링 개수를 결정하는 VPL 밀도 결정부; 이전 프레임에서 샘플링된 VPL들을 상기 현재 프레임에 적용하고, 상기 결정된 VPL 샘플링 개수에 기초하여 상기 이전 프레임의 VPL들이 적용된 결과를 조정하는 VPL 샘플링부; 및 상기 현재 프레임에서 샘플링된 VPL들에 기초하여 상기 현재 프레임을 렌더링하는 렌더링부를 포함할 수 있다.
일 실시예에 따른 영상 처리 장치는, 상기 이전 프레임에서 샘플링된 VPL의 밝기에 기초하여 상기 현재 프레임에서 샘플링된 VPL의 밝기를 조정하는 시간 필터링 수행부를 더 포함할 수 있다.
일 실시예에 따른 영상 처리 장치는, 상기 현재 프레임에 공간 필터링을 수행하는 공간 필터링 수행부를 더 포함할 수 있다.
일 실시예에 따른 영상 처리 장치에서, 상기 VPL 샘플링부는, 상기 결정된 VPL 샘플링 개수에 기초하여, 상기 이전 프레임의 VPL들이 적용된 현재 프레임의 영역별로 VPL의 개수를 조정할 수 있다.
다른 실시예에 따른 영상 처리 장치는, 현재 프레임의 그리드 영역별로 VPL 샘플링 개수를 결정하는 VPL 밀도 결정부; 상기 결정된 VPL 샘플링 개수에 기초하여 상기 그리드 영역별로 VPL을 샘플링하는 VPL 샘플링부; 및 상기 현재 프레임에서 샘플링된 VPL들에 기초하여 상기 현재 프레임을 렌더링하는 렌더링부를 포함할 수 있다.
도 1은 일 실시예에 따른 영상 처리 장치의 구성을 도시하는 도면이다.
도 2 내지 도 4는 일 실시예에 따른 현재 프레임에서 VPL을 샘플링하는 일례를 설명하기 위한 도면들이다.
도 5 내지 도 7은 일 실시예에 따른 중요도 맵(importance map)을 이용하여 현재 프레임에서 VPL를 샘플링하는 일례를 설명하기 위한 도면들이다.
도 8 내지 도 11는 다른 실시예에 따른 현재 프레임에서 VPL을 샘플링하는 일례를 설명하기 위한 도면들이다.
도 12는 일 실시예에 따른 영상 처리 방법의 동작을 설명하기 위한 흐름도이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 아래의 특정한 구조적 내지 기능적 설명들은 단지 실시예들을 설명하기 위한 목적으로 예시된 것으로, 권리 범위가 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 안된다. 설명한 분야에 속하는 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타내며, 공지된 기능 및 구조는 생략하도록 한다.
도 1은 일 실시예에 따른 영상 처리 장치의 구성을 도시하는 도면이다.
영상 처리 장치(100)는 2D(dimensional) 그래픽 또는 3D 그래픽을 렌더링(rendering)한다. 영상 처리 장치(100)는 영상 프레임을 통해 표현되는 이미지 공간을 렌더링하고, 렌더링 결과 영상을 출력할 수 있다. 영상 처리 장치(100)는, 예를 들어, 게임, 영화, 사용자 인터페이스, 가상 현실, 또는 증강 현실(augmented reality) 등에서 3D 렌더링을 수행할 수 있다.
영상 처리 장치(100)는 그래픽 렌더링에서 전역 조명(global illumination)의 효과를 실현하기 위해 빛의 반사, 굴절 및 회절 등의 자연 현상을 표현하기 위한 가상의 포인트 광원(Virtual Point Light; VPL)을 현재 프레임의 이미지 공간에 배치할 수 있다. 이미지 공간 상에 빛을 직접 방사하는 직접 광원과 달리, VPL은 직접 광원으로부터 방사된 빛이 반사, 굴절 또는 회절되는 현상을 반영하기 위한 가상의 광원이다. VPL은 간접 광원으로도 지칭할 수 있다. 영상 프레임이 나타내는 이미지 공간 상에 VPL을 어디에 배치하느냐를 결정하는 것을 VPL을 샘플링한다고 한다. 영상 처리 장치는 VPL이 배치된 영역을 중심으로 이미지 공간에 간접광 효과를 적용할 수 있고, VPL이 이미지 공간의 어느 영역에 배치되느냐에 따라 렌더링 결과 영상에 나타나는 조명 효과가 달라질 수 있다.
영상 처리 장치(100)는 이전 프레임의 VPL 샘플링 결과에 기초하여 현재 프레임에서 VPL을 샘플링할 수 있다. 현재 프레임은 현재 렌더링의 대상이 되는 영상 프레임이고, 시간적으로 이전 프레임에 연속하는 영상 프레임을 나타낸다. 이전 프레임은 현재 프레임보다 시간적으로 앞서는 영상 프레임으로, 현재 프레임보다 먼저 VPL이 샘플링된 영상 프레임을 나타낸다.
영상 처리 장치(100)는 이전 프레임의 VPL 정보를 이용하여 현재 프레임에 이전 프레임에서 샘플링된 VPL들을 적용한 후, 현재 프레임의 밝기 분포에 따라 이전 프레임의 VPL들이 적용된 결과를 조정할 수 있다. 이전 프레임의 VPL 정보는 이전 프레임에 대한 라이트 시점 렌더링(light view rendering) 영상에서 샘플링된 VPL 정보 또는 광선 추적(ray tracing) 기법을 통해 도출된 광선의 충돌 위치 정보 등을 포함할 수 있다.
영상 처리 장치(100)는 이전 프레임에서의 VPL 샘플링 결과를 이용하여 현재 프레임의 VPL을 샘플링함으로써 플리커링(flickering)이 발생하는 것을 감소시키고, 필요한 자원량을 저감시킬 수 있다. 예를 들어, 영상 처리 장치(100)는 이전 프레임에서 이용된 VPL별 쉐도우 맵(shadow map)을 이용하여 현재 프레임에서 VPL을 샘플링할 수 있다. 영상 처리 장치(100)는 현재 프레임의 밝기 분포에 따른 VPL들을 샘플링하는 것에 의해 현재 프레임의 조명 환경에 맞는 고화질의 렌더링 결과 영상을 출력할 수 있다. 이하에서는, 영상 처리 장치(100)의 동작을 보다 자세히 설명하도록 한다.
도 1을 참조하면, 영상 처리 장치(100)는 VPL 밀도 결정부(120), VPL 샘플링부(130) 및 렌더링부(150)를 포함할 수 있다.
VPL 밀도 결정부(120)는 현재 프레임의 영역별로 요구되는 VPL 샘플링 개수를 결정할 수 있다. VPL 샘플링 개수는 현재 프레임의 특정 영역에서 샘플링될 VPL의 개수를 나타낸다. VPL 샘플링 개수는, 예를 들어, 픽셀 영역 또는 픽셀 그룹 영역 내에서 샘플링될 VPL의 개수를 나타낼 수 있다. 하나의 픽셀 영역 내에 복수 개의 VPL들이 샘플링될 수 있고, 픽셀 그룹 영역은 현재 프레임에 나타난 오브젝트 영역, 그리드(grid) 영역 또는 바운딩 박스(bounding box) 영역 등을 나타낸다.
VPL 밀도 결정부(120)는 현재 프레임의 밝기 정보, 시점, 직접 광원의 위치, 직접 광원의 방향 및 오브젝트의 형상 정보 등에 기초하여 현재 프레임의 영역별로 요구되는 VPL 샘플링 개수를 결정할 수 있다. VPL 밀도 결정부(120)는 현재 프레임에서 상대적으로 밝은 영역에 보다 많은 VPL 샘플링 개수를 할당하거나 또는 형상 정보인 오브젝트의 노멀(normal) 정보를 이용하여 VPL 샘플링 개수를 결정할 수 있다. VPL 밀도 결정부(120)는, 예를 들어, 현재 프레임의 특정 영역의 밝기 값과 노멀 값에 각각 가중치를 적용하여 합산하고, 합산한 결과가 큰 영역에 VPL이 샘플링될 확률을 상대적으로 높게 설정할 수 있다. VPL 밀도 결정부(120)는 현재 프레임의 영역별로 설정된 샘플링 확률에 기초하여 현재 프레임의 각 영역들에서 VPL 샘플링 개수를 결정할 수 있다.
VPL 밀도 결정부(120)는, 예를 들어, 중요도 샘플링(importance sampling) 기법을 이용하여 현재 프레임의 영역별 밝기 분포에 따른 VPL 샘플링 개수를 결정할 수 있다. 중요도 샘플링 기법을 통해 현재 프레임에서 밝은 영역은 어두운 영역보다 상대적으로 VPL이 샘플링될 확률이 높게 설정되어 보다 많은 VPL 샘플링 개수가 할당될 수 있다.
VPL 샘플링부(130)는 현재 프레임에서 VPL들을 샘플링할 수 있다. VPL 샘플링부(130)는 이전 프레임에서 샘플링된 VPL들을 현재 프레임에 적용 또는 투영(projection)할 수 있다. VPL 샘플링부(130)는 현재 프레임의 영역별로 결정된 VPL 샘플링 개수에 기초하여, 이전 프레임의 VPL들이 적용된 현재 프레임의 영역별로 샘플링되는 VPL의 개수를 조정할 수 있다.
예를 들어, VPL 샘플링부(130)는 이전 프레임의 VPL들이 적용된 현재 프레임에 새로운 VPL을 추가로 샘플링하거나 또는 현재 프레임에 투영된 이전 프레임의 VPL를 유지 또는 제거할 수 있다. VPL 샘플링부(130)는 현재 프레임에 적용된 각 이전 프레임의 VPL들의 중요도에 기초하여 현재 프레임 내에 VPL들을 재배치할 수도 있다.
VPL 샘플링부(130)는 이전 프레임에서 샘플링된 VPL들을 현재 프레임에 투영하여 현재 프레임에 대한 VPL 샘플링 결과를 생성하고, 현재 프레임의 조명 환경을 반영하기 위한 새로운 VPL을 추가적으로 샘플링하여 현재 프레임에 대한 전체 VPL 세트를 결정할 수 있다. 이전 프레임과 현재 프레임 간의 조명 환경의 차이가 작아 이전 프레임에서 샘플링되지 않았던 새로운 VPL의 샘플링이 필요하지 않은 경우, 현재 프레임에서 새로운 VPL을 샘플링하기 위한 추가적인 과정은 생략될 수 있다.
VPL 샘플링부(130)는 현재 프레임의 영역별로 결정된 VPL 샘플링 개수를 만족시키는 범위 내에서는 새로운 VPL을 샘플링하지 않고, 이전 프레임의 VPL들이 투영된 현재 프레임 내 영역들에 VPL들을 샘플링할 수 있다. 이전 프레임의 VPL 샘플링 결과를 현재 프레임에 적용함으로써 시간적으로 연속되는 영상 프레임들 사이에서 VPL들의 위치 변화가 최소화되어 플리커링 현상이 저감될 수 있다.
이전 프레임과 현재 프레임 간에 밝기 분포가 서로 동일하여 영역별로 결정된 VPL 샘플링 개수가 동일한 경우에는, 이전 프레임과 현재 프레임 간에서 VPL이 샘플링되는 위치가 동일할 수 있다. 이와 다르게, 이전 프레임과 현재 프레임 간에 밝기 분포가 서로 달라 영역별 VPL 샘플링 개수가 차이가 나는 경우에는, 현재 프레임에 적용된 이전 프레임의 VPL들은 재배치될 수 있다.
현재 프레임에서 샘플링된 VPL들에 대한 정보는 현재 프레임에 시간적으로 연속하는 다음 프레임의 VPL 샘플링 과정에서 이용될 수 있다.
다른 실시예에 따르면, 영상 처리 장치(100)는 공간 필터링 수행부(110) 및 시간 필터링 수행부(140) 중 적어도 하나를 더 포함할 수 있다.
공간 필터링 수행부(110)는 현재 프레임에서 VPL을 샘플링하기 전에 현재 프레임에 공간 필터링(spatial filtering)을 수행할 수 있다. 특정 VPL의 위치, 컬러 또는 노멀(normal) 특성이 프레임들 사이에서 급격하게 변화하는 경우, 플리커링 현상이 발생할 수 있다. 플러커링 현상에 의한 영향을 저감시키기 위해, 공간 필터링 수행부(110)는 현재 프레임에 공간 필터링을 수행하여 VPL의 위치, 컬러, 및 노멀 특성에 대한 공간적인 불연속성을 저감시킬 수 있다. 예를 들어, 공간 필터링 수행부(110)는 가우시안 커널(Gaussian kernel)을 현재 프레임에 적용하여 이미지 공간 및 오브젝트 상에서 급격한 변화가 생기는 영역을 필터링할 수 있고, 이를 통해 프레임들 사이에서 VPL 특성이 급격하게 변하는 것을 방지할 수 있다. VPL 밀도 결정부(120)는 공간 필터링이 수행된 현재 프레임의 영역별로 VPL 샘플링 개수를 결정할 수 있다.
시간 필터링 수행부(140)는 현재 프레임에서의 VPL 샘플링이 완료된 이후에 현재 프레임에 시간 필터링(temporal filtering)을 수행할 수 있다. 시간 필터링 수행부(140)는 이전 프레임과 현재 프레임 사이에서 VPL의 밝기가 급격하게 변화되지 않도록 이전 프레임의 VPL의 밝기에 기초하여 현재 프레임에서 샘플링된 VPL의 밝기를 조정할 수 있다.
렌더링부(150)는 현재 프레임에서 샘플링된 VPL들을 이용하여 현재 프레임을 렌더링하고, 렌더링 결과 영상을 출력할 수 있다. 예를 들어, 렌더링부(150)는 현재 프레임의 이미지 공간에 샘플링된 VPL들을 배치하고, VPL들에 의한 간접 광 효과가 적용된 렌더링 결과 영상을 출력할 수 있다.
이하에서는, 다른 실시예에 따른 영상 처리 장치(100)가 이전 프레임의 VPL 샘플링 결과를 현재 프레임에 적용하지 않고, 현재 프레임의 밝기 정보에 기초하여 현재 프레임의 그리드 영역별로 VPL을 샘플링하는 과정을 설명하도록 한다. 다른 실시예에 따른 영상 처리 장치(100)는 VPL 밀도 결정부(120), VPL 샘플링부(130) 및 렌더링부(150)를 포함할 수 있다.
VPL 밀도 결정부(120)는 현재 프레임의 그리드 영역별로 VPL 샘플링 개수를 결정할 수 있다. VPL 밀도 결정부(120)는 현재 프레임 내 그리드 영역들의 밝기 분포에 기초하여 각 그리드 영역들의 VPL 샘플링 개수를 결정할 수 있다. 예를 들어, VPL 밀도 결정부(120)는 밝기가 더 밝은 그리드 영역에서 보다 많은 VPL들이 샘플링되도록 VPL 샘플링 개수를 결정할 수 있다. 또는, VPL 밀도 결정부(120)는 각 그리드 영역들의 평균 밝기 값을 결정하고, 평균 밝기 값에 대응하는 미리 결정된 VPL 샘플링 개수를 각 그리드 영역들의 VPL 샘플링 개수로 결정할 수 있다.
VPL 샘플링부(130)는 그리드 영역별로 결정된 VPL 샘플링 개수에 기초하여 현재 프레임의 그리드 영역들에서 VPL을 샘플링할 수 있다. 렌더링부(150)는 현재 프레임에서 샘플링된 VPL들에 기초하여 현재 프레임을 렌더링하고, 렌더링 결과 영상을 출력할 수 있다. 영상 처리 장치(100)는 그리드 영역 기반의 VPL 샘플링을 수행하여 현재 프레임에서 VPL들을 보다 빠르게 샘플링할 수 있다.
도 2 내지 도 4는 일 실시예에 따른 현재 프레임에서 VPL을 샘플링하는 일례를 설명하기 위한 도면들이다.
도 2는 3개의 오브젝트들(210, 220, 230)을 포함하는 이전 프레임(200)을 나타낸다. 이전 프레임(200)에서, 제1 오브젝트 영역(210)에 3개의 VPL들(212, 214, 216), 제2 오브젝트 영역(220)에 2개의 VPL들(222, 224) 및 제3 오브젝트 영역(230)에 1개의 VPL(232)이 샘플링되었다고 가정한다.
도 3은 이전 프레임(200)의 VPL 샘플링 결과가 적용된 현재 프레임(300)을 나타낸다. 현재 프레임(300)에는, 이전 프레임(200)의 제1 오브젝트 영역(210)에 대응하는 제1 오브젝트 영역(320), 이전 프레임(200)의 제3 오브젝트 영역(230)에 대응하는 제3 오브젝트 영역(310)이 포함되어 있다. 이전 프레임(200)에 포함되어 있던 제2 오브젝트 영역(220)은 현재 프레임(300)에 나타나지 않고, 대신 새로운 제4 오브젝트 영역(330)이 현재 프레임(300)에 나타나 있다.
VPL 샘플링부(130)는 이전 프레임(200)에서 VPL들(212, 214, 216, 222, 224, 232)이 샘플링된 위치에 대응되는 현재 프레임(300) 내 위치에 VPL들을 샘플링할 수 있다. 이전 프레임(200)에서의 VPL 샘플링 결과가 현재 프레임(300)에 적용되어, 이전 프레임(200)의 제1 오브젝트 영역(210)에 샘플링되었던 VPL들(212, 214, 216)이 현재 프레임(300)의 제1 오브젝트 영역(320)의 VPL들(322, 324, 326)로 투영되어 있다. 그리고, 이전 프레임(200)의 제3 오브젝트 영역(230)에 샘플링되었던 VPL(232)이 현재 프레임(300)의 제3 오브젝트 영역(310)의 VPL(312)로 투영되어 있다.
VPL 샘플링부(130)는 시점 매트릭스(view matrix), 투영 매트릭스(projection matrix) 및 오브젝트별 모델 매트릭스(model matrix) 등과 같은 변환 매트릭스들을 이용하여 이전 프레임(200)에서 샘플링된 VPL들(212, 214, 216, 222, 224, 232)을 현재 프레임(300)에 투영할 수 있다. VPL 샘플링부(130)는, 예를 들어, 이전 프레임(200)의 시점 매트릭스의 역(inverse) 매트릭스와 현재 프레임(300)의 시점 매트릭스를 곱한 결과와 이전 프레임(200)의 VPL 샘플링 정보를 이용하여 이전 프레임(200)에서 샘플링된 VPL들(212, 214, 216, 222, 224, 232)을 현재 프레임(300)에 투영할 수 있다. 또한, VPL 샘플링부(130)는 오브젝트별 모델 매트릭스를 이용하여 움직임이 있는 동적 오브젝트에 대한 이전 프레임(200)의 VPL 샘플링 정보를 현재 프레임(300)에 적용할 수 있다.
현재 프레임(300)에는 이전 프레임(200)의 제2 오브젝트 영역(220)에 대응하는 오브젝트 영역이 나타나지 않으므로 제2 오브젝트 영역(220)에서 샘플링된 VPL들(222, 224)은 현재 프레임(300)에 투영되지 않는다.
이전 프레임(200)과 현재 프레임(300) 간에는 시점의 차이, 전체적 또는 국지적인 밝기의 차이, 새로운 오브젝트의 등장 또는 기존 오브젝트의 움직임 등이 발생할 수 있다. 이러한 요인들에 의한 영향을 최소화하기 위해, VPL 샘플링부(130)는 이전 프레임(200)의 VPL 샘플링 결과가 적용된 현재 프레임(300)의 VPL 샘플링 결과를 조정할 수 있다. VPL 샘플링부(130)는 현재 프레임(300)의 오브젝트 영역별로 결정된 VPL 샘플링 개수를 만족하도록 현재 프레임(300)에 적용된 이전 프레임(200)의 VPL들을 제외한 새로운 VPL을 샘플링할 수 있다.
도 4는 현재 프레임(300)에 적용된 이전 프레임(200)의 VPL 샘플링 결과를 조정한 결과를 나타낸다. VPL 밀도 결정부(120)는 현재 프레임(300)에 나타난 오브젝트별로 오브젝트 영역들(310, 320, 330)을 설정하고, 오브젝트 영역들(310, 320, 330)의 밝기 분포에 기초하여 각 오브젝트 영역들(310, 320, 330)의 VPL 샘플링 개수를 결정할 수 있다. VPL 밀도 결정부(120)는, 예를 들어, 보다 밝은 오브젝트 영역에 보다 많은 VPL들이 샘플링되도록 현재 프레임(300)의 오브젝트 영역별로 VPL 샘플링 개수를 결정할 수 있다. VPL 샘플링부(130)는 오브젝트 영역별로 결정된 VPL 샘플링 개수를 만족하도록 이전 프레임(200)의 VPL 샘플링 결과가 적용된 현재 프레임(300)에서 오브젝트 영역별로 샘플링된 VPL의 개수를 조정할 수 있다.
도 4에서는 제1 오브젝트 영역(320)에 대해 결정된 VPL 샘플링 개수가 1 개이고, 제3 오브젝트 영역(310)에 대해 결정된 VPL 샘플링 개수가 3 개이며, 제4 오브젝트 영역(330)에 대해 결정된 VPL 샘플링 개수가 2 개라고 가정한다.
현재 프레임(300)에 특정 영역에 적용된 이전 프레임(200)의 VPL의 개수가 해당 영역에서 결정된 VPL 샘플링 개수보다 많은 경우, VPL 샘플링부(130)는 해당 영역에 대해 결정된 VPL 샘플링 개수를 만족하도록 현재 프레임(300)에 적용된 이전 프레임(200)의 VPL들 중 하나 이상의 VPL을 제거할 수 있다. 현재 프레임(300)의 제1 오브젝트 영역(320)에서 샘플링되어야 하는 VPL의 개수는 1 개인데, 이전 프레임(200)의 VPL 샘플링 결과가 적용된 후의 VPL의 개수는 3개(도 3의 제1 오브젝트 영역(320) 내 VPL들(322, 324, 326))이므로, VPL 샘플링부(130)는 제1 오브젝트 영역(320)에서 2개의 VPL들을 제거할 수 있다. VPL 샘플링부(130)는 제1 오브젝트 영역(320)에 적용된 이전 프레임(200)의 VPL들(322, 324, 326)의 밝기, 랜덤 함수 또는 특정 요소에 기초한 확률 함수 등을 통해 제거할 VPL들을 결정할 수 있다.
예를 들어, VPL들(322, 324, 326)의 밝기에 기초하는 경우, VPL 샘플링부(130)는 더 어두운 밝기 값을 가지는 VPL들을 우선적으로 제거할 수 있다. 랜덤 함수에 기초하는 경우, VPL 샘플링부(130)는 VPL들(322, 324, 326) 중에서 제거할 VPL들을 랜덤하게 결정할 수 있다. 도 4에는 VPL들(322, 324, 326) 중에서 VPL들(324, 326)이 제거된 결과가 도시되어 있다.
예를 들어, VPL 샘플링부(130)는 제1 오브젝트 영역(320)의 밝기 분포에 기초하여 보다 어두운 영역에 위치하였던 2개의 VPL들(324, 326)을 제거할 수 있다. 다른 예로, VPL 샘플링부(130)는 랜덤 함수 등을 이용하여 제1 오브젝트 영역(320) 내의 3개의 VPL들(322, 324, 326) 중에서 랜덤하게 선택된 2개의 VPL들을 제거할 수 있다.
현재 프레임(300)의 제3 오브젝트 영역(310)에서 샘플링되어야 하는 VPL의 개수는 3 개인데, 이전 프레임(200)의 VPL 샘플링 결과가 적용된 후의 VPL의 개수는 1 개(도 3의 제3 오브젝트 영역(310) 내 VPL(312))이므로, VPL 샘플링부(130)는 제3 오브젝트 영역(310) 내에 2개의 새로운 VPL들을 추가로 샘플링할 수 있다. VPL 샘플링부(130)는 이전 프레임(200)의 VPL(232)이 투영된 현재 프레임(300)의 VPL(312)을 유지하고, 2개의 새로운 VPL들을 샘플링할 수 있다.
예를 들어, VPL 샘플링부(130)는 제3 오브젝트 영역(310)의 밝기 분포에 기초하여 제3 오브젝트 영역(310) 내에 2개의 새로운 VPL들(412, 414)을 추가적으로 샘플링할 수 있다. VPL 샘플링부(130)는 중요도 샘플링 기법을 통해 제3 오브젝트 영역(310) 내에서 밝기에 따른 우선 순위에 따라 2개의 VPL들(412, 414)을 추가적으로 샘플링할 수 있다. 이 때, VPL 샘플링부(130)는 이전 프레임(200)의 VPL(232)이 현재 프레임(300)에 투영된 VPL(312)의 영역은 상대적으로 VPL이 샘플링될 확률을 낮게 설정하여 VPL(312)의 영역에 새로운 VPL이 샘플링되지 않도록 할 수 있다. 다른 예로, VPL 샘플링부(130)는 제3 오브젝트 영역(310) 내에서 2개의 새로운 VPL들이 샘플링될 위치들을 랜덤하게 결정하고, 결정된 위치들에 2개의 새로운 VPL들(412, 414)을 샘플링할 수 있다. 다른 예로, 현재 프레임(300)의 오브젝트 영역들(310, 320, 330)은 계층적(hierarchical)으로 구성될 수 있고, VPL 샘플링부(130)는 새로운 VPL이 샘플링될 제3 오브젝트 영역(310)에 포함된 각 서브 영역들의 중심 위치에 새로운 VPL을 샘플링할 수 있다.
현재 프레임(300)에 새로이 추가된 제4 오브젝트 영역(330)에 대한 VPL 샘플링 개수는 2 개이므로, VPL 샘플링부(130)는 제4 오브젝트 영역(330) 내에 2개의 VPL들(432, 434)을 샘플링할 수 있다. 오브젝트 4 영역(330)에서 샘플링할 2개의 새로운 VPL들(432, 434)는 제3 오브젝트 영역(310)에서 새로이 샘플링된 VPL들(412, 414)와 유사한 방법을 통해 샘플링될 수 있다. 예를 들어, VPL 샘플링부(130)는 제4 오브젝트 영역(330)의 밝기 분포에 따라 결정된 위치들 또는 랜덤 함수에 의해 랜덤하게 결정된 위치들에 새로운 2개의 VPL들(432, 434)을 샘플링할 수 있다.
도 5 내지 도 7은 일 실시예에 따른 중요도 맵을 이용하여 현재 프레임에서 VPL를 샘플링하는 일례를 설명하기 위한 도면들이다.
VPL 샘플링 과정에서 중요도 샘플링 기법이 이용되는 경우, VPL 샘플링부(130)는 이전 프레임의 VPL 정보가 반영된 중요도 맵을 이용하여 현재 프레임에 새로운 VPL을 추가적으로 샘플링할 수 있다. 중요도 샘플링에서, 확률 분포는 픽셀의 밝기에 따라 중요도(importance)가 결정되는 중요도 맵의 형태를 가지질 수 있다. 중요도 맵은 현재 프레임의 각 영역들에서 VPL이 샘플링될 확률 정보를 포함할 수 있고, 중요도 맵에 기반한 확률 분포에서 확률이 상대적으로 높은 영역은 VPL이 샘플링될 확률이 높을 수 있다. VPL 샘플링부(130)는 이전 프레임의 VPL 샘플링 결과를 현재 프레임의 중요도 맵에 반영하여 현재 프레임의 영역별로 샘플링되는 VPL의 개수를 조절할 수 있다.
도 5는 이전 프레임의 VPL 샘플링 결과가 투영된 현재 프레임(500)을 나타내는 도면이다. 현재 프레임(500)이 나타내는 이미지 공간에 제1 오브젝트 영역(510) 및 제2 오브젝트 영역(520)이 포함되어 있다. 제1 오브젝트 영역(510)에는 이전 프레임에서 샘플링된 2개의 VPL들에 대응하는 VPL들(512, 514)이 샘플링되어 있고, 제2 오브젝트 영역(520)에는 이전 프레임에서 샘플링된 1개의 VPL에 대응하는 VPL(522)이 샘플링되어 있다.
도 6은 중요도 맵을 이용하여 VPL을 샘플링하는 동작을 설명하기 위한 도면이다. VPL 샘플링부(130)는 현재 프레임(500)의 중요도 맵에서 이전 프레임의 VPL들이 투영된 영역들(612, 614, 622) 또는 영역들(612, 614, 622)의 주변 영역에서 VPL이 샘플링될 확률을 조정할 수 있다.
현재 프레임(500)에서 VPL을 샘플링하는 경우, VPL 샘플링부(130)는 현재 프레임(500)의 중요도 맵에 투영된 이전 프레임의 VPL들의 3D 위치에서 VPL이 샘플링될 확률이 낮아지거나 또는 높아지도록 해당 3D 위치의 중요도 값을 조정할 수 있다. 예를 들어, VPL 샘플링부(130)는 새로운 VPL이 샘플링되지 않도록 영역들(612, 614, 622)에서 VPL이 샘플링될 확률을 0으로 설정할 수 있다. 또는, VPL 샘플링부(130)는 임의의 커널(kernel)을 이용하여 영역들(612, 614, 622)의 주변 영역에서 VPL이 샘플링될 확률을 조정할 수 있다. VPL 샘플링부(130)는 VPL의 샘플링 확률이 조정된 중요도 맵에 기초하여 중요도 샘플링 기법을 수행할 수 있다. VPL 샘플링부(130)는 현재 프레임(500)에서 이전 프레임의 VPL들이 투영된 영역이 아닌 새로운 VPL이 추가될 영역을 결정할 수 있다.
이전 프레임의 VPL의 위치에 대응하는 현재 프레임(500) 내 영역들(612, 614, 622)의 확률 값이 원래 확률 값보다 낮은 값으로 설정되는 경우, 영역들(612, 614, 622)에서는 VPL이 샘플링되지 않을 확률이 상대적으로 높을 수 있다. 이 경우, 현재 프레임(500) 내에서 현재 프레임(500)에 투영된 이전 프레임의 VPL을 제외한 새로운 VPL이 샘플링될 수 있다. VPL 샘플링부(130)는 현재 프레임(500)에 투영된 이전 프레임의 VPL들과 추가적으로 샘플링된 VPL을 통합하여 현재 프레임(500)에 대한 전체 VPL 세트를 결정할 수 있다.
도 7은 현재 프레임(500)의 오브젝트 영역별로 결정된 VPL 샘플링 개수에 기초하여 조정된 현재 프레임(500)의 VPL 샘플링 결과를 나타낸다. 현재 프레임(500)의 제2 오브젝트 영역(520)에 새로운 VPL(724)가 추가로 샘플링되었고, 이전 프레임의 VPL(512)이 현재 프레임(500)의 제1 오브젝트 영역(510)에 투영된 VPL은 제거되었다.
도 8 내지 도 11은 다른 실시예에 따른 현재 프레임에서 VPL을 샘플링하는 일례를 설명하기 위한 도면들이다.
도 8 내지 도 11을 참고하면, VPL 밀도 결정부(120)는 현재 프레임의 전체 픽셀 영역을 규칙적(regular)인 형태 또는 불규칙적(irregular)인 형태를 가지는 복수의 그리드 영역들로 분할하고, 그리드 영역별로 VPL 샘플링 개수를 결정할 수 있다. VPL 밀도 결정부(120)는 각 그리드 영역들의 밝기 분포에 기초하여 그리드 영역별로 샘플링되어야 할 최적의 VPL 샘플링 개수를 결정할 수 있다.
VPL 샘플링부(130)는 그리드 영역별로 결정된 VPL 샘플링 개수에 기초하여 이전 프레임의 VPL들이 적용된 현재 프레임에서 샘플링된 VPL의 개수를 조정할 수 있다. VPL 샘플링부(130)는 그리드 영역별로 결정된 VPL 샘플링 개수와 현재 프레임에 투영된 이전 프레임의 VPL의 개수를 비교하고, 비교 결과에 기초하여 현재 프레임의 그리드 영역들에서 샘플링되는 VPL의 개수를 조정할 수 있다. 예를 들어, VPL 샘플링부(130)는 현재 영상 프레임에 투영된 이전 영상 프레임의 VPL를 유지 또는 제거하거나, 또는 새로운 VPL을 추가적으로 샘플링할 수 있다. VPL 샘플링부(130)는 그리드 영역별로 VPL을 샘플링하는 것에 의해 VPL을 보다 신속하게 샘플링할 수 있다.
도 8 내지 도 11에 따른 VPL 샘플링 과정은 도 2 내지 도 4에 따른 VPL 샘플링 과정과 유사하다. 다만, 도 8 내지 도 11에 따른 VPL 샘플링 과정은 도 2 내지 도 4에 따른 VPL 샘플링 과정과 달리, VPL 샘플링 개수가 현재 프레임의 그리드 영역 단위로 결정되고, 영역별 VPL 샘플링 개수가 그리드 영역 단위로 조정된다는 점에서 차이가 있다.
도 8은 2 개의 오브젝트 영역들(810, 820)을 포함하는 이전 프레임(800)을 나타낸다. 이전 프레임(800)에서, 제1 오브젝트 영역(810)에 2개의 VPL들(812, 814), 제2 오브젝트 영역(820)에 4개의 VPL들(821, 822, 824, 828)이 샘플링되어 있다.
도 9는 이전 프레임(800)의 VPL 샘플링 결과가 적용된 현재 프레임(900)을 나타낸다. 현재 프레임(900)에는, 이전 프레임(800)의 제1 오브젝트 영역(810)에 대응하는 제1 오브젝트 영역(910), 이전 프레임(800)의 제2 오브젝트 영역(820)에 대응하는 제2 오브젝트 영역(920)이 도시되어 있다. 그리고, 새로운 제3 오브젝트 영역(930)이 추가적으로 현재 프레임(900)에 포함되어 있다. 이전 프레임(800)과 현재 프레임(900) 간의 시점 차이에 의해 이전 프레임(800)의 제1 오브젝트 영역(810) 및 제2 오브젝트 영역(820)의 형태가 현재 프레임(900)에서 다르게 표현되어 있다.
이전 프레임(800)의 VPL 샘플링 결과가 현재 프레임(900)에 적용됨에 따라, 이전 프레임(800)의 제1 오브젝트 영역(810)에서 샘플링되었던 VPL들(812, 814)이 현재 프레임(900)의 제1 오브젝트 영역(910)의 VPL들(912, 914)로 투영되어 있다. 그리고, 이전 프레임(800)의 제2 오브젝트 영역(820)에서 샘플링되었던 VPL들(821, 822, 824, 828)이 현재 프레임(900)의 제2 오브젝트 영역(920)의 VPL들(924, 926, 928)로 투영되어 있다. VPL(922)는 이전 프레임(800)과 현재 프레임(900) 간의 시점 차이에 의해 현재 프레임(900)에 투영되지 않았다.
도 10에는 현재 프레임(900)의 그리드 영역별로 결정된 VPL 샘플링 개수가 도시되어 있다. VPL 샘플링부(130)는 현재 프레임(900)의 그리드 영역별로 VPL 샘플링 개수를 결정할 수 있다. 도 8 내지 도 11의 실시예에서는, 제1 그리드 영역(1010)에 대한 VPL 샘플링 개수가 2 개이고, 그리드 영역들(1020, 1030, 1040, 1050)에 대한 VPL 샘플링 개수가 1 개인 것으로 결정되었으며, 그 외의 그리드 영역들에서는 VPL 샘플링 개수가 0 개인 것으로 결정되었다고 가정한다.
도 11은 각각의 그리드 영역별로 결정된 VPL 샘플링 개수에 따라 현재 프레임(900)에서 VPL을 샘플링한 결과를 나타낸다. VPL 샘플링부(130)는 현재 프레임(900)의 그리드 영역 단위로 샘플링되는 VPL의 개수를 조정될 수 있다.
현재 프레임(900)의 제1 그리드 영역(1010)에 대한 VPL 샘플링 개수는 2 개이고, 현재 프레임(900)의 제1 그리드 영역(1010)에 적용된 이전 프레임(800)의 VPL의 개수는 2 개(VPL들(912, 914))이므로, VPL 샘플링부(130)는 이전 프레임(800)에서 현재 프레임(900)의 제1 그리드 영역(1010)에 투영된 2개의 VPL들(912, 914)를 그대로 유지할 수 있다.
현재 프레임(900)의 제2 그리드 영역(1020) 및 제3 그리드 영역(1030)에 대한 VPL 샘플링 개수는 1 개이고, 현재 프레임(900)의 제2 그리드 영역(1020)에 적용된 이전 프레임(800)의 VPL의 개수는 0 개이므로, VPL 샘플링부(130)는 제2 그리드 영역(1020) 및 제3 그리드 영역(1030)에 각각 1개의 VPL를 추가로 샘플링할 수 있다. VPL 샘플링부(130)는 제2 그리드 영역(1020) 및 제3 그리드 영역(1030)의 밝기 분포에 기초하여 결정된 영역 또는 랜덤하게 결정된 영역에 새로운 VPL을 샘플링할 수 있다. 도 11에서는 제2 그리드 영역(1020)에 VPL(1132)가 샘플링되어 있고, 제3 그리드 영역(1030)에 VPL(1134)가 샘플링되어 있다.
현재 프레임(900)의 제4 그리드 영역(1040)에 대한 VPL 샘플링 개수는 1 개이고, 현재 프레임(900)의 제4 그리드 영역(1040)에 적용된 이전 프레임(800)의 VPL의 개수는 1 개(VPL(924))이므로, VPL 샘플링부(130)는 이전 프레임(800)에서 제4 그리드 영역(1040)에 투영된 1개의 VPL(924)를 그대로 유지할 수 있다.
현재 프레임(900)의 제5 그리드 영역(1050)에 대한 VPL 샘플링 개수는 1 개이고, 현재 프레임(900)의 제5 그리드 영역(1050)에 적용된 이전 프레임(800)의 VPL의 개수는 2 개(VPL들(926, 928))이므로, VPL 샘플링부(130)는 2개의 VPL들(926, 928) 중에서 어느 하나의 VPL을 제거할 수 있다. VPL 샘플링부(130)는 예를 들어, VPL들(926, 928) 중에서 밝기가 상대적으로 더 어두운 VPL 또는 랜덤하게 선택된 VPL을 제거할 수 있다. 도 11에서는 VPL(928)이 제거되고, VPL(926)이 유지된 결과가 도시되어 있다.
현재 프레임(900)에서, 그리드 영역들(1010, 1020, 1030, 1040, 1050)을 제외한 다른 그리드 영역들에 대한 VPL 샘플링 개수는 0 개이고, 이전 프레임(800)의 VPL 샘플링 결과가 적용된 후의 각 그리드 영역들(1010, 1020, 1030, 1040, 1050)의 VPL의 개수도 0 개이므로, VPL 샘플링부(130)는 그리드 영역들(1010, 1020, 1030, 1040, 1050)을 제외한 다른 그리드 영역들에서는 VPL을 추가적으로 샘플링하지 않는다.
도 12는 일 실시예에 따른 영상 처리 방법의 동작을 설명하기 위한 흐름도이다.
단계(1210)에서, 영상 처리 장치는 선택적으로 공간 필터링을 수행할 수 있다. 영상 처리 장치는, 예를 들어, 가우시안 커널을 현재 프레임에 적용하여 현재 프레임의 이미지 공간 및 오브젝트 상에서 급격한 변화가 생기는 영역을 필터링할 수 있다. 공간 필터링을 통해 샘플링되는 VPL들의 특성이 공간에 따라 급격하게 변하는 것을 방지할 수 있다.
단계(1220)에서, 영상 처리 장치는 현재 프레임의 영역별로 VPL 샘플링 개수를 결정할 수 있다. 영상 처리 장치는 현재 프레임을 그리드 영역, 오브젝트 영역, 또는 바운딩 박스 등의 영역 단위로 분할하고, 분할된 각 영역별로 VPL 샘플링 개수를 결정할 수 있다. 영상 처리 장치는, 예를 들어, 현재 프레임을 규칙적인 형태 또는 불규칙적인 형태를 가지는 복수의 그리드 영역들로 분할하고, 중요도 샘플링 기법을 이용하여 그리드 영역별로 VPL 샘플링 개수를 결정할 수 있다.
단계(1230)에서, 영상 처리 장치는 이전 프레임에서 샘플링된 VPL들을 현재 프레임에 적용할 수 있다. 영상 처리 장치는 이전 프레임에서 VPL들이 샘플링된 위치에 대응하는 현재 프레임 내 위치에 VPL을 샘플링할 수 있다. 영상 처리 장치는, 예를 들어, 시점 매트릭스, 투영 매트릭스 또는 오브젝트별 모델 매트릭스 등을 이용하여 이전 프레임의 이미지 공간에서 샘플링된 VPL들을 현재 프레임에 투영할 수 있다.
단계(1240)에서, 영상 처리 장치는 단계(1220)에서 결정된 VPL 샘플링 개수에 기초하여 이전 프레임의 VPL이 적용된 결과를 조정할 수 있다. 예를 들어, 영상 처리 장치는 그리드 영역별로 결정된 VPL 샘플링 개수에 따라 현재 프레임의 그리드 영역별로 샘플링된 VPL의 개수를 조정할 수 있다.
영상 처리 장치는 영역별로 결정된 VPL 샘플링 개수에 기초하여 현재 프레임에 투영된 이전 프레임의 VPL을 유지 또는 제거하거나, 또는 현재 프레임에서 새로운 VPL을 추가로 샘플링할 수 있다. 영상 처리 장치는 현재 프레임의 복수의 영역별로 결정된 VPL 샘플링 개수 및 현재 프레임 내 복수의 영역들에 투영된 이전 프레임의 VPL들의 개수를 비교하고, 비교 결과에 기초하여 현재 프레임 내 복수의 영역들에서 샘플링되는 VPL의 개수를 조정할 수 있다.
현재 프레임에 추가적으로 새로운 VPL을 샘플링하는 경우, 영상 처리 장치는 새로운 VPL이 추가되는 영역의 밝기 또는 미리 결정된 함수에 기초하여 결정된 우선 순위에 따라 새로운 VPL을 샘플링할 수 있다. 영상 처리 장치는 오브젝트의 움직임 또는 오브젝트의 재질 특성 등에 기초하여 새로운 VPL을 샘플링할 수도 있다. 예를 들어, 영상 처리 장치는 오브젝트의 움직임 또는 오브젝트의 재질 특성 등에 의해 플리커링이 발생할 확률이 높다고 판단한 영역에 새로운 VPL을 추가적으로 샘플링할 수 있다.
현재 프레임에 투영된 이전 프레임의 VPL을 제거하는 경우, 영상 처리 장치는, 예를 들어, 현재 프레임에 적용된 이전 프레임의 VPL의 밝기, 시점, 또는 미리 결정된 함수에 기초하여 결정된 우선 순위에 따라 현재 프레임에 투영된 이전 프레임의 VPL을 제거할 수 있다.
단계(1250)에서, 영상 처리 장치는 이전 프레임과 현재 프레임 간에 VPL들의 밝기가 급격하게 변화되지 않도록 선택적으로 현재 프레임에서 샘플링된 VPL들의 밝기를 조정할 수 있다. 영상 처리 장치는, 예를 들어, 이전 프레임에서 샘플링된 VPL들과 현재 프레임에서 샘플링된 VPL들 간의 밝기 차이가 미리 설정된 범위에 포함되도록 현재 프레임에서 샘플링된 VPL들의 밝기를 조정할 수 있다.
단계(1260)에서, 영상 처리 장치는 현재 프레임에서 샘플링된 VPL들에 기초하여 현재 프레임을 렌더링할 수 있다. 예를 들어, 영상 처리 장치는 현재 프레임에서 샘플링된 VPL들을 현재 프레임에 대한 라이트 시점 렌더링 영상에 배치하고, 배치된 VPL들에 기초하여 렌더링 영상에 간접 광 효과를 반영할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (26)

  1. 현재 프레임의 영역별로 VPL(virtual point light) 샘플링 개수를 결정하는 단계;
    이전 프레임에서 샘플링된 VPL들을 상기 현재 프레임에 적용하는 단계;
    상기 결정된 VPL 샘플링 개수에 기초하여 상기 이전 프레임의 VPL들이 적용된 결과를 조정하는 단계; 및
    상기 현재 프레임에서 샘플링된 VPL들에 기초하여 상기 현재 프레임을 렌더링하는 단계
    를 포함하고,
    상기 조정하는 단계는,
    상기 이전 프레임에서 샘플링된 VPL의 밝기에 기초하여 시간 필터링(temporal filtering)에 의해 상기 현재 프레임에서 샘플링된 VPL의 밝기를 조정하는 단계
    를 포함하는 영상 처리 방법.
  2. 제1항에 있어서,
    상기 조정하는 단계는,
    상기 결정된 VPL 샘플링 개수에 기초하여, 상기 이전 프레임의 VPL들이 적용된 현재 프레임의 영역별로 샘플링되는 VPL의 개수를 조정하는, 영상 처리 방법.
  3. 제1항에 있어서,
    상기 조정하는 단계는,
    상기 결정된 VPL 샘플링 개수를 만족하도록 상기 현재 프레임에 적용된 이전 프레임의 VPL들을 제외한 적어도 하나의 새로운 VPL을 샘플링하는 단계
    를 포함하는 영상 처리 방법.
  4. 제3항에 있어서,
    상기 샘플링하는 단계는,
    상기 새로운 VPL이 샘플링될 영역의 밝기 분포에 기초하여 상기 새로운 VPL이 샘플링될 위치를 결정하는 단계
    를 포함하는 영상 처리 방법.
  5. 제3항에 있어서,
    상기 샘플링하는 단계는,
    상기 새로운 VPL이 샘플링될 영역에서 상기 새로운 VPL이 샘플링될 위치를 랜덤하게 결정하는 단계
    를 포함하는 영상 처리 방법.
  6. 제3항에 있어서,
    상기 샘플링하는 단계는,
    상기 현재 프레임에 나타난 오브젝트의 움직임 및 상기 오브젝트의 재질 특성 중 적어도 하나에 기초하여 상기 새로운 VPL이 샘플링될 위치를 결정하는 단계
    를 포함하는 영상 처리 방법.
  7. 제3항에 있어서,
    상기 샘플링하는 단계는,
    상기 새로운 VPL이 샘플링될 영역에 포함되는 각 서브 영역들의 중심 위치에 상기 새로운 VPL을 샘플링하는, 영상 처리 방법.
  8. 제1항에 있어서,
    상기 조정하는 단계는,
    상기 결정된 VPL 샘플링 개수를 만족하도록 상기 현재 프레임에 적용된 이전 프레임의 VPL들 중 적어도 하나의 VPL을 제거하는 단계
    를 포함하는 영상 처리 방법.
  9. 제8항에 있어서,
    상기 제거하는 단계는,
    상기 현재 프레임에 적용된 이전 프레임의 VPL의 밝기에 기초하여 상기 현재 프레임에 적용된 이전 프레임의 VPL들 중 제거할 VPL을 결정하는 단계
    를 포함하는 영상 처리 방법.
  10. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 현재 프레임에 복수의 오브젝트 영역들을 설정하는 단계; 및
    상기 설정된 오브젝트 영역별로 상기 VPL 샘플링 개수를 결정하는 단계
    를 포함하는 영상 처리 방법.
  11. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 현재 프레임에 복수의 그리드(grid) 영역들을 설정하는 단계; 및
    상기 설정된 그리드 영역별로 상기 VPL 샘플링 개수를 결정하는 단계
    를 포함하는 영상 처리 방법.
  12. 제1항에 있어서,
    상기 적용하는 단계는,
    상기 이전 프레임에서 VPL들이 샘플링된 위치에 대응하는 상기 현재 프레임 내 위치에 VPL을 샘플링하는, 영상 처리 방법.
  13. 제1항에 있어서,
    상기 적용하는 단계는,
    시점 매트릭스(view matrix), 투영 매트릭스(projection matrix) 및 모델 매트릭스(model matrix) 중 적어도 하나를 이용하여 상기 이전 프레임에서 샘플링된 VPL들을 상기 현재 프레임에 적용하는, 영상 처리 방법.
  14. 삭제
  15. 제1항에 있어서,
    상기 현재 프레임에 공간 필터링(spatial filtering)을 수행하는 단계
    를 더 포함하고,
    상기 결정하는 단계는,
    상기 공간 필터링이 수행된 현재 프레임의 영역별로 VPL 샘플링 개수를 결정하는, 영상 처리 방법.
  16. 제1항에 있어서,
    상기 결정하는 단계는,
    현재 프레임에 설정된 그리드 영역별로 VPL 샘플링 개수를 결정하고,
    상기 조정하는 단계는,
    상기 결정된 VPL 샘플링 개수에 기초하여 상기 현재 프레임의 그리드 영역별로 샘플링된 VPL의 개수를 조정하는, 영상 처리 방법.
  17. 제16항에 있어서,
    상기 결정하는 단계는,
    상기 그리드 영역들 각각의 밝기 정보에 기초하여 그리드 영역별로 VPL 샘플링 개수를 결정하는, 영상 처리 방법.
  18. 제16항에 있어서,
    상기 조정하는 단계는,
    상기 결정된 VPL 샘플링 개수에 기초하여, 상기 이전 프레임의 VPL들이 적용된 현재 프레임의 그리드 영역별로 VPL의 개수를 조정하는, 영상 처리 방법.
  19. 제1항 내지 제13항 및 제15항 내지 제18항의 방법 중 어느 한 항을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체.
  20. 현재 프레임의 영역별로 VPL 샘플링 개수를 결정하는 VPL 밀도 결정부;
    이전 프레임에서 샘플링된 VPL들을 상기 현재 프레임에 적용하고, 상기 결정된 VPL 샘플링 개수에 기초하여 상기 이전 프레임의 VPL들이 적용된 결과를 조정하는 VPL 샘플링부; 및
    상기 현재 프레임에서 샘플링된 VPL들에 기초하여 상기 현재 프레임을 렌더링하는 렌더링부
    를 포함하고,
    상기 이전 프레임에서 샘플링된 VPL의 밝기에 기초하여 시간 필터링(temporal filtering)에 의해 상기 현재 프레임에서 샘플링된 VPL의 밝기를 조정하는 시간 필터링 수행부
    를 더 포함하는 영상 처리 장치.
  21. 삭제
  22. 제20항에 있어서,
    상기 현재 프레임에 공간 필터를 적용하여 공간 필터링을 수행하는 공간 필터링 수행부
    를 더 포함하고,
    상기 VPL 밀도 결정부는, 상기 공간 필터링이 수행된 현재 프레임의 영역별로 샘플링될 VPL의 개수를 결정하는 영상 처리 장치.
  23. 제20항에 있어서,
    상기 VPL 샘플링부는,
    상기 결정된 VPL 샘플링 개수에 기초하여, 상기 이전 프레임의 VPL들이 적용된 현재 프레임의 영역별로 VPL의 개수를 조정하는, 영상 처리 장치.
  24. 제20항에 있어서,
    상기 VPL 밀도 결정부는,
    상기 현재 프레임에 복수의 그리드 영역들을 설정하고, 상기 설정된 그리드 영역별로 상기 VPL 샘플링 개수를 결정하는, 영상 처리 장치.
  25. 제24항에 있어서,
    상기 VPL 밀도 결정부는,
    상기 그리드 영역들 각각의 밝기 정보에 기초하여 그리드 영역별로 상기 VPL 샘플링 개수를 결정하는, 영상 처리 장치.
  26. 현재 프레임의 그리드 영역별로 VPL 샘플링 개수를 결정하는 VPL 밀도 결정부;
    이전 프레임에서 샘플링된 VPL들을 상기 현재 프레임에 적용하고, 상기 결정된 VPL 샘플링 개수에 기초하여 상기 그리드 영역별로 상기 이전 프레임의 VPL들이 적용된 결과를 조정하는 VPL 샘플링부; 및
    상기 현재 프레임에서 샘플링된 VPL들에 기초하여 상기 현재 프레임을 렌더링하는 렌더링부
    를 포함하고,
    상기 이전 프레임에서 샘플링된 VPL의 밝기에 기초하여 시간 필터링(temporal filtering)에 의해 상기 현재 프레임에서 샘플링된 VPL의 밝기를 조정하는 시간 필터링 수행부
    를 더 포함하는, 영상 처리 장치.
KR1020140187465A 2014-05-09 2014-12-23 영상 처리 방법 및 장치 KR102306774B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510187622.4A CN105096375B (zh) 2014-05-09 2015-04-20 图像处理方法和设备
JP2015090585A JP6543508B2 (ja) 2014-05-09 2015-04-27 映像処理方法及び装置
EP15166965.2A EP2942755B1 (en) 2014-05-09 2015-05-08 Image processing method and apparatus
US14/707,761 US10403034B2 (en) 2014-05-09 2015-05-08 Image processing method and apparatus for rendering an image based on virtual point light (VPL) samplings

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020140055875 2014-05-09
KR20140055875 2014-05-09

Publications (2)

Publication Number Publication Date
KR20150128536A KR20150128536A (ko) 2015-11-18
KR102306774B1 true KR102306774B1 (ko) 2021-09-30

Family

ID=54839098

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140187465A KR102306774B1 (ko) 2014-05-09 2014-12-23 영상 처리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102306774B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200040175A (ko) 2018-10-08 2020-04-17 주식회사 국일인토트 내, 외장재용 준불연 복합 판넬 및 복합 판넬용 불연층의 제조 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8542231B2 (en) * 2009-06-29 2013-09-24 Crytek Gmbh Method, computer graphics image rendering system and computer-readable data storage medium for computing of indirect illumination in a computer graphics image of a scene

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101601687B1 (ko) * 2009-09-22 2016-03-09 삼성전자주식회사 영상 처리 장치 및 방법
KR20120062542A (ko) * 2010-12-06 2012-06-14 삼성전자주식회사 영상 처리 장치 및 방법
KR101845225B1 (ko) * 2011-06-30 2018-04-04 삼성전자주식회사 영상 처리 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8542231B2 (en) * 2009-06-29 2013-09-24 Crytek Gmbh Method, computer graphics image rendering system and computer-readable data storage medium for computing of indirect illumination in a computer graphics image of a scene

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Georgiev et al., "Simple and Robust Iterative Importance Sampling of Virtual Point Lights", EUROGRAPHICS 2010, p1-4,(2010.12.31.)
Jiawei Ou et al., "LightSlice: Matrix Slice Sampling for the Many-Lights Problem", ACM Transactions on Graphics, Vol. 30, No. 6, Article 179, p1-8(2011.12.31.)*
Samuli Laine et al., "Incremental Instant Radiosity for Real-Time Indirect Illumination", Eurographics Symposium on Rendering, p1-10,(2007.06.01.)*

Also Published As

Publication number Publication date
KR20150128536A (ko) 2015-11-18

Similar Documents

Publication Publication Date Title
JP6910130B2 (ja) 3dレンダリング方法及び3dレンダリング装置
JP6543508B2 (ja) 映像処理方法及び装置
KR102046616B1 (ko) 오브젝트 및/또는 프리미티브 식별자들을 추적하는 것에 의한 그래픽스 프로세싱 강화
KR102292923B1 (ko) 3d 렌더링 방법 및 장치
KR102281162B1 (ko) 영상 처리 장치 및 방법
EP2927877B1 (en) Method and apparatus for rendering same regions of multi frames
KR102558737B1 (ko) 3d 렌더링 방법 및 장치
US10121221B2 (en) Method and apparatus to accelerate rendering of graphics images
KR20170016318A (ko) 고 분해능 디스플레이 버퍼들의 효율적인 구성을 위한 방법
CN106558090B (zh) 3d渲染和阴影信息存储方法和设备
US9639971B2 (en) Image processing apparatus and method for processing transparency information of drawing commands
KR102250254B1 (ko) 영상 처리 방법 및 장치
US10157494B2 (en) Apparatus and method for processing virtual point lights in an image
US9773341B2 (en) Rendering cover geometry without internal edges
KR20160072532A (ko) 영상 처리 장치 및 방법
KR102399686B1 (ko) 3d 렌더링 방법 및 장치
CN112233220A (zh) 基于OpenSceneGraph的体积光生成方法、装置、设备和存储介质
KR102558739B1 (ko) 3d 렌더링 방법 및 장치
KR102281180B1 (ko) 영상 처리 장치 및 방법
KR102306774B1 (ko) 영상 처리 방법 및 장치
US9715758B2 (en) Image processing apparatus and method using virtual point light (VPL) information
KR20150009906A (ko) 영상 처리 장치 및 방법
US9449423B2 (en) Apparatus and method for image processing
CN114627221B (zh) 一种场景渲染方法、装置及运行器、可读存储介质
CN115803770A (zh) 分箱硬件中的细粒度重放控制

Legal Events

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