WO2008151579A1 - Procédé, dispositif et système permettant d'obtenir le masquage du paquet de perte - Google Patents

Procédé, dispositif et système permettant d'obtenir le masquage du paquet de perte Download PDF

Info

Publication number
WO2008151579A1
WO2008151579A1 PCT/CN2008/071313 CN2008071313W WO2008151579A1 WO 2008151579 A1 WO2008151579 A1 WO 2008151579A1 CN 2008071313 W CN2008071313 W CN 2008071313W WO 2008151579 A1 WO2008151579 A1 WO 2008151579A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
pitch period
lost
buffer
length
Prior art date
Application number
PCT/CN2008/071313
Other languages
English (en)
French (fr)
Inventor
Wuzhou Zhan
Dongqi Wang
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to EP08757724A priority Critical patent/EP2133867A4/en
Publication of WO2008151579A1 publication Critical patent/WO2008151579A1/zh
Priority to US12/610,442 priority patent/US20100049505A1/en
Priority to US12/610,466 priority patent/US8600738B2/en
Priority to US12/610,489 priority patent/US20100049510A1/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch determination of speech signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm

Definitions

  • the present invention relates to the field of network communication technologies, and more particularly to a method and apparatus for estimating a pitch period, a method and apparatus for fine-tuning a pitch period, and a method, apparatus and system for implementing packet hiding.
  • IP networks were designed to transport data streams that contained large packets and did not require reliable delivery.
  • Voice data is now also transmitted in IP networks.
  • the transmission of voice requires reliable transmission of smaller voice packets in real time.
  • a voice packet is discarded during transmission, there is usually no time to retransmit the discarded packet.
  • 3 a voice packet has a long route and cannot be reached in time when it needs to be played. Therefore, in a Voice over Internet Protocol (VoIP) system, when a voice packet cannot arrive in time or cannot be reached, it is considered that the voice packet is lost.
  • VoIP Voice over Internet Protocol
  • Packet loss during network transmission is the main reason for the degradation of service quality when transmitting voice data over the network.
  • the £packet hiding technique refers to compensating for lost packets through synthesized packets to reduce the impact of packet loss on voice quality during transmission. Even without the effective voice packet hiding technology, even the best designed and managed TP networks cannot provide toll-quality communication. The well-designed technology to solve the packet loss problem can greatly improve the quality of voice transmission. Therefore, in the prior art, different mechanisms are used to hide the effects due to packet loss. For example, a packet loss hiding method based on pitch waveform replacement.
  • the pitch waveform replacement is a receiver-based processing technique that compensates for lost data frames based on the characteristics of the speech.
  • the principle, implementation process, and disadvantages of the pitch waveform replacement technique are described below.
  • the general unvoiced sound is disorganized from the waveform, and the voiced sound is cyclical on the waveform.
  • the main principle of pitch waveform replacement is: First, use the information of the previous frame of the lost frame, that is, the signal of the previous frame of the waveform gap position ⁇ to estimate the pitch period corresponding to the signal waveform before the gap? Then, use a waveform of length P before the gap position to compensate for the gap of the waveform.
  • Autocorrelation analysis is a commonly used speech time domain waveform analysis method, defined by the correlation function.
  • the correlation function can be used to determine the time domain similarity between signals. When the two related signals are completely different, the value of the correlation function is close to zero. When the waveforms of the two related signals are the same, they will lead or lag. There is a peak at the place. Therefore, the autocorrelation function can be used to study the signal itself, such as the synchronism, periodicity, etc. of the waveform.
  • the pitch of the voiced pitch estimated by the autocorrelation analysis method is not accurate enough. Use relevant methods When the extremum is taken as the autocorrelation function, the corresponding pitch period is the final pitch period, but the pitch period obtained by this is nj' can be 1/N times the frequency corresponding to the actual pitch period (N is an integer greater than 1)
  • the original intention of the pitch period is to obtain the pitch period of the data closest to the lost frame, but when calculating the pitch period using the autocorrelation method, it is usually necessary to use at least 22.5 ms before the gap (corresponding to the pitch period is the minimum pitch)
  • the signal of the period both 2. 5ms).
  • embodiments of the present invention provide a method for estimating a pitch period, which can eliminate the frequency multiplication problem existing when estimating a pitch period.
  • Embodiments of the present invention provide an apparatus for estimating a pitch period, which is capable of eliminating a frequency multiplication problem existing when estimating a pitch period.
  • Embodiments of the present invention also provide a fine tuning method for a pitch period, which can reduce the error of the estimated pitch period.
  • Embodiments of the present invention also provide a fine tuning device for a pitch period, which is capable of reducing an error in estimating a pitch period.
  • Embodiments of the present invention provide a method for implementing packet loss concealment, which enhances the correlation between recovered data frames and ffi lost frames.
  • Embodiments of the present invention provide an apparatus for implementing packet loss concealment, which enhances correlation between recovered lost frame data and data after a lost frame.
  • the embodiment of the invention discloses a receiving end system for implementing packet loss hiding, which system enhances the correlation between the recovered lost frame data and the data after the lost frame.
  • the embodiment of the present invention discloses a method for estimating a pitch period, and the method includes the following steps:
  • An embodiment of the present invention discloses an apparatus for estimating a pitch period, where the apparatus includes: an initial pitch period acquisition unit and a selection unit, where
  • An initial pitch period acquisition unit configured to acquire an initial pitch period of the historical data, and send the selected pitch to the selected ' ⁇ selection unit, respectively, from one or more integer multiples of frequencies corresponding to the frequency corresponding to the initial pitch period In the period, a base period in which the corresponding frequency is less than or equal to the frequency corresponding to the minimum possible pitch period is selected as a candidate pitch period, and a pitch period is selected from the initial pitch period and the candidate pitch period as a final estimate of the known speech data. Pitch period.
  • the embodiment of the invention discloses a fine tuning method for a pitch period, the method comprising:
  • the template window is near a point where the end point of the lost data is from the length of the initial pitch period;
  • the distance between the template window having the best matching value ⁇ and the corresponding end point of the sliding window is taken as the pitch period after the fine adjustment.
  • the embodiment of the invention discloses a fine tuning device for a pitch period, the device comprising: an initial pitch period acquiring unit, a setting unit and a calculating unit, wherein
  • An initial pitch period acquiring unit configured to acquire the initial pitch period of the known data before or after the lost data, and send the initial pitch period to the setting unit;
  • a setting unit configured to receive an initial pitch period sent by the initial pitch period acquisition unit, and set a template window whose length is a preset value, and set a length and the template window length at an end of the known data near the lost data The same sliding window, and sliding the sliding window near the end point of the lost data within a preset range around the preset point; the preset point is an end point of the known data that is close to the missing data in the template window a point from the length of the initial pitch period;
  • a calculation unit configured to calculate a template window in a preset range around a preset point that the sliding window can slide
  • the matching value of the data and the data in the sliding window, and finding the best matching value therefrom, and the distance between the template window having the best matching value ⁇ and the corresponding end point of the sliding window is used as the pitch period after the fine adjustment.
  • the embodiment of the invention discloses a method for implementing packet loss hiding, the method comprising:
  • An embodiment of the present invention discloses an apparatus for implementing packet loss hiding, where the apparatus includes: a main processing unit, a lost frame main buffer, and a lost frame temporary buffer, where
  • the main processing unit is configured to fill a lost frame main buffer by using one pitch period data in the known data before the lost data, and utilize one pitch period data in the known data after the lost data, or use the missing data before a pitch period data in the known data, filling the lost frame temporary buffer; and superimposing the data in the lost frame main buffer and the lost frame temporary buffer, and compensating for the lost frame by using the superposed processed data;
  • the lost frame main buffer is used to store the data filled by the main processing module, and its length is equal to the length of the lost data;
  • the lost frame temporary buffer is used to assist the storage of the data filled by the main processing module, and its length is equal to the length of the lost data.
  • the embodiment of the present invention discloses a receiving end system for implementing packet loss hiding.
  • the receiving end system includes: a lost frame detector, a decoder unit, a history buffer, a delay unit, and an implementation packet loss hiding unit.
  • the lost frame detector is configured to receive the bit stream transmitted from the network side, and determine whether there is a data frame loss, and if the lost frame detector does not detect the data frame loss, the lost frame detector transmits the intact data frame to the Decoding the decoder unit, if the lost frame detector detects that there is a data frame loss, transmitting a signal of the lost data frame to the implementation packet loss hiding unit;
  • a decoder unit configured to decode a complete data frame sent by the lost frame detector, and send the decoded data frame to the history buffer;
  • a history buffer for storing data frames transmitted by the decoder unit.
  • a delay unit configured to control a data frame delay output in the history buffer
  • Implementing a packet loss hiding unit configured to recover the lost data frame, and placing the restored data frame in a position corresponding to the lost data frame in the history buffer, and implementing the working process of the packet loss hiding unit include: Filling the lost frame main buffer with one pitch period data in the known data before the missing data; using one pitch period data in the known data after the missing data, or using the previous data before the missing data Knowing a pitch period data in the data, filling the lost frame copy buffer;
  • the method of finding the best matching point near the matching point corresponding to the initial pitch period and fine-tuning the estimated initial pitch period according to the most-matched bit a reduces the estimated pitch period. error.
  • a pitch period data in the data is filled with the lost frame main buffer, a pitch period data in the current data of Icheon, a pitch period data in the historical data of the profit w, and a temporary buffer of the lost frame is filled.
  • superimposing the data in the lost frame main buffer and the lost frame temporary buffer ⁇ , and using the superimposed processed data to compensate for the lost frame the correlation between the data after the lost frame loss data frame is enhanced. , thereby improving the continuity of the recovered lost frame data and the data after the 3 ⁇ 4 fire frame.
  • FIG. 1 is a schematic diagram of a frequency multiplication point in an embodiment of the present invention.
  • FIG. 2 is a flow chart of a method for estimating a pitch period according to an embodiment of the present invention
  • FIG. 3 is a flow chart of a specific embodiment of the method of the present invention for implementing the method shown in FIG. 2;
  • FIG. 4 is a structural block diagram of an apparatus for estimating a pitch period according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of fine-tuning a pitch period of data before a lost frame according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of a method for fine-tuning a pitch period according to an embodiment of the present invention:
  • FIG. 7 is a schematic diagram of fine-tuning a pitch period of data after a lost frame according to an embodiment of the present invention
  • FIG. 8 is a structural block diagram of an apparatus for fine-tuning a pitch period according to an embodiment of the present invention
  • FIG. 9 is a flowchart of a method for implementing packet loss concealment by combining historical data and current data according to an embodiment of the present invention
  • FIG. 10 is a schematic diagram of performing smoothing processing on a current frame according to an embodiment of the present invention.
  • FIG. 11 is a schematic diagram of backfilling lost data with current data in an embodiment of the present invention.
  • FIG. 12 is a schematic diagram of searching for a waveform that best matches a given waveform in a pitch buffer according to an embodiment of the present invention.
  • FIG. 13 is a schematic diagram of performing amplitude smoothing processing on recovered lost frame data according to an embodiment of the present invention:
  • FIG. 14 is an implementation of the present invention.
  • FIG. 15 is a schematic diagram of external connection of a device for implementing packet loss hiding in a receiving end system according to an embodiment of the present invention
  • FIG. 16 is a flowchart of a method for implementing packet loss hiding in an actual system according to an embodiment of the present invention.
  • the embodiments of the present invention mainly improve the existing packet loss concealment technology, so as to reduce the pitch period estimation error, phase discontinuity, and amplitude discontinuity of the prior art when compensating for the fire frame.
  • the voiced sound is periodic, and the period is (P), that is, the pitch period is p.
  • the periodicity of the sample point data X in the historical buffer (HB) can be expressed by the formula (1):
  • the sliding window (SW) involved in the existing method of estimating the period is The formula of the correlation function CR of the sampling point signal and the sampling point signal of the template window (TW) - -
  • FIG. 1 is a schematic diagram of a frequency multiplication point in an embodiment of the present invention.
  • the S-good matching point is k3 by the autocorrelation analysis method, but the best matching point of the true pitch period of the waveform in Fig. 1 is kl, that is, the best matching point k3 is found.
  • the frequency is 1/N of the frequency corresponding to kl, where N is an integer of 1 . Therefore, the pitch period corresponding to the estimated k3 at this time is N times the pitch period corresponding to k1, which is an integral multiple of the true pitch period.
  • FIG. 2 is a flow chart of a method of estimating a pitch period according to an embodiment of the present invention. As shown in Figure 2, the following steps are included:
  • Step 201 Acquire an initial pitch period of the known voice data.
  • an autocorrelation analysis method can be used to estimate a pitch period value, and the pitch period value is set to the initial pitch period.
  • the voice data of a certain length may be set as a piece of data in the HB, that is, a segment before the lost frame.
  • Data The tail of the TW is aligned with the tail of the data in the HB, and the starting position of the TW in the HB is set to R.
  • the position of the TW is kept unchanged, and the starting position (L) of the SW starts to slide from the starting position of the HB, and the autocorrelation values of the sampling points in the SW and the sampling points in the TW are calculated during the sliding of the SW to Searching for the best matching point, the autocorrelation value of the sampling point signal in the SW and the sampling point signal in the TW at the best matching point is the largest.
  • the distance P between the optimal pfl point and the starting position R of the TW is the estimated pitch period.
  • the estimated gene period can be set as the initial gene period.
  • Step 202 Select, from a pitch period corresponding to one or more integer multiples of frequencies corresponding to a frequency corresponding to the initial pitch period, that the corresponding frequency is less than or equal to a frequency corresponding to a minimum possible pitch period (2.5 ms)
  • the pitch period is used as a candidate pitch period, and a pitch period is selected from the initial pitch period and the candidate pitch period as the final estimated pitch period of the known speech data.
  • the pitch period corresponding to more than one integer multiple of the frequency corresponding to the initial pitch period as the candidate pitch period may be: finding all initial pitch periods greater than the minimum possible basis period Factor, as a candidate pitch period.
  • selection may be made based on matching values corresponding to the initial pitch period and each candidate pitch period.
  • FIG. 3 is a flow chart of one embodiment of the method of the present invention for implementing the method of FIG. 2. As shown in Figure 3, the following steps are included:
  • the best matching point BK is the position of the k point corresponding to the maximum value of the matching value BC ( Bcs Corr ) during the search, and BC can be as shown in formula (4):
  • BC max ⁇ corr(k)
  • N indicates that the optimal pitch period occurs N times the frequency corresponding to point P0.
  • Step 304 Determine whether the P obtained in step 303 is greater than or equal to the minimum possible pitch period. If yes, execute step 305. Otherwise, the process ends.
  • Step 305 Obtain a matching value BC ' corresponding to P.
  • Step 306 Determine whether BC' satisfies the preset condition, if yes, go to step 307, otherwise, go to step 303.
  • the preset condition may be BC ' a X BC, where a is a constant and the empirical value is taken as 0.85.
  • the flow shown in Fig. 7 can also be set as follows: When a factor having a factor satisfies the condition, the factor is considered to be the optimal pitch period, and the flow is ended.
  • BC can be updated with the current BC ', that is, BC BC ', so that when comparing the times, it is not always compared with the initial pitch period P0, but with the previous comparison process.
  • the preferred values selected in the comparison are compared.
  • step 303 or step 305 PJ' first selects a point P' with the largest matching value within a certain range near the P value, and replaces it with P'. P, repair J to J to reduce the impact of error.
  • the specific process may be: searching in the vicinity of the k point corresponding to P, finding the point k ' at which the matching value BC is the largest, and the pitch period corresponding to k ' is P ', at the sampling rate of 8KHZ, near the point k
  • the 3 points of the search can get better results.
  • FIG. 4 is a structural block diagram of an apparatus for estimating a pitch period according to an embodiment of the present invention. As shown in FIG. 4, the installation includes: an initial pitch period acquisition unit 401 and a selection unit 402.
  • the initial pitch period obtaining unit 401 is configured to acquire an initial pitch period of the known voice data, and send the selected pitch period Element 402 is selected.
  • the selecting unit 402 selects a pitch period whose corresponding frequency is less than or equal to a frequency corresponding to the minimum possible pitch period as a candidate pitch period from a pitch period corresponding to one or more integer multiple frequencies greater than 1 corresponding to the frequency corresponding to the initial pitch period. And selecting a pitch period from the initial pitch period and the candidate pitch period ⁇ as the final estimated pitch period of the known speech data.
  • the selection unit 402 in FIG. 4 includes: a calculation module 403 and a comparison module 404, wherein
  • the calculation module 403 is configured to respectively calculate a matching value corresponding to the initial pitch period and each candidate pitch period, and send the matching value to the comparison module 404;
  • the comparing module 404 is configured to compare the received matching values corresponding to the initial pitch period and each candidate pitch period, select a best matching value, and use the pitch period corresponding to the best matching value as a The final estimated pitch period of the known speech data.
  • the selecting unit 402 in FIG. 4 is further configured to perform, within each preset pitch period, a search within a preset range around the matching point corresponding to the candidate sound period, and find a matching value as a best matching value. a matching point, and replacing the candidate pitch period with a pitch period corresponding to the matching point; and selecting a pitch period from the initial base period and the replaced candidate pitch period as a final pitch period of the known speech data .
  • the original intention of estimating the pitch period is to obtain the pitch period of the data closest to the lost frame, but when using the autocorrelation method to calculate the pitch period, it is necessary to use the sample data of at least 22.5 ms before the lost frame. Therefore, a certain error is generated when calculating the pitch period of the most recent data at the beginning of the lost frame. Therefore, the technical solution of the present invention for reducing the estimation error by fine-tuning the obtained pitch period will be described next with reference to Figs. 5 and 6.
  • FIG. 5 is a schematic diagram of fine-tuning a pitch period of data before a lost frame according to an embodiment of the present invention.
  • the signal shown is the audio signal in HB.
  • Figure 6 is a flow diagram of a method of fine tuning a pitch period in accordance with an embodiment of the present invention. As shown in Figure 6, the following steps are included:
  • Step 601 Acquire an initial pitch period of known data before losing data or after losing data.
  • the initial pitch period P0 of the data in the HB is obtained.
  • P0 can use the pitch period obtained by the autocorrelation analysis method, or the pitch period of the method of eliminating the frequency multiplication by the method shown in Fig. 1, and the pitch period obtained by other methods.
  • Step 602 Set a TW whose length is a preset value at an end of the known data close to the lost data.
  • one of the number of sampling points is taken forward from the last sampling point of HB.
  • Segment data as TW.
  • the length of HB is LEN
  • the starting point of TW is S T
  • the ending point is ⁇ ⁇
  • L is the length Preferably, takes a value of about P0 0. 55 X, but not less than 0. 25 X TO.
  • Step 603 Set a SW having the same length as the TW length, and slide the SW near the end point of the lost data within a preset range around the preset point, where the preset point is close to the lost data in the data. The point at which the endpoint is from the length of the initial pitch period.
  • a SW of length L is also set in the history buffer HB, and the end point of the SW is slid within a preset range near the Z point, and the Z point is £ 1 of the distance TW.
  • the endpoint is a point of the initial 3 ⁇ 4 tone period TO length.
  • Step 604 in the sliding process of the SW, calculate a matching value between the data in the TW and the data in the SW, and find the best matching value from the TW and SW when the best matching value is obtained.
  • the distance between the corresponding endpoints is used as the pitch period after the fine adjustment.
  • the matching value between SW and TW is calculated, and the most matching value of the ⁇ is found, that is, the position of the SW most similar to the TW is found, and this time
  • the distance P1 between the corresponding endpoints of TW and SW is taken as the final estimated pitch period.
  • the method of self-411 analysis can be used, for example, the matching value of SW and TW is calculated by using formula (2).
  • the sum of the absolute values of the amplitude differences between the sampling points in the SW and the corresponding sampling points in the TW (BMV) can also be calculated, as shown in equation (7):
  • the initial errored pitch period can be fine-tuned by the above method to achieve the purpose of reducing the error.
  • FIG. 7 is a schematic diagram of fine-tuning the pitch period of data after a lost frame according to an embodiment of the present invention.
  • the initial pitch period PO is first acquired using a piece of known data after the missing data. Po can be used to obtain the pitch period of the ffl correlation analysis method, or the pitch period of the method of eliminating the frequency multiplication by the method shown in FIG. 1, or the pitch period obtained by other methods.
  • the ffi sound period of the known data before the missing data can be substituted for P0.
  • a piece of data of L number of sampling points is taken backward as a TW at the start position of the data after the lost data.
  • the length of L is a value of about 0.55 X PO, but the length of the known data after the missing data is not enough. 0. 55 X P0, the length of L can be appropriately reduced, but preferably , L is not less than 0. 25 X TO.
  • the Z point is a point from the S T end of the TW to the length of the initial pitch period P0, the starting point of the SW is S s , and the ending point is H s .
  • the matching value between the data in the TW and the data in the SW is calculated, and the optimal K value is found, that is, the position of the SW most similar to the TW is found, and the time is The distance P1 between the corresponding endpoints of TW and SW is taken as the final estimated pitch period.
  • the method of correlation analysis can be used, for example, the matching value of SW and TW is calculated by using formula (2).
  • the BMV of the sampling point in S and the corresponding sampling point in TW can also be calculated, as shown in formula (7), and the minimum value corresponding to the best matching value at this time.
  • the pitch period of the data after the lost frame when the pitch period of the data after the lost frame is fine-tuned, preferably, the length L of the TW is greater than 0.25 X P0, so as can be seen from FIG. 7, preferably The fine adjustment of the pitch period is performed when the length of the data after the obtained lost frame is greater than or equal to 1.25 X P0.
  • FIG. 8 is a structural block diagram of an apparatus for finely adjusting a pitch period according to an embodiment of the present invention. As shown in FIG. 8, the device includes: an initial pitch period acquisition unit 801, a setting unit 802, and a calculation unit 803, where
  • the initial pitch period obtaining unit 801 is configured to acquire the initial pitch period of the known data before or after the lost data, and send it to the setting unit 802;
  • the setting unit 802 is configured to receive an initial base period sent by the initial pitch period acquiring unit 801, and set a TW whose length is a preset value at a side of the known data close to the lost data, and set the length to be the same as the TW L: degree SW, and sliding the SW near the end point of the missing data within a preset range around the preset point; the preset point is a know a point in the data that is closer to the end of the initial pitch period than the endpoint of the TW near the lost data;
  • the calculating unit 803 is configured to calculate a matching value between the data of the TW ⁇ and the data in the SW within a preset range around the preset point that the SW can slide, and find a best matching value from the preset value, and The distance between the TW and the corresponding end point of the SW when the best match value is used as the pitch period after the fine adjustment.
  • the matching value between the data in the TW and the data in the sw can be: Calculate the number in the TW
  • the correlation value of the data in the SW, and the matching value is a value proportional to the correlation value; or the sum of the absolute values of the amplitude difference between the data of the TW towel and the corresponding data in the SW, and the matching value is the same as the amplitude
  • the sum of the absolute values of the differences is inversely proportional to the value.
  • the specific case is: when there is a data frame loss, when the system delay is allowed, it can wait until the next good data frame is received, and combine the historical data and the current data received after the lost frame to perform packet loss. Hide processing. Therefore, in the embodiment of the present invention, a scheme for performing packet loss concealment processing in combination with historical data and current data is provided, wherein the historical data refers to data before the lost frame, and the current data refers to data after the lost frame.
  • FIG. 9 is a flowchart of a method for implementing packet hiding by combining historical data and current data according to an embodiment of the present invention. As shown in Figure 9, the following steps are included:
  • Step 901 estimating a pitch period of the historical data ⁇ .
  • the autocorrelation analysis method may be used to estimate the chirp, or an autocorrelation analysis method may be used to estimate an initial pitch period, and then the initial pitch period is used by the method of the embodiment of the present invention shown in FIGS. 1 and 6. After the frequency doubling elimination and the fine adjustment correction are performed, it is used as the ⁇ in the present embodiment.
  • Step 902 smoothing the historical data.
  • the method for smoothing the last ⁇ /4 data of the historical data may be: multiplying the quarter pitch period data before the last pitch period in ⁇ by the rising window, and ⁇ the most quarter ⁇
  • the pitch period data is multiplied by the falling window, and the data of the above two 1 Z4 pitch periods are superimposed, and then the contents of the last 1/4 pitch period in the ⁇ are replaced by the 1/4 pitch period data obtained by the superposition to ensure A smooth transition between the previous frame original signal and the filled lost frame signal in ⁇ .
  • the rising window and the falling window in the simplest case, may adopt a window as defined by the following formula:
  • Step 903 Put the data of the last PP length in the smoothed historical data into a Pudong base buffer (PB).
  • PB Pudong base buffer
  • the length of the dedicated PB is equal to PP.
  • Step 904 Fill the lost frame main buffer (LMB) equal to the length of the lost frame with the data in the PB.
  • an offset pointer (P-0FFSKT) is required for assistance.
  • the P-OFFSET is used to indicate where the data should be taken from the next time when the data is taken from the PB, to ensure the smoothness of the data splicing.
  • the pointer P_OFFSET needs to be moved to the right by the corresponding length. If the data from the PJFFSET to the end of the PB is found to be insufficient, the required data is needed. Then, P-OFFSET is reset to 0, and data is taken from the start bit S of PB; if the required data is still insufficient, this step is repeated until all the required data is obtained.
  • step 905 whether the current data meets the preset condition, if yes, step 905 is performed; otherwise, step 9K is performed.
  • the preset conditions are: the length of the current data, that is, the starting position of the first good frame after the lost frame, the length of the currently received data, and whether the current frame is smoothed.
  • FIG. 10 is a schematic diagram of performing smoothing processing on a current frame according to an embodiment of the present invention. Referring to FIG. 10, the process of smoothing the current data is: multiplying the 1/4 pitch period data after the first pitch period of the current data by the falling window, and the first 1/4 pitch period data starting from the previous data.
  • the pitch period of the historical data can be used.
  • Step 906 estimating a pitch period (NP) of the current data
  • the NP can be estimated by the autocorrelation analysis method, or an initial pitch period can be estimated by the autocorrelation analysis method, and then the initial pitch is obtained by the method of the embodiment of the present invention shown in FIG. 1 and FIG.
  • the period is subjected to frequency multiplication elimination or fine adjustment correction and then used as the NP in this embodiment.
  • the current data is smoothed.
  • Step 908 Put the data of the beginning NP length in the smoothed current data into a dedicated base buffer PB 1.
  • Step 909 Backfill the lost frame temporary buffer (i m ) equal to the lost frame length by using the data in PB1. Go to step 913.
  • the process of backfilling the LTB with the data in PB 1 is similar to the process of filling the LMB with the data in PB in step 1304, except that the direction of the padding is reversed, so it is called "reverse padding".
  • FIG. 11 is a schematic diagram of the reverse filling of lost data with current data in an embodiment of the present invention.
  • Figure 11 the process of filling the missing data segment with the data of the last PP length of the historical data and filling the missing data segment with the NP length data starting from the current data is compared. It can be seen that the direction filled with the historical data is from left to right. Right, and the direction filled with the current data is from right to left.
  • Step 910 Take a piece of data Da teA of length L from the starting position of the current data, and find a piece of L length data DateB that matches the DateA in the base buffer PB, and record the starting point of DateB as ; ⁇ .
  • FIG. 12 is a schematic illustration of a waveform in the pitch buffer that best matches a given waveform in accordance with an embodiment of the present invention.
  • a SW of length L is set in PB, and the starting end point S s of SW slides from the starting end point of PB to the right end to the end of PB, and is calculated during the sliding process of SW. Data and given data in the SW
  • the match value for DateA When the starting end of the SW slides to the right by a certain distance, the end point E s of the SW will exceed the range of the PB, that is, the length M from the beginning of the SW to the end of the PB is less than L. At this time, the PB start bit S is copied. The LM length data is spliced to the end of the PB to meet the matching requirements. Then, the data of the L length spliced in the SW is matched with the given data Dat eA.
  • Step 91 Multiply the PP/4 length data Dat eB after the St point in the pitch buffer PB by a falling window, and multiply the PP/4 length data DateA of the current data starting position by a rising window.
  • the PP/4 length data after the above two multiplication windows is superimposed, and the P1V4 length data of the current data start bit: is replaced with the superimposed data.
  • the operations in this step ensure a smooth connection between the current data and the lost data.
  • Step 912 Before the S t point of the PB, the data having the same length as the lost data length is taken into the L'1'B. In this step, when the length of the starting point from the point St to the PB in the PB is less than the length of the required data, that is, less than the length of the lost data, the data is continued to the left from the end of the PB until the data can be obtained. The length of data is required.
  • Step 913 Multiply the data in the lost frame main buffer LMB by a falling window, and multiply the data in the lost frame temporary buffer LTB by a rising window, and superimpose the data of the two multiplied windows to superimpose The post data is filled as a recovered lost frame to the missing frame.
  • step 905 may be unnecessary, and steps 906, 907, 908, 909, and 913 may be performed in step 904, or directly after step 904. Steps 910, 91 1 , 912 and 913.
  • step 910 of the above process when searching for the DateB that best matches DateA in ⁇ , the position of the P-OFFSET of the PB obtained in step 904 can be utilized, that is, the initial matching point is set to P-0F SFJ, and then Find the best matching point St near the position of P-OFFSET, which can reduce the number of matches and thus reduce the calculation.
  • the lost frame is located in the transition between the voiced and the unvoiced, the lost frame is recovered by the method shown in FIG. 9, and the abnormality of the energy may also occur. Therefore, in the embodiment of the present invention, the frame before and after the lost frame is further required.
  • the change in energy is used to smooth the amplitude of the lost frame to achieve a gradual change in the waveform.
  • the method of summing the squares of the amplitudes of L samples can be taken.
  • FIG. 13 is a schematic diagram of performing amplitude smoothing processing on recovered lost frame data according to an embodiment of the present invention. It can be seen from Fig. 3 that before the amplitude smoothing process, the connection between the recovered lost frame and the current frame can be changed greatly, but after the amplitude smoothing process, the recovered lost frame is connected to the current frame. The energy changes have become more stable.
  • the amplitude may be performed according to the ratio of the maximum amplitude difference of the matched waveforms in the previous frame and the subsequent frame of the lost frame.
  • Smoothing Processing for example, the amplitude of the recovered lost frame can also be smoothed by using equation (8), except that the position at this time should be the ratio of the maximum amplitude difference of the matched waveforms in the previous and subsequent frames of the lost frame.
  • FIG. 14 is a structural block diagram of an apparatus for implementing packet loss hiding according to an embodiment of the present invention.
  • the device H mainly includes: a main processing unit 1401, a lost frame main buffer 1402, a lost frame temporary buffer 1403, and a main processing unit 1401 for utilizing the last pitch period in the historical data. Data, padding the lost frame main buffer 1402, and using the first pitch period data in the current data, or using the last pitch period data in the historical data, filling the lost frame temporary buffer 1403; and losing the frame main buffer After the data in the area 1402 and the frame loss temporary buffer 1403 are superimposed, the lost data is compensated by the superimposed data.
  • the lost frame main buffer 1402 is used to store data filled by the main processing unit 1401.
  • the lost frame temporary buffer 1403 is used to store data filled by the main processing unit 1401.
  • the length of the lost frame main buffer 1402 and the lost frame temporary buffer 1403 is equal to the length of the lost frame.
  • the apparatus shown in Fig. 14 further includes: a history data processing unit 1405 current data processing unit M06, the main processing unit comprising: a pitch buffer 1407, a smoothing processing module 1408, and an amplitude leveling module 14 (M.
  • the historical data processing unit 1405 is configured to acquire a pitch period of the historical data, and smooth the last-based pitch period data of the historical data ⁇ , and then send the data to the main processing unit 1401.
  • the current data processing unit 1406 is configured to acquire a pitch period of the current data, and smooth the first pitch period data in the current data, and then send the data to the main processing unit 1401.
  • the main processing unit 1401 may use the last pitch period data in the historical data to fill the fire frame temporary buffer 1403.
  • the main processing unit 1401 stores the last pitch period data in the history data into the pitch buffer 1407. And taking the first data of the preset value from the start position of the first pitch period data in the current data; searching for the second data that matches the first data in the pitch buffer 1407; acquiring the pitch buffer
  • the third data before the start of the second data in the area 1407 is equal to the length of the lost frame temporary buffer; the lost frame temporary buffer 1403 is filled with the third data.
  • the smoothing processing module 1408 is configured to multiply the data whose length after the starting point of the second data in the pitch buffer 1407 is a preset value by a falling window, and set the length of the current data starting position to a preset value.
  • the data is multiplied by a rising window, and then the data after the above two multiplied windows is superimposed, and the superimposed data is used to replace the data whose length starting from the starting position of the current data is a preset value.
  • the amplitude smoothing module 1404 is configured to acquire the known data before the lost data and the known number after the lost data a scaling factor between the two sets of data matching each other, and smoothing the amplitude of the superposed processed data according to the scaling factor; the main processing unit 1401 compensates the lost frame by using the amplitude smoothing processed data.
  • the main processing unit 1401 may further determine whether the length of the pre-data is greater than or equal to a preset value, and the main processing unit 1401 uses the knowledge after the missing data.
  • the first pitch period data in the padding fills the lost frame temporary buffer 1403; otherwise, the main processing unit 1401 fills the lost frame temporary buffer 1403 with the last pitch period data in the known data before the missing data.
  • the lost frame data is recovered by combining the current data and the historical data, thereby completing the packet hiding process. Since the data frame after the lost frame is utilized in the packet hiding process, that is, the current data recovers the lost frame, the correlation between the recovered lost frame data and the data after the lost frame is enhanced, thereby improving the correlation. The quality of recovered voice data. In addition, the process of smoothing the recovered lost frame data further improves the quality of the recovered speech data.
  • FIG. 15 is a schematic diagram of an external connection of a device for implementing packet loss concealment in a receiving end system according to an embodiment of the present invention.
  • the receiving end system provided by the embodiment of the present invention may specifically be a decoder.
  • the receiving end system includes: a lost frame detector 1501, a decoder unit 1502, a history buffer 1503, a delay unit 1504, and a packet loss hiding unit 1505.
  • the lost frame detector 1501 receives the bit stream transmitted from the network, it is determined that the data frame is lost. If no data frame is lost, the lost frame detector 1501 transmits the intact voice frame to the decoder. 1502 performs decoding, and then the decoder 1502 sends the decoded data to the history buffer 1503, and the delay unit 1504 delays the data in the history buffer 1503 for a certain time and outputs it. If the lost frame detector 1501 detects that there is a data frame loss, the signal of the "missing voice frame" is sent to the packet loss concealing unit 1505, and then the packet loss concealing unit 1505 is used to use the packet loss concealment method according to the embodiment of the present invention.
  • the recovered lost frame data is acquired, and the recovered lost frame data is placed in the history buffer 1503 on the bit S corresponding to the lost frame.
  • the packet loss concealing unit 1501 needs to perform packet loss concealment processing according to historical data before the lost frame and one or more frames of data after the lost frame, but Under complicated network conditions, whether the frame before the lost frame and the data frame after the lost frame are lost is not known or fixed, so the implementation packet hiding unit 1505 can obtain the lost frame detector 1501 when performing the packet loss concealing process. Status information of the required frame.
  • FIG. 16 is a flowchart of a method for implementing packet loss hiding in an actual system according to an embodiment of the present invention. As shown! 6 shows the following steps;
  • Step 1601 The receiving end system receives a new voice data frame.
  • Step 1602 The receiving end system determines whether the currently received new voice data frame is a bad frame. If yes, step 1606 is performed. Otherwise, step 1603 is performed.
  • Step 1603 The receiving end system performs decoding processing on receiving the current frame.
  • Step 1604 The receiving end system determines whether the previous frame of the current frame is lost. If yes, step 1606 is performed. Otherwise, step 1605 is performed.
  • Step 1605 Update the history buffer with the current frame, and execute step 1608.
  • Step 1606 recovering the lost frame by using a packet loss hiding method.
  • Step 1607 updating the history buffer with the recovered lost frame and/or the current frame.
  • Step 1608 delaying the data in the history buffer for a period of time.
  • the delay time can be set according to the application scenario. For example, when the system requires a delay of ⁇ for the time corresponding to 1 frame or more frames, the maximum possible superimposition length for the pre-frame smoothing is the maximum possible pitch period (the maximum possible pitch period is generally 15 ms). Times, that is, 3.75m S , so that the delay time can be appropriately increased while satisfying the system delay requirement. For example, when the number of sampling points corresponding to the lm S data is , the delay time that can be used is the time corresponding to one frame and CEIU 3. 75 X SP / F AME_SZ ) X FRAME . SZ sampling points corresponding to the time The larger one, where CEIL means to take the smallest integer greater than the given floating point number, FRAME_SZ is the number of sampling points in one frame of data.
  • Step 1609 outputting data in the history buffer.
  • Step 1610 Determine whether there are other data frames that need to be received. If yes, go to step 1601 to continue. Otherwise, the process ends.
  • the combined historical data and the current data recovery lost frame method it is necessary to determine whether to apply the combined historical data and the current data recovery lost frame method according to the delay time allowed by the system to perform packet loss concealment processing. For example, when there is a data frame loss, if the delay time of the system is allowed, the next frame is awaited. If the next frame is a good frame, the combined historical data and the current data given in the embodiment of the present invention may be used to recover the lost. The frame method hides the lost frame. If the next frame data is still lost, continue to wait if the system delay time allows. The data of the next frame. In the case of continuous frame dropping, and the system delay condition is not allowed to continue waiting, the historical data is used for packet loss concealment processing.
  • the pitch pitch period can be eliminated by selecting a value from the initial pitch period and all the factors of the initial pitch period greater than the minimum possible pitch period as the estimated optimal pitch period.
  • the error of estimating the pitch period is reduced by finding the most ft matching point in the vicinity of the initial pitch period and fine-tuning the estimated initial pitch period according to the position of the best matching point.
  • the last base period data in the historical data is used, the lost frame main buffer is filled, the first pitch period data in the current data is used, or the last pitch period data of the history number ' ⁇ is used, Filling the lost frame temporary buffer, superimposing the data in the lost frame main buffer and the lost frame temporary buffer, and using the superimposed processed data to compensate for the lost frame enhances the recovered -£ lost frame data and The correlation between the data after the lost frame is lost, thereby improving the continuity of the phase between the recovered lost frame data and the data after the lost frame. Moreover, in the embodiment of the present invention, by the technical solution of smoothing the amplitude of the recovered lost frame, the energy change at the connection between the recovered lost frame and the current frame becomes stable.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)

Description

一种实现丢包隐藏的方法、 装置及系统
技术领域
本发明涉及网络通信技术领域, 尤指一种估计基音周期的方法和装置、 一种对基音 周期进行微调的方法和装置以及实现丢包隐藏的方法、 装置及系统。
发明背景
最初, IP 网络是为传输包含较大的数据包且不需要实吋可靠传送的数据流而设计 的。 而现在 IP网络中也传输语音数据。语音的传输需要实时可靠地传送较小的语音包, 当一个语音包在传输过程中被丢弃时, 通常没有时间重新传送该被丢弃的包。 另外, 3 一个语音包经过了一段较长的路由而在需要播放时不能及时到达时, 这个包巳经失去了 存在的意义。 因此在基于 IP网络协议的语音 (VoIP, Voice over Internet Protocol ) 系统中, 语音包不能及时到达或不能到达时, 都被认为该语音包丢失了。
网络传输过程中的丢包是在网络传输语音数据时服务质量下降的主要原因。而 £包 隐藏技术是指通过合成的数据包补偿丢失的包, 来减小传输过程中的丢包对语音质量的 影响。 如果没有有效的语音丢包隐藏技术, 即使是设计和管理得最好的 TP网络也不能 提供长话级品质的通信。 而设计良好的解决丢包问题的技术, 能很大程度上提卨语音传 输的质量。 因此在现有技术中, 不同的机制被用来隐藏由于丢包引起的影响。 例如以基 音波形替代为基础的丢包隐藏方法。
基音波形替代是一种基于接收端的处理技术, 它根据语音的特点对丢失的数据帧进 行补偿。 下面介绍基音波形替代技术的原理、 实现过程以及存在的缺点。
在语音信号中, 一般清音从波形上看是杂乱无章的, 而浊音在波形上则表现出周期 性。 基音波形替代的主要原理是: 首先, 利用丢失帧前一帧的信息, 即波形缺口位胥的 前一帧的信号来估计出缺口之前信号波形对应的基音周期?,然后, 用缺口位置之前的, 长度为 P的一段波形来补偿波形的缺口。
在现有技术中一般使用自相关分析的方法来获得基音波形替代方法中所使用的基 音周期 P。 自相关分析是一种常用的语音时域波形分析方法, ώ相关函数来定义。 相关 函数可用来测定信号间的时域相似性, 当进行相关的两个信号完全不同吋, 相关函数的 值接近于零; 当进行相关的两个信号的波形相同时, 则会在超前或滞后处出现峰值。 因 此, 自相关函数可用于研究信号本身, 如波形的同步性、 周期性等等。
但是在利用基音波形补偿丢失帧的方法中存在如下的缺点:
1) 采用自相关分析的方法估计出的浊音基音周期 Ρ不够准确。 使用 相关方法均 以自相关函数取极值时对应的基音周期为最终的基音周期,但以此得到的基音周期有 nj' 能为实际基音周期所对应频率的 1/N倍处(N为大于 1的整数);另外佔计基音周期的初 衷本是要获得最接近丢失帧处的数据的基音周期, 但在使用自相关方法计算基音周期 时, 通常需要使用缺口之前至少 22. 5ms (对应基音周期为最小基音周期, 既 2. 5ms的情 况) 的信号。 这些因素将导致计算基音周期时会产生一定的误差, 在使用有误差的基音 数据填充丢失帧的数据时, 在拼接处的相位就会发生突变。
2 ) 在现有技术中只使用丢失帧之前的数据, 即历史数据进行填充。 由于音频信号 中的基音周期也是逐渐变化的, 因此距离丢失帧越远的数据与丢失帧的相关性越弱, 只 用丢失帧之前的数据对丢失帧进行补偿, 也有可能在丢失帧和其之后的帧相连的地方发 生相位不连续的现象。
3 ) 当丢失帧发生在有语音渐变的地方时, 只用丢失帧的前一基音周期数据对 £失 帧数据进行恢复, 则会发生幅度不连续的现象。
发明内容
鉴于上述现有技术所存在的问题, 本发明实施例提供了一种基音周期的估计方法, 该方法能够消除估计基音周期时存在的倍频问题。
本发明实施例提供了一种基音周期的估计装置, 该装置能够消除估计基音周期时存 在的倍频问题。
本发明实施例还提供了一种基音周期的微调方法, 该方法能够减小估计基音周期的 误差。
本发明实施例还提供了一种基音周期的微调装置, 该装置能够减小估计基音周期的 误差。
本发明实施例提供了一种实现丢包隐藏的方法, 该方法增强了恢复的 ¾失帧数 ffi 丢失帧之后的数据之间的相关性。
本发明实施例提供了一种实现丢包隐藏的装置, 该装置增强了恢复的丢失帧数据 ¾ 丢失帧之后的数据之间的相关性。
本发明实施例公开了一种实现丢包隐藏的接收端系统, 该系统增强了恢复的丢失帧 数据与丢失帧之后的数据之间的相关性。
为达到上述目的, 本发明的技术方案具体是这样实现的:
本发明实施例公幵了一种基音周期的估计方法, 该方法包括以下歩骤:
获取历史数据的初始基音周期; 从所述初始基音周期所对应频率的一个以上的大于 1的整数倍频率所分别对应的基 音周期中, 选择所对应频率小于或等于最小可能基音周期所对应频率的基音周期作为候 选基音周期, 并从所述初始基音周期和所述候选基音周期中选择一个基音周期作为所述 历史数据的最终估计基音周期。
本发明实施例公开了一种基音周期的估计装置, 读装置包括: 初始基音周期获取单 元和选择单元, 其中,
初始基音周期获取单元, 用于获取历史数据的初始基音周期, 并发送给选择 'ϊυ^ 选择单元, 从所述初始基音周期所对应频率的一个以上的大于 1的整数倍频率所分 别对应的基音周期中, 选择所对应频率小于或等于最小可能基音周期所对应频率的基咅 周期作为候选基音周期, 并从初始基音周期和候选基音周期中选择一个基音周期作为所 述己知语音数据的最终估计基音周期。
本发明实施例公开了一种基音周期的微调方法, 该方法包括:
获取丢失数据之前或丢失数据之后的历史数据的初始基音周期;
在所述历史数据靠近丢失数据的一端, 设置长度为预设值的模板窗;
设置长度与所述模板窗长度相同的滑动窗, 并使所述滑动窗靠近丢失数据的端点在 预设点周围的预设范围内滑动, 所述预设点是所述已知数据中与所述模板窗靠近丢失数 据的端点距离初始基音周期长度的点;
在所述滑动窗所能滑动的预设点周围的预设范围内, 计算所述模板窗中的数据与所 述滑动窗中数据的匹配值, 并从中査找出最佳的匹配值, 并将具有所述最佳匹配值吋的 模板窗与滑动窗的对应端点之间的距离作为微调后的基音周期。
本发明实施例公开了一种基音周期的微调装置, 该装置包括: 初始基音周期获取单 元, 设置单元和计算单元, 其中,
初始基音周期获取单元, 用于获取丢失数据之前或丢失数据之后的已知数据获取初 始基音周期, 并发送给设置单元;
设置单元, 用于接收所述初始基音周期获取单元发送的初始基音周期, 并在所述己 知数据靠近丢失数据的一端, 设置长度为预设值的模板窗, 设置长度与所述模板窗长度 相同的滑动窗, 并使所述滑动窗靠近丢失数据的端点在预设点周围的预设范围内滑动; 所述预设点是所述巳知数据中与所述模板窗靠近丢失数据的端点距离初始基音周期长 度的点;
计算单元, 用于在所述滑动窗所能滑动的预设点周围的预设范围内, 计算模板窗中 的数据与滑动窗中数据的匹配值, 并从中查找出最佳匹配值, 并将具有最佳匹配值吋的 模板窗与滑动窗的对应端点之间的距离作为微调后的基音周期。
本发明实施例公开了一种实现丢包隐藏的方法, 该方法包括:
利用所述丢失数据之前的所述已知数据中的一个基音周期数据, 填充 £失帧主缓冲 区;
利用所述丢失数据之后的所述己知数据中的一个基音周期数据, 或利用所述 ·£失数 据之前的所述已知数据中的一个基音周期数据, 填充丢失帧临时缓冲区;
对所述丢失帧主缓冲区和所述丢失帧临时缓冲区中的数据进行叠加处理, 并 ffl所述 叠加处理后的数据补偿丢失帧。
本发明实施例公开了一种实现丢包隐藏的装置, 该装置包括: 主处理单元、 丢失帧 主缓冲区和丢失帧临时缓冲区, 其中,
主处理单元, 用于利用丢失数据之前的已知数据中的一个基音周期数据, 填充 £失 帧主缓冲区, 并利用丢失数据之后的已知数据中的一个基音周期数据, 或利用丢失数据 之前的己知数据中的一个基音周期数据, 填充丢失帧临时缓冲区; 并将丢失帧主缓冲 和丢失帧临时缓冲区中的数据进行叠加处理后, 用所述叠加处理后的数据补偿 失帧; 丢失帧主缓冲区,用于存储主处理模块所填充的数据,其长度与丢失数据长度相等; 丢失帧临时缓冲区, 用于辅助存储主处理模块所填充的数据, 其长度与丢失数据长 度相等。
本发明实施例公幵了一种实现丢包隐藏的接收端系统, 该接收端系统中包括: 丢失 帧检测器、 解码器单元、 历史缓冲区、 延迟单元和实现丢包隐藏单元, 其巾:
丢失帧检测器, 用于接收网络侧传输过来的比特流, 并判断是否有数据帧丢失, 且 若丢失帧检测器没有检测到数据帧丢失,则丢失帧检测器将完好的数据帧传送给所述解 码器单元进行解码, 若丢失帧检测器检测到有数据帧丢失, 则发送丢失数据帧的信号给 所述实现丢包隐藏单元;
解码器单元, 用于对丢失帧检测器发送的完整数据帧进行解码, 并将解码后的数据 帧发送至所述历史缓冲区;
历史缓冲区, 用于存储所述解码器单元发送的数据帧。
延迟单元, 用于控制所述历史缓冲区中的数据帧延迟输出;
实现丢包隐藏单元, 用于恢复丢失的数据帧, 并将恢复的数据帧放置在历史缓冲区 中与所述丢失的数据帧相对应的位置上, 且所述实现丢包隐藏单元的工作过程包括: 利用丢失数据之前的已知数据中的一个基音周期数据, 填充丢失帧主缓冲区; 利用所述丢失数据之后的己知数据中的一个基音周期数据, 或利用所述丢失数据之 前的所述己知数据中的一个基音周期数据, 填充丢失帧临吋缓冲区;
对所述丢失帧主缓冲区和所述丢失帧临时缓冲区中的数据进行叠加处 ί¾ , 并用所述 叠加处理后的数据补偿丢失帧。
由上述技术方案可见, 本发明实施例中, 通过从初始基音周期所对应频率的一个以上的人 J - I 的整数倍频率所分别对应的基音周期中, 选择所对应频率小于成等于 S小可能基音周期所对;、 V:频 的基音周期作为候选基音周期, 并从初始基音周期和候选基音周期中选择一个基音周 !Pj作为所述已 知语音数据的最终估计基音周期的技术方案, 能够消除估计基音周期时存在的倍频问题。 本发明实 施例中, 通过在与初始基音周期对应的匹配点附近査找最佳匹配点, 并根据最住匹配 的位 a对估 计的初始基音周期进行微调的技术方案, 减小了估计基音周期的误差。 本发明实施例中, 利 数据中的一个基音周期数据, 填充丢失帧主缓冲区, 利川当前数据中的一个基音周期数据, 成利 w 历史数据中的一个基音周期数据, 填充丢失帧临时缓冲区, 对丢失帧主缓冲 和丢失帧临时缓冲 κ 中的数据进行叠加处理, 并用所述叠加处理后的数据补偿丢失帧的技术方案增强了恢 的丢失帧数 据 丢失帧之后的数据之间的相关性, 进而改善了恢复的丢失帧数据与 ¾火帧之后的数据之问相位 的连续性。
附图简要说明
图 1是本发明实施例中倍频点的示意图;
图 2是本发明实施例一种估计基音周期的方法的流程图;
图 3是本发明实现图 2所示方法的一个具体实施例的流程图;
图 4是本发明实施例一种估计基音周期的装置的结构框图;
图 5是本发明实施例对丢失帧之前的数据的基音周期进行微调的示意 i冬 I: 图 6是本发明实施例一种对基音周期进行微调的方法的流程图:
图 7是本发明实施例对丢失帧之后的数据的基音周期进行微调的示意图: 图 8是本发明实施例对基音周期进行微调的装置的结构框图;
图 9是本发明实施例一种结合历史数据和当前数据实现丢包隐藏的方法的流程图; 图 10是本发明实施例对当前帧进行平滑处理的示意图;
图 11是本发明实施例用当前数据反向填充丢失数据的示意图;
图 12是本发明实施例在基音缓冲区中査找与给定波形最匹配的波形的示意图 图 13是本发明实施例对恢复的丢失帧数据进行幅度平滑处理后的示意图: 图 14是本发明实施例一种实现丢包隐藏的装置的结构框图;
图 15是本发明实施例实现丢包隐藏的装置在接收端系统中的外部连接示意图; 图 16是本发明实施例在实际系统中应用实现丢包隐藏的方法的流程图。
实施本发明的方式
本发明实施例主要通过对现有的丢包隐藏技术进行改进, 以减小现有技术对丢火帧 进行补偿时存在的基音周期估计误差, 相位不连续, 幅度不连续等问题。
首先描述本发明对现有的基音周期估计方法进行改进的实施例。
前面提到过浊音是具有周期性的, 且周期为 (P ) , 即基音周期为 p, 冈此, 历史缓 冲区 (HB) 中的采样点数据 X的周期性可用公式 (1 ) 表示:
x(m) X x(m+P) ( ) 并且由于周期函数的自相关函数与该周期函数具有相同的周期特性, 因此现有的 ^ 因周期估计方法中所涉及的滑动窗 (SW) 中的采样点信号与模版窗 (TW ) 屮的采样点信 号的相关函数 CR的公式-
W
CR (k) =∑[SW (m, k) * TW (m)]
Figure imgf000008_0001
可用公式 (3 ) 表示:
CR(k)=CR(k+P) ( 3 ) 因此,现有技术中利用自相关分析来计算基音周期的方法查找到最佳 配点有可能 是干扰倍频点。
图 1是本发明实施例中倍频点的示意图。 如图 1所示, 通过自相关分析方法得到 S 佳匹配点为 k3, 但图 1中的这段波形的真实基音周期的最佳匹配点为 kl , 即所查找到 的最佳匹配点 k3对应的频率有是 kl处所对应频率的 1/N, 其中 N是大丁 1的整数。 因 此, 此时所估计的 k3处所对应的基音周期为 kl处所对应的基音周期的 N倍, 即为真实 基音周期的整数倍。 针对该问题本发明实施例给出了如下的解决方案。
图 2是本发明实施例一种估计基音周期的方法的流程图。 如图 2所示, 包括以下 骤:
步骤 201, 获取己知语音数据的初始基音周期。
在本步骤中, 可以利用自相关分析方法估计出一个基音周期值, 并将该基音周期值 设置为初始基音周期。
具体的, 可以设定某一长度的语音数据是 HB中的一段数据, 即丢失帧之前的一段 数据。 将 TW的尾部与 HB中数据的尾部对齐, TW在 HB中的起始位置对应设置为 R。 将 TW的位置保持不变, 而 SW的起始位置(L)从 HB的起始位置开始滑动, 在 SW的滑动过 程中计算 SW中的采样点和 TW中的采样点的自相关值, 以搜索最佳匹配点, 在最佳匹配 点处 SW中的采样点信号与 TW中的采样点信号的自相关值最大。 则最佳匹 ftl点和 TW的 起始位置 R之间的距离 P即为所估计的基音周期, 本发明实施例中, 可以将估计所得到 的基因周期设置为初始基因周期。
歩骤 202 , 从所述初始基音周期所对应频率的一个以上的大于 1的整数倍频率所分 别对应的基音周期中, 选择所对应频率小于或等于最小可能基音周期 (2.5ms ) 所对应 频率的基音周期作为候选基音周期, 并从所述初始基音周期和所述候选基音周期中选择 —个基音周期作为所述已知语音数据的最终估计基音周期。
在本歩骤中, 将初始基音周期对应频率的一个以上的整数倍频率所分别对应的基音 周期作为候选基音周期的实现过程可以是: 査找出所有大于最小可能基咅周期的初始基 音周期的因数, 作为候选基音周期。
例如, 当初始基音周期为 12ms, 而最小可能基音周期为 2. 5ms时, 所有大于 2. 5ms 的 12ras的因数为 6ms、 4ms禾口 3ms 0
本步骤中,可以根据与初始基音周期以及各个候选基音周期对应的匹配值来进行选 择。
通过图 2所示的方案可以消除现有技术估计基音周期时存在的倍频问题。
图 3是本发明实现图 2所示方法的一个具体实施例的流程图。 如图 3所示, 包括以 下步骤:
步骤 301, 利用自相关分析方法, 査找出最佳匹配点, 获得与最佳匹配点对应的基 音周期 P0, 初始化最佳基音周期 BP, 令 BP=P0, 并记录相应的匹配值 BC。
本歩骤中, 最佳匹配点 BK是在搜索过程中于匹配值的最大值 BC ( Bcs Corr )对应 的 k点的位置, BC可如公式 (4 ) 所示:
BC =max{corr(k)|l < k < MaxPitch— MinPitch} ( 4 ) 其中, MaxPitch是最大可能基音周期长度数据中的采样点个数, MinPi tch是 i¾小 可能基音周期长度数据中的采样点个数。
歩骤 302, 初始化 N, 令 N=l。
本歩骤中, N表示最佳基音周期发生在 P0点对应频率的 N倍处, 当 Ν= ί,则表示最 佳基音周期 ΒΡ = Ρ0。 步骤 303, 令 ^1, P=P0/N, 即设真实的基音周期 P对应的频率为 P0对应的频率 的 N倍。
歩骤 304, 判断步骤 303中所得到的 P是否大于或等于最小可能基音周期, 是则执 行步骤 305, 否则结束本流程。
本步骤中, 检测 P 是否大于等于最小可能基音周期。 通常最小 能基音周期取
2. 5ms , 在 8kHz的采样速率下, 对应 20个采样点。 如果 P 小于最小可能基 周期, 则 当前的 BP值即为所要估计的最佳基音周期, 结束本流程。
歩骤 305, 获取与 P对应的匹配值 BC '。
具体的, 假设 BC(k)对应的匹配值为最佳匹配值, 那么对应的基因周期 P和 K的关 系为:
P = Pmax-(k-l) k = l-(Pmax-Pmin) ( 5 )
歩骤 306, 判断 BC ' 是否满足预设的条件, 是则执行步骤 307, 否则 M到歩骤 303。 在本步骤中,预设条件可以为 BC ' a X BC,其中 a是一个常数,其经验值 取 0. 85。 步骤 307, 更新最佳基音周期 (BP ) , 令 BP=P, 并执行步骤 303。
通过上述流程, 就可以査找出所有大于最小可能基音周期的初始基音周期的因数, 并逐个进行比较选择出一个最佳的 BP。但在上述过程中,可能有两个以上的冈数的匹配 值都满足大于或等于 0. 85BC的条件, 在图 7所示的流程中最终选择出来的是倍频; g大 的因数, 即值最小的因数。 当然也可以将图 7所示的流程设置为: 当有一个因数的 配 值满足条件时, 便认为该因数是最佳基音周期, 结束流程。
在步骤 307中, 较佳地, 也可以用当前的 BC ' 更新 BC , 即令 BC BC ', 这样毎次进 行比较的时候, 不是一直与初始基音周期 P0相比较, 而是与上一次的比较过程中选择 出来的较佳值进行比较。
更进一歩的, 考虑到自相关方法本身存在的误差, 在步骤 303或歩骤 305中, PJ'以 先在 P值附近的一定范围内选择一个匹配值最大的点 P ', 用 P ' 代替 P, 对 P进行修 J K, 以减少误差带来的影响。 其具体过程可以是: 在与 P对应的 k点的附近进行搜索, 找出 匹配值 BC最大的点 k ', 与 k ' 对应的基音周期即为 P ' , 8KHZ采样速率下, 对 k点附近 的 3个点进行搜索可以获得较好的效果。
图 4是本发明实施例一种估计基音周期的装置的结构框图。 如图 4所示, 该装覽包 括: 初始基音周期获取单元 401和选择单元 402。
初始基音周期获取单元 401, 用于获取巳知语音数据的初始基音周期, 并发送给选 择单元 402。
选择单元 402, 从初始基音周期所对应频率的一个以上的大于 1的整数倍频率所分 别对应的基音周期中,选择所对应频率小于或等于最小可能基音周期所对应频率的基音 周期作为候选基音周期, 并从初始基音周期和候选基音周期屮选择一个基音周期作为所 述巳知语音数据的最终估计基音周期。
在图 4中选择单元 402包括: 计算模块 403和比较模块 404, 其中,
计算模块 403,用于分别计算出与初始基音周期和各个候选基音周期对应的匹配值, 并发送给比较模块 404;
比较模块 404, 用于对所接收到的与初始基音周期和各个候选基音周期对应的匹配 值进行比较, 从中选择出一个最佳匹配值, 并将该最佳匹配值所对应的基音周期作为所 述已知语音数据的最终估计基音周期。
图 4中的选择单元 402还可以进一步用于, 对于每一个候选基音周期, 在该候选甚 音周期所对应的匹配点周围的预设范围内进行搜索, 查找出一个匹配值为最佳匹配值的 匹配点, 并用该匹配点对应的基音周期替换该候选基音周期; 并从初始基 周期以及所 述替换后的候选基音周期中选择一个基音周期作为所述巳知语音数据的最终佔计基音 周期。
前面提到过估计基音周期的初衷本是要获得最接近丢失帧处的数据的基音周期, 但 在使用自相关方法计算基音周期的时, 却需要使用丢失帧之前至少 22. 5ms的采样数据, 因此,在计算距离丢失帧起始处最近一段数据的基音周期时,会产生一定的误差。因此, 接下结合图 5和图 6来描述本发明通过对已获得的基音周期进行微调来减小估计误差的 技术方案。
图 5是本发明实施例对丢失帧之前的数据的基音周期进行微调的示意图。在图 5中, 所示信号是 HB中音频信号。 图 6是本发明实施例一种对基音周期进行微调的方法的流 程图。 如图 6所示, 包括以下歩骤:
歩骤 601, 获取丢失数据之前或丢失数据之后的己知数据的初始基音周期。
在本步骤中, 获取 HB中数据的初始基音周期 P0。 P0可以利用自相关分析方法获取 的基音周期, 也可以是经过图 1所示的方法进行消除倍频处理的基音周期, 还可以足 ffl 其他方法获得的基音周期。
歩骤 602, 在所述已知数据靠近丢失数据的一端, 设置长度为预设值的 TW。
与本步骤对应, 在图 5中, 从 HB的最后一个采样点开始向前取 I 个采样点数的一 段数据作为 TW。 HB的长度为 LEN, TW的起始点为 ST, 末尾点为 Ετ, 则有:
ST=LEN-L+1
ET— LEN ( g ) 在本歩骤中, L的长度较佳地, 取 0. 55 X P0左右的值, 但不少于 0. 25 X TO。
步骤 603, 设置长度与 TW长度相同的 SW, 并使所述 SW靠近丢失数据的端点在预设 点周围的预设范围内滑动, 所述预设点是巳知数据中与 TW靠近丢失数据的端点距离初 始基音周期长度的点。
与本步骤对应, 在图 5中: 在历史缓冲区 HB中设置一个长度也为 L的 SW, 并使 SW 的末尾点在 Z点附近的预设范围内滑动, Z点是距离 TW的£1端点一个初始 ¾音周期 TO 长度的点。 SW的起始点为 Ss, 末尾点为 Es, Z点与 HB的末尾点, 也就是与 TW的末尾 点 Ετ之间的距离为 P0, 即 = — PQEs在 [z— R, Z+R]的预设范围内滑动。
歩骤 604, 在所述 SW的滑动过程中, 计算 TW中的数据与 SW中数据的匹配值, 并从 中査找出最佳的匹配值, 并将具有最佳匹配值时的 TW与 SW的对应端点之间的距离作为 微调后的基音周期。
在本歩骤中, 在 SW的滑动过程中, 计算 SW与 TW的匹配值, 査找出其屮的最仕匹 配值, 即査找出一个与 TW最为相似的 SW的位置, 并将此时的 TW与 SW的对应端点之间 的距离 P1作为最终估计的基音周期。 其中, 计算 TW与 SW的匹配值时, 可以采用自 411 关分析的方法, 如采用公式 (2 ) 计算 SW与 TW的匹配值。 为了减小计算的复杂度, 也 可以计算 SW中采样点与 TW中对应的采样点的幅度差值的绝对值的总和(BMV), 如公式 ( 7 ) 所示:
BMV (i)
Figure imgf000012_0001
其中 x ( i ) 表示 HB中的第 i个数据。
用公式 (7 )进行计算时, 匹配值与 BMV成反比, 因此査找最小的 BMV, a[J Bes tBMV =min (BMV ( i ) ), — R≤i≤R。
另外, 在步骤 604中, 作为一种优选的方案, 建议先从中间位置 i - 0处丌始, 然 后再向两侧进行搜索来查找最佳的匹配值。 即首先计算 i = 0处 BMV的值, 并作为 S初 的 BestBMV,然后再计算 i=士 1 , i= ± 2,…, i= ± R处对应的 BMV值,并与 Besl.BMV 依次进行比较, 如果小于 BestBMV, 则将 BestBMV值更新为 BMV值。
通过上述步骤可以估计出一个较为接近真实值的基音周期 Pl。
在估计丢失帧之后的数据的基音周期时,可以用上述方法对初始的有误差的基音周 期进行微调, 以达到减小误差的目的。
图 7是本发明实施例对丢失帧之后的数据的基音周期进行微调的示意^。在图 7中, 首先利用丢失数据之后的一段己知数据获取初始基音周期 PO。 po可以利 ffl 相关分析 方法获取的基音周期, 也可以是经过图 1所示的方法进行消除倍频处理的基音周期, 还 可以是用其他方法获得的基音周期。在丢失数据之后的一段巳知数据的长度不足以利用 自相关分析等方法计算出其基音周期时, 可用丢失数据之前的已知数据的 ffi音周期代荇 P0。然后在所述丢失数据之后的数据的起始位置开始向后取 L个采样点数的一段数据作 为 TW。 L的长度较佳地, 取 0. 55 X PO左右的值, 但在所述丢失数据之后的 知数据的 长度不够 0. 55 X P0时, 可以适当的减小 L的长度, 但较佳地, L不少于 0. 25 X TO。 设 置长度与 TW相同的 SW,并使 SW的起始端点在 Z点的预设范围 [ZR' Z + RJ内滑动,
Z点是距离 TW的 ST端点一个初始基音周期 P0长度的点, SW的起始点为 Ss,末尾点为 H s。 在 SW的滑动过程中, 计算 TW中的数据与 SW中数据的匹配值, 査找出其中的最佳匹 K 值, 即査找出一个与 TW最为相似的 SW的位置, 并将此时的 TW与 SW的对应端点之间的 距离 P1作为最终估计的基音周期。 计算 TW与 SW的匹配值时, 可以釆用 相关分析的 方法, 如采用公式 (2 ) 计算 SW与 TW的匹配值。 为了减小计算的复杂度, 也可以计算 S 中采样点与 TW中对应的采样点的 BMV,如公式(7 )所示,此时的最佳匹配值对应 的最小值。
在图 7所示的实施例中, 对丢失帧之后的数据的基音周期进行微调时, 较佳地, TW 的长度 L取大于 0. 25 X P0, 因此从图 7可以看出, 较佳地, 在所获得的丢失帧之后的数 据的长度大于或等于 1. 25 X P0时才进行基音周期的微调。
图 8是本发明实施例对基音周期进行微调的装置的结构框图。 如图 8所示, 该装青 包括: 初始基音周期获取单元 801, 设置单元 802和计算单元 803, 其中,
初始基音周期获取单元 801, 用于获取丢失数据之前或丢失数据之后的已知数据获 取初始基音周期, 并发送给设置单元 802 ;
设置单元 802, 用于接收初始基音周期获取单元 801发送的初始基咅周期, 并在所 述已知数据靠近丢失数据的一端, 设置长度为预设值的 TW, 设置长度与 TW L:度相同的 SW, 并使 SW靠近丢失数据的端点在预设点周围的预设范围内滑动; 所述预设点是匕知 数据中与 TW靠近丢失数据的端点距离初始基音周期长度的点;
计算单元 803, 用于在所述 SW所能滑动的预设点周围的预设范围内, 计算 TW屮的 数据与 SW中数据的匹配值, 并从中査找出最佳匹配值, 并将具有最佳匹配值时的 TW与 SW的对应端点之间的距离作为微调后的基音周期。
在本歩骤中, 计算 TW中的数据与 sw中数据的匹配值可以是: 计算 TW中的数
SW 中数据的相关值, 并取匹配值为与相关值成正比的数值; 或计算 TW 巾的数据与 SW 中对应数据的幅度差值的绝对值的总和,并取匹配值为与所述幅度差值的绝对值的总和 成反比的数值。
到此为止给出了本发明估计基音周期的具体实施例, 接下来描述本发明如何补 ^:丢 失帧, 即如何进行丢包隐藏处理的过程。
在现有技术中只使用丢失帧之前的数据, 即历史数据进行填充。 山于咅频信号中的 基音周期也是逐渐变化的, 因此距离丢失帧越远的数据与丢失帧的相关性越弱, 现冇技 术中只用丢失帧之前的数据对丢失帧进行补偿,有可能在丢失帧和其之后的帧相连的地 方发生相位不连续的现象。
但是具体的情况是: 当有数据帧丢失时, 在系统延时允许的情况下可以等到接收到 下一个完好的数据帧时, 结合历史数据和在丢失帧后所接收到的当前数据进行丢包隐藏 处理。 因此在本发明实施例中给出一种结合历史数据和当前数据进行丢包隐藏处理的 方案, 其中历史数据指丢失帧之前的数据, 当前数据指丢失帧之后的数据。
图 9是本发明实施例一种结合历史数据和当前数据实现丢包隐藏的方法的流程图。 如图 9所示, 包括以下步骤:
步骤 901, 估计历史数据的基音周期 ΡΡ。
在本步骤中,可以利用自相关分析方法估计出 ΡΡ, 也可以先用自相关分析方法估计 出一个初始基音周期,然后用图 1和图 6所示的本发明实施例的方法对初始基音周期进 行倍频消除和微调修正后再作为本实施例中的 ΡΡ。
歩骤 902 , 对历史数据进行平滑处理。
在本步骤中, 对历史数据的最后 ΡΡ/4数据进行平滑处理的方法具体可以为: 将 ΠΒ 中最后一个基音周期之前的四分之一基音周期数据乘以上升窗, 将 ΗΒ最 四分之 · 基 音周期数据乘以下降窗, 并将上述两个 1 Z4基音周期的数据做叠加, 然后用叠加得到的 1 /4基音周期数据替换掉 ΗΒ中最后 1/4基音周期中的内容, 以保证 ΗΒ中的前帧原始信 号和填充的丢失帧信号之间的平滑过渡。 所述上升窗和下降窗, 最为简单的情况, 可以采用如下面公式定义的窗:
上升窗
=
,下降窗
Figure imgf000015_0001
其中, ^为要加窗信号的长度, ί为要加窗信号的对应的第 i个采样点对应的下标。 歩骤 903,将平滑后的历史数据中的最后一个 PP长度的数据放到一个专川的基音缓 冲区 (PB) 中。
专用 PB的长度与 PP相等。
步骤 904, 用 PB中的数据填充与丢失帧长度相等的丢失帧主缓冲区 (LMB )。
在本歩骤中, 用 PB中的数据填充 LMB时, 需要一个偏移指针 (P— 0FFSKT ) 协助。 所述 P— OFFSET, 用于指示下一次从 PB中取数据时, 应该从什么位置丌始取数据, 以保 证和己填充数据拼接处的平滑。 在使用 PB中的数据来恢复丢失的数据帧时, 每取山 - - 段数据, 就需要将指针 P— OFFSET向右移动相应的长度, 如果发现从 PJFFSET到 PB结 尾的数据不够所需要的数据时,则 P— OFFSET重新置 0,并从 PB的开始位 S接^取数据; 如果仍然不够所需的数据, 则重复这个步骤, 直至取到所需的所有数据。
步骤 905, 当前数据是否满足预设的条件, 是则执行步骤 905; 否则执行歩骤 9K)。 在本歩骤中, 所指的预设条件是: 当前数据的长度, 即丢失帧之后的第 -个完好帧 的起始位置起到当前收到的数据长度, 是否满足对当前帧进行平滑处理的要求。 图 10 是本发明实施例对当前帧进行平滑处理的示意图。参照图 10,对当前数据进行平滑处理 的过程是: 将当前数据第一个基音周期 Ρ之后的 1/4基音周期数据乘以下降窗, 将 前 数据开始的第一个 1/4基音周期数据乘以上升窗,然后将上述两个 Ρ/4 L:度的数据进行 叠加, 并用叠加后的 P/4长度数据替换当前数据开始的第一个 1/4基音周期的数据。 这 样处理的目的与步骤 902中对历史数据进行平滑处理的目的相同, 是为了在使用 ¾前数 据反向填充丢失帧时, 保证当前数据的原始信号和丢失帧信号之间的平滑过渡。
在本歩骤中由于还不知道当前数据的基音周期, 因此可以使用历史数据的基音周期
PP来进行判断, 比如将判断条件设置为当前数据的长度 Date- SZ满足- Date-SZ^PP + PP/4
歩骤 906, 估计当前数据的基音周期 (NP);
在本歩骤中, 可以利用自相关分析方法估计出 NP,也可以先用自相关分析方法估计 出一个初始基音周期,然后用图 1和图 6所示的本发明实施例的方法对初始基音周期进 行倍频消除或微调修正后再作为本实施例中的 NP。 步骤 907, 对当前数据进行平滑处理。
在本步骤中, 用图 10所示的方法对当前数据进行平滑处理。
步骤 908 ,将平滑后的当前数据中的开始的一个 NP长度的数据放到一个专用的基 ΪΤ- 缓冲区 PB 1中。
歩骤 909,用 PB1中的数据反向填充与丢失帧长度相等的丢失帧临时缓冲区(i m )。 执行步骤 913。
在本步骤中, 用 PB 1中的数据反向填充 LTB的过程与歩骤 1304中用 PB中的数据埗 充 LMB的过程类似, 只是填充的方向相反, 因此称为 "反向填充"。
图 1 1是本发明实施例用当前数据反向填充丢失数据的示意图。 在图 1 1中, 比较了 用历史数据最后的 PP长度的数据填充丢失数据段和用当前数据开始的 NP长度数据填充 丢失数据段的过程, 可以看出用历史数据填充的方向是从左到右, 而用当前数据填充的 方向是从右到左。
步骤 910, 从当前数据的起始位置开始取长度为 L的一段数据 Da teA , 并在基 ΰ·缓 冲区 PB中査找与 DateA最匹配的一段 L长度的数据 DateB , 将 DateB的起始点记为;^。
图 12是本发明实施例在基音缓冲区中査找与给定波形最匹配的波形的示意图。 如 图 12所示,在 PB中设置一个长度为 L的 SW, SW的起始端点 Ss从 PB的起始端点 ·始逐 渐向右滑动一直到 PB 的末尾端点, 并 SW 的滑动过程中计算 SW 中的数据和给定数据
DateA 的匹配值。 当 SW的起始端 点向右滑动一定距离后, 其末尾端点 E s会超出 PB 的区域范围, 即 SW起始端点到 PB末尾端点的长度 M小于 L , 此时, 复制 PB起始位 S起 的 L-M长度的数据拼接到 PB的末尾, 以满足匹配的要求。 然后用 SW中拼接起来的 L长 度的数据与给定数据 Dat eA进行匹配计算。
在本步骤中, 其中, L可以取 0. 55 X PP的值。
步骤 91 1,将基音缓冲区 PB中 St点之后的 PP/4长度数据 Dat eB乘上 ^个下降窗, 将当前数据起始位置幵始的 PP/4长度数据 DateA乘上一个上升窗之后, 将上述两个乘 窗之后的 PP/4长度数据进行叠加, 并用叠加后的数据替换当前数据起始位: 的 P1V4长 度数据。
本步骤中的操作可以保证当前数据和丢失数据之间的平滑连接。
歩骤 912, 从 PB的 S t点之前, 取长度与丢失数据长度相同的数据, 放入 L'1'B中。 在本歩骤中, 当 PB中 St点到 PB的起始端点的长度小于所需数据的长度, 即小于 丢失数据长度时, 从 PB的末尾点开始继续向左取数据, 直至能够取到所需长度的数据。 歩骤 913, 将丢失帧主缓冲区 LMB中的数据乘上一个下降窗, 同时将丢失帧临时缓 冲区 LTB中数据乘上一个上升窗, 并将上述两个乘窗的数据进行叠加, 将叠加后的数据 作为恢复的丢失帧填充到丢失帧处。
到此为止, 便完成了结合历史数据和当前数据进行丢包隐藏处理的过程。
当然, 在图 9所示的流程中, 可以不需要歩骤 905的判断歩骤, 在歩骤 904之] fi ¾ 接执行步骤 906、 907、 908、 909和 913, 或在步骤 904之后直接执行歩骤 910、 91 1 、 912和 913。
在上述流程的歩骤 910中, 在 ΡΒ中査找与 DateA最匹配的 DateB时, 可以利用在 骤 904中得到的 PB的 P— OFFSET的位置, 即将初始的匹配点设置为 P— 0F SFJ,然后在 P— OFFSET的位置附近査找最佳匹配的点 St, 这样可以减少匹配的次数, 从而减少计算 里。
如果丢失帧正好位于浊音和清音的过渡段时, 用图 9所示的方法恢复丢失帧, 可能 还会出现能量异常变化的情况, 因此在本发明实施例中进一步需要根据 £失帧的前后帧 能量的变化来对丢失帧的幅度进行平滑处理, 以实现波形的渐变。
首先取当前数据开始处的 L个样点, 并计算这 L个样点的能量值 (EN)。 然后在 中査找和这 L个样点最匹配的 L个样点, 并计算基音缓冲区中的这 L个样点的能量 EP。 最后, 根据丢失帧的前后帧能量的变化情况, 对图 9所示的方法最终恢复的 ΐ失帧数 ¾ 幅度进行平滑, 以达到能量平稳过渡的目的。
计算 L个样点的能量时, 可以取 L个样点的幅度的平方求和的方法。
设丢失帧的前后帧能量的比值为 ER (Energy Ratio ) , 则 ER = EN / RP, 用 x表示 所恢复丢失帧数据的序列, X ( i )表示序列 X中的第 i个数据, 帧长为 FRAME— SZ, 则可 以公式 (8 ) 对所恢复的丢失帧数据逐点进行能量修正:
X (i) = x (i) x (ix sqrt(ER) -l + 1) i < i < FRAME SZ
FRAME— SZ + 1 一 ( 8 ) 其中, 函数 sqrt表示求平方根。
图 13是本发明实施例对恢复的丢失帧数据进行幅度平滑处理后的示意图。 从图 ! 3 可以看出,在进行幅度平滑处理之前,所恢复的丢失帧与当前帧的连接处能 ¾变化较大, 但在进行幅度平滑处理之后, 恢复的丢失帧与当前帧的连接处能量变化变得比较平稳。
除了上述根据丢失帧的前帧和后帧的能量比值来对丢失帧的幅度进行平滑处理之 夕卜, 还可以根据丢失帧的前帧和后帧中匹配波形的最大幅度差的比值来进行幅度的平滑 处理, 比如也可以利用公式 (8 )对恢复丢失帧的幅度进行平滑处理, 只是, 此时 的 位置处应该是丢失帧的前帧和后帧中匹配波形的最大幅度差的比值。
在上述对幅度进行平滑处理的过程中, 较佳地, 在 EP〉 EN吋, 才进行幅度的平滑 处理。
图 14是本发明实施例一种实现丢包隐藏的装置的结构框图。 如图 14所示, 该装 H 主要包括: 主处理单元 1401、 丢失帧主缓冲区 1402、 丢失帧临时缓冲区 1403, 其屮: 主处理单元 1401,用于利用历史数据中的最后一个基音周期数据,填充 £失帧主缓 冲区 1402,并利用当前数据中的第一个基音周期数据,或利用历史数据中的最后一个基 音周期数据, 填充丢失帧临时缓冲区 1403 ; 并将丢失帧主缓冲区 1402和 失帧临时缓 冲区 1403中的数据进行叠加处理后, 用所述叠加处理后的数据补偿丢失帧。
丢失帧主缓冲区 1402, 用于存储主处理单元 1401所填充的数据。
丢失帧临时缓冲区 1403, 用于存储主处理单元 1401所填充的数据。
丢失帧主缓冲区 1402和丢失帧临时缓冲区 1403的长度等于丢失帧的长度。
此外, 图 14所示的装置还包括: 历史数据处理单元 1405当前数据处理单元 M06, 所述主处理单元包括: 基音缓冲区 1407、 平滑处理模块 1408和幅度平泔模块 14(M。
历史数据处理单元 1405,用于获取历史数据的基音周期,并将历史数据屮的最后 - 个基音周期数据进行平滑处理后, 发送给主处理单元 1401。
当前数据处理单元 1406,用于获取当前数据的基音周期,并将当前数据中的第一个 基音周期数据进行平滑处理后, 发送给主处理单元 1401。
主处理单元 1401 利用历史数据中的最后一个基音周期数据, 填充丢火帧临时缓冲 区 1403的实现过程可以是: 主处理单元 1401将历史数据中的最后一个基音周期数据存 入基音缓冲区 1407,并从当前数据中的第一个基音周期数据的起始位置丌始取长度为预 设值的第一数据; 在基音缓冲区 1407 中査找与第一数据最为匹配的第二数据; 获取基 音缓冲区 1407 中的第二数据的起始点之前的长度与丢失帧临时缓冲区长度相等的第三 数据; 用所述第三数据填充丢失帧临时缓冲区 1403。
平滑处理模块 1408, 用于将基音缓冲区 1407中的第二数据的起始点之后的长度为 预设值的数据乘上一个下降窗,将所述当前数据起始位置开始的长度为预设值的数据乘 上一个上升窗, 然后将上述两个乘窗之后的数据进行叠加处理, 并用叠加后的数据荇换 当前数据起始位置开始的长度为预设值的数据。
幅度平滑模块 1404,用于获取丢失数据之前的已知数据和丢失数据之后的 知数 中相互匹配的两组数据之间的比例系数, 并根据所述比例系数对所述叠加处理后的数据 的幅度进行平滑处理; 主处理单元 1401利用所述经过幅度平滑处理后数据补偿丢失帧。
在图 14所示的实施例中, 主处理单元 1401还可以进一歩用于判断 前数据的长度 是否大于或等于预设值, 是则, 所述主处理单元 1401 利用丢失数据之后的 知数¾中 的第一个基音周期数据, 填充丢失帧临时缓冲区 1403 ; 否则, 所述主处理单元 1401利 用丢失数据之前的已知数据中的最后一个基音周期数据, 填充丢失帧临时缓冲区 1403。
图 9和图 14所示的实施例中, 通过结合当前数据和历史数据恢复丢失帧数据, 进 而完成丢包隐藏处理。 由于在丢包隐藏处理过程中利用丢失帧之后的数据帧, 即当前数 据对丢失帧进行恢复 , 因此增强了所恢复的丢失帧数据与丢失帧之后的数据之间的相 关性, 进而提高了所恢复的语音数据的质量。 另外, 对恢复的丢失帧数据进 进行幅 度平滑处理的过程也更进一歩的提高了所恢复的语音数据的质量。
接下来进一歩说明图 9所示的丢包隐藏方法和图 14所示的实现丢包隐 ¾的装置在 具体系统中是如何应用和工作的。
图 15是本发明实施例实现丢包隐藏的装置在接收端系统中的外部连接示意阁, 木 发明实施例提供的接收端系统具体可以为一种解码器。 如图 15所示, 该接收端系统中 包括: 丢失帧检测器 1501、解码器单元 1502、 历史缓冲区 1503、 延迟单元 1504和¾现 丢包隐藏单元 1505。
在图 15中, 丢失帧检测器 1501接收到从网络上传输过来的比特流后, 判断是 冇 数据帧丢失, 如果没有数据帧丢失, 则丢失帧检测器 1501将完好的语音帧传送给解码 器 1502进行解码,然后解码器 1502将解码后的数据送入到历史缓冲区 1503,延迟单元 1504对历史缓冲区 1503中的数据延迟一定时间后输出。如果丢失帧检测器 1501检测到 有数据帧丢失, 就发送 "丢失语音帧"的信号给实现丢包隐藏单元 1505, 然后实现丢包 隐藏单元 1505使用本发明实施例所述的丢包隐藏方法, 获取恢复的丢失帧数据, Λ.将 恢复的丢失帧数据放置在历史缓冲区 1503中与丢失帧相对应的位 S上。在图 15所示的 系统中, 在满足延迟要求的条件下, 实现丢包隐藏单元 1501 需要根据丢失帧之前的历 史数据和丢失帧之后的一帧或者多帧数据进行丢包隐藏处理, 但在复杂的网络条件下, 丟失帧之前的帧和丢失帧之后的数据帧是否丢失并不是巳知或固定的, 因此实现 包隐 藏单元 1505可通过丢失帧检测器 1501 获得在进行丢包隐藏处理时所需的帧的状态信 息。 然后实现丢包隐藏的装置 1505利用历史缓冲区 1503中的数据, 并结合与丢失帧相 关的前后帧的状态, 合成丢失的音频帧。 图 16是本发明实施例在实际系统中应用实现丢包隐藏的方法的流程图。如图!6所 示, 包括以下步骤;
歩骤 1601, 接收端系统收到新的语音数据帧。
步骤 1602, 接收端系统判断当前接收到的新的语音数据帧是否为坏帧,是则执行 骤 1606, 否则执行步骤 1603。
步骤 1603, 接收端系统对接收到当前帧进行解码处理。
步骤 1604, 接收端系统判断当前帧的前一帧是否丢失, 是则执行歩骤 1606, 否则 执行步骤 1605。
骤 1605, 用当前帧更新历史缓冲区, 执行歩骤 1608。
步骤 1606, 用丢包隐藏处理方法恢复丢失帧。
步骤 1607, 用恢复的丢失帧和 /或当前帧更新历史缓冲区。
歩骤 1608, 将历史缓冲区中数据延迟一段之间。
在本步骤中, 延迟的时间可以根据应用场景进行设定。 例如, 系统要求的延迟时 ί 为 1帧或更多帧对应的时间时,考虑到进行前帧平滑时最大的可能叠加长度为最大可能 基音周期 (最大可能基音周期一般为 15ms ) 的 0. 25倍, 即 3. 75mS, 因此可以在满足系 统延迟要求的情况下, 适当增加延迟时间。 比如当 lmS数据对应的采样点的个数为 时,则可以使用的延迟时间为一帧对应的时间和 CEIU 3. 75 X SP / F AME_SZ ) X FRAME . SZ 个采样点对应的时间中的大者, 其中 CEIL 的意义为取大于给定浮点数的最小整数, FRAME— SZ为一帧数据中的采样点个数。
例如, 当系统的帧长为 5ms时, 可以设定延迟时间为 5ms, 即对应一帧的延迟时间; 如果当前系统的帧长为 2ms, 则可以设定延迟时间为 MAX ( 2, CEIL ( 3. 75 / 2 ) X 2 ) = 4ms, 即对应两帧的延迟时间。
步骤 1609, 输出历史缓冲区中的数据。
步骤 1610, 判断是否还有其它的数据帧需要接收, 是则转到步骤 1601继续执行, 否则结束本流程。
在实际应用当中, 需要根据系统的延时允许时间来决定是否应用本发明 ¾施例屮给 出的结合历史数据和当前数据恢复丢失帧的方法来进行丢包隐藏处理。例如当有一个数 据帧丢失时, 如果系统的延时时间允许, 则等待下一帧, 如果下一帧是完好的帧, 则可 以利用本发明实施例给出的结合历史数据和当前数据恢复丢失帧的方法对 £失帧进行 隐藏处理, 如果下一帧数据仍然丢失了, 则在系统的延时时间允许的情况下, 继续等待 下一帧的数据。 在连续丢帧的情况下, 且系统时延条件不允许继续等待时, 利用历史数 据进行丢包隐藏处理。
综上所述, 本发明实施例中, 通过从初始基音周与所有大于最小可能基音周期的初 始基音周期的因数中选择一个数值作为估计的最佳基音周期的技术方案, 能够消除佔计 基音周期时存在的倍频问题。 本发明实施例中, 通过在初始基音周期的附近查找最 ft匹 配点, 并根据最佳匹配点的位置对估计的初始基音周期进行微调的技术方案, 减小了估 计基音周期的误差。 本发明实施例中, 利用历史数据中的最后一个基咅周期数据, 填充 丢失帧主缓冲区, 利用当前数据中的第一个基音周期数据, 或利用历史数 '屮的最后一 个基音周期数据, 填充丢失帧临时缓冲区, 对丢失帧主缓冲区和丢失帧临时缓冲区中的 数据进行叠加处理, 并用所述叠加处理后的数据补偿丢失帧的技术方案增强了恢复的 -£ 失帧数据与丢失帧之后的数据之间的相关性,进而改善了恢复的丢失帧数据与丢失帧之 后的数据之间相位的连续性。 并且, 在本发明实施例中还通过对所恢复的丢失帧的幅度 进行平滑处理的技术方案, 使得所恢复的丢失帧与当前帧的连接处的能量变化变得〒- 稳。
以上所述, 仅为本发明的较佳实施例而己, 并非用于限定本发明的保护范围, 凡在 本发明的精神和原则之内所做的任何修改、 等同替换、 改进等, 均应包含在本发明的保 护范围之内。

Claims

权利要求
1、 一种基音周期的估计方法, 其特征在于, 该方法包括以下歩骤:
获取历史数据的初始基音周期;
从所述初始基音周期所对应频率的一个以上的大于 1的整数倍频率所分別对应的基 音周期中,选择所对应频率小于或等于最小可能基音周期所对应频率的基音周期作为候 选基音周期, 并从所述初始基音周期和所述候选基音周期中选择一个基音周期作为所述 历史数据的最终估计基音周期。
2、 如权利要求 1所述的方法, 其特征在于, 所述从所述初始基音周期以及所述候 选基音周期中选择一个基音周期作为所述历史数据的最终估计基音周期的歩骤包栝: 在所述历史数据的一端, 设置长度为预设值的模板窗: 设置长度与所述模板窗长度 相同的滑动窗, 并令所述滑动窗在所述历史数据的长度范围内滑动;
当所述滑动窗与所述模板窗的对应端点之间的距离与所述初始基 ·ΐί周期的长度相 等时, 取所述滑动窗中数据与所述模板窗中数据的匹配值为与所述初始基音周期对应的 匹配值; 当所述滑动窗与所述模板窗的对应端点之间的距离与所述一个候选基音周期的 长度相等时, 取所述滑动窗中数据与所述模板窗中数据的匹配值为与该候选基音周期对 应的匹配值;
从所述初始基音周期所对应的匹配值以及各候选基音周期所对应的匹配值中选择 出一个最佳匹配值, 并将该最佳匹配值所对应的基音周期作为所述历史数据的最终估计 基音周期。
3、 如权利要求 2所述的方法, 其特征在于, 所述从所述初始基咅周期所对应的 配值以及各候选基音周期所对应的匹配值中选择出一个最佳匹配值的歩骤包括:
将所述初始基音周期所对应的匹配值设置为所述最佳匹配值的初始值,然后按照前 向顺序判断每一个候选基音周期所对应的匹配值是否优于所述初始基音周期所对应的 匹配值, 是则用该候选基音周期所对应的匹配值更新最佳匹配值, 最终得到一个最佳匹 配值; 或
将所述初始基音周期所对应的匹配值设置为最佳匹配值的初始值, 然后按照前向顺 序判断每一个候选基音周期所对应的匹配值是否优于当前的最佳匹配值, 足则用该候选 基音周期所对应的匹配值更新所述最佳匹配值, 最终得到一个最佳匹配值。
4、 如权利要求 3所述的方法, 其特征在于,
所述候选基音周期所对应的匹配值优于初始基音周期所对应的匹配值具体为: 所述候选基音周期所对应的匹配值与初始基音周期所对应的匹配值的比值在预定 范围内;
所述候选基音周期所对应的匹配值优于当前的最佳匹配值具体为:
所述候选基音周期所对应的匹配值与当前的最佳匹配值的比值在预定范闱内。
5、 如权利要求 1所述的方法, 其特征在于, 该方法在所述从所述初始基音周期和 所述候选基音周期中选择一个基音周期作为所述已知语音数据的最终估计基音周期之 前进一步包括:
在所述历史数据的一端, 设置长度为预设值的模板窗; 设置长度与所述模板窗长度 相同的滑动窗, 并令所述滑动窗在所述已知语音数据的长度范围内滑动;
当所述滑动窗与所述模板窗的对应端点之间的距离与一个候选基音周期的长度相 等时, 取所述滑动窗中数据与所述模板窗中数据的匹配值为与所述候选基音周期对应的 匹配值, 并取所述滑动窗的起始端点或末尾端点的当前位置为与该候选基咅周期对、'、/.的 匹配点;
对于每一个候选基音周期, 使所述滑动窗的起始端点或末尾端点在该候选基音周期 所对应的匹配点周围的预设范围内滑动, 并在该候选基音周期所对应的匹配点周围的预 设范围内, 査找出所述滑动窗中数据与模板窗中数据的匹配值为最佳匹配值吋的滑动窗 的位置, 并用此时的所述滑动窗与所述模板窗对应端点之间的语音数据长度^换该候选 基音周期;
所述选择一个基音周期作为最终估计的基音周期具体为:
从所述初始基音周期以及所述替换后的候选基音周期中选择一个基音周期作为最 终估计的基音周期。
6、 如权利要求 5所述的方法, 其特征在于, 所述在候选基音周期所对应的匹配点 周围的预设范围内, 查找出滑动窗中数据与模板窗中数据的匹配值为最佳匹配值时的滑 动窗的位置具体为:
从所述候选基音周期对应的匹配点开始向该匹配点两侧的预设范围进行査找。
7、 如权利要求 2至 6中任一项所述的方法, 其特征在于, 所述滑动窗屮数据与所 述模板窗中数据的匹配值是所述滑动窗中数据与所述模板窗中数据的相关值。
8、 一种基音周期的估计装置, 其特征在于, 该装置包括: 初始基音周期获取 .儿 和选择单元, 其中,
初始基音周期获取单元, 用于获取历史数据的初始基音周期, 并发送给选择 ^儿; 选择单元, 从所述初始基音周期所对应频率的一个以上的大于 1的整数倍频率所分 别对应的基音周期中,选择所对应频率小于或等于最小可能基音周期所对应频率的基音 周期作为候选基音周期, 并从初始基音周期和候选基音周期中选择一个基音周期作为所 述已知语音数据的最终估计基音周期。
9、 如权利要求 8所述的装置, 其特征在于, 所述选择单元包括: 计算模块和比较 模块, 其中,
计算模块, 用于分别计算出与所述初始基音周期和各个候选基音周期对应的匹配 值, 并发送给比较模块;
比较模块, 用于对所接收到的与所述初始基音周期和各个候选基音周期对应的匹配 值进行比较, 从中选择出一个最佳匹配值, 并将该最佳匹配值所对应的基音周期作为所 述巳知语音数据的最终估计基音周期。
10、 如权利要求 8所述的装置, 其特征在于, 所述选择单元进一歩用于, 对于甸一 个候选基音周期, 在该候选基音周期所对应的匹配点周围的预设范围内进行搜索, 査找 出一个匹配值为最佳匹配值的匹配点, 用该匹配点对应的基音周期替换 ¾候选基音 J 期;
并从所述初始基音周期以及所述替换后的候选基音周期中选择一个基 周期作为 所述己知语音数据的最终估计的基音周期。
1 1、 一种基音周期的微调方法, 其特征在于, 该方法包括:
获取丢失数据之前或丢失数据之后的历史数据的初始基音周期;
在所述历史数据靠近丢失数据的一端, 设置长度为预设值的模板窗;
设置长度与所述模板窗长度相同的滑动窗, 并使所述滑动窗靠近丢失数据的端点在 预设点周围的预设范围内滑动, 所述预设点是所述已知数据中与所述模板窗靠近¾大数 据的端点距离初始基音周期长度的点;
在所述滑动窗所能滑动的预设点周围的预设范围内, 计算所述模板窗屮的数据 所 述滑动窗中数据的匹配值, 并从中査找出最佳的匹配值, 并将具有所述最佳匹配值时的 模板窗与滑动窗的对应端点之间的距离作为微调后的基音周期。
12、 如权利要求 11所述的方法, 其特征在于, 所述在滑动窗所能滑动的预设点周 围的预设范围内, 计算所述模板窗中的数据与所述滑动窗中数据的匹配值, 并 找出 g 佳匹配值是, 从所述预设点开始向该预设点两侧的预设范围进行查找。
13、 如权利要求 11所述的方法, 其特征在于, 所述计算所述模板窗屮的数据 ^所 述滑动窗中数据的匹配值, 并从中查找出最佳的匹配值的步骤包括: 计算所述模板窗中的数据与所述滑动窗中数据的相关值, 并取匹配值为相关伹, 取 匹配值中最大的值作为最佳匹配值; 或
计算所述模板窗中的数据与所述滑动窗中对应数据的幅度差值的绝对值的总和, 并 取匹配值为所述幅度差值的绝对值的总和, 取匹配值中最小的值作为最佳匹配值。
14、 如权利要求 11所述的方法, 其特征在于, 获取所述丢失数据之后的所述巳知 数据的初始基音周期包括: 获取所述丢失数据之前的所述已知数据的初始基音周期, 并 将所获取的丢失数据之前的己知数据的初始基音周期作为所述丢失数据之后的巳知数 据的初始基音周期。
15、一种基音周期的微调装置, 其特征在于, 该装置包括: 初始基音周期获取单 , 设置单元和计算单元, 其中,
初始基音周期获取单元, 用于获取丢失数据之前或丢失数据之后的己知数据获取初 始基音周期, 并发送给设置单元;
设置单元, 用于接收所述初始基音周期获取单元发送的初始基音周期, 并在所述 知数据靠近丢失数据的一端, 设置长度为预设值的模板窗, 设置长度与所述模板窗长度 相同的滑动窗, 并使所述滑动窗靠近丢失数据的端点在预设点周围的预设范围内滑动; 所述预设点是所述已知数据中与所述模板窗靠近丢失数据的端点距离初始基音周期长 度的点;
计算单元, 用于在所述滑动窗所能滑动的预设点周围的预设范围内, 计算模板窗中 的数据与滑动窗中数据的匹配值, 并从中査找出最佳匹配值, 并将具有最佳匹配值时的 模板窗与滑动窗的对应端点之间的距离作为微调后的基音周期。
16、 如权利要求 15所述的装置, 其特征在于, 所述初始基音周期获取^元, 用于 获取丢失数据之前的已知数据的初始基音周期,将所获取的丢失数据之前的己知数 ¾;的 初始基音周期作为丢失数据之后的巳知数据的初始基音周期, 并发送给所述设置单元。
17、 一种实现丢包隐藏的方法, 其特征在于, 该方法包括:
利用所述丢失数据之前的所述已知数据中的一个基音周期数据, 填充丢失帧主缓冲 区;
利用所述丢失数据之后的所述巳知数据中的一个基音周期数据, 或利川所述丢失数 据之前的所述已知数据中的一个基音周期数据, 填充丢失帧临时缓冲区;
对所述丢失帧主缓冲区和所述丢失帧临时缓冲区中的数据进行叠加处理, 并 ffl所述 叠加处理后的数据补偿丢失帧。
18、 如权利要求 17所述的方法, 其特征在于,
所述丢失数据之前的已知数据中的一个基音周期数据具体为:
丢失数据之前的已知数据中的最后一个基音周期数据;
所述丢失数据之后的巳知数据中的一个基音周期数据具体为:
丢失数据之后的己知数据中的第一个基音周期数据。
19、 如权利要求 18所述的方法, 其特征在于, 在所述利用丢失数据之前的己知数 据中的最后一个基音周期数据, 填充所述丢失帧主缓冲区之前进一歩包括:
对所述丢失数据之前的巳知数据中的最后一个基音周期数据进行平滑处理。
20、 如权利要求 18所述的方法, 其特征在于, 在所述利用丢失数据之后的已知数 据中的第一个基音周期数据, 填充丢失帧临时缓冲区之前进一歩包括- 对丢失数据之后的已知数据中的第一个基音周期数据进行平滑处理。
21、 如权利要求 20所述的方法, 其特征在于, 所述对丢失数据之后的已知数据' 1' 的第一个基音周期数据进行平滑处理的步骤包括:将丢失数据之后的巳知数据第一个 S 音周期之后的预设长度数据乘以下降窗,将丢失数据之后的已知数据起始的第一个预设 长度数据乘以上升窗后, 将所述两个乘窗后的预设长度的数据进行叠加, 并用叠加后的 数据替换丢失数据之后的已知数据中起始的第一个预设长度数据。
22、 如权利要求 18所述的方法, 其特征在于, 利用丢失数据之后的 知数据中的 第 个基音周期数据, 对丢失帧临时缓冲区进行填充是进行反向填充。
23、 如权利要求 18所述的方法, 其特征在于, 所述利用丢失数据之前的已知数据 中的最后一个基音周期数据, 填充所述丢失帧临时缓冲区包括:
将在丢失数据之前的已知数据中的最后一个基音周期数据存入基咅缓冲区, 并从所 述丢失数据之后的所述已知数据的起始位置开始取长度为预设值的第一数据;
在所述基音缓冲区中査找与所述第一数据最为匹配的第二数据;
获取所述基音缓冲区中的所述第二数据的起始点之前的长度与所述 -2:·火帧临时缓 冲区长度相等的第三数据;
将所述第三数据存入所述丢失帧临时缓冲区。
24、 如权利要求 23所述的方法, 其特征在于, 该方法进一步包括: 对¾火数据之 后的己知数据起始位置开始的长度为预设值的数据进行平滑处理。
25、 如权利要求 24所述的方法, 其特征在于, 所述对丢失数据之后的所述已知数 据起始位置开始的长度为预设值的数据进行平滑处理的步骤包括: 将所述基音缓冲区中 的从所述第二数据的起始点开始的长度为预设值的数据乘上一个下降窗,将 ί·失数据之 后的已知数据起始位置开始的长度为预设值的数据乘上一个上升窗,然后将 h述两个乘 窗之后的数据进行叠加,并用所述叠加后的数据替换丢失数据之后的所述已知数据起始 位置开始的长度为预设值的数据。
26、 如权利要求 23所述的方法, 其特征在于, 在所述利用所述丢失数据之前的所 述已知数据中的最后一个基音周期数据, 填充所述丢失帧主缓冲区的歩骤进 步包拈: 利用偏移指针指示所述最后一个基音周期数据的当前位置,每次从偏移指针指示的当前 位置取数据填充所述丢失帧主缓冲区, 并实时更新偏移指针的位 S;
所述在所述基音缓冲区中查找与所述第一数据最为匹配的所述第二数据的歩骤包 括: 从所述基音缓冲区中的所述偏移指针指示的相应位置周围的预设范围内杏找与所述 第一数据最为匹配的所述第二数据。
27、 如权利要求 18所述的方法, 其特征在于, 所述对所述丢失帧: t缓冲区和所述 丢失帧临时缓冲区中的数据进行叠加处理的步骤包括:将所述丢失帧主缓冲区的数据乘 上一个下降窗, 将所述丢失帧临时缓冲区中的数据乘上一个上升窗, 并将所述丢失帧主 缓冲区和所述丢失帧临时缓冲区中的乘窗后的数据进行叠加。
28、 如权利要求 17所述的方法, 其特征在于, 在对丢失帧主缓冲区和丢失帧临吋 缓冲区中的数据进行叠加处理之后, 并在用所述叠加处理后的数据补偿丢失帧之前进- 步包括:
将在所述丢失数据之前的所述已知数据中的最后一个基音周期数据存入所述基音 缓冲区, 并从所述丢失数据之后的所述已知数据的起始位置开始取长度为预设值的数 据;
在所述基音缓冲区中查找与所述长度为预设值的数据最为匹配的数据;
获取所述长度为预设值的数据和所述查找的匹配数据之间的比例系数;
根据所述比例系数对所述进行叠加处理后的数据的幅度进行平滑处理;
用所述经过幅度平滑处理的数据补偿丢失帧。
29、 如权利要求 28所述的方法, 其特征在于, 所述比例系数是所述长度为预设值 的数据的能量和所述査找的匹配数据的能量的比值,或所述长度为预设值的数据中的最 大幅度差和所述査找的匹配数据中的最大幅度差的比值。
30、 如权利要求 18所述的方法, 其特征在于, 该方法在所述丢失数据之后的匕知 数据的长度大于或等于预设值时,利用丢失数据之后的已知数据中的第一个基音周期数 据, 填充所述丢失帧临时缓冲区; 否则, 利用丢失数据之前的已知数据中的最后一个基 音周期数据, 填充所述丢失帧临时缓冲区。
31、 如权利要求 30所述的方法, 其特征在于, 所述预设值是丢失数据之前的已知 数据的基音周期的 5/4倍。
32、 一种实现丢包隐藏的装置, 其特征在于, 该装置包括: 主处理单兀、 丢失帧 缓冲区和丢失帧临时缓冲区, 其中,
主处理单元, 用于利用丢失数据之前的已知数据中的一个基音周期数据, 填充丢失 帧主缓冲区, 并利用丢失数据之后的巳知数据中的一个基音周期数据, 或利用丢失数据 之前的己知数据中的一个基音周期数据, 填充丢失帧临时缓冲区; 并将丢失帧主缓冲区 和丢失帧临时缓冲区中的数据进行叠加处理后, 用所述叠加处理后的数据补偿丢失帧; 丢失帧主缓冲区,用于存储主处理模块所填充的数据,其长度与丢失数据长度相等-, 丢失帧临时缓冲区, 用于辅助存储主处理模块所填充的数据, 其长度与丢失数据长 度相等。
33、 如权利要求 32所述的装置, 其特征在于, 所述主处理单元是利用 失数据之 前的已知数据中的最后一个基音周期数据, 填充丢失帧主缓冲区, 并利用丢失数据之^ 的已知数据中的第一个基音周期数据,或利用丢失数据之前的已知数据中的 t后一个基 音周期数据, 填充丢失帧临时缓冲区。
'34、 如权利要求 32所述的装置, 其特征在于, 该装置进一歩包括: 历史数据处理 单元和当前数据处理单元, 其中:
历史数据处理单元, 用于获取丢失数据之前的巳知数据的基音周期, 并将丢失数掂 之前的己知数据中的最后一个基音周期数据发送给主处理单元;
当前数据处理单元, 用于获取丢失数据之后的已知数据的基音周期, 并将丢失数据 之后的己知数据中的第一个基音周期数据发送给主处理单元。
35、 如权利要求 34所述的装置, 其特征在于,
所述历史数据处理单元,进一步用于将丢失数据之前的已知数据中的最后一个基音 周期数据进行平滑处理后, 再发送给主处理单元; 和 /或
所述当前数据处理单元,进一步用于将丢失数据之前的己知数据中的第一个基 周 期数据进行平滑处理后, 再发送给主处理单元。
36、 如权利要求 32所述的装置, 其特征在于, 所述主处理单元包括: 基音缓冲区, 用于存储所述丢失数据之前的己知数据中的最后一个基音周期数据; 所述主处理单元, 用于将所述丢失数据之前的所述已知数据中的最后 ···个基音周期 数据存入基音缓冲区, 并从所述丢失数据之后的所述已知数据中的第 - 个基 ΰ周期数据 的起始位置丌始取长度为预设值的第一数据;在所述基音缓冲区中査找与所述第一数据 最为匹配的第二数据; 获取所述基音缓冲区中的所述第二数据的起始点之前的长度与 -£ 失帧临时缓冲区长度相等的第三数据; 用所述第三数据填充所述丢失帧临时缓冲区。
37、 如权利要求 36所述的装置, 其特征在于, 所述主处理单元进一歩包括: 平^ 处理模块,用于将所述基音缓冲区中的第二数据的起始点开始的长度为预设值的数据乘 上一个下降窗, 将丢失数据之后的已知数据起始位置开始的长度为预设值的数据乘上 个上升窗, 然后将上述两个乘窗之后的数据进行叠加处理, 并用所述叠加 的数据荇换 丢失数据之后的已知数据起始位置开始的长度为预设值的数据。
38、 如权利要求 32所述的装置, 其特征在于, 所述主处理单元进一步包括: 幅度 平滑模块,用于获取所述丢失数据之前的所述己知数据和所述丢失数据之后的所述巳知 数据中相互匹配的两组数据之间的比例系数,并根据所述比例系数对所述叠加处理后的 数据的幅度进行平滑处理;
所述主处理单元利用所述经过幅度平滑处理后数据补偿丢失帧。
39、 如权利要求 32所述的装置, 其特征在于, 所述主处理单元进 ·歩用丁-, 判断所述丢失数据之后的己知数据的长度是否大于或等于预设值, 是则, 所述主处 理模块用于利用丢失数据之后的巳知数据中的第一个基音周期数据,填充 2:·火帧临时缓 冲区: 否则, 所述主处理模块用于利用丢失数据之前的已知数据中的最后一个基音周期 数据, 填充丢失帧临时缓冲区。
40、 一种实现丢包隐藏的接收端系统, 其特征在于, 该接收端系统中包括: 丢失帧 检测器、 解码器单元、 历史缓冲区、 延迟单元和实现丢包隐藏单元, 其中:
丢失帧检测器, 用于接收网络侧传输过来的比特流, 并判断是否有数据帧 £失, 且 若丢失帧检测器没有检测到数据帧丢失, 则丢失帧检测器将完好的数据帧传送给所述解 码器单元进行解码, 若丢失帧检测器检测到有数据帧丢失, 则发送丢失数据帧的信号给 所述实现丢包隐藏单元;
解码器单元, 用于对丢失帧检测器发送的完整数据帧进行解码, 并将解码后的数据 帧发送至所述历史缓冲区;
历史缓冲区, 用于存储所述解码器单元发送的数据帧。 延迟单元, 用于控制所述历史缓冲区中的数据帧延迟输出;
实现丢包隐藏单元, 用于恢复丢失的数据帧, 并将恢复的数据帧放 S在历史缓冲区 中与所述丢失的数据帧相对应的位置上, 且所述实现丢包隐藏单元的工作过程包括: 利用丢失数据之前的已知数据中的一个基音周期数据, 填充丢失帧 ΐ缓冲 1 ; 利用所述丢失数据之后的巳知数据中的一个基音周期数据, 或利用所述 £失数据之 前的所述己知数据中的一个基音周期数据, 填充丢失帧临时缓冲区;
对所述丢失帧主缓冲区和所述丢失帧临时缓冲区中的数据进行叠加处理,并用所述 叠加处理后的数据补偿丢失帧。
PCT/CN2008/071313 2007-06-14 2008-06-13 Procédé, dispositif et système permettant d'obtenir le masquage du paquet de perte WO2008151579A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP08757724A EP2133867A4 (en) 2007-06-14 2008-06-13 METHOD, DEVICE AND SYSTEM FOR HIDING LOSS PACKAGES
US12/610,442 US20100049505A1 (en) 2007-06-14 2009-11-02 Method and device for performing packet loss concealment
US12/610,466 US8600738B2 (en) 2007-06-14 2009-11-02 Method, system, and device for performing packet loss concealment by superposing data
US12/610,489 US20100049510A1 (en) 2007-06-14 2009-11-02 Method and device for performing packet loss concealment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200710126165.3 2007-06-14
CN2007101261653A CN101325631B (zh) 2007-06-14 2007-06-14 一种估计基音周期的方法和装置

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US12/610,466 Continuation US8600738B2 (en) 2007-06-14 2009-11-02 Method, system, and device for performing packet loss concealment by superposing data
US12/610,442 Continuation US20100049505A1 (en) 2007-06-14 2009-11-02 Method and device for performing packet loss concealment
US12/610,489 Continuation US20100049510A1 (en) 2007-06-14 2009-11-02 Method and device for performing packet loss concealment

Publications (1)

Publication Number Publication Date
WO2008151579A1 true WO2008151579A1 (fr) 2008-12-18

Family

ID=40129266

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/071313 WO2008151579A1 (fr) 2007-06-14 2008-06-13 Procédé, dispositif et système permettant d'obtenir le masquage du paquet de perte

Country Status (4)

Country Link
US (3) US8600738B2 (zh)
EP (3) EP2200019A3 (zh)
CN (1) CN101325631B (zh)
WO (1) WO2008151579A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112751820A (zh) * 2019-10-29 2021-05-04 达音网络科技(上海)有限公司 使用深度学习实现数字语音丢包隐藏

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101325631B (zh) 2007-06-14 2010-10-20 华为技术有限公司 一种估计基音周期的方法和装置
WO2010091554A1 (zh) * 2009-02-13 2010-08-19 华为技术有限公司 一种基音周期检测方法和装置
US8185384B2 (en) * 2009-04-21 2012-05-22 Cambridge Silicon Radio Limited Signal pitch period estimation
US8428959B2 (en) * 2010-01-29 2013-04-23 Polycom, Inc. Audio packet loss concealment by transform interpolation
CN101937679B (zh) * 2010-07-05 2012-01-11 展讯通信(上海)有限公司 音频数据帧的错误掩盖方法及音频解码装置
CN102403008B (zh) * 2010-09-17 2015-11-25 北京中星微电子有限公司 音频播放中数据流断点续接的方法和系统、fifo控制器
CN102842305B (zh) * 2011-06-22 2014-06-25 华为技术有限公司 一种基音检测的方法和装置
KR20130085859A (ko) 2012-01-20 2013-07-30 삼성디스플레이 주식회사 액정 표시 장치 및 그 제조 방법
CN104718571B (zh) * 2012-06-08 2018-09-18 三星电子株式会社 用于隐藏帧错误的方法和设备以及用于音频解码的方法和设备
CN102833037B (zh) * 2012-07-18 2015-04-29 华为技术有限公司 一种语音数据丢包的补偿方法及装置
US9805721B1 (en) * 2012-09-21 2017-10-31 Amazon Technologies, Inc. Signaling voice-controlled devices
US9129600B2 (en) * 2012-09-26 2015-09-08 Google Technology Holdings LLC Method and apparatus for encoding an audio signal
US9325544B2 (en) 2012-10-31 2016-04-26 Csr Technology Inc. Packet-loss concealment for a degraded frame using replacement data from a non-degraded frame
CN103915099B (zh) * 2012-12-29 2016-12-28 北京百度网讯科技有限公司 语音基音周期检测方法和装置
ES2816014T3 (es) 2013-02-13 2021-03-31 Ericsson Telefon Ab L M Ocultación de error de trama
FR3004876A1 (fr) * 2013-04-18 2014-10-24 France Telecom Correction de perte de trame par injection de bruit pondere.
CN104240715B (zh) * 2013-06-21 2017-08-25 华为技术有限公司 用于恢复丢失数据的方法和设备
CN104347076B (zh) * 2013-08-09 2017-07-14 中国电信股份有限公司 网络音频丢包掩蔽方法和装置
CN103714820B (zh) * 2013-12-27 2017-01-11 广州华多网络科技有限公司 参数域的丢包隐藏方法及装置
CN104751851B (zh) * 2013-12-30 2018-04-27 联芯科技有限公司 一种基于前后向联合估计的丢帧差错隐藏方法及系统
CN104021792B (zh) * 2014-06-10 2016-10-26 中国电子科技集团公司第三十研究所 一种语音丢包隐藏方法及其系统
CN104135340A (zh) * 2014-07-29 2014-11-05 中国电子科技集团公司第二十研究所 在数据链信道中语音数据传输的处理方法
US9706317B2 (en) 2014-10-24 2017-07-11 Starkey Laboratories, Inc. Packet loss concealment techniques for phone-to-hearing-aid streaming
CN104768025B (zh) * 2015-04-02 2018-05-08 无锡天脉聚源传媒科技有限公司 一种视频坏帧修复方法及装置
US9565493B2 (en) 2015-04-30 2017-02-07 Shure Acquisition Holdings, Inc. Array microphone system and method of assembling the same
US9554207B2 (en) 2015-04-30 2017-01-24 Shure Acquisition Holdings, Inc. Offset cartridge microphones
KR102540765B1 (ko) * 2016-09-07 2023-06-08 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
CN108011686B (zh) * 2016-10-31 2020-07-14 腾讯科技(深圳)有限公司 信息编码帧丢失恢复方法和装置
CN106960673A (zh) * 2017-02-08 2017-07-18 中国人民解放军信息工程大学 一种语音掩蔽方法和设备
CN106898356B (zh) * 2017-03-14 2020-04-14 建荣半导体(深圳)有限公司 一种适用于蓝牙语音通话的丢包隐藏方法、装置及蓝牙语音处理芯片
EP3803867B1 (en) 2018-05-31 2024-01-10 Shure Acquisition Holdings, Inc. Systems and methods for intelligent voice activation for auto-mixing
WO2019231632A1 (en) 2018-06-01 2019-12-05 Shure Acquisition Holdings, Inc. Pattern-forming microphone array
US11297423B2 (en) 2018-06-15 2022-04-05 Shure Acquisition Holdings, Inc. Endfire linear array microphone
CN110636543B (zh) * 2018-06-22 2020-11-06 大唐移动通信设备有限公司 一种语音数据处理方法及装置
US20200020342A1 (en) * 2018-07-12 2020-01-16 Qualcomm Incorporated Error concealment for audio data using reference pools
WO2020061353A1 (en) 2018-09-20 2020-03-26 Shure Acquisition Holdings, Inc. Adjustable lobe shape for array microphones
CN109525373B (zh) * 2018-12-25 2021-08-24 荣成歌尔科技有限公司 数据处理方法、数据处理装置和播放设备
CN111383643B (zh) * 2018-12-28 2023-07-04 南京中感微电子有限公司 一种音频丢包隐藏方法、装置及蓝牙接收机
WO2020191380A1 (en) 2019-03-21 2020-09-24 Shure Acquisition Holdings,Inc. Auto focus, auto focus within regions, and auto placement of beamformed microphone lobes with inhibition functionality
CN113841419A (zh) 2019-03-21 2021-12-24 舒尔获得控股公司 天花板阵列麦克风的外壳及相关联设计特征
US11558693B2 (en) 2019-03-21 2023-01-17 Shure Acquisition Holdings, Inc. Auto focus, auto focus within regions, and auto placement of beamformed microphone lobes with inhibition and voice activity detection functionality
TW202101422A (zh) 2019-05-23 2021-01-01 美商舒爾獲得控股公司 可操縱揚聲器陣列、系統及其方法
EP3977449A1 (en) 2019-05-31 2022-04-06 Shure Acquisition Holdings, Inc. Low latency automixer integrated with voice and noise activity detection
JP2022545113A (ja) 2019-08-23 2022-10-25 シュアー アクイジッション ホールディングス インコーポレイテッド 指向性が改善された一次元アレイマイクロホン
US11552611B2 (en) 2020-02-07 2023-01-10 Shure Acquisition Holdings, Inc. System and method for automatic adjustment of reference gain
US11706562B2 (en) 2020-05-29 2023-07-18 Shure Acquisition Holdings, Inc. Transducer steering and configuration systems and methods using a local positioning system
CN112634912B (zh) * 2020-12-18 2024-04-09 北京猿力未来科技有限公司 丢包补偿方法及装置
CN116918351A (zh) 2021-01-28 2023-10-20 舒尔获得控股公司 混合音频波束成形系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1335349A2 (en) * 2002-02-06 2003-08-13 Broadcom Corporation Pitch extraction methods and systems for speech coding using multiple time lag extraction
US20050143983A1 (en) * 2001-04-24 2005-06-30 Microsoft Corporation Speech recognition using dual-pass pitch tracking
JP2006220806A (ja) * 2005-02-09 2006-08-24 Kobe Steel Ltd 音声信号処理装置,音声信号処理プログラム,音声信号処理方法
CN1971707A (zh) * 2006-12-13 2007-05-30 北京中星微电子有限公司 一种进行基音周期估计和清浊判决的方法及装置

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717818A (en) * 1992-08-18 1998-02-10 Hitachi, Ltd. Audio signal storing apparatus having a function for converting speech speed
US5574825A (en) * 1994-03-14 1996-11-12 Lucent Technologies Inc. Linear prediction coefficient generation during frame erasure or packet loss
US5619004A (en) * 1995-06-07 1997-04-08 Virtual Dsp Corporation Method and device for determining the primary pitch of a music signal
US6167375A (en) * 1997-03-17 2000-12-26 Kabushiki Kaisha Toshiba Method for encoding and decoding a speech signal including background noise
US6493664B1 (en) * 1999-04-05 2002-12-10 Hughes Electronics Corporation Spectral magnitude modeling and quantization in a frequency domain interpolative speech codec system
US7423983B1 (en) * 1999-09-20 2008-09-09 Broadcom Corporation Voice and data exchange over a packet based network
KR100630253B1 (ko) * 1999-04-19 2006-10-02 에이티 앤드 티 코포레이션 패킷 손실 또는 프레임 삭제 은폐를 실행하는 방법 및 장치
US6952668B1 (en) * 1999-04-19 2005-10-04 At&T Corp. Method and apparatus for performing packet loss or frame erasure concealment
US7047190B1 (en) * 1999-04-19 2006-05-16 At&Tcorp. Method and apparatus for performing packet loss or frame erasure concealment
US7117156B1 (en) 1999-04-19 2006-10-03 At&T Corp. Method and apparatus for performing packet loss or frame erasure concealment
US6636829B1 (en) 1999-09-22 2003-10-21 Mindspeed Technologies, Inc. Speech communication system and method for handling lost frames
US6510407B1 (en) * 1999-10-19 2003-01-21 Atmel Corporation Method and apparatus for variable rate coding of speech
KR20010089811A (ko) * 1999-11-11 2001-10-08 요트.게.아. 롤페즈 음성 인식 시스템
CN1432177A (zh) * 2000-04-06 2003-07-23 艾利森电话股份有限公司 语音速率转换
US6584438B1 (en) * 2000-04-24 2003-06-24 Qualcomm Incorporated Frame erasure compensation method in a variable rate speech coder
US6757654B1 (en) * 2000-05-11 2004-06-29 Telefonaktiebolaget Lm Ericsson Forward error correction in speech coding
WO2002017301A1 (en) 2000-08-22 2002-02-28 Koninklijke Philips Electronics N.V. Audio transmission system having a pitch period estimator for bad frame handling
US7171355B1 (en) * 2000-10-25 2007-01-30 Broadcom Corporation Method and apparatus for one-stage and two-stage noise feedback coding of speech and audio signals
ATE353503T1 (de) * 2001-04-24 2007-02-15 Nokia Corp Verfahren zum ändern der grösse eines zitlerpuffers zur zeitausrichtung, kommunikationssystem, empfängerseite und transcoder
US7324444B1 (en) * 2002-03-05 2008-01-29 The Board Of Trustees Of The Leland Stanford Junior University Adaptive playout scheduling for multimedia communication
US20030220787A1 (en) 2002-04-19 2003-11-27 Henrik Svensson Method of and apparatus for pitch period estimation
CA2388439A1 (en) * 2002-05-31 2003-11-30 Voiceage Corporation A method and device for efficient frame erasure concealment in linear predictive based speech codecs
CN1412742A (zh) 2002-12-19 2003-04-23 北京工业大学 基于波形相关法的语音信号基音周期检测方法
US7337108B2 (en) * 2003-09-10 2008-02-26 Microsoft Corporation System and method for providing high-quality stretching and compression of a digital audio signal
US7930176B2 (en) * 2005-05-20 2011-04-19 Broadcom Corporation Packet loss concealment for block-independent speech codecs
JP2007114417A (ja) 2005-10-19 2007-05-10 Fujitsu Ltd 音声データ処理方法及び装置
KR100792209B1 (ko) * 2005-12-07 2008-01-08 한국전자통신연구원 디지털 오디오 패킷 손실을 복구하기 위한 방법 및 장치
US7457746B2 (en) * 2006-03-20 2008-11-25 Mindspeed Technologies, Inc. Pitch prediction for packet loss concealment
CN100426715C (zh) 2006-07-04 2008-10-15 华为技术有限公司 一种丢帧隐藏方法和装置
KR101041895B1 (ko) * 2006-08-15 2011-06-16 브로드콤 코포레이션 패킷 손실 후 디코딩된 오디오 신호의 시간 워핑
US8468024B2 (en) * 2007-05-14 2013-06-18 Freescale Semiconductor, Inc. Generating a frame of audio data
CN101325631B (zh) 2007-06-14 2010-10-20 华为技术有限公司 一种估计基音周期的方法和装置
CN101833954B (zh) 2007-06-14 2012-07-11 华为终端有限公司 一种实现丢包隐藏的方法和装置
CN101887723B (zh) 2007-06-14 2012-04-25 华为终端有限公司 一种对基音周期进行微调的方法和装置
US8185388B2 (en) * 2007-07-30 2012-05-22 Huawei Technologies Co., Ltd. Apparatus for improving packet loss, frame erasure, or jitter concealment
CN100524462C (zh) * 2007-09-15 2009-08-05 华为技术有限公司 对高带信号进行帧错误隐藏的方法及装置
CN101207665B (zh) * 2007-11-05 2010-12-08 华为技术有限公司 一种衰减因子的获取方法
CN100550712C (zh) * 2007-11-05 2009-10-14 华为技术有限公司 一种信号处理方法和处理装置
CN101437009B (zh) * 2007-11-15 2011-02-02 华为技术有限公司 丢包隐藏的方法及其系统
US9263049B2 (en) * 2010-10-25 2016-02-16 Polycom, Inc. Artifact reduction in packet loss concealment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050143983A1 (en) * 2001-04-24 2005-06-30 Microsoft Corporation Speech recognition using dual-pass pitch tracking
EP1335349A2 (en) * 2002-02-06 2003-08-13 Broadcom Corporation Pitch extraction methods and systems for speech coding using multiple time lag extraction
JP2006220806A (ja) * 2005-02-09 2006-08-24 Kobe Steel Ltd 音声信号処理装置,音声信号処理プログラム,音声信号処理方法
CN1971707A (zh) * 2006-12-13 2007-05-30 北京中星微电子有限公司 一种进行基音周期估计和清浊判决的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112751820A (zh) * 2019-10-29 2021-05-04 达音网络科技(上海)有限公司 使用深度学习实现数字语音丢包隐藏
CN112751820B (zh) * 2019-10-29 2023-03-10 达音网络科技(上海)有限公司 使用深度学习实现数字语音丢包隐藏

Also Published As

Publication number Publication date
EP2200018B1 (en) 2012-08-22
CN101325631B (zh) 2010-10-20
CN101325631A (zh) 2008-12-17
US20100049506A1 (en) 2010-02-25
US20100049510A1 (en) 2010-02-25
EP2200018A2 (en) 2010-06-23
EP2200019A2 (en) 2010-06-23
EP2133867A4 (en) 2010-06-16
US8600738B2 (en) 2013-12-03
EP2133867A1 (en) 2009-12-16
EP2200018A3 (en) 2010-12-01
US20100049505A1 (en) 2010-02-25
EP2200019A3 (en) 2010-12-01

Similar Documents

Publication Publication Date Title
WO2008151579A1 (fr) Procédé, dispositif et système permettant d&#39;obtenir le masquage du paquet de perte
CN101833954B (zh) 一种实现丢包隐藏的方法和装置
US8234109B2 (en) Method and system for hiding lost packets
JP4931318B2 (ja) スピーチ符号化における前方向誤り訂正
US8457115B2 (en) Method and apparatus for concealing lost frame
US8320391B2 (en) Acoustic signal packet communication method, transmission method, reception method, and device and program thereof
JP4320033B2 (ja) 音声パケット送信方法、音声パケット送信装置、および音声パケット送信プログラムとそれを記録した記録媒体
WO2008074249A1 (fr) Procédé, système et appareils utilisés pour supprimer la perte de trame
CN106788876B (zh) 一种语音丢包补偿的方法及系统
US20090037168A1 (en) Apparatus for Improving Packet Loss, Frame Erasure, or Jitter Concealment
WO2010121903A1 (en) Pitch Estimation
CN101887723B (zh) 一种对基音周期进行微调的方法和装置
WO2008067763A1 (fr) Procédé et dispositif de décodage
CN111162971A (zh) 一种时延确定方法及装置
US7869992B2 (en) Method and apparatus for using a waveform segment in place of a missing portion of an audio waveform
AU2015281722B2 (en) Method and apparatus for processing lost frame
GB2435749A (en) Loss compensation device, loss compensation method, and loss compensation program
US11646042B2 (en) Digital voice packet loss concealment using deep learning
JP3868278B2 (ja) 音声信号品質評価装置及びその方法
KR20060002569A (ko) 수신단 기반의 패킷 손실 복구 장치 및 그 방법
JP7371133B2 (ja) 時間反転されたオーディオサブフレームエラー隠蔽
MXPA00012580A (en) Method and apparatus for performing packet loss or frame erasure concealment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08757724

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008757724

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE