Efficient modeling of filters

By dividing the index range of the HR filter data sequence into multiple segments and determining a suitable filter model for each segment, the problem of difficulty in efficient rendering of the spatial position of the sound source in the prior art is solved, and real-time VR is achieved Efficient and accurate spatial audio rendering in /AR/MR/XR systems.

CN119421099APending Publication Date: 2025-02-11TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411466045.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2021-09-09
Filing Date
2022-09-07
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

The prior art is difficult to efficiently render the spatial position of sound sources in real-time VR/AR/MR/XR systems, especially on fine grids that meet the minimum audible angle (MAA) requirements, resulting in spatial discontinuity of sound sources and Reduce immersion.

Method used

By obtaining the set of eigenvalues ​​of the HR filter data sequence, the index range is automatically divided into multiple segments, and a suitable filter model is determined for each segment, achieving efficient HR filter modeling and interpolation.

Benefits of technology

It realizes efficient and precise rendering of the spatial location of the sound source in real-time VR/AR/MR/XR system, meets the requirements of MAA, and improves the spatial continuity and immersion of the sound source.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119421099A_ABST
    Figure CN119421099A_ABST
Patent Text Reader

Abstract

The invention discloses efficient modeling of filters. A method for modeling a set of filters is provided. The method includes obtaining a set of feature values, each of the feature values associated with an index within an index range of the filter, and dividing the index range into a plurality of segments using the obtained set of feature values. The method further includes determining a filter model for at least one segment of the plurality of segments, and outputting the determined filter model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to apparatus and methods for efficient modeling of filters. Background Art

[0002] We are equipped with two ears that capture sound waves traveling toward us. Figure 1 Sound waves propagating toward a listener from a direction of arrival (DOA) are shown, which is specified by a pair of elevation and azimuth angles in a spherical coordinate system. On the propagation path toward us, each sound wave interacts with our upper torso, head, outer ear, and surrounding objects before arriving at our left and right eardrums. This interaction results in temporal and spectral changes in the waveforms that arrive at the left and right eardrums, some of which are DOA-dependent. Our auditory system has learned to interpret these changes to infer various spatial properties of the sound waves themselves and the acoustic environment (where the listener finds himself / herself). This ability is called spatial hearing, which focuses on how we evaluate spatial cues embedded in binaural signals (i.e., sound signals in the right and left ear canals) to infer the location of auditory events elicited by sound events (physical sound sources) and the acoustic properties caused by the physical environment we are in (e.g., a small room, a tiled bathroom, an auditorium, a cave). This human ability (spatial hearing) can then be used to create spatial audio scenes by reintroducing spatial cues in binaural signals that will result in spatial perception of sound.

[0003] The primary spatial cues include: 1) angle-related cues: binaural cues, i.e., interaural level difference (ILD) and interaural time difference (ITD), and monaural (or spectral) cues; 2) distance-related cues: intensity and direct-to-reverberation (D / R) energy ratio. Figure 2An example of clues and ITD of the spectrum of a sound wave propagating towards the listener is shown. The two graphs show the amplitude response of a pair of HR filters obtained at an elevation angle of 0 degrees and an azimuth angle of 40 degrees (the data are from the CIPIC database: object ID 28. The database is publicly available and can be accessed from the URL: www.ece.ucdavis.edu / cipic / spatial-sound / hrtf-data / ). The mathematical representation of the short-term temporal and spectral changes of the waveform (1-5 milliseconds) depending on the DOA is the so-called HR filter. The frequency domain (FD) representation of those filters is the so-called head-related transfer function (HRTF) and the time domain (TD) representation is the head-related impulse response (HRIR). Binaural rendering methods based on HR filters have been gradually established, in which spatial audio scenes are generated by directly filtering the audio source signals (through a pair of HR filters at the desired positions). This approach is particularly attractive for many emerging applications, such as virtual reality (VR), augmented reality (AR), mixed reality (MR), or extended reality (XR), as well as mobile communication systems where head-mounted viewer (headset) is often used.

[0004] HR filters are often estimated from measurements of the impulse response of a linear dynamic system that deforms the original sound signal (input signal) into left and right ear signals (output signals), which can be measured inside the ear channels of the listening object at a predefined set of elevation and azimuth angles on a spherical surface of constant radius from the listening object (e.g., an artificial head, a manikin / mannequin, or a human subject). The estimated HR filters are often provided as finite impulse response (FIR) filters and can be used directly in that format. In order to achieve efficient binaural rendering, a pair of HRTFs can be converted to interaural transfer functions (ITFs) or modified ITFs to prevent abrupt spectral peaks. Alternatively, the HRTFs can be described by a parametric representation. Such parameterized HRTFs are easily integrated into parametric multi-channel audio encoders, such as MPEG Surround and Spatial Audio Object Coding (SAOC).

[0005] Rendering a spatial audio signal to provide a convincing spatial perception of sounds at arbitrary positions in space requires a pair of HR filters at corresponding positions, and therefore, a set of HR filters at positions that are finely sampled on a two-dimensional (2D) sphere is needed. The minimum audible angle (MAA) characterizes the sensitivity of our auditory system to the angular displacement of sound events. With regard to positioning in azimuth, for broadband noise bursts, the MMA is reported to be smallest in the front and rear (approximately 1 degree) and much larger for side sound sources (approximately 10 degrees). The MMA in the mid-plane increases with increasing elevation. For broadband noise bursts, MAAs as low as 4 degrees on average in elevation are reported. Currently, there are some publicly available HR filter databases that are densely sampled in space, such as the SADIE database, the CIPIC database. However, none of them fully meets the MMA requirements, especially the samples in elevation. Even though the SADIE dataset for the artificial head Newman KU100 and the KEMAR mannequin contains more than 8000 measurements, its sampling resolution in elevation angles between -15 and 15 degrees is 15 degrees, while according to the MAA study, 4 degrees is required. Inevitably, angular interpolation of the HR filter is required so that sound sources can be rendered at positions where no actual filter has been measured. Figure 3 An example showing a 2D spherical upsampling grid, with points indicating where the HR filter is measured.

[0006] For angular interpolation of HR filters, several different interpolation schemes have been developed. From the ball The measurement of is estimated, where r represents the right ear, 1 represents the left ear, and θ represents the elevation angle, represents the azimuth. The task is to find the function in It provides left and right filters that deliver audio rendering with good perceptual accuracy at an unsampled angle. is obtained, the left and right ear HR filters can be generated at any arbitrary position (by Note that the superscript l or r is sometimes omitted (for simplicity and to avoid confusion).

[0007] Here are the two main methods used for HRTF angle interpolation:

[0008] (1) Local Neighbor Approach: A commonly used approach is linear interpolation, where the missing HRTF is inferred by weighting the contribution of the HRTFs measured at its nearest surrounding locations. The HRTF may be preprocessed before interpolation, for example, the HRTFs measured at two or more nearest locations are first converted to minimum phase, and then linear interpolation is applied.

[0009] (2) Variational approach: A more sophisticated data-driven approach is to linearly deform the measured HRTF into another space defined by a set of basis functions, where one set of basis functions covers the elevation and azimuth angle dimensions and the other set covers the frequency dimension. The basis functions can be obtained by eigendecomposition of the covariance matrix of the measured HRTF. Spherical harmonics (SH), which are complete and orthogonal on a 2D sphere, have been widely used as basis functions to cover the elevation and azimuth angle dimensions. Basis spline (B-spline) functions can be used in modeling HR filters. Summary of the invention

[0010] The ability to accurately and efficiently render the spatial location of sound sources is one of the key features of HR filter-based spatial audio renderers. The spatial resolution of the HR filter set used in the renderer determines the spatial resolution of the rendered sound source. Using a set of HR filters coarsely sampled on a 2D sphere, VR / AR / MR / XR users often report spatial discontinuities in moving sounds. Such spatial discontinuities result in audio-video synchronization errors that significantly reduce immersion. Using a set of HR filters finely sampled on the sphere is a solution. However, estimating the HR filter set from output-output measurements on a fine grid that meets MAA requirements can be very time-consuming and tedious for both the subject and the experiencer. Therefore, it is more efficient to infer spatial-related information related to the missing HR filters given a coarsely sampled HR filter data set.

[0011] The nearest-neighbor HR filter interpolation method assumes that the HR filter at each sample position only affects a region at most a certain finite distance away. The HR filters at non-sampled positions are then approximated as a weighted average of a given number of HR filters at positions within a certain cutoff distance or from the nearest points on a rectilinear 2D grid. The method is simple and has low computational complexity, which can lead to efficient implementations. However, the interpolation accuracy may not be sufficient to produce a convincing spatial audio scene. This is because the variations in conditions between sample points are more complex than a weighted average of the filters can produce.

[0012] The variational method expresses the HR filter as elevation and azimuth angles In general form, the model can be expressed by is represented by , where f can be α with all model parameters and α with all basis functions. The basis functions can be learnable or predefined. Whether a linear or nonlinear model is used, the optimal model parameter vector The α vector is obtained to minimize the chosen loss function L, which may contain a normalization term in Given α and In the case of , the HR filter h[m] is approximated at the sampling angle (θ[m], φ[m]). Given a set of basis functions, the coefficients is considered to be the "best" fit in the sense of solving a minimization problem. The model with optimized model parameters is obtained by is indicated.

[0013] In principle, there are no constraints on the choice of basis functions. Principal components (PCs) are often used as basis functions, where the PCs are obtained by eigendecomposition of the covariance matrix of the HR filters in the dataset. The resulting model is efficient. It represents the original dataset very well, although there is no mechanism to interpolate the HRTF at missing locations. Recently, a hybrid approach has been proposed that combines the principal component analysis (PCA) with the nearest-neighbor method, where the model coefficients are approximated by partial differentiation. However, the hybrid approach only achieves results similar to bilinear interpolation based on nearest-neighbor.

[0014] Another commonly used basis function is spherical harmonics (SH). The SH model yields encouraging performance levels in terms of the average mean square error (MSE) of the model. Given that evaluating the SH basis function is complex and expensive, it is essentially impossible to use it in real-time VR / AR / MR / XR systems.

[0015] The B-spline HR filter model can be used to generate HR filters at any arbitrary position in space. The model is accurate in terms of MSE measurement, and the computational effort and perceptual evaluation required to evaluate HR filters from the model is much lower than models using spherical harmonics or other complex basis functions.

[0016] However, the B-spline filter model gives equal weight to each tap of the entire filter, even though the contribution of each tap to the binarization is significantly different. Such equal weights lead to redundancy in the model, and therefore further improvements in modeling efficiency are needed.

[0017] Embodiments of the present disclosure provide a method for efficient modeling of HR filters. Each HR filter in the HR filter set is represented as a data sequence with an index range, and embodiments of the present disclosure can achieve efficient modeling by automatically segmenting the index range of the data sequence representing the filter, where the filter is modeled (a separate filter model used for each segment, which depends on the changing characteristics of the segment). The resulting HR filter model consists of filter models on different segments and can be used to generate HR filters at any arbitrary position in space, which is accurate and efficient enough to be used in real-time VR / AR / MR / XR. The resulting HR filter model can be accurate in terms of MSE measurement and perceptual evaluation. Similarly, the resulting HR filter model can be efficient in terms of the amount of computation required to evaluate the HR filter obtained from the HR filter model and the total number of basis functions.

[0018] Even though the embodiments described below focus on modeling a set of HR filters over spherical elevation and azimuth angles, the embodiments can be used to handle any set of data arrays sampled over a set of discrete spherical elevation and azimuth angles that can be modeled over a continuous space of spherical elevation and azimuth angles. Those data arrays (and / or sequences) can be represented in the time domain or in other deformation domains (e.g., the frequency domain).

[0019] In order to accurately and efficiently generate HR filters at arbitrary locations, in one aspect, a method for efficient modeling of a set of filters (e.g., head-related (HR) filters) is provided. The method includes obtaining a set of eigenvalues, each of which is associated with an index within an index range of a data sequence representing the filter (e.g., a 256-tap FIR HR filter has an index range of 1-256), and using the obtained set of eigenvalues, dividing the index range into a plurality of segments. The method also includes determining a filter model for at least one segment of the plurality of segments and outputting the determined filter model.

[0020] 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 above method.

[0021] In another aspect, an apparatus for efficient modeling of a set of filters (e.g., head-related (HR) filters) is provided. The apparatus is configured to obtain a set of eigenvalues, each of which is associated with an index within an index range of a data sequence representing the filter (e.g., a 256-tap FIR HR filter has an index range of 1-256), and using the obtained set of eigenvalues, divide the index range into a plurality of segments. The apparatus is further configured to determine a filter model for at least one segment of the plurality of segments and output the filter model.

[0022] From this point on, the index range of the data sequence representing the filter will be referred to as the index range of the filter.

[0023] In another aspect, a device is provided comprising a memory and a processing circuit coupled to the memory. The device is configured to perform the above method.

[0024] In some embodiments, segments (within the index domain of the data sequence) can be automatically identified over which filter sets can be modeled with different variation characteristics (e.g., from small to large), and models with different model complexities can be used for different segments, depending on the different variation characteristics of the different segments. For example, segments with large variation characteristics can be represented by complex models, while segments with small variation characteristics can be represented by simple models.

[0025] This discriminative mapping between the levels of complexity of the segments and the model results in an efficient model representation of the data sequence that requires significantly less space in memory (compared to the original data sequence). In addition, building the filter model no longer requires densely sampled data sequences in spherical elevation and azimuth angles. Finally, the discriminative mapping between the levels of complexity of the segments and the model allows for an accurate and efficient interpolation solution for spherical angles between discretely sampled spherical angles of the original data sequence. By allowing efficient and accurate model representation of data sequences to be provided, embodiments of the present disclosure are particularly useful for real-time VR / AR / MR / XR systems. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate various embodiments.

[0027] Figure 1 Shows sound waves propagating toward a listener.

[0028] Figure 2 The HR filter and interaural time delay (ITD) of a sound wave propagating towards the listener are shown.

[0029] Figure 3 An example of a 2D sphere upsampling grid is shown.

[0030] Figure 4 A simplified process according to some embodiments is shown.

[0031] Figure 5 A process according to some embodiments is shown.

[0032] Fig. 6A and 6B An example of a modified index of dispersion (MIOD) curve is shown.

[0033] Figure 7 An example of MIOD-based segmentation is shown.

[0034] Figure 8 Cumulative histogram of MIOD values ​​is shown.

[0035] Fig. 9 A process according to some embodiments is shown.

[0036] Fig.10 An apparatus according to some embodiments is shown.

[0037] Fig.11 A system according to some embodiments is shown.

[0038] Fig. 12A and 12B A system according to some embodiments is shown. DETAILED DESCRIPTION

[0039] In the present disclosure, filters (or filter sets, filter data sets) and HR filters (or HR filter sets, HR filter data sets) are used interchangeably. However, HR filters are a type of filter. Therefore, when "filters" are mentioned in the present disclosure, it can refer to HR filters or any other data filters.

[0040] 1. Data variables and notations

[0041] The general data structure can be represented as a list of data sequences and other data structures. Basic HR filter data set (which contains HR filters sampled at M elevation and azimuth angles {(θ[m], φ[m]): m=1, ..., M}, where θ and φ are elevation and azimuth angles, respectively, and m represents an am index) can be provided in the form of a data list, ·θ={θ[m]: m=1, . . . , M} represents a sequence of elevation angles. φ={φ[m]: m=1, ..., M} represents a sequence of azimuth angles. ·H l ={hl [m]: m = 1, ..., M} represents the set of left HR filters, where h l [m]=[h l [1:m], ...h l [n;m],...,h l [N l ; m]] is the length N l is a finite impulse response (FIR) filter, and n is the index of the filter tap at a certain time instant. ·H r ={h r [m]: m = 1, ..., M} represents the set of right HR filters, where h r [m]=[h r [1:m]...,h r [n;m],...,h r [N r ; m]] is the length N r The FIR filter, and n is the index of the filter tap at a certain moment.

[0042] The length of the left and right filters can be the same, N l =N r .

[0043] In some embodiments, It can be an extended HR filter dataset. For example, In addition to θ, φ, H l , H r , In addition, it may also contain a data sequence indicating the start delay of the start of the impulse response. In such a case, in ·τ l ={τ l [m]: m=1, ..., M} represents the sequence of the starting delay of the left HR filter. ·τ r ={τ r [m]: m=1, ..., M} represents the sequence of the starting delays of the right HR filter.

[0044] Additionally, It may also contain a data series of interaural time delays (ITDs) derived from the onset delays of the left and right HR filters, i.e. where τ ITD ={τ ITD [m]: m=1, ..., M} represents the sequence of ITD.

[0045] Alternatively, instead of starting a delayed data sequence, The data sequence may contain the ITD derived from the starting delays of the left and right HR filters, i.e.

[0046] In the following examples, three different HR filter datasets are used: original dataset A collection of segmented datasets And the dataset generated by the model

[0047] Original Dataset Always contains But may additionally contain In particular, if and is a set of zero-time-delay HR filters, then or is needed to recover the ITD information. Therefore, as discussed above, Can be expressed as or or

[0048] A collection of segmented datasets contains I sets of piecewise HR filter taps that can be used in the modeling module. In the form of a data list, and Given the segmentation parameters In the case of and The left and right sequences of the extracted filter taps. · is a sequence of indices of the left HR filter taps for the ith segment, and · is the sequence of indices of the right HR filter taps for the i-th segment, and · in is the length The sequence of HR filter taps. · in is the length The sequence of HR filter taps.

[0049] Datasets generated by the model is the HR filter model The resulting filter set. It always contains depending on The type of filter in May also contain or

[0050] The statistical feature set can be used to obtain segmentation parameters This feature set is represented as ·S l ={s l [n]: n = 1, ..., N l}, where s l [n]=[s l [1;n],...,s l [J; n]] is the tap from the nth left HR filter [h l [n; 1], ...h l [n;m],...,h l [n;M] is the sequence of J features obtained. J is also called the dimension of the feature set. ·S r ={s r [n]: n = 1, ..., N r}, where s r [n]=[s r [1;n],...,s r [J; n]] is the tap from the nth right HR filter [h r [n; 1], ...h r [n;m],...,h r [n; m]] to obtain a sequence of J features.

[0051] To simplify notation, for the remainder of the present disclosure, when subscripts and / or superscripts are not specifically required, they will be omitted.

[0052] 2. Brief Overview of Methods Used to Model HR Filters

[0053] Figure 4 A method 400 for improving the efficiency of a modeled HR filter is shown. The method 400 may include a data analysis step s402, a modeling step s404, and an output step s406.

[0054] The input of method 400 may be a HR filter dataset Data analysis specification X, and output specification O.

[0055] Original HR filter dataset The HR filter dataset can be loaded from an existing file into was obtained.

[0056] Data analysis specifications Can be (1) a list of desired statistical features and (2) feature analysis algorithm and / or (3) with the algorithm A collection of associated parameters (if requested).

[0057] The statistical features can summarize the main variation characteristics of each HR filter tap across angles. As mentioned above, the contribution of each filter tap to the binarization varies significantly. Given that the HR filter is DOA-dependent, such contributions can be quantitatively measured by the variability of the HR filter taps across angles, and the contribution increases proportionally to the level of variability. Therefore, measures of statistical variability can be useful and desirable.

[0058] A sophisticated data clustering algorithm may be specified and used to analyze the distribution of statistical features (which are then used to classify the HR filter taps for segmentation). The required parameter settings may include the distance function d to be used, the set of criteria expressing the separation and / or similarity of the clusters to be found The expected number of clusters I corresponds to the number of segments, and so on.

[0059] On the other hand, simple techniques may be sufficient for segmentation (if the desired feature set is one-dimensional).

[0060] The output specification O may contain the type of the desired output dataset (via ), and (if required) the sequence of desired angles {θ D ,φ D}. Indicates that the output dataset is the HR filter dataset The model representation Or the HR filter dataset generated by the model {θ D ,φ D} can be obtained from The output may be an improved HR filter dataset. The HR filters of the improved HR filter dataset may be stored in and A set of HR filters may be represented in the same format or may be generated by a model or models.

[0061] According to some embodiments, the HR filter modeling method 400 may contain three steps.

[0062] Data Analysis Step (s402) - The data analysis step can be used to quantitatively describe the statistical characteristics of the HR filter set and identify the boundaries that divide the HR filter taps into several non-overlapping segments.

[0063] Modeling step (s404) - The modeling step may transform the HR filter data set into an efficient representation in the form of a mathematical model. Non-overlapping segments may be modeled separately, and the model complexity may depend on the variation characteristics of the filter taps in the segment.

[0064] Output step (s406) - The output step may output the data set according to the output specification O.

[0065] According to some embodiments, the HR filter modeling method 400 may be performed in a single entity or in multiple connected entities. For example, the method 400 may be performed in a binaural audio renderer. In another example, the method 400 may be performed in a single server (e.g., an edge server).

[0066] The method can be run offline or inside a binaural audio renderer (along with loading the HR filter set into the renderer).

[0067] 3. Description of the method used to model the HR filter

[0068] Figure 5 A method for efficiently modeling HR filters of an HR filter set is shown. The input of method 500 may include: an HR filter dataset Data analysis specification X and output specification O.

[0069] As explained above, or or

[0070] As further explained above, the data analysis specification X is A combination or any set of is a list of desired statistical features, is the feature analysis algorithm, and It is the same as the algorithm A collection of associated parameters.

[0071] The output specification O can define the type of expected output data set (through ) and (if required) the sequence of desired angles {θ D ,φ D}.

[0072] After obtaining the input, the method 500 may perform three steps: (1) a data analysis step s502, (2) a modeling step s504, and (3) an output step s506. Each of the three steps s502-s506 is described in detail below.

[0073] 3.1 Step s502: Data analysis step

[0074] The data analysis step s502 can be used to quantitatively describe The statistical features of the HR filter in the image are analyzed and the boundaries that divide the HR filter into several non-overlapping segments are identified.

[0075] like Figure 5 As shown in FIG. 5 , the data analysis step s502 may include the following two sub-steps s512 and s514: (1) Sub-step s512: Obtaining a statistical feature set and (2) sub-step s514: obtain a list of segments

[0076] 3.1.1 Sub-step s512: Obtaining a statistical feature set

[0077] The data analysis specification X can specify that The statistical characteristics of the HR filter are calculated Statistical features can be obtained for each HR filter tap, and their values ​​are stored in In. S l ={s l [n]: n = 1, ..., N l}, where s l [n]=[s l [1,n],...,s l [J,n]] is the tap from the nth left HR filter [h l [n; 1], ...h l [n;m],...,h l [n; M]] to obtain a sequence of J features. r ={s r [n]: n = 1, ..., N r}, where s r [n]=[s r [1,n],...,s r [J,n]] is the tap from the nth right HR filter [h r [n; 1], ...h r [n;m],...,h r [n;M]] obtains a sequence of J features.

[0078] In one embodiment, the index of dispersion (IOD) may be used as a statistical feature to measure the statistical variability of each HR filter tap across angles. Typically, the IOD is defined as the ratio of the variance to the mean, where the mean is non-zero, and it is only used for positive statistics. Because the mean of the HR filter may be negative, in order to ensure that the IOD is always positive, the IOD may be modified (hereafter, the modified IOD-also referred to as MIOD) to be the ratio of the variance to the normalized L1 norm (instead of the mean). This modification is reasonable because for HR filters, it is of great interest whether a certain moment (tap index) is in the active segment of the impulse response, regardless of whether the tap value is positive or negative.

[0079] The MIOD at a certain moment can be calculated as: Where M is the total number of sample angles at which the HR filter is measured and obtained, and n is 1 and N l or N r (which is the total number of left or right HR filter taps).

[0080] Then, the characteristic set of the left HR filter taps can be: S l ={s l [n]:n=1,...,N l}=[MIOD l (n):n=1,...,N l ]

[0081] Similarly, the characteristic set of the right HR filter taps can be: S r ={s r [n]: n = 1, ..., N r}=[MIOD r (n): n=1, ..., N r ].

[0082] The ideal MIOD curve may be a 'bell'-shaped-like curve. max has a single maximum at , and its value increases with |nn max |Increase gradually decrease.

[0083] Fig. 6A Example showing MIOD curve - MIOD l- It is calculated from the left ear HR filter from the FABIAN database (https: / / depositonce.tu-berlin.de / handle / 11303 / 6153.4). The HR filter is also plotted for five azimuth angles in the horizontal plane, 0 degrees (middle), -30 degrees (right), -80 degrees (right), 30 degrees (left), 80 degrees (left). It can be clearly seen that the "cup" area where MIOD has large values ​​corresponds to the area where the main impulse response of the HR filter in the dataset appears. Figure 6B show Fig. 6A An enlarged portion of the MIOD curve is shown in FIG.

[0084] As discussed above, H l ={h l [m]: m = 1, ..., M}, where h l [m]=[h l [1:m]...,h l [n;m],...,h l [Nr;m]] can be of length N l FIR filter. Fig. 6A In the example shown in l Equal to 256.

[0085] As a result of executing sub-step s512, for each index (n=1, 2, 3, ... N l ) change score (e.g. MIOD l (n)) may be obtained. For example, index 1 may be associated with change score #1 and index 2 may be associated with change score #2, where each of change scores #1 and #2 is a positive number.

[0086] 3.1.2 Sub-step s514: Get a list of segments

[0087] As explained above, the data analysis specification X can be A combination or any set of is a list of desired statistical features, is the feature analysis algorithm, and is a set of parameters associated with the algorithm.

[0088] Given a feature analysis algorithm and a set of parameters that may be associated with the algorithm In the case of data analysis, the feature set S l and S rAs a result of data analysis, each feature set can be divided into I groups, namely, in and in and

[0089] For example, Figure 7 As shown in , the feature set of the left HR filter taps can be divided into three groups - segments I-III. Here, the number of segments I is equal to 3.

[0090] The three groups may be non-overlapping, which means and (for i≠i′). The analysis results can then be used to obtain a list of non-overlapping segments of HR filter taps Each entry in the list may contain: (1) a segment IDi; (2) a set of indices and (3) level of variability This is explained in more detail in the following figures.

[0091] by Figure 7 As an example, as a result of executing sub-step s514, the list of segments Available. List May include a segment ID identifying segments I-III, a set of indices defining the boundaries of each segment of segments I-III, and a level of variability for each segment of segments I-III.

[0092] In one embodiment, a sophisticated data clustering algorithm may be used to analyze the distribution of the feature set. This may be particularly important and useful when the feature set is multidimensional. The required parameter settings may include the distance function d to be used, the set of criteria that express the separation and / or similarity of the clusters in the clusters to be found, and the distance function d to be used. The expected number of clusters I corresponds to the number of segments, and so on.

[0093] In another embodiment, when the desired feature set is one-dimensional, simple techniques may be sufficient for segmentation, such as thresholding. For example, in a scenario where MIOD is the desired feature as a measure of variability, the simplest thresholding approach may be used - which would set a fixed constant and pass be found.

[0094] In one embodiment, the variability level of a segment (where the number of segments is 1) is assigned level values ​​LV1, LV2, ..., LV I, where level LV1 is assigned to segments where all taps have MIOD values ​​above a highest threshold; level LV2 is assigned to segments where all taps have MIOD values ​​above a second highest threshold (and less than the highest threshold), and so on.

[0095] Figure 7 An example of MIOD-based segmentation is shown. For example, all values ​​of MIOD values ​​of segments having level value LV1 are greater than or equal to a first threshold (i.e., first threshold ≤ MIOD value) and all values ​​of MIOD values ​​of segments having level value LV2 are greater than or equal to a second threshold but less than the first threshold (i.e., second threshold ≤ MIOD value ≤ first threshold).

[0096] The threshold may be user defined or may be set automatically. In an embodiment where the threshold is set automatically, the threshold may be determined dynamically using a method based on the shape of the cumulative histogram.

[0097] Figure 8 Show from Figure 7 The cumulative histogram of MIOD values ​​of . The number of segments I (e.g., three) can be selected by the user. In one embodiment, the segment with the highest level of variation is selected to contain 20% of the filter taps. Figure 8 In the cumulative histogram shown in , it is seen that the segment with the highest level of variation is obtained (for MIOD levels greater than 0.022). Therefore, the MIOD threshold for the segment with the highest level of variation is set to 0.022.

[0098] The threshold for the segment with the lowest level of variation is selected to be one-tenth of that threshold (0.0022) and the segment is selected to contain all MIOD values ​​less than that threshold. When I=3, only one segment remains, namely the one with MIOD values ​​between 0.0022 and 0.022. For I greater than 3, the threshold interval will be divided into more sub-intervals. The value of I (i.e., the number of segments), the value of the threshold, and the percentage of filter taps contained in one or more segments are provided in the figure for illustration purposes only and do not limit the embodiments of the present disclosure in any way. There are many possible methods for achieving this subdivision, which are not further specified here.

[0099] In some databases, the length of the HR filter (N l and N r ) may be much longer than necessary, indicating that some filter taps contribute too little to the binarization and those filter taps are considered redundant. For such scenarios, the threshold can be specified at In , the variability level of a segment below this threshold is too low to contribute to binarization, and the segment can be discarded. This leads to as well as

[0100] 3.2 Step s504: Modeling step

[0101] Figure 5 The modeling step s504 shown in FIG. 5 may be performed for each of all segments. The modeling step s504 may include the following four sub-steps: (1) Sub-step s522 - Obtaining a segmented data set (2) Sub-step s524: Obtain basis functions for segment i (3) Sub-step s526: Obtaining Model and (4) sub-step s528 - obtain the complete model Can additionally include a delay model

[0102] 3.2.1 Sub-step s522: Obtaining segmented data sets

[0103] A collection of segmented datasets in Obtained as The corresponding data structure in the list of segments The collection of indexes from In is extracted, where · in is the length The sequence of HR filter taps · in is the length The sequence of HR filter taps.

[0104] by Figure 7 As an example, a collection of segmented datasets Can be obtained. corresponding to indices between 21 and 71, corresponding to indices between 14-20 and between 72-247, and Corresponding to indices between 1 and 13 and between 248 and 256.

[0105] 3.2.2 Sub-step s524—obtaining basis functions for segment i

[0106] The basic principle is that the number of basis functions and the complexity of the basis functions are inversely proportional to the level of variation of the segment. The specific implementation of this principle may vary depending on the type of basis functions chosen and computational considerations.

[0107] 3.2.3 Sub-step s526: Obtaining Model

[0108] The i-th set of segmented left and right filter taps, and Can be modeled separately.

[0109] H i The spatial variation of the filter taps in can be modeled separately as elevation and azimuth angles In general form, the model can be expressed by is represented by, where f can be A with all model parameters i and contains all basis functions The basis functions can be learnable or predefined. The complexity of the The higher the variability level, the more complex the model is.

[0110] As an example, for a linear model, this function can be explicitly expressed as Among them, A i ={α i,p :p=1,...,P i}(where α i,p is the length The model parameter vector of is a sequence of basis function vectors. If the variability level The higher , better modeling results can be achieved (by increasing the number of basis functions and / or using more complex basis functions).

[0111] Note that here and (instead of θ and φ) is used to distinguish spatial variables from fixed spatial sampling points. Whether a linear or nonlinear model is used, the optimal model parameter vector Can be obtained as A i vector (which minimizes a chosen loss function L which may include a normalization term) in is given and In the case of h at the sampling angle (θ[m], φ[m]) i [m]. An example of such a loss function is the squared error loss

[0112] For a linear model, the optimal model parameter matrix can be obtained by linear least squares estimation. For nonlinear models, the optimal model parameter matrix can be estimated by an iterative gradient based method.

[0113] Section i The model is represented by is represented by, which contains the optimal model parameter vector and Basis Functions and the modeling function itself f that determines the relationship between the model parameters and the basis functions i In the given In the case of angle The HR filter taps in the i-th segment of can be calculated.

[0114] 3.2.4 Sub-step s528: Obtaining the complete model

[0115] for The complete model representation of Can contain segmented data sets The model represents that

[0116] if is a zero-time-delay HR filter dataset with an additional delay model Required. Left start delayed collection and right start delay collection or ITD collection (It is and The difference between the two angles can be modeled separately as elevation and azimuth angles The model of the set of delays τ can be obtained by is represented by , where g can be a β with all model parameters and a β with all basis functions. The basis functions can be learnable or predefined.

[0117] As an example, for a linear model, this function can be given by where β q is the qth basis function Model parameters. Similar to the HR filter, the optimal model parameter vector The β vector can be obtained to minimize the loss function chosen. An example of such a loss function is the squared error loss in Given β and In the case of , the delay τ[m] at the sampling angle (θ[m], φ[m]) is approximated.

[0118] The delay can be modeled by is represented by, which contains the optimal model parameter vector Basis Functions and Description and The modeling function of the relationship between .

[0119] Therefore, when applicable, May also include model representation of the onset delay of the left and right HR filters and Or the model representation of ITD Can be one of the three forms listed below, or or

[0120] 3.3 Step s506: Output step

[0121] like Figure 5 As shown in FIG. 5 , in the output step s506, the method 500 may output one or more of the following based on a given output specification O: (1) model or (2) the desired (D) elevation and azimuth angles (θ) specified in the output specification O D ,φ D )From the model Generated new HR filter dataset

[0122] New HR filter dataset At a given location, you can is generated, the given position is passed through the desired angle {θ D ,φ D} is specified, where θ D ={θ D [m]: m = 1, ..., M D} and φ D ={φ D [m]: = 1, ..., M D} is specified in the output specification o. Here, MD is the number of angles desired in the sequence. In some embodiments,

[0123] HR filter and This can be done through the following two sub-steps: is generated.

[0124] 3.3.1 First sub-step: Initialize the empty HR filter set and

[0125] represents the set of generated left HR filters, where is the length An empty vector of Similarly, represents the set of generated right filters, where is the length An empty vector of

[0126] 3.3.2 Second sub-step: filling the empty HR filter set and

[0127] In some embodiments, the empty HR filter set and can be filled (for each i in {1, ..., I}) via the following process:

[0128] For {1, ..., M D} for each m:

[0129] Process 1 - Sampling angle sequence θ D and φ D Get the spherical angle θ D [m] and φ D [m].

[0130] Process 2 - Given Model in In the case of i , optimal model parameters and basis functions Calculate in (θ D [M],φ D HR filter taps [m] In the case of linear models, pass is calculated.

[0131] Step 3 - Assigned to

[0132] Process 4 - Given Model in In the case of i , optimal model parameters and basis functions Calculate in (θ D [M],φ D HR filter taps [m] In the case of linear models, pass is calculated.

[0133] Step 5 - Assigned to

[0134] Similarly, from Generate Left Start Delay from Generate right start delay or from Generate ITD The steps involved are the following:

[0135] For {1, ..., M D Each m in

[0136] Process 1 - Sampling angle sequence θ D and φ D Get the spherical angle θ D [m] and φ D [m].

[0137] Process 2 - Given Delay setting model in In the case of and basis functions Calculate in (θ D [m], φ D Delay [m]) In the case of linear models, pass is calculated.

[0138] Fig. 9A process 900 for modeling a set of filters is shown. The process 900 may begin at step s902. Step s902 includes obtaining a set of eigenvalues, each of the eigenvalues ​​being associated with an index within an index range of a filter. Step s904 includes dividing the index range into a plurality of segments using the obtained set of eigenvalues. Step s906 includes determining a filter model for at least one segment of the plurality of segments. Step s908 includes outputting the determined filter model.

[0139] In some embodiments, obtaining the set of feature values ​​includes calculating a feature value associated with each index included in the index range.

[0140] In some embodiments, a feature value associated with each index included in the range of indices is calculated using mathematical values ​​associated with filter values ​​obtained at multiple sample angles.

[0141] In some embodiments, the mathematical value is any one of a variance value of filter values, or a minimum value among filter values, or a maximum value among filter values, or an average value of filter values, wherein the filter values ​​are obtained at a plurality of sample angles.

[0142] In some embodiments, partitioning the index range into the plurality of segments includes clustering feature values ​​into a plurality of clusters, and partitioning the index range into the plurality of segments using the plurality of clusters.

[0143] In some embodiments, dividing the index range into the plurality of segments comprises: comparing each feature value included in the set of feature values ​​with a threshold; and dividing the index range into the plurality of segments based on the comparison of each feature value with the threshold.

[0144] In some embodiments, dividing the index range into the plurality of segments includes dividing the index range into a first segment and a second segment, and determining the filter model for the at least one segment includes determining a first filter model for the first segment and a second filter model for the second segment.

[0145] In some embodiments, the first filter model and / or the second filter model are functions of basis functions, and the number of basis functions for the first filter model is different from the number of basis functions for the second filter model.

[0146] In some embodiments, the first filter model and / or the second filter model are functions of basis functions, and the order of the basis functions for the first filter model is different from the order of the basis functions for the second filter model.

[0147] In some embodiments, the first filter model and / or the second filter model are functions of basis functions, and the order of the basis functions for the first filter model is the same as the order of the basis functions for the second filter model.

[0148] In some embodiments, the method also includes calculating a first variability level for a first segment; and calculating a second variability level for a second segment, wherein a first filter model is determined for the first segment based on the first variability level, and a second filter model is determined for the second segment based on the second variability level.

[0149] In some embodiments, a first level of variability is determined based on one or more feature values ​​associated with the first segment, and a second level of variability is determined based on one or more feature values ​​associated with the second segment.

[0150] In some embodiments, the method further includes obtaining a set of segmented data sets comprising a first set of segmented data sets and a second set of segmented data sets, wherein the first set of segmented data sets includes a first set of segmented filter parameters associated with a first segment of the plurality of segments, the second set of segmented data sets includes a second set of segmented filter parameters associated with a second segment of the plurality of segments, and the first segment and the second segment do not overlap with each other.

[0151] In some embodiments, the method also includes analyzing the distribution of feature values ​​along the index range; obtaining a feature quantity value indicating a specific number of feature values ​​to be included in a specific segment of the index range; and setting a threshold so that the number of feature values ​​greater than or equal to the threshold is greater than or equal to the feature quantity value.

[0152] Fig.10 is a block diagram of an apparatus 100 for performing the methods disclosed herein according to some embodiments. More specifically, in some embodiments, Fig.11 The filter model provider 1104 shown in FIG. 1 may be implemented at least in part in the form of the device 1000. Fig.10As shown in FIG. 1 , device 1000 may include: processing circuitry (PC) 1002, which may include one or more processors (P) 1055 (e.g., a general purpose microprocessor and / or one or more other processors, such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), and the like), which may be co-located in a single housing or in a single data center, or may be geographically distributed (i.e., device 1000 may be a distributed computing device); (optionally) at least one network interface 1048 including a processor for enabling device 1000 to communicate with the computer; A transmitter (Tx) 1045 and a receiver (Rx) 1047 capable of transmitting data to or receiving data from other nodes connected to a network 110 (e.g. an Internet Protocol (IP) network) to which a network interface 1048 is (directly or indirectly) connected, for example the network interface 1048 may be wirelessly connected to the network 110, in which case the network interface 1048 is connected to an antenna arrangement; and a storage unit (also referred to as a "data storage system") 1008, which may include one or more non-volatile storage devices or one or more volatile storage devices. In an embodiment in which the PC 1002 includes a programmable processor, a computer program product (CPP) 1041 may be provided. The CPP 1041 includes a computer readable medium (CRM) 1042 storing a computer program (CP) 1043, the computer program (CP) 1043 including computer readable instructions (CRI) 1044. CRM 1042 can 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), and the like. In some embodiments, CRI 1044 of computer program 1043 is configured so that when executed by PC 1002, CRI causes device 1000 to perform the steps described herein (e.g., the steps described herein with reference to the flowchart). In other embodiments, device 1000 may be configured to perform the steps described herein (without requiring a node). That is, for example, PC 1002 may consist of only one or more ASICs. Therefore, the features of the embodiments described herein may be implemented in hardware and / or software.

[0153] Fig.11A system 1100 for providing an extended reality (XR) (e.g., VR / MR) experience according to an embodiment of the present invention is shown. The system 1100 may include a content / service provider (e.g., a server or a group of servers) 1102, a filter model provider (e.g., a server or a group of servers) 1104, a local computing unit 1106 (e.g., a personal computer), and an XR experience renderer 1108 (e.g., a VR head-mounted viewer). The content / service provider 1102 and the filter model provider 1104 are provided on the server side, while the local computing unit 1106 and the XR experience renderer 1108 are provided on the client side.

[0154] The filter model provider 1104 may be configured to perform the above method (eg Figure 4 , 5 and the method shown in 9), thereby outputting a set of filters (e.g., a set of HR filters).

[0155] In one example, the content / service provider 1102 may be a cloud-based gaming service provider that provides VR gaming services to users via the network 110. In order to provide a more realistic gaming experience, the content / service provider 1102 may want to provide audio data to the XR experience renderer 1108, which can be used to create sound effects as if the user is in a VR environment. Such audio data may allow the user to hear different sounds based on the user's orientation. In order to provide such audio data, the content / service provider 1102 may send a request for a model (e.g., an HR filter model) or a filter (e.g., an HR filter) created from the model to the filter model provider 1104. The model may be used to generate an (audio) filter that may be used to generate audio perceived by the user as if the user is in a specific orientation in the VR environment. Upon receiving the model or the filter, the content / service provider 1102 may send the audio data containing the model and the filter to the local computing unit 1106 via the network 110.

[0156] In some embodiments, instead of receiving a request for a model from content / service provider 1102, filter model provider 1104 may receive a request from a user (ie, XR experience renderer 1108). In such embodiments, filter model provider 1104 may send the model or filter to the user.

[0157] The local computing unit 1106 may generate audio data using the received model or the received filter and provide the generated audio data to the XR experience renderer 1108. After receiving the audio data from the local computing unit 1106, the XR experience renderer 1108 may generate sounds to be perceived by the user as if the user was at a specific orientation in the VR environment.

[0158] In the above embodiments, the local computing unit 1106 is provided as a separate entity from the XR experience renderer 1108. However, in other embodiments, the local computing unit 1106 may be included in the XR experience renderer 1108.

[0159] In the above embodiments, the filter model provider 1104 may be an audio data provider that specializes in providing spatial audio data, and is a separate and different entity from the content / service provider 1102 (which may be a VR game service provider). However, in other embodiments, the filter model provider 1104 and the content / service provider 1102 may be the same entity (for example, a VR game service provider may also provide spatial audio data).

[0160] Alternatively, instead of having a filter model provider 1104, the functionality of the filter model provider 1104 - i.e., providing audio filter models or audio filters - may be implemented in the local computing unit 1106. In other words, the local computing unit 1106 may be capable of generating and storing audio models or audio filters. The audio models or audio filters may be used to generate audio perceived by the user as if the user were at a particular orientation in the VR environment.

[0161] Fig. 12A and 12B The XR experience renderer 1108 (including left speaker 1252 and right speaker 1254) is shown in accordance with some embodiments. Fig. 12A As shown in , the XR experience renderer 1108 is configured to be worn by a user. Fig. 12B As shown in , the XR experience renderer 1108 may include an orientation sensing unit 1202, a position sensing unit 1204, a processing unit 1206, an audio processing unit 1208, and two speakers 1252 and 1254. The orientation sensing unit 1202 is configured to detect a change in the orientation of the listener and provide information about the detected change to the processing unit 1206. In some embodiments, given a detected change in the orientation detected by the orientation sensing unit 1202, the processing unit 1206 determines an absolute orientation (relative to a certain coordinate system). There may also be different systems for determining position and orientation, such as systems using lighthouse trackers (lidar). In one embodiment, given a detected change in orientation, the orientation sensing unit 1202 may determine an absolute orientation (relative to a certain coordinate system). In this case, the processing unit 126 may simply multiplex the absolute orientation data from the orientation sensing unit 1202 and the absolute position data from the position sensing unit 1204. In some embodiments, the orientation sensing unit 1202 may include one or more accelerometers and / or one or more gyroscopes.

[0162] Information about the position and / or orientation of the listener may be provided from processing unit 1206 to audio processing unit 1208. Using audio filters and audio models contained in audio data (received from network 110 in embodiments where local computing unit 1106 is included in XR experience renderer 1108, or received from local computing unit 1106 in embodiments where local computing unit 1106 is a separate entity from XR experience renderer 1108), audio processing unit 1208 may generate audio signals for producing sounds perceived by the listener as if the listener were at an orientation and / or position detected in the VR environment. The generated audio signals may be transmitted from audio processing unit 1208 to speakers 1252 and 1254, thereby generating sounds for the VR environment.

[0163] Although various embodiments are described herein, it should be understood that they have been presented by way of example only and not limitation. Therefore, the scope and breadth of the present disclosure should not be limited by any of the above exemplary embodiments. In addition, any combination of the above elements in all possible variations thereof is encompassed by the present disclosure, unless otherwise indicated herein or otherwise clearly contradictory to the context.

[0164] Additionally, although the processes described above and shown in the accompanying drawings are shown as a sequence of steps, this is done for the sake of illustration only. Therefore, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be rearranged, and some steps may be performed in parallel.

Claims

1. A method (900) for modeling a set of head-related HR filters for rendering a spatial audio signal, the method comprising: Get HR filter dataset and data analysis specification X; Obtain (s902, s512) a set of eigenvalues ​​specified in the data analysis specification X, each eigenvalue of which is associated with the index of a filter tap within the index range of filter taps of the HR filter in ; clustering the feature values ​​into a plurality of clusters, and using the plurality of clusters to divide (s904, s514) the index range into a plurality of segments; determining (s906) a filter model for at least one segment of the plurality of segments; and The determined model of the filter set is output (s908).

2. The method of claim 1, wherein: The obtaining of the set of feature values ​​includes calculating a feature value associated with each index contained in the index range.

3. The method of claim 2, wherein: The feature value associated with each index contained in the index range is calculated using mathematical values ​​associated with filter values ​​obtained at a plurality of sample angles of the head related transfer function.

4. The method of claim 3, wherein: The mathematical value is any one of a variance value of the filter values, a minimum value among the filter values, a maximum value among the filter values, or an average value of the filter values, the filter values ​​being obtained at a plurality of sample angles.

5. The method according to any one of claims 1 to 4, wherein: Clustering the feature values ​​into a plurality of clusters and dividing the index range into the plurality of segments comprises: comparing each feature value included in the set of feature values ​​to a threshold value; and Based on the comparison of each feature value with the threshold, the index range is divided into the plurality of segments.

6. The method according to any one of claims 1 to 5, wherein: Dividing the index range into the plurality of segments includes dividing the index into a first segment and a second segment, and Determining the filter model for the at least one segment includes determining a first filter model for the first segment and a second filter model for the second segment.

7. The method of claim 6, wherein: The first filter model and / or the second filter model is a function of a basis function, and The number of basis functions for the first filter model is different from the number of basis functions for the second filter model.

8. The method of claim 6, wherein: The first filter model and / or the second filter model is a function of a basis function, and The order of the basis functions for the first filter model is different from the order of the basis functions for the second filter model.

9. The method of claim 6, wherein: The first filter model and / or the second filter model is a function of a basis function, and The order of the basis functions for the first filter model is the same as the order of the basis functions for the second filter model.

10. The method according to any one of claims 6 to 9, further comprising: calculating a first variability level for the first segment; as well as A second variability level is calculated for the second segment, where determining the first filter model for the first segment based on the first variability level, and Based on the second variability level, the second filter model is determined for the second segment.

11. The method of claim 10, wherein: determining the first variability level based on one or more feature values ​​associated with the first segment, and The second variability level is determined based on one or more feature values ​​associated with the second segment.

12. The method according to any one of claims 1 to 11, further comprising: A set of segmented data sets is obtained, the segmented data sets comprising a first set of segmented data sets and a second set of segmented data sets, wherein: The first set of segmented data sets comprises a first set of segment filter parameters associated with a first segment of the plurality of segments, The second set of segmented data sets comprises a second set of segment filter parameters associated with a second segment of the plurality of segments, and The first segment and the second segment do not overlap each other.

13. The method according to any one of claims 5 to 12, further comprising: analyzing the distribution of the feature values ​​along the index range; obtaining a feature quantity value indicating a specific number of feature values ​​to be included in a specific segment of the index range; as well as The threshold is set so that the number of feature values ​​greater than or equal to the threshold is greater than or equal to the feature quantity value.

14. A device (1000) for modeling a set of head-related HR filters for rendering a spatial audio signal, the device being configured to: Get HR filter dataset and data analysis specification X; Get a set of eigenvalues ​​specified in the data analysis specification X, each eigenvalue of which is associated with the index of a filter tap within the index range of filter taps of the HR filter in ; clustering the feature values ​​into a plurality of clusters, and using the plurality of clusters to divide the index range into a plurality of segments; determining a filter model for at least one segment of the plurality of segments; and The determined model of the filter set is output.

15. The apparatus of claim 14, wherein: The obtaining of the set of feature values ​​includes calculating a feature value associated with each index contained in the index range.

16. The device of claim 15, wherein: The feature value associated with each index contained in the index range is calculated using mathematical values ​​associated with filter values ​​obtained at a plurality of sample angles of the head related transfer function.

17. The apparatus of claim 16, wherein: The mathematical value is any one of a variance value of the filter values, a minimum value among the filter values, a maximum value among the filter values, or an average value of the filter values, the filter values ​​being obtained at a plurality of sample angles.

18. The apparatus of any one of claims 14 to 17, wherein: Clustering the feature values ​​into a plurality of clusters and dividing the index range into the plurality of segments comprises: comparing each feature value included in the set of feature values ​​to a threshold value; and Based on the comparison of each feature value with the threshold, the index range is divided into the plurality of segments.

19. The apparatus of any one of claims 14 to 18, wherein: Dividing the index range into the plurality of segments includes dividing the index into a first segment and a second segment, and Determining the filter model for the at least one segment includes determining a first filter model for the first segment and a second filter model for the second segment.

20. The apparatus of claim 19, wherein: The first filter model and / or the second filter model is a function of a basis function, and The number of basis functions for the first filter model is different from the number of basis functions for the second filter model.

21. The apparatus of claim 19, wherein: The first filter model and / or the second filter model is a function of a basis function, and The order of the basis functions for the first filter model is different from the order of the basis functions for the second filter model.

22. The apparatus of claim 19, wherein: The first filter model and / or the second filter model is a function of a basis function, and The order of the basis functions for the first filter model is the same as the order of the basis functions for the second filter model.

23. The device according to any one of claims 19 to 22, further configured to: calculating a first variability level for the first segment; and A second variability level is calculated for the second segment, where determining the first filter model for the first segment based on the first variability level, and Based on the second variability level, the second filter model is determined for the second segment.

24. The apparatus of claim 23, wherein: determining the first variability level based on one or more feature values ​​associated with the first segment, and The second variability level is determined based on one or more feature values ​​associated with the second segment.

25. The device of any one of claims 14-24, further configured to: A set of segmented data sets is obtained, the segmented data sets comprising a first set of segmented data sets and a second set of segmented data sets, wherein: The first set of segmented data sets comprises a first set of segment filter parameters associated with a first segment of the plurality of segments, The second set of segmented data sets comprises a second set of segment filter parameters associated with a second segment of the plurality of segments, and The first segment and the second segment do not overlap each other.

26. The device of any one of claims 18 to 25, further configured to: analyzing the distribution of the feature values ​​along the index range; obtaining a feature quantity value indicating a specific number of feature values ​​to be included in a specific segment of the index range; as well as The threshold is set so that the number of feature values ​​greater than or equal to the threshold is greater than or equal to the feature quantity value.