KR101370018B1 - 제한된 벡터 양자화 - Google Patents

제한된 벡터 양자화 Download PDF

Info

Publication number
KR101370018B1
KR101370018B1 KR1020087025757A KR20087025757A KR101370018B1 KR 101370018 B1 KR101370018 B1 KR 101370018B1 KR 1020087025757 A KR1020087025757 A KR 1020087025757A KR 20087025757 A KR20087025757 A KR 20087025757A KR 101370018 B1 KR101370018 B1 KR 101370018B1
Authority
KR
South Korea
Prior art keywords
dictionary
signal
vectors
vector quantization
vector
Prior art date
Application number
KR1020087025757A
Other languages
English (en)
Other versions
KR20090005027A (ko
Inventor
스떼빠네 하고
씨히 주일라우메
Original Assignee
오렌지
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오렌지 filed Critical 오렌지
Publication of KR20090005027A publication Critical patent/KR20090005027A/ko
Application granted granted Critical
Publication of KR101370018B1 publication Critical patent/KR101370018B1/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
    • 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

Landscapes

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

Abstract

본 발명은 신호의 벡터 양자화를 위한 딕셔너리를 발생시키는 방법에 관한 것이다. 이 방법은 구동 벡터들을 나타내는 코드 벡터들의 유한 집합(CITER)을 결정하는 신호를 나타내는 구동 벡터들의 통계적 분석 단계(10)를 포함한다. 본 방법은 2개씩 수정된 코드 벡터들 간에 최소 거리를 부과하기 위해, 코드 벡터들의 유한 집합을 수정하는 단계(30)를 더 포함하는 것을 특징으로 하며, 수정된 코드 벡터들의 집합이 딕셔너리를 형성한다.
딕셔너리, 벡터 양자화, 유한 집합, 코드 벡터, 최소 거리, 구동 벡터

Description

제한된 벡터 양자화{RESTRAINED VECTOR QUANTIZATION}
본 발명은 오디오 및 비디오 신호들, 보다 일반적으로는 이러한 신호들을 저장 또는 전송하고자 하는 멀티미디어 신호들과 같은 신호들을 엔코드 및 디코드하기 위한 양자화 딕셔너리(quantization dictionary)들에 관한 것이다.
보다 구체적으로, 본 발명은 왜곡 임계치(distortion threshold)의 선험적 지식(priori knowledge)을 포함한 구조화되지 않은 통계적 벡터 양자화의 문제에 대한 해결책을 제시한다.
신호들, 특히 디지털 신호들을 처리하기 위한 매우 광범위한 해결책은 벡터 양자화(VQ)이며, 일반적으로 이러한 벡터 양자화는 유한 집합(finite set)으로부터 선택되는 동일 차원의 벡터에 의해 입력 벡터를 표현한다. 이러한 유한 집합은 재생 알파벳 또는 딕셔너리 또는 디렉토리라 불리며, 그 요소(element)들은 코드 벡터들, 코드 워드들, 출력 포인트들 또는 대표(proxy)들이라 불린다.
벡터 양자화에서, 어떠한 신호의 n개의 샘플들의 블록은 n 차원의 벡터처럼 취급된다. 이러한 벡터는, 유한 딕셔너리로부터, 그 벡터와 가장 "닮은(resemble)" 코드 벡터를 선택함으로써 엔코드된다. 예를 들어, 딕셔너리 요소와 입력 벡터 간의 거리 측정치를 최소화하는 딕셔너리 요소를 선택하기 위해, 딕셔너리의 모든 요 소들에 대해 철저한 서치를 수행한다.
일반적으로, 벡터 양자화 딕셔너리들은, 일반화된 로이드 맥스 알고리즘(generalized Lloyd-Max algorithm, GLA) 또는 LBG(Linde-Buzo-Gray) 알고리즘과 같은 통계적인 방법을 이용하여, 구동 시퀀스(driving sequence) 또는 트레이닝 시퀀스(training sequence)를 형성하는 엔코드될 신호 샘플들의 분석에 기초하여 설계된다. 이러한 타입의 알고리즘은, 예를 들어 Gersho A., Gray R. M의 "Vector Quantization and Signal Compression", Kluwer Academic Publishers, 1992에 개시되어 있다.
딕셔너리는 구동 시퀀스 및 초기 딕셔너리로부터 반복적(iterative)으로 구성된다. 각 반복은, 최근접 이웃 규칙(nearest neighbour rule)에 따라 구동 시퀀스의 양자화의 영역들을 구성하기 위해 구동 벡터들을 분류하는 단계 및 중심 규칙(centroid rule)이라 불리는 규칙에 따라 이전의 코드 벡터들을 상기 영역들의 중심들로 대체시킴으로써 딕셔너리를 개량하는 단계를 포함한다.
이러한 결정적 반복 알고리즘(deterministic iterative algorithm)의 로컬 최소값(local minimum)으로의 수렴(convergence)을 피하기 위해, 확률론적 완화(stochastic relaxation)(SKA, 확률론적 K-평균 알고리즘)라 불리는 변형이 제안되었는데, 이는 중심 구성 단계 및/또는 클래스 구성 단계에 랜덤한 부분을 도입시킨다. 이러한 변형은, 예를 들어 Kovesi, B., Saoudi, S., Boucher, J. M., Reguly, Z.이 저술한 간행물인 "A fast robust stochastic algorithm for vector quantizer design for nonstationary channels", IEEE International Conference on Acoustics, Speech, and Signal Processing, Vol. 1, pp. 269-272, 1995에 개시되어 있다.
이러한 방식으로 얻어지는 딕셔너리들 또는 통계적 벡터 양자화기들은 어떠한 특정의 구조도 갖지 않음으로써, 계산 및 메모리의 측면에서 이들을 검색하는 데 비용이 많이 든다. 실제로, 전형적인 통계적 벡터 양자화에 의해 얻어지는 이러한 딕셔너리들의 이용은 종종, 특히 실시간에서는 벡터당 4 내지 10 비트 정도의 저 차원 그리고/또는 저 레이트의 엔코딩으로 제한된다.
일반적으로, 통계적 벡터 양자화는 처리될 신호의 확률 분포의 형태를 이용하는데, 이것 역시 통계적 벡터 양자화기의 딕셔너리의 코드 벡터들의 분포에서 발견된다. 벡터 양자화에서 이용되는 구성 알고리즘(construction algorithm)들은 평균 왜곡을 최소화하는 데에 그 목적이 있으며, 이에 따라 이러한 알고리즘들은 고밀도 영역들 내에 많은 코드 벡터들을 배치하는 경향이 있다. 엔코드될 신호의 고밀도 영역들 내에 중심들을 집중시키는 것은 지각적인 관점에서 항상 유의미한 것은 아니다. 따라서, 고밀도 영역의 2개의 코드 벡터들은 하나의 벡터를 다른 벡터로 대체함으로써 발생되는 왜곡을 감지할 수 없을 만큼 가까이 있는 것이 가능하다.
또한, 소수의 코드 벡터들을 갖는 저해상도 양자화기(low-resolution quantizer)들의 경우, 이러한 집중은 엔코드될 신호의 확률 분포의 덜 밀집한 영역들의 손실을 야기하여, 이러한 영역들은 부적절하게(즉, 불완전하게) 표현된다. 즉, 부적절하게 엔코드된다.
크기 및 차원(dimension)의 제약으로부터 자유롭기 위해, 특히 딕셔너리의 구조 결여를 교정함으로써 품질 손상의 복잡성을 줄이기 위해, 통계적 벡터 양자화 에 대한 몇 개의 변형들이 개발되었다. 하지만, 성능 복잡성에 대한 절충이 개선됨으로써, 벡터 양자화가 효율적으로 적용될 수 있는 해상도들 그리고/또는 차원들의 범위를 증가시킬 수 있게 된다. 강제적인 벡터 양자화기들에 대한 많은 구성들이 문헌으로 제안되어 있다. 특히, 트리 벡터 양자화기, 멀티-스테이지 벡터 양자화기, "데카르트 곱(cartesian product)" 벡터 양자화기, 또는 데카르트 곱 벡터 양자화기의 특별한 경우인 "이득/방위(gain/orientation)" 벡터 양자화기가 제안되어 있다.
구조화되지 않은 벡터 양자화에서와 같이, 강제적인 방법들에 의해 얻어지는 딕셔너리들은 항상 서로 근접하는 상당량의 코드 벡터들을 가지며, 특히 이러한 코드 벡터들의 차이는 수신기가 감지할 수 없을 정도로 경미하다. 이는 비최적의 품질을 야기한다.
또한, 대수 벡터 양자화(algebraic vector quantization)라 불리는 다른 시도가 제안되어 있다. 이러한 대수 벡터 양자화는 포인트들 또는 에러 정정 코드들의 규칙적인 격자들로부터의 고도로 구조화된 딕셔너리들을 이용한다. 규칙적인 격자의 간단한 예는, 예를 들어 정수 좌표들을 갖는 한 세트의 포인트들로부터 형성되는 큐빅 격자(cubic lattice)이다.
이들 딕셔너리들의 대수 특성들 때문에, 대수 벡터 양자화기들은 구현하기가 용이하며, 메모리에 저장될 필요가 없다. 이러한 딕셔너리들의 규칙적인 구조를 이용하게 되면, 예를 들어 공식에 의해 인덱스(index)를 대응 코드 벡터와 관련시키기 위한 최적의 고속 서치 알고리즘들 및 메커니즘들의 개발을 가능하게 한다.
대수 벡터 양자화를 위해 종래에 개발된 기술들은 규칙적인 격자들 또는 어레이들의 부분 집합(subset)인 딕셔너리들을 야기한다.
규칙적인 격자의 주요 파라미터들중 하나는 코드 벡터들이 배치되는 2개의 포인트들 간의 최소 제곱 거리이다. 일반적으로, 인덱스화(indexation)를 단순화하기 위해, 딕셔너리는 초입방체(hypercube) 또는 초구형(hypersphere)과 같은 규칙적인 폴리톱(polytope) 또는 그 표면을 갖는 격자의 교점으로서 선택된다. 이러한 교점 외부의 포인트들은 이상치(outlier)들이 된다. 소정의 레이트, 즉 고정된 수의 교점 포인트들에 대해, 이상치들의 수를 제한하게 되면 2개의 코드 벡터들 간의 최소 거리를 증가시키게 된다.
대수 벡터 양자화기들이 구현하기가 덜 복잡하고 더 적은 메모리를 요구하기는 하지만, 이들은 균일한 분포를 갖는 신호들을 엔코딩하는 데에만 최적이다.
또한, 코드 벡터들을 인덱스화하는 동작들, 또는 넘버링 및 디코딩을 위한 역(inverse) 동작들은, 이러한 동작들이 단지 테이블들로부터 읽음으로써 행해지는 통계적 벡터 양자화기들의 경우에서보다 더 많은 계산을 요구한다.
마지막으로, 다른 형태의 벡터 양자화는 대수 양자화와 통계적 양자화를 결합한다. 이는, Moayeri, N., Neuhoff D. L. 및 Stark, W.E.에 의해 발표된 "Fine-coarse vector quantization", IEEE Trans. on Information Theory, Vol. 37, Issue 4, pp. 1503-1515, July 1991에 개시되어 있는 파인-코스(즉, 미세-거친)(fine-coarse) 벡터 양자화이다. 이러한 양자화는 2개의 양자화기를 포함한다. 제 1의 고해상도 또는 미세 해상도의 양자화기는 일반적으로 만족스럽게 구성되고 구현하기가 복잡하지 않은 반면, 제 2의 거친 해상도의 양자화기는 구조화되지 않은 통계적 벡터 양자화기이다. 제 1 스테이지는 미리 계산을 행하는 스테이지로서, 이는 제 2 스테이지에서의 서치를 보다 빠르게 한다.
"미세-거친" 양자화기는 상기 통계적 벡터 양자화에 대해 지적한 것과 동일한 단점들을 갖는다. 실제로, 미세-해상도 양자화기와 거친-해상도 양자화기 간의 링크는 간단한 대응 테이블이며, 이에 따라 고 해상도 벡터 양자화기가 코드 벡터들 간에 최소 거리를 갖는 규칙적인 격자의 유한 부분 집합일지라고 할지라도, 이러한 제약은 표준의 통계적 벡터 양자화 기술들에 의해 구성되는 거친-해상도의 벡터 양자화기에 대해서는 강제되지 않는다.
따라서, 통계적 벡터 양자화는 포인트들의 분포가 적절하지 않은 딕셔너리들을 야기하는 것으로 여겨지며, 여기서 이러한 포인트들중 일부는 리던던트한데, 그 이유는 이들이 수신기의 레벨에서 감지할 수 없을 정도로 경미하기 때문이다.
한편, 대수 벡터 양자화는 균일한 확률 분포를 갖는 신호들에 대해서만 그 분포가 적절하게 되는 딕셔너리들을 야기하며, 다른 신호들에 대한 코딩 확률은 저하시킨다.
본 발명은 특히, 엔코드될 신호에 적절한 통계적 벡터 양자화에 의해 딕셔너리를 획득하고, 지각적 임계치(perceptual threshold)들을 고려하는 적절한 방법을 정의할 수 있는 장점을 갖는다.
이러한 목적을 위하여, 본 발명은 구동 벡터들에 대한 대표들인 코드 벡터들의 유한 집합을 결정하는 신호를 나타내는 구동 벡터들의 통계적 분석 단계를 포함하는 타입의, 신호에 대한 벡터 양자화 딕셔너리를 발생시키는 방법을 제공하며, 이러한 방법은 코드 벡터들의 유한 집합을 수정하여, 수정된 코드 벡터들 간에 2개씩 최소 거리를 부과하는 단계를 더 포함하는 것에 특징이 있으며, 이러한 수정된 벡터들은 딕셔너리를 형성한다.
따라서, 본 발명은 구동 벡터들의 통계적 분석 단계 때문에 신호에 대해 적절한 딕셔너리를 야기하지만, 코드 벡터들 간의 최소 거리에 의해, 너무 가까이 있는 코드 벡터들은 지각 레벨에서 구별할 수 없게 된다는 사실을 고려할 수 있게 된다.
본 발명의 다른 특징에 따르면, 상기 통계적 분석 단계는 초기 딕셔너리를 생성하는 하위 단계와, 양자화 영역들을 형성하기 위해 상기 초기 딕셔너리로부터 구동 벡터들을 분류하는 하위 단계와, 그리고 각 영역에 대한 중심을 결정하는 하위 단계를 포함하며, 상기 중심들은 코드 벡터들이다. 이러한 실시예는 통계적인 분석의 특정 구현예에 해당한다.
유익하게는, 상기 초기 딕셔너리를 생성하는 하위 단계는 상기 구동 벡터들로부터 시작하여 구현되고, 포인트들의 규칙적인 격자 상에서 선택되는 라운딩된 벡터(rounded vector)에 의해 각 구동 벡터를 대체하고 라운딩된 벡터들의 출현 빈도수에 따라 라운딩된 벡터들을 선택적으로 제거하는 것을 포함한다.
본 발명의 특정의 실시예에서, 상기 통계적 분석 단계는 또한 초기 딕셔너리의 왜곡을 계산하는 하위 단계 및 이러한 왜곡을 허용 임계치와 비교하는 하위 단계를 포함하며, 이러한 비교가 부정적인 경우, 통계적 분석 단계가 반복된다. 이러한 반복적인 시도에 의해, 보다 우수한 품질을 갖는 초기 딕셔너리를 얻을 수 있게 된다.
하나의 변형에 있어서, 상기 코드 벡터들의 유한 집합을 수정하는 단계는 포인트들의 규칙적인 격자 상에서 선택되는 이웃 코드 벡터에 의해 상기 코드 벡터들 각각을 대체하는 단계를 포함한다. 이러한 실시예는 코드 벡터들 간에 최소 거리를 보장한다.
유익하게는, 상기 방법은 또한 상기 수정된 코드 벡터들 중에서 중복(duplicate)들을 제거하는 단계를 포함하며, 이에 따라 딕셔너리의 크기를 줄일 수 있게 된다.
일 특정 실시예에서, 상기 중복들을 제거하는 단계는 상기 수정된 코드 벡터들을 서로 비교함으로써 중복들을 서치하는 하위 단계 및 이러한 중복들을 삭제하는 하위 단계를 포함한다.
유익하게는, 본 발명의 방법은 딕셔너리의 코드 벡터들의 분포를 개선하기 위해, 수정된 코드 벡터들을 구동 벡터들(이러한 구동 벡터들은 이들 사이에 적어도 상기의 최소 거리를 갖는다)과 병합(merge)하는 단계를 포함한다.
일 특정 실시예에서, 이러한 병합 단계는 포인트들의 규칙적인 격자 상에서 선택되는 라운딩된 벡터에 의해 각 구동 벡터를 대체하는 하위 단계 및 수정된 코드 벡터들과 라운딩된 구동 벡터들을 결합하는 하위 단계를 포함한다. 따라서, 수정된 코드 벡터들과 결합되는 라운딩된 구동 벡터들 역시 2개씩 최소 거리를 갖게 된다.
다른 변형에서, 상기 병합 단계는 또한 라운딩된 구동 벡터들을 이들의 출현 빈도수에 따라 배열하고, 유한 수의 벡터들을 선택하여 이들을 수정된 코드 벡터들과 결합하는 것을 포함한다.
일 실시예에서, 상기 결합하는 하위 단계는 상기 수정된 코드 벡터들에 유한 수의 라운딩된 구동 벡터들을 부가하는 것을 포함하며, 이러한 라운딩된 구동 벡터들은 상기 수정된 코드 벡터들과 별개의 것이다.
하나의 변형에 있어서, 포인트들의 규칙적인 격자는 신호의 목적지인 수신기의 감도 레벨에 해당하는 피치(pitch)를 가지며, 이에 따라 지각적 실체에 해당하는 2개의 코드 벡터들 간에 최소 거리를 부과하는 것이 가능해진다.
다른 실시예에서, 본 발명의 방법은 또한 상기 딕셔너리를 최적화하는 단계를 포함한다.
예를 들어, 이러한 최적화 단계는 딕셔너리의 왜곡을 계산하는 단계 및 이러한 왜곡을 허용 임계치와 비교하는 단계를 포함하며, 이러한 비교가 부정적인 경우, 상기 통계적 분석 단계 및 수정 단계가 반복된다.
대안적으로, 이러한 최적화 단계는 본 발명의 방법의 적어도 한번의 반복을 포함하는데, 이는 수정된 코드 벡터들로부터 형성되는 딕셔너리에 기초하여 실시된다.
또한, 본 발명은 상기 설명한 방법을 실시하기 위한 코드 명령어들을 포함하는 컴퓨터 프로그램과, 그리고 이러한 컴퓨터 프로그램을 실행시키고, 그에 따라 본 발명의 취지 내에서 벡터 양자화 딕셔너리를 발생시키기 위해, 예를 들어 작동 메모리 및 프로세서와 같은 수단들을 포함하는 장치를 제공한다.
본 발명은 또한 본 발명의 컴퓨터 프로그램을 수행하기 위한 수단을 포함하는 벡터 양자화 딕셔너리를 발생시키는 장치와 관련된다.
또한, 본 발명은 본 발명에 따라 얻어지는 딕셔너리를 이용하는 엔코딩 및 디코딩 방법들과 디코더와 관련된다.
본 발명은, 첨부 도면들을 참조하여 비 한정적인 예로서 주어지는 하기의 상세한 설명에 비추어 보다 더 명확하게 설명될 것이다.
도 1은 본 발명의 방법의 흐름도이다.
도 2 및 3은 본 발명의 방법의 별개의 다른 단계들에서의 딕셔너리의 표현들이다.
도 4는 최적화 방법의 흐름도이다.
도 5 및 6은 본 발명의 방법에 의해 얻어지는 딕셔너리를 실시하는 엔코더 및 디코더의 블록도이다.
이제, 도 1을 참조하여, 본 발명에 따라 벡터 양자화 딕셔너리를 얻는 방법에 대해 설명한다.
개시된 실시예에서, 본 방법은 음성 신호와 같은 디지털 오디오 신호를 나타내는 구동 벡터들에 대해 실행된다.
먼저, 본 방법은 구동 벡터들의 통계적 분석 단계(10)를 포함한다. 개시된 실시예에서, 단계(10)는 일반화된 로이드 맥스 알고리즘의 적용에 해당한다.
단계(10)는 C0로 표시된 초기 딕셔너리를 생성하는 하위 단계(12)에 의해 시작된다. 이 딕셔너리는 구동 벡터들의 분석으로부터, 또는 알려져있는 다른 수단들, 예를 들어 구동 벡터들의 유한 집합으로부터의 임의의 선택, 또는 "스플리팅(splitting)", "LBG 알고리즘" 등이라 불리는 알고리즘들에 의해 생성된다. 이러한 초기 딕셔너리(C0)는 결정된 크기를 갖는다.
개시된 실시예에서, 이후 본 발명은 현재의 변수들, 특히 반복 횟수에 해당하는 변수(ITER) 및 왜곡 값에 해당하는 변수(DITER)를 초기화하는 하위 단계(14)를 포함한다.
이후, 단계(10)는 분류 영역들을 형성하기 위해 초기 딕셔너리(C0)와 관련하여 구동 벡터들을 분류하는 하위 단계(16) 및 각 영역에 대한 중심을 결정하는 하위 단계(18)를 포함한다.
보다 정확하게는, 상기 분류 하위 단계(16)에서는, 각 구동 벡터에 대해, 현재 딕셔너리, 즉 연속적인 반복들에 의해 수정된 딕셔너리(C0) 전체를 훑어본 다음, 그 딕셔너리로부터 구동 벡터에 의한 제곱 에러(square error)를 최소화하는 코드 벡터를 선택한다.
하위 단계(18)는 다음과 같이 구현된다. 즉, 각 클래스 또는 영역(Vi)에 대해, 새로운 중심들을 계산한다.
Vi는 Q(xj)=yi가 되는 구동 벡터들(xj)의 집합으로서 정의되며, 여기서 Q()는 양자화 함수이고, yi는 딕셔너리의 코드 벡터이다.
Ni는 Vi의 벡터들의 수이고, Vi(j,k)는 Vi의 j번째 벡터의 k번째 요소라고 하자.
중심(yi)의 k번째 요소에 대해,
Figure 112008073125550-pct00001
이다.
하위 단계(20)에서는, 현재 딕셔너리에 대한 왜곡 값이 계산된다.
이러한 하위 단계(20)에서는, 이전 단계들에서 제공되는 현재 딕셔너리에 의해 구동 벡터들이 양자화된다. 구동 벡터들과 이들의 양자화된 형태들 간의 제곱 에러가 왜곡 측정치를 형성한다.
이후, 최대수의 반복(ITERMAX)에 이르거나, 왜곡이 허용 임계치 미만이 될 때 까지, 하위 단계들(16, 18 및 20)이 반복되며, 하위 단계(22)에서는 테스트가 수행된다.
상기 설명한 바와 같이, 본 예에서, 특히 반복되는 하위 단계들(16, 18, 20 및 22)을 갖는 단계(10)는 일반화된 로이드 맥스 알고리즘의 적용에 해당한다.
단계(10)의 끝에서, 본 방법은 구동 벡터들의 반복적인 통계적 분석에 의해 형성되는 딕셔너리(CITER)를 제공한다.
도 2는 딕셔너리(CITER)의 2차원 표현을 도시하며, 여기서 구동 벡터들은 구름(cloud) 형상의 포인트들에 의해 표현된다. 이러한 표현에 있어서, 그레이 포인트들은 구동 벡터들 또는 신호 벡터들에 해당하고, 블랙 포인트들은 딕셔너리의 벡터들에 해당한다. 딕셔너리(CITER)의 벡터들의 분포는 구동 벡터들의 밀도를 따르 며, 많은 벡터들이 서로 가까이 있다는 것을 알 수 있다.
이후, 본 방법은 코드 벡터들 간에 2개씩 최소 거리를 부과하기 위해 딕셔너리(CITER)를 수정하는 단계(30)를 포함한다.
이 수정 단계(30)는 데카르트 그리드(cartesian grid)와 같은 포인트들의 규칙적인 격자 상에서 선택되는 이웃하는 벡터에 의해 코드 벡터들 각각의 대체하는 것을 포함한다. 이렇게 수정되는 벡터들은 라운딩된 벡터(rounded vector)들이라고도 불린다. 설명되고 있는 실시예에서, 선택되는 이웃 벡터는 코드 벡터에 가장 가까운 규칙적인 격자 상에 배치되는 벡터이다. 벡터들의 타입들 및 실시예에 따라, 벡터들 간의 거리 외의 기준들을 이용하여 코드 벡터의 이웃 벡터를 결정할 수 있다.
따라서, 단계(30)는, 규칙적인 격자 상에서, 단계(10)에서 얻어졌던 딕셔너리(CITER)를 라운딩함으로써 얻어지는 새로운 딕셔너리(C')를 제공한다.
규칙적인 격자 상에서의 코드 워드들의 라운딩은 다음과 같이 이루어지며, p는 격자의 피치로서 고려된다:
Figure 112008073125550-pct00002
여기서, i=1 ... M이고, k=1 ...n이며, 그리고 [.] 는 가장 가까운 정수로의 라운딩을 나타낸다.
이후, 본 방법은 딕셔너리(C')를 형성하는 수정된 코드 벡터들로부터 중복(duplicate)들을 제거하는 단계(32)를 포함한다.
단계(32)는 중복들을 서치하는 하위 단계 및 이후 중복들을 억제하는 하위 단계를 포함하며, 상기 서치 단계는 코드 벡터들 각각을 딕셔너리의 다른 코드벡터들과 비교함으로써 딕셔너리(C') 전체에 대해 수행된다.
이 단계(32)의 끝에서, 딕셔너리(C')는 딕셔너리(CITER) 보다 적은 코드 벡터들을 포함할 수 있다.
이후, 본 방법은 딕셔너리의 크기가 감소된 경우 그 딕셔너리를 완성하기 위해, 수정된 딕셔너리와 라운딩된 구동 벡터들을 병합하는 단계(34)를 포함한다.
이 단계(34)는 각 구동 벡터를 이웃하는 벡터(이는 라운딩된 구동 벡터라 불리며, 포인트들의 규칙적인 격자 상에서 선택된다)로 대체하는 하위 단계(36)에 의해 시작된다. 유익하게는, 단계(30)에서와 동일한 격자가 이용된다. 그런 다음, 유익하게는 중복들이 제거된 후, 라운딩된 구동 벡터들은 자신들의 출현 빈도수에 따라 감소순으로 배열된다.
이후, 본 방법은 수정된 코드 벡터들의 딕셔너리(C')와 라운딩된 구동 벡터들을 결합하는 하위 단계(38)를 포함한다. 이러한 하위 단계 동안, 딕셔너리(C')는 그 딕셔너리에 존재하지 않는 라운딩된 구동 벡터들을 부가함으로써 완성되며, 이러한 라운딩된 구동 벡터들은 유익하게는 자신들의 출현 빈도수에 따라 감소순으로 배열된다.
따라서, 딕셔너리의 코드 벡터들을 형성하는 중심들 간에 최소 거리가 보장되도록 딕셔너리(C")가 구성되며, 이에 따라 이는 제약된 것으로서 설명된다. 본 예에서, 양자화될 파라미터들은 대수 스케일로 취해지며, 이러한 도메인 내의 일정 피치(constant picth)는 인간의 귀의 감도에 해당하는 에너지 도메인 내의 대수 피치와 등가이다. 따라서, 본 발명의 방법에 의해, 피치(p)를 지각적 임계치의 함수로서 선택함으로써, 지각적 임계치들을 고려하는 통계적 벡터 양자화의 딕셔너리를 발생시킬 수 있게 된다.
또한, 딕셔너리를 라운딩된 구동 벡터들과 결합함으로써, 코드 벡터들의 보다 우수한 분포를 얻을 수 있게 된다.
도 3은 2차원의 포인트들의 구름 형태의 딕셔너리(C")를 나타낸다. 도 3에서는, 상기 설명한 방법에 따라 얻어지는 딕셔너리(C")가 구동 벡터들의 넓은 영역을 덮고, 코드 벡터들 간에 2개씩 최소 거리를 갖는다는 것을 주목할만하다.
실제로 2개의 딕셔너리들이 동일한 수의 코드 벡터들을 갖기는 하지만, 도 3에서의 딕셔너리의 외견상 포인트들의 수는 도 2에서의 것 보다 적다. 실제로, 도 2 및 3은 보다 높은 차원의 벡터들의 2차원에서의 투영 만을 나타낸다. 도 3에 나타낸 딕셔너리의 코드 벡터들은 규칙적인 격자 상에서 라운딩되며, 몇 개의 벡터들이 하나의 포인트로 감소하는데, 이는 도 2에 나타낸 딕셔너리에 대해서는 그렇지 않다.
유익하게는, 본 방법은 또한 딕셔너리(C")를 최적화하기 위한 단계(40)를 포함하며, 그 흐름도는 도 4에 도시되어 있다.
이러한 최적화는 도 1 내지 3과 관련하여 설명된 방법의 끝에서 얻어지는 딕셔너리(C")를 수신하는 것으로부터 시작된다.
개시된 실시예에서, 이러한 최적화 단계는 동일한 처리 단계들을 반복한 다음, 이들을 딕셔너리(C")의 코드 벡터들에 적용하는 것으로 이루어진다. 하지만, 설명되는 최적화 단계에서는, 각 반복에서, 분류, 중심들의 결정, 코드 벡터들의 수정 및 중복들의 제거가 실시된다.
따라서, 단계(40)는 딕셔너리(C")의 코드 벡터들에 대해 적용되는 분류 단계(42)에 의해 시작된 다음, 중심들을 결정하는 단계(44)가 뒤따른다. 이러한 단계들(42 및 44)은 상기 설명한 단계들(16 및 18)과 유사하다.
다음으로, 규칙적인 격자 상에서의 라운딩에 의한 수정 단계(46)가 수행된다. 이 단계(46) 이후, 중복들을 대체하는 단계(48)가 뒤따른다.
마지막으로, 최적화 단계는 왜곡을 측정하는 단계(50) 및 이러한 왜곡이 허용 임계치 미만인지 또는 최대수의 반복들에 도달했는 지를 결정하는 테스트(52)를 포함한다.
이러한 최적화 단계에 의해, 딕셔너리의 품질을 더욱 개선할 수 있게 된다.
물론, 다른 실시예들도 가능하다.
하나의 변형으로서, 초기 딕셔너리는 규칙적인 격자 상에서 라운딩된 구동 벡터들을 제거함으로써 생성된다. 이는 이러한 초기 딕셔너리의 생성이, 규칙적인 격자 상에서 선택되는 이웃하는 벡터들에 의해 구동 벡터들을 교체한 다음, 이들의 출현 빈도수의 함수로서, 라운딩된 구동 벡터들을 선택적으로 제거하는 것을 포함함을 의미한다.
또 다른 변형에 있어서, 최적화 단계는 초기 딕셔너리로서 이전에 얻어진 딕셔너리를 이용하여, 도 1의 방법을 동일하게 반복하는 것으로 이루어진다.
다른 변형에서, 병합 단계는 수정된 코드 벡터들과 라운딩되지 않은 구동 벡터들 간에 실시된다. 하지만, 이러한 실시예에서, 이용되는 구동 벡터들은 딕셔너리의 코드 벡터들 간에 최소 거리를 유지하기 위해 선택된다.
상기 설명된 딕셔너리를 발생시키는 방법은 임의의 타입의 계산기 및 컴퓨터에 대한 프로그램을 이용하여 실시될 수 있다.
도 5 및 6을 참조하여, 본 발명의 방법에 따라 얻어지는 딕셔너리들을 이용하는 엔코더 및 디코더에 대해 설명한다.
이러한 엔코더 및 디코더는, 3개의 가능한 속도, 8, 12 또는 13.65 kbit/s에서 기능하는 부대역(sub-band)들에서의 계층적 오디오 엔코딩 및 디코딩의 전체 시스템의 일부이다. 실제로, 엔코더는 항상 13.65 kbit/s의 최대 속도에서 기능하지만, 디코더는 8 kbit/s에서 코어를 수신할 수 있으며, 하나 또는 두 개의 강화 층(enhancement layer)들은 각각 12 또는 13.65 kbit/s에서 기능한다.
도 5에 나타낸 엔코더(60)는 입력 신호를 수신하는 2개의 경로를 포함한다. 제 1 경로는 입력 신호로부터 0 내지 4000 Hz의 저대역(LF)을 추출하는 데에 적절한 필터링 유닛(62)을 포함한다. 제 2 경로는 4000 Hz에서 8000 Hz로 확장되는 고대역(HF)을 추출하는 데에 적절한 유사한 유닛(64)을 포함한다. 이러한 유닛들(62 및 64)은, 예를 들어 표준 방식으로 실시되는 필터들 및 데시메이션 모듈들을 포함한다.
이후, 8 내지 12 kbit/s의 임베디드 CELP 엔코딩과 같은 표준 CELP 엔코딩에 따라, 저대역 신호가 엔코딩 유닛(66)에서 엔코드된다.
고대역 신호는, 특히 유닛(70)에서 벡터 양자화를 이용하여 엔코드된다. 설명되는 실시예에서, 유닛(70)은 파라미터 엔코딩 유닛으로서, 엔코드되는 파라미터는 신호의 시간 포락선(envelope) 및 주파수 포락선인데, 이들은 각각 고대역 신호의 부대역 또는 서브 프레임당 평균 제곱근(r.m.s.)에 의해 얻어지는 실효값에 해당한다. 이러한 포락선들은 다음과 같이 대수 도메인 내에 전달된다:
Figure 112008073125550-pct00003
여기서,
Figure 112008073125550-pct00004
는 포락선의 값이다.
입력 신호의 각 프레임에 대해, 시간 및 주파수 포락선 파라미터들이 파라미터 분석 모듈(72 및 74)에서 추출된다. 이후, 대수 도멘인 내의 이러한 파라미터들은, 본 발명에 따라 발생되는 딕셔너리들을 이용하여, 벡터 양자화 모듈(76)에서 함께 양자화된다.
보다 정확하게는, 개시된 실시예에서, 파라미터들은 억제된 평균을 갖는 데카르트 곱이라 불리는 벡터 양자화에 의해 엔코드된다.
시간 포락선 벡터의 평균(
Figure 112008073125550-pct00005
)이 계산된 다음, 양자화된다. 양자화된 평균은
Figure 112008073125550-pct00006
로 표시된다. 이후, 개별적으로 양자화되고 멀티플렉싱(multiplexing)되기 전에,
Figure 112008073125550-pct00007
에 대해 시간 및 주파수 포락선 벡터들의 중심이 결정된다.
평균(
Figure 112008073125550-pct00008
)은 균일한 스칼라 양자화에 의해 양자화되고, 그것의 피치 p=0.99657 이 지각적 임계치가 되는데, 이는 딕셔너리를 발생시키는 데에 이용되는 규칙적인 격자의 피치이다.
데카르트 곱 벡터 양자화는 본 발명에 따라 얻어지는 딕셔너리를 이용하여 수행되며, 여기서 저장된 코드 벡터들은 6dB의 피치에 해당하는 p=0.99657 의 최소 거리를 갖는 워드들이다.
이후, 2개의 경로들(HF 및 LF)이 멀티플렉서(80)에서 멀티플렉싱되어, 엔코더(60)의 출력 신호를 형성한다.
대응하는 디코더(100)는 도 6과 관련하여 설명된다.
이 디코더는, 먼저, 신호의 저대역 부분과 고대역 부분에 해당하는 경로들을 분리하는 디멀티플렉서(102)를 포함한다.
저대역 신호에 해당하는 경로는 CELP 디코더(104)에 공급된다. 이 CELP 디코더는 또한 표준 방식으로 계산되는 여기 파라미터(excitation parameter)들을 공급한다.
고대역 신호에 해당하는 경로는 디코딩 유닛(110)에 공급되는데, 이 디코딩 유닛은 특히 역 벡터 양자화(inverse vector quantization)(112)를 이용한다.
이 모듈(112)의 출력은 시간 성형 모듈(114)에 공급된다. 이 모듈(114)은 또한 CELP 디코더(104)에 의해 공급되는 CELP 여기 파라미터들로부터 모듈(116)에 의해 발생되는 합성 여기 신호를 수신한다.
마지막으로, 유닛(110)은 주파수 성형 모듈(118)을 포함한다.
파라미터들의 엔코딩과 대칭적으로, 디코딩은 시간 및 주파수 포락선들의 역정규화(denormalization)에 의해 수행되는데, 이러한 시간 및 주파수 포락선들은 역양자화 수단(dequantized mean)에 의해 역양자화된다.
마지막으로, 2개의 경로들은 처리 모듈들(120 및 122)에서 처리된 다음, 믹서(124)에서 서로 재결합된다.
이러한 엔코더 및 디코더의 아키텍쳐 및 동작 그 자체는 표준 방식의 것들로서, 여기에서는 더 상세히 설명하지 않는다. 이에 대한 상세한 설명은 도큐먼트 UIT-T, COM 16, D214 (WP 3/16), "High level description of the scalable 8-32 kbit/s algorithm submitted to the Qualification Test by Matsushita, Mindspeed and Siemens," Q.10/16, Study Period 2005-2008, Geneva, 26 July-5 August 2005 (Source: Simens)에서 제공된다.

Claims (22)

  1. 구동 벡터들에 대한 대표들인 코드 벡터들의 유한 집합(CITER)을 결정하는 신호를 나타내는 구동 벡터들의 통계적 분석 단계(10)를 포함하는, 신호에 대한 벡터 양자화 딕셔너리(C")를 발생시키는 방법에 있어서,
    수정된 코드 벡터들 2개씩 간에 기설정된 거리를 부과하기 위해, 상기 코드 벡터들의 유한 집합을 수정하는 단계(30)를 더 포함하며, 상기 기설정된 거리는 순양(strictly positive)인 것을 특징으로 하는 신호에 대한 벡터 양자화 딕셔너리(C")를 발생시키는 방법.
  2. 제 1 항에 있어서,
    상기 통계적 분석 단계(10)는,
    초기 딕셔너리(C0)를 생성하는 부단계(12)와, 양자화 영역들을 형성하기 위해 상기 초기 딕셔너리로부터 시작하여 상기 구동 벡터들을 분류하는 부단계(16)와, 그리고 각 영역에 대한 중심(centroid)을 결정하는 부단계(18)를 포함하며, 상기 중심들이 상기 코드 벡터들인 것을 특징으로 하는 신호에 대한 벡터 양자화 딕셔너리(C")를 발생시키는 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 통계적 분석 단계는 상기 초기 딕셔너리의 왜곡을 계산하는 부단계(20)와 이러한 왜곡을 허용 임계치와 비교하는 부단계(22)를 포함하며,
    상기 비교가 부정적인 경우, 상기 통계적 분석 단계(10)가 반복되는 것을 특징으로 하는 신호에 대한 벡터 양자화 딕셔너리(C")를 발생시키는 방법.
  4. 제1항에 있어서,
    상기 수정 단계(30)는 포인트들의 규칙적인 격자 상에서 선택되는 이웃하는 코드 벡터에 의해 상기 유한 집합의 상기 코드 벡터들 각각을 대체하는 것을 포함하는 것을 특징으로 하는 신호에 대한 벡터 양자화 딕셔너리(C")를 발생시키는 방법.
  5. 제 4 항에 있어서,
    상기 포인트들의 규칙적인 격자는 상기 신호의 목적지인 수신기의 감도 레벨에 해당하는 피치를 갖는 것을 특징으로 하는 신호에 대한 벡터 양자화 딕셔너리(C")를 발생시키는 방법.
  6. 삭제
  7. 신호의 벡터 양자화 딕셔너리(C")를 발생시키는 컴퓨터 프로그램을 갖는 컴퓨터 판독가능한 매체로서,
    상기 컴퓨터 프로그램은 컴퓨터 상에서 실행될 때 제1항에 따른 방법을 실시하기 위한 코드 명령어들을 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 매체.
  8. 신호로부터 대표 파라미터(representative parameter)들을 얻기 위해 상기 신호를 분석하는 적어도 하나의 단계를 포함하는 신호를 엔코딩하는 방법에 있어서,
    상기 대표 파라미터들중 적어도 하나는 제1항에 따른 방법에 의해 발생되는 딕셔너리를 이용하여 벡터 양자화에 의해 엔코딩되는 것을 특징으로 하는 신호를 엔코딩하는 방법.
  9. 신호로부터 대표 파라미터들을 얻기 위해 상기 신호를 분석하는 수단(72, 74)을 적어도 포함하는 신호 엔코더(60)에 있어서,
    상기 신호 엔코더(60)는 제1항에 따른 방법에 의해 발생되는 딕셔너리를 이용하여 벡터 양자화에 의해 상기 대표 파라미터들 중 적어도 하나를 엔코딩하는 수단(76)을 더 포함하는 것을 특징으로 하는 신호 엔코더.
  10. 신호의 대표 파라미터들을 처리하는 적어도 하나의 단계를 포함하는 신호를 디코딩하는 방법에 있어서,
    상기 대표 파라미터들 중 적어도 하나는 제1항에 따른 방법에 의해 발생되는 딕셔너리를 이용하여 역 벡터 양자화에 의해 디코딩되는 것을 특징으로 하는 신호를 디코딩하는 방법.
  11. 신호의 대표 파라미터들을 처리하는 수단을 적어도 포함하는 신호 디코더(100)에 있어서,
    상기 신호 디코더(100)는 제1항에 따른 방법에 의해 발생되는 딕셔너리를 이용하여 역 벡터 양자화에 의해 상기 대표 파라미터들 중 적어도 하나를 디코딩하는 수단(112)을 더 포함하는 것을 특징으로 하는 신호 디코더.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
KR1020087025757A 2006-03-21 2007-03-09 제한된 벡터 양자화 KR101370018B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0602452 2006-03-21
FR0602452 2006-03-21
PCT/FR2007/050908 WO2007107659A2 (fr) 2006-03-21 2007-03-09 Quantification vectorielle contrainte

Publications (2)

Publication Number Publication Date
KR20090005027A KR20090005027A (ko) 2009-01-12
KR101370018B1 true KR101370018B1 (ko) 2014-03-06

Family

ID=36763212

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087025757A KR101370018B1 (ko) 2006-03-21 2007-03-09 제한된 벡터 양자화

Country Status (6)

Country Link
US (1) US8285544B2 (ko)
EP (1) EP2005756A2 (ko)
JP (1) JP4981122B2 (ko)
KR (1) KR101370018B1 (ko)
CN (1) CN101467459B (ko)
WO (1) WO2007107659A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4871246B2 (ja) * 2007-10-30 2012-02-08 日本電信電話株式会社 ベクトル量子化方法,装置およびそれらのプログラムとそれを記録したコンピュータ読み取り可能な記録媒体
TWI376960B (en) * 2009-07-31 2012-11-11 Univ Nat Pingtung Sci & Tech Codebook generating method for image compression
CN102307372B (zh) * 2011-08-26 2014-12-17 电信科学技术研究院 一种基于Lloyd-Max量化器的数据压缩方法和设备
RU2726158C2 (ru) * 2012-03-29 2020-07-09 Телефонактиеболагет Лм Эрикссон (Пабл) Векторный квантователь
US11347941B2 (en) * 2019-04-30 2022-05-31 Marvell Asia Pte, Ltd. Methods and apparatus for compressing data streams
CN113779103B (zh) * 2021-03-02 2024-04-09 北京沃东天骏信息技术有限公司 用于检测异常数据的方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817157A (en) * 1988-01-07 1989-03-28 Motorola, Inc. Digital speech coder having improved vector excitation source
US6393394B1 (en) * 1999-07-19 2002-05-21 Qualcomm Incorporated Method and apparatus for interleaving line spectral information quantization methods in a speech coder
JP3483513B2 (ja) * 2000-03-02 2004-01-06 沖電気工業株式会社 音声録音再生装置
JP3983532B2 (ja) * 2001-12-05 2007-09-26 日本放送協会 場面抽出装置
EP1709743A1 (fr) * 2004-01-30 2006-10-11 France Telecom S.A. Quantification vectorielle en dimension et resolution variables

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J.S.Pan et al, "VQ codebook design using genetic algorithm", IEEE Electronics Letters, August 1995, Vol.31, No.17, pp.1418-1419. *

Also Published As

Publication number Publication date
JP2009530940A (ja) 2009-08-27
JP4981122B2 (ja) 2012-07-18
KR20090005027A (ko) 2009-01-12
CN101467459B (zh) 2011-08-31
WO2007107659A3 (fr) 2008-12-18
CN101467459A (zh) 2009-06-24
US20100228808A1 (en) 2010-09-09
WO2007107659A2 (fr) 2007-09-27
EP2005756A2 (fr) 2008-12-24
US8285544B2 (en) 2012-10-09

Similar Documents

Publication Publication Date Title
CN1906855B (zh) 空间矢量和可变分辨率量化
US10200060B1 (en) Content-aware lossless compression and decompression of floating point data
KR101343267B1 (ko) 주파수 세그먼트화를 이용한 오디오 코딩 및 디코딩을 위한 방법 및 장치
JP4801160B2 (ja) 逐次改善可能な格子ベクトル量子化
US20070168197A1 (en) Audio coding
KR101370018B1 (ko) 제한된 벡터 양자화
WO2006062993A2 (en) Lossy data compression exploiting distortion side information
RU2463674C2 (ru) Кодирующее устройство и способ кодирования
US10103745B1 (en) Content-aware compression of data using selection from multiple weighted prediction functions
KR20210009194A (ko) 다중 디코더를 이용한 심화 신경망 기반의 비-자동회귀 음성 합성 방법 및 시스템
CN113537456A (zh) 一种深度特征压缩方法
CN113747163A (zh) 基于上下文重组建模的图像编码、解码方法及压缩方法
Shukla et al. Audio compression algorithm using discrete cosine transform (DCT) and Lempel-Ziv-Welch (LZW) encoding method
JP2020053820A (ja) 量子化及び符号化器作成方法、圧縮器作成方法、圧縮器作成装置及びプログラム
Ren et al. Silk steganography scheme based on the distribution of lsf parameter
Xie et al. Algebraic vector quantization of LSF parameters with low storage and computational complexity
EP2372699A1 (en) Distribution-constrained quantization
JP2004120623A (ja) 符号化装置、符号化方法、復号装置及び復号方法
CN113096673B (zh) 基于生成对抗网络的语音处理方法及系统
Lin et al. Efficient Micro-Structured Weight Unification and Pruning for Neural Network Compression
Merazka et al. Robust split vector quantization of LSP parameters at low bit rates
Vasilache et al. Indexing and entropy coding of lattice codevectors
EP2490217A1 (en) Encoding device, decoding device and methods therefor
Wernik et al. Lossless Audio Coding using Extended Activity Level Classification Model
WO2023066507A1 (en) An autoencoder for data compression

Legal Events

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