KR20220066412A - Lpd/fd 전이 프레임 인코딩의 예산 결정 - Google Patents

Lpd/fd 전이 프레임 인코딩의 예산 결정 Download PDF

Info

Publication number
KR20220066412A
KR20220066412A KR1020227015119A KR20227015119A KR20220066412A KR 20220066412 A KR20220066412 A KR 20220066412A KR 1020227015119 A KR1020227015119 A KR 1020227015119A KR 20227015119 A KR20227015119 A KR 20227015119A KR 20220066412 A KR20220066412 A KR 20220066412A
Authority
KR
South Korea
Prior art keywords
coding
frame
transition
bits
decoding
Prior art date
Application number
KR1020227015119A
Other languages
English (en)
Other versions
KR102485835B1 (ko
Inventor
스테판 라고
줄리엔 포레
Original Assignee
오렌지
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오렌지 filed Critical 오렌지
Publication of KR20220066412A publication Critical patent/KR20220066412A/ko
Application granted granted Critical
Publication of KR102485835B1 publication Critical patent/KR102485835B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding

Abstract

본 발명은 전이 프레임을 코딩하기 위한 비트들의 분포를 결정하는 방법에 관한 것이다. 상기 방법은 디지털 신호를 코딩/디코딩하기 위한 인코더/디코더에서 구현된다. 상기 전이 프레임은 예측 코딩된 선행 프레임에 선행된다. 상기 전이 프레임의 코딩은 상기 전이 프레임의 단일 서브 프레임의 변환 코딩 및 예측 코딩을 포함한다. 상기 방법은 - 상기 전이 서브 프레임의 예측 코딩을 위한 비트 레이트를 할당하되, 상기 비트 레이트는 제 1 미리 결정된 비트 레이트 값과 상기 전이 프레임을 변환 코딩하기 위한 상기 비트 레이트 사이의 최소 값과 동일한 단계(402; 405); - 상기 비트 레이트를 위한 상기 전이 서브 프레임을 예측 코딩하기 위하여 할당된 제 1 비트 수를 결정하는 단계(408, 408); 및 - 상기 전이 프레임 코딩을 위하여 가능한 비트 수와 상기 할당된 제 1 비트로부터, 상기 전이 프레임을 변환 코딩하기 위하여 할당된 제 2 비트 수를 계산하는 단계(410)를 포함한다.

Description

LPD/FD 전이 프레임 인코딩의 예산 결정{DETERMINING A BUDGET FOR LPD/FD TRANSITION FRAME ENCODING}
본 발명은 디지털 신호를 코딩/디코딩하는 분야에 관한 것이다.
음성 사운드를 낮은 비율(rate)로 효율적으로 코딩하기 위해, CLEP(“코드 여기 선형 예측(Code Excited Linear Prediction)”) 기술이 권장된다. 음악 사운드를 효과적으로 코딩하기 위해, 변환 코딩 기술이 권장된다.
CELP 유형 인코더는 예측 코더이다. 이들의 목표는 다양한 요소: 음성 트랙(tract)을 모델링하는 단기 선형 예측, 발성 기간 동안 성대의 진동을 모델링하는 장기 예측, 모델링될 수 없는 “혁신”을 나타내기 위해 고정 코드북(codebook)(백색 잡음(white noise), 대수 여기(algebraic excitation))에서 파생된 여기(excitation)를 사용하여 음성 생성을 모델링하는 것이다.
MPEG AAC, AAC-LD, AAC-ELD 또는 ITU-T G.722.1 Annex C와 같은 변환 코더는 변환 도메인에서 신호를 압축하기 위해 임계적으로(critically) 샘플링된 변환을 사용한다. “임계 샘플링된 변환(critically sampled transform)"이라는 용어는 각각의 분석된 프레임에서 변환 도메인 내의 계수들의 수가 내 시간 도메인 샘플들의 수와 동일한 변환을 나타낸다.
결합된 음성/음악을 포함하는 신호의 효과적인 코딩을 위한 한가지 해결책은, 적어도 2 개의 코딩 모드들 사이에서 시간에 따라 최상의 기술을 선택하는 것이다: 하나는 CELP 타입이고, 다른 하나는 변환 타입이다.
예를 들어, 코덱 3GPP AMR-WB+ 및 MPEG USAC("통합된 음성 오디오 코딩(Unified Speech Audio Coding)")의 경우이다. AMR-WB+ 및 USAC의 목표(target) 어플리케이션은 대화(conversation)가 아니라, 알고리즘 지연에 대한 심각한 제약 없는 배포 및 저장 서비스에 해당한다.
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 코덱은 여러 코딩 모드를 번갈아 나타낸다.
ㆍ 음성 신호: AMR-WB + 코딩으로부터 도출된 두 가지의 상이한 모드를 포함하는 LPD ("선형 예측 영역(Linear Predictive Domain)") 모드:
- ACELP 모드
- FFT 변환을 사용하는 MDCT 변환(AMR-WB+ 코덱과는 달리)을 사용하는 wLPT("가중 선형 예측 변환(weighted Linear Predictive Transform)")이라 호칭되는 TCX(“변환 부호화 기동(Transform Coded Excitation)”) 모드.
ㆍ 음악 신호: 1024개의 샘플을 사용하는 MPEG AAC ("고급 오디오 코딩(Advanced Audio Coding)") 타입의 MDCT ("수정된 이산 코사인 변환(Modified Discrete Cosine Transform)")에 의한 코딩을 사용하는 FD ("주파수 영역(Frequency Domain)") 모드.
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로 전이하는 경우에 대해서만 논의하도록 한다.
MDCT가 어떻게 작동하는지 완전히 이해하기 위해, MDCT 변환 코딩의 원칙은 일반적인 개발 사례를 통해 상기된다.
인코더에서, MDCT 변환은 전형적으로 3 단계로 나누어지며, 신호는 MDCT 코딩 전에 M 샘플들의 프레임들로 세분된다:
ㆍ 2M 길이의 "MDCT 윈도우"라 호칭되는 윈도우로 상기 신호의 가중치 지정.
ㆍ 길이 M의 블록을 형성하기 위한 시간 영역에서의 폴딩("시간 영역 앨리어싱(aliasing)").
ㆍ 길이 M의 DCT 변환.
MDCT 윈도우는 M/2의 동일한 길이의 4개의 인접한 부분으로 분할되며, 여기서 상기 분할된 MDCT 윈도우를 "쿼터(quarter)"라 지칭한다.
상기 신호에 분석 윈도우(analysis window)가 곱해진 다음, 시간 영역 앨리어싱(aliasing)이 수행된다: 첫 번째 쿼터(윈도우)는 두 번째 쿼터 상에서 앨리어싱(aliase)되고(즉, 시간이 반전되고 중첩됨), 네 번째 쿼터는 세 번째 쿼터 상에서 앨리어싱된다.
보다 구체적으로, 하나의 쿼터의 다른 쿼터에 대한 시간 영역 앨리어싱은 다음과 같은 방식으로 수행된다: 첫 번째 쿼터의 첫 번째 샘플이 두 번째 쿼터의 마지막 샘플에 더해지고(또는 마지막 샘플에서 빼지고), 첫 번째 쿼터의 두 번째 샘플이 두 번째 쿼터의 마지막 샘플 바로 옆에 위치한 샘플에 더해지고(또는 마지막 샘플 바로 옆에 위치한 샘플에서 빼지고) 등, 두 번째 쿼터의 첫 번째 샘플에(에서) 더해지는(빼지는) 첫 번째 쿼터의 마지막 샘플까지 수행된다.
따라서, 4개의 쿼터부터 2 개의 앨리어싱된(aliased) 쿼터가 얻어지며 각 샘플은 코딩될 신호의 샘플 2 개를 선형 조합한 결과이다. 이러한 선형 조합은 시간 영역 앨리어싱을 유도한다.
이후, 상기 2개의 앨리어싱된 쿼터는 DCT 변환(타입 IV) 후에 공동으로 인코딩된다. 다음 프레임에 대해, 선행(preceding) 프레임의 세 번째 및 네 번째 쿼터는 윈도우의 반만큼(즉, 50% 겹침) 시프트되어 현재 프레임의 첫 번째 및 두 번째 쿼터가 된다. 앨리어싱 후, 선행 프레임에서와 같은 샘플 쌍의 두 번째 선형 조합이 서로 다른 가중치로 전송된다.
디코더에서, 역 DCT 변환 후에 이러한 랩핑된 신호의 디코딩된 버전을 획득한다. 두 개의 연속된 프레임은 동일한 쿼터들의 두 개의 서로 다른 중첩의 결과를 포함한다. 즉, 각 샘플 쌍에 대해 서로 다르지만 알려진 가중치(known weights)가 있는 두 개의 선형 조합의 결과를 있음을 의미한다: 따라서, 방정식의 시스템을 풀어 입력 신호의 복호화된 버전이 획득될 수 있고, 시간 영역 앨리어싱이 두 개의 연속된 복호화된 프레임의 사용에 의해 제거될 수 있다.
언급된 방정식 시스템의 해결은 일반적으로 현명하게(judiciously) 선택된 합성(synthesis) 윈도우의 오프닝(opening), 곱셈(multiplication) 후, 두 개의 연속 된 디코딩 된 프레임 사이에서(양자화 오차로 인한 불연속성 없이) 공통 부분을 가산하고 중첩하여 암묵적으로 수행할 수 있다. 실제로 이 연산은 오버랩-추가(overlap-add)처럼 동작한다. 첫 번째 쿼터 또는 네 번째 쿼터에 대한 윈도우의 각 샘플이 0일 때, 윈도우의 그러한 부분에서 시간 영역 앨리어싱 없는 MDCT 변환을 갖는다. 이 경우, MDCT 변환에 의한 부드러운 전이가 제공되지 않으며 예를 들어, 외부의 중첩 가산과 같은 다른 방법에 의해 수행되어야 한다.
변환될 블록의 시간 영역 앨리어싱 방법과 관련하여, MDCT 변환 특히, DCT 변환의 정의의 변형된 구현이 존재한다는 점에 유의해야 한다(예를 들어, 왼쪽 및 오른쪽으로 앨리어싱된 쿼터에 적용된 부호를 반전할 수 있고, 두 번째 및 세 번째 쿼터는 첫 번째 및 네 번째 쿼터에 각각 앨리어싱될 수 있다). 이러한 변형은 윈도잉(windowing), 시간 영역 앨리어싱, 그리고 변환 및 최종적인 윈도잉, 앨리어싱 및 오버랩-추가(overlap-add)에 의한 샘플 블록 축소를 통한 합성에 관한 MDCT 분석(analysis)의 원리를 바꾸지 않는다.
Lecomte 등의 논문에 기술된 USAC RM0 코더의 경우, ACELP 코딩에 의해 코딩된 프레임과 FD 코딩에 의해 코딩된 프레임 간의 전이(transition)는 다음과 같은 방식으로 수행된다:
FD 모드의 전이 윈도우(window)는 128개 샘플의 좌측에 중첩되어 사용된다.
이 중첩 영역에 대한 시간 영역 앨리어싱은 재구성된 ACELP 프레임의 오른쪽에 인위적인(artificial) 시간 영역 앨리어싱을 도입함으로써 취소된다. 전이에 사용되는 MDCT 윈도우는 2304 샘플의 크기를 가지며 DCT 변환은 1152 샘플에서 작동하지만 보통 FD 모드 프레임은 2048 샘플의 크기를 가지는 윈도우와 1024 샘플의 DCT 변환으로 코딩된다. 따라서, 일반 FD 모드의 MDCT 변환은 전이 윈도우에 직접적으로 사용될 수 없으므로, 코더는 FD 모드에 대한 전이 구현을 복잡하게 하는 이 변환의 수정된 버전을 통합해야 한다.
이러한 지연은 코딩 지연이 일반적으로 모바일 애플리케이션(예를 들어, GSM EFR, 3GPP AMR 및 AMR-WB)의 음성 코더의 경우 20-25 ms 정도이고 화상 회의(예를 들어, UIT-T G.722.1 Annex C 및 G.719)의 대화식 변환 코더의 경우 40 ms 정도로서, 대화식 애플리케이션과 호환되지 않는다. 게다가, 때때로 DCT 변환의 크기(2304 vs 2048)를 늘리면 전이의 순간에 복잡성이 극심해진다.
이러한 단점을 극복하기 위해, 본 출원에서 참고 문헌으로 편입된 국제 특허 출원 WO2012/085451은 전이 프레임(transition frame)을 코딩하는 새로운 방법을 제공한다. 상기 전이 프레임은 예측 코딩에 의해 코딩된 선행 프레임의 다음에 변환 코딩된 현재 프레임으로 정의된다. 위에서 언급된 신규한 방법에 따르면, 전이 프레임의 일부분, 예를 들어, 12.8kHz에서 코어(core) CELP 코딩의 경우 5ms의 서브-프레임 및 12.7kHz에서 코어 CELP 코딩의 경우 각각 4ms의 2개의 추가 CELP 프레임들은 선행 프레임의 예측 코딩보다 더 제한된 예측 코딩에 의해 인코딩된다.
제한된 예측 코딩은, 예를 들어, 선형 예측 필터의 계수와 같은 예측 코딩에 의해 인코딩된 선행 프레임의 안정된 파라미터를 사용하고, 변환 프레임에서 추가적인 서브-프레임에 대한 몇 개의 최소 파라미터만을 코딩하는 것으로 구성된다.
선행 프레임이 변환 코딩으로 인코딩되지 않았기 때문에, 프레임의 첫 번째 부분에서 시간 영역 앨리어싱을 복구(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만큼 실제로 지연된다. 도면 하단에서, 굵은 선은 디코더 출력에서 디코딩된 프레임을 분리한다.
인코더에서, 전이(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)을 제공한다.
그러나, 출원 WO2012/085451은 고전(classic) 프레임을 코딩하는 CELP에 대한 요구되는 예산(budget)에 대응하는 CELP 서브 프레임을 단일 서브 프레임으로 부호화하기 위해 비트 예산 Btrans를 할당하는 것을 제공한다. 전이 프레임의 변환 코딩에 대한 나머지 예산은 불충분하며 낮은 레이트(rate)에서 품질 저하를 초래할 수 있다.
본 발명은 상기 상황을 개선한다.
이러한 목적을 위해, 본 발명의 첫 번째 양상은 전이 프레임을 코딩하기 위한 비트들의 분포를 결정하는 방법에 관한 것이다. 이러한 방법은 디지털 신호를 코딩/디코딩하기 위한 코더/디코더에서 구현된다. 상기 전이 프레임은 예측 코딩된 선행 프레임에 선행되고, 상기 전이 프레임을 코딩하는 단계는, 상기 전이 프레임의 단일 서브 프레임을 변환 코딩 및 예측 코딩하는 단계를 포함한다. 상기 방법은 다음 단계를 더 포함한다.
- 상기 전이 서브 프레임의 예측 코딩을 위한 비트 레이트를 할당하되, 상기 비트 레이트는 제 1 미리 결정된 비트 레이트 값과 상기 전이 프레임을 변환 코딩하기 위한 상기 비트 레이트 사이의 최소 값과 동일한 단계;
- 상기 비트 레이트를 위한 상기 전이 서브 프레임을 예측 코딩하기 위하여 할당된 제 1 비트 수를 결정하는 단계; 및
- 상기 전이 프레임 코딩을 위하여 가능한 비트 수와 상기 할당된 제 1 비트로부터, 상기 전이 프레임을 변환 코딩 하기 위하여 할당된 제 2 비트 수를 계산하는 단계.
다른 실시예에서, 코더/디코더는 제 1 주파수에서 신호 프레임을 예측 코딩/디코딩하기 위한 제 1 코어 동작 및 제 2 주파수에서 신호 프레임을 예측 코딩/디코딩하기 위한 제 2 코어 동작을 포함한다. 제 1 미리 결정된 비트 레이트 값은 예측 코딩된 선행 프레임을 코딩/디코딩하기 위한 제 1 코어 동작 및 제 2 코어 동작으로부터 선택된 코어에 의존한다.
일 실시예에서, 예측 코딩된 선행 프레임을 코딩/디코딩하기 위하여 상기 제 1 코어가 선택되었을 때, 할당된 비트 레이트는 또한 변환 코딩된 전이 프레임의 상기 비트 레이트와 적어도 하나의 제 2 미리 결정된 비트 레이트 값 사이의 최대 값과 동일하고, 상기 제 2 미리 결정된 비트 레이트 값은 상기 제 1 미리 결정된 비트 레이트 값보다 작다.
다른 실시예에서, 디지털 신호는 적어도 하나의 저 대역 주파수와 고 대역 주파수로 분해된다. 이 상황에서, 상기 계산된 제 1 비트수는, 상기 저 대역 주파수에 대한 상기 전이 서브 프레임을 예측 코딩하기 위하여 할당된다. 제3 미리 결정된 비트 수는 상기 고 대역 주파수에 대한 상기 전이 서브 프레임을 코딩하기 위하여 할당된다. 또한, 상기 전이 프레임을 변환 코딩하기 위하여 할당되는 상기 제2 비트수는 상기 제3 미리 결정된 비트수로부터 결정된다.
일 실시예에서, 전이 프레임을 코딩하기 위하여 이용 가능한 비트들의 수는 고정되어 있다.
다른 실시예에서, 제 2 비트 수는 전이 프레임을 코딩하기 위해 고정된 비트 수에서 제 1 비트 수를 빼고, 제 3 비트 수를 뺀 값과 동일하다. 따라서, 전이 프레임에서 비트 분포의 최종 결정은 코딩을 단순화하는 전체 값을 빼는 것으로 제한된다.
대안으로, 제 2 비트 수는 전이 프레임을 코딩하기 위해 고정된 비트 수에서 상기 제 1 비트수를 빼고, 상기 제 3 비트 수를 빼고, 제 1 비트 및 제 2 비트를 뺀 값과 동일하다. 제 1 비트는 상기 전이 서브 프레임의 상기 예측 코딩의 파라미터들을 결정할 때 저역 통과 필터 필터링이 수행되는지 여부를 나타내고, 상기 파라미터들은 토널 리드 타임(tonal lead time)과 관련된다. 상기 제 2 비트는 상기 전이 서브 프레임을 예측 코딩/디코딩을 위하여 상기 코더/디코더에 의하여 사용된 주파수를 나타낸다.
본 발명의 두 번째 양상은 예측 코딩 또는 변환 코딩에 따라 신호 프레임을 코딩할 수 있는 코더에서 디지털 신호를 코딩하는 방법에 관한 것으로서, 다음 단계를 포함한다:
* 예측 코딩에 따라 디지털 신호 샘플들의 선행하는 프레임 (301)을 코딩하는 단계;
* 디지털 신호 샘플들의 현재 프레임을 전이 프레임으로 코딩하는 단계를 포함하되, 상기 전이 프레임을 코딩하는 단계는 상기 전이 프레임의 단일 서브 프레임 변환 코딩 및 예측 코딩하는 단계를 포함하고, 상기 현재 프레임을 코딩하는 단계는 아래의 서브 단계들을 포함하되, 상기 서브 단계들은;
- 상기 청구 범위들 중 하나에 따라 비트들의 분포를 결정하는 단계;
- 상기 할당된 제 2 비트 수에 대해 상기 전이 프레임을 코딩 변환하는 단계;
- 상기 전이 서브 프레임 및 상기 할당된 제 1 비트 수를 예측 코딩하는 단계를 포함한다.
일 실시예에서, 예측 코딩은 전이 프레임에서 비트들의 분포 동안 할당된 비트 레이트에 대한 결정된 예측 코딩 파라미터들을 생성하는 단계를 포함한다. 이러한 예측 파라미터의 사용은 예측 코딩을 위해 할당된 비트 레이트와 변환 코딩을 위해 할당된 나머지 레이트 사이의 비율을 최적화하고, 따라서 재구성된 신호의 품질을 최적화한다. 실제로, 일정한 품질에서, 상기 예측 파라미터 또는 다른 예측 파라미터에 대해 귀속된 비트의 수는 예측 코딩을 위해 할당된 비트 레이트에 대해 비선형 비율로 변할 수 있다.
다른 실시예에서, 예측 코딩하는 단계는 선행 프레임의 예측 코딩을 위해 적어도 하나의 파라미터를 재사용하여 상기 선행 프레임을 예측 코딩하는 것과 관련하여 제한된 예측 코딩 파라미터들을 생성하는 단계를 포함한다. 따라서, 디코딩시 선행 프레임으로부터 부가 정보가 추출되어, 전이 서브 프레임을 디코딩하여 디코딩을 완료한다. 이는 전이 서브 프레임을 예측 코딩하기 위해 예약되어야 하는 비트의 수를 감소시킨다.
선행 프레임으로부터 재사용 파라미터들의 조합 및 전이 프레임의 변환 코딩을 위한 비트 레이트를 할당하는 것은 저비용으로 일관된 전이를 보장한다.
본 발명의 세 번째 양상은, 예측 코딩 및 변환 코딩에 의해 코딩된 디지털 신호를 디코딩하는 방법에 관한 것으로, 다음의 단계를 포함한다:
* 예측 코딩에 따라 코딩된 디지털 신호 샘플들의 선행 프레임을 예측 디코딩하는 단계;
* 상기 전이 프레임을 디코딩하고 디지털 신호 샘플들의 현재 프레임을 코딩하고, 상기 전이 프레임을 코딩하는 단계는, 상기 전이 프레임의 단일 서브 프레임을 변환 코딩 및 예측 코딩하는 단계를 포함하고, 아래의 서브 단계들을 포함하되, 상기 서브 단계는:
- 본 발명의 제 1 양상에 따른 방법에 의해 비트들의 분포를 결정하는 단계;
- 상기 할당된 제 비트 수에 대한 상기 전이 서브 프레임을 예측 디코딩하는 단계;
- 상기 할당된 제 2 비트 수에 대해 상기 전이 프레임을 변환 디코딩하는 단계를 더 포함한다.
전술한 바와 같이, 전이 프레임에서 비트의 분포를 결정하는 방법은 디코더에서 직접적으로 재현 가능하다. 실제로, 비트의 분포는 오직 전이의 변환 코딩된 부분의 비트 레이트로부터 결정된다. 따라서, 비트의 분포를 결정하는 단계를 구현하기 위해 여분의 비트가 필요하지 않으며 대역폭 절약이 이루어진다.
본 발명의 네 번째 양상은, 명령들이 프로세서에 의해 실행될 때, 전술한 본 발명의 양상에 따른 방법을 구현하기 위한 명령들을 포함하는 컴퓨터 프로그램을 추가 목표로 한다.
본 발명의 다섯 번째 양상은, 전이 프레임을 코딩하기 위한 비트들의 분포를 결정하기 위한 장치에 관한 것으로서, 상기 장치는 디지털 신호를 코딩/디코딩하기 위한 코더/디코더에서 구현되고, 상기 전이 프레임은 예측 코딩된 선행 프레임에 의해 선행되고, 상기 전이 프레임을 코딩하는 단계는 단일 서브 프레임을 변환 코딩 및 예측 코딩하는 단계를 포함하고, 상기 전이 프레임을 코딩하기 위한 상기 비트들의 수는 고정되고, 상기 장치는 다음 동작들을 수행하도록 배열된 프로세서를 포함한다:
- 상기 전이 서브 프레임을 예측 코딩하기 위한 비트 레이트를 할당하되, 상기 비트 레이트는 상기 전이 프레임을 변환 코딩하기 위한 비트 레이트와 제 1 미리 결정된 비트 레이트 값 사이의 최소값과 동일하고;
- 상기 비트 레이트에 대한 상기 전이 서브 프레임을 예측 코딩하기 위해 할당된 제 1 비트 수를 결정하고;
- 상기 코딩 파라미터들을 코딩하는데 필요한 비트 수 및 상기 전이 프레임을 코딩하기 위한 상기 고정 된 비트 수로부터 상기 전이 프레임을 변환 코딩하기 위해 할당된 제 2 비트 수를 계산한다.
본 발명의 여섯 번째 양상은, 예측 코딩 또는 변환 코딩에 따라 디지털 신호 프레임들을 코딩할 수 있는 코더를 추가 목표로 하며, 상기 코더는;
* 상기 본 발명의 다섯 번째 양상에 따른 장치;
* 다음의 동작을 수행하도록 구성된 프로세서를 포함하는 예측 코더를 포함하되, 상기 동작은:
- 예측 코딩에 따라 디지털 신호 샘플들의 선행 프레임을 코딩하고;
- 전이 프레임에 포함된 단일 서브 프레임을 예측 코딩하고, 디지털 신호 샘플들의 현재 프레임을 코딩하고, 상기 전이 프레임을 코딩하되, 상기 서브 프레임을 변환 코딩 또는 예측 코딩하는 동작을 포함하고, 상기 프로세서는 상기 할당된 제 1 비트 수의 전이 서브 프레임을 예측 코딩하기 위해 배열되고;
* 상기 할당된 제 2 비트 수에서 상기 전이 프레임을 변환 코딩하는 동작을 수행하도록 배치된 프로세서를 포함하는 변환 코더를 포함한다.
본 발명의 일곱 번째 양상은, 예측 코딩 및 변환 코딩에 의해 코딩된 디지털 신호에 대한 디코더를 추가 목표로 하며, 상기 디코더는:
* 본 발명의 다섯 번째 양상에 따른 장치;
* 다음의 동작을 수행하도록 구성된 프로세서를 포함하는 예측 디코더를 포함하되, 상기 동작은;
- 예측 코딩에 따라 코딩된 디지털 신호 샘플들의 선행 프레임을 예측 디코딩하고;
- 전이 프레임에 포함된 단일 서브 프레임을 예측 디코딩하고, 디지털 신호 샘풀들의 현재 프레임을 코딩하고, 상기 전이 프레임을 코딩하고, 상기 서브 프레임을 예측 코딩하고 변환 코딩하되, 상기 할당된 제 1 비트 수의 상기 전이 서브 프레임을 예측 디코딩하는 연산을 수행하도록 배치하고,
* 상기 할당된 제 2 비트 수에 대해 상기 전이 프레임을 전이 변환 코딩하는 동작을 수행하도록 배치된 프로세서를 포함하는 변환 디코더를 포함한다.
본 발명은 함께 믹싱되거나(mixed) 번갈아가면서 믹싱되는 음성(speech) 및 음악(music)을 포함할 수 있는 사운드를 코딩/디코딩하는 데 유리하게 적용된다.
본 발명에 따르면, 예측 코딩 비트 레이트는 최대 값에 의해 억제된다. 예측 코딩에 할당된 비트 수는 이러한 비트 전송률에 따라 다르다. 비트 레이트가 약해짐에 따라, 코딩을 위해 할당되는 비트의 수가 더 적기 때문에, 전이 프레임 변환 코딩을 위한 최소 잔여 예산이 보장된다.
또한, 생성된 신호의 일관성은 향상되어, 코딩(채널 코딩) 및 디코더에서 수신된 프레임을 프로세싱하는 후속 단계를 단순화한다.
또한, 상이한 코딩된 프레임들 사이에서 너무 큰 레이트 차이를 방지하기 위해 최소 비트 레이트가 보장된다.
또한, 디코딩시 복원된 신호의 품질을 희생함 없이 입력 신호의 전체 주파수 스펙트럼을 효율적으로 코딩하는 것이 가능하다.
또한, 전이 프레임을 코딩하기 위하여 이용 가능한 비트들의 수는 고정되어 있다. 이는 코딩 단계의 복잡성을 줄인다.
또한, 예측 코딩/디코딩을 위하여 상기 코더/디코더에 의하여 사용된 주파수를 나타냄으로써, 보다 유연한 코딩을 허용한다.
또한, 비트 분포를 결정하는 것은 디코더에서 재생 가능하며, 이러한 분배에 관한 정보의 명시적인 전송을 방지한다.
또한, 이러한 코딩은 이 전이 프레임 내에서 예측 코딩과 변환 코딩 간의 균형 잡힌 분배를 보장한다.
또한, 재구성된 신호의 품질을 최적화한다. 실제로, 일정한 품질에서, 상기 예측 파라미터 또는 다른 예측 파라미터에 대해 귀속된 비트의 수는 예측 코딩을 위해 할당된 비트 레이트에 대해 비선형 비율로 변할 수 있다.
또한, 디코딩시 선행 프레임으로부터 부가 정보가 추출되어, 전이 서브 프레임을 디코딩하여 디코딩을 완료한다. 이는 전이 서브 프레임을 예측 코딩하기 위해 예약되어야 하는 비트의 수를 감소시킨다.
선행 프레임으로부터 재사용 파라미터들의 조합 및 전이 프레임을 변환 코딩을 위한 비트 레이트를 할당하는 것은 저비용으로 일관된 전이를 보장한다.
전술한 바와 같이, 전이 프레임에서 비트의 분포를 결정하는 방법은 디코더에서 직접적으로 재현 가능하다. 실제로, 비트의 분포는 오직 전이의 변환 코딩된 부분의 비트 레이트로부터 결정된다. 따라서, 비트의 분포를 결정하는 단계를 구현하기 위해 여분의 비트가 필요하지 않으며 대역폭 절약이 이루어진다.
본 발명의 다른 특징 및 이점은 이하의 상세한 설명 및 첨부 도면을 검토할 때 나타날 것이다.
도 1은 본 발명의 일 실시예에 따른 오디오 코더를 도시한다.
도 2는 본 발명의 일 실시예에 따른 도 1의 오디오 코더에 의해 구현되는 코딩 방법의 단계들을 나타내는 다이어그램이다.
도 3은 본 발명의 일 실시예에 따른 CELP 프레임과 MDCT 프레임간의 전이를 도시한다.
도 4는 본 발명의 일 실시예에 따른 전이 프레임을 코딩하기 위한 비트들의 분포를 결정하는 방법의 단계들을 나타내는 다이어그램이다.
도 5는 본 발명의 일 실시예에 따른 오디오 디코더를 도시한다.
도 6은 본 발명의 일 실시예에 따른 도 5의 오디오 디코더에 의해 구현되는 디코딩 방법의 단계들을 나타내는 다이어그램이다.
도 7은 본 발명의 일 실시예에 따른 전이 프레임 내 비트들의 분포를 결정하기 위한 장치를 도시한다.
도 1은 본 발명의 일 실시예에 따른 오디오 코더(100)를 도시한다.
도 2는 본 발명의 일 실시예에 따른, 도 1의 오디오 코더 100에 의해 구현되는 코딩 방법의 단계들을 도시하는 다이어그램이다.
코더(100)은 201 단계에서 주어진 주파수 fs(예를 들어, 8, 16, 32 또는 48kHz)에서 샘플을 수신하고, 예를 들어 20ms의 서브 프레임으로 분해되는 수신 유닛(101)을 포함한다.
현재 프레임을 수신하면, 전처리 유닛(pre-processing unit)(102)은 적어도 하나의 LPD 모드와 FD 모드 사이에서 현재 프레임을 코딩하기 가장 적합한 코딩 모드를 202 단계에서 선택할 수 있다. 이하의 설명에서, 예시적인 목적을 위해, MDCT 코딩이 FD 모드를 위해 사용되고, CELP 코딩이 LPD 모드를 위해 사용되는 것으로 고려된다. LPD 및 FD 모드 각각에 대해 사용되는 코딩 기술에는 제한이 없다. 따라서, CELP 및 MDCT 모드 이외의 모드가 사용될 수 있으며, 예를 들어 CELP 코딩은 다른 유형의 예측 코딩으로 대체될 수 있으며, MDCT 변환은 다른 유형의 변환으로 대체될 수 있다.
예를 들어, 미리 정해진 리스트로부터 선택된 모드를 나타내는 고정 길이 코딩과 함께 프레임 유형이 블록(206)을 통해 명시적으로 전송된다고 가정한다. 본 발명의 변형 예에서, 각 프레임에서 선택된 모드에 대한이 코딩은 가변 길이일 수 있다. CELP 코딩 유형(12.8 또는 16 kHz)이 전이 프레임의 디코딩을 용이하게 하기 위해 비트를 통해 명시적으로 전송될 수도 있다.
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)에 더 기억될 수 있다.
후술되는 바와 같이, 대역 확장은 현재 프레임이 CELP 타입인 경우에 고 대역(high band)에 관련된 코딩으로 수행될 수도 있다.
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 단계에서 디코더에 전송된다.
유닛(102)에 의해 MDCT 코딩이 선택되고, 현재 프레임에 선행하는 프레임이 예측 코딩된 경우, 현재 프레임은 전이 프레임으로 전이 유닛(104)에 전송된다. 이하에서 설명되는 바와 같이, MDCT 전이 프레임은 추가 CELP 서브 프레임을 포함한다.
전이 유닛(104)은 다음의 단계들을 구현할 수 있다:
- 209 단계에서, 현재 프레임을 코딩하는 MDCT에 대해 이용 가능한 예산을 정의하기 위해, 전이 CELP 서브 프레임의 코딩에 필요한 비트의 예산을 예상하는 단계. 다음에서 설명되는 바와 같이, 상기 예산은 현재 프레임 레이트(rate)에 따라 달라질 수 있다. 또한, 상기 예산은 사용된 CELP 코어에 따라 평가될 수 있다. MDCT 코딩의 품질을 떨어뜨리지 않기 위한 충분한 비트 예산을 보존하기 위해, 본 발명은 CELP 서브 프레임에 대한 코딩 레이트를 제한하는 것을 제공할 수 있다. 이를 위해, 그것은 도 7의 장치(700)와 같은 전이 프레임 내 비트 분포를 결정하는 장치를 포함한다;
- 210 단계에서, 후술하는 도 3에 따라 코더에서 사용된 MDCT 윈도우를 수정하는 단계;
- 207 단계에서, 선행 프레임이 CELP 프레임이기 때문에 MDCT 변환 메모리를 제로화(zeroing)하는 단계 - 같은 방법으로 MDCT 메모리는 MDCT 디코딩에서 무시될 수 있다.
일 실시예에서, 이러한 단계들 중 적어도 하나는 후술하는 전이 프레임 코딩 유닛(106)에 의해 수행된다.
전이 MDCT 프레임은 이하에서 설명되는 바와 같이, 212 단계에서 MDCT 코더(105)에 의해 코딩되고, 209 단계에서 할당된 비트의 예산에 기초하여 코딩된다. 또한, 추가 CELP 서브 프레임은 213단계에서, 도 3을 참조하여 이하에서 설명되는 바와 같이, CELP 코더(103)에 의해 코딩되고, 209 단계에서 할당된 비트 예산에 따라 결정될 수 있다. CELP 코딩은 MDCT 코딩 전 또는 후에 수행될 수 있다.
도 3은 코딩 전, 코더의 코딩 전 및 디코더의 디코딩 전의 CELP 및 MDCT 프레임 간의 전이를 도시한다.
코드(301)에 대한 프레임은 코더(100)에서 수신되고 CELP 코더(103)에 의해 코딩된다. 현재 프레임(302)은 MDCT 변환 코딩되도록 코더(100)의 입력에 의해 수신된다. 따라서, 이것이 전이 프레임이다. 또한, 상기 코더의 입력에 의해 수신된 다음 프레임(303)은 MDCT 변환 코딩된다. 본 발명에 따르면, 상기 후속 프레임(303)은 CELP 코딩에 의해 코딩될 수 있고, 상기 다음 프레임(303)에 대해 사용되는 코딩에 대한 제한은 없다.
비대칭 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에 주어진 예들과 함께 대칭 윈도우를 사용하기 위해 수정된다.
점선(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 부분을 사용할 수 없기 때문이다).
이러한 목적을 위해, MDCT 윈도우(304)는 디코더에서 상기 MDCT 프레임의 제 1 부분에서 시간 영역 앨리어싱을 허용하면서 제로에서 제 1 쿼터를 갖는 MDCT 윈도우(313)에 의해 수정된다.
디코더에서, 분석 윈도우들(304, 305, 306 및 313)은 각각 합성 윈도우들(324, 325, 326 및 327)에 대응한다. 따라서 상기 합성 윈도우는 상응하는 분석 윈도우와 관련하여 시간상 반전(time-reversed)된다. 본 발명의 변형 예에서, 분석 및 합성 윈도우는 동일하거나 사인파(sinusoidal)의 유형 또는 다른 것일 수 있다.
CELP 코딩에 의해 코딩된 새로운 샘플들의 제 1 프레임(320)은 디코더에서 수신된다. 그것은 이 CELP 프레임(301)의 코드화된 버전에 대응한다. 여기서, 디코딩된 프레임은 프레임(320)에 대해 8.75ms만큼 시프트된다는 것을 상기한다.
전이 프레임(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가 된다.
도 3에 나타낸 신호 프레임들은 CELP 코딩/디코딩의 경우에 12.8 또는 16kHz의 상이한 샘플링 주파수들에서의 신호들을 포함할 수 있고, MDCT 코딩/디코딩의 경우에는 fs를 포함할 수 있음을 주목해야 한다. 그러나, 디코더에서, CELP 합성의 리샘플링 및 MDCT 합성의 시간 시프트 후에, 그 프레임들은 동기화된 채로 유지되고 도 3의 표현은 정확하게 유지된다.
전술한 바와 같이, 출원 WO2012/085451은 12.8 kHz CELP 코딩의 경우, MDCT 전이 프레임의 시작에서 5ms의 추가 CELP 서브 프레임을 코딩하고, 16 kHz CELP 코딩의 경우에는 MDCT 전이 프레임의 시작에서 각각 4 ms의 2 개의 추가 CELP 프레임들을 코딩한다.
12.8kHz의 경우, 6.25ms 지연은 채워지지 않고 중첩-가산이 영향을 받는다: 디코더에서 단지 0.625ms의 중첩-가산만이 충분하지 않다.
16kHz의 경우에, 2개의 추가 CELP 서브 프레임들이 전이 프레임의 시작에서 코딩되며, 그것은 전이 MDCT 프레임을 코딩하기 위한 예산을 거의 남기지 않아, 낮은 레이트로 상당한 품질 저하를 초래할 수 있다.
이러한 단점을 극복하기 위해, 본 발명은 CELP 코더(103)에 의해 12.8 또는 16 kHz에서 하나의 추가 CELP 서브 프레임의 코딩을 제안한다. 상술한 6.25 ms 길이의 누락된 신호를 생성하기 위해, 다음에 상세히 설명되는 바와 같이 추가 샘플들이 디코더에서 생성된다.
전이 CELP 서브 프레임을 코딩하기 위해, 유닛(106)은 선행 CELP 프레임의 적어도 하나의 CELP 파라미터를 재사용 할 수 있다. 예를 들어, 유닛(106)은 이전 CELP 서브 프레임의 선형 예측 계수 A(z)뿐만 아니라 이전 프레임 혁신(이전에 기술된 바와 같이 메모리(107)에 저장된)으로부터의 에너지를 적응적 사전 벡터, 적응 이득, 고정 이득, 및 전이 CELP 서브 프레임의 고정 사전 벡터를 코딩하기 위하여 재사용할 수 있다. 따라서, 추가 CELP 서브 프레임은 선행 CELP 프레임과 동일한 코어(12.8 kHz 또는 16 kHz)로 코딩될 수 있다.
전이 프레임 코딩 유닛(106)은 본 발명에 따른 전이 프레임 코딩을 보장한다. 본 발명은 코딩된 프레임(322)이 전이 프레임임을 나타내는 추가 비트의 비트 흐름에서 유닛(106)에 의한 삽입을 더 제공할 수 있으나, 일반적인 경우들에서, 이러한 전이 프레임 지시는 여분의 비트들을 취함이 없이 현재의 프레임 코딩 모드의 글로벌 표시로 전송될 수 있다.
또한, 본 발명은 상기 디코더의 합성 신호의 상기 샘플 주파수가 반드시 CELP 코어 주파수와 동일할 필요가 없기 때문에, 이 유닛(116)은 후자가 요구될 때, 204 단계 및 214 단계(소위 "대역 확장" 방법)에서 고정된 예산으로 고 대역의 신호를 코딩할 수 있다.
이러한 목적으로, 전이 프레임(106)의 코딩 유닛은 다음의 단계들을 구현할 수 있다:
- 스펙트럼의 높은 부분(사용된 CELP 코어에 상응하는 주파수 이상, 즉, 6.4 또는 8 kHz 이상)을 보존하기 위해 고 대역 통과 필터에 의해 상기 전이 프레임의 CELP 선행 프레임 및 CELP 서브 프레임을 필터링하는 단계. 이러한 필터링은 CELP 코더(103)로부터의 유한 임펄스 응답(FIR)을 갖는 필터에 의해 구현될 수 있다;
- 지연 파라미터와 이득(gain)을 추정하기 위해 원래의 전이 CELP 서브 프레임의 필터링된 부분과 필터링된 선행 CELP 프레임 사이의 상관을 검색하는 단계(필터링된 서브 프레임에 대응하는 신호와 지연을 적용함으로써 예측된 신호 사이의 진폭 차이);
- 예를 들어, 스칼라 정량화(scalar quantification)를 사용하여 지연 파라미터 및 상술한 이득을 코딩하는 단계(예를 들어, 지연은 6 비트 이상으로 코딩될 수 있고, 이득은 6 비트 이상으로 코딩될 수 있다).
전술한 209 단계는 본 발명의 일 실시예에 따른 변환 코딩을 위한 비트 분포를 결정하는 방법의 단계들을 도시하는 도 4를 참조하여 보다 상세하게 설명된다. 상술한 방법은 코더 및 디코더에서 동일한 방식으로 수행되지만, 오직 설명의 목적으로 코더 측에 도시된다.
400 단계에서, 현재 프레임 코딩에 할당될 수 있는 core_brate로 표시된 토탈 레이트(비트/s)는 MDCT 코더의 출력 레이트와 동일하게 고정된다. 이러한 예시에서 20ms로 고려되는 프레임의 지속 시간, 초당 프레임의 수는 50이고 비트 단위의 토탈 예산은 core_brate/50과 같다. 토탈 예산은 고정 레이트 코더의 경우 고정될 수도 있고, 또는 가변 레이트 코더의 경우 가변적일 수도 있다. 다음에서는, num_bits 변수가 사용되며 core_brate/50 값으로 초기화된다.
401 단계에서, 전이 유닛(104)은 이러한 선행 CELP 프레임을 코딩하기 위해 사용된 적어도 2 개의 CELP 코어로부터 CELP 코어를 결정한다. 다음의 예시에서, 두 개의 CELP 코어가 고려되며, 각각 12.8 kHz와 16 kHz의 주파수에서 작동한다. 대안으로, 단일 CELP 코어는 코딩시 및/또는 디코딩시에 구현된다.
선행 CELP 프레임에 사용된 CELP 코어가 12.8 kHz 주파수를 갖는 경우, 상기 방법은 전이 서브 프레임을 CELP 코딩하기 위해 cbrate으로 라벨링되는(labeled) 비트 레이트를 할당하는 단계(402)를 포함하며, 상기 비트 레이트는 전이 프레임의 MDCT 코딩에 대한 비트 레이트와 제 1 미리 결정된 비트 레이트 값 사이의 최소값과 동일하다. 상기 제 1 미리 결정된 값은 예를 들어, 24.4 kbit/s로 고정될 수 있으며, 이것은 전송 코딩을 위한 만족스러운 비트 예산을 보장하게 한다.
따라서, cbrate = min(core_bitrate, 24400). 이 제한은 기껏해야 24.40 kbit/s의 CELP 코딩에 의해 코딩된 것처럼 코딩된 CELP 파라미터를 갖는 추가 서브 프레임으로 제한된, 제한된 CELP 코딩의 동작을 억제하는 것과 동일하다.
선택적 단계인 403 단계에서, 할당된 비트 레이트는 11.60 kbit/s CELP 비트 레이트와 비교된다. 만약 상기 할당된 비트 레이트가 더 높으면, 적응형 사전(adaptive dictionary)을 저역 통과 필터링하기 위한 비트 표시를 코딩하기 위한 비트가 예약될 수 있다(예컨대, 12.65 kbit/s보다 높거나 같은 속도로 AMR-WB 코딩하는 경우). num_bits 변수가 업데이트된다.
num_bits := num_bits - 1
404 단계에서, budg1로 라벨링된 제 1 비트 수는 추가 CELP 서브 프레임을 예측 코딩하기 위해 할당된다. 상기 제 1 비트 수(budg1)는 CELP 서브 프레임을 코딩하는데 사용되는 CELP 파라미터를 나타내는 비트 수를 나타낸다. 상술한 바와 같이, CELP 서브 프레임의 코딩은 제한된 수의 CELP 파라미터가 사용되며, 선행 CELP 프레임을 코딩하는데 사용된 일부 파라미터가 유리하게 재사용될 수 있다.
예를 들어, 여기(excitation)만이 추가 CELP 서브 프레임을 코딩하기 위해 모델링될 수 있고, 따라서 비트는 고정 사전 벡터, 적응 사전 벡터 및 이득 벡터에 대해서만 예약된다. 이러한 각각의 파라미터들에 귀속되는 비트의 수는 402 단계에서 이 추가 CELP 서브 프레임을 코딩하기 위해 할당된 비트 레이트로부터 추론된다. 예를 들어, ITU-T의 G.722.2의 2003 년 7 월 버전에서 시작된, 표 1/G722.2 - 20ms 프레임에 대한 AMR-WB 부호화 알고리즘의 비트 분포는, 할당된 비트 레이트에 따라 CELP 파라미터에 의한 비트 할당 예시를 제공한다.
이전의 예시에서, 서브 프레임 코딩이 제한되는 경우, budg1은 적응 사전, 고정 사전 및 이득 벡터 각각에 기인한 비트의 합계에 대응한다. 예를 들면, 할당된 비트 레이트가 19.85kbit/s인 경우, 전술한 표 1/G722를 참조하여, 고정 사전(음색 리드 타임)에 9 비트가 할당되고, 이득 벡터(디렉토리 이득)에 7 비트가 할당된다. 이 경우, budg1은 88 비트와 같다.
num_bits 변수가 업데이트될 수 있다:
num_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 코딩 원리를 결합하는 것이 가능하다.
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 일 수 있다.
보완적인 일 실시예에서, 변환 코딩된 전이 프레임에 대한 비트 레이트가 8 kbit/s보다 낮으면, 할당된 레이트는 8 kbit/s 일 수 있다.
따라서, 이러한 보완적인 실시 예에 따르면, 다음의 알고리즘이 얻어진다:
If core_bitrate ≤ 8000
cbrate = 8000
Otherwise if core_bitrate ≤ 14800
othercbrate = 14800
Otherwise
cbrate = min(core_bitrate , 22600)
End if
선택적 단계인 407 단계에서, 할당된 비트 레이트는 11.60 kbit/s의 CELP 비트 레이트와 비교된다. 할당된 비트 레이트가 더 높으면, 비트는 적응 사전의 저역 필터링 비트 표시를 코딩하기 위해 예약될 수 있다. num_bits 변수는 업데이트된다.
num_bits := num_bits - 1
408 단계에서, 404 단계와 동일한 방식으로, 추가 CELP 서브 프레임을 예측 코딩하기 위해 제 1 비트 수 budg1이 할당되고, budg1은 전이 서브 프레임을 CELP 코딩하기 위해 할당된 비트 레이트에 의존한다.
다양한 코어 주파수에서의 코딩에 공통적인 410 단계에서, budg2로 라벨링된 제 2 수는 전이 프레임의 변환 코딩을 위해 할당되고, 전이 프레임의 총 비트 수인 제 1 비트 수 budg1으로부터 계산된다. 위의 계산과 관련하여 budg2는 num_bits 변수와 같다. 일반적으로, 전이 현재 프레임의 모드는 MDCT 코딩 예산에 귀속되는 것으로 가정되므로, 이 정보는 명시적으로 고려되지 않는다.
오디오 신호가 적어도 하나의 저 대역 주파수 및 하나의 고 대역 주파수로 분해되는 경우, 전이 서브 프레임의 저 대역 주파수를 코딩하기 위해 선행 단계가 구현될 수 있다. 상이한 코어 주파수에서의 코딩에 공통적인 410 단계 이전의 선택적인 단계 409 단계에서, 상기 방법은 상기 전이 서브 프레임의 주파수 고 대역을 코딩하기 위해, budg3으로 라벨링된 제 3 미리 결정된 비트 수를 할당하는 단계를 포함할 수 있다. 이 경우, 제 2 비트 수(budg2)는 제 1 비트 수(budg1) 및 제 3 비트 수(budg3)로부터 계산된다.
이전에 설명한 바와 같이, 전이 서브 프레임의 고 대역 주파수(또는 대역을 확장)을 코딩하는 것은 오디오 신호의 선행 프레임과 전이 서브 프레임 사이의 상관 관계에 기초할 수 있다. 예를 들어, 고 대역 주파수를 코딩하는 것은 두 단계로 분해될 수 있다.
첫 번째 단계에서, 오디오 신호의 선행 프레임 및 현재 프레임은 하이 패스 필터에 의해 필터링되어 스펙트럼의 상위 부분만을 유지한다. 스펙트럼의 상위 부분은 사용된 CELP 코어의 주파수보다 높은 주파수에 해당할 수 있다. 예를 들어, 사용된 CELP 코어가 12.8 kHz CELP 코어인 경우, 상기 고 대역은 12.8 kHz보다 낮은 주파수가 필터링된 오디오 신호에 해당한다. 이러한 필터링은 FIR 필터에 의해 구현될 수 있다.
두 번째 단계에서, 선행 프레임 및 현재 프레임의 필터링된 부분들 사이의 상관 관계 검색이 수행된다. 이러한 상관 관계 검색은 지연 파라미터를 추정한 다음, 이득을 추정할 수 있게 한다. 상기 이득은 현재 프레임의 필터링된 부분과 지연을 적용하여 예측된 신호 사이의 진폭 비율에 해당한다.
예를 들어, 이득을 위해 6 비트가 할당되고 지연을 위해 6 비트가 할당될 수 있다. 제 3 비트 수(budg3)는 12가 된다.
num_bits 변수는 업데이트 될 수 있다.
num_bits := num_bits - budg3
따라서, 제 2 비트 수(budg2)는 업데이트된 변수num_bits 와 동일하다.
도 5는 본 발명의 일 실시예에 따른 오디오 디코더(500)를 도시하고, 도 6은 도 5의 오디오 디코더(500)에서 구현되는 본 발명의 일 실시예에 따른 디코딩 방법의 단계들을 도시하는 다이어그램이다.
디코더(500)는 도 1의 코더(500)로부터 발생된 코딩된 디지털 신호(또는 비트 플로우(flow))를 601 단계에서 수신하기 위한 수신 유닛(501)을 포함한다. 만약, 현재 프레임이 CELP 프레임, MDCT 프레임 또는 전이 프레임인 경우, 상기 비트 플로우는 602 단계에서 결정할 수 있는 카테고리화 유닛(502)에 제출된다. 이를 위해, 카테고리화 유닛(502)은 현재의 프레임이 전이 프레임인지 여부를 나타내는 비트 플로우 정보와 어떤 CELP 코어가 CELP 프레임 또는 전이 CELP 서브 프레임을 디코딩하는데 사용할지를 나타내는 정보로부터 비트 플로우를 감산할 수 있다.
603 단계에서, 현재 프레임이 전이 프레임임이 확인된다.
만약 현재 프레임이 전이 프레임이 아닌 경우, 604 단계에서 현재 프레임이 CELP 프레임임이 확인된다. 만약 그런 경우라면, 상기 프레임은 카테고리화 유닛(502)에 의해 지시된 코어 주파수로, 605 단계에서 CELP 프레임을 디코딩 할 수 있는 CELP 디코더(504)에 전송된다. CELP 프레임을 디코딩한 후에, CELP 디코더(504)는 606 단계에서 선형 예측 필터 계수들(A(z))과 같은 파라미터들과 다음 프레임이 전이 프레임인 경우의 예측 에너지와 같은 내부 상태들을 메모리(506)에 저장한다.
CELP 디코더(504)로부터의 출력으로서, 신호는 607 단계에서 리샘플링 유닛(505)에 의해 디코더(500)의 출력 주파수로 리샘플링될 수 있다. 본 발명의 일 실시예에서, 리샘플링 유닛은 FIR 필터를 포함하고 리샘플링은 (예를 들어) 1.25 ms의 지연을 도입한다. 일 실시예에서, 후 처리는 리샘플링 전 또는 후에 CELP 디코딩에 적용될 수 있다.
상술한 바와 같이, 일 실시예에서, 대역 확장은 6071 및 6151 단계에서 대역 확장의 관리 유닛(5051)에 의해 현재 프레임이 CELP 유형일 때 고 대역과 연관된 디코딩으로 수행될 수 있다. 그 다음, 고 대역은 CELP 코딩과 결합되어 잠재적으로 저 대역에서 CELP 합성에 추가 지연이 적용될 수 있다.
CELP 디코더에 의해 디코딩되고 리샘플링되기 전 또는 후에 잠재적으로 후처리되고 리샘플링된 신호는 608 단계에서 디코더의 출력 인터페이스(510)로 전송된다.
디코더(500)는 MDCT 디코더(507)를 더 포함한다. 604 단계에서 현재 프레임이 MDCT 프레임인 것으로 결정되는 경우, MDCT 디코더(507)는 609 단계에서 고전적인 방식으로 MDCT 프레임을 디코딩할 수 있다. 610 단계에서, CELP 디코더(504)로부터 발생되는 신호의 리샘플링 애플리케이션(application)에 필요한 지연에 대응하는 지연은 지연 유닛(508)에 의해 디코더 출력에 적용되어 MDCT 합성을 CELP 합성과 동기화시킨다. MDCT에 의해 디코딩되고 지연된 신호는 608 단계에서 디코더의 출력 인터페이스(510)로 전송된다.
현재 프레임이 603 단계 이후에 전이 프레임으로 결정되는 경우, 비트의 분포를 결정하는 장치(503)는 611 단계에서 전이 프레임의 CELP 코딩을 위해 할당된 제 1 비트 수(budg1)와 전이 프레임의 변환 코딩을 위해 할당된 제 2 비트 수(budg3) 를 결정할 수 있다. 상기 장치(503)는 도 7을 참조하여 상세히 설명된 장치(700)에 대응할 수 있다.
MDCT 디코더(507)는 결정 유닛(503)에 의해 계산된 제 3 비트 수(budg3)를 사용하여 전이 프레임의 디코딩에 필요한 레이트를 조정한다. MDCT 디코더(507)는 MDCT 변환의 메모리를 더 제로화하고 612 단계에서 전이 프레임을 디코딩한다. MDCT 디코더로부터 발생하는 신호는 613 단계에서 지연 유닛(508)에 의해 지연된다.
동시에, 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 서브 프레임을 제한된 코딩하는 경우).
전술 한 바와 같이, 출원 WO2012/085451은 12.8 kHz의 CELP 코어에 대한 5 ms의 서브 프레임 및 16 kHz의 CELP 코어에 대한 4 ms의 2 개의 추가 서브 프레임을 추가 코딩하는 것을 제공한다.
도 3을 참조하여 설명된 바와 같이, 12.8 kHz의 경우, 6.25 ms 지연은 채워지지 않고 중첩-가산이 영향을 받는다: 디코더는 단지 0.625 ms의 중첩-가산을 가지며, 이는 불충분하다.
16 kHz의 경우, 추가 CELP 서브 프레임에 대해, 전이 프레임의 시작시에 코딩되고, 이것은 전이 MDCT 프레임을 코딩하기 위한 예산을 거의 남기지 않고, 현재의 프레임에서 “풀 레이트(full-rate)”로 MDCT 코딩에 대한 품질 저하를 야기할 수 있다.
따라서, 국제 출원 WO2012/085451의 해결책은 만족스럽지 않다.
본 발명의 독립적인 양상은, 하나의 추가 전이 CELP 서브 프레임으로부터, 전이 CELP 서브 프레임을 부호화하기 위해 사용된 코딩 파라미터를 재사용함으로써 제 2 서브 프레임을 부분적으로 생성한다. 따라서, 지연은 충분한 중첩 가산을 보장하고, 전이 프레임의 MDCT 코딩 레이트에 영향을 미치지 않으면서 채워진다.
이러한 목적을 위해, 본 발명은 또한, 예측 디코딩에 따라 또는 변환 디코딩에 따라 신호 프레임을 디코딩할 수 있는 디코더(500)에서 코딩된 디지털 신호 P를 디코딩하는 방법을 목표로 한다. 상기 방법은 다음의 단계를 포함할 수 있다:
- 501단계에서, 제 1 디지털 신호 프레임을 코딩하는 예측 코딩 파라미터들의 제 1 세트를 수신하는 단계;
- 605단계에서, 예측 코딩 파라미터의 제 1 세트에 기초하여 제 1 프레임을 예측 디코딩하는 단계;
- 새로운 프레임에 대해 501 단계에서, 변환 코딩된 전이 프레임의 제 1 전이 서브 프레임을 예측 코딩하기 위한 파라미터들의 제 2 세트를 수신하는 단계;
- 614단계에서, 상기 제 2 세트의 예측 코딩 파라미터들에 기초하여 상기 제 1 전이 서브 프레임을 디코딩하는 단계,
- 614단계에서, 상기 제 2 세트의 적어도 하나의 예측 코딩 파라미터로부터 제 2 전이 서브 프레임으로부터의 샘플을 생성하는 단계.
본 발명은 또한 P를 디코딩하는 방법을 구현하기 위한 디코더(500)뿐만 아니라, 명령들이 프로세서에 의해 실행될 때 P를 디코딩하는 방법을 수행하기 위한 상기 명령들을 포함하는 컴퓨터 프로그램을 목표로 한다.
제 2 서브 프레임을 생성하기 위해 재사용되는 CELP 파라미터는 이득 벡터, 적응 사전 벡터 및 고정 사전 벡터 일 수 있다.
P를 디코딩하는 방법의 일 실시예에 따르면, 최소 오버랩 값은 변환 디코딩을 위해 미리 정의될 수 있고, 제 2 서브 프레임으로부터 생성된 샘플들의 수는 상기 최소 오버랩 값에 기초하여 결정된다. 이 마지막 서브 프레임은 제 1 서브 프레임에서와 동일한 피치 지연 및 동일한 적응 사전 이득을 갖는 피치 예측을 반복함으로써 CELP 합성을 연장하고, 동일한 LPC 계수 및 디엠퍼시스(de-emphasis) 또는 디액센트 (de-accentuation)를 이용하여 합성 LPC 필터링을 수행함으로써 추가 정보 없이 생성될 수 있다.
제 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 코딩을 수정하는 것을 의미한다
P를 디코딩하는 방법의 이전 실시예에 부가하여, 방법 P는 유한 임펄스 응답 필터에 의해 수행되는 리샘플링하는 615단계를 더 포함할 수 있다. 이전에 설명된 바와 같이, FIR 필터는 리샘플링 유닛(505)에 통합될 수 있다. 리샘플링은 선행하는 CELP 프레임으로부터의 FIR 필터 메모리를 사용하고 처리는 이 예에서 1.25㎳의 여분의 지연을 유도한다.
상기 방법 P는 상기 리샘플링 단계에 의해 도입된 지연을 채우기 위해 상기 유한 임펄스 응답 필터 메모리에 저장된 샘플들로부터 획득된 추가 신호를 부가하는 단계를 더 포함할 수 있다. 따라서, 이전에 생성된 6.25ms의 추가 신호에 더하여, 1.25ms의 신호가 디코더(500)에 의해 생성되며, 이들 샘플은 유리하게 6.25ms의 추가 신호의 리샘플링에 의해 도입된 지연을 채우는 것을 허용한다.
이러한 목적으로, 리샘플링 유닛(505)의 FIR 필터 메모리는 CELP 디코딩 후에 각 프레임에 대해 저장될 수 있다. 이 메모리의 샘플 수는 고려된 CELP 코어 주파수(12.8 또는 16 kHz)에서 1.25 ms에 해당한다
방법 P의 보완적인 실시예에 따르면, 저장된 샘플을 리샘플링하는 것은 유한 임펄스 응답 필터로부터의 제 1 지연보다 짧은 제 2 지연을 도입하는 보간 방법에 의해 수행되며, 이는 널(null)로 간주 될 수 있다. 따라서, FIR 필터 메모리로부터 생성된 1.25 ms 신호는 최소 지연을 의미하는 방법에 따라 리샘플링된다. 예를 들어, FIR 필터 메모리에 의해 생성된 1.25 ms의 신호를 리샘플링하는 것은 큐빅(cubic) 보간에 의해 수행될 수 있는데, 이는 오직 2 개의 샘플들로부터의 지연을 의미하며, FIR 필터로부터의 지연과 비교하여 최소 지연을 의미한다. 따라서, 두 개의 추가 샘플은 위에서 언급 한 1.25ms의 신호를 다시 샘플링하는 데 필요하다. 이 두 개의 추가 샘플은 FIR 필터의 리샘플링 메모리의 마지막 값을 반복하여 얻을 수 있다.
디코더는 제 1 및 제 2 전이 프레임으로부터 얻어진 6.25ms의 CELP 신호로부터 고주파수 부분을 추가로 디코딩할 수 있다. 이를 위해, CELP 디코더(504)는 선행 CELP 프레임의 마지막 서브 프레임으로부터의 적응 이득 및 고정 사전 벡터를 사용할 수 있다.
디코더(500)는 616 단계에서, 디코딩된 신호와 리샘플링된 CELP 전이 서브 프레임, 큐빅 보간에 의해 리샘플링된 샘플 및 MDCT 디코더(507)로부터 발생되는 전이 프레임의 디코딩된 신호 사이의 중첩 가산을 보장할 수 있는 중첩 가산 유닛(509)을 더 포함한다.
이 목적을 위해, 유닛(509)은 도 3의 합성 수정된(modified) 윈도우(327)를 적용한다. 따라서, 두 쿼터에 대한 MDCT 앨리어싱 포인트 이전에, 샘플들은 제로화된다. 상술한 앨리어싱 포인트 후에, 윈도우된 샘플들은 도 3의 수정되지 않은 윈도우(324)에 의해 나뉘어지고, 인코더에 적용된 윈도우와 결합된 시너스-타입(sinus-type) 윈도우에 의해 곱해져서, 총 윈도우는 sin^2이다. 중첩 가산에 관련된 부분에서 CELP 및 0-지연 리샘플링(예를 들어, 큐빅 보간)으로 발생되는 샘플은 cos^2 윈도우에 의해 가중치가 적용된다.
이와 같이 획득된 전이 프레임은 608 단계에서 디코더의 출력 인터페이스(510)로 전송된다.
도 7은 전이 프레임에 대한 비트 분포를 결정하기 위한 장치(700)의 예를 나타낸다.
상기 장치는 랜덤 액세스 메모리(random access memory)(704) 및 전술한 전이 프레임에 대한 비트 분포를 결정하는 방법을 구현할 수 있는 명령을 저장하기 위한 프로세서(703)를 포함한다. 상기 장치는 또한 상기 방법을 적용한 후에 보존되도록 의도된 데이터를 저장하기 위한 대용량 메모리(705)를 포함한다. 또한, 디바이스(700)는 디지털 신호 프레임을 수신하고 이들 상이한 프레임 각각에 할당된 예산에 대한 세부 사항을 방출하기 위한 입력 인터페이스(701) 및 출력 인터페이스(706)를 포함한다.
상기 디바이스(700)는 디지털 신호 프로세서(DSP)(702)를 더 포함할 수 있다. 이 DSP(702)는 공지된 방식으로 이들 프레임을 형성, 복조 및 증폭하기 위한 디지털 신호 프레임을 수신할 수 있다.
본 발명은 예시적인 목적을 위해 상기 기술된 실시예에 국한되지 않으며; 그것은 다른 변형으로 확장된다.
따라서, 압축 또는 압축 해제 장치가 전체로서 엔티티(antity)인 실시예가 설명되었다. 물론, 장치는 예를 들어 디지털 카메라, 사진 카메라, 이동 전화, 컴퓨터, 영화 프로젝터 등과 같은 모든 타입의 보다 중요한 장치에 내장될 수 있다.
또한, 압축, 압축 해제 및 비교 장치의 특정 설계를 제안하는 실시예가 설명되었다. 이러한 설계들은 설명의 목적으로만 제공되는 것이다. 따라서, 구성 요소의 배열 및 각 구성 요소에 할당된 태스크(task)의 상이한 분포도 고려될 수 있다. 예를 들어, 디지털 신호 프로세서 (DSP)에 의해 수행되는 작업은 고전(classic) 프로세서에 의해 수행될 수도 있다.
100: 오디오 코더
101: 수신 유닛
102: 전처리 유닛
103: CELP 코더
104: 전이 유닛
105: MDCT 코더
106: 프레임 코딩 유닛
107: 메모리
108: 전송 유닛
500: 오디오 디코더
501: 수신 유닛
502: 카테고리화 유닛
504: CELP 디코더
505: 리샘플링 유닛
507: MDCT 디코더
508: 지연 유닛
509: 중첩 가산 유닛
510: 출력 인터페이스

Claims (16)

  1. 예측 코딩에 따라 또는 변환 코딩에 따라 신호 프레임을 코딩할 수 있는 코더(100)에서 디지털 신호를 코딩하는 방법에 있어서,
    * 상기 예측 코딩에 따라 디지털 신호 샘플들의 선행 프레임(301)을 코딩하는 단계; 및
    * 상기 디지털 신호 샘플들의 현재 프레임(302)을 전이 프레임(321, 322)으로 코딩하는 단계를 포함하되, 상기 전이 프레임(321, 332)의 코딩은 상기 전이 프레임에 포함된 서브 프레임(321)의 예측 코딩과 상기 전이 프레임의 변환 코딩을 포함하고, 상기 현재 프레임(302)을 코딩하는 단계는 서브 단계들을 포함하되, 상기 서브 단계들은,
    - 상기 전이 프레임을 코딩하기 위한 비트들의 분포를 다음 동작에 의해 결정하되,
    상기 다음 동작은,
    전이 서브 프레임의 예측 코딩을 위한 비트 레이트를 할당하되, 상기 비트 레이트는 미리 정해진 제1 비트 레이트와 상기 전이 프레임을 변환 코딩하기 위한 비트 레이트 사이의 최소값과 동일한, 단계(402; 405);
    상기 비트 레이트로 상기 전이 서브 프레임을 예측 코딩하기 위하여 할당된 비트의 제1 개수를 결정하는 단계(408, 408); 및
    상기 전이 프레임의 코딩을 위하여 이용 가능한 비트의 개수와 상기 할당된 비트의 제1 개수로부터, 상기 전이 프레임을 변환 코딩하기 위하여 할당된 비트의 제2 개수를 계산하는 단계(410)를 포함하는, 단계(209);
    - 상기 제2 개수로 할당된 비트의 상기 전이 프레임(322)을 변환 코딩하는 단계(212); 및
    - 상기 제1 개수로 할당된 비트의 상기 전이 서브 프레임(321)을 예측 코딩하는 단계(213)를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 예측 코딩하는 단계는, 상기 할당된 비트 레이트로 예측 코딩 파라미터들을 생성하는 단계를 포함하는 방법.
  3. 제 1 항에 있어서,
    상기 예측 코딩하는 단계는, 상기 선행 프레임의 예측 코딩을 위해 적어도 하나의 파라미터를 재사용하여 상기 선행 프레임(320)의 예측 코딩과 관련하여 제한된 예측 코딩 파라미터들을 생성하는 단계를 포함하는 방법.
  4. 제 1 항에 있어서,
    상기 코더는, 신호 프레임의 예측 코딩을 위해 제1 주파수로 동작하는 제1 코어 및 상기 신호 프레임의 예측 코딩을 위해 제2 주파수로 동작하는 제2 코어를 포함하고,
    상기 미리 정해진 제1 비트 레이트는 상기 예측 코딩된 선행 프레임을 코딩하기 위한 상기 제1 코어와 상기 제2 코어로부터 선택된 코어에 의존하는, 방법.
  5. 제 4 항에 있어서,
    상기 예측 코딩된 선행 프레임을 코딩하기 위하여 상기 제1 코어가 선택되었을 때, 상기 할당된 비트 레이트는 상기 변환 코딩된 전이 프레임의 비트 레이트와 적어도 하나의 미리 정해진 제2 비트 레이트 사이의 최대값과 동일하고, 상기 미리 정해진 제2 비트 레이트는 상기 미리 정해진 제1 비트 레이트보다 작은, 방법.
  6. 제 1 항에 있어서,
    상기 디지털 신호는 적어도 하나의 저대역 주파수와 하나의 고대역 주파수로 분해되고,
    상기 제1 개수의 비트는 상기 저대역 주파수에 대한 상기 전이 서브 프레임의 예측 코딩을 위하여 할당되고,
    미리 정해진 제3 개수의 비트는 상기 고대역 주파수에 대한 상기 전이 서브 프레임의 코딩을 위하여 할당되고,
    상기 전이 프레임의 변환 코딩을 위하여 할당되는 제2 개수의 비트는 상기 미리 정해진 제3 개수로부터 결정되는 방법.
  7. 제 6 항에 있어서,
    상기 전이 프레임을 코딩하기 위하여 이용 가능한 비트의 개수는 고정되는 방법.
  8. 제 7 항에 있어서,
    상기 제2 개수는, 상기 전이 프레임을 코딩하기 위해 고정된 비트 개수에서 상기 제1 개수를 빼고, 상기 제3 개수를 뺀 값과 동일한 방법.
  9. 제 7 항에 있어서,
    상기 제2 개수는 상기 전이 프레임을 코딩하기 위해 고정된 비트 개수에서 상기 제1 개수를 빼고, 상기 제3 개수를 빼고, 제1 비트 및 제2 비트를 뺀 값과 동일하고,
    상기 제1 비트는 상기 전이 서브 프레임의 상기 예측 코딩의 파라미터들을 결정할 때 저역 통과 필터링이 수행되는지 여부를 나타내되, 상기 파라미터들은 토널 리드 타임과 관련되고,
    상기 제2 비트는 상기 전이 서브 프레임의 예측 코딩을 위한 상기 코더의 코어에 의하여 사용된 주파수를 가리키는 방법.
  10. 코딩된 디지털 신호를 디코딩하는 방법에 있어서, 상기 방법에 따라 구현된 디코더(500)는 예측 디코딩 또는 변환 디코딩에 따라 신호 프레임들을 디코딩할 수 있고, 상기 방법은,
    * 예측 코딩에 따라 코딩된 디지털 신호 샘플들의 선행 프레임을 예측 디코딩하는 단계(605); 및
    * 상기 디지털 신호 샘플들의 현재 프레임을 코딩한 전이 프레임(321, 322)을 디코딩하는 단계를 포함하고, 상기 전이 프레임의 디코딩은 상기 전이 프레임에 포함된 서브 프레임(321)의 예측 디코딩과 상기 전이 프레임의 변환 디코딩을 포함하고, 상기 전이 프레임의 디코딩은 서브 단계들을 포함하되, 상기 서브 단계들은,
    - 상기 전이 프레임을 디코딩하기 위한 비트들의 분포를 다음 동작에 의해 결정하되,
    상기 다음 동작은,
    전이 서브 프레임의 예측 디코딩을 위한 비트 레이트를 할당하되, 상기 비트 레이트는 미리 정해진 제1 비트 레이트와 상기 전이 프레임을 변환 디코딩하기 위한 비트 레이트 사이의 최소값과 동일한, 단계(402; 405);
    상기 비트 레이트로 상기 전이 서브 프레임을 예측 디코딩하기 위하여 할당된 비트의 제1 개수를 결정하는 단계(408, 408); 및
    상기 전이 프레임 디코딩을 위하여 이용 가능한 비트의 개수와 상기 할당된 비트의 제1 개수로부터, 상기 전이 프레임을 변환 디코딩하기 위하여 할당된 비트의 제2 개수를 계산하는 단계(410)를 포함하는, 단계(611);
    - 상기 제1 개수로 할당된 비트의 상기 전이 서브 프레임(321)을 예측 디코딩하는 단계(614); 및
    - 상기 제2 개수로 할당된 비트의 상기 전이 프레임(322)을 변환 디코딩하는 단계(612)를 포함하는, 방법.
  11. 제 10 항에 있어서,
    상기 디코더는, 신호 프레임의 예측 디코딩을 위해 제1 주파수로 동작하는 제1 코어 및, 상기 신호 프레임의 예측 디코딩을 위해 제2 주파수로 동작하는 제2 코어를 포함하고,
    상기 미리 정해진 제1 비트 레이트는 상기 예측 코딩된 선행 프레임을 디코딩하기 위한 상기 제1 코어와 상기 제2 코어로부터 선택된 코어에 의존하는, 방법.
  12. 컴퓨터를 이용하여 제 1 항 또는 제 10 항에 따른 방법을 실행시키기 위하여 컴퓨터 판독 가능한 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램은, 명령들이 프로세서에 의해 실행될 때, 제 1 항 또는 제 10 항에 따른 방법을 구현하기 위한 상기 명령들을 포함하는, 컴퓨터 판독 가능한 매체에 저장된 컴퓨터 프로그램.
  13. 디지털 신호를 코딩하기 위한 코더에서 구현되어 전이 프레임(321, 322)을 코딩하기 위한 비트들의 분포를 결정하기 위한 장치로서, 예측 코딩된 선행 프레임(320)이 상기 전이 프레임보다 선행하고, 상기 전이 프레임의 코딩은 상기 전이 프레임에 포함된 서브 프레임(321)의 예측 코딩과 상기 전이 프레임의 변환 코딩을 포함하고, 상기 전이 프레임을 코딩하기 위한 비트의 개수가 고정될 때, 상기 장치는 다음 동작을 수행하도록 구성된 프로세서를 포함하되, 상기 다음 동작은,
    - 전이 서브 프레임을 예측 코딩하기 위한 비트 레이트를 할당하되, 상기 비트 레이트는 상기 전이 프레임을 변환 코딩하기 위한 비트 레이트와 미리 정해진 제1 비트 레이트 사이의 최소값과 동일하고;
    - 상기 비트 레이트로 상기 전이 서브 프레임을 예측 코딩하기 위해 할당된 비트의 제1 개수를 결정하고;
    - 코딩 파라미터들을 코딩하는데 필요한 비트의 개수 및 상기 전이 프레임을 코딩하기 위한 상기 고정된 비트의 개수로부터 상기 전이 프레임을 변환 코딩하기 위해 할당된 비트의 제2 개수를 계산하는, 장치.
  14. 예측 코딩 또는 변환 코딩에 따라 디지털 신호 프레임들을 코딩할 수 있는 코더에 있어서,
    * 제 13 항에 따른 장치(104);
    * 상기 예측 코딩에 따라 디지털 신호 샘플들의 선행 프레임을 코딩하고, 상기 디지털 신호 샘플들의 현재 프레임을 인코딩한 전이 프레임에 포함된 서브 프레임을 예측 코딩하되, 상기 전이 프레임의 코딩은 상기 서브 프레임의 예측 코딩과 상기 전이 프레임의 변환 코딩을 포함하고, 제1 개수로 할당된 비트의 전이 서브 프레임을 예측 코딩 수행하도록 구성된 예측 코더(103); 및
    * 제2 개수로 할당된 비트의 상기 전이 프레임을 변환 코딩하도록 구성되는 변환 코더(105)를 포함하는 코더.
  15. 디지털 신호를 디코딩하기 위한 디코더에서 구현되어 전이 프레임(321, 322)을 디코딩하기 위한 비트들의 분포를 결정하기 위한 장치로서, 예측 코딩된 선행 프레임(320)이 상기 전이 프레임보다 선행하고, 상기 전이 프레임의 디코딩은 상기 전이 프레임에 포함된 서브 프레임(321)의 예측 디코딩과 상기 전이 프레임의 변환 디코딩을 포함하고, 상기 전이 프레임을 디코딩하기 위한 비트의 개수가 고정될 때, 상기 장치는 다음 동작을 수행하도록 구성된 프로세서를 포함하되, 상기 다음 동작은,
    - 상기 전이 서브 프레임을 예측 디코딩하기 위한 비트 레이트를 할당하되, 상기 비트 레이트는 상기 전이 프레임을 변환 디코딩하기 위한 비트 레이트와 미리 정해진 제1 비트 레이트 사이의 최소값과 동일하고;
    - 상기 비트 레이트로 상기 전이 서브 프레임을 예측 디코딩하기 위해 할당된 비트의 제1 개수를 결정하고;
    - 코딩 파라미터들을 디코딩하는데 필요한 비트 개수 및 상기 전이 프레임을 디코딩하기 위한 비트의 상기 고정된 개수로부터 상기 전이 프레임을 변환 디코딩하기 위해 할당된 비트의 제2 개수를 계산하는, 장치.
  16. 예측 코딩 및 변환 코딩에 의해 코딩된 디지털 신호용 디코더에 있어서,
    * 제 15 항에 따른 장치(503);
    * 상기 예측 코딩에 따라 코딩된 디지털 신호 샘플들의 선행 프레임(320)을 예측 디코딩하고, 상기 디지털 신호 샘플들의 현재 프레임을 인코딩한 전이 프레임에 포함된 서브 프레임(321)을 예측 디코딩하되, 상기 전이 프레임의 디코딩은 상기 서브 프레임의 예측 디코딩과 상기 전이 프레임의 변환 디코딩을 포함하고, 제1 개수로 할당된 비트의 전이 서브 프레임을 예측 디코딩하는 연산을 수행하는 예측 디코더(504); 및
    * 제2 개수로 할당된 비트의 상기 전이 프레임을 변환 디코딩하는 변환 디코더(507)를 포함하는 디코더.
KR1020227015119A 2014-07-29 2015-07-27 Lpd/fd 전이 프레임 인코딩의 예산 결정 KR102485835B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR1457353A FR3024581A1 (fr) 2014-07-29 2014-07-29 Determination d'un budget de codage d'une trame de transition lpd/fd
FR1457353 2014-07-29
PCT/FR2015/052073 WO2016016566A1 (fr) 2014-07-29 2015-07-27 Détermination d'un budget de codage d'une trame de transition lpd/fd
KR1020177005825A KR20170037660A (ko) 2014-07-29 2015-07-27 Lpd/fd 전이 프레임 인코딩의 예산 결정

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020177005825A Division KR20170037660A (ko) 2014-07-29 2015-07-27 Lpd/fd 전이 프레임 인코딩의 예산 결정

Publications (2)

Publication Number Publication Date
KR20220066412A true KR20220066412A (ko) 2022-05-24
KR102485835B1 KR102485835B1 (ko) 2023-01-09

Family

ID=51894138

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227015119A KR102485835B1 (ko) 2014-07-29 2015-07-27 Lpd/fd 전이 프레임 인코딩의 예산 결정
KR1020177005825A KR20170037660A (ko) 2014-07-29 2015-07-27 Lpd/fd 전이 프레임 인코딩의 예산 결정

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020177005825A KR20170037660A (ko) 2014-07-29 2015-07-27 Lpd/fd 전이 프레임 인코딩의 예산 결정

Country Status (8)

Country Link
US (2) US10586549B2 (ko)
EP (1) EP3175443B1 (ko)
JP (1) JP6607921B2 (ko)
KR (2) KR102485835B1 (ko)
CN (2) CN106605263B (ko)
ES (1) ES2676832T3 (ko)
FR (1) FR3024581A1 (ko)
WO (1) WO2016016566A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3024581A1 (fr) * 2014-07-29 2016-02-05 Orange Determination d'un budget de codage d'une trame de transition lpd/fd
CN112967727A (zh) * 2014-12-09 2021-06-15 杜比国际公司 Mdct域错误掩盖
JP7285830B2 (ja) * 2017-09-20 2023-06-02 ヴォイスエイジ・コーポレーション Celpコーデックにおいてサブフレーム間にビット配分を割り振るための方法およびデバイス
CN111402908A (zh) * 2020-03-30 2020-07-10 Oppo广东移动通信有限公司 语音处理方法、装置、电子设备和存储介质
CN111431947A (zh) * 2020-06-15 2020-07-17 广东睿江云计算股份有限公司 一种云桌面客户端优化显示的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090127447A (ko) * 2000-12-04 2009-12-11 퀄컴 인코포레이티드 수신된 가변 레이트 스피치 프레임의 검출된 레이트를 검증하는 방법 및 시스템
US20130289981A1 (en) * 2010-12-23 2013-10-31 France Telecom Low-delay sound-encoding alternating between predictive encoding and transform encoding
US20140303965A1 (en) * 2011-10-27 2014-10-09 Lg Electronics Inc. Method for encoding voice signal, method for decoding voice signal, and apparatus using same

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE302991T1 (de) * 1998-01-22 2005-09-15 Deutsche Telekom Ag Verfahren zur signalgesteuerten schaltung zwischen verschiedenen audiokodierungssystemen
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
US6885988B2 (en) * 2001-08-17 2005-04-26 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
US7630902B2 (en) * 2004-09-17 2009-12-08 Digital Rise Technology Co., Ltd. Apparatus and methods for digital audio coding using codebook application ranges
US7937271B2 (en) * 2004-09-17 2011-05-03 Digital Rise Technology Co., Ltd. Audio decoding using variable-length 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 (fr) * 2006-02-20 2007-08-24 France Telecom Procede de discrimination et d'attenuation fiabilisees des echos d'un signal numerique dans un decodeur et dispositif correspondant
CN101578508B (zh) * 2006-10-24 2013-07-17 沃伊斯亚吉公司 用于对语音信号中的过渡帧进行编码的方法和设备
KR100848324B1 (ko) * 2006-12-08 2008-07-24 한국전자통신연구원 음성 부호화 장치 및 그 방법
CN101206860A (zh) * 2006-12-20 2008-06-25 华为技术有限公司 一种可分层音频编解码方法及装置
CN101025918B (zh) * 2007-01-19 2011-06-29 清华大学 一种语音/音乐双模编解码无缝切换方法
CN100578619C (zh) * 2007-11-05 2010-01-06 华为技术有限公司 编码方法和编码器
ATE500588T1 (de) * 2008-01-04 2011-03-15 Dolby Sweden Ab Audiokodierer und -dekodierer
CN101261836B (zh) * 2008-04-25 2011-03-30 清华大学 基于过渡帧判决及处理的激励信号自然度提高方法
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
ES2683077T3 (es) * 2008-07-11 2018-09-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificador y decodificador de audio para codificar y decodificar tramas de una señal de audio muestreada
ES2558229T3 (es) * 2008-07-11 2016-02-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificador y decodificador de audio para codificar tramas de señales de audio muestreadas
KR101315617B1 (ko) * 2008-11-26 2013-10-08 광운대학교 산학협력단 모드 스위칭에 기초하여 윈도우 시퀀스를 처리하는 통합 음성/오디오 부/복호화기
KR101622950B1 (ko) * 2009-01-28 2016-05-23 삼성전자주식회사 오디오 신호의 부호화 및 복호화 방법 및 그 장치
EP2460158A4 (en) * 2009-07-27 2013-09-04 METHOD AND APPARATUS FOR PROCESSING AUDIO SIGNAL
MY163358A (en) * 2009-10-08 2017-09-15 Fraunhofer-Gesellschaft Zur Förderung Der Angenwandten 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
AU2010309838B2 (en) * 2009-10-20 2014-05-08 Dolby International Ab Audio signal encoder, audio signal decoder, method for encoding or decoding an audio signal using an aliasing-cancellation
TWI455114B (zh) * 2009-10-20 2014-10-01 Fraunhofer Ges Forschung 多模式音訊編解碼器及其適用碼簿激發線性預測編碼技術
CN102222505B (zh) * 2010-04-13 2012-12-19 中兴通讯股份有限公司 可分层音频编解码方法系统及瞬态信号可分层编解码方法
EP2590164B1 (en) * 2010-07-01 2016-12-21 LG Electronics Inc. Audio signal processing
US8990094B2 (en) * 2010-09-13 2015-03-24 Qualcomm Incorporated Coding and decoding a transient frame
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 (zh) * 2011-04-13 2014-06-04 华为技术有限公司 一种音频编码方法及装置
FR2977439A1 (fr) * 2011-06-28 2013-01-04 France Telecom Fenetres de ponderation en codage/decodage par transformee avec recouvrement, optimisees en retard.
KR102078865B1 (ko) * 2011-06-30 2020-02-19 삼성전자주식회사 대역폭 확장신호 생성장치 및 방법
FR2981781A1 (fr) * 2011-10-19 2013-04-26 France Telecom Codage hierarchique perfectionne
CN108831501B (zh) * 2012-03-21 2023-01-10 三星电子株式会社 用于带宽扩展的高频编码/高频解码方法和设备
CN103915100B (zh) * 2013-01-07 2019-02-15 中兴通讯股份有限公司 一种编码模式切换方法和装置、解码模式切换方法和装置
TWI550599B (zh) * 2013-02-20 2016-09-21 弗勞恩霍夫爾協會 使用瞬態位置相依重疊以編碼或解碼音頻信號之設備、解碼器、電腦程式及方法
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 (fr) * 2014-07-29 2016-02-05 Orange Determination d'un budget de codage d'une trame de transition lpd/fd
TWI602172B (zh) * 2014-08-27 2017-10-11 弗勞恩霍夫爾協會 使用參數以加強隱蔽之用於編碼及解碼音訊內容的編碼器、解碼器及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090127447A (ko) * 2000-12-04 2009-12-11 퀄컴 인코포레이티드 수신된 가변 레이트 스피치 프레임의 검출된 레이트를 검증하는 방법 및 시스템
US20130289981A1 (en) * 2010-12-23 2013-10-31 France Telecom Low-delay sound-encoding alternating between predictive encoding and transform encoding
US20140303965A1 (en) * 2011-10-27 2014-10-09 Lg Electronics Inc. Method for encoding voice signal, method for decoding voice signal, and apparatus using same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Audio codec processing functions, Extended Adaptive Multi-Rate - Wideband (AMR-WB+) codec. 3GPP TS 26.290 version 7.0.0 Release 7, 2007.03.* *
Jeremie Lecomte, et al. Efficient cross-fade windows for transitions between LPC-based and non-LPC based audio coding. Audio Engineering Society Convention 126. Audio Engineering Society, 2009.05.10.* *

Also Published As

Publication number Publication date
JP2017527843A (ja) 2017-09-21
US20200168236A1 (en) 2020-05-28
CN112133315A (zh) 2020-12-25
JP6607921B2 (ja) 2019-11-20
CN112133315B (zh) 2024-03-08
US11158332B2 (en) 2021-10-26
EP3175443B1 (fr) 2018-04-11
WO2016016566A1 (fr) 2016-02-04
EP3175443A1 (fr) 2017-06-07
FR3024581A1 (fr) 2016-02-05
US20180182408A1 (en) 2018-06-28
CN106605263A (zh) 2017-04-26
CN106605263B (zh) 2020-11-27
US10586549B2 (en) 2020-03-10
ES2676832T3 (es) 2018-07-25
KR102485835B1 (ko) 2023-01-09
KR20170037660A (ko) 2017-04-04

Similar Documents

Publication Publication Date Title
RU2584463C2 (ru) Кодирование звука с малой задержкой, содержащее чередующиеся предсказательное кодирование и кодирование с преобразованием
AU2014343905B2 (en) Audio decoder and method for providing a decoded audio information using an error concealment modifying a time domain excitation signal
KR101957906B1 (ko) 시간 도메인 여기 신호를 기초로 하는 오류 은닉을 사용하여 디코딩된 오디오 정보를 제공하기 위한 오디오 디코더 및 방법
JP7026711B2 (ja) Fd/lpd遷移コンテキストにおけるフレーム喪失管理
US11158332B2 (en) Determining a budget for LPD/FD transition frame encoding
TWI587291B (zh) 音訊解碼/編碼裝置及其運作方法及電腦程式
KR20130133846A (ko) 정렬된 예견 부를 사용하여 오디오 신호를 인코딩하고 디코딩하기 위한 장치 및 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant