KR20160136716A - 오디오 신호 처리 방법 및 장치 - Google Patents

오디오 신호 처리 방법 및 장치 Download PDF

Info

Publication number
KR20160136716A
KR20160136716A KR1020150070627A KR20150070627A KR20160136716A KR 20160136716 A KR20160136716 A KR 20160136716A KR 1020150070627 A KR1020150070627 A KR 1020150070627A KR 20150070627 A KR20150070627 A KR 20150070627A KR 20160136716 A KR20160136716 A KR 20160136716A
Authority
KR
South Korea
Prior art keywords
hrtf
rendering
distance
frequency
binaural
Prior art date
Application number
KR1020150070627A
Other languages
English (en)
Inventor
오현오
백용현
Original Assignee
주식회사 윌러스표준기술연구소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 윌러스표준기술연구소 filed Critical 주식회사 윌러스표준기술연구소
Priority to KR1020150070627A priority Critical patent/KR20160136716A/ko
Publication of KR20160136716A publication Critical patent/KR20160136716A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S3/00Systems employing more than two channels, e.g. quadraphonic
    • H04S3/002Non-adaptive circuits, e.g. manually adjustable or static, for enhancing the sound image or the spatial distribution
    • H04S3/004For headphones
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/20Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/01Multi-channel, i.e. more than two input channels, sound reproduction with two speakers wherein the multi-channel information is substantially preserved

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Stereophonic System (AREA)

Abstract

본 발명은 오디오 신호를 효과적으로 재생하기 위한 신호 처리 방법 및 장치에 관한 것으로서, 더욱 상세하게는 HMD와 같은 휴대용 기기를 위한 바이노럴 렌더링을 낮은 연산량으로 구현하기 위한 오디오 신호 처리 방법 및 장치에 관한 것이다.

Description

오디오 신호 처리 방법 및 장치{A METHOD AND AN APPARATUS FOR PROCESSING AN AUDIO SIGNAL}
본 발명은 오디오 신호를 효과적으로 재생하기 위한 신호 처리 방법 및 장치에 관한 것으로서, 더욱 상세하게는 HMD(Head Mounted Display) 기기를 비롯한 휴대 기기를 위한 몰입형(immersive) 바이노럴 렌더링을 구현하기 위한 오디오 신호 처리 방법 및 장치에 관한 것이다.
HMD에서 immersive audio listening를 하기 위해서 바이노럴 렌더링(binaural rendering) 기술이 필수적이다. 이때, 연산량 및 전력 소모의 제약이 따르는 모바일 디바이스에서, rendering 대상 객체 혹은 채널의 증가로 인한 연산량 및 전력 소모의 부담은 물론이고, 개인 맞춤형으로 제작되지 않은 HRTF 로 인한 개인별 부적응의 문제, HRTF set의 개수 부족 (공간 해상도 부족)에 따른 artifacts, head tracking lag에 따른 성능 저하 및 불편함 등의 문제를 가지고 있다.
또한, HMD game 시나리오의 경우와 같이 3d video/ 그래픽과 연동되는 시나리오에서는 생성된 video scene과 대응되거나 조화되는 3d immersive sound scene을 연출하는 것 역시 해결해야할 과제이다.
본 발명은 상기의 문제점을 해결하기 위해 안출된 것으로, immersive audio listening을 위한 binaural rendering시 발생될 수 있는 성능 저하 및 불편함 등의 문제를 해결하고자 하는 목적을 가지고 있다.
또한, 생성된 video scene과 대응되거나 조화되는 3d immersive sound scene을 연출하고자 하는 목적도 가지고 있다.
본 발명의 실시예에 따르면, 상기와 같은 과제를 해결하기 위한 바이노럴 렌더링 방법 및 장치가 제공될 수 있다.
<< Key Ideas >>
1. V2A: 3D Video Model로부터 오디오 피처를 추출하고 이를 이용하여 binaural rendering하는 구조
2. VOFF 및 QTDL에 대응하여, source audio 신호가 deterministic object (게임의 효과음, 배경음 등)인 경우, QMF domain으로 변환하고, 필요한 band에 해당하는 신호만을 가지고 있도록 하는 방법 (벌소리처럼 high가 important한 경우는 low를 sparse하게 가지고 있는 방법도 포함)
3. GAUDI Outfit
A. 출력단을 XTC 뿐 아니라 여러가지 환경적응위한 후처리 모듈 추가할 수 있도록 함.
B. Headphone 2 ear canal transfer function EQ, L/R Flip 등의 실시예
C. Binaural bluetooth connection for hearing impared person
4. DSR (Direct Sound Rendering) - Azimuth / Elevantion
A. Directional Rendering으로 다양한 MITF 실시예를 담음
B. Distance Rendering으로 전체 구조와 세부 모듈 구성요소를 완성함
5. MITF
A. Modified ITF Series 1,2,3
i. ITF를 이용하여 HRTF 렌더링 연산을 구현할 경우, ITF의 tone noise issue를 해결하기 위한 방법들 (나눗셈 뒤집기, notch 낮추기, notch 별도 처리하기 등)
B. MITF : 동측 HRTF에 대한 Envelop 추출해서 양쪽에 나눔으로써 spectral flat 구현
C. MITF: 동측 HRTF의 notch영역을 제외한 부분만을 추정하여, 제외한 영역만 ITF 처리.
D. 다른 각도에 대한 Ipsilateral HRTF Envelope을 이용하여 동측, 대측 HRTF 모두에 나눔으로써 Spectral flat 구현.
E. B and C에 대한 low complexity version으로써, Low band는 ITF, High는 MITF 적용
F. Frequency selective HRTF refinement
6. DSR - ADR
A. 거리와 청취 환경에 따른 Distance cue 반영
B. Head size 따른 azimuth bias 고려하는 parallax distance cue
C. GDVF - Generalized Distance Variation Function
i. Distance intensity rendering
ii. Distance frequency shape - Frequency weighting function (FWF)를 이용한 Head shadowing effect
D. Time domain GDVF
7. Occlusion effect
i. Gaudi Occlusion Detector
ii. Gaudi Occlusion Effector
8. Personalization - 신체 계측 정보 취득
A. Facebook같은 SNS 정보 가져오기
B. 사진 이용하여 얼굴 크기 추정하기
C. 옷 사이즈 이용하여 몸 크기 추정하기
D. 다양한 사진에서 귀 모양 추정하기
E. Headphone에 내장된 카메라 혹은 마이크를 이용한 귀모양, HRTF 측정
F. Headphone 장력을 이용한 머리크기 측정
9. Extra Exciter
A. Vibrator 연동, synchronize
B. 뇌파 등 다른 신호 이용
10. Application
A. Auto-run by paired headphone characteristic sensing
11. Binaural Convolution Reverberator
A. Fully 주파수 도메인에서 convolution reverb 구현
i. Initial Energy Matchign
ii. Energy Decay
iii. Decorrelation
iv. IACC Matching
B. 이에 상응하는 RIR Parameterization
C. Block-wise implementation
본 발명의 실시예에 따르면, 다양한 방법을 통해 사용자의 신체 구조를 인식함으로써 용이하게 상기 사용자에게 personalized 된 HRTF를 결정할 수 있고, 이를 통해 상기 사용자는 상기 사용자에게 최적화된 immersive audio를 체험할 수 있다.
또한, 본 발명의 실시예에 따르면, Static Binaural Renderer를 포함함으로써 audio scene이나 상대적으로 interactivity가 떨어지는 객체들에 대한 고품질 바이노럴 렌더링 처리가 가능하다.
또한, 본 발명의 실시예에 따르면, Interactive Binaural Renderer를 포함함으로써 사용자 또는 객체의 움직임을 반영한 바이노럴 렌더링 처리가 가능하며 이를 통해 virtual reality를 구현할 수 있다.
또한, 본 발명의 실시예에 따르면, 객체 오디오의 Time-frequency tile의 중요도를 포함하는 메타데이터를 참조하여 연산 수행의 정도를 결정할 수 있고, 상기 중요도에 따라 사운드 소스의 저장 여부를 결정함으로써 저장 공간을 절약할 수 있다.
또한, 본 발명의 실시예에 따르면, 오디오 렌더러가 video rendering engine으로부터 video lag값을 입력받아 이를 렌더링 시에 반영함으로써 헤드트레킹 시 발생될 수 있는 어지럼증 및 피로도를 저감할 수 있다.
도 1은 제안하는 바이노럴 렌더링 장치의 high level architecture이다.
도 2는 코어에 대한 상세 블록도이다.
도 3은 Static Biaural Renderer의 블록도이다.
도 4는 Interactive Biaural Renderer의 블록도이다.
도 5는 Interactive Biaural Renderer의 또 다른 형태의 블록도이다.
도 6은 Direct Sound Rendering(DSR)의 실시예이다.
도 7은 본 발명에 따른 MITF(Modified ITF)의 개념도이다.
도 8은 MITF 제 4 방법 - notch separation 2를 나타낸 도면이다.
도 9는 MITF 제 7 방법 - Low complexity notch separation을 나타낸 도면이다.
도 10은 ELD를 이용한 HRTF refinement 방법의 블록도이다.
도 11은 Far-field / near-field에 따른 주요 청각 단서를 나타낸 도면이다.
도 12는 Distance Intensity Rendering의 개념도이다.
도 13는 GDVF의 한 실시예를 나타낸 도면이다.
도 14는 GAUDI Outfit의 내부 구조의 일 실시예를 나타낸 도면이다.
도 15은 GAUDI Personalizer의 상세한 도면이다.
도 16은 HRTF Personalization의 상세한 도면이다.
도 17은 스피커와 마이크로폰을 이용한 HRTF 측정 방법의 개념도이다.
도 18은 Extra Exciter를 이용한 렌더링 구조도를 나타낸 도면이다.
도 19는 Extra Exciter를 이용한 렌더링 예를 나타낸 도면이다.
도 20은 Extra exciter 가 포함된 GAUDI master architecture를 나타낸 도면이다.
도 21은 TGDVF(Time domain Generalized Distance Variation Function)의 한 실시예를 나타낸 도면이다.
도 22는 실시간 Occlusion effect 구현을 위한 한 실시예를 나타낸 도면이다.
도 23은 기본적인 occlusion 씬 구분 개념도를 나타낸 도면이다.
도 24는 본 발명에 따른 리버브레이터의 구조도이다.
도 25는 room impulse response (RIR)의 late reverberation part의 time-frequency representation이다.
도 26은 도 25에서 특정 주파수 밴드에 대한 snapshot을 나타낸 도면이다.
도 27은 본 발명에 따른 Binaural Convolution Reverberator를 나타낸 도면이다.
본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도, 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한 특정 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는, 단순한 용어의 명칭이 아닌 그 용어가 가진 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 함을 밝혀두고자 한다.
본 발명은 HMD 기기를 위한 immersive 바이노럴 오디오 신호처리 방법에 대한 것으로써, 입력 오디오 신호를 바이노럴 렌더링하여 스테레오 출력 신호를 생성하는 일련의 과정 및 이에 필요한 주변 인터페이스 등을 포함한다. 입력 오디오 신호로부터 스테레오 오디오 출력 신호를 생성하는 과정에 해당하는 부분을 core engine이라고 하며, 이에 대응하는 기술은 VOFF core, QTDL 등을 비롯한 선행 발명 Ref 1의 기술을 바탕하여 발전시켜 구현되었다. 따라서, 본 문서를 작성함에 있어서, Ref 1을 참고하고, 여기 등장하는 용어는 중복 정의하지 않고 그대로 사용하였다.
Ref 1: VOFF core (PCT/KR2014/008677, “오디오 신호 처리 방법 및 장치,” 오현오, 이태규)
<< Master Architecture >>
도 1은 제안하는 시스템의 high level architecture이다. Audio in으로 audio source 신호가 입력되면, Gaudi core 를 통한 binauralization이 구현되어, 바이노럴 출력신호 L, R이 만들어진다. 이때 신호 L,R은 headphone 청취를 위해 렌더링된 신호들로써, 만일 스테레오 스피커를 통해 출력하는 경우라면 GAUDI XTC (cross talk cancelation)이 구동된 신호가 출력되어야 한다. 보다 일반적으로 얘기해서, 출력신호 L,R은 reproduction 환경의 transducer 등의 특성에 adaptation하기 위한 프로세싱이 요구된다. 본 발명에서 이와 같은 후처리를 통칭하여 GAUDI outfit 이라고 부른다. GAUDI XTC는 outfit의 한 예이다.
(GAUDI Core)
Audio in source 신호는 모노 혹은 1개의 객체일 수도 있고, 복수의 객체 혹은 복수의 채널 신호일 수 있다. 복수의 객체 혹은 채널 신호인 경우 특별히 설명하지 않으면, 1개의 객체인 경우의 복수회 수행으로 해석할 수 있으므로 이하에서 구별하여 설명하지 않는다. 다만, LR (Late Reverberation)을 처리하는 경우는 여러 객체 혹은 여러 채널에 대해 다운믹스된 1-2개의 신호에 대한 processing으로 대체될 수 있다.
(GAUDI Core Interface)
Gaudi Core에서 바이노럴 렌더링을 수행하기 위해 필요한 Gaudi Core Parameter는 GAUDI Core Interface 모듈에서 생성되어 GAUDI Core로 전송된다. Core Parameter는 렌더링을 위해 필요한 여러가지 파라미터들로써 VOFF coefficient, QTDL parameter, LR 계수, 실시간 음윈 방향 및 위치 정보, 객체 위치정보 등이다. 이 가운데 일부 정보는 초기화 과정에서 결정되어 전송될 수 있고, 어떤 정보는 변경될 때마다 실시간으로 전송될 수 있다.
이와 같은 파라미터 생성을 위해 GAUDI Core Interface는 GAUDI G2A Translator의 출력인 GAUDI audio model, binaural rendering information (bitstream), GAUDI Personalizer의 출력인 GAUDI HRTF, 헤드트래킹을 인식할 수 있는 장치 등 외부 센서나 조이스틱과 같은 컨트롤러의 출력, 혹은 외부의 ambient sound 등 사용자 주변 환경에 대응하여 Real World Analyzer가 생성한 Re-Wo inputs 등을 입력 받는다. 그리고, 그 출력으로 Gaudi Core Parameter를 출력한다.
(GAUDI V2A Translator)
GAUDI V2A (Video to Audio) Translator는 3d video model을 입력받아, 이로부터 매칭되는 sound scene을 추출하고, 추출된 sound scene에 대응하는 rendering parameter를 생성하기 위한 Gaudi audio model을 생성해서 core interface에 전달한다.
이를테면, 3d video model에서 사용자가 위치한 공간이 room인 경우 해당 room의 dimension, 벽의 재질, 실내에 위치한 다른 구조물 등을 참조하여, room에 대한 RIR (Room Impulse Response) feature를 synthesize한다. 이렇게 만들어진 RIR feature는 이후 Gaudi Core Parameter를 생성하는데 필수적이다.
GAUDI V2A Translator가 없는 경우 이상의 과정은 contents creator가 수작업을 통해 대응되는 sound scene을 생성하거나, 아니면, 각 room별 고유의 특징을 포기하고 일반적인 렌더링으로 대체하게 되므로, immersive 한 소리 장면을 연출하기 어려워진다.
발명에 따른 또 다른 실시예로써 Gaudi V2A Translator는 room의 fine RIR을 추정하여 synthesize하는 대신, RT (Reverberation Time)과 같이 room의 특성을 주요하게 결정하는 수 개의 파라미터를 직접 합성하는 방법으로 구현할 수 있다.
또다른 V2A Translator의 실시예로써, 생성중인 video 장면에서 음원과 청취자 위치 사이에 sound propagation에 장애가 되는 장애물이 있는 지 여부를 검출하고, 이에 맞게 소리에 대한 추가적인 processing을 할 수 있는 parameter를 추출할 수 있다.
(GAUDI Real World Analyzer)
Real World Analyzer는 사용자 주변 환경의 정보를 입력 받아 이를 해석하여 Gaudi Core Interface에 전달하는 역할을 수행한다. 여기 입력으로 들어오는 신호로는 각종 센서 입력(sensors), 사용자의 제어 입력(controls), 그리고 사용자 주변을 인식할 수 있는 ambient signal 등이 있다. 각각에 대한 상세한 예는 다음과 같으나 예시 이외에도 더 있을 수 있다.
● Sensors
■ Gyroscope, Accelerometer, 고도계, 기압계 등 위치/방향 센서
■ GPS
● Controls
■ Joystick, Keypad, Touch screen 등을 통한 사용자의 입력
■ Gesture, Voice command 등
● Ambient signal
■ Camera
■ Microphone
■ 조도 센서
센서와 컨트롤 정보는 기본적으로 VR application에서 virtual world에서의 사용자 움직임 및 주변에 대한 control을 수행하기 위한 입력 장치로써 역할 한다. 아울러, AR application에서는 Real World와 virtual world object의 효과적이고 seamless한 mix를 위한 입력 parameter로 사용될 수 있다. 이를테면, microphone으로 채집된 주변환경 음과 VR sound가 결합되어 효과적인 mixture를 구현할 수 있다.
(GAUDI Personalizer)
HRTF를 이용한 binaural rendering에 있어서, 개인에 따라 서로 다른 HRTF를 고려하지 않음으로 인한 음질의 손실이 있다. 특정 방위각과 높이에 대해, HRTF를 결정하는 중요 요소들은 소리를 듣게 될 사람의 신체적인 특성에 기인한 것들이 많다. 이를테면 귀바퀴의 모양 및 크기, ear canal의 형태, 두개골의 크기 및 유형, 키, 체형, 체중 등…
Personalization을 구현하는 한 가지 방법은 개인별로 각각 고유의 HRTF를 실측하는 것이다. HRTF 실측을 위해서는 무향실과 같이 갖추어진 공간과 측정을 위한 시스템이 갖춰져야하며, 사용자가 장시간 고정된 자세로 측정에 임해야하는 등 불편하고 비싼 방법이다.
이에 대응하는 방법으로써 Gaudi personalizer는 다수의 HRTF database로부터 사전 추출하여 확보한 각 특징 별 구성요소들을 이용하여, 입력된 사용자의 신체 구조를 참조하여 personalized HRTF 를 합성한다. 본 발명에서 Anthropometric data/feature는 신체 구조를 측정한 신체 계측 정보를 의미하며, 단순히 길이정보가 아닌 contour, 3D 신체 모델 등을 포함하는 신체 구조를 표현할 수 있는 모든 것을 포함한다.
사용자의 신체 구조를 인식하는 방법으로 본 발명에서는 다음과 같은 방법을 사용할 수 있다.
● 외부에 설치된 카메라를 이용
● 스마트폰의 전면 카메라를 이용 : 전화 통화 시 귀에 접근 하는 과정에서 귀 모양 측정
● 초음파, terahertz 등을 이용한 스캐닝
● 사용자 선택: 여러 후보 database가운데 사용자가 청취 후 특정 DB 선택
(GAUDI Outfit)
전술한 바와 같이 바이노럴 렌더링이 완료된 신호 L, R은 라우드스피커 재생을 위한 GAUDI XTC, 헤드폰 EQ를 위한 처리 등의 outfit 과정을 (선택적으로) 거친 후 출력될 수 있다. 이때 outfit process가 GAUDI core에서 신호처리하는 domain과 동일한 경우, 이를테면 동일한 해상도의 FFT domain에서 수행하는 경우, Outfit 까지 수행한 후 IFFT 혹은 synthesis Filterbank를 거쳐서 최종 출력을 보낼 수 있다. 각각의 자세한 내용은 후술하도록 한다.
<< Gaudi Core >>
도 2는 코어에 대한 상세 블록도이다. Core는 입력으로 source 오디오 신호를 받고, 이에 대해 바이노럴 렌더링 프로세싱이 완료된 오디오 신호 L, R을 출력한다. 이 때 source 오디오 신호는 일반적인 멀티채널 라우드스피커 신호, 객체 신호 등을 다양한 오디오 신호를 지칭한다. 본 발명에서 오디오 신호는 멀티채널 라우드스피커 신호, 객체 신호 등을 포괄하며, 객체 신호는 라우드스피커 신호를 포함한다. 코어는 크게 Static Binaural Renderer와 Interactive Binaural Renderer로 구분되어 처리된다. Static Binaural Renderer는 고품질 바이노럴 렌더러로 멀티미디어 컨텐츠와 같이 정지되어 있는 audio scene이나 상대적으로 interactivity가 높지 않은 객체들을 처리하는데 사용된다. 도 1의 Audio input에 따르면 natural audio (studio에서 multichannel configuration 에 맞게 artistic mixing 되어있는 콘텐츠)를 사용하여 렌더링 하거나 중요한 객체를 바이노럴 렌더링 하는데 사용된다.
Interactive Binaural Renderer는 VR 및 AR에 필수적인 요소로 유저 또는 객체가 움직임에 따른 변화에 능동적으로 반응하기 용이한 구조로 되어있다.
Domain Switcher는 각 모듈에 적합한 domain으로 변환해주는 것으로 Forward/Inverse Fast Fourier Transform, Forward/Inverse Discrete Cosine Transform, Analysis/Synthesis QMF filterbank 등이 예가 될 수 있다. Domain Switcher의 입력 신호는 시간 도메인 신호로 한정하지 아니하며, 서브밴드 신호가 입력이 될 수 있다.
도 2의 구조는 다양한 환경에서 효율적인 바이노럴 렌더링을 수행 가능케 한다. 상기 효율성을 얻을 수 있는 예시는 다음과 같다.
매우 많은 객체들이 존재하는 경우 각 객체를 렌더링 하는 것은 매우 비효휼적이다. 이를 위하여 멀리 떨어져 있는 경우나 움직이지 않을 것으로 예상되는 객체는 Static Binaural Renderer에서 처리하며, 근접해 있거나 움직일 것으로 예상되는 객체는 Interactive Binaural Renderer에서 처리 가능하다.
도 2의 Domain Switcher의 출력은 Subband Audio로 명시되어 있으나 본 발명에서는 각 오디오 신호마다 서로 다른 도메인 신호로 각 렌더러에 전달되며 한 신호가 복수개의 서로 다른 도메인 신호로 변환되어 전달 될 수 있다. 또한 도 2의 Subband Audio는 시간 도메인 신호를 포함한다.
(Static Binaural Renderer)
도 3은 Static Binaural Renderer의 세부 구조를 나타내는 블록도이다. Static Binaural Renderer의 경우 콘볼루션 기반의 Convolutive BR, 이보다 부정확하지만 매우 효율적인 Parameteric BR, 그리고 높은 주파수 대역에 효과적으로 렌더링 가능한 QTDL 등이 사용될 수 있다.
(VOFF update for GAUDI)
도 2 및 도 3에 나타낸 것처럼 입력 오디오 신호가 time domain으로 들어오면, gaudi core가 동작하기 위한 domain으로의 변환하기 위한 FB (Filterbank)과정이 필요하다. 이를테면 VOFF, QTDL 등의 처리 과정은 QMF 도메인에서 진행되므로, 입력신호를 QMF로 변환하는 analysis FB를 통과해야 한다. 이는 소스 채널 개수에 비례하여 증가하는 연산량이다. 이때, 게임 어플리케이션의 예처럼, 사운드 소스가 deterministic한 경우라면, 해당 신호는 QMF로 변환된 상태로 메모리에 저장되도록 할 수 있다. 이와 같이 구현하면, 해당 신호에 대해서는 FB가 불필요하다. 나아가서 각 오디오 신호의 bandwidth는 소스마다 다를 수 있으므로, 재생에 있어서 유효한 오디오 신호가 있는 band까지만 저장하는 방법으로 구현할 수 있다. 이때 유효 밴드가 어디까지 인지에 해당하는 값은 별도의 파라미터로 저장하고, 향후 VOFF 및 QTDL, PLR 등의 렌더링 과정에서 해당 파라미터를 참조하여 렌더링하면 연산량을 추가적으로 줄이는 효과를 얻을 수 있다.
(Spectral Contents Dependent Rendering)
특정 객체 오디오 신호의 경우 특정 주파수 대역에만 에너지가 몰려 있거나 상대적인 중요도가 매우 다를 수 있다. 예를 들면 차임벨 소리는 특정 하모닉을 포함하는 주파수 빈을 제외하고 에너지가 없으며, 벌 소리의 경우 특정 대역을 제외하면 상대적인 중요도가 매우 낮다. 따라서 객체 오디오의 Time-frequency tile의 중요도를 포함하는 메타데이터를 포함할 수 있다. 상기 메타데이터는 렌더러의 수행 가능한 연산량에 따라 연산 수행의 정도를 결정한다. 예를들면 연산량이 충분한 경우 모든 대역을 VOFF로 처리하지만 연산량이 부족한 경우 낮은 중요도를 가지는 time-frequency tile은 QTDL로 처리하는 방법이 예가 될 수 있다. 더불어 중요도에 따라 사운드 소스의 저장 여부를 결정함으로써 저장 공간을 절약할 수 있다.
<< Interactive Binaural Renderer >>
도 4는 Interactive Binaural Renderer의 실시예이다. 전달 된 Interactive GAUDI Core parameter는 Interactive Binaural Parameter Controller를 통하여 각 모듈에 맞는 파라미터들을 분리 또는 가공하여 각 모듈에 전달한다. Interactive Binaural Renderer는 크게 Direct Sound Rendering, Early Reflection Rendering, Binaural Late Reverberation으로 나뉘며 이는 재생 공간의 특성과 사람의 심리 음향적 특성을 반영한 것이다. Direct Sound Rendering의 경우 직접 반사음을 구현하는 모듈로 특정 신호의 방향성과 거리를 반영하는 모듈이다. Early reflection rendering부는 공간의 특성 중 초기 반사음을 구현하기 위한 부분으로, 초기 반사음에 의하여 사람은 공간 특성 뿐만 음상 외재화, 전후 모호함(Front-back confusion)등을 해결하는 데 큰 역할을 한다. Binaural Late Reverberator는 공간의 후기 잔향을 반영하는 모듈로 공간의 전반적인 특성을 인지하는데 큰 역할을 한다.
도 5는 도 4의 실시예와는 다른 실시예로써 Early reflection rendering부와 Direct sound rendering부가 연속적으로 연결하는 방법으로써 실제 구현시 최적화 하는 경우 Direct sound rendering과 Early reflection rendering부가 통합되어 효율적으로 구현 가능하다.
(Location Dependent Parameter Resolution)
Virtual Reality, Augmented Reality의 경우 오디오 장면에서의 사용자의 위치, 사운드 오브젝트의 위치, 공간 등은 매우 빠르게 가변한다. 이러한 경우 각 변화에 대응되도록 오디오 장면이 바뀌어야한다. 따라서 해당 오디오 장면이 실시간으로 잘 변화하기 위해서는 GAUDI Core가 실시간으로 바뀌어야 한다.
실시간으로 바뀌어야 하는 요소 중 초기에 벽면에 반사되는 Early reflection은 음장감을 인지하는데 매우 중요한 요소이다. Early reflection을 구하기 위해서는 ray tracing 또는 image source method를 사용하게 되는데 이를 실시간으로 구현하는 것은 매우 복잡하다. 이에 대한 효과적인 구현방법의 하나로써, 벽면을 일종의 노드(Node)로 가정하고 노드 간의 interaction을 모델링하는 방법을 사용할 수 있다. 이 과정에서 노드의 위치는 일반적으로 image source method로 얻어진 image source에서 사용자와 가상 공간까지의 경로에서 해당 벽면 위를 지나가는 점으로 설정된다. 그러나 이 경우에도 사용자의 가상 공간상의 위치, 또는 오디오 객체의 위치가 변하는 경우 이를 매번 image source method로 구해야하는 단점이 있다. 더불어 사용자의 가상 공간상의 위치와 오디오 객체의 image source간의 delay 등이 중요한 요소가 되는데 이 또한 매번 연산하여야 한다. 이를 극복하기 위하여 변경 전과 변경 후의 사용자의 가상 공간상의 위치 혹은 오디오 객체의 위치간의 차이에 상응하는 위치 벡터에 대한 수식으로 근사하여 delay와 node의 위치를 계산함으로써 연산량의 이득을 얻을 수 있다. 또한 node의 위치는 고정시키고 delay만 변경함으로써 보다 적은 연산량으로 이를 수행할 수 있다.
(Direct Sound Rendering)
도 6은 Direct Sound Rendering(DSR)의 실시예다. DSR은 객체의 방향과 거리에 대한단서를 반영하는 부이다. 도 4 혹은 5에서와 같이 Interactive GAUDI Core Pareamters가 Interactive Binaural Parameter Controller에 전달되면 DSR 모듈에 필요한 파라미터들을 파싱, 추출, 계산하여 각 모듈에 필요한 파라미터들을 전달한다. 이 때 상기 파라미터는 객체의 각도 (머리 중심 기반의 center angle 혹은 Parallax angle 혹은 두 각도 모두)와 Direction Filter DB, Distance Filter DB 등을 포함한다. 상기 Interactive Binaural Paramter Controller 내부의 Object Decision 모듈은 Direction Rendering에서 렌더링 될 음원의 방향을 결정하는 부이다. 상기 객체의 각도는 해당 모듈에서 계산되는 것이 특징이다. Direction Rendering부는 오디오 장면 상의 오디오 객체의 방향을 정위하는 모듈로 양이의 레벨차, 양이의 위상차, 스펙트럴 포락선, 스펙트럴 나치(Notch), 피크(Peak) 등을 반영하는 모듈이다. Distance Freq Shape (I, C) 모듈은 재생되는 사운드 씬의 거리에 따라 다른 spectral shaping을 모델링하여 반영하며, 특히, 근거리에 있는 경우 Binaural distance cue를 반영하여 고정된 위치에서 측정된 HRTF를 근거리 HRTF 응답으로 보상해주는 모듈이다. 특히 주파수 영역에서의 shaping에 관련된 역할을 수행하고, Distance Intensity (I, C) 모듈은 청취자의 머리 크기, 거리, 각도를 반영한 1/R 법칙을 이용하여 거리에 따른 sound intensity를 조절하는 것이 특징이다. 따라서 Distance Freq Shape와 Distance Intensity 모듈은 DSR의 Distance rendering을 주로 담당한다.
<< Modified ITF (Interaural Transfer Function) >>
Direction Rendering은 오디오 객체의 방향을 정위하기 위한 방법으로 일반적으로 양이 신호의 레벨차이, 위상 차이 등을 반영한다. 가장 직관적인 방법으로는 양 이의 머리전달함수(Head related transfer function)을 각각 컨볼루션함으로써 해당 방향의 양이신호를 얻어 낼 수 있다. 그러나 일반적인 HRTF를 사용하게 되는 경우, HRTF 측정 자체가 무향실(unechoic chamber)에서 측정되었기 때문에 무향실의 spectral coloration이 바이노럴 렌더링된 신호에 반영되고, 이는 사용자로 하여금 어색한 소리(주로 저음이 상실된)로 느껴지게 한다. ITF는 처리과정에서 이와 같은 room의 고유 특성이 상쇄되는 효과로 인해, 이와 같은 HRTF rendering의 단점을 보완할 수 있다.
Direction Rendering을 수행하기 위하여 HRTF를 사용하였을 때의 음색에 대한 악영향을 극복하는 방법으로써 Interaural Transfer Function(ITF) 가 사용 가능하다. ITF는 대측(contralateral) 방향의 HRTF를 동측(Ipsilateral) 방향의 HRTF로 나눈 전달 함수로 정의되며, 본 발명에서 ITF 처리한다는 의미는 동측방향은 bypass하고 대측방향에 ITF로 렌더링을 수행하는 것을 의미한다. ITF는 동측 방향의 귀에서 대측 방향의 귀에 대한 차이의 함수이며, 사람은 두 귀의 차이를 단서(Binaural cue)로 하여 방향감을 인지한다는 이론에 기반한다.
ITF를 사용하여 처리하면, L/R pair 중 한쪽 채널만 렌더링 연산을 수행하면 되므로 연산량 관점에서 큰 이득이 된다. 그런데, ITF 적용 시 HRTF의 스펙트럴 피크 혹은 나치와 같은 고유 특성 상실에 의한 음상 정위 열화 혹은 동측 HRTF의 notch영역에서 ITF에 밴드위스가 좁은 spectral peak가 발생하는 문제로 인한 음질 열화 등 구현시 어려움이 따르기도 한다.
도 7은 본 발명에 따른 MITF(Modified ITF)의 개념도이다. MITF를 생성하기 위하여 Modified ITF(MITF) Generator에 동측(Ipsilateral) HRTF와 대측(Contralateral) HRTF가 입력되면, 동측 MITF와 대측 MITF가 출력된다. 출력된 두 MITF를 이용하여 도 7(b)의 Binaural Rendering과 같이 Object signal이 입력 될 경우 각 MITF를 이용하여 필터링을 수행, 두 바이노럴 신호를 얻어내는 것이다. ITF는 Contralateral HRTF를 Ipsilateral HRTF로 나누는 것인데, 이 때 Ipsilateral MITF가 1이 된 경우, 즉 시간 영역에서는 unit delta function이거나 주파수 영역에서 모든 이득값이 1인경우 <Binaural Rendering>단에서 Ipsilateral MITF를 처리하는 Filtering process는 생략 가능하다 (Bypass). 이를 통하여 연산량의 이득을 얻을 수 있다. 반대로 Contralateral이 1이고, Ipsilateral만 있는 경우로도 구현할 수 있고, 이때에도 동일한 연산량의 이득을 기대할 수 있다. 주파수 인덱스 k에 대하여 동측 HRTF를 H_I(k), 대측 HRTF를 H_C(k)이라 할 때, MITF 출력 M_I(k)와 M_C(k)는 Ipsilateral이 1인 경우, 즉, ITF의 형태로 binaural rendering을 수행하는 경우의 기본식은 다음과 같다.
Figure pat00001
(ITF tone noise)
전술한 것과 같이 ITF 를 구현할 때, 대측의 HRTF를 동측의 HRTF로 나누는 과정을 거치는 데 이는 동측의 경우 대측에 비해 신호가 귀에 도달하는 경로가 짧고 머리에 의한 신호 level의 감쇄가 덜하기 때문이다. 따라서 동측의 magnitude가 대측에 비해 크다는 가정하에 ITF가 구현 된다. 그러나 실제 HRTF 데이터는 동측의 HRTF에 spectral notch가 있는 부분에서 대측이 동측의 magnitude보다 큰 경우가 발생할 수 있다. 이 때 이를 ITF로 구현할 경우, spectral peak로 나타나게 되고, 이것이 tone noise와 같은 신호의 coloration을 유발한다.
(MITF 제 1 방법 - 조건부 동측 필터링)
이에 대한 해결 방법으로써, 본 발명의 일 실시예에 따르면, notch 부분에서 동측과 대측의 magnitude 역전 현상이 일어나는 경우, 즉 대측 HRTF가 동측 HRTF보다 큰 경우, 반대로 동측을 대측으로 나누어 연산함으로써 spectral peak 발생을 방지 할 수 있다. 이와 같은 방법은 notch가 있는 지역에 대하여 원 신호에 큰 변화를 주지 않는 장점이 있다. 주파수 인덱스 k에 대하여 동측 HRTF를 H_I(k), 대측 HRTF를 H_C(k)이라 할 때, MITF 출력 M_I(k)와 M_C(k)는 다음과 같이 수식적으로 표현 가능하다.
Figure pat00002
여기서 M_I(k), M_C(k)는 각각 동측, 대측 MITF이다. M_I(k) 또는 M_C(k)가 1인 경우 처리하지않는 것과 같으므로 연산량을 절약하기 위하여 아무것도 처리하지 않을 수 있다. 이와 같이 처리하는 것은 rendering 시점에 판단하여 대응하는 방법으로 구현할 수도 있지만, HRTF data가 미리 결정된(e.g. 측정된) data set인 경우는 반대로 처리해야하는 point들을 flag로써 미리 확보하고 있는 것도 방법이다.
 
(MITF 제 2 방법 - Truncation)
본 발명의 또 다른 실시예에 따르면, 분모가 되는, 즉 나누는 채널(즉, Ipsilateral 측)에 spectral notch가 있는 경우 해당 notch 영역에서 ITF의 magnitude response를 0dB로 놓고 처리할 수 있다. 또는 동측 HRTF의 크기가 대측 HRTF의 크기보다 작을 경우 ITF의 크기를 0dB로 설정할 수 있다. 이를 수식적으로 표현한 것이 수학식 2이다. 이 경우 M_I(k)는 항상 1이므로 전술 한 것과 같이 동측 MITF를 처리하기 위한 Filter process는 생략 가능하다. 다음 수학식은 실시예로써, 동측 HRTF의 크기가 대측 HRTF의 일정 비율보다 작을경우로 확장할 수 있다.
Figure pat00003
(MITF 제 3 방법 - Scaling)
또 다른 실시예로써, notch의 폭을 줄이는 방법이 사용 될 수 있다. 추정된 Notch 영역에 대하여 1보다 큰 값을 갖는 가중치를 반영하기 위한 가중치 함수 w(k)가 수학식 4와 같이 적용됨으로써 해당 실시예가 사용될 수 있다. 가중치 함수 w(k)의 특징은 notch의 폭이 깊을수록 혹은 notch영역에서 ipsilateral HRTF와 contralateral HRTF간의 차이가 클 수록 큰 값을 갖는 것이 특징이다.
Figure pat00004
(MITF 제 4 방법 - notch separation)
또 다른 실시예로써, 도 8과 같이 spectral notch component를 분리하여 따로 처리할 수 있다. 즉 방위각 30도 고도각 30도 HRTF의 경우 방위각 30도 고도각 30도의 Ipsilateral HRTF를 HRTF Decomposition 처리하여 Ipsilateral HRTF Envelope과 spectral notch component인 Ipsilateral MITF를 얻어내고, Ipsilateral HRTF Envelope으로 Contralateral HRTF를 나눔으로써 Contralateral MITF를 얻어낼 수 있다. Spectral notch의 경우 일반적으로 외이의 특정 위치에 반사가 일어남으로써 발생하는 것으로 HRTF의 spectral notch는 elevation perception에 큰 기여를 한다고 알려져 있다. 특히 ITF를 이용하는 경우 양이 단서(Binaural cue)를 반영하는 것이 목적이며, 양이 단서는 HRTF의 방향과 frequency에 대하여 천천히 변화한다는 것이 특징이다. 따라서 HRTF의 spectral notch를 분리하고, notch가 제거된 양이 HRTF의 경우 ITF로 바꾸어 처리하고, 얻어낸 spectral notch는 간단한 IIR filter 등으로 처리 될 수 있다. 일반적으로 notch는 spectrum domain에서 fast varying하는 component이며, ITF에 포함되어야 할 단서들은 slow-varying 하다고 가정할 수 있기 때문에 이를 분리하기 위하여 cepstrum을 이용한 homomorphic signal processing 이나 Wave interpolation(REW/SEW) 등을 사용할 수 있다.
한 구체적인 실시예로써, 얻어진 cepstrum에 windowing을 수행하여 ipsilateral HRTF의 envelope을 추정하고, ipsilateral HRTF의 envelope을 ipsilateral HRTF와 contralateral HRTF에 각각 나누어 줌으로써 ITF의 목적인 spectral coloartion을 제거하는 것을 수행할 수 있다. 이에 대한 개념도는 도 8과같다. HRTF Decomposition 블록도는 cepstrum을 이용한 HRTF envelope과 ipsilateral HRTF에 envelope을 나눈 ipsilateral HRTF residual에 상응한다. HRTF Decomposition은 본 발명에서는 cepstrum을 이용한 방법만을 한정하지 않으며, all-pole modeling, pole-zero modeling, wave interpolation 등을 포함한다.
도 8의 Ipsilateral HRTF Envelope 대신 다른 각도의 Ipsilateral HRTF Envelope 이 사용 될 수 있다. 한 실시예로 Horizontal plane상의 Ipislateral HRTF Envelope으로 다른 HRTF 쌍을 normalization함으로써 spectral plat을 구현할 수 있다. 즉 앞의 실시예와는 다르게 방위각 30도 고도각 30도에 상응하는 HRTF는 방위각 30도, 고도각 0도의 Ipsilateral HRTF 에서 얻어진 Ipsilateral HRTF Envelope을 도 8의 Ipsilateral HRTF Envelope으로 사용 할 수 있다. 즉, 본 발명은 방위각 30도 고도각 30도에 상응하는 Ipsilateral HRTF와 Contralateral HRTF를 방위각 30도 고도각 0도에 상응하는 Ipsilateral HRTF Envelope으로 normalization 하는 것을 포함한다.
(MITF 제 5 방법 - notch separation 2)
본 발명에 따른 또 다른 실시예로써 Wave interpolation(WI)을 사용하는 경우 frequency, elevation 또는 frequency, azimuth 를 축으로 갖는 3차원 표현에서 slowly evolving waveform (SEW)와 rapidly evolving waveform (REW)로 분리할 수 있다. 상기 ITF에 포함되어야 할 단서들은 SEW에, notch에 해당하는 component는 REW에 포함되게 된다. 이때 본 발명에 따른 WI는 공간(elevation/azimuth)/주파수 축으로 표현되는 것이 특징이다.
SEW의 경우 ITF를 이용하여 바이노럴 렌더링을 수행하고 REW의 경우 각 채널에 직접 적용함으로써 상기 tone noise에 의한 음질 저하 문제를 해결할 수 있다.
WI의 경우 공간/주파수 domain에서 급변하는 성분과 천천히 변하는 성분을 분리하는 하나의 실시예로써 Hormomorphic signal processing이나 3D/4D low/high-pass filtering 등 다양한 방법이 사용될 수 있다.
(MITF 제 6 방법 - notch separation 3)
전술한 envelope을 추정하는 방법들의 경우 전반적인 음색의 열화는 방지할 수 있으나, 원음과 비교했을 때 여전히 음색 왜곡이 발생할 수 있다. 이러한 다른 음색은 특정 상황의 경우 사용자로 하여금 불편함을 야기할 수 있다. 따라서 최대로 음색을 보존하는 방법으로써 Notch 영역만 끄집어내서 처리하는 방법이 사용 될 수 있다. 이를 수식적으로 나타내면 다음과 같다.
Figure pat00005
여기서 M'_I(k), M'_C(k)는 MITF 제 6방법으로 얻어진 MITF이며 M_I(k), M_C(k)는 전술한 MITF 제 1~5방법이다. notch 대역의 경우 해당 나치를 그대로 사용하고, notch 대역이 아닌경우 전술한 MITF 방법을 사용할 수 있다.
Notch 영역을 추정하기 위하여 All-pole modeling, Pole-zero modeling, group delay function 등을 이용하여 ipsilateral HRTF의 notch영역을 추정하고, 상기 추정된 notch 영역을 제외한 남은 영역은 contralateral HRTF에 나눠주어 변형된 ITF를 추정 할 수 있다. 상기 추정된 notch 영역은 각 채널에 대하여 filtering을 수행함으로써 반영 될 수 있다.
 
(MITF 제 7 방법 - Low complexity notch separation)
본 발명에 따른 또 다른 실시예로써, Ipsilateral/contralateral HRTF residual, 혹은 상기 추정된 notch 영역을 보다 저 전력으로 처리할 수 있다. 이를 위하여 Ipsilateral/contralateral HRTF residual 또는 상기 추정된 notch영역을 간단한 FIR/IIR 필터로 근사하고, 각각을 직접 처리하는 대신 근사된 FIR/IIR 필터를 사용함으로써 보다 낮은 연산량으로 MITF를 처리할 수 있다. 도 9는 MITF 제 7방법의 개념도로 도 9의 (a)와 (b)는 도 7의 (a)와 (b) 각각의 실시예 이다. 도 9 (a)의 HRTF Decomposition은 HRTF의 포락선과 나치 부분을 분리해내는 모듈로 도 8의 HRTF Decomposition과 동일하다. 분리된 동측/대측 HRTF의 포락선(Envelope)은 ITF를 계산하는데 사용된다. Interaural Level Difference(ILD), Interaural Time Difference(ITD)는 ITF의 크기와 phase(혹은 시간 영역에서는 시간차)에 대응된다. 분리된 HRTF의 나치부분은 낮은 차수의 FIR/IIR 필터로 근사화 될 수 있다. 예를 들면 복수개의 2차 IIR 나치 필터들의 조합이 될 수 있다.
도 9의 (b)는 렌더링 단의 블록도로 도 7의 (b)와 대응된다. (a)에서 얻어진 ILD, ITD를 반영하기 위하여 대측 방향의 필터링이 수행되며, 근사화된 나치를 반영하기 위하여 동측 대측에 각각 필터링이 수행된다.
(MITF 제 8 방법 - Hybrid ITF)
ITF의 경우 ipsilateral 에 아무런 처리를 하지 않는다는 점에서 음색을 최대한 유지한다는데 장점이 있으나, median plane에서는 left/right HRTF가 거의 동일하기 때문에 양이 레벨, 위상 차이 등이 발생하지 않기 때문에 localization cue가 없어 음상정위가 불가능하다. 더불어 전술 한 것과 같이 특정 각도에 대하여 notch에 대한 tone noise도 발생하는 문제도 있다. 이 두 문제를 해결하는 방법으로써 MITF를 사용 될 수 있으나, MITF의 경우 ITF와 비교하여 음색이 변하는 것이 문제가 될 수 있다. 이를 해결하기 위하여 Hybrid 형태로 특정 대역은 ITF로, 특정 대역은 MITF를 사용 할 수 있다.
구체적인 실시예로써 저주파 대역의 경우 양이 레벨, 양이 위상 차이가 음상 정위에 있어서 중요한 요소이며 고주파 대역의 경우 전반적인 스펙트럴 포락선이나 특정 나치, 피크 등이 중요한 음상 정위의 단서가 된다. 따라서 이를 효과적으로 반영하기 위하여 저주파 대역은 ITF로, 고주파 대역은 MITF로 그 사이 대역은 ITF와 MITF의 선형 결합 형태로 처리 할 수 있다. 여기서 MITF는 전술한 MITF 제 1~7방법 모두 사용될 수 있다.
수학식 6은 이를 수식적으로 표현한 것으로 H_I(k), H_C(k)는 각각 동측, 대측 Hybird ITF, I_I(k) I_C(k)는 각각 동측, 대측 ITF, M_I(k), M_C(k)는 각각 동측, 대측 MITF이고, k는 주파수 인덱스이다.
Figure pat00006
C1은 500~1kHz 사이의 값 중 하나이고, C2는 1kHz ~ 2kHz 사이의 값 중 하나이다.
에너지 보존을 위하여 선형 결합을 위한 이득값 g1(k), g2(k)는 g1(k)^2+g2(k)^2=1를 만족시키며 전반적으로 g1(k)는 k가 증가함에 따라 감소하고, g2(k)는 k가 증가함에 따라 증가한다. 그러나 특정 목적을 위하여 위는 항상 만족하지 않을 수 있다.
더불어 전술한 Hybird MITF 실시예와는 다르게 밴드를 더 많은 개수로 나눌 수 있으며, 특히 특정 나치 대역에만 MITF가 사용될 수 있다. 또한 상기 MITF 제 1~8 방법의 경우 특정 대역에만 해당 방법을 사용하는 등의 다양한 변형이 가능하다. 특정 대역을 Notch 대역으로 한정하는 경우 Notch 대역을 판별하는 과정이 필요하다. 상기 판별하는 과정은 All-pole modeling, Pole-zero modeling, group delay function, Homomorphic signal processing 등이 사용 가능하다.
(Frequency Selective HRTF Refinement)
개인별로 각자 본인 귀에 맞는 HRTF를 쓰지 않고 Non-individual HRTF를 쓰는 경우 localization 성능을 향상 시키기 위하여 HRTF를 적당한 방법으로 추가적인 정제(Refinement)를 수행할 필요가 있다.
일 실시예로 front-back confusion을 해결하기 위한 방법으로써 전면(270~90˚)에 해당하는 HRTF set과 후면(90~270˚)에 해당하는 HRTF set의 각 주파수값에서의 상대적인 차이를 이용하여 전면에 해당하는 HRTF의 peak와 notch를 강조하는 방법을 적용할 수 있다.
또한 localization 성능을 높이기 위해 azimuth 혹은 elevation에 따라 변화되는 HRTF의 spectral 특성을 이용하여 해당 주파수 대역의 변화만을 강조해 줄 수 도 있다.
ITF에 기반한 Rendering 방법은 음원의 coloration을 줄이기 위한 HRTF refinement의 일종으로 볼 수 있다. 음원의 coloration 감소와 localization 성능 향상의 trade off 관계에 의하여 ITF의 elevation 정위 성능이 떨어질 수 있기 때문에 추가적인 refinement 방법이 필요하다.
Refinement의 일 실시예로써 HRTF의 elevation에 의한 spectral 변화에 기반하여, 동측으로 대측을 나누어 주는 주파수 대역을 가변적으로 결정하는 Frequency band selective ITF를 사용할 수 있다. Elevation이 높아질수록 peak가 강조되는 중간 주파수 대역 (e.g. 4khz~8Khz)과 음원의 coloration에 크게 영향을 주는 저주파 대역을 분리하여 동측 HRTF의 저주파 대역은 MITF 1~7방법을 사용하여 만들수 있고, 중간 주파수 대역은 나누지 않고 원래 HRTF 그대로 사용하여 분리한 동측 notch와 결합함으로써 coloration 왜곡을 최소화 하면서 elevation cue를 더 살리는 방법이다. 이 방법은 notch대역을 분리한 HRTF의 envelope만으로도 처리 가능하다.
본 발명에 따른 또 다른 실시예로써 기존의 MITF방법으로 만들어진 대측과 동측 HRTF set의 중간 주파수 대역에 대해 elevation에 따라 결정되는 추가적인 gain을 할당하여 증폭시켜 강조할 수 있다. 수학식 7은 ITF방법에 refinement를 적용한 것을 표현한 것으로 여기서 G는 증폭 gain을 나타낸다.
Figure pat00007
여기서 G는 measured HRTF DB에서 elevation 0도를 기준으로 최대 및 최소 elevation일 때의 상기 중간 주파수 대역의 평균 magnitude의 차이를 참조하여 interpolation 등의 방법을 이용하여 구할 수 있다. 또 좀 더 세밀한 gain을 적용하기 위해서는 중간 주파수 대역의 bin간의 차이를 구하여 gain을 적용하는 해상도를 높일 수도 있다.
한편 상기 방법은 주파수 대역간의 discontinuty로 인하여 추가의 왜곡이 발생될 수 있다. Discontinuity 왜곡을 최소하하는 방법으로써 수학식 7의 gain G를 주파수 축에서 smoothing할 수 있다. 즉, G를 적용한 주파수 대역과 그렇지 않은 대역 사이 경계에서 적절한 smoothing 구간을 두어 G를 변형함으로써 밴드간의 Magnitude 차이가 급격하게 변하지 않도록 할 수 있다. 따라서 이 주파수 대역 사이에 적용되는 G는 주파수 bin마다 다르기 때문에 G(k)로 표현 될 수 있으며 상기 smoothing을 위한 interpolation 방법으로는 linear, log, spline, lagrange 계열의 interpolation 방법이 적용 가능하다.
상기 방법은 고주파 영역에 대해서도 동일하게 적용 할 수 있으며 사용자의 요구에 따라 coloration과 localization을 trade-off하는 parameter로 사용 할 수도 있다.
G를 구하는 일 실시예로써 상기 MITF 1~7 방법들을 참조하여, elevation 간의 차이에 적용할 수 있다. 즉, 측정된 대측과 동측의 각각의 HRTF에 대해 elevation level difference(ELD)를 구한다. ELD를 이용한 HRTF refinement의 과정은 도10과 같이 나타낼 수 있다.
도 10 ELD를 이용한 HRTF refinement 방법
도 10에서 φ1과 φ2는 인접한 HRTF간의 elevation 각도를 나타낸다. 계산된 ELD는 elevation의 변화에 따라 주파수 응답이 크게 변하지 않는 주파수 대역에 대해서는 1에가까운 gain값을 갖도록 하고, 그렇지 않은 대역은 적절한 증폭 또는 감쇄 gain을 구하도록 한다. ELD를 동측 및 대측 각각에 적용할 경우 azimuth에 따른 ILD차가 깨질 수 있으므로 주파수별 elevation의 변화에 따른 ELD는 양쪽이 동일하다는 가정하에 레벨이 큰 동측의 ELD만을 양쪽에 동일하는 방법을 사용할 수도 있다. 이러한 ELD는 MITF를 이용하여 분리한 envelope으로부터 elevation에 따라 상기 명시된 interpolation 방법들을 이용하여 적용될 수 있으며, envelope만을 이용하여 보상하기 때문에 MITF방법들에서 흔히 발생하는 문제인 notch 주파수 차이로 인한 tone noise 문제를 피할 수 있다.
<< Interpolation >>
HRTF 가 충분히 많은 공간 해상도를 갖는 경우가 아니라면, head movement나 객체의 이동을 구현하기 위해서 HRTF 에 대한 interpolation 이 필연적으로 발생한다. Interpolation 구현 방법으로 고려해볼 수 있는 기술은
● Linear interpolation
● Discrete Fourier Transform (DFT) interpolation,
● Spline interpolation,
● ILD/ ITD interpolation
등이 있다.
이때, linear interpolation을 수행하는 경우, 3차원 공간상의 interpolation 이므로 최소 3개 point에 대한 HRTF 값을 이용하여 구현해야 한다. 실시예로써 3개의 HRTF를 interpolation 하는 방법으로 3 dimensional VBAP (Vector based amplitude panning), IPTF (Inter-positional transfer function) interpolation 방법 등이 있으며 이들 방법은 4개의 HRTF를 interpolation 하는 bilinear interpolation에 비해 25%의 연산량 감소를 가져올 수 있는 장점이 있다.
실시간 interpolation의 경우 azimuth와 elevation을 combination하여 interpolation 해야 되는데 기존의 측정된 HRTF데이터의 경우, elevation에 따른 azimuth의 해상도가 다르고 해상도가 좋을수록 interpolation으로 인한 오차가 줄어들기 때문에 최초 HRTF dB의 선택, 그리고 정위되는 방향에 따른 3개의 HRTF를 선택하는 것도 이슈가 될 수 있다.
복수 개의 HRTF 를 linear combination한 후 고속 컨볼루션을 수행해야 하므로 연산량이 증가한다. 이에 따른 연산량을 최소화 하기 위해 본 발명에 따르면, 필요한 각 점들에 대한 interpolation을 미리 수행하여 해당 값을 DB로 가지고 있도록 구현할 수 있다. 이 경우, 저장하기 위해 요구되는 메모리와 프로그램 상에서 로드 되어있는 메모리(Heap, Stack 영역)가 증가되는 문제가 있지만, 연산량을 낮출 수 있는 장점이 있다.
대안으로써 비디오와 같은 형태로 미리 interpolation해둠.
본 발명의 또 다른 실시예에 따르면, 대상 기기의 CPU 및 메모리의 budget을 보고, 사전 interpolation 통해 확보한 공간의 점의 개수를 가변 시키는 방법을 이용한다. 실시간 interpolation이 필요한 경우 ITF를 이용한 ILD와 ITD를 interpolation 하는 방법을 사용하며, 이렇게 할 경우 양쪽 모두 interpolation할 필요 없이 한쪽만 interpolation 하기 때문에 연산량을 반으로 줄 일 수 있다. 또한 linear interpolation의 경우 동측 보다는 대측의 HRTF interpolation 시 그 차이가 더 크게 나타나는데 동측과 대측의 차이를 interpolation 하기 때문에 따로 interpolation 했을 때 발생하는 차이의 폭을 줄일 수 있다.
<< Distance Rendering >>
Distance rendering 기법은 청취자에게 좀 더 현실감 있는 VR환경을 제공하고 비디오 object의 거리에 따른 근접성 효과(proximity effect)를 높이기 위해 사용된다. 이러한 distance 렌더링은 거리에 반비례하는 레벨의 감쇄 특성을 반영하고 room 환경의 경우 DRR(Direct to Reverberation Ratio)를 이용하여 조절 할 수 있다. 또한 거리가 멀수록 Binaural 신호간의 correlation이 떨어지는 특성을 이용하여 ICPD(Inter-channel Phase Difference)를 조절하는 방법도 있다. 그러나 DRR의 경우 청취자 보다 먼 거리에 있는 object의 경우 성능이 좋으나 object가 청취자와 근접한 near-field에 있는 경우 rendering 성능이 떨어져 proximity effect를 높이기에는 부적절하다. ICPD의 경우 스테레오 스피커 재생 환경에서 주로 사용되는 distance rendering 기법으로 HRTF에 기반한 헤드폰 환경에서 사용하기에 ICPD 조절은 음의 coloration을 유발 시킬 가능성이 있다.
한편, Near-field 환경에서 proximity effect를 높이기 위하여 far-field와 near-field환경에서 spherical head model을 이용하여 주파수 응답을 측정하여 구한 Intensity 함수 DVF(Distance variation function)를 이용하는 방법이 있다. DVF를 통해 얻어진 이득(gain)은 고주파 쪽은 머리 회절에 의한 감쇄가 크기 때문에 상대적으로 저주파 대역보다 적은 이득을 적용하게 되는 형태를 띠고 있으며 near-field 효과에 성능이 좋지만, DVF 응답을 얻기 위한 과정이 수식적으로 매우 복잡하여 실시간 구현을 할 경우 연산량이 많아지는 문제점이 있다.
본 발명의 일 실시예에 따르면, 기 설정된 거리를 기준으로 object가 near-field에 있는 경우 DVF를, far-field에 있는 경우 DRR를 이용하여 distance rendering을 한다. DVF의 경우 거리에 따라, 주파수에 따라 반비례하는 특성을 보이기 때문에, 이를 직접 계산하지 않고, 간략화된 맵핑 함수를 이용하거나 table을 이용하여 근사화하여 구현할 수 있다. 이와 같이 간략화된 방법을 본 발명에서는 GDVF (Generalized DVF)라고 아래 상술한다. 이때, 사용되는 기준 거리는 사용하는 HRTF set의 측정 당시 거리를 이용하거나 1~1.5m내에 있는 고정된 상수값을 이용할 수 있다.
본 발명의 또 다른 실시예에서는 상기 DVF 혹은 DRR을 거리에 따라 선택적으로 적용하지 않고 항시 적용하나, 그 특성이 거리에 따라 자동상쇄되는 형태로 구현하는 방법을 사용한다.
(거리와 청취 환경에 따른 Distance cue 반영)
청취자가 거리감을 느낄 수 있는 distance cue를 크게 monaural cue와 binaural cue 두가지로 분류 할 수 있다. Monaural cue들로는 음원의 기준이 되는 위치로부터 거리에 따른 상대적 intensity 차이, 저주파 대역이 거리가 가까울수록 더 증폭 되는 auditory proximity effect, Far-field에서의 공기 흡음으로 인한 spectral shaping, 그리고 Room 환경에서의 reverberation의 영향이 있으며, 본 발명의 일 실시예에서는 이들을 모델링하여 반영한다. binaural cue로는 두 귀 사이의 ILD와 ITD차이, pinnae의 영향과 head shadowing, 음원과 두 귀 사이각이 거리가 가까워지면서 커지는 등의 parallax effect등이 있으며, 본 발명의 또 다른 실시예에서는 이와 같은 특성들을 모델링하여 반영한다. Monoral cue와 binaural cue는 독립적으로 혹은 병행하여 사용될 수 있다.
이러한 cue들은 거리와 청취 환경에 따라 지배적인 cue들이 서로 다른 특성이 있다. 예를 들어 음원이 원거리(far-field)에 있는 경우 두 귀 사이의 거리는 상대적으로 음원과 청취자의 거리에 비해 매우 작으므로 Binaural cue보다는 monaural cue가 거리를 인지하는 데 더 지배적으로 기여하게 되고 반대로 근거리(near-field)인 경우 binaural cue가 far-field일때보다 크게 기여한다. 또한 재생하려는 사운드씬이 free field에 있는 경우이거나 Room 환경에 있는 경우인지에 따라 거리를 인지하는 주도적 cue에 차이가 있으므로 다양하고 복잡한 환경에서 우세한 cue들에 대한 선택적 적용이 알고리즘의 복잡도 측면과 그 효율에서 좋은 결과를 보일 수 있다.
상기 cue를 모델링하여 모두 적용하는 것도 가능하다. 그러나 한정된 연산량을 고려하여, 본 발명의 일 실시예에서는 거리를 인지하는 상기 다양한 cue가운데서, 근거리인지 원거리인지 혹은 free field인지 Room환경인지 등과 같이 거리차와 환경에 따라 우세한 cue들을 선별적으로 추출하여 가장 부각되는 cue를 중심으로 렌더링하는 방법을 사용할 수 있다.
본 발명에 따른 일 실시예로써 free-field에서는 일반적으로 근거리라고 알려진 1m 이내에서는 parallax distance 렌더링과 Frequency weighting function을 이용한 head shadow와 proximity 효과 모델을 적용시키고 1m 이상의 원거리에서는 1/r 법칙과 공기 흡음을 적용하여 렌더링 한다.
본 발명에 따른 또다른 실시예로써, room 환경인 경우 reverberation을 고려하여 DRR ratio를 추가적으로 적용시킴으로써 거리에 따라 및 환경에 따라 실재적인 실감 음원을 청취자에게 경험 시켜줄 수 있다. 이를 각 환경에서 상대적으로 dominant한 cue들로 도식화 하면 도 11과 같다. 도 11은 Far-field / near-field에 따른 주요 청각 단서를 나타낸 도면이다.
(Head size 따른 azimuth bias 고려하기 - parallax effect)
사람의 신체 정보는 Binaural rendering시 중요하게 고려되는 개인화 정보를 담고 있다. 마찬가지로 distance rendering시에도 성능 향상을 위해 이러한 신체 정보를 반영할 수 있다. 즉, 한국을 포함한 동양인의 경우 서양인보다 두 귀 사이의 거리가 먼것으로 알려져 있으며 이는 두 귀사이의 ILD/ITD 차가 더 크게 나타남을 의미한다. 또한 머리의 크기에 따라 사람마다 적용되는 head shadowing 효과도 달라 지게 되므로 특히 근거리 렌더링시 이러한 머리 크기와 같은 신체 정보를 고려 해 주어야 한다.
또한, parallax distance 렌더링 기법을 적용할 경우 음원가 두 귀 각각 사이의 거리를 계산하는 데 머리 반지름이 반영 되므로 이를 parameter로 이용하여 청취자 적응적으로 두 귀 사이의 ILD를 모델링 할 수 있다. 그러나 본 cue의 경우, median plane에서는 두 귀 사이의 Binaural cue가 나타나지 않고,반대로 측면에 있을 때는 binaural cue가 두드러지게 나타나기 때문에 거리감에 대하여 interaural axis에서 청취자가 더 판단하기 쉬워지는 bias가 있다. 따라서 음원과 두 귀 사이의 각도, ILD, ITD 등의 parallax 정보가 사라지는 median plane에 대해서는 또 다른 distance cue를 강조하여 적용하는 것이 바람직하다. 이때에 적용할 수 있는 방법으로 HRTF pair를 근거리 각도에 따라 바꿔주거나, direct sound가 약해지므로 상대적으로 DRR ratio를 높여주는 방법을 고려해 볼 수 있다.
(GDVF - Generalized Distance Variation Function)
Shperical head model (SHM)은 구를 사람의 머리로 가정하여 머리의 반지름, 음원과 귀와의 angle, elevation, 그리고 거리에 따라 모델링된 HRTF이다. 일반적으로 KEMAR에서 HRTF를 측정할 경우 여러가지 물리적 제약 사항 때문에 고정된 거리에서 측정하게 되는데 SHM의 경우 물리적 제약 없이 HRTF를 구할 수 있는 있는 장점이 있는 반면 사람의 귀모양과 상반신에 대한 신체 정보에 대한 고려가 결여되어 있기 때문에 실제 HRTF와는 오차가 있다. Distance rendering 관점에서 모델링된 SHM과 측정된 e.g. KEMAR HRTF는 상호 보완적으로 결합하여 쓰일 수 있다. Spherical head model을 계산할 때 청취자의 머리 반지름이 parameter로 반영되어 거리 cue를 결정하는데 기여할 수 있다.
실시예로서, KEMAR HRTF를 사용하여 렌더링된 음원을 근거리로 당겨오기 위하여 SHM로부터 얻어낸 distance variation function (DVF)을 이용하며 DVF를 이용하여 근거리에서의 ILD차이 및 head shadowing 효과를 보상한다. 그러나 SHM의 높은 계산 복잡도 때문에 DVF를 매번 구하여 계산하는 것이 모바일과 같은 환경에 구현하기에 적합하지 않다. 따라서 DVF를 일반화하고 근사화하여 연산량을 혁신적으로 줄이는 방법이 바람직하다.
본 발명에 따른 GDVF는 SHM으로부터 얻은 DVF를 적용하였을 때 얻게 되는 근거리 효과들을 분리하고 이를 generalize하여 처리함으로써 매우 낮은 실시간 연산량으로 근거리에서의 distance cue를 제공할 수 있다. 이하 GDVF를 구성하는 각 구성요소를 상술한다.
1) Distance Intensity Rendering
도 12는 Distance Intensity Rendering의 개념도이다. DVF를 적용함으로써 얻게 되는 근거리 효과로 크게 두 귀 차이의 ILD의 증가 및 head shadowing이 있다. 거리에 따른 두 귀에 적용되는 ILD차는 머리 반지름에 따른 Distance intensity 방법을 이용하여 근사화 할 수 있다. Distance intensity방법은 다양하게 구현 될 수 있으며 실시예로 머리 중심으로부터 음원까지의 거리에 1/R 법칙을 적용하여 intensity를 보상할 수 있다. 그러나 이때 양쪽 귀에 동일한 1/R을 적용하는 것은 근거리 효과를 주기에 불충분 함으로 본 발명의 실시에로 머리 중심이 아니라 양귀를 기준으로 거리를 측정하여 free field에서 1/R방법을 두 귀 대응신호에 각각 다르게 적용하는 것으로써, 두 귀사이의 거리 차이에 따른 1/R의 차이를 고려하는 것이 그 특징이다. 이러한 양귀의 거리차이를 고려한 방법은 근거리에서 두 귀 사이의 ILD를 근사적으로 추정할 수 있기 때문에 레벨차를 보상하는 방법도 가능하다. 즉, 동측에 해당하는 귀에 두 귀 사이의 ILD를 보상하는 텀을 추가함으로써 이와 같은 차이를 구현할 수 있다. 도 12를 참조할 때, 1/R 차이를 보상하는 방법은 크게 두 가지로 나눌 수 있으며 수식은 다음과 같다.
Figure pat00008
수학식 8에서 R_c는 음원과 대측 귀와의 거리이며 R_i는 음원과 동측 귀와의 거리이다. 가중치 α로 거리의 따른 Intensity 증가를 조절 할 수 있으며 과장된 음원 증폭을 통해 청취자가 게임과 같은 다이나믹한 환경에 큰 거리감 효과를 주기에 적합하게 사용 할 수 있다.
Figure pat00009
수학식 9는 수학식 8과는 다르게 DVF의 gain을 근사화 하여 실제 근거리의 Intensity와 유사하게 하는 방식으로 여기서 G는 대측에 해당하는 귀의 DC에서의 intensity를 나타낸다. 과장되게 intensity를 증폭하는 것이 아니라 현실적이고 편안한 증폭이 이루어지기 때문에 AR환경에서 거리감 효과를 주기에 적합하다. 따라서 HMD를 이용하여 청취자가 게임을 이용하는지 AR을 경험하고 있는지에 따라 두 개의 Distance intensity rendering 방법을 switching하여 사용할 수 있다. 이를 통하여 DVF의 복잡한 연산을 피할 수 있으며 적은 연산으로도 근거리에서의 두 귀 사이의 ILD차를 구현할 수 있다.
2) Distance Frequency Shaping
Frequency weighting function (FWF)를 이용한 Head shadowing effect
Distance intensity 방법은 모든 주파수에 대하여 동일한 ILD를 적용해 주는 것이기 때문에 Proximity effect와 Head shadowing에 의한 주파수 dependent한 ILD 차이를 만들어내지 못한다. 따라서 주파수 dependent한 ILD차를 적용하기 위하여 DVF의 magnitude response의 shape를 각각의 귀 응답에 적용해 주어야 한다. 실시예로 동측귀에 대해서는 Low shelving filter 응답을,대측귀의 경우 low pass filter의 주파수 응답과 유사하다는 특성을 이용하여 두 필터를 직접 설계 적용 할 수 있다. 그러나 low pass filter를 이용 하는 경우 고주파 영역에 심각한 loss가 발생하므로 이를 피하기 위한 또 다른 실시예로써 high shelving filter(고주파 영역을 시작으로)만으로 모델링 하는 경우가 있으며 다음 식과 같다.
Figure pat00010
high shelving filter 만으로 모델링하는 경우, 여러 개의 look-up table과 interpolation이 필요하며 또한 거리에 따라 time domain에서 high shelving filter만 가지고 모델링 하기 때문에 대측의 고주파쪽에서 오차가 크게 나타나는 문제점이 있다. 이와 같은 문제를 해결하기 위해, 본 발명에 따른 일 실시예에서는 frequency domain에서 거리가 아닌 주파수 shape을 직접 curve fitting하여 상기 DVF의 magnitude reponse를 일반화하여 적용하는 방식을 취한다. Frequency domain에서 DVF를 정규화하여 ILD정보를 제거하고, angle과 distance를 파라미터로 일차 유리 함수, 지수 감소 함수 및 Power 함수 중 적어도 하나를 이용한 curve fitting을 통하여 계수를 table화한 방법을 이용할 수 있다. curve fitting으로 구한 계수를 이용하여 모델링한 Frequency weighting function은 동측과 대측의 주파수 응답의 shape을 정확히 모델링 한다. 본 발명의 일 실시예에 따른 curve fitting 함수로 유리함수는 다음 식과 같다.
Figure pat00011
수학식 11의 여기서 f는 주파수 빈 인덱스를 나타내며 a와 b는 angle과 distance를 파라미터로얻어낸 FWF 계수를 의미한다. 본 발명에 따른 또 다른 실시예에서는, 적은 수로 양자화된 정규화된 값을 갖는 table을 이용하고, 필터 계수 산출은 거리 r과 angle정보를 이용하여 계산하는 방법을 이용할 수 있다. 이미 주어진 거리 r과 angle정보가 직접 유리함수 계수로 이용되기 때문에, interpolation과정이 필요하지 않게 됨으로서 더욱 간단한 연산으로 복잡한 near-field 효과를 구현할 수 있다.
전술한 방법에 의한 GDVF의 한 실시예는 도 13과 같다.
(Rendering Parameter Update Period Control)
렌더링 연산량을 줄이기 위한 일 실시예로써 Rendering parameter가 update 되는 주기를 control 할 수 있다. 여기서 Rendering parameter라 함은 sound object의 angle, elevation, distance와 같은 localization parameter들을 의미한다. 만약 sound object가 dynamic하게 움직이고 있는 상황이라면 청취자의 sound localization 인지 능력이 떨어지지 않도록 Rendering latency를 최소화 하기 위하여 빠르게 업데이트 해주어야 할 것이다. 그러나 정적인 상황이라면 새로운 Rendering paramter의 update없이 이전 filter 계수와의 필터링 과정만 거치면 되기 때문에 알고리즘의 complexity를 줄일 수 있다. 여기서 latency라 함은 system의 I/O delay와 software의 processing delay를 포합한 전체 delay를 의미한다.
실험에 따르면 sound의 렌더링 지연 시간을 주었을 때의 localization 인지 실험에서 실제 음원의 각도와 청취자가 판단한 각도 간의 오차가 기준 이하로 유지되는 최대 latency는 96msec로 알려져 있다. 이를 바탕으로 Rendering parameter를 매번(매 프레임) update하는 대신, 샘플링 주파수 44.1khz, 512 샘플/프레임 기준으로 약 8번째 프레임마다 파라미터를 update할 수 있다. 이는 한프레임 기준으로 소요되는 Rendering parameter 계산 complexity가 약 1/8로 줄어듬을 의미한다.
본 발명에 따른 또 다른 실시예에서는 Object에 대응되는 음원의 재생 길이를 참고하여 Rendering parameter 주기를 update 하는 방법을 이용한다. 음원의 길이가 길면 sound localization 인지 능력이 강인한 측면을 이용, 상대적으로 총소리와 같이 음원의 길이가 짧을 경우는 latency가 짧아지는 점을 고려하여, 빠르게 update하고 Music과 같이 긴 경우 느리게 update하도록 control 할 수도 있다.
Parameter update 주기를 결정하는 또 다른 방법으로 청취자와 음원의 위치 및 거리에 따라 파생되는 Rendering parameter들의 variation을 이용하여 적응적으로 control 할 수 있다. 현재 프레임과 이전 프레임, 혹은 특정 시간 단위마다 angle과 elevation의 변화를 관찰하여 이것이 특정 임계치를 넘을 때만 update하도록 할 수 있다. 또한 음원과 청취자의 거리가 먼 경우 청취자 고개를 조금 돌려도 각도가 크게 변하지 않지만 음원이 가까이 있는 경우 각도가 크게 변한다는 점을 이용하여 거리가 가까울때는 update주기를 빠르게 하고 거리가 먼 경우 상대적으로 느리게 할 수도 있다.
음원이동에 대해 각속도를 아는 경우는 각속도에 연동하여 update 주기를 결정할 수 있다.
이렇게 적응적으로 Rendering parameter를 update하게 되면 비디오 scene의 사전 정보나 scene dependency 없이 update가 가능하여 효과적으로 알고리즘의 efficiency를 높일 수 있다.
(localization 향상을 위한 spatial dithering)
한편 HRTF 기반의 localization의 불완전성을 극복하기 위한 방법으로써, 특정 위치 값에 방위각 혹은 elevation에 대해 미리 설정된 범위를 갖는 dithering noise 를 첨가하여 localization 성능을 향상시킬 수 있다.
즉, 예를 들어 특정 객체가 2초간 (theta,phi) = (30,15) 에 고정되어 있다고 하면, 이를 렌더링하는 과정에서, e.g. 100ms interval로 방위각에 pseudo noise를 첨가한다. 즉,
(31,15) -> (31,15.5) -> (29,14) -> (30,15) -> … 와 같이 고정된 값 대신 약간의 random 변위를 주도록 한다.
한편, 상기 dither noise 를 이용한 렌더링을 실시할 경우, noise 교체 변화 마다 항상 새로운 parameter를 생성하는 문제가 있다 따라서, dither noise 를 pre determined pattern으로 가지고 있고 이에 따른 parameter 변화 역시 사전 결정되도록 준비하면, 작은 연산량의 증가만으로 원하는 효과를 구현할 수 있다.
본 발명에 따른 spatial dithering은 객체의 이동 속도, 음색, 객체 width, 거리 등에 따라 다르게 구현될 수 있다.
<< GAUDI Outfit 상세 >>
(Outfit 1 - GAUDI XTC)
Gaudi XTC (Cross-talk cancelation) 은 스테레오 스피커를 통해 가우디 렌더링된 바이노럴 신호를 청취할 경우에 사용되는 모듈이다. 스피커로 청취 시 Left 출력 오디오 신호가 Right에 입력되고, Right 출력 오디오 신호가 left로 입력되는 cross-talk이 발생하고 이것이 L/R의 분리도를 나쁘게해서 결국 원하는 3d immersive sound scene 재생을 방해하게 되는데, 제안하는 방법에서는 이와 같은 cross-talk에 해당하는 성분을 미리 산출하고 이를 제거함으로써 마치 headphone으로 청취하는 경우와 같은 효과를 들을 수 있도록 한다.
한편, 도 1에서는 XTC가 Core의 뒷단에 serial하게 연결되어 처리되는 것으로 설명되고 있으나, 본 발명에 따른 또 다른 구현방법에서는 Gaudi XTC가 GAUDI core 안으로 들어가서 다른 rendering processing과 결합된 형태로 구현될 수 있다. XTC가 결합될 경우, 연산량 관점에서 유리한 장점이 있다. XTC 는 결국 L, R 신호간의 Frequency domain multiplication 형태로 구현될 수 있기 때문에, inverse Fourier transform 수행하기 전에 바이노럴 렌더링을 적용하는 과정에서 합쳐져서 적용될 수 있다. 아울러, 입력 신호 및 바이노럴 필터 계수의 특성으로 처리가 되지 않거나 그 값이 0인 서브밴드에 대해서는 XTC도 처리하지 않을 수 있다.
(Outfit 2 - Headphone EQ and/or Headphone 2 Ear EQ)
헤드폰 사용한 경우에도 headphone으로부터 ear canal 입구까지의 acoustic path를 상쇄하기 위한 처리와 headphone 자체의 response를 보정하기 위한 equalization 등의 adaptation이 필요할 수 있다.
Binaural listening을 위해서는 speaker 재생의 경우처럼 재생 room의 acoustic이 포함되는 경우는 물론이고, 헤드폰으로 듣는 경우처럼 청취자의 귀에 의한 response가 반영되는 것 역시 binauralization의 성능을 저하시키는 요인이 된다. 따라서, binaural rendering된 신호를 재생하는 것은 earphone의 형태로 청취하는 것이 바람직하다.
이때, headphone으로 청취하는 환경을 위해 다음과 같은 처리가 수행될 수 있다.
1) 재생 device가 헤드폰 or 이어폰을 판별하는 단계
a) 헤드폰의 모델명(모델명에 대응하는 speaker unit의 위치, encloser의 유형 등 특성을 확인할 수 있음)을 추가로 판별하는 단계
2) 이어폰인 경우 별도 processing 없이 binaural rendering된 결과를 재생
3) 헤드폰인 경우 별도 processing 으로 heaphone to ear canal response 를 reverse함.
4) 이때, heaphone to ear canal response (H2EC) 는 해당하는 headphone 에 대해 Left, Right 각 1조씩 대응하는 것으로써,
a) 상기 headphone 모델에 따라 결정되는 요인과
b) 상기 청취자의 귀모양, 혹은 headphone의 착용 방법에 따라 결정되는 요인을 각각 혹은 적어도 한가지 포함한다.
H2EC는 headphone manufacturer가 디자인된 headphone에 맞게 제공할 수도 있는데, 이 경우 개인 청취자에 대응하는 요인은 추후 업데이트될 수 있다. 헤드폰 모델에 따라 결정되는 요인에는 headphone 자체의 응답 특성을 보상하기 위한 equalization이 포함될 수 있다. Headphone 착용 방법에 따른 요인으로는 headphone의 speaker unit의 위치가 변경되는 경우, unit의 위치 및 방향을 인지하여 이를 고려하여 적용하는 방법이 있다. (예를들어 frontal projection headphone의 사용)
(Outfit 3 - L/R flip)
청취자의 오류로 headphone 및 earphone의 L/R을 반대로 착용할 수 있다. 이 경우 binaural rendering이 반대로 이루어져 통상의 stereo 보다 더 나쁜 결과를 초래한다. L/R 착용 방향이 잘못된 것을 인지하여 (인지하는 방법은 다양하게 있을 수 있으며, 본 발명에서 이를 한정하는 것은 아니다), 반대로 착용된 경우, L,R 출력을 반대로 내보내는 것 또한 Outfit 에서 수행하는 처리 과정 중 일 실시예이다. 도 13은 본 발명에 따른 GAUDI Outfit의 구조의 일 실시예이다. 구성된 여러 Outfit 모듈 가운데, 타깃 재생 환경에 맞추어 선택되어 사용된다.
(Outfit 4 - Transducer / Room EQ)
앞서 Headphone EQ의 경우는 Headphone 2 Ear EQ와 병합되어 설명되었는데, 보다 일반적으로 end transducer (earphone, headphone, loudspeaker, amp 등) 의 응답 특성을 보상하는 processing을 본 발명에서 통칭 Transducer EQ라고 부른다. 또한, loudspeaker representation의 경우 Cross Talk Cancelation (XTC) 이외에도 room 특성 자체를 제거하는 equalization이 요구되기도 하는데, 이를 Room EQ라 부를 수 있다.
도 14는 GAUDI outfit의 overall processing step을 설명하기 위한 블록도로써의 일 실시예이다.
(Binaural Bluetooth Connection for Hearing Impared Person)
난청환자들은 Hearing aids를 착용하게 되면 Headphone과 earphone등과 같은 외부 wareable device를 착용하기 물리적으로 어렵고 smartphone을 사용할 때와 마찬가지로 어떤 물체가 귀 가까이 가게 되면 폐쇄적 환경으로 발생하는 feedback으로 인해 상당한 불편함을 느낀다. 최근의 Hearing aids는 bluetooth기능을 탑재하여 TV와 Smartphone의 오디오를 직접 무선으로 전송하여 Hearing aids가 headphone과 earphone의 역할을 대신 하도록 하고 있다.
한편 Monaural hearing aids보다 Binaural hearing aids의 다양한 장점으로 인하여 이에 대한 개발과 보급이 이루어지고 있기 때문에 이를 바탕으로 HMD환경에서도 bluetooth를 이용하여 만들어진 Binaural 3D audio를 직접 보낼 수 있다. 이를 위한 방법으로 binaural hearing aids에서 왼쪽과 오른쪽에 독립적으로 bluetooth가 연결 되도록 하여 GAUDI Engine을 통해 만들어진 binaural audio output data를 독립적으로 각 귀에 맞게 보낸 뒤 동기화 시킴으로써 달성 할 수 있다.
그러나 Hearing aids의 사회적 인식 때문에 실제 난청환자들의 다수가 hearing aids를 착용해야 함에도 불구하고 사용하지 않는 경우가 많다. 따라서 binaural hearing aids가 없는 난청환자의 경우 이를 위한 구체적인 방법으로써 휴대용으로 hearing loss curve를 측정할 수 있는 smartphone앱을 이용하여 curve fitting한 데이터를 바탕으로 GAUDI core가 직접 난청을 보상할 수 도 있다. Binaural audio output data를 난청 환자의 hearing loss curve를 기반으로 Wide dynamic range control(WDRC)를 통해 증폭시켜 들려주어 난청환자들도 3D audio를 경험 할 수 있다. 이러한 방법은 hearing aids가 외부 마이크로부터 신호를 받아 출력하는 것이 아니기 때문에 feedback이 일어나지 않아서 feedback 모듈이 필요가 없게 된다. 또한 noise free한 환경이기 때문에 WDRC를 제외한 hearing aids에서 필요한 대부분의 모듈을 사용하지 않음으로써 complexity와 구현성 측면에서 용이한 장점이 있다.
Hearing loss 측정은 한 유저당 최초 한번만 측정하면 되기 때문에 다양한 사용자가 하나의 HMD를 사용하기 위한 방법으로 측정된 사람들의 Hearing loss curve를 dB화 하여 등록 시킨 뒤 해당 유저에 맞게 table로 가져와서 필터링 시키도록 하여 유저간의 flexibility 또한 향상 시킬 수 있다.
Binural hearing aid에서 중요하게 고려되어야 할 점은 유저에게 정확한 sound의 localization 정보를 제공하는 것이다. Sound localization 정보를 유지하기 위하여 일반적으로 양귀에 동일한 gain curve가 적용되어야 한다. 이를 위하여 양쪽 귀에서 측정된 hearing loss curve의 평균값을 취하여 양쪽 채널에 동일한 curve를 적용할 수 있다. 평균 값을 취하는 방법으로는 두 hearing curve의 모든 대역에서 최소, 최대 및 중간값을 취하거나 상대적으로 자주 듣는 sound의 종류나 hearing 환경을 고려하여 주파수 대역 의존적으로 최소, 최대 및 중간값을 mix하여 사용할 수 있으며 난청환자의 hearing loss type을 고려하여 적용할 수도 있다. 상기 명시된 DSR에서의 MITF를 사용한 binaural rendering은 ILD, ITD 기반의 rendering 방법으로 레벨이 큰쪽의 주파수 응답이 flat하다는 점을 이용하여 binaural rendering의 전처리 과정으로써 입력 mono 신호에 WDRC를 적용한 뒤에 rendering이 될 수도 있다. 따라서 complexity가 줄어드는 장점이 있으며 Original HRTF를 적용할 때보다 상대적으로 HRTF의 주파수 응답에 WDRC의 보상 gain의 왜곡없이 재생할 수 있는 장점이 있다.
<< Personalization >>
도 1에서 Personalizer은 GAUDI Immersive & Interactive Engine에 포함되어 있으나, 주요한 처리는 서버에서 이루어질 수 있다. 이 때 Anthropometric data를 얻기 위하여 유저가 측정한 정보(예를 들면 두상의 크기, 키 등) 혹은 Anthropometric data를 추정할 수 있는 정보(전신을 촬영한 사진, 귀 사진, 옷 사이즈 등)이 서버 단으로 전송 될 수 있다. 혹은 단말에서 Anthropometric data를 프로세싱하여 서버단으로 보낼 수도 있다.
도 15는 GAUDI Personalizer의 상세한 도면이다. 사용자의 사진, 측정한 정보, 혹은 Anthropometric data를 추정할 수 있는 정보가 Anthropometric feature extractor로 입력되면 Personalization을 위한 anthropometric feature가 얻어지게 된다. Anthropometric feature는 해당 사용자의 HRTF를 얻기 위한 일종의 label로 GAUDI Personalizer가 미리 가지고 있는 GAUDI Personalization Database를 바탕으로 Personalized HRTF를 얻게 된다. 이 때 GAUDI Personalization database는 HRTF database 뿐만 아니라 Anthropometric feature database까지 보유하고 있는 것이 특징이다.
도 16는 도 15의 HRTF Personalization의 상세한 도면이다. Anthropometric feature extractor에서 정제된 Anthropometric feature가 HRTF Personalization 모듈에 입력되면, GAUDI Personalization Database가 포함하고 있는 Anthropometric feature database를 기반으로 HRTF Reconstruction을 위한 계수를 추정하게 된다.
한 실시예로써, 종래 기술의 경우 HRTF를 개인화 하기 위하여 전체 Anthropometric data를 HRTF에 대한 label로 사용하여 개인화를 수행하였다. 그러나 Anthropometric data들은 같은 중요도를 가지지 않는다. 예를 들면 머리의 너비, 몸통의 폭은 가슴 둘레보다는 훨씬 높은 중요도를 가진다. 따라서 이를 반영하기 위하여 많은 수의 anthropometric data에서 중요도가 높은 data를 추려 사용하거나, 서로 다른 weight를 이용하여 구현할 수 있다.
(Anatomically decomposed HRTF Personalization)
또 다른 실시예로써, HRTF에 존재하는 Spectral notch의 경우 일반적으로 외이의 특정 위치에 반사가 일어남으로써 발생하는 것으로 HRTF의 spectral notch는 elevation perception에 큰 기여를 한다고 알려져 있다. 그러나 외이의 모양은 사람에 따라 매우 다르기 때문에 가장 개인화 되어있는 것이 특징이다. 그러나 외이의 모양에 초점을 맞추어 personalization 하다 보면 전반적인 spectral envelope에 bias가 발생할 수 있으며, 다른 몸통 머리크기 등에 초점을 맞추다 보면 spectral notch가 크게 안 맞는 문제가 발생할 수 있다. 이러한 문제는 localization 성능을 열화시키거나 음질의 손상을 야기한다. 따라서 HRTF를 각 신체에 따라 분리하고 각 신체에 맞게 개인화 함으로써 HRTF personalization 성능을 향상시킬 수 있다.
한 실시예로써 HRTF를 Head shape related transfer function, torso related transfer function, pinna related transfer function에 대응되도록 분리한 후 각 신체에 대응되는 신체 계측 정보를 이용하여 개인화 할 수 있다. 특히 pinna에 의한 반사가 일어나는 시간영역과, head-shape 또는 torso에 의하여 반사가 일어나는 시간 영역이 크게 다르다는 점에 착안하여 해당 전달함수를 분리할 수 있다.
또 다른 실시예로써, HRTF에 존재하는 spectral notch는 일반적으로 pinna에 큰 영향을 받는다는 사실을 이용할 수 있다. 따라서 spectral notch를 분리하고, notch가 제거된 HRTF의 경우 pinna를 제외한 신체 계측정보를 이용하여 개인화하고, spectral notch, 또는 peak를 포함하여 pinna 관련 신체 계측정보를 이용하여 개인화 할 수 있다. 이때 notch의 경우 filter (or transfer function) domain이 아닌 notch의 frequency, depth, width에 상응하는 parameter domain에서 개인화가 이루어 질 수 있다.
일반적으로 notch는 spectrum domain에서 공간 축에서(elevation, azimuth) fast varying하는 component이며, 머리나 몸통은 상대적으로 반사거리가 크게 달라지지 않기 때문에 slow-varying 하다고 가정할 수 있다. 따라서 이를 분리하기 위하여 cepstrum을 이용한 homomorphic signal processing 이나 Wave interpolation(REW/SEW) 등을 사용할 수 있다.
(Anatomically decomposed HRTF Personalization - WI)
한 실시예로써 Wave interpolation(WI)을 사용하는 경우 frequency, elevation 또는 frequency, azimuth 를 축으로 갖는 3차원 표현에서 slowly evolving waveform (SEW)와 rapidly evolving waveform (REW)로 분리할 수 있다. 상기 머리 모양이나 몸통에 의하여 반사되는 성분은 SEW에, 외이에 의하여 반사되는 성분은 REW에 포함된다고 가정할 수 있다. 이때 종래 WI는 시간/주파수 축으로 표현하지만 이 경우 공간(elevation/azimuth)/주파수 축으로 표현되는 것이 특징이다.
SEW의 경우 머리 모양과 몸통 모양에 대응되는 신체 계측 정보를 이용하여 개인화 될 수 있으며, REW의 경우 외이에 대응되는 신체 계측 정보를 이용하여 개인화 될 수 있다. 실시예로써 REW는 특정 파라미터로 표현되어 파라미터 단에서 개인화 될 수 있다.
또한 SEW의 경우 머리 모양과 몸통에 대한 두 요소(전달함수, 충격 응답 등)로 나뉘어 질 수 있으며, 나누어진 두 요소는 머리 모양과 몸통에 대응되는 신체 계측정보를 각각 이용하여 개인화 될 수 있다.
WI의 경우 공간/주파수 domain에서 급변하는 성분과 천천히 변하는 성분을 분리하는 하나의 실시예로써 Hormomorphic signal processing이나 3D/4D low/high-pass filtering 등 다양한 방법이 사용될 수 있다.
(Contour 이용한 개인화)
외이의 반사에 의하여 발생하는 spectral notch의 경우 외이의 contour에 관련되어 발생하기 된다. 주요한 외이 contour는 helix border, helix wall, concha border, antihelix and concha wall, crus helias 등이 있다. 이러한 contour를 귀 이미지에서 얻어 내면 보다 정교한 개인화를 수행할 수 있다.
(신체 계측 정보 - Depth 카메라/ 스마트폰 이용 귀 모델링)
또 다른 실시예로써 Depth 카메라가 있는 경우 거리 정보까지 알 수 있기 때문에 더욱 상세한 신체 계측 정보를 취득할 수 있다. 특히 외이에서 반사되는 경우 반사 경로가 짧아 다른 신체 부위보다 높은 주파수 대역에 영향을 끼친다. 상기 대역은 약 4kHz~16kHz로 알려져 있으며 spectral notch를 형성하고, 이는 높이 지각에 중요한 역할을 한다고 알려져 있다. 상기 외이 정보의 경우 작은 오차도 notch 주파수에 큰 영향을 끼치므로 depth 카메라를 이용하는 경우 보다 정교한 Personalization을 수행할 수 있다.
또 다른 실시예로써 Depth 카메라를 사용하기 어려운 모바일 환경의 경우 가속도 센서(accelerometers), 자이로 센서(gyro sensor), camera, 근접센서 등을 이용하여 보다 정교한 외이 계측 정보를 얻어낼 수 있다. 귀에 부착한 상황에서 귀에서의 거리를 늘려감에 따라 다른 시야각, 다른 각도의 귀 모양 사진을 얻어낼 수 있다. 근접센서를 이용하여 귀에 부착된 상황을 인지하고, 그 순간부터 가속도센서, 자이로 센서를 이용하여 귀에서의 거리 및 회전각도 등을 인지한다. 이를 바탕으로 귀 모양을 3D로 재구성함으로써 보다 정교한 외이 정보를 얻어 낼 수 있다.
한편 IR 등을 이용한 depth camera, 초음파, Near infra-red, Terahertz 등 거리 및 형태를 추출할 수 있는 ray scanning 방법을 이용하여 귀 형태를 측정하는 것이 가능하다.
(Headphone installed sensing of HRTF)
헤드폰을 이용하여, 신체 계측 정보로써의 ear shape 혹은 HRTF를 estimation할 수 있다. Headphone에 설치된 camera, depth camera, microphone 등을 이용하여 귀의 구조를 측정할 수 있다. Camera 및 depth camera를 이용한 방법은 전술한 방법과 유사하며, 이를 headphone에 built-in하는 방법으로 구현됨을 의미한다. Headphone에 내장 설치된 camera를 이용할 경우 camera 위치에 대한 calibration이 용이할 뿐 아니라, ear shape을 인식하여 user identification 용도로 활용될 수 있다. 즉, 헤드폰 착용시에 camera가 자동으로 켜지고 이를통해 귀를 촬영 후 이를통해 사용자를 인식할 수 있다. 그리고 인식된 사용자에 맞는 개인화된 HRTF를 제공할 수 있다. 또한 귀모양을 통한 사용자 인식은 일종의 생체인식 정보이므로 보안목적으로도 활용될 수 있다. 즉, 특정 유저만 사용할 수 있도록 제한하여 헤드셋을 통한 비밀 통화가 가능하게 하거나, 보안 코드를 음성으로 전달 받을 때 지정된 사용자만 전달받을 수 있도록 하는 용도 등으로 활용될 수 있다.
카메라 대신 microphone만을 설치하여 상기 카메라를 통해 귀모양을 인식하는 것과 같은 결과를 얻을 수도 있다. 도 17은 본 발명에 따른 헤드폰에 내장된 스피커와 microphone을 이용하여 귀모양 혹은 대응되는 HRTF를 estimation하기 위한 장치의 개념도이다. 헤드폰 착용시 헤드폰 커버영역과 얼굴면이 결합되어 일종의 encloser가 형성되며, encloser의 room 특성을 결정하는 주요인자는 귀모양이라고 할 수있으므로, 헤드폰에 내장된 spk와 mic를 통한 impulse response로부터 귀모양을 estimation하거나, 나아가서 HRTF를 estimation 할 수 있다.
HRTF를 바로 estimation하는 경우는 실제 HRTF의 ideal한 측정 위치는 마이크가 ear canal 안쪽에 (궁극적으로는 ear drum의 위치) 있어야 하는데, 본 설계에 따르면 마이크는 헤드폰쪽에 장착이 되어 있다. 이와 같이 공간적으로 다른 위치에 있는 microphone의 입력으로부터 원하는 위치의 mic 입력 신호를 추정하기 위해서는 별도의 matching algorithm이 필요하다. 본 문제를 해결하기 위해 headphone에 복수의 microphone을 설치하거나 헤드유닛이 기구적으로 움직여서 서로 다른 물리적 위치에서 (다른 시점에) microphone 입력신호를 받아서 정보를 추정할 수 있다.
이때, HRTF를 측정하기 위해 스피커로 출력하는 excitation 신호는 pseudo noise sequence 나 sine sweep과 같이 측정을 위해 미리 설계된 신호일 수도 있고, 임의의 음악신호를 이용하여 음악감상과 병행하여 측정할 수도 있다.
한편, HRTF를 결정하는 또다른 중요한 요소 중 하나가 개인별 머리반지름이 있다. 반지름에 따라 결정되는 두 귀 사이의 거리가 L,R 입력신호간의 거리에 따른 intensity 및 phase 차이 즉, ILD, IPD를 결정하게 되므로, 머리반지름을 정확히 아는 것은 바이노럴 렌더링 성능을 향상시키는데 매우 중요하다. 본 발명의 일 실시예에 따르면 헤드폰의 벌어진 정도를 인식할 수 있는 간단한 센서를 참조하여 머리 반지름을 estimation한다. 헤드폰을 연결하는 밴드의 휨정도를 인식기 위한 물리센서를 장착하거나 밴드의 길이 변화 정도를 인식하는 방법 등이 사용될 수 있다.
<< Blind Estimation of Object Spatial Information >>
(Object like mono sound decomposition)
HMD를 이용한 VR application은 스마트 폰 앱, 게임, 영화까지 다양하게 존재한다. 이러한 contents들은 항상 동일한 형태의 Audio를 input을 제공하진 않는다. 실시예로 Unity 3D 기반으로 제작된 1인칭 3D 게임의 경우 각 object 별로 음원이 할당되며 이것이 mix되어 렌더링 되기 때문에 object별 할당된 mono 음원 및 spatial information을 가져 올 수 있다. 한편, 영화 또한 Dolby Atmos와 같이 object based 제공되는 경우가 있으나 음원이 mono이상의 다채널이거나 live recorded sound와 같이 object based가 아닌 경우 음원 자체에서 spatial information을 획득하는 전처리 과정이 필요하다.
실시예로 전처리 과정을 위한 음원 분리 기법으로 Principal Component Analysis(PCA)를 이용할 수 있다. 영화의 음원이 stereo인 경우 PCA를 사용하여 object라고 볼수 있는 point like source와 ambient를 분리 하여 point like source의 방향에 따라 Binaural rendering을 수행하고 ambient는 decorrelation시켜 각 채널에 독립적으로 재생할 수 있다. 이 때 실제 음원은 다양한 object가 mix된 형태일 수 있기 때문에 주파수를 밴드별로 나누어 각 주파수 밴드마다 하나의 point like source가 있다고 가정하고 밴드 독립적으로 PCA가 수행된다. 그러나 이렇게 할 경우 하나의 object에 독립적인 spatial rendering이 어려운 단점이 있다.
이를 해결하기 위하여 object like source로 분리 하여 음원을 rendering 할 수 있다. 보다 정교한 분리를 위해 PCA를 각 주파수 bin별로 진행한 뒤 각 bin마다 분리해낸 point like source로부터 계산된 angle의 histogram을 구한다. 그 후 미리 정의된 object sound의 개수만큼 histogram에서 가장 많이 측정된 angle를 선택하여 angle 기반의 directional filtering을 이용하여 object sound를 추출한다. 예를 들어, 가장 많이 분포된 angle이 30도인 경우 30도방향에 가까운 bin일수록 1의 가중치를 점점 멀어진 angle에 해당하는 bin일수록 0에 가까운 가중치를 주어 필터일하면 한 방향으로부터 오는 object 음원을 추출할 수 있다. 따라서 object 기반이 아닌 input으로부터 아무런 사전 정보 없이 object like mono 음원을 추출하여 GAUDI Core를 통하여 binaural rendering을 할 수 있게 된다.
(신체 계측 정보 - SNS)
신체 계측정보는 나이, 인종, 몸의 크기, 외이의 모양, 키, 몸무게 등을 포함한다. 그러나 이를 직접 측정하거나, 사용자에게 입력받는 것은 사용자 입장에서는 매우 불편한 일이다. 이를 해결하기 위하여 Social network service (SNS)를 이용할 수 있다. 특히 머리 전달 함수 개인화에서 가장 중요한 요소는 외이의 모양과 크기, 귀 사이의 간격이며, 양 이의 간격은 머리의 폭에 상응한다. 따라서 머리의 크기를 추정할 경우 사람의 신체 계측 정보를 측정할 필요 없이 바로 개인화가 가능하다는 점에서 매우 편리하다. SNS에 업로드 되거나 사용자의 모바일 장치에 저장되어있는 사진을 바탕으로 머리 크기를 추정할 수 있다. 그러나 사진에서 절대적인 실제 길이정보는 얻어낼 수 없기 때문에 어떤 기준점이 필요하다. 따라서 특정 기준 혹은 사전정보 (잘 알려진 물체의 크기(스마트폰, 표지판, 건물의 크기 등등) 옷의 사이즈, 다른 사람간의 비율 등)을 이용하여 머리의 크기를 추정할 수 있다. 또한 외이의 모양을 얻어내기 위해서 다양한 사진에 담긴 동일 사용자의 귀 형태를 추정하여 3D 모델링을 수행할 수 있다.
(신체 계측 정보 - 옷 사이즈)
또 다른 실시예로써 신체 계측 정보를 추정할 수 있는 상위 개념을 이용하여 신체 계측 정보를 얻어낼 수 있다. 예를 들면 상의, 하의, 모자 등 옷 사이즈를 이용한 길이정보 추정이 가능하다. 일반적으로 신체 계측 정보는 키, 머리 너비, 가슴 둘레, 어깨 폭 등 매우 다양한 길이 정보를 포함하고 있다. 그러나 일반 사용자들에게 이를 다 입력하기를 요구하는 것은 사용자 입장에서 매우 불편하다. 반면 외이를 제외한 신체 계측 정보는 HRTF personalization 관점에서 둔감하다. 따라서 외이를 제외한 신체 계측 정보는 이러한 값을 일정 정확도 이상으로 추정할 수 있으면서 사용자에게 쉽게 얻어낼 수 있는 정보를 사용하는 것이 보다 바람직하다. 일반적으로 상의, 하의 사의즈와 키 몸무게를 바탕으로 사용자의 대략적인 신체 발달 형태를 추정할 수 있다. 신체 발달 형태를 추정한다면 사용자의 어깨너비, 상체 폭, 상체 너비 등을 합리적인 수준으로 얻어낼 수 있다.
(사용자 선택)
바이노럴 렌더링이 수행되는 어플리케이션에 따라서 GADUI Personalizer에 요구되는 HRTF의 특성이 달라질 수 있다. 예를들면, 높이에 대한 정위가 많은 비행 시뮬레이션의 경우 높이 지각을 위하여 HRTF의 notch 특성이 중요하다. 따라서 HRTF Personalization을 수행함에 있어서 HRTF의 notch 특성에 높은 가중치를 두어 개인화가 진행 될 수 있다. 반면 대부분의 오디오 객체가 수평면에 존재하는 자동차 레이싱 게임의 경우 HRTF의 notch 특성 보다는 양이 레벨 차이 (Interaural Level Difference, ILD) , 양이 시간 차이(Interaural Time Difference, ITD) 등에 높은 가중치를 두어 개인화가 진행될 수 있다.
이를 구현하는 실시예로, 유저에게 선택 가능한 여러 모드를 부여함으로써 해당 모드에 최적화된 HRTF Personalization을 수행할 수 있다. 상기 여러 모드는 높이 지각 최적화, 수평 지각 최적화 등이 될 수 있다. 또한 해당 정도를 Scalable하게 선택할 수 있도록 하는 것이 특징이다.
또한 GAUDI Personalization은 해당 어플리케이션에서 최적화 된 바이노럴 렌더링을 수행하기 위한 모드에 대한 정보를 가지고 있어, 이 정보가 콘텐츠 내에 존재 혹은 서버에서 전송될 경우 이 정보를 참조하여 자동으로 모드를 선택하여 제공할 수 있다.
<< V2A Translator >>
V2A Translator를 구성하는 한가지 방법은 Video를 출력하기 위하여 컴퓨터에 저장되어있는 3D 공간 정보와 이것을 가청화(Auralization)하기 위한 3D 공간의 세부정보(벽면의 재질에 따른 흡음계수)등을 이용하여 Room simulation을 수행하는 것이다. 이러한 방법의 경우 해당 공간의 Room Impulse Response (RIR) 또는 Binaural Room Impulse Response (BRIR)을 얻어내는 것으로 FDTD(Finite Difference Time Domain) method, Digital Waveguide Network (DWN), Ray tracing, Boundary Element Method (BEM) 등을 기반으로 한다. 그러나 이러한 방법의 경우 매우 큰 연산량을 필요로 하는데, 일반적으로 긴 연산시간을 필요로 한다. 따라서 Interactive한 상황에서는 유저, 객체, Audio Scene 등이 변할 때 마다 다시 계산해야 되기 때문에 서버를 이용하더라도 모든 상황에 대한 BRIR을 저장하고 있어야 되기 때문에 구현하기 어렵다. 더불어 RIR, BRIR을 직접 convolution해야 한다는 측면에서 mobile device도 이를 처리하기 위하여 큰 연산량을 소비해야 되는 단점이 있다.
상기 합성 방법을 Binaural Reverberator라고 하며, 이 때 Gaudi V2A Translator는 Binaural Reverberator가 동작하기 위한 Binaural Reverberator Parameter를 3D Video Model를 이용하여 자동적으로 얻는 프로세스를 수행하는 것이다. 3D Video model은 일반적으로 3D Audio Model에 비하여 상당히 복잡하고 많은 데이터를 포함하고 있다. 따라서 이를 극복하기 위하여 3D Audio Model에서 사용자나 객체의 변화에 영향을 적게 받는 RT나 벽 반사 계수(Wall reflection coefficients)들은 미리 계산되거나 추정되어 저장될 수 있다.
본 발명에 따른 또 다른 실시예로써 Gaudi V2A Translator는 room의 fine RIR을 추정하여 synthesize하는 대신, RT (Reverberation Time)과 같이 room의 특성을 주요하게 결정하는 수 개의 파라미터를 직접 합성하는 방법으로 구현할 수 있다.
또 다른 V2A Translator의 실시예로써, 생성중인 video 장면에서 음원과 청취자 위치 사이에 sound propagation에 장애가 되는 장애물이 있는 지 여부를 검출하고, 이에 맞게 소리에 대한 추가적인 processing을 할 수 있는 parameter를 추출할 수 있다.
<< User Interface - Control Signal Generation >>
(Inertial sensor input)
Oculus lift와 같은 컴퓨터용 VR HMD같은 경우 키보드와 마우스, 조이스틱과 같이 컴퓨터와 연계된 I/O interface를 사용하여 쉽게 control이 가능하다. 그러나 google 카드보드와 같이 저가형 HMD, 특히 스마트폰 기반에서 사용하는 HMD의 경우 스마트폰이 카드 보드 안으로 들어가 버리기 때문에 기존에 스마트 폰이 가지고 있는 touch 및 버튼 입력으로 VR application들을 control 하기 어려운 단점이 있다. 따라서 스마트폰에서의 제한된 User interface는 단순히 시나리오가 정해진 VR contents나 영화, 입력이 단순한 게임등만을 사용자가 즐길 수 밖에 없는 한계가 있다.
스마트폰에서 interface를 구현한 실시예로 하드웨어 적인 측면에서 자석을 이용한 magnetic 버튼을 두어 control 한다. 또한 손의 움직임을 tracking할 수 있는 카메라를 HMD앞단에 장착하여 control할 수 있게 한다. 소프트웨어 적인 측면에서 앱 시작시 화면상에서 특정 object를 일정시간 응시하고 있으면 버튼을 누른 것과 같은 효과를 주어 control할 수 있게 한다.
폭 넓은 UI control을 위한 방법으로 스마트폰의 자이로 센서를 이용하여 control 할 수도 있다. 스마트폰을 흔들면 control 신호를 줄 수 있다는 점을 이용하여 청취자가 머리를 좌우 혹은 위아래로 빠르게 흔들어서 control 할 수 있게 한다. 또다른 방법으로 위성의 GPS 수신 위치 정보를 이용하여 User가 정지된 위치에서 head tracking 정보만을 주는 것이 아니라 위치 정보를 더하여 user의 걸음걸이 달리기등의 control 정보를 반영할 수 도 있다.
(Microphone input)
또 다른 control signal 생성 방법으로 microphone 입력을 이용할 수 있다. Microphone에 특정 signature를 입력할 경우, 이를 특정 action에 매핑함으로써 입력도구로 사용할 수 있다. Signature로써 HMD 본체의 특정 부위를 톡톡 건드리거나, 특정 패턴으로 클릭잡음을 만드는 방법으로 입력할 수 있다.
또한, 음성이나 특정 사운드를 입력 신호로 사용할 수 있다. HMD를 사용할 경우 청취자는 headphone 또는 earphone을 통하여 소리를 들으며, 예를 들어 Room에서 게임을 즐기는 경우 상대적으로 noise free한 환경이다. 따라서 외부의 큰 interference없이 스마트폰의 microphone을 이용하여 User의 voice를 입력받을 수 있다. 스마트폰에 내장된 음성 인식 엔진을 이용하여 volume control과 같은 간단한 interface부터 video control까지 가능한 control signal를 재생할 수 있다.
박수소리와 같은 특정 효과음을 이용하여서도 입력 신호를 생성할 수 있다.
(Camera input)
스마트폰 내장의 camera 혹은 HMD에 부착된 camera를 이용하여 외부 정보를 입력받을 수 있다. 예를들어 HMD 착용자가 HMD에서 전면 혹은 특정 방향으로 향하는 카메라의 시야각 범위 안에 손이나 발 등 사용자의 신체 부위 혹은 특정 사물을 이용하여 gesture 혹은 사물 인식을 통해 입력정보를 제공할 수 있다. 예를 들어 카메라에 주먹을 보이면 mute, 손바닥을 펴고 좌로 쓸면 메뉴탭이 생성되는 등으로 이용할 수 있다.
카메라가 바닥을 향하는 경우 발의 움직임을 인식하여 걷거나 뛰거나 계단을 오르는 동작을 인지할 수 있다. 이때, accelerometer, gyroscope 등 다른 관성 센서로 입력된 정보와 결합되어 움직임을 더 정교하게 구별하는 역할을 수행할 수도 있다.
<< Implementation & Applications >>
(low frequency improvement)
측정한 HRTF의 경우 측정할 때 microphone은 외이에 삽입 가능해야 하기 때문에 크기가 작아 주파수 응답이 나쁘다. 특히 저주파 대역의 경우 크기가 작아 공명 주파수가 높아 더 취득하기가 어렵다. 따라서 측정된 HRTF는 저주파 대역의 응답이 나쁘다. 이를 보정하기 위하여 저주파대역의 경우 회절이 잘 되기 때문에 사람의 머리를 구로 근사화하여 처리하여도 우수한 성능을 얻을 수 있다.
본 발명에 따른 HRTF 렌더링 방법의 또 다른 실시예로써 HRTF의 저주파 대역은 Spherical head model로, 고주파 대역은 측정된 HRTF를 사용할 수 있다. 주파수 영역에서 Spherical head model로 얻어진 주파수 응답과 측정된 HRTF의 주파수 응답을 결합해주거나 중첩해주거나 혹은 윈도우를 취함으로써 spectral discontinuity 없이 smooth하게 보상할 수 있다.
(Vision Lag 매칭)
Video와 audio가 결합된 형태의 HMD 구현 시 가장 큰 문제는 헤드트레킹 시 실제 영상에 lag가 발생하여 심각한 어지럼증, 피로도가 생긴다는 점이다. 특히, 비디오 영상인 경우 처리 과정의 delay로 이와 같은 lag가 더 심각한데, 이때, audio는 headtracking과 sync가 맞거나 lag가 적고, video는 lag가 더 클 경우 audio와 video의 미스매치로 인해 왜곡에 따른 어지럼증 등 문제가 더 심각하게 발현될 수 있다. 본 발명에 따르면, 이와 같은 경우, audio는 head tracker의 입력에 맞춰 low delay대응하는 것보다 video lag에 맞추어 rendering하도록 구현할 수 있다. 즉, video rendering engine으로부터 lag 값을 입력 받아서 이를 렌더링 시에 반영하여 렌더링하는 방법으로 구현할 수 있다.
(AR application)
AR application은 Re-Wo inputs의 역할이 커지며, 동시에 GAUDI core를 비롯한 연산과정에서 processing delay 및 real world와의 동기화가 중요한 요소로 작용된다. Real world 동기화는 시간적 동기화와 공간적 동기화 두 가지 요소를 모두 지니고 있다. 시간적 동기화는 real world의 event와 생성하려는 synthetic sound event가 시간적으로 맞게 재생되도록 하는 것으로, 특히 real world event에 반응한 응답형태의 synthetic sound인 경우는 처리 과정의 delay 역시 매우 중요하다. 예를 들어, real world에서 사용자가 야외에 있다 실내로 들어가는 scene인 경우, 방에 들어가는 순간 synthetic sound도 해당 방의 RIR로 전환하여 binaural rendering이 수행되어야 한다. 이를 위해서는 방에 들어간 것을 인지하고서 target filter 계수를 변환하고, 이를 이용하여 rendering을 수행한 결과가 headphone speaker로 전달될 때까지의 일련의 과정이 사람이 인지하지 못할 만큼 낮은 수준으로 유지가 되어야 한다. 약 150ms 이내의 경우는 사람이 이에 대해 불편을 느끼지 못한다고 하며, 400ms 이내인 경우는 application에 따라 적용 여부가 다를 수 있다. 그 이상이 될 경우 delay에 따라 annoying한 왜곡이 발생하게 된다.
공간적인 동기화의 경우, camera 등을 이용하여 vision 인식한 주변 환경 및 image 객체와 해당 환경 및 객체에 대응하는 sound를 rendering하여 AR mix한 application의 사례를 생각해볼 수 있다. 이때, 대상 image 객체와 sound 객체의 공간적인 동기화는 Immersive representation의 중요한 요소가 된다.
(진동/골전도/Neural Simulation Signal을 통한 추가 excitation)
헤드폰 기반의 바이노럴 렌더링의 경우 앞과 뒤를 구분하지 못하는 Front-back confusion과 머리 속에 음상이 맺히는 In-head localization 등의 문제가 있다. Front-back confusion의 경우 정전면과 정후면의 경우 양 이에 들어오는 신호의 차이가 없기 때문에 이를 구분하지 못하고 혼동하게 된다. 따라서 Front-back confusion의 경우 자신의 HRTF를 사용하더라도 때때로 발생한다. 즉 자신의 귀로 듣더라도 가끔 앞과 뒤를 혼동하는 경우가 생긴다.
그러나 소리가 발생하는 경우 일반적으로 청각 자극 뿐만 아니라 진동 자극 또한 포함한다.특히 큰 소리가 날 때에는 피부로 진동을 느끼는 것이 대표적인 예이다. 이를 반영한 것이 극장의 진동의자이며, 이러한 진동 자극은 사용자로 하여금 보다 높은 몰입감을 부여한다. 따라서 HMD에 Vibrator를 부착하여 전면에 있는 경우 전면에 해당하는 vibrator를, 후면에 있는 경우 후면에 Vibrator를 사용하여 진동 자극을 줌으로써 front-back confusion을 해소시킬 수 있다.
상기 Front-back confusion은 거리에 따라 진동 자극의 세기를 변화시킬 수 있다. 예를들면 거리가 가까울 수록 물리적인 진동이 크게 느껴지는 것이 특징이다. 또한 사용자의 입력을 받아 진동 자극의 유무, 세기 최대값 조절 등이 가능하다. 또한 3d의 경우 Depth information이 존재한다. 따라서 Video 입력에 존재하는 depth information을 이용하여 진동 세기를 조절하는 것이 또한 특징이 될 수 있다.
Moving object인 경우 예를 들어 전면에서 등장하여 사용자의 머리위를 지나 후면으로 이동하는 객체인 경우, 진동 자극은 이동하는 객체의 이동 경로를 고려하여 전면에서 시작된 진동이 객체가 이동함에 따라 양쪽 모두 진동을 발생시킨 후 후면 진동으로 이동하는 형태로 구현될 수있다. 진동의 세기가 조절되는 경우, 거리에 따라 진동의 크기가 연동되어 조절될 수 있다. 도 18은 4개의 진동소자 (진동뿐 아니라 sound 이외의 다른 신호매체를 이용한 자극을 일반적으로 본 발명에서는 Extra Excitation이라고 칭하며, 도에서 Extra Excitation Transducer; EET)를 이용하여 객체의 방향 및 거리를 제공하는 한 실시예이다. 각 EET E1-E4는 서로 다른 4개의 헤드면에 부탁될 수 있으며, HMD에 장착되어 HMD 착용과 함께 머리에 부착되도록 구현될 수 있다. 4개의 위치는 일 실시예로써 꼭 해당 위치에 한정된 것은 아니며, 전후좌우 4개로써 배치될 수도 있다. 도 19는 Extra Exciter를 이용한 렌더링 예를 나타낸 도면으로, 시간 t0에서 도면에 표시한 위치에서 출발한 이동 객체가 t5까지 이동할 때 이동 경로를 나타내며, 이때, 각 EET E1-E4에 입력되는 excitation 신호의 세기 특성을 나타낸 실시예이다.
진동뿐 아니라, 다른 형태로 피부를 통해 전달되는 신호, 골전도 (bone conduction) 신호 혹은 neurostimulation 신호 등를 통해 추가적인 excitation을 제공할 수 있다.
Bone conduction의 경우, HRTF와 마찬가지로(유사하게) 각 음원의 위치에 따른 bone conduction response를 사전 측정하고 이를 이용하여 자극을 rendering함으로써, front-back confusion 문제뿐만 아니라, 음원의 공간 정위성을 더욱 극대화할 수 있다.
다양한 Neurostimulation 신호를 이용한 추가적인 보조 excitation도 가능하다. Non-invasive brain/neural stimulation으로써, TDCS (Transcranial Direct Current Stimulation), TACS (Transcranial Altenating Current Stimulation), TMS (Transcranial Magnetic Stimulation), TES (Transcranial Electrical Stimulation) 등을 이용할 수 있다. 상기 신경에 직접적인 자극을 주는 신호를 제공하기 위한 transducer를 HMD에 설치하고, 음원의 방향 및 공간감에 따라 사전 설정된 stimulation 신호를 binaural rendering된 오디오 신호와 함께 생성하여 제공하여 공간에 대한 illusion 효과를 보다 향상시킬 수 있다. 또한 사용자가 invasive neural stimulation 장치를 기 착용한 경우, 이를 보조적으로 이용하는 rendering도 가능하다.
이와 같은 병행 신호의 제공 시 각 transducer별로 서로 다른 presentation time을 가질 경우효과가 나빠질 수 있다. 따라서, transducer의 delay 등을 고려한 synchronization을 위한 노력이 요구된다. 도 20은 추가적인 excitation 이 포함된 master architecture의 block도이다.
(Logo)
개인화되지 못한 HRTF의 경우 사용자에게 음상을 보다 정확히 위치시키기 위해서는 트레이닝 과정이 필요하다. 즉 general HRTF를 경험적으로 익숙하게 만드는 과정이 필요하다. 그러나 이를 위해서는 사용자로 하여금 일정 시간을 할애하여 HRTF를 이용하여 정위된 음원과 그 정위된 음원의 위치가 표현되는 Video 콘텐츠를 시청하는 방법을 통해 트레이닝할 수 있다. 그러나 이것은 사용자에게 불편함을 느끼게 한다.
사용자의 거슬림 없이 트레이닝을 수행하기 위한 방법으로써, 콘텐츠의 로딩시간에 해당 음원과 음원의 위치를 인식할 수 있는 이미지 객체를 포함하는 비디오를 재생시키는 방법으로 트레이닝 시간을 따로 할당하지 않는 방법을 사용할 수 있다. 예를들어 로고 화면에서 음원을 상징하는 객체가 등장하고 이의 위치를 움직이면서 그에 상응하는 3D 사운드를 렌더링하거나, 로딩 화면 중 단지 로딩 프로그레스 바만 보여주는 것이 아니라 로딩되는 컨텐츠에 상응하는 비디오와 3D 사운드를 제공할 수 있다. 상기 트레이닝 과정에 사용되는 음원은 잘 개인화되지 않는 notch 영역 즉 4kHz-20kHz 영역에 에너지가 충분한 신호를 사용하는 것이 바람직하다. 사용되는 음원에 해당 영역의 에너지가 없는 경우 equalization을 이용하여 스펙트럼 분포를 바꾸거나 다른 신호를 추가할 수 있다.
(Automatic loading of App from earset pairing)
본 GAUDI playing을 위한 earset이 main device에 pairing 되는 순간 (페어링은 Bluetooth와같은 wireless연결일 수도 있고, 3.5 phi와 같은 유선 연결일 수도 있음), dedicated application을 자동으로 실행하도록 구현할 수 있다. 이때, pairing된 earset의 특성에 맞게 loudness, user information 등의 configuration이 자동으로 설정될 수 있다.
(TGDVF - Time domain Generalized Distance Variation Function)
Binaural rendering은 객체에 해당하는 음원에 HRIR을 필터링하여 binaural sound를 획득하는 방법으로 이러한 필터링은 시간축(Time-domain) 또는 주파수축(Frequency-domain)에서 이루어 질 수 있다. 따라서 distance rendering 또한 binaural rendering 이루어지는 필터링 방법에 맞추어 호환되어야 한다. 이전에 전술한ADR 방법에서distance intensity rendering 방법은 inverse law 법칙이 모든 주파수에서 동일하게 적용되기 때문에 constant 값이 되고 따라서 이는 시간축, 주파수 축에서 모두 적용될 수 있다. 따라서 TGDVF에서도 전술한 distance intensity rendering의 다양한 방법이 그대로 적용될 수 있다. 그러나 Distance Frequency Shaping, 즉 거리와 방향에 따른 Proximity & head shadowing effect는 각 주파수마다 독립적으로 적용되기 때문에 이를 시간축으로 구현하기 위해서는 이러한 주파수 응답을 모델링한 time domain filter를 설계해야 한다.
주파수 응답은 거리와 방향에 따라 time varying하며 이를 모델링 하기 위한 time domain filter는 전술한 바와 같이 low shelving filter와 low pass filter 계열의 filter를 사용할 수 있다. 실시예로써 동측 귀에 대해서는 low shelving filter로, 대측 귀에 대해서는 low pass filter를 사용할 수 있다. 각 필터는 fir 혹은 iir filter로 설계 될 수 있으며 더 정확한 모델링을 위해 고차의 filter를 설계할 수 있다. 그러나 음원의 방향에 따라 동측과 대측 귀가 바뀔수가 있으며 이는 방향에 따라 연속적으로 필터의 형태가 변하는 것이 바람직하다. 이를 위하여 본 발명에서는 low shelving filter(LSF)와 low pass filter(LPF)의 차수를 동일하게 하는 방법을 이용하며, 또한 거리와 방향에 따른 cut-off 주파수 컨트롤 및 pole과 zero를interpolation 하는 방법을 사용한다.
본 발명의 일 실시예에 따르면, 1차의 iir 필터 (first order iir filter)로 LSF와 LPF를 구현한다. 본 발명에서는 시간축에서 이러한 주파수 응답을 모델링 하는 필터를 통칭 TWF(Time domain Weighting Filter) 라고 부른다.
1차의 TWF로 설계시 장점으로 pole과 zero가 filter의 계수와 동일하며 필터 원형에서 cut off 주파수를 매우 낮게 설정하면 low shelving filter의 주파수 응답을 모델링 할 수 있고 cuf off 주파수를 상대적으로 높게 설정하면 low pass filter 형태의 주파수 응답을 모델링 할 수 있어 두 개의 필터를 가변적으로 쉽게 변화시킬 수 있다. 특히 대측에서 고차의 low pass filter를 사용하는 것은 고주파 영역을 지나치게 제거시키는 반면에 1차만을 사용할 경우 실제 head shadowing의 주파수 응답과 유사하게 고주파 성분을 완전히 죽이지 않고 살릴 수 있다. 1차의 TWF를 이용한 TGDVF 구조는 도21과 같이 나타 낼 수 있다.
도 21에서 1차의 TWF에 해당하는 주파수 응답을 모델링 하는 수식은 아래와 같이 나타낼 수 있다.
Figure pat00012
수학식 12에서 c_a와 c_b는 TWF의 pole과 zero에 해당하는 계수이며, f_c는 필터의 cut off 주파수, dc_g는 필터의 dc주파수에서의 정규화 gain값을 의미한다. f_c와 dc_g를 조절함으로써 low shelving filter와 low pass filter를 가변하여 사용할 수 있으며 f_c와 dc_g는 방향과 거리를 입력으로 계산 될 수 있다.
Figure pat00013
수학식 13은 fc_c와 dc_g를 주어진 음원의 방향과 거리를 기반으로 계산하는 식으로 v_0와 v_1은 각각 정 동측에서의 cut-off 및 정 대측에서의 cut-off 주파수를 나타내고 NG는 정규화된 intensity gain이며 La는 interpolation 계수를 나타낸다. l은 객체가 귀에 가장 근접했을 때 감쇠되는 dc gain의 boundary를 의미한다. La는 각도에 따라 변화되는 파라미터로 각도값을 정규화 하여 사용할 수 있고 비선형적 변화 특성을 반영하여 sigmoid, log 또는 지수함수를 이용한 맵핑을 이용하여 구할 수도 있다. 또한 proximity & head shadowing 효과의 실시간 반영을 위해 매 샘플마다 f_c와 dc_g가 업데이트 될 수 있으며 이러한 변화에 민감하지 않은 특성을 이용하여 특정 주기마다 한번씩 업데이트 될 수 있다. 특정 주기마다 업데이트 할 경우 급격한 계수의 변화로 소리의 왜곡이 발생할 수 있는데 이때 이전 계수와 현재 구해진 계수를 적절하게 평균하여 소리의 왜곡을 완화 시킬 수도 있다.
실험에 따르면, 본 발명에 따른 TWF 방법은 전술한 FWF(Frequency-domain Weighting Function) 방법과 비교할 때 성능의 차이가 거의 없이 유사한 결과를 보인다.
따라서 렌더링 방법에 따라FWF와 TWF 중 하나를 선택하여 사용할 수 있으며 특히 TWF를 사용할 경우 거리와 각도의 resolution에 상관없이 interpolation된 주파수 응답을 바로 구할 수 있고 업데이트 주기의 최적화를 통해 연산량 측면에서도 이득을 볼 수 있다는 점을 잘 설명하고 있음.
<< Occlusion effect>>
Occlusion effect는 음원이 벽, 건물, 지형 등과 같은 장애물에 청취자가 가로 막혔을 때 청취자에게 전달되는 음원의 경로를 나타낸다. 음원이 장애물에 막혔을 때 고주파 성분은 장애물에 반사되고 저주파 대역은 회절(diffraction)된다. occlusion에 의한 회절을 모델링 하기 위한 방법으로써 UTD (Uniform Theory of Diffraction)와 BTM (Biot-Tolstoy-Medwin) 방법들을 사용할 수 있다. 이러한 방법은 정확한 음원의 회절을 모델링 할 수 있다는 장점이 있지만 복잡도가 높기 때문에 실시간 구현에 적합하지 않다. 실시간으로 저주파 대역의 회절을 모델링 하기 위한 방법으로 저주파 대역이 회절이 된다는 특성을 고려한 LPF로 간단하게 구현 할 수 있다. 도 22는 occlusion effect를 실시간으로 적용시키기 위한 블록도이다.
도 22에서 Occlusion detector는 Gaudi V2A Translator통해 제공받은 비디오 씬 description을 기반으로 음원과 청취자 사이에 장애물과 같은 것에 음원의 확산이 막혀 있는지를 판단하는 모듈이다. Occlusion effector는 occlusion detector로부터 판단된 비디오 씬을 기반으로 shadowing되는 정도를 판단하고sound diffraction 효과를 만들어 내는 모듈이다. Occlusion 효과를 주기 위한detector와 effector를 합쳐 통칭 Gaudi Occluder라고 부른다. 이는 상황에 따라 binaural rendering의 pre-processing 스텝으로 적용 된다.
(Gaudi occlusion detector - GOD)
Occlusion effect를 적용하기 위해서는 먼저 음원과 청취자 사이에 어떠한 장애물이 가로 막고 있는지 아닌지에 대한 판단 알고리즘이 필요하다. 실시예로써 음원이 장애물에 shadowing된 경우를 구분하는 것은 크게 occlusion, obstruction 그리고 exclusion의 3가지 경우로 나눌 수 있다. Occlusion은 음원과 청취자가 완전히 막힌 경우이며 obstruction은 오픈된 환경 혹은 음원과 청취자가 동일한 공간에 있는 환경에서 어떤 객체에 의해direct만 막힌 경우를 말하며 exclusion은 창문과 같이 음원과 청취자가 일부 오픈된 객체를 통해 연결된 경우로 이를 그림으로 나타내면 도 23과 같다. 도 23은 기본적인 occlusion 씬 구분 개념도를 나타낸 도면이다.
이를 판단 하기 위하여 비디오 씬에서 건물의 내부인지 외부인지와 같은 기본 정보와 음원과 청쥐자 위치를 기반으로 장애물의 상대 크기, 상대 각도, 상대 고도등의 정보를 이용할 수 있으며 이는 Gaudi V2A Translator를 통하여 제공 받을 수 있다. Gaudi V2A Translator를 통하여 제공받은 비디오 씬 decription을 기반으로 occlusion정도를 판단하는 방법을 통칭 Gaudi Occlusion Detector(GOD)라고 부른다. GOD의 실시예로써Head tracker가 있는 경우 청취자가 바라보는 시점을 기준점으로 음원과 장애물의 각도 및 고도를 계산하여 그 차이가 장애물의 크기를 임계점으로 하여 그 임계점 보다 작아지면 음원이 shadowing되었다고 판단할 수 있다. 이 때 장애물이 벽이나 건물 내부환경, 지형등의 고정된 경우 occlusion으로, 혹은 벽이 아니거나 움직이는 특정 크기를 가진 객체인 경우 obstruction으로 판단할 수 있다. 또 다른 실시예로써 Gaudi V2A Translator를 통해 제공된 비디오 씬 정보를 토대로 음원과 청취자간의 visibility를 계산할 수 있다. Visibility는 음원이 특정 장애물에 반사될 때를 새로운 음원으로 가정하여 그 전달 경로를 추정하는 것으로 각 장애물을 일종의 node로 보고 트리(tree) 혹은 피라미드(pyramid)구조로 저장할 수 있다. 전방향 모두를 계산할 경우 연산량이 매우 복잡해지므로 특정 수 개의 방향만을 주어진 씬에 따라 미리 계산해 두거나 특정 주기마다 실시간으로 계산할 수도 있다. 이렇게 생성된 visibilty는 occlusion뿐만 아니라 early reflection을 만들어 내는 데 사용할 수도 있고 연산량의 최적화를 위하여 청취자 입장에서 음원의 방향에 해당하는 하나의 경로만을 선택하여 장애물에 의한 shadowing효과에 적용할 수도 있다. Exclusion의 경우 obstruction의 inverse에 해당하는 과정으로 볼 수 있으며 창문과 같은 오픈 된 객체가 일종의 방향성을 가지는 음원이라고 생각하고 렌더링 할 수 있다.
전술된 방법을 이용하여 장애물에 의해 음원이 shadowing된 환경 그리고 그 정도를 판단하여 생성된 parameter는 occlusion 효과를 컨트롤 할 수 있는 입력으로 사용되며 이를 실시간으로 적용시킴으로써 interactivity를 높일 수 있다.
(Gaudi occlusion effector - GOE)
Occlusion effect, 즉 음원의 회절 효과를 재현 하기 위한 모듈이 Gaudi occlusion effector(GOE) 이며 음원이 shadowing 된 정도를 판단하여 interactive하게 회절 효과를 주는 역할을 한다. 일반적으로 Occlusion 효과를 주기 위해 사용되는 UTD와 BTM 방법들은 회절 경로에 대한 impulse response(IR)를 만들어 내게 되는데 이는 많은 연산량을 팔요로 한다. 그러나 실제 IR의 응답은low pass filter의 주파수 응답과 유사한 형태를 나타난다. 따라서 저전력으로 구현을 위해 low pass filter로 회절 효과를 줄 있도록 하되 실시간으로 변화 하는 interativity를 위해 filter응답을 씬에 맞게 변화하도록 설계할 수 있다. Occlusion 효과를 주기 위해 이러한 가변 filter를 Variable low pass filter(VLF)라고 부른다.
VLF 컨트롤은 크게 볼륨 조절과 cut off 주파수를 조절하는 과정으로 이루어지며 이것을 음원과 청취자간의 visibility로부터 shadowing 정도를 조절 할 수 있다. 실시예로써 장애물의 중심이 가장 많은 고주파의 반사가 일어나고 회절이 어렵다고 가정하고 이때 VLF의 볼륨과 cut-off을 최소로 두고 장애물의 가장자리로 갈수록 볼륨과 cut-off 주파수를 점차 늘려 갈 수 있다. 이는 GOD에서 음원과 장애물의 상대 각도, 고도 차를 장애물의 스케일로 정규화 한 값으로부터 구현될 수 있으며, 청취자와 음원 장애물 사이의 상대거리에 따라 가중치를 부여 할 수도 있다. 트리 혹은 피라미드의 구조로 경로가 저장 되어 있는 경우 그 depth를 shadowing의 정도로 판단하여 적용시킬 수 도 있다. 실시예로 반사가 많이 되어 depth가 깊다면 VLF의 cut-off 주파수가 매우 작도록 설정하는 식의 방식이다.
또한 음원의 확산 IR파트를 occlusion된 상황에 맞추어 부분부분 나누어 VLF를 적용할 수 있다. 실시예로 occlusion상황인 경우 음원과 청취자 모두 막혀 있으므로 VLF를 direct와 reverberation 모두에 적용한다. obstruction 상황인 경우 direct만 VLF를 적용하고 reverberation에는 적용하지 않는다. 이러한 occlusion 효과를 주는 파트는 허용된 연산량에 따라 더 세분화 되거나 세분화 하지 않을 수도 있으며 다양한 occlusion 씬에 맞추어 다양하게 조합 할 수도 있다.
<< Sound Spectral Highlighting >>
사람은 동일한 위치에서 들리는 음원이라 하더라도 그 음원의 magnitude spectrum 특성에 의해 정위되는 음원의 위치를 다르게 인지한다. 예를 들어 머리 위 70도에 특정 음원이 정위되어 있다면 원래 음원이 가지는 스펙트럼 정보를 제외한 위치에 의한 스펙트럼의 변화는 개인의 신체 정보 및 귀 모양에 의해 달라지게 된다. 그러나 위치에 따라 많은 사람들에게 공통적으로 변화되는 주파수 대역이 존재하며 필터를 이용하여 magnitude spectrum의 특정 주파수 대역을 강조시켜주거나 감쇄시켜서 음원을 원하는 위치에 정위시키거나 사전에 HRTF에 의해 정위된 음원의 위치를 좀 더 정확하게 보정하는데 사용 할 수도 있다. 주파수 대역의 대비를 이용하여 음상 정위를 조절하거나 보정하는 방법을 본 발명에서는 Sound Spectral Highlighting (SSH)이라고 한다. SSH는 헤드폰뿐만 아니라 스피커 환경에서도 적용될 수 있고 음원의 채널수에 영향을 받지 않고 모든 채널 포맷에 적용할 수 있다.
실시예로써 음원의 주파수를 저주파 대역과 고주파 대역으로 나누고 머리 아래쪽에 정위 시키고자 할 때는 저주파 대역을 상대적으로 강조해주고 머리 위쪽에 정위시킬 경우는 고주파 대역을 강조시켜 준다. 이는 고주파 소리가 일반적으로 머리 위쪽에서 들리게 되는 것을 이용하는 것으로 위치에 따라 공통적으로 변하게 되는 주파수 대역이라고 볼 수 있다. 이를 본 발명에서는 지배적 주파수 대역 (dominant frequency band)이라고 한다. 지배적 주파수 대역은 전술한 바와 같이 2개의 밴드부터 좀더 세밀한 주파수 조절을 위해 옥타브 밴드 형태로 다양하게 나눌 수 있다. 여러 개의 대역으로 나눌 경우 필터뱅크로 구현될 수 있으며 위치에 따라 지배적인 주파수를 대역을 강조해 준다. 강조해주는 주파수 대역은 HRTF dB를 평균적인 주파수 변화 경향을 참조하여 적용시켜 줄 수 있으며, 실험적으로 구할 수도 있다. 위치에 지배적인 주파수 대역 강조의 실시예로써 정면상에 위치시킬때는 500hz이하의 저주파 대역을 강조하고 뒤쪽에 위치시키고자 할때는 중심 주파수가 1khz및 4khz대역을 강조시키고 위쪽에 위치시키고자 할때는 8khz 대역을 강조시켜준다. 음원의 레벨에 따라 각 특정대역을 강조시킬 수도 있지만 그 외 대역을 반대로 감쇄 시키는 방법으로 구현할 수도 있다.
SSH는 또한 바이노럴 렌더링에도 적용될 수 있다. 특히 측정된 HRTF의 비개인화 문제로 인한elevation 정위의 부정확성을 보상하기 위해 전술한 SSH방법을 각 HRTF를 필터링 시킨 뒤 후처리 기법으로 양 귀에 적용시킬 수 있다. 실시예로 HRTF dB에서 동일한 각도의 elevation set을 0도에 해당하는 HRTF로 정규화를 한 뒤 그 차이가 큰 대역을 지배적 대역으로 선택하고 이 대역을 elevation에 따라 강조해 준다. 이러한 후처리 방법을 사용하였을 때 대역간의 강조 혹은 감쇄된 레벨 차이로 인하여 음의 왜곡이 발생 할 수 있으므로 이는 보간법을 이용하여 보정할 수 있다. 전술한 방법은 많은 사람들이 공통적으로 느끼는 위치에 따른 지배적 주파수 대역을 강조함으로써 비개인화된 HRTF를 일반화 시킬 수 있는 장점이 있고 반대로 개인화된 HRTF를 사용한 뒤에 적용 시켜 특정 위치에서만 효과를 강조하는 형태로 사용할 수 있다.
SSH 사용에 따라 신호의 loudness가 변화하는 경우가 있을 수 있는데, 이 경우 전체 신호의 gain을 조절하여 원신호의 loudness를 유지하는 과정을 선택적으로 적용가능하다.
<< Binaural Convolutive Reverb >>
리버브레이터는 청각적으로 잔향과 같은 공간감을 부여하는 기능을 한다. 상기 잔향감은 Room Impulse Response의 Late reverberation 부분에 의하여 발생한다. 잔향감을 부여하는 물리적 파라미터는 Reverberation time, Initial Energy 등이 있으며 특히 바이노럴의 경우 양 이의 코히어런스 (Interaural coherence) 또한 매우 중요하다. 도 24는 본 발명에 따른 리버브레이터의 구조도이다. 특정 room을 가청화하기 위하여 (Binaural) room impulse response가 입력되며 이는 Room Parameterization부에 의하여 Room parameters를 추출하는데 사용된다. 입력된 Room parameters는 Reverb. Parameterization부에 의하여 Reverberator (도 24에서는 Convolution Reverberator) 를 동작하는데 필요한 Reverb Parameters가 얻어진다. 이러한 Room paramters는 비디오의 3D 모델 등에서 추정될 수도 있으며, RIR을 이용하지 않고 얻어지는 경우에는 RIR Parameterization부는 생략될 수 있다. 오디오 신호가 입력되면 Binaural Convolution Reverberator부에 의하여 선 계산된 Reverb Parameters에 상응하는 공간감이 오디오 신호에 입혀져 리버브 오디오 신호가 출력된다.
도 25는 본 발명의 아이디어를 설명하기 위한 일반적인 room impulse response (RIR)의 late reverberation part의 time-frequency representation이다. Room impulse response를 filtering 한다는 것은 오디오 신호를 시간-주파수 표현에서 곱하는 것과 같다. 따라서 이를 잘 모델링 하여 반영함으로써 연산량을 크게 줄이면서 오디오 퀄리티는 유지할 수 있다. 도 25의 첫번째 frame index (time)는 Initial energy에 상응한다. 또한 밴드별로 신호의 크기가 다른 속도로 감쇄하는 것을 확인할 수 있다. 대체적으로 높은 주파수 대역의 신호는 빠른 속도로 감쇄하며 낮은 주파수 대역의 신호는 상대적으로 느린 속도로 감쇄하는 것을 확인할 수 있다. 따라서 주파수 밴드별로 다른 초기 에너지와 감쇄율을 반영하는 것이 중요하다.
도 26은 도 25에서 특정 주파수 밴드에 대한 snapshot을 나타낸 도면이다. 도 26의 파란색 선은 상기 RIR의 time-frequency representation 을 특정 주파수에서 snapshot 한 것이다. Frame index 1에서의 Energy 값이 Initial energy에 해당하며, 주파수 밴드별로 다른 값을 갖는다. 또한 Frame index가 증가함에 따라 감쇄하는 정도가 밴드별로 다르며, 이는 선형적으로 근사 가능하다. 빨간색 직선은 파란색 직선을 curve fitting을 이용하여 근사한 것으로 파란색선은 빨간색 직선으로 근사할 수 있는 것이 특징이다. 따라서 도 24에서의 RIR Parameterization block은 Initial energy와 밴드별 감쇄율을 계산한다.
에너지 관점에서 Initial Energy와 Energy Decay를 맞춰주는 것이 중요하며 이를 반영한 것이 도 27에 표현된 본 발명에 따른 Binaural Convolution Reverberator이다. 도 27에 따르면 Binaural Convolution Reverberator는 크게 4 부분으로 나뉠 수 있으며, 각 부분은 Initial Energy Matching, Delay (Buffering), Attenuator, Deccorrelation, IACC Matching으로 나뉠 수 있다.
Initial Energy Matching은 상기 Initial Energy를 반영하는 모듈로 gain, IIR filtering, FIR filtering으로 구현 가능하다. 특히 FIR filtering의 경우 원 RIR의 맨 앞 frame (즉, RIR의 time-frequency representation에서의 첫번째 frame)으로 처리 가능 한 것이 특징이다.
Delay부는 comb filtering을 수행하기 위한 것으로 딜레이 버퍼를 이용하여 딜레이 된 후 Attenuator 부에 입력되어 주기적인 피드백 루프를 구현하기 위함이다.
Attenuator부는 피드백되며 다시 입력되는 신호에 Attenuation을 시키기 위한 부분으로 상기 특정 주파수의 snapshot에서 frame index가 증가함에 따라 감쇄되는 기울기값을 갖는 것이 특징이다. 이 또한 gain, IIR filter, FIR filtering을 이용하여 구현 될 수 있으며, gain의 경우 전체 밴드에서의 평균 감쇄율 (즉 RT60에 scaling 된 값)로 표현 될 수 있다.
상기 Initial Energy Matching, Delay, Attenuator 부는 모두 다 주파수 도메인 (Short-time Fourier Transform, DCT, QMF 등등)에서 구현 가능하며, 이 때 filtering process가 complex multiplication으로 바뀌기 때문에 연산량의 이점을 얻을 수 있다. 더불어 DSR과 같은 다른 모듈에서 주파수 도메인 변환이 이루어지는 경우 변환된 주파수 도메인 신호를 가져와서 처리함으로써 상기 주파수 도메인 변환은 생략될 수 있다.
Decorrelation부는 noise sequence를 convolution 하는 부로, noise sequence가 고정되어 있을 경우 길게 지연되는 고조파 신호에 주기성이 발생하면서 오디오 퀄리티가 저하 될 수 있다. 따라서 이를 극복하기 위하여 noise sequence는 시간에 따라 변화가 필요하다. 해당 시간에 따른 변화는 일정 간격을 두고 서로 다른 noise sequence를 사용하는 방법으로 구현될 수 있다. 또 다른 실시 예로써 window를 이용하여 특정 시간을 주기로 overlap 되면서 update할 수 있으며, 주파수 밴드별로 상이한 update를 수행할 수도 있다.
Window를 이용한 실시 예로써 Frame index i에 random generator를 이용하여 생성된 noise sequence를 n_i라고 하자. Decorrelation 부에서 ith frame에 filtering하는데 사용될 sequence를 N'_i라고 하면 다음과 같이 정의 될 수 있다.
Figure pat00014
이 때 w_fadeout은 시간 index가 증가함에 따라 감쇄하는 fade out window이며 w_fadein은 시간에 따라 증가하는 fade in window이다. 예를 들면 n이 [0 pi/2]일 때 w_fadeout는 cosine, w_fadein은 sine이 될 수 있다.
주파수 밴드별로 상이한 update를 이용한 실시 예로써 N'_i는 다음과 같이 정의될 수 있다.
Figure pat00015
이 때 a 는 forgetting factor로 정의되며 이는 주파수 인덱스 k값에 따라 다른 값을 갖는 것이 특징이다.
상기 frame index i에서의 noise sequence n_i의 경우 기 저장된 noise sequence DB에서 불러들어와 사용될 수 있으며 이는 매 frame에서 noise sequence를 생성하는데 필요한 연산량을 절약할 수 있다.
상기 두 Decorreator에 사용되는 noise sequence는 독립적으로 다르며, 따라서 상기 두 Decorer의 출력들의 correlation은 충분히 낮다고 가정할 수 있다. IACC matching부의 경우 주파수 밴드별로 다른 coherence를 반영하는 부분으로 Decorrelator의 출력을 D1(k), D2(k)라고 가정했을 때 다음과 같은 수식으로 IACC가 매칭된 신호 I1(k), I2(k)를 얻을 수 있다.
Figure pat00016
여기서 k는 주파수 밴드 인덱스이며, IACC(k)는 주파수 밴드 k에 대한 IACC값이다.
I1(k), I2(k)는 Inverse Transform을 통하여 시간축 신호로 변환 될 수 있으며, DSR과 같이 Inverse Transform을 수행하는 다른 신호에 더해짐으로써 생략 될 수 있다. 다양한 객체 신호를 처리하기 위하여 각 객체 신호에 Binaural Reverberator가 추가될 수 있으나, 보다 효율척으로 처리되기 위하여 모노 (1채널) 또는 스테레오 (2채널)로 다운믹스 된 후 Binaural Reverberator에 입력 될 수 있다.
또한 Deccorrelation에 사용되는 filter의 길이가 transform 길이보다 긴 경우 block단위의 filtering process가 사용 될 수 있다. 실시 예로써 STFT 도메인에서 처리되는 경우 Block-wise fast convolution이 사용 될 수 있다.
이상에서는 본 발명을 구체적인 실시예를 통하여 설명하였으나, 당업자라면 본 발명의 취지 및 범위를 벗어나지 않고 수정, 변경을 할 수 있다. 즉, 본 발명은 오디오 신호에 대한 바이노럴 렌더링의 실시예에 대하여 설명하였지만, 본 발명은 오디오 신호뿐만 아니라 비디오 신호를 포함하는 다양한 멀티미디어 신호에도 동일하게 적용 및 확장 가능하다. 따라서 본 발명의 상세한 설명 및 실시예로부터 본 발명이 속하는 기술분야에 속한 사람이 용이하게 유추할 수 있는 것은 본 발명의 권리범위에 속하는 것으로 해석된다.

Claims (1)

  1. 오디오 신호 처리 방법 및 장치.
KR1020150070627A 2015-05-20 2015-05-20 오디오 신호 처리 방법 및 장치 KR20160136716A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150070627A KR20160136716A (ko) 2015-05-20 2015-05-20 오디오 신호 처리 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150070627A KR20160136716A (ko) 2015-05-20 2015-05-20 오디오 신호 처리 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20160136716A true KR20160136716A (ko) 2016-11-30

Family

ID=57707126

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150070627A KR20160136716A (ko) 2015-05-20 2015-05-20 오디오 신호 처리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20160136716A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018147701A1 (ko) * 2017-02-10 2018-08-16 가우디오디오랩 주식회사 오디오 신호 처리 방법 및 장치
WO2019031652A1 (ko) * 2017-08-10 2019-02-14 엘지전자 주식회사 3차원 오디오 재생 방법 및 재생 장치
US20210383782A1 (en) * 2018-10-09 2021-12-09 Roland Corporation Sound effect generation method and information processing device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018147701A1 (ko) * 2017-02-10 2018-08-16 가우디오디오랩 주식회사 오디오 신호 처리 방법 및 장치
US10165381B2 (en) 2017-02-10 2018-12-25 Gaudi Audio Lab, Inc. Audio signal processing method and device
WO2019031652A1 (ko) * 2017-08-10 2019-02-14 엘지전자 주식회사 3차원 오디오 재생 방법 및 재생 장치
US10939222B2 (en) 2017-08-10 2021-03-02 Lg Electronics Inc. Three-dimensional audio playing method and playing apparatus
US20210383782A1 (en) * 2018-10-09 2021-12-09 Roland Corporation Sound effect generation method and information processing device
US11984102B2 (en) * 2018-10-09 2024-05-14 Roland Corporation Sound effect generation method and information processing device

Similar Documents

Publication Publication Date Title
US11770671B2 (en) Spatial audio for interactive audio environments
US10645518B2 (en) Distributed audio capture and mixing
US10349197B2 (en) Method and device for generating and playing back audio signal
CN107113524B (zh) 反映个人特性的双耳音频信号处理方法和设备
CN103329576B (zh) 音频系统及其操作方法
JP6665379B2 (ja) 聴覚支援システムおよび聴覚支援装置
US11477592B2 (en) Methods and systems for audio signal filtering
CN106664501A (zh) 基于所通知的空间滤波的一致声学场景再现的系统、装置和方法
US11902772B1 (en) Own voice reinforcement using extra-aural speakers
EP3595337A1 (en) Audio apparatus and method of audio processing
KR20160136716A (ko) 오디오 신호 처리 방법 및 장치
WO2024089036A1 (en) Audio signal processor and related method and computer program for generating a two-channel audio signal using a smart determination of the single-channel acoustic data
Avendano Virtual spatial sound