KR20170007280A - 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치 - Google Patents

선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치 Download PDF

Info

Publication number
KR20170007280A
KR20170007280A KR1020167031128A KR20167031128A KR20170007280A KR 20170007280 A KR20170007280 A KR 20170007280A KR 1020167031128 A KR1020167031128 A KR 1020167031128A KR 20167031128 A KR20167031128 A KR 20167031128A KR 20170007280 A KR20170007280 A KR 20170007280A
Authority
KR
South Korea
Prior art keywords
vector
quantization
prediction
error
frame
Prior art date
Application number
KR1020167031128A
Other languages
English (en)
Other versions
KR102400540B1 (ko
Inventor
성호상
강상원
김종현
오은미
Original Assignee
삼성전자주식회사
한양대학교 에리카산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 한양대학교 에리카산학협력단 filed Critical 삼성전자주식회사
Priority to KR1020227016454A priority Critical patent/KR102593442B1/ko
Publication of KR20170007280A publication Critical patent/KR20170007280A/ko
Application granted granted Critical
Publication of KR102400540B1 publication Critical patent/KR102400540B1/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
    • 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/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • G10L19/07Line spectrum pair [LSP] vocoders
    • 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/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • 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
    • 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
    • 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/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0004Design or structure of the codebook
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0016Codebook for LPC parameters

Landscapes

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

Abstract

양자화장치는 N차원(여기서, N은 2 이상)의 서브벡터와 제1 예측벡터간의 제1 에러벡터를 양자화하는 트렐리스 구조 벡터양자화기, 및 양자화된 N차원 서브벡터로부터 제1 예측벡터를 생성하는 프레임내 예측기를 포함하고, 프레임내 예측기는 NXN 매트릭스로 이루어지는 예측계수를 사용하며, 이전 스테이지의 양자화된 N차원 서브벡터를 이용하여 프레임내 예측을 수행한다.

Description

선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치{METHOD AND DEVICE FOR QUANTIZING LINEAR PREDICTIVE COEFFICIENT, AND METHOD AND DEVICE FOR DEQUANTIZING SAME}
본 발명은 선형예측계수 양자화 및 역양자화에 관한 것으로서, 보다 구체적으로는 낮은 복잡도로 선형예측계수를 효율적으로 양자화하는 방법 및 장치와 역양자화하는 방법 및 장치에 관한 것이다.
음성 혹은 오디오와 같은 사운드 부호화 시스템에서는 사운드의 단구간 주파수 특성을 표현하기 위하여 선형예측부호화(Linear Predictive Coding, 이하 LPC라 약함) 계수가 사용된다. LPC 계수는 입력 사운드를 프레임 단위로 나누고, 각 프레임별로 예측 오차의 에너지를 최소화시키는 형태로 구해진다. 그런데, LPC 계수는 다이나믹 레인지가 크고, 사용되는 LPC 필터의 특성이 LPC 계수의 양자화 에러에 매우 민감하여 필터의 안정성이 보장되지 않는다.
이에, LPC 계수를 필터의 안정성 확인이 용이하고 보간에 유리하며 양자화 특성이 좋은 다른 계수로 변환하여 양자화를 수행하는데, 주로 선 스펙트럼 주파수(Line Spectral Frequency, 이하 LSF라 약함) 혹은 이미턴스 스펙트럼 주파수(Immittance Spectral Frequency, 이하 ISF라 약함)로 변환하여 양자화하는 것이 선호되고 있다. 특히, LSF 계수의 양자화기법은 주파수영역 및 시간영역에서 가지는 LSF 계수의 프레임간 높은 상관도를 이용함으로써 양자화 이득을 높일 수 있다.
LSF 계수는 단구간 사운드의 주파수 특성을 나타내며, 입력 사운드의 주파수 특성이 급격히 변하는 프레임의 경우, 해당 프레임의 LSF 계수 또한 급격히 변화한다. 그런데, LSF 계수의 프레임간 높은 상관도를 이용하는 프레임간 예측기를 포함하는 양자화기의 경우, 급격히 변화하는 프레임에 대해서는 적절한 예측이 불가능하여 양자화 성능이 떨어진다. 따라서, 입력 사운드의 각 프레임별 신호 특성에 대응하여 최적화된 양자화기를 선택할 필요가 있다.
해결하고자 하는 기술적 과제는 낮은 복잡도로 LPC 계수를 효율적으로 양자화하는 방법 및 장치와 역양자화하는 방법 및 장치를 제공하는데 있다.
일측면에 따른 양자화장치는 N차원(여기서, N은 2 이상)의 서브벡터와 제1 예측벡터간의 제1 에러벡터를 양자화하는 트렐리스 구조 벡터양자화기; 및 양자화된 N차원 서브벡터로부터 상기 제1 예측벡터를 생성하는 프레임내 예측기를 포함하고, 상기 프레임내 예측기는 NXN 매트릭스로 이루어지는 예측계수를 사용하며, 이전 스테이지의 양자화된 N차원 서브벡터를 이용하여 프레임내 예측을 수행할 수 있다.
상기 양자화장치는 상기 N 차원의 서브벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 벡터양자화기를 더 포함할 수 있다.
상기 트렐리스 구조 벡터양자화기가 상기 N차원의 서브벡터와 현재 프레임의 예측벡터간의 예측 에러벡터와 제2 예측벡터간의 차이인 제2 에러벡터를 양자화하는 경우, 이전 프레임의 양자화된 N차원의 서브벡터로부터 상기 현재 프레임의 예측벡터를 생성하는 프레임간 예측기를 더 포함할 수 있다.
상기 트렐리스 구조 벡터양자화기가 상기 N차원의 서브벡터와 현재 프레임의 예측벡터간의 예측 에러벡터와 제2 예측벡터간의 차이인 제2 에러벡터를 양자화하는 경우, 이전 프레임의 양자화된 N차원의 서브벡터로부터 상기 현재 프레임의 예측벡터를 생성하는 프레임간 예측기 및 상기 예측에러 벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 벡터양자화기를 더 포함할 수 있다.
다른 측면에 따른 양자화장치는 이전 스테이지의 양자화된 N차원 선형벡터 및 현재 스테이지의 예측 매트릭스로부터 현재 스테이지의 예측 벡터를 생성하는 인트라 프레임 예측기; 및, 상기 현재 스테이지의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 에러벡터를 양자화하여 양자화된 에러벡터를 생성하는 벡터 양자화기를 포함하고, 상기 이전 스테이지의 선형벡터는 이전 스테이지의 에러 벡터 및 이전 스테이지의 예측 벡터를 근거로 생성될 수 있다.
상기 양자화장치는 현재 스테이지의 양자화된 N차원 선형 벡터 및 입력 N차원 선형 벡터간의 차이인 양자화 에러 벡터에 대해 양자화를 수행함으로써, 양자화된 양자화 에러 벡터를 생성하는 에러 벡터 양자화기를 더 포함할 수 있다.
상기 벡터 양자화기가 현재 스테이지의 N차원의 선형벡터와 현재 프레임의 예측벡터간의 예측 에러벡터를 양자화하는 경우, 상기 인트라 프레임 예측기는 양자화된 예측 에러벡터로부터 예측벡터를 생성할 수 있다.
상기 벡터 양자화기가 현재 스테이지의 N차원의 선형벡터와 현재 프레임의 예측벡터간의 예측 에러벡터를 양자화하는 경우, 상기 예측에러 벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 에러 벡터 양자화기를 더 포함할 수 있다.
일측면에 따른 역양자화장치는 N 차원(여기서, N은 2 이상) 서브벡터에 대한 제1 양자화 인덱스를 역양자화하는 트렐리스 구조 벡터 역양자화기; 및 양자화된 N차원 서브벡터로부터 예측벡터를 생성하는 프레임내 예측기를 포함하고, 상기 양자화된 N 차원 서브벡터는 상기 트렐리스 구조 벡터 역양자화기로부터 얻어지는 양자화된 에러벡터와 상기 예측벡터를 가산한 결과이고, 상기 프레임내 예측기는 NXN 매트릭스로 이루어지는 예측계수를 사용하며, 이전 스테이지의 양자화된 N차원 서브벡터를 이용하여 프레임내 예측을 수행할 수 있다.
상기 역양자화장치는 상기 N 차원의 서브벡터에 대한 양자화 에러에 대한 제2 양자화 인덱스를 역양자화하는 벡터역양자화기를 더 포함할 수 있다.
상기 트렐리스 구조 벡터역양자화기가 상기 N차원의 서브벡터와 현재 프레임의 예측벡터간의 예측 에러벡터에 대한 제3 양자화 인덱스를 역양자화하는 경우, 이전 프레임의 양자화된 N차원의 서브벡터로부터 상기 현재 프레임의 예측벡터를 생성하는 프레임간 예측기를 더 포함할 수 있다.
상기 트렐리스 구조 벡터역양자화기가 상기 N차원의 서브벡터와 현재 프레임의 예측벡터간의 예측 에러벡터에 대한 제3 양자화 인덱스를 역양자화하는 경우, 이전 프레임의 양자화된 N차원의 서브벡터로부터 상기 현재 프레임의 예측벡터를 생성하는 프레임간 예측기 및 상기 예측에러 벡터에 대한 양자화 에러에 대한 제4 양자화 인덱스를 역양자화하는 벡터역양자화기를 더 포함할 수 있다.
음성 혹은 오디오 신호의 특성에 따라서 복수의 부호화 모드로 나누고, 각 부호화 모드에 적용되는 압축율에 따라서 다양한 비트수를 할당하여 양자화함에 있어서, 저비트율에서 우수한 성능을 갖는 양자화기를 설계함으로써 음성 혹은 오디오 신호를 보다 효율적으로 양자화할 수 있다.
또한, 다양한 비트레이트를 제공하는 양자화장치를 설계할 때 일부 양자화기의 코드북을 공유함으로써 메모리 사용량을 최소화할 수 있다.
도 1은 일실시예에 따른 사운드 부호화장치의 구성을 나타낸 블록도이다.
도 2는 다른 실시예에 따른 사운드 부호화장치의 구성을 나타낸 블록도이다.
도 3은 일실시예에 따른 LPC 양자화부의 구성을 나타낸 블록도이다.
도 4는 일실시예에 따라 도 3의 가중함수 결정부의 세부 구성을 나타낸 블럭도이다
도 5는 일실시예에 따라 도 4의 제1 가중함수 생성부의 세부 구성을 나타낸 블럭도이다.
도 6은 일실시예에 따른 LPC 계수 양자화부의 구성을 나타낸 블록도이다.
도 7은 일실시예에 따른 도 6의 선택부의 구성을 나타낸 블록도이다.
도 8은 일실시예에 따른 도 6의 선택부의 동작을 설명하는 플로우챠트이다.
도 9A 내지 도 9E는 도 6에 도시된 제1 양자화모듈의 다양한 구현예를 나타낸 블록도이다.
도 10A 내지 도 10D는 도 6에 도시된 제2 양자화모듈의 다양한 구현예를 나타낸 블록도이다.
도 11A 내지 도 11F는 BC-TCVQ에 가중치를 적용하는 양자화기의 다양한 구현예를 나타낸 블록도이다.
도 12는 일실시예에 따라 로우 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다.
도 13은 일실시예에 따라 하이 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다.
도 14는 다른 실시예에 따라 로우 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다.
도 15는 다른 실시예에 따라 하이 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다.
도 16은 일실시예에 따른 LPC 계수 양자화부의 구성을 나타낸 블록도이다.
도 17은 일실시예에 따라 폐루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다.
도 18은 다른 실시예에 따라 폐루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다.
도 19는 일실시예에 따른 역양자화장치의 구성을 나타낸 블록도이다.
도 20은 일실시예에 따른 역양자화장치의 세부적인 구성을 나타낸 블록도이다.
도 21은 다른 실시예에 따른 역양자화장치의 세부적인 구성을 나타낸 블록도이다.
본 발명은 다양한 변환을 가할 수 있고 여러가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해될 수 있다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들이 용어들에 의해 한정되는 것은 아니다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 본 발명에서 사용한 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나 이는 당 분야에 종사하는 기술자의 의도, 판례, 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명의 실시예들을 첨부 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
일반적으로, TCQ는 입력 벡터를 각 TCQ 스테이지에 하나의 엘리먼트를 할당하여 양자화를 하는데 반해, TCVQ는 전체 입력벡터를 분할하여 서브벡터를 만든 후, 각 서브벡터를 TCQ 스테이지를 할당하는 구조를 사용한다. 하나의 엘리먼트를 사용하여 양자화기를 구성하면 TCQ가 되며, 복수개의 엘리먼트를 조합하여 서브벡터를 만들어 양자화기를 구성하면 TCVQ가 된다. 따라서, 2차원의 서브벡터를 사용하게 되면 전체 TCQ 스테이지의 개수는 입력벡터 크기를 2로 나눈 것과 동일한 크기가 된다. 통상 음성/오디오 코덱에서는 입력신호를 프레임 단위로 부호화를 하게 되며 매 프레임마다 LSF 계수를 추출한다. LSF 계수는 벡터 형태로서, 통상 10 또는 16 차수를 사용하게 되고, 그 경우 2차원의 TCVQ를 고려하게 되면 서브벡터의 개수는 5 또는 8이 된다.
도 1은 일실시예에 따른 사운드 부호화 장치의 구성을 나타낸 블록도이다.
도 1에 도시된 사운드 부호화 장치(100)는 부호화 모드 선택부(110), LPC 계수 양자화부(130), CELP 부호화부(150)을 포함할 수 있다. 각 구성요소는 적어도 하나 이상의 모듈로 일체화되어 적어도 하나 이상의 프로세서(미도시)로 구현될 수 있다. 여기서, 사운드는 오디오 혹은 음성, 혹은 오디오와 음성의 혼합신호를 의미할 수 있으므로, 이하에서는 설명의 편의를 위하여 사운드를 음성으로 지칭하기로 한다.
도 1을 참조하면, 부호화 모드 선택부(110)는 멀티-레이트(Multi-rate)에 대응하여 복수개의 부호화 모드 중 하나를 선택할 수 있다. 부호화 모드 선택부(110)는 신호특성, VAD(Voice Activity Detection) 정보 또는 이전 프레임의 부호화모드를 이용하여 현재 프레임의 부호화 모드를 결정할 수 있다.
LPC 계수 양자화부(130)는 LPC 계수를 선택된 부호화 모드에 해당하는 양자화기를 이용하여 양자화하고, 양자화된 LPC 계수를 표현하는 양자화 인덱스를 결정할 수 있다. LPC 계수 양자화부(130)는 LPC 계수를 양자화에 적합한 다른 계수로 변환하여 양자화를 수행할 수 있다.
여기신호 부호화부(150)는 선택된 부호화 모드에 따라서 여기신호 부호화를 수행할 수 있다. 여기신호 부호화를 위하여 CELP(Code-Excited Linear Prediction) 혹은 ACELP(Algebraic CELP) 알고리즘을 사용할 수 있다. CELP 기법에 의하여 LPC 계수를 부호화하기 위한 대표적인 파라미터는 적응 코드북 인덱스, 적응 코드북 이득, 고정 코드북 인덱스, 고정 코드북 이득 등이 있다. 여기신호 부호화는 입력신호의 특성에 대응하는 부호화 모드에 근거하여 수행될 수 있다. 일예를 들면, 4개의 부호화 모드, UC(unvoiced coding) 모드, VC(voiced coding) 모드, GC(generic coding) 모드, TC(transision coding) 모드가 사용될 수 있다. UC 모드는 음성신호가 무성음이거나 무성음과 비슷한 특성을 갖는 노이즈인 경우 선택될 수 있다. VC 모드는 음성신호가 유성음일 때 선택될 수 있다. TC 모드는 음성신호의 특성이 급변하는 트랜지션 구간의 신호를 부호화할 때 사용될 수 있다. GC 모드는 그외의 신호에 대하여 부호화활 수 있다. UC 모드, VC 모드, TC 모드, 및 GC 모드는 ITU-T G.718 에 기재된 정의 및 분류기준에 따른 것이나, 이에 한정되는 것은 아니다. 여기신호 부호화부(150)는 오픈루프 피치탐색부(미도시), 고정코드북 탐색부(미도시) 또는 이득 양자화부(미도시)를 포함할 수 있는데, 부호화 모드에 따라서 여기신호 부호화부(150)에 구성요소가 추가되거나 제거될 수 있다. 예를 들면, VC 모드의 경우 언급한 구성요소가 모두 포함되며, UC 모드의 경우 오픈루프 피치탐색부를 사용하지 않는다. 여기신호 부호화부(150)는 양자화에 할당되는 비트수가 많은 경우, 즉 고비트율인 경우 GC 모드와 VC 모드로 단순화시킬 수 있다. 즉, GC 모드에 UC 모드와 TC 모드를 포함시킴으로써 GC 모드를 UC 모드와 TC 모드까지 사용할 수 있다. 한편, 고비트율인 경우 IC(inactive coding) 모드와 AC(audio coding) 모드를 더 포함할 수 있다. 여기신호 부호화부(150)는 양자화에 할당되는 비트수가 적은 경우, 즉 저비트율인 경우 GC 모드, UC 모드, VC 모드와 TC 모드로 분류할 수 있다. 한편, 저비트율인 경우 IC 모드와 AC 모드를 더 포함할 수 있다. IC 모드는 묵음인 경우에 선택될 수 있고, AC 모드인 경우 음성신호의 특성이 오디오에 가까운 경우 선택될 수 있다.
한편, 부호화 모드는 음성신호의 대역에 따라서 좀 더 세분화될 수 있다. 음성신호의 대역은 예를 들면 협대역(이하 NB라 약함), 광대역(이하 WB라 약함), 초광대역(이하 SWB라 약함), 전대역(FB라 약함)으로 분류할 수 있다. NB는 300-3400 Hz 또는 50-4000 Hz 의 대역폭을 가지며, WB는 50-7000 Hz 또는 50-8000 Hz의 대역폭을 가지며, SWB는 50-14000 Hz 또는 50-16000 Hz 의 대역폭을 가지며, FB는 20000 Hz까지의 대역폭을 가질 수 있다. 여기서, 대역폭과 관련된 수치는 편의상 설정된 것으로서, 이에 한정되는 것은 아니다. 또한, 대역의 구분도 좀 더 간단하거나 복잡하게 설정할 수 있다.
한편, 부호화 모드의 종류 및 개수가 결정되면, 결정된 부호화 모드에 해당하는 음성신호를 이용하여 코드북을 다시 훈련시킬 필요가 있다.
여기신호 부호화부(150)는 부호화 모드에 따라서 변환 부호화 알고리즘이 추가적으로 사용할 수 있다. 여기신호는 프레임 혹은 서브 프레임의 단위로 부호화할 수 있다.
도 2은 다른 실시예에 따른 사운드 부호화 장치의 구성을 나타낸 블록도이다.
도 2에 도시된 사운드 부호화 장치(200)는 전처리부(210), LP 분석부(220), 가중신호 산출부(230), 오픈루프 피치탐색부(240), 신호분석 및 VAD부(250), 부호화부(260), 메모리 갱신부(270)와 파라미터 부호화부(280)를 포함할 수 있다. 각 구성요소는 적어도 하나 이상의 모듈로 일체화되어 적어도 하나 이상의 프로세서(미도시)로 구현될 수 있다. 여기서, 사운드는 오디오 혹은 음성, 혹은 오디오와 음성의 혼합신호를 의미할 수 있으므로, 이하에서는 설명의 편의를 위하여 사운드를 음성으로 지칭하기로 한다.
도 2를 참조하면, 전처리부(210)는 입력되는 음성신호를 전처리할 수 있다. 전처리 과정을 통하여, 음성신호로부터 원하지 않는 주파수성분이 제거되거나, 부호화에 유리하도록 음성신호의 주파수 특성이 조정될 수 있다. 구체적으로, 전처리부(210)는 하이패스 필터링(high pass filtering), 프리-엠퍼시스(pre-amphasis) 또는 샘플링(sampling) 변환 등을 수행할 수 있다.
LP 분석부(220)는 전처리된 음성신호에 대하여 LP 분석을 수행하여 LPC 계수를 추출할 수 있다. 일반적으로 프레임당 1회의 LP 분석이 수행되나, 추가적인 음질 향상을 위해 프레임당 2회 이상의 LP 분석이 수행될 수 있다. 이 경우, 한번은 기존의 LP 분석인 프레임 엔드(frame-end)를 위한 LP이며, 나머지는 음질 향상을 위한 중간 서브 프레임(mid-subframe)을 위한 LP일 수 있다. 이때, 현재 프레임의 프레임 엔드는 현재 프레임을 구성하는 서브 프레임 중 마지막 서브 프레임을 의미하고, 이전 프레임의 프레임 엔드는 이전 프레임을 구성하는 서브 프레임 중 마지막 서브 프레임을 의미한다. 중간 서브 프레임은 이전 프레임의 프레임 엔드인 마지막 서브 프레임과 현재 프레임의 프레임 엔드인 마지막 서브 프레임 사이에 존재하는 서브 프레임 중 하나 이상의 서브 프레임을 의미한다. 일례로, 하나의 프레임은 4개의 서브프레임으로 구성될 수 있다. LPC 계수는 입력 신호가 협대역(narrowband)인 경우 차수 10을 사용하며, 광대역(wideband)의 경우 차수 16-20을 사용하나, 이에 한정되지는 않는다.
가중신호 계산부(230)는 전처리된 음성신호와 추출된 LPC 계수를 입력으로 하고, 인지 가중 필터에 근거하여 인지 가중 필터링된 신호를 계산할 수 있다. 인지 가중 필터는 인체 청각 구조의 마스킹 효과를 이용하기 위하여 전처리한 음성신호의 양자화 잡음을 마스킹 범위내로 줄일 수 있다.
오픈루프 피치탐색부(240)는 인지 가중 필터링된 신호를 이용하여 오픈루프 피치를 탐색할 수 있다.
신호분석 및 VAD부(250)는 입력신호의 주파수 특성을 포함하는 다양한 특성을 분석하여 입력신호가 액티브 음성신호인지를 결정할 수 있다.
부호화부(260)는 신호특성, VAD 정보 또는 이전 프레임의 부호화모드를 이용하여 현재 프레임의 부호화 모드를 결정하고, 선택된 부호화 모드에 해당하는 양자화기를 이용하여 LPC 계수를 양자화하고, 선택된 부호화 모드에 따라서 여기신호를 부호화할 수 있다. 부호화부(260)는 도 1에 도시된 구성요소를 포함할 수 있다.
메모리 갱신부(270)는 부호화된 현재 프레임 및 부호화에 사용된 파라미터를 다음 프레임의 부호화를 위하여 저장할 수 있다.
파라미터 부호화부(280)는 복호화단에서 복호화에 사용될 파라미터를 부호화하여 비트스트림에 포함시킬 수 있다. 바람직하게는, 부호화 모드에 대응하는 파라미터를 부호화할 수 있다. 파라미터 부호화부(280)에서 생성된 비트스트림은 저장이나 전송의 목적으로 사용될 수 있다.
다음 표 1은 4 가지 부호화 모드인 경우, 양자화 스킴과 구조의 일예를 나타낸 것이다. 여기서, 프레임간 예측을 사용하지 않고 양자화하는 방식을 세이프티-넷(safety-net) 스킴으로 명명할 수 있으며, 프레임간 예측을 사용하여 양자화하는 방식을 예측(predictive) 스킴으로 명명할 수 있다. 그리고, VQ는 벡터 양자화기, BC-TCQ는 블록제한된 트렐리스 부호화 양자화기를 나타낸 것이다.
Coding Mode Quantization Scheme Structure
UC, NB/WB Satety-net VQ + BC-TCQ
VC, NB/WB Satety-net Predictive VQ + BC-TCQInter-frame prediction + BC-TCQ with intra-frame prediction
GC, NB/WB Satety-net Predictive VQ + BC-TCQInter-frame prediction + BC-TCQ with intra-frame prediction
TC, NB/WB Satety-net VQ + BC-TCQ
한편, BC-TCVQ는 블록제한된 트렐리스 부호화 벡터 양자화기를 나타낸 것이다. TCVQ는 TCQ를 일반화하여 벡터 코드북과 브랜치 레이블을 가능케 한 것이다. TCVQ의 주요 특징은 확장된 세트의 VQ 심볼들을 서브셋으로 파티셔닝하고, 트렐리스 브랜치를 이들 서브셋으로 레이블링하는 것이다. TCVQ는 레이트 1/2 컨볼루션 코드에 기반하며, N=2ν의 트렐리스 스테이트를 가지며, 각 트렐리스 스테이트에 들어가고 나오는 두개의 브랜치를 가진다. M개의 소스 벡터가 주어진 경우, 비터비 알고리즘을 사용하여 최소 왜곡 경로를 탐색한다. 그 결과 최적의 트렐리스 경로가 임의의 N개의 초기 스테이트에서 시작하고, 임의 N 개의 마지막 스테이트에서 종료할 수 있다. TCVQ에서 코드북은 2(R+R')L 벡터 코드워드를 가진다. 여기서, 코드북은 노미널 레이트 R VQ의 2R'L 배만큼 많은 코드워드를 가지기 때문에 R'은 코드북 확장 요소(codebook expansion factor)라 할 수 있다. 엔코딩 과정을 간단히 살펴보면 다음과 같다. 먼저 각 입력벡터에 대하여 각 서브셋에서 가장 근접한 코드워드와 대응하는 왜곡을 탐색하고, 서브셋 S로 레이블된 브랜치에 대한 브랜치 메트릭을 탐색된 왜곡으로 두고, 비터비 알고리즘을 사용하여 트렐리스를 통한 최소 왜곡 경로를 탐색한다. BC-TCVQ는 트렐리스 경로를 지정하기 위하여 소스 샘플당 1 비트를 필요로 하므로 낮은 복잡도를 가진다. BC-TCVQ 구조는 0≤k≤ν인 경우 2k개의 초기 트렐리스 스테이트와 각 허용된 초기 트렐리스 스테이트에 대하여 2ν-k개의 마지막 스테이트를 가질 수 있다. 싱글 비터비 엔코딩은 허용된 초기 트렐리스 스테이트에서 시작하여 벡터 스테이지 m-k까지 진행한다. 초기 스테이트를 지정하는데 k 비트 소요되고, 벡터 스테이지 m-k까지 경로를 지정하는 m-k 비트 소요된다. 초기 트렐리스 스테이트에 종속적인 유일한 종료 경로(terminating path)는 벡터 스테이지 m을 통하여 벡터 스테이지 m-k에서 각 트렐리스 스테이트에 대하여 미리 지정된다. k 값과는 무관하게, 초기 트렐리스 스테이트와 트렐리스를 통한 경로를 지정하기 위하여 m 비트를 필요로 한다.
16 kHz 내부 샘플링 주파수에서 VC 모드를 위한 BC-TCVQ는 N차원, 예를 들면 2차원 벡터를 갖는 16 스테이트 8 스테이지 TCVQ를 사용할 수 있다. 두개의 엘리먼트를 갖는 LSF 서브벡터들은 각 스테이지에 할당될 수 있다. 다음 표 2는 16 스테이트 BC-TCVQ를 위한 초기 스테이트와 마지막 스테이트를 나타낸다. 여기서, k와 ν는 각각 2와 4이고, 초기 스테이트와 마지막 스테이를 위한 4 비트가 사용된다.
Initial state Terminal state
0 0,1,2,3
4 4,5,6,7
8 8,9,10,11
12 12,13,14,15
한편, 부호화 모드는 적용되는 비트율에 따라서 변할 수 있다. 상기한 바와 같이 두개의 모드를 사용하는 높은 비트율에서 LPC 계수를 양자화하기 위하여 GC 모드에서 프레임당 40 혹은 41 비트를 사용하고, TC 모드에서 프레임당 46 비트를 사용할 수 있다.
도 3은 일실시예에 따른 LPC 계수 양자화부의 구성을 나타낸 블록도이다.
도 3에 도시된 LPC 계수 양자화부(300)는 제1 계수 변환부(310), 가중함수 결정부(330), ISF/LSF 양자화부(350) 및 제2 계수 변환부(379)를 포함할 수 있다. 각 구성요소는 적어도 하나 이상의 모듈로 일체화되어 적어도 하나 이상의 프로세서(미도시)로 구현될 수 있다. LPC 계수 양자화부(300)에는 양자화되지 않은 LPC 계수와 부호화 모드 정보가 입력으로 제공될 수 있다.
도 3을 참조하면, 제1 계수 변환부(310)는 음성신호의 현재 프레임 또는 이전 프레임의 프레임 엔드를 LP 분석하여 추출된 LPC 계수를 다른 형태의 계수로 변환할 수 있다. 일례로, 제1 계수 변환부(310)는 현재 프레임 또는 이전 프레임의 프레임 엔드에 대한 LPC 계수를 선 스펙트럼 주파수(LSF) 계수와 이미턴스 스펙트럼 주파수(ISF) 계수 중 어느 하나의 형태로 변환할 수 있다. 이 때, ISF 계수나 LSF 계수는 LPC 계수를 보다 용이하게 양자화할 수 있는 형태의 예를 나타낸다.
가중함수 결정부(330)는 LPC 계수로부터 변환된 ISF 계수 혹은 LSF 계수를 이용하여, ISF/LSF 양자화부(350)를 위한 가중함수를 결정할 수 있다. 결정된 가중함수는 양자화 경로 혹은 양자화 스킴을 선택하거나, 양자화시 가중에러를 최소화하는 코드북 인덱스를 탐색하는 과정에서 사용될 수 있다. 일례로, 가중함수 결정부(330)는 크기 가중함수, 주파수 가중함수, ISF/LSF 계수의 위치에 근거한 가중함수를 조합하여 최종 가중함수를 결정할 수 있다.
그리고, 가중함수 결정부(330)는 주파수 대역, 부호화 모드 및 스펙트럼 분석 정보 중 적어도 하나를 고려하여 가중함수를 결정할 수 있다. 일례로, 가중함수 결정부(330)는 부호화 모드별로 최적의 가중함수를 도출할 수 있다. 그리고, 가중함수 결정부(330)는 음성신호의 주파수 대역에 따라 최적의 가중함수를 도출할 수 있다. 또한, 가중함수 결정부(330)는 음성신호의 주파수 분석 정보에 따라 최적의 가중함수를 도출할 수 있다. 이때, 주파수 분석 정보는 스펙트럼 틸트 정보를 포함할 수 있다. 가중함수 결정부(330)는 추후 구체적으로 설명하기로 한다.
ISF/LSF 양자화부(350)는 입력된 부호화 모드에 따라서 최적 양자화 인덱스를 구할 수 있다. 구체적으로 ISF/LSF 양자화부(350)는 현재 프레임의 프레임 엔드의 LPC 계수가 변환된 ISF 계수 혹은 LSF 계수를 양자화할 수 있다. ISF/LSF 양자화부(350)는 입력신호가 비정적(non-stationary)인 신호인 경우 해당하는 UC 모드 혹은 TC 모드인 경우에는 프레임간 예측을 사용하지 않고 세이프티-넷 스킴만을 이용하여 양자화를 하며, 정적(stationary)인 신호에 해당하는 VC 모드 혹은 GC 모드인 경우에는 예측 스킴과 세이프티-넷 스킴을 스위칭하여 프레임 에러를 고려하여 최적 양자화 스킴을 결정할 수 있다.
ISF/LSF 양자화부(350)는 가중함수 결정부(330)에서 결정된 가중함수를 이용하여 ISF 계수 혹은 LSF 계수를 양자화할 수 있다. ISF/LSF 양자화부(350)는 가중함수 결정부(330)에서 결정된 가중함수를 이용하여 복수의 양자화 경로 중 하나를 선택하여 ISF 계수 혹은 LSF 계수를 양자화할 수 있다. 양자화 결과 얻어진 인덱스는 역양자화 과정을 통하여 양자화된 ISF 계수(QISF) 혹은 양자화된 LSF 계수(QLSF)가 구해질 수 있다.
제2 계수 변환부(370)는 양자화된 ISF 계수(QISF) 혹은 양자화된 LSF 계수(QLSF)를 양자화된 LPC 계수(QLPC)로 변환할 수 있다.
이하, LPC 계수의 벡터 양자화와 가중함수간의 관계를 설명하기로 한다.
벡터 양자화는 벡터 내의 엔트리(entry)들 모두를 동일한 중요도라고 간주하여 제곱오차거리 척도(squared error distance measure)를 이용하여 가장 적은 에러를 갖는 코드북 인덱스를 선택하는 과정을 의미한다. 그러나, LPC 계수에 있어, 모든 계수의 중요도가 다르므로 중요한 계수의 에러를 감소시키게 되면 최종 합성신호의 지각적인 품질(perceptual quality)이 향상될 수 있다. 따라서, LSF 계수를 양자화할 때 복호화 장치는 각 LPC 계수의 중요도를 표현하는 가중함수(weighting function)를 제곱오차거리 척도에 적용하여 최적의 코드북 인덱스를 선택함으로써, 합성신호의 성능을 향상시킬 수 있다.
일실시예에 따르면, ISF나 LSF의 주파수 정보와 실제 스펙트럼 크기를 이용하여 각 ISF 또는 LSF가 실제로 스펙트럼 포락선에 어떠한 영향을 주는지에 대한 크기 가중함수를 결정할 수 있다. 일실시예에 따르면, 주파수 도메인의 지각적인 특성 및 포만트의 분포를 고려한 주파수 가중함수를 크기 가중함수와 조합하여 추가적인 양자화 효율을 얻을 수 있다. 이에 따르면, 실제 주파수 도메인의 크기를 사용하므로, 전체 주파수의 포락선 정보가 잘 반영되고, 각 ISF 또는 LSF 계수의 가중치를 정확하게 도출할 수 있다. 일실시예에 따르면, 크기 가중함수와 주파수 가중 함수에 LSF 계수들 혹은 ISF 계수들의 위치정보에 근거한 가중함수를 조합하여 추가적인 양자화 효율을 얻을 수 있다.
일실시예에 따르면, LPC 계수를 변환한 ISF 또는 LSF를 벡터 양자화할 때 각 계수의 중요도가 다른 경우 벡터 내에서 어떠한 엔트리가 상대적으로 더 중요한지 여부를 나타내는 가중함수를 결정할 수 있다. 그리고, 부호화하려는 프레임의 스펙트럼을 분석하여 에너지가 큰 부분에 더 많은 가중치를 줄 수 있는 가중함수를 결정함으로써 부호화의 정확도를 향상시킬 수있다. 스펙트럼의 에너지가 크다는 것은 시간 도메인에서 상관도가 높다는 것을 의미한다.
표 1에 있어서 모든 모드에 적용되는 VQ에 있어서 최적 양자화 인덱스는 하기 수학식 1의 Ewerr(p)를 최소화하는 인덱스로 결정할 수 있다.
Figure pct00001
여기서, w(i) 는 가중함수를 의미한다. r(i)는 양자화기의 입력, c(i)는 양자화기의 출력을 나타내며, 두 값간의 가중된 왜곡을 최소화하는 인덱스를 구하기 위한 것이다.
다음, BC-TCQ에서 사용되는 왜곡 척도는 기본적으로 US 7,630,890에 개시된 방식을 따른다. 이때 왜곡 척도 d(x,y)는 하기 수학식 2와 같이 나타낼 수 있다.
Figure pct00002
실시예에 따르면, 왜곡 척도 d(x,y)에 가중함수를 적용할 수 있다. US 7,630,890에서 BC-TCQ를 위해 사용된 왜곡 척도를 벡터에 대한 척도로 확장한 다음 가중함수를 적용하여 가중된 왜곡을 구할 수 있다. 즉, BC-TCVQ의 모든 스테이지에서 하기 수학식 3에서와 같이 가중된 왜곡을 구하여 최적의 인덱스를 결정할 수 있다.
Figure pct00003
한편, ISF/LSF 양자화부(350)는 입력된 부호화 모드에 따라서 예를 들면, LVQ(lattice vector quantizer)와 BC-TCVQ 를 스위칭하여 양자화를 수행할 수 있다. 만약, 부호화모드가 GC 모드이면 LVQ를 이용하고, VC 모드이면 BC-TCVQ를 이용할 수 있다. LVQ와 BC-TCVQ가 혼합되어 있을 때 양자화기 선택 과정을 구체적으로 설명하면 다음과 같다. 먼저 부호화할 비트레이트를 선택할 수 있다. 부호화할 비트레이트가 선택되면 각 비트레이트에 해당하는 LPC 양자화기를 위한 비트를 결정할 수 있다. 이후, 입력신호의 대역을 결정할 수 있다. 입력신호가 협대역인지 광대역인지에 따라서 양자화 방식이 변경될 수 있다. 또한, 입력신호가 광대역인 경우, 추가적으로 실제로 부호화하는 대역의 상한(upper limit)이 6.4KHz인지 8kHz인지를 판단할 필요가 있다. 즉, 내부 샘플링 주파수가 12.8kHz인지 16kHz인지에 따라서 양자화 방식이 변경될 수 있으므로 대역을 확인할 필요가 있다. 다음, 결정된 대역에 따라 사용가능한 부호화 모드의 한도 내에서 최적인 부호화 모드를 결정할 수 있다. 예를 들어 4가지 부호화 모드(UC,VC,GC,TC)를 사용할 수 있으나, 높은 비트레이트(예를 들어 9.6kbit/s 이상)에서는 3가지 모드만(VC,GC,TC)을 사용할 수 있다. 부호화할 비트레이트, 입력신호의 대역, 부호화 모드에 근거하여 양자화 방식 예를 들면 LVQ와 BC-TCVQ 중 하나를 선택하고, 선택된 양자화 방식에 근거하여 양자화된 인덱스를 출력한다.
일실시예에 따르면, 비트레이트가 24.4 kbps와 64 kbps 사이에 해당하는지를 판단하고, 비트레이트가 24.4 kbps와 64 kbps 사이에 해당하지 않으면 LVQ를 선택할 수 있다. 한편, 비트레이트가 24.4 kbps와 64 kbps 사이에 해당하면 입력신호의 대역이 협대역인지를 판단하고, 입력신호의 대역이 협대역이면 LVQ를 선택할 수 있다. 한편, 입력신호의 대역이 협대역이 아니면 부호화 모드가 VC 모드인지를 판단하고 부호화 모드가 VC 모드인 경우 BC-TCVQ를 사용하고, 부호화 모드가 VC 모드가 아니면 LVQ를 사용할 수 있다.
다른 실시예에 따르면, 비트레이트가 13.2 kbps와 32 kbps 사이에 해당하는지를 판단하고, 비트레이트가 13.2 kbps와 32 kbps 사이에 해당하지 않으면 LVQ를 선택할 수 있다. 한편, 비트레이트가 13.2 kbps와 32 kbps 사이에 해당하면 입력신호의 대역이 광대역인지를 판단하고, 입력신호의 대역이 광대역이 아니면 LVQ를 선택할 수 있다. 한편, 입력신호의 대역이 광대역이면 부호화 모드가 VC 모드인지를 판단하고 부호화 모드가 VC 모드인 경우 BC-TCVQ를 사용하고, 부호화 모드가 VC 모드가 아니면 LVQ를 사용할 수 있다.
일실시예에 따르면, 부호화 장치는 LPC 계수로부터 변환된 ISF 계수 또는 LSF 계수의 주파수에 해당하는 스펙트럼 크기를 이용한 크기 가중함수, 입력 신호의 지각적인 특성 및 포먼트분포를 고려한 주파수 가중함수, LSF 계수들 혹은 ISF 계수들의 위치에 근거한 가중함수를 조합하여 최적의 가중함수를 결정할 수 있다.
도 4는 일실시예에 따른 도 3의 가중함수 결정부의 구성을 나타낸 블록도이다.
도 4에 도시된 가중함수 결정부(400)는 스펙트럼 분석부(410), LP 분석부(430), 제1 가중함수 생성부(450), 제2 가중함수 생성부(470) 및 조합부(490)를 포함할 수 있다. 각 구성요소는 적어도 하나의 프로세서로 일체화되어 구현될 수 있다.
도 4를 참조하면, 스펙트럼 분석부(410)는 시간-주파수(Time-to-Frequency) 맵핑 과정을 통해 입력 신호에 대한 주파수 도메인의 특성을 분석할 수 있다. 여기서, 여기서 입력 신호는 전처리된 신호일 수 있고, 시간-주파수 맵핑 과정은 FFT를 이용하여 수행될 수 있으나 이에 한정되는 것은 아니다. 스펙트럼 분석부(410)는 스펙트럼 분석 정보, 일예로 FFT 결과 얻어지는 스펙트럼 크기를 제공할 수 있다. 여기서, 스펙트럼 크기는 선형 스케일을 가질 수 있다. 구체적으로, 스펙트럼 분석부(410)는 128-포인트 FFT를 수행하여 스펙트럼 크기를 생성할 수 있다. 이때 스펙트럼 크기의 대역폭은 0 내지 6400 HZ 의 범위에 해당할 수 있다. 이때, 내부 샘플링 주파수가 16 kHz인 경우 스펙트럼 크기의 수는 160개로 확장될 수 있다. 이 경우, 6400 내지 8000 Hz 범위에 대한 스펙트럼 크기가 누락되는데, 누락된 스펙트럼 크기는 입력 스펙트럼에 의해 생성될 수 있다. 구체적으로, 4800 내지 6400 Hz의 대역폭에 해당하는 마지막 32개의 스펙트럼 크기를 이용하여 6400 내지 8000 Hz 범위의 누락된 스펙트럼 크기를 대체할 수 있다. 일례로, 마지막 32개의 스펙트럼 크기의 평균값을 사용할 수 있다.
LP 분석부(430)는 입력 신호에 대하여 LP 분석을 수행하여 LPC 계수를 생성할 수 있다. LP 분석부(430)는 LPC 계수로부터 ISF 혹은 LSF 계수를 생성할 수 있다.
제1 가중함수 생성부(450)는 ISF 혹은 LSF 계수에 대하여 스펙트럼 분석정보에 근거하여 크기 가중함수와 주파수 가중함수를 얻고, 크기 가중함수와 주파수 가중함수를 조합하여 제1 가중함수를 생성할 수 있다. 제1 가중함수는 FFT를 기반으로 얻어질 수 있으며, 스펙트럼 크기가 클수록 큰 가중치값을 할당할 수 있다. 일례를 들면, 제1 가중함수는 스펙트럼 분석정보 즉, 스펙트럼 크기를 ISF 혹은 LSF 대역에 맞도록 정규화한 다음, 각 ISF 혹은 LSF 계수에 해당하는 주파수의 크기를 이용하여 결정될 수 있다.
제2 가중함수 생성부(470)는 인접한 ISF 혹은 LSF 계수의 간격 혹은 위치 정보에 기초하여 제2 가중함수를 결정할 수 있다. 실시예에 따르면, 각 ISF 혹은 LSF 계수과 인접한 두개의 ISF 혹은 LSF 계수로부터 스펙트럼 민감도와 관련된 제2 가중함수를 생성할 수 있다. 통상 ISF 혹은 LSF 계수는 Z-도메인의 단위 서클위에 위치하며, 인접한 ISF 혹은 LSF 계수의 간격이 주변보다 좁은 경우 스펙트럼 피크로 나타나는 특징이 있다. 결과적으로, 제2 가중함수는 인접한 LSF 계수들의 위치에 근거하여 LSF 계수들의 스펙트럼 민감도를 근사화할 수 있다. 즉, 인접한 LSF 계수들이 얼마나 가까이 위치하는지를 측정함으로써 LSF 계수들의 조밀도가 예측될 수 있고, 조밀한 LSF 계수들이 존재하는 주파수 근처에서 신호 스펙트럼이 피크값을 가질 수 있으므로 큰 값의 가중치가 할당될 수 있다. 여기서, 스펙트럼 민감도의 근사화시 정확도를 높이기 위하여 제2 가중함수 결정시 LSF 계수들에 대한 다양한 파라미터가 추가적으로 사용될 수 있다.
상기한 바에 따르면, ISF 혹은 LSF 계수들간의 간격과 가중함수는 반비례하는 관계가 성립될 수 있다. 이러한 간격과 가중함수간의 관계를 이용하여 다양한 실시예가 가능하다. 일예를 들면, 간격을 음수로 표현하거나 간격을 분모에 표시할 수 있다. 다른 예를 들면, 구해진 가중치를 더 강조하기 위해 가중함수의 각각의 엘리먼트에 상수를 곱하거나 엘리먼트의 제곱으로 나타내는 경우도 가능하다. 또 다른 예를 들면, 1차적으로 구해진 가중함수 자체에 대하여 추가적인 연산 예를 들면 거듭제곱 혹은 세제곱 등을 수행하여 2차적으로 구해진 가중함수를 더 반영할 수 있다.
ISF 혹은 LSF 계수들간의 간격을 이용하여 가중함수를 도출하는 예는 다음과 같다.
일예에 따르면, 제2 가중함수(Ws(n))는 하기 수학식 4에 의해 구해질 수 있다.
Figure pct00004
여기서, lsfi-1 및 lsfi+1은 현재 LSF 계수 lsfi에 인접한 LSF 계수를 나타낸다.
다른 예에 따르면, 제2 가중함수(Ws(n))는 하기 수학식 5에 의해 구해질 수 있다.
Figure pct00005
여기서, lsfn은 현재 LSF 계수를 나타내고, lsfn-1 및 lsfn+1은 인접한 LSF 계수를 나타내며, M은 LP 모델의 차수로서 16일 수 있다. 예를 들어, LSF 계수는 0 내지 π사이에서 스팬되므로 첫번째와 마지막 가중치는 lsf0=0, lsfM=π에 근거하여 산출될 수 있다.
조합부(490)는 제1 가중함수와 제2 가중함수를 조합하여 LSF 계수의 양자화에 사용되는 최종 가중함수를 결정할 수 있다. 이때, 결합 방식으로는 각각의 가중함수를 곱하거나, 적절한 비율을 곱한 후에 더하거나, 각각의 가중치에 대하여 룩업테이블 등을 이용하여 미리 정해진 값을 곱한 후에 이들을 더하는 방식 등 다양한 방식을 사용할 수 있다.
도 5는 일실시예에 따라 도 4의 제1 가중함수 생성부의 세부 구성을 나타낸 블럭도이다.
도 5에 도시된 제1 가중함수 생성부(500)는 정규화부(510), 크기 가중함수 생성부(530), 주파수 가중함수 생성부(550) 및 조합부(570)를 포함할 수 있다. 여기서, 설명의 편의를 위하여 제1 가중함수 생성부(500)의 입력신호로서 LSF 계수를 예로 들기로 한다.
도 5를 참조하면, 정규화부(500)는 LSF 계수를 0 내지 K-1의 범위로 정규화할 수 있다. LSF 계수는 통상 0 내지 π까지의 범위를 가질 수 있다. 12.8 kHz 내부 샘플링 주파수인 경우, K는 128이고, 16.4 kHz 내부 샘플링 주파수인 경우, K는 160일 수 있다.
크기 가중함수 생성부(530)는 정규화된 LSF 계수에 대하여 스펙트럼 분석 정보에 근거하여 크기 가중함수(W1(n))를 생성할 수 있다. 일실시예에 따르면, 크기 가중함수는 정규화된 LSF 계수의 스펙트럼 크기에 근거하여 결정될 수 있다.
구체적으로, 크기 가중함수는 정규화된 LSF 계수의 주파수에 대응하는 스펙트럼 빈의 크기와 해당 스펙트럼 빈의 좌우 예를 들면 하나 이전 혹은 이후에 위치하는 이웃하는 두개의 스펙트럼 빈의 크기를 사용하여 결정될 수 있다. 스펙트럼 엔벨로프와 관련된 각 크기의 가중함수(W1(n))는 3개의 스펙트럼 빈의 크기 중 최대값을 추출하여 하기 수학식 6에 근거하여 결정될 수 있다.
Figure pct00006
여기서, Min은 wf(n)의 최소값을 나타내고, wf(n)는 10log(Emax(n)) (여기서, n=0,...,M-1)로 정의될 수 있다. 여기서, M은 16이고, Emax(n)은 각 LSF 계수에 대한 3개의 스펙트럼 빈의 크기중 최대값을 나타낸다.
주파수 가중함수 생성부(550)는 정규화된 LSF 계수에 대하여 주파수 정보에 근거하여 주파수 가중함수(W2(n))를 생성할 수 있다. 일실시예에 따르면, 주파수 가중함수는 입력신호의 지각적인 특성 및 포먼트 분포를 이용하여 결정할 수 있다. 주파수 가중함수 생성부(550)는 바크 스케일(bark scale)에 따라 입력신호의 지각적인 특성을 추출할 수 있다. 그리고, 주파수 가중함수 생성부(550)는 포먼트의 분포 중 첫번째 포먼트에 기초하여 주파수별 가중함수를 결정할 수 있다. 주파수 가중함수의 경우, 초저주파 및 고주파에서 상대적으로 낮은 가중치를 나타내고, 저주파에서 일정 주파수 구간 내 예를 들면, 첫번째 포만트에 해당하는 구간에서 동일한 크기의 가중치를 나타낼 수 있다. 주파수 가중함수 생성부(550)는 입력 대역폭과 부호화모드를 따라서 주파수 가중함수를 결정할 수 있다.
조합부(570)는 크기 가중함수(W1(n))와 주파수 가중함수(W2(n))를 조합하여 FFT 기반 가중함수(Wf(n))를 결정할 수 있다. 조합부(570)는 크기 가중함수와 주파수 가중함수를 곱하거나 또는 더하여 최종적인 가중함수를 결정할 수 있다. 예를 들어, 프레임 엔드 LSF 양자화를 위한 FFT 기반 가중함수(Wf(n))는 하기 수학식 7에 근거하여 산출될 수 있다.
Figure pct00007
도 6은 일실시예에 따른 LPC 계수 양자화부의 구성을 나타낸 블록도이다.
도 6에 도시된 LPC 계수 양자화부(600)는 선택부(610), 제1 양자화모듈(630)과 제2 양자화모듈(650)를 포함할 수 있다.
도 6을 참조하면, 선택부(610)는 오픈 루프 방식으로, 소정 기준에 근거하여 프레임간 예측을 사용하지 않는 양자화 처리와 프레임간 예측을 사용하는 양자화 처리 중 하나를 선택할 수 있다. 여기서, 소정 기준은 양자화되지 않은 LSF의 예측 에러가 사용될 수 있다. 예측 에러는 프레임간 예측값에 근거하여 얻어질 수 있다.
제1 양자화모듈(630)은 프레임간 예측을 사용하지 않는 양자화 처리가 선택된 경우, 선택부(610)를 통하여 제공되는 입력신호를 양자화할 수 있다.
제2 양자화모듈(650)은 프레임간 예측을 사용하는 양자화 처리가 선택된 경우, 선택부(610)를 통하여 제공되는 입력신호를 양자화할 수 있다.
제1 양자화모듈(630)은 프레임간 예측을 사용하지 않고 양자화를 수행하며, 세이프티-넷(safety-net) 스킴으로 명명할 수 있다. 제2 양자화모듈(650)은 프레임간 예측을 사용하여 양자화를 수행하며, 예측(predictive) 스킴으로 명명할 수 있다.
이에 따르면, 효율성이 높은 대화형 음성서비스를 위한 저비트율에서부터 차별화된 품질의 서비스를 제공하기 위한 고비트율까지 다양한 비트율에 대응하여, 최적의 양자화기가 선택될 수 있다.
도 7은 일실시예에 따른 도 6의 선택부의 구성을 나타낸 블록도이다.
도 7에 도시된 선택부(700)는 예측에러 산출부(710)와 양자화스킴 선택부(730)을 포함할 수 있다. 여기서, 예측에러 산출부(710)는 도 6의 제2 양자화모듈(650)에 포함될 수도 있다.
도 7을 참조하면, 예측에러 산출부(710)는 프레임간 예측값 p(n), 가중함수 w(n), DC 값이 제거된 LSF 계수 z(n)을 입력으로 하여, 다양한 방법에 의거하여 예측에러를 산출할 수 있다. 먼저, 프레임간 예측기는 제2 양자화모듈(650)의 예측 스킴에서 사용되는 것과 동일한 것을 사용할 수 있다. 여기서, AR(auto-regressive) 방식과 MA(moving average) 방식 중 어느 것을 사용해도 무방하다. 프레임간 예측을 위한 이전 프레임의 신호 z(n)은 양자화된 값을 사용할 수도 있고, 양자화되지 않은 값을 사용할 수도 있다. 또한, 예측에러를 구할 때 가중함수를 적용할 수도 있고, 적용하지 않을 수도 있다. 이에 따르면, 전체 8가지의 조합이 가능하며, 그 중 4가지는 다음과 같다.
첫째, 이전 프레임의 양자화된 z(n) 신호를 이용한 가중 AR 예측에러는 다음 수학식 8과 같이 나타낼 수 있다.
Figure pct00008
둘째, 이전 프레임의 양자화된 z(n) 신호를 이용한 AR 예측에러는 다음 수학식 9와 같이 나타낼 수 있다.
Figure pct00009
셋째, 이전 프레임의 z(n) 신호를 이용한 가중 AR 예측에러는 다음 수학식 10과 같이 나타낼 수 있다.
Figure pct00010
넷째, 이전 프레임의 z(n) 신호를 이용한 AR 예측에러는 다음 수학식 11과 같이 나타낼 수 있다.
Figure pct00011
여기서, M은 LSF의 차수를 의미하며, 입력 음성신호의 대역폭이 WB 인 경우,통상 16을 사용한다. ρ(i)는 AR 방식의 예측계수를 의미한다. 이와 같이 바로 이전 프레임의 정보를 이용하는 경우가 일반적이며, 여기서 구해진 예측에러를 이용하여 양자화 스킴을 결정할 수 있다.
한편, 예측에러가 소정 임계치보다 크다면 이는 현재 프레임이 비정적(non-stationary)이 될 경향이 있음을 암시할 수 있다. 이 경우 세이프티-넷 스킴을 사용할 수 있다. 그외에는 예측 스킴을 사용하는데, 이때 예측 스킴이 연속적으로 선택되지 않도록 제한을 가할 수 있다.
일실시예에 따르면, 이전 프레임에 대하여 프레임에러가 발생하여 이전 프레임의 정보가 없는 경우를 대비하여 이전 프레임의 이전 프레임을 이용하여 제2 예측에러를 구하고, 제2 예측에러를 이용하여 양자화 스킴을 결정할 수 있다. 이 경우, 제2 예측에러는 상기한 첫째 경우와 비교하여 다음 수학식 12와 같이 나타낼 수 있다.
Figure pct00012
양자화스킴 선택부(730)는 예측에러 산출부(710)에서 구해진 예측에러를 이용하여 현재 프레임의 양자화 스킴을 결정할 수 있다. 이때, 부호화 모드 결정부(도 1의 110)에서 구해진 부호화 모드를 더 고려할 수 있다. 실시예에 따르면, VC 모드 혹은 GC 모드의 경우 양자화스킴 선택부(730)가 동작할 수 있다.
도 8은 도 6의 선택부의 동작을 설명하는 플로우챠트이다. 예측모드가 0의값을 갖는 경우는 항상 세이프티-넷 스킴을 사용하는 것을 의미하며, 예측모드가 0이 아닌 값을 갖는 경우는 세이프티-넷 스킴과 예측 스킴을 스위칭해서 양자화 스킴을 결정하는 것을 의미한다. 항상 세이프티-넷 스킴을 사용하는 부호화 모드의 예로는 UC 모드 혹은 TC 모드를 들 수 있다. 한편, 세이프티-넷 스킴과 예측 스킴을 스위칭하여 사용하는 부호화 모드의 예로는 VC 모드 혹은 GC 모드를 들 수 있다.
도 8을 참조하면, 810 단계에서는 현재 프레임의 예측 모드(prediction mode)가 0인지를 판단한다. 810 단계에서의 판단결과, 예측 모드가 0인 경우, 예를 들면 UC 모드 혹은 TC 모드와 같이 현재 프레임이 변동성이 큰 경우에는 프레임간 예측이 어렵기 때문에, 항상 세이프티-넷 스킴 즉, 제1 양자화모듈(630)을 선택할 수 있다(850 단계).
한편, 810 단계에서의 판단결과, 예측 모드가 0이 아닌 경우 예측에러를 고려하여 세이프티 넷 스킴과 예측 스킴 중 하나를 양자화 스킴으로 결정할 수 있다. 이를 위하여, 830 단계에서는 예측에러가 소정의 임계치보다 큰지를 판단한다. 여기서, 임계치는 사전에 실험적으로 혹은 시뮬레이션을 통해 최적의 값으로 정해질 수 있다. 일례를 들면, 차수가 16인 WB의 경우 임계치의 예로 3,784,536.3을 설정할 수 있다. 한편, 예측 스킴을 연속하여 선택하지 않도록 제한을 가할 수 있다.
830 단계에서의 판단결과, 예측에러가 임계치보다 크거나 같은 경우 세이프티 넷 스킴을 선택할 수 있다(850 단계). 한편, 830 단계에서의 판단결과, 예측에러가 임계치보다 작은 경우 예측 스킴을 선택할 수 있다(870 단계).
도 9A 내지 도 9E는 도 6에 도시된 제1 양자화모듈의 다양한 구현예를 나타낸 블록도이다. 실시예에 따르면, 제1 양자화모듈의 입력으로 16 차수의 LSF 벡터가 사용되는 것으로 한다. 따라서, 2차원을 이용하는
도 9A에 도시된 제1 양자화모듈(900)은 전체 입력 벡터의 개략을 TCQ(trellis coded quantizer)를 이용하여 양자화하는 제1 양자화부(911)와 양자화 에러신호를 추가적으로 양자화하는 제2 양자화부(913)을 포함할 수 있다. 제1 양자화부(911)는 TCQ, TCVQ(trellis coded vector quantizer), BC-TCQ(block-constrained trellis coded quantizer), 또는 BC-TCVQ 등과 같이 트렐리스 구조를 사용하는 양자화기로 구현될 수 있다. 제2 양자화부(913)는 벡터 양자화기 혹은 스칼라 양자화기로 구현될 수 있으나, 이에 한정되는 것은 아니다. 메모리 크기를 최소화하면서 성능향상을 위하여 SVQ(split vector quantizer)를 사용하거나, 성능향상을 위하여 MSVQ(multi-stage vector quantizer)를 사용할 수도 있다. 제2 양자화부(913)를 SVQ 혹은 MSVQ로 구현할 경우, 복잡도에 대한 여유가 있으면 2개 이상의 후보를 저장하고, 최적 코드북 인덱스 탐색을 수행하는 연판정(soft decision) 기술을 사용할 수도 있다.
제1 양자화부(911) 및 제2 양자화부(913)의 동작은 다음과 같다.
먼저, 양자화되지 않은 LSF 계수에서 사전에 정의된 평균값을 제거하여 z(n) 신호를 얻을 수 있다. 제1 양자화부(911)에서는 z(n) 신호의 전체 벡터에 대하여 양자화 및 역양자화를 수행할 수 있다. 여기서 사용되는 양자화기의 예로는 TCQ, TCVQ, BC-TCQ 혹은 BC-TCVQ를 들 수 있다. 양자화 에러신호를 구하기 위해서 z(n) 신호와 다시 역양자화된 신호와의 차이값을 이용하여 r(n) 신호를 얻을 수 있다. r(n) 신호는 제2 양자화부(913)의 입력으로 제공될 수 있다. 제 2 양자화부(913)는 SVQ 또는 MSVQ 등으로 구현할 수 있다. 제2 양자화부(913)에서 양자화된 신호는 역양자화를 거친 후에 제1 양자화부(911)에서 역양자화된 결과와 더해진 후 양자화된 z(n) 값이 되며 여기에 평균값을 더해주면 양자화된 LSF 값을 구할 수 있다.
도 9B에 도시된 제1 양자화모듈(900)은 제1 양자화부(931)와 제2 양자화부(933)에 프레임내 예측기(932)를 더 포함할 수 있다. 제1 양자화부(931)와 제2 양자화부(933)는 도 9A의 제1 양자화부(911)와 제2 양자화부(913)에 대응될 수 있다. LSF 계수는 매 프레임마다 부호화가 이루어지므로 프레임내에서 10차 혹은 16차의 LSF 계수를 이용하여 예측을 수행할 수 있다. 도 9B에 따르면, z(n) 신호는 제1 양자화부(931)와 프레임내 예측기(932)를 통하여 양자화될 수 있다. 프레임내 예측을 위하여 사용되는 과거신호는 TCQ를 통하여 양자화된 이전 스테이지의 t(n) 값을 사용한다. 프레임내 예측에서 사용되는 예측계수는 사전에 코드북 훈련 과정을 통해 미리 정의될 수 있다. TCQ에서는 통상 1차가 사용되며 경우에 따라서 더 높은 차수를 사용할 수도 있다. TCVQ에서는 벡터이므로 예측계수가 벡터의 차원(N, 여기서 N은 2 이상의 자연수)에 대응하여 N 차원 혹은 NXN 매트릭스 형태가 될 수 있다. 예를 들어 VQ의 차원이 2인 경우에는 2차원 혹은 2X2 크기의 매트릭스를 이용한 예측계수를 미리 구할 필요가 있다. 실시예에 따르면, TCVQ가 2차원을 이용하고 있으며 프레임내 예측기(932)는 2X2의 크기를 갖는다.
TCQ의 프레임내 예측 과정은 다음과 같다. 제1 양자화부(931) 즉, 제1 TCQ의 입력신호인 tj(n)은 하기 수학식 13과 같이 구할 수 있다.
Figure pct00013
여기서, M은 LPC 계수의 차수, ρi는 1차원의 예측계수를 나타낸다.
제1 양자화부(931)은 예측 에러벡터 t(n)을 양자화할 수 있다. 실시예에 따르면 제1 양자화부(931)는 TCQ를 사용하여 구현될 수 있고, 구체적으로는 BC-TCQ, BC-TCVQ, TCQ, TCVQ를 들 수 있다. 제1 양자화부(931)와 함께 사용된 프레임내 예측기(932)는 입력벡터의 각 엘리먼트 단위 또는 서브벡터 단위로 양자화 과정과 예측 과정을 반복할 수 있다. 제2 양자화부(933)의 동작은 도 9A의 제2 양자화부(913)와 동일하다.
한편, 제1 양자화부(931)가 N차원(여기서, N은 2 이상) TCVQ 혹은 BC-TCVQ로 구현되는 경우, 제1 양자화부(931)는 N차원의 서브벡터와 예측벡터간의 에러벡터를 양자화할 수 있다. 프레임내 예측기(932)는 양자화된 N차원 서브벡터로부터 예측벡터를 생성할 수 있다. 여기서, 프레임내 예측기(932)는 NXN 매트릭스로 이루어지는 예측계수를 사용하며, 이전 스테이지의 양자화된 N차원 서브벡터를 이용하여 프레임내 예측을 수행할 수 있다. 제2 양자화부(933)는 N 차원의 서브벡터에 대한 양자화 에러에 대하여 양자화를 수행할 수 있다.
좀 더 구체적으로 설명하면, 프레임내 예측기(932)는 이전 스테이지의 양자화된 N차원 선형벡터 및 현재 스테이지의 예측 매트릭스로부터 현재 스테이지의 예측 벡터를 생성할 수 있다. 제1 양자화부(931)는 현재 스테이지의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 에러벡터를 양자화하여 양자화된 에러벡터를 생성할 수 있다. 여기서, 이전 스테이지의 선형벡터는 이전 스테이지의 에러 벡터 및 이전 스테이지의 예측 벡터를 근거로 생성될 수 있다. 제2 양자화부(933)는 현재 스테이지의 양자화된 N차원 선형 벡터 및 입력 N차원 선형 벡터간의 차이인 양자화 에러 벡터에 대해 양자화를 수행함으로써, 양자화된 양자화 에러 벡터를 생성할 수 있다.
도 9C는 도 9A의 구조에서 코드북 공유를 위한 제1 양자화모듈(900)을 나타낸다. 제1 양자화모듈(900)은 제1 양자화부(951)와 제2 양자화부(953)을 포함할 수 있다. 음성/오디오 부호화기에서 멀티레이트 부호화를 지원하는 경우 동일한 LSF 입력 벡터를 다양한 비트로 양자화하는 기술을 필요로 한다. 이 경우 사용하는 양자화기의 코드북 메모리를 최소화하면서 효율적인 성능을 갖기 위해서 하나의 구조로 두가지 비트수 할당이 가능하도록 구현할 수 있다. 여기서, fH(n)은 고레이트 출력을 의미하며, fL(n)은 로우 레이트 출력을 의미한다. 이 중에서 BC-TCQ / BC-TCVQ 만을 이용한 경우 여기에 사용되는 비트수만으로 로우 레이트를 위한 양자화를 수행할 수 있다. 여기에 더해서 좀 더 정밀한 양자화가 필요한 경우에는 제1 양자화부(951)의 에러 신호를 추가적인 제 2 양자화부(953)를 이용하여 양자화할 수 있다.
도 9D는 도 9C의 구조에서 프레임내 예측기(972)를 더 포함한 것이다. 제1 양자화모듈(900)은 제1 양자화부(971)와 제2 양자화부(973)에 프레임내 예측기(972)를 더 포함할 수 있다. 제1 양자화부(971)와 제2 양자화부(973)는 도 9C의 제1 양자화부(951)와 제2 양자화부(953)에 대응될 수 있다.
도 9E는 도 9A 내지 도 9D에 있어서 제1 양자화부(911,931,951,971)을 2차원을 사용하는 TCVQ로 구현하는 경우 입력벡터의 구성을 보여준다. 통상적인 입력벡터(980)가 16개인 경우, 2차원을 사용하는 TCVQ의 입력벡터(990)는 8개가 될 수 있다.
이하에서는, 도 9B에 있어서 제1 양자화부(931)가 2차원을 사용하는 TCVQ로 구현되는 경우, 프레임내 예측과정을 구체적으로 설명하기로 한다.
먼저, 제1 양자화부(931)의 입력신호인
Figure pct00014
즉 예측잔차(prediction residual) 벡터는 하기 수학식 14와 같이 구할 수 있다.
Figure pct00015
여기서, M은 LPC 계수의 차수,
Figure pct00016
는 i번째 차수 에러벡터 즉,
Figure pct00017
의 추정치,
Figure pct00018
는 (i-1)번째 차수 에러벡터 즉,
Figure pct00019
의 양자화된 벡터, A i는 2X2의 예측 매트릭스를 나타낸다.
A i는 하기 수학식 15와 같이 나타낼 수 있다.
Figure pct00020
즉, 제1 양자화부(931)는 예측잔차(prediction residual) 벡터
Figure pct00021
를 양자화하고, 제1 양자화부(931)와 프레임내 예측기(932)는
Figure pct00022
를 양자화할 수 있으며, 그 결과 i번째 차수 에러벡터 즉,
Figure pct00023
의 양자화된 벡터
Figure pct00024
는 하기 수학식 16과 같이 나타낼 수 있다.
Figure pct00025
다음 표 3은 세이프티-넷 스킴에서 사용하는 BC-TCVQ 예를 들면 제1 양자화부(931)를 위한 프레임내 예측 계수의 예를 나타낸다.
계수 번호 계수값 (2 X 2)
A1 -0.452324 0.808759 -0.524298 0.305544
A2 0.009663 0.606028 -0.013208 0.421115
A3 0.144877 0.673495 0.080963 0.580317
A4 0.208825 0.633144 0.215958 0.574520
A5 0.050822 0.767842 0.076879 0.416693
A6 0.005058 0.550614 -0.006786 0.296984
A7 -0.023860 0.611144 -0.162706 0.576228
한편, 후술하는 도 10B에 있어서 제1 양자화부(1031)가 2차원을 사용하는 TCVQ로 구현되는 경우, 프레임내 예측과정을 구체적으로 설명하기로 한다.
이 경우, 제1 양자화부(1031)와 프레임내 예측기(1032)는
Figure pct00026
를 양자화할 수 있다. 제1 양자화부(1031)가 BC-TCVQ로 구현되는 경우, BC-TCVQ의 각 스테이지에 대한 최적 인덱스는 하기 수학식 17의 Ewerr(p)를 최소화하는 인덱스를 탐색하여 얻을 수 있다.
Figure pct00027
여기서, Pj는 j번째 서브 코드북에 있는 코드벡터의 개수,
Figure pct00028
는 j번째 서브 코드북의 p번째 코드벡터, wend(i)는 가중함수,
Figure pct00029
을 각각 나타낸다.
프레임내 예측기(1032)는 서로 다른 예측계수를 가지고, 세이프티-넷 스킴에서의 프레임내 예측과 동일한 과정을 사용할 수 있다.
즉, 제1 양자화부(1031)는 예측잔차(prediction residual) 벡터
Figure pct00030
를 양자화하고, 제1 양자화부(1031)와 프레임내 예측기(1032)는
Figure pct00031
를 양자화할 수 있으며, 그 결과
Figure pct00032
의 양자화된 벡터
Figure pct00033
는 하기 수학식 18과 같이 나타낼 수 있다.
Figure pct00034
다음 표 4는 예측 스킴에서 사용하는 BC-TCVQ 예를 들면 제1 양자화부(1031)를 위한 프레임내 예측 계수의 예를 나타낸다.
계수 번호 계수값 (2 X 2)
A1 -0.292479 0.676331 -0.422648 0.217490
A2 0.048957 0.500576 0.087301 0.287286
A3 0.199481 0.502784 0.106762 0.420907
A4 0.240459 0.440504 0.214255 0.396496
A5 0.193161 0.494850 0.158690 0.306771
A6 0.093435 0.370662 0.065526 0.148231
A7 0.037417 0.336906 -0.024246 0.187298
상기한 프레임내 예측과정은 각 실시예에 있어서, 제1 양자화부(931)가 2차원의 TCVQ로 구현되는 경우 동일하게 적용될 수 있고, 또한 제2 양자화부(933)의 존재와 상관없이 적용될 수 있다. 일실시예에 따르면, 프레임내 예측과정은 AR 방식을 사용할 수 있으나, 이에 한정되는 것은 아니다.
도 9A 및 도 9B에 도시된 제1 양자화모듈(900)은 제2 양자화부(913, 933) 없이도 구현될 수 있다. 이 경우, 1차원 혹은 N 차원의 서브벡터에 대한 양자화 에러에 대한 양자화 인덱스는 비트스트림에 포함되지 않을 수 있다.
도 10A 내지 도 10D는 도 6에 도시된 제2 양자화모듈의 다양한 구현예를 나타낸 블록도이다.
도 10A에 도시된 제2 양자화모듈(1000)은 도 9B의 구조에 프레임간 예측기(1014)를 더 추가한 것이다. 도 10A에 도시된 제2 양자화모듈(1000)은 제1 양자화부(1011)와 제2 양자화부(1013)에 프레임간 예측기(1014)를 더 포함할 수 있다. 프레임간 예측기(1014)는 이전 프레임에서 양자화된 LSF 계수를 이용하여 현재 프레임을 예측하는 기술이다. 프레임간 예측과정은 이전 프레임의 양자화된 값을 이용하여 현재 프레임에서 빼주고 양자화가 끝나면 그 기여분을 다시 더해주는 방식이다. 이때 예측 계수는 각 엘리먼트 별로 구해진다.
도 10B에 도시된 제2 양자화모듈(1000)은 도 10A의 구조에 프레임내 예측기(1032)를 더 추가한 것이다. 도 10B에 도시된 제2 양자화모듈(1000)은 제1 양자화부(1031), 제2 양자화부(1033), 프레임간 예측기(1034)에 프레임내 예측기(1032)를 더 포함할 수 있다. 제1 양자화부(1031)가 N차원(여기서, N은 2 이상) TCVQ 혹은 BC-TCVQ로 구현되는 경우, 제1 양자화부(1031)는 N차원의 서브벡터와 현재 프레임의 예측벡터간의 예측 에러벡터와 예측벡터간의 차이인 에러벡터를 양자화할 수 있다. 프레임내 예측기(1032)는 양자화된 예측 에러벡터로부터 예측벡터를 생성할 수 있다. 프레임간 예측기(1034)는 이전 프레임의 양자화된 N차원의 서브벡터로부터 현재 프레임의 예측벡터를 생성할 수 있다. 제2 양자화부(1033)는 예측에러 벡터에 대한 양자화 에러에 대하여 양자화를 수행할 수 있다.
좀 더 구체적으로 설명하면, 제1 양자화부(1031)는 현재 프레임의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 예측에러벡터와 상기 현재 스테이지의 예측 벡터간의 차이인 에러벡터를 양자화할 수 있다. 프레임내 예측기(1032)는 이전 스테이지의 양자화된 예측 에러벡터 및 현재 스테이지의 예측 매트릭스로부터 현재 스테이지의 예측 벡터를 생성할 수 있다. 제2 양자화부(1033)는 현재 프레임의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 예측에러벡터와 현재 스테이지의 양자화된 예측에러벡터간의 차이인 양자화 에러 벡터에 대해 양자화를 수행함으로써, 양자화된 양자화 에러 벡터를 생성할 수 있다.
도 10C는 도 10B의 구조에서 코드북 공유를 위한 제2 양자화모듈(1000)을 나타낸다. 즉, 도 10B의 구조에서 BC-TCQ/BC-TCVQ의 코드북을 로우 레이트와 하이 레이트에서 공유하는 구조를 나타낸다. 도 10B에서 위쪽은 제2 양자화부(미도시)를 사용하지 않는 로우 레이트에 대한 출력을 의미하며, 아래쪽은 제2 양자화부(1063)를 사용하는 하이 레이트에 대한 출력을 의미한다.
도 10D는 도 10C의 구조에서 프레임내 예측기를 제외시켜 제2 양자화모듈(1000)을 구현한 예를 나타낸다.
상기한 프레임내 예측과정은 각 실시예에 있어서, 양자화부가 2차원의 TCVQ로 구현되는 경우 동일하게 적용될 수 있고, 또한 제2 양자화부(1033)의 존재와 상관없이 적용될 수 있다. 일실시예에 따르면, 프레임내 예측과정은 AR 방식을 사용할 수 있으나, 이에 한정되는 것은 아니다.
도 10A 및 도 10B에 도시된 제2 양자화모듈(1000)은 제2 양자화부(1013, 1033) 없이도 구현될 수 있다. 이 경우, 1차원 혹은 N차원의 예측에러 벡터에 대한 양자화 에러에 대한 양자화 인덱스는 비트스트림에 포함되지 않을 수 있다.
도 11A 내지 도 11F는 BC-TCVQ에 가중치를 적용하는 양자화기(1100)의 다양한 구현예를 나타낸 블록도이다.
도 11A는 기본적인 BC-TCVQ 양자화기를 나타낸 것으로서, 가중함수 산출부(1111)와 BC-TCVQ 부(1112)를 포함할 수 있다. BC-TCVQ에서 최적 인덱스를 구할 때 가중된 왜곡을 최소화하는 인덱스를 구하게 된다. 도 11B는 도 11A에서 프레임내 예측기(1123)를 추가한 구조를 나타낸다. 여기서 사용되는 프레임내 예측은 AR 방식을 이용할 수도 있고, MA 방식을 이용할 수도 있다. 실시예에 따르면, AR 방식을 이용하며, 사용되는 예측 계수는 미리 정의될 수 있다.
도 11C는 도 11B에서 추가적인 성능향상을 위해서 프레임간 예측기(1134)를 추가한 구조를 나타낸다. 도 11C는 예측 스킴에서 사용되는 양자화기의 예를 나타낸다. 여기서 사용되는 프레임간 예측은 AR 방식을 이용할 수도 있고, MA 방식을 이용할 수도 있다. 실시예에 따르면, AR 방식을 이용하며, 사용되는 예측 계수는 미리 정의될 수 있다. 양자화 과정은 살펴보면, 먼저 프레임간 예측을 이용하여 예측된 예측 에러값은 프레임내 예측을 이용하는 BC-TCVQ를 이용하여 양자화할 수 있다. 양자화 인덱스값은 복호화기로 전송된다. 복호화 과정을 살펴보면, 양자화된 BC-TCVQ의 결과에 프레임내 예측값을 더하여 양자화된 r(n)값을 구한다. 여기에 프레임간 예측기(1134)의 예측값을 더해준 후에 평균값을 더해주면 최종 양자화된 LSF 값이 결정된다.
도 11D는 도 11C에서 프레임내 예측기를 제외한 구조를 나타낸다. 도 11E는 제2 양자화부(1153)가 추가된 경우에 가중치를 어떻게 적용하는지에 대한 구조를 나타낸다. 가중함수 산출부(1151)에서 구해진 가중함수는 제1 양자화부(1152)와 제2 양자화부(1153) 모두에서 사용되며, 최적 인덱스는 가중된 왜곡을 이용하여 구한다. 제1 양자화부(1151)는 BC-TCQ, BC-TCVQ, TCQ, 또는 TCVQ로 구현될 수 있다. 제2 양자화부(1153)는 SQ, VQ, SVQ, 또는 MSVQ 로 구현될 수 있다. 도 11F는 도 11E에서 프레임내 예측기가 제외된 구조를 나타낸다.
도 11A 내지 도 11F에서 언급된 다양한 구조의 양자화기 형태를 조합하여 스위칭 구조의 양자화기를 구현할 수 있다.
도 12는 일실시예에 따라 로우 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다. 도 12에 도시된 양자화장치(1200)는 선택부(1210), 제1 양자화모듈(1230)과 제2 양자화모듈(1250)를 포함할 수 있다.
선택부(1210)는 예측에러에 근거하여, 세이프티-넷 스킴 혹은 예측 스킴 중에 하나를 양자화 스킴으로 선택할 수 있다.
제1 양자화모듈(1230)은 세이프티-넷 스킴이 선택된 경우, 프레임간 예측을 사용하지 않으면서 양자화를 수행하는 것으로서, 제1 양자화부(1231)와 제1 프레임내 예측기(1232)를 포함할 수 있다. 구체적으로, LSF 벡터는 제1 양자화부(1231)와 제1 프레임내 예측기(1232)에 의해 30비트로 양자화될 수 있다.
제2 양자화모듈(1250)은 예측 스킴이 선택된 경우, 프레임간 예측을 사용하여 양자화를 수행하는 것으로서, 제2 양자화부(1251), 제2 프레임내 예측기(1252)와 프레임간 예측기(1253)를 포함할 수 있다. 구체적으로, 평균값이 제거된 LSF 벡터와 예측벡터간의 차에 해당하는 예측 에러는 제2 양자화부(1251)와 제2 프레임내 예측기(1252)에 의해 30비트로 양자화될 수 있다.
도 12에 도시된 양자화장치는 VC 모드인 경우 31비트를 사용하는 LSF 계수 양자화의 예를 나타낸다. 도 12의 양자화장치에 있어서 제1 및 제2 양자화부(1231, 1251)는 도 13의 양자화장치에 있어서 제1 및 제2 양자화부(1331, 1351)와 코드북을 공유할 수 있다. 동작을 살펴보면, 입력된 LSF값 f(n)에서 평균값을 제거하여 z(n) 신호를 얻을 수 있다. 선택부(1210)에서는 이전 프레임에서 복호화된 z(n) 값을 이용하여 프레임간 예측한 p(n) 값과 z(n) 값, 가중함수, 예측 모드(pred_mode)를 이용하여 최적 양자화 스킴을 선택 혹은 결정할 수 있다. 선택 혹은 결정된 결과에 따라 세이프티-넷 스킴 혹은 예측 스킴 중 하나를 이용하여 양자화를 수행할 수 있다. 선택 혹은 결정된 양자화 스킴은 1비트로 부호화될 수 있다.
선택부(1210)에서 세이프티-넷 스킴으로 선택되면, 평균값이 제거된 LSF 계수인 z(n)의 전체 입력 벡터는 제1 프레임내 예측기(1232)를 통하여 30비트를 사용하는 제1 양자화부(1231)를 이용하여 양자화가 이루어질 수 있다. 한편, 선택부(1210)에서 예측 스킴으로 선택되면, 평균값이 제거된 LSF 계수인 z(n)은 프레임간 예측기(1253)를 이용한 예측 에러신호를 제2 프레임내 예측기(1252)를 통하여 30비트를 사용하는 제2 양자화부(1251)를 이용하여 양자화가 이루어질 수 있다. 제1, 제2 양자화부(1231, 1251)의 예로는 TCQ, TCVQ의 형태를 갖는 양자화기가 가능하다. 구체적으로 BC-TCQ 또는 BC-TCVQ 등이 가능하다. 이 경우 양자화기는 총 31비트를 이용하게 된다. 양자화된 결과는 로우 레이트의 양자화기 출력으로 사용되며, 양자화기의 주요 출력은 양자화된 LSF 벡터와 양자화 인덱스이다.
도 13은 일실시예에 따라 하이 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다. 도 13에 도시된 양자화장치(1300)는 선택부(1310), 제1 양자화모듈(1330)과 제2 양자화모듈(1350)를 포함할 수 있다. 도 12와 비교할 때, 제1 양자화모듈(1330)에 제3 양자화부(1333)가 추가되고, 제2 양자화모듈(1350)에 제4 양자화부(1353)가 추가된 차이점이 있다. 도 12 및 도 13에 있어서, 제1 양자화부(1231,1331)과 제2 양자화부(1251, 1351)은 각각 동일한 코드북을 사용할 수 있다. 즉, 도 12의 31 비트 LSF 양자화장치(1200)와 도 13의 41 비트 LSF 양자화장치(1300)는 BC-TCVQ에 대하여 동일한 코드북을 사용할 수 있다. 이에 따르면 최적 코드북이라고 할 수는 없지만 메모리 크기를 대폭 절감할 수 있다.
선택부(1310)는 예측에러에 근거하여, 세이프티-넷 스킴 혹은 예측 스킴 중에 하나를 양자화 스킴으로 선택할 수 있다.
제1 양자화모듈(1330)은 세이프티-넷 스킴이 선택된 경우, 프레임간 예측을 사용하지 않으면서 양자화를 수행하는 것으로서, 제1 양자화부(1331), 제1 프레임내 예측기(1332)와 제3 양자화부(1333)를 포함할 수 있다.
제2 양자화모듈(1350)은 예측 스킴이 선택된 경우, 프레임간 예측을 사용하여 양자화를 수행하는 것으로서, 제2 양자화부(1351), 제2 프레임내 예측기(1352), 제4 양자화부(1353) 및 프레임간 예측기(1354)를 포함할 수 있다.
도 13에 도시된 양자화장치는 VC 모드인 경우 41 비트를 사용하는 LSF 계수 양자화의 예를 나타낸다. 도 13의 양자화장치(1300)에 있어서 제1 및 제2 양자화부(1331, 1351)는 도 12의 양자화장치(1200)에 있어서 제1 및 제2 양자화부(1231, 1251)와 각각 코드북을 공유할 수 있다. 동작을 살펴보면, 입력된 LSF 값 f(n)에서 평균값을 제거하면 z(n)신호가 된다. 선택부(1310)에서는 이전 프레임에서 복호화된 z(n) 값을 이용하여 프레임간 예측한 p(n)값과 z(n)값, 가중함수, 예측모드(pred_mode)를 이용하여 최적 양자화 스킴을 결정할 수 있다. 선택 혹은 결정된 결과에 따라 세이프티-넷 스킴 혹은 예측 스킴 중 하나를 이용하여 양자화를 수행할 수 있다. 선택 혹은 결정된 양자화 스킴은 1비트로 부호화될 수 있다.
선택부(1310)에서 세이프티-넷 스킴으로 선택되면, 평균값이 제거된 LSF 계수인 z(n)의 전체 입력 벡터는 제1 프레임내 예측기(1332)를 통하여 30비트를 사용하는 제1 양자화부(1331)를 이용하여 양자화 및 역양자화가 이루어질 수 있다. 한편, 원신호와 역양자화된 결과의 차이를 나타내는 제2 에러벡터는 제3 양자화부(1333)의 입력으로 제공될 수 있다. 제3 양자화부(1333)에서는 제2 에러벡터를 10비트를 사용하여 양자화할 수 있다. 제3 양자화부(1333)의 예로는 SQ, VQ, SVQ 또는 MSVQ 등이 가능하다. 양자화 및 역양자화가 끝나면 다음 프레임을 위해 최종적으로 양자화된 벡터가 저장될 수 있다.
한편, 선택부(1310)에서 예측 스킴으로 선택되면, 평균값이 제거된 LSF 계수인 z(n)로부터 프레임간 예측기(1354)로부터의 p(n)을 감산하여 얻어진 예측 에러신호를 30비트를 사용하여 제2 양자화부(1351)와 제2 프레임내 예측기(1352)에 의해 양자화 혹은 역양자화될 수 있다. 제1, 제2 양자화부(1331, 1231)의 예로는 TCQ, TCVQ의 형태를 갖는 양자화기가 가능하다. 구체적으로 BC-TCQ 또는 BC-TCVQ 등이 가능하다. 한편, 원신호와 역양자화된 결과의 차이를 나타내는 제2 에러벡터는 제4 양자화부(1353)의 입력으로 제공될 수 있다. 제4 양자화부(1353)에서는 제2 에러벡터를 10비트를 사용하여 양자화할 수 있다. 여기서, 제2 에러벡터는 8X8 차원의 두개의 서브벡터로 분할되어 제4 양자화부(1353)에서 양자화될 수 있다. 저대역이 고대역보다 인지적으로 중요하기 때문에, 첫번째 VQ와 두번째 VQ에 서로 다른 비트수를 할당하여 부호화할 수 있다. 제4 양자화부(1353)의 예로는 SQ, VQ, SVQ 또는 MSVQ 등이 가능하다. 양자화 및 역양자화가 끝나면 다음 프레임을 위해 최종적으로 양자화된 벡터가 저장될 수 있다.
이 경우 양자화기는 총 41비트를 이용하게 된다. 양자화된 결과는 하이 레이트의 양자화기 출력으로 사용되며, 양자화기의 주요 출력은 양자화된 LSF 벡터와 양자화 인덱스이다.
결과적으로 도 12와 도 13을 동시에 사용하는 경우, 도 12의 제1 양자화부(1231)와 도 13의 제1 양자화부(1331)가 양자화 코드북을 공유하며, 도 12의 제2 양자화부(1251)와 도 13의 제2 양자화부(1351)가 양자화 코드북을 공유하면, 전체적으로 코드북 메모리를 대폭 절감할 수 있다. 한편, 추가적인 코드북 메모리 절감을 위해 도 13의 제3 양자화부(1333)와 제4 양자화부(1353)의 양자화 코드북도 공유될 수 있다. 이 경우, 제3 양자화부(1333)의 입력 분포가 제4 양자화부(1353)와 상이하기 때문에, 입력 분포간 차이를 보상하기 위하여 스케일링 팩터가 사용될 수 있다. 스케일링 팩터는 제3 양자화부(1333)의 입력과 제4 양자화부(1353)의 입력 분포를 고려하여 산출될 수 있다. 실시예에 따르면, 제3 양자화부(1333)의 입력신호는 스케일링 팩터로 나누고, 그 결과 얻어지는 신호를 제3 양자화부(1333)에서 양자화할 수 있다. 제3 양자화부(1333)에서 양자화된 신호는 제3 양자화부(1333)의 출력을 스케일링 팩터로 승산하여 얻을 수 있다. 이와 같이, 제3 양자화부(1333) 혹은 제4 양자화부(1353)의 입력에 대하여 적절한 스케일링을 한 다음 양자화를 하면 성능을 최대한 유지하면서 코드북을 공유할 수 있다.
도 14는 다른 실시예에 따라 로우 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다. 도 14의 양자화장치(1400)에 있어서, 제1 양자화모듈(1430)과 제2 양자화모듈(1450)에서 사용중인 제1 양자화부(1431)와 제2 양자화부(1451)은 도 9C 및 도 9D의 로우 레이트 부분이 적용될 수 있다. 동작을 살펴보면, 가중함수 산출부(1400)에서는 입력된 LSF값을 이용하여 가중함수 w(n)을 구할 수 있다. 구해진 가중함수 w(n)은 선택부(1410), 제1 양자화부(1431) 및 제2 양자화부(1451)에서 사용될 수 있다. 한편, LSF값 f(n)에서 평균값을 제거하여 z(n) 신호를 얻을 수 있다. 선택부(1410)에서는 이전 프레임에서 복호화된 z(n)값을 이용하여 프레임간 예측한 p(n)값과 z(n)값, 가중함수, 예측모드(pred_mode)를 이용하여 최적 양자화 스킴을 결정할 수 있다. 선택 혹은 결정된 결과에 따라 세이프티-넷 스킴 혹은 예측 스킴 중 하나를 이용하여 양자화를 수행할 수 있다. 선택 혹은 결정된 양자화 스킴은 1비트로 부호화될 수 있다.
선택부(1410)에서 세이프티-넷 스킴으로 선택되면, 평균값이 제거된 LSF 계수인 z(n)은 제 1양자화부(1431)에서 양자화될 수 있다. 제1 양자화부(1431)는 도 9C 및 도 9D에서 설명한 것과 같이 높은 성능을 위해 프레임내 예측을 사용할 수도 있으며, 낮은 복잡도를 위해 제외하여 사용할 수도 있다. 프레임내 예측부를 사용하는 경우에는 전체 입력 벡터를 프레임내 예측을 통하여 TCQ 또는 TCVQ를 이용하여 양자화하는 제 1 양자화부(1431)로 제공할 수 있다.
선택부(1410)에서 예측 스킴으로 선택되면, 평균값이 제거된 LSF 계수인 z(n)은 프레임간 예측을 이용한 예측 에러신호를 프레임내 예측을 통하여 TCQ 또는 TCVQ를 이용하여 양자화하는 제 2 양자화부(1451)로 제공할 수 있다. 제1, 제2 양자화부(1431, 1451)의 예로는 TCQ, TCVQ의 형태를 갖는 양자화기가 가능하다. 구체적으로 BC-TCQ 또는 BC-TCVQ 등이 가능하다. 양자화된 결과는 로우 레이트의 양자화기 출력으로 사용된다.
도 15는 다른 실시예에 따라 하이 레이트에서 오픈 루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다. 도 15에 도시된 양자화장치(1500)는 선택부 (1510), 제1 양자화모듈(1530)과 제2 양자화모듈(1550)를 포함할 수 있다. 도 14와 비교할 때, 제1 양자화모듈(1530)에 제3 양자화부(1532)가 추가되고, 제2 양자화모듈(1550)에 제4 양자화부(1552)가 추가된 차이점이 있다. 도 14 및 도 15에 있어서, 제1 양자화부(1431,1531)과 제2 양자화부(1451, 1551)은 각각 동일한 코드북을 사용할 수 있다. 이에 따르면 최적 코드북이라고 할 수는 없지만 메모리 크기를 대폭 절감할 수 있다. 동작을 살펴보면, 선택부(1510)에서 세이프티-넷 스킴으로 선택되면, 제1 양자화부(1531)에서 제 1 양자화 및 역양자화를 수행하게 되고, 원신호와 역양자화된 결과의 차이를 의미하는 제2 에러벡터는 제3 양자화부(1532)의 입력으로 제공될 수 있다. 제3 양자화부(1532)에서는 제2 에러벡터를 양자화할 수 있다. 제3 양자화부(1532)의 예로는 SQ, VQ, SVQ 또는 MSVQ 등이 가능하다. 양자화 및 역양자화가 끝나면 다음 프레임을 위해 최종적으로 양자화된 벡터가 저장될 수 있다.
한편, 선택부(1510)에서 예측 스킴으로 선택되면, 제2 양자화부(1551)에서는 양자화 및 역양자화를 수행하게 되고, 원신호와 역양자화된 결과의 차이를 의미하는 제2 에러벡터는 제4 양자화부(1552)의 입력으로 제공될 수 있다. 제4 양자화부(1552)에서는 제2 에러벡터를 양자화할 수 있다. 제4 양자화부(1552)의 예로는 SQ, VQ, SVQ 또는 MSVQ 등이 가능하다. 양자화 및 역양자화가 끝나면 다음 프레임을 위해 최종적으로 양자화된 벡터가 저장될 수 있다.
도 16은 다른 실시예에 따른 LPC 계수 양자화부의 구성을 나타낸 블록도이다.
도 16에 도시된 LPC 계수 양자화부(1600)는 선택부(1610), 제1 양자화모듈(1630), 제2 양자화모듈(1650) 및 가중함수 산출부(1670)를 포함할 수 있다. 도 6에 도시된 LPC 계수 양자화부(600)와 비교할 때 가중함수 산출부(1670)를 더 포함하는 차이점이 있다. 도 16과 관련된 세부적 구현예는 도 11A 내지 도 11F에 도시되어 있다.
도 17은 일실시예에 따라 폐루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다. 도 17에 도시된 양자화장치(1700)는 제1 양자화모듈(1710), 제2 양자화모듈(1730) 및 선택부(1750)을 포함할 수 있다. 제1 양자화모듈(1710)은 제1 양자화부(1711), 제1 프레임내 예측기(1712), 및 제3 양자화부(1713)을 포함하고, 제2 양자화모듈(1730)은 제2 양자화부(1731), 제2 프레임내 예측기(1732), 제4 양자화부(1733) 및 프레임간 예측기(1734)를 포함할 수 있다.
도 17을 참조하면, 제1 양자화모듈(1710)에 있어서, 제1 양자화부(1711)에서는 전체 입력 벡터를 제1 프레임내 예측기(1712)를 통하여 BC-TCVQ 또는 BC-TCQ를 이용하여 양자화할 수 있다. 제3 양자화부(1713)에서는 양자화 에러 신호를 VQ로 양자화할 수 있다.
제2 양자화모듈(1730)에 있어서, 제2 양자화부(1731)에서는 프레임간 예측기(1734)를 이용한 예측 에러신호를 제2 프레임내 예측기(1732)를 통하여 BC-TCVQ 또는 BC-TCQ를 이용하여 양자화할 수 있다. 제4 양자화부(1733)에서는 양자화 에러 신호를 VQ로 양자화할 수 있다.
선택부(1750)는 제1 양자화모듈(1710)의 출력과 제2 양자화모듈(1730)의 출력 중 하나를 선택할 수 있다.
도 17에 있어서, 세이프티-넷 스킴은 도 9B와 동일하고, 예측 스킴은 도 10B와 동일하다. 여기서 프레임간 예측은 AR 방식과 MA 방식 중 하나를 이용할 수 있다. 실시예에 따르면 1st order AR 방식을 이용한 예를 나타낸다. 예측 계수는 미리 정의되며, 예측을 위한 과거 벡터는 이전 프레임에서 두 개의 스킴 중에서 최적 벡터로 선택된 벡터를 이용한다.
도 18은 다른 실시예에 따라 폐루프 방식의 스위칭 구조를 갖는 양자화장치의 구성을 나타내는 블럭도이다. 도 17과 비교할 때 프레임내 예측기를 제외하여 구현한 예이다. 도 18에 도시된 양자화장치(1800)는 제1 양자화모듈(1810), 제2 양자화모듈(1830) 및 선택부(1850)을 포함할 수 있다. 제1 양자화모듈(1810)은 제1 양자화부(1811), 및 제3 양자화부(1812)을 포함하고, 제2 양자화모듈(1830)은 제2 양자화부(1831), 제4 양자화부(1832) 및 프레임간 예측기(1833)를 포함할 수 있다.
도 18을 참조하면, 선택부(1850)은 제1 양자화모듈(1810)의 출력과 제2 양자화모듈(1830)의 출력을 이용한 가중된 왜곡을 입력으로 하여 최적 양자화 스킴을 선택 혹은 결정할 수 있다. 최적 양자화 스킴을 결정하는 과정을 살펴보면 다음과 같다.
if ( ((predmode!=0) && (WDist[0]<PREFERSFNET*WDist[1]))
||(predmode == 0)
||(WDist[0]<abs_threshold) )
{
safety_net = 1;
}
else{
safety_net = 0;
}
여기서 예측모드(predmode)가 0인 경우에는 항상 세이프티-넷 스킴만을 사용하는 모드를 의미하며 0이 아닌 경우에는 세이프티-넷 스킴과 예측 스킴을 스위칭하여 사용하는 것을 의미한다. 항상 세이프티-넷 스킴만을 사용하는 모드의 예로는 TC 혹은 UC 모드를 들 수 있다. 그리고 WDist[0]은 세이프티-넷 스킴의 가중된 왜곡을 의미하며, WDist[1]은 예측 스킴의 가중된 왜곡을 의미한다. 또한, abs_threshold는 미리 설정된 임계치를 나타낸다. 예측모드가 0이 아닌 경우는 프레임 에러를 고려하여 세이프티-넷 스킴의 가중된 왜곡에 우선하여 최적 양자화 스킴을 선택할 수 있다. 즉, 기본적으로 WDist[0]의 값이 사전에 정의된 임계치보다 적을 때는 WDist[1]의 값에 상관없이 세이프티-넷 스킴이 선택될 수 있다. 그 이외의 경우에도 단순히 가중된 왜곡이 적은 것을 선택하는 것이 아니라 동일한 가중된 왜곡에서는 세이프티-넷 스킴이 선택될 수 있다. 그 이유는 세이프티-넷 스킴이 프레임 에러에 더 강인하기 때문이다. 따라서, WDist[0]가 PREFERSFNET*WDist[1]보다 큰 경우에만 예측 스킴이 선택될 수 있다. 여기서 사용가능한 PREFERSFNET=1.15이나, 이에 한정되는 것은 아니다. 이와 같이 양자화 스킴이 선택되면, 선택된 양자화 스킴을 나타내는 비트정보와 선택된 양자화 스킴으로 양자화하여 얻어지는 양자화 인덱스를 전송할 수 있다.
도 19는 일실시예에 따른 역양자화장치의 구성을 나타낸 블록도이다.
도 19에 도시된 역양자화장치(1900)는 선택부(1910), 제1 역양자화모듈(1930)과 제2 역양자화모듈(1950)을 포함할 수 있다.
도 19를 참조하면, 선택부(1910)는 비트스트림에 포함된 양자화스킴 정보에 근거하여, 부호화된 LPC 파라미터 예를 들면 예측잔차(prediction residual)을 제1 역양자화모듈(1930)과 제2 역양자화모듈(1950) 중 하나로 제공할 수 있다. 일예로, 양자화스킴 정보는 1 비트로 표현될 수 있다.
제1 역양자화모듈(1930)은 부호화된 LPC 파라미터, 예를 들면 양자화 인덱스를 프레임간 예측없이 역양자화할 수 있다.
제2 역양자화모듈(1950)은 부호화된 LPC 파라미터, 예를 들면 양자화 인덱스를 프레임간 예측을 통하여 역양자화할 수 있다.
제1 역양자화모듈(1930)과 제2 역양자화모듈(1950)은 복호화장치에 대응하는 부호화장치에 따라서, 전술한 다양한 실시예의 각 제1 및 제2 양자화모듈의 역처리에 근거하여 구현될 수 있다.
도 19의 역양자화장치는 양자화기 구조가 개루프(open-loop) 방식 혹은 폐루프(closed-loop) 방식에 상관없이 적용할 수 있다.
16 kHz 내부 샘플링 주파수에서 VC 모드는 예를 들면, 프레임당 31 비트와 프레임당 40 혹은 41 비트의 두가지 디코딩 레이트를 가질 수 있다. VC 모드는 예를 들면, 16 스테이트 8 스테이지 BC-TCVQ에 의해 복호화될 수 있다.
도 20은 일실시예에 따른 역양자화장치의 세부적인 구성을 나타낸 블록도로서, 31 비트의 엔코딩 레이트를 사용하는 경우에 해당할 수 있다. 도 20에 도시된 역양자화장치(2000)는 선택부(2010), 제1 역양자화모듈(2030) 및 제2 역양자화모듈(2050)을 포함할 수 있다. 제1 역양자화모듈(2030)는 제1 역양자화부(2031) 및 제1 프레임내 예측기(2032)를 포함할 수 있고, 제2 역양자화모듈(2050)는 제2 역양자화부(2051), 제2 프레임내 예측기(2052) 및 프레임간 예측기(2053)를 포함할 수 있다. 도 20의 역양자화장치는 도 12의 양자화장치에 대응될 수 있다.
도 20을 참조하면, 선택부(2010)는 비트스트림에 포함된 양자화스킴 정보에 근거하여 부호화된 LPC 파라미터를 제1 역양자화모듈(2030)과 제2 역양자화모듈(2050) 중 하나로 제공할 수 있다.
양자화스킴 정보가 세이프티-넷 스킴을 나타내는 경우, 제1 역양자화모듈(2030)에 있어서 제1 역양자화부(2031)는 TCQ, TCVQ, BC-TCQ, 혹은 BC-TCVQ를 사용하여 역양자화를 수행할 수 있다. 제1 역양자화부(2031)와 제1 프레임내 예측기(2032)를 통하여 양자화된 LSF 계수를 얻을 수 있다. 양자화된 LSF 계수에 소정의 DC 값인 평균값을 가산하면 최종 복호화된 LSF 계수가 생성된다.
한편, 양자화스킴 정보가 예측 스킴을 나타내는 경우, 제2 역양자화모듈(2050)에 있어서 제2 역양자화부(2051)는 TCQ, TCVQ, BC-TCQ, 혹은 BC-TCVQ를 사용하여 역양자화를 수행할 수 있다. 역양자화 과정은 LSF 벡터 중 가장 낮은 벡터에서부터 시작하며, 프레임내 예측기(2052)는 복호화된 벡터를 이용하여 다음 순서의 벡터 요소를 위한 예측값을 생성한다. 프레임간 예측기(2053)는 이전 프레임에서 복호화된 LSF 계수를 이용하여 프레임간 예측을 통하여 예측값을 생성한다. 제2 양자화부(2051)와 프레임내 예측기(2052)를 통하여 얻어지는 양자화된 LSF 계수에 프레임간 예측기(2053)에서 얻어지는 프레임간 예측값을 가산하고, 가산결과에 소정의 DC 값인 평균값을 더하면 최종 복호화된 LSF 계수가 생성된다.
도 20에 도시된 복호화 과정을 구체적으로 설명하면 다음과 같다.
세이프티-넷 스킴이 사용되는 경우,
Figure pct00035
의 복호화는 하기 수학식 19에 의해 수행될 수 있다.
Figure pct00036
여기서, 예측 잔차(prediction residual),
Figure pct00037
는 제1 역양자화부(2031)에 의해 복호화될 수 있다.
한편, 예측 스킴이 사용되는 경우, 예측 벡터 pk(i)는 하기 수학식 20에 의해 얻어질 수 있다.
Figure pct00038
여기서, ρ(i)는 특정 내부 샘플링 주파수에서 특정 부호화모드, 예를 들면 16 kHz에서 VC 모드에 대하여 선택된 AR 예측계수, M은 LPC 차수를 나타낸다. 한편,
Figure pct00039
으로 나타낼 수 있다.
한편,
Figure pct00040
의 복호화는 하기 수학식 21에 의해 수행될 수 있다.
Figure pct00041
여기서, 예측 잔차(prediction residual),
Figure pct00042
는 제2 역양자화부(2051)에 의해 복호화될 수 있다.
예측 스킴에 대한 양자화된 LSF 벡터
Figure pct00043
는 하기 수학식 22에 의해 얻어질 수 있다.
Figure pct00044
여기서, m(i)는 특정 부호화 모드, 예를 들면 VC 모드에서 평균 벡터를 나타낸다. 한편,
Figure pct00045
으로 나타낼 수 있다.
세이프티-넷 스킴에 대한 양자화된 LSF 벡터
Figure pct00046
는 하기 수학식 23에 의해 얻어질 수 있다.
Figure pct00047
여기서, m(i)는 특정 부호화 모드, 예를 들면 VC 모드에서 평균 벡터를 나타낸다. 한편,
Figure pct00048
으로 나타낼 수 있다.
도 21은 다른 실시예에 따른 역양자화장치의 세부적인 구성을 나타낸 블록도로서, 41 비트의 엔코딩 레이트를 사용하는 경우에 해당할 수 있다. 도 21에 도시된 역양자화장치(2100)는 선택부(2110), 제1 역양자화모듈(2130) 및 제2 역양자화모듈(2150)을 포함할 수 있다. 제1 역양자화모듈(2130)는 제1 역양자화부(2131), 제1 프레임내 예측기(2132) 및 제3 역양자화부(2133)를 포함할 수 있고, 제2 역양자화모듈(2150)는 제2 역양자화부(2151), 제2 프레임내 예측기(2152), 제4 역양자화부(2153) 및 프레임간 예측기(2154)를 포함할 수 있다. 도 21의 역양자화장치는 도 13의 양자화장치에 대응될 수 있다.
도 21을 참조하면, 선택부(2110)는 비트스트림에 포함된 양자화스킴 정보에 근거하여 부호화된 LPC 파라미터를 제1 역양자화모듈(2130)과 제2 역양자화모듈(2150) 중 하나로 제공할 수 있다.
양자화스킴 정보가 세이프티-넷 스킴을 나타내는 경우, 제1 역양자화모듈(2130)에 있어서 제1 역양자화부(2131)는 BC-TCVQ를 사용하여 역양자화를 수행할 수 있다. 제3 역양자화부(2133)는 SVQ를 사용하여 역양자화를 수행할 수 있다. 제1 역양자화부(2131)와 제1 프레임내 예측기(2132)를 통하여 양자화된 LSF 계수를 얻을 수 있다. 양자화된 LSF 계수와 제3 역양자화부(2133)로부터 얻어지는 양자화된 LSF 계수를 가산하고, 가산결과에 소정의 DC 값인 평균값을 더하면 최종 복호화된 LSF 계수가 생성된다.
한편, 양자화스킴 정보가 예측 스킴을 나타내는 경우, 제2 역양자화모듈(2150)에 있어서 제2 역양자화부(2151)는 BC-TCVQ를 사용하여 역양자화를 수행할 수 있다. 역양자화 과정은 LSF 벡터 중 가장 낮은 벡터에서부터 시작하며, 제2 프레임내 예측기(2152)는 복호화된 벡터를 이용하여 다음 순서의 벡터 요소를 위한 예측값을 생성한다. 제4 역양자화부(2153)는 SVQ를 사용하여 역양자화를 수행할 수 있다. 제2 역양자화부(2151)와 제2 프레임내 예측기(2152)를 통하여 얻어지는 양자화된 LSF 계수에 제4 역양자화부(2153)로부터 제공되는 양자화된 LSF 계수를 가산할 수 있다. 프레임간 예측기(2154)는 이전 프레임에서 복호화된 LSF 계수를 이용하여 프레임간 예측을 통하여 예측값을 생성할 수 있다. 가산 결과에 프레임간 예측기(2153)에서 얻어지는 프레임간 예측값을 더하고, 소정의 DC 값인 평균값을 더하면 최종 복호화된 LSF 계수가 생성된다.
여기서, 제3 역양자화부(2133)와 제4 역양자화부(2153)는 코드북을 공유할 수 있다.
도 21에 도시된 복호화 과정을 구체적으로 설명하면 다음과 같다.
스킴 선택 및 제1 및 제2 역양자화부(2131,2151)의 복호화처리는 도 20에서와 동일하며,
Figure pct00049
Figure pct00050
의 복호화는 제3 및 제4 역양자화부(2133, 2153)에 의해 수행될 수 있다.
한편, 예측 스킴에 대한 양자화된 LSF 벡터
Figure pct00051
는 하기 수학식 24에 의해 얻어질 수 있다.
Figure pct00052
여기서,
Figure pct00053
는 제2 양자화부(2151) 및 제2 프레임내 예측기(2152)로부터 얻어질 수 있다.
세이프티-넷 스킴에 대한 양자화된 LSF 벡터
Figure pct00054
는 하기 수학식 25에 의해 얻어질 수 있다.
Figure pct00055
여기서,
Figure pct00056
는 제1 양자화부(2131) 및 제1 프레임내 예측기(2132)로부터 얻어질 수 있다.
한편, 도시되지는 않았으나, 도 19 내지 도 21의 역양자화장치는 도 2에 대응되는 복호화장치의 구성요소로서 사용될 수 있다.
한편, 각 수학식에 있어서 k는 프레임을, i 혹은 j는 스테이지를 나타낼 수 있다.
한편, LPC 계수 양자화/역양자화와 관련하여 채용되는 BC-TCQ와 관련된 내용은 "Block Constrained Trellis Coded Vector Quantization of LSF Parameters for Wideband Speech Codecs" (Jungeun Park and Sangwon Kang, ETRI Journal, Volume 30, Number 5, October 2008)에 자세히 설명되어 있다. 한편, TCVQ와 관련된 내용은 "Trellis Coded Vector Quantization" (Thomas R. Fischer et al, IEEE Transactions on Information Theory, Vol. 37, No. 6, November 1991)에 자세히 설명되어 있다.
상기 실시예들에 따른 양자화방법, 역영자화방법, 부호화방법, 및 복호화방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예들에서 사용될 수 있는 데이터 구조, 프로그램 명령, 혹은 데이터 파일은 컴퓨터로 읽을 수 있는 기록매체에 다양한 수단을 통하여 기록될 수 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함할 수 있다. 컴퓨터로 읽을 수 있는 기록매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 컴퓨터로 읽을 수 있는 기록매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 전송 매체일 수도 있다. 프로그램 명령의 예로는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상과 같이 본 발명의 일실시예는 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명의 일실시예는 상기 설명된 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 스코프는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 이의 균등 또는 등가적 변형 모두는 본 발명 기술적 사상의 범주에 속한다고 할 것이다.

Claims (28)

  1. N차원(여기서, N은 2 이상)의 서브벡터와 제1 예측벡터간의 제1 에러벡터를 양자화하는 트렐리스 구조 벡터양자화기; 및
    양자화된 N차원 서브벡터로부터 상기 제1 예측벡터를 생성하는 프레임내 예측기를 포함하고,
    상기 프레임내 예측기는 NXN 매트릭스로 이루어지는 예측계수를 사용하며, 이전 스테이지의 양자화된 N차원 서브벡터를 이용하여 프레임내 예측을 수행하는 양자화장치.
  2. 제1 항에 있어서, 상기 N 차원의 서브벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 벡터양자화기를 더 포함하는 양자화장치.
  3. 제1 항에 있어서, 상기 트렐리스 구조 벡터양자화기가 상기 N차원의 서브벡터와 현재 프레임의 예측벡터간의 예측 에러벡터와 제2 예측벡터간의 차이인 제2 에러벡터를 양자화하는 경우, 이전 프레임의 양자화된 N차원의 서브벡터로부터 상기 현재 프레임의 예측벡터를 생성하는 프레임간 예측기를 더 포함하는 양자화장치.
  4. 제3 항에 있어서, 상기 예측에러 벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 벡터양자화기를 더 포함하는 양자화장치.
  5. 제1 항 또는 제3 항에 있어서, 상기 트렐리스 구조 벡터양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  6. 제2 항 또는 제4 항에 있어서, 상기 벡터양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  7. 프레임간 예측없이 양자화를 수행하는 제1 양자화모듈; 및
    프레임간 예측에 근거하여 양자화를 수행하는 제2 양자화모듈를 포함하며,
    상기 제1 양자화모듈은
    N차원(여기서, N은 2 이상)의 서브벡터와 제1 예측벡터간의 제1 에러벡터를 양자화하는 제1 트렐리스 구조 벡터양자화기; 및
    양자화된 N차원 서브벡터로부터 상기 제1 예측벡터를 생성하는 제1 프레임내 예측기를 포함하고,
    상기 제1 프레임내 예측기는 NXN 매트릭스로 이루어지는 예측계수를 사용하며, 이전 스테이지의 양자화된 N차원 서브벡터를 이용하여 프레임내 예측을 수행하는 양자화장치.
  8. 제7 항에 있어서, 상기 제2 양자화모듈은
    상기 N차원의 서브벡터와 현재 프레임의 예측벡터간의 예측 에러벡터와 제2 예측벡터간의 차이인 제2 에러벡터를 양자화하는 제2 트렐리스 구조 벡터양자화기; 및
    양자화된 예측 에러벡터로부터 상기 제2 예측벡터를 생성하는 제2 프레임내 예측기를 포함하며,
    상기 제2 프레임내 예측기는 NXN 매트릭스로 이루어지는 예측계수를 사용하며, 이전 스테이지의 양자화된 N차원 서브벡터를 이용하여 프레임내 예측을 수행하는 양자화장치.
  9. 제7 항에 있어서, 오픈 루프 방식으로 상기 제1 양자화 모듈 혹은 상기 제2 양자화모듈에 선택하는 선택부를 더 포함하는 양자화장치.
  10. 제7 항에 있어서, 상기 제1 양자화모듈은 상기 N 차원의 서브벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 제1 벡터양자화기를 더 포함하는 양자화장치.
  11. 제7 항에 있어서, 상기 제2 양자화모듈은 상기 예측에러 벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 제2 벡터양자화기를 더 포함하는 양자화장치.
  12. 제7 항 또는 제8 항에 있어서, 상기 제1 혹은 제2 트렐리스 구조 벡터양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  13. 제10 항 또는 제11 항에 있어서, 상기 제1 혹은 제2 벡터양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  14. 제10 항 또는 제11 항에 있어서, 상기 제1 혹은 제2 벡터양자화기는 코드북을 공유하는 양자화장치.
  15. 이전 스테이지의 양자화된 N차원 선형벡터 및 현재 스테이지의 예측 매트릭스로부터 현재 스테이지의 예측 벡터를 생성하는 인트라 프레임 예측기; 및,
    상기 현재 스테이지의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 제1 에러벡터를 양자화하여 양자화된 제1 에러벡터를 생성하는 벡터 양자화기를 포함하고,
    상기 이전 스테이지의 선형벡터는 이전 스테이지의 에러 벡터 및 이전 스테이지의 예측 벡터를 근거로 생성되는 양자화장치.
  16. 제15 항에 있어서, 현재 스테이지의 양자화된 N차원 선형 벡터 및 입력 N차원 선형 벡터간의 차이인 양자화 에러 벡터에 대해 양자화를 수행함으로써, 양자화된 양자화 에러 벡터를 생성하는 에러 벡터 양자화기를 더 포함하는 양자화장치.
  17. 제15 항에 있어서, 상기 벡터 양자화기가 현재 프레임의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 예측에러벡터와 상기 현재 스테이지의 예측 벡터간의 차이인 제2 에러벡터를 양자화하여 양자화된 제2 에러벡터를 생성하는 경우, 상기 인트라 프레임 예측기는 이전 스테이지의 양자화된 예측 에러벡터 및 현재 스테이지의 예측 매트릭스로부터 현재 스테이지의 예측 벡터를 생성하는 양자화장치.
  18. 제17 항에 있어서, 상기 예측에러 벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 에러 벡터 양자화기를 더 포함하는 양자화장치.
  19. 제15 항 또는 제17 항에 있어서, 상기 벡터 양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  20. 제16 항 또는 제18 항에 있어서, 상기 에러 벡터 양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  21. 프레임간 예측없이 양자화를 수행하는 제1 양자화모듈; 및
    프레임간 예측에 근거하여 양자화를 수행하는 제2 양자화모듈를 포함하며,
    상기 제1 양자화모듈은
    이전 스테이지의 양자화된 N차원 선형벡터 및 현재 스테이지의 예측 매트릭스로부터 현재 스테이지의 예측 벡터를 생성하는 제1 인트라 프레임 예측기; 및,
    상기 현재 스테이지의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 제1 에러벡터를 양자화하여 양자화된 제1 에러벡터를 생성하는 제1 벡터 양자화기를 포함하고,
    상기 이전 스테이지의 선형벡터는 이전 스테이지의 에러 벡터 및 이전 스테이지의 예측 벡터를 근거로 생성된 것을 특징으로 하는 양자화장치.
  22. 제21 항에 있어서, 상기 제2 양자화모듈은
    이전 스테이지의 양자화된 예측 에러벡터 및 현재 스테이지의 예측 매트릭스로부터 현재 스테이지의 예측 벡터를 생성하는 제2 인트라 프레임 예측기; 및,
    현재 프레임의 예측벡터 및 현재 스테이지의 N차원 선형벡터간의 차이인 예측에러벡터와 상기 현재 스테이지의 예측 벡터간의 차이인 제2 에러벡터를 양자화하여 양자화된 제2 에러벡터를 생성하는 제2 벡터 양자화기를 포함하고,
    상기 이전 스테이지의 선형벡터는 이전 스테이지의 에러 벡터 및 이전 스테이지의 예측 벡터를 근거로 생성된 것을 특징으로 하는 양자화장치.
  23. 제21 항에 있어서, 오픈 루프 방식으로 상기 제1 양자화 모듈 혹은 상기 제2 양자화모듈에 선택하는 선택부를 더 포함하는 양자화장치.
  24. 제21 항에 있어서, 상기 제1 양자화모듈은 현재 스테이지의 양자화된 N차원 선형 벡터 및 입력 N차원 선형 벡터간의 차이인 양자화 에러 벡터에 대해 양자화를 수행함으로써, 양자화된 양자화 에러 벡터를 생성하는 제1 에러 벡터양자화기를 더 포함하는 양자화장치.
  25. 제22 항에 있어서, 상기 제2 양자화모듈은 상기 예측에러 벡터에 대한 양자화 에러에 대하여 양자화를 수행하는 제2 에러 벡터 양자화기를 더 포함하는 양자화장치.
  26. 제21 항 또는 제22 항에 있어서, 상기 제1 혹은 제2 벡터양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  27. 제24 항 또는 제25 항에 있어서, 상기 제1 혹은 제2 에러 벡터양자화기는 가중함수에 근거하여 최적 인덱스를 탐색하는 양자화장치.
  28. 제21 항 또는 제22 항에 있어서, 상기 제1 혹은 제2 벡터양자화기는 코드북을 공유하는 양자화장치.
KR1020167031128A 2014-05-07 2015-05-07 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치 KR102400540B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227016454A KR102593442B1 (ko) 2014-05-07 2015-05-07 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461989725P 2014-05-07 2014-05-07
US61/989,725 2014-05-07
US201462029687P 2014-07-28 2014-07-28
US62/029,687 2014-07-28
PCT/KR2015/004577 WO2015170899A1 (ko) 2014-05-07 2015-05-07 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227016454A Division KR102593442B1 (ko) 2014-05-07 2015-05-07 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20170007280A true KR20170007280A (ko) 2017-01-18
KR102400540B1 KR102400540B1 (ko) 2022-05-20

Family

ID=54392696

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020227016454A KR102593442B1 (ko) 2014-05-07 2015-05-07 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치
KR1020237035370A KR20230149335A (ko) 2014-05-07 2015-05-07 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치
KR1020167031128A KR102400540B1 (ko) 2014-05-07 2015-05-07 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020227016454A KR102593442B1 (ko) 2014-05-07 2015-05-07 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치
KR1020237035370A KR20230149335A (ko) 2014-05-07 2015-05-07 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치

Country Status (5)

Country Link
US (3) US10504532B2 (ko)
EP (2) EP3142110B1 (ko)
KR (3) KR102593442B1 (ko)
CN (3) CN112927702A (ko)
WO (1) WO2015170899A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240010550A (ko) 2014-03-28 2024-01-23 삼성전자주식회사 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치
WO2015170899A1 (ko) 2014-05-07 2015-11-12 삼성전자 주식회사 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치
US11270187B2 (en) * 2017-11-07 2022-03-08 Samsung Electronics Co., Ltd Method and apparatus for learning low-precision neural network that combines weight quantization and activation quantization
US11451840B2 (en) * 2018-06-18 2022-09-20 Qualcomm Incorporated Trellis coded quantization coefficient coding
CN111899748B (zh) * 2020-04-15 2023-11-28 珠海市杰理科技股份有限公司 基于神经网络的音频编码方法及装置、编码器
KR20210133554A (ko) * 2020-04-29 2021-11-08 한국전자통신연구원 선형 예측 코딩을 이용한 오디오 신호의 부호화 및 복호화 방법과 이를 수행하는 부호화기 및 복호화기
CN115277323A (zh) * 2022-07-25 2022-11-01 Oppo广东移动通信有限公司 数据帧传输方法、装置、芯片、存储介质和蓝牙设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110130290A (ko) * 2010-05-27 2011-12-05 삼성전자주식회사 Lpc 계수 양자화를 위한 가중치 함수 결정 장치 및 방법
KR20120039865A (ko) * 2010-10-18 2012-04-26 삼성전자주식회사 선형 예측 계수를 양자화하기 위한 저복잡도를 가지는 가중치 함수 결정 장치 및 방법
WO2012144878A2 (en) * 2011-04-21 2012-10-26 Samsung Electronics Co., Ltd. Method of quantizing linear predictive coding coefficients, sound encoding method, method of de-quantizing linear predictive coding coefficients, sound decoding method, and recording medium
WO2012144877A2 (en) * 2011-04-21 2012-10-26 Samsung Electronics Co., Ltd. Apparatus for quantizing linear predictive coding coefficients, sound encoding apparatus, apparatus for de-quantizing linear predictive coding coefficients, sound decoding apparatus, and electronic device therefor

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1341126A3 (en) 1992-09-01 2004-02-04 Apple Computer, Inc. Image compression using a shared codebook
US5596659A (en) 1992-09-01 1997-01-21 Apple Computer, Inc. Preprocessing and postprocessing for vector quantization
IT1271959B (it) * 1993-03-03 1997-06-10 Alcatel Italia Codec per il parlato a predizione lineare eccitato da un libro di codici
GB2282943B (en) 1993-03-26 1998-06-03 Motorola Inc Vector quantizer method and apparatus
JP3557255B2 (ja) 1994-10-18 2004-08-25 松下電器産業株式会社 Lspパラメータ復号化装置及び復号化方法
US5774839A (en) 1995-09-29 1998-06-30 Rockwell International Corporation Delayed decision switched prediction multi-stage LSF vector quantization
JP3246715B2 (ja) * 1996-07-01 2002-01-15 松下電器産業株式会社 オーディオ信号圧縮方法,およびオーディオ信号圧縮装置
US6904404B1 (en) 1996-07-01 2005-06-07 Matsushita Electric Industrial Co., Ltd. Multistage inverse quantization having the plurality of frequency bands
US6055496A (en) * 1997-03-19 2000-04-25 Nokia Mobile Phones, Ltd. Vector quantization in celp speech coder
US5974181A (en) * 1997-03-20 1999-10-26 Motorola, Inc. Data compression system, method, and apparatus
TW408298B (en) 1997-08-28 2000-10-11 Texas Instruments Inc Improved method for switched-predictive quantization
US6125149A (en) 1997-11-05 2000-09-26 At&T Corp. Successively refinable trellis coded quantization
US6324218B1 (en) 1998-01-16 2001-11-27 At&T Multiple description trellis coded quantization
US7072832B1 (en) 1998-08-24 2006-07-04 Mindspeed Technologies, Inc. System for speech encoding having an adaptive encoding arrangement
US6959274B1 (en) 1999-09-22 2005-10-25 Mindspeed Technologies, Inc. Fixed rate speech compression system and method
AU7486200A (en) * 1999-09-22 2001-04-24 Conexant Systems, Inc. Multimode speech encoder
JP3404024B2 (ja) 2001-02-27 2003-05-06 三菱電機株式会社 音声符号化方法および音声符号化装置
KR20020075592A (ko) * 2001-03-26 2002-10-05 한국전자통신연구원 광대역 음성 부호화기용 lsf 양자화기
JP2003140693A (ja) * 2001-11-02 2003-05-16 Sony Corp 音声復号装置及び方法
CA2388358A1 (en) 2002-05-31 2003-11-30 Voiceage Corporation A method and device for multi-rate lattice vector quantization
KR100486732B1 (ko) 2003-02-19 2005-05-03 삼성전자주식회사 블럭제한된 트렐리스 부호화 양자화방법과 음성부호화시스템에있어서 이를 채용한 라인스펙트럼주파수 계수양자화방법 및 장치
US20070067166A1 (en) 2003-09-17 2007-03-22 Xingde Pan Method and device of multi-resolution vector quantilization for audio encoding and decoding
KR20060068278A (ko) * 2004-12-16 2006-06-21 한국전자통신연구원 분산 음성 인식 시스템에서의 멜켑스트럼 계수의 양자화방법 및 장치
KR100728056B1 (ko) 2006-04-04 2007-06-13 삼성전자주식회사 다중 경로 트랠리스 부호화 양자화 방법 및 이를 이용한다중 경로 트랠리스 부호화 양자화 장치
CN101089951B (zh) * 2006-06-16 2011-08-31 北京天籁传音数字技术有限公司 频带扩展编码方法及装置和解码方法及装置
US8589151B2 (en) 2006-06-21 2013-11-19 Harris Corporation Vocoder and associated method that transcodes between mixed excitation linear prediction (MELP) vocoders with different speech frame rates
US7414549B1 (en) 2006-08-04 2008-08-19 The Texas A&M University System Wyner-Ziv coding based on TCQ and LDPC codes
BRPI0721079A2 (pt) 2006-12-13 2014-07-01 Panasonic Corp Dispositivo de codificação, dispositivo de decodificação e método dos mesmos
US8249860B2 (en) * 2006-12-15 2012-08-21 Panasonic Corporation Adaptive sound source vector quantization unit and adaptive sound source vector quantization method
KR100903110B1 (ko) * 2007-04-13 2009-06-16 한국전자통신연구원 트렐리스 부호 양자화 알고리듬을 이용한 광대역 음성 부호화기용 lsf 계수 양자화 장치 및 방법
CN101399041A (zh) * 2007-09-30 2009-04-01 华为技术有限公司 背景噪声编解码方法及装置
KR101671005B1 (ko) 2007-12-27 2016-11-01 삼성전자주식회사 트렐리스를 이용한 양자화 부호화 및 역양자화 복호화 방법및 장치
US8306007B2 (en) * 2008-01-16 2012-11-06 Panasonic Corporation Vector quantizer, vector inverse quantizer, and methods therefor
CN101609682B (zh) 2008-06-16 2012-08-08 向为 自适应多速率宽带不连续发送的一种编码器和方法
EP2139000B1 (en) 2008-06-25 2011-05-25 Thomson Licensing Method and apparatus for encoding or decoding a speech and/or non-speech audio input signal
RU2519027C2 (ru) 2009-02-13 2014-06-10 Панасоник Корпорэйшн Устройство векторного квантования, устройство векторного обратного квантования и способы для этого
US8670990B2 (en) 2009-08-03 2014-03-11 Broadcom Corporation Dynamic time scale modification for reduced bit rate audio coding
WO2011087333A2 (ko) * 2010-01-15 2011-07-21 엘지전자 주식회사 오디오 신호 처리 방법 및 장치
CN102906812B (zh) * 2010-04-08 2016-08-10 Lg电子株式会社 处理音频信号的方法和装置
CN103050121A (zh) * 2012-12-31 2013-04-17 北京迅光达通信技术有限公司 线性预测语音编码方法及语音合成方法
CN103236262B (zh) * 2013-05-13 2015-08-26 大连理工大学 一种语音编码器码流的转码方法
CN103325375B (zh) * 2013-06-05 2016-05-04 上海交通大学 一种极低码率语音编解码设备及编解码方法
CN103632673B (zh) * 2013-11-05 2016-05-18 无锡北邮感知技术产业研究院有限公司 一种语音线性预测模型的非线性量化方法
KR20240010550A (ko) * 2014-03-28 2024-01-23 삼성전자주식회사 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치
WO2015170899A1 (ko) * 2014-05-07 2015-11-12 삼성전자 주식회사 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110130290A (ko) * 2010-05-27 2011-12-05 삼성전자주식회사 Lpc 계수 양자화를 위한 가중치 함수 결정 장치 및 방법
KR20120039865A (ko) * 2010-10-18 2012-04-26 삼성전자주식회사 선형 예측 계수를 양자화하기 위한 저복잡도를 가지는 가중치 함수 결정 장치 및 방법
WO2012144878A2 (en) * 2011-04-21 2012-10-26 Samsung Electronics Co., Ltd. Method of quantizing linear predictive coding coefficients, sound encoding method, method of de-quantizing linear predictive coding coefficients, sound decoding method, and recording medium
WO2012144877A2 (en) * 2011-04-21 2012-10-26 Samsung Electronics Co., Ltd. Apparatus for quantizing linear predictive coding coefficients, sound encoding apparatus, apparatus for de-quantizing linear predictive coding coefficients, sound decoding apparatus, and electronic device therefor
KR20120120085A (ko) * 2011-04-21 2012-11-01 삼성전자주식회사 선형예측계수 양자화장치, 사운드 부호화장치, 선형예측계수 역양자화장치, 사운드 복호화장치와 전자기기

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ETSI TS 126 445 V12.0.0, EVS Codec Detailed Algorithmic Description, 2014.11. *
ITU-T Recommendation. G.718. Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit/s. ITU-T, 2008.06. *

Also Published As

Publication number Publication date
KR20230149335A (ko) 2023-10-26
EP4375992A3 (en) 2024-07-10
EP4418266A2 (en) 2024-08-21
KR20220067003A (ko) 2022-05-24
US11922960B2 (en) 2024-03-05
US11238878B2 (en) 2022-02-01
WO2015170899A1 (ko) 2015-11-12
CN112927702A (zh) 2021-06-08
EP4375992A2 (en) 2024-05-29
US20220130403A1 (en) 2022-04-28
EP3142110C0 (en) 2024-06-26
EP3142110A4 (en) 2017-11-29
US10504532B2 (en) 2019-12-10
KR102593442B1 (ko) 2023-10-25
CN112927703A (zh) 2021-06-08
CN107077857B (zh) 2021-03-09
EP3142110B1 (en) 2024-06-26
US20170154632A1 (en) 2017-06-01
CN107077857A (zh) 2017-08-18
US20200105285A1 (en) 2020-04-02
KR102400540B1 (ko) 2022-05-20
EP3142110A1 (en) 2017-03-15

Similar Documents

Publication Publication Date Title
KR101997037B1 (ko) 선형예측계수 양자화장치, 사운드 부호화장치, 선형예측계수 역양자화장치, 사운드 복호화장치와 전자기기
US11848020B2 (en) Method and device for quantization of linear prediction coefficient and method and device for inverse quantization
KR101997038B1 (ko) 선형예측계수 양자화방법, 사운드 부호화방법, 선형예측계수 역양자화방법, 사운드 복호화방법, 그 기록매체
KR102400540B1 (ko) 선형예측계수 양자화방법 및 장치와 역양자화 방법 및 장치
EP3621074B1 (en) Weight function determination device and method for quantizing linear prediction coding coefficient

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant