CN106341564B - Signal data processing method and device and intelligent conference equipment - Google Patents

Signal data processing method and device and intelligent conference equipment Download PDF

Info

Publication number
CN106341564B
CN106341564B CN201610799051.4A CN201610799051A CN106341564B CN 106341564 B CN106341564 B CN 106341564B CN 201610799051 A CN201610799051 A CN 201610799051A CN 106341564 B CN106341564 B CN 106341564B
Authority
CN
China
Prior art keywords
buffer area
data length
signal data
data
average
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201610799051.4A
Other languages
Chinese (zh)
Other versions
CN106341564A (en
Inventor
刘荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology 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 Guangzhou Shiyuan Electronics Thecnology Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN201610799051.4A priority Critical patent/CN106341564B/en
Priority to PCT/CN2016/113263 priority patent/WO2018040431A1/en
Publication of CN106341564A publication Critical patent/CN106341564A/en
Application granted granted Critical
Publication of CN106341564B publication Critical patent/CN106341564B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/568Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities audio processing specific to telephonic conferencing, e.g. spatial distribution, mixing of participants
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The invention discloses a method and a device for processing signal data and intelligent conference equipment, wherein the method comprises the following steps: respectively acquiring data length information of signal data of a reference cache region and an input cache region in a current processing period; determining data length difference information of the signal data buffered in the reference buffer area and the input buffer area based on the data length information of the reference buffer area and the input buffer area; and determining a comparison result of the data length difference information and the standard data length difference information, and resampling the signal data stored in the reference buffer area and/or the input buffer area based on the comparison result. By using the method, the difference of the signal data sampling rates in the two buffer areas during the voice call is simply and effectively determined, so that the data length difference of the signal data in the reference buffer area and the input buffer area is ensured to be a fixed value in real time, and the signal data for echo cancellation in the two buffer areas during the voice call can be ensured to simultaneously perform echo cancellation processing.

Description

Signal data processing method and device and intelligent conference equipment
Technical Field
The embodiment of the invention relates to the technical field of signal processing, in particular to a method and a device for processing signal data and intelligent conference equipment.
Background
For an electronic device with a communication function, a connection is generally established between a voice communication system and other electronic devices to realize voice communication; when a voice call is made, echo generated by the call is usually cancelled based on echo cancellation techniques. Specifically, the procedure of performing echo cancellation can be summarized as follows: firstly, reading a frame of audio signal data in a reference buffer area, simultaneously reading a frame of input signal data input into the buffer area, then outputting simulated echo signal data after the audio signal data is used as an input value of an adaptive filter for iterative processing, and then subtracting the input signal data from the output echo signal data to finally obtain the input signal data after the echo signal data is removed. The reference buffer area corresponds to a loudspeaker in the electronic equipment and is used for storing audio signal data played based on the loudspeaker, and the input buffer area corresponds to a microphone in the electronic equipment and is used for storing input signal data picked up by the microphone, wherein the input signal data comprises echo signal data related to the audio signal data.
Generally, after the signal data is stored in the reference buffer, the signal data is first played through the speaker and correlated with the signal data is formed, and then the correlated signal data is picked up by the microphone and stored in the input buffer, where the time elapsed from the formation of the correlated signal data to the storage in the input buffer is referred to as echo time delay. However, the generated echo delay often affects echo cancellation, and in order to eliminate the effect of the echo delay on echo cancellation processing operation, a technical person designs a processing method, that is, when a voice communication system is started, input signal data in an input buffer area is discarded based on a set rule, and after the discarding process, the length of the signal data in the input buffer area is smaller than that of the signal data in a reference buffer area, so that it can be ensured that the signal data stored in the reference buffer area and associated signal data stored in the input buffer area can be simultaneously subjected to echo cancellation processing.
Theoretically, after the signal data of the input buffer area is processed by the processing method provided by the above-mentioned technical staff, as long as the sampling rates of the two buffer areas when sampling the signal data are the same, the difference between the length of the signal data in the reference buffer area and the length of the signal data in the input buffer area can be kept unchanged, thereby ensuring that the subsequently stored signal data in the input buffer area and the reference buffer area can be echo-cancelled at the same time. However, in practical applications, the speaker and the microphone on the electronic device may not use the same clock source, and therefore, it cannot be guaranteed that the buffer corresponding to the speaker and the buffer corresponding to the microphone have the same sampling rate. When the sampling rates of the two buffer areas are different during voice call, the difference between the signal data length in the reference buffer area and the signal data length in the input buffer area will change, so that the associated signal data stored in the input buffer area and the reference buffer area cannot be read at the same time and echo cancellation processing is performed, and the work efficiency of echo cancellation during voice call of the electronic equipment is further influenced. There is no prior art method that can effectively solve the above problems.
Disclosure of Invention
the embodiment of the invention provides a signal data processing method and device and intelligent conference equipment, which can process the cached signal data in real time during voice communication so as to ensure that echo cancellation processing is carried out on the signal data subjected to echo cancellation at the same time.
the embodiment of the invention adopts the following technical scheme:
in a first aspect, an embodiment of the present invention provides a method for processing signal data, where the method includes:
Acquiring data length information of signal data in a current processing period of a reference buffer area and data length information of signal data in the processing period of an input buffer area;
Determining data length difference information of the signal data cached in the reference cache region and the input cache region based on the data length information corresponding to the reference cache region and the input cache region;
Determining a comparison result of the data length difference information and set standard data length difference information, and performing resampling processing on the signal data stored in the reference buffer area and/or the input buffer area based on the comparison result so as to keep the data length difference of the signal data in the reference buffer area and the input buffer area unchanged;
The reference buffer area is used for buffering audio signal data played based on audio output equipment during voice call; the input buffer area is used for buffering input signal data picked up based on the audio input equipment during voice call.
in a second aspect, an embodiment of the present invention further provides a device for processing signal data, where the device includes:
The length information acquisition module is used for acquiring the data length information of the signal data in the current processing period of the reference buffer area and the data length information of the signal data in the processing period of the input buffer area;
The length difference information acquisition module is used for determining data length difference information of the buffer signal data of the reference buffer area and the input buffer area based on the data length information corresponding to the reference buffer area and the input buffer area;
The signal data processing module is used for determining a comparison result of the data length difference information and set standard data length difference information, and performing resampling processing on the signal data stored in the reference buffer area and/or the input buffer area based on the comparison result so as to keep the data length difference of the signal data in the reference buffer area and the input buffer area unchanged;
The reference buffer area is used for buffering audio signal data played based on audio output equipment during voice call; the input buffer area is used for buffering input signal data picked up based on the audio input equipment during voice call.
in a third aspect, an embodiment of the present invention further provides an intelligent conference device, where the intelligent conference device integrates the signal data processing apparatus provided in the embodiment of the present invention.
the embodiment of the invention provides a signal data processing method, a signal data processing device and intelligent conference equipment, wherein the signal data processing method comprises the steps of firstly respectively obtaining data length information of signal data cached in a reference cache region and an input cache region in a current processing period, and then determining data length difference information existing in the two cache regions based on the data length information corresponding to the two cache regions; and finally, based on the comparison result, discarding the signal data in the reference buffer area and/or the input buffer area. By using the processing method, the difference of the signal data sampling rates in the two buffer areas during the voice call is simply and effectively determined, so that the data length difference of the signal data in the reference buffer area and the input buffer area is ensured to be a fixed value in real time, and the signal data for echo cancellation in the two buffer areas during the voice call can be simultaneously subjected to echo cancellation processing.
drawings
Fig. 1 is a flowchart of a signal data processing method according to an embodiment of the present invention;
Fig. 2 is a flowchart of a signal data processing method according to a second embodiment of the present invention;
Fig. 3a is a flowchart of a preferred embodiment of a signal data processing method according to a third embodiment of the present invention;
FIG. 3b is a flowchart illustrating the operation of determining the average value of the data length and the variable value of the parameter according to the third embodiment of the present invention;
FIG. 3c is a flowchart illustrating the operation of signal data discarding process according to a third embodiment of the present invention;
Fig. 4 is a block diagram of a signal data processing apparatus according to a fourth embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some but not all of the relevant aspects of the present invention are shown in the drawings. Before discussing exemplary embodiments in more detail, it should be noted that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although a flowchart may describe the operations (or steps) as a sequential process, many of the operations can be performed in parallel, concurrently or simultaneously. In addition, the order of the operations may be re-arranged. The process may be terminated when its operations are completed, but may have additional steps not included in the figure. The processes may correspond to methods, functions, procedures, subroutines, and the like.
Example one
fig. 1 is a flowchart of a signal data processing method according to an embodiment of the present invention, where the method is applicable to a case where signal data to be subjected to echo cancellation is processed during a voice call between a local terminal and an opposite terminal, and the method may be executed by a signal data processing apparatus, and the apparatus may be implemented in a hardware and/or software manner, and may be generally integrated in an electronic device with a call function.
Based on the above background art, it can be known that the difference between the signal data length in the reference buffer area and the signal data length in the input buffer area during the voice call is changed due to the difference between the sampling rates of the reference buffer area and the input buffer area, so that the associated signal data stored in the input buffer area and the reference buffer area cannot be read at the same time and echo cancellation processing is performed. Therefore, the embodiment of the invention provides a signal data processing method, based on which signal data in a reference buffer area or an input buffer area can be simply and quickly discarded, thereby ensuring that a difference value between a signal data length in the reference buffer area and a signal data length in the input buffer area is always a fixed value during voice call.
as shown in fig. 1, the method for processing signal data provided in this embodiment specifically includes:
s101, acquiring data length information of signal data in a current processing cycle of a reference buffer area and data length information of signal data in the processing cycle of an input buffer area.
in this embodiment, the reference buffer is used for buffering audio signal data played based on an audio output device during a voice call; the input buffer area is used for buffering input signal data picked up based on audio input equipment during voice call, wherein the audio output equipment can specifically refer to audio playing devices used for playing audio data, such as a receiver and a loudspeaker in electronic equipment; the audio input device may specifically refer to devices capable of audio pickup, such as a microphone and a microphone of an electronic device. The processing cycle may be specifically understood as a preset time period (which may be expressed by a basic time unit (e.g. second; or may be expressed by a frame unit)), and is mainly used for counting data length information of the reference buffer and the input buffer in the time period.
In this embodiment, the data length information may be a total data length obtained by accumulating data lengths in the buffer (the reference buffer and the input buffer) in the current processing period, or may be a data length average determined by accumulating data lengths in the buffer in the current processing period. In this embodiment, the data length is mainly represented by the number of discrete signal data in the buffer.
s102, determining data length difference information of the buffered signal data of the reference buffer area and the input buffer area based on the data length information corresponding to the reference buffer area and the input buffer area.
In this embodiment, the data length difference information is equal to a difference between the data length information of the reference buffer and the data length information of the input buffer. Specifically, when the data length information is a total data length obtained by accumulating data lengths in a processing cycle, the data length difference information is a difference value between total data length values corresponding to the reference buffer area and the input buffer area in the processing cycle; and when the data length information is the data length average value determined after the data length is accumulated in the processing period, the data length difference information is the difference value of the data length average values corresponding to the reference buffer area and the input buffer area in the processing period.
S103, determining a comparison result of the data length difference information and set standard data length difference information, and resampling the signal data stored in the reference buffer area and/or the input buffer area based on the comparison result so as to keep the data length difference of the signal data in the reference buffer area and the input buffer area unchanged.
in this embodiment, the standard data length difference information may be specifically understood as a standard difference value of data length information of two preset buffer areas, and may also be understood as a difference value determined based on the data length information of the two buffer areas during signal data processing, for example, the standard data length difference information may be determined from data length difference information acquired for the first time during signal data processing. In addition, the standard data length difference information is set differently depending on the specific content indicated by the data length difference information, for example, when the specific content indicated by the data length difference information is a difference value of an average value of data lengths, a set value of the standard data length difference information is relatively smaller than a set value corresponding to the case where the data length difference information is a difference value of total data lengths.
In this embodiment, a difference between the data length difference information and the standard data length difference information may be used as a comparison result, and the signal data stored in the reference buffer or the input buffer may be resampled based on the determined comparison result, thereby ensuring that the data length difference between the signal data in the reference buffer and the signal data in the input buffer remains unchanged.
In this embodiment, the resampling may be specifically understood as resampling the signal data with different sampling rates, so that the signal data with different sampling rates can be converted into the same sampling rate, including down sampling and up sampling. Generally, for two paths of signal data with different sampling rates, if the difference between the sampling rates of the two paths of signals is small, one path of signal data may be down-sampled by discarding the signal data at intervals or the other path of signal data may be up-sampled by inserting the signal data at intervals. In this embodiment, the difference between the sampling rates corresponding to the reference buffer area and the input buffer area is small, so the resampling processing may be performed by using the above two methods.
Specifically, the implementation process of performing down-sampling based on the above-mentioned interval discarded signal data can be described as follows: the comparison result between the data length difference information and the standard data length difference information is recorded as a data length variation, and then the signal data in the selected buffer area may be discarded based on the value of the data length variation and a set discarding rule. In this embodiment, the discarding rule is specifically used to determine a discarding timing for performing the discarding process, and determine which buffer of the two buffers needs to be discarded. It should be noted that, based on the specific content indicated by the data length information and the data length difference information being different, the calculated value of the data length variation is different, and the corresponding set discarding rule is different, but the correctness of the discarding process performed on the signal data can be ensured.
In addition, the implementation process of performing upsampling based on the above-mentioned interval insertion signal data can be described as follows: the comparison result of the data length difference information and the standard data length difference information is recorded as a data length variation, and then, the signal data in the selected buffer area may be subjected to an insertion process based on the value of the data length variation and a set insertion rule. In this embodiment, the insertion rule is specifically used to determine an insertion timing for performing the insertion processing, and to determine which buffer of the two buffers needs to be subjected to the insertion processing. It should be noted that, based on the specific content indicated by the data length information and the data length difference information, the calculated value of the data length variation is different, and the insertion rule set correspondingly is different, but the accuracy of the insertion process performed on the signal data can be ensured.
further, in the embodiment of the present invention, a comparison result between the data length difference information and the set standard data length difference information is determined, and the signal data stored in the reference buffer area and/or the input buffer area is resampled based on the comparison result, and specifically, it is preferable that:
And determining a comparison result of the data length difference information and set standard data length difference information, and performing downsampling discarding processing on the signal data stored in the reference buffer area and/or the input buffer area based on the comparison result.
The processing method of signal data provided by the embodiment of the invention comprises the steps of firstly respectively obtaining data length information of signal data cached in a current processing cycle by a reference cache region and an input cache region; then determining data length difference information of the buffered signal data of the reference buffer area and the input buffer area based on the data length information respectively corresponding to the two buffer areas; and comparing the data length difference information with set standard data length difference information, and finally discarding the signal data stored in the reference buffer area and/or the input buffer area based on the comparison result. By using the processing method, the difference of the signal data sampling rates in the two buffer areas during the voice call is simply and effectively determined, so that the data length difference of the signal data in the reference buffer area and the input buffer area is ensured to be a fixed value in real time, and the signal data for echo cancellation in the two buffer areas during the voice call can be simultaneously subjected to echo cancellation processing.
Example two
Fig. 2 is a flowchart of a signal data processing method according to a second embodiment of the present invention. In the second embodiment of the present invention, optimization is performed based on the above-mentioned embodiments, and in this embodiment, the data length information is further optimized to be a data length average value determined after accumulating the data length in the processing period; and optimizing the data length difference information into an average data length difference determined based on the average value of the data lengths corresponding to the reference buffer area and the input buffer area.
on the basis of the above optimization, the obtaining of the data length information of the signal data in the current processing cycle of the reference buffer and the data length information of the signal data in the processing cycle of the input buffer includes: determining the data length of signal data of the reference buffer area and the input buffer area in the current frame; respectively determining the data length accumulated values of the reference buffer area and the input buffer area in the current processing period based on the data lengths corresponding to the reference buffer area and the input buffer area, wherein the processing period is set by taking a frame as a unit; and determining the average value of the data lengths corresponding to the reference buffer area and the input buffer area based on the accumulated value of the data lengths corresponding to the reference buffer area and the input buffer area and the processing period.
further, the determining a comparison result between the data length difference information and the set standard data length difference information, and discarding the signal data stored in the reference buffer and/or the input buffer based on the comparison result includes: determining a difference value between the average data length difference and the standard data length difference information, and recording the difference value as a data length variation; determining current values of an average discarding interval and an accumulated discarding quantity, and recording the sum of the accumulated discarding quantity and the data length variation as a processing judgment quantity, wherein the average discarding interval and the accumulated discarding variable are parameter variables with set initial values of 0; determining a value of the average discard interval as a new current value based on a set discard amount calculation formula if the value of the data length change amount is not 0 and the value of the processing determination amount is not 0; discarding the signal data stored in the reference buffer and/or the input buffer based on the current value of the average discard interval.
Further, after determining a comparison result between the data length difference information and the set standard data length difference information, and performing resampling processing on the signal data stored in the reference buffer area and/or the input buffer area based on the comparison result, the method further includes: and performing echo cancellation processing on the signal data with the set length read from the reference buffer area and the input buffer area.
As shown in fig. 2, a method for processing signal data according to a second embodiment of the present invention specifically includes the following operations:
S201, determining the data length of the signal data of the reference buffer area and the input buffer area in the current frame.
In this embodiment, the data length of the signal data currently held by the two buffers may be determined based on a set time interval, which may be set manually, and the set time interval is preferably represented by a unit frame in this embodiment, and for example, assuming that the set time interval is 10ms, the time length of the unit frame may be considered to be 10ms, and 0ms may be considered to be the start time of the 1 st frame, 10ms may be the start time of the 2 nd frame, and 20ms may be the start time of the 3 rd frame, so that the data length of the signal data respectively held by the two buffers in each frame may be determined. Taking the reference buffer as an example, it may be determined that the reference buffer has a data length of 4000 at the 1 st frame, a data length of 4000 at the 2 nd frame, and a data length of 6000 at the current frame, and so on.
generally, continuous signal data is sampled to form discrete signal data based on a sampling rate, which may specifically refer to the number of samples per second extracted from the continuous signal and constituting the discrete signal. Theoretically, if the reference buffer and the input buffer have the same sampling rate, the difference between the data length of the reference buffer in the unit frame and the data length of the input buffer in the unit frame will remain the same.
However, since the sampling rates of the reference buffer and the input buffer may be different, and generally, the sampling rates of the threads corresponding to the two buffers may be one ten thousandth different, the difference between the counted data length of the reference buffer in the current frame and the data length of the input buffer in the current frame may change.
It should be noted that, if the difference between the data lengths of the two buffers is calculated based on the data lengths corresponding to the reference buffer and the input buffer determined for a certain unit frame, the determined difference between the data lengths of the two buffers may have a large error, and the change rule of the data lengths of the two buffers cannot be accurately represented, so the operations of step S202 and step S203 need to be performed to obtain the average value of the data lengths of the two buffers in a certain period of time, and the difference between the average values of the data lengths corresponding to the two buffers is used to represent the change of the data lengths of the two buffers.
S202, respectively determining corresponding data length accumulated values of the reference buffer area and the input buffer area in the current processing period based on the corresponding data lengths of the reference buffer area and the input buffer area, wherein the processing period is set by taking a frame as a unit.
In this embodiment, the processing period is a preset value, and the set processing period includes at least 1 time interval set as above, i.e. it is understood that the processing period includes at least 1 unit frame. Based on the corresponding data length of the reference buffer area and the input buffer area in each frame of the current processing period, the corresponding data length accumulated value in the current processing period can be determined.
For example, assuming that the processing cycle is 6 frames, taking the reference buffer as an example, if the data lengths of the reference buffer in each frame are 4000, 6000, and 6000, respectively, the accumulated value of the data length of the reference buffer in the processing cycle is 30000.
S203, determining the data length average value corresponding to the reference buffer area and the input buffer area based on the data length accumulated value corresponding to the reference buffer area and the input buffer area and the processing period.
For example, assuming that a processing cycle is 1 minute, i.e. 60 × 100 frames, assuming that the accumulated value of the data length corresponding to the reference buffer area in the processing cycle is 300000 × 100, assuming that the accumulated value of the data length corresponding to the input buffer area is 30000 × 100, the average value of the data length corresponding to the reference buffer area is 5000, and the average value of the data length corresponding to the input buffer area is 500.
It should be noted that, in the processing operation of signal data based on the data length average values corresponding to the reference buffer area and the input buffer area provided in this embodiment, compared with the processing operation of signal data directly based on the data accumulation length value provided in the first embodiment, the accuracy of processing based on the data length average value is more guaranteed.
s204, determining the average data length difference of the buffered signal data of the reference buffer area and the input buffer area based on the average value of the corresponding data lengths of the reference buffer area and the input buffer area.
In the above example, the average data length difference is equal to the difference between the average data length 5000 corresponding to the reference buffer area and the average data length 500 corresponding to the input buffer area, that is, the average data length difference is 4500.
s205, determining a difference value between the average data length difference and the standard data length difference information, and recording the difference value as a data length variation.
in this embodiment, the standard data length difference information may be preset or determined during the processing of the signal data. Specifically, in this embodiment, the standard data length difference information is preferably an average data length difference determined based on the first obtained data length average of the reference buffer and the data length average of the input buffer.
Generally, since the sampling rates corresponding to the reference buffer and the input buffer may change during the voice call, the values of the average data length difference obtained in different processing periods may be different, and in this embodiment, the average data length difference determined in the first processing period when signal data processing is performed is determined as standard data length difference information, and for example, assuming that the average data length difference 4500 obtained through the above calculation is obtained for the first time, the average data length difference 4500 may be determined as standard data length difference information. And then comparing the average data length difference determined in the subsequent processing period with the standard data length difference information, and finally realizing the discarding processing of the signal data based on the comparison result.
In the above example, assuming that the sampling rate corresponding to the reference buffer is 16KHz, the sampling rate corresponding to the input buffer is 15.998KHz, and the processing cycle is 60 × 100 frames, the average value of the data lengths corresponding to the reference buffer in the processing cycle may be determined to be about 5120, and the average value of the data lengths corresponding to the input buffer in the processing cycle may be about 500, that is, the average data length difference between the average value of the data lengths of the reference buffer and the average value of the data lengths of the input buffer in the processing cycle may be determined to be 4620, and the value of the data change amount may be determined to be 120 based on the determined standard data length difference information 4500. Therefore, in the processing cycle, the reference buffer area buffers 120 more signal data than the input buffer area, and in order to ensure that the difference value between the data lengths corresponding to the reference buffer area and the input buffer area remains unchanged, the signal data buffered in the reference buffer area needs to be discarded. Step S206 to step S208 describe a discarding process operation procedure of the signal data.
S206, determining the current values of the average discarding interval and the accumulated discarding quantity, and recording the sum of the accumulated discarding quantity and the data length variation as a processing judgment quantity.
in this embodiment, the average discarding interval and the accumulated discarding variable are both parameter variables with a set initial value of 0, and are mainly used for processing operation of signal data, where the average discarding interval may be specifically understood as a time limit when signal data is discarded, that is, a discarding operation can be performed only after every value of the average discarding interval; the accumulated discard amount may be understood as an accumulated discard value from the start of signal data processing to the current co-discard signal data.
specifically, if the calculation operation of the average discard interval and the cumulative discard amount is not performed before the current processing cycle, the current values of the average discard interval and the cumulative discard amount are still the initial values 0, otherwise, the calculation results of the calculation operation of the average discard interval and the cumulative discard amount may be acquired as the respective current values.
And S207, if the value of the data length variation is not 0 and the value of the processing judgment amount is not 0, determining the value of the average discarding interval based on a set discarding amount calculation formula and using the value as a new current value.
in the present embodiment, the value of the average discarding interval varies with the progress of the signal data processing operation, and may be calculated based on the discarding amount calculation formula. Theoretically, the dropping amount calculation formula may be directly a quotient of the processing period and the data change amount, and for example, assuming that the processing period is 60 × 100 frames and the data change amount is 120, the current value of the average dropping interval may be determined to be 50 frames based on the above formula, i.e., one signal data may be dropped from the reference buffer every 50 frames.
However, since the data variation is calculated based on the average data length corresponding to the reference buffer and the input buffer, and the calculated data variation is not necessarily accurate, if the signal data is discarded based on the discard amount calculation formula, the signal data may fluctuate greatly or even oscillate, and therefore a new discard amount calculation formula needs to be set to calculate the average discard interval value, thereby ensuring accurate transmission of voice content during voice call.
Further, the discard amount calculation formula is expressed as:
Where I denotes the average discard interval, C1 denotes a first count variable, Sddenotes a process determination amount, P denotes a process cycle, d denotes a data length change amount, f1And f2representing the set weight coefficient; the first count variable is set in units of frames and indicates the number of frames accumulated from the start frame of buffering signal data to the reference buffer and the input buffer to the current frame.
In the present embodiment, the set discard amount calculation formula is added with the quotient of the first count variable and the processing determination amount (the sum of the accumulated discard amount and the current data change amount), and then a more accurate average discard interval value can be obtained based on the weight coefficients occupied by each.
in the above example, it is assumed that the first counting variable is 10 × 60 × 100, the accumulated discard amount is 1000, the data variation amount is 120, and the weight coefficient f is1is 0.6, weight coefficient f20.4, the current value of the average drop interval is 52.14, which is approximately 52 frames, where the average drop interval is also expressed in units of frames.
It should be noted that, in the practical application process, the above steps S201 to S205 may be executed only after the time length for signal data processing reaches one processing cycle, otherwise, the steps S206 to S208 may be directly executed to discard the signal data.
and S208, discarding the signal data stored in the reference buffer area and/or the input buffer area based on the current value of the average discarding interval.
In this embodiment, the timing of signal data discarding processing is mainly controlled based on the current value of the average discarding interval, and it is also controllable to which buffer the signal data in the buffer is discarded.
Further, the discarding the signal data stored in the reference buffer and/or the input buffer based on the current value of the average discarding interval includes:
determining a current value of a second counting variable, and performing self-adding 1 operation on the second counting variable, wherein the second counting variable is a parameter variable of which the set initial value is 0; if the current value of the average discard interval is greater than 0, initializing the current value of the second counting variable to 0 when the current value of the second counting variable is determined to be greater than the current value of the average discard interval, discarding a signal data from the reference buffer, and performing a self-adding 1 operation on the accumulated discard amount; if the current value of the average discard interval is less than 0, initializing the current value of the second counting variable to 0 when determining that the current value of the second counting variable is greater than the absolute value of the current value of the average discard interval, discarding a signal data from the input buffer, and performing a self-decreasing 1 operation on the accumulated discard amount.
in this embodiment, the setting of the second count variable may be specifically used to compare with the current value of the average discard interval, thereby determining whether or not the timing for performing the discard processing is reached. Specifically, the current value of the average discard interval may be a value greater than 0, or may be a value less than 0, when the current value of the average discard interval is greater than 0 and the current value is less than the current value of the second count variable, the signal data in the reference buffer may be discarded, and at this time, an add-1 operation on an accumulated discard variable is further required, and the current value of the second count variable is initialized to 0; when the current value of the average discard interval is smaller than and the absolute value of the current value is smaller than the current value of the second counting variable, the signal data in the input buffer may be discarded, and at this time, it is necessary to perform a self-decreasing 1 operation on the accumulated discard variable and initialize the current value of the second counting variable to 0.
It should be noted that, both the reference buffer area and the input buffer area may be considered as buffer queues and have a first-in first-out characteristic, so that the embodiment of the present invention always performs a discarding operation on the signal data at the head of the queue in the reference buffer area or the input buffer area.
in this embodiment, when the current value of the average discard interval is 0, the discard processing does not need to be performed on the reference buffer or the input buffer, and only the current value of the second count variable needs to be initialized to 0, and then the operation of step S209 may be continued.
And S209, performing echo cancellation processing on the signal data with the set length read from the reference buffer area and the input buffer area.
In the present embodiment, step S209 describes an operation of performing echo cancellation processing on signal data of the reference buffer and the input buffer. It can be understood that, because the discarding processing operations of the above steps S201 to S208 are performed, the signal data read from the reference buffer can be just echo-cancelled simultaneously with the associated signal data in the input buffer, thereby saving the processing of echo cancellation and ensuring the working efficiency of echo cancellation. In addition, in the present embodiment, the set length is preferably a data length of signal data corresponding to a unit frame, and thus, it can be further considered that echo cancellation processing is performed on one frame of signal data read from the reference buffer and the input buffer.
in the signal data processing method provided by the second embodiment of the present invention, the obtained data length information and the data length difference information are optimally limited, and on this basis, an obtaining process of the data length information and a discarding process of the signal data are embodied. By using the processing method, the difference of the signal data sampling rates in the two buffer areas during voice call is simply and effectively determined, so that the data length difference of the signal data in the reference buffer area and the input buffer area is ensured to be a fixed value in real time, and the signal data for echo cancellation in the two buffer areas during voice call can enter the echo cancellation module at the same time.
On the basis of the above embodiment, the second embodiment further describes the implementation steps of the method for processing the corresponding signal data when the data length information is the total data length obtained by accumulating the data length in the buffer (reference buffer and input buffer) in the current processing cycle.
Firstly, the total data length obtained by accumulating the data length of the reference buffer in the current processing period may be obtained based on the above steps S201 and S202, and the total data length obtained by accumulating the data length of the input buffer in the current processing period may also be obtained; then, step S203 may be omitted to determine the total data length difference directly based on the total data lengths corresponding to the reference buffer and the input buffer; at this time, the set value of the standard data length difference information corresponds to the total data length difference and represents a standard difference determined by subtracting total data lengths, and then, a difference between the total data length difference and the standard data length difference may be determined as a data length variation, and the obtained data variation and the accumulated discarded amount are summed to determine the processing determination amount; thereafter, the determination operation of the average discard interval may be performed based on step S206; finally, the signal data in the reference buffer or the input buffer is discarded based on step S208. Thereby, the operation of discarding the signal data based on the total data length is realized.
in addition, when performing upsampling processing of interval insertion on signal data with different sampling rates, first, a determination operation of data variation may be performed based on the above steps S201 to S205, and then an insertion rule needs to be set and the signal data insertion processing is performed on the buffer area based on the insertion rule, where the setting of the insertion rule mainly includes determining an average insertion interval value, and since the determination process is similar to the determination process of the average discarding interval, details are not repeated here; finally, the signal data of one of the two buffer areas is subjected to interval insertion processing, so that the data length difference of the two buffer areas is ensured to be a constant value.
EXAMPLE III
Fig. 3 is a flowchart of a signal data processing method according to a third embodiment of the present invention. The embodiment of the invention takes the electronic equipment A and the electronic equipment B with the communication function to establish the voice communication based on the voice communication system as the application background. Specifically, after audio signal data at the terminal B of the electronic device is transmitted to the electronic device a, the audio signal data is stored in a set data buffer, the audio signal data is read from the data buffer and played by the audio output device based on the electronic device a, and the audio signal data is buffered in a reference buffer while being played by the audio output device; in addition, the audio signal data played by the audio output device will be picked up again by the audio input device of the electronic device a after being reflected by the room to form input signal data, and the input signal data will be buffered in the input buffer before being processed by echo cancellation.
the third embodiment of the present invention specifically describes a process of discarding signal data buffered in the reference buffer area and the input buffer area.
As shown in fig. 3, a preferred embodiment of a signal data processing method provided in the third embodiment of the present invention specifically includes the following operations:
S301, parameter variables, processing cycles and weight coefficients required by signal processing are set, and the parameter variables are initialized to 0, wherein the parameter variables comprise a first counting variable, a second counting variable, a first accumulation length, a second accumulation length, an average discarding interval and an accumulation discarding quantity.
In the present embodiment, step S301 is a preprocessing operation, and sets parameter variables, processing cycles, weighting coefficients, and the like required for signal processing. The first accumulated length may be specifically understood as a data length accumulated value of a data length corresponding to each frame of the reference buffer in the current processing cycle; the second accumulated length may be specifically understood as a data length accumulated value of the data length of the input buffer area corresponding to each frame in the current processing cycle.
S302, determining the data length of the signal data of the reference buffer area and the input buffer area in the current frame.
s303, perform an operation of adding 1 to the first count variable, add the data length of the reference buffer in the current frame to the first cumulative length, and add the data length of the input buffer in the current frame to the second cumulative length.
In this embodiment, after the signal data of a unit frame is buffered in the reference buffer and the input buffer, an operation of self-adding 1 is performed on the first count variable, and the data lengths of the two buffers in the current frame are added to the respective accumulated lengths.
s304, judging whether the first counting variable divides the processing period completely, if so, executing a step S305; if not, executing step S306;
In this embodiment, the step S304 is specifically configured to determine whether the time length of the current signal data buffering reaches the time length corresponding to the set processing period, and if so, the step S305 needs to be executed; if not, step S306 needs to be executed.
S305, determining the average value of the data length after the data length is accumulated in the reference buffer in the current processing period, and the average value of the data length after the data length is accumulated in the input buffer in the processing period, and determining the current value of the parameter variable required for signal data processing, and then executing S306.
In this embodiment, when the current value of the first counting variable is an integer multiple of the processing period, the operation of step S305 may be performed, and it should be noted that the preferred embodiment selects the data length average value as the data length information.
Further, as shown in fig. 3b, the operation flow of step S305 can be expressed as:
s3051, determining data length average values corresponding to the reference buffer area and the input buffer area based on the current values of the first accumulation length and the second accumulation length and the processing period.
S3052, judging whether the average value of the data lengths corresponding to the reference buffer area and the input buffer area is obtained for the first time, if so, executing a step S3053, and if not, executing a step S3054.
This step may be used, for example, to set the value of the standard data length difference information.
S3053, determining the difference value between the average value of the data length corresponding to the reference buffer area and the average value of the data length corresponding to the input buffer area as standard data length difference information, and then executing the step S3058.
S3054, determining the difference value between the average value of the data length corresponding to the reference buffer area and the average value of the data length corresponding to the input buffer area as an average data length difference.
S3055, determining the difference value between the average data length difference and the standard data length difference information as a data variation, determining the current values of an average discarding interval and an accumulated discarding quantity, and recording the sum of the accumulated discarding quantity and the data length variation as a processing judgment quantity.
s3056, judging whether the value of the data length variation and the value of the processing judgment amount are both not 0, if so, executing a step S3057; if not, go to step S3058.
and S3057, determining the value of the average discarding interval based on a set discarding amount calculation formula and using the value as a new current value.
For example, the discard amount calculation formula is the formula described in the above second embodiment, and details are not repeated here.
And S3058, initializing the current values of the first accumulation length and the second accumulation length to be 0.
In this embodiment, the operations of step S3501 to step S3508 described above determine the average data length difference between the reference buffer and the input buffer, and also determine the current value of the average discarding interval, so as to prepare for the discarding process of the signal data, and after step S3058 is executed, step S306 may be continuously executed.
S306, based on the set discarding rule, discarding the signal data stored in the reference buffer area and/or the input buffer area.
Further, as shown in fig. 3c, the operation flow of step S306 can be expressed as:
s3061, determining the second counting variable and the current value of the average discarding interval, and performing self-adding 1 operation on the second counting variable.
S3062, judging whether the current value of the average discarding interval is 0, if so, executing a step S3063; if not, step S3064 is performed.
S3063, the value of the second count variable is initialized to 0, and step S307 is directly executed.
S3064, judging whether the current value of the average discarding interval is larger than 0, if so, executing a step S3065; if not, step S3067 is executed;
S3065, judging whether the current value of the average discarding interval is larger than the current value of the second counting variable, and if not, executing a step S3066; if yes, go to step S307;
S3066, initializing the value of the second count variable to 0, discarding a signal data from the reference buffer, and performing a self-increment 1 operation on the accumulated discarded amount, and then executing step S307;
S3067, judging whether the absolute value of the current value of the average discarding interval is larger than the current value of the second counting variable, if not, executing a step S3068; if yes, go to step S307;
S3068, initializing the value of the second count variable to 0, discarding one signal data from the input buffer, performing a self-decreasing 1 operation on the accumulated discarded amount, and then executing step S307.
In the present embodiment, the above-described steps S3061 to S3068 specifically describe the procedure of the discarding process of the signal data. Based on the above operation, it can be found that the main purpose of discarding the signal data is to ensure that the data length difference between the signal data in the reference buffer and the signal data in the input buffer remains unchanged, so as to better perform the echo cancellation process of step S307.
S307, echo cancellation processing is carried out on the frame of signal data respectively read from the reference buffer area and the input buffer area.
S308, if the voice call is not ended, returning to the step S302; otherwise, the loop operation is ended.
in this embodiment, step S308 shows that the processing method of the signal data provided by the embodiment of the present invention may be executed in a loop, and the processing operation thereof may run through the whole voice call process, showing the real-time performance of the processing method.
the third embodiment of the present invention provides a preferred embodiment of a signal data processing method, which describes a specific implementation process for processing signal data to be subjected to echo cancellation in a voice communication process. The method has the advantages that the difference of the sampling rates of the signal data in the two buffer areas during voice call is simply and effectively determined, so that the data length difference of the signal data in the reference buffer area and the input buffer area is guaranteed to be a fixed value in real time, the signal data for echo cancellation in the two buffer areas during voice call can be guaranteed to enter the echo cancellation module at the same time, and the feasibility of the processing method of the signal data is effectively verified.
Example four
fig. 4 is a block diagram of a signal data processing apparatus according to a fourth embodiment of the present invention. The embodiment is applicable to the situation of processing the signal data to be subjected to echo cancellation when the local terminal and the opposite terminal are in voice communication. The apparatus can be implemented by means of hardware and/or software, and can be generally integrated into an electronic device with a call function. As shown in fig. 4, the processing apparatus includes: a length information acquisition module 41, a length difference information acquisition module 42, and a signal data processing module 43.
The length information obtaining module 41 is configured to obtain data length information of the signal data in the current processing cycle of the reference buffer and data length information of the signal data in the processing cycle of the input buffer.
Further, the reference buffer area is used for buffering audio signal data played based on audio output equipment during voice call; the input buffer area is used for buffering input signal data picked up based on the audio input equipment during voice call.
A length difference information obtaining module 42, configured to determine, based on the data length information corresponding to the reference buffer area and the input buffer area, data length difference information between the buffered signal data in the reference buffer area and the buffered signal data in the input buffer area.
A signal data processing module 43, configured to determine a comparison result between the data length difference information and set standard data length difference information, and perform resampling processing on the signal data stored in the reference buffer area and/or the input buffer area based on the comparison result, so that a data length difference between the signal data in the reference buffer area and the signal data in the input buffer area remains unchanged.
In this embodiment, the processing apparatus first obtains, by the length information obtaining module 41, data length information of the signal data in the current processing cycle of the reference buffer and data length information of the signal data in the processing cycle of the input buffer; then, the length difference information obtaining module 42 determines the data length difference information of the buffered signal data of the reference buffer area and the input buffer area based on the data length information corresponding to the reference buffer area and the input buffer area; finally, the signal data processing module 43 determines a comparison result between the data length difference information and the set standard data length difference information, and performs resampling processing on the signal data stored in the reference buffer area and/or the input buffer area based on the comparison result.
The signal data processing device provided by the fourth embodiment of the invention simply and effectively determines the difference of the signal data sampling rates in the two buffer areas during the voice call, thereby ensuring that the data length difference of the signal data in the reference buffer area and the input buffer area is a fixed value in real time, and further ensuring that the signal data for echo cancellation in the two buffer areas can enter the echo cancellation module simultaneously during the voice call.
Further, the signal data processing module 43 is specifically configured to: and determining a comparison result of the data length difference information and set standard data length difference information, and performing downsampling discarding processing on the signal data stored in the reference buffer area and/or the input buffer area based on the comparison result so as to keep the data length difference of the signal data in the reference buffer area and the input buffer area unchanged.
Further, the data length information is a data length average value determined after accumulating data lengths in the processing period; the data length difference information is an average data length difference determined based on the average value of the data lengths corresponding to the reference buffer area and the input buffer area.
On the basis of the foregoing embodiment, the length information obtaining module 41 is specifically configured to:
Determining the data length of signal data of the reference buffer area and the input buffer area in the current frame; respectively determining the data length accumulated values of the reference buffer area and the input buffer area in the current processing period based on the data lengths corresponding to the reference buffer area and the input buffer area, wherein the processing period is set by taking a frame as a unit; and determining the average value of the data lengths corresponding to the reference buffer area and the input buffer area based on the accumulated value of the data lengths corresponding to the reference buffer area and the input buffer area and the processing period.
Further, the standard data length difference information is an average data length difference determined based on the first obtained data length average of the reference buffer and the data length average of the input buffer.
on the basis of the above embodiment, the signal data processing module 43 includes:
a length variation determining unit, configured to determine a difference between the average data length difference and the standard data length difference information, and record the difference as a data length variation;
a parameter variable determining unit, configured to determine current values of an average discard interval and an accumulated discard amount, and record a sum of the accumulated discard amount and the data length variation as a processing determination amount, where the average discard interval and the accumulated discard variable are both parameter variables whose set initial values are 0;
A parameter variable updating unit that determines a value of the average discard interval as a new current value based on a set discard amount calculation formula when the value of the data length change amount is not 0 and the value of the processing determination amount is not 0 either;
A discarding processing unit, configured to discard the signal data stored in the reference buffer and/or the input buffer based on a current value of the average discarding interval.
on the basis of the above embodiment, the discard amount calculation formula is expressed as:
Where I denotes the average discard interval, C1 denotes a first count variable, SdDenotes a process determination amount, P denotes a process cycle, d denotes a data length change amount, f1And f2representing the set weight coefficient; the first count variable is set in units of frames and indicates the number of frames accumulated from the start frame of buffering signal data to the reference buffer and the input buffer to the current frame.
further, the discard processing unit is specifically configured to:
Determining a current value of a second counting variable, and performing self-adding 1 operation on the second counting variable, wherein the second counting variable is a parameter variable of which the set initial value is 0; if the current value of the average discard interval is greater than 0, initializing the current value of the second counting variable to 0 when the current value of the second counting variable is determined to be greater than the current value of the average discard interval, discarding a signal data from the reference buffer, and performing a self-adding 1 operation on the accumulated discard amount; if the current value of the average discard interval is less than 0, initializing the current value of the second counting variable to 0 when determining that the current value of the second counting variable is greater than the absolute value of the current value of the average discard interval, discarding a signal data from the input buffer, and performing a self-decreasing 1 operation on the accumulated discard amount.
On the basis of the above embodiment, the processing apparatus further includes:
and the echo cancellation module is used for reading a frame of signal data from the reference buffer area and the input buffer area respectively for echo cancellation processing after determining a comparison result of the data length difference information and set standard data length difference information and discarding the signal data stored in the reference buffer area and/or the input buffer area based on the comparison result.
EXAMPLE five
The embodiment of the invention provides intelligent conference equipment, which integrates the signal data processing device provided by the fourth embodiment. The signal data to be echo-cancelled in the reference buffer area and the input buffer area may be discarded by the signal data processing method provided in the first to third embodiments.
in this embodiment, the intelligent conference device belongs to one type of electronic device with a call function, and the intelligent conference device is integrated with a voice call system and is also provided with an audio input device and an audio output device.
after the signal data processing device provided by the above embodiment of the present invention is integrated in the intelligent conference device, the difference between the sampling rates of the signal data in the two buffer areas during the voice call can be simply and effectively determined, so that the data length difference between the signal data in the reference buffer area and the signal data in the input buffer area is ensured to be a fixed value in real time, and further, the signal data for performing echo cancellation in the two buffer areas during the voice call can enter the echo cancellation module at the same time.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims (8)

1. a method for processing signal data, comprising:
acquiring data length information of signal data in a current processing period of a reference buffer area and data length information of signal data in the processing period of an input buffer area;
Determining data length difference information of the signal data cached in the reference cache region and the input cache region based on the data length information corresponding to the reference cache region and the input cache region;
Determining a comparison result of the data length difference information and set standard data length difference information, and performing resampling processing on the signal data stored in the reference buffer area and/or the input buffer area based on the comparison result so as to keep the data length difference of the signal data in the reference buffer area and the input buffer area unchanged;
The reference buffer area is used for buffering audio signal data played based on audio output equipment during voice call; the input buffer area is used for buffering input signal data picked up based on the audio input equipment during voice call; the data length information is a data length average value determined after accumulating the data length in the processing period; the data length difference information is an average data length difference determined based on the average value of the data lengths corresponding to the reference buffer area and the input buffer area;
The determining a comparison result between the data length difference information and the set standard data length difference information, and performing resampling processing on the signal data stored in the reference buffer area and/or the input buffer area based on the comparison result includes:
Determining a difference value between the average data length difference and the standard data length difference information, and recording the difference value as a data length variation;
Determining current values of an average discarding interval and an accumulated discarding quantity, and recording the sum of the accumulated discarding quantity and the data length variation as a processing judgment quantity, wherein the average discarding interval and the accumulated discarding variable are parameter variables with set initial values of 0;
Determining a value of the average discard interval as a new current value based on a set discard amount calculation formula if the value of the data length change amount is not 0 and the value of the processing determination amount is not 0;
Discarding the signal data stored in the reference buffer and/or the input buffer based on the current value of the average discard interval.
2. The method of claim 1, wherein the obtaining the data length information of the signal data of the reference buffer in the current processing cycle and the data length information of the signal data of the input buffer in the processing cycle comprises:
Determining the data length of signal data of the reference buffer area and the input buffer area in the current frame;
Respectively determining the data length accumulated values of the reference buffer area and the input buffer area in the current processing period based on the data lengths corresponding to the reference buffer area and the input buffer area, wherein the processing period is set by taking a frame as a unit;
And determining the average value of the data lengths corresponding to the reference buffer area and the input buffer area based on the accumulated value of the data lengths corresponding to the reference buffer area and the input buffer area and the processing period.
3. the method according to claim 1, wherein the standard data length difference information is an average data length difference determined based on a first obtained data length average of the reference buffer and a data length average of the input buffer.
4. The method of claim 1, wherein the discard amount calculation is formulated as:
Where I denotes the average discard interval, C1 denotes a first count variable, SdDenotes a process determination amount, P denotes a process cycle, d denotes a data length change amount, f1And f2Representing the set weight coefficient;
The first count variable is set in units of frames and indicates the number of frames accumulated from the start frame of buffering signal data to the reference buffer and the input buffer to the current frame.
5. The method of claim 1, wherein the discarding the signal data stored in the reference buffer and/or the input buffer based on the current value of the average discard interval comprises:
Determining a current value of a second counting variable, and performing self-adding 1 operation on the second counting variable, wherein the second counting variable is a parameter variable of which the set initial value is 0;
If the current value of the average discard interval is greater than 0, initializing the current value of the second counting variable to 0 when the current value of the second counting variable is determined to be greater than the current value of the average discard interval, discarding a signal data from the reference buffer, and performing a self-adding 1 operation on the accumulated discard amount;
If the current value of the average discard interval is less than 0, initializing the current value of the second counting variable to 0 when determining that the current value of the second counting variable is greater than the absolute value of the current value of the average discard interval, discarding a signal data from the input buffer, and performing a self-decreasing 1 operation on the accumulated discard amount.
6. The method according to any one of claims 1 to 5, further comprising, after determining a comparison result between the data length difference information and the set standard data length difference information, and performing resampling processing on the signal data stored in the reference buffer and/or the input buffer based on the comparison result, the method further comprising:
And performing echo cancellation processing on the signal data with the set length read from the reference buffer area and the input buffer area.
7. An apparatus for processing signal data, comprising:
the length information acquisition module is used for acquiring the data length information of the signal data in the current processing period of the reference buffer area and the data length information of the signal data in the processing period of the input buffer area;
The length difference information acquisition module is used for determining data length difference information of the buffer signal data of the reference buffer area and the input buffer area based on the data length information corresponding to the reference buffer area and the input buffer area;
the signal data processing module is used for determining a comparison result of the data length difference information and set standard data length difference information, and performing resampling processing on the signal data stored in the reference buffer area and/or the input buffer area based on the comparison result so as to keep the data length difference of the signal data in the reference buffer area and the input buffer area unchanged;
The reference buffer area is used for buffering audio signal data played based on audio output equipment during voice call; the input buffer area is used for buffering input signal data picked up based on the audio input equipment during voice call; the data length information is a data length average value determined after accumulating the data length in the processing period; the data length difference information is an average data length difference determined based on the average value of the data lengths corresponding to the reference buffer area and the input buffer area;
the signal data processing module is specifically configured to:
Determining a difference value between the average data length difference and the standard data length difference information, and recording the difference value as a data length variation;
Determining current values of an average discarding interval and an accumulated discarding quantity, and recording the sum of the accumulated discarding quantity and the data length variation as a processing judgment quantity, wherein the average discarding interval and the accumulated discarding variable are parameter variables with set initial values of 0;
determining a value of the average discard interval as a new current value based on a set discard amount calculation formula if the value of the data length change amount is not 0 and the value of the processing determination amount is not 0;
Discarding the signal data stored in the reference buffer and/or the input buffer based on the current value of the average discard interval.
8. an intelligent conference device, characterized in that it integrates the signal data processing means of claim 7.
CN201610799051.4A 2016-08-31 2016-08-31 Signal data processing method and device and intelligent conference equipment Active CN106341564B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610799051.4A CN106341564B (en) 2016-08-31 2016-08-31 Signal data processing method and device and intelligent conference equipment
PCT/CN2016/113263 WO2018040431A1 (en) 2016-08-31 2016-12-29 Method and apparatus for processing signal data, and intelligent conference device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610799051.4A CN106341564B (en) 2016-08-31 2016-08-31 Signal data processing method and device and intelligent conference equipment

Publications (2)

Publication Number Publication Date
CN106341564A CN106341564A (en) 2017-01-18
CN106341564B true CN106341564B (en) 2019-12-17

Family

ID=57823722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610799051.4A Active CN106341564B (en) 2016-08-31 2016-08-31 Signal data processing method and device and intelligent conference equipment

Country Status (2)

Country Link
CN (1) CN106341564B (en)
WO (1) WO2018040431A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108335701B (en) * 2018-01-24 2021-04-13 青岛海信移动通信技术股份有限公司 Method and equipment for sound noise reduction
CN109378019B (en) * 2018-10-31 2020-12-08 成都极米科技股份有限公司 Audio data reading method and processing system
CN109600700B (en) * 2018-11-16 2020-11-17 珠海市杰理科技股份有限公司 Audio data processing method and device, computer equipment and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104394286A (en) * 2014-08-27 2015-03-04 贵阳朗玛信息技术股份有限公司 Echo cancellation method and device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101409808B (en) * 2008-10-15 2010-10-13 北京创毅视讯科技有限公司 Method and apparatus for re-sampling audio, and digital television chip
US9008302B2 (en) * 2010-10-08 2015-04-14 Optical Fusion, Inc. Audio acoustic echo cancellation for video conferencing
CN102625006B (en) * 2011-01-31 2013-12-04 陈剑勇 Method and system for synchronization and alignment of echo cancellation data and audio communication equipment
CN102568494B (en) * 2012-02-23 2014-02-05 贵阳朗玛信息技术股份有限公司 Optimized method, device and system for eliminating echo
US8958897B2 (en) * 2012-07-03 2015-02-17 Revo Labs, Inc. Synchronizing audio signal sampling in a wireless, digital audio conferencing system
CN104822001B (en) * 2015-04-23 2018-12-18 腾讯科技(深圳)有限公司 Echo cancellor data synchronization control method and device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104394286A (en) * 2014-08-27 2015-03-04 贵阳朗玛信息技术股份有限公司 Echo cancellation method and device

Also Published As

Publication number Publication date
WO2018040431A1 (en) 2018-03-08
CN106341564A (en) 2017-01-18

Similar Documents

Publication Publication Date Title
JP7018130B2 (en) Echo cancellation method and equipment based on delay time estimation
CN102625006B (en) Method and system for synchronization and alignment of echo cancellation data and audio communication equipment
WO2018040430A1 (en) Method and apparatus for determining echo delay, and intelligent conference device
JP5741281B2 (en) Audio signal processing apparatus, imaging apparatus, audio signal processing method, program, and recording medium
CN106341564B (en) Signal data processing method and device and intelligent conference equipment
KR102170172B1 (en) Echo suppression
CN103546839B (en) Audio signal processing and its echo signal minimizing technology
CN103493384B (en) Echo cancelling device, echo cancel method and communicator
JP2016090799A (en) Noise suppression device, and method and program for the same
CN110136735A (en) A kind of audio restorative procedure, equipment and readable storage medium storing program for executing
WO2017059678A1 (en) Real-time voice receiving device and delay reduction method in real-time voice call
JP5235226B2 (en) Echo canceling apparatus and program thereof
US8259928B2 (en) Method and apparatus for reducing timestamp noise in audio echo cancellation
CN112151051B (en) Audio data processing method and device and storage medium
WO2017036175A1 (en) Voice processing method and terminal
US7600032B2 (en) Temporal drift correction
WO2018040432A1 (en) Method and system for implementing voice call, and intelligent conference device
JP2013142797A (en) Sound signal processing device, sound signal processing method, program and recording medium
CN109155633B (en) Method and equipment for determining parameters in CVSD (video scalable digital code) coding and decoding
CN111145770B (en) Audio processing method and device
CN110099183B (en) Audio data processing device and method and call equipment
CN112750452A (en) Voice processing method, device and system, intelligent terminal and electronic equipment
KR102218742B1 (en) Adaptive delay diversity filter, echo cancel device using the same, and echo cancel method thereof
CN116013337B (en) Audio signal processing method, training method, device, equipment and medium for model
JP2006270709A (en) Echo remover, electronic conference apparatus, and echo removing program

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant