Audio signal discontinuity correction processing system
11749291 · 2023-09-05
Assignee
Inventors
Cpc classification
G10L19/09
PHYSICS
H04L1/00
ELECTRICITY
International classification
G10L19/09
PHYSICS
G10L19/005
PHYSICS
Abstract
An audio signal processing system and method is executed by an audio signal processing device to decode an audio packet to obtain decoded audio and determine an occurrence of a discontinuity occurring with a sudden increase of an amplitude of the decoded audio obtained by decoding the audio packet. The audio packet may be received correctly after an occurrence of a packet loss, and corrected to improve subjective quality of the decoded audio, wherein correcting the discontinuity of the decoded audio comprises causing distances between ISF/LSF parameters corresponding to a frame in which a packet loss has occurred to be equal.
Claims
1. An audio signal processing method executed by an audio signal processing device, the method comprising: decoding an audio packet to obtain decoded audio; determining an occurrence of a discontinuity occurring with a sudden increase of an amplitude of the decoded audio obtained by decoding the audio packet, the audio packet received correctly after an occurrence of a packet loss, and correcting the discontinuity of the decoded audio to improve subjective quality of the decoded audio, wherein correcting the discontinuity of the decoded audio comprises causing distances between ISF/LSF parameters corresponding to a frame in which a packet loss has occurred to be equal.
2. The audio signal processing method according to claim 1, wherein determining an occurrence of a discontinuity comprises: a decoding step of decoding side information about a discontinuity of the decoded audio obtained by decoding an audio packet, the side information being transmitted from an encoder, and a determining step of determining the discontinuity of the decoded audio using the side information decoded in the decoding step.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
(33) Preferred embodiments of an audio signal processing device, an audio signal processing method, and an audio signal processing program according to the present invention will be described below in detail using the drawings. The same elements will be denoted by similar reference signs in the description of the drawings to avoid duplicate descriptions.
First Embodiment
(34) The audio signal processing device in the first embodiment has the same configuration as the aforementioned audio decoder 1 shown in
(35)
(36) A discontinuity detector 129 refers to a fixed codebook gain g.sub.c.sup.0 acquired by decoding and a fixed codebook gain g.sub.c.sup.−1 included in the internal states and compares a change of the gain with a threshold in accordance with the following equation (step S11 in
log(g.sub.c.sup.0)−log(g.sub.c.sup.−1)>Thres [Mathematical Equation 42]
(37) When the gain change exceeds the threshold, the detector detects an occurrence of a discontinuity (also referred to hereinafter simply as “detects a discontinuity”) and outputs a control signal indicating a detection result of a discontinuity occurrence to the stability processor 121.
(38) The following equation may be used for the comparison between the gain change and the threshold.
g.sub.c.sup.0−g.sub.c.sup.−1>Thres [Mathematical Equation 43]
(39) Furthermore, the comparison between the gain change and the threshold may be made by the following equation, where a g.sub.c.sup.(c) represents the maximum among the fixed codebook gains of the first to fourth subframes included in the current frame and a g.sub.c.sup.(p) represents the minimum among the fixed codebook gains included in the internal states.
log(g.sub.c.sup.(c))−log(g.sub.c.sup.(p))>Thres [Mathematical Equation 44]
(40) The flowing equation can also be used.
g.sub.c.sup.(c)−g.sub.c.sup.(p)>Thres [Mathematical Equation 45]
(41) The above example of the first embodiment shows an example in which a discontinuity detection is conducted using the fixed codebook gain g.sub.c.sup.−1 of the fourth subframe of the immediately preceding frame (lost frame) and the fixed codebook gain g.sub.c.sup.0 of the first subframe of the current frame. However, comparison between the gain change and the threshold may be made using averages calculated from the fixed codebook gains included in the internal states and the fixed codebook gains included in the current frame.
(42) The ISF decoder 120 performs the same operation as in the conventional technology (step S12 in
(43) The stability processor 121 corrects the ISF parameters by the following process when the discontinuity detector 129 detects a discontinuity (step S13 in
(44) First, the stability processor 121 subjects the ISF parameters
{dot over (ω)}.sub.i.sup.−1 [Mathematical Equation 46]
stored in the internal state buffer 14 to a process of expanding a distance between two adjacent element to become M.sub.−1 times wider than the ordinary distance. The process of placing a very wide distance than the ordinary distance provides an effect to suppress excessive peaks and dips in the spectrum envelope. Here, min_dist represents the minimum ISF distance, and isf_min represents the minimum of ISF necessary for securing the distance of min_dist. isf_min is successively updated by adding the distance of min_dist to a value of neighboring ISF. On the other hand, isf_max is the maximum of ISF necessary for securing the distance of min_dist. isf_max is successively updated by subtracting the distance of min_dist from a value of neighboring ISF.
isf_min=min_dist=50.sub.−1
for i=0 to 14
if {dot over (ω)}.sub.i<isf_min then {dot over (ω)}.sub.i.sup.−1=isf_min
isf_min={dot over (ω)}.sub.i.sup.−1+min_dist
isf_max=6400−min_dist
if {dot over (ω)}.sub.14.sup.−1>isf_max
for i=14 down to 1
if {dot over (ω)}.sub.i.sup.−1>isf_max then {dot over (ω)}.sub.i.sup.−1=isf_max
isf_max={dot over (ω)}.sub.i.sup.−1−min_dist [Mathematical Equation 47]
(45) Next, a stability processor 121 subjects the ISF parameters of the current frame to a process of expanding a distance between two adjacent element to become M.sub.0 times wider than the ordinary distance. 1<M.sub.0<M.sub.−1 is assumed herein, but it is also possible to set one of r M.sub.−1 and M.sub.0 to 1 and the other to a value larger than 1.
isf_min=min_dist=50.sub.0
for i=0 to 14
if {dot over (ω)}.sub.i.sup.0<isf_min then {dot over (ω)}.sub.i.sup.0=isf_min
isf_min={dot over (ω)}.sub.i.sup.0+min_dist
isf_max=6400−min_dist
if {dot over (ω)}.sub.14.sup.0>isf_max
for i=14 down to 1
if {dot over (ω)}.sub.i.sup.0>isf_max then {dot over (ω)}.sub.i.sup.0=isf_max
isf_max={dot over (ω)}.sub.i.sup.0−min_dist [Mathematical Equation 48]
(46) Furthermore, the stability processor 121 performs the following process in the same manner as carried out in the ordinary decoding process, when the discontinuity detector detects no discontinuity.
isf_min=min_dist=50
for i=0 to 14
if {dot over (ω)}.sub.i.sup.0<isf_min then {dot over (ω)}.sub.i.sup.0=isf_min
isf_min={dot over (ω)}.sub.i.sup.0+min_dist
isf_max=6400−min_dist
if {dot over (ω)}.sub.14.sup.0>isf_max
for i=14 down to 1
if {dot over (ω)}.sub.i.sup.0>isf_max then {dot over (ω)}.sub.i.sup.0=isf_max
isf_max={dot over (ω)}.sub.i.sup.0−min_dist [Mathematical Equation 49]
(47) The minimum distance placed between elements when a discontinuity is detected may be varied depending upon the frequency of ISF. The minimum distance placed between elements when a discontinuity is detected needs only to be different from the minimum distance placed between elements in the ordinary decoding process.
(48) The ISF-ISP converter 122A in the LP coefficient calculator 122 converts the ISF parameters
{dot over (ω)}.sub.i{dot over (ω)}.sub.i.sup.−1 [Mathematical Equation 50]
into the ISP parameters
{dot over (q)}.sub.i{dot over (q)}.sub.i.sup.−1 [Mathematical Equation 51]
respectively, in accordance with the following equation (step S14 in
{dot over (q)}.sub.i=cos(C.Math.{dot over (ω)}.sub.i) [Mathematical Equation 52]
(49) The ISP interpolator 122B calculates the ISP parameters for the respective subframes from the past ISP parameters
{dot over (q)}.sub.i.sup.−1 [Mathematical Equation 53]
and the foregoing ISP parameters
{dot over (q)}.sub.i [Mathematical Equation 54]
in accordance with the following equation (step S15 in
q.sub.i.sup.(1)=0.75.Math.{dot over (q)}.sub.i.sup.−1+0.25.Math.{dot over (q)}.sub.i
q.sub.i.sup.(2)=0.5.Math.{dot over (q)}.sub.i.sup.−1+0.5.Math.{dot over (q)}.sub.i
q.sub.i.sup.(3)=0.25.Math.{dot over (q)}.sub.i.sup.−1+0.75.Math.{dot over (q)}.sub.i
q.sub.i.sup.(4)={dot over (q)}.sub.i [Mathematical Equation 55]
(50) The ISP-LPC converter 122C converts the ISP parameters for the respective subframes into the LP coefficients
{dot over (a)}.sub.i.sup.j(0<i≤P0≤j<4) [Mathematical Equation 56]
(step S16 in
(51) Furthermore, the ISF-ISP converter 122A updates the ISF parameters stored in the internal state buffer 14
{dot over (ω)}.sub.i.sup.−1 [Mathematical Equation 57]
in accordance with the following equation.
{dot over (ω)}.sub.i.sup.−1={dot over (ω)}.sub.i.sup.0 [Mathematical Equation 58]
At this time, even when a discontinuity is detected, the ISF-ISP converter 122A may carry out the below procedure to update the ISF parameters
{dot over (ω)}.sub.i.sup.−1 [Mathematical Equation 59]
stored in the internal state buffer, using the calculation result of the ISF parameters.
isf_min=min_dist=50
for i=0 to 14
if {dot over (ω)}.sub.i.sup.0<isf_min then {dot over (ω)}.sub.i.sup.0=isf_min
isf_min={dot over (ω)}.sub.i.sup.0+min_dist
isf_max=6400−min_dist
if {dot over (ω)}.sub.14.sup.0>isf_max
for i=14 down to 1
if {dot over (ω)}.sub.i.sup.0>isf_max then {dot over (ω)}.sub.i.sup.0=isf_max
isf_max={dot over (ω)}.sub.i.sup.0−min_dist [Mathematical Equation 60]
(52) As in the above first embodiment, a discontinuity of decoded audio can be determined with the quantized codebook gains used in the calculation of the excitation signal and the ISF/LSF parameters (e.g., the distance between elements of the ISF/LSF parameters given for ensuring stability of the synthesis filter) can be corrected according to a result of the determination for a discontinuity. This reduces the discontinuity of audio which can occur upon recovery from a packet loss at the audio start point, and thereby improves the subjective quality.
(53) [Modification Example of First Embodiment]
(54)
(55) The discontinuity detector 129 refers to the fixed codebook gain g.sub.c.sup.0 obtained by decoding and the fixed codebook gain g.sub.c.sup.−1 included in the internal states and compares the gain change with a threshold, in the same manner as performed by the discontinuity detector 129 in the first embodiment. Then, the discontinuity detector 129 sends to the gain adjustor 121X, a control signal including information about whether the gain change exceeds the threshold.
(56) The gain adjustor 121X reads from the control signal the information about whether the gain change exceeds the threshold, and, when the gain change exceeds the threshold, it outputs a predetermined gain g.sub.on to the gain multiplier 121Y. On the other hand, when the gain change does not exceed the threshold, the gain adjustor 121X outputs a predetermined gain g.sub.off to the gain multiplier 121Y. This operation of the gain adjustor 121X corresponds to step S18 in
(57) The gain multiplier 121Y multiplies the synthesized signal output from the synthesis filter 128 by the foregoing gain g.sub.on or gain g.sub.off (step S19 in
(58) Here, the audio code decoder may be configured such that the LP coefficient calculator 122 outputs the LP coefficients or the ISF parameters to feed them to the second stability processor 121S (as indicated by a dotted line from the LP coefficient calculator 122 to the gain adjustor 121X in
(59) By adding the second stability processor 121S to the audio code decoder 12S and adjusting the gain, depending upon whether the gain change exceeds the threshold as described in the above modification example, an appropriate decoded signal can be obtained.
(60) The second stability processor 121S may be configured to multiply the excitation signal by the foregoing calculated gain and output the result to the synthesis filter 128.
Second Embodiment
(61) An audio signal processing device according to the second embodiment has the same configuration as that of the aforementioned audio decoder 1 in
(62) The ISF decoder 120 calculates the ISF parameters in the same manner as performed in the conventional technology (step S21 in
(63) The stability processor 121 performs the process of placing a distance of not less than 50 Hz between elements of the ISF parameters
{dot over (ω)}.sub.i [Mathematical Equation 61]
in order to secure the stability of the filter in the same manner as performed in the conventional technology (step S22 in
(64) The ISF-ISP converter 122A converts the ISF parameters output by the stability processor 121 into the ISP parameters in the same manner as performed in the first embodiment (step S23 in
(65) The ISP interpolator 122B, in the same manner as performed in the first embodiment (step S24 in
{dot over (q)}.sub.i.sup.−1 [Mathematical Equation 62]
and the ISP parameters
{dot over (q)}.sub.i [Mathematical Equation 63]
obtained by the conversion by the ISF-ISP converter 122A.
(66) The ISP-LPC converter 122C, in the same manner as performed in the first embodiment (step S25 in
{dot over (a)}.sub.i.sup.j(0<i≤P0≤j<4) [Mathematical Equation 64]
Here, the number of subframes included in the look-ahead signal is assumed to be 4, but the number of subframes may differ depending upon the design principle.
(67) The internal state buffer 14 updates the ISF parameters stored in the past with the new ISF parameters.
(68) The discontinuity detector 129 reads the LP coefficients of the fourth subframe in the lost packet frame from the internal state buffer 14 and calculates the power of the impulse response of the LP coefficients of the fourth subframe in the lost packet frame. The LP coefficients of the fourth subframe in the lost packet frame to be used can be the coefficients output by the LP coefficient interpolator 130 included in the concealment signal generator 13 shown in
E.sub.−1=10 log(Σ.sub.n=0.sup.L′−1h.sub.−1.sup.2(n))
h.sub.−1(n)=δ(n)−Σ.sub.i=1.sup.P{dot over (a)}.sub.i.sup.(−1).Math.h.sub.−1(n−i) [Mathematical Equation 65]
(69) Then, the discontinuity detector 129 detects a discontinuity, for example, by the below equation (step S26 in
E.sub.0−E.sub.−1>Thres [Mathematical Equation 66]
(70) When the gain change does not exceed the threshold (NO in step S27 of
(71) As discussed in the above second embodiment, a discontinuity of decoded audio can be determined by the power of the excitation signal, and the discontinuous audio is reduced to improve the subjective quality in the same manner as performed in the first embodiment.
Third Embodiment
(72) Upon a detection of discontinuity, the ISF parameters may be corrected by another method. The third embodiment differs from the first embodiment only in the stability processor 121, and thus only the operation of the stability processor 121 will be described.
(73) When the discontinuity detector 129 detects a discontinuity, the stability processor 121 performs the following process to correct the ISF parameters.
(74) With respect to the ISF parameters stored in the internal state buffer 14,
{dot over (ω)}.sub.i.sup.−1 [Mathematical Equation 67]
the stability processor 121 replaces the ISF parameters up to a low-order P′ dimension (0<P′≤P) in accordance with the below equation. Here, the following definition is adopted.
δ.sup.−1={dot over (ω)}.sub.P′−1.sup.−I/P′ [Mathematical Equation 68]
{dot over (ω)}.sub.i.sup.−1={dot over (ω)}.sub.i-1.sup.−I+δ.sup.−1
ω.sub.0.sup.−1=δ.sup.−1(0≤i≤P′) [Mathematical Equation 69]
(75) The stability processor 121 may overwrite the ISF parameters of the low-order P′ dimensions with P′-dimension vectors obtained in advance by learning as follows.
{dot over (ω)}.sub.i.sup.−1=ω.sub.i.sup.0(0≤i≤P′) [Mathematical Equation 70]
(76) Next, as to the ISF parameters of the current frame, the stability processor 121 may, as performed in the first embodiment, perform the process of expanding the distance between elements to become M.sub.0 times wider than the ordinary distance or may determine them in accordance with the below equation. Here, the following definition is adopted.
δ.sup.0={dot over (ω)}.sub.P′−1.sup.0/P′ [Mathematical Equation 71]
{dot over (ω)}.sub.i.sup.0={dot over (ω)}.sub.i-1.sup.0+δ.sup.0
{dot over (ω)}.sub.0.sup.0=δ.sup.0 [Mathematical Equation 72]
(77) The stability processor 121 may overwrite them with P′-dimensional vectors learned in advance.
{dot over (ω)}.sub.i.sup.0=ω.sub.i.sup.0 [Mathematical Equation 73]
(78) Furthermore, the foregoing P′-dimensional vectors may be learned in the decoding process or may be defined, for example, as follows.
ω.sub.i.sup.0=(1−λ)ω.sub.i.sup.−1+λ{dot over (ω)}.sub.i.sup.−1 [Mathematical Equation 74]
In a frame at the start of decoding, however, ω.sub.i.sup.−1 may be defined as predetermined P′-dimensional vector ω.sub.i.sup.init.
(79) The internal state buffer 14 updates the ISF parameters stored in the past with the new ISF parameters.
(80) As discussed in the above third embodiment, the distance obtained by equally dividing the ISF/LSF parameters into those of a predetermined dimension can be used as the distance between elements of the ISF/LSF parameters given for ensuring the stability of the synthesis filter, whereby the discontinuous audio is reduced to improve the subjective quality as performed in the first and second embodiments.
Fourth Embodiment
(81) A fourth embodiment will be described in which the encoding side detects an occurrence of a discontinuity and transmits a discontinuity determination code (indicative of a detection result) as included in audio codes to the decoding side and also in which the decoding side determines the operation of the stability process, based on the discontinuity determination code included in the audio codes.
(82) (Regarding Encoding Side)
(83)
(84) An exemplary functional configuration of the LP analyzer/encoder 21 among them is shown in
(85) In the LP analyzer/encoder 21, the LP analyzer 210 performs a linear prediction analysis on an input signal to obtain linear prediction coefficients (step T41 in
(86) The LP-ISF converter 211 converts the calculated linear prediction coefficients into the ISP parameters in the same manner as performed in the first embodiment (steps T42, U42). The conversion from linear prediction coefficients into ISF parameters may be implemented by use of the method described in the Non Patent Literature.
(87) The ISF encoder 212 encodes the ISF parameters using a predetermined method to calculate ISF codes (steps T43, U43) and outputs quantized ISF parameters obtained in the process of encoding to the discontinuity determiner 213, the ISF concealer 214, and the ISF-LP converter 215 (step U47). Here, the quantized ISF parameters are equal to the ISF parameters obtained by an inverse quantization of the ISF codes. A method of encoding may be vector-encoding, or encoding by a vector quantization or the like of error vectors from ISFs of the immediately preceding frame and mean vectors determined in advance by learning.
(88) The discontinuity determiner 213 encodes a discontinuity determination flag stored in an internal buffer (not shown) built in the discontinuity determiner 213 and outputs a resultant discontinuity determination code (step U47). In addition, the discontinuity determiner 213 uses concealment ISF parameters
{tilde over (ω)}.sub.i [Mathematical Equation 75]
read from the ISF buffer 216 and the quantized ISF parameters
{dot over (ω)}.sub.i [Mathematical Equation 76]
to make a determination on a discontinuity in accordance with the below equation (steps T44, U46). Here, Thres.sub.ω represents a threshold determined in advance, and P′ an integer satisfying the following equation (0<P′≤P).
Σ.sub.i=0.sup.P′−1({dot over (ω)}.sub.i−{tilde over (ω)}.sub.i).sup.2>Thres.sub.ω [Mathematical Equation 77]
(89) The example is described above in which the discontinuity determination is made using the Euclidean distances between the ISF parameters. However, the discontinuity determination may be made by other methods.
(90) The ISF concealer 214 calculates the concealment ISF parameters from the quantized ISF parameters by the same process as performed by the decoder-side ISF concealer and outputs the resultant concealment ISF parameters to the ISF buffer 216 (steps U44, U45). The operation of the ISF concealment process may be performed by any method as long as it is the same process as that of the decoder-side packet loss concealer.
(91) The ISF-LP converter 215 calculates quantized linear prediction coefficients by converting the foregoing quantized ISF parameters and outputs a resultant quantized linear prediction coefficients to the residual encoder 22 (step T45). A method used for converting the ISF parameters into the quantized linear prediction coefficients may be the method described in the Non Patent Literature.
(92) The residual encoder 22 filters the audio signal by use of the quantized liner prediction coefficients to calculate residual signals (step T46).
(93) Next, the residual encoder 22 encodes the residual signals by encoding means using CELP or TCX (Transform Coded Excitation) or by encoding means switchably using CELP and TCX and outputs resultant residual codes (step T47). Since the operation of the residual encoder 22 is less relevant to the present invention, description thereof is omitted herein.
(94) The code multiplexer 23 assembles the ISF codes, the discontinuity determination code and the residual codes in a predetermined order and outputs resultant audio codes (step T48).
(95) (Regarding Decoding Side)
(96) An audio signal processing device according to the fourth embodiment has the same configuration as that of the aforementioned audio decoder 1 in
(97) The ISF decoder 120 decodes the ISF codes and outputs resultant codes to the stability processor 121 and the internal state buffer 14 (step S41 in
(98) The discontinuity detector 129 decodes the discontinuity determination code and outputs a resultant discontinuity detection result to the stability processor 121 (step S42 in
(99) The stability processor 121 performs the stability process according to the discontinuity detection result (step S43 in
(100) The stability processor 121 may perform the stability process as described below, on the basis of other parameters included in the audio codes, in addition to the discontinuity detection result acquired from the discontinuity determination code. For example, the stability processor 121 may be configured to perform the stability process in such a manner that an ISF stability stab is calculated in accordance with the below equation and that when the ISF stability exceeds a threshold, even if the discontinuity determination code shows a detection of a discontinuity, the process is performed as if no discontinuity is detected. Here, C is a constant determined in advance.
stab=1.25−Σ.sub.i=0.sup.P′−1({dot over (ω)}.sub.i.sup.0−{dot over (ω)}.sub.i.sup.−1).sup.2/C [Mathematical Equation 78]
(101) The ISF-ISP converter 122A in the LP coefficient calculator 122 converts the ISF parameters into the ISP parameters by the same processing procedure as performed in the first embodiment (step S44 in
(102) The ISP interpolator 122B calculates the ISP parameters for the respective subframes by the same processing procedure as performed in the first embodiment (step S45 in
(103) The ISP-LPC converter 122C converts the ISP parameters calculated for the respective subframes into the LPC parameters by the same processing procedure as performed in the first embodiment (step S46 in
(104) In the fourth embodiment as described above, the encoding side performs the discontinuity determination (the discontinuity determination using the Euclidian distances between concealment ISF parameters and quantized ISF parameters, as an example) encodes auxiliary information about a result of the determination and outputs encoded information to the decoding side, and the decoding side determine a discontinuity using the auxiliary information obtained by decoding. In this manner, the appropriate processing can be executed according to the discontinuity determination result made by the encoding side while the encoding side and the decoding side work in concert with each other.
Fifth Embodiment
(105) (Regarding Encoding Side)
(106) The functional configuration of the encoder is the same as that of the fourth embodiment shown in
(107)
(108) In this LP analyzer/encoder 21S, the LP analyzer 210 performs the linear prediction analysis on the input signal by the same process as performed in the fourth embodiment to obtain the linear prediction coefficients (step U51 in
(109) The LP-ISF converter 211 converts the calculated linear prediction coefficients into the ISF parameters by the same process as performed in the fourth embodiment (step U52 in
(110) The ISF encoder 212 reads the discontinuity determination flag stored in the internal buffer (not shown) of the discontinuity determiner 213 (step U53 in
(111) <Case where Discontinuity Determination Flag Indicates Detection of Discontinuity>
(112) The ISF encoder 212 calculates the ISF codes by vector-quantization of ISF residual parameters r.sub.i calculated by the below equation (step U54 in
r.sub.i=ω.sub.i=mean.sub.i [Mathematical Equation 79]
(113) Next, the ISF encoder 212 uses the quantized ISF residual parameters
{circumflex over (r)}.sub.i [Mathematical Equation 80]
obtained by quantization of the ISF residual parameters r.sub.i to update the ISF residual parameter buffer in accordance with the following equation (step U55 in
{dot over (r)}.sub.i.sup.−1={circumflex over (r)}.sub.i [Mathematical Equation 81]
<Case where Discontinuity Determination Flag does not Indicate Detection of Discontinuity>
(114) The ISF encoder 212 calculates the ISF codes by vector-quantization of the ISF residual parameters r.sub.i calculated by the below equation (step U54 in
{dot over (r)}.sub.i.sup.−1 [Mathematical Equation 82]
r.sub.i=ω.sub.i−mean.sub.i−⅓{dot over (r)}.sub.i.sup.−1 [Mathematical Equation 83]
(115) Next, the ISF encoder 212 uses the quantized ISF residual parameters
{circumflex over (r)}.sub.i [Mathematical Equation 84]
obtained by quantization of the ISF residual parameters r.sub.i to update the ISF residual parameter buffer in accordance with the following equation (step U55 in
{dot over (r)}.sub.i.sup.−1={circumflex over (r)}.sub.i [Mathematical Equation 85]
(116) By the above procedure, the ISF encoder 212 calculates the ISF codes and outputs quantized ISF parameters obtained in the process of encoding to the discontinuity determiner 213, the ISF concealer 214, and the ISF-LP converter 215.
(117) The ISF concealer 214 calculates the concealment ISF parameters from the quantized ISF parameters by the same process as performed by the decoder-side ISF concealer in the same manner as executed in the fourth embodiment and outputs them to the ISF buffer 216 (steps U56, U58 in
(118) The discontinuity determiner 213 performs a determination of a discontinuity by the same process as performed in the fourth embodiment and stores a determination result in the internal buffer (not shown) of the discontinuity determiner 213 (step U57 in
(119) The ISF-LP converter 215 converts the quantized ISF parameters, in the same manner as performed in the fourth embodiment, to calculate the quantized linear prediction coefficients and outputs them to the residual encoder 22 (
(120) (Regarding Decoding Side)
(121) An audio signal processing device according to the fifth embodiment has the same configuration as that of the aforementioned audio decoder 1 in
(122) The discontinuity detector 129 decodes the discontinuity determination code and outputs the resultant discontinuity determination flag to the ISF decoder 120 (step S51 in
(123) The ISF decoder 120 calculates the ISF parameters as follows, depending upon the value of the discontinuity determination flag, and outputs the ISF parameters to the stability processor 121 and the internal state buffer 14 (step S52 in
(124) <Case where Discontinuity Determination Flag Indicates Detection of Discontinuity>
(125) The ISF decoder 120 uses the quantized ISF residual parameters
{dot over (r)}.sub.i [Mathematical Equation 86]
obtained by decoding of the ISF codes, and the mean vectors mean.sub.i obtained in advance by learning to obtain the quantized ISF parameters
{dot over (ω)}.sub.i [Mathematical Equation 87]
in accordance with the following equation.
{dot over (ω)}.sub.i=mean.sub.i+{dot over (r)}.sub.i [Mathematical Equation 88]
(126) Next, the ISF decoder 120 updates the ISF residual parameters stored in the internal state buffer 14 in accordance with the following equation.
{dot over (r)}.sub.i.sup.−1={dot over (r)}.sub.i [Mathematical Equation 89]
<Case where Discontinuity Determination Flag does not Indicate Detection of Discontinuity>
(127) The ISF decoder 120 reads, from the internal state buffer 14, the ISF residual parameters
{dot over (r)}.sub.i.sup.−1 [Mathematical Equation 90]
obtained by decoding of the immediately preceding frame and uses the resultant ISF residual parameters
{dot over (r)}.sub.i.sup.−1, [Mathematical Equation 91]
the mean vectors mean.sub.i obtained in advance by learning and the quantized ISF residual parameters
{dot over (r)}.sub.i [Mathematical Equation 92]
obtained by decoding of the ISF codes to calculate the quantized ISF parameters
{dot over (ω)}.sub.i [Mathematical Equation 93]
in accordance with the following equation.
{dot over (ω)}.sub.i=mean.sub.i+{dot over (r)}.sub.i+⅓{dot over (r)}.sub.i.sup.−1 [Mathematical Equation 94]
(128) Next, the ISF decoder 120 updates the ISF residual parameters stored in the internal state buffer 14 in accordance with the following equation.
{dot over (r)}.sub.i.sup.−1={dot over (r)}.sub.i [Mathematical Equation 95]
(129) The stability processor 121 performs the same process as performed in the first embodiment (step S53 in
(130) The ISF-ISP converter 122A in the LP coefficient calculator 122 converts the ISF parameters into the ISP parameters by the same processing procedure as described in the first embodiment (step S54 in
(131) The ISP interpolator 122B calculates the ISP parameters for the respective subframes by the same processing procedure as performed in the first embodiment (step S55 in
(132) The ISP-LPC converter 122C, by the same processing procedure as performed in the first embodiment (step S56 in
(133) In the fifth embodiment as described above, the encoding side is configured as follows: When the discontinuity determination flag does not indicate a detection of a discontinuity, the vector quantization of the ISF residual parameters is carried out using the ISF residual parameters obtained by decoding of the immediately preceding frame. On the other hand, when the discontinuity determination flag indicates a detection of a discontinuity, the encoder avoids using the ISF residual parameters obtained by decoding of the immediately preceding frame. Similarly, the decoding side is configured as follows: When the discontinuity determination flag does not indicate a detection of a discontinuity, the quantized ISF parameters are calculated using the ISF residual parameters obtained by decoding of the immediately preceding frame. On the other hand, when the discontinuity determination flag indicates a detection of discontinuity, the decoder avoids using the ISF residual parameters obtained by decoding of the immediately preceding frame. In this manner, the appropriate processing according to a discontinuity determination result can be executed while the encoding side and the decoding side work in concert with each other.
Sixth Embodiment
(134) The above first to fifth embodiments may be applied in combination. For example, as described in the fourth embodiment, the decoding side decodes the discontinuity determination code included in the audio codes from the encoding side to detect a discontinuity. When a discontinuity is detected, it may carry out the subsequent operation as follows.
(135) For the ISF parameters
{dot over (ω)}.sub.i.sup.−1 [Mathematical Equation 96]
stored in the internal state buffer, the ISF parameters up to the low-degree P′ dimension (0<P′≤P) are replaces in accordance with the following equation as described in the third embodiment.
{dot over (ω)}.sub.i.sup.−1=ω.sub.i.sup.0(0≤i<P′) [Mathematical Equation 97]
(136) On the other hand, the ISF parameters of the current frame are calculated in accordance with the following equation as described in the fifth embodiment.
{dot over (ω)}.sub.i=mean.sub.i+{dot over (r)}.sub.i [Mathematical Equation 98]
(137) Thereafter, using the ISF parameters obtained as described above, the LP coefficients are obtained by the processes of the ISF-ISP converter 122A, the ISP interpolator 122B, and the ISP-LPC converter 122C as performed in the first embodiment.
(138) It is also effective to adopt optional combinations of the first to fifth embodiments as described above.
Seventh Embodiment
(139) It may be considered in the decoding operation according to the above first to sixth embodiments and their modifications, how the frame is lost (e.g., whether a single frame is lost or consecutive frames are lost). In the seventh embodiment, it suffices that a discontinuity detection is made using, for example, the result of decoding of the discontinuity determination code included in the audio codes, and the method of how it should be performed is not limited to the above.
(140) An audio signal processing device according to the seventh embodiment has the same configuration as that of the aforementioned audio decoder 1 in
(141)
(142) The reception state determiner 16 determines a packet reception state and updates the packet loss history information, based on a determination result (step S50 in
(143) When a packet loss is detected (NO in step S100), the reception state determiner 16 outputs a packet loss detection result of the pertinent frame to the concealment signal generator 13, and the concealment signal generator 13 generates the concealment signal as described above and updates the internal states (steps S300, S400). The concealment signal generator 13 may also utilize the packet loss history information for interpolation of parameters or the like.
(144) On the other hand, when no packet loss is detected (YES in step S100), the reception state determiner 16 outputs the packet loss history information including a packet loss detection result of the pertinent frame and the audio codes included in the received packet to the audio code decoder 12, and the audio code decoder 12 decodes the audio codes as described before and updates the internal states (steps S200, S400).
(145) Thereafter, the processes of steps S50 to S400 are repeated until the communication ends (or until step S500 results in a determination of YES).
(146)
(147) Since the audio code decoder 12G has the same configuration as described in the first embodiment, except for the configuration associated with the calculation process of LP coefficients, the below will describe the configuration and its operation associated with the calculation process of LP coefficients.
(148) The ISF decoder 120 decodes the ISF codes in the same manner as performed in the first embodiment and outputs the ISF parameters to the stability processor 121 (step S71 in
(149) The discontinuity detector 129 refers to the packet loss history information to determine the reception state (step S72). The discontinuity detector 129 may be designed, for example, as follows: It stores a specific reception pattern which indicates, for example, a packet loss occurred three frames prior, a normal reception occurred two frames prior, and a packet loss occurred one frame prior. When the reception pattern is recognized which has been looked for, it sets a reception state flag to off and, otherwise, it sets the reception state flag to on.
(150) Furthermore, the discontinuity detector 129 detects a discontinuity in the same manner as described in one of the first to sixth embodiments.
(151) Then, the stability processor 121 performs the stability process according to the reception state flag and a result of the discontinuity detection, for example, as described below (step S73).
(152) When the reception state flag is off, the stability processor 121 performs the same process as performed when a discontinuity is not detected, regardless of a result of the discontinuity detection.
(153) On the other hand, when the reception flag is on and when the result of the discontinuity detection indicates that a discontinuity is not detected, the stability processor 121 performs the same process as performed when a discontinuity is not detected.
(154) Furthermore, when the reception flag is on and when the result of the discontinuity detection is detection of discontinuity, the stability processor 121 performs the same process as performed when a discontinuity is detected.
(155) Thereafter, the operations (steps S74 to S76) of the ISF-ISP converter 122A, the ISP interpolator 122B, and the ISP-LPC converter 122C in the LP coefficient calculator 122 are performed in the same manners as performed in the first embodiment.
(156) In the seventh embodiment as described above, the stability process is carried out depending upon a result of the discontinuity detection and the state of the reception state flag, whereby more accurate processing can be executed while it is considered how the frame is lost (e.g., whether a single frame is lost or consecutive frames are lost).
(157) [Regarding Audio Signal Processing Programs]
(158) The below will describe audio signal processing programs that program a computer to operate as an audio signal processing device according to the present invention.
(159)
(160) The audio signal processing program P can be provided in a form stored in a recording medium M. Examples of the recording medium M include recording media such as flexible disc, CD-ROM, DVD, or ROM, semiconductor memories, and so on.
(161) As shown in
(162) When the recording medium M is put into the reading device C12, the computer C10 becomes accessible to the audio signal processing program P stored in the recording medium M through the reading device C12 and becomes able to operate as an audio signal processing device programmed by the audio signal processing program P.
(163) The audio signal processing program P may be one provided as computer data signal W superimposed on a carrier wave, as shown in
(164) The audio signal processing program P can be configured by adopting the various configurations shown in
(165) By implementing the various embodiments described above, the subjective quality can be improved while reducing a discontinuous audio which can occur in the recovery from a packet loss at the audio start point.
(166) The stability processor, which is the first feature of the invention, is configured so that when a discontinuity is detected in the first packet which is received correctly after a packet loss occurs, for example, a distance between elements of the ISF parameters is set wider than normal, whereby it can prevent the gain of the LP coefficients from becoming too large. Since it can prevent both the gain of the LP coefficient and the power of the excitation signal from increasing, a discontinuity of the synthesized signal is reduced, whereby a degradation of the subjective quality can be suppressed. Furthermore, the stability processor may reduce a discontinuity of the synthesized signal by multiplying the synthesized signal by the gain calculated by using the LP coefficients or the like.
(167) The discontinuity detector, which is the second feature of the invention, monitors the gain of the excitation signal included in the first packet which is received correctly after a packet loss occurs, and determines a discontinuity for a packet whose gain of the excitation signal increased more than a certain level.