KR102474824B1 - 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치 - Google Patents

사운드 전파 성능 향상을 위한 사운드 트레이싱 장치 Download PDF

Info

Publication number
KR102474824B1
KR102474824B1 KR1020210029939A KR20210029939A KR102474824B1 KR 102474824 B1 KR102474824 B1 KR 102474824B1 KR 1020210029939 A KR1020210029939 A KR 1020210029939A KR 20210029939 A KR20210029939 A KR 20210029939A KR 102474824 B1 KR102474824 B1 KR 102474824B1
Authority
KR
South Korea
Prior art keywords
plane
sound
reverb
mode
ray
Prior art date
Application number
KR1020210029939A
Other languages
English (en)
Other versions
KR20220125964A (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 KR1020210029939A priority Critical patent/KR102474824B1/ko
Priority to US17/927,422 priority patent/US12101619B2/en
Priority to PCT/KR2021/005116 priority patent/WO2022191356A1/ko
Publication of KR20220125964A publication Critical patent/KR20220125964A/ko
Application granted granted Critical
Publication of KR102474824B1 publication Critical patent/KR102474824B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • H04S7/302Electronic adaptation of stereophonic sound system to listener position or orientation
    • H04S7/303Tracking of listener position or orientation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S3/00Systems employing more than two channels, e.g. quadraphonic
    • H04S3/008Systems employing more than two channels, e.g. quadraphonic in which the audio signals are in digital form, i.e. employing more than two discrete digital channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/01Enhancing the perception of the sound image or of the spatial distribution using head related transfer functions [HRTF's] or equivalents thereof, e.g. interaural time difference [ITD] or interaural level difference [ILD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Stereophonic System (AREA)

Abstract

본 발명은 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치에 관한 것으로, 레이 정보를 설정하는 셋업 처리 유닛(Setup processing Unit); 사운드 레이를 생성하는 레이 생성 유닛(Ray generation Unit); 충돌 삼각형(hit triangle) 정보를 생성하는 방문/교차 유닛(Traversal/Intersection Unit); 사운드 경로(sound path)를 탐색하는 전파 경로 검증 유닛(Propagation Path Validation Unit); 가이드 플레인(guide plane)을 생성하여 정렬하는 가이드 플레인 정렬 유닛(Guide Plane Sort Unit); 리버브 플레인(reverb plane)을 생성하고 정렬하는 리버브 처리 유닛(Reverb Geometry Collect/Reverb Plane Sort Unit); 및 임펄스 응답(IR, Impulse Response)을 산출하여 유효 경로 버퍼(valid path buffer)에 저장하는 임펄스 응답 산출 유닛(IR Calculation Unit)을 포함한다.

Description

사운드 전파 성능 향상을 위한 사운드 트레이싱 장치{SOUND TRACING DEVICE TO IMPROVE SOUND PROPAGATION PERFORMANCE}
본 발명은 사운드 처리 기술에 관한 것으로, 보다 상세하게는 사운드 전파 처리 시에 잔향을 계산하는 잔향 모드와 사운드 경로를 계산하는 경로 모드의 독립적인 수행을 통하여 사운드 전파 성능을 개선하는 사운드 트레이싱 장치에 관한 것이다.
최근 모바일 기술, 그래픽스 기술 및 감각의 입/출력 기술 등의 발달 덕분으로, 가상현실 기술에 대한 관심이 급격히 증가되고 있다. 현실감 있는 가상현실 환경을 지원하기 위해, 가상공간을 통한 시각적 공간감 재현뿐만 아니라 고품질의 청각적 공간감 재현이 필요하다. 청각적 공간감을 재현하기 위해, 멀티채널오디오 시스템이나 머리전달함수(HRTF: Head Related Transfer Function)를 이용한 3D 사운드 기술이 사용될 수 있다.
그러나, 3D 사운드 재현을 위해 사용되는 멀티채널오디오는 전용 스피커 시스템이 필요하고, 해당 스피커 시스템이 설치될 공간 필요 등의 문제점들이 존재한다. 머리전달함수를 기반으로 한 대부분의 3D 사운드 기술은 미리 계산된 음향조절필터를 사용하거나 직육면체 모양의 shoe 박스와 같은 간단한 가상공간 안에서 청각적 공간감을 재현한다. 가상공간상의 주변 환경과 복잡한 객체(object)의 재질(material)에 대한 물리적인 효과가 반영 되어있지 않기 때문에 이러한 기술은 현실감 있는 사운드를 재현하기에 한계가 존재한다.
이러한 한계를 해결하기 위하여 기하학적 방법(geometric method)이나 수치적 방법(numeric method)를 기반으로 한 3D 사운드 기술들이 발표되고 있다. 기하학적 방법의 여러 방법들 중에서, 3D 그래픽스(3D graphics)의 레이 트레이싱(ray tracing) 기술과 사운드 처리(sound processing) 기술을 융합한 방식을 사운드 트레이싱(sound tracing)이라 한다. 사운드 트레이싱은 사운드 렌더링(sound rendering) 기법의 한 종류로써 청취자(listener)와 음원(sound source) 사이의 사운드 전파 경로(sound propagation path)들을 추적하여 사운드를 생성하는 기법이다.
대부분의 사운드 트레이싱 솔루션들은 CPU와 GPGPU를 이용해 가속하는 소프트웨어 기반 솔루션들이다. 이러한 솔루션들은 최고 사양의 CPU 또는 GPU가 장착되어야 상호작용 비율(interactive rate)로 처리하는 것이 가능하다. 하지만, 게임과 같은 실제 어플리케이션(application)에서 오디오(audio)에 할당된 컴퓨팅 예산(computing budget)은 전체의 매우 제한적이기 때문에 실시간(real-time)으로 사운드 트레이싱을 수행하는 것은 매우 어렵다. 게다가 모바일 플랫폼은 한정된 자원을 사용하기 때문에 소프트웨어를 기반으로 한 솔루션들을 적용하는 것은 거의 불가능하다.
한국등록특허 제10-1828908호 (2018.02.07)
본 발명의 일 실시예는 사운드 전파 처리 시에 잔향을 계산하는 잔향 모드와 사운드 경로를 계산하는 경로 모드의 독립적인 수행을 통하여 사운드 전파 성능을 개선하는 사운드 트레이싱 장치를 제공하고자 한다.
본 발명의 일 실시예는 사운드 렌더링에서 계산량이 가장 많은 사운드 전파 경로 계산을 실시간 처리할 수 있는 하드웨어 친화적인 알고리즘을 설계하고 이를 기반으로 구현된 하드웨어 아키텍처를 사운드 트레이싱 장치로서 제공하고자 한다.
실시예들 중에서, 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치는 동작 모드(mode)의 전환을 제어하고 사운드 레이(sound ray)를 생성하기 위한 레이 정보를 설정하는 셋업 처리 유닛(Setup processing Unit); 상기 레이 정보를 기초로 원점과 방향을 계산하여 상기 사운드 레이를 생성하는 레이 생성 유닛(Ray generation Unit); 상기 사운드 레이를 기초로 가속구조(AS, Accelerator Structure)에 대한 방문/교차 테스트(Traversal/Intersection test)를 수행하여 충돌 삼각형(hit triangle) 정보를 생성하는 방문/교차 유닛(Traversal/Intersection test Unit); 상기 동작 모드에 따라 사운드 경로(sound path)를 탐색하는 전파 경로 검증 유닛(Propagation Path Validation Unit); 상기 동작 모드가 가이드 모드(guide mode)인 경우 상기 충돌 삼각형 정보를 기초로 가이드 플레인(guide plane)을 생성하여 정렬하는 가이드 플레인 정렬 유닛(Guide Plane Sort Unit); 상기 동작 모드가 리버브 모드(reverb mode)인 경우 상기 사운드 레이로서 생성된 리버브 레이(reverb ray)를 추적하여 리버브 플레인(reverb plane)을 생성하고 정렬하는 리버브 처리 유닛(Reverb Geometry Collect/Reverb Plane Sort Unit); 및 상기 방문/교차 유닛 또는 상기 리버브 처리 유닛으로부터 수신한 정보에 기초하여 상기 사운드 경로의 임펄스 응답(IR, Impulse Response)을 산출하거나 또는 리버브 임펄스 응답(reverb IR)을 산출하여 유효 경로 버퍼(valid path buffer)에 저장하는 임펄스 응답 산출 유닛(IR Calculation Unit)을 포함한다.
상기 장치는 상기 셋업 처리 유닛으로부터 플레인 정보를 수신하고 상기 가이드 플레인 정렬 유닛에 의해 생성되거나 또는 정렬된 플레인들을 저장하는 플레인 버퍼(Plane Buffer)를 더 포함할 수 있다.
상기 동작 모드는 모드 전환의 개시에 따라 가이드 모드(guide mode)로부터 리버브 모드(reverb mode) 또는 사운드 경로 모드(sound path mode)- 상기 사운드 경로 모드는 직접통과(directtrans mode) 모드와 반사/회절(reflection/diffraction mode) 모드가 순차적으로 연결되어 형성됨 -로 전환되고 상기 리버브 모드와 상기 사운드 경로 모드는 병렬적으로 수행될 수 있다.
상기 셋업 처리 유닛은 가이드 레이(guide ray) 정보와 리버브 레이(reverb ray) 정보 및 상기 전파 경로 검증 유닛으로부터 수신된 반사 레이(reflection ray) 정보 중 어느 하나를 상기 동작 모드에 따라 상기 레이 정보로서 상기 레이 생성 유닛에게 전달할 수 있다.
상기 셋업 처리 유닛은 플레인 셋업(plane Setup) 동작을 통해 반사/회절 모드 수행에 필요한 셋업 플레인(setup plane)을 생성할 수 있다.
상기 플레인 셋업 동작은 플레인 버퍼 및 넥스트 프레임 버퍼에 저장된 플레인들 중 어느 하나를 선택하는 플레인 선택(Plane select) 단계; 상기 선택된 플레인이 반사 플레인(reflection plane)인지 또는 회절 플레인(diffraction plane)인지를 결정하는 플레인 타입 결정(Plane type decision) 단계; 및 상기 결정된 플레인 타입에 따라 플레인 계산(plane calculation)을 수행하여 상기 셋업 플레인을 생성하는 플레인 계산(Plane Calculation) 단계를 포함할 수 있다.
상기 플레인 선택 단계는 상기 플레인 버퍼에 저장된 해당 가이드 플레인과 동일한 정보를 갖는 해당 플레인이 상기 넥스트 프레임 버퍼에 존재하는 경우 상기 해당 플레인을 선택하고, 그렇지 않은 경우 상기 해당 가이드 플레인을 선택하는 단계를 포함할 수 있다.
상기 플레인 타입 결정 단계는 상기 선택된 플레인에 대해 청취자(listener)를 향하는 방향으로 가이드 플레인 노멀(guide plane normal)을 설정하는 단계; 및 상기 가이드 플레인 노멀이 음원(sound source)을 향하는 경우 상기 선택된 플레인을 상기 반사 플레인으로 결정하고, 반대인 경우 상기 회절 플레인으로 결정하는 단계를 포함할 수 있다.
상기 레이 생성 유닛은 상기 동작 모드가 가이드 모드 또는 리버브 모드인 경우 상기 레이 정보를 기초로 청취자 또는 음원로부터 구면샘플링 방식을 이용하여 해당 레이를 생성할 수 있다.
상기 가이드 플레인 정렬 유닛은 상기 충돌 삼각형 정보를 기초로 동일한 노멀 정보(normal information)를 갖는 삼각형들을 하나의 동일한 가이드 플레인으로 생성하여 상기 플레인 버퍼에 저장할 수 있다.
상기 리버브 처리 유닛은 상기 리버브 플레인과 상기 가이드 플레인 간의 플레인 ID(plane ID)를 비교하여 동일한 플레인들을 기초로 유효한 리버브 정보를 생성할 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 사운드 트레이싱 방법은 사운드 전파 처리 시에 잔향을 계산하는 잔향 모드와 사운드 경로를 계산하는 경로 모드의 독립적인 수행을 통하여 사운드 전파 성능을 개선할 수 있다.
본 발명의 일 실시예에 따른 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치는 사운드 렌더링에서 계산량이 가장 많은 사운드 전파 경로 계산을 실시간 처리하기 위해 하드웨어 친화적으로 설계된 알고리즘을 기반으로 하드웨어 아키텍처를 구현할 수 있다.
도 1은 사운드 트레이싱의 파이프라인을 설명하는 도면이다.
도 2는 사운드 전파 경로의 종류를 설명하는 도면이다.
도 3은 종래의 사운드 전파 유닛의 모드 전환을 설명하는 도면이다.
도 4는 종래의 사운드 전파 처리 과정을 설명하는 도면이다.
도 5는 본 발명에 따른 사운드 전파 유닛의 모드 전환을 설명하는 도면이다.
도 6은 본 발명에 따른 플레인 기반의 유효 경로 탐색을 설명하는 도면이다.
도 7은 본 발명에 따른 사운드 전파 처리 과정을 설명하는 도면이다.
도 8은 본 발명에 따른 사운드 전파 유닛의 하드웨어 구성을 설명하는 도면이다.
도 9는 본 발명에 따른 사운드 트레이싱 하드웨어를 보드로 구성한 시스템을 설명하는 도면이다.
도 10은 본 발명에 따른 플레인 셋업 동작을 설명하는 도면이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 사운드 트레이싱의 파이프라인을 설명하는 도면이다.
도 1을 참조하면, 사운드 트레이싱(sound tracing) 파이프라인(pipeline)은 사운드 합성(sound synthesis), 사운드 전파(sound propagation), 사운드 생성(sound generation, auralization) 단계로 구성될 수 있다. 사운드 트레이싱 처리 단계 중에 사운드 전파 단계는 가상현실에 몰입감을 부여하는 가장 중요한 단계에 해당할 수 있고, 계산 복잡도가 높고 계산 시간이 가장 오래 걸리는 단계에 해당할 수 있다. 또한, 이 단계의 가속여부가 사운드 트레이싱의 실시간 처리를 좌우할 수 있다.
사운드 합성(sound synthesis) 단계는 사용자의 상호작용에 따른 사운드 효과를 생성하는 단계에 해당할 수 있다. 예를 들어, 사운드 합성은 사용자가 문을 두드리거나 또는 물건을 떨어뜨린 경우 발생하는 소리에 관한 처리를 수행할 수 있고, 기존 게임, UI 등에서 일반적으로 사용되는 기술에 해당할 수 있다.
사운드 전파(sound propagation) 단계는 합성된 사운드가 가상현실을 통해 청취자에게 전달되는 과정을 시뮬레이션 하는 단계로 가상현실의 음향적 특성(반사계수, 흡수계수 등)과 소리의 특성(반사, 흡수, 투과 등)을 가상현실의 기하적 특성(scene geometry)에 기반하여 처리하는 단계에 해당할 수 있다.
사운드 생성(sound generation) 단계는 사운드 전파 단계에서 계산된 소리의 특성값 (반사/투과/흡수 계수, 거리 감쇠 특성 등)을 이용하여 청취자 스피커의 구성을 바탕으로 입력 음향을 재생성하는 단계에 해당할 수 있다.
도 2는 사운드 전파 경로의 종류를 설명하는 도면이다.
도 2를 참조하면, 직접 경로(Direct Path)는 청취자(Listener)와 음원(Sound source) 사이에 어떤 장애물(Obstruction)도 없이 직접적으로 전달되는 경로에 해당할 수 있다. 반사 경로(Reflection Path)는 사운드가 장애물과 충돌 후 반사되어 청취자에게 도달하는 경로에 해당하고, 투과 경로(Transmission Path)는 청취자와 음원 사이에 장애물이 있을 때, 사운드가 장애물을 투과하여 청취자에게 전달되는 경로에 해당할 수 있다.
사운드 트레이싱은 다수개의 음원들의 각각의 위치에서 레이(ray)를 슈팅(shooting)할 수 있다. 슈팅된 각각의 레이는 자신과 충돌된 기하구조 물체를 찾고, 충돌된 물체에 대하여 반사, 투과, 회절에 해당하는 레이를 생성할 수 있다. 이러한 과정은 재귀적으로 반복 수행될 수 있다. 이렇게 음원들에서 슈팅된 레이와 청취자에서 슈팅된 레이들은 서로 만나게 될 수 있으며, 만나게 되는 경로를 사운드 전파 경로(Sound propagation path)라고 할 수 있다. 결과적으로, 사운드 전파 경로는 음원 위치에서 출발한 사운드가 반사, 투과, 흡수, 회절 등을 거쳐서 청취자에 도착하는 유효한 경로를 의미할 수 있다. 최종 사운드는 이러한 사운드 전파 경로들을 가지고 계산될 수 있다.
도 3은 종래의 사운드 전파 유닛의 모드 전환을 설명하는 도면이다.
도 3을 참조하면, 종래의 사운드 전파 유닛(SPU)은 직접투과(DirectTrans), 반사/회절(Reflection/Diffraction), 리버브(Reverb) 모드(mode)에 따라 순차적으로 동작할 수 있다. 사운드 전파 유닛의 모드(SPU mode)는 크게 사운드 경로 모드(sound path mode)(S320)와 리버브 모드(reverb mode)(S350)로 구분될 수 있다. 사운드 경로 모드(S320)는 직접음 및 투과음을 처리하는 직접투과 모드(DirectTrans mode)(S310)와 반사음 및 회절음을 처리하는 반사/회절 모드(Reflection/Diffraciton mode)(S330)를 포함할 수 있으며, 리버브 모드(reverb mode)(S350)는 잔향음을 처리하는 모드에 해당할 수 있다.
직접투과 모드(DirectTrans mode)(S310)는 청취자(listener)와 음원(sound source) 간에 직선 레이(ray)를 생성하여 테스트를 진행 후, 장애물이 존재하는지의 여부에 따라 직접음과 투과음을 판별하기 위한 모드에 해당할 수 있다. 반사/회절 모드(Reflection/Diffraction mode)(S330)는 초기 반사 사운드 경로(early reflection sound path)를 찾을 수 있다. 초기 반사 사운드 경로(Early reflection sound path)는 반사 사운드 경로(reflection sound path)와 회절 사운드 경로(diffraction sound path) 등이 포함될 수 있다. 리버브 모드(Reverb mode)(S350)는 가장 마지막 단계에서 수행되며 늦은 잔향음(late reverberation sound)를 생성하기 위한 정보를 찾을 수 있다.
도 4는 종래의 사운드 전파 처리 과정을 설명하는 도면이다.
도 4를 참조하면, 셋업 처리(Setup processing) 단계(S410)는 사운드 전파 유닛의 모드(SPU mode)의 전환을 제어하고, 가시성 테스트(visibility test)를 위해 청취자(listener)로부터 생성된 가이드 레이(guide ray) 정보와 음원(sound source)으로부터 생성된 리버브 레이(reverb ray) 정보를 생성하는데 필요한 정보를 설정하는 단계에 해당할 수 있다. 설정이 완료된 후, 사운드 전파 유닛의 모드(SPU mode)에 따라 셋업 처리(setup processing) 단계(S410) 자체에서 생성된 가이드 레이(guide ray) 혹은 리버브 레이(reverb ray) 정보와 PPV(S450)를 거쳐서 생성된 반사 레이(reflection ray)의 정보 중 하나를 선택해서 이를 레이 생성(ray generation) 단계(S420)로 보낼 수 있다.
레이 생성(Ray Generation) 단계(S420)에서는 셋업 처리(setup processing) 단계(S410)에서 생성된 레이(ray) 정보를 기반으로 해당 레이를 생성하고, 레이의 원점(origin)과 방향(direction)을 계산할 수 있다. 생성된 레이는 방문/교차 테스트traversal/intersection test)를 위한 입력 데이터(input data)가 저장되는 공간인 TnI 입력 버퍼(TnI input buffer)에 저장될 수 있다.
방문/교차 테스트(Traversal/Intersection test, TnI)단계(S430)에서는 레이 생성(ray generation) 단계(S420)로부터 생성된 레이를 TnI 입력 버퍼(TnI input buffer)로부터 읽어오고 가속구조(acceleration structure)에서 레이와 충돌하는 삼각형(triangle)이 있는지 검사할 수 있다. 충돌검사를 위해서, TnI 유닛(TnI unit)은 가속구조에 대한 방문(traversal)과 레이-삼각형 교차 테스트(ray-triangle intersection test)를 반복 수행할 수 있다. TnI 유닛(TnI unit)의 판별결과는 TnI 입력 버퍼(TnI output buffer)에 저장할 수 있다.
충돌 지점 계산(Hit Point Calculation) 단계(S440)에서는 TnI 입력 버퍼(TnI output buffer)로부터 전달된 결과를 기반으로 레이와 기하구조(geometry) 사이의 교차 지점(intersection point)를 계산할 수 있다. 레이가 충돌(hit)된 경우, 해당 충돌 삼각형(hit triangle) ID에 대한 삼각형 정보 데이터(triangle info. data)를 요청할 수 있다. 계산된 결과와 충돌 삼각형 정보 데이터(hit triangle info. data)는 PPVnRGC(S450)를 수행하기 위해 전달될 수 있다.
PPVnRGC 단계(S450)는 사운드 전파 시뮬레이션(sound propagation simulation)을 수행하는 핵심 기능블록으로써, 전달받은 데이터의 레이 특성에 따라 반사 사운드 경로 테스트(reflection sound path test)를 진행할지 리버브 기하 수집(reverb geometry collection)을 진행할지 결정할 수 있다. PPVnRGC 단계(S450)는 전파 경로 검증기(propagation path validator)(PPV)와 리버브 기하구조 수집기(reverb geometry collector)(RGC)로 구성될 수 있다.
PPV 단계는 직접(direct), 투과(transmission), 반사(reflection), 회절(diffraction) 사운드 경로(sound path)의 탐색을 수행하는 단계이다. 전형적으로 PPV는 회절 사운드 경로(diffraction sound path)를 찾기 위해 uniform theory diffraction method(UTD)를 사용하고, 반사 사운드 경로(reflection sound path)를 찾기 위해 이미지 소스 방법(image source method)를 사용할 수 있다. 만약 직접 사운드 경로(direct sound path) 또는 투과 사운드 경로(transmission sound path) 또는 회절 사운드 경로(diffraction sound path) 또는 반사 사운드 경로(reflection sound path)를 찾았다면, PPV는 임펄스 응답(impulse response) 계산에 필요한 정보를 생성하여 IR 계산기(IR Calculator)로 전달할 수 있다.
RGC는 리버브 시간(reverb time) 계산에 필요한 리버브 기하구조(reverb geometry) 정보를 이용할 수 있다. 리버브 시간(Reverb time)은 자연스러운 잔향음(reverb sound) 생성을 위한 중요한 요소 중 하나로써, 리버브 시간(reverb time)을 계산하기 위해 일반적으로 통계 음향 모델을 사용할 수 있다. 이 중 Eyring 모델은 단일 공간 내 에너지 붕괴(energy decay)를 계산하는 모델로 속도와 간소성을 위해 많이 사용된다. 리버브 시간(Reverb time) 계산을 위해 가이드 레이(guide ray)와 충돌된 삼각형(triangle) 정보 중 전파 경로 테스트(propagation path test)를 거쳐서 찾은 유효한 경로 삼각형(path triangle)과 리버브 레이(reverb ray)로 찾은 충돌 삼각형(hit triangle) 정보인 리버브 삼각형(reverb triangle)을 이용할 수 있다.
이 때, 경로 삼각형(path triangle)이 전부 생성되지 않았다면 리버브(reverb)를 계산할 수 없기 때문에 경로 삼각형(path triangle)의 정보가 전부 생성될 때까지 사운드 경로 모드(sound path mode)를 반복 수행할 수 있다. 경로 삼각형(Path triangle) 및 리버브 삼각형(reverb triangle)의 정보가 준비되면, 경로 삼각형(path triangle)과 리버브 삼각형(reverb triangle)에서 중복되는 삼각형 제거 및 경로 삼각형(path triangle)과 리버브 삼각형(reverb triangle) ID 비교를 효율적이고 빠르게 처리하기 위해 정렬(sorting)을 수행할 수 있다. 정렬된 경로 삼각형(path triangle)과 리버브 삼각형(reverb triangle)의 ID를 비교하여 동일한 ID에 대한 삼각형을 찾고 유효한 잔향(reverberation) 정보를 계산할 수 있다. 계산된 유효한 리버브 데이터(reverberation data)는 IR 계산기(IR calculator)로 전달될 수 있다.
최종적으로, IR 산출(IR calculation) 단계(S460)에서는 PPVnRGC 단계(S450)로부터 처리된 유효한 직접/투과(direct/transmission), 반사(reflection), 회절(diffraction) 경로(path)의 임펄스 응답(IR) 혹은 리버브 임펄스 응답(reverb IR)을 계산하여 유효 경로 버퍼(valid path buffer)에 저장할 수 있다. 유효 경로 버퍼(Valid path buffer)에 경로 데이터가 저장되면 현재 프레임(frame)에 대한 사운드 전파(sound propagation) 수행이 완료되며, 가청화(auralization) 처리 단계로 보내어질 수 있다.
도 5는 본 발명에 따른 사운드 전파 유닛의 모드 전환을 설명하는 도면이다.
도 5를 참조하면, 본 발명에 따른 사운드 트레이싱 방법은 사운드 경로 모드(sound path mode)와 리버브 모드(reverb mode)(S530)가 병렬적으로 수행 가능하도록 청취자(listener)로부터 생성된 각각의 모든 레이(ray)에 대해 필요한 정보를 가이드 모드(guide mode)(S510)에서 미리 생성할 수 있다. 이를 기반으로 본 발명에 따른 사운드 트레이싱 방법이 수행되는 사운드 트레이싱 하드웨어는 두 모드가 동시에 수행되는 구조를 가지도록 구현될 수 있다. 이를 통해, 본 발명은 종래의 사운드 전파 알고리즘에서 리버브 시간(reverb time) 계산에 필요한 데이터를 생성하기 위해 경로 모드(path mode)를 반복적으로 수행함으로써 발생하는 지연 시간(delay time)을 효과적으로 개선할 수 있다.
도 5에서, 본 발명에 따른 사운드 전파 유닛의 모드는 가이드(Guide), 리버브(Reverb), 직접투과(DirectTrans), 반사/회절(Reflection/Diffraction) 등 4개의 모드로 구성될 수 있다. 가이드 모드(Guide mode)(S510)는 사운드 경로 모드(sound path mode)와 리버브 모드(reverb mode)(S530) 수행에 필요한 플레인(plane) 정보를 생성하는 모드에 해당할 수 있으며, 리버브 모드(S530)는 가이드 모드(S510)에서 생성된 정보를 이용하여 잔향음을 처리하는 모드에 해당할 수 있다. 직접투과 모드(S550)는 직접음 및 투과음을 처리하는 모드에 해당할 수 있으며, 반사/회절 모드(S570)는 반사음 및 회절음을 처리하는 모드에 해당할 수 있다. 직접투과 모드(S550)와 반사/회절 모드(S570)는 종래의 사운드 전파 알고리즘과 동일한 방식으로 수행될 수 있다.
도 6은 본 발명에 따른 플레인 기반의 유효 경로 탐색을 설명하는 도면이다.
도 6을 참조하면, 유효한 경로 탐색을 위해 종래의 사운드 전파 알고리즘은 삼각형(610) 기반의 정보를 이용한 반면, 본 발명에 따른 사운드 트레이싱 방법은 삼각형(610)이 아닌 플레인(630) 기반의 정보를 이용할 수 있다. 도 6에서, 삼각형(Triangle) (610) 기반의 유효한 경로 탐색 방법과 플레인(Plane) (630) 기반의 유효한 경로 탐색 방법 간의 차이를 확인할 수 있다. 삼각형(Triangle) (610) 기반의 경우, 충돌(Hit)된 삼각형과 동일한 노멀(Normal) 정보를 갖는 인접한 삼각형들마다 각각의 이미지 소스 미러 포지션(image source mirror position)이 다를 수 있다.
이에 따라, 동일한 노멀 정보를 갖는 인접한 삼각형일지라도 미러 포지션(mirror position)에서 발생한 이미지 소스 레이(image source ray)와 청취자(Listener)의 충돌 결과가 다를 수 있다. 이와 달리, 플레인(Plane)(630) 기반의 정보를 이용할 경우, 충돌된 삼각형과 동일한 노멀 정보를 갖는 인접한 삼각형들을 하나의 동일한 플레인(630)으로 생성하기 때문에 동일한 미러 포지션(mirror position)을 가질 수 있다. 따라서, 레이가 플레인(630) 상의 어느 부분과 충돌되어도 유효한 경로가 탐색될 수 있다.
예를 들어, 도 6의 플레인(Plane)(630) 기반 그림에서 플레인(630)은 (a), (b), (c)의 어떤 소스 레이(source ray)와 충돌되어도 유효한 경로를 찾을 수 있다. 특히, 유효한 경로를 탐색하는 샘플 레이의 수가 적을 경우, 플레인(630) 기반의 정보를 이용하는 방식이 경로 탐색에 훨씬 유리할 수 있다. 따라서, 플레인(630) 기반의 탐색 방식이 기존의 삼각형(610) 기반 방식 보다 유효한 경로를 더 많이 찾기 때문에 제안하는 본 발명에 따른 사운드 트레이싱 방법은 플레인(630) 기반의 정보를 이용할 수 있다.
보다 구체적으로, 가이드 모드(Guide mode)는 사운드 경로 모드와 리버브 모드 수행에 필요한 플레인 정보를 생성하기 위해 청취자로부터 생성된 가이드 레이를 기반으로 수행될 수 있다. 생성된 가이드 레이를 추적하여 충돌된 삼각형들로부터 가이드 플레인(guide plane)을 생성하고 플레인 버퍼(plane buffer)에 저장할 수 있다. 가이드 플레인은 PPV단계에서 삼각형들이 동일한 노멀 값을 가지는지 비교 검사 수행을 통해 생성될 수 있다. 플레인 버퍼에 저장된 가이드 플레인 중에서 중복되는 플레인들은 정렬(sorting) 수행을 통해 제거되어 전송되는 데이터양을 줄일 수 있다.
리버브 모드(Reverb mode)는 리버브 레이를 추적하여 리버브 플레인(reverb plane)을 생성하고 정렬을 수행하여 중복 플레인들을 제거할 수 있다. 중복 제거된 리버브 플레인과 가이드 플레인을 비교하여 동일한 플레인들을 결정하고 리버브 임펄스 응답(reverb impulse response)을 계산하는데 사용할 수 있다.
도 7은 본 발명에 따른 사운드 전파 처리 과정을 설명하는 도면이다.
도 7을 참조하면, 본 발명에 따른 사운드 트레이싱 방법은 사운드 전파 유닛의 사운드 경로 모드와 리버브 모드를 병렬적으로 수행하기 위한 사운드 전파 알고리즘을 사용할 수 있다. 보다 구체적으로, 사운드 전파 알고리즘은 셋업 처리 단계(S710), 레이 생성 단계(S720), 전파 경로 검증 단계(S730), 리버브 처리 단계(S750) 및 임펄스 응답 산출 단계(S760)를 포함할 수 있다.
셋업 처리(Setup processing) 단계(S710)는 사운드 전파 유닛(SPU)의 모드 전환을 제어하고, 레이를 생성하는데 필요한 정보를 설정하는 단계에 해당할 수 있다. 즉, 설정이 완료된 후, 사운드 전파 유닛의 모드(SPU mode)에 따라 셋업 처리 단계(S710) 자체에서 생성된 가이드 레이 정보 혹은 리버브 레이 정보와 PPV를 거쳐서 생성된 반사 레이 정보 중 어느 하나를 선택하여 이를 레이 생성(ray generation) 단계(S720)로 전달할 수 있다.
레이 생성(Ray generation) 단계(S720)에서는 셋업 처리 단계(S710)로 부터 수신한 정보를 바탕으로 레이의 원점과 방향을 계산하여 레이를 생성하는 작업을 수행할 수 있다. 레이 생성(Ray generation) 단계(S720)에서 생성된 레이는 방문 및 교차 테스트(Traversal/Intersection) 단계(S730)로 전달될 수 있다.
즉, 방문 및 교차 테스트(Traversal/Intersection) 단계(S730)에서는 생성된 레이를 기초로 가속구조에 대해 방문 및 교차 테스트(traversal and intersection test)를 수행할 수 있다. 교차 테스트(Intersection test) 수행 결과에 따라 계산된 결과와 충돌 삼각형(hit triangle)의 정보 데이터는 전파 경로 검증(PPV) 단계(S740)로 전달된다.
전파 경로 검증(PPV) 단계(S740)에서는 직접 사운드 경로(direct sound path), 투과 사운드 경로(transmission sound path), 반사 사운드 경로(reflection sound path), 회절 사운드 경로(diffraction sound path)를 탐색하는 작업을 수행할 수 있다. PPV 수행 시, 사운드 전파 유닛의 모드(SPU mode)가 경로 모드(path mode)로 설정되었다면 전파 경로 테스트(propagation path test)를 통해 찾은 유효한 직접/투과(direct/transmission), 반사(reflection), 회절(diffraction) 경로들의 임펄스 응답(IR)을 계산하기 위해 임펄스 응답 산출(IR calculation) 단계(S760)로 진행할 수 있다. 사운드 전파 유닛의 모드(SPU mode)가 리버브 모드(reverb mode)이면 유효한 리버브 정보를 계산하기 위해 리버스 기하구조 수집 유닛 및 리버브 플레인 정렬(reverb geometry collect unit & reverb plane sort)(RGCnRPS)가 수행될 수 있고(S750), 가이드 모드이면 TnI(S730) 수행을 통해 충돌된 모든 삼각형들의 정보를 기반으로 가이드 플레인을 생성하고 정렬(sorting) 동작이 수행될 수 있다(S770).
RGCnRPS 단계(S750)에서는 리버브 모드를 수행하기 위해 리버브 레이를 추적하여 리버브 플레인을 생성할 수 있다. 생성된 리버브 플레인은 중복되는 플레인을 제거하고 가이드 플레인과 리버브 플레인 ID 비교를 빠르고 효율적으로 처리하기 위해서 정렬(sorting) 동작을 수행할 수 있다. 정렬된 리버브 플레인 정보와 가이드 모드를 통해 생성된 가이드 플레인 정보를 기반으로 플레인 ID(plane ID)를 비교하여 동일한 플레인에 대해 유효한 리버브 정보를 계산할 수 있다. 계산된 유효한 리버브 정보는 리버브 임펄스 응답 계산(S760)을 위해 IR 계산기(IR calculator)로 전송될 수 있다.
최종적으로 임펄스 응답 계산(IR calculation) 단계(S760)에서는 PPV(S740)로부터 처리된 유효한 직접/투과, 반사, 회절 경로의 임펄스 응답(IR)을 계산하거나 RGCnRPS(S750)에서 처리된 유효한 리버브 임펄스 응답(reverb IR)을 계산하여 유효 경로 버퍼(valid path buffer)에 저장할 수 있다. 유효 경로 버퍼에 경로 데이터가 저장되면 현재 프레임(frame)에 대한 사운드 전파(sound propagation) 수행이 완료될 수 있다.
도 8은 본 발명에 따른 사운드 전파 유닛의 하드웨어 구성을 설명하는 도면이다.
도 8을 참조하면, 사운드 트레이싱 장치(800)는 본 발명에 따른 사운드 트레이싱 방법이 동작 가능한 하드웨어 구조로 구현될 수 있다. 본 발명에 따른 사운드 트레이싱 방법은 사운드 경로 모드(sound path mode)와 리버브 모드(reverb mode)에 따른 처리과정에서 종래의 사운드 전파 알고리즘과 차별화될 수 있다.
즉, 종래 알고리즘에서 PPVnRGC는 사운드 전파 시뮬레이션(sound propagation simulation)을 수행하는 핵심 단계로써, 전달받은 데이터의 레이 특성에 따라 반사(reflection) 및 회절(diffraction) 경로를 찾거나 잔향(reverberation)을 수행하기 위한 리버브 기하구조 수집(reverb geometry collection)을 수행할 수 있다. 종래 알고리즘의 특성상 사운드 경로 모드의 반복 수행을 통해 경로 삼각형(path triangle)이 전부 생성되어야 잔향(reverberation)이 처리 가능하기 때문에 PPV와 RGC 유닛이 통합된 구조로만 형성될 수 있다.
이와 달리, 본 발명에 따른 사운드 전파 유닛(SPU) 하드웨어 구조에서는 사운드 경로 모드와 리버브 모드가 독립적으로 수행 가능하도록 알고리즘이 개선되었기 때문에 PPV(840)와 RGC(860)가 완전히 독립적인 유닛으로 분리된 구조를 형성할 수 있다. 이로 인해, PPV(840)에 수신된 레이의 특성에 따라 사운드 경로 모드와 리버브 모드가 병렬적으로 수행될 수 있다.
본 발명에 따른 사운드 전파 유닛(SPU) 하드웨어의 데이터 경로는 경로 트레이싱(Path tracing) 알고리즘을 수행하는 장치와 사운드 전파 처리를 수행하는 장치로 구성될 수 있다. 경로 트레이싱 섹션은 셋업 처리 유닛(setup processing unit)(810), 레이 생성 유닛(ray generation unit)(820) 및 방문 교차 유닛(TnI unit)(830)으로 구성될 수 있다. 사운드 전파 처리 섹션은 전파 경로 검증 유닛(propagation path validation unit)(840), 가이드 플레인 정렬 유닛(guide plane sort unit, GPS)(850), 리버브 기하구조 수집 유닛 및 리버브 플레인 정렬 유닛(reverb geometry collect unit and reverb plane sort unit, RGCnRPS)(860) 및 IR 계산기(IR calculator)(870)(임펄스 응답 산출 유닛에 해당함)로 구성될 수 있다.
메모리(Memory)는 TnI 캐시 메모리(TnI cache memory), 경로 IR 버퍼(path IR buffer), TnI 패스 버퍼(TnI pass buffer), 넥스트 프레임 버퍼(next frame buffer), 유효 경로 버퍼(valid path buffer)와 외부 메모리(external memory)로 구성될 수 있다. 외부 메모리는 음향 기하구조 데이터(acoustic geometry data), 기하구조 데이터(geometry data), 가속구조 데이터(AS data), 사운드 소스 데이터(sound source data), 사운드 전파 결과 데이터(sound propagation result data 등으로 구성될 수 있다.
TnI 캐시(TnI Cache) 메모리에는 방문 및 교차 테스트를 위한 정보가 저장되며, 셋업 캐시(Setup Cache) 메모리에는 셋업 처리를 위한 정보가 저장될 수 있다. 경로 IR 버퍼에는 직접/투과, 반사, 회절 경로들의 임펄스 응답값이 저장되고, 넥스트 프레임 버퍼는 현재 프레임의 PPV 단계에서 찾은 유효 경로(validation path)들이 다음 프레임에서 사용되기 위해 저장될 수 있다. 플레인 버퍼에는 가이드 모드에서 생성된 플레인들이 저장되며, TnI 패스 버퍼에는 TnI 단계를 거치지 않아도 되는 레이들의 정보가 저장될 수 있다. 유효 경로 버퍼(Valid path buffer)는 유효 경로(validation path)와 IR 계산기(IR calculator)에서 계산된 임펄스 응답(IR)값이 저장될 수 있다. 마지막으로, 외부 메모리(external memory)는 음향 기하구조 데이터(acoustic geometry data), 가속구조(acceleration structure), 음원(sound source), 사운드 전파 결과 데이터(sound propagation result data), 읽기 및 쓰기 버퍼(read & write buffer)로 구성될 수 있다.
본 발명에 따른 사운드 전파 유닛(SPU) 하드웨어는 다음의 처리 흐름에 따라 동작할 수 있다. 먼저, 셋업 처리 유닛(810)은 레이를 생성하는데 필요한 정보를 설정하는 유닛에 해당할 수 있고, 사운드 전파 유닛의 모드(SPU mode)에 따라 레이의 정보를 선택하여 레이 생성 유닛(820)으로 전송할 수 있다.
레이 생성 유닛(820)은 셋업 처리 유닛(810)으로부터 수신한 정보를 이용하여 원점과 방향을 계산하여 광선을 생성하고, 생성된 광선은 TnI 유닛(830)으로 전송될 수 있다. 보다 구체적으로, 레이 생성 유닛(820)은 동작 모드에 따라 각 레이를 생성할 수 있다.
예를 들어, 가이드 모드 또는 리버브 모드인 경우, 레이는 각 청취자나 음원으로부터 구면샘플링 방식을 이용하여 생성될 수 있다. 직접(Direct) 모드인 경우, 음원에서 청취자로부터의 다이렉트한 레이를 생성하고 객체(object)의 재질이나 깊이(depth)에 따라 투과(transmission)을 위한 레이를 생성할 수 있다. 반사(Reflection) 모드인 경우, 반사를 위한 셋업 플레인의 미러 포지션(mirror position)을 이용하여 검증 레이를 생성할 수 있다. 회절(Diffraction) 모드인 경우, 셋업 플레인의 에지 포인트(edge point)를 기준으로 레이를 생성할 수 있다. 만약 회절을 수행할 수 있는 에지를 찾았다면 해당 에지를 기준으로 회절 레이를 생성할 수 있다.
TnI 유닛(830)은 가속구조에 대해 방문 및 교차 테스트를 반복 수행하여 레이 생성 유닛(820)에서 생성된 광선이 가속구조에서 교차하는 삼각형을 가지고 있는지 테스트할 수 있다. 교차(Intersection) 결과에 따라 충돌이 발생하면 충돌된 삼각형 ID(triangle ID)에 대한 삼각형 정보데이터를 요청할 수 있다. 계산된 결과와 충돌 삼각형 정보 데이터는 PPV 유닛(840)으로 전송될 수 있다.
PPV 유닛(840)은 직접, 투과, 반사, 회절 사운드 경로를 찾는 유닛에 해당할 수 있다. 또한, PPV 유닛(840)은 셋업 처리 유닛(810)에서 계산한 셋업 플레인을 이용하여 경로가 유효한지 아닌지를 결정할 수 있다. 사운드 전파 유닛의 모드(SPU mode)가 경로 모드로 설정되었다면 PPV 유닛(840)의 출력이 IR 계산기(870)로 전송되고, 리버브 모드에서는 RGCnRPS 유닛(860)으로 전송될 수 있다. 사운드 전파 유닛의 모드(SPU mode)가 가이드 모드이면 PPV 유닛(840)에서 생성된 가이드 플레인이 GPS 유닛(850)으로 전달되고, 정렬 수행을 통해 중복된 플레인이 제거될 수 있다.
RGCnRPS 유닛(860)에서는 리버브 레이 추적을 통해 리버브 플레인이 생성되면 정렬 수행을 통해 중복된 리버브 플레인이 제거될 수 있다. 정렬 수행 이후, 유효한 리버브 정보를 계산하기 위해 리버브 시간을 계산하고 유효한 리버브 정보는 IR 계산기(870)로 전송될 수 있다. RGC unit은 가이드 레이와 리버브 레이를 통해 생성된 플레인들을 수집할 수 있고, RPS unit은 저장된 플레인들에 대해서 정렬 및 IR 정보 생성을 수행할 수 있다. RGC unit은 가이드 레이를 통해 생성되는 플레인을 최대 28,672(1024(guide ray count) * 4(depth) * frame(7))개, 각 음원마다 리버브 레이를 통해 생성되는 플레인을 최대 3,584((reverb ray count(128) * depth(4) * frame(7))를 저장할 수 있다. RPS unit은 각 음원마다 생성한 플레인들에 대해 합병 정렬(merge sort)을 수행할 수 있다. 이는 모든 플레인들에 대해 정렬이 완료되면 정렬된 가이드 플레인 시퀀스(guide plane sequence)와 리버브 플레인 시퀀스(reverb plane sequence)를 이용하여 리버브 IR 정보가 생성될 수 있다.
IR 계산기(870)는 PPV 유닛(840) 및 RGCnRPS 유닛(860)에서 수신한 IR 생성 정보를 사용하여 경로/리버브(path/reverb) 사운드 렌더링 정보 데이터를 생성할 수 있다. 즉, IR 계산기(870)는 유효 경로 정보를 통해 사운드 ID(sound ID), 타입(type), 레이의 방향(direction) 및 길이(length) 등을 수신하여 최종 IR를 계산할 수 있다. 생성된 데이터는 유효 경로 버퍼(valid path buffer)에 저장되고 마지막으로 외부 메모리에 기록될 수 있다. 상기의 처리 과정을 통해 본 발명에 따른 SPU 하드웨어는 현재 프레임에 대한 사운드 전파(sound propagation) 동작을 완료할 수 있다.
도 9는 본 발명에 따른 사운드 트레이싱 장치를 보드로 구성한 시스템을 설명하는 도면이다.
도 9를 참조하면, 본 발명에 따른 하드웨어 아키텍처를 기반으로 Xilinx FPGA 보드(950)에 구현한 FPGA 프로토 타입의 일 실시예를 확인할 수 있다. FPGA 프로토 타입은 다음의 처리 흐름에 따라 동작할 수 있다. 먼저 가속구조와 기하구조(geometry) 정보가 FMC 보드를 통해 CPU(910)에서 FPGA 보드(950)의 외부 메모리(930)로 전송될 수 있다. 전송이 완료된 후 CPU(910)는 음원 및 청취자 정보, 광선 정보, 주변 물체의 재질 정보 및 SPU 레지스터 설정 정보를 SPU(951)의 내부 메모리로 전송할 수 있다.
SPU(951)의 레지스터 설정 후 내부 메모리에 저장된 현재 프레임 정보로 사운드 전파가 수행될 수 있다. 그러면 현재 프레임에 대한 사운드 전파가 완료되고 시뮬레이션을 통해 찾은 경로가 유효 경로 버퍼(valid path buffer)에 저장될 수 있다. 그 후 유효 경로 버퍼는 저장된 유효 경로와 함께 리버브 정보를 FPGA 보드(950)의 외부 메모리(930)로 전송할 수 있다.
현재 프레임의 모든 정보가 외부 메모리(930)로 전송되면 사운드 전파 유닛(951)은 현재 프레임에 대한 사운드 전파가 완료되었음을 CPU(910)에 알릴 수 있다. 마지막으로 CPU(910)는 FMC 보드를 통해 FPGA 보드(950)의 외부 메모리(930)에 저장된 유효 경로와 리버브 데이터를 수신하여 소프트웨어 기반의 가청화(software based auralization)를 수행할 수 있다. 호스트(PC)는 가청화 소프트웨어(auralization SW)에서 생성된 최종 사운드를 연결된 사운드 출력 장치로 전달하고 사운드를 출력할 수 있다.
도 10은 본 발명에 따른 플레인 셋업 동작을 설명하는 도면이다.
도 10을 참조하면, 본 발명에 따른 사운드 트레이싱 장치(800)는 셋업 처리 유닛(810)을 통해 플레인 셋업(plane Setup) 동작(S1010)을 수행할 수 있다. 플레인 셋업 동작(S1010)은 반사/회절 모드 수행에 필요한 셋업 플레인(setup plane)을 생성하는 동작에 해당할 수 있다.
먼저, 플레인 선택(Plane select) 단계(S1020)에서는 가이드 플레인(guide plane)과 넥스트 프레임 버퍼(next frame buffer)의 플레인 중 어느 하나를 선택하는 작업이 수행될 수 있다. 보다 구체적으로, 플레인 선택 단계(S1020)에서는 플레인 버퍼(plane buffer)에 저장된 현재 프레임의 가이드 플레인이 넥스트 프레임 버퍼에 있는지 확인할 수 있다. 여기에서, 넥스트 프레임 버퍼는 경로 캐시 버퍼(path cache buffer)로서 이전 프레임의 유효 경로(유효 플레인 시퀀스, valid plane sequence)를 저장할 수 있다.
만약 넥스트 프레임 버퍼에 현재 프레임의 가이드 플레인과 동일한 정보의 플레인이 존재하는 경우 넥스트 프레임 버퍼의 플레인을 선택하여 재사용하고, 그렇지 않은 경우 현재 프레임의 가이드 플레인을 선택하여 사용할 수 있다.
플레인 타입 결정(Plane type decision) 단계(S1030)는 선택된 가이드 플레인이 반사 플레인(reflection plane)인지 회절 플레인(diffraction plane)인지를 결정할 수 있다.
보다 구체적으로, 가이드 플레인 노멀(Guide plane normal)은 청취자(listener)를 향하는 것을 기준으로 하도록 설정될 수 있다. 왜냐하면 청취자의 위치는 유동적이며 이에 따라 반사/회절 효과가 결정되기 때문이다. 가이드 플레인 결정 동작은 새로이 설정된 플레인 노멀(plane normal)에 의해 이루어질 수 있다. 가이드 플레인 노멀이 음원(sound source)를 향하고 있다면 해당 플레인은 반사 플레인으로 결정될 수 있으며, 반대의 경우 회절 플레인으로 결정될 수 있다. 플레인 타입이 결정된 가이드 플레인들에 대해서는 해당 타입에 맞는 플레인 계산을 각각 진행하여 셋업 플레인(setup plane)을 생성할 수 있다(S1040 및 S1050). 이와 같은 작업은 모든 가이드 플레인에 대하여 최대 깊이(depth)를 충족할 때까지 재귀적(recursive)으로 반복 수행될 수 있다(S1060).
본 발명에 따른 사운드 트레이싱 방법 및 장치는 사운드 경로 모드와 리버브 모드를 동시에 수행할 수 있도록 직접/투과, 회절, 반사 사운드 경로를 찾는 전파 경로 검증(PPV)과 리버브 타임 계산을 위해 리버브 지오메트리(reverb geometry) 정보를 계산하는 리버브 기하구조 수집(RGC)가 독립적인 유닛으로 분리된 구조를 가질 수 있다.
또한, 기존의 알고리즘에서는 사운드 전파 처리를 위해 삼각형의 정보를 사용하였지만, 본 발명에 따른 알고리즘에선 삼각형이 아닌 플레인(plane)의 정보를 사용할 수 있다. 유효한 경로를 탐색할 때, 충돌(hit)된 삼각형과 같은 노멀 정보를 가지는 인접한 삼각형들을 하나의 동일한 플레인으로 계산하면 기존의 삼각형 방식 보다 충돌율(hit ratio)이 높아져서 더 많은 유효 경로를 획득할 수 있다. 특히, 청취자(listener)와 음원(sound source)에서 생성된 레이(ray)의 수가 적을수록 플레인 방식의 유효한 경로 탐색이 삼각형 방식보다 훨씬 효율적일 수 있다.
이를 기반으로, 본 발명에 따른 사운드 전파 방식은 사운드 경로 모드와 리버브 모드를 독립적으로 수행하기 위해 청취자로부터 생성된 레이(즉, 가이드 레이)를 통해 가이드 모드를 수행할 수 있다. 기존 방식과 다르게 가이드 모드에서는 청취자로부터 생성된 각각의 모든 레이에 대해 방문 및 교차 테스트를 수행하여 가이드 플레인(guide plane)을 먼저 생성할 수 있다. 기존의 방식과 달리, 모든 가이드 플레인이 먼저 생성되었기 때문에, 사운드 경로 모드와 리버브 모드가 각각 독립적으로 수행될 수 있다.
결과적으로 본 발명은 기존 방식과 비교했을 때, 리버브(reverb)를 계산하기 위해 사운드 경로 모드의 전파 경로 테스트(propagation path test)를 수행한 경로 삼각형(path triangle)을 생성하기까지 대기하는 지연 시간(delay time)이 발생하지 않기 때문에 사운드 전파 속도를 향상시킬 수 있다. 또한, 본 발명은 사운드 전파 속도의 향상으로 인해 많은 계산량을 필요로 하는 복잡한 장면(scene)에서 빠른 속도로 실시간 처리가 가능하며 사용자에게 매우 사실적인 잔향효과를 포함한 3D 사운드를 제공할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
610: 삼각형 630: 플레인
800: 사운드 트레이싱 장치
810: 셋업 처리 유닛 820: 레이 생성 유닛
830: 방문 교차 유닛 840: 전파 경로 검증 유닛
850: 가이드 플레인 정렬 유닛 860: 리버브 처리 유닛
870: IR 계산기
910: CPU 930: 외부 메모리
950: FPGA 보드 951: SPU

Claims (11)

  1. 동작 모드(mode)의 전환을 제어하고 사운드 레이(sound ray)를 생성하기 위한 레이 정보를 설정하는 셋업 처리 유닛(Setup processing Unit);
    상기 레이 정보를 기초로 원점과 방향을 계산하여 상기 사운드 레이를 생성하는 레이 생성 유닛(Ray generation Unit);
    상기 사운드 레이를 기초로 가속구조(AS, Accelerator Structure)에 대한 방문/교차 테스트(Traversal/Intersection test)를 수행하여 충돌 삼각형(hit triangle) 정보를 생성하는 방문/교차 유닛(Traversal/Intersection Unit);
    상기 동작 모드에 따라 사운드 경로(sound path)를 탐색하는 전파 경로 검증 유닛(Propagation Path Validation Unit);
    상기 동작 모드가 가이드 모드(guide mode)인 경우 상기 충돌 삼각형 정보를 기초로 충돌된 삼각형과 동일한 노멀 정보를 갖는 인접한 삼각형들을 하나의 동일한 가이드 플레인(guide plane)으로 생성하여 정렬하는 가이드 플레인 정렬 유닛(Guide Plane Sort Unit);
    상기 동작 모드가 리버브 모드(reverb mode)인 경우 상기 사운드 레이로서 생성된 리버브 레이(reverb ray)를 추적하여 리버브 플레인(reverb plane)을 생성하고 정렬하는 리버브 처리 유닛(Reverb Geometry Collect/Reverb Plane Sort Unit); 및
    상기 방문/교차 유닛 또는 상기 리버브 처리 유닛으로부터 수신한 정보에 기초하여 상기 사운드 경로의 임펄스 응답(IR, Impulse Response)을 산출하거나 또는 리버브 임펄스 응답(reverb IR)을 산출하여 유효 경로 버퍼(valid path buffer)에 저장하는 임펄스 응답 산출 유닛(IR Calculation Unit)을 포함하는 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치.
  2. 제1항에 있어서,
    상기 셋업 처리 유닛으로부터 플레인 정보를 수신하고 상기 가이드 플레인 정렬 유닛에 의해 생성되거나 또는 정렬된 플레인들을 저장하는 플레인 버퍼(Plane Buffer)를 더 포함하는 것을 특징으로 하는 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치.
  3. 제1항에 있어서, 상기 동작 모드는
    모드 전환의 개시에 따라 가이드 모드(guide mode)로부터 리버브 모드(reverb mode) 또는 사운드 경로 모드(sound path mode)- 상기 사운드 경로 모드는 직접통과(directtrans mode) 모드와 반사/회절(reflection/diffraction mode) 모드가 순차적으로 연결되어 형성됨 -로 전환되고 상기 리버브 모드와 상기 사운드 경로 모드는 병렬적으로 수행되는 것을 특징으로 하는 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치.
  4. 제1항에 있어서, 상기 셋업 처리 유닛은
    가이드 레이(guide ray) 정보와 리버브 레이(reverb ray) 정보 및 상기 전파 경로 검증 유닛으로부터 수신된 반사 레이(reflection ray) 정보 중 어느 하나를 상기 동작 모드에 따라 상기 레이 정보로서 상기 레이 생성 유닛에게 전달하는 것을 특징으로 하는 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치.
  5. 제1항에 있어서, 상기 셋업 처리 유닛은
    플레인 셋업(plane Setup) 동작을 통해 반사/회절 모드 수행에 필요한 셋업 플레인(setup plane)을 생성하는 것을 특징으로 하는 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치.
  6. 제5항에 있어서, 상기 플레인 셋업 동작은
    플레인 버퍼 및 넥스트 프레임 버퍼에 저장된 플레인들 중 어느 하나를 선택하는 플레인 선택(Plane select) 단계;
    상기 선택된 플레인이 반사 플레인(reflection plane)인지 또는 회절 플레인(diffraction plane)인지를 결정하는 플레인 타입 결정(Plane type decision) 단계; 및
    상기 결정된 플레인 타입에 따라 플레인 계산(plane calculation)을 수행하여 상기 셋업 플레인을 생성하는 플레인 계산(Plane Calculation) 단계를 포함하는 것을 특징으로 하는 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치.
  7. 제6항에 있어서, 상기 플레인 선택 단계는
    상기 플레인 버퍼에 저장된 해당 가이드 플레인과 동일한 정보를 갖는 해당 플레인이 상기 넥스트 프레임 버퍼에 존재하는 경우 상기 해당 플레인을 선택하고, 그렇지 않은 경우 상기 해당 가이드 플레인을 선택하는 단계를 포함하는 것을 특징으로 하는 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치.
  8. 제6항에 있어서, 상기 플레인 타입 결정 단계는
    상기 선택된 플레인에 대해 청취자(listener)를 향하는 방향으로 가이드 플레인 노멀(guide plane normal)을 설정하는 단계; 및
    상기 가이드 플레인 노멀이 음원(sound source)을 향하는 경우 상기 선택된 플레인을 상기 반사 플레인으로 결정하고, 반대인 경우 상기 회절 플레인으로 결정하는 단계를 포함하는 것을 특징으로 하는 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치.
  9. 제4항에 있어서, 상기 레이 생성 유닛은
    상기 동작 모드가 가이드 모드 또는 리버브 모드인 경우 상기 레이 정보를 기초로 청취자 또는 음원로부터 구면샘플링 방식을 이용하여 해당 레이를 생성하는 것을 특징으로 하는 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치.
  10. 제2항에 있어서, 상기 가이드 플레인 정렬 유닛은
    상기 충돌 삼각형 정보를 기초로 동일한 노멀 정보(normal information)를 갖는 삼각형들을 하나의 동일한 가이드 플레인으로 생성하여 상기 플레인 버퍼에 저장하는 것을 특징으로 하는 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치.
  11. 제1항에 있어서, 상기 리버브 처리 유닛은
    상기 리버브 플레인과 상기 가이드 플레인 간의 플레인 ID(plane ID)를 비교하여 동일한 플레인들을 기초로 유효한 리버브 정보를 생성하는 것을 특징으로 하는 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치.
KR1020210029939A 2021-03-08 2021-03-08 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치 KR102474824B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210029939A KR102474824B1 (ko) 2021-03-08 2021-03-08 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치
US17/927,422 US12101619B2 (en) 2021-03-08 2021-04-22 Sound tracing method and device to improve sound propagation performance
PCT/KR2021/005116 WO2022191356A1 (ko) 2021-03-08 2021-04-22 사운드 전파 성능 향상을 위한 사운드 트레이싱 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210029939A KR102474824B1 (ko) 2021-03-08 2021-03-08 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치

Publications (2)

Publication Number Publication Date
KR20220125964A KR20220125964A (ko) 2022-09-15
KR102474824B1 true KR102474824B1 (ko) 2022-12-07

Family

ID=83281528

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210029939A KR102474824B1 (ko) 2021-03-08 2021-03-08 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치

Country Status (1)

Country Link
KR (1) KR102474824B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101828908B1 (ko) 2016-12-28 2018-02-13 세종대학교 산학협력단 사운드 트레이싱 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김은재 외 4명, 사운드 트레이싱을 위한 적응형 깊이 조절 알고리즘, 한국컴퓨터그래픽스학회 논문지, 2018, 24(5), 2018.12.01. 1부.*

Also Published As

Publication number Publication date
KR20220125964A (ko) 2022-09-15

Similar Documents

Publication Publication Date Title
US8139780B2 (en) Using ray tracing for real time audio synthesis
US9977644B2 (en) Methods, systems, and computer readable media for conducting interactive sound propagation and rendering for a plurality of sound sources in a virtual environment scene
KR102197067B1 (ko) 멀티 프레임들의 동일한 영역을 연속으로 렌더링하는 방법 및 장치
KR102494851B1 (ko) 사운드 전파 성능 향상을 위한 사운드 트레이싱 방법
KR20080094856A (ko) 모델간 충돌 여부 검사 방법 및 장치
US11924626B2 (en) Sound tracing apparatus and method
Antonacci et al. Fast tracing of acoustic beams and paths through visibility lookup
US9942683B2 (en) Sound propagation and perception for autonomous agents in dynamic environments
US10293259B2 (en) Control of audio effects using volumetric data
KR102474824B1 (ko) 사운드 전파 성능 향상을 위한 사운드 트레이싱 장치
KR101790137B1 (ko) 컴퓨터 실행 가능한 사운드 트레이싱 방법, 이를 수행하는 사운드 트레이싱 장치 및 이를 저장하는 기록매체
KR102226120B1 (ko) 다중 코어 사운드 트레이싱 장치 및 방법
US12101619B2 (en) Sound tracing method and device to improve sound propagation performance
Shen et al. Data-driven feedback delay network construction for real-time virtual room acoustics
Rungta et al. Syncopation: Interactive synthesis-coupled sound propagation
KR101955552B1 (ko) 사운드 트레이싱 코어 및 이를 포함하는 사운드 트레이싱 시스템
Ren et al. Designing virtual instruments with touch-enabled interface
KR102620729B1 (ko) 사운드 트레이싱의 회절을 위한 에지 검출 방법 및 장치
WO2018128908A1 (en) Redirecting audio output
Kim et al. An Architecture and Implementation of Real-Time Sound Propagation Hardware for Mobile Devices
Liu et al. Visibility preprocessing suitable for virtual reality sound propagation with a moving receiver and multiple sources
Moreira et al. An Architecture Using a Finite Difference Method to Calculate Realistic Sound Equalization in Games
Ick et al. Leveraging Geometrical Acoustic Simulations of Spatial Room Impulse Responses for Improved Sound Event Detection and Localization
Pisha et al. Specular path generation and near-reflective diffraction in interactive acoustical simulations
WO2018128913A1 (en) Control of audio effects using volumetric data

Legal Events

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