Different sampling rates between a playout unit and a capture unit are compensated for via a system, method and computer program product. The playout unit receives samples from a computational unit, and the capture unit sends samples to the computational unit. A playout FIFO buffer operates in a playout time domain, and a capture FIFO buffer operates in a capture time domain. The computational unit is synchronized to a common clock. A first relationship is calculated between the common clock and a playout fifo buffer read pointer, and a second relationship is calculated between the common clock and a capture FIFO buffer write pointer. For each sample in the playout time domain a corresponding sample in the samples from said computational unit is found and sent to the playout FIFO buffer. For each sample in the common clock time domain the corresponding sample in the capture time domain is found and sent to the computational unit.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
2. The method according to claim 1 , wherein the establishing includes setting the first relationship and calculating the second relationship.
A method for compensating for clock drift between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, includes the following: establishing a first relationship between a common clock and a playout FIFO buffer read pointer, and establishing a second relationship between the common clock and a capture FIFO buffer write pointer. The step of establishing the relationship involves setting the first relationship and calculating the second relationship using a processor synchronized to the common clock. For each sample in the playout time domain a corresponding sample in the samples from said computational unit is found and sent to the playout FIFO buffer. For each sample in the common clock time domain the corresponding sample in the capture time domain is found and sent to the computational unit.
3. The method according to claim 1 , wherein the establishing includes calculating the first relationship and setting the second relationship.
A method for compensating for clock drift between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, includes the following: establishing a first relationship between a common clock and a playout FIFO buffer read pointer, and establishing a second relationship between the common clock and a capture FIFO buffer write pointer. The step of establishing the relationship involves calculating the first relationship and setting the second relationship using a processor synchronized to the common clock. For each sample in the playout time domain a corresponding sample in the samples from said computational unit is found and sent to the playout FIFO buffer. For each sample in the common clock time domain the corresponding sample in the capture time domain is found and sent to the computational unit.
4. The method according to claim 1 , wherein the establishing includes calculating the first relationship and the second relationship.
A method for compensating for clock drift between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, includes the following: establishing a first relationship between a common clock and a playout FIFO buffer read pointer, and establishing a second relationship between the common clock and a capture FIFO buffer write pointer. The step of establishing the relationship involves calculating both the first relationship and the second relationship using a processor synchronized to the common clock. For each sample in the playout time domain a corresponding sample in the samples from said computational unit is found and sent to the playout FIFO buffer. For each sample in the common clock time domain the corresponding sample in the capture time domain is found and sent to the computational unit.
5. The method according to claim 1 , wherein the computational unit is an audio echo canceller.
A method for compensating for clock drift between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, includes the following: establishing a first relationship between a common clock and a playout FIFO buffer read pointer, and establishing a second relationship between the common clock and a capture FIFO buffer write pointer. Here, the computational unit is specifically an audio echo canceller. For each sample in the playout time domain a corresponding sample in the samples from said computational unit is found and sent to the playout FIFO buffer. For each sample in the common clock time domain the corresponding sample in the capture time domain is found and sent to the computational unit.
6. The method according to claim 1 , wherein the establishing includes calculating at least one of the first relationship and the second relationship using a statistical model.
A method for compensating for clock drift between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, includes the following: establishing a first relationship between a common clock and a playout FIFO buffer read pointer, and establishing a second relationship between the common clock and a capture FIFO buffer write pointer. Here, the establishing step includes calculating at least one of the first relationship and the second relationship using a statistical model with a processor synchronized to the common clock. For each sample in the playout time domain a corresponding sample in the samples from said computational unit is found and sent to the playout FIFO buffer. For each sample in the common clock time domain the corresponding sample in the capture time domain is found and sent to the computational unit.
7. The method according to claim 6 , wherein the statistical model includes a linear regression method that performs at least one of a least mean square process, and a least mean square process with a loss factor for reducing round off errors.
A method for compensating for clock drift between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, includes the following: establishing a first relationship between a common clock and a playout FIFO buffer read pointer, and establishing a second relationship between the common clock and a capture FIFO buffer write pointer. The establishing step includes calculating at least one of the first relationship and the second relationship using a statistical model with a processor synchronized to the common clock. The statistical model used is a linear regression method that performs at least one of a least mean square process, and a least mean square process with a loss factor for reducing round off errors. For each sample in the playout time domain a corresponding sample in the samples from said computational unit is found and sent to the playout FIFO buffer. For each sample in the common clock time domain the corresponding sample in the capture time domain is found and sent to the computational unit.
8. The method according to claim 1 , wherein the common clock includes at least one of a clock signal associated with the read pointer, a clock signal associated with the capture pointer, and a clock signal associated with the processor, the processor being an operational part of the computational unit.
A method for compensating for clock drift between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, includes the following: establishing a first relationship between a common clock and a playout FIFO buffer read pointer, and establishing a second relationship between the common clock and a capture FIFO buffer write pointer. The common clock used is at least one of a clock signal associated with the read pointer, a clock signal associated with the capture pointer, and a clock signal associated with the processor, where the processor is an operational part of the computational unit. For each sample in the playout time domain a corresponding sample in the samples from said computational unit is found and sent to the playout FIFO buffer. For each sample in the common clock time domain the corresponding sample in the capture time domain is found and sent to the computational unit.
9. The method according to claim 1 , wherein the calculating a subsample further comprises: pre-calculating a set of time delay filters (h τ ) for a discrete number of residual factors (τ); and selecting one of the pre-calculated filters (h τ ), where the selected filter represents the filter closest to the calculated residual factor τ.
A method for compensating for clock drift between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, includes the following: establishing a first relationship between a common clock and a playout FIFO buffer read pointer, and establishing a second relationship between the common clock and a capture FIFO buffer write pointer. For each sample in the playout time domain a corresponding sample in the samples from said computational unit is found and sent to the playout FIFO buffer. For each sample in the common clock time domain the corresponding sample in the capture time domain is found and sent to the computational unit. The method involves calculating a subsample, which includes: pre-calculating a set of time delay filters (h τ ) for a discrete number of residual factors (τ); and selecting one of the pre-calculated filters (h τ ), where the selected filter represents the filter closest to the calculated residual factor τ.
10. The method according to claim 1 , wherein the calculating a subsample comprises: calculating the time delay filter (h τ ) for each sample.
A method for compensating for clock drift between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, includes the following: establishing a first relationship between a common clock and a playout FIFO buffer read pointer, and establishing a second relationship between the common clock and a capture FIFO buffer write pointer. For each sample in the playout time domain a corresponding sample in the samples from said computational unit is found and sent to the playout FIFO buffer. For each sample in the common clock time domain the corresponding sample in the capture time domain is found and sent to the computational unit. The method involves calculating a subsample by calculating the time delay filter (h τ ) for each sample.
11. The method according to claim 1 , wherein, the first relationship and the second relationship are based on readouts of common clock, playout read pointer and capture write pointer data, and establishing the first relationship and establishing the second relationship each comprise weighting new data more than old data.
A method for compensating for clock drift between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, includes the following: establishing a first relationship between a common clock and a playout FIFO buffer read pointer, and establishing a second relationship between the common clock and a capture FIFO buffer write pointer. For each sample in the playout time domain a corresponding sample in the samples from said computational unit is found and sent to the playout FIFO buffer. For each sample in the common clock time domain the corresponding sample in the capture time domain is found and sent to the computational unit. The first relationship and the second relationship are based on readouts of common clock, playout read pointer and capture write pointer data, and the establishing the first relationship and establishing the second relationship each comprise weighting new data more than old data.
12. The method according to claim 1 , wherein the establishing the first relationship further comprises: reading a set of first data, wherein the set of the first data comprises substantially simultaneous reading out at least the common clock and the playout read pointer; and registering the set of first data if complying with a set of predefined criteria.
A method for compensating for clock drift between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, includes the following: establishing a first relationship between a common clock and a playout FIFO buffer read pointer, and establishing a second relationship between the common clock and a capture FIFO buffer write pointer. For each sample in the playout time domain a corresponding sample in the samples from said computational unit is found and sent to the playout FIFO buffer. For each sample in the common clock time domain the corresponding sample in the capture time domain is found and sent to the computational unit. The establishing the first relationship further comprises: reading a set of first data, wherein the set of the first data comprises substantially simultaneous reading out at least the common clock and the playout read pointer; and registering the set of first data if complying with a set of predefined criteria.
13. The method according to claim 1 , wherein the establishing the second relationship further comprises: reading a set of second data, wherein the set of the second data comprises substantially simultaneous reading out at least the common clock and the capture write pointer; and registering sets of the first data and the second data if complying with a set of predefined criteria.
A method for compensating for clock drift between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, includes the following: establishing a first relationship between a common clock and a playout FIFO buffer read pointer, and establishing a second relationship between the common clock and a capture FIFO buffer write pointer. For each sample in the playout time domain a corresponding sample in the samples from said computational unit is found and sent to the playout FIFO buffer. For each sample in the common clock time domain the corresponding sample in the capture time domain is found and sent to the computational unit. The establishing the second relationship further comprises: reading a set of second data, wherein the set of the second data comprises substantially simultaneous reading out at least the common clock and the capture write pointer; and registering sets of the first data and the second data if complying with a set of predefined criteria.
14. The method according to claim 12 , wherein the predefined criteria is complied with if at least one of two following conditions occurs: a time between consecutive common clock readouts around the time of a data set does not exceed a predefined threshold; and a pointer increment is not abnormal.
A method for compensating for clock drift between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, includes the following: establishing a first relationship between a common clock and a playout FIFO buffer read pointer, and establishing a second relationship between the common clock and a capture FIFO buffer write pointer. The establishing the first relationship further comprises: reading a set of first data, wherein the set of the first data comprises substantially simultaneous reading out at least the common clock and the playout read pointer; and registering the set of first data if complying with a set of predefined criteria. The predefined criteria is complied with if at least one of two following conditions occurs: a time between consecutive common clock readouts around the time of a data set does not exceed a predefined threshold; and a pointer increment is not abnormal. For each sample in the playout time domain a corresponding sample in the samples from said computational unit is found and sent to the playout FIFO buffer. For each sample in the common clock time domain the corresponding sample in the capture time domain is found and sent to the computational unit.
15. The method according to claim 13 , wherein the predefined criteria is complied with if at least one of two following conditions occurs: a time between consecutive common clock readouts around the time of a data set does not exceed a predefined threshold; and a pointer increment is not abnormal.
A method for compensating for clock drift between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, includes the following: establishing a first relationship between a common clock and a playout FIFO buffer read pointer, and establishing a second relationship between the common clock and a capture FIFO buffer write pointer. The establishing the second relationship further comprises: reading a set of second data, wherein the set of the second data comprises substantially simultaneous reading out at least the common clock and the capture write pointer; and registering sets of the first data and the second data if complying with a set of predefined criteria. The predefined criteria is complied with if at least one of two following conditions occurs: a time between consecutive common clock readouts around the time of a data set does not exceed a predefined threshold; and a pointer increment is not abnormal. For each sample in the playout time domain a corresponding sample in the samples from said computational unit is found and sent to the playout FIFO buffer. For each sample in the common clock time domain the corresponding sample in the capture time domain is found and sent to the computational unit.
17. The clock drift compensation unit according to claim 16 , wherein the first relationship is set and the second relationship is calculated with a processor.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. The first relationship is set and the second relationship is calculated with a processor.
18. The clock drift compensation unit according to claim 16 , wherein the first relationship is calculated with a processor and the second relationship is set.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. The first relationship is calculated with a processor and the second relationship is set.
19. The clock drift compensation unit according to claim 16 , wherein the first relationship and the second relationship are calculated with a processor.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. The first relationship and the second relationship are calculated with a processor.
20. The clock drift compensation unit according to claim 16 , wherein the computational unit is an audio echo canceller.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. The computational unit is an audio echo canceller.
21. The clock drift compensation unit according to claim 16 , wherein at least one of: the playout time device uses a statistical model to calculate the first relationship; and the capture time device uses a statistical model to calculate the second relationship.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. At least one of: the playout time device uses a statistical model to calculate the first relationship; and the capture time device uses a statistical model to calculate the second relationship.
22. The clock drift compensation unit according to claim 21 , wherein the statistical model employs linear regression that uses at least one of: a least mean square process; and a least mean square process with a loss factor for reducing round off errors.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. At least one of: the playout time device uses a statistical model to calculate the first relationship; and the capture time device uses a statistical model to calculate the second relationship. The statistical model employs linear regression that uses at least one of: a least mean square process; and a least mean square process with a loss factor for reducing round off errors.
23. The clock drift compensation unit according to claim 16 , wherein the common clock includes at least one of: a clock signal associated with the read pointer; a clock signal associated with the capture pointer; and a clock signal associated with a processor used with the computational unit.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. The common clock includes at least one of: a clock signal associated with the read pointer; a clock signal associated with the capture pointer; and a clock signal associated with a processor used with the computational unit.
24. The clock drift compensation unit according to claim 16 , wherein, the capture time corrector is further configured to: pre-calculate a set of time delay filters (h τ ) for a discrete number of residual factors (τ); and select one of the pre-calculated filters (h τ ), where the selected filter represents a filter closest to the calculated residual factor τ.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. The capture time corrector is further configured to: pre-calculate a set of time delay filters (h τ ) for a discrete number of residual factors (τ); and select one of the pre-calculated filters (h τ ), where the selected filter represents a filter closest to the calculated residual factor τ.
25. The clock drift compensation unit according to claim 16 , wherein, the first relationship and the second relationship are based on readouts of common clock, playout read pointer and capture write pointer data, and the playout time device or the capture time device are configured to weight new data more than old data when establishing the first relationship or the second relationship.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. The first relationship and the second relationship are based on readouts of common clock, playout read pointer and capture write pointer data, and the playout time device or the capture time device are configured to weight new data more than old data when establishing the first relationship or the second relationship.
26. The clock drift compensation unit according to claim 20 , wherein, the playout time corrector is further configured to, identify a sample in the samples from the computational unit closest in time to a sample in the playout time domain; and if an offset between the playout time domain and common clock time domain is not an integer, calculate a subsample (y) and provide the subsample as the found sample.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from an audio echo canceller computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. The playout time corrector is further configured to, identify a sample in the samples from the computational unit closest in time to a sample in the playout time domain; and if an offset between the playout time domain and common clock time domain is not an integer, calculate a subsample (y) and provide the subsample as the found sample.
27. The clock drift compensation unit according to claim 16 , wherein, the capture time corrector and the playout time corrector are further configured to: pre-calculate a set of time delay filters (h τ ) for a discrete number of residual factors (τ); and select one of the pre-calculated filters (h τ ), where the selected filter represents the filter closest to the calculated residual factor τ.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. The capture time corrector and the playout time corrector are further configured to: pre-calculate a set of time delay filters (h τ ) for a discrete number of residual factors (τ); and select one of the pre-calculated filters (h τ ), where the selected filter represents the filter closest to the calculated residual factor τ.
28. The clock drift compensation unit according to claim 16 , wherein, the capture time corrector is further configured to calculate the time delay filter (h τ ) for each sample.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. The capture time corrector is further configured to calculate the time delay filter (h τ ) for each sample.
29. The clock drift compensation unit according to claim 16 , wherein, the playout time device is further configured to: read a set of first data, wherein the set of first data comprises at least substantially simultaneous readouts of the common clock and the playout read pointer; and register the set of first data if complying with a set of predefined criteria.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. The playout time device is further configured to: read a set of first data, wherein the set of first data comprises at least substantially simultaneous readouts of the common clock and the playout read pointer; and register the set of first data if complying with a set of predefined criteria.
30. The clock drift compensation unit according to claim 16 , wherein, the capture time device is further configured to: read a set of second data, wherein the set of second data comprises at least substantially simultaneous readouts of the common clock and the capture write pointer; and register the set of first data and the set of second data if complying with a set of predefined criteria.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. The capture time device is further configured to: read a set of second data, wherein the set of second data comprises at least substantially simultaneous readouts of the common clock and the capture write pointer; and register the set of first data and the set of second data if complying with a set of predefined criteria.
31. The clock drift compensation unit according to claim 29 , wherein the predefined criteria is complied with if: a time between consecutive common clock readouts around a time that a data set does not exceed a predefined threshold, or a pointer increment is not abnormal.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. The playout time device is further configured to: read a set of first data, wherein the set of first data comprises at least substantially simultaneous readouts of the common clock and the playout read pointer; and register the set of first data if complying with a set of predefined criteria. The predefined criteria is complied with if: a time between consecutive common clock readouts around a time that a data set does not exceed a predefined threshold, or a pointer increment is not abnormal.
32. The clock drift compensation unit according to claim 30 wherein the predefined criteria is complied with if: a time between consecutive common clock readouts around a time of a data set does not exceed a predefined threshold, or a pointer increment is not abnormal.
A clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit. The capture time device is further configured to: read a set of second data, wherein the set of second data comprises at least substantially simultaneous readouts of the common clock and the capture write pointer; and register the set of first data and the set of second data if complying with a set of predefined criteria. The predefined criteria is complied with if: a time between consecutive common clock readouts around a time of a data set does not exceed a predefined threshold, or a pointer increment is not abnormal.
34. The teleconferencing terminal of claim 33 , further comprising: an echo canceller that includes the clock drift compensation unit.
A teleconferencing terminal further comprising: an echo canceller that includes a clock drift compensation unit for compensating different sampling rates between a playout unit and a capture unit, where the playout unit receives samples from a computational unit and the capture unit sends samples to the computational unit, including: a playout FIFO buffer operating in a playout time domain, a capture FIFO buffer operating in a capture time domain, a playout time device establishing a first relationship between a common clock and a playout FIFO buffer read pointer, a capture time device establishing a second relationship between the common clock and a capture FIFO buffer write pointer, a playout time corrector configured to, for each sample in the playout time domain, find a corresponding sample in the samples from the computational unit and send it to the playout FIFO buffer, and a capture time corrector configured to, for each sample in the common clock time domain, find a corresponding sample in the capture time domain and send it to the computational unit.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
December 18, 2008
August 20, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.