[go: up one dir, main page]

WO2007086365A1 - 変換装置 - Google Patents

変換装置 Download PDF

Info

Publication number
WO2007086365A1
WO2007086365A1 PCT/JP2007/050963 JP2007050963W WO2007086365A1 WO 2007086365 A1 WO2007086365 A1 WO 2007086365A1 JP 2007050963 W JP2007050963 W JP 2007050963W WO 2007086365 A1 WO2007086365 A1 WO 2007086365A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
circuit
similarity
segments
segment
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.)
Ceased
Application number
PCT/JP2007/050963
Other languages
English (en)
French (fr)
Inventor
Ryoji Suzuki
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to US12/091,420 priority Critical patent/US8073704B2/en
Priority to JP2007555937A priority patent/JP5096932B2/ja
Publication of WO2007086365A1 publication Critical patent/WO2007086365A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/04Time compression or expansion

Definitions

  • the present invention belongs to the technical field of audio speed conversion technology, and relates to improving the ease of listening to reproduced audio.
  • Audio speed conversion technology is a technology that changes only the duration while maintaining the basic frequency (pitch) of audio, and improves the sound quality during trick playback in video and music playback devices. It is adopted. Hereinafter, conventional speed conversion will be described.
  • audio data is divided into multiple periods, and each period is divided into 12 ms segments.
  • each period is divided into five segments A, B, C, D, and E
  • the similarity is calculated for the combination of segments belonging to these same periods, and the segments belonging to this period are calculated. Which combination has the highest degree of similarity is determined.
  • A, B, C, D, and E the combination of B and C has the highest similarity
  • superposition is performed so that B and C are reproduced simultaneously. This superposition is obtained by multiplying segment B existing in time by a window function that gradually decreases in time, and multiplying segment C existing in time by a window function that increases in time by two. This is done by adding the segments.
  • Patent Document 1 Japanese Patent Laid-Open No. 5-80796
  • Patent Document 2 JP-A-4-104200
  • Non-Patent Document 1 Suzuki, Misaki “Realization of high-quality voice speed conversion system by DSP", IEICE Technical Report, SP90-34 (199O)
  • the speed conversion as described above is linear when, for example, a period is determined for a target signal and a target to be superimposed is selected from a plurality of segments belonging to the period.
  • the segment to be overlapped is selected uniformly with respect to the audio data playback time axis.
  • the sound that is played back may become strange sound that occurs when the recording tape is turned early or later, and the content is easy to hear. It is hard to say that it is adequately guaranteed.
  • An object of the present invention is to provide a conversion device that can be reproduced with a desired length of time while maintaining ease of listening to the contents.
  • the conversion device regenerates the playback period of a part of a plurality of segments constituting the original audio data by re-sending another segment.
  • the segment processing means for superimposing the lifetime and the combination of segments that are the targets of superposition and the powerful segments that are not subject to the superposition, the audio data that is the conversion result is arranged in time series.
  • a pair of segments that are the targets of superposition and a powerful segment that is not the target of superposition have a non-linear relationship on the time axis of the original audio data. It is characterized by this.
  • Non-linear selection is possible, in which many voices to be superimposed are selected from the voiced sections in which vowels are uttered, and no segments are selected from the voiced sections in which consonants are uttered. It is possible to superimpose vowel generation and non-speech intervals that are partly distributed in audio data, so the time length of audio data can be expanded and contracted without changing the frequency of the original sound too much. That's right.
  • the segment to be superposed is selected in a non-linear manner in the audio data force, the wider the audio data section that is subject to speed conversion, the more the range becomes the subject of superposition. A set of segments will be selected.
  • the superposition target is not limited to the inside of the period, and therefore, more efficient decompression Z compression is possible compared to the speed conversion.
  • the conversion device includes a calculation unit that generates a plurality of combinations of segments constituting original audio data and calculates a similarity for each combination, and the combination of segments to be overlapped is a plurality of combinations.
  • the highest similarity calculated by the calculation means is the highest, and the above-mentioned powerful segment that is the target of superposition is calculated by the calculation means among the combinations of multiple segments.
  • the high degree of similarity that has been made is the result of a higher rank.
  • the conversion device includes a selection unit that selects a set of segments to be superposed from audio data.
  • the selection unit selects one, and each time a difference in time between segments in the set is selected.
  • the combination of segments to be overlapped is selected as the selection means repeats the selection of the combination of segments, provided that the cumulative value of the time difference does not exceed the target time length. It is a feature.
  • the conversion device is incorporated in a reproduction device that performs reproduction output of video and audio as a conversion device for audio, and the reproduction device includes a conversion device for video that performs speed conversion of video reproduction.
  • the video conversion device is characterized in that speed conversion is performed by outputting a part of a plurality of frames constituting video data while being frozen or skipped.
  • the frame image is partially frozen or skipped, so that the time axis
  • the speed conversion is performed almost uniformly, that is, linearly.
  • the display of video data is smooth and smooth with simple processing, and audio data has a natural transition similar to the speed transition when a human changes the speech rate. Speed conversion will be performed.
  • FIG. 1 is a diagram showing an internal configuration of a playback device in which a conversion device is incorporated.
  • FIG. 2 is a diagram showing a plurality of segments selected by nonlinear selection.
  • FIG. 3 A diagram showing how the assembling force of the segments selected in FIG. 2 is superimposed.
  • FIG. 4 is a diagram showing a segment selection log.
  • FIG. 5] (a) is a diagram showing three combinations of XI and X2, which are selected as having the highest similarity when performing time axis extension.
  • FIG. 6] (a) is a diagram showing three combinations of XI and X2, which are selected when time axis compression is performed.
  • FIG. 7 is a flowchart showing a speed conversion processing procedure when time axis extension ⁇ 1).
  • FIG. 8 is a flowchart showing a detailed processing procedure of processing for calculating an optimal time difference TLopt and a least square error R_min for each processing unit i.
  • FIG. 9 is a flowchart showing a processing procedure for selecting a set of segments in descending order of similarity from the highest similarity R (j) obtained for each time ATd.
  • FIG. 10 is a flowchart showing a processing procedure for performing a weighted addition on a segment set selected as having a high degree of similarity and outputting it.
  • FIG. 11 (a) Indicates the part that is output in the first round of step S739.
  • step S739 The portion that is output in the second and subsequent executions of step S739 is shown.
  • FIG. 12 This is a flowchart showing the processing procedure when speed conversion is performed by time axis compression ( ⁇ 1).
  • FIG. 13 is a flowchart of a process for calculating an optimal time difference TLopt and a least square error R_min for a processing unit i.
  • FIG. 14 is a flowchart showing a processing procedure for selecting a segment set in descending order of similarity from the highest similarity R (j) obtained for each time ATd.
  • FIG. 15 is a flowchart showing a processing procedure for performing a weighted addition and outputting to a set of segments selected as having a high degree of similarity.
  • step S839 The portion that is output in the second and subsequent executions of step S839 is shown.
  • FIG. 17 is a diagram showing an internal configuration of a conversion apparatus according to a second embodiment.
  • FIG. 18 is a diagram illustrating an internal configuration of the similarity calculation circuit 105 when the similarity evaluation function is a square error.
  • FIG. 19 is a diagram showing an internal configuration of the similarity calculation circuit 105 when the similarity evaluation function is a correlation function.
  • 20 is a diagram showing an internal configuration of the determination circuit 106.
  • FIG. 21 is a diagram showing an internal configuration of a playback device in which the conversion device according to the third embodiment is incorporated.
  • FIG. 22 is a diagram showing an example of a setup menu for speed conversion.
  • FIG. 23 is a diagram schematically showing a system LSI incorporating the internal structure of the playback device shown in the third embodiment.
  • FIG. 24 is a diagram showing a state in which the system LSI manufactured as shown in FIG. 23 is incorporated in a device.
  • the speed conversion by the conversion device reads the original audio data recorded on a rewritable recording medium such as a semiconductor memory card or HDD, and sets the read original audio data to an uncompressed state.
  • the segment of the segment constituting the uncompressed audio data thus obtained is selected in a non-linear manner with respect to the audio data playback time axis, and the segment belonging to the time range Tr specified by the user is selected. This is done by overlapping and outputting powerful pairs of segments.
  • the output power of the segment thus produced becomes audio data for trick playback.
  • the audio data for trick playback is audio data that is played instead of the original audio data when the playback device performs trick playback, and the original audio data that has been converted. Data is written to the recording medium in a state associated with the time range Tr and the ratio oc of the playback time axis before and after the speed conversion.
  • the playback device plays back the trick playback recorded on the recording medium.
  • the original audio data, the time range Tr, and the speed ratio ⁇ in trick playback can be taken out and reproduced instead of the original audio data.
  • the audio data for trick playback that has been created in advance can be read out from the recording medium and used for playback, so that the user can hear the voice during trick playback with clean voice.
  • the trick playback audio data is intended to be temporarily stored and played back, so the speed conversion by the conversion device does not necessarily have to be performed in real time.
  • FIG. 1 is a diagram showing an internal configuration of a playback device in which a conversion device is incorporated.
  • the playback device includes a storage circuit 1, a video / audio separation circuit 2, a video decoding circuit 3, an audio decoding circuit 4, a storage circuit 6, and a control circuit 7.
  • the storage circuit 1 stores video data compressed by an encoding method such as MPEG2-Video and MPEG4-AVC and audio data compressed by an encoding method such as MPEG2-AAC and Dolby Digital. Yes, desired video data and audio data are output based on the address value output by the control circuit.
  • the video / audio separation circuit 2 receives the video data and audio data output from the storage circuit 1, outputs the video data to the video decoding circuit 3, and outputs the audio data to the audio decoding circuit 4.
  • the video decoding circuit 3 decodes the video data output from the video / audio separation circuit 2 into a video signal.
  • the audio decoding circuit 4 decodes the audio data output from the video / audio separation circuit 2 into audio data and stores the audio data in the storage circuit 6.
  • the control circuit 7 is a one-chip microcomputer composed of an MPU and a ROM card that supplies an instruction code to the MPU. Predetermined among uncompressed audio data obtained on the memory by decoding of the voice decoding circuit. Speed conversion is applied to the specified time range Tr. In this speed conversion, a segment set having a high degree of similarity is selected non-linearly from a set of segments existing in a predetermined time range Tr of audio data, and is subjected to weighted addition. [0029] The present invention is characterized in that a segment to be superposed is selected by nonlinear selection. Hereinafter, the principle of this nonlinear selection will be schematically described.
  • FIG. 2 is a diagram showing a plurality of segments selected by non-linear selection.
  • the first level shows the audio signal level corresponding to the target audio data
  • the second level shows the segment to be selected when nonlinear selection is performed on this audio data
  • the third level Indicates the segment to be selected when linear selection is performed on this audio data.
  • the set of segments selected for superposition is shown with notes and stitches. If attention is paid to the location of the hatched segments, in the third row, the combination of segments to be superimposed is selected from the period specified by " ⁇ ". This means that in linear selection, a set of segments to be overlapped is uniformly selected from segments belonging to a certain period in the audio data.
  • the set of segments selected as the object of superposition is shown with hatching. If attention is paid to the location of the hatched segments, in the second stage, the portion of the audio signal level in the first stage where the peak value is below the threshold (referred to as a silent section) is superimposed. It can be seen that the target group is selected. This indicates that in non-linear selection, a set of segments to be overlapped is intensively selected from the silent section regardless of the fixed period in the audio data.
  • FIG. 3 shows how the combined strength of the segments selected in FIG. 2 is superimposed.
  • the first row in this figure shows the overlay by nonlinear selection, and the second row shows the overlay by linear selection. These first and second tiers particularly show the part of the audio data shown in FIG. 2 where the voiced section switches to the silent section.
  • the B / C in the second row indicates the set of segments to be overlapped when performing linear selection. If attention is paid to the location of this B / C, the thread stretch of the segment to be superimposed is uniformly selected from the period belonging to the sounded section and the period belonging to the silent section. I can tell you.
  • a / B and C / D in the first stage are the targets of superposition when performing nonlinear selection.
  • the set of segments to be If attention is paid to the location of A / B and C / D, the set of segments to be overlapped is intensively selected from the periods belonging to the silent period. It turns out that it is not chosen.
  • the characteristics of the section that is the target of nonlinear selection is that the correlation between the segments is high, or the least square error is low. The nature is recognized. Such high correlation or low least square error is called “high similarity”.
  • high similarity is called “high similarity”.
  • a group of segments with high similarity is selected for nonlinear selection. It is said.
  • Equation 1 indicates a square error calculation for calculating the similarity. However, since (Equation 1) is simple, the unit time and the sampling period are expressed as equal.
  • Equation 2 represents the calculation of the correlation function for calculating the similarity. However, since (Equation 2) is simple, the unit time and the sampling period are expressed as equal.
  • the section in which the power of similarity is high is not necessarily a silent section, and the sound section in which vowels are unevenly distributed also has high similarity.
  • number IX number 2 is adopted as the degree of similarity, there is a possibility that the degree of similarity in a section with another characteristic will increase.
  • an interval in which the similarity calculated in this way is high is selected.
  • the similarity is high, the force to select a segment, the similarity is low! change. From now on, unless otherwise noted, the least square error will be adopted as the high degree of similarity, and whether such similarity is high will be the criterion for segment selection.
  • Equation 3 is applied in the case of ⁇ 1
  • Equation 4 is ⁇ 1 It is applied in the case of.
  • ⁇ 1 When performing time axis expansion, ⁇ 1, and when performing time axis compression, ⁇ ⁇ 1.
  • the left side is the target time length of the audio data
  • the right side is the total of the segment time lengths. Therefore, the set of segments that satisfy formula 3 and formula 4 is Thus, the degree of similarity is calculated, the combination of segments is ranked based on the degree of similarity, and selection according to this order is repeated.
  • the similarity is calculated for Xl (l) to Xl (Ts) and X2 (l) to X2 (Ts).
  • the choices are Xl (l) to Xl (Ts), X2 (l) to X2 (Ts) It is made for.
  • Wl (n) is a gradually increasing window function
  • W2 (n) is a gradually decreasing window function
  • Ts means the number of segments.
  • the calculation of similarity and the selection of segments are made for Xl (l) to Xl (Ts) and X2 (l) to X2 (Ts).
  • the superposition in 6 is also performed on Xl (l) to Xl (Ts) and X2 (l) to X2 (Ts).
  • the present invention is positioned as the creation of technical ideas because the segment to be overlapped is nonlinear with the time axis as described above.
  • the hardware configuration and software configuration disclosed in this specification are one of those that are considered to be reasonable when the creation of such a technical idea is implemented in an actual playback device. Only.
  • the implementation by software when the MPU performs speed conversion is described below.
  • time axis extension In the case of time axis extension, XI is moved with reference to time-sequential X2. The reason why the reference segment is selected as described above is to fix X2 and move XI on the playback time axis. As a result, the time length can be changed in the range from the maximum delay time TLmax to the minimum delay time TLmin while maintaining continuity between X2 and the part before X2.
  • TLmax, TLmin, and segment length will be described.
  • the range that the fundamental frequency of audio signals can take is said to be approximately 50-500 Hz. Therefore, the longest cycle of the audio signal is 20 msec, which is the reciprocal of 50 Hz, and the shortest cycle is 2 msec, which is the reciprocal of 500 Hz.
  • the time length of segments XI and X2 as described above is set to 12 msec, between 2 msec and 20 msec.
  • the minimum delay time TLmin is set to a time length of 2 msec or less of the shortest cycle, and the maximum delay time TLmax is set to a time length of 20 msec or more.
  • the segment search may not be performed to match the phase between the segments in the range where the delay time is 2 msec or less and the force is also 20 msec or more, and the speed conversion is not performed by software or hardware.
  • the maximum delay time TLmax is also preferably set to a value obtained by adding or subtracting a predetermined time to the longest cycle of the input signal, that is, a value near the longest cycle.
  • X2 is moved with reference to XI that precedes in time.
  • the reason for selecting the reference segment as described above is to fix XI and move X2 along the playback time axis. This makes it possible to change the time length between XI and X2 within the range from the maximum delay time TLmax to the minimum delay time Tljnin, while maintaining continuity between XI and the part before XI. it can.
  • the position of the auxiliary segment with the highest similarity is expressed by the optimum delay time TLopt.
  • FIG. 4 shows the segment selection log.
  • the appending unit of this log is configured by associating the similarity R (i) and the selection flag M (i) with the combination of the XI start time and the X2 start time.
  • the first additional unit in the log in the figure corresponds to the combination of the time AAAA and the time BB BB with the CCCC similarity and the selection flag of the value “ ⁇ ”.
  • the next additional writing unit is a combination of the time AAAA 'and the time BBBB' in which the CCCC 'similarity and the selection flag of the value "1" are associated.
  • Figure 5 shows the values of XI, X2, Tl_max, Tl_min, and TLopt that can be taken on the time axis.
  • Fig. 5 (a) is a diagram showing three combinations of XI and X2, which are selected as having the highest similarity when performing time axis extension.
  • Reference numerals 507, 508, and 509 in this figure denote signal sections that should be X2. Of these, 507 is separated from the head of the audio data by the interval TLmax, 508 is separated by 507 force by a predetermined interval A Td, and 509 is also separated from 508 by a predetermined interval A Td.
  • This predetermined interval A Td is, for example, an interval exceeding TLmax.
  • XI exists somewhere from the point separated by TLmax from the point of X2 to the point separated by Tljnin.
  • 502_i is the first pointer that points to the first time point of XI
  • 503_i is the second pointer that points to the first time point of X2 when X2 is located at 507. Since 502_i is the time at which 50 3j—TLmin's calculation power is calculated, the time at which power is applied is initially set in the first pointer.
  • the second pointer is fixed at the position described above, and the first pointer is updated to move within the range where XI is input.
  • "" In the figure schematically shows that XI gradually moves from _min force to _max. By such movement, a search is made for a position having the highest similarity.
  • 504_max is the occupation range of XI calculated from the calculation of 503_i-TLmax when X2 is located at 507 described above.
  • 504_min When X2 is located at 507 described above, it is the occupation range of XI calculated from the calculation of 503_i-Tl_min.
  • 504_opt is the occupation range of XI when the similarity is the highest when XI moves in the range from 504_max to 504_min, and the leading position is 503j-Tl_opt.
  • TLopt is a value obtained by searching for a pair of segments with high similarity in the movement range of XI as described above, and means the time difference between XI and X2 at that time.
  • 502_i + l is the value of the first pointer indicating the start time of XI.
  • 503_i + l is the value of the second pointer indicating the start time of X2 ′. Since 502J + 1 is the time calculated from the calculation of 503J + 1—TLmin, the time to earn is initially set in the first pointer.
  • 505_min to 505_max indicates the range that XI 'can take. In other words, by fixing the second pointer at the above position and updating the first pointer, XI 'is moved within this range. "" In the figure schematically shows that the XI 'force gradually moves between these _min and _max. By such movement, the position where the similarity is the highest is searched.
  • 505_max is the occupation range of XI calculated from the calculation of 503_i + l -TLmax when X2 'is located at 508 described above.
  • 505_min is the occupation range of XI calculated from the calculation of 503 j + 1-TLmin when X2 'is located at 508!
  • 505_opt is the occupation range of XI 'when the similarity is the highest when XI, moves in the range from 505_max to 505_min, and its start position is 503J + 1-T1 -opt . If X2 'is located at 508, this 505_opt force will be derived.
  • 502_i + 2 is the value of the first pointer indicating the start time of XI "
  • 503_i + 2 is the value of the second pointer indicating the start time of X2 of X2". Since 502_i + 2 is the time calculated from the calculation of 503_i + 2—Tl_min, the time to earn is initially set in the first pointer.
  • the range from 506_min to 506_max indicates the range that XI "can take. In other words, the second pointer is fixed at the above-mentioned position and the first pointer is updated, so that XI" is moved within the range to be used. .
  • 506_max is the occupancy range of XI "calculated from the calculation of 503J + 2—TLmax when X2" is located at 509 described above.
  • 506_min is located at 509 where X2 "is located above 503_i + 2— XI "occupancy range calculated from TLmin calculation.
  • 506_opt is an occupation range of XI "when the similarity is the highest in moving the range from 506_max to 506_min, and the head position thereof is 503J + 2 ⁇ TLopt.
  • ⁇ 1, ⁇ 2, ⁇ 1 ', ⁇ 2' After selecting ⁇ 1, ⁇ 2, ⁇ 1 ', ⁇ 2' in Fig. 5 and selecting ⁇ 1 ", ⁇ 2", if the cumulative Tas 1S target time length exceeds Ta, X1 ", X2" will be selected Target power is also lost. As a result, the set of ⁇ 1, ⁇ 2, ⁇ 1 ', ⁇ 2' becomes the target of superposition.
  • ⁇ 3 and ⁇ 4 are sections that are output as they are by selecting the combination of ⁇ , ⁇ 2, ⁇ 1 ', and ⁇ 2'.
  • FIG. 5 (b) is a diagram schematically showing an operation to be performed when X1 and X2 are to be superimposed.
  • the operations “XI” and “W1” in the figure indicate the operation of multiplying XI (510) by a gradually decreasing window function.
  • the size of the quadrilateral representing XI represents the amount of data of XI
  • the size of the triangle representing W1 represents the reduction ratio due to W1. In other words, when W1 is multiplied by XI, XI is reduced to the size of the triangle corresponding to W1.
  • the operations “X2” and “W2” in the figure indicate the operation of multiplying X2 (511) by a gradually increasing window function 513.
  • the size of the square representing X2 represents the amount of data of X2
  • the size of the triangle representing W2 represents the reduction ratio due to W2. In other words, when W2 is multiplied by X2, X2 is reduced to the size of a triangle corresponding to W2.
  • FIG. 5 (c) shows the superimposed output when XI, X2 and XI ′, X2 ′ are selected as shown in FIG. 5 (a).
  • the output signal is “X2 ⁇ X1” output section, “XO” output section, “X2 ' ⁇ X1'” output section, “X3” output section, “X2” ”output section,“ X4 ”output power.
  • X2 ⁇ X1 in the figure is an addition output of “X1 XW1” and “X2 XW2”.
  • X2, ⁇ X1 in the figure is an addition output of “X1, XW1” and “X2, XW2”.
  • X3 is output as it is.
  • Fig. 6 (a) is a diagram showing three combinations of XI and X2, which are selected when time axis compression is performed.
  • Reference numerals 604, 605, and 606 denote sections where XI exists. X2 exists somewhere from the time point separated by Tl_max with respect to the position of XI to the time point separated by TLmin.
  • 602_i is a first pointer that points to the start time of XI
  • 603_i is a second pointer that points to the start time of X2.
  • the second pointer is initialized to a value of 602_i + Tl_min.
  • the range from 607_min to 607_max indicates the range that X2 can take. In other words, by fixing the first pointer at the above position and updating the second pointer, X2 is moved within this range. “” In the figure schematically shows that X2 moves gradually from _min to _max. By such movement, a search is made for a position with the highest similarity.
  • 607_max is the occupation range of X2 calculated from the calculation of 602_i + Tl_max when XI is located at 604 described above.
  • 607_min is the occupation range of X2 calculated from the calculation of 602_i + Tl_min when XI is positioned at 604 described above.
  • 607_opt is the occupation range of X2 when the similarity is the highest when X2 moves in the range from 607_max to 607_min, and the leading position is 602j + Tl_opt.
  • XI and X2 be Xl and X2.
  • 602_i + l is the first pointer that points to the beginning time of XI 'when XI, is located at 605
  • 603_i + l is the second pointer that points to the beginning time of X2'. This second pointer is initially set to the value 602_i + l + Tl_min. Determined.
  • 608_min is the occupation range of X2 ′ calculated from the calculation of 602_i + l + Tl_max when XI ′ is located at 605 described above.
  • 608_min is the occupation range of X2 ′ calculated from the calculation of 602j + l + Tl_min when XI is located at 605 described above.
  • 608_opt is the occupation range of X2 'when the similarity is the highest in moving the range from 608_max to 608_min, and the head position is 602_i + l + Tl_opt'. If the first pointer points to 602J + 1 and is located at XI 'force 605, this 608_opt will be derived for the first pointer at that position.
  • XI and X2 be Xl "and X2".
  • 602_i + 2 is a first pointer that points to the start time of XI "
  • 603J + 2 is a second pointer that points to the start time of X2".
  • the range from 609_min to 609_max indicates the range that X2 "can take. That is, by fixing the first pointer at the position described above and updating the second pointer, X2" is moved within this range. It is. “” In the figure schematically shows that X2 moves gradually from _min to _max, and at such a position, the degree of similarity becomes the highest.
  • 609_max is the occupancy range of X2 "calculated from the calculation of 602J + 2 + Tl_max when XI" is located at 606 described above.
  • 609_min is located at 606 where XI "is described above In this case, it is the occupation range of X2 "calculated from the calculation of 602_i + 2 + Tl_min.
  • 609_opt is the occupation range of X2 "when the similarity is the highest when X2" moves in the range from 609_max to 609_min, and the leading position is 602_i + 2 + Tl_opt. If the first pointer points to 602_i + 2 and XI "is located at 606, a powerful 609_opt force is derived for the first pointer at that position. [0070] After X1, X2 and ⁇ 1 ', ⁇ 2' in Figure 6 are selected, if ⁇ 1 ", ⁇ 2" is selected, and if the cumulative Tas exceeds Ta, X1 ", X2" are not selected. It becomes.
  • ⁇ 1, ⁇ 2, ⁇ 1 ', ⁇ 2' becomes the target of superposition.
  • ⁇ 3 and ⁇ 4 are sections that are output as they are when the combination of ⁇ 1, ⁇ 2, ⁇ 1 ', and ⁇ 2' is selected. Since ⁇ 1, ⁇ 2, ⁇ 1 ', and ⁇ 2' have been selected, ⁇ is connected between ⁇ 2 and XI, and ⁇ 3 is connected between ⁇ 2, and XI ". ⁇ 1 "and ⁇ 2" are not selected, so ⁇ 4 is all after X2 '.
  • FIG. 6 (b) is a diagram schematically showing an operation to be performed when X1 and X2 are to be superimposed.
  • the operations “XI” and “W2” in the figure indicate the operation of multiplying XI (610) by the gradually decreasing window function 612.
  • the size of the square representing XI represents the amount of data for XI
  • the size of the triangle representing W2 represents the reduction ratio due to W2. In other words, when XI is multiplied by W2, XI is reduced to the size of a triangle corresponding to W2.
  • Operations "X2" and X “W1" in the figure indicate operations to multiply X2 (611) by a gradually increasing window function 613.
  • the size of the rectangle representing X2 represents the amount of data of X2
  • the size of the triangle representing W1 represents the reduction ratio due to W1. In other words, when W1 is multiplied by X2, X2 is reduced to the size of the triangle corresponding to W1.
  • the operation “+” in the figure indicates addition of “X1 XW2” and “X2 XW1”.
  • the added signal “XlZX2” is the sum of XI reduced by W2 and X2 reduced by W1.
  • FIG. 6 (c) shows the superimposed output when XI and X2 and XI ′ and X2 ′ are selected as shown in FIG. 6 (a).
  • the output signals in this figure are “X1ZX2” output section, “XO” output section, “X1 'ZX2'” output section, and “X4” output section force.
  • X1ZX2 in the figure is an addition output of “X1 XW2” and “X2 XW1”. “XO” is output as is.
  • X1′ZX2 ′ in the drawing is an addition output of “X1′XW2” and “X2′XWl”. “X4” in the figure is output as it is.
  • the gap between XI and X2 is separated by XI and X2 force TLmax, and the segment time length is intermediate between TLmin and TLmax. It must be a condition. In order for XI and X2 to overlap, XI and X2 must be separated by TLmin, and the segment time length must be an intermediate value between TLmin and TLmax. That is, in FIGS. 5 and 6, the segment length is set on the condition that the shortest cycle of the audio signal and the intermediate value of the longest cycle are set.
  • Fig. 7 is a flow chart showing the speed conversion processing procedure when time-axis extension ⁇ 1). These steps in the flowcharts of FIGS. 7 to 10 are distinguished from the steps of the flowcharts of FIGS. 12 to 15 by attaching reference numerals in the 700s.
  • step S702 the time axis conversion ratio a is read, and in step S703, a value after the maximum time difference TLmax of the start point is initialized to the second pointer.
  • step S704 the processing unit counter i is initialized to the initial value 0.
  • Step S700, Step S715 to Step S721 constitute a loop with Step S720 as an end condition and variable i as a control variable. Step S704 gives initial conditions to this loop.
  • Step S700 calculates the optimum time difference TLopt and the least square error R_min for the processing unit i.
  • step S715 the time when the second pointer force is also subtracted from the optimal time difference TLopt is stored as the start time XI (i) of the first segment in the processing unit i.
  • step S716 the time of the second pointer is stored in the processing unit. Let the start time of the second segment at i be X2 (i). .
  • step S717 the obtained least square error R_min is stored as the similarity R (i) in the processing unit i.
  • step S718 "0" indicating unselected is set as the selection M (i) in the processing unit i.
  • Step S719 advances the second pointer by time ATd.
  • Step S720 is a step of comparing the end point with the time obtained by adding the processing unit time length Ts to the second pointer, and defines the loop termination condition. This loop is repeated as long as the time force end point is not exceeded by adding the time length Ts of the processing unit to the second pointer. I understand. If the end point is exceeded, the process proceeds to step S750. As described above, in this loop, the second pointer is changed in increments of A Td to calculate how much the least square error R (i) is at each coordinate on the time axis. I understand that.
  • Step S750 is further similar to the highest similarity R (j) obtained for each time ATd until the cumulative extension time Tas reaches the required extension time Ta obtained based on (Equation 3). Select a set of segments in descending order.
  • step S751 a set of segments selected as having a high degree of similarity is weighted and output.
  • FIG. 8 is a flowchart showing a detailed processing procedure for calculating the optimum time difference TLopt and the least square error R_min for the processing unit i.
  • Step S705 is a step of initializing the least square error R_min to the initial value N, and step S706 initializes the time difference T1 to the initial value TLmax.
  • Steps S707 to S714 form a loop with step S714 as an end condition and variable T1 as a control variable.
  • Step S707 is a step of inputting Ts segments starting from (second pointer-T1), and step S708 is inputting Ts segments starting from the second pointer. It is a step to do. Through this step, Xl (l) to Xl (Ts) and X2 (l) to X2 (Ts) shown in Equations 1 and 2 are input.
  • step S709 the square error R (T1) of XI and X2 at the time difference T1 is calculated based on (Equation 1).
  • Step S710 is a comparison between the least square error R_min and the square error R (T1), and switches between force skipping to execute step S711 and step S712.
  • step S711 and step S712 are executed, but if larger, these steps are skipped and the process proceeds to step S13.
  • Step S711 is a step of updating the least square error R_min using the square error R (T1).
  • Step S712 is a step of updating the time difference T1 as the optimum time difference TLopt.
  • Step S713 reduces the time difference T1 by one sample.
  • Step S714 is a judgment step when comparing the time difference T1 and the minimum time difference TLmin. The end condition of this loop is that step S714 is judged Yes. If the time difference T1 is not smaller than the minimum time difference TLmin, the process returns to step S707 and the execution of this loop is continued. If the time difference T1 is smaller than the minimum time difference TLmin, the process returns to the flowchart of FIG. 7 and proceeds to step S715, thereby changing the time difference T1 within the range of the maximum time difference TLmax force minimum time difference TLmin. T1 changes the numerical range up to Tljnax force TLmin, and the first pointer is determined by the second pointer-T1, so the first pointer changes the numerical range from the second pointer -TLmax to the second pointer-TLmin To do.
  • step S750 is performed when a combination of a plurality of segments satisfying the following (Equation 3) is selected, and the procedure is shown in the flowchart of FIG.
  • FIG. 9 is a flowchart showing a processing procedure for selecting a set of segments in descending order of similarity from the highest similarity R (j) obtained for each time ATd.
  • Steps S722 to 736 are loop processing for changing the processing unit i every time ATd in the range from the start point to the end point.
  • step S722 a necessary extension time Ta for obtaining the time axis conversion ratio a is calculated.
  • step S723 the cumulative extension time Tas is initialized to the initial value 0.
  • Steps S724 to S736 constitute the first loop with step S736 as the end condition and variable Tas as the control variable. Step S723 gives initial conditions to this first loop.
  • step S724 similarity R is initialized to initial value N, processing unit counter j is initialized to initial value 0, and processing unit k is initialized to -1.
  • This j indicates the target of processing among the combinations of XI and X2 specified by the variables starting from 0.
  • Steps S727 to S732 form a second loop in which step S732 is an end condition and variable j is a control variable.
  • Step S724 gives initial conditions to the second loop. In this second loop, j is changed in the range from 0 (step S731, step S732), and R is updated using R (j) that is minimized (step S728, step S732). S729).
  • the minimum j is stored as k.
  • Step S727 is a step for determining whether or not the selection flag M (j) of the j-th processing unit is 0! / ⁇ , and switches between whether to execute step S728 and step S729 or to skip.
  • j changes in the same numerical range, that is, the numerical range from 0 to the side, so there is a possibility that the same combination of XI and X2 overlaps. Power to eliminate powerful duplicate selection It is the role of this step S727.
  • Step S728 is a step of comparing the similarity R with the similarity R (j) in the processing unit j, and switches between the ability to execute step S729 and skipping.
  • the least square error is used as the similarity, so in this step, whether R (j) is smaller than R, that is, the comparison in this step is based on the formula R> R (j). The content is expressed. If similarity R is lower than similarity R (j) (square error is large), the process proceeds to step S729. If the similarity R is higher than the similarity R (j) (the square error is not large), step S729 is skipped and the process proceeds to step S731.
  • Step S729 updates similarity R with similarity R (j) in processing unit j, and updates selected processing unit k to processing unit j.
  • Step S731 is a step of incrementing the variable j.
  • Step S732 is a comparison between i and the processing unit counter j, and defines the end condition of the second loop. After exiting the loop processing as described above, i becomes a value indicating the total number of processing units! /. If the total number of processing units is smaller than the processing unit j, the process returns to step S727 to continue this loop. If i indicating the total number of processing units is smaller than the processing unit j, the process proceeds to step S733 and exits from this norpe.
  • Step S733 is a determination as to whether or not the selection processing unit k is negative, and defines the termination condition of such a loop.
  • the negative selection processing unit k means that k has never been updated in the second loop. In this case, the process of this flowchart is complete
  • Step S735 is a step of setting 1 to the selection M (k) of the k-th processing unit selected as having a high degree of similarity and updating the cumulative extension time Tas. Is updated by adding the time difference between the start time of X2 (k) in the kth processing unit and the start time of XI (k) in the kth processing unit. Since this addition is repeatedly executed in the first loop, the accumulated power Tas of the time difference between XI and X2 is obtained.
  • Step S736 is a determination as to whether or not the required extension time Ta after the update exceeds the cumulative extension time Tas. If not, the process returns to step S724 to continue the loop, and the next highest similarity segment is determined. Select a pair. If it exceeds, the process of this flowchart ends, assuming that the loop end condition is satisfied.
  • step S728, step S729) is executed when the selection flag M (j) is set to 0. Therefore, in step S735, When Tas is updated and M (j) is updated to 1, the value of j once selected is excluded from the selection. Then, in the second round of the first loop, X (j), which is the second smallest value, is set to the similarity R, and in the third round, X (j, the third smallest value X) j) will be set to similarity R. By doing this, the combination of XI and X2 is selected in ascending order of similarity R.
  • Step S751 is a procedure for executing superposition based on the following (Equation 5) for the set of segments, and a detailed flowchart thereof is shown in FIG.
  • FIG. 10 is a flowchart showing a processing procedure for performing a weighted addition and outputting to a set of segments selected as having a high degree of similarity.
  • the power of sorting segment pairs in descending order of similarity cannot be output in chronological order in the order of high similarity, so in Fig. 10, the second pointer is By re-setting to the start point + Tl_max, the segment combination is re-selected as a time series and is the target of superposition.
  • Step S737 sets a start point in the second pointer.
  • the processing unit counter j is initialized to the initial value 0.
  • Steps S739 to S746 form a loop with step S746 as the end condition and variable j as the control variable! /
  • step S739 the audio data is input and output as it is until just before the start time of X2 (j) in the jth processing unit, starting from the second pointer.
  • Step S740 is a step for determining whether or not the selection flag M (j) is set to 1 !, and determines whether or not to execute the process of steps S741 to S744 as it is.
  • M (j) those that are selected in the flowchart of the previous figure are M (j) is " ⁇ , and those that are not selected are M (j) is" 0 ".
  • the similarity of the processing unit j is high.
  • Steps S 741 to S 744 are executed as a selection target.
  • step S741 to step S744 are skipped and step S745 is selected.
  • Step S741 inputs Ts segments constituting XI (j) of the j-th processing unit.
  • step S742 Ts segments constituting X2 (j) of the j-th processing unit are input.
  • Xl (l) to Xl (Ts) and X2 (l) to X2 (Ts) shown in Equations 1 and 2 are applied to force S.
  • step S743 superposition is executed based on Equation 5. Specifically, Xl (l) to Xl (Ts) input in steps S741 and S742 are multiplied by Wl (l) to Wl (Ts) and X2 (l) to X2 (Ts) Is multiplied by W2 (l) to W2 (Ts), and these multiplication results are added to output Y (l) to Y (Ts) as the addition results.
  • step S744 the time length Ts of the processing unit is added to the beginning time of XI (j) of the j-th processing unit indicated by the first pointer, and the second pointer immediately follows the end time of XI (j). Set to.
  • Step S745 increments the variable j.
  • Step S746 is a comparison between i indicating the total number of processing units and the processing unit counter j, and defines the end condition of the second loop. If i indicating the total number of processing units is smaller than the processing unit j, the process returns to step S739 and this loop is continued. If i indicating the total number of processing units is smaller than the processing unit j, the process proceeds to step S747 and exits from this loop.
  • Step S747 outputs the second pointer as it is to the end point as the start point.
  • FIGS. 11 (a) to 11 (c) are diagrams showing which part of the audio data is output by the flowchart of FIG.
  • Fig. 11 shows the portion that is output in the first round of step S739.
  • the second pointer points to the start point, so as shown in this figure, the interval that is output as it is is until the start point force just before the second pointer.
  • (b) shows the part that is output in the second and subsequent executions of step S739. Step S739 When the second and subsequent rounds are executed, the second pointer points to the starting point + Ts of Xl (j). ) From the first point to the point just before X20 + 1).
  • FIG. 11 (c) shows the portion that is output in the execution of step S747.
  • the second pointer points to the start point + Ts of Xl (j), so as shown in this figure, the interval that is output as is is the end point immediately after Xl (j). Up to.
  • Step S707 and Step S714 the time difference between the two segments is changed by one sample from TLmin to TLmax, and the similarity between the two segments is changed to (Equation 1) or (Equation 2).
  • the two segments with the highest similarity are searched for, and the start time of the first segment that has the highest similarity at step S715 XI (0 is stored, and the highest at step S716.
  • the start time X2 (i) of the second segment having the similarity is stored, and the similarity R (i) when the similarity is the highest in step S717 is stored.
  • Step S722 Tora Step S736 has a particularly high degree of similarity among the various combinations of segments in the input audio data, and is optimal for weighted addition. Since a segment set can be preferentially selected, there is an effect that there are few voice omissions and voice duplications, and there is little deterioration in sound quality.
  • a segment set having a high similarity value is generally unevenly distributed in the silent section and the vowel generation section. Therefore, it should be similar to the speed transition when the human changes the utterance speed. If you can!
  • a set of segments is selected in descending order of similarity, so the time difference TLopt between the segments with the highest similarity is determined and weighted addition is performed. Since the selection of segment sets to be performed is performed using a single evaluation scale called similarity, the processing complexity and processing amount can be reduced.
  • step S741 Xl (l) to Xl (Ts) are input from the starting point of XI (j) of the j-th processing unit.
  • step S742 j2 processing unit X2 (j ) From the start point, X2 (1) to X2 (T s) are input, and as a result of superimposing them, the time length of the audio data output with weighted addition in any case is set to a certain processing unit. The time length can be reduced to Ts, and the sound quality is unlikely to deteriorate.
  • the above is the processing procedure for performing time axis extension.
  • Fig. 12 is a flowchart showing the processing procedure when speed conversion is performed by time axis compression ( ⁇ 1). These steps in the flowcharts of FIGS. 12 to 15 are distinguished from the steps of the flowcharts of FIGS. 7 to 10 by attaching reference numerals in the 800s.
  • Step S801 reads the time axis conversion ratio ⁇ .
  • Step S802 initializes the value of the start point to the first pointer.
  • the processing unit counter i is initialized to an initial value 0.
  • Steps S800 and S815 to S821 constitute a loop in which step S820 is an end condition and variable i is a control variable.
  • Step S800 calculates an optimal time difference TLopt and a least square error R_min for the processing unit i.
  • Step S815 stores the time of the first pointer as the start time of XI (i) in the processing unit i.
  • step S816 the time when the optimal time difference TLopt is stored in the first pointer is stored as the start time of X2 (i) in the processing unit i.
  • step S817 the obtained least square error Rjnin is stored as the similarity R (i) in the processing unit i.
  • Step S818 stores 0 indicating unselected as selection M (i) in processing unit i.
  • Step S819 advances the first pointer by time ATd.
  • Step S820 is a comparison between the end point and the time when the maximum time difference TLmax and the processing unit time length Ts are calculated in the first pointer, and defines the end condition of this loop. If it is determined that the end point is smaller than the time obtained by adding the maximum time difference TLmax and the processing unit time length Ts to the first pointer, the process exits this loop and proceeds to step 850. If it is determined that the value is larger, the process proceeds to step S821.
  • Step S850 is a step of selecting a segment set based on Equation 4.
  • step S851 the set of segments selected as having a high degree of similarity is subjected to weighted addition and output.
  • step S800 is to select a plurality of segment combinations, and the processing procedure is shown in the flowchart of FIG.
  • FIG. 13 is a flowchart of a process for calculating the optimum time difference TLopt and the least square error Rjnin for the processing unit i.
  • step S805 the least square error Rjnin is initialized to an initial value N.
  • step S806 the time difference T1 is initialized to the initial value Tl_max.
  • steps S807 to S814 form a loop with step S814 as an end condition and variable T1 as a control variable.
  • step S807 Ts segments constituting the processing unit XI are input using the first pointer as a starting point. Specifically, Xl (l) to Xl (Ts) are input.
  • step S808 Ts segments constituting the processing unit X2 are input starting from (first pointer + T1). Specifically, X2 (l) to X2 (Ts) are input.
  • Step S809 calculates the square error R (T1) of XI and X2 at the time difference T1 based on (Equation 1).
  • step S810 the least square error Rjnin and the square error R (T1) are compared, and the step S811 and the force skipping step S812 are switched. is there.
  • steps S811 and 812 are executed, and if not, these steps are executed.
  • step S811 the square error R (T1) is updated as a new least square error R_min.
  • step S812 updates the time difference T1 as the optimum time difference TLopt.
  • Step S813 decreases the time difference T1 by one sample.
  • Step S814 compares the time difference T1 and the minimum time difference TLmin and defines the termination condition of this loop. If the time difference T1 is not smaller than the minimum time difference TLmin, the process returns to step S807 to continue this loop. When the time difference T1 is smaller than the minimum time difference TLmin, the process of this flowchart is finished.
  • FIG. 14 is a flowchart showing a processing procedure for selecting a set of segments in descending order of similarity from the highest similarity R (j) obtained for each time ATd. This flow chart is to select a combination of multiple segments that satisfy the following (Equation 4). (Equation 4) shows the selection of segment pairs in descending order of similarity from the highest similarity R (j) obtained for each time ATd until the cumulative extension time Tas reaches the required reduction time Ta. Means to do.
  • Step S822 calculates the necessary shortening time Ta to obtain the time axis conversion ratio a based on (Equation 4).
  • the cumulative shortening time Tas is initialized to the initial value 0.
  • Steps S824 to S835 constitute a loop in which step S835 is an end condition and variable Tas is a control variable. Step S823 gives initial conditions to this loop.
  • step S824 the similarity R is initialized to the initial value N, the processing unit counter j is initialized to the initial value 0, and the selected processing unit k is initialized to -1.
  • Steps S827 to S832 form a loop with step S832 as the end condition and variable j as the control variable.
  • the selection flag M (j) for the j-th processing unit is 0! / , Whether or not to skip step S828 and step S829. If the selection flag M (j) for the j-th processing unit is 1, the j-th processing unit has already been selected, and step S828 and step S829 are skipped and the process proceeds to step S831. jth If the processing unit selection flag M (j) is 0, it is determined that it has not been selected, and the flow proceeds to step S828.
  • Step S828 is a comparison between the similarity R and the similarity R (j) in the processing unit j, and switches whether to skip the force of executing step S829.
  • the least square error is used as the similarity. Therefore, in this step, whether R (j) is smaller than R or not, that is, R> R (j) Is expressed. If similarity R is higher than similarity R (j) (square error is not large), skip step S829 and proceed to step S831, where similarity R is lower than similarity R (j) (square error) If is large V), execute step S829.
  • step S829 the similarity R is updated using the similarity R (j) in the processing unit j, and the selected processing unit k is updated using the processing unit j.
  • Step S831 is a step of incrementing the processing unit j by 1
  • step S832 is a comparison between i indicating the total number of processing units and the processing unit counter j, and defines the end condition of the second loop. If i indicating the total number of processing units is not smaller than the processing unit j, the process returns to step S827 to continue this loop. If i indicating the total number of processing units is smaller than the processing unit j! /, The process proceeds to step S833 to exit the loop.
  • Step S833 is a determination as to whether the selection processing unit k is negative, and defines the end condition of this flowchart. If k is negative, it is determined that the weighted addition processing has been completed for all the processing units, and the processing of this flowchart ends. If the selected processing unit k is not negative, the weighted addition is completed, and if there is a processing unit, the process proceeds to step S834.
  • step S834 the selection of the k-th processing unit selected as having high similarity M (k) is set to 1, and the first time of the k-th processing unit X2 (k) is set to the accumulated shortening time Tas, and k The accumulated shortening time Tas is updated by adding the time difference from the first time of the processing unit XI (k).
  • Step S835 is a comparison between the required shortening time Ta and the cumulative shortening time Tas, and specifies the termination requirements for this flow chart and loop. If the required shortening time Ta is greater than the cumulative shortening time Tas, return to step S824 to select the next set of segments with the highest similarity, and if the necessary shortening time Ta is not greater than the cumulative shortening time Tas, similar A high degree of segment The flow chart and the loop are finished assuming that the selection of the event set is finished.
  • step S851 Details of the processing procedure of step S851 will be described.
  • Step S851 is a procedure for executing superposition based on (Expression 6) as described above for a set of segments, and a detailed flowchart thereof is shown in FIG.
  • FIG. 15 is a flowchart showing a processing procedure for performing weighted addition and outputting to a segment set selected as having a high degree of similarity.
  • step S837 the first pointer is set as the start point, and in step S838, the processing unit counter j is initialized to the initial value 0.
  • the power of sorting segment pairs in descending order of similarity cannot be output in chronological order in the order of high similarity, so in Fig. 15, the first pointer By resetting to the start point, the segment combination is re-selected in time series and is the target of superposition.
  • Steps S839 to S846 form a loop with step S846 as the end condition and variable j as the control variable. Step S838 gives initial conditions to this loop.
  • step S839 the audio data is input and output as it is immediately before the start time of XI (j) of the j-th processing unit, starting from the first pointer.
  • Step S840 is a determination as to whether or not 1 is set in the selection flag M (j), and the power for executing steps S841 to S844 and whether to skip these steps are switched.
  • step S841 to step S844 processing of step S841 to step S844 is executed on the assumption that the similarity of the processing unit j is high. If the selection flag M (j) is set to T, and if the similarity of the processing unit j is not selected to be high, skip the processing from step S841 to step S844 and proceed to step S845. .
  • Step S841 inputs Ts segments constituting the processing unit XI, starting from XI (j) of the j-th processing unit. Specifically, Xl (l) to Xl (Ts) are input.
  • step S842 Ts segments constituting the processing unit X2 are input starting from X2 (j) of the j-th processing unit. Specifically, X2 (l) to X2 (Ts) are input.
  • Step S843 executes superposition based on (Equation 6). Specifically, Xl (l) to Xl (Ts) input in steps S841 and S842 are multiplied by W2 (l) to W2 (Ts). , X2 (l) to X2 (Ts) are multiplied by Wl (l) to Wl (Ts), and the multiplication results are added, and the addition result Y (l) to Y (Ts) is output. To do.
  • step S844 the processing unit time length Ts is added to the start time of the processing unit X2 (j) indicated by the second pointer, and the time immediately after the end time of X2 (j) is used as the first pointer. Set.
  • step S845 the processing unit counter j is incremented by one.
  • Step S846 is a comparison between i indicating the total number of processing units and the processing unit counter j. If i indicating the total number of processing units is smaller than the processing unit j, the process returns to step S839 to execute this loop. Continue.
  • step S847 If it is smaller than the processing unit j indicating the total number of processing units, in step S847, the audio data up to the end point is output as it is with the first pointer as the starting point, and then the processing of this flowchart is finished.
  • the unit time and sampling period are expressed as equal.
  • FIGS. 16 (a) to 16 (c) are diagrams showing which part of the audio data is output according to the flowchart of FIG.
  • Figure 16 (a) shows the part that is output in the first round of step S839.
  • the section that is output as it is is the start point force until just before Xl (j).
  • the part between XI and X2 is not output.
  • FIG. 16 (b) shows a portion that is output in the second and subsequent executions of step S839.
  • Step S839 When the second and subsequent rounds are executed, the first pointer points to the start point + Ts of X2 (j). ) Until immediately before X10 + D. There is no output between Xl (j) and X2 (j) and between X1G + 1) and X2 (j + 1).
  • FIG. 16 (c) shows a portion that is output in the execution of step S847.
  • the first pointer points to the start point + Ts of X2 (j), so as shown in this figure, the section that is output as it is is the end from X2 (j) and immediately after it. Up to a point.
  • step S835 From the highest and similarities R (j) obtained for each time ATd until the cumulative shortened time Tas reaches the shortened time Ta, the segment pairs are selected in descending order of similarity. Only the number of segments that perform weighted addition necessary to obtain the time axis conversion ratio a can be selected, and audio data of an arbitrary time length is output before and after the weighted segments. There is also an effect that the conversion ratio can be changed with high precision and accuracy.
  • a set of segments having a high similarity value is generally unevenly distributed in the silent section and the vowel generation section. Therefore, it is possible to resemble a speed transition when a human changes the utterance speed. If you can!
  • the time length of the audio data output that has been weighted and added can be set to the time length Ts of a certain processing unit, and the sound quality is hardly deteriorated.
  • the second embodiment relates to an improvement when the speed conversion described in the first embodiment is implemented using dedicated hardware.
  • FIG. 17 is a diagram showing an internal configuration of the conversion device according to the second embodiment.
  • the conversion device according to the second embodiment includes a storage circuit 101, a switch circuit 102, FF memory circuit 103, FF memory circuit 104, similarity calculation circuit 105, decision circuit 106, window function generation circuit 107, switch circuit 108, switch circuit 109, multiplier circuit 110, multiplier circuit 11 1, adder circuit 112, switch circuit 113, an output buffer circuit 114, a speed setting circuit 115, a parameter storage circuit 116, a pointer value calculation circuit 117, a pointer control circuit 118, a control signal generation circuit 119, and a parameter selection circuit 120.
  • These components in the internal configuration diagram of FIG. 17 are given reference numerals in the 100s to distinguish them from the components in the internal configuration diagram of FIG.
  • the storage circuit 101 stores audio data. Based on the address value and time length output from the pointer control circuit 118, the storage circuit 101 stores audio data having a desired start point and time length. Output.
  • the switch circuit 102 selects the output destination of the audio data output from the storage circuit 101 from the buffer memory circuit 103, the buffer memory circuit 104, and the switch circuit 113.
  • the buffer memory circuit 103 stores Ts segments XI output from the switch circuit 102.
  • the buffer memory circuit 104 stores Xs of Ts segments output from the switch circuit 102.
  • the similarity calculation circuit 105 includes the XI stored in the buffer memory circuit 103 and the buffer memory circuit 104 when the time difference T1 between the two segments is in the range from the minimum time difference TLmin to the maximum time difference TLmax. Calculate the similarity with X2 stored in.
  • the judgment circuit 106 judges the force that is the highest of the similarities output so far by the similarity calculation circuit 105 and detects the combination of XI and X2 corresponding to the highest similarity.
  • the XI start time, the X2 start time, and the similarity are output to the parameter storage circuit 116.
  • Window function generation circuit 107 outputs a gradually increasing window function and a gradually decreasing window function.
  • the switch circuit 108 When the switch circuit 108 is closed, the switch circuit 108 outputs the XI stored in the notch memory circuit 103 to the multiplication circuit 110. When opened, XI stored in the nother memory circuit 103 is not output to the multiplication circuit 110.
  • the switch circuit 109 outputs the X2 stored in the notch memory circuit 104 to the multiplication circuit 111 by closing. When the switch circuit 109 is opened, X2 stored in the nother memory circuit 104 is not output to the multiplication circuit 111.
  • the multiplication circuit 110 is stored in the parameter storage circuit 116, and the window function generation circuit 107 outputs the segment XI output from the storage circuit 101 based on the parameter selected by the parameter selection circuit 120. Multiply one window function.
  • the multiplication circuit 111 is stored in the parameter storage circuit 116, and the other window output from the window function generation circuit 107 for the segment X2 output from the storage circuit 101 based on the parameter selected by the parameter selection circuit 120. Multiply function.
  • the adder circuit 112 adds the XI multiplied by the window function by the multiplier circuit 110 and the multiplier circuit 111. Add X2 multiplied by the window function.
  • the switch circuit 113 selects one of the output of the adder circuit 112 and the output of the switch circuit 102 and outputs it to the output buffer circuit 114.
  • the output buffer circuit 114 temporarily accumulates the result of weighted addition of XI and X2, which is the output from the switch circuit 113, and outputs the result after adjusting the speed.
  • the speed setting circuit 115 stores a time axis conversion ratio ⁇ (output time length / input time length) input in accordance with a user operation via a GUI or the like.
  • the noram storage circuit 116 stores the segment selection log shown in FIG.
  • the appending unit of this log is the same as in Fig. 4, and is configured by associating the similarity (0 and selection flag M (i) with the combination of the starting time of XI and the starting time of ⁇ 2.
  • the speed setting circuit 115 calculates the similarity when the determination circuit 106 detects the highest value and the address values corresponding to the two segments output by the pointer control circuit 118.
  • the pointer value calculation circuit 117 receives the segment start time used to obtain it from the decision circuit 106 and the pointer value calculation circuit 117, respectively, creates an additional unit from the received similarity and start time, and selects this Add to log.
  • the pointer value calculation circuit 117 calculates the address values of the two segments for which the similarity calculation circuit 105 should obtain the similarity, and outputs it to the pointer control circuit 118. Also, based on the parameters recorded in the parameter memory circuit 116, the address value and time length of the combination of XI and ⁇ 2, which have high similarity, are calculated, and the address value and time length of the consecutive segments before and after that are calculated. To the pointer control circuit 118.
  • the pointer control circuit 118 outputs the first pointer and the second pointer described in the first embodiment to the storage circuit 101 based on the address value calculated by the pointer value calculation circuit 117.
  • the memory circuit 101 is controlled so that XI and ⁇ 2 are read based on the first and second pointers. Further, based on the time length calculated by the pointer value calculation circuit 117, processing for updating the first pointer and the second pointer is performed.
  • the control signal generation circuit 119 controls the switch circuits 102, 108, 109, and 113.
  • the similarity calculation circuit 105 calculates the similarity
  • the switch circuit 102 is brought down to the buffer memory circuit 103 side or the buffer memory circuit 104 side,
  • the switch circuit 108 and the switch circuit 109 are opened.
  • the switch circuit 102 When the addition result by the adder circuit 112 is output, as switch control, the switch circuit 102 is brought down to the buffer memory circuit 103 side or the nother memory circuit 104 side, the switch circuit 108 and the switch circuit 109 are closed, and the switch circuit 113 is closed. Defeat it on the 112 side.
  • the switch control is such that the switch circuit 102 is tilted to the switch circuit 113 side and the switch circuit 113 is tilted to the switch circuit 102 side. Become.
  • the parameter selection circuit 120 selects as many segment sets as the number of sets that provides the time-axis conversion ratio a set in the speed setting circuit in descending order of similarity.
  • a selection target is any one of a plurality of segments existing in the time range Tr in which the start time is stored in the parameter storage circuit 116.
  • the above is a diagram illustrating the hardware configuration of the conversion apparatus according to the present embodiment.
  • FIG. 18 is a diagram illustrating an internal configuration of the similarity calculation circuit 105 when a square error is employed as the similarity evaluation function.
  • the processing unit XI stored in the buffer memory circuit 103 is sequentially input to the shift register memory circuit 201.
  • the processing unit XI input to the shift register memory circuit 201 is Ts segments. ⁇ 1 (1), ⁇ 1 (2), ⁇ 1 (3) ⁇ 'Xl (Ts-l), Xl (Ts) Consists of
  • the processing unit X2 stored in the buffer memory circuit 104 is sequentially input to the shift register memory circuit 202.
  • X2 input to the shift register memory circuit 202 is Ts segments, from ⁇ 2 (1), ⁇ 2 (2), ⁇ 2 (3) ... 'X2 (Ts-l), X2 (Ts) Composed.
  • the subtraction circuits 203_l to 203_Ts are stored in the shift register memory circuit 201 with Xl (l), ⁇ 1 (2), ⁇ 1 (3) ... 'Xl (Ts-l), Xl (Ts) is stored in shift register memory circuit 202 ⁇ 2 (1), ⁇ 2 (2), ⁇ 2 (3) ⁇ ⁇ ⁇ .X2 (Ts- l), an operation to reduce the X2 (Ts), executes Ts pieces simultaneously.
  • the multiplication circuits 204_l to 204_Ts square the outputs of the subtraction circuits 203_l to 203_Ts.
  • the adder circuit 205 calculates the sum of the outputs of the multiplier circuits 204_l to 204_Ts and outputs the result as a square error.
  • the calculation of the square error performed by the similarity calculation circuit 105 follows (Equation 1) described in the first embodiment. The above is the description of the internal configuration of the similarity calculation circuit 105 when a square error is adopted as the similarity.
  • FIG. 19 is a diagram illustrating an internal configuration of the similarity calculation circuit 105 when a correlation function is used as the similarity evaluation function.
  • the segment XI stored in the buffer memory circuit 103 is sequentially input to the shift register memory circuit 301.
  • the processing unit XI input to the shift register memory circuit 301 is Ts segments. ⁇ ⁇ ⁇ ⁇ ⁇ 1 (1), ⁇ 1 (2), ⁇ 1 (3) ⁇ 'Xl (Ts-l), Xl (Ts) Consists of
  • the segments stored in the buffer memory circuit 104 are sequentially input to the shift register memory circuit 302.
  • the processing unit X2 input to the shift register memory circuit 302 is Ts segments, ⁇ 2 (1), ⁇ 2 (2), ⁇ 2 (3) ... 'X2 (Ts—l), X2 (Ts) Consists of
  • the multiplication circuits 303_l to 303_Ts are the Xl (l), ⁇ 1 (2), ⁇ 1 (3) ⁇ 'Xl (Ts-l), Xl (Ts) stored in the shift register memory circuit 301 and the shift register ⁇ ⁇ 2 (1), ⁇ 2 (2), ⁇ 2 (3) ⁇ 'X2 (Ts-l), X2 (Ts) stored in the memory circuit 302 are simultaneously multiplied by Ts.
  • the adder circuit 304 calculates the sum of the outputs of the multiplier circuits 303_l to 303_Ts, and outputs the result as a correlation function.
  • the calculation of the correlation function performed by the similarity calculation circuit 105 follows (Expression 2) described in the first embodiment. The above is the description of the internal configuration of the similarity calculation circuit 105 when the correlation function is adopted as the similarity.
  • FIG. 20 is a diagram illustrating an internal configuration of the determination circuit 106, which includes a similarity memory circuit 401, a comparison circuit 402, and a maximum / minimum memory circuit 403.
  • the similarity memory circuit 401 stores the similarity calculated by the similarity calculation circuit 105.
  • the maximum / minimum memory circuit 403 stores a maximum value or a minimum value of similarity.
  • the maximum / minimum memory circuit 403 stores the minimum value when the evaluation function is a square error, and the comparison circuit 402 stores the maximum value when the evaluation function is a correlation function.
  • the comparison circuit 402 compares the current similarity output from the similarity memory circuit 401 with the maximum or minimum value of the similarity in the past stored in the maximum / minimum memory circuit 403. As a result of this comparison, the similarity stored in the similarity memory circuit 401 on condition that the similarity stored in the similarity memory circuit 401 is greater than the maximum value or less than the minimum value. Is written into the maximum / minimum memory circuit 403 to update the maximum value or minimum value in the maximum / minimum memory circuit 403. In the update, the parameter storage circuit 116 is instructed to store the current start time of XI and the start time of X2 as a candidate for a set of segments having a high degree of similarity.
  • the above is the internal configuration of the determination circuit 106. This concludes the description of the hardware configuration for executing the speed conversion.
  • similarity calculation circuit 105 is compared with XI stored in buffer memory circuit 103 and X2 stored in buffer memory circuit 104. The similarity is calculated. Next, the determination circuit 106 detects a set of segments indicating the highest value of the similarity from the similarities output by the similarity calculation circuit 105.
  • the parameter storage circuit 116 uses the start time of the two segments used for the pointer value calculation circuit 117 to obtain the address values corresponding to the two segments and the similarity of the segments as one additional unit. Append to the selection log in.
  • the parameter selection circuit 120 is set in the speed setting circuit 115 in the descending order of similarity from a plurality of similarities obtained at a plurality of different times within a predetermined time range Tr stored in the parameter storage circuit 116. Select as many segment sets as the number of sets that provides the desired time axis conversion ratio a.
  • the selection flag in the additional recording unit corresponding to the selected segment is set to ON, and the selection flag in the additional recording unit corresponding to the unselected segment is set to OFF.
  • the set of segments corresponding to the additional write unit set to ON is output after being weighted and added by the multiplier circuit 110, the multiplier circuit 111, and the adder circuit 112, and in other sections.
  • the segment is output as it is.
  • time-axis conversion ratio a 4/3
  • Xl (l) to Xl (Ts) and X2 (l) to X2 (Ts) are the buffer memory circuit based on the pointer 502_i and the pointer 503_i output from the pointer control circuit 118 in the i-th processing unit. 103 and the buffer memory circuit 104.
  • the time difference with respect to X2 is changed in the range up to TLmin force TLmax, and XI is taken in, and the similarity calculation circuit 105 calculates the similarity between XI and X2.
  • the determination circuit 106 searches for a value having a high degree of similarity, and the time difference between XI and X2 at that time is calculated as TLopt.
  • the similarity evaluation function is a square error
  • the determination circuit 106 detects the minimum value of the square error output from the similarity calculation circuit 105, and when the similarity evaluation function is a correlation function, the determination circuit 106 The maximum value of the correlation function output by the similarity calculation circuit 105 is detected by 106.
  • the parameter storage circuit 116 stores the similarity value when the determination circuit 106 detects the highest similarity, the XI start time, and the X2 start time.
  • the decision circuit 106 searches for a value with high similarity, and the time difference between XI 'and X2' at that time becomes TLopt '.
  • the value of the similarity when the determination circuit 106 detects the highest similarity, the start time of XI ′, and the start time of X2 ′ are stored in the parameter storage circuit 116.
  • the parameter selection circuit 120 compares the values of the similarities in the i + 2nd processing unit stored in the parameter storage circuit, and selects a segment set from the one with the higher similarity. Go. Until the time length of the output signal reaches the time axis conversion ratio a (output time length / input time length) set in the speed setting circuit 115 with respect to the time length of the input signal, the parameter selection circuit 120 ( Based on equation (3), the selection of a segment set with high similarity is repeated.
  • the address value is calculated by the pointer value calculation circuit 117.
  • the time length Ts X2 (511) and XI (510) The data is read from the memory circuit 101 and output to the notch memory circuit 104 and the buffer memory circuit 103.
  • the window function generation circuit 107 outputs a gradually increasing window function 512 and a gradually decreasing window function 513.
  • the multiplication circuit 110 outputs a window function generation circuit for XI (510) stored in the buffer memory circuit 103.
  • the multiplication function 111 is multiplied by the gradually increasing window function 512 output by 107, and the multiplication circuit 111 multiplies X2 (511) stored in the buffer memory circuit 104 by the gradually decreasing window function 513 output by the window function generation circuit 107. Output.
  • the addition circuit 112 outputs an addition result 514 obtained by adding the output of the multiplication circuit 110 and the output of the multiplication circuit 111 to the output buffer circuit 114.
  • the pointer control circuit 118 reads out from the storage circuit 101 XO (516) having the sample following XI as the start point and the sample immediately before the start point of X2 ′ as the end point, and outputs it to the output buffer circuit 114.
  • the address value is obtained by the pointer value calculation circuit 117 on the basis of the start time of the segments 1X1 and X2 of the segment stored in the parameter storage circuit 116, and the pointer control circuit 118 outputs the address value.
  • X2 ′ and XI of time length Ts are read from the storage circuit 101 and output to the nother memory circuit 104 and the buffer memory circuit 103.
  • the window function generation circuit 107 outputs a gradually increasing window function 512 and a gradually decreasing window function 513
  • the multiplication circuit 110 outputs a window function generation circuit 107 for XI ′ stored in the buffer memory circuit 103. Multiply by the increasing window function 512 output by.
  • the multiplier circuit 111 multiplies X2 ′ stored in the buffer memory circuit 104 by the gradually decreasing window function 513 output by the window function generator circuit 107, and the adder circuit 112 outputs the output of the multiplier circuit 110 and the multiplier circuit 1
  • a signal 517 obtained by adding the 11 outputs is output to the output buffer circuit 114.
  • the pointer control circuit 118 starts from the sample following XI ', and ends at the sample immediately before the start point of X2 "(519).
  • Audio data X4 (520) starting from the sample that follows is read from the memory circuit 101 and output to the output buffer circuit 114
  • Xl (l to Ts) and X2 (l to Ts) are read out to the buffer memory circuit 103 and the buffer memory circuit 104 with reference to the pointer 602_i and the pointer 603_i output from the pointer control circuit 118.
  • X2 can range from 607_min delayed by TLmin to 607_max delayed by TLmax with respect to XI indicated at 604.
  • TLmin force X2 is taken in while changing the time difference by one sample up to TLmax. Then, the similarity calculation circuit 105 obtains the similarity with XI. If the similarity between XI and X2 is calculated in this way, the determination circuit 106 searches for a value having a high similarity. As a result, the time difference between XI and X2 is TLopt.
  • the similarity evaluation function is a square error
  • the determination circuit 106 detects the minimum square error output from the similarity calculation circuit 105, and when the similarity evaluation function is a correlation function, the determination circuit 106 106 detects the maximum value of the correlation function output from the similarity calculation circuit 105.
  • the parameter storage circuit 116 stores the similarity value, the XI start time, and the X2 start time when the determination circuit 106 detects the highest similarity.
  • the time difference for delaying X2 'from XI' is one sample at a time from TLmin to TLmax
  • the similarity calculation circuit 105 finds the similarity with XI ′, and the decision circuit 106 searches for a value with a high similarity, and the time difference between XI ′ and X2 ′ at that time becomes TLopt ′, which is stored in the meter.
  • the circuit 116 stores the similarity value, the start time of XI, and the start time of X2 ′ when the determination circuit 106 detects the highest similarity.
  • the pointer 602_i output from the pointer control circuit 118 in the (i + 2) th processing unit +2 and pointer 603_i + 2 are used as a reference, and the parameter storage circuit 116 sets the similarity value, the start time of XI ", and the start of X2" when the determination circuit 106 detects the highest similarity. Memorize the time. In the example of FIG. 6, the search is finished. Next, the parameter selection circuit 120 compares the i-th and second i + 2 processing units stored in the parameter storage circuit with high similarity and compares them. A high degree of power will also select a segment set.
  • the parameter selection circuit 120 (number Based on 4), the selection of a set of segments with high similarity is repeated.
  • the parameter selection circuit 120 Judgment is made and a flag is selected in the meter storage circuit 116.
  • the pointer value calculation circuit 117 obtains an address value, and the address value corresponding to the two segments output by the pointer control circuit 118 XI (610) and X2 (611) of time length Ts are read from the memory circuit 101 and output to the buffer memory circuit 103 and the buffer memory circuit 104.
  • the window function generation circuit 107 outputs a gradually decreasing window function 612 and a gradually increasing window function 613, and the multiplication circuit 110 outputs the window function generation circuit 107 to XI (610) stored in the buffer memory circuit 103. Multiply by the gradually decreasing window function 612 and output. Multiplier circuit 111 multiplies X2 (611) stored in nother memory circuit 104 by a gradually increasing window function 613 output from window function generator circuit 107, and adder circuit 112 outputs the output of multiplier circuit 110. A signal 614 obtained by adding the output of the multiplier circuit 111 is output to the output buffer circuit 114.
  • the pointer control circuit 118 reads X0 (616) having the sample following X2 as the start point and the sample immediately before the start point of XI ′ as the end point from the storage circuit 101, and outputs it to the output buffer circuit 114.
  • the pointer value calculation circuit 117 obtains an address value based on the segment heads 1X1 and X2 of the segment stored in the parameter storage circuit 116, and pointer control is performed. Based on the address values of the two segments output from the control circuit 118, XI and X2 ′ having the time length Ts are read from the storage circuit 101 and output to the buffer memory circuit 103 and the buffer memory circuit 104.
  • the window function generation circuit 107 outputs a gradually decreasing window function 612 and a gradually increasing window function 613
  • the multiplication circuit 110 outputs a window function generation circuit 107 for XI ′ stored in the buffer memory circuit 103. Multiply by the gradually decreasing window function 612 and output.
  • the multiplication circuit 111 multiplies X2 ′ stored in the buffer memory circuit 104 by the gradually increasing window function 613 output from the window function generation circuit 107, and the addition circuit 112 outputs the multiplication circuit 110 and the multiplication circuit 1
  • a signal 617 obtained by adding the output of 11 is output to the output buffer circuit 114.
  • the pointer control circuit 118 reads out the audio data X4 (618) starting from the sample subsequent to X2 ′ from the storage circuit 101 and outputs it to the output buffer circuit 114.
  • the above processing may be repeated until the input signal is completed, or the above processing may be performed once for all input signals.
  • the parameter storage circuit 116 stores the similarity value detected by the determination circuit 106 when the similarity is the highest, the XI start time, and the X2 start time.
  • the selection circuit 120 compares the similarity values in the processing units at different times stored in the parameter storage circuit 116, and selects a set of segments in order from the highest similarity. As a result, it is possible to preferentially select a segment set having a high degree of similarity and weighted addition from various segment combinations within a certain range of the input signal. There is an effect that there is little sound quality degradation.
  • the parameter selection circuit 120 selects a segment set having a higher similarity value from among a plurality of high similarity segment sets obtained at a plurality of different times stored in the parameter storage circuit 116. , (Equation 3) or (Equation 4) is selected based on the number of sets for which the desired time-axis conversion ratio a is obtained, so that the desired time-axis conversion ratio a can be finely and accurately changed. is there.
  • a segment set having a high similarity generally generates a silent section or a vowel. Since it is unevenly distributed in the section, there is an effect that can be made similar to the transition of speed when a human changes the speaking speed!
  • the similarity calculation circuit 105 determines the time difference between the segments with high similarity and selects a segment set for weighted addition, using the similarity and a single evaluation scale, If you can reduce the complexity and amount of processing!
  • the pointer value calculation circuit 117 calculates an address, and a set of segments having high similarity from the storage circuit 101 to the buffer memory circuit 103 and the buffer memory circuit 104. Since (XI, X2) is read out, the time length of the output of the adder circuit 112 can be set to the time length Ts of a fixed processing unit in any case, and there is an effect that the sound quality is hardly deteriorated.
  • the speed conversion is realized in one or more doors. Therefore, by realizing a part or all of the pipeline configuration of the hardware configuration, the speed conversion is realized. High speed conversion can be achieved.
  • This embodiment relates to an improvement in the case where the conversion device for audio reproduction shown in the first embodiment or the second embodiment is incorporated in a reproduction device that reproduces video and audio.
  • FIG. 21 is a diagram showing an internal configuration of a playback device in which the conversion device according to the third embodiment is incorporated.
  • the playback device according to this embodiment includes a memory circuit 1 and a video.
  • An audio separation circuit 2, a video decoding circuit 3, an audio decoding circuit 4, an audio speed conversion device 5, a video speed conversion device 8, a control circuit 9, and a speed setting circuit 115 are included.
  • the video speed conversion device 8 performs speed conversion processing on the video signal output from the video decoding circuit 3 based on the time axis conversion ratio a output from the speed setting circuit 115.
  • the video frame is output repeatedly (freezes) when the time base is a time base conversion ratio a> 1, and the video frame is output when the time base compression is a time base conversion ratio a ⁇ 1. This can be done by skipping (skipping) and outputting.
  • the B-picture decoding process in the video decoding circuit 3 can be omitted by skipping the B-picture.
  • the speed conversion process in the video speed converter 8 is almost even (linearly) to freeze / frozen video frames so that the motion of the video after the speed conversion process is smooth. Skip is implemented.
  • the audio speed conversion device 5 is the same as that shown in the second embodiment, and is based on the time axis conversion ratio a output from the speed setting circuit 115, with respect to the audio data output from the audio decoding circuit 4.
  • Speed conversion processing The speed conversion processing by the audio speed converter 5 is performed in a non-linear manner as a result of the expansion / compression of the silent section and the voiced section mainly because the group of segments with high similarity is preferentially selected and weighted and added. The speed changes.
  • the control circuit 9 outputs an address for causing the storage circuit 1 to output desired data, and a video identification number and audio for separating and extracting the video data from the video / audio separation circuit 2.
  • An audio identification number for separating and extracting data is output, and a video decoding control signal such as normal playback or special playback is output to the video decoding circuit 3.
  • Video speed conversion device 8 outputs video speed conversion control signals such as start / stop of speed conversion processing
  • audio decoding circuit 4 outputs audio decoding control signals such as normal playback and special playback.
  • Voice speed conversion control signals such as start / stop of speed conversion processing are output to the voice speed converter 5.
  • the speed setting circuit 115 outputs information of the desired time axis conversion ratio a to the video speed conversion device 8, the audio speed conversion device 5, and the control circuit 9.
  • the video speed conversion device 8 performs the speed conversion process on the video signal with the time axis conversion ratio ⁇ almost uniformly with respect to the time axis, and thereby converts the audio speed.
  • the device 5 performing non-uniformity with respect to the time axis, that is, non-linearly, speed conversion processing to audio data with the time axis conversion ratio ⁇ , smooth speed conversion processing that does not distort the video signal with simple processing
  • the audio data can be subjected to natural speed conversion similar to the speed transition when a human changes the speaking speed.
  • the audio speed conversion device 5 is nonlinear but accurately performs speed conversion with the time axis conversion ratio ⁇ . There is an effect that synchronization can be matched.
  • the audio speed conversion device 5 since the audio speed conversion device 5 performs processing by dividing every predetermined time range Tr, the synchronization of video and audio can be matched at least every time Tr. There is an effect. (Fourth embodiment)
  • the playback device shown in the first embodiment and the second embodiment sets the time range Tr and the conversion ratio ⁇ when performing the speed conversion based on the G UI operation from the user. Relates to improvements to perform.
  • the playback apparatus according to the present embodiment displays a setup menu as shown in FIG. 22 and receives designation for speed conversion through this menu.
  • FIG. 22 is a diagram showing an example of a setup menu for speed conversion.
  • This menu consists of GUI parts such as slide bar wdl, window wd2, start / end button wd3, wd4, time range Tr navigation wd5, wd6, numeric field nml, play button nm2, and cancel button nm3.
  • the slide bar wdl is a GUI component that accepts the positioning operation of the start point Z end point from the user.
  • the slide bar is moved left and right on the guide, and the position of the slide bar in the guide is converted to a position on the video signal, thereby performing this positioning operation. If the target of speed conversion is a video signal of 2 hours and the slide bar is located in the middle of the guide, the position after 1 hour from the beginning of the video signal is indicated.
  • the video at the position indicated by the slide bar in the video signal is displayed. Positioning with respect to the slide bar and feedback using the window wd2 enable fine adjustment of the position to be the start point, Z end point.
  • the start point Z end point buttons wd3 and wd4 are GUI parts that determine the position of the slide bar in the guide as the start point Z end point. If the start point of the time range Tr and the end point of the time range Tr are determined by pressing the start point Z end point button, the time range Tr is generated.
  • Time range Tr navigation wd5, wd6 is a visual representation of the time range Tr generated by positioning with the slide bar and the confirm operation for the start point Z end point button.
  • the time range Tr is represented by the thumbnail of the video located at the point and the thumbnail of the video located at the end point.
  • Numerical value field 1 accepts numerical input of time axis ratio ⁇ . This operation is displayed in the numeric field 1 This is done by entering a value of ⁇ 200.
  • the playback button nm2 is a button for receiving an instruction to perform speed conversion based on the time range Tr set as described above and the numerical value a, and to play back the sound resulting from the conversion together with the video. is there.
  • Cancel button nm3 is a button that accepts an operation to cancel the settings for this menu.
  • the playback device combines the powerful menu with the playback video, sets the time range Tr and the ratio ⁇ in accordance with the operation on the powerful menu, and causes the conversion device to perform speed conversion.
  • the time range Tr that is the target of the speed conversion is determined at any force on the playback time axis, and the value of the ratio ⁇ at that time should be any value. Since the adjustment of Kika is made interactively, the voice obtained as a result of the speed conversion can be made easier to hear.
  • the similarity is calculated for each segment set, and the segment sets are ranked based on the similarity.
  • the improvement which omits the ranking of the pair of is proposed.
  • a similarity threshold is introduced. More specifically, in the flowcharts in Fig. 7 and Fig. 8, and in the flowcharts in Fig. 12 and Fig. 13, when either XI or ⁇ 2 is set as a reference and moved by the time interval A Td, this is the reference. Then, the other segment is moved within the range of TLmax and TLmin. Then, for each segment movement point, the similarity to the combination of XI and X2 is calculated.
  • the similarity is calculated in this way, it is determined whether or not the calculated similarity is lower than this threshold value. If it is determined to be low, the combination of the XI and X2 segments is set as the object of superposition, and then the reference segment is moved. In other words, when the auxiliary segment is moved within the range of Tljnin, the similarity is the first time that the similarity is above the threshold when moving the auxiliary segment, which is the highest similarity. As soon as it is discovered The search for small values is discontinued and selected.
  • the time range Tr specified by the user may be specified as a playback section constituting the playlist. Speed conversion by the conversion device is executed when creating this playlist, and audio data for trick playback may be created.
  • the speed conversion according to the present invention can be executed even during recording of audio data or during playback of audio data.
  • the original audio data may be specified in the main path information of the playlist information, and the audio data for trick playback may be specified in the sub path information so that these constitute one playback path.
  • Speed conversions that are conducive to the present invention may be performed in an authoring system. Then, the audio stream obtained by speed conversion is used as the secondary sound of the movie work.
  • the playback device when performing trick playback of a movie work recorded on a DVD or BD-ROM, selects the audio stream obtained by speed conversion as sub-audio, thereby obtaining the speed conversion of the present invention.
  • the resulting audio stream can be played.
  • the user can understand the contents of the movie work in a short section with clean voices that are easy to listen to during trick playback of the movie work.
  • the speed conversion according to the present invention may be applied to a technique for creating a summary voice.
  • audio data set to a short value such as ⁇ force%, 10%, etc. is created in advance using the menu shown in the third embodiment as a summary voice.
  • a thumbnail of a moving image is in a selected state in a program navigation GUI in which thumbnails of a plurality of moving images are displayed in a list, powerful summary audio is played. In this way, the user can know in a short time what kind of content the moving image power is in the selected state, and can appropriately determine whether to reproduce the moving image. it can.
  • Step S709 in the flowchart of FIG. 8 shown in the first embodiment and step S809 in the flowchart of FIG. 13 are small evaluations of the square error that is not regularized as shown in (Equation 1) as an evaluation measure for calculating the similarity.
  • the size of the correlation function that was not normalized as shown in (Equation 2) was used, but the normalized squared error and the size of the normalized correlation function were used. Can also be used. In this case, the amount of computation increases, but the evaluation scale does not depend on the amplitude of the audio data, so the similarity can be obtained without being affected by the amplitude of the audio data, and improvement in sound quality can be expected. .
  • the time length of the output ⁇ ( ⁇ ) of the weighted and added audio data may be variable.
  • the weighted addition length is set to TLopt to reduce unnecessary weighted addition. It can be expected that the calculation amount can be reduced and the sound quality can be improved, or the time axis conversion ratio a in the case of time axis compression can be set to a smaller V and value.
  • step S703 to step S7221 in the flowchart of FIG. 7 shown in the first embodiment in step S803 to step S821 in the flowchart of FIG. 12, the highest similarity R for each time ATd from the start point to the end point. (j) (where j: 0 to i) is obtained at one time, and step S722 force 736 in Fig. 9 is compared with step S822 force 836 in Fig.
  • the force may be divided into predetermined time ranges Tr.
  • step S715 in FIG. 7 Step S718 and steps S815 to S818 in FIG. 12 are executed by dividing each length including multiple sentences that can reduce the necessary storage capacity as much as possible. If it is prevented that the shift of the desired time axis conversion ratio ⁇ force becomes large on the way to the end point, the time axis can be efficiently extended including the silent interval between sentences.
  • step S719 in the flowchart of FIG. 7 shown in the first embodiment and step S819 in the flowchart of FIG. 12 the time ⁇ d for obtaining the high similarity R (TLopt) is constant, but may be variable. In this case, for example, a segment with high similarity When the time difference TLopt is short, by shortening the time ATd, the output period of the weighted and added audio data can be shortened, and as a result, the range of the time axis conversion ratio a can be expanded.
  • step S736 in the flowchart of FIG. 9 and the step S836 in the flowchart of FIG. 14 shown in the first embodiment a set of segments with a high similarity V is selected until a predetermined time axis conversion ratio a is obtained.
  • a set of segments may be selected. In this case, the voice speed conversion process can be performed with a certain quality according to the nature of the input signal.
  • audio data used in steps S700 to S721 in FIG. 7 and steps S800 to S821 in FIG. 13 may be read at a time.
  • the storage capacity for reading the audio data first is required, but after that, the segment reading process can be completed simply by moving the pointer. It can be omitted, and processing can be performed efficiently and at high speed.
  • the evaluation scale in the similarity calculation circuit 105 of the present embodiment the small square error that is not normal or the correlation function that is not normal is used, but the normalized square error is small. It is also possible to use a normal correlation function. In this case, the amount of computation increases, but the evaluation scale does not depend on the amplitude of the audio data, so the similarity can be obtained without being affected by the amplitude of the audio data, and improvement in sound quality is expected. it can.
  • the nother memory circuit 103 and the buffer memory circuit 104 The audio data is read from the storage circuit 101 in units of time length Ts of processing units, but may be read in units of larger processing units.
  • Ts of processing units time length
  • the buffer from the start point of 504_max to the end point of 509, and in the case of time axis compression shown in FIG. 6, from the start point of 604 to the end point of 609_max.
  • the similarity is obtained while changing the time difference between the two segments at different times by reading them into the memory circuit 103 and the nota memory circuit 104, and the two segments selected by the parameter selection circuit 120 are weighted and added. In this case, access to the memory circuit 101 can be prevented. In this case, since the number of transfers from the memory circuit 101 to the buffer memory circuit 103 and the buffer memory circuit 104 can be reduced, the processing time can be shortened.
  • the internal configuration of the playback device and the conversion device shown in FIG. 1 in the first embodiment, the internal configuration of the playback device and the conversion device shown in FIG. 1, in the second embodiment, the internal configuration of the conversion device shown in FIG. 17, and in the third embodiment, shown in FIG.
  • the internal configuration of the playback device may be configured as a single system LSI.
  • a system LSI is a device in which a bare chip is mounted on a high-density substrate and knocked.
  • a system LSI that includes multiple bare chips mounted on a high-density substrate and knocked to give the bare chip the same external structure as a single LSI is also included in the system LSI. (Such a system LSI is called a multichip module;).
  • the system LSI has the types of QFP (tad flood array) and PGA (pin grid array).
  • QFP is a system LSI with pins attached to the four sides of the package.
  • a PGA is a system LSI with many pins attached to the entire bottom surface.
  • pins serve as an interface with other circuits. Since pins in the system LSI have such an interface role, by connecting other circuits to these pins in the system LSI, the system LSI serves as the core of the playback device.
  • Powerful system LSIs can be incorporated into various devices that handle video playback, such as TVs, games, personal computers, and 1Seg mobile phones as well as playback devices. I can make it.
  • FIG. 23 is a diagram schematically showing a system LSI in which the internal configuration of the playback device shown in the third embodiment is incorporated.
  • the buses connecting circuit elements, ICs, LSIs, their peripheral circuits, external interfaces, etc. will be defined. Furthermore, connection lines, power supply lines, ground lines, clock signal lines, etc. will be defined. In this regulation, the circuit diagram is completed while adjusting the operation timing of each component taking into account the LSI specs and making adjustments such as ensuring the required bandwidth for each component. .
  • the general part of the internal configuration of each embodiment is preferably designed by combining Intellectual Property that defines an existing circuit pattern.
  • the abstraction using HDL is high! Top-down design should be done using the description of the operation level and the description at the register transfer level! /.
  • Mounting design refers to where on the board the parts on the circuit diagram (circuit elements, ICs, LSIs) created by circuit design are placed, or how the connection lines on the circuit diagram are placed on the board. This is the work to create a board layout that determines whether to wire to the board.
  • FIG. 24 is a diagram showing a state in which the system LSI thus created is incorporated in a device.
  • the integrated circuit generated as described above may be referred to as an IC, LSI, super-LSI, or unroller LSI depending on the degree of integration.
  • a system LSI is realized using FPGA, a large number of logic elements are arranged in a grid, and the vertical and horizontal wirings are connected based on the input / output combinations described in the LUT (Look Up Table).
  • LUT Look Up Table
  • the nodeware configuration shown in each embodiment can be realized.
  • the LUT is stored in the SRAM, and the content of the powerful SRAM disappears when the power is turned off.
  • the hardware configuration shown in each embodiment is realized by defining the conflicter information. LUT needs to be written to SRAM.
  • the video demodulation circuit with a built-in decoder be realized by a DSP with a product-sum operation function.
  • system LSI Since the system LSI that is effective in the present invention realizes the function of the playback device, it is desirable that the system SI conforms to the Uniphier architecture.
  • a system LSI conforming to the Uniphier architecture consists of the following circuit blocks.
  • Peripheral circuits such as ARM core, external bus interface (Bus Control Unit: BCU), DMA controller, timer, vector interrupt controller, UART, GPIO (General Purpose Input Output), synchronous serial interface, etc. Consists of interfaces.
  • BCU Bus Control Unit
  • DMA controller DMA controller
  • timer timer
  • vector interrupt controller UART
  • GPIO General Purpose Input Output
  • synchronous serial interface etc. Consists of interfaces.
  • the controller described above is mounted on the system LSI as this CPU block.
  • It consists of audio input / output, video input / output, and OSD controller, and performs data input / output with a TV and AV amplifier.
  • the internal bus connection that controls the internal connection between each block and the data with the SD-RAM connected outside the system LSI Access control unit that performs transfer, and access schedule unit that adjusts SD-RAM access requests from each block.
  • the program according to the present invention is an executable program (object program) that can be executed by a computer, and executes each step of the flowchart shown in the embodiment and individual procedures of functional components to the computer. It consists of one or more program codes.
  • program codes such as processor native code and JAVA (registered trademark) byte code.
  • a program that can be used in the present invention can be created as follows. First, the software developer uses a programming language to write a source program that implements each flowchart and functional components. In this description, the software developer uses a class structure, variables, array variables, and external function calls according to the syntax of the programming language to describe each flowchart and source program that implements functional components. [0195] The described source program is given to the compiler as a file. The compiler translates these source programs to generate an object program.
  • the linker allocates these object programs and related library programs in the memory space, and combines them into one to generate a load module.
  • the load module generated in this way is premised on reading by a computer, and causes the computer to execute the processing procedure shown in each flowchart and the processing procedure of functional components.
  • the program according to the present invention can be created through the above processing.
  • the processing interval of the program according to the present invention is given from the number of words in the fetch unit. Specifically, it is calculated by the following formula. Number of effective steps Ta X fetch cycle X (number of words in instruction word length / number of words in fetch unit)
  • the processing time of the program that works for the present invention is time A, when this is executed simultaneously by n plug processors, the processing time B that works for the present invention is Amdahl's law.
  • the time range Tr is divided by the number of processors n, and the target time length shown in (Equation 3) and (Equation 4) is set to n. It is desirable to have n processors simultaneously perform speed conversions on these.
  • the controller that performs parallelization may be a tightly coupled multiprocessor system having a plurality of MPU forces sharing the main memory. Further, it may be a coarsely coupled multiprocessor system composed of a plurality of MCUs sharing a bus and a communication line.
  • Real-time OS can predict the worst execution time, so there is an advantage that real-time implementation as described above becomes realistic.
  • the real-time OS is composed of a kernel and a device driver.
  • the kernel performs system call processing, handler entry processing that activates an interrupt handler by an interrupt signal, and interrupt handler exit processing.
  • the device driver consists of an “interrupt handler section” that is activated by a hardware interrupt signal, an “interrupt task section”, and a “request processing section”.
  • the device driver may be realized in the form of a system call or in the form of an application task. When implemented in the form of a system call, the device driver is mapped to the system memory space and operates in privileged mode.
  • the playback apparatus has an internal configuration disclosed in the above embodiment, and is apparently mass-produced based on this internal configuration, so that it can be industrially utilized in qualities. Then, only the duration can be changed without changing the fundamental frequency of the voice, and even if the speed is changed, the intelligibility is unlikely to decrease, so the user can hear the voice signal recorded on the disk medium or semiconductor memory. Suitable for applications that require playback at a speed that is easy to listen to Therefore, it can be applied to the development of product fields such as DVD player R player, DVD player R recorder, hard disk recorder, broadcast receiver, or video recorder using semiconductor memory.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

 重み付け加算の対象となるセグメントの複数の組みを、オーディオデータの時間軸に対して非線形に、選択する。選択された複数の組みに対して、重み付け加算を実行することで、速度変換を実現する。非線形な選択は、オーディオデータに存在するセグメントの組みのそれぞれに対して類似度を算出し、その類似度に基づきセグメントの組みの順序付けを行って、かかる順位が上位に位置するものを、重ね合わせの対象とすることでなされる。

Description

明 細 書
変換装置
技術分野
[0001] 本発明は、音声の速度変換技術の技術分野に属し、再生音声の聴きやすさの向 上に関する。
背景技術
[0002] 音声の速度変換技術とは、音声の基本周波数 (音程)を維持しつつ、継続時間長 のみを変化させる技術であり、映像や音楽の再生装置において、トリック再生時の音 質向上に取り入れられている。以下、従来の速度変換について説明する。
従来の速度変換では、オーディオデータを複数の周期に分け、各周期を、 12m秒 のセグメントに分割する。ここでは、 1つの周期が A,B,C,D,Eという 5つのセグメントに分 割されたとすると、これら同じ周期に属するセグメントの組合せに対して、類似度を算 出し、この周期に属するセグメントのうち、類似度が最も高くなる組み合わせが、どれ とどれの組み合わせであるかを判定する。ここで A,B,C,D,Eのうち、 B,Cの組み合わせ につ 、ての類似度が最も高 、場合、 B,Cが同時に再生されるように重ね合わせを行う 。この重ね合わせは、時間的に前に存在するセグメント Bに、時間的に漸減する窓関 数を乗じ、時間的に後に存在するセグメント Cに、時間的に漸増する窓関数を乗じて 、 2つのセグメントを加算することでなされる。この重ね合わせの結果を、 B/Cとして、 上述したような A,B,C,D,Eを、 A,B/C,D,Eとして出力すれば、周期の時間長は 4/5に なる。同様の類似度算出と、重ね合わせとを全ての周期に対して行えば、オーディオ データの時間長 4/5に縮小することになる。
[0003] 逆に、時間的に前に存在するセグメント Bに、時間的に漸増する窓関数を乗じ、時 間的に後に存在するセグメント Cに、時間的に漸減する窓関数を乗じて、 2つのセグメ ントを加算した場合の重ね合わせの結果を、 C\Bとする。上述したような A,B,C,D,E に、この C\Bをカ卩えて、 A,B,C\B,C,D,Eとして出力すれば、周期の時間長は 6/5倍 になる。同様の類似度算出と、重ね合わせとを全ての周期に対して行えば、オーディ ォデータの時間長を 6/5倍に伸長することができる。 [0004] 上述したような速度変換には、例えば特許文献 1に記載されて 、るようなオーディオ データの話速制御型補聴方法、または特許文献 2もしくは非特許文献 1に記載され ているようなオーディオデータに対する線形な音声変換装置が知られている。
特許文献 1:特開平 5-80796号公報
特許文献 2:特開平 4- 104200号公報
非特許文献 1 :鈴木,三崎 「高品質音声速度変換方式の DSPによる実現」,信学 技報, SP90-34 (199O)
発明の開示
発明が解決しょうとする課題
[0005] ところで、上述したような速度変換は、対象となる信号に対して例えば周期を定めて 、周期に属する複数のセグメントから重ね合わせの対象となるものを選ぶと 、う線形 的なものなので、重ね合わせの対象となるセグメントは、オーディオデータの再生時 間軸に対して、一様に選ばれることになる。このような一様な選択の結果、再生される 音声は、録音テープを早く回したり、遅く回して再生したとき生じるような、おかしな音 声になることがあり、その内容の聞き取りやすさが、充分に保障されているとはいい難 い。
[0006] また、重ね合わせ処理の対象として、母音が発声されている有音区間や無音区間 を選ぶことが、有効であるという事実力 近年の研究にて判明している力 数百ミリ秒 の母音区間や、 1秒、 2秒というオーダの無音区間が継続しているようなオーディオデ ータが速度変換の対象である場合、上述したような速度変換は、有音になっている区 間からも、無音になっている区間からも、一様に重ね合わせの対象となるセグメントを 選んでしまう。そのため、周期を定めて、その中から重ね合わせの対象となるセグメン トを選ぶと 、う速度変換は、余り効率がょ 、とは 、えな 、との問題点があった。
[0007] 本発明の目的は、内容の聞き取り易さを維持しつつも、時間長を、所望の長さにし て再生することができる、変換装置を提供することである。
課題を解決するための手段
[0008] 上記課題を解決するため、本発明に力かる変換装置は、オリジナルのオーディオ データを構成する複数セグメントのうち一部のものの再生期間を、他のセグメントの再 生期間と重ね合わせるセグメント処理手段と、重ね合わせの対象になったセグメント の組みと、当該重ね合わせの対象にならな力つたセグメントとを、時系列に並べること で、変換結果となるオーディオデータを生成する生成手段とを備え、前記重ね合わ せの対象になったセグメントの組みと、当該重ね合わせの対象にならな力つたセグメ ントとは、オリジナルのオーディオデータの時間軸において、非線形な関係にあること を特徴としている。
発明の効果
[0009] 前記重ね合わせの対象になったセグメントの組みと、当該重ね合わせの対象になら な力つたセグメントとは、オリジナルのオーディオデータの時間軸において、非線形な 位置に存在するので、無音区間や母音が発声されている有音区間から、重ね合わせ の対象となる音声を多く選び、子音が発声されている有音区間からセグメントを全く 選択しないという、非線形選択が可能になる。オーディオデータにおいて一部に偏在 している母音の発生区間や無音声区間を、重ね合わせの対象とすることができるの で、原音の周波数を余り変えることなぐオーディオデータの時間長を伸び縮みさせ ることがでさる。
[0010] かかる伸び縮みは、人間が早く話したり、遅く話したりする際、無意識にしているも のであり、力かる伸び縮みの実現により、話し口調に近い音声再生が、速度変換に おいて実現されることになる。これにより、再生音声を、人間が発声速度を変える場合 の速度の遷移に類似させることができる。従って、音声欠落や音声重複が少なぐ音 質劣化も少な 、と 、う効果がある。
[0011] 重ね合わせの対象となるセグメントを、オーディオデータ力 非線形に選択するの で、速度変換の対象となるオーディオデータの区間が広ければ広いほど、多くの範 囲から、重ね合わせの対象となるセグメントの組みが選ばれることになる。線形型の 速度変換のように、重ね合わせの対象は、周期の内部に制限されないので、当該速 度変換と比較して、高効率な伸長 Z圧縮が可能となる。
[0012] 組みにおけるセグメントのうち、一方はある人物の音声のみからなり、他方は、同じ 人物の音声に BGMやノイズをカ卩えたものであっても、かかる組みの類似度が、これ以 外のセグメントの組みより高いと判定されることにより重ね合わせの対象と選ばれるの で、期待の圧縮比や伸長比での再生出力を実現することができる。
また、任意的であるが、上述した変換装置の技術的事項 (技術的事項 1とする)に、 以下の技術的事項を加え、変換装置を具体的な構成にすることにより、更なる効果を ちたらすことができる。
[0013] {技術的事項 2}
前記変換装置は、オリジナルのオーディオデータを構成するセグメントの組合せを 複数生成して、個々の組合せについて、類似度を算出する算出手段を備え、前記重 ね合わせの対象となるセグメントの組みは、複数セグメントの組合せのうち、算出手段 により算出された類似度の高さが上位となるものであり、前記重ね合わせの対象にな らな力つたセグメントは、複数セグメントの組合せのうち、算出手段により算出された 類似度の高さが上位にならな力つたものである。
[0014] 本発明にかかる変換装置の特定に、上述したような技術的事項が追加されることに より、類似度が高くなるセグメントの時間差の決定と、重み付け加算を行うセグメントの 組の選択とを、類似度という単一の評価尺度を用いて行うので、処理の複雑さゃ処 理量を抑えることができると 、う効果もある。
{技術的事項 3}
前記変換装置は、重ね合わせの対象となるセグメントの組みをオーディオデータか ら選択する選択手段を備え、選択手段は、 1つ選択して、その度に、その組みにおけ るセグメント間の時間差の累計をとり、重ね合わせの対象となるセグメントの組みは、 当該時間差の累計値が、目標時間長を越えないことを条件として、選択手段がセグ メントの組みの選択を繰り返すことで選ばれることを特徴としている。
[0015] 本発明にかかる変換装置の特定に、上述したような技術的事項が追加されることに より、所望の時間軸変換比が得られる組数だけ重み付け加算を行うセグメントの組み を選択するので、時間軸変換比を細力べかつ精度良く変えることができるという効果も ある。
{技術的事項 4}
前記変換装置は、音声用の変換装置として映像及び音声の再生出力を行う再生 装置に組み込まれ、再生装置は、映像再生の速度変換を行う映像用の変換装置を 備え、映像用の変換装置は、ビデオデータを構成する複数のフレームのうち、一部を フリーズ又はスキップしつつ出力することで、速度変換を行うことを特徴としている。
[0016] 本発明にかかる変換装置の特定に、上述したような技術的事項が追加されることに より、ビデオデータに対しては、フレーム画像を一部フリーズ又はスキップすることで、 時間軸に対してほぼ均一に、つまり、線形的に、速度変換が施されることになる。 その結果、ビデオデータの表示には簡単な処理でガクガクしな 、滑らかな速度変 換が施されることになり、オーディオデータには、人間が発声速度を変える場合の速 度遷移に類似した自然な速度変換が施されることになる。
[0017] さらに映像と音声の同期は途中でずれることはあるものの、音声に対する速度変換 は非線形であるが正確に、所定の変換比率に基づく速度変換を行うので、少なくとも 最後には映像と音声の同期を一致させることができるという効果がある。
図面の簡単な説明
[0018] [図 1]変換装置が組込まれる再生装置の内部構成を示す図である。
[図 2]非線形選択により選択される複数のセグメントを示す図である。
[図 3]図 2で選択されたセグメントの組み力 どのように重ね合わせられるかを示す図 である。
[図 4]セグメント選択ログを示す図である。
[図 5] (a)は、時間軸伸長を行う場合に、類似度が最高であるとして選択された、 XI、 X2の 3つの組みを示す図である。
[0019] (b)Xl,X2か重ね合わせの対象になる場合、実行される演算を模式的に示す図で ある。
(c)は、図 5 (a)のように、 XI、 X2と XI', X2'が選択された場合の重ね合わせ出力 を示す。
[図 6] (a)は、時間軸圧縮を行う場合に選択される、 XI、 X2の 3つの組みを示す図で ある。
[0020] (b) XI, X2が重ね合わせの対象になる場合、実行される演算を模式的に示す図で ある。
(c) (a)のように、 XI、 X2と、 XI', X2'とが選択された場合の重ね合わせ出力を示 す。
[図 7]時間軸伸張 ≥1)である場合における、速度変換の処理手順を示すフロー チャートである。
[図 8]処理単位 iにつ 、ての最適時間差 TLoptと、最小二乗誤差 R_minとを算出する処 理の詳細な処理手順を示すフローチャートである。
[図 9]時間 ATd毎に求めた最も高い類似度 R(j)の中から、さらに類似度の高い順に セグメントの組を選択する処理手順を示すフローチャートである。
[図 10]類似度が高いとして選択されたセグメントの組に対し、重み付け加算を行って 出力する処理手順を示すフローチャートである。
[図 11] (a)ステップ S739の 1巡目の実行にて、出力される部分を示す。
[0021] (b)ステップ S739の 2巡目以降の実行にて、出力される部分を示す。
(c)ステップ S 747の実行にて、出力される部分を示す。
[図 12]時間軸圧縮( α≤ 1)による速度変換を行う場合の処理手順を示すフローチヤ ートである。
[図 13]処理単位 iについて最適時間差 TLoptと、最小二乗誤差 R_minとを算出する処 理のフローチャートである。
[図 14]時間 ATd毎に求めた最も高い類似度 R(j)の中から、さらに類似度の高い順に セグメントの組の選択を行う処理手順を示すフローチャートである。
[図 15]類似度が高いとして選択されたセグメントの組に対し、重み付け加算を行って 出力する処理手順を示すフローチャートである。
[図 16] (a)ステップ S839の 1巡目の実行にて、出力される部分を示す。
[0022] (b)ステップ S839の 2巡目以降の実行にて、出力される部分を示す。
(c)ステップ S847の実行にて、出力される部分を示す。
[図 17]第 2実施形態に係る変換装置の内部構成を示す図である。
[図 18]類似度の評価関数が二乗誤差である場合の類似度計算回路 105の内部構成 を示す図である。
[図 19]類似度の評価関数が相関関数の場合の類似度計算回路 105の内部構成を 示す図である。 [図 20]判定回路 106の内部構成を示す図である。
[図 21]第 3実施形態に係る変換装置が組込まれる再生装置の内部構成を示す図で ある。
[図 22]速度変換のためのセットアップメニューの一例を示す図である。
圆 23]第 3実施形態に示した再生装置の内部構成を組込んだシステム LSIを模式的 に示す図である。
[図 24]図 23のようにして作られたシステム LSIを、機器内に組み込んだ状態を示す図 である。
符号の説明
1 記憶回路
2 映像音声分離回路
3 映像復号回路
4 音声復号回路
5 音声速度変換装置
6 記憶回路
7 制御回路
8 映像速度変換装置
9 制御回路
101 記憶回路
102 スィッチ回路
103 バッファメモリ回路
104 バッファメモリ回路
105 類似度計算回路
106 判定回路
107 窓関数発生回路
108 スィッチ回路
109 スィッチ回路
110 乗算回路 111 乗算回路
112 加算回路
113 スィッチ回路
114 出力バッファ回路
115 速度設定回路
116 パラメータ記憶回路
117 ポインタ値計算回路
118 ポインタ制御回路
119 制御信号発生回路
120 パラメータ選択回路
発明を実施するための最良の形態
[0024] (第 1実施形態)
以下、図面を参照しながら、本発明にかかる変換装置の実施形態について説明す る。本発明にかかる変換装置の使用形態は、再生装置に組み込まれ、音声再生機 能の一部として利用されるというものである。
変換装置による速度変換は、半導体メモリカードや HDDなど、書き換え型の記録媒 体に記録されているオリジナルのオーディオデータを読み出し、読み出されたオリジ ナルのオーディオデータをー且、非圧縮の状態にまで復号して、これにより得られた 非圧縮のオーディオデータを構成するセグメントのうち、ユーザにより指定された時間 範囲 Trに属するものの組みを、オーディオデータの再生時間軸とは非線形に選択し て、力かるセグメントの組みを重ね合わせて出力することでなされる。このように出力さ れたセグメントの集まり力 トリック再生用のオーディオデータになる。
[0025] トリック再生用のオーディオデータとは、再生装置がトリック再生を実行するにあたつ て、オリジナルのオーディオデータの代わりに再生されるオーディオデータであり、変 換の元になつたオリジナルのオーディオデータと、その時間範囲 Trと、速度変換前後 の再生時間軸の比率 ocとに対応付けられた状態で記録媒体に書き込まれる。
そうすると、後日、オリジナルのオーディオデータの時間範囲 Trに対して、比率ひで のトリック再生が命じられた際、再生装置は、記録媒体に記録されているトリック再生 用のオーディオデータのうち、このオリジナルのオーディオデータと、時間範囲 Trと、 トリック再生における速度比率 αとの組合せに合致するものを取り出して、オリジナル のオーディオデータの代わりに再生することができる。この際、予め作成しておいたト リック再生用オーディオデータを、記録媒体力 読み出して、再生に供することができ るので、ユーザは、きれいな音声で、トリック再生時の音声を聞くことができる。
[0026] 本実施形態では、トリック再生用オーディオデータを一旦蓄積して、再生することを 意図しているので、変換装置による速度変換の実行は、必ずしも、リアルタイムに行 われる必要はない。
図 1は、変換装置が組込まれる再生装置の内部構成を示す図である。本図に示す ように再生装置は、記憶回路 1と、映像音声分離回路 2と、映像復号回路 3と、音声復 号回路 4と、記憶回路 6と、制御回路 7とから構成される。
[0027] 記憶回路 1は、 MPEG2-Video,MPEG4-AVC等の符号化方式で圧縮されたビデオ データと、 MPEG2-AAC,Dolby Digitalといった符号化方式で圧縮されたオーディオ データとを格納するものであり、制御回路が出力するアドレス値に基づいて、所望の ビデオデータとオーディオデータを出力する。
映像音声分離回路 2は、記憶回路 1から出力されたビデオデータとオーディオデー タを入力し、ビデオデータは映像復号回路 3に出力し、オーディオデータは音声復号 回路 4に出力する。
[0028] 映像復号回路 3は、映像音声分離回路 2から出力されたビデオデータを映像信号 に復号する。
音声復号回路 4は、映像音声分離回路 2から出力されたオーディオデータをォー ディォデータに復号して、記憶回路 6に格納する。
制御回路 7は、 MPU、当該 MPUに命令コードを供給する ROMカゝら構成されるワンチ ップマイコンであり、音声復号回路の復号によりメモリ上に得られた非圧縮のオーディ ォデータのうち、予め定められた時間範囲 Trに対して、速度変換を施す。この速度変 換は、オーディオデータの予め定められた時間範囲 Trの中に存在するセグメントの 組のうち、類似度が高いものを非線形に選んで、重み付け加算の対象とするというも のである。 [0029] 本発明は、重ね合わせの対象となるセグメントを、非線形選択に選択することを特 徴としている。以下、この非線形選択の原理を模式的に説明する。
図 2は、非線形選択により選択される複数のセグメントを示す図である。第 1段目は 、対象となるオーディオデータに対応する音声信号レベルを示し、第 2段目は、この オーディオデータに対して非線形選択を行った場合、選択されるセグメントを示し、 第 3段目は、このオーディオデータに対して線形選択を行った場合、選択されるセグ メントを示す。第 3段目において、重ね合わせの対象として選択されたセグメントの組 みは、ノ、ツチングを付して示している。このハッチングが付されたセグメントの所在に 注意を払えば、第 3段目では、 "{"にて明示されている周期から、重ね合わせの対象 となるセグメントの組みが選択されている。このことから線形選択では、オーディオデ ータにおける一定周期に属するセグメントの中から、重ね合わせの対象となるセグメ ントの組みが一様に選択されて 、ることがわ力る。
[0030] 第 2段目にお 、ても、重ね合わせの対象として選択されたセグメントの組みは、ハツ チングを付して示して 、る。このハッチングが付されたセグメントの所在に注意を払え ば、第 2段目では、第 1段目における音声信号レベルのうち、その波高値が閾値未満 となる部分 (無音区間という)から、重ね合わせの対象となる組みが選ばれていることが わかる。このことから非線形選択では、オーディオデータにおける一定周期とは無関 係に、重ね合わせの対象となるセグメントの組みが、無音区間から集中的に選択され ていることがわ力る。
[0031] 図 3は、図 2で選択されたセグメントの組み力 どのように重ね合わせられるかを示 す。本図における第 1段目は、非線形選択による重ね合わせを示し、第 2段目は、線 形選択による重ね合わせを示す。これら第 1段目、第 2段目は、図 2に示したオーディ ォデータのうち、有音区間から無音区間に切り替わる部分を特に示している。
第 2段目における B/Cは、線形選択の実行時において、重ね合わせの対象になる セグメントの組みを示す。この B/Cの所在に注意を払えば、重ね合わせの対象となる セグメントの糸且みは、有音区間に属する周期からも、無音区間に属する周期からも、 一様に選ばれて 、ることがわ力る。
[0032] 第 1段目における A/B、 C/Dは、非線形選択の実行時において重ね合わせの対象 になるセグメントの組みを示す。この A/B、 C/Dの所在に注意を払えば、重ね合わせ の対象となるセグメントの組みは、無音区間に属する周期から集中的に選ばれてい て、有音区間に属する周期からは、選ばれていないことがわかる。
以上の非線形選択の要件について、更に説明を進める。
[0033] <非線形選択の対象 >
非線形選択の対象となる区間、つまり、図 2に例示するところの無音区間の特色とし ては、セグメントの相関性が高い値になる力、又は、最小 2乗誤差が低い値になって いるという性質が認められる。これら相関性の高さ、又は、最小 2乗誤差の低さを、 " 類似度の高ざ'と呼ぶ。本発明では、カゝかる類似度が高いセグメントの組みを、非線 形選択の対象としている。
[0034] ここで二乗誤差の演算、相関関数の演算としては、以下の数式を利用することがで きる。
(数 1)は、類似度算出のための二乗誤差の演算を示す。ただし (数 1)では簡単の ため、単位時間とサンプリング周期とを等しいとして表現している。
[0035] [数 1]
二乗誤差 = (Χ1 (j) -X2 (j) ) 2
J=I
[0036] (数 2)は、類似度算出のための相関関数の演算を示す。ただし (数 2)では簡単の ため、単位時間とサンプリング周期とを等しいとして表現している。
[0037] [数 2] 相関関数 = (Χ1 (j) x X2 (j) )
J=l
[0038] 力かる類似度が高くなる区間は、無音区間であるとは限らず、母音が偏在している ような有音区間も、類似度が高くなる。また類似度として上述の (数 IX数 2)以外のもの を採用した場合は、別の特性をもった区間における類似度が高くなる可能性がある。 このようにして算出された類似度が、高くなる区間を、本発明にかかる非線形選択で は、選択の対象としている。
[0039] 類似度として、最小 2乗誤差、相関関数のどちらを使用するかによって、類似度が 高 、セグメントを選択する力、類似度が低!、セグメントを選択するかと!/、う基準が変わ る。以降は、特に断らない限り、類似度の高さとして最小 2乗誤差の小ささを採用する ものとし、かかる類似度が高いかどうかを、セグメント選択の基準とする。
また、(数 1)(数 2)においては、 Xl(l)〜Xl(Ts)と、 X2(l)〜X2(Ts)との組みに対して 、 2乗誤差又は相関関数が算出されているので、これら Xl(l)〜Xl(Ts)と、 X2(1)〜X 2(Ts)との組みが、非線形選択の対象となる。以降、これら Xl(l)〜Xl(Ts)、 X2(l)〜 X2(Ts)をそれぞれ、 XI、 X2と呼び、一個の処理単位として扱う。
<選択の範囲 >
上述したような非線形選択の範囲は、以下の数 3、数 4を満たすセグメントの集まり であるといえる。
[0040] [数 3]
(入力信号の時間長) X (ひ一 1)≤∑ (選択されたセグメント間の時間差)
[0041] 画
(入力信号の時間長) (1 _ひ) (選択されたセグメント間の時間差)
[0042] ここで aは、オーディオデータの入力時間長と、出力時間長との時間軸変換比であ り、数 3は、 α≥1のケースにて適用され、数 4は、 αく 1のケースにて適用される。 時間軸伸長を行う場合、 α≥1となり、時間軸圧縮を行う場合、 α < 1となる。これら の数 3、数 4において、左辺はオーディオデータの目標時間長、右辺はセグメントの 時間長の累計であるので、数 3、数 4を満たすセグメントの集合は、オーディオデータ におけるセグメントの組みに対して、類似度を算出して、その類似度に基づきセグメ ントの組みの順位付けを行い、この順位に従った選択を繰り返すことで得られる。上 述したように、類似度の算出は、 Xl(l)〜Xl(Ts)と、 X2(l)〜X2(Ts)とを対象にしてな されているので、この数 3、数 4における選択も、 Xl(l)〜Xl(Ts)と、 X2(l)〜X2(Ts)と を対象にしてなされる。
<重ね合わせ >
非線形選択により選択されたセグメントの組みは、以下の数式に基づく重ね合わせ の対象となる。
[0043] [数 5] γ (n) =W1 (n) x X1 (n) +W2 (n) x X2 (n) n= 1〜Ts
[0044] [数 6]
Y (n) =W2 (n) x X1 (n) +W1 (n) x X2 (n) n = 1〜Ts
[0045] ここで Wl(n)は、漸増する窓関数であり、 W2(n)は、漸減する窓関数である。 Tsは、 セグメントの個数を意味する。上述したように、類似度の算出及びセグメントの選択は 、 Xl(l)〜Xl(Ts)と、 X2(l)〜X2(Ts)とを対象にしてなされているので、この数 5、数 6 における重ね合わせも、 Xl(l)〜Xl(Ts)と、 X2(l)〜X2(Ts)とを対象にしてなされる。
[0046] 予め断っておくが、本願にお!ヽて技術的思想の創作として位置付けられて ヽるの は、以上に述べたような、重ね合わせの対象たるセグメントを、時間軸とは非線形に 選ぶという点であり、本明細書で開示したハードウェア構成及びソフトウェア構成は、 かかる技術的思想の創作を、実際の再生装置に実装する場合に合理的であると考 えられているものの 1つに過ぎない。以降、 MPUに、速度変換を実行させる場合の、ソ フトウ アによる実装を、以下に説明する。
[0047] 非線形選択にあたって、重ね合わせの対象となるセグメントの組みをどのように選 択するかについて説明する。上述したように、類似度の算出と、選択、重ね合わせは 、 Xl(l)〜Xl(Ts)と、 X2(l)〜X2(Ts)とを対象にしてなされている。
これらのセグメントの組みを以降、 XI、 X2と略記する。ここで、 XIは、 X2より時間的 に先に位置する。
[0048] 時間軸伸長の場合、時間的に後続する X2を基準にして、 XIを移動させる。基準と なるセグメントを上述したように選ぶのは、 X2を固定し、 XIを、再生時間軸において 移動させるためである。これにより X2と、 X2以前の部分との連続性を維持しつつ、最 大遅延時間 TLmaxから、最小遅延時間 TLminまでの範囲にて時間長を変更させるこ とがでさる。
[0049] TLmax, TLmin,セグメントの時間長につ!、て説明する。例えば音声信号の基本周 波数 (fondamental frequency)の取り得る範囲は、おおよそ 50〜500Hzと言われる。従 つて、音声信号の最長周期は 50Hzの逆数である 20msecとなり、最短周期は 500Hzの 逆数である 2msecとなる。上述したようなセグメント XI、 X2の時間長は、 2msecと 20mse cの間の、 12msecに設定している。そして最小遅延時間 TLminは、最短周期の 2msec 以下の時間長に設定し、最大遅延時間 TLmaxは、 20msec以上の時間長に設定して いる。そうすれば、基本周波数が 50〜500Hzの範囲の入力音声信号に対して、セグメ ント間の位相を合わせて重み付け加算をすることが可能となる。ただし演算量との兼 ね合いから、実際には遅延時間が 2msec以下力も 20msec以上の範囲でセグメント間 の位相を合わせるためのセグメント探索を行わない場合があり、ソフトウェア又はハー ドウ アで、速度変換を実現するにあたっては、最小遅延時間 TLminは入力信号の 最短周期に、所定時間を加減算した値、つまり、最短周期の近傍値に設定するのが 望ましい。同様に、最大遅延時間 TLmaxもまた、入力信号の最長周期に所定時間を 加減算した値、つまり、最長周期の近傍値に設定するのが望ましい。
[0050] 時間軸圧縮を行う場合、時間的に先行する XIを基準とし、 X2を移動させる。基準 セとなるセグメントを上述したように選ぶのは、 XIを固定し、 X2を、再生時間軸にお いて、移動させるためである。これにより XIと、 XI以前の部分との連続性を維持しつ つ、最大遅延時間 TLmaxから、最小遅延時間 Tljninまでの範囲にて、 XIと、 X2との 間の時間長を変更させることができる。力かる移動において、類似度が最高となった 補助セグメントの位置を、最適遅延時間 TLoptにて表現する。ここで XI、 X2のうち、 基準として固定する側を"基準セグメンド'といい、類似度の最大値を探索するため、 移動させる側を"補助セグメンド'と 、う。 [0051] こうした類似度の算出と、セグメントの選択とは、図 4に示す選択ログを用いることで 実現される。図 4は、セグメント選択ログを示す図である。本ログの追記単位は、 XIの 先頭時刻と、 X2の先頭時刻との組みに、類似度 R(i)と、選択フラグ M(i)とを対応付け ることで構成される。図中のログにおける先頭の追記単位は、時刻 AAAAと、時刻 BB BBとの組みに対して、 CCCCの類似度と、値 "Γの選択フラグとを対応付けたもので ある。
[0052] 次の追記単位は、時刻 AAAA'と、時刻 BBBB'との組みに対して、 CCCC'の類似度 と、値 "1 "の選択フラグとが対応付けたものである。
XI、 X2、 Tl_max、 Tl_min、 TLoptがどのような値を取り得るかを時間軸上で描いたの 力 図 5である。図 5 (a)は、時間軸伸長を行う場合に、類似度が最高であるとして選 択された、 XI、 X2の 3つの組みを示す図である。
[0053] 本図における 507、 508、 509は、 X2となるべき信号区間である。これらのうち、 50 7は、オーディオデータの先頭から間隔 TLmaxだけ隔てられており、 508は、 507力ら 所定の間隔 A Tdだけ、 509も、 508から所定の間隔 A Tdだけ隔てられている。この 所定の間隔 A Tdは、例えば TLmaxを上回る間隔である。
XIは、 X2の位置を基準にして TLmaxだけ隔てられた時点から、 Tljninだけ隔てら れた時点までのどこかに存在する。
(X2力 507に位置した場合)
502_iは、 XIの先頭時点を指し示す第 1ポインタであり、 503_iは、 X2が 507に位置 していた場合において、 X2の先頭時点を指し示す第 2ポインタである。 502_iは、 50 3j— TLminの計算力 算出される時刻なので、力かる時刻が第 1ポインタに初期設 定される。
[0054] 504_min力ら 504_maxまでは、 XIが移動することで、 XIが存在し得る範囲を示す。
つまり、第 2ポインタを上述した位置に固定し、第 1ポインタを更新することで、 XIをか 力る範囲内で移動させるのである。図中の" "は、 XIが、これら _min力ら _max までの間を、徐々に移動してゆくことを模式的に示している。このような移動により、類 似度が最も高くなる位置の探索を行う。 504_maxは、 X2が上述した 507に位置して いた場合、 503_i— TLmaxの計算から算出される XIの占有範囲である。 504_minは、 X2が上述した 507に位置していた場合、 503_i—Tl_minの計算から算出される XIの 占有範囲である。
[0055] 504_optは、 XIが 504_maxから 504_minまでの範囲を移動するにあたって、類似度 が最高となる場合における XIの占有範囲であり、その先頭位置は、 503j—Tl_optと なる。 TLoptは、上述したような XIの移動範囲において類似度の高いセグメントの組 みを探索することで得られた値であり、その時の XIと X2の時間差を意味する。
(X2力 508に位置した場合)
このときの XI、 X2を XI,、 X2,とする。
[0056] 502_i+lは、 XI,の先頭時点を示す第 1ポインタの値である。 503_i+lは、 X2'の先 頭時点を示す第 2ポインタの値である。 502J+1は、 503J+1— TLminの計算から算出 される時刻なので、カゝかる時刻が第 1ポインタに初期設定される。
505_minから 505_maxまでは、 XI 'が取り得る範囲を示す。つまり、第 2ポインタを上 述した位置に固定し、第 1ポインタを更新することで、 XI 'をかかる範囲内で移動させ るのである。図中の" "は、 XI '力 これら _minから _maxまでの間を、徐々に 移動してゆくことを模式的に示している。このような移動により、類似度が最も高くなる 位置の探索を行う。 505_maxは、 X2'が上述した 508に位置していた場合、 503_i+l —TLmaxの計算から算出される XI,の占有範囲である。 505_minは、 X2'が上述した 508に位置して!/、た場合、 503 j+1—TLminの計算から算出される XI,の占有範囲 である。
[0057] 505_optは、 XI,が 505_maxから 505_minまでの範囲を移動するにあたって、類似 度が最高となる場合における XI 'の占有範囲であり、その先頭位置は、 503J+1—T1 —optとなる。 X2'が、 508に位置していた場合、この 505_opt力 導きだされることにな る。
(X2力 509に位置した場合)
このときの XI、 X2を Xl"、 X2"とする。
[0058] 502_i+2は、 XI"の先頭時点を示す第 1ポインタの値であり、 503_i+2は、 X2"の X2 の先頭時点を示す第 2ポインタの値である。 502_i+2は、 503_i+2—Tl_minの計算から 算出される時刻なので、カゝかる時刻が第 1ポインタに初期設定される。 506_minから 506_maxまでは、 XI"が取り得る範囲を示す。つまり、第 2ポインタを 上述した位置に固定し、第 1ポインタを更新することで、 XI"を力かる範囲内で移動さ せるのである。図中の" "は、 XI"が、これら _minから _maxまでの間を、徐々 に移動してゆくことを模式的に示している。このような移動により、類似度が最も高くな る位置の探索を行う。 506_maxは、 X2"が上述した 509に位置していた場合、 503J+ 2— TLmaxの計算から算出される XI"の占有範囲である。 506_minは、 X2"が上述し た 509に位置していた場合、 503_i+2— TLminの計算から算出される XI"の占有範 囲である。
[0059] 506_optは、 506_maxから 506_minまでの範囲を移動するにあたって、類似度が最 高となる場合における XI"の占有範囲であり、その先頭位置は、 503J+2— TLoptと なる。
図 5の Χ1,Χ2、 Χ1',Χ2'が選択された後、 Χ1",Χ2"が選択された時点で、累計 Tas 1S 目標の時間長 Taを上回ったとすると、 X1",X2"は選択対象力も外れる。これによ り Χ1,Χ2、 Χ1',Χ2'の組みが、重ね合わせの対象になる。図中の、 Χ3、 Χ4は、 ΧΙ,Χ 2、 Χ1',Χ2'の組みが選択されることで、そのまま出力される区間である。
[0060] 図 5 (b)は、 X1,X2か重ね合わせの対象になる場合、実行される演算を模式的に 示す図である。
図中の演算「XI」 X「W1」は、 XI (510)に対して、漸減する窓関数を乗ずるという 演算を示す。本図において、 XIを表す四角形の大きさは XIのデータ量を示し、 W1 を表す三角形の大きさは、 W1による縮小比率を表す。つまり、 XIに W1が乗ざれる ことで、 XIは、 W1に相当する三角形の大きさまで、縮小されるのである。
[0061] 図中の演算「X2」 X「W2」は、 X2 (511)に対して、漸増する窓関数 513を乗ずると いう演算を示す。本図において、 X2を表す四角形の大きさは X2のデータ量を示し、 W2を表す三角形の大きさは、 W2による縮小比率を表す。つまり、 X2に W2が乗ざ れることで、 X2は、 W2に相当する三角形の大きさまで、縮小されるのである。
図中の演算「 +」は、「X1 XW1」と、「X2 XW2」との加算を示す。加算された信号「 X2\X1」は、 W1により縮小がなされた XIと、 W2により縮小がなされた X2との和で ある。 [0062] 図 5 (c)は、図 5 (a)のように、 XI、 X2と XI', X2'が選択された場合の重ね合わせ 出力を示す。本図における出力信号は、「X2\X1」の出力区間、「XO」の出力区間 、「X2' \X1 '」の出力区間、「X3」の出力区間、「X2"」の出力区間、「X4」の出力区 間力 なる。図中の「X2\X1」は、「X1 XW1」と、「X2 XW2」との加算出力である。 図中の「X2,\X1,」は、「X1,XW1」と、「X2, XW2」との加算出力である。「X3」は 、そのまま出力されたものである。
[0063] 図中の「X2"」、「X4」は、そのまま出力されたものである。
図 6 (a)は、時間軸圧縮を行う場合に選択される、 XI、 X2の 3つの組みを示す図で ある。
604、 605、 606は、 XIが存在する区間を示す。 X2は、 XIの位置を基準にして Tl_ maxだけ隔てられた時点から、 TLminだけ隔てられた時点までのどこかに存在する。
[0064] (XIが、 604に位置した場合)
602_iは、 XIの先頭時点を指し示す第 1ポインタであり、 603_iは、 X2の先頭時点を 指し示す第 2ポインタである。第 2ポインタは、 602_i+Tl_minの値に初期設定される。
607_minから 607_maxまでは、 X2が取り得る範囲を示す。つまり、第 1ポインタを上 述した位置に固定し、第 2ポインタを更新することで、 X2をかかる範囲内で移動させ るのである。図中の" "は、 X2が、これら _minから _maxまでの間を、徐々に移 動してゆくことを模式的に示している。このような移動により、類似度が最も高くなる位 置の探索を行う。 607_maxは、 XIが上述した 604に位置していた場合、 602_i+Tl_m axの計算から算出される X2の占有範囲である。 607_minは、 XIが上述した 604に位 置していた場合、 602_i+Tl_minの計算から算出される X2の占有範囲である。
[0065] 607_optは、 607_maxから 607_minまでの範囲を X2が移動するにあたって、類似度 が最高となる場合における X2の占有範囲であり、その先頭位置は、 602j+Tl_optと なる。
(XIが、 605に位置した場合)
このときの XI、 X2を Xl,、 X2,とする。 602_i+lは、 XI,が 605に位置していた場合 における、 XI 'の先頭時点を指し示す第 1ポインタであり、 603_i+lは、 X2'の先頭時 刻を指し示す第 2ポインタである。この第 2ポインタは、 602_i+l+Tl_minの値に初期設 定される。
[0066] 608_minから 608_maxまでは、 X2'が取り得る範囲を示す。つまり、第 1ポインタを上 述した位置に固定し、第 2ポインタを更新することで、 X2'をかかる範囲内で移動させ るのである。図中の" "は、 X2'が、これら _minから _maxまでの間を、徐々に 移動してゆくことを模式的に示している。このような移動により、類似度が最も高くなる 位置の探索を行う。 608_maxは、 XI 'が上述した 605に位置していた場合、 602_i+l +Tl_maxの計算から算出される X2'の占有範囲である。 608_minは、 XI,が上述した 605に位置していた場合、 602j+l+Tl_minの計算から算出される X2'の占有範囲で ある。
[0067] 608_optは、 608_maxから 608_minまでの範囲を移動するにあたって、類似度が最 高となる場合における X2'の占有範囲であり、その先頭位置は、 602_i+l+Tl_opt'と なる。第 1ポインタが 602J+1を指し、 XI '力 605に位置していた場合、かかる位置 の第 1ポインタに対して、かかる 608_optが、導きだされること〖こなる。
(XIが、 606に位置した場合)
このときの XI、 X2を Xl"、 X2"とする。 602_i+2は、 XI"の先頭時点を指し示す第 1ポインタであり、 603J+2は、 X2"の先頭時点を指し示す第 2ポインタである。
[0068] 609_minから 609_maxまでは、 X2"が取り得る範囲を示す。つまり、第 1ポインタを 上述した位置に固定し、第 2ポインタを更新することで、 X2"をかかる範囲内で移動さ せるのである。図中の" "は、 X2"が、これら _minから _maxまでの間を、徐々 に移動してゆくことを模式的に示している。このような移動により、類似度が最も高くな る位置の探索を行う。 609_maxは、 XI"が上述した 606に位置していた場合、 602J+ 2+Tl_maxの計算から算出される X2"の占有範囲である。 609_minは、 XI"が上述し た 606に位置していた場合、 602_i+2+Tl_minの計算から算出される X2"の占有範囲 である。
[0069] 609_optは、 X2"が 609_maxから 609_minまでの範囲を移動するにあたって、類似 度が最高となる場合における X2"の占有範囲であり、その先頭位置は、 602_i+2+Tl_ optとなる。第 1ポインタが 602_i+2を指し、 XI"が、 606に位置していた場合、かかる 位置の第 1ポインタに対して、力かる 609_opt力 導きだされることになる。 [0070] 図 6の X1,X2、 Χ1',Χ2'が選択された後、 Χ1",Χ2"が選択された時点で、累計 Tas が Taを上回ったとすると、 X1",X2"は選択外となる。これにより Χ1,Χ2、 Χ1',Χ2'の 組みが、重ね合わせの対象になる。図中の、 Χ3、 Χ4は、 Χ1,Χ2、 Χ1',Χ2'の組みが 選択されることで、そのまま出力される区間である。 Χ1,Χ2、 Χ1',Χ2'が選択されたた め、 ΧΟは、 Χ2と、 XI,との間になつており、 Χ3は、 Χ2,と、 XI"との間になつている。 一方、 Χ1",Χ2"は、選択外なので、 Χ4は、 X2'以降、全てになっている。
[0071] 図 6 (b)は、 X1,X2か重ね合わせの対象になる場合、実行される演算を模式的に 示す図である。
図中の演算「XI」 X「W2」は、 XI (610)に対して、漸減する窓関数 612を乗ずると いう演算を示す。本図において、 XIを表す四角形の大きさは XIのデータ量を示し、 W2を表す三角形の大きさは、 W2による縮小比率を表す。つまり、 XIに W2が乗ざ れることで、 XIは、 W2に相当する三角形の大きさまで、縮小されるのである。
[0072] 図中の演算「X2」 X「W1」は、 X2 (611)に対して、漸増する窓関数 613を乗ずると いう演算を示す。本図において、 X2を表す四角形の大きさは X2のデータ量を示し、 W1を表す三角形の大きさは、 W1による縮小比率を表す。つまり、 X2に W1が乗ざ れることで、 X2は、 W1に相当する三角形の大きさまで、縮小されるのである。
図中の演算「 +」は、「X1 XW2」と、「X2 XW1」との加算を示す。加算された信号「 XlZX2」は、 W2により縮小がなされた XIと、 W1により縮小がなされた X2との和で ある。
[0073] 図 6 (c)は、図 6 (a)のように、 XI、 X2と、 XI', X2'とが選択された場合の重ね合わ せ出力を示す。本図における出力信号は、「X1ZX2」の出力区間、「XO」の出力区 間、「X1 ' ZX2'」の出力区間、「X4」の出力区間力 なる。
図中の「X1ZX2」は、「X1 XW2」と、「X2 XW1」との加算出力である。「XO」は、 そのまま出力されたものである。
[0074] 図中の「X1 ' ZX2'」は、「X1' XW2」と、「X2' X Wl」との加算出力である。図中の 「X4」は、そのまま出力されたものである。
これらの図 5、図 6において、 XIと X2とにギャップが生じるには、 XI、 X2力TLmax だけ隔てられて 、る場合であって、セグメントの時間長が TLminと TLmaxの中間値で あることが条件になる。 XIと X2とにオーバラップが生じるには、 XI、 X2が TLminだけ 隔てられて 、る場合であって、セグメントの時間長が TLminと TLmaxの中間値であるこ とが条件になる。つまり図 5、図 6は、セグメントの長さを、音声信号の最短周期と、最 長周期の中間値に設定して 、ることを条件にして 、る。
[0075] 以上のような速度変換のソフトウェアによる実装は、時間軸伸長の場合は図 7〜図 1 0の処理手順を、時間軸圧縮の場合は図 12〜図 15の処理手順をコンピュータ記述 言語で記述し、プログラムを作成して、 MPUに実行させることでなされる。尚、以降、 フローチャートの解説には、図 11、図 16の参考図を引用するものとする。
図 7は、時間軸伸張 ≥1)である場合の速度変換の処理手順を示すフローチヤ ートである。これら図 7〜図 10のフローチャートの各ステップは、 700番台の参照符号 を付すことで、図 12〜図 15のフローチャートのステップと区別することにする。
[0076] ステップ S702は、時間軸変換比 aを読み込み、ステップ S703において、スタート 点の最大時間差 TLmax後の値を第 2のポインタに初期設定する。ステップ S704にお いて処理単位カウンタ iを初期値 0に初期設定する。ステップ S700、ステップ S715〜 ステップ S721は、ステップ S720を終了条件とし、変数 iを制御変数としたループを構 成している。ステップ S704は、このループに初期条件を与えるものである。
[0077] ステップ S700は、処理単位 iにつ 、て最適時間差 TLoptと、最小二乗誤差 R_minと を算出する。ステップ S715は、第 2ポインタ力も最適時間差 TLoptを引いた時刻を、 処理単位 iにおける第 1のセグメントの先頭時刻 XI (i)として記憶し、ステップ S716で は、第 2ポインタの時刻を、処理単位 iにおける第 2のセグメントの先頭時刻 X2 (i)とし 飞 feす。。
[0078] ステップ S717は、処理単位 iにおける類似度 R (i)として、求められた最小二乗誤差 R_minを記憶する。
ステップ S718は、処理単位 iにおける選択 M (i)として、未選択を示す" 0"を設定す る。ステップ S719は、第 2ポインタを時間 ATdだけ進める。
ステップ S720は、第 2ポインタに処理単位の時間長 Tsを加算した時刻とエンド点と を比較するステップであり、ループの終了条件を規定する。第 2ポインタに処理単位 の時間長 Tsを加算した時刻力 エンド点を越えない限り、本ループは繰り返されるこ とがわかる。エンド点を越えれば、ステップ S750に移行する。以上のように、本ルー プでは、第 2ポインタを、 A Td刻みに変化させてゆき、時間軸における各座標におい て、最小二乗誤差 R(i)がどれだけになつているかを算出していることがわかる。
[0079] ステップ S750は、(数 3)に基づいて求めた必要延長時間 Taに累計延長時間 Tas が到達するまで、時間 ATd毎に求めた最も高い類似度 R(j)の中から、さらに類似度 の高 、順にセグメントの組の選択を行う。
ステップ S751は、類似度が高いとして選択されたセグメントの組に対し、重み付け 加算を行って出力する。
[0080] 図 8は、処理単位 iにつ 、て最適時間差 TLoptと、最小二乗誤差 R_minとを算出する 処理の詳細な処理手順を示すフローチャートである。
ステップ S705は、最小二乗誤差 R_minを初期値 Nに初期設定するステップであり、 ステップ S706は、時間差 T1を初期値 TLmaxに初期設定する。ステップ S707〜ステツ プ S714は、ステップ S714を終了条件とし、変数 T1を制御変数としたループを構成し ている。
[0081] ステップ S707は、(第 2のポインタ- T1)を開始点として、 Ts個のセグメントを入力す るステップであり、ステップ S708は、第 2のポインタを開始点として Ts個のセグメントを 入力するステップである。かかるステップにより、数 1、数 2に示した Xl(l)〜Xl(Ts)と、 X2(l)〜X2(Ts)とが入力されることになる。
ステップ S709は、(数 1)に基づいて時間差 T1の時の XIと X2の二乗誤差 R(T1)を 計算する。
[0082] ステップ S710は、最小二乗誤差 R_minと二乗誤差 R(T1)との比較であり、ステップ S 711及びステップ S712を実行する力スキップするかの切り替えを行う。
二乗誤差 R(T1)が R_minよりも小さければステップ S711及びステップ S712を実行 するが、大きければ、これらのステップをスキップしてステップ S 13に移行する。
ステップ S711は、二乗誤差 R (T1)を用いて最小二乗誤差 R_minを更新するステップ である。
[0083] ステップ S712は、時間差 T1を最適時間差 TLoptとして更新するステップである。
ステップ S713は、時間差 T1を 1サンプルだけ減少させる。 ステップ S714は、時間差 T1と最小時間差 TLminとを比較すると ヽぅ判定ステップで あり、本ループの終了条件は、ステップ S714が Yesと判定されることである。時間差 T1 が最小時間差 TLminよりも小さくない場合にはステップ S707に戻って、本ループの 実行が継続される。時間差 T1が最小時間差 TLminよりも小さい場合には、図 7のフロ 一チャートにリターンしてステップ S715に進むことで、時間差 T1を最大時間差 TLmax 力 最小時間差 TLminの範囲で変える。 T1は、 Tljnax力 TLminまでの数値範囲を変 化し、第 1ポインタは、第 2ポインタ- T1により定まるので、第 1ポインタは、第 2ポインタ -TLmaxから第 2ポインタ- TLminまでの数値範囲を変化する。
[0084] このフローチャートは、変数 iがインクリメントされ、第 2ポインタが Δ Td刻みに移動す る毎に実行されるので、第 2ポインタが A Tdだけ変化する毎に、第 1ポインタが、第 2 ポインタ- TLmax力も第 2ポインタ- TLminまでの値をとることになる。第 2ポインタが Δ Τ d刻みに移動した場合の各移動位置において、類似度が最高になるところの XIの位 置力 本フローチャートの実行により計算されることになる。
[0085] 以降、ステップ S750の詳細について説明する。このステップ S750は、以下の (数 3) を満たす複数のセグメントの組みを選択すると 、うものであり、その手順を表したのが 図 9のフローチャートである。
図 9は、時間 ATd毎に求めた最も高い類似度 R (j)の中から、さらに類似度の高い 順にセグメントの組を選択する処理手順を示すフローチャートである。
[0086] ステップ S722〜736は、スタート点からエンド点までの範囲で時間 ATd毎に処理 単位 iを変えるループ処理である。
ステップ S722は、時間軸変換比 aにするための必要延長時間 Taを計算する。 ステップ S723は、累計延長時間 Tasを初期値 0に初期設定する。ステップ S724〜 ステップ S736は、ステップ S736を終了条件とし、変数 Tasを制御変数とした第 1ルー プを構成している。ステップ S723は、この第 1ループに初期条件を与えるものである
[0087] ステップ S724は、類似度 Rを初期値 Nに初期設定して、処理単位カウンタ jを初期 値 0に初期設定し、処理単位 kを- 1に初期設定する。この jは、 0からほでの変数にて 特定される XI、 X2の組みのうち、処理対象となるものを示す。 ステップ S727〜ステップ S732は、ステップ S732を終了条件とし、変数 jを制御変 数とした第 2ループを構成している。ステップ S724は、この第 2ループに初期条件を 与えるものである。この第 2ループは、 jを 0からほでの範囲で変化させて (ステップ S7 31、ステップ S732)、最小となる R(j)を用いて、 Rを更新するものである (ステップ S728 、ステップ S729)。またその最小となる時の jを、 kとして保存するものである。
[0088] ステップ S727は、 j番目の処理単位の選択フラグ M (j)が 0でな!/ヽかどうかの判定ス テツプであり、ステップ S728、ステップ S729を実行する力、スキップするかの切り替 えを行う。ここで、第 2ループにおいて、 jは同じ数値範囲、つまり、 0からほでの数値 範囲を変化するので、同じ XI、 X2の組み力 重複して選択される可能性がある。力 力る重複選択を排除するの力 このステップ S727の役割である。
[0089] ステップ S728は、類似度 Rを処理単位 jにおける類似度 R (j)と比較するステップで あり、ステップ S729を実行する力、スキップするかの切り替えを行う。本フローチヤ一 トでは、類似度として最小二乗誤差を用いているので、本ステップでは、 R(j)が Rより小 さいかどうか、つまり、 R>R(j)という数式にて、本ステップにおける比較内容を表現し ている。類似度 Rが、類似度 R(j)よりも低い(二乗誤差は大きい)ならばステップ S729 へ進む。類似度 Rが、類似度 R(j)よりも高い(二乗誤差は大きくない)ならばステップ S 729をスキップしてステップ S731へ進む。
[0090] ステップ S729は、類似度 Rを処理単位 jにおける類似度 R (j)で更新し、選択された 処理単位 kを処理単位 jに更新する。
ステップ S731は、変数 jをインクリメントするステップである。
ステップ S732は、 iと処理単位カウンタ jとの比較であり、第 2ループの終了条件を規 定する。上述したような、ループ処理を抜けた後なので、 iは、全処理単位数を示す値 になって!/、る。全処理単位数 処理単位 jより小さくな 、ならばステップ S727に戻り 、本ループを継続する。全処理単位数を示す iが処理単位 jより小さいならばステップ S733に進み、本ノレープを抜ける。
[0091] 第 2ループでは、ステップ S728での比較で Yesと判定されれば、 R(j)の値を用いて、 Rを更新してゆくので (ステップ S729)、 0≤j≤iの範囲において Rは、最低の値になる 。また、最低になったときの jの値は、 kとして保存されることになる。 ステップ S733は、選択処理単位 kが負かどうかの判定であり、かかるループの終了 条件を規定する。選択処理単位 kが負であることは、第 2ループにおいて、 kがー度も 更新されなかったことを意味する。この場合、本フローチャートの処理を終了する。
[0092] ステップ S735は、類似度が高!、として選択された k番目の処理単位の選択 M (k)に 1を設定すると共に、累計延長時間 Tasを更新するステップであり、累計延長時間 Tas の更新は、 k番目の処理単位における X2 (k)の先頭時刻と、 k番目の処理単位にお ける XI (k)の先頭時刻の時間差とを加算することでなされる。かかる加算が、第 1ル ープにおいて繰り返し実行されるので、 XI、 X2の時間差の累計力 Tasに得られること になる。
[0093] ステップ S736は、更新後の必要延長時間 Taが累計延長時間 Tasを越えたかどうか の判定であり、越えない場合、ステップ S724に戻ってループを継続し、次に類似度 の高いセグメントの組の選択を行う。越える場合、ループの終了条件は満たされたと して、本フローチャートの処理は終了することになる。
上述したように、類似度 Rを最高にするための処理 (ステップ S728、ステップ S729) は、選択フラグ M (j)が 0に設定されている場合に実行されるので、ステップ S735に おいて、 Tasを更新すると共に、 M(j)が 1に更新されることで、一度選択された jの値は 、選択から除外される。そうすると、本第 1ループの 2巡目には、 2番目に値が小さい X (j)が類似度 Rに設定されることになり、 3巡目には、 3番目に値力 S小さい X(j)が類似度 Rに設定されることになる。こうすることで、類似度 Rが小さい順に、 XI、 X2の組みが選 ばれてゆくことになる。
[0094] ステップ S751の処理手順の詳細について説明する。ステップ S751は、セグメント の組みに対して、以下の (数 5)に基づく重ね合わせを実行する手順であり、その詳細 なフローチャートを図 10に示す。図 10は、類似度が高いとして選択されたセグメント の組に対し、重み付け加算を行って出力する処理手順を示すフローチャートである。 図 9では、類似度が高い順にセグメントの組みをソーティングした力 かかる類似度 の高さ順では、時系列にセグメントの組みを出力してゆくことができないので、図 10で は、第 2ポインタをスタート点 +Tl_maxに設定しなおすことで、セグメントの組みを時系 列に選択しなおして、重ね合わせの対象としている。 [0095] ステップ S737は、第 2ポインタにスタート点を設定する。ステップ S738は、処理単 位カウンタ jを初期値 0に初期設定する。
ステップ S739〜ステップ S746は、ステップ S746を終了条件とし、変数 jを制御変 数としたループを構成して!/、る。
ステップ S739は、第 2ポインタを開始点として j番目の処理単位における X2 (j)の先 頭時刻の直前までオーディオデータを入力してそのまま出力する。
[0096] ステップ S740は、選択フラグ M (j)に 1が設定されて!、るか否かの判定ステップであ り、ステップ S741〜ステップ S744の処理をスキップする力、そのまま実行するかを切 り替える。変数 jのうち、前図のフローチャートにおいて、選択の対象になっているもの は、 M(j)が" Γになっており、選択対象になつていないものは、 M(j)が" 0"になっている 。 0からほでの数値範囲をとる変数 jのうち、前図のフローチャートにおいて、選択フラ グ M (j)が 1に設定されているものは、処理単位 jの類似度が高ぐ選択対象であるとし てステップ S 741〜ステップ S 744を実行する。
[0097] 選択フラグ M (j)が 1に設定されて!、な 、ならば処理単位 jの類似度が高くなく選択さ れていないとしてステップ S 741〜ステップ S 744をスキップしてステップ S 745に進む ステップ S741は、 j番目の処理単位の XI (j)を構成する Ts個のセグメントを入力す る。ステップ S742は、 j番目の処理単位の X2 (j)を構成する Ts個のセグメントを入力 する。かかるステップにより、数 1、数 2に示した Xl(l)〜Xl(Ts)と、 X2(l)〜X2(Ts)と 力 S人力されること〖こなる。
[0098] ステップ S743は、数 5に基づき、重ね合わせを実行する。具体的には、ステップ S7 41、 742で入力された Xl(l)〜Xl(Ts)に対して、 Wl(l)〜Wl(Ts)を乗じると共に、 X 2(l)〜X2(Ts)に対して、 W2(l)〜W2(Ts)を乗じ、これらの乗算結果を加算して、加算 結果である Y(l)〜Y(Ts)を出力する。
ステップ S744は、第 1ポインタに示されている j番目の処理単位の XI (j)の先頭時 刻に、処理単位の時間長 Tsを加算し、 XI (j)末尾の時刻直後を第 2ポインタに設定 する。
[0099] ステップ S745は、変数 jをインクリメントする。 ステップ S746は、全処理単位数を示す iと処理単位カウンタ jとの比較であり、第 2 ループの終了条件を規定する。全処理単位数を示す iが処理単位 jより小さくな ヽなら ばステップ S739に戻り、本ループを継続する。全処理単位数を示す iが処理単位 jよ り小さいならばステップ S 747に進み、本ループを抜ける。
[0100] ステップ S747は、第 2ポインタを開始点としてエンド点までそのまま出力する。
ただしこのフローチャートでは簡単のため、単位時間とサンプリング周期とを等しい として表現している。
図 11 (a)〜(c)は、図 10のフローチャートによりオーディオデータのどの部分が出 力されるかを示す図である。
[0101] 図 11 (a)は、ステップ S739の 1巡目の実行にて、出力される部分を示す。ステップ S739の 1巡目の実行時には、第 2ポインタは、スタート点を指しているので、本図に 示すように、そのまま出力される区間は、スタート点力 第 2ポインタの直前までとなる 図 11 (b)は、ステップ S739の 2巡目以降の実行にて、出力される部分を示す。ステ ップ S739の 2巡目以降の実行時には、第 2ポインタは、 Xl(j)の先頭点 +Tsを指して いるので、本図に示すように、そのまま出力される区間は、 Xl(j)の先頭点から、 X20+ 1)の直前までとなる。
[0102] 図 11 (c)は、ステップ S747の実行にて、出力される部分を示す。ステップ S747の 実行時には、第 2ポインタは、 Xl(j)の先頭点 +Tsを指しているので、本図に示すよう に、そのまま出力される区間は、 Xl(j)の直後から、エンド点までとなる。
このように、ステップ S707力らステップ S714で、 2つのセグメント間の時間差を TLmi nから TLmaxまで、 1サンプルずつ変えて、 2つのセグメント間の類似度を (数 1)もしく は (数 2)に基づいて求め、その中力も最も類似度の高い 2つのセグメントを探索し、ス テツプ S715で最も高い類似度になる第 1のセグメントの先頭時刻 XI (0を記憶し、ス テツプ S716で最も高い類似度になる第 2のセグメントの先頭時刻 X2 (i)を記憶し、ス テツプ S 717で最も高 、類似度になる時の類似度 R (i)を記憶して 、る。
[0103] ステップ S722力らステップ S736は、入力となるオーディオデータにおける様々な セグメントの組み合わせの中から、類似度が特に高く重み付け加算するのに最適な セグメントの組を優先的に選択することができるので、音声欠落や音声重複が少なく 、音質劣化も少ないという効果がある。
また、所望の時間軸変換比 aが得られるのに必要な数の重み付け加算を行うセグ メントの組みだけを選択して、かつ重み付け加算されたセグメントの前後に任意の時 間長のオーディオデータを出力するので、時間軸変換比を細かくかつ精度良く変え ることができという効果もある。
[0104] ここで、類似度が高い値を持つセグメントの組は、一般的に無音区間や母音の発生 区間に偏在しているので、人間が発声速度を変える場合の速度の遷移に類似させる ことができると!/、う効果がある。
そして、時間 ATd毎に求めた最も高い類似度 R(j)の中から、類似度の高い順にセ グメントの組を選択するので、類似度が高くなるセグメント間の時間差 TLoptの決定と 、重み付け加算を行うセグメントの組の選択を、全て類似度という単一の評価尺度を 用いて行うので、処理の複雑さや処理量を抑えることができるという効果もある。
[0105] さらにステップ S741で、 j番目の処理単位の XI (j)の開始点から、 Xl(l)〜Xl(Ts) を入力し、ステップ S 742で、 j番目の処理単位の X2 (j)の開始点から、 X2(1)〜X2(T s)を入力して、これらの重ね合わせを行う結果、どのような場合でも重み付け加算した オーディオデータの出力の時間長を一定の処理単位の時間長 Tsにでき、音質が低 下しにくいという効果もある。以上が、時間軸伸長を行う場合の処理手順である。
[0106] 続いて、再生時間軸圧縮を行う場合の処理手順について説明する。
図 12は、時間軸圧縮( α≤ 1)による速度変換を行う場合の処理手順を示すフロー チャートである。これら図 12〜図 15のフローチャートの各ステップは、 800番台の参 照符号を付すことで、図 7〜図 10のフローチャートのステップと区別することにする。 ステップ S801は、時間軸変換比 αを読み込む。ステップ S802は、第 1ポインタに スタート点の値を初期設定する。ステップ S803は、処理単位カウンタ iを初期値 0に 初期設定する。ステップ S800、ステップ S815〜ステップ S821は、ステップ S820を 終了条件とし、変数 iを制御変数としたループを構成して 、る。
[0107] ステップ S800は、処理単位 iにつ 、て最適時間差 TLoptと、最小二乗誤差 R_minと を算出する。 ステップ S815は、第 1ポインタの時刻を、処理単位 iにおける XI (i)の先頭時刻とし て記憶する。ステップ S816は、第 1ポインタに最適時間差 TLoptをカ卩えた時刻を、処 理単位 iにおける X2 (i)の先頭時刻として記憶する。ステップ S817は、処理単位 iに おける類似度 R(i)として、求められた最小二乗誤差 Rjninを記憶する。ステップ S818 は、処理単位 iにおける選択 M (i)として、未選択を示す 0を記憶する。ステップ S819 は、第 1ポインタを時間 ATdだけ進める。
[0108] ステップ S820は、第 1ポインタに、最大時間差 TLmaxと処理単位の時間長 Tsをカロ 算した時刻と、エンド点との比較であり、本ループの終了条件を規定している。エンド 点が第 1ポインタに最大時間差 TLmaxと処理単位の時間長 Tsを加算した時刻よりも 小さいと判定された場合、本ループを抜けてステップ 850に移行する。大きいと判定 された場合、ステップ S821に移行する。
[0109] ステップ S850は、数 4に基づきセグメントの組みを選択するステップである。
ステップ S851は、類似度が高いとして選択されたセグメントの組に対し、重み付け 加算を行って出力する。
以降、ステップ S800の詳細について説明する。このステップ S800は複数のセグメ ントの組みを選択するというものであり、その処理手順を図 13のフローチャートに示 す。図 13は、処理単位 iについて最適時間差 TLoptと、最小二乗誤差 Rjninとを算出 する処理のフローチャートである。
[0110] ステップ S805は、最小二乗誤差 Rjninを初期値 Nに初期設定する。ステップ S806 は、時間差 T1を初期値 Tl_maxに初期設定する。ステップ S807〜ステップ S814は、ス テツプ S814を終了条件とし、変数 T1を制御変数としたループを構成して 、る。
ステップ S807は、第 1ポインタを開始点として、処理単位 XIを構成する Ts個のセグ メントを入力する。具体的には、 Xl(l)〜Xl(Ts)を入力する。ステップ S808は、(第 1 ポインタ +T1)を開始点として、処理単位 X2を構成する Ts個のセグメントを入力する。 具体的には、 X2(l)〜X2(Ts)を入力する。
[0111] ステップ S809は、(数 1)に基づいて時間差 T1の時の XIと X2の二乗誤差 R(T1)を 計算する。ステップ S810は、最小二乗誤差 Rjninと二乗誤差 R(T1)とを比較し、ステ ップ S811、ステップ S812をスキップする力、これらを実行するかを切り替えるもので ある。
R_minが二乗誤差 R (T1)よりも大きければステップ S811、 812を実行し、そうでなけ ればこれらのステップを実行する。
[0112] ステップ S811は、二乗誤差 R (T1)を新たな最小二乗誤差 R_minとして更新する。ス テツプ S812は、時間差 T1を最適時間差 TLoptとして更新する。ステップ S813は、時 間差 T1を 1サンプルだけ減少させる。ステップ S814は、時間差 T1と最小時間差 TLmin とを比較であり、本ループの終了条件を規定している。時間差 T1が最小時間差 TLmin よりも小さくない場合にはステップ S807に戻って本ループを継続する。時間差 T1が 最小時間差 TLminよりも小さい場合には、本フローチャートの処理を終える。
図 14は、時間 ATd毎に求めた最も高い類似度 R (j)の中から、さらに類似度の高い 順にセグメントの組の選択を行う処理手順を示すフローチャートである。本フローチヤ ートは、以下の (数 4)を満たす複数のセグメントの組みを選択するというものである。 ( 数 4)は、必要短縮時間 Taに累計延長時間 Tasが到達するまで、時間 ATd毎に求め た最も高い類似度 R (j)の中から、さらに類似度の高い順にセグメントの組の選択を行 うことを意味する。
[0113] ステップ S822は、(数 4)に基づいて、時間軸変換比 aにするための必要短縮時間 Taを計算する。ステップ S823は、累計短縮時間 Tasを初期値 0に初期設定する。ス テツプ S824〜ステップ S835は、ステップ S835を終了条件とし、変数 Tasを制御変 数としたループを構成している。ステップ S823は、このループに初期条件を与えるも のである。
[0114] ステップ S824は、類似度 Rを初期値 Nに初期設定し、処理単位カウンタ jを初期値 0 に初期設定して、選択処理単位 kを- 1に初期設定する。ステップ S827〜ステップ S8 32は、ステップ S832を終了条件とし、変数 jを制御変数としたループを構成している ステップ S827は、 j番目の処理単位の選択フラグ M (j)が 0でな!/、かどうかの判定で あり、ステップ S828、ステップ S829を実行する力、これらをスキップするかを切り替え る。 j番目の処理単位の選択フラグ M (j)が 1ならば既に j番目の処理単位は選択済み として、ステップ S828、ステップ S829をスキップしてステップ S831に進む。 j番目の 処理単位の選択フラグ M (j)が 0ならば未選択としてステップ S828に進む。
[0115] ステップ S828は、類似度 Rと、処理単位 jにおける類似度 R(j)との比較であり、ステ ップ S829を実行する力スキップするかの切り替えを行う。本フローチャートでは、類 似度として最小二乗誤差を用いているので、本ステップでは、 R(j)が Rより小さいかどう 力 つまり、 R>R(j)という数式にて、本ステップにおける比較内容を表現している。 類似度 Rが類似度 R (j)よりも高い(二乗誤差は大きくない)ならばステップ S829をス キップしてステップ S831へ進み、類似度 Rが類似度 R(j)よりも低い(二乗誤差は大き V、)ならばステップ S829を実行する。
[0116] ステップ S829は、処理単位 jにおける類似度 R(j)を用いて類似度 Rを更新し、処理 単位 jを用いて選択処理単位 kを更新する。
ステップ S831は、処理単位 jを 1増加させるステップであり、ステップ S832は、全処 理単位数を示す iと処理単位カウンタ jとの比較であり、第 2ループの終了条件を規定 する。全処理単位数を示す iが処理単位 jより小さくないならばステップ S827に戻り、 本ループを継続する。全処理単位数を示す iが処理単位 jより小さ!/、ならばステップ S 833に進み、本ループを抜ける。
[0117] ステップ S833は、選択処理単位 kが負かどうかの判定であり、本フローチャートの 終了条件を規定している。 kが負であるなら、全ての処理単位で重み付け加算処理 が終了しているとして本フローチャートの処理を終える。選択処理単位 kが負でない ならば重み付け加算が済んで ヽな 、処理単位が存在するとしてステップ S834に進 む。
ステップ S834は、類似度が高いとして選択された k番目の処理単位の選択 M (k)に 1を設定すると共に、累計短縮時間 Tasに k番目の処理単位 X2 (k)の先頭時刻と、 k 番目の処理単位 XI (k)の先頭時刻との時間差を加算することにより、累計短縮時間 Tasを更新する。
[0118] ステップ S835は、必要短縮時間 Taと累計短縮時間 Tasとの比較であり、本フローチ ヤート及びループの終了要件を規定する。必要短縮時間 Taが累計短縮時間 Tasより も大きいならばステップ S824に戻って次に類似度の高いセグメントの組の選択を行 い、必要短縮時間 Taが累計短縮時間 Tasよりも大きくないならば類似度の高いセグメ ントの組の選択を終了したとして本フローチャート及び本ループを終了する。
ステップ S851の処理手順の詳細について説明する。
[0119] ステップ S851は、セグメントの組みに対して、上述したような (数 6)に基づく重ね合 わせを実行する手順であり、その詳細なフローチャートを図 15に示す。
図 15は、類似度が高いとして選択されたセグメントの組に対し、重み付け加算を行 つて出力する処理手順を示すフローチャートである。
ステップ S837は、第 1ポインタをスタート点に設定し、ステップ S838は、処理単位 カウンタ jを初期値 0に初期設定する。図 14では、類似度が高い順にセグメントの組 みをソーティングした力 かかる類似度の高さ順では、時系列にセグメントの組みを出 力してゆくことができないので、図 15では、第 1ポインタをスタート点に設定しなおす ことで、セグメントの組みを時系列に選択しなおして、重ね合わせの対象としている。 ステップ S839〜ステップ S846は、ステップ S846を終了条件とし、変数 jを制御変 数としたループを構成している。ステップ S838は、このループに初期条件を与えるも のである。
[0120] ステップ S839は、第 1ポインタを開始点として j番目の処理単位の XI (j)の先頭時 刻の直前までオーディオデータを入力してそのまま出力する。ステップ S840は、選 択フラグ M (j)に 1が設定されているか否かの判定であり、ステップ S841〜ステップ S 844を実行する力、これらのステップをスキップするかの切り替えを行う。
選択フラグ M (j)が 1に設定されて!ヽるならば処理単位 jの類似度が高く選択されて いるとしてステップ S841〜ステップ S844の処理を実行する。選択フラグ M (j)が T に設定されて 、な 、ならば処理単位 jの類似度が高くなく選択されて 、な 、としてステ ップ S841〜ステップ S844の処理をスキップしてステップ S845に進む。
[0121] ステップ S841は、 j番目の処理単位の XI (j)を開始点として、処理単位 XIを構成 する Ts個のセグメントを入力する。具体的には、 Xl(l)〜Xl(Ts)を入力する。
ステップ S842は、 j番目の処理単位の X2 (j)を開始点として、処理単位 X2を構成 する Ts個のセグメントを入力する。具体的には、 X2(l)〜X2(Ts)を入力する。
ステップ S843は、(数 6)に基づいた重ね合わせを実行する。具体的には、ステップ S841、 842で入力された Xl(l)〜Xl(Ts)に対して、 W2(l)〜W2(Ts)を乗じると共に 、 X2(l)〜X2(Ts)に対して、 Wl(l)〜Wl(Ts)を乗じ、これらの乗算結果を加算して、 加算結果である Y(l)〜Y(Ts)を出力する。
[0122] ステップ S844は、第 2ポインタに示される処理単位の X2 (j)の先頭時刻に処理単 位の時間長 Tsを加算し、 X2 (j)の末尾の時刻の直後を第 1ポインタに設定する。 ステップ S845は、処理単位カウンタ jを 1つ増加させる。
ステップ S846は、全処理単位数を示す iと処理単位カウンタ jとの比較であり、全処 理単位数を示す iが処理単位 jより小さくな 、ならばステップ S839に戻って、本ループ の実行を継続する。
[0123] 全処理単位数を示す 処理単位 jより小さいならばステップ S847において、第 1の ポインタを開始点としてエンド点までのオーディオデータをそのまま出力した後、本フ ローチャートの処理を終える。 ただしこのフローチャートでは簡単のため、単位時間とサンプリング周期とを等しい として表現している。
[0124] 図 16 (a)〜(c)は、図 15のフローチャートによりオーディオデータのどの部分が出 力されるかを示す図である。
図 16 (a)は、ステップ S839の 1巡目の実行にて、出力される部分を示す。ステップ S839の 1巡目の実行時には、第 1ポインタは、スタート点を指しているので、本図に 示すように、そのまま出力される区間は、スタート点力も Xl(j)の直前までとなる。ここ で、 XIから X2までの間の部分は、出力されない。
[0125] 図 16 (b)は、ステップ S839の 2巡目以降の実行にて、出力される部分を示す。ステ ップ S839の 2巡目以降の実行時には、第 1ポインタは、 X2(j)の先頭点 +Tsを指して いるので、本図に示すように、そのまま出力される区間は、 X2(j)の直後から、 X10+D の直前までとなる。 Xl(j)と、 X2(j)との間、及び、 X1G+1)と、 X2(j+1)との間は、出力さ れない。
[0126] 図 16 (c)は、ステップ S847の実行にて、出力される部分を示す。ステップ S849の 実行時には、第 1ポインタは、 X2(j)の先頭点 +Tsを指しているので、本図に示すよう に、そのまま出力される区間は、 X2(j)及びその直後から、エンド点までとなる。
以上のように、ステップ S822力らステップ S835で、(数 4)に基づいて求めた必要 短縮時間 Taに累計短縮時間 Tasが到達するまで、時間 ATd毎に求めた最も高 、類 似度 R (j)の中から、さらに類似度の高い順にセグメントの組の選択を行うので、所望 の時間軸変換比 aが得られるのに必要な数の重み付け加算を行うセグメントの組み だけが選択でき、かつ重み付け加算されたセグメントの前後に任意の時間長のォー ディォデータを出力するので、時間軸変換比を細力べかつ精度良く変えることができ という効果もある。
[0127] ここで、類似度が高い値を持つセグメントの組は一般的に無音区間や母音の発生 区間に偏在しているので、人間が発声速度を変える場合の速度の遷移に類似させる ことができると!/、う効果がある。
更に、類似度が高くなるセグメント間の時間差 TLoptの決定と、重み付け加算を行う セグメントの組の選択を、全て類似度という単一の評価尺度を用いて行うので、処理 の複雑さや処理量を抑えることができると 、う効果もある。
[0128] 力!]えて、どのような場合でも重み付け加算したオーディオデータの出力の時間長を 一定の処理単位の時間長 Tsにでき、音質が低下しにくいという効果もある。
(第 2実施形態)
第 2実施形態は、第 1実施形態に述べた速度変換を、専用のハードウェアを用いて 実装する場合の改良に関する。
[0129] 図 17は、第 2実施形態に係る変換装置の内部構成を示す図であり、本図に示すよ うに、第 2実施形態に係る変換装置は、記憶回路 101、スィッチ回路 102、ノ ッファメ モリ回路 103、ノ ッファメモリ回路 104、類似度計算回路 105、判定回路 106、窓関 数発生回路 107、スィッチ回路 108、スィッチ回路 109、乗算回路 110、乗算回路 11 1、加算回路 112、スィッチ回路 113、出力バッファ回路 114、速度設定回路 115、 パラメータ記憶回路 116、ポインタ値計算回路 117、ポインタ制御回路 118、制御信 号発生回路 119、パラメータ選択回路 120から構成される。これら図 17の内部構成 図における構成要素には、 100番台の参照符号を付すことで、図 1の内部構成図に おける構成要素と区別することにする。
記憶回路 101は、オーディオデータを記憶しており、ポインタ制御回路 118が出力 するアドレス値と時間長に基づ 、て、所望の開始点と時間長のオーディオデータを 出力する。
[0130] スィッチ回路 102は、記憶回路 101が出力するオーディオデータの出力先をバッフ ァメモリ回路 103とバッファメモリ回路 104とスィッチ回路 113とから選択する。
バッファメモリ回路 103は、スィッチ回路 102から出力される Ts個のセグメント XIを 蓄える。
バッファメモリ回路 104は、スィッチ回路 102から出力される Ts個のセグメントの X2 を格納する。
[0131] 類似度計算回路 105は、 2つのセグメントの時間差 T1が最小時間差 TLminカゝら最大 時間差 TLmaxまでの範囲である場合において、バッファメモリ回路 103に格納されて いる XIと、ノ ッファメモリ回路 104に格納されている X2との類似度を算出する。 判定回路 106は、類似度計算回路 105がこれまで出力した類似度のうち、最も高 いものはどれである力判定して、その最高の類似度に対応する XI、 X2の組みを検 出して、カゝかる XIの先頭時刻と、 X2の先頭時刻と、類似度とをパラメータ記憶回路 1 16に出力する。
[0132] 窓関数発生回路 107は、漸増する窓関数と漸減する窓関数とを出力する。
スィッチ回路 108は、閉じることで、ノ ッファメモリ回路 103に格納された XIを乗算 回路 110に出力する。開いた場合、ノ ッファメモリ回路 103に格納された XIは、乗算 回路 110に出力されない。
スィッチ回路 109は、閉じることで、ノ ッファメモリ回路 104に格納された X2を乗算 回路 111に出力する。スィッチ回路 109が開いた場合、ノッファメモリ回路 104に格 納された X2は、乗算回路 111に出力されない。
[0133] 乗算回路 110は、パラメータ記憶回路 116に記憶され、パラメータ選択回路 120に より選択されたパラメータに基づいて記憶回路 101から出力されたセグメント XIに対 して窓関数発生回路 107が出力する一方の窓関数を乗じる。
乗算回路 111は、パラメータ記憶回路 116に記憶され、パラメータ選択回路 120に より選択されたパラメータに基づいて記憶回路 101から出力されたセグメント X2に対 して窓関数発生回路 107が出力する他方の窓関数を乗じる。
[0134] 加算回路 112は、乗算回路 110により窓関数が乗じられた XIと、乗算回路 111に より窓関数が乗じられた X2とを加算する。
スィッチ回路 113は、加算回路 112の出力、スィッチ回路 102の出力のうち一方を 選択して、出力バッファ回路 114に出力する。
出力バッファ回路 114は、スィッチ回路 113からの出力である、 XIと、 X2との重み 付け加算の結果を一旦蓄積し、速度調整を施した上で出力する。
[0135] 速度設定回路 115は、 GUI等を介したユーザ操作に従って入力された時間軸変換 比 α (出力時間長/入力時間長)を記憶する。
ノラメータ記憶回路 116は、図 4に示したセグメント選択ログを記憶する。本ログの 追記単位は、図 4と同じであり、 XIの先頭時刻と、 Χ2の先頭時刻との組みに、類似 度 (0と、選択フラグ M(i)とを対応付けることで構成される。力かるログの追記を行うた め、速度設定回路 115は、判定回路 106が最も高い値を検出した時の類似度と、ポ インタ制御回路 118が出力した 2つのセグメントに対応するアドレス値を、ポインタ値 計算回路 117が求めるために用いたセグメントの先頭時刻とを、それぞれ、判定回路 106、ポインタ値計算回路 117から受け取り、受け取った類似度、先頭時刻から追記 単位を作成して、これを選択ログに加える。
[0136] ポインタ値計算回路 117は、類似度計算回路 105が類似度を求めるべき、 2つのセ グメントのアドレス値を計算してポインタ制御回路 118に出力する。またパラメータ記 憶回路 116に記録されているパラメータに基づいて類似度の高い、 XI、 Χ2の組み のアドレス値と時間長を計算すると共に、その前後に連続するセグメントのアドレス値 と時間長を計算してポインタ制御回路 118に出力する。
[0137] ポインタ制御回路 118は、ポインタ値計算回路 117により計算されたアドレス値に基 づき、第 1実施形態に述べた第 1ポインタと、第 2ポインタを記憶回路 101に対して出 力して、力かる第 1ポインタ、第 2ポインタに基づき、 XI、 Χ2が読み出されるよう、記憶 回路 101を制御する。また、ポインタ値計算回路 117により計算された時間長に基づ き、第 1ポインタ、第 2ポインタを更新する処理を行う。
[0138] 制御信号発生回路 119は、スィッチ回路 102、 108、 109、 113に対する制御を行 う。ここで、類似度計算回路 105が類似度を計算する場合、スィッチ制御としては、ス イッチ回路 102をバッファメモリ回路 103側もしくはバッファメモリ回路 104側に倒し、 スィッチ回路 108とスィッチ回路 109とを開くというものになる。
加算回路 112による加算結果を出力する場合、スィッチ制御としては、スィッチ回 路 102をバッファメモリ回路 103側もしくはノッファメモリ回路 104側に倒し、スィッチ 回路 108とスィッチ回路 109は閉じ、スィッチ回路 113を加算回路 112側に倒すとい うものになる。記憶回路 101に記憶されているセグメントを、そのまま出力バッファ回 路 114に出力する場合、スィッチ制御は、スィッチ回路 102をスィッチ回路 113側に 倒し、スィッチ回路 113をスィッチ回路 102側に倒すというものになる。
[0139] パラメータ選択回路 120は、類似度の高い順番に、速度設定回路に設定されてい る時間軸変換比 aが得られる組数だけ、セグメントの組を選択する。ここで選択の対 象となるのは、時間範囲 Tr内に存在する複数のセグメントであって、パラメータ記憶 回路 116に先頭時刻が記憶されているもののどれかである。
以上が、本実施形態に係る変換装置のハードウェア構成を示す図である。
[0140] 続いて、類似度計算回路 105のハードウェア構成の詳細について、図 18、図 19を 参照しながら説明する。ここで類似度としては、二乗誤差、相関関数といった 2種類の ものがあり、これらのどちらを類似度として採用するかによって、類似度計算回路 105 のハードウェア構成は変わってくる。先ず最初に、二乗誤差を採用した場合の内部 構成について説明する。
[0141] 図 18は、類似度の評価関数として二乗誤差を採用した場合の類似度計算回路 10 5の内部構成を示す図であり、シフトレジスタメモリ回路 201、シフトレジスタメモリ回路 202、減算回路 203_l〜203_Ts、乗算回路 204_l〜204_Ts、加算回路 205からな る。
シフトレジスタメモリ回路 201には、バッファメモリ回路 103に蓄えられている処理単 位 XIが逐次入力される。シフトレジスタメモリ回路 201に入力される処理単位 XIは、 Ts個のセグメントである、 Χ1(1),Χ1(2),Χ1(3) · · · 'Xl(Ts— l),Xl(Ts)から構成される。
[0142] シフトレジスタメモリ回路 202には、バッファメモリ回路 104に蓄えられている処理単 位 X2が逐次入力される。シフトレジスタメモリ回路 202に入力される X2は、 Ts個のセ グメントである、 Χ2(1),Χ2(2),Χ2(3) · · · 'X2(Ts— l),X2(Ts)から構成される。
減算回路 203_l〜203_Tsは、シフトレジスタメモリ回路 201に蓄えられている Xl(l), Χ1(2),Χ1(3)· · · 'Xl(Ts— l),Xl(Ts)から、シフトレジスタメモリ回路 202に蓄えられてい る Χ2(1),Χ2(2),Χ2(3)· · · .X2(Ts— l),X2(Ts)を減じる演算を、 Ts個同時に実行する。
[0143] 乗算回路 204_l〜204_Tsは、減算回路 203_l〜203_Tsの出力を二乗する。
加算回路 205は、乗算回路 204_l〜204_Tsの出力の総和を求め、結果を二乗誤 差として出力する。類似度計算回路 105が行う二乗誤差の演算は、第 1実施形態で 述べた (数 1)に従う。以上が、類似度として二乗誤差を採用した場合の、類似度計算 回路 105の内部構成についての説明である。
[0144] 続いて、相関関数を採用した場合の内部構成について説明する。図 19は、類似度 の評価関数として、相関関数を採用した場合場合の類似度計算回路 105の内部構 成を示す図であり、シフトレジスタメモリ回路 301、シフトレジスタメモリ回路 302、乗算 回路 303_l〜303_Ts、加算回路 304である。
シフトレジスタメモリ回路 301には、バッファメモリ回路 103に蓄えられているセグメ ント XIが逐次入力される。シフトレジスタメモリ回路 301に入力される処理単位 XIは 、 Ts個のセグメントである、 Χ1(1),Χ1(2),Χ1(3) · · · 'Xl(Ts— l),Xl(Ts)から構成される。
[0145] シフトレジスタメモリ回路 302には、バッファメモリ回路 104に蓄えられているセグメ ントが逐次入力される。シフトレジスタメモリ回路 302に入力される処理単位 X2は、 Ts 個のセグメントである、 Χ2(1),Χ2(2),Χ2(3)· · · 'X2(Ts— l),X2(Ts)から構成される。 乗算回路 303_l〜303_Tsは、シフトレジスタメモリ回路 301に蓄えられている Xl(l), Χ1(2),Χ1(3)· · · 'Xl(Ts— l),Xl(Ts)と、シフトレジスタメモリ回路 302に蓄えられている Χ2(1),Χ2(2),Χ2(3)· · · 'X2(Ts— l),X2(Ts)との乗算を、 Ts個同時に実行する。
[0146] 加算回路 304は、乗算回路 303_l〜303_Tsの出力の総和を求め、結果を相関関 数として出力する。類似度計算回路 105が行う相関関数の演算は、第 1実施形態で 述べた (数 2)に従う。以上が、類似度として相関関数を採用した場合の、類似度計算 回路 105の内部構成についての説明である。
続いて、判定回路 106のハードウェア構成の詳細について、図 20を参照しながら 説明する。
[0147] 図 20は、判定回路 106の内部構成を示す図であり、類似度メモリ回路 401、比較 回路 402、最大/最小メモリ回路 403から構成される。 類似度メモリ回路 401には、類似度計算回路 105により計算された類似度が記憶さ れる。
最大/最小メモリ回路 403には、類似度の最大値もしくは最小値が記憶されている。 最大/最小メモリ回路 403が最小値を記憶するのは、評価関数が二乗誤差の場合で ある場合であり、比較回路 402が最大値を記憶するのは評価関数が相関関数の場 合である。
[0148] 比較回路 402は、類似度メモリ回路 401が出力する現在の類似度と、最大/最小メ モリ回路 403に記憶されている過去における類似度の最大値もしくは最小値とを比 較する。この比較の結果、類似度メモリ回路 401に記憶されている類似度が、最大値 より大きいこと、又は、最小値より小さいことを条件にして、類似度メモリ回路 401に記 憶されている類似度を、最大/最小メモリ回路 403に書き込むことにより、最大/最小メ モリ回路 403における最大値又は最小値の更新を行う。力かる更新にあたって、パラ メータ記憶回路 116に対し、現在の XIの先頭時刻と、 X2の先頭時刻とを、類似度の 高いセグメントの組の候補として記憶するように指示を出す。以上が判定回路 106の 内部構成である。これで、速度変換を実行するためのハードウェア構成の説明を終え る。
[0149] 以上のようにして構成された変換装置の動作にっ 、て、以下説明する。
(類似度算出)
2つのセグメント X1、X2間の時間差を TLmin力も Tljnaxまでの範囲で変化させなが ら、類似度計算回路 105がバッファメモリ回路 103に格納された XIとバッファメモリ回 路 104に格納された X2との類似度を算出する。次に、判定回路 106は類似度計算 回路 105が出力する類似度の内から類似度の最も高い値を示すセグメントの組を検 出する。
[0150] そして、 2つのセグメントに対応するアドレス値をポインタ値計算回路 117が求める ために用いた 2つのセグメントの開始時刻と、セグメントの類似度とを、 1つの追記単位 として、パラメータ記憶回路 116における選択ログに追記する。
(:セグメントの選択;)
これらの処理を、所定の時間範囲 Tr内の複数の異なる時刻において行う。そしてパ ラメータ選択回路 120が、パラメータ記憶回路 116に記憶されている所定の時間範 囲 Tr内の複数の異なる時刻で求めた類似度の中から類似度の高い順番に、速度設 定回路 115に設定されている所望の時間軸変換比 aが得られる組数だけセグメント の組を選択する。ここでパラメータ記憶回路 116の追記単位において、選択されたセ グメントに対応する追記単位における選択フラグをオンに設定し、選択されな力つた セグメントに対応する追記単位における選択フラグはオフに設定する。
[0151] (重ね合わせ)
そしてパラメータ記憶回路 116の選択ログにおいて、オンと設定された追記単位に 対応するセグメントの組は、乗算回路 110、乗算回路 111、加算回路 112により重み 付け加算されて出力され、それ以外の区間におけるセグメントは、そのまま出力され る。
第 1実施形態で述べた図 5に対して、本実施形態に係る変換装置が、時間軸伸張 ( 時間軸変換比 a =4/3)の場合の処理を以下に説明する。
G番目の処理単位)
記憶回路 101に記録されているオーディオデータのうち、潘目の処理単位に対す る処理を行う。ここでは、 i番目の処理単位においてポインタ制御回路 118が出力する ポインタ 502_iとポインタ 503_iとを基準として、 Xl(l)〜Xl(Ts)と X2(l)〜X2(Ts)とが ノ ッファメモリ回路 103とバッファメモリ回路 104に、読み出される。
[0152] X2に対する時間差を、 TLmin力 TLmaxまでの範囲で変化させつつ、 XIを取り込 んでゆき、 XIと、 X2との類似度を類似度計算回路 105に算出させる。
そして判定回路 106により類似度の高い値の探索が行われ、その時の XIと X2の 時間差が TLoptとして算出される。類似度の評価関数が二乗誤差の場合には、判定 回路 106により類似度計算回路 105が出力する二乗誤差の最小値が検出され、類 似度の評価関数が相関関数の場合には、判定回路 106により類似度計算回路 105 力 S出力する相関関数の最大値が検出される。
[0153] パラメータ記憶回路 116は、判定回路 106が最高の類似度を検出した時の類似度 の値と、 XIの先頭時刻と、 X2の先頭時刻とを記憶する。
(i+1番目の処理単位) 次に i+1番目の処理単位においてポインタ制御回路 118が出力するポインタ 502_i+ 1と、ポインタ 503J+1とを基準として、 X2'に対する時間差を、 TLmin力も Tl_maxまで 変化させつつ、 XI 'を取り込む。そして、 XI 'と、 X2'との類似度が類似度計算回路 105に算出される。
[0154] 判定回路 106による類似度の高い値の探索が行われ、その時の XI 'と X2'の時間 差が TLopt'となる。判定回路 106が最高の類似度を検出した時の類似度の値と XI ' の先頭時刻と X2'の先頭時刻は、パラメータ記憶回路 116により記憶される。
G+2番目の処理単位)
i+2番目の処理単位においてポインタ制御回路 118が出力するポインタ 502_i+2と ポインタ 503_i+2とを基準として同様の処理がなされる。
[0155] 判定回路 106により最高の類似度が検出されれば、その時の類似度の値と XI"の 先頭時刻と X2"の先頭時刻とが、パラメータ記憶回路 116に記憶される。図 5の例で はこれで探索は終わる。
(類似度に基づくソーティング)
次にパラメータ選択回路 120が、パラメータ記憶回路に記憶されている潘目カも i+ 2番目の処理単位における類似度の高い値を比較し、類似度の高い方からセグメン トの組を選択していく。そして出力信号の時間長が、入力信号の時間長に対して速 度設定回路 115に設定された時間軸変換比 a (出力時間長/入力時間長)になるま で、パラメータ選択回路 120が (数 3)に基づいて、類似度の高いセグメントの組の選 択を繰り返す。
[0156] 図 5の例では、セグメントの糸 1X1と X2および XI,と X2'の類似度が高ぐこれら 2つ のセグメントの組の選択により(数 3)の条件が満足されるとパラメータ選択回路 120に より判断され、パラメータ記憶回路 116における選択フラグがオンに設定される。
(重ね合わせ)
パラメータ記憶回路 116に記憶されて 、るセグメントの先頭時刻に基づ!/、て、ボイ ンタ値計算回路 117によりアドレス値が算出される。ポインタ制御回路 118が出力し た 2つのセグメントに対応するアドレス値により、時間長 Tsの X2 (511)と XI (510)が 記憶回路 101から読み出され、ノ ッファメモリ回路 104とバッファメモリ回路 103とに 出力される。
[0157] 窓関数発生回路 107は、漸増する窓関数 512と漸減する窓関数 513とを出力し、 乗算回路 110はバッファメモリ回路 103に蓄えられている XI (510)に対して窓関数 発生回路 107が出力する漸増する窓関数 512を乗じて出力し、乗算回路 111はバッ ファメモリ回路 104に蓄えられている X2 (511)に対して窓関数発生回路 107が出力 する漸減する窓関数 513を乗じて出力する。
[0158] 加算回路 112は乗算回路 110の出力と乗算回路 111の出力とを加算した加算結 果 514を出力バッファ回路 114に出力する。そしてポインタ制御回路 118が XIに後 続するサンプルを開始点とし、 X2 'の開始点直前のサンプルを終了点とする XO (51 6)を記憶回路 101から読み出し、出力バッファ回路 114に出力する。
次にパラメータ記憶回路 116に記憶されて 、るセグメントの糸 1X1,と X2,のセグメン トの先頭時刻に基づいて、ポインタ値計算回路 117によりアドレス値が求められ、ボイ ンタ制御回路 118が出力した 2つのセグメントのアドレス値により、時間長 Tsの X2'と XI,とが記憶回路 101から読み出されて、ノッファメモリ回路 104とバッファメモリ回 路 103とに出力される。
[0159] 窓関数発生回路 107は、漸増する窓関数 512と漸減する窓関数 513とを出力し、 乗算回路 110はバッファメモリ回路 103に蓄えられている XI 'に対して窓関数発生回 路 107が出力する漸増する窓関数 512を乗じて出力する。乗算回路 111はバッファ メモリ回路 104に蓄えられている X2'に対して窓関数発生回路 107が出力する漸減 する窓関数 513を乗じて出力し、加算回路 112は乗算回路 110の出力と乗算回路 1 11の出力とを加算した信号 517を出力バッファ回路 114に出力する。そしてポインタ 制御回路 118が XI 'に後続するサンプルを開始点とし、 X2" (519)の開始点直前の サンプルを終了点とする X3 (518)と、 X2" (519)と、 X2" (519)に後続するサンプ ルを開始点とするオーディオデータ X4 (520)を記憶回路 101から読み出し、出カバ ッファ回路 114に出力する。
[0160] 上記処理を入力信号が終了するまで繰り返しても良いし、全入力信号に対して上 記処理を 1回で施してしまっても良い。 また、第 1実施形態に示した図 6の具体例に対して、本実施形態に係る変換装置が 、時間軸圧縮 (時間軸変換比 a =2/3)を行う場合の動作例につ 、て説明する。
G番目の処理単位)
記憶回路 101に記録されているオーディオデータに対して、潘目の処理単位を処 理する場合をここでは想定している。この場合、ポインタ制御回路 118が出力するポ インタ 602_iとポインタ 603_iを基準として、バッファメモリ回路 103とバッファメモリ回路 104とに、 Xl (l〜Ts)と X2 (l〜Ts)とが読み出される。 X2は、 604で示される XIに 対して、 TLminだけ遅延する 607_minから TLmaxだけ遅延する 607_maxまで範囲に存 在し得る。
[0161] TLmin力 TLmaxまで、 1サンプルずつ時間差を変化させながら、 X2を取り込んで ゆく。そして XIとの類似度を類似度計算回路 105に求めさせる。こうして、 XIと、 X2 との類似度が算出されれば、判定回路 106により類似度の高い値の探索が行われる 。その結果、得られた XIと X2の時間差を TLoptとする。類似度の評価関数が二乗誤 差の場合には、判定回路 106は類似度計算回路 105が出力する二乗誤差の最小値 を検出し、類似度の評価関数が相関関数の場合には、判定回路 106は類似度計算 回路 105が出力する相関関数の最大値を検出する。こうして、最高の類似度が算出 されれば、パラメータ記憶回路 116は、判定回路 106が最高の類似度を検出した時 の類似度の値と XIの先頭時刻と X2の先頭時刻を記憶する。
(i+1番目の処理単位)
次に i+1番目の処理単位においてポインタ制御回路 118が出力するポインタ 602_i+ 1とポインタ 603_i+lを基準として、 X2 'を XI 'に対して遅延する時間差を、 TLminから TLmaxまで、 1サンプルずつ変えながら取り込み、 XI 'との類似度を類似度計算回路 105が求め、判定回路 106が類似度の高い値の探索を行い、その時の XI 'と X2 'の 時間差は TLopt 'となり、ノ メータ記憶回路 116は、判定回路 106が最高の類似度 を検出した時の類似度の値と XI,の先頭時刻と X2'の先頭時刻を記憶する。
[0162]
G+2番目の処理単位)
さらに i+2番目の処理単位においてポインタ制御回路 118が出力するポインタ 602_i +2とポインタ 603_i+2を基準として同様の処理を行い、パラメータ記憶回路 116は、 判定回路 106が最高の類似度を検出した時の類似度の値と XI"の先頭時刻と X2" の先頭時刻を記憶する。図 6の例ではこれで探索は終わり、次にパラメータ選択回路 120が、パラメータ記憶回路に記憶されている i番目カゝら i+2番目の処理単位における 類似度の高い値を比較し、類似度の高い方力もセグメントの組を選択していく。そし て出力信号の時間長が、入力信号の時間長に対して速度設定回路 115に設定され た時間軸変換比 a (出力時間長/入力時間長)になるまで、パラメータ選択回路 120 が(数 4)に基づいて、類似度の高いセグメントの組の選択を繰り返す。
(類似度の判断)
図 6の例では、セグメントの糸 1X1と X2および XI 'と X2'の類似度が高ぐこれら 2つ のセグメントの組の選択により(数 4)の条件が満足されるとパラメータ選択回路 120が 判断し、ノ メータ記憶回路 116に選択のフラグを立てる。そしてパラメータ記憶回路 116に記憶されて 、るセグメントの先頭時刻に基づ 、て、ポインタ値計算回路 117が アドレス値を求め、ポインタ制御回路 118が出力した 2つのセグメントに対応するアド レス値により、時間長 Tsの XI (610)と X2 (611)を記憶回路 101から読み出し、バッ ファメモリ回路 103とバッファメモリ回路 104とに出力する。
(XI, X2に対する重ねあわせ)
窓関数発生回路 107は、漸減する窓関数 612と漸増する窓関数 613とを出力し、 乗算回路 110はバッファメモリ回路 103に蓄えられている XI (610)に対して窓関数 発生回路 107が出力する漸減する窓関数 612を乗じて出力する。乗算回路 111は ノ ッファメモリ回路 104に蓄えられている X2 (611)に対して窓関数発生回路 107が 出力する漸増する窓関数 613を乗じて出力し、加算回路 112は乗算回路 110の出 力と乗算回路 111の出力とを加算した信号 614を出力バッファ回路 114に出力する 。そしてポインタ制御回路 118が X2に後続するサンプルを開始点とし、 XI 'の開始 点直前のサンプルを終了点とする X0 (616)を記憶回路 101から読み出し、出力バッ ファ回路 114に出力する。
次にパラメータ記憶回路 116に記憶されているセグメントの糸 1X1,と X2,のセグメン トの先頭時刻に基づいて、ポインタ値計算回路 117がアドレス値を求め、ポインタ制 御回路 118が出力した 2つのセグメントのアドレス値により、時間長 Tsの XI,と X2 'を 記憶回路 101から読み出し、バッファメモリ回路 103とバッファメモリ回路 104とに出 力する。
(XI ' ,X2 'に対する重ねあわせ)
窓関数発生回路 107は、漸減する窓関数 612と漸増する窓関数 613とを出力し、 乗算回路 110はバッファメモリ回路 103に蓄えられている XI 'に対して窓関数発生回 路 107が出力する漸減する窓関数 612を乗じて出力する。乗算回路 111はバッファ メモリ回路 104に蓄えられている X2'に対して窓関数発生回路 107が出力する漸増 する窓関数 613を乗じて出力し、加算回路 112は乗算回路 110の出力と乗算回路 1 11の出力とを加算した信号 617を出力バッファ回路 114に出力する。そしてポインタ 制御回路 118が X2'に後続するサンプルを開始点とするオーディオデータ X4 (618 )を記憶回路 101から読み出し、出力バッファ回路 114に出力する。
[0164] 上記処理を入力信号が終了するまで繰り返しても良いし、全入力信号に対して上 記処理を 1回で施してしまっても良い。
以上のように本実施形態によれば、パラメータ記憶回路 116が判定回路 106の検 出した最も類似度の高い時の類似度の値と XIの先頭時刻と X2の先頭時刻を記憶し 、ノ ラメータ選択回路 120が、ノ ラメータ記憶回路 116に記憶されている複数の異な る時刻の処理単位における類似度の値を比較して、類似度の高 、方カゝら順番にセグ メントの組を選択する結果、入力信号のある範囲内における様々なセグメントの組み 合わせの中から、類似度が高く重み付け加算するのに最適なセグメントの組を優先 的に選択することができるので、音声欠落や音声重複が少なぐ音質劣化も少ないと いう効果がある。
[0165] また、パラメータ選択回路 120が、パラメータ記憶回路 116の記憶されている複数 の異なる時刻に求めた高い類似度のセグメントの組の中から、さらに類似度の高い値 を持つセグメントの組を、(数 3)もしくは (数 4)に基づいて所望の時間軸変換比 aが 得られる組数だけ選択するので、所望の時間軸変換比 aに細かくかつ精度良く変え ることができという効果もある。
[0166] ここで、類似度が高い値を持つセグメントの組は一般的に無音区間や母音の発生 区間に偏在しているので、人間が発声速度を変える場合の速度の遷移に類似させる ことができると!/、う効果がある。
そして類似度計算回路 105は、類似度が高くなるセグメント間の時間差の決定と重 み付け加算を行うセグメントの組の選択を、類似度と 、う単一の評価尺度を用いて行 うので、処理の複雑さや処理量を抑えることができると!/、う効果もある。
[0167] さらにパラメータ記憶回路 116に記憶されているパラメータに基づいて、ポインタ値 計算回路 117がアドレスを計算し、記憶回路 101からバッファメモリ回路 103とバッフ ァメモリ回路 104に類似度が高いセグメントの組 (XI, X2)を読み出すので、どのよう な場合でも加算回路 112の出力の時間長を一定の処理単位の時間長 Tsにでき、音 質が低下しにく 、と 、う効果もある。
[0168] 以上のように本実施形態によれば、速度変換をノ、一ドウ アで実現するので、かか るハードウェア構成の一部又は全部のパイプラインィ匕を実現することで、速度変換の 高速ィ匕を図ることができる。
(第 3実施形態)
本実施形態は、第 1実施形態又は第 2実施形態に示した音声再生のための変換装 置を、映像及び音声の再生を行う再生装置に組込む場合の改良に関する。
[0169] 図 21は、第 3実施形態に係る変換装置が組込まれる再生装置の内部構成を示す 図であり、本図に示すように、本実施形態に係る再生装置は、記憶回路 1、映像音声 分離回路 2、映像復号回路 3、音声復号回路 4、音声速度変換装置 5、映像速度変 換装置 8、制御回路 9、速度設定回路 115から構成される。
映像速度変換装置 8は速度設定回路 115から出力された時間軸変換比 aに基づ いて、映像復号回路 3から出力された映像信号に対して速度変換処理を施す。映像 速度変換は、時間軸変換比 a〉1の時間軸伸張の場合には映像フレームを繰り返し て(フリーズして)出力し、時間軸変換比 aく 1の時間軸圧縮の場合には映像フレーム を飛ばして (スキップして)出力することにより実現できる。特に時間軸圧縮の場合に は、 B-pictureをスキップするようにして、映像復号回路 3での B- pictureの復号処理を 省略することができる。映像速度変換装置 8での速度変換処理は、速度変換処理後 の映像の動きが滑らかになるように、ほぼ均等に (線形に)映像フレームのフリーズ/ スキップが実施される。
[0170] 音声速度変換装置 5は、第 2実施形態に示したものであり、速度設定回路 115から 出力された時間軸変換比 aに基づいて、音声復号回路 4から出力されたオーディオ データに対して速度変換処理を施す。音声速度変換装置 5での速度変換処理は、 類似度の高いセグメントの組が優先的に選択されて重み付け加算されるため、主に 無音区間や有音区間が伸張/圧縮される結果、非線形に速度が変わる。
[0171] 制御回路 9は、記憶回路 1に対して所望のデータを出力させるためのアドレスを出 力し、映像音声分離回路 2に対してビデオデータを分離抽出するための映像識別番 号とオーディオデータを分離抽出するための音声識別番号を出力し、映像復号回路 3に対して通常再生や特殊再生などの映像復号制御信号を出力する。映像速度変 換装置 8に対しては、速度変換処理の開始/停止などの映像速度変換制御信号を出 力し、音声復号回路 4に対して通常再生や特殊再生などの音声復号制御信号を出 力し、音声速度変換装置 5に対して速度変換処理の開始/停止などの音声速度変換 制御信号を出力する。
[0172] 速度設定回路 115は映像速度変換装置 8と音声速度変換装置 5と制御回路 9に所 望の時間軸変換比 aの情報を出力する。
以上のように本実施形態によれば、映像速度変換装置 8が時間軸に対してほぼ均 一に、つまり、線形に時間軸変換比 αで映像信号に速度変換処理を行い、音声速 度変換装置 5が時間軸に対して不均一に、つまり、非線形に、時間軸変換比 αでォ 一ディォデータに速度変換処理を行う結果、映像信号には簡単な処理でガクガクし ない滑らかな速度変換処理を施すことができ、オーディオデータには、人間が発声 速度を変える場合の速度遷移に類似した自然な速度変換を施すことができる。
[0173] さらに映像と音声の同期は途中でずれることはあるものの、音声速度変換装置 5は 非線形であるが正確に時間軸変換比 αで速度変換を行うので、少なくとも最後には 映像と音声の同期を一致させることができるという効果がある。
また、音声速度変換装置 5は第 1実施形態で示したように、所定の時間範囲 Tr毎に 区切って処理を行うので、少なくとも時間 Tr毎には映像と音声の同期を一致させるこ とができるという効果がある。 (第 4実施形態)
本実施形態は、第 1実施形態及び第 2実施形態に示した再生装置が、速度変換を 実行するにあたっての時間範囲 Trの設定や、変換比率 αの設定を、ユーザからの G UI操作に基づき実行するための改良に関する。本実施形態に係る再生装置は、図 2 2に示すようなセットアップメニューを表示し、これを通じて、速度変換のための指定を 受け付ける。
[0174] 図 22は、速度変換のためのセットアップメニューの一例を示す図である。
本メニューは、スライドバー wdl、ウィンドウ wd2、スタート点/エンド点ボタン wd3,wd4 、時間範囲 Trナビ wd5,wd6、数値欄 nml、再生ボタン nm2、キャンセルボタン nm3とい つた GUI部品からなる。
スライドバー wdlは、スタート点 Zエンド点の位置決め操作を、ユーザから受け付け る GUI部品である。リモコンの左右キーを押下することで、スライドバーをガイド上に左 右に移動させ、そのガイドにおけるスライドバーの位置を、映像信号上の位置に変換 することによりこの位置決め操作はなされる。速度変換の対象が 2時間の映像信号で あり、スライドバーがガイドの真ん中あたりに存在しているのなら、映像信号先頭から 1 時間経過後の位置が指示されることになる。
[0175] ウィンドウ wd2は、映像信号のうち、スライドバーにて指示されている位置の映像が表 示される。スライドバーに対する位置決め操作と、ウィンドウ wd2によるフィードバックと により、スタート点 Zエンド点になるべき位置の微調整が可能になる。
スタート点 Zエンド点ボタン wd3,wd4は、ガイドにおけるスライドバーの位置を、スタ ート点 Zエンド点として確定する GUI部品である。スタート点 Zエンド点ボタンに対す る押下で時間範囲 Trのスタート点と、時間範囲 Trのエンド点とが確定されれば時間 範囲 Trが生成されたことになる。
[0176] 時間範囲 Trナビ wd5,wd6は、スライドバーによる位置決めと、スタート点 Zエンド点 ボタンに対する確定操作とで生成された時間範囲 Trを視覚的に表現するものであり 、時間範囲 Trのスタート点に位置する映像のサムネール、及び、エンド点に位置する 映像のサムネールにより時間範囲 Trを表す。
数値欄應1は、時間軸の比率 αの数値入力を受け付ける。この操作は、数値欄に 1 〜200の数値を入力することによりなされる。
[0177] 再生ボタン nm2は、上述したように設定された時間範囲 Trと、数値 aとに基づき速 度変換を行い、その変換結果たる音声を、映像と共に再生する旨の指示を受け付け るボタンである。
キャンセルボタン nm3は、本メニューに対する設定を中止する操作を受け付けるボ タンである
かかるメニューは、 OSD(On Screen Display)グラフィクスや BML(Broadcast Markup Languege)を用いて記述される。再生装置は、力かるメニューを再生映像に合成して 、力かるメニューに対する操作に従い、時間範囲 Trや比率 αを設定した上で、変換 装置に速度変換を行わせる。
[0178] 以上のように本実施形態によれば、速度変換の対象となる時間範囲 Trを、再生時 間軸上の何処に定める力、そしてその際の比率 αを、どのような値にすべきかという 調整が、対話的になされるので、速度変換の変換結果として得られる音声を、より聴 きやすいものにすることができる。
(第 5実施形態)
第 1実施形態、第 2実施形態では、各セグメントの組みに対して類似度を算出して、 この類似度に基づき、セグメントの組みの順位付けを行なったが、本実施形態は、こ のセグメントの組みの順位付けを省く改良を提案する。この順位付けの代わりに、本 実施形態では、類似度の閾値を導入する。具体的にいうと、図 7、図 8のフローチヤ一 ト、図 12、図 13のフローチャートにおいて、 XI、 Χ2のどちらかが基準に設定されて、 時間間隔 A Tdだけ移動した際、これを基準にして、 TLmaxカゝら TLminの範囲におい て、他方のセグメントを移動させる。そして、セグメントの移動点のそれぞれにおいて、 この XI、 X2の組みに対する類似度を算出する。そうして類似度が算出されれば、算 出された類似度がこの閾値よりも低いかどうかを判定する。そして低いと判定された 場合、かかる XI、 X2のセグメントの組みを重ね合わせの対象にし、その後、基準セ グメントを移動させる。つまり、 TLmax力も Tljninの範囲の中で補助セグメントを移動さ せた場合に、最も類似度が高くなる X2を、選択するのではなぐ補助セグメントの移 動にあたって、その類似度が初めて閾値を上回るものが発見され次第、類似度の最 小値の探索を打ち切り、選択の対象とするのである。
以上は、類似度に最小 2乗誤差を採用した場合の処理であるが、類似度に相関関 数を採用した場合は、類似度が閾値より高いかどうかが判定の対象になる。
力かる重ね合わせにあたって、セグメントの時間差の累計をとる。かかる累計が数 3 、数 4に示される条件を満たす限り、同様の処理を繰り返す。そして、この累計が、数 3、数 4の左辺に示す目標値時間長を超えた時点で、重ね合わせを終了する。つまり 、第 1実施形態では、数 3、数 4を満たすセグメントの組みを選択することで、類似度 が高 、順にセグメントの組みを順位付けした上、そうして選択したセグメントの組みを 、再生時間軸に従い、出力していったが、本実施形態では、そうした順位付けを省き 、数 3、数 4を満たす限り、重ね合わせを実行していることがわかる。このような速度変 換を行うことで、速度変換のリアルタイム実行が現実的になり、速度変換を、一般の家 電機器に組込むことが、現実的になる。
<備考 >
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明 したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えること ができる。各実施形態に示した通り実施する力、これらの改良'変更を施すか否かは 、何れも任意的であり、実施する者の主観によることは留意されたい。
(時間範囲 Tr)
ユーザにより指定された時間範囲 Trは、プレイリストを構成する再生区間として、指 定されたものであってもよい。変換装置による速度変換は、このプレイリスト作成の際 実行され、トリック再生用のオーディオデータを作成してもよ 、。
(リアルタイム記録への発展)
オーディオデータ全体に対して、類似度が上位となる組みを選ぶと ヽぅ処理を前提 にしたため、オーディオデータが記憶回路内に存在することを必要とした力 セグメン ト対象の範囲を、オーディオデータの一部に狭めるならば、オーディオデータの記録 途中でも、又は、オーディオデータの再生の途中でも、本発明による速度変換を実 行することが可能になる。
(オリジナルのオーディオデータとの対応付け) 速度変換の結果であるトリック再生用のオーディオデータは、オリジナルオーディオ データと多重化した上で、記録媒体に記録するのが望ましい。また、プレイリスト情報 のメインパス情報にオリジナルオーディオデータを指定させ、サブパス情報にトリック 再生用のオーディオデータを指定させることで、これらが、 1つの再生パスを構成する ようにしてもよい。
(ォーサリング技術への発展)
本発明に力かる速度変換を、ォーサリングシステムにおいて実行してもよい。そして 、そうして速度変換により得られたオーディオストリームを、映画作品の副音声として、
DVDや BD-ROMに記録して、ユーザに頒布してもよい。こうすることで、再生装置は、 DVDや BD-ROMに記録された映画作品をトリック再生する際、速度変換により得られ たオーディオストリームを副音声として選択することで、本発明の速度変換により得ら れたオーディオストリームを再生させることができる。これによりユーザは、映画作品の トリック再生時において、聴きやすいきれいな音声で、映画作品の内容を短区間に理 解することができる。
(音声要約の発展)
要約音声を作成するという技術に、本発明にかかる速度変換を応用してもよい。具 体的にいうと、 α力 %、 10%等短い値に設定されたオーディオデータを、要約音声 として、第 3実施形態に示したメニューを用いて予め作成しておく。そして複数の動画 像のサムネールが一覧表示されているようなプログラムナビの GUIにおいて、ある動 画像のサムネールがセレクテッド状態になった際、力かる要約音声を再生するのであ る。こうするとユーザは、今セレクテッド状態になっている動画像力 どのような内容の ものであるかを、短時間に知ることができ、その動画像を再生するかどうかの判断を 好適に行うことができる。
(類似度を求める評価尺度)
第 1実施形態に示した図 8のフローチャートにおけるステップ S709、図 13のフロー チャートにおけるステップ S809は、類似度を求める評価尺度として、(数 1)に示した 正規ィ匕していない二乗誤差の小ささや、(数 2)に示した正規ィ匕していない相関関数 の大きさを用いたが、正規化した二乗誤差の小ささや、正規ィ匕した相関関数の大きさ を用いることもできる。この場合には、演算量が増加するが、オーディオデータの振幅 の大きさに依存しない評価尺度となるので、オーディオデータの振幅に影響されずに 類似度を求めることができ、音質改善が期待できる。
(オーディオデータの出力 Y (n)の時間長)
第 1実施形態に示した図 10のフローチャートにおけるステップ S743、図 15のフロ 一チャートにおけるステップ S843では、(数 5)に基づいて XI (n)と X2 (n)とを重み付 け加算した固定時間長 Tsの信号 Y (n)を出力しているが、重み付け加算したオーディ ォデータの出力 Υ (η)の時間長を可変にしても良い。この場合には、例えば類似度の 高い、 2つのセグメント間の時間差 T1— optが処理単位の時間長 Tsよりも短い場合に、 重み付け加算長を TLoptにすることで、不必要な重み付け加算を減らすことができ、 演算量の削減と音質の改善、または時間軸圧縮の場合の時間軸変換比 aをより小さ V、値に設定できることが期待できる。
(選択対象)
第 1実施形態に示した図 7のフローチャートにおけるステップ S703からステップ S7 21では、図 12のフローチャートにおけるステップ S803からステップ S821では、スタ 一ト点カもエンド点まで時間 ATd毎に最も高い類似度 R (j) (ここで j: 0〜i)を 1度に求 め、図 9におけるステップ S722力ら 736では、図 14におけるステップ S822力ら 836 では、それを 1度に比較して類似度の高い方力 順に選択している力 例えば所定の 時間範囲 Tr毎に区切って行っても良い。この場合には、図 7におけるステップ S715 力 ステップ S718、図 12におけるステップ S815からステップ S818において必要な 記憶容量を小さくできるだけでなぐ複数文章を含む長さ毎に区切って実行すること により、スタート点力 エンド点までの途中で所望の時間軸変換比 α力 のずれが大 きくなることが防がれるば力りでなぐ文間の無音区間を含めて効率的に時間軸伸張 できる。
(周期の時間)
第 1実施形態に示した図 7のフローチャートにおけるステップ S719、図 12のフロー チャートにおけるステップ S819では、高い類似度 R (TLopt)を求める周期の時間 ΔΤ dは一定であるが、可変でも良い。この場合には、例えば類似度が高くなるセグメント 間の時間差 TLoptが短い時には、時間 ATdも短くすることにより、重み付け加算した オーディオデータの出力の周期を短くすることができ、結果として時間軸変換比 aの 範囲を広げることができる。
(選択対象)
第 1実施形態に示した図 9のフローチャートにおけるステップ S736、図 14のフロー チャートにおけるステップ S836では、所定に時間軸変換比 aになるまで類似度の高 V、セグメントの組を選択して 、るが、一定の閾値よりも類似度が高 、セグメントの組を 選択しても良い。この場合には、入力信号の性質に応じて一定の品質で音声速度変 換処理が可能になる。
(オーディオデータの読み込み単位)
第 1実施形態に示した図 8のフローチャートにおけるステップ S707、 S708、図 13 のフローチャートにおけるステップ S807、 S808では、オーディオデータを処理単位 の時間長 Ts単位で読み込んで 、るが、もっと大き!/、処理単位毎に読み込んでも良!ヽ 。例えば、図 7におけるステップ S700からステップ S721や、図 13におけるステップ S 800からステップ S821で使うオーディオデータを 1度に読み込んでしまっても良い。 この場合には、最初にオーディオデータを読み込むための記憶容量は必要になるが 、あとはポインタの移動だけでセグメントの読み込み処理を済ませることができるので 、重複の多いオーディオデータの読み込み処理の無駄を省くことができ、処理を効率 的かつ高速に行えるようになる。
(評価尺度)
本実施の形態の類似度計算回路 105における評価尺度として、正規ィ匕していない 二乗誤差の小ささや、正規ィ匕していない相関関数の大きさを用いたが、正規化した 二乗誤差の小ささや、正規ィ匕した相関関数の大きさを用いることもできる。この場合に は、演算量が増加するが、オーディオデータの振幅の大きさに依存しない評価尺度 となるので、オーディオデータの振幅に影響されずに類似度を求めることができ、音 質改善が期待できる。
(処理単位の大きさ)
第 2実施形態の図 17において、ノッファメモリ回路 103とバッファメモリ回路 104で は、オーディオデータを処理単位の時間長 Ts単位で記憶回路 101から読み込んで いるが、もっと大きい処理単位毎に読み込んでも良い。例えば図 5における時間軸伸 張の場合には、 504_maxの開始点から 509の終了点までを、図 6に示す時間軸圧縮 の場合には、 604の開始点から 609_maxの終了点までを、バッファメモリ回路 103と ノ ッファメモリ回路 104に読み込んでしまうことにより、異なる時刻において、 2つのセ グメント間の時間差を変えながら類似度を求める時と、パラメータ選択回路 120により 選択された 2つのセグメントを重み付け加算する時に、記憶回路 101へのアクセスを しないようにできる。この場合には、記憶回路 101からバッファメモリ回路 103とバッフ ァメモリ回路 104への転送回数が少なくて済むので、処理時間を短縮することが可能 となる。
[0182] (システム LSIィ匕)
第 1実施形態において図 1に示した再生装置及び変換装置の内部構成や、第 2実 施形態において、図 17に示した変換装置の内部構成、第 3実施形態において、図 2 1に示した再生装置の内部構成は、 1つのシステム LSIとして構成してもよ 、。
システム LSIとは、高密度基板上にベアチップを実装し、ノ ッケージングしたものを いう。複数個のベアチップを高密度基板上に実装し、ノ ッケージングすることにより、 あたカゝも 1つの LSIのような外形構造を複数個のベアチップに持たせたものも、システ ム LSIに含まれる (このようなシステム LSIは、マルチチップモジュールと呼ばれる。;)。
[0183] ここでパッケージの種別に着目するとシステム LSIには、 QFP (タッドフラッドアレイ) 、 PGA (ピングリッドアレイ)という種別がある。 QFPは、パッケージの四側面にピンが 取り付けられたシステム LSIである。 PGAは、底面全体に、多くのピンが取り付けられ たシステム LSIである。
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システム LSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システム LSI におけるこれらのピンに、他の回路を接続することにより、システム LSIは、再生装置の 中核としての役割を果たす。
[0184] 力かるシステム LSIは、再生装置は勿論のこと、 TVやゲーム、パソコン、ワンセグ携 帯等、映像再生を扱う様々な機器に組込みが可能であり、本発明の用途を多いに広 げることができる。
図 23は、第 3実施形態に示した再生装置の内部構成を組込んだシステム LSIを模 式的に示す図である。
[0185] 具体的な生産手順の詳細は以下のものになる。まず各実施形態に示した構成図を 基に、システム LSIとすべき部分の回路図を作成し、回路素子や IC,LSIを用いて、構 成図における構成要素を具現化する。
そうして、各構成要素を具現化してゆけば、回路素子や IC,LSI間を接続するバスや その周辺回路、外部とのインターフェイス等を規定する。更には、接続線、電源ライン 、グランドライン、クロック信号線等も規定してゆく。この規定にあたって、 LSIのスぺッ クを考慮して各構成要素の動作タイミングを調整したり、各構成要素に必要なバンド 幅を保証する等の調整を加えながら、回路図を完成させてゆく。
[0186] 各実施形態の内部構成のうち、一般的な部分については、既存の回路パターンを 定義した Intellectual Propertyを組み合わせて設計するのが望ましい。特徴的な部分 につ 、ては、 HDLを用いた抽象度が高!、動作レベルを記述やレジスタトランスファレ ベルでの記述を用いてトップダウン設計を行うのが望まし!/、。
回路図が完成すれば、実装設計を行う。実装設計とは、回路設計によって作成され た回路図上の部品 (回路素子や IC,LSI)を基板上のどこへ配置するか、あるいは、回 路図上の接続線を、基板上にどのように配線するかを決定する基板レイアウトの作成 作業である。
[0187] こうして実装設計が行われ、基板上のレイアウトが確定すれば、実装設計結果を CA Mデータに変換して、 NC工作機械等の設備に出力する。 NC工作機械は、この CAM データを基に、 SoC実装や SiP実装を行う。 SoC(System on chip)実装とは、 1チップ上 に複数の回路を焼き付ける技術である。 SiP(System in Package)実装とは、複数チッ プを榭脂等で 1パッケージにする技術である。以上の過程を経て、本発明に係るシス テム LSIは、各実施形態に示した再生装置の内部構成図を基に作ることができる。図 24は、こうして作られたシステム LSIを、機器内に組み込んだ状態を示す図である。
[0188] 尚、上述のようにして生成される集積回路は、集積度の違いにより、 IC、 LSI,スーパ -LSI,ウノレ卜ラ LSIと呼称されることちある。 FPGAを用いてシステム LSIを実現した場合は、多数のロジックエレメントが格子状に 配置されており、 LUT(Look Up Table)に記載されている入出力の組合せに基づき、 縦'横の配線をつなぐことにより、各実施形態に示したノヽードウエア構成を実現するこ とができる。 LUTは、 SRAMに記憶されており、力かる SRAMの内容は、電源断により 消滅するので、力かる FPGAの利用時には、コンフイダ情報の定義により、各実施形 態に示したハードウェア構成を実現する LUTを、 SRAMに書き込むませる必要がある 。更に、デコーダを内蔵した映像復調回路は、積和演算機能を内蔵した DSPで実現 するのが望ましい。
(アーキテクチャ)
本発明に力かるシステム LSIは、再生装置の機能を実現するものなので、システムし SIは、 Uniphierアーキテクチャに準拠させるのが望まし 、。
[0189] Uniphierアーキテクチャに準拠したシステム LSIは、以下の回路ブロックから構成さ れる。
•データ並列プロセッサ DPP
これは、複数の要素プロセッサが同一動作する SIMD型プロセッサであり、各要素プ 口セッサに内蔵されている演算器を、 1つの命令で同時動作させることで、ピクチャを 構成する複数画素に対するデコード処理の並列化を図る。
[0190] 特に、第 2実施形態に示した比較回路 402に SIMDプロセッサを採用して、 Ts個の セグメントの組みを、類似度が高い順に並べる処理を、並列化すれば、速度変換のリ アルタイム処理が可能になる。速度変換をハードウェアで再生装置に実装する場合 は、変換装置のアーキテクチャの改良次第で、リアルタイムに速度変換を実現するこ とがでさる。
•命令並列プロセッサ IPP
これは、命令 RAM、命令キャッシュ、データ RAM、データキャッシュからなる「Local Memory Contoroller」、命令フェッチ部、デコーダ、実行ユニット、レジスタファイルか らなる「Processing Unit部」、複数アプリケーションの並列実行を Processing Unit部に 行わせる「Virtual Multi Processor Unit部」で構成される。
[0191] 'CPUブロック これは、 ARMコア、外部バスインターフェイス (Bus Control Unit:BCU)、 DMAコント口 ーラ、タイマー、ベクタ割込コントローラといった周辺回路、 UART、 GPIO(General Pur pose Input Output),同期シリアルインターフェイスなどの周辺インターフェイスで構成 される。先に述べたコントローラは、この CPUブロックとしてシステム LSIに実装される。
[0192] ·ストリーム I/Oブロック
これは、 USBインターフェイスや ATA Packetインターフェイスを介して、外部バス上 に接続されたドライブ装置、ハードディスクドライブ装置、 SDメモリカードドライブ装置 とのデータ入出力を行う。
•AVI/0ブロック
これは、オーディオ入出力、ビデオ入出力、 OSDコントローラで構成され、テレビ、 A Vアンプとのデータ入出力を行う。
[0193] 'メモリ制御ブロック
これは、外部バスを介して接続された SD- RAMの読み書きを実現するブロックであり 、各ブロック間の内部接続を制御する内部バス接続部、システム LSI外部に接続され た SD- RAMとのデータ転送を行うアクセス制御部、各ブロックからの SD- RAMのァクセ ス要求を調整するアクセススケジュール部力もなる。
(本発明に係るプログラムの生産形態)
本発明に係るプログラムは、コンピュータが実行することができる実行形式のプログ ラム (オブジェクトプログラム)であり、実施形態に示したフローチャートの各ステップや 、機能的構成要素の個々の手順を、コンピュータに実行させるような 1つ以上のプロ グラムコードから構成される。ここでプログラムコードは、プロセッサのネイティブコード 、 JAVA (登録商標)バイトコードというように、様々な種類がある。
[0194] 本発明に力かるプログラムは、以下のようにして作ることができる。先ず初めに、ソフ トウエア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成 要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア 開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部 関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプ ログラムを記述する。 [0195] 記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは 、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する 。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空 間に割り当て、これらを 1つに結合して、ロードモジュールを生成する。こうして生成さ れるロードモジュールは、コンピュータによる読み出しを前提にしたものであり、各フロ 一チャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実 行させるものである。以上の処理を経て、本発明に係るプログラムを作ることができる
(プログラムの実行時間)
プログラムコードにおいて、一命令の実行区間が、命令のフェッチ区間に等しい場 合、フローチャートに示される手順の実行に必要な命令数を実効ステップ数 Taとする と、 MPUにおける命令語長のワード数やフェッチ単位のワード数から、本発明にかか るプログラムの処理区間が与えられる。具体的には、以下の式にて算出される。 実効ステップ数 Ta Xフェッチサイクル X (命令語長のワード数/フェッチ単位のワード 数)
第 1実施形態に示した MPU力 本発明に力かるプログラムをパイプラインで実行しよ うとする場合、そのパイプラインの深さが D、ピッチが P秒であるなら、本発明にかかる プログラムの実行には、(D + Ta— 1) X P秒になるので、本発明に力かるプログラムを リアルタイムに実行できるかどうかは、当該時間に基づき、検証すべきである。
[0196] リアルタイム処理を実現する場合、かかる処理時間を考慮しつつ、装置の動作クロ ックや、メモリの規模を決定するのが望ましい。
(並列化)
本発明に力かるプログラムのうち、並列処理が可能な部分と、逐次処理が必要な部 分との比率が F:l—Fであると仮定する。
[0197] そして、本発明に力かるプログラムの処理時間が時間 Aであるから、これを n個のプ 口セッサで同時に実行する場合、本発明に力かる処理時間 Bは、アムダールの法則 により、
時間 =八 /!1 +八 (1ー?)になる。
これら n個のプロセッサに、速度変換を実行させるには、時間範囲 Trを、このプロセ ッサ数 nで分割すると共に、(数 3)、(数 4)に示した目標値時間長を、 nで分割して、 n個 のプロセッサにこれらに対する速度変換を同時実行させるのが望ましい。
[0198] 力かる並列化を行う制御部は、主記憶を共有し合う複数の MPU力 なる密結合の マルチプロセッサシステムであってもよい。また、バス、通信回線を共有する複数の M PUからなる粗結合のマルチプロセッサシステムであってもよい。
(リアノレタイム OS)
本発明に力かるプログラムは、リアルタイム OS(RTOS)上で動作させるのが望まし ヽ 。リアルタイム OSでは、最悪実行時間の予測が可能であるので、上述したようなリアル タイム化が現実的になるとの利点がある。
[0199] リアルタイム OSは、カーネル、デバイスドライバから構成される。
カーネルは、システムコール処理、割込信号により割込ハンドラを起動するハンドラ 入口処理、割込ハンドラの出口処理を行う。
デバイスドライバは、ハードウェア的な割込み信号により起動する「割込ハンドラ部」 と、「割込タスク部」、「リクエスト処理部」から構成される。デバイスドライバは、システム コールの形で実現してもよいし、アプリケーションタスクの形で実現してもよい。システ ムコールの形で実現した場合、デバイスドライバは、システムのメモリ空間にマツピン グされ、特権モードで動作することになる。
[0200] 各図のソフトウェア的な構成要素を、 RTOS上のタスクとして実装して、動作させるこ と力 リアルタイム処理の実現につながる。
産業上の利用可能性
[0201] 本発明に係る再生装置は、上記実施形態に内部構成が開示されており、この内部 構成に基づき量産することが明らかなので、資質において工業上利用することができ る。そして、音声の基本周波数を変えずに継続時間長のみを変えることができ、速度 を変えても明瞭度が下がりにくいので、ディスク媒体や半導体メモリに記録された音 声信号を、使用者が聞き易い速度や聞きたい速度で再生することが必要な用途に適 用できるので、 DVD士 Rプレーヤ、 DVD士 Rレコーダ、ハードディスクレコーダ、放送 受像機あるいは半導体メモリを用いたビデオレコーダなどの製品分野の開発に適用 する事ができる。

Claims

請求の範囲
[1] 変換装置であって、
オリジナルのオーディオデータを構成する複数セグメントのうち一部のものの再生 期間を、他のセグメントの再生期間と重ね合わせるセグメント処理手段と、
重ね合わせの対象になったセグメントの組みと、当該重ね合わせの対象にならなか つたセグメントとを、時系列に並べることで、変換結果となるオーディオデータを生成 する生成手段とを備え、
前記重ね合わせの対象になったセグメントの組みと、当該重ね合わせの対象になら な力つたセグメントとは、オリジナルのオーディオデータの時間軸において、非線形な 関係にある
ことを特徴とする変換装置。
[2] 前記変換装置は、
オリジナルのオーディオデータを構成するセグメントの組合せを複数生成して、個 々の組合せについて、類似度を算出する算出手段を備え、
前記重ね合わせの対象となるセグメントの組みは、
複数セグメントの組合せのうち、算出手段により算出された類似度の高さが上位とな るものであり、
前記重ね合わせの対象にならな力つたセグメントは、
複数セグメントの組合せのうち、算出手段により算出された類似度の高さが上位に ならなかったものである
ことを特徴とする請求項 1記載の変換装置。
[3] 前記変換装置は、
重ね合わせの対象となるセグメントの組みをオーディオデータ力 選択する選択手 段を備え、
選択手段は、 1つ選択して、その度に、その組みにおけるセグメント間の時間差の 累計をとり、
重ね合わせの対象となるセグメントの組みは、
当該時間差の累計値が、目標時間長を越えないことを条件として、選択手段がセグ メントの組みの選択を繰り返すことで選ばれる
ことを特徴とする請求項 2記載の変換装置。
[4] 元のオーディオデータの時間長と、目標時間長との比率を αとした場合、
前記変換が圧縮である場合の目標時間長は、オーディオデータの時間長 X (1— α )であり、
前記変換が伸長である場合の目標時間長は、オーディオデータの時間長 X ( α— 1)である
ことを特徴とする請求項 3記載の変換装置。
[5] 重ね合わせの対象となるセグメントの組みのそれぞれは、基準セグメント、補助セグメ ントからなり、
基準セグメントは、オーディオデータのスタート点からエンド点まで、ある時間間隔 置きに存在する複数のセグメントの中のどれかであり、
補助セグメントは、基準セグメントの位置を基準にして最大遅延時間だけ隔てられ た時点から、最小遅延時間だけ隔てられた時点までに存在する複数のセグメントのど れかであり、
前記時間間隔とは、最小遅延時間を上回る時間長である、請求項 2記載の変換装 置。
[6] 最小遅延時間は入力信号の最短周期の近傍の値であり、最大遅延時間は、入力信 号の最長周期の近傍の値であり、
基準セグメントの時間長が最小遅延時間と最大遅延時間の中間値であり、かつ基 準セグメントから最大遅延時間だけ隔てた位置に補助セグメントが配された場合、基 準セグメントと補助セグメントとにはギャップが生じ、
基準セグメントの時間長が最小遅延時間と最大遅延時間の中間値であり、かつ基 準セグメントから最小遅延時間だけ隔てた位置に補助セグメントが配された場合、基 準セグメントと補助セグメントとにはオーバーラップが生じる、ことを特徴とする請求項 5記載の変換装置。
[7] 速度変換が時間圧縮である場合、補助セグメントは、再生時間軸において基準セグ メントより後に位置し、 前記変換が伸長である場合、補助セグメントは、再生時間軸において基準セグメン トより前に位置する、ことを特徴とする請求項 2記載の変換装置。
前記変換装置は、音声用の変換装置として映像及び音声の再生出力を行う再生装 置に組み込まれ、
再生装置は、映像再生の速度変換を行う映像用の変換装置を備え、
映像用の変換装置は、
ビデオデータを構成する複数のフレームのうち、一部をフリーズ又はスキップしつつ 出力することで、速度変換を行う
ことを特徴とする請求項 1記載の変換装置。
PCT/JP2007/050963 2006-01-24 2007-01-23 変換装置 Ceased WO2007086365A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/091,420 US8073704B2 (en) 2006-01-24 2007-01-23 Conversion device
JP2007555937A JP5096932B2 (ja) 2006-01-24 2007-01-23 変換装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-014846 2006-01-24
JP2006014846 2006-01-24

Publications (1)

Publication Number Publication Date
WO2007086365A1 true WO2007086365A1 (ja) 2007-08-02

Family

ID=38309155

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/050963 Ceased WO2007086365A1 (ja) 2006-01-24 2007-01-23 変換装置

Country Status (3)

Country Link
US (1) US8073704B2 (ja)
JP (1) JP5096932B2 (ja)
WO (1) WO2007086365A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5130809B2 (ja) * 2007-07-13 2013-01-30 ヤマハ株式会社 楽曲を制作するための装置およびプログラム
US8515052B2 (en) 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
JP2009294603A (ja) * 2008-06-09 2009-12-17 Panasonic Corp データ再生方法、データ再生装置及びデータ再生プログラム
US8868811B2 (en) * 2011-10-03 2014-10-21 Via Technologies, Inc. Systems and methods for hot-plug detection recovery
US9542936B2 (en) * 2012-12-29 2017-01-10 Genesys Telecommunications Laboratories, Inc. Fast out-of-vocabulary search in automatic speech recognition systems
KR102396250B1 (ko) * 2015-07-31 2022-05-09 삼성전자주식회사 대역 어휘 결정 장치 및 방법
CN105812902B (zh) * 2016-03-17 2018-09-04 联发科技(新加坡)私人有限公司 数据播放的方法、设备及系统
EP3382703A1 (en) 2017-03-31 2018-10-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and methods for processing an audio signal
US10185718B1 (en) * 2017-08-23 2019-01-22 The Nielsen Company (Us), Llc Index compression and decompression
US11039177B2 (en) * 2019-03-19 2021-06-15 Rovi Guides, Inc. Systems and methods for varied audio segment compression for accelerated playback of media assets
US11102523B2 (en) 2019-03-19 2021-08-24 Rovi Guides, Inc. Systems and methods for selective audio segment compression for accelerated playback of media assets by service providers
US10708633B1 (en) 2019-03-19 2020-07-07 Rovi Guides, Inc. Systems and methods for selective audio segment compression for accelerated playback of media assets
US11971513B2 (en) * 2021-05-21 2024-04-30 Saudi Arabian Oil Company System and method for forming a seismic velocity model and imaging a subterranean region

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0580796A (ja) * 1991-09-25 1993-04-02 Nippon Hoso Kyokai <Nhk> 話速制御型補聴方法および装置
JPH06175675A (ja) * 1992-12-07 1994-06-24 Meidensha Corp 音声合成装置の継続時間長制御方法
JPH06222794A (ja) * 1993-01-25 1994-08-12 Matsushita Electric Ind Co Ltd 音声速度変換方法
JPH0713596A (ja) * 1993-06-21 1995-01-17 Matsushita Electric Ind Co Ltd 音声速度変換方法
JPH09152889A (ja) * 1995-11-29 1997-06-10 Sanyo Electric Co Ltd 話速変換装置
JP2000259200A (ja) * 1999-03-11 2000-09-22 Nippon Telegr & Teleph Corp <Ntt> 話速変換方法および装置および話速変換プログラムを格納した記録媒体
JP2000322100A (ja) * 1999-05-06 2000-11-24 Yamaha Corp ディジタル信号の時間軸圧伸方法及び装置
JP2001350500A (ja) * 2000-06-07 2001-12-21 Mitsubishi Electric Corp 話速変更装置
JP2004505304A (ja) * 2000-07-26 2004-02-19 株式会社エス・エス・アイ デジタルオーディオ信号の連続可変時間スケール変更

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4852169A (en) * 1986-12-16 1989-07-25 GTE Laboratories, Incorporation Method for enhancing the quality of coded speech
DE69024919T2 (de) * 1989-10-06 1996-10-17 Matsushita Electric Ind Co Ltd Einrichtung und Methode zur Veränderung von Sprechgeschwindigkeit
JP2532731B2 (ja) 1990-08-23 1996-09-11 松下電器産業株式会社 音声速度変換装置と音声速度変換方法
US5630013A (en) * 1993-01-25 1997-05-13 Matsushita Electric Industrial Co., Ltd. Method of and apparatus for performing time-scale modification of speech signals
JP4104200B2 (ja) 1998-03-19 2008-06-18 中央理化工業株式会社 酢酸ビニル系樹脂エマルジョン接着剤組成物
US6415326B1 (en) * 1998-09-15 2002-07-02 Microsoft Corporation Timeline correlation between multiple timeline-altered media streams
JP2002059200A (ja) 2000-08-21 2002-02-26 Hitachi Kiden Kogyo Ltd 汚水と汚泥の処理方法
US20070011343A1 (en) * 2005-06-28 2007-01-11 Microsoft Corporation Reducing startup latencies in IP-based A/V stream distribution
US7580833B2 (en) * 2005-09-07 2009-08-25 Apple Inc. Constant pitch variable speed audio decoding

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0580796A (ja) * 1991-09-25 1993-04-02 Nippon Hoso Kyokai <Nhk> 話速制御型補聴方法および装置
JPH06175675A (ja) * 1992-12-07 1994-06-24 Meidensha Corp 音声合成装置の継続時間長制御方法
JPH06222794A (ja) * 1993-01-25 1994-08-12 Matsushita Electric Ind Co Ltd 音声速度変換方法
JPH0713596A (ja) * 1993-06-21 1995-01-17 Matsushita Electric Ind Co Ltd 音声速度変換方法
JPH09152889A (ja) * 1995-11-29 1997-06-10 Sanyo Electric Co Ltd 話速変換装置
JP2000259200A (ja) * 1999-03-11 2000-09-22 Nippon Telegr & Teleph Corp <Ntt> 話速変換方法および装置および話速変換プログラムを格納した記録媒体
JP2000322100A (ja) * 1999-05-06 2000-11-24 Yamaha Corp ディジタル信号の時間軸圧伸方法及び装置
JP2001350500A (ja) * 2000-06-07 2001-12-21 Mitsubishi Electric Corp 話速変更装置
JP2004505304A (ja) * 2000-07-26 2004-02-19 株式会社エス・エス・アイ デジタルオーディオ信号の連続可変時間スケール変更

Also Published As

Publication number Publication date
JP5096932B2 (ja) 2012-12-12
JPWO2007086365A1 (ja) 2009-06-18
US20090132243A1 (en) 2009-05-21
US8073704B2 (en) 2011-12-06

Similar Documents

Publication Publication Date Title
JP5096932B2 (ja) 変換装置
US6832194B1 (en) Audio recognition peripheral system
US10235981B2 (en) Intelligent crossfade with separated instrument tracks
JP5175325B2 (ja) 音声認識用wfst作成装置とそれを用いた音声認識装置と、それらの方法とプログラムと記憶媒体
US11568244B2 (en) Information processing method and apparatus
JP2003500703A (ja) オーディオ信号タイムスケール変更
JP5606694B2 (ja) 入力信号の値のシーケンスのタイムスケーリングのための方法
JPH0562495A (ja) サンプリング周波数変換器
JP4992717B2 (ja) 音声合成装置及び方法とプログラム
Lee et al. Software optimization of the MPEG-audio decoder using a 32-bit MCU RISC processor
WO2024198370A1 (zh) 语音合成方法、装置、电子设备和存储介质
WO2001065536A1 (en) Musical sound generator
US9336763B1 (en) Computing device and method for processing music
WO2004109660A1 (ja) 音声データを選択するための装置、方法およびプログラム
JPH1078791A (ja) ピッチ変換器
JP7408956B2 (ja) ライブラリプログラム、リンクプログラム、及び、音処理装置
KR100547444B1 (ko) 가변길이합성과 상관도계산 감축 기법을 이용한오디오신호의 시간스케일 수정방법
JP2019531505A (ja) オーディオコーデックにおける長期予測のためのシステム及び方法
JP2002182693A (ja) オーディオ符号化、復号装置及びその方法並びにその制御プログラム記録媒体
JP2008236384A (ja) 音声ミキシング装置
唐博文 Energy-Efficient Real-Time Pitch Correction System via FPGA
JP2024151738A (ja) プログラム、情報処理装置および情報処理方法
CN116469411A (zh) 一种歌声合成模型的训练方法、装置、介质及电子设备
JP2003330469A (ja) 楽音生成装置及びプログラム
WO2025066906A1 (zh) 音频处理方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 12091420

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2007555937

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07707226

Country of ref document: EP

Kind code of ref document: A1