WO2011021239A1 - オーディオ・ストリームを合成する装置、方法及びプログラム - Google Patents

オーディオ・ストリームを合成する装置、方法及びプログラム Download PDF

Info

Publication number
WO2011021239A1
WO2011021239A1 PCT/JP2009/003968 JP2009003968W WO2011021239A1 WO 2011021239 A1 WO2011021239 A1 WO 2011021239A1 JP 2009003968 W JP2009003968 W JP 2009003968W WO 2011021239 A1 WO2011021239 A1 WO 2011021239A1
Authority
WO
WIPO (PCT)
Prior art keywords
group
access units
frames
unit
access
Prior art date
Application number
PCT/JP2009/003968
Other languages
English (en)
French (fr)
Inventor
庸介 高田
Original Assignee
トムソン ライセンシング
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 トムソン ライセンシング filed Critical トムソン ライセンシング
Priority to US13/391,262 priority Critical patent/US9031850B2/en
Priority to PCT/JP2009/003968 priority patent/WO2011021239A1/ja
Priority to JP2011527483A priority patent/JP5785082B2/ja
Publication of WO2011021239A1 publication Critical patent/WO2011021239A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing

Definitions

  • the present invention relates to an apparatus, method, and program for synthesizing a stream composed of compressed data, for example, an apparatus, method, and program for synthesizing an audio stream generated by compressing audio data.
  • an audio signal is divided into blocks each consisting of a predetermined number of data samples (hereinafter referred to as “audio samples”), and each block is converted into a frequency signal representing a predetermined frequency component.
  • the audio compression data is generated by encoding.
  • AAC Advanced Audio Coding
  • an encoding process conforming to AAC in order to obtain smoother audio compression data, a process of partially overlapping adjacent blocks (hereinafter referred to as “amplified audio coding”) (Referred to as non-patent document 1).
  • Non-Patent Documents 1 and 2 For audio streams consisting of audio compressed data, CBR (Constant Bit-Rate), ABR (Average Bit-Rate), etc., to satisfy buffer management restrictions Rate control is required (see, for example, Non-Patent Documents 1 and 2).
  • an audio stream composed of compressed audio data is frequently edited, and such audio streams may be connected. Since the audio compression data is generated by partial overlap conversion for each block consisting of a predetermined number of audio samples, simply joining different audio streams results in a loss in the seam portion of the audio stream data. A frame that is completely decoded may occur, resulting in artifacts (distortion). In addition, when audio compressed data is easily joined, the buffer management restrictions may be broken, and buffer overflow or underflow may occur. In order to avoid such a problem, conventionally, when joining different audio streams, it has been necessary to decode all the audio streams and then re-encode them.
  • image data encoded by the MPEG (Moving Picture Experts Group) encoding method (hereinafter referred to as “MPEG image data”) is re-encoded on the joint of the MPEG image data and re-encoded on the storage medium.
  • MPEG image data image data encoded by the MPEG (Moving Picture Experts Group) encoding method
  • MPEG image data image data encoded by the MPEG (Moving Picture Experts Group) encoding method
  • the MPEG data storage method disclosed in Patent Document 1 joins different MPEG image data by re-encoding limited to the joint while satisfying the VBV buffer requirements. It does not solve the problem related to the joining of the compressed data generated by performing the above.
  • the present invention provides a stream synthesis apparatus, a stream synthesis method, and a stream synthesis method for smoothly joining compressed data streams generated by performing overlap conversion without decoding and re-encoding all compressed data into audio frames.
  • An object is to provide a stream synthesis program.
  • an audio stream synthesizing device for generating one audio stream by joining two audio streams composed of compressed data generated by performing overlap conversion.
  • the access units which are units for decoding the two audio streams, are the first group access unit and the second group access unit, respectively, and the frames obtained by decoding the two audio streams are respectively
  • An access unit obtained by encoding a mixed frame generated by mixing the first group frame and the second group frame with the first group frame and the second group frame is defined as an access unit of the third group.
  • the audio stream synthesizer An input unit for inputting the first group of access units and the second group of access units; and decoding the first group of access units input by the input unit to generate a first group of frames; A decoding unit that decodes the second group of access units to generate a second group of frames; a plurality of first group frames and a plurality of second group frames decoded by the decoding unit; Based on the access units used to decode the frames, selectively mix to generate mixed frames, and encode the mixed frames to generate a predetermined number of third group access units; The plurality of first group access units and the plurality of second group access units are connected to the predetermined number of third group access units as a seam. Access units adjacent to each other at the boundary between the knit, the plurality of second group access units, and the predetermined number of third group access units distribute information for decoding the same common frame A stream synthesizing device is provided.
  • the synthesizing unit selects a plurality of first group frames and a plurality of second group frames based on an access unit used to decode each frame. Are mixed to generate a mixed frame, and the mixed frame is encoded to generate a third group of access units that are the seams of the two streams. Therefore, all compressed data is decoded into frames and encoded again. (Hereinafter referred to as “re-encoding”) is not necessary.
  • adjacent access units at the boundary between the two streams and the predetermined number of third group access units are: Since joining is performed so as to distribute information for decoding the same common frame, smooth joining without artifacts can be realized without decoding and re-encoding all compressed data into frames.
  • the synthesizing unit includes a predetermined number of first group frames including a last frame and the plurality of second group frames among the plurality of first group frames.
  • a predetermined number of the second group of frames including the first frame, at least one frame from the top of the predetermined number of the first group of frames, and the predetermined number of the second group of frames. are mixed so that frames excluding at least one frame from the end of each other overlap each other to generate a number of mixed frames larger than the predetermined number, and the mixed frames are encoded to generate a predetermined number of frames.
  • An encoding unit that generates a third group of access units may be included.
  • the synthesizing unit may connect the plurality of first group access units and the predetermined number of third group access units to the predetermined number of first group.
  • the first access unit and the first access unit of the predetermined number of third group access units are joined so as to be adjacent to each other, and the plurality Of the second group of access units and the predetermined number of third group access units of the plurality of access units used to decode the predetermined number of second group frames.
  • the access unit may include a joint portion that joins the access units at the end of the predetermined number of third group access units so as to be adjacent to each other.
  • the stream synthesizing apparatus includes the third group of access units that are the seams of the two streams so as to include a part of the access units that are output without being re-encoded. And the second group of access units are decoded to generate a first group of frames and a second group of frames, respectively, and the first group of frames and the second group of frames are mixed. Then, it can be generated by re-encoding.
  • this third group of access units As a seam part, two access units adjacent at the boundary between the re-encoded stream and the non-re-encoded stream will receive other normally encoded Like the portion, information for decoding the same frame common to them is distributed, so that a frame that is decoded incompletely does not occur. Therefore, even when streams of different compressed data generated by overlap conversion are joined, smooth joining without artifacts can be achieved without decoding and re-encoding all compressed data into frames. Can be realized. Therefore, it is possible to smoothly join all the compressed data without decoding and re-encoding the audio frame.
  • the encoding unit may be configured such that the initial occupation amount and the last occupation amount of the buffer of the predetermined number of third group access units are the predetermined number of the first group.
  • the buffer occupancy of the first access unit and the plurality of access units used for decoding the predetermined number of second group frames The third group of access units may be encoded so as to match the occupied amount of the buffer of the last access unit.
  • the stream synthesizing device of the present invention is connected without re-encoding between the first group of access units and the second group of access units constituting each of the two streams.
  • the buffer occupancy of the access unit is respectively the initial occupancy and the final occupancy of the third group access unit buffer generated by re-encoding.
  • And rate control by joining the third group of access units as seam may be continuous changes in the occupancy of the buffer in the synthesis stream.
  • this third group of access units as a seam part, the buffer occupancy between different streams, which are separately rate-controlled, is continuously maintained, and the combined stream is combined to satisfy the buffer constraints in the combined stream it can.
  • the synthesizing unit may include a mixing unit that cross-fades and mixes the first group of frames and the second group of frames.
  • the stream synthesizing apparatus of the present invention can join the streams more smoothly by using the third group of access units as a seam portion.
  • an audio stream synthesizing method for generating one audio stream by joining two audio streams composed of compressed data generated by performing overlap conversion
  • the access units which are units for decoding the two audio streams, are the first group access unit and the second group access unit, respectively, and the frames obtained by decoding the two audio streams are respectively
  • An access unit obtained by encoding a mixed frame generated by mixing the first group frame and the second group frame with the first group frame and the second group frame is defined as an access unit of the third group.
  • the audio stream synthesis method includes a first group of access units.
  • a stream synthesis method comprising: a synthesis step.
  • an audio stream that causes a computer to execute the process of generating one audio stream by joining two audio streams composed of compressed data generated by performing overlap conversion.
  • a synthesizing program wherein an access unit that is a unit for decoding the two audio streams is defined as a first group access unit and a second group access unit, respectively, and the two audio streams are decoded.
  • the access units obtained by encoding the mixed frames generated by mixing the frames of the first group and the second group, respectively, with the frames obtained in this way as the first group of frames and the second group of frames.
  • the composition program includes an input step of inputting the first group of access units and the second group of access units, and decoding the first group of access units input in the input step to obtain the first group of frames. And generating a second group of frames by decoding the second group of access units, and a plurality of first group frames and a plurality of second group frames decoded in the decoding step. , Based on the access unit used to decode each frame, selectively mix to generate a mixed frame, and encode the mixed frame to generate a predetermined number of third group access units The plurality of first group access units and the plurality of second group access units are connected to each other with the predetermined number of third group access units as seams.
  • An audio stream synthesizing program causes a computer to perform a synthesizing step for distributing information for decoding.
  • the stream of compressed data generated by performing the overlap conversion can be efficiently and smoothly joined without re-encoding all the compressed data.
  • FIG. 2 is a flowchart illustrating an operation executed by the stream synthesizing apparatus of FIG. 1. It is a figure which shows the relationship between an audio frame and an access unit. It is a figure which shows the state of a buffer. It is a figure which shows an example which joins the stream A and the stream B. It is a figure which shows the state of a buffer. It is a block diagram of the stream composition device of a 2nd embodiment of the present invention. It is a flowchart explaining the operation
  • FIG. 1 is a schematic functional block diagram of a stream synthesizing apparatus 10 according to a representative embodiment that executes stream synthesis of the present invention. First, the basic principle of the stream composition of the present invention will be described using the stream composition apparatus 10 of FIG.
  • the stream synthesizing apparatus 10 inputs the first stream A and the second stream B, decodes the input first stream A and the second stream B, respectively, A decoding unit 2 that is a decoding unit that generates a second group of frames, and a synthesis unit 3 that generates a third stream C from the first group of frames and the second group of frames.
  • the combining unit includes an encoding unit (not shown) that re-encodes the frame.
  • first group frames and “second group frames”, respectively.
  • the first stream A and the second stream B are compressed data streams generated by performing overlap conversion on frames obtained by sampling signals and encoding them.
  • FIG. 2 is a flowchart for explaining the operation of the stream synthesizing apparatus 10 for synthesizing the stream.
  • a basic unit of compressed data when a frame is decoded is referred to as an “access unit”.
  • a set of individual access units as a unit for decoding the first stream A is referred to as “first group access units”
  • an individual unit as a unit for decoding the second stream B A set of access units is a “second group access unit”
  • a set of access units obtained by encoding a mixed frame generated by mixing the first group frame and the second group frame is “ A third group of access units.
  • Each process is executed by the controller of the stream synthesizing apparatus 10 such as a CPU (Central Processing Unit) (not shown) and related programs.
  • CPU Central Processing Unit
  • step S1 the first group of access units constituting the first stream A and the second group of access units constituting the second stream B are input to the input unit 1, respectively.
  • step S2 the decoding unit 2 obtains the first group of access units and the second group of access units from the first stream A and the second stream B of the compressed data input to the input unit 1, respectively. Are decoded to generate a first group of frames and a second group of frames.
  • step S3 the synthesizer 3 selectively mixes the first group of frames and the second group of frames decoded by the decoder 2 with reference to the access unit used to decode each frame. To generate a mixed frame and encode the mixed frame to generate a predetermined number of third group access units.
  • step S4 the access units adjacent to each other at the boundary between the two streams and the predetermined number of third group access units are shared by using the predetermined number of third group access units thus generated as a joint. It joins so that the information for decoding the same frame may be distributed.
  • the combining unit 3 selectively mixes the first group of frames and the second group of frames based on the access unit used to decode each frame to generate a mixed frame,
  • the mixed frame is encoded to generate a third group of access units that are the seams of the two streams. Therefore, all the compressed data is decoded into frames and encoded again (hereinafter referred to as “re-encoding”). )do not have to.
  • re-encoding all the compressed data is decoded into frames and encoded again
  • the synthesizing unit 3 combines a plurality of first group frames and a plurality of second group frames with a predetermined number of first group frames including the last frame among the consecutive first group frames.
  • the frames other than at least one frame from the end of the second group of frames are mixed so as to overlap each other to generate a number of mixed frames larger than a predetermined number, and the mixed frames are encoded.
  • a coding unit for generating a predetermined number of third group access units.
  • the combining unit 3 uses the first access unit among a plurality of access units used for decoding a predetermined number of the first group of frames as a joint. Of the plurality of third group access units, and the second group of consecutive access units are used to decode a predetermined number of second group frames.
  • the access unit may include a joint portion connected to the end of a predetermined number of third group access units.
  • the above-described encoding unit is used for decoding a predetermined number of frames of the first group, in which the initial occupation amount and the final occupation amount of the buffer of the predetermined number of third group access units are respectively.
  • the occupancy of the buffer of the first access unit and the access unit at the end of the plurality of access units used to decode a predetermined number of frames of the second group The third group of access units may be encoded so as to match the buffer occupancy.
  • the stream synthesizing device is configured to join the first group of access units and the second group of access units constituting each of the two streams to the third group of access units.
  • the buffer occupancy of the last part of the first group of access units joined to the head part of the third group of access units without being re-encoded, and the re-encoded third group access is the initial buffer occupancy of the third group of access units generated by re-encoding, respectively.
  • an audio frame obtained by blocking an audio signal every 1024 samples is formed, and this audio frame is used as a unit of encoding process or decoding process.
  • Two adjacent audio frames are converted into 1024 by MDCT (Modified Discrete Cosine Transform) using one long window with a window length of 2048 or eight short windows with a window length of 256. Converted to MDCT coefficients.
  • MDCT Modified Discrete Cosine Transform
  • the 1024 MDCT coefficients generated by the MDCT are encoded according to the AAC encoding process to generate a compressed audio frame or access unit.
  • a collection of audio samples that are referred to in the MDCT transform and contribute to the MDCT coefficients are called MDCT blocks.
  • the MDCT conversion is a kind of overlap conversion, and all two adjacent windows used for the MDCT conversion are configured to overlap.
  • AAC two window functions having different frequency characteristics, a sine window and a Kaiser-Bessel derived window are used.
  • the window length can be switched according to the nature of the input audio signal.
  • one long window function having a window length of 2048 is used will be described unless otherwise specified.
  • the compressed audio frame generated by encoding the audio frame according to the AAC encoding process or the access unit is generated by performing the overlap conversion.
  • FIG. 3 shows the relationship between audio frames and access units.
  • an audio frame represents a collection of 1024 audio samples obtained by sampling an audio signal
  • the access unit is an encoded stream or audio compression for decoding one audio frame. It shall represent the minimum unit of a data stream.
  • the access unit is not drawn at a correct scale corresponding to the code amount (the same applies hereinafter). Due to the overlap conversion, the audio frame and the access unit are shifted by 50% of the frame length.
  • an access unit i is generated from an MDCT block #i composed of an input audio frame (i-1) and i.
  • Audio frame i is reproduced by performing overlap addition of MDCT blocks #i and # (i + 1) including aliasing decoded from access units i and (i + 1), respectively. Since the input audio frames ( ⁇ 1) and N are not output, the contents of these frames are arbitrary. For example, all samples may be set to zero.
  • N is an arbitrary integer
  • overlap conversion is performed. Therefore, in order to obtain N audio frames, that is, output audio frames at the time of decoding, (N + 2) audio frames are obtained. It can be seen that it is necessary to input to the encoder. At this time, the number of generated access units is (N + 1).
  • FIG. 4 shows the state of the buffer in the decoding unit when rate control satisfying ABR (average bit rate) is performed.
  • the buffer of this decoding unit is also called a bit reservoir because it temporarily accumulates data up to a predetermined code amount and adjusts the bit rate in a pseudo manner.
  • the bit stream continues to be sent to the decoding unit buffer at a fixed rate R.
  • R For ease of understanding, it is assumed that when access unit i is decoded, the code of access unit i is instantaneously removed from the buffer and frame (i-1) is output instantaneously.
  • i is an arbitrary integer.
  • overlap conversion is performed, an audio frame is not output when the first access unit is decoded.
  • rate control is guaranteed when the code amount of the access unit can be controlled to be smaller than the average code amount L (with an upper score). In the following description, it is assumed that rate control is guaranteed at a predetermined rate unless otherwise specified.
  • the code amount of the access unit i is L i
  • the buffer occupancy after the access unit i is removed from the buffer is defined as the buffer occupancy S i in the access unit i
  • the code amount L i is controlled in units of bytes, for example.
  • S ⁇ 1 may be any value that satisfies Equation 2.
  • the synthesizing unit 3 determines that the occupation amount of the output audio frame access unit, that is, the third group access unit, is not less than zero and not more than the maximum buffer occupation amount. As such, encoding may be performed. This reliably prevents buffer overflow and underflow.
  • the time t 0 for decoding the access units 0 to first decoding can be expressed as follows.
  • the access unit 0 is an access unit to be decoded first, and is not necessarily the head access unit of the stream. Further, it is assumed that information on S i and L i is stored in the access unit.
  • the access unit is in the form of ADTS (Audio Data Transport Stream), and the quantized value of S i and the value of L i are stored in the ADTS header of the access unit i.
  • ADTS Anaudio Data Transport Stream
  • FIG. 5 shows an example in which stream A and stream B are joined.
  • stream C is generated by joining stream A and stream B with stream AB that is generated by partially re-encoding stream A and stream B.
  • an access unit that is output to the stream C without being re-encoded is referred to as an “access unit that is not re-encoded”.
  • an access unit that is replaced with an access unit re-encoded in the stream C corresponding to the joint stream is referred to as “access unit to be re-encoded”.
  • the access units constituting stream A are the first group of access units
  • the access units constituting stream B are the second group of access units
  • the access units constituting stream AB are the third group. It corresponds to the access unit.
  • N A and N B be the numbers of audio frames obtained when stream A and stream B are decoded.
  • Stream B is N B +1 amino access unit U B [0], U B [1], ..., U B consists [N B], when decoding these N B number of audio frames F B [0] , F B [1],..., F B [N B ⁇ 1] are obtained.
  • FIG. 5 shows a state in which stream A and stream B are arranged such that the last three access units of stream A and the top three access units of stream B overlap.
  • Three overlapping access units that is, U A [N A ⁇ 2], U A [N A ⁇ 1], U A [N A ], and a stream in the range having a1 and a2 of stream A as a boundary U B [0], U B [1], U B [2] in the range of B's b1 and b2 are re-encoded access units, and other stream A and stream B
  • An access unit is an access unit that is not re-encoded.
  • the re-encoded access unit is replaced with the joint access units U AB [0], U AB [1], U AB [2].
  • the seam access unit is obtained by encoding the seam frame.
  • Audio frame F A stream A [N A -3], F A [N A -2], F A [N A -1] and audio frames F B [0] of the stream B ⁇ F B [2] Is generated by overlap transform, and therefore, when re-encoding, the part to be superimposed and mixed and re-encoded, that is, access unit U A [N A -2] to U A of stream A A portion decodable from [N A ] and only the access units U B [0] to U B [2] of the stream B is defined by respective leading ends a1 ′ and b1 ′ and trailing ends a2 ′ and b2 ′. It is narrowed down to the part. Further, each rate and the sampling frequency of the stream A and stream B is R, a common as f s, the average code amount L (with upper score) per access unit is also equal one.
  • the frames F AB [0] and F AB [1] to be mixed may be generated by cross-fading at the joint frame between the stream A and the stream B.
  • (M + 1) access units counted from the end of stream A and (M + 1) access units counted from the beginning of stream B are deleted, A new (M + 1) access unit is generated in the part, and stream A and stream B are joined.
  • the number of audio frames to be mixed or crossfaded and the number of access units to be re-encoded may be determined according to the stream to be combined.
  • the stream A and the stream B are cross-faded to generate a composite stream C. Specifically, while the volume of the stream A is gradually decreased (stream A is faded out), the volume of the stream B is gradually increased.
  • stream A and stream B are combined to generate stream C while (stream B is faded in), the present invention is not limited to this.
  • the streams may be combined by any method as long as the streams are combined in units of access units while observing the buffer management restrictions described in detail later.
  • the initial occupancy of the (M + 1) access unit buffers to be re-encoded and the buffer occupancy of the last access unit can be restored with a predetermined accuracy.
  • FIG. 6 shows a buffer state when the streams are joined in the present embodiment.
  • the buffer state of the stream that is not re-encoded and the buffer state of the stream that is re-encoded are joined so as to be continuous.
  • the initial fullness S start and end of occupancy of S end of the buffer of the re-encoded composed stream respectively, the last access unit U A of stream A that are not re-encoded [N A -3 ]
  • the occupation amount of the last access unit U B [2] of the stream B to be re-encoded In this example, three access units U AB [0], U AB [1], and U AB [2] are assigned substantially the same amount of code. In other words, this is equivalent to performing CBR rate control. By doing so, the two streams can be joined while avoiding overflow and underflow of the buffer.
  • the method for assigning the code amount to the access unit to be re-encoded is arbitrary.
  • the code amount to be assigned may be changed so that the quality is constant.
  • (M + 1) access units in which stream A and stream B overlap are re-encoded, that is, (M + 1) seam stream AB.
  • the present invention is not limited to this, and the number of access units larger than (M + 1) in the stream A or the stream B may be re-encoded.
  • the present invention pays attention to this point, and when re-encoding and generating the access units constituting the seam portion, the adjacent access unit that is not re-encoded and the access unit that is re-encoded are two access units. Information for decoding frames common to the units is distributed to the units. Specifically, in the stream synthesizing apparatus 10 of FIG. 1, the synthesizing unit 3 decodes (M + 2) consecutive access units including the last access unit of the first group of access units (M + 1).
  • a contiguous access unit including the end of the second group of access units, including the last access unit of the access unit from which the two groups of frames were decoded, is joined in this order to produce a composite stream C Is generated.
  • the stream of compressed data is a stream generated by performing overlap conversion
  • two access units adjacent at the boundary between a stream to be recoded and a stream not to be recoded are usually Similarly to the encoding of, since the information for decoding the same frame common to them is distributed, no artifact occurs at the joint. Therefore, different streams can be smoothly joined without decoding and re-encoding all the compressed data into audio frames. Further, the joining can be made smoother by crossfading the joining streams.
  • the stream synthesizing apparatus performs the second group of accesses that are continuous with the first group of access units that are continuous from the two streams of compressed data generated by performing the overlap conversion.
  • the input unit 1 for inputting the unit and the continuous first group of access units are decoded to generate a continuous first group of frames, and the continuous second group of access units are decoded and continuous
  • the decoding unit 2 that generates the second group of frames and the continuous first group of frames and the continuous second group of frames are selectively selected with reference to the access unit used to decode each frame.
  • Each of the streams has a combining unit 3 that joins the access units adjacent to each other in the boundary with the third group of access units to distribute information for decoding the same common frame. Only a predetermined number of access units are extracted from the above, and the third group of access units is generated by mixing and re-encoding the leading and trailing ends of each.
  • this third group of access units As a seam part, incompletely decoded frames are generated even when streams of different compressed data generated by performing overlap conversion are joined together. There is nothing. Therefore, even if all the compressed data is not decoded into a frame and re-encoded, it is possible to realize a smooth joint that does not cause artifacts.
  • the stream synthesizing apparatus 10 is configured so that the second stream that is continuous with the first group of access units that are input to the input unit 1 as the first stream A and the second stream B.
  • a group of access units is decoded by the decoding unit 2 to generate a second group of frames that are continuous with the first group of frames, and the combining unit 3
  • a continuous second group of frames is selectively mixed based on the access unit used to decode each frame to generate a mixed frame, and the mixed frame is encoded to produce two streams of Since a third group of access units is generated as a seam, it is not necessary to decode all the compressed data into frames and re-encode, ie re-encode.
  • the combining unit 3 uses the predetermined number of third group access units generated in this way as a joint, and adjacent access units at the boundary between the two streams and the predetermined number of third group access units. Since the information for decoding the same common frame is joined so as to be distributed, smooth joining without artifacts can be realized without decoding and re-encoding all the compressed data into frames.
  • the stream synthesizing apparatus has been described in detail above. However, the present invention is not limited to the specific embodiment, and various modifications and changes can be made.
  • audio compressed data generated according to AAC has been described.
  • MPEG Audio, AC3 may be used as long as compressed data is generated by performing overlap conversion.
  • the present invention can be applied to streams generated by various types of encoding such as encoding.
  • FIG. 7 is a block diagram of a stream synthesis apparatus according to the second embodiment.
  • the stream synthesizing apparatus 20 includes a first router unit 11A that outputs the input first stream A to the stream switching unit or the first decoding unit for each access unit; A second router unit 11B for outputting the second stream B to the second decoding unit or the stream switching unit for each access unit, and a first group of frames by decoding the access unit input from the first router unit 11A Generated by the first decoding unit 12A, the second decoding unit 12B that generates the second group of frames by decoding the access unit input from the second router unit 11B, and the first decoding unit 12A.
  • a mixing unit 13 that mixes the first group of frames and the second group of frames generated by the second decoding unit 12B to generate a seam frame, and the seam generated by the mixing unit 13
  • An encoding unit 14 that encodes a frame to generate a joint access unit, an access unit of the first stream A input from the first router unit 11A, and a joint access generated by the encoding unit 14
  • a stream switching unit 15 that switches the unit and the access unit of the second stream B input from the second router unit 11B as necessary, and the first router unit 11A, the second router unit 11B, 12 A of 1st decoding parts, the 2nd decoding part 12B, the mixing part 13, the encoding part 14, and the control part 16 which controls the stream switching part 15 are provided.
  • the stream switching unit 15 constitutes a joint unit of the present invention.
  • the stream input by the stream synthesizing apparatus 20 is not limited to a stream composed of audio compression data generated in accordance with the AAC standard, and is an arbitrary compressed data stream generated by performing overlap conversion. To do.
  • the control unit 16 determines the crossfade method when joining the streams A and B and the number of frames to be crossfade according to the control parameters input from the user. Further, the streams A and B are input, and the lengths of the streams A and B, that is, the number of access units are obtained. If the stream is in ADTS format, the buffer status of each access unit, for example, the occupancy rate is obtained from the ADTS header of the access unit, but the buffer status of each access unit directly from the header If it is not possible to obtain such information, necessary information is obtained by simulating a decoder buffer.
  • the control unit 16 specifies an access unit to be re-encoded based on the number of access units for each of the streams A and B and the state of each buffer for the streams A and B, and the encoding unit 14 encodes and generates the access unit. Determine the code amount of the access unit.
  • the control unit 16 controls a variable delay device (not shown) inserted at an appropriate position so that an access unit and a frame are input to each block at the correct timing. In FIG. 7, the variable delay device is omitted for the sake of simplicity.
  • control unit 16 controls the first router unit 11A, the second router unit 11B, the mixing unit 13, and the encoding unit 14 will be described.
  • the first stream A input to the first router unit 11A is input to the stream switching unit 15 or the first decoding unit 12A.
  • the first stream A input to the stream switching unit 15 is directly output as the stream C without being re-encoded.
  • the second stream B input to the second router unit 11B is input to the stream switching unit 15 or the second decoding unit 12B.
  • the second stream B input to the second router unit 11B is directly output as a stream C without being re-encoded.
  • the access unit to be re-encoded between the first stream A and the second stream B, and the The front and rear access units are decoded by the first decoding unit 12A and the second decoding unit 12B, and mixed by the mixing unit 13 by the specified method as described in the first embodiment.
  • the designated method is a crossfade.
  • the mixed frame is re-encoded by the encoding unit 14 and output to the stream switching unit 15.
  • the control unit 16 assigns bits in the encoding unit 14 so that the streams generated in this way and sequentially output from the stream switching unit 15 satisfy the buffer management restrictions described in the first embodiment. To control. Also, the first decoding unit 12A and the second decoding unit 12B notify the control unit 16 of information such as the type and length of the used window function. Using this information, the control unit 16 may control the encoding unit 14 so that the window function is smoothly joined between the access unit to be re-encoded and the access unit not to be re-encoded. By an appropriately controlled variable delay device (not shown), the access unit is input to the stream switching unit 15 at only one input at the same time. The stream switching unit 15 outputs the input access unit without processing it.
  • FIG. 8 is a flowchart for explaining the process of generating the stream C by joining the stream A and the stream B, which is executed by the stream synthesizing apparatus 20 according to the present embodiment, under the control of the control unit 16.
  • FIG. 9 is a pseudo code when the processing of FIG. 8 is executed. With reference to FIG. 8 and FIG. 9, the process performed by the stream synthesizing apparatus 20 according to the present embodiment will be described in detail.
  • step S11 the portion of stream A that is not re-encoded is output as stream C.
  • the control unit 16 controls the first router unit 11A and the stream switching unit 15 and outputs the portion of the stream A that is not re-encoded as the stream C as it is.
  • streams A and B have N A and N B audio frames, that is, N A +1 and N B +1 access units, respectively.
  • the stream X is a stream belonging to a set having the streams A, B, and C as elements, and the access unit of the stream X is U i x (0 ⁇ i ⁇ N X ⁇ 1).
  • step S12 a joint stream is generated from stream A and stream B and output.
  • the control unit 16 controls the first router unit 11A, the second router unit 11B, the first decoding unit 12A, the second decoding unit 12B, the mixing unit 13, the encoding unit 14, and the stream switching unit 15.
  • the (M + 2) access unit decodes extracted from the streams A and B are decoded to generate (M + 1) audio frames, of which M The audio frame is cross-faded and the (M + 2) seam audio frames are re-encoded to generate (M + 1) seam access units and output as stream C.
  • Function mix ((F 0, F 1 , ⁇ , F N-1), (F'0, F'1, ⁇ , F'N-1)) , the two sets of N audio Represents a vector of N audio frames, cross-fade of the frame vector.
  • the function dec (U 0 , U 1 , ... , U N ) is a vector of N audio frames (F 0 , F 1 , ... , F) obtained by decoding a vector of N + 1 access units. N-1 ).
  • the function enc (F ⁇ 1 , F 0 , ... , F N ) encodes N + 2 audio frame vectors, N + 1 access units (U 0 , U 1 , ... , U N ).
  • the function enc ( ... ) re-encodes M + 2 audio frames and generates M + 1 access units. At this time, in order to maintain the continuity of the buffer state between the re-encoded stream and the non-re-encoded stream, the re-encoded stream does not overflow or underflow, It is necessary to satisfy the constraints.
  • the initial occupancy and the last occupancy of the buffer of the re-encoded stream are respectively the occupancy of the last access unit of stream A that is not re-encoded and the stream B that is re-encoded. Equal to the occupancy of the last access unit. That is, assuming that the buffer occupancy after the access unit U i X is removed from the buffer is S i X , the following occurs. And
  • the average code amount per access unit of the re-encoded stream is as follows. here, L (with an upper score) is an average code amount per access unit of the stream A or B. And if M is increased Therefore, it can be easily understood that if M is sufficiently large, rate control that satisfies the constraints on buffer management can be guaranteed.
  • a code amount may be assigned to each access unit by L (with an upper score) AB.
  • the average code amount may be adjusted to L (with upper score) AB by changing the code amount allocation or inserting padding.
  • step S13 the portion of stream B that is not re-encoded is output.
  • the following program is executed.
  • control unit 16 controls the second router unit 11B and the stream switching unit 15 to output the portion of the stream B that is not re-encoded as the stream C as it is.
  • the stream synthesizing apparatus 20 is configured so that the first stream A and the second stream B are the first group of continuous first groups input to the first router unit 11A and the second router unit 11B.
  • a second group of access units that are continuous with the access unit are decoded by the first decoding unit 12A and the second decoding unit 12B to generate a second group of frames that are continuous with the continuous first group of frames,
  • the mixing unit 13 selectively mixes the decoded first group of frames and the continuous second group of frames based on the access unit used to decode each frame, thereby mixing the frames.
  • the encoding unit 14 encodes the mixed frame to generate a third group of access units that serve as a joint between the two streams.
  • the stream switching unit 15 uses the predetermined number of third group access units generated in this way as a joint, and adjacent access units at the boundary between the two streams and the predetermined number of third group access units.
  • the third stream C is generated by jointly distributing information for decoding the same common frame, it is possible to decode the artifact without decoding and re-encoding all the compressed data into frames. Smooth joining that does not occur can be realized.
  • the preferred embodiment of the present invention has been described in detail above, but the present invention is not limited to the specific embodiment, and various modifications can be made within the scope of the present invention described in the claims. ⁇ Change is possible.
  • the stream synthesizing apparatus according to the present invention distributes a stream synthesizing program that can be operated by a stream synthesizing program that includes a CPU and a memory and that allows a general computer to function as the above-described units via a communication line. It is also possible to write it on a recording medium such as a CD-ROM and distribute it.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

オーバーラップ変換を行って生成された二つのストリームから、それぞれ第1群のアクセス・ユニットと第2群のアクセス・ユニットとを入力する入力部1と、第1群のアクセス・ユニットを復号して第1群のフレームを生成し、第2群のアクセス・ユニットを復号して第2群のフレームを生成する復号部2と、第1群のフレームと第2群のフレームとを、各々のフレームを復号するために用いるアクセス・ユニットを基準として、選択的に混合して混合フレームを生成し、該混合フレームを符号化して、所定の数の第3群のアクセス・ユニットを生成し、二つのストリームを、所定の数の第3群のアクセス・ユニットを継ぎ目として、二つのストリームと所定の数の第3群のアクセス・ユニットとの境界において隣接するアクセス・ユニットが、共通する同一のフレームを復号するための情報を分配するように接合する合成部3と、を備える、ストリーム合成装置を提供する。

Description

オーディオ・ストリームを合成する装置、方法及びプログラム
 本発明は、圧縮データからなるストリームを合成する装置、方法及びプログラムに関し、例えば、オーディオ・データを圧縮して生成したオーディオ・ストリームを合成する装置、方法及びプログラムに関する。
 オーディオ圧縮では、オーディオ信号を所定数のデータ・サンプル(以後、「オーディオ・サンプル」と呼ぶ)からなるブロックに分割し、さらに、ブロック毎にそれぞれが所定の周波数成分を表す周波数信号に変換して符号化してオーディオ圧縮データを生成している。ここで、例えば、AAC(Advanced Audio Coding:アドバンスト・オーディオ・コーディング)に準拠した符号化処理などでは、より滑らかなオーディオ圧縮データを得るために、隣接するブロックを部分的にオーバーラップさせる処理(以後、「オーバーラップ変換」と呼ぶ)を行っている(例えば、非特許文献1参照)。
 また、オーディオ圧縮データからなるオーディオ・ストリームに対しては、バッファ管理上の制約を満たすため、CBR(Constant Bit-Rate:固定ビット・レート)やABR(Average Bit-Rate:平均ビット・レート)などのレート・コントロールが必要とされている(例えば、非特許文献1、2参照)。
 オーディオ編集では、オーディオ圧縮データからなるオーディオ・ストリームを編集することが頻繁に行われており、かかるオーディオ・ストリームを繋ぎ合わせることもある。オーディオ圧縮データは所定数のオーディオ・サンプルからなるブロック毎に部分的にオーバーラップ変換をして生成されているため、異なるオーディオ・ストリームを単純に接合すると、オーディオ・ストリームのデータの継ぎ目部分で不完全に復号されるフレームが発生してアーティファクト(歪み)が発生することがある。さらに、オーディオ圧縮データを安易に接合すると、バッファ管理上の制約を破り、バッファのオーバーフローやアンダーフローが発生ることもある。このような問題を回避するため、従来、異なるオーディオ・ストリームを接合する場合には、一度すべてのオーディオ・ストリームを復号した後に再び符号化する必要があった。
 一方で、MPEG(Moving Picture Experts Group)符号化方式で符号化された画像データ(以後、「MPEG画像データ」と呼ぶ)同士を、MPEG画像データの継ぎ目に限定して再符号化して記憶媒体に記憶させるMPEGデータの記憶方法がある(特許文献1参照)。この技術によると、二つの異なるMPEG画像データを接合する際、所定の区間におけるVBV(Video Buffer Verifier)バッファの占有値に関する情報を事前に記憶しておき、この情報に基づいてオーバーフローやアンダーフローが起きないようにしてVBVバッファの管理をしている。
特開2003-52010号公報
 上述のように、複数の異なるオーディオ・ストリームを接合する場合、すべてのオーディオ・ストリームを再符号化することは、非効率で時間と計算コストがかかるという課題があった。
 また、特許文献1に開示されたMPEGデータの記憶方法は、VBVバッファの要件を満たしながら、継ぎ目に限定して再符号化をして異なるMPEG画像データを接合するものであるが、オーバーラップ変換を行って生成された圧縮データの接合に関する課題を解決するものではない。
 そこで本発明は、オーバーラップ変換を行って生成された圧縮データのストリームを、すべての圧縮データをオーディオ・フレームに復号して再符号化することなく滑らかに接合するストリーム合成装置、ストリーム合成方法及びストリーム合成プログラムを提供することを目的とする。
 本発明の第1の態様によると、オーバーラップ変換を行って生成された圧縮データからなる二つのオーディオ・ストリームを接合して一つのオーディオ・ストリームを生成するオーディオ・ストリーム合成装置であって、前記二つのオーディオ・ストリームを復号するための単位となるアクセス・ユニットをそれぞれ第1群のアクセス・ユニットと第2群のアクセス・ユニットとし、前記二つのオーディオ・ストリームを復号して得られるフレームをそれぞれ第1群のフレームと第2群のフレームとし、前記第1群のフレームと前記第2群のフレームを混合して生成した混合フレームを符号化して得られるアクセス・ユニットを第3群のアクセス・ユニットとすると、前記オーディオ・ストリーム合成装置は、
 第1群のアクセス・ユニットと第2群のアクセス・ユニットとを入力する入力部と、前記入力部によって入力された第1群のアクセス・ユニットを復号して第1群のフレームを生成し、前記第2群のアクセス・ユニットを復号して第2群のフレームを生成する復号部と、前記復号部によって復号された複数の第1群のフレームと複数の第2群のフレームとを、各々のフレームを復号するために用いるアクセス・ユニットを基準として、選択的に混合して混合フレームを生成し、該混合フレームを符号化して、所定の数の第3群のアクセス・ユニットを生成し、前記複数の第1群のアクセス・ユニットと前記複数の第2群のアクセス・ユニットとを、前記所定の数の第3群のアクセス・ユニットを継ぎ目として、前記複数の第1群のアクセス・ユニットと前記複数の第2群のアクセス・ユニットと、前記所定の数の第3群のアクセス・ユニットとの境界において隣接するアクセス・ユニットが、共通する同一のフレームを復号するための情報を分配するように接合する合成部と、を備える、ストリーム合成装置を提供する。
 上述のストリームはオーバーラップ変換を行って生成されているため、個々のフレームを復号するための単位となるアクセス・ユニットのうち、隣接する2つのアクセス・ユニットは、その2つのアクセス・ユニットに共通する同一のフレームの情報を分配し合っている。この結果、一つのフレームを正しく復号するためには、該フレームの情報を分配して有する、隣接する前後の2つのアクセス・ユニットが必須となる。従来、異なるストリームを接合する場合、個々のフレームを復号するための単位となるアクセス・ユニットのうち、隣接する2つのアクセス・ユニットにそれらに共通するフレームを復号するための必須の情報が分配されていることに着目することはなかった。このため、異なるストリームどうしを単純に接合しようとすると、ストリームとストリームとの境界で、隣接する2つのアクセス・ユニットは各々、同一のフレームを復号するための情報ではなく、異なるフレームを復号するための情報の一部を有するようになる。このため、境界部の2つのアクセス・ユニットから不完全に復号されるフレームが発生するようになり、この不完全に復号されるフレームがアーティファクトの原因となった。本発明のストリーム合成装置は上記構成によって、合成部が、複数の第1群のフレームと複数の第2群のフレームとを、各々のフレームを復号するために用いるアクセス・ユニットに基づいて、選択的に混合して混合フレームを生成し、該混合フレームを符号化して、二つのストリームの継ぎ目となる第3群のアクセス・ユニットを生成するので、すべての圧縮データをフレームに復号して再び符号化(以後、「再符号化」と呼ぶ)する必要はない。さらに合成部が、こうして生成した所定の数の第3群のアクセス・ユニットを継ぎ目として、二つのストリームと所定の数の第3群のアクセス・ユニットとの境界で、隣接するアクセス・ユニットが、共通する同一のフレームを復号するための情報を分配するように接合するので、すべての圧縮データをフレームに復号して再符号化せずとも、アーティファクトの発生しない滑らかな接合を実現できる。
 例えば、本発明のストリーム合成装置において、前記合成部は、前記複数の第1群のフレームのうち、末尾のフレームを含む所定の数の第1群のフレームと、前記複数の第2群のフレームのうち、先頭のフレームを含む所定の数の第2群のフレームとを、前記所定の数の第1群のフレームの先頭から少なくとも1以上のフレームと、前記所定の数の第2群のフレームの末尾から少なくとも1以上のフレームとを除くフレームどうしが相互に重なるように混合して、前記所定の数よりも大きい数の混合フレームを生成し、該混合フレームを符号化して、所定の数の第3群のアクセス・ユニットを生成する符号化部を含むようにしてもよい。さらに、本発明のストリーム合成装置において、前記合成部は、前記複数の第1群のアクセス・ユニットと前記所定の数の第3群のアクセス・ユニットとを、前記所定の数の第1群のフレームを復号するために用いた複数のアクセス・ユニットのうち先頭のアクセス・ユニットと前記所定の数の第3群のアクセス・ユニットの先頭のアクセス・ユニットとが隣接するように接合し、前記複数の第2群のアクセス・ユニットと前記所定の数の第3群のアクセス・ユニットとを、前記所定の数の第2群のフレームを復号するために用いた複数のアクセス・ユニットのうち末尾のアクセス・ユニットと前記所定の数の第3群のアクセス・ユニットの末尾のアクセス・ユニットとが隣接するように接合する接合部を含むようにしてもよい。
 このような構成によって、本発明のストリーム合成装置は、二つのストリームの継ぎ目となる第3群のアクセス・ユニットを、再符号化されず出力されるアクセス・ユニットの一部を含むようにして第1群のアクセス・ユニットと第2群のアクセス・ユニットとを復号して、それぞれ第1群のフレームと第2群のフレームを生成し、これらの第1群のフレームと第2群のフレームとを混合して再符号化して生成することができる。この第3群のアクセス・ユニットを継ぎ目部分として用いることによって、再符号化されるストリームと再符号化されないストリームとの境界で隣接する2つのアクセス・ユニットには、通常に符号化された他の部分と同様に、それらに共通する同一のフレームを復号するための情報が分配されているため、不完全に復号されるフレームが発生することがない。従って、オーバーラップ変換を行って生成された異なる圧縮データのストリームどうしを接合する場合であっても、すべての圧縮データをフレームに復号して再符号化せずとも、アーティファクトの発生しない滑らかな接合を実現できる。このため、すべての圧縮データをオーディオ・フレームに復号して再符号化することなく滑らかに接合することが可能となる。
 さらに、本発明のストリーム合成装置において、前記符号化部は、前記所定の数の第3群のアクセス・ユニットのバッファの初期占有量と最後の占有量が、前記所定の数の第1群のフレームを復号するために用いた複数のアクセス・ユニットのうち先頭部分のアクセス・ユニットのバッファの占有量と、前記所定の数の第2群のフレームを復号するために用いた複数のアクセス・ユニットのうち末尾部分のアクセス・ユニットのバッファの占有量と一致するように、前記第3群のアクセス・ユニットの符号化を行うようにしてもよい。
 このような構成によって、本発明のストリーム合成装置は、二つのストリームのそれぞれを構成する第1群のアクセス・ユニットと第2群のアクセス・ユニットとにおいて、再符号化されずに接合される第1群のアクセス・ユニットの末尾の部分となる、所定の数の第1群のフレームを復号するために用いた複数のアクセス・ユニットのうち先頭のアクセス・ユニットのバッファの占有量と、再符号化される接合されるストリームの第2群のアクセス・ユニットの末尾の部分となる、所定の数の第2群のフレームを復号するために用いた複数のアクセス・ユニットのうち末尾から2番目のアクセス・ユニットのバッファの占有量とが、それぞれ、再符号化して生成された第3群のアクセス・ユニットのバッファの初期占有量と最後の占有量と等しくなるようにレート制御して、第3群のアクセス・ユニットを継ぎ目として接合することによって、合成ストリームのバッファの占有量の変化を連続的にすることができる。この第3群のアクセス・ユニットを継ぎ目部分として用いることによって、別々にレート制御された異なるストリーム間のバッファの占有量を連続的に保ち、合成ストリームにおいてバッファの制約を満たすように合成ストリームを合成できる。
 本発明のストリーム合成装置において、前記合成部は、前記第1群のフレームと前記第2群のフレームとをクロスフェードして混合する混合部を含んでもよい。
 このような構成によって、本発明のストリーム合成装置は、この第3群のアクセス・ユニットを継ぎ目部分として用いることによって、ストリームどうしを一層滑らかに接合することができる。
 本発明の第2の態様によると、オーバーラップ変換を行って生成された圧縮データからなる二つのオーディオ・ストリームを接合して一つのオーディオ・ストリームを生成するオーディオ・ストリーム合成方法であって、前記二つのオーディオ・ストリームを復号するための単位となるアクセス・ユニットをそれぞれ第1群のアクセス・ユニットと第2群のアクセス・ユニットとし、前記二つのオーディオ・ストリームを復号して得られるフレームをそれぞれ第1群のフレームと第2群のフレームとし、前記第1群のフレームと前記第2群のフレームを混合して生成した混合フレームを符号化して得られるアクセス・ユニットを第3群のアクセス・ユニットとすると、前記オーディオ・ストリーム合成方法は、第1群のアクセス・ユニットと第2群のアクセス・ユニットとを入力する入力ステップと、前記入力ステップで入力した第1群のアクセス・ユニットを復号して第1群のフレームを生成し、前記第2群のアクセス・ユニットを復号して第2群のフレームを生成する復号ステップと、前記復号ステップで復号した複数の第1群のフレームと複数の第2群のフレームとを、各々のフレームを復号するために用いるアクセス・ユニットを基準として、選択的に混合して混合フレームを生成し、該混合フレームを符号化して、所定の数の第3群のアクセス・ユニットを生成し、前記複数の第1群のアクセス・ユニットと前記複数の第2群のアクセス・ユニットとを、前記所定の数の第3群のアクセス・ユニットを継ぎ目として、前記複数の第1群のアクセス・ユニットと前記複数の第2群のアクセス・ユニットと、前記所定の数の第3群のアクセス・ユニットとの境界において隣接するアクセス・ユニットが、共通する同一のフレームを復号するための情報を分配するように接合する合成ステップと、を備える、ストリーム合成方法を提供する。
 本発明の第3の態様によると、オーバーラップ変換を行って生成された圧縮データからなる二つのオーディオ・ストリームを接合して一つのオーディオ・ストリームを生成するオ処理をコンピュータに実行させるオーディオ・ストリーム合成プログラムであって、前記二つのオーディオ・ストリームを復号するための単位となるアクセス・ユニットをそれぞれ第1群のアクセス・ユニットと第2群のアクセス・ユニットとし、前記二つのオーディオ・ストリームを復号して得られるフレームをそれぞれ第1群のフレームと第2群のフレームとし、前記第1群のフレームと前記第2群のフレームを混合して生成した混合フレームを符号化して得られるアクセス・ユニットを第3群のアクセス・ユニットとすると、前記オーディオ・ストリーム合成プログラムは、第1群のアクセス・ユニットと第2群のアクセス・ユニットとを入力する入力ステップと、前記入力ステップで入力した第1群のアクセス・ユニットを復号して第1群のフレームを生成し、前記第2群のアクセス・ユニットを復号して第2群のフレームを生成する復号ステップと、前記復号ステップで復号した複数の第1群のフレームと複数の第2群のフレームとを、各々のフレームを復号するために用いるアクセス・ユニットを基準として、選択的に混合して混合フレームを生成し、該混合フレームを符号化して、所定の数の第3群のアクセス・ユニットを生成し、前記複数の第1群のアクセス・ユニットと前記複数の第2群のアクセス・ユニットとを、前記所定の数の第3群のアクセス・ユニットを継ぎ目として、前記複数の第1群のアクセス・ユニットと前記複数の第2群のアクセス・ユニットと、前記所定の数の第3群のアクセス・ユニットとの境界において隣接するアクセス・ユニットが、共通する同一のフレームを復号するための情報を分配するように接合する合成ステップと、をコンピュータに実行させる、オーディオ・ストリーム合成プログラムを提供する。
 本発明によれば、オーバーラップ変換を行って生成された圧縮データのストリームを、すべての圧縮データを再符号化することなく、効率的に、滑らかに接合することができる。
本発明の第1の実施の形態のストリーム合成装置のブロック図である。 図1のストリーム合成装置が実行する動作を説明するフローチャートである。 オーディオ・フレームとアクセス・ユニットとの関係を示す図である。 バッファの状態を示す図である。 ストリームAとストリームBとを接合する一例を示す図である。 バッファの状態を示す図である。 本発明の第2の実施の形態のストリーム合成装置のブロック図である。 図7のストリーム合成装置が実行する動作を説明するフローチャートである。 ストリームAとストリームBとを接合する場合の擬似コードを示す図である。
 以下、本発明の実施の形態について説明する。
<第1の実施の形態>
<1.ストリーム接合処理の概要>
 図1は、本発明のストリーム合成を実行する代表的な実施の形態のストリーム合成装置10の概略機能ブロック図である。まず、図1のストリーム合成装置10を用いて、本発明のストリーム合成の基本的な原理について説明する。
 ストリーム合成装置10は、第1のストリームAと第2のストリームBを入力する入力部1と、入力した第1のストリームAと第2のストリームBをそれぞれ復号して、第1群のフレームと第2群のフレームとを生成する復号部である復号部2と、第1群のフレームと第2群のフレームとから第3のストリームCを生成する合成部3とを備える。合成部はフレームを再符号化する符号化部(図示していない)を含む。ここで、それぞれ第1のストリームAと第2のストリームBを復号して得られる個々のフレームを「第1群のフレーム」と「第2群のフレーム」と呼ぶことにする。
 ここで、第1のストリームAと第2のストリームBは、信号をサンプリングして得たフレームにオーバーラップ変換を行って符号化して生成された圧縮データのストリームとする。
 図2は、ストリーム合成装置10がストリームを合成する動作を説明するフローチャートである。ここで、フレームを復号する際の圧縮データの基本単位を「アクセス・ユニット」と呼ぶ。本明細書において、第1のストリームAを復号するための単位となる個々のアクセス・ユニットの集合を「第1群のアクセス・ユニット」、第2のストリームBを復号するための単位となる個々のアクセス・ユニットの集合を「第2群のアクセス・ユニット」とし、第1群のフレームと第2群のフレームを混合して生成した混合フレームを符号化して得られるアクセス・ユニットの集合を「第3群のアクセス・ユニット」とする。各処理は、ストリーム合成装置10の、図示されていないCPU(CentraL Processing Unit)などのコントローラおよび関連するプログラムの制御によって実行されるものとする。
 ステップS1で、第1のストリームAを構成する第1群のアクセス・ユニットと、第2のストリームBを構成する第2群のアクセス・ユニットが、それぞれ入力部1に入力される。
 ステップS2で、復号部2は、この入力部1に入力された圧縮データの第1のストリームAと第2のストリームBから、それぞれ第1群のアクセス・ユニットと第2群のアクセス・ユニットとを復号して、第1群のフレームと第2群のフレームとを生成する。
 ステップS3で、合成部3は、復号部2によって復号された第1群のフレームと第2群のフレームとを、各々のフレームを復号するために用いるアクセス・ユニットを基準として、選択的に混合して混合フレームを生成し、該混合フレームを符号化して、所定の数の第3群のアクセス・ユニットを生成する。
 ステップS4で、こうして生成した所定の数の第3群のアクセス・ユニットを継ぎ目として、二つのストリームと所定の数の第3群のアクセス・ユニットとの境界において隣接するアクセス・ユニットが、共通する同一のフレームを復号するための情報を分配するように接合する。
 このように合成部3が、第1群のフレームと第2群のフレームとを、各々のフレームを復号するために用いるアクセス・ユニットに基づいて、選択的に混合して混合フレームを生成し、該混合フレームを符号化して、二つのストリームの継ぎ目となる第3群のアクセス・ユニットを生成するので、すべての圧縮データをフレームに復号して再び符号化(以後、「再符号化」と呼ぶ)する必要はない。さらに合成部が、こうして生成した所定の数の第3群のアクセス・ユニットを継ぎ目として、二つのストリームと所定の数の第3群のアクセス・ユニットとの境界で、隣接するアクセス・ユニットが、共通する同一のフレームを復号するための情報を分配するように接合するので、すべての圧縮データをフレームに復号して再符号化せずとも、アーティファクトの発生しない滑らかな接合を実現できる。
 ここで合成部3は、複数の第1群のフレームと複数の第2群のフレームとを、連続する第1群のフレームのうち、末尾のフレームを含む所定の数の第1群のフレームと、連続する第2群のフレームのうち、先頭のフレームを含む所定の数の第2群のフレームとを、所定の数の第1群のフレームの先頭から少なくとも1以上のフレームと、所定の数の第2群のフレームの末尾から少なくとも1以上のフレームとを除くフレームどうしが相互に重なるように混合して、所定の数よりも大きい数の混合フレームを生成し、該混合フレームを符号化して、所定の数の第3群のアクセス・ユニットを生成する符号化部を含んでもよい。
 さらに、合成部3は、連続する第1群のアクセス・ユニットを、所定の数の第1群のフレームを復号するために用いた複数のアクセス・ユニットのうち先頭のアクセス・ユニットを継ぎ目として所定の数の第3群のアクセス・ユニットの先頭に繋げ、連続する第2群のアクセス・ユニットを、所定の数の第2群のフレームを復号するために用いた複数のアクセス・ユニットのうち末尾のアクセス・ユニットを継ぎ目として、所定の数の第3群のアクセス・ユニットの末尾に繋げる接合部を含んでもよい。
 また、上述の符号化部は、所定の数の第3群のアクセス・ユニットのバッファの初期占有量と最後の占有量が、それぞれ、所定の数の第1群のフレームを復号するために用いた複数のアクセス・ユニットのうち先頭部分のアクセス・ユニットのバッファの占有量と、所定の数の第2群のフレームを復号するために用いた複数のアクセス・ユニットのうち末尾部分のアクセス・ユニットのバッファの占有量と一致するように、第3群のアクセス・ユニットの符号化を行うようにしてもよい。
 このような構成によって、本発明のストリーム合成装置は、二つのストリームのそれぞれを構成する第1群のアクセス・ユニットと第2群のアクセス・ユニットとを第3群のアクセス・ユニットに接合する際に、再符号化されずに第3群のアクセス・ユニットの先頭部分に接合される第1群のアクセス・ユニットの末尾の部分のバッファの占有量と、再符号化されて第3群のアクセス・ユニットに置き換えられる第2群のアクセス・ユニットの末尾の部分のアクセス・ユニットのバッファの占有量とが、それぞれ、再符号化して生成された第3群のアクセス・ユニットのバッファの初期占有量と最後の占有量と等しくなるようにレート制御することによって、合成ストリームのバッファの占有量の変化を連続的にすることができる。この第3群のアクセス・ユニットを継ぎ目部分として用いることによって、別々にレート制御された異なるストリーム間のバッファの占有量を連続的に保ち、合成ストリームにおいてバッファの制約を満たすように合成ストリームを合成できる。
 以下、ストリーム合成装置10が実行するストリーム接合処理について詳細に説明する。
<2.ストリーム接合処理の原理>
 以下、AAC符号化規格に従って生成したオーディオ圧縮データを例に本発明のストリーム接合方法の原理について説明する。
 AACの符号化処理では、オーディオ信号を1024サンプル毎にブロック化したオーディオ・フレームを形成し、このオーディオ・フレームを符号化処理又は復号処理の単位とする。隣接する2つのオーディオ・フレームは、窓長が2048の長い窓を1つ又は窓長が256の短い窓を8つ用いたMDCT(Modified Discrete Cosine Transform:修正離散コサイン変換)変換によって、1024個のMDCT係数に変換される。MDCTによって生成された1024個のMDCT係数は、AACの符号化処理に従って符号化され、圧縮されたオーディオ・フレーム又はアクセス・ユニットを生成する。MDCT変換において参照され、MDCT係数に寄与するオーディオ・サンプルの集まりをMDCTブロックと呼ぶ。例えば、窓長が2048の長い窓の場合、その隣接する2つのオーディオ・フレームが1つのMDCTブロックを構成する。MDCT変換はオーバーラップ変換の一種であり、MDCT変換に用いるすべての隣接する2つの窓はオーバーラップするように構成される。AACでは、周波数特性の異なる2つの窓関数、サイン窓(Sine window)とカイザー・ベッセル派生窓(Kaiser-BesseL derived window)が使用される。窓長は、入力するオーディオ信号の性質に応じて切り替えることができる。以下では、特に断らない限り、窓長が2048の長い窓関数を1つ用いる場合について説明する。このように、オーディオ・フレームをAACの符号化処理に従って符号化して生成した圧縮されたオーディオ・フレーム、又はアクセス・ユニットはオーバーラップ変換を行って生成されている。
 まず、図3に、オーディオ・フレームとアクセス・ユニットとの関係を示す。ここでは、オーディオ・フレームはオーディオ信号をサンプリングして得たオーディオ・サンプルを1024個単位にまとめたものを表し、アクセス・ユニットはオーディオ・フレーム1個分を復号するための符号化ストリーム又はオーディオ圧縮データのストリームの最小単位を表すものとする。図3において、アクセス・ユニットは符号量に対応した正しい縮尺で描かれていない(以下同様)。オーバーラップ変換のため、オーディオ・フレームとアクセス・ユニットは、フレーム長の50%だけずれた関係となる。
 図3に示すように、iを任意の整数とすると、入力オーディオ・フレーム(i-1)とiとからなるMDCTブロック#iから、アクセス・ユニットiが生成される。アクセス・ユニットiと(i+1)からそれぞれ復号されたエリアシングを含んだMDCTブロック#iと#(i+1)をオーバーラップ加算することでオーディオ・フレームiが再生される。入力オーディオ・フレーム(-1)とNは出力されないので、これらのフレームの内容は任意であり、例えばすべてのサンプルを0としてもよい。
 図3に示すように、Nを任意の整数とすると、オーバーラップ変換を行うため、復号時にN個のオーディオ・フレーム、すなわち出力オーディオ・フレームを得るには、(N+2)個のオーディオ・フレームを符号化部に入力する必要があることがわかる。このとき、生成されるアクセス・ユニットの数は(N+1)個となる。
 図4に、ABR(平均ビット・レート)を満たすレート・コントロールを行った場合の復号部のバッファの状態を示す。この復号部のバッファは、データを一時的に所定の符号量まで蓄積して、ビット・レートを擬似的に調整とすることから、ビット・リザバとも呼ばれる。
 復号部のバッファには固定のレートRでビット・ストリームが送られ続ける。理解を容易にするため、アクセス・ユニットiが復号されると、アクセス・ユニットiの符号はバッファから瞬時に取り除かれ、瞬時にフレーム(i-1)が出力されるものとして考える。ここでiは任意の整数とする。ただし、オーバーラップ変換を行っているため、最初のアクセス・ユニットを復号したときにはオーディオ・フレームは出力されない。
 復号を実行する間隔をd、サンプリング周波数をfとすると、d=1024/fと表すことができる。アクセス・ユニット1個あたりの平均符号量をL(アッパースコア付き)とすると、平均符号量は、固定レートRに復号を実行する間隔dを乗じて、L(アッパースコア付き)=Rdと表すことができる。
 符号化部にどのような入力が与えられても、アクセス・ユニットの符号量を平均符号量L(アッパースコア付き)より小さく制御できるとき、レート・コントロールが保証されることになる。以下の説明では、特に断らない限り、所定のレートでレート・コントロールが保証されるものと仮定する。
 アクセス・ユニットiの符号量をLとして、アクセス・ユニットiがバッファから取り除かれた後のバッファの占有量を、そのアクセス・ユニットiにおけるバッファの占有量Sと定義すると、SはSi-1とLを使って次のように表すことができる。
Figure JPOXMLDOC01-appb-M000001
復号部のバッファの大きさをSbufferとすると、平均符号量がL(アッパースコア付き)のとき、バッファの最大占有量はSmax=Sbuffer-L(アッパースコア付き)と表される。バッファがオーバーフローもアンダーフローもしないことを保証するためには、数式(2)を満たすように符号量Lを制御すればよい。符号量Lは、例えば、バイト単位で制御する。
Figure JPOXMLDOC01-appb-M000002
明らかに、上式が成り立つには0≦Smaxである必要がある。あるストリームの符号化するとき、最初のアクセス・ユニットのバッファ占有量Sを計算するのに、数式(1)から、S-1(以下、バッファの「初期占有量」と呼ぶ)が必要となる。S-1は数式2を満たすような任意の値でよい。S-1=Smaxとすると、バッファが満杯の状態からそのストリームの復号を開始することを意味し、S-1=0とすると、バッファが空の状態からそのストリームの復号を開始することを意味する。図4の例では、S-1=Smaxとしている。
 従って、図1のストリーム合成装置10において合成部3が、出力オーディオ・フレームのアクセス・ユニット、すなわち第3群のアクセス・ユニットのバッファに対する占有量が、ゼロ以上でかつバッファの最大占有量以下となるように、符号化を行うようにしてもよい。これによって、バッファのオーバーフローやアンダーフローを確実に回避することができる。
以下、特に断らない限り、0≦Smaxの条件は満たされているものとして説明を進める。
 図4に戻ると、時刻t=0にバッファリングを開始したとすると、最初に復号するアクセス・ユニット0を復号する時刻tは以下のように表される。ここで、アクセス・ユニット0は最初に復号するアクセス・ユニットとし、必ずしもストリームの先頭のアクセス・ユニットでなくてもよい。
Figure JPOXMLDOC01-appb-M000003
 また、アクセス・ユニットには、SとLの情報が保存されているものとする。以下の説明で、アクセス・ユニットはADTS(Audio Data Transport Stream:オーディオ・データ・トランスポート・ストリーム)の形式で、アクセス・ユニットiのADTSヘッダにSの量子化値とLの値が保存されているものとして説明を続ける。与えられたADTSストリームについて、伝送ビット・レートRとサンプリング周波数fを既知であると仮定する。
 次に、ストリームAとストリームBを合成してストリームCを生成する処理について説明する。まず、ストリームAとストリームBを接合する際に継ぎ目部分となる継ぎ目のフレーム(以後、「継ぎ目フレーム」と呼ぶ)の生成と再符号化について詳細に説明する。
 図5に、ストリームAとストリームBとを接合する場合の一例を示す。図5の例では、ストリームAとストリームBとを、ストリームAとストリームBを部分的に再符号化して生成したストリームABで接合して、ストリームCを生成している。ここで、ストリームA又はBのアクセス・ユニットのうち、再符号化されずに、ストリームCに出力されるアクセス・ユニットを、「再符号化されないアクセス・ユニット」と呼ぶ。また、ストリームA又はBのアクセス・ユニットのうち、継ぎ目のストリームに対応して、ストリームCにおいて再符号化されたアクセス・ユニットに置き換えられるアクセス・ユニットを、「再符号化されるアクセス・ユニット」と呼ぶ。なお、ストリームAを構成するアクセス・ユニットが第1群のアクセス・ユニットに、ストリームBを構成するアクセス・ユニットが第2群のアクセス・ユニットに、ストリームABを構成するアクセス・ユニットが第3群のアクセス・ユニットに相当する。
 ストリームAとストリームBを復号した時に得られるオーディオ・フレームの数をそれぞれNとNとする。ストリームAはN+1個のアクセス・ユニットU[0],U[1],…,U[N]からなり、これらを復号するとN個のオーディオ・フレームF[0],F[1],…,F[N-1]が得られる。ストリームBはN+1個のアクセス・ユニットU[0],U[1],…,U[N]からなり、これらを復号するとN個のオーディオ・フレームF[0],F[1],…,F[N-1]が得られる。図5は、ストリームAの末尾の3個のアクセス・ユニットとストリームBの先頭の3個のアクセス・ユニットが重なるように、ストリームAとストリームBが配置されている様子を示している。重なった3個のアクセス・ユニット、すなわち、ストリームAのa1とa2を境界とする範囲にあるU[N-2],U[N-1],U[N]とストリームBのb1とb2を境界とする範囲にあるU[0],U[1],U[2]は再符号化されるアクセス・ユニットであり、それ以外のストリームAとストリームBのアクセス・ユニットは再符号化されないアクセス・ユニットである。再符号化されるアクセス・ユニットは、継ぎ目のアクセス・ユニットUAB[0],UAB[1],UAB[2]で置き換えられる。継ぎ目のアクセス・ユニットは継ぎ目のフレームを符号化することで得られる。
 継ぎ目のフレームは、ストリームAの末尾のアクセス・ユニットを含む連続した4個のアクセス・ユニットU[N-3],U[N-2],U[N-1],U[N]を復号して得られる3個のフレームF[N-3],F[N-2],F[N-1]と、ストリームBの先頭のアクセス・ユニットを含む連続した4個のアクセス・ユニットU[0],U[1],U[2],U[3]を復号して得られる3個のフレームF[0],F[1],F[2]とを、図5の斜線で示した2個のフレームが重なり合うように、すなわち、F[N-2]とF[0]、F[N-1]とF[1]がそれぞれ重なり合うように混合して得られる。
 F[N-2]とF[0]、F[N-1]とF[1]が混合されたフレームをそれぞれFAB[0],FAB[1]とすると、継ぎ目のフレームは、時間順に、F[N-3],FAB[0],FAB[1],F[2]となる。これら4個の継ぎ目のフレームを符号化すると、3個の継ぎ目のアクセス・ユニットUAB[0],UAB[1],UAB[2]が得られる。ここで、境界c1、c2を挟んで隣接する、再符号化されないアクセス・ユニットと再符号化されたアクセス・ユニットに注目する。再符号化されないアクセス・ユニットU[N-3]と、境界c1を挟んでアクセス・ユニットU[N-3]と隣接する継ぎ目のアクセス・ユニットUAB[0]には、フレームF[N-3]を復号するための情報が分配されており、それら2個の隣接するアクセス・ユニットからF[N-3]を復号できる。同様に、継ぎ目のアクセス・ユニットUAB[2]と、境界c2を挟んでアクセス・ユニットUAB[2]と隣接する再符号化されないアクセス・ユニットU[3]には、フレームF[2]を復号するための情報が分配されており、それら2個の隣接するアクセス・ユニットからF[2]を復号できる。したがって、再符号化されないストリームと再符号化された継ぎ目のストリームの境界部分、c1、c2から不完全に復号されるフレームが生じることはない。
ストリームAのオーディオ・フレームF[N-3],F[N-2],F[N-1]とストリームBのオーディオ・フレームF[0]~F[2]とは、オーバーラップ変換によって生成されているため、再符号化する際、重ね合わせて混合し、再符号化する部分、すなわち、ストリームAのアクセス・ユニットU[N-2]~U[N]と、ストリームBのアクセス・ユニットU[0]~U[2]のみから復号可能な部分が、それぞれの先端a1’、b1’と後端a2’、b2’で画定される部分に絞られている。また、ストリームAとストリームBのレートとサンプリング周波数はそれぞれR、fとして共通とし、アクセス・ユニット1個当たりの平均符号量L(アッパースコア付き)も等しいものとする。
 再符号化されないアクセス・ユニットU[N-3]と、境界c1を挟んで隣接する継ぎ目のアクセス・ユニットUAB[0]との間と、継ぎ目のアクセス・ユニットUAB[2]と、境界c2を挟んで隣接する再符号化されないアクセス・ユニットU[3]との間で、窓関数の長さ(2048と256)や形(サイン窓とカイザー・ベッセル派生窓)に関する不連続が生じないように、窓関数のパラメータを適切に設定して再符号化してもよい。ただし、窓関数の不連続性は、不連続な窓関数は規格上許されていること、及び、ほとんどのアクセス・ユニットは長い窓を使うため、不連続が生じることがまれであることから許容される場合が多い。
 また、オーディオを一層滑らかに接合するため、ストリームAとストリームBとの継ぎ目のフレームにおいて、混合するフレームFAB[0],FAB[1]をクロスフェードにより生成してもよい。
 以下、一般化したケースについて説明する。ストリームAとストリームBを合成するとき、ストリームAの最後から数えてM個のオーディオ・フレームと、ストリームBの最初から数えてM個のオーディオ・フレームとが重なり合うように混合(クロスフェード)するものとする。
 具体的には、オーバーラップ変換を考慮して、ストリームAの最後から数えて(M+1)個のアクセス・ユニットと、ストリームBの先頭から数えて(M+1)個のアクセス・ユニットを削除し、継ぎ目部分に新たに(M+1)個のアクセス・ユニットを生成して、ストリームAとストリームBを接合する。(M+1)個のアクセス・ユニットを生成するため、クロスフェードするM個フレームとその前後それぞれ1個のフレーム(合計(M+2)個のフレーム)を再符号化する。図5の例では、M=2としている。
 クロスフェードする長さは任意である。また、M=2として説明したが、本発明はこれに限定されず、Mは1でもよく、3以上でもよい。ストリームを合成するときの、混合する、又はクロスフェードするオーディオ・フレームの数や再符号化されるアクセス・ユニットの数は、合成するストリームに応じて決定してもよい。さらに、ここでは、ストリームAとストリームBをクロスフェードして合成ストリームCを生成する、具体的には、ストリームAのボリュームを次第に下げる一方で(ストリームAをフェードアウト)、ストリームBのボリュームを次第に大きく(ストリームBをフェードイン)しながらストリームAとストリームBを合成して、ストリームCを生成するとしたが、本発明はこれに限定されない。後に詳述するバッファ管理上の制約を守りながら、ストリームをアクセス・ユニットの単位で合成するのならば、如何なる手法によって合成してもよい。
 また、M=0としてストリームAのオーディオ・フレームとストリームBのオーディオ・フレームとを直接繋げてもよい。この場合でも、不完全に復号されるフレームが発生しないようにストリームAとストリームBとを合成できる。
 ADTSヘッダを参照して、再符号化する(M+1)個のアクセス・ユニットのバッファの初期占有量と最後のアクセス・ユニットのバッファの占有量を所定の精度で復元することができる。次に、本実施の形態におけるストリームの接合とバッファの状態の関係について説明する。
 本実施の形態における、ストリームを接合する際のバッファ状態を図6に示す。本実施の形態では、再符号化されないストリームのバッファ状態と再符号化されるストリームのバッファ状態とが連続するように接合する。具体的には、再符号化された合成ストリームのバッファの初期占有量Sstartと最後の占有量Sendを、それぞれ、再符号化されないストリームAの最後のアクセス・ユニットU[N-3]の占有量と再符号化されるストリームBの最後のアクセス・ユニットU[2]の占有量と等しくする。この例では、3個のアクセス・ユニットUAB[0],UAB[1],UAB[2]にほぼ同量の符号を割り当てている。すなわち、CBRのレート・コントロールを行うことに等しい。このようにすることで、バッファがオーバーフローやアンダーフローするのを回避して、2つのストリームを接合できる。
 また、再符号化するアクセス・ユニットへの符号量の割り当て方法は任意である。例えば、クオリティが一定になるように割り当てる符号量を変化させてもよい。さらに、図5の例では、ストリームAとストリームBを合成するとき、ストリームAとストリームBとが重なり合う(M+1)個のアクセス・ユニットを再符号化、すなわち、(M+1)個の継ぎ目のストリームABに置き換えているが、本発明はこれに限定されず、ストリームA又はストリームBにおいて(M+1)より大きい数のアクセス・ユニットを再符号化してもよい。
 ストリームはオーバーラップ変換によって生成されていることから、あるストリームからあるオーディオ・フレームを復号する場合、そのオーディオ・フレームを復号するための情報が分配されている隣接する2つのアクセス・ユニットが必要である。従来、ストリームを接合しようとする際、オーディオ信号の時間領域における滑らかな接合を意識することはあっても、オーディオ・フレームを復号するために必須となるアクセス・ユニットに着目することはなかった。例えば、図5の例で、フレームF[N-3]を復号するためにはアクセス・ユニットU[N-3]とU[N-2]が必須であり、U[N-3]とU[N-2]どちらのアクセス・ユニットが欠けてもフレームF[N-3]の復号は不完全なものとなりうる。また、不完全に復号されたフレームはアーティファクト発生の原因となる。
 本発明は、この点に着目し、継ぎ目部分を構成するアクセス・ユニットを再符号化して生成する際に、隣接する再符号化されないアクセス・ユニットと再符号化されるアクセス・ユニット2つのアクセス・ユニットにそれらに共通するフレームを復号するための情報が分配されるようにしている。具体的には、図1のストリーム合成装置10において合成部3は、第1群のアクセス・ユニットの末尾のアクセス・ユニットを含む(M+2)個の連続したアクセス・ユニットを復号して(M+1)個のフレームからなる第1群のフレームを生成し、第2群のアクセス・ユニットの先頭のアクセス・ユニットを含む(M+2)個の連続したアクセス・ユニットを復号して(M+1)個のフレームからなる第2群のフレームを生成し、前記第1群のフレームと前記第2群のフレームを、それぞれの先頭の1以上のフレームと末尾の1以上のフレームが互いに重なりあわないように、かつ、M個のフレームだけ互いに重なり合うように混合し、(M+2)個のフレームからなる第3のフレームを生成し、この第3のフレームを符号化することによって第3群のアクセス・ユニットを生成する。第1群のフレームをそれから復号したアクセス・ユニットの最初のアクセス・ユニットを含んだ、第1群のアクセス・ユニットの先頭を含む連続したアクセス・ユニットと、第3群のアクセス・ユニットと、第2群のフレームをそれから復号したアクセス・ユニットの最後のアクセス・ユニットを含んだ、第2群のアクセス・ユニットの末尾を含む連続したアクセス・ユニットと、をこの順で接合して、合成ストリームCを生成する。これによって、圧縮データのストリームがオーバーラップ変換を行って生成されたストリームであっても、再符号化されるストリームと再符号化されないストリームとの境界で隣接する2つのアクセス・ユニットには、通常の符号化と同様に、それらに共通する同一のフレームを復号するための情報が分配されているため、継ぎ目部分でアーティファクトが発生することはない。したがって、すべての圧縮データをオーディオ・フレームに復号して再符号化することなく、異なるストリームを滑らかに接合することができる。また、接合するストリームどうしをクロスフェードすることによって接合をより滑らかにすることができる。
 このように、本実施の形態のストリーム合成装置は、オーバーラップ変換を行って生成された圧縮データからなる二つのストリームから、それぞれ連続する第1群のアクセス・ユニットと連続する第2群のアクセス・ユニットとを入力する入力部1と、連続する第1群のアクセス・ユニットを復号して連続する第1群のフレームを生成し、連続する第2群のアクセス・ユニットを復号して連続する第2群のフレームを生成する復号部2と、連続する第1群のフレームと連続する第2群のフレームとを、各々のフレームを復号するために用いるアクセス・ユニットを基準として、選択的に混合して混合フレームを生成し、該混合フレームを符号化して、所定の数の第3群のアクセス・ユニットを生成し、連続する第1群のアクセス・ユニットと連続する第2群のアクセス・ユニットとを、所定の数の第3群のアクセス・ユニットを継ぎ目として、連続する第1群のアクセス・ユニットと連続する第2群のアクセス・ユニットと、所定の数の第3群のアクセス・ユニットとの境界において隣接するアクセス・ユニットが、共通する同一のフレームを復号するための情報を分配するように接合する合成部3と、を備えるので、各々のストリームから所定の数のアクセス・ユニットのみを抽出し、各々の先端と後端とを合わせて混合して再符号化して生成した第3群のアクセス・ユニットを生成する。この第3群のアクセス・ユニットを継ぎ目部分として用いることによって、オーバーラップ変換を行って生成された異なる圧縮データのストリームどうしを接合する場合であっても、不完全に復号されるフレームが発生することがない。従って、すべての圧縮データをフレームに復号して再符号化せずとも、アーティファクトの発生しない滑らかな接合を実現できる。
 以上説明したように、本実施の形態のストリーム合成装置10は、第1のストリームAと第2のストリームBとして入力部1に入力された連続する第1群のアクセス・ユニットと連続する第2群のアクセス・ユニットとを、復号部2で復号して連続する第1群のフレームと連続する第2群のフレームを生成し、合成部3が、こうして復号した連続する第1群のフレームと連続する第2群のフレームとを、各々のフレームを復号するために用いるアクセス・ユニットに基づいて、選択的に混合して混合フレームを生成し、該混合フレームを符号化して、二つのストリームの継ぎ目となる第3群のアクセス・ユニットを生成するので、すべての圧縮データをフレームに復号して再び符号化する、すなわち再符号化する必要はない。さらに合成部3が、こうして生成した所定の数の第3群のアクセス・ユニットを継ぎ目として、二つのストリームと所定の数の第3群のアクセス・ユニットとの境界で、隣接するアクセス・ユニットが、共通する同一のフレームを復号するための情報を分配するように接合するので、すべての圧縮データをフレームに復号して再符号化せずとも、アーティファクトの発生しない滑らかな接合を実現できる。
 以上、本発明の基本的な実施の形態のストリーム合成装置について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、種々の変形・変更が可能である。本実施の形態では、AACに従って生成したオーディオ圧縮データを用いた場合について説明したが、本発明はこれに限定されず、オーバーラップ変換を行って生成された圧縮データであれば、MPEG Audio、AC3符号化などの各種符号化によって生成したストリームに適用可能である。
<第2の実施の形態>
 図7は、第2の実施の形態のストリーム合成装置のブロック図である。
 図7に示すように、本実施の形態のストリーム合成装置20は、入力された第1のストリームAをアクセス・ユニット毎にストリーム切替部又は第1復号部に出力する第1ルータ部11Aと、第2のストリームBをアクセス・ユニット毎に第2復号部又はストリーム切替部に出力する第2ルータ部11Bと、第1ルータ部11Aから入力されたアクセス・ユニットを復号して第1群のフレームを生成する第1復号部12Aと、第2ルータ部11Bから入力されたアクセス・ユニットを復号して第2群のフレームを生成する第2復号部12Bと、第1復号部12Aで生成される第1群のフレームと第2復号部12Bで生成される第2群のフレームとを混合して継ぎ目のフレームを生成する混合部13と、混合部13によって生成された継ぎ目のフレームを符号化して継ぎ目のアクセス・ユニットを生成する符号化部14と、第1ルータ部11Aから入力された第1のストリームAのアクセス・ユニットと、符号化部14で生成された継ぎ目のアクセス・ユニットと、第2ルータ部11Bから入力された第2のストリームBのアクセス・ユニットとを必要に応じて切り替えて出力するストリーム切替部15と、第1ルータ部11A、第2ルータ部11B、第1復号部12A、第2復号部12B、混合部13、符号化部14、ストリーム切替部15を制御する制御部16とを備える。なお、本実施の形態のストリーム合成装置20が実行するストリーム接合処理の原理は第1の実施の形態のストリーム合成装置10と同一であるので、ストリーム接合処理の詳細については説明を省略する。ストリーム切替部15は、本発明の接合部を構成する。
 ここで、本実施の形態のストリーム合成装置20が入力するストリームは、AAC規格に従って生成したオーディオ圧縮データからなるストリームに限定されず、オーバーラップ変換を行って生成された任意の圧縮データのストリームとする。
 制御部16はユーザから入力される制御パラメータに従って、ストリームA、Bを接合する際のクロスフェードの方法、及びクロスフェードするフレーム数を決定する。さらに、ストリームA、Bを入力して、ストリームA、Bの長さ、すなわち、アクセス・ユニットの数を取得する。また、ストリームがADTS形式の場合、それぞれのアクセス・ユニットのバッファの状態、例えば、占有率などをそのアクセス・ユニットのADTSヘッダから取得するが、ヘッダなどから直接それぞれのアクセス・ユニットのバッファの状態などの情報を得ることができない場合は、デコーダ・バッファをシミュレートするなどして必要な情報を取得する。
 制御部16は、ストリームAとBそれぞれのアクセス・ユニットの数とストリームAとBそれぞれのバッファの状態から、再符号化するアクセス・ユニットを特定し、さらに符号化部14が符号化して生成するアクセス・ユニットの符号量などを決定する。各ブロックに正しいタイミングでアクセス・ユニットやフレームが入力されるように、制御部16は適切な位置に挿入された可変遅延器(図示していない)を制御する。図7では説明を簡素にするため可変遅延器を省略している。
 次に、制御部16が第1ルータ部11A、第2ルータ部11B、混合部13、符号化部14を制御する処理について説明する。
 第1ルータ部11Aに入力された第1のストリームAは、ストリーム切替部15又は第1復号部12Aに入力される。ストリーム切替部15に入力された第1のストリームAは、再符号化されずに直接ストリームCとして出力される。同様に、第2ルータ部11Bに入力された第2のストリームBは、ストリーム切替部15又は第2復号部12Bに入力される。第2ルータ部11Bに入力された第2のストリームBは、再符号化されずに直接ストリームCとして出力される。
 第1のストリームA、第2のストリームBは、オーバーラップ変換をして符号化されているため、第1のストリームAと第2のストリームBのうち、再符号化するアクセス・ユニットと、その前後のアクセス・ユニットが、第1復号部12Aと第2復号部12Bで復号され、第1の実施の形態で説明したように、指定された数だけ指定された方法によって混合部13で混合される。指定された方法とは、ここでは、クロスフェードとする。混合されたフレームは符号化部14で再符号化されてストリーム切替部15に出力される。
 制御部16は、このようにして生成されてストリーム切替部15から順に出力されるストリームが、第1の実施の形態で説明したバッファ管理上の制約を満たすように、符号化部14におけるビット割り当てを制御する。また、第1復号部12Aと第2復号部12Bは、使用された窓関数の種類や長さなどの情報を制御部16に通知する。この情報を使って、制御部16は、再符号化するアクセス・ユニットと再符号化しないアクセス・ユニットとの間で窓関数が滑らかに接合するように符号化部14を制御してもよい。適切に制御された可変遅延器(図示されていない)によって、ストリーム切替部15には同時刻には1つだけの入力にアクセス・ユニットが入力される。ストリーム切替部15は入力されたアクセス・ユニットを加工せずに出力する。
 図8は、制御部16の制御の下、本実施の形態のストリーム合成装置20が実行するストリームAとストリームBを接合してストリームCを生成する処理を説明するフローチャートである。図9は、図8の処理を実行する際の擬似コードである。図8と図9を参照して、本実施の形態のストリーム合成装置20が実行する処理について詳細に説明する。
 ステップS11で、ストリームAの再符号化しない部分をストリームCとして出力する。具体的には、制御部16は、第1ルータ部11Aとストリーム切替部15を制御して、ストリームAの再符号化しない部分をそのままストリームCとして出力する。
 図9の疑似コードでは、以下のプログラムを実行する。
Figure JPOXMLDOC01-appb-M000004
 ここで、ストリームA、BはそれぞれN、N個のオーディオ・フレーム、すなわちN+1、N+1個のアクセス・ユニットを有するものとする。ストリームXは、ストリームA、B、Cを要素とする集合に属するストリームであり、ストリームXのアクセス・ユニットをU 、(0≦i≦N-1)とする。
 次に、ステップS12で、ストリームAとストリームBから継ぎ目のストリームを生成して出力する。具体的には、制御部16は、第1ルータ部11A、第2ルータ部11B、第1復号部12A、第2復号部12B、混合部13、符号化部14、ストリーム切替部15を制御して、図5を参照して説明したように、ストリームA、Bから取り出した(M+2)個のアクセス・ユニットデコードをデコードして、(M+1)個のオーディオ・フレームを生成し、そのうちM個のオーディオ・フレームをクロスフェードして、(M+2)個の継ぎ目のオーディオ・フレームを再符号化して、(M+1)個の継ぎ目のアクセス・ユニットを生成してストリームCとして出力する。
 図9の疑似コードでは、以下のプログラムを実行する。
Figure JPOXMLDOC01-appb-M000005
 このときストリームCはN=N+N-M個のオーディオ・フレーム、すなわちN+1個のアクセス・ユニットを有することになる。また、ストリームXのオーディオ・フレームをF とする。
 関数mix((F,F・・・,FN-1),(F´,F´,・・・,F´N-1))は、2組のN個のオーディオ・フレームのベクトルをクロスフェードした、N個のオーディオ・フレームのベクトルを表す。関数dec(U,U・・・,U)は、N+1個のアクセス・ユニットのベクトルを復号した、N個のオーディオ・フレームのベクトル(F,F・・・,FN-1)を表す。関数enc(F-1,F・・・,F)は、N+2個のオーディオ・フレームのベクトルを符号化した、N+1個のアクセス・ユニット(U,U・・・,U)を表す。
 関数enc(・・・)は、M+2個のオーディオ・フレームを再符号化し、M+1個のアクセス・ユニットを生成する。このとき、再符号化されるストリームと再符号化されないストリームとのバッファ状態の連続性を保つためには、再符号化されるストリームがオーバーフローもアンダーフローもしないことに加えて、次のバッファの制約を満たす必要がある。
 再符号化されたストリーム(ストリームABと呼ぶ)のバッファの初期占有量と最後の占有量が、それぞれ、再符号化されないストリームAの最後のアクセス・ユニットの占有量と再符号化されるストリームBの最後のアクセス・ユニットの占有量と等しくなる。すなわち、アクセス・ユニットU がバッファから取り除かれた後のバッファの占有量をS とすると、以下のようになる。
Figure JPOXMLDOC01-appb-M000006
かつ
Figure JPOXMLDOC01-appb-M000007
再符号化したストリームのアクセス・ユニット1個あたりの平均符号量は以下のようになる。
Figure JPOXMLDOC01-appb-M000008
ここで、
Figure JPOXMLDOC01-appb-M000009
L(アッパースコア付き)はストリームA又はBのアクセス・ユニット1個あたりの平均符号量とする。
Figure JPOXMLDOC01-appb-M000010
から、Mを大きくすれば
Figure JPOXMLDOC01-appb-M000011
となるので、Mを十分大きくとればバッファ管理上の制約を満たすレート・コントロールが保証できることが容易に理解できる。
 再符号化するストリームのアクセス・ユニットの平均符号量をL(アッパースコア付き)ABに等しくするには、例えば、それぞれのアクセス・ユニットにL(アッパースコア付き)ABだけ符号量を割り当てればよい。ただし、場合によっては必ずしもすべてのアクセス・ユニットに同じ符号量を割り当てられない。そのような場合は、符号量の割り当てを変化させたり、パディングを挿入するなどして、平均符号量がL(アッパースコア付き)ABとなるように調整すればよい。
 次に、ステップS13で、ストリームBの再符号化しない部分を出力する。図9の疑似コードでは、以下のプログラムを実行する。
Figure JPOXMLDOC01-appb-M000012
 具体的には、制御部16は、第2ルータ部11Bとストリーム切替部15を制御して、ストリームBの再符号化しない部分をそのままストリームCとして出力する。
 以上説明したように、本実施の形態のストリーム合成装置20は、第1のストリームAと第2のストリームBとして第1ルータ部11A及び第2ルータ部11Bに入力された連続する第1群のアクセス・ユニットと連続する第2群のアクセス・ユニットとを、第1復号部12A及び第2復号部12Bで復号して連続する第1群のフレームと連続する第2群のフレームを生成し、混合部13が、こうして復号した連続する第1群のフレームと連続する第2群のフレームとを、各々のフレームを復号するために用いるアクセス・ユニットに基づいて、選択的に混合して混合フレームを生成し、符号化部14が該混合フレームを符号化して、二つのストリームの継ぎ目となる第3群のアクセス・ユニットを生成するので、すべての圧縮データをフレームに復号して再び符号化する、すなわち再符号化する必要はない。さらにストリーム切替部15が、こうして生成した所定の数の第3群のアクセス・ユニットを継ぎ目として、二つのストリームと所定の数の第3群のアクセス・ユニットとの境界で、隣接するアクセス・ユニットが、共通する同一のフレームを復号するための情報を分配するように接合して第3のストリームCを生成するので、すべての圧縮データをフレームに復号して再符号化せずとも、アーティファクトの発生しない滑らかな接合を実現できる。
 以上、本発明の好ましい実施の形態について詳述したが、本発明は係る特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の範囲内において、種々の変形・変更が可能である。上述の実施の形態では、AACに従って生成したオーディオ圧縮データを用いた場合について説明したが、オーバーラップ変換を行って生成されたあらゆる圧縮データに適用可能である。また、本発明のストリーム合成装置は、CPUとメモリを含む、一般的なコンピュータを上述した各手段として機能させるストリーム合成プログラムによって動作させることができるストリーム合成プログラムは、通信回線を介して配布することも可能であるし、CD-ROM等の記録媒体に書き込んで配布することも可能である。
 1   入力部
 2   復号部
 3   合成部
 10 ストリーム合成装置
 11A      第1ルータ部
 11B      第2ルータ部
 12A      第1復号部
 12B      第2復号部
 13        混合部
 14        符号化部
 15        ストリーム切替部
 16        制御部
 20        ストリーム合成装置

Claims (9)

  1.  オーバーラップ変換を行って生成された圧縮データからなる二つのオーディオ・ストリームを接合して一つのオーディオ・ストリームを生成するオーディオ・ストリーム合成装置であって、
    前記二つのオーディオ・ストリームを復号するための単位となるアクセス・ユニットをそれぞれ第1群のアクセス・ユニットと第2群のアクセス・ユニットとし、前記二つのオーディオ・ストリームを復号して得られるフレームをそれぞれ第1群のフレームと第2群のフレームとし、前記第1群のフレームと前記第2群のフレームを混合して生成した混合フレームを符号化して得られるアクセス・ユニットを第3群のアクセス・ユニットとし、
    前記オーディオ・ストリーム合成装置は、
     第1群のアクセス・ユニットと第2群のアクセス・ユニットとを入力する入力部と、
     前記入力部によって入力された第1群のアクセス・ユニットを復号して第1群のフレームを生成し、前記第2群のアクセス・ユニットを復号して第2群のフレームを生成する復号部と、
     前記復号部によって復号された複数の第1群のフレームと複数の第2群のフレームとを、各々のフレームを復号するために用いるアクセス・ユニットを基準として、選択的に混合して混合フレームを生成し、該混合フレームを符号化して、所定の数の第3群のアクセス・ユニットを生成し、前記複数の第1群のアクセス・ユニットと前記複数の第2群のアクセス・ユニットとを、前記所定の数の第3群のアクセス・ユニットを継ぎ目として、前記複数の第1群のアクセス・ユニットと前記複数の第2群のアクセス・ユニットと、前記所定の数の第3群のアクセス・ユニットとの境界において隣接するアクセス・ユニットが、共通する同一のフレームを復号するための情報を分配するように接合する合成部と、
    を備える、前記オーディオ・ストリーム合成装置。
  2.  前記合成部は、
     前記複数の第1群のフレームのうち、末尾のフレームを含む所定の数の第1群のフレームと、前記複数の第2群のフレームのうち、先頭のフレームを含む所定の数の第2群のフレームとを、前記所定の数の第1群のフレームの先頭から少なくとも1以上のフレームと、前記所定の数の第2群のフレームの末尾から少なくとも1以上のフレームとを除くフレームどうしが相互に重なるように混合して、前記所定の数よりも大きい数の混合フレームを生成し、該混合フレームを符号化して、所定の数の第3群のアクセス・ユニットを生成する符号化部を含む、請求項1記載のオーディオ・ストリーム合成装置。
  3.  前記合成部は、
     前記複数の第1群のアクセス・ユニットと前記所定の数の第3群のアクセス・ユニットとを、前記所定の数の第1群のフレームを復号するために用いた複数のアクセス・ユニットのうち先頭のアクセス・ユニットと前記所定の数の第3群のアクセス・ユニットの先頭のアクセス・ユニットとが隣接するように接合し、
     前記複数の第2群のアクセス・ユニットと前記所定の数の第3群のアクセス・ユニットとを、前記所定の数の第2群のフレームを復号するために用いた複数のアクセス・ユニットのうち末尾のアクセス・ユニットと前記所定の数の第3群のアクセス・ユニットの末尾のアクセス・ユニットとが隣接するように接合する接合部を含む、請求項2記載のオーディオ・ストリーム合成装置。
  4.  前記符号化部は、前記所定の数の第3群のアクセス・ユニットのバッファの初期占有量と最後の占有量が、それぞれ、前記所定の数の第1群のフレームを復号するために用いた複数のアクセス・ユニットのうち先頭部分のアクセス・ユニットのバッファの占有量と、前記所定の数の第2群のフレームを復号するために用いた複数のアクセス・ユニットのうち末尾部分のアクセス・ユニットのバッファの占有量と一致するように、前記第3群のアクセス・ユニットの符号化を行う、請求項3記載のオーディオ・ストリーム合成装置。
  5.  前記合成部は、前記第1群のフレームと前記第2群のフレームとをクロスフェードして混合する混合部を含む、請求項1記載のオーディオ・ストリーム合成装置。
  6.  前記第1群のアクセス・ユニットと前記第2群のアクセス・ユニットは、等しい伝送レートとサンプリング周波数で入力される、請求項1記載のオーディオ・ストリーム合成装置。
  7.  前記第1群のアクセス・ユニットと前記第2群のアクセス・ユニットは、ADTS(Audio Data Transport Stream)フレーム形式である、請求項1記載のオーディオ・ストリーム合成装置。
  8.  オーバーラップ変換を行って生成された圧縮データからなる二つのオーディオ・ストリームを接合して一つのオーディオ・ストリームを生成するオーディオ・ストリーム合成方法であって、
    前記二つのオーディオ・ストリームを復号するための単位となるアクセス・ユニットをそれぞれ第1群のアクセス・ユニットと第2群のアクセス・ユニットとし、前記二つのオーディオ・ストリームを復号して得られるフレームをそれぞれ第1群のフレームと第2群のフレームとし、前記第1群のフレームと前記第2群のフレームを混合して生成した混合フレームを符号化して得られるアクセス・ユニットを第3群のアクセス・ユニットとし、
    前記オーディオ・ストリーム合成方法は、
     第1群のアクセス・ユニットと第2群のアクセス・ユニットとを入力する入力ステップと、
     前記入力ステップで入力された第1群のアクセス・ユニットを復号して第1群のフレームを生成し、前記第2群のアクセス・ユニットを復号して第2群のフレームを生成する復号ステップと、
     前記復号ステップで復号された複数の第1群のフレームと複数の第2群のフレームとを、各々のフレームを復号するために用いるアクセス・ユニットを基準として、選択的に混合して混合フレームを生成し、該混合フレームを符号化して、所定の数の第3群のアクセス・ユニットを生成し、
     前記複数の第1群のアクセス・ユニットと前記複数の第2群のアクセス・ユニットとを、前記所定の数の第3群のアクセス・ユニットを継ぎ目として、前記複数の第1群のアクセス・ユニットと前記複数の第2群のアクセス・ユニットと、前記所定の数の第3群のアクセス・ユニットとの境界において隣接するアクセス・ユニットが、共通する同一のフレームを復号するための情報を分配するように接合する合成ステップと、
    を備える、前記オーディオ・ストリーム合成方法。
  9.  オーバーラップ変換を行って生成された圧縮データからなる二つのオーディオ・ストリームを接合して一つのオーディオ・ストリームを生成するオ処理をコンピュータに実行させるオーディオ・ストリーム合成プログラムであって、
    前記二つのオーディオ・ストリームを復号するための単位となるアクセス・ユニットをそれぞれ第1群のアクセス・ユニットと第2群のアクセス・ユニットとし、前記二つのオーディオ・ストリームを復号して得られるフレームをそれぞれ第1群のフレームと第2群のフレームとし、前記第1群のフレームと前記第2群のフレームを混合して生成した混合フレームを符号化して得られるアクセス・ユニットを第3群のアクセス・ユニットとし、
    前記オーディオ・ストリーム合成プログラムは、
     第1群のアクセス・ユニットと第2群のアクセス・ユニットとを入力する入力ステップと、
     前記入力ステップで入力された第1群のアクセス・ユニットを復号して第1群のフレームを生成し、前記第2群のアクセス・ユニットを復号して第2群のフレームを生成する復号ステップと、
     前記復号ステップで復号された複数の第1群のフレームと複数の第2群のフレームとを、各々のフレームを復号するために用いるアクセス・ユニットを基準として、選択的に混合して混合フレームを生成し、該混合フレームを符号化して、所定の数の第3群のアクセス・ユニットを生成し、
     前記複数の第1群のアクセス・ユニットと前記複数の第2群のアクセス・ユニットとを、前記所定の数の第3群のアクセス・ユニットを継ぎ目として、前記複数の第1群のアクセス・ユニットと前記複数の第2群のアクセス・ユニットと、前記所定の数の第3群のアクセス・ユニットとの境界において隣接するアクセス・ユニットが、共通する同一のフレームを復号するための情報を分配するように接合する合成ステップと、をコンピュータに実行させる、前記オーディオ・ストリーム合成プログラム。

     
PCT/JP2009/003968 2009-08-20 2009-08-20 オーディオ・ストリームを合成する装置、方法及びプログラム WO2011021239A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/391,262 US9031850B2 (en) 2009-08-20 2009-08-20 Audio stream combining apparatus, method and program
PCT/JP2009/003968 WO2011021239A1 (ja) 2009-08-20 2009-08-20 オーディオ・ストリームを合成する装置、方法及びプログラム
JP2011527483A JP5785082B2 (ja) 2009-08-20 2009-08-20 オーディオ・ストリームを合成する装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/003968 WO2011021239A1 (ja) 2009-08-20 2009-08-20 オーディオ・ストリームを合成する装置、方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2011021239A1 true WO2011021239A1 (ja) 2011-02-24

Family

ID=43606710

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/003968 WO2011021239A1 (ja) 2009-08-20 2009-08-20 オーディオ・ストリームを合成する装置、方法及びプログラム

Country Status (3)

Country Link
US (1) US9031850B2 (ja)
JP (1) JP5785082B2 (ja)
WO (1) WO2011021239A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477497B2 (en) 2014-09-09 2022-10-18 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio splicing concept

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX356063B (es) 2011-11-18 2018-05-14 Sirius Xm Radio Inc Sistemas y metodos que implementan la transicion gradual, los intersticiales y otros efectos corriente abajo.
CA2866585C (en) 2012-03-06 2021-02-23 Sirius Xm Radio Inc. Systems and methods for audio attribute mapping
CA2870865C (en) 2012-04-17 2020-08-18 Sirius Xm Radio Inc. Server side crossfading for progressive download media
US9607650B2 (en) 2014-11-02 2017-03-28 W. Leo Hoarty Systems and methods for reducing audio distortion during playback of phonograph records using multiple tonearm geometries
EP3067885A1 (en) 2015-03-09 2016-09-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding or decoding a multi-channel signal
JPWO2016171002A1 (ja) 2015-04-24 2018-02-15 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
JP6611042B2 (ja) * 2015-12-02 2019-11-27 パナソニックIpマネジメント株式会社 音声信号復号装置及び音声信号復号方法
US10650834B2 (en) 2018-01-10 2020-05-12 Savitech Corp. Audio processing method and non-transitory computer readable medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142496A (ja) * 1999-11-11 2001-05-25 Sony Corp ディジタル信号処理装置および処理方法、ディジタル信号記録装置および記録方法、並びに記録媒体
JP2003052010A (ja) * 2001-05-30 2003-02-21 Victor Co Of Japan Ltd Mpegデータ記録方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5913190A (en) * 1997-10-17 1999-06-15 Dolby Laboratories Licensing Corporation Frame-based audio coding with video/audio data synchronization by audio sample rate conversion
US6718309B1 (en) * 2000-07-26 2004-04-06 Ssi Corporation Continuously variable time scale modification of digital audio signals
AU2003285787A1 (en) * 2002-12-28 2004-07-22 Samsung Electronics Co., Ltd. Method and apparatus for mixing audio stream and information storage medium
US8423372B2 (en) * 2004-08-26 2013-04-16 Sisvel International S.A. Processing of encoded signals
JP4732730B2 (ja) * 2004-09-30 2011-07-27 パナソニック株式会社 音声復号装置
KR100640476B1 (ko) * 2004-11-24 2006-10-30 삼성전자주식회사 비동기식 오디오 스트림 처리 방법 및 장치
US7460495B2 (en) * 2005-02-23 2008-12-02 Microsoft Corporation Serverless peer-to-peer multi-party real-time audio communication system and method
EP1946310A4 (en) * 2005-10-26 2011-03-09 Lg Electronics Inc METHOD FOR CODING AND DECODING A MULTI CHANNEL AUDIO SIGNAL AND DEVICE THEREFOR
KR101041895B1 (ko) * 2006-08-15 2011-06-16 브로드콤 코포레이션 패킷 손실 후 디코딩된 오디오 신호의 시간 워핑
US7778839B2 (en) * 2007-04-27 2010-08-17 Sony Ericsson Mobile Communications Ab Method and apparatus for processing encoded audio data
US20100063825A1 (en) * 2008-09-05 2010-03-11 Apple Inc. Systems and Methods for Memory Management and Crossfading in an Electronic Device
ES2570967T4 (es) * 2008-10-06 2017-08-18 Telefonaktiebolaget Lm Ericsson (Publ) Método y aparato para proporcionar audio alineado de múltiples canales

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142496A (ja) * 1999-11-11 2001-05-25 Sony Corp ディジタル信号処理装置および処理方法、ディジタル信号記録装置および記録方法、並びに記録媒体
JP2003052010A (ja) * 2001-05-30 2003-02-21 Victor Co Of Japan Ltd Mpegデータ記録方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477497B2 (en) 2014-09-09 2022-10-18 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio splicing concept
US11882323B2 (en) 2014-09-09 2024-01-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio splicing concept

Also Published As

Publication number Publication date
JPWO2011021239A1 (ja) 2013-01-17
US20120259642A1 (en) 2012-10-11
US9031850B2 (en) 2015-05-12
JP5785082B2 (ja) 2015-09-24

Similar Documents

Publication Publication Date Title
JP5785082B2 (ja) オーディオ・ストリームを合成する装置、方法及びプログラム
JP5032314B2 (ja) オーディオ符号化装置、オーディオ復号化装置およびオーディオ符号化情報伝送装置
TWI363563B (en) Encoder, decoder and methods for encoding and decoding data segments representing a time-domain data stream
US11423919B2 (en) Audio decoder, apparatus for generating encoded audio output data and methods permitting initializing a decoder
CN101854553B (zh) 视频编码器和编码视频的方法
US8311105B2 (en) Information-processing apparatus, information-processsing method, recording medium and program
EP2104105A1 (en) Digital audio and video clip encoding
US20030009246A1 (en) Trick play for MP3
JP4577357B2 (ja) 符号化装置及び方法、並びにプログラム
EP2104103A1 (en) Digital audio and video clip assembling
CN100556140C (zh) 动图像再编码装置、动图像编辑装置及其方法
US20220109891A1 (en) Features of range asymmetric number system encoding and decoding
JP4709100B2 (ja) 動画像編集装置及びその制御方法、並びにプログラム
JP2002344883A (ja) 映像信号符号化装置
JP5553533B2 (ja) 画像編集装置およびその制御方法およびプログラム
TWI328358B (en) An audio decoder and an audio decoding method
WO2022066426A1 (en) Seamless scalable decoding of channels, objects, and hoa audio content
JP2008066845A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP2002271738A (ja) 情報処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体
JP2008066852A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP2011029844A (ja) 情報処理装置、情報処理方法、並びにプログラム
WO2009047675A2 (en) Encoding and decoding of an audio signal

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09848443

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011527483

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13391262

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 09848443

Country of ref document: EP

Kind code of ref document: A1