WO2010090427A2 - 오디오 신호의 부호화 및 복호화 방법 및 그 장치 - Google Patents

오디오 신호의 부호화 및 복호화 방법 및 그 장치 Download PDF

Info

Publication number
WO2010090427A2
WO2010090427A2 PCT/KR2010/000631 KR2010000631W WO2010090427A2 WO 2010090427 A2 WO2010090427 A2 WO 2010090427A2 KR 2010000631 W KR2010000631 W KR 2010000631W WO 2010090427 A2 WO2010090427 A2 WO 2010090427A2
Authority
WO
WIPO (PCT)
Prior art keywords
additional information
information
bits
audio signal
bitstream
Prior art date
Application number
PCT/KR2010/000631
Other languages
English (en)
French (fr)
Other versions
WO2010090427A3 (ko
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/254,120 priority Critical patent/US20120065753A1/en
Priority to EP10738711.0A priority patent/EP2395503A4/en
Priority to CN2010800140806A priority patent/CN102365680A/zh
Publication of WO2010090427A2 publication Critical patent/WO2010090427A2/ko
Publication of WO2010090427A3 publication Critical patent/WO2010090427A3/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/18Vocoders using multiple modes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio

Definitions

  • a method and apparatus for encoding / decoding MPEG-D USAC Unified Speech and Audio Coding (USAC)
  • USAC Unified Speech and Audio Coding
  • Waveforms containing information are analog signals that are continuous in amplitude and also continuous in time. Therefore, A / D (Analog-to-Digital) conversion is performed to represent the waveform as a discrete signal, and two processes are required for A / D conversion. One is the sampling process for changing discrete signals in time, and the other is amplitude quantization to limit the number of possible amplitudes to a finite value.
  • PCM Pulse Code Modulation
  • CD Compact Disc
  • DAT Digital Audio Tape
  • the digital signal storage / restore method overcomes the improvement of sound quality and the deterioration due to the storage period, compared to the analog method such as LP (Long-Play Record) and Tape, but the size of data is relatively large.
  • DPCM differential pulse code modulation
  • ADPCM adaptive differential pulse code modulation
  • the MPEG / audio standard or AC-2 / AC-3 offers almost the same sound quality as compact discs at 64Kbps-384Kbps, which is reduced from 1/6 to 1/8 compared to conventional digital encoding.
  • the MPEG / audio standard is expected to play an important role in the storage and transmission of audio signals such as digital audio broadcasting (DAB), internet phones, audio on demand (AOD) and multimedia systems.
  • DAB digital audio broadcasting
  • AOD audio on demand
  • multimedia systems such as digital audio broadcasting (DAB), internet phones, audio on demand (AOD) and multimedia systems.
  • an MPEG-D USAC encoding / decoding method and apparatus for inserting additional information into an MPEG-D USAC scheme are provided.
  • 1 is a diagram illustrating an example of a bitstream structure of ID3v1.
  • FIG. 2 is a block diagram illustrating an encoder of an audio signal or a speech signal according to an embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating an example of an encoding method performed by an encoder of an audio signal or a speech signal according to an embodiment of the present invention.
  • FIG. 4 is a block diagram illustrating an encoder of an audio signal or a speech signal according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating an example of a decoding method performed by a decoder of an audio signal or a speech signal according to an embodiment of the present invention.
  • ID3v1 is a representative example. 1 shows an example of the bitstream structure of ID3v1.
  • the encoder Even if the encoder supports a variable bit rate, it transmits at a fixed bit rate when the bandwidth of the network channel is fixed. In this case, if the number of bits used for each frame is different, additional bit information is transmitted to prevent the transmission at a fixed bit rate. In addition, when a plurality of frames are bundled and transmitted in one payload, several frames may be generated at a variable bit rate. However, even in this case, if the bandwidth of the network channel is fixed, it must be transmitted at a fixed bit rate, and at this time, a function of transmitting one payload at a fixed bit rate is required. Therefore, additional bit information is transmitted for this purpose.
  • FIG. 2 is a block diagram illustrating an encoder of an audio signal or a speech signal according to an embodiment of the present invention.
  • a signal of a low frequency band is coded by a core encoder, and a signal of a high frequency band uses an enhanced SBR (eSBR) 203.
  • the stereo portion may be encoded using MPEG surround (MPEGS) 2102.
  • a core encoder for encoding a low frequency band signal may operate in two coding modes: frequency domain coding (FD) and linear prediction domain coding (LP domain coding, linear prediction, LPD).
  • FD frequency domain coding
  • LP domain coding linear prediction domain coding
  • LPD linear prediction domain coding
  • the linear prediction domain coding may be composed of two coding modes of ACELP (Algebraic Code Excitation Linear Prediction) and TCX (Transform Coded Excitation).
  • the core encoders 202 and 203 which perform encoding of the low frequency band signal may be encoded using the frequency domain encoder 210 according to the signal through a signal classifier 201 or linear prediction encoder.
  • Use 205 to select whether to encode For example, an audio signal such as a music signal may be switched to be encoded by the frequency domain encoder 210, and a speech (speech) signal may be switched to being encoded by the linear prediction domain encoder 205.
  • the switched encoding mode information is stored in the bitstream. In the case of switching to the frequency domain encoder 210, the encoding is performed through the frequency domain encoder 210.
  • the frequency domain encoder 110 performs a transform according to the window length suitable for the signal in the block switching / filter bank module 111.
  • Modified Discrete Cosine Transform may be used for the transformation.
  • MDCT is a critically sampled transform that performs 50% overlap, transforms, and generates a frequency coefficient corresponding to half the window length.
  • one frame used in the frequency domain encoder 110 may have a length of 1024, and a window having a length of 2048 samples having a length of twice 1024 may be used. It is also possible to divide the 1024 samples into eight and perform eight MDCTs with 256 window lengths.
  • the 1152 frequency coefficient can be generated using the 2304 window length.
  • Temporal Noise Shaping (TNS) 212 may be applied to the converted frequency domain data as needed.
  • the TNS 212 is a method of performing linear prediction in the frequency domain.
  • the TNS 212 may be mainly used for a signal with strong attack due to a duality relationship between a time characteristic and a frequency characteristic.
  • a strong attack signal in the time domain can be represented as a flat signal in the frequency domain, and the linear prediction of such a signal can increase coding efficiency.
  • M / S stereo coding 213 may be applied.
  • compression efficiency may be lowered.
  • a signal may be converted into a signal having high compression efficiency and coded by expressing the sum and the difference of the left and right signals.
  • a quantization may be generally used as a scalar quantizer.
  • the frequency band is divided based on the psychoacoustic model 204, which is defined as a scale factor band. Scaling information is transmitted for each scale factor band, and quantization may be performed while calculating a scaling factor in consideration of bit usage based on the psychoacoustic model 204. If the quantized data is quantized to 0, it is represented as 0 even if decoding is performed. The more data quantized to 0, the more likely the distortion of the decoded signal is to occur. To prevent this, a function of adding noise during decoding may be performed. To this end, the encoder can generate and transmit information on noise.
  • Lossless coding is performed on quantized data, and context arithmetic coding may be used as the lossless encoder 220.
  • Lossless coding is performed using spectrum information of a previous frame and spectrum information decoded up to now as a context. Lossless coded spectral information is stored in the bitstream, such as previously calculated scaling factor information, noise information, TNS information, M / S information, and the like.
  • encoding may be performed by dividing one superframe into a plurality of frames and selecting an encoding mode of each frame as the ACELP 107 or the TCX 106.
  • one superframe may consist of 1024 samples, and one superframe may consist of four frames of 256 samples.
  • One frame of the frequency domain encoder 210 and one superframe of the linear prediction domain encoder 205 may have the same length.
  • a method of selecting an encoding mode among ACELP and TCX may include a closed loop method of performing encoding of the ACELP TCX and then selecting it through a measurement method such as SNR. open loop).
  • the TCX technique is linearly predicted and performs compression in the frequency domain by converting the remaining excitation signal into the frequency domain.
  • MDCT may be used as a method of converting to the frequency domain.
  • the bitstream multiplexer illustrated in FIG. 2 may store the bitstream in the manner illustrated in FIG. 3.
  • a bitstream storage method according to an embodiment of the present invention will be described in detail with reference to FIG. 3.
  • one or more pieces of information such as channel information of core encoding, information of a tool used, bitstream information of a used tool, whether additional information is required, types of additional information, and the like are stored in the bitstream. do.
  • the information storage may be performed in the order of core encoding information storage 301, eSBR information storage 305, MPEGS information storage 306, and additional information storage 307.
  • the core encoding information may be stored 307 by default, and information related to eSBR information, MPEGS information, and additional information may be selectively stored.
  • step 302 it is determined whether the eSBR tool is used (302), in step 303 it is determined whether the MPEGS tool is used, and in step 304 it is determined whether additional information is needed.
  • additional information bits may be added as many bits as necessary bits of additional information.
  • information about all encoding tools may be stored and then processed after byte alignment is performed.
  • additional information bits may be added by the number of bits of the additional information before byte alignment is performed.
  • the additional information bit may be added by setting to 0 or may be added by setting to 1.
  • additional information bits may be added as many bits as necessary bits of additional information.
  • information about all encoding tools may be stored and then processed after byte alignment is performed.
  • additional information bits may be added by the number of bits of the additional information before byte alignment is performed. The determination of whether additional information is required may be determined whether there are additional bits to be stored after byte alignment after storing information on all encoding tools.
  • additional information bits are added as many as the number of bits of the additional information before byte alignment is performed, the determination is made in consideration of byte alignment, but the residual bits exceed 7 bits. It can be determined that there is additional information.
  • the additional information bits additionally transmit the number of bits added.
  • the number of bits is expressed in units of bytes, and when the amount of additional information and the number of bits including the type and length information of the additional information are converted into bytes, (1) when not exceeding 14 bytes, the byte size is expressed by 4 bits.
  • 15 bytes or more 15 is stored in the 4-bit information, and the additional 8 bits are used to express the value obtained by subtracting 15 from the total number of bytes of the additional information.
  • 4 bits may be additionally used to express the type of the additional information, and 8 bits may be stored. For example, in the case of EXT_FILL_DAT (0000), 8 bits of a specific bit 10100101 may be stored as many bits to be sequentially added.
  • the additional information is 14 bytes and the type of the additional information is EXT_FILL_DAT
  • the sum of the 14 bytes, the 4-bit length information, and the type information of the additional information is 15 bytes.
  • the length information can be represented by 12 bits, which is the sum of 4 bits and 8 bits, and the total length information is 16, so 16 is stored.
  • the first 4 bits of 1111 are stored first, and 1 minus 15 from 16 is stored as 8 bits of 00000001.
  • the EXT_FILL_DAT (0000) which is a type of additional information, is stored as 4 bits, and a total of 10 times 10100101 are stored.
  • EXT_FILL_DAT may be expressed by another sentence, and a sentence representing a type of additional information may be selected.
  • FIG. 4 is a block diagram illustrating a decoder of an audio signal or a speech signal according to an embodiment of the present invention.
  • a decoder includes a bitstream demultiplexer 401, an arithmetic decoder 402, a filter bank 403, a time domain decoder (ACELP) 404, and a transition window unit. 405, 407, LPC 406, Bass Postfilter 408, eSBR 409, MPEGS Decoder 420, M / S 411, TNS 412, Block Switching / Filter Bank 413 Include.
  • the decoder illustrated in FIG. 4 decodes an audio signal or a speech signal encoded by the encoder shown in FIG. 2 or the encoding method shown in FIG.
  • FIG. 5 is a flowchart illustrating a method of operating a bitstream demultiplexer according to an embodiment of the present invention.
  • the demultiplexer receives a bitstream including channel information of core encoding and information on whether each encoding tool is used.
  • Core decoding is performed based on the channel information of the received core encoding (501). If eSBR is used (502), eSBR decoding is performed (505). If MPEGS tool is used (503), the MPEGS tool is executed.
  • Decryption 506 is performed.
  • the received bitstream includes the additional information described with reference to FIG. 3 (504)
  • the additional information is extracted (507) to generate a final decoded signal.
  • [Syntax 2] below is an example of a syntax for executing a process of parsing and decoding a USAC payload including extracting added information.
  • [Syntax 2] is an example of a syntax for decoding a USAC payload encoded according to [Example 1] of the present invention described with reference to FIG.
  • channelConfiguration means the number of core coded channels. Core encoding is performed based on this channelConfiguration, and eSBR decoding is performed by determining whether "sbrPresentFlag> 0", which indicates whether eSBR is used. In addition, MPEGS decoding is performed by determining whether "mpegsMuxMode> 0" which indicates whether MPEGS is used. Additional bits in the bitstream when decoding of the three tools (in some cases one or two: eSBR and MPEGS are not used) is completed and additional bits are needed for byte alignment. Read As described above, byte alignment is not limited to being performed before reading the additional information, but may be performed after reading the additional information.
  • bits_to_decode () is a function for indicating the number of bits remaining in the bitstream
  • read_bits () is a function for the decoder to read the number of input bits in the bitstream.
  • mpegsMuxMode indicates whether MPEGS payload is present according to the table below. [Table 1] below shows an example of the mpegsMuxMode value.
  • [Syntax 3] below is a syntax illustrating a process of parsing and decoding a USAC payload including extracting added information according to an embodiment of the present invention.
  • [Syntax 3] is an example of a syntax for decoding a USAC payload encoded according to [Example 2] of the present invention described with reference to FIG.
  • channelConfiguration means the number of core coded channels. Core encoding is performed based on this channelConfiguration, and eSBR decoding is performed by determining whether "sbrPresentFlag> 0", which indicates whether eSBR is used. In addition, MPEGS decoding is performed by determining whether "mpegsMuxMode> 0" which indicates whether MPEGS is used. Decoding of the three tools (in some cases, including one or two, eSBR and MPEGS are not used) is done and added in the bitstream when additional bits are needed for byte alignment. Read a bit. As described above, byte alignment is not limited to being performed before reading the additional information, but may be performed after reading the additional information.
  • the length information is read using 4 bits. If the length information is 15, the length information is expressed by subtracting 1 after adding 8 more bits to the previously read information.
  • the type of the additional information is read using 4 bits, and when the read 4 bits are EXT_FILL_DAT (0000), the bytes of the length information expressed by the above-described method are read.
  • the read byte may be set to a specific value, and may be implemented to determine a decoding error when the read byte is not a specific value.
  • EXT_FILL_DAT may be expressed by another sentence, and a sentence representing a type of additional information may be selected.
  • other types of additional information may be added.
  • EXT_FILL_DAT is defined as 0000 for convenience of description.
  • the syntax for expressing the additional information described above may be represented by the following [syntax 4] and [syntax 5] or [syntax 4] and [syntax 6].
  • the kind of additional information in [Syntax 5] and [Syntax 6] above may be added to another kind as illustrated in [Syntax 7] below. That is, it is possible to implement another embodiment of the present invention through the combination of [Syntax 4] and [Syntax 7] below.
  • EXT_DATA_ELEMENT is added, the type of EXT_DATA_ELEMENT can be defined using data_element_version, it can be represented as different data than ANC_DATA.
  • [Syntax 7] is an example, and [Table 2] below shows an embodiment in which 0000 is assigned to ANC_DATA for convenience of explanation, and no definitions for the other data are assigned.
  • Extension_type included in [Syntax 7] may be defined as shown in [Table 3] below.
  • Another implementation of restoring the additional information is a method of restoring the additional information from the audio header and obtaining the additional information for each audio frame based on the information.
  • USACSpecificConfig which is audio header information, restores header information according to an existing predetermined syntax and restores additional information USACExtensionConfig () after byte alignment.
  • the table is an example of syntax indicating USACSpecificConfig (), that is, audio header information.
  • USACSpecificConfig the number of additional information (USACExtNum) is initialized to zero. If the remaining bits are 8 bits or more, the type (bsUSACExtType) of 4-bit additional information is restored, and USACExtNum is increased by 1 after determining the USACExtType accordingly.
  • the length of the side information is restored through 4 bits of bsUSACExtLen. If the length of bsUSACExtLen is 15, the length is restored with 8 bits of bsUSACExtLenAdd. If the length is greater than 15 + 255, the final length is restored with 16 bits of bsUSACExtLenAddAdd.
  • the remaining bits are calculated, and the remaining bits are transmitted as fill bits, and then the bitstream corresponding to the length of the additional information is restored and terminated. This process is repeated until the remaining bits remain, thereby restoring additional information.
  • the bsUSACExtType defines whether the additional information USACExtensionFrame () in which the additional information is restored for each frame is transmitted or whether the additional information is transmitted only in the header.
  • the table is an example of USACExtensionConfig () syntax.
  • the table shows the definition of bsUSACExtType.
  • the USACExtensionFrame knows what additional information should be restored based on the type of additional information (USACExtType) and the number of additional information (USACExtNum) restored in the header. Accordingly, the additional information is restored as follows. The additional information is restored for each frame by using the additional information restored in the header according to the type of the additional information (bsUSACExtType). Whether or not the USACExtType [ec] is smaller than 8 is a criterion for determining whether the additional information is the additional information restored for each frame by the bsUSACExtType. The length of the actual additional information is transmitted by bsUSACExtLen and bsUSACExtLenAdd, and the corresponding additional information is restored. The remaining bits are restored to bsFillBits. This process is performed as many as USACExtNum of all additional information. USACExtensionFrameData () may be filled with a fill bit or existing metadata.
  • the table shows an example of the syntax of USACExtensionFrame ().
  • the method of encoding and decoding an audio signal according to the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded on a computer readable medium.
  • the computer readable medium may include a program command, a signal file, a signal structure, etc. alone or in combination.
  • Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.

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)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

오디오 신호 또는 스피치 신호에 대한 부호화 및 복호화를 수행하는 방법 및 상기 방법이 채용된 장치가 개시된다.

Description

오디오 신호의 부호화 및 복호화 방법 및 그 장치
오디오 신호 또는 스피치 신호의 부호화 및 복호화 방법 및 이를 수행하는 장치가 개시된다.
오디오 신호 또는 스피치 신호의 부호화 및 복호화 방법, 더욱 상세하게는 MPEG 오디오 부호화/복호화 방법이 개시된다. 특히 부가정보 삽입이 가능한 MPEG에서 표준화가 진행중인 MPEG-D USAC(Unified Speech and Audio Coding; USAC) 부호화/복호화 방법 및 장치가 개시된다.
정보를 포함하고 있는 파형은 진폭에 있어서 연속적이고 시간 상으로도 연속적인 아날로그(Analog) 신호이다. 따라서 파형을 이산(discrete) 신호로 표현하기 위해서 A/D(Analog-to-Digital) 변환이 수행되고, A/D 변환을 위해서 두 가지의 과정이 필요하다. 하나는 시간 상의 연속(continuous) 신호를 이산 신호를 바꾸어 주는 표본화(Sampling) 과정이고 다른 하나는 가능한 진폭의 수를 유한한 값으로 제한하기 위한 진폭 양자화(quantization) 과정이다.
최근 디지털 신호처리 기술의 발달에 의해, 기존의 아날로그 신호를 표본화/양자화 과정을 거쳐 디지털 신호인 PCM(Pulse Code Modulation) 데이터로 변환하고, CD(Compact Disc)와 DAT(Digital Audio Tape)와 같은 기록/저장 매체에 신호를 저장한 후 사용자가 필요 시에 저장된 신호를 다시 재생해서 들을 수 있는 기술이 개발되었다. 이런 디지털 방식에 의한 디지털 신호의 저장/복원 방식은 LP(Long-Play Record)와 Tape와 같은 아날로그 방식에 비해 음질의 향상과 저장 기간에 따른 열화를 극복하였으나 데이터의 크기가 상대적으로 크다.
이를 위해 디지털 음성 신호를 압축하기 위해 개발된 DPCM(Differential Pulse Code Modulation)이나 ADPCM(Adaptive Differential Pulse Code Modulation)등의 방법을 사용하여 데이터 양을 줄이려는 노력이 있었으나 신호의 종류에 따라 효율성이 크게 차이가 난다. 최근 ISO(International Standard Organization)에 의해 표준화 작업이 이루어진 MPEG/audio(Moving Pictures Expert Group)기법이나 Dolby에 의해 개발된 AC-2/AC-3 기법에서는 인간의 심리음향 모델(Psychoacoustic Model)를 이용하여 데이터의 양을 줄이는 방법이 제안되었고, 이러한 방법은 신호의 특성에 관계없이 효율적으로 데이터의 양을 줄일 수 있다.
MPEG-1/audio, MPEG-2/audio나 AC-2/AC-3 등과 같은 기존의 오디오 신호 압축 기법에서는 시간영역의 신호를 일정한 크기의 블록(block)으로 구분하여 주파수 영역의 신호로 변환한다. 그리고 이 변환된 신호를 인간의 심리음향 모델(Psychoacoustic Model)를 이용하여 스칼라(scalar) 양자화를 한다. 이런 양자화 기법은 단순하지만 입력 샘플이 통계적으로 독립적이라고 하더라도 최적화된 것은 아니다. 입력 샘플이 통계적으로 종속적이라면 더욱 그러하다. 따라서, 엔트로피(Entropy) 부호화와 같은 무손실 부호화나 어떤 종류의 적응 양자화를 포함하여 부호화를 수행한다. 이러한 방법은, 단순한 PCM 데이터만을 저장하던 방식보다는 상당히 복잡한 신호 처리 과정을 필요로 하고, 부호화된 비트스트림은 양자화된 PCM 데이터뿐만 아니라 신호를 압축하기 위한 부가적인 정보들을 포함한다.
MPEG/audio 표준이나 AC-2/AC-3 방식은 기존의 디지털 부호화에 비해 1/6내지 1/8로 줄어든 64Kbps-384Kbps의 비트율로 컴팩트디스크(Compact Disc) 음질과 거의 같은 정도의 음질을 제공할 수 있고, 향후 MPEG/audio 표준은 DAB(Digital Audio Broadcasting), internet phone, AOD(Audio on Demand)와 멀티미디어 시스템과 같은 오디오 신호의 저장과 전송에 중요한 역할을 할 것으로 예상된다.
본 발명의 일실시예에 따르면, MPEG-D USAC 방식에 부가정보를 삽입하는 MPEG-D USAC 부호화/복호화 방법 및 장치가 제공된다.
본 발명의 일실시예에 따르면, MPEG-D USAC에 의해 부호화된 오디오 데이터의 부가정보 삽입여부 판별 방법이 제공된다.
본 발명의 일실시예에 따르면, MPEG-D USAC 방식에 부가정보를 삽입하여 오디오 콘텐트에 대한 메타 데이터나 음질을 개선하여 차별화된 서비스가 가능하다.
본 발명의 일실시예에 따르면, MPEG-D USAC의 확장 용이성을 제공한다.
도 1은 ID3v1의 비트스트림 구조의 일례가 도시된 도면이다.
도 2는 본 발명의 일실시예에 따른 오디오 신호 또는 스피치 신호의 부호화기를 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 오디오 신호 또는 스피치 신호의 부호화기에서 수행되는 부호화 방법의 일례가 도시된 흐름도이다.
도 4는 본 발명의 일실시예에 따른 오디오 신호 또는 스피치 신호의 부호화기를 도시한 블록도이다.
도 5는 본 발명의 일실시예에 따른 오디오 신호 또는 스피치 신호의 복호화기에서 수행되는 복호화 방법의 일례가 도시된 흐름도이다.
MPEG-2/4 AAC (ISO/IEC 13818-7, ISO/IEC 14496-3)의 경우에는 data_stream_element(), fill_element()와 같이 부가정보를 저장할 수 있는 구문(syntax)이 정의되어 있다. MPEG-1 layer-III(mp3)의 경우에는 ancillary data 라는 것이 정의되어 있고, 프레임 정보 중간에 오디오 신호에 대한 부가정보를 저장할 수 있다. ID3v1이 그 대표적인 예이다. 도 1에는 ID3v1의 비트스트림 구조의 일례가 도시되어 있다.
멀티미디어 시대가 도래함과 더불어, 가변 비트율을 지원하는 여러 종류의 부호화기가 요구되고 있다. 가변 비트율을 지원하는 부호화기일지라도 네트워크 채널의 대역폭이 고정된 경우에는 고정 비트율로 전송한다. 이런 경우에 프레임 별로 사용된 비트수가 다르게 되면, 고정 비트율로 전송이 불가능하기 때문에 이를 방지하기 위해서 추가적인 비트정보를 전송한다. 또한, 여러 개의 프레임을 묶어서 1개의 payload로 전송하는 경우에는 여러 개의 프레임을 가변 비트율로 생성할 수 있다. 다만, 이 경우에도 네트워크 채널의 대역폭이 고정된 경우에는 고정 비트율로 전송하여야 하고, 이 때 1개 payload를 고정 비트율로 전송하는 기능이 필요하다. 따라서, 이를 위해 추가적인 비트 정보를 전송한다.
현재 표준화가 진행되고 있는 MPEG-D USAC의 구문(syntax)에는 부가정보를 제공할 수 있는 구문(syntax)이 정의되어 있지 않다. 아래의 [구문 1]을 참조하면, USAC 구문(syntax)의 상위레벨 payload에 대한 정의가 기술되어 있다.
Figure PCTKR2010000631-appb-I000001
[구문 1]
Figure PCTKR2010000631-appb-I000002
위에서 정의된 내용은 MPEG-D USAC에서 현재 논의하고 있는 구문과 동일하다.
이와 같이, USAC의 경우 상위레벨 payload 구문(syntax)에는 부가정보를 삽입할 수 있는 구문(syntax)이 정의되어 있지 않으므로, 현재 진행 중인 표준에 의하면 부가정보를 삽입하는 것이 불가능하다.
도 2는 본 발명의 일실시예에 따른 오디오 신호 또는 스피치 신호의 부호화기를 도시한 블록도이다.
도 2에 도시된 본 발명의 일실시예에 따른 오디오 신호 또는 스피치 신호의 부호화기에서, 저주파수 대역의 신호는 코어(core) 부호화기로 코딩되고, 고주파수 대역의 신호는 enhanced SBR(eSBR)(203)을 이용하여 부호화 되며, 스테레오 부분은 MPEG surround(MPEGS)(2102)로 부호화될 수 있다.
저주파수 대역 신호의 부호화를 수행하는 코어(core) 부호화기는 주파수 도메인 코딩(frequency domain coding; FD)과 선형 예측 도메인 코딩(LP domain coding, Linear Prediction, LPD)의 2가지 부호화 모드로 동작할 수 있다. 이 중 선형 예측 도메인 코딩은 ACELP(Algebraic Code Excitation Linear Prediction) 와 TCX(Transform Coded Excitation)의 2가지 코딩 모드로 구성될 수 있다.
저주파수 대역 신호의 부호화를 수행하는 코어(core) 부호화기(202, 203)는 신호 분류기(Signal Classifier)(201)를 통하여 신호에 따라 주파수 도메인 부호화기(210)를 사용하여 부호화 할 지 아니면, 선형 예측 부호화기(205)를 사용하여 부호화 할지를 선택할 수 있다. 예를 들어, 음악 신호와 같은 오디오 신호는 주파수 도메인 부호화기(210)에서 부호화하는 것으로 스위칭하고, 스피치(음성) 신호는 선형 예측 도메인 부호화기(205)에서 부호화하는 것으로 스위칭할 수 있다. 스위칭된 부호화 모드 정보는 비트스트림에 저장된다. 주파수 도메인 부호화기(210)로 스위칭된 경우에는 주파수 도메인 부호화기(210)를 통해 부호화를 수행한다.
주파수 도메인 부호화기(110)는 블록 스위칭/필터 뱅크 모듈(111)에서 신호에 적합한 윈도우 길이에 따라 변환(transform)을 수행한다. 상기 변환에는 MDCT(Modified Discrete Cosine Transform)가 사용될 수 있다. MDCT는 critically sampled transform으로서, 50% 오버랩을 수행하며 변환을 수행하고 윈도우 길이의 절반 길이에 해당되는 주파수 계수를 생성한다. 예를 들어 주파수 도메인 부호화기(110)에서 사용되는 1개 프레임의 길이는 1024이고, 1024의 2배 길이 2048 샘플 길이의 윈도우를 사용할 수 있다. 또한 1024 샘플을 8개로 나누어 256 윈도우 길이의 MDCT를 8번 수행할 수도 있다. 또한 코어 부호화 모드의 변환에 따라서는 2304 윈도우 길이를 사용해서 1152 주파수 계수를 생성할 수 있다.
변환된 주파수 도메인 데이터는 필요에 따라 TNS(Temporal Noise Shaping)(212)가 적용될 수 있다. TNS(212)는 주파수 도메인에서 선형 예측을 수행하는 방식으로서, 시간 특성과 주파수 특성의 Duality 관계에 의해서 attack이 강한 신호에 주로 사용될 수 있다. 예를 들어 시간 도메인에서 attack이 강한 신호는 상대적으로 주파수 도메인에서 flat한 신호로 표현될 수 있고, 이러한 신호를 선형 예측을 수행하면 코딩 효율을 높일 수 있다.
TNS(212)로 처리된 신호가 스테레오일 경우에 Mid Side(M/S) 스테레오 코딩(213)이 적용될 수 있다. 스테레오 신호를 Left와 Right 신호로 그대로 코딩을 수행하면 압축 효율이 떨어지는 경우가 있는데, 이러한 경우에는 Left와 Right 신호의 합과 차로 표현함으로써, 신호를 압축 효율이 높은 신호로 변환하여 코딩할 수 있다.
주파수 변환, TNS, M/S가 적용된 신호는 양자화(quantization)를 수행하는데, 양자화는 통상 스칼라 양자화기가 사용될 수 있다. 이 때 스칼라 양자화를 주파수 전 대역에 대해서 동일하게 적용하면, 양자화된 결과의 dynamic range가 너무 크기 때문에 양자화 특성이 열화될 가능성이 있다. 이를 방지하기 위해서 주파수 대역을 심리 음향 모델(204)에 근거하여 분할하는데, 이를 스케일 팩터 밴드(scale factor band)라고 정의한다. 스케일 팩터 밴드 각각에 대해 스케일링 정보를 보내주며, 심리 음향 모델(204)에 근거하여 비트 사용량을 고려하여 스케일링 팩터를 계산하면서 양자화를 수행할 수 있다. 양자화 된 데이터 중에 0으로 양자화 된 경우는 복호화를 수행하더라도 0으로 표현된다. 0으로 양자화된 데이터가 많을수록 복호화된 신호의 왜곡이 생길 가능성이 높아지며, 이를 방지하기 위해서 복호화 시에 노이즈를 부가해 주는 기능이 수행될 수 있다. 이를 위해서 부호화기에서는 노이즈에 대한 정보를 생성해서 전송할 수 있다.
양자화된 데이터는 무손실 부호화를 수행하는데, 무손실 부호화기(220)로는 context arithmetic coding이 사용될 수 있으며, 이전 프레임의 스펙트럼 정보와 현재까지 복호화된 스펙트럼 정보를 context로 사용하여 무손실 부호화를 수행한다. 무손실 부호화된 스펙트럼 정보는 이전에 계산된 스케일링 팩터 정보, 노이즈 정보, TNS 정보, M/S 정보 등과 같이 비트스트림에 저장된다.
코어 부호화기에서 선형 예측 도메인 부호화기(205)로 스위칭된 경우, 하나의 수퍼프레임을 복수 개의 프레임으로 분할하여 각 프레임의 부호화 모드를 ACELP(107) 혹은 TCX(106)로 선택하여 부호화가 수행될 수 있다. 예를 들어 1개의 수퍼프레임은 1024 샘플로, 1개의 수퍼프레임은 4개의 프레임 256 샘플로 구성할 수 있다. 주파수 도메인 부호화기(210)의 1개의 프레임과 선형 예측 도메인 부호화기(205)의 1개의 수퍼프레임은 동일한 길이로 구성할 수 있다.
ACELP와 TCX 중 부호화 모드를 선택하는 방식은 ACELP TCX의 부호화를 해본 후 SNR과 같은 측정 방식을 통해 선택하는 폐루프(closed loop) 방식이 있을 수 있고, 신호의 특성을 파악하여 결정하는 개루프(open loop) 방식이 있을 수 있다.
TCX 기술은 선형 예측 되고, 남은 여기 신호에 대해 주파수 도메인으로 변환하여 주파수 도메인에서 압축을 수행한다. 주파수 도메인으로 변환하는 방식은 MDCT가 사용될 수 있다.
도 2에 도시된 비트스트림 다중화기(bitstream multiplexer)는 도 3에 도시된 방법으로 비트스트림을 저장할 수 있다. 이하 도 3을 참조하여, 본 발명의 일실시예에 따른 비트스트림 저장 방법을 상세하게 설명한다.
도 3을 참조하면, 비트스트림에는 코어 부호화의 채널 정보, 사용된 tool의 정보, 사용된 tool의 비트스트림 정보, 부가정보의 부가가 필요한지 여부, 부가 정보의 종류 등의 정보 중 하나 이상의 정보가 저장된다.
본 발명의 일실시예에 따르면, 상기 정보 저장은, 코어 부호화 정보 저장(301), eSBR 정보 저장(305), MPEGS 정보 저장(306), 부가 정보 저장(307)의 순서로 수행될 수 있다. 이 중, 코어 부호화 정보는 디폴트(default)로 저장(307)될 수 있고, eSBR 정보, MPEGS 정보 및 부가 정보와 관련된 정보는 선택적으로 저장될 수 있다.
상술한 정보를 저장하기 위해 본 발명의 일실시예에 따른 부호화 방법에서는 각 정보를 저장하기 전에 해당 툴이 사용되었는지 여부를 판단한다. 단계(302)에서는 eSBR 툴이 사용되었는지 여부를 판단하고(302), 단계(303)에서는 MPEGS 툴이 사용되었는지 여부를 판단하며, 단계(304)에서는 부가정보 포함이 필요한지 여부에 대해 판단한다.
도 3에 도시된 방법에 따라 각 정보가 저장된 비트스트림이 출력된다.
이하, 본 발명의 일실시예에 따른 부가정보 삽입 방식을 상세히 설명한다.
[실시예 1]
부가정보가 있는 경우, 필요한 부가정보의 비트 수만큼 부가정보 비트를 추가할 수 있다. 이 경우 모든 부호화 tool에 대한 정보를 저장한 후, 바이트 정렬(byte align)이 수행된 후에 처리될 수 있다. 또한. 바이트 정렬(byte align)이 수행되기 이전에 부가정보의 비트 수만큼 부가정보 비트를 추가하는 것도 가능하다. 부가정보 비트는 0으로 설정하여 추가될 수도 있고, 1로 설정하여 추가될 수도 있다.
[실시예 2]
위에서 설명한 [실시예 1]과 유사하게, 부가정보가 있는 경우, 필요한 부가정보의 비트 수만큼 부가정보 비트를 추가할 수 있다. 이 경우 모든 부호화 tool에 대한 정보를 저장한 후, 바이트 정렬(byte align)이 수행된 후에 처리될 수 있다. 또한. 바이트 정렬(byte align)이 수행되기 이전에 부가정보의 비트 수만큼 부가정보 비트를 추가하는 것도 가능하다. 부가정보가 필요한지 여부에 대한 판단은, 모든 부호화 tool에 대한 정보를 저장한 후 byte align을 수행한 경우 그 이후에 추가 저장할 비트가 있는지 여부로 판단할 수 있다. 또한, 바이트 정렬(byte align)이 수행되기 이전에 부가정보의 비트 수만큼 부가정보 비트를 추가한 경우, 바이트 정렬(byte align)을 고려하여 판단하되 잔존(residual) 비트가 7 비트를 넘는 경우에 부가정보가 있다고 판단할 수 있다.
부가정보 비트는 부가되는 비트 수를 추가적으로 전송한다. 비트 수는 바이트 단위로 표현되고, 부가정보의 양과 부가정보의 종류 및 길이정보를 포함한 비트 수를 바이트로 환산했을 때, (1) 14 바이트를 넘지 않는 경우는, 4 비트로 바이트 크기를 표현하고, (2) 15 바이트 이상인 경우, 4 비트 정보에는 15를 저장하고, 추가 8 비트를 사용해서 부가정보의 전체 바이트 수에서 15를 뺀 값을 표현한다. 길이정보를 저장한 후, 추가로 4 비트를 사용하여 부가정보의 종류를 표현하고, 8 비트씩 저장할 수 있다. 예를 들어 EXT_FILL_DAT(0000)일 경우, 특정 비트 10100101의 8 비트를 순차적으로 추가될 비트 수만큼 저장할 수 있다.
예를 들어, 부가정보가 14 바이트이고, 부가정보의 종류가 EXT_FILL_DAT인 경우, 14 바이트와 길이정보 4 비트 및 부가정보의 종류정보의 합을 계산하면 15 바이트가 된다. 이 경우에는 14 바이트가 넘으므로, 길이정보는 4 비트와 8 비트의 합인 12 비트로 표현될 수 있고, 총 길이정보는 16이 되므로 16을 저장한다. 처음 1111의 4 비트를 먼저 저장하고, 16에서 15를 뺀 1을 00000001의 8 비트로 저장하며, 부가정보의 종류인 EXT_FILL_DAT(0000)을 4 비트로 저장하고, 총 14번 10100101 값을 저장한다. 추가적으로 다른 부가정보도 저장할 수 있도록 확장될 수 있다. EXT_FILL_DAT는 다른 문장으로 표현될 수 있고, 부가 정보의 종류를 표현하는 문장을 선택할 수 있다.
도 4는 본 발명의 일실시예에 따른 오디오 신호 또는 스피치 신호의 복호화기를 도시한 블록도이다.
도 4를 참조하면 본 발명의 일실시예에 따른 복호화기는 비트스트림 역다중화기(401), 산술 복호화부(402), 필터 뱅크(403), 시간 도메인 복호화부(ACELP)(404), 트랜지션 윈도우부(405, 407), LPC(406), Bass Postfilter(408), eSBR(409), MPEGS 복호화부(420), M/S(411), TNS(412), 블록 스위칭/필터 뱅크(413)를 포함한다. 도 4에 예시된 복호화기는 도 2에 도시된 부호화기 또는 도 3에 도시된 부호화 방법에 의해 부호화된 오디오 신호 또는 스피치 신호를 복호화한다.
도 4에 도시된 복호화기의 동작은 도 2에 도시된 부호화기의 역순으므로 이하 자세한 설명은 생략한다.
도 5는 본 발명의 일실시예에 따른 비트스트림 역다중화기(demultiplexer)의 동작 방법을 도시한 흐름도이다.
도 5를 참조하면, 본 발명의 일실시예에 따른 역다중화기는 도 3에서 설명한 코어 부호화의 채널 정보 및 각 부호화 툴의 사용 여부 정보를 포함하는 비트스트림을 입력 받는다. 수신된 코어 부호화의 채널 정보를 바탕으로 코어 복호화를 수행(501)하고, eSBR이 사용된 경우(502)에는 eSBR 복호화를 수행(505)하며, MPEGS 툴이 사용된 경우(503)에는 MPEGS 툴을 복호화(506)한다. 수신된 비트스트림에 도 3을 참조하여 설명한 부가정보가 포함된 경우(504)에는 부가정보를 추출(507)하여 최종 복호화된 신호를 생성한다.
아래의 [구문 2]는 부가된 정보를 추출하는 것을 포함하여 USAC payload를 파싱(parsing) 및 복호화하는 과정을 실행하기 위한 구문(syntax)의 일례이다. [구문 2]는 도 3을 참조하여 설명한 본 발명의 [실시예 1]에 따라 부호화된 USAC payload를 복호화하기 위한 구문의 일례이다.
Figure PCTKR2010000631-appb-I000003
[구문 2]
channelConfiguration은 코어 부호화 된 채널의 개수를 의미한다. 이 channelConfiguration을 바탕으로 코어 부호화를 수행하고, eSBR이 사용되었는지를 의미하는 "sbrPresentFlag>0" 여부를 판단하여 eSBR 복호화를 수행한다. 또한, MPEGS가 사용되었는지를 의미하는 "mpegsMuxMode >0" 여부를 판단하여 MPEGS 복호화를 수행한다. 3가지 툴에 대한 복호화(경우에 따라서는 1개 또는 2개:eSBR, MPEGS가 사용되지 않은 경우도 포함됨)가 완료되고, 바이트 정렬(byte align)을 위해 추가 비트가 필요한 경우 비트스트림에서 추가 비트를 읽어준다. 위에서 설명한 것과 같이, 바이트 정렬(Byte align)이 부가정보를 읽기 전에 수행되는 것에 국한되지는 않고, 부가정보를 읽은 이후에 수행될 수도 있다.
위의 과정 이후에도 잔존(residual) 비트가 남아 있는 경우, 부가정보가 포함되어 있다고 판단할 수 있고, 잔존 비트만큼 부가 정보를 읽어준다. 위의 구문 일례에서, bits_to_decode()은 비트스트림에 남아 있는 비트 수를 표시하는 함수이고, read_bits()은 복호화기가 비트스트림에서 입력 비트수 만큼 읽어주는 함수이다. mpegsMuxMode는 아래의 테이블에 따라 MPEGS 페이로드 존재 여부를 나타낸다. 아래 [테이블 1]에는 mpegsMuxMode 값의 일례가 도시되어 있다.
Figure PCTKR2010000631-appb-I000004
[테이블 1]
아래의 [구문 3]은 본 발명의 일실시예에 따른, 부가된 정보를 추출하는 것을 포함하여 USAC payload를 파싱 및 복호화 하는 과정을 나타내는 구문이다. [구문 3]은 도 3을 참조하여 설명한 본 발명의 [실시예 2]에 따라 부호화된 USAC payload를 복호화하기 위한 구문의 일례이다.
Figure PCTKR2010000631-appb-I000005
[구문 3]
[구문 2]의 예에서 상술한 바와 같이, channelConfiguration은 코어 부호화 된 채널의 개수를 의미한다. 이 channelConfiguration을 바탕으로 코어 부호화를 수행하고, eSBR이 사용되었는지를 의미하는 "sbrPresentFlag>0" 여부를 판단하여 eSBR 복호화를 수행한다. 또한, MPEGS가 사용되었는지를 의미하는 "mpegsMuxMode >0" 여부를 판단하여 MPEGS 복호화를 수행한다. 3가지 툴에 대한 복호화(경우에 따라서는 1개 또는 2개, 즉 eSBR, MPEGS가 사용되지 않은 경우도 포함됨)가 완료되고, 바이트 정렬(byte align)을 위해 추가 비트가 필요한 경우 비트스트림에서 추가 비트를 읽어준다. 위에서 설명한 것과 같이, 바이트 정렬(Byte align)이 부가정보를 읽기 전에 수행되는 것에 국한되지는 않고, 부가정보를 읽은 이후에 수행될 수도 있다.
위의 과정 이후에도 잔존(residual) 비트가 남아 있는 경우, 부가정보가 포함되어 있다고 판단할 수 있고, 잔존 비트만큼 부가 정보를 읽어준다. 부가정보의 존재 여부의 판단은 위에서 설명한 바와 같이, 잔존 비트가 4 비트보다 큰 경우로 판단 할 수도 있으나 실현될 수 대부분의 오디오 부호화 및 복호화기에서는 payload가 바이트 정렬(byte align)이 되어 있기 때문에 0,8,.. 비트와 같이 표현될 가능성이 높다. 따라서 항상 4 보다 큰 경우만으로 한정되지는 않고, 0~7 사이의 아무 값도 적용될 수 있다.
부가정보를 추출하는 방법에 대해 상세히 설명한다. 부가정보가 포함되어 있다고 판단된 경우, 4 비트를 사용해서 길이정보를 읽고, 길이정보가 15인 경우에는 추가적으로 8 비트를 더 읽어서 앞서 읽은 정보에 더한 후 1을 빼서 길이정보를 표현한다.
길이정보를 읽은 후에 부가정보의 종류를 4 비트를 사용해서 읽고, 읽은 4 비트가 EXT_FILL_DAT(0000)일 경우에는 상술한 방법으로 표현된 길이정보만큼의 바이트를 읽는다. 이 경우 읽은 바이트는 특정 값으로 설정될 수 있고, 특정 값이 아닌 경우에는 복호화 오류로 판단하도록 구현될 수 있다. EXT_FILL_DAT는 다른 문장으로 표현될 수 있고, 부가 정보의 종류를 표현하는 문장을 선택할 수 있다. 또한 향후 적용가능한 확장 실시예로서, 다른 종류의 부가정보가 부가될 수도 있다. 본 명세서에는 설명의 편의를 위해 EXT_FILL_DAT를 0000으로 정의하였다.
본 발명의 또 다른 일실시예에 의하면, 상기 기술된 부가정보를 표현하는 구문은 아래의 [구문 4]와 [구문 5] 또는 [구문 4]와 [구문 6]으로 표현될 수 있다.
Figure PCTKR2010000631-appb-I000006
[구문 4]
Figure PCTKR2010000631-appb-I000007
[구문 5]
Figure PCTKR2010000631-appb-I000008
[구문 6]
본 발명의 또 다른 실시예에 따르면, 위의 [구문 5] 및 [구문 6]의 부가정보의 종류는 아래의 [구문 7]에 예시된 것과 같이 다른 종류가 추가될 수 있다. 즉, 상술한 [구문 4]와 아래의 [구문 7]의 조합을 통해 본 발명의 또 다른 일실시예를 구현하는 것이 가능하다.
Figure PCTKR2010000631-appb-I000009
[구문 7]
[구문 7]에서 사용된 용어는 아래와 같이 정의될 수 있다.
Figure PCTKR2010000631-appb-I000010
위의 [구문 7]은 EXT_DATA_ELEMENT가 추가된 형태인데, data_element_version을 사용해서 EXT_DATA_ELEMENT의 종류를 정의할 수 있고, ANC_DATA와 다른 데이터로 표현될 수 있다. 위의 [구문 7]은 일례로서, 아래의 [테이블 2]에는 설명의 편의를 위해 ANC_DATA에 0000을 할당하고, 나머지 다른 데이터에 대한 정의는 할당되어 있지 않은 실시예가 도시되어 있다.
Figure PCTKR2010000631-appb-I000011
[테이블 2]
또한, [구문 7]에 포함된 Extension_type은 아래의 [테이블 3]와 같이 정의될 수 있다.
Figure PCTKR2010000631-appb-I000012
[테이블 3]
부가 정보를 복원하는 다른 구현 예로는 오디오 헤더에서 부가정보를 복원하고 이를 기반하여 각 오디오 프레임 별로 부가정보를 획득하는 방법이 있다. 오디오 헤더정보인 USACSpecificConfig()에서는 기존의 미리 정해진 구문(syntax)에 의해 헤더정보를 복원하고 바이트 정렬(byte align) 이후에 부가정보 USACExtensionConfig()를 복원한다.
상기 테이블은 USACSpecificConfig(), 즉 오디오 헤더 정보를 나타내는 구문의 일례이다. USACSpecificConfig()에서는 부가정보(USACExtNum)의 개수를 0으로 초기화한다. 잔존 비트가 8 비트 이상이면 4 비트 부가정보의 종류(bsUSACExtType)를 복원하고, 이에 따른 USACExtType을 결정한 뒤에 USACExtNum를 1만큼 증가시킨다. 4 비트의 bsUSACExtLen을 통해 부가정보의 길이를 복원한다. 만일 bsUSACExtLen의 길이가 15일 경우, 8 비트의 bsUSACExtLenAdd로 길이를 복원하고, 길이가 15+255보다 클 경우에는 16 비트의 bsUSACExtLenAddAdd를 통해 최종 길이를 복원한다. 주어진 부가정보의 종류(bsUSACExtType)에 따라 부가정보를 복원하고 남는 비트를 계산한 뒤에 fill bits로 나머지 비트를 전송하여 부가정보 길이에 맞는 비트스트림을 복원한 뒤에 종료한다. 이 과정은 잔존 비트가 남을 때까지 반복되고, 이를 통해 부가정보를 복원한다.
bsUSACExtType은 부가정보가 프레임별 복원되는 부가정보 USACExtensionFrame()가 전송될 지 아니면 부가정보가 헤더에만 전송되는지 알려주는지를 정의한다.
Figure PCTKR2010000631-appb-I000014
상기 테이블은 USACExtensionConfig() 구문의 일례이다.
Figure PCTKR2010000631-appb-I000015
상기 테이블은 bsUSACExtType의 정의를 보여 준다.
오디오 헤더를 복원한 뒤에 각 오디오 프레임에서는 다음과 같이 부가정보를 복원한다. 오디오 데이터를 복원하는 과정에서 바이트 정렬(byte align) 후에 USACExtensionFrame()를 복원한다.
Figure PCTKR2010000631-appb-I000016
USACExtensionFrame()에서는 헤더에서 복원된 부가정보의 종류(USACExtType) 및 부가정보의 개수(USACExtNum)에 의해 어떤 부가정보가 복원되어야 하는지 알고 있으며, 이에 따라 다음과 같이 부가정보 복원을 수행한다. 부가정보의 종류(bsUSACExtType)에 따라 헤더에서 복원된 부가정보를 이용하여 프레임별로 해당 부가정보를 복원한다. USACExtType[ec]가 8보다 작은지에 대한 여부는 상기 bsUSACExtType에 의해 부가정보가 프레임 별로 복원되는 부가정보인지 아닌지를 판단하는 기준이다. 실제 부가정보의 길이를 bsUSACExtLen와 bsUSACExtLenAdd에 의해 전송하고 해당 부가정보를 복원한다. 나머지 비트는 bsFillBits로 복원된다. 이 과정은 모든 부가정보의 개수(USACExtNum) 만큼 수행된다. USACExtensionFrameData()는 필 비트(fill bit) 또는 기존의 메타 데이터(meta data)가 전송될 수 있다.
Figure PCTKR2010000631-appb-I000017
상기 테이블은 USACExtensionFrame()의 구문의 일례를 보여 준다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
본 발명에 따른 오디오 신호의 부호화 및 복호화 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 신호 파일, 신호 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (25)

  1. 오디오 신호 또는 스피치 신호의 비트스트림에 코어 부호화 정보를 삽입하는 단계;
    부호화 툴(tool) 정보를 삽입하는 단계; 및
    부가 정보가 있는지 여부를 판단하여 상기 부가 정보가 있는 경우 부가 정보 비트를 삽입하는 단계
    를 포함하는 오디오 신호 또는 스피치 신호의 부호화 방법.
  2. 제1항에 있어서,
    상기 부가 정보 비트를 삽입하는 상기 단계는 상기 비트스트림에 대한 바이트 정렬(byte alignment) 이후에 수행되는 오디오 신호 또는 스피치 신호의 부호화 방법.
  3. 제1항에 있어서,
    상기 부가 정보 비트가 삽입된 상기 비트스트림에 대해 바이트 정렬을 수행하는 단계
    를 더 포함하는 오디오 신호 또는 스피치 신호의 부호화 방법.
  4. 제1항에 있어서,
    상기 부호화 툴 정보는 eSBR 정보 및 MPEG Surround 정보를 포함하는 오디오 신호 또는 스피치 신호의 부호화 방법.
  5. 제1항에 있어서,
    상기 부가 정보 비트는 상기 부가 정보의 종류 및 상기 부가 정보의 길이 정보를 포함하는 오디오 신호 또는 스피치 신호의 부호화 방법.
  6. 제5항에 있어서,
    상기 부가 정보 비트가 14 바이트 미만인 경우 4 비트로 바이트 크기를 표현하는 오디오 신호 또는 스피치 신호의 부호화 방법.
  7. 제5항에 있어서,
    상기 부가 정보 비트가 15 바이트 이상인 경우 4 비트로 15를 표현하고, 추가 8 비트를 이용하여 상기 부가 정보의 전체 바이트 크기에서 15를 뺀 값을 표현하는 오디오 신호 또는 스피치 신호의 부호화 방법.
  8. 제1항 내지 제7항 중 어느 하나의 항에 있어서,
    상기 부가 정보 비트는 USAC(Unified Speech and Audio Coding) 페이로드(payload)에 포함되는 오디오 신호 또는 스피치 신호의 부호화 방법.
  9. 제1항 내지 제7항 중 어느 하나의 항의 방법이 수행되는 비트스트림 멀티플렉서(multiplexer)를 포함하는 오디오 신호 또는 스피치 신호의 부호화기.
  10. 오디오 신호 또는 스피치 신호의 비트스트림에 포함된 코어 부호화 정보를 읽어 코어 복호화를 수행하는 단계;
    상기 비트스트림에 포함된 부호화 툴(tool) 정보를 읽어 복호화를 수행하는 단계; 및
    부가 정보가 있는지 여부를 판단하여 상기 부가 정보가 있는 경우 부가 정보 비트를 읽어 복호화 신호를 생성하는 단계
    를 포함하는 오디오 신호 또는 스피치 신호의 복호화 방법.
  11. 제10항에 있어서,
    상기 부가 정보 비트를 읽어 상기 복호화 신호를 생성하는 상기 단계는 상기 비트스트림에 대한 바이트 정렬(byte alignment) 이후에 수행되는 오디오 신호 또는 스피치 신호의 복호화 방법.
  12. 제10항에 있어서,
    상기 부가 정보 비트를 읽고, 상기 비트스트림에 대해 바이트 정렬을 수행하는 단계
    를 더 포함하는 오디오 신호 또는 스피치 신호의 복호화 방법.
  13. 제10항에 있어서,
    상기 부호화 툴 정보는 eSBR(enhanced Spectral Band Replication) 정보 및 MPEG Surround 정보를 포함하는 오디오 신호 또는 스피치 신호의 복호화 방법.
  14. 제10항에 있어서,
    상기 부가 정보 비트는 USAC 페이로드(payload)에 포함되는 오디오 신호 또는 스피치 신호의 복호화 방법.
  15. 제10항 내지 제14항 중 어느 하나의 항의 방법이 수행되는 비트스트림 디멀티플렉서(demultiplexer)를 포함하는 오디오 신호 또는 스피치 신호의 복호화기.
  16. 제10항에 있어서,
    상기 부가 정보가 있는지 여부의 판단은 상기 바이트 정렬 이후 추가 저장할 비트가 있는지 여부로 판단하는 오디오 신호 또는 스피치 신호의 복호화 방법.
  17. 제10항에 있어서,
    상기 부가 정보가 있는지 여부의 판단은 상기 바이트 정렬 시 잔존 비트가 7 비트 이상인지 여부로 판단하는 오디오 신호 또는 스피치 신호의 복호화 방법.
  18. 제10항에 있어서,
    상기 부가 정보 비트는 상기 부가 정보의 종류 및 상기 부가 정보의 길이 정보를 포함하는 오디오 신호 또는 스피치 신호의 복호화 방법.
  19. 비트스트림의 헤더에서 복호화하기 위한 부가정보를 복원하되, 잔존비트가 있는 경우 상기 비트스트림의 상기 헤더에서 상기 부가정보의 종류 및 상기 부가정보의 개수를 포함한 부가정보를 복원하는 단계;
    상기 비트스트림에 포함된 코어 부호화 정보를 읽어 코어 복호화를 수행하는 단계;
    상기 헤더로부터 복원된 상기 부가정보를 참조하되, 프레임 별로 상기 부가정보를 복원하는 단계
    를 포함하는 오디오 신호 또는 스피치 신호의 복호화 방법.
  20. 제19항에 있어서,
    상기 비트스트림에 대해 바이트 정렬을 수행하는 단계
    를 더 포함하는 오디오 신호 또는 스피치 신호의 복호화 방법.
  21. 제20항에 있어서,
    상기 바이트 정렬을 수행하는 단계는 상기 코어 복호화를 수행하는 상기 단계 이전에 수행되는 오디오 신호 또는 스피치 신호의 복호화 방법.
  22. 제19항에 있어서,
    상기 부가정보의 종류는 상기 프레임 별로 상기 부가정보가 전송되는지 여부에 대한 정보를 포함하는 오디오 신호 또는 스피치 신호의 복호화 방법.
  23. 제19항에 있어서,
    상기 프레임 별로 복원된 상기 부가정보는 상기 헤더에서 복원된 상기 부가정보의 종류에 따라 복원되는 오디오 신호 또는 스피치 신호의 복호화 방법.
  24. 제19항에 있어서,
    상기 부가정보의 비트는 USAC 페이로드(payload)에 포함되는 오디오 신호 또는 스피치 신호의 복호화 방법.
  25. 제19항 내지 제24항 중 어느 하나의 항의 방법이 수행되는 비트스트림 디멀티플렉서(demultiplexer)를 포함하는 오디오 신호 또는 스피치 신호의 복호화기.
PCT/KR2010/000631 2009-02-03 2010-02-02 오디오 신호의 부호화 및 복호화 방법 및 그 장치 WO2010090427A2 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/254,120 US20120065753A1 (en) 2009-02-03 2010-02-02 Audio signal encoding and decoding method, and apparatus for same
EP10738711.0A EP2395503A4 (en) 2009-02-03 2010-02-02 METHOD FOR CODING AND DECODING A BEEP SIGNAL AND DEVICE THEREFOR
CN2010800140806A CN102365680A (zh) 2009-02-03 2010-02-02 音频信号的编码和解码方法及其装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20090008616 2009-02-03
KR10-2009-0008616 2009-02-03
KR10-2010-0009369 2010-02-02
KR1020100009369A KR20100089772A (ko) 2009-02-03 2010-02-02 오디오 신호의 부호화 및 복호화 방법 및 그 장치

Publications (2)

Publication Number Publication Date
WO2010090427A2 true WO2010090427A2 (ko) 2010-08-12
WO2010090427A3 WO2010090427A3 (ko) 2010-10-21

Family

ID=42755613

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2010/000631 WO2010090427A2 (ko) 2009-02-03 2010-02-02 오디오 신호의 부호화 및 복호화 방법 및 그 장치

Country Status (5)

Country Link
US (1) US20120065753A1 (ko)
EP (1) EP2395503A4 (ko)
KR (1) KR20100089772A (ko)
CN (1) CN102365680A (ko)
WO (1) WO2010090427A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103703511A (zh) * 2011-03-18 2014-04-02 弗兰霍菲尔运输应用研究公司 定位在表示音频内容的比特流的帧中的帧元素
CN109273014A (zh) * 2015-03-13 2019-01-25 杜比国际公司 解码具有增强的频谱带复制元数据的音频位流

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101153819B1 (ko) * 2010-12-14 2012-06-18 전자부품연구원 오디오 처리 장치 및 방법
CA3111501C (en) * 2011-09-26 2023-09-19 Sirius Xm Radio Inc. System and method for increasing transmission bandwidth efficiency ("ebt2")
CN102956233B (zh) * 2012-10-10 2015-07-08 深圳广晟信源技术有限公司 数字音频编码的附加数据的扩展结构及相应的扩展装置
FR3003682A1 (fr) * 2013-03-25 2014-09-26 France Telecom Mixage partiel optimise de flux audio codes selon un codage par sous-bandes
FR3003683A1 (fr) * 2013-03-25 2014-09-26 France Telecom Mixage optimise de flux audio codes selon un codage par sous-bandes
TWM487509U (zh) 2013-06-19 2014-10-01 杜比實驗室特許公司 音訊處理設備及電子裝置
CN109785851B (zh) 2013-09-12 2023-12-01 杜比实验室特许公司 用于各种回放环境的动态范围控制
FR3011408A1 (fr) * 2013-09-30 2015-04-03 Orange Re-echantillonnage d'un signal audio pour un codage/decodage a bas retard
US10403253B2 (en) * 2014-12-19 2019-09-03 Teac Corporation Portable recording/reproducing apparatus with wireless LAN function and recording/reproduction system with wireless LAN function

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100771620B1 (ko) * 2005-10-18 2007-10-30 엘지전자 주식회사 디지털 신호 전송 방법
KR100878766B1 (ko) * 2006-01-11 2009-01-14 삼성전자주식회사 오디오 데이터 부호화 및 복호화 방법과 장치
WO2007097550A1 (en) * 2006-02-23 2007-08-30 Lg Electronics Inc. Method and apparatus for processing an audio signal
US7873511B2 (en) * 2006-06-30 2011-01-18 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder and audio processor having a dynamically variable warping characteristic
KR101438387B1 (ko) * 2006-07-12 2014-09-05 삼성전자주식회사 서라운드 확장 데이터 부호화 및 복호화 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None
See also references of EP2395503A4

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103703511A (zh) * 2011-03-18 2014-04-02 弗兰霍菲尔运输应用研究公司 定位在表示音频内容的比特流的帧中的帧元素
TWI488178B (zh) * 2011-03-18 2015-06-11 Fraunhofer Ges Forschung 表示音訊內容之位元串流之訊框中的訊框元件定位技術
US9524722B2 (en) 2011-03-18 2016-12-20 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Frame element length transmission in audio coding
US9773503B2 (en) 2011-03-18 2017-09-26 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder and decoder having a flexible configuration functionality
US9779737B2 (en) 2011-03-18 2017-10-03 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Frame element positioning in frames of a bitstream representing audio content
CN109273014A (zh) * 2015-03-13 2019-01-25 杜比国际公司 解码具有增强的频谱带复制元数据的音频位流
CN109360576A (zh) * 2015-03-13 2019-02-19 杜比国际公司 解码具有增强的频谱带复制元数据的音频位流
CN109273014B (zh) * 2015-03-13 2023-03-10 杜比国际公司 解码具有增强的频谱带复制元数据的音频位流
CN109360576B (zh) * 2015-03-13 2023-03-28 杜比国际公司 解码具有增强的频谱带复制元数据的音频位流
US11664038B2 (en) 2015-03-13 2023-05-30 Dolby International Ab Decoding audio bitstreams with enhanced spectral band replication metadata in at least one fill element
US11842743B2 (en) 2015-03-13 2023-12-12 Dolby International Ab Decoding audio bitstreams with enhanced spectral band replication metadata in at least one fill element

Also Published As

Publication number Publication date
KR20100089772A (ko) 2010-08-12
EP2395503A4 (en) 2013-10-02
EP2395503A2 (en) 2011-12-14
CN102365680A (zh) 2012-02-29
US20120065753A1 (en) 2012-03-15
WO2010090427A3 (ko) 2010-10-21

Similar Documents

Publication Publication Date Title
WO2010090427A2 (ko) 오디오 신호의 부호화 및 복호화 방법 및 그 장치
CN1961351B (zh) 可缩放的无损音频编解码器和创作工具
JP3987582B2 (ja) ライスエンコーダ/デコーダを用いるデータ圧縮/拡張
WO2010008185A2 (en) Method and apparatus to encode and decode an audio/speech signal
WO2013058634A2 (ko) 에너지 무손실 부호화방법 및 장치, 오디오 부호화방법 및 장치, 에너지 무손실 복호화방법 및 장치, 및 오디오 복호화방법 및 장치
JP4056407B2 (ja) スケーラブル無損失オーディオ符号化/復号化装置及びその方法
KR100707177B1 (ko) 디지털 신호 부호화/복호화 방법 및 장치
KR100717600B1 (ko) 오디오 파일 포맷 변환
WO2010008175A2 (ko) 음성/오디오 통합 신호의 부호화/복호화 장치
BRPI0906619B1 (pt) Métodos para codificar áudio de multicanal, para decodificar um fluxo de áudio de multicanal de taxa de bit variável sem perda e para iniciar decodificação de um fluxo de bit de áudio de multicanal de taxa de bit variável, um ou mais meios legíveis por computador, um ou mais dispositivos semicondutores, e, decodificador de áudio de multicanal
JP2009536363A (ja) ロッシー符号化されたデータ・ストリームおよびロスレス拡張データ・ストリームを使用する、ソース信号のロスレス符号化を行う方法および装置
EP2228792A2 (en) Scalable lossless audio codec and authoring tool
KR20020002241A (ko) 디지털 오디오장치
KR100682915B1 (ko) 다채널 신호 부호화/복호화 방법 및 장치
Yang et al. A lossless audio compression scheme with random access property
WO2015037961A1 (ko) 에너지 무손실 부호화방법 및 장치, 신호 부호화방법 및 장치, 에너지 무손실 복호화방법 및 장치, 및 신호 복호화방법 및 장치
KR100300887B1 (ko) 디지털 오디오 데이터의 역방향 디코딩 방법
KR100928966B1 (ko) 저비트율 부호화/복호화방법 및 장치
WO2015034115A1 (ko) 오디오 신호의 부호화, 복호화 방법 및 장치
KR100349329B1 (ko) 엠펙-2 고품질 오디오 처리 알고리즘의 병렬 처리 방법
WO2014030938A1 (ko) 오디오 부호화 장치 및 방법, 오디오 복호화 장치 및 방법
JP4862136B2 (ja) 音声信号処理装置
KR100940532B1 (ko) 저비트율 복호화방법 및 장치
KR0130875B1 (ko) 펄스 코드 변조(pcm) 파형 오디오 및 엠팩(mpeg) 오디오 신호 재생장치
KR100247348B1 (ko) 엠펙 오디오 디코더에서 메모리 사이즈를 최소화하기 위한 회로 및 방법

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080014080.6

Country of ref document: CN

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

Ref document number: 10738711

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13254120

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2010738711

Country of ref document: EP