1. Field of the Invention
The present invention relates to a signal processing apparatus and a signal processing method that allow editing a part of a digital signal that has been segmented as blocks each of which has a predetermined data amount and each block to be highly efficiently encoded along with an adjacent block.
2. Description of the Related Art
As a related art reference of a highly efficiently encoding method for an audio signal, for example, a transform encoding method is known. The transform encoding method is one example of a block-segmentation frequency band dividing method. In the transform encoding method, a time-base audio signal is segmented into blocks at intervals of a predetermined unit time period. The time-base signal of each block is converted into a frequency-base signal (namely, orthogonally transformed). Thus, the time-base signal is divided into a plurality of frequency bands. In each frequency band, blocks are encoded. As another related art reference, a sub band coding (SBC) method as an example of a non-block-segmentation frequency band dividing method is known. In the SBC method, a time-base audio signal is divided into a plurality of frequency bands and then encoded without segmenting the signal into blocks at intervals of a predetermined unit time period.
As another related art reference, a highly efficiently encoding method that is a combination of the band division encoding method and the SBC method is also known. In this highly efficiently encoding method, a signal of each sub band is orthogonally transformed into a frequency-base signal corresponding to the transform encoding method. The transformed signal is encoded in each sub band.
As an example of a band dividing filter used for the above-described sub band coding method, for example a QMF (Quadrature Mirror Filter) is known. The QMF is described in for example R. E. Crochiere “Digital coding of speech in sub bands” Bell Syst. Tech. J. Vol. 55. No. 8 (1976). An equal band width filter dividing method for a poly-phase quadrature filter and an apparatus thereof are described in ICASSP 83, BOSTON “Polyphase Quadrature filters—A new sub band coding technique”, Joseph H. Rothwiler.
As an example of the orthogonal transform method, an input audio signal is segmented into blocks at intervals of a predetermined unit time period (for each frame). Each block is transformed by for example a fast Fourier transforming (FFT) method, a discrete cosine transforming (DCT) method, or a modified DCT transforming (MDCT) method. As a result, a time-base signal is converted into a frequency-base signal. The MDCT is described in for example ICASSP 1987, “Sub band/Transform coding Using Filter Bank Designs Based on Time Domain Aliasing Cancellation”, J. P. Princen and A. B. Bradley, Univ. of Surrey Royal Melbourne Inst. of Tech.
On the other hand, an encoding method that uses a frequency division width in consideration of the hearing characteristics of humans for quantizing each sub band frequency component is known. In other words, so-called critical bands of which their band widths are proportional to their frequencies have been widely used. With the critical bands, an audio signal may be divided into a plurality of sub bands (for example, 25 sub bands). According to such a sub band coding method, when data of each sub band is encoded, a predetermined number of bits is allocated for each sub band. Alternatively, an adaptive number of bits is allocated for each sub band. For example, when MDCT coefficient data generated by the MDCT process is encoded with the above-described bit allocating method, an adaptive number of bits is allocated to the MDCT coefficient data of each block of each sub band. With the allocated bits, each block is encoded.
An example of a related art reference of such a bit allocating method and an apparatus corresponding thereto is described as “a method for allocating bits corresponding to the strength of a signal of each sub band” in IEEE Transactions of Acoustics, Speech, and Signal Processing, vol. ASSP-25, NO. 4, August (1977). As another related art reference, “a method for fixedly allocating bits corresponding to a signal to noise ratio for each sub band using a masking of the sense of hearing” is described in ICASP, 1980, “The critical band coder—digital encoding of the perceptual requirements of the auditory system”, M. A. Kransner MIT.
When each block is encoded for each sub band, each block is normalized and quantized for each sub band. Thus, each block is effectively encoded. This process is referred to as block floating process. When MDCT coefficient data generated by the MDCT process is encoded, the maximum value of the absolute values of the MDCT coefficients is obtained for each sub band. Corresponding to the maximum value, the MDCT coefficient data is normalized and then quantized. Thus, the MDCT coefficient data can be more effectively encoded. The normalizing process can be performed as follows. From a plurality of numbered values, a value used for the normalizing process is selected for each block using a predetermined calculating process. The number assigned to the selected value is used as normalization information. The plurality of values are numbered so that they increment by 2 dB of an audio level.
The above-described highly effectively encoded signal is decoded as follows. With reference to the bit allocation information, the normalization information, and so forth for each sub band, MDCT coefficient data is generated corresponding to a signal that has been highly efficiently encoded. Since a so-called inversely orthogonally transforming process is performed corresponding to the MDCT coefficient data, time-base data is generated. When the highly efficiently encoding process is performed, if the frequency band is divided into sub bands by a band dividing filter, the time-base data is combined using a sub band combining filter.
When normalization information is changed by an adding process, a subtracting process, or the like, a reproduction level adjusting function, a filtering function, and so forth can be accomplished for a time-base signal of which an encoded data has been decoded that is known as the editing method of data. According to this method, since the reproduction level can be adjusted by a calculating process such as an adding process or a subtracting process, the structure of the apparatus becomes simple. In addition, since a decoding process, an encoding process, and so forth are not excessively required, the reproduction level can be adjusted without a deterioration of the signal quality. In addition, in this method, an encoded signal can be modified without changing the time period of the generated signal by decoding, part of the signal generated by the decoding process can be changed with no influence from other parts.
In other than the method for changing normalization information, when the chronological relation between a decoded signal and an original signal (namely, a delay amount of phases) is obtained, encoded data that has the same chronological relation with a decoded signal can be generated.
When encoded data is changed in the above-described method, an editing operation such as a level adjustment can be performed corresponding to an increase or decrease of one value of normalization information (for example, 2 dB). Thus, such a level adjustment cannot be more precisely performed. In the chronological direction, an editing operation such as a level adjustment cannot be performed in the accuracy exceeding the minimum time unit corresponding to the encoding data format of the applied encoding method (the minimum time unit is for example, 1 frame).
Thus, due to such restrictions corresponding to the applied encoding method and encoding data format, the editing operations in the reproduction level and the frequency region and the editing operation in the chronological direction cannot be more accurately performed.
Therefore, an object of the present invention is to provide a digital signal processing apparatus, a digital signal processing method, a digital signal recoding apparatus, and a digital signal recording method that allow an editing process for such as a reproducing level that is less affected by an applied encoding format to be performed. Another object of the present invention is to provide a record medium on which such data is recorded.
A first aspect of the present invention is a digital signal processing apparatus for processing an input digital signal that has been segmented as blocks each having a predetermined data amount and highly efficiently encoded along with adjacent blocks, comprising a decoding means for decoding the highly efficiently encoded digital signal along with adjacent blocks, a changing process means for changing the decoded digital signal, an encoding means for highly efficiently encoding the changed digital signal along with adjacent blocks, and a delay compensating means for compensating a delay of the decoded signal decoded by the decoding means.
A second aspect of the present invention is a digital signal processing method for processing an input digital signal that has been segmented as blocks each having a predetermined data amount and highly efficiently encoded along with adjacent blocks, comprising the steps of (a) decoding the highly efficiently encoded digital signal along with adjacent blocks, (b) changing the decoded digital signal, and (c) highly efficiently encoding the changed digital signal along with adjacent blocks and compensating a delay of the decoded signal decoded at step (a).
These and other objects, features and advantages of the present invention will become more apparent in light of the following detailed description of a best mode embodiment thereof, as illustrated in the accompanying drawings.
Next, with reference to
When the sampling frequency is 44.1 Hz, an audio PCM signal with a frequency band of 0 to 2 Hz is supplied to a band dividing filter 101 through an input terminal 100. The band dividing filter 101 divides the supplied signal into a signal with a sub band of 0 to 11 kHz and a signal with a sub band of 11 kHz to 22 kHz. The signal with the sub band of 11 to 22 kHz is supplied to an MDCT (Modified Discrete Cosine Transform) circuit 103 and block designating circuits 109, 110, and 111.
The signal with the sub band of 0 kHz to 11 kHz is supplied to a band dividing filter 102. The band dividing filter 102 divides the supplied signal into a signal with a sub band of 5.5 kHz to 11 kHz and a signal with a sub band of 0 to 5.5 kHz. The signal with the sub band of 5.5 to 11 kHz is supplied to an MDCT circuit 104 and the block designating circuits 109, 110, and 111. On the other hand, the signal with the sub band of 0 to 5.5 kHz is supplied to an MDCT circuit 105 and the block designating circuits 109, 110, and 111. Each of the band dividing filters 101 and 102 can be composed of a QFM filter or the like. The block designating circuit 109 designates the block size corresponding to the supplied signal. Information that represents the designated block size is supplied to the MDCT circuit 103 and an output terminal 113.
The block designating circuit 110 designates the block size corresponding to the supplied signal. Information that represents the designated block size is supplied to the MDCT circuit 104 and an output terminal 115. The block designating circuit 111 designates the block size corresponding to the supplied signal. Information that represents the designated block size is supplied to the MDCT circuit 105 and an output terminal 117. The block designating circuits 109, 110, and 111 cause the block size or the block length to be adaptively changed corresponding to the input data before the orthogonally transforming process is performed.
On the other hand, when the input signal is non-steady, one of modes of which the size of each orthogonally transformed block is ½ or ¼ of the size of each orthogonally transformed block of the long mode is used. In reality, in a short mode, the size of each orthogonally transformed block is ¼ of the size of each orthogonally transformed block of the long mode. Thus, in the short mode, the size of each orthogonally transformed block is 2.9 ms as shown in
To consider a limitation caused from the circuit scale of the apparatus and or the like, size of each orthogonally transformed block can be divided in more complicated manners. Thus, it is clear that real input signals can be more adequately processed. The block size is designated by the block designating circuits 109, 110, and 111. Information that represents the designated block size is supplied to the MDCT circuits 103, 104, and 105, a bit allocation calculating circuit 118, and the output terminals 113, 115, and 117.
Returning to
The MDCT circuit 105 performs the MDCT process corresponding to the block size designated by the block designating circuit 111. As the result of the process, low band MDCT coefficient data or frequency-base spectrum data is combined for each critical band and then supplied to the adaptive bit allocation encoding circuit 108 and the bit allocation calculating circuit 118. The critical bands are frequency bands that are divided in consideration of the hearing characteristics of humans. When a particular pure sound is masked with a narrow band noise that has the same strength thereof and that is in the vicinity of the frequency band of the pure sound, the band of the narrow band noise is a critical band. The band widths of the critical bands are proportional to their frequencies. The frequency band of 0 to 22 kHz is divided into for example 25 critical bands.
The bit allocation calculating circuit 118 Calculates for example the masking amount, energy, and/or peak value for each sub band in consideration of the above-described critical bands and block floating for a masking effect (that will be described later) corresponding to the supplied MDCT coefficient data or frequency-base spectrum data and block size information. Corresponding to the calculated results, the bit allocation calculating circuit 118 calculates the scale factor and the number of allocated bits for each sub band. The calculated number of allocated bits is supplied to the adaptive bit allocation encoding circuits 106, 107, and 108. In the following description, each sub band as a bit allocation unit is referred to as unit block.
The adaptive bit allocation encoding circuit 106 re-quantizes the spectrum data or MDGT coefficient data supplied from the MDCT circuit 103 corresponding to the block size information supplied from the block designating circuit 109 and to the number of allocated bits and the scale factor information supplied from the bit allocation calculating circuit 118. As the result of the process, the adaptive bit allocation encoding circuit 106 generates encoded data corresponding to the applied encoding format. The encoded data is supplied to a calculating device 120. The adaptive bit allocation encoding circuit 107 re-quantizes the spectrum data or MDCT coefficient data supplied from the MDCT circuit 104 corresponding to the block size information supplied from the block designating circuit 110 and to the number of allocated bits and scale factor information supplied from the bit allocation calculating circuit 118. As the result of the process, encoded data corresponding to the applied encoding format is generated. The encoded data is supplied to a calculating device 121.
The adaptive bit allocation encoding circuit 108 re-quantizes the spectrum data or MDCT coefficient data supplied from the MDCT circuit 105 corresponding to the block size information supplied from the block designating circuit 110 and to the number of allocated bits and scale factor information supplied from the bit allocation calculating circuit 118. As the result of the process, encoded data corresponding to the applied encoding format is generated. The encoded data is supplied to a calculating device 122.
To correct an error, the same information is dually written. In other words, data recorded at a particular byte is dually recorded to another byte. Although the strength against an error is proportional to the amount of data that is dually written, the amount of data used for spectrum data decreases. In the example of the encoding format, since the number of unit blocks in which bit allocation information is dually written and the number of unit blocks in which scale factor information is dually written are independently designated, the strength against an error and the number of bits used for spectrum data can be optimized. The relation between a code in a predetermined bit and the number of unit blocks has been defined as a format.
At the second byte position shown in
The scale factor information is followed by spectrum data of each unit block. The spectrum data for the number of unit blocks that are really contained is placed. Since the data amount of spectrum data contained in each unit block has been defined as a format, with the bit allocation information, the relation of data can be obtained. When the number of bits allocated to a particular unit block is zero, the unit block is not contained.
The spectrum information is followed by the scale factor that is dually written and the bit allocation information that is dually written. The scale factor information and the bit allocation information are dually written corresponding to the dual write information shown in
One frame contains 1024 PCM samples that are supplied through the input terminal 100. The first 512 samples are used in the immediately preceding frame. The last 512 samples are used in the immediately following frame. This arrangement is used from a view point of an overlap of the MDCT process.
Returning to
The calculating device 122 adds the value supplied from the normalization information changing circuit 119 to the scale factor information contained in the encoded data supplied from the adaptive bit allocation encoding circuit 108. When the value that is output from the normalization information changing circuit 119 is negative, the calculating device 122 operates as a subtracting device. The normalization information changing circuit 119 operates corresponding to an operation of the user through for example an operation panel. In this case, the level adjusting process, the filtering process, and so forth will be described later that the user desires are accomplished. Output signals of the calculating devices 120, 121, and 122 are supplied to a conventional recording system (not shown) through output terminals 112, 114, and 116, respectively. The recording system records the output signals of the calculating devices 120, 121, and 122 to a record medium such as a magneto optical disc.
The recording system records at least one type of encoded data generated by properly controlling addresses of tracks formed on the record medium along with data that has not been processed in such a manner that the encoded data and non-processed data are separately recorded. This process will be described later. Thus, at least one type of encoded data and/or pre-edited data are recorded on the record medium. As a record medium, besides a magneto optical disc, a disc shaped record medium (such as a magnetic disc), a tape shaped record medium (such as a magnetic tape or an optical take), or a semiconductor memory (such as an IC memory, a card type memory, a memory card, or an optical memory) may be used.
Next, each process will be described in detail.
The energy calculating circuit 302 designates a scale factor value. In reality, several positive values are provided as alternatives of a scale factor value. Among them, values that are larger than the maximum value of absolute values of spectrum data or MDCT coefficients of each unit block are selected. The minimum value of the selected values is used as a scale factor value of the unit block. Numbers are allocated to the alternatives of a scale factor value using for example several bits. The allocated numbers are stored in for example ROM (Read Only Memory) (not shown). At this point, the alternatives of a scale factor value increment by for example 2 dB. A number allocated to a scale factor value selected for a particular unit block is defined as scale factor information of the particular unit block.
An output signal (namely, each value of the spectrum SB) of the energy calculating circuit 302 is supplied to a convolution filter circuit 303. The convolution filter circuit 303 performs a convoluting process for multiplying a predetermined weighting function by a spectrum SB and adding them so as to consider the influence of the masking of the spectrum SB. Next, with reference to
Returning to
In other words, when the numbers allocated from the lowest critical band are denoted by i, the level α corresponding to the allowable noise level can be obtained by the following formula (1).
α=S−(n−ai) (1)
wherein n and α are constants; a>0; S is the strength of a convoluted spectrum. In formula (1), (n−ai) is an allowance function. In this example, n=38 and a=1 are given.
The level α calculated by the calculating device 304 is supplied to a dividing device 306. The dividing device 306 inversely convolutes the level α. As a result, the dividing device 306 generates a masking spectrum corresponding to the level α. The masking spectrum is an allowable noise spectrum. When the inversely convoluting process is performed, complicated calculations are required. However, according to the first embodiment of the present invention, with the dividing device 306 that is simply structured, the inversely convoluting process is performed. The masking spectrum is supplied to a combining circuit 307. In addition, data that represents a minimum audible curve RC (that will be described later) is supplied from a minimum audible curve generating circuit 312 to the combining circuit 307.
The combining circuit 307 combines the masking spectrum that is output from the dividing device 306 and the data that represents the minimum audible curve RC and generates a masking spectrum. The generated masking spectrum is supplied to a subtracting device 308. The timing of an output signal of the energy calculating circuit 302 (namely, the spectrum SB of each sub band) is adjusted by a delaying circuit 309. The resultant signal is supplied to the subtracting device 308. The subtracting device 308 performs a subtracting process corresponding to the masking spectrum and the spectrum SB.
As the result of the process, the spectrum SB of each block is masked so that the portion that is smaller than the level of the masking spectrum is masked.
When the noise absolute level is equal to or smaller than the minimum audible curve RC, the noise is inaudible for humans. The minimum audible curve varies corresponding to the reproduction volume even in the same encoding method. However, in a real digital system, music data in for example a 16-bit dynamic range does not largely vary. Thus, assuming that the quantizing noise of the most audible frequency band at around 4 kHz is inaudible, it is supposed that the quantizing noise that is smaller than the level of the minimum audible curve is inaudible in other frequency bands.
Thus, when noise at around 4 kHz of a word length of the system is prevented from being audible, if the allowable noise level is obtained by combining the minimum audible curve RC and the masking spectrum MS, the allowable noise level can be represented as a hatched portion shown in
Returning to
The equal roundness curve matches the minimum audible curve shown in
Next, scale factor information will be described in detail. As alternatives of a scale factor value, a plurality of positive values (for example, 63 positive values) are stored in for example a memory of the bit allocation calculating circuit 118. Values that exceed the maximum value of the absolute values of the spectrum data or MDCT coefficients of a particular unit block are selected from the alternatives. The minimum value of the selected values is used as the scale factor value of the particular unit block. A number allocated to the selected scale factor value is defined as scale factor information of the particular unit block. The scale factor information is contained in the encoded data. The positive values as the alternatives of a scale factor value are allocated with numbers of six bits. The positive values increment by 2 dB.
When the scale factor information is controlled with an adding operation and a subtracting operation, the level of the reproduced audio data can be adjusted with an increment of 2 dB. For example, when the same values that are output from the normalization information changing circuit 119 are added or subtracted to/from the scale factor information of all the unit blocks, the levels of all the unit blocks can be adjusted by 2 dB. The scale factor information generated as the result of the adding/subtracting operations is limited to the range defined in the applied format.
Alternatively, when different values that are output from the normalization information changing circuit 119 are added or subtracted to/from the scale factor information of the respective unit blocks, the levels of the unit blocks can be separately adjusted. As a result, a filtering function can be accomplished. In more reality, when the normalization information changing circuit 119 outputs a pair of a unit block number and a value to be added or subtracted to/from the scale factor information of the unit block, unit blocks and values to be added or subtracted to/from scale factor information of the unit blocks are correlated.
By changing scale factor information in the above-described manner, functions that will be described with reference to
Next, with reference to
The encoded data is supplied from the input terminal 707 to a calculating device 710. The calculating device 710 also receives numeric data from a normalization information changing circuit 709. The calculating devices adds the numeric data supplied from the normalization information changing circuit 119 corresponding to supplied scale factor information of encoded data. When the numeric value that is output from the normalization information changing circuit 709 is a negative value, the calculating device 710 operates as a subtracting device. An output signal of the calculating device 710 is supplied to an adaptive bit allocation decoding circuit 706 and an output terminal 711.
The adaptive bit allocation decoding circuit 706 references the adaptive bit allocation information and deallocates the allocated bits. An output signal of the adaptive bit allocation decoding circuit 706 is supplied to inversely orthogonally transforming circuits 703, 704, and 705. The inversely orthogonally transforming circuits 703, 704, and 705 transform a frequency-base signal into a time-basis signal. An output signal of the inversely orthogonally transforming circuit 703 is supplied to a band combining filter 701. Output signals of the inversely orthogonally transforming circuit 704 and 705 are supplied to a band combining filter 702. Each of the inversely orthogonally transforming circuits 703, 704, and 705 may be composed of an inversely modified DCT transforming circuit (IMDCT).
The band combining filter 702 combines supplied signals and supplies the combined result to the band combining filter 701. The band combining filter 701 combines supplied signals and supplies the combined result to a terminal 700. In such a manner, time-base signals of separated sub bands that are output from the inversely orthogonally transforming circuits 703, 704, and 705 are decoded into a signal of the entire band. Each of the band combining filters 701 and 702 may be composed of for example an IQMF (Inverse Quadrature Mirror Filter). Decoded signals of the entire band are supplied to a general configuration for outputting the reproduction sound contains D/A converter, a speaker or so forth (not shown) via the output terminal 700.
By operating scale factor information with an adding operation or a subtracting operation of the calculating device 710, the level adjustment of the reproduced data can be performed every for example 2 dB. When the normalization information changing circuit 709 outputs the same value and adds or subtracts the value to/from scale factor information of each unit block. Thus, the level adjustment of each unit block can be performed for 2 dB. In such a process, scale factor information generated as a result of the adding/subtracting operation is limited in the range of scale factor values defined corresponding to the applied format.
Alternatively, when the normalization information changing circuit 709 outputs a different value for each unit block and adds or subtracts the different value to/from scale factor information of each unit block, the level adjustment of each unit block can be performed. As a result, a filter function can be accomplished. In reality, the normalization information changing circuit 709 outputs a set of each unit block number and a value to be added or subtracted thereto/therefrom. Thus, each unit block can be correlated with a value to be added or subtracted to/from scale factor information.
Next, an editing process performed by changing scale factor information will be described in detail.
In the examples shown in
When a recording system is added to the structure portion shown in
As the result of the editing process due to a change of scale factor information described with reference to
To solve such problems, according to the present invention, encoded data is temporarily decoded to PCM samples. Thereafter, the PCM samples are edited in a desired manner. Thereafter, the edited PCM samples are encoded once again. As a result, encoded data is obtained. However, since each frame of encoded data contains data that overlaps with the adjacent frames, a process in consideration with the overlapped portions is required. This process will be described next. As was described above, one frame is composed of for example 1024 PCM samples. In the processes performed by the MDCTs 103, 104, and 105, each frame that is successively processed has an overlap portion of samples. An example of such a process is shown in
However, in the first frame, it is assumed before the sample sequence begins, there are 512 zero-data PCM samples as a virtual frame. The first frame is processed so that it overlaps with the virtual frame. Likewise, in the last frame, it is assumed after the sample sequence ends, there are 512 zero-data PCM samples as a virtual frame. The last frame is processed so that it overlaps with the virtual frame. In such a process, the number of samples substantially processed is 512.
As was descried above, by changing scale factor information, an editing process can be performed for each frame. However, in the MDCT process for each frame, it is clear that the overlap portion should be considered. This point will be described in reality with reference to
In addition, the level adjustment is performed corresponding to an increase or decrease of at most one value of normalization information (for example, 2 dB). In addition, the filter function or the like is restricted with the number of unit blocks of one frame and a frequency division width corresponding to each unit block. In other words, the editing process is restricted corresponding to the applied encoding method and encoding data format.
A data modifing circuit 804 performs one of various modifing processes as editing processes for the PCM samples stored in the memory 803. Examples of the modifing processes are a reverb process, an echo process, a filtering process, a compressor process, and an equalizing process. The data modifing circuit 804 supplies the modified PCM samples to a delay compensating circuit 805. The delay compensating circuit 805 performs a delay compensating process for the modified PCM samples. The compensated PCM samples are temporarily stored in a memory 806. An encoding circuit 807 performs an encoding process for the PCM samples stored in the memory 806. The encoding circuit 807 outputs the generated encoded data to an output terminal 808. Thus, encoded data that has been edited can be recorded to a record medium through the output terminal 808.
Next, the process of the delay compensating circuit 805 will be descried in detail. The delay compensating process is a phase adjusting process for compensating a time lag of the output data of the encoding circuit 807 against the encoded data that is input from the terminal 801 due to the operation time periods of the decoding circuit 802 and the encoding circuit 807. Thus, the delay compensating circuit 805 secures the chronological relation between a frame that is output from the encoding circuit 807 and a frame that is input from the terminal 801. The delay amount depends on the structure of a band dividing filter or a band combining filter (for example, the number of banks, an input timing of such a filter, the number of zero-data PCM samples, and a buffering using windows in the MDCT process).
For example, the number of banks of each of the band dividing filters 101 and 102 shown in
The decoding circuit 802 shown in
Next, with reference to
When the first frame of encoded PCM samples that have been delay compensated is denoted by a frame M−1, the last 512 PCM samples of the frame M−1 are 512 PCM samples starting from the position of which the decoded PCM samples are delayed by 653 samples. At this point, since the frame M−1 is the first encoded frame, the first 512 PCM samples of the frame M−1 are zero-data PCM samples. Thereafter, the frames M+1, M+2, and M+3 are successively encoded and output through the output terminal 808. In this case, the frame M−1 corresponds to the frame N−1; the frame M corresponds to the frame N; the frame M+1 corresponds to the frame N+1; the frame M+2 corresponds to the frame N+2; and the frame M+3 corresponds to the frame N+3.
In such a relation, to generate PCM samples of for example the frame M, it is necessary to decode the frames N−1 to N+1. In other words, to edit a desired frame and then encode it, at least one preceding frame and one following frame of the current frame are required.
However, for the frames M−1, M, and M+1 that are output from the output terminal 808, the relation of an overlap should be considered. In other words, in the case that a portion e shown in
In other words, to edit the portion e and obtain a desired result, the frames N−1 to N+3 are extracted and decoded. Thus, PCM samples are generated and edited. As a result, the frames M and M+1 are obtained and used instead of the frames N and N+1. In addition, by considering the chronological relation between data generated for obtaining a desired edit result and a frame to be decoded for generating PCM samples, data for a relatively long time period can be edited. In addition, according to the embodiment of the present invention, an influence of windows in the orthogonal transform is not considered. However, to consider it, the editing process can be finely performed.
This point will be described practically with reference to
Next, the case of which an effect process is performed for the frames F3 and F4 shown in
The frames F3 and F4 to which the effect process is performed are input to the terminal 801 shown in
When a signal with a delay D1 is encoded by the encoding circuit 807, as with the case of the decoding process, the delay D2 takes place. As a part of a signal of which the delay D1 and the delay D2 are added in the signal waveform shown in
When the frames DDF3 and DDF4 are rewritten to positions on the record medium corresponding to the time information of the frames DDF3 and DDF4, if the delay compensating process of the delay compensating circuit 805 have not been performed for the frames DDF3 and DDF4, the frame DDF3 is overwritten to the positions of the frames F5 and F6 on the record medium. On the other hand, the frame DDF4 is overwritten to the positions of the frames F6 and F7 on the record medium.
Thus, the frames F1, F2, F3, and F4, a part of the frame F5, the frames DDF3 and DDF4 that have been effect processed, and a part of the frame F7 have been recorded on the record medium. As a result, the continuity of the signal is lost.
To solve this problem, the time information of the generated frames DDF3 and DDF4 is offset by the total time period of the delay amounts D1 and D2. Thus, the frames DDF3 and DDF4 can be rewritten to the positions of the frames F3 and F4 on the record medium, respectively. As a result, the continuity of the signal is secured. In addition, a record medium contains frames that have been effect processed can be provided.
Next, the case of which a part of encoded PCM data recorded on a record medium is decoded, edited, and then rewritten to the record medium will be described with reference to
For example, a frame N of the input PCM data is filtered with three windows W2, W3, and W4 and then combined.
When a portion A of the PCM data shown in
Since the portion A is the beginning portion of the PCM data, there is only one adjacent frame that is one side of the frame N. Thus, null-data should be added to a frame corresponding to the first half of the window W1. As a result, one of the two adjacent frames of the portion A is a null-frame.
When PCM data shown in
Next, with reference to
In this example, a portion EDIT shown in
When the five frames are decoded, since the first frame N−1 and the last frame N+3 each have one adjacent frame, they canot be decoded. Thus, to decode the frames N−1 and N+3, null-frames are used as their adjacent frames. The decoded PCM data is edited. As was described above, the start position of the frame N−1 chronologically deviates due to phase delays of the null-frame and the number of banks of the filter by 653 frames.
When the portion EDIT of the decoded PCM data is edited, it is clear that the waveform corresponding to the data recorded on the record medium is different from the waveform of the edited portion.
The reason why the waveform of the second half of the frame N+3 is different from the waveform corresponding to the data recorded on the record medium is in that when the second half of the frame N+3 is decoded, the null-frame is used instead of the first half of the frame N+4.
On the other hand, since the frame N−1 is encoded using a null-frame, when the frame N−1 is decoded, the waveform of the PCM signal decoding using the null-frame is the same as the waveform of the input PCM signal.
It is necessary to rewrite the edited PCM signal to the relevant frame positions on the record medium.
At this point, when the PCM signal is encoded with the same widows shown in
To solve this problem, when a signal is filtered with new windows W11, W12, W12, W13, . . . and W16 as shown in
Thus, it can be said that the window W11 shown in
As a result, when the filtering positions using windows are moved corresponding to the delay compensation amount as shown in
According to the first embodiment and the second embodiment of the present invention, in a combination of MDCT, band division considering the hearing characteristics of humans, and bit allocations of individual sub bands, a normalizing process and a quantizing process are performed in each sub band for encoded data corresponding to a highly efficiently encoding method. Alternatively, the present invention can be applied to another encoding method such as an encoding data format corresponding to the MPEG audio standard.
The header is composed of 32 bits (fixed length). The header contains information of a synchronous word, an ID, a layer, a protection bit, a bit rate index, a sampling frequency, a padding bit, a private bit, a mode, a copyright protection state code, an original/copy representing code, an emphasis, and so forth. The header is followed by optional error check data. The error check data is followed by audio data. Since audio data contains ring allocation information and scale factor information along with sample data, the present invention can be applied to such a data format.
As normalization information, other than scale factor information may be used corresponding to the encoding method. In such a case, the present invention can be applied.
According to the present invention, encoded data that is temporarily formed corresponding to for example a digital audio signal is partly decoded, edited, and then encoded once again. Thus, restrictions due to the level adjustment width, the filter function, and the chronological process can be suppressed in the editing process. Thus, data can be more finely edited.
Having described a specific preferred embodiment of the present invention with reference to the accompanying drawings, it is to be understood that the invention is not limited to that precise embodiment, and that various changes and modifications may be effected therein by one skilled in the art without departing from the scope or the spirit of the invention as defined in the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
P11-247340 | Sep 1999 | JP | national |
P2000-245933 | Aug 2000 | JP | national |
The present patent document is a continuation of U.S. application Ser. No. 09/645,789, filed on Aug. 24, 2000 now U.S. Pat. No. 6,850,578, and in turn claims priority to JP 11-247340 filed on Sep. 1, 1999, and JP 2000-245933 filed on Aug. 14, 2000, the entire contents of each of which are hereby incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4513426 | Jayant | Apr 1985 | A |
4622680 | Zinser | Nov 1986 | A |
5051991 | Szczutkowski | Sep 1991 | A |
6233279 | Boon | May 2001 | B1 |
6289059 | Yamaguchi et al. | Sep 2001 | B1 |
6377628 | Schultz et al. | Apr 2002 | B1 |
6407972 | Koyata et al. | Jun 2002 | B1 |
6621881 | Srinivasan | Sep 2003 | B2 |
6735252 | Koyata et al. | May 2004 | B1 |
6850578 | Koyata | Feb 2005 | B1 |
Number | Date | Country | |
---|---|---|---|
20040268203 A1 | Dec 2004 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09645789 | Aug 2000 | US |
Child | 10895072 | US |