KR20090061628A - 벡터 양자화를 위한 방법 및 장치 - Google Patents

벡터 양자화를 위한 방법 및 장치 Download PDF

Info

Publication number
KR20090061628A
KR20090061628A KR1020097005033A KR20097005033A KR20090061628A KR 20090061628 A KR20090061628 A KR 20090061628A KR 1020097005033 A KR1020097005033 A KR 1020097005033A KR 20097005033 A KR20097005033 A KR 20097005033A KR 20090061628 A KR20090061628 A KR 20090061628A
Authority
KR
South Korea
Prior art keywords
vector
codebook
adjustment
vectors
basic
Prior art date
Application number
KR1020097005033A
Other languages
English (en)
Other versions
KR101083291B1 (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
Priority claimed from CN2006101644552A external-priority patent/CN101198041B/zh
Priority claimed from CN2007101305191A external-priority patent/CN101345530B/zh
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20090061628A publication Critical patent/KR20090061628A/ko
Application granted granted Critical
Publication of KR101083291B1 publication Critical patent/KR101083291B1/ko

Links

Images

Classifications

    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector 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/0004Design or structure of the codebook
    • G10L2019/0005Multi-stage vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

벡터 양자화 방법은, N개의 기본 코드북 벡터와 기본 코드북 벡터의 각각의 조정 벡터를 사용해서, 양자화할 벡터에 대해 양자화 처리를 수행하는 단계; 및 양자화할 벡터를 양자화하는 데에 사용되는 조정 벡터와 기본 코드북 벡터를 생성하는 단계를 포함하며, N은 1과 같거나 1보다 큰 양의 정수이다. 본 발명의 벡터 양자화 장치 및 방법을 제공한다. 본 발명의 실시예에 의하면, 입력 벡터의 양자화는 기본 코드북 벡터에 대한 변경 벡터를 도입함으로써 이루어지기 때문에, 기본 코드북 벡터의 저장량이 효과적으로 감소되며, 계산량은 N개의 코드북을 통해 수행하기 위해 필요한 계산량이 될 뿐이다. 따라서, 벡터 양자화의 복잡도를 효과적으로 감소시킨다.

Description

벡터 양자화를 위한 방법 및 장치{METHOD AND DEVICE FOR QUANTIZING VECTOR}
본 발명은 신호 처리 기술에 관한 것으로서, 더 구체적으로 말하면 벡터 양자화를 위한 방법 및 장치에 관한 것이다.
오디오 신호나 비디오 신호의 디지털 압축 부호화의 처리 과정에서, 입력 신호의 다수의 샘플 값으로 이루어진 벡터는, 낮은 부호화 레이트의 부호화 품질을 보장하기 위해 미리 정해진 벡터 코드북(vector codebook)에 따라 양자화될 수 있다.
벡터 양자화(vector quantization)는 효과적인 데이터 압축 기술이다. 입력 신호는 K(K=1,2,3,...)개의 연속하는 샘플 값을 각각 갖는 하나 이상의 그룹에 삽입된다. 샘플 값을 갖는 그룹은 K-차원의 유클리드 공간 내에 벡터를 형성할 수 있으며, 이러한 각각의 벡터가 양자화될 수 있다. 벡터 양자화는 계산량(calculation load)과 저장량(storage load)에 의해 복잡하게 된다. 이러한 벡터 양자화의 복잡도는 벡터 차원의 증가에 따라 지수적으로 증가한다. 또한, 손실 데이터 압축 기술과 같이, 벡터 양자화는 양자화 왜곡(quantization distortion)에 더하여, 부호화 레이트의 문제점을 포함하고 있으며, 벡터 차원은 부호화 레이트에 반비례한다. 양호하지 않은 네트워크 조건을 가진 환경에서, 네트워크 전송에서의 패킷 손실을 피하고 소정 레벨의 부호화 품질을 보장하기 위해, 부호화 레이트가 감소되는 것이 일반적인데, 이에 따라 벡터 양자화의 복잡도가 증가하게 된다.
종래 기술에서 음성 신호에 대한 코드 압축을 예로 들면, 종래 기술에서의 음성 부호화 처리에 적용한 벡터 양자화 기술에 대하여 설명한다.
종래 기술에서의 단속 스펙트럼 주파수(ISF: Intermittence Spectral Frequency) 계수로 구성된 벡터의 양자화에서는, ISF 벡터를 양자화하기 위해 광대역 적응형 멀티레이트(AMR-WB+) 음성 코덱이 일반적으로 사용된다. ISF 계수는 음성 신호의 선형 예측 계수(LPC: Linear Prediction Coefficient)로부터 변환될 수 있다. AMR-WB+ 는 조인트 스플리트 벡터 양자화(SVQ)와 다단 벡터 양자화(MSVQ)를 통해 SIF 벡터를 양자화한다. 벡터 양자화는, 먼저 프레임 n(n=1,2,3,...)-r(n)의 현재의 ISF 예측 잔차 벡터를 산출하기 위해 1차 이동 평균(MA: Moving Average) 예측 방법이 적용되고, 다단 코드북을 통해 r(n)이 양자화되는 처리를 포함한다. 표 1은 종래 기술의 벡터 양자화 처리에서 비트 할당 및 코드북 사용을 나타낸다.
[표 1]
분할 등급 1등급 2등급
벡터 차원 9 7 3 3 3 3 4
할당된 비트의 수 8 8 6 7 7 5 5
코드북의 수 256 256 64 128 128 32 32
표 1에 나타낸 바와 같이, AMR-WB+에 의해 수행되는 ISF 벡터 양자화 처리는 다음과 같다:
ISF 벡터는 16-차원의 벡터이고, r(n)도 또한 16-차원의 벡터라고 한다. r=[r1,r2,...r16]로 하면, 벡터 양자화에서의 코드북 저장량을 감소시키기 위해서, AMR-WB+는 벡터 r에 대한 스플리트 다단 벡터 양자화(S-MSVQ: Split Multi Stage Vector Quantization)를 수행한다.
먼저, 16-차원 벡터 r은 2개의 서브벡터, 즉 9-차원 벡터 r1 (1)과 7-차원 벡터 r2 (1)를 구하기 위해 1등급으로 분할된다. r1 (1)과 r2 (1)은 각각 8비트로 양자화되고, r1 (1)과 r2 (1) 모두를 양자화하기 위한 코드북의 수는 256이다.
이후, r1 (1)과 r2 (1)은 5개의 서브벡터를 구하기 위해 각각 2등급으로 분할된다.
9-차원 r1 (1)은 3개의 서브벡터, 즉 3-차원 r11 (2), 3-차원 r12 (2), 3-차원 r13 (2)로 분할된다. 3-차원 r11 (2)는 6비트로 양자화되며, 코드북 벡터의 대응하는 수는 64이다. 3-차원 r12 (2)는 7비트로 양자화되며, r11 (2)와 r12 (2)를 모두 양자화하기 위한 코드북의 수는 128이다. 3-차원 r13 (2)는 7비트로 양자화되며, r13 (2)를 양자화하기 위한 코드북의 수는 128이다.
7-차원 r2 (1)은 2개의 서브벡터, 즉 3-차원 r21 (2)와 3-차원 r22 (2)로 분할된다. 3-차원 r21 (2)는 5비트로 양자화되며, r21 (2)를 양자화하기 위한 코드북의 수는 32이다. 3-차원 r22 (2)는 5비트로 양자화되며, r22 (2)를 양자화하기 위한 코드북의 수는 32이다.
전술한 분할 처리(splitting process)는 모두 7개의 서브벡터를 형성하며, 벡터 양자화를 위해 할당된 비트의 수는 모두 46이다.
앞서 언급한 1등급 분할을 통해 획득한 2개의 서브벡터는 1등급으로 양자화되며, 2등급 분할을 통해 획득한 5개의 서브벡터는 2등급으로 양자화된다. 1등급 양자화 처리는 2등급 양자화 처리와 유사하다. rx는 7개의 서브벡터에서의 서브벡터의 차원 x(x=1, 2, 3, ...)에 대한 성분(component)이라고 하며,
Figure 112009014649951-PCT00001
는 서브벡터에 대응하는 코드북 벡터에서의 코드 워드 y(y=1, 2, 3, ...)의 차원 x에 대한 성분이라고 하면, rx
Figure 112009014649951-PCT00002
사이의 오차가 이하의 식 1에 의해 산출될 수 있으며, Δx의 제곱 합(square sum)은 이하의 식 2에 의해 산출될 수 있다.
[식 1]
Figure 112009014649951-PCT00003
[식 2]
Figure 112009014649951-PCT00004
벡터 양자화의 왜곡으로서 E를 사용하고, 서브벡터에 대응하는 코드북 벡터 중에서 E를 최소화하는 코드 워드에 대응하는 y를 선택하며, 코드 워드의 인덱스 코드로서 y를 사용하고, 이 인덱스 코드를 디코더에 전송한다.
종래 기술에서의 AMR-WB+ 벡터 양자화 기술은, 부호화 품질은 높이지만, 벡터 양자화의 복잡도를 증가시키는 다중 등급(multi-grade)의 코드북 벡터 양자화를 사용하고 있다. 벡터 양자화의 복잡도는 저장량과 계산량에 기인한다. 종래 기술에서는, 코드북 저장량이 높아서, 계산량도 증가하게 되어 있다. 계산 처리 과정에서는, 모든 코드북 벡터가 트래버스(traverse)되어야 한다. 따라서, 종래 기술에서는 벡터 양자화의 복잡도를 감소시키는 것과 관련해서 추가의 개선이 요구된다.
본 발명의 실시예에 의하면, 벡터 양자화의 복잡도를 감소시키는 방법과 장치가 제공된다.
본 발명의 벡터 양자화 방법은,
양자화할 벡터를 획득하는 단계;
기본 코드북 벡터(basic codebook vector)를 획득하는 단계로서, 기본 코드북 벡터는 하나 이상의 기본 서브벡터(basic sub-vector)를 포함하고, 여러 개의 기본 서브벡터 중에서, 적어도 하나의 K-차원(K≥2)의 기본 서브벡터는 K-차원의 N개의 조정 벡터(adjustment vector)(N=1,2,3,...)를 포함하는 조정 벡터 집합(adjustment vector collection)에 대응하고, 적어도 하나의 조정 벡터 집합은, N이 조정 벡터 집합 내에서 모든 조정 벡터의 각 차원의 상이한 값들의 모든 가능한 조합의 수보다 작다는 요건을 만족하는, 기본 코드북 벡터를 획득하는 단계;
기본 서브벡터에 대응하는 조정 벡터를 획득하는 단계;
기본 코드북 벡터와, 상이한 기본 서브벡터에 대응하는 하나 이상의 조정 벡터의 조합을 조인트 코드북 벡터(joint codebook vector)로서 가정하고, 조인트 코드북 벡터와 양자화할 벡터 사이의 편차(deviation)에 따라, 가능한 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터를 선택하는 단계; 및
선택한 조인트 코드북 벡터에 대응하는 기본 코드북 벡터의 인덱스와 조정 벡터의 인덱스를 획득하는 단계를 포함한다.
본 발명의 벡터 양자화 장치는,
양자화할 벡터를 획득하도록 구성된 벡터 입력 유닛;
하나 이상의 기본 서브벡터를 갖는 기본 코드북 벡터를 제공하도록 되어 있는 기본 코드북 유닛으로서, 여러 개의 기본 서브벡터 중에서, 적어도 하나의 K-차원(K≥2)의 기본 서브벡터는, K-차원의 기본 서브벡터에 대응하는 N개의 조정 벡터를 포함하는 조정 벡터 집합에 대응하고, 적어도 하나의 조정 벡터 집합은, N이 조정 벡터 집합 내에서 모든 조정 벡터의 임의의 차원 중 각 차원의 상이한 값들의 모든 가능한 조합의 수보다 작다는 요건을 만족하는, 기본 코드북 유닛;
기본 서브벡터에 대응하는 조정 벡터를 제공하도록 구성된 조정 벡터 유닛;
기본 코드북 유닛과 조정 벡터 유닛으로부터 기본 코드북 벡터와 조정 벡터를 획득하도록 되어 있으며, 기본 코드북 벡터와, 상이한 기본 서브벡터에 대응하는 하나 이상의 조정 벡터의 조합을 조인트 코드북 벡터로서 가정하고, 조인트 코드북 벡터와 양자화할 벡터 사이의 편차에 따라, 가능한 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터를 선택하도록 구성된 양자화 유닛을 포함한다.
상술한 벡터 양자화 처리에 있어서, 벡터는 기본 코드북 벡터와 그 서브벡터의 조정 벡터로 이루어진 조인트 코드북 벡터를 통해 양자화된다. 기본 코드북 벡터는 조정 벡터를 통해 조정되므로, 차원들 사이의 관련성을 효과적으로 이용할 수 있으며, 조정 벡터의 수가 감소되고, 더 큰 다이내믹 레인지를 달성할 수 있다. 따라서, 양자화를 위한 계산량을 감소시키고, 계산을 단순화할 수 있다.
본 발명의 실시예는 벡터 양자화를 위한 단순화한 방법을 제공한다.
본 발명의 실시예는 또한 코드북 조정 벡터를 생성하기 위한 방법을 제공한다.
또한, 본 발명의 실시예는 벡터 양자화를 위한 단순화한 장치를 제공한다.
본 발명의 벡터 양자화 방법은,
N개의 기본 코드북 벡터와 기본 코드북 벡터의 각각의 조정 벡터를 사용해서, 양자화할 벡터에 대해 양자화 처리를 수행하는 단계;
양자화할 벡터를 양자화하는 데에 사용되는 조정 벡터와 기본 코드북 벡터를 생성하는 단계를 포함하며,
N은 1과 같거나 1보다 큰 양의 정수이다.
본 발명의 코드북 조정 벡터를 생성하는 방법은,
N개의 코드북의 평균 벡터를 계산하는 단계;
각각의 코드북으로부터 평균 벡터까지의 거리를 계산하는 단계;
각각의 코드북으로부터 평균 벡터까지의 거리에 따라, 각각의 코드북의 조정 벡터를 생성하는 단계를 포함하며, N은 1 이상의 양의 정수이다.
본 발명의 벡터 양자화 장치는, 코드북 제공 유닛, 조정 벡터 제공 유닛, 및 양자화 유닛을 포함한다.
코드북 제공 유닛은, 양자화할 벡터에 대응하는 N개의 코드북을 양자화 유닛에 전송하도록 되어 있으며, N은 1 이상의 양의 정수이고,
조정 벡터 제공 유닛은, 각각의 코드북의 조정 벡터를 양자화 유닛에 전송하도록 되어 있으며,
양자화 유닛은, 조정 벡터 제공 유닛과 코드북 제공 유닛으로부터 각 코드북의 조정 벡터를 수신하고, N개의 코드북과 각 코드북의 조정 벡터를 사용하여 양자화할 벡터에 대한 양자화 처리를 수행하며, 양자화할 벡터를 양자화하기 위한 조정 벡터와 코드북을 획득한다.
상기 벡터 양자화 방법은 N(N=1,2,3,...)개의 코드북과 각 코드북의 조정 벡터를 이용하여 입력 벡터를 양자화한다. 즉, 본 발명에서 제공하는 코드북의 조정 벡터는 입력 벡터를 양자화하는 처리를 담당한다. 따라서, 코드북의 저장량이 감소되고, 계산량은 N개의 코드북을 트래버스하는 데에 요구되는 계산량만 필요로 한다. 따라서, 본 발명의 벡터 양자화 방법에 의하면, 벡터 양자화의 복잡도를 효과적으로 감소시킨다.
본 발명의 벡터 양자화 장치에서, 양자화 유닛은 코드북 제공 유닛과 조정 벡터 제공 유닛으로부터 전송된 N개의 코드북과, 각 코드북의 조정 벡터를 사용하여 입력 벡터를 양자화한다. 그 결과, 더 적은 수의 코드북이 요구되며, 계산량은 N개의 코드북을 트래버스하는 데에 요구되는 계산량만 필요로 한다. 따라서, 본 발명의 벡터 양자화 장치에 의하면, 벡터 양자화의 복잡도를 효과적으로 감소시킬 수 있다.
본 발명의 실시예는, 예시를 위해서만 제시되어 본 발명을 제한하지 않는 이하의 상세한 설명으로부터 더 잘 이해될 것이다.
도 1은 본 발명의 제1 실시예에 따른 벡터 양자화 방법의 플로차트이다.
도 2는 본 발명의 제2 실시예에 따른 벡터 양자화 방법의 플로차트이다.
도 3은 본 발명의 제3 실시예에 따른 벡터 양자화 방법의 플로차트이다.
도 4는 본 발명의 제4 실시예에 따른 벡터 양자화 방법의 플로차트이다.
도 5는 본 발명의 실시예에서 벡터 양자화 방법의 전체적인 플로차트이다.
도 6은 본 발명의 실시예에서 코드북의 조정 벡터를 생성하기 위한 방법의 플로차트이다.
도 7은 본 발명의 실시예에서 ISF 잔차 코드북과 이들의 조정 벡터를 생성하 기 위한 방법의 플로차트이다.
도 8은 본 발명의 실시예에서 벡터 양자화 방법을 이용한 ISF 잔차를 양자화하는 플로차트이다.
도 9는 본 발명의 제5 실시예에 따른 벡터 양자화기의 논리적 구조를 나타내는 도면이다.
도 10은 본 발명의 제5 실시에에 따른 양자화 유닛의 논리적 구조를 나타내는 도면이다.
도 11은 본 발명의 제5 실시예에 따른 양자화 유닛의 다른 논리적 구조를 나타내는 도면이다.
도 12는 본 발명의 제6 실시예에 따른 벡터 양자화기의 논리적 구조를 나타내는 도면이다.
도 13은 본 발명의 제7 실시예에 따른 벡터 양자화기의 논리적 구조를 나타내는 도면이다.
도 14는 본 발명의 제8 실시예에 따른 벡터 양자화기의 논리적 구조를 나타내는 도면이다.
도 15는 본 발명의 바람직한 실시예에서 벡터 양자화 장치의 구조를 나타내는 도면이다.
도 16은 본 발명의 다른 바람직한 실시예에서 벡터 양자화 장치의 구조를 나타내는 도면이다.
도 17은 본 발명의 다른 바람직한 실시예에서 벡터 양자화 장치의 구조를 나 타내는 도면이다.
도 18은 본 발명의 바람직한 실시예에 따른, 도 7에서의 양자화 유닛의 구조를 나타내는 도면이다.
도 19는 본 발명의 다른 바람직한 실시예에서 벡터 양자화 장치의 구조를 나타내는 도면이다.
본 발명에 대하여 첨부 도면과 실시예를 참조하여 이하 상세하게 설명한다.
본 발명의 실시예에서는 벡터 양자화 방안을 제공한다. 본 발명의 실시예에서, 양자화의 대상이 되는 벡터는, 양자화할 벡터에 기초한 기준 벡터(reference vector)와 양자화할 벡터에 더 인접하도록 기준 벡터를 조정하기 위한 조정 벡터(adjustment vector)에 따라 양자화된다. 따라서, 본 발명의 실시예에 의하면, 분할된 서브벡터의 상이한 등급에 대해 벡터 양자화를 위해 사용되는 대용량의 코드북 벡터를 저장할 필요가 없으며, 코드북 벡터를 저장하기 위해 필요한 공간을 감소시킬 수 있다. 또한, 적절한 기준 벡터와 이에 대응하는 조정 벡터를 선택함으로써, 높은 부호화 품질을 보장할 수 있다. 본 발명의 실시예에서, 기준 벡터는 기본적인 코드북 벡터로서도 알려져 있다.
이하, 본 발명에 따른 기술적인 해결 방안에 대하여 실시예를 들어 상세하게 설명한다.
제1 실시예
도 1은 본 발명의 제1 실시예에 따른 벡터 양자화 방법의 플로차트이다. 이 처리 과정에는 다음과 같은 단계를 포함한다.
단계 A1. 양자화할 벡터를 구한다.
본 실시예에서 양자화할 벡터는, 최초 벡터 이후에 획득한 서브벡터가 분할되는 벡터 양자화 처리에서 처음에 입력된 최초 벡터가 되거나, 소정의 벡터에 대한 최초 벡터의 잔차 벡터(residual vector)가 될 수 있다.
예를 들어, L-차원(L=1,2,3,...) 벡터 V에 대해, V는 {v1,v2,...,vL};
V가 K개의 서브벡터로 분할되면,
V={V1,V2,...,VK}
서브벡터 Vi(i=1,...,K)의 차원의 수는 다른 서브벡터의 차원의 수와 같을 수도 있고 다를 수도 있다. Vi는 다음과 같다:
V1={v1,v2,...vx1};
V2={vx1 +1,vx1 +2,...,vx2};
...
VK={vx (K-1)+1,vx (K-1)+2,...vxK}, xK=L.
Vi의 차원의 수를 I로 하면:
Vi={vx (i-1)+1(1),vx (i-1)+2(2),...,vxi(I)};
Vi의 차원 m에서의 성분을 vx (i-1)+m(m), (m=1,...,I).
양자화할 벡터는 하나 이상의 서브벡터 Vi 또는 V가 될 수 있다. 본 발명의 실시예에서, 양자화 대상을 V라고 한다.
단계 A2. 기본 코드북 벡터를 구한다.
양자화할 벡터에 대하여, A(A=1,2,3,...)개의 기본 코드북 벡터의 합계가 참고가 될 수 있다. 기본 코드북 벡터의 차원의 수는 양자화할 벡터의 차원의 수와 동일하다. 예를 들면,
Ua={ua1,ua2,...,uaL}이고, a=1,...,A라고 하면, Ua는 K개의 기본 서브벡터 Ua={Ua1,Ua2,...,UaK}로 분할될 수 있다;
각각의 기본 서브벡터 Uaj는 대응하는 Vi를 가지며, 여기서 j=1,...K이다. Uaj는 다음과 같다:
Ua1={ua1,ua2,...,ua(x1)};
Ua2={ua (x1+1),Ua (x1+2),...,ua(x2)};
...
Uak={ua (x(K-1)+1),ua (x(K-1)+2),...,ua( xK )}.
기본 코드북 벡터는 다양한 코드북 벡터 트레이닝 방식에 의해 직접 구해진 코드북 벡터, 더 넓은 범위의 코드북 벡터로부터 검색된 바람직한 코드북, 또는 많은 차원을 가진 코드북 벡터에서 몇몇 차원을 갖는 코드북 서브벡터가 될 수 있으며, 이에 한정되지 않는다.
본 실시예에서, V는 각각의 Uaj에 기초하여 양자화된다. 따라서, 각각의 기본 서브벡터의 차원의 수는 대응하는 Vi의 차원의 수와 동일한데, 예를 들면:
Uaj={ux (j-1)+1(1),ux (j-1)+2(2),...,uxj(I)};
Uj의 차원의 성분을 Ux (j-1)+m(m)이라 한다.
단계 A3. 기본 코드북 벡터에 대응하는 조정 벡터(adjustment vector)를 구한다.
기본 코드북 벡터 Ua에 대하여, 대응하는 조정 벡터는 차원의 수가 Ua의 차원의 수와 동일한 하나 이상의 벡터가 될 수 있다. 양자화할 벡터가 높은 수의 차원을 갖는다면, 양자화 처리는 분할(splitting)로부터 획득한 서브벡터에 기초하는 것이 바람직하다. 따라서, 기본 코드북 벡터에 대응하는 조정 벡터가 조정될 수 있다. 또한, 기본 코드북 벡터가 다수의 기본적인 서브벡터로 분할된 후, 기본 코드북 벡터에 대응하는 조정 벡터는 각각의 기본 서브벡터에 대응하는 조정 벡터와 등가로 될 수 있다. 예를 들어, N(N=1,2,3,...)개의 조정 벡터는 기본 서브벡터 Uaj에 대응하고, 조정 벡터의 차원의 수는 Uaj의 차원의 수와 동일하다. Uaj에 대응하는 조정 벡터는 ADJaf(f=1,...,N)이다:
ADJa1={adja11,adja12,...,adja11};
ADJa2={adja21,adja22,...,adja21};
...
ADJaN={adjaN1,adjaN2,...,adjaNI}.
조정 벡터 집합 ADJ는 하나 이상의 조정 벡터(ADJaf)를 포함할 수 있는 ADJaf로 이루어진다. 각각의 기본 서브벡터는 벡터를 양자화할 때에 기본 서브벡터를 보정하기 위한 대응하는 조정 벡터 집합을 가질 수 있다. 기본 서브벡터는 대응하는 조정 벡터 집합을 갖지 않을 수 있다. 또한, 동일한 수의 차원을 가진 다수의 기본 서브벡터가 하나 이상의 조정 벡터 집합을 공유할 수 있다. 일반적으로, 트레이닝된 기본 코드북 벡터는 정확한 벡터 양자화에 직접 적용될 수 없다. 따라서, 조정 벡터 집합은 관련된 기본 서브벡터를 보정하도록 설정될 필요가 있다. 여러 개의 조정 벡터 집합은 동일한 수의 조정 벡터 또는 상이한 수의 조정 벡터를 포함할 수 있다.
조정 벡터 집합에서, 각각의 조정 벡터는 다중 차원의 벡터이며, 각 조정 벡터에서의 각각의 차원을 "조정 벡터"(adjustment vector)라고 한다. 그리고, 조정 벡터 집합에서, N의 값이 조정 벡터 내의 집합에서의 각 차원에 대한 상이한 조정 벡터의 모든 가능한 조합의 수보다 작으면, 이 조정 벡터 집합을 최적화된 조정 벡터 집합이라고 한다. 반대로, N의 값이 모든 가능한 조합의 수와 같으면, 조정 벡터 집합은 최적화되지 않은(non-optimized) 조정 벡터 집합이 된다. 최적화되지 않은 조정 벡터 집합에 대해, 하나의 차원에서의 조정 벡터의 변경은 다른 차원에서의 조정 벡터와 관련되어 있지 않다. 따라서, 조정 벡터 집합의 기능은 조정 벡터의 각각의 차원을 개별적으로 조정하는 것이다.
예를 들어, 최적화된 조정 벡터 집합은 3개의 2차원 조정 벡터 {{-1,-1}, {0,0}, {1,1}}를 갖는다. 최적화된 조정 벡터 집합의 모든 조정 벡터는 제1 차원 또는 제2 차원에서 3개의 상이한 값 {-1, 0, 1}을 갖는다. 따라서, 상이한 값들은 2차원 벡터의 요소로서 되어 있으며, 2차원 벡터의 조합에 대해 9가지의 모드가 존재한다. 2차원 벡터의 조합은, {{-1,-1}, {-1,0}, {-1,1}, {0,-1}, {0,0}, {0,1}, {1,-1}, {1,0}, {1,1}}이 된다. 전술한 최적화된 조정 벡터 집합 {{-1,-1}, {0,0}, {1,1}}은, 2차원 벡터의 일부분이 되기 때문에, 최적화된 것이다. 최적화된 조정 벡터 집합에 기초해서, 벡터를 양자화하기 위해 하위비트 오버헤드(lower bit overhead)가 필요하기 때문에, 양호한 부호화 효과를 달성할 수 있다.
Ua는 양자화할 벡터 V에 대한 정적 분석(statistic analysis)에 따라 Uaj로 분할될 수 있다. 예를 들어, V와 Ua 사이의 잔차 벡터는, 동시에 변하는 방식으로 표시될 수 있는데, 다시 말해서 동시에 증가하거나 감소하는 차원이 동일 Uaj에 포함될 수 있다. 그 결과, Uaj에 대응하는 최적화된 조정 벡터 조합의 설계에 의해, 모든 차원이 동시에 증가 또는 감소하는 경우가 더 많아지게 될 수 있다. 차원 간의 상관(interrelation)을 무시하는 조정 모드에 비해, 조정 벡터의 가능한 조합의 수는, 다이내믹 레인지가 동일한 조건에서 감소된다. 조정 벡터의 가능한 조합의 수가 동일하다면, 이 조정의 다이내믹 레인지가 효과적으로 증가한다.
기본 코드북 벡터와 각각의 기본 서브벡터의 조정 벡터는 조인트 코드북 벡터(joint codebook vector)로 조합될 수 있다. 즉, 기본 코드북 벡터의 요소의 하 나 이상의 차원이 조정 벡터에 의해 보정된다.
Uaj를 보정하기 위한 조정 벡터 ADJaf가 소정의 방식으로 제공될 수 있다. 예를 들어, 다수의 관련 벡터 gaf를 갖는 관련 벡터 집합에서 적절한 gaf가 발견된다. gaf는 ADJaf 또는 ADJaf에 관련된 유한 함수 관계(definite function relation)이다. 이러한 함수 관계의 예는 다음과 같다:
(1) 곱의 관계: 예를 들어, ADJaf는 gaf와 실수의 곱으로 표현될 수 있다.
(2) 합/차의 관계: 예를 들어, ADJaf는 gaf와 기준 벡터 간의 합 또는 차로서 표현될 수 있다.
기준 벡터는 동일한 조인트 코드북 벡터에 속하는 다른 ADJaf의 값 "f"에 의해 정해진 벡터가 될 수 있다는 것에 유의하라. 이 경우, 기준 벡터는, 다른 조정 벡터가 소정의 값을 가질 때 후속해서 선택된 조정 벡터에 의해 수행되어야 하는 추가의 적응성 조정을 나타내는 "기준 코드북 벡터"라고도 할 수 있다.
(3) 복합 관계: 예를 들어, ADJaf는 gaf 및 실수의 곱과 기준 코드북 벡터 간의 차로서 표현될 수 있다.
gaf는 많은 방식으로 제공될 수 있는데, 예를 들면 관련 벡터 집합이 저장되고, 이 관련 벡터 집합에 포함된 각각의 gaf가 직접 트래버스되거나, Uaf 중 하나에 대응하는 gaf가 유한 산출 방식을 통해 구해진다. 통상적인 방식에 대해서는 다음 실시예에서 설명할 것이다.
단계 A4. 기본 코드북 벡터와 상이한 기본 서브벡터에 대응하는 하나 이상의 조정 벡터의 조합을 조인트 코드북 벡터(joint codebook vector)로 간주하고, 이 조인트 코드북 벡터와 양자화할 벡터 사이의 편차(deviation)에 따라, 가능한 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터를 선택한다.
본 실시예는 기본 코드북 벡터 Ua와 Ua의 각각의 Uaj에 대응하는 ADJaf에 대한 조인트 검색(joint search)을 통해 양자화할 벡터 V를 양자화한다.
기본 코드북 벡터 Ua의 K(K=1,2,3,...)개의 Uaj는 대응하는 조정 벡터 집합을 갖는다고 하고, K개의 Uaj 서브벡터에 대응하는 ADJaf의 수가 각각 N1, N2, ..., NK라고 하면. 기본 코드북 벡터 Ua와 조정 벡터 ADJaf로 이루어진 가능한 조인트 코드북 벡터의 수는 다음과 같이 된다:
총합 = A * N1 * N2 *...* NK
조인트 코드북 벡터와 양자화할 벡터 V 사이의 편차에 따라, 이들 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터가 선택된다. 그럼에도, 이러한 선택은 조인트 코드북 벡터와 벡터 V 사이의 편차뿐만 아니라, 추가로 조인트 코드북 벡터와 기준 벡터 사이의 편차에도 기초할 수 있다.
조인트 코드북 벡터와 양자화할 벡터 V 사이의 편차를 산출하는 과정에서, 조인트 코드북 벡터는 다음에 설명하는 제한 없는 다양한 방법에서 찾아낼 수 있 다.
(i) 계층적 계산: 각각의 Uaj와 배열된 최상의 조정 벡터를 계산하고, 배열된 최상의 조정 벡터와 Uaj를 비교한다. 이 과정에는 다음과 같은 단계를 포함한다.
1. 양자화할 벡터와 현재의 기본 코드북 벡터 사이의 잔차 벡터를 계산한다; 잔차 벡터는 몇 개의 잔차 서브벡터를 가지며, 잔차 서브벡터를 분할하는 방법은 기본 서브벡터의 방식과 동일하다.
벡터 V가 L-차원 벡터인 경우, V와 Ua 사이의 잔차 벡터 Ra도 또한 L-차원 벡터이다. Ua를 분할하는 방법에서, Ra는 K(K=1,2,3,...)개의 잔차 서브벡터로 분할된다.
Ra={Ra1,Ra2,...,RaK};
Raj={raj(1),raj(2),...,raj(I)}.
2. 조정 벡터 집합에 대응하는 기본 서브벡터에 대하여, 조정 벡터 집합에서의 조정 벡터와 이에 대응하는 잔차 서브벡터 사이의 편차에 따라 현재의 기본 서브벡터의 최상의 조정 벡터를 선택한다.
현재의 Ua의 각각의 Uaj에 대한 최상의 조정 벡터를 선택한다. Uaj가 대응하는 조정 벡터 집합을 가지고 있지 않다면, 조정을 할 필요가 없다. 최상의 조정 벡터를 선택하는 경우에, 편차는 제한 없는 여러 방식으로 판단된다. 예를 들어, 공통 차원 성분(common-dimension component)의 절대적 잔차(absolute residue)의 누계(accumulation), 잔차의 제곱 값의 누계, 또는 잔차의 가중화된 제곱 값의 누계가 적용될 수 있다.
최적화된 조정 벡터 집합에 대응하는 i-차원(i=1,2,3,...)의 Uaj가 Nj 조정 벡터(ADJjf)를 갖는다고 가정하면, Uaf의 최상의 조정 벡터를 선택하는 경우에 편차는 다음과 같은 방식으로 표현될 수 있다.
Figure 112009014649951-PCT00005
wj(i)는 rj와 ADJif 사이의 차원 i에서의 성분의 잔차의 가중치이다. 단계 A3에서, ADJif를 검색해내고, Δαj와 비교하고, Uaj의 최상의 조정 벡터 ADJjf0을 선택한다. f0j로서 Uaj에 대응하는 ADJjf0의 값 fo는 1≤f0j≤Nj이고, 대응하는 편차는 Δαj0이다. 최적화되지 않은 조정 벡터 집합에 대해, 성분의 각각의 차원에 대해 최상의 조정 벡터를 산출하고, 최상의 조정 벡터의 각각의 차원으로 이루어진 조정 벡터가 최상의 조정 벡터이다.
3. 모든 최상의 조정 벡터의 편차와 조정 벡터 집합에 대응하지 않는 기본 서브벡터와 양자화할 벡터 사이의 편차를 누계하고, 이러한 편차를 현재의 기본 코드북 벡터에 대응하는 최상의 조인트 코드북 벡터로서 사용한다.
Ua의 K(K=1,2,3,...)개의 기본 서브 벡터(Uaj) 중에서, 일부 기본 서브벡터는 대응하는 조정 벡터 집합을 가지며, 나머지는 조정되지 않는다. 조정되지 않는 기본 서브벡터에 대해, 서브벡터 사이의 편차와 양자화할 벡터 V의 대응 부분은 편차 합(deviation sum)으로 카운트된다. 설명의 편의를 위해, 조정되지 않은 Uaj와 V의 대응 부분 사이의 편차는 계속해서 Δαj0가 되고, Ua에 대응하는 최상의 조인트 코드북 벡터의 편차는 다음과 같이 된다:
Figure 112009014649951-PCT00006
4. 각각의 기본 코드북 벡터에 대응하는 최상의 조인트 코드북 벡터의 편차를 비교하고, 양자화를 위한 조인트 코드북 벡터를 선택한다.
A(A=1,2,3,...) Ua의 A(1,2,3,...) Δα를 산출해서 비교하고, 양자화를 위한 조인트 코드북 벡터를 선택한다. 대응하는 편차는 Δα0가, 1≤α0≤A로서 표현된다.
(ii) 총합 산출: 조인트 코드북 벡터를 생성하고, 벡터 V와 각각의 상이한 조인트 코드북 벡터 사이의 편차를 비교한다. 다음과 같은 단계를 포함한다:
1. 현재의 기본 코드북 벡터와 선택적인 조정 벡터를 가산하여 조인트 코드북 벡터를 생성한다.
Ua의 K(K=1,2,3,...)개의 기본 서브벡터(Uaj)는 대응하는 조정 벡터 조합을 가지며, 가능한 조인트 코드북 벡터는 다음과 같이 표현된다:
Figure 112009014649951-PCT00007
n1,...,nK는 Uaj에 대응하는 ADJjf의 값 "f"이다. 조정 벡터 조합에서의 ADJjf의 수가 {N1,N2,...,NK}이면, 각각의 Ua에 대해 다수의 N1*N2*...*NK 조인트 코드북 벡터가 생성될 수 있다. 모든 Ua는 총합이 A*N1*N2*...NK에 달하는 조인트 코드북 벡터를 생성할 수 있다.
2. 현재의 조인트 코드북 벡터와 양자화할 벡터 사이의 편차를 산출한다.
이러한 편차를 산출하는 방법은, 계산 범위가 벡터 V의 모든 차원으로 확장되는 점을 제외하고는, 계층적 계산에서의 ADJjf와 rj 사이의 편차를 산출하는 방법과 유사하다. 벡터 V와 조인트 코드북 벡터 사이의 편차는 Δ(a,n1,...,nK)로 나타낼 수 있다.
3. 각각의 상이한 조인트 코드북 벡터와 양자화할 벡터 사이의 편차를 비교하고, 양자화를 위한 조인트 코드북 벡터를 선택한다.
조인트 코드북 벡터가 특정의 순서로 규칙적으로 생성되면, 모든 조인트 코드북 벡터를 전체적으로 생성할 필요가 없다. 예를 들어, {a,n1,...,nK}를 설정하고; 단계 A3을 통해 Uaj에 대응하는 ADJjf를 찾아내고, 조인트 코드북 벡터를 생성한 다음, 최상의 Δαj0를 갖는 조인트 코드북 벡터가 비교를 통해 검색된 후 n이 "n0" 로 설정될 수 있는데, {a,n1,...,nK}가 변화할 때 다른 값의 n을 갖는 조인트 코드북 벡터를 생성할 필요가 없다. 이에 의하면, 생성되는 조인트 코드북 벡터의 최대 개수는 다음과 같다(모든 조정 벡터 집합은 트래버스된다고 가정한다. 조정 벡터 집합에서의 일부 조정 벡터의 값이 소정 범위 내에서 독립적으로 변화될 수 있으면, 이렇게 독립적으로 변화하는 조정 벡터는 먼저 검색을 통해 정해질 수 있는데, 가능한 모든 조정 벡터 집합을 트래버스할 필요는 없으며, 최대 개수를 더 적게할 수 있다):
총합 = A*[N1+(N2-1)+...+(NK-1)]=A*(N1 + N2 +...+ NK - K+1).
이들 중에서, 양자화를 위한 조인트 코드북 벡터를 선택한다. 대응하는 편차는 Δ(α0,n1,...,nK), 1≤a0≤A, 1≤nok≤Nk로 나타낼 수 있다.
단계 A5. 선택된 조인트 코드북 벡터에 대응하는 기본적인 코드북 벡터의 인덱스와 조정 벡터의 인덱스를 선택한다.
기본 코드북 벡터와 조정 코드북 벡터의 인덱스는 제한 없는 여러 가지 방법으로 배열될 수 있다. 예를 들어, 유사한 집합 내에 배치된 벡터의 순차적인 수(sequence number)가 벡터의 인덱스로서 사용될 수 있다.
단계 A4에서의 방법 1을 통해 선택된 조인트 코드북 벡터에 대해, 최종적으로 선택된 편차 Δα0에 따라, 기본 코드북 벡터의 인덱스가 a0로 정해질 수 있다. Δα0에 대응하는 각각의 Δαk0에 따라, K개의 조정 벡터의 인덱스가 {n01,n02,...,n0K}로서 정해질 수 있기 때문에, 모든 양자화 인덱스의 집합 {a0,n01,n02,...,n0K}을 얻을 수 있다.
단계 A4에서의 방법 2를 통해 선택된 조인트 코드북 벡터에 대해, 최종적으로 선택된 편차 Δ(a0,n1,...,nK)에 따라, 모든 양자화 인덱스의 집합이 {a0,n01,n02,...,n0K}로 정해질 수 있다.
양자화 인덱스 집합 {a0,n01,n02,...,noK}을 해독(decode)한 후, 디코더는 ao에 따라 대응하는 기본 코드북 벡터 Ua를 찾을 수 있다. 각각의 Uaj에 대응하는 각각의 조정 벡터 집합에서, {n01,n02,...,noK}에 따라 대응하는 조정 벡터 ADJjf(1≤j≤K)가 발견된다. Ua는 K개의 조정 벡터(ADJjf)와 조합되어, 벡터 V의 적절한 값을 복원(restore)할 수 있다.
본 발명의 실시예에서, 기본 코드북 벡터와 그 서브벡터의 조정 벡터로 이루어진 조인트 코드북 벡터를 통해 벡터가 양자화된다. 기본 코드북 벡터는 조정 벡터를 통해 조정되기 때문에, 기본 코드북 벡터의 다이내믹 레인지가 효과적으로 확장되며 기본 코드북 벡터의 왜곡이 감소된다. 그 결과, 1단의 양자화의 효과는 다단 양자화의 효과와 동등하거나 더 좋기 때문에, 코드북 저장량과 양자화 계산량이 효과적으로 감소된다. 또한, 기본 코드북 벡터는 조정 벡터를 통해 조정되기 때문에, 조정 벡터는 양자화할 벡터에서 기본 코드북 벡터를 제외한 이후의 소정의 차원 사이에 계속 존재하는 대부분의 관련성을 형성하도록 설계될 수 있다. 결과적 으로, 더 적은 수의 조정 벡터로, 더 넓은 다이내믹 조정 범위에서 조정을 구현할 수 있다. 한편, 차원들 사이에서 사용되는 관련성은 조정 벡터를 감소시키고 양자화를 위한 계산량도 감소시킨다.
제2 실시예
본 실시예에서의 벡터 양자화를 위한 방법은, 조정 벡터의 다이내믹 레인지를 더 넓히기 위해 기본 코드북 벡터에 관련된 스케일 팩터(scale factor)를 사용한다는 점에서, 제1 실시예의 방법과 다르다. 도 2에 나타낸 바와 같이, 제2 실시예의 처리 과정은 다음과 같은 단계를 포함한다.
단계 B1 및 B2는 제1 실시예에서의 단계 A1 및 A2와 동일하다.
단계 B3. 현재의 기본 코드북 벡터에 대응하는 스케일 팩터를 구한다.
현재의 기본 코드북 벡터가 Ua(1≤a≤A)라고 하면, 대응하는 스케일 팩터는 Sa라고 표현한다. Sa는, 미리 설정된 스토리지(storage)로부터 대응하는 Ua에 의해 구해지거나, 정적 데이터나 경험적 값(empiric value)에 따라 설정되거나, Ua에 따라 산출될 수 있다.
예를 들어, Ua에 따라 Sa를 계산하기 위한 방법은 다음과 같은 단계를 포함한다.
(1) 모두 A(A=1,2,3,...)개의 기본 코드북 벡터(Ua)의 평균 벡터(average vector)를 계산한다.
Ua가 L-차원 벡터라고 가정하면, A(A=1,2,3,...)개의 기본 코드북 벡터(Ua)의 평균 벡터
Figure 112009014649951-PCT00008
의 차원 1에서의 성분은 다음과 같다:
Figure 112009014649951-PCT00009
, 1≤≤L.
(2) 각각의 Ua로부터 평균 벡터
Figure 112009014649951-PCT00010
까지의 거리를 계산하고, 이 거리를 스케일 팩터 Sa로서 사용한다.
Figure 112009014649951-PCT00011
단계 B4. 스케일 팩터에 따라 기본 서브벡터에 대응하는 조정 벡터를 구한다.
본 실시예에서, Ua에 대응하는 기본 서브벡터 Uaj의 조정 벡터 ADJjf는 다수의 관련 벡터 gjf를 포함하는 관련 벡터 집합을 통해 제공된다. gjf는 다음과 같이 ADJfj에 관련된다.
ADJjf = Sa * gjf
상기 ADJjf와 대응 관계를 갖는 관련 벡터를, 본 명세서에서는 "조정 계수 벡터"(adjustment coefficient vector)라고 한다. 조정 계수 벡터의 집합은 "조정 계수 벡터 집합"이라고 한다. 따라서, 상기 대응하는 관계는, 기본 서브벡터에 대 응하는 조정 계수 벡터 집합과 스케일 팩터의 곱(product)으로 해석된다.
예를 들어, 기본 코드북 벡터 U가 4차원이라고 하면, 첫 번째의 2차원은 제1 서브벡터 u1이고, 그 다음의 2차원은 제2 서브벡터 u2이고, 제1 서브벡터는 대응하는 조정 벡터 집합을 갖는다. 2개의 코드북 벡터 u1과 u2가 있다고 하면, 기본 코드북 벡터 u1에 대응하는 스케일 팩터는 s1이고, 기본 코드북 벡터 u2에 대응하는 스케일 팩터는 s2이다. 제1 서브벡터 u1에 대응하는 조정 계수 벡터 집합은 2개의 조정 계수 벡터 {{-1,-1}, {1,1}}를 갖는다. 따라서, u1의 제1 서브벡터 u11에 대응하는 조정 벡터 집합은 다음과 같다:
s1*{{-1,-1}, {1,1}}={{-s1,-s1},{s1,s1}}
u2의 제1 서브벡터 u21에 대응하는 조정 벡터 집합은 다음과 같다:
s2*{{-1,-1}, {1,1}}={{-s2,-s2},{s2,s2}}
스케일 팩터는 기본 코드북 벡터에 대응하기 때문에, 이 경우에서의 조정 벡터의 인덱스는 대응하는 조정 계수 벡터의 인덱스로서 표현될 수 있다. 디코더는, 조정 계수 벡터의 인덱스와 기본 코드북 벡터의 인덱스에 따라 대응하는 조정 벡터를 복원할 수 있다.
단계 B5. 상이한 기본 서브벡터에 대응하는 하나 이상의 조정 벡터와 기본 코드북 벡터의 조합을 조인트 코드북 벡터로 한다. 조인트 코드북 벡터와 양자화할 벡터 사이의 편차에 따라, 가능한 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터를 선택한다.
단계 B6. 선택된 조인트 코드북 벡터에 대응하는 기본 코드북 벡터의 인덱스와 조정 벡터의 인덱스를 구한다.
단계 B5 및 B6은 제1 실시예에서의 단계 A4 및 A5와 동일하다. 단계 B6에서는, 스케일 팩터가 기본 코드북 벡터에 대응하기 때문에, 여분의 부호화 비트를 추가할 필요가 없으며, 이 경우에서의 조정 벡터의 인덱스는 대응하는 조정 계수 벡터의 인덱스로서 표현될 수 있다. 디코더는 조정 계수 벡터의 인덱스와 기본 코드북 벡터의 인덱스에 따라 대응하는 조정 벡터를 복원할 수 있다.
본 실시예는 조정 벡터를 구하기 위해 스케일 팩터와 조정 계수 벡터의 곱을 사용한다. 조정 벡터의 값은 특정의 Ua와 관련되어 있기 때문에, 다른 기본 코드북 벡터(Ua)는 동일한 조정 계수 벡터 집합을 통해 다른 조정 벡터 집합을 유도한다.
제3 실시예
제3 실시예는 제1 실시예와 제2 실시예에 기초해서 조정 벡터를 구하기 위한 방법을 제공한다. 도 3에 나타낸 바와 같이, 제3 실시예의 처리 과정은 다음과 같은 단계를 포함한다.
단계 C1. 양자화할 벡터를 구한다.
단계 C2. 여러 개의 기본 서브벡터로 이루어진 기본 코드북 벡터를 구한다. 즉, 여러 개의 기본 서브벡터 중에서, 적어도 하나의 K-차원(K≥2)의 기본 서브벡터는 조정 벡터 집합에 대응한다. 조정 벡터 집합은 K-차원의 N개의 조정 벡터(N=1,2,3,...)를 갖는다. 적어도 하나의 조정 벡터 집합은, N이 조정 벡터 집합 에서 모든 조정 벡터의 각각의 차원의 상이한 값으로 된 모든 가능한 조합의 수보다 작다는 요건을 만족시킨다.
단계 C1및 C2는 제1 실시예에서의 단계 A1 및 A2와 동일하다.
단계 C3. 기본 서브벡터에 대응하는 조정 벡터를 구한다. 이 과정은 다음과 같은 단계를 포함한다.
단계 C31. 기본 서브벡터에 대응하는 관련 벡터 집합을 검색한다. 이 관련 벡터 집합은 조정 벡터 집합이거나 조정 벡터 집합을 포함하는 함수 대응 관계에 속한다. 관련 벡터는 제2 실시예에서의 조정 계수 벡터가 될 수 있다. 이 경우, 기본 코드북 벡터 Ua를 획득한 다음에 대응하는 스케일 팩터 Sa를 구해야 한다.
관련 벡터 집합은 다음과 같은 방식으로 검색된다.
(1) 관련 벡터 집합 내에서 여러 개의 서브집합(sub-collection)을 검색한다. 각각의 서브집합 내에 포함된 관련 벡터의 수는, 해당 서브집합 내의 모든 관련 벡터의 각각의 차원의 상이한 값들의 모든 가능한 조합의 수가 된다.
(2) 각각의 서브집합에서, 대응 관련 벡터의 각 차원의 상이한 값을 검색한다.
각각의 서브집합에서, 각각의 차원 성분은 임의의 다른 차원 성분과 관련되어 있지 않다. 따라서, 이 검색 방식은 최적화되지 않은 조정 벡터 집합을 검색하는 방식과 유사하다. 즉, 각각의 차원 성분을 독립적으로 검색한다.
Uaj에 대응하는 관련 벡터 집합이 N개의 관련 벡터 {gj ,1,gj ,2,...,gj ,N}를 포함 하는 것으로 가정한다. 이러한 관련 벡터의 차원 성분들 사이의 값 관계에 따라, 관련 벡터 집합은 여러 개의 서브집합으로 이루어진 것으로 간주될 수 있다. 각각의 서브집합에서, 관련 벡터의 차원 성분의 값은 더 이상 상관 관계를 갖지 않으며, 독립적으로 변화한다. 극단적인 상황은, 각각의 관련 벡터가 서브집합을 개별적으로 형성하는 것이다.
관련 벡터 집합이 {{30,30},{30,20},{20,30},{20,20},{0,5},{-30,-20},{-30,-30}}라고 가정하면, 관련 벡터 집합은 다음과 같은 3개의 서브집합으로 분할될 수 있다:
"너무 크다": {{30,30},{30,20},{20,30},{20,20}},
"중간": {{0,5}},
"너무 작다": {{-30,-30},{-30,-20},{-20,-30},{-20,-20}}.
"너무 큰" 서브집합에서, 관련 벡터의 제1 차원 및 제2 차원이 값 "20" 및"30"에서 각각 독립적으로 검색된다. "중간" 서브집합에서는, 고유의 관련 벡터가 검색된다. "너무 작은" 서브집합에서는 관련 벡터의 제1 차원 및 제2 차원이 값 "-20" 및 "-30"에서 각각 독립적으로 검색된다.
관련 벡터의 서브집합에 번호가 매겨질 수 있다. 각각의 서브집합에서, 각 조합 모드의 시퀀스 번호를 얻기 위해 조합 모드가 배열될 수 있다. 이에 의하면, 관련 벡터는, 관련 벡터뿐만 아니라 서브집합에서의 관련 벡터의 순서 번호(sequence number)를 갖는 서브집합의 일련 번호에 의해 정해질 수 있다. 이러한 규정은 관련 벡터 집합 전체에서의 관련 벡터의 배열에 따라 관련 벡터의 순서 화(numbering) 규칙과 필수적으로 일치한다.
단계 C32. 관련 벡터 집합으로부터 획득한 관련 벡터에 따라 대응 조정 벡터를 구한다.
획득한 관련 벡터는, 조정 벡터가 되거나, 제2 실시예에서 설명한 조정 벡터를 구하기 위해 스케일 팩터에 의해 승산될 필요가 있다.
단계 C4. 기본 코드북 벡터와, 다른 기본 서브벡터에 대응하는 하나 이상의 조정 벡터의 조합을 조인트 코드북 벡터라고 간주한다. 조인트 코드북 벡터와 양자화할 벡터 사이의 편차에 따라, 가능한 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터를 선택한다.
단계 C5. 선택한 조인트 코드북 벡터에 대응하는 기본 코드북 벡터의 인덱스와, 조정 벡터의 인덱스를 구한다.
단계 C4 및 C5는 제1 실시예의 단계 A4 및 A5와 동일하다. 단계 C5에서는, 획득한 조정 벡터의 인덱스가 관련 벡터 집합에서의 조정 벡터에 대응하는 관련 벡터의 순서 번호라는 것에 주의하라. 관련 벡터 집합이 여러 개의 서브집합으로 분할되는 경우에, 순서 번호는 관련 벡터를 갖는 관련 벡터 관련 벡터 서브집합의 일련번호와, 관련 벡터 서브집합에서의 관련 벡터의 순서 번호로 표현될 수 있다.
관련 벡터의 순서 번호를 해독한 후, 디코더는 대응하는 관련 벡터 집합에서 관련 벡터를 찾을 수 있다. 예를 들어, 관련 벡터를 갖는 서브집합은 서브집합의 일련 번호에 따라 발견되며, 관련 벡터는 서브집합에서의 관련 벡터의 순서 번호에 따라 정해지고, 조정 벡터는 관련 벡터와 조정 벡터 사이의 관계에 따라 구해진다.
본 실시예는 관련 벡터 집합을 직접 검색함으로써 조정 벡터를 구하기 때문에, 계산량이 적다. 부분 분할된 서브집합이 관련 벡터 집합을 검색하는 데에 사용된다면, 관련 벡터가 각각의 서브집합에 저장될 수 있다. 각각의 서브집합은 각각의 차원의 모든 값의 다양한 조합을 제공한다. 따라서, 조합 모드 대신에 각 차원의 값을 저장하면 되므로, 저장량을 감소시킬 수 있다.
제4 실시예
본 발명의 제4 실시예는 벡터 양자화를 위한 방법을 제공한다. 제4 실시예는, 조정 벡터를 구하기 위한 다른 특정의 방법을 제공한다는 점에서 제3 실시예와 다르다. 도 4에 나타낸 바와 같이, 제4 실시예의 방법은 다음과 같은 단계를 포함한다:
단계 D1 및 D2는 제1 실시예의 단계 A1 및 A2와 동일하다.
단계 D3. 기본 서브벡터에 대응하는 조정 벡터를 구하는 단계로서, 다음의 단계를 포함한다.
단계 D31. 기본 서브벡터에 대응하는 관련 벡터의 각 차원의 여러 값을 검색한다. 이 단계는 다음과 같은 2가지 검색 방식을 갖는다:
방식 1: 편차를 판단하지 않고 상이한 값들의 조합을 검색한다. 검색 결과는 각 차원의 값들의 조합이다.
방식 2: 각각의 차원(변경되지 않은 기본 코드북 벡터로)에 대한 검색 과정에서, 상이한 값들에 의해 생성된 조정 벡터에 따라 조인트 코드북 벡터의 차원의 편차에 대한 영향을 판단한다. 이에 따라, 차원의 최상의 값을 결정할 수 있다. 검색 결과는 각 차원의 최상의 값이다.
단계 D32. 현재 획득한 각 차원의 값들의 조합이 선택가능한 유효한 관련 벡터인지 여부를 판단한다. 그렇다면, 단계 D33의 과정으로 진행하고, 그렇지 않다면, 검색이 완료될 때까지 단계 D31로 진행한다.
현재 획득한 각 차원의 값들의 조합이 선택가능한 유효한 관련 벡터인지 여부를 판단하기 위한 방법은 다음과 같은 단계들 포함할 수 있다. 모든 가능한 조합 중에서, 현재 획득한 각 차원의 값들의 조합의 순서 번호를 산출해 내고, 일련 번호에 따라 값 조합이 선택가능한 유효한 관련 벡터인지 여부를 판단한다.
관련 벡터가 4차원이고 각각의 차원의 5개의 가능한 값을 가진다고 가정하면, 모두 625가지의 가능한 관련 벡터가 존재한다. 이들 중에서, 조정 벡터에 대응하는 유효한 관련 벡터는 256개이다. 256개의 항목으로 2개의 고정 배열을 설정한다.
Ga[id']=D, id'={1,...,625}, D=1 또는 0;
Gb[id']=n, id'={1,...,625}, 1≤n≤256.
Ga[id']는 D값 "1"에 대응하는 256개의 id' 값을 가지며, 256개의 유효한 관련 벡터를 나타낸다. 256개의 id' 값을 간단히 "유효한 id' 값"이라 한다. Gb[id']는 유효한 id' 값에 대응하는 n개(1≤n≤256)의 값을 갖는다. n개(1≤n≤256)의 값은 유효한 id' 값의 순서 번호이다. Gb[id']의 n의 값은 유효한 id' 값들을 순차적으로 배열하고, n 값을 1에서 256까지 설정하는 방식으로 설정될 수 있다. Ga[id']에서 다른 id' 값에 대응하는 n 값은 임의로 설정될 수 있다.
가능한 관련 벡터 {id1, id2, id3, id4}(id1~id4는 차원 성분의 순서 번호이다)가 검색되면, 관련 번호의 최초의 순서 번호가 다음과 같이 계산된다:
id' = id1 * 125 + id2 * 25 + id3 * 5 + id4
Ga[id']를 검색한다. Ga[id']=1이라면, 관련 벡터는 유효한 것으로 판정되고, 대응하는 조정 벡터를 추가로 획득할 수 있다. Ga[id']에 대응하는 n 값은 조정 벡터의 인덱스이다.
Ga[id']=0이라면, 관련 벡터는 조정 벡터에 대응하지 않으며, 추가로 검색하여야 한다.
단계 D31에서의 검색 방식에 대해:
1. 현재 획득한 각 차원의 값들의 조합이 선택가능한 유효한 관련 벡터가 아닌 것으로 판정되고 추가의 검색이 요구되는 경우, 현재의 조합은 건너뛸 수 있으며, 검색은 순차적으로 진행될 수 있다;
2. 모든 값 조합이 트래버스되었으면, 검색이 완료된 것이거나, 모든 유효한 관련 벡터가 검색되었으면, 검색이 완료된 것이다;
3. 이 경우, 각각의 유효한 관련 벡터에 대응하는 모든 조정 벡터가 대응하는 기본 서브벡터에 제공된다.
단계 D31에서의 검색 방식 2에 대해:
1. 현재 획득한 각 차원의 값들의 조합이 선택가능한 유효한 관련 벡터가 아닌 것으로 판정되면, 추가의 검색이 필요하며, 이하의 처리 방식을 적용할 수 있다:
(1) 모든 유효한 관련 벡터의 값 조합을 저장하기 위한 임시 배열(temporary array)를 생성하고, 그 임시 배열 내에서 검색을 행한다;
(2) 하나 이상의 차원의 값들을 조정한다. 예를 들어, 해당 값이 유효한 것으로 조정될 때까지 높은 차원에서 낮은 차원으로 값을 조정한다;
(3) 단계 (2)에서 조작을 수행하지만, 소정의 차원은 조정이 제한된다.
2. 유효한 관련 벡터가 검색된 것으로 판정되면, 검색이 완료된다;
3. 이 경우, 기본 코드북 벡터 Ua의 각각의 Uaj에 대해, 유효한 관련 벡터가 한번 제공된 것에 상당하는데, 유효한 관련 벡터는 Uaj의 최상의 조정 벡터에 대응한다.
단계 D33. 현재 획득한 유효한 관련 벡터에 따라 조정 벡터를 구한다.
이 경우, 벡터 집합은 모든 유효한 관련 벡터의 집합이 되도록 조정되거나 모든 유효한 관련 벡터의 집합과 함수 관계를 갖도록 조정된다. 이 조정 벡터의 인덱스는 모든 유효한 관련 벡터 내의 조정 벡터에 대응하는 유효한 관련 벡터의 일련 번호로서 표현될 수 있다.
단계 D4. 기본 코드북 벡터와, 상이한 기본 서브벡터에 대응하는 하나 이상의 조정 벡터의 조합을 조인트 코드북 벡터로서 가정한다. 조인트 코드북 벡터와 양자화할 벡터 사이의 편차에 따라, 가능한 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터를 선택한다.
단계 D5. 선택한 조인트 코드북 벡터에 대응하는 기본 코드북 벡터의 인덱스 와, 조정 벡터의 인덱스를 구한다.
단계 D4 및 D5는 제1 실시예의 단계 A4 및 A5와 동일하다. 단계 D5에서는, 획득한 조정 벡터의 인덱스가 모든 관련 벡터 내에서 조정 벡터에 대응하는 유효한 관련 벡터의 순서 번호라는 것에 주의하라.
관련 벡터의 순서 번호 n을 해독한 후, 디코더는 Gb[id']에 대응하는 256개의 항목으로 된 고정 배열을 검색할 수 있다.
Gc[n] = id', n={1,...,256}, 1≤id'≤625
관련 벡터의 최초 순서 번호 id'를 복원하기 위해, 다음에 따른다.
id4 = id'%5; id4' = Int[id'/5];
id3 = id4'%5; id3' = Int[id4'/5];
id2 = id3'%5; id2' = Int[id3'/5];
id1 = id2'%5.
여기서, "%"는 소수(decimal part)가 적용된 것을 나타내며, "Int"는 정수(integer part)가 적용된 것을 나타낸다. 각 차원 성분의 값의 순서 번호를 구하고, 대응하는 관련 벡터를 구한다.
본 실시예는 관련 벡터를 구하기 위해 잉여 검색(surplus search) 방식(즉, 검색한 조합의 수가 궁극적으로 색인화된 유효한 조합의 수보다 적다)을 사용하고, 해당 조합의 유효성을 판단함으로써 대응하는 조정 벡터를 구한다. 그 결과, 유효한 관련 벡터의 실제 조합 관계를 저장할 필요가 없기 때문에, 저장량을 감소시킬 수 있다.
이러한 본 발명의 실시예에서의 벡터 양자화 방법은 다양한 벡터 양자화 처리에 적용될 수 있으며, 개별적으로 적용되거나, 다른 벡터 양자화 방법과 함께 적용될 수도 있다. 본 방법은 벡터에 대한 1단 양자화를 수행하는 데에 사용될 수 있으며, 양자화 잔차 또는 1단 양자화 이후의 잔차의 일부에 대한 2단 양자화를 수행하는 데에 사용될 수 있다. 이러한 본 발명에 따른 벡터 양자화 방법을 구현하기 위한 소프트웨어는 컴퓨터로 판독가능한 매체에 저장될 수 있다는 것을 이해할 수 있을 것이다. 본 방법은, 양자화할 벡터를 구하는 단계; 여러 개의 기본 서브벡터를 갖는 기본 코드북 벡터를 구하는 단계를 포함하며, 이 여러 개의 기본 서브벡터 내에서, 적어도 하나의 K-차원(K≥2) 기본 서브벡터는 N(N=1,2,3,...)개의 K-차원 조정 벡터를 갖는 조정 벡터 집합에 대응하고; 적어도 하나의 조정 벡터 집합은, N이 해당 집합 내에서 모든 조정 벡터의 임의의 차원의 각 차원의 상이한 값들의 모든 가능한 조합의 수보다 작다는 요건을 만족하며; 기본 서브벡터에 대응하는 조정 벡터를 구하는 단계; 기본 코드북 벡터와 상이한 서브벡터에 대응하는 적어도 하나의 조정 벡터의 조합이 조인트 코드북 벡터라고 가정하면, 조인트 코드북 벡터와 양자화할 벡터 사이의 편차에 따라 가능한 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터를 선택하는 단계; 선택한 조인트 코드북 벡터에 대응하는 기본 코드북 벡터의 인덱스와 조정 벡터의 인덱스를 구하는 단계를 포함한다. 판독가능한 매체는 ROM/RAM, 디스크, 또는 CD 등이 될 수 있다.
본 발명의 기술적인 방안에 대하여 구체적인 실시예를 들어 이하 설명한다. 도 5는 본 발명의 실시예에 제공된 벡터 양자화 방법의 전체적인 플로차트이다. 본 발명의 실시예에 따른 벡터 양자화 방법은 다음과 같은 단계를 포함한다:
단계 501: N개의 기본 코드북 벡터와 그 기본 코드북 벡터의 각각의 조정 벡터를 사용하여 양자화할 벡터에 대해 양자화 처리를 수행한다.
단계 502: 기본 코드북 벡터와 양자화할 벡터를 양자화하는 데에 사용되는 조정 벡터를 생성한다.
N은 1과 같거나 1보다 큰 양의 정수이다. 기본 코드북 벡터의 조정 벡터는 기본 코드북 벡터를 조정하는 데에 사용되므로, 벡터를 양자화한 결과는 양자화할 벡터에 가까워진다.
도 5에 도시된 본 발명의 실시예에 따른 벡터 양자화 방법에 대하여 이하 상세히 설명한다.
구체적인 실시에 있어서, 벡터를 양자화하기 위해 N개의 기본 코드북 벡터와 이들의 조정 벡터를 사용하기 전에 N개의 코드북 벡터의 조정 벡터를 생성할 필요가 있다.
도 6은 본 발명의 실시예에서 코드북 벡터의 조정 벡터를 생성하는 플로차트이며, 여기서 벡터의 α차원을 최적화할 필요가 있다. 본 처리 과정은 다음과 같은 단계를 포함한다.
단계 601: N개의 기본 코드북 벡터의 평균 벡터를 계산한다.
단계 601에서, 기본 코드북 벡터의 평균 벡터는 또한 α차원의 벡터이다. 본 실시예에서, N개의 기본 코드북 벡터의 평균 벡터는, N개의 기본 코드북 벡터의 동일 차원의 성분을 합산하고, 그 합을 N으로 나눔으로써, 평균 벡터의 해당 차원 에 대한 성분을 획득한다. 기본 코드북 벡터 j의 차원 i의 성분을 Yj(i)로 하고, 평균 벡터의 차원 i의 성분을 AV(i)라고 하면, AV(i)를 계산하기 위한 식은 다음과 같이 된다.
Figure 112009014649951-PCT00012
평균 벡터 AV(a)는 이러한 성분으로 이루어진 α차원 벡터이다:
Figure 112009014649951-PCT00013
.
단계 602: 각각의 기본 코드북 벡터로부터 평균 벡터까지의 거리를 계산한다.
본 실시예에서, 계산 처리는 기본 코드북 벡터 j의 각 차원에 대한 성분과 평균 벡터의 동일 차원에 대한 성분 사이의 잔차(residual)를 계산하며, α(α=1,2,3,...)개의 성분 잔차를 획득하며, α개의 성분 잔차의 제곱 합을 구하고, 그 제곱 합을 α로 나누며, 나눈 결과의 제곱근을 추출함으로써, 평균 벡터에 대한 기본 코드북 벡터 j 사이에서의 거리 AVS(j)를 획득하는 과정을 포함한다.
Figure 112009014649951-PCT00014
AVS(j)는 스케일 팩터(scale factor)이다.
단계 603: 각각의 기본 코드북 벡터로부터 평균 벡터까지의 거리에 따라 각각의 기본 코드북 벡터의 조정 벡터를 생성한다.
본 실시예에서, 각각의 기본 코드북 벡터의 조정 벡터는 기본 코드북 벡터의 각각의 차원의 성분의 조정 벡터를 생성함으로써 생성된다. 상세한 처리 과정은, 기본 코드북 벡터의 각 차원의 성분의 조정 벡터에 대응하는 하나 이상의 관련 벡터를 설정하는 단계; 기본 코드북 벡터의 각 차원의 성분의 조정 벡터를 생성할 때에, 코드북 벡터로부터 평균 벡터까지의 거리를, 해당 차원의 성분의 조정 벡터에 대응하는 각각의 관련 벡터로 승산(multiply)하는 단계; 획득한 각각의 곱을 코드북 벡터의 해당 차원의 성분에 대응하는 조정 벡터로서 이용하여, 기본 코드북 벡터의 현재 차원의 성분에 대응하는 곱을 배열하는 단계; 곱에 의해 획득된 순서 번호를 해당 곱에 대응하는 조정 벡터의 인덱스로서 사용하는 단계를 포함한다.
기본 코드북 벡터 j를 예로 들면, 코드북 벡터 j의 차원 i에 대한 성분의 조정 벡터를 생성하는 프로세서는, 코드북 벡터 j의 조정 벡터의 기본 값으로서 AVS(j)를 이용하는 단계, 코드북 벡터 j의 조정 벡터의 기본 값을 추가로 조정하기 위해 스케일 팩터를 설정하는 단계를 포함한다. 코드북 벡터 j의 i차원 Yj(i)에 대해 구성된 관련 벡터 집합이 {0, A1, -A1, A2, -A2}라고 가정하면, Yj(i)의 조정 벡터는 집합 {0, AVS(j)×A1, -AVS(j)×A1, AVS(j)×A2, -AVS(j)×A2}의 요소이다. A1=A2=0.3이면, Yj(i)의 조정 벡터는 집합 {0, AVS(j)×0.3, -AVS(j)×0.3}의 요소이다. 한편, 해당 집합에서의 각 요소의 순서 번호는 조정 벡터의 인덱스에 대응한다.
도 6에 나타낸 실시예는 코드북 벡터의 조정 벡터를 생성하기 위한 방법을 제공한다. 실제의 응용에 있어서, 코드북 벡터의 조정 벡터는 다른 방식으로 생성될 수 있다. 예를 들어, 가장 단순한 방식은 각각의 코드북 벡터의 조정 벡터를 랜덤하게 생성하는 것이다. 그러나, 이러한 방식으로 획득한 조정 벡터가, 코드북 벡터와 양자화할 벡터 사이의 잔차 벡터를 양자화하기 위해 사용된다면, 코드 효과(code effect)는, 도 6에 도시된 실시예에서 생성된 조정 벡터에 의해 코드 효과보다 덜 안정적이라는 것이 명백하다.
ISF 계수로 이루어진 ISF 벡터의 양자화를 예로 들면, 본 발명의 실시예에 따른 벡터 양자화 방법에 대하여, 도 1에 도시된 것과 같이, 이하 상세히 설명한다. 본 발명의 실시예에 따른 벡터 양자화 방법과 AMR-WB+의 벡터 양자화 방법 간의 코드 효과와 양자화 복잡도의 비교를 용이하게 하기 위해, 본 실시예에서는 부호화를 위해 46개의 비트가 사용되며, ISF 벡터는 16-차원의 벡터이며, 16-차원의 ISF 벡터에 대응하는 ISF 잔차로부터 트레이닝된 코드북 벡터가 256개 있다.
도 6에 나타낸 코드북 벡터의 조정 벡터를 생성하기 위한 방법에 기초하여, 도 7은 본 발명의 실시예에 따른 각각의 코드북 벡터의 조정 벡터와 ISF 잔차 코드북 벡터를 생성하는 처리를 나타낸다. 이 처리는 다음과 같은 단계를 포함한다.
단계 701: ISF 벡터의 ISF 잔차를 계산하기 위해 프레임간 예측(inter-frame prediction)을 이용한다.
종래 기술에서 ISF 벡터를 양자화하는 처리에서 ISF 잔차를 계산하기 위한 실시가 여기에 적용된다. 이하, 계산 처리를 간단히 설명한다.
Zn은, 프레임 n의 ISF 벡터 isfn에서 평균 값 mean_isf를 감산한 것이 되도록 정의하고, 예측된 ISF 잔차를 Rn으로 하면, 식은 다음과 같이 된다.
Figure 112009014649951-PCT00015
여기서, Pn은 프레임 n의 예측된 ISF 벡터이다:
Figure 112009014649951-PCT00016
여기서,
Figure 112009014649951-PCT00017
은 이전 프레임을 양자화한 후의 ISF 잔차이며, MA는 일반적으로 1/3인 경험 값(empiric value)이다.
단계 702: 16-차원의 ISF 잔차의 256개 코드북 벡터를 트레이닝한다.
단계 702에서, 양자화할 벡터는 공지된 벡터로서 사용되며, 양자화할 벡터에 대응하는 N개의 코드북 벡터를 트레이닝하는 데에 LBG 알고리즘이 사용된다. LBG 알고리즘은 코드북 벡터를 트레이닝하기 위해 설계된 공개적으로 알려진 기술이다. LBG 알고리즘을 통해 코드북 벡터를 트레이닝하는 상세한 설명에 대해서는 다른 관련 문헌을 참고하라. 실시의 응용에 있어서, 코드북 벡터는 다른 알고리즘을 통해 트레이닝될 수도 있다.
각각의 트레이닝된 코드북 벡터는 α-차원 벡터(α=1,2,3,...)이다.
단계 703: 256개의 코드북 벡터의 평균 벡터를 계산한다.
단계 502에서의 설명을 참고하라. 여기서 N=256이고, α=16이다.
단계 704: 256개의 코드북 벡터 중에서 각각의 코드북 벡터로부터 평균 벡터까지의 거리를 계산한다.
단계 503에서의 설명을 참고하면, AVS(j), 즉 코드북 벡터 j로부터 평균 벡터까지의 거리는 다음과 같다:
Figure 112009014649951-PCT00018
본 실시예에서, 코드북 벡터는 거리 값 AVS(j)에 대응한다. 이 거리 값은, 코드북 벡터의 기본 값으로서의 기능을 한다. 실시의 응용에 있어서, 코드북 벡터의 다수의 기본 값을 산출해 내는 것이 바람직하지만, 후속하는 양자화의 계산량이 증가하게 된다.
단계 705: 256개의 코드북 벡터 중에서 각각의 코드북의 각 차원의 성분의 조정 벡터를 생성한다.
본 실시예에서, 스케일 팩터 0, A1, -A1, B1, -B1, C1 및 -C1에 대응하는 각 코드북 벡터의 차원 1 내지 6의 성분에 대해 7개의 조정 벡터가 설정된다. 스케일 팩터 0, A2, -A2, B2 및 -B2에 대응하는 차원 7 내지 13의 성분에 대해 5개의 조정 벡터가 설정된다. 스케일 팩터 0, A3, 및 -A3에 대응하는 차원 14 내지 16에 대해 3개의 조정 벡터가 설정된다. 코드북 벡터 j를 예로 들면, 단계 705에서 획득한 AVS(j)는 코드북 벡터 j의 각 차원에 대한 성분의 조정 벡터 기본 값으로서 기능하고, 코드북 j의 각 차원에 대한 성분의 조정 벡터 V(k)의 획득한 집합은 다음과 같 다:
차원 1 내지 6의 성분에 대해, k=1,2,...,7, i=1,2,...,6,
Figure 112009014649951-PCT00019
여기서, k는 집합 V(i,k)에서의 각 요소의 순서 번호를 나타내며, 또한 차원 1 내지 6에 대한 성분에 대응하는 조정 벡터의 인덱스를 나타낸다.
차원 7 내지 13의 성분에 대해, k'=1,2,...,5, i=7,...,13,
Figure 112009014649951-PCT00020
여기서, k'는 집합 V(i,k')에서의 각 요소의 순차 번호를 나타내며, 또한 차원 7 내지 13에 대한 성분에 대응하는 각 조정 벡터의 인덱스를 나타낸다.
차원 14 내지 16의 성분에 대해, k"=1,2,3, i=14,...,16,
Figure 112009014649951-PCT00021
여기서, k"는 집합 V(i,k")에서의 각 요소의 순차 번호를 나타내며, 또한 차원 14 내지 16에 대한 성분에 대응하는 각 조정 벡터의 인덱스를 나타낸다.
또한, 본 실시예에서, 모든 스케일 팩터가 1이라면, 코드북 벡터의 각 차원에 대한 성분의 획득한 조정 벡터는
Figure 112009014649951-PCT00022
따라서, 256개의 코드북 벡터와 이들의 조정 벡터가 획득되며, 이후 ISF 잔차를 양자화하는 데에 사용된다.
도 7에 나타낸 각 코드북 벡터의 조정 벡터와 ISF 잔차 코드북 벡터에 기초 하여, 도 8은 본 발명의 실시예에 따른 벡터 양자화 방법을 통해 ISF 잔차를 양자화하는 처리를 나타낸다. 여기서, N개의 코드북 벡터와 각 코드북 벡터의 조정 벡터는 벡터를 양자화하기 위해 사용된다. 양자화할 벡터의 코드북 벡터와 조정 벡터를 양자화하는 처리는 다음과 같은 단계를 포함한다:
단계 801: 양자화할 벡터와 256개의 코드북 벡터 중에서 각각의 코드북 벡터와 이러한 코드북 벡터의 조정 벡터 간의 잔차 벡터를 계산한다.
본 실시예에서, 양자화할 벡터는 ISF 잔차이다. 양자화할 벡터와 256개의 코드북 벡터 중에서 각각의 코드북 벡터와 이러한 코드북 벡터의 조정 벡터 간의 잔차 벡터의 계산은, ISF 잔차와 256개의 코드북 벡터 중에서 코드북 벡터들 간의 잔차 벡터의 계산과 동일하다.
단계 801에서, 획득한 잔차 벡터는 또한 16-차원 벡터이다. resj ,i로 표현되는 잔차 벡터가 256개 있다. 여기서, j=1,2,...,256이고, i=1,2,...,16이다.
단계 802: 코드북 벡터의 조정 벡터를 설정하는 방식에 따라 16-차원의 잔차 벡터를 3개의 서브벡터로 분할한다.
본 실시예에서, 코드북 벡터 j에 대응하는 16-차원 잔차 벡터는, 단계 705에서 설명한 바와 같이, 차원 1 내지 6에서의 성분에 대응하는 조정 벡터, 차원 7 내지 13에서의 성분에 대응하는 조정 벡터, 및 차원 14 내지 16에서의 성분에 대응하는 조정 벡터에 따라 3개의 서브벡터로 분할된다. 3개의 서브벡터는 다음과 같다:
Figure 112009014649951-PCT00023
단계 803: 각 코드북 벡터의 조정 벡터를 사용함으로써 잔차 벡터를 양자화한다.
본 실시예에서, N개의 코드북 벡터와 각 코드북 벡터의 조정 벡터를 통해 벡터를 양자화하는 처리는, 양자화할 벡터와 코드북 벡터 간의 잔차를 양자화하기 위해 각 코드북 벡터의 조정 벡터를 이용하는 단계를 포함한다. 잔차 벡터를 양자화하는 처리는, 잔차 벡터의 각 차원에서의 성분과 코드북 벡터의 동일 차원에서의 성분의 조정 벡터 간의 절대 잔차(absolute residual)를 계산하는 단계와; 잔차 벡터의 각 차원의 성분에 대응하는 최소 절대 잔차(minimum absolute residual)과 대응하는 조정 벡터의 인덱스를 선택하는 단계를 포함한다. resj,i(i=1,2,...,6)의 양자화를 예로 들면, 양자화 처리에 대해 이하 상세히 설명한다.
resj ,i의 제1 차원에서의 성분과 집합 V(i,k), i=1, k=1,2,...,7에서의 각 요소 간의 절대 잔차를 계산한다:
Figure 112009014649951-PCT00024
Figure 112009014649951-PCT00025
E1 ,k로 표현된 7개의 절대 잔차를 구하고, 최소 절대 잔차 minE1 ,k를 선택하고, 대응하는 k 값을 기록한다.
상술한 양자화 처리에 의하면, resj ,i 중에서, 차원 1 내지 6에 대한 최소 절대 잔차 minEi ,k(i=1,2,,...,6)를 구하고, 차원 7 내지 13에 대한 최소 절대 잔차 minEi , k'(i=7,...,13)를 구하고, 차원 14 내지 16에 대한 최소 절대 잔차 minEi,k"(i=14,...,16)을 구한다.
단계 804: 각각의 잔차 벡터와, 최소 절대 잔차에 대응하는 조정 벡터 사이의 왜곡을 계산하고, N개의 왜곡을 구한다.
본 실시예에서, 각각의 잔차 벡터와, 최소 절대 잔차에 대응하는 조정 벡터 사이의 왜곡을 산출하는 처리는, 256개의 잔차 벡터의 각각에 대해, 잔차 벡터의 각 차원에서의 성분에 대응하는 최소 절대 잔차의 제곱 값을 산정하고, 각 차원에서의 성분에 대응하는 최소 절대 잔차의 제곱 값을 합산하며; 그 합을 잔차 벡터와 동일 코드북 벡터에 대응하는 조정 벡터 사이의 왜곡으로 사용하며; 각각의 잔차 벡터는 왜곡에 대응하고; N개의 왜곡을 구하는 단계를 포함한다. resj,i(i=1,2,...,16)과 조정 벡터 사이의 왜곡 Ej의 계산을 예로 들면, 식은 다음과 같이 된다.
Figure 112009014649951-PCT00026
따라서, 256개의 왜곡을 구할 수 있다.
Figure 112009014649951-PCT00027
라고 가정하면, E1, E2 및 E3은, ISF 잔차가 상이한 범위까지 에러에 대해 민감하다는 것을 고려해서, 가중화될 수 있다. 제곱 값은 대응하는 가중 계수(weight coefficient)로 승산하여 가중화된 왜곡, Ej = E1+E2/α+E3/β를 얻을 수 있다. 여기서, α와 β는 가중 계수이며, 실수이다.
단계 805: 256개의 왜곡 중에서 최소 왜곡을 선택하고, 최소 왜곡에 대응하는 코드북 벡터와 조정 벡터를, 벡터를 양자화하기 위한 코드북 벡터와 조정 벡터로서 사용한다.
본 실시예에서, 최소 왜곡은 Ej = E1+E2/α+E3/β이라고 가정하면, 코드북 벡터 j는 벡터를 양자화하기 위한 코드북 벡터이며, 최상의 코드북 벡터가 된다. E1내의 제1 minE1 ,k에 대응하는 k가 2라고 가정하면, 잔차 벡터의 제1 차원에서의 양자화 조정 벡터는, AVS(j)×A1이고, 잔차 벡터의 제1 차원에서의 최상의 조정 벡터이다. 유추하여, 잔차 벡터의 차원 1 내지 6에서의 최상의 조정 벡터는 E1에 의해 구해질 수 있으며, 잔차 벡터의 차원 7 내지 13에서의 최상의 조정 벡터는 E2에 의해 구해질 수 있으며, 잔차 벡터의 차원 14 내지 16에서의 최상의 조정 벡터는 E3에 의해 구해질 수 있으며, 잔차 벡터의 차원 1 내지 6에서의 최상의 조정 벡터와 대응하는 k 값이 획득되고, 차원 14 내지 16에서의 양자화 조정 벡터와 대응하는 k'가 획득된다.
단계 806: 최소 왜곡에 대응하는 조정 벡터의 인덱스와 코드북 벡터의 인덱스를 출력한다.
본 실시예에서, Ej를 획득한 후, Ej에 대응하는 코드북 벡터 j는 인덱스가 j 인 최상의 코드북 벡터이다. 단계 805에서 언급한 바와 같이, 잔차 벡터의 제1 차원에서의 양자화 조정 벡터의 인덱스는, E1에 따라 획득된 제1 minE1 ,k에 대응하는 k=2이다. 유추하여, 잔차 벡터의 각 차원에서의 성분의 최상의 조정 벡터의 인덱스가 획득된다.
본 발명의 벡터 양자화 방법을 통해 ISF 잔차를 양자화하는 처리가 완료된다. 이후, 최종적으로 획득된 인덱스가 부호화 결과로서 디코더에 전송된다. 코덱 프로토콜에 의하면, 디코더는 인덱스에 의해 양자화될 벡터에 대응하는 양자화 벡터를 찾고, 합성된 음성 신호를 구한다.
단계 801에서, 각 코드북 벡터의 각각의 차원에서의 성분과 해당 차원에서의 성분에 대응하는 조정 벡터를 먼저 합산하고 나서, 각각의 합산된 값과 양자화할 벡터의 동일 차원에서의 성분 사이의 절대 잔차를 계산하는 것이 바람직하다. 이에 의하면, 단계 803에서 언급한 절대 잔차가, 단계 803에서의 후속 동작 이전에 직접 획득된다.
이미지/영상 신호를 부호화하는 처리에서, 신호를 샘플링함으로써 신호 시퀀스를 얻을 수 있으며, 이러한 시퀀스는 벡터를 구성할 수 있다. 따라서, 본 발명의 벡터 양자화 방법은 이미지/영상 신호를 부호화하는 처리에도 적용될 수 있다.
본 발명의 실시예에 따른 벡터 양자화기에 대하여 이하 상세하게 설명한다.
도 9에 나타낸 벡터 양자화기(10)는, 벡터 입력 유닛(12), 기본 코드북 유닛(12), 조정 벡터 유닛(13), 양자화 유닛(14), 및 양자화 출력 유닛(15)을 포함한 다.
벡터 입력 유닛(11)은 양자화할 벡터를 획득하도록 구성되어 있다.
기본 코드북 유닛(12)은 여러 개의 기본 서브벡터를 갖는 기본 코드북 벡터를 제공하도록 되어 있다. 여러 개의 기본 서브벡터 중에서, 적어도 하나의 K-차원(K≥2)의 기본 서브벡터는 조정 벡터 집합에 대응한다. 조정 벡터 집합은 K-차원의 N개의 조정 벡터(N=1,2,3,...)를 포함한다. 적어도 하나의 조정 벡터 집합은, N이 해당 조정 벡터 집합 내에서 모든 조정 벡터의 각 차원의 상이한 값들의 모든 가능한 조합의 수보다 작다는 요건을 만족한다.
조정 벡터 유닛(13)은, 기본 코드북 유닛(12)에 의해 제공된 기본 코드북 벡터 내의 기본 서브벡터에 대응하는 조정 벡터를 제공하도록 되어 있다.
양자화 벡터(14)는, 기본 코드북 유닛(12)과 조정 벡터 유닛(13)으로부터 기본 코드북 벡터와 조정 벡터를 획득하도록 되어 있으며, 기본 코드북 벡터와, 상이한 기본 서브벡터에 대응하는 하나 이상의 조정 벡터의 조합을 조인트 코드북 벡터로서 가정하고, 조인트 코드북 벡터와 벡터 입력 유닛(11)에 의해 획득된 벡터 사이의 편차에 따라, 가능한 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터를 선택한다.
양자화 출력 유닛(15)은, 양자화 유닛(14)에 의해 선택된 조인트 코드북 벡터에 대응하는 기본 코드북 벡터의 인덱스와, 조정 벡터의 인덱스를 획득하도록 되어 있다.
제1 실시예에서의 조인트 코드북 벡터를 검색하는 제1 방법에 대응하는, 본 실시예에서의 양자화 유닛은 도 10에 도시된 구조로 될 수 있으며, 이 양자화 유닛은, 잔차 계산 유닛(1411), 잔차 양자화 유닛(1412), 편차 누계 유닛(1413), 및 양자화 선택 유닛(1414)을 포함한다.
잔차 계산 유닛(1411)은, 양자화할 벡터와 기본 코드북 유닛으로부터 획득한 현재의 기본 코드북 벡터 사이의 잔차 벡터를 계산하도록 되어 있다. 잔차 벡터는 하나 이상의 잔차 서브벡터를 포함한다. 잔차 서브벡터를 분리하는 방식은 기본 서브벡터를 분리하는 방식과 동일하다.
잔차 양자화 유닛(1412)은, 조정 벡터 집합에 대응하는 기본 서브벡터에 대해, 조정 벡터 유닛에 의해 제공된 조정 벡터 집합 내의 조정 벡터와 잔차 계산 유닛(1411)에 의해 획득된 대응하는 잔차 서브벡터 사이의 편차에 따라 현재의 기본 서브벡터의 최상의 조정 벡터를 선택한다.
편차 누계 유닛(1413)은, 잔차 양자화 유닛(1412)에 의해 획득된 모든 최상의 조정 벡터의 편차와, 양자화할 벡터와 조정 벡터 집합에 대응하지 않는 기본 서브벡터 사이의 편차를 누계시키고, 이러한 편차를 현재의 기본 코드북 벡터에 대응하는 최상의 조인트 코드북 벡터의 편차로서 이용하도록 되어 있다.
양자화 선택 유닛(1414)은, 편차 누계 유닛(1413)에 의해 획득된 각각의 기본 코드북 벡터에 대응하는 최상의 조인트 코드북 벡터의 편차를 비교하고, 양자화를 위한 조인트 코드북 벡터를 선택하도록 되어 있다.
제1 실시예에서의 조인트 코드북 벡터를 검색하는 제2 방법에 대응하는, 본 실시예에서의 양자화 유닛은 도 11에 도시된 구조로 될 수 있으며, 이 양자화 유닛 은, 조인트 벡터 유닛(1421), 편차 계산 유닛(1422), 및 비교 및 선택 유닛(1423)을 포함한다.
조인트 벡터 유닛(1421)은, 기본 코드북 유닛으로부터 획득한 현재의 기본 코드북 벡터와 조정 벡터 유닛으로부터 획득한 조정 벡터를 가산하여 조인트 코드북 벡터를 형성하도록 되어 있다.
편차 계산 유닛(1422)은, 조인트 벡터 유닛(1421)에 의해 현재 생성된 조인트 코드북 벡터와 양자화할 벡터 사이의 편차를 계산하도록 되어 있다.
비교 및 선택 유닛(1423)은, 편차 계산 유닛(1422)에 의해 획득된 각각의 상이한 조인트 코드북 벡터와 양자화할 벡터 사이의 편차를 비교하고, 양자화를 위한 조인트 코드북 벡터를 선택하도록 되어 있다.
본 실시예에서의 벡터 양자화기에 의해, 제1 실시예에서 설명한 벡터 양자화 방법을 구현할 수 있다.
제6 실시예
도 12에 도시한 벡터 양자화기(20)는, 벡터 입력 유닛(21), 기본 코드북 유닛(22), 스케일 팩터 유닛(23), 조정 벡터 유닛(24), 양자화 유닛(25), 및 양자화 출력 유닛(26)을 포함한다.
벡터 입력 유닛(21)은 양자화할 벡터를 획득하도록 구성되어 있다.
기본 코드북 유닛(22)은, 여러 개의 기본 서브벡터를 갖는 기본 코드북 벡터를 제공하도록 되어 있다. 여러 개의 기본 서브벡터 중에서, 적어도 하나의 K-차원(K≥2)의 기본 서브벡터는 조정 벡터 집합에 대응한다. 조정 벡터 집합은 K-차 원의 N개의 조정 벡터(N=1,2,3,...)를 포함한다. 적어도 하나의 조정 벡터 집합은, N이 해당 조정 벡터 집합 내에서 모든 조정 벡터의 각 차원의 상이한 값들의 모든 가능한 조합의 수보다 작다는 요건을 만족한다.
스케일 팩터 유닛(23)은, 기본 코드북 유닛(22)에 의해 현재 제공된 기본 코드북 벡터에 대응하는 스케일 팩터를 제공하도록 구성되어 있다.
조정 벡터 유닛(24)은, 기본 코드북 유닛(22)에 의해 제공된 기본 코드북 벡터 내에서의 기본 서브벡터에 대응하는 조정 벡터를 제공하도록 구성되어 있다. 조정 벡터는 스케일 팩터 유닛(23)에 의해 제공된 스케일 팩터와 기본 서브벡터에 대응하는 조정 계수 벡터의 곱이다.
양자화 유닛(25)은, 기본 코드북 유닛(22)과 조정 벡터 유닛(24)으로부터 기본 코드북 벡터와 조정 벡터를 획득하도록 되어 있으며, 기본 코드북 벡터와, 상이한 기본 서브벡터에 대응하는 하나 이상의 조정 벡터의 조합을 조인트 코드북 벡터로서 가정하고, 조인트 코드북 벡터와 양자화할 벡터 사이의 편차에 따라, 가능한 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터를 선택한다.
양자화 출력 유닛(26)은 양자화 유닛(24)에 의해 선택된 조인트 코드북 벡터에 대응하는 기본 코드북 벡터의 인덱스와 조정 벡터의 인덱스를 획득하도록 구성되어 있다.
본 실시예에 의한 벡터 양자화기에 의하면, 제2 실시예에서 설명한 벡터 양자화 방법을 구현할 수 있다.
제7 실시예
도 13에 도시된 벡터 양자화기(30)는, 벡터 입력 유닛(31), 기본 코드북 유닛(32), 조정 벡터 유닛(33), 양자화 유닛(34), 및 양자화 출력 유닛(35)을 포함한다.
벡터 입력 유닛(31)은 양자화할 벡터를 획득하도록 구성되어 있다.
기본 코드북 유닛(32)은, 여러 개의 기본 서브벡터를 갖는 기본 코드북 벡터를 제공하도록 되어 있다. 여러 개의 기본 서브벡터 중에서, 적어도 하나의 K-차원(K≥2)의 기본 서브벡터는 조정 벡터 집합에 대응한다. 조정 벡터 집합은 K-차원의 N개의 조정 벡터(N=1,2,3,...)를 포함한다. 적어도 하나의 조정 벡터 집합은, N이 해당 조정 벡터 집합 내에서 모든 조정 벡터의 각 차원의 상이한 값들의 모든 가능한 조합의 수보다 작다는 요건을 만족한다.
조정 벡터 유닛(33)은, 집합 제공 유닛(331)과 조정 생성 유닛(332)을 포함한다.
집합 제공 유닛(331)은, 기본 코드북 유닛(32)에 의해 제공된 기본 서브벡터에 대응하는 관련 벡터 집합을 제공하도록 되어 있다. 관련 벡터 집합은 조정 벡터 집합이거나 조정 벡터 집합과 함수 관계를 갖는다.
조정 생성 유닛(332)은, 집합 제공 유닛(331)에 의해 제공된 관련 벡터 집합을 검색하고, 관련 벡터 집합으로부터 획득한 관련 벡터에 따라 대응 조정 벡터를 획득하도록 구성되어 있다.
양자화 유닛(34)은, 기본 코드북 유닛(32)과 조정 벡터 유닛(33)으로부터 기본 코드북 벡터와 조정 벡터를 획득하도록 되어 있으며, 기본 코드북 벡터와, 상이 한 기본 서브벡터에 대응하는 하나 이상의 조정 벡터의 조합을 조인트 코드북 벡터로서 가정하고, 조인트 코드북 벡터와 양자화할 벡터 사이의 편차에 따라, 가능한 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터를 선택한다.
양자화 출력 유닛(35)은, 양자화 유닛(34)에 의해 선택된 조인트 코드북 벡터에 대응하는 기본 코드북 벡터의 인덱스와 조정 벡터의 인덱스를 획득하도록 구성되어 있다. 이 인덱스는 관련 벡터 집합에서의 조정 벡터에 대응하는 관련 벡터의 순서 번호이다.
본 실시예에 의한 벡터 양자화기에 의하면, 제3 실시예에서 설명한 벡터 양자화 방법을 구현할 수 있다.
제8 실시예
도 14에 도시된 벡터 양자화기(40)는, 벡터 입력 유닛(41), 기본 코드북 유닛(42), 조정 벡터 유닛(43), 양자화 유닛(44), 및 양자화 출력 유닛(45)을 포함한다.
벡터 입력 유닛(41)은 양자화할 벡터를 획득하도록 구성되어 있다.
기본 코드북 유닛(42)은, 여러 개의 기본 서브벡터를 갖는 기본 코드북 벡터를 제공하도록 되어 있다. 여러 개의 기본 서브벡터 중에서, 적어도 하나의 K-차원(K≥2)의 기본 서브벡터는 조정 벡터 집합에 대응한다. 조정 벡터 집합은 K-차원의 N개의 조정 벡터(N=1,2,3,...)를 포함한다. 적어도 하나의 조정 벡터 집합은, N이 해당 조정 벡터 집합 내에서 모든 조정 벡터의 각 차원의 상이한 값들의 모든 가능한 조합의 수보다 작다는 요건을 만족한다.
조정 벡터 유닛(43)은, 잉여 검색 유닛(surplus searching unit)(431)과 벡터 선택 유닛(432)을 포함한다.
잉여 검색 유닛(431)은 기본 코드북 유닛(42)에 의해 제공된 기본 서브벡터에 대응하는 관련 벡터의 각각의 차원에 대한 상이한 값의 모든 가능한 조합을 검색하도록 구성되어 있다.
벡터 선택 유닛(432)은, 잉여 검색 유닛(431)에 의해 현재 획득된 각 차원에 대한 값의 조합이 선택가능한 유효한 관련 벡터인지 여부를 판단해서, 그렇다면, 현재 획득된 유효한 관련 벡터에 따라 조정 벡터를 획득하고, 그렇지 않다면, 검색이 성공할 때까지 잉여 검색 유닛(431)이 검색을 계속 수행하도록 제어한다.
양자화 유닛(44)은, 기본 코드북 유닛(42)과 조정 벡터 유닛(43)으로부터 기본 코드북 벡터와 조정 벡터를 획득하도록 되어 있으며, 기본 코드북 벡터와, 상이한 기본 서브벡터에 대응하는 하나 이상의 조정 벡터의 조합을 조인트 코드북 벡터로서 가정하고, 조인트 코드북 벡터와 양자화할 벡터 사이의 편차에 따라, 가능한 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터를 선택한다.
양자화 출력 유닛(45)은, 양자화 유닛(44)에 의해 선택된 조인트 코드북 벡터에 대응하는 기본 코드북 벡터의 인덱스와 조정 벡터의 인덱스를 획득하도록 구성되어 있다. 이 인덱스는 모든 유효한 관련 벡터 중에서 조정 벡터에 대응하는 유효한 관련 벡터의 순서 번호이다.
본 실시예에 의한 벡터 양자화기에 의하면, 제4 실시예에서 설명한 벡터 양자화 방법을 구현할 수 있다.
상기 제7 실시예와 제8 실시예에서의 조정 벡터 유닛의 구조는 제5 실시예 및 제6 실시예에도 적용될 수 있다.
상술한 실시예는, 벡터가, 서브벡터의 조정 벡터와 기본 코드북 벡터로 구성된 조인트 코드북 벡터를 통해 양자화되는 것을 나타낸다. 기본 코드북 벡터는 조정 벡터를 통해 조정되기 때문에, 기본 코드북 벡터의 다이내믹 레인지는 효과적으로 확장될 수 있으며, 기본 코드북 벡터의 왜곡을 감소시킨다. 그 결과, 1단 양자화의 효과는 다단 양자화의 효과와 같거나 더 양호하며, 코드북 저장량과 양자화 계산량도 효과적으로 감소시킨다. 또한, 기본 코드북 벡터는 조정 벡터를 통해 조정되기 때문에, 조정 벡터는 양자화할 벡터를 기본 코드북 벡터로부터 뺀 후에 소정의 차원들 사이에 계속 존재하는 관련성을 이루도록 설계될 수 있다. 그 결과, 더 적은 수의 조정 벡터로, 더 넓은 다이내믹 조정 범위에서 조정을 구현할 수 있다. 한편, 차원들 사이에 사용된 관련성은 조정 벡터를 감소시키고, 양자화를 위한 계산량을 감소시킨다. 계속해서, 조정 벡터를 구하기 위해, 스케일 팩터와 조정 계수 벡터의 곱이 사용될 수 있다. 조정 벡터의 값은 특정의 Ua에 관련되기 때문에, 상이한 기본 코드북 벡터(Ua)가 동일한 조정 계수 벡터 집합을 통해 상이한 조정 벡터 집합을 유도(derive)한다. 따라서, 조정의 효과가 더 양호해지고, 조정 벡터의 다이내믹 레인지가 효과적으로 확장된다. 또한, 조정 벡터는 관련 벡터 집합을 직접 검색함으로써 획득되기 때문에, 계산량이 감소된다. 부분 분할된 서브집합이 관련 벡터 집합을 검색하기 위해 사용된다면, 관련 벡터는 각각의 서브집합 에 저장될 수 있다. 각각의 서브집합은 각각의 차원의 모든 값의 다양한 조합을 제공한다. 따라서, 조합 방식을 저장하지 않고 각 차원의 값들만 저장하면 되기 때문에, 저장량을 감소시킨다. 또한, 관련 벡터를 획득하기 위해 잉여 검색 방식이 사용되며, 조합의 유효성을 판단함으로써 대응 조정 벡터를 얻는다. 그 결과, 유효한 관련 벡터의 실제 조합 관련을 저장할 필요가 없기 때문에, 저장량이 감소된다.
본 발명의 실시예의 장점을 명확히 하기 위해, 광대역 비음성 신호의 16-차원 ISF 벡터를 양자화하는 처리에서 ITU-T G.VBR 베이스라인 인코더 방법과 본 발명의 방법을 비교한다(광대역 비음성 신호에 대한 ITU-T G.VBR 베이스라인 인코더에 의해 사용된 벡터 양자화 방법은, 다단 양자화 처리에서 분할되는 벡터가 없다는 점을 제외하고는, AMR-WB+에서의 MSVQ와 유사하다). "양자화 효과" 항목은, 405336 프레임의 비음성 ISF 계수의 양자화 후, NTT에 의해 제공된 25가지 종류의 음성과 2112개의 음 소재에 대한 종합적인 통계의 결과이다.
(i) ITU-T G.VBR 베이스라인 인코더 방법
기본 설정:
1. 8단의 양자화를 수행한다.
2. 양자화의 제1단에서, 가중화된 평균 제곱 오차에 따라 1등급 코드북으로부터 5개의 바람직한 코드북을 선택하고, 전체적으로 16-차원의 1등급 코드북을 사용한다.
3. 각각의 바람직한 코드북에 대해, 상위 등급 양자화의 잔차를 양자화하기 위해 2등급 내지 8등급의 코드북 벡터를 사용하고, 5개의 결과 그룹으로부터의 최종 양자화 결과를 선택한다. 2등급 내지 8등급에 의해 사용된 16-차원 코드북의 수는 각각 32, 16, 64, 32, 32, 및 8이다.
성능 파라미터:
1. 부호화 비트의 수: 6+5+4+6+6+5+5+3=40 비트.
2. 저장량: 16*(64+32+16+64+64+32+32+8)=4992 부동소수점.
3. 계산량: 가산과 감산하는 데에 대략 21000번의 동작을 하고, 승산하는 데에 대략 42000번의 동작을 한다.
4. 양자화 효과: 평균 스펙트럼 왜곡:0.975 dB; 2.0 내지 4.0 dB의 왜곡은 총합이 0.919%; 4.0 dB 이상의 왜곡이 0.00715%.
(ii) 본 발명의 실시예에 따른 방안
기본 설정:
1. 57개의 16-차원 기본 코드북 벡터(5개의 기본 서브벡터로 분할됨)를 사용한다.
2. 각각의 기본 코드북 벡터는 스케일 팩터에 대응한다.
3. 제1 기본 코드북 벡터는 차원 1 내지 차원 2를 포함하며, 각각의 차원은 독립적으로 변하는 조정 벡터를 갖는다.
4. 기본 서브 벡터 2 내지 5는 차원 3 내지 5, 차원 6 내지 8, 차원 9 내지 12 및 차원 13 내지 16을 포함한다. 각각의 기본 서브벡터 2 내지 5는 조정 벡터 집합에 각각 대응한다. 각각의 조정 벡터 집합은 3개의 서브집합으로 분할되며, 각 서브집합의 각각의 차원은 독립적으로 변하는 3개의 조정 벡터를 갖는다.
성능 파라미터:
1. 부호화 비트: 40 비트. 조합의 총수는 57*7*7* (3*3*3*3) * (3*3*3*3) * (3*3*3*3*3) * (3*3*3*3*3) = 1082065425777이고, 40비트는 2
Figure 112009014649951-PCT00028
40=1099511617776 조합을 허용한다. 따라서, 40 비트는 부호화에 적용될 수 있다.
2. 저장량: 16*57+57++7*2+14*3*3=1109 부동소수점.
3. 계산량: 가산과 감산에 대략 25000의 동작, 승산에 대략 7500의 동작.
4. 양자화 효과: 평균 스펙트럼 왜곡:0.943 dB; 2.0 내지 4.0 dB의 왜곡은 총합이 1.031%; 4.0 dB 이상의 왜곡이 0.0054%.
부호화할 비트의 수가 동일한 2가지 방법의 성능 파라미터에 의하면, 본 발명에 따른 방법이, 저장량, 계산 복잡도 및 양자화 효과와 관련해서, ITU-T G.VBR 베이스라인 인코더 방법보다 양호하다.
본 발명의 실시예는 상기 실시예에 제공된 제1 벡터 양자화 방법에 기초하여 벡터 양자화를 위한 장치를 제공한다. 도 15는 바람직한 실시예에 의한 벡터 양자화 장치의 구조를 나타낸다. 본 발명의 벡터 양자화 장치는 코드북 벡터 제공 유닛, 조정 벡터 제공 유닛 및 양자화 유닛을 포함한다.
코드북 벡터 제공 유닛은, 양자화할 벡터에 대응하는 N(N+1,2,3,...)개의 코드북 벡터를 양자화 유닛에 전송하도록 되어 있다.
조정 벡터 제공 유닛은 각 코드북 벡터의 조정 벡터를 양자화 유닛에 전송하도록 되어 있다.
양자화 유닛은, 조정 벡터 제공 유닛과 코드북 제공 유닛으로부터 각 코드북의 조정 벡터를 수신하고, N개의 코드북과 각 코드북의 조정 벡터를 사용하여 양자화할 벡터에 대한 양자화 처리를 수행하며, 양자화할 벡터를 양자화하기 위한 조정 벡터와 코드북을 획득한다.
N개의 코드북 벡터와 각 코드북 벡터의 조정 벡터는 벡터 양자화 이전에 생성될 수 있다. 따라, 벡터 양자화 처리에서, 벡터 양자화에 필요한 조정 벡터와 코드북 벡터는 코드북 벡터 제공 유닛(501)과 조정 벡터 제공 유닛(502)을 통해 양자화 유닛(503)에 전송될 수 있다.
도 16은 본 발명의 다른 실시예에 따른 벡터 양자화 장치를 나타낸다. 본 발명의 장치는, N(N=1,2,3,...)개의 코드북 벡터의 평균 벡터를 계산하고, 각 코드북 벡터로부터 평균 벡터까지의 거리를 계산하도록 구성된 조정 벡터 생성 유닛을 더 포함한다. 각 코드북 벡터로부터 평균 벡터까지의 거리에 따라, 각 코드북 벡터의 하나 이상의 조정 벡터를 생성하고, 각 코드북 벡터의 생성된 조정 벡터를 조정 벡터 제공 유닛에 전송한다.
도 17은 본 발명의 다른 실시예에 따른 벡터 양자화 장치의 구조를 나타낸다. 도 16에 도시된 장치에 기초하여, 본 실시예의 장치는, 양자화할 벡터와 N개의 각각의 코드북 벡터 사이의 잔차 벡터를 계산하고, 그 잔차 벡터를 양자화 유닛에 전송하는 잔차 벡터 계산 유닛을 더 포함할 수 있다.
도 18은 도 17에 도시된 양자화 유닛의 바람직한 실시예이다.
양자화 유닛은, 양자화 서브유닛, 계산 서브유닛 및 선택 서브유닛을 포함한 다.
양자화 서브유닛은, 조정 벡터 제공 유닛으로부터 각 코드북 벡터의 조정 벡터와 잔차 벡터 계산 유닛으로부터의 잔차 벡터를 수신하고, 각 잔차 벡터의 각 차원에서의 성분과 대응 코드북 벡터의 동일 차원에서의 성분의 각 조정 벡터 사이의 절대 잔차를 계산하고, 잔차 벡터의 각 차원에서의 성분에 대응하는 최소 절대 잔차를 선택하고, 잔차 벡터의 각 차원에 대한 성분에 대응하는 최소 절대 잔차의 계산 결과를 계산 서브유닛에 전송하도록 되어 있다.
계산 서브유닛은, 양자화 서브유닛으로부터 각 잔차 벡터의 각 차원에 대한 성분에 대응하는 최소 절대 잔차의 계산 결과를 수신하고, 잔차 벡터의 각 차원에 대한 성분에 대응하는 최소 절대 잔차의 제곱 값을 계산하고, 각 차원에서의 성분에 대응하는 최소 절대 잔차의 제곱 값을 합산하며, 합산 결과를 잔차 벡터와 조정 벡터 사이의 왜곡으로 이용하여 N개의 잔차 벡터의 N개의 왜곡을 계산하고, N개의 왜곡을 선택 서브유닛으로 전송하도록 되어 있다.
선택 서브유닛은, 계산 서브유닛으로부터 N개의 왜곡을 수신하고, 최소 왜곡과 이 최소 왜곡에 대응하는 코드북 벡터 및 조정 벡터를 선택하고, 최소 왜곡에 대응하는 조정 벡터와 코드북 벡터를 출력한다.
도 19는 본 발명의 다른 바람직한 실시예에 따른 벡터 양자화 장치의 구조를 나타낸다. 도 17에 나타낸 장치에 기초하여, 벡터 양자화 장치는, 선택 서브유닛으로부터 최소 왜곡에 대응하는 코드북 벡터와 조정 벡터를 수신하고, 최소 왜곡에 대응하는 코드북 벡터의 인덱스와 최소 왜곡에 대응하는 조정 벡터의 인덱스를 출 력한다.
본 발명의 실시예에 의한 도 5에 나타낸 벡터 양자화 방법의 성능에 대해 더 알아보기 위해, AMR-WB+ 방법과 본 발명의 방법에 대한 음성 품질을 객관적으로 평가해서 비교한다. 평가 소프트웨어는 ITU-T P.862 WB-PESQ(WideBand Perceptual Evaluation of Speech Quality)이다. 평가된 파라미터는 평균 스펙트럼 왜곡을 포함한다. 테스트 시퀀스는 3GPP(3rd Generation Partnerhip Project)에 의해 제공된 AMR-WB+ 테스트 시퀀스와 AVS(Advanced Video Standard)에 의해 제공된 테스트 시퀀스이며, 오디오, 음악, 음성 배경을 포함한 음악, 음악 배경을 포함한 음성 등의 71가지 테스트 시퀀스로 이루어져 있다. 테스트 결과는 다음과 같다:
1. PESQ(Perceptual Evaluation of Speech Quality)의 평균 점수는, AMR-WB+ 방법의 경우에는 3.801이고, 본 발명의 경우에는 3.874이다. 2개의 비트 레이트(10.4 Kbps와 24 Kbps)에 대한 71가지 테스트 시퀀스 내의 142가지 테스트 항목 중에서, AMR-WB+ 방법에 대해서는 47가지 항목이 유리한 것으로, 본 발명에 대해서는 95가지 항목이 유리한 것으로(PESQ의 최상위 점수로 표시됨) 되었다.
2. AMR-WB+ 방법의 평균 스펙트럼 왜곡은 0.960156인데, 2dB 내지 4dB의 왜곡은 3.84%를 차지하고, 4dB을 초과하는 왜곡은 0.095%를 차지한다. 이에 대하여, 본 발명의 평균 스펙트럼 왜곡은 0.878902인데, 2dB 내지 4dB의 왜곡은 0.963%를 차지하고, 4dB을 초과하는 왜곡은 0.00158%를 차지한다.
표 1에 나타낸 바와 같이, AMR-WB+ 벡터 양자화 방안의 1등급 양자화는 256 및 256개의 코드북 벡터를 포함하고, 저장량은 256×(9+7)=4096 부동소수점이며, 2 등급 양자화는 64,128,128,32 및 32개의 코드북 벡터를 각각 포함하고, 64×3+128×3+128×3+32×3+32×4=1184 부동소수점이며, 따라서, 4096+1184=5280 부동소수점의 총 저장량을 포함한다. 대응하는 승산 동작 부하는 1등급 양자화에 대한 것으로서, 256개의 코드북 벡터가 트래버스(traversal)를 통해 검색되고, 이들 중에서 4개의 최상의 1등급 코드북 벡터가 검색된다. 계속해서, 2등급 코드북 벡터는, 4개의 최상의 1등급 코드북 벡터와 2등급 양자화된 64, 128, 128, 32 및 32 코드 벡터를 각각 트래버스함으로써 검색된다.
AMR-WB+ 벡터 양자화 방안에 비해, ISF 잔차를 양자화하기 위한 본 발명의 벡터 양자화 방법은, 8개의 비트를 사용해서 256개의 코드북 벡터를 부호화하며, 38개의 비트를 사용해서 코드북 벡터의 조정 벡터를 부호화한다. 저장량과 관련해서, 본 발명의 실시예에서는 256개의 코드북 벡터를 저장(256×16=4096 부동소수점)할 필요가 있으며, 256개의 조정 벡터의 기본 값으로, 전체 저장량은 4096+256=4352 부동소수점이다. 계산량은 256개의 코드북 벡터를 트래버스하기 위해 필요한 승산 동작이다.
따라서, 본 발명의 실시예에 의해 제공되는 기술적 방안은 부호화 품질과 벡터 양자화 복잡도의 면세서 우수한 것이 명백하다.
이상, 본 발명의 기술적인 특징은 양자화할 벡터에 대응하는 코드북 벡터와 이러한 코드북 벡터의 조정 벡터를 사용해서 벡터를 양자화하고, 최상의 조정 벡터를 찾으면서 최상의 조정 벡터에 대응하는 최상의 코드북 벡터를 찾기 위해 조인트 계산(joint calculation)을 사용하기 때문에, 전체 양자화 과정의 왜곡을 최소화하 면서 부호화 품질을 높일 수 있다. 최상의 조정 벡터는 최소 왜곡에 대응하는 조정 벡터이고, 최상의 코드북 벡터는 최상의 조정 벡터에 대응하는 코드북 벡터이다. 한편, 본 발명의 실시예에 의한 기술적인 특징은, 코드북 벡터와 양자화할 벡터 사이의 잔차 벡터를 양자화하기 위해 코드북 벡터의 조정 벡터를 사용하는데, 이것은 종래 기술에서 다단의 코드북 벡터를 통해 잔차 벡터를 양자화하는 실시와는 다르다. 따라서, 코드북 벡터의 저장량이 감소되며, 계산량은 N개의 코드북 벡터를 트래버스하기 위한 계산량만 필요하게 된다. 종래 기술이 N개의 1단 코드북 벡터를 트래버스한 다음에 다중의 2단 코드북 벡터를 트래버스할 필요가 있는 것에 대하여, 본 발명의 방법은 계산량을 감소시킨다. 본 발명의 실시예에 의한 기술적인 특징은, 벡터 양자화의 복잡도를 감소시키면서, 높은 부호화 품질을 보장한다.
이상, 본 발명의 실시예에 따른 벡터 양자화를 위한 방법과 장치를 설명하였지만, 본 발명은 예시적인 실시예만을 설명하고 있을 뿐이며, 이러한 실시예에 한정되지 않는다. 본 기술분야의 당업자라면, 본 발명의 범위를 벗어남이 없이 다양한 변경 및 변경이 가능하다는 것을 알 수 있을 것이다. 본 발명은 이하의 특허 청구의 범위와 그 등가 범위에 의해 한정되는 보호 범위 내에서의 변경 및 변형을 포함한다.

Claims (39)

  1. 벡터 양자화를 위한 방법으로서,
    N개의 기본 코드북 벡터(basic codebook vector)와 상기 기본 코드북 벡터의 각각의 조정 벡터를 사용해서, 양자화할 벡터에 대해 양자화 처리(quantization process)를 수행하는 단계; 및
    양자화할 벡터를 양자화하는 데에 사용되는 조정 벡터(adjustment vector)와 기본 코드북 벡터를 생성하는 단계
    를 포함하며,
    상기 N은 1과 같거나 1보다 큰 양의 정수인, 벡터 양자화 방법.
  2. 제1항에 있어서,
    상기 조정 벡터는 상기 양자화 처리가 상기 벡터에 대해 수행되기 전에 생성되며,
    상기 벡터 양자화 방법은,
    상기 N개의 기본 코드북 벡터의 평균 벡터(average vector)를 계산하는 단계;
    각각의 상기 기본 코드북 벡터로부터 상기 평균 벡터까지의 거리(distance)를 계산하는 단계; 및
    각각의 상기 기본 코드북 벡터로부터 상기 평균 벡터까지의 거리에 따라, 상 기 각각의 기본 코드북 벡터의 상기 조정 벡터를 생성하는 단계를 더 포함하는 벡터 양자화 방법.
  3. 제2항에 있어서,
    각각의 상기 기본 코드북 벡터의 상기 조정 벡터는, 상기 기본 코드북 벡터의 각각의 차원에 대한 성분의 조정 벡터를 생성함으로써 생성되는, 벡터 양자화 방법.
  4. 제3항에 있어서,
    상기 기본 코드북 벡터의 각각의 차원에 대한 성분의 조정 벡터를 생성하는 단계는,
    상기 기본 코드북 벡터의 각각의 차원에 대한 성분의 조정 벡터에 대응하는 하나 이상의 스케일 팩터(scale factor)를 설정하는 단계; 및
    각각의 상기 기본 코드북 벡터로부터 상기 평균 벡터까지의 거리를, 현재의 차원에 대한 성분의 조정 벡터에 대응하는 스케일 팩터에 승산(multiply)하고, 상기 기본 코드북 벡터의 현재의 차원에 대한 성분에 대응하는 복수의 곱(product)을 취득하고, 취득한 상기 곱을 상기 기본 코드북 벡터의 현재의 차원에 대한 성분에 대응하는 조정 벡터로서 사용하는 단계를 포함하는, 벡터 양자화 방법.
  5. 제2항에 있어서,
    상기 조정 벡터의 각각의 인덱스(index)를 생성하는 단계를 더 포함하는 벡터 양자화 방법.
  6. 제5항에 있어서,
    상기 조정 벡터의 각각의 인덱스를 생성하는 단계는,
    상기 기본 코드북 벡터의 현재의 차원에 대한 성분에 대응하는 곱을 순서화하고, 상기 곱에 의해 획득된 순서 번호를 상기 곱에 대응하는 조정 벡터의 인덱스로서 사용하는 단계를 포함하는, 벡터 양자화 방법.
  7. 제2항 내지 제6항 중 어느 한 항에 있어서,
    상기 평균 벡터는 a-차원의 벡터이고,
    상기 a는 1과 같거나 1보다 큰 양의 정수이며,
    상기 N개의 기본 코드북 벡터의 평균 벡터를 계산하는 단계는,
    기본 코드북 벡터 j의 차원 i에 대한 성분을 Yj(i)로 하고, 평균 벡터의 차원에 대한 성분을 AV(i)로 하면, 이하의 식
    Figure 112009014649951-PCT00029
    (i=1,2,...,a)이 성립하는 단계와,
    상기 평균 벡터를 식 AV(a)={AV(i),i=1,2,...,a}로부터 획득하는 단계를 포함하는, 벡터 양자화 방법.
  8. 제7항에 있어서,
    각각의 상기 기본 코드북 벡터로부터 상기 평균 벡터까지의 거리는, 이하의 식
    Figure 112009014649951-PCT00030
    (j=1,2,...,N)으로부터 계산되며,
    상기 식에서의 AVS(j)는 상기 기본 코드북 벡터 j로부터 상기 평균 벡터까지의 거리인, 벡터 양자화 방법.
  9. 제1항에 있어서,
    상기 N개의 기본 코드북 벡터와 상기 기본 코드북 벡터의 각각의 조정 벡터를 사용해서 양자화할 벡터에 대해 상기 양자화 처리를 수행하는 단계를 행하기 전에,
    상기 양자화할 벡터와 상기 N개의 기본 코드북 벡터 중에서 각각의 상기 기본 코드북 벡터와 상기 기본 코드북 벡터의 조정 벡터 사이의 잔차 벡터(residual vector)를 계산하는 단계를 더 포함하는 벡터 양자화 방법.
  10. 제9항에 있어서,
    상기 양자화할 벡터와 상기 N개의 기본 코드북 벡터 중에서 각각의 상기 기 본 코드북 벡터와 상기 기본 코드북 벡터의 조정 벡터 사이의 잔차 벡터를 계산하는 단계는,
    상기 양자화할 벡터와 상기 N개의 기본 코드북 벡터 중에서 상기 기본 코드북 벡터 사이에서의 상기 잔차 벡터를 계산하는 단계를 포함하는, 벡터 양자화 방법.
  11. 제10항에 있어서,
    상기 N개의 기본 코드북 벡터와 상기 기본 코드북 벡터의 각각의 조정 벡터를 사용해서 양자화할 벡터에 대해 상기 양자화 처리를 수행하는 단계는,
    상기 양자화할 벡터와 코드북 사이의 잔차 벡터에 대해 상기 코드북의 각각의 조정 벡터를 사용해서 상기 양자화 처리를 수행하는 단계를 포함하는, 벡터 양자화 방법.
  12. 제11항에 있어서,
    상기 코드북의 각 차원에 대한 성분에 대응하는 조정 벡터의 수는 하나 또는 둘 이상이며,
    상기 양자화할 벡터와 코드북 사이의 잔차 벡터에 대해 상기 코드북의 각각의 조정 벡터를 사용해서 상기 양자화 처리를 수행하는 단계는,
    상기 잔차 벡터의 각각의 차원에 대한 성분과, 상기 코드북 벡터의 동일 차원에 대한 성분의 각각의 조정 벡터 사이의 절대 잔차(absolute residual)를 계산 하는 단계; 및
    상기 잔차 벡터의 각 차원에 대한 성분에 대응하는 최소 절대 잔차(minimum absolute residual)와 상기 최소 절대 잔차에 대응하는 대응 조정 벡터를 선택하는 단계를 포함하는, 벡터 양자화 방법.
  13. 제12항에 있어서,
    상기 잔차 벡터의 각 차원에 대한 성분에 대응하는 최소 절대 잔차와 상기 최소 절대 잔차에 대응하는 대응 조정 벡터를 선택하는 단계를 수행한 후에,
    각각의 잔차 벡터와 상기 최소 절대 잔차에 대응하는 조정 벡터 사이의 왜곡(distortion)을 산출하는 단계;
    상기 잔차 벡터의 각 차원에 대한 성분에 대응하는 상기 최소 절대 잔차의 제곱 값을 구하고, 각 차원에 대한 성분에 대응하는 상기 최소 절대 잔차의 제곱 값을 합산하며, 상기 가산 값을 상기 잔차 벡터와 동일한 코드북 벡터에 대응하는 조정 벡터 사이의 왜곡으로서 사용하는 단계를 더 포함하는 벡터 양자화 방법.
  14. 제13항에 있어서,
    상기 잔차 벡터의 각 차원에 대한 성분에 대응하는 상기 최소 절대 잔차의 제곱 값을 구하는 단계를 수행한 후에,
    상기 제곱 값을 하나 이상의 대응하는 가중 계수로 승산하는 단계를 더 포함하며,
    상기 대응하는 가중 계수는 실수인, 벡터 양자화 방법.
  15. 제13항에 있어서,
    각각의 상기 잔차 벡터는 상기 왜곡에 대응하며,
    상기 왜곡의 수는 N이고,
    상기 N개의 왜곡으로부터 최소 왜곡을 선택하고, 코드북과 상기 최소 왜곡에 대응하는 조정 벡터와 코드북을 이용하고 상기 양자화할 벡터를 양자화하기 위한 조정 벡터를 이용하는 단계를 더 포함하는 벡터 양자화 방법.
  16. 제15항에 있어서,
    상기 최소 왜곡에 대응하는 코드북의 인덱스와 상기 최소 왜곡에 대응하는 조정 벡터의 인덱스를 출력하는 단계를 더 포함하는 벡터 양자화 방법.
  17. 코드북의 조정 벡터를 생성하기 위한 방법으로서,
    1 이상의 양의 정수인 N개의 코드북의 평균 벡터를 계산하는 단계;
    각각의 상기 코드북으로부터 상기 평균 벡터까지의 거리를 계산하는 단계; 및
    각각의 상기 코드북으로부터 상기 평균 벡터까지의 거리에 따라, 각각의 상기 코드북의 조정 벡터를 생성하는 단계
    를 포함하는 조정 벡터의 생성 방법.
  18. 제17항에 있어서,
    각각의 상기 코드북의 조정 벡터를 생성하는 단계는,
    각각의 상기 코드북의 각각의 차원에 대한 성분의 조정 벡터를 생성하는 단계를 포함하는, 조정 벡터의 생성 방법.
  19. 제18항에 있어서,
    상기 조정 벡터의 각각의 인덱스를 생성하는 단계를 더 포함하는 조정 벡터의 생성 방법.
  20. 제19항에 있어서,
    상기 조정 벡터의 각각의 인덱스를 생성하는 단계는,
    상기 코드북의 현재의 차원에 대한 성분에 대응하는 곱을 순서화하고, 상기 곱에 의해 획득된 순서 번호를 상기 곱에 대응하는 조정 벡터의 인덱스로서 사용하는 단계를 포함하는, 조정 벡터의 생성 방법.
  21. 벡터를 양자화하기 위한 장치로서,
    코드북 제공 유닛;
    조정 벡터 제공 유닛; 및
    양자화 유닛
    을 포함하며,
    상기 코드북 제공 유닛은, 양자화할 벡터에 대응하는 N개의 코드북을 상기 양자화 유닛에 전송하도록 되어 있으며, 상기 N은 1 이상의 양의 정수이고,
    상기 조정 벡터 제공 유닛은, 각각의 코드북의 조정 벡터를 상기 양자화 유닛에 전송하도록 되어 있으며,
    상기 양자화 유닛은, 상기 조정 벡터 제공 유닛과 상기 코드북 제공 유닛으로부터 각각의 코드북의 조정 벡터를 수신하고, N개의 코드북과 각각의 코드북의 상기 조정 벡터를 사용하여 양자화할 벡터에 대한 양자화 처리를 수행하며, 양자화할 벡터를 양자화하기 위한 조정 벡터와 코드북을 획득하는, 벡터 양자화 장치.
  22. 제21항에 있어서,
    N개의 코드북의 평균 벡터를 계산하고, 각각의 코드북으로부터 상기 평균 벡터까지의 거리를 계산하며, 계산된 거리에 따라 각각의 코드북의 하나 이상의 조정 벡터를 생성하고, 각각의 코드북의 생성된 조정 벡터를 상기 조정 벡터 제공 유닛에 전송하기 위한 조정 벡터 생성 유닛을 더 포함하는 벡터 양자화 장치.
  23. 제21항 또는 제22항에 있어서,
    상기 양자화할 벡터와 N개의 코드북 중에서 상기 코드북 사이의 잔차 벡터(residual vector)를 계산하고, 상기 잔차 벡터를 상기 양자화 유닛에 전송하기 위한 잔차 벡터 계산 유닛을 더 포함하는 벡터 양자화 장치.
  24. 제23항에 있어서,
    상기 벡터 양자화 장치는, 양자화 서브유닛, 계산 서브유닛, 및 선택 서브유닛을 더 포함하며,
    상기 양자화 서브유닛은, 상기 조정 벡터 제공 유닛으로부터 각각의 코드북 벡터의 조정 벡터와 상기 잔차 벡터 계산 유닛으로부터의 상기 잔차 벡터를 수신하고, 각각의 상기 잔차 벡터의 각각의 차원에서의 성분과 대응하는 코드북 벡터의 동일 차원에서의 성분의 각각의 조정 벡터 사이의 절대 잔차를 계산하고, 상기 잔차 벡터의 각각의 차원에서의 성분에 대응하는 최소 절대 잔차를 선택하고, 상기 잔차 벡터의 각각의 차원에 대한 성분에 대응하는 최소 절대 잔차의 계산 결과를 상기 계산 서브유닛에 전송하도록 되어 있으며,
    상기 계산 서브유닛은, 상기 양자화 서브유닛으로부터 각각의 잔차 벡터의 각각의 차원에 대한 성분에 대응하는 최소 절대 잔차의 상기 계산 결과를 수신하고, 상기 잔차 벡터의 각각의 차원에 대한 성분에 대응하는 최소 절대 잔차의 제곱 값을 계산하고, 각각의 차원에서의 성분에 대응하는 최소 절대 잔차의 제곱 값을 합산하며, 합산 결과를 상기 잔차 벡터와 상기 조정 벡터 사이의 왜곡으로 이용하여 N개의 잔차 벡터의 N개의 왜곡을 계산하고, N개의 왜곡을 상기 선택 서브유닛으로 전송하도록 되어 있으며,
    상기 선택 서브유닛은, 상기 계산 서브유닛으로부터 N개의 왜곡을 수신하고, 최소 왜곡과 상기 최소 왜곡에 대응하는 코드북 및 조정 벡터를 선택하고, 최소 왜 곡에 대응하는 코드북 및 조정 벡터를 출력하는, 벡터 양자화 장치.
  25. 제24항에 있어서,
    상기 선택 서브유닛으로부터 상기 최소 왜곡에 대응하는 코드북 및 조정 벡터를 수신하고, 상기 최소 왜곡에 대응하는 코드북의 인덱스와 상기 최소 왜곡에 대응하는 조정 벡터의 인덱스를 출력하기 위한 출력 유닛을 더 포함하는 벡터 양자화 장치.
  26. 양자화할 벡터를 획득하는 단계;
    기본 코드북 벡터를 획득하는 단계로서, 상기 기본 코드북 벡터는 하나 이상의 기본 서브벡터를 포함하고, 여러 개의 상기 기본 서브벡터 중에서, 적어도 하나의 K-차원(K≥2)의 기본 서브벡터는 K-차원의 N개의 조정 벡터(N=1,2,3,...)를 포함하는 조정 벡터 집합에 대응하고, 적어도 하나의 상기 조정 벡터 집합은, 상기 N이 상기 조정 벡터 집합 내에서 모든 조정 벡터의 각 차원의 상이한 값들의 모든 가능한 조합의 수보다 작다는 요건을 만족하는, 기본 코드북 벡터를 획득하는 단계;
    상기 기본 서브벡터에 대응하는 조정 벡터를 획득하는 단계;
    상기 기본 코드북 벡터와, 상이한 기본 서브벡터에 대응하는 하나 이상의 조정 벡터의 조합을 조인트 코드북 벡터로서 가정하고, 상기 조인트 코드북 벡터와 양자화할 벡터 사이의 편차에 따라, 가능한 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터를 선택하는 단계; 및
    선택한 상기 조인트 코드북 벡터에 대응하는 기본 코드북 벡터의 인덱스와 상기 조정 벡터의 인덱스를 획득하는 단계
    를 포함하는 벡터 양자화 방법.
  27. 제26항에 있어서,
    상기 기본 코드북 벡터에 대응하는 스케일 팩터를 획득하는 단계를 더 포함하며,
    현재의 기본 벡터의 기본 서브벡터 중 하나에 대응하는 조정 벡터 집합은, 기본 서브벡터에 대응하는 조정 계수 벡터와 스케일 팩터의 곱인, 벡터 양자화 방법.
  28. 제26항에 있어서,
    상기 조인트 코드북 벡터와 양자화할 벡터 사이의 편차에 따라, 가능한 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터를 선택하는 단계는,
    상기 양자화할 벡터와 상기 기본 코드북 유닛으로부터 획득된 현재의 기본 코드북 벡터 사이의 잔차 벡터를 계산하는 단계로서, 상기 잔차 벡터는 하나 이상의 잔차 서브벡터를 포함하고, 잔차 서브벡터로 분할하는 방식은 기본 서브벡터로 분할하는 방식과 동일한, 잔차 벡터를 계산하는 단계;
    조정 벡터 집합에 대응하는 기본 서브벡터에 대해, 상기 조정 벡터 유닛에 의해 제공된 조정 벡터 집합 내의 조정 벡터와 대응하는 잔차 서브벡터 사이의 편차에 따라, 현재의 기본 서브벡터의 최상의 조정 벡터를 선택하는 단계;
    모든 최상의 조정 벡터의 편차와, 양자화할 벡터와 조정 벡터 집합에 대응하지 않는 기본 서브벡터 사이의 편차를 누계하고, 상기 편차를 현재의 기본 코드북 벡터에 대응하는 최상의 조인트 코드북 벡터의 편차로서 사용하는 단계; 및
    각각의 기본 코드북 벡터에 대응하는 최상의 조인트 코드북 벡터의 편차를 비교하고, 양자화를 위한 조인트 코드북 벡터를 선택하는 단계
    를 포함하는, 벡터 양자화 방법.
  29. 제26항에 있어서,
    상기 조인트 코드북 벡터와 양자화할 벡터 사이의 편차에 따라 가능한 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터를 선택하는 단계는,
    조인트 코드북 벡터를 형성하기 위해 상기 현재의 기본 코드북 벡터와 선택적인 조정 벡터를 합산하는 단계;
    상기 양자화할 벡터와 상기 조인트 코드북 벡터 사이의 편차를 계산하는 단계; 및
    각각의 상이한 조인트 코드북 벡터와 상기 양자화할 벡터 사이의 편차를 비교하고, 양자화를 위한 조인트 코드북 벡터를 선택하는 단계
    를 포함하는, 벡터 양자화 방법.
  30. 제26항 내지 제29항 중 어느 한 항에 있어서,
    상기 기본 서브벡터에 대응하는 조정 벡터를 획득하는 단계는,
    상기 기본 서브벡터에 대응하는 관련 벡터 집합을 검색하는 단계로서, 상기 관련 벡터 집합은 조정 벡터 집합이거나 상기 조정 벡터 집합과 함수 관계가 있는, 관련 벡터 집합을 검색하는 단계; 및
    상기 관련 벡터 집합으로부터 획득된 관련 벡터에 따라 대응 조정 벡터를 획득하는 단계를 포함하며,
    상기 조정 벡터의 인덱스는 상기 관련 벡터 집합에서 조정 벡터에 대응하는 관련 벡터의 순서 번호인, 벡터 양자화 방법.
  31. 제30항에 있어서,
    상기 기본 서브벡터에 대응하는 관련 벡터 집합을 검색하는 단계는,
    상기 관련 벡터 집합에서 여러 개의 서브집합을 검색하는 단계로서, 각각의 서브집합에 포함된 관련 벡터의 수는 상기 서브집합에서의 모든 관련 벡터의 각각의 차원의 상이한 값들의 모든 가능한 조합의 수와 동일한, 서브집합을 검색하는 단계; 및
    각각의 서브집합에서 대응 관련 벡터의 각 차원의 상이한 값을 검색하는 단계를 포함하며,
    상기 조정 벡터의 인덱스는 상기 관련 벡터를 갖는 관련 벡터 서브집합의 일련 번호로서 표현되는 순서 번호이고, 상기 관련 벡터 서브집합에서의 관련 벡터의 순서 번호인, 벡터 양자화 방법.
  32. 제26항 내지 제29항 중 어느 한 항에 있어서,
    상기 기본 서브벡터에 대응하는 조정 벡터를 획득하는 단계는,
    상기 기본 서브벡터에 대응하는 관련 벡터의 각 차원에 대한 상이한 값을 검색하는 단계; 및
    현재의 각 차원에 대한 값들의 조합이 선택가능한 유효한 관련 벡터인지 여부를 판단하는 단계를 포함하며,
    상기 선택가능한 유효한 관련 벡터인 경우에는, 현재 획득한 유효한 관련 벡터에 따라 조정 벡터를 획득하고, 상기 선택가능한 유효한 관련 벡터가 아닌 경우에는, 상기 검색이 성공할 때까지 상기 검색하는 단계를 계속 수행하며,
    상기 조정 벡터 집합은 모두 유효한 관련 벡터 집합이거나 모두 유효한 관련 벡터 집합과 함수 관련성을 가지며, 상기 조정 벡터의 인덱스는 모든 유효한 관련 벡터 집합에서의 조정 벡터에 대응하는 유효한 관련 벡터의 순서 번호인, 벡터 양자화 방법.
  33. 제32항에 있어서,
    상기 현재의 각 차원의 값들의 조합이 선택가능한 유효한 관련 벡터인지 여부를 판단하는 단계는,
    모든 가능한 조합에서 각 차원의 현재 획득한 값들의 조합의 순서 번호를 산 출하는 단계; 및
    상기 값들의 조합이 선택가능한 유효한 관련 벡터인지 여부를 상기 일련 번호에 따라 판단하는 단계를 포함하는, 벡터 양자화 방법.
  34. 양자화할 벡터를 획득하도록 구성된 벡터 입력 유닛;
    하나 이상의 기본 서브벡터를 갖는 기본 코드북 벡터를 제공하도록 되어 있으며, 여러 개의 기본 서브벡터 중에서, 적어도 하나의 K-차원(K≥2)의 기본 서브벡터는, K-차원의 기본 서브벡터에 대응하는 N개의 조정 벡터를 포함하는 조정 벡터 집합에 대응하고, 적어도 하나의 조정 벡터 집합은, 상기 N이 상기 조정 벡터 집합 내에서 모든 조정 벡터의 임의의 차원 중 각 차원의 상이한 값들의 모든 가능한 조합의 수보다 작다는 요건을 만족하는, 기본 코드북 유닛;
    상기 기본 서브벡터에 대응하는 조정 벡터를 제공하도록 구성된 조정 벡터 유닛; 및
    상기 기본 코드북 유닛과 상기 조정 벡터 유닛으로부터 기본 코드북 벡터와 조정 벡터를 획득하도록 되어 있으며, 기본 코드북 벡터와, 상이한 기본 서브벡터에 대응하는 하나 이상의 조정 벡터의 조합을 조인트 코드북 벡터로서 간주하고, 상기 조인트 코드북 벡터와 상기 양자화할 벡터 사이의 편차에 따라, 가능한 조인트 코드북 벡터 중에서 양자화를 위한 조인트 코드북 벡터를 선택하도록 구성된 양자화 유닛
    을 포함하는 벡터 양자화 장치.
  35. 제34항에 있어서,
    상기 기본 코드북 유닛에 의해 제공되는 현재의 기본 코드북 벡터에 대응하는 스케일 팩터를 제공하도록 구성된 스케일 팩터 유닛을 더 포함하며,
    상기 조정 벡터 유닛에 의해 제공되는 상기 조정 벡터는, 상기 기본 서브벡터에 대응하는 조정 계수 벡터와 상기 스케일 팩터 유닛에 의해 제공되는 스케일 팩터의 곱인, 벡터 양자화 장치.
  36. 제34항에 있어서,
    상기 양자화 유닛은,
    상기 양자화할 벡터와 상기 기본 코드북 유닛으로부터 획득한 현재의 기본 코드북 벡터 사이의 잔차 벡터를 계산하도록 되어 있으며, 상기 잔차 벡터는 하나 이상의 잔차 서브벡터를 포함하고, 상기 잔차 서브벡터로 분할하는 방식이 기본 서브벡터로 분할하는 방식과 동일한, 잔차 계산 유닛;
    상기 조정 벡터 집합에 대응하는 기본 서브벡터에 대해, 상기 조정 벡터 유닛에 의해 제공된 상기 조정 벡터 집합 내의 조정 벡터와 대응하는 잔차 서브벡터 사이의 편차에 따라, 상기 현재의 기본 서브벡터의 최상의 조정 벡터를 선택하도록 구성된 잔차 양자화 유닛;
    모든 상기 최상의 조정 벡터의 편차와, 상기 양자화할 벡터와 상기 조정 벡터 집합에 대응하지 않는 기본 서브벡터 사이의 편차를 누계시키고, 상기 편차를 상기 현재의 기본 코드북 벡터에 대응하는 상기 최상의 조인트 코드북 벡터의 편차로서 이용하도록 구성된 편차 누계 유닛; 및
    각각의 상기 기본 코드북 벡터에 대응하는 상기 최상의 조인트 코드북 벡터의 편차를 비교하고, 양자화를 위한 조인트 코드북 벡터를 선택하도록 구성된 양자화 선택 유닛을 포함하는, 벡터 양자화 장치.
  37. 제34항에 있어서,
    상기 양자화 유닛은,
    상기 기본 코드북 유닛으로부터 획득한 현재의 기본 코드북 벡터와 상기 조정 벡터 유닛으로부터 획득한 조정 벡터를 합산하여 조인트 코드북 벡터를 형성하도록 구성된 조인트 벡터 유닛;
    상기 조인트 벡터 유닛에 의해 생성된 현재의 조인트 코드북 벡터와 상기 양자화할 벡터 사이의 편차를 계산하도록 구성된 편차 계산 유닛; 및
    상기 편차 계산 유닛에 의해 획득된 각각의 상이한 조인트 코드북 벡터와 상기 양자화할 벡터 사이의 편차를 비교하고, 양자화를 위한 조인트 코드북 벡터를 선택하도록 구성된 비교 및 선택 유닛을 포함하는, 벡터 양자화 장치.
  38. 제34항 내지 제37항 중의 어느 한 항에 있어서,
    상기 양자화 유닛은,
    상기 기본 서브벡터에 대응하며 조정 벡터 집합이거나 상기 조정 벡터 집합 과 함수 관계를 갖는 관련 벡터 집합을 제공하도록 구성된 집합 제공 유닛;
    상기 관련 벡터 집합을 검색하고, 상기 관련 벡터 집합으로부터 획득한 관련 벡터에 따라 대응하는 조정 벡터를 획득하도록 구성된 조정 생성 유닛을 포함하며,
    상기 양자화 출력 유닛에 의해 획득된 상기 조정 벡터의 인덱스는 상기 관련 벡터 집합에서의 상기 조정 벡터에 대응하는 관련 벡터의 순서 번호인, 벡터 양자화 장치.
  39. 제34항 내지 제37항 중 어느 한 항에 있어서,
    상기 양자화 유닛은,
    상기 기본 서브벡터에 대응하는 관련 벡터의 각각의 차원에 대한 상이한 값을 검색하도록 구성된 잉여 검색 유닛; 및
    상기 잉여 검색 유닛에 의해 획득된 현재의 각 차원에 대한 값의 조합이 선택가능한 유효한 관련 벡터인지 여부를 판단해서, 그렇다면, 현재 획득된 유효한 관련 벡터에 따라 조정 벡터를 획득하고, 그렇지 않다면, 상기 잉여 검색 유닛의 검색이 성공할 때까지, 상기 검색을 계속 수행하도록 제어하는 벡터 선택 유닛을 포함하며,
    상기 양자화 출력 유닛에 의해 획득된 상기 조정 벡터의 인덱스는 상기 관련 벡터 집합에서의 상기 조정 벡터에 대응하는 관련 벡터의 순서 번호인, 벡터 양자화 장치.
KR1020097005033A 2006-12-05 2007-12-05 벡터 양자화를 위한 방법 및 장치 KR101083291B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN200610164455.2 2006-12-05
CN2006101644552A CN101198041B (zh) 2006-12-05 2006-12-05 矢量量化方法及装置
CN2007101305191A CN101345530B (zh) 2007-07-11 2007-07-11 一种矢量量化方法及矢量量化器
CN200710130519.1 2007-07-11

Publications (2)

Publication Number Publication Date
KR20090061628A true KR20090061628A (ko) 2009-06-16
KR101083291B1 KR101083291B1 (ko) 2011-11-14

Family

ID=39491686

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097005033A KR101083291B1 (ko) 2006-12-05 2007-12-05 벡터 양자화를 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US8335260B2 (ko)
EP (1) EP2048787A4 (ko)
JP (1) JP5006404B2 (ko)
KR (1) KR101083291B1 (ko)
WO (1) WO2008067766A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587314B2 (en) * 2005-08-29 2009-09-08 Nokia Corporation Single-codebook vector quantization for multiple-rate applications
US20110051729A1 (en) * 2009-08-28 2011-03-03 Industrial Technology Research Institute and National Taiwan University Methods and apparatuses relating to pseudo random network coding design
CN102195760A (zh) 2010-03-16 2011-09-21 松下电器产业株式会社 无线通信系统、基站、终端及码本生成方法
PT2684190E (pt) * 2011-03-10 2016-02-23 Ericsson Telefon Ab L M Preenchimento de sub-vectores não codificados em sinais de aúdio codificados por transformação
TWI468934B (zh) * 2011-09-15 2015-01-11 Hon Hai Prec Ind Co Ltd 電腦主機板測試裝置及測試方法
US9729215B2 (en) 2014-06-23 2017-08-08 Samsung Electronics Co., Ltd. OFDM signal compression
CN117812263B (zh) * 2024-03-01 2024-05-07 博云视觉(北京)科技有限公司 内存轻量级的多阶段向量乘积量化系统和方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3183944B2 (ja) 1992-04-24 2001-07-09 オリンパス光学工業株式会社 音声符号化装置
US5398069A (en) * 1993-03-26 1995-03-14 Scientific Atlanta Adaptive multi-stage vector quantization
US6009387A (en) 1997-03-20 1999-12-28 International Business Machines Corporation System and method of compression/decompressing a speech signal by using split vector quantization and scalar quantization
US6148283A (en) 1998-09-23 2000-11-14 Qualcomm Inc. Method and apparatus using multi-path multi-stage vector quantizer
FI113931B (fi) * 2002-05-23 2004-06-30 Oplayo Oy Menetelmä ja järjestelmä HCVQ-vektorikirjaston muodostamiseksi
CN1420487A (zh) 2002-12-19 2003-05-28 北京工业大学 1kb/s线谱频率参数的一步插值预测矢量量化方法
GB2405560B (en) * 2003-08-27 2006-05-03 Matsushita Electric Ind Co Ltd Vector quantization
JP2006295829A (ja) * 2005-04-14 2006-10-26 Nippon Hoso Kyokai <Nhk> 量子化装置、量子化プログラム、及び信号処理装置
US7587314B2 (en) 2005-08-29 2009-09-08 Nokia Corporation Single-codebook vector quantization for multiple-rate applications
GB2463050B (en) * 2008-08-29 2010-12-08 Toshiba Res Europ Ltd Data compression method and apparatus

Also Published As

Publication number Publication date
EP2048787A4 (en) 2009-07-01
EP2048787A1 (en) 2009-04-15
US8335260B2 (en) 2012-12-18
US20090074076A1 (en) 2009-03-19
KR101083291B1 (ko) 2011-11-14
JP5006404B2 (ja) 2012-08-22
JP2010509647A (ja) 2010-03-25
WO2008067766A1 (fr) 2008-06-12

Similar Documents

Publication Publication Date Title
KR101083291B1 (ko) 벡터 양자화를 위한 방법 및 장치
US6154572A (en) Table based compression with embedded coding
US6662154B2 (en) Method and system for information signal coding using combinatorial and huffman codes
US8090574B2 (en) Entropy encoding and decoding using direct level and run-length/level context-adaptive arithmetic coding/decoding modes
US7433824B2 (en) Entropy coding by adapting coding between level and run-length/level modes
KR101152707B1 (ko) 다단계 양자화 방법 및 장치
US7408481B2 (en) Information encoding method, decoding method, common multiplier estimating method, and apparatus, program, and recording medium using these methods
NO341186B1 (no) Selektiv anvendelse ved bruk av flere entropimodeller i adaptiv koding og dekoding
KR20130112942A (ko) 필터 계수들을 생성하고 필터들을 구성하는 방법들 및 시스템들
WO2007083264A1 (en) Audio coding
Chan et al. Constrained-storage quantization of multiple vector sources by codebook sharing
EP0488803B1 (en) Signal encoding device
US11531884B2 (en) Separate quantization method of forming combination of 4-bit and 8-bit data of neural network
EP2557566A2 (en) Method and apparatus for processing an audio signal
JP5337305B2 (ja) 符号化方法、復号方法、符号化装置、復号装置、プログラム、及び記録媒体
JP5704018B2 (ja) オーディオ信号符号化方法および装置
CN110830044B (zh) 基于稀疏最小二乘优化的数据压缩方法
Cao et al. A fast search algorithm for vector quantization using a directed graph
CN110771045B (zh) 编码装置、解码装置、编码方法、解码方法、以及记录介质
KR19980034878A (ko) 가중치를 가진 벡터 양자화 장치 및 방법
JPH0527798A (ja) 音声の線形予測パラメータ符号化方法
CN110875048A (zh) 编码装置、及其方法、记录介质、程序
Chatterjee et al. Optimum transform domain split VQ
KR100926366B1 (ko) 코드북 결정 방법, 오디오 신호의 부호화 방법 및 장치
EP1062657A2 (en) A system and method for providing split vector quantization data coding

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
FPAY Annual fee payment

Payment date: 20141022

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161020

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181023

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191016

Year of fee payment: 9