KR101955552B1 - 사운드 트레이싱 코어 및 이를 포함하는 사운드 트레이싱 시스템 - Google Patents
사운드 트레이싱 코어 및 이를 포함하는 사운드 트레이싱 시스템 Download PDFInfo
- Publication number
- KR101955552B1 KR101955552B1 KR1020170161547A KR20170161547A KR101955552B1 KR 101955552 B1 KR101955552 B1 KR 101955552B1 KR 1020170161547 A KR1020170161547 A KR 1020170161547A KR 20170161547 A KR20170161547 A KR 20170161547A KR 101955552 B1 KR101955552 B1 KR 101955552B1
- Authority
- KR
- South Korea
- Prior art keywords
- sound
- unit
- path
- ray
- propagation
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S7/00—Indicating arrangements; Control arrangements, e.g. balance control
- H04S7/30—Control circuits for electronic adaptation of the sound field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2420/00—Techniques used stereophonic systems covered by H04S but not provided for in its groups
- H04S2420/03—Application of parametric coding in stereophonic audio systems
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Soundproofing, Sound Blocking, And Sound Damping (AREA)
Abstract
사운드 트레이싱 코어는 음원(sound source)의 음향 레이(acoustic ray)를 생성하는 음향 레이 생성부, 가속 구조(AS, Acceleration Structure)에서 상기 음향 레이와의 충돌 지점을 확인하는 T&I 유닛(Traversal & Intersection Unit), 상기 충돌 지점이 확인되면 해당 음향 지오메트리(acoustic geometry)를 기초로 투과음(penetration sound)을 위한 직접경로탐색, 반사음(reflection sound) 또는 회절음(diffraction sound)을 위한 전파경로탐색 및 반향음(reverb sound) 생성을 수행하는 사운드 엔진 유닛 및 상기 확인된 충돌 지점에 관한 충돌 응답(IR, Impulse Response)을 기초로 상기 투과음, 반사음, 회절음 및 반향음 중 적어도 일부를 중첩하여 사운드 렌더링을 수행하는 충돌 응답 산출 유닛을 포함한다.
Description
본 발명은 사운드 처리 기술에 관한 것으로, 보다 상세하게는, 다수의 음원들을 실시간으로 처리하면서 높은 면적 효율과 고속 동작을 구현할 수 있는 사운드 트레이싱 코어 및 이를 포함하는 사운드 트레이싱 시스템에 관한 것이다.
모바일 기술, 그래픽스 기술 및 감각의 입/출력 기술 등의 발달에 따라 고품질의 청각적 공간감 재현을 위한 3D 사운드 기술 수요가 증가되고 있다. 이를 위해, 멀티채널오디오 시스템이나 머리전달함수(HRTF: Head Related Transfer Function)를 이용한 3D 사운드 기술이 사용될 수 있으나, 전용 스피커 시스템과 해당 스피커 시스템이 설치될 공간이 필요하고 가상공간상의 주변 환경과 복잡한 객체의 물질에 대한 물리적인 효과를 반영하기 어려워 현실감 있는 사운드를 재현하기에 한계가 있다.
이러한 한계를 극복하기 위해 다양한 3D 사운드 기술이 개발되고 있고, 그 중에서, 사운드 트레이싱 기술은 3D 기반의 레이 트레이싱 기술과 사운드 처리 기술을 융합한 기법으로, 리스너와 사운드 소스 사이의 사운드 전파 패스들을 추적하여 사운드를 생성할 수 있다.
사운드 트레이싱 기술의 파이프 라인은 사용자의 상호작용에 따른 사운드 효과의 생성하는 사운드 합성, 사운드 전파 및 사운드 생성의 단계로 구성될 수 있고, 그 중에서 사운드 전파 단계는 가상현실에 몰입감을 부여하는 가장 중요한 단계이지만 계산 복잡도가 높고 계산 시간이 가장 오래 걸려 이 단계의 가속여부가 사운드 트레이싱의 실시간 처리를 좌우하는 특징이 있다.
한국등록특허 제10-1004110호는 레이 트레이싱 코어 및 이를 포함하는 레이 트레이싱 칩에 관한 것으로, 스크린 좌표 값을 포함하는 아이 레이 생성 정보를 기초로 적어도 하나의 아이 레이(eye ray)를 생성하는 레이 생성부; 및 상기 적어도 하나의 아이 레이를 각각 입력받고, 가속 구조에서 상기 입력받은 아이 레이와 교차되는 삼각형(상기 삼각형은 공간을 구성함)이 있는지 여부를 각각 체크하는 MIMD 구조를 가지는 복수의 T&I 부들을 포함한다.
한국공개특허 제10-2015-045817호는 화상의 렌더링을 위하여 광선 추적을 수행하는 방법 및 장치에 관한 것으로, 생성된 1차 광선의 가속 구조의 탐색 결과에 기초하여, 교차 검사(intersection test)를 수행하는 단계, 상기 교차 검사의 수행 결과에 기초하여, 적어도 하나 이상의 종류에 대응하는 2차 광선들을 생성하는 단계, 상기 생성된 2차 광선들을 상기 종류별로 분류하여 상기 2차 광선의 출발점 및 방향을 나타내는 식별 정보를 저장하는 단계 및 상기 저장된 식별 정보를 이용하여 상기 교차 검사 및 쉐이딩(shading)을 수행하는 단계를 포함한다.
본 발명의 일 실시예는 다수의 음원들을 실시간으로 처리하면서 높은 면적 효율과 고속 동작을 구현할 수 있는 사운드 트레이싱 코어 및 이를 포함하는 사운드 트레이싱 시스템을 제공하고자 한다.
본 발명의 일 실시예는 청자의 위치나 가상공간에 제약 없는 사운드를 구현할 수 있고 지오메트리의 매질 속성에 따른 반사, 굴절, 회절 및 흡수를 반영하여 사실적인 잔향효과를 재현할 수 있는 사운드 트레이싱 코어 및 이를 포함하는 사운드 트레이싱 시스템을 제공하고자 한다.
본 발명의 일 실시예는 하드웨어로 처리되는 사운드 트레이싱을 통해 빠른 검증을 가능하여 콘텐츠 개발자가 버그에 대해 빠르게 대응할 수 있도록 지원하는 사운드 트레이싱 코어 및 이를 포함하는 사운드 트레이싱 시스템을 제공하고자 한다.
실시예들 중에서, 사운드 트레이싱 코어는 음원(sound source)의 음향 레이(acoustic ray)를 생성하는 음향 레이 생성부, 가속 구조(AS, Acceleration Structure)에서 상기 음향 레이와의 충돌 지점을 확인하는 T&I 유닛(Traversal & Intersection Unit), 상기 충돌 지점이 확인되면 해당 음향 지오메트리(acoustic geometry)를 기초로 투과음(penetration sound)을 위한 직접경로탐색, 반사음(reflection sound) 또는 회절음(diffraction sound)을 위한 전파경로탐색 및 반향음(reverb sound) 생성을 수행하는 사운드 엔진 유닛 및 상기 확인된 충돌 지점에 관한 충돌 응답(IR, Impulse Response)을 기초로 상기 투과음, 반사음, 회절음 및 반향음 중 적어도 일부를 중첩하여 사운드 렌더링을 수행하는 충돌 응답 산출 유닛을 포함한다.
상기 사운드 트레이싱 코어는 상기 음향 레이에서 파생되는 적어도 하나의 파생 음향 레이(derived acoustic ray)가 생성되면 상기 적어도 하나의 파생 음향 레이를 상기 음향 레이 생성부에 피드백하여 상기 사운드 렌더링의 수행 과정에서 상기 적어도 하나의 파생 음향 레이를 누적 반영하는 제어부를 더 포함할 수 있다.
상기 제어부는 사운드 전파 모드를 통해 상기 직접경로탐색, 전파경로탐색 및 반향음 생성의 순차적 수행을 제어할 수 있다.
상기 제어부는 상기 충돌 지점이 확인되면 상기 사운드 전파 모드를 직접경로탐색 모드로 설정하여 상기 사운드 엔진 유닛이 상기 음향 레이와 청자 간에 형성 가능한 적어도 직접경로(direct path)와 투과경로(transmission path)를 탐색하도록 제어할 수 있다.
상기 제어부는 상기 직접경로탐색 모드가 완료되면 상기 사운드 전파 모드를 전파경로탐색 모드로 설정하여 상기 사운드 엔진 유닛이 상기 음향 레이와 청자 간에 형성 가능한 반사경로(reflection path)와 회절경로(diffraction path)를 탐색하도록 제어할 수 있다.
상기 사운드 엔진 유닛은 상기 전파경로탐색 모드에서 상기 음향 레이와 청자 간에 형성 가능한 초기 반사경로(Early reflection path)를 탐색할 수 있다.
상기 제어부는 상기 전파경로탐색 모드가 완료되면 상기 사운드 전파 모드를 반향음 생성 모드로 설정하여 상기 사운드 엔진 유닛이 상기 음향 레이 중심의 제1 공간 영역과 청자 중심의 제2 공간 영역을 기초로 상기 반향음 생성을 위한 반향시간을 산출하도록 제어할 수 있다.
상기 사운드 엔진 유닛은 상기 반향음 생성 모드에서 후기 반향음(late reverberation sound)의 생성을 위해 특정 기준 데시벨 이하로 감소되기까지의 반향시간을 산출할 수 있다.
상기 사운드 엔진 유닛은 PPV 모듈(Propagation Path Validator module) 및 RGC 모듈(Reverb Geometry Collector module)을 통해 구현될 수 있다.
상기 사운드 엔진 유닛은 상기 전파경로탐색의 수행 과정에서 상기 음향 레이와 청자 간에 형성 가능한 산란(scattering), 방사(radiation) 및 결합(coupling)을 포함하는 회절 상황을 기초로 회절경로를 탐색할 수 있다.
상기 사운드 엔진 유닛은 상기 전파경로탐색의 수행 과정에서 상기 음향 레이와 청자 간에 형성 가능한 적어도 하나의 이미지 소스를 기초로 반사경로를 탐색할 수 있다.
상기 충돌 응답 산출 유닛은 상기 투과음, 반사음, 회절음 및 반향음 각각에 관해 경로 사운드 렌더링를 수행하여 해당 사운드 경로의 지연 시간과 소리 감쇠율을 산출하고, 반향 사운드 렌더링을 수행하여 소리 감쇠율과 피드백 게인을 산출할 수 있다.
실시예들 중에서, 사운드 트레이싱 시스템은 음향 지오메트리(acoustic geometry) 및 가속 구조(AS, Acceleration Structure)를 저장하는 외부 메모리, 음원(sound source), 레이 생성(ray generation) 및 물질 속성(material property)에 관한 정보를 저장하는 내부 작업 메모리 및 (1) 상기 음원의 음향 레이(acoustic ray)를 생성하는 음향 레이 생성부, (2) 상기 가속 구조에서 상기 음향 레이와의 충돌 지점을 확인하는 T&I 유닛(Traversal & Intersection Unit), (3) 상기 충돌 지점이 확인되면 해당 음향 지오메트리를 기초로 투과음(penetration sound)을 위한 직접경로탐색, 반사음(reflection sound) 또는 회절음(diffraction sound)을 위한 전파경로탐색 및 반향음(reverb sound) 생성을 수행하는 사운드 엔진 유닛 및 (4) 상기 확인된 충돌 지점에 관한 충돌 응답(IR, Impulse Response)을 기초로 상기 투과음, 반사음, 회절음 및 반향음 중 적어도 일부를 중첩하여 사운드 렌더링을 수행하는 충돌 응답 산출 유닛을 포함하는 사운드 전파 유닛을 포함한다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다 거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 사운드 트레이싱 코어 및 이를 포함하는 사운드 트레이싱 시스템은 다수의 음원들을 실시간으로 처리하면서 높은 면적 효율과 고속 동작을 구현할 수 있다.
본 발명의 일 실시예에 따른 사운드 트레이싱 코어 및 이를 포함하는 사운드 트레이싱 시스템은 다수의 음원들을 실시간으로 처리하면서 높은 면적 효율과 고속 동작을 구현할 수 있다.
본 발명의 일 실시예에 따른 사운드 트레이싱 코어 및 이를 포함하는 사운드 트레이싱 시스템은 청자의 위치나 가상공간에 제약 없는 사운드를 구현할 수 있고 지오메트리의 매질 속성에 따른 반사, 굴절, 회절 및 흡수를 반영하여 사실적인 잔향효과를 재현할 수 있다.
본 발명의 일 실시예에 따른 사운드 트레이싱 코어 및 이를 포함하는 사운드 트레이싱 시스템은 하드웨어로 처리되는 사운드 트레이싱을 통해 빠른 검증을 가능하여 콘텐츠 개발자가 버그에 대해 빠르게 대응할 수 있도록 지원한다.
도 1는 본 발명의 일 실시예에 따른 사운드 트레이싱 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 사운드 전파 유닛의 하드웨어 구조를 설명하기 위한 도면이다.
도 3은 도 1에 있는 사운드 트레이싱 코어가 사운드 전파 모드에 따라 사운드 트레이싱을 수행하는 과정을 설명하기 위한 일 실시 흐름도이다.
도 4는 도 1에 있는 사운드 트레이싱 시스템에서 사운드 트레이싱이 처리되는 과정을 설명하기 위한 일 실시 흐름도이다.
도 5는 도 1에 있는 사운드 트레이싱 시스템에서 사운드 트레이싱을 위해 사용되는 음향 지오메트리를 설명하기 위한 일 실시 도면이다.
도 2는 도 1에 있는 사운드 전파 유닛의 하드웨어 구조를 설명하기 위한 도면이다.
도 3은 도 1에 있는 사운드 트레이싱 코어가 사운드 전파 모드에 따라 사운드 트레이싱을 수행하는 과정을 설명하기 위한 일 실시 흐름도이다.
도 4는 도 1에 있는 사운드 트레이싱 시스템에서 사운드 트레이싱이 처리되는 과정을 설명하기 위한 일 실시 흐름도이다.
도 5는 도 1에 있는 사운드 트레이싱 시스템에서 사운드 트레이싱을 위해 사용되는 음향 지오메트리를 설명하기 위한 일 실시 도면이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다 거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에" 와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1는 본 발명의 일 실시예에 따른 사운드 트레이싱 시스템을 설명하는 도면이다. 보다 구체적으로, 도 1은 본 발명의 일 실시예에 따른 사운드 트레이싱 코어를 보드로 구성한 시스템을 나타낸다.
도 1을 참조하면, 사운드 트레이싱 시스템(100)은 CPU(110), 시스템 메모리(120), 사운드 트레이싱 코어(130) 및 외부 메모리(140)를 포함할 수 있고, 이들은 연결될 수 있다.
CPU(central processing unit)(110)는 3차원 어플리케이션을 처리할 수 있고, 3차원 게임 엔진 등의 어플리케이션(112), API(application programming interface)(114) 및 씬 매니저(scene manage)(116)를 포함할 수 있다. CPU(110)는 사운드 트레이싱 시스템(100)의 동작 전반을 제어할 수 있고, 시스템 메모리(120), 사운드 트레이싱 코어(130) 및 외부 메모리(140)와 전기적으로 연결되고 버스(bus)를 통해 통신하여 이들 간의 데이터 흐름을 제어할 수 있다.
시스템 메모리(system memory)(120)는 3차원 어플리케이션에 필요한 그래픽 데이터 정보를 저장할 수 있고, 지오메트리 씬(geometry scene)(122) 및 음원 데이터(sound source data)(124)를 포함할 수 있다. 지오메트리 씬(122) 및 음원 데이터(sound source data)(124)는 CPU(110)의 제어에 의해 사운드 트레이싱 코어(130)로 전달될 수 있다.
사운드 트레이싱 코어(130)는 버스 인터페이스 유닛(bus interface unit)(131), 내부 작업 메모리(internal working memory)(132), 스택 메모리(stack memory)(133), 사운드 전파 유닛(sound propagation unit)(134), 가속 구조 캐시(acceleration structure cache)(135), 지오메트리 캐시(geometry cache)(136) 및 성공 경로 버퍼(success path buffer)(137)를 포함할 수 있다. 사운드 트레이싱 코어(130)는 사운드 트레이싱을 위해 버스 인터페이스 유닛(131)을 통해 수신되어 내부 작업 메모리(132) 및 외부 메모리(140)에 저장된 정보들을 기초로 사운드 트레이싱을 수행하여 수행 결과를 CPU(110)에 제공할 수 있다.
외부 메모리(external memory)(140)는 음향 지오메트리 데이터(acoustic geometry data)(142), 가속 구조(AS, Acceleration Structure) 정보(144) 및 경로/반향 정보(path/reverb information)(146)를 포함할 수 있다. 음향 지오메트리 데이터(acoustic geometry data)(142)는 사운드 트레이싱을 수행하고자 하는 해당 프레임에 관한 음향 기하학 정보를 저장할 수 있다. 여기에서, 음향 기하학 정보는 공간구조를 기반으로 청각적 공간감을 재현하면서 빠른 속도로 사운드 트레이싱을 처리하기 위해 사운드 생성의 관점에서 주요한 공간정보들을 중심으로 구성될 수 있고, 예를 들어, 도 5에 도시된 것과 같이, 시각적 지오메트리(visual geometry) 대비 적어도 일부가 간소화된 기하 정보를 가질 수 있다. 일 실시예에서, 외부 메모리(140)는 사운드 트레이싱 코어(130)에 통합적으로 구현될 수 있다.
도 2는 도 1에 있는 사운드 전파 유닛의 하드웨어 구조를 설명하기 위한 도면이다.
도 2를 참조하면 사운드 전파 유닛(134)은 음향 레이 생성부(210), T&I 유닛(Traversal & Intersection Unit)(220), 충돌 지점 산출 유닛(Hit Point Calculating Unit)(230), 사운드 엔진 유닛(240), 충돌 응답 산출 유닛(Impulse Response Calculating Unit)(250) 및 제어부(260)를 포함할 수 있다.
음향 레이 생성부(210)는 음원(sound source)의 음향 레이(acoustic ray)를 생성한다. 일 실시에에서, 음향 레이 생성부(210)는 음원에 있는 가시성 테스트 레이(visibility test ray) 생성 정보 또는 사운드 전파 레이(sound propagation ray) 생성 정보를 이용하여 음향 레이를 생성할 수 있다.
일 실시예에서, 가시성 테스트 레이 생성 정보는 청자 레이(listener ray) 생성 정보 및 사운드 레이(sound ray) 생성 정보를 포함할 수 있고, 사운드 전파 레이 생성 정보는 사운드 전파 레이의 유형, 생성될 레이의 원점 정보 및 생성될 레이의 방향 정보 중 적어도 하나를 포함할 수 있고, 레이 유형에 따른 부가 정보를 더 포함할 수 있다. 일 실시예에서, 사운드 전파 레이의 유형은 가시성 테스트 반사 레이(visibility test reflection ray), 경로 테스트 레이(path test ray) 및 널 레이(null ray)를 포함할 수 있다.
일 실시에에서, 음향 레이 생성부(210)는 제어부(260)에 의해 가시성 테스트 레이 생성 정보 및 사운드 전파 레이 생성 정보 중 적어도 하나가 준비되면 제어부(260)로부터 해당 정보를 전달 받을 수 있고, 전달된 정보를 기초로 음향 레이의 기점(origin)과 방향(direction)을 계산할 수 있으며, 계산된 방향을 정규화(normalization)하여 음향 레이의 길이를 연산할 수 있다. 음향 레이 생성부(210)는 생성된 음향 레이를 T&I 유닛(220)에 제공할 수 있다.
T&I 유닛(220)은 가속 구조에서 음향 레이와의 충돌 지점을 확인한다. 일 실시예에서, T&I 유닛(220)은 음향 레이 생성부(210)에 의해 생성되고 가시성 테스트 레이, 가시성 테스트 반사 레이 및 경로 테스트 레이를 포함하는 음향 레이를 T&I 입력 버퍼(222)를 통해 읽어올 수 있고, 외부 메모리(140)의 가속 구조 정보(114)에 있는 가속 구조를 가속 구조 캐시(135)를 통해 읽어올 수 있다. T&I 유닛(220)은 가속 구조 상에서 음향 레이와 충돌하는 공간을 구성하는 삼각형(triangle)이 있는지 여부를 분석할 수 있고, 일 실시예에서, 가속 구조에 대한 횡단 테스트(traversal test)와 레이-삼각형 교차 테스트(ray-triangle intersection test)를 반복 수행하여 충돌 여부에 관한 정보를 검출할 수 있다. T&I 유닛(220)은 해당 분석 결과를 T&I 출력 버퍼(224)에 저장할 수 있다.
충돌 지점 산출 유닛(230)은 T&I 유닛(220)로부터 음향 레이와의 충돌 지점에 관한 분석 결과를 수신하여 충돌 지점(hit point)을 산출할 수 있다. 보다 구체적으로, 충돌 지점 산출 유닛(230)은 T&I 출력 버퍼(222)로부터 전달된 분석 결과를 기초로 음향 레이와 지오메트리 사이의 교차점을 산출할 수 있다. 일 실시예에서, 충돌 지점 산출 유닛(230)은 충돌 발생이 확인되지 않는 레이 미스(ray miss)의 경우에는 별도의 연산 없이 수신된 신호를 바이패스(bypass) 시킬 수 있고, 충돌 발생이 확인되는 경우에는 해당 충돌 삼각형 식별자(hit triangle identifier)에 대한 삼각형 정보 데이터(triangle information data)를 요청할 수 있으며, 예를 들어, 외부 메모리(140)의 가속 구조 정보(114)에 있는 해당 충돌 삼각형 식별자에 대한 삼각형 정보 데이터를 삼각형 정보 캐시(232)를 통해 읽어올 수 있다. 충돌 지점 산출 유닛(230)은 계산된 충돌 지점 및 해당 삼각형 정보 데이터를 사운드 엔진 유닛(240)에 제공할 수 있다.
사운드 엔진 유닛(240)은 충돌 지점이 확인되면 해당 음향 지오메트리(acoustic geometry)를 기초로 투과음(penetration sound)을 위한 직접경로탐색, 반사음(reflection sound) 또는 회절음(diffraction sound)을 위한 전파경로탐색 및 반향음(reverb sound) 생성을 수행한다.
보다 구체적으로, 사운드 엔진 유닛(240)은 충돌 지점에 관한 분석 정보를 해당 음향 지오메트리에 반영하여 해당 음향 레이와 청자(listener) 간에 형성 가능한 사운드 전파 경로(sound propagation path)를 탐색할 수 있다. 여기에서, 사운드 전파 경로는 직접경로(direct path), 투과경로(transmission path), 반사경로(reflection path) 및 회절경로(diffraction path)를 포함할 수 있다. 직접경로는 청자와 음향 레이 간에 장애물이 없어 사운드가 직접적으로 청자에게 전달되는 경로를 나타내고, 투과경로는 청자와 음향 레이 간에 장애물이 있어 사운드가 해당 장애물을 투과하여 청자에게 전달되는 경로를 나타내며, 반사경로는 사운드가 장애물과 충돌 후 반사되어 청자에게 전달되는 경로를 나타내고, 회절경로는 청자와 음향 레이 간에 장애물이 있고 파동성에 따라 사운드가 해당 장애물 주변의 일정 범위까지 휘어져 청자에게 전달되는 경로를 나타낸다.
사운드 엔진 유닛(240)은 제어부(260)에 의해 직접경로탐색 모드, 전파경로탐색 모드 및 반향음 생성 모드 중 하나가 결정되면 해당 결정된 모드에 따라 투과음의 생성을 위해 직접경로와 투과경로를 탐색하는 직접경로탐색을 수행하거나, 반사음이나 회절음의 생성을 위해 반사경로와 회절경로를 탐색하는 전파경로탐색을 수행하거나, 또는, 반향음의 생성을 위한 반향시간을 산출할 수 있다. 사운드 엔진 유닛(240)은 전달된 레이 특성에 따라 전파 경로 테스트를 수행할지 잔향 기하정보 수집을 수행할지 여부를 결정할 수 있다.
일 실시예에서, 사운드 엔진 유닛(240)은 전파경로탐색의 수행 과정에서 음향 레이와 청자 간에 형성 가능한 산란(scattering), 방사(radiation) 및 결합(coupling)을 포함하는 회절 상황을 기초로 회절경로를 탐색할 수 있고, 예를 들어, 균일 회절 이론(UTD, uniform theory diffraction)을 기초로 회절경로를 탐색할 수 있다.
일 실시예에서, 사운드 엔진 유닛(240)은 전파경로탐색의 수행 과정에서 음향 레이와 청자 간에 형성 가능한 적어도 하나의 이미지 소스(image source)를 기초로 반사경로를 탐색할 수 있고, 예를 들어, 음향 레이로부터 반사된 적어도 하나의 경로를 해당 반사된 적어도 하나의 미러 이미지를 통해 형성되는 직접 경로로 대체하는 이미지 소스 기법(image source method)을 기초로 반사경로를 탐색할 수 있다.
일 실시예에서, 사운드 엔진 유닛(240)은 전파경로탐색 모드에서 음향 레이와 청자 간에 형성 가능한 초기 반사경로(Early reflection path)를 탐색할 수 있고, 예를 들어, 음향 레이에서 청자로 전파해가는 과정에서 직접경로 이후로 도달되는 반사경로들 중 최초에 발생되는 경로에 해당하는 초기 반사경로를 반사음을 위한 반사경로로서 탐색할 수 있다. 마찬가지로, 사운드 엔진 유닛(240)은 음향 레이와 청자 간에 형성 가능한 초기 회절경로(Early diffraction path)를 탐색할 수 있다.
위의 실시예에서, 사운드 엔진 유닛(240)은 탐색된 복수의 반사경로들 중 초기 반사경로에 미리 설정된 제1 기준 가중치를 연관시키고, 나머지 반사경로들에 제1 기준 가중치보다 낮은 제2 기준 가중치를 연관시키어, 해당 가중치가 반영된 반사음이나 회절음이 산출되도록 할 수 있다. 일 실시예에서, 사운드 엔진 유닛(240)은 하기의 수학식 1을 기초로 제1 기준 가중치를 설정할 수 있고, 예를 들어, 해당 음향 레이에 대한 사운드 전파 시뮬레이션(도 4의 단계 S455 참조)을 3차례 반복되었다면(도 4의 단계 S435~S455의 반복횟수) 제1 기준 가중치를 1/3로 산출하여(n_dar=3), 초기 반사경로에 대해 산출된 1/3의 가중치를 적용하고, 나머지 반사경로들 3개(n_rpath=3)에 대해 각각 2/9의 가중치를 적용하여 이후의 반사음 생성에 반영되도록 할 수 있다.
[수학식 1]
v1 = 1/n_dar
v2 = (1 - v1)/n_rpath
(여기에서, v1은 제1 기준 가중치를 나타내며, v2는 제2 기준 가중치를 나타내고, n_dar은 사운드 전파 시뮬레이션 반복횟수를 나타내며, n_rpath는 초기 반사경로를 제외한 나머지 반사경로들의 개수를 나타냄)
사운드 엔진 유닛(240)은 음향 레이에서 파생되는 적어도 하나의 파생 음향 레이(derived acoustic ray)가 생성되면 제어부(260)에 파생 음향 레이에 관한 레이 생성 정보를 전달할 수 있고, 일 실시예에서, 전파경로탐색 모드나 전파경로탐색 모드에서 경로 테스트 레이, 청자 가시성 테스트 반사 레이(listener visibility test reflection ray) 및 널 레이(null ray)를 포함하는 레이 생성 정보를 제어부(260)에 피드백할 수 있다.
사운드 엔진 유닛(240)은 음향 레이와 청자 간의 직접경로, 투과경로, 회절경로 및 반사경로 중 적어도 하나가 검출되면 투과음, 반사음 및 회절음의 생성을 위한 충돌 응답(IR, impulse response)의 계산에 필요한 정보를 생성하여 충돌 응답 산출 유닛(250)에 전달할 수 있다.
사운드 엔진 유닛(240)은 반향음을 위한 반향시간(reverb time)의 산출에 요구되는 반향 지오메트리(reverb geometry) 정보를 산출할 수 있다. 여기에서, 반향시간은 자연스러운 반향음의 생성을 위한 주요 요소 중 하나에 해당한다.
사운드 엔진 유닛(240)은 반향음 생성 모드에서 제1 기준 데시벨 이하로 감소되기까지의 반향시간을 산출할 수 있다. 일 실시예에서, 사운드 엔진 유닛(240)은 음향 레이 중심의 제1 공간 영역과 청자 중심의 제2 공간 영역을 기초로 반향음 생성을 위한 반향시간을 산출할 수 있다. 보다 구체적으로, 사운드 엔진 유닛(240)은 청자 레이를 통해 탐색된 충돌 삼각형 정보에 해당하는 경로 삼각형(path triangle)와 음향 레이를 통해 탐색된 충돌 삼각형 정보에 해당하는 반향 삼각형(reverb triangle)를 기초로 반향시간을 산출할 수 있다. 사운드 엔진 유닛(240)은 이러한 과정에서 유효한 반향 정보를 산출하기 위해 경로 삼각형과 반향 삼각형 각각의 식별자를 비교하여 동일 식별자에 대한 삼각형 정보를 사용할 수 있다. 사운드 엔진 유닛(240)은 반향시간 연산에 필요한 정보로서 해당 경로 삼각형과 반향 삼각형의 삼각형 정보를 기초로 유효 영역의 넓이 및 부피를 산출할 수 있다.
사운드 엔진 유닛(240)은 반향음 생성 모드에서 후기 반향음(late reverberation sound)의 생성을 위해 특정 기준 데시벨 이하로 감소되기까지의 반향시간을 산출할 수 있고, 예를 들어, RT-60을 기초로 음량이 60 데시벨 아래로 떨어지는 시간을 반향시간으로 산출할 수 있다.
일 실시예에서, 사운드 엔진 유닛(240)은 산출된 복수의 반향시간들 중 중 후기 반향시간에 미리 설정된 제3 기준 가중치를 연관시키고, 나머지 반향시간에 제3 기준 가중치보다 낮은 제4 기준 가중치를 연관시키어, 해당 가중치가 반영된 반향음이 산출되도록 할 수 있다.
사운드 엔진 유닛(240)은 반향음 생성 모드에서 경로 테스트 레이, 음원 가시성 테스트 반사 레이(source visibility test reflection ray) 및 널 레이(null ray)를 포함하는 레이 생성 정보를 제어부(260)에 피드백할 수 있다.
일 실시예에서, 사운드 엔진 유닛(240)은 PPV 모듈(Propagation Path Validator module) 및 RGC 모듈(Reverb Geometry Collector module)을 통해 구현될 수 있다. 이러한 경우, 사운드 엔진 유닛(240)은 사운드 전파 모드에 따라 PPV 모듈과 RGC 모듈 중 하나의 출력 결과를 충돌 응답 산출 유닛(250)에 전달할 수 있고, 예를 들어, 전파경로탐색 모드에서 PPV 모듈의 출력을 전달하고 잔향음 생성 모드에서 RGC 모듈의 출력을 전달할 수 있다.
충돌 응답 산출 유닛(250)은 확인된 충돌 지점에 관한 충돌 응답(IR, Impulse Response)을 기초로 투과음, 반사음, 회절음 및 반향음 중 적어도 일부를 중첩하여 사운드 렌더링을 수행한다. 보다 구체적으로, 충돌 응답 산출 유닛(250)은 사운드 엔진 유닛(240)으로부터 제공된 정보들을 기초로 탐색된 적어도 하나의 사운드 경로 각각에 관해 경로 사운드 렌더링(path sound rendering)과 반향 사운드 렌더링(reverb sound rendering)을 수행하여 경로 사운드 렌더링 정보와 반향 사운드 렌더링 정보를 충돌 응답으로 생성할 수 있다.
충돌 응답 산출 유닛(250)은 투과음, 반사음, 회절음 및 반향음 각각에 관해 경로 사운드 렌더링을 수행하여 해당 사운드 경로의 지연 시간과 소리 감쇠율을 산출하고, 반향 사운드 렌더링을 수행하여 소리 감쇠율과 피드백 게인을 산출할 수 있다.
충돌 응답 산출 유닛(250)은 연산된 렌더링 정보를 성공 경로 버퍼(137)에 전달하여 성공 경로 버퍼(137)를 통해 외부 메모리(140)에 저장할 수 있다.
제어부(260)는 음향 레이에서 파생되는 적어도 하나의 파생 음향 레이가 생성되면 해당 적어도 하나의 파생 음향 레이를 음향 레이 생성부(210)에 피드백하여 사운드 렌더링의 수행 과정에서 해당 적어도 하나의 파생 음향 레이를 누적 반영할 수 있다. 보다 구체적으로, 제어부(260)는 사운드 엔진 유닛(240)에 의한 직접경로탐색, 전파경로탐색 및 반향음 생성 중 적어도 하나를 기초로 해당 적어도 하나의 사운드 경로에 관한 충돌 응답이 산출되면 이를 통해 생성되는 투과음, 반사음, 회절음 및 반향음 중 적어도 하나를 중첩하도록 제어할 수 있다. 일 실시예에서, 제어부(260)는 음원으로부터 생성된 최초의 음향 레이에서 더 이상의 파생 음향 레이가 추가 파생되지 않을 때까지 해당 누적 반영을 반복할 수 있다.
제어부(260)는 사운드 전파 모드를 통해 직접경로탐색, 전파경로탐색 및 반향음 생성의 순차적 수행을 제어할 수 있다. 일 실시예에서, 제어부(260)는 사운드 트레이싱의 시작 요청이 수신되면 시스템 메모리(120)의 지오메트리 씬(122) 및 음원 데이터(120)와 외부메모리(140)의 음향 지오메트리 데이터(142), 가속 구조 정보(144) 및 경로/잔향 정보(146) 중 적어도 일부를 가져와 내부 작업 메모리(132)에 저장할 수 있고, 내부 작업 메모리(132)에 저장된 정보와 외부 메모리(140)에 저장된 정보들을 기초로 가시성 테스트 레이 생성 정보를 준비할 수 있으며, 준비된 가시성 테스트 레이 생성 정보와 사운드 엔진 유닛(240)에 의해 생성된 사운드 전파 레이 생성 정보를 선택할 수 있다. 제어부(260)는 사운드 트레이싱의 동작 과정에서 사운드 전파 모드를 제어할 수 있고, 직접경로탐색을 위한 직접경로탐색 모드, 전파경로탐색을 위한 전파경로탐색 모드 및 반향음 생성을 위한 반향음 생성 모드 순으로 동작 모드가 제어되도록 할 수 있으며, 이러한 과정에서 동작 모드 별로 상태 전이가 이루어지도록 사운드 트레이싱 코어(130)의 동작 전반을 제어할 수 있다.
제어부(260)는 충돌 지점이 확인되면 사운드 전파 모드를 직접경로탐색 모드로 설정하여 사운드 엔진 유닛(240)이 음향 레이와 청자 간에 형성 가능한 적어도 직접경로와 투과경로를 탐색하도록 제어할 수 있다.
제어부(260)는 직접경로탐색 모드가 완료되면 사운드 전파 모드를 전파경로탐색 모드로 설정하여 사운드 엔진 유닛(240)이 음향 레이와 청자 간에 형성 가능한 반사경로와 회절경로를 탐색하도록 제어할 수 있다.
제어부(260)는 전파경로탐색 모드가 완료되면 사운드 전파 모드를 반향음 생성 모드로 설정하여 사운드 엔진 유닛(240)이 음향 레이 중심의 제1 공간 영역과 청자 중심의 제2 공간 영역을 기초로 반향음 생성을 위한 반향시간을 산출하도록 제어할 수 있다.
제어부(260)는 사운드 전파 유닛(134)의 동작 전반을 제어할 수 있고, 음향 레이 생성부(210), T&I 유닛(Traversal & Intersection Unit)(220), 충돌 지점 산출 유닛(Hit Point Calculating Unit)(230), 사운드 엔진 유닛(240) 및 충돌 응답 산출 유닛(Impulse Response Calculating Unit)(250) 간의 데이터 흐름을 제어할 수 있다.
도 3은 도 1에 있는 사운드 트레이싱 코어가 사운드 전파 모드에 따라 사운드 트레이싱을 수행하는 과정을 설명하기 위한 일 실시 흐름도이다.
도 3에서, 제어부(260)는 사운드 트레이싱이 시작되면 사운드 전파 모드를 직접경로탐색 모드로 설정하고 해당 모드에 따라 사운드 트레이싱 코어(130)의 동작 전반을 제어할 수 있다(단계 S310).
단계 S310에서, 제어부(260)는 직접경로탐색 모드에서 음원에 있는 가시성 테스트 레이 생성 정보를 음향 레이 생성부(210)에 제공하여 음향 레이 생성부(210)가 수신된 가시성 테스트 레이 생성 정보를 기초로 음향 레이를 생성하도록 제어할 수 있다. T&I 유닛(220)은 가속 구조에서 음향 레이와의 충돌 여부를 확인할 수 있고, 사운드 엔진 유닛(240)은 해당 음향 지오메트리를 기초로 투과음을 위한 직접경로탐색을 수행하여 직접경로와 투과경로를 탐색할 수 있다. 사운드 엔진 유닛(240)은 해당 탐색 과정에서 음향 레이로부터 파생된 파생 음향 레이의 생성에 따라 제어부(260)에 해당 파생 음향 레이에 관한 레이 생성 정보를 피드백할 수 있다. 충돌 응답 산출 유닛(250)은 직접경로와 투과경로 각각에 관한 감쇠율과 충돌 응답을 산출하여 투과음에 관한 사운드 렌더링을 수행할 수 있다.
제어부(260)는 직접경로탐색 모드가 완료되면 사운드 전파 모드를 전파경로탐색 모드로 설정하고 해당 모드에 따라 사운드 트레이싱 코어(130)의 동작 전반을 제어할 수 있다(단계 S320).
단계 S320에서, 제어부(260)는 전파경로탐색 모드에서 사운드 엔진 유닛(240)으로부터 수신된 파생 음향 레이에 관한 레이 생성 정보를 음향 레이 생성부(210)에 제공하여 음향 레이 생성부(210)가 해당 파생 음향 레이에 관한 레이 생성 정보를 기초로 추가 파생 음향 레이를 생성하도록 제어할 수 있다. T&I 유닛(220)은 가속 구조에서 해당 추가 파생 음향 레이와의 충돌 지점을 확인할 수 있고, 사운드 엔진 유닛(240)은 충돌 지점이 확인되면 해당 음향 지오메트리를 기초로 반사음이나 회절음을 위한 전파경로탐색을 수행하여 초기 반사경로 및 초기 회절경로를 탐색할 수 있다. 사운드 엔진 유닛(240)은 추가적인 파생 음향 레이가 더 생성되면 제어부(260)에 해당 추가적인 파생 음향 레이에 관한 레이 생성 정보를 피드백하고, 그렇지 않으면 해당 과정을 생략할 수 있다. 충돌 응답 산출 유닛(250)은 확인된 충돌 지점에 관한 충돌 응답 생성 정보를 기초로 탐색된 반사경로와 회절경로 각각에 관한 감쇠율과 충돌 응답을 산출하여 반사음이나 회절음에 관한 사운드 렌더링을 기 생성된 투과음에 누적 반영할 수 있다.
제어부(260)는 전파경로탐색 모드가 완료되면 사운드 전파 모드를 반향음 생성 모드로 설정하고 해당 모드에 따라 사운드 트레이싱 코어(130)의 동작 전반을 제어할 수 있다(단계 S330).
단계 S330에서, 제어부(260)는 반향음 생성 모드에서 사운드 엔진 유닛(240)이 확인된 충돌 지점과 해당 음향 지오메트리를 기초로 반향 지오메트리 정보를 생성하도록 할 수 있고, 사운드 엔진 유닛(240)은 해당 경로 삼각형과 반향 삼각형의 삼각형 정보를 기초로 유효 영역의 넓이 및 부피를 충돌 응답 생성 정보로 산출하며 이러한 과정에서 필요한 경우 해당 레이 생성 정보를 제어부(260)에 피드백할 수 있다. 충돌 응답 산출 유닛(250)은 충돌 응답 생성 정보를 기초로 각 경로에 관한 충돌 응답을 산출하여 경로 사운드 렌더링 정보와 반향 사운드 렌더링 정보를 생성할 수 있고, 기 생성된 투과음, 반사음 및 회절음에 누적 반영할 수 있다.
도 4는 도 1에 있는 사운드 트레이싱 시스템에서 사운드 트레이싱이 처리되는 과정을 설명하기 위한 일 실시 흐름도이다.
도 4에서, CPU(110)는 사운드 트레이싱을 위한 준비 작업을 수행할 수 있다. 먼저, CPU(110)는 어플리케이션(112)을 초기화할 수 있고(단계 S405), 가속 구조를 구축(construction)할 수 있다(단계 S410). 이러한 과정에서, CPU(110)는 사운드 트레이싱 코어(130)의 버스 인터페이스 유닛(131)을 통해 사운드 트레이싱 코어(130)와 연결된 외부 메모리(140)로 음향 지오메트리 데이터(142)와 가속 구조 정보(144)를 전달할 수 있다.
사운드 전파 유닛(134)은 사운드 트레이싱을 위한 초기화를 수행할 수 있다(단계 S415). 예를 들어, 사운드 전파 유닛(134)은 청자 위치와 방향(orientation), 음원 위치, 물질 특성(material property) 및 사운드 전파 유닛 옵션 정보에 관해 세팅할 수 있고, 음원 정보를 가져올 수 있다.
CPU(110)는 사운드 트레이싱을 위해 어플리케이션(112)를 가동(play)시킬 수 있다(단계 S420). CPU(110)는 청자의 움직임에 관한 키보드 입력과 청자의 방향에 관한 마우스 입력을 포함하는 이벤트의 발생 여부를 검출할 수 있다(단계 S425).
사운드 전파 유닛(134)은 해당 이벤트가 발생되면 업데이트를 수행할 수 있고(단계 S430), 예를 들어, 해당 이벤트에 따른 청자 위치와 방향, 음원 위치, 물질 특성 및 사운드 전파 유닛 옵션 정보에 관해 다시 세팅할 수 있으며, 업데이트가 완료되면 단계 S435을 수행할 수 있다.
사운드 전파 유닛(134)은 해당 이벤트가 발생되지 않았거나 상기 업데이트가 완료되면 사운드 트레이싱을 수행할 수 있다(단계 S435~445). CPU(110)는 사운드 전파 유닛(134)의 내부 작업 메모리(132)로 청자 정보, 음원 정보, 레이 생성 정보, 물질(material) 특성정보, 사운드 전파 유닛(134)의 레지스터 세팅을 위한 정보를 전달할 수 있고, 사운드 전파 유닛(134)은 레지스터 세팅이 완료되면 내부 작업 메모리(132)에 저장된 현재 프레임에 대한 정보를 이용하여 사운드 트레이싱을 수행할 수 있다. 이 때, CPU(110)는 해당 시뮬레이션이 끝날 때까지 대기할 수 있다.
보다 구체적으로, 사운드 전파 유닛(134)은 레이 셋업(ray setup)을 수행할 수 있다(단계 S435). 예를 들어, 사운드 전파 유닛(134)은 가시성 테스트 레이에 관한 청자 위치, 음원 위치 및 해당 영역(sphere)의 셀 정보와, 사운드 전파 레이에 관한 사운드 전파 시뮬레이션 결과를 기초로 레이 생성 정보에 관한 셋업을 수행할 수 있다.
사운드 전파 유닛(134)은 상기 서술한 것과 같이, 음향 레이를 생성할 수 있고(단계 S440), 가속 구조 음향 레이와의 충돌 지점을 확인하는 횡단 (traversal) 및 교차(intersection) 테스트를 수행할 수 있으며(단계 S445~450), 직접경로탐색, 전파경로탐색 및 반향음 생성을 수행하고 각 경로에 관한 충돌 응답을 산출하여 사운드 렌더링을 수행하는 사운드 전파 시뮬레이션을 수행할 수 있다(단계 S455). 사운드 전파 유닛(134)은 사운드 전파 시뮬레이션의 과정에서 초기 반사음을 위한 회절/반사 사운드 경로 시뮬레이션을 수행할 수 있고, 후기 반향음을 위한 경로/반향 지오메트리 수집 및 잔향시간 산출을 위한 파라미터들 연산을 수행할 수 있으며, 사운드 전파 레이 생성 정보를 세팅할 수 있다. 사운드 전파 유닛(134)은 생성된 사운드 전파 레이 정보를 단계 S435에 피드백하여 추가 파생 음향 레이가 생성되지 않을 때까지 단계 S435~S450을 반복할 수 있다.
성공 경로 버퍼(137)는 현재 프레임에 대한 사운드 트레이싱이 완료되면 사운드 전파 유닛(134)으로부터 전달된 경로/반향 사운드 렌더링 정보를 외부 메모리(140)로 전달할 수 있다(단계 S455). 사운드 전파 유닛(134)은 모든 렌더링 정보에 대한 전달이 완료되면 사운드 트레이싱이 완료되었음을 CPU(110)에 알릴 수 있다.
CPU(110)는 외부 메모리(140)로부터 경로/반향 렌더링 정보를 독출할 수 있고, 가져온 데이터를 기초로 가청화 소프트웨어를 수행하여 사운드를 생성할 수 있으며, 최종 생성된 사운드를 스피커나 헤드폰을 통해서 실시간으로 출력할 수 있다(단계 S460).
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 통상의 기술자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 사운드 트레이싱 시스템
110: CPU 120: 시스템 메모리
130: 사운드 트레이싱 코어
131: 버스 인터페이스 유닛 132: 내부 작업 메모리
133: 스택 메모리 134: 사운드 전파 유닛
135: 가속 구조 캐시 136: 지오메트리 캐시
137: 성공 경로 버퍼 140: 외부 메모리
210: 음향 레이 생성부 220: T&I 유닛
230: 충돌 지점 산출 유닛 240: 사운드 엔진 유닛
250: 충돌 응답 산출 유닛 260: 제어부
110: CPU 120: 시스템 메모리
130: 사운드 트레이싱 코어
131: 버스 인터페이스 유닛 132: 내부 작업 메모리
133: 스택 메모리 134: 사운드 전파 유닛
135: 가속 구조 캐시 136: 지오메트리 캐시
137: 성공 경로 버퍼 140: 외부 메모리
210: 음향 레이 생성부 220: T&I 유닛
230: 충돌 지점 산출 유닛 240: 사운드 엔진 유닛
250: 충돌 응답 산출 유닛 260: 제어부
Claims (13)
- 음원(sound source)의 음향 레이(acoustic ray)를 생성하는 음향 레이 생성부;
가속 구조(AS, Acceleration Structure)에서 상기 음향 레이와의 충돌 지점을 확인하는 T&I 유닛(Traversal & Intersection Unit);
상기 충돌 지점이 확인되면 사운드 전파 모드를 통해 해당 음향 지오메트리(acoustic geometry)를 기초로 투과음(penetration sound)을 위한 직접경로탐색, 복수의 반사 및 회절경로들 중 초기 반사 및 회절경로와 나머지 반사 및 회절경로들에 대해 사운드 전파 시뮬레이션 반복횟수에 따라 결정된 서로 다른 가중치를 반영하여 산출되는 반사음(reflection sound) 또는 회절음(diffraction sound)을 위한 전파경로탐색 및 반향음(reverb sound) 생성을 순차적으로 수행하는 사운드 엔진 유닛; 및
상기 확인된 충돌 지점에 관한 충돌 응답(IR, Impulse Response)을 기초로 상기 투과음, 반사음, 회절음 및 반향음 중 적어도 일부를 중첩하여 사운드 렌더링을 수행하는 충돌 응답 산출 유닛을 포함하는 사운드 트레이싱 코어.
- 제1항에 있어서,
상기 음향 레이에서 파생되는 적어도 하나의 파생 음향 레이(derived acoustic ray)가 생성되면 상기 적어도 하나의 파생 음향 레이를 상기 음향 레이 생성부에 피드백하여 상기 사운드 렌더링의 수행 과정에서 상기 적어도 하나의 파생 음향 레이를 누적 반영하는 제어부를 더 포함하는 것을 특징으로 하는 사운드 트레이싱 코어.
- 삭제
- 제2항에 있어서, 상기 제어부는
상기 충돌 지점이 확인되면 상기 사운드 전파 모드를 직접경로탐색 모드로 설정하여 상기 사운드 엔진 유닛이 상기 음향 레이와 청자 간에 형성 가능한 적어도 직접경로(direct path)와 투과경로(transmission path)를 탐색하도록 제어하는 것을 특징으로 하는 사운드 트레이싱 코어.
- 제4항에 있어서, 상기 제어부는
상기 직접경로탐색 모드가 완료되면 상기 사운드 전파 모드를 전파경로탐색 모드로 설정하여 상기 사운드 엔진 유닛이 상기 음향 레이와 청자 간에 형성 가능한 반사경로(reflection path)와 회절경로(diffraction path)를 탐색하도록 제어하는 것을 특징으로하는 사운드 트레이싱 코어.
- 제5항에 있어서, 상기 사운드 엔진 유닛은
상기 전파경로탐색 모드에서 상기 음향 레이와 청자 간에 형성 가능한 초기 반사경로(Early reflection path)를 탐색하는 것을 특징으로 하는 사운드 트레이싱 코어.
- 제5항에 있어서, 상기 제어부는
상기 전파경로탐색 모드가 완료되면 상기 사운드 전파 모드를 반향음 생성 모드로 설정하여 상기 사운드 엔진 유닛이 상기 음향 레이 중심의 제1 공간 영역과 청자 중심의 제2 공간 영역을 기초로 상기 반향음 생성을 위한 반향시간을 산출하도록 제어하는 것을 특징으로 하는 사운드 트레이싱 코어.
- 제7항에 있어서, 상기 사운드 엔진 유닛은
상기 반향음 생성 모드에서 후기 반향음(late reverberation sound)의 생성을 위해 특정 기준 데시벨 이하로 감소되기까지의 반향시간을 산출하는 것을 특징으로 하는 사운드 트레이싱 코어.
- 제1항에 있어서, 상기 사운드 엔진 유닛은
PPV 모듈(Propagation Path Validator module) 및 RGC 모듈(Reverb Geometry Collector module)을 통해 구현되는 것을 특징으로 하는 사운드 트레이싱 코어.
- 제1항에 있어서, 상기 사운드 엔진 유닛은
상기 전파경로탐색의 수행 과정에서 상기 음향 레이와 청자 간에 형성 가능한 산란(scattering), 방사(radiation) 및 결합(coupling)을 포함하는 회절 상황을 기초로 회절경로를 탐색하는 것을 특징으로 하는 사운드 트레이싱 코어.
- 제1항에 있어서, 상기 사운드 엔진 유닛은
상기 전파경로탐색의 수행 과정에서 상기 음향 레이와 청자 간에 형성 가능한 적어도 하나의 이미지 소스를 기초로 반사경로를 탐색하는 것을 특징으로 하는 사운드 트레이싱 코어.
- 제1항에 있어서, 상기 충돌 응답 산출 유닛은
상기 투과음, 반사음, 회절음 및 반향음 각각에 관해 경로 사운드 렌더링를 수행하여 해당 사운드 경로의 지연 시간과 소리 감쇠율을 산출하고, 반향 사운드 렌더링을 수행하여 소리 감쇠율과 피드백 게인을 산출하는 것을 특징으로 하는 사운드 트레이싱 코어.
- 음향 지오메트리(acoustic geometry) 및 가속 구조(AS, Acceleration Structure)를 저장하는 외부 메모리;
음원(sound source), 레이 생성(ray generation) 및 물질 속성(material property)에 관한 정보를 저장하는 내부 작업 메모리; 및
(1) 상기 음원의 음향 레이(acoustic ray)를 생성하는 음향 레이 생성부, (2) 상기 가속 구조에서 상기 음향 레이와의 충돌 지점을 확인하는 T&I 유닛(Traversal & Intersection Unit), (3) 상기 충돌 지점이 확인되면 사운드 전파 모드를 통해 해당 음향 지오메트리를 기초로 투과음(penetration sound)을 위한 직접경로탐색, 복수의 반사 및 회절경로들 중 초기 반사 및 회절경로와 나머지 반사 및 회절경로들에 대해 사운드 전파 시뮬레이션 반복횟수에 따라 결정된 서로 다른 가중치를 반영하여 산출되는 반사음(reflection sound) 또는 회절음(diffraction sound)을 위한 전파경로탐색 및 반향음(reverb sound) 생성을 순차적으로 수행하는 사운드 엔진 유닛 및 (4) 상기 확인된 충돌 지점에 관한 충돌 응답(IR, Impulse Response)을 기초로 상기 투과음, 반사음, 회절음 및 반향음 중 적어도 일부를 중첩하여 사운드 렌더링을 수행하는 충돌 응답 산출 유닛을 포함하는 사운드 전파 유닛을 포함하는 사운드 트레이싱 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170161547A KR101955552B1 (ko) | 2017-11-29 | 2017-11-29 | 사운드 트레이싱 코어 및 이를 포함하는 사운드 트레이싱 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170161547A KR101955552B1 (ko) | 2017-11-29 | 2017-11-29 | 사운드 트레이싱 코어 및 이를 포함하는 사운드 트레이싱 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101955552B1 true KR101955552B1 (ko) | 2019-03-07 |
Family
ID=65760800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170161547A KR101955552B1 (ko) | 2017-11-29 | 2017-11-29 | 사운드 트레이싱 코어 및 이를 포함하는 사운드 트레이싱 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101955552B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023120902A1 (ko) * | 2021-12-20 | 2023-06-29 | 세종대학교산학협력단 | 사운드 트레이싱의 회절을 위한 에지 검출 방법 및 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101004110B1 (ko) | 2009-05-28 | 2010-12-27 | 주식회사 실리콘아츠 | 레이 트레이싱 코어 및 이를 포함하는 레이 트레이싱 칩 |
KR20150045817A (ko) | 2013-10-21 | 2015-04-29 | 삼성전자주식회사 | 화상의 렌더링을 위하여 광선 추적을 수행하는 방법 및 장치. |
US20160034248A1 (en) * | 2014-07-29 | 2016-02-04 | The University Of North Carolina At Chapel Hill | Methods, systems, and computer readable media for conducting interactive sound propagation and rendering for a plurality of sound sources in a virtual environment scene |
KR20170023931A (ko) * | 2014-06-20 | 2017-03-06 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 동적 소스에 대한 실시간 사운드 전파를 위한 파라미터 파동 필드 코딩 |
-
2017
- 2017-11-29 KR KR1020170161547A patent/KR101955552B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101004110B1 (ko) | 2009-05-28 | 2010-12-27 | 주식회사 실리콘아츠 | 레이 트레이싱 코어 및 이를 포함하는 레이 트레이싱 칩 |
KR20150045817A (ko) | 2013-10-21 | 2015-04-29 | 삼성전자주식회사 | 화상의 렌더링을 위하여 광선 추적을 수행하는 방법 및 장치. |
KR20170023931A (ko) * | 2014-06-20 | 2017-03-06 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 동적 소스에 대한 실시간 사운드 전파를 위한 파라미터 파동 필드 코딩 |
US20160034248A1 (en) * | 2014-07-29 | 2016-02-04 | The University Of North Carolina At Chapel Hill | Methods, systems, and computer readable media for conducting interactive sound propagation and rendering for a plurality of sound sources in a virtual environment scene |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023120902A1 (ko) * | 2021-12-20 | 2023-06-29 | 세종대학교산학협력단 | 사운드 트레이싱의 회절을 위한 에지 검출 방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112567767B (zh) | 用于交互式音频环境的空间音频 | |
Funkhouser et al. | A beam tracing method for interactive architectural acoustics | |
US8139780B2 (en) | Using ray tracing for real time audio synthesis | |
US7146296B1 (en) | Acoustic modeling apparatus and method using accelerated beam tracing techniques | |
US20080069367A1 (en) | Dynamic acoustic rendering | |
CN108379842B (zh) | 游戏音频处理方法、装置、电子设备及存储介质 | |
US11924626B2 (en) | Sound tracing apparatus and method | |
Rosen et al. | Interactive sound propagation for dynamic scenes using 2D wave simulation | |
WO2021158273A1 (en) | Augmented reality virtual audio source enhancement | |
KR101955552B1 (ko) | 사운드 트레이싱 코어 및 이를 포함하는 사운드 트레이싱 시스템 | |
EP4072163A1 (en) | Audio apparatus and method therefor | |
KR102019179B1 (ko) | 사운드 트레이싱 장치 및 방법 | |
KR102226120B1 (ko) | 다중 코어 사운드 트레이싱 장치 및 방법 | |
Antonacci et al. | Real time modeling of acoustic propagation in complex environments | |
KR102620729B1 (ko) | 사운드 트레이싱의 회절을 위한 에지 검출 방법 및 장치 | |
KR102474824B1 (ko) | 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치 | |
Chandak | Efficient geometric sound propagation using visibility culling | |
Aspöck | Auralization of interactive virtual scenes containing numerous sound sources | |
KR20220125955A (ko) | 사운드 전파 성능 향상을 위한 사운드 트레이싱 방법 | |
US20230199418A1 (en) | Sound tracing method and device to improve sound propagation performance | |
KR102610263B1 (ko) | 장애물을 고려한 객체 기반의 오디오 신호의 렌더링 방법 및 장치 | |
WO2024122307A1 (ja) | 音響処理方法、音響処理装置および音響処理プログラム | |
WO2024122398A1 (ja) | 音響処理方法、音響処理装置および音響処理プログラム | |
Drumm | The application of adaptive beam tracing and managed DirectX for the visualisation and auralisation of virtual environments | |
WO2023199673A1 (ja) | 立体音響処理方法、立体音響処理装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |