KR100528327B1 - 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치 - Google Patents

비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치 Download PDF

Info

Publication number
KR100528327B1
KR100528327B1 KR10-2003-0000050A KR20030000050A KR100528327B1 KR 100528327 B1 KR100528327 B1 KR 100528327B1 KR 20030000050 A KR20030000050 A KR 20030000050A KR 100528327 B1 KR100528327 B1 KR 100528327B1
Authority
KR
South Korea
Prior art keywords
bits
order
encoding
layer
bit
Prior art date
Application number
KR10-2003-0000050A
Other languages
English (en)
Other versions
KR20040062261A (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 삼성전자주식회사
Priority to KR10-2003-0000050A priority Critical patent/KR100528327B1/ko
Priority to CNB031650376A priority patent/CN100555413C/zh
Publication of KR20040062261A publication Critical patent/KR20040062261A/ko
Application granted granted Critical
Publication of KR100528327B1 publication Critical patent/KR100528327B1/ko

Links

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/04Speech 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 predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B14/00Transmission systems not characterised by the medium used for transmission
    • H04B14/02Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation
    • H04B14/04Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation using pulse code modulation

Landscapes

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

Abstract

비트율 조절가능한 오디오 부호화 방법, 복호화 방법, 부호화 장치 및 복호화 장치가 개시된다.
본 발명에 따라 오디오 데이터를 비트율 조절이 가능하도록 부호화하는 방법은 (c) 첫번째 계층에 해당하는 스케일 팩터 정보 및 코딩 모델 정보를 포함하는 부가 정보를 부호화하는 단계; (f) 상기 첫번째 계층에 해당하는 복수개의 양자화 샘플을 상기 코딩 모델 정보를 참조하여 최상위 비트에서부터 최하위 비트들의 순서로, 낮은 주파수에서부터 높은 주파수의 순서로 N 비트 단위로 산술 부호화하는 단계; 및 (g) 미리 결정된 복수개의 계층에 대한 부호화가 완료될 때까지 매 회 상기 계층 앞에 부가된 서수를 1 씩 증가시키면서 상기 (c)단계 내지 (g)단계를 반복 수행하는 단계를 포함하는 것을 특징으로 한다(N은 1보다 크거나 같은 정수). 이에 의해, 적은 양의 데이터로도 보다 섬세한 FGS를 제공할 수 있는 한편 주파수 분해능을 사람의 귀의 전달함수와 유사하게 구성하여 낮은 계층에서도 좋은 음질을 제공해준다.

Description

비트율 조절가능한 오디오 부호화 방법, 복호화 방법, 부호화 장치 및 복호화 장치{Method and apparatus for encoding/decoding audio data with scalability}
본 발명은 오디오 데이터의 부호화 및 복호화에 관한 것으로, 보다 상세하게는 오디오 데이터를 비트율 조절가능하도록 부호화하는 방법, 복호화하는 방법, 그 부호화 장치 및 복호화 장치에 관한 것이다.
최근 디지털 신호처리 기술의 발달에 의해 오디오 신호는 디지털 데이터로 저장되고 재생되는 경우가 대부분이다. 디지털 오디오 저장/재생 장치는 아날로그 오디오 신호를 샘플링하고 양자화하여 디지탈 신호인 PCM(Pulse Code Modulation) 오디오 데이터로 변환하여 CD, DVD와 같은 정보저장매체에 저장해둔 다음 사용자가 필요로 할 때 이를 재생해서 들을 수 있도록 해준다. 디지탈 방식에 의한 오디오 신호의 저장/복원 방식은 LP(Long-Play Record), 마그네틱 테이프와 같은 아날로그 저장/복원 방식에 비해 음질을 크게 향상시켰고 저장 기간에 따른 열화 현상을 현저히 감소시켰으나 데이터의 양이 적지 않아 저장 및 전송이 원할하지 못한 문제점이 있었다.
이와 같은 문제점을 해결하기 위해, 디지털 오디오 신호의 크기를 줄이기 위한 다양한 압축 방식이 사용되고 있다. ISO (International Standard Organization)에 의해 표준화 작업이 이루어진 MPEG/audio(Moving Pictures Expert Group)나 Dolby사에 의해 개발된 AC-2/AC-3는 사람의 심리음향 모델(Psychoacoustic Model)을 이용하여 데이터의 양을 줄이는 방법을 채용하였고 그 결과 신호의 특성에 관계없이 효율적으로 데이터의 양을 줄일 수 있었다. 즉, MPEG/audio 표준이나 AC-2/AC-3 방식은 이전의 디지털 부호화 방식에 비해 1/6 내지 1/8로 줄어든 64 Kbps - 384 Kbps 비트율만으로 CD와 거의 같은 정도의 음질을 제공한다.
그러나, 이들 방법은 모두 고정된 비트율에 대해 최적의 상태를 찾아 양자화 과정과 부호화 과정을 거치는 방식을 따르므로, 네트워크를 통해 전송할 때 네트워크 상황이 좋지 않아 전송 대역폭이 낮아지면 끊김이 발생하며 사용자에게 더 이상의 서비스를 제공할 수 없게 되는 문제점이 있다. 또한, 제한된 저장 용량을 가지고 있는 이동식 기기에 적합하도록 좀 더 작은 크기의 비트스트림으로 변환하고자 할 때 크기를 줄이기 위해서는 재부호화 과정을 거쳐야 하므로 많은 계산량이 요구된다.
이에, 본 출원인은 비트 분할 산술 부호화(BSAC, Bit-Sliced Arithmetic Coding) 기법을 사용하여 비트율 조절이 가능한 오디오 부호화/복호화 방법 및 장치를 1997년 11월 19일자 대한민국 특허출원 제97-61298호로 출원하여 2000년 4월 17일자 등록특허 제261253호로 등록받았다. BSAC에 따르면, 높은 비트율로 부호화된 비트스트림을 낮은 비트율의 비트스트림으로 만들 수도 있고 그 중 일부의 비트스트림만을 가지고도 복원이 가능하므로 네트워크에 과부화가 걸리거나 복호화기의 성능이 좋지 않거나 또는 사용자가 낮은 비트율을 요구하면 비트스트림의 일부만을 가지고도 - 비트율이 낮아진 만큼 성능의 열화를 보이겠지만 - 사용자에게 어느 정도의 음질로 서비스를 제공할 수 있다.
하지만, BSAC는 오디오 신호를 변환함에 있어 MDCT(Modified Discrete Cosine Transform)를 사용함에 따라 낮은 계층에서 음질의 열화가 보다 심해지는 문제점이 있다. MDCT는 높은 계층에 비해 낮은 계층으로 갈수록 음질이 저하되는데 이는 MDCT의 주파수 분해능이 일정하므로 음향심리모델의 관점에서 볼 때 사람의 귀에 민감하지 않은 부분에 대한 주파수 분해능이 과다하게 높아져서 발생하는 문제이다.
따라서, 본 발명의 목적은 FGS(Fine Grain Scalability)를 제공하면서도 낮은 계층에서도 보다 양호한 음질을 제공할 수 있는 비트율 조절가능한 오디오 부호화 방법, 복호화 방법, 그 부호화 장치 및 복호화 장치를 제공하는 것이다.
상기 목적은 본 발명에 따라, 오디오 데이터를 비트율 조절이 가능하도록 부호화하는 방법에 있어서, (c) 첫번째 계층에 해당하는 스케일 팩터 정보 및 코딩 모델 정보를 포함하는 부가 정보를 부호화하는 단계; (f) 상기 첫번째 계층에 해당하는 복수개의 양자화 샘플을 상기 코딩 모델 정보를 참조하여 최상위 비트에서부터 최하위 비트들의 순서로, 낮은 주파수에서부터 높은 주파수의 순서로 N 비트 단위로 산술 부호화하는 단계; 및 (g) 미리 결정된 복수개의 계층에 대한 부호화가 완료될 때까지 매 회 상기 계층 앞에 부가된 서수를 1 씩 증가시키면서 상기 (c)단계 내지 (g)단계를 반복 수행하는 단계를 포함하는 것을 특징으로 하는 부호화 방법(N은 1보다 크거나 같은 정수)에 의해 달성된다.
또한, (a) 복수개의 계층에 상응하도록 오디오 데이터를 분할하는 단계; (b) 상기 복수개의 계층에 각각 상응하는 스케일 밴드 정보 및 코딩 밴드 정보를 얻는 단계; (c) 첫번째 계층에 상응하는 스케일 밴드 정보 및 코딩 밴드 정보에 따른 스케일 팩터 정보 및 코딩 모델 정보를 포함하는 부가 정보를 부호화하는 단계; (d) 상기 첫번째 계층에 해당하는 오디오 데이터를 대응하는 스케일 팩터 정보를 참조하여 양자화하여 양자화 샘플을 얻는 단계; (f) 얻어진 복수개의 양자화 샘플을 상기 코딩 모델 정보를 참조하여 최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 부호화하는 단계; 및 (g) 상기 복수개의 계층에 대한 부호화가 완료될 때까지 매 회 상기 계층 앞에 부가된 서수를 1 씩 증가시키면서 상기 (c)단계 내지 (f)단계를 반복하여 계층 구조를 갖도록 패킹하는 단계를 포함하는 것을 특징으로 하는 부호화 방법에 의해서도 달성된다.
상기 (f)단계는 얻어진 복수개의 양자화 샘플을 상기 코딩 모델 정보를 참조하여 최상위 비트들을 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 부호화하고, 다음 상위 비트들을 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 부호화하는 방식으로 최하위 비트들까지 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 부호화하는 단계임이 바람직하다.
또한, 상기 (f)단계 이전에 (e) 상기 복수개의 계층에 대해 각각 사용가능한 비트 범위를 구하는 단계를 포함하고, 상기 (f)단계는 부호화된 비트 수를 카운트하여, 카운트된 비트 수가 대응하는 비트 범위를 초과하면 부호화를 중지하며, 할당된 양자화 샘플을 전부 부호화한 이후에도 카운트된 비트 수가 대응하는 비트 범위보다 작으면 하위 계층에서 부호화하지 못하고 남은 비트를 상기 비트 범위가 허용하는 만큼 부호화하는 단계를 포함하는 것이 바람직하다.
한편, 상기 (a)단계는 (a1) 오디오 데이터를 웨이블릿 변환하는 단계; 및 (a2) 웨이블릿 변환된 오디오 데이터를 컷-오프 주파수를 참조하여 상기 복수개의 계층에 상응하도록 분할하는 단계를 포함하는 것이 바람직하고, 상기 (c)단계는 상기 스케일 팩터 정보와 코딩 모델 정보는 차분 부호화하는 단계를 포함하는 것이 바람직하다.
상기 (f)단계는 (f1) 복수개의 양자화 샘플을 비트 플래인 상에 매핑하는 단계; 및 (f2) 최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 대응하는 계층이 허용하는 비트 범위만큼 부호화하는 단계를 포함하는 것이 바람직하다(N은 1 보다 크거나 같은 정수).
한편, 본 발명의 다른 분야에 따르면, 상기 목적은 계층 구조로 부호화된 오디오 데이터를 비트율 조절이 가능하도록 복호화하는 방법에 있어서, (a) 첫번째 계층에 상응하는 스케일 팩터 정보 및 코딩 모델 정보를 포함하는 부가 정보를 복호화하는 단계; (b) 상기 코딩 모델 정보를 참조하여 최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 복호화하여 양자화 샘플을 얻는 단계; (c) 얻어진 양자화 샘플을 상기 스케일 팩터 정보를 참조하여 역양자화하는 단계; (d) 역양자화된 샘플을 웨이블릿 역변환하는 단계; 및 (e) 미리 결정된 계층까지 복호화가 완료될 때까지 매 회 상기 계층 앞에 부가된 서수를 1 씩 증가시키면서 상기 (a)단계 내지 (d)단계를 반복 수행하는 단계를 포함하는 것을 특징으로 하는 복호화 방법에 의해서도 달성된다.
상기 (a)단계는 상기 스케일 팩터 정보와 코딩 모델 정보는 차분 복호화하는 단계를 포함하는 것이 바람직하다.
상기 (b)단계는 (b1) 최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 복호화하는 단계; 및 (b2) 복호화된 비트들로로부터 양자화된 샘플을 얻는 단계를 포함하는 것이 바람직하다.
상기 (b1)단계는 최상위 비트들을 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 부호화하고, 다음 상위 비트들을 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 부호화하는 방식으로 최하위 비트들까지 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 복호화하는 단계임이 바람직하다.
한편, 본 발명의 다른 분야에 따르면, 상기 목적은 계층 구조로 부호화된 오디오 데이터를 비트율 조절이 가능하도록 복호화하는 장치에 있어서, 첫번째 계층에 상응하는 스케일 팩터 정보 및 코딩 모델 정보를 포함하는 부가 정보를 복호화하고, 상기 코딩 모델 정보를 참조하여 최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 복호화하여 양자화 샘플을 얻는 언패킹부: 얻어진 양자화 샘플을 상기 스케일 팩터 정보를 참조하여 역양자화하는 역양자화부; 및 역양자화된 샘플을 웨이블릿 역변환하는 역변환부를 포함하는 것을 특징으로 하는 복호화 장치에 의해서도 달성된다.
상기 언팩킹부는 상기 스케일 팩터 정보와 코딩 모델 정보를 차분 복호화하며, 최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 대응하는 계층이 허용하는 비트 범위만큼 복호화하고, 복호화된 비트 플래인으로부터 양자화된 샘플을 얻는 것이 바람직하고(N은 1 보다 크거나 같은 정수), 특히 최상위 비트들을 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 복호화하고, 다음 상위 비트들을 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 복호화하는 방식으로 최하위 비트들까지 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 복호화하는 것이 바람직하다.
한편, 본 발명의 다른 분야에 따르면, 상기 목적은 오디오 데이터를 비트율 조절이 가능하도록 부호화하는 장치에 있어서, 상기 오디오 데이터를 웨이블릿 변환하는 변환부; 각 계층에 해당하는, 웨이블릿 변환된 오디오 데이터를 상기 스케일 팩터 정보를 참조하여 양자화하여 양자화 샘플을 출력하는 양자화부; 및 각 계층에 상응하는 스케일 팩터 정보 및 코딩 모델 정보를 포함하는 부가 정보를 부호화하고, 상기 양자화부로부터의 복수개의 양자화 샘플을 상기 코딩 모델 정보를 참조하여 최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 부호화하는 패킹부를 포함하는 것을 특징으로 하는 부호화 장치(N은 1 보다 크거나 같은 정수)에 의해서도 달성된다.
상기 패킹부는 복수개의 계층에 각각 상응하는 스케일 밴드 정보 및 코딩 밴드 정보를 얻어 각 계층에 상응하는 스케일 밴드 정보 및 코딩 밴드 정보에 따른 스케일 팩터 정보 및 코딩 모델 정보를 포함하는 부가 정보를 부호화하는 것이 바람직하고, 부호화된 비트 수를 카운트하여, 카운트된 비트 수가 각 계층에 허용되는 비트 범위를 초과하면 부호화를 중지하며, 할당된 양자화 샘플을 전부 부호화한 이후에도 카운트된 비트 수가 대응하는 비트 범위보다 작으면 하위 계층에서 부호화하지 못하고 남은 비트를 상기 비트 범위가 허용하는 만큼 부호화하는 것이 바람직하다.
상기 패킹부는 상기 스케일 팩터 정보 및 코딩 모델 정보를 차분 부호화하며, 복수개의 양자화 샘플을 비트 플래인 상에 매핑하고, 최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 대응하는 계층이 허용하는 비트 범위만큼 산술 부호화하는 것이 바람직하다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 부호화 장치의 블럭도이다.
도 1을 참조하면, 부호화 장치는 본 발명에 따라 비트율 조절가능하도록 오디오 데이터를 계층 구조로 부호화하는 장치로서, 변환부(11), 심리음향부(12), 양자화부(13) 및 비트패킹부(14)를 포함한다.
변환부(11)는 시간 영역의 오디오 신호인 PCM(Pulse Coded Modulation) 오디오 데이터를 입력받아 심리음향부(12)로부터의 제공되는 음향심리모델에 관한 정보를 참조하여 주파수 영역의 신호로 변환한다. 시간 영역에서는 사람이 인지하는 오디오 신호의 특성의 차이가 그리 크지 않지만, 변환을 통해 얻어진 주파수 영역의 오디오 신호는 사람의 음향심리모델에 따라 각 주파수 대역에서 사람이 느낄 수 있는 신호와 느낄 수 없는 신호의 특성 차이가 크기 때문에 각 주파수 대역 별로 할당되는 비트수를 다르게 함으로써 압축의 효율를 높일 수 있다. 본 실시예에서 변환부(11)는 웨이블릿 변환을 수행한다. 낮은 주파수 대역에서의 주파수 분해능이 필요 이상으로 높음으로 인해 작은 왜곡(distortion)에 의해서도 사람의 귀에 인지되는 열화가 발생되는 MDCT에 비해, 웨이블릿 변환은 시간/주파수 분해능이 보다 적절하여 낮은 주파수 대역을 갖는 낮은 계층에서도 보다 안정적인 음질을 제공해줄 수 있다.
심리음향부(12)는 어택(attack) 감지 정보, 등 음향심리모델에 관한 정보를 변환부(11)로 제공하는 한편, 변환부(11)에 의해 변환된 오디오 신호를 적절한 서브 밴드의 신호들로 묶고 각 신호들의 상호작용으로 인해 발생되는 마스킹 현상을 이용하여 각 서브 밴드에서의 마스킹 문턱치(masking threshold)를 계산하여 양자화부(13)로 제공한다. 마스킹 문턱치란 오디오 신호들의 상호 작용으로 인해 사람이 들어도 느끼지 못하는 신호의 최대 크기를 말한다. 본 실시예에서 심리음향부(12)는 BMLD(Binaural Masking Level Depression)를 이용하여 스테레오 성분에 대한 마스킹 문턱치 등을 계산한다.
양자화부(13)는 사람이 들어도 느끼지 못하도록 각 대역의 양자화 잡음의 크기가 심리음향부(12)에서 제공된 마스킹 문턱치보다 작도록 각 대역의 오디오 신호들을 대응하는 스케일 팩터 정보를 기초로 스칼라 양자화하여 양자화 샘플들을 출력한다. 즉, 양자화부(13)는 음향심리부(12)에서 계산된 마스킹 문턱치와 각 대역에서 발생하는 잡음(noise)의 비율인 NMR (Noise-to-Mask Ratio)를 이용하여 전 대역의 NMR 값이 0 dB 이하가 되도록 양자화한다. NMR 값이 0 dB 이하라는 것은 양자화 잡음을 사람이 들을 수 없음을 의미한다.
비트 패킹부(14)는 각 계층에 속하는 양자화 샘플들 및 부가 정보를 부호화하여 계층 구조로 패킹한다. 부가 정보는 각 계층에 해당하는 스케일 밴드 정보, 코딩 밴드 정보, 그 스케일 팩터 정보 및 코딩 모델 정보를 포함한다. 다만, 스케일 밴드 정보와 코딩 밴드 정보는 비트스트림을 구성하는 프레임의 헤더 정보로서 패킹되어 복호화 장치로 전송될 수도 있고, 각 계층마다의 부가 정보로서 부호화되고 패킹되어 복호화 장치로 전송될 수도 있으며, 부호화 장치로부터 전송되지 않고 복호화 장치에 미리 저장되어 있을 수도 있다.
보다 구체적으로, 비트 패킹부(14)는 첫 번째 계층에 상응하는 스케일 팩터 정보 및 코딩 모델 정보를 포함하는 부가 정보를 차분 부호화하는 한편, 양자화 샘플을 비트 단위로 나누고 첫 번째 계층에 상응하는 코딩 모델 정보를 참조하여 중요도가 더 높은 비트들부터 부호화한다. 부호화해야 할 두 가지 성분인 부가 정보와 양자화 샘플들 중 부가 정보가 양자화 샘플들에 비해 그 중요도가 더 높다. 왜냐하면 양자화 샘플들이 정확하게 전달되어도 스케일 밴드 정보, 양자화 스텝 사이즈 등 부가 정보가 제대로 전달되지 못하면 전혀 엉뚱한 신호로 복원되지만, 부가 정보만 정확하게 복원되면 양자화 샘플에 어느 정도 오류가 발생하더라도 전체적인 윤곽은 복원이 가능하기 때문이다. 따라서, 부가 정보들을 먼저 부호화하고 나중에 양자화 샘플들을 부호화한다. 부가 정보 및 양자화 샘플들을 부호화하는 중 각 계층에 허용된 비트 범위보다 지금까지 사용된 비트가 많거나 같아지면 부호화를 멈추고 비트스트림을 제작을 마무리한다. 부호화하지 못하고 남은 양자화 샘플들은 여유가 있는 계층에서 부호화된다. 비트 범위 및 계층의 수는 부호화해야할 오디오 데이터의 크기에 따라 적절히 결정되므로 마지막 계층까지 부호화하면 모두 부호화된다. 한편, 부호화시 타겟 계층의 수가 변동되어 양자화 샘플들을 모두 부호화하지 못하고 비트스트림 제작을 마무리하더라도 중요한 정보들부터 부호화되었기 때문에 음질이 크게 저하되지 않는다.
본 실시예에서 비트 패킹부(14)는 양자화 샘플들을 부호화함에 있어서 복수개의 양자화 샘플을 비트 분할한 다음 최상위 비트들에서부터 최하위 비트들의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 부호화한다(N은 1보다 크거나 같은 정수). 다음으로 두 번째 계층에 대해서도 동일한 과정을 반복한다. 즉, 미리 결정된 복수개의 계층에 대한 부호화가 완료될 때까지 계층을 증가시키면서 부호화한다. 본 발명에 따라 부호화된 비트스트림의 계층 구조는 후술한다.
스케일 밴드 정보는 오디오 신호의 주파수 특성에 따라 보다 적절하게 양자화를 수행하기 위한 정보로, 주파수 영역을 복수개의 밴드로 나누고 각 밴드에 적합한 스케일 팩터를 할당하였을 때 각 계층에 대응하는 스케일 밴드를 알려주는 정보를 말한다. 이에, 각 계층은 적어도 하나의 스케일 밴드에 속하게 된다. 각 스케일 밴드는 할당된 하나의 스케일 팩터를 가진다. 일반적으로, 스케일 밴드는 사람의 청각 특성에 따라 구성되기 때문에 낮은 주파수에서는 그 밴드 폭이 작고 주파수가 높아짐에 따라 그 밴드 폭이 커지는 경향을 가진다.
코딩 밴드 정보 또한 오디오 신호의 주파수 특성에 따라 보다 적절하게 무손실 부호화를 수행하기 위한 정보로, 주파수 영역을 복수개의 밴드로 나누고 각 밴드에 적합한 코딩 모델을 할당하였을 때 각 계층에 대응하는 코딩 밴드를 알려주는 정보를 말한다. 스케일 밴드의 폭이 주파수에 따라 달라지기 때문에 통일된 확률분포를 얻기 어렵기 때문에 각 밴드의 신호들이 비슷한 확률 분포를 가질 수 있도록 주파수 신호들을 묶어준다. 이렇게 묶인 각 그룹이 코딩 밴드이다. 일반적으로, 낮은 주파수에서는 복수개의 스케일 밴드가 하나의 코딩 밴드에 대응되고 주파수가 높아짐에 따라 스케일 밴드와 코딩 밴드가 일치하게 된다. 실제로, 스케일 밴드와 코딩 밴드는 실험에 의해 적절히 나누어지며 대응하는 스케일 팩터와 코딩 모델이 결정된다. 특히, 본 발명에서는 웨이블릿 변환을 기반으로 하므로, 코딩 밴드는 웨이블릿 변환을 위한 트리 구조의 마지막 노드에 대응하도록 나뉜다. 상세한 설명은 후술한다.
도 2는 본 발명의 바람직한 실시예에 따른 복호화 장치의 블럭도이다.
도 2를 참조하면, 복호화 장치는 네트워크 상황, 복호화 장치의 성능, 사용자 선택 등에 따라 결정된 타겟 계층까지 복호화함으로써 비트율을 조절할 수 있는 장치로서, 언패킹부(21), 역양자화부(22) 및 역변환부(23)를 포함한다.
언패킹부(21)는 비트스트림을 타겟 계층까지 언패킹하고 각 계층 별로 복호화한다. 즉, 각 계층 대응하는 스케일 팩터 정보, arithmetic 코딩 모델 정보가 포함된 부가 정보를 복호화한 다음 얻어진 코딩 모델 정보를 기초로 각 계층에 속하는 부호화된 양자화 샘플들을 다시 복호화하여 양자화 샘플들을 얻는다. 본 실시예에서 언패킹부(21)는 스케일 팩터 정보와 arithmetic 코딩 모델 정보를 차분 복호화하고, 부호화된 양자화 샘플들은 낮은 주파수에서 높은 주파수의 순서로, 최상위 비트들에서 최하위 비트들의 순서로, N 비트 단위로 산술 복호화한 다음 비트 결합하여 양자화 샘플들을 얻는다(N은 1 보다 크거나 같은 정수). 비트 결합이란 부호화시 수행하였던 비트 분할의 역과정을 말한다.
한편, 스케일 밴드 정보와 코딩 밴드 정보는 비트스트림의 헤더 정보로부터 얻거나, 각 계층 별 부가 정보를 복호화하여 얻을 수 있다. 대안적으로, 복호화 장치가 스케일 밴드 정보 및 코딩 밴드 정보를 미리 저장하고 있을 수도 있다. 역양자화부(22)는 각 계층의 양자화 샘플을 대응하는 스케일 팩터 정보에 따라 역양자화한다. 역변환부(23)는 복원된 샘플을 웨이블릿 역변환에 의해 주파수/시간 매핑하여 시간 영역의 PCM 오디오 데이터로 출력한다.
도 3은 본 발명에 따라 비트율을 조절할 수 있도록 계층 구조로 부호화된 비트스트림을 구성하는 프레임의 구조를 보여준다.
도 3을 참조하면, 본 발명에 따른 비트스트림의 프레임은 FGS(Fine Grain Scalability)를 위해 양자화 샘플과 부가 정보를 계층 구조에 맵핑시켜 부호화되어 있다. 즉, 하위 계층의 비트스트림이 상위 계층의 비트스트림에 포함되어 있는 계층 구조를 가진다. 각 계층에 필요한 부가 정보들은 계층 별로 나뉘어서 부호화된다.
비트스트림의 선두에는 헤더 정보가 저장된 헤더 영역이 마련되고, 계층 0의 정보가 패킹되어 있으며, 상위 계층(enhancement layer)인 계층 1 내지 계층 N에 속하는 정보가 순서대로 패킹되어 있다. 헤더에서부터 계층 0 정보까지를 기저 계층(base layer)이라고 부르고, 헤더에서부터 계층 1 정보까지를 계층 1, 헤더에서부터 계층 2 정보까지를 계층 2라고 부른다. 마찬가지 방식으로, 최상위 계층은 헤더에서부터 계층 N 정보까지, 즉 기저 계층에서부터 상위 계층인 계층 N까지를 말한다. 각 계층 정보로는 부가 정보와 부호화된 오디오 데이터가 저장되어 있다. 가령, 계층 2 정보로 부가 정보 2와 부호화된 양자화 샘플들이 저장되어 있다. 여기서, N은 1 보다 크거나 같은 정수이다.
도 4는 부가 정보의 상세 구조를 보여준다.
도 4를 참조하면, 임의의 계층 정보로는 부가 정보와 부호화된 양자화 샘플들이 저장되어 있고, 본 실시예에서 부가 정보는 arithmetic 코딩 모델 정보, 스케일 팩터 정보, 채널에 대한 부가 정보 및 기타 부가 정보를 포함한다. arithmetic 코딩 모델 정보는 대응하는 계층에 속하는 양자화 샘플들의 부호화에 사용되거나 복호화에 사용되어야 할 arithmetic 코딩 모델에 대한 인덱스 정보를 말한다. 스케일 팩터 정보는 대응하는 계층에 속하는 오디오 데이터를 양자화하거나 역영자화하기 위한 양자화 스텝 사이즈를 알려준다. 채널에 대한 부가 정보란 M/S stereo와 같은 채널에 대한 정보를 말한다. 기타 부가 정보는 M/S stereo의 채용 여부에 대한 플래그 정보 등을 말한다.
본 실시예에서, 부호화 장치의 비트 패킹부(14)는 arithmetic 코딩 모델 정보와 스케일 팩터 정보 등 부가 정보를 무손실 부호화한다. 스케일 밴드마다 하나의 양자화 팩터를 갖기 때문에, 양자화 팩터를 부호화하기 위해서, 먼저 각 스케일 밴드에 속하는 양자화 팩터들 중에서 최소값을 먼저 무손실 부호화한 다음 이 최소값과 다른 양자화 팩터와의 차이값을 무손실 부호화하게 된다. 부가 정보의 무손실 부호화에는 허프만 부호화나 산술 부호화가 사용될 수 있다. 본 실시예에서는 산술 부호화를 수행한다. 마찬가지로, 각 코딩 밴드에 대응하는 arithmetic 코딩 모델 및 허용된 비트 범위에 대한 정보 또한 양자화 스텝 사이즈를 부호화하는 방식, 즉 차분 부호화한다.
본 실시예에서, 복호화 장치의 언패킹부(21)는 arithmetic 코딩 모델 정보와 스케일 팩터 정보 등 부가 정보를 무손실 복호화한다. 스케일 밴드마다 하나의 양자화 팩터를 갖기 때문에, 양자화 팩터를 복호화하기 위해서, 먼저 각 스케일 밴드에 속하는 양자화 팩터들 중에서 최소값을 먼저 무손실 복호화한 다음 이 최소값과 각 양자화 팩터와의 차이값을 무손실 복호화한다. 본 실시예에서 부호화 장치는 부가 정보의 무손실 부호화를 위해 산술 부호화가 사용되었으므로, 복호화 장치는 산술 복호화를 수행한다. 마찬가지로, 각 코딩 밴드에 대응하는 arithmetic 코딩 모델 및 허용된 비트 범위에 대한 정보 또한 양자화 팩터를 복호화하는 방식에 따른다.
도 5는 본 발명에 따른 부호화 방식 및 그에 따른 복호화 방식을 설명하기 위한 참고도이다.
도 5를 참조하면, 빗금친 사각형은 양자화 샘플들로 구성된 스펙트럼 라인으로서, A는 각 계층들의 경계선을 나타내고, B는 웨이블릿 변환을 위해 트리 구조의 터미널 노드들에 각각 대응되도록 분할된 경계선을 나타낸다.
본 발명에 따른 부호화에서 채용하고 있는 웨이블릿 변환은 사람의 귀에 상응하는 필터 뱅크의 모양에 근접하게 표현하기 위해 트리 구조를 이용하여 주파수 변환을 수행한다. 트리 구조의 마지막 노드들은 각각 산술 부호화의 스케일 밴드에 각각 대응된다. 따라서 마지막 노드들 각각은 하나의 스케일 팩터에 대응한다.
한편, 산술 부호화를 위한 arithmetic 코딩 모델 정보를 전송하는 단위인 코딩 밴드는 코딩 효율을 고려하여 정할 수 있다. 예를 들어 마지막 노드들에 대해 각각 스케일 밴드와 코딩 밴드를 동일하고 가정한다면, 도 5에 도시된 바와 같이 계층들과 마지막 노드들이 매핑된다. 마지막 노드에 각각 대응되는 데이터들은 동일한 주파수 대역의 시간 축 상에 존재하는 데이터이므로 계층을 분할함에 있어서 마지막 노드에 대응되는 데이터들이 분리되지 않는다.
계층 0은 주파수 대역 ⓐ까지 부호화하도록 고정되어 있고, 계층 1은 주파수 대역 ⓑ까지 부호화하도록 고정되어 있으며, 계층 2는 주파수 대역 ⓒ까지 부호화하도록 고정되어 있고, 계층 3은 주파수 대역 ⓓ까지 부호화하도록 고정되어 있으며, 계층 4는 주파수 대역 ⓔ까지 부호화하도록 고정되어 있고, 계층 5는 주파수 대역 ⓕ까지 부호화하도록 고정되어 있으며, 계층 6은 주파수 대역 ⓖ까지 부호화하도록 고정되어 있고, 계층 7은 주파수 대역 ⓗ까지 부호화하도록 고정되어 있다.
먼저, 미리 결정된 소정 비트 내에서 계층 0에 해당하는 양자화 샘플들을 해당하는 코딩 모델을 사용하여 산술 부호화한다. 또한, 계층 0의 부가 정보로서 계층 0에 속하는 부가 정보를 산술 부호화한다. 계층 0에 속하는 양자화 샘플들을 비트 단위로 부호화하면서 비트 수를 카운트하여 허용된 비트 범위를 넘어서면 계층 0의 부호화를 중단하고 계층 1을 산술 부호화한다. 부호화되지 못한 계층 0의 샘플들은 계층 1 및 계층 2에 허용된 비트 범위에 여유가 생겼을 때 부호화한다.
다음으로, 계층 1에 속하는 양자화 샘플에 대응하는 코딩 모델을 사용하여 계층 1에 속하는 양자화 샘플들을 부호화한다. 또한, 계층 1의 부가 정보를 산술 부호화한다. 만일 계층 1에 해당하는 샘플들을 모두 부호화하고도 허용된 비트 범위까지 채워지지 않을 경우에는 허용된 비트가 다 찰 때까지 계층 0에서 부호화하지 못하였던 비트들을 부호화한다. 허용된 비트 범위를 넘어서면 계층 1의 부호화를 중단하고 계층 2의 부호화로 넘어간다. 이와 같은 과정을 거쳐서 계층 7까지 부호화한다.
만일 각 계층에서 허용된 비트 범위를 고려하지 않고 해당하는 양자화 샘플을 모두 부호화해버린다면, 다시 말해 부호화된 비트 수가 이미 허용된 비트 범위를 초과하였는데도 불구하고 모두 부호화한다면 결국 다음 계층에 허용된 비트 범위의 적어도 일부를 차용하는 셈이 되어 정작 다음 계층에 속하는 양자화 샘플들을 부호화할 수 없게 되는 일이 발생된다. 따라서, 비트율 조절 가능(scalable)하게 복호화할 경우, 즉 모든 계층을 복호화하지 못하고 보다 낮은 계층까지만 복호화한다면 소정 주파수 경계까지의 모든 양자화 샘플들이 모두 부호화되지 못했기 때문에 복호화된 양자화 샘플들은 주파수 경계 이하에서 오르락 내리락하는 모습을 띄게 된다. 이 때 음질이 열화되는 버디 효과(birdy effect)가 나타난다.
복호화 과정 또한 부호화와 마찬가지로 그 역과정을 수행하면서 허용하는 비트 범위에 따라 비트수를 카운트하기 때문에 소정 계층을 복호화해야 할 시점을 알아낼 수 있다.
한편, 스펙트럼 라인 상에서 msb에서 lsb방향으로 코딩하데 웨이블릿 변환을 위한 트리 구조의 마지막 노드에서 동일한 비트 플래인 상에 있는 데이터는 함께 부호화되어야 한다. 예를 들면, 어떤 마지막 노드에 다음과 같이 양자화 샘플들이 있을 때,
0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1
1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0
MDCT 기반에서는 다음같이 5 개의 4*4 비트 플레인으로 묶은 다음 각 비트 플레인에 대해 좌측에서부터 우측으로, 위에서 아래로 부호화하지만,
0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1
1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0
웨이블릿 기반에서는 전체를 하나의 비트 플레인으로 보고 최상위 비트들에서부터 최하위 비트들의 순서로, 낮은 주파수에서부터 높은 주파수의 순서로 N 비트 단위로 부호화한다. 위의 예를 보면, 최상위 비트들 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1을 N 비트 단위로 좌측에서부터 우측 끝까지 부호화한 다음, 다음 비트들 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0을 N 비트 단위로 좌측에서부터 우측 끝까지 부호화하고, 마지막으로 최하위 비트들 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0을 N 비트 단위로 부호화한다. 여기서, N은 1보다 크거나 같은 정수로서, 특히 N이 1 이면 바이너리 부호화가 수행된다. 본 발명은 산술 부호화하기 때문이다.
도 6은 본 발명의 일 실시예에 따른 부호화 과정을 보다 상세하게 설명하기 위한 참고도이다.
도 6을 참조하면, 부호화 장치는 주파수 영역의 신호로 변환된 샘플들 X1, X2, X3, X4,‥를 양자화하여 얻어진 양자화 샘플들 XQ1, XQ2, XQ3, XQ4,‥의 sign 값 S[XQ1], S[XQ2], S[XQ3], S[XQ4],‥을 따로 보관한 다음 양자화 샘플의 절대값을 취해서 모두 양의 값 ┃XQ1┃, ┃XQ2┃, ┃XQ3┃, ┃XQ4┃,‥으로 만든다.
일반적으로 하위 비트 쪽에 비해 상위 비트 쪽으로 갈수록 1 비트에 에러가 생겼을 때 발생되는 정보의 오류가 더 커지므로, 최상위 비트(MSB, Most Significant Bit)의 중요도는 최하위 비트(LSB, Least Significant Bit) 1 비트의 중요도에 비해 훨씬 높다는 것은 누구나 다 알고 있는 사실이다. 하지만, 기존의 방식으로 부호화를 할 경우, 이런 중요도에 관계없이 부호화가 되기 때문에 만약 전체 비트스트림 중 앞에서부터 일부의 비트스트림만을 사용해야 한다고 한다면 뒤 쪽에 사용되지 못하는 비트스트림에 포함된 정보에 비해 덜 중요한 정보들이 앞쪽의 비트스트림에 상당히 많이 포함되어 있게 된다. 따라서, 본 발명에서는 각 대역의 양자화된 샘플들의 절대값을 비트 단위로 나눈다. ┃XQ1┃가 5 비트이고 최상위 비트부터 최하위 비트까지 비트 단위로 나누면, XO1,5, XO1,4, XO1,3, XO1,2, XO1,1가 되고, ┃XQ2┃는 XO2,5, XO2,4, XO2,3, XO2,2, XO2,1가 되며, ┃XQ3┃은 XO3,5, XO3,4, XO3,3, XO3,2, XO3,1이 되고, ┃XQ4┃는 XO4,5, XO4,4, XO4,3, XO4,2, XO4,1이 된다.
다음으로, 그리고 최상위 비트들을 낮은 주파수부터 높은 주파수까지 순서대로 모은 다음 소정 단위로 잘라서 벡터들을 형성하고 이 벡터들을 부호화한다. 여기서, C[A1,‥,Ak]는 A1,‥,Ak로 구성된 벡터의 산술 부호화를 나타내고, k는 1보다 크거나 같은 정수를 의미한다. 산술 부호화는 비트 단위로 부호화가 가능하므로, 1 비트를 부호화하는데 소수점 자리까지 비트 할당을 할 수 있어(예: 0.001 비트를 할당할 수 있음) 적은 양으로도 많은 정보를 부호화할 수 있다. 즉, 부호화 효율이 매우 높다. 무손실 부호화의 다른 경우인 허프만 부호화는 심볼 당 적어도 1 비트가 필요하므로, 산술 부호화에 비해 부호화 효율이 떨어진다.
한편, sign 값은 양자화 샘플의 절대값보다 먼저 부호화하거나 나중에 부호화할 수 있다. 그런데, sign 값을 먼저 부호화하게 되면 덜 중요한 정보를 먼저 부호화하는 경우가 생길 수 있으므로, 본 실시예에서는 sign 값은 나중에 부호화한다. 왜냐하면, 최상위 비트에서부터 최하위 비트의 순서로 보았을 때 처음으로 1 이 나오기 전까지의 비트만이 부호화되는 경우 그 양자화 샘플은 0으로 간주되어 sign 값이 무의미하기 때문이다. 가령, 양자화 샘플이 5 비트의 2 진수 00011일 때, 5 비트 중 상위 3 비트만이 부호화되는 경우 복호화하면 00000으로 복원된다. 따라서, 이 값은 sign 값이 있다 해도 쓸모없는 정보가 된다. 하지만, 전 예에서 상위 4 비트까지 부호화된다면 그 양자화 샘플은 00010으로 간주되고 따라서 00010으로 복원되므로 sign 값은 중요한 의미를 가지게 된다. 따라서, 양자화 샘플들의 최상위 비트부터 부호화해가면서 처음으로 0이 아닌 1이 나오면 다른 값들을 부호화하기 이전에 해당 양자화 샘플이 양의 값을 갖는지 음의 값을 갖는지에 대한 정보, 즉 sign 값을 부호화한다. 최상위 비트들로 구성된 벡터 1010을 부호화한 다음 sign 값의 부호화가 필요한지 여부를 결정을 한다. 1010은 4 개의 양자화 샘플의 최상위 비트들의 모임이라고 보았을 때 첫번째 양자화 샘플과 세번째 양자화 샘플에서 0이 아닌 1이 처음으로 부호화가 되었음을 확인할 수 있다. 따라서, 첫번째 양자화 샘플의 sign 값과 세번째 양자화 샘플의 sign 값을 부호화한다. 다음으로, 두번째 상위 비트들의 모임을 부호화하고, 마찬가지로 처음으로 1이 나온 양자화 샘플의 sign 값을 부호화한다. 같은 방식으로 최하위 비트들까지 부호화한다.
이렇게 만들어진 비트스트림의 복호화 과정은 부호화 과정의 역순을 거치면 된다. 비트스트림을 구성하는 프레임의 헤더를 복호화한 다음, 기저 계층에 대한 부가 정보를 복호화한다. 보다 구체적으로, 먼저 기저 계층의 부가 정보 중 코딩 모델 정보와 스케일 팩터 정보를 복호화한다. 얻어진 코딩 모델 정보와 스케일 팩터 정보를 토대로 최상위 비트부터 그리고 낮은 주파수부터 높은 주파수의 순서대로, 부호화된 양자화 샘플들을 복호화한다.
예를 들어 설명하면 다음과 같다.
0 1 0 0
0 0 0 0
0 0 0 0
0 0 0 1
상기와 같은 비트 플레인에 있어서, 0은 1에 비해 그 발생 확률이 높기 때문에 1 보다 작은 값의 비트를 할당하여 부호화할 수 있다. 무손실 부호화의 다른 예인 허프만 부호화의 경우 0을 부호화하기 위해서는 적어도 1 비트가 소요된다. 이처럼, 산술 부호화를 사용하면 1보다 작은 값의 비트를 할당하여 부호화를 할 수 있어 최소한 1 비트 부호화, 즉 바이너리 부호화가 가능하므로 좀 더 세밀하게 계층 구조를 만들 수 있다.
산술 부호화를 위한 코딩 모델은 현재 부호화하고 있는 벡터의 상위 벡터와 현재 부호화하고 있는 벡터의 비트 중 이전 비트를 기초로 선택될 수 있다. 예를 들어, 다음과 같은 비트 플레인을 본 발명에 따라 산술 부호화하기 위해
0 1 1 0
0 0 1 1
0 1 0 1
1 0 0 0
비트 분할하고 최상위 비트들부터 최하위 비트들의 순서로 예를 들어 4 비트씩 묶으면 첫번째 벡터 0110, 두번째 벡터 0011, 세번째 벡터 0101 및 네번째 벡터 1000이 얻어진다. 산술 부호화를 이용하여 1 비트씩 부호화한다면 두번째 벡터의 세번째 비트인 1을 부호화하기 위한 코딩 모델은 상위 벡터인 첫번째 벡터 0110와, 현재 부호화하고 있는 벡터의 앞의 비트 00이 고려되어 선택된다. 코딩 모델을 선택한다는 것은 0이 발생될 확률을 선택하여 0/1을 산술 부호화하기 위한 정보로 사용함을 의미한다
비트율을 조정하기 위해서는, 즉 scalability를 적용할 경우 한 프레임에 해당하는 비트스트림을 각 계층에서 사용가능한 비트수를 고려하여 잘라줌으로써 적은 데이터만으로도 복호화할 수 있게 된다. 예를 들어, 최고 비트율이 96 kbps이고 대응하는 비트스트림의 크기가 2096 비트일 경우, 48 kbps에 해당하는 비트스트림만을 복호화하고자 할 때에는 비트스트림을 1048 비트만 취함으로써 48 kbps에 해당하는 복호화된 오디오 데이터를 얻을 수 있다.
상기한 구성을 기초로 본 발명에 따른 부호화 방법 및 복호화 방법을 설명하면 다음과 같다.
부호화 장치는 PCM 오디오 데이터를 읽어들여 메모리(도시되지 않음)에 저장하고, 저장된 PCM 오디오 데이터를 이용하여 심리음향모델을 거쳐 마스킹 문턱치와 부가 정보를 구한다. PCM 오디오 데이터는 시간 영역의 신호이므로 이를 주파수 영역의 신호로 웨이블릿 변환한다. 다음으로, 부호화 장치는 변환된 신호를 양자화 밴드 정보와 스케일 팩터 정보에 따라 양자화하여 양자화 샘플을 얻는다. 양자화 샘플을 전술한 바와 같이 비트 분할한 다음 N 비트 단위로 산술 부호화하여 계층 구조로 패킹한다(N은 1보다 크거나 같은 정수).
도 7은 본 발명의 다른 실시예에 따른 부호화 방법을 설명하기 위한 플로우챠트이다.
본 실시예에서 부호화 장치는 주어진 타겟 비트율과 부가 정보를 기초로 타겟 계층을 결정하고 각 계층에 해당하는 정보를 생성한다. 즉, 각 계층을 분할하는 기준이 되는 cut-off 주파수를 구하고, 각 계층에 해당하는 양자화 밴드 정보와 코딩 밴드 정보를 구하며, 부호화되어야 할 데이터를 고려하여 계층 당 부호화가능한 비트 범위를 할당한다.
도 7을 참조하면, 부호화 장치는 PCM 오디오 데이터를 웨이블릿 변환하고(701단계), 변환된 샘플이 속하는 코딩 밴드의 양자화 스텝 사이즈에 따라 양자화한다(702단계). 다음으로, 기반 계층에 해당하는(703단계) 스케일 팩터 정보와 arithmetic 코딩 모델 정보가 포함된 부가 정보를 부호화한다(704단계).
다음으로, 기반 계층에 해당하는 복수개의 양자화 샘플을 비트 분할하여 비트 플래인 상에 매핑하고 msb부터 lsb의 순서로, 낮은 주파수부터 높은 주파수의 순서로 N 비트 단위로 산술 부호화하면서(N은 1보다 크거나 같은 정수)(705단계) 부호화된 비트수를 카운트하여 카운트된 비트수가 해당 계층에서 사용가능한 비트 범위를 초과하면(706단계), 현재 계층의 부호화를 중지하고 다음 계층으로 넘어간다. 카운트된 비트수가 해당 계층에서 사용가능한 비트 범위 이하이면(706단계) 다음 계층에 대해 상기 704단계로 넘어간다. 707단계는 기반 계층의 경우에는 그 보다 낮은 하위 계층이 없으므로 수행되지 않으나, 이후 계층에 대해서는, 706단계의 카운트된 비트수가 해당 계층에서 사용가능한 비트 범위 이하이면 수행된다. 상기 과정을 거쳐서 타겟 계층까지 모두 부호화한다.
도 8은 본 발명의 일 실시예에 따른 복호화 방법을 설명하기 위한 플로우챠트이다.
도 8을 참조하면, 복호화 장치는 계층 구조로 부호화된 오디오 데이터로 구성된 비트스트림을 수신하여 프레임 별로 마련된 헤더 정보를 복호화한다. 다음으로, 첫번째 계층에 상응하는 스케일 팩터 정보 및 arithmetic 코딩 모델 정보를 포함하는 부가 정보를 복호화한 다음(801단계), arithmetic 코딩 모델 정보를 참조하여 최상위 비트부터 최하위 비트 순서로, 낮은 주파수에서부터 높은 주파수의 순서로 N 비트 단위로 산술 복호화하여 양자화 샘플을 얻는다(N은 1 보다 크거나 같은 정수)(802단계). 다음으로, 얻어진 양자화 샘플을 상기 스케일 팩터 정보를 참조하여 역양자화하고(803단계), 역양자화된 샘플을 웨이블릿 역변환한다(804단계). 미리 결정된 타겟 계층에 대한 복호화가 완료될 때까지 매 회 상기 계층 앞에 부가된 서수를 1 씩 증가시키면서 상기 801단계 내지 804단계를 반복 수행한다.
도 9는 본 발명의 다른 실시예에 따른 복호화 방법을 설명하기 위한 플로우챠트이다.
도 9를 참조하면, 본 실시예에서 복호화 장치는 계층 구조로 부호화된 오디오 데이터로 구성된 비트스트림을 수신하여 프레임 별로 마련된 헤더 정보로부터 각 계층에 해당하는 컷-오프 주파수를 복호화하고, 헤더 정보로부터 각 계층에 해당하는 양자화 밴드 정보와 코딩 밴드 정보를 복호화하여 알아낸 다음, 각 계층별로 사용가능한 비트 범위를 알아낸다.
다음으로, 복호화 장치는 기반 계층에 대한(901단계) 부가 정보를 복호화하고(902단계), 최상위 비트부터 최하위 비트의 순서로, 낮은 주파수에서부터 높은 주파수의 순서로 대응하는 계층이 허용하는 비트 범위 만큼 N 비트 단위로 산술 복호화하여 양자화된 샘플을 얻는다(N은 1보다 크거나 같은 정수)(903단계). 미리 결정된 타겟 계층까지, 계층을 하나씩 증가시키면서(905단계) 상기 902단계 및 903단계를 반복한다. 대안적으로, 복호화 장치는 컷-오프 주파수, 양자화 밴드 정보, 코딩 밴드 정보 및 각 계층에 할당된 비트 범위 중 적어도 하나는 수신된 비트스트림의 프레임마다 저장된 헤더 정보로부터 얻는 대신 미리 가지고 있을 수 있다.
전술한 바와 같이, 본 발명에 따르면, FGS(Fine Grain Scalability)를 제공하면서도 낮은 계층에서도 보다 양호한 음질을 제공할 수 있는 비트율 조절가능한 오디오 부호화 방법, 복호화 방법, 그 부호화 장치 및 복호화 장치가 제공된다. 다시 말해, 본 발명에 따르면 산술 부호화를 기반으로 적은 양의 데이터로도 보다 섬세한 FGS를 제공할 수 있는 한편 웨이블릿을 기반으로 주파수 분해능을 사람의 귀의 전달함수와 유사하게 구성하여 낮은 계층에서도 좋은 음질을 제공해준다.
도 1은 본 발명의 바람직한 실시예에 따른 부호화 장치의 블럭도,
도 2는 본 발명의 바람직한 실시예에 따른 복호화 장치의 블럭도,
도 3은 본 발명에 따라 비트율을 조절할 수 있도록 계층 구조로 부호화된 비트스트림을 구성하는 프레임의 구조도,
도 4는 부가 정보의 상세 구조도,
스케일 팩터 정보는 본 발명에 따른 부호화 방식을 설명하기 위한 참고도,
도 6은 본 발명의 일 실시예에 따른 부호화 과정을 보다 상세하게 설명하기 위한 참고도,
도 7은 본 발명의 다른 실시예에 따른 부호화 방법을 설명하기 위한 플로우챠트,
도 8은 본 발명의 일 실시예에 따른 복호화 방법을 설명하기 위한 플로우챠트,
도 9는 본 발명의 다른 실시예에 따른 복호화 방법을 설명하기 위한 플로우챠트이다.

Claims (20)

  1. 오디오 데이터를 비트율 조절이 가능하도록 부호화하는 방법에 있어서,
    (c) 첫번째 계층에 해당하는 스케일 팩터 정보 및 코딩 모델 정보를 포함하는 부가 정보를 부호화하는 단계;
    (f) 상기 첫번째 계층에 해당하는 복수개의 양자화 샘플을 상기 코딩 모델 정보를 참조하여 최상위 비트에서부터 최하위 비트들의 순서로, 낮은 주파수에서부터 높은 주파수의 순서로 N 비트 단위로 산술 부호화하는 단계; 및
    (g) 미리 결정된 복수개의 계층에 대한 부호화가 완료될 때까지 매 회 상기 계층 앞에 부가된 서수를 1 씩 증가시키면서 상기 (c)단계 내지 (g)단계를 반복 수행하는 단계를 포함하는 것을 특징으로 하는 부호화 방법(N은 1보다 크거나 같은 정수).
  2. (a) 복수개의 계층에 상응하도록 오디오 데이터를 분할하는 단계;
    (b) 상기 복수개의 계층에 각각 상응하는 스케일 밴드 정보 및 코딩 밴드 정보를 얻는 단계;
    (c) 첫번째 계층에 상응하는 스케일 밴드 정보 및 코딩 밴드 정보에 따른 스케일 팩터 정보 및 코딩 모델 정보를 포함하는 부가 정보를 부호화하는 단계;
    (d) 상기 첫번째 계층에 해당하는 오디오 데이터를 대응하는 스케일 팩터 정보를 참조하여 양자화하여 양자화 샘플을 얻는 단계;
    (f) 얻어진 복수개의 양자화 샘플을 상기 코딩 모델 정보를 참조하여 최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 부호화하는 단계; 및
    (g) 상기 복수개의 계층에 대한 부호화가 완료될 때까지 매 회 상기 계층 앞에 부가된 서수를 1 씩 증가시키면서 상기 (c)단계 내지 (f)단계를 반복하여 계층 구조를 갖도록 패킹하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  3. 제2항에 있어서,
    상기 (f)단계는
    얻어진 복수개의 양자화 샘플을 상기 코딩 모델 정보를 참조하여 최상위 비트들을 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 부호화하고, 다음 상위 비트들을 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 부호화하는 방식으로 최하위 비트들까지 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 부호화하는 단계임을 특징으로 하는 부호화 방법.
  4. 제2항에 있어서,
    상기 (f)단계 이전에
    (e) 상기 복수개의 계층에 대해 각각 사용가능한 비트 범위를 구하는 단계를 포함하고,
    상기 (f)단계는
    부호화된 비트 수를 카운트하여, 카운트된 비트 수가 대응하는 비트 범위를 초과하면 부호화를 중지하며, 할당된 양자화 샘플을 전부 부호화한 이후에도 카운트된 비트 수가 대응하는 비트 범위보다 작으면 하위 계층에서 부호화하지 못하고 남은 비트를 상기 비트 범위가 허용하는 만큼 부호화하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 (a)단계는
    (a1) 오디오 데이터를 웨이블릿 변환하는 단계; 및
    (a2) 웨이블릿 변환된 오디오 데이터를 컷-오프 주파수를 참조하여 상기 복수개의 계층에 상응하도록 분할하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 (c)단계는
    상기 스케일 팩터 정보와 코딩 모델 정보는 차분 부호화하는 단계를 포함하는 것을 특징으로 하는 부호화 방법.
  7. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 (f)단계는
    (f1) 복수개의 양자화 샘플을 비트 플래인 상에 매핑하는 단계; 및
    (f2) 최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 대응하는 계층이 허용하는 비트 범위만큼 부호화하는 단계를 포함하는 것을 특징으로 하는 부호화 방법(N은 1 보다 크거나 같은 정수).
  8. 계층 구조로 부호화된 오디오 데이터를 비트율 조절이 가능하도록 복호화하는 방법에 있어서,
    (a) 첫번째 계층에 상응하는 스케일 팩터 정보 및 코딩 모델 정보를 포함하는 부가 정보를 복호화하는 단계;
    (b) 상기 코딩 모델 정보를 참조하여 최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 복호화하여 양자화 샘플을 얻는 단계;
    (c) 얻어진 양자화 샘플을 상기 스케일 팩터 정보를 참조하여 역양자화하는 단계;
    (d) 역양자화된 샘플을 웨이블릿 역변환하는 단계; 및
    (e) 미리 결정된 계층까지 복호화가 완료될 때까지 매 회 상기 계층 앞에 부가된 서수를 1 씩 증가시키면서 상기 (a)단계 내지 (d)단계를 반복 수행하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  9. 제8항에 있어서,
    상기 (a)단계는
    상기 스케일 팩터 정보와 코딩 모델 정보는 차분 복호화하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  10. 제8항 또는 제9항에 있어서,
    상기 (b)단계는
    (b1) 최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 복호화하는 단계; 및
    (b2) 복호화된 비트들로로부터 양자화된 샘플을 얻는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  11. 제10항에 있어서,
    상기 (b1)단계는
    최상위 비트들을 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 부호화하고, 다음 상위 비트들을 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 부호화하는 방식으로 최하위 비트들까지 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 복호화하는 단계임을 특징으로 하는 복호화 방법.
  12. 계층 구조로 부호화된 오디오 데이터를 비트율 조절이 가능하도록 복호화하는 장치에 있어서,
    첫번째 계층에 상응하는 스케일 팩터 정보 및 코딩 모델 정보를 포함하는 부가 정보를 복호화하고, 상기 코딩 모델 정보를 참조하여 최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 복호화하여 양자화 샘플을 얻는 언패킹부:
    얻어진 양자화 샘플을 상기 스케일 팩터 정보를 참조하여 역양자화하는 역양자화부; 및
    역양자화된 샘플을 웨이블릿 역변환하는 역변환부를 포함하는 것을 특징으로 하는 복호화 장치.
  13. 제12항에 있어서,
    상기 언팩킹부는
    상기 스케일 팩터 정보와 코딩 모델 정보를 차분 복호화하는 것을 포함하는 것을 특징으로 하는 복호화 장치.
  14. 제12항 또는 제13항에 있어서,
    상기 언패킹부는
    최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 대응하는 계층이 허용하는 비트 범위만큼 복호화하고, 복호화된 비트 플래인으로부터 양자화된 샘플을 얻는 것을 특징으로 하는 복호화 장치(N은 1 보다 크거나 같은 정수).
  15. 제14항에 있어서,
    상기 언패킹부는
    최상위 비트들을 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 복호화하고, 다음 상위 비트들을 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 복호화하는 방식으로 최하위 비트들까지 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 복호화하는 것을 특징으로 하는 복호화 장치.
  16. 오디오 데이터를 비트율 조절이 가능하도록 부호화하는 장치에 있어서,
    상기 오디오 데이터를 웨이블릿 변환하는 변환부;
    각 계층에 해당하는, 웨이블릿 변환된 오디오 데이터를 상기 스케일 팩터 정보를 참조하여 양자화하여 양자화 샘플을 출력하는 양자화부; 및
    각 계층에 상응하는 스케일 팩터 정보 및 코딩 모델 정보를 포함하는 부가 정보를 부호화하고, 상기 양자화부로부터의 복수개의 양자화 샘플을 상기 코딩 모델 정보를 참조하여 최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 산술 부호화하는 패킹부를 포함하는 것을 특징으로 하는 부호화 장치(N은 1 보다 크거나 같은 정수).
  17. 제16항에 있어서,
    상기 패킹부는 복수개의 계층에 각각 상응하는 스케일 밴드 정보 및 코딩 밴드 정보를 얻어 각 계층에 상응하는 스케일 밴드 정보 및 코딩 밴드 정보에 따른 스케일 팩터 정보 및 코딩 모델 정보를 포함하는 부가 정보를 부호화하는 것을 특징으로 하는 부호화 장치.
  18. 제17항에 있어서,
    상기 패킹부는
    부호화된 비트 수를 카운트하여, 카운트된 비트 수가 각 계층에 허용되는 비트 범위를 초과하면 부호화를 중지하며, 할당된 양자화 샘플을 전부 부호화한 이후에도 카운트된 비트 수가 대응하는 비트 범위보다 작으면 하위 계층에서 부호화하지 못하고 남은 비트를 상기 비트 범위가 허용하는 만큼 부호화하는 것을 특징으로 하는 부호화 장치.
  19. 제16항 내지 제18항 중 어느 한 항에 있어서,
    상기 패킹부는 상기 스케일 팩터 정보 및 코딩 모델 정보를 차분 부호화하는 것을 특징으로 하는 부호화 장치.
  20. 제16항 내지 제18항 중 어느 한 항에 있어서,
    상기 패킹부는 복수개의 양자화 샘플을 비트 플래인 상에 매핑하고, 최상위 비트에서부터 최하위 비트의 순서로, 낮은 주파수에서 높은 주파수의 순서로 N 비트 단위로 대응하는 계층이 허용하는 비트 범위만큼 산술 부호화하는 것을 특징으로 하는 부호화 장치.
KR10-2003-0000050A 2003-01-02 2003-01-02 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치 KR100528327B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2003-0000050A KR100528327B1 (ko) 2003-01-02 2003-01-02 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치
CNB031650376A CN100555413C (zh) 2003-01-02 2003-09-17 可伸缩地编解码音频数据的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0000050A KR100528327B1 (ko) 2003-01-02 2003-01-02 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치

Publications (2)

Publication Number Publication Date
KR20040062261A KR20040062261A (ko) 2004-07-07
KR100528327B1 true KR100528327B1 (ko) 2005-11-15

Family

ID=34805966

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0000050A KR100528327B1 (ko) 2003-01-02 2003-01-02 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치

Country Status (2)

Country Link
KR (1) KR100528327B1 (ko)
CN (1) CN100555413C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100912828B1 (ko) * 2007-08-16 2009-08-18 한국전자통신연구원 G.711 코덱의 음질 향상을 위한 향상 계층 부호화 및 복호화 장치와 그 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100813259B1 (ko) * 2005-07-13 2008-03-13 삼성전자주식회사 입력신호의 계층적 부호화/복호화 장치 및 방법
CN101283402B (zh) * 2005-10-05 2012-05-16 Lg电子株式会社 信号处理的方法和装置以及编码和解码方法及其装置
KR100793287B1 (ko) * 2006-01-26 2008-01-10 주식회사 코아로직 비트율 조절이 가능한 오디오 복호화 장치 및 그 방법
KR100827458B1 (ko) * 2006-07-21 2008-05-06 엘지전자 주식회사 오디오 부호화 방법
US8577687B2 (en) * 2007-07-06 2013-11-05 France Telecom Hierarchical coding of digital audio signals
MX351750B (es) 2010-10-25 2017-09-29 Voiceage Corp Codificación de señales de audio genéricas a baja tasa de bits y a retardo bajo.

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100912828B1 (ko) * 2007-08-16 2009-08-18 한국전자통신연구원 G.711 코덱의 음질 향상을 위한 향상 계층 부호화 및 복호화 장치와 그 방법
KR100912827B1 (ko) * 2007-08-16 2009-08-18 한국전자통신연구원 G.711 코덱의 음질 향상을 위한 향상 계층 부호화 및 복호화 장치와 그 방법
KR100912826B1 (ko) * 2007-08-16 2009-08-18 한국전자통신연구원 G.711 코덱의 음질 향상을 위한 향상 계층 부호화 및복호화 장치와 그 방법

Also Published As

Publication number Publication date
KR20040062261A (ko) 2004-07-07
CN100555413C (zh) 2009-10-28
CN1527282A (zh) 2004-09-08

Similar Documents

Publication Publication Date Title
US6148288A (en) Scalable audio coding/decoding method and apparatus
KR100908117B1 (ko) 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치
JP3412081B2 (ja) ビット率の調節可能なオーディオ符号化/復号化方法及びその装置及びその方法を記録した記録媒体
KR100917464B1 (ko) 대역 확장 기법을 이용한 디지털 데이터의 부호화 방법,그 장치, 복호화 방법 및 그 장치
RU2197776C2 (ru) Способ и устройство масштабируемого кодирования-декодирования стереофонического звукового сигнала (варианты)
EP0869622A2 (en) Scalable audio coding/decoding method and apparatus
WO1995002925A1 (fr) Procede et dispositif de codage a haute efficacite, procede et dispositif de decodage a haute efficacite, systeme de codage/decodage et support d'enregistrement a haute efficacite
JP3964860B2 (ja) ステレオオーディオの符号化方法、ステレオオーディオ符号化装置、ステレオオーディオの復号化方法、ステレオオーディオ復号化装置及びコンピュータで読み取り可能な記録媒体
KR101015497B1 (ko) 디지털 데이터의 부호화/복호화 방법 및 장치
JP3353868B2 (ja) 音響信号変換符号化方法および復号化方法
KR100528327B1 (ko) 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치
KR100923301B1 (ko) 대역 확장 기법을 이용한 오디오 데이터의 부호화 방법,그 장치, 복호화 방법 및 그 장치
KR100923300B1 (ko) 대역 확장 기법을 이용한 오디오 데이터의 부호화 방법,그 장치, 복호화 방법 및 그 장치
KR100908116B1 (ko) 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치
JP4534112B2 (ja) 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20121030

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee