KR101828908B1 - Sound tracing apparatus and method of the same - Google Patents
Sound tracing apparatus and method of the same Download PDFInfo
- Publication number
- KR101828908B1 KR101828908B1 KR1020160181360A KR20160181360A KR101828908B1 KR 101828908 B1 KR101828908 B1 KR 101828908B1 KR 1020160181360 A KR1020160181360 A KR 1020160181360A KR 20160181360 A KR20160181360 A KR 20160181360A KR 101828908 B1 KR101828908 B1 KR 101828908B1
- Authority
- KR
- South Korea
- Prior art keywords
- sound
- path
- data
- delay
- reproduced
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R3/00—Circuits for transducers, loudspeakers or microphones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2400/00—Details of stereophonic systems covered by H04S but not provided for in its groups
- H04S2400/15—Aspects of sound capture and related signal processing for recording or reproduction
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Stereophonic System (AREA)
Abstract
Description
본 발명은 사운드 트레이싱 기술에 관한 것으로, 보다 상세하게는, 사운드 경로 지연버퍼의 크기를 개선할 수 있는 사운드 트레이싱 장치 및 방법에 관한 것이다.The present invention relates to a sound tracing technique, and more particularly, to a sound tracing apparatus and method capable of improving the size of a sound path delay buffer.
3차원 사운드 기술은 컴퓨팅에 저장된 기하 데이터(Geometric Data)의 3차원 표현을 사용하는 사운드 기술로, 오늘날 영화, 게임 산업 및 가상 현실 분야에서 널리 사용되고 있다. 일반적으로 3차원 그래픽 기술은 많은 연산량으로 인하여 별개의 고성능 그래픽 프로세서를 요구한다. 특히, 최근 프로세서의 발전에 따라 현실적인 3차원 사운드를 생성할 수 있는 사운드 트레이싱(Sound Tracing) 기술이 연구되고 있다.3D sound technology is a sound technology that uses a three-dimensional representation of geometric data stored in computing, and is widely used today in the field of movies, games, and virtual reality. In general, 3D graphics technology requires a separate, high-performance graphics processor due to its high computational complexity. In particular, a sound tracing technique capable of generating a realistic three-dimensional sound according to recent developments of a processor is being studied.
사운드 트레이싱(Sound Tracing) 기술은 레이 트레이싱(Ray Tracing)의 원리를 사운드에 적용한 방식으로, 다른 물체에서 투과, 흡수, 반사, 굴절 또는 회절된 사운드가 청자(또는 사운드 싱크)에 미치는 영향을 고려하여 투과, 흡수, 반사, 굴절 또는 회절 효과가 자연적으로 제공되기 때문에 현실감 있는 3D 사운드를 생성할 수 있다.Sound Tracing is a method of applying the principles of Ray Tracing to sound, taking into account the effect of the transmission, absorption, refraction, refraction, or diffracted sound on other objects on the listener (or sound sink) Since the transmission, absorption, reflection, refraction, or diffraction effects are naturally provided, realistic 3D sound can be generated.
사운드 트레이싱 기술은 다수개의 사운드 소스들의 위치에서 레이(ray)를 슈팅(shooting)하고 청자 위치에서 레이를 슈팅하고, 슈팅된 각각의 레이는 자신과 부딪친 기하학적 물체를 찾아 부딪친 물체에 대하여 반사, 전파 및 회절에 해당하는 레이를 생성한다. 이렇게 사운드 소스들에서 슈팅된 레이와 청자에서 슈팅된 레이들은 서로 만나게 될 수 있고, 만나게 되는 경로를 성공 사운드 경로라고 한다. 성공 사운드 경로는 사운드 소스 위치에서 출발한 사운드가 반사, 전파, 흡수 및 회절 등을 거쳐서 청자에 도착하는 유효한 경로를 의미한다. 최종 사운드는 성공 사운드 경로를 가지고 계산하여 출력된다.Sound tracing technology shoots a ray from a plurality of sound sources and shoots a ray from a celadon position, and each shot finds a geometric object that hits it and reflects, propagates, A ray corresponding to the diffraction is generated. The rays shot from the sound sources and the rays shot from the celadon can be met with each other, and the path to be encountered is called the success sound path. A successful sound path refers to a valid path through which a sound originating at a sound source location arrives at a listener through reflection, propagation, absorption, and diffraction. The final sound is calculated and output with the success sound path.
한국공개특허공보 제10-2016-0121778(2016.10.20)호는 컴퓨터 실행 가능한 사운드 트레이싱 방법에 관한 것으로, (a) 사운드 소스의 위치와 현재 디스플레이 화면에서 사운드 싱크의 위치를 결정하는 단계, (b) 상기 사운드 소스와 상기 사운드 싱크 간에 형성되고 상기 디스플레이 화면에 있는 적어도 하나의 객체에 의하여 왜곡될 수 있는 적어도 하나의 사운드 전파 경로를 생성하고, 상기 사운드 소스의 위치, 상기 사운드 싱크의 위치 및 상기 적어도 하나의 객체의 위치의 변경률에 관한 검출을 온라인 처리하는 단계 및 (c) 상기 사운드 전파 경로를 기초로 상기 사운드에 대한 가청화(Auralization)를 수행하는 단계를 포함한다.Korean Patent Laid-Open Publication No. 10-2016-0121778 (2016.10.20) relates to a computer-executable sound tracing method comprising the steps of: (a) determining a location of a sound source and a location of a sound sink on a current display screen; ) Generates at least one sound propagation path formed between the sound source and the sound sink and that can be distorted by at least one object on the display screen, and wherein the position of the sound source, the position of the sound sink, Processing the detection of the rate of change of the position of one object on-line; and (c) performing auralization on the sound based on the sound propagation path.
한국등록특허 제10-1270297(2013.05.27)호는 볼륨 조절 장치에 관한 것으로, 오디오 재생 장치에서 펄스 부호 변조(PCM: Pulse Code Modulation) 데이터의 볼륨을 조절하기 위한 장치에 있어서, 상기 PCM 데이터를 디코딩하여 저장하는 오디오 재생부와, 상기 디코딩된 PCM 데이터를 읽는 PCM 데이터 버퍼 리더기와, 상기 읽혀진 PCM 데이터의 특정밴드 이득을 조절하여 필터링 처리하는 PCM 데이터 버퍼 처리부와, 상기 필터링 처리가 중복하여 수행되었는지 판단하고, 상기 필터링 처리가 중복하여 수행되었을 경우, 상기 중복하여 필터링 처리된 PCM 데이터의 볼륨을 단계적으로 조절하는 볼륨 조절부와, 상기 볼륨이 조절된 PCM 데이터가 저장되는 PCM 데이터 저장부와, 상기 볼륨이 조절된 PCM 데이터를 가청신호로 변환하여 출력하는 오디오 출력부를 포함함을 특징으로 한다.Korean Patent Registration No. 10-1270297 (Feb. 31, 2017) discloses a volume control apparatus for controlling a volume of pulse code modulation (PCM) data in an audio reproducing apparatus, A PCM data buffer reader for reading the decoded PCM data; a PCM data buffer processor for filtering and adjusting a specific band gain of the read PCM data; A volume adjusting unit for adjusting the volume of the overlapping filtered PCM data step by step when the filtering process is performed in duplicate, a PCM data storing unit for storing the PCM data with the volume adjusted, And an audio output unit converting the volume-adjusted PCM data into an audible signal and outputting the audible signal .
본 발명의 일 실시예는 사운드 경로 지연버퍼의 크기를 개선할 수 있는 사운드 트레이싱 장치 및 방법을 제공하고자 한다.An embodiment of the present invention seeks to provide a sound tracing apparatus and method capable of improving the size of a sound path delay buffer.
본 발명의 일 실시예는 소리의 지연효과를 보다 효율적으로 재현시킬 수 있는 사운드 트레이싱 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide a sound tracing apparatus and method that can more efficiently reproduce the delay effect of sound.
실시예들 중에서, 사운드 트레이싱 장치는 향후 재생될 사운드 데이터를 미리 버퍼링하는 사운드 경로 지연버퍼를 포함하는 메모리부, 현재 재생할 사운드 데이터를 처리하는 사운드 처리부 및 음원으로부터 파생된 적어도 하나의 경로 지연 사운드에 관해 미리 결정된 지연시간을 기초로 상기 사운드 경로 지연버퍼의 특정 위치를 산출하고, 상기 적어도 하나의 경로 지연 사운드에 관한 경로 지연 사운드 데이터를 상기 향후 재생될 사운드 데이터로 생성하는 사운드 경로 처리부를 포함한다.Among the embodiments, the sound tracing apparatus includes a memory section including a sound path delay buffer for pre-buffering sound data to be reproduced in the future, a sound processing section for processing sound data to be reproduced at present, and a sound processing section for processing at least one path delay sound derived from the sound source And a sound path processing unit for calculating a specific position of the sound path delay buffer based on the predetermined delay time and generating path delay sound data relating to the at least one path delay sound as the sound data to be reproduced in the future.
상기 사운드 경로 지연버퍼는 상기 음원으로부터 필터링된 PCM(Pulse Code Modulation) 데이터를 버퍼링하는 PCM 버퍼모듈을 포함할 수 있다.The sound path delay buffer may include a PCM buffer module for buffering PCM (Pulse Code Modulation) data filtered from the sound source.
상기 사운드 경로 지연버퍼는 상기 산출된 특정 위치에 상기 향후 재생될 사운드 데이터를 누적하는 지연 버퍼모듈을 포함할 수 있다.The sound path delay buffer may include a delay buffer module for accumulating the sound data to be reproduced at the calculated specific position.
상기 지연 버퍼모듈은 그 끝 위치가 그 시작 위치와 이어지는 순환형(circular) 구조를 가질 수 있다.The delay buffer module may have a circular structure in which its end position is connected to its start position.
상기 사운드 처리부는 현재 재생할 위치에 버퍼링된 적어도 하나의 사운드 데이터와 상기 PCM 데이터를 믹싱하여 상기 현재 재생할 사운드 데이터로 생성할 수 있다.The sound processing unit may mix the PCM data with at least one sound data buffered at a current playback position to generate the sound data to be played back.
상기 사운드 경로 처리부는 상기 음원으로부터 파생된 적어도 하나의 경로 지연 사운드 중에서 각각의 지연시간이 상기 미리 결정된 지연시간을 초과하는 경로 지연 사운드를 검출하여 상기 적어도 하나의 경로 지연 사운드에서 제외시킬 수 있다.The sound path processing unit may detect and exclude a path delay sound in which the delay time of each of the at least one path delay sound derived from the sound source exceeds the predetermined delay time, from the at least one path delay sound.
상기 사운드 경로 처리부는 하기의 수학식 1을 기초로 상기 지연 버퍼모듈의 특정 위치를 가리키는 축적 인덱스(I)를 산출하여 상기 축적 인덱스에 따라 상기 향후 재생될 사운드 데이터가 미리 버퍼링되도록 할 수 있다.The sound path processing unit may calculate an accumulation index I indicating a specific position of the delay buffer module based on Equation 1 and buffer the sound data to be reproduced in the future according to the accumulation index.
[수학식 1][Equation 1]
I = S - (R * D)I = S - (R * D)
(여기에서, 상기 I는 상기 축적 인덱스를 나타내고, 상기 S는 현재까지 처리된 샘플수를 나타내고, 상기 R은 샘플링 레이트를 나타내며, D는 상기 지연시간을 나타냄)(Where I denotes the accumulation index, S denotes the number of samples processed so far, R denotes a sampling rate, and D denotes the delay time)
상기 사운드 경로 처리부는 상기 음원으로부터 파생된 적어도 하나의 경로 지연 사운드에 관해 주파수 대역 별로 모든 채널에 대해 상기 축적 인덱스를 산출하고 상기 향후 재생될 사운드 데이터를 생성할 수 있다.The sound path processing unit may calculate the accumulation index for all channels for each of the frequency bands with respect to at least one path delay sound derived from the sound source and generate the sound data to be reproduced in the future.
상기 사운드 경로 처리부는 상기 파생된 적어도 하나의 경로 지연 사운드에 관해 회절음, 반사음, 투과음, 직접음 및 잔향음 중에서 적어도 하나에 대한 처리를 수행하여 상기 경로 지연 사운드 데이터를 향후 재생될 사운드 데이터로 생성할 수 있다.The sound path processing unit performs processing on at least one of a diffuse sound, a reflection sound, a transparent sound, a direct sound, and a reverberation sound with respect to the derived at least one path delay sound to convert the path delay sound data into sound data to be reproduced in the future Can be generated.
실시예들 중에서, 사운드 트레이싱 장치는 향후 재생될 사운드 데이터를 미리 버퍼링하는 지연 버퍼모듈을 포함하는 사운드 경로 지연버퍼를 포함하는 메모리부 및 음원으로부터 파생된 적어도 하나의 경로 지연 사운드에 관해 미리 결정된 지연시간을 기초로 상기 사운드 경로 지연버퍼의 특정 위치를 산출하고, 상기 적어도 하나의 경로 지연 사운드에 관한 경로 지연 사운드 데이터를 상기 향후 재생될 사운드 데이터로 생성하는 사운드 경로 처리부를 포함한다.In embodiments, the sound tracing device may include a memory portion including a sound path delay buffer including a delay buffer module for pre-buffering sound data to be played back in advance, and a memory portion including at least one of a delay time And a sound path processing unit for calculating a specific position of the sound path delay buffer based on the sound path delay sound and generating path delay sound data relating to the at least one path delay sound as the sound data to be reproduced in the future.
실시예들 중에서, 사운드 트레이싱 방법은 사운드 경로 지연버퍼를 포함하는 사운드 트레이싱 장치에 의해 수행되고, 상기 사운드 트레이싱 방법은 현재 재생할 사운드 데이터를 처리하는 사운드 처리 단계, 음원으로부터 파생된 적어도 하나의 경로 지연 사운드에 관해 미리 결정된 지연시간을 기초로 상기 사운드 경로 지연버퍼의 특정 위치를 산출하는 지연버퍼 위치 산출 단계, 상기 적어도 하나의 경로 지연 사운드에 관한 경로 지연 사운드 데이터를 향후 재생될 사운드 데이터로 생성하는 사운드 경로 처리 단계 및 상기 향후 재생될 사운드 데이터를 미리 버퍼링하는 사운드 경로 지연버퍼링 단계를 포함한다.In embodiments, a method of sound tracing is performed by a sound tracing device that includes a sound path delay buffer, the method of sound tracing includes: a sound processing step of processing the sound data to be currently played back; at least one path delay sound A delay buffer position calculation step of calculating a specific position of the sound path delay buffer based on a predetermined delay time with respect to the at least one path delay sound, Processing step and a sound path delay buffering step of pre-buffering the sound data to be reproduced in the future.
상기 사운드 경로 지연버퍼링 단계는 상기 음원으로부터 필터링된 PCM(Pulse Code Modulation) 데이터를 버퍼링하는 단계 및 상기 산출된 특정 위치에 상기 향후 재생될 사운드 데이터를 누적하는 단계를 포함할 수 있다.The sound path delay buffering step may include buffering PCM (Pulse Code Modulation) data filtered from the sound source and accumulating the sound data to be reproduced at the calculated specific position.
상기 지연버퍼 위치 산출 단계는 하기의 수학식 1을 기초로 상기 지연 버퍼모듈의 특정 위치를 가리키는 축적 인덱스(I)를 산출하여 상기 축적 인덱스에 따라 상기 향후 재생될 사운드 데이터가 미리 버퍼링되도록 하는 단계를 포함할 수 있다.The step of calculating the delay buffer position may include calculating an accumulation index (I) indicating a specific position of the delay buffer module based on Equation (1) below and buffering the sound data to be reproduced in the future according to the accumulation index .
[수학식 1][Equation 1]
I = S - (R * D)I = S - (R * D)
(여기에서, 상기 I는 상기 축적 인덱스를 나타내고, 상기 S는 현재까지 처리된 샘플수를 나타내고, 상기 R은 샘플링 레이트를 나타내며, D는 상기 지연시간을 나타냄)(Where I denotes the accumulation index, S denotes the number of samples processed so far, R denotes a sampling rate, and D denotes the delay time)
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technique may have the following effects. It is to be understood, however, that the scope of the disclosed technology is not to be construed as limited thereby, as it is not meant to imply that a particular embodiment should include all of the following effects or only the following effects.
본 발명의 일 실시예에 따른 사운드 트레이싱 장치 및 방법은 사운드 경로 지연버퍼의 크기를 개선할 수 있다.The sound tracing apparatus and method according to an embodiment of the present invention can improve the size of the sound path delay buffer.
본 발명의 일 실시예에 따른 사운드 트레이싱 장치 및 방법은 소리의 지연효과를 보다 효율적으로 재현시킬 수 있다.The sound tracing apparatus and method according to an embodiment of the present invention can more effectively reproduce the delay effect of sound.
도 1은 본 발명의 일 실시예에 따른 사운드 트레이싱 장치를 설명하는 블록도이다.
도 2는 도 1에 있는 사운드 경로 지연버퍼를 설명하는 도면이다.
도 3은 도 1에 있는 사운드 트레이싱 장치에서 사운드 경로를 처리하는 일 실시예를 설명하는 순서도이다.
도 4는 도 1에 있는 사운드 트레이싱 장치에서 사운드 경로를 처리하는 일 실시예를 설명하는 순서도이다.1 is a block diagram illustrating a sound tracing apparatus according to an embodiment of the present invention.
2 is a diagram illustrating the sound path delay buffer in FIG.
3 is a flow chart illustrating one embodiment of processing a sound path in the sound tracing apparatus of FIG.
4 is a flowchart illustrating one embodiment of processing a sound path in the sound tracing apparatus of FIG.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The description of the present invention is merely an example for structural or functional explanation, and the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, the embodiments are to be construed as being variously embodied and having various forms, so that the scope of the present invention should be understood to include equivalents capable of realizing technical ideas. Also, the purpose or effect of the present invention should not be construed as limiting the scope of the present invention, since it does not mean that a specific embodiment should include all or only such effect.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in the present application should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms "first "," second ", and the like are intended to distinguish one element from another, and the scope of the right should not be limited by these terms. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected to the other element, but there may be other elements in between. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that there are no other elements in between. On the other hand, other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It is to be understood that the singular " include " or "have" are to be construed as including the stated feature, number, step, operation, It is to be understood that the combination is intended to specify that it does not preclude the presence or addition of one or more other features, integers, steps, operations, components, parts, or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (e.g., a, b, c, etc.) is used for convenience of explanation, the identification code does not describe the order of each step, Unless otherwise stated, it may occur differently from the stated order. That is, each step may occur in the same order as described, may be performed substantially concurrently, or may be performed in reverse order.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer-readable code on a computer-readable recording medium, and the computer-readable recording medium includes any type of recording device that stores data that can be read by a computer system . Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used predefined terms should be interpreted to be consistent with the meanings in the context of the related art and can not be interpreted as having ideal or overly formal meaning unless explicitly defined in the present application.
도 1은 본 발명의 일 실시예에 따른 사운드 트레이싱 장치를 설명하는 블록도이다.1 is a block diagram illustrating a sound tracing apparatus according to an embodiment of the present invention.
도 1을 참조하면, 사운드 트레이싱 장치(100)는 메모리부(110), 사운드 처리부(120), 사운드 경로 처리부(130), 제어부(140) 및 사운드 출력부(150)를 포함할 수 있다.Referring to FIG. 1, the
메모리부(110)는 사운드 경로 지연버퍼(115)를 포함하고, 사운드 소스 PCM(Pulse Code Modulation) 메모리모듈(미도시됨), 성공 사운드 경로 메모리 모듈(미도시됨), 렌더링 정보 메모리 모듈(미도시됨) 및 결과 사운드 메모리 모듈(미도시됨)을 더 포함할 수 있다.The
사운드 경로 지연버퍼(115)는 향후 재생될 사운드 데이터를 미리 버퍼링한다. 이러한 내용은 도 2를 참조하여 설명하도록 한다.The sound
도 2는 사운드 경로 지연버퍼(115)를 설명하는 도면이다. 사운드 경로 지연버퍼(115)는 PCM 버퍼모듈(210), 지연 버퍼모듈(220) 및 축적 인덱스(230)를 포함할 수 있다.2 is a diagram for explaining a sound path delay
PCM 버퍼모듈(210)은 음원으로부터 필터링된 PCM 데이터를 버퍼링할 수 있는 버퍼에 해당한다. 일 실시예에서, PCM 버퍼모듈(210)은 주파수 대역 별로 구분되어 복수 개 배치될 수 있고, 각각은 주파수 대역마다 차이가 있는 소리의 특성을 독립적으로 처리하기 위한 목적으로 주파수 대역 별로 분리된 PCM 데이터 각각을 버퍼링할 수 있다. 예를 들어, 필요한 PCM 버퍼모듈(210)의 개수는 미리 구분된 주파수 대역의 개수에 처리 음원수를 곱한 만큼의 개수로 결정될 수 있고, 이에 따라 복수 개 배치될 수 있다. 여기에서, PCM 데이터는 가공되지 않은 음원에 해당하고, 음원은 외부의 메모리(미도시됨) 또는 메모리부(110)의 사운드 소스 PCM 메모리모듈로부터 필요한 특정 크기만큼 독출될 수 있다. 일 실시예에서, PCM 버퍼모듈(210)의 크기는 외부의 메모리 또는 메모리부(110)의 사운드 소스 PCM 메모리모듈로부터 독출된 PCM 데이터의 개수와 처리 음원수에 비례하여 결정될 수 있다(예를 들어, 128).The
지연 버퍼모듈(220)은 산출된 특정 위치에 향후 재생될 사운드 데이터를 누적할 수 있는 버퍼에 해당한다. 일 실시예에서, 지연 버퍼모듈(220)은 사운드 경로 처리부(130)에 의해 축적 인덱스(230)가 산출되면 축적 인덱스(230)가 가리키는 자신의 특정 위치에 경로 처리부(130)에 의해 생성된 경로 지연 사운드 데이터를 누적하는 방식으로 향후 재생될 사운드 데이터를 미리 버퍼링할 수 있다. 일 실시예에서, 지연 버퍼모듈(220)은 채널 별로 구분되어 채널 수만큼 복수 개 배치될 수 있다. 여기에서, 채널수는 출력 오디오 채널의 개수를 의미한다. 이에 따라, 필요한 지연 버퍼모듈(220)의 개수는 채널수에 비례하고, 구분된 주파수 대역의 개수와 처리 음원수에는 무관하게 되어 사운드 경로 지연버퍼(115)의 전체 크기를 현저하게 개선시킬 수 있다.The
일 실시예에서, 지연 버퍼모듈(220)의 크기는 샘플링 레이트, 최대지연시간 및 채널수에 비례하게 결정될 수 있다. 예를 들어, 지연 버퍼모듈(220) 각각은 샘플링 레이트가 48 kHz이고 최대지연시간이 0.5초라면 주파수 대역 별로 48,000 sample/sec * 0.5 sec * 2 = 48,000 sample의 사운드 데이터의 개수를 각각 저장 가능하도록 48,000 * sample의 비트폭(bitwidth)으로 크기가 결정될 수 있다. 예를 들어, sample의 비트폭이 32-bit라면, 48,000 * 32 = 1,536,000 bits가 될 수 있다. 여기에서, 샘플링 레이트는 1초에 처리해야 할 오디오샘플의 개수를 의미하고, 최대지연시간은 성공 사운드 경로가 청자에게 도달할 수 있는 최대의 지연시간으로 미리 설정된 최대 값을 가질 수 있다.In one embodiment, the size of the
축적 인덱스(230)는 지연 버퍼모듈(220)에 저장될 인덱스를 가리키는 포인터에 해당한다. 일 실시예에서, 축적 인덱스(230)는 사운드 경로 처리부(130)에 의해 특정 값으로 산출되면 해당 값과 연관된 지연 버퍼모듈(220)의 특정 위치를 가리킬 수 있다. 예를 들어, 축적 인덱스(230)는 사운드 경로 처리부(130)에 의해 133으로 산출되면 지연 버퍼모듈(220)에서 133번째 위치를 가리킬 수 있고, 이에 따라, 지연 버퍼모듈(220)은 향후 재생될 사운드 데이터에 관한 버퍼링을 133번째 위치에서부터 미리 시작할 수 있다.The
일 실시예에서, 사운드 경로 지연버퍼(115)의 전체 크기는 샘플링 레이트, 채널수, 최대지연시간 및 데이터 타입에 비례하여 결정될 수 있다. 예를 들어, 사운드 경로 지연버퍼(115)의 전체 크기는 만일 출력장치의 샘플링 레이트, 채널수, 최대지연시간, 처리주파수대역 영역의 개수, 처리음원수 및 데이터 타입이 각각 48kHz, 2 채널, 0.5초, 4개의 영역, 5개의 음원 및 32-bit 부동소수점이라면, 아래와 같은 연산에 따라, 377.5 kByte로 결정될 수 있다.In one embodiment, the overall size of the sound path delay
[사운드 경로 지연버퍼(115)의 전체 크기][Overall size of sound path delay buffer 115]
= (PCM 버퍼모듈(210) 전체 크기) + (지연 버퍼모듈(220) 전체 크기)= (Total size of PCM buffer module 210) + (total size of delay buffer module 220)
= (48,000 * 2 * 0.5 * 32 * 2) + (128 * 5 * 32) = 3,072,000 bits= (48,000 * 2 * 0.5 * 32 * 2) + (128 * 5 * 32) = 3,072,000 bits
= 377.5 kBytes= 377.5 kBytes
상기와 같이, 사운드 경로 지연버퍼(115)의 전체 크기는 샘플링 레이트, 채널수, 최대지연시간 및 데이터 타입에만 비례하여 증가할 수 있고, 이에 따라, 종래 기술 대비하여 전체 크기를 현저하게 감소시킬 수 있다. As described above, the overall size of the sound path delay
일 실시예에서, 지연 버퍼모듈(220)은 그 끝 위치가 그 시작 위치와 이어지는 순환형(circular) 구조를 가질 수 있다. 예를 들어, 지연 버퍼모듈(220)의 끝 위치인 47,999번째 위치에 있는 데이터는 시작 위치인 0번째 위치에 있는 데이터와 이어져 순차적으로 독출되거나 버퍼링될 수 있고, 이러한 순환형 구조에 따라 지연 버퍼모듈(220)의 그 끝 위치를 가리키는 축적 인덱스(230) 또한, 그 다음 위치를 가리킬 때 그 시작 위치를 가리키도록 산출될 수 있다.In one embodiment, the
사운드 소스 PCM 메모리모듈은 가공되지 않은 음원을 저장하는 메모리 공간에 해당한다. 성공 사운드 경로 메모리 모듈은 음원으로부터 유효하게 형성될 수 있는 성공 사운드 경로에 관한 정보를 저장하는 메모리 공간에 해당한다. 여기에서, 성공 사운드 경로는 사운드 소스 위치에서 출발한 사운드가 반사, 전파, 흡수 및 회절 등을 거쳐서 청자에 도착하는 유효한 경로를 의미한다. 렌더링 정보 메모리 모듈은 잔향음을 처리하기 위한 리버브 렌더(reverb render)에 관한 정보를 저장하는 메모리 공간에 해당한다. 결과 사운드 메모리 모듈은 최종 사운드를 저장하는 메모리 공간에 해당한다. 여기에서, 최종 사운드는 성공 사운드 경로를 기초로 계산되어 출력될 수 있고, 예를 들어, 사운드 경로 처리부(130)에 의해 소리의 물리적 특성 및 시간의 흐름에 따른 잔향효과가 적용된 사운드 데이터가 하나의 사운드 데이터로 합쳐져 생성될 수 있다.The sound source PCM memory module corresponds to a memory space for storing unprocessed sound sources. The success sound path memory module corresponds to a memory space that stores information about a successful sound path that can be effectively formed from a sound source. Here, a successful sound path means a valid path through which a sound originating at a sound source position reaches the listener through reflection, propagation, absorption, and diffraction. The rendering information memory module corresponds to a memory space that stores information on a reverb render for processing reverberation. The resulting sound memory module corresponds to a memory space for storing the final sound. Here, the final sound may be calculated and output based on the success sound path. For example, sound data processed by the sound
사운드 처리부(120)는 현재 재생할 사운드 데이터를 처리한다. 사운드 처리부(120)는 사운드 경로 지연버퍼(115)의 현재 처리해야 할 위치에 버퍼링되어 있는 현재 재생할 사운드 데이터를 처리할 수 있다. 일 실시예에서, 사운드 처리부(120)는 현재 재생할 사운드 데이터를 외부의 메모리 또는 메모리부(110)의 결과 사운드 메모리 모듈에 전달할 수 있고, 사운드 출력부(150)에 전달하여 사운드 출력부(150)를 통해 출력되도록 할 수 있다.The
일 실시예에서, 사운드 처리부(120)는 현재 재생할 위치에 버퍼링된 적어도 하나의 사운드 데이터와 필터링된 PCM 데이터를 믹싱하여 현재 재생할 사운드 데이터로 생성할 수 있다. 예를 들어, 사운드 처리부(120)는 필터링된 PCM 데이터와 관련하여 지연 버퍼모듈(220)에서 가장 최근에 처리 완료된 위치를 검출하고, 검출되지 않으면 시작위치를 현재 재생할 위치로, 검출되면 검출된 위치로부터 지연시간 없는 그 다음 위치를 현재 재생할 위치로 판단할 수 있다. 예를 들어, 사운드 처리부(120)는 지연 버퍼모듈(220)에서 현재 재생할 위치에 버퍼링된 적어도 하나의 사운드 데이터와 PCM 버퍼모듈(210)에 저장된 필터링된 PCM 데이터를 각각 하나의 사운드로 합치어 현재 재생할 사운드 데이터로 생성할 수 있다. In one embodiment, the
사운드 경로 처리부(130)는 음원으로부터 파생된 적어도 하나의 경로 지연 사운드에 관해 미리 결정된 지연시간을 기초로 사운드 경로 지연버퍼(115)의 특정 위치를 산출한다. 사운드 경로 처리부(130)는 메모리부(110)의 성공 사운드 경로 메모리 모듈로부터 성공 사운드 경로에 관한 정보를 수신할 수 있고, 수신한 성공 사운드 경로를 기초로 PCM 버퍼모듈(210)에 저장된 PCM 데이터 각각에 관해 성공 사운드 경로와 연관된 복수의 경로 지연 사운드들을 파생시킬 수 있으며, 복수의 경로 지연 사운드들 각각은 각각의 성공 사운드 경로와 연관된 지연시간을 포함할 수 있다.The sound
일 실시예에서, 미리 결정된 지연시간은 해당 음원과 연관하여 설정된 최대지연시간에 해당한다. 예를 들어, 사운드 경로 처리부(130)는 미리 결정된 지연시간이 0.5초이면 해당 0.5초를 기준으로 지연 버퍼모듈(220)의 특정 위치를 산출하고, 산출된 위치는 지연 버퍼모듈(220)에서 지연시간이 없는 위치(예를 들어, 현재 재생할 위치) 대비 시간의 흐름을 고려하여 특정 위치 구간만큼 뒤에 위치하여 향후 재생될 사운드 데이터를 미리 버퍼링할 수 있게 된다. 예를 들어, PCM 버퍼모듈(210)에 저장된 PCM 데이터에 관해 직진하는 제1 성공 사운드 경로가 0.1초의 지연시간과 연관되고, 회절하는 제2 성공 사운드 경로가 0.3초의 지연시간과 연관되며, 반사하는 제3 성공 사운드 경로가 0.15초의 지연시간과 연관될 때, 사운드 경로 처리부(130)는 미리 결정된 지연시간이 0.5초이면 0.5초를 기준으로 사운드 경로 지연버퍼(115)의 특정 위치를 산출하여 산출된 해당 위치에 제1, 제2 및 제3 성공 사운드 경로들 각각을 기초로 생성된 향후 재생될 사운드 데이터를 미리 버퍼링하도록 할 수 있다.In one embodiment, the predetermined delay time corresponds to the maximum delay time set in association with the sound source. For example, if the predetermined delay time is 0.5 second, the sound
다른 일 실시예에서, 미리 결정된 지연시간은 복수의 경로 지연 사운드들 각각이 가지는 지연시간에 해당한다. 예를 들어, PCM 버퍼모듈(210)에 저장된 PCM 데이터에 관해 직진하는 제1 성공 사운드 경로가 0.1초의 지연시간과 연관되고, 회절하는 제2 성공 사운드 경로가 0.3초의 지연시간과 연관되며, 반사하는 제3 성공 사운드 경로가 0.15초의 지연시간과 연관될 때, 사운드 경로 처리부(130)는 각각의 지연시간을 기준으로 사운드 경로 지연버퍼(115)의 특정 위치를 각각 산출하여 산출된 각각의 해당 위치에 제1, 제2 및 제3 성공 사운드 경로들 각각을 기초로 생성된 향후 재생될 사운드 데이터를 미리 버퍼링하도록 할 수 있다.In another embodiment, the predetermined delay time corresponds to the delay time of each of the plurality of path delay sounds. For example, a first success sound path that goes straight on for PCM data stored in the
사운드 경로 처리부(130)는 음원으로부터 파생된 적어도 하나의 경로 지연 사운드에 관한 경로 지연 사운드 데이터를 향후 재생될 사운드 데이터로 생성한다. 일 실시예에서, 사운드 경로 처리부(130)는 성공 사운드 경로를 기초로 PCM 버퍼모듈(210)에 저장된 PCM 데이터 각각에 관해 성공 사운드 경로와 연관된 복수의 경로 지연 사운드들을 파생시킬 수 있다. 일 실시예에서, 사운드 경로 처리부(130)는 음원으로부터 파생된 적어도 하나의 경로 지연 사운드에 관해 회절음, 반사음, 투과음, 직접음 및 잔향음 중에서 적어도 하나에 대한 처리를 수행하여 경로 지연 사운드 데이터를 향후 재생될 사운드 데이터로 생성할 수 있다. 사운드 경로 처리부(130)는 향후 재생될 사운드 데이터가 생성되면 사운드 경로 지연버퍼(115)가 산출된 특정 위치에 해당 향후 재생될 사운드 데이터를 미리 버퍼링하도록 할 수 있다.The sound
일 실시예에서, 사운드 경로 처리부(130)는 음원으로부터 파생된 적어도 하나의 경로 지연 사운드 중에서 각각의 지연시간이 미리 결정된 지연시간을 초과하는 경로 지연 사운드를 검출하여 적어도 하나의 경로 지연 사운드에서 제외시킬 수 있다. 예를 들어, 사운드 경로 처리부(130)는 미리 결정된 지연시간이 0.5초이고, PCM 버퍼모듈(210)에 저장된 PCM 데이터에 관해 직진하는 제1 성공 사운드 경로가 0.1초의 지연시간과 연관되고, 회절하는 제2 성공 사운드 경로가 0.6초의 지연시간과 연관되며, 반사하는 제3 성공 사운드 경로가 0.15초의 지연시간과 연관될 때, 향후 재생될 사운드 데이터에 반영할 복수의 경로 지연 사운드들 중에서 미리 결정된 지연시간을 초과하는 0.6초의 지연시간과 연관된 제2 성공 사운드 경로를 기초로 생성된 경로 지연 사운드를 제외시킬 수 있다. 사용자는 제어부(140)를 통해 미리 결정된 지연시간에 관한 설정을 조정할 수 있다.In one embodiment, the sound
사운드 경로 처리부(130)는 하기의 수학식 1을 기초로 지연 버퍼모듈(220)의 특정 위치를 가리키는 축적 인덱스(I)를 산출하여 해당 축적 인덱스에 따라 향후 재생될 사운드 데이터가 미리 버퍼링되도록 할 수 있다. 여기에서, 축적 인덱스는 향후 재생될 사운드 데이터를 미리 버퍼링할 지연 버퍼모듈(220)의 시작 위치를 가리킬 수 있다.The sound
[수학식 1][Equation 1]
I = S - (R * D)I = S - (R * D)
(여기에서, I는 축적 인덱스를 나타내고, S는 현재까지 처리된 샘플수를 나타내고, R은 샘플링 레이트를 나타내며, D는 미리 결정된 지연시간을 나타냄)(Where I represents the accumulation index, S represents the number of samples processed to date, R represents the sampling rate, and D represents the predetermined delay time)
예를 들어, 사운드 경로 처리부(130)는 향후 재생될 사운드 데이터를 누적시키기 위해 채널 N의 처리 주파수 대역 M의 축적 인덱스를 상기의 수학식 1을 기초로 산출할 수 있고, 축적 인덱스가 132로 산출되면 지연 버퍼모듈(220)의 133번째 위치를 시작 위치로 하여 특정 크기(예를 들어, PCM 버퍼모듈(210)의 크기인 128bit) 구간에 향후 재생될 사운드 데이터를 누적시킬 수 있다. 일 실시예에서, 사운드 경로 처리부(130)는 만일 연산된 축적 인덱스가 0보다 작으면 샘플링 레이트를 더한 값을 적용할 수 있다.For example, the sound
사운드 경로 처리부(130)는 음원으로부터 파생된 적어도 하나의 경로 지연 사운드에 관해 주파수 대역 별로 모든 채널에 대해 축적 인덱스를 산출하고 향후 재생될 사운드 데이터를 생성할 수 있다. 예를 들어, 사운드 경로 처리부(130)는 주파수 대역 별로 필터링되어 PCM 버퍼모듈(210) 각각에 저장된 PCM 데이터에 관해 축적 인덱스를 산출하고, 해당 PCM 데이터로부터 파생된 복수의 경로 지연 사운드들에 관한 경로 지연 사운드 데이터들을 향후 재생될 사운드 데이터로 생성하여 산출된 축적 인덱스가 가리키는 지연 버퍼모듈(220)의 특정 위치에 미리 버퍼링하며, 이와 같은 축적 인덱스의 산출, 향후 재생될 사운드 데이터의 생성 및 버퍼링의 과정들을 주파수 대역 별로 모든 채널에 대해 반복하여 처리 완료되도록 할 수 있다.The sound
제어부(140)는 사운드 트레이싱 장치(100)의 전체적인 동작을 제어하고, 메모리부(110), 사운드 처리부(120), 사운드 경로 처리부(130) 및 사운드 출력부(150) 간의 제어 흐름 또는 데이터 흐름을 제어할 수 있다.The
사운드 출력부(150)는 사운드 경로 처리부(130)로부터 사운드를 수신하여 출력할 수 있다. 예를 들어, 사운드 출력부(150)는 사운드 경로 처리부(130)로부터 현재 재생할 사운드 데이터를 수신하거나, 제어부(140)에 의해 최종 사운드를 수신하여 출력할 수 있다. 사용자는 제어부(140)를 통해 사운드 출력부(150)를 제어할 수 있다. 일 실시예에서, 사운드 출력부(150)는 스피커로 구현될 수 있다.The
도 3은 도 1에 있는 사운드 트레이싱 장치에서 사운드 경로를 처리하는 일 실시예를 설명하는 순서도이다.3 is a flow chart illustrating one embodiment of processing a sound path in the sound tracing apparatus of FIG.
사운드 처리부(120)는 현재 재생할 사운드 데이터를 처리한다(단계S310).The
사운드 경로 처리부(130)는 음원으로부터 파생된 적어도 하나의 경로 지연 사운드에 관해 미리 결정된 지연시간을 기초로 사운드 경로 지연버퍼(115)의 특정 위치를 산출한다(단계S320).The sound
사운드 경로 처리부(130)는 음원으로부터 파생된 적어도 하나의 경로 지연 사운드에 관한 경로 지연 사운드 데이터를 향후 재생될 사운드 데이터로 생성한다(단계S330).The sound
사운드 경로 지연버퍼(115)는 향후 재생될 사운드 데이터를 미리 버퍼링한다(단계S340).The sound path delay
도 4는 도 1에 있는 사운드 트레이싱 장치에서 사운드 경로를 처리하는 일 실시예를 설명하는 순서도이다.4 is a flowchart illustrating one embodiment of processing a sound path in the sound tracing apparatus of FIG.
사운드 경로 지연버퍼(115)는 메모리부(110)로부터 필요한 크기 만큼의 PCM 데이터를 읽어올 수 있다(단계S410). 예를 들어, 사운드 경로 지연버퍼(115)는 메모리부(110)의 사운드 소스 PCM 메모리모듈에 저장된 PCM 데이터를 필요한 특정 크기만큼 독출할 수 있다.The sound path delay
사운드 경로 지연버퍼(115)는 독출한 PCM 데이터를 주파수 대역 별로 필터링하여 주파수 대역 별로 구분된 PCM 버퍼모듈(210) 각각에 버퍼링할 수 있다(단계S420).The sound path delay
사운드 경로 처리부(130)는 PCM 버퍼모듈(210)에 버퍼링된 PCM 데이터로부터 파생된 적어도 하나의 경로 지연 사운드에 관한 경로 지연 사운드 데이터를 향후 재생될 사운드 데이터로 생성한다(단계S430). 예를 들어, 사운드 경로 처리부(130)는 성공 사운드 경로에 관한 정보를 기초로, 상기 하나의 경로 지연 사운드에 관해 회절음, 반사음, 투과음, 직접음 및 잔향음에 대한 처리를 수행하여 소리의 물리적인 효과가 적용된 경로 지연 사운드 데이터를 향후 재생될 사운드 데이터로 생성할 수 있다.The sound
사운드 경로 처리부(130)는 채널 N의 처리 주파수 대역 M에 관한 축적 인덱스를 산출할 수 있다(단계S440). 예를 들어, 사운드 경로 처리부(130)는 상기의 수학식 1을 기초로 지연 버퍼모듈(220)의 특정 위치를 가리키는 축적 인덱스(I)를 산출하여 해당 축적 인덱스에 따라 향후 재생될 사운드 데이터가 미리 버퍼링되도록 할 수 있다.The sound
사운드 경로 지연버퍼(115)는 사운드 경로 처리부(130)에 의해 축적 인덱스가 산출되면 해당 축적 인덱스가 가리키는 지연 버퍼모듈(220)의 특정 위치에 생성된 향후 재생될 사운드 데이터를 누적하는 방식으로 미리 버퍼링할 수 있다(단계S450).When the accumulation index is calculated by the sound
상기의 단계S430 ~ S450은 반복하여 수행될 수 있다. 제어부(140)는 모든 주파수 대역 및 모든 채널에 대하여 축적 인덱스의 산출, 향후 재생될 사운드 데이터의 생성 및 버퍼링의 과정들이 처리 완료되도록 상기의 S430 ~ S450이 반복하여 수행될 수 있도록 사운드 트레이싱 장치(100)의 동작 전반을 제어할 수 있다.Steps S430 to S450 may be repeatedly performed. The
일 실시예에서, 사운드 트레이싱 장치(100)는 사운드 경로 지연버퍼(115)의 전체 크기에 관해 샘플링 레이트, 채널수, 최대지연시간 및 데이터 타입에만 비례하여 증가하도록 구조를 개선하여 종래 기술 대비 전체 크기를 감소시킬 수 있다.In one embodiment, the
일 실시예에서, 사운드 트레이싱 장치(100)는 사운드 경로 지연버퍼(115)의 크기를 개선하여 소리의 지연효과를 보다 효율적으로 재현시킬 수 있다In one embodiment, the
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit and scope of the present invention as defined by the following claims It can be understood that
100: 사운드 트레이싱 장치
110: 메모리부
115: 사운드 경로 지연버퍼
120: 사운드 처리부
130: 사운드 경로 처리부
140: 제어부
150: 사운드 출력부
210: PCM 버퍼모듈
220: 지연 버퍼모듈
230: 축적 인덱스(230)100: Sound tracing device
110: memory unit
115: Sound path delay buffer
120: sound processor
130: Sound path processor
140:
150: sound output section
210: PCM buffer module
220: delay buffer module
230:
Claims (13)
현재 재생할 사운드 데이터를 처리하는 사운드 처리부; 및
음원으로부터 파생된 적어도 하나의 경로 지연 사운드에 관해 미리 결정된 지연시간을 기초로 상기 사운드 경로 지연버퍼의 특정 위치를 산출하고, 상기 적어도 하나의 경로 지연 사운드에 관한 경로 지연 사운드 데이터를 상기 향후 재생될 사운드 데이터로 생성하는 사운드 경로 처리부를 포함하고,
상기 사운드 경로 지연버퍼는 상기 음원으로부터 주파수 대역 별로 필터링된 PCM(Pulse Code Modulation) 데이터를 상기 주파수 대역마다 독립적으로 버퍼링하는 PCM 버퍼모듈과 샘플링 레이트, 최대 지연시간 및 채널수에만 비례하게 크기가 결정되고 상기 산출된 특정 위치에 상기 향후 재생될 사운드 데이터를 누적하는 지연 버퍼모듈을 포함하는 사운드 트레이싱 장치.
A memory unit including a sound path delay buffer for pre-buffering sound data to be reproduced in the future;
A sound processing unit for processing sound data to be reproduced at present; And
Calculating a specific position of the sound path delay buffer based on a predetermined delay time with respect to at least one path delay sound derived from the sound source and outputting path delay sound data relating to the at least one path delay sound to the sound And a sound path processing unit for generating, as data,
The sound path delay buffer is sized in proportion to a sampling rate, a maximum delay time and a channel number, and a PCM buffer module for independently buffering PCM (Pulse Code Modulation) data filtered by frequency bands for each frequency band from the sound source And a delay buffer module for accumulating the sound data to be reproduced at the calculated specific position.
그 끝 위치가 그 시작 위치와 이어지는 순환형(circular) 구조를 가지는 것을 특징으로 하는 사운드 트레이싱 장치.
The apparatus of claim 1, wherein the delay buffer module
And the end position thereof is connected to the start position thereof, and has a circular structure.
현재 재생할 위치에 버퍼링된 적어도 하나의 사운드 데이터와 상기 PCM 데이터를 믹싱하여 상기 현재 재생할 사운드 데이터로 생성하는 것을 특징으로 하는 사운드 트레이싱 장치.
The sound processing apparatus according to claim 1, wherein the sound processing section
Wherein the mixing unit mixes the at least one sound data buffered at the current playback position with the PCM data to generate the sound data to be played back.
상기 음원으로부터 파생된 적어도 하나의 경로 지연 사운드 중에서 각각의 지연시간이 상기 미리 결정된 지연시간을 초과하는 경로 지연 사운드를 검출하여 상기 적어도 하나의 경로 지연 사운드에서 제외시키는 것을 특징으로 하는 사운드 트레이싱 장치.
The sound processing apparatus according to claim 1, wherein the sound path processing unit
Detecting a path delay sound in which at least one of the at least one path delay sounds derived from the sound source exceeds the predetermined delay time, and excludes the at least one path delay sound from the at least one path delay sound.
하기의 수학식 1을 기초로 상기 지연 버퍼모듈의 특정 위치를 가리키는 축적 인덱스(I)를 산출하여 상기 축적 인덱스에 따라 상기 향후 재생될 사운드 데이터가 미리 버퍼링되도록 하는 것을 특징으로 하는 사운드 트레이싱 장치.
[수학식 1]
I = S - (R * D)
(여기에서, 상기 I는 상기 축적 인덱스를 나타내고, 상기 S는 현재까지 처리된 샘플수를 나타내고, 상기 R은 샘플링 레이트를 나타내며, D는 상기 지연시간을 나타냄)
The sound processing apparatus according to claim 1, wherein the sound path processing unit
(I) indicating a specific position of the delay buffer module is calculated based on Equation (1), and the sound data to be reproduced in the future is buffered according to the accumulation index.
[Equation 1]
I = S - (R * D)
(Where I denotes the accumulation index, S denotes the number of samples processed so far, R denotes a sampling rate, and D denotes the delay time)
상기 음원으로부터 파생된 적어도 하나의 경로 지연 사운드에 관해 주파수 대역 별로 모든 채널에 대해 상기 축적 인덱스를 산출하고 상기 향후 재생될 사운드 데이터를 생성하는 것을 특징으로 하는 사운드 트레이싱 장치.
8. The apparatus of claim 7, wherein the sound path processing unit
Wherein the accumulation index is calculated for all channels for each of the frequency bands with respect to at least one path delay sound derived from the sound source, and the sound data to be reproduced is generated.
상기 파생된 적어도 하나의 경로 지연 사운드에 관해 회절음, 반사음, 투과음, 직접음 및 잔향음 중에서 적어도 하나에 대한 처리를 수행하여 상기 경로 지연 사운드 데이터를 향후 재생될 사운드 데이터로 생성하는 것을 특징으로 하는 사운드 트레이싱 장치.
The sound processing apparatus according to claim 1, wherein the sound path processing unit
And processing the at least one of the diffused sound, the reflected sound, the transmitted sound, the direct sound, and the reverberation with respect to the derived at least one path delayed sound to generate the path delayed sound data as sound data to be reproduced in the future Sound tracing device.
음원으로부터 파생된 적어도 하나의 경로 지연 사운드에 관해 미리 결정된 지연시간을 기초로 상기 사운드 경로 지연버퍼의 특정 위치를 산출하고, 상기 적어도 하나의 경로 지연 사운드에 관한 경로 지연 사운드 데이터를 상기 향후 재생될 사운드 데이터로 생성하는 사운드 경로 처리부를 포함하고,
상기 사운드 경로 지연버퍼는 상기 음원으로부터 주파수 대역 별로 필터링된 PCM(Pulse Code Modulation) 데이터를 상기 주파수 대역마다 독립적으로 버퍼링하는 PCM 버퍼모듈과 샘플링 레이트, 최대 지연시간 및 채널수에만 비례하게 크기가 결정되고 상기 산출된 특정 위치에 상기 향후 재생될 사운드 데이터를 누적하는 지연 버퍼모듈을 포함하는 사운드 트레이싱 장치.
A memory unit including a sound path delay buffer for pre-buffering sound data to be reproduced in the future; And
Calculating a specific position of the sound path delay buffer based on a predetermined delay time with respect to at least one path delay sound derived from the sound source and outputting path delay sound data relating to the at least one path delay sound to the sound And a sound path processing unit for generating, as data,
The sound path delay buffer is sized in proportion to a sampling rate, a maximum delay time and a channel number, and a PCM buffer module for independently buffering PCM (Pulse Code Modulation) data filtered by frequency bands for each frequency band from the sound source And a delay buffer module for accumulating the sound data to be reproduced at the calculated specific position.
현재 재생할 사운드 데이터를 처리하는 사운드 처리 단계;
음원으로부터 파생된 적어도 하나의 경로 지연 사운드에 관해 미리 결정된 지연시간을 기초로 상기사운드 경로 지연버퍼의 특정 위치를 산출하는 지연버퍼 위치 산출 단계;
상기 적어도 하나의 경로 지연 사운드에 관한 경로 지연 사운드 데이터를 향후 재생될 사운드 데이터로 생성하는 사운드 경로 처리 단계; 및
상기 향후 재생될 사운드 데이터를 미리 버퍼링하는 사운드 경로 지연버퍼링 단계를 포함하고,
상기 사운드 경로 지연버퍼링 단계는 PCM 버퍼모듈을 통해 상기 음원으로부터 주파수 대역 별로 필터링된 PCM(Pulse Code Modulation) 데이터를 상기 주파수 대역마다 독립적으로 버퍼링하는 단계과 샘플링 레이트, 최대 지연시간 및 채널수에만 비례하게 크기가 결정되는 지연 버퍼모듈을 통해 상기 산출된 특정 위치에 상기 향후 재생될 사운드 데이터를 누적하는 사운드 트레이싱 방법.
A sound tracing method performed by a sound tracing device comprising a sound path delay buffer,
A sound processing step of processing sound data to be reproduced at present;
A delay buffer position calculating step of calculating a specific position of the sound path delay buffer based on a predetermined delay time with respect to at least one path delay sound derived from the sound source;
A sound path processing step of generating path delay sound data relating to the at least one path delay sound as sound data to be reproduced in the future; And
And a sound path delay buffering step of pre-buffering the sound data to be reproduced in the future,
Wherein the sound path delay buffering step comprises buffering PCM (Pulse Code Modulation) data filtered by frequency band from the sound source through the PCM buffer module independently for each of the frequency bands, and adjusting the sampling rate, the maximum delay time, Wherein the sound data to be reproduced is accumulated in the calculated specific position through a delay buffer module in which the sound data to be reproduced is determined.
하기의 수학식 1을 기초로 상기 지연 버퍼모듈의 특정 위치를 가리키는 축적 인덱스(I)를 산출하여 상기 축적 인덱스에 따라 상기 향후 재생될 사운드 데이터가 미리 버퍼링되도록 하는 단계를 포함하는 것을 특징으로 하는 사운드 트레이싱 방법.
[수학식 1]
I = S - (R * D)
(여기에서, 상기 I는 상기 축적 인덱스를 나타내고, 상기 S는 현재까지 처리된 샘플수를 나타내고, 상기 R은 샘플링 레이트를 나타내며, D는 상기 지연시간을 나타냄)
12. The method of claim 11, wherein the delay buffer position calculation step
Calculating an accumulation index (I) indicating a specific position of the delay buffer module based on Equation (1), and buffering the sound data to be reproduced in accordance with the accumulation index in advance Tracing method.
[Equation 1]
I = S - (R * D)
(Where I denotes the accumulation index, S denotes the number of samples processed so far, R denotes a sampling rate, and D denotes the delay time)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160181360A KR101828908B1 (en) | 2016-12-28 | 2016-12-28 | Sound tracing apparatus and method of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160181360A KR101828908B1 (en) | 2016-12-28 | 2016-12-28 | Sound tracing apparatus and method of the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101828908B1 true KR101828908B1 (en) | 2018-02-13 |
Family
ID=61231605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160181360A KR101828908B1 (en) | 2016-12-28 | 2016-12-28 | Sound tracing apparatus and method of the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101828908B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220125955A (en) | 2021-03-08 | 2022-09-15 | 세종대학교산학협력단 | Sound tracing method to improve sound propagation performance |
KR20220125964A (en) | 2021-03-08 | 2022-09-15 | 세종대학교산학협력단 | Sound tracing device to improve sound propagation performance |
KR20230094002A (en) | 2021-12-20 | 2023-06-27 | 주식회사 세종피아 | Edge detection method and apparatus for diffraction of sound tracing |
-
2016
- 2016-12-28 KR KR1020160181360A patent/KR101828908B1/en active IP Right Grant
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220125955A (en) | 2021-03-08 | 2022-09-15 | 세종대학교산학협력단 | Sound tracing method to improve sound propagation performance |
KR20220125964A (en) | 2021-03-08 | 2022-09-15 | 세종대학교산학협력단 | Sound tracing device to improve sound propagation performance |
KR20230094002A (en) | 2021-12-20 | 2023-06-27 | 주식회사 세종피아 | Edge detection method and apparatus for diffraction of sound tracing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101336237B1 (en) | Method and apparatus for reproducing multi-channel audio signal in multi-channel speaker system | |
KR101044948B1 (en) | Method and apparatus for generating stereo signal | |
JP5149968B2 (en) | Apparatus and method for generating a multi-channel signal including speech signal processing | |
KR101782917B1 (en) | Audio signal processing method and apparatus | |
JP4826625B2 (en) | Volume correction device, volume correction method, volume correction program, and electronic device | |
US8082157B2 (en) | Apparatus for encoding and decoding audio signal and method thereof | |
KR101828908B1 (en) | Sound tracing apparatus and method of the same | |
CN105580070A (en) | Apparatus and method for decoding and encoding an audio signal using adaptive spectral tile selection | |
US20230100071A1 (en) | Rendering reverberation | |
EP1781069B1 (en) | Method for measuring frequency characteristic and rising edge of impulse response, and sound field correcting apparatus | |
CN105812991A (en) | Audio signal processing apparatus | |
KR20060043240A (en) | Sound reproducing apparatus and method thereof, and recording medium | |
KR20140140101A (en) | Method for determining an encoding parameter for a multi-channel audio signal and multi-channel audio encoder | |
JP2007336184A (en) | Sound image control device and sound image control method | |
US9913036B2 (en) | Apparatus and method and computer program for generating a stereo output signal for providing additional output channels | |
KR101790137B1 (en) | Computer-executable sound tracing method, apparatus performing the same and storage media storing the same | |
JPWO2009093416A1 (en) | Audio signal processing apparatus and method | |
JP2010118978A (en) | Controller of localization of sound, and method of controlling localization of sound | |
US20230328472A1 (en) | Method of rendering object-based audio and electronic device for performing the same | |
JP2010118977A (en) | Sound image localization control apparatus and sound image localization control method | |
Vancheri et al. | Dynamic Adaptation in Geometrical Acoustic CTC | |
US20230104933A1 (en) | Spatial Audio Capture | |
KR100769990B1 (en) | Apparatus and Method for Controlling Spatial Impulse Response for Spaciousness and Auditory Distance Control of Stereophonic Sound | |
CN117242796A (en) | Rendering reverberation | |
WO2016148298A1 (en) | Signal processing device and signal processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |