KR101725531B1 - 주파수 엔벌로프 벡터 양자화 방법 및 장치 - Google Patents

주파수 엔벌로프 벡터 양자화 방법 및 장치 Download PDF

Info

Publication number
KR101725531B1
KR101725531B1 KR1020157033916A KR20157033916A KR101725531B1 KR 101725531 B1 KR101725531 B1 KR 101725531B1 KR 1020157033916 A KR1020157033916 A KR 1020157033916A KR 20157033916 A KR20157033916 A KR 20157033916A KR 101725531 B1 KR101725531 B1 KR 101725531B1
Authority
KR
South Korea
Prior art keywords
codebook
vector
quantized
vectors
quantization
Prior art date
Application number
KR1020157033916A
Other languages
English (en)
Other versions
KR20160003178A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=52143115&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101725531(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20160003178A publication Critical patent/KR20160003178A/ko
Application granted granted Critical
Publication of KR101725531B1 publication Critical patent/KR101725531B1/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/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
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • 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
    • 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
    • G10L2019/0005Multi-stage vector quantisation
    • 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/0013Codebook search algorithms

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)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명의 실시예들은 주파수 엔벌로프 벡터 양자화 방법 및 장치를 제안하는데, 본 방법은: 하나의 프레임 내의 N개의 주파수 엔벌로프를 N1개의 벡터로 분할하는 단계 - N1개의 벡터 내의 각각의 벡터는 M개의 주파수 엔벌로프를 포함함 -; N1개의 벡터 중 제1 벡터를 B개의 비트를 가지는 제1 코드북을 이용하여 양자화하여 양자화된 제1 벡터에 대응하는 코드워드를 획득하는 단계 - 제1 코드북은 2B1개의 부분으로 분할됨 -; 양자화된 제1 벡터에 대응하는 코드워드에 따라, 양자화된 제1 벡터가 제1 코드북의 2B1개의 부분 내의 i번째 부분과 연관되는 것으로 결정하는 단계; i번째 부분의 코드북에 따라 제2 코드북을 결정하는 단계; 및 제2 코드북에 기초하여 N1개의 벡터 중 제2 벡터를 양자화하는 단계를 포함한다. 본 발명의 실시예들에서는, 주파수 엔벌로프를 보다 작은 차원을 가지는 복수의 벡터로 분할함으로써, 벡터 양자화가 더 작은 비트량을 가지는 코드북을 이용하여 주파수 엔벌로프 벡터에 대해 수행될 수 있다. 따라서, 벡터 양자화의 복잡도가 경감될 수 있고, 벡터 양자화의 효과가 달성될 수 있다.

Description

