KR20170037660A - Determining a budget for lpd/fd transition frame encoding - Google Patents
Determining a budget for lpd/fd transition frame encoding Download PDFInfo
- Publication number
- KR20170037660A KR20170037660A KR1020177005825A KR20177005825A KR20170037660A KR 20170037660 A KR20170037660 A KR 20170037660A KR 1020177005825 A KR1020177005825 A KR 1020177005825A KR 20177005825 A KR20177005825 A KR 20177005825A KR 20170037660 A KR20170037660 A KR 20170037660A
- Authority
- KR
- South Korea
- Prior art keywords
- coding
- frame
- transition
- bits
- bit rate
- Prior art date
Links
- 230000007704 transition Effects 0.000 title claims abstract description 206
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000009826 distribution Methods 0.000 claims abstract description 30
- 238000001914 filtration Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 2
- 150000001875 compounds Chemical class 0.000 claims 1
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000012952 Resampling Methods 0.000 description 20
- 239000013598 vector Substances 0.000 description 17
- 230000003044 adaptive effect Effects 0.000 description 13
- 230000015572 biosynthetic process Effects 0.000 description 13
- 238000003786 synthesis reaction Methods 0.000 description 13
- 238000004458 analytical method Methods 0.000 description 8
- 230000009466 transformation Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 230000005284 excitation Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/24—Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/002—Dynamic bit allocation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/0212—Speech 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 using orthogonal transformation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명은 전이 프레임을 코딩하기 위한 비트들의 분포를 결정하는 방법에 관한 것이다. 상기 방법은 디지털 신호를 코딩/디코딩하기 위한 인코더/디코더에서 구현된다. 상기 전이 프레임은 예측 코딩된 선행 프레임에 선행된다. 상기 전이 프레임의 코딩은 상기 전이 프레임의 단일 서브 프레임의 변환 코딩 및 예측 코딩을 포함한다. 상기 방법은 - 상기 전이 서브 프레임의 예측 코딩을 위한 비트 레이트를 할당하되, 상기 비트 레이트는 제 1 미리 결정된 비트 레이트 값과 상기 전이 프레임을 변환 코딩하기 위한 상기 비트 레이트 사이의 최소 값과 동일한 단계(402; 405); - 상기 비트 레이트를 위한 상기 전이 서브 프레임을 예측 코딩하기 위하여 할당된 제 1 비트 수를 결정하는 단계(408, 408); 및 - 상기 전이 프레임 코딩을 위하여 가능한 비트 수와 상기 할당된 제 1 비트로부터, 상기 전이 프레임을 변환 코딩하기 위하여 할당된 제 2 비트 수를 계산하는 단계(410)를 포함한다The present invention relates to a method for determining the distribution of bits for coding a transition frame. The method is implemented in an encoder / decoder for coding / decoding a digital signal. The transition frame is preceded by a predictive coded preceding frame. The coding of the transition frame includes transform coding and predictive coding of a single sub-frame of the transition frame. The method comprising the steps of: - allocating a bit rate for predictive coding of the transition sub-frame, the bit rate being equal to a minimum value between a first predetermined bit rate value and the bit rate for transform coding the transition frame 402; - determining (408, 408) a first number of bits allocated for predicting the transition subframe for the bit rate; And - computing (410) the number of possible bits for the transition frame coding and the second number of bits allocated for transcoding the transition frame, from the assigned first bit
Description
본 발명은 디지털 신호를 코딩/디코딩하는 분야에 관한 것이다. The present invention relates to the field of coding / decoding digital signals.
음성 사운드를 낮은 비율(rate)로 효율적으로 코딩하기 위해, CLEP(“코드 여기 선형 예측(Code Excited Linear Prediction)”) 기술이 권장된다. 음악 사운드를 효과적으로 코딩하기 위해, 변환 코딩 기술이 권장된다.In order to efficiently code speech sounds at a low rate, CLEP (" Code Excited Linear Prediction ") technology is recommended. To effectively code music sounds, transcoding techniques are recommended.
CELP 유형 인코더는 예측 코더이다. 이들의 목표는 다양한 요소: 음성 트랙(tract)을 모델링하는 단기 선형 예측, 발성 기간 동안 성대의 진동을 모델링하는 장기 예측, 모델링될 수 없는 “혁신”을 나타내기 위해 고정 코드북(codebook)(백색 잡음(white noise), 대수 여기(algebraic excitation))에서 파생된 여기(excitation)를 사용하여 음성 생성을 모델링하는 것이다.The CELP type encoder is a predictive coder. Their goals include the use of fixed codebooks (white noise) to represent various elements: short-term linear predictions modeling vocal tracts, long-term predictions modeling vocal fold vibration during vocalization, and "innovations" (white noise), algebraic excitation, and so on).
MPEG AAC, AAC-LD, AAC-ELD 또는 ITU-T G.722.1 Annex C와 같은 변환 코더는 변환 도메인에서 신호를 압축하기 위해 임계적으로(critically) 샘플링된 변환을 사용한다. “임계 샘플링된 변환(critically sampled transform)"이라는 용어는 각각의 분석된 프레임에서 변환 도메인 내의 계수들의 수가 내 시간 도메인 샘플들의 수와 동일한 변환을 나타낸다.A transcoder such as MPEG AAC, AAC-LD, AAC-ELD or ITU-T G.722.1 Annex C uses a critically sampled transform to compress the signal in the transform domain. The term " critically sampled transform "refers to a transform in which the number of coefficients in the transform domain in each analyzed frame is the same as the number of inner time domain samples.
결합된 음성/음악을 포함하는 신호의 효과적인 코딩을 위한 한가지 해결책은, 적어도 2 개의 코딩 모드들 사이에서 시간에 따라 최상의 기술을 선택하는 것이다: 하나는 CELP 타입이고, 다른 하나는 변환 타입이다.One solution for effective coding of a signal including combined speech / music is to select the best technique over time between at least two coding modes: one is the CELP type and the other is the conversion type.
예를 들어, 코덱 3GPP AMR-WB+ 및 MPEG USAC("통합된 음성 오디오 코딩(Unified Speech Audio Coding)")의 경우이다. AMR-WB+ 및 USAC의 목표(target) 어플리케이션은 대화(conversation)가 아니라, 알고리즘 지연에 대한 심각한 제약 없는 배포 및 저장 서비스에 해당한다.For example, codecs 3GPP AMR-WB + and MPEG USAC ("Unified Speech Audio Coding"). The target application of AMR-WB + and USAC is not a conversation, but a distribution and storage service without serious constraints on algorithm delay.
RM0(참조 모델 0)이라 호칭되는 초기 버전의 USAC 코덱은 M. Neuendorf 외 2009년 5월 7-10 일 개최된 제 126 차 AES 협약의 저 비트율 통합 음성 및 오디오 코딩을 위한 새로운 방안(A Novel Scheme for Low Bitrate Unified Speech and Audio Coding) - MPEG RM0의 글(article)에서 서술된다. 이러한 RM0 코덱은 여러 코딩 모드를 번갈아 나타낸다.An early version of the USAC codec, referred to as RM0 (reference model 0), is described in M. Neuendorf et al., A Novel Scheme for Low Bit Rate Integrated Speech and Audio Coding of the 126th AES Convention, for Low Bitrate Unified Speech and Audio Coding) - Described in MPEG RM0 article. These RM0 codecs alternate between different coding modes.
ㆍ 음성 신호: AMR-WB + 코딩으로부터 도출된 두 가지의 상이한 모드를 포함하는 LPD ("선형 예측 영역(Linear Predictive Domain)") 모드:Voice signal: LPD ("Linear Predictive Domain") mode containing two different modes derived from AMR-WB + coding:
- ACELP 모드- ACELP mode
- FFT 변환을 사용하는 MDCT 변환(AMR-WB+ 코덱과는 달리)을 사용하는 wLPT("가중 선형 예측 변환(weighted Linear Predictive Transform)")이라 호칭되는 TCX(“변환 부호화 기동(Transform Coded Excitation)”) 모드.(&Quot; Transform Coded Excitation ") called wLPT ("weighted linear predictive transform") using MDCT transformations (unlike AMR-WB + codecs) ) mode.
ㆍ 음악 신호: 1024개의 샘플을 사용하는 MPEG AAC ("고급 오디오 코딩(Advanced Audio Coding)") 타입의 MDCT ("수정된 이산 코사인 변환(Modified Discrete Cosine Transform)")에 의한 코딩을 사용하는 FD ("주파수 영역(Frequency Domain)") 모드.ㆍ Music signal: FD () which uses coding by MDCT ("Modified Discrete Cosine Transform") type of MPEG AAC ("Advanced Audio Coding") type using 1024 samples "Frequency Domain") mode.
USAC 코덱에서 LPD와 FD 모드 사이의 전이는 모드 전이시 오류 없이 충분한 품질을 보장하는 데 결정적이다. 각 모드(ACELP, TCX, FD)는 특정 "서명"을 가지며(아티팩트(artifacts)의 관점에서), 상기 FD 및 LPD 모드는 서로 다른 유형이다. FD 모드는 신호 도메인에서 변환 코딩을 기반으로 하며, LPD 모드는 필터 메모리가 적절히 관리되도록 지각적(perceptually) 가중 도메인에서 선형 예측 코딩을 사용한다. USAC RM0 코덱의 모드들 간 전이 관리는 J. Lecomte 외 2009년 5월 7-10 일 개최된 제 126 차 AES 협약의 "LPC 기반 및 비 LPC 기반 오디오 코딩 간 전이을 위한 효율적인 크로스 페이드(cross-fade) 윈도우"의 글(article)에 설명되어 있다. 상기 기사에서 설명되었듯이, 가장 큰 어려움은 LPD에서 FD 모드로의 전이와 그 반대의 경우에 있다. 여기서, CELP에서 FD로 전이하는 경우에 대해서만 논의하도록 한다.The transition between LPD and FD mode in the USAC codec is crucial to guarantee sufficient quality without error in mode transition. Each mode (ACELP, TCX, FD) has a specific "signature" (in terms of artifacts) and the FD and LPD modes are of different types. The FD mode is based on transform coding in the signal domain and the LPD mode uses linear predictive coding in the perceptually weighted domain so that the filter memory is properly managed. Transition management between modes of the USAC RM0 codec is described in J. Lecomte et al., "Effective Cross-fade for LPC-based and Non-LPC-based Audio Coding Transitions," in the 126th AES Convention, Quot; Windows "article. As described in this article, the biggest difficulty is the transition from LPD to FD mode and vice versa. Here, only the case of transition from CELP to FD is discussed.
MDCT가 어떻게 작동하는지 완전히 이해하기 위해, MDCT 변환 코딩의 원칙은 일반적인 개발 사례를 통해 상기된다.To fully understand how MDCT works, the principles of MDCT transform coding are recalled through common development practices.
인코더에서, MDCT 변환은 전형적으로 3 단계로 나누어지며, 신호는 MDCT 코딩 전에 M 샘플들의 프레임들로 세분된다:In the encoder, the MDCT transform is typically divided into three stages, and the signal is subdivided into frames of M samples before MDCT coding:
ㆍ 2M 길이의 "MDCT 윈도우"라 호칭되는 윈도우로 상기 신호의 가중치 지정.• Assigning the weight of the signal to a window called "MDCT window" of 2M length.
ㆍ 길이 M의 블록을 형성하기 위한 시간 영역에서의 폴딩("시간 영역 앨리어싱(aliasing)").Folding in the time domain to form a block of length M ("time domain aliasing").
ㆍ 길이 M의 DCT 변환.ㆍ DCT transformation of length M.
MDCT 윈도우는 M/2의 동일한 길이의 4개의 인접한 부분으로 분할되며, 여기서 상기 분할된 MDCT 윈도우를 "쿼터(quarter)"라 지칭한다.The MDCT window is divided into four contiguous portions of the same length of M / 2, where the partitioned MDCT window is referred to as a "quarter ".
상기 신호에 분석 윈도우(analysis window)가 곱해진 다음, 시간 영역 앨리어싱(aliasing)이 수행된다: 첫 번째 쿼터(윈도우)는 두 번째 쿼터 상에서 앨리어싱(aliase)되고(즉, 시간이 반전되고 중첩됨), 네 번째 쿼터는 세 번째 쿼터 상에서 앨리어싱된다.The signal is multiplied by an analysis window and then time domain aliasing is performed: The first quarter (window) is aliased on the second quarter (i.e., the time reversed and overlapped) , The fourth quota is aliased on the third quota.
보다 구체적으로, 하나의 쿼터의 다른 쿼터에 대한 시간 영역 앨리어싱은 다음과 같은 방식으로 수행된다: 첫 번째 쿼터의 첫 번째 샘플이 두 번째 쿼터의 마지막 샘플에 더해지고(또는 마지막 샘플에서 빼지고), 첫 번째 쿼터의 두 번째 샘플이 두 번째 쿼터의 마지막 샘플 바로 옆에 위치한 샘플에 더해지고(또는 마지막 샘플 바로 옆에 위치한 샘플에서 빼지고) 등, 두 번째 쿼터의 첫 번째 샘플에(에서) 더해지는(빼지는) 첫 번째 쿼터의 마지막 샘플까지 수행된다.More specifically, time-domain aliasing for the other quota of one quota is performed in the following manner: The first sample of the first quota is added to the last sample of the second quota (or subtracted from the last sample) The second sample of the first quota is added to (or added to) the first sample of the second quotient, such as added to (or subtracted from) the sample located immediately next to the last sample of the second quota Subtracted) is performed up to the last sample of the first quota.
따라서, 4개의 쿼터부터 2 개의 앨리어싱된(aliased) 쿼터가 얻어지며 각 샘플은 코딩될 신호의 샘플 2 개를 선형 조합한 결과이다. 이러한 선형 조합은 시간 영역 앨리어싱을 유도한다.Thus, two aliased quotas from four quarters are obtained, with each sample being the result of linear combination of two samples of the signal to be coded. This linear combination leads to time domain aliasing.
이후, 상기 2개의 앨리어싱된 쿼터는 DCT 변환(타입 IV) 후에 공동으로 인코딩된다. 다음 프레임에 대해, 선행(preceding) 프레임의 세 번째 및 네 번째 쿼터는 윈도우의 반만큼(즉, 50% 겹침) 시프트되어 현재 프레임의 첫 번째 및 두 번째 쿼터가 된다. 앨리어싱 후, 선행 프레임에서와 같은 샘플 쌍의 두 번째 선형 조합이 서로 다른 가중치로 전송된다.Thereafter, the two aliased quotas are jointly encoded after the DCT transform (Type IV). For the next frame, the third and fourth quotas of the preceding frame are shifted by half (i.e., 50% overlap) of the window to become the first and second quotas of the current frame. After aliasing, the second linear combination of sample pairs, such as in the preceding frame, is transmitted at different weights.
디코더에서, 역 DCT 변환 후에 이러한 랩핑된 신호의 디코딩된 버전을 획득한다. 두 개의 연속된 프레임은 동일한 쿼터들의 두 개의 서로 다른 중첩의 결과를 포함한다. 즉, 각 샘플 쌍에 대해 서로 다르지만 알려진 가중치(known weights)가 있는 두 개의 선형 조합의 결과를 있음을 의미한다: 따라서, 방정식의 시스템을 풀어 입력 신호의 복호화된 버전이 획득될 수 있고, 시간 영역 앨리어싱이 두 개의 연속된 복호화된 프레임의 사용에 의해 제거될 수 있다.At the decoder, a decoded version of this wrapped signal is obtained after inverse DCT conversion. Two consecutive frames contain the results of two different overlaps of the same quotas. That is, it means that there is a result of two linear combinations with different known weights for each pair of samples: therefore, a system of equations can be solved to obtain a decoded version of the input signal, Aliasing can be eliminated by the use of two consecutive decoded frames.
언급된 방정식 시스템의 해결은 일반적으로 현명하게(judiciously) 선택된 합성(synthesis) 윈도우의 오프닝(opening), 곱셈(multiplication) 후, 두 개의 연속 된 디코딩 된 프레임 사이에서(양자화 오차로 인한 불연속성 없이) 공통 부분을 가산하고 중첩하여 암묵적으로 수행할 수 있다. 실제로 이 연산은 오버랩-추가(overlap-add)처럼 동작한다. 첫 번째 쿼터 또는 네 번째 쿼터에 대한 윈도우의 각 샘플이 0일 때, 윈도우의 그러한 부분에서 시간 영역 앨리어싱 없는 MDCT 변환을 갖는다. 이 경우, MDCT 변환에 의한 부드러운 전이가 제공되지 않으며 예를 들어, 외부의 중첩 가산과 같은 다른 방법에 의해 수행되어야 한다.The solution of the mentioned equation system is generally that of opening and multiplication of the synthesis window chosen judiciously, and between two consecutive decoded frames (without discontinuity due to quantization error) common It can be performed implicitly by adding and overlapping parts. In fact, this operation behaves like an overlap-add. When each sample of the window for the first or fourth quota is zero, it has an MDCT transformation without time-domain aliasing in that part of the window. In this case, a smooth transition due to the MDCT transformation is not provided and it must be performed by other methods, such as an external overlap addition.
변환될 블록의 시간 영역 앨리어싱 방법과 관련하여, MDCT 변환 특히, DCT 변환의 정의의 변형된 구현이 존재한다는 점에 유의해야 한다(예를 들어, 왼쪽 및 오른쪽으로 앨리어싱된 쿼터에 적용된 부호를 반전할 수 있고, 두 번째 및 세 번째 쿼터는 첫 번째 및 네 번째 쿼터에 각각 앨리어싱될 수 있다). 이러한 변형은 윈도잉(windowing), 시간 영역 앨리어싱, 그리고 변환 및 최종적인 윈도잉, 앨리어싱 및 오버랩-추가(overlap-add)에 의한 샘플 블록 축소를 통한 합성에 관한 MDCT 분석(analysis)의 원리를 바꾸지 않는다.It should be noted that, with respect to the time domain aliasing method of the block to be transformed, there is a modified implementation of the MDCT transform, in particular the definition of the DCT transform (for example, reversing the sign applied to the left and right aliased quota , And the second and third quotas may be aliased respectively to the first and fourth quotas). These transformations change the principles of MDCT analysis on windowing, time domain aliasing, and synthesis through transformation and sample block reduction by final windowing, aliasing, and overlap-add Do not.
Lecomte 등의 논문에 기술된 USAC RM0 코더의 경우, ACELP 코딩에 의해 코딩된 프레임과 FD 코딩에 의해 코딩된 프레임 간의 전이(transition)는 다음과 같은 방식으로 수행된다:In the case of the USAC RM0 coder described in a paper by Lecomte et al., The transition between a frame coded by ACELP coding and a frame coded by FD coding is performed in the following manner:
FD 모드의 전이 윈도우(window)는 128개 샘플의 좌측에 중첩되어 사용된다.The transition window of the FD mode is used superimposed on the left side of 128 samples.
이 중첩 영역에 대한 시간 영역 앨리어싱은 재구성된 ACELP 프레임의 오른쪽에 인위적인(artificial) 시간 영역 앨리어싱을 도입함으로써 취소된다. 전이에 사용되는 MDCT 윈도우는 2304 샘플의 크기를 가지며 DCT 변환은 1152 샘플에서 작동하지만 보통 FD 모드 프레임은 2048 샘플의 크기를 가지는 윈도우와 1024 샘플의 DCT 변환으로 코딩된다. 따라서, 일반 FD 모드의 MDCT 변환은 전이 윈도우에 직접적으로 사용될 수 없으므로, 코더는 FD 모드에 대한 전이 구현을 복잡하게 하는 이 변환의 수정된 버전을 통합해야 한다.Time domain aliasing for this overlap region is canceled by introducing artificial time domain aliasing to the right of the reconstructed ACELP frame. The MDCT window used for the transition has a size of 2304 samples and the DCT transform operates on 1152 samples, but the FD mode frame is usually coded with a DCT transform of 1024 samples with a window size of 2048 samples. Thus, since the MDCT transform in normal FD mode can not be used directly in the transition window, the coder must incorporate a modified version of this transform that complicates the transition implementation for FD mode.
이러한 지연은 코딩 지연이 일반적으로 모바일 애플리케이션(예를 들어, GSM EFR, 3GPP AMR 및 AMR-WB)의 음성 코더의 경우 20-25 ms 정도이고 화상 회의(예를 들어, UIT-T G.722.1 Annex C 및 G.719)의 대화식 변환 코더의 경우 40 ms 정도로서, 대화식 애플리케이션과 호환되지 않는다. 게다가, 때때로 DCT 변환의 크기(2304 vs 2048)를 늘리면 전이의 순간에 복잡성이 극심해진다.This delay is such that the coding delay is typically about 20-25 ms for voice coders of mobile applications (e.g., GSM EFR, 3GPP AMR and AMR-WB) and videoconferencing (e.g., UIT-T G.722.1 Annex C and G.719) is about 40 ms, which is not compatible with interactive applications. In addition, increasing the size of the DCT transform (2304 vs 2048) from time to time increases complexity at the moment of transition.
이러한 단점을 극복하기 위해, 본 출원에서 참고 문헌으로 편입된 국제 특허 출원 WO2012/085451은 전이 프레임(transition frame)을 코딩하는 새로운 방법을 제공한다. 상기 전이 프레임은 예측 코딩에 의해 코딩된 선행 프레임의 다음에 변환 코딩된 현재 프레임으로 정의된다. 위에서 언급된 신규한 방법에 따르면, 전이 프레임의 일부분, 예를 들어, 12.8kHz에서 코어(core) CELP 코딩의 경우 5ms의 서브-프레임 및 12.7kHz에서 코어 CELP 코딩의 경우 각각 4ms의 2개의 추가 CELP 프레임들은 선행 프레임의 예측 코딩보다 더 제한된 예측 코딩에 의해 인코딩된다.To overcome this drawback, International patent application WO2012 / 085451, incorporated herein by reference, provides a novel method of coding a transition frame. The transition frame is defined as the next transform coded current frame of the preceding frame coded by predictive coding. According to the novel method mentioned above, a part of the transition frame, for example a sub-frame of 5 ms for core CELP coding at 12.8 kHz and two additional CELPs of 4 ms each for core CELP coding at 12.7 kHz The frames are encoded by a more limited predictive coding than the prediction coding of the preceding frame.
제한된 예측 코딩은, 예를 들어, 선형 예측 필터의 계수와 같은 예측 코딩에 의해 인코딩된 선행 프레임의 안정된 파라미터를 사용하고, 변환 프레임에서 추가적인 서브-프레임에 대한 몇 개의 최소 파라미터만을 코딩하는 것으로 구성된다.The limited predictive coding consists of using stable parameters of the preceding frame encoded by predictive coding, such as, for example, coefficients of a linear prediction filter, and coding only a few minimum parameters for additional sub-frames in the transform frame .
선행 프레임이 변환 코딩으로 인코딩되지 않았기 때문에, 프레임의 첫 번째 부분에서 시간 영역 앨리어싱을 복구(undo)할 수 없다. 앞서 인용된 특허 출원 WO2012/085451은 정상적으로 폴딩된(normally-folded) 첫 번째 쿼터에서 시간 영역 앨리어싱을 갖지 않도록 MDCT 윈도우의 첫 번째 절반(half)을 수정하는 것을 제안한다. 또한, 분석/합성(analysis/synthesis) 윈도우의 계수를 변경하는 동안, 디코딩된 CELP 프레임과 디코딩된 MDCT 프레임 사이의 중첩-가산(overlap-add)("크로스-페이드(cross-fade)"라고도 함)의 일부를 통합하는 것을 제안한다. 상기 특허 출원의 도 4e를 참조하면, 파선(교차하는 점 및 대시(dash))은 MDCT 인코딩의 폴딩(folding) 선(도면 상단) 및 MDCT 디코딩의 전개(unfolding) 선(도면 하단)에 해당한다. 위 도면에서 굵은 선은 인코더로 들어가는 새 샘플들의 프레임을 분리한다. 새로운 MDCT 프레임의 인코딩은 새로운 입력 샘플의 이렇게 정의된 프레임을 완전히 사용 가능할 때 시작할 수 있다. 상기 인코더에서 이러한 굵은 선은 현재 프레임이 아닌 각 프레임에 대해 새롭게 수신되는(incoming) 샘플 블록에 해당한다는 점에 주의해야 한다. 현재 프레임은 미리 보기(lookahead)에 해당하는 5ms만큼 실제로 지연된다. 도면 하단에서, 굵은 선은 디코더 출력에서 디코딩된 프레임을 분리한다.Since the preceding frame is not encoded with transcoding, time-domain aliasing can not be undone in the first part of the frame. The above-cited patent application WO2012 / 085451 proposes modifying the first half of the MDCT window so that it does not have time-domain aliasing in the first normally-folded quota. Also, while changing the coefficients of the analysis / synthesis window, overlap-add (also referred to as "cross-fade") between the decoded CELP frame and the decoded MDCT frame ). ≪ / RTI > 4E of the above patent application, the dashed line (intersecting dots and dash) corresponds to the folding line (top of drawing) of MDCT encoding and the unfolding line (bottom of drawing) of MDCT decoding . The bold line in the above figure separates the frames of new samples into the encoder. The encoding of the new MDCT frame can begin when the thus defined frame of the new input sample is fully usable. Note that this bold line in the encoder corresponds to the incoming sample block for each frame rather than the current frame. The current frame is actually delayed by 5ms corresponding to the lookahead. At the bottom of the figure, the bold line separates the decoded frame at the decoder output.
인코더에서, 전이(transition) 윈도우는 폴딩(folding) 포인트까지 0이다. 따라서, 접힌(folded) 윈도우의 좌측 사이드(side)의 계수는 펼쳐진(unfolded) 윈도우의 계수와 동일하다. 폴딩 포인트와 CELP 전이 서브 프레임(TR)의 끝 사이의 부분은 사인(sine)(하프(half)) 윈도우에 해당한다. 디코더에서, 펼쳐진 후, 동일한 윈도우가 신호에 적용된다. 폴딩 포인트와 MDCT 프레임의 시작 부분 사이의 세그먼트에서 윈도우의 계수는 sin^2 타입(type)의 윈도우에 해당한다. 디코딩된 CELP 서브 프레임과 MDCT로부터의 신호 사이의 중첩-가산(overlap-add)을 달성하기 위해, CELP 서브 프레임의 오버랩(overlap) 부분에 cos^2 타입의 윈도우를 적용하고, MDCT 프레임과 함께 후자(latter)를 부가하는 것으로 충분하다. 이 방법은 완벽한 재구성(reconstruction)을 제공한다.In the encoder, the transition window is 0 until the folding point. Thus, the coefficient of the left side of the folded window is the same as the coefficient of the unfolded window. The portion between the folding point and the end of the CELP transition sub-frame (TR) corresponds to a sine (half) window. In the decoder, after being expanded, the same window is applied to the signal. The window count in the segment between the folding point and the beginning of the MDCT frame corresponds to a window of type sin ^ 2. In order to achieve overlap-add between the decoded CELP subframe and the signal from the MDCT, a window of the cos < 2 > type is applied to the overlap portion of the CELP subframe, it is sufficient to add the latter. This method provides a perfect reconstruction.
그러나, 출원 WO2012/085451은 고전(classic) 프레임을 코딩하는 CELP에 대한 요구되는 예산(budget)에 대응하는 CELP 서브 프레임을 단일 서브 프레임으로 부호화하기 위해 비트 예산 Btrans를 할당하는 것을 제공한다. 전이 프레임의 변환 코딩에 대한 나머지 예산은 불충분하며 낮은 레이트(rate)에서 품질 저하를 초래할 수 있다.However, application WO2012 / 085451 provides for allocating a bit budget Btrans for coding a CELP subframe corresponding to a required budget for CELP coding a classic frame into a single subframe. The remaining budget for transform coding of the transition frame is insufficient and can lead to quality degradation at a low rate.
본 발명은 상기 상황을 개선한다.The present invention improves the situation.
이러한 목적을 위해, 본 발명의 첫 번째 양상은 전이 프레임을 코딩하기 위한 비트들의 분포를 결정하는 방법에 관한 것이다. 이러한 방법은 디지털 신호를 코딩/디코딩하기 위한 코더/디코더에서 구현된다. 상기 전이 프레임은 예측 코딩된 선행 프레임에 선행되고, 상기 전이 프레임을 코딩하는 단계는, 상기 전이 프레임의 단일 서브 프레임을 변환 코딩 및 예측 코딩하는 단계를 포함한다. 상기 방법은 다음 단계를 더 포함한다.To this end, a first aspect of the invention relates to a method for determining the distribution of bits for coding a transition frame. This method is implemented in a coder / decoder for coding / decoding a digital signal. Wherein the transition frame is preceded by a predictive coded preceding frame, and wherein coding the transition frame comprises transform coding and predictive coding of a single sub-frame of the transition frame. The method further comprises the following steps.
- 상기 전이 서브 프레임의 예측 코딩을 위한 비트 레이트를 할당하되, 상기 비트 레이트는 제 1 미리 결정된 비트 레이트 값과 상기 전이 프레임을 변환 코딩하기 위한 상기 비트 레이트 사이의 최소 값과 동일한 단계;Allocating a bit rate for predictive coding of the transition subframe, the bit rate being equal to a minimum value between a first predetermined bit rate value and the bit rate for transform coding the transition frame;
- 상기 비트 레이트를 위한 상기 전이 서브 프레임을 예측 코딩하기 위하여 할당된 제 1 비트 수를 결정하는 단계; 및- determining a first number of bits allocated for predicting the transition sub-frame for the bit rate; And
- 상기 전이 프레임 코딩을 위하여 가능한 비트 수와 상기 할당된 제 1 비트로부터, 상기 전이 프레임을 변환 코딩 하기 위하여 할당된 제 2 비트 수를 계산하는 단계.- calculating the number of possible bits for the transition frame coding and the number of second bits allocated for transcoding the transition frame from the assigned first bit.
다른 실시예에서, 코더/디코더는 제 1 주파수에서 신호 프레임을 예측 코딩/디코딩하기 위한 제 1 코어 동작 및 제 2 주파수에서 신호 프레임을 예측 코딩/디코딩하기 위한 제 2 코어 동작을 포함한다. 제 1 미리 결정된 비트 레이트 값은 예측 코딩된 선행 프레임을 코딩/디코딩하기 위한 제 1 코어 동작 및 제 2 코어 동작으로부터 선택된 코어에 의존한다.In another embodiment, the coder / decoder includes a first core operation for predicting / decoding a signal frame at a first frequency and a second core operation for predicting / decoding a signal frame at a second frequency. The first predetermined bit rate value depends on the core selected from the first core operation and the second core operation for coding / decoding the predictive coded preceding frame.
일 실시예에서, 예측 코딩된 선행 프레임을 코딩/디코딩하기 위하여 상기 제 1 코어가 선택되었을 때, 할당된 비트 레이트는 또한 변환 코딩된 전이 프레임의 상기 비트 레이트와 적어도 하나의 제 2 미리 결정된 비트 레이트 값 사이의 최대 값과 동일하고, 상기 제 2 미리 결정된 비트 레이트 값은 상기 제 1 미리 결정된 비트 레이트 값보다 작다. In one embodiment, when the first core is selected to code / decode a predictive-coded preceding frame, the assigned bit rate is also associated with the bit rate of the transform-coded transition frame and at least one second predetermined bit rate Value and the second predetermined bit rate value is less than the first predetermined bit rate value.
다른 실시예에서, 디지털 신호는 적어도 하나의 저 대역 주파수와 고 대역 주파수로 분해된다. 이 상황에서, 상기 계산된 제 1 비트수는, 상기 저 대역 주파수에 대한 상기 전이 서브 프레임을 예측 코딩하기 위하여 할당된다. 제3 미리 결정된 비트 수는 상기 고 대역 주파수에 대한 상기 전이 서브 프레임을 코딩하기 위하여 할당된다. 또한, 상기 전이 프레임을 변환 코딩하기 위하여 할당되는 상기 제2 비트수는 상기 제3 미리 결정된 비트수로부터 결정된다. In another embodiment, the digital signal is decomposed into at least one low band frequency and a high band frequency. In this situation, the calculated first number of bits is allocated to predictively code the transition sub-frame for the low-band frequency. A third predetermined number of bits is allocated to code the transition subframe for the highband frequency. In addition, the second number of bits allocated for transcoding the transition frame is determined from the third predetermined number of bits.
일 실시예에서, 전이 프레임을 코딩하기 위하여 이용 가능한 비트들의 수는 고정되어 있다. In one embodiment, the number of bits available for coding the transition frame is fixed.
다른 실시예에서, 제 2 비트 수는 전이 프레임을 코딩하기 위해 고정된 비트 수에서 제 1 비트 수를 빼고, 제 3 비트 수를 뺀 값과 동일하다. 따라서, 전이 프레임에서 비트 분포의 최종 결정은 코딩을 단순화하는 전체 값을 빼는 것으로 제한된다.In another embodiment, the second number of bits is equal to the number of fixed bits minus the first number of bits minus the third number of bits to code the transition frame. Thus, the final determination of the bit distribution in the transition frame is limited to subtracting the overall value, which simplifies the coding.
대안으로, 제 2 비트 수는 전이 프레임을 코딩하기 위해 고정된 비트 수에서 상기 제 1 비트수를 빼고, 상기 제 3 비트 수를 빼고, 제 1 비트 및 제 2 비트를 뺀 값과 동일하다. 제 1 비트는 상기 전이 서브 프레임의 상기 예측 코딩의 파라미터들을 결정할 때 저역 통과 필터 필터링이 수행되는지 여부를 나타내고, 상기 파라미터들은 토널 리드 타임(tonal lead time)과 관련된다. 상기 제 2 비트는 상기 전이 서브 프레임을 예측 코딩/디코딩을 위하여 상기 코더/디코더에 의하여 사용된 주파수를 나타낸다.Alternatively, the second number of bits is equal to subtracting the first number of bits from the fixed number of bits, subtracting the third number of bits, and subtracting the first and second bits to code the transition frame. The first bit indicates whether low pass filter filtering is performed when determining the parameters of the predictive coding of the transition sub-frame, and the parameters are related to the tonal lead time. And the second bit indicates the frequency used by the coder / decoder for predictive coding / decoding the transition subframe.
본 발명의 두 번째 양상은 예측 코딩 또는 변환 코딩에 따라 신호 프레임을 코딩할 수 있는 코더에서 디지털 신호를 코딩하는 방법에 관한 것으로서, 다음 단계를 포함한다:A second aspect of the present invention is directed to a method of coding a digital signal in a coder capable of coding a signal frame in accordance with predictive coding or transform coding, the method comprising the steps of:
* 예측 코딩에 따라 디지털 신호 샘플들의 선행하는 프레임 (301)을 코딩하는 단계;Coding the preceding frame (301) of digital signal samples according to predictive coding;
* 디지털 신호 샘플들의 현재 프레임을 전이 프레임으로 코딩하는 단계를 포함하되, 상기 전이 프레임을 코딩하는 단계는 상기 전이 프레임의 단일 서브 프레임 변환 코딩 및 예측 코딩하는 단계를 포함하고, 상기 현재 프레임을 코딩하는 단계는 아래의 서브 단계들을 포함하되, 상기 서브 단계들은;Coding the current frame of digital signal samples into a transition frame, wherein the step of coding the transition frame comprises a single sub-frame transform coding and a predictive coding of the transition frame, Wherein the steps comprise the following sub-steps:
- 상기 청구 범위들 중 하나에 따라 비트들의 분포를 결정하는 단계;Determining a distribution of bits according to one of the claims;
- 상기 할당된 제 2 비트 수에 대해 상기 전이 프레임을 코딩 변환하는 단계;Coding the transition frame for the allocated second number of bits;
- 상기 전이 서브 프레임 및 상기 할당된 제 1 비트 수를 예측 코딩하는 단계를 포함한다.And predicting the transition sub-frame and the allocated first number of bits.
일 실시예에서, 예측 코딩은 전이 프레임에서 비트들의 분포 동안 할당된 비트 레이트에 대한 결정된 예측 코딩 파라미터들을 생성하는 단계를 포함한다. 이러한 예측 파라미터의 사용은 예측 코딩을 위해 할당된 비트 레이트와 변환 코딩을 위해 할당된 나머지 레이트 사이의 비율을 최적화하고, 따라서 재구성된 신호의 품질을 최적화한다. 실제로, 일정한 품질에서, 상기 예측 파라미터 또는 다른 예측 파라미터에 대해 귀속된 비트의 수는 예측 코딩을 위해 할당된 비트 레이트에 대해 비선형 비율로 변할 수 있다.In one embodiment, predictive coding comprises generating determined predictive coding parameters for an assigned bit rate during distribution of bits in a transition frame. The use of such predictive parameters optimizes the ratio between the bit rate allocated for predictive coding and the remaining rate allocated for transform coding, thus optimizing the quality of the reconstructed signal. Indeed, at a constant quality, the number of bits attributed to the predictive parameter or other predictive parameter may vary at a non-linear rate relative to the bit rate allocated for predictive coding.
다른 실시예에서, 예측 코딩하는 단계는 선행 프레임의 예측 코딩을 위해 적어도 하나의 파라미터를 재사용하여 상기 선행 프레임을 예측 코딩하는 것과 관련하여 제한된 예측 코딩 파라미터들을 생성하는 단계를 포함한다. 따라서, 디코딩시 선행 프레임으로부터 부가 정보가 추출되어, 전이 서브 프레임을 디코딩하여 디코딩을 완료한다. 이는 전이 서브 프레임을 예측 코딩하기 위해 예약되어야 하는 비트의 수를 감소시킨다.In another embodiment, the step of predictive coding comprises generating constrained predictive coding parameters associated with predicting the preceding frame by reusing at least one parameter for predictive coding of the preceding frame. Therefore, additional information is extracted from the preceding frame in decoding, and the transition is completed by decoding the transition sub-frame. This reduces the number of bits that must be reserved for predictive coding of the transition subframe.
선행 프레임으로부터 재사용 파라미터들의 조합 및 전이 프레임의 변환 코딩을 위한 비트 레이트를 할당하는 것은 저비용으로 일관된 전이를 보장한다.Allocating the bit rate for the combination of reuse parameters from the preceding frame and the transform coding of the transition frame ensures low cost consistent transitions.
본 발명의 세 번째 양상은, 예측 코딩 및 변환 코딩에 의해 코딩된 디지털 신호를 디코딩하는 방법에 관한 것으로, 다음의 단계를 포함한다:A third aspect of the present invention relates to a method for decoding a coded digital signal by predictive coding and transform coding, the method comprising the steps of:
* 예측 코딩에 따라 코딩된 디지털 신호 샘플들의 선행 프레임을 예측 디코딩하는 단계;Predicting and decoding a preceding frame of digital signal samples coded according to predictive coding;
* 상기 전이 프레임을 디코딩하고 디지털 신호 샘플들의 현재 프레임을 코딩하고, 상기 전이 프레임을 코딩하는 단계는, 상기 전이 프레임의 단일 서브 프레임을 변환 코딩 및 예측 코딩하는 단계를 포함하고, 아래의 서브 단계들을 포함하되, 상기 서브 단계는:Decoding the transition frame and coding a current frame of digital signal samples and coding the transition frame comprises transform coding and predictive coding of a single subframe of the transition frame, The sub-step comprising:
- 본 발명의 제 1 양상에 따른 방법에 의해 비트들의 분포를 결정하는 단계;Determining a distribution of bits by a method according to the first aspect of the present invention;
- 상기 할당된 제 비트 수에 대한 상기 전이 서브 프레임을 예측 디코딩하는 단계;Predicting and decoding the transition sub-frame with respect to the allocated number of bits;
- 상기 할당된 제 2 비트 수에 대해 상기 전이 프레임을 변환 디코딩하는 단계를 더 포함한다.- transforming and decoding the transition frame for the allocated second number of bits.
전술한 바와 같이, 전이 프레임에서 비트의 분포를 결정하는 방법은 디코더에서 직접적으로 재현 가능하다. 실제로, 비트의 분포는 오직 전이의 변환 코딩된 부분의 비트 레이트로부터 결정된다. 따라서, 비트의 분포를 결정하는 단계를 구현하기 위해 여분의 비트가 필요하지 않으며 대역폭 절약이 이루어진다.As described above, the method of determining the distribution of bits in the transition frame is directly reproducible in the decoder. Indeed, the distribution of the bits is determined only from the bit rate of the transform coded portion of the transition. Thus, no extra bits are needed to implement the step of determining the distribution of bits and bandwidth savings are achieved.
본 발명의 네 번째 양상은, 명령들이 프로세서에 의해 실행될 때, 전술한 본 발명의 양상에 따른 방법을 구현하기 위한 명령들을 포함하는 컴퓨터 프로그램을 추가 목표로 한다.A fourth aspect of the present invention is directed to a computer program comprising instructions for implementing a method in accordance with aspects of the present invention as described above when the instructions are executed by a processor.
본 발명의 다섯 번째 양상은, 전이 프레임을 코딩하기 위한 비트들의 분포를 결정하기 위한 장치에 관한 것으로서, 상기 장치는 디지털 신호를 코딩/디코딩하기 위한 코더/디코더에서 구현되고, 상기 전이 프레임은 예측 코딩된 선행 프레임에 의해 선행되고, 상기 전이 프레임을 코딩하는 단계는 단일 서브 프레임을 변환 코딩 및 예측 코딩하는 단계를 포함하고, 상기 전이 프레임을 코딩하기 위한 상기 비트들의 수는 고정되고, 상기 장치는 다음 동작들을 수행하도록 배열된 프로세서를 포함한다:A fifth aspect of the present invention relates to an apparatus for determining a distribution of bits for coding a transition frame, the apparatus being implemented in a coder / decoder for coding / decoding a digital signal, Wherein the step of coding the transition frame comprises transcoding and predecoding a single subframe, the number of bits for coding the transition frame is fixed, and the device is next And a processor arranged to perform the operations:
- 상기 전이 서브 프레임을 예측 코딩하기 위한 비트 레이트를 할당하되, 상기 비트 레이트는 상기 전이 프레임을 변환 코딩하기 위한 비트 레이트와 제 1 미리 결정된 비트 레이트 값 사이의 최소값과 동일하고;Allocating a bit rate for predicting the transition subframe, the bit rate being equal to a minimum value between a bit rate for transform coding the transition frame and a first predetermined bit rate value;
- 상기 비트 레이트에 대한 상기 전이 서브 프레임을 예측 코딩하기 위해 할당된 제 1 비트 수를 결정하고;Determining a first number of bits allocated for predicting the transition sub-frame for the bit rate;
- 상기 코딩 파라미터들을 코딩하는데 필요한 비트 수 및 상기 전이 프레임을 코딩하기 위한 상기 고정 된 비트 수로부터 상기 전이 프레임을 변환 코딩하기 위해 할당된 제 2 비트 수를 계산한다.- calculate a second number of bits allocated for transcoding the transition frame from the number of bits needed to code the coding parameters and the number of fixed bits for coding the transition frame.
본 발명의 여섯 번째 양상은, 예측 코딩 또는 변환 코딩에 따라 디지털 신호 프레임들을 코딩할 수 있는 코더를 추가 목표로 하며, 상기 코더는;A sixth aspect of the present invention is directed to a coder capable of coding digital signal frames in accordance with predictive coding or transform coding, the coder comprising:
* 상기 본 발명의 다섯 번째 양상에 따른 장치;An apparatus according to the fifth aspect of the present invention;
* 다음의 동작을 수행하도록 구성된 프로세서를 포함하는 예측 코더를 포함하되, 상기 동작은:A prediction coder comprising a processor configured to perform the following operations, the operation comprising:
- 예측 코딩에 따라 디지털 신호 샘플들의 선행 프레임을 코딩하고;- code the preceding frame of digital signal samples according to prediction coding;
- 전이 프레임에 포함된 단일 서브 프레임을 예측 코딩하고, 디지털 신호 샘플들의 현재 프레임을 코딩하고, 상기 전이 프레임을 코딩하되, 상기 서브 프레임을 변환 코딩 또는 예측 코딩하는 동작을 포함하고, 상기 프로세서는 상기 할당된 제 1 비트 수의 전이 서브 프레임을 예측 코딩하기 위해 배열되고;- coding the current frame of digital signal samples, and coding the transition frame, wherein said transform coding or predictive coding of the single sub-frame contained in the transition frame comprises the steps of: Arranged for predicting the assigned first number of transition subframes;
* 상기 할당된 제 2 비트 수에서 상기 전이 프레임을 변환 코딩하는 동작을 수행하도록 배치된 프로세서를 포함하는 변환 코더를 포함한다.And a transform coder comprising a processor arranged to perform an operation of transform-coding the transition frame at the allocated second number of bits.
본 발명의 일곱 번째 양상은, 예측 코딩 및 변환 코딩에 의해 코딩된 디지털 신호에 대한 디코더를 추가 목표로 하며, 상기 디코더는:A seventh aspect of the present invention is directed to a decoder for a digital signal coded by predictive coding and transform coding, the decoder comprising:
* 본 발명의 다섯 번째 양상에 따른 장치;A device according to the fifth aspect of the present invention;
* 다음의 동작을 수행하도록 구성된 프로세서를 포함하는 예측 디코더를 포함하되, 상기 동작은;A prediction decoder including a processor configured to perform the following operations:
- 예측 코딩에 따라 코딩된 디지털 신호 샘플들의 선행 프레임을 예측 디코딩하고;Predicting and decoding the preceding frame of the coded digital signal samples according to predictive coding;
- 전이 프레임에 포함된 단일 서브 프레임을 예측 디코딩하고, 디지털 신호 샘풀들의 현재 프레임을 코딩하고, 상기 전이 프레임을 코딩하고, 상기 서브 프레임을 예측 코딩하고 변환 코딩하되, 상기 할당된 제 1 비트 수의 상기 전이 서브 프레임을 예측 디코딩하는 연산을 수행하도록 배치하고,- predicting and decoding a single subframe included in a transition frame, coding a current frame of digital signal samples, coding the transition frame, predictively coding and transform coding the subframe, Arranging to perform an operation of predicting and decoding the transition sub-frame,
* 상기 할당된 제 2 비트 수에 대해 상기 전이 프레임을 전이 변환 코딩하는 동작을 수행하도록 배치된 프로세서를 포함하는 변환 디코더를 포함한다.And a transposition decoder including a processor arranged to perform an operation of performing a transition transform coding of the transition frame with respect to the allocated second number of bits.
본 발명은 함께 믹싱되거나(mixed) 번갈아가면서 믹싱되는 음성(speech) 및 음악(music)을 포함할 수 있는 사운드를 코딩/디코딩하는 데 유리하게 적용된다.The present invention is advantageously applied to coding / decoding sounds that may include mixed speech and audio mixed together.
본 발명에 따르면, 예측 코딩 비트 레이트는 최대 값에 의해 억제된다. 예측 코딩에 할당된 비트 수는 이러한 비트 전송률에 따라 다르다. 비트 레이트가 약해짐에 따라, 코딩을 위해 할당되는 비트의 수가 더 적기 때문에, 전이 프레임 변환 코딩을 위한 최소 잔여 예산이 보장된다.According to the present invention, the predictive coding bit rate is suppressed by the maximum value. The number of bits allocated to predictive coding depends on these bit rates. As the bit rate is weaker, the minimum remaining budget for transition frame transform coding is guaranteed, since the number of bits allocated for coding is less.
또한, 생성된 신호의 일관성은 향상되어, 코딩(채널 코딩) 및 디코더에서 수신된 프레임을 프로세싱하는 후속 단계를 단순화한다.In addition, the consistency of the generated signal is improved, simplifying the coding (channel coding) and the subsequent steps of processing the received frame at the decoder.
또한, 상이한 코딩된 프레임들 사이에서 너무 큰 레이트 차이를 방지하기 위해 최소 비트 레이트가 보장된다. Also, a minimum bit rate is guaranteed to prevent too large rate differences between different coded frames.
또한, 디코딩시 복원된 신호의 품질을 희생함 없이 입력 신호의 전체 주파수 스펙트럼을 효율적으로 코딩하는 것이 가능하다.It is also possible to efficiently code the entire frequency spectrum of the input signal without sacrificing the quality of the recovered signal during decoding.
또한, 전이 프레임을 코딩하기 위하여 이용 가능한 비트들의 수는 고정되어 있다. 이는 코딩 단계의 복잡성을 줄인다.In addition, the number of available bits for coding the transition frame is fixed. This reduces the complexity of the coding step.
또한, 예측 코딩/디코딩을 위하여 상기 코더/디코더에 의하여 사용된 주파수를 나타냄으로써, 보다 유연한 코딩을 허용한다.It also permits more flexible coding by indicating the frequency used by the coder / decoder for predictive coding / decoding.
또한, 비트 분포를 결정하는 것은 디코더에서 재생 가능하며, 이러한 분배에 관한 정보의 명시적인 전송을 방지한다.Also, determining the bit distribution is reproducible in the decoder and prevents explicit transmission of information about this distribution.
또한, 이러한 코딩은 이 전이 프레임 내에서 예측 코딩과 변환 코딩 간의 균형 잡힌 분배를 보장한다.In addition, such coding ensures a balanced distribution between predictive coding and transform coding within this transition frame.
또한, 재구성된 신호의 품질을 최적화한다. 실제로, 일정한 품질에서, 상기 예측 파라미터 또는 다른 예측 파라미터에 대해 귀속된 비트의 수는 예측 코딩을 위해 할당된 비트 레이트에 대해 비선형 비율로 변할 수 있다.It also optimizes the quality of the reconstructed signal. Indeed, at a constant quality, the number of bits attributed to the predictive parameter or other predictive parameter may vary at a non-linear rate relative to the bit rate allocated for predictive coding.
또한, 디코딩시 선행 프레임으로부터 부가 정보가 추출되어, 전이 서브 프레임을 디코딩하여 디코딩을 완료한다. 이는 전이 서브 프레임을 예측 코딩하기 위해 예약되어야 하는 비트의 수를 감소시킨다.Further, additional information is extracted from the preceding frame in decoding, and the decoding is completed by decoding the transition sub-frame. This reduces the number of bits that must be reserved for predictive coding of the transition subframe.
선행 프레임으로부터 재사용 파라미터들의 조합 및 전이 프레임을 변환 코딩을 위한 비트 레이트를 할당하는 것은 저비용으로 일관된 전이를 보장한다.Assigning a combination of reuse parameters from the preceding frame and a bit rate for transcoding the transition frame ensures a low cost consistent transition.
전술한 바와 같이, 전이 프레임에서 비트의 분포를 결정하는 방법은 디코더에서 직접적으로 재현 가능하다. 실제로, 비트의 분포는 오직 전이의 변환 코딩된 부분의 비트 레이트로부터 결정된다. 따라서, 비트의 분포를 결정하는 단계를 구현하기 위해 여분의 비트가 필요하지 않으며 대역폭 절약이 이루어진다.As described above, the method of determining the distribution of bits in the transition frame is directly reproducible in the decoder. Indeed, the distribution of the bits is determined only from the bit rate of the transform coded portion of the transition. Thus, no extra bits are needed to implement the step of determining the distribution of bits and bandwidth savings are achieved.
본 발명의 다른 특징 및 이점은 이하의 상세한 설명 및 첨부 도면을 검토할 때 나타날 것이다.
도 1은 본 발명의 일 실시예에 따른 오디오 코더를 도시한다.
도 2는 본 발명의 일 실시예에 따른 도 1의 오디오 코더에 의해 구현되는 코딩 방법의 단계들을 나타내는 다이어그램이다.
도 3은 본 발명의 일 실시예에 따른 CELP 프레임과 MDCT 프레임간의 전이를 도시한다.
도 4는 본 발명의 일 실시예에 따른 전이 프레임을 코딩하기 위한 비트들의 분포를 결정하는 방법의 단계들을 나타내는 다이어그램이다.
도 5는 본 발명의 일 실시예에 따른 오디오 디코더를 도시한다.
도 6은 본 발명의 일 실시예에 따른 도 5의 오디오 디코더에 의해 구현되는 디코딩 방법의 단계들을 나타내는 다이어그램이다.
도 7은 본 발명의 일 실시예에 따른 전이 프레임 내 비트들의 분포를 결정하기 위한 장치를 도시한다.Other features and advantages of the invention will appear when the following detailed description and accompanying drawings are considered.
1 illustrates an audio coder according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating steps of a coding method implemented by the audio coder of FIG. 1 according to an embodiment of the present invention.
Figure 3 illustrates the transition between a CELP frame and an MDCT frame in accordance with an embodiment of the present invention.
4 is a diagram illustrating steps of a method for determining a distribution of bits for coding a transition frame according to an embodiment of the present invention.
5 illustrates an audio decoder according to an embodiment of the present invention.
FIG. 6 is a diagram illustrating steps of a decoding method implemented by the audio decoder of FIG. 5 according to an embodiment of the present invention.
Figure 7 illustrates an apparatus for determining the distribution of bits in a transition frame according to an embodiment of the invention.
도 1은 본 발명의 일 실시예에 따른 오디오 코더(100)를 도시한다.Figure 1 illustrates an
도 2는 본 발명의 일 실시예에 따른, 도 1의 오디오 코더 100에 의해 구현되는 코딩 방법의 단계들을 도시하는 다이어그램이다.FIG. 2 is a diagram illustrating the steps of a coding method implemented by the
코더(100)은 201 단계에서 주어진 주파수 fs(예를 들어, 8, 16, 32 또는 48kHz)에서 샘플을 수신하고, 예를 들어 20ms의 서브 프레임으로 분해되는 수신 유닛(101)을 포함한다.The
현재 프레임을 수신하면, 전처리 유닛(pre-processing unit)(102)은 적어도 하나의 LPD 모드와 FD 모드 사이에서 현재 프레임을 코딩하기 가장 적합한 코딩 모드를 202 단계에서 선택할 수 있다. 이하의 설명에서, 예시적인 목적을 위해, MDCT 코딩이 FD 모드를 위해 사용되고, CELP 코딩이 LPD 모드를 위해 사용되는 것으로 고려된다. LPD 및 FD 모드 각각에 대해 사용되는 코딩 기술에는 제한이 없다. 따라서, CELP 및 MDCT 모드 이외의 모드가 사용될 수 있으며, 예를 들어 CELP 코딩은 다른 유형의 예측 코딩으로 대체될 수 있으며, MDCT 변환은 다른 유형의 변환으로 대체될 수 있다.Upon receiving the current frame, the
예를 들어, 미리 정해진 리스트로부터 선택된 모드를 나타내는 고정 길이 코딩과 함께 프레임 유형이 블록(206)을 통해 명시적으로 전송된다고 가정한다. 본 발명의 변형 예에서, 각 프레임에서 선택된 모드에 대한이 코딩은 가변 길이일 수 있다. CELP 코딩 유형(12.8 또는 16 kHz)이 전이 프레임의 디코딩을 용이하게 하기 위해 비트를 통해 명시적으로 전송될 수도 있다.For example, assume that the frame type is explicitly transmitted via
203 단계는 202 단계에서 CELP 디코딩이 선택되었는지 검증한다. LPD 모드가 선택되는 경우, 신호 프레임은 204 단계에서 CELP 프레임을 코딩하기 위해 CELP 코더(103)로 전송된다. CELP 코더는 예를 들어, 12.8 kHz 및 16 kHz로 고정된 2 개의 개별적인 내부 샘플링 주파수에서 작동하는 2 개의 “코어”를 사용할 수 있으며, 12.8 또는 16 kHz의 내부 주파수에서 엔트리 신호(주파수 fs에서)의 샘플링의 사용이 요구된다. 그러한 리샘플링(re-sampling)은 전처리 블록(102) 또는 CELP 코더(103)의 리샘플링 유닛에서 구현될 수 있다. 프레임은 일반적으로 신호 분류에 따라 CELP 파라미터를 차감함으로써 CELP 코더(103)에 의해 예측 코딩된다. CELP 파라미터는 일반적으로 LPC 계수(LPC coefficients), 고정 및 적응 이득 벡터, 적응 사전 벡터(adaptive dictionary vector), 고정 사전 벡터(fixed dictionary vector)를 포함한다. 이 목록은 UIT-T G.718 코딩에서와 같이, 프레임의 신호 범주(category)를 기반으로 수정될 수도 있다. 따라서, 상기 계산된 파라미터들은 206 단계에서 전송 유닛(108)에 의해 정량화되고(quantified), 다중화되고(multiplexed) 그리고 디코더에 전송될 수 있다. 현재 프레임 다음의 프레임이 MDCT 전이 프레임인 경우, LPC 계수, 고정 및 적응 이득 벡터, 적응 사전 벡터, 고정 사전 벡터 및 CELP 디코더 상태와 같은 CELP 코딩 파라미터는 205 단계에서 메모리(107)에 더 기억될 수 있다.In
후술되는 바와 같이, 대역 확장은 현재 프레임이 CELP 타입인 경우에 고 대역(high band)에 관련된 코딩으로 수행될 수도 있다.As described below, the band extension may be performed with coding related to the high band if the current frame is a CELP type.
203 단계에서 MDCT 코딩이 유닛(102)에 의해 선택되는 경우, 207 단계에서 현재 프레임에 선행하는 프레임이 MDCT 변환 코딩된 것으로 확인된다. 현재 프레임에 선행하는 프레임이 MDCT 변환 코딩된 경우, 현재 프레임은 208 단계에서 현재 프레임을 MDCT 변환 코딩하기 위해 MDCT 코더(105)에 직접 전송된다. MDCT 코더는 20 ms의 프레임 및 8.75 ms의 선견자(lookahead)를 포함하여 28.75 ms의 리샘플링되지 않은 신호를 포함하는 프레임을 코딩할 수 있다. MDCT 윈도우의 크기에는 제한이 없다. 또한, 입력 신호의 리샘플링에 기인한 CELP 코더 지연에 대응하는 지연은 MDCT 및 CELP 프레임이 동기화되는 방식으로 MDCT 코더에 의해 코딩된 프레임에 적용된다. 코더에서의 이러한 지연은 CELP 코딩 이전의 리샘플링 유형에 따라 0.9375 ms 일 수 있다. MDCT 변환 코딩된 프레임은 206 단계에서 디코더에 전송된다.If the MDCT coding is selected by the
유닛(102)에 의해 MDCT 코딩이 선택되고, 현재 프레임에 선행하는 프레임이 예측 코딩된 경우, 현재 프레임은 전이 프레임으로 전이 유닛(104)에 전송된다. 이하에서 설명되는 바와 같이, MDCT 전이 프레임은 추가 CELP 서브 프레임을 포함한다.When MDCT coding is selected by the
전이 유닛(104)은 다음의 단계들을 구현할 수 있다:
- 209 단계에서, 현재 프레임을 코딩하는 MDCT에 대해 이용 가능한 예산을 정의하기 위해, 전이 CELP 서브 프레임의 코딩에 필요한 비트의 예산을 예상하는 단계. 다음에서 설명되는 바와 같이, 상기 예산은 현재 프레임 레이트(rate)에 따라 달라질 수 있다. 또한, 상기 예산은 사용된 CELP 코어에 따라 평가될 수 있다. MDCT 코딩의 품질을 떨어뜨리지 않기 위한 충분한 비트 예산을 보존하기 위해, 본 발명은 CELP 서브 프레임에 대한 코딩 레이트를 제한하는 것을 제공할 수 있다. 이를 위해, 그것은 도 7의 장치(700)와 같은 전이 프레임 내 비트 분포를 결정하는 장치를 포함한다;- In
- 210 단계에서, 후술하는 도 3에 따라 코더에서 사용된 MDCT 윈도우를 수정하는 단계;- In
- 207 단계에서, 선행 프레임이 CELP 프레임이기 때문에 MDCT 변환 메모리를 제로화(zeroing)하는 단계 - 같은 방법으로 MDCT 메모리는 MDCT 디코딩에서 무시될 수 있다.- In
일 실시예에서, 이러한 단계들 중 적어도 하나는 후술하는 전이 프레임 코딩 유닛(106)에 의해 수행된다.In one embodiment, at least one of these steps is performed by a transition
전이 MDCT 프레임은 이하에서 설명되는 바와 같이, 212 단계에서 MDCT 코더(105)에 의해 코딩되고, 209 단계에서 할당된 비트의 예산에 기초하여 코딩된다. 또한, 추가 CELP 서브 프레임은 213단계에서, 도 3을 참조하여 이하에서 설명되는 바와 같이, CELP 코더(103)에 의해 코딩되고, 209 단계에서 할당된 비트 예산에 따라 결정될 수 있다. CELP 코딩은 MDCT 코딩 전 또는 후에 수행될 수 있다.The transition MDCT frame is coded by the
도 3은 코딩 전, 코더의 코딩 전 및 디코더의 디코딩 전의 CELP 및 MDCT 프레임 간의 전이를 도시한다.Figure 3 shows the transition between CELP and MDCT frames before coding, before coding of the coder and before decoding of the decoder.
코드(301)에 대한 프레임은 코더(100)에서 수신되고 CELP 코더(103)에 의해 코딩된다. 현재 프레임(302)은 MDCT 변환 코딩되도록 코더(100)의 입력에 의해 수신된다. 따라서, 이것이 전이 프레임이다. 또한, 상기 코더의 입력에 의해 수신된 다음 프레임(303)은 MDCT 변환 코딩된다. 본 발명에 따르면, 상기 후속 프레임(303)은 CELP 코딩에 의해 코딩될 수 있고, 상기 다음 프레임(303)에 대해 사용되는 코딩에 대한 제한은 없다.The frame for the
비대칭 MDCT 윈도우(304)는 현재 프레임을 코딩하기 위해 사용될 수 있다. 이 윈도우(304)는 14.375ms의 상승 에지(307), 11.25ms의 1에서의 이득을 갖는 레벨, 선견자(lookahead)에 대응하는 8.75 ms의 하강 에지(309) 및 5.265 ms의 널(null) 부분(310)을 도시한다. 상기 널(null) 부분(310)을 추가하는 것은 상기 선견자 및 이에 따른 대응 지연을 감소시킨다. 일 실시예에서, MDCT 코딩을 위한 MDCT 분석 윈도우의 형태는, 예를 들어, 선견자를 더 감소시키거나 특허 출원 WO2012/085451에 주어진 예들과 함께 대칭 윈도우를 사용하기 위해 수정된다.The
점선(312)은 MDCT 윈도우(304)의 매체를 나타낸다. 상기 선(312)의 양측에서, MDCT 윈도우(212)의 10ms 쿼터는 도입부에서 기술된 바와 같이 앨리어싱된다. 실선(311)은 MDCT 윈도우(304)의 제 1 쿼터 및 제 2 쿼터 사이의 앨리어싱 영역을 나타낸다. 다음 프레임(303)의 MDCT 윈도우는 306으로 참조되며, MDCT 윈도우(304)의 하강 에지(309)에 대응하는 MDCT 윈도우(304)를 갖는 중첩-가산 영역을 보여준다.
MDCT 윈도우(305)는 그것이 MDCT 변환 코딩된 경우 상기 이전 윈도우에 적용될 윈도우를 이론적으로 나타낸다. 그러나, 선행 프레임(301)이 CELP 코더(103)에 의해 코딩되는 경우, 디코더에서 MDCT 변환 코딩된 프레임의 제 1 부분의 개방을 허용하기 위해, 윈도우는 제 1 쿼터에서 공백(null)이다(앞의 MDCT 프레임의 제2 부분을 사용할 수 없기 때문이다). The
이러한 목적을 위해, MDCT 윈도우(304)는 디코더에서 상기 MDCT 프레임의 제 1 부분에서 시간 영역 앨리어싱을 허용하면서 제로에서 제 1 쿼터를 갖는 MDCT 윈도우(313)에 의해 수정된다.For this purpose, the
디코더에서, 분석 윈도우들(304, 305, 306 및 313)은 각각 합성 윈도우들(324, 325, 326 및 327)에 대응한다. 따라서 상기 합성 윈도우는 상응하는 분석 윈도우와 관련하여 시간상 반전(time-reversed)된다. 본 발명의 변형 예에서, 분석 및 합성 윈도우는 동일하거나 사인파(sinusoidal)의 유형 또는 다른 것일 수 있다.In the decoder, the
CELP 코딩에 의해 코딩된 새로운 샘플들의 제 1 프레임(320)은 디코더에서 수신된다. 그것은 이 CELP 프레임(301)의 코드화된 버전에 대응한다. 여기서, 디코딩된 프레임은 프레임(320)에 대해 8.75ms만큼 시프트된다는 것을 상기한다.The
전이 프레임(302)의 코드화된 버전이 수신된다(완전한 프레임을 형성하는 321 및 222을 참조). CELP 프레임(320)의 끝과 합성 윈도우(327) (앨리어싱 라인에 대응함)의 상승 에지의 시작 사이에 갭(gap)이 생성된다. 여기서 나타낸 특정 예에서, MDCT 윈도우의 1/4은 10ms이고, 이 CELP 프레임(220)을 커버하는 합성 윈도우 MDCT(324)의 널 부분은 5.625ms이고(MDCT 분석 윈도우(204)의 부분(310)에 대응함), 상기 갭은 4.275ms이다. 또한, MDCT 윈도우(327)의 널(null)이 아닌 부분의 시작과 함께 만족스러운 중첩-가산 길이를 보장하기 위해, 이 CELP 프레임(320)과 상기 MDCT 윈도우(327)의 시작 사이의 지연은 필요한 길이로 연장된다. 다음의 예에서, 도 2의 참조 번호(321)로 표현되는 바와 같이, 설명을 위해, 1.875ms의 만족스러운 중첩-가산 길이가 고려되고, 전술한 지연(누락된 신호 길이에 상응함)은 6.25ms가 된다.A coded version of the
도 3에 나타낸 신호 프레임들은 CELP 코딩/디코딩의 경우에 12.8 또는 16kHz의 상이한 샘플링 주파수들에서의 신호들을 포함할 수 있고, MDCT 코딩/디코딩의 경우에는 fs를 포함할 수 있음을 주목해야 한다. 그러나, 디코더에서, CELP 합성의 리샘플링 및 MDCT 합성의 시간 시프트 후에, 그 프레임들은 동기화된 채로 유지되고 도 3의 표현은 정확하게 유지된다.It should be noted that the signal frames shown in FIG. 3 may include signals at different sampling frequencies of 12.8 or 16 kHz in the case of CELP coding / decoding and may include fs in the case of MDCT coding / decoding. However, at the decoder, after a time shift of the resampling and MDCT synthesis of the CELP synthesis, the frames remain synchronized and the representation of Fig. 3 remains accurate.
전술한 바와 같이, 출원 WO2012/085451은 12.8 kHz CELP 코딩의 경우, MDCT 전이 프레임의 시작에서 5ms의 추가 CELP 서브 프레임을 코딩하고, 16 kHz CELP 코딩의 경우에는 MDCT 전이 프레임의 시작에서 각각 4 ms의 2 개의 추가 CELP 프레임들을 코딩한다.As described above, application WO2012 / 085451 codes additional CELP subframes of 5 ms at the beginning of the MDCT transition frame for 12.8 kHz CELP coding and 4 ms at the beginning of the MDCT transition frame for 16 kHz CELP coding Coding two additional CELP frames.
12.8kHz의 경우, 6.25ms 지연은 채워지지 않고 중첩-가산이 영향을 받는다: 디코더에서 단지 0.625ms의 중첩-가산만이 충분하지 않다.At 12.8 kHz, the 6.25 ms delay is not satisfied and the overlap-addition is affected: only a nesting-add of 0.625 ms is not enough at the decoder.
16kHz의 경우에, 2개의 추가 CELP 서브 프레임들이 전이 프레임의 시작에서 코딩되며, 그것은 전이 MDCT 프레임을 코딩하기 위한 예산을 거의 남기지 않아, 낮은 레이트로 상당한 품질 저하를 초래할 수 있다.In the case of 16 kHz, two additional CELP subframes are coded at the beginning of the transition frame, which leaves little budget for coding the transition MDCT frame and can result in significant degradation at low rates.
이러한 단점을 극복하기 위해, 본 발명은 CELP 코더(103)에 의해 12.8 또는 16 kHz에서 하나의 추가 CELP 서브 프레임의 코딩을 제안한다. 상술한 6.25 ms 길이의 누락된 신호를 생성하기 위해, 다음에 상세히 설명되는 바와 같이 추가 샘플들이 디코더에서 생성된다.To overcome this drawback, the present invention proposes the coding of one additional CELP subframe at 12.8 or 16 kHz by the
전이 CELP 서브 프레임을 코딩하기 위해, 유닛(106)은 선행 CELP 프레임의 적어도 하나의 CELP 파라미터를 재사용 할 수 있다. 예를 들어, 유닛(106)은 이전 CELP 서브 프레임의 선형 예측 계수 A(z)뿐만 아니라 이전 프레임 혁신(이전에 기술된 바와 같이 메모리(107)에 저장된)으로부터의 에너지를 적응적 사전 벡터, 적응 이득, 고정 이득, 및 전이 CELP 서브 프레임의 고정 사전 벡터를 코딩하기 위하여 재사용할 수 있다. 따라서, 추가 CELP 서브 프레임은 선행 CELP 프레임과 동일한 코어(12.8 kHz 또는 16 kHz)로 코딩될 수 있다.To code the transitional CELP subframe, the
전이 프레임 코딩 유닛(106)은 본 발명에 따른 전이 프레임 코딩을 보장한다. 본 발명은 코딩된 프레임(322)이 전이 프레임임을 나타내는 추가 비트의 비트 흐름에서 유닛(106)에 의한 삽입을 더 제공할 수 있으나, 일반적인 경우들에서, 이러한 전이 프레임 지시는 여분의 비트들을 취함이 없이 현재의 프레임 코딩 모드의 글로벌 표시로 전송될 수 있다.Transition
또한, 본 발명은 상기 디코더의 합성 신호의 상기 샘플 주파수가 반드시 CELP 코어 주파수와 동일할 필요가 없기 때문에, 이 유닛(116)은 후자가 요구될 때, 204 단계 및 214 단계(소위 "대역 확장" 방법)에서 고정된 예산으로 고 대역의 신호를 코딩할 수 있다.Also, since the present invention does not require that the sample frequency of the synthesized signal of the decoder need to be equal to the CELP core frequency, the unit 116 may perform
이러한 목적으로, 전이 프레임(106)의 코딩 유닛은 다음의 단계들을 구현할 수 있다:For this purpose, the coding unit of the
- 스펙트럼의 높은 부분(사용된 CELP 코어에 상응하는 주파수 이상, 즉, 6.4 또는 8 kHz 이상)을 보존하기 위해 고 대역 통과 필터에 의해 상기 전이 프레임의 CELP 선행 프레임 및 CELP 서브 프레임을 필터링하는 단계. 이러한 필터링은 CELP 코더(103)로부터의 유한 임펄스 응답(FIR)을 갖는 필터에 의해 구현될 수 있다;Filtering the CELP leading frame and the CELP subframe of the transition frame by a high pass filter to preserve a high portion of the spectrum (above the frequency corresponding to the CELP core used, i.e. above 6.4 or 8 kHz). This filtering may be implemented by a filter having a finite impulse response (FIR) from the
- 지연 파라미터와 이득(gain)을 추정하기 위해 원래의 전이 CELP 서브 프레임의 필터링된 부분과 필터링된 선행 CELP 프레임 사이의 상관을 검색하는 단계(필터링된 서브 프레임에 대응하는 신호와 지연을 적용함으로써 예측된 신호 사이의 진폭 차이);- searching for a correlation between the filtered portion of the original transitional CELP sub-frame and the filtered preceding CELP frame to estimate the delay parameter and gain (prediction by applying a signal and a delay corresponding to the filtered sub- ≪ / RTI >
- 예를 들어, 스칼라 정량화(scalar quantification)를 사용하여 지연 파라미터 및 상술한 이득을 코딩하는 단계(예를 들어, 지연은 6 비트 이상으로 코딩될 수 있고, 이득은 6 비트 이상으로 코딩될 수 있다).For example, using a scalar quantification to code a delay parameter and the gain described above (e.g., the delay can be coded to 6 bits or more, and the gain can be coded to 6 bits or more ).
전술한 209 단계는 본 발명의 일 실시예에 따른 변환 코딩을 위한 비트 분포를 결정하는 방법의 단계들을 도시하는 도 4를 참조하여 보다 상세하게 설명된다. 상술한 방법은 코더 및 디코더에서 동일한 방식으로 수행되지만, 오직 설명의 목적으로 코더 측에 도시된다.The above-described
400 단계에서, 현재 프레임 코딩에 할당될 수 있는 core_brate로 표시된 토탈 레이트(비트/s)는 MDCT 코더의 출력 레이트와 동일하게 고정된다. 이러한 예시에서 20ms로 고려되는 프레임의 지속 시간, 초당 프레임의 수는 50이고 비트 단위의 토탈 예산은 core_brate/50과 같다. 토탈 예산은 고정 레이트 코더의 경우 고정될 수도 있고, 또는 가변 레이트 코더의 경우 가변적일 수도 있다. 다음에서는, num_bits 변수가 사용되며 core_brate/50 값으로 초기화된다.In
401 단계에서, 전이 유닛(104)은 이러한 선행 CELP 프레임을 코딩하기 위해 사용된 적어도 2 개의 CELP 코어로부터 CELP 코어를 결정한다. 다음의 예시에서, 두 개의 CELP 코어가 고려되며, 각각 12.8 kHz와 16 kHz의 주파수에서 작동한다. 대안으로, 단일 CELP 코어는 코딩시 및/또는 디코딩시에 구현된다.In
선행 CELP 프레임에 사용된 CELP 코어가 12.8 kHz 주파수를 갖는 경우, 상기 방법은 전이 서브 프레임을 CELP 코딩하기 위해 cbrate으로 라벨링되는(labeled) 비트 레이트를 할당하는 단계(402)를 포함하며, 상기 비트 레이트는 전이 프레임의 MDCT 코딩에 대한 비트 레이트와 제 1 미리 결정된 비트 레이트 값 사이의 최소값과 동일하다. 상기 제 1 미리 결정된 값은 예를 들어, 24.4 kbit/s로 고정될 수 있으며, 이것은 전송 코딩을 위한 만족스러운 비트 예산을 보장하게 한다.If the CELP core used in the preceding CELP frame has a frequency of 12.8 kHz, the method includes allocating (402) a bit rate labeled cbrate for CELP coding the transition subframe, Is equal to the minimum value between the bit rate for the MDCT coding of the transition frame and the first predetermined bit rate value. The first predetermined value may be fixed, for example, to 24.4 kbit / s, which ensures a satisfactory bit budget for transmission coding.
따라서, cbrate = min(core_bitrate, 24400). 이 제한은 기껏해야 24.40 kbit/s의 CELP 코딩에 의해 코딩된 것처럼 코딩된 CELP 파라미터를 갖는 추가 서브 프레임으로 제한된, 제한된 CELP 코딩의 동작을 억제하는 것과 동일하다.Thus, cbrate = min (core_bitrate, 24400). This limitation is equivalent to inhibiting the operation of limited CELP coding, limited to additional subframes with coded CELP parameters as coded at most by 24.40 kbit / s CELP coding.
선택적 단계인 403 단계에서, 할당된 비트 레이트는 11.60 kbit/s CELP 비트 레이트와 비교된다. 만약 상기 할당된 비트 레이트가 더 높으면, 적응형 사전(adaptive dictionary)을 저역 통과 필터링하기 위한 비트 표시를 코딩하기 위한 비트가 예약될 수 있다(예컨대, 12.65 kbit/s보다 높거나 같은 속도로 AMR-WB 코딩하는 경우). num_bits 변수가 업데이트된다.In an
num_bits := num_bits - 1 num_bits: = num_bits - 1
404 단계에서, budg1로 라벨링된 제 1 비트 수는 추가 CELP 서브 프레임을 예측 코딩하기 위해 할당된다. 상기 제 1 비트 수(budg1)는 CELP 서브 프레임을 코딩하는데 사용되는 CELP 파라미터를 나타내는 비트 수를 나타낸다. 상술한 바와 같이, CELP 서브 프레임의 코딩은 제한된 수의 CELP 파라미터가 사용되며, 선행 CELP 프레임을 코딩하는데 사용된 일부 파라미터가 유리하게 재사용될 수 있다.In
예를 들어, 여기(excitation)만이 추가 CELP 서브 프레임을 코딩하기 위해 모델링될 수 있고, 따라서 비트는 고정 사전 벡터, 적응 사전 벡터 및 이득 벡터에 대해서만 예약된다. 이러한 각각의 파라미터들에 귀속되는 비트의 수는 402 단계에서 이 추가 CELP 서브 프레임을 코딩하기 위해 할당된 비트 레이트로부터 추론된다. 예를 들어, ITU-T의 G.722.2의 2003 년 7 월 버전에서 시작된, 표 1/G722.2 - 20ms 프레임에 대한 AMR-WB 부호화 알고리즘의 비트 분포는, 할당된 비트 레이트에 따라 CELP 파라미터에 의한 비트 할당 예시를 제공한다.For example, only excitation can be modeled to code additional CELP subframes, so the bits are reserved only for fixed dictionary vectors, adaptive dictionary vectors, and gain vectors. The number of bits attributed to each of these parameters is deduced from the bit rate assigned in
이전의 예시에서, 서브 프레임 코딩이 제한되는 경우, budg1은 적응 사전, 고정 사전 및 이득 벡터 각각에 기인한 비트의 합계에 대응한다. 예를 들면, 할당된 비트 레이트가 19.85kbit/s인 경우, 전술한 표 1/G722를 참조하여, 고정 사전(음색 리드 타임)에 9 비트가 할당되고, 이득 벡터(디렉토리 이득)에 7 비트가 할당된다. 이 경우, budg1은 88 비트와 같다.In the previous example, if subframe coding is restricted, budg1 corresponds to the sum of the bits due to each of the adaptive dictionary, the fixed dictionary and the gain vector. For example, when the allocated bit rate is 19.85 kbit / s, 9 bits are allocated to the fixed dictionary (tone lead time) and 7 bits are allocated to the gain vector (directory gain) . In this case, budg1 is equal to 88 bits.
num_bits 변수가 업데이트될 수 있다:The num_bits variable can be updated:
num_bits := num_bits - budg1num_bits: = num_bits - budg1
또한, 본 발명은 CELP 파라미터들에 대한 비트의 할당에서 프레임 카테고리들을 고려하는 것을 제공할 수 있다. 예를 들어, ITU-T의 2008 년 6 월 버전인 G.718 규범(norm)의 6.8 및 8.1 절은 범주, 비 음성 모드(UC)와 같은 모드, 음성 모드(VC), 전이 모드(TC) 및 일반 모드(GC), 또는 할당된 비트 레이트(각각 8kbit/s 및 8+4kbit/s 속도에 해당되는 layer1 또는 layer2)에 따라 달라지는 각 CELP 파라미터에 할당할 예산을 제공한다. 코더 G.718은 계층적 코더이지만, AMR-WB의 멀티 레이트 할당과 함께 G 718 카테고리화(categorization)를 사용하여 CELP 코딩 원리를 결합하는 것이 가능하다.The present invention may also provide for considering frame categories in the allocation of bits for CELP parameters. For example, sections 6.8 and 8.1 of the G.718 norm, the June 2008 version of ITU-T, describe categories, modes such as non-voice mode (UC), voice mode (VC) And a budget allocated to each CELP parameter depending on the normal mode (GC), or the assigned bit rate (layer 1 or layer 2 corresponding to 8 kbit / s and 8 + 4 kbit / s speed, respectively). Coder G.718 is a hierarchical coder, but it is possible to combine CELP coding principles using G 718 categorization with multi-rate allocation of AMR-WB.
401 단계에서 선행 CELP 프레임에 대해 사용된 CELP 코어가 16 kHz 주파수를 가지는 것으로 결정되면, 상기 방법은 상기 전이 서브 프레임을 CELP 코딩하기 위한 비트 레이트(cbrate로 라벨링된)를 할당하는 405 단계를 포함하고, 상기 비트 레이트는 상기 전이 프레임을 코딩하는 MGCT에 대한 비트 레이트와 상기 비트 레이트의 제 1 미리 결정된 값 사이의 최소값과 동일하다. 16 kHz 코어의 경우, 제 1 미리 결정된 값은, 예를 들어, 22.6 kbit/s로 고정될 수 있으며, 이는 변환 코딩을 위한 만족스러운 비트 예산을 보장하도록 허용한다. 따라서, 제 1 미리 결정된 값은 선행 CELP 프레임의 코드에 사용된 CELP 코어에 의존한다. 또한, 16 kHz 코어를 코딩하기 위해, CELP 코딩에 비트 레이트를 할당할 때, 임계 값(threshold value)이 적용될 수 있다. 따라서, 할당된 비트 레이트는 변환 코딩된 전이 프레임에 대한 비트 레이트와 적어도 하나의 미리 결정된 제 2 미리 결정된 비트 레이트 값 사이의 최대 값과 동일하며, 상기 제 2 값은 상기 제 1 값보다 낮다. 트레이드(trade)의 상기 제 2 미리 결정된 값은, 예를 들어 14.8 kbit/s 일 수 있다. 따라서, 변환 코딩된 전이 프레임에 대한 비트 레이트가 14.8kbit/s보다 낮으면, 전이 서브 프레임을 코딩하는 CELP에 대해 할당되는 비트 레이트는 14.8kbit/s 일 수 있다.If it is determined in
보완적인 일 실시예에서, 변환 코딩된 전이 프레임에 대한 비트 레이트가 8 kbit/s보다 낮으면, 할당된 레이트는 8 kbit/s 일 수 있다.In one complementary embodiment, if the bit rate for the transform coded transition frame is less than 8 kbit / s, the allocated rate may be 8 kbit / s.
따라서, 이러한 보완적인 실시 예에 따르면, 다음의 알고리즘이 얻어진다:Thus, according to this complementary embodiment, the following algorithm is obtained:
If core_bitrate ≤ 8000If core_bitrate ≤ 8000
cbrate = 8000 cbrate = 8000
Otherwise if core_bitrate ≤ 14800Otherwise if core_bitrate ≤ 14800
othercbrate = 14800 othercbrate = 14800
OtherwiseOtherwise
cbrate = min(core_bitrate , 22600) cbrate = min (core_bitrate, 22600)
End if End if
선택적 단계인 407 단계에서, 할당된 비트 레이트는 11.60 kbit/s의 CELP 비트 레이트와 비교된다. 할당된 비트 레이트가 더 높으면, 비트는 적응 사전의 저역 필터링 비트 표시를 코딩하기 위해 예약될 수 있다. num_bits 변수는 업데이트된다.In an
num_bits := num_bits - 1num_bits: = num_bits - 1
408 단계에서, 404 단계와 동일한 방식으로, 추가 CELP 서브 프레임을 예측 코딩하기 위해 제 1 비트 수 budg1이 할당되고, budg1은 전이 서브 프레임을 CELP 코딩하기 위해 할당된 비트 레이트에 의존한다.In
다양한 코어 주파수에서의 코딩에 공통적인 410 단계에서, budg2로 라벨링된 제 2 수는 전이 프레임의 변환 코딩을 위해 할당되고, 전이 프레임의 총 비트 수인 제 1 비트 수 budg1으로부터 계산된다. 위의 계산과 관련하여 budg2는 num_bits 변수와 같다. 일반적으로, 전이 현재 프레임의 모드는 MDCT 코딩 예산에 귀속되는 것으로 가정되므로, 이 정보는 명시적으로 고려되지 않는다.In a
오디오 신호가 적어도 하나의 저 대역 주파수 및 하나의 고 대역 주파수로 분해되는 경우, 전이 서브 프레임의 저 대역 주파수를 코딩하기 위해 선행 단계가 구현될 수 있다. 상이한 코어 주파수에서의 코딩에 공통적인 410 단계 이전의 선택적인 단계 409 단계에서, 상기 방법은 상기 전이 서브 프레임의 주파수 고 대역을 코딩하기 위해, budg3으로 라벨링된 제 3 미리 결정된 비트 수를 할당하는 단계를 포함할 수 있다. 이 경우, 제 2 비트 수(budg2)는 제 1 비트 수(budg1) 및 제 3 비트 수(budg3)로부터 계산된다.If the audio signal is decomposed into at least one low band frequency and one high band frequency, the preceding steps can be implemented to code the low band frequency of the transition sub-frame. In an
이전에 설명한 바와 같이, 전이 서브 프레임의 고 대역 주파수(또는 대역을 확장)을 코딩하는 것은 오디오 신호의 선행 프레임과 전이 서브 프레임 사이의 상관 관계에 기초할 수 있다. 예를 들어, 고 대역 주파수를 코딩하는 것은 두 단계로 분해될 수 있다.As previously described, coding the high band frequency (or extending the band) of the transition subframe may be based on the correlation between the preceding frame and the transition subframe of the audio signal. For example, coding high band frequencies can be broken down into two stages.
첫 번째 단계에서, 오디오 신호의 선행 프레임 및 현재 프레임은 하이 패스 필터에 의해 필터링되어 스펙트럼의 상위 부분만을 유지한다. 스펙트럼의 상위 부분은 사용된 CELP 코어의 주파수보다 높은 주파수에 해당할 수 있다. 예를 들어, 사용된 CELP 코어가 12.8 kHz CELP 코어인 경우, 상기 고 대역은 12.8 kHz보다 낮은 주파수가 필터링된 오디오 신호에 해당한다. 이러한 필터링은 FIR 필터에 의해 구현될 수 있다.In the first step, the preceding frame and the current frame of the audio signal are filtered by a high pass filter to maintain only the upper part of the spectrum. The upper part of the spectrum may correspond to a frequency higher than the frequency of the CELP core used. For example, if the CELP core used is a 12.8 kHz CELP core, the high band corresponds to a filtered audio signal with a frequency lower than 12.8 kHz. This filtering can be implemented by a FIR filter.
두 번째 단계에서, 선행 프레임 및 현재 프레임의 필터링된 부분들 사이의 상관 관계 검색이 수행된다. 이러한 상관 관계 검색은 지연 파라미터를 추정한 다음, 이득을 추정할 수 있게 한다. 상기 이득은 현재 프레임의 필터링된 부분과 지연을 적용하여 예측된 신호 사이의 진폭 비율에 해당한다.In the second step, a correlation search is performed between the preceding frame and the filtered portions of the current frame. This correlation search allows estimating the delay parameter and then estimating the gain. The gain corresponds to the amplitude ratio between the filtered portion of the current frame and the predicted signal by applying a delay.
예를 들어, 이득을 위해 6 비트가 할당되고 지연을 위해 6 비트가 할당될 수 있다. 제 3 비트 수(budg3)는 12가 된다.For example, 6 bits may be allocated for gain and 6 bits for delay. And the third bit number (budg3) becomes 12.
num_bits 변수는 업데이트 될 수 있다.The num_bits variable can be updated.
num_bits := num_bits - budg3num_bits: = num_bits - budg3
따라서, 제 2 비트 수(budg2)는 업데이트된 변수num_bits 와 동일하다.Thus, the second number of bits (budg2) is equal to the updated variable num_bits.
도 5는 본 발명의 일 실시예에 따른 오디오 디코더(500)를 도시하고, 도 6은 도 5의 오디오 디코더(500)에서 구현되는 본 발명의 일 실시예에 따른 디코딩 방법의 단계들을 도시하는 다이어그램이다.FIG. 5 illustrates an
디코더(500)는 도 1의 코더(500)로부터 발생된 코딩된 디지털 신호(또는 비트 플로우(flow))를 601 단계에서 수신하기 위한 수신 유닛(501)을 포함한다. 만약, 현재 프레임이 CELP 프레임, MDCT 프레임 또는 전이 프레임인 경우, 상기 비트 플로우는 602 단계에서 결정할 수 있는 카테고리화 유닛(502)에 제출된다. 이를 위해, 카테고리화 유닛(502)은 현재의 프레임이 전이 프레임인지 여부를 나타내는 비트 플로우 정보와 어떤 CELP 코어가 CELP 프레임 또는 전이 CELP 서브 프레임을 디코딩하는데 사용할지를 나타내는 정보로부터 비트 플로우를 감산할 수 있다.The
603 단계에서, 현재 프레임이 전이 프레임임이 확인된다.In
만약 현재 프레임이 전이 프레임이 아닌 경우, 604 단계에서 현재 프레임이 CELP 프레임임이 확인된다. 만약 그런 경우라면, 상기 프레임은 카테고리화 유닛(502)에 의해 지시된 코어 주파수로, 605 단계에서 CELP 프레임을 디코딩 할 수 있는 CELP 디코더(504)에 전송된다. CELP 프레임을 디코딩한 후에, CELP 디코더(504)는 606 단계에서 선형 예측 필터 계수들(A(z))과 같은 파라미터들과 다음 프레임이 전이 프레임인 경우의 예측 에너지와 같은 내부 상태들을 메모리(506)에 저장한다.If the current frame is not a transition frame, it is confirmed in
CELP 디코더(504)로부터의 출력으로서, 신호는 607 단계에서 리샘플링 유닛(505)에 의해 디코더(500)의 출력 주파수로 리샘플링될 수 있다. 본 발명의 일 실시예에서, 리샘플링 유닛은 FIR 필터를 포함하고 리샘플링은 (예를 들어) 1.25 ms의 지연을 도입한다. 일 실시예에서, 후 처리는 리샘플링 전 또는 후에 CELP 디코딩에 적용될 수 있다.As an output from the
상술한 바와 같이, 일 실시예에서, 대역 확장은 6071 및 6151 단계에서 대역 확장의 관리 유닛(5051)에 의해 현재 프레임이 CELP 유형일 때 고 대역과 연관된 디코딩으로 수행될 수 있다. 그 다음, 고 대역은 CELP 코딩과 결합되어 잠재적으로 저 대역에서 CELP 합성에 추가 지연이 적용될 수 있다.As described above, in one embodiment, band extension may be performed with the decoding associated with the high band when the current frame is the CELP type by the
CELP 디코더에 의해 디코딩되고 리샘플링되기 전 또는 후에 잠재적으로 후처리되고 리샘플링된 신호는 608 단계에서 디코더의 출력 인터페이스(510)로 전송된다.A signal that is potentially post-processed and resampled before or after being decoded and resampled by the CELP decoder is transmitted to the
디코더(500)는 MDCT 디코더(507)를 더 포함한다. 604 단계에서 현재 프레임이 MDCT 프레임인 것으로 결정되는 경우, MDCT 디코더(507)는 609 단계에서 고전적인 방식으로 MDCT 프레임을 디코딩할 수 있다. 610 단계에서, CELP 디코더(504)로부터 발생되는 신호의 리샘플링 애플리케이션(application)에 필요한 지연에 대응하는 지연은 지연 유닛(508)에 의해 디코더 출력에 적용되어 MDCT 합성을 CELP 합성과 동기화시킨다. MDCT에 의해 디코딩되고 지연된 신호는 608 단계에서 디코더의 출력 인터페이스(510)로 전송된다.The
현재 프레임이 603 단계 이후에 전이 프레임으로 결정되는 경우, 비트의 분포를 결정하는 장치(503)는 611 단계에서 전이 프레임의 CELP 코딩을 위해 할당된 제 1 비트 수(budg1)와 전이 프레임의 변환 코딩을 위해 할당된 제 2 비트 수(budg3) 를 결정할 수 있다. 상기 장치(503)는 도 7을 참조하여 상세히 설명된 장치(700)에 대응할 수 있다.If the current frame is determined to be a transition frame after
MDCT 디코더(507)는 결정 유닛(503)에 의해 계산된 제 3 비트 수(budg3)를 사용하여 전이 프레임의 디코딩에 필요한 레이트를 조정한다. MDCT 디코더(507)는 MDCT 변환의 메모리를 더 제로화하고 612 단계에서 전이 프레임을 디코딩한다. MDCT 디코더로부터 발생하는 신호는 613 단계에서 지연 유닛(508)에 의해 지연된다.The
동시에, CELP 디코더(504)는 614 단계에서 제 1 비트 수 budg1에 기초하여 전이 CELP 서브 프레임을 디코딩한다. 이러한 목적을 위해, CELP 디코더(504)는 현재 프레임 카테고리에 의존할 수 있는 CELP 파라미터를 디코딩하고, 그리고 예를 들어 적응 사전으로부터의 피치 값, CELP 서브 프레임의 고정 및 이득 사전을 포함하고, 선형 예측 필터 계수를 사용한다. 게다가, CELP 디코더(504)는 CELP 디코딩 상태를 업데이트한다. 이러한 상태들은 전형적으로 12.8 kHz 또는 16 kHz CELP 코어가 사용되는지 여부에 따라, 4 ms 또는 5 ms에 걸쳐 신호 서브 프레임을 생성하기 위한 선행 CELP 프레임으로부터 발생하는 혁신(innovation)의 예측 에너지를 포함할 수 있다(전이 CELP 서브 프레임을 제한된 코딩하는 경우).At the same time, in
전술 한 바와 같이, 출원 WO2012/085451은 12.8 kHz의 CELP 코어에 대한 5 ms의 서브 프레임 및 16 kHz의 CELP 코어에 대한 4 ms의 2 개의 추가 서브 프레임을 추가 코딩하는 것을 제공한다.As described above, application WO2012 / 085451 provides a further coding of two additional sub-frames of 4 ms for a 5 ms sub-frame for a CELP core of 12.8 kHz and a CELP core of 16 kHz.
도 3을 참조하여 설명된 바와 같이, 12.8 kHz의 경우, 6.25 ms 지연은 채워지지 않고 중첩-가산이 영향을 받는다: 디코더는 단지 0.625 ms의 중첩-가산을 가지며, 이는 불충분하다.As described with reference to FIG. 3, for 12.8 kHz, the 6.25 ms delay is not satisfied and the superposition-addition is affected: the decoder only has a superposition-add of 0.625 ms, which is insufficient.
16 kHz의 경우, 추가 CELP 서브 프레임에 대해, 전이 프레임의 시작시에 코딩되고, 이것은 전이 MDCT 프레임을 코딩하기 위한 예산을 거의 남기지 않고, 현재의 프레임에서 “풀 레이트(full-rate)”로 MDCT 코딩에 대한 품질 저하를 야기할 수 있다. At 16 kHz, for an additional CELP sub-frame, it is coded at the beginning of the transition frame, which leaves little budget for coding the transition MDCT frame, and is a "full-rate" MDCT It may cause deterioration in quality of coding.
따라서, 국제 출원 WO2012/085451의 해결책은 만족스럽지 않다.Thus, the solution of international application WO2012 / 085451 is unsatisfactory.
본 발명의 독립적인 양상은, 하나의 추가 전이 CELP 서브 프레임으로부터, 전이 CELP 서브 프레임을 부호화하기 위해 사용된 코딩 파라미터를 재사용함으로써 제 2 서브 프레임을 부분적으로 생성한다. 따라서, 지연은 충분한 중첩 가산을 보장하고, 전이 프레임의 MDCT 코딩 레이트에 영향을 미치지 않으면서 채워진다.An independent aspect of the present invention partially generates a second sub-frame by reusing, from one additional transition CELP sub-frame, the coding parameters used to encode the transition CELP sub-frame. Thus, the delay guarantees sufficient overlap addition and is filled without affecting the MDCT coding rate of the transition frame.
이러한 목적을 위해, 본 발명은 또한, 예측 디코딩에 따라 또는 변환 디코딩에 따라 신호 프레임을 디코딩할 수 있는 디코더(500)에서 코딩된 디지털 신호 P를 디코딩하는 방법을 목표로 한다. 상기 방법은 다음의 단계를 포함할 수 있다:For this purpose, the present invention also aims at a method for decoding a coded digital signal P in a
- 501단계에서, 제 1 디지털 신호 프레임을 코딩하는 예측 코딩 파라미터들의 제 1 세트를 수신하는 단계;- receiving, in
- 605단계에서, 예측 코딩 파라미터의 제 1 세트에 기초하여 제 1 프레임을 예측 디코딩하는 단계;- predicting the first frame based on the first set of predictive coding parameters in
- 새로운 프레임에 대해 501 단계에서, 변환 코딩된 전이 프레임의 제 1 전이 서브 프레임을 예측 코딩하기 위한 파라미터들의 제 2 세트를 수신하는 단계;Receiving a second set of parameters for predicting a first transition subframe of the transform coded transition frame in
- 614단계에서, 상기 제 2 세트의 예측 코딩 파라미터들에 기초하여 상기 제 1 전이 서브 프레임을 디코딩하는 단계,- decoding the first transition sub-frame based on the second set of predictive coding parameters in
- 614단계에서, 상기 제 2 세트의 적어도 하나의 예측 코딩 파라미터로부터 제 2 전이 서브 프레임으로부터의 샘플을 생성하는 단계.- generating, in
본 발명은 또한 P를 디코딩하는 방법을 구현하기 위한 디코더(500)뿐만 아니라, 명령들이 프로세서에 의해 실행될 때 P를 디코딩하는 방법을 수행하기 위한 상기 명령들을 포함하는 컴퓨터 프로그램을 목표로 한다.The present invention also contemplates a computer program that includes the
제 2 서브 프레임을 생성하기 위해 재사용되는 CELP 파라미터는 이득 벡터, 적응 사전 벡터 및 고정 사전 벡터 일 수 있다.The CELP parameters reused to generate the second subframe may be a gain vector, an adaptive dictionary vector, and a fixed dictionary vector.
P를 디코딩하는 방법의 일 실시예에 따르면, 최소 오버랩 값은 변환 디코딩을 위해 미리 정의될 수 있고, 제 2 서브 프레임으로부터 생성된 샘플들의 수는 상기 최소 오버랩 값에 기초하여 결정된다. 이 마지막 서브 프레임은 제 1 서브 프레임에서와 동일한 피치 지연 및 동일한 적응 사전 이득을 갖는 피치 예측을 반복함으로써 CELP 합성을 연장하고, 동일한 LPC 계수 및 디엠퍼시스(de-emphasis) 또는 디액센트 (de-accentuation)를 이용하여 합성 LPC 필터링을 수행함으로써 추가 정보 없이 생성될 수 있다. According to one embodiment of the method for decoding P, the minimum overlap value can be predefined for transform decoding, and the number of samples generated from the second subframe is determined based on the minimum overlap value. This last sub-frame extends the CELP synthesis by repeating the pitch prediction with the same pitch delay and the same adaptive pre-gain as in the first sub-frame and uses the same LPC coefficients and de-emphasis or de-accentuation ) By performing the synthetic LPC filtering.
제 2 CELP 서브 프레임은 12.8 kHz의 CELP 코어의 경우 1.25 ms의 신호를 보존하고 16 kHz의 CELP 코어의 경우 2.25 ms의 신호를 보존하기 위해 잘릴 수 있다. 따라서, 제 1 CELP 서브 프레임은 갭을 채우고 MDCT 전이 프레임과 함께 만족할만한 중첩-가산(최소 오버랩 값, 예를 들어, 1.875 ms)을 보장하는 6.25 ms의 추가 신호를 갖도록 완료된다. 일 실시 형태에서, 추가 CELP 서브 프레임은 12.8 및 16 kHz CELP 코어에 대해 6.25 ms로 확장된 길이를 가지며, 이는 특히 고정된 사전에 대해, 그러한 연장된 서브 프레임의 길이를 갖는 "정상적인" CELP 코딩을 수정하는 것을 의미한다The second CELP subframe preserves a 1.25 ms signal for a 12.8 kHz CELP core and can be truncated for a 2.25 ms signal for a 16 kHz CELP core. Thus, the first CELP subframe is filled with a 6.25 ms additional signal to fill the gap and ensure a satisfactory overlap-add (minimum overlap value, e.g., 1.875 ms) with the MDCT transition frame. In one embodiment, the additional CELP subframe has an extended length of 6.25 ms for the 12.8 and 16 kHz CELP cores, which is particularly suitable for fixed dictionaries as "normal" CELP coding with such extended subframe length Means to modify
P를 디코딩하는 방법의 이전 실시예에 부가하여, 방법 P는 유한 임펄스 응답 필터에 의해 수행되는 리샘플링하는 615단계를 더 포함할 수 있다. 이전에 설명된 바와 같이, FIR 필터는 리샘플링 유닛(505)에 통합될 수 있다. 리샘플링은 선행하는 CELP 프레임으로부터의 FIR 필터 메모리를 사용하고 처리는 이 예에서 1.25㎳의 여분의 지연을 유도한다.In addition to the previous embodiment of the method of decoding P, method P may further comprise resampling 615 performed by a finite impulse response filter. As previously described, the FIR filter may be integrated into
상기 방법 P는 상기 리샘플링 단계에 의해 도입된 지연을 채우기 위해 상기 유한 임펄스 응답 필터 메모리에 저장된 샘플들로부터 획득된 추가 신호를 부가하는 단계를 더 포함할 수 있다. 따라서, 이전에 생성된 6.25ms의 추가 신호에 더하여, 1.25ms의 신호가 디코더(500)에 의해 생성되며, 이들 샘플은 유리하게 6.25ms의 추가 신호의 리샘플링에 의해 도입된 지연을 채우는 것을 허용한다.The method P may further comprise adding an additional signal obtained from the samples stored in the finite impulse response filter memory to fill the delay introduced by the resampling step. Thus, in addition to the 6.25 ms additional signal previously generated, a 1.25 ms signal is generated by the
이러한 목적으로, 리샘플링 유닛(505)의 FIR 필터 메모리는 CELP 디코딩 후에 각 프레임에 대해 저장될 수 있다. 이 메모리의 샘플 수는 고려된 CELP 코어 주파수(12.8 또는 16 kHz)에서 1.25 ms에 해당한다For this purpose, the FIR filter memory of
방법 P의 보완적인 실시예에 따르면, 저장된 샘플을 리샘플링하는 것은 유한 임펄스 응답 필터로부터의 제 1 지연보다 짧은 제 2 지연을 도입하는 보간 방법에 의해 수행되며, 이는 널(null)로 간주 될 수 있다. 따라서, FIR 필터 메모리로부터 생성된 1.25 ms 신호는 최소 지연을 의미하는 방법에 따라 리샘플링된다. 예를 들어, FIR 필터 메모리에 의해 생성된 1.25 ms의 신호를 리샘플링하는 것은 큐빅(cubic) 보간에 의해 수행될 수 있는데, 이는 오직 2 개의 샘플들로부터의 지연을 의미하며, FIR 필터로부터의 지연과 비교하여 최소 지연을 의미한다. 따라서, 두 개의 추가 샘플은 위에서 언급 한 1.25ms의 신호를 다시 샘플링하는 데 필요하다. 이 두 개의 추가 샘플은 FIR 필터의 리샘플링 메모리의 마지막 값을 반복하여 얻을 수 있다.According to a complementary embodiment of method P, resampling the stored samples is performed by an interpolation method which introduces a second delay shorter than the first delay from the finite impulse response filter, which can be considered null . Thus, the 1.25 ms signal generated from the FIR filter memory is resampled according to a method which means minimum delay. For example, resampling a 1.25 ms signal generated by an FIR filter memory can be performed by cubic interpolation, which means a delay from only two samples, and the delay from the FIR filter ≪ / RTI > Thus, two additional samples are needed to resample the 1.25 ms signal mentioned above. These two additional samples can be obtained by repeating the last value of the resampling memory of the FIR filter.
디코더는 제 1 및 제 2 전이 프레임으로부터 얻어진 6.25ms의 CELP 신호로부터 고주파수 부분을 추가로 디코딩할 수 있다. 이를 위해, CELP 디코더(504)는 선행 CELP 프레임의 마지막 서브 프레임으로부터의 적응 이득 및 고정 사전 벡터를 사용할 수 있다.The decoder may further decode the high frequency portion from the 6.25 ms CELP signal obtained from the first and second transition frames. To this end, the
디코더(500)는 616 단계에서, 디코딩된 신호와 리샘플링된 CELP 전이 서브 프레임, 큐빅 보간에 의해 리샘플링된 샘플 및 MDCT 디코더(507)로부터 발생되는 전이 프레임의 디코딩된 신호 사이의 중첩 가산을 보장할 수 있는 중첩 가산 유닛(509)을 더 포함한다.
이 목적을 위해, 유닛(509)은 도 3의 합성 수정된(modified) 윈도우(327)를 적용한다. 따라서, 두 쿼터에 대한 MDCT 앨리어싱 포인트 이전에, 샘플들은 제로화된다. 상술한 앨리어싱 포인트 후에, 윈도우된 샘플들은 도 3의 수정되지 않은 윈도우(324)에 의해 나뉘어지고, 인코더에 적용된 윈도우와 결합된 시너스-타입(sinus-type) 윈도우에 의해 곱해져서, 총 윈도우는 sin^2이다. 중첩 가산에 관련된 부분에서 CELP 및 0-지연 리샘플링(예를 들어, 큐빅 보간)으로 발생되는 샘플은 cos^2 윈도우에 의해 가중치가 적용된다.For this purpose, the
이와 같이 획득된 전이 프레임은 608 단계에서 디코더의 출력 인터페이스(510)로 전송된다.The thus obtained transition frame is transmitted to the
도 7은 전이 프레임에 대한 비트 분포를 결정하기 위한 장치(700)의 예를 나타낸다.FIG. 7 shows an example of an
상기 장치는 랜덤 액세스 메모리(random access memory)(704) 및 전술한 전이 프레임에 대한 비트 분포를 결정하는 방법을 구현할 수 있는 명령을 저장하기 위한 프로세서(703)를 포함한다. 상기 장치는 또한 상기 방법을 적용한 후에 보존되도록 의도된 데이터를 저장하기 위한 대용량 메모리(705)를 포함한다. 또한, 디바이스(700)는 디지털 신호 프레임을 수신하고 이들 상이한 프레임 각각에 할당된 예산에 대한 세부 사항을 방출하기 위한 입력 인터페이스(701) 및 출력 인터페이스(706)를 포함한다.The apparatus includes a processor 703 for storing instructions that may implement a
상기 디바이스(700)는 디지털 신호 프로세서(DSP)(702)를 더 포함할 수 있다. 이 DSP(702)는 공지된 방식으로 이들 프레임을 형성, 복조 및 증폭하기 위한 디지털 신호 프레임을 수신할 수 있다. The
본 발명은 예시적인 목적을 위해 상기 기술된 실시예에 국한되지 않으며; 그것은 다른 변형으로 확장된다.The present invention is not limited to the embodiments described above for illustrative purposes only; It extends to other variants.
따라서, 압축 또는 압축 해제 장치가 전체로서 엔티티(antity)인 실시예가 설명되었다. 물론, 장치는 예를 들어 디지털 카메라, 사진 카메라, 이동 전화, 컴퓨터, 영화 프로젝터 등과 같은 모든 타입의 보다 중요한 장치에 내장될 수 있다.Thus, an embodiment has been described in which the compression or decompression apparatus is an entity as a whole. Of course, the device may be embedded in any type of more important device, such as, for example, a digital camera, a photographic camera, a mobile phone, a computer, a movie projector,
또한, 압축, 압축 해제 및 비교 장치의 특정 설계를 제안하는 실시예가 설명되었다. 이러한 설계들은 설명의 목적으로만 제공되는 것이다. 따라서, 구성 요소의 배열 및 각 구성 요소에 할당된 태스크(task)의 상이한 분포도 고려될 수 있다. 예를 들어, 디지털 신호 프로세서 (DSP)에 의해 수행되는 작업은 고전(classic) 프로세서에 의해 수행될 수도 있다.In addition, embodiments have been described which suggest specific designs of compression, decompression and comparison devices. These designs are provided for illustrative purposes only. Thus, the arrangement of components and the different distributions of tasks assigned to each component can also be considered. For example, tasks performed by a digital signal processor (DSP) may be performed by a classic processor.
100: 오디오 코더
101: 수신 유닛
102: 전처리 유닛
103: CELP 코더
104: 전이 유닛
105: MDCT 코더
106: 프레임 코딩 유닛
107: 메모리
108: 전송 유닛
500: 오디오 디코더
501: 수신 유닛
502: 카테고리화 유닛
504: CELP 디코더
505: 리샘플링 유닛
507: MDCT 디코더
508: 지연 유닛
509: 중첩 가산 유닛
510: 출력 인터페이스100: Audio coder
101: Receiving unit
102: preprocessing unit
103: CELP coder
104: transition unit
105: MDCT coder
106: Frame coding unit
107: Memory
108: Transmission unit
500: Audio decoder
501: receiving unit
502: Categorization unit
504: CELP decoder
505: resampling unit
507: MDCT decoder
508: Delay unit
509: Overlap addition unit
510: Output interface
Claims (15)
상기 전이 프레임은 예측 코딩된 선행 프레임(320)에 선행되고,
상기 전이 프레임의 코딩은 상기 전이 프레임의 단일 서브 프레임의 변환 코딩 및 예측 코딩을 포함하고, 상기 방법은,
- 상기 전이 서브 프레임의 예측 코딩을 위한 비트 레이트를 할당하되, 상기 비트 레이트는 제 1 미리 결정된 비트 레이트 값과 상기 전이 프레임을 변환 코딩하기 위한 상기 비트 레이트 사이의 최소 값과 동일한 단계(402; 405);
- 상기 비트 레이트를 위한 상기 전이 서브 프레임을 예측 코딩하기 위하여 할당된 제 1 비트 수를 결정하는 단계(408, 408); 및
- 상기 전이 프레임 코딩을 위하여 가능한 비트 수와 상기 할당된 제 1 비트로부터, 상기 전이 프레임을 변환 코딩하기 위하여 할당된 제 2 비트 수를 계산하는 단계(410)를 포함하는 방법.CLAIMS What is claimed is: 1. A method for determining a distribution of bits for coding a transition frame (321, 322), implemented in a coder / decoder (100; 500) for coding /
The transition frame precedes the predictive coded preceding frame 320,
Wherein the coding of the transition frame comprises transform coding and predictive coding of a single sub-frame of the transition frame,
- allocating a bit rate for predictive coding of the transition subframe, the bit rate being equal to a minimum value between a first predetermined bit rate value and the bit rate for transform coding the transition frame (402; 405 );
- determining (408, 408) a first number of bits allocated for predicting the transition subframe for the bit rate; And
- calculating (410) the number of possible bits for the transition frame coding and the second number of bits allocated for transcoding the transition frame from the assigned first bit.
상기 코더/디코더(100; 500)는,
제 1 주파수에서 신호 프레임의 예측 코딩/디코딩을 위한 제 1 코어 동작 및, 제 2 주파수에서 신호 프레임의 예측 코딩/디코딩을 위한 제 2 코어 동작을 포함하고,
제 2 미리 결정된 비트 레이트 값은 상기 예측 코딩된 선행 프레임(320)을 코딩/디코딩하기 위한, 상기 제 1 코어 동작 및 상기 제 2 코어 동작으로부터 선택된 코어에 의존하는 방법.The method according to claim 1,
The coder / decoder (100; 500)
A first core operation for predictive coding / decoding a signal frame at a first frequency and a second core operation for predictive coding / decoding a signal frame at a second frequency,
Wherein a second predetermined bit rate value is dependent on a core selected from the first core operation and the second core operation for coding / decoding the predictive coded preceding frame (320).
상기 예측 코딩된 선행 프레임(320)을 코딩/디코딩하기 위하여 상기 제1 코어가 선택되었을 때, 상기 할당된 비트 레이트는 상기 변환 코딩된 전이 프레임(322)의 상기 비트 레이트와 적어도 하나의 제 2 미리 결정된 비트 레이트 값 사이의 최대 값과 동일하고, 상기 제 2 미리 결정된 비트 레이트 값은 상기 제 1 미리 결정된 비트 레이트 값보다 작은 방법.3. The method of claim 2,
When the first core is selected to code / decode the predictive coded preceding frame 320, the assigned bit rate is compared to the bit rate of the transform coded transition frame 322 and the at least one second Wherein the second predetermined bit rate value is equal to a maximum value between the determined bit rate values, and wherein the second predetermined bit rate value is less than the first predetermined bit rate value.
상기 디지털 신호는 적어도 하나의 저 대역 주파수와 고 대역 주파수로 분해되고,
상기 계산된 제 1 비트 수는 상기 저 대역 주파수에 대한 상기 전이 서브 프레임(321)의 예측 코딩을 위하여 할당되고,
제 3 미리 결정된 비트 수는 상기 고 대역 주파수에 대한 상기 전이 서브 프레임의 코딩을 위하여 할당되고,
상기 전이 프레임(322)의 변환 코딩을 위하여 할당되는 상기 제 2 비트 수는 상기 제 3 미리 결정된 비트 수로부터 결정되는 방법.12. A compound according to any one of the preceding claims,
The digital signal is decomposed into at least one low band frequency and a high band frequency,
The calculated first number of bits is allocated for predictive coding of the transition sub-frame 321 for the low-band frequency,
A third predetermined number of bits is allocated for coding of the transition sub-frame for the high-band frequency,
Wherein the second number of bits allocated for transcoding of the transition frame (322) is determined from the third predetermined number of bits.
상기 전이 프레임(321, 322)을 코딩하기 위하여 이용 가능한 비트의 수는 고정되는 것을 특징으로 하는 방법.5. The method of claim 4,
Characterized in that the number of available bits for coding the transition frames (321, 322) is fixed.
상기 제 2 비트 수는 상기 전이 프레임(321; 322)을 코딩하기 위해 고정된 비트 수에서 상기 제 1 비트 수를 빼고, 상기 제 3 비트 수를 뺀 값과 동일한 방법.6. The method of claim 5,
Wherein the second number of bits is equal to a value obtained by subtracting the first number of bits from a fixed number of bits to code the transition frame (321; 322) and subtracting the third number of bits.
상기 제 2 비트 수는 상기 전이 프레임(321;322)을 코딩하기 위해 고정된 비트 수에서 상기 제 1 비트 수를 빼고, 상기 제 3 비트 수를 빼고, 제 1 비트 및 제 2 비트를 뺀 값과 동일하고,
상기 제 1 비트는 상기 전이 서브 프레임의 상기 예측 코딩의 파라미터들을 결정할 때 저역 통과 필터 필터링이 수행되는지 여부를 나타내되, 상기 파라미터들은 토널 리드 타임(tonal lead time)과 관련되고,
상기 제 2 비트는 상기 전이 서브 프레임을 예측 코딩/디코딩을 위하여 상기 코더/디코더에 의하여 사용된 주파수를 나타내는 방법.6. The method of claim 5,
The second number of bits is calculated by subtracting the first number of bits from a fixed number of bits to code the transition frame 321 (322), subtracting the third number of bits, subtracting the first and second bits, The same,
Wherein the first bit indicates whether low pass filter filtering is performed when determining the parameters of the predictive coding of the transition subframe, the parameters being related to a tonal lead time,
And the second bit indicates a frequency used by the coder / decoder for predictive coding / decoding the transition subframe.
* 예측 코딩에 따라 디지털 신호 샘플들의 선행 프레임(301)을 코딩하는 단계; 및
* 디지털 신호 샘플들의 현재 프레임(302)을 전이 프레임(321, 322)으로 코딩하는 단계를 포함하되, 상기 전이 프레임(321, 332)을 코딩하는 단계는 상기 전이 프레임의 단일 서브 프레임(321) 변환 코딩 및 예측 코딩하는 단계를 포함하고, 상기 현재 프레임(302)을 코딩하는 단계는 아래의 서브 단계들을 포함하되, 상기 서브 단계들은,
- 상기 이전의 청구항들 중 어느 한 항에 따라 비트들의 분포를 결정하는 단계(209);
- 할당된 제 2 비트 수에 대해 상기 전이 프레임(322)을 변환 코딩하는 단계(212); 및
- 상기 전이 서브 프레임(321) 및 할당된 제 1 비트 수를 예측 코딩하는 단계(213)를 포함하는 방법.1. A method of coding a digital signal in a coder (100) capable of coding a signal frame in accordance with predictive coding or in accordance with transform coding,
Coding the preceding frame (301) of digital signal samples in accordance with predictive coding; And
Coding the current frame (302) of digital signal samples into a transition frame (321, 322), wherein coding the transition frame (321, 332) comprises transforming a single sub- Coding and predictive coding, the step of coding the current frame (302) comprises the following sub-steps:
- determining (209) the distribution of bits according to any one of the preceding claims;
- transform coding (212) the transition frame (322) for a second number of bits allocated; And
- predicting the transition sub-frame (321) and the first number of bits allocated (213).
상기 예측 코딩하는 단계는, 상기 할당된 비트 레이트에 대한 결정된 예측 코딩 파라미터들을 생성하는 단계를 포함하는 방법.9. The method of claim 8,
Wherein the predictive coding step comprises generating determined predictive coding parameters for the assigned bit rate.
상기 예측 코딩하는 단계는, 상기 선행 프레임의 예측 코딩을 위해 적어도 하나의 파라미터를 재사용하여 상기 선행 프레임(320)의 예측 코딩과 관련하여 제한된 예측 코딩 파라미터들을 생성하는 단계를 포함하는 방법.10. A method according to any one of claims 8 and 9,
Wherein the predictive coding step includes reusing at least one parameter for predictive coding of the preceding frame to generate limited predictive coding parameters associated with predictive coding of the preceding frame.
* 예측 코딩에 따라 코딩된 디지털 신호 샘플들의 선행 프레임을 예측 코딩하는 단계(605); 및
* 전이 프레임(321, 322)을 디코딩하고 디지털 신호 샘플들의 현재 프레임을 코딩하고, 상기 전이 프레임을 코딩하는 단계는, 상기 전이 프레임의 단일 서브 프레임(321)을 변환 코딩 및 예측 코딩하는 단계를 포함하고, 아래의 서브 단계들을 포함하되, 상기 서브 단계는,
- 상기 이전의 청구항들 중 어느 한 항에 따라 비트들의 분포를 결정하는 단계(611);
- 할당된 제 1 비트 수에 대해 상기 전이 서브 프레임(321)을 예측 디코딩하는 단계(614); 및
- 할당된 제 2 비트 수에 대해 상기 전이 프레임(322)을 변환 디코딩하는 단계(612)를 포함하는 방법.A method of decoding a coded digital signal, wherein the decoder (500) implemented in accordance with the method is capable of decoding signal frames in accordance with predictive coding or transform decoding,
Predicting (605) a preceding frame of digital signal samples coded according to predictive coding; And
Decoding the transition frames 321 and 322 and coding the current frame of digital signal samples and coding the transition frame includes transform coding and predictive coding of a single sub frame 321 of the transition frame And comprising the following sub-steps:
- determining (611) the distribution of bits according to any one of the preceding claims;
- predicting (614) the transition subframe (321) for a first number of bits allocated; And
- transform decoding (612) the transition frame (322) for a second number of bits allocated.
- 상기 전이 서브 프레임을 예측 코딩하기 위한 비트 레이트를 할당하되, 상기 비트 레이트는 상기 전이 프레임을 변환 코딩하기 위한 비트 레이트와 제 1 미리 결정된 비트 레이트 값 사이의 최소값과 동일하고;
- 상기 비트 레이트에 대한 상기 전이 서브 프레임을 예측 코딩하기 위해 할당된 제 1 비트 수를 결정하고;
- 상기 코딩 파라미터들을 코딩하는데 필요한 비트 수 및 상기 전이 프레임을 코딩하기 위한 상기 고정된 비트 수로부터 상기 전이 프레임을 변환 코딩하기 위해 할당된 제 2 비트 수를 계산하는 장치.An apparatus for determining a distribution of bits for coding transition frames (321, 322), the apparatus (104, 503) being implemented in a coder / decoder for coding / decoding a digital signal, Wherein the step of coding the transition frame comprises transform coding and predecoding a single subframe (321), wherein the number of bits for coding the transition frame is fixed The apparatus comprising a processor arranged to perform the following operations,
Allocating a bit rate for predicting the transition subframe, the bit rate being equal to a minimum value between a bit rate for transform coding the transition frame and a first predetermined bit rate value;
Determining a first number of bits allocated for predicting the transition sub-frame for the bit rate;
And - a second number of bits allocated for transcoding the transition frame from the number of bits needed to code the coding parameters and the number of fixed bits for coding the transition frame.
* 제 13 항에 따른 장치(104); 및
* 아래의 동작을 수행하도록 구성된 프로세서를 포함하는 예측 코더(103)를 포함하되, 상기 동작은
- 예측 코딩에 따라 디지털 신호 샘플들의 선행 프레임을 코딩하고;
- 전이 프레임에 포함된 단일 서브 프레임을 예측 코딩하고, 디지털 신호 샘플들의 현재 프레임을 코딩하고, 상기 전이 프레임을 코딩하고, 상기 서브 프레임을 변환 코딩 또는 예측 코딩하되, 상기 프로세서는 할당된 제 1 비트 수의 전이 서브 프레임을 예측 코딩하기 위해 배열되고;
- 할당된 제 2 비트 수에서 상기 전이 프레임을 변환 코딩하는 동작을 수행하도록 배치된 프로세서를 포함하는 변환 코더(105)를 포함하는 코더.A coder capable of coding digital signal frames in accordance with predictive coding or transform coding,
Device (104) according to claim 13; And
A prediction coder 103 comprising a processor configured to perform the following operations,
- code the preceding frame of digital signal samples according to prediction coding;
- coding a current frame of digital signal samples, coding the transition frame, and transcoding or predecoding the subframe, wherein the processor is configured to: The number of transitions being arranged to predictively code subframes;
- a transcoder (105) comprising a processor arranged to perform transcoding the transition frame at a second number of bits allocated.
* 제 13 항에 따른 장치(503); 및
* 다음의 동작을 수행하도록 구성된 프로세서를 포함하는 예측 디코더(504)를 포함하되, 상기 동작은,
- 예측 코딩에 따라 코딩된 디지털 신호 샘플들의 선행 프레임(320)을 예측 디코딩하고;
- 전이 프레임에 포함된 단일 서브 프레임(321)을 예측 디코딩하고, 디지털 신호 샘플들의 현재 프레임을 코딩하고, 상기 전이 프레임을 코딩하고, 상기 서브 프레임을 예측 코딩하고 변환 코딩하되, 상기 프로세서는 할당된 제 1 비트 수의 상기 전이 서브 프레임을 예측 디코딩하는 연산을 수행하도록 배치되고,
* 할당된 제 2 비트 수에 대해 상기 전이 프레임을 변환 디코딩을 수행하도록 배치된 프로세서를 포함하는 변환 디코더(507)를 포함하는 디코더.
In a decoder for a digital signal coded by predictive coding and transform coding,
An apparatus (503) according to claim 13; And
A prediction decoder (504) comprising a processor configured to perform the following operations,
Predictively decode the preceding frame (320) of coded digital signal samples according to predictive coding;
Predicting and decoding a single subframe (321) included in a transition frame, coding a current frame of digital signal samples, coding the transition frame, and predictively coding and transform coding the subframe, And to perform an operation of predicting and decoding the transition sub-frame of the first number of bits,
And a transform decoder (507) comprising a processor arranged to perform transform decoding of the transition frame for a second number of bits allocated.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020227015119A KR102485835B1 (en) | 2014-07-29 | 2015-07-27 | Determining a budget for lpd/fd transition frame encoding |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1457353 | 2014-07-29 | ||
FR1457353A FR3024581A1 (en) | 2014-07-29 | 2014-07-29 | DETERMINING A CODING BUDGET OF A TRANSITION FRAME LPD / FD |
PCT/FR2015/052073 WO2016016566A1 (en) | 2014-07-29 | 2015-07-27 | Determining a budget for lpd/fd transition frame encoding |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227015119A Division KR102485835B1 (en) | 2014-07-29 | 2015-07-27 | Determining a budget for lpd/fd transition frame encoding |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20170037660A true KR20170037660A (en) | 2017-04-04 |
Family
ID=51894138
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227015119A KR102485835B1 (en) | 2014-07-29 | 2015-07-27 | Determining a budget for lpd/fd transition frame encoding |
KR1020177005825A KR20170037660A (en) | 2014-07-29 | 2015-07-27 | Determining a budget for lpd/fd transition frame encoding |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227015119A KR102485835B1 (en) | 2014-07-29 | 2015-07-27 | Determining a budget for lpd/fd transition frame encoding |
Country Status (8)
Country | Link |
---|---|
US (2) | US10586549B2 (en) |
EP (1) | EP3175443B1 (en) |
JP (1) | JP6607921B2 (en) |
KR (2) | KR102485835B1 (en) |
CN (2) | CN112133315B (en) |
ES (1) | ES2676832T3 (en) |
FR (1) | FR3024581A1 (en) |
WO (1) | WO2016016566A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3024581A1 (en) * | 2014-07-29 | 2016-02-05 | Orange | DETERMINING A CODING BUDGET OF A TRANSITION FRAME LPD / FD |
JP6754764B2 (en) * | 2014-12-09 | 2020-09-16 | ドルビー・インターナショナル・アーベー | Error concealment of M DCT area |
CA3074750A1 (en) * | 2017-09-20 | 2019-03-28 | Voiceage Corporation | Method and device for efficiently distributing a bit-budget in a celp codec |
CN111402908A (en) * | 2020-03-30 | 2020-07-10 | Oppo广东移动通信有限公司 | Voice processing method, device, electronic equipment and storage medium |
CN111431947A (en) * | 2020-06-15 | 2020-07-17 | 广东睿江云计算股份有限公司 | Method and system for optimizing display of cloud desktop client |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE302991T1 (en) * | 1998-01-22 | 2005-09-15 | Deutsche Telekom Ag | METHOD FOR SIGNAL-CONTROLLED SWITCHING BETWEEN DIFFERENT AUDIO CODING SYSTEMS |
US6782360B1 (en) * | 1999-09-22 | 2004-08-24 | Mindspeed Technologies, Inc. | Gain quantization for a CELP speech coder |
US6604070B1 (en) * | 1999-09-22 | 2003-08-05 | Conexant Systems, Inc. | System of encoding and decoding speech signals |
US6804218B2 (en) * | 2000-12-04 | 2004-10-12 | Qualcomm Incorporated | Method and apparatus for improved detection of rate errors in variable rate receivers |
EP1428206B1 (en) * | 2001-08-17 | 2007-09-12 | Broadcom Corporation | Bit error concealment methods for speech coding |
CA2365203A1 (en) * | 2001-12-14 | 2003-06-14 | Voiceage Corporation | A signal modification method for efficient coding of speech signals |
US6647366B2 (en) * | 2001-12-28 | 2003-11-11 | Microsoft Corporation | Rate control strategies for speech and music coding |
US7937271B2 (en) * | 2004-09-17 | 2011-05-03 | Digital Rise Technology Co., Ltd. | Audio decoding using variable-length codebook application ranges |
US7630902B2 (en) * | 2004-09-17 | 2009-12-08 | Digital Rise Technology Co., Ltd. | Apparatus and methods for digital audio coding using codebook application ranges |
US8090573B2 (en) * | 2006-01-20 | 2012-01-03 | Qualcomm Incorporated | Selection of encoding modes and/or encoding rates for speech compression with open loop re-decision |
FR2897733A1 (en) * | 2006-02-20 | 2007-08-24 | France Telecom | Echo discriminating and attenuating method for hierarchical coder-decoder, involves attenuating echoes based on initial processing in discriminated low energy zone, and inhibiting attenuation of echoes in false alarm zone |
MX2009004427A (en) * | 2006-10-24 | 2009-06-30 | Voiceage Corp | Method and device for coding transition frames in speech signals. |
KR100848324B1 (en) * | 2006-12-08 | 2008-07-24 | 한국전자통신연구원 | An apparatus and method for speech condig |
CN101206860A (en) * | 2006-12-20 | 2008-06-25 | 华为技术有限公司 | Method and apparatus for encoding and decoding layered audio |
CN101025918B (en) * | 2007-01-19 | 2011-06-29 | 清华大学 | Voice/music dual-mode coding-decoding seamless switching method |
CN100578619C (en) * | 2007-11-05 | 2010-01-06 | 华为技术有限公司 | Encoding method and encoder |
EP2077551B1 (en) * | 2008-01-04 | 2011-03-02 | Dolby Sweden AB | Audio encoder and decoder |
CN101261836B (en) * | 2008-04-25 | 2011-03-30 | 清华大学 | Method for enhancing excitation signal naturalism based on judgment and processing of transition frames |
AU2009267394B2 (en) * | 2008-07-11 | 2012-10-18 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder and decoder for encoding frames of sampled audio signals |
MY159110A (en) * | 2008-07-11 | 2016-12-15 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E V | Audio encoder and decoder for encoding and decoding audio samples |
EP2144171B1 (en) * | 2008-07-11 | 2018-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder for encoding and decoding frames of a sampled audio signal |
KR101315617B1 (en) * | 2008-11-26 | 2013-10-08 | 광운대학교 산학협력단 | Unified speech/audio coder(usac) processing windows sequence based mode switching |
KR101622950B1 (en) * | 2009-01-28 | 2016-05-23 | 삼성전자주식회사 | Method of coding/decoding audio signal and apparatus for enabling the method |
WO2011013983A2 (en) * | 2009-07-27 | 2011-02-03 | Lg Electronics Inc. | A method and an apparatus for processing an audio signal |
AU2010305383B2 (en) * | 2009-10-08 | 2013-10-03 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Multi-mode audio signal decoder, multi-mode audio signal encoder, methods and computer program using a linear-prediction-coding based noise shaping |
MY166169A (en) * | 2009-10-20 | 2018-06-07 | Fraunhofer Ges Forschung | Audio signal encoder,audio signal decoder,method for encoding or decoding an audio signal using an aliasing-cancellation |
SG10201406778VA (en) * | 2009-10-20 | 2015-01-29 | Fraunhofer Ges Forschung | Multi-mode audio codec and celp coding adapted therefore |
CN102222505B (en) * | 2010-04-13 | 2012-12-19 | 中兴通讯股份有限公司 | Hierarchical audio coding and decoding methods and systems and transient signal hierarchical coding and decoding methods |
KR20130036304A (en) * | 2010-07-01 | 2013-04-11 | 엘지전자 주식회사 | Method and device for processing audio signal |
US8990094B2 (en) * | 2010-09-13 | 2015-03-24 | Qualcomm Incorporated | Coding and decoding a transient frame |
FR2969805A1 (en) * | 2010-12-23 | 2012-06-29 | France Telecom | LOW ALTERNATE CUSTOM CODING PREDICTIVE CODING AND TRANSFORMED CODING |
CA2827272C (en) * | 2011-02-14 | 2016-09-06 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Apparatus and method for encoding and decoding an audio signal using an aligned look-ahead portion |
CN102737636B (en) * | 2011-04-13 | 2014-06-04 | 华为技术有限公司 | Audio coding method and device thereof |
FR2977439A1 (en) * | 2011-06-28 | 2013-01-04 | France Telecom | WINDOW WINDOWS IN ENCODING / DECODING BY TRANSFORMATION WITH RECOVERY, OPTIMIZED IN DELAY. |
BR122021019877B1 (en) * | 2011-06-30 | 2022-07-19 | Samsung Electronics Co., Ltd | DEVICE FOR GENERATING AN EXTENDED BANDWIDTH SIGNAL |
FR2981781A1 (en) * | 2011-10-19 | 2013-04-26 | France Telecom | IMPROVED HIERARCHICAL CODING |
US9672840B2 (en) * | 2011-10-27 | 2017-06-06 | Lg Electronics Inc. | Method for encoding voice signal, method for decoding voice signal, and apparatus using same |
EP2830062B1 (en) * | 2012-03-21 | 2019-11-20 | Samsung Electronics Co., Ltd. | Method and apparatus for high-frequency encoding/decoding for bandwidth extension |
CN103915100B (en) * | 2013-01-07 | 2019-02-15 | 中兴通讯股份有限公司 | A kind of coding mode switching method and apparatus, decoding mode switching method and apparatus |
MX348506B (en) * | 2013-02-20 | 2017-06-14 | Fraunhofer Ges Forschung | Apparatus and method for encoding or decoding an audio signal using a transient-location dependent overlap. |
EP2980797A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder, method and computer program using a zero-input-response to obtain a smooth transition |
FR3024581A1 (en) * | 2014-07-29 | 2016-02-05 | Orange | DETERMINING A CODING BUDGET OF A TRANSITION FRAME LPD / FD |
TWI602172B (en) * | 2014-08-27 | 2017-10-11 | 弗勞恩霍夫爾協會 | Encoder, decoder and method for encoding and decoding audio content using parameters for enhancing a concealment |
-
2014
- 2014-07-29 FR FR1457353A patent/FR3024581A1/en active Pending
-
2015
- 2015-07-27 US US15/329,671 patent/US10586549B2/en active Active
- 2015-07-27 WO PCT/FR2015/052073 patent/WO2016016566A1/en active Application Filing
- 2015-07-27 ES ES15745542.9T patent/ES2676832T3/en active Active
- 2015-07-27 JP JP2017504670A patent/JP6607921B2/en active Active
- 2015-07-27 CN CN202010879909.4A patent/CN112133315B/en active Active
- 2015-07-27 KR KR1020227015119A patent/KR102485835B1/en active IP Right Grant
- 2015-07-27 KR KR1020177005825A patent/KR20170037660A/en not_active Application Discontinuation
- 2015-07-27 CN CN201580044697.5A patent/CN106605263B/en active Active
- 2015-07-27 EP EP15745542.9A patent/EP3175443B1/en active Active
-
2020
- 2020-01-29 US US16/775,569 patent/US11158332B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN106605263B (en) | 2020-11-27 |
JP2017527843A (en) | 2017-09-21 |
EP3175443A1 (en) | 2017-06-07 |
JP6607921B2 (en) | 2019-11-20 |
KR20220066412A (en) | 2022-05-24 |
US11158332B2 (en) | 2021-10-26 |
CN112133315B (en) | 2024-03-08 |
CN106605263A (en) | 2017-04-26 |
US20180182408A1 (en) | 2018-06-28 |
ES2676832T3 (en) | 2018-07-25 |
EP3175443B1 (en) | 2018-04-11 |
CN112133315A (en) | 2020-12-25 |
WO2016016566A1 (en) | 2016-02-04 |
KR102485835B1 (en) | 2023-01-09 |
US20200168236A1 (en) | 2020-05-28 |
US10586549B2 (en) | 2020-03-10 |
FR3024581A1 (en) | 2016-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7488926B2 (en) | Encoders using forward aliasing cancellation | |
RU2584463C2 (en) | Low latency audio encoding, comprising alternating predictive coding and transform coding | |
EP3336840B1 (en) | Audio decoder and method for providing a decoded audio information using an error concealment modifying a time domain excitation signal | |
TWI459379B (en) | Audio encoder and decoder for encoding and decoding audio samples | |
JP7026711B2 (en) | Frame loss management in FD / LPD transition context | |
US11158332B2 (en) | Determining a budget for LPD/FD transition frame encoding | |
AU2017265062A1 (en) | Audio decoder and method for providing a decoded audio information using an error concealment based on a time domain excitation signal | |
TWI587291B (en) | Audio decoder/encoder device and its operating method and computer program | |
KR20130133846A (en) | Apparatus and method for encoding and decoding an audio signal using an aligned look-ahead portion | |
CN105723457B (en) | Predictive coding/decoding is transitioned into from transition coding/decoding | |
Ogunfunmi et al. | Scalable and Multi-Rate Speech Coding for Voice-over-Internet Protocol (VoIP) Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
E601 | Decision to refuse application | ||
E801 | Decision on dismissal of amendment |