KR100984234B1 - 벡터 코딩/디코딩 방법 및 장치 그리고 스트림 미디어플레이어 - Google Patents

벡터 코딩/디코딩 방법 및 장치 그리고 스트림 미디어플레이어 Download PDF

Info

Publication number
KR100984234B1
KR100984234B1 KR1020080071877A KR20080071877A KR100984234B1 KR 100984234 B1 KR100984234 B1 KR 100984234B1 KR 1020080071877 A KR1020080071877 A KR 1020080071877A KR 20080071877 A KR20080071877 A KR 20080071877A KR 100984234 B1 KR100984234 B1 KR 100984234B1
Authority
KR
South Korea
Prior art keywords
code
vector
absolute
initial
sign
Prior art date
Application number
KR1020080071877A
Other languages
English (en)
Other versions
KR20090010932A (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 KR20090010932A publication Critical patent/KR20090010932A/ko
Application granted granted Critical
Publication of KR100984234B1 publication Critical patent/KR100984234B1/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

Landscapes

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

Abstract

본 발명은 벡터 코딩/디코딩 방법 및 장치 그리고 스트림 미디어 플레이어를 개시한다. 벡터 코딩 방법은, 초기 벡터(initial vector)를 분해하여 부호 벡터(sign vector)와 초기 절대 벡터를 획득하는 단계; 부호 벡터를 코딩하여 부호 코드를 획득하는 단계; 초기 절대 벡터에 다중 레벨 순열-기반 코딩을 수행하여 절대 벡터 코드를 획득하는 단계; 및 상기 부호 코드와 절대 벡터 코드를 조합하여 초기 벡터의 코드를 획득하는 단계를 포함한다. 벡터 디코딩 방법은, 초기 벡터의 코드를 분해하여 부호 코드와 절대 벡터 코드를 획득하는 단계; 상기 부호 코드를 디코딩하여 부호 벡터를 획득하는 단계; 절대 벡터 코드에 다중 레벨 순열-기반 디코딩을 수행하여 초기 절대 벡터를 획득하는 단계; 및 부호 벡터와 초기 절대 벡터를 조합하여 초기 벡터를 획득하는 단계를 포함한다. 상기의 해결 방법을 이용하면, 계산의 복잡성이 줄어든다.
벡터 코딩, 디코딩, 벡터 양자화, 초기 벡터, 절대 벡터

Description

벡터 코딩/디코딩 방법 및 장치 그리고 스트림 미디어 플레이어{VECTOR CODING/DECODING METHOD AND APPARATUS AND STREAM MEDIA PLAYER}
본 출원은 2007년 7월 23일에 신청된 "벡터 코딩/디코딩 방법 및 장치 그리고 스트림 미디어 플레이어"라는 제목의 중국 특허 출원 200710129604.6 및 2008년 6월 30일 신청된 "벡터 코딩/디코딩 방법 및 장치 그리고 스트림 미디어 플레이어"라는 제목의 국제 특허 출원 PCT/CN2008/071481의 우선권을 주장하며, 이는 여기서 참조로서 전체가 포함된다.
본 발명은 코덱 기술(codec technologies)에 관한 것으로서, 상세하게는 벡터 코딩/디코딩(coding/decoding) 방법 및 장치 그리고 스트림 미디어 플레이어(stream media player)에 관한 것이다.
통상, 벡터 양자화 기술(vector quantization technologies)은 스트림 미디어 코딩(stream media coding)에 활용되는데, 상기 기술 중에 격자 벡터 양자화(lattice vector quantization)는 일반적인 기술로서, 이는 저속 시나리오(low-rate scenarios)에서 상당히 광범위하게 사용된다. 예를 들어, 오디오 코딩 시, 광범위하게 사용되는 확장형 적응 다중 속도 광대역 코덱(AMR-WB+, extend adaptive muti-rate wideband codec) 오디오 코딩 알고리즘의 변환 코드 여기(TCX, transform code excite) 부분에 활용되는 양자화 기술은 RE8을 기초로 한 다중 속도 격자 벡터 양자화 기술(multi-rate lattice vector quantization technique)이다.
AMR-WB+ 오디오 코딩 알고리즘(audio coding algorithm)의 TCX 부분에 적용되는 양자화 접근법으로는, 다중 속도 격자 벡터 양자화 접근법이 있다. 다중 속도 격자 벡터 양자화 접근법은 각각 8의 값으로 구성되는 그룹들의 예비 형성된(preshaped) 스펙트럼 데이터에 적용되고, 상기 값 8은 근접성의 원칙을 기반으로 하는 RE8 집합의 요소들(elements)로 양자화된다. 알고리즘에서, 요소들의 집합은 RE8로부터 양자화되며 선택되는데, 상기 양자화는
Figure 112008053062154-pat00001
로 정의된다. 이때
Figure 112008053062154-pat00002
이다. 따라서, RE8 집합에서 모든 요소들의 합은 4의 배수이다. 그러므로, 양자화 접근법은 본래 데이터(original data)에 가장 가까운 요소를 위한 2D8 집합을 찾는 단계, 본래 데이터에 가장 가까운 요소를 위한 2D8+(1,1,1,...,1) 집합을 찾는 단계, 및 상기 찾아낸 두 요소들을 비교하여 결과값 즉 초기 벡터(initial vector)를 획득하는 단계를 포함하며, 상기 초기 벡터는 ck로 표시되는 정수 데이터 그룹
Figure 112008053062154-pat00003
이다. 상기 입력된 데이터는 각각 8의 값으로 구성되는 그룹들로 나누어지므로, 실제로 그 결과값 ck
Figure 112008053062154-pat00004
이다.
결과적으로, Q0, Q2, Q3, Q4의 기본 코드북들(basic codebooks)은 ck를 찾기 위해 탐색(searching)된다. ck가 기본 코드북들에서 발견되지 않으면, 상기 기본 코드북들은 보로노이 확장(Voronoi extension)을 통해 ck 와 함께 확장됨으로써, 그에 대응되는 기본 코드북 지수 및 확장된 코드북 지수(ectended codebook index)가 결정된다. Q0, Q2, Q3, Q4의 기본 코드북들은 아래 표 1에 도시되어 있다.
하기 표 1은 기본 코드북을 나타낸 것이다:
영역
(sphere)

(Ka)
리더
(Leader)
조합
(Combination)
부호
(Sign)
크기
(Size)
Q0 Q2 Q3 Q4
0 { 0, 0, 0, 0, 0, 0, 0, 0} 1 X
2 0 { 1, 1, 1, 1, 1, 1, 1, 1} 1 128 128 X X
8 1 { 2, 2, 0, 0, 0, 0, 0, 0} 28 4 112 X X
16 2 { 2, 2, 2, 2, 0, 0, 0, 0} 70 16 1120 X
22 3 { 3, 1, 1, 1, 1, 1, 1, 1} 8 128 1024 X
64 4 { 4, 0, 0, 0, 0, 0, 0, 0} 8 2 16 X X
24 5 { 2, 2, 2, 2, 2, 2, 0, 0} 28 64 1792 X
42 6 { 3, 3, 1, 1, 1, 1, 1, 1} 28 128 3584 X
72 7 { 4, 2, 2, 0, 0, 0, 0, 0} 168 8 1344 X
32 8 { 2, 2, 2, 2, 2, 2, 2, 2} 1 256 256 X
62 9 { 3, 3, 3, 1, 1, 1, 1, 1} 56 128 7168 X
80 10 { 4, 2, 2, 2, 2, 0, 0, 0} 280 32 8960 X
128 11 { 4, 4, 0, 0, 0, 0, 0, 0} 28 4 112 X
158 12 { 5, 1, 1, 1, 1, 1, 1, 1} 8 128 1024 X
82 13 { 3, 3, 3, 3, 1, 1, 1, 1} 70 128 8960 X
88 14 { 4, 2, 2, 2, 2, 2, 2, 0} 56 128 7168 X
136 15 { 4, 4, 2, 2, 0, 0, 0, 0} 420 16 6720 X
178 16 { 5, 3, 1, 1, 1, 1, 1, 1} 56 128 7168 X
328 17 { 6, 2, 0, 0, 0, 0, 0, 0} 56 4 224 X
192 18 { 4, 4, 4, 0, 0, 0, 0, 0} 56 8 448 X
336 29 { 6, 2, 2, 2, 0, 0, 0, 0} 280 16 4480 X
392 20 { 6, 4, 2, 0, 0, 0, 0, 0} 336 8 2688 X
1202 21 { 7, 7, 1, 1, 1, 1, 1, 1} 8 128 1024 X
1024 22 { 8, 0, 0, 0, 0, 0, 0, 0} 8 2 16 X
648 23 { 6, 6, 0, 0, 0, 0, 0, 0} 28 4 112 X
1032 24 { 8, 2, 2, 0, 0, 0, 0, 0} 168 8 1344 X
1088 25 { 8, 4, 0, 0, 0, 0, 0, 0} 56 4 224 X
1642 26 { 9, 1, 1, 1, 1, 1, 1, 1} 8 128 1024 X
2504 27 { 10, 2, 0, 0, 0, 0, 0, 0} 56 4 224 X
2048 28 { 8, 8, 0, 0, 0, 0, 0, 0} 28 4 112 X
2824 39 { 10, 6, 0, 0, 0, 0, 0, 0} 56 4 224 X
5184 30 { 12, 0, 0, 0, 0, 0, 0, 0} 8 2 16 X
5248 31 { 12, 4, 0, 0, 0, 0, 0, 0} 56 4 224 X
5000 32 {10, 10, 0, 0, 0, 0, 0, 0} 28 4 112 X
9608 33 { 14, 2, 0, 0, 0, 0, 0, 0} 56 4 224 X
6208 34 { 12, 8, 0, 0, 0, 0, 0, 0} 56 4 224 X
16384 35 {16, 0, 0, 0, 0, 0, 0, 0} 8 2 16 X
표 1에 도시된 지표 코드북들, 즉 리더들은 각 영역(sphere)에 분산되어 있다. 상기 영역은 각 영역의 크기를 표시하고, 상기 크기는 상기 리더의 순열 및 조합에서 유도되는 코드 단어들(codewords)의 수를 표시하며, 상기 카(ka)는 각 리더들을 식별하는데, 이 때 각 리더는 서로 다른 카의 값을 가진다. 영역의 값(S)은 각 리더의 모든 구성 요소들의 4승(power)을 더한 값의 사분의 일이다. 즉
Figure 112008053062154-pat00005
이다. 각 리더는 서로 다른 값을 가지는 S에 대응된다. 코딩 시, S의 각 값은 카의 값에 대응된다. 8-차원 벡터(8-dimensional vector)의 경우, 적합한 카는 상기 8-차원 벡터의 S의 계산값으로만 찾아질 수 있고, 따라서 S의 값이 속하는 리더는 카의 값으로부터 결정될 수 있다. 또한, 표 1에는 리더들의 기본 코드북들도 도시되어 있다. 기본 코드북들은 Q0, Q2, Q3 및 Q4로 나누어져 있다. 표 1에 도시된 바와 같이, Q0은 한 개의 리더만 포함하고, Q2, Q3 및 Q4는 각각 3개, 8개 및 28개의 리더들을 포함하며, 이 때 Q2 ⊂ Q3, 및 Q3
Figure 112008053062154-pat00006
Q4이다.
ck가 속하는 기본 코드북이 결정된 이후, ck는 요소들의 집합 0 , α 1 ,...,α q-1 )으로부터 나온 샘플이고, W(i)는 상기 샘플에서 요소αi 의 수이므로, 리더(L)의 가능한 상태의 수는 이하와 같이 k(l)로 주어지는 것으로 간주된다.
Figure 112008053062154-pat00007
d(k)=i, xk=ai, 그리고 w i k 는 (x 0 , x 1 ,..., x n -1 )에서 요소 α i 의 수라면, 상기 (x 0 , x 1 ,..., x n -1 )의 지수는 이하와 같이 코딩된다.
Figure 112008053062154-pat00008
디코딩 시, 벡터 d(k)가 이하의 수식을 이용하여 연속적으로 얻어진다면, k=0,...7 이다:
Figure 112008053062154-pat00009
따라서, (x 0 , x 1 ,..., x n -1 )d(k)=ix k = a i 를 기반으로 하여 d(k)로부터 유도된다.
상기와 같은 해결 방법의 단점은, 적어도, 코딩 및 디코딩중에 다수 개의 불규칙 팩토리알들(irregular factorials)이 계산된다는 것이며, 또한, 이러한 임의적 팩토리알들의 계산은 검색 프로세스(lookup process)에 의해 간략화되기도 어려우므로, 계산이 매우 복잡해진다는 것이다.
본 발명의 일 실시예는 계산의 복잡성을 줄여주는 벡터 코딩/디코딩 방법 및 장치, 그리고 스트림 미디어 플레이어를 제공한다.
본 발명의 일 실시예는, 초기 벡터(initial vector)를 분해(decomposing)하 여 부호 벡터(sign vector)와 초기 절대 벡터(initial absolute vector)를 획득하는 단계; 상기 부호 벡터를 코딩하여 부호 코드를 획득하는 단계; 상기 초기 절대 벡터에 다중 레벨 순열을 기반으로 하는 코딩을 수행하여 절대 벡터 코드를 획득하는 단계; 그리고 상기 부호 코드 및 상기 절대 벡터 코드를 조합하여 초기 벡터의 코드를 획득하는 단계를 포함하는 벡터 코딩 방법을 제공한다.
본 발명의 일 실시예는, 초기 벡터의 코드를 분해하여 부호 코드와 절대 벡터 코드를 획득하는 단계; 상기 부호 코드를 디코딩하여 부호 벡터를 획득하는 단계; 상기 절대 벡터 코드에 다중 레벨 순열을 기반으로 하는 디코딩을 수행하여 초기 절대 벡터를 획득하는 단계; 그리고 상기 부호 벡터 및 상기 초기 절대 벡터를 조합하여 초기 벡터를 획득하는 단계를 포함하는 벡터 디코딩 방법을 제공한다.
본 발명의 일 실시예는, 초기 벡터를 분해하도록 적응되어 부호 벡터 및 초기 절대 벡터를 획득하는 분해 유닛; 상기 부호를 코딩하도록 적응되어 부호 코드를 획득하는 부호 코딩 유닛; 상기 초기 절대 벡터에 다중 레벨 순열을 기반으로 하는 코딩을 수행하도록 적응되어 절대 벡터 코드를 획득하는 다중 레벨 순열-기반 코딩 유닛; 그리고 상기 부호 코드 및 상기 절대 벡터 코드를 조합하도록 적응되어 초기 벡터의 코드를 획득하는 조합 유닛을 포함하는 벡터 코딩 장치를 제공한다.
본 발명의 일 실시예는, 초기 벡터의 코드를 분해하도록 적응되어 부호 코드 및 절대 벡터 코드를 획득하는 분해 유닛; 상기 부호 코드를 디코딩하도록 적응되어 부호 벡터를 획득하는 부호 디코딩 유닛; 상기 절대 벡터 코드에 다중 레벨 순열을 기반으로 하는 디코딩을 수행하도록 적응되어 초기 절대 벡터를 획득하는 다 중 레벨 순열-기반 디코딩 유닛; 그리고 상기 부호 벡터 및 상기 초기 절대 벡터를 조합하도록 적응되어 초기 벡터를 획득하는 조합 유닛을 포함하는 벡터 디코딩 장치를 제공한다.
본 발명의 일 실시예는, 벡터 코드를 분해하도록 적응되어 부호 코드 및 절대 벡터 코드를 획득하는 분해 유닛; 상기 부호 코드를 디코딩하도록 적응되어 부호 벡터를 획득하는 부호 디코딩 유닛; 상기 절대 벡터 코드에 다중 레벨 순열을 기반으로 하는 디코딩을 수행하도록 적응되어 초기 절대 벡터를 획득하는 다중 레벨 순열-기반 디코딩 유닛; 그리고 상기 부호 벡터 및 상기 초기 절대 벡터를 조합하도록 적응되어 초기 벡터를 획득하는 조합 유닛을 포함하는 벡터 디코딩 장치를 구비하는 스트림 미디어 플레이어를 제공한다.
상술한 기술적 해결 방법에서 알 수 있는 바와 같이, 다중 레벨 순열-기반 코딩 접근법을 이용하여 절대 벡터를 코딩하기 위해 복잡한 수식을 사용하여 계산하지 않으므로, 계산의 복잡성이 줄어든다.
본 발명은 본 발명의 목적들, 해결 방법들 및 장점들을 더 잘 이해시키기 위한 도면을 참조로 하여 이하에서 예시적으로 상세하게 기재된다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 벡터 코딩 방법은 이하의 단계들을 포함한다. 말해둘 것은, 기재 내용에서 스트림 미디어는 비디오 및 오디오와 같이 스트리밍 기술(streaming technologies)을 적용하는 멀티미디어를 r 가리킨다. 기재의 편의를 위해, 기재 내용에는 오디오만 기재되며, 비디오와 같이 다른 스트림 미디어에서의 프로세스는 오디오의 프로세스와 유사하다.
단계 101. 초기 벡터를 분해하여 부호 벡터와 초기 절대 벡터를 획득한다.
초기 벡터에서 일 요소의 부호는 양의 부호 또는 음의 부호(positive or negetive)일 수 있고, 상기 양의 부호 및 음의 부호들의 가능한 조합은 다수 개로 존재한다. 따라서, 부호 벡터를 획득하기 위해 초기 벡터를 분해함으로써, 초기 벡터 내에서 요소들의 조합의 수가 줄어들 수 있으며, 결과적으로 계산의 양도 줄어든다.
단계 102. 상기 부호 벡터를 코딩함으로써 부호 코드를 획득한다.
모든 요소들 각각에 대한 부호는 직접적으로 픽업(pick-up)될 수 있다. 대안적으로, 0이 아닌 요소들만의 부호들은 모든 0인 요소의 부호가 제거된 이후에 픽업될 수 있어서, 부호 벡터의 정수값만큼 차지하게 되는 데이터 비트들이 줄어든다.
부호 벡터의 정수값은 본 발명의 일 실시예에서 제공되는 도표를 이용하여 얻어질 수 있다. 도표에서, 초기 벡터에서 0의 값을 가지는 모든 요소의 부호는 부호 벡터로부터 제거되고, 0이 아닌 요소들의 부호들은 초기 벡터에서 상기 0이 아닌 요소들이 배열되어 있는 순서로 배열되며, 따라서, 양의 부호를 나타내는 "1" 및 음의 부호를 나타내는 "0"을 포함하거나, 양의 부호를 나타내는 "0" 및 음의 부호를 나타내는 "1"을 포함하는 부호 코드가 얻어짐으로써, 초기 벡터의 부호 코드에 대응되는 부호 코드가 얻어지고, 상기 부호 코드의 비트 수는 초기 벡터에서 0 이 아닌 요소들의 수와 동일하다. 상술한 바와 같이, "1"과 "0"이 2진법으로 사용되는 동안, 다른 값들은 예들 들어 8진법, 10진법 등으로 사용될 수 있다. 기재 내용에서 배열 순서는 왼쪽에서 오른쪽으로 기재된다. 그러나, 실질적으로, 배열 순서는 오른쪽에서 왼쪽으로 또는 중간에서 오른쪽 및 왼쪽으로일 수 있고, 그 프로세스는 왼쪽에서 오른쪽으로의 상기 배열 순서의 경우와 유사한데, 이에 대한 기재는 생략한다.
또한 실질적으로, 부호 코드를 위한 포스트 프로세스(post-process)가 필요한데, 이러한 이유는 양자화 프로세스를 위한 기본 코드북을 설계할 때 제한이 있기 때문이다. 다른 말로 하면, 벡터 내의 모든 요소들의 값의 합은 4의 배수여야 한다. 어떤 개별 요소의 부호를 변경시켜, 모든 요소들 값의 합의 변량이 4의 배수가 된다면, 상기 개별 요소의 부호는 독립적이고, 그렇지 않을 경우, 개별 요소들의 부호는 종속적이 되는데, 이는 부호들 사이에 상관 관계(correlation) 및 잉여(redundancy)가 존재하며, 상기 부호들 간의 잉여는 효과적인 코딩의 목적을 위해 제거될 필요가 있다는 것을 의미한다. 초기 벡터의 모든 종속적 부호는 다른 부호 비트들에 의해 결정될 수 있어서, 잉여를 제거하는 간단한 접근법은 종속 부호들 사이에서 초기 벡터의 0이 아닌 마지막 요소의 부호를 코딩하지 않는 것, 즉 획득되는 부호 코드의 마지막 비트를 제거하는 것이다. 이는 벡터에서 모든 요소들의 값의 합이 4의 배수여야 한다는 조건을 만족시키기 위함이다. 남아있는 일 요소의 부호는 벡터의 다른 요소들의 알려진 부호들(known signs)로부터 직접적으로 유도될 수 있다.
단계 103. 초기 절대 벡터에 다중 레벨 순열-기반 코딩을 수행하여 절대 벡터 코드를 획득한다.
다중 레벨 순열-기반 코딩은 사전 설정된 조건을 만족시키는 초기 절대 벡터의 요소, 예컨대 가장 빈번한(most frequent) 요소값에 대응되는 요소를 레벨별로 제거하는 것이다. 가장 빈번한 요소값들이 두 개 이상이라면, 대응되는 요소들은 그 값의 순서에 따라 제거될 수 있다. 물론, 요소들은 특정한 적용 환경에 의존하는 다른 수단을 이용하여 선택 및 제거될 수 있다. 실질적으로, 두 개이상의 가장 빈번한 요소값들에 대응되는 모든 요소들은 제거될 수 있다.
다중 레벨 순열-기반 코딩 시, 현재 레벨(current level)에 남아있는 요소들에 있어서, 이들이 상위 레벨(upper level)에서 가지는 위치 데이터는 위치 순열(position permutation)을 구성하고, 상기 위치 순열의 가능한 값은 상위 레벨에 속하는 요소들의 수이며, 현재 레벨의 상기 획득되는 위치 순열이 코딩된다. 이러한 방식으로, 다중 레벨 순열-기반 코딩은 분해 레벨의 일 요소가 단 하나의 요소값에 대응될 때까지 절대 벡터에서 수행되고, 그 결과, 일련의 레벨-기반 코딩된 값들이 얻어지며, 상기 레벨-기반 코딩된 값들을 조합함으로써 절대 벡터 코드가 얻어진다. 실질적으로, 다중 레벨 순열-기반 코딩 시, 레벨-기반 코딩된 값은 레벨별로 조합되거나, 모든 레벨-기반 코딩된 값들이 획득된 이후 동시에 조합될 수 있다. 본 발명에 대한 이하 설명에서, 레벨-기반 코딩된 값들이 레벨별로 조합되는 방법은 도면을 위한 예시로 고려된다.
단계 104. 상기 부호 코드와 상기 절대 벡터 코드를 조합하여 초기 벡터의 코드를 획득한다.
초기 벡터의 코드는 부호 코드와 절대 벡터 코드를 조합하여 얻어질 수 있어서, 디코딩 시, 절대 벡터 및 상기 절대 벡터의 요소들의 부호 벡터는 초기 벡터의 코드로부터 디코딩될 수 있다. 특정한 조합 프로세스는, 부호 코드의 비트 수를 결정한 이후, 상기 수만큼 왼쪽으로 쉬프팅된(shifted) 절대 벡터 코드 및 부호 코드를 조합하여, 초기 벡터의 코드를 획득하는 단계를 포함한다.
실질적으로, 오른쪽으로 쉬프팅된 절대 벡터 코드와 부호 코드를 조합할 수도 있다. 대안적으로, 절대 벡터 코드의 비트 수가 결정된 이후, 왼쪽 또는 오른쪽으로 쉬프팅된 부호 코드 및 절대 벡터 코드가 조합될 수 있다. 본 발명은 절대 벡터 코드와 부호 코드를 조합하는 특정한 접근법에만 한정되지 않으며, 본 발명의 범위 내에서, 디코딩 시 초기 벡터의 코드로부터 부호 코드와 절대 벡터 코드를 유도하는 모든 접근법이 의도된다.
상술한 바에서 알 수 있듯이, 본 발명의 실시예에서 다중 레벨 순열-기반 코딩 접근법을 이용하여 절대 벡터를 코딩할 때 복잡한 수식을 이용하는 계산이 실행되지 않으므로, 계산의 복잡성이 줄어든다.
실질적으로, 다수 개의 지표 코드북들이 있을 수 있는데, 다른 말로 하면, 코드북 공간에는 적어도 두 개의 지표의 코드북들이 존재한다. 이러한 경우, 일 지표 코드북에 속하는 초기 벡터의 코딩된 값이 얻어진 이후에, 코드북 공간에서 상기 초기 벡터가 속하는 상기 지표 코드북의 지표값을 획득하는 단계, 상기 지표 코드북에 속하는 초기 벡터의 코드 및 상기 지표값을 조합하는 단계, 및 초기 벡터의 결과 코드를 획득하는 단계들이 진행될 필요가 있다.
코드북 공간에서 개별 지표 코드북들의 지표값들은 서로 다르며, 상기 지표값들은 코드북 공간에서 지표 코드북의 전체 쉬프트 값이거나, 지표 코드북의 시리얼 번호와 같이, 코드북 공간에서 지표 코드북을 유일하게 식별할 수 있는 다른 값일 수 있다. 따라서, 지표 코드북에 속하는 초기 벡터의 코드와 지표값을 조합함으로써, 상기 코드는 지표 코드북에 매핑(mapping)되어, 그에 대응되는 코드북이 디코딩을 위해 사용될 수 있다. 상기 조합의 특정 과정은 부호 벡터의 정수값과 초기 벡터의 코드를 조합하는 과정과 같다. 실질적으로, 코드북 공간에서 지표 코드북의 전체 쉬프트 값이 지표값으로 사용되는 경우, 코드북 공간에서 각각의 지표 코드북들의 전체 쉬프트 값들 사이에 존재하는 간격이 충분히 크다면, 마지막으로 코딩된 값은 지표 코드북에 속하는 초기 벡터의 코드와 전체 쉬프트 값을 더함으로써 얻어질 수 있다.
상술한 단계들 이후에, 지표 코드북이 다수 개인 경우, 초기 벡터는 그에 대응되는 지표 코드북에 매핑될 수 있다.
본 발명의 실시예에 따른 방법이 스피치 오디오 기준으로 변환-도메인(transform-domain) 격자 벡터 양자화 코딩에 활용된다면, 격자 벡터 양자화 코딩을 위한 모든 기본 코드북들은 일정하므로, 각 리더의 요소 타입들 및 각 타입의 요소들의 수가 결정되고, 다중 레벨 순열-기반 코딩의 순서, 구성 파라미터들(configuration parameters) 등은 상기 리더에 따라 미리 결정될 수 있다. 표 1에 도시된 기본 코드북들의 코드북인 경우, 예를 들어, 본 발명의 실시예에 따른 다중 레벨 순열-기반 코딩의 순서 및 구성 파라미터는 표 2에 도시되어 있으며, 상기 표에서 가장 빈번한 요소값에 대응되는 요소는 레벨별로 제거되어 있다.
하기 표 2는 다중 레벨 순열-기반 코딩의 순서 및 구성 파리미터들에 관한 것ㅋ이다:

(Ka)
리더
(Leader)
분해 순서
(Decomposition order)
Sn, Vc, m1, m2, m3
{0, 0, 0, 0, 0, 0, 0, 0}
0 {1, 1, 1, 1, 1, 1, 1, 1} {1} {7, 1}
1 {2, 2, 0, 0, 0, 0, 0, 0} {0, 2} {2, 2, 2}
2 {2, 2, 2, 2, 0, 0, 0, 0} {0, 2} {4, 2, 4}
3 {3, 1, 1, 1, 1, 1, 1, 1} {1, 3} {7, 2, 1}
4 {4, 0, 0, 0, 0, 0, 0, 0} {0, 4} {1, 2, 1}
5 {2, 2, 2, 2, 2, 2, 0, 0} {2, 0} {6, 2, 2}
6 {3, 3, 1, 1, 1, 1, 1, 1} {1, 3} {7, 2, 2}
7 {4, 2, 2, 0, 0, 0, 0, 0} {0, 2, 4} {3, 3, 3, 1}
8 {2, 2, 2, 2, 2, 2, 2, 2} {2} {8, 1}
9 {3, 3, 3, 1, 1, 1, 1, 1} {1, 3} {7, 2, 3}
10 {4, 2, 2, 2, 2, 0, 0, 0} {2, 0, 4} {5, 3, 4, 1}
11 {4, 4, 0, 0, 0, 0, 0, 0} {0, 4} {2, 2, 2}
12 {5, 1, 1, 1, 1, 1, 1, 1} {1, 5} {7, 2, 1}
13 {3, 3, 3, 3, 1, 1, 1, 1} {1, 3} {7, 2, 4}
14 {4, 2, 2, 2, 2, 2, 2, 0} {2, 0, 4} {7, 3, 2, 1}
15 {4, 4, 2, 2, 0, 0, 0, 0} {0, 2, 4} {4, 3, 4, 2}
16 {5, 3, 1, 1, 1, 1, 1, 1} {1, 3, 5} {7, 3, 2, 1}
17 {6, 2, 0, 0, 0, 0, 0, 0} {0, 2, 6} {2, 3, 2, 1}
18 {4, 4, 4, 0, 0, 0, 0, 0} {0, 4} {3, 2, 3}
19 {6, 2, 2, 2, 0, 0, 0, 0} {0, 2, 6} {4, 3, 4, 1}
20 {6, 4, 2, 0, 0, 0, 0, 0} {0, 2, 4, 6} {3, 4, 3, 2, 1}
21 {7, 7, 1, 1, 1, 1, 1, 1} {1, 7} {7, 2, 1}
22 {8, 0, 0, 0, 0, 0, 0, 0} {0, 8} {1, 2, 1}
23 {6, 6, 0, 0, 0, 0, 0, 0} {0, 6} {2, 2, 2}
24 {8, 2, 2, 0, 0, 0, 0, 0} {0, 2, 8} {3, 3, 3, 1}
25 {8, 4, 0, 0, 0, 0, 0, 0} {0, 4, 8} {2, 3, 2, 1}
26 {9, 1, 1, 1, 1, 1, 1, 1} {1, 9} {7, 2, 1}
27 {10, 2, 0, 0, 0, 0, 0, 0} {0, 2, 10} {2, 3, 2, 1}
28 {8, 8, 0, 0, 0, 0, 0, 0} {0, 8} {2, 2, 2}
29 {10, 6, 0, 0, 0, 0, 0, 0} {0, 6, 10} {2, 3, 2, 1}
30 {12, 0, 0, 0, 0, 0, 0, 0} {0, 12} {1, 2, 1}
31 {12, 4, 0, 0, 0, 0, 0, 0} {0, 4, 12} {2, 3, 2, 1}
32 {10, 10, 0, 0, 0, 0, 0, 0} {0, 10} {2, 2, 2}
33 {14, 2, 0, 0, 0, 0, 0, 0} {0, 2, 14} {2, 3, 2, 1}
34 {12, 8, 0, 0, 0, 0, 0, 0} {0, 8, 12} {2, 3, 2, 1}
35 {16, 0, 0, 0, 0, 0, 0, 0} {0, 16} {1, 2, 1}
표 2는 각 리더에 대응되는 분해 순서(decomposition order)를 도시하며, 즉 분해 순서의 칸(column)에 도시된 바와 같이 요소값들은 레벨별로 제거된다. 상기 리더에서 각 요소는 분해 순서의 칸에 있는 데이터에 따른 요소들의 값을 기반으로 하여 왼쪽으로부터 오른쪽으로 레벨별로 제거된다. 마지막 칸에 있는 m1, m2 및 m3의 데이터는 레벨 1, 2 및 3일 때 순열-기반 코딩을 위한 요소들의 수들의 각 값(m)을 나타내며, 상위 레벨의 m은 현재 레벨의 요소들의 수의 값(n)과 동일하고, 제1 레벨일 때 순열-기반 코딩의 n의 값은 격자 벡터의 일 차원(dimension)이다(예를 들어, n은 RE8에서 8을 나타낸다). 마지막 칸에서 Vc라는 데이터는 리더에서 절대값으로 환산되는 요소 타입들의 수 즉 다중 레벨 순열-기반 코딩의 레벨들의 수를 표시한다. 마지막 칸에서 Sn이라는 데이터는 부호 코드의 비트수를 표시한다.
본 발명의 일 실시예에 따른 벡터 코딩 방법은 특정한 실시예로 이하에서 기재된다. 도 2에 도시된 바와 같이, 리더(20)에 속하는 벡터 코딩의 각 단계에서 계산된 데이터가 기재된다.
리더(20)에 속하는 (0, -2, 0, 0, 4, 0, 6, 0)의 벡터에서 요소들을 분해함으로써, (0, 2, 0, 0, 4, 0, 6, 0)의 절대 벡터 및 (0, -1, 0, 0, 1, 0, 1, 0)의 부호 벡터가 얻어진다.
부호 벡터에서 0들이 제거된 이후, 100의 이진수 부호 코드는 음의 부호를 나타내는 "1" 및 양의 부호를 나타내는 "0"을 포함하여 얻어진다. 100의 이진수는 4의 십진수이므로, 부호 코드는 4이다.(Sign=4)
표 2를 참조하면, 절대 벡터에 다중 레벨 순열-기반 코딩을 수행하기 위해, 절대 벡터에서 0의 값을 가지는 요소들이 제거되어, (2, 4, 6)의 절대 벡터가 얻어진다. 2, 4, 6이라는 요소들이 상위 레벨에서 차지하는 위치 데이터는 각각 1, 4, 6이다. 이러한 경우, 세 요소들은 조합 원칙에 따라 8개의 요소들로부터 선택되고, 그에 대응하는 위치 코드는 사전 설정된 수식에 따라 계산될 수 있는데, 즉
Figure 112008056102422-pat00022
이며, 이 때 p0은 "2"의 위치 데이터를 표시하고, p1은 "4"의 위치 데이터를 표시하며, p2는 "6"의 위치 데이터를 표시한다. 대안적으로, 위치 코드는 사전 설정된 위치 코드표로부터 찾아질 수 있는데, 그 예시가 본 발명의 실시예에서 도 3a에 도시되어 있다. 도 3a에서 확인할 수 있는 바와 같이, 1, 4 및 6이라는 각 위치 데이터에 대응되는 위치 코드는 31이다.
결과적으로, 다중 레벨 순열-기반 코딩은 세 개의 요소들을 가지는 상기 획득된 절대 벡터에 진행된다. 세 개의 요소들은 세 개의 서로 다른 요소값에 대응되기 때문에, 일 요소는 상기 세 요소로부터 순서대로 제거된다. 표 2를 참조하면, 2의 값을 가지는 요소가 제거되고, 두 개의 요소를 가지는 (4, 6)의 절대 벡터가 얻어진다. 상위 레벨에서 위치 코드가 31이므로, 31*3+2=95라는 조합된 위치 코드는 현재 레벨에서의 위치 코드와 상위 레벨에서의 위치 코드를 조합함으로써 얻어진다. 3을 곱하는 이유는, 세 개의 요소들로부터 두 개의 요소들을 선택하면서 얻어지는 조합의 수가 3이기 때문이며, 2를 더하는 이유는 (2, 4, 6)의 벡터에서 (4, 6)으로 얻어진 절대 벡터의 4와 6의 요소들이 가지는 위치들의 데이터가 1과 2이며
Figure 112008056102422-pat00023
의 수식에 따라 2라는 위치 코드가 얻어지기 때문이다. 이 때 p0은 "4"라는 요소의 위치 데이터를 표시하고, p1은 "6"이라는 요소의 위치 데이터를 표시한다. 물론, 위치 코드는 사전 설정된 위치 코드표로부터 찾아질 수 있으며, 그 예시가 본 발명의 실시예로 도 3b에 도시되어 있다. 도 3b에서 알 수 있는 바와 같이, 1과 2의 각 위치 데이터에 대응되는 위치 코드는 2이다.
마찬가지로, 다중 레벨 순열-기반 코딩은 두 개의 요소들을 가지는 상기 획득된 절대 벡터에 진행된다. 표 2를 참조하면, 4의 값을 가지는 요소가 제거되며, 한가지 요소만을 가지는 (6)의 절대 벡터가 얻어진다. 상위 레벨에서의 위치 코드는 95이며, 두 개의 요소로부터 한 가지 요소를 선택할 때 얻어지는 조합의 수는 2이고, (4, 6)의 벡터에서 6이라는 요소의 위치에 대한 데이터는 1이므로,
Figure 112008056102422-pat00024
의 수식에 따라 1이라는 위치 코드가 얻어지고, 이 때 p0은 (4, 6)의 벡터에서 "6"이라는 요소의 위치에 대한 데이터를 표시한다. 그 결과, 조합된 위치 코드는 95*2+1=191이다.
이 때, 다중 레벨 순열-기반 코딩이 완료되는데, 그 이유는 상기 얻어진 절대 벡터에서 요소값의 수가 1이기 때문이다. 절대 벡터에서 초기 요소들 중에 0이 아닌 요소들의 수가 3이므로, 다른 말로 하면 부호 벡터의 정수값의 비트 수가 3이므로, 부호 코드와 절대 벡터 코드를 조합하기 위해, 상기 절대 벡터 코드는 3 비트만큼 왼쪽으로 쉬프팅되어 부호 코드에 더해짐으로써, 절대 벡터 코드와 부호 코드가 조합 및 저장되며, 리더(20)에 속하는 초기 벡터의 코딩된 값이 191*(23)+4=191*8+4=1532와 같이 얻어진다. 이 때 4는 부호 코드이다. 결과적으로, 리더(20)에 속하는 코드 및 코드북 공간에서 리더(20)의 상기 전체 쉬프트 값이 조합되며, 코드북 공간에서 리더(20)의 전체 쉬프트 값이 57728이면, 상기 얻어진 마지막 코딩된 값은 59260이다. 코드북 공간에서 리더(20)의 전체 쉬프트 값은 시스템 내에서 리더(20)의 저장 위치(storage position)에 의존하며, 시스템별로 다를 수는 있으나, 일 시스템에서는 일정한 값을 가진다.
상술한 바에서 알 수 있듯이, 복잡한 팩토리알(factorial)가 계산되는 것도 아니며 계산의 양도 적다. 또한, 표 2와 같이 도시된 표만 저장할 필요가 있고, 일 실시예에서 위치 코드를 계산하기 위한 수식이나 위치 코드를 찾는 데 사용되는 위치코드표 및 약간의 임시 데이터는 저장 공간을 많이 차지하지 않는다. 상기 실시예에서, 일 요소값에 대응되는 어떤 요소도 각 레벨에서 제거되나, 실질적으로 다수 개의 요소값들을 이용하여, 다수 개의 요소값들에 대응되는 요소들은 각 레벨에서 제거될 수 있다.
본 발명의 제3 실시예에 따른 방법은 도 4에 도시되어 있으며, 상기 방법은 이하의 단계들을 포함한다.
단계 401. 초기 벡터를 분해하여 부호 벡터와 절대 벡터를 획득한다.
단계 402. 상기 초기 벡터에서 0이 아닌 요소들이 배열되어 있는 순서로 0이 아닌 요소들의 부호들을 배열하여, 양의 부호를 나타내는 "1" 및 음의 부호를 나타내는 "0"을 포함하는 부호 코드를 획득한다.
실질적으로, 부호 코드는 양의 부호를 나타내는 "0" 및 음의 부호를 나타내는 "1"을 포함하거나 그 반대의 경우를 포함하는 부호 코드를 획득할 수도 있다.
단계 403. 초기 벡터에서 요소들의 부호들이 독립적인지의 여부를 결정한다. 부호들이 독립적이면, 상기 방법은 단계 405로 진행되고, 그렇지 않으면 상기 방법은 단계 404로 진행된다.
단계 404. 부호 코드의 마지막 비트를 제거한다.
단계 405. 가장 큰 요소들(the most elements)에 대응되는 요소값과 부합하는 요소를 절대 벡터로부터 제거한다.
상기 실시예에서는, 가장 큰 요소들에 대응되는 요소값과 부합하는 어떤 요소도 절대 벡터로부터 제거하는 접근법이 활용된다. 그러나 실질적으로, 가장 작은 요소들에 대응되는 요소값과 부합하는 어떤 요소를 절대 벡터로부터 제거하는 접근법이 활용될 수도 있다.
단계 406. 가장 큰 요소들에 대응되지 않는 요소값과 부합하는 요소들의 경우, 이들이 절대 벡터에서 가지는 위치 데이터를 획득하고, 사전 설정된 접근법에 의해 위치 코드를 획득한다.
상기 사전 설정된 접근법은, 위치 코드를 상기 위치 코드를 계산하기 위한 수식을 사용하여 계산하거나, 미리 설정된 위치 코드표에서 찾아내는 것일 수 있다.
단계 407. 가장 큰 요소들에 대응되지 않는 요소값의 수가 1인지의 여부를 결정한다; 그리고 그 수가 1이라면, 상기 프로세스는 단계 409로 진행되고, 그렇지 않으면 프로세스는 단계 408로 진행된다.
단계 408. 가장 큰 요소들에 대응되지 않는 요소값과 부합하는 요소들을 순서대로 유지시켜 새로운 절대 벡터를 구성하고, 그 프로세스는 단계 405로 진행한다.
단계 409. 상기 얻어진 위치 코드들을 하나의 조합된 위치 코드로 조합하고, 상기 조합된 위치 코드를 부호 코드의 비트수만큼 왼쪽으로 쉬프팅시키고 상기 부호 코드와 조합함으로써, 초기 벡터로부터 결정되는 지표 코드북에 속하는 초기 벡터의 코드를 획득한다.
단계 410. 지표 코드북에 속하는 코드 및 코드북 공간에서의 지표 코드북의 전체 쉬프트값을 조합하어 초기 벡터의 마지막 코딩된 값을 획득한다.
상기 실시예에서는, 다중 레벨 순열-기반 코딩이 활용되어, 복잡한 팩토리알이 계산되지 않고 계산의 양도 적다. 또한, 상기 실시예에서는, 저장될 필요가 있는 임시 데이터도 적으므로, 저장 공간도 많이 차지하지 않게 된다.
본 발명의 일 실시예에서 벡터 코딩 방법에 대응되는 벡터 디코딩 방법이 제공된다. 초기 벡터의 결과 코드를 수신한 이후, 디코딩 측은 상기 코딩과 반대의 접근법에 따라 디코딩되어야 할 값을 분해하고, 각 부분의 순열-기반 디코딩값을 획득하고, 디코딩에 의한 위치 정보를 획득하며, 다중 레벨 대체 과정(multi-level replacement)이 수행되어 그 결과로서의 초기 벡터가 얻어진다. 상기 디코딩은: (1) 코딩된 값의 범위를 찾아서 격자 벡터가 속하는 리더를 획득하며, 코드의 쉬프트 값을 얻고 상기 코딩된 값으로부터 상기 쉬프트 값을 차감하여 리더에서 코딩된 값을 획득하는 단계; (2) 상기 리더에서 코딩된 값을 분해하여, 부호 코드값과 다중 레벨 순열-기반 코드값을 획득하는 단계; (3) 다중 레벨 순열-기반 코드값을 레벨별로 분해하여 각 레벨에서 순열-기반 코드값을 획득하고, 순열-기반 디코딩 모듈을 사용하여 파스(parse)를 통해 각 레벨에서 위치 벡터들을 획득하며, 다중 레벨 대체 접근법을 사용하여 초기 벡터의 모든 위치들에서 요소값들을 복구(restoring)시키는 단계를 포함한다.
도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 벡터 디코딩 방법은 이하의 단계들을 포함한다.
단계 501. 벡터 코드를 분해하여 부호 코드와 절대 벡터 코드를 획득한다.
상기 벡터에 대응되는 지표 코드북은 벡터 코드로부터 얻어질 수 있고, 상기 벡터 코드에 대응되는 부호 코드의 비트수는 사전 설정된 디코딩표로부터 찾아질 수 있다.
부호 코드는 초기 벡터에서 요소들의 부호들을 나타낸다. 각 지표 코드북에서 요소들의 수를 알 수 있으므로, 부호 코드의 비트수는 소정의 지표 코드북으로부터 결정되며 이러한 모든 것들은 사전 설정된 디코딩표에 저장될 수 있다.
부호 코드의 비트에 대한 데이터를 벡터 코드로부터 추출하여, 부호 코드를 획득한다. 벡터 코드가 절대 벡터 코드 및 부호 코드로 함께 구성되므로, 코딩 시 왼쪽으로 쉬프팅된 절대 벡터 코드와 부호 코드를 조합하여 지표 코드북의 코딩된 값이 얻어진다면, 벡터 코드의 최우측의 각 비트들은 부호 코드이다.
절대 벡터 코드를 얻기 위해, 벡터 코드는 부호 코드의 비트수만큼 오른쪽으로 쉬프팅된다. 상기 벡터 코드로부터 부호 코드의 비트들에 대한 데이터가 추출된다. 부호 코드가 추출된 이후, 상기 부호 코드를 추출시킨 데이터는 비트수만큼 오른쪽으로 쉬프팅되며, 이 때 절대 벡터 코드가 얻어지는데, 이는 코딩의 과정과 반대이다.
단계 502. 부호 코드를 디코딩하여 부호 벡터를 획득한다.
부호 벡터의 상기 획득된 정수값은 이진수로 변환된다. 요소들의 부호들은, 코딩 시 "0"이 양의 부호를 나타내고 "1"이 음의 부호를 나타내는지, 아니면 "0"이 음의 부호를 나타내고 "1"이 양의 부호를 나타내는지의 여부에 따라 결정된다. 이러한 실시예에서, 부호 코드는 0이 아닌 요소들의 부호으로부터 결정된다고 할 수 있다.
단계 503. 절대 벡터 코드에서 다중 레벨 순열-기반 디코딩을 수행하여 초기 절대 벡터를 획득한다.
다중 레벨 순열-기반 디코딩의 특정한 과정은 이하의 단계를 포함한다.
절대 벡터값이 분해되어, 상위 레벨 절대 벡터에서 절대 벡터의 요소들의 위치 코드들이 얻어진다. 실제로, 절대 벡터 코드는 다중 레벨 순열-기반 코딩에서 얻어지는 위치 코드들로 구성되므로, 디코딩 시 각 레벨들에 관련하는 위치 코드들은 절대 벡터 코드를 직접적으로 분해하여 얻어질 수 있다.
위치 코드들이 디코딩될 때, 상위 레벨 절대 벡터에서 절대 벡터의 요소들을 위한 위치 데이터가 얻어진다.
상위 레벨에서 절대 벡터의 요소들의 수 및 상기 절대 벡터를 얻기 위해 제거되는 요소들의 어떤 요소값도 사전 설정된 디코딩표로부터 찾아진다.
상위 레벨의 절대 벡터에서, 절대 벡터의 요소들은 위치 데이터에 따라 배열되며, 상기 제거된 요소들의 요소값은 남은 위치에서 제공됨으로써, 상위 레벨의 절대 벡터가 얻어진다.
상위 레벨에서의 절대 벡터가 초기 절대 벡터가 아니라면, 상기 방법은 초기 절대 벡터가 얻어질 때까지, 상술한 단계들에 따른 다중 레벨 순열-기반 디코딩으로 진행된다.
단계 504. 부호 벡터 및 초기 절대 벡터를 조합하여 초기 벡터를 획득한다.
특히, 부호들은 초기 절대 벡터에서 0이 아닌 요소들을 위한 순서로 제공된다.
요소들의 부호가 종속적이면, 코딩 시 부호 코드의 마지막 비트가 제거될 수 있어서, 초기 벡터를 재구성할 때, 초기 벡터에서 최우측의 0이 아닌 요소가 요소 부호(element sign) 없이 제공되는 경우, 상기 최우측의 0이 아닌 요소의 요소 부호는 초기 벡터에서 모든 요소들의 값의 합은 4의 배수라는 원칙에 따라 결정될 수 있다. 물론, 코딩 시 부호가 제거되는 0이 아닌 요소에 따라, 초기 벡터의 최좌측(most left)의 0이 아닌 요소가 요소 부호 없이 제공될 수도 있다.
이러한 실시예에서 알 수 있듯이, 상기 실시예에 따른 해결 방법을 사용하는 디코딩 시, 불규칙 팩토리알이 계산되지 않고 계산의 양도 적다. 또한, 임시 데이터도 코딩할 때와 유사하여 저장 공간을 많이 차지하지 않는다.
실질적으로, 상기 획득되는 코드가 코드북 공간에서 지표 코드북의 지표값과 조합되는 마지막 코드라면, 상기 마지막 코드는, 초기 벡터의 마지막 코드로부터 상기 초기 벡터에 대응되는 지표 코드북을 결정하며, 코드북 공간에서 지표 코드북의 지표값을 획득하는 단계; 및 지표 코드북에 속하는 초기 벡터의 벡터 코드를 상기 마지막 코드 및 상기 지표값으로부터 결정하는 단계에 따라 분해될 필요가 있다.
지표값은 전체 쉬프트값일 수 있다. 코드북 공간에서 각 지표 코드북의 저장 위치가 확정되어 있으므로, 코드북 공간에서 지표 코드북의 전체 쉬프트 값이 확정되며, 코딩된 값이 있는 지표 코드북은 상기 코드가 획득된 이후 상기 코딩된 값이 있는 범위로부터 결정될 수 있다. 특히, 각 지표 코드북 및 그것의 쉬프트 값이 기록되어 있는 표는 시스템에 저장될 수 있다. 상기 표는 디코딩을 위해 탐색될 수 있다. 마찬가지로, 지표값이 지표 코드북의 시리얼 번호인 경우, 이와 유사한 프로세스가 수행된다.
특히, 코딩 시, 지표 코드북에 속하는 벡터 코드 및 전체 쉬프트값을 더함으로써 코드가 얻어진다면, 지표 코드북에 속하는 코딩된 값은 상기 코드로부터 상기 전체 쉬프트값을 차감함으로써 얻어질 수 있다.
상술한 단계들을 이용하여, 지표 코드북에 속하는 벡터 코드는 마지막 코드를 분해함으로써 얻어질 수 있고, 이 때 지표 코드북에 속하는 벡터의 코딩된 값을 분해하여 초기 벡터를 획득한다.
본 발명의 제2 실시예에 따른 벡터 디코딩 방법은 도 6에 도시되어 있으며, 이하의 단계를 포함한다.
단계 61. 마지막 코딩된 값이 있는 범위로부터 리더 및 오프셋(offset)을 획득한다.
코딩된 값이 59260으로 주어진다면, 상기 코딩된 값이 리더(20)에 속하며 오프셋이 57728이라는 것이 결정될 수 있다.
단계 62. 리더에 속하는 초기 벡터의 코딩된 값은 마지막 코딩된 값으로부터 상기 오프셋을 차감함으로써 얻어질 수 있다.
리더 20에 속하는 코드값 1532는 59260에서 57728을 차감함으로써 얻어진다.
단계 63. 부호 코드와 절대 벡터 코드는 리더에 속하는 초기 벡터의 코딩된 값을 분해함으로써 얻어진다.
4라는 부호 코드와 1528이라는 절대 벡터 코드는 1532를 분해하여 얻어진다.
단계 64. 절대 벡터에서 요소들의 요소 부호들은 부호 코드로부터 복구된다.
코딩 시, 십진수 4는 음의 부호를 나타내는 "1"과 양의 부호를 나타내는 "0"으로 주어지는 이진수 100으로 변환됨으로써, 0이 아닌 요소들에 대응되는 요소 부호들은 왼쪽에서 오른쪽으로 각각 "-","+" 및 "+"를 표시한다.
단계 65. 다중 레벨 순열-기반 디코딩은 이하의 단계를 포함하여 수행된다.
단계 651. 절대 벡터 코드의 레벨-n 코드를 분해한다.
상기 n은 코딩시 사용되는 다중 레벨 순열-기반 코딩의 레벨들 수를 표시한다. n의 값은 서로 다른 지표 코드북에 따라 변할 수 있고, 표 2의 Vc라는 항목으로부터 직접적으로 얻어질 수 있다.
상기 실시예는 리더(20)를 일 예시로서 기재한다. 표 2에서 알 수 있듯이, 여기에는 4개의 레벨들이 있고, 0의 요소값을 가지는 어떤 요소도 레벨 1에서 제거되고, 2의 요소값을 가지는 어떤 요소도 레벨 2에서 제거되며, 4의 요소값을 가지는 어떤 요소도 레벨 3에서는 제거되어, 그 결과 레벨 4는 6의 값을 가지는 요소를 포함한다. 말해둘 것은, 절대 벡터 코드의 부호 비트들은 분해되기 전에 (코딩 시 3비트만큼의 쉬프팅에 대응하여) 3비트만큼 오른쪽으로 쉬프팅되며, 1528/(23)=1528/8로부터 191을 얻는다는 것이다.
단계 652. 절대 벡터 코드의 레벨-3 코드를 분해한다.
예를 들어, 리더(20)의 경우, 여기에는 4개의 레벨들이 있으나, 레벨 4에서는 분해 과정이 실행되지 않을 것이며, 순열-기반 코딩의 3개의 레벨들만이 리더(20)를 위해 실행된다. 따라서, 디코딩은 레벨 3으로 시작된다. 코딩 시 일 요소값에 대응되는 어떤 요소도 각 레벨에서 제거되므로, 이에 상응하여, 디코딩 시 일 요소값에 대응되는 어떤 요소도 각 레벨에서 복구된다. 표 2에서 알 수 있듯이, m3은 1이고, m2는 2이며, m1은 3이다. 레벨 3일 때의 요소들의 수를 가지는 요소들로부터 레벨 2일 때의 요소들의 수를 가지는 요소들을 선택할 때 얻어지는 조합의 수 즉 2개로부터 1개를 선택하는 조합의 수는 2이다. 따라서, 191%2의 계산에 따라, 얻어진 몫은 95이고, 이는 레벨 1과 2를 위한 순열-기반 위치 코드이며, 나머지 1은 레벨 3의 절대 벡터의 요소가 레벨 2의 절대 벡터에서 가지는 위치 코드이다. 상기 위치 코드에 대응되는 위치 데이터는 1이다.
단계 653. 절대 벡터 코드의 레벨-2 코드를 분해한다.
이와 유사하게, 95%3의 계산에 따라, 레벨 1을 위해 얻어진 위치 코드는 31이고, 나머지 2는 레벨 2의 절대 벡터의 요소가 레벨 1의 절대 벡터에서 가지는 위치 코드이며, 상기 위치 코드에 대응되는 위치 데이터는 1과 2이다.
단계 654. 절대 벡터 코드의 레벨-1 코드를 분해한다.
레벨 1은 마지막 레벨이므로, 레벨-1의 절대 벡터의 요소가 초기 벡터에서 가지는 위치 코드가 얻어진다. 또한, m1은 3이고, 초기 데이터의 비트수는 8이므로, 상기 31이라는 위치 코드에 대응되는 1, 4, 6의 위치 데이터는 도 3a에 도시된 표로부터 찾아질 수 있다. 또한, 위치 데이터가 수식에 따라 계산될 수 있다는 점이 이해될 것이다.
단계 655. 레벨 1에서 결정되어야 할 위치 데이터를 레벨 2에서 디코딩된 결과로 대체한다.
표 2에 도시된 바와 같이, 제일 먼저 제거되는 요소값은 0이므로, 절대 벡터내에서 0은 1, 4, 6의 위치와 다른 위치에 설정된다.
단계 656. 레벨 2에서 결정될 위치 데이터를 레벨 3에서 디코딩된 결과로 대체한다.
표 2에 도시된 바와 같이, 두번째로 제거되는 요소값은 2이고, 절대 벡터의 1, 4, 6의 위치들 중에 4와 6의 위치는 하위 레벨에서 유지되므로, 2라는 요소값은 위치 1에서 제공된다.
따라서, 4라는 요소값은 위치 4에 제공되고, 6이라는 요소값은 위치 6에 제공됨으로써, (0, 2, 0, 0, 4, 0, 6, 0)의 초기 절대 벡터가 얻어진다.
리더(20)를 위해 세 개의 레벨들을 위한 디코딩만이 필요하기 때문에, n에 대한 레벨 4를 위한 단계는 실행되지 않는다. 실질적으로, 다수 개의 레벨들에 대응되는 소정의 리더에 있어서, 각 레벨의 프로세스는 유사하며, 여기서 이를 위한 기재는 생략한다.
단계 657. n-1 레벨에서 결정되어야 할 위치 데이터를 n 레벨에서 디코딩된 결과로 대체한다.
단계 66. 절대 벡터에서 0이 아닌 요소들의 부호들을 왼쪽에서 오른쪽으로 가면서 복구시킨다.
0이 아닌 요소들의 상기 획득된 부호들은 왼쪽에서 오른쪽으로 가면서 각각 "-","+" 및 "+"이므로, (0, -2, 0, 0, 4, 0, 6, 0)의 초기 벡터가 얻어진다.
단계 67. 초기 벡터에서 0이 아닌 최우측 요소의 부호가 결정되지 않았다면, 상기 0이 아닌 요소의 부호는, 초기 벡터에서 모든 요소들의 값의 합은 4의 배수라는 원칙에 따라 결정될 수 있다.
실질적으로, 0이 아닌 최우측 요소를 위한 부호 비트는 초기 벡터의 부호의 종속성 때문에 제거될 수 있어서, 디코딩 시, 상기 획득된 초기 벡터의 0이 아닌 최우측 요소가 부호값 없이 제공되는 경우, 0이 아닌 최우측 요소의 부호는, 초기 벡터에서 모든 요소들의 값의 합은 4의 배수라는 원칙에 따라 결정될 수 있다.
상기 실시예에서 알 수 있듯이, 상기 실시예에 따른 해결 방법을 이용하면 디코딩시 불규칙 팩토리알이 계산되는 일이 없고, 계산의 양도 적다. 또한, 임시 데이터도 코딩 때의 그것과 유사하여, 저장 공간을 많이 차지하지 않는다.
도 7에 도시된 바와 같이, 본 발명의 일 실시예에 따른 벡터 코딩 장치가 제공되며 상기 장치는,
초기 벡터를 분해하도록 적응되어 부호 벡터와 초기 절대 벡터를 획득하는 분해 유닛(71)을 포함하고;
상기 부호를 코딩하도록 적응되어 부호 코드를 획득하는 부호 코딩 유닛(72)을 포함하며;
초기 절대 벡터에서 다중 레벨 순열-기반 코딩을 수행하도록 적응되어 절대 벡터 코드를 획득하는 다중 레벨 순열-기반 코딩 유닛(73)을 포함한다. 상기 다중 레벨 순열-기반 코딩 유닛(73)은, 사전 설정된 조건을 만족시키는 값을 가지는 초기 절대 벡터의 요소를 제거하도록 적응되는 요소 제거 유닛; 사전 설정된 조건을 만족시키지 않는 어떤 요소도 순서대로 유지시키도록 적응되어 새로운 절대 벡터를 구성하는 요소 유지 유닛; 초기 절대 벡터에서 사전 설정한 조건을 만족시키지 않는 요소의 위치를 코딩하도록 적응되어 위치 코드를 획득하고, 상기 요소 제거 유닛을 개시(triggering)하도록 적응되어, 새로운 절대 벡터에서 요소값의 수가 1보다 큰 경우에, 사전 설정한 조건을 만족시키지 않는 요소값을 가지는 어떤 요소도 새로운 절대 벡터에서 제거하는 위치 코딩 유닛; 및 다중 레벨 순열-기반 코딩 시 얻어지는 개별 위치 코드들을 조합하도록 적응되어, 새로운 절대 벡터에서 요소값의 수가 1보다 큰 경우에, 절대 벡터 코드를 획득하는 절대 벡터 코드 유닛을 포함할 수 있고;
여기서, 상기 위치 코딩 유닛은 사전 설정 위치 코드 계산 수식으로 계산하거나, 위치 코드를 위한 사전 설정 위치 코드표를 탐색할 수 있다. 실질적으로, 다중 레벨 순열-기반 코딩 유닛(73)은, 사전 설정 코드표를 저장하도록 적응되는 사전 설정 코드표 저장 유닛(여기에서 사전 설정 조건이 저장되고, 요소 제거 유닛은 제거되어야 할 요소를 위한 사전 설정코드표를 탐색하고); 및
부호 코드와 절대 벡터 코드를 조합하도록 적응되어 초기 벡터 코드를 획득하는 조합 유닛(74)을 더 포함할 수 있다. 상기 조합 유닛(74)은, 부호 코드의 비트수를 결정하도록 적응되는 비트수 결정 유닛; 및 상기 부호 코드의 비트수만큼 절대 벡터 코드를 왼쪽으로 쉬프팅하여, 상기 부호 코드를 조합하도록 적응되어 초기 벡터 코드를 획득하는 조합 유닛을 포함할 수 있다.
상기 실시예에서 확인할 수 있듯이, 절대 벡터는 다중 레벨 순열-기반 코딩의 접근법을 사용하여 코딩되므로, 복잡한 수식을 사용하는 계산이 실행되지 않고, 계산의 복잡성도 줄어든다.
실질적으로, 코드북 공간에서 지표 코드북의 개수가 적어도 2개라면, 초기 벡터의 코드는 상기 지표 코드북에 매핑될 필요가 있다. 이러한 일을 마무리하기 위해, 본 발명의 상기 실시예에 따른 벡터 코딩 장치는, 초기 벡터가 속하는 지표 코드북을 결정하도록 적응되는 지표 코드북 결정 유닛; 및 지표 코드북의 지표값을 획득하고 상기 지표값과 상기 초기 벡터의 코드를 조합하도록 적응되어 초기 벡터의 마지막 코드를 획득하는 마지막 코딩된 값 획득 유닛을 포함한다.
지표 코드북이 다수 개인 경우, 상기 마지막 코딩된 값 획득 유닛은 적합한 지표 코드북에 초기 벡터가 매핑되도록 사용될 수 있다.
도 8에 도시된 바와 같이, 본 발명의 일 실시예에 따른 벡터 디코딩 장치가 제공되며, 상기 장치는, 벡터 코드를 분해하도록 적응되어 부호 코드와 절대 벡터 코드를 획득하는 분해 유닛(81)을 포함하고; 여기서 상기 분해 유닛(81)은, 초기 벡터가 속하는 지표 코드북으로부터 부호 코드의 비트수를 결정하도록 적응되는 부호 코드 비트수 결정 유닛; 상기 벡터 코드로부터 부호 코드의 비트에 대한 데이터를 추출하도록 적응되어 부호 코드를 획득하는 부호 코드 추출 유닛; 및 부호 코드의 비트에 대한 데이터를 추출시키는 상기 벡터 코드를 상기 부호 코드의 비트수만큼 오른쪽으로 쉬프팅시키도록 적응되어 절대 벡터 코드를 획득하는 절대 벡터 코드 획득 유닛을 포함할 수 있으며; 상기 장치는 부호 코드를 디코딩하도록 적응되어 부호 벡터를 획득하는 부호 디코딩 유닛(82)을 포함하고; 상기 절대 벡터 코드에 다중 레벨 순열-기반 디코딩을 수행하도록 적응되어 초기 절대 벡터를 획득하는 다중 레벨 순열-기반 디코딩 유닛(83)을 포함하고; 여기서 상기 다중 레벨 순열-기반 디코딩 유닛(83)은, 절대 벡터 코드를 분해하도록 적응되어 절대 벡터의 요소가 상위 레벨의 절대 벡터에서 가지는 위치 코드 및 상기 상위 레벨에서의 절대 벡터 코드를 획득하는 절대 벡터 코드 분해 유닛; 상기 위치 코드를 디코딩하도록 적응되어 상위-레벨 절대 벡터에서 상기 절대 벡터의 일 요소를 위한 위치 데이터를 획득하는 위치 데이터 획득 유닛; 상위 레벨의 절대 벡터에서 요소들의 수를 위한 사전 설정 디코딩표 및 절대 벡터를 얻을 때 제거되는 요소의 요소값을 탐색하도록 적응되는 데이터 탐색 유닛; 및 상위 레벨의 절대 벡터에서 상기 절대 벡터의 요소들을 위치 데이터에 따라 배열하며, 남은 위치에서 상기 제거된 요소의 요소값을 제공하도록 적응되어 상위 레벨의 절대 벡터를 획득하고, 상기 위치 데이터 획득 유닛을 개시하도록 적응되어, 상기 상위 레벨의 상기 절대 벡터가 초기 절대 벡터가 아닌 경우, 상위 레벨의 절대 벡터에 대응되는 위치 코드를 디코딩하는 절대 벡터 획득 유닛을 포함할 수 있고, 상기 위치 데이터 획득 유닛은 사전 설정 위치 데이터 디코딩 수식을 이용하여 위치 코드를 계산하거나, 위치 데이터를 찾기 위해 사전 설정 위치 데이터 디코딩표를 탐색할 수 있으며; 상기 장치는 상기 부호 벡터와 상기 초기 절대 벡터를 조합하도록 적응되어 초기 벡터를 획득하는 조합 유닛(84)을 포함한다.
상기 실시예에서 확인할 수 있듯이, 절대 벡터는 다중 레벨 순열-기반 코딩의 접근법을 사용하여 코딩되므로, 복잡한 수식을 사용하여 계산이 실행되지 않고, 계산의 복잡성도 줄어든다.
실질적으로, 코딩 시 다수 개의 지표 코드북들이 포함된다면, 디코딩 시 초기 벡터의 마지막 코딩된 값이 얻어지므로, 본 발명의 일 실시예에 따른 벡터 디코딩 장치는, 초기 벡터가 대응하는 지표 코드북을 결정하고, 코드북 공간에서 지표 코드북의 지표값을 획득하도록 적응되는 지표 코드북 결정 유닛; 및 상기 지표값에 따라 초기 벡터의 마지막 코드를 분해하도록 적응되어 초기 벡터의 코드를 획득하는 코딩된 값 결정 유닛을 더 포함할 수 있다.
초기 벡터의 코드를 획득한 이후, 분해 유닛은 벡터의 디코딩을 시작할 수 있다.
본 발명의 일 실시예에 따른 벡터 디코딩 장치를 포함하는 스트림 미디어 플레이어가 제공되며, 상기 벡터 디코딩 장치는, 벡터 코드를 분해하도록 적응되어 부호 코드 및 절대 벡터 코드를 획득하는 분해 유닛; 상기 부호 코드를 디코딩하도록 적응되어 부호 벡터를 획득하는 부호 디코딩 유닛; 상기 절대 벡터 코드에 다중 레벨 순열-기반 디코딩을 수행하도록 적응되어 초기 절대 벡터를 획득하는 다중 레벨 순열-기반 디코딩 유닛; 그리고 상기 부호 벡터 및 상기 초기 절대 벡터를 조합하도록 적응되어 초기 벡터를 획득하는 조합 유닛을 포함한다.
상기 실시예에서 볼 수 있는 바와 같이, 절대 벡터는 다중 레벨 순열-기반 코딩의 접근법을 사용하여 코딩되므로, 복잡한 수식을 사용하여 실행되는 계산도 없고 계산의 복잡성도 줄어든다.
당업자에게는, 상기 실시예들에 따른 방법에 대해 상술한 전체 또는 부분적인 단계들은 관련된 하드웨어를 명령(instructing)하는 프로그램과 함께 실행될 수 있으며, 상기 프로그램은 컴퓨터-읽기 가능 저장 매체에 저장되어 실행시 초기 벡터를 분해하여 부호 벡터와 초기 절대 벡터를 획득하는 단계; 상기 부호 벡터를 코딩하여 부호 코드를 획득하는 단계; 상기 초기 절대 벡터에서 다중 레벨 순열-기반 코딩을 수행하여 절대 벡터 코드를 획득하는 단계; 그리고 상기 부호 코드 및 상기 절대 벡터 코드를 조합하여 상기 초기 벡터의 코드를 획득하는 단계로 실행될 수 있다는 것이,이해될 것이다.
상술한 저장 매체는 ROM, 자기 디스크(magnetic disk), CD 등일 수 있다.
본 발명의 실시예에 따른 벡터 코딩/디코딩 방법 및 장치 그리고 스트림 미디어 플레이어가 상세하게 기재되었다. 상기 실시예들은 본 발명의 방법 및 그 컨셉을 보다 잘 이해하기 위한 목적으로 기재되었다. 또한, 당업자에게는 본 발명의 출원들 및 상기 실시예들에 대한 수정 및 변형이 만들어질 수 있음이 이해될 것이다. 이러한 모든 기재 내용은 본 발명을 한정하는 것으로 이해되어서는 안된다.
도 1은 본 발명의 제1 실시예에 따른 벡터 코딩 방법의 플로우 차트(flow chart)이다.
도 2는 본 발명의 제2 실시예에 따른 벡터 코딩 방법의 플로우 차트이다.
도 3a는 본 발명의 일 실시예에 따른 지수(83)의 위치 코드표(position code table)의 예시에 대한 개략적 다이어그램이다.
도 3b는 본 발명의 일 실시예에 따른 지수(32)의 위치 코드표의 예시에 대한 개략적 다이어그램이다.
도 4는 본 발명의 제3 실시예에 따른 벡터 코딩 방법의 플로우 차트이다.
도 5는 본 발명의 제1 실시예에 따른 벡터 디코딩 방법의 플로우 차트이다.
도 6은 본 발명의 제2 실시예에 따른 벡터 디코딩 방법의 플로우 차트이다.
도 7은 본 발명의 일 실시예에 따른 벡터 코딩 장치의 예시를 도시하는 구조 다이어그램이다.
도 8은 본 발명의 일 실시예에 따른 벡터 디코딩 장치의 예시를 도시하는 구조 다이어그램이다.

Claims (27)

  1. 초기 벡터(initial vector)를 분해하여 부호 벡터(sign vector)와 초기 절대 벡터를 획득하는 단계;
    상기 부호 벡터를 코딩하여 부호 코드를 획득하는 단계;
    상기 초기 절대 벡터에 다중 레벨 순열-기반 코딩을 수행하여 절대 벡터 코드를 획득하는 단계로서, 상기 초기 절대 벡터에 대한 상기 다중 레벨 순열-기반 코딩은, 사전 설정된 조건을 만족시키는 요소값을 가지는 임의의 요소를 상기 초기 절대 벡터로부터 제거하는 단계; 상기 사전 설정된 조건을 만족시키지 않는 요소들로 새로운 절대 벡터를 구성하는 단계; 상기 초기 절대 벡터에서 상기 사전 설정된 조건을 만족시키지 않는 요소들이 가지는 위치를 코딩하여 위치 코드를 획득하는 단계; 상기 새로운 절대 벡터에서 요소값의 수가 1보다 큰 경우 상기 새로운 절대 벡터에 상기 다중 레벨 순열-기반 코딩을 진행하는 단계; 및 상기 새로운 절대 벡터에서 요소값의 수가 1인 경우 상기 다중 레벨 순열-기반 코딩 시 얻어지는 모든 위치 코드들을 조합하여 절대 벡터 코드를 획득하는 단계;를 포함하는 절대 벡터 코드를 획득하는 단계; 및
    상기 부호 코드와 상기 절대 벡터 코드를 조합하여 상기 초기 벡터의 코드를 획득하는 단계;
    를 포함하는 것을 특징으로 하는 벡터 코딩 방법.
  2. 청구항 1에 있어서,
    초기 벡터를 분해하기 전에 상기 초기 벡터가 속하는 지표 코드북을 결정하는 단계; 및
    상기 초기 벡터의 코드를 획득한 이후, 상기 지표 코드북의 지표값을 획득하고 상기 지표값과 상기 초기 벡터의 코드를 조합하여 상기 초기 벡터의 마지막 코드를 획득하는 단계를 더 포함하는 것을 특징으로 하는 벡터 코딩 방법.
  3. 삭제
  4. 청구항 1 또는 청구항 2에 있어서,
    상기 위치 코드는 사전 설정 위치 코드 계산 수식을 이용하여 계산되거나, 사전 설정 위치 코드표에서 찾아지는 것을 특징으로 하는 벡터 코딩 방법.
  5. 청구항 1 또는 청구항 2에 있어서,
    상기 사전 설정 조건은 상기 사전 설정 코드표에 저장되고, 상기 사전 설정 코드표는 상기 다중 레벨 순열-기반 코딩 시 제거되어야 할 요소값을 위해 탐색되는 것을 특징으로 하는 벡터 코딩 방법.
  6. 청구항 1 또는 청구항 2에 있어서,
    상기 부호 벡터를 코딩하여 부호 코드를 획득하는 단계는,
    입력된 벡터로부터 0이 아닌 요소들에 대응되는 부호들을 상기 부호 벡터에서 순서대로 코딩하여 상기 부호 코드를 획득하는 단계를 포함하는 것을 특징으로 하는 벡터 코딩 방법.
  7. 청구항 1 또는 청구항 2에 있어서,
    상기 부호 코드 및 상기 절대 벡터 코드를 조합하는 단계는,
    상기 부호 코드의 비트수를 결정하는 단계; 및
    상기 부호 코드의 비트수만큼 왼쪽으로 쉬프팅(shifting)된 상기 절대 벡터 코드와 상기 부호 코드를 조합하는 단계를 포함하는 것을 특징으로 하는 벡터 코딩 방법.
  8. 초기 벡터의 코드를 분해하여 부호 코드와 절대 벡터 코드를 획득하는 단계;
    상기 부호 코드를 디코딩하여 부호 벡터를 획득하는 단계;
    상기 절대 벡터 코드에 다중 레벨 순열-기반 디코딩을 수행하여 초기 절대 벡터를 획득하는 단계로서, 상기 절대 벡터 코드에 대한 상기 다중 레벨 순열-기반 디코딩은, 상기 절대 벡터 코드를 분해하여 상위 절대 벡터(upper absolute vector)에서 상기 절대 벡터의 요소의 위치 코드를 획득하는 단계; 상기 위치 코드를 디코딩하여 상기 상위 절대 벡터에서 상기 절대 벡터의 요소를 위한 위치 데이터를 획득하는 단계; 사전 설정 디코딩 표로부터 상기 상위 절대 벡터에서의 요소들의 수 및 상기 절대 벡터를 획득할 때 제거된 요소들의 임의의 요소값을 획득하는 단계; 상기 상위 레벨의 상기 절대 벡터에서 절대 벡터의 요소들을 위치 데이터에 따라 배열하는 단계, 및 남은 위치에는 상기 제거된 요소들의 요소값을 제공하여 상위 레벨의 절대 벡터를 획득하는 단계; 및 상기 상위 레벨의 상기 절대 벡터가 초기 절대 벡터가 아닌 경우, 상위 레벨의 상기 절대 벡터에 상기 다중 레벨 순열-기반 디코딩을 진행하는 단계;를 포함하는 초기 절대 벡터를 획득하는 단계; 및
    상기 부호 벡터와 상기 초기 절대 벡터를 조합하여 초기 벡터를 획득하는 단계;
    를 포함하는 것을 특징으로 하는 벡터 디코딩 방법.
  9. 청구항 8에 있어서,
    상기 초기 벡터의 마지막 코드가 획득되면, 상기 방법은 초기 벡터의 코드를 분해하기 전에,
    상기 초기 벡터에 대응되는 지표 코드북을 결정하는 단계;
    코드북 공간에서 상기 지표 코드북의 지표값을 획득하는 단계; 및
    상기 초기 벡터의 상기 마지막 코드를 상기 지표값에 따라 분해하여 상기 초기 벡터의 코드를 획득하는 단계를 더 포함하는 것을 특징으로 하는 벡터 디코딩 방법.
  10. 삭제
  11. 청구항 8 또는 청구항 9에 있어서,
    상기 위치 데이터는 사전 설정 위치 데이터 디코딩 수식을 사용하여 계산되거나, 사전 설정 위치 데이터 디코딩표에서 찾아지는 것을 특징으로 하는 벡터 디코딩 방법.
  12. 청구항 9에 있어서,
    초기 벡터의 코드를 분해하는 단계는,
    상기 초기 벡터가 속하는 상기 지표 코드북으로부터 부호 코드의 비트수를 결정하는 단계;
    상기 벡터 코드로부터 상기 부호 코드의 비트 데이터를 추출하여 상기 부호 코드를 획득하는 단계; 및
    상기 부호 코드의 비트에 대한 데이터를 추출시키는 벡터 코드를 상기 부호 코드의 비트수만큼 오른쪽으로 쉬프팅시켜 절대 벡터 코드를 획득하는 단계를 포함하는 것을 특징으로 하는 벡터 디코딩 방법.
  13. 청구항 8 또는 청구항 9에 있어서,
    상기 부호 벡터 및 상기 초기 절대 벡터를 조합하는 단계는,
    상기 초기 절대 벡터에서 0이 아닌 요소들에 대한 부호들을 순서대로 배치(assigning)하는 단계를 포함하는 것을 특징으로 하는 벡터 디코딩 방법.
  14. 초기 벡터를 분해하도록 구성되어 부호 벡터와 초기 절대 벡터를 획득하는 분해 유닛;
    상기 부호를 코딩하도록 구성되어 부호 코드를 획득하는 부호 코딩 유닛;
    상기 초기 절대 벡터에 다중 레벨 순열-기반 코딩을 수행하도록 구성되어 절대 벡터 코드를 획득하는 다중 레벨 순열-기반 코딩 유닛으로서, 상기 다중 레벨 순열-기반 코딩 유닛은, 사전 설정 조건을 만족시키는 값을 가지는 상기 초기 절대 벡터의 요소를 제거하도록 구성되는 요소 제거 유닛; 상기 사전 설정 조건을 만족시키지 않는 임의의 요소를 순서대로 유지시키도록 구성되어 새로운 절대 벡터를 구성하는 요소 유지 유닛; 상기 초기 절대 벡터에서 상기 사전 설정 조건을 만족시키지 않는 요소의 위치를 코딩하도록 구성되어 위치 코드를 획득하고, 상기 요소 제거 유닛을 트리거링(triggering)하도록 구성되어, 상기 새로운 절대 벡터에서 요소값들의 수가 1보다 큰 경우에, 상기 사전 설정된 조건을 만족시키지 않는 요소값을 가지는 상기 새로운 절대 벡터의 임의의 요소를 제거하는 위치 코딩 유닛; 및 다중 레벨 순열-기반 코딩 시 획득되는 개별 위치 코드들을 조합하도록 구성되어, 상기 새로운 절대 벡터에서 요소값들의 수가 1보다 큰 경우에 상기 절대 벡터 코드를 획득하는 절대 벡터 코드 유닛;을 포함하는 다중 레벨 순열-기반 코딩 유닛; 및
    상기 부호 코드 및 상기 절대 벡터 코드를 조합하도록 구성되어 초기 벡터 코드를 획득하는 조합 유닛;
    을 포함하는 것을 특징으로 하는 벡터 코딩 장치.
  15. 청구항 14에 있어서,
    초기 벡터가 속하는 지표 코드북을 결정하도록 구성되는 지표 코드북 결정 유닛; 및
    상기 지표 코드북의 지표값을 획득하고 상기 지표값과 상기 초기 벡터의 코드를 조합하도록 구성되어 상기 초기 벡터의 마지막 코드를 획득하는 마지막 코딩된 값 획득 유닛을 더 포함하는 것을 특징으로 하는 벡터 코딩 장치.
  16. 삭제
  17. 청구항 14 또는 청구항 15에 있어서,
    상기 위치 코딩 유닛은 사전 설정된 위치 코드 계산 수식을 사용하여 위치 코드를 계산하거나, 상기 위치 코드를 찾기 위해 사전 설정된 위치 코드표를 탐색하는 것을 특징으로 하는 벡터 코딩 장치.
  18. 청구항 14 또는 청구항 15에 있어서,
    상기 다중 레벨 순열-기반 코딩 유닛은,
    사전 설정 조건이 저장되어 있는 사전 설정 코드표를 저장하도록 구성되는 사전 설정 코드표 저장 유닛을 더 포함하고, 이 때 상기 요소 제거 유닛은 제거되어야 할 모든 요소를 위한 사전 설정 코드표를 탐색하는 것을 특징으로 하는 벡터 코딩 장치.
  19. 청구항 14 또는 청구항 15에 있어서,
    상기 부호 코딩 유닛은 상기 초기 벡터의 0이 아닌 요소들에 대응되는 부호들을 부호 벡터에서 순서대로 코딩하도록 구성되어 상기 부호 코드를 획득하는 것을 특징으로 하는 벡터 코딩 장치.
  20. 청구항 14 또는 청구항 15에 있어서,
    상기 조합 유닛은,
    부호 코드의 비트수를 결정하도록 구성되는 비트수 결정 유닛; 및
    상기 부호 코드의 비트수만큼 상기 절대 벡터 코드를 왼쪽으로 쉬프팅시켜서 상기 부호 코드와 조합하도록 구성되는 조합 유닛을 더 포함하는 것을 특징으로 하는 벡터 코딩 장치.
  21. 초기 벡터의 코드를 분해하도록 구성되어 부호 코드와 절대 벡터 코드를 획득하는 분해 유닛;
    상기 부호 코드를 디코딩하도록 구성되어 부호 벡터를 획득하는 부호 디코딩 유닛;
    상기 절대 벡터 코드에 다중 레벨 순열-기반 디코딩을 수행하도록 구성되어 초기 절대 벡터를 획득하는 다중 레벨 순열-기반 디코딩 유닛으로서, 상기 다중 레벨 순열-기반 디코딩 유닛은, 상기 절대 벡터 코드를 분해하도록 구성되어 상위 레벨의 절대 벡터에서 상기 절대 벡터의 요소가 가지는 위치 코드 및 상기 상위 레벨에서의 절대 벡터 코드를 획득하는 절대 벡터 코드 분해 유닛; 상기 위치 코드를 디코딩하도록 구성되어 상기 상위 레벨 절대 벡터에서 상기 절대 벡터의 요소들을 위한 위치 데이터를 획득하는 위치 데이터 획득 유닛; 상기 상위 레벨의 절대 벡터에서 요소들의 수 및 및 상기 절대 벡터를 획득할 때 제거된 요소의 요소값을 위해 사전 설정 디코딩 표를 탐색하도록 구성되는 데이터 탐색 유닛; 및 상위 레벨의 절대 벡터에서 상기 절대 벡터의 요소들을 위치 데이터에 따라 배열하고, 남은 위치에서 상기 제거된 요소의 요소값을 제공하도록 구성되어 상위 레벨의 절대 벡터를 획득하며, 상기 위치 데이터 획득 유닛을 트리거링하도록 구성되어, 상기 상위 레벨의 절대 벡터가 상기 초기 절대 벡터가 아닌 경우, 상기 상위 레벨의 절대 벡터에 대응되는 위치 코드를 디코딩하는 절대 벡터 획득 유닛;을 포함하는 다중 레벨 순열-기반 디코딩 유닛; 및
    상기 부호 벡터와 상기 초기 절대 벡터를 조합하도록 구성되어 초기 벡터를 획득하는 조합 유닛;
    을 포함하는 것을 특징으로 하는 벡터 디코딩 장치.
  22. 청구항 21에 있어서,
    상기 초기 벡터가 대응하는 지표 코드북을 결정하고 상기 코드북 공간에서 상기 지표 코드북의 지표값을 획득하도록 구성되는 지표 코드북 결정 유닛; 및
    상기 초기 벡터의 마지막 코드를 상기 지표값에 따라 분해하도록 구성되어 상기 초기 벡터의 코드를 획득하는 코딩된 값 결정 유닛을 더 포함하는 것을 특징으로 하는 벡터 디코딩 장치.
  23. 삭제
  24. 청구항 21 또는 청구항 22에 있어서,
    상기 위치 데이터 획득 유닛은 사전 설정된 위치 데이터 디코딩 수식을 사용하여 위치 코드를 계산하거나, 상기 위치 데이터를 찾기 위해 사전 설정 위치 데이터 디포딩표를 탐색하는 것을 특징으로 하는 벡터 디코딩 장치.
  25. 청구항 22에 있어서,
    상기 분해 유닛은,
    상기 초기 벡터가 속하는 지표 코드북으로부터 부호 코드의 비트수를 결정하도록 구성되는 부호 코드 비트수 결정 유닛;
    상기 벡터 코드로부터 상기 부호 코드의 비트에 대한 데이터를 추출하도록 구성되어 상기 부호 코드를 획득하는 부호 코드 추출 유닛; 및
    상기 부호 코드의 비트에 대한 데이터를 추출시키는 상기 벡터 코드를 상기 부호 코드의 비트수만큼 오른쪽으로 쉬프팅시키도록 구성되어 절대 벡터 코드를 획득하는 절대 벡터 코드 획득 유닛을 포함하는 것을 특징으로 하는 벡터 디코딩 장치.
  26. 청구항 21 또는 청구항 22에 있어서,
    상기 조합 유닛은 상기 초기 절대 벡터에서 0이 아닌 요소들에 대한 부호들을 순서대로 배치함으로써 상기 부호 벡터와 상기 초기 절대 벡터를 조합하는 것을 특징으로 하는 벡터 디코딩 장치.
  27. 벡터 코드를 분해하도록 구성되어 부호 코드와 절대 벡터 코드를 획득하는 분해 유닛;
    상기 부호 코드를 디코딩하도록 구성되어 부호 벡터를 획득하는 부호 디코딩 유닛;
    상기 절대 벡터 코드에 다중 레벨 순열-기반 디코딩을 수행하도록 구성되어 초기 절대 벡터를 획득하는 다중 레벨 순열-기반 디코딩 유닛으로서, 상기 다중 레벨 순열-기반 디코딩 유닛은, 상기 절대 벡터 코드를 분해하도록 구성되어 상위 레벨의 절대 벡터에서 상기 절대 벡터의 요소가 가지는 위치 코드 및 상기 상위 레벨에서의 절대 벡터 코드를 획득하는 절대 벡터 코드 분해 유닛; 상기 위치 코드를 디코딩하도록 구성되어 상기 상위 레벨 절대 벡터에서 상기 절대 벡터의 요소들을 위한 위치 데이터를 획득하는 위치 데이터 획득 유닛; 상기 상위 레벨의 절대 벡터에서 요소들의 수 및 및 상기 절대 벡터를 획득할 때 제거된 요소의 요소값을 위해 사전 설정 디코딩 표를 탐색하도록 구성되는 데이터 탐색 유닛; 및 상위 레벨의 절대 벡터에서 상기 절대 벡터의 요소들을 위치 데이터에 따라 배열하고, 남은 위치에서 상기 제거된 요소의 요소값을 제공하도록 구성되어 상위 레벨의 절대 벡터를 획득하며, 상기 위치 데이터 획득 유닛을 트리거링하도록 구성되어, 상기 상위 레벨의 절대 벡터가 상기 초기 절대 벡터가 아닌 경우, 상기 상위 레벨의 절대 벡터에 대응되는 위치 코드를 디코딩하는 절대 벡터 획득 유닛;을 포함하는 다중 레벨 순열-기반 디코딩 유닛; 및
    상기 부호 벡터와 상기 초기 절대 벡터를 조합하도록 구성되어 초기 벡터를 획득하는 조합 유닛을 포함하는 벡터 디코딩 장치를 구비하는 스트림 미디어 플레이어.
KR1020080071877A 2007-07-23 2008-07-23 벡터 코딩/디코딩 방법 및 장치 그리고 스트림 미디어플레이어 KR100984234B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN200710129604A CN100583649C (zh) 2007-07-23 2007-07-23 矢量编/解码方法、装置及流媒体播放器
CN200710129604.6 2007-07-23
PCT/CN2008/071481 WO2009012681A1 (fr) 2007-07-23 2008-06-30 Procédé, dispositif et lecture de contenu multimédia pour codage/décodage de vecteurs
CNPCT/CN2008/071481 2008-06-30

Publications (2)

Publication Number Publication Date
KR20090010932A KR20090010932A (ko) 2009-01-30
KR100984234B1 true KR100984234B1 (ko) 2010-09-28

Family

ID=40113995

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080071877A KR100984234B1 (ko) 2007-07-23 2008-07-23 벡터 코딩/디코딩 방법 및 장치 그리고 스트림 미디어플레이어

Country Status (10)

Country Link
US (3) US7738559B2 (ko)
EP (1) EP2023341B1 (ko)
JP (1) JP4601690B2 (ko)
KR (1) KR100984234B1 (ko)
CN (1) CN100583649C (ko)
ES (1) ES2865725T3 (ko)
HU (1) HUE054385T2 (ko)
PL (1) PL2023341T3 (ko)
PT (1) PT2023341T (ko)
WO (1) WO2009012681A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101609680B (zh) 2009-06-01 2012-01-04 华为技术有限公司 压缩编码和解码的方法、编码器和解码器以及编码装置
WO2011003233A1 (zh) * 2009-07-07 2011-01-13 华为技术有限公司 编码方法、装置与系统、解码方法、装置与系统
US8280729B2 (en) * 2010-01-22 2012-10-02 Research In Motion Limited System and method for encoding and decoding pulse indices
CN102623012B (zh) 2011-01-26 2014-08-20 华为技术有限公司 矢量联合编解码方法及编解码器
US9008184B2 (en) 2012-01-20 2015-04-14 Blackberry Limited Multiple sign bit hiding within a transform unit
US8904453B2 (en) * 2012-06-10 2014-12-02 Apple Inc. Systems and methods for seamlessly switching between media streams
CN108417219B (zh) * 2018-02-22 2020-10-13 武汉大学 一种适应于流媒体的音频对象编解码方法
CN113766237B (zh) * 2021-09-30 2024-07-02 咪咕文化科技有限公司 一种编码方法、解码方法、装置、设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050285764A1 (en) * 2002-05-31 2005-12-29 Voiceage Corporation Method and system for multi-rate lattice vector quantization of a signal
US20070162236A1 (en) * 2004-01-30 2007-07-12 France Telecom Dimensional vector and variable resolution quantization

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896361A (en) * 1988-01-07 1990-01-23 Motorola, Inc. Digital speech coder having improved vector excitation source
EP0388043B1 (en) * 1989-02-28 1995-12-06 Canon Kabushiki Kaisha System for processing a quantized vector
JPH03117991A (ja) 1989-09-29 1991-05-20 Victor Co Of Japan Ltd 動きベクトル符号化装置及び復号化装置
US5295203A (en) * 1992-03-26 1994-03-15 General Instrument Corporation Method and apparatus for vector coding of video transform coefficients
CA2121667A1 (en) 1994-04-19 1995-10-20 Jean-Pierre Adoul Differential-transform-coded excitation for speech and audio coding
JP2956473B2 (ja) * 1994-04-21 1999-10-04 日本電気株式会社 ベクトル量子化装置
KR100191318B1 (ko) * 1996-03-26 1999-06-15 윤종용 고속의 동벡터 복호회로
US6097771A (en) 1996-07-01 2000-08-01 Lucent Technologies Inc. Wireless communications system having a layered space-time architecture employing multi-element antennas
US7206346B2 (en) 1997-06-25 2007-04-17 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector decoding method, predictive encoding apparatus and decoding apparatus, and storage media storing motion vector predictive encoding and decoding programs
KR100527217B1 (ko) * 1997-10-22 2005-11-08 마츠시타 덴끼 산교 가부시키가이샤 확산 벡터 생성 방법, 확산 벡터 생성 장치, celp형 음성 복호화 방법 및 celp형 음성 복호화 장치
KR100335609B1 (ko) * 1997-11-20 2002-10-04 삼성전자 주식회사 비트율조절이가능한오디오부호화/복호화방법및장치
KR100257191B1 (ko) * 1997-12-31 2000-05-15 구자홍 움직임 벡터 디코더
JP3507686B2 (ja) * 1998-01-16 2004-03-15 日本電気株式会社 音声認識機能を有する通信装置及び通信方法
US6728413B2 (en) * 1998-01-19 2004-04-27 Canon Kabushiki Kaisha Lattice vector quantization in image compression and decompression
US7430257B1 (en) * 1998-02-12 2008-09-30 Lot 41 Acquisition Foundation, Llc Multicarrier sub-layer for direct sequence channel and multiple-access coding
US6314125B1 (en) * 1998-12-09 2001-11-06 Qualcomm Incorporated Method and apparatus for the construction and transmission of binary quasi orthogonal vectors
FR2791167B1 (fr) * 1999-03-17 2003-01-10 Matra Nortel Communications Procedes de codage, de decodage et de transcodage audio
JP2000324498A (ja) * 1999-05-13 2000-11-24 Nec Corp 動画像符号化装置
US6680974B1 (en) * 1999-12-02 2004-01-20 Lucent Technologies Inc. Methods and apparatus for context selection of block transform coefficients
US6717990B1 (en) 2000-01-05 2004-04-06 General Dynamics Decision Systems, Inc. Communication system and method for multi-rate, channel-optimized trellis-coded quantization
US6771828B1 (en) * 2000-03-03 2004-08-03 Microsoft Corporation System and method for progessively transform coding digital data
US6760385B1 (en) * 2000-05-30 2004-07-06 Adtran, Inc. Universal parallel processing decoder
US7221761B1 (en) * 2000-09-18 2007-05-22 Sharp Laboratories Of America, Inc. Error resilient digital video scrambling
US6999472B2 (en) * 2001-05-30 2006-02-14 Nokia Mobile Phones Limited Apparatus, and associated method, for space-time encoding, and decoding, data at a selected code rate
US20030043908A1 (en) 2001-09-05 2003-03-06 Gao Cheng Wei Bandwidth scalable video transcoder
US7154936B2 (en) * 2001-12-03 2006-12-26 Qualcomm, Incorporated Iterative detection and decoding for a MIMO-OFDM system
JP4114859B2 (ja) * 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
JP4130783B2 (ja) * 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
US7589729B2 (en) * 2002-05-15 2009-09-15 Mental Images Gmbh Image synthesis by rank-1 lattices
JP3887598B2 (ja) * 2002-11-14 2007-02-28 松下電器産業株式会社 確率的符号帳の音源の符号化方法及び復号化方法
WO2004077733A2 (en) 2003-02-26 2004-09-10 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (ldpc) code operations using a multi-level permutation
US7233622B2 (en) * 2003-08-12 2007-06-19 Lsi Corporation Reduced complexity efficient binarization method and/or circuit for motion vector residuals
CA2457988A1 (en) 2004-02-18 2005-08-18 Voiceage Corporation Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization
EP1575299A1 (en) * 2004-03-12 2005-09-14 Thomson Licensing S.A. Motion-compensated spatio-temporal wavelet compression of video data with optimised permutation of the frames
JP4445328B2 (ja) 2004-05-24 2010-04-07 パナソニック株式会社 音声・楽音復号化装置および音声・楽音復号化方法
US7644335B2 (en) * 2005-06-10 2010-01-05 Qualcomm Incorporated In-place transformations with applications to encoding and decoding various classes of codes
JP2007081720A (ja) * 2005-09-13 2007-03-29 Sanyo Electric Co Ltd 符号化方法
CN1984336A (zh) * 2005-12-05 2007-06-20 华为技术有限公司 一种二进制化方法及装置
US8184712B2 (en) 2006-04-30 2012-05-22 Hewlett-Packard Development Company, L.P. Robust and efficient compression/decompression providing for adjustable division of computational complexity between encoding/compression and decoding/decompression
US8712766B2 (en) * 2006-05-16 2014-04-29 Motorola Mobility Llc Method and system for coding an information signal using closed loop adaptive bit allocation
US7953595B2 (en) * 2006-10-18 2011-05-31 Polycom, Inc. Dual-transform coding of audio signals
WO2008099417A1 (en) 2007-02-13 2008-08-21 Council Of Scientific & Industrial Research An improved sol-gel process for the preparation of nanocrystalline ceti2o6 powder

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050285764A1 (en) * 2002-05-31 2005-12-29 Voiceage Corporation Method and system for multi-rate lattice vector quantization of a signal
US20070162236A1 (en) * 2004-01-30 2007-07-12 France Telecom Dimensional vector and variable resolution quantization

Also Published As

Publication number Publication date
WO2009012681A1 (fr) 2009-01-29
PT2023341T (pt) 2021-05-05
HUE054385T2 (hu) 2021-09-28
JP4601690B2 (ja) 2010-12-22
US20090097587A1 (en) 2009-04-16
EP2023341A1 (en) 2009-02-11
US7746932B2 (en) 2010-06-29
KR20090010932A (ko) 2009-01-30
US20090097565A1 (en) 2009-04-16
CN101304254A (zh) 2008-11-12
JP2009199048A (ja) 2009-09-03
US7738558B2 (en) 2010-06-15
ES2865725T3 (es) 2021-10-15
PL2023341T3 (pl) 2021-08-30
EP2023341B1 (en) 2021-03-03
US7738559B2 (en) 2010-06-15
CN100583649C (zh) 2010-01-20
US20090097595A1 (en) 2009-04-16

Similar Documents

Publication Publication Date Title
KR100984234B1 (ko) 벡터 코딩/디코딩 방법 및 장치 그리고 스트림 미디어플레이어
US10666287B2 (en) Coding method, decoding method, coder, and decoder
EP2295947B1 (en) Coding method, decoding method,and coding apparatus
KR101790463B1 (ko) 오디오/비디오 샘플 벡터의 피라미드 벡터 양자화 인덱싱 및 디인덱싱을 위한 방법 및 장치
CN101388210B (zh) 编解码方法及编解码器
KR101170137B1 (ko) 복잡성이 축소된 벡터 인덱싱 및 탈-인덱싱
WO2011097963A1 (zh) 编码方法、解码方法、编码器和解码器
KR101456495B1 (ko) 무손실 부호화/복호화 장치 및 방법
JP2006527961A (ja) 符号化装置、符号化方法およびコードブック
JP2004120623A (ja) 符号化装置、符号化方法、復号装置及び復号方法
US6794999B1 (en) Resilient parameterized prefix codes for adaptive coding
JP2005018606A (ja) 浮動小数点形式信号系列の線形予測分析方法、その装置、プログラムおよびその記録媒体
Moayeri et al. Wavelet transform image coding using trellis coded vector quantization
CN110771045A (zh) 编码装置、解码装置、编码方法、解码方法、以及程序
JP4462087B2 (ja) 符号化装置及び符号化方法
Khandelwal et al. Implementation of Direct Indexing and 2-V Golomb Coding of Lattice Vectors for Image Compression
KR101713860B1 (ko) 트렐리스를 이용한 양자화 부호화 및 역양자화 복호화 방법 및 장치
KR101763306B1 (ko) 트렐리스를 이용한 양자화 부호화 및 역양자화 복호화 방법 및 장치
JP6509916B2 (ja) 連結されたrom−ramテーブルに基づいて算術コーディングを遂行する方法及び装置
CN118174737A (zh) 基于语义的哈夫曼编码方法、译码方法及相关设备
JP2010537552A (ja) デジタル信号ソーティングに対するシステム、方法、および/または装置
JPH01277300A (ja) 学習型ベクトル量子化器
Anitha An Overview of Image Compression.
WO2011129774A1 (en) Probability table generator, encoder and decoder

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140826

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150820

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170823

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180904

Year of fee payment: 9