KR100926366B1 - 코드북 결정 방법, 오디오 신호의 부호화 방법 및 장치 - Google Patents

코드북 결정 방법, 오디오 신호의 부호화 방법 및 장치 Download PDF

Info

Publication number
KR100926366B1
KR100926366B1 KR1020080074699A KR20080074699A KR100926366B1 KR 100926366 B1 KR100926366 B1 KR 100926366B1 KR 1020080074699 A KR1020080074699 A KR 1020080074699A KR 20080074699 A KR20080074699 A KR 20080074699A KR 100926366 B1 KR100926366 B1 KR 100926366B1
Authority
KR
South Korea
Prior art keywords
codebook
maximum absolute
data
absolute value
spectral data
Prior art date
Application number
KR1020080074699A
Other languages
English (en)
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 주식회사 코아로직
Priority to KR1020080074699A priority Critical patent/KR100926366B1/ko
Application granted granted Critical
Publication of KR100926366B1 publication Critical patent/KR100926366B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • 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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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

Abstract

본 발명은 코드북 결정 방법에 관한 것으로, 서로 다른 최대 절대값들 중 하나를 포함하는 소정의 데이터 그룹 내의 데이터들 각각에 대하여 최소 코드워드(codeword) 길이를 갖는 코드북들을 검색하고, 최대 절대값들 각각에 따른 코드북 후보들을 검색된 빈도 수에 따라 선정하며, 현재 수신된 데이터 그룹 내의 최대 절대값을 결정하고, 결정된 최대 절대값에 따른 코드북 후보들을 이용하여 현재 수신된 데이터 그룹 내의 데이터들을 부호화하는 경우의 비트스트림 길이를 각각 계산하며, 결정된 최대 절대값에 따른 코드북 후보들 중 계산된 비트스트림 길이가 가장 짧은 코드북 후보를 데이터 그룹의 최적 코드북으로 결정함으로써, 각각의 최대 절대값들에 따른 코드북 후보들의 개수를 줄일 수 있고, 이로써 최적 코드북 선택을 위한 계산량을 줄일 수 있다.

Description

코드북 결정 방법, 오디오 신호의 부호화 방법 및 장치{Method of determining codebook, Method and Device of encoding audio signal}
본 발명은 오디오 신호의 부호화 방법 및 장치에 관한 것으로, 더욱 상세하게는 코드북(codebook) 결정 방법, 상기 코드북 결정 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체, 상기 코드북 결정 방법을 이용한 오디오 신호의 부호화 방법, 상기 오디오 신호의 부호화 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 및 오디오 신호의 부호화 장치, 코드북 후보 선정 방법 및 상기 코드북 후보 선정 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
오디오 신호를 부호화함에 있어서, 입력된 오디오 신호를 시간 도메인에서 주파수 도메인으로 변환하고, 변환된 주파수 도메인의 데이터를 양자화하며, 양자화된 데이터에 대하여 허프만(Huffman) 부호화를 수행하는 방법이 널리 이용된다. 이러한 허프만 부호화 과정에는 MPEG(Motion Picture Experts Group) 표준에 의해 제공된 11개의 허프만 코드북들이 이용된다.
다음 표 1은 MPEG 표준에 의해 제공된 11개의 허프만 코드북들을 나타낸다. [표 1]
코드북 번호 부호 포함 코드북 차원 최대 절대값
0 - - 0
1 O 4 1
2 O 4 1
3 X 4 2
4 X 4 2
5 O 2 3
6 O 2 3
7 X 2 7
8 X 2 7
9 X 2 12
10 X 2 12
11 X 2 16(ESC)
여기서, 코드북 차원은 하나의 코드워드(codeword)가 몇 개의 양자화된 스펙트럼 데이터를 부호화하는지를 나타내는 것이다. 구체적으로, 코드북 차원이 4인 코드북 1 내지 코드북 4는 4개의 스펙트럼 데이터를 하나의 코드워드로 부호화하고, 코드북 차원이 2인 코드북 5 내지 코드북 11은 2개의 스펙트럼 데이터를 하나의 코드워드로 부호화한다. 또한, 표 1에 나타난 바와 같이, 각각의 코드북이 처리할 수 있는 최대 절대값(largest absolute value, LAV)은 서로 다르다.
따라서, MPEG 표준에 의해 제공된 11개의 허프만 코드북들 중 소정의 양자화된 데이터 그룹 내의 최대 절대값에 따른 코드북 후보들이 결정된다. 허프만 부호화는 최대 절대값에 따른 코드북 후보들 중 선택된 최적 코드북을 이용하여 양자화된 데이터에 대해 부호화를 수행한다. 그러므로, 최대 절대값에 따른 코드북 후보들 중 최적 코드북을 선택하는 과정에서 코드북 후보들의 개수가 많을수록 최적 코드북을 선택하기 위한 계산량이 증가한다.
본 발명이 해결하고자 하는 과제는 최적 코드북을 선택하기 위한 계산량을 줄이면서, 부호화 결과의 비트 수 및 음질에 미치는 영향을 최소화할 수 있는 코드북 결정 방법 및 상기 코드북 결정 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체, 상기 코드북 결정 방법을 이용하여 오디오 신호를 부호화하는 오디오 신호의 부호화 방법 및 장치 및 상기 오디오 신호의 부호화 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 있다.
상기 과제를 해결하기 위한 본 발명에 따른 코드북 결정 방법은 서로 다른 최대 절대값들 중 하나를 포함하는 소정의 데이터 그룹 내의 데이터들 각각에 대하여 최소 코드워드(codeword) 길이를 갖는 코드북을 검색하는 단계; 상기 최대 절대값들 각각에 따른 코드북 후보들을 상기 검색된 빈도 수에 따라 선정하는 단계; 현재 수신된 데이터 그룹 내의 최대 절대값을 결정하는 단계; 상기 결정된 최대 절대값에 따른 코드북 후보들을 이용하여 상기 현재 수신된 데이터 그룹 내의 데이터들을 부호화하는 경우의 비트스트림 길이를 각각 계산하는 단계; 및 상기 결정된 최대 절대값에 따른 코드북 후보들 중 상기 계산된 비트스트림 길이가 가장 짧은 코드북 후보를 상기 데이터 그룹의 최적 코드북으로 결정하는 단계를 포함한다.
또한, 본 발명은 서로 다른 최대 절대값들 중 하나를 포함하는 소정의 데이 터 그룹 내의 데이터들 각각에 대하여 최소 코드워드(codeword) 길이를 갖는 코드북을 검색하는 단계; 상기 최대 절대값들 각각에 따른 코드북 후보들을 상기 검색된 빈도 수에 따라 선정하는 단계; 현재 수신된 데이터 그룹 내의 최대 절대값을 결정하는 단계; 상기 결정된 최대 절대값에 따른 코드북 후보들을 이용하여 상기 현재 수신된 데이터 그룹 내의 데이터들을 부호화하는 경우의 비트스트림 길이를 각각 계산하는 단계; 및 상기 결정된 최대 절대값에 따른 코드북 후보들 중 상기 계산된 비트스트림 길이가 가장 짧은 코드북 후보를 상기 데이터 그룹의 최적 코드북으로 결정하는 단계를 포함하는 코드북 결정 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 의해 달성된다.
또한, 상기 다른 과제를 해결하기 위한 본 발명에 따른 오디오 신호의 부호화 방법은 시간 도메인의 오디오 신호를 주파수 도메인의 스펙트럼 데이터로 변환하는 단계; 상기 스펙트럼 데이터를 양자화하는 단계; 및 상기 양자화된 스펙트럼 데이터에 대한 최적 코드북을 결정하고, 상기 결정된 최적 코드북을 이용하여 상기 양자화된 스펙트럼 데이터를 부호화하는 단계를 포함한다.
또한, 상기 다른 과제는 시간 도메인의 오디오 신호를 주파수 도메인의 스펙트럼 데이터로 변환하는 단계; 상기 스펙트럼 데이터를 양자화하는 단계; 및 상기 양자화된 스펙트럼 데이터에 대한 최적 코드북을 결정하고, 상기 결정된 최적 코드북을 이용하여 상기 양자화된 스펙트럼 데이터를 부호화하는 단계를 포함하는 오디오 신호의 부호화 방법 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 의해 달성된다.
또한, 상기 다른 과제를 해결하기 위한 본 발명에 따른 오디오 신호의 부호화 장치는 시간 도메인의 오디오 신호를 주파수 도메인의 스펙트럼 데이터로 변환하는 변환부; 상기 스펙트럼 데이터를 양자화하는 양자화부; 및 상기 양자화된 스펙트럼 데이터에 대한 최적 허프만 코드북을 결정하고, 상기 결정된 최적 허프만 코드북을 이용하여 상기 양자화된 스펙트럼 데이터를 허프만 부호화하는 단계를 허프만 부호화부를 포함한다.
또한, 상기 또 다른 과제를 해결하기 위한 본 발명에 따른 코드북 후보의 선정 방법은 서로 다른 최대 절대값들 중 하나가 포함된 소정의 데이터 그룹 내의 데이터들 각각에 대하여 최소 코드워드 길이를 갖는 코드북을 검색하는 단계; 및 상기 최대 절대값들 각각에 따른 코드북 후보들을 상기 검색된 빈도 수에 따라 선정하는 단계를 포함한다.
또한, 상기 또 다른 과제는 서로 다른 최대 절대값들 중 하나가 포함된 소정의 데이터 그룹 내의 데이터들 각각에 대하여 최소 코드워드 길이를 갖는 코드북을 검색하는 단계; 및 상기 최대 절대값들 각각에 따른 코드북 후보들을 상기 검색된 빈도 수에 따라 선정하는 단계를 포함하는 코드북 후보 선정 방법에 의해 달성된다.
본 발명에 따르면, 서로 다른 최대 절대값들 각각이 포함된 데이터 그룹 내의 데이터들에 대하여 최소 코드워드 길이를 갖는 코드북들을 검색하고, 검색된 코드북들 중 검색된 빈도 수가 소정의 수보다 많은 코드북을 서로 다른 최대 절대값 들 각각에 따른 코드북 후보들로 선정함으로써, 부호화 결과의 비트 수 및 음질에 미치는 영향을 최소화하면서, 각각의 최대 절대값들에 따른 코드북 후보들의 개수를 줄일 수 있다. 이로써 최적 코드북 선택을 위한 계산량을 줄일 수 있다. 또한, 최적 코드북을 빠르게 선택하여, 부호화 장치의 성능을 개선하고 비용을 절감할 수 있다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 오디오 신호의 부호화 장치를 나타내는 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 오디오 신호의 부호화 장치(10)는 변환부(transformation unit, 11), 음향심리모델 적용부(psychoacoustics model application unit, 12), 코딩 툴(coding tool, 13), 양자화부(quantization unit, 14) 및 허프만 부호화부(Huffman encoding unit, 15)를 포함한다.
변환부(11)는 시간 도메인의 PCM(pulse code modulation) 오디오 신호를 수 신하여 주파수 도메인의 스펙트럼 데이터로 변환한다. 여기서, 변환부(11)는 복수개의 필터뱅크(filterbank)를 포함할 수 있다. 보다 상세하게는, 변환부(11)는 수신된 PCM 오디오 신호에 윈도우(window)를 적용하고, 윈도우를 적용한 신호에 대하여 MDCT(modified discrete cosine transform)를 수행하여 시간 도메인의 PCM 오디오 신호를 주파수 도메인의 스펙트럼 데이터로 변환한다.
이와 같이, 윈도우를 적용한 신호에 대하여 MDCT를 수행함으로써, 시간 도메인의 PCM 오디오 신호는 스펙트럼 데이터로 변환될 수 있다. 또한, 스펙트럼 데이터는 스케일 계수 대역(scale factor band, SFB)으로 그룹화될 수 있다. 여기서, 변환부(11)는 PCM 오디오 신호가 급격하게 변화하는 구간에는 짧은 윈도우를 적용하고, 그렇지 않은 구간에는 긴 윈도우를 적용한다. 이처럼, PCM 오디오 신호의 특성에 따라 짧은 윈도우 또는 긴 윈도우를 선택적으로 적용함으로써, 프리-에코(pre-echo)의 생성을 방지할 수 있다.
음향심리모델 적용부(12)는 인간의 청각 특성에 의한 지각적인 중복성을 제거하기 위해 수신된 오디오 신호에 대해 음향심리모델을 적용한다. 여기서, 음향심리모델은 인간의 청각 시스템의 차폐 작용에 대한 수학적 모델을 나타낸다. 구체적으로, 음향심리모델 적용부(12)는 수신된 오디오 신호에 음향심리모델을 적용하여 오디오 신호에서 매우 낮거나 높은 주파수 성분은 사람의 귀에 거의 들리지 않으므로 부호화 과정에서 제외하고, 소정의 주파수에 의해 감추어진, 즉, 마스킹된 주파수 성분에 대해서는 부호화될 정보의 양을 줄인다.
코딩 툴(13)은 변환부(11)에서 출력된 스펙트럼 데이터를 처리하기 위한 선 택적인 툴들을 포함한다. 예를 들어, 코딩 툴(13)은 TNS(temporal noise shaping), M/S(mono/stereo), 예측(prediction) 툴을 포함할 수 있다. 여기서, TNS 툴은 각 윈도우 내의 잡음의 일시적 형태를 제어하고 프리-에코 문제를 해결하기 위해 사용될 수 있고, 예측 툴은 샘플 간의 상관 관계를 제거하는데 사용될 수 있다.
양자화부(14)는 스케일 계수를 이용하여 코딩 툴(13)에서 출력된 스펙트럼 데이터를 양자화한다.
허프만 부호화부(15)는 양자화된 스펙트럼 데이터에 대한 최적 허프만 코드북을 결정하고, 상기 결정된 최적 허프만 코드북을 이용하여 상기 양자화된 스펙트럼 데이터를 허프만 부호화한다. 보다 상세하게는, 허프만 부호화부(15)는 양자화된 스펙트럼 데이터들을 소정의 데이터의 그룹으로 나누고, 데이터 그룹 내의 양자화된 스펙트럼 데이터들의 최대 절대값에 따른 코드북 후보들 중 최적의 코드북을 결정하고, 결정된 최적의 허프만 코드북에서 코드워드 색인(index)을 계산하고, 계산된 색인에 해당하는 코드워드(codeword)를 결정된 코드북에서 검색하여 해당 코드워드로 양자화된 스펙트럼 데이터들을 부호화 한다. 여기서, 허프만 코드북은 양자화된 스펙트럼 데이터에 따른 코드워드와 코드워드 길이(codeword length)를 가지고 있다.
다음 표 2는 종래의 MPEG 표준에 따른 최대 절대값(LAV)에 따른 코드북 후보들을 나타낸다.
[표 2]
코드북
LAV 1 2 3 4 5 6 7 8 9 10 11
1 O O O O O O O O O O O
2 O O O O O O O O O
3 O O O O O O O
4 O O O O O O O
5 O O O O O
6 O O O O O
7 O O O O O
8 O O O
9 O O O
10 O O O
11 O O O
12 O O O
13 이상 O
표 2에 나타난 바와 같이, 최대 절대값이 0인 경우 코드북 후보는 0이고, 최대 절대값이 1인 경우 코드북 후보는 코드북 1 내지 코드북 11, 최대 절대값이 2인 경우 코드북 후보는 코드북 3 내지 코드북 11, 최대 절대값이 3 내지 4인 경우 코드북 후보는 코드북 5 내지 코드북 11, 최대 절대값이 5 내지 7인 경우 코드북 후보는 코드북 7 내지 코드북 11, 최대 절대값이 8 내지 12인 경우 코드북 후보는 코드북 9 내지 코드북 11, 최대 절대값이 13이상인 경우 코드북 후보는 코드북 11이다. 이와 같이, 종래의 코드북 후보 결정 방법에 따르면 최대 절대값이 적을수록 코드북 후보들의 개수도 많다.
종래의 방법에 따르면, 각각의 코드북 후보들에 대하여 2개 또는 4개의, 다시 말해, 2-튜플(tuple) 또는 4-튜플의 양자화된 스펙트럼 데이터를 이용하여 해당 코드북 후보의 색인을 계산하고, 계산된 색인에 따라 해당 코드북 후보에서 코드워드 길이를 얻은 후, 데이터 그룹 내의 모든 양자화된 스펙트럼 데이터에 대한 전체 코드워드 길이를 계산하여 전체 코드워드 길이가 가장 짧은 코드북 후보를 최적 코 드북으로 결정한다. 이에 따라, 코드북 후보들의 개수가 많을수록 최적 코드북을 결정하기 위한 계산량이 커진다.
도 2는 도 1의 허프만 부호화부를 상세하게 나타내는 블록도이다.
이하에서는, 도 1 및 2를 참조하여 허프만 부호화부(15)의 동작에 대하여 상술하기로 한다.
허프만 부호화부(15)는 코드북 후보 선정부(codebook candidate selection unit, 151), 최대 절대값 결정부(LAV determination unit, 152), 비트스트림 길이 계산부(bitstream length calculation unit, 153), 코드북 결정부(codebook determination unit, 154) 및 부호화 수행부(encoding performing unit, 155)를 포함한다.
코드북 후보 선정부(151)는 서로 다른 최대 절대값들 각각에 대하여 최대 절대값에 따른 코드북 후보들을 선정한다. 본 발명의 일 실시예에서, 스케일 계수 밴드 또는 스케일 계수 밴드들의 그룹과 같은 데이터 그룹은 적어도 하나의 n-튜플의 양자화된 스펙트럼 데이터를 포함하고, 여기서, n은 자연수이다. 예를 들어, 스케일 계수 밴드 내에는 복수개의 2-튜플의 양자화된 스펙트럼 데이터가 포함될 수 있다.
코드북 후보 선정부(151)에서 최대 절대값에 따른 코드북 후보들의 선정 과정은 다음과 같다.
먼저, 코드북 후보 선정부(151)는 데이터 그룹 내의 각각의 n-튜플의 양자화된 스펙트럼 데이터들에 대하여 최소 코드워드 길이(Lmin)를 갖는 코드북을 각각의 n-튜플의 양자화된 스펙트럼 데이터마다 검색한다.
그 다음, 코드북 후보 선정부(151)는 데이터 그룹에 대하여 검색된 코드북들 중 검색된 빈도 수가 가장 많은 코드북을 최대 절대값에 따른 코드북 후보들에 추가한다. 또한, 검색된 코드북들 중 다른 코드북과 모두 중복되는 코드북은 복수의 코드북 후보에 포함시키지 않음으로써 코드북 후보들의 개수를 줄일 수 있다.
그 다음, 코드북 후보 선정부(151)는 검색된 코드북들 중 일부 코드북에서 n-튜플의 양자화된 스펙트럼 데이터들 각각의 코드워드 길이와 상기 n-튜플의 양자화된 스펙트럼 데이터들 각각의 최소 코드워드 길이(Lmin) 사이의 차이를 계산한다. 구체적으로, 코드북 후보 선정부(151)는 검색된 코드북들 중 검색된 빈도 수가 소정의 값 이상인 m개의 코드북을 선택하고, n-튜플의 양자화된 스펙트럼 데이터들에 대하여 상기 m개의 코드북 각각에서의 코드워드 길이와 상기 최소 코드워드 길이(Lmin) 사이의 차이를 계산할 수 있다. 여기서, m은 자연수이다.
이 경우, 검색된 코드북들 모두에 대하여 n-튜플의 양자화된 스펙트럼 데이터들의 코드워드 길이와 상기 최소 코드워드 길이(Lmin) 사이의 차이를 구할 수도 있으나, 계산량을 줄이기 위해 검색된 코드북들 중 검색된 빈도 수가 많은 일부 코드북들에 대하여 상기 연산을 수행한다.
그 다음, 코드북 후보 선정부(151)는 상기 계산된 차이가 소정의 값 이상인 코드북을 상기 최대 절대값에 따른 복수의 코드북 후보들에 추가한다. 예를 들어, 상기 계산된 차이가 1인 경우는 차이가 크지 않은 것으로 판단되므로 해당 코드북은 코드북 후보에서 제외한다. 한편, 상기 계산된 차이가 5인 경우는 차이가 상당 히 큰 것으로 판단되므로 해당 코드북은 코드북 후보에 포함시킨다.
도 3은 도 2의 코드북 후보 선정부의 동작을 설명하기 위하여 최대 절대값이 6인 경우를 예로 나타낸 표이다.
이하에서는, 도 2 및 3을 참조하여 코드북 후보 선정부(151)의 동작을 상술하기로 한다. 도 3의 예에서 데이터 그룹의 최대 절대값은 6이고, 데이터 그룹은 복수개의 2-튜플의 양자화된 스펙트럼 데이터들을 포함한다.
먼저, 코드북 후보 선정부(151)는 데이터 그룹 내의 각각의 2-튜플의 양자화된 스펙트럼 데이터에 대하여 최소 코드워드 길이를 갖는 코드북을 각각의 2-튜플의 양자화된 스펙트럼 데이터마다 검색한다. 예를 들어, 양자화된 스펙트럼 데이터가 (6, 6)인 경우에 최소 코드워드 길이를 갖는 코드북은 코드북 10 및 코드북 11이며, 이 때의 최소 코드워드 길이는 10이다. 또한, 양자화된 스펙트럼 데이터가 (6, 5)인 경우 최소 코드워드 길이를 갖는 코드북은 코드북 8, 코드북 10 및 코드북 11이며, 이 때의 최소 코드워드 길이는 10이다.
그 다음, 코드북 후보 선정부(151)는 데이터 그룹 내의 2-튜플의 양자화된 스펙트럼 데이터들에 대한 최소 코드워드 길이를 갖는 코드북 7 내지 코드북 11 중 검색된 빈도 수가 가장 많은 코드북 10을 최대 절대값 6에 따른 코드북 후보에 추가한다. 또한, 코드북 11이 최소 코드워드 길이를 갖는 경우는 모두 코드북 10과 중복되는바, 코드북 후보 선정부(151)는 코드북 11을 최대 절대값 6에 대한 코드북 후보에서 제외시킨다.
그 다음, 코드북 후보 선정부(151)는 검색된 코드북들인 코드북 7 내지 코드 북 11 중 검색된 빈도 수가 큰 코드북 8 및 코드북 10에서 2-튜플의 양자화된 스펙트럼 데이터들 각각의 코드워드 길이와 2-튜플의 양자화된 스펙트럼 데이터들 각각의 최소 코드워드 길이 사이의 차이를 계산한다.
그 다음, 코드북 후보 선정부(151)는 상기 계산된 차이가 소정의 값 이상인 코드북을 최대 절대값 6에 따른 코드북 후보에 추가한다.
여기서, 코드북 8이 최소 코드워드 길이를 갖는 경우 대부분 코드북 10과 중복되지만, 양자화된 스펙트럼 데이터가 (2, 2), (2, 0), (1, 1), (0, 2)인 경우에는 코드북 8만 최소 코드워드 길이를 갖는다. 구체적으로, 양자화된 스펙트럼 데이터가 (2, 2), (2, 0), (1, 1), (0, 2)인 경우, 코드북 8에서의 코드워드 길이는 각각 6, 6, 5, 6이고, 코드북 10에서의 코드워드 길이는 코드북 8에서의 코드워드 길이와 모두 1만큼 차이가 난다. 따라서, 코드북 8의 경우 코드북 10을 이용했을 경우와 비교하여 코드워드 길이가 크게 차이가 나지 않으므로 코드북 8은 최대 절대값 6에 따른 코드북 후보에서 제외시킨다.
한편, 코드북 7이 최소 코드워드 길이를 갖는 경우는 모두 코드북 9와 중복되므로, 코드북 7과 코드북 9 중 하나를 최대 절대값 6에 따른 코드북 후보에서 제외시킬 수 있다. 구체적으로, 양자화된 스펙트럼 데이터가 (1, 0), (0, 1)인 경우 코드북 7 및 코드북 9에서의 최소 코드워드 길이는 모두 4인데, 이러한 최소 코드워드 길이는 코드북 10에서의 코드워드 길이와 2만큼 차이가 난다. 또한, 양자화된 스펙트럼 데이터가 (0, 0)인 경우 코드북 7 및 코드북 9에서의 최소 코드워드 길이는 모두 1인데, 이러한 최소 코드워드 길이는 코드북 10에서의 코드워드 길이 와 5만큼 차이가 난다. 따라서, 코드북 7 및 코드북 9는 양자화된 스펙트럼 데이터가 (1, 0), (0, 1), (0, 0)인 경우에는 코드북 10을 이용했을 경우와 비교하여 코드워드 길이가 상당히 차이가 나므로 코드북 7 또는 코드북 9를 최대 절대값 6에 따른 코드북 후보에 포함시킨다.
상기 표 2에 나타난 바와 같이, 종래의 코드북 후보 선정 과정에 따르면 최대 절대값이 6인 경우 코드북 후보는 5개(코드북 7 내지 코드북 11)이다. 그러나, 상술한 바와 같이, 본 발명의 일 실시예에 따르면 최대 절대값이 6인 경우 코드북 후보는 2개(코드북 7 및 코드북 10 또는 코드북 9 및 코드북 10)이다. 따라서, 본 발명의 일 실시예에 따른 코드북 후보를 허프만 부호화 방법을 사용하는 오디오 부호화기에 사용할 경우 최대 절대값에 따른 종래의 허프만 코드북 후보들을 사용하는 오디오 부호화기에 비해 허프만 부호화에 드는 계산량이 크게 줄어든다. 표 3은 본 발명의 일 실시예에 따른 코드북 후보 선정 방법에 의한 최대 절대값에 따른 코드북 후보를 나타낸다. 여기서, 표 3은 도 3에 도시된 바와 같은 방법으로 각각의 최대 절대값에 따른 코드북 후보를 선정한 결과이다.
[표 3]
코드북
LAV 1 2 3 4 5 6 7 8 9 10 11
1 O O O
2 O O O
3 O O O
4 O O O
5 O O
6 O O
7 O O
8 O O
9 O O
10 O O
11 O O
표 2와 표 3을 참조하면, 최대 절대값이 1인 경우 표 2에서 코드북 후보는 11개(코드북 1 내지 코드북 11)이지만, 표 3에서 코드북 후보는 3개(코드북 1, 코드북 2 및 코드북 4)이다. 또한, 최대 절대값이 2인 경우 표 2에서 코드북 후보는 9개(코드북 3 내지 코드북 11)이지만, 표 3에서 코드북 후보는 3개(코드북 4, 코드북 6 및 코드북 7)이다. 이와 같이, 본 발명의 일 실시예에 따르면 최대 절대값에 따른 코드북 후보의 수가 크게 줄어드는 것을 알 수 있다. 또한, 최대 절대값에 따른 코드북 후보에서 코드북 3 및 코드북 5를 제외시켜 부호화단 및 복호화단에 포함되는 메모리의 사이즈를 절약할 수 있다.
표 1에 나타난 바와 같이, 코드북 1 내지 코드북 4가 한번에 처리할 수 있는 데이터의 개수는 4개이고, 코드북 5 내지 코드북 11이 한번에 처리할 수 있는 데이터의 개수는 2개이다. 따라서, 스케일 계수 밴드의 크기가 4인 경우, 코드북 1 내지 4는 한번, 코드북 5 내지 11은 두 번의 코드북 접근이 필요하다.
스케일 계수 밴드 당 계산량은 다음의 수학식 1을 이용하여 구할 수 있다.
[수학식 1]
CASFB=CALAV*SSFB/4
여기서, CASFB 는 스케일 계수 밴드 당 계산량이고, CALAV 는 최대 절대값에 따른 계산량이며, SSFB 는 스케일 계수 밴드의 사이즈를 나타낸다. 여기서, 최대 절대값에 따른 계산량은 4 튜플을 기준으로 할 수 있다.
이를 이용하여 최적 코드북 선정을 위한 계산량을 구하면, 종래의 방법에 따 른 표 2의 경우, 스케일 계수 밴드의 크기가 4인 경우 최대 절대값이 1이면 코드북 후보는 코드북 1 내지 코드북 11이므로 계산량은 18이고, 최대 절대값이 2이면 코드북 후보는 코드북 3 내지 코드북 11이므로 계산량은 16이다. 그러나, 본 발명의 일 실시예에 다른 표 3의 경우, 스케일 계수 밴드의 크기가 4인 경우 최대 절대값이 1이면 코드북 후보는 코드북 1, 코드북 2 및 코드북 4이므로 계산량은 3이고, 최대 절대값이 2이면 코드북 후보는 코드북 4, 코드북 6 및 코드북 7이므로 계산량은 5이다. 이와 같이, 본 발명의 일 실시예에 따를 경우, 최적 코드북 선정을 위한 계산량이 크게 줄어드는 것을 알 수 있다.
예를 들어, 어떤 프레임의 스케일 계수 밴드의 개수가 49개이고, 49개의 스케일 계수 밴드의 최대 절대값이 모두 1인 경우 최적 코드북 선정을 위한 계산량은 종래의 방법에 따르면 4608이지만, 본 발명에 따르면 768으로 종래에 비해 계산량이 83.33% 감소한다. 본 발명에 따르면, 종래에 비해 평균적으로 57.38%의 계산량이 감소한다.
다시 도 2를 참조하면, 최대 절대값 결정부(152)는 양자화부(14)에서 출력된 양자화된 스펙트럼 데이터들을 포함하는 소정의 데이터 그룹 내의 최대 절대값을 결정한다. 상술한 바와 같이, 소정의 데이터 그룹은 스케일 계수 밴드 또는 스케일 계수 밴드들의 그룹일 수 있다.
비트스트림 길이 계산부(153)는 최대 절대값 결정부(152)에서 결정된 최대 절대값에 따른 코드북 후보들을 코드북 후보 선정부(151)로부터 제공받아, 소정의 데이터 그룹 내의 n-튜플의 양자화된 스펙트럼 데이터들에 대하여 각각의 코드북 후보에 따른 비트스트림 길이를 계산한다.
보다 상세하게는, 비트스트림 길이 계산부(153)는 데이터 그룹 내의 n-튜플의 양자화된 스펙트럼 데이터를 이용하여 각각의 코드북 후보에서 코드북 색인을 계산한다. 그 다음, 비트스트림 길이 계산부(153)는 계산된 색인을 이용하여 각각의 코드북 후보에 따른 각각의 n-튜플의 양자화된 스펙트럼 데이터에 대한 코드워드 길이를 구한다. 그 다음, 비트스트림 길이 계산부(153)는 데이터 그룹에 포함된 n-튜플의 양자화된 스펙트럼 데이터들 모두에 대하여 구한 코드워드 길이를 합산함으로써 각각의 코드북 후보에 따른 비트스트림 길이를 계산한다.
코드북 결정부(154)는 비트스트림 길이 계산부(153)에서 계산된 각각의 코드북 후보에서의 비트스트림 길이들을 입력받아, 코드북 후보들 중 비트스트림 길이가 가장 짧은 코드북을 최대 절대값에 따른 최적 코드북으로 결정한다.
부호화 수행부(155)는 코드북 결정부(154)에서 결정된 최적 코드북을 이용하여 양자화된 스펙트럼 데이터를 허프만 부호화한다.
도 4는 본 발명의 일 실시예에 따른 코드북 후보표를 이용한 허프만 부호화 방법의 일 예를 나타내는 흐름도이다.
이하에서는 표 3, 도 2 및 4를 참조하여, 허프만 부호화부(15)에 포함된 최대 절대값 결정부(152), 비트스트림 길이 계산부(153) 및 코드북 결정부(154)의 동작을 상술하기로 한다.
400 단계에서, n번째 데이터 그룹 내의 최대 절대값(LAV)을 결정한다. 여기서, n은 1 이상의 자연수이다.
410 단계에서, 최대 절대값(LAV)이 0인지 여부를 판단한다. 판단 결과, 최대 절대값이 0이면 코드북도 0이고, 최대 절대값이 0이 아니면 420 단계를 수행한다.
420 단계에서, 최대 절대값(LAV)이 1인지 여부를 판단한다. 표 3에서 최대 절대값 1에 따른 코드북 후보는 코드북 1, 코드북 2 및 코드북 4이다. 판단 결과, 최대 절대값이 1이면 425 단계에서 코드북 1, 코드북 2 및 코드북 4에 따른 비트스트림 길이를 각각 계산하고, 최대 절대값이 1이 아니면 430 단계를 수행한다.
430 단계에서, 최대 절대값(LAV)이 2인지 여부를 판단한다. 표 3에서 최대 절대값 2에 따른 코드북 후보는 코드북 4, 코드북 6 및 코드북 7이다. 판단 결과, 최대 절대값이 2이면 435 단계에서 코드북 4, 코드북 6 및 코드북 7에 따른 비트스트림 길이를 각각 계산하고, 최대 절대값이 2가 아니면 440 단계를 수행한다.
440 단계에서, 최대 절대값(LAV)이 5보다 작은지 여부를 판단한다. 표 3에서 최대 절대값 3 및 4에 따른 코드북 후보는 코드북 6, 코드북 7 및 코드북 8이다. 판단 결과, 최대 절대값이 5보다 작으면 445 단계에서 코드북 6, 코드북 7 및 코드북 8에 따른 비트스트림 길이를 각각 계산하고, 최대 절대값이 5보다 작지 않으면 450 단계를 수행한다.
450 단계에서, 최대 절대값(LAV)이 5인지 여부를 판단한다. 표 3에서 최대 절대값 5에 따른 코드북 후보는 코드북 7 및 코드북 8이다. 판단 결과, 최대 절대값이 5이면 455 단계에서 코드북 7 및 코드북 8에 따른 비트스트림 길이를 각각 계산하고, 최대 절대값이 5가 아니면 460 단계를 수행한다.
460 단계에서, 최대 절대값(LAV)이 10보다 작은지 여부를 판단한다. 표 3에서 최대 절대값 6 내지 9에 따른 코드북 후보는 코드북 9 및 코드북 10이다. 판단 결과, 최대 절대값이 10보다 작으면 465 단계에서 코드북 9 및 코드북 10에 따른 비트스트림 길이를 각각 계산하고, 최대 절대값이 10보다 작지 않으면 470 단계를 수행한다.
470 단계에서, 최대 절대값(LAV)이 13보다 작은지 여부를 판단한다. 표 3에서 최대 절대값 10 내지 12에 따른 코드북 후보는 코드북 10 및 코드북 11이다. 판단 결과, 최대 절대값이 13보다 작으면 475 단계에서 코드북 10 및 코드북 11에 따른 비트스트림 길이를 각각 계산하고, 최대 절대값이 13보다 작지 않으면 480 단계를 수행한다.
480 단계에서, 최대 절대값이 13 이상이면 코드북 11에 따른 비트스트림 길이를 계산한다.
485 단계에서, 425, 435, 445, 455, 465, 475 단계 중 하나에서 계산된 비트스트림 길이들 중 가장 짧은 길이를 갖는 코드북을 선택한다.
490 단계에서, n이 N과 동일한지 여부를 판단한다. 여기서, N은 전체 데이터 그룹의 수이다. 다시 말해, 모든 데이터 그룹에 대해 그룹 각각의 최적 코드북을 선택했는지 판단한다.
표 4는 본 발명에서 코드워드 길이 차이 계산에 의한 추가 코드북을 다르게 선정한 다른 실시예에 따른 코드북 후보 선정 방법에 의한 최대 절대값에 따른 코드북 후보의 일부를 나타낸다.
[표 4]
코드북
LAV 1 2 3 4 5 6 7 8 9 10 11
1 O O
2 O O
3 O O
4 O O
5 O O
표 3 및 표 4를 참조하면, 최대 절대값인 1인 경우 표 3에서 코드북 후보는 3개(코드북 1, 코드북 2 및 코드북 4)이지만, 표 4에서 코드북 후보는 2개(코드북 1, 코드북 2)이다. 또한, 최대 절대값이 2인 경우 표 3에서 코드북 후보는 3개(코드북 4, 코드북 6 및 코드북 7)이지만, 표 4에서 코드북 후보는 2개(코드북 4 및 코드북 7)이다. 이와 같이, 본 발명의 다른 실시예에 따르면 최대 절대값 각각에 따른 코드북 후보들의 개수를 표 3에 보다 더 줄임으로써 계산량을 더 줄일 수도 있다. 이 경우에도, 최대 절대값에 따른 코드북 후보에서 코드북 3 및 코드북 5를 제외시켜 부호화단 및 복호화단에 포함되는 메모리의 사이즈를 절약할 수 있다.
도 5는 본 발명의 일 실시예에 따른 코드북에 따른 데이터 그룹의 섹셔닝 방법을 설명하기 위한 표이다.
도 5를 참조하면, 본 발명의 일 실시예에서, 허프만 부호화부(15)는 각 데이터 그룹의 최적 코드북들이 선택된 후, 연속적으로 같은 코드북을 갖는 데이터 그룹들은 다시 섹션으로 묶일 수 있다. 하나의 섹션에 포함된 양자화된 스펙트럼 데이터들은 동일한 코드북을 이용하여 허프만 부호화된다. 여기서, 데이터 그룹은 스케일 계수 밴드(SFB)를 예로 한다.
스케일 계수 밴드 0에 대한 최적 코드북은 10이므로, 스케일 계수 밴드 1을 하나의 섹션(섹션 0)으로 한다. 또한, 스케일 계수 밴드 1 내지 16에 대한 최적 코드북은 모두 11이므로, 스케일 계수 밴드 1 내지 16을 하나의 섹션(섹션 1)으로 묶는다. 또한, 스케일 계수 밴드 17 및 18에 대한 최적 코드북은 모두 8이므로, 스케일 계수 밴드 17 및 18을 하나의 섹션(섹션 2)으로 묶는다. 이와 같이, 연속적으로 같은 코드북을 갖는 데이터 그룹들을 하나의 섹션으로 묶을 수 있다.
부호화된 코드워드들을 비트스트림으로 구성할 때 스펙트럼 데이터를 부호화한 코드워드들 이외의 사이드 정보(Side information)도 비트스트림 안에 존재한다. 섹셔닝을 하지 않은 경우에는 스케일 계수 밴드 별로 사이드 정보가 존재하지만, 섹셔닝을 한 경우는 섹션 별로 사이드 정보가 존재하게 되어 사이드 정보를 저장하기 위한 비트를 절약할 수 있다. 예를 들어 3개의 스케일 계수 밴드가 섹셔닝이 되지 않았다면 각각의 스케일 계수 밴드에 따른 3개의 사이드 정보가 필요하지만, 3개의 스케일 계수 밴드가 하나의 섹션으로 묶인다면 섹션에 대한 하나의 사이드 정보만 있으면 된다.
스펙트럼 데이터들의 최대 절대값이 동일한 스케일 계수 밴드가 연속적으로 존재할 경우 최대 절대값에 따른 허프만 코드북 후보의 개수가 적을수록 같은 코드북으로 부호화될 확률이 커지기 때문에 많은 스케일 계수 밴드를 하나의 섹션으로 묶을 수 있고, 이로 인해 사이드 정보를 저장하는 비트를 절약할 수 있다.
도 6은 본 발명의 일 실시예에 따른 코드북 결정 방법을 나타내는 흐름도이다.
도 6을 참조하면, 본 실시예에 따른 코드북 결정 방법은 도 1 및 2에 도시된 허프만 부호화부에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1 및 2에 도시된 허프만 부호화부에 관하여 이상에서 기술된 내용은 본 실시예에 따른 코드북 결정 방법에도 적용된다.
600 단계에서, 서로 다른 최대 절대값들 각각에 따른 코드북 후보들을 선정한다. 여기서, 서로 다른 최대 절대값들 각각이 포함된 데이터 그룹 내의 데이터들에 대하여 최소 코드워드 길이를 갖는 코드북들을 검색하고, 검색된 코드북들 중 검색된 빈도 수가 소정의 수보다 많은 코드북을 코드북 후보로 선정한다. 보다 상세하게는, 데이터 그룹 내의 각각의 n-튜플의 양자화된 스펙트럼 데이터들마다 각각의 n-튜플의 양자화된 스펙트럼 데이터에 대하여 최소 코드워드 길이를 갖는 적어도 하나의 코드북을 검색하는 단계, 데이터 그룹에 대하여 검색된 코드북들 중 검색된 빈도 수가 가장 많은 코드북을 최대 절대값에 따른 코드북 후보에 추가하는 단계, 검색된 코드북들 중 일부에서의 n-튜플의 양자화된 스펙트럼 데이터들 각각의 코드워드 길이와 n-튜플의 양자화된 스펙트럼 데이터들 각각의 최소 코드워드 길이 사이의 차이를 계산하는 단계, 및 계산된 차이가 소정의 값 이상인 코드북을 최대 절대값에 따른 코드북 후보에 추가하는 단계를 포함할 수 있다.
610 단계에서, 데이터 그룹 내의 데이터들 중 최대 절대값을 결정한다.
620 단계에서, 결정된 최대 절대값에 따른 코드북 후보들을 이용하여 데이터 그룹 내의 데이터들을 부호화하는 경우의 비트스트림 길이를 각각 계산한다. 보다 상세하게는, 결정된 최대 절대값에 따른 코드북 후보들 중 하나에 대하여 데이터 그룹 내의 데이터에 대한 코드북 색인을 계산하는 단계, 코드북 색인을 이용하여 데이터에 대한 코드워드 길이를 구하는 단계, 및 데이터 그룹 내의 모든 데이터에 대한 코드워드 길이의 합을 비트스트림 길이로 출력하는 단계를 포함할 수 있다.
630 단계에서, 결정된 최대 절대값에 따른 코드북 후보들 중 계산된 비트스트림 길이가 가장 짧은 코드북 후보를 데이터 그룹의 최적 코드북으로 결정한다.
또한, 본 발명의 일 실시예는, 데이터 그룹에 대해 선택된 최적 코드북에 따라 복수의 데이터 그룹들을 섹셔닝(sectioning)하는 단계를 더 포함할 수 있다.
도 7은 본 발명의 일 실시예에 따른 오디오 신호의 부호화 방법을 나타내는 흐름도이다.
도 7을 참조하면, 본 실시예에 따른 오디오 신호의 부호화 방법은 도 1에 도시된 오디오 신호의 부호화 장치에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 1에 도시된 오디오 신호의 부호화 장치에 관하여 이상에서 기술된 내용은 본 실시예에 따른 오디오 신호의 부호화 방법에도 적용된다.
700 단계에서, 시간 도메인의 오디오 신호를 주파수 도메인의 스펙트럼 데이터로 변환한다.
710 단계에서, 상기 스펙트럼 데이터를 양자화한다.
720 단계에서, 상기 양자화된 스펙트럼 데이터에 대한 최적 코드북을 결정하고, 상기 결정된 최적 코드북을 이용하여 상기 양자화된 스펙트럼 데이터를 부호화한다. 보다 상세하게는, 서로 다른 최대 절대값들 각각에 따른 코드북 후보들을 선정하는 단계, 양자화된 스펙트럼 데이터가 포함된 데이터 그룹 내의 최대 절대값을 결정하는 단계, 선정된 코드북 후보들 중 결정된 최대 절대값에 따른 코드북 후보들을 이용하여 데이터 그룹 내의 데이터들을 부호화하는 경우의 비트스트림 길이를 각각 계산하는 단계, 결정된 최대 절대값에 따른 코드북 후보들 중 계산된 비트스트림 길이가 가장 짧은 코드북 후보를 데이터 그룹의 최적 코드북으로 결정하는 단계, 및 결정된 최적 코드북을 이용하여 양자화된 스펙트럼 데이터를 부호화하는 단계를 포함할 수 있다.
이상에서, 본 발명의 일 실시예에 MPEG 표준에 의해 제공된 11개의 허프만 코드북을 예로 들어 설명하였지만, 본 발명의 일 실시예는 이에 한정되지 아니하고, 허프만 부호화를 수행하는 모든 부호화기에 적용될 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다.
또한, 본 발명에 따른 장치는 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스 크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
도 1은 본 발명의 일 실시예에 따른 오디오 신호의 부호화 장치를 나타내는 블록도이다.
도 2는 도 1의 허프만 부호화부를 상세하게 나타내는 블록도이다.
도 3은 도 2의 코드북 후보 선정부의 동작을 설명하기 위하여 최대 절대값이 6인 경우를 예로 나타낸 표이다.
도 4는 본 발명의 일 실시예에 따른 코드북 후보표를 이용한 허프만 부호화 방법의 일 예를 나타내는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 코드북에 따른 데이터 그룹의 섹셔닝 방법을 설명하기 위한 표이다.
도 6은 본 발명의 일 실시예에 따른 코드북 결정 방법을 나타내는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 오디오 신호의 부호화 방법을 나타내는 흐름도이다.

Claims (26)

  1. 코드북 결정 방법에 있어서,
    서로 다른 최대 절대값들 중 하나를 포함하는 소정의 데이터 그룹 내의 데이터들 각각에 대하여 최소 코드워드(codeword) 길이를 갖는 코드북을 검색하는 단계;
    상기 최대 절대값들 각각에 따른 코드북 후보들을 상기 검색된 빈도 수에 따라 선정하는 단계;
    현재 수신된 데이터 그룹 내의 최대 절대값을 결정하는 단계;
    상기 결정된 최대 절대값에 따른 코드북 후보들을 이용하여 상기 현재 수신된 데이터 그룹 내의 데이터들을 부호화하는 경우의 비트스트림 길이를 각각 계산하는 단계; 및
    상기 결정된 최대 절대값에 따른 코드북 후보들 중 상기 계산된 비트스트림 길이가 가장 짧은 코드북 후보를 상기 데이터 그룹의 최적 코드북으로 결정하는 단계를 포함하는 코드북 결정 방법.
  2. 제1항에 있어서,
    상기 최대 절대값들 각각에 따른 코드북 후보들을 상기 검색된 빈도 수에 따라 선정하는 단계는, 상기 검색된 코드북들 중 검색된 빈도 수가 가장 많은 코드북을 상기 최대 절대값에 따른 코드북 후보로 선정하는 것을 특징으로 하는 코드북 결정 방법.
  3. 제2항에 있어서,
    상기 검색된 코드북들 중 검색된 빈도 수가 가장 많은 코드북과 중복되는 다른 코드북은 코드북 후보에서 제외하는 단계를 더 포함하는 것을 특징으로 하는 코드북 결정 방법.
  4. 제2항에 있어서,
    상기 데이터 그룹은 적어도 하나의 n-튜플(tuple)의 양자화된 스펙트럼 데이터를 포함하고, n은 자연수인 것을 특징으로 하는 코드북 결정 방법.
  5. 제4항에 있어서,
    상기 최대 절대값들 각각에 따른 상기 코드북 후보들을 상기 검색된 빈도 수에 따라 선정하는 단계는,
    상기 검색된 코드북들 중 일부에서의 상기 n-튜플의 양자화된 스펙트럼 데이터들 각각의 코드워드 길이와 상기 n-튜플의 양자화된 스펙트럼 데이터들 각각의 최소 코드워드 길이 사이의 차이를 계산하는 단계; 및
    상기 계산된 차이가 소정의 값 이상인 코드북을 상기 최대 절대값에 따른 상기 코드북 후보에 추가하는 단계를 더 포함하는 것을 특징으로 하는 코드북 결정 방법.
  6. 제5항에 있어서,
    상기 차이를 계산하는 단계는,
    상기 검색된 코드북들 중 검색된 빈도 수가 소정의 값 이상인 m개의 코드북을 선택하는 단계; 및
    상기 m개의 코드북 각각에서의 상기 n-튜플의 양자화된 스펙트럼 데이터들 각각의 코드워드 길이와 상기 n-튜플의 양자화된 스펙트럼 데이터들 각각의 상기 최소 코드워드 길이의 차이를 계산하는 단계를 포함하고,
    m은 자연수인 것을 특징으로 하는 코드북 결정 방법.
  7. 제1항에 있어서,
    상기 비트스트림 길이를 각각 계산하는 단계는,
    상기 결정된 최대 절대값에 따른 상기 코드북 후보들 중 하나에 대하여 상기 데이터 그룹 내의 상기 데이터에 대한 코드북 색인을 계산하는 단계;
    상기 코드북 색인을 이용하여 상기 데이터에 대한 코드워드 길이를 구하는 단계; 및
    상기 현재 수신된 데이터 그룹 내의 모든 데이터에 대한 코드워드 길이의 합을 상기 비트스트림 길이로 출력하는 단계를 포함하는 것을 특징으로 하는 코드북 결정 방법.
  8. 제1항에 있어서,
    상기 현재 수신된 데이터 그룹에 대해 상기 선택된 최적 코드북에 따라 복수의 데이터 그룹들을 섹셔닝(sectioning)하는 단계를 더 포함하는 것을 특징으로 하는 코드북 결정 방법.
  9. 제8항에 있어서,
    상기 데이터 그룹은 스케일 팩터 밴드(scale factor band) 또는 스케일 팩터 밴드들의 그룹인 것을 특징으로 하는 코드북 결정 방법.
  10. 제1항에 있어서,
    상기 코드북은 허프만 코드북인 것을 특징으로 하는 코드북 결정 방법.
  11. 제1항 내지 제10항 중 어느 하나의 코드북 결정 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  12. 시간 도메인의 오디오 신호를 주파수 도메인의 스펙트럼 데이터로 변환하는 단계;
    상기 스펙트럼 데이터를 양자화하는 단계; 및
    상기 양자화된 스펙트럼 데이터에 대한 최적 코드북을 결정하고, 상기 결정된 최적 코드북을 이용하여 상기 양자화된 스펙트럼 데이터를 부호화하는 단계를 포함하는 오디오 신호의 부호화 방법.
  13. 제12항에 있어서,
    상기 양자화된 스펙트럼 데이터를 부호화하는 단계는
    서로 다른 최대 절대값들 중 하나를 포함하는 소정의 데이터 그룹 내의 데이터들 각각에 대하여 최소 코드워드 길이를 갖는 코드북을 검색하는 단계;
    상기 최대 절대값들 각각에 따른 코드북 후보들을 상기 검색된 빈도 수에 따라 선정하는 단계;
    상기 양자화된 스펙트럼 데이터가 포함된 데이터 그룹 내의 최대 절대값을 결정하는 단계;
    상기 결정된 최대 절대값에 따른 코드북 후보들을 이용하여 상기 데이터 그룹 내의 데이터들을 부호화하는 경우의 비트스트림 길이를 각각 계산하는 단계;
    상기 결정된 최대 절대값에 따른 코드북 후보들 중 상기 계산된 비트스트림 길이가 가장 짧은 코드북 후보를 상기 데이터 그룹의 상기 최적 코드북으로 결정하는 단계; 및
    상기 결정된 최적 코드북을 이용하여 상기 양자화된 스펙트럼 데이터를 부호화하는 단계를 포함하는 것을 특징으로 하는 오디오 신호의 부호화 방법.
  14. 제13항에 있어서,
    상기 최대 절대값들 각각에 따른 코드북 후보를 상기 검색된 빈도 수에 따라 선정하는 단계는, 상기 검색된 코드북들 중 검색된 빈도 수가 가장 많은 코드북을 상기 최대 절대값에 따른 코드북 후보로 선정하는 것을 특징으로 하는 오디오 신호의 부호화 방법.
  15. 제14항에 있어서,
    상기 양자화된 스펙트럼 데이터를 부호화하는 단계는,
    상기 검색된 코드북들 중 검색된 빈도 수가 가장 많은 코드북과 중복되는 다른 코드북은 코드북 후보에서 제외하는 단계를 더 포함하는 것을 특징으로 하는 오디오 신호의 부호화 방법.
  16. 제13항에 있어서,
    상기 데이터 그룹은 적어도 하나의 n-튜플의 양자화된 스펙트럼 데이터를 포함하고, n은 자연수인 것을 특징으로 하는 오디오 신호의 부호화 방법.
  17. 제15항에 있어서,
    상기 최대 절대값들 각각에 따른 코드북 후보들을 상기 검색된 빈도 수에 따라 선정하는 단계는,
    상기 검색된 코드북들 중 일부에서의 상기 n-튜플의 양자화된 스펙트럼 데이터들 각각의 코드워드 길이와 상기 n-튜플의 양자화된 스펙트럼 데이터들 각각의 최소 코드워드 길이 사이의 차이를 계산하는 단계; 및
    상기 계산된 차이가 소정의 값 이상인 코드북을 상기 최대 절대값에 따른 상기 코드북 후보에 추가하는 단계를 더 포함하는 것을 특징으로 하는 오디오 신호의 부호화 방법.
  18. 제12항에 있어서,
    상기 코드북은 허프만 코드북인 것을 특징으로 하는 코드북 결정 방법.
  19. 제12항 내지 제18항 중 어느 하나의 오디오 신호의 부호화 방법 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  20. 시간 도메인의 오디오 신호를 주파수 도메인의 스펙트럼 데이터로 변환하는 변환부;
    상기 스펙트럼 데이터를 양자화하는 양자화부; 및
    상기 양자화된 스펙트럼 데이터에 대한 최적 허프만 코드북을 결정하고, 상기 결정된 최적 허프만 코드북을 이용하여 상기 양자화된 스펙트럼 데이터를 허프만 부호화하는 허프만 부호화부를 포함하는 것을 특징으로 하는 오디오 신호의 부호화 장치.
  21. 제20항에 있어서,
    상기 허프만 부호화부는,
    서로 다른 최대 절대값들 중 하나를 포함하는 소정의 데이터 그룹 내의 데이터들 각각에 대하여 최소 코드워드 길이를 갖는 코드북을 검색하여, 상기 최대 절대값들 각각에 따른 허프만 코드북 후보들을 상기 검색된 빈도 수에 따라 선정하는 코드북 후보 선정부;
    상기 양자화된 스펙트럼 데이터가 포함된 데이터 그룹 내의 최대 절대값을 결정하는 최대 절대값 결정부;
    상기 선정된 코드북 후보들 중 상기 결정된 최대 절대값에 따른 허프만 코드북 후보들을 이용하여 상기 데이터 그룹 내의 데이터들을 부호화하는 경우의 비트스트림 길이를 각각 계산하는 비트스트림 길이 계산부;
    상기 선정된 허프만 코드북 후보들 중 상기 계산된 비트스트림 길이가 가장 짧은 허프만 코드북 후보를 상기 데이터 그룹의 상기 최적 허프만 코드북으로 결정하는 코드북 결정부; 및
    상기 결정된 최적 허프만 코드북을 이용하여 상기 양자화된 스펙트럼 데이터를 허프만 부호화하는 부호화 수행부를 포함하는 것을 특징으로 하는 오디오 신호의 부호화 장치.
  22. 제21항에 있어서,
    상기 코드북 후보 선정부는, 상기 검색된 코드북들 중 검색된 빈도 수가 가장 많은 코드북을 상기 최대 절대값에 따른 코드북 후보로 선정하는 것을 특징으로 하는 오디오 신호의 부호화 장치.
  23. 제22항에 있어서,
    상기 데이터 그룹은 적어도 하나의 n-튜플의 양자화된 스펙트럼 데이터를 포함하고, n은 자연수인 것을 특징으로 하는 오디오 신호의 부호화 장치.
  24. 제23항에 있어서,
    상기 코드북 후보 선정부는,
    상기 검색된 코드북들 중 일부에서의 상기 n-튜플의 양자화된 스펙트럼 데이터들 각각의 코드워드 길이와 상기 n-튜플의 양자화된 스펙트럼 데이터들 각각의 최소 코드워드 길이 사이의 차이를 계산하고, 상기 계산된 차이가 소정의 값 이상인 코드북을 상기 최대 절대값에 따른 상기 코드북 후보에 추가하는 것을 더 특징으로 하는 오디오 신호의 부호화 장치.
  25. 서로 다른 최대 절대값들 중 하나가 포함된 소정의 데이터 그룹 내의 데이터들 각각에 대하여 최소 코드워드 길이를 갖는 코드북을 검색하는 단계; 및
    상기 최대 절대값들 각각에 따른 코드북 후보들을 상기 검색된 빈도 수에 따라 선정하는 단계를 포함하는 것을 특징으로 하는 코드북 후보 선정 방법.
  26. 제25항에 있어서,
    상기 최대 절대값들 각각에 따른 코드북 후보로 상기 검색된 빈도 수에 따라 선정하는 단계는, 상기 데이터 그룹에 대하여 상기 검색된 코드북들 중 검색된 빈도 수가 가장 많은 코드북을 해당 최대 절대값에 따른 상기 코드북 후보로 선정하는 것을 특징으로 하는 코드북 후보 선정 방법.
KR1020080074699A 2008-07-30 2008-07-30 코드북 결정 방법, 오디오 신호의 부호화 방법 및 장치 KR100926366B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080074699A KR100926366B1 (ko) 2008-07-30 2008-07-30 코드북 결정 방법, 오디오 신호의 부호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080074699A KR100926366B1 (ko) 2008-07-30 2008-07-30 코드북 결정 방법, 오디오 신호의 부호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR100926366B1 true KR100926366B1 (ko) 2009-11-10

Family

ID=41561588

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080074699A KR100926366B1 (ko) 2008-07-30 2008-07-30 코드북 결정 방법, 오디오 신호의 부호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100926366B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999055007A1 (en) * 1998-04-17 1999-10-28 Ultraclean Technology Research Institute, Co., Ltd. Method and apparatus for making code book, vector quantizing device, device and method for data compression, device and method for data decompression, system for data compression/decompression
US20010044716A1 (en) 1996-10-04 2001-11-22 Yamaha Corporation Encoding and decoding system using code books

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010044716A1 (en) 1996-10-04 2001-11-22 Yamaha Corporation Encoding and decoding system using code books
WO1999055007A1 (en) * 1998-04-17 1999-10-28 Ultraclean Technology Research Institute, Co., Ltd. Method and apparatus for making code book, vector quantizing device, device and method for data compression, device and method for data decompression, system for data compression/decompression

Similar Documents

Publication Publication Date Title
EP2282310B1 (en) Entropy coding by adapting coding between level and run-length/level modes
US7433824B2 (en) Entropy coding by adapting coding between level and run-length/level modes
KR100954181B1 (ko) 코딩 효율을 향상시키기 위한 압축장치, 압축방법, 디코더, 디코딩 방법, 컴퓨터 프로그램을 수록한 기록매체 및 압축된 파라미터 표현을 수록한 기록매체
KR101019678B1 (ko) 저비트율 오디오 코딩
KR101278805B1 (ko) 엔트로피 코딩 방법 및 엔트로피 디코딩 방법
US20070168197A1 (en) Audio coding
JP4832507B2 (ja) コンパクトなコードブックを用いるエントロピー符号化
US20020049586A1 (en) Audio encoder, audio decoder, and broadcasting system
KR100889750B1 (ko) 오디오 신호의 무손실 부호화/복호화 장치 및 그 방법
US8665945B2 (en) Encoding method, decoding method, encoding device, decoding device, program, and recording medium
US6593872B2 (en) Signal processing apparatus and method, signal coding apparatus and method, and signal decoding apparatus and method
KR20070110111A (ko) 보장된 최대 비트 레이트를 가지는 정보의 무손실 인코딩
JP2004258603A (ja) レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化
US7426462B2 (en) Fast codebook selection method in audio encoding
KR100926366B1 (ko) 코드북 결정 방법, 오디오 신호의 부호화 방법 및 장치
JP3353267B2 (ja) 音響信号変換符号化方法及び復号化方法
JPS6333025A (ja) 音声符号化法
CN114913863A (zh) 数字音信数据编码方法
KR20140037118A (ko) 오디오 신호 처리방법, 오디오 부호화장치, 오디오 복호화장치, 및 이를 채용하는 단말기
JPH11177435A (ja) 量子化装置

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121011

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131101

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141007

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160602

Year of fee payment: 7

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee