The dip correction unit 219 corrects a dip in the normalized power spectrum, using a different threshold value for each frequency band (S6). For example, the dip correction unit 219 interpolates a point at which a power value of the normalized power spectrum falls below the first threshold value TH1 in a low frequency band. The dip correction unit 219 interpolates a point at which a power value of the normalized power spectrum falls below the second threshold value TH2 in a high frequency band. This processing enables correction to be performed in such a way that a dip of the normalized power spectrum coincides with the threshold value with respect to each band. This capability enables a corrected power spectrum to be obtained.
The filter generation unit 220 computes time domain data, using the corrected power spectrum (S7). The filter generation unit 220 computes inverse characteristics of the corrected power spectrum. The inverse characteristics are data that cancel out headphone characteristics based on the corrected power spectrum. The filter generation unit 220 computes time domain data by performing inverse FFT on the inverse characteristics and the normalized phase spectrum computed in S5.
The filter generation unit 220 computes an inverse filter by cutting out the time domain data with a specified filter length (S8). The filter generation unit 220 outputs inverse filters Linv and Rinv to the out-of-head localization device 100. The out-of-head localization device 100 reproduces a reproduction signal having been subjected to the out-of-head localization using the inverse filters Linv and Rinv. This processing enables the user U to listen to a reproduction signal having been subjected to the out-of-head localization appropriately.