KR20130090826A - 낮은 복잡도로 오디오 신호를 처리하는 방법 및 장치 - Google Patents

낮은 복잡도로 오디오 신호를 처리하는 방법 및 장치 Download PDF

Info

Publication number
KR20130090826A
KR20130090826A KR1020130012609A KR20130012609A KR20130090826A KR 20130090826 A KR20130090826 A KR 20130090826A KR 1020130012609 A KR1020130012609 A KR 1020130012609A KR 20130012609 A KR20130012609 A KR 20130012609A KR 20130090826 A KR20130090826 A KR 20130090826A
Authority
KR
South Korea
Prior art keywords
bits
unit
pulses
frequency band
spectrum
Prior art date
Application number
KR1020130012609A
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 삼성전자주식회사
Publication of KR20130090826A publication Critical patent/KR20130090826A/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
    • 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/002Dynamic bit allocation
    • 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
    • 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/0204Speech 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 using subband decomposition
    • G10L19/0208Subband vocoders

Landscapes

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

Abstract

오디오 부호화장치는 시간 도메인의 오디오 신호를 주파수 도메인의 오디오 스펙트럼으로 변환하는 변환부; 오디오 스펙트럼에 대하여 소정의 주파수 밴드 단위로 스펙트럼 에너지를 이용하여 할당 비트수를 결정하는 비트할당부; 및 오디오 스펙트럼에 대하여 주파수 밴드 단위로, 할당 비트수에 근거하여 팩토리얼 펄스 코딩의 단위 크기 펄스의 개수를 결정하고, 결정된 단위 크기 펄스의 개수를 이용하여 오디오 스펙트럼에 대하여 주파수 밴드 단위로 팩토리얼 펄스 코딩을 수행하는 부호화부를 포함한다.

Description

낮은 복잡도로 오디오 신호를 처리하는 방법 및 장치 {Method and apparatus for audio signal at low complexity}
본 발명은 오디오 부호화 및 복호화에 관한 것으로서, 보다 상세하게로는 낮은 복잡도로 오디오신호를 처리하기 위한 방법 및 장치에 관한 것이다.
오디오 신호를 부호화하거나 복호화시 적용되는 팩토리얼 펄스 코딩 혹은 디코딩시, 각 주파수 밴드당 필요한 비트수(b)로부터 단위 크기 펄스의 개수에 해당하는 m값을 결정하기 위해서는, m 이 가질수 있는 임의의 최대값을 설정해 두고, m 값을 0 부터 최대값까지 1씩 증가시키면서 b를 만족하는 m을 찾는 방식을 사용한다. 그런데, 이와 같은 반복(iteration) 방식은 주파수 밴드의 길이가 길거나 m값의 범위가 클 경우 복잡도가 높아지는 단점이 있다.
본 발명이 해결하고자 하는 과제는 주파수 밴드 단위로 팩토리얼 펄스 코딩을 적용하기 위하여, 각 주파수 밴드의 할당 비트수에 대응하여, 단위 크기 펄스의 개수를 낮은 복잡도로 결정하기 위한 방법 및 장치와, 이를 채용하는 멀티미디어 기기를 제공하는데 있다.
상기 과제를 달성하기 위한 본 발명의 일실시예에 따른 스펙트럼 부호화방법은 스펙트럼에 대하여 주파수 밴드 단위로, 할당 비트수에 근거하여 팩토리얼 펄스 코딩의 단위 크기 펄스의 개수를 결정하는 단계; 및 상기 결정된 단위 크기 펄스의 개수를 이용하여 상기 스펙트럼에 대하여 상기 주파수 밴드 단위로 팩토리얼 펄스 코딩을 수행하는 단계를 포함할 수 있다.
상기 과제를 달성하기 위한 본 발명의 일실시예에 따른 오디오 부호화장치는 시간 도메인의 오디오 신호를 주파수 도메인의 오디오 스펙트럼으로 변환하는 변환부; 상기 오디오 스펙트럼에 대하여 소정의 주파수 밴드 단위로 스펙트럼 에너지를 이용하여 할당 비트수를 결정하는 비트할당부; 및 상기 오디오 스펙트럼에 대하여 주파수 밴드 단위로, 상기 할당 비트수에 근거하여 팩토리얼 펄스 코딩의 단위 크기 펄스의 개수를 결정하고, 상기 결정된 단위 크기 펄스의 개수를 이용하여 상기 오디오 스펙트럼에 대하여 상기 주파수 밴드 단위로 팩토리얼 펄스 코딩을 수행하는 부호화부를 포함할 수 있다.
상기 과제를 달성하기 위한 본 발명의 일실시예에 따른 스펙트럼 복호화방법은 스펙트럼에 대하여 주파수 밴드 단위로, 할당 비트수에 근거하여 팩토리얼 펄스 디코딩의 단위 크기 펄스의 개수를 결정하는 단계; 및 상기 결정된 단위 크기 펄스의 개수를 이용하여 상기 스펙트럼에 대하여 상기 주파수 밴드 단위로 팩토리얼 펄스 디코딩을 수행하는 단계를 포함할 수 있다.
상기 과제를 달성하기 위한 본 발명의 일실시예에 따른 오디오 복호화장치는 비트스트림에 포함된 오디오 스펙트럼에 대하여 소정의 주파수 밴드 단위로 스펙트럼 에너지를 이용하여 할당 비트수를 결정하는 비트할당부; 상기 오디오 스펙트럼에 대하여 주파수 밴드 단위로, 상기 할당 비트수에 근거하여 팩토리얼 펄스 디코딩의 단위 크기 펄스의 개수를 결정하고, 상기 결정된 단위 크기 펄스의 개수를 이용하여 상기 오디오 스펙트럼에 대하여 상기 주파수 밴드 단위로 팩토리얼 펄스 디코딩을 수행하는 복호화부; 및 상기 복호화부에서 복호화된 오디오 스펙트럼을 시간 도메인의 오디오 신호로 변환하는 역변환부를 포함할 수 있다.
각 주파수 밴드에 대하여 단위 크기 펄스의 개수가 가질 수 있는 최대값을 수학식을 이용하여 결정하고, 최소값에서부터 최대값 사이를 바이너리 서치 방식과 선형 감소(linear decrement) 방식을 선택적으로 사용하여 반복횟수를 줄임으로써, 낮은 복잡도로 구현가능하다. 또한, 임의 주파수 밴드의 할당 비트수가 최소 1개의 펄스 코딩시 필요한 비트수보다 작은 경우, 해당 주파수 밴드의 단위 크기 펄스의 개수를 0으로 할당하여 예외 상황에서 복잡도를 줄일 수 있다.
도 1은 본 발명의 일실시예에 따른 오디오 부호화장치의 구성을 나타낸 블록도이다.
도 2는 도 1에 있어서 본 발명의 일실시예에 따른 비트할당부의 구성을 나타낸 블록도이다.
도 3은 도 1에 있어서 본 발명의 다른 실시예에 따른 비트할당부의 구성을 나타낸 블록도이다.
도 4는 도 1에 있어서 본 발명의 다른 실시예에 따른 비트할당부의 구성을 나타낸 블록도이다.
도 5는 도 1에 있어서 본 발명의 일실시예에 따른 부호화부의 구성을 나타낸 블록도이다.
도 6은 본 발명의 다른 실시예에 따른 오디오 부호화장치의 구성을 나타낸 블록도이다.
도 7은 본 발명의 일실시예에 따른 오디오 복호화장치의 구성을 나타낸 블록도이다.
도 8은 도 7에 있어서 본 발명의 일실시예에 따른 비트할당부의 구성을 나타낸 블록도이다.
도 9는 도 7에 있어서 본 발명의 일실시예에 따른 복호화부의 구성을 나타낸 블록도이다.
도 10은 도 7에 있어서 본 발명의 다른 실시예에 따른 복호화부의 구성을 나타낸 블록도이다.
도 11은 도 7에 있어서 본 발명의 다른 실시예에 따른 복호화부의 구성을 나타낸 블록도이다.
도 12는 본 발명의 다른 실시예에 따른 오디오 복호화장치의 구성을 나타낸 블록도이다.
도 13은 본 발명의 다른 실시예에 따른 오디오 복호화장치의 구성을 나타낸 블록도이다.
도 14는 본 발명의 일실시예에 따른 팩토리얼 펄스 코딩방법의 동작을 설명하는 흐름도이다.
도 15는 본 발명의 일실시예에 따라서 주파수 밴드 단위로 할당 비트수(b)를 만족하는 단위 크기 펄스의 개수(m)을 결정하기 위한 방법을 설명하는 흐름도이다.
도 16은 본 발명의 다른 실시예에 따라서 주파수 밴드 단위로 할당 비트수(b)를 만족하는 단위 크기 펄스의 개수(m)을 결정하기 위한 방법을 설명하는 흐름도이다.
도 17은 본 발명의 또 다른 실시예에 따라서 주파수 밴드 단위로 할당 비트수(b)를 만족하는 단위 크기 펄스의 개수(m)을 결정하기 위한 방법을 설명하는 흐름도이다.
도 18은 본 발명의 일실시예에 따른 부호화모듈을 포함하는 멀티미디어 기기의 구성을 나타낸 블록도이다.
도 19는 본 발명의 일실시예에 따른 복호화모듈을 포함하는 멀티미디어 기기의 구성을 나타낸 블록도이다.
도 20은 본 발명의 일실시예에 따른 부호화모듈과 복호화모듈을 포함하는 멀티미디어 기기의 구성을 나타낸 블록도이다.
본 발명은 다양한 변환을 가할 수 있고 여러가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해될 수 있다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들이 용어들에 의해 한정되는 것은 아니다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 본 발명에서 사용한 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나 이는 당 분야에 종사하는 기술자의 의도, 판례, 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명의 실시예들을 첨부 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일실시예에 따른 오디오 부호화장치(100)의 구성을 나타낸 블록도이다.
도 1에 도시된 오디오 부호화장치(100)는 변환부(130), 비트할당부(150), 부호화부(170) 및 다중화부(190)를 포함할 수 있다. 각 구성요소는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다. 여기서, 오디오는 음악 혹은 음성, 혹은 음악과 음성의 혼합신호를 의미할 수 있다.
도 1을 참조하면, 변환부(130)는 시간 도메인의 오디오 신호를 주파수 도메인으로 변환하여 오디오 스펙트럼을 생성할 수 있다. 이때, 시간/주파수 도메인 변환은 DCT 등과 같은 공지된 다양한 방법을 사용하여 수행할 수 있다.
비트할당부(150)는 오디오 스펙트럼에 대하여 스펙트럼 에너지 혹은 심리음향모델을 이용하여 얻어지는 마스킹 임계치와, 스펙트럼 에너지를 이용하여 각 서브밴드 단위로 할당 비트수를 결정할 수 있다. 여기서, 서브밴드는 오디오 스펙트럼의 샘플들을 그루핑한 단위로서, 임계대역을 반영하여 균일 혹은 비균일 길이를 가질 수 있다. 비균일한 경우, 한 프레임에 대하여 시작 샘플에서부터 마지막 샘플에 이르기까지 서브밴드에 포함되는 샘플의 개수가 점점 증가하도록 서브밴드를 설정할 수 있다. 여기서, 한 프레임에 포함되는 서브밴드의 개수 혹은 서브밴드에 포함되는 샘플의 개수는 미리 결정될 수 있다. 또는, 한 프레임에 대하여 소정 개수의 균일 길이의 서브밴드로 나눈 다음, 스펙트럼 계수들의 분포에 따라서 길이를 조정할 수 있다. 스펙트럼 계수들의 분포는 스펙트럼 평탄도(Spectral Flatness Measure), 최대값과 최소값의 차이 혹은 최대값의 미분값 등을 이용하여 결정할 수 있다.
일실시예에 따르면, 비트할당부(150)는 각 서브밴드 단위로 구해진 Norm 값 즉, 평균 스펙트럼 에너지를 이용하여 허용 비트수를 추정하고, 평균 스펙트럼 에너지를 이용하여 비트를 할당하고, 할당 비트수가 허용 비트수를 초과하지 않도록 제한할 수 있다. 다른 실시예에 따르면, 비트할당부(150)는 각 서브밴드 단위로 심리음향모델을 이용하여 허용 비트수를 추정하고, 평균 스펙트럼 에너지를 이용하여 비트를 할당하고, 할당 비트수가 허용 비트수를 초과하지 않도록 제한할 수 있다.
부호화부(170)는 각 서브밴드 단위로 최종적으로 결정된 할당 비트수에 근거하여 오디오 스펙트럼을 양자화 및 무손실 부호화하여 부호화된 스펙트럼에 대한 정보를 생성할 수 있다.
다중화부(190)는 비트할당부(150)로부터 제공되는 부호화된 Norm 값과, 부호화부(170)에서 제공되는 부호화된 스펙트럼에 대한 정보를 다중화하여 비트스트림을 생성한다.
한편, 오디오 부호화장치(100)는 주어진 서브밴드에 대하여 노이즈 레벨을 생성하여 오디오 복호화장치(도 7의 700, 도 12의 1200, 도 13의 1300)로 제공할 수 있다.
도 2는 도 1에 있어서 본 발명의 일실시예에 따른 비트할당부(200)의 구성을 나타낸 블록도이다.
도 2에 도시된 비트할당부(200)는 Norm 추정부(210), Norm 부호화부(230) 및 비트추정 및 할당부(250)를 포함할 수 있다. 각 구성요소는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
도 2를 참조하면, Norm 추정부(210)는 각 서브밴드 단위로 평균 스펙트럼 에너지에 해당하는 Norm 값을 구할 수 있다. 이때, 일례로서 ITU-T G.719 에서와 동일한 방법으로 Norm 값을 계산할 수 있으나, 이에 한정되는 것은 아니다. 한편, 각 서브밴드에 대하여 구해진 Norm 값은 부호화부(도 1의 150)로 제공될 수 있다.
Norm 부호화부(230)는 각 서브밴드에 대하여 구해진 Norm 값을 양자화 및 무손실 부호화할 수 있다. 여기서, 각 서브소밴드 단위로 양자화된 Norm 값은 비트추정 및 할당부(250)로 제공되거나, 각 서브밴드 단위로 다시 역양자화된 Norm 값은 비트추정 및 할당부(250)로 제공될 수 있다. 한편, 각 서브밴드 단위로 양자화 및 무손실 부호화된 Norm 값은 다중화부(도 1의 190)로 제공될 수 있다.
비트추정 및 할당부(250)는 각 서브밴드 단위로, Norm 값을 이용하여 필요로 하는 비트수를 추정하여 할당할 수 있다. 바람직하게로는, 부호화 파트와 복호화 파트에서 동일한 비트추정 및 할당 프로세스를 이용할 수 있도록 역양자화된 Norm 값을 사용할 수 있다. 이때, 마스킹 효과를 고려하여 조정된 Norm 값을 사용할 수 있다. Norm 값의 조정에는 일예로서, ITU-T G.719 에서 적용되는 심리음향 가중(psycho-acoustical weighting)을 이용할 수 있으나, 이에 한정되는 것은 아니다.
비트추정 및 할당부(250)는 각 서브밴드 단위로, Norm 값을 이용하여 마스킹 임계치를 계산하고, 마스킹 임계치를 이용하여 지각적으로 필요한 비트수를 예측할 수 있다. 한편, 스펙트럼 에너지를 이용하여 마스킹 임계치를 구하는 방법은 공지된 다양한 방법을 사용할 수 있다. 즉, 마스킹 임계치는 JND(Just Noticeable Distortion)에 해당하는 값으로서, 양자화 잡음이 마스킹 임계치보다 작을 경우 지각적인 잡음을 느낄 수 없다. 따라서, 지각적인 잡음을 느낄 수 없도록 하는데 필요한 최소 비트수를 마스킹 임계치를 이용하여 계산할 수 있다. 일실시예로, 각 서브밴드 단위로, Norm 값과 마스킹 임계치와의 비를 이용하여 SMR(Signal-to-Mask Ratio)를 계산하고, SMR에 대하여 6.025 dB ? 1 비트의 관계를 이용하여 마스킹 임계치를 만족하는 비트수를 예측할 수 있다. 여기서, 예측된 비트수는 지각적인 잡음을 느낄 수 없도록 하는데 필요한 최소 비트수이지만, 압축 측면에서 보면 예측된 비트수 이상으로 사용할 필요가 없으므로 서브밴드 단위로 허용되는 최대 비트수(이하, 허용 비트수라 약함)로 간주될 수 있다. 이때, 각 서브밴드의 허용 비트수는 정수단위 혹은 소수점 단위로 표현될 수 있다.
실시예에 따르면, 비트추정 및 할당부(250)는 각 서브밴드 단위로, Norm 값을 이용하여 소수점 단위의 비트 할당을 수행할 수 있다. 이때, Norm 값이 큰 서브밴드에서부터 순차적으로 비트를 할당하는데, 각 서브밴드의 Norm 값에 대하여 각 서브밴드의 지각적 중요도에 따라서 가중치를 부여함으로써 지각적으로 중요한 서브밴드에 더 많은 비트가 할당되도록 조정할 수 있다. 지각적 중요도는 일예로 ITU-T G.719 에서와 같은 심리음향 가중을 통하여 결정할 수 있다.
구체적으로, 비트추정 및 할당부(250)는 Norm 값이 큰 서브밴드에서부터 순차적으로 샘플별로 비트를 할당한다. 즉, 우선적으로 최대 Norm 값을 갖는 서브밴드에 대하여 샘플당 비트를 할당하고, 해당 서브밴드의 Norm 값을 소정 단위만큼 감소시켜 다른 서브밴드에 비트를 할당할 수 있도록 우선순위를 변경한다. 이와 같은 과정은 주어진 프레임에서 사용가능한 전체 비트수(B)가 모두 소진할 때까지 반복적으로 수행된다.
비트추정 및 할당부(250)는 각 서브밴드에 대하여 할당된 비트수가 예측된 비트수 즉 허용 비트수를 넘지 않도록 제한하여, 최종적으로 할당 비트수를 결정할 수 있다. 모든 서브밴드에 대하여, 할당된 비트수와 예측된 비트수를 비교하여 할당된 비트수가 예측된 비트수보다 큰 경우에는 예측된 비트수로 제한한다. 비트수 제한의 결과 얻어지는 주어진 프레임의 전체 서브밴드의 비트수가 주어진 프레임에서 사용가능한 전체 비트수(B)보다 적은 경우 그 차이에 해당하는 비트수를 전체 서브밴드에 균일하게 분배하거나, 혹은 지각적 중요도에 따라서 비균일하게 분배할 수 있다.
이에 따르면, 각 서브밴드의 할당 비트수를 소수점 단위로 결정하면서 허용 비트수로 제한할 수 있으므로 주어진 프레임의 전체 비트수를 보다 효율적으로 배분할 수 있다.
한편, 각 서브밴드에 필요한 비트수를 추정 및 할당하기 위하여 수학식을 사용할 수 있다. 예를 들면, 양자화 왜곡과 각 서브밴드에 할당되는 비트수를 최적화할 수 있는 해(solution)에 근거하여, 주어진 프레임에서 사용가능한 전체 비트수(B)의 범위내에서, 입력 스펙트럼의 SNR을 최대화시킬 수 있는 각 서브밴드의 샘플당 할당 비트수를 추정할 수 있다. 이에 따르면, 수회의 반복없이 각 서브밴드 단위로 할당 비트수를 한번에 결정할 수 있어 복잡도가 낮아질 수 있다.
도 3은 도 1에 있어서 본 발명의 다른 실시예에 따른 비트할당부(300)의 구성을 나타낸 블록도이다.
도 3에 도시된 비트할당부(300)는 심리음향모델(310), 비트추정 및 할당부(330), 스케일팩터 추정부(350) 및 스케일팩터 부호화부(370)를 포함할 수 있다. 각 구성요소는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
도 3을 참조하면, 심리음향모델(310)은 변환부(도 1의 130)로부터 제공되는 오디오 스펙트럼을 입력으로 하여, 각 서브밴드에 대하여 마스킹 임계치를 구할 수 있다.
비트추정 및 할당부(330)는 각 서브밴드 단위로 마스킹 임계치를 이용하여 지각적으로 필요한 비트수를 예측할 수 있다. 즉, 각 서브밴드 단위로 SMR을 구할 수 있고, SMR에 대하여 6.025 dB ? 1 비트의 관계를 이용하여 마스킹 임계치를 만족하는 비트수를 예측할 수 있다. 여기서, 예측된 비트수는 지각적인 잡음을 느낄 수 없도록 하는데 필요한 최소 비트수이지만, 압축 측면에서 보면 예측된 비트수 이상으로 사용할 필요가 없으므로 서브밴드 단위로 허용되는 최대 비트수(이하, 허용 비트수라 약함)로 간주될 수 있다. 이때, 비트추정 및 할당부(330)는 각 서브밴드 단위로, 스펙트럼 에너지를 이용하여 소수점 단위의 비트 할당을 수행할 수 있다.
비트추정 및 할당부(330)는 모든 서브밴드에 대하여, 할당된 비트수와 예측된 비트수를 비교하여 할당된 비트수가 예측된 비트수보다 큰 경우에는 예측된 비트수로 제한한다. 비트수 제한의 결과 얻어지는 주어진 프레임의 전체 서브밴드의 비트수가 주어진 프레임에서 사용가능한 전체 비트수(B)보다 적은 경우 그 차이에 해당하는 비트수를 전체 서브밴드에 균일하게 분배하거나, 혹은 지각적 중요도에 따라서 비균일하게 분배할 수 있다.
스케일팩터 추정부(350)는 각 서브밴드 단위로 최종적으로 결정된 할당 비트수를 이용하여 스케일팩터를 추정할 수 있다. 각 서브밴드 단위로 추정된 스케일팩터는 부호화부(도 1의 170)로 제공될 수 있다.
스케일팩터 부호화부(370)는 각 서브밴드 단위로 추정된 스케일팩터를 양자화 및 무손실 부호화할 수 있다. 서브밴드 단위로 부호화된 스케일팩터는 다중화부(도 1의 190)로 제공될 수 있다.
도 4는 도 1에 있어서 본 발명의 다른 실시예에 따른 비트할당부(300)의 구성을 나타낸 블록도이다.
도 4에 도시된 비트할당부(400)는 Norm 추정부(410), 비트추정 및 할당부(430), 스케일팩터 추정부(450) 및 스케일팩터 부호화부(470)를 포함할 수 있다. 각 구성요소는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
도 4를 참조하면, Norm 추정부(410)는 각 서브밴드 단위로 평균 스펙트럼 에너지에 해당하는 Norm 값을 구할 수 있다.
비트추정 및 할당부(430)는 각 서브밴드 단위로 스펙트럼 에너지를 이용하여 마스킹 임계치를 구하고, 마스킹 임계치를 이용하여 지각적으로 필요한 비트수 즉, 허용 비트수를 예측할 수 있다.
비트추정 및 할당부(430)는 각 서브밴드 단위로, 스펙트럼 에너지를 이용하여 정수 단위 혹은 소수점 단위의 비트 할당을 수행할 수 있다.
비트추정 및 할당부(430)는 모든 서브밴드에 대하여, 할당된 비트수와 예측된 비트수를 비교하여 할당된 비트수가 예측된 비트수보다 큰 경우에는 예측된 비트수로 제한한다. 비트수 제한의 결과 얻어지는 주어진 프레임의 전체 서브밴드의 할당 비트수가 주어진 프레임에서 사용가능한 전체 비트수(B)보다 적은 경우 그 차이에 해당하는 비트수를 전체 서브밴드에 균일하게 분배하거나, 혹은 지각적 중요도에 따라서 비균일하게 분배할 수 있다.
스케일팩터 추정부(450)는 각 서브밴드 단위로 최종적으로 결정된 할당 비트수를 이용하여 스케일팩터를 추정할 수 있다. 각 서브밴드 단위로 추정된 스케일팩터는 부호화부(도 1의 170)로 제공될 수 있다.
스케일팩터 부호화부(470)는 각 서브밴드 단위로 추정된 스케일팩터를 양자화 및 무손실 부호화할 수 있다. 서브밴드 단위로 부호화된 스케일팩터는 다중화부(도 1의 190)로 제공될 수 있다.
도 5는 도 1에 있어서 본 발명의 일실시예에 따른 부호화부(500)의 구성을 나타낸 블록도이다.
도 5에 도시된 부호화부(500)는 스펙트럼 정규화부(510)와 스펙트럼 부호화부(530)를 포함할 수 있다. 각 구성요소는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다. 여기서, 스펙트럼 정규화부(510)는 옵션으로 구비될 수 있다.
도 5를 참조하면, 스펙트럼 정규화부(510)는 비트할당부(도 1의 150)로부터 제공되는 각 서브밴드의 Norm 값을 이용하여 스펙트럼을 정규화할 수 있다.
스펙트럼 부호화부(530)는 정규화된 스펙트럼에 대하여 각 서브밴드의 할당 비트수를 이용하여 양자화를 수행하고, 양자화된 결과에 대하여 무손실 부호화할 수 있다. 일예로서, 스펙트럼 부호화에 팩토리얼 펄스 코딩(Factorial Pulse Coding)을 사용할 수 있으나, 이에 한정되는 것은 아니다. 팩토리얼 펄스 코딩에 따르면, 할당 비트수 범위내에서 펄스의 위치, 펄스의 크기, 및 펄스의 부호와 같은 정보가 팩토리얼 형식으로 표현될 수 있다.
스펙트럼 부호화부(530)에서 부호화된 스펙트럼에 대한 정보는 다중화부(도 1의 190)로 제공될 수 있다.
도 6은 본 발명의 다른 실시예에 따른 오디오 부호화장치(600)의 구성을 나타낸 블록도이다.
도 6에 도시된 오디오 부호화장치(600)는 트랜지언트 검출부(610), 변환부(630), 비트할당부(650), 부호화부(670) 및 다중화부(690)를 포함할 수 있다. 각 구성요소는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다. 도 6의 오디오 부호화장치(600)는 도 1의 오디오 부호화장치(100)와 비교해 볼 때 트랜지언트 검출부(610)를 더 포함하는 차이점이 있으므로, 공통적인 구성요소에 대해서는 구체적인 설명을 생각하기로 한다.
도 6을 참조하면, 트랜지언트 검출부(610)는 오디오 신호를 분석하여 트랜지언트 특성을 나타내는 구간을 검출할 수 있다. 트랜지언트 구간의 검출에는 공지된 다양한 방법을 사용할 수 있다. 트랜지언트 검출부(610)에서 제공되는 트랜지언트 시그널링 정보는 다중화부(690)를 통하여 비트스트림에 포함될 수 있다.
변환부(630)는 트랜지언트 구간 검출결과에 따라서, 변환에 사용되는 윈도우 사이즈를 결정하고, 결정된 윈도우 사이즈에 근거하여 시간/주파수 도메인 변환을 수행할 수 있다. 일예로서, 트랜지언트 구간이 검출된 서브밴드의 경우 단구간 윈도우(short window)를, 검출되지 않은 서브밴드의 경우 장구간 윈도우(long window)를 적용할 수 있다.
비트 할당부(650)는 도 2 내지 도 4에 도시된 비트할당부(200, 300, 400) 중 어느 하나로 구현될 수 있다.
부호화부(670)는 트랜지언트 구간 검출결과에 따라서, 변환부(630)에서와 마찬가지로 부호화에 사용되는 윈도우 사이즈를 결정할 수 있다.
한편, 오디오 부호화장치(600)는 서브밴드에 대하여 노이즈 레벨을 생성하여 오디오 복호화장치(도 7의 700, 도 12의 1200, 도 13의 1300)로 제공할 수 있다.
도 7은 본 발명의 일실시예에 따른 오디오 복호화장치(700)의 구성을 나타낸 블록도이다.
도 7에 도시된 오디오 복호화장치(700)는 역다중화부(710), 비트할당부(730), 복호화부(750) 및 역변환부(770)를 포함할 수 있다. 각 구성요소는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
도 7을 참조하면, 역다중화부(710)는 비트스트림을 역다중화하여 양자화 및 무손실 부호화된 Norm 값과, 부호화된 스펙트럼에 대한 정보를 추출할 수 있다.
비트할당부(730)는 각 서브밴드 단위로, 양자화 및 무손실 부호화된 Norm 값으로부터 역양자화된 Norm 값을 구하고, 역양자화된 Norm 값을 이용하여 할당 비트수를 결정할 수 있다. 비트할당부(730)는 오디오 부호화장치(100, 600)의 비트할당부(150, 650)와 실질적으로 동일하게 동작할 수 있다. 한편, 오디오 부호화장치(100, 600)에서 Norm 값이 심리음향 가중에 의하여 조정된 경우 오디오 복호화장치(700)에서도 동일하게 조정될 수 있다.
복호화부(750)는 역다중화부(710)로부터 제공되는 부호화된 스펙트럼에 대한 정보를 이용하여, 부호화된 스펙트럼을 무손실 복호화 및 역양자화할 수 있다. 일예로서, 스펙트럼 복호화는 팩토리얼 펄스 디코딩을 사용할 수 있다.
역변환부(770)는 복호화된 스펙트럼을 시간도메인으로 변환하여 복원된 오디오 신호를 생성할 수 있다.
도 8은 도 7에 있어서 본 발명의 일실시예에 따른 비트할당부(800)의 구성을 나타낸 블록도이다.
도 8에 도시된 비트할당부(800)는 Norm 복호화부(810)와 비트추정 및 할당부(830)를 포함할 수 있다. 각 구성요소는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
도 8을 참조하면, Norm 복호화부(810)는 역다중화부(도 7의 710)로부터 제공되는 양자화 및 무손실 부호화된 Norm 값으로부터 역양자화된 Norm 값을 구할 수 있다.
비트추정 및 할당부(830)는 역양자화된 Norm 값을 이용하여 할당 비트수를 결정할 수 있다. 구체적으로, 비트추정 및 할당부(830)는 각 서브밴드 단위로 스펙트럼 에너지 즉, Norm 값을 이용하여 마스킹 임계치를 구하고, 마스킹 임계치를 이용하여 지각적으로 필요한 비트수 즉, 허용 비트수를 예측할 수 있다.
비트추정 및 할당부(830)는 각 서브밴드 단위로, 스펙트럼 에너지 즉, Norm 값을 이용하여 정수 단위 혹은 소수점 단위의 비트 할당을 수행할 수 있다.
비트추정 및 할당부(830)는 모든 서브밴드에 대하여, 할당된 비트수와 예측된 비트수를 비교하여 할당된 비트수가 예측된 비트수보다 큰 경우에는 예측된 비트수로 제한한다. 비트수 제한의 결과 얻어지는 주어진 프레임의 전체 서브밴드의 할당 비트수가 주어진 프레임에서 사용가능한 전체 비트수(B)보다 적은 경우 그 차이에 해당하는 비트수를 전체 서브밴드에 균일하게 분배하거나, 혹은 지각적 중요도에 따라서 비균일하게 분배할 수 있다.
도 9는 도 7에 있어서 본 발명의 일실시예에 따른 복호화부(900)의 구성을 나타낸 블록도이다.
도 9에 도시된 복호화부(900)는 스펙트럼 복호화부(910)와 엔벨로프 쉐이핑부(930)를 포함할 수 있다. 각 구성요소는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다. 여기서, 엔벨로프 쉐이핑부(930)는 대응하는 부호화장치에 따라서 옵션으로 구비될 수 있다.
도 9를 참조하면, 스펙트럼 복호화부(910)는 역다중화부(도 7의 710)로부터 제공되는 부호화된 스펙트럼에 대한 정보 및 비트할당부(도 7의 730)로부터 제공되는 할당 비트수를 이용하여, 부호화된 스펙트럼을 무손실 복호화 및 역양자화할 수 있다. 스펙트럼 복호화부(910)로부터 제공되는 복호화된 스펙트럼은 정규화된 스펙트럼이다.
엔벨로프 쉐이핑부(930)는 비트할당부(도 7의 730)로부터 제공되는 역양자화된 Norm 값을 이용하여, 스펙트럼 복호화부(910)로부터 제공되는 정규화된 스펙트럼에 대하여 엔벨로프 쉐이핑을 수행하여 정규화 이전의 스펙트럼으로 복원할 수 있다.
도 10은 도 7에 있어서 본 발명의 다른 실시예에 따른 복호화부(1000)의 구성을 나타낸 블록도이다.
도 10에 도시된 복호화부(1000)는 스펙트럼 복호화부(1000), 엔벨로프 쉐이핑부(1030) 및 스펙트럼 필링부(1050)를 포함할 수 있다. 각 구성요소는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다. 도 10의 복호화부(1000)는 도 9의 복호화부(900)와 비교해 볼 때 스펙트럼 필링부(1050)를 더 포함하는 차이점이 있으므로, 공통적인 구성요소에 대해서는 구체적인 설명을 생각하기로 한다. 여기서, 스펙트럼 필링부(1050)는 탑재되는 기기의 용도에 따라서 옵션으로 구비될 수 있다.
도 10을 참조하면, 스펙트럼 필링부(1050)는 엔벨로프 쉐이핑부(1030)로부터 제공되는 스펙트럼에서 0으로 역양자화된 부분을 포함하는 서브밴드가 존재하는 경우, 노이즈 성분으로 채울 수 있다. 일실시예에 따르면, 노이즈 성분은 랜덤으로 생성되거나, 0이 아닌 값으로 역양자화된 서브밴드의 스펙트럼을 복사하여 생성할 수 있다. 다른 실시예에 따르면, 0으로 역양자화된 부분을 포함하는 서브밴드에 대하여, 노이즈 성분을 생성하고, 노이즈 성분의 에너지와 비트할당부(도 7의 730)로부터 제공되는 역양자화된 Norm 값 즉, 스펙트럼 에너지간의 비를 이용하여 노이즈 성분의 에너지를 조절할 수 있다. 다른 실시예에 따르면, 0으로 역양자화된 부분을 포함하는 서브밴드에 대하여, 노이즈 성분을 생성하고, 노이즈 성분의 평균 에너지가 1이 되도록 조절할 수 있다. 다른 실시예에 따르면, 오디오 부호화장치(100, 600)로부터 각 서브밴드 단위로 노이즈 레벨을 수신하고, 주어진 서브밴드가 0으로 역양자화된 부분을 포함하는 경우, 주어진 서브밴드에 대하여 노이즈 성분을 생성하고 수신된 노이즈 레벨을 이용하여 노이즈 성분의 에너지를 조절할 수 있다.
도 11은 도 7에 있어서 본 발명의 다른 실시예에 따른 복호화부(1100)의 구성을 나타낸 블록도이다.
도 11에 도시된 복호화부(1100)는 스펙트럼 복호화부(1100), 스펙트럼 필링부(1130) 및 엔벨로프 쉐이핑부(1150)를 포함할 수 있다. 각 구성요소는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다. 도 11의 복호화부(1100)는 도 10의 복호화부(1000)와 비교해 볼 때 스펙트럼 필링부(1130) 및 엔벨로프 쉐이핑부(1150)의 배치 순서가 다른 차이점이 있으므로, 공통적인 구성요소에 대해서는 구체적인 설명을 생각하기로 한다.
도 11을 참조하면, 스펙트럼 필링부(1130)는 스펙트럼 복호화부(1110)로부터 제공되는 정규화된 스펙트럼에서 0으로 역양자화된 부분을 포함하는 서브밴드가 존재하는 경우, 노이즈 성분으로 채울 수 있다. 이때, 도 10의 스펙트럼 필링부(1050)에 적용되는 다양한 노이즈 필링방법을 사용할 수 있다. 바람직하게는 0으로 역양자화된 부분을 포함하는 서브밴드에 대하여, 노이즈 성분을 생성하고, 노이즈 성분의 평균 에너지가 1이 되도록 조절할 수 있다.
엔벨로프 쉐이핑부(1150)는 비트할당부(도 7의 730)로부터 제공되는 역양자화된 Norm 값을 이용하여, 노이즈 성분이 채워진 서브밴드를 포함하는 스펙트럼에 대하여 정규화 이전의 스펙트럼으로 복원할 수 있다.
도 12는 본 발명의 다른 실시예에 따른 오디오 복호화장치(1200)의 구성을 나타낸 블록도이다.
도 12에 도시된 오디오 복호화장치(1200)는 역다중화부(1210), 스케일팩터 복호화부(1230), 스펙트럼 복호화부(1250) 및 역변환부(1270)를 포함할 수 있다. 각 구성요소는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
도 12를 참조하면, 역다중화부(1210)는 비트스트림을 역다중화하여 양자화 및 무손실 부호화된 스케일 팩터와, 부호화된 스펙트럼에 대한 정보를 추출할 수 있다.
스케일팩터 복호화부(1230)는 각 서브밴드 단위로 양자화 및 무손실 부호화된 스케일 팩터를 무손실 복호화 및 역양자화할 수 있다.
스펙트럼 복호화부(1250)는 역다중화부(1210)로부터 제공되는 부호화된 스펙트럼에 대한 정보 및 역양자화된 스케일팩터를 이용하여, 부호화된 스펙트럼을 무손실 복호화 및 역양자화할 수 있다. 스펙트럼 복호화부(1250)는 도 10에 도시된 복호화부(1000)와 동일한 구성요소를 포함할 수 있다.
역변환부(1270)는 스펙트럼 복호화부(1250)에서 복호화된 스펙트럼을 시간도메인으로 변환하여 복원된 오디오 신호를 생성할 수 있다.
도 13은 본 발명의 다른 실시예에 따른 오디오 복호화장치(1300)의 구성을 나타낸 블록도이다.
도 13에 도시된 오디오 복호화장치(1300)는 역다중화부(1310), 비트할당부(1330), 복호화부(1350) 및 역변환부(1370)를 포함할 수 있다. 각 구성요소는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
도 13에 도시된 오디오 복호화장치(1300)는 도 7의 오디오 복호화장치(700)와 비교해 볼 때 트랜지언트 시그널링 정보가 복호화부(1350) 및 역변환부(1370)으로 제공되는 차이점이 있으므로, 공통적인 구성요소에 대해서는 구체적인 설명을 생각하기로 한다.
도 13을 참조하면, 복호화부(1350)에서는 역다중화부(1310)로부터 제공되는 부호화된 스펙트럼에 대한 정보를 이용하여 스펙트럼을 복호화할 수 있다. 이때, 트랜지언트 시그널링 정보에 따라서 윈도우 사이즈가 가변될 수 있다.
역변환부(1370)에서는 복호화된 스펙트럼을 시간도메인으로 변환하여 복원된 오디오 신호를 생성할 수 있다. 이때, 트랜지언트 시그널링 정보에 따라서 윈도우 사이즈가 가변될 수 있다.
도 14는 본 발명의 일실시예에 따른 팩토리얼 펄스 코딩(factorial pulse coding) 방법의 동작을 설명하는 플로우챠트로서, 바람직하게로는 도 1의 부호화부(170), 도 5의 스펙트럼 부호화부(530), 도 6의 부호화부(670)에서 수행될 수 있다.
도 14를 참조하면, 1410 단계에서는 주파수 밴드, 예를 들면 서브밴드 단위로 할당 비트수를 수신한다. 할당 비트수는 도 1의 비트할당부(150)로부터 제공될 수 있다.
1420 단계에서는 할당 비트수에 근거하여, 각 주파수 밴드에 대하여 단위 크기 펄스의 개수(m)를 결정한다.
1430 단계에서는 각 주파수 밴드에 대하여 결정된 단위 크기 펄스의 개수(m)에 근거하여, 팩토리얼 펄스 코딩을 수행하여 오디오 스펙트럼의 변환 계수를 양자화한다.
1440 단계에서는 각 주파수 밴드에 대하여 팩토리얼 펄스 코딩 결과 얻어진 코드워드들을 결합한다. 결합된 코드워드들은 다중화부(도 1의 190 혹은 도 6의 690)으로 제공된다.
다음, 팩토리얼 펄스 코딩의 원리에 대하여 설명하면 다음과 같다.
팩토리얼 펄스 코딩은 신호를 단위 크기 펄스(unit magnitude pulse)를 이용하여 효율적으로 코딩하기 위한 기술로서, 넌-제로 펄스의 개수, 넌-제로 펄스의 위치(position), 넌-제로 펄스의 크기(magnitude), 넌-제로 펄스의 부호(sign)에 대한 모든 조합을 이용하여 신호를 표현할 수 있다. 이때, 펄스를 표현할 수 있는 모든 조합에 대한 경우의 수(N)는 다음 수학식 1과 같이 나타낼 수 있다.
Figure pat00001
여기서, 2i는 i개의 넌-제로 펄스를 + 혹은 -로 표현할 수 있는 부호에 대한경우의 수이고, F(n,i)는 주어진 n개의 샘플 위치에 대하여 i개의 넌-제로 펄스의 위치를 선택할 수 있는 경우의 수를 나타내고, D(m,i)는 i개의 넌-제로 펄스의 위치에서 선택된 신호를 m개의 단위 크기 펄스로 표현할 수 있는 경우의 수를 나타낸다.
수학식 1에서 F(n,i)와 D(m,i)는 각각 다음 수학식 2 및 수학식 3과 같이 나타낼 수 있다.
Figure pat00002
Figure pat00003
수학식 1에서 계산된 모든 조합에 대한 경우의 수(N)을 표현하기 위하여 필요한 비트수(b)는 다음 수학식 4로 나타낼 수 있다.
Figure pat00004
수학식 4는 다음 수학식 5와 같이 정리될 수 있다.
Figure pat00005
즉, 임의의 주파수 밴드에 포함되는 입력신호 벡터에 대하여 팩토리얼 펄스 코딩을 수행하기 위하여 필요한 비트수(b)는 밴드 길이에 해당하는 n과 단위 크기 펄스의 개수에 해당하는 m의 복잡한 다항식으로 정의된다. 이때, n은 주어진 값이므로, 다항식은 m과 b의 상관관계로 볼 수 있다. b로부터 m값을 결정하기 위해서는, 상기 수학식 5로부터 직접적으로 계산하는 것이 불가능하기 때문에 m 이 가질수 있는 임의의 최대값을 결정해 두고, m 값을 0 부터 최대값까지 1씩 증가시키면서 b를 만족하는 m을 찾는 방식을 사용한다. 이와 같은 반복(iteration) 방식은 m값의 범위가 클 경우 복잡도가 높기 때문에 바이너리 서치(binary search)를 적용하여 복잡도를 줄일 수 있다. 한편, 팩토리얼 펄스 코딩의 기본적인 원리는 US Patent No. 6,236,960 에 설명되어 있다.
도 15는 본 발명의 일실시예에 따라서 주파수 밴드 단위로 허용 비트수(b)를 만족하는 단위 크기 펄스의 개수(m)을 결정하기 위한 방법을 설명하는 흐름도로서, 바이너리 서치를 적용할 수 있다. 전제로는, 단위 크기 펄스의 개수(m)가 증가할수록 팩토리얼 펄스 코딩에 필요한 비트수(b)가 증가한다는 사실이다.
도 15를 참조하면, 1510 단계에서는 m이 가질 수 있는 최소값(Lp: min)과 최대값(Hp: max)를 설정한다. 여기서, 최소값(Lp: min)과 최대값(Hp: max)은 실험적으로 모든 주파수 밴드에 대응되도록 설정될 수 있다.
1520 단계에서는 최대값(Hp: max)과 최소값(Lp: min) 간의 차이가 1보다 큰지를 판단한다. 1520 단계에서의 판단결과, 최대값(Hp: max)과 최소값(Lp: min) 간의 차이가 1보다 작거나 같은 경우, 단위 크기 펄스의 개수(num_pulse)를 중간값 m으로 결정한다.
1530 단계에서는 1520 단계에서의 판단결과 만약 최대값(Hp: max)과 최소값(Lp: min) 간의 차이가 1보다 큰 경우, 최소값(Lp: min)과 최대값(Hp: max)에 대한 중간값 m을 계산한다.
1540 단계에서는 중간값 m에 대하여 팩토리얼 펄스 코딩에 필요한 비트수를 계산하여 목표값인 b와 비교한다. 여기서, fpc_bits(m,n)은 주어진 m과 n에 대하여 팩토리얼 펄스 코딩시 필요한 비트수를 계산하기 위한 함수를 나타내면, 수학식 4에 해당한다.
1550 단계에서는 1540 단계에서의 비교결과, 중간값 m에 대하여 팩토리얼 펄스 코딩에 필요한 비트수가 목표값인 b보다 작을 경우, 중간값 m보다 큰 값을 가져야 하므로 중간값 m을 최소값으로 설정하여 1520 단계로 복귀하여 반복수행한다.
1560 단계에서는 1540 단계에서의 비교결과, 중간값 m에 대하여 팩토리얼 펄스 코딩에 필요한 비트수가 목표값인 b보다 클 경우, 중간값 m보다 작은 값을 가져야 하므로 중간값 m을 최대값으로 설정하여 1520 단계로 복귀하여 반복수행한다.
이 경우, m값 범위의 최대값이 MAX 인 경우 최대
Figure pat00006
만큼 반복수행할 필요가 있고, m이 가질 수 있는 최대값이 클수록 반복 횟수가 증가할 수 있다.
도 16은 본 발명의 다른 실시예에 따라서 주파수 밴드 단위로 허용 비트수(b)를 만족하는 단위 크기 펄스의 개수(m)을 결정하기 위한 방법을 설명하는 흐름도이다.
먼저, 단위 크기 펄스의 개수(m)의 최대값을 결정하는 과정을 설명하기로 한다.
구체적으로, 수학식 5는 다음 수학식 6과 등가적으로 표현할 수 있다.
Figure pat00007
수학식 6에 있어서, z(m,n)은 다음 수학식 7과 같이 m에 대한 다항식으로 전개될 수 있다.
Figure pat00008
수학식 7에서 m의 가장 높은 차수에 대하여 전개하면 수학식 6은 다음 수학식 8과 같이 나타낼 수 있다.
Figure pat00009
다시 수학식 8을 m에 대하여 정리하면 다음 수학식 9와 같이 나타낼 수 있다.
Figure pat00010
즉, 수학식 9는 단위 크기 펄스의 개수 m이 가질 수 있는 최대값을 나타낸다. 수학식 9에 의한 m의 최대값은 초기에 임의로 결정된 최대값에 비하여 최종적인 단위 크기 펄스의 개수에 근접한 값으로서, 기존 방식에 비하여 훨씬 적은 반복수행으로 최종값을 결정할 수 있다. 이 경우, 최소값은 0 혹은 1로 설정할 수 있다. 또한, 최소값은 실험적 혹은 시뮬레이션을 통하여 0에 가까운 자연수로 결정할 수 있다.
한편, 수학식 8은 m에 대하여 정리하면 다음 수학식 10과 같이 나타낼 수도 있다.
Figure pat00011
여기서, n은 주파수 밴드의 길이, b는 팩토리얼 펄스 코딩을 수행하기 위하여 필요한 비트수, m은 단위 크기 펄스의 개수, F(n)은 단위 크기 펄스의 개수의 최소값을 결정하기 위한 함수이다. F(n)은 주파수 밴드의 길이에 따라서, 예를 들어 n 이 9보다 작은 경우 2, n이 17보다 작은 경우 3, n이 33 보다 작은 경우 6으로 결정될 수 있다. 이에 따르면, 대부분의 경우, 주파수 밴드의 길이가 17 이하이기 때문에, 바이너리 서치 방식을 이용할 경우, 1회 혹은 2회 매칭으로 각 주파수 밴드의 단위 크기 펄스의 개수를 결정할 수 있다.
다시 도 16으로 돌아가서, 1610 단계에서는 소정의 주파수 밴드에서 n개의 입력샘플 벡터에 대하여 최소 1개의 펄스를 코딩하기 위하여 필요한 비트수 b1을 다음 수학식 11을 이용하여 계산할 수 있다.
Figure pat00012
1620 단계에서는 소정의 주파수 밴드에 주어진 할당 비트수 b를 최소 1개의 펄스 코딩시 필요한 비트수 b1와 비교한다. 1620 단계에서의 비교결과, 할당 비트수 b가 최소 1개의 펄스 코딩시 필요한 비트수 b1보다 작을 경우 반복을 수행할 필요없이 단위 크기 펄스의 개수(num_pulse)는 0으로 설정한다.
1630 단계에서는 단위 크기 펄스 개수 m의 최대값을 상기 수학식 9에 의해 획득한다.
1640 단계에서는 단위 크기 펄스 개수 m의 최대값을 이용하여 팩토리얼 펄스 코딩시 필요한 비트수를 계산하고, 할당 비트수 b간의 차이값(diff)을 획득한다. 여기서, fpc_bits(m,n)는 주어진 m과 n에 대하여 팩토리얼 펄스 코딩시 필요한 비트수를 계산하기 위한 함수를 나타낸다.
1650 단계에서는 차이값(diff)이 0보다 작거나 같을 경우, 해당 m 값을 최종 구하려는 단위 크기 펄스의 개수로 결정한다.
1660 단계에서는 차이값(diff)이 0보다 큰 경우, 차이값(diff)과 미리 정의된 임계치(THR)를 비교한다. 여기서, 임계치는 미리 실험적 혹은 시뮬레이션을 통하여 최적의 값으로 결정될 수 있다.
1670 단계에서는 1660 단계에서의 비교결과, 차이값(diff)이 미리 정의된 임계치(THR)보다 큰 경우에는 (min, m) 범위에서 바이너리 서치를 이용하여 최종 m 값을 결정한다. 이때, 바이너리 서치는 도 15에 도시된 방법을 사용할 수 있다.
1680 단계에서는 차이값(diff)이 미리 정의된 임계치(THR)보다 작게 되면, 현재의 m값으로부터 1씩 감소시켜 팩토리얼 펄스 코딩에 필요한 비트수를 다시 계산하고, 사용된 비트수가 할당 비트수 b를 만족할 때까지 선형 감소(linear decrement) 과정을 반복수행한다. 이때, 할당 비트수 b를 만족하는 m값을 해당 주파수 밴드의 단위 크기 펄스의 개수로 결정한다.
도 17은 본 발명의 또 다른 실시예에 따라서 주파수 밴드 단위로 할당 비트수(b)를 만족하는 단위 크기 펄스의 개수(m)을 결정하기 위한 방법을 설명하는 흐름도이다. 여기서, 도시되어 있지 않으나 도 16의 1610 단계와 1620 단계는 미리 수행되어 있는 것으로 본다.
도 17을 참조하면, 1710 단계에서는 주어진 할당 비트수 b가 최소 1개의 펄스 코딩시 필요한 비트수 b1보다 큰 경우, 단위 크기 펄스의 개수 m의 최대값을 상기 수학식 9를 이용하여 계산한다.
1720 단계에서는 단위 크기 펄스의 개수 m의 최대값을 이용하여 팩토리얼 펄스 코딩에 필요한 비트수를 계산하고, 계산된 비트수와 할당 비트수 b와의 차이값(diff), 예를 들면 절대값을 미리 정의된 임계치(THR)과 비교한다. 도 16에서와 마찬가지로 임계치는 미리 실험적 혹은 시뮬레이션을 통하여 최적의 값으로 결정될 수 있다. 비교결과, 차이값(diff)이 임계치(THR)보다 큰 경우, (min, m) 범위에서 바이너리 서치를 이용하여 m값을 변경한다. 변경된 m값을 이용하여 계산된 비트수와 할당 비트수와의 차이값이 임계치(THR)만큼 차이가 나는 동안에는, 계속 바이너리 서치 과정을 반복수행한다.
1730 단계에서는, 변경된 m값을 이용하여 계산된 비트수와 할당 비트수와의 차이값이 임계치(THR)보다 작게 차이가 나는 경우, 변경된 m값을 이용하여 계산된 비트수가 할당 비트수 b보다 큰 경우, 할당 비트수 b를 만족할 때까지 현재 m 값으로부터 1씩 감소시킨다. 이때, 할당 비트수 b를 만족하는 m값을 해당 주파수 밴드의 단위 크기 펄스의 개수로 결정한다.
1740 단계에서는, 변경된 m값을 이용하여 계산된 비트수와 할당 비트수와의 차이값이 임계치(THR)보다 작게 차이가 나는 경우, 변경된 m값을 이용하여 계산된 비트수가 할당 비트수 b보다 작은 경우, 할당 비트수 b를 만족할 때까지 현재 m 값으로부터 1씩 증가시킨다. 이때, 할당 비트수 b를 만족하는 m값을 해당 주파수 밴드의 단위 크기 펄스의 개수로 결정한다.
하기의 표 1은 바이너리 서치 방식과, 바이너리 서치 방식과 선형 감소 방식의 결합 방식을 사용하는 각 경우에 대한 반복 횟수를 비교한 것이다. 이때, m이 가질 수 있는 값은 범위는 90 ~ 500)인 경우를 가정하였다.
평균 반복횟수 (회)
바이너리 서치 방식 10.1
바이너리 서치 방식과 선형 감소 방식의 결합 1.9
도 14 내지 도 17의 팩토리얼 펄스 코딩 방법들은 프로그래밍될 수 있으며, 적어도 하나의 프로세싱 디바이스에 의해 수행될 수 있다.
도 14 내지 도 17의 팩토리얼 펄스 코딩 방법들은 도 1의 부호화부(170), 도 5의 스펙트럼 부호화부(530) 혹은 도 6의 부호화부(670)에 적용될 수 있으나, 이에 한정되는 것은 아니다.
도 14 내지 도 17의 팩토리얼 펄스 코딩 방법들은 도 7의 복호화부(750), 도 9의 스펙트럼 복호화부(910), 도 10의 스펙트럼 복호화부(1000), 도 11의 스펙트럼 복호화부(1110), 도 12의 스펙트럼 복호화부(1250) 혹은 도 13의 스펙트럼 복호화부(1350)에서 팩토리얼 펄스 디코딩시에도 동일하게 적용될 수 있으나, 이에 한정되는 것은 아니다.
도 18은 본 발명의 일실시예에 따른 부호화모듈을 포함하는 멀티미디어 기기의 구성을 나타낸 블록도이다.
도 18에 도시된 멀티미디어 기기(1800)는 통신부(1810)와 부호화모듈(1830)을 포함할 수 있다. 또한, 부호화 결과 얻어지는 오디오 비트스트림의 용도에 따라서, 오디오 비트스트림을 저장하는 저장부(1850)을 더 포함할 수 있다. 또한, 멀티미디어 기기(1800)는 마이크로폰(1870)을 더 포함할 수 있다. 즉, 저장부(1850)와 마이크로폰(1870)은 옵션으로 구비될 수 있다. 한편, 도 18에 도시된 멀티미디어 기기(1800)는 임의의 복호화모듈(미도시), 예를 들면 일반적인 복호화 기능을 수행하는 복호화모듈 혹은 본 발명의 일실시예에 따른 복호화모듈을 더 포함할 수 있다. 여기서, 부호화모듈(1830)은 멀티미디어 기기(1800)에 구비되는 다른 구성요소(미도시)와 함께 일체화되어 적어도 하나 이상의 프로세서(미도시)로 구현될 수 있다.
도 18을 참조하면, 통신부(1810)는 외부로부터 제공되는 오디오와 부호화된비트스트림 중 적어도 하나를 수신하거나, 복원된 오디오와 부호화모듈(1830)의 부호화결과 얻어지는 오디오 비트스트림 중 적어도 하나를 송신할 수 있다.
통신부(1810)는 무선 인터넷, 무선 인트라넷, 무선 전화망, 무선 랜(LAN), 와이파이(Wi-Fi), 와이파이 다이렉트(WFD, Wi-Fi Direct), 3G(Generation), 4G(4 Generation), 블루투스(Bluetooth), 적외선 통신(IrDA, Infrared Data Association), RFID(Radio Frequency Identification), UWB(Ultra WideBand), 지그비(Zigbee), NFC(Near Field Communication)와 같은 무선 네트워크 또는 유선 전화망, 유선 인터넷과 같은 유선 네트워크를 통해 외부의 멀티미디어 기기와 데이터를 송수신할 수 있도록 구성된다.
부호화모듈(1830)은 일실시예에 따르면, 통신부(1810) 혹은 마이크로폰(1870)을 통하여 제공되는 시간 도메인의 오디오 신호를 주파수 도메인의 오디오 스펙트럼으로 변환하고, 오디오 스펙트럼에 대하여 소정의 주파수 밴드 단위로 스펙트럼 에너지를 이용하여 할당 비트수를 결정하고, 오디오 스펙트럼에 대하여 주파수 밴드 단위로, 할당 비트수에 근거하여 팩토리얼 펄스 코딩의 단위 크기 펄스의 개수를 결정하고, 결정된 단위 크기 펄스의 개수를 이용하여 오디오 스펙트럼에 대하여 주파수 밴드 단위로 팩토리얼 펄스 코딩을 수행할 수 있다.
부호화모듈(1830)은 다른 실시예에 따르면, 할당 비트수에 대하여 단위 크기 펄스의 개수의 최대값을 추정하고, 최소값과 최대값 사이에 대하여 바이너리 서치를 수행하여 각 주파수 밴드의 단위 크기 펄스의 최종 개수를 결정할 수 있다. 부호화모듈(1830)은 또 다른 실시예에 따르면, 할당 비트수에 대하여 단위 크기 펄스의 개수의 최대값을 추정하고, 최소값과 최대값 사이에 대하여 바이너리 서치 방식 및 선형 감소 방식을 선택적으로 수행하여 각 주파수 밴드의 단위 크기 펄스의 최종 개수를 결정할 수 있다.
저장부(1850)는 부호화 모듈(1830)에서 생성되는 부호화된 비트스트림을 저장할 수 있다. 한편, 저장부(1850)는 멀티미디어 기기(1800)의 운용에 필요한 다양한 프로그램을 저장할 수 있다.
마이크로폰(1870)은 사용자 혹은 외부의 오디오신호를 부호화모듈(1830)로 제공할 수 있다.
도 19는 본 발명의 일실시예에 따른 복호화모듈을 포함하는 멀티미디어 기기의 구성을 나타낸 블록도이다.
도 19에 도시된 멀티미디어 기기(1800)는 통신부(1910)와 복호화모듈(1930)을 포함할 수 있다. 또한, 복호화 결과 얻어지는 복원된 오디오신호의 용도에 따라서, 복원된 오디오신호를 저장하는 저장부(1950)을 더 포함할 수 있다. 또한, 멀티미디어 기기(1900)는 스피커(1970)를 더 포함할 수 있다. 즉, 저장부(1950)와 스피커(1970)는 옵션으로 구비될 수 있다. 한편, 도 19에 도시된 멀티미디어 기기(1900)는 임의의 부호화모듈(미도시), 예를 들면 일반적인 부호화 기능을 수행하는 부호화모듈 혹은 본 발명의 일실시예에 따른 부호화모듈을 더 포함할 수 있다. 여기서, 복호화모듈(1930)은 멀티미디어 기기(1900)에 구비되는 다른 구성요소(미도시)와 함께 일체화되어 적어도 하나의 이상의 프로세서(미도시)로 구현될 수 있다.
도 19를 참조하면, 통신부(1910)는 외부로부터 제공되는 부호화된 비트스트림과 오디오 신호 중 적어도 하나를 수신하거나 복호화 모듈(1930)의 복호화결과 얻어지는 복원된 오디오 신호와 부호화결과 얻어지는 오디오 비트스트림 중 적어도 하나를 송신할 수 있다. 한편, 통신부(1910)는 도 18의 통신부(1810)와 실질적으로 유사하게 구현될 수 있다.
복호화 모듈(1930)은 일실시예에 따르면, 통신부(1910)를 통하여 제공되는 비트스트림을 수신하고, 비트스트림에 포함된 오디오 스펙트럼에 대하여 소정의 주파수 밴드 단위로 스펙트럼 에너지를 이용하여 할당 비트수를 결정하고, 오디오 스펙트럼에 대하여 주파수 밴드 단위로, 할당 비트수에 근거하여 팩토리얼 펄스 디코딩의 단위 크기 펄스의 개수를 결정하고, 결정된 단위 크기 펄스의 개수를 이용하여 오디오 스펙트럼에 대하여 주파수 밴드 단위로 팩토리얼 펄스 디코딩을 수행하고, 복호화된 오디오 스펙트럼을 시간 도메인의 오디오 신호로 변환할 수 있다.
복호화모듈(1930)은 다른 실시예에 따르면, 할당 비트수에 대하여 단위 크기 펄스의 개수의 최대값을 추정하고, 최소값과 최대값 사이에 대하여 바이너리 서치를 수행하여 각 주파수 밴드의 단위 크기 펄스의 최종 개수를 결정할 수 있다. 복호화모듈(1930)은 또 다른 실시예에 따르면, 할당 비트수에 대하여 단위 크기 펄스의 개수의 최대값을 추정하고, 최소값과 최대값 사이에 대하여 바이너리 서치 방식 및 선형 감소 방식을 선택적으로 수행하여 각 주파수 밴드의 단위 크기 펄스의 최종 개수를 결정할 수 있다.
저장부(1950)는 복호화 모듈(1930)에서 생성되는 복원된 오디오신호를 저장할 수 있다. 한편, 저장부(1950)는 멀티미디어 기기(1900)의 운용에 필요한 다양한 프로그램을 저장할 수 있다.
스피커(1970)는 복호화 모듈(1930)에서 생성되는 복원된 오디오신호를 외부로 출력할 수 있다.
도 20은 본 발명의 일실시예에 따른 부호화모듈과 복호화모듈을 포함하는 멀티미디어 기기의 구성을 나타낸 블록도이다.
도 20에 도시된 멀티미디어 기기(2000)는 통신부(2010), 부호화모듈(2020)과 복호화모듈(2030)을 포함할 수 있다. 또한, 부호화 결과 얻어지는 오디오 비트스트림 혹은 복호화 결과 얻어지는 복원된 오디오신호의 용도에 따라서, 오디오 비트스트림 혹은 복원된 오디오신호를 저장하는 저장부(2040)을 더 포함할 수 있다. 또한, 멀티미디어 기기(2000)는 마이크로폰(2050) 혹은 스피커(2060)를 더 포함할 수 있다. 여기서, 부호화모듈(2020)과 복호화모듈(2030)은 멀티미디어 기기(2000)에 구비되는 다른 구성요소(미도시)와 함께 일체화되어 적어도 하나 이상의 프로세서(미도시)로 구현될 수 있다.
도 20에 도시된 각 구성요소는 도 18에 도시된 멀티미디어 기기(1800)의 구성요소 혹은 도 19에 도시된 멀티미디어 기기(1900)의 구성요소와 중복되므로, 그 상세한 설명은 생각하기로 한다.
도 18 내지 도 20에 도시된 멀티미디어 기기(1800, 1900, 2000)에는, 전화, 모바일 폰 등을 포함하는 음성통신 전용단말, TV, MP3 플레이어 등을 포함하는 방송 혹은 음악 전용장치, 혹은 음성통신 전용단말과 방송 혹은 음악 전용장치의 융합 단말장치가 포함될 수 있으나, 이에 한정되는 것은 아니다. 또한, 멀티미디어 기기(1800, 1900, 2000)는 클라이언트, 서버 혹은 클라이언트와 서버 사이에 배치되는 변환기로서 사용될 수 있다.
한편, 멀티미디어 기기(1800, 1900, 2000)가 예를 들어 모바일 폰인 경우, 도시되지 않았지만 키패드 등과 같은 유저 입력부, 유저 인터페이스 혹은 모바일 폰에서 처리되는 정보를 디스플레이하는 디스플레이부, 모바일 폰의 전반적인 기능을 제어하는 프로세서를 더 포함할 수 있다. 또한, 모바일 폰은 촬상 기능을 갖는 카메라부와 모바일 폰에서 필요로 하는 기능을 수행하는 적어도 하나 이상의 구성요소를 더 포함할 수 있다.
한편, 멀티미디어 기기(1800, 1900, 2000)가 예를 들어 TV인 경우, 도시되지 않았지만 키패드 등과 같은 유저 입력부, 수신된 방송정보를 디스플레이하는 디스플레이부, TV의 전반적인 기능을 제어하는 프로세서를 더 포함할 수 있다. 또한, TV는 TV에서 필요로 하는 기능을 수행하는 적어도 하나 이상의 구성요소를 더 포함할 수 있다.
상기 실시예들에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예들에서 사용될 수 있는 데이터 구조, 프로그램 명령, 혹은 데이터 파일은 컴퓨터로 읽을 수 있는 기록매체에 다양한 수단을 통하여 기록될 수 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함할 수 있다. 컴퓨터로 읽을 수 있는 기록매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 컴퓨터로 읽을 수 있는 기록매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 전송 매체일 수도 있다. 프로그램 명령의 예로는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상과 같이 본 발명의 일실시예는 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명의 일실시예는 상기 설명된 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 스코프는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 이의 균등 또는 등가적 변형 모두는 본 발명 기술적 사상의 범주에 속한다고 할 것이다.
130: 변환부 150: 비트할당부
170: 부호화부 190: 다중화부
210: Norm 추정부 230: Norm 부호화부
250: 비트추정 및 할당부

Claims (22)

  1. 스펙트럼에 대하여 주파수 밴드 단위로, 할당 비트수에 근거하여 팩토리얼 펄스 코딩의 단위 크기 펄스의 개수를 결정하는 단계; 및
    상기 결정된 단위 크기 펄스의 개수를 이용하여 상기 스펙트럼에 대하여 상기 주파수 밴드 단위로 팩토리얼 펄스 코딩을 수행하는 단계를 포함하는 스펙트럼 부호화방법.
  2. 제1 항에 있어서, 상기 단위 크기 펄스의 개수 단계에서는 상기 할당 비트수에 대하여 상기 단위 크기 펄스의 개수의 최대값을 추정하고, 최소값과 상기 최대값 사이에 대하여 바이너리 서치를 수행하여 각 주파수 밴드의 단위 크기 펄스의 최종 개수를 결정하는 스펙트럼 부호화방법.
  3. 제1 항에 있어서, 상기 최소값은 0 혹은 1인 스펙트럼 부호화방법.
  4. 제1 항에 있어서, 상기 최소값은 상기 최대값에 대하여 주파수 밴드의 길이에 따라서 소정 상수를 감산한 값인 스펙트럼 부호화방법.
  5. 제1 항에 있어서, 상기 단위 크기 펄스의 개수 단계에서는 상기 할당 비트수에 대하여 상기 단위 크기 펄스의 개수의 최대값을 추정하고, 최소값과 상기 최대값 사이에 대하여 바이너리 서치 방식 및 선형 감소 방식을 선택적으로 수행하여 각 주파수 밴드의 단위 크기 펄스의 최종 개수를 결정하는 스펙트럼 부호화방법.
  6. 제5 항에 있어서, 상기 최소값은 0 혹은 1인 스펙트럼 부호화방법.
  7. 제5 항에 있어서, 상기 최소값은 상기 최대값에 대하여 주파수 밴드의 길이에 따라서 소정 상수를 감산한 값인 스펙트럼 부호화방법.
  8. 제5 항에 있어서, 단위 크기 펄스의 소정 개수에 대하여 팩토리얼 펄스 코딩시 소요되는 비트수와 할당 비트수간의 차이값을 이용하여, 상기 바이너리 서치 방식와 선형 감소 방식 중 하나를 선택하는 스펙트럼 부호화방법.
  9. 제1 항에 있어서, 상기 할당 비트수가 최소 1개의 펄스 코딩시 필요한 비트수보다 적을 경우, 해당 주파수 밴드의 단위 크기 펄스의 개수를 0으로 할당하는 스펙트럼 부호화방법.
  10. 시간 도메인의 오디오 신호를 주파수 도메인의 오디오 스펙트럼으로 변환하는 변환부;
    상기 오디오 스펙트럼에 대하여 소정의 주파수 밴드 단위로 스펙트럼 에너지를 이용하여 할당 비트수를 결정하는 비트할당부; 및
    상기 오디오 스펙트럼에 대하여 주파수 밴드 단위로, 상기 할당 비트수에 근거하여 팩토리얼 펄스 코딩의 단위 크기 펄스의 개수를 결정하고, 상기 결정된 단위 크기 펄스의 개수를 이용하여 상기 오디오 스펙트럼에 대하여 상기 주파수 밴드 단위로 팩토리얼 펄스 코딩을 수행하는 부호화부를 포함하는 오디오 부호화장치.
  11. 스펙트럼에 대하여 주파수 밴드 단위로, 할당 비트수에 근거하여 팩토리얼 펄스 디코딩의 단위 크기 펄스의 개수를 결정하는 단계; 및
    상기 결정된 단위 크기 펄스의 개수를 이용하여 상기 스펙트럼에 대하여 상기 주파수 밴드 단위로 팩토리얼 펄스 디코딩을 수행하는 단계를 포함하는 스펙트럼 복호화방법.
  12. 제11 항에 있어서, 상기 단위 크기 펄스의 개수 단계에서는 상기 할당 비트수에 대하여 상기 단위 크기 펄스의 개수의 최대값을 추정하고, 최소값과 상기 최대값 사이에 대하여 바이너리 서치를 수행하여 각 주파수 밴드의 단위 크기 펄스의 최종 개수를 결정하는 스펙트럼 복호화방법.
  13. 제11 항에 있어서, 상기 최소값은 0 혹은 1인 스펙트럼 복호화방법.
  14. 제11 항에 있어서, 상기 최소값은 상기 최대값에 대하여 주파수 밴드의 길이에 따라서 소정 상수를 감산한 값인 스펙트럼 복호화방법.
  15. 제11 항에 있어서, 상기 단위 크기 펄스의 개수 단계에서는 상기 할당 비트수에 대하여 상기 단위 크기 펄스의 개수의 최대값을 추정하고, 최소값과 상기 최대값 사이에 대하여 바이너리 서치 방식 및 선형 감소 방식을 선택적으로 수행하여 각 주파수 밴드의 단위 크기 펄스의 최종 개수를 결정하는 스펙트럼 복호화방법.
  16. 제15 항에 있어서, 상기 최소값은 0 혹은 1인 스펙트럼 복호화방법.
  17. 제15 항에 있어서, 상기 최소값은 상기 최대값에 대하여 주파수 밴드의 길이에 따라서 소정 상수를 감산한 값인 스펙트럼 복호화방법.
  18. 제15 항에 있어서, 단위 크기 펄스의 소정 개수에 대하여 팩토리얼 펄스 코딩시 소요되는 비트수와 할당 비트수간의 차이값을 이용하여, 상기 바이너리 서치 방식와 선형 감소 방식 중 하나를 선택하는 스펙트럼복호화방법.
  19. 제11 항에 있어서, 상기 할당 비트수가 최소 1개의 펄스 코딩시 필요한 비트수보다 적을 경우, 해당 주파수 밴드의 단위 크기 펄스의 개수를 0으로 할당하는 스펙트럼 복호화방법.
  20. 비트스트림에 포함된 오디오 스펙트럼에 대하여 소정의 주파수 밴드 단위로 스펙트럼 에너지를 이용하여 할당 비트수를 결정하는 비트할당부;
    상기 오디오 스펙트럼에 대하여 주파수 밴드 단위로, 상기 할당 비트수에 근거하여 팩토리얼 펄스 디코딩의 단위 크기 펄스의 개수를 결정하고, 상기 결정된 단위 크기 펄스의 개수를 이용하여 상기 오디오 스펙트럼에 대하여 상기 주파수 밴드 단위로 팩토리얼 펄스 디코딩을 수행하는 복호화부; 및
    상기 복호화부에서 복호화된 오디오 스펙트럼을 시간 도메인의 오디오 신호로 변환하는 역변환부를 포함하는 오디오 복호화장치.
  21. 제1 항 내지 제9 항 중 어느 하나에 기재된 방법을 실행할 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  22. 제11 항 내지 제19 항 중 어느 하나에 기재된 방법을 실행할 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020130012609A 2012-02-02 2013-02-04 낮은 복잡도로 오디오 신호를 처리하는 방법 및 장치 KR20130090826A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2012103446 2012-02-02
RU2012103446/08A RU2505921C2 (ru) 2012-02-02 2012-02-02 Способ и устройство кодирования и декодирования аудиосигналов (варианты)
US201261595760P 2012-02-07 2012-02-07
US61/595,760 2012-02-07

Publications (1)

Publication Number Publication Date
KR20130090826A true KR20130090826A (ko) 2013-08-14

Family

ID=48905581

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130012609A KR20130090826A (ko) 2012-02-02 2013-02-04 낮은 복잡도로 오디오 신호를 처리하는 방법 및 장치

Country Status (4)

Country Link
US (1) US20130275140A1 (ko)
KR (1) KR20130090826A (ko)
RU (1) RU2505921C2 (ko)
WO (1) WO2013115625A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105825859B (zh) * 2011-05-13 2020-02-14 三星电子株式会社 比特分配、音频编码和解码
CN105096957B (zh) 2014-04-29 2016-09-14 华为技术有限公司 处理信号的方法及设备
US10950251B2 (en) * 2018-03-05 2021-03-16 Dts, Inc. Coding of harmonic signals in transform-based audio codecs
US10586546B2 (en) 2018-04-26 2020-03-10 Qualcomm Incorporated Inversely enumerated pyramid vector quantizers for efficient rate adaptation in audio coding
US10573331B2 (en) * 2018-05-01 2020-02-25 Qualcomm Incorporated Cooperative pyramid vector quantizers for scalable audio coding
US10734006B2 (en) 2018-06-01 2020-08-04 Qualcomm Incorporated Audio coding based on audio pattern recognition
US10580424B2 (en) 2018-06-01 2020-03-03 Qualcomm Incorporated Perceptual audio coding as sequential decision-making problems
US11538489B2 (en) * 2019-06-24 2022-12-27 Qualcomm Incorporated Correlating scene-based audio data for psychoacoustic audio coding
US11361776B2 (en) * 2019-06-24 2022-06-14 Qualcomm Incorporated Coding scaled spatial components

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999050828A1 (en) * 1998-03-30 1999-10-07 Voxware, Inc. Low-complexity, low-delay, scalable and embedded speech and audio coding with adaptive frame loss concealment
US6236960B1 (en) * 1999-08-06 2001-05-22 Motorola, Inc. Factorial packing method and apparatus for information coding
US7548853B2 (en) * 2005-06-17 2009-06-16 Shmunk Dmitry V Scalable compressed audio bit stream and codec using a hierarchical filterbank and multichannel joint coding
RU2427978C2 (ru) * 2006-02-21 2011-08-27 Конинклейке Филипс Электроникс Н.В. Кодирование и декодирование аудио
US7461106B2 (en) * 2006-09-12 2008-12-02 Motorola, Inc. Apparatus and method for low complexity combinatorial coding of signals
US8060363B2 (en) * 2007-02-13 2011-11-15 Nokia Corporation Audio signal encoding
RU2439721C2 (ru) * 2007-06-11 2012-01-10 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Аудиокодер для кодирования аудиосигнала, имеющего импульсоподобную и стационарную составляющие, способы кодирования, декодер, способ декодирования и кодированный аудиосигнал
US8207875B2 (en) * 2009-10-28 2012-06-26 Motorola Mobility, Inc. Encoder that optimizes bit allocation for information sub-parts
US8149144B2 (en) * 2009-12-31 2012-04-03 Motorola Mobility, Inc. Hybrid arithmetic-combinatorial encoder
RU2432624C1 (ru) * 2010-04-21 2011-10-27 Государственное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) Способ уменьшения объема данных при широкополосном кодировании речевого сигнала
US8831933B2 (en) * 2010-07-30 2014-09-09 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for multi-stage shape vector quantization

Also Published As

Publication number Publication date
WO2013115625A1 (ko) 2013-08-08
US20130275140A1 (en) 2013-10-17
RU2505921C2 (ru) 2014-01-27
RU2012103446A (ru) 2013-10-27

Similar Documents

Publication Publication Date Title
KR102491547B1 (ko) 비트할당방법, 오디오 부호화방법 및 장치, 오디오 복호화방법 및 장치, 기록매체와 이를 채용하는 멀티미디어 기기
US11355129B2 (en) Energy lossless-encoding method and apparatus, audio encoding method and apparatus, energy lossless-decoding method and apparatus, and audio decoding method and apparatus
TWI601130B (zh) 音訊編碼裝置
KR20130090826A (ko) 낮은 복잡도로 오디오 신호를 처리하는 방법 및 장치
TW201337913A (zh) 頻譜編碼方法、音訊編碼裝置、頻譜解碼方法、音訊解碼裝置以及非暫時性電腦可讀儲存媒體

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid