KR20110040932A - 벡터 양자화기를 위한 고속 최근접 이웃 탐색용 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

벡터 양자화기를 위한 고속 최근접 이웃 탐색용 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR20110040932A
KR20110040932A KR1020117003602A KR20117003602A KR20110040932A KR 20110040932 A KR20110040932 A KR 20110040932A KR 1020117003602 A KR1020117003602 A KR 1020117003602A KR 20117003602 A KR20117003602 A KR 20117003602A KR 20110040932 A KR20110040932 A KR 20110040932A
Authority
KR
South Korea
Prior art keywords
codevector
search
component
vector
codebook
Prior art date
Application number
KR1020117003602A
Other languages
English (en)
Other versions
KR101236054B1 (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 KR20110040932A publication Critical patent/KR20110040932A/ko
Application granted granted Critical
Publication of KR101236054B1 publication Critical patent/KR101236054B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • 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
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • H04B1/7075Synchronisation aspects with code phase acquisition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms

Landscapes

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

Abstract

방법은 하나 이상의 코드벡터를 갖는 코드북(C)으로부터 코드벡터의 성분(k)을 식별하는 단계 - 성분(k)은 입력 벡터를 위한 최고 분산을 도입함 - 와, 코드북(C) 내의 코드벡터의 순서화를 허용하는 단계와, 순서화된 코드벡터를 사용하여 입력 벡터를 위한 최선의 정합 벡터를 탐색하는 단계를 포함한다.

Description

벡터 양자화기를 위한 고속 최근접 이웃 탐색용 방법, 장치 및 컴퓨터 프로그램{METHOD AND APPARATUS FOR FAST NEARESTNEIGHBOR SEARCH FOR VECTOR QUANTIZERS}
본 발명은 오디오 데이터의 인코딩 및 디코딩에 관한 것이다. 특히, 본 발명은 벡터 양자화기를 위한 최근접 이웃을 고속으로 탐색하는 것에 관한 것이다.
이 섹션은 청구범위에 언급되어 있는 본 발명에 대한 배경 또는 개념을 제공하도록 의도된 것이다. 여기서의 설명은 추구될 수 있지만 반드시 미리 고려되거나 추구되었던 것일 필요는 없는 개념을 포함할 수 있다. 따라서, 본 명세서에서 달리 지시되지 않으면, 이 섹션에서 설명된 것은 본 출원에서 상세한 설명 및 청구범위에 대한 종래 기술은 아니고, 이 섹션에서의 포함에 의해 종래 기술인 것으로 인정되는 것은 아니다.
양자화는 손실 신호 압축의 주 도구이다. 양자화 프로세스는, 소정의 입력 데이터에 대해, 더 적은 비트를 갖는 데이터의 저장 또는 전송을 가능하게 할 수 있는 근접한 대표값(close representative)을 발견하는 것으로 이루어진다. 양자화 함수는 f: D->C로 쓰여질 수 있고, 여기서 D는 입력 공간이고, C는 대표값 또는 코드북의 세트이다. D로부터 소정의 입력에 대해, 대표값 또는 코드워드가 C로부터 선택되어, 입력과 대표값 사이의 소정의 왜곡 척도가 전체 코드북에 걸쳐 최소화되게 된다. 왜곡 척도를 최소화하는 코드워드를 발견하는 프로세스는 일반적으로 최근접 이웃 탐색이라 칭한다.
입력 공간, 뿐만 아니라 코드북이 1차원이면, 양자화는 스칼라 양자화라 칭하고, 그렇지 않으면 벡터 양자화라 칭한다. 대표값은 또한 벡터 양자화의 경우에 코드벡터라 칭한다.
코드북의 카디널리티(cardinality)(CC)는 입력 공간의 카디널리티보다 작아, 더 적은 비트의 입력 데이터의 표현을 허용한다. 코드북 내에서 최근접 코드워드의 인덱스는 log2CC 비트로 표현될 수 있다. 모든 코드워드가 동일한 수의 비트로 표현되면, 양자화 비율은 R=log2CC/K bit/sample이고, 여기서 K는 데이터 치수이다.
일반적으로, 최근접 이웃 탐색은 각각의 코드워드에 대한 왜곡 척도의 평가를 포함하는데, 이는 특히 벡터 양자화의 경우에 연산적인 관점으로부터 매우 고비용일 수 있다. 평가를 중단하기 위해 하나 이상의 조건에 기초하여 왜곡 평가의 수를 감소시키는 다양한 고속 최근접 이웃 알고리즘이 제안되어 있다.
벡터 양자화는 예를 들어 음성/오디오, 이미지 또는 비디오 코딩을 이용하는 용례와 같은, 신호 프로세싱 용례에 광대하게 사용되는 도구이다.
본 발명의 일 양태에서, 방법은 하나 이상의 코드벡터를 갖는 코드북(C)으로부터 코드벡터의 성분(k)을 식별하는 단계와, 순서화된 코드벡터를 사용하여 입력 벡터를 위한 최선의 정합 벡터를 탐색하는 것을 용이하게 하도록 성분(k)에 기초하여 코드북(C) 내의 코드벡터의 순서화를 허용하는 단계를 포함한다.
일 실시예에서, 성분(k)은 입력 벡터를 위한 최고 분산을 도입하는 것으로서 식별된다.
일 실시예에서, 코드벡터의 순서화를 허용하는 단계는 성분(k)에 따라 코드북(C) 내의 코드벡터를 분류하는 것을 포함한다. 다른 실시예에서, 코드벡터의 순서화를 허용하는 단계는 코드북(C)의 코드벡터 지수를 허용하기 위해 맵핑 기능을 제공하는 것을 포함한다.
다른 양태에서, 방법은 코드북(C) 내의 순서화된 코드벡터를 사용하여 입력 벡터를 위한 최선의 정합 벡터를 탐색하는 단계 - 코드벡터는 코드벡터의 성분(k)에 기초하여 순서화됨 - 를 포함하고, 탐색 단계는 입력 벡터의 성분(k)만을 고려하여 2진 탐색을 수행하고, 전체 코드벡터를 고려하여 수정된 부분 왜곡 탐색을 수행하는 것을 포함한다. 코드벡터는 오름 차수로 순서화될 수 있고, 2진 탐색을 수행하는 것은 이하의 조건
Figure pct00001
을 만족시키는 최소 지수 j를 갖는 벡터를 발견할 수 있고, X는 입력 벡터이고, C'는 순서화된 코드벡터이다.
일 실시예에서, 수정된 부분 왜곡 탐색을 수행하는 것은 지수 j-1에서 시작하여 하향 탐색을 수행하는 것과, 지수 j에서 시작하여 상향 탐색을 수행하는 것을 포함한다. 하향 탐색은 최선의 정합을 제공하는 당시의 코드벡터보다 성분(k)에 대해 더 큰 왜곡을 생성하는 코드벡터의 발견시에 종료될 수 있다. 상향 탐색은 최선의 정합을 제공하는 당시의 코드벡터보다 성분(k)에 대해 더 큰 왜곡을 생성하는 코드벡터의 발견시에 종료될 수 있다.
일 실시예에서, 방법은 상향 탐색 및 하향 탐색의 모두의 종료시에 최선의 정합을 위한 탐색의 출력으로서 코드벡터를 선택하는 것을 추가로 포함한다.
본 발명의 다른 양태에서, 장치는 하나 이상의 코드벡터를 갖는 코드북(C)으로부터 코드벡터의 성분(k)을 식별하도록 구성되고, 코드벡터는 입력 벡터를 위한 최고 분산을 도입하고, 순서화된 코드벡터를 사용하여 입력 벡터를 위한 최선의 정합 벡터를 탐색하는 것을 용이하게 하도록 성분(k)에 기초하여 코드북(C) 내의 코드벡터의 순서화를 허용하도록 구성된 디코더를 포함한다.
다른 양태에서, 장치는 코드북(C) 내의 순서화된 코드벡터를 사용하여 입력 벡터를 위한 최선의 정합 벡터를 탐색하도록 구성된 디코더를 포함하고, 코드벡터는 코드벡터의 성분(k)에 기초하여 순서화되고, 디코더는 입력 벡터의 성분(k)만을 고려하여 2진 탐색을 수행하고, 전체 코드벡터를 고려하여 수정된 부분 왜곡 탐색을 수행함으로써 탐색하도록 구성된다.
다른 양태에서, 장치는 프로세서 및 프로세서와 통신적으로 접속된 메모리 유닛을 포함한다. 메모리 유닛은 하나 이상의 코드벡터를 갖는 코드북(C)으로부터 코드벡터의 성분(k)을 식별하기 위한 컴퓨터 코드 - 성분(k)은 입력 벡터를 위한 최고 분산을 도입함 - 와, 순서화된 코드벡터를 사용하여 입력 벡터를 위한 최선의 정합 벡터를 탐색하는 것을 용이하게 하도록 성분(k)에 기초하여 코드북(C) 내의 코드벡터의 순서화를 허용하기 위한 컴퓨터 코드를 포함한다.
다른 양태에서, 장치는 프로세서 및 프로세서와 통신적으로 접속된 메모리 유닛을 포함한다. 메모리 유닛은 코드북(C) 내의 순서화된 코드벡터를 사용하여 입력 벡터를 위한 최선의 정합 벡터를 탐색하기 위한 컴퓨터 코드를 포함하고, 코드벡터는 코드벡터의 성분(k)에 기초하여 순서화되고, 탐색을 위한 컴퓨터 코드는 단지 입력 벡터의 성분(k)만을 고려하여 2진 탐색을 수행하기 위한 컴퓨터 코드 및 전체 코드벡터를 고려하여 수정된 부분 왜곡 탐색을 수행하기 위한 컴퓨터 코드를 포함한다.
다른 양태에서, 본 발명은 컴퓨터 판독 가능 매체 상에 구체화된 컴퓨터 프로그램 제품에 관한 것이다. 컴퓨터 프로그램 제품은 하나 이상의 코드벡터를 갖는 코드북(C)으로부터 코드벡터의 성분(k)을 식별하기 위한 컴퓨터 코드와, 순서화된 코드벡터를 사용하여 입력 벡터에 대한 최선의 정합 벡터를 탐색하는 것을 용이하게 하도록 적어도 부분적으로 성분(k)에 기초하여 코드북(C) 내의 코드벡터의 순서화를 허용하기 위한 컴퓨터 코드를 포함한다.
다른 양태에서, 본 발명은 컴퓨터 판독 가능 매체 상에 구체화된 컴퓨터 프로그램 제품에 관한 것이다. 컴퓨터 프로그램 제품은 코드북(C) 내의 순서화된 코드벡터를 사용하여 입력 벡터를 위한 최선의 정합 벡터를 탐색하기 위한 컴퓨터 코드를 포함하고, 코드벡터는 코드벡터의 성분(k)에 기초하여 순서화되고, 탐색을 위한 컴퓨터 코드는 입력 벡터의 성분(k)만을 고려하여 2진 탐색을 수행하기 위한 컴퓨터 코드, 및 전체 코드벡터를 고려하여 수정된 부분 왜곡 탐색을 수행하기 위한 컴퓨터 코드를 포함한다.
본 발명의 다양한 실시예의 이들 및 다른 장점 및 특징은, 그 구성 및 작동 방식과 함께 첨부 도면과 함께 취할 때 이하의 상세한 설명으로부터 명백해질 것이다.
본 발명의 예시적인 실시예가 첨부 도면을 참조하여 설명된다.
도 1은 본 발명의 실시예에 따른 예시적인 코드워드 탐색 방법을 도시하는 흐름도.
도 2는 본 발명의 실시예에 따른 도 1의 코드워드 탐색 방법에 대한 최선의 정합의 탐색을 위한 예시적인 방법을 도시하는 흐름도.
도 3은 본 발명의 다양한 실시예가 구현될 수 있는 시스템의 개략 다이어그램.
도 4는 본 발명의 다양한 실시예에 따라 이용될 수 있는 예시적인 전자 디바이스의 사시도.
도 5는 도 4의 전자 디바이스에 포함될 수 있는 회로의 개략도.
도 6은 다양한 실시예가 구현될 수 있는 일반적인 멀티미디어 통신 시스템의 도식도.
이하의 설명에서, 한정이 아닌 설명을 위해, 상세 및 설명이 본 발명의 완전한 이해를 제공하기 위해 설명된다. 그러나, 본 발명이 이들 상세 및 설명으로부터 벗어난 다른 실시예에서 실시될 수도 있다는 것이 당 기술 분야의 숙련자들에게 이해될 수 있을 것이다.
비제약 벡터 양자화기의 성능은 레이트 왜곡의 견지에서 매우 양호한 것으로 고려될 수 있지만, 인코딩 복잡성은 복잡성 요건이 제한되어 있으면 그 사용을 금지할 수 있다. 본 발명의 실시예는 메모리 또는 인코딩 왜곡의 임의의 증가 없이 벡터 양자화 인코딩의 복잡성을 감소시키는 방법을 제공한다.
고속 최근접 이웃 탐색의 문제점이 당 기술 분야에서 광대하게 연구되어 왔다. 예를 들어 (a) 부분 왜곡법, (b) 삼각 부등식법, 및 (c) 투영법으로서 알려진 것들과 같은 다수의 유형의 벡터 양자화를 위한 고속 최근접 이웃 탐색이 존재한다. 코드북의 상이한 순서를 사용하는 다양한 방법이 또한 존재한다.
본 발명의 실시예는 일반 벡터 코드북 내의 최근접 이웃 탐색을 위한 저복잡성 방법을 제공한다. 통상의 해결책과는 반대로, 본 발명의 실시예는 보조 변수를 위한 보충 메모리 저장 장치를 요구하지 않는다. 본 발명의 실시예에 따른 고속 탐색은, 입력에 대한 최근접 이웃을 얻는 것을 보장하는 점에서 최적이다. 예를 들어 ITU-T G.718 및 G.729.1 코덱의 초광대역 확장의 환경에서 오디오 입력 데이터의 세그먼트로부터 추출된 주파수 성분 진폭 및 이득값의 양자화의 예시적인 용례에서, 본 발명의 실시예에 따른 방법은 완전 탐색에 대해 약 8배 그리고 부분 왜곡법에 대해 약 3배 복잡성을 감소시킬 수 있다. 본 발명의 실시예는 예를 들어 코드북의 코드벡터의 성분 사이의 최고 분산(variance)을 갖는 것과 같은 선택된 벡터 성분의 값에 따라 분류된 코드북을 사용한다. 입력 벡터가 주어지면, 2진 탐색이 분류된 성분에 대해 수행되고, 코드북 내의 최종점에서 시작하여 수정된 부분 왜곡법이 초기 점의 이웃 내에서 탐색을 위해 이용된다. 코드벡터의 성분 중 하나의 사용은 종래의 방법에서와 같이 임의의 추가의 메모리 요구 없이 스칼라 값에 직접 초기 2진 탐색을 가능하게 한다. 일 성분에 대한 왜곡이 단지 이와 같이 벡터 왜곡 척도에 입력되기 때문에, 코드북의 모든 코드벡터를 더 검사하지 않고 탐색 정지 지시기로서 편리하게 사용될 수 있다.
본 발명의 몇몇 실시예에 따르면, 벡터 성분(k)의 값에 대해 분류된 N개의 코드벡터의 K-차원 코드북(C)이 이용된다. 성분(k)은 코드북(C)의 코드벡터 내의 최대 분산을 도입하는 벡터 성분일 수 있다.
몇몇 실시예에서, 코드북(C)의 코드벡터를 분류하기 위한 기초로서 사용된 성분(k)의 선택은 상이한 방식으로 선택될 수 있다. 일 실시예에서, 성분(k)은 코드벡터의 성분 사이에서 랜덤하게 선택될 수 있다. 더욱이, 예를 들어 코드북 탐색에서 가중된 왜곡 척도를 사용하는 실시예에서, 최대 가중치를 갖는 성분이 분류를 위한 기초로서 사용될 성분(k)으로서 선택될 수 있다. 또 다른 실시예에서, 성분의 분산 및 가중치의 모두는 벡터 성분(k)의 선택시에 고려될 수 있다. 다른 실시예에서, 왜곡에 대한 최대 감도를 갖는 벡터 성분이 코드북을 분류하기 위한 기초로서 사용될 성분(k)으로서 선택될 수 있다.
일 실시예에서, RK 공간으로부터 입력 벡터(X)-즉, 벡터 당 K개의 원소를 갖는 실수 벡터의 세트-가 주어지면, 성분(k)의 값을 고려하는 2진 탐색이 성분(k)의 증가하는 값에 따라 분류된 코드북(C)에서 수행된다. 입력 벡터(X)의 대응 성분보다 여전히 작거나 같은 성분(k)에 대해 최대값을 갖는 벡터의 지수 I는 이하의 식과 같이 검색되고,
Figure pct00002
여기서, CI ,k는 지수 I를 갖는 코드벡터의 성분(k)을 칭한다. 다른 예시적인 실시예에서, 코드북(C)은 성분(k)의 내림 차수에 따라 분류될 수 있다는 것을 주목하라. 이 경우, 2진 탐색이 입력 벡터(X)의 대응 성분보다 여전히 큰 성분(k)에 대한 최소값을 갖는 코드북 벡터의 지수를 발견하는데 사용된다.
Figure pct00003
부분 왜곡 접근법의 원리는, 예를 들어 특정수의 코드벡터의 제 1 성분에 대해 벡터 성분의 서브세트에 대해 계산된 왜곡이 현재 최소 왜곡보다 이미 큰 경우에 주어진 코드벡터의 왜곡의 평가를 정지하는 것이다. 부분 왜곡 접근법은 전술된 바와 같이 벡터 성분(k)에 대해서만 계산된 부분 왜곡이 현재 최소 왜곡보다 큰 경우 탐색을 전적으로 정지하고 출력 벡터로서 현재 최소 왜곡을 생성하는 코드벡터를 선택함으로써 수정된다. 이는 코드북이 성분(k)의 값의 오름 차수에 따라 순서화되는 실시예에서 이것이 0<n<N의 모든 값에 대해 Cn ,k<=Cn +1,k가 성립한다는 것을 암시하기 때문에 가능하다. 따라서, I+1로부터 시작하여 상향으로 지수값을 갖는 코드벡터를 고려하는 상향 탐색은 그 성분(k)이 현재 최소 왜곡보다 높은 왜곡을 도입하는 제 1 코드벡터(mu)에서 1회 정지될 수 있는데, 이는 코드북의 순서화가 지수값 I>mu를 갖는 모든 코드벡터가 단지 성분(k)만을 고려할 때 더 높은 왜곡을 도입할 수 있는 것을 보장하기 때문이다. 유사한 방식으로, 지수 I로부터 시작하여 하향으로 코드벡터를 고려하는 하향 탐색은 그 성분(k)이 현재 최소 왜곡보다 높은 왜곡을 도입하는 제 1 코드벡터(md)를 1회 정지시킬 수 있는데, 이는 성분(k)의 값의 오름 차수에 따라 순서화된 코드북이 지수 I<md를 갖는 코드벡터가 단지 성분(k)만을 고려할 때 더 높은 왜곡을 도입할 수 있는 것을 보장하기 때문이다.
상향 및 하향 탐색 절차 및 정지 조건은 또한 성분(k)의 값의 내림 차수에 따라 분류된 코드벡터를 갖는 코드북을 이용하는 예시적인 실시예에서와 유사하다.
성분(k)의 값의 오름 차수에 따라 분류된 코드북을 이용하는 실시예에서, Xk가 임의의 코드벡터 내의 성분(k)보다 크면, 수정된 부분 왜곡 탐색은 최종 코드벡터로부터 하향으로 수행된다. 따라서, 단지 하향 탐색만이 수행되는 경우에, Xk가 임의의 코드벡터 내의 성분(k)보다 작으면, 수정된 부분 왜곡 탐색이 제 1 코드벡터로부터 상향으로 수행된다. 따라서, 단지 상향 탐색만이 수행된다. 코드북이 Xk보다 작은 값(들)을 갖는 성분(k)을 갖는 코드벡터 및 Xk보다 큰 값(들)을 갖는 성분(k)을 갖는 코드벡터의 모두를 포함하면, 수정된 부분 왜곡 탐색이 상향 및 하향으로 수행된다.
성분(k)의 값의 내림 차수에 따라 분류된 코드북을 이용하는 실시예에서, 임의의 코드벡터 내의 성분(k)보다 큰 Xk는 상향 탐색만을 수행하게 한다. 유사한 방식으로, 임의의 코드벡터 내의 성분(k)보다 작은 Xk는 단지 하향 탐색만을 수행하게 한다.
몇몇 실시예에서, 코드북은 2개 이상의 서브 코드북으로 개념적으로 분할될 수 있고, 성분(k)에 따른 분류는 서브 코드북의 각각에 대해 개별적으로 수행된다. 탐색 단계에서, 상향 및 하향 탐색의 모두를 수반하는 프로세스-주어진 입력 벡터에 대해 적용 가능하면-는 서브 코드북의 각각에 대해 개별적으로 수행되고, 중간 출력 벡터는 서브 코드북의 각각에 대해 선택된다. 최종 출력 벡터는 서브 코드북의 중간 출력 벡터 사이의 최소 왜곡을 제공하는 것이다.
2개 이상의 개념적인 서브 코드북을 사용하는 분류 및 탐색 프로세스를 이용하는 또 다른 실시예에서, 분류-및 탐색-가 상이한 벡터 성분에 기초하여 수행될 수 있다. 예를 들어, 벡터 성분(k1)은 제 1 서브 코드북을 분류하기 위해 사용될 수 있고, 벡터 성분(k2)은 제 2 서브 코드북을 위해 사용될 수 있다.
몇몇 실시예에서, 단지 전체 코드북의 부분만이 분류 및/또는 탐색시에 고려될 수 있다.
이제, 본 발명의 실시예에 따른 코드워드 탐색을 위한 예시적인 프로세스(200)를 도시하는 도 1을 참조한다. 블록 202에서, 프로세스(200)는 코드북(C') 내의 최고 분산을 도입하는 코드벡터의 성분(k)을 발견한다. 성분(k)은 이어서 코드북(C') 내의 벡터를 분류하는데 사용된다(블록 204). 다음, 본 발명의 실시예에 따르면, 코드북 내의 코드벡터의 순서화가 허용된다. 도 1에 도시된 예시적인 실시예에 따르면, 이는 코드북(C)을 형성하기 위해 예를 들어 벡터 성분(k)의 값의 오름 또는 내림 차수로 벡터를 분류함으로써 성취된다. 순서화된 코드북(C)은 이어서 입력 벡터(X)를 위한 최선의 정합을 탐색하는데 사용된다(블록 206).
다른 실시예에서, 코드북(C')은 분류될 필요가 없다. 오히려, 코드북 내의 코드벡터의 순서화는 C 내의 코드벡터의 순서를 생성하는 코드북(C')의 코드벡터 지수를 형성하기 위해 맵핑 기능을 통해 성취될 수 있다. 따라서, 맵핑 기능을 갖는 현존하는 코드북은 본 발명의 실시예에 따른 탐색 방법을 사용하여 가능화하는데 사용될 수 있다.
블록 206의 최선의 정합을 위한 탐색을 위한 예시적인 방법이 도 2에 도시된다. 순서화된 코드북(C)으로부터 입력 벡터(X)를 위한 최선의 정합을 탐색할 때, 블록 208에서 제 1 2진 탐색이 입력 벡터 및 코드북의 성분(k)만을 고려하여 수행되어 벡터 성분(k)에 대한 Xk보다 큰 값을 갖는 제 1 코드벡터(Cj)를 발견한다. 따라서, 조건 Xk<Cj ,k를 만족시키는 최소 지수 j를 갖는 벡터가 발견된다.
블록 210에서, 수정된 부분 왜곡 탐색이 위에서 발견된 지수 j로부터 시작하여 전체 코드벡터를 고려하여 수행되고, 하향 탐색은 지수 j-1, j-2, j-3 등을 갖는 코드벡터를 고려한다. 유사한 방식으로, 상향 탐색은 지수 j, j+1, j+2 등을 갖는 코드벡터를 고려한다. 하향 탐색(블록 212)에서, 일단 전체 벡터에 걸쳐 컴퓨팅된 현재 최소 왜곡보다 더 큰 왜곡을 도입하는 성분(k)을 갖는 제 1 코드벡터가 조우되면, 하향 탐색이 종료되고 상향 탐색이 시작된다. 상향 탐색(블록 214)에서, 일단 전체 벡터에 걸쳐 컴퓨팅된 현재 최소 왜곡보다 더 큰 왜곡을 도입하는 성분(k)을 갖는 제 1 코드벡터가 조우되면, 탐색이 종료되고, 최소 왜곡을 제공하는 코드벡터가 탐색의 출력으로서 선택된다.
이하의 C 코드 표현은 제안된 방법의 실시예의 구현을 제공한다. 이 예에서, 코드북은 제 1 성분에 대해 분류된다.
Figure pct00004
Figure pct00005
Figure pct00006
Figure pct00007
가중된 초당 수백만 작업(WMOPS)의 견지에서의 복잡성은 부분 왜곡 접근법 및 완전 탐색 접근법과 비교될 수 있다. 복잡성은 동일한 입력 데이터를 사용하여 모든 비구조화된 벡터 양자화기에 대해 프레임 값마다 추정된다.
Figure pct00008
따라서, 본 발명의 실시예는 추가의 메모리 요구를 도입하지 않고 실질적으로 감소된 연산 복잡성을 제공한다.
도 3은 하나 이상의 네트워크를 통해 통신할 수 잇는 다수의 통신 디바이스를 포함하는 본 발명의 다양한 실시예가 이용될 수 있는 시스템(10)을 도시한다. 시스템(10)은 이들에 한정되는 것은 아니지만, 휴대폰 네트워크, 무선 근거리 네트워크(LAN), 블루투스 퍼스널 영역 네트워크, 이더넷 LAN, 토큰 링 LAN, 근거리 네트워크, 인터넷 등을 포함하는 유선 또는 무선 네트워크의 임의의 조합을 포함할 수 있다. 시스템(10)은 유선 및 무선 통신 디바이스의 모두를 포함할 수 있다.
예를 들어, 도 3에 도시된 시스템(10)은 휴대폰 네트워크(11) 및 인터넷(28)을 포함한다. 인터넷(28)에 대한 접속성은 이들에 한정되는 것은 아니지만, 장거리 무선 접속, 단거리 무선 접속 및 이들에 한정되는 것은 아니지만 전화 라인, 케이블 라인, 파워 라인 등을 포함하는 다양한 유선 접속을 포함할 수 있다.
시스템(10)의 예시적인 통신 디바이스는 이들에 한정되는 것은 아니지만, 휴대폰의 형태의 전자 디바이스(12), 조합형 개인 휴대 정보 단말(PDA) 및 휴대폰(14), PDA(16), 통합형 메시징 디바이스(IMD)(18), 데스크탑 컴퓨터(20), 노트북 컴퓨터(22) 등을 포함할 수 있다. 통신 디바이스는 고정형 또는 이동하는 개인에 의해 휴대될 때 이동형일 수 있다. 통신 디바이스는 또한 이들에 한정되는 것은 아니지만, 자동차, 트럭, 택시, 버스, 기차, 보트, 비행기, 자전거, 오토바이 등을 포함하는 운송 모드에 위치될 수 있다. 일부 또는 전체 통신 디바이스는 호 및 메시지를 송신하고 수신할 수 있고, 기지국(24)으로의 무선 접속부(25)를 통해 서비스 공급자와 통신할 수 있다. 기지국(24)은 휴대폰 네트워크(11)와 인터넷(28) 사이의 통신을 허용하는 네트워크 서버(26)에 접속될 수 있다. 시스템(10)은 추가의 통신 디바이스 및 상이한 유형의 통신 디바이스를 포함할 수 있다.
통신 디바이스는 이들에 한정되는 것은 아니지만, 코드 분할 다중 접속(CDMA), 이동 통신의 글로벌 시스템(GSM), 범용 이동 통신 시스템(UMTS), 시분할 다중 접속(TDMA), 주파수 분할 다중 접속(FDMA), 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP), 단문 메시지 서비스(SMS), 멀티미디어 메시징 서비스(MMS), 이메일, 인스턴트 메시징 서비스(IMS), 블루투스, IEEE 802.11 등을 포함하는 다양한 전송 기술을 사용하여 통신할 수 있다. 본 발명의 다양한 실시예를 구현하는데 수반되는 통신 디바이스는 이들에 한정되는 것은 아니지만, 무선, 적외선, 레이저, 케이블 접속 등을 포함하는 다양한 미디어를 사용하여 통신할 수 있다.
도 4 및 도 5는 본 발명의 다양한 실시예에 따라 네트워크 노드로서 사용될 수 있는 일 대표적인 전자 디바이스(28)를 도시한다. 그러나, 본 발명의 범주는 하나의 특정 유형의 디바이스에 한정되도록 의도된 것은 아니라는 것이 이해되어야 한다. 도 4 및 도 5의 전자 디바이스(28)는 하우징(30), 액정 디스플레이의 형태의 디스플레이(32), 키패드(34), 마이크로폰(36), 이어피스(38), 배터리(40), 적외선 포트(42), 안테나(44), 일 실시예에 따른 UICC의 형태의 스마트 카드(46), 카드 리더(48), 무선 인터페이스 회로(52), 코덱 회로(54), 제어기(56) 및 메모리(58)를 포함한다. 전술된 구성 요소는 전자 디바이스(28)가 본 발명의 다양한 실시예에 따라 네트워크 상에 위치할 수 있는 다른 디바이스로/로부터 다양한 메시지를 송신/수신할 수 있게 한다. 개별 회로 및 요소는 모두 당 기술 분야에 알려져 있는, 예를 들어 노키아의 휴대폰 범위의 유형이다.
도 6은 다양한 실시예가 구현될 수 있는 일반적인 멀티미디어 통신 시스템의 도식도이다. 도 6에 도시된 바와 같이, 데이터 소스(100)는 아날로그, 비압축 디지털 또는 압축 디지털 포맷 또는 이들 포맷의 임의의 조합의 소스 신호를 제공한다. 인코더(110)는 소스 신호를 코딩된 미디어 비트스트림으로 인코딩한다. 디코딩될 비트스트림은 실질적으로 임의의 유형의 네트워크 내에 위치된 원격 디바이스로부터 직접적으로 또는 간접적으로 수신될 수 있다는 것을 주목해야 한다. 추가적으로, 비트스트림은 로컬 하드웨어 또는 소프트웨어로부터 수신될 수 있다. 인코더(110)는 오디오 및 비디오와 같은 하나 초과의 미디어 유형을 인코딩할 수 있고, 또는 하나 초과의 인코더(110)가 상이한 미디어 유형의 소스 신호를 코딩하도록 요구될 수 있다. 인코더(110)는 또한 그래픽 및 텍스트와 같은 합성적으로 생성된 입력을 얻을 수 있고, 또는 합성 미디어의 코딩된 비트스트림을 생성할 수 있다. 이하에는, 단지 하나의 미디어 유형의 하나의 코딩된 미디어 비트스트림의 프로세싱만이 설명을 간단화하기 위해 고려된다. 그러나, 통상적으로 실시간 브로드캐스트 서비스는 다수의 스트림(통상적으로, 적어도 하나의 오디오, 비디오 및 텍스트 자막 스트림)을 포함한다는 것을 주목해야 한다. 시스템은 다수의 인코더를 포함할 수 있지만, 도 6에는 단지 하나의 인코더(110)만이 보편성의 결여 없이 설명을 간단화하기 위해 표현되어 있다는 것이 또한 주목되어야 한다. 본 명세서에 포함된 텍스트 및 예는 인코딩 프로세스를 구체적으로 설명할 수 있지만, 당 기술 분야의 숙련자는 동일한 개념 및 원리가 또한 대응 디코딩 프로세스에 적용될 수 있고 그 반대도 마찬가지라는 것을 이해할 수 있을 것이라는 것이 또한 이해되어야 한다.
코딩된 미디어 비트스트림은 저장 장치(120)에 전송된다. 저장 장치(120)는 코딩된 미디어 비트스트림을 저장하기 위한 임의의 유형의 대용량 메모리를 포함할 수 있다. 저장 장치(120) 내의 코딩된 미디어 비트스트림의 포맷은 기본적인 자체 내장형 비트스트림 포맷일 수 있고, 또는 하나 이상의 코딩된 미디어 비트스트림이 컨테이너 파일에 캡슐화될 수 있다. 몇몇 시스템은 "라이브"로 작동하는데, 즉 저장 장치를 생략하고 인코더(110)로부터 송신기(130)로 직접 코딩된 미디어 비트스트림을 전송한다. 코딩된 미디어 비트스트림은 이어서 수요에 근거하여 또한 서버라 칭하는 송신기(130)에 전송된다. 전송에 사용된 포맷은 기본적인 자체 내장형 비트스트림 포맷, 패킷 스트림 포맷일 수 있고, 또는 하나 이상의 코딩된 미디어 비트스트림은 컨테이너 파일로 캡슐화될 수 있다. 인코더(110), 저장 장치(120) 및 서버(130)는 동일한 물리적 디바이스 내에 위치할 수 있거나 이들은 개별 디바이스 내에 포함될 수 있다. 인코더(110) 및 서버(130)는 라이브 실시간 콘텐트로 작동할 수 있고, 이 경우 코딩된 미디어 비트스트림은 통상적으로 영구적으로 저장되지 않고, 대신에 프로세싱 지연, 전송 지연 및 코딩된 미디어 비트레이트의 편차를 평활화하기 위해 콘텐트 인코더(110) 및/또는 서버(130) 내의 작은 시간 기간 동안 버퍼링된다.
서버(130)는 통신 프로토콜 스택을 사용하여 코딩된 미디어 비트스트림을 송신한다. 스택은 이들에 한정되는 것은 아니지만, 실시간 전송 프로토콜(RTP), 사용자 데이터그램 프로토콜(UDP) 및 인터넷 프로토콜(IP)을 포함할 수 있다. 통신 프로토콜 스택이 패킷 배향될 때, 서버(130)는 코딩된 미디어 비트스트림을 패킷으로 캡슐화한다. 예를 들어, RTP가 사용될 때, 서버(130)는 RTP 페이로드 포맷에 따라 RTP 패킷으로 코딩된 미디어 비트스트림을 캡슐화한다. 통상적으로, 각각의 미디어 유형은 전용 RTP 페이로드 포맷을 갖는다. 시스템은 하나 초과의 서버(130)를 포함할 수 있지만, 간단화를 위해 이하의 설명이 단지 하나의 서버(130)에 고려된다는 것을 재차 주목해야 한다.
서버(130)는 통신 네트워크를 통해 게이트웨이(140)에 접속되거나 접속되지 않을 수 있다. 게이트웨이(140)는 일 통신 프로토콜 스택 대 다른 통신 프로토콜 스택에 따른 패킷 스트림의 변환, 데이터 스트림의 병합 및 포킹(forking) 및 지배적인 하향링크 네트워크 조건에 따른 포워딩된 스트림의 비트레이트를 제어하는 것과 같은 하향링크 및/또는 수신기 용량에 따른 데이터 스트림의 조작과 같은 상이한 유형의 기능을 수행할 수 있다. 게이트웨이(140)의 예는 MCU, 회로 전환 및 패킷 전환 비디오 전화와 같은 게이트웨이, 푸쉬 투 토크 오버 셀룰러(PoC) 서버, 디지털 비디오 브로드캐스팅 휴대용(DVD-H) 시스템 내의 IP 캡슐화기, 또는 홈 무선 네트워크에 로컬로 브로드캐스트 전송을 포워딩하는 셋탑 박스를 포함한다. RTP가 사용될 때, 게이트웨이(140)는 RTP 믹서 또는 RTP 변환기를 호출하고, 통상적으로 RTP 접속의 종점으로서 작용한다.
시스템은 통상적으로 전송된 신호를 수신하고, 복조하고, 코딩된 미디어 비트스트림으로 디캡슐화할 수 있는 하나 이상의 수신기(150)를 포함한다. 코딩된 미디어 비트스트림은 레코딩 저장 장치(155)로 전송된다. 레코딩 저장 장치(155)는 코딩된 미디어 비트스트림을 저장하기 위한 임의의 유형의 대용량 메모리를 포함할 수 있다. 레코딩 저장 장치(155)는 대안적으로 또는 추가적으로 임의 접근 메모리와 같은 연산 메모리를 포함할 수 있다. 레코딩 저장 장치(155) 내의 코딩된 미디어 비트스트림의 포맷은 기본의 자체 내장형 비트스트림 포맷일 수 있고, 또는 하나 이상의 코딩된 미디어 비트스트림은 컨테이너 파일 내로 캡슐화될 수 있다. 서로 관련된 오디오 스트림 및 비디오 스트림과 같은 다수의 코딩된 미디어 비트스트림이 존재하면, 컨테이너 파일이 통상적으로 사용되고 수신기(150)는 입력 스트림으로부터 컨테이너 파일을 생성하는 컨테이너 파일 생성기를 포함하거나 그에 부착된다. 몇몇 시스템은 "라이브"로 작동하고, 즉 레코딩 저장 장치(155)를 생략하고 수신기(150)로부터 디코더(160)로 직접 코딩된 미디어 비트스트림을 전달한다. 몇몇 시스템에서, 단지 레코딩된 스트림의 가장 최근의 부분, 예를 들어 레코딩된 스트림의 가장 최근의 10분 발췌부만이 레코딩 저장 장치(155) 내에 유지되고, 임의의 조기에 레코딩된 데이터는 레코딩 저장 장치(155)로부터 폐기된다.
코딩된 미디어 비트스트림은 레코딩 저장 장치(155)로부터 디코더(160)로 전송된다. 서로 관련되고 컨테이너 파일로 캡슐화된 오디오 스트림 및 비디오 스트림과 같은 다수의 코딩된 미디어 비트스트림이 존재하면, 파일 파서(도면에는 도시되지 않음)가 컨테이너 파일로부터 각각의 코딩된 미디어 비트스트림을 디캡슐화하는데 사용된다. 레코딩 저장 장치(155) 또는 디코더(160)는 파일 파서(parser)를 포함할 수 있고, 또는 파일 파서는 레코딩 저장 장치(155) 또는 디코더(160)에 부착될 수 있다.
코딩된 미디어 비트스트림은 통상적으로, 그 출력이 하나 이상의 비압축된 미디어 스트림인 디코더(160)에 의해 더 프로세싱된다. 마지막으로, 렌더러(170)는 예를 들어 라우드스피커 또는 디스플레이로 비압축된 미디어 스트림을 재생할 수 있다. 수신기(150), 레코딩 저장 장치(155), 디코더(160) 및 렌더러(170)는 동일한 물리적 디바이스 내에 위치될 수 있거나 이들은 개별 디바이스 내에 포함될 수도 있다.
다양한 실시예에 따른 송신기(130)는 예를 들어 비트스트림이 전달되는 네트워크의 지배적인 조건 또는 수신기(150)의 요청에 응답하기 위해, 다수의 이유로 전송된 레이어를 선택하도록 구성될 수 있다. 수신기로부터의 요청은 예를 들어 이전의 것과 비교하여 상이한 용량을 갖는 렌더링 디바이스의 변경 또는 디스플레이를 위한 레이어의 변경을 위한 요청일 수 있다.
본 명세서에 설명된 다양한 실시예는 네트워킹된 환경에서 컴퓨터에 의해 실행되는 프로그램 코드와 같은 컴퓨터 실행 가능 명령을 포함하는, 컴퓨터 판독 가능 매체에서 실시된 컴퓨터 프로그램 제품에 의해 일 실시예에서 구현될 수 있는 방법 단계 또는 프로세스의 일반적인 환경에서 설명된다. 컴퓨터 판독 가능 매체는, 이들에 한정되는 것은 아니지만 판독 전용 메모리(ROM), 임의 접근 메모리(RAM), 콤팩트 디스크(CD), 디지털 다기능 디스크(DVD) 등을 포함하는 제거 가능 및 비제거 가능 저장 장치 디바이스를 포함할 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 물체, 구성 요소, 데이터 구조 등을 포함할 수 있다. 데이터 구조와 관련된 컴퓨터 실행 가능 명령 및 프로그램 모듈은 본 명세서에 개시된 방법의 단계를 실행하기 위한 프로그램 코드의 예를 표현한다. 이러한 실행 가능 명령 또는 관련 데이터 구조의 특정 시퀀스는 이러한 단계 또는 프로세스에 설명된 기능을 구현하기 위한 대응 동작의 예를 표현한다.
본 발명의 실시예는 소프트웨어, 하드웨어, 응용 논리 또는 소프트웨어, 하드웨어 및 응용 논리의 조합에서 구현될 수 있다. 소프트웨어 응용 논리 및/또는 하드웨어는 예를 들어, 칩셋, 모바일 디바이스, 데스크탑, 랩탑 또는 서버 상에 상주할 수 있다. 다양한 실시예의 소프트웨어 및 웹 구현은 다양한 데이터베이스 탐색 단계 또는 프로세스, 상관 단계 또는 프로세스, 비교 단계 또는 프로세스 및 판정 단계 또는 프로세스를 성취하기 위해 규칙 기반 논리 및 다른 논리를 갖는 표준 프로그래밍 기술로 성취될 수 있다. 다양한 실시예는 또한 네트워크 요소 또는 모듈 내에 완전히 또는 부분적으로 구현될 수 있다. 용어 "구성 요소" 및 "모듈"은 본 명세서 및 이하의 청구범위에 사용될 때, 소프트웨어 코드의 하나 이상의 라인을 사용하는 구현예 및/또는 하드웨어 구현예 및/또는 수동 입력을 수신하기 위한 장비를 포함하는 것으로 의도된다는 것이 주목되어야 한다.
실시예의 상기 설명은 예시 및 설명을 위해 제시되어 있다. 상기 설명은 개시된 정확한 형태에 본 발명의 실시예를 한정하거나 철저한 것으로 의도되는 것은 아니고, 수정 및 변경이 상기 교시의 견지에서 가능하고 또는 다양한 실시예의 실시로부터 얻어질 수 있다. 본 명세서에 설명된 실시예는 고려된 특정 사용에 적합한 바와 같이 당 기술 분야의 숙련자가 다양한 실시예에서 본 발명을 이용하고 다양한 수정을 가질 수 있게 하도록 다양한 실시예 및 그 실용적인 용례의 원리 및 특성을 설명하기 위해 선택되고 설명되어 있다. 본 명세서에 설명된 실시예의 특징은 방법, 장치, 모듈, 시스템 및 컴퓨터 프로그램 제품의 모든 가능한 조합에서 조합될 수 있다.
10: 시스템 11: 휴대폰 네트워크
12: 전자 디바이스 14: PDA 및 휴대폰
16: PDA 18: 통합형 메시징 디바이스
20: 데스크탑 컴퓨터 22: 노트북 컴퓨터
24: 기지국 26: 네트워크 서버
28: 전자 디바이스 30: 하우징
32: 디스플레이 34: 키패드
36: 마이크로폰 38: 이어피스
40: 배터리 42: 적외선 포트
44: 안테나 46: 스마트 카드
48: 카드 리더 52: 무선 인터페이스 회로
54: 코덱 회로 56: 제어기
58: 메모리 100: 데이터 소스
110: 인코더 120: 저장 장치
130: 송신기 140: 게이트웨이
150: 수신기 155: 레코딩 저장 장치
160: 디코더 170: 렌더러

Claims (40)

  1. 코드북(C) 내의 순서화된 코드벡터를 사용하여 입력 벡터를 위한 최선의 정합 벡터를 탐색하는 단계 - 상기 코드벡터는 상기 코드벡터의 성분(k)에 기초하여 순서화됨 - 를 포함하고,
    상기 탐색 단계는
    상기 입력 벡터의 성분(k)만을 고려하여 2진 탐색을 수행하고,
    전체(full) 코드벡터를 고려하여 수정된 부분 왜곡 탐색을 수행하는 것을 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 코드벡터는 오름 차수로 순서화되고, 상기 2진 탐색을 수행하는 것은 이하의 조건
    Figure pct00009

    을 만족시키는 최소 지수 j를 갖는 벡터를 발견하고,
    X는 입력 벡터이고, C는 순서화된 코드벡터인
    방법.
  3. 제 2 항에 있어서,
    상기 수정된 부분 왜곡 탐색을 수행하는 것은
    지수 j-1에서 시작하여 하향 탐색을 수행하는 것과,
    지수 j에서 시작하여 상향 탐색을 수행하는 것을 포함하는
    방법.
  4. 제 3 항에 있어서,
    상기 하향 탐색은 최선의 정합을 제공하는 당시의(then-current) 코드벡터보다 성분(k)에 대해 더 큰 왜곡을 생성하는 코드벡터의 발견시에 종료되는
    방법.
  5. 제 3 항에 있어서,
    상기 상향 탐색은 최선의 정합을 제공하는 당시의 코드벡터보다 성분(k)에 대해 더 큰 왜곡을 생성하는 코드벡터의 발견시에 종료되는
    방법.
  6. 제 3 항에 있어서,
    상기 상향 탐색 및 하향 탐색의 모두의 종료시에 최선의 정합 벡터로서 코드벡터를 선택하는 것을 추가로 포함하는
    방법.
  7. 하나 이상의 코드벡터를 갖는 코드북(C)으로부터 코드벡터의 성분(k)을 식별하는 단계와,
    순서화된 코드벡터를 사용하여 입력 벡터에 대한 최선의 정합 벡터를 탐색하는 것을 용이하게 하도록 적어도 부분적으로 성분(k)에 기초하여 코드북(C) 내의 코드벡터의 순서화를 허용하는 단계를 포함하는
    방법.
  8. 제 7 항에 있어서,
    상기 성분(k)은 최고 분산을 도입하는 코드북(C)으로부터의 코드벡터의 성분으로서 식별되는
    방법.
  9. 제 7 항에 있어서,
    상기 코드벡터의 순서화를 허용하는 단계는 성분(k)에 따라 코드북(C) 내의 코드벡터를 분류하는 것을 포함하는
    방법.
  10. 제 7 항에 있어서,
    상기 코드벡터의 순서화를 허용하는 단계는 코드북(C) 내의 코드벡터 지수를 형성하기 위해 맵핑 기능을 제공하는 것을 포함하는
    방법.
  11. 코드북(C) 내의 순서화된 코드벡터를 사용하여 입력 벡터를 위한 최선의 정합 벡터를 탐색하도록 구성되고, 상기 코드벡터는 상기 코드벡터의 성분(k)에 기초하여 순서화되는 인코더를 포함하고,
    디코더는
    상기 입력 벡터의 성분(k)만을 고려하여 2진 탐색을 수행하고,
    전체 코드벡터를 고려하여 수정된 부분 왜곡 탐색을 수행함으로써 탐색하도록 구성되는
    장치.
  12. 제 11 항에 있어서,
    상기 코드벡터는 오름 차수로 순서화되고, 상기 2진 탐색은 이하의 조건
    Figure pct00010

    을 만족시키는 최소 지수 j를 갖는 벡터를 발견하고,
    X는 입력 벡터이고, C는 순서화된 코드벡터인
    장치.
  13. 제 12 항에 있어서,
    상기 수정된 부분 왜곡 탐색을 수행하는 것은
    지수 j-1에서 시작하여 하향 탐색을 수행하는 것과,
    지수 j에서 시작하여 상향 탐색을 수행하는 것을 포함하는
    장치.
  14. 제 13 항에 있어서,
    상기 하향 탐색은 최선의 정합을 제공하는 당시의 코드벡터보다 성분(k)에 대해 더 큰 왜곡을 생성하는 코드벡터의 발견시에 종료되는
    장치.
  15. 제 13 항에 있어서,
    상기 상향 탐색은 최선의 정합을 제공하는 당시의 코드벡터보다 성분(k)에 대해 더 큰 왜곡을 생성하는 코드벡터의 발견시에 종료되는
    장치.
  16. 제 13 항에 있어서,
    상기 인코더는 상향 탐색 및 하향 탐색의 모두의 종료시에 최선의 정합 벡터로서 코드벡터를 선택하도록 추가로 구성되는
    장치.
  17. 하나 이상의 코드벡터를 갖는 코드북(C)으로부터 코드벡터의 성분(k)을 식별하고,
    순서화된 코드벡터를 사용하여 입력 벡터에 대한 최선의 정합 벡터를 탐색하는 것을 용이하게 하도록 적어도 부분적으로 성분(k)에 기초하여 코드북(C) 내의 코드벡터의 순서화를 허용하도록 구성된 인코더를 포함하는
    장치.
  18. 제 17 항에 있어서,
    상기 성분(k)은 입력 벡터에 대해 최고 분산을 도입하는 코드북(C)으로부터의 코드벡터의 성분으로서 식별되는
    장치.
  19. 제 17 항에 있어서,
    상기 인코더는 성분(k)에 따라 코드북(C) 내의 코드벡터를 분류함으로써 코드벡터의 순서화를 허용하도록 구성되는
    장치.
  20. 제 17 항에 있어서,
    상기 인코더는 코드북(C) 내의 코드벡터 지수를 형성하기 위해 맵핑 기능을 제공함으로서 코드벡터의 순서화를 허용하도록 구성되는
    장치.
  21. 프로세서와,
    상기 프로세서에 통신적으로 접속되고, 코드북(C) 내의 순서화된 코드벡터를 사용하여 입력 벡터에 대한 최선의 정합 벡터를 탐색하기 위한 컴퓨터 코드 - 상기 코드벡터는 코드벡터의 성분(k)에 기초하여 순서화됨 - 를 포함하는 메모리 유닛을 포함하고,
    상기 탐색을 위한 컴퓨터 코드는,
    단지 입력 벡터의 성분(k)만을 고려하여 2진 탐색을 수행하기 위한 컴퓨터 코드와,
    전체 코드벡터를 고려하는 수정된 부분 왜곡 탐색을 수행하기 위한 컴퓨터 코드를 포함하는
    장치.
  22. 제 21 항에 있어서,
    상기 코드벡터는 오름 차수로 순서화되고, 상기 2진 탐색을 수행하기 위한 컴퓨터 코드는 이하의 조건
    Figure pct00011

    을 만족시키는 최소 지수 j를 갖는 벡터를 발견하도록 구성되고,
    X는 입력 벡터이고, C는 순서화된 코드벡터인
    장치.
  23. 제 22 항에 있어서,
    상기 수정된 부분 왜곡 탐색을 수행하기 위한 컴퓨터 코드는
    지수 j-1에서 시작하여 하향 탐색을 수행하기 위한 컴퓨터 코드와,
    지수 j에서 시작하여 상향 탐색을 수행하기 위한 컴퓨터 코드를 포함하는
    장치.
  24. 제 23 항에 있어서,
    상기 하향 탐색을 수행하기 위한 컴퓨터 코드는 최선의 정합을 제공하는 당시의 코드벡터보다 성분(k)에 대해 더 큰 왜곡을 생성하는 코드벡터의 발견시에 하향 탐색을 종료하도록 구성되는
    장치.
  25. 제 23 항에 있어서,
    상기 상향 탐색을 수행하기 위한 컴퓨터 코드는 최선의 정합을 제공하는 당시의 코드벡터보다 성분(k)에 대해 더 큰 왜곡을 생성하는 코드벡터의 발견시에 상향 탐색을 종료하도록 구성되는
    장치.
  26. 제 23 항에 있어서,
    상기 상향 탐색 및 하향 탐색의 모두의 종료시에 최선의 정합 벡터로서 코드벡터를 선택하기 위한 컴퓨터 코드를 추가로 포함하는
    장치.
  27. 프로세서와,
    상기 프로세서에 통신적으로 접속되고,
    하나 이상의 코드벡터를 갖는 코드북(C)으로부터 코드벡터의 성분(k)을 식별하기 위한 컴퓨터 코드, 및
    순서화된 코드벡터를 사용하여 입력 벡터에 대한 최선의 정합 벡터를 탐색하는 것을 용이하게 하도록 적어도 부분적으로 성분(k)에 기초하여 코드북(C) 내의 코드벡터의 순서화를 허용하기 위한 컴퓨터 코드를 포함하는 메모리 유닛을 포함하는
    장치.
  28. 제 27 항에 있어서,
    상기 성분(k)은 최고 분산을 도입하는 코드북(K)으로부터의 코드벡터의 성분으로서 식별되는
    장치.
  29. 제 27 항에 있어서,
    상기 코드벡터의 순서화를 허용하기 위한 컴퓨터 코드는 성분(k)에 따라 코드북(C) 내의 코드벡터를 분류하기 위한 컴퓨터 코드를 포함하는
    장치.
  30. 제 27 항에 있어서,
    상기 코드벡터의 순서화를 허용하기 위한 컴퓨터 코드는 코드북(C) 내의 코드벡터 지수를 형성하기 위해 맵핑 기능을 제공하기 위한 컴퓨터 코드를 포함하는
    장치.
  31. 컴퓨터 판독 가능 매체 상에 구체화된 컴퓨터 프로그램 제품에 있어서,
    코드북(C) 내의 순서화된 코드벡터를 사용하여 입력 벡터를 위한 최선의 정합 벡터를 탐색하기 위한 컴퓨터 코드 - 상기 코드벡터는 상기 코드벡터의 성분(k)에 기초하여 순서화됨 - 를 포함하고,
    상기 탐색을 위한 컴퓨터 코드는
    상기 입력 벡터의 성분(k)만을 고려하여 2진 탐색을 수행하기 위한 컴퓨터 코드, 및
    전체 코드벡터를 고려하여 수정된 부분 왜곡 탐색을 수행하기 위한 컴퓨터 코드를 포함하는
    컴퓨터 프로그램 제품.
  32. 제 31 항에 있어서,
    상기 코드벡터는 오름 차수로 순서화되고, 상기 2진 탐색을 수행하기 위한 컴퓨터 코드는 이하의 조건
    Figure pct00012

    을 만족시키는 최소 지수 j를 갖는 벡터를 발견하도록 구성되고,
    X는 입력 벡터이고, C는 순서화된 코드벡터인
    컴퓨터 프로그램 제품.
  33. 제 32 항에 있어서,
    상기 수정된 부분 왜곡 탐색을 수행하기 위한 컴퓨터 코드는
    지수 j-1에서 시작하여 하향 탐색을 수행하기 위한 컴퓨터 코드와,
    지수 j에서 시작하여 상향 탐색을 수행하기 위한 컴퓨터 코드를 포함하는
    컴퓨터 프로그램 제품.
  34. 제 33 항에 있어서,
    상기 하향 탐색을 수행하기 위한 컴퓨터 코드는 최선의 정합을 제공하는 당시의 코드벡터보다 성분(k)에 대해 더 큰 왜곡을 생성하는 코드벡터의 발견시에 하향 탐색을 종료하도록 구성되는
    컴퓨터 프로그램 제품.
  35. 제 33 항에 있어서,
    상기 상향 탐색을 수행하기 위한 컴퓨터 코드는 최선의 정합을 제공하는 당시의 코드벡터보다 성분(k)에 대해 더 큰 왜곡을 생성하는 코드벡터의 발견시에 상향 탐색을 종료하도록 구성되는
    컴퓨터 프로그램 제품.
  36. 제 33 항에 있어서,
    상기 상향 탐색 및 하향 탐색의 모두의 종료시에 최선의 정합 벡터로서 코드벡터를 선택하기 위한 컴퓨터 코드를 추가로 포함하는
    컴퓨터 프로그램 제품.
  37. 컴퓨터 판독 가능 매체 상에 구체화된 컴퓨터 프로그램 제품에 있어서,
    하나 이상의 코드벡터를 갖는 코드북(C)으로부터 코드벡터의 성분(k)을 식별하기 위한 컴퓨터 코드와,
    순서화된 코드벡터를 사용하여 입력 벡터에 대한 최선의 정합 벡터를 탐색하는 것을 용이하게 하도록 적어도 부분적으로 성분(k)에 기초하여 코드북(C) 내의 코드벡터의 순서화를 허용하기 위한 컴퓨터 코드를 포함하는
    컴퓨터 프로그램 제품.
  38. 제 37 항에 있어서,
    상기 성분(k)은 최고 분산을 도입하는 코드북(C)으로부터의 코드벡터의 성분으로서 식별되는
    컴퓨터 프로그램 제품.
  39. 제 37 항에 있어서,
    상기 코드벡터의 순서화를 허용하기 위한 컴퓨터 코드는 성분(k)에 따라 코드북(C) 내의 코드벡터를 분류하기 위한 컴퓨터 코드를 포함하는
    컴퓨터 프로그램 제품.
  40. 제 37 항에 있어서,
    상기 코드벡터의 순서화를 허용하기 위한 컴퓨터 코드는 코드북(C) 내의 코드벡터 지수를 형성하기 위해 맵핑 기능을 제공하기 위한 컴퓨터 코드를 포함하는
    컴퓨터 프로그램 제품.
KR1020117003602A 2008-07-17 2009-07-02 벡터 양자화기를 위한 고속 최근접 이웃 탐색용 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 KR101236054B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8167108P 2008-07-17 2008-07-17
US61/081,671 2008-07-17
PCT/FI2009/050603 WO2010007211A1 (en) 2008-07-17 2009-07-02 Method and apparatus for fast nearestneighbor search for vector quantizers

Publications (2)

Publication Number Publication Date
KR20110040932A true KR20110040932A (ko) 2011-04-20
KR101236054B1 KR101236054B1 (ko) 2013-02-21

Family

ID=41530269

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117003602A KR101236054B1 (ko) 2008-07-17 2009-07-02 벡터 양자화기를 위한 고속 최근접 이웃 탐색용 방법, 장치 및 컴퓨터 판독 가능한 기록 매체

Country Status (5)

Country Link
US (1) US8027380B2 (ko)
EP (1) EP2304722B1 (ko)
KR (1) KR101236054B1 (ko)
CN (1) CN102144256B (ko)
WO (1) WO2010007211A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8630848B2 (en) 2008-05-30 2014-01-14 Digital Rise Technology Co., Ltd. Audio signal transient detection
CN102474267B (zh) * 2009-07-02 2015-04-01 西门子企业通讯有限责任两合公司 用于特征向量的向量量化的方法
US8428397B1 (en) * 2010-08-26 2013-04-23 Adobe Systems Incorporated Systems and methods for large scale, high-dimensional searches
KR101461840B1 (ko) 2010-11-26 2014-11-13 노키아 코포레이션 낮은 복잡도의 타깃 벡터 식별
US20120216230A1 (en) * 2011-02-18 2012-08-23 Nokia Corporation Method and System for Signaling Transmission Over RTP
CN103636129B (zh) * 2011-07-01 2017-02-15 诺基亚技术有限公司 多尺度码本搜索
DK2831757T3 (da) * 2012-03-29 2019-08-19 Ericsson Telefon Ab L M Vektorkvantiserer
WO2015099898A1 (en) 2013-12-26 2015-07-02 Intel Corporation Efficient method and hardware implementation for nearest neighbor search
US10459902B2 (en) 2014-06-19 2019-10-29 Nec Corporation Information processing device, vector data processing method, and recording medium
PL3467825T3 (pl) * 2014-07-28 2020-08-10 Telefonaktiebolaget Lm Ericsson (Publ) Wyszukiwanie kształtu przez piramidowy kwantyzator wektorowy
CN104269176B (zh) * 2014-09-30 2017-11-24 武汉大学深圳研究院 一种isf系数矢量量化的方法与装置
CA2991341A1 (en) 2015-07-06 2017-01-12 Nokia Technologies Oy Bit error detector for an audio signal decoder

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4907276A (en) 1988-04-05 1990-03-06 The Dsp Group (Israel) Ltd. Fast search method for vector quantizer communication and pattern recognition systems
EP0751496B1 (en) 1992-06-29 2000-04-19 Nippon Telegraph And Telephone Corporation Speech coding method and apparatus for the same
US5517511A (en) * 1992-11-30 1996-05-14 Digital Voice Systems, Inc. Digital transmission of acoustic signals over a noisy communication channel
US6131084A (en) * 1997-03-14 2000-10-10 Digital Voice Systems, Inc. Dual subframe quantization of spectral magnitudes
US6714907B2 (en) * 1998-08-24 2004-03-30 Mindspeed Technologies, Inc. Codebook structure and search for speech coding
US6260017B1 (en) * 1999-05-07 2001-07-10 Qualcomm Inc. Multipulse interpolative coding of transition speech frames
US7003454B2 (en) * 2001-05-16 2006-02-21 Nokia Corporation Method and system for line spectral frequency vector quantization in speech codec
KR100492965B1 (ko) * 2002-09-27 2005-06-07 삼성전자주식회사 벡터 양자화를 위한 고속 탐색방법
CN1820306B (zh) * 2003-05-01 2010-05-05 诺基亚有限公司 可变比特率宽带语音编码中增益量化的方法和装置
US20080097757A1 (en) 2006-10-24 2008-04-24 Nokia Corporation Audio coding

Also Published As

Publication number Publication date
EP2304722A1 (en) 2011-04-06
WO2010007211A1 (en) 2010-01-21
CN102144256B (zh) 2013-08-28
EP2304722B1 (en) 2018-03-14
US20100014577A1 (en) 2010-01-21
CN102144256A (zh) 2011-08-03
EP2304722A4 (en) 2011-11-30
KR101236054B1 (ko) 2013-02-21
US8027380B2 (en) 2011-09-27

Similar Documents

Publication Publication Date Title
KR101236054B1 (ko) 벡터 양자화기를 위한 고속 최근접 이웃 탐색용 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
TWI466102B (zh) 用以使經編碼音訊資料之錯誤消隱的方法和裝置
KR100931912B1 (ko) 스케일러블 비디오 코딩에서 fgs 식별
US11915144B2 (en) Apparatus, a method and a computer program for running a neural network
US7756206B2 (en) FGS identification in scalable video coding
RU2565877C2 (ru) Способ и устройство для определения соответствия между синтаксическим элементом и кодовым словом для кодирования переменной длины
Sun et al. Guide to voice and video over IP: for fixed and mobile networks
WO2010037310A1 (zh) 多路视频通信方法与系统
KR101709681B1 (ko) 산술 인코딩 또는 산술 디코딩 방법 및 장치
KR20110100256A (ko) Dct 계수 부호화 모드들 간의 전환
US9245529B2 (en) Adaptive encoding of a digital signal with one or more missing values
WO2010140546A1 (ja) 符号化方法、復号化方法、符号化装置、復号化装置、符号化プログラム、復号化プログラム及びこれらの記録媒体
JP2017520961A (ja) ビデオ符号化及び復号の方法及び技術装置
CN1622593B (zh) 用于实现信噪比可伸缩性的视频处理的装置和方法
US20210103813A1 (en) High-Level Syntax for Priority Signaling in Neural Network Compression
US20230325644A1 (en) Implementation Aspects Of Predictive Residual Encoding In Neural Networks Compression
KR20160118365A (ko) 코딩을 위한 방법 및 장치
US8195452B2 (en) High-quality encoding at low-bit rates
JP2004170494A (ja) 音声符号化装置,音声符号化方法

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: 20160119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 8