KR20140085453A - 음성 신호 부호화 방법 및 복호화 방법과 이를 이용하는 장치 - Google Patents

음성 신호 부호화 방법 및 복호화 방법과 이를 이용하는 장치 Download PDF

Info

Publication number
KR20140085453A
KR20140085453A KR1020147010211A KR20147010211A KR20140085453A KR 20140085453 A KR20140085453 A KR 20140085453A KR 1020147010211 A KR1020147010211 A KR 1020147010211A KR 20147010211 A KR20147010211 A KR 20147010211A KR 20140085453 A KR20140085453 A KR 20140085453A
Authority
KR
South Korea
Prior art keywords
bit allocation
signal
unit
current frame
echo
Prior art date
Application number
KR1020147010211A
Other languages
English (en)
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 KR20140085453A publication Critical patent/KR20140085453A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • G10L19/025Detection of transients or attacks for time/frequency resolution switching
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 음성 신호 부호화 방법 및 복호화 방법과 이를 이용하는 장치에 관한 것으로서, 본 발명에 따른 음성 신호 부호화 방법은, 현재 프레임에 에코 존을 결정하는 단계, 에코 존의 위치를 기반으로 상기 현재 프레임에 대한 비트를 할당하는 단계 및 상기 할당된 비트를 이용하여 상기 현재 프레임에 대한 부호화를 수행하는 단계를 포함하며, 상기 비트 할당 단계에서는, 상기 현재 프레임에서 에코 존이 위치하지 않는 구간보다 에코 존이 위치하는 구간에 더 많은 비트를 할당할 수 있다.

Description

음성 신호 부호화 방법 및 복호화 방법과 이를 이용하는 장치{METHOD FOR ENCODING VOICE SIGNAL, METHOD FOR DECODING VOICE SIGNAL, AND APPARATUS USING SAME}
본 발명은 음성 신호를 처리하는 기술에 관한 것으로서, 구체적으로는 프리 에코(pre-echo) 문제를 해결하기 위해 음성 신호의 부호화에 있어서 비트 할당을 가변적으로 수행하는 방법 및 장치에 관한 것이다.
최근 네트워크의 발달과 고품질 서비스에 대한 사용자 요구가 증가하면서 통신 환경에 있어서 협대역(narrowband)으로부터 광대역(wideband) 또는 초광대역(super-wideband)에 이르는 음성 신호를 부호화/복호화하여 처리하는 방법 및 장치에 대한 개발이 진행되고 있다.
통신 대역의 확장은 음성뿐만 아니라 음악 및 혼합 콘텐츠(mixed content)까지 거의 모든 사운드 신호를 부호화할 대상으로서 포함하는 것을 의미한다.
이에 따라서, 신호의 변환(transform)에 기반하여 부호화/복호화하는 방법이 중요하게 사용되고 있다.
기존의 음성 부호화/복호화에서 주로 사용되던 CELP(Code Excited Linear Prediction)에는 비트율의 제약, 통신 대역의 제약이 존재했지만, 낮은 비트율로도 통화를 하기에는 충분한 음질을 제공하였다.
하지만 최근에는 통신 기술의 발달로 가용 비트율이 늘어나면서 고품질 음성 및 오디오 부호화기에 대한 개발이 활발이 진행되고 있다. 이에 따라서, 통신 대역상의 제약을 안고 있는 CELP 이외의 기법으로서, 변환 기반의 부호화/복호화 기술이 사용되고 있다.
따라서, 변환 기반의 부호화/복호화 기술을 CELP와 병행하여 적용되거나 추가 계층으로 사용하는 방법이 고려되고 있다.
본 발명은 변환에 기반한 부호화(변환 부호화)에 의해 발생할 수 있는 프리 에코 문제를 해결하기 위한 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 부호화기 측에서 고정 프레임을 프리 에코가 발생할 수 있는 구간과 그 외의 구간으로 나누어 비트 할당을 적응적으로 수행하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 부호화기 측에서 전송할 비트레이트가 고정되어 있는 경우에, 프레임을 소정의 구간으로 나누고 각 구간 별로 신호의 특성에 따라 비트 할당을 달리함으로써 부호화 효율을 높일 수 있는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 일 실시형태는 음성 신호 부호화 방법으로서, 현재 프레임에 에코 존을 결정하는 단계, 에코 존의 위치를 기반으로 상기 현재 프레임에 대한 비트를 할당하는 단계 및 상기 할당된 비트를 이용하여 상기 현재 프레임에 대한 부호화를 수행하는 단계를 포함하며, 상기 비트 할당 단계에서는, 상기 현재 프레임에서 에코 존이 위치하지 않는 구간보다 에코 존이 위치하는 구간에 더 많은 비트를 할당할 수 있다.
상기 비트 할당 단계에서는, 상기 현재 프레임을 소정 개수의 구간으로 분할하고, 상기 에코 존이 존재하지 않는 구간보다 상기 에코 존이 존재하는 구간에 더 많은 비트를 할당할 수 있다.
상기 에코 존을 결정하는 단계에서는, 상기 현재 프레임을 구간으로 분할하였을 때, 구간 별 음성 신호의 에너지 크기가 균일하지 않은 경우에는 상기 현재 프레임에 에코 존이 존재하는 것으로 판단할 수 있다. 이때, 에너지 크기의 전이가 존재하는 구간에 에코 존이 위치하는 것으로 결정할 수 있다.
상기 에코 존을 결정하는 단계에서는, 현재 서브프레임에 대한 정규화된 에너지가 이전 서브프레임에 대한 정규화된 에너지로부터 임계값을 경과하는 변화를 보이는 경우에는, 상기 현재 서브프레임에 에코 존이 위치한다고 결정할 수 있다. 이때, 상기 정규화된 에너지는, 상기 현재 프레임의 각 서브프레임에 대한 에너지 값들 중 가장 큰 에너지 값을 기준으로 정규화된 것일 수 있다.
상기 에코 존을 결정하는 단계에서는, 상기 현재 프레임의 서브프레임들을 순서대로 검색하며, 서브프레임에 대한 정규화된 에너지가 임계값을 초과하는 첫 번째 서브프레임에 상기 에코 존이 위치하는 것으로 결정할 수 있다.
상기 에코 존을 결정하는 단계에서는, 상기 현재 프레임의 서브프레임들을 순서대로 검색하며, 서브프레임에 대한 정규화된 에너지가 임계값보다 작아지는 첫 번째 서브프레임에 상기 에코 존이 위치하는 것으로 결정할 수 있다.
상기 비트 할당 단계에서는, 상기 현재 프레임을 소정 개수의 구간으로 분할하고, 에코 존이 위치하는지에 따른 가중치와 구간 내 에너지 크기에 기반하여 구간 별로 비트량을 할당할 수 있다.
상기 비트 할당 단계에서는, 상기 현재 프레임을 소정 개수의 구간으로 분할하고, 미리 정해진 비트 할당 모드들 중 상기 현재 프레임에서의 에코 존 위치에 대응하는 모드를 적용하여 비트 할당을 수행할 수 있다. 이때, 상기 적용된 비트 할당 모드를 지시하는 정보가 복호화기로 전송될 수 있다.
본 발명의 다른 실시형태는 음성 신호 복호화 방법으로서, 현재 프레임에 대한 비트 할당 정보를 획득하는 단계 및 상기 비트 할당 정보를 기반으로 음성 신호를 복호화하는 단계를 포함하며, 상기 비트 할당 정보는 상기 현재 프레임 내 구간별 비트 할당 정보일 수 있다.
상기 비트 할당 정보는, 소정의 비트 할당 모드가 규정된 테이블 상에서 상기 현재 프레임에 적용된 비트 할당 모드를 지시하는 것일 수 있다.
상기 비트 할당 정보는, 상기 현재 프레임 내에서 전이 성분이 위치하는 구간과 전이 성분이 위치하지 않는 구간에 차등적으로 비트 할당이 수행되었음을 지시하는 것일 수 있다.
본 발명에 의하면, 동일한 전체 비트율을 유지하면서도 프리 에코에 의한 잡음을 방지 또는 감쇄시켜 향상된 음질을 제공할 수 있다.
본 발명에 의하면, 프리 에코가 발생할 수 있는 구간에 더 많은 비트가 할당됨으로써 프리 에코에 의한 잡음이 없는 구간에 비해 더 충실한 부호화를 수행하여 향상된 음질을 제공할 수 있다.
본 발명에 의하면, 에너지 성분의 크기를 고려하여 비트 할당을 달리할 수 있으므로, 에너지에 따라 더 효율적인 부호화가 수행될 수 있다.
본 발명에 의하면, 향상된 음질을 제공할 수 있으므로, 고품질의 음성 및 오디오 통신 서비스를 구현할 수 있다.
본 발명에 의하면, 고품질의 음성 및 오디오 통신 서비스를 구현함으로써, 다양한 부가 서비스를 창출할 수 있다.
본 발명에 의하면, 변환 기반의 음성 부호화를 적용하더라도 프리 에코의 발생을 방지 또는 저감할 수 있으므로, 변환 기반의 음성 부호화를 더 효과적으로 활용할 수 있다.
도 1 및 도 2는 부호화기의 구성에 관한 예들을 개략적으로 나타낸 것이다.
도 3 및 도 4는 도 1 및 도 2는 부호화기에 대응하는 복호화기의 예들을 개략적으로 나타낸 도면이다.
도 5 및 도 6은 프리 에코에 대해 개략적으로 설명하는 도면이다.
도 7은 블록 스위칭 방법을 개략적으로 설명하는 도면이다.
도 8은 기본 프레임을 20ms로 하고 더 큰 사이즈의 프레임인 40ms, 80ms를 신호의 특성에 따라 적용하는 경우의 윈도우 종류에 관한 예를 개략적으로 설명하는 도면이다.
도 9는 프리 에코의 위치와 비트 할당의 관계를 개략적으로 설명하는 도면이다.
도 10은 본 발명에 따라서 비트 할당을 수행하는 방법을 개략적으로 설명하는 도면이다.
도 11은 본 발명에 따라서 부호화기가 가변적으로 비트량을 할당하는 방법을 개략적으로 설명하는 순서도이다.
도 12는 확장 구조의 형태를 가지는 음성 부호화기의 구성으로서, 본 발명이 적용되는 일 예를 개략적으로 설명하는 도면이다.
도 13은 프리 에코 감소부의 구성을 개략적으로 설명하는 도면이다.
도 14는 본 발명에 따라서 부호화기가 비트 할당을 가변적으로 수행하여 음성 신호를 부호화하는 방법을 개략적으로 설명하는 순서도이다.
도 15는 본 발명에 따라서 음성 신호의 부호화에 비트 할당이 가변적으로 수행된 경우, 부호화된 음성 신호를 복호화하는 방법을 개략적으로 설명하는 도면이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 명세서에서 제1 구성 요소가 제2 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 기재된 경우에는, 제2 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있고 제3 구성 요소를 매개하여 제2 구성 요소에 연결되거나 접속되어 있을 수도 있다.
"제1", "제2" 등의 용어는 하나의 기술적 구성을 다른 기술적 구성으로부터 구별하기 위해 사용될 수 있다. 예를 들어, 본 발명의 기술적 사상의 범위 내에서 제1 구성 요소로 명명되었던 구성 요소는 제2 구성 요소로 명명되어 동일한 기능을 수행할 수도 있다.
네트워크 기술의 발달에 따라서 대용량의 신호를 처리할 수 있게 되면서, 예컨대, 가용 비트가 증가하게 되면서 CELP(Code Excited Linear Prediction) 기반의 부호화/복호화(이하, 설명의 편의를 위해 'CELP 부호화' 및 'CELP 복호화'라 함)와 변환(transform) 기반의 부호화/복호화(이하, 설명의 편의를 위해 '변환 부호화' 및 '변환 복호화'라 한다)를 병렬적으로 적용하여 음성 신호의 부호화/복호화에 이용할 수 있다.
도 1은 부호화기의 구성에 관한 일 예를 개략적으로 나타낸 것이다. 도 1에서는 ACELP(Algebraic Code-Excited Linear Prediction) 기법과 함께 TCX(Transform Coded EXcitation) 기법을 병렬적으로 적용하는 경우를 예로서 설명하고 있다. 도 1의 예에서는 음성 및 오디오 신호를 주파수 축으로 변환한 후에 AVQ(Algebraic Vector Quantization) 기법을 이용하여 양자화한다.
도 1을 참조하면, 음성 부호화기(100)는 대역폭 확인부(105), 샘플링 변환부(125), 전처리부(130), 대역 분할부(110), 선형 예측 분석부(115, 135), 선형 예측 양자화부(140, 150, 175), 변환부(145), 역변환부(155, 180), 피치 검출부(160), 적응(adaptive) 코드북 검색부(165), 고정 코드북 검색부(170), 모드 선택부(185), 대역 예측부(190), 보상 이득 예측부(195)를 포함할 수 있다.
대역폭 확인부(105)는 입력되는 음성 신호의 대역폭 정보를 판단할 수 있다. 음성 신호는 약 4 kHz의 대역폭을 가지고 PSTN(Public Switched Telephone Network)에서 많이 사용되는 협대역 신호(Narrowband), 약 7 kHz의 대역폭을 가지고 협대역의 음성 신호보다 자연스러운 고음질 스피치나 AM 라디오에서 많이 사용되는 광대역 신호(Wideband), 약 14 kHz의 대역폭을 가지며 음악, 디지털 방송과 같이 음질이 중요시되는 분야에서 많이 사용되는 초광대역 신호(Super wideband)로 대역폭에 따라 분류될 수 있다. 대역폭 확인부(105)에서는 입력된 음성 신호를 주파수 영역으로 변환하여 현재 음성 신호의 대역폭이 협대역 신호인지, 광대역 신호인지, 초광대역 신호인지를 판단할 수 있다. 대역폭 확인부(105)는 입력된 음성 신호를 주파수 영역으로 변환하여, 스펙트럼의 상위 대역 빈(bin)들의 유무 및/또는 성분을 조사하고 판별할 수도 있다. 대역폭 확인부(105)는 구현에 따라 입력되는 음성 신호의 대역폭이 고정되어 있는 경우 따로 구비되지 않을 수 있다.
대역폭 확인부(105)는 입력된 음성 신호의 대역폭에 따라서, 초광대역 신호는 대역 분할부(110)으로 전송하고, 협대역 신호 또는 광대역 신호는 샘플링 변환부(125)로 전송할 수 있다.
대역 분할부(110)는 입력된 신호의 샘플링 레이트를 변환하고 상위 대역과 하위 대역으로 분할할 수 있다. 예를 들어, 32kHz의 음성 신호를 25.6kHz의 샘플링 주파수로 변환하고 상위 대역과 하위 대역으로 12.8kHz씩 분할할 수 있다. 대역 분할부(110)는 분할된 대역 중 하위 대역 신호를 전처리부(130)로 전송하고, 상위 대역 신호를 선형 예측 분석부(115)로 전송한다.
샘플링 변환부(125)는 입력된 협대역 신호 또는 광대역 신호를 입력 받고 일정한 샘플링 레이트를 변경할 수 있다. 예를 들어, 입력된 협대역 음성 신호의 샘플링 레이트가 8kHz인 경우, 12.8kHz로 업 샘플링하여 상위 대역 신호를 생성할 수 있고 입력된 광대역 음성신호가 16kHz인 경우, 12.8kHz로 다운 샘플링을 수행하여 하위 대역 신호를 만들 수 있다. 샘플링 변환부(125)는 샘플링 변환된 하위 대역 신호를 출력한다. 내부 샘플링 주파수(internal sampling frequency)는 12.8kHz가 아닌 다른 샘플링 주파수를 가질 수도 있다.
전처리부(130)는 샘플링 변환부(125) 및 대역 분할부(110)에서 출력된 하위 대역 신호에 대해 전처리를 수행한다. 전처리부(130)에서는 음성 파라미터가 효율적으로 추출될 수 있도록 입력 신호를 필터링한다. 음성 대역폭에 따라 차단 주파수(cutoff frequency)를 다르게 설정하여 상대적으로 덜 중요한 정보가 모여있는 주파수 대역인 아주 낮은 주파수(very low frequency)를 하이 패스 필터링함으로써 파라미터 추출 시 필요한 중요 대역에 집중할 수 있다. 또 다른 예로 프리-엠퍼시스(pre-emphasis) 필터링을 사용하여 입력 신호의 높은 주파수 대역을 부스트함으로써, 낮은 주파수 영역과 높은 주파수 영역의 에너지를 스케일링할 수 있다. 따라서, 선형 예측 분석시 해상도를 증가시킬 수 있다.
선형 예측 분석부(115, 135)는 LPC(Linear Prediction Coefficient)를 산출할 수 있다. 선형 예측 분석부(115, 135)에서는 음성 신호의 주파수 스펙트럼의 전체 모양을 나타내는 포만트(Formant)를 모델링할 수 있다. 선형 예측 분석부(115, 135)에서는 원래의 음성 신호와 선형 예측 분석부(135)에서 산출된 선형 예측 계수를 이용해 생성한 예측 음성 신호의 차이인 오차(error) 값의 MSE(mean square error)가 가장 작아지도록 LPC 값을 산출할 수 있다. LPC를 산출하기 자기 상관(autocorrelation) 방법 또는 공분산(covariance) 방법 등 다양한 방법이 사용될 수 있다.
선형 예측 분석부(115)는 하위 대역 신호에 대한 선형 예측 분석부(135)와 달리, 낮은 차수의 LPC를 추출할 수 있다.
선형 예측 양자화부(120, 140)에서는 추출된 LPC를 변환하여 LSP(Linear Spectral Pair)나 LSF(Linear Spectral Frequency)와 같은 주파수 영역의 변환 계수들을 생성하고, 생성된 주파수 영역의 변환 계수를 양자화 할 수 있다. LPC는 큰 동적 범위(Dynamic Range)를 가지기 때문에 이러한 LPC를 그대로 전송하는 경우, 많은 비트가 필요하다. 따라서 주파수 영역으로 변환하고, 변환 계수를 양자화함으로써 적은 비트(압축량)으로 LPC 정보를 전송할 수 있다.
선형 예측 양자화부(120, 140)에서는 양자화된 LPC를 역양자화해서 시간 영역으로 변환된 LPC를 이용하여 선형 예측 잔여 신호를 생성할 수 있다. 선형 예측 잔여 신호는 음성 신호에서 예측된 포만트 성분이 제외된 신호로서, 피치(pitch) 정보와 랜덤 신호를 포함할 수 있다.
선형 예측 양자화부(120)에서는 양자화된 LPC를 이용하여, 원래의 상위 대역 신호와의 필터링을 통해 선행 예측 잔여 신호를 생성한다. 생성된 선형 예측 잔여 신호는 상위 대역 예측 여기 신호와의 보상 이득을 구하기 위해 보상 이득 예측부(195)로 전송된다.
선형 예측 양자화부(140)에서는 양자화된 LPC를 이용하여, 원래의 하위 대역 신호와의 필터링을 통해 선형 예측 잔여 신호를 생성한다. 생성된 선형 예측 잔여 신호는 변환부(145) 및 피치 검출부(160)에 입력된다.
도 1에서, 변환부(145), 양자화부(150), 역변환부(155)는 TCX(Transform Coded Excitation)을 모드를 수행하는 TCX 모드 수행부로서 동작할 수 있다. 또한, 피치 검출부(160), 적응 코드북 검색부(165), 고정 코드북 검색부(170)는 CELP(Code Excited Linear Prediction) 모드를 수행하는 CELP 모드 수행부로서 동작할 수 있다.
변환부(145)에서는 DFT(Discrete Fourier Transform) 또는 FFT(Fast Fourier Transform)와 같은 변환 함수에 기초하여, 입력된 선형 예측 잔여 신호를 주파수 도메인으로 변환시킬 수 있다. 변환부(145)는 변환 계수 정보를 양자화부(150)에 전송할 수 있다.
양자화부(150)에서는 변환부(145)에서 생성된 변환 계수들에 대해 양자화를 수행할 수 있다. 양자화부(150)에서는 다양한 방법으로 양자화를 수행할 수 있다. 양자화부(150)는 선택적으로 주파수 대역에 따라 양자화를 수행할 수 있고 또한, AbS(Analysis by Synthesis)를 이용하여 최적의 주파수 조합을 산출할 수도 있다.
역변환부(155)는 양자화된 정보를 기반으로 역변환을 수행하여 시간 도메인에서 선형 예측 잔여 신호의 복원된 여기 신호를 생성할 수 있다.
양자화 후 역변환된 선형 예측 잔여 신호, 즉, 복원된 여기 신호는 선형 예측을 통해 음성 신호로서 복원된다. 복원된 음성 신호는 모드 선택부(185)로 전송된다. 이처럼 TCX 모드로 복원된 음성 신호는 후술할 CELP 모드로 양자화되고 복원된 음성 신호와 비교될 수 있다.
한편, CELP 모드에서, 피치 검출부(160)는 자기 상관(autocorrelation) 방법과 같은 오픈 루프(open-loop) 방식을 이용하여 선형 예측 잔여 신호에 대한 피치를 산출할 수 있다. 예컨대, 피치 검출부(160)는 합성된 음성 신호와 실제의 음성 신호를 비교하여 피치 주기와 피크값 등을 산출할 수 있으며, 이때 AbS(Analysis by Synthesis) 등의 방법을 이용할 수 있다.
적응 코드북 검색부(165)는 피치 검출부에서 산출된 피치 정보를 기반으로 적응 코드북 인덱스와 게인을 추출한다. 적응 코드북 검색부(165)는 AbS 등을 이용하여 적응 코드북 인덱스와 게인 정보를 기반으로 선형 예측 잔여 신호에서 피치 구조(pitch structure)를 산출할 수 있다. 적응 코드북 검색부(165)는 적응 코드북의 기여분, 예컨대 피치 구조에 관한 정보가 제외된 선형 예측 잔여 신호를 고정 코드북 검색부(170)에 전송한다.
고정 코드북 검색부(170)는 적응 코드북 검색부(165)로부터 수신한 선형 예측 잔여 신호를 기반으로 고정 코드북 인덱스와 게인을 추출하고 부호화할 수 있다. 이때, 고정 코드북 검색부(170)에서 고정 코드북 인덱스와 게인을 추출하는데 이용하는 선형 예측 잔여 신호는 피치 구조에 관한 정보가 제외된 선형 예측 잔여 신호일 수 있다.
양자화부(175)는 피치 검출부(160)에서 출력된 피치 정보, 적응 코드북 검색부(165)에서 출력된 적응 코드북 인덱스 및 게인, 그리고 고정 코드북 검색부(170)에서 출력된 고정 코드북 인덱스 및 게인 등의 파라미터를 양자화한다.
역변환부(180)는 양자화부(175)에서 양자화된 정보를 이용하여 복원된 선형 예측 잔여 신호인 여기 신호를 생성할 수 있다. 여기 신호를 기반으로 선형 예측의 역과정을 통해 음성 신호를 복원할 수 있다.
역변환부(180)는 CELP 모드로 복원된 음성 신호를 모드 선택부(185)에 전송한다.
모드 선택부(185)에서는 TCX 모드를 통해 복원된 TCX 여기 신호와 CELP 모드를 통해 복원된 CELP 여기 신호를 비교하여 원래의 선형 예측 잔여 신호와 더 유사한 신호를 선택할 수 있다. 모드 선택부(185)는 선택한 여기 신호가 어떠한 모드를 통해 복원된 것인지에 대한 정보 역시 부호화할 수 있다. 모드 선택부(185)는 복원된 음성 신호의 선택에 관한 선택 정보와 여기 신호를 대역 예측부(190)에 전송할 수 있다.
대역 예측부(190)는 모드 선택부(185)에서 전송된 선택 정보와 복원된 여기 신호를 이용하여 상위 대역의 예측 여기 신호를 생성할 수 있다.
보상 이득 예측부(195)는 대역 예측부(190)에서 전송된 상위 대역 예측 여기 신호와 선형 예측 양자화부(120)에서 전송된 상위 대역 예측 잔여 신호를 비교하여 스펙트럼상의 게인을 보상할 수 있다.
한편, 도 1의 예에서 각 구성부는 각각 별도의 모듈로서 동작할 수도 있고, 복수의 구성부가 하나의 모듈을 형성하여 동작할 수도 있다. 예컨대, 양자화부(120, 140, 150, 175)는 하나의 모듈로서 각 동작을 수행할 수도 있고, 양자화부(120, 140, 150, 175) 각각이 별도의 모듈로서 프로세스상 필요한 위치에 구비될 수도 있다.
도 2는 부호화기의 구성에 관한 다른 예를 개략적으로 나타낸 것이다. 도 2에서는 ACELP 부호화 기법을 적용한 후 여기 신호를 MDCT(Modified Discrete Cosine Transform)을 통해 주파수 축으로 변환하고, AVQ(Adaptive Vector Quantization), BS-SGC(Band Selective - Shape Gain Coding), FPC(Factorial Pulse Coding) 등을 이용하여 양자화하는 경우를 예로서 설명한다.
도 2를 참조하면, 대역폭 확인부(205)는 입력 신호(음성 신호)가 NB(Narrow Band) 신호인지, WB(Wide Band) 신호인지, SWB(Super Wide Band) 신호인지를 판별할 수 있다. NB 신호는 샘플링 레이트(sampling rate)가 8 kHz, WB 신호는 샘플링 레이트가 16 kHz, SWB 신호는 샘플링 레이트가 32 kHz일 수 있다.
대역폭 확인부(205)는 입력 신호를 주파수 영역(domain)으로 변환하여 스펙트럼의 상위 대역 빈(bin)들의 성분과 존부를 판별할 수 있다.
부호화기(200)는 입력 신호가 고정되는 경우, 예컨대, 입력 신호가 NB로 고정되는 경우에는 대역폭 확인부(205)를 포함하지 않을 수도 있다.
대역폭 확인부(205)는 입력 신호를 판별하여 NB 또는 WB 신호는 샘플링 변환부(210)로 출력하고, SWB 신호는 샘플링 변환부(210) 또는 MDCT 변환부(215)로 출력한다.
샘플링 변환부(210)는 입력 신호를 핵심 부호화기(220)에 입력되는 WB 신호로 변환하는 샘플링을 수행한다. 예컨대, 샘플링 변환부(210)는 입력된 신호가 NB 신호의 경우에는 샘플링 레이트가 12.8kHz인 신호가 되게 업 샘플링(up-sampling) 하고, 입력된 신호가 WB 신호인 경우에는 샘플링 레이트가 12.8khz인 신호가 되게 다운 샘플링(down-sampling) 하여 12.8kHz의 하위 대역 신호를 만들 수 있다. 입력된 신호가 SWB 신호인 경우에, 샘플링 변환부(210)는 샘플링 레이트가 12.8 kHz가 되도록 다운 샘플링하여 핵심 부호화기(220)의 입력 신호를 생성한다.
전처리부(225)는 핵심 부호화기(220)에 입력되는 하위 대역 신호들 중에서 낮은 주파수 성분을 필터링하여 원하는 대역의 신호만을 선형 예측 분석부에 전달할 수 있다.
선형 예측 분석부(230)는 전처리부(225)에서 처리된 신호로부터 선형 예측 계수(Linear Prediction Coefficient: LPC)를 추출할 수 있다. 예컨대, 선형 예측 분석부(230)는 입력된 신호로부터 16차 선형 예측 계수를 추출하여 양자화부(235)에 전달할 수 있다.
양자화부(235)는 선형 예측 분석부(230)로부터 전달된 선형 예측 계수를 양자화한다. 하위 대역에서 양자화된 선형 예측 계수를 이용하여 원본 하위 대역 신호와의 필터링을 통해 선형 예측 잔여 신호(residual)를 생성한다.
양자화부(235)에서 생성된 선형 예측 잔여 신호는 CELP 모드 수행부(240)로 입력된다.
CELP 모드 수행부(240)는 입력된 선형 예측 잔여 신호의 피치(pitch)를 자기 상관(self-correlation) 함수를 이용하여 검출한다. 이때, 1차 개루프(open loop) 피치 검색 방법과 1차 폐루프(closed loop) 피치 검색 방법, AbS(Analysis by Synthesis) 등의 방법이 이용될 수 있다.
CELP 모드 수행부(240)는 검출된 피치들의 정보를 기반으로 적응 코드북 인덱스와 게인 정보를 추출할 수 있다. CELP 모드 수행부(240)는 선형 예측 잔여 신호에서 적응 코드북의 기여분을 제한 나머지 성분들을 기반으로 고정 코드북의 인덱스와 게인을 추출할 수 있다.
CELP 모드 수행부(240)는 피치 검색, 적응 코드북 검색, 고정 코드북 검색을 통해 추출한 선형 예측 잔여 신호에 관한 파라미터들(피치, 적응 코드북 인덱스 및 게인, 고정 코드북 인덱스 및 게인)을 양자화부(245)에 전달한다.
양자화부(245)는 CELP 모드 수행부(240)로부터 전달된 파라미터들을 양자화한다.
양자화부(245)에서 양자화된 선형 예측 잔여 신호에 관한 파라미터들은 비트 스트림으로 출력될 수 있어 복호화기로 전송될 수 있다. 또한, 양자화부(245)에서 양자화된 선형 예측 잔여 신호에 관한 파라미터들은 역양자화부(250)로 전달될 수 있다.
역양자화부(250)는 CELP 모드를 통해 추출되고 양자화된 파라미터들을 이용하여 복원된 여기 신호를 생성한다. 생성된 여기 신호는 합성 및 후처리부(255)에 전달된다.
합성 및 후처리부(255)는 복원된 여기 신호와 양자화된 선형 예측 계수를 합성한 후 12.8 kHz의 합성 신호를 생성하고 업 샘플링을 통해 16 kHz의 WB 신호를 복원한다.
합성 후처리부(255)에서 출력되는 신호(12.8kHz)와 샘플링 변환부(210)에서 12.8kHz의 샘플링 레이트로 샘플링된 하위 대역 신호와의 차신호가 MDCT 변환부(260)로 입력된다.
MDCT 변환부(260)는 샘플링 변환부(210)에서 출력된 신호와 합성 후처리부(255)에서 출력된 신호의 차 신호를 MDCT(Modified Discrete Cosine Transform) 방법으로 변환한다.
양자화부(265)는 MDCT 변환된 신호를 AVQ, BS-SGC 또는 FPC를 이용하여 양자화하고 협대역 또는 광대역에 해당하는 비트스트림으로 출력할 수 있다.
역양자화부(270)은 양자화된 신호를 역양자화하여 하위 대역 향상 계층 MDCT 계수를 중요 MDCT 계수 추출부(280)에 전달한다.
중요 MDCT 계수 추출부(280)는 MDCT 변환부(275) 및 역양자화부(270)로부터 입력된 MDCT 변환 계수들을 이용하여 양자화할 변환 계수를 추출한다.
양자화부(285)는 추출한 MDCT 계수를 양자화하여 초광대역 신호에 대한 비트스트림으로 출력한다.
도 3은 도 1의 음성 부호화기에 대응하는 복호화기의 일 예를 개략적으로 나타낸 도면이다.
도 3을 참조하면, 음성 복호화기(300)는 역양자화부(305, 310), 대역 예측부(320), 이득 보상부(325), 역변환부(315), 선형 예측 합성부(330, 335), 샘플링 변환부(340), 대역 합성부(350), 후처리 필터링부(345, 355)를 포함할 수 있다.
역양자화부(305, 310)는 양자화된 파라미터 정보를 음성 부호화기로부터 수신하고, 이를 역양자화한다.
역변환부(315)는 TCX 부호화 또는 CELP 부호화된 음성 정보를 역변환하여 여기 신호를 복원할 수 있다. 역변환부(315)는 부호화기로부터 수신한 파라미터를 기반으로 복원된 여기 신호를 생성할 수 있다. 이때, 역변환부(315)는 음성 부호화기에서 선택된 일부 대역에 대해서만 역변환을 수행할 수도 있다. 역변환부(315)는 복원된 여기 신호를 선형 예측 합성부(335)와 대역 예측부(320)에 전송할 수 있다.
선형 예측 합성부(335)는 역변환부(315)로부터 전송된 여기 신호와 음성 부호화기로부터 전송된 선형 예측 계수를 이용하여 하위 대역 신호를 복원할 수 있다. 선형 예측 합성부(335)는 복원된 하위 대역 신호를 샘플링 변환부(340)와 대역 합성부(350)에 전송할 수 있다.
대역 예측부(320)는 역변환부(315)로부터 수신한 복원된 여기 신호값을 기반으로 상위 대역의 예측 여기 신호를 생성할 수 있다.
이득 보상부(325)는 대역 예측부(320)로부터 수신한 상위 대역 예측 여기 신호와 부호화기에서 전송된 보상 이득값을 기반으로 초광대역 음성 신호에 대한 스펙트럼 상의 게인을 보상할 수 있다.
선형 예측 합성부(330)는 보상된 상위 대역 예측 여기 신호값을 이득 보상부(325)로부터 수신하고, 보상된 상위 대역 예측 여기 신호값과 음성 부호화기로부터 수신한 선형 예측 계수값을 기반으로 상위 대역 신호를 복원할 수 있다.
대역 합성부(350)는 복원된 하위 대역의 신호를 선형 예측 합성부(335)로부터 수신하고, 복원된 상위 대역 신호를 대역 선형 예측 합성부(355)로부터 수신하여, 수신한 상위 대역 신호와 하위 대역 신호에 대한 대역 합성을 수행할 수 있다.
샘플링 변환부(340)는 내부 샘플링 주파수 값을 다시 원래의 샘플링 주파수 값으로 변환시킬 수 있다.
후처리부(345, 355)에서는 신호 복원을 위해 필요한 후처리를 수행할 수 있다. 예컨대, 후처리부(345, 355)는 전처리부에서 프리엠퍼시스(pre-emphasis) 필터를 역필터링할 수 있는 디엠퍼시스(de-emphasis) 필터가 포함될 수 있다. 후처리부(345, 355)는 필터링뿐만 아니라, 양자화 에러를 최소화 하거나, 스펙트럼의 하모닉 피크를 살리고 밸리(valley)를 죽이는 등 여러 가지 후처리 동작을 수행할 수도 있다. 후처리부(345)는 복원된 협대역 또는 광대역 신호를 출력하고, 후처리부(355)는 복원된 초광대역 신호를 출력할 수 있다.
도 4는 도 3의 음성 부호화기에 대응하는 복호화기 구성의 일 예를 개략적으로 설명하는 도면이다.
도 4를 참조하면, 부호화기로부터 전송된 NB 신호 또는 WB 신호를 포함하는 비트스트림은 역변환부(420)와 선형 예측 합성부(430)로 입력된다.
역변환부(420)는 CELP 부호화된 음성 정보를 역변환하고, 부호화기로부터 수신한 파라미터를 기반으로 여기 신호를 복원할 수 있다. 역변환부(420)는 복원된 여기 신호를 선형 예측 합성부(430)에 전송할 수 있다
선형 예측 합성부(430)는 역변환부(420)로부터 전송된 여기 신호와 부호화기로부터 전송된 선형 예측 계수를 이용하여 하위 대역 신호(NB 신호, WB 신호 등)를 복원할 수 있다.
선형 예측 합성부(430)에서 복원된 하위 대역 신호(12.8 kHz)는 NB로 다운 샘플링 되거나 WB로 업 샘플링 될 수 있다. WB 신호는 후처리/샘플링 변환부(450)로 출력되거나, MDCT 변환부(440)로 출력된다. 또한, 복원된 하위 대역 신호(12.8 kHz)는 MDCT 변환부(440)로 출력된다.
후처리/샘플링 변환부(450)는 복원된 신호에 대한 필터링을 적용할 수 있다. 필터링을 통해 양자화 에러들 줄이고, 피크를 강조하고 밸리(valley)를 죽이는 등의 후처리를 진행할 수 있다.
MDCT 변환부(440)는 복원된 하위 대역 신호(12.8kHz)와 업샘플링된 WB신호(16kHz)를 MDCT 변환하고, 상위 MDCT 계수 생성부(470)로 전송한다.
역변환부(495)는 NB/WB 향상 계층 비트스트림을 입력 받아 향상 계층의 MDCT 계수를 복원한다. 역변환부(495)에서 복원된 MDCT 계수는 MDCT 변환부(440)의 출력 신호와 더해져 상위 MDCT 계수 생성부(470)로 입력된다.
역양자화부(460)는 비트스트림을 통해 양자화된 SWB 신호와 파라미터를 부호화기로부터 수신하고, 수신한 정보를 역양자화한다.
역양자화된 SWB 신호 및 파라미터는 상위 MDCT 계수 생성부(470)에 전달된다.
상위 MDCT 계수 생성부(470)는 핵심 복호화기(410)로부터 합성된 12.8 kHz 신호 또는 WB 신호에 대한 MDCT 계수를 수신하고, SWB 신호에 대한 비트스트림(bitstream)으로부터 필요한 파라미터를 수신하여 역양자화된 SWB 신호에 대한 MDCT 계수를 생성한다. 상위 MDCT 계수 생성부(470)는 신호의 토널 여부에 따라서 제네릭 모드 또는 사인파 모드를 적용할 수 있고, 확장 계층의 신호에 대해서는 추가 사인파를 적용할 수 있다.
MDCT 역변환부(480)는 생성된 MDCT 계수에 대한 역변환을 통해 신호를 복원한다.
후처리 필터링부(490)는 복원된 신호에 대한 필터링을 적용할 수 있다. 필터링을 통해 양자화 에러들 줄이고, 피크를 강조하고 밸리(valley)를 죽이는 등의 후처리를 진행할 수 있다.
후처리 필터링부(490)를 통해 복원된 신호와 후처리 변환부(450)를 통해 복원된 신호를 합성하여 SWB 신호를 복원할 수 있다.
한편, 변환 부호화/복호화 기술은 정상(stationary) 신호에 대해 압축 효율이 높기 때문에 비트율의 여유가 있을 경우에는 고품질의 음성 신호 및 고품질의 오디오 신호를 제공할 수 있다.
하지만 변환을 통해 주파수 영역(frequency domain)까지 활용하는 부호화 방법(변환 부호화)에서는 시간 영역(time domain)에서 수행되는 부호화와 달리 프리 에코(pre-echo) 잡음이 발생할 수 있다.
프리 에코(pre-echo)는 원래의 신호(original signal) 중 소리가 없는 영역에서 부호화를 위한 변환에 의해 잡음이 발생하는 경우를 의미한다. 프리 에코는 변환 부호화에 있어서 주파수 영역으로의 변환을 위해 일정한 크기를 갖는 프레임(frame) 단위로 부호화를 수행하기 때문에 발생한다.
도 5는 프리 에코에 대해 개략적으로 설명하는 도면이다.
도 5(a)는 원래의 신호를 나타내며 도 5(b)는 변환 부호화 방법에 의해 부호화된 신호를 복호화하여 복원한 신호를 나타낸다.
도시된 바와 같이, 원래에 신호인 도 5(a)에는 나타나지 않던 신호, 즉 잡음(500)이 변환 부호화가 적용된 신호인 도 5(b)에 나타나고 있는 것을 확인할 수 있다.
도 6은 프리 에코에 대해 개략적으로 설명하는 다른 도면이다.
도 6(a)는 원 신호(original signal)를 나타내며, 도 6(b)는 변환 부호화에 의해 부호화된 신호를 복호화한 것이다.
도 6을 참조하면, 도 6(a)의 원 신호는 프레임 초반에 음성에 대응하는 신호가 없고, 프레임 후반에 신호가 집중되어 있다.
도 6(a)의 신호를 주파수 영역에서 양자화할 경우, 양자화 잡음이 주파수 축을 따라서는 주파수 성분마다 존재하지만, 시간 축을 따라서 프레임 전반에 걸쳐서 존재하게 된다.
양자화 잡음은 시간 영역에서 시간 축을 따라 원 신호가 존재할 경우, 원 신호에 은닉되어 잡음이 들리지 않을 수 있다. 하지만, 도 6(a)의 프레임 초반과 같이 원 신호가 없는 경우에는 잡음, 즉 프리 에코 왜곡(600)이 은닉되지 않는다.
즉, 주파수 영역에서는 주파수 축의 각 성분마다 양자화 잡음이 존재하므로 해당 성분에 의해 양자화 잡음이 은닉될 수 있지만, 시간 영역에서는 프레임 전반에 걸쳐 양자화 잡음이 존재하므로 시간 축 상의 무음 구간에서는 잡음이 노출되는 경우가 발생한다.
변환에 의한 양자화 잡음 즉, 프리 에코(양자화) 잡음은 음질의 열화를 초래할 수 있으므로, 이를 최소화 하기 위한 처리를 수행할 필요가 있다.
변환 부호화에서 프리 에코(pre-echo)로 알려진 아티팩트(artifact)는 신호의 에너지가 급격히 증가하는 구간에서 발생한다. 신호 에너지의 급격한 증가는 음성 신호의 온 셋(onset)이나 뮤직의 퍼커션(percussions)에서 흔히 나타난다.
프리-에코는 주파수 축에서의 양자화 잡음이 역변환된 후 중첩 합산 과정을 거칠 때 시간축에서 나타나게 된다. 양자화 잡음은 역변환 시의 합성 윈도우 전반에 걸쳐 균일하게 확산(uniformly spread) 된다.
온 셋(Onset)의 경우 분석 프레임의 시작되는 부분에서의 에너지가 분석 프레임이 끝나는 부분에서의 에너지에 비해 현저히 작다. 양자화 잡음은 프레임의 평균 에너지에 의존적이므로 합성 윈도우 전체에 걸쳐 시간 축에서 양자화 잡음이 나타나게 된다.
에너지가 작은 파트에서는 신호 대 잡음비가 매우 작아서, 양자화 잡음이 존재하면 사람의 귀에 양자화 잡음이 들리게 된다. 이를 방지하기 위해 합성 윈도우에서 에너지가 급격히 증가하는 부분에서 신호를 감쇄함으로써 양자화 잡음 즉, 프리-에코의 영향을 줄일 수 있다.
이때, 에너지가 급격히 변하는 프레임에서 에너지가 작은 영역, 즉 프리-에코가 나타날 수 있는 영역을 에코 존(echo-zone)이라고 한다.
프리-에코를 방지하기 위해, 블록 스위칭(block switching) 또는 TNS(Temporal Noise Shaping)를 적용할 수 있다. 블록 스위칭 방법에서는 프레임의 길이를 가변적으로 조정하여 프리-에코를 방지한다. TNS의 경우에는 LPC(Linear Prediction Coding) 분석이 가지는 시간/주파수의 이중성을 기반으로 프리-에코를 방지한다.
도 7은 블록 스위칭 방법을 개략적으로 설명하는 도면이다.
블록 스위칭 방법에서는 프레임의 길이를 가변적으로 조정한다. 예컨대, 도 7에 도시된 바와 같이 윈도우를 롱(long) 윈도우와 쇼트(short) 윈도우로 윈도우로 구성한다.
프리 에코(pre-echo)가 발생하지 않는 구간에서는 롱 윈도우를 적용하여 변환하는 프레임의 길이를 증가시켜 부호화한다. 프리 에코가 발생하는 구간에서는 쇼트 윈도우를 적용하여 변환하는 프레임의 길이를 줄여서 부호화한다.
따라서 프리-에코가 발생하더라도, 해당 영역에서 짧은 길이의 쇼트 윈도우들이 사용되므로, 롱 윈도우를 사용하는 경우와 비교할 때 프리 에코로 인한 잡음이 발생하는 구간이 줄어들게 된다.
블록 스위칭을 적용하는 경우에, 쇼트 윈도우(short window)를 사용하더라도 프리-에코가 발생하는 구간을 줄일 수는 있지만, 프리 에코로 인한 잡음을 완전히 제거하기는 어렵다. 왜냐하면, 쇼트 윈도우 내부에서 프리 에코가 발생할 수 있기 때문이다.
윈도우 내에서 발생할 수 있는 프리 에코를 제거하기 위해 TNS(Temporal Noise Shaping)을 적용할 수 있다. TNS 기법은 LPC(Linear Prediction Coding) 분석이 가지는 시간 축/주파수 축의 이중성을 기반으로 한다.
일반적으로 LPC 분석을 시간 축에서 적용할 경우, LPC 계수는 주파수 축에서 포락선 정보를 의미하고 여기 신호는 주파수 축에서 표본화된 주파수 성분을 의미한다. 시간/주파수 이중성에 의해, LPC 분석을 주파수 축에서 적용할 경우에는, LPC 계수가 시간 축에서 포락선 정보를 의미하고 여기 신호가 시간 축에서 표본화된 시간 성분을 의미한다.
따라서, 양자화 오차에 의해 여기 신호에 발생하는 잡음은 시간축에서 포락선 정보에 비례하여 최종적으로 복원된다. 예컨대, 포락선 정보가 0에 가까운 무음 구간에서는 최종적으로 잡음이 0에 가깝게 발생한다. 또한, 음성 및 오디오 신호가 존재하는 유음 구간에서는 잡음이 상대적으로 크게 발생하지만, 상대적으로 큰 잡음도 신호에 의해 은닉될 수 있는 수준이 된다.
결국, 무음 구간에서는 잡음이 사라지고 유음 구간(음성 및 오디오 구간)에서는 잡음은 은닉되므로, 심리음향적으로 향상된 음질을 제공하게 된다.
양 방향 통신을 위해서는 채널 지연과 코덱 지연을 포함하는 전체 지연이 소정의 기준 예컨대, 200ms를 넘지 않아야 하지만, 블록 스위칭 방법은 프레임이 가변적이고, 양 방향 통신 시에 200ms에 가까운 전체 지연을 초과되기 때문에 양 방향 통신(dual communication)에서는 적합하지 않다.
따라서 TNS의 개념을 이용하여 시간 영역에서 포락선 정보를 이용해 프리 에코를 줄이는 방법을 양 방향 통신(dual communication)에 사용한다.
예컨대, 변환에 의해 복호화된 신호의 크기를 조절하여 프리 에코를 줄이는 방법을 고려할 수 있다. 이 경우에, 프리 에코에 의한 잡음이 발생하는 프레임에서 변환 복호화된 신호의 크기를 상대적으로 작게 조절하고, 프리 에코에 의한 잡음이 발생하지 않는 프레임에서 변환 복호화된 신호의 크기를 상대적으로 크게 조절한다.
상술한 바와 같이, 변환 부호화에서 프리 에코(pre-echo)라고 알려진 아티팩트는 신호의 에너지가 급격히 증가하는 구간에서 발생한다. 따라서, 합성 윈도우에서 에너지가 급격히 증가하는 부분의 앞쪽 신호를 감쇄함으로써 프리 에코에 의한 잡음을 줄일 수 있다.
프리 에코에 의한 잡음을 감소시키기 위해 에코 존을 결정한다. 이를 위해, 역 변환 시 중첩되는 두 개의 신호를 이용한다.
중첩되는 신호 중 첫 번째 신호로서 과거 프레임에서 저장된 윈도우의 반인 20ms (= 640 샘플)의
Figure pct00001
이 사용될 수 있다. 중첩되는 신호 중 두 번째 신호로서 현재 윈도우의 앞쪽 반인 m(n)이 사용될 수 있다.
두 신호를 수식 1과 같이 연결(concatenation)하여 1280 샘플(= 40 ms)의 임의 신호 d conc 32 _ SWB (n)을 생성한다.
<수식 1>
Figure pct00002
각 신호 구간에 640 개의 샘플이 존재하므로, n = 0, ..., 639가 된다.
생성된 d conc 32 _ SWB (n)를 40 샘플을 가지는 32개의 서브프레임으로 나누고 각 서브프레임의 에너지를 이용해 시간축 포락선 E(i)을 산출한다. E(i)로부터 최대 에너지를 가지는 서브프레임을 찾을 수 있다.
최대 에너지 값과 시간축 포락선을 이용해서 수식 2와 같이, 정규화 과정을 수행한다.
<수식 2>
Figure pct00003
여기서 i는 서브프레임의 인덱스이고, Maxind E 는 최대 에너지를 가지는 서브프레임의 인덱스이다.
r E (i)의 값이 소정의 기준치 이상인 경우. 예컨대, r E (i) > 8인 경우를 에코 존으로 결정하고, 감쇄 함수 g pre (n)을 에코 존에 적용한다. 감쇄 함수를 시간 영역의 신호에 적용하는 경우에, r E (i) > 16인 경우에는 g pre (n)로서 0.2를 적용하고, r E (i) < 8 인 경우에는 g pre (n)로서 1을 적용하며, 그 외의 경우에는 g pre (n)로서 0.5를 적용하여 최종 합성 신호를 만든다. 이때, 이전 프레임의 감쇄 함수와 현재 프레임의 감쇄 함수 사이를 스무딩(smoothing) 하기 위해 1차 IIR(Infinite Impulse Response) 필터가 적용될 수 있다.
또한, 프리 에코를 줄이기 위해 고정 프레임이 아니라 신호 특성에 따라서 다중 프레임 단위를 적용하여 부호화를 수행할 수도 있다. 예컨대, 신호 특성에 따라서, 20 ms 단위의 프레임, 40 ms 단위의 프레임, 80 ms 단위의 프레임을 적용할 수 있다.
한편, CELP 부호화와 변환 부호화를 신호의 특성에 따라서 선택적으로 적용하면서, 변환 부호화의 경우에 프리 에코의 문제를 해결하기 위해, 프레임의 크기를 다양하게 적용하는 방법을 고려할 수도 있다.
예컨대, 기본 프레임을 20ms의 작은 크기로 적용하되 정상(stationary) 신호에 대해서는 프레임을 40ms 또는 80ms의 큰 사이즈로 적용할 수 있다. 12.8kHz의 내부 샘플링 레이트로 동작한다고 가정할 때 20ms는 256 샘플에 대응하는 크기가 된다.
도 8은 기본 프레임을 20ms로 하고 더 큰 사이즈의 프레임인 40ms, 80ms를 신호의 특성에 따라 적용하는 경우의 윈도우 종류에 관한 예를 개략적으로 설명하는 도면이다.
도 8(a)에서는 기본 프레임인 20ms에 대한 윈도우가 도시되어 있고, 도 8(b)에서는 40ms 프레임에 대한 윈도우가 도시되어 있으며, 도 8(c)에서는 80ms 프레임에 대한 윈도우가 도시되어 있다.
변환을 기반으로 하는 TCX와 CELP의 중첩 합을 이용해서 최종 신호를 복원하는 경우를 고려하여, 윈도우의 길이는 3 종류이지만 이전 프레임과의 중첩 합을 위해 윈도우의 모양은 각 길이당 4 가지가 될 수 있다. 따라서, 총 12개의 윈도우가 신호의 특성에 따라 적용될 수 있다.
하지만, 프리 에코가 생길 수 있는 영역에서 신호의 크기를 조절하는 방법의 경우에는 비트스트림으로부터 복원한 신호를 기반으로 신호의 크기를 조절한다. 즉, 부호화기에서 할당된 비트로 복호화기에서 복원한 신호를 이용하여 에코 존을 결정하고 신호를 감쇄하게 된다.
이때, 부호화기에서의 비트 할당은 프레임별로 고정된 비트 수를 할당하는 방식으로 수행되는데, 이 방법은 후처리 필터와 유사한 개념으로 프리 에코를 제어하고자 하는 접근 방법이라고 할 수 있다. 다시 말하면, 예를 들어, 현재 프레임 사이즈가 20ms로 고정되어 있다고 하면, 20ms의 프레임에 할당되는 비트는 전체 비트 레이트에 의존하며, 고정된 값으로 전송된다. 프리 에코를 제어하는 절차는 부호화기가 아닌 복호화기 측에서는 부호화기로부터 전송된 정보를 토대로 수행된다.
이 경우, 심리음향적으로 프리 에코를 감추는 것에는 한계가 있으며, 특히 에너지가 더욱 급변하는 어택(attack) 신호와 같은 곳에서는 한계가 두드러지게 된다.
블록 스위칭에 기반하여 프레임의 크기를 가변적으로 적용하는 접근 방법의 경우는 부호화기 측에서 신호의 특성에 따라 처리하는 윈도우 사이즈를 선택하기 때문에 효율적으로 프리 에코를 줄일 수 있지만 최소 고정 사이트를 가져야 하는 양 ?향 통신 코덱으로 사용하기 어렵다. 예컨대, 20ms를 한 패킷으로 보내야 가능한 양 방향 통신을 가정하면, 80ms와 같이 큰 사이즈의 프레임이 설정되는 경우에 기본 패킷의 네 배에 해당하는 비트를 할당하게 됨으로써 그에 따른 지연이 생기기 때문이다.
따라서, 본 발명에서는 프리 에코에 의한 잡음을 효율적으로 제어하기 위해, 부호화기 측에서 수행할 수 있는 방법으로서, 프레임 내 비트 할당 구간별로 비트 할당을 가변적으로 수행하는 방법을 적용한다.
예컨대, 종래 프레임 혹은 프레임의 서브프레임에 대하여 고정적인 비트율을 적용하는 대신에 프리 에코가 발생할 수 있는 영역을 고려하여 비트 할당을 수행하도록 할 수 있다. 본 발명에 의하면, 프리 에코가 발생하는 영역에서는 비트율을 높여서 더 많은 비트를 할당한다.
프리 에코가 발생하는 영역에서 더 많은 비트를 이용하므로 부호화가 더 충실하게 수행되며 이를 통해 프리 에코에 의한 잡음의 크기를 줄일 수 있다.
예컨대, 프레임당 M 개의 서브프레임을 설정하고, 각 서브프레임별로 비트 할당을 수행하는 경우에, 종래에는 M 개의 서브프레임에에 동일한 비트율로 동일한 비트량이 할당된다. 이에 반해, 본 발명에서는 프리 에코가 존재하는, 즉 에코 존이 위치하는 서브프레임에 대한 비트율을 더 높게 조정할 수 있다.
본 명세서에서는 신호 처리 단위로서의 서브프레임과 비트 할당 단위로서의 서브프레임을 구별하기 위해, 비트 할당 단위인 M 개의 서브프레임을 비트 할당 구간이라고 한다.
설명의 편의를 위해 프레임당 비트 할당 구간의 개수가 2인 경우를 예로서 설명한다.
도 9는 프리 에코의 위치와 비트 할당의 관계를 개략적으로 설명하는 도면이다.
도 9에서는 비트 할당 구간별로 동일한 비트율이 적용되는 경우를 예로서 설명하고 있다.
두 개의 비트 할당 구간을 설정하는 경우에, 도 9(a)의 경우에는 프레임 내에 음성 신호가 전체적으로 균일하게 분포되어 있으며, 첫 번째 비트 할당 구간(910)과 두 번째 비트 할당 구간(920)에 전체 비트량의 1/2에 해당하는 비트가 각각 할당되고 있다.
도 9(b)의 경우에는 두 번째 비트 할당 구간(940)에 프리 에코가 위치한다. 도 9(b)의 경우에, 첫 번째 비트 할당 구간(930)은 무음에 가까운 구간이기 때문에 비트 할당을 작게 할 수 있음에도 종래의 방식에서는 전체 비트율의 1/2에 해당하는 비트를 사용하고 있다.
도 9(c)의 경우에는 첫 번째 비트 할당 구간(950)에 프리 에코가 위치한다. 도 9(c)의 경우에, 두 번째 비트 할당 구간(960)은 정상(stationary) 신호에 해당하므로, 비교적 적은 비트를 이용하여 부호화할 수 있음에도 전체 비트율의 1/2에 해당하는 비트를 사용하고 있다.
이와 같이 음성 신호의 특성, 예컨대 에코 존의 위치 또는 에너지의 급격한 증가가 존재하는 구간의 위치와 무관하게 비트 할당을 할 경우, 비트 효율성이 떨어지게 된다.
본 발명에서는 프레임당 정해진 전체 비트량을 비트 할당 구간별로 할당할 때, 에코 존의 존재 여부에 따라서 각 비트 할당 구간에 할당되는 비트량을 달리한다.
본 발명에서는 음성 신호의 특성(예컨대, 에코 존의 위치)에 따라서 비트 할당을 가변적으로 하기 위해, 음성 신호의 에너지 정보와 프리 에코에 의한 잡음이 발생할 수 있는 전이(transient) 성분의 위치 정보를 이용한다. 음성 신호 중 전이 성분은 에너지가 급격하게 변하는 전이가 존재하는 영역의 성분을 의미하며, 예컨대, 무성음에서 유성음으로 전이하는 위치의 음성 신호 성분 또는 유성음에서 무성음으로 전이하는 위치의 음성 신호 성분을 의미한다.
도 10은 본 발명에 따라서 비트 할당을 수행하는 방법을 개략적으로 설명하는 도면이다.
상술한 바와 같이, 본 발명에서는 음성 신호의 에너지 정보와 전이 성분의 위치 정보를 기반으로 비트 할당을 가변적으로 수행할 수 있다.
도 10(a)를 참조하면, 음성 신호가 두 번째 비트 할당 구간(1020)에 위치하므로, 첫 번째 비트 할당 구간(1010)에 대한 음성 신호의 에너지는 두 번째 비트 할당 구간(1020)에 대한 음성 신호의 에너지보다 작다.
음성 신호의 에너지가 작은 비트 할당 구간(예컨대, 무음 구간 혹은 무성음이 포함된 구간)이 있는 경우에는 전이 성분이 존재할 수 있다. 이 경우, 전이 성분이 존재하지 않는 비트 할당 구간에 대한 비트 할당을 줄이고, 절약된 비트를 전이 성분이 존재하는 비트 할당 구간에 추가로 할당할 수 있다. 예컨대, 도 10(a)의 경우에는 무성음 구간인 첫 번째 비트 할당 구간(1010)에 대한 비트 할당을 최소화하고, 절약된 비트를 두 번째 비트 할당 구간(1020), 즉, 음성 신호의 전이 성분이 위치하는 비트 할당 구간에 추가로 할당할 수 있다.
도 10(b)를 참조하면, 첫 번째 비트 할당 구간(1030)에 전이 성분이 존재하며, 두 번째 비트 할당 구간(1040)에 정상(stationary) 신호가 존재한다.
이 경우에도, 정상 신호가 존재하는 두 번째 비트 할당 구간(1040)에 대한 에너지가 첫 번째 비트 할당 구간(1030)에 대한 에너지보다 크다. 비트 할당 구간별로 에너지의 불균형이 있는 경우에는 전이 성분이 존재할 수 있으며, 전이 성분이 존재하는 비트 할당 구간에 더 많은 비트를 할당할 수 있다. 예컨대, 도 10(b)의 경우에는 정상 신호 구간인 두 번째 비트 할당 구간(1040)에 대한 비트 할당을 줄이고, 음성 신호의 전이 성분이 위치하는 첫 번째 비트 할당 구간(1030)에 절약된 비트를 더 할당할 수 있다.
도 11은 본 발명에 따라서 부호화기가 가변적으로 비트량을 할당하는 방법을 개략적으로 설명하는 순서도이다.
도 11을 참조하면, 부호화기는 현재 프레임에서 전이(transient)가 검출되는지를 판단한다(S1110). 부호화기는 현재 프레임을 M 개의 비트 할당 구간으로 나누었을 때, 에너지가 구간별로 균일한지를 판단하고, 균일하지 않은 경우에는 전이가 존재하는 것으로 판단할 수 있다. 부호화기는 예컨대, 임계 오프셋을 설정하고, 구간 사이의 에너지 차이가 임계 오프셋을 벗어나는 경우가 존재하면 현재 프레임 내에 전이가 존재하는 것으로 판단할 수 있다.
설명의 편의를 위해, M이 2인 경우를 고려하면, 첫 번째 비트 할당 구간의 에너지와 두 번째 비트 할당 구간의 에너지가 균일하지 않은 경우(소정의 기준값 이상의 차이를 갖는 경우)에는 현재 프레임에 전이가 존재한다고 판단할 수 있다.
부호화기는 전이의 존재 여부에 따라서 부호화 방식을 선택할 수 있다. 전이가 존재하는 경우에, 부호화기는 프레임을 비트 할당 구간으로 분할할 수 있다(S1120).
전이가 존재하지 않는 경우에, 부호화기는 비트 할당 구간으로 분할하지 않고 전체 프레임을 이용할 수 있다(S1130).
전체 프레임을 이용하는 경우에, 부호화기는 전체 프레임에 대해 비트 할당을 수행한다(S1140). 부호화기는 할당된 비트를 이용하여 전체 프레임에 대해 음성 신호를 부호화할 수 있다.
여기서는 설명의 편의를 위해, 전이가 존재하지 않는 경우에 전체 프레임을 이용하는 것으로 결정하는 단계를 거친 후 비트 할당을 수행하는 단계가 진행되는 것으로 설명하였으나, 본 발명은 이에 한정되지 않는다. 예컨대, 전이가 존재하는 경우에는 전체 프레임을 이용하는 것으로 결정하는 단계를 별도로 거칠 필요 없이, 전체 프레임에 대해 비트 할당을 수행할 수도 있다.
전이가 존재하는 것으로 판단하여 현재 프레임을 비트 할당 구간으로 분할한 경우에, 부호화기는 어느 비트 할당 구간에 전이가 존재하는지를 판단할 수 있다(S1150). 부호화기는 전이가 존재하는 비트 할당 구간과 전이가 존재하지 않는 비트 할당 구간에 비트 할당을 차별적으로 수행할 수 있다.
예컨대, 현재 프레임이 두 개의 비트 할당 구간으로 분할된 경우에, 첫 번째 비트 할당 구간에 전이가 존재하면, 두 번째 비트 할당 구간보다 첫 번째 비트 할당 구간에 더 많은 비트를 할당할 수 있다(S1160). 예컨대, 첫 번째 비트 할당 구간에 할당되는 비트량을 BA1st라고 하고, 두 번째 비트 할당 구간에 할당되는 비트량을 BA2nd라고 하면, BA1st>BA2nd가 된다.
현재 프레임이 두 개의 비트 할당 구간으로 분할된 경우에, 두 번째 비트 할당 구간에 전이가 존재하면, 첫 번째 비트 할당 구간보다 두 번째 비트 할당 구간에 더 많은 비트를 할당할 수 있다(S1170). 예컨대, 첫 번째 비트 할당 구간에 할당되는 비트량을 BA1st라고 하고, 두 번째 비트 할당 구간에 할당되는 비트량을 BA2nd라고 하면, BA1st<BA2nd가 된다.
현재 프레임이 두 개의 비트 할당 구간으로 분할되는 경우를 예로서 설명하면, 현재 프레임에 할당되는 전체 비트 수(비트량)을 Bitbudget이라고 하고, 첫 번째 비트 할당 구간에 할당되는 비트 수(비트량)를 BA1st라고 하며, 두 번째 비트 할당 구간에 할당되는 비트 수(비트량)를 BA2nd라고 할 때, 수식 3의 관계가 성립한다.
<수식 3>
Bit budget = BA 1st+ BA 2nd
이때, 두 비트 할당 구간 중 전이가 존재하는 구간이 어느 것인지, 두 비트 할당 구간에 대한 음성 신호의 에너지 크기가 얼마인지를 고려하여, 각 비트 할당 구간에 할당되는 비트 수를 수식 4와 같이 결정할 수 있다.
<수식 4>
Figure pct00004
수식 4에서 Energy n - th 는 n 번째 비트 할당 구간에서 음성 신호의 에너지를 의미하며, Transient n - th 는 n 번째 비트 할당 구간에 대한 가중치 상수로서, 해당 비트 할당 구간에 전이가 위치하는지에 따라서 다른 값을 가진다. 수식 5는 Transient n-th 값을 결정하는 방법의 일 예를 나타낸 것이다.
<수식 5>
첫 번째 비트 할당 구간에 전이가 존재하면,
Transient 1st = 1.0 & Transient 2nd = 0.5
그렇지 않으면(즉, 두 번째 비트 할당 구간에 전이가 존재하면)
Transient 1st = 0.5 & Transient 2nd = 1.0
수식 5에서는 전이의 위치에 따른 가중치 상수 Transient를 1 또는 0.5로 설정하는 예를 나타내고 있지만 본 발명은 이에 한정되지 않으며, 가중치 상수 Transient는 실험 등을 통해 다른 값으로 설정될 수도 있다.
한편, 앞서 설명한 바와 같이, 전이의 위치, 즉 에코 존의 위치에 따라서 비트 수를 가변적으로 할당하여 부호화하는 방법을 양 방향 통신에 적용할 수 있다.
양 방향 통신을 위해 사용되는 한 프레임의 크기가 A ms이고 부호화기의 전송 비트레이트를 B kbps라고 가정하면, 변환 부호화기의 경우에 적용되는 분석 및 합성 윈도우의 크기는 2A ms가 되고, 부호화기가 한 프레임에서 전송하는 비트량은 B x A 비트가 된다. 예를 들어, 한 프레임의 크기가 20ms라고 하면, 합성 윈도우의 크기는 40ms가 되고, 한 프레임당 전송하는 비트량은 B/50 kbit가 된다.
양 방향 통신에 본 발명에 따른 음성 부호화기를 적용하는 경우에는, 협대역(NB)/광대역(WB) 코어가 저대역(lowband)에 적용되며, 부호화된 정보를 초광대역인 상위 코덱에서 사용하는 이른바, 확장 구조의 형태가 적용될 수 있다.
도 12는 확장 구조의 형태를 가지는 음성 부호화기의 구성으로서, 본 발명이 적용되는 일 예를 개략적으로 설명하는 도면이다.
도 12를 참조하면, 확장 구조를 가지는 부호화기는 협대역 부호화부(1215), 광대역 부호화부(1235), 초광대역 부호화부(1260)을 포함한다.
샘플링 변환부(1205)에는 협대역 신호, 광대역 신호 또는 초광대역 신호가 입력된다. 샘플링 변환부(1205)는 입력된 신호를 내부 샘플링 레이트 12.8 kHz로 변환하여 출력한다. 샘플링 변환부(1205)의 출력은 스위칭부에 의해 출력 신호의 대역에 대응하는 부호화부로 전달된다.
샘플링 변환부(1210)는 협대역 신호 또는 광대역 신호가 입력되면 초광대역 신호로 업샘플링 한 후 25.6kHz 신호를 생성하고, 업샘플링 한 초광대역 신호 및 생성한 25.6kHz 신호를 출력한다. 또한 초광대역 신호가 입력되면 25.6kHz로 다운 샘플링 한 후 초광대역 신호와 함께 출력된다.
저대역 부호화부(1215)는 협대역 신호를 부호화하며 선형 예측부(1220), ACELP부(1225)를 포함한다. 선형 예측부(1220)에서 선형 예측이 수행된 후 잔여 신호는 CELP를 기반으로 CELP부(1225)에서 부호화된다.
저대역 부호화부(1215)의 선형 예측부(1220)와 CELP부(1225)는 도 1 및 도 3에서 저대역을 선형 예측 기반으로 부호화하는 구성 및 저대역을 CELP 기반으로 부호화하는 구성에 대응한다.
호환 코어부(1230)는 도 1의 코어 구성에 대응한다. 호환 코어부(1230)에서 복원된 신호는 초광대역 신호를 처리하는 부호화부에서의 부호화에 이용될 수 있다. 도면을 참조하면, 호환 코어부(1230)는 예컨대 AMR-WB와 같은 호환 부호화에 의해 저대역 신호가 처리되도록 할 수 있고, 초광대역 신호부(1260)에서 고대역 신호가 처리되도록 할 수 있다.
광대역 부호화부(1235)는 광대역 신호를 부호화하며, 선형 예측부(1240), CELP부(1250), 확장 레이어부(1255)를 포함한다. 선형 예측부(1240)와 CELP부(1250)는 저대역 부호화부(1215)와 유사하게, 도 1 및 도 3에서 광대역을 선형 예측 기반으로 부호화하는 구성 및 저대역을 CELP 기반으로 부호화하는 구성에 대응한다. 또한, 확장 레이어부(1255)는 추가 레이어를 처리함으로써 비트레이트가 증가되면 더 고음질로 부호화 할 수 한다.
광대역 부호화부(1235)의 출력은 역복원되어, 초광대역 부호화부(1260)에서의 부호화에 이용될 수 있다.
초광대역 부호화부(1260)는 초광대역 신호를 부호화하며, 입력되는 신호들을 변환하여 변환 계수에 대한 처리를 수행한다.
초광대역 신호는 도시된 바와 같이, 제너릭 모드부(1275), 사인 모드부(1280)에서 부호화되며, 코어 스위칭부(1265)에 의해 제너릭 모드부(1275)와 사인 모드부(1280) 중에서 신호를 처리할 모듈이 전환될 수 있다.
프리 에코 감소부(1270)는 본 발명에서 상술한 방법을 이용하여 프리 에코를 감소시킨다. 예컨대, 프리 에코 감소 블록(1270)는 입력되는 시간 영역 신호와 변환 계수를 이용하여 에코 존을 결정하고, 이를 기반으로 가변적인 비트 할당을 수행할 수 있다.
확장 레이어부(1285)는 기본 레이어(base layer) 외에 추가되는 확장 레이어(예컨대, 레이어 7 또는 레이어 8)의 신호를 처리한다.
본 발명에서는 초광대역 부호화부(1260)에서, 제너릭 모드부(1275)와 사인 모드부(1280) 사이의 코어 스위칭 후에 프리 에코 감소부(1270)가 동작하는 것으로 설명하였으나, 본 발명은 이에 한정되지 않으며, 프리 에코 감소부(1270)에서의 프리 에코 감소 동작이 수행된 후에 제너릭 모드부(1275)와 사인 모드부(1280) 사이의 코어 스위칭이 수행될 수도 있다.
도 12의 프리 에코 감소부(1270)는 도 11에서 설명한 바와 같이 비트 할당 구간별 에너지의 불균형을 기반으로 음성 신호 프레임에서 전이가 위치하는 비트 할당 구간이 어디인지를 판단해서 비트 할당 구간별로 서로 다른 비트량을 할당할 수 있다.
또한, 프리 에코 감소부는, 프레임 내 각 서브프레임들에 대한 에너지의 크기를 기반으로 에코 존의 위치를 서브프레임 단위로 결정하여 프리 에코 감소를 수행하는 방법을 적용할 수도 있다.
도 13은 도 12에서 소개한 프리 에코 감소부가 서브프레임별 에너지를 기반으로 에코 존을 결정하여 프리 에코 감소를 수행하는 경우의 구성을 개략적으로 설명하는 도면이다. 도 13을 참조하면, 프리 에코 감소부(1270)는 에코 존 판단부(1310) 및 비트 할당 조정부(1360)를 포함한다.
에코 존 판단부(1310)은 타겟 신호 생성 및 프레임 분할부(1320), 에너지 계산부(1330), 포락선 피크 계산부(1340) 및 에코 존 결정부(1350)를 포함한다.
초광대역 부호화부에서 처리되는 프레임의 크기를 2L ms라고 하면, M개의 비트 할당 구간이 설정된다고 할 때, 각 비트 할당 구간의 크기는 2L/M ms가 되고, 프레임의 전송 비트 레이트가 B kbps라고 하면, 프레임에 할당되는 비트량은 B x 2L 비트가 된다. 예컨대, L=10이라고 하면, 프레임에 할당되는 전체 비트량은 B/50 kbit가 된다.
변환 부호화에서는 현재 프레임과 과거 프레임이 연결되어 분석 윈도윙(windowing) 후 변환 처리된다. 예컨대, 프레임의 크기가 20ms, 즉 20 ms 단위로 처리해야 할 신호가 입력된다고 가정하자. 전체 프레임을 한 번에 처리할 경우, 현재 프레임의 20 ms와 이전 프레임의 20 ms을 연결(concatenation)하여 MDCT 변환을 위한 하나의 신호 단위로 구성하며 분석 윈도윙(windowing) 후 변환된다. 즉 현재 프레임에 대한 변환을 수행하기 위해 과거 프레임과 분석 대상 신호가 구성되어 변환을 거치게 된다. 만약 2(=M)개의 비트 할당 구간이 설정된다고 할 경우, 현재 프레임에 대한 변환을 수행하기 위해 과거 프레임의 일부와 현재 프레임이 중첩되어 2(=M) 번의 변환을 거치게 된다. 즉, 과거 프레임 후반의 10ms와 현재 프레임의 전반의 10ms 그리고 현재 프레임의 전반 10ms와 현재 프레임의 후반 10ms가 분석 윈도우(예컨대, 사인 윈도우, 해밍 윈도우 등의 대칭 윈도우)로 각각 윈도윙된다.
부호화기에서는 현재 프레임과 미래 프레임이 연결되어 분석 윈도윙 후 변환 처리될 수도 있다.
한편, 타겟 신호 생성 및 프레임 분할부(1320)는 입력되는 음성 신호를 기반으로 타겟 신호를 생성하며, 프레임을 서브프레임으로 분할한다.
초광대역 부호화기로 입력되는 신호는, 도 12를 참조하면, ① 원본 신호 중 초광대역 신호, ② 협대역 부호화 또는 광대역 부호화를 거쳐 다시 복호화된 신호, ③ 원본 신호 중 광대역 신호와 복호화된 신호의 차(difference) 신호들이다.
입력되는 시간 영역의 각 신호들(①, ② 및 ③)은 프레임 단위(20ms 단위)로 입력될 수 있으며, 변환을 거쳐 변환 계수가 생성된다. 생성된 변환 계수들이 초광대역 부호화부 내의 프리 에코 감소부를 비롯한 신호 처리 모듈에서 처리된다.
이때, 타겟 신호 생성 및 프레임 분할부(1320)는 초광대역 성분을 가지는 ①과 ②의 신호를 기반으로 에코 존의 존부를 판단하기 위한 타겟 신호를 생성한다.
타켓 신호 dconc 32 _ SWB(n)은 수식 6과 같이 결정될 수 있다.
<수식 6>
Figure pct00005
수식 6에서, n은 샘플링 위치를 지시한다. ②의 신호에 대한 스케일링은 ②의 신호의 샘플링 레이트를 초광대역 신호의 샘플링 레이트로 변환하는 업샘플링이다.
타겟 신호 생성 및 프레임 분할부(1320)는 에코 존을 결정하기 위해 음성 신호 프레임을 소정 개수(예컨대, N 개, N은 정수)의 서브프레임으로 분할한다. 서브프레임은 샘플링 및/또는 음성 신호 처리의 단위가 될 수 있다. 예컨대, 서브프레임은 음성 신호의 포락선을 산출하기 위한 처리 단위로서, 연산량을 고려하지 않는다면, 많은 서브프레임으로 나뉠수록 더 정확한 값을 얻을 수 있다. 가령, 서브프레임 당 하나의 샘플을 처리한다고 하면, 초광대역 신호에 대한 프레임이 20ms라고 할 때, N는 640이 된다.
또한, 서브프레임은 에코 존을 결정하기 위한 에너지 산출 단위로서 이용될 수 있다. 예를 들어, 수식 6의 타겟 신호 d conc 32 _ SWB (n)는 서브프레임 단위로 음성 신호 에너지를 산출하는데 이용될 수 있다.
에너지 계산부(1330)는 타겟 신호를 이용하여 각 서브프레임의 음성 신호 에너지를 산출한다. 여기서는, 설명의 편의를 위해 프레임당 서브프레임의 개수 N을 16로 설정하는 경우를 예로서 설명한다.
각 서브프레임들의 에너지는 타겟 신호 d conc 32 _ SWB (n)를 이용하여 수식 7과 같이 구할 수 있다.
<수식 7>
Figure pct00006
수식 7에서, i는 서브프레임을 지시하는 인덱스이며, n은 샘플 번호(샘플 위치)를 나타낸다. E(i)는 시간 영역(시간 축)의 포락선에 해당한다.
포락선 피크 계산부(1340)는 E(i)를 이용하여 시간 영역(시간 축) 포락선의 피크 Max E 를 수식 8과 같이 결정한다.
<수식 8>
Figure pct00007
다시 말하면, 포락선 피크 계산부(1340)는 프레임 내 N개의 서브프레임 중에서 어떤 서브프레임에 대한 에너지가 가장 큰지를 찾아낸다.
에코 존 결정부(1350)는 프레임 내 N 개의 서브프레임들에 대한 에너지를 정규화(normalization)하고 기준값과 비교하여 에코 존을 결정한다.
서브프레임들에 대한 에너지는 포락선 피크 계산부(1340)에서 결정한 포락선 피크 값, 즉 각 서브프레임의 에너지 중에서 가장 큰 에너지를 이용하여 수식 9와 같이 정규화될 수 있다.
<수식 9>
Figure pct00008
여기서 Normal _E(i)는 i 번째 서브프레임에 대한 정규화된 에너지를 나타낸다.
에코 존 결정부(1350)는 각 서브프레임의 정규화된 에너지를 소정의 기준값(임계값)과 비교하여 에코 존을 결정한다.
예컨대, 에코 존 결정부(1350)는 프레임 내 첫 번째 서브프레임부터 마지막 서브프레임까지 순서대로 소정의 기준값과 서브프레임의 정규화된 에너지의 크기를 비교한다. 첫 번째 서브프레임에 대한 정규화된 에너지가 기준값보다 작은 경우에, 에코 존 결정부(1350)는 가장 먼저 기준값 이상의 정규화된 에너지를 갖는 것으로 검색된 서브프레임에 에코 존이 존재하는 것으로 결정할 수 있다. 첫 번째 서브프레임에 대한 정규화된 에너지가 기준값보다 큰 경우에, 에코 존 결정부(1350)는 가장 먼저 기준값 이하의 정규화된 에너지를 갖는 것으로 검색된 서브프레임에 에코 존이 존재하는 것으로 결정할 수 있다.
에코 존 결정부(1350)는 프레임 내 마지막 서브프레임부터 첫 번째 서브프레임까지 상기 방법과 역순으로 소정의 기준값과 서브프레임의 정규화된 에너지의 크기를 비교할 수도 있다. 마지막 서브프레임에 대한 정규화된 에너지가 기준값보다 작은 경우에, 에코 존 결정부(1350)는 가장 먼저 기준값 이상의 정규화된 에너지를 갖는 것으로 검색된 서브프레임에 에코 존이 존재하는 것으로 결정할 수 있다. 마지막 서브프레임에 대한 정규화된 에너지가 기준값보다 큰 경우에, 에코 존 결정부(1350)는 가장 먼저 기준값 이하의 정규화된 에너지를 갖는 것으로 검색된 서브프레임에 에코 존이 존재하는 것으로 결정할 수 있다.
이때, 기준값 즉, 임계값은 실험적으로 결정될 수 있다. 예컨대, 임계값이 0.128이고, 첫 번째 서브프레임부터 검색되며, 첫 번째 서브프레임에 대한 정규화된 에너지가 0.128보다 작은 경우에는, 순서대로 정규화된 에너지를 검색하면서 가장 먼저 0.128보다 큰 정규화된 에너지가 검색되는 서브프레임에 에코 존이 있는 것으로 결정할 수 있다.
또한, 에코 존 결정부(1350)는 상기 조건을 만족하는 서브프레임이 검색되지 않으면, 즉 정규화된 에너지의 크기가 기준값 이하에서 기준값 이상으로 변하거나 기준값 이상에서 기준값 이하로 변한 서브프레임을 발견할 수 없으면, 현재 프레임에 에코 존이 없는 것을 결정할 수 있다.
에코 존 결정부(1350)에서 에코 존이 존재한다고 판단한 경우에, 비트 할당 조정부(1360)는 에코 존이 존재하는 영역과 그 외 영역에 대하여 차등적으로 비트량을 할당할 수 있다.
에코 존 결정부(1350)에서 에코 존이 존재하지 않는다고 판단한 경우에는, 비트 할당 조정부(1360)에서의 추가적인 비트 할당 조정을 바이패스(bypass)할 수도 있고, 비트 할당 조정을 도 11에서 설명한 바와 같이 현재 프레임을 단위로 균일하게 비트 할당되도록 수행할 수도 있다.
예컨대, 에코 존이 있다고 결정되면, 정규화된 시간 영역 포락선 정보, 즉 Normal_E(i)가 비트 할당 조정부(1360)에 전달될 수 있다.
비트 할당 조정부(1360)는 정규화된 시간 영역 포락선 정보를 기반으로 비트 할당 구간별로 비트량을 할당한다. 예컨대, 비트 할당 조정부(1360)는 현재 프레임에 할당된 전체 비트량이 에코 존이 존재하는 비트 할당 구간과 에코 존이 존재하지 않는 비트 할당 영역에 차등적으로 할당될 수 있도록 조정한다.
비트 할당 구간은 현재 프레임에서 전송되는 총 비트레이트에 따라서 M 개 설정될 수 있다. 총 비트량(비트레이트)이 많으면 비트 할당 구간과 서브프레임을 동일하게 설정할 수도 있다(M=N). 하지만, M 개의 비트 할당 정보가 복호화기에도 전달되어야 하므로, 정보 연산량과 정보 전송량을 고려할 때, M이 너무 크면 부호화 효율에 좋지 않을 수 있다. 앞서, 도 11에서는 M이 2인 경우를 예로서 설명한 바 있다.
설명의 편의를 위해 M=2이고, N=32인 경우를 예로서 설명한다. 32 개의 서브프레임에 대한 정규화된 에너지 값이 20 번째 서브프레임에서 1이라고 가정하자. 따라서, 에코 존은 두 번째 비트 할당 구간에 존재한다. 현재 프레임에 고정 할당된 전체 비트가 C kbps라고 할 때, 비트 할당 조정부(1360)는 첫 번째 비트 할당 구간에 C/3 kbps의 비트를 할당하고, 두 번째 비트 할당 구간에는 더 많은 2C/3 kbps를 할당할 수 있다.
따라서, 현재 프레임에 할당되는 전체 비트량은 C kbps로 동일하지만, 에코 존이 존재하는 두 번째 비트 할당 구간에는 더 많은 비트량이 할당될 수 있다.
여기서는, 에코 존이 존재하는 비트 할당 구간에 두 배의 비트량이 할당되는 것으로 설명하였지만, 이에 한정하지 않고, 수식 4 및 수식 5와 같이, 에코 존의 존부에 따른 가중치와 비트 할당 구간별 에너지를 고려하여, 할당되는 비트량을 조정할 수도 있다.
한편, 프레임 내 비트 할당 구간별로 할당되는 비트량이 변하면, 비트 할당에 관한 정보를 복호화기에 전송할 필요가 있다. 설명의 편의를 위해, 비트 할당 구간별로 할당되는 비트량을 비트 할당 모드라고 할 때, 부호화기/복호화기는 비트 할당 모드가 규정된 테이블을 구성하고 이를 이용하여 비트 할당 정보를 송신/수신할 수 있다.
부호화기에서는 어떤 비트 할당 모드를 이용할 것인지를 비트 할당 정보 테이블 상에서 지시하는 인덱스를 복호화기로 전송할 수 있다. 복호화기는 부호화기로부터 수신한 인덱스가 비트 할당 정보 테이블 상에서 지시하는 비트 할당 모드에 따라서, 부호화된 음성 정보를 복호화 할 수 있다.
표 1은 비트 할당 정보를 전송하는데 사용하는 비트 할당 정보 테이블의 일 예를 나타낸 것이다.
Figure pct00009
표 1에서는 비트 할당 영역의 개수가 2이고 프레임에 할당된 고정 비트 수가 C인 경우를 예로서 설명한다. 표 1을 비트 할당 정보 테이블로 사용하는 경우에, 부호화기가 비트 할당 모드 인덱스로 0을 전송하면, 두 비트 할당 구간에 동일한 비트량을 할당하였음이 지시된다. 비트 할당 모드 인덱스의 값이 0인 경우에는 에코 존이 존재하지 않는 것을 의미한다고 할 수 있다.
비트 할당 모드 인덱스의 값이 1 내지 3인 경우에는 두 비트 할당 구간에 서로 다른 비트량이 할당된다. 이 경우에는 현재 프레임에 에코 존이 존재한다는 것을 의미한다고 할 수 있다.
표 1에서는 에코 존이 없거나 두 번째 비트 할당 구간에 에코 존이 있는 경우만을 예로서 설명하였으나 본 발명은 이에 한정되지 않는다. 예컨대, 아래 표 2와 같이 첫 번째 비트 할당 구간에 에코 존이 있는 경우와 두 번째 비트 할당 구간에 에코 존이 있는 경우를 모두 고려하여 비트 할당 정보 테이블이 구성될 수도 있다.
Figure pct00010
표 2에서도 비트 할당 영역의 개수가 2이고 프레임에 할당된 고정 비트 수가 C인 경우를 예로서 설명한다. 표 2를 참조하면, 인덱스 0 및 2는 두 번째 비트 할당 구간에 에코 존이 존재하는 경우들에 대한 비트 할당 모드들을 지시하며, 인덱스 1 및 3은 첫 번째 비트 할당 구간에 에코 존이 존재하는 경우들에 대한 비트 할당 모드들을 지시한다.
표 2를 비트 할당 정보 테이블로 사용하는 경우에, 현재 프레임에 에코 존이 존재하지 않으면, 비트 할당 모드 인덱스 값을 전송하지 않을 수 있다. 복호화기는 비트 할당 모드 인덱스가 전송되지 않으면, 현재 프레임의 전체 구간을 한 비트 할당 단위로 해서 고정 비트 수 C기 할당된 것으로 판단하고 복호화를 수행할 수 있다.
비트 할당 모드 인덱스의 값이 전송되면, 복호화기는 해당 인덱스 값이 표 2의 비트 할당 정보 테이블에서 지시하는 비트 할당 모드에 기반하여 현재 프레임에 대한 복호화를 수행할 수 있다.
표 1과 표 2는 비트 할당 정보 인덱스를 2 비트를 이용하여 전송하는 경우를 예로서 설명하였다. 비트 할당 정보 인덱스를 2 비트를 이용하여 전송하면, 표 1 및 표 2에 나타낸 것처럼 4 가지 모드에 관한 정보를 전송할 수 있다.
여기서는 2 비트를 이용하여 비트 할당 모드의 정보를 전송하는 것을 설명하였으나, 본 발명은 이에 한정되지 않는다. 예컨대, 4 개보다 더 많은 비트 할당 모드를 이용하여 비트 할당을 수행하고, 2 비트보다 더 많은 전송 비트를 사용하여 비트 할당 모드에 관한 정보를 전송할 수 있다. 또한, 4 개보다 더 작은 비트 할당 모드를 이용하여 비트 할당을 수행하고, 2 비트보다 더 작은 전송 비트(예컨대, 1 비트)를 이용하여 비트 할당 모드에 관한 정보를 전송할 수도 있다.
비트 할당 정보 테이블을 이용하여 비트 할당 정보를 전송하는 경우에도, 부호화기는 상술한 바와 같이 에코 존의 위치를 판단하여 에코 존이 존재하는 비트 할당 구간에 더 많은 비트량을 할당하는 모드를 선택하고, 이를 지시하는 인덱스를 전송할 수 있다.
도 14는 본 발명에 따라서 부호화기가 비트 할당을 가변적으로 수행하여 음성 신호를 부호화하는 방법을 개략적으로 설명하는 순서도이다.
도 14를 참조하면, 부호화기는 현재 프레임에서 에코 존을 결정한다(S1410). 변환 부호화를 수행하는 경우에, 부호화기는 현재 프레임을 M 개의 비트 할당 구간을 분할하고, 각 비트 할당 구간에 에코 존이 존재하는지를 판단한다.
부호화기는 각 비트 할당 구간의 음성 신호 에너지가 소정 범위 내에서 균일한지를 판단하고, 비트 할당 구간들 간에 소정 범위를 벗어나는 에너지 차이가 존재하는 경우에는 현재 프레임에 에코 존이 존재한다고 판단할 수 있다. 이 경우, 부호화기는 전이 성분이 존재하는 비트 할당 구간에 에코 존이 존재한다고 결정할 수 있다.
또한, 부호화기는 현재 프레임을 N 개의 서브프레임으로 분할하고, 각 서브프레임별 정규화된 에너지를 산출하여 정규화된 에너지가 임계값을 기준으로 변하는 경우에는 해당 서브프레임에 에코 존이 존재한다고 판단할 수 있다.
부호화기는 음성 신호 에너지가 소정 범위 내에서 균일하거나 임계치를 기준으로 변화하는 정규화된 에너지가 없는 경우에는, 현재 프레임에 에코 존이 존재하지 않는 것으로 판단할 수 있다.
부호화기는 에코 존의 존부를 고려하여 현재 프레임에 대한 부호화 비트의 할당을 수행할 수 있다(S1420). 부호화기는 현재 프레임에 할당된 전체 비트 수를 각 비트 할당 구간에 할당한다. 부호화기는 에코 존이 존재하는 비트 할당 구간에 더 많은 비트량을 할당함으로써 프리 에코에 의한 잡음을 방지 또는 감쇄할 수 있다. 이때, 현재 프레임에 할당된 전체 비트 수는 고정 할당되는 비트 수일 수 있다.
S1410 단계에서 에코 존이 존재하지 않다고 판단된 경우에, 부호화기는 현재 프레임에 대해서 비트 할당 구간을 분할하여 비트량을 차등적으로 할당하지 않고, 프레임 단위로 상기 전체 비트 수를 이용할 수 있다.
부호화기는 할당된 비트를 이용하여 부호화를 수행한다(S1430). 에코 존이 존재하는 경우에, 부호화기는 차등 할당된 비트를 이용하여 프리 에코에 의한 잡음을 방지 또는 감쇄하면서 변환 부호화를 수행할 수 있다.
부호화기는 부호화에 이용된 비트 할당 모드에 관한 정보를 부호화된 음성 정보와 함께 복호화기에 전송할 수 있다.
도 15는 본 발명에 따라서 음성 신호의 부호화에 비트 할당이 가변적으로 수행된 경우, 부호화된 음성 신호를 복호화하는 방법을 개략적으로 설명하는 도면이다.
복호화기는 부호화된 음성 정보와 함께 비트 할당 정보를 부호화기로부터 수신한다(S1510). 부호화된 음성 정보 및 음성 정보가 부호화될 때 할당되었던 비트에 관한 정보는 비트 스트림을 통해 전송될 수 있다.
비트 할당 정보는 현재 프레임 내에서 구간 별로 차등적인 비트 할당이 있는지를 지시할 수 있다. 또한, 비트 할당 정보는 차등적인 비트 할당이 있다면 어떤 비율로 비트량이 할당되어 있는지를 지시할 수 있다.
비트 할당 정보는 인덱스 정보일 수 있으며, 수신한 인덱스는 비트 할당 정보 테이블상에서 현재 프레임에 적용된 비트 할당 모드(비트 할당 비율 또는 비트 할당 구간별로 할당된 비트량)을 지시할 수 있다.
복호화기는 비트 할당 정보에 기반하여 현재 프레임에 대한 복호화를 수행할 수 있다(S1520). 복호화기는 현재 프레임 내에서 차등적이 비트 할당이 있었던 경우에는, 비트 할당 모들 반영하여 음성 정보를 복호화할 수 있다.
상술한 실시예들에서는 발명의 이해를 돕기 위해 변수값 또는 설정값들을 예를 들어 설명하였으나, 본 발명은 이에 한정되지 않는다. 예를 들어, 서브프레임의 개수 N을 24 또는 32 개로 설명하였으나 본 발명은 이에 한정되지 않는다. 또한, 비트 할당 구간의 개수 M 역시 설명의 편의를 위해 2인 경우를 예로서 설명하였으나, 본 발명은 이에 한정되지 않는다. 에코 존을 결정하기 위해 정규화된 에너지의 크기와 비교되는 임계값은 사용자가 설정하는 임의의 값이나 실험값으로 결정될 수 있다. 또한, 20ms의 고정 프레임 내 2개의 비트 할당 구간에서 각각 한 번씩 변환되는 경우를 예로서 설명하였으나, 이는 설명의 편의를 위한 것으로서 프레임 사이즈, 비트 할당 구간에 다른 변환의 회수 등은 본 발명에서 한정되지 않으며, 본 발명의 기술적 특징을 제한하지 않는다. 따라서, 본 발명에서 상술한 변수 또는 설정 값들은 다양하게 변경 적용될 수 있다>
상술한 예시들에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 예컨대, 상술한 실시형태들을 서로 조합하여 실시할 수도 있으며, 이 역시 본 발명에 따른 실시형태에 속한다. 본 발명은 이하의 특허청구범위 내에 속하는 본 발명의 기술적 사상에 따른 다양한 수정 및 변경을 포함한다.

Claims (14)

  1. 현재 프레임에 에코 존을 결정하는 단계;
    에코 존의 위치를 기반으로 상기 현재 프레임에 대한 비트를 할당하는 단계; 및
    상기 할당된 비트를 이용하여 상기 현재 프레임에 대한 부호화를 수행하는 단계를 포함하며,
    상기 비트 할당 단계에서는,
    상기 현재 프레임에서 에코 존이 위치하지 않는 구간보다 에코 존이 위치하는 구간에 더 많은 비트를 할당하는 것을 특징으로 하는 음성 신호 부호화 방법.
  2. 제1항에 있어서, 상기 비트 할당 단계에서는,
    상기 현재 프레임을 소정 개수의 구간으로 분할하고, 상기 에코 존이 존재하지 않는 구간보다 상기 에코 존이 존재하는 구간에 더 많은 비트를 할당하는 것을 특징으로 하는 음성 부호화 방법.
  3. 제1항에 있어서, 상기 에코 존을 결정하는 단계에서는,
    상기 현재 프레임을 구간으로 분할하였을 때, 구간 별 음성 신호의 에너지 크기가 균일하지 않은 경우에는 상기 현재 프레임에 에코 존이 존재하는 것으로 판단하는 것을 특징으로 하는 음성 신호 부호화 방법.
  4. 제3항에 있어서, 상기 에코 존을 결정하는 단계에서는,
    상기 구간 별 음성 신호의 에너지 크기가 균일하지 않는 경우에, 에너지 크기의 전이가 존재하는 구간에 에코 존이 위치하는 것으로 결정하는 것을 특징으로 하는 음성 신호 부호화 방법.
  5. 제1항에 있어서, 상기 에코 존을 결정하는 단계에서는,
    현재 서브프레임에 대한 정규화된 에너지가 이전 서브프레임에 대한 정규화된 에너지로부터 임계값을 경과하는 변화를 보이는 경우에는, 상기 현재 서브프레임에 에코 존이 위치한다고 결정하는 것을 특징으로 하는 음성 신호 부호화 방법.
  6. 제5항에 있어서, 상기 정규화된 에너지는, 상기 현재 프레임의 각 서브프레임에 대한 에너지 값들 중 가장 큰 에너지 값을 기준으로 정규화된 것을 특징으로 하는 음성 신호 부호화 방법.
  7. 제1항에 있어서, 상기 에코 존을 결정하는 단계에서는,
    상기 현재 프레임의 서브프레임들을 순서대로 검색하며,
    서브프레임에 대한 정규화된 에너지가 임계값을 초과하는 첫 번째 서브프레임에 상기 에코 존이 위치하는 것으로 결정하는 것을 특징으로 하는 음성 신호 부호화 방법.
  8. 제1항에 있어서, 상기 에코 존을 결정하는 단계에서는,
    상기 현재 프레임의 서브프레임들을 순서대로 검색하며,
    서브프레임에 대한 정규화된 에너지가 임계값보다 작아지는 첫 번째 서브프레임에 상기 에코 존이 위치하는 것으로 결정하는 것을 특징으로 하는 음성 신호 부호화 방법.
  9. 제1항에 있어서, 상기 비트 할당 단계에서는,
    상기 현재 프레임을 소정 개수의 구간으로 분할하고, 에코 존이 위치하는지에 따른 가중치와 구간 내 에너지 크기에 기반하여 구간 별로 비트량을 할당하는 것을 특징으로 하는 음성 신호 부호화 방법.
  10. 제1항에 있어서, 상기 비트 할당 단계에서는,
    상기 현재 프레임을 소정 개수의 구간으로 분할하고, 미리 정해진 비트 할당 모드들 중 상기 현재 프레임에서의 에코 존 위치에 대응하는 모드를 적용하여 비트 할당을 수행하는 것을 특징으로 하는 음성 신호 부호화 방법.
  11. 제1항에 있어서, 상기 적용된 비트 할당 모드를 지시하는 정보를 복호화기로 전송하는 것을 특징으로 하는 음성 신호 부호화 방법.
  12. 현재 프레임에 대한 비트 할당 정보를 획득하는 단계; 및
    상기 비트 할당 정보를 기반으로 음성 신호를 복호화하는 단계를 포함하며,
    상기 비트 할당 정보는 상기 현재 프레임 내 구간별 비트 할당 정보인 것을 특징으로 하는 음성 신호 복호화 방법.
  13. 제12항에 있어서, 상기 비트 할당 정보는,
    소정의 비트 할당 모드가 규정된 테이블 상에서 상기 현재 프레임에 적용된 비트 할당 모드를 지시하는 것을 특징으로 하는 음성 신호 복호화 방법.
  14. 제12항에 있어서, 상기 비트 할당 정보는,
    상기 현재 프레임 내에서 전이 성분이 위치하는 구간과 전이 성분이 위치하지 않는 구간에 차등적으로 비트 할당이 수행되었음을 지시하는 것을 특징으로 하는 음성 신호 복호화 방법.
KR1020147010211A 2011-10-27 2012-10-29 음성 신호 부호화 방법 및 복호화 방법과 이를 이용하는 장치 KR20140085453A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161552446P 2011-10-27 2011-10-27
US61/552,446 2011-10-27
US201261709965P 2012-10-04 2012-10-04
US61/709,965 2012-10-04
PCT/KR2012/008947 WO2013062392A1 (ko) 2011-10-27 2012-10-29 음성 신호 부호화 방법 및 복호화 방법과 이를 이용하는 장치

Publications (1)

Publication Number Publication Date
KR20140085453A true KR20140085453A (ko) 2014-07-07

Family

ID=48168121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147010211A KR20140085453A (ko) 2011-10-27 2012-10-29 음성 신호 부호화 방법 및 복호화 방법과 이를 이용하는 장치

Country Status (6)

Country Link
US (1) US9672840B2 (ko)
EP (1) EP2772909B1 (ko)
JP (1) JP6039678B2 (ko)
KR (1) KR20140085453A (ko)
CN (1) CN104025189B (ko)
WO (1) WO2013062392A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2992766A1 (fr) * 2012-06-29 2014-01-03 France Telecom Attenuation efficace de pre-echos dans un signal audionumerique
CN110867190B (zh) 2013-09-16 2023-10-13 三星电子株式会社 信号编码方法和装置以及信号解码方法和装置
KR102315920B1 (ko) * 2013-09-16 2021-10-21 삼성전자주식회사 신호 부호화방법 및 장치와 신호 복호화방법 및 장치
CN110176241B (zh) * 2014-02-17 2023-10-31 三星电子株式会社 信号编码方法和设备以及信号解码方法和设备
WO2015122752A1 (ko) * 2014-02-17 2015-08-20 삼성전자 주식회사 신호 부호화방법 및 장치와 신호 복호화방법 및 장치
US10410645B2 (en) 2014-03-03 2019-09-10 Samsung Electronics Co., Ltd. Method and apparatus for high frequency decoding for bandwidth extension
KR20240046298A (ko) 2014-03-24 2024-04-08 삼성전자주식회사 고대역 부호화방법 및 장치와 고대역 복호화 방법 및 장치
FR3024581A1 (fr) * 2014-07-29 2016-02-05 Orange Determination d'un budget de codage d'une trame de transition lpd/fd
US20170085597A1 (en) * 2015-09-18 2017-03-23 Samsung Electronics Co., Ltd. Device and method for merging circuit switched calls and packet switched calls in user equipment
EP3483880A1 (en) * 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Temporal noise shaping
EP3483879A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Analysis/synthesis windowing function for modulated lapped transformation
BR112021013726A2 (pt) * 2019-01-13 2021-09-21 Huawei Technologies Co., Ltd. Método implementado por computador para realizar quantização residual, dispositivo eletrônico e meio legível por computador não transitório
WO2020253941A1 (en) * 2019-06-17 2020-12-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder with a signal-dependent number and precision control, audio decoder, and related methods and computer programs
CN112767953B (zh) 2020-06-24 2024-01-23 腾讯科技(深圳)有限公司 语音编码方法、装置、计算机设备和存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5921039B2 (ja) * 1981-11-04 1984-05-17 日本電信電話株式会社 適応予測符号化方式
US4568234A (en) 1983-05-23 1986-02-04 Asq Boats, Inc. Wafer transfer apparatus
GB8421498D0 (en) * 1984-08-24 1984-09-26 British Telecomm Frequency domain speech coding
FR2674710B1 (fr) * 1991-03-27 1994-11-04 France Telecom Procede et systeme de traitement des preechos d'un signal audio-numerique code par transformee frequentielle.
JP3134338B2 (ja) * 1991-03-30 2001-02-13 ソニー株式会社 ディジタル音声信号符号化方法
KR950009412B1 (en) * 1992-11-20 1995-08-22 Daewoo Electronics Co Ltd Method and system of adaptive beit allocation according to frame variation
JP3297238B2 (ja) * 1995-01-20 2002-07-02 大宇電子株式會▲社▼ 適応的符号化システム及びビット割当方法
US6240379B1 (en) * 1998-12-24 2001-05-29 Sony Corporation System and method for preventing artifacts in an audio data encoder device
JP3660599B2 (ja) * 2001-03-09 2005-06-15 日本電信電話株式会社 音響信号の立ち上がり・立ち下がり検出方法及び装置並びにプログラム及び記録媒体
JP4399185B2 (ja) * 2002-04-11 2010-01-13 パナソニック株式会社 符号化装置および復号化装置
WO2004034379A2 (en) * 2002-10-11 2004-04-22 Nokia Corporation Methods and devices for source controlled variable bit-rate wideband speech coding
US7653542B2 (en) 2004-05-26 2010-01-26 Verizon Business Global Llc Method and system for providing synthesized speech
JP2006224862A (ja) 2005-02-18 2006-08-31 Alps Electric Co Ltd ステアリングスイッチ装置
KR100979624B1 (ko) * 2005-09-05 2010-09-01 후지쯔 가부시끼가이샤 오디오 부호화 장치 및 오디오 부호화 방법
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
US7966175B2 (en) * 2006-10-18 2011-06-21 Polycom, Inc. Fast lattice vector quantization
CN101751926B (zh) 2008-12-10 2012-07-04 华为技术有限公司 信号编码、解码方法及装置、编解码***
KR20100115215A (ko) * 2009-04-17 2010-10-27 삼성전자주식회사 가변 비트율 오디오 부호화 및 복호화 장치 및 방법

Also Published As

Publication number Publication date
US20140303965A1 (en) 2014-10-09
CN104025189A (zh) 2014-09-03
US9672840B2 (en) 2017-06-06
JP6039678B2 (ja) 2016-12-07
JP2014531064A (ja) 2014-11-20
CN104025189B (zh) 2016-10-12
EP2772909A1 (en) 2014-09-03
EP2772909B1 (en) 2018-02-21
EP2772909A4 (en) 2015-06-10
WO2013062392A1 (ko) 2013-05-02

Similar Documents

Publication Publication Date Title
JP6039678B2 (ja) 音声信号符号化方法及び復号化方法とこれを利用する装置
JP4861196B2 (ja) Acelp/tcxに基づくオーディオ圧縮中の低周波数強調の方法およびデバイス
JP5357055B2 (ja) 改良形デジタルオーディオ信号符号化/復号化方法
US8532983B2 (en) Adaptive frequency prediction for encoding or decoding an audio signal
RU2667382C2 (ru) Улучшение классификации между кодированием во временной области и кодированием в частотной области
US9672835B2 (en) Method and apparatus for classifying audio signals into fast signals and slow signals
US8942988B2 (en) Efficient temporal envelope coding approach by prediction between low band signal and high band signal
KR101147878B1 (ko) 코딩 및 디코딩 방법 및 장치
RU2483364C2 (ru) Схема аудиокодирования/декодирования с переключением байпас
US7020605B2 (en) Speech coding system with time-domain noise attenuation
US9589568B2 (en) Method and device for bandwidth extension
KR102105305B1 (ko) 계층형 정현파 코딩을 이용한 오디오 신호의 인코딩 및 디코딩 방법 및 장치
MX2013004673A (es) Codificación de señales de audio genéricas a baja tasa de bits y a retardo bajo.
MX2011000383A (es) Esquema de codificacion/decodificacion de audio a baja tasa de bits con pre-procesamiento comun.
US9472199B2 (en) Voice signal encoding method, voice signal decoding method, and apparatus using same
US9390722B2 (en) Method and device for quantizing voice signals in a band-selective manner

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid