KR101577848B1 - 규칙적인 지점의 네트워크에서 벡터를 카운팅하는 방법 - Google Patents

규칙적인 지점의 네트워크에서 벡터를 카운팅하는 방법 Download PDF

Info

Publication number
KR101577848B1
KR101577848B1 KR1020107029941A KR20107029941A KR101577848B1 KR 101577848 B1 KR101577848 B1 KR 101577848B1 KR 1020107029941 A KR1020107029941 A KR 1020107029941A KR 20107029941 A KR20107029941 A KR 20107029941A KR 101577848 B1 KR101577848 B1 KR 101577848B1
Authority
KR
South Korea
Prior art keywords
vector
vectors
network
counting
function
Prior art date
Application number
KR1020107029941A
Other languages
English (en)
Other versions
KR20110033154A (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 KR20110033154A publication Critical patent/KR20110033154A/ko
Application granted granted Critical
Publication of KR101577848B1 publication Critical patent/KR101577848B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 차원이 d인 rp δ,d 과 동일하고, 좌표가 k보다 낮거나 같은 리더 벡터의 개수를 추정하는 방법에 관한 것이다. 상기 방법은 rp δ,d 가 1과 d 사이에서 변하는 i에 대한 함수 T(Xi)의 결과값의 합에 의해 결정되며, 상기 함수 T(Xi)는, 상기 리더 벡터들 중 적어도 일부에 대하여, δ의 정확도로 파워 p로 올려진 좌표 Xi의 분할의 결과를 제공하며, 상기 분할의 결과는 가장 가까운 정수로 반올림된다. 상기 방법은 리더 벡터를 결정하는 단계를 포함하지 않는다.

Description

규칙적인 지점의 네트워크에서 벡터를 카운팅하는 방법{METHOD FOR COUNTING VECTORS IN REGULAR POINT NETWORKS}
본 발명은 예컨대 디지털 데이터의 압축, 디지털 데이터의 검색, 디지털 데이터 또는 디지털 데이터의 압축 해제의 비교와 같은 응용분야에서 디지털 데이터를 처리하는 분야에 관한 것이다. 본 발명은 음성영상 데이터, 보다 일반적으로 임의의 타입의 디지털 데이터의 처리에 관한 것이다. 본 발명은 처리 시간을 줄이고, 전력 및 메모리 요구조건 둘 모두의 계산에 관한 컴퓨팅 리소스 요구조건을 줄이는 것을 목적으로 한다.
본원은 보다 구체적으로, 기술하기 위해 매우 큰 데이터를 요구하는 이미지를 처리하는 것에 관한 것이지만, 이에 제한되지는 않는다. 전송 시간 및 저장을 위해 요구되는 사이즈를 줄이기 위해, 홀로 코딩될 시각적인 정보를 추출함으로써 정보가 압축된다. 상기 코딩된 정보는 주파수 면에 있어서 최적의 방식으로 위치되어야 하며, 공간적으로는 코딩의 성능에 해로운 임의의 리던던시(redundancy)를방지하면서 최적의 반환을 가능하게 해야 한다. 이를 위해, 웨이브렛 변환(wavelet transfor) 기술을 사용하는 것이 알려져 있으며, 그 좌표는 벡터 네트워크를 구성하며, 상기 벡터 네트워크는 벡터 양자화(quantization) 단계로 진행된다.
벡터 양자화(VQ, vector quantization)의 원리는, 샘플 각각을 개별적으로 코딩하는 대신, 벡터를 형성하는 샘플의 시퀀스를 코딩하는 것이다. 코딩은 일반적으로 "코드북(codebook)"으로 알려진 형태의 카탈로그에 속하는 벡터에 의해 코딩될 시퀀스를 근사화(approximating)함으로써 달성된다. 코드북의 벡터 각각은 인덱싱(indexed)되어 있다. 코딩 도중, 코딩될 샘플의 시퀀스에 가장 인접한 벡터의 인덱스가 시퀀스를 나타내도록 사용될 것이다.
종래의 솔루션은, 벡터 각각을 결정하고, 메모리에 벡터를 기록하고, 그리고 나서 벡터들을 카운팅하기 위해 모든 벡터들에 대해 프로세싱을 실행하는 것을 요구한다. 벡터 베이스(vector base)는 베이스의 길이가 너무 길어서 수 기가바이트를 요구하고 컴퓨팅 시간을 요구한다.
국제출원 WO 9933185가 종래 기술로 알려져 있으며, 상기 특허는, 양자화된 벡터와 동일한 성분을 가지나 기결정된 순서로 기술되는 리더 벡터로 불리는 벡터를 결정하는 단계, 및 리더 벡터와 동일한 성분을 갖고 기결정된 방식으로 순서가 구성된 벡터의 형성된 세트 중 상기 양자화된 벡터의 레벨 또는 랭크를 결정하는 단계를 포함한다. 상기 방법은, 한 편으로는 상기 결정된 리더 벡터를 대표하는 인덱스로부터 코드를 형성하고, 다른 한 편으로는 상기 랭크로부터 형성하는 단계를 포함한다.
압축을 위한 대수적 백터 양자화기를 설계하는데 직면하는 주된 어려움은, 규칙적인 지점의 네트워크(regular point network)(양자화 사전을 구성함)에서 벡터를 카운팅하고 인덱싱하는 것이다. 본 발명자는 일반화된 가우시안 분포원(Gaussian distribution source)(예컨대, 웨이브릿 계수)에 대한 문제점을 해결하기 위한 솔루션을 제시한다.
본 발명은 이러한 단점을 해결하는 카운팅 및 인덱싱 방법을 제안하는 것을 목적으로 한다.
대수적 벡터 양자화(Algebraic vector quantization)
양자화는 수십 년 동안 연구되었으며, 그에 대한 연구 결과는 오늘날 잘 알려진 레이트/왜곡(rate/distortion) 이론으로 알려진 다수의 결과들로 발표되었다. 특히, 고정된 길이의 코딩이 요구되는 경우, 벡터 양자화(VQ)는 스칼라 양자화(scalar quantization, SQ)에 비해 매우 유리한 것으로 밝혀졌다. 또한, 새논(Shannon)에 의한 연구는, 양자화 벡터의 차수 n이 충분히 큰 경우에는, VQ의 성능이 최적의 이론적인 성능에 근접한 것으로 발표하였다.
그러나, VQ는 높은 복잡도의 컴퓨팅에 의해 이러한 최적의 성능에 근접할 수 있으며; 복잡도는 벡터의 차수에 대해 지수함수적으로 증가한다. 일반적으로, VQ는 소스(시퀀스 학습)을 대표하는 통계적인 데이터로부터 구축되는 비-구축 사전(non-structured dictionary)을 사용하여 수행된다. 이 경우, 사전의 사이즈로 인한 복잡도 및 저장 요건은 압축에 대한 분야에서 엄두도 못낼 정도로 높아질 수 있다. 또한, 주어진 시퀀스 학습에 대해 최적화되었더라도, 시퀀스 학습 밖의 이미지에 대해 열악한 성능을 갖는 사전의 강건함(robustness)에 대한 문제가 존재한다. 이러한 문제점을 극복하기 위한 일 해결책은, AVQ(Algebraic Vector Quantization) 또는 규칙적인 네트워크 지점 상의 벡터 양자화와 같은 n-차원으로 구조화된 VQ를 사용하는 것이다. 사전의 벡터가 구조화된 규칙적인 네트워크에 속하도록 강제됨에 따라, AVQ의 성능은 일반적으로 비-구조화된 VQ의 성능에 비해 열악해진다.
그러나, 대부분의 경우, 이러한 약간의 단점은, AVQ가 사전을 생성하거나 저장해야할 필요가 없고, 코딩 복잡도가 감소된다는 점에 의해 보상된다.
규칙적인 지점의 네트워크에 의한 양자화는 균일한 스칼라 양자화의 영장으로 보여질 수 있다. 비-구조화된 VQ에 대해서, 용어 AVQ가 벡터 양자화 또는 벡터 양자화기를 지정하는 나머지의 문서에서 사용될 것이다. AVQ는 벡터의 계수와 분할 및 형성에 대한 이득 간의 공간적인 종속성을 사용한다. 소스의 분포가 무엇이든 간에, AVQ는 SQ보다 항상 효과적이다.
Rn에서 규칙적인 지점의 네트워크는, 네트워크의 베이스를 구성하는 선형적으로 독립적인 벡터 ai의 세트의 가능한 모든 조합으로 구성되며 {y│y = u1a1 + u2a2 + ... unan}, 여기서, 계수 ui는 정수이다. 공간의 분할은 규칙적이며, 오직 선택된 베이스 벡터에만 의존한다. 각각의 베이스는 서로 다른 규칙적인 지점의 네트워크를 정의한다. AVQ는, 일반적인 로이드(Lloyd) 알고리즘을 기반으로 한 알고리즘에 의해 설계된 VQ에 비해, 컴퓨팅 및 저장 비용을 상당히 감소시킬 수 있다. 이는, 규칙적인 네트워크의 벡터를 양자화 값으로 사용하는 것이 사전을 구축하지 않도록 하며, 사전은 선택된 네트워크의 구조를 통해 암시적으로 구성된다. Conway 및 Sloane의 논문 "Fast quantizing and decoding algorithm for quantizers and codes"이 IEEE Trans에서 발간되었다. 1982년 3월에 발간된 Information Theory, vol. 28, n°2, 페이지 227 내지 232는, 단순히 카운팅 동작을 사용하고 오직 벡터의 차원 n에 의존하는 신속 양자화 알고리즘을 기술한다. 1979년에 Gersho는, 점근적인 경우(즉, 높은 비율에서), AVQ의 레이트/왜곡 성능은 거의 최적화된다는 추측이 제기되었다. 그러나, 비록 AVQ가 낮은 레이트에 대해 수학적으로 최적이지 않더라도, 이러한 양자화기에 의한 복잡도의 감소는 많은 차원의 벡터를 사용가능하게 하며, 이는 주어진 레이트에 대하여 보다 나은 실험적인 성능을 얻게 한다. 우수한 레이트/왜곡 성능은 AVQ를 엔트로피 코더와 결합함으로써 얻을 수 있으며, 엔트로피 코더는 웨이브렛 분야에서 AVQ에 대해 다수의 연구를 시도하게 하였다. VQ에 대한 많은 이론적인 연구가 가우시안 및 라플라시안 소스에 대해 수행되었으나, 1 미만의 감소하는 파라미터를 구비하는 일반화된 가우시안 타입의 소스의 경우, 삼차원 네트워크 Zn이 비율/왜곡에 있어서 네트워크 E8 및 리치(Leech) 네트워크보다 더 우수함이 밝혀졌다. 이러한 결과는 우리의 연구가 AVQ를 웨이브렛 변환과 결합시키도록 한다.
본 발명에 의해 해결되는 문제점
AVQ에 의한 양자화가 복잡하지 않더라도, 사전의 규칙적인 기하학적인 구조로 인해, 그 구현은 즉각적으로 구현되지 못한다. 비-점근적인(non-asymptotic) 모델의 경우, 가변-길이 코딩(variable-length coding) 및 무한 사전(infinite dictionary)을 사용하는 것으로 가정하므로, 부하 노이즈가 무시된다. 사실, 이는 몇 개의 구체적인 의문점을 제기하며, 특히 컴퓨팅 및 저장에 대하여 의문점을 제기한다. 두 개의 기본적인 문제점이 AVQ의 설계에 제시될 수 있다:
a) 인덱싱(indexing): 인덱싱은 양자화에 독립적인 동작이다. 이는, 코딩되는 경우 디코더의 채널을 통해 전송되는 인덱스를 각각의 양자화된 벡터에 할당하는 단계로 구성된다.
이 동작은 압축 체인에 있어서 기본적이다. 사실, 이 동작은 비트 레이트를 결정하고, 모호하지 않게 벡터가 디코딩되도록 한다. 현재 알려진 방법은 일반적으로 메모리 면에서 매우 값비싸지만, 크지 않은 컴퓨팅 복잡도(반복적인 알고리즘)를 갖거나 특정 경우(특정 타입의 네트워크 또는 트렁케이션(trunctaion))에 대해서만 기능을 갖는다. 본 발명은 일반화된 가우시안 타입의 분포에 대해 인덱싱을 가능하게 하는 보다 일반적인 접근방법에 관한 것이며, 메모리 비용과 컴퓨팅 비용 간에 적절한 절충을 제공한다. 제 1 실시예는 상기 문제점에 대한 해결책을 제안한다.
b) 카운팅(counting): 인덱싱 방법은 일반적으로 네트워크 파퓰레이션(network population)에 대한 지식을 기반으로 한다. 따라서, 소스 분포에 의존하는 n-차원 표면(또는 n-차원 공간)에서의 네트워크 내 벡터를 카운팅할 수 있어야 한다. 종래의 카운팅 접근방법은 시리즈(series) 생성의 사용을 기반으로 한다. 이러한 형식으로, 함수 Nu가 도입된다. 상기 함수는 피라미드(pyramids), 즉 라플라시안 분포의 경우 카운팅을 할 수 있게 한다.
본 발명은 보다 구체적으로 일반화된 가우시안 타입의 분포에 대해 카운팅하는 단계에 관한 것으로, 메모리 비용과 컴퓨팅 비용 간의 적절한 타협을 달성한다. 제 2 실시예는 이러한 문제점에 대한 해결책을 제안한다. 본 발명은 주로 이미지 또는 비디오 압축 분야에서의 카운팅, 인덱싱 및 AVQ의 구현에 관한 것이다. 이와 같은 두 가지 접근 방법의 사용과 AVQ의 사용은 오디오 신호(음성, 스피치, 음악)의 압축에 대해서도 완벽하게 유효하다.
이를 위해, 본 발명은 d 차원의 rp δ,d와 동일한 놈(norm) lp의 리더 벡터의 개수를 추정하는 방법에 관한 것으로, rp δ,d의 좌표는 k보다 낮거나 같으며, rp δ,d은 1과 d 사이에서 변하는 i에 대한 함수 T(xi)의 결과값의 합에 의해 결정되고, 상기 함수 는 상기 리더 벡터 중 적어도 일부에 대하여, 델타 정밀도 팩터(delta precision factor)에 의해 파워 p로 올려진 좌표 xi의 분할의 결과를 제공하며, 상기 분할의 결과는 가장 가까운 정수로 반올림되고, 상기 방법은 리더 벡터를 결정하는 단계를 포함하지 않는다.
바람직하게, d와 1 사이의 n 값에 대하여, 함수
Figure 112010088115761-pct00001
의 결과의 합이 수행되고, 최소값인 umin(r,n)과 k 사이에서 변하는 u에 대하여, 상기 함수
Figure 112010088115761-pct00002
는 n 차원의 놈 rp δ,d = r의 리더벡터의 양을 제공하고, rp δ,d의 좌표는 k 보다 낮거나 같으며, 상기 함수 umin은 r/n보다 크거나 같은 T(u)를 만족시키는 가장 작은 정수값 u를 제공한다.
유리하게, 사전 초기화 단계(prior initialisation step)가 수행되고, 상기 사전 초기화 단계는, n=1에 대하여, T(u)=r이 되는, k보다 작거나 같은 u의 많은 가능한 값들에 대응하는 값을 함수
Figure 112010088115761-pct00003
로 어트리뷰팅하는(attributing) 단계 및 상기 합산 단계로 구성된다.
또한 본 발명은 데이터 압축에 따른 레이트를 추정하고, 리더 벡터를 인덱싱하는 추정 방법에 관련된다.
본 발명은 첨부된 도면을 참조하여 비-제한적인 예시적인 실시예에 의해 보다 제대로 이해될 것이다.
도 1은 네트워크 Z2에 대한 rp δ,2 = 15, p = 0.4 및 δ = 0.3인 엔벌로프(envelope)의 예를 도시한다.
도 2는 일반적인 방법과 p = 1, δ = 1 및 B = 4에 대하여 제안된 방법 간에 메모리 요구조건을 비교한 도면이다.
네트워크 벡터의 인덱싱은 네트워크 양자화 분야의 본질적인 문제점이다. 본 발명은 네트워크 리더 벡터 및 분할 이론을 사용하여 이러한 문제점에 대한 해결책을 제시한다. 본 발명은 일반화된 가우시안 분포 소스에 대하여 기능하고, 프로덕트 코드(product codes)의 사용을 가능하게 한다. 또한, 본 발명은 고차원의 벡터를 카운팅할 수 있도록 한다.
벡터 양자화(VQ)는, 벡터의 차원이 임의적으로 높은 경우, 최적의 이론적인 성능을 달성할 수 있도록 한다. 불행하게도, 최적의 비-구조화된 VQ, 예컨대 LBG의 컴퓨팅 복잡도는 차원에 대해 지수함수적으로 증가한다. 또한, 요구되는 저장도 매우 커질 수 있다. 이러한 차원화의 문제점에 대한 일 해결책은 네트워크 벡터 양자화(LVQ)와 같은 제한된 VQ를 사용하는 것이다.
LVQ 접근방법은 구조화된 사전의 설계로 유도하며, 구조화된 사전의 코드 벡터는 공간 내에 규칙적으로 분포된다. 결과적으로, 공간 내 벡터의 위치를 최적화하는 대신, 벡터의 분포 형태에 따라 네트워크 벡터를 인덱싱함으로써 소스를 조정하는 것이 가능해진다. 가장 현실적인 데이터 소스의 경우, 프로덕트 코드를 사용함으로써 효과적으로 수행되어, 대칭적인 단봉형(unimodal) 소스 분포에 대한 최적의 레이트/왜곡 절충안을 유도할 수 있다.
실제로, 이러한 분포는, 소스 분포에 따라 동일한 형태를 갖는 동심원의 초곡면(hypersurfaces)의 세트로 해석될 수 있다. 그리고 나서, 각각의 면의 놈(반경)에 대응하는 제 1 인덱스(프리픽스(prefix) 및 동일한 면에 속하는 벡터의 카운팅에 대응하는 제 2 단일 인덱스(서픽스(suffix))를 할당함으로써, 네트워크 코드 워드를 인덱싱하는 것이 가능하다.
많은 중요한 데이터 소스, 예컨대 서브-밴드 스피치 및 이미지 계수, 특히 웨이브릿 변환에 의해 획득된 데이터 소스는, 일반화된 가우시안 분포에 의해 모델링될 수 있다. 이러한 분포의 패밀리는 일도량의(univariate) 확률적인 변수에 대한 고유의 형태 인자 p (GG(p))에 의해 파라미터화된다. 분포 (GG(p))를 갖는 소스의 흥미로운 특성은, 놈 lp의 엔벌로프가 일정한 확률면(probability surfaces)에 대응하는 점이다. 이는 효율적인 프로덕트 코드의 개발을 유도한다.
프리픽스의 계산이 사소하더라도, 서픽스는 주어진 초곡면 상에 위치하는 네트워크 벡터의 카운팅 및 인덱싱을 요구한다. 또한, 공간의 차원의 증가는 인덱싱 및 카운팅 동작을 매우 복잡하게 만들 수 있으며, 이는 주어진 초피라미드(hyperpyramid)의 리더의 개수와, 네트워크 Zn 및 서로 다른 차원과 놈 값에 대하여 놈 l1의 경우 상기 초피라미드(기수(cardinality))에 위치하는 네트워크 벡터의 전체 개수를 비교하는 표 1에 설명된 바와 같이, 엔벌로프에 위치하는 벡터의 개수가 놈에 따라 크게 증가하기 때문이다.
차원 리더의 개수 기수(cardinality)
3 10
400
1000
13
884
83834
402
640002
4000002
9 10
172
1842
41
1.37×108
9.98×1015
1854882
9.74×1015
1.68×1024
18 10
29
450
42
4426
9.89×1015
317222212
8.42×1015
9.39×1015
60 5
11
303
7
56
9.88×1015
207648024
1.90×1015
9.50×1034
120 4
9
301
5
30
9.92×1015
138259200
7.30×1015
9.50×1034
240 3
7
301
3
15
9.93×1015
18432460
1.17×1015
1.68×10203
본 명세서에서, 서픽스의 인덱싱은 일반적으로 두 개의 서로 다른 기술에 따라 수행된다.
제 1 접근방법은 주어진 초곡면(기수)에 위치하는 벡터의 총 개수를 고려하는 인덱스를 사용한다. 다른 접근방법은 리더의 개념을 사용하여 네트워크의 대칭성을 이용한다. 놈 lp의 엔벌로프의 리더는, 대응하는 엔벌로프에 위치하는 다른 모든 네트워크 벡터가 치환(permutations)에 의해 획득될 수 있고 벡터의 좌표의 부호를 변경하는 네트워크 백터들에 대응한다. 이러한 두 개의 접근방법들은 등방성의 소스에 대하여 유사한 레이트/왜곡 성능을 갖는 경향이 있다.
그러나, 네트워크 인덱싱에 대한 대부분의 연구는 오직 라플라시안 또는 가우시안 분포에 대한 해결책만을 제시하며, 상기 분포는 형상 파라미터 p = 1, p = 2인 GG(p)의 특정한 경우이다. 일부 사람들은 p = 0.5인 특정한 경우에 대한 해결책을 제시한다. 그러나, 이러한 카운팅 방법은 프로덕트 코드가 구조화될 수 있도록 하지 않으며, 실제로 인덱싱 방법은 매우 복잡하며, 특히 높은 차원과 놈에서의 p ≠ 0.5, 1 또는 2인 경우에 매우 복잡하다.
본 발명은 리더 타입의 인덱싱 방법을 위하여 0 < p ≤ 2인 경우 엔벌로프 GG(p)에 위치하는 네트워크 벡터 Zn의 카운팅에 대한 신규한 대안을 제시하고, 분할 이론(theoryof partitions)을 사용한다. 분할 이론의 사용은 리더를 생성하고 인덱싱하기 위한 복잡도 및 저장 요건을 극복할 수 있도록 한다. 본 발명은, 리더의 인덱싱 및 다른 것들 중 레이트의 추정에 대한 응용분야에 대하여 반경 r, 차원 d 및 가장 강한 좌표 k의 엔벌로프 상의 리더의 개수를 카운팅하는 경제적인 카운팅 알고리즘을 제안한다.
이어지는 발명의 상세한 설명에서, 제 1 부분은 LVQ의 원리를 제시하고, 인덱싱/카운팅의 문제점을 기술한다. 제 2 부분은 형상 파라미터 p가 무엇이든 간에 매우 큰 사이즈의 LVQ 코드북을 카운팅하는 효과적인 해결책을 제안한다. 그 다음으로, 본 명세서는 제안된 접근방법의 메모리에 관한 비용을 기술한다.
2. 네트워크 벡터의 인덱싱
2.1 네트워크의 정의
Rn 내의 네트워크 Λ는, 선형적으로 독립적인 벡터 ai(네트워크의 베이스)의 세트의 임의의 완전한 조합으로 구성된다. 네트워크는 다음과 같이 표현된다:
Figure 112010088115761-pct00004
여기서, ui는 정수이다. 따라서, 공간의 분할은 규칙적이고, 오직 선택된 베이스 벡터 ai ∈ Rm (m≥n)에만 의존한다. 베이스 벡터의 각각의 세트는 서로 다른 네트워크를 정의한다.
네트워크의 각각의 벡터 ν는 일정한 놈 lp를 갖는 벡터를 포함하는 초곡면의 표면에 속하는 것으로 고려되며, 놈 lp는 다음과 같이 주어진다:
Figure 112010088115761-pct00005
그리고 나서, 프로덕트 코드를 사용하여 주어진 네트워크 벡터를 코딩하는 것이 가능하다. 소스 벡터의 분포가 라플라시안인 경우, 적절한 프로덕트 코드는 벡터의 놈 l1에 대응하는 프리픽스 및 반경이 놈 l1과 동일한 초피라미드 상의 벡터의 위치에 대응하는 서픽스로 구성된다. 일정한 놈 l1의 초곡면은 초피라미드로 불린다. 초곡면 상의 벡터의 위치는 카운팅 알고리즘을 사용하여 획득될 수 있다. 이러한 프로덕트 코드는 디코딩에 대한 고유성(uniqueness)을 보장한다.
형상 파라미터가 1 이하인 일반화된 가우시안 분포를 갖는 소스의 경우, D4, E8 또는 리치 네트워크 상의 큐빅 Zn 네트워크의 우월함(superiority)은 [12]에 기술된다. 결과적으로, 이하에서는 큐빅 Zn 네트워크를 기반으로 한 LVQ의 설계에 초점이 맞춰진다.
2.2 전체 카운팅을 기반으로 한 인덱싱
종래에는, 가우시안 또는 라플라시안 분포와 전체 카운팅(total counting)의 원리를 기반으로 한 서로 다른 네트워크에 대하여 다수의 카운팅 솔루션이 알려져 있다. 놈 l1의 초피라미드에 위치하는 네트워크 벡터의 총 개수를 카운팅하는 반복형 공식은 특히 라플라시안 소스 분포와 네트워크 Zn의 경우에 알려져 있다. 상기 카운팅 공식은 형상 팩터 p가 0 내지 2인 일반화된 가우시안 소스 분포까지 확장되었따. 이러한 솔루션은 주어진 트렁케이션 놈(truncation norm) lp 내에 위치하는 벡터의 개수를 결정할 수 있도록 하지만, 상기 해결책은 네트워크 Zn의 벡터에 실제 인덱스를 할당하는 알고리즘을 제안하지는 않는다. 또한, 상기 해결책은 주어진 초곡면에 위치하는 벡터의 개수를 결정하지 않으며, 이는 프로덕트 코드를 사용하기 어렵게 한다.
종래의 연구에서 제안된 알고리즘은 0 < p ≤ 2에 대한 프로덕트 코드 구조에 따라 벡터를 인덱싱한다. 이는 일반화된 세타 시리즈 [4]를 기반으로 하며, 네트워크의 기하학적인 구조를 사용한다. p = 1 또는 2인 경우, 상기 시리즈의 개발은 상대적으로 단순하다. 그러나, 다른 값의 p인 경우에는 상기 시리즈의 개발은 매우 복잡해지며, 이는 닫힌 형상(closed shape)이 생성되지 않고 형식적인 수학이 사용되지 않기 때문이다. 제안된 해결책에 의하면, 다양한 차원 및 높은 차원에 대한 각각의 가능한 놈 값을 결정하는 것이 요구되며, 상기 놈 값은 유한한 시간에서 달성하기 어려운 경향을 갖는다.
또한, 초곡면의 기수는 실제 구현, 특히 높은 차원의 경우 다루기 힘든 값에 급격하게 도달할 수 있으며(아래의 표 참조), 엔벌로프의 기수를 기반으로 하는 인덱싱 기술은 컴퓨팅 정확도를 급격하게 초과할 수 있다.
2.3 리더를 기반으로 하는 인덱싱
리더를 기반으로 하는 방법은 네트워크의 대칭성을 이용한다. 상기 방법은 일정한 놈 엔벌로프에 대한 효과적인 인덱싱 알고리즘을 사용하고, 인덱스는 네트워크의 벡터의 총 개수를 기반으로 하지 않고, 리더로 불리는 적은 수의 벡터를 기반으로 한다. 네트워크의 서로 다른 대칭성은 개별적으로 처리되며, 전체 카운팅 기술과 비교하여, 대칭성이 전부 제시되지 않은 경우 소스를 인덱싱하는 보다 효율적인 방법을 구성한다. 또한, 코딩 알고리즘에 의해 관리되는 인덱스는 엔벌로프의 기수보다 훨씬 작으며, 주어진 이진적인(binary) 정확성에 대한 전체 카운팅을 기반으로 하는 방법에 의해 인덱싱될 수 없는 벡터를 인덱싱할 수 있다.
프로덕트 코드 구조에서, 네트워크의 대칭성과 분리하여, 서픽스 인덱스는 초곡면의 다른 모든 벡터가 할당될 수 있는 적은 수의 벡터(리더)의 인덱스를 포함한다. 네트워크 Zn의 경우, 대칭성은 다음과 같은 두 가지 기본 동작에 대응한다: 부호의 변경과 벡터 좌표의 치환. 제 1 동작은 벡터가 위치하는 8분 공간(octant)의 변경에 대응한다. 예를 들어, 2 차원의 벡터 (7, -3)는 사 사분면에 위치하며, 벡터 (-7, -3)는 삼 사분면에 위치한다. 이러한 벡터는 y 축에 대하여 대칭적이다. 제 2 동작은, 예를 들어 벡터 (-7, 3)과 (-3, 7)이 이 사분면에 위치하고 사분면의 이등분선에 대하여 대칭적인 경우, 인트라-옥턴트(intra-octant)에 대응한다. 이 경우, 이러한 모든 벡터는 벡터 (3, 7)의 치환 및 부호 변경으로 생성될 수 있음이 관찰될 수 있으며, 상기 벡터 (3, 7)은 이러한 모든 벡터들의 리더이다. 이러한 레이셔는 초곡면의 차원과 함께 급격하게 증가한다. (표 1 참조)
결과적으로, 초곡면 상의 모든 벡터들을 직접적으로 인덱싱하는 대신, 상기와 같은 인덱싱 방법은 각각의 벡터로 다음과 같은 세 가지 인덱스들의 세트를 할당한다: 하나는 그 리더에 대응하고, 다른 둘은 리더의 치환과 부호의 변경에 대응됨. 치환 및 부호 인덱스를 계산하는 방법에 대한 보다 상세한 설명은 1' [5]를 참조한다.
3. 제안된 카운팅 방법
본 발명은 리더를 카운팅하기 위한 해결책을 제시한다. 이러한 카운팅 알고리즘의 사용을 보다 제대로 이해하기 위해, 리더를 인덱싱하기 위해 사용되는 비-제한적인 예가 이하에 기술된다. 우선, 놈 l에 대한 인덱싱을 기술하고, 두 번째로 놈 lp에 대한 보다 일반적인 경우에 대한 예를 제시한다.
다음으로, 섹션 3.3에서는 본 발명에 대해 상세하게 설명할 것이다.
3.1 놈 l1에 대한 리더의 인덱싱
3.1.1 이론
제안된 카운팅 알고리즘이 적용되는 리더를 인덱싱하는 방법은, 사전식 배열의 역순(reverse lexicographical order)으로 모든 리더를 분류하는 것을 기반으로 하고, 인덱싱될 리더에 선행하는 리더의 개수에 따른 인덱스를 어트리뷰팅한다. 이 경우, 인덱싱은 더 이상 많은 리소스를 소모하고 직접적으로 어드레싱하는 검색 알고리즘을 기반으로 하지 않으며, 리더 각각에 대한 명백한 지식보다는 리더의 수량에만 의존하는 저 비용의 카운팅 알고리즘을 기반으로 하며, 이는 변환 테이블의 구조화를 방지할 수 있다.
반경 r의 초피라미드는 모든 벡터 V = (v1, v2, ... , vd)로 구성되어, ∥v∥1 = r이 된다. 전술한 바와 같이, 리더는 치환 및 부호의 변경이 상기 초곡면에 위치하는 다른 모든 벡터를 유도하는 초 곡면의 근본적인 벡터이다. 실제로, 리더는 오름차순(또는 내림차순)으로 분류되는 양의 값의 좌표를 갖는 벡터이다. 결과적으로, 놈 l1에 대한 리더는 r과 동일하고, 차원 d는 다음과 같은 조건을 만족하는 벡터이다:
1:
Figure 112010088115761-pct00006
2: 0 ≤ vi ≤ vi, 여기서 i < j이고 i, j ∈ [1, d]임.
3.1.2 분할 이론과의 연결
놈 l1의 경우, 섹션 3.1.1에 제시되는 조건은 숫자 이론(theory of nubmers)의 분할 이론에 관련된다. 실제로, 숫자 이론에서, 양의 정수 r의 분할은 r을 d의 양의 정수(부분(part)으로도 불림)의 합으로 기록하는 방법이다. r의 구별되는 분할의 개수(순서에 독립적임)는 분할 함수 P(r)에 의해 주어져, 다음과 같이 얻어질 수 있다:
Figure 112010088115761-pct00007
이는 상호적인 오일러 함수에 대응하며, 또한 시리즈 q [10, 16, 17]로도 언급된다. 추가적인 수학적 개발은 계산을 가속화시킬 수 있는 함수 P(r)의 대표값을 얻게 한다.
예를 들어, r = 5의 경우, 수학식 2에 의해 P(5) = 7이 계산된다. 실제로, 숫자 5의 모든 가능한 분할들은 (5), (1, 4), (2, 3), (1, 1, 3), (1, 2, 2), (1, 1, 1, 2) 및 (1, 1, 1, 1, 1)이다. 이러한 분할들을 5차원의 벡터, 예컨대 (0, 0, 0, 0, 5), (0, 0, 0, 1, 4), (0, 0, 0, 2, 3), (0, 0, 1, 1, 3), (0, 0, 1, 2, 2), (0, 1, 1, 1, 2) 및 (1, 1, 1, 1, 1)로 다시 기술함으로써, 상기 벡터들은 섹션 3.1.1의 조건을 만족시키는 놈 r = 5과 d = 5인 초피라미드의 리더에 정확히 대응하는 것을 발견할 수 있다.
그러나, 일반적으로 r ≠ d인 d 차원의 네트워크에서 r과 동일한 놈 l1의 엔벌로프가 고려된다. 이 경우, d 부분들 이상을 구비하지 않는 r의 분할의 개수를 계산하는 함수 q(r, d) [10, 18]을 사용하는 것이 가능하다(분할 이론에서, 이는 임의의 숫자를 갖는 부분들을 구비하지 않은 d보다 큰 임의의 원소를 포함하지 않은 r의 분할의 개수를 계산하는 것과 균등하다). 결과적으로, 놈 r = 5와 차원 d = 3인 초피라미드의 경우, q(5, 3) = 5이며, 즉, 다섯 개의 리더 (0, 0, 5), (0, 1, 4), (0, 2, 3), (1, 1, 3) 및 (1, 2, 2)가 주어진다.
함수 q(r,d)는 다음과 같은 반복적인 수학식으로부터 계산될 수 있다:
Figure 112010088115761-pct00008
여기서, d ≥ r에서는 q(r, d) = P(r)이며, q(1, d) = 1이고 q(r, 0) = 0이다.
3.1.3 리더의 인덱싱을 위한 함수 q(r, d)의 사용
후술하는 바와 같이, 수학식 3은 주어진 초피라미드에 위치하는 리더의 전체 개수를 계산할 뿐만 아니라, 변환 테이블을 필요로 하지 않으면서, 리더에 대한 플라이(fly) 고유 인덱스를 이용하도록 사용된다. 인덱싱 알고리즘의 이론을 설명하기 위해, 주어진 초피라미드의 리더는 아래와 같이 사전식 배열의 역순으로 분류됨을 가정한다:
인덱스 값 리더
0 (0, ..., 0, 0, rn)
1 (0, ..., 1) 0, 1, rn - 1)
2 (0, ... , 2) 0, 2, rn - 2)
3 (0, ..., 2) 1, 1, rn - 2)
... ...
따라서, 리더 l의 인덱스는 상기 리더에 선행하는 리더의 개수에 대응한다. 전술된 예에서, 리더(0, ..., 1, 1, rn - 2)는 인덱스 3으로 할당되어야 한다.
수학적인 명제 1은 리더의 인덱싱을 위한 방법을 기술한다:
명제 1: v = (v1, v2, ..., vn)이 일정한 놈 l1의 엔벌로프에 위치하는 리더 l = (x1, x2, ..., x)를 갖는 네트워크 벡터 Zn이라고 한다. 리더의 인덱스 I1은 다음과 같이 주어진다:
Figure 112010088115761-pct00009
xn -(j+1) ≠ 0임.
여기서,
Figure 112010088115761-pct00010
는 k 보다 작거나 같은 d 부분보다 더 구비하지 않는 r의 분할의 개수를 계산하며,
Figure 112010088115761-pct00011
이고, xn +1 = +∞이다.
증명: 차원이 n이고 놈이 l1인 리더 l = (x1, x2, ..., xn)와 인덱스되어야 할
Figure 112010088115761-pct00012
을 고려해본다. 리더가 사전식 배열의 역순으로 분류되기 때문에, ㅣ 전에 배치되는 제 1 그룹의 리더는, n 번째 성분이 엄격하게 xn보다 큰 모든 리더들로 구성되며, 즉 모든 리더는 xn + 1 ≤ gn ≤ rn을 만족하는 가장 높은 좌표 gn를 갖는다.
리더들을 나열하지 않고 제 1 그룹 내의 리더의 개수를 카운팅하기 위해, 분할 함수인 q(r, d)를 사용한다. 실제로, n 번째 좌표가 gn과 동일한 리더의 개수는 다음과 같은 내용을 사용하여 용이하게 계산될 수 있다:
내용: 가장 큰 좌표가 gn과 동일한, 놈이 rn이고 차원이 n인 리더의 개수의 계산은, gn보다 큰 임의의 부분을 구비하지 않고 n - 1 개 이상의 부분들을 구비하지 않는 숫자 rn - gn의 분할의 개수를 계산한다.
대부분의 경우, q(rn - gn , n - 1)을 적용시킴으로써 분할의 개수를 카운팅할 수 있다. 그러나, 이러한 접근방법은 오직 rn - gn ≤ gn인 경우에만 유효하며, 이 경우는 rn - gn의 모든 분할들이 gn보다 큰 부분을 갖지 않음이 가정된 경우이다. 그러나, 보다 일반적인 경우에서는 rn - gn < gn이 보장되지 않으며(예를 들어, 가장 큰 부분이 7과 동일하고, 놈 rn = 20이고 차원 n = 5인 리더의 개수는 q(20-7, 5-1) = q(13, 4)를 유도할 것이며, 여기서
Figure 112010088115761-pct00013
임), q(rn - gn , n - 1)은 유효한 리더의 잘못된 개수를 유도할 것이며, 이는 rn - gn 의 일부 분할이 gn보다 우수한 가장 큰 부분을 가져 섹션 3.1.1의 두 번째 조건을 만족하지 않을 것이기 때문이다.
이러한 경우, 분할의 개수의 계산에 다음과 같은 제 2 제한을 적용해야 한다: 가장 큰 부분의 값. 그리고 나서, 함수
Figure 112010088115761-pct00014
에 의해 주어지는 q(r, d)의 일반화가 도입되며, 상기 함수는 k 보다 큰 임의의 부분은 갖지 않고, d 부분 이상을 갖지 않은 주어진 수 r에 대한 분할의 개수를 계산한다.
Figure 112010088115761-pct00015
의 계산은 본 발명에 제시되는 카운팅 알고리즘에 의해 수행된다.
결과적으로,
Figure 112010088115761-pct00016
를 적용함으로써 유효한 리더의 정확한 개수를 계산할 수 있다. 따라서, gn이 xn + 1에서 rn으로 변하는 것은, 가장 큰 좌표가 엄격하게 xn보다 큰 리더의 개수를 결정할 수 있도록 하며, 리더의 개수는 다음과 같다:
Figure 112010088115761-pct00017
여기서,
Figure 112010088115761-pct00018
이고,
Figure 112010088115761-pct00019
이고,
Figure 112010088115761-pct00020
이다. 이 경우, 숫자 이론에 사용되는 전반적인 기호법을 사용하며, 여기서 Z+는 모든 양의 정수를 나타내어 {i ∈ Z │i > 0}이고, Z*는 모든 음수가 아닌 정수를 나타내어 {i ∈ Z │i ≥ 0}이다.
l에 선행하는 제 2 그룹의 리더는, n 번째 좌표가 Xn과 동일하지만 (n - 1) 번째 좌표는 엄격하게 xn -1보다 큰 모든 리더로 구성된다. 이러한 리더의 개수를 카운팅하기 위해, 전술한 동일한 내용을 사용할 수 있으나, 이 번에는 n - 1 차원에 적용시킨다. 그리고 나서, gn -1을 xn -1 + 1에서 min(xn, rn -1)로 변화시킴으로써
Figure 112010088115761-pct00021
또는
Figure 112010088115761-pct00022
을 사용하여, 가장 큰 성분 gn은 xn이고 두 번째로 큰 성분 gn -1은 Xn -1보다 큰 리더의 개수를 계산한다. 최소 함수(min function)는 놈 rn 및 gn -1 ≤ gn = Xn이 만족되는 것을 보장한다.
추가적인 차원에서의 결과를 기다리는 도중, l에 선행하지만 가장 높은 좌표가 xn과 동일한 리더의 개수는 다음과 같이 얻어질 수 있다:
Figure 112010088115761-pct00023
xn -(j+1) ≠ 0임.
수학식 5 및 6의 조합은 l 전에 위치하는 리더의 전체 개수를 계산하는 일반적인 공식을 유도하며, 따라서, l의 인덱스 I1(수학식 4)은 다음과 같다:
Figure 112010088115761-pct00024
xn -(j+1) ≠ 0임.
여기서, j = 0인 경우 xn +1 = +∞이다.
3.2. 놈 lp의 경우에 대한 일반화
0 < p < 2에서, 일정한 놈 lp의 엔벌로프에 위치하는 벡터 v = (v1, v2, ..., vn)의 리더 l = (x1, x2, ..., xn)의 인덱스를 계산하기 위해, l1의 경우와 동일한 원리가 적용된다. 리더는 사전식 배열의 역순으로 나열되고, 인덱스는 동일한 카운팅 접근방법을 사용하여 어트리뷰팅된다. 결과적으로, 수학식 4의 구조가 적절하며, 함수
Figure 112010088115761-pct00025
를 사용한 i 에 대한 합계는 주어진 좌표에 따른 리더의 개수를 계산하고, j 에 대한 합계는 차원 상에서 반복을 허용한다.
그러나,
Figure 112010088115761-pct00026
의 사용은 내재적으로, 놈 r의 합계 xp i가 정수이고, [0, r]의 범위에서 임의의 정수일 수 있음을 의미한다. 이는 p = 1의 경우 명백히 유효하며, 합계는 네트워크를 좌표화하는 양의 정수이다. 다른 한편으로는, p ≠ 1이 아닌 경우에는, 합계 xp i가 반드시 정수일 필요는 없거나, 범위 [0, r] 내의 임의의 정수이지 않을 수도 있다(예를 들어, p = 2인 경우, 합계는 정수이지만, 제곱수임).
이와 같은 문제점은, 정확도 δ로 xp i를 가장 가까운 정수로 반올림함으로써 해결할 수 있다. 유사한 기술이 [7, 9]에서 사용되었다. 이러한 동작은 모든 정수
Figure 112010088115761-pct00027
로 구성된 정수
Figure 112010088115761-pct00028
의 새로운 서브셋을 도입하며, 여기서
Figure 112010088115761-pct00029
이고, []는 가장 가까운 정수이고 xi ∈ Z+이다.
그리고 나서, 벡터의 놈 lp는 정확도 δ로 알려지고, 다음과 같이 획득된다:
Figure 112010088115761-pct00030
여기서, 정확도 δ는 일정한 놈 rp δ,n의 엔벌로프의 폭을 정의하고, 값이 증가할수록 보다 많은 벡터를 포함한다(도 2 참조).
도 1은 네트워크 Z2의 경우 rp δ,2 = 15, p = 0.4, δ = 0.3인 엔벌로프의 예이다.
결과적으로, 일정한 놈 lp의 벡터의 리더 인덱스의 계산은, 오직 서브셋
Figure 112010088115761-pct00031
에 속하는 정수인 분할의 정확한 개수의 계산에 대응한다. 수학적인 명제 2는 lp에 대한 인덱싱 알고리즘을 기술한다.
명제 2: v = (v1, v2, ..., vn)이, 일정한 놈 lp의 엔벌로프에 위치하는 리더 l = (x1, x2, m, xn)을 구비하는 네트워크 벡터 Zn인 것으로 가정한다. 그 리더 인덱스 Il은 다음과 같이 주어진다:
Figure 112010088115761-pct00032
xn -(j+1) ≠ 0임.
여기서,
Figure 112010088115761-pct00033
는,
Figure 112010088115761-pct00034
이고 xn +1 = +∞이며, k(k ∈ Z*)보다 작거나 같은 d 부분 이상을 구비하지 않는 r(r ∈
Figure 112010088115761-pct00035
)의 분할의 개수를 계산한다. f(a)는 최대값 i(i ∈ Z*)를 제공하여, a ∈
Figure 112010088115761-pct00036
이고 t(i) = ip/δ인 경우 t(i) ≤ a가 된다.
증명: 차원이 n이고 놈이 lp인 리더 l = (x1, x2, ..., xn)과 인덱싱되어야 할
Figure 112010088115761-pct00037
를 고려한다. 전술한 바와 같이, 수학식 4와 동일한 이론이 사용된다. 그러나, 함수
Figure 112010088115761-pct00038
는 더 이상 적용가능하지 않으며, 이는 p ≠ 1인 놈 lp의 합이 항상 정수인 것은 아니기 때문이다.
정확도 δ로 xp i를 가장 가까운 정수로 반올림하는 것은, 수학식 7에 정의된 바와 같이, 양의 정수 값
Figure 112010088115761-pct00039
의 합으로부터 정수 놈 rp δ,n을 획득할 수 있도록 한다. 결과적으로, 정확도 δ로 p ≠ 1의 엔벌로프에 위치하는 리더 l의 인덱스는, rp δ,n = r을 기록하는 서로 다른 방식의 개수를 카운팅함으로써
Figure 112010088115761-pct00040
의 합으로 계산될 수 있으며, 여기서,
Figure 112010088115761-pct00041
는 t로 정의되는 함수 t의 이미지 전체이며, Z*
Figure 112010088115761-pct00042
로 매칭되어 xi
Figure 112010088115761-pct00043
로 매칭시키며, 여기서 t(xi) =
Figure 112010088115761-pct00044
이다.
여기서 p 와 δ의 값에 의존하여, 함수 t는 비-주입식(non-injective) 함수를 나타낼 수 있으며, Z*의 서로 다른 값은
Figure 112010088115761-pct00045
의 동일한 값과 매칭될 수 있다. 결과적으로, 서로 다른 리더 l ∈ Zn+는
Figure 112010088115761-pct00046
에 동일한 대표를 구비할 수 있으며,
Figure 112010088115761-pct00047
내의 분할의 개수를 카운팅하기 위한 임의의 단순한 과정은 잘못된 리더 인덱스를 유발할 뿐만 아니라 구별되는 리더에게도 동일한 잘못된 인덱스를 유발할 것이다.
d 부분 이상을 갖지 않는 r(r ∈
Figure 112010088115761-pct00048
)의 분할의 개수를 카운팅하는 함수로서 함수
Figure 112010088115761-pct00049
를 해결책으로 정의하며, 여기서 부분은 t(i) ∈
Figure 112010088115761-pct00050
에 의해 주어지고, k보다 큰 i는 없으며, k ∈ Z*이다. 간접적으로 Z*의 값 k를 사용하는
Figure 112010088115761-pct00051
내의 가장 큰 부분의 값에 대한 제한은,
Figure 112010088115761-pct00052
내의 동일한 분할로 유도하는 서로 다른 리더들의 개수를 카운팅할 수 있도록 한다.
결과적으로,
Figure 112010088115761-pct00053
를 사용하여, 수학식 4가 놈 lp에 대하여 다음과 같이 확장될 수 있다:
Figure 112010088115761-pct00054
xn -(j+1) ≠ 0임.
여기서, f(a)는 최대값 i ∈ Z*를 제공하여, a ∈
Figure 112010088115761-pct00055
인 경우 t(i) ≤ a가 된다.
수학식 9의 j를 0에서 n - 2까지 변경시킴으로써, xn에서 x2로의 좌표에 대하여 l에 선행하는 리더의 개수가 정확하게 카운팅된다. 놈 l1의 경우, 이전 리더들의 전체 개수를 계산하기에 충분한 조건이며,
Figure 112010088115761-pct00056
의 경우 x1 ∈ Z*인 단일 값이 존재하도록 주어진다. 그러나, 놈 lp의 경우, 함수 t의 비-주입성 때문에, 다수의 값들 xl ∈ Z*
Figure 112010088115761-pct00057
로 유도할 수 있다. 결과적으로, 인덱스의 고유성을 보장하기 위해,
Figure 112010088115761-pct00058
와 x1 간의 차이가 계산되고 상기 차이는 수학식 9에 더해져, 수학식 8에 의해 주어지는 고유한 디코딩가능한 리더 인덱스를 획득한다.
Figure 112010088115761-pct00059
xn -(j+1) ≠ 0임.
상기 함수 min은,
Figure 112010088115761-pct00060
가 x2보다 큰 반면, x1은 x2보다 작거나 같을 수 있음을 요구한다.
Figure 112010088115761-pct00061
의 계산은 카운팅 알고리즘에 의해 수행된다. 이어지는 섹션에서는 본 발명에 사용되는 알고리즘을 개시한다.
3.3 카운팅 알고리즘
제안되는 함수
Figure 112010088115761-pct00062
는, d 부분 이상을 갖지 않고 가장 큰 부분 t(i)를 구비하고 i ≤ k인 놈 rp δ,n = r의 분할의 개수와 균등하게 정의된다. 결과적으로, 다음과 같이 차원 상에서 반복함으로써
Figure 112010088115761-pct00063
를 계산한다:
Figure 112010088115761-pct00064
여기서, imin(r, d)는 t(i) ≥ [r/d]를 만족하는 i ∈ Z*의 최소값을 제공한다. 이는 놈 rp δ,n = r, 차원 d의 마지막 분할의 주요 부분을 사전식 배열의 역순으로 나타낸다.
차원 d = 1인 경우,
Figure 112010088115761-pct00065
는 서로 다른 양의 정수인 i(i ≤ k)의 개수로 초기화되어, t(i) = r이 된다. 예를 들어, p = 0.5이고 δ = 0.1인 경우, k ≤ 31이면 0 에서, k = 32이면 1에서, k ≥ 32이면 2에서
Figure 112010088115761-pct00066
를 정의하며, r = 57은 오직 i = 32에 대해서만 함수 t를 사용하여
Figure 112010088115761-pct00067
내에서 매칭되고,
Figure 112010088115761-pct00068
이다.
함수
Figure 112010088115761-pct00069
는 함수
Figure 112010088115761-pct00070
의 일반화된 형태이며, p = 1, δ = 1인 경우
Figure 112010088115761-pct00071
= Z*이다.
부록에 첨부되는 알고리즘 1 및 2는
Figure 112010088115761-pct00072
를 초기화하고 계산한다.
3.4 메모리 비용
Figure 112010088115761-pct00073
가 라인 상에서 계산되지 않은 경우, 메모리 요구사항은 다음과 같이 계산될 수 있다.
저장되는
Figure 112010088115761-pct00074
는 3차원 테이블이 되도록 해석되며, 여기서 제 1 입력은 값 r ∈
Figure 112010088115761-pct00075
이고, 제 2 입력은 차원 d ∈ Z*이고, 제 3 입력은 최대 네트워크 값 k ∈ Z*이다. 제공되는 최대 메모리 요구사항은 r·d·k·B 바이트가 되며, 여기서 B는
Figure 112010088115761-pct00076
의 원소 당 바이트 수이다.
그러나, 주어진 최대 놈 rp δ,n = r과 차원 d에서의 효과적인 코딩 및 디코딩 단계를 위한 제한은 낮다. 이는, 수학식 8 및 10으로부터,
Figure 112010088115761-pct00077
의 처음 두 입력 변수들의 가장 큰 값이 j = 0 그리고 i = imin(r, d)의 경우 획득되기 때문이다. 이 경우,
Figure 112010088115761-pct00078
(r - t(imin(r, d), d - 1, imin(r, d)) =
Figure 112010088115761-pct00079
(r - [r/d], d-1, imin(r, d))가 계산된다. 결과적으로, 이는 [(1, r - [r/d])]의 범위에 걸쳐 제 1 입력 변수(놈과 관련됨)를 사용하고 [1, d - 1]의 범위에 걸쳐 제 2 입력 변수(차원과 관련됨)를 사용하기에 충분하다.
k 값은 r로부터 결정될 수 있다. 제 2 제한이 오직 t(k) ≤ r/2인 경우에만 요구되기 때문에, [0, r]의 범위의 놈과 [1, d]의 차원을 갖는 임의의 리더를 인덱싱하기 위해 k의 최대값이 k = f(r/2)에서 정의될 수 있다. 결과적으로, 코딩 및 디코딩 단계를 위한 메모리 비용의 상한값은 다음과 같이 주어진다:
Figure 112010088115761-pct00080
메모리 요구사항은 주로 엔벌로프의 놈과 차원에 의존함을 주목한다. 리더의 개수는 B를 선택하도록 한다.
도 3은 오프라인에서 계산된 테이블
Figure 112010088115761-pct00081
를 사용하여 인덱싱 알고리즘을 사용하여 메모리를 절약하는 것을 도시한다. 메모리 요구사항은 p = 1, δ = 1 및 B = 4(즉, 정수 타입의 데이터)의 경우 반경 r에 따른 수학식 11로부터 얻어지며, [5]에 기술된 바와 ㅇ같은 리더를 기반으로 한 종래의 방법의 메모리 상한선과 비교된다. 차원과 반경이 각각 16과 20으로 낮을지라도, 종래의 방법은 10 기가바이트의 메모리를 요구하지만, 제안된 방법은 100 킬로바이트 미만을 요구한다.
매우 작은 메모리 요구사항과 모든 리더를 알 필요가 없다는 점은, 차원이 64, 128, 256, 512 등과 같이 높은 경우에도 네트워크 벡터를 인덱싱할 수 있도록 한다. 종래의 연구에 의하면, 실제 응용분야에서는 차원이 16으로 제한되었다.
부록
카운팅 알고리즘
제 1 알고리즘
/* 테이블
Figure 112010088115761-pct00082
[r][d][k]의 구조화. 최대 놈 값 rp δ,n = r과 차원 d의 경우, 이 알고리즘은 차원
Figure 112010088115761-pct00083
의 3-D 테이블
Figure 112010088115761-pct00084
를 생성한다. */
rbckp = r;
k = f[floor((double)r/2.)];
r = r-ceil((double)r/(double)d);
d--;
{
Figure 112010088115761-pct00085
,f,t} = init(rbckp,r,d,k);//
Figure 112010088115761-pct00086
를 초기화함
{
for(j=1;j<d;R++)
{
for(R=1;R<=r;R++)
{
Np = 0;
for(i=imin(R,j+1);i<=f[R];i++)
{
rmd = R-t[i];
if(t[i]>rmd)// 제 2 제한이 없음
Np +=
Figure 112010088115761-pct00087
[rmd][j-l][0];
else
Np +=
Figure 112010088115761-pct00088
[rmd][j-l][i];
if(i<=k)
Figure 112010088115761-pct00089
[R][j][i] = Np; // 제 2 제한을
} // 갖는 값
Figure 112010088115761-pct00090
[R][j][0] = Np;// 제 2 제한을 갖지 않는 값
}
}
return
Figure 112010088115761-pct00091
;// 여기서 함수는 종료함
/* 함수 init(rbckp,r,d,k)는 제 2 알고리즘에서 상세하게 기술됨. 함수 imin(r,d)는 가장 작은 값 i∈Z*를 제공하여,
Figure 112010088115761-pct00092
가 됨. */
제 2 알고리즘
/* 테이블
Figure 112010088115761-pct00093
[r][d][k]을 초기화시키고 제 1 알고리즘에서 사용되는 벡터 f 와 t를 생성하는 함수 init(rbckp,r,d,k) */
Figure 112010088115761-pct00094
; //차원 (r+1) × d × (k+1)의 영의 테이블
f = 0rbckp +1 ; // 차원 rbckp + 1의 영의 벡터
t = 0f(rbckp)+2 ; // 차원 f(rbckp) + 2의 영의 벡터
f[rbckp] = f(rbckp) ;
for( i=0 ; i<=f [rbckp] ; i++ )
{
do{
if(t[i]<=r)
{
Figure 112010088115761-pct00095
[t[i]][0][0]++;// a
if(i<=k)
Figure 112010088115761-pct00096
[t[i]][0][i] = e[t[i]][0][0];// b
}
i++;
t[i] = t(i);
}while(t[i]==t[i-1]);
i--;
f[t[i]] = f(t[i]);
for( j=t[i]+1; j<min(t[i+1], rbckp) ; j++)
f[j]= f[t[i]];
}
for(j=1;j<d;j++)//
Figure 112010088115761-pct00097
[0][j][0] = 1;
return {
Figure 112010088115761-pct00098
,f,t};// 여기서 함수는 종료함
/*a 0부터 r까지의 모든 놈에 대하여 제 2 제한을 사용하지 않고 제 1 차원에 대해
Figure 112010088115761-pct00099
를 초기화함
b 0부터 r까지의 모든 놈에 대하여 imin(t(i),1) a f(t(i))의 제 2 제한을 사용하여 제 1 차원에 대해
Figure 112010088115761-pct00100
를 초기화함
c 놈 0에 대하여 제 2 제한을 사용하지 않고 제 1 차원을 넘는 모든 차원에 대해
Figure 112010088115761-pct00101
를 초기화함. 벡터 f 및 t는 각각 함수 f 및 t를 사용하여 초기화됨. */

Claims (5)

  1. 차원 d의 rp δ,d와 동일하고, 좌표가 k보다 낮거나 같은, 놈(norm) lp의 리더 벡터의 개수를 추정하는 방법에 있어서,
    rp δ,d는 i가 1과 d 사이에서 변하는 함수 T(xi)의 결과값의 합에 의해 결정되고, 상기 함수 T(xi)는, 상기 리더 벡터 중 적어도 일부에 대하여, δ의 정확도로 파워 p로 올려진 좌표 x1의 분할(division)의 결과값을 제공하고, 상기 분할의 결과값은 가장 가까운 정수로 반올림되고, 리더 벡터를 결정하는 어떠한 단계도 포함하지 않는 것을 특징으로 하는 리더 벡터의 개수를 추정하는 방법.
  2. 제 1항에 있어서,
    d와 1 사이의 n 값에 대하여, 함수
    Figure 112010088115761-pct00102
    (r-T(u), n-1, u)의 결과값의 합산이 수행되고, 최소값 umin(r, n)과 k 사이에서 변하는 u에 대하여, 상기 함수
    Figure 112010088115761-pct00103
    (r, n, k)는 놈 rp δ,d = r이고, 차원이 n이고, 좌표가 k보다 낮거나 같은 리더 벡터의 수량을 제공하고, 상기 함수 umin은 r/n보다 크거나 같은 T(u)를 만족하는 가장 작은 정수값 u를 제공하는 것을 특징으로 하는 리더 벡터의 개수를 추정하는 방법.
  3. 제 2항에 있어서,
    n = 1에 대하여, T(u) = r이 되는, k 보다 작거나 같은 가능한 값의 개수에 대응하는 값을 함수
    Figure 112010088115761-pct00104
    (r, 1, k)으로 어트리뷰팅하는(attributing) 단계 및 상기 합산을 실행하는 단계로 구성되는 사전 초기화 단계가 수행되는 것을 특징으로 하는 리더 벡터의 개수를 추정하는 방법.
  4. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    데이터 압축에 대하여 레이트(rate)를 추정하는 것을 특징으로 하는 리더 벡터의 개수를 추정하는 방법.
  5. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    리더 벡터를 인덱싱하는 것을 특징으로 하는 리더 벡터의 개수를 추정하는 방법.
KR1020107029941A 2008-06-02 2009-05-27 규칙적인 지점의 네트워크에서 벡터를 카운팅하는 방법 KR101577848B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0803020A FR2931964A1 (fr) 2008-06-02 2008-06-02 Procede de denombrement des vecteurs dans les reseaux reguliers de points.
FR0803020 2008-06-02

Publications (2)

Publication Number Publication Date
KR20110033154A KR20110033154A (ko) 2011-03-30
KR101577848B1 true KR101577848B1 (ko) 2015-12-15

Family

ID=40086719

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107029941A KR101577848B1 (ko) 2008-06-02 2009-05-27 규칙적인 지점의 네트워크에서 벡터를 카운팅하는 방법

Country Status (8)

Country Link
US (1) US8745110B2 (ko)
EP (1) EP2289172B1 (ko)
JP (1) JP5580295B2 (ko)
KR (1) KR101577848B1 (ko)
CN (1) CN102084595B (ko)
CA (1) CA2725809A1 (ko)
FR (1) FR2931964A1 (ko)
WO (1) WO2009156606A2 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2931963A1 (fr) 2008-06-02 2009-12-04 Centre Nat Rech Scient Procede de traitement de donnees numeriques
FR2931964A1 (fr) * 2008-06-02 2009-12-04 Centre Nat Rech Scient Procede de denombrement des vecteurs dans les reseaux reguliers de points.
US11709270B1 (en) 2018-06-01 2023-07-25 Cintoo SAS, France Method of processing azimuth, elevation and range data from laser scanning an object

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999033185A1 (fr) 1997-12-22 1999-07-01 France Telecom S.A. Procede de codage d'un vecteur d'un reseau representatif d'un signal quantifie et procede de decodage correspondant
US20050285764A1 (en) 2002-05-31 2005-12-29 Voiceage Corporation Method and system for multi-rate lattice vector quantization of a signal

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02215230A (ja) * 1989-02-15 1990-08-28 Matsushita Electric Ind Co Ltd ベクトル量子化装置
JP3707153B2 (ja) * 1996-09-24 2005-10-19 ソニー株式会社 ベクトル量子化方法、音声符号化方法及び装置
FR2795589B1 (fr) 1999-06-11 2001-10-05 Centre Nat Rech Scient Decodeur video optimal base sur les standards de type mpeg
JP4590747B2 (ja) * 2001-02-06 2010-12-01 ソニー株式会社 ベクトル量子化のコードブック生成方法及びコードブック生成装置
US7680670B2 (en) * 2004-01-30 2010-03-16 France Telecom Dimensional vector and variable resolution quantization
WO2008104725A1 (fr) 2007-02-21 2008-09-04 France Telecom Procede de codage et decodage algebrique optimise, modules et programmes d'ordinateur associes
CN102132494B (zh) * 2008-04-16 2013-10-02 华为技术有限公司 通信方法和通信装置
FR2931964A1 (fr) * 2008-06-02 2009-12-04 Centre Nat Rech Scient Procede de denombrement des vecteurs dans les reseaux reguliers de points.
FR2931963A1 (fr) * 2008-06-02 2009-12-04 Centre Nat Rech Scient Procede de traitement de donnees numeriques
WO2010001020A2 (fr) 2008-06-06 2010-01-07 France Telecom Codage/decodage par plans de bits, perfectionne
GB2464447B (en) * 2008-07-01 2011-02-23 Toshiba Res Europ Ltd Wireless communications apparatus
CN101430881B (zh) * 2008-11-10 2013-04-17 华为技术有限公司 一种编码、解码、编解码方法、编解码系统以及相关装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999033185A1 (fr) 1997-12-22 1999-07-01 France Telecom S.A. Procede de codage d'un vecteur d'un reseau representatif d'un signal quantifie et procede de decodage correspondant
US20050285764A1 (en) 2002-05-31 2005-12-29 Voiceage Corporation Method and system for multi-rate lattice vector quantization of a signal

Also Published As

Publication number Publication date
EP2289172B1 (fr) 2018-07-04
JP2011522497A (ja) 2011-07-28
WO2009156606A2 (fr) 2009-12-30
US20110131433A1 (en) 2011-06-02
WO2009156606A3 (fr) 2010-10-07
CN102084595B (zh) 2014-11-12
JP5580295B2 (ja) 2014-08-27
CN102084595A (zh) 2011-06-01
US8745110B2 (en) 2014-06-03
CA2725809A1 (fr) 2009-12-30
KR20110033154A (ko) 2011-03-30
EP2289172A2 (fr) 2011-03-02
FR2931964A1 (fr) 2009-12-04
WO2009156606A8 (fr) 2010-11-04

Similar Documents

Publication Publication Date Title
Goyal Theoretical foundations of transform coding
Pearlman et al. Digital signal compression: principles and practice
KR101627000B1 (ko) 디지털 데이터 처리 방법
KR20050008761A (ko) 신호의 다중속도 격자 벡터 양자화를 위한 방법 및 시스템
CN112399181B (zh) 图像编解码的方法、装置和存储介质
WO2011097963A1 (zh) 编码方法、解码方法、编码器和解码器
KR101577848B1 (ko) 규칙적인 지점의 네트워크에서 벡터를 카운팅하는 방법
CN100370828C (zh) 用于将参数值映像到码字索引的自适应方法和系统
CN101467459B (zh) 信号的矢量量化字典生成方法、编解码器及编解码方法
CN114640354A (zh) 数据压缩方法、装置、电子设备及计算机可读存储介质
Raffy et al. Distortion-rate models for entropy-coded lattice vector quantization
CN102263558B (zh) 信号处理方法及系统
Severo et al. Your dataset is a multiset and you should compress it like one
Khandelwal et al. Implementation of Direct Indexing and 2-V Golomb Coding of Lattice Vectors for Image Compression
Amin et al. Vector quantization based lossy image compression using wavelets–a review
Fonteles et al. Indexing Z n lattice vectors for generalized gaussian distributions
JP2004120623A (ja) 符号化装置、符号化方法、復号装置及び復号方法
Kossentini et al. Image coding using high-order conditional entropy-constrained residual VQ
Fonteles et al. High dimension lattice vector quantizer design for generalized gaussian distributions
GB2305829A (en) A context model coder
Huang et al. A constrained vector quantization scheme for real-time codebook retransmission
Chen A lattice vector quantization using a geometric decomposition
Omara et al. From a sparse vector to a sparse symmetric matrix for efficient lossy speech compression
Klen Comparison of Traditional Compression Methods of Different Datasets for Cloud Storage Systems
CN117972323A (zh) 一种低秩张量数据压缩和缺失值恢复的方法及系统

Legal Events

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