Source: http://www.google.com/patents/US7173986?ie=ISO-8859-1&dq=6272333
Timestamp: 2015-02-26 23:17:16
Document Index: 211986811

Matched Legal Cases: ['art 401', 'art 402', 'art 403', 'art 404', 'art 405', 'art 404', 'art 405']

Patent US7173986 - Nonlinear overlap method for time scaling - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsA nonlinear overlap method for time scaling to synthesize an S1[n] and an S2[n] into an S3[n] is disclosed. The S1[n] and the S2[n] having N1 and N2 signals respectively. The nonlinear overlap method includes the following steps: (a) delaying the S2[n] by a predetermined number and forming an S5[n],...http://www.google.com/patents/US7173986?utm_source=gb-gplus-sharePatent US7173986 - Nonlinear overlap method for time scalingAdvanced Patent SearchPublication numberUS7173986 B2Publication typeGrantApplication numberUS 10/605,518Publication dateFeb 6, 2007Filing dateOct 5, 2003Priority dateJul 23, 2003Fee statusPaidAlso published asUS20050025263Publication number10605518, 605518, US 7173986 B2, US 7173986B2, US-B2-7173986, US7173986 B2, US7173986B2InventorsGin-Der WuOriginal AssigneeAli CorporationExport CitationBiBTeX, EndNote, RefManPatent Citations (4), Referenced by (5), Classifications (11), Legal Events (3) External Links: USPTO, USPTO Assignment, EspacenetNonlinear overlap method for time scaling
US 7173986 B2Abstract
A nonlinear overlap method for time scaling to synthesize an S1[n] and an S2[n] into an S3[n] is disclosed. The S1[n] and the S2[n] having N1 and N2 signals respectively. The nonlinear overlap method includes the following steps: (a) delaying the S2[n] by a predetermined number and forming an S5[n], (b) establishing a correlogram of a cross-correlation function of the S1[n] and S5[n], and (c) setting S3[n] as a number of S1[n] when 0<=n<; as a number formed by overlap-adding the S1[n] and an S4[n] in a weighting manner when (the predetermined number+the maximum index+the first threshold)<=n<(N1−a second threshold); and as a number of S4 wherein the first and second thresholds are not equal to zero at the same time, and the S4[n] is formed by delaying the S5[n] by the maximum index.
1. A nonlinear overlap method for time scaling to synthesize an S3[n] signal from an S1[n] signal and an S2[n] signal, the S1[n] signal having N1 elements and the S2[n] signal having N2 elements, the method comprising:
(a) delaying the S2[n] signal by a predetermined number of elements and forming an S5[n] signal;
(b) establishing a cross-correlogram of a cross-correlation function of the S1[n] signal and the S5[n] signal, the cross-correlogram including a plurality of magnitudes, each of the magnitudes corresponding to an index; and
(c) setting the S3[n] signal as values of the elements of:
S1[n], where 0<=n<(the predetermined number+a first threshold value+a maximum index), the maximum index corresponding a largest magnitude among all of the magnitudes of the cross-corrolegram;
S1[n] weighted and added to an S4[n] signal that lags the S5[n] signal by the maximum index, where (the predetermined number+the first threshold value+the maximum index)<=n<(N1 a second threshold value); and
S4[n−(the predetermined number+the maximum index)], where (N1−the second threshold value)<=n<=(N2+the predetermined number+the maximum index);
wherein the first and second threshold values are not equal to zero at the same time.
2. The method of claim 1 wherein the S3[n] signal is equal to (N1−the second threshold value−n)/(N1−(the predetermined number+the maximum index+the first threshold value+the second threshold value))*S1[n]+(n−(the predetermined number+the maximum index+the first threshold value))/(N1−(the predetermined number+the maximum index+the first threshold value+the second threshold value))*S4[n−(the predetermined number+the maximum index)] while (the predetermined number+the maximum index+the first threshold value)<=n<(N1−the second threshold value).
3. The method of claim 1 wherein the S3[n] signal is equal to (N1−n)/(N1−(the predetermined number+the maximum index))*S1[n]+(n−(the predetermined number+the maximum index))/(N1−(the predetermined number+the maximum index))*S4[n−(the predetermined number+the maximum index)].
4. The method of claim 1 wherein the S1[n] signal and the S2[n] signal are sampled from an S1(t) signal and an S2(t) signal respectively.
5. The method of claim 4 wherein the S1(t) signal and the S2(t) signal are both derived from an original signal.
6. The method of claim 5 wherein the original signal is an audio signal.
7. The method of claim 5 wherein the original signal is a video signal.
8. The method of claim 4 wherein the S1(t) signal and the S2(t) signal are identical.
9. The method of claim 4 wherein the S1(t) signal and the S2(t) signal are different from each other.
10. The method of claim 1 wherein the predetermined number is equal to [N1/3].
11. A nonlinear overlap method for time scaling to synthesize an S3[n] signal from an S1[n] signal and an S2[n] signal, the S1[n] signal having N1 elements and the S2[n] signal having N2 elements, the method comprising:
(a) establishing a cross-correlogram of a cross-correlation function of the S1[n] signal and the S2[n] signal, the cross-correlogram including a plurality of magnitudes, each of the magnitudes corresponding to an index; and
(b) setting the S3[n] signal as values of the elements of:
S1[n], where 0<=n<(a first threshold value+a maximum index), the maximum index corresponding a largest magnitude among all of the magnitudes of the cross-corrolegram;
S1[n] weighted and added to an S4[n] signal that lags the S2[n] signal by the maximum index, where (the first threshold value+the maximum index)<=n<(N1−a second threshold value); and
S4[n−the maximum index], where (N1−the second threshold value)<=n<=(N2+the maximum index);
12. The method of claim 11 wherein the S3[n] signal is equal to (N1−the second threshold value−n)/(N1−(the maximum index+the first threshold value+the second threshold value))*S1[n]+(n−(the maximum index+the first threshold vlaue))/(N1−(the maximum index+the first threshold value+the second threshold value))*S4[n−(the maximum index)] while (the maximum index+the first threshold value)<=n<(N−the second threshold value).
13. The method of claim 11 wherein the S3[n] signal is equal to (N1−n)/(N1−the maximum index)*S1[n]+(n−the maximum index)/(N−the maximum index)*S4[n−the maximum index].
14. The method of claim 11 wherein the S1[n] signal and the S2[n] signal are sampled from an S1(t) signal and an S2(t) signal respectively.
15. The method of claim 14 wherein the S1(t) signal and the S2(t) signal are both derived from an original signal.
16. The method of claim 15 wherein the original signal is an audio signal.
17. The method of claim 15 wherein the original signal is a video signal.
18. The method of claim 14 wherein the S1(t) signal and the S2(t) signal are identical.
19. The method of claim 14 wherein the S1(t) signal and the S2(t) signal are different from each other.
The present invention relates to a signal-synthesizing method, and more particularly, to a nonlinear overlap method for time scaling.
Due to the dramatic progress in electronic technologies, an AV player such as a Karaoke can provide more and more amazing functions, such as audio clean-up, dynamic repositioning of enhanced audio and music (DREAM), and time scaling. Time scaling (also called time stretching, time compression/expansion, or time correction) is a function to elongate or shorten an audio signal while keeping the pitch of the audio signal approximately unchanged. In short, time scaling only adjusts the tempo of an audio signal.
In general, an AV player performs time scaling with one of the three following methods: Phase Vocoder, Minimum Perceived Loss Time Expansion/Compression (MPEX), and Time Domain Harmonic Scaling (TDHS). Phase Vocoder transforms an audio signal into a complex Fourier representation signal with Short Time Fourier Transform (STFT) and further transforms the complex Fourier representation signal back to a time scaled audio signal corresponding to the original audio signal with interpolation techniques and iSTFT (inverse STFT). MPEX is a method researched and developed by Prosoniq for simulating characteristics of human hearing, similar to an artificial neural network. MPEX records audio signals received for a predetermined period and tries to �learn� the audio signals, so as to either elongate or shorten the audio signals. TDHS is one of the most popular methods for time scaling. TDHS first establishes an autocorrelogram of a first audio signal, the autocorrelogram consisting of a plurality of magnitudes, and then delays the first audio signal by a maximum index corresponding to a maximum magnitude, a largest magnitude among all of the magnitudes of the autocorrelogram, to form a second audio signal, and lastly synchronizes and overlap-adds (SOLA) the first audio signal to the second audio signal to form a third audio signal longer than the first audio signal.
In a computer system, the autocorrelogram is usually established by a digital signal processing (DSP) chip designed to manage complex mathematic calculation such as convolution and fast Fourier transform (FFT). However, a process by the DSP chip to synthesize the third audio signal from the first and second audio signals is tedious and sometimes unnecessary.
It is therefore a primary objective of the claimed invention to provide a nonlinear overlap method for time scaling to efficiently synthesize a third audio signal from a first audio signal and a second audio signal without sacrificing the quality of the third audio signal dramatically.
According to the claimed invention, the nonlinear overlap method for time scaling to synthesize an S3[n] signal from an S1[n] signal and an S2[n] signal, the S1[n] signal having N1 elements and the S2[n] signal having N2 elements, comprises:
(a)delaying the S2[n] signal by a predetermined number of elements and forming an S5[n] signal;
(b)establishing a cross-correlogram of a cross-correlation function of the S1[n] signal and the S5[n] signal, the cross-correlogram including a plurality of magnitudes, each of the magnitudes corresponding to an index; and
(c)setting the S3[n] signal as values of the elements of:
S1[n], where 0<=n<(the predetermined number+a first threshold value+a maximum index), the maximum index corresponding to a largest magnitude among all of the magnitudes of the cross correlogram;
S1[n] weights and adds to an S4[n] signal that lags the S5[n] signal by the maximum index, where (the predetermined number+the first threshold value+the maximum index)<=n<(N1−a second threshold value); and
S4[n (the predetermined number+the maximum index)], where (N1−the second threshold value)<=n<=(N2+predetermined number+the maximum index);
It is an advantage of the claimed invention that the method calculates values between the first threshold and the second threshold instead of all values of the overlapped signal from A to Z to save time for a DSP chip to synthesize the S3[n] signal from the S1[n] and S2[n] signals and promote a computer where the DSP chip is installed in.
FIG. 2 is a schematic diagram demonstrating how the method synthesizes an S3[n] signal from an S1[n] signal and an S2[n] signal according to the present invention.
FIG. 3 is a schematic diagram demonstrating how the method elongates an audio signal according to the present invention.
FIG. 4 is a schematic diagram demonstrating how the method shortens an audio signal according to the present invention.
After establishing an autocorrelogram corresponding to a first audio signal and a second audio signal (or a signal lagging the first audio signal by a predetermined number), the autocorrelogram consisting of a plurality of magnitudes, a method 100 of the preferred embodiment of the present invention determines a maximum index corresponding to a maximum magnitude, a largest magnitude in the autocorrelogram, and calculates a third audio signal according to the first audio signal, the second audio signal, the maximum index, a first threshold and a second threshold. In detail, in order to save time for a digital signal processing (DSP) chip to synthesize the third audio signal from the first and second audio signals, the method 100, having determined the maximum index and delaying the second audio signal by the maximum index, does not weight and add all of an overlapped signal mixed with the first audio signal and the second audio signal as well to the second audio signal but weights and adds part (a region between the first threshold and the second threshold) of the overlapped signal to the second audio signal instead and forms the third audio signal.
Please refer to FIG. 1, which is a flow chart of a method 100 of the preferred embodiment according to the present invention. The method 100 comprises the following steps:
(An S3[n] signal is to be synthesized from an S1[n] signal and an S2[n] signal. For simplicity, the S1[n] signal and S2[n] signals are defined to contain N1 and N2 signals respectively.)
Step 104: Delaying the S2[n] signal by a predetermined number Δ and forming an S5[n] signal;
(In order to prevent run-in from occurring in a process a pickup of an A/V player reads the S3[n] signal, the method 100 delays the S2[n] signal by the predetermined number Δ then determines an maximum index τmax crucial for the process to synthesize the S3[n] signal from the S1[n] signal and the S2[n] signal. In the preferred embodiment, the predetermined number Δ is equal to [N/3].)
Step 106: Establishing an autocorrelogram of the S1[n] and S5[n] signals and delaying the S5[n] signal to form an S4[n] signal according to the maximum index τmax corresponding to a maximum magnitude in the autocorrelogram;
(The autocorrelogram comprises a plurality of magnitudes of a cross-correlation function, each of the magnitudes corresponding to a distinct index.)
Step 108: Synthesizing the S3[n] signal from the S1[n] signal and the S4[n]signal;
(The S3[n] signal is equal to
the S1[n] signal, where 0<=n<(the predetermined number Δ+a first threshold value th1+the maximum index τmax);
the S1[n] signal weights and adds to the S4[n] signal, where (the predetermined number Δ+the first threshold value th1+the maximum index τmax)<=n<(N1 a second threshold value th2); and
the S4[n] (the predetermined number Δ+the maximum index τmax)] signal, where (N1−the second threshold value th2)<=n <=(N2+the predetermined number Δ+the maximum index τmax);
wherein the first threshold value th and second threshold value th2 are not equal to zero at the same time.)
Please refer to FIG. 2, which is a schematic diagram demonstrating how the method 100 synthesizes the S3[n] signal from the S1[n] and S2[n] signals according to the present invention. In FIG. 2, a first part 401 shows the S1[n] and S2[n] signals in the step 102 of the method 100, a second part 402 shows the S1[n] and S5[n] signals calculated from the step 104 of the method 100, a third part 403 shows the maximum index τmax the S4[n] signal calculated from the step 106 of the method 100, a fourth part 404 and a fifth part 405 the S3[n] signal synthesized from the S1[n] and the S4[n] signals in the step 108 of the method 100.
The S3[n] signal shown in the fourth part 404 of FIG. 2 is equal to
( N 1 - th 2 - n ) ( N 1 - ( Δ + τ max + th 1 + th 2 ) ) * S 1 [ n ] + n - ( Δ + th 1 + τ max ) ( N 1 - ( Δ + τ max + th 1 + th 2 ) ) * S 4 [ n - ( Δ + τ max , where (the predetermined number Δ+the maximum index τmax+the first threshold value th1)<=n<(N1 the second threshold value th2).
The S3[n] signal shown in the fourth part 405 of FIG. 2 is equal to
( N 1 - n ) ( N 1 - ( Δ + τ max ) ) * S 1 [ n ] + n - ( Δ + τ max ) ( N 1 - ( Δ + τ max ) ) * S 4 [ n - ( Δ + τ max , where (the predetermined number Δ+the maximum index τmax+the first threshold value th1)<=n<(N1 the second value th2).
If the S1[n] signal is the same as the S2[n] signal and both are derived from the S[n] at an identical region, as shown on FIG. 3, the method 100 in fact elongates the S1[n]. On the contrary, if the S1[n] signal and the S2[n] signals are different from each other and are derived from the S[n] at two distinct regions respectively, as shown in FIG. 4, the method 100 in fact shortens the S1[n], an S6[n] (discarded) and the S2[n] signals into the S3[n] signal.
In contrast to the prior art, the present invention can provide a method to synthesize the S3[n] signal from the S1[n] and S2[n] signals based on the maximum index corresponding to the maximum magnitude of the autocorrelogram and the first and second threshold values for confining the overlapped signal simultaneously mixed with the S1[n] and the S2[n] signals. Instead of calculating all values of the overlapped signal from A to Z, the method calculates values between the first threshold and the second threshold to save time for a DSP chip to synthesize the S3[n] signal from the S1[n] and S2[n] signals and promote a computer where the DSP chip is installed in.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4868867 *Apr 6, 1987Sep 19, 1989Voicecraft Inc.Vector excitation speech or audio coder for transmission or storageUS5845247 *Sep 11, 1996Dec 1, 1998Matsushita Electric Industrial Co., Ltd.Reproducing apparatusUS6484137 *Oct 29, 1998Nov 19, 2002Matsushita Electric Industrial Co., Ltd.Audio reproducing apparatusUS20050273321 *Aug 8, 2002Dec 8, 2005Choi Won YAudio signal time-scale modification method using variable length synthesis and reduced cross-correlation computations* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS7835013May 16, 2008Nov 16, 2010Vanderbilt UniversityInterferometric detection system and methodUS8134707 *Oct 24, 2005Mar 13, 2012Vanderbilt UniversityOn-chip polarimetry for high-throughput screening of nanoliter and smaller sample volumesUS8445217Sep 20, 2008May 21, 2013Vanderbilt UniversityFree solution measurement of molecular interactions by backscattering interferometryUS8660515 *Nov 22, 2010Feb 25, 2014Nvidia CorporationIntegrated wireless transceiver and audio processorUS20120323585 *Jun 14, 2011Dec 20, 2012Polycom, Inc.Artifact Reduction in Time Compression* Cited by examinerClassifications U.S. Classification375/343, 704/218, 704/258, 704/E21.017International ClassificationH03D1/00, G10L13/00, G10L19/00, G10L21/04, H04L27/06Cooperative ClassificationG10L21/04European ClassificationG10L21/04Legal EventsDateCodeEventDescriptionSep 19, 2014REMIMaintenance fee reminder mailedJul 6, 2010FPAYFee paymentYear of fee payment: 4Oct 5, 2003ASAssignmentOwner name: ALI CORPORATION, TAIWANFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WU, GIN-DER;REEL/FRAME:014030/0782Effective date: 20031003RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services