Error correction of head-related filter
An iterative modeling-based error correction method addresses measurement errors in HR filter datasets, enhancing the accuracy and consistency of HR filters to improve spatial perception and immersion in virtual reality applications.
Patent Information
- Application Number
- JP2025066045
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-04-14
- Publication Date
- 2025-08-05
AI Technical Summary
Current HR filter datasets used in binaural audio rendering suffer from measurement errors and noise, leading to spatial discontinuities and reduced immersion in virtual reality applications, due to mismatch errors, non-HR reflections, and challenges in identifying and extracting the active regions of HR filters.
An iterative modeling-based error correction method is applied to HR filter datasets, involving modeling, error detection, classification, and correction, to smooth out additive noise and sporadic errors, and refine the HR filter sets by enforcing smooth transitions between spatially nearby filters.
The method improves the accuracy and consistency of HR filters, reducing spatial discontinuities and enhancing the sense of immersion in virtual reality by correcting errors and refining the filter sets, thus improving the spatial perception of binaural audio.
Smart Images

Figure 2025114582000001_ABST
Abstract
Description
[Technical Field]
[0001] Embodiments relating to error correction of head-related (HR) filters are disclosed. [Background technology]
[0002] Figure 1 shows a sound wave propagating toward a listener from a direction of arrival (DOA) specified by an elevation and azimuth angle pair in a spherical coordinate system. Before reaching the listener's left and right eardrums, the sound wave interacts with the listener's upper torso, head, outer ear, and surrounding materials. This interaction produces temporal and spectral changes in the waveforms reaching the left and right eardrums, some of which are DOA dependent.
[0003] The human auditory system has learned to interpret these variations to infer various spatial characteristics of the sound waves themselves as well as the acoustic environment the listener is in. This ability is called spatial hearing, which relates to how humans evaluate spatial cues embedded in binaural signals, i.e., sound signals in the right and left ear canals, to infer the location of an auditory event triggered by the sound event (physical sound source) and the acoustic characteristics caused by the physical environment the human is in (e.g., a small room, a tiled bathroom, an auditorium, a windowless cave). This human ability of spatial hearing can be exploited to create virtual spatial audio scenes by reintroducing spatial cues into the binaural signals that will lead to a specific spatial perception of sound.
[0004] The primary spatial cues include 1) angular cues: binaural cues, i.e., interaural level difference (ILD) and interaural time difference (ITD), as well as monaural (or spectral) cues, and 2) distance cues: intensity and direct-to-reverberant (D / R) energy ratio. The mathematical representations of short-term, DOA-dependent temporal and spectral changes in waveforms (e.g., 1-5 ms) are so-called head-related (HR) filters. The frequency-domain (FD) representations of these filters are so-called head-related transfer functions (HRTFs), and the time-domain (TD) representations of the filters are head-related impulse responses (HRIRs).
[0005] Figure 2 shows an example of ITD and spectral cues of a sound wave propagating toward a listener. The two plots show the magnitude response of a pair of HR filters acquired at an elevation angle of 0 degrees and an azimuth angle of 40 degrees (the data is from the CIPIC database: subject ID 28. The database is publicly available and can be accessed from the link https: / / www.ece.ucdavis.edu / cipic / spatial-sound / hrtf-data / ). HR filter-based binaural rendering techniques are gradually being established, in which a spatial audio scene is generated by directly filtering an audio source signal with a pair of HR filters at desired locations. This technique is particularly attractive for many emerging applications, such as extended reality, including virtual reality (VR), augmented reality (AR), and mixed reality (MR), and for mobile communication systems where headsets are typically used.
[0006] An HR filter dataset, sometimes called an HR filter database, is a collection of left and right HR filters sampled at specific spherical angles or directions (elevation and azimuth) around the listener and other related metadata, often obtained by acoustic measurements. Three steps are involved in obtaining the HR filters in an HR filter dataset: binaural recording, reference recording, and post-processing.
[0007] Step 1: Binaural recording
[0008] Binaural recordings aimed at obtaining HR filters are usually performed in an anechoic chamber. The recording setup consists of a loudspeaker system, an in-ear binaural microphone system, mechanical systems for loudspeaker and listener positioning, and several auxiliary devices and software.
[0009] Figure 3 shows a simplified setup for HR-filter binaural recording. The listening subject (e.g., an artificial head, a mannequin, or a human subject) is located at the center of the mechanical system, with the center of the subject's head at the measurement origin (0,0,0). An excitation signal is generated and played through a sound emitter, e.g., a loudspeaker, positioned at a location on a sphere of constant radius. The location can be denoted by (θ,φ,r), where θ corresponds to the elevation angle, φ corresponds to the azimuth angle, and r corresponds to the radius, which is the distance from the center of the listener's head to the sound emitter. The signals reaching the two ears are recorded by in-ear microphones. This measurement is repeated while varying the spatial location of the excitation signal relative to the listener, which is performed by varying the position of the listener, the sound emitter, or both in different dimensions. Figure 4 shows an example of a sampling grid on a sphere, where the dots indicate the locations where recordings were made.
[0010] Step 2: Reference recording
[0011] The raw binaural recording contains not only the HR impulse response but also the impulse response of the entire recording system, including the loudspeaker, binaural microphone, AD / DA converter, and amplifier. Reference recordings are then made separately for each in-ear microphone. The recording protocol is similar to binaural recording by removing the subject and placing the microphone at position (0,0,0).
[0012] Step 3: Post-processing
[0013] Post-processing: Free Field Equalization
[0014] A common procedure for removing recording system effects from raw binaural recordings is free-field equalization. l / r Let (t;θ,Φ,r) denote the signals recorded at the left / right in-ear microphones when the excitation signal is emitted in the direction (θ,Φ,r). Note that the radius r is omitted in the remainder of this disclosure for simplicity, since r is usually constant in HR filter measurements. Let s(t) denote the excitation signal. Then, y l / r (t;θ,Φ) is the excitation signal to be convolved with the unknown impulse response, i.e., y l / r (t;θ,Φ)=s(t)*h l / r (t;θ,Φ)*g l / r (t) is explained as h l / r (t;θ,Φ) denotes the left / right ear HR impulse response, and g l / r (t) denotes the impulse response of a recording system using left / right in-ear microphones. l / r (t) to x l / r (t)=s(t)*g l / r Let (t) be the reference recording.
[0015] A Fourier transform (FT) was performed on each recording, and Y l / r (f;θ,Φ) and X l / r(f), where f is the frequency. The spectral response of the reference recording may be regularized to a certain level, e.g. Using spectral decomposition with TIFF2025114582000002.tif12170, the spectral response of each binaural recording is subtracted, where λ is a regularization parameter to avoid computational noise, which may be frequency dependent. The resulting transfer function H l / r (f;θ,Φ) is then transformed into the time domain, which is usually truncated to a length that covers the acoustic effects of the ear, head, and torso.
[0016] Post-processing: Diffuse Field Equalization
[0017] Diffuse-field equalization attempts to remove all commonalities within a set of recordings. This involves normalizing measurements with respect to an average across all directions, with some level of frequency-dependent or frequency-independent regularization. Such an average can be the average of the magnitude response across all incident directions, or the average of the magnitude-squared response across all directions (power mean). One goal of diffuse-field equalization is to provide consistency in sound quality across HR filters in an HR filter dataset. Another goal is to compensate for any common response of windowing or any other unwanted effects from post-processing common to all directions.
[0018] Post-processing: Low frequency compensation
[0019] Due to the limited bandwidth of loudspeakers and the low-frequency limitations of anechoic chambers, frequencies below approximately 200 Hz cannot be reliably measured. However, theoretically, given that the size of the human head is much smaller than the wavelength, the low-frequency response (<200 Hz) should be close to unity, or the low-frequency gain should be approximately 0 dB. Therefore, to obtain a proper low-frequency response, low-frequency compensation or correction is often applied. A low-frequency model can be employed to extend the flat frequency response and linear phase response, for example, below 400 Hz. For example, some numerically simulated data can be extrapolated to the low-frequency content of the measured data. Obviously, the purpose of low-frequency compensation is to ensure natural bass in binauralized audio.
[0020] The estimated HR filters are often provided as finite impulse response (FIR) filters. Currently, HR filters are typically used directly in their original form by binaural audio renderers, or pairs of HR filters can be converted into interaural transfer functions (ITFs) or modified ITFs to prevent sharp spectral peaks. Alternatively, HR filters can be described by parametric expressions. Such parameterized HR filters easily integrate with parametric multichannel audio coders, such as Moving Picture Experts Group (MPEG) Surround and Spatial Audio Object Coding (SAOC).
[0021] The performance of a binaural audio renderer is subjectively evaluated through listening tests, where the judgment is usually an overall assessment of perceived spatial quality as well as perceived sound quality. "Authentic" reproduction occurs when the binauralized audio in a listener's two ear canals corresponds closely to what the same listener would experience at the locations where the sound is picked up by the listener's ears. To achieve such "authentic" reproduction, "authentic" HR filters are required. Summary of the Invention
[0022] Considerable effort has been put into setting up HR filter datasets using mannequins or head and torso simulators, such as KEMAR (Knowles Electronics Mannequin for Acoustics Research), or measurements on human subjects. Currently, there are several publicly available datasets, and it is common for a set of HR filters selected from a publicly available HR filter dataset to be used directly in binaural audio renderers. However, variability is an inherent part of the HR filter measurement process, and noise or measurement errors are inevitable. Such measurement errors have a strong negative impact on the spatial perception of binauralized audio when used directly in binaural audio rendering. Examples of such errors are mismatch errors and errors caused by non-HR reflections.
[0023] Mismatch error
[0024] For HR filter measurements, especially for human subjects, a specialized chair is used. The specialized chair is typically designed with a headrest and backrest structure that provides a reference position for the subject's head relative to the speaker, with the goal of minimizing head movement during measurements. However, slight tilts of the subject's head or the chair's vertical rotation axis often occur, causing a positional misalignment between the speaker and the head. Such misalignment results in a discontinuity in the signal's time of arrival (TOA) at the eardrum, or in other words, a frequency-independent time delay of the HR filter, called the onset delay. A discontinuity in the onset delay implies a discontinuity in the ITD. For example, the ITD of an HR filter at an azimuth angle of 0 degrees is considered to be 0. However, when a misalignment occurs, the ITD deviates from 0. In an audio scene where a source moves vertically in front of the listener, even a deviation as small as ±1 sample can cause perceived instability (left / right wobble) for a renderer using an HR filter with this misalignment error. Moreover, discontinuities in the phase of adjacent frames caused by discontinuities in the onset delay may also be perceived.
[0025] Rendering spatial audio sources, which leads to a convincing spatial perception of sounds at arbitrary locations in space, requires pairs of HR filters at corresponding locations, and therefore a set of HR filters at finely sampled locations on a sphere. The spatial resolution of the HR filter set used in the renderer determines the spatial resolution of the rendered sound source. When using a coarsely sampled HR filter set on a 2D sphere, users of virtual reality (VR), augmented reality (AR), mixed reality (MR), and / or extended reality (XR) typically report spatial discontinuities in moving sounds. Such spatial discontinuities lead to audio-video synchronization errors that significantly reduce the sense of immersion.
[0026] Obtaining HR filter sets on a denser grid on a sphere could solve the problem. However, estimating HR filter sets from input-output measurements on a fine grid that meets the minimum audible angle (MAA) requirement can be extremely time-consuming and tedious for both the subject and the experimenter. To improve the rendering without increasing the measurement resolution, angular interpolation techniques can be utilized.
[0027] The nearest neighbor method is one of the approaches that binaural audio renderers typically take for HR filter angle interpolation. This method assumes that the HR filter at each sampled location affects an area only up to a finite distance. In such a method, the HR filter at an unsampled location is approximated as a weighted average of the HR filters at sampled locations within a cutoff distance from the unsampled location or from a given number of nearest points on a rectilinear two-dimensional (2D) grid. This method is efficient for inferring spatial relationship information about missing HR filters, assuming a sparsely sampled HR filter dataset. However, this method is sensitive to discontinuities in onset delay and can lead to broadly-sensed object locations.
[0028] non-HR reflex
[0029] Non-HR reflections are another source of error in HR filter measurements. As explained above, HR filter measurements are generally performed in an anechoic chamber. Moreover, the mechanical setup is always carefully designed to have minimal effect on the incident acoustic waves—for example, the sides of the loudspeaker are wrapped with acoustic absorbers, the support structure of a chair is covered with acoustic absorbers, etc.—but non-HR reflections can still occur and be captured in the recording. Such non-HR impulse responses can appear in the resulting HR filter, reducing authenticity, for example, nullifying ILD cues in some frequency bands, and creating perceptible "auxiliary" sources somewhere other than the desired location.
[0030] As explained above, the original HR filter sets available for use in binaural rendering are generally FIR filters. These FIR filters are usually a few milliseconds long, where the time span of each filter can be divided into three continuous-time regions: a pre-active region, an active region, and a post-active region. In the pre-active and post-active regions, the filter taps are zero or very close to zero due to estimated noise and contribute little to binauralization. The active region contains the filter taps that represent the actual binauralization. These filter taps are strong at the beginning of the active region but taper off, decreasing to values close to zero at the end of the region.
[0031] The filters used in binaural audio rendering can be the original filters or can be extracted from the original filters over different subregions of the filter's total time span. Ideally, it would be beneficial to extract only the active regions of the filters and estimate the ITD between the active regions of the left and right filters, as this would save memory and make the implementation of the filtering operations more efficient. The filter set extracted over the active regions is called the zero-time-delay HR filter set and includes the ITD between the left and right HR filters in its data representation.
[0032] Currently, several challenges exist: for example, it is non-trivial to obtain a good estimate of what constitutes the active region of each filter, especially when the filters contain pre-ringing effects that arise from the filter estimation.
[0033] If there are errors from either the HR filter measurement process or the subregion extraction process, it is necessary to detect and correct both types of errors in the HR filter before using the filter in binaural audio rendering in order to guarantee the performance of the binaural audio renderer.
[0034] Thus, in one aspect, the final corrected head relation (HR) filter data set H fc A method is provided for generating a first corrected HR filter data set H', the method comprising: I obtaining a first corrected HR filter data set H' I Obtaining the initial HR filter dataset H I and the initial HR filter data set H I Extracted HR filter dataset H X and obtaining a first corrected HR filter data set H'. I Obtaining the extracted HR filter dataset H XModel M X To get the Model M X The modeled HR filter dataset H M and generating a first corrected HR filter data set H'. I Obtaining the modeled HR filter dataset H M and the extracted HR filter dataset H X Based on the initial HR filter data set H I selecting one or more HR filters included therein for correction; and correcting the selected one or more HR filters to generate a first corrected HR filter data set H'. I and generating a final corrected HR filter data set H fc is the first corrected HR filter data set H' I or the method comprises: I The final corrected HR filter set H is obtained using fc and further comprising generating
[0035] In another aspect, there is provided a computer program comprising instructions which, when executed by a processing circuit, cause the processing circuit to perform the method described above.
[0036] In another aspect, the final corrected head relation (HR) filter data set H fc An apparatus is provided for generating a first corrected HR filter data set H'. I The first corrected HR filter data set H' is obtained. I Obtaining the initial HR filter dataset H I and the initial HR filter data set H I Extracted HR filter dataset H X and obtaining a first corrected HR filter data set H'. IObtaining the extracted HR filter dataset H X Model M X To get the Model M X The modeled HR filter dataset H M and generating a first corrected HR filter data set H'. I Obtaining the modeled HR filter dataset H M and the extracted HR filter dataset H X Based on the initial HR filter data set H I selecting one or more HR filters included therein for correction; and correcting the selected one or more HR filters to generate a first corrected HR filter data set H'. I and generating a final corrected HR filter data set H fc is the first corrected HR filter data set H' I or the apparatus is configured to generate a first corrected HR filter data set H' I The final corrected HR filter set H is obtained using fc and further configured to generate
[0037] In another aspect, an apparatus is provided, the apparatus comprising: a memory; and a processing circuit coupled to the memory, the apparatus configured to perform the method described above.
[0038] Embodiments of the present disclosure provide at least the following advantages:
[0039] (1) In the HR filter set, additive stochastic noise and sporadic errors such as sporadic reflections that are not related to the HR filtering process are smoothed out.
[0040] (2) Improving the HR filter set through an iterative process of modeling followed by a process of error detection-classification-correction.
[0041] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various embodiments. [Brief explanation of the drawings]
[0042] [Figure 1] FIG. 1 illustrates sound waves propagating toward a listener from a direction of arrival (DOA) specified by an elevation and azimuth angle pair in a spherical coordinate system. [Figure 2] FIG. 1 illustrates an example of ITDs and spectral cues of a sound wave propagating towards a listener. [Figure 3] Figure 1 shows a simplified setup for HR-filtered binaural recordings. [Figure 4] FIG. 1 illustrates an example of a sampling grid on a 2D sphere. [Figure 5] FIG. 1 illustrates a process, according to one embodiment. [Figure 6] FIG. 1 illustrates a process, according to one embodiment. [Figure 7A] FIG. 1 illustrates a system, according to some embodiments. [Figure 7B] FIG. 1 illustrates a system, according to some embodiments. [Figure 8] FIG. 1 illustrates a process, according to one embodiment. [Figure 9] FIG. 1 illustrates an apparatus, according to one embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0043] Each left and right HR filter in an HR filter set sampled over a set of spherical angles is considered to be the sum of a true HR filter and a measured / extracted error filter. This applies whether the HR filter set uses a measured FIR HR filter set directly or uses filters from an HR filter set sampled over a different subregion of the time span of filters with ITD values between the left and right filters.
[0044] To detect and correct errors in the acquired HR filter set, a model of the HR filter set on a unit sphere is evaluated that enforces a relatively smooth transition between spatially nearby HR filters. By minimizing the modeling error for the filter set, the model can filter out or remove some types of measurement / extraction errors in the filters. Examples of types of errors that can be filtered out or removed include (1) errors in the form of sporadic reflections in the HR filters that are not part of the HR filtering process, and (2) errors that are additive stochastic noise, especially significant at higher frequencies.
[0045] Once the model is obtained, individual HR filters with relatively large modeling errors are identified and the error type is classified. Errors belonging to several error classes can be corrected. If the errors are correctable, they are corrected for those specific HR filters, and the set of HR filters is updated with the corrected filters. Repeating this modeling and error detection-classification-correction procedure several times can produce a much improved set of HR filters. As mentioned above, one particularly important class of correctable errors is the onset delay error class. The onset delay error class arises from the measurement process and / or extraction process when filters are extracted from subregions of the filter's time span.
[0046] Embodiments of the present disclosure are applicable to all types of HR filter sets (or filters), including the original HR filter set and HR filters extracted from different subregions of the filter's time span.
[0047] Data variables and their notation
[0048] General data structures are shown as lists of data sequences and other data structures. In an embodiment of the present disclosure, a basic HR filter dataset H is a dataset containing HR filters sampled at M elevation and azimuth angles {(θ[m], Φ[m]): m=1,...,M}, where θ and Φ are the elevation and azimuth angles, respectively, and m denotes an index.
[0049] A data set H is a data list H={θ,Φ,H l ,H r}
[0050] θ={θ[m]:m=1,...,M} denotes the sequence of elevation angles.
[0051] φ={φ[m]:m=1,...,M} denotes the sequence of azimuth angles.
[0052] H l ={h l [m]:m=1,...,M} denotes the set of left HR filters, where h l [m]=[h l [1;m],...,h l [N l ;m]] is the length N l is an FIR filter.
[0053] H r ={h r [m]:m=1,...,M} denotes the set of right HR filters, where h r [m]=[h r [1;m],...,h r [N r ;m]] is the length N r is an FIR filter.
[0054] The length of the left HR filter and the length of the right HR filter can be different or the same (i.e., N l =N r ) can be.
[0055] In some embodiments, H may further include a data sequence of onset delays that indicate the beginning of the filter's active region. For example, the extended HR filter data set may be H={θ, Φ, H l ,H r ,τ l ,τ r}, where τ l ={τ l [m]: m=1,...,M} denotes the sequence of onset delays of the left HR filter, and τ r ={τ r [m]: m=1,...,M} denotes the sequence of onset delays of the right HR filter.
[0056] H may also contain the data sequence of the ITD derived from the onset delays of the left and right HR filters, i.e., H={θ,Φ,H l ,H r ,τ l ,τ r ,τ ITD}, where τ ITD ={τ ITD [m]: m=1,...,M} denotes the sequence of ITDs.
[0057] In some embodiments, H may include a data sequence of ITDs derived from the onset delays of the left and right HR filters, but may not include a sequence of onset delays of the left HR filter and a sequence of onset delays of the right HR filter, i.e., H={θ, Φ, H l ,H r ,τ ITD}.
[0058] In some embodiments of the present disclosure, at least four different HR filter datasets are used: original dataset H0, initial HR filter dataset H I , the extracted dataset H X , and the model-generated dataset H M can be used.
[0059] The original data set H0 is TIFF2025114582000003.tif6170, although in some embodiments the dataset may include TIFF2025114582000004.tif6170. In other words, H0 is The original data set H0 can be represented as TIFF2025114582000005.tif6170. The original data set H0 can also be represented as an ITD data sequence τ ITD It may or may not include.
[0060] Initial HR filter data set H I may be the filter set that is or will be iteratively error corrected. The initial HR filter data set H I is from H0 TIFF2025114582000006.tif6170, for example: TIFF2025114582000007.tif6170. Initial HR filter dataset H I Also, the lengths of the left and right filters to be extracted TIFF2025114582000008.tif6170 and the onset delay sequences for the left and right filters to be used in the extraction It can be initialized by an extraction specification specifying TIFF2025114582000009.tif6170. TIFF2025114582000010.tif6170 can be initialized by:
[0061] (1) Onset delay sequence obtained from H0 when available;
[0062] (2) the left and right onset delay sequences obtained by estimating the onset of each filter in TIFF2025114582000011.tif6170, and / or
[0063] (3) Single sample onset delay sequence TIFF2025114582000012.tif7170 specifies the desired left onset delay to be used for all left HR filters, TIFF2025114582000013.tif5170 specifies the desired right onset delay to be used for all right HR filters. With this option, filters can be extracted with fixed left and right onset delays. Furthermore, when the original HR filter set is to be extracted, the initial HR filter data set H I The filter extraction specification for The file becomes TIFF2025114582000014.tif6170.
[0064] As explained above, H I teeth, TIFF2025114582000015.tif7170. During the iterative error correction process, TIFF2025114582000016.tif6170 can be updated as needed. Also, as explained above, TIFF2025114582000017.tif7170 can be used in the extraction process.
[0065] In some embodiments, the extracted HR filter data set H X teeth, TIFF2025114582000018.tif6170, where: TIFF2025114582000019.tif6170 is According to TIFF2025114582000020.tif6170 Left and right sequences of filters (filter sets) extracted from TIFF2025114582000021.tif6170.
[0066] for example, TIFF2025114582000022.tif6170 and TIFF2025114582000023.tif8170, where TIFF2025114582000024.tif6170 is The extracted FIR filter for TIFF2025114582000025.tif6170 is The file is TIFF2025114582000026.tif6170.
[0067] TIFF2025114582000027.tif5170 and TIFF2025114582000028.tif6170, where The extracted FIR filter for TIFF2025114582000029.tif5170 is The file is TIFF2025114582000030.tif5170.
[0068] In the iterative model-based error correction, H X is Model M X It can be modeled as Model M X is the extracted HR filter data set H X The model M can be a function that models the spatial variation of the filter in X A detailed description of the model-generated dataset H is provided below. M is H X A model M that approximates X The filter set generated by H M teeth, It can be represented as TIFF2025114582000031.tif6170. X Filter and H M The modeling error between the filters in can be used to detect which filters to classify and for which filters to perform error correction.
[0069] When the iterative error correction process stops, the output of the process is (1)(H fc(2) the final corrected HR filter data set (denoted as H fc ) the extracted HR filter dataset H' X The generated model M' X (3) The model M' in (2) is calculated at the elevation angle θ and azimuth angle Φ specified in the output specification O. X A new modeled HR filter dataset H' generated from M , and may be delivered according to output specification O as one of
[0070] Overview of an iterative modeling-based error correction process.
[0071] FIG. 5 illustrates an iterative modeling-based error correction method 500 for improving the extracted set of HR filters, according to some embodiments.
[0072] The inputs of the method 500 may be the original HR filter data set H0, an extraction specification X, and an output specification O.
[0073] The original HR filter data set H0 can be obtained by loading the HR filter data set from an existing file into H0.
[0074] Extraction specification X is H I Used to initialize and later H I From H X should be used for iterative loops This can be obtained by specifying the desired value of TIFF2025114582000032.tif7170. As explained above, TIFF2025114582000033.tif6170 specifies the desired lengths of the left and right extracted filters, TIFF2025114582000034.tif6170 specifies the time instance from which it is extracted, TIFF2025114582000035.tif5170 specifies the time instance from which it is extracted.
[0075] When the desired extracted HR filter set is the original HR filter set or an HR filter set in which the left and right filters are all extracted at the same onset delay, All elements in TIFF2025114582000036.tif6170 have the same value, i.e. TIFF2025114582000037.tif7170, or the elements can be set to TIFF2025114582000038.tif7170 may be specified as a sequence of length 1, as used.
[0076] When the desired extracted HR filter is a zero-time onset delay HR filter set, TIFF2025114582000039.tif7170, where each element corresponds to the onset delay of each HR filter. Some datasets (e.g., the CIPIC dataset) TIFF2025114582000040.tif6170 provides onset delay information that can be used directly. However, the majority of datasets do not provide such information. If such information is not provided in the original dataset, an onset delay needs to be estimated for each HR filter. There are many different ways to perform this onset estimation. Example(s) of an onset estimation algorithm are described in PCT / EP2020 / 079042.
[0077] The output specification O is the desired output data set. TIFF2025114582000041.tif4170 The type shown, and if necessary, the desired angle {θ D ,Φ D} sequence. The output dataset TIFF2025114582000042.tif5170 is the final corrected HR filtered dataset H fc The final corrected HR filter data set H fc The extracted HR filter dataset H' is extracted from X Model M' X Is it the Model M'? X A new modeled HR filter dataset H' generated from M It can be shown whether {θ D ,Φ D} can be obtained directly from H0 to obtain better rendering quality using a model-generated HR filter dataset, or can be determined in some other way, for example based on a more densely sampled spherical grid, and potentially also based on model performance.
[0078] As explained above, in an embodiment of the present disclosure, the output is an improved HR filter dataset (i.e., a final corrected HR filter dataset H fc ), where the HR filter of the improved HR filter dataset can be H I , or may be represented by a model of the improved HR filter data set or model-generated HR filter data set.
[0079] After obtaining the inputs described above, an iterative modeling-based error correction method 500 may be performed. The method 500 may include an initialization process 502, an iterative loop process 504, and an output process 506.
[0080] In some embodiments, the iterative loop process 504 may include three processes: a modeling process 512 , a model error detection and classification process 514 , and an HR filter dataset error correction process 516 .
[0081] The method 500 can be run offline or within a binaural audio renderer in conjunction with loading the HR filter data set into that renderer.
[0082] Details of the iterative modeling-based error correction method 500
[0083] 1. Initialization process
[0084] In the initialization process 502, some or all of the data variables required in the iteration loop are initialized. The data variables required in the iteration loop include: (1) the original HR filter data set H0 and the initial HR filter data set H obtained from the extraction specification X; I , (2) Error threshold T ε ,(3) Repetition condition C I , and (4) a list of classifiers L Classifiers may include one or more of:
[0085] 1.1 Initial HR filter data set H I
[0086] In some embodiments, TIFF2025114582000043.tif7170, where TIFF2025114582000044.tif6170 is initialized with the corresponding data structure in the original HR filter dataset H0, TIFF2025114582000045.tif6170 is initialized with the corresponding data structure in extraction specification X.
[0087] 1.2 Error Threshold T ε
[0088] T εmay correspond to a threshold for the modeling error of the HR filter. The threshold may be used to select an HR filter to classify. For example, if the modeling error associated with an HR filter is greater than the threshold, the HR filter may be selected for classification. In one example, the threshold is 0.10.
[0089] 1.3 Repetition Condition C I
[0090] C I may correspond to a logical expression that controls an iteration loop. The iteration loop may iterate until this logical expression becomes false. The logical expression may be constructed such that the logical expression becomes false when there are no more HR filters to correct or when the number of iterations reaches a specified maximum.
[0091] 1.4 List of classifiers L Classifiers
[0092] L Classifiers may be a list of classifiers used to handle modeling error classification and final HR filter correction. Each item in the list may contain one or more of: (1) a classification ID, (2) a classification method for determining whether a modeling error is of a particular class, and (3) a flag indicating whether the classified error can be corrected.
[0093] If the classified error can be corrected, the corresponding item may also include a correction method for correcting the classified error when provided with a class-specific correction data structure. This class-specific correction data structure may include a correction method for correcting the classified error when provided with a class-specific correction data structure. It may be included in the items in TIFF2025114582000046.tif6170.
[0094] 2. Iterative Loop Process
[0095] In the iterative loop process 504, the following three sub-processes, namely, (1) modeling sub-process 512, (2) model error detection and classification sub-process 514, and (3) HR filter set error correction sub-process 516, are implemented in accordance with the logical formula C I may be repeated until false.
[0096] 2.1 Modeling
[0097] As shown in FIG. 6, the modeling process 512 may include three steps: steps s602, s604, and s606.
[0098] Step s602 is a first iteration of the iterative loop in which an initial HR filter data set H I From the extracted HR filter data set H X Step s604 includes obtaining the extracted HR filter data set H X Model M X Step s606 includes obtaining a model M X The HR filter dataset H generated from M This includes obtaining
[0099] 2.1.1 Step s602—Extracted HR filter data set H X to obtain
[0100] Step s602 is to generate an initial HR filter data set H I From the extracted HR filter data set H X In some embodiments, TIFF2025114582000047.tif6170, where θ0 and Φ0 are H I and the corresponding data structure in TIFF2025114582000048.tif6170 is H I in According to TIFF2025114582000049.tif6170, H I in Extracted from TIFF2025114582000050.tif6170, where: TIFF2025114582000051.tif6170 and TIFF2025114582000052.tif8170, where TIFF2025114582000053.tif6170 is This is the extracted FIR filter for TIFF2025114582000054.tif6170.
[0101] Similarly, in some embodiments, TIFF2025114582000055.tif5170 and TIFF2025114582000056.tif6170, where TIFF2025114582000057.tif5170 is This is the extracted FIR filter for TIFF2025114582000058.tif5170.
[0102] 2.1.2 Step s604-Model M X to obtain
[0103] Step s604 is a step of extracting the extracted HR filter data set H X Model M X In some embodiments, TIFF2025114582000059.tif6170 is modeled separately. To simplify notation in this disclosure, subscripts and superscripts are omitted when not specifically required.
[0104] The spatial variation of the filters in the HR filter set H is TIFF2025114582000060.tif5170. In its general form, the model is TIFF2025114582000061.tif6170, where f is the function A containing all model parameters and f is the function A containing all basis functions. The basis functions may be linear or non-linear functions with P basis functions. The basis functions may be learnable or predefined. As an example, for a linear model with P basis functions, the function may be TIFF2025114582000063.tif14170, where A=[α1,...,α P ] is the model parameter set, where α p =[α1,...,α N ] T is the pth This is the model parameter vector for TIFF2025114582000064.tif6170. [·] T denotes the transposition operator. TIFF2025114582000065.tif7170 is a sequence of basis functions.
[0105] Note that θ and φ are used here instead of θ and φ to distinguish the spatial variables from fixed spatial sampling points. Whether a linear or nonlinear model is used, TIFF2025114582000067.tif5170 is the regularization term, i.e. TIFF2025114582000068.tif9170, where: Assuming TIFF2025114582000069.tif6170, this is an approximation of the HR filter at the sampled angles (θ[m],Φ[m]).
[0106] An example of such a loss function is the squared error loss, i.e. The file is TIFF2025114582000070.tif13170.
[0107] In the linear model, TIFF2025114582000071.tif5170 can be obtained through linear least squares estimation. For nonlinear models, TIFF2025114582000072.tif5170 can be estimated through an iterative gradient-based method. Example(s) of the modeling algorithm are described in PCT / EP2020 / 079042.
[0108] The basic relationship between the HR filter and the DOA is usually considered continuous. However, as explained above, noise or measurement errors are inevitable in the HR filter measurement process, for example, discontinuities appear in the measurement. To avoid overfitting the model to the noise or errors in the HR filter set, two strategies can be applied: 1) carefully designing the basis function to maximize its smoothness while being rich enough to capture the intrinsic spatial variation of the HR filter, and 2) applying some regularization to the loss function to enforce smoothness.
[0109] The model representation of the extracted HR filter is TIFF2025114582000073.tif5170 and contains a modeling function f that determines the relationship between This can be represented by TIFF2025114582000074.tif7170. The HR filter vector in TIFF2025114582000075.tif7170 can be calculated.
[0110] H X If is a zero time delay HR filter data set, then TIFF2025114582000076.tif6170 TIFF2025114582000077.tif6170 separately. Similarly, the model for the set of onset delays τ can be TIFF2025114582000078.tif5170, where g can be a linear or nonlinear function with β including all model parameters and B including all basis functions. The basis functions can be learnable or predefined. As an example, in a linear model, this function is TIFF2025114582000079.tif15170, where β q is the qth are the model coefficients of TIFF2025114582000080.tif6170, and Q is the number of basis functions.
[0111] As with the HR filter, TIFF2025114582000081.tif6170 minimizes the chosen loss function TIFF2025114582000082.tif6170. An example of such a loss function is the squared error loss, i.e. TIFF2025114582000083.tif13170, where TIFF2025114582000084.tif5170 is an approximation of the delay τ at the sampled angles (θ[m],Φ[m]), given β and B.
[0112] The model representation of the delay is TIFF2025114582000085.tif6170 and basis function B, TIFF2025114582000086.tif6170 and a modeling function g that describes the relationship between This can be represented by TIFF2025114582000087.tif6170.
[0113] M X The extracted HR filter dataset H, denoted by XThe model representation of May contain a model representation in TIFF2025114582000088.tif7170. When applicable, M X is the onset delay of the left and right HR filters It may also contain TIFF2025114582000089.tif7170. Within an iterative loop, an onset delay model may not be needed.
[0114] 2.1.3 Step s606-Model M X HR filter model using dataset H M To generate
[0115] In step s606, TIFF2025114582000090.tif6170 at a given location specified by a sequence of sampled angles {θ,Φ} TIFF2025114582000091.tif8170, where θ={θ[m]:m=1,...,M} and Φ={Φ[m]:m=1,...,M}. The sampled angles {θ,Φ} are It can be obtained directly from TIFF2025114582000092.tif6170.
[0116] In some embodiments, TIFF2025114582000093.tif6170 and TIFF2025114582000094.tif5170 can be respectively created by performing the following three steps: It can be generated from TIFF2025114582000095.tif7170.
[0117] For each m in {1,...,M}, 1. Obtain the spherical angles θ[m] and Φ[m] from the sampled angle sequences θ and φ. 2.M X During Using TIFF2025114582000096.tif7170, we model the function f and TIFF2025114582000097.tif5170 and (θ[m],Φ[m]) Calculate TIFF2025114582000098.tif6170. For a linear model, This can be calculated using TIFF2025114582000099.tif7170. 3.M X During Using TIFF2025114582000100.tif7170, we model the function f and Using TIFF2025114582000101.tif5170 and (θ[m],Φ[m]) Calculate TIFF2025114582000102.tif5170. For a linear model, Calculated by TIFF2025114582000103.tif6170.
[0118] Similarly, TIFF2025114582000104.tif6170 can be created by performing the following two steps, respectively: Alternatively or additionally, it can be generated from TIFF2025114582000105.tif7170. TIFF2025114582000106.tif6170 can be converted by performing the following two steps: It can be generated from TIFF2025114582000107.tif7170.
[0119] For each m in {1,...,M}, 1. Obtain the spherical angles θ[m] and Φ[m] from the sampled angle sequences θ and φ. 2.M X Delayed set model M τ Using the modeling function g, TIFF2025114582000108.tif6170 and the basis function B are used to calculate the delay τ in (θ[m],Φ[m]). M In the case of a linear model, τ M [m] is This can be calculated using TIFF2025114582000109.tif15170.
[0120] The generation of the delayed data set is not required in the iterative loop process, in other words, the generation of the delayed data set is an optional step in the iterative loop process.
[0121] 2.2 Model Error Detection and Classification Process
[0122] As shown in FIG. 6, the model error detection and classification process 514 may include steps s608 and s610.
[0123] Step s608 is to sort the index of the HR filter to be sorted. The HR filter to be classified may include obtaining the TIFF2025114582000110.tif7170. ε has a modeling error of more than
[0124] Step s610 is a step of dividing the classified HR filters. This may include obtaining TIFF2025114582000111.tif6170.
[0125] 2.2.1 Step s608—Index of HR filter to be classified Obtain TIFF2025114582000112.tif7170
[0126] The list of indices of HR filters to be classified is (1)H M (2) evaluating the modeling error of all HR filters in ε and (3) find a modeling error that exceeds the error threshold Tε The index of the HR filter with a modeling error greater than TIFF2025114582000113.tif7170. There can be separate index lists for the left and right HR filters.
[0127] H M The modeling error evaluation of all HR filters in H X and H M The left and right modeling errors may be obtained by using the left and right HR filter sequences in For example, the left and right modeling errors may be calculated as follows:
[0128] (1) The left index list i is empty l =[] and right index list i r =[] to initialize.
[0129] (2) For each m in {1,...,M}, (2-1) TIFF2025114582000114.tif6170. These errors are normalized modeling errors, i.e., TIFF2025114582000115.tif13170, where TIFF2025114582000116.tif5170 is a normalization function. For example, in the L2 loss function, the left normalized TIFF2025114582000117.tif6170 is TIFF2025114582000118.tif11170 or some other form of modeling error. (2-2) TIFF2025114582000119.tif7170
[0130] (3) Set TIFF2025114582000120.tif7170.
[0131] example) TIFF2025114582000121.tif6170, and Each of the errors associated with TIFF2025114582000122.tif7170 is T ε If it is greater than TIFF2025114582000123.tif7170 may contain index values of 1, 3, and 5.
[0132] 2.2.2 Step s610 - Classified HR Filters Obtain TIFF2025114582000124.tif6170
[0133] Classified HR filters TIFF2025114582000125.tif6170 is a list of categories, where each category may contain any one or more of the following:
[0134] (1) Extracted HR filter data set H X a filter ID that contains information about the index of the particular HR filter contained therein and an indication of whether the particular HR filter is a left or right HR filter;
[0135] (2) a classification ID that identifies the class of modeling error associated with a particular HR filter and whether the class of error is correctable; and
[0136] (3) A class-specific correction data structure with the correction information required by the correction method for that error class.
[0137] In the example provided above, TIFF2025114582000126.tif6170, TIFF2025114582000127.tif6170. Also, Each of the errors associated with TIFF2025114582000128.tif7170 is T ε is larger than TIFF2025114582000129.tif7170 contains index values of 1, 3, and 5.
[0138] In the above example, If the error associated with TIFF2025114582000130.tif6170 belongs to correctable error class #E1, The error associated with TIFF2025114582000131.tif6170 belongs to the non-correctable error class #E2. The error associated with TIFF2025114582000132.tif6170 belongs to the correctable error class #E3 and is classified as TIFF2025114582000133.tif6170 is item L1 classified and item L2 classified and item L3 classified and L1 classified contains an L1 filter ID with information about the index value of [1] and an indication that the HR filter is a left HR filter, an L1 classification ID that identifies the error class #E1 and indicates that #E1 is correctable, and a class-specific correction data structure.
[0139] Similarly, L2 classified contains an L2 filter ID with information about the index value of [3] and an indication that the HR filter is a left HR filter, and an L2 class ID that identifies the error class #E2 and indicates that #E2 is not correctable.
[0140] Similarly, L3 classified contains an L3 filter ID with information about the index value of [5] and an indication that the HR filter is a left HR filter, an L3 classification ID that identifies error class #E3 and indicates that #E3 is correctable, and a class-specific correction data structure.
[0141] For some classes of HR filter modeling errors, there may be classification methods that can determine with a high degree of confidence whether a modeling error is of that class. For some of these classes, there may be methods for correcting the HR filter to correct the error. Correction methods for different modeling error classes may vary significantly, and therefore, in some embodiments, correction methods are provided for those classes.
[0142] To manage these classes of modeling errors that can be classified, a list of classifications L Classifications may be used, where each item in the list may contain any one or more of the following:
[0143] (1) Classification ID,
[0144] (2) a classification method to determine whether a modeling error is of that class; and
[0145] (3) A flag indicating whether the classified error can be corrected.
[0146] If the extracted HR filter corresponding to the classification ID can be corrected, L Classifications The items in are generally classified HR filters. It may also include a correction method for correcting the extracted HR filters when provided with the class-specific correction data structures contained in TIFF2025114582000134.tif6170.
[0147] One class of particular interest is that of delay errors. Delay errors are characterized by a relatively large normalized modeling error of the extracted filter, but there is a shift τ0 that can be a fractional sample shift, and therefore this shift is H I When applied to the corresponding initial HR filter in H, this essentially converts the extracted HR filter into MThe goal is to match the extracted and modeled HR filters with the corresponding HR filters in the frequency domain, significantly reducing the normalized modeling error. In the frequency domain, the delay error is characterized by a small difference in magnitude between the extracted and modeled HR filters, and the difference in the unwrapped phase of the two HR filters should be approximately linear with the slope of -τ0.
[0148] When a method used to classify this kind of modeling error finds a τ0 that satisfies such a condition, the method can be used to classify the HR filter with classification information. Add the taxonomy to TIFF2025114582000135.tif6170. The class-specific correction data structure for this class in the taxonomy must include the shift τ0. Note that we have already established that the set of HR filters that pass the classification step have normalized modeling errors above some threshold.
[0149] To classify this kind of modeling error, several methods can be used. Two embodiments are provided: one in the time domain and the other in the frequency domain. In one embodiment, the following method operating in the time domain is used: looping over a given sequence of shifts.
[0150] This method involves a predetermined sequence of shifts {τ k =-τ1+(k-1)Δτ: k=1,...,K} to obtain the shifted extracted HR filters and evaluate the normalized modeling error of each of those shifted HR filters. This method also finds the shifted τ p If the minimum normalized modeling error is small enough (controlled by a threshold), the method finds that τ0 = τ p and set the classification information of the classified HR filter. Add classification items to TIFF2025114582000136.tif6170. Fractional shift may result in greater complexity as it requires resampling of the extracted HR filter.
[0151] Before presenting the embodiment in the frequency domain, the following notation is needed: F X for the first ordered ω value in the range 0≦ω≦π, the extracted HR filter h x Let F denote the vector of the Fast Fourier Transform (FFT) of M to the corresponding modeled filter h M Let abs(F X ) to F X Let a vector be the absolute values of the elements of the vector, and abs(F M ) to F M Let it be a vector of the absolute values of the elements of the vector.
[0152] In another embodiment, the following method is used, which operates in the frequency domain: X )-abs(F M When the normalized norm of angle(F) is below a certain threshold, it is clear that large modeling errors are due to FFT angle or phase differences, and that these angle differences are most likely caused by delay errors. In this method, the first step is to identify an HR filter in the list of HR filters to be classified for which this condition is satisfied. Once such an HR filter is found, the unwrapped angle / phase difference, i.e., angle(F) is calculated. X )-angle(F M ) is modeled as -τ0ω (the phase difference caused by the delay error of τ0) and normalized The τ0 that minimizes TIFF2025114582000137.tif5170 is obtained. As a final validation before classifying this modeling error as a delay error, the modeling error for the corrected extracted filter is verified to be below a certain threshold.
[0153] 2.3 HR filter set error correction process
[0154] As shown in FIG. 6, in the first iteration of the iteration loop, the HR filter set error correction process 516 generates a first corrected HR filter data set H′ I In some embodiments, H' I is the classified HR filter This can be obtained by iterating through the items in TIFF2025114582000138.tif6170 and for each item that is correctable, and performing the following steps:
[0155] (1) Obtaining a filter ID, which includes a filter index and information about whether the corresponding HR filter is a left or right HR filter;
[0156] (2) H to be corrected I Use the obtained filter ID to get the HR filter in
[0157] (3) Obtain the classification ID and add it to the list L Classifications to obtain the correction function from
[0158] (4) obtaining a class-specific correction data structure with correction information required by the correction function for that class;
[0159] (5) Using the obtained class-specific correction data structure, H I 4. Performing the obtained correction function on the obtained HR filter in. This may involve obtaining extra filter data samples from the original HR filter data set H0, or may involve extrapolating the HR filter data, for example by padding with zeros, and updating the corresponding onset delays if necessary.
[0160] If condition C1 is still true after step 516, then H I is H' I and steps 512, 514, and 516 are repeated.
[0161] 3. Output process
[0162] As shown in Figure 6, the output process 506 may output one of the following output data sets based on an output specification O: TIFF2025114582000139.tif5170 and / or the desired angle {θ D ,Φ D} sequence may be specified.
[0163] (1) The final corrected HR filter data set H fc , where H fc is the corrected HR filter data set generated the last time step 516 was performed (e.g., if there is only one iteration of the loop, H fc =H' I ),
[0164] (2) The final corrected HR filter data set H fc The model M' generated from the extracted HR filter dataset extracted from X ,
[0165] (3) The model M' is calculated at the elevation angle θ0 and azimuth angle Φ0 specified in the output specification O. X A new modeled HR filter dataset H' generated from M .
[0166] 7A shows an exemplary system 700 according to some embodiments. The system 700 comprises a pre-processor 702 and an audio renderer 704. The pre-processor 702 and the audio renderer 704 may be included in the same entity or in different entities. Also, different modules included in the pre-processor 702 (e.g., 712 and 714) may be included in the same entity or in different entities, and different modules included in the audio renderer 704 (e.g., 716 and 718) may be included in the same entity or in different entities.
[0167] The pre-processor 702 comprises an HR filter correction module 712 and a memory 714. The HR filter correction module 712 may be configured to implement the modeling-based error correction method 500 (shown in FIG. 5) for improving the set of HR filters. Thus, the inputs to the HR filter correction module 712 may be the inputs to the error correction method 500, namely, the original HR filter data set H0, the extraction specification X, and the output specification O. As explained above, the output of the error correction method 500 is the final corrected HR filter data set H fc Model M' represents X Therefore, in one embodiment, the HR filter correction module 712 calculates the model M′ X The output HR filter model representation 720 may be stored in memory 714.
[0168] The audio renderer 704 includes an HR filter generator 716 and a binaural renderer 718. The HR filter generator 716 may read an HR filter model representation 720 from the memory 714 and receive rendering metadata 722. Using the HR filter model representation 720 and the rendering metadata 722, the HR filter generator 716 may generate and output a complete HR filter representation 724. The HR filter representation 724 may correspond to one or more HR filters generated using the HR filter model representation 720 at one or more given spatial angles indicated in the metadata 722. Using the received HR filter representation 724, the binaural renderer 718 may generate a binaural audio signal 726.
[0169] 7B shows an exemplary system 750 according to some embodiments. System 750 comprises a pre-processor 752 and an audio renderer 754. Pre-processor 752 and audio renderer 754 may be included in the same entity or in different entities. Also, different modules included in pre-processor 752 (e.g., 762 and 764) may be included in the same entity or in different entities, and different modules included in audio renderer 754 (e.g., 766 and 768) may be included in the same entity or in different entities.
[0170] The pre-processor 752 includes an HR filter correction module 762 and a memory 764. The HR filter correction module 762 may be configured to implement the modeling-based error correction method 500 (shown in FIG. 5) for improving the set of HR filters. Thus, the inputs of the HR filter correction module 762 may be the inputs of the error correction method 500, i.e., the original HR filter data set H0, the extraction specification X, and the output specification O. As explained above, the output of the error correction method 500 (i.e., the output of the HR filter correction module 762) may be the final corrected HR filter data set generated the last time step s516 was performed. The final corrected HR filter data set 770 may be stored in the memory 764.
[0171] The audio renderer 754 includes an HR filter extractor 766 and a binaural renderer 768. The HR filter extractor 766 may read a final corrected HR filter data set 770 from the memory 764 and receive rendering metadata 772. Using the final corrected HR filter data set 770 and the rendering metadata 772, the HR filter extractor 766 may output a complete HR filter representation 774. The complete HR filter representation 774 may correspond to one or more HR filters obtained (e.g., extracted or interpolated) from the final corrected HR filter data set 770 at one or more given spatial angles indicated in the metadata 772. Using the received complete HR filter representation 774, the binaural renderer 768 may generate a binaural audio signal 776.
[0172] Figure 8 shows the final corrected head relation (HR) filter data set H fc 8. The process 800 is a process for generating a first corrected HR filter data set (H' I ) may start from step s801, which includes obtaining an initial HR filter data set H IStep s804 includes obtaining an initial HR filter data set H I Extracted HR filter dataset H X Step s806 includes obtaining the extracted HR filter data set H X Model M X Step s808 includes obtaining a model M X The modeled HR filter dataset H M Step s810 includes generating an initial HR filter data set H I Step s812 includes selecting one or more HR filters included in the initial HR filter data set for correction. Step s812 generates a first corrected HR filter data set H' by correcting the selected one or more HR filters. I If the condition is not met (i.e., formula C I is true), the process 800 generates a first corrected HR filter data set H' I The final corrected HR filtered data set H is obtained using fc However, if the condition is met, the final corrected HR filter data set H fc is the first corrected HR filter data set H' I is.
[0173] In some embodiments, the extracted HR filter data set H X To get the filter extract specification X, and to get H based on X X and obtaining the
[0174] In some embodiments, X includes a filter length value N that identifies the filter length and a set of delay values τ that identify the starting point for the extraction.
[0175] In some embodiments, obtaining the model includes modeling the spatial variation of the HR filters included in the extracted HR filter data set as a function of elevation and azimuth angles.
[0176] In some embodiments, the HR filters included in the modeled HR filter data set are generated by calculating the HR filter using the model at each of a plurality of sampled angles.
[0177] In some embodiments, selecting one or more HR filters included in the initial HR filter data set for correction comprises: X For each HR filter in M and ii) calculating an error value for the HR filter based on the corresponding HR filter included therein; and ii) determining whether to select an HR filter based at least in part on the calculated error value.
[0178] In some embodiments, H I teeth, TIFF2025114582000140.tif6170 and includes H X teeth, TIFF2025114582000141.tif6170 and H M teeth, Includes TIFF2025114582000142.tif6170. TIFF2025114582000143.tif6170, where m is TIFF2025114582000144.tif6170 is the index of the HR filter, 1 ≤ m ≤ M, where M is TIFF2025114582000145.tif6170HR is a positive integer representing the number of filters, Includes TIFF2025114582000146.tif6170. TIFF2025114582000147.tif6170 The error values for each HR filter are TIFF2025114582000148.tif6170. TIFF2025114582000149.tif5170, where m is TIFF2025114582000150.tif5170 is the index of the HR filter, 1 ≤ m ≤ M, where M is TIFF2025114582000151.tif5170HR is a positive integer representing the number of filters, Includes TIFF2025114582000152.tif5170. TIFF2025114582000153.tif5170 The error values for each HR filter are Calculated based on the difference between TIFF2025114582000154.tif5170.
[0179] In some embodiments, TIFF2025114582000155.tif6170 The error values for each HR filter are Calculated based on TIFF2025114582000156.tif14170, TIFF2025114582000157.tif5170 The error values for each HR filter are Calculated based on TIFF2025114582000158.tif11170.
[0180] In some embodiments, the method further comprises: I) comparing the error value for each HR filter to a threshold value, and for each error value that exceeds the threshold value, (i) a function associated with the error value: (ii) identify the TIFF2025114582000160.tif6170HR filter; II) adding an HR filter identifier to the filter classification list, the HR filter identifier also identifying a corresponding HR filter, the filter classification list identifying the filter to be classified; comparing the error value for each HR filter to a threshold value, and for each error value that exceeds the threshold value, (i) a function associated with the error value: (ii) identify the TIFF2025114582000163.tif5170HR filter; and adding an HR filter identifier to the filter classification list that also identifies a corresponding HR filter, wherein the filter classification list identifies the filter to be classified.
[0181] In some embodiments, the methods each comprise: TIFF2025114582000165.tif6170. The step of selecting one or more filters included in the initial HR filter data set for correction further includes locating one or more HR filter identifiers in the filter classification list that identify the correctable HR filters included in any of the HR filters in the initial HR filter data set, each of which includes: (i) TIFF2025114582000166.tif6170, and (ii) selecting one or more HR filters for correction, the HR filters being identified by one or more HR filter identifiers found above.
[0182] In some embodiments, the method further includes, for each HR filter identified by an HR filter identifier included in the classification list, determining whether the HR filter is correctable, wherein determining whether the HR filter is correctable includes determining a modeling error class for the HR filter and determining whether the determined modeling error class is correctable.
[0183] In some embodiments, the method further includes, as a result of determining that the HR filter is correctable, adding to the correctable list: i) an HR filter identifier that identifies the HR filter and ii) a correction data structure or a pointer to a correction data structure, the correction data structure including information for use in correcting the HR filter.
[0184] In some embodiments, correcting the selected one or more HR filters includes each of: (i) TIFF2025114582000167.tif6170, and (ii) finding one or more HR filters identified by an HR filter identifier included in the correctable list; and correcting the one or more HR filters found above using a corresponding correction data structure.
[0185] In some embodiments, the process comprises generating a first corrected HR filter data set H′ I The final corrected HR filter set H is obtained using fc (step s814), and generating a first corrected HR filter data set H' I The final corrected HR filter set H is obtained using fc generating a first corrected HR filter data set H' Iobtaining a second extracted HR filter data set from the second extracted HR filter data set; obtaining a second model of the second extracted HR filter data set; generating a second modeled HR filter data set using the second model; and calculating H' based on the second extracted HR filter data set and the second modeled HR filter data set. I and generating a second corrected HR filter data set by correcting the selected one or more HR filters, wherein the method uses the second corrected HR filter data set to generate a final corrected HR filter set H. fc or generating a final corrected HR filter data set H fc is the second corrected HR filter data set.
[0186] In some embodiments, the process includes: (1) generating a final corrected HR filter data set H fc , (2) the final corrected HR filter data set H fc and (3) a new modeled HR filter dataset generated from the model generated in (2). For example, in some embodiments, the process outputs a final corrected HR filter dataset H fc , or the final corrected HR filter data set H fc and outputting a model generated from the extracted HR filter dataset.
[0187] In some embodiments, H X is the extracted HR filter TIFF2025114582000168.tif6170, including H M is the modeled HR filter TIFF2025114582000169.tif6170. In some embodiments, H I Selecting one or more HR filters for correction includes, for each shift included in the set of shifts (e.g., τ1, τ2), comparing the shift (e.g., τ1, τ2) with the extracted HR filter TIFF2025114582000170.tif6170 and the shifted extracted HR filter TIFF2025114582000171.tif7170 and calculating errors associated with each of the shifted extracted HR filters. The selecting may further include identifying errors among the calculated errors that satisfy a condition, and classifying the errors associated with the extracted HR filter and the modeled HR filter as a class of delay errors that are correctable based on the identified errors.
[0188] In some embodiments, H I Selecting one or more HR filters included therein for correction further includes finding the shift used to obtain the shifted extracted HR filter associated with the smallest error, and using the found shift as a correction parameter for the class of delay error.
[0189] In some embodiments, the extracted HR filter data set H X contains the extracted HR filters and the modeled HR filter dataset H M contains the modeled HR filter, and the initial HR filter data set H ISelecting one or more HR filters included therein for correction (s810) includes calculating a measure of difference between the magnitude of the extracted HR filter and the magnitude of the modeled HR filter in the frequency domain, comparing the calculated measure to a threshold to determine whether the calculated measure is less than or equal to the threshold, and classifying errors associated with the extracted HR filter and the modeled HR filter as a class of delay error that is correctable based on at least the comparison.
[0190] In some embodiments, the initial HR filter data set H I Selecting one or more HR filters included therein for correction (s810) further includes calculating an unwrapped angle and / or phase difference between the extracted HR filter and the modeled HR filter at the sample frequency, determining a linear model that models the calculated difference, determining a modeling error based on the calculated difference and the value of the linear model at the sample frequency, comparing the modeling error to an error threshold, and using parameters of the linear model as correction parameters for a class of delay error based on at least the comparison of the modeling error with the error threshold.
[0191] In some embodiments, H X is the extracted HR filter TIFF2025114582000172.tif6170, including H M is the modeled HR filter TIFF2025114582000173.tif6170. In some embodiments, H ISelecting one or more HR filters included therein for correction includes calculating a difference between the phase of the extracted HR filter and the phase of the modeled HR filter, and for each shift included in the set of shifts (e.g., τ1, τ2), calculating an error between the calculated difference in phase and a comparison value (e.g., −τω) calculated based on the shift. The selecting may further include identifying a minimum error among the calculated errors and classifying errors associated with the extracted HR filter and the modeled HR filter as a class of delay error that is correctable based on the minimum error.
[0192] In some embodiments, H I Selecting one or more HR filters included therein for correction further includes finding the shift used to calculate the comparison value that produces the smallest error, and using the found shift as a correction parameter in a class-specific correction data structure for the class of delay error.
[0193] In some embodiments, the filter classification list comprises one or more HR filter identifiers: Includes an indicator showing TIFF2025114582000174.tif6170.
[0194] In some embodiments, identifying the error that satisfies the condition includes identifying a minimum error among the calculated errors.
[0195] 9 is a block diagram of an apparatus 900, according to some embodiments, for implementing the preprocessor 702 or 752 shown in FIGS. 7a and 7b. As described above, the preprocessor 702 or 752 may include an HR filter correction module 712 or 762, which may be configured to perform the HR filter correction described herein. As shown in FIG. 9, the apparatus 900 includes a processing circuit (PC) 902, which may include one or more processors (P) 955 (e.g., a general-purpose microprocessor and / or one or more other processors, such as an application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), etc.), which may be co-sited in a single housing or in a single data center or may be geographically distributed (i.e., the apparatus 900 may be a distributed computing device), and at least one network interface 948, each of which may be configured to enable the apparatus 900 to communicate with a network interface. The PC 902 may comprise at least one network interface 948, a transmitter (Tx) 945, and a receiver (Rx) 947 for enabling the network interface 948 to transmit data to and receive data from other nodes connected to the network 110 (e.g., an Internet Protocol (IP) network) to which the network interface 948 is connected (directly or indirectly) (e.g., the network interface 948 may be wirelessly connected to the network 110, in which case the network interface 948 is connected in an antenna configuration), and one or more storage units (a.k.a., "data storage system") 908, which may include one or more non-volatile storage devices and / or one or more volatile storage devices. In embodiments in which the PC 902 includes a programmable processor, a computer program product (CPP) 941 may be provided. The CPP 941 includes a computer-readable medium (CRM) 942, which stores a computer program (CP) 943 comprising computer-readable instructions (CRI) 944.CRM 942 may be a non-transitory computer-readable medium, such as a magnetic medium (e.g., a hard disk), an optical medium, a memory device (e.g., a random access memory, a flash memory), or the like. In some embodiments, CRI 944 of computer program 943, when executed by PC 902, configures CRI to cause device 900 to perform steps described herein (e.g., steps described herein with reference to flowcharts). In other embodiments, device 900 may be configured to perform steps described herein without the need for code. That is, for example, PC 902 may simply consist of one or more ASICs. Thus, features of the embodiments described herein may be implemented in hardware and / or software.
[0196] While various embodiments have been described herein, it should be understood that these embodiments have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present disclosure should not be limited by any of the above-described exemplary embodiments. Moreover, unless otherwise indicated herein or clearly contradicted by context, any combination of the above-described elements in all possible variations thereof is encompassed by the present disclosure.
[0197] Additionally, while the process and message flows described above and illustrated in the figures have been depicted as a sequence of steps, this has been done for illustrative purposes only. As such, it is contemplated that some steps may be added, some steps may be omitted, the order of steps may be rearranged, and some steps may be performed in parallel.
Claims
1. Final corrected head relation (HR) filter data set H fc 1. A method for producing a compound comprising: First corrected HR filter data set H' I to obtain and said obtaining comprises: Initial HR filter data set H I (s802) The initial HR filter data set H I The extracted HR filter dataset H X (s804) The extracted HR filter data set H X Model M X (s806) The model M X The modeled HR filter dataset H M (s808) The modeled HR filter data set H M and the extracted HR filter data set H X Based on this, the initial HR filter data set H I selecting (s810) one or more HR filters included therein for correction; correcting the selected one or more HR filters to obtain the first corrected HR filter data set H'; I (s812) Including, The method further comprises: I using the final corrected HR filter set H fc or The final corrected HR filter data set H fc is the first corrected HR filter data set H' I That's the method.
2. The extracted HR filter data set H X (s804) includes obtaining a filter extraction specification X and, based on X, obtaining the extracted HR filter data set H X and obtaining a signal from the signal generator.
3. 3. The method of claim 2, wherein X comprises a filter length value N that identifies the filter length and a set of delay values τ that identify starting points for the extraction.
4. The model M X as a function of elevation and azimuth angles, X The method of claim 1 , further comprising modeling the spatial variation of the HR filters included therein.
5. The modeled HR filter data set H M The HR filter included in the X The method according to claim 1 , wherein the HR filter is generated by calculating the HR filter using
6. The initial HR filter data set H I Selecting (s810) the one or more HR filters included therein for correction, The extracted HR filter data set H X For each HR filter included in the modeled HR filter data set H M ii) calculating an error value for the HR filter based on a corresponding HR filter included therein; and ii) determining whether to select the HR filter based at least in part on the calculated error value.
6. The method of claim 1, comprising:
7. The initial HR filter data set H I but, and The extracted HR filter data set H X but, and The modeled HR filter data set H M but, and The extracted left where m is the left extracted is the index of the HR filter, 1≦m≦M, and M is the left extracted is a positive integer representing the number of HR filters included in The left model Including, The extracted left The error value for each HR filter included in is calculated based on the difference between The right extracted where m is the extracted m is the index of the HR filter included in the right extracted filter, where 1≦m≦M. is a positive integer representing the number of HR filters included in The right model Including, The right extracted The error value for each HR filter included in is calculated based on the difference between The method of claim 6.
8. The extracted left The error value for each HR filter included in The right extracted The error value for each HR filter included in is calculated based on The method of claim 7.
9. The method comprises: The extracted left comparing said error value for each HR filter included therein with a threshold value; For each error value that exceeds the threshold, (i) the left extracted (ii) identifying the HR filter included in the left adding an HR filter identifier to a first filter categorization list, the HR filter identifier also identifying a corresponding HR filter contained therein, the first filter categorization list identifying a filter to be categorized; The right extracted comparing said error value for each HR filter included therein with a threshold value; For each error value that exceeds the threshold, (i) a (ii) identifying the HR filter included in the right adding an HR filter identifier to a second filter categorization list that also identifies a corresponding HR filter contained therein, the second filter categorization list identifying a filter to be categorized, and further adding an HR filter identifier to the second filter categorization list, the HR filter identifier being the same as or different from the first filter categorization list and the second filter categorization list; 9. The method of claim 7 or 8, further comprising:
10. The method comprises: Each of the extracted or the extracted finding one or more HR filter identifiers in the first filter classification list or the second filter classification list that identify a correctable HR filter included in either further comprising The step of selecting (s810) the one or more filters included in the initial HR filter data set for correction includes selecting one or more filters each including: (i) the left Or the above right and (ii) selecting for correction one or more HR filters included in any of the one or more HR filter identifiers found above.
11. The method comprises: For each HR filter identified by an HR filter identifier included in the first filter classification list or the second filter classification list, determining whether the HR filter is correctable. further comprising 10. The method of claim 9, wherein determining whether the HR filter is correctable comprises determining a modeling error class for the HR filter and determining whether the determined modeling error class is correctable.
12. 12. The method of claim 11, further comprising, as a result of determining that the HR filter is correctable, adding to a correctable list: i) the HR filter identifier that identifies the HR filter, and ii) a correction data structure or a pointer to the correction data structure, the correction data structure including information for use in correcting the HR filter.
13. Compensating the selected one or more HR filters includes: Each of (i) the left Or the above right (ii) finding one or more HR filters identified by an HR filter identifier included in said correctable list; correcting the one or more HR filters found above using the corresponding correction data structure; and 13. The method of claim 12, comprising:
14. The method further comprises: I using the final corrected HR filter set H fc and further comprising generating the first corrected HR filter data set H' I using the final corrected HR filter set H fc To generate the first corrected HR filter data set H' I obtaining a second extracted HR filter data set from obtaining a second model of the second extracted HR filter data set; generating a second modeled HR filter data set using the second model; Based on the second extracted HR filter data set and the second modeled HR filter data set, I selecting one or more filters included therein for correction; generating a second corrected HR filter data set by correcting the selected one or more HR filters; Including, The method further comprises using the second corrected HR filter data set to generate the final corrected HR filter set H fc or The final corrected HR filter data set H fc 14. The method of claim 1, wherein: is the second corrected HR filter data set.
15. The method comprises: (1) The final corrected HR filter data set H fc , (2) the final corrected HR filter data set H fc (3) a model generated from the extracted HR filter data set, and (4) a new modeled HR filter data set generated from the model generated in (2).
15. The method of any one of claims 1 to 14, further comprising:
16. The method further comprises: fc , or the final corrected HR filter data set H fc 16. The method of claim 15, comprising outputting the model generated from the extracted HR filter data set extracted from
17. The extracted HR filter data set H X contains the extracted HR filters, The modeled HR filter data set H M contains the modeled HR filter, The initial HR filter data set H I Selecting (s810) one or more HR filters included therein for correction Obtaining a set of time shifts; for each time shift included in the set of time shifts, obtaining a shifted extracted HR filter using the time shift and the extracted HR filter; calculating an error associated with each of the shifted extracted HR filters; identifying among the calculated errors an error that satisfies a condition; classifying errors associated with the extracted HR filter and the modeled HR filter as classes of delay errors that are correctable based on the identified errors; 17. The method of any one of claims 1 to 16, comprising:
18. The initial HR filter data set H I Selecting (s810) one or more HR filters included therein for correction finding the time shift used to obtain the shifted extracted HR filter associated with the identified error that satisfies the condition; and using the time shift found above as a correction parameter for the class of delay error; 20. The method of claim 17, further comprising:
19. The extracted HR filter data set H X contains the extracted HR filters, The modeled HR filter data set H M contains the modeled HR filter, The initial HR filter data set H I Selecting (s810) one or more HR filters included therein for correction calculating a measure of the difference between the magnitude of the extracted HR filter and the magnitude of the modeled HR filter in the frequency domain; comparing the calculated measure to a threshold value to determine if the calculated measure is less than or equal to the threshold value; classifying errors associated with the extracted HR filter and the modeled HR filter as classes of delay errors that are correctable based on at least the comparison; and 17. The method of any one of claims 1 to 16, comprising:
20. The initial HR filter data set H I Selecting (s810) one or more HR filters included therein for correction Calculating the unwrapped angle and / or phase difference between the extracted HR filter and the modeled HR filter at a sample frequency; determining a linear model that models the calculated difference; determining a modeling error based on the calculated difference and the value of the linear model at the sample frequency; comparing the modeling error to an error threshold; using parameters of the linear model as correction parameters for the class of delay errors based on at least the comparison of the modeling error with the error threshold; 20. The method of claim 19, further comprising:
21. The filter classification list includes the one or more HR filter identifiers in the left extracted Related to the above right extracted The method of claim 10 , further comprising an indicator indicating whether the
22. The method of claim 17 , wherein identifying the error that satisfies the condition comprises identifying a minimum error among the calculated errors.
23. 23. A computer program comprising instructions which, when executed by a processing circuit, cause the processing circuit to perform the method of any one of claims 1 to 22.
24. 24. A carrier containing the computer program of claim 23, wherein the carrier is one of an electronic signal, an optical signal, a radio signal, and a computer readable storage medium.
25. Final corrected head relation (HR) filter data set H fc 1. An apparatus for generating a signal, the apparatus comprising: First corrected HR filter data set H' I to obtain wherein the device is configured to perform the first corrected HR filter data set: Initial HR filter data set H I (s802) The initial HR filter data set H I The extracted HR filter dataset H X (s804) The extracted HR filter data set H X Model M X (s806) The model M X The modeled HR filter dataset H M (s808) The modeled HR filter data set H M and the extracted HR filter data set H X Based on this, the initial HR filter data set H I selecting (s810) one or more HR filters included therein for correction; correcting the selected one or more HR filters to obtain the first corrected HR filter data set H'; I (s812) and The apparatus further comprises: I using the final corrected HR filter set H fc or The final corrected HR filter data set H fc is the first corrected HR filter data set H' I That is, the device.
26. 26. The apparatus of claim 25, wherein the apparatus is further configured to perform the method of any one of claims 2 to 22.
27. An apparatus, the apparatus comprising: Memory and a processing circuit coupled to the memory; and 23. An apparatus comprising: a first input / output port for receiving a first signal from a first input / output port;
Citation Information
Patent Citations
Determination of individual hrtfs
JP2015019360A
Compensating for effects of headset on head related transfer functions
US20200245091A1