주파수 엔벌로프 벡터 양자화 방법 및 장치 {FREQUENCY ENVELOPE VECTOR QUANTIZATION METHOD AND APPARATUS}
본 발명은 인코딩 및 디코딩 분야에 관한 것으로서, 구체적으로는 주파수 엔벌로프 벡터 양자화 방법 및 장치에 관한 것이다.
일반적으로, 입력 신호의 하나의 프레임 내의 모든 또는 일부 주파수의 에너지 값의 평균이 내어지고, 평균 에너지 값의 제곱근이 계산되어 이들 주파수의 주파수 엔벌로프를 획득한다.
최근, 코덱에 의해 주파수 엔벌로프를 양자화하는 방법은 보통 단순한 스칼라 양자화 또는 벡터 양자화로 불린다. 그러나, 일부 특별한 경우에는, 예를 들어, 다수의 주파수 엔벌로프가 하나의 프레임으로부터 획득되어야 하고 주파수 엔벌로프를 양자화하는데 이용되는 비트량이 다소 제한되어 있는 경우에는, 스칼라 양자화가 주파수 엔벌로프 각각에 대해 이용되면, 많은 양의 비트가 소비될 수 있다.
현재의 벡터 양자와 방법은 이하의 단계들을 포함한다: (1) 벡터의 차원(dimension)에 따라, 양자화되어야 하는 주파수를 복수의 벡터로 분할한다; (2) 각각의 벡터를 양자화하기 위한 비트의 수량 B에 따라, 그리고 많은 양의 벡터 샘플을 이용함으로써 2B의 길이를 가지는 코드북을 선-트레이닝한다, 즉, 이 코드북은 2B 벡터를 가지고, 이들 벡터는 많은 양의 벡터 샘플에 따라 사전 트레이닝된다; (3) 양자화되어야 하는 벡터 A를 코드북 내의 각각의 벡터와 비교하고, 벡터 A에 가장 근접한 벡터 B를 검색한다; (4) 코드북 내의 벡터 B의 위치 인덱스가 벡터 A의 양자화된 값이 된다. 따라서, 모든 주파수 엔벌로프가 벡터 양자화를 위한 벡터로서 조합되면, 많은 코드북이 필요하게 되어, 복잡도가 증가한다.
단순하고 효과적인 주파수 엔벌로프 벡터 양자화 방법을 설계하는 한편, 양자화 품질도 보장하는 방법은 해결되어야 하는 긴급한 과제이다.
본 발명은, 코드북 내의 불충분한 비트량와 상대적으로 많은 양의 주파수 엔벌로프에 의해 야기되는 불충분한 양자화 정확도와 지나치게 높은 복잡도라는 문제들을 해결하는데 목표를 두는 주파수 엔벌로프 벡터 양자화 방법 및 장치를 제안한다.
제1 태양에 따르면, 주파수 엔벌로프 벡터 양자화 방법이 제안되며, 본 방법은: 하나의 프레임 내의 N개의 주파수 엔벌로프를 N1개의 벡터로 분할하는 단계 - 상기 N1개의 벡터 내의 각각의 벡터는 M개의 주파수 엔벌로프를 포함하고, N1, N, 및 M은 양의 정수이며, M은 2 이상이고, N은 N1보다 큼 -; 상기 N1개의 벡터 중 제1 벡터를 B개의 비트를 가지는 제1 코드북을 이용하여 양자화하여 양자화된 제1 벡터에 대응하는 코드워드를 획득하는 단계 - 상기 제1 코드북은 2B1개의 부분으로 분할되고, B는 2 이상의 양의 정수이고, B1은 1 이상의 양의 정수임 -; 상기 양자화된 제1 벡터에 대응하는 코드워드에 따라, 상기 양자화된 제1 벡터가 상기 제1 코드북의 2B1개의 부분 내의 i번째 부분과 연관되는 것으로 결정하는 단계 - i는 1 이상 2B1이하인 양의 정수임 -; 상기 i번째 부분의 코드북에 따라 제2 코드북을 결정하는 단계; 및 상기 제2 코드북에 기초하여 상기 N1개의 벡터 중 제2 벡터를 양자화하는 단계를 포함한다.
제1 태양을 참고하여, 제1 태양의 제1 구현 방식에서는, 상기 i번째 부분의 코드북에 따라 제2 코드북을 결정하는 단계는: 상기 제1 코드북의 i번째 부분을 상기 제2 코드북으로 이용하는 단계를 포함하고, 여기서 상기 제1 코드북의 i번째 부분 내의 비트량은 B - B1개이다.
제1 태양을 참고하여, 제1 태양의 제2 구현 방식에서는, 상기 i번째 부분의 코드북에 따라 제2 코드북을 결정하는 단계는: 사전 트레이닝된(pre-trained) 코드북을 상기 제2 코드북으로 이용하는 단계를 포함하고, 여기서 상기 사전 트레이닝된 코드북 내의 비트량과 상기 제1 코드북의 i번째 부분 내의 비트량은 동일하며, 모두 B - B1개이다.
제1 태양 또는 제1 태양의 제1 또는 제2 구현 방식을 참고하여, 제1 태양의 제3 구현 방식에서는, 상기 B1이 1일 때, 상기 양자화된 제1 벡터에 대응하는 코드워드에 따라, 상기 양자화된 제1 벡터가 상기 제1 코드북의 2B1개의 부분 내의 i번째 부분과 연관된 것으로 결정하는 단계는: 상기 양자화된 제1 벡터에 대응하는 코드워드가 상기 제1 코드북의 2개의 부분 중 앞부분에 속하는 경우, 상기 양자화된 제1 벡터가 상기 제1 코드북의 앞부분과 연관된 것으로 결정하는 단계; 또는 상기 양자화된 제1 벡터에 대응하는 코드워드가 상기 제1 코드북의 2개의 부분 중 뒷부분에 속하는 경우, 상기 양자화된 제1 벡터가 상기 제1 코드북의 뒷부분과 연관된 것으로 결정하는 단계를 포함한다.
제1 태양, 제1 태양의 제1 또는 제2 구현 방식을 참고하여, 제1 태양의 제4 구현 방식에서는, 상기 M이 2이고 상기 B1이 1일 때, 상기 양자화된 제1 벡터에 대응하는 코드워드에 따라, 상기 양자화된 제1 벡터가 상기 제1 코드북의 2B1개의 부분 내의 i번째 부분과 연관된 것으로 결정하는 단계는: 상기 코드워드에 대응하는 양자화된 제1 벡터의 제2 값에 대한 상기 코드워드에 대응하는 양자화된 제1 벡터의 제1 값의 비(ratio)가 미리 설정된 범위 내인지를 판정하는 단계; 및 상기 비가 미리 설정된 범위 내인 것으로 판정되는 경우, 상기 양자화된 제1 벡터가 상기 제1 코드북의 2개의 부분 중 앞부분과 연관된 것으로 결정하거나; 또는 상기 비가 미리 설정된 범위 내가 아닌 것으로 판정되는 경우, 상기 양자화된 제1 벡터가 상기 제1 코드북의 2개의 부분 중 뒷부분과 연관된 것으로 결정하는 단계를 포함한다.
제1 태양 또는 제1 태양의 제1 내지 제4 구현 방식 중 어느 하나를 참고하여, 제1 태양의 제5 구현 방식에서는, 상기 하나의 프레임 내의 N개의 주파수 엔벌로프를 N1개의 벡터로 분할하는 단계 - 상기 N1개의 벡터 내의 각각의 벡터는 M개의 주파수 엔벌로프를 포함함 -는: 상기 하나의 프레임이 M개의 서브프레임을 포함하고, 상기 M개의 서브프레임 내의 각각의 서브프레임이 N1개의 엔벌로프를 포함하는 경우 - 여기서 M과 N1의 곱(product)이 N임 -, N1개의 벡터를 획득하기 위해, 상기 M개의 서브프레임 내의 각각의 서브프레임에 대응하는 엔벌로프를 하나의 벡터 내로 조합(combine)하는 단계를 포함하고, 여기서 상기 N1개의 벡터 내의 각각의 벡터는 M개의 주파수 엔벌로프를 포함한다.
제2 태양에 따르면, 주파수 엔벌로프 벡터 양자화 장치가 제안되며, 본 장치는: 하나의 프레임 내의 N개의 주파수 엔벌로프를 N1개의 벡터로 분할하도록 구성된 벡터 분할 유닛 - 상기 N1개의 벡터 내의 각각의 벡터는 M개의 주파수 엔벌로프를 포함하고, N1, N, 및 M은 양의 정수이며, M은 2 이상이고, N은 N1보다 큼 -; 상기 벡터 분할 유닛에 의한 분할에 의해 획득된 상기 N1개의 벡터 중 제1 벡터를 양자화하여 양자화된 제1 벡터에 대응하는 코드워드를 획득하기 위해, B개의 비트를 가지는 제1 코드북을 이용하도록 구성된 제1 양자화 유닛 - 상기 제1 코드북은 2B1개의 부분으로 분할되고, B는 2 이상의 양의 정수이고, B1은 1 이상의 양의 정수임 -; 상기 제1 양자화 유닛에 의한 양자화에 의해 획득된 양자화된 제1 벡터에 대응하는 코드워드에 따라, 상기 양자화된 제1 벡터가 상기 제1 코드북의 2B1개의 부분 중 i번째 부분과 연관되는 것으로 결정하도록 구성된 제1 결정 유닛 - i는 1 이상 2B1이하인 양의 정수임 -; 상기 제1 결정 유닛에 의해 결정된 상기 i번째 부분의 코드북에 따라 제2 코드북을 결정하도록 구성된 제2 결정 유닛; 및 상기 제2 결정 유닛에 의해 결정된 제2 코드북에 기초하여 상기 N1개의 벡터 중 제2 벡터를 양자화하도록 구성된 제2 양자화 유닛을 포함한다.
제2 태양을 참고하여, 제2 태양의 제1 구현 방식에서는, 상기 제2 결정 유닛은 구체적으로: 상기 제1 코드북의 i번째 부분을 상기 제2 코드북으로 이용하도록 구성되고, 여기서 상기 제1 코드북의 i번째 부분 내의 비트량은 B - B1개이다.
제2 태양을 참고하여, 제2 태양의 제2 구현 방식에서는, 상기 제2 결정 유닛은 구체적으로: 사전 트레이닝된(pre-trained) 코드북을 상기 제2 코드북으로 이용하도록 구성되고, 여기서 상기 사전 트레이닝된 코드북 내의 비트량과 상기 제1 코드북의 i번째 부분 내의 비트량은 동일하며, 모두 B - B1개이다.
제2 태양 또는 제2 태양의 제1 또는 제2 구현 방식을 참고하여, 제2 태양의 제3 구현 방식에서는, 상기 B1이 1일 때, 상기 제1 결정 유닛은 구체적으로: 상기 양자화된 제1 벡터에 대응하는 코드워드가 상기 제1 코드북의 2개의 부분 중 앞부분에 속하는 경우, 상기 양자화된 제1 벡터가 상기 제1 코드북의 앞부분과 연관된 것으로 결정하거나; 또는 상기 양자화된 제1 벡터에 대응하는 코드워드가 상기 제1 코드북의 2개의 부분 중 뒷부분에 속하는 경우, 상기 양자화된 제1 벡터가 상기 제1 코드북의 뒷부분과 연관된 것으로 결정하도록 구성된다.
제2 태양, 제2 태양의 제1 또는 제2 구현 방식을 참고하여, 제2 태양의 제4 구현 방식에서는, 상기 M이 2이고 상기 B1이 1일 때, 상기 제1 결정 유닛은 구체적으로: 상기 코드워드에 대응하는 양자화된 제1 벡터의 제2 값에 대한 상기 코드워드에 대응하는 양자화된 제1 벡터의 제1 값의 비(ratio)가 미리 설정된 범위 내인지를 판정하고; 상기 비가 미리 설정된 범위 내인 것으로 판정되는 경우, 상기 양자화된 제1 벡터가 상기 제1 코드북의 2개의 부분 중 앞부분과 연관된 것으로 결정하거나; 또는 상기 비가 미리 설정된 범위 내가 아닌 것으로 판정되는 경우, 상기 양자화된 제1 벡터가 상기 제1 코드북의 2개의 부분 중 뒷부분과 연관된 것으로 결정하도록 구성된다.
제2 태양 또는 제2 태양의 제1 내지 제4 구현 방식 중 어느 하나를 참고하여, 제2 태양의 제5 구현 방식에서는, 상기 벡터 분할 유닛은 구체적으로: 상기 하나의 프레임이 M개의 서브프레임을 포함하고, 상기 M개의 서브프레임 내의 각각의 서브프레임이 N1개의 엔벌로프를 포함하는 경우 - 여기서 M과 N1의 곱(product)이 N임 -, N1개의 벡터를 획득하기 위해, 상기 M개의 서브프레임 내의 각각의 서브프레임에 대응하는 엔벌로프를 하나의 벡터 내로 조합하도록 구성되며, 여기서 상기 N1개의 벡터 내의 각각의 벡터는 M개의 주파수 엔벌로프를 포함한다.
본 발명의 실시예들에서는, 주파수 엔벌로프를 보다 작은 차원(dimension)을 가지는 복수의 벡터로 분할함으로써, 더 작은 비트량을 가지는 코드북을 이용하여, 벡터 양자화가 주파수 엔벌로프 벡터에 대해 수행될 수 있다. 따라서, 벡터 양자화의 복잡도가 경감될 수 있고, 벡터 양자화의 효과가 달성될 수 있다.
본 발명의 실시예들에서의 기술적 해결수단들을 보다 명확하게 설명하기 위해, 이하에서는 본 발명의 실시예들을 설명하는데 필요한 첨부한 도면들을 간략하게 소개한다. 물론, 이하의 설명에서의 첨부한 도면들은 본 발명의 일부 실시에들을 보여주는 것에 불과하며, 통상의 기술자라면 첨부한 도면들로부터 창작적 노력 없이도 다른 도면들을 충분히 이끌어 낼 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따르는 주파수 엔벌로프 벡터 양자화 방법의 흐름도이다.
도 2는 본 발명의 일 실시예에 따르는 주파수 엔벌로프 벡터 양자화 장치의 구조도이다.
도 3은 본 발명의 일 실시예에 따르는 주파수 엔벌로프 벡터 양자화 방법을 구현하는 코덱을 보여준다.
이하에서는 본 발명의 실시예들의 첨부한 도면들을 참고하여 본 발명의 실시예들에서의 기술적 해결수단들을 명확하고 완전하게 설명한다. 물론, 설명된 실시예들은 본 발명의 모든 실시예가 아닌 일부에 불과하다. 통상의 기술자가 본 발명의 실시예들에 기초하여 창작적 노력 없이 획득하는 모든 다른 실시예들은 본 발명의 보호범위 내에 포함되어야 한다.
특히, 벡터 양자화가 주파수 엔벌로프(envelope)에 대해 수행될 때 비트의 전체 수량이 제한되는 경우에 대해, 본 발명의 실시예들은, 서브프레임 내의 주파수 엔벌로프 사이의 관련성과 같은 관계를 이용하고, 그리고 인코딩되어야 하는 주파수 엔벌로프의 특징들에 따라, 간단하고, 비트-절약적이며, 효과적인 양자화를 보장할 수 있는 주파수 엔벌로프 벡터 양자화 방법을 제안한다. 본 발명의 실시에에 따른 벡터 양자화 방법은 하나의 프레임이 복수의 주파수 엔벌로프를 포함하는 경우에 특화되어 있다.
도 1을 참고하여, 이하에서는 본 발명의 일 실시예에 따른 주파수 엔벌로프 벡터 양자화 방법을 설명한다. 벡터 양자화 방법은 이하의 단계들을 포함한다:
S101. 하나의 프레임 내의 N개의 주파수 엔벌로프를 N1개의 벡터로 분할한다. 여기서 N1개의 벡터 내의 각각의 벡터는 M개의 주파수 엔벌로프를 포함하고, N1, N, 및 M은 양의 정수이며, M은 2 이상이고, N은 N1보다 크다.
예를 들어, 하나의 프레임 내의 N개의 주파수 엔벌로프가 N1개의 M-차원의 벡터로 분할되고, 따라서 N1 x M = N이다. 이후, 벡터 양자화가 N1개의 벡터에 대해 수행된다. 이 방식에서, 적절한 양자화 정밀도를 달성하기 위해 차원량(quantity of dimensions)이 감소하기 때문에, 단일 벡터에 대해 요구되는 비트량이 이에 따라 감소하고, 벡터 양자화의 복잡도도 감소한다.
하나의 프레임이 M개의 서브프레임을 포함하는 경우, 차원량을 감소시키기 위해 M개의 서브프레임 내의 각각의 서브프레임은 N1개의 엔벌로프를 포함하고, 여기서 M과 N1의 곱은 N이며, M개의 서브프레임 내의 각각의 서브프레임에 대응하는 엔벌로프는 하나의 벡터 내에 추가로 조합될 수 있다. 여기서, 대응하는 엔벌로프는 대응하는 위체에서의 엔벌로프일 수 있다. 예를 들어, M개의 서브프레임 중 제1 엔벌로프들은 제1 벡터 내에 조합되고, M개의 서브프레임 중 제2 엔벌로프들은 제2 벡터 내에 조합되며, 나머지는 유추하여 생각될 수 있다. 마지막으로, N1개의 벡터가 획득되고, 각각의 벡터는 M개의 주파수 엔벌로프를 포함한다.
대체로, 상이한 벡터 조합 방식이 상이한 주파수 엔벌로프 특징을 위해 이용될 수 있다. 먼저, 동일한 서브프레임이 2개 이상의 주파수 엔벌로프를 가지는 경우, 그리고 적은 양의 서브프레임만, 예를 들어 2개의 서브프레임만이 있는 경우, 상이한 서브프레임의 동일한 주파수 엔벌로프가 조합될 수 있고, 이에 따라 복수의 2차원 벡터가 획득될 수 있으며; 다음으로 2개 이상의 서브프레임이 있는 경우, 서브프레임의 제1 주파수 엔벌로프가 제1 벡터 내에 조합될 수 있으며, 서브프레임의 J번째 주파수 엔벌로프는 J번째 벡터 내에 조합될 수 있다.
S102: 제1 코드북을 이용하여 N1개의 벡터 중 제1 벡터를 양자화하고, 양자화된 제1 벡터에 대응하는 코드워드를 획득한다. 여기서 제1 코드북 내의 B개의 비트는 2B1개의 부분으로 분할되고, B는 2 이상의 양의 정수이고, B1은 1 이상의 양의 정수이다.
예를 들어, 제1 벡터에 대해 벡터 양자화를 수행하기 위해 필요한 비트량은 B이고; 2B개의 코드워드를 가지는 제1 코드북은 트레이닝에 의해 획득되어야 한다. N1개의 주파수 엔벌로프 벡터가 동일한 프레임에 속하기 때문에, N1개의 벡터에 대한 일련의 코드북은 이들 벡터의 순서에 따라 조정될 수 있고, 이에 따라 이전의 벡터의 양자화 결과에 따라 후속 벡터의 범위를 추정하며, 후속 벡터에 대해 벡터 양자화를 수행하는데 요구되는 비트량을 감소시키기 된다.
제1 코드북이 2개의 부분으로 분할되고, 제1 코드북의 후속하는 하나의 부분이 후속 벡터를 양자화하는데 이용된다면, 후속 벡터를 양자화하는데 이용되는 제1 코드북의 그 부분은 B-1개의 비트만을 가지고; 제1 코드북이 4개의 부분으로 분할되고, 제1 코드북의 후속하는 하나의 부분이 후속 벡터를 양자화하는데 이용된다면, 후속 벡터를 양자화하는데 이용되는 제1 코드북의 그 부분은 B-3개의 비트만을 가지며; 나머지는 유추에 의해 추론될 수 있다는 것을 쉽게 알 수 있다. 이는, 더 적은 비트량을 가지는 코드북이 주파수 엔벌로프 벡터에 대해 벡터 양자화를 수행하기 위해 이용될 수 있고, 이에 따라 벡터 양자화의 복잡도가 감소하며 벡터 양자화의 효과가 보장된다.
S103. 양자화된 제1 벡터에 대응하는 코드워드에 따라, 양자화된 제1 벡터가 제1 코드북의 2B1개의 부분 내의 i번째 부분과 연관되는 것으로 결정한다. 여기서 i는 1 이상 2B1이하인 양의 정수이다.
예를 들어, B1이 1일 때, 제1 코드북은 2개의 부분으로 분할된다. 따라서, 양자화된 제1 벡터는 제1 코드북 내의 각각의 벡터와 비교되고, 제1 코드북 내에 있고 제1 벡터에 가장 가까운 벡터를 검색하는데, 여기서 제1 코드북 내의 벡터의 위치 인덱스는 제1 벡터의 양자화된 값이다.
제1 벡터의 양자화된 값이 제1 코드북의 앞부분 내에 있는 것으로 판정된 경우, 양자화된 제1 벡터에 대응하는 코드워드가 제1 코드북의 2개의 부분 중 앞부분에 속하는 것으로 판정되는데, 즉, 양자화된 제1 벡터가 제1 코드북의 앞부분에 연관된 것으로 판정되며, 제1 코드북의 앞부분은 제2 코드북으로서 이용될 수 있고; 또는 제1 벡터의 양자화된 값이 제1 코드북의 뒷부분 내에 있는 것으로 판정된 경우, 양자화된 제1 벡터에 대응하는 코드워드가 제1 코드북의 2개의 부분 중 뒷부분에 속하는 것으로 판정되는데, 즉, 양자화된 제1 벡터가 제1 코드북의 뒷부분에 연관된 것으로 판정되며, 제1 코드북의 뒷부분은 제2 코드북으로서 이용될 수 있다.
다르게는, 예를 들면, M이 2이고 B1이 일 때, 제1 코드북은 2개의 부분으로 분할되고, 각각의 벡터는 2차원이 된다. 따라서, 양자화된 제1 벡터는 제1 코드북 내의 각각의 벡터와 비교되어, 제1 코드북 내에서 제1 벡터에 가장 가까운 벡터를 검색하는데, 여기서 제1 코드북 내의 벡터의 위치 인덱스는 제1 벡터의 양자화된 값이다.
이후, 코드워드에 대응하는 양자화된 제1 벡터의 제2 값에 대한 코드워드에 대응하는 양자화된 제1 벡터의 제1 값의 비가 미리 설정된 범위 내인지가 판정되고, 그 비가 비리 설정된 범위 내인 것으로 판정된 경우, 양자화된 제1 벡터는 제1 코드북의 2개의 부분 중 앞부분과 연관되는 것으로 판정되거나; 또는 그 비가 미리 설정된 범위 내에 있지 않은 것으로 판정되는 경우, 양자화된 제1 벡터가 제1 코드북의 2개의 부분 중 뒷부분에 연관된 것으로 판정된다. 여기서, 미리 설정된 범위는 경험칙에 따라 미리 설정되는 임계값 범위이다.
2차원 벡터를 포함하는 제1 코드북이 {(a1, b1), (a2, b2), (a3, b3), (a4, b4)}인 것으로 가정하고, 여기서 (a1, b1)의 코드워드(즉, 제1 코드북에서의 (a1, b1)의 위치 인덱스)는 1이고, (a2, b2)의 코드워드는 2이며, (a3, b3)의 코드워드는 3이고, (a4, b4)의 코드워드는 4이다. 코드워드는 코드북 내에서 코드북 내의 각각의 벡터에 대응하고 있는 위치 인덱스이다. 양자화된 제1 벡터에 대응하는 코드워드가 3인 것으로 판정되면, 코드워드에 대응하는 양자화된 제1 벡터는 (a3, b3)이다. 이후, 제2 값(b3)에 대한 제1 값(a3)의 비가 미리 설정된 범위 [a, b]와 비교되고, 그 비가 범위 내라면, 양자화된 제1 벡터가 제1 코드북의 2개의 부분 중 앞부분에 연관된 것으로 판정되고, 제1 코드북의 앞부분이 제2 코드북으로서 이용될 수 있거나; 또는 그 비가 위 범위 내가 아니라면, 양자화된 제1 벡터가 제1 코드북의 2개의 부분 중 뒷부분에 연관된 것으로 판정되고, 제1 코드북의 뒷부분이 제2 코드북으로서 이용될 수 있다.
S104. i번째 부분의 코드북에 따라 제2 코드북을 결정한다.
예를 들어, 전술한 것처럼, 제1 코드북의 i번째 부분은 제2 코드북으로 이용될 수 있고, 여기서 제1 코드북의 i번째 부분 내의 비트량은 B - B1이다. 다르게는, 예를 들면, 사전 트레이닝된 코드북이 제2 코드북으로서 이용될 수 있는데, 여기서 사전 트레이닝된 코드북 내의 비트량과 제1 코드북의 i번째 부분 내의 비트량은 동일하며, 모두 B - B1이다.
즉, 제2 벡터에 대한 코드북은 제1 벡터를 양자화하기 위한 코드북의 일부에 따라 직접 결정될 수 있다. 실제 동작에서는, 제1 코드북 내의 일부의 코드워드만을 포함하는 하나 이상의 코드워드(B - B1개의 비트를 가짐)가 상이한 코덱의 요구조건에 따라 사전 트레이닝될 수 있고, 제2 벡터 및 후속 벡터에 대한 코드북으로서 이용될 수 있어서, 이에 따라 양자화를 위해 필요한 비트량을 감소시키고 양자화 품질을 최적화할 수 있는 효과를 달성하게 된다.
S105. 제2 코드북에 기초하여 N1개의 벡터 중 제2 벡터를 양자화한다.
예를 들어, 제2 벡터와 후속 벡터는, 제1 벡터를 양자화한 결과에 따라 결정되는 제2 코드북에 기초하여 양자화될 수 있다. 즉, B개의 비트를 가지는 제1 코드북이 N1개의 벡터 중 제1 벡터를 양자화하기 위해 이용되어, 양자화된 제1 벡터에 대응하는 코드워드를 획득하고; 이후 양자화된 제1 벡터에 대응하는 코드워드가 제1 코드북의 2B1개의 부분 중 i번째 부분에 속하는 것으로 판정되며; 이후 제2 코드북이 i번째 부분의 코드북에 따라 판정되고; 마지막으로 제2 코드북이 이용되어 제1 벡터를 제외한 N1개의 벡터 중 다른 벡터를 양자화한다.
다르게는, 예를 들어, 제2 벡터는 또한 제1 벡터를 양자화한 결과에 따라 결정되는 제2 코드북에 기초하여 양자화될 수 있고, 이후 제3 벡터는 제2 벡터를 양자화한 결과에 따라 결정되는 제3 코드북에 기초하여 양자화되며, 나머지는 유추에 의해 추론될 수 있다.
본 발명의 실시예들에서, 주파수 엔벌로프를 보다 작은 차원을 가지는 복수의 벡터로 분할함으로써, 벡터 양자화가, 더 작은 비트량을 가지는 코드북을 이용하여 주파수 엔벌로프 벡터에 대해 수행될 수 있다는 것을 알 수 있다. 따라서, 벡터 양자화의 복잡도가 경감될 수 있고, 벡터 양자화의 효과가 달성될 수 있다.
일 구현 방식에서, B1이 1일 때, 단계 103에서 양자화된 제1 벡터에 대응하는 코드워드가 제1 코드북의 2B1개의 부분 중 i번째 부분에 속하는 것으로 결정하는 단계와 단계 S104에서 i번째 부분의 코드북에 따라 제2 코드북을 결정하는 단계는 구체적으로:
양자화된 제1 벡터에 대응하는 코드워드가 제1 코드북의 2개의 부분 중 제1 부분, 예를 들어 앞부분에 속하는지를 판정하는 단계; 및
양자화된 제1 벡터에 대응하는 코드워드가 제1 코드북의 2개의 부분 중 앞부분에 속하는 것으로 판정되는 경우, 양자화된 제1 벡터가 제1 코드북의 앞부분과 연관된 것으로 결정하고, 제2 코드북이 제1 코드북의 앞부분인 것으로 더 결정하는 단계; 또는,
양자화된 제1 벡터에 대응하는 코드워드가 제1 코드북의 2개의 부분 중 앞부분에 속하지 않는 것으로 판정되는 경우, 양자화된 제1 벡터가 제1 코드북의 뒷부분과 연관된 것으로 결정하고, 제2 코드북이 제1 코드북의 뒷부분인 것으로 더 결정하는 단계를 포함한다.
이 경우에서는, 제2 코드북은 B - 1개의 비트만을 필요로 한다.
다른 구현 방식에서, M이 2이고 B1이 1일 때, 단계 103에서 양자화된 제1 벡터에 대응하는 코드워드에 따라, 양자화된 제1 벡터가 제1 코드북의 2B1개의 부분 중 i번째 부분과 연관되는 것으로 결정하는 단계와 단계 S104에서 i번째 부분의 코드북에 따라 제2 코드북을 결정하는 단계는 구체적으로:
코드워드에 대응하는 양자화된 제1 벡터의 제2 값에 대한 코드워드에 대응하는 양자화된 제1 벡터의 제1 값의 비가 미리 설정된 범위 내인지를 판정하는 단계; 및
그 비가 미리 설정된 범위 내인 것으로 판정되는 경우, 양자화된 제1 벡터가 제1 코드북의 2개의 부분 중 앞부분과 연관된 것으로 결정하고, 제2 코드북이 제1 코드북의 앞부분인 것으로 더 결정하는 단계; 또는
그 비가 미리 설정된 범위 내가 아닌 것으로 판정되는 경우, 양자화된 제1 벡터가 제1 코드북의 2개의 부분 중 뒷부분과 연관된 것으로 결정하고, 제2 코드북이 제1 코드북의 뒷부분인 것으로 더 결정하는 단계를 포함한다.
이 경우에서는, 제2 코드북은 B - 1개의 비트만을 필요로 한다.
전술한 2개의 구현 방식에서는, B개의 비트를 가지는 제1 코드북이 2개의 부분으로 분할되는 경우는 예시적으로 설명된 것이며, 이들은 구현을 쉽게하기 위한 구현 방식들이다. 본 발명의 본 실시예에서는, 제1 코드북이 분할되는 부분의 수량은 2로 한정되지 않으며, 제1 코드북은 또한 4개의 부분, 8개의 부분, 또는 그 수량이 2의 정수승(integer power)인 더 큰 부분들로 분할될 수도 있다. 일반적으로, 제1 코드북이 분할되는 많은 양의 부분들은, 결정되는 제2 코드북의 낮은 정확성이라는 결과를 가져오고; 따라서 양자화 정밀도가 영향을 받을 수 있다. 이에 따라, B1의 값은 실제로 이용 가능한 비트량, 예를 들어, 제1 코드북이 분할되는 부분의 수량으로서 양자화 품질을 보장할 수 있는 수량을 참고하여 결정될 수 있다.
이하에서는 본 발명의 본 실시예에 따른 주파수 엔벌로프 벡터 양자화 방법의 상세한 내용을 설명하기 위한 몇 개의 구체적인 실시예들을 제공한다.
제1 구체적인 실시에는 다음과 같다: 하나의 프레임이 N개의 주파수 엔벌로프를 포함하고, 프레임이 N1개의 서브프레임으로 분할되며, 각각의 서브프레임이 동일한 수량의 M개의 주파수 엔벌로프를 가지면, 각각의 서브프레임의 주파수 엔벌로프(모두 M개의 주파수 엔벌로프)는 하나의 벡터로 패키징되고, 따라서 N1개의 벡터가 있게 된다.
먼저, 사전 트레이닝되어 분류된 2B개의 코드워드를 가지는 제1 코드북(A)이 이용되어 B개의 비트를 이용함으로써 제1 벡터를 양자화하고, 양자화 결과는 ind(1)이다.
이후, 양자화 결과 ind(1)이 제1 코드북(A)의 앞부분 내에 있는지가 판정된다.
양자화 결과 ind(1)이 제1 코드북(A)의 앞부분 내에 있으면, 코드북(A)의 앞부분 내의 코드워드가 새로운 코드북(즉, B - 1개의 비트를 포함하는 제2 코드북)으로서 이용되어, B - 1개의 비트를 이용하여 제2 벡터 및 후속 벡터를 양자화하거나; 또는
양자화 결과 ind(1)이 제1 코드북(A)의 앞부분 내에 있지 않으면, 코드북(A)의 뒷부분 내의 코드워드가 새로운 코드북(즉, B - 1개의 비트를 포함하는 제2 코드북)으로서 이용되어, B - 1개의 비트를 이용하여 제2 벡터 및 후속 벡터를 양자화한다.
제1 구체적인 실시예에서는, 먼저 일반 코드북(예를 들어, 제1 코드북)이 분류되고; 이후 제1 벡터의 양자화 결과를 참고하여, 후속 벡터의 양자화 결과가 추정되며; 이후 코드북의 범위가 후속 벡터를 양자화하기 위해 좁아진다는 것을 알 수 있다.
제2 구체적인 실시예는 다음과 같다: 벡터가 2차원이면, 본 구체적인 실시예에서의 방법이 이용될 수도 있다.
먼저, 사전 트레이닝되어 분류된 2B개의 코드워드를 가지는 제1 코드북(A)이 이용되어 B개의 비트를 이용함으로써 제1 벡터를 양자화하고, 양자화 결과는 ind(1)이다.
이후, 양자화된 제1 벡터의 2개의 값 사이의 비가 미리 설정된 범위 [a, b] 내인지가 판정되는데, 여기서 이 비는 양자화된 제1 벡터의 제2 값에 의해 양자화된 제1 벡터의 제1 값을 나눔으로써 획득되는 비다.
위 비가 미리 설정된 범위 [a, b] 내에 있으면, 코드북(A)의 앞부분 내의 코드워드가 새로운 코드북(예를 들어, B - 1개의 비트를 포함하는 제2 코드북)으로서 이용되어, B - 1개의 비트를 이용하여 제2 벡터와 후속 벡터를 양자화하거나; 또는
위 비가 미리 설정된 범위 [a, b] 내에 있지 않으면, 코드북(A)의 뒷부분 내의 코드워드가 새로운 코드북(예를 들어, B - 1개의 비트를 포함하는 제2 코드북)으로서 이용되어, B - 1개의 비트를 이용하여 제2 벡터와 후속 벡터를 양자화한다.
본 구체적인 실시예에서는, 2차원 벡터의 특성을 참고하여, 후속 벡터의 양자화 결과가 추정되고, 코드북의 범위가 후속 벡터를 양자화하기 위해 좁혀진다는 것을 알 수 있다.
도 2를 참고하여, 이하에서는 본 발명의 일 실시예에 따른 주파수 엔벌로프 벡터 양자화 장치를 설명한다.
도 2에서는, 주파수 엔벌로프 벡터 양자화 장치(20)는 벡터 분할 유닛(21), 제1 양자화 유닛(22), 제1 결정 유닛(23), 제2 결정 유닛(24), 및 제2 양자화 유닛(25)을 포함하고,
벡터 분할 유닛(21)은, 하나의 프레임 내의 N개의 주파수 엔벌로프를 N1개의 벡터로 분할하도록 구성되고, 여기서 N1개의 벡터 내의 각각의 벡터는 M개의 주파수 엔벌로프를 포함하고, N1, N, 및 M은 양의 정수이며, M은 2 이상이고, N은 N1보다 크며;
제1 양자화 유닛(22)은, 벡터 분할 유닛(21)에 의한 분할에 의해 획득된 N1개의 벡터 중 제1 벡터를 양자화하여 양자화된 제1 벡터에 대응하는 코드워드를 획득하기 위해, B개의 비트를 가지는 제1 코드북을 이용하도록 구성되고, 여기서 제1 코드북은 2B1개의 부분으로 분할되고, B는 2 이상의 양의 정수이고, B1은 1 이상의 양의 정수이며;
제1 결정 유닛(23)은, 제1 양자화 유닛(22)에 의한 양자화에 의해 획득된 양자화된 제1 벡터에 대응하는 코드워드에 따라, 양자화된 제1 벡터가 제1 코드북의 2B1개의 부분 중 i번째 부분과 연관되는 것으로 결정하도록 구성되고, 여기서 i는 1 이상 2B1이하인 양의 정수이며;
제2 결정 유닛(24)은, 제1 결정 유닛(23)에 의해 결정된 i번째 부분의 코드북에 따라 제2 코드북을 결정하도록 구성되며;
제2 양자화 유닛(25)은, 제2 결정 유닛(24)에 의해 결정된 제2 코드북에 기초하여 N1개의 벡터 중 제2 벡터를 양자화하도록 구성된다.
구체적으로, 제2 결정 유닛(24)은 제1 코드북의 i번째 부분을 제2 코드북으로서 이용하도록 구성될 수 있고, 여기서 제1 코드북의 i번째 부분 내의 비트량은 B - B1이다. 다르게는, 제2 결정 유닛(24)은 사전 트레이닝된 코드북을 제2 코드북으로서 이용하도록 구성될 수 있고, 여기서 사전 트레이닝된 코드북 내의 비트량과 제1 코드북의 i번째 부분 내의 비트량은 동일하며, 모두 B - B1이다.
구체적으로, B1이 1일 때, 제1 결정 유닛(23)은: 양자화된 제1 벡터에 대응하는 코드워드가 제1 코드북의 2개의 부분 중 앞부분에 속하는 경우, 양자화된 제1 벡터가 제1 코드북의 앞부분과 연관된 것으로 결정하거나; 또는 양자화된 제1 벡터에 대응하는 코드워드가 제1 코드북의 2개의 부분 중 뒷부분에 속하는 경우, 양자화된 제1 벡터가 제1 코드북의 뒷부분과 연관된 것으로 결정하도록 구성될 수 있다.
다르게는, M이 2이고 B1이 1일 때, 제1 결정 유닛(23)은: 코드워드에 대응하는 양자화된 제1 벡터의 제2 값에 대한 코드워드에 대응하는 양자화된 제1 벡터의 제1 값의 비가 미리 설정된 범위 내인지를 판정하고; 그 비가 미리 설정된 범위 내인 것으로 판정되는 경우, 양자화된 제1 벡터가 제1 코드북의 2개의 부분 중 앞부분과 연관된 것으로 결정하거나; 또는 그 비가 미리 설정된 범위 내가 아닌 것으로 판정되는 경우, 양자화된 제1 벡터가 제1 코드북의 2개의 부분 중 뒷부분과 연관된 것으로 결정하도록 구성될 수 있다.
구체적으로, 벡터 분할 유닛(21)은: 하나의 프레임이 M개의 서브프레임을 포함하고, M개의 서브프레임 내의 각각의 서브프레임이 N1개의 엔벌로프를 포함하는 경우 - 여기서 M과 N1의 곱이 N임 -, N1개의 벡터를 획득하기 위해, M개의 서브프레임 내의 각각의 서브프레임에 대응하는 엔벌로프를 하나의 벡터로 조합하도록 더 구성될 수 있으며, 여기서 N1개의 벡터 내의 각각의 벡터는 M개의 주파수 엔벌로프를 포함한다.
본 발명의 실시예들에서는, 주파수 엔벌로프를 보다 작은 차원을 가지는 복수의 벡터로 분할함으로써, 벡터 양자화가, 더 작은 비트량을 가지는 코드북을 이용하여 주파수 엔벌로프 벡터에 대해 수행될 수 있다. 따라서, 벡터 양자화의 복잡도가 경감될 수 있고, 벡터 양자화의 효과가 달성될 수 있다.
도 3은 본 발명의 일 실시예에 따른 주파수 엔벌로프 벡터 양자화 방법을 구현하는 코덱을 보여준다. 코덱(30)은 프로세서(31)와 메모리(32)를 포함한다. 프로세서(31)는: 하나의 프레임 내의 N개의 주파수 엔벌로프를 N1개의 벡터로 분할하고 - N1개의 벡터 내의 각각의 벡터는 M개의 주파수 엔벌로프를 포함하고, N1, N, 및 M은 양의 정수이며, M은 2 이상이고, N은 N1보다 큼 -; N1개의 벡터 중 제1 벡터를 B개의 비트를 가지는 제1 코드북을 이용하여 양자화하여 양자화된 제1 벡터에 대응하는 코드워드를 획득하며 - 제1 코드북은 2B1개의 부분으로 분할되고, B는 2 이상의 양의 정수이고, B1은 1 이상의 양의 정수임 -; 양자화된 제1 벡터에 대응하는 코드워드에 따라, 양자화된 제1 벡터가 제1 코드북의 2B1개의 부분 내의 i번째 부분과 연관되는 것으로 결정하고 - i는 1 이상 2B1이하인 양의 정수임 -; i번째 부분의 코드북에 따라 제2 코드북을 결정하며; 및 제2 코드북에 기초하여 N1개의 벡터 중 제2 벡터를 양자화하도록 구성된다. 메모리(32)는 전술한 방법을 실행하기 위해 프로세서(31)에 의해 이용되는 명령어를 저장하도록 구성된다.
구체적으로, 하나의 프레임이 M개의 서브프레임을 포함하고, M개의 서브프레임 내의 각각의 서브프레임이 N1개의 엔벌로프를 포함하는 경우 - M과 N1의 곱이 N임 -, 프로세서(31)는 M개의 서브프레임 내의 각각의 서브프레임에 대응하는 엔벌로프를 하나의 벡터로 조합하여, N1개의 벡터를 획득할 수 있는데, 여기서 N1개의 벡터 내의 각각의 벡터는 M개의 주파수 엔벌로프를 포함한다.
프로세서(31)는 제1 코드북의 i번째 부분을 제2 코드북으로서 이용할 수 있는데, 여기서 제1 코드북의 i번째 부분 내의 비트량은 B - B1이거나; 또는 사전 트레이닝된 코드북을 제2 코드북으로서 이용할 수 있는데, 여기서 사전 트레이닝된 코드북 내의 비트량과 제1 코드북의 i번째 부분 내의 비트량은 동일하며, 모두 B - B1이다.
B1이 1일 때, 프로세서(31)는, 양자화된 제1 벡터에 대응하는 코드워드가 제1 코드북의 2개의 부분 중 앞부분에 속하는 것에 따라, 양자화된 제1 벡터가 제1 코드북의 앞부분과 연관된 것으로 결정하거나; 또는 양자화된 제1 벡터에 대응하는 코드워드가 제1 코드북의 2개의 부분 중 뒷부분에 속하는 것에 따라, 양자화된 제1 벡터가 제1 코드북의 뒷부분과 연관된 것으로 결정할 수 있다. 다르게는, M이 2이고 B1이 1일 때, 프로세서(31)는, 코드워드에 대응하는 양자화된 제1 벡터의 제2 값에 대한 코드워드에 대응하는 양자화된 제1 벡터의 제1 값의 비가 미리 설정된 범위 내인지에 따라, 양자화된 제1 벡터가 제1 코드북의 앞부분 또는 뒷부분과 연관되는 것으로 판정할 수 있고; 그 비가 미리 설정된 범위 내인 것으로 판정되는 경우, 양자화된 제1 벡터가 제1 코드북의 2개의 부분 중 앞부분과 연관된 것으로 결정하거나; 또는 그 비가 미리 설정된 범위 내가 아닌 것으로 판정되는 경우, 양자화된 제1 벡터가 제1 코드북의 2개의 부분 중 뒷부분과 연관된 것으로 결정할 수 있다.
본 발명의 실시예들에서는, 주파수 엔벌로프를 보다 작은 차원을 가지는 복수의 벡터로 분할함으로써, 벡터 양자화가, 더 작은 비트량을 가지는 코드북을 이용하여 주파수 엔벌로프 벡터에 대해 수행될 수 있다는 것을 알 수 있다. 따라서, 벡터 양자화의 복잡도가 경감될 수 있고, 벡터 양자화의 효과가 달성될 수 있다.
당연히, 본 발명의 각각의 청구항에서 설명되는 해결수단도 또한 일 실시예로 간주되어야 하며, 청구범위의 특징들은 조합될 수 있다. 예를 들어, 본 발명에서의 결정하는 단계 이후의 실행에서의 서로 다른 종속적 단계들은 상이한 실시예로서 기능할 수 있다.
통상의 기술자라면, 본 명세서에서 개시되는 실시예들에서 설명되는 예시들의 조합으로, 유닛들 및 알고리즘 단계들이 전자적 하드웨어 또는 컴퓨터 소프트웨어와 전자적 하드웨어의 조합에 의해 구현될 수 있다는 것을 알 수 있다. 기능들이 하드웨어 또는 소프트웨어에 의해 수행되는지는 기술적 해결수단들의 구체적인 적용 및 설계 제약 조건에 의존한다. 통상의 기술자는 각각의 구체적인 적용에 대해 바람직한 기능을 구현하기 위해 서로 다른 방법을 이용할 수 있지만, 그것이 본 발명의 범위를 넘어서는 구현으로 간주되어서는 안 된다.
통상의 기술자에 의해 명백히 이해될 수 있는 것은, 편리하고 간략한 설명의 목적에서, 전술한 시스템, 장치, 및 유닛의 상세한 작업 프로세스에 대해서는, 전술한 방법 실시예들에서의 대응하는 프로세스가 참고되어서, 그 상세한 내용이 반복하여 다시 설명되지 않는다는 것이다.
본 출원에서 제공된 다수의 실시예들에서, 개시된 시스템, 장치, 및 방법은 다른 방식으로도 구현될 수 있음을 이해하여야 한다. 예를 들어, 전술한 장치 실시예는 단지 예시에 불과하다. 예를 들어, 유닛 분할 방식은 단지 논리적인 기능적 분할에 불과하며, 실제 구현에서는 다른 분할 방식일 수 있다. 예를 들어, 복수의 유닛들 또는 구성요소들은 다른 시스템 내이 조합 또는 통합될 수 있거나, 또는 일부 기능들이 무시되거나 수행되지 않을 수 있다. 또한, 표시된 또는 설명된 상호 결합 또는 직접 결합 또는 통신 접속은 일부 인터페이스를 통해 구현될 수 있다. 장치들 또는 유닛들 사이의 간접 결합 또는 통신 접속은 전자적, 기계적, 또는 다른 형식으로 구현될 수 있다.
개별적인 부분들로 설명된 유닛들은 물리적으로 분리되어 있을 수 있고 그렇지 않을 수도 있으며, 유닛으로 표시된 부분들은 물리적 유닛일 수도 아닐 수도 있으며, 하나의 위치 내에 위치될 수도 있지만, 복수의 네트워크 유닛상에 분배될 수도 있다. 유닛들 전부 또는 일부는, 실시예들의 해결수단의 목적을 달성하기 위해, 실제 필요에 따라 선택될 수 있다.
또한, 본 발명의 실시예들에서의 기능적 유닛들은 하나의 프로세스 유닛 내에 통합될 수 있으나, 또는 각각의 유닛이 물리적으로 단독으로 존재할 수도 있고, 또는 하나의 유닛 내에 둘 이상의 유닛들이 통합될 수 있다.
기능들이 소프트웨어 기능성 유닛의 형식으로 구현되어 독립적인 제품으로 판매 또는 사용되는 경우, 기능들은 컴퓨터 판독 가능형 저장 매체 내에 저장될 수 있다. 이러한 이해에 기초하여, 본 발명의 기술적인 해결수단들은 본질적으로, 또는 종래기술에 일부 기여하는 부분, 또는 기술적 해결수단들 중 일부는 소프트웨어 제품의 형식으로 구현될 수 있다. 소프트웨어 제품은 저장 매체 내에 저장되며, 본 발명의 실시예들에서 설명된 방법에서의 단계들의 전부 또는 일부를 수행하기 위해, 컴퓨터 장치(개인용 컴퓨터, 서버, 네트워크 장치일 수 있음)를 명령하기 위한 복수의 명령어를 포함한다. 전술한 저장 매체는: 프로그램 코드를 저장 가능한 임의의 매체, 예컨대 USB 플래시 드라이브, 제거 가능형 하드 디스크, 리드 온리 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기 디스크, 또는 광 디스크를 포함한다.
전술한 설명들은 단지 본 발명의 구체적인 구현 방식에 불과하며, 본 발명의 보호 범위를 제한하고자 하는 의도가 아니다. 통상의 기술자가 본 발명에 개시된 기술적 범위 내에서 이해하는 임의의 변형 또는 대체는 모두 본 발명의 보호 범위 내에 포함되어야 한다. 따라서, 본 발명의 보호 범위는 청구범위의 보호 범위의 대상으로 되어야 한다.

Claims (12)

  1. 주파수 엔벌로프 벡터 양자화 방법으로서,
    하나의 프레임 내의 N개의 주파수 엔벌로프(envelope)를 N1개의 벡터로 분할하는 단계 - 상기 N1개의 벡터 내의 각각의 벡터는 M개의 주파수 엔벌로프를 포함하고, N1, N, 및 M은 양의 정수이며, M은 2 이상이고, N은 N1보다 큼 -;
    양자화된 제1 벡터에 대응하는 코드워드를 획득하기 위해, B개의 비트를 가지는 제1 코드북을 이용하여 상기 N1개의 벡터 중 제1 벡터를 양자화하는 단계 - 상기 제1 코드북은 2B1개의 부분으로 분할되고, B는 2 이상의 양의 정수이고, B1은 1 이상의 양의 정수임 -;
    상기 양자화된 제1 벡터에 대응하는 코드워드에 따라, 상기 양자화된 제1 벡터가 상기 제1 코드북의 2B1개의 부분 내의 i번째 부분과 연관되는 것으로 결정하는 단계 - i는 1 이상 2B1이하인 양의 정수임 -;
    상기 제1 코드북의 i번째 부분의 코드북에 따라 제2 코드북을 결정하는 단계; 및
    상기 제2 코드북에 기초하여 상기 N1개의 벡터 중 제2 벡터를 양자화하는 단계
    를 포함하고,
    상기 i번째 부분의 코드북에 따라 제2 코드북을 결정하는 단계는,
    상기 제1 코드북의 i번째 부분을 상기 제2 코드북으로 이용하는 단계
    를 포함하며,
    상기 제1 코드북의 i번째 부분 내의 비트량은 B - B1개인, 주파수 엔벌로프 벡터 양자화 방법.
  2. 주파수 엔벌로프 벡터 양자화 장치로서,
    하나의 프레임 내의 N개의 주파수 엔벌로프를 N1개의 벡터로 분할하도록 구성된 벡터 분할 유닛 - 상기 N1개의 벡터 내의 각각의 벡터는 M개의 주파수 엔벌로프를 포함하고, N1, N, 및 M은 양의 정수이며, M은 2 이상이고, N은 N1보다 큼 -;
    양자화된 제1 벡터에 대응하는 코드워드를 획득하기 위해, B개의 비트를 가지는 제1 코드북을 이용하여 상기 벡터 분할 유닛에 의한 분할에 의해 획득된 상기 N1개의 벡터 중 제1 벡터를 양자화하도록 구성된 제1 양자화 유닛 - 상기 제1 코드북은 2B1개의 부분으로 분할되고, B는 2 이상의 양의 정수이고, B1은 1 이상의 양의 정수임 -;
    상기 제1 양자화 유닛에 의한 양자화에 의해 획득된 양자화된 제1 벡터에 대응하는 코드워드에 따라, 상기 양자화된 제1 벡터가 상기 제1 코드북의 2B1개의 부분 중 i번째 부분과 연관되는 것으로 결정하도록 구성된 제1 결정 유닛 - i는 1 이상 2B1이하인 양의 정수임 -;
    상기 제1 코드북의 i번째 부분을 제2 코드북으로 이용하도록 구성된 제2 결정 유닛 - 상기 제1 코드북의 i번째 부분 내의 비트량은 B - B1개임 -; 및
    상기 제2 코드북에 기초하여 상기 N1개의 벡터 중 제2 벡터를 양자화하도록 구성된 제2 양자화 유닛
    을 포함하는, 주파수 엔벌로프 벡터 양자화 장치.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
KR1020157033916A 2013-07-04 2014-07-03 주파수 엔벌로프 벡터 양자화 방법 및 장치 KR101725531B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310279924.5A CN104282308B (zh) 2013-07-04 2013-07-04 频域包络的矢量量化方法和装置
CN201310279924.5 2013-07-04
PCT/CN2014/081530 WO2015000416A1 (zh) 2013-07-04 2014-07-03 频域包络的矢量量化方法和装置

Publications (2)

Publication Number Publication Date
KR20160003178A KR20160003178A (ko) 2016-01-08
KR101725531B1 true KR101725531B1 (ko) 2017-04-10

Family

ID=52143115

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157033916A KR101725531B1 (ko) 2013-07-04 2014-07-03 주파수 엔벌로프 벡터 양자화 방법 및 장치

Country Status (16)

Country Link
US (2) US9805732B2 (ko)
EP (3) EP4231288A1 (ko)
JP (1) JP6301459B2 (ko)
KR (1) KR101725531B1 (ko)
CN (2) CN104282308B (ko)
AU (1) AU2014286716B2 (ko)
BR (1) BR112015031617B1 (ko)
CA (1) CA2911314C (ko)
ES (2) ES2738883T3 (ko)
HK (1) HK1206137A1 (ko)
MX (1) MX351967B (ko)
MY (1) MY170701A (ko)
PL (1) PL3594944T3 (ko)
RU (1) RU2635069C2 (ko)
SG (1) SG11201509155RA (ko)
WO (1) WO2015000416A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102168650B1 (ko) * 2018-11-27 2020-10-21 한국과학기술원 다중 안테나 다중 사용자 간섭채널에서 기계학습 기반 빔포밍 방법 및 장치
CN113766150B (zh) * 2021-08-31 2024-03-26 北京安酷智芯科技有限公司 一种降噪方法、电路系统、电子设备及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995010760A2 (en) * 1993-10-08 1995-04-20 Comsat Corporation Improved low bit rate vocoders and methods of operation therefor

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680508A (en) * 1991-05-03 1997-10-21 Itt Corporation Enhancement of speech coding in background noise for low-rate speech coder
TW321810B (ko) * 1995-10-26 1997-12-01 Sony Co Ltd
US6014618A (en) 1998-08-06 2000-01-11 Dsp Software Engineering, Inc. LPAS speech coder using vector quantized, multi-codebook, multi-tap pitch predictor and optimized ternary source excitation codebook derivation
US6952671B1 (en) 1999-10-04 2005-10-04 Xvd Corporation Vector quantization with a non-structured codebook for audio compression
US7337110B2 (en) 2002-08-26 2008-02-26 Motorola, Inc. Structured VSELP codebook for low complexity search
CA2415105A1 (en) * 2002-12-24 2004-06-24 Voiceage Corporation A method and device for robust predictive vector quantization of linear prediction parameters in variable bit rate speech coding
US7657429B2 (en) 2003-06-16 2010-02-02 Panasonic Corporation Coding apparatus and coding method for coding with reference to a codebook
CN102103860B (zh) * 2004-09-17 2013-05-08 松下电器产业株式会社 频谱包络信息量化装置及方法、频谱包络信息解码装置及方法
NZ562183A (en) * 2005-04-01 2010-09-30 Qualcomm Inc Systems, methods, and apparatus for highband excitation generation
US7805314B2 (en) * 2005-07-13 2010-09-28 Samsung Electronics Co., Ltd. Method and apparatus to quantize/dequantize frequency amplitude data and method and apparatus to audio encode/decode using the method and apparatus to quantize/dequantize frequency amplitude data
US7602745B2 (en) 2005-12-05 2009-10-13 Intel Corporation Multiple input, multiple output wireless communication system, associated methods and data structures
US20090299738A1 (en) 2006-03-31 2009-12-03 Matsushita Electric Industrial Co., Ltd. Vector quantizing device, vector dequantizing device, vector quantizing method, and vector dequantizing method
EP1970900A1 (en) * 2007-03-14 2008-09-17 Harman Becker Automotive Systems GmbH Method and apparatus for providing a codebook for bandwidth extension of an acoustic signal
US8125884B1 (en) * 2007-07-11 2012-02-28 Marvell International Ltd. Apparatus for pre-coding using multiple codebooks and associated methods
CN101335004B (zh) 2007-11-02 2010-04-21 华为技术有限公司 一种多级量化的方法及装置
CN100585699C (zh) * 2007-11-02 2010-01-27 华为技术有限公司 一种音频解码的方法和装置
US8515767B2 (en) 2007-11-04 2013-08-20 Qualcomm Incorporated Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
CN101483043A (zh) * 2008-01-07 2009-07-15 中兴通讯股份有限公司 基于分类和排列组合的码本索引编码方法
ES2639572T3 (es) * 2008-01-16 2017-10-27 Iii Holdings 12, Llc Cuantificador vectorial, cuantificador inverso vectorial y procedimientos para los mismos
JPWO2009090875A1 (ja) * 2008-01-16 2011-05-26 パナソニック株式会社 ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
CN101261835B (zh) 2008-04-25 2010-12-15 清华大学 基于超帧模式的多矢量多码本尺寸联合优化方法
US9037474B2 (en) * 2008-09-06 2015-05-19 Huawei Technologies Co., Ltd. Method for classifying audio signal into fast signal or slow signal
WO2010031003A1 (en) * 2008-09-15 2010-03-18 Huawei Technologies Co., Ltd. Adding second enhancement layer to celp based core layer
US9236063B2 (en) * 2010-07-30 2016-01-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dynamic bit allocation
CN102208188B (zh) * 2011-07-13 2013-04-17 华为技术有限公司 音频信号编解码方法和设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995010760A2 (en) * 1993-10-08 1995-04-20 Comsat Corporation Improved low bit rate vocoders and methods of operation therefor

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Stephen So, et al. Efficient product code vector quantisation using the switched split vector quantiser. Digital Signal Processing. 2007.11.15.
Universal Mobile Telecommunications System (UMTS) Mandatory Speech Codec speech processing functions AMR Wideband speech codec Transcoding functions. 3GPP TS 26.190 version 5.1.0 Release 5. 2001.12.*

Also Published As

Publication number Publication date
ES2738883T3 (es) 2020-01-27
EP2983170A1 (en) 2016-02-10
JP2016528529A (ja) 2016-09-15
CN107316647B (zh) 2021-02-09
EP4231288A1 (en) 2023-08-23
BR112015031617B1 (pt) 2022-04-12
RU2015155949A (ru) 2017-08-09
MX351967B (es) 2017-11-06
US20180018980A1 (en) 2018-01-18
EP3594944C0 (en) 2023-06-07
CA2911314A1 (en) 2015-01-08
JP6301459B2 (ja) 2018-03-28
AU2014286716B2 (en) 2017-03-30
MY170701A (en) 2019-08-26
ES2954460T3 (es) 2023-11-22
EP2983170A4 (en) 2016-04-13
CA2911314C (en) 2018-12-04
KR20160003178A (ko) 2016-01-08
EP3594944A1 (en) 2020-01-15
HK1206137A1 (en) 2015-12-31
US20160111105A1 (en) 2016-04-21
CN104282308A (zh) 2015-01-14
BR112015031617A2 (pt) 2017-07-25
CN107316647A (zh) 2017-11-03
MX2015017003A (es) 2016-04-25
RU2635069C2 (ru) 2017-11-08
CN104282308B (zh) 2017-07-14
WO2015000416A1 (zh) 2015-01-08
AU2014286716A1 (en) 2015-11-26
US9805732B2 (en) 2017-10-31
SG11201509155RA (en) 2015-12-30
EP2983170B1 (en) 2019-06-05
US10032460B2 (en) 2018-07-24
PL3594944T3 (pl) 2023-10-09
EP3594944B1 (en) 2023-06-07

Similar Documents

Publication Publication Date Title
Dettmers et al. The case for 4-bit precision: k-bit inference scaling laws
US9972326B2 (en) Method and apparatus for allocating bits of audio signal
WO2021077744A1 (zh) 一种图像分类方法、装置、设备及计算机可读存储介质
EP2919231A1 (en) Signal decoding method and device
US10789964B2 (en) Dynamic bit allocation methods and devices for audio signal
EP3121735A1 (en) Data mining method and device
US10546591B2 (en) Signal processing method and device
EP2863388A1 (en) Bit allocation method and device for audio signal
CN105553937A (zh) 数据压缩的系统和方法
JP7337950B2 (ja) ニューラルネットワークモデル圧縮のための量子化、適応ブロック分割、及びコードブック符号化の方法及び装置、並びにコンピュータープログラム
KR101725531B1 (ko) 주파수 엔벌로프 벡터 양자화 방법 및 장치
KR101941619B1 (ko) 음성/오디오 비트스트림 디코딩 방법 및 장치
US9135009B2 (en) Apparatus and method for compressing instructions and a computer-readable storage media therefor
KR101461840B1 (ko) 낮은 복잡도의 타깃 벡터 식별
US20240185867A1 (en) Signal Processing Method and Device
JP4883455B2 (ja) 符号化装置、符号化方法および符号化プログラム
KR101736479B1 (ko) 인쇄 경로에 대한 최적화된 폰트 하부집합화 기법
CN111401518A (zh) 一种神经网络量化方法、装置及计算机可读存储介质
KR20220080466A (ko) 플로우 기반의 학습 모델을 이용한 오디오 신호의 부호화 및 복호화 방법 및 장치와 학습 모델의 트레이닝 방법 및 장치
CN108566209A (zh) 一种ldpc编码方法及装置
KR20180093493A (ko) 정규화 알고리즘을 이용한 디코딩 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant