KR101122573B1 - 인코딩 및 디코딩 장치 - Google Patents

인코딩 및 디코딩 장치 Download PDF

Info

Publication number
KR101122573B1
KR101122573B1 KR1020097011487A KR20097011487A KR101122573B1 KR 101122573 B1 KR101122573 B1 KR 101122573B1 KR 1020097011487 A KR1020097011487 A KR 1020097011487A KR 20097011487 A KR20097011487 A KR 20097011487A KR 101122573 B1 KR101122573 B1 KR 101122573B1
Authority
KR
South Korea
Prior art keywords
sequence
sample
encoding
decoding
coding
Prior art date
Application number
KR1020097011487A
Other languages
English (en)
Other versions
KR20090087902A (ko
Inventor
틸로 비크
디터 베닝거
유에르겐 헤레
Original Assignee
프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 filed Critical 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우
Publication of KR20090087902A publication Critical patent/KR20090087902A/ko
Application granted granted Critical
Publication of KR101122573B1 publication Critical patent/KR101122573B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

오디오신호의 샘플 시퀀스를 인코딩하는 장치(100)로서, 시퀀스 내의 각 샘플은 원래위치를 갖는다. 본 발명의 장치(100)는 샘플들의 분류된 시퀀스를 얻기 위하여 샘플의 크기에 따라 샘플을 분류하는 수단(110)(여기서 각 샘플에는 분류된 시퀀스 내의 분류위치를 포함하고 있음); 및 상기 분류된 샘플 및 상기 샘플들의 상기 원래위치 및 분류위치 사이의 관계에 대한 정보를 인코딩하는 수단(120)을 포함한다.
오디오신호, 샘플 시퀀스, 인코딩 장치, 디코딩 장치, 프로그램 코드

Description

인코딩 및 디코딩 장치{Apparatus for encoding and decoding}
본 발명은 정보신호(예컨대, 오디오코딩, 영상코딩 등)를 인코딩하고 디코딩하는 장치 및 방법에 관한 것이다.
정보신호의 인코딩 및 디코딩에 있어서, 이른바 손실성 코딩방식이 종래기술로서 공지되어 있다. 예를 들어서, 변환형 코딩방식인 MPEG 1/2 레이어3(MPEG=moving picture expert group, MP3)이나 진보된 오디오코딩(Advanced Audio Coding: AAC)이 이미 존재하고 있다. 이러한 방식들은, 인식가능한 신호 성분을 인식불능한 신호 성분과 구별할 수 있는 시간-주파수 변환 및 음향심리학적 모델에 기반한 것이다. 이러한 방식에 의해서 주파수 영역에서의 데이터에 대한 후속 양자화를 확실히 제어할 수 있다.
그러나, 예컨대, 신호 인코딩을 위해서 작은 양의 데이터만이 필요하여 낮은 총 비트 레이트(bit rate)를 갖게 된다면, 그 결과로 성긴(rough) 양자화가 된다. 즉, 양자화에 의해서 명확하게 인식할 수 있는 코딩 결과물이 생성된다.
또한, 필립스 파라미터코딩 HILN (Harmonic and Individual Lines and Noise) 등과 같은 파라미터코딩 방식(parametric coding method)이 종래에 공지되어 있다. 이 방식은 디코더측에서 원래 신호를 합성하는 것이다. 이에 따라, 원래 의 음향특성의 열화가, 낮은 비트 레이트에서 가속된다. 즉, 이러한 코딩방식에 의하면 원래의 신호로부터의 인식가능한 차이가 발생할 수 있다.
원리적 측면에서, 무손실 코딩 분야에 있어서는 두 가지 접근방식이 있다. 첫째 방식은 시간 신호를 예측하는 것이다. 예측기의 에러는 엔트로피 코딩되고, 예컨대 SHORTEN(Simple lossless and near lossless waveform compression)(참고: Tony Robinson, CUED/F-INFENG/TR.156, Cambridge University Engineering Department, 1994.12.) 또는 AudioPaK(참고: Mat Hans, Ronald W. Schafer: Lossless Compression of Digital Audio, IEEE Signal Processing Magazine, 2001.7.)에 저장 및/또는 전송된다.
두 번째 방식에서는, 그 첫 번째 처리단계로서, 전개된 스펙트럼의 후속 손실성 코딩에 의한 시간-주파수 변환을 이용한다. 또한, 신호의 무손실 코딩을 보장하기 위하여, 역변환시에 발생하는 에러에 대해서 엔트로피 코딩할 수 있다. 무손실 코딩의 예는 다음과 같다: LTAC (Lossless Transform Audio Compression, cf. Tilman Liebchen, Marcus Purat, Peter Noll: Lossless Transform Coding of Audio Signals, 102nd AES Convention, 1997) 및 MPEG-4 SLS (Scalable Lossless Coding, cf. Ralf Geiger, et. al.: ISO/IEC MPEG-4 High-Definition Scalable Advanced Audio Coding, 120th AES Convention, 2006.5.)
또한, 데이터 감축(reduction)에 대해 두 가지 기본적인 방식이 있다. 첫째는 잉여부분 감축(redundancy reduction)에 관한 것이다. 여기서는 신호의 근간을 이루는 알파벳의 불균일한 확률분포를 이용한다. 예를 들어, 상대적으로 높은 출현확률을 갖는 심볼은 더 낮은 출현확률의 심볼에 비해서 더 적은 비트수로 표시된다. 이러한 원리는 주로 엔트로피 코딩이라고 언급된다. 이 방식의 경우, 인코딩/디코딩 처리에 있어서 데이터가 손실되지 않는다. 따라서 데이터의 완전한(무손실) 재생이 가능해진다. 두 번째는 무관한 부분 감축(irrelevance reduction)에 관한 것이다. 이러한 유형의 데이터 감축에 있어서는, 사용자에게 무관한 정보를 선택적으로 제거한다. 인체 감각의 자연적 인지한계 모델링(Models of natural perceptual limitations of the human senses)이 이에 자주 이용된다. 오디오코딩의 경우에, 입력신호에 대한 음향심리학을 인지(perception) 모델에 고려하는데, 이는 주파수 영역에서의 데이터 양자화를 조절하는 것이다(참조: E. Zwicker: Psychoakustik, Springer-Verlag, 1982). 데이터가 선택적으로 인코딩/디코딩 처리시에 제거되기 때문에, 데이터의 완전한 재생은 가능하지 않다. 따라서 이 방식은 손실성 데이터 감축방식이 된다.
통상의 변환형 오디오코딩 방식에서, 입력데이터는 시간영역에서 주파수영역으로 변환되고, 음향심리학적 모델을 이용하여 양자화된다. 이상적으로 볼 때, 이러한 양자화는 청취자가 인지하지 못할 만큼의 양자화 노이즈를 신호에 줌으로써, 비트 레이트가 낮을 때에는 충실히 수행되지 못한다. 그러나 명확하게 들을 수 있는 코딩 결과물을 얻을 수 있다. 또한, 작은 목적 비트 레이트에서, 선행하는 저역필터링에 의해 다운샘플링할 필요가 있기 때문에, 원래 신호의 고주파수 성분의 전송이 더 이상 쉽게 이루어지지 않는다. 이러한 처리단계에서는 많은 계산 전력이 요구되고 신호 품질상의 한계가 수반된다.
따라서, 본 발명의 목적은 정보신호의 인코딩과 디코딩에 대한 새로운 개념을 제공하는 것이다.
상기 목적은 청구항 22, 43, 61 중 어느 한 항에 따른 인코딩 장치와, 청구항 33, 53, 66 중 어느 한 항에 따른 디코딩 장치와, 청구항 31, 51, 64 중 어느 한 항에 따른 인코딩 방법과, 청구항 41, 59, 69 중 어느 한 항에 따른 디코딩 방법에 의해 달성된다.
본 발명은, 정보신호를 먼저 분류(sorting)한 이후에는 작은 노력으로도 인코딩할 수 있다는 발견에 근거한 것이다. 정보신호 또는 오디오신호에는 샘플 시퀀스가 포함된다고 가정할 수 있는데, 여기서 샘플들은 시간 또는 주파수 신호(즉, 샘플링된 스펙트럼이 될 수도 있음)로부터 기원한다. 따라서 샘플이라는 용어에 대해서는 제한이 없는 것으로 간주한다. 따라서, 본 발명의 실시예에 있어서, 기본 처리 단계에서는 입력신호를 그 진폭에 따라 분류(sorting)하는데, 이 단계 역시 전처리 단계를 실행한 다음에 수행할 수도 있다. 전처리 단계에서는, 시간/주파수 변환, 예측 또는 멀티채널 잉여부분 감축(redundancy reduction)(멀티채널 신호의 경우) 또는 탈 상관관계 처리(decorrelation)가 오디오신호에 대해서 이루어질 수 있다. 또한, 이 전처리 단계 이전에, 신호를 정의된 시간 구간(이른바 프레임)으로 분할하는 단계를 수행할 수도 있다. 또한, 이러한 시간 구간을 다시 서브프레임으로 분할하여 개별적으로 분류처리할 수도 있다.
실시예에 있어서, 분류 단계를 거치게 되면, 한편으로는 분류된 데이터가, 다른 한편으로는 역분류 규칙(reverse sorting rule)이 있게 된다. 역분류 규칙은 원래 입력값의 인덱스들의 치환데이터(permutation)로서 존재한다. 그 다음에 두 가지 데이터 집합이 가능한 한 효율적으로 코딩된다. 이 목적을 위한 실시예로서 몇 가지 방안이 가능하다. 일례로서, 예측필터 출력신호와 입력신호 사이의 차이로서의 잔여신호(residual signal)에 대해 후속 엔트로피 코딩(entropy coding)을 이용하여 예측하는 방안, 즉, 예측필터에 대한 예측 계수(prediction coefficients)를 결정하고 잔여신호를 결정하는 방안을 들 수 있다.
다른 실시예로서, 잔여신호의 후속 엔트로피 코딩을 이용하여 적절한 함수 및 함수 계수를 갖는 곡선맞춤이 실행된다. 또 다른 실시예에서는, 손실성 코딩이 이루어질 수 있으며, 따라서 잔여신호에 대한 코딩은 생략할 수도 있다.
실시예에 따르면, 예컨대 "Donald E. Knuth: The Art of Computer Programming, Volume 3. Sorting and Searching, Addison-Wesley, 1998"에 소개되어 있는 반전 챠트(inversion chart)를 이용하여, 반전 챠트를 구성하고 후속 엔트로피 코딩을 실행함으로써 치환데이터 코딩을 수행할 수 있다.
다른 실시예에서는, 치환데이터의 예측 및 잔여신호에 대한 후속 엔트로피 코딩뿐만 아니라, 반전 챠트의 예측 및 잔여신호에 대한 후속 엔트로피 코딩이 수행될 수 있다. 잔여신호를 생략하여 손실 코딩을 수행하는 실시예도 역시 가능하다. 다른 방안으로서, 치환데이터에 대한 번호부여(numbering)를 수행할 수도 있다(참조: A. A. Babaev: Procedures of encoding and decoding of permutations, Kibernetika, No. 6, 1984, pp. 77-82). 또한, 실시예로서, 후속 번호부여 방법들을 조합하여 선택하는 것도 가능하다.
본 발명의 바람직한 실시예를 아래 도면을 참조하여 보다 자세하게 설명한다.
도 1a는 인코딩장치의 일실시예를 나타낸 도면.
도 1b는 디코딩장치의 일실시예를 나타낸 도면.
도 2a는 인코딩장치의 일실시예를 나타낸 도면.
도 2b는 디코딩장치의 일실시예를 나타낸 도면.
도 3a는 인코딩장치의 일실시예를 나타낸 도면.
도 3b는 디코딩장치의 일실시예를 나타낸 도면.
도 4a는 인코딩장치의 일실시예를 나타낸 도면.
도 4b는 디코딩장치의 일실시예를 나타낸 도면.
도 5a 및 도 5b는 오디오신호, 치환 데이터, 반전 챠트의 일례를 나타낸 도면.
도 6은 인코더의 일실시예를 나타낸 도면.
도 7은 디코더의 일실시예를 나타낸 도면.
도 8은 인코더의 다른 실시예를 나타낸 도면.
도 9는 디코더의 다른 실시예를 나타낸 도면.
도 10은 오디오신호의 근사치에 의한 주파수 스펙트럼의 예시도.
도 11은 분류된 주파수 스펙트럼 및 오디오신호에 대한 그 근사치의 예시도.
도 12는 분류된 차등코딩된 신호와 그 잔여신호의 예시도.
삭제
도 13은 분류된 시간 신호의 예시도.
도 14는 분류된 시간값 및 관련 곡선맞춤의 예시도.
도 15는 차등코딩 및 곡선맞춤의 코딩 효율의 비교도.
도 16은 최대 무손실 오디오압축 알고리즘 처리단계의 예시도.
도 17은 예측 코딩 구성의 일실시예도.
도 18은 예측 코딩의 재생 구성의 일실시예도.
도 19는 예측 필터의 초기값의 일실시예도.
도 20은 예측 모델의 일실시예도.
도 21은 LTAC 인코더의 구성도.
도 22는 MPEG-4 SLS 인코더의 구성도.
도 23은 각 채널의 탈 상관관계 이후의 스테레오 잉여부분 감축을 나타낸 도면.
도 24는 각 채널의 탈 상관관계 이전의 스테레오 잉여부분 감축을 나타낸 도면.
도 25는 예측기 차수 및 전체 비트 소비량 사이의 관계도.
도 26은 양자 파라미터 g 및 전체 비트 소비량 사이의 관계도.
도 27은 p차 함수로서의 고정형 예측기의 진폭 주파수 곡선을 설명하기 위한 도면.
도 28은 치환 데이터 길이, 전이수(transposition), 코드화가능성(codability measure) 사이의 관계도.
도 29a 내지 도 29h는 노이즈성 음향물의 10번째 블록(프레임)에서의 반전 챠트들.
도 30a 내지 도 30h는 음악적 음향물의 20번째 블록(프레임)에서의 반전 챠트들.
도 31a 및 도 31b는 10번째 블록에서의 노이즈성 음향물 및 음악적 음향물의 치환 데이터(시간값을 분류하여 전개됨) 도해.
도 32a는 오디오신호, 그에 상응하는 치환데이터 및 반전 챠트 LS를 나타낸 도면이고, 도 32b는 치환데이터 및 반전 챠트 LS의 확대도.
도 33a는 오디오신호, 그에 상응하는 치환데이터 및 반전 챠트 LS를 나타낸 도면이고, 도 33b는 치환데이터 및 반전 챠트 LS의 확대도.
도 34는 반전 챠트 LB의 예측(고정 예측기)을 통하여 전개되는 잔여신호의 확률분포도(윗 그림) 및 코드워드의 길이(아래 그림)를 나타낸 도면.
도 35a는 분류된 시간값의 차등코딩에 의해 전개되는 잔여신호의 확률분포도이고, 도 35b는 코드워드의 길이(아래)를 나타낸 도면.
도 36은 파라미터에 대한 부차 정보를 포함하는 부분의 고정형 예측기의 잔여신호를 통한 가장 작은 양의 전방 적응형(forward adaptive) 라이스코딩(Rice coding) 데이터에 대한 서브블록 분해의 백분율 그래프로서, 전체 블록 길이는 1024 시간값임.
도 37은 파라미터에 대한 부차 정보를 포함하는 부분의 고정형 예측기의 잔 여신호를 통한 가장 작은 양의 전방 적응형 골롬코딩(Golomb coding) 데이터에 대한 서브블록 분해의 백분율 그래프로서, 전체 블록 길이는 1024 시간값임.
도 38은 히스토리 버퍼의 동작을 설명하기 위한 도면.
도 39a 및 도 39b는 전체 블록에 대한 최적 파라미터와 비교한 적응(adaptation)의 작용을 설명하기 위한 도면들.
도 40은 후방 적응형 라이스코딩을 이용하는 전방 적응형 산술코딩의 일실시예를 나타낸 도면.
도 41은 압축률 F에 대한 블록 크기의 영향을 설명한 도면.
도 42는 무손실 MS 코딩을 설명하기 위한 도면.
도 43은 무손실 MS 코딩을 설명하기 위한 다른 도면.
도 44는 스테레오 잉여부분 감축을 위한 최선의 방안 선정에 대해 설명한 도면
이하의 설명에 있어서, 동일하거나 유사하게 동작하는 구성요소들에 대해서는 다른 실시예에서도 동일한 참조번호를 부여하였다. 따라서 이러한 구성요소에 대한 기재사항은 이하에서 설명하는 다양한 실시예들간에 서로 공통으로 적용된다. 또한, 원칙적으로, 이하의 실시예 설명에서는, 신호의 개별값들을 "샘플"이라는 용어로 표현하고 있다. 시간 신호, 스펙트럼, 포괄적 정보신호 등을 샘플링하여 샘플을 도출할 수 있는 것이 때문에, 이 "샘플"이라는 용어에 대해서는 제한이 없는 것으로 간주한다.
도 1a는 오디오신호 샘플 시퀀스를 인코딩하는 장치(100)를 보여주는데, 시퀀스 내의 각 샘플은 "원래위치"를 갖고 있다. 인코딩장치(100)에는 샘플들을 그 사이즈에 따라 분류하여(예를 들어 시간/주파수 변환, 예측 등의 처리 이후에) 분류된 샘플 시퀀스를 생성하는 분류수단(110) (여기서 각 샘플은 분류된 시퀀스 내에 "분류위치"를 갖고 있음)이 포함된다. 또한, 인코딩장치(100)에는, 분류된 샘플 및 샘플의 원래위치와 분류위치 사이의 관계에 대한 정보를 인코딩하는 수단(120)이 포함된다.
또한, 인코딩장치(100)에는 필터링, 시간/주파수 변환, 예측, 또는 샘플 시퀀스 생성을 위한 멀티채널 잉여부분 감축을 수행하는 전처리 수단이 추가로 포함될 수 있다. 실시예로서, 상기 인코딩 수단(120)은 원래위치와 분류위치 사이의 관련성을 통해서 인덱스 치환 데이터로서 정보를 인코딩하도록 구성할 수 있다. 옵션으로서, 상기 인코딩 수단(120)은 원래위치와 분류위치 사이의 관련성을 통해서 반전 챠트로서 정보를 인코딩하도록 구성할 수 있다. 또한, 상기 인코딩 수단(120)은 분류된 샘플 또는 상기 원래위치와 분류위치 사이의 관계에 대한 정보를, 차등코딩 및 후속 엔트로피 코딩방식을 함께 또는 엔트로피 코딩방식만으로 인코딩하도록 구성할 수 있다.
다른 실시예로서, 인코딩 수단(120)은 분류된 샘플, 치환데이터 또는 반전 챠트에 기반한 예측필터의 계수(coefficient)를 결정하고 인코딩할 수 있다. 또한, 샘플들과 예측필터 출력 신호 사이의 차이에 해당하는 잔여신호(residual signal)를 인코딩하여 무손실 코딩을 가능케 할 수 있다. 여기서 잔여신호는 엔트로피 코딩으로 코드화될 수 있다. 다른 실시예에서, 인코딩장치(100)에는 분류된 시퀀스의 적어도 한 부분영역에 적응하기 위해 함수의 함수 계수(functional coefficients)를 조절하는 수단이 포함될 수 있고, 인코딩 수단(120)은 상기 함수 계수를 인코딩하도록 구성할 수 있다.
도 1b는 오디오신호 샘플 시퀀스를 디코딩하는 장치(150)의 실시예를 나타낸다. 여기서 시퀀스 내의 각 샘플은 원래위치를 갖고 있다. 이 디코딩장치(150)는 인코딩된 샘플 시퀀스를 수신하는 수단(160)을 포함한다. 여기서 인코딩된 샘플 시퀀스 내의 각 인코딩된 샘플은 분류위치를 갖고 있다. 이 수신수단(160)은 샘플의 상기 원래위치와 분류위치 사이의 관계에 대한 정보를 수신하도록 구성된다. 또한, 이 디코딩장치(150)는 샘플 및 상기 원래위치와 분류위치 사이의 관계에 대한 정보를 디코딩하는 수단(170)과, 상기 원래위치와 분류위치 사이의 관계에 대한 정보에 근거한 샘플을 재분류하여 각 샘플로 하여금 원래위치를 갖도록 하는 재분류수단(180)을 추가로 포함한다.
실시예로서, 상기 수신수단(160)은 상기 원래위치와 분류위치 사이의 관계에 대한 정보를 인덱스 치환 데이터로서 수신하도록 구성할 수 있다. 또한, 상기 수신수단(160)은 상기 원래위치와 분류위치 사이의 관계에 대한 정보를 반전 챠트로서 수신하도록 구성할 수 있다. 실시예로서, 상기 디코딩 수단(170)은 인코딩된 샘플 또는 상기 원래위치와 분류위치 사이의 관계에 대한 정보를, 엔트로피 디코딩 및 후속 차등디코딩방식을 함께, 또는 엔트로피 디코딩방식만으로써 디코딩하도록 구성할 수 있다. 상기 수신수단(160)은 예측필터의 인코딩된 계수를 옵션으로서 수신 할 수 있으며, 상기 디코딩 수단(170)은 인코딩된 계수를 디코딩하도록 구성할 수 있다. 여기서, 본 디코딩장치(150)는 상기 계수를 이용하여 샘플 또는 상기 원래위치와 분류위치 사이의 관련성을 예측하는 수단을 추가로 포함할 수 있다.
다른 실시예로서, 상기 수신수단(160)은 샘플과 예측필터 출력 사이의 차이에 해당되는 잔여신호도 수신하도록 구성할 수 있다. 그리고 상기 디코딩 수단(170)은 상기 잔여신호를 이용하여 샘플이 적응(adapt)되도록 구성할 수 있다. 옵션으로서, 상기 디코딩 수단(170)은 엔트로피 디코딩방식으로 잔여신호를 디코딩할 수 있다. 또한, 상기 수신수단(160)은 함수의 함수 계수를 추가로 수신할 수 있으며, 또한, 상기 디코딩장치(150)는 분류된 시퀀스의 적어도 하나의 부분 영역에 함수를 적용하는 수단을 추가로 포함할 수 있다. 그리고 상기 디코딩 수단(170)은 상기 함수 계수를 디코딩하도록 구성할 수 있다.
도 2a는 정보신호 샘플 시퀀스를 인코딩하는 장치(200)를 보여주는데, 시퀀스 내의 각 샘플은 원래위치를 갖고 있다. 인코딩장치(200)에는 샘플들을 그 사이즈에 따라 분류하여 분류된 샘플 시퀀스를 생성하는 분류수단(210)이 포함된다(여기서 각 샘플은 분류된 시퀀스 내에 분류위치를 갖고 있음). 또한, 인코딩장치(200)에는, 분류된 시퀀스의 적어도 일부분 영역에 함수의 함수 계수를 적용하기 위한 조절수단(220)이 추가로 포함된다. 그리고 상기 일부분 영역 이외의 샘플 및 이들 샘플의 원래위치와 분류위치 사이의 관계에 대한 정보를 인코딩하는 수단(230)이 포함된다.
또한, 인코딩장치(200)에는 필터링, 시간/주파수 변환, 예측, 또는 샘플 시 퀀스 생성을 위한 멀티채널 잉여부분 감축을 수행하는 전처리 수단이 추가로 포함될 수 있다. 실시예로서, 상기 정보신호는 오디오신호가 될 수 있다. 상기 인코딩 수단(230)은 원래위치와 분류위치 사이의 관련성을 통해서 인덱스 치환 데이터로서 정보를 인코딩하도록 구성할 수 있다. 또한, 상기 인코딩 수단(230)은 원래위치와 분류위치 사이의 관련성을 통해서 반전 챠트로서 정보를 인코딩하도록 구성할 수 있다. 옵션으로서, 상기 인코딩 수단(220)은 분류된 샘플과, 상기 원래위치와 분류위치 사이의 관계에 대한 정보를, 차등코딩 및 후속 엔트로피 코딩을 함께, 또는 엔트로피 코딩만으로 인코딩하도록 구성할 수 있다. 또한, 인코딩 수단(230)은 상기 샘플, 치환데이터, 또는 반전 챠트에 근거하여 예측 필터의 계수를 결정하고 인코딩하도록 구성할 수 있다.
다른 실시예로서, 상기 인코딩 수단(230)은 샘플들과 예측필터 출력 신호 사이의 차이에 해당하는 잔여신호를 인코딩하도록 구성할 수 있다. 또한, 상기 인코딩 수단(230)은 엔트로피 코딩으로 상기 잔여신호를 인코딩하도록 적용될 수 있다.
도 2b는 정보신호 샘플 시퀀스를 디코딩하는 장치(250)의 실시예를 나타낸다. 여기서 시퀀스 내의 각 샘플은 원래위치를 갖고 있다.
이 디코딩장치(250)는 인코딩된 함수 계수, 분류된 샘플, 그리고 샘플의 원래위치와 분류위치 사이의 관계에 대한 정보를 수신하는 수단(260)을 포함한다. 또한, 이 디코딩장치(250)는 샘플을 디코딩하는 수단(270)과, 시퀀스의 적어도 일부분 영역에서의 함수 계수에 근거하여 샘플을 근사화하는 수단(280)을 추가로 포함한다. 또한, 디코딩장치(250)는 상기 원래위치와 분류위치 사이의 관계에 대한 정보에 근거하여 디코딩된 샘플 및 근사화된 샘플을 재분류하여 각 샘플로 하여금 원래위치를 갖도록 하는 재분류수단(290)을 추가로 포함한다.
실시예로서, 상기 정보신호에는 오디오신호가 포함될 수 있다. 상기 수신수단(260)은 상기 원래위치와 분류위치 사이의 관계에 대한 정보를 인덱스 치환 데이터로서 수신하도록 구성할 수 있다. 또한, 상기 수신수단(260)은 상기 원래위치와 분류위치 사이의 관계에 대한 정보를 반전 챠트로서 수신하도록 구성할 수 있다. 옵션으로서, 상기 디코딩 수단(270)은 인코딩된 샘플 또는 상기 원래위치와 분류위치 사이의 관계에 대한 정보를, 엔트로피 디코딩 및 후속 차등디코딩을 함께, 또는 엔트로피 디코딩만으로써 디코딩하도록 구성할 수 있다. 상기 수신수단(260)은 추가적으로 예측필터의 인코딩된 계수를 수신할 수 있으며, 상기 디코딩 수단(270)은 인코딩된 계수를 디코딩하도록 구성할 수 있는데, 여기서, 본 디코딩장치(250)는 상기 계수를 이용하여 샘플을 예측하는 수단을 추가로 포함할 수 있다.
다른 실시예로서, 상기 수신수단(260)은 샘플들 및 예측필터 또는 근사화 수단(280)의 출력신호 사이의 차이에 해당되는 잔여신호도 수신하도록 구성할 수 있다. 그리고 상기 디코딩 수단(270)은 상기 잔여신호를 이용하여 샘플이 적응(adapt)되도록 구성할 수 있다. 옵션으로서, 상기 디코딩 수단(270)은 엔트로피 디코딩방식으로 잔여신호를 디코딩할 수 있다.
도 3a는 정보신호 샘플 시퀀스를 인코딩하는 장치(300)를 보여주는데, 시퀀스 내의 각 샘플은 원래위치를 갖고 있다. 인코딩장치(300)에는 샘플들을 그 사이즈에 따라 분류하여 분류된 샘플 시퀀스를 생성하는 분류수단(310)이 포함된다(여기서 각 샘플은 분류된 시퀀스 내에 분류위치를 갖고 있음). 또한, 인코딩장치(300)에는, 샘플들의 원래위치와 분류위치 사이의 관련성에 따른 수열을 생성하고 이 수열에 근거하여 예측필터의 계수를 결정하는 수단(320)이 추가로 포함된다. 또한, 인코딩장치(300)에는 분류된 샘플 및 계수를 인코딩하는 수단(330)이 추가로 포함된다.
또한, 인코딩장치(300)에는 필터링, 시간/주파수 변환, 예측, 또는 샘플 시퀀스 생성을 위한 멀티채널 잉여부분 감축을 수행하는 전처리 수단이 추가로 포함될 수 있다. 실시예로서, 상기 정보신호에는 오디오신호가 포함될 수 있다. 상기 수열를 생성하는 수단(320)은 인덱스 치환 데이터를 생성하도록 구성될 수 있다. 옵션으로서, 이 생성수단(320)은 반전 챠트를 생성할 수도 있다. 이 생성수단(320)은 상기 수열 및 계수에 근거하여 예측된 예측치들 사이의 차이에 해당하는 잔여신호를 추가로 생성하도록 구성될 수 있다. 인코딩 수단(330)은 차등코딩 및 후속 엔트로피 코딩을 함께, 또는 엔트로피 코딩만으로써 분류된 샘플을 인코드하기 위해 적용될 수 있다. 또한, 인코딩 수단(330)은 상기 잔여신호를 인코딩하도록 구성할 수 있다.
도 3b는 정보신호 샘플 시퀀스를 디코딩하는 장치(350)의 실시예를 나타낸다. 여기서 시퀀스 내의 각 샘플은 원래위치를 갖고 있다.
이 디코딩장치(350)는 예측 필터의 계수와 샘플 시퀀스(각 샘플에는 분류위치가 포함됨)를 수신하는 수단(360)을 포함한다. 또한, 이 디코딩장치(350)는 계수에 근거하여 수열를 예측하는 수단(370)과, 상기 수열에 따라 샘플 시퀀스를 재분류하여 각 샘플로 하여금 원래위치를 갖도록 하는 재분류수단(380)을 추가로 포함한다.
실시예로서, 상기 정보신호에는 오디오신호가 포함될 수 있다. 또한, 상기 수열를 예측하는 수단(370)은 수열로서 인덱스 치환 데이터를 예측할 수 있다. 또한, 이 예측수단(370)은 수열로서 반전 챠트를 예측할 수 있다. 상기 수신수단(360)은 인코딩된 잔여신호를 수신하도록 구성되며, 상기 예측수단(370)은 상기 잔여신호를 이용하여 수열를 예측하도록 구성할 수 있다. 본 디코딩장치(350)는 엔트로피 디코딩 및 후속 차등디코딩을 함께, 또는 엔트로피 디코딩만으로써 샘플을 디코딩하도록 구성되는 디코딩 수단을 추가로 포함할 수 있다.
도 4a는 정보신호 샘플 시퀀스를 인코딩하는 장치(400)의 실시예를 보여주는데, 시퀀스 내의 각 샘플은 원래위치를 갖고 있다. 인코딩장치(400)에는 샘플들을 그 사이즈에 따라 분류하여 분류된 샘플 시퀀스를 생성하는 분류수단(410)이 포함된다(여기서 각 샘플은 분류된 시퀀스 내에 분류위치를 갖고 있음). 또한, 인코딩장치(400)에는, 분류된 샘플을 인코딩하고, 샘플들의 원래위치와 분류위치 사이의 관계에 대한 정보를 갖는 수열(상기 수열 내의 각 구성요소는 고유한 것임)를 인코딩하는 수단(420)을 추가로 포함한다. 여기서, 인코딩 수단(420)은 수열의 각 구성요소별로 여러 개의 비트들을 조합시키는데, 첫 번째 구성요소를 인코딩하기 전에 만일 더 적은 수의 구성요소가 두 번째 구성요소의 인코딩보다 이미 먼저 인코딩된 경우에, 첫 번째 구성요소와 조합되는 비트수가 두 번째 구성요소와 조합되는 비트수보다 크도록 한다.
여기서 인코딩 수단(420)은 아래의 식에 의해서 길이 N의 수열를 인코딩하고 동시에 X개의 구성요소를 인코딩하도록 구성될 수 있다. G개의 비트들은 아래 식에 의해서 X개의 구성요소와 조합된다.
Figure 112009033642731-pct00001
위 식에서 아래쪽으로 열려있는 괄호는, 괄호 안의 값이 다음 높은 정수로 반올림(round)되는 것을 의미한다.
다른 실시예로서, 인코딩 수단(420)은 아래 식에 의해서 길이 N의 수열를 인코딩하도록 구성되되, G개의 비트들이 수열의 다음 번 구성요소(X+1번째 구성요소)와 조합된다. X는 수열 중에서 이미 인코딩된 구성요소의 개수를 나타낸다.
Figure 112009033642731-pct00002
도 4b는 정보신호 샘플 시퀀스를 디코딩하는 장치(450)의 실시예를 나타낸다. 여기서 시퀀스 내의 각 샘플은 원래위치를 갖고 있다. 이 디코딩장치(450)는 인코딩된 수열과 샘플 시퀀스(각 샘플에는 분류위치가 포함됨)를 수신하는 수단(460)을 포함한다. 이 디코딩장치(450)에는 상기 원래위치와 분류위치 사이의 관계에 대한 정보를 이용하여 상기 인코딩된 수열(상기 수열 내의 각 구성요소는 고유한 값을 가짐)을 디코딩된 수열로 디코딩하는 수단(470)을 추가로 포함한다. 이 디코딩 수단(470)은 수열의 각 구성요소별로 여러 개의 비트들을 서로 조합시키는데, 첫 번째 구성요소를 디코딩하기 전에 만일 더 적은 수의 구성요소가 두 번째 구성요소의 인코딩보다 이미 먼저 인코딩된 경우에, 첫 번째 구성요소와 조합되는 비트수가 두 번째 구성요소와 조합되는 비트수보다 크도록 한다. 또한, 디코딩장치(450)는 인코딩된 수열에 근거하여 샘플 시퀀스를 재분류함으로써, 인코딩된 시퀀스 내의 각 샘플이 그 원래위치에 있도록 하는 재분류수단(480)을 추가로 포함하고 있다.
일실시예로서, 디코딩 수단(470)은 길이 N의 수열를 디코딩하고 동시에 X개의 구성요소를 디코딩하도록 구성될 수 있고, G개의 비트들은 아래 식에 의해서 X개의 구성요소와 조합된다.
위 식에서 아래쪽으로 열려있는 괄호는, 괄호 안의 값이 다음 번 높은 정수까지 반올림 되는 것을 의미한다.
디코딩 수단(470)은 길이 N의 수열를 디코딩하도록 구성되되, G개의 비트들이 아래 식에 의해서 수열의 다음 번 구성요소와 조합된다. X는 수열 중에서 이미 인코딩된 구성요소의 개수를 나타낸다.
Figure 112009033642731-pct00004
도 5a는 오디오신호(505)(큰 진폭), 치환 데이터(510)(중간 진폭), 반전 챠트(515)(작은 진폭) 파형을 나타내고, 도 5b는 치환 데이터(510)와 반전 챠트(515)를 보기 쉽도록 크게 확대한 것을 나타낸다.
도 5a 및 도 5b의 파형을 통해 볼 때, 오디오신호(505), 치환 데이터(510) 및 반전 챠트(515) 사이의 상관관계를 알 수 있다. 입력신호로부터 치환 데이터 및/또는 반전 챠트의 상관관계 이동을 볼 수 있다. 실시예에 따르면, 분류된 샘플의 인코딩과는 별도로, 반전 챠트를 작성하고 그 다음에 엔트로피 코딩하여 치환 데이터코딩을 수행할 수 있다. 또한, 도 5a 및 도 5b로부터 치환 데이터 및/또는 반전 챠트의 예측이 상기 상관관계에 의해 가능함을 알 수 있다. 여기서 각각의 잔여신호는 예를 들면, 무손실 코딩시에 엔트로피 코딩 될 수 있다.
예측은 입력신호에 존재하는 상관계수가, 생성되는 치환 데이터 및/또는 반전 챠트(도 5a 및 도 5b 참조)로 이동하기 때문에 가능한 것이다. FIR(finite impulse response) 및 IIR(infinite impulse response) 구조가 예측 필터로서 사용 가능하다. 다음에 이러한 필터의 상관계수들이 선택되는데, 예컨대, 필터입력에서의 잔여신호의 경우와 같이, 당초의 출력신호가 출력부에 나타나도록 또는 그 출력이 되도록 선택된다. 일실시예로서, 필터 및 잔여신호의 상응하는 상관계수들은 더 저렴하게, 즉, 원래 신호보다 적은 비트수 또는 작은 전송률로 전송될 수 있다. 다음에 수신기 및/또는 디코더에서는, 전송된 상관계수에 근거하여 원래 신호가 예측되거나 재생되어, 잔여신호가 될 수 있다. 여기서, 상관계수의 개수 및/또는 이 때의 예측필터의 차수는 한편으로는 전송에 필요한 비트를, 한편으로는 원래 신호가 예측되거나 재생될 수 있는 정확성을 결정한다.
반전 챠트는 치환 데이터와 동등하게 표시되지만, 엔트로피 코딩에 보다 더 적합하다. 손실 코딩의 경우에는 불완전한 방식만을 사용하여 분류를 수행함으로써 일정량의 데이터를 절약할 수 있게 된다.
도 6은 인코더(600)의 실시예를 나타낸다. 인코더(600)에서, 입력데이터의 전처리(605)가 수행될 수 있다(예컨대, 시간/주파수 변환, 예측, 스테레오 잉여부분 감축), 대역폭 제한을 위한 필터링 등). 전처리된 데이터는 분류된다(610). 여기서 분류된 데이터 및 치환 데이터를 얻을 수 있다. 다음, 분류된 데이터는 추가적으로 인코드되고(615), 차등코딩(예시임)이 수행될 수 있다. 그 다음에 데이터는 엔트로피 코딩(620)되고 비트 멀티플렉서(625)로 입력된다. 치환 데이터도 역시 처음에 처리되거나 인코딩된다(630). 이는, 예를 들어서, 후속 예측을 이용하여 반전 챠트를 결정함에 의해 이루어진다. 여기서도 엔트로피 코딩(635)이 이루어져서 엔트로피 코딩된 치환 데이터 및/또는 반전 챠트가 비트 멀티플렉서(625)로 제공된다. 비트 멀티플렉서(625)는 엔트로피 코딩된 데이터와 치환 데이터를 비트스트림으로 멀티플렉싱한다.
도 7은 디코더(700)의 실시예를 나타내는데, 예를 들어서, 인코더(600)에 따른 비트스트림을 얻게 된다. 비트스트림은 처음에 비트스트림 디멀티플렉서(705)에서 디멀티플렉싱된다. 여기서 인코딩된 데이터는 엔트로피 디코딩 된다(710). 엔트로피디코드 된 데이터는 분류된 데이터(716)의 디코딩(예를 들어 차등디코딩)에 의해서 추가적으로 디코딩될 수 있다. 다음에, 디코딩되고 분류된 데이터는 역분류된다(720). 한편, 인코딩된 치환 데이터는 비트스트림 멀티플렉서(705)로부터 추가적으로 엔트로피 디코딩 되는데(725), 이때에는 추가적으로 치환 데이터를 다운스트 림 디코딩할 수 있다(730). 인코딩된 치환데이터 역시 역분류기에 제공된다(720). 역분류기(720)는 인코딩된 치환데이터 및 디코딩되고 분류된 데이터에 근거하여 출력신호를 출력할 수 있다.
또한, 3가지 모드의 동작을 갖는 인코딩 시스템이 실시예에 포함될 수 있다. 모드 1은 입력신호를 음향심리학의 도움을 받아 높은 압축률을 가능케 하고, 모드 2는 음향심리학을 고려하지 않는 중간 수준의 압축률을 갖고, 모드 3은 압축률은 더 낮지만 손실이 없는 코딩을 제공한다(참조: Tilo Wik, Dieter Weninger: Verlustlose Audiokodierung mit sortierten Zeitwerten und Anbindung an filterbankbasierte Kodierverfahren, October 2006).
모든 모드에서는 공통적으로 양자화, 리샘플링, 저역필터링 처리단계를 생략할 수 있다. 따라서 입력신호에 대한 전체 대역폭이 모든 세 단계로 전송될 수 있다. 도 8은 인코더(800)의 다른 실시예를 나타내는데, 인코더(800) 및/또는 모드 1, 2에 대한 인코딩 방법을 설명하고 있다. 입력신호는 시간/주파수 변환기(805)(예컨대, MDCT (Modified Discrete Cosine Transform))에 의해서 주파수 도메인으로 변환된다(참고: J. Princen, A. Bradley: Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation, IEEE Trans. ASSP 1986).
그 다음에, 스펙트럼 라인이 그 진폭의 크기에 따라 분류된다(810). 분류된 스펙트럼들은 비교적 간단한 파형을 갖기 때문에 곡선맞춤기(815)를 사용하여 함수에 의해서 용이하게 근사화할 수 있다(예시 참고: Draper, N.R and H. Smith, Applied Regression Analysis, 3rd Ed., John Wiley & Sons, New York, 1998). 디코더 측에서 원래의 순서로 다시 재분류함으로써 전개되는 스펙트럼 라인 인덱스의 치환을 하고, 이에 따라 원래의 스펙트럼을 재생할 수 있도록 하기 위하여, 가능한 한 작은 양의 데이터를 포함하는 비트스트림에 역분류 규칙(820)을 적용할 수 있다. 예를 들어서, 모드 1에 대해서는 런렝스 코딩(820)에 의해서 수행될 수 있고, 모드 2에 대해서는 특수 치환인코더(820)(이는 반전 챠트와 함께 동작함)에 의해 수행될 수 있다.
다음에, 런렝스 코딩 및/또는 치환인코더(820)의 데이터는 엔트로피 코딩법 또는 엔트로피 인코더(830)에 의해서 추가적으로 인코드되고, 최종적으로 몇 가지 부가 정보(예를 들면, 비트스트림 포맷터(bitstream formatter)(835)에 의해 나타나는, 상술한 함수의 상관계수)를 담고 있는 비트스트림으로 씌여진다. 생성되는 데이터의 양을 제어(비트 레이트의 변화)하는 방법은, 예를 들어서 입력신호의 음향심리 모델(840)에 음향심리학적 고려를 선택적으로 부가함에 의해서, 그리고 치환 인코더(820) 및/또는 런렝스 코딩(820)의 다른 인코딩 방안에 의해서 곡선맞춤의 품질을 변화시키는 것이다. 이러한 목적을 위해서, 도 8에서는 인코더 처리에 의해 전개되는 비트 레이트를 감시하고, 데이터 레이트가 너무 높은 경우 필요시에 음향심리학적 모델에 피드백을 제공하는 블록(825)을 나타내고 있다.
도 8의 블록도에서는, 예컨대 모드 1에서만 동작할 수 있는 비트 레이트 제어용 음향심리 모델(840)을 표시하고 있는데, 이는 코딩 품질을 위해서 모드 2에서 는 생략된다. 동작 모드 1은 다른 두 동작모드에 비해 압축률이 더 높다. 이 목적을 위해서 입력신호의 음향심리학적 모델(840)의 도움을 받아 주파수 스펙트럼의 라인들은 소정 방식(다른 방식으로는, 후분류(back-sorting)로부터 제외된 인덱스 치환 데이터의 구성요소)에 의해서 영(0)으로 설정된다. 이렇게 함으로써 역분류 원리(820)의 전송시에 데이터를 절약할 수 있다. 반면에, 주파수 스펙트럼은 모드 2의 경우에 완전히 재생된다. 근사화(815)에서의 부정확도가 적기 때문에 매우 적은 에러만이 일어나게 되기 때문이다. 또한, 모드 2는 잔여신호를 추가함으로써 무손실 모드로 확장될 수 있다. 모드 1과 모드 2 의 두 경우에, 전체 주파수 스펙트럼이 전송될 수 있다. 즉, 모드 1에서의 데이터 감축은 축소된 역분류 원리(820)에 의해서만 이루어질 수 있다.
도 9는 디코더(900) 및/또는 모드 1, 2의 디코딩 처리수순의 다른 실시예를 나타내는 것으로서, 인코딩 및/또는 인코더(800)의 단계들을 거의 역방향으로 통과하고 있다. 처음에, 비트스트림은 비트스트림 디멀티플렉서(905)에 의해서 압축해제되고 엔트로피 디코더(910)에 의해 인코딩된다. 함수의 인코딩된 함수 계수로부터, 상기 함수 또는 스펙트럼 함수가 역 곡선맞춤기(915)에 의해서 재생되고, 역분류기(920)로 입력된다. 역분류기(920)는 엔트로피인코딩된 치환데이터에 근거하여 치환데이터를 디코딩하는 치환디코더(925)로부터 치환데이터를 추가적으로 얻는다. 전송된 함수 계수에 의하여 재생된 치환데이터 및 스펙트럼 함수에 의해서 역분류기(920)는 스펙트럼 라인을 원래의 순서로 되돌릴 수 있게 된다. 최종적으로, 재생된 스펙트럼은 역MDCT 등과 같은 역변환기(930)에 의해서 원래의 시간도메인으로 변환된다.
다른 실시예로서, 시간/주파수 변환을 생략하고 정보신호를 직접 분류하고 위에서 설명한 것과 같이 인코딩하여 시간 도메인으로 변환하는 것 역시 가능하다.
도 10은 1024개의 주파수라인을 갖는 오디오신호의 주파수 스펙트럼 및 근사화된 스펙트럼을 예시하는데, 원래의 것과 근사화된 것이 거의 동일함을 볼 수 있다. 도 11은 분류된 스펙트럼 및 그 근사치를 함께 나타내고 있다. 분류된 스펙트럼이 원래의 스펙트럼보다 함수에 의해서 한층 더 쉽고 정확하게 근사화될 수 있음을 분명히 알 수 있다. 도 11에서 스펙트럼을 근사화하기 위해, 예를 들어 5개의 영역(구간)으로 분할할 수 있는데, 구체적인 실시예에 따르면, 구간 3은 예를 들어 직선에 의해 근사화되고, 구간 2와 구간 4는 적절한 함수들(예컨대, 다항식, 지수함수 등)에 의해 근사화된다. 실시예에서, 구간 1과 구간 5에서의 진폭값의 개수는 매우 작은 값(예컨대, 3)으로 선택될 수 있다. 그러나 이들은 음질에 지대한 영향을 끼치기 때문에, 이들은 매우 정확하게 근사화하거나 직접 전송되어야 한다.
실시예에 따르면 전체 스펙트럼에 대해서, 함수 및 그 상관계수만이, 그리고/또는 구간 1과 구간 5의 진폭값(필요시)이 최종적으로 전송된다. 여기서 나타낸 5개의 구간은 하나의 예시에 불과하며 근사화의 품질을 향상시키기 위해서라면 어떠한 구간이라도 선택가능할 것이다. 또한, 도 11에서는 근사화되고 다시 역분류된 스펙트럼에 대해서도 추가적으로 보여주고 있다. 여기서 재생된 스펙트럼이 원래의 스펙트럼과 매우 근접함을 분명히 볼 수 있다.
실시예로서, 스펙트럼라인 인덱스들의 수열(인덱스 집합의 치환을 나타냄)는 재분류에 의해서 전개된다. 실시예로서, 이 재분류된 인덱스의 수열은 완전하고 균일하게 분포되기 때문에, 상대적으로 많은 양의 "data arising"(엔트로피 코딩으로는 감축될 수 없는 데이터)과 함께 직접적으로 전송될 수 있다. 분류된 스펙트럼라인 인덱스의 수열가 균일하게 분포되도록 매핑하기 위하여, 이들 수열는 논리적으로 분류되지 않고, 불균일하게 분포된 시리즈가 되도록 반전 챠트 정보를 인덱스들에 적용될 수 있다. 구체적으로, 바이젝티브(bijective, 즉 고유하게 반전가능한 매핑)하며 불균일하게 분포된 결과를 제공하는 실시예를 들 수 있다(참조: Donald E. Knuth: The Art of Computer Programming, Volume 3: Sorting and Searching, Addison-Wesley, 1998).
불균일하게 분포된 숫자 배열은 이제 엔트로피 코딩되고, 그에 따라 전송될 데이터 양이 감소된다. 이하에서는 반전 챠트의 기능의 예를 간단히 설명하겠다. 숫자쌍 집합을 A={(x1, y1), ..., (xn, yn)} (여기서 xi는 yi의 인덱스를 나타냄)로 정의함으로써, xi가 단순 상승 수열을 형성한다고 가정하자. yi는 예를 들어서 주파수 스펙트럼(예컨대 A={(1,5), (2,3), (3,1), (4,2), (5,8), (6,2.3), (7,2), (8,4.5), (9,6)})의 진폭값이 될 수 있다.
이제, A는 yi의 크기에 근거하여 분류됨으로써, yi 는 단순상승 수열이 된다. 이에 따라 xi는 미분류 수열, 즉, 원래 xi 의 치환데이터가 된다.
A' = {(5,8),(9,6),(1,5),(8,4.5),(2,3),(6,2.3),(4,2),(7,2),(3,1)}
xi' = {5,9,1,8,2,6,4,7,3}
yi' = {8,6,5,4.5,3,2.3,2,2,1}
xi의 반전 챠트는 다음과 같이 구성된다.
xi' 5 9 1 8 2 6 4 7 3 (균일 분포)
xi'-1 2 3 6 4 0 2 2 1 0 (불균일 분포)
반전 챠트를 다시 반전시키면 원래의 수열이 된다.
x9'-1 = 0 9
x8'-1 = 1 9 8
x7'-1 = 2 9 8 7
x6'-1 = 2 9 8 6 7
x5'-1 = 0 5 9 8 6 7
x4'-1 = 4 5 9 8 6 4 7
x3'-1 = 6 5 9 8 6 4 7 3
x2'-1 = 3 5 9 8 2 6 4 7 3
x1'-1 = 2 5 9 1 8 2 6 4 7 3 = xi'
원칙적으로 반전 챠트를 구성하는 방식은 여러 가지가 있다. 예를 들어서, "Donald E. Knuth: The Art of Computer Programming, Volume 3: Sorting and Searching, Addison-Wesley, 1998"; "D. H. Lehmer: Teaching Combinatorial Tricks to a Computer, Proc. Of Symposium Appl. Math., Combinatorial Analysis, Vol. 10, American Mathematical Society, Providence, R.I., 1960, 179-193"; "D.H. Lehmer, The Machine Tools of Combinatorics, Applied Combinatorial Mathematics, John Wiley and Sons, Inc. N.Y., 1964"; 및 "Ziya Arnavut: Permutations Techniques in Lossless Compression, Dissertation, 1995" 등이 있다.
또한, 다른 실시예로서, 반전 챠트의 구성에 이어서 차등코딩을 수행할 수도 있다(참조: Ziya Arnavut: Permutations Techniques in Lossless Compression, Dissertation, 1995). 또는, 엔트로피를 감소시키는 다른 후처리 단계(예를 들어, 예측)를 수행할 수 있다.
본 발명의 실시예들은 기존에 존재하는 시스템에 비해 완전히 다른 원리로서 동작한다. 양자화, 리샘플링, 저역필터링 단계의 계산을 피함으로써, 그리고 음향심리학적 고려를 선택적으로 생략함으로써 계산상의 복잡도를 다소 줄일 수 있게 된다. 모드 2에 대한 코딩의 품질은 전적으로 분류된 주파수 스펙트럼에 대한 함수의 근사화 품질에 좌우된다. 반면에 모드 1의 품질은 이용된 음향심리학적 모델에 의해 주로 결정된다.
모든 모드의 비트 레이트는 전송되어야 할 역분류 원리의 복잡도에 좌우된다. 비트 레이트의 감소 정도(scalability)는 넓은 영역에서 주어지며, 높은 압축률로부터 높은 데이터 레이트에서의 무손실 코딩에까지 어떠한 단계변화(gradation)도 가능하다. 기능상의 원리에 의해서, 신호의 전체 주파수 대역폭은 비교적 낮은 비트 레이트에서도 전송가능하다. 소비전력과 메모리 공간의 요건이 낮기 때문에 본 발명을 활용하고 실시하는데 일반적인 PC는 물론, 휴대용 단말기에도 적용가능하다.
또한, MPEG-4 Scalable, MPEG Surround(참고: J. Breebaart, J. Herre, C. Faller et al.; MPEG Spatial Audio Coding/MPEG Surround: Overview and Current Status; 119th AES Convention, 2005. 10.), 바이노럴큐 코딩(Binaural Cue Coding)(참고: C. Faller, F. Baumgarte; Binaural Cue Coding Applied to Stereo and Multi-Channel Audio Compression; 112th AES Convention, 2002. 5.), 또는 낮은 지연의 범위, 본 발명과 같이 시간 도메인에서의 응용에 관련된 분야 등에 사용가능하다. 실시예의 기능상의 원리에 있어서 인코드해야 할 신호에 대한 필요 요건에 제한이 없기 때문에, 무손실 모드의 응용, 특히 오디오신호 이외의 코딩이 비디오 코딩이나 기타 분야에서와 같이 실현될 수 있다.
비트 레이트의 개선은 전송시의 역분류 원리에 크게 의존하기 때문에, 또 다른 실시예들도 생각해볼 수 있다. 예를 들어서, 치환데이터가 디코더측에서 고유하게 인식될 수 있도록 키(key)를 전송할 경우에, 개선이 가능하다. "제한된 치환데이터(Restricted Permutations)" 분야에서 현존하는 연구를 이러한 목적으로 사용할 수 있다(참고: V. Vatter; Finitely Labeled Generating Trees and Restricted Permutations; Journal of Symbolic Computation, 41 (2006), 559-572).
또한, 에러나 잔여신호의 전송시에, 모드 1, 2의 성능을 개선할 뿐만 아니라, 모드 2를 무손실 모드로 확장할 수도 있을 것이다. 또한, 전송된 에러 신호에 의해서, 모드 1에서의 역분류로부터 제외된 주파수 라인에 대한 지능적인 역분류 및 모드 1의 성능 향상을 가능케 할 수 있다.
스펙트럼 대역 복제(SBR: Spectral Band Replication)와 유사한 방식으로 동작하는 모드 1에 대한 주파수 라인을 합성하지만, 상위 주파수 범위에 대해서는 독점적으로 담당하지 않고, 삭제된 중간 주파수 범위를 재생하는 실시예 구현이 가능하다. 또 다른 실시예로서, 근사화시에 발생하는 에러에 특별히 조율되는 음향심리학적 고려에 의해서 품질을 높이고 비트 레이트를 낮출 수 있다. 재분류 및 후속 커브근사화의 원리는 주파수 도메인에서의 신호에 의존하지 않기 때문에, 다른 실시예도 또한 모드 2에 대한 시간 도메인에 채용가능하다. 모드 2, 3에서는 음향심리학적 고려가 배제되기 때문에, 이 경우의 실시예는 오디오 코디 이외에 채용가능하다.
본 발명의 구체성에 적용되는 스테레오 신호의 최적 프로세싱을 제공하므로써 모노 신호 코딩에 대립되는 비트 소비와 계산 과정을 줄이는 또 다른 실시예의 구현이 가능하다.
실시예에서는 분류모델을 사용하고 있다. 이 분류모델에 따라 동작하는 코딩 방법에 의해서 인코딩할 데이터의 분류가 수행된다. 이에 따라 데이터의 인공적 상관관계(correlation)가 일어나서 한편으로는 데이터가 보다 쉽게 인코딩될 수 있다. 한편, 시간값의 원래위치의 치환은 분류에 의해서 수행된다. 따라서 원래의 정보 또는 오디오신호를 다시 재생할 수 있는 디코더에 대해서, 인코딩된 시간값과는 별도로 후방 분류 규칙(치환)을 인코딩하고 전송하는 것이 필요하다. 이렇게 함으로써, 시간값들의 인코딩만을 수행할 때의 근원적인 문제가 두 가지 문제(즉, 분류된 시간값의 인코딩과 역분류 원리의 인코딩 문제)로 나뉘게 된다. 도 11은 소위 " 분류된 무손실" 코딩의 개념도이다. 예를 들어서, 오디오신호는 분류에 의해서 보다 강한 상관관계를 갖는 신호로 매핑된다. 이 때 분류된 시간값과 역분류 규칙이 인코딩된다.
도 11을 근거한 원리 설명으로부터, 새로운 무손실 코딩 방법 또는 오디오 코딩 방법에 대해서 SOLO(Sorted Lossless)라는 용어를 도출할 수 있다. 두 가지 문제점의 각각은 현저한 특색을 갖는다. 분류된 시간값의 인코딩 문제에 대해서는, 일실시예로서 차등코딩이 적합하다. 치환데이터의 코딩의 경우에는, 예컨대 동등의 반전 챠트 작성시에 수행될 수 있다. 아래에서는 두 가지 부분적 문제에 대해서 자세히 설명한다. 분류모델 이외에도, 종래의 탈 상관관계(decorrelation) 방법(예측적 모델링)이 SOLO에도 사용될 수 있다.
분류모델의 경우에 추가적인 처리단계인 치환 처리단계가 종래의 코딩 방법에 비교하여 새로 추가된다. 본 발명의 실시예에서는 다음과 같은 네 가지 처리단계가 가능해진다.
1. 블록 분할(프레이밍)
2. 미분류/분류 시간값의 탈 상관관계
3. 치환 처리
4. 위 2와 3에서의 데이터에 대한 엔트로피 코딩
차등코딩에서는, 그 명칭이 암시하는 것과 같이, 실제적인 값이 아니라 인코딩되는 연속적인 값의 차이가 된다. 차이값이 원래값보다 작다면, 더 많은 압축이 이루어질 수 있다.
i∈N (N = 자연수집합, 1≤i≤n<∞이고 x 1 ∈Z (Z = 정수집합)라고 할 경우에, 차등코딩은 아래 식과 같이 정의될 수 있다.
Figure 112009033642731-pct00005
차등코딩은 가역적이다. i∈N (N = 자연수집합, 1≤i≤n<∞이고 x 1 ∈Z (Z = 정수집합)라고 할 경우, 역수 차등코딩은 아래 식과 같이 정의될 수 있다.
Figure 112009033642731-pct00006
차등코딩은 단순한 종류의 예측법이기 때문에, 여기서 초기값(i=1일 때의 시간값)은 여기서의 엔트로피 코딩에서 제외된다. δ는 감소하는 분류 시간값의 경우의 양의 자연수 집합 내에서 완전하게 존재하는 잔여신호의 특징을 갖는다. 이에 따라, 후속적인 엔트로피 코딩이 보다 용이하게 이루어질 수 있다. 차등코딩은 인코딩될 값들이 서로 매우 근접해있을 경우(즉, 강한 상관관계의 경우)에 최적으로 수행된다. 시간값의 분류에 의해서, 시간값들은 서로 강한 상관관계를 갖게 된다.
도 12는 차등코딩된 분류신호 및 그 잔여신호의 커브를 나타낸다. 즉, 도 12는 분류된 시간값에 적용된 차등인코딩의 효과를 나타낸다. 인덱스가 1(초기상태)일 때, 분류되고 탈 상관관계된 시간신호의 매칭값을 분명히 볼 수 있다. 또한, 분류된 시간값과 대비하여 차등코딩의 잔여신호의 실질적으로 작은 다이나믹레인지(dynamic range)를 볼 수 있다. 도 12에 대해서는 아래 표에서 상세 하게 알 수 있다. 따라서 차등코딩은 분류된 시간값을 인코딩할 수 있는 단순하고 효율적인 방법이 된다.
최대값(초기값 제외) 최소값 초기값
분류된 시간값 32425 -32768 32767
잔여신호 δ 2630 0 32767
곡선맞춤(Curve fitting: CF)은 데이터 포인트들(여기서는 분류된 시간값)에 주어진 수학적 모델 함수를 적용하는 기법을 의미한다. 곡선맞춤의 효율성은 기술해야 할 파형이 어떤 형상을 갖느냐는 사실에 의해서 매우 실질적인 정도로 결정된다. 분류의 종류에 따라 다르지만, 단순 감소 및/또는 단순 증가 파형에 관계된 것임이 확실하다. 도 12와 도 13은 분류된 시간값의 두 가지 파형을 나타낸다. 도 13의 불균일 파형을 살펴볼 필요가 있다. 이러한 파형(다른 오디오신호를 선택한 케이스의 약 40%에서 관찰됨)은 대부분 곡선맞춤에 의해서 구체적으로 표시할 수 없다.
도 12, 13의 파형을 근사화하기 위하여, 아래와 같은 함수를 사용한다. 실험에 의하면, 이 함수는 여기서 나타나는 파형을 표시하는데 적합한 것으로 판명되었다.
Figure 112011036987784-pct00007
계수 c1, c2, λ1, λ2 는 실수 집합 내의 원소이며, 예를 들어 Nelder-Mead 심플렉스 알고리즘(참고: NELDER, J.A.; MEAD, R.A.: A Simplex Method for Function Minimization. Computer Journal, Vol. 7, p. 308-313, 1965)으로 결정할 수 있다.
이 알고리즘은 몇 가지 변수의 비선형 함수를 최적화하는 방법이다. 스텝사이즈 제어를 포함하는 레귤러폴시(Regula falsi) 기법과 유사하게, 이 값들의 경향은 최적의 방향으로 근사화된다. 넬더-미드(Nelder-Mead) 심플렉스 알고리즘은 대략 선형으로 수렴하며 비교적 단순하고 효과가 크다. 함수 f cf1 는 파형의 전체에 걸쳐서 매우 유연하게 적용될 수 있는 장점을 갖고 있다. 그러나 비교적 많은 부차 정보(4개의 계수)를 필요로 하는 단점이 있다. 또한, 분류된 파형의 일부분(예컨대, 도 12의 중간 부분)이 1차다항식(직선)에 의해서 묘사되며 두 개의 실수 계수 a, b만이 필요하다는 것을 알 수 있다. 이러한 이유로 두 번째 함수가 대안으로서 적용될 수 있다.
Figure 112009033642731-pct00008
블록의 분류된 시간값의 전체 숫자에 대한 곡선맞춤은 확실히 너무 부정확하다. 이 때문에, 블록을 수 개의 작은 구간으로 분할하는 것이 편리할 것이다. 그러나 블록(함수 fcf1 fcf2 로 기술함)이 너무 많은 구간으로 분할되면 매우 많은 함수 계수들이 필요하게 된다. 그래서, 일 실시예로서, 1024 시간값의 전체 블록길이의 경우에 네 개의 구간(각각 256 시간값을 포함)이 실행된다. 각 구간별로 fcf1 fcf2 가 곡선맞춤에 더 적합한지를 결정하기 위하여 적절한 결정기법이 필요하다. 이러한 결정 기법은, 한편으로는 결정이 용이해야 하고, 한편으로는 표현적(expressive)이어야 한다. 이를 보장하기 위하여, 처음에는 각 함수의 잔여신호를 형성하고 필요한 비트수를 추정하는 단계가 수행된다. 함수 fcf1 은 함수 fcf2 보다 두 배 많은 개수를 필요로 하기 때문에, fcf1 을 위해서는 32비트가 추가로 추정된다.
도 14에서, 곡선맞춤의 기능이 설명되어 있다. 이 프레임에서 구간 1, 4는 f cf2 로 기술되고, 구간 2, 3은 f cf1 으로 기술된다.
마지막으로, 차등코딩 및 곡선맞춤에 의한 탈 상관관계를 직접 비교한다. 이를 위해서, 프레임당 바이트에 대한 각각의 "비용(cost)"에 대해서 밝힌다. 두 가지 코딩 방법의 직접 비교를 보장하기 위하여, 두 가지 케이스에 한 개의 변수만을 갖는 전방적응형 라이스(Rice) 코딩이 사용된다. 모든 블록에서, 차등코딩이 여기서 나타낸 곡선맞춤보다 성능이 뛰어나다. 도 15에 이를 나타내었다.
이하에서 본 발명의 상세한 실시예에 대해서 보다 자세하게 설명한다. 아래 표는 이하에서 사용된 오디오 재료를 나타내는데, 각 해당 설명부분에서 언급될 것이다.
번호 파일명 샘플링 주파수 비트수 채널수 비고 소스 유형(Style)
1 adia m.wav 44100 Hz 16 1 n.d. Pop
2 white m.wav 44100 Hz 16 1 0dBFS s.e. White noise
3 es01 m.wav 44100 Hz 16 1 Suzanne Vega n.d. Pop
4 es02 m.wav 44100 Hz 16 1 cut SQAM German Male
5 es03 m.wav 44100 Hz 16 1 cut SQAM English Female
6 si01 m.wav 44100 Hz 16 1 cut SQAM Harpsichord
7 si02 m.wav 44100 Hz 16 1 cut SQAM Castagnets
8 si03 m.wav 44100 Hz 16 1 n.d. Pitch Pipe
9 sm01 m.wav 44100 Hz 16 1 n.d. Bagpipe
10 sm02 m.wav 44100 Hz 16 1 n.d. Chimes
11 sm03 m.wav 44100 Hz 16 1 n.d. Dulzimer
12 sc01 m.wav 44100 Hz 16 1 cut SQAM Trumpet concerto
13 sc02 m.wav 44100 Hz 16 1 Richard Wagner n.d. Meistersinger
14 sc03 m.wav 44100 Hz 16 1 n.d. Pop
15 sine1kHz 0dB.wav 44100 Hz 16 1 0dBFS s.e. 1kHz sine
16 adia LeqR.wav 44100 Hz 16 2 L=R s.e. Pop
17 adia.wav 44100 Hz 16 2 n.d. Pop
18 es01.wav 44100 Hz 16 2 Suzanne Vega n.d. Pop
19 es02.wav 44100 Hz 16 2 cut SQAM German Male
20 es03.wav 44100 Hz 16 2 cut SQAM English Female
21 si01.wav 44100 Hz 16 2 cut SQAM Harpsichord
22 si02.wav 44100 Hz 16 2 cut SQAM Castagnets
23 si03.wav 44100 Hz 16 2 n.d. Pitch Pipe
24 sm01.wav 44100 Hz 16 2 n.d. Bagpipe
25 sm02.wav 44100 Hz 16 2 cut SQAM Chimes
26 sm03.wav 44100 Hz 16 2 n.d. Dulzimer
27 sc01.wav 44100 Hz 16 2 cut SQAM Trumpet concerto
28 sc02.wav 44100 Hz 16 2 Richard Wagner n.d. Meistersinger
29 sc03.wav 44100 Hz 16 2 n.d. Pop
무손실 코딩은 크게 두 가지 분야로 나뉜다. 가장 많은 종류의 데이터를 갖고 작용하는 범용 방법과, 오디오신호와 같이 매우 특징적인 데이터를 최적으로 압축하는 특수 방법이 그것이다.
디지털데이터 압축용 GZIP이나 ZIP와 같은 범용 방법은 오랫동안 사용되고 있다. GZIP의 경우에는 LZ77(참고: Ziv, Jacob; Lempel, Abraham: A Universal Algorithm for Sequential Data Compression. IEEE Transactions on Information Theory, Vol. IT-23, No. 3, 1977.5.) 및 허프먼 코딩방식(Huffman, David A.: A Method for the Construction of Minimum-Redundancy Codes. Proceedings of the I.R.E, 1952.9.)과 한 조를 이루는 디플레이트(Deflate) 알고리즘을 압축용으로 사용하고 있다. ZIP 파일 포맷에서도 유사한 압축 알고리즘을 사용한다. 이 밖의 범용 방법으로 BZIP2가 있다. 여기서는, 데이터를 실제 코딩하기 전에 버로우스-휠러 변환(BWT)(참조: Burrows, M.; Wheeler, D.: A block sorting lossless data compression algorithm. Technical Report 124, Digital Equipment Corporation, 1994)을 사용한 사전 코딩이 이루어진다.
BZIP2에서도 허프먼 코딩이 사용된다. 이상의 방식들은 어떠한 데이터라도, 예컨대, 텍스트, 프로그램 코드, 오디오신호 등에 대해서도 적용가능하다. 그 기능 때문에, 이들 방식들은 오디오신호보다는 텍스트에 대해서 한층 더 좋은 압축을 수행할 수 있다. GZIP와, 오디오신호 전용 압축방식인 SHORTEN(Robinson, Tony: SHORTEN: Simple lossless and near lossless waveform compression. Technical report CUED/FINFENG/TR.156, Cambridge University Engineering Department, 1994.12.)을 직접 비교해 보면 이러한 점을 확인할 수 있다(아래 표 참조). 테스트를 위해서 각각에 대한 표준 설정을 사용하였다.
파일 번호 파일 크기
(Bytes)
GZIP
파일 크기 | F
SHORTEN
파일크기 | F
13 2246022 1962100 1.145 1102557 2.037
14 2037842 1724447 1.182 1304845 1.562
17 1912876 1753719 1.091 1117413 1.712
따라서 오디오신호에 대하여 양호한 압축률을 얻기 위하여, 오디오신호의 특수한 성질을 압축시에 고려해야 한다. 대부분의 무손실 오디오 코딩 방법에서는 도 16과 같은 회로를 사용하고 있다.
도 16은 대부분의 무손실 오디오 압축 알고리즘의 처리단계를 예시한다. 도 16에서는 처음에 오디오신호가 블록형성부 또는 "프레이밍"부로 입력되어 신호블록으로 분할된다. 그 다음에, 내부 채널 탈 상관관계부는, 예를 들어서 차등코딩방식으로 각 신호를 탈 상관관계한다. 엔트로피 코딩부에서는 최종적으로 신호를 엔트로피 코딩한다(참조: Hans, Mat; Schafer, Ronald W.: Lossless Compression of Digital Audio. IEEE Signal Processing Magazine, 2001.7.).
처음에, 처리해야 할 데이터가 소정 크기의 신호 부분(프레임) x(n)∈Z (Z는 정수 집합)로 분해된다. 그 다음에 탈 상관관계 단계에서 신호로부터 잉여부분(redundancy)을 가능한 한 모두 제거한다. 마지막으로 탈 상관관계 단계에서 얻은 신호 e(n)∈Z를 엔트로피 코딩한다. 앞에서, 탈 상관관계 단계는 두 개의 기본 단계가 있다고 하였다. 대부분의 무손실 오디오 코딩법에서는 신호로부터 잉여부분을 제거하는 선형 예측방식을 사용한다. 이 밖의 무손실 오디오 코딩 방법은 손실 오디오 코딩법(데이터 손실은 별론으로 해도, 원래 신호에 이외에 잔여신호 또는 에러신호가 인코딩되는 손실 코딩모델임)에 기반하고 있다. 뒤이어 다른 접근방식에 대해서 자세히 설명하고자 한다.
선형 예측(선형 예측 코딩-LPC)은 주로 디지털 음성신호 프로세싱에 널리 사용된다. 이 방식은 효율이 높을 뿐만 아니라, 계산 복잡도가 비교적 낮다. 예측의 기본 원리는 이전 값들 x(n-1), x(n-2), ..., x(n-p)로부터 x(n) 값을 예측하는 것이다. 예측에 p개의 이전값들을 사용하는 경우라면 제p차 예측기라고 부른다. 무손실 오디오 코딩에 사용되는 예측 코딩 방법에는 보통 도 16에 나타낸 기본 구조가 사용된다. 여기서,
Figure 112011036987784-pct00199
and
Figure 112011036987784-pct00200
는 양자화 계수
Figure 112011036987784-pct00201
and
Figure 112011036987784-pct00202
를 갖는 z-변환 다항식(Mitra, Sanjit K.: 디지털 신호 처리. 뉴욕: 맥그로힐, 2001, pp. 155-176 참조요망)을 의미하고, Q는 동일한 워드 길이 x(n)에 대한 양화자를 의미한다. z-변환은 시간 연속 신호의 라플라스 변환의 시간 이산 아날로그(time-discrete analog)이다.
도 17은 아래의 수식에 기반한 것이다.
Figure 112011036987784-pct00203
삭제
예측 코딩 방법이 최적으로 동작할 경우에, 잉여부분의 많은 부분은 x(n)으로부터 제거되고, 계수
Figure 112009033642731-pct00013
Figure 112009033642731-pct00014
에 의해서 표시된다. 결과적인 잔여신호 e(n)은 상관관계가 없어지고(uncrorrelate) 원래 신호 x(n)보다 그 진폭이 분명히 작게 된다. 이에 따라, 코딩 이득을 얻을 수 있다. 만일
Figure 112009033642731-pct00015
=0, 즉, 피드백 항이 0이면, 이는 FIR 예측기를 의미한다. 그렇지 않으면, 즉,
Figure 112009033642731-pct00016
≠0이면, 이는 IIR 예측기임을 나타낸다. IIR 예측기는 여기서 자세하게 설명하지는 않을 것이다. IIR 예측기는 매우 복잡하지만, FIR 예측기에 비해서 특정 부분에서는 더 좋은 코딩 이득을 얻을 수 있다(참조: Craven, P.; Law, M.; Stuart, J.: Lossless Compression using IIR prediction filters. Munich : 102nd AES Conv., 1997). 잔여신호 e(n) 및 예측기계수로부터 원래신호를 다시 재생하기 위한 단계는 도 18에 나타내었다.
도 18은 예측 코딩에서의 재생을 위한 구성의 일실시예를 나타내는 것으로서, 필터 계수
Figure 112009033642731-pct00017
를 갖는 피드포워드 분기, 필터 계수
Figure 112009033642731-pct00018
를 갖는 피드백 분기, 양자화기 Q를 갖는 IIR필터 구조를 나타낸다.
도 18은 아래의 수식에 기반한 것이다.
Figure 112009033642731-pct00019
예측기계수는 처리될 각 신호 부분에 대해서 각 시간마다 새롭게 결정되고 전송된다. 제p차 예측기의 계수 ak에 대한 적응형 결정은 공분산법(covariance)이나 자기상관(autocorrelation)(자기상관함수를 사용함) 중 하나를 이용하여 이루어질 수 있다. 자기상관 방법의 경우에 계수는 아래와 같은 선형 계산 시스템의 해를 통하여 얻을 수 있다.
Figure 112009033642731-pct00020
.
위 식에서 rxx(k)=E(s(n) s(n+k))를 적용한다(참고: Sayood, Khalid: Introduction to Data Compression. San Francisco: Morgan Kaufmann, Third Edition, 2006, p. 333). 또는, 이는 매트릭스 표시에 있어서
Figure 112009033642731-pct00021
와 같이 기술될 수 있다. R의 역수를 취하면, 계수는
Figure 112009033642731-pct00022
과 같이 얻을 수 있다.
최적의 예측기계수를 결정하는 선형 계산 시스템의 동작 방식에 대해서는 "Jayant, N.S., Noll, P.: Digital Coding of Waveforms - Principles and Applications to Speech and Video. Prentice Hall, Englewood Cliffs, New Jersey, 1984, pp. 267-269; Sayood, Khalid: Introduction to Data Compression. San Francisco : Morgan Kaufmann, Third Edition, 2006, pp. 332-334; 및 Rabiner, L. R.; Schafer, R. W.: Digital Processing of Speech Signals. New Jersey : Prentice-Hall, 1978, pp. 396-404에 상세하게 나와 있다. R의 매트릭스 특성에 의해서, 이 계산은 Levinson-Durbin 알고리즘(참조: Yu, R.; Lin, X.; Ko, C.C.: A Multi-Stage Levinson-Durbin Algorithm. IEEE Proc., Vol. 1, pp. 218-221, 2002.11.)에 의해서 매우 효율적으로 풀 수 있다.
예측을 위해서, 시간값들을 N 사이즈의 블록으로 분할한다. 현재의 블록 n으로부터 시간값을 예측하기 위하여 제2차 예측기를 이용할 경우에는, 블록 n으로부터 최초 두 개의 값을 어떻게 취급할 지의 문제가 발생한다. 이 때, 이전 블록 n-1로부터의 마지막 두 개의 값을 이용하여 동일한 것을 예측할 수 있거나, 블록 n의 최초 두 개의 값은 예측되지 않고 그 원래 형태로 그대로 남게 된다. 이전 블록 n-1의 값이 사용된다면, 블록 n은 블록 n-1이 성공적으로 디코딩되었을 때에만 디코딩될 수 있다. 그러나 이러한 방식에 따르면, 블록 의존성 문제가 생길 수 있고 각 블록(프레임)을 기계적으로 디코딩하는 단위로서 취급하는 원칙과 모순되는 문제가 생긴다. 최초 p개의 값이 그 원래 형태로 남게 되는 경우에, 이 값을 예측기의 초기값(warmup value)(도 19 참조)이라고 부른다. 통상, 초기값은 잔여신호와 비교하여 다른 크기의 비율 및 통계적 특성을 갖기 때문에 대부분의 경우에 엔트로피 코딩 되지 않는다.
도 19는 예측 필터의 초기값의 예를 나타낸다. 도 19의 위 그림은 변경되지 않은 입력신호를 나타내고, 아래 그림은 초기값과 잔여신호를 나타낸다.
예측을 실현하기 위한 다른 방법으로서 각 신호 부분마다 새롭게 계수를 계산하지 않고, 고정된 예측기계수를 항상 이용하는 방식이 있다. 항상 동일한 계수가 사용하는 경우로서, 이를 고정형 예측기라고 명명한다.
예로서, 예측 모델링의 대표격인 AudioPaK (참조: Hans, Mat; Schafer, Ronald W.: Lossless Compression of Digital Audio. IEEE Signal Processing Magazine, July 2001, pp. 28-31)에 대해서 보다 자세히 설명한다. AudioPaK에서는, 처음에 오디오신호가 독립적인 자동 디코딩 구간으로 분해된다. 통상은, 192개 샘플의 배수(192, 576, 1152, 2304, 4608)가 사용된다. 탈 상관관계를 위해서 고정된 정수 계수를 갖는 FIR 예측기(고정형 예측기)가 사용된다. 이 FIR 예측기는 SHORTEN에 처음 사용되었다(참고: Robinson, Tony: SHORTEN: Simple lossless and nearlossless waveform compression. Technical report CUED/FINFENG/ TR.156, Cambridge University Engineering Department, December 1994, pp. 3-4). 내부적으로, 고정형 예측기는 네 개의 다른 예측 모델을 포함하고 있다.
Figure 112009033642731-pct00023
원리로서, 이 계산에는 다항식 근사화 및/또는 예측 방법이 포함된다. 이전의 p개 샘플 x(n-1), x(n-2), ..., x(n-p)은 p-1차 다항식으로 기술할 수 있다. N의 위치에서 이 다항식을 평가하면, 예측값
Figure 112009033642731-pct00024
이 얻어진다. 이는 도 20에 그래프로 설명되어 있다. 도 20은 다항식 예측기에서의 예측 모델의 실시예를 나타낸다.
예측에 의해 얻어진 잔여신호
Figure 112009033642731-pct00025
은 아래의 수식에 의해서 비교적 용이하게 순환 계산될 수 있다.
Figure 112009033642731-pct00026
궁극적으로, 최적의 예측 모델은 잔여신호값의 크기의 총합이 가장 작아진다는 사실에 의해서 결정된다. AudioPaK에서는 Rice 코딩을 사용한다. 잔여신호값이 ei(n)∈Z이지만, Rice 코딩은 N0로부터의 값에 의해 작용하기 때문에, 처음에 N0에 대한 잔여신호 ei(n)의 매핑이 실행된다.
Figure 112009033642731-pct00027
Rice 변수 k는 블록(프레임)별로 결정되며 0, 1, ..., (b-1)의 값으로 추정된다. 여기서 b는 오디오 샘플당 비트수를 의미한다. K는 아래의 수식에 의해 결정된다.
Figure 112009033642731-pct00028
부동소수점 연산을 사용하지 않는 k의 직관적인 추정은 예를 들어서 아래와 같이 수행된다.
for (k=0, N=framesize; N<AbsError; k++, N*=2) { NULL; }
여기서 framesize 는 프레임당 샘플수를 나타내고, AbsError 는 잔여신호의 절대값의 합을 나타낸다. 예측 모델링의 또 다른 대표격으로는 "SHORTEN" (Robinson, Tony: SHORTEN: Simple lossless and near lossless waveform compression. Technical report CUED/FINFENG/TR.156, Cambridge University Engineering Department, December 1994), "FLAC"(Coalson, Josh: FLAC - Free Lossless Audio Codec; http://flac.sourceforge.net), "MPEG-4 오디오 무손실 코딩"(MPEG-4 ALS) (Liebchen, Tilman; Reznik, Yuriy; Moriya, Takehiro; Yang, Dai Tracy: MPEG-4 Audio Lossless Coding. Berlin, Germany : 116th AES Convention, May 2004) 및 "멍키스 오디오(Monkey's Audio)" (Ashland, Matthew T.: Monkey's Audio - a fast and powerful lossless audio compressor; http://www.monkeysaudio.com/index.html)를 들 수 있다.
무손실 오디오 코딩의 두 번째 방법은 손실성 오디오 코딩 상에 구축하는 것이다. 손실성 코딩 모델의 대표격으로 LTAC(Lossless Transform Audio Compression)를 들 수 있다. LTAC 대신에 LTC(Lossless Transform Coding)라는 용어가 사용되기도 한다(참조: Liebchen, Tilman; Purat, Marcus; Noll, Peter: Lossless Transform Coding of Audio Signals. Munich, Germany : 102nd AES Convention, 1997). 이 인코더의 기본 기능을 도 21에 나타내었다.
도 21은 LTAC (Lossless Transform Coding) 인코더의 구성을 나타내는 블록다이어그램이다. 인코더에는 입력신호 x(n)을 주파수 도메인으로 변환시키는 "DCT"가 있고 그 뒤에 양자화기 Q가 있다. 양자화된 신호 c(n)은 다시 "IDCT"에 의해 시간 도메인으로 변환되는데, 여기서 다른 양자화기 Q에 의해서 양자화되어 원래의 입력신호로부터 감산될 수 있다. 이 때의 잔여신호 e(n)은 엔트로피 코딩 수단으로 전송될 수 있다. 또한, 양자화된 신호 c(n)은 엔트로핑코딩(이는 다양한 코드북으로부터 선택가능함)에 의해 도 21에서와 같이 코딩될 수 있다.
LTAC에서, 시간값 x(n)은 직교변환(DCT - Discrete Cosine Transform)에 의해 주파수도메인으로 변환된다. 손실 부분에 있어서는 스펙트럼 값이 양자화된 c(k)가 되고 엔트로피 코딩 된다.
이제 무손실 코딩 방법을 구현하기 위하여, 양자화된 스펙트럼값 c(k)를 역 변환방법 (IDCT=Inverse Discrete Cosine Transform)으로 역변환하고 다시 y(n)으로 양자화한다. 잔여신호는 e(n)=x(n)-y(n)에 의해서 계산된다. 다음에, e(n)은 엔트로피 코딩 되어 전송된다. 디코더에서 c(k)로부터 후속 양자화와 IDCT에 의해 다시 y(n)을 얻을 수 있다. 최종적으로, 디코더에서의 x(n)의 완전한 재생은 y(n)+e(n)=y(n)+[x(n)-y(n)]=x(n)에 의해 실현된다.
손실성 코딩 모델에 속하는 또 다른 방법으로서 MPEG-4 스케일러블 무손실 오디오 코딩(MPEG-4 SLS) (참조: Geiger, Ralf; Yu, Rongshan; Herre, Jurgen; Rahardja, Susanto; Kim, Sang-Wook; Lin, Xiao; Schmidt, Markus: ISO/IEC MPEG-4 High-Definition Scalable Advanced Audio Coding. Paris : 120th AES Convention, May 2006)이 있다. 이것은 무손실 오디오 코딩, 손실성 오디오 코딩 및 스케일러블 오디오코딩 기술을 결합한 것이다. 비트스트림에 대해서, MPEG-4 SLS는 MPEG-4 진보된 오디오 코딩(MPEG-4 AAC) (참고: ISO/IEC JTC1/SC29/WG11: Coding of Audiovisual Objects, Part 3. Audio, Subpart 4 Time/Frequency Coding. International Standard 14496-3, 1999)에 대해 하위호환성을 갖는다. 도 22는 MPEG-4 SLS의 블록다이어그램을 나타낸다.
처음에, 오디오 데이터는 IntMDCT (Integer Modified Discrete Cosine Transform) (see Geiger, Ralf; Sporer, Thomas; Koller, Jurgen; Brandenburg, Karlheinz: Audio Coding Based on Integer Transforms; New York : 111nd AES Conv., 2001)에 의해서 주파수 도메인으로 변환된다. 그 다음에는 임시잡음제거(temporal noise shaping: TNS) 및 중간/측단 채널 코딩(integer AAC tools/adaptation)에 의해서 처리한다. AAC 인코더가 인코드한 모든 것은 에러 매핑을 통하여 IntMDCT 스펙트럼값으로부터 제거된다. 이때 남는 것이 잔여신호인데, 이는 엔트로피 코딩 된다. 엔트로피 코딩에 있어서는, BPGC (Bit-Plane Golomb Code), CBAC (Context-Based Arithmetic Code) 및 저에너지 모드가 사용된다.
두 개 이상의 채널을 통한 음향 전송을 스테레오포니(stereophony)라 부른다. 실제로는 채널이 두 개인 경우에만 스테레오란 용어가 사용되고 있고, 채널수가 3개인 것부터는 멀티채널 사운드라고 부른다. 본 발명에서는 두 채널만 사용하는 신호 전달만을 다룰 것이며, 동일한 의미로서 스테레오 신호라는 용어를 사용할 것이다. 스테레오 신호의 처리를 위해서는 각 채널별로 별도로 인코드하는 방법이 한 가지 있다. 이 경우는 개별적 스테레오 코딩이라 한다. 예전의 모노 레코딩(양채널이 동일함) 또는 텔레비전의 2채널 사운드(독립적 채널)와 같은 "준스테레오(pseudo-stereo)"와는 달리, 스테레오 신호는 보통, 두 채널 사이에 차이점 및 잉여부분(redundancy)이 있다. 양채널에 대해서 한꺼번에 공통성을 결정하고 전송할 수 있다면, 이에 의해서 비트 레이트가 감소될 수 있다. 이러한 경우를 의존적 스테레오 코딩(공동 스테레오 코딩)이라 부른다. 스테레오 신호 사이의 잉여부분을 감소하는 한 가지 방법으로서 중간/측단 채널 코딩(MS 코딩) 방법이 있다. 이 기법은 "Johnston, J. D.; Ferreira, A. J.: Sum-Difference Stereo Transform Coding, IEEE International Conference, ICASSP, 1992"에 최초로 손실성 오디오 코딩 방법으로서 기술되어 있다. 아래 수식은 좌측채널 L과 우측채널 R로부터 중간 채널 M과 측단채널 S를 생성하는 방법을 나타낸다.
Figure 112009033642731-pct00029
위 식에서
Figure 112009033642731-pct00030
이므로, MS 코딩은
Figure 112009033642731-pct00031
이 된다.
무손실 오디오 코딩법에도 역시 MS코딩이 사용된다. 그러나 상기 수식은 정수 대신에 부동소수점 숫자의 특성을 갖고 있기 때문에, 일부 무손실 오디오 코딩(참조: Ashland, Matthew T.: Monkey's Audio - a fast and powerful lossless audio compressor; http://www.monkeysaudio.com/index.html) 시에는 아래와 같은 MS 코딩 수식을 사용한다.
Figure 112009033642731-pct00032
여기서 NINT는 영(0)에 대해서 가장 근접한 정수로 반올림하는 것을 의미한다.
MS코딩과 별도로, 무손실 오디오 코딩법에는 또한 LS 코딩 및/또는 RS 코딩이 사용된다(참조: Coalson, Josh: FLAC - Free Lossless Audio Codec; http://flac.sourceforge.net). LS코딩을 통해서 우측 채널을 얻고/얻거나 RS코딩을 통해서 좌측채널을 얻기 위하여, 아래 수식에서와 같이 처리해야 한다.
Figure 112009033642731-pct00033
스테레오 잉여부분 감축(stereo redundancy reduction: SRR)을 실행하는데 두 가지 기본 방안이 있다. 개별 채널의 탈 상관관계 이후에(도 23), 또는 개별 채널의 탈 상관관계 이전에(도 24) 할 수 있다. 도 23은 개별 채널의 탈 상관관계 이후에 스테레오 잉여부분 감축(SRR)를 실행하는 것을 나타내고, 도 24는 개별 채널의 탈 상관관계 이전에 스테레오 잉여부분 감축(SRR)를 실행하는 것을 나타낸다. 두 가지 방식은 그 나름대로 각각 장점과 단점이 있다. 다만, 이하에서는 두 번째 방법만 사용할 것이다.
여기서, 주어진 선형 예측(LPC=Linear Prediction Coding)을 위해서 적절한 양자화가 실행된다. 결정되는 계수 az 는 통상, 부동소수점 값(실수)으로서, 디지털 시스템에서 유한한 정밀도로 표시될 수 있을 뿐이다. 따라서 계수 az의 양자화가 이루어진다. 그러나 이에 의해서 큰 예측 오류가 나올 수 있으며, 이를 잔여신호의 생성시에 고려해야 한다. 이 때문에, 정밀도 파라미터 g를 통해서 양자화를 제어한다. g가 크면, 계수의 보다 정밀한 양자화가 수행되어, 해당 계수에 대해서 더 많은 비트가 소요된다. g가 작으면, 계수의 성긴(rough) 양자화가 수행되어 해당 계수에 대해서 더 적은 비트가 소요된다. 양자화를 실현하기 위하여, 처음에는 크기(magnitude)가 가장 큰 계수 amax 를 선택한다.
Figure 112009033642731-pct00034
이렇게 결정된 최대 예측기계수 amax 는 가수 M과 밑 2의 지수 E로 분해된다. 즉,
Figure 112009033642731-pct00035
가수 M은 이하에서는 필요치 않고, 지수 E가 이하의 수식에 의해서 축소율(scaling factor) s를 결정하는데 사용된다.
Figure 112009033642731-pct00036
1에서 빼는 것은 부호있는 계수를 고려하기 위함이다. i=1, 2, ..., p 에 대한 양자화된 예측기계수는 아래 식에 의해 얻는다.
Figure 112009033642731-pct00037
축소율 s와 양자화된 예측기계수
Figure 112009033642731-pct00038
에 의해서, 전송될 잔여신호 e(n)이 결정된다.
Figure 112009033642731-pct00039
상기 식에서 e(n)∈Z이 적용됨이 확인된다. 초기값, 디코더에 대한 파라미터 g, s, p,
Figure 112009033642731-pct00040
및 잔여신호 e(n) 을 전송함으로써, 이 신호 부분의 원래값 x(n)이 아래와 같이 재생될 수 있다.
Figure 112009033642731-pct00041
예측기의 차수(order)가 증가하면, 이에 의해 잔여신호의 분산치와 진폭이 감소하게 된다. 이로써 잔여신호의 데이터 레이트가 낮아진다. 반면에, 예측기 차수가 높아지면, 더 많은 계수와 더 큰 초기값(즉, 더 많은 부차 정보(side information))가 전송되어야 한다. 이에 따라 총 데이터 레이트가 다시 증가하게 된다. 따라서 전체 데이터 레이트를 최소화할 수 있도록 예측기 차수를 선택하도록 해야 한다.
도 25가 나타내는 것은 예측기 차수 및 전체 비트 소비량의 관계이다. 잔여신호의 차수가 증가함에 따라 코딩시에 점점 더 적은 비트가 필요함을 알 수 있다. 그러나 부차 정보(양자화된 예측기계수 및 초기값)의 데이터 레이트는 점차로 증가하여서, 전체 데이터 레이트가 어느 시점부터 다시 증가하고 있다. 보통은 1<p<16에서 최소치에 이른다. 도 25에서, 최적의 차수는 p=5가 된다. 도 25에서는 양자화 제어를 위한 고정값 g=12로, 입력 신호의 샘플링 분해능은 샘플당 16비트로 사용하였다.
도 26은 양자화 파라미터 g 및 전체 비트 소비량과의 관계를 나타낸다. 양자화 파라미터 g에 의존하는 전체 비트 레이트에 있어서(도 26 참조), 잔여신호에 대한 비트 소비량은 소정 값에 이르기까지 계속해서 감소한다. 여기서부터 전방으로의 양자화 정밀도가 더 증가하는 것은 더 이상 불필요하다. 즉, 잔여신호에 대해 필요한 비트수는 거의 일정하다는 의미이다. 전체 데이터 레이트는 처음에는 계속해서 감소하지만, 나중에는 다시 증가한다. 양자화된 예측기계수에 대한 부차 정보가 커지기 때문이다. 대부분의 경우에 5<g<15에서 최적값을 얻을 수 있다. 도 26에서, 최소값은 g=11일 때이다. 도 26에서는 상수인 예측기 차수 p=7을, 입력신호의 샘플링 분해능은 샘플당 16비트로 사용하였다.
바로 얻어진 발견을 이제, 단순화된 MATLAB 코드 표시 (lpc() 참조)에 있어서의 무손실 선형 예측기를 설명하는데 사용하고자 한다. MATLAB이란 매트릭스 계산을 위해 설계된 상용 계산 소프트웨어이다. MATrix LABoratory로부터 유래한 용어이다. MATLAB을 이용한 프로그래밍은 독점적 소유권인 것으로서, 플랫폼에 무관한 프로그래밍 언어로 개별 컴퓨터에서 번역된다. 우선, 도 25와 도 26에서 결정된 한정값들에 따라 변수를 초기화한다. 그리고, 자동상관관계 및 Levinson-Durbin 알고리즘을 통해 예측기계수를 결정한다. 이 알고리즘의 핵심은 두 개의 보간된 FOR문 루프에 의해 구성된다. 외부 루프는 예측기 차수 p를 통해 진행되고, 내부 루프는 양자화 파라미터 g를 통해서 진행된다. 내부 루프 내에서, 계수의 양자화, 잔여신호의 계산, 잔여신호의 엔트로피 코딩이 이루어진다. 잔여신호의 완전한 엔트로피 코딩 대신에, 비트 소비량의 추정 역시 가능한데, 이렇게 하면 보다 빠르게 연산 가능해진다. 마지막으로, 가장 낮은 비트 소비량을 갖는 방안이 확보된다. 아래는 MATLAB 코드의 일실시예를 나타낸다.
Figure 112009034229441-pct00166
여기서, 전술한 FIR예측기는 고정 정수 계수로 적절하게 확장가능하다(고정형 예측기). 위에서 설명한 것과 같이, 최적의 차수 p는 1<p<16임을 알게 되었다. 고정형 예측기(Robinson, Tony: SHORTEN: Simple lossless and nearlossless waveform compression; Technical report CUED/FINFENG/TR.156, Cambridge University Engineering Department, December 1994)에서는 최대 차수로 p=3을 사용하고 있다. "Hans, Mat; Schafer, Ronald W.: Lossless Compression of Digital Audio, IEEE Signal Processing Magazine, July 2001, p. 30"에는 고정형 예측기의 전달함수
Figure 112009033642731-pct00043
와 진폭 주파수 파형
Figure 112009033642731-pct00044
가 설명되어 있다. 여기서 T는 샘플링레이트를 나타내고,
Figure 112009033642731-pct00045
이다. 전달함수는 입력과 출력을 갖는 선형 시간불변 시스템의 동작을 기술하는 수학적 도구이다. 주파수 응답에 의해서, 선형 시간불변 시스템의 동작이 기술되는데, 출력의 크기가 입력의 크기와 비교되며 주파수에 의존하여 기록된다. 상기 식을 이용하여, 두 가지 다른 차수 p=4와 p=5의 경우에 대해 설계할 수 있다.
Figure 112009033642731-pct00046
상응하는 잔여신호를 아래의 식에 의해 얻을 수 있다. 그리고 초기값의 구성은 앞에서 설명한 것과 동등하게 수행된다.
Figure 112009033642731-pct00047
도 27은 고정형 예측기의 차수 p에 의존하는 진폭 주파수 응답을 나타낸다. 각각 다른 예측기 차수의 효과는 주파수 응답을 고려할 경우에 명백해진다(도 27). 차수 p=0일 때 잔여신호는 그 입력신호에 상응하다. 이에 따라 진폭 주파수 응답은 1로 일정하다. 차수가 증가하면 저주파수 신호 성분이 크게 감쇠되지만, 고주파수 신호 성분은 증가한다. 주파수축은 설명을 위한 샘플링 주파수의 반으로 정규화되었다. 샘플링 주파수(여기서는 22.05kHz)의 반에서 1의 결과를 얻는다.
이제의 시험은 p=4와 p=5를 포함시킴으로써 코딩 게인을 이룰 수 있는지 여 부를 보여주기 위한 것이다. 이를 위해서 다양한 음악을 조사하였고, 가장 적은 비트수를 필요로 하는 차수를 블록별로 선택한다.
아래 표는, 전체 오디오 파일을 합하는 경우에 어떤 차수가 얼마나 빈번하게 최고로서 선택되었는지를 나타낸다. 아래 표를 작성하기 위하여 1024개의 시간값을 갖는 일정한 블록 길이를 선택하였다.
음향물번호 p = 0 p = 1 p = 2 p = 3 p = 4 p = 5 전체 블록수
1 0 14 316 67 57 0 454
4 15 69 161 79 0 0 324
6 5 173 115 27 0 0 320
7 3 74 189 43 0 0 309
8 0 221 959 0 0 0 1180
14 2 30 279 158 4 0 473
15 0 0 0 0 0 216 216
위 표에서, 모든 케이스에 최적인 예측기 차수는 없는 것을 알 수 있다. 이러한 이유로, 각 블록에 대한 최선의 차수를 결정해야 한다. p=2, p=3, p=1의 차수가 가장 빈번한 것으로 선택된다. p=0, p=4의 차수는 덜 빈번하게 사용된다. 고정형 예측기의 차수를 p=4로 하여 확정함으로써 음향물번호 1번에서 소정의 코딩게인을 얻을 수 있다. P=5의 차수에서는 코딩게인을 음향물번호 15에서만 제공할 수 있다. 음향물번호 15번은 "보통의" 음악은 아니고 1kHz 싸인파이기 때문에 p=5의 이익에는 의문이 있다. 또한, 이는, p"5가 보통은 큰 코딩게인을 제공하지는 않고 복잡도만 증가시킬 뿐이라는 것을 알려준다. 위에서와 같이 얻어진 발견을 알고리즘(fixed() 참조)을 표시하는 데에 사용하고자 한다. 처음에, 최대 차수와 최소 차수가 정의된다. 그 다음에 모든 차수에 대해서 실행되는 FOR문 루프가 뒤따른다. 이 루프 내에서 상응하는 비트 소비량과 차수에 따른 초기값의 비용을 갖는 잔여신호가 결정되고, 마직막으로 최선의 방안이 선택된다.
Figure 112009034229441-pct00167
차등코딩에 있어서는, 그 명칭이 암시하는 것과 같이, 실제값이 아니라 인코딩되는 연속값의 차이에 관한 것이다. 차이가 원래값보다 작으면 압축률이 더 높아진다. 위에서 설명한 고정형 예측기에서는 p=1인 차등코딩을 사용한다.
차등코딩의 정의: i∈N (1<i<n<∞)이고 xi∈Z일 때, 차등코딩은
Figure 112009033642731-pct00049
로 정의된다. 차등코딩은 가역적이다(invertible).
역 차등코딩의 정의: i∈N (1<i<n<∞)이고 xi∈Z일 때에, 역 차등코딩은
Figure 112009033642731-pct00050
로 정의된다.
예측기의 경우와 같이, 초기값(i=1인 때의 시간값)은 엔트로피 코딩에서 제외된다. d는 감소하는 분류 시간값의 경우의 N0 내에 완전하게 내포되어 있는 잔여신호와 동일한 특성을 갖는다. 따라서 이후의 엔트로피 코딩을 보다 단순하게 설계할 수 있다. 차등코딩은, 인코딩할 값들이 서로 근접해 있을 경우에(즉, 강한 상관관계인 경우) 최적으로 수행된다. 시간값의 분류에 의해서, 시간값들은 강한 상관관계로 된다. 분류된 시간값에 적용한 차등코딩의 효과에 대해서 도 12에서 이미 보인바 있다. 도 12에는 분류된 시간 신호와 탈 상관관계된 시간 신호의 인덱스 1(즉, i=1의 초기값)에서의 매칭값이 분명히 나타나 있다. 또한, 분류된 시간값에 대비하여 차등코딩의 잔여신호의 다이나믹 레인지가 더 작은 것을 알 수 있다. 도 12에서 나타내는 세부사항은 아래 표에 나타낸다. 따라서 차등코딩은 분류된 시간값을 인코딩하는 간단하고도 효율적인 방법이 된다.
음향물번호 2번
최대값
(초기값 제외)
최소값 초기값
분류된 시간값 32425 -32768 32767
잔여신호 δ 2630 0 32767
이하에서는, 치환데이터를 효율적으로 인코드하는 방법을 나타낸다. 치환에 메모리가 없다고 가정하면, 임의의 치환 데이터 σ(여기서 |σ|<∞)의 엔트로피는 아래 식과 같이 주어진다.
Figure 112009033642731-pct00051
본 발명에서 메모리가 있는 경우는 의도적으로 생략하기로 한다. 왜냐하면 메모리가 없는 경우가 치환데이터의 인코딩을 가장 단순하게 설명할 수 있기 때문이다.
위 식에서 H(σ)는 σ(i)의 이진수 코딩에 대한 비트/기호의 필요수를 나타낸다. 예컨대 길이 256의 치환데이터를 표시하기 위하여, 구성요소당 8비트가 필요하다. 이는, 치환데이터의 구성요소의 발생 은 동등한 확률을 갖는다는 사실에 근거한 것이다. 아래의 예에서, 시간값들을 분류함으로써 오디오신호(예컨대, 16비트의 분해능)의 인코딩시 얻어지는 치환데이터는 입력신호 데이터 레이트의 절반만을 필요로 한다. 이 정도의 데이터량은 높은 편이기 때문에 다음과 같은 문제가 발생한다. 즉, 구성요소당 log2(|σ|) 비트보다 적게 치환데이터를 이진 인코드하는 것이 가능할까?
위에서 살펴본 것은, 치환데이터 표시로부터 등가의 반전 챠트 표시 및 그 반대로 전환될 수 있다는 것이다. 따라서 반전 챠트의 이진 표시에 치환데이터의 것보다도 작은 데이터 레이트를 필요로 하는지를 검토해야 한다. 아래 예는 이에 대해서 명확히 하기 위한 것이다.
예: 아래와 같이 치환데이터가 주어진다.
Figure 112009033642731-pct00052
σ와 π의 반전 챠트로 I(σ)=(2110), I( π)=(3210) 을 얻게 된다. 이때 아래 식을 적용한다.
Figure 112009033642731-pct00053
이것이 의미하는 것은 반전 채트의 엔트로피는 치환데이터보다 실제로 작다는 것이다. 그러나 π에 대해서 아래의 식을 얻을 수 있다.
Figure 112009033642731-pct00054
따라서 π의 경우에, 반전 챠트의 엔트로피는 치환데이터의 엔트로피보다는 크다. 그러나 역순으로 π를 고려하면(즉, π(4), π(3), π(2), π(1)), 동일한 치환데이터를 얻을 수 있다. 그리고 그 반전 챠트는 매우 적은 엔트로피를 갖게 된다. 어떠한 경우든, 아래의 식을 임의의 치환데이터 σ(|σ|<∞)에 적용할 수 있다.
Figure 112009033642731-pct00055
이제, 위 예에서 설명한 π에 대한 문제를 해결하기 위하여 다른 반전 챠트의 구성 규칙에 대해서 정의하고자 한다. 우선, 완전성을 위해서, 위에서 언급한 반전 챠트 구성방법(이하의 반전 챠트 LB)을 다시 언급한다.
정의 (LB=left bigger):
Figure 112011036987784-pct00056
을 치환데이터로, bj (j=1, 2, ..., n)을 j보다 큰, j의 좌측에 있는 구성요소의 개수라고 할 때, σ의 반전 챠트 LB는
Figure 112011036987784-pct00057
로 표시된다.
정의 (LS=left smaller):
Figure 112011036987784-pct00058
을 치환데이터로, bj (j=1, 2, ..., n)을 j보다 작은, j의 좌측에 있는 구성요소의 개수라고 할 때, σ의 반전 챠트 LS는
Figure 112011036987784-pct00059
로 표시된다.
정의 (RB=right bigger):
Figure 112011036987784-pct00060
을 치환데이터로, bj (j=1, 2, ..., n)을 j보다 큰, j의 우측에 있는 구성요소의 개수라고 할 때, σ의 반전 챠트 RB는
Figure 112011036987784-pct00061
로 표시된다.
정의 (RS=right smaller):
Figure 112011036987784-pct00062
을 치환데이터로, bj (j=1, 2, ..., n)을 j보다 작은, j의 우측에 있는 구성요소의 개수라고 할 때, σ의 반전 챠트 RS는
Figure 112011036987784-pct00063
로 표시된다.
예: 반전 챠트 RS의 구성 및 그에 상응하는 치환데이터의 생성에 대해서 예시적으로 나타내면 아래와 같다.
Figure 112011036987784-pct00204
우선, σ(i)=1인 치환 데이터의 구성요소를 취하고, 1보다 작은 σ에 있는 σ(i)=1의 우측의 구성요소를 카운트한다. 여기서, 이것은 구성요소가 되지 않는다. 그 다음에 σ(i)=2인 치환 데이터의 구성요소를 취하고, σ에 있는 σ(i)=1의 우측의 더 작은 구성요소를 카운트한다. 여기서 σ(i)=2의 우측의 구성요소가 2보다 작은 것은 없다. 이러한 단계를 |σ|까지 정확하게 계속해서 수행하면, Irs(s)=(b1, ..., b4)=(0023)를 얻게 된다. 단계별로 진행하면, j=1, 2, ..., |σ|, 즉, 상응하는 치환데이터는 반전 챠트 RS로부터 다시 생성될 수 있다. 이러한 목적을 위해서 역으로 진행하고 j를 삽입함으로써 우측으로의 b j 구성요소가 j 보다 작도록 한다.
b1 = 0 1
b2 = 0 1 2
b3 = 2 3 1 2
b4 = 3 4 3 1 2
σ의 반전 챠트 LB, LS, RB가 구성되면,
I lb (σ) = (2210)
I ls (σ) = (0100)
Ir b (σ) = (1000)
를 얻게 된다.
위에서 반전 챠트의 엔트로피를 비교하면, 각 엔트로피가 부분적으로 매우 다른 점이 있으며 모든 경우의 치환데이터(2비트)의 엔트로피보다 작음을 알 수 있다.
H(I lb (σ))=1.5Bit < 2Bit=H(σ)
H(I ls (σ))≒0.81Bit < 2Bit=H(σ)
H(I rb (σ))≒0.81Bit < 2Bit=H(σ)
H(I rs (σ))=1.5Bit < 2Bit=H(σ)
"ARNAVUT, Ziya: Permutation Techniques in Lossless Compression. Nebraska, University, Computer Science, Dissertation, 1995, pp. 58-78" 논문에서는 반전 챠트의 구성에 있어서 여러가지 다른 방식들을 사용하였다. 그러나 그는 반전 챠트에 대해서 다른 구성 규칙을 사용하였다. 이들은 레머(Lhemer) 반전 챠트이다. 이하에서 반전 챠트가 언급될 때에는 이는 비 레머(non-Lehmer) 반전 챠트임을 의미한다. 레머 반전 챠트의 경우에는 "레머"라고 명시적으로 부기한다. 지금 설명하는 것들뿐만 아니라 나중에 사용되는 것 역시 그러하다.
정의 (레머 반전 챠트 RS(right smaller)):
Figure 112009033642731-pct00065
을 치환데이터라 할 경우 에, 레머 반전 챠트 RS
Figure 112009033642731-pct00066
bk = |{j:k<j≤n∧σ(k)>σ(j)}| for 1≤k≤n
로 정의된다.
가산자 rs1은 "right smaller Lehmer"를 의미한다. 이는, 이하의 정의에서도 동일하게 적용한다. 물론, 치환데이터는 다시 레머 반전 챠트 RS로부터 생성된다. "ARNAVUT, Ziya: Permutation Techniques in Lossless Com-pression. Nebraska, University, Computer Science, Dissertation, 1995 on p. 62-63"에서는, 이에 대하여 아래의 알고리즘을 소개하고 있다. 아래 알고리즘에서 l은 연쇄리스트(concatenated list)를 나타낸다.
Figure 112009033642731-pct00068
"ARNAVUT, Ziya: Permutation Techniques in Lossless Com-pression. Nebraska, University, Computer Science, Dissertation, 1995" 논문에서는 몇 가지 레머 반전 챠트 구성 규칙을 사용하였다고 기재하고 있지만, 나머지 세 가지 반전 챠트 구성 규칙(RBL, LSL, LBL)의 상세한 정의 및 치환데이터를 복구하는 알고리즘에 대해서는 설명하고 있지 않다. 이 때문에, 해당 정의 및 알고리즘에 대해서 여기에서 설명하고자 한다.
정의 (레머 반전 챠트 RB):
Figure 112009033642731-pct00069
을 치환데이터라 할 경우에, 레머 반전 챠트 RB
Figure 112009033642731-pct00070
는 아래와 같이 정의된다.
Figure 112009033642731-pct00071
Figure 112009033642731-pct00072
정의 (레머 반전 챠트 LS):
Figure 112009033642731-pct00073
을 치환데이터라 할 경우에, 레머 반전 챠트 LS
Figure 112009033642731-pct00074
는 아래와 같이 정의된다.
Figure 112009033642731-pct00075
Figure 112009033642731-pct00076
정의 (레머 반전 챠트 LB):
Figure 112009033642731-pct00077
을 치환데이터라 할 경우에, 레머 반전 챠트 LB
Figure 112009033642731-pct00078
는 아래와 같이 정의된다.
Figure 112009033642731-pct00079
Figure 112009033642731-pct00080
예: 레머 반전 챠트 LB의 구성 및 치환데이터의 상응하는 복원의 예를 네 가지 레머 반전 챠트에 대해서 모두 설명한다.
Figure 112009033642731-pct00081
가 전제로서 주어진다.
우선, 치환데이터의 첫 번째 구성요소 σ(1)=4를 취하고 σ 내에서 4보다 큰 σ(1)의 좌측 구성요소들을 카운트한다(여기서는 구성요소가 없다). 그 다음에 치환데이터의 두 번째 구성요소 σ(2)=3을 취하고 σ 내에서 σ(2)의 좌측으로 더 큰 구성요소들을 카운트한다. 여기서 σ(2)의 인접 구성요소는 3보다 크다. 레머 반전 챠트 LB로부터 해당 치환데이터는 알고리즘
Figure 112009033642731-pct00082
에 의해서 재생성될 수 있다.
Figure 112011036987784-pct00205
σ의 레머 반전 챠트 RSL, RBL, LSL은 다음과 같이 구성된다.
Figure 112009033642731-pct00084
반전 챠트 LB의 구성요소가 보이는 특징은 반전 챠트 RB, RBL, RSL에도 적용된다. 그러나 반전 챠트 LS, RS, LBL, LSL에 있어서, 구성요소들은 다음의 특징을 갖는다.
Figure 112009033642731-pct00085
반전 챠트와 레머 반전 챠트 사이에는, 엔트로피에 대해서 아래와 같은 관계가 있다.
Figure 112009033642731-pct00086
이러한 관계는 각각의 반전 챠트 및/또는 레머 반전 챠트를 구성할 때에, 그 구성요소들이 다른 순서로 고려되기 때문이기 때문이다.
치환데이터의 인코딩을 위한 데이터 레이트가 얼마나 큰지를 설명하기 위해서, 이제 이 코딩방안에 대해서 정의한다. 이러한 방안을 위해서 다양한 반전 챠트 및/또는 레머 반전 챠트의 엔트로피가 고려된다.
정의 (코드화가능성(codability measure)): σ를 |σ|<∞ 인 치환데이터로, Ilb(σ), Irs(σ), Ils(σ), Irb(σ)를 상응하는 반전 챠트로, 그리고/또는 Ilbl(σ), Ilsl(σ), Irbl(σ), Irsl(σ)를 상응하는 레머 반전 챠트로 전제할 경우에, 치환데이터에 대한 코드화가능성은 다음과 같이 정의된다.
Figure 112009033642731-pct00087
8개의 반전 챠트 구성규칙의 어느 것이 사용되었는지를 알리는 시그널링은 3개의 비트로 가능하다. 따라서 최적의 방안을 사용하는 것은, |σ|<∞에 대한 아래의 부등식이 적용될 경우에, 통상의 치환데이터 이진코딩에 비해서 더 저렴하게 된다.
Figure 112009033642731-pct00088
실험에 의하여, H(σ)>C(σ)는 항상 |σ|>1인 경우에 적용되며, 따라서 이 식은 |σ|>4에서 시작할 경우에 참임을 알 수 있었다. 또한, 이는 치환데이터가 log2
Figure 112009033642731-pct00089
보다 작게 인코딩될 수 있는지에 대해서 처음에 제기한 문제에 대한 해답이 된다. 측정상의 이유로, 치환데이터를 동일한 치환데이터에서 시작하여 음향물 마다(piece by piece) 혼합하는 것이 바람직하다. 이 목적을 위해서, "KNUTH, Donald E.: The Art of Computer Programming; Massachusetts: Addison Wesley, 1998 (Vol. 2, p. 145)"의 알고리즘을 사용할 수 있다.
Figure 112009033642731-pct00090
이 알고리즘의 단점은 U를 결정해야 한다는 것이다. 어느 U를 랜덤한 형식으로 선정할지에 무관하게, 전이(transposition) 단계에서 t개의 숫자는 때로는 한 비트 더 혼합되고/혼합되거나, 때로는 한 비트 적게 혼합된다. 그러나 여기서 중요한 것은 단계별로 진행되며, 처음의 혼합되지 않은 치환데이터(동일한 치환데이터)의 혼합을 음향물마다(piece by piece) 감소시키는 알고리즘에 있는 것이다. 도 28에서, 치환데이터의 길이 사이의 특성, 전이 개수 및 코드화가능성을 분명하게 읽을 수 있다. 도 28은 치환데이터의 길이 |s|, 전이 개수 및 코드화가능성 사이의 관계를 나타내고 있다. 동일한 치환데이터가 주어진 경우에, 코드화가능성은 0이 된다. 치환데이터의 구성요소중 적은 수만 변경되더라도 코드화가능성은 급격히 상승한다. 따라서 더 많은 치환데이터 구성요소가 전이에 의해서 변경된다면, 곡선은 위를 향하여 평탄하게 되며, 아래의 표로부터 비트값들을 경험적으로 결정할 수 있다.
Figure 112009033642731-pct00091
이제, 시간값의 분류를 통해 얻어지는 치환데이터의 반전 챠트 및 레머 반전 챠트의 어느 형식이 다양한 음악을 가질 수 있는지에 대해서 설명한다. 이를 위해서, 음악적 음향물과 노이즈성 음향물을 사용하였다. 도 29a 내지 도 29h에서 나타내는 것은 노이즈성 음향물의 제10블록(프레임)의 반전 챠트이고, 도 30a 내지 도 30h에서 나타내는 것은 음악적 음향물의 제20블록(프레임)의 반전 챠트이다. 1024시간값의 블록크기를 기본으로 하고 있다.
도 29a 내지 도 29h와 도 30a 내지 도 30h에서 우선, 증가 및/또는 감소하고 있는 삼각형 커브형상을 볼 수 있다. 이 커브형상은 반전 챠트 구성규칙 및 그 수식에 의해서 도출된 것이다. 또한, 노이즈성 음향물(도 29a 내지 도 29h) 및 음악적 음향물(도 30a 내지 도 30h) 양측에서의 레머 반전 챠트가 매우 상관관계가 없음을 볼 수 있다. 반면에, 음악적 음향물과 노이즈성 음향물 사이의 반전 챠트에서는 분명한 차이점을 볼 수 있다. 위의 반전 챠트와 레머 반전 챠트에 속하는 치환데이터를 고려해 볼 때, 음악적 음향물을 분류하여 얻는 치환데이터는 또한 노이즈성 음향물(도 31a 및 도 31b)의 그것에 비해서 실질적으로 더 깊은 상관관계를 갖고 있다. 도 31a 및 도 31b가 나타내는 것은, 시간값을 분류하여 얻어지는, 노이즈성 음향물의 제10블록 및 음악적 음향물의 치환데이터이다.
도 31의 아래쪽 치환데이터는 주축에 대칭인 오디오신호 중의 하나이다. 이는 오디오신호, 역분류 규칙, 심지어는 반전 챠트 사이에 직접적인 관계가 있는 것처럼 보여진다.
도 32a 및 도 32b와 도 33a 및 도 33b는 한 블록의 오디오신호, x축과 y축이 뒤바뀐 치환데이터, 그에 상응하는 반전 챠트 LS를 나타낸다. 도 32a는 오디오신호의 일부와, 상응하는 치환데이터 및 반전 챠트 LS를 나타내고, 도 32b는 도 32a의 치환데이터와 반전 챠트 LS를 확대한 것이다. 도 33a는 오디오신호의 일부와, 상응하는 치환데이터 및 반전 챠트 LS를 나타내고, 도 33b는 도 33a의 치환데이터와 반전 챠트 LS를 확대한 것이다.
도 32a 및 도 32b와 도 33a 및 도 33b는 원래 오디오신호와, 치환데이터와 반전 챠트 사이의 관계를 분명히 보여준다. 즉, 원래 신호의 진폭이 증가한다면, 치환데이터 및 반전 챠트의 진폭 역시 상승한다. 그 반대도 마찬가지이다. 진폭 비율에 대해서도 언급할 가치가 있다. 치환데이터의 최대 및 최소 진폭은 항상 min(σ(i))=1 에서 max(σ(i))=|σ| 사이의 범위에 있게 된다. 위 식에 의해서, 반전 챠트는 또한 min(σ(i))-1 에서 max(σ(i))-1 사이의 더 작은 진폭을 갖는다. 이와 반대로, 16비트의 오디오신호는
Figure 112009034229441-pct00092
에서
Figure 112009034229441-pct00093
사이의 최대 진폭을 갖는다. 이러한 원리에 대해서 이제 명시적으로 설명할 것이다.
상관관계 전달의 원리: 오디오신호의 상관관계는 보통, x-y축이 바뀐 치환데이터와 이 치환데이터에 속하는 상응하는 반전 챠트에 대칭이 된다. 위에서 나타낸 상관관계 전달의 원리에 의해서, 반전 챠트의 예측은 후속 처리에 적합하다. 설명한 고정형 예측기가 예측에 사용된다. 일반적으로, 레머 반전 챠트의 예측은 양호한 결과를 주지는 않는다. 그러나 매우 희귀한 예외로서, 레머 반전 챠트의 예측의 잔여신호는 때로는 반전 챠트의 잔여신호보다 더 적은 비트를 필요로 한다. 이러한 이유로, 8가지 반전 챠트 구성 규칙 모두를 사용한다. 이는 permCoding()과 같은 단순화된 MATLAB 코드로서 표시할 수 있다.
Figure 112009034229441-pct00168
위에서, 반전 챠트는 항상 삼각형 형태를 갖는 것으로 설명하였다. 드문 경우로서, 반전 챠트 및 레머 반전 챠트의 예측은 비효율적일 수 있다. 이러한 문제를 취급하기 위하여, 반전 챠트 및 레머 반전 챠트의 삼각형상은, 최악의 케이스에서 비교적 저렴한 이진코딩을 실현하는데 사용할 수 있다. 최악의 케이스는, 예컨대 노이즈성 또는 과도성(transient) 오디오신호가 인코딩될 경우에 일어난다. 무엇보다도, 이러한 경우에, 반전 챠트 및/또는 레머 반전 챠트의 예측은 때로는 전혀 양호한 결과를 내지 않는다. 이 때문에, 각 반전 챠트 구성 규칙에 따라서, 필요한 만큼의 그러나 가능한 한 적은 비트가 구성요소에 대한 기존의 이진 표시를 위해서 항상 할당된다. 상응하는 다이나믹 비트 할당 함수는 아래와 같이 정의된다.
정의(비트의 동적 할당 기능 LS, RS, LBL, LSL):
Figure 112011036987784-pct00095
을 치환데이터로, bj (j=1, 2, ..., n)를 반전 챠트 구성 규칙의 구성요소라 전제할 때에, 동적 비트 할당 함수 LS, RS, LBL, LSL은 아래 식으로 정의된다.
Figure 112009033642731-pct00096
정의(비트의 동적 할당 함수 LB, RB, RBL, RSL):
Figure 112011036987784-pct00097
을 치환데이터로, bj (j=1, 2, ..., n)를 반전 챠트 구성 규칙의 구성요소라 전제할 때에, 동적 비트 할당 함수 LB, RB, RBL, RSL은 아래 식으로 정의된다.
Figure 112009033642731-pct00098
아래의 표는 이러한 코딩법의 실행을 나타낸다.
|σ| 동적 비트할당 정적 비트 할당
32 4.063 Bit 5 Bit
64 5.031 Bit 6 Bit
128 6.016 Bit 7 Bit
256 7.008 Bit 8 Bit
512 8.004 Bit 9 Bit
1024 9.002 Bit 10 Bit
2048 10.001 Bit 11 Bit
반전 챠트 및/또는 레머 반전 챠트를 통하여 실현되는 동적 비트할당에 의하여 기존의 치환데이터의 이진 코딩에 비해서 구성요소당 대략 1비트를 절약할 수 있다. 따라서 이러한 코딩 법은 최악의 케이스에 대한 단순하고도 유익한 단계가 된다.
여기서는 최대 압축률을 이루기 위하여, 이미 설명한 탈 상관관계 방법의 잔여신호를 위해 어떻게 엔트로피 코딩을 설계하여야 하는지를 검토해야 한다. "ROBINSON, Tony: SHORTEN: Simple lossless and nearlossless waveform compression. Technical report CUED/FINFENG/TR.156, Cambridge University Engineering Department, December 1994", "REZNIK, Y.: Coding of Prediction Residual in MPEG-4 Standard for Lossless Audio Coding (MPEG-4 ALS). IEEE Proc., ICASSP, 2004" 및 "LIEBCHEN, Tilman; REZNIK, Yuriy; MORIYA, Takehiro; YANG, Dai Tracy: MPEG-4 Audio Lossless Coding. Berlin, Germany : 116th AES Convention, May 2004"는 시간값 예측의 잔여신호가 대략 라플라스 분포를 갖는다는 것을 보여주고 있다. 또한, 이는 비 레머 반전 챠트의 예측의 잔여신호에도 적용된다. 앞에서 설명한 상관관계 전달의 원리는 이에 대한 이유가 된다.
도 34a는 (고정형 예측기의) 예측에 의해 얻어진 반전 챠트 LB의 잔여신호의 확률분포를 보여주고, 도 34b는 코드워드의 길이를 나타낸다. 도 34a는 고정형 예측기를 적용하여 얻어진 비 레머 반전 챠트 LB의 잔여신호의 확률분포를 나타낸다. 잔여신호의 코드워드 길이를 결정하기 위하여 파라미터 k=2인 전방 적응형 라이스코딩을 기본으로 사용한다. 잔여신호의 확률분포가 대략 라플라스 분포에 상응한다는 것을 분명히 알 수 있다. 라플라스 분포의 경우에, 골롬및/또는 라이스코딩은 엔트로피 코딩 방법으로서 최적으로 적용된다(참조: GOLOMB, S. W.: Run-length encodings. IEEE Transactions on Information Theory, IT-12(3), pp. 399-401, July 1966, GALLAGER, Robert G.; VAN VOORHIS, David C.: Optimal Source Codes for Geometrically Distributed Integer Alphabets. IEEE Transactions on Information Theory, March 1975 and SALOMON, David: Data Compression. London : Springer-Verlag, Fourth Edition, 2007, SALOMON, David: Data Compression. London : Springer-Verlag, Fourth Edition, 2007).
최종적으로, 분류된 시간값의 차등코딩의 잔여신호의 확률분포를 고려해야 한다. 도 35a는 분류된 시간값의 차등코딩에 의해서 얻어진 잔여신호의 코드워드의 길이를 나타내고, 도 35b는 확률분포를 나타낸다. 도 35a에서 잔여신호는 대략 기하학적 확률분포를 보임을 알 수 있다. 이 경우에 골롬및/또는 라이스코딩 역시 엔프로피 코딩 방법으로서 매우 잘 적용된다. 도 35b에서, 파라미터 k=8을 갖는 전방 적응형 라이스코딩을 코드워드 길이를 표시하는데 사용하였다.
특정의 확률 분포 이외에도, 잔여신호는 그 값의 범위가 블록에서 블록으로 부분적으로 눈에 띄게 변화하며 값 범위의 많은 값들이 발생조차 하지 않는 특성을 갖고 있다. 도 34에서, 이 경우는 -25, ..., -20 사이의 경우이다. 도 35에서는 값>350에 대해서 이 사실을 볼 수 있다. 따라서 코드의 도표적(tabular) 저장 또는 부차 정보로서의 전송은, 이는 예컨대 허프먼 코딩의 경우일 수 있기 때문에, 적합하지 않다. 라이스나 골롬코드 각각은 파라미터 k나 m에 의해 고유하게 기술되므로, 서로 다른 라이스나 골롬코드 사이에 구별해야 한다면, k나 m만을 부차 정보로서 전송해야 한다. 라이스코딩이나 골롬코딩은 SOLO에서의 잔여신호 표시에 매우 적합하다는 사실에 근거하여, 다양한 라이스 또는 골롬코딩의 방안을 이제 설명할 것이다.
여기서, 라이스파라미터 k나 골롬파라미터 m의 결정은 필수적이다. 파라미터가 너무 크면, 적은 개수에 대해 필요한 비트수가 증가한다. 파라미터가 너무 작으면, 1진법으로 인코딩된 부분에 대해, 특히 인코드해야 할 높은 값에 대해, 필요한 비트수가 급격히 증가한다. 따라서 부적절하게 선택된 파라미터는 엔트로피코드의 데이터 레이트를 심히 증가시킬 수 있으며, 따라서 압축률을 저하시킨다. 라이스코딩이나 골롬코딩을 설계하는 데에 두 가지 방법이 있다.
1. 전방 적응형 라이스/골롬코딩
2. 후방 적응형 라이스/골롬코딩
라이스파라미터 k를 전방적응적으로 계산하는 몇 가지 방법에 대해서는 이미 설명하였다. 전방 적응형 라이스파라미터의 결정에 대한 다른 사실에 대해서 이제 설명하겠다. 잔여신호 e(i)∈Z (i=1, 1, ..., n)가 있을 때, N0 에 대한 Z의 최초의 매핑 M(e(i))이 실행된다. 잔여신호가 이미 N0 내에 완전히 존재하고 있다면, 이는 분류된 시간값의 차등코딩의 잔여신호에 대한 경우기 때문에, 이 매핑은 생략된다. N0 에 대한 매핑 Z는 이하에서 e(i)∈Z에 대해서 가정된다. 따라서 산술 평균값에 대한 두 가지 다른 구성규칙으로서 이하의 수식이 얻어진다.
Figure 112009033642731-pct00099
라이스파라미터를 결정하는 가장 간단한 방법은 모든 라이스파라미터에 대해서 테스트하여 가장 적은 비트 소모량을 갖는 파라미터를 찾는 것이다. 테스트해야 할 라이스파라미터의 범위는 시간신호의 비트 분해능에 의해 한정되어 있기 때문에 이 방법은 그리 복잡하지 않다. 16비트 분해능의 경우에, 최대 16개의 라이스파라미터가 검증되어 있다. 파라미터당 소요 비트는 몇 가지 비트 연산이나 산술 연산에 근거하여 최종적으로 결정될 수 있다. 최적의 라이스파라미터를 찾기 위한 이러한 단계는 파라미터의 직접 계산보다는 약간 더 복잡하다. 그러나 최적의 라이스파라미터를 찾는 것을 항상 보증해준다. 본 발명에서 나타낸 무손실 오디오 코딩 방법에서는, 라이스파라미터를 결정하는 방법을 대부분의 경우에 사용하고 있다. 라이스파라미터의 직접적 결정에 있어서는, "KIELY, A.: Selecting the Golomb Parameter in Rice Coding. IPN Progress Report, Vol. 42-159, November 2004"에 서 유도되는 파라미터 한정값들을 활용할 수 있다.
Figure 112009033642731-pct00100
따라서 최적의 라이스파라미터 k의 범위는

Figure 112009034229441-pct00101
,
에 한정되고, 최적의 파라미터를 결정하기 위하여 3개의 다른 라이스파라미터의 최대치를 테스트하여야 한다.
기하학적 확률 분포가 있다면, 최적의 라이스파라미터는 아래의 수식을 통하여 얻어진다.

Figure 112009034229441-pct00102
,
위 식에서
Figure 112009033642731-pct00103
이다(참조: KIELY, A.: Selecting the Golomb Parameter in Rice Coding. IPN Progress Report, Vol. 42-159, November 2004, p. 6).
전방 적응형 골롬코딩에 있어서, 탐색법에 기반한 파라미터는, 라이스코딩의 경우에 적합한 것으로서, 보다 복잡해진다. 이는 골롬코딩은 파라미터 m의 중간 단계(gradation)가 더 많기 때문이다. 이 때문에, 골롬파라미터는 아래와 같이 계산된다.
Figure 112009033642731-pct00104
(참조: Reznik, Y.: Coding of Prediction Residual in MPEG-4 Standard for Lossless Audio Coding (MPEG-4 ALS). IEEE Proc., ICASSP, 2004) 여기서,
Figure 112009033642731-pct00105
는 아래 식에 의해 계산된다.
Figure 112009033642731-pct00106
전방 적응형 라이스/골롬코딩에 있어서, 인코딩할 데이터 블록을 수 개의 서브블록으로 분해하고 각 서브블록에 대한 자체의 파라미터를 결정하여 전송할 수 있다. 서브블록 개수가 많으면, 파라미터를 위해 필요한 부차 정보가 많아진다. 서브블록의 분해에 대한 효율성은 전송할 파라미터가 어떻게 스스로 인코딩되는지의 여부에 크게 의존하고 있다. 연속된 블록이 대부분 특히 강하게 변하지 않기 때문에, 후속하는 전방 적응형 라이스코딩의 파라미터의 차등코딩은 자명한 것이 된다. 이제 엔트로피 코딩된 데이터 블록의 필요한 데이터 레이트(수반하는 파라미터의 부차 정보를 포함)를 전체 블록을 통해 합산하고, 얼마나 자주 어느 서브블록의 분해가 최소의 데이터량에 필요한지 카운트할 때에, 음향물번호 1의 전체 코딩 단계에 대해서 도 36을 얻을 수 있다. 도 36이 나타내는 것은, 전체 블록 길이가 1024 시간값인 경우에 음향물의 고정형 예측기의 잔여신호(파라미터에 대한 부차 정보를 포함)에 대한 전방 적응형 라이스코딩의 최소 데이터량을 갖는 서브블록 분해의 비율을 나타낸다.
서브블록수 128 64 32 16 8 4 2 1
코딩되지 않은 파라미터 488 243 121 60 30 15 8 4
코딩된 파라미터 304 153 80 44 25 16 10 6
서브블록 데이터 레이트의 합 9748 9796 9833 9872 9911 9926 9938 9952
코드화되지 않은 라이스파라미터의 경우에, 서브블록의 분해는 대부분은 특히 적합하지 않다. 라이스파라미터가 인코딩된 경우에는, 32개의 서브블록은 서브블록의 분해가 없는 경우보다 더 좋다(아래의 표도 참조 바람). 전방 적응형 골롬코딩에 있어서, 서브블록 분해는 대부분 코드화하지 않은 골롬파라미터나 코드화된 골롬파라미터에 대해서 이점이 없다. 도 37이 나타내는 것은, 전체 블록 길이가 1024 시간값인 경우에 음향물의 고정형 예측기의 잔여신호(파라미터에 대한 부차 정보를 포함)에 대한 전방 적응형 골롬코딩의 최소 데이터량을 갖는 서브블록 분해의 비율을 나타낸다. 그러나 골롬파라미터를 인코딩하기 전에 골롬파라미터의 양자화를 해야 할 가능성이 있다. 이로써 그 필요한 데이터 레이트를 줄일 수 있다. 라이스파라미터는 기본적으로 이미 양자화된 골롬파라미터를 표시하는 것이므로, 여 기에서 더 이상의 고려는 하지 않는다.
서브블록수 128 64 32 16 8 4 2 1
코드화되지 않은 파라미터 1242 603 293 142 69 34 17 9
코드화된 파라미터 1123 552 278 139 68 36 19 11
서브블록 데이터 레이트의 합 9752 9794 9827 9863 9899 9913 9924 9938
도 36과 도 37에서, 모든 케이스에 대해서 최적의 서브블록 분해는 없음을 알 수 있다. 따라서 두 가지 가능성을 얻을 수 있다.
1. 문제시되는 모든 서브블록을 테스하고, 가장 작은 데이터 레이트를 갖는 것을 선택함
2. 모든 경우에 평균적으로 적합한 서브블록 분해를 이용함
상기 제1가능성은 압축률은 별로 좋아지지 않으면서 시스템의 복잡도를 크게 증가시키기 때문에, 이하에서는 서브블록 분해를 사용하지 않은 것이다. FwAdaptCoding()은 전방 적응형 라이스및/또는 골롬코딩이 실제로 어떻게 실현되는지를 나타내고 있다. 처음에, 부호있는 잔여신호에 대한 N0 매핑이 수행된다. 이 다음에, 라이스/골롬파라미터가 결정되고, 마지막으로 모든 기호가 이 파라미터에 의해 인코딩된다. 코드는 다음과 같이 예시된다.
Figure 112009033642731-pct00107
후방 적응형 라이스/골롬코딩에서는 이미 인코딩된 이전의 기호로부터 파라미터를 계산한다. 이를 위해서, 직전에 인크드된 기호들을 히스토리 버퍼에 순환적으로(cyclically) 입력시킨다. 히스토리 버퍼에는 두 가지 변수가 있다. 하나는 히스토리 버퍼의 현재의 채워진 칸수(filling level)에 관련된 것이고, 다른 하나는 다음번 기록 위치(writing position)를 저장하는 것이다. 도 38에는 사이즈가 8인 히스토리 버퍼의 기본적인 작용이 설명되어 있다.
처음에, 히스토리 버퍼는 0에서, 채워진 칸수는 0에서, 기록 인덱스는 1에서 시작한다(도 38의 A) 참조). 그 다음에 한 기호씩 차례대로 히스토리 버퍼에 입력되고 기록 위치(화살표)와 채워진 칸수가 갱신된다(B)-E) 참조). 일단 히스토리 버퍼가 전부 다 채워지면, 채워진 칸수는 일정하게 유지되고(여기서는 8), 기록 위치만이 조절(adapt)된다(E)-F) 참조). 후방 적응형 라이스파라미터는 다음과 같이 실행된다. e(i)∈N0 (i=1, 2, ..., W)를 히스토리 버퍼 내의 잔여신호로, W를 히스토 리 버퍼의 크기로, F를 현재의 채워진 칸수로 전제하면, 후방 적응형 라이스파라미터는 아래의 수식에 의해 계산된다.
Figure 112011036987784-pct00108
위 식에서, l(e(i))는 e(i)의 필요 개수를 결정한다. 즉,
Figure 112009033642731-pct00109
이다.
후방 적응형 골롬파라미터의 계산은 아래 식으로 이루어진다.
Figure 112009033642731-pct00110
경험적 실험에 의하면 C=1.15인 것으로 알려졌다. 히스토리 버퍼의 사이즈에 대해서 보면, 이하에서는 후방 적응형 라이드 코딩 및 후방 적응형 골롬코딩 둘 다에 대해서 사이즈 W=16인 경우를 사용하였다. 이는, 너무 느린 적응과 너무 급격한 적응 응답 사이에서 훌륭한 절충안이 된다. 후방 적응형 산술코딩에서와 같이, 디 코딩에 사용한 적응은 인코딩과 동기적이어야 한다. 그렇지 않으면 데이터의 완전한 재생이 불가능하다. 일부의 경우에, 처음에 히스토리 버퍼가 완전하게 채워지지 않으면, 역적응시에 파라미터를 양호하게 예측할 수 없다. 이러한 이유로, 최초의 W값에 대한 전방 적응형 파라미터를 계산하고, 히스토리 버퍼가 완전히 채워진 때에만 그로부터 적응 파라미터를 계산하는 방안을 사용한다.
도 39a 및 39b들이 나타내는 것은 적응형 파라미터의 결정이 어떻게 이루어지는가 이다. 도 39a 및 도 39b에는 전체 블록에 대한 한 가지 최적 파라미터에 대비하여 적응의 작용을 나타내고 있다. 여기서 연한색 선은 경계 영역(여기서부터 적응형 파라미터가 사용됨)을 나타낸다. 간단한 방법으로서, 이 단계에 대한 기술은 BwAdaptivCoding()으로서 나타낼 수 있다. e(i)∈Z의 경우에, 처음에는 N0에 대한 매핑을 다시 한다. 그 다음에, 전방 적응형 파라미터(여기서 최초 W값이 인코딩됨)를 최초 W값(히스토리 버퍼의 크기)을 통해서 결정한다. 히스토리 버퍼가 완전히 채워지면, 적응형 파라미터를 그 다음에 코딩에 사용한다. 예시 코드는 아래와 같다.
Figure 112009033642731-pct00111
라이스/골롬엔트로피 코딩 방법의 수행을 보다 더 완전히 평가하기 위하여 전방 적응형 산술코딩을, 후방 적응형 라이스코딩을 활용하여 추가로 전개하고자 한다. 이를 위해서, 우선, 인코딩하고자 할 데이터의 히스토그램을 구축한다. 이 히스토그램을 이용하여, 산술코딩에 의해서 엔트로피 경계(boundary)에 근접한 코드를 생성할 수 있다. 그러나 포함되어 있는 기호 및 그 출현 확률이 추가적으로 전송되어야 한다. 히스토그램 내의 기호들이 완전히 단순 증가형으로 배열되기 때문에, 차등코딩 d는 후방 적응형 라이스코딩에 앞서서 그 자체로 제시될 것이다. 확률에 대해서만 후방 적응형 라이스코딩된다. 최종적으로, 본 단계의 전체 비용은 산술코딩된 코드, 라이스코딩된 기호와 라이스코딩된 확률을 합한 것이 된다(도 40 참조). 도 40은 후방 적응형 라이스코딩을 사용한 전방 적응형 산술코딩의 일실시예를 나타낸다.
이제, 5가지 엔트로피 코딩 방법에 대해서 서로 비교해보기로 한다. 이를 위해서 전체 시스템에 존재하는 잔여신호 생성 방법 모두에 대한 표 및 데이터 양에 대해서 전체의 각 음향물에 대해서 블록별 평균 바이트를 나타낼 것이다. 아래 표는 LPL 예측기의 잔여신호에 적용된 차등엔트로피 코딩 방법을 비교한 것이다.
음향물번호 합산된 엔트로피 f.-a. 라이스코딩 b.-a. 라이스코딩 f.-a.
골롬코딩
b.-a.
골롬코딩
f.-a.
산술코딩
1 1117 1242 1252 1241 1239 1599
2 1249 1980 1998 1981 1984 2548
4 910 988 974 985 960 1201
13 1026 1096 1111 1095 1098 1350
14 1111 1278 1291 1276 1279 1668
아래 표는 고정형 예측기의 잔여신호에 적용된 차등엔트로피 코딩 방법을 비교한 것이다.
음향물번호 합산된 엔트로피 f.-a. 라이스코딩 b.-a. 라이스코딩 f.-a.
골롬코딩
b.-a.
골롬코딩
f.-a.
산술코딩
1 1100 1243 1246 1241 1233 1599
2 1249 1982 1999 1983 1986 2543
4 908 1001 978 995 964 1218
13 989 1050 1064 1049 1052 1276
14 1140 1370 1381 1367 1370 1797
아래 표는 고정형 예측기에서 탈 상관관계된 비 레머 반전 챠트의 잔여신호에 적용된 차등엔트로피 코딩 방법을 비교한 것이다.
음향물번호 합산된 엔트로피 f.-a. 라이스코딩 b.-a. 라이스코딩 f.-a.
골롬코딩
b.-a.
골롬코딩
f.-a.
산술코딩
1 674 705 677 698 665 780
2 1114 1241 1203 1237 1189 1603
4 683 767 764 755 721 833
13 659 687 670 680 656 754
14 856 922 907 914 883 1058
아래 표는 분류된 시간값의 차등코딩의 잔여신호에 적용된 차등엔트로피 코딩 방법을 비교한 것이다.
음향물번호 합산된 엔트로피 f.-a. 라이스코딩 b.-a. 라이스코딩 f.-a.
골롬코딩
b.-a.
골롬코딩
f.-a.
산술코딩
1 711 756 730 750 721 819
2 868 949 914 937 905 1051
4 471 547 487 528 476 540
13 610 660 624 653 615 694
14 605 678 622 665 613 697
상기 표들로부터 반올림한 산술 평균값을 취하면 아래 표와 같다.
합산된 엔트로피 903
b.-a. 골롬코딩 1031
b.-a. 라이스코딩 1045
f.-a. 골롬코딩 1052
f.-a. 라이스코딩 1058
f.-a. 산술코딩 1282
상기 표를 최종 분석하기 위해서는, 골롬파라미터의 경우에는 라이스파라미터의 경우보다 부차 정보 데이터가 좀더 필요해진다는 사실을 고려해야 한다. 그럼에도 불구하고, 평균적으로 보면, 후방 적응형 골롬코딩법은 SOLO에서 나타나는 잔여신호에 대한 최선의 엔트로피 코딩이 된다. 매우 드문 경우로서, 상기 적응 기법이 실패하여 양호한 결과를 주지 않을 수도 있다. 이 때문에, 후방 적응형 골롬코딩과 전방 적응형 라이스코딩을 조합하여 최종적으로 SOLO에 적용한다.
오디오 코딩법에서 적합한 블록사이즈를 정의하기 위하여, 아래와 같은 사실들을 항상 명심해야 한다.
- 블록 길이를 너무 작게 선택하면, 단순한 코딩 데이터에 대해서 필요한 부차 정보가 상대적으로 많이 필요해진다.
- 블록 길이를 너무 크게 선택하면, 메모리에서 처리해야 할 데이터를 유지하기 위하여 인코더 및 디코더가 많은 데이터 구조를 가져야 한다. 또한, 블록길이 가 클수록, 작은 블록 길이에서보다 최초 인코딩된 데이터가 더 늦게 유효해진다.
실질적으로, 블록 길이는 코딩 방법에 대해서 정해진 요건에 의해서 결정된다. 압축률이 높다면, 매우 큰 블록 길이라도 허용될 수 있다. 그러나 적은 지연시간 또는 적은 메모리 소비량을 갖는 코딩법이 요구된다면, 매우 큰 블록 길이는 거의 불필요하다. 기존의 오디오 코딩법은 보통, 128 내지 4608개의 샘플을 갖는 블록 길이를 사용한다. 샘플링 주파수가 44.1kHz에서, 이는 3 내지 104 msec에 상응한다. 실험은 다른 블록 길이에서 SOLO 동작에 의해서 서로 다른 탈 상관관계 방법이 어떻게 사용되는지를 설명하기 위한 것이다. 이를 위하여, 다양한 음향물들이 블록 길이 256, 512, 1024, 2048개의 샘플에서 인코드되고, 압축률 F가 각각의 부차 정보를 포함하여 결정된다. 따라서 산술 평균값은 블록 길이의 7가지 압축률로 형성된다. 도 41은 이러한 실험을 설명하고 있다.
도 41이 나타내는 것은 압축률 F에 대한 블록사이즈의 영향에 대한 것이다. 여기서 명백히 알 수 있는 것은 블록 길이가 증가하면 압축률이 개선된다는 것이다. 이때, 고정형 예측기에서는, LPC 코딩법에서 보다는 강하게 언급되고 있지 않다. 분류 모델에 따라서 동작하는 탈 상관관계 방법은 1024 샘플의 블록 길이에서 최적으로 작용한다. 최소 블록 길이에서의 높은 압축률이 바람직하기 때문에, 1024 샘플의 블록 길이가 이하에서 바람직하게 사용된다. 그러나 SOLO는 선택적으로 256, 512, 또는 2048 샘플의 블록 길이에서 동작할 수 있다.
앞에서, 무손실 스테레오 잉여부분 감축을 실현할 수 있음을 보였다. 중간채널 M은 2로 나눈 다음에 0에 대해서 다음 정수값으로 반올림하여 얻어진다는 것은, 여기서는 어려움이 있다. 따라서 일부의 경우에 대해서는 정보의 부족이 있게 된다. 예컨대 L=5, R=4인 경우에 그러하다. 이 경우에, 각 채널에 한 개의 값만이 존재한다고 가정한다. 물론, 실제로는 좌측채널 L 또는 우측채널 R은 벡터값이다.
여기서
Figure 112009033642731-pct00112
을 얻을 수 있다. 그러나 이 정보는 측단채널 S=L-R=5-4=1에 이미 포함되어 있다. M에 대한 손실의 반올림은 S가 홀수일 때에만 얻어진다. 이는, 이에 상응하여 디코딩에 적용되어야 한다. 그러나 이러한 중간채널 교정(correction)의 가능성은 M이 R과 S로부터 발생된다면, 회피되어야 한다. 여기서
Figure 112009033642731-pct00113
이다.
위 식은 도 42에 의해 도해된다. 도 42는 무손실 MS인코딩에 대해서 나타낸다. MS 디코딩은 MS 인코딩의 계산규칙을 역산하고, M과 S로부터 다시 우측채널 R및 좌측채널 L을 생성한다. 즉,
Figure 112009033642731-pct00114
위 수식은 도 43으로 도해된다. 도 43은 무손실 MS 코딩의 다른 방식을 나타 낸다.
MS 코딩과 별도로, 스테레오 잉여부분 감축을 위해서는 또한 LS 및 RS 코딩을 SOLO세 사용하여야 한다. 따라서 스테레오 신호의 코딩에는 총4가지 방안이 가능하다.
1. LR코딩: 스테레오 잉여부분 감축이 없음
2. LS코딩: 좌측채널 및 측단채널
3. RS코딩: 우측채널 및 측단채널
4. MS코딩: 중간채널 및 측단채널
어느 코딩 방안을 선택하는 것이 가장 좋은가? 한 가지 가능성으로서, 각 채널의 탈 상관관계 및 엔트로피 코딩을 하기 전에 가장 적은 양의 데이터를 갖는 방안을 선택하는 기준으로 삼는 것이 가능하다. 이러한 방안에 따르면, 이하에서 설명하는 단계와 같이 메모리가 훨씬 적게 소요되며 계산상 복잡도가 절반으로 줄어든다. 그러나 여기서의 품질은 선택기준에 크게 좌우된다. 이를 위해 엔트로피(수식 2.3)를 사용할 수 있지만, 실험에 따르면 엔트로피가 이를 위한 신뢰성있는 선택기준이 되지는 않는다.
다른 가능성으로서, L, R, M, S를 전부 실행하고, 비트 소비량에 따라서 어느 방안을 선택할지 결정할 수 있다. 여기서는 메모리와 계산시간이 더 소요되지만, 항상 최선의 방안을 선택하게 될 수 있을 것이다. 아래에서는 두 번째 방안에 대해서만 사용하였다(도 44 참조).
실험에 의하면, 스테레오 신호에 대해서 이 단계가 어떻게 실행되는지를 알 수 있다. 아래 표에서는 각 방안별로 전체 PIECE에 대한 평균 엔트로피를 비교하였다. 전체적으로 채널당 1024 시간값의 블록 길이를 사용하였다. 맨 오른쪽 열(최선의 방안)에 나타낸 것은 도 44에 따른 단계의 평균 엔트로피이다.
음향물번호 L R S M LR LS RS MS 최선의 방안
16 (L = R) 9.64 9.64 0 9.64 19.28 9.64 9.64 9.64 9.64
17 9.64 9.62 9.55 9.63 19.26 19.19 19.17 19.18 19.16
18 8.74 8.77 7.62 8.74 17.51 16.36 16.39 16.36 16.34
19 7.79 7.84 4.32 7.83 15.63 12.11 12.16 12.15 12.10
20 8.29 8.30 5.07 8.30 16.59 13.36 13.37 13.37 13.35
27 9.18 9.18 9.23 9.11 18.36 18.41 18.41 18.34 18.32
28 9.36 9.38 9.41 9.33 18.74 18.77 18.79 18.74 18.72
29 9.12 9.10 9.15 9.07 18.22 18.27 18.25 18.22 18.20
도 44에 따른 단계는, 동일한 채널의 스테레오 신호에 가장 적합한 것이다. 모노 성향이 강한 음성(voice) 음향물에 있어서 상술한 스테레오 잉여부분 감축은 매우 유용하다. 반면에 17, 27, 28, 29번과 같은 통상의 음악에서는 LR코딩 및 최선의 방안 사이에서 매우 적은 코딩 게인만이 얻어질 뿐이다.
구체적으로, 상황에 따라, 본 발명은 또한 소프트웨어 형태로 구현될 수 있다. 이 경우에는 프로그래머블 컴퓨터 시스템 및/또는 마이크로컨트롤러와 협력하여 전자적으로 읽히는 제어신호와 함께 디지털 기록매체(구체적으로 플로피디스크나 CD) 상에 구현되어 본 발명의 방법이 실행될 수 있다. 따라서 원칙적으로 본 발명은, 본 방법을 실행하기 위한 기계적 독취 캐리어 상에 기록된 프로그램 코드를 갖는 컴퓨터 프로그램 제품에 포함되어, 컴퓨터 및/또는 마이크로컨트롤러 상에서 이 컴퓨터 프로그램이 실행될 수 있다. 다른 말로, 본 발명은 본 방법을 실행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램으로서 구현되어, 컴퓨터 및/또는 마이 크로컨트롤러에서 실행될 수 있다.

Claims (71)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 정보신호의 샘플 시퀀스(각 시퀀스 내의 각 샘플은 원래위치를 포함하고 있음)를 인코딩하는 장치(200)에 있어서,
    샘플들을 그 사이즈에 따라 분류하여 분류된 샘플 시퀀스를 생성하는 분류수단(210)-여기서 각 샘플은 분류된 시퀀스 내에 분류위치를 갖고 있음-;
    분류된 시퀀스의 적어도 일부분 영역에 함수가 적합하도록 상기 함수의 함수 계수를 조절하는 수단(220) ; 및
    상기 함수 계수, 상기 일부분 영역 이외의 샘플 및 이들 샘플의 원래위치와 분류위치 사이의 관계에 대한 정보를 인코딩하는 수단(230)을 포함하는 인코딩 장치(200)
  23. 제22항에 있어서, 필터링, 시간/주파수 변환, 예측, 또는 샘플 시퀀스 생성을 위한 멀티채널 잉여부분 감축을 수행하는 전처리 수단을 추가로 포함하는 것을 특징으로 하는 인코딩 장치(200).
  24. 제22항 또는 제23항에 있어서, 상기 정보신호에는 오디오신호가 포함되는 것을 특징으로 하는 인코딩 장치(200).
  25. 제22항 또는 제23항에 있어서, 상기 인코딩 수단(230)은 원래위치와 분류위치 사이의 관계에 대한 정보를 인덱스 치환 데이터로서 인코딩하도록 구성되는 것을 특징으로 하는 인코딩 장치(200).
  26. 제22항 또는 제23항에 있어서, 상기 인코딩 수단(230)은 원래위치와 분류위치 사이의 관계에 대한 정보를 반전 챠트로서 인코딩하도록 구성되는 것을 특징으로 하는 인코딩 장치(200).
  27. 제22항 또는 제23항에 있어서, 상기 인코딩 수단(230)은 분류된 샘플과, 상기 원래위치와 분류위치 사이의 관계에 대한 정보를, 차등코딩 및 후속 엔트로피 코딩을 함께, 또는 엔트로피 코딩만으로 인코딩하도록 구성되는 것을 특징으로 하는 인코딩 장치(200).
  28. 제22항 또는 제23항에 있어서, 상기 인코딩 수단(230)은 상기 샘플, 치환데이터, 또는 반전 챠트에 근거하여 상기 입력된 샘플에 대한 잔여신호를 결정하는 예측 필터의 계수를 결정하고 인코딩하도록 구성되는 것을 특징으로 하는 인코딩 장치(200).
  29. 제28항에 있어서, 상기 인코딩 수단(230)은 샘플들과 예측필터 출력 신호 사이의 차이에 해당하는 잔여신호를 인코딩하도록 구성되는 것을 특징으로 하는 인코딩 장치(200).
  30. 제29항에 있어서, 상기 인코딩 수단(230)은 엔트로피 코딩으로 상기 잔여신호를 인코딩하도록 구성되는 것을 특징으로 하는 인코딩 장치(200).
  31. 정보신호의 샘플 시퀀스(각 시퀀스 내의 각 샘플은 원래위치를 포함하고 있음)를 인코딩하는 방법에 있어서,
    샘플들을 그 사이즈에 따라 분류하여 분류된 샘플 시퀀스를 생성하는 단계-여기서 각 샘플은 분류된 시퀀스 내에 분류위치를 갖고 있음-;
    분류된 시퀀스의 적어도 일부분 영역에 함수가 적합하도록 상기 함수의 함수 계수를 조절하는 단계; 및
    상기 함수 계수, 상기 일부분 영역 이외의 샘플 및 이들 샘플의 원래위치와 분류위치 사이의 관계에 대한 정보를 인코딩하는 단계를 포함하는 인코딩 방법.
  32. 제31항의 방법을 구현하는 프로그램 코드를 포함하여 컴퓨터상에서 실행 가능하도록 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  33. 정보신호의 샘플 시퀀스(각 시퀀스 내의 각 샘플은 원래위치를 포함하고 있음)를 디코딩하는 장치(250)에 있어서,
    인코딩된 함수 계수, 분류된 샘플, 샘플의 원래위치와 분류위치 사이의 관계에 대한 정보를 수신하는 수단(260);
    샘플을 디코딩하는 수단(270);
    시퀀스의 적어도 일부분 영역에서의 함수 계수에 근거하여 샘플을 근사화하는 수단(280); 및
    상기 원래위치와 분류위치 사이의 관계에 대한 정보에 근거하여 디코딩된 샘플 및 근사화된 샘플을 재분류하여 각 샘플로 하여금 원래위치를 갖도록 하는 재분류수단(290)을 포함하는 디코딩 장치(250).
  34. 제33항에 있어서, 상기 정보신호는 오디오신호를 포함하는 것을 특징으로 하는 디코딩 장치(250).
  35. 제33항 또는 제34항에 있어서, 상기 수신수단(260)은 상기 원래위치와 분류위치 사이의 관계에 대한 정보를 인덱스 치환 데이터로서 수신하도록 구성되는, 디코딩 장치(250).
  36. 제33항 또는 제34항에 있어서, 상기 수신수단(260)은 상기 원래위치와 분류위치 사이의 관계에 대한 정보를 반전 챠트로서 수신하도록 구성되는 것을 특징으로 하는 디코딩 장치(250).
  37. 제33항 또는 제34항에 있어서, 상기 디코딩 수단(270)은 상기 함수 계수, 인코딩된 샘플 또는 상기 원래위치와 분류위치 사이의 관계에 대한 정보를, 엔트로피 디코딩 및 후속 차등디코딩을 함께, 또는 엔트로피 디코딩만으로써 디코딩하도록 구성되는 것을 특징으로 하는 디코딩 장치(250).
  38. 제33항 또는 제34항에 있어서, 상기 수신수단(260)은 예측필터의 인코딩된 계수를 수신하도록 구성되고, 상기 디코딩 수단(270)은 인코딩된 계수를 디코딩하도록 구성되고, 상기 디코딩장치(250)는 상기 계수를 이용하여 샘플을 예측하는 수단을 추가로 포함하는 것을 특징으로 하는 디코딩 장치(250).
  39. 제38항에 있어서, 상기 수신수단(260)은 상기 샘플들 간의 차이에 해당되는 잔여신호(residual signal)를 수신하도록 구성되며, 상기 디코딩 수단(270)은 상기 잔여신호를 상기 샘플에 부가하도록 구성되는 것을 특징으로 하는 디코딩 장치(250).
  40. 제39항에 있어서, 상기 디코딩 수단(270)은 엔트로피 디코딩방식으로 잔여신호를 디코딩하도록 구성되는 것을 특징으로 하는 디코딩 장치(250).
  41. 정보신호의 샘플 시퀀스(각 시퀀스 내의 각 샘플은 원래위치를 포함하고 있음)를 디코딩하는 방법에 있어서,
    인코딩된 함수 계수, 분류된 샘플, 및 샘플의 원래위치와 분류위치 사이의 관계에 대한 정보를 수신하는 단계;
    샘플을 디코딩하는 단계;
    시퀀스의 일부분 영역에서의 함수 계수에 근거하여 샘플을 근사하는 단계; 및
    상기 원래위치와 분류위치 사이의 관계에 대한 정보에 근거하여 디코딩된 샘플 및 근사화된 샘플을 재분류하여 각 샘플로 하여금 원래위치를 갖도록 하는 재분류수단(290)을 포함하는 디코딩 방법.
  42. 제41항의 방법을 구현하는 프로그램 코드를 포함하여 컴퓨터상에서 실행 가능하도록 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  43. 정보신호의 샘플 시퀀스(각 시퀀스 내의 각 샘플은 원래위치를 포함하고 있음)를 인코딩하는 장치(300)에 있어서,
    샘플들을 그 사이즈에 따라 분류하여 분류된 샘플 시퀀스를 생성하는 분류수단(310)-여기서 각 샘플은 분류된 시퀀스 내에 분류위치를 갖고 있음-;
    샘플들의 원래위치와 분류위치 사이의 관련성에 따른 수열을 생성하고 이 수열에 근거하여 상기 입력된 샘플에 대한 잔여신호를 결정하는 예측필터의 계수를 결정하는 수단(320); 및
    분류된 샘플 및 계수를 인코딩하는 수단(330)을 포함하는 인코딩 장치(300).
  44. 제43항에 있어서, 필터링, 시간/주파수 변환, 예측, 또는 샘플 시퀀스 생성을 위한 멀티채널 잉여부분 감축을 수행하는 전처리 수단을 추가로 포함하는 것을 특징으로 하는 인코딩 장치(300).
  45. 제43항 또는 제44항에 있어서, 상기 정보신호는 오디오신호를 포함하는 것을 특징으로 하는 인코딩 장치(300).
  46. 제43항 또는 제44항에 있어서, 상기 수열를 생성하는 수단(320)은 인덱스 치환 데이터를 생성하도록 구성되는 것을 특징으로 하는 인코딩 장치(300).
  47. 제43항 또는 제44항에 있어서, 상기 수열를 생성하는 수단(320)은 반전 챠트를 생성하도록 구성되는 것을 특징으로 하는 인코딩 장치(300).
  48. 제43항 또는 제44항에 있어서, 상기 수열를 생성하는 수단(320)은 상기 수열 및 계수에 근거하여 예측된 예측치들 사이의 차이에 해당하는 잔여신호를 추가로 생성하도록 구성되는 것을 특징으로 하는 인코딩 장치(300).
  49. 제43항 또는 제44항에 있어서, 상기 인코딩 수단(330)은 차등코딩 또는 엔트로피 코딩에 따라, 분류된 샘플 또는 계수를 인코딩하도록 구성되는 것을 특징으로 하는 인코딩 장치(300).
  50. 제48항에 있어서, 상기 인코딩 수단(330)은 추가적으로 잔여신호를 인코딩하도록 구성되는 것을 특징으로 하는 인코딩 장치(300).
  51. 정보신호의 샘플 시퀀스(각 시퀀스 내의 각 샘플은 원래위치를 포함하고 있음)를 인코딩하는 방법에 있어서,
    샘플들을 그 사이즈에 따라 분류하여 분류된 샘플 시퀀스를 생성하는 단계-여기서 각 샘플은 분류된 시퀀스 내에 분류위치를 갖고 있음-;
    샘플들의 원래위치와 분류위치 사이의 관련성에 따른 수열을 생성하고 이 수열에 근거하여 상기 입력된 샘플에 대한 잔여신호를 결정하는 예측필터의 계수를 결정하는 단계; 및
    분류된 샘플 및 계수를 인코딩하는 단계를 포함하는 인코딩 방법.
  52. 제51항의 방법을 구현하는 프로그램 코드를 포함하여 컴퓨터상에서 실행 가능하도록 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  53. 정보신호의 샘플 시퀀스(각 시퀀스 내의 각 샘플은 원래위치를 포함하고 있음)를 디코딩하는 장치(350)에 있어서,
    예측 필터의 계수와 샘플 시퀀스(각 샘플에는 분류위치가 포함됨)를 수신하는 수단(360);
    상기 계수에 근거하여 수열를 예측하는 수단(370); 및
    상기 수열에 따라 샘플 시퀀스를 재분류하여 각 샘플로 하여금 원래위치를 갖도록 하는 재분류수단(380)을 포함하는 디코딩 장치(350).
  54. 제53항에 있어서, 상기 정보신호는 오디오신호를 포함되는 것을 특징으로 하는 디코딩 장치(350).
  55. 제53항 또는 제54항에 있어서, 상기 수열를 예측하는 수단(370)은 수열로서 인덱스 치환 데이터를 예측하는 것을 특징으로 하는 디코딩 장치(350).
  56. 제53항 또는 제54항에 있어서, 상기 예측수단(370)은 수열로서 반전 챠트를 예측하는 것을 특징으로 하는 디코딩 장치(350).
  57. 제53항 또는 제54항에 있어서, 상기 수신수단(360)은 인코딩된 잔여신호를 수신하도록 구성되며, 상기 예측수단(370)은 상기 잔여신호를 이용하여 수열를 예측하도록 구성되는 것을 특징으로 하는 디코딩 장치(350).
  58. 제53항 또는 제54항에 있어서, 차등디코딩 또는 엔트로피 디코딩을 통하여 샘플을 디코딩하도록 구성되는 디코딩 수단을 추가로 포함하는 것을 특징으로 하는 디코딩 장치(350).
  59. 정보신호의 샘플 시퀀스(각 시퀀스 내의 각 샘플은 원래위치를 포함하고 있음)를 디코딩하는 방법에 있어서,
    예측 필터의 계수와 샘플 시퀀스(각 샘플에는 분류위치가 포함됨)를 수신하는 단계;
    상기 계수에 근거하여 수열를 예측하는 단계; 및
    상기 수열에 따라 샘플 시퀀스를 재분류하여 각 샘플로 하여금 원래위치를 갖도록 하는 재분류 단계를 포함하는 디코딩 방법.
  60. 제59항의 방법을 구현하는 프로그램 코드를 포함하여 컴퓨터상에서 실행 가능하도록 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  61. 샘플 시퀀스(각 시퀀스 내의 각 샘플은 원래위치를 포함하고 있음)를 인코딩하는 장치(400)에 있어서,
    샘플들을 그 사이즈에 따라 분류하여 분류된 샘플 시퀀스를 생성하는 분류수단(410)-여기서 각 샘플은 분류된 시퀀스 내에 분류위치를 갖고 있음-; 및
    분류된 샘플을 인코딩하고, 샘플들의 원래위치와 분류위치 사이의 관계에 대한 정보를 갖도록 순서를 가진 수열(상기 수열 내의 각 구성요소는 고유한 값을 가짐)으로 인코딩하는 수단(420)을 포함하되,
    상기 인코딩 수단(420)은 상기 수열 내의 각 구성요소 별로 여러 개의 비트들을 조합시키는데, 첫 번째 구성요소와 조합되는 비트수가 상기 첫 번째 구성요소 다음에 인코딩되는 두 번째 구성요소와 조합되는 비트수보다 크도록 하는 것을 특징으로 하는 인코딩 장치(400).
  62. 제61항에 있어서, 상기 인코딩 수단(420)은 길이 N의 수열를 인코딩하고 동시에 X개의 구성요소를 인코딩하도록 아래의 식에 의해 구성되되, 여기서 G개의 비트들은 아래 식에 의해서 X개의 구성요소와 조합되는 것을 특징으로 하는 인코딩 장치(400),
    Figure 112011036987784-pct00115
    .
  63. 제61항에 있어서, 상기 인코딩 수단(420)은 아래의 식에 의해서 길이 N의 수열를 인코딩하도록 구성되되, 여기서 X는 수열 중에서 이미 인코딩된 구성요소의 개수를 나타내고, G개의 비트들은 수열 중 X+1번째 구성요소와 조합되는 것을 특징으로 하는 인코딩 장치(400),
    Figure 112011036987784-pct00116
    .
  64. N개의 샘플 시퀀스(각 시퀀스 내의 각 샘플은 원래위치를 포함하고 있음)를 인코딩하는 방법에 있어서,
    샘플들을 그 사이즈에 따라 분류하여 분류된 샘플 시퀀스를 생성하는 단계-여기서 각 샘플은 분류된 시퀀스 내에 분류위치를 갖고 있음-;
    분류된 샘플을 인코딩하는 단계; 및
    샘플들의 원래위치와 분류위치 사이의 관계에 대한 정보를 갖는 수열(상기 수열 내의 각 구성요소는 고유한 값을 가짐)를 인코딩하는 단계를 포함하되,
    상기 인코딩단계에서는 상기 수열 내의 각 구성요소 별로 여러 개의 비트들을 조합시키는데, 첫 번째 구성요소와 조합되는 비트수가 상기 첫 번째 구성요소 다음에 인코딩되는 두 번째 구성요소와 조합되는 비트수보다 크도록 하는 것을 특징으로 하는 인코딩 방법.
  65. 제64항의 방법을 구현하는 프로그램 코드를 포함하여 컴퓨터상에서 실행 가능하도록 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  66. 샘플 시퀀스(각 시퀀스 내의 각 샘플은 원래위치를 포함하고 있음)를 디코딩하는 장치(450)에 있어서,
    인코딩된 수열과 샘플 시퀀스(
    각 샘플에는 분류위치가 포함됨)를 수신하는 수단(460),
    상기 원래위치와 분류위치 사이의 관계에 대한 정보를 이용하여 상기 인코딩된 수열(상기 수열 내의 각 구성요소는 고유한 값을 가짐)을 디코딩된 수열로 디코딩하는 수단(470)-여기서, 디코딩 수단(470)은 상기 수열 내의 각 구성요소 별로 여러 개의 비트들을 조합시키는데, 첫 번째 구성요소와 조합되는 비트수가 상기 첫 번째 구성요소 다음에 디코딩 되는 두 번째 구성요소와 조합되는 비트수보다 크도록 함-; 및
    인코딩된 수열에 근거하여 샘플 시퀀스를 재분류함으로써, 인코딩된 시퀀스 내의 각 샘플이 그 원래위치에 있도록 하는 재분류수단(480)을 포함하는 디코딩 장치(450).
  67. 제66항에 있어서, 상기 디코딩 수단(470)은 길이 N의 수열를 디코딩하고 동시에 X개의 구성요소를 디코딩하도록 아래의 식과 같이 구성되되, 여기서 G개의 비트들은 아래 식에 의해서 X개의 구성요소와 조합되는 것을 특징으로 하는 디코딩 장치(450),
    Figure 112011036987784-pct00117
    .
  68. 제66항에 있어서, 상기 디코딩 수단(470)은 길이 N의 수열를 디코딩하도록 아래의 식에 의해 구성되되, 여기서, X는 수열 중에서 이미 인코딩된 구성요소의 개수를 나타내고, G개의 비트들은 수열 중 X+1번째 구성요소와 조합되는 것을 특징으로 하는 디코딩 장치(450),
    Figure 112011036987784-pct00118
    .
  69. 샘플 시퀀스(각 시퀀스 내의 각 샘플은 원래위치를 포함하고 있음)를 디코딩하는 방법에 있어서,
    인코딩된 수열과 샘플 시퀀스(각 샘플에는 분류위치가 포함됨)를 수신하는 단계;
    상기 원래위치와 분류위치 사이의 관계에 대한 정보를 이용하여 상기 인코딩된 수열(상기 수열 내의 각 구성요소는 고유한 값을 가짐)을 디코딩된 수열로 디코딩하는 단계-여기서, 수열의 각 구성요소별로 여러 개의 비트들을 서로 조합시키는데, 첫 번째 구성요소와 조합되는 비트수가 상기 첫 번째 구성요소 다음에 디코딩 되는 두 번째 구성요소와 조합되는 비트수보다 크도록 함-; 및
    인코딩된 수열에 근거하여 샘플 시퀀스를 재분류함으로써, 인코딩된 시퀀스 내의 각 샘플이 그 원래위치에 있도록 하는 재분류 단계를 포함하는 디코딩 방법.
  70. 제69항의 방법을 구현하는 프로그램 코드를 포함하여 컴퓨터상에서 실행 가능하도록 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  71. 제44항 에 있어서, 상기 인코딩 수단(330)은 추가적으로 잔여신호를 인코딩하도록 구성되는 것을 특징으로 하는 인코딩 장치(300).
KR1020097011487A 2006-11-16 2007-11-16 인코딩 및 디코딩 장치 KR101122573B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE102006054080.8 2006-11-16
DE102006054080 2006-11-16
DE102007017254.2 2007-04-12
DE102007017254A DE102007017254B4 (de) 2006-11-16 2007-04-12 Vorrichtung zum Kodieren und Dekodieren
PCT/EP2007/009941 WO2008058754A2 (de) 2006-11-16 2007-11-16 Vorrichtung zum kodieren und dekodieren

Publications (2)

Publication Number Publication Date
KR20090087902A KR20090087902A (ko) 2009-08-18
KR101122573B1 true KR101122573B1 (ko) 2012-03-22

Family

ID=39283871

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097011487A KR101122573B1 (ko) 2006-11-16 2007-11-16 인코딩 및 디코딩 장치

Country Status (9)

Country Link
US (1) US20100027625A1 (ko)
EP (1) EP2054884B1 (ko)
JP (1) JP5200028B2 (ko)
KR (1) KR101122573B1 (ko)
CN (1) CN101601087B (ko)
AT (1) ATE527655T1 (ko)
DE (1) DE102007017254B4 (ko)
HK (1) HK1126568A1 (ko)
WO (1) WO2008058754A2 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521540B2 (en) 2007-08-17 2013-08-27 Qualcomm Incorporated Encoding and/or decoding digital signals using a permutation value
KR101487190B1 (ko) * 2008-09-11 2015-01-28 삼성전자주식회사 압축 코덱을 구비한 플래시 메모리 집적 회로
CN101615911B (zh) * 2009-05-12 2010-12-08 华为技术有限公司 一种编解码方法和装置
CN101609680B (zh) * 2009-06-01 2012-01-04 华为技术有限公司 压缩编码和解码的方法、编码器和解码器以及编码装置
CA2778368C (en) 2009-10-20 2016-01-26 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using an iterative interval size reduction
US8755619B2 (en) * 2009-11-19 2014-06-17 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image data using run of the image data
MY153845A (en) 2010-01-12 2015-03-31 Fraunhofer Ges Forschung Audio encoder, audio decoder, method for encoding and audio information, method for decoding an audio information and computer program using a hash table describing both significant state values and interval boundaries
FI3751564T3 (fi) * 2010-07-20 2023-01-31 Audiokooderi, audiokoodausmenetelmä ja tietokoneohjelma
KR101206000B1 (ko) * 2010-12-31 2012-11-28 전자부품연구원 Mpeg-4 als vlsi 구현을 위한 저복잡도 가변 차수 단기 예측기
US9343076B2 (en) 2011-02-16 2016-05-17 Dolby Laboratories Licensing Corporation Methods and systems for generating filter coefficients and configuring filters
US9058223B2 (en) * 2011-04-22 2015-06-16 Microsoft Technology Licensing Llc Parallel entropy encoding on GPU
GB2490879B (en) * 2011-05-12 2018-12-26 Qualcomm Technologies Int Ltd Hybrid coded audio data streaming apparatus and method
US11039138B1 (en) * 2012-03-08 2021-06-15 Google Llc Adaptive coding of prediction modes using probability distributions
US10873761B2 (en) * 2012-04-13 2020-12-22 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a subset of transform units of encoded video data
US10844689B1 (en) 2019-12-19 2020-11-24 Saudi Arabian Oil Company Downhole ultrasonic actuator system for mitigating lost circulation
CN112185400A (zh) 2012-05-18 2021-01-05 杜比实验室特许公司 用于维持与参数音频编码器相关联的可逆动态范围控制信息的系统
KR101647576B1 (ko) * 2012-05-29 2016-08-10 노키아 테크놀로지스 오와이 스테레오 오디오 신호 인코더
US10003793B2 (en) 2012-10-01 2018-06-19 Google Technology Holdings LLC Processing of pulse code modulation (PCM) parameters
US9490836B2 (en) * 2012-10-26 2016-11-08 Altera Corporation Apparatus for improved encoding and associated methods
US9942063B2 (en) 2012-10-26 2018-04-10 Altera Corporation Apparatus for improved encoding and associated methods
US9485222B2 (en) * 2013-08-20 2016-11-01 Hewlett-Packard Development Company, L.P. Data stream traffic control
CN105493182B (zh) * 2013-08-28 2020-01-21 杜比实验室特许公司 混合波形编码和参数编码语音增强
TWI671734B (zh) 2013-09-12 2019-09-11 瑞典商杜比國際公司 在包含三個音訊聲道的多聲道音訊系統中之解碼方法、編碼方法、解碼裝置及編碼裝置、包含用於執行解碼方法及編碼方法的指令之非暫態電腦可讀取的媒體之電腦程式產品、包含解碼裝置及編碼裝置的音訊系統
CN105100812B (zh) * 2014-05-23 2019-01-04 成都市高博汇科信息科技有限公司 一种图像发送、接收方法和装置
CN104318926B (zh) * 2014-09-29 2018-08-31 四川九洲电器集团有限责任公司 基于IntMDCT的无损音频编码方法、解码方法
CN104392725A (zh) * 2014-12-02 2015-03-04 中科开元信息技术(北京)有限公司 多声道无损音频混合编解码方法及装置
DE102015217724A1 (de) * 2015-09-16 2017-03-16 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erstellen einer asymmetrischen Prüfsumme
EP3644515B1 (en) * 2017-06-22 2022-08-24 Nippon Telegraph And Telephone Corporation Encoding device, decoding device, encoding method, decoding method and program
CN107582046B (zh) * 2017-09-18 2022-03-01 山东正心医疗科技有限公司 心电实时监护方法
EP3467824B1 (en) 2017-10-03 2021-04-21 Dolby Laboratories Licensing Corporation Method and system for inter-channel coding
US10630459B2 (en) 2018-09-13 2020-04-21 Viasat, Inc. Synchronizing and aligning sample frames received on multi-component signals at a communications receiver
TW202102010A (zh) 2019-05-24 2021-01-01 瑞典商赫爾桑茲股份有限公司 用於無損資料壓縮和解壓縮的方法、裝置、和電腦程式產品
US11403310B2 (en) * 2020-02-28 2022-08-02 Verizon Patent And Licensing Inc. Systems and methods for enhancing time series data compression for improved data storage
CN111431716B (zh) * 2020-03-30 2021-03-16 卓尔智联(武汉)研究院有限公司 数据传输方法、装置、计算机设备和存储介质
CN112435674A (zh) * 2020-12-09 2021-03-02 北京百瑞互联技术有限公司 优化频谱数据的lc3算术编码搜索表的方法、装置、介质
CN113890737B (zh) * 2021-09-27 2024-01-26 清华大学 一种信息编码方法、信息编码系统及相关装置
CN114173081A (zh) * 2021-12-13 2022-03-11 济南大学 一种远程音视频方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006000842A1 (en) 2004-05-28 2006-01-05 Nokia Corporation Multichannel audio extension

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3975587A (en) * 1974-09-13 1976-08-17 International Telephone And Telegraph Corporation Digital vocoder
US4903301A (en) * 1987-02-27 1990-02-20 Hitachi, Ltd. Method and system for transmitting variable rate speech signal
JP3498375B2 (ja) * 1994-07-20 2004-02-16 ソニー株式会社 ディジタル・オーディオ信号記録装置
JP3011038B2 (ja) * 1994-12-02 2000-02-21 ヤマハ株式会社 音声情報圧縮方法及び装置
JP3353868B2 (ja) * 1995-10-09 2002-12-03 日本電信電話株式会社 音響信号変換符号化方法および復号化方法
US6731811B1 (en) * 1997-12-19 2004-05-04 Voicecraft, Inc. Scalable predictive coding method and apparatus
US6028541A (en) * 1998-03-12 2000-02-22 Liquid Audio Inc. Lossless data compression with low complexity
JP2000165252A (ja) * 1998-11-18 2000-06-16 Neucore Technol Inc データ圧縮方法および装置
IL138230A (en) * 1999-01-07 2005-06-19 Koninkl Philips Electronics Nv Efficient coding of side information in a lossless encoder
US6842735B1 (en) * 1999-12-17 2005-01-11 Interval Research Corporation Time-scale modification of data-compressed audio information
JP2002077255A (ja) * 2000-08-29 2002-03-15 Fujitsu Ltd 画像配信方法及びその画像送信装置及びルータ装置
US7047169B2 (en) * 2001-01-18 2006-05-16 The Board Of Trustees Of The University Of Illinois Method for optimizing a solution set
US20020198708A1 (en) * 2001-06-21 2002-12-26 Zak Robert A. Vocoder for a mobile terminal using discontinuous transmission
JP2003022192A (ja) * 2001-07-09 2003-01-24 Hitachi Ltd ブロックソート圧縮アルゴリズムを用いた圧縮プログラミング方法、該圧縮プログラミング方法を用いたプロセッサシステム及び情報配信サービス方法
US7260215B2 (en) * 2001-09-04 2007-08-21 Portauthority Technologies Inc. Method for encryption in an un-trusted environment
WO2003026308A2 (de) * 2001-09-14 2003-03-27 Siemens Aktiengesellschaft Verfahren und vorrichtung zur verbesserten codierung und decodierung von videosignalen
US6847682B2 (en) * 2002-02-01 2005-01-25 Hughes Electronics Corporation Method, system, device and computer program product for MPEG variable bit rate (VBR) video traffic classification using a nearest neighbor classifier
DE10230809B4 (de) * 2002-07-08 2008-09-11 T-Mobile Deutschland Gmbh Verfahren zur Übertragung von Audiosignalen nach dem Verfahren der priorisierenden Pixelübertragung
JP3997171B2 (ja) * 2003-03-27 2007-10-24 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム
DE10322722B4 (de) * 2003-05-20 2005-11-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Synchronisieren eines Audiossignals mit einem Film
JP4465362B2 (ja) * 2004-09-10 2010-05-19 パイオニア株式会社 画像処理装置、画像処理方法、および画像処理プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006000842A1 (en) 2004-05-28 2006-01-05 Nokia Corporation Multichannel audio extension

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RAAD M ET AL: "Scalable audio coding employing sorted sinusoidal parameters" SIGNAL PROCESSING AND ITS APPICATIONS, SIXTH INTERNATIONAL, SYMPOSIUM ON. 2001 AUG. 16-16, 2001, PISCATAWAY, NJ, USA,IEEE.

Also Published As

Publication number Publication date
WO2008058754A2 (de) 2008-05-22
WO2008058754A3 (de) 2008-07-10
US20100027625A1 (en) 2010-02-04
ATE527655T1 (de) 2011-10-15
CN101601087B (zh) 2013-07-17
KR20090087902A (ko) 2009-08-18
HK1126568A1 (en) 2009-09-04
JP2010510533A (ja) 2010-04-02
DE102007017254A1 (de) 2008-07-17
EP2054884A2 (de) 2009-05-06
EP2054884B1 (de) 2011-10-05
JP5200028B2 (ja) 2013-05-15
CN101601087A (zh) 2009-12-09
DE102007017254B4 (de) 2009-06-25

Similar Documents

Publication Publication Date Title
KR101122573B1 (ko) 인코딩 및 디코딩 장치
Schuller et al. Perceptual audio coding using adaptive pre-and post-filters and lossless compression
EP1905000B1 (en) Selectively using multiple entropy models in adaptive coding and decoding
KR100954181B1 (ko) 코딩 효율을 향상시키기 위한 압축장치, 압축방법, 디코더, 디코딩 방법, 컴퓨터 프로그램을 수록한 기록매체 및 압축된 파라미터 표현을 수록한 기록매체
JP4521032B2 (ja) 空間音声パラメータの効率的符号化のためのエネルギー対応量子化
US7693709B2 (en) Reordering coefficients for waveform coding or decoding
US7684981B2 (en) Prediction of spectral coefficients in waveform coding and decoding
RU2555221C2 (ru) Канальное кодирование на основе комплексного преобразования с частотным кодированием с расширенной полосой
EP1396843B1 (en) Mixed lossless audio compression
JP4934020B2 (ja) 可逆マルチチャネル・オーディオ・コーデック
AU2007250308B2 (en) Information signal coding
US6675148B2 (en) Lossless audio coder
EP1734511B1 (en) Entropy coding by adapting coding between level and run-length/level modes
JP4800379B2 (ja) 最大ビットレートを保証する情報の無損失符号化
US6593872B2 (en) Signal processing apparatus and method, signal coding apparatus and method, and signal decoding apparatus and method
KR101243412B1 (ko) 무손실의 다채널 오디오 코덱
JPH09106299A (ja) 音響信号変換符号化方法および復号化方法
Muin et al. A review of lossless audio compression standards and algorithms
Hidayat et al. A critical assessment of advanced coding standards for lossless audio compression
US20130197919A1 (en) &#34;method and device for determining a number of bits for encoding an audio signal&#34;
Creusere Quantifying perceptual distortion in scalably compressed MPEG audio
Hirschfeld et al. Ultra low delay audio coding with constant bit rate
Muin et al. A review of lossless audio compression standards and algorithms
Fan A stereo audio coder with a nearly constant signal-to-noise ratio
KR20080010981A (ko) 데이터 부호화/복호화 방법

Legal Events

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

Payment date: 20150129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170217

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190214

Year of fee payment: 8