KR100220861B1 - 고품질 오디오용 낮은 시지연 변환인코더, 디코더 및 인코딩/디코딩방법 - Google Patents

고품질 오디오용 낮은 시지연 변환인코더, 디코더 및 인코딩/디코딩방법 Download PDF

Info

Publication number
KR100220861B1
KR100220861B1 KR1019900702168A KR900702168A KR100220861B1 KR 100220861 B1 KR100220861 B1 KR 100220861B1 KR 1019900702168 A KR1019900702168 A KR 1019900702168A KR 900702168 A KR900702168 A KR 900702168A KR 100220861 B1 KR100220861 B1 KR 100220861B1
Authority
KR
South Korea
Prior art keywords
window
length
analysis
transform
signal
Prior art date
Application number
KR1019900702168A
Other languages
English (en)
Other versions
KR920702100A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27404960&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100220861(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US07/458,894 external-priority patent/US5109417A/en
Application filed by 쥬더, 에드 에이., 돌비 레버러토리즈 라이쎈싱 코오포레이션 filed Critical 쥬더, 에드 에이.
Publication of KR920702100A publication Critical patent/KR920702100A/ko
Priority to KR1019990003414A priority Critical patent/KR100214252B1/ko
Application granted granted Critical
Publication of KR100220861B1 publication Critical patent/KR100220861B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/66Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission
    • H04B1/665Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission using psychoacoustic properties of the ear, e.g. masking effect

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Analogue/Digital Conversion (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Error Detection And Correction (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

고품질 음악에 응용하기 위한 저속 비트(매초당 192킬로비트) 변환 인코더/디코더 시스템(44.1㎑ 또는 48㎑ 샘플링 속도)은 짧은 시영역 샘플 블록(128샘플 블록)을 사용하기 때문에, 시스템 신호 전송 지연은 조작자에게 실시간 청각피이드백을 위해 충분히 짧다. 주의깊게 설계된 분석/합성 윈도우들의 쌍들은 짧은 샘플 블록들을 사용함에도 불구하고 충분한 변환 주파수 선택도를 달성하는데 사용된다. 디코더의 합성 윈도우는, 그 응답과 인코더의 분석 윈도우의 응답의 곱이 2개의 인접한 중첩 샘플 블록을 위해 1로서 합해지는 복합 응답을 생성하는 특성을 가지고 있다. 인접한 시영역 신호 샘플 블록들은 분석 및 합성 윈도우들의 영향을 제거하도록 중첩되고 가산된다. 적절한 분석/합성 윈도우 쌍들을 유도하는 기술이 제공돈다. 인코더에서, 시영역 앨리어징 제거기술에 의한 수정된 DCT 및 수정된 DST의 교대 응용에 의한 함수를 갖는 이산형 변환 또는 대안적으로 이산형 프뤼에 변환은 주파수 영역 변환계수를 발생시키는데 사용된다. 변환계수들은 심리음향적인 차단에 기초하여 적응적으로 결정된 가변수의 비트들과 고정수의 비트들을 할당함으로써 비균일하게 양자화된다. 고정비트와 적응비트 할당하는 기술이 설명된다. 적응적으로 할당된 비트에 대한 측정보의 전송은 필요하지 않다. 에러 코드 및 보호된 데이터는 잡음 버스트에 대한 감도를 감소시키기 위하여 인코더로부터 포매트된 프레임 출력을 통해 분산될 수 있다.

Description

[발명의 명칭]
고품질 오디오용 낮은 시지연 변환인코더, 디코더 및 인코딩/디코딩방법
[발명의 상세한 설명]
[기술분야]
본 발명은 일반적으로 음악신호와 같은 오디오 신호의 고품질 저속비트 디지털 신호처리에 관한 것이다. 특히, 본 발명은 그러한 신호변환 인코더 및 디코더에 관한 것으로, 그 인코더 및 디코더는 단기의 신호전송지연이 이루어진다. 단기 지연은 스피커가 그 자신의 목소리를 조정해야만 하는 방송오디오와 같은 응용분야에서는 중요하다. 음성피드백에서의 지연은 그 지연이 매우 짧지 않는한 심각한 언어혼란을 초래하게 된다.
[배경 기술]
[서론]
종래에는 고품질 신호들을 코딩변환할 때에는 장신호 샘플 블록길이를 사용하여서 좋지 않은 가청왜곡을 생성함이 없이 저속비트를 달성하였다. 예를 들면 유럽 특허 EP 0 251 028호에 개시된 변환코더는 1024샘플의 블록길이를 사용한다. 블록이 짧을수록 변환코더의 선택도를 저하시키기 때문에 긴 블록길이를 요구하였다. 필터 선택도는 충분한 필터 뱅크 선택도를 갖는 변환 코더들이 코드화된 신호의 주요 성질을 저하시킴이 없이 비트 속도를 감소시키기 위하여, 인간의 청각에 대한 심리적인 음향차폐성질을 이용할 수 있기 때문에 임계적이다.
긴 블록길이를 사용하는 코더들은 다음의 2가지 문제점을 가지고 있다:
(1) 변환블록을 통하여 과도효과의 일시적인 확산에 의해 야기된 큰 과도기를갖는 신호들의 가청왜곡, 및
(2) 인코딩 및 디코딩 과정을 통하여 신호의 과도한 전송 지연 종래의 코더에 있어서, 이들 처리 지연들은 스피커가 그 자신의 음성을 조정해야만 하는 방송오디오와 같은 응용들에 있어서는 너무 크다. 음성 피드백에서의 지연은 그 지연이 매우 짧게 유지되지 않는 한 심각한 언어혼란을 초래한다.
배경기술에 대해서는 이하의 배경기술 요약란에서 더 상세히 논의될 것이다.
[배경기술 요약]
주어진 신호를 적절하게 나타내기 위해 소요되는 정보의 양을 최소화하는 방법을 찾아내는 것은 신호처리분야에서 상당한 관심사이다. 소요되는 정보를 축소시킴으로써, 신호들은 더 낮은 대역폭을 갖는 통신채널 상에서 전송될 수 있거나, 또는 더 좁은 공간내에 저장될 수 있다. 디지털 기술에 대해서, 최소정보를 요구하는 것은 최소 2진비트를 요구한다는 것과 동일한 의미이다.
2개의 요인이 비트의 요구사항을 감소시키는 것을 제한하고 있다.
(1) 대역폭 W의 신호는 2W이상의 주파수에서 취한 일련의 샘플로써 정확하게 표시될 수 있다. 이것은 나이키스트(Nyquist) 샘플링비율이다. 그러므로, 대역폭이 W이고 길이가 T초인 신호는 정확히 표시하기 위하여 적어도 2WT수의 샘플을 요구하고 있다.
(2) 연속적인 범위의 값들중 어느 값을 취할 수 있는 신호샘플들의 양자화(quantization)는 양자화단계의 크기 또는 해상도에 비례하는 신호를 표시함에 있어서 부정확성을 나타낸다. 이들 부정확성은 양자화에러라 불리운다. 이 에러들은 신호샘플 양자화를 표시하는데 이용되는 비트들의 수에 반비례한다.
만일 코딩기술이 전대역폭에 적용되면, 잡음으로서 명백한 모든 양자화에러는 대역폭에 걸쳐 균일하게 펼쳐 있다. 이 스펙트럼의 선택된 부분들에 적용될 수 있는 기술들은 양자화잡음의 스펙트럼식 확산을 제한할 수 있다. 2가지 이러한 기술들이 부대역코딩 및 변환코딩이다. 이러한 기술들을 이용하여, 양자화에러는 특히 양자화잡음이 더 작은 단계크기를 갖는 대역을 양자화함으로써 특별히 좋지 않은 주파수 대역에서 감소될 수 있다. 부대역코딩은 일련의 디지털밴드패스필터들에 의해 수행될 수 있다. 변환코딩은 일련의 디지털밴드패스필터들을 시뮬레이트하는 수개의 시 영역 대 주파수영역 변환들중 어느 하나에 의해 수행될 수 있다. 변환들이 디지털필터들보다 계산능력 및 하드웨어를 덜 요구하고 수행하기에 용이함에도 불구하고, 변환계수로 표시되는 각 밴드패스필터 "주파수대(frequency bin)"가 균일한 대역폭을 갖는다는 의미에서 변환들은 설계 융통성이 덜하다. 대조적으로 일련의 디지털밴드패스필터들은 상이한 부대역 대역폭을 갖도록 설계될 수 있다. 그럼에도 불구하고, 변환계수들은 다수의 단일변환계수 대역폭인 대역폭을 갖는 "부대역"을 한정하도록 함께 분류될 수 있다. 이 용어 "부대역" 은 이하 부대역코더 또는 변환코더에 의해 수행되건 총신호 대역폭의 선택된 부분들을 언급하는 것으로 사용된다. 변환코더에 의해 수행되는 부대역은 일련의 하나 또는 다수의 인접한 계수들 또는 주파수대에 의하여 한정된다. 변환코더 주파수대의 대역폭은 각 신호 샘플 블록(변환 길이)내 코더의 샘플링속도 및 샘플수에 따른다.
부대역 밴드패스필터들의 2가지 특징은 고품질 음악신호처리 시스템의 성능에 특히 결정적이다. 첫째 특징은 필터 통과대역 및 정지대역(전이대역)사이에 있는 영역들의 대역폭이다. 제2 특징은 정지대역에서의 감쇠레벨이다. 여기에서 사용되는 것과 같이, 필터 "선택도"의 척도는 전이대역내의 필터 응답곡선의 경사도(전이대역 롤오프 경사), 및 정지대역의 감쇠레벨(정지대역리젝션깊이)이다.
이들 2가지 필터특징들은 인간의 귀가 가변중앙 주파수를 갖는 매우 비동기적인 동조필터들과 유사한 주파수분석 성질을 나타내기 때문에 결정적이다. 인간의 귀의 동조필터들의 주파수 해상력은 오디오 스펙트럼을 통한 주파수로 변화한다. 인간의 귀는 약 500㎐이하의 주파수에 더 가까운 주파수들의 신호를 감지할 수 있으나, 주파수로서 확장하는 것은 가청력의 한계를 상승시키고 있다. 이러한 청각필터의 유효 대역폭은 임계대역으로서 언급되고 있다. 임계대역의 중요한 성질은 심리음향차단(psychoacoustic-masking)효과가 임계 대역내에서 가장 강하게 입증되고 있고, 임계대역내의 지배적인 신호는 모든 임계대역내의 다른 신호들의 가청력을 억제할 수 있다. 그 임계대역 외부 주파수의 신호들은 강하게 차단되지 않는다. 일반적으로, "오디오 엔지니어링 핸드북(K.Blair Bensoned, McGraw-Hill, San Fancisco", 1988, pp 1.40-1.42 and 4.8-4.10)을 참조한다.
만일 가청 스펙트럼의 전체에 걸쳐서 부대역 대역폭이 그 스펙트럼내의 동일부분에서 인간의 귀의 임계 대역폭의 약 절반인 경우, 심리음향적인 차단은 부대역 및 변환코더에 의해 용이하게 완성될 수 있다. 이것은 인간의 귀의 임계대역들이 청각자극에 적응하는 가변중앙주파수를 가지며, 반면에 부대역 및 변환코더들은 전형적으로 고정된 부대역 중앙 주파수들을 가지기 때문이다. 심리 음향차단 효과들을 이용하는 기회를 최적화하기 위하여, 지배적인 신호의 존재로부터 결과되는 어떠한 왜곡 인공현상(distortion artifacts)은 지배적인 신호를 함유하는 부대역에 제한되어야 한다. 만일 부대역 대역폭이 임계 대역의 약 1/2 또는 1/2미만이라면(그리고 만일 전이대역 롤오프가 충분한 경사를 가지고 정지대역 리젝션이 충분히 깊다면), 원하지 않는 왜곡 생성물의 가장 유효하게 차단하는 것은 주파수가 부대역 통과대역 대역폭의 가장자리에 가까운 신호들에서 조차 이루어지기 쉽다. 만일 부대역 대역폭이 임계대역의 1/2이상이라면 지배적인 신호는 귀의 임계대역이 코더의 부대역으로부터 편차가 생기도록 되므로, 귀의 임계대역폭의 외부에 있는 몇몇 원치않는 왜곡생성물은 차단되지 않을 가능성이 있다. 이들 효과들은 귀의 임계대역이 더 좁은 저주파수에서 가장 부당하다.
변환코딩능력은 신호샘플 블록길이, 변환코딩에러들, 앨리어징 제거(aliasing cancellation)를 포함하는 수개의 인자들에 달려 있다.
[블록길이]
변환기능은 변환을 수행하기 전에 전체 블록내의 모든 신호샘플들의 수령을 대기하여야만 하기 때문에, 인코드/디코드 시스템에서 가장 빠른 이론적인 시지연은 신호샘플 블록의 시간주기의 2배이다. 설계 시스템에서 계산은 추가적으로 지연을 가산하고 있어서, 실제적인 시지연은 신호샘플 블록의 시간주기의 3배 또는 4배가 되기 쉽다. 만일 인코드/디코드 시스템이 짧은 전송지연을 요구하는 환경에서 작동되어야만 하면, 짧은 블록길이를 요구하게 된다.
블록길이가 더 짧아짐에 따라서, 변환 인코더 및 디코더능력은 주파수대의 결과적인 확장에 의해서 뿐만 아니라, 밴드패스 필터주파수대의 응답특성의 저하에 의해 나쁘게 영향을 받게 된다: (1) 전이대역 롤오프의 속도 감소 및 (2) 정지대역의 리젝션레벨 감소.
필터능력의 저하는 원하는 신호에 응답하여 가까운 주파수대에서 변환계수들의 원치않는 생성을 초래하거나 또는 원치않는 분담(undesired contribution)을 일으킨다. 이들 원치않는 분담은 사이드로우브(sidelobe) 누설이라 불리운다.
따라서, 샘플링속도에 따라서, 짧은 블록길이는 몇몇 또는 모든 주파수에서, 특히 저주파수에서 귀의 임계 대역폭을 초과하는 공칭 필터 대역폭을 이루게 한다. 만일 공칭 부대역 대역폭이 귀의 임계 대역폭보다 더 좁다면, 넓은 전이대역 및/또는 빈약한 정지대역 리젝션으로서 입증되는 열화된 필터 특성은 귀의 임계대역폭 외부의 중요한 신호성분으로 귀결될 수 있다. 그러한 경우에, 더 큰 제한은 보통 장치의 다른 국면, 특히 양자화 정밀도상에 놓여 있다.
짧은 블록길이로부터 결과하는 다른 단점은 다음 절에서 기술되는 변환코딩 오차들을 약화시키는 것이다.
[변환코딩 오차]
이산형 변환은 유한개 세그먼트를 갖는 신호로만 작용하기 때문에, 그 변환은 완전하게 정확한 세트의 주파수계수를 생성하지 않는다. 엄격히 말하면, 이산형 변환은 무한의 변환길이를 요구하는 참 주파수 영역을 제시하는 것 보다는 오히려 입력된 시영역 신호를 시간-주파수로 표시하고 있다. 여기에서는 논의의 편의상, 이산형 변환의 출력을 주파수영역에서 나타내기로 할 것이다. 사실상, 이산형 변환은 단지 샘플링된 신호가 주파수성분을 가지며 그 주기는 유한개 샘플간격의 약수인 것이다. 이것은 유한길이신호가 주기적이라는 가정에 등가적이다. 가정한 주기성은 유한개의 시간격의 가장자리에서 불연속성을 가지며, 그 유한개의 시간격들은 변환시 가상적인 고주파 성분을 생성시킨다.
이 사실을 최소화하는 한 기술은 신호샘플의 가중치를 더함으로써 변환전에 불연속성을 줄이는 것이며, 그 결과 그 간격의 가장자리를 가까이의 샘플들은 영에 가까워진다. 간격의 중앙에 있는 샘플들은 일반적으로 불변인체 통과된다. 즉 하나의 인자에 의해 가중화된다. 이 가중함수(weighting function)는 "분석윈도우(analysis window)"로서 불리우고 임의의 모양을 가질 수 있으나, 어떤 윈도우들은 부대역 필터 능력에 더욱 유리하게 작용한다.
여기서 사용되는 것과 같이, 용어 "분석윈도우"는 전향 변환(forward transform)의 적용전에 수행된 윈도우함수(windowing function)를 단지 언급하고 있다. 이하, 논의될 것처럼, 본 발명에 사용된 분석윈도우의 설계는 합성윈도우 설계(synthesis window design)를 고려함으로써 억제된다. 그러므로, "분석윈도우"의 설계 및 수행능력의 성질은 그 용어가 당해 기술에서 보통 사용되는 것처럼 본 발명에서 실현되는 것과 같은 분석윈도우들과 상이할 수 있다.
윈도우의 질을 평가하는데 사용될 수 있는 단일의 범주가 없지만, 일반적인 범주는 전이대역 롤오프의 경사도 및 정지대역 리젝션을 포함하고 있다. 몇몇 응용에 있어서, 더 깊은 리젝션레벨을 위해 더 가파른 롤오프를 교환하는 능력은 유용한 질이다.
분석윈도우는 시영역 기능이다. 만일 어떤 다른 보상이 제공되지 않으면 복구된 또는 '합성된'신호는 분석윈도우의 형상에 의하여 왜곡될 것이다. 몇가지 보상방법이 있다. 예를 들면 :
(a) 복구된 신호간격 또는 블록은 역윈도우(inverse window)에 의하여 곱해질 수 있으며 그 가중인자들중의 하나는 분석윈도우의 인자들의 역수이다. 이 기술의 단점은 분석윈도우가 가장자리에서 0에 접근하지 않아야 한다는 것을 명확히 요구하는 것이다.
(b) 분할입력 신호블록들은 중첩될 수 있다. 두 개의 인접한 윈도우들이 그 중첩을 가로질러 하나로 가산되도록 그 분석윈도우를 주의 깊게 설계함으로써 윈도우의 효과는 정확하게 보상될 것이다.(그러나 다음 패러그래프를 참조할 것). 이산형 프뤼에 변환(DFT)과 같은 변환 형식들로 사용될 때, 이 기술은 중첩된 간격에서 신호의 부분이 2번 변환되고 전송되기 때문에, 그 신호를 나타내는 데 요구되는 비트의 수를 증가시킨다. 이런 형식의 변환에서는 중첩된 간격을 갖는 윈도우를 가능한한 작게 설계하는 것이 바람직하다.
(c) 역변환으로부터의 합성된 출력은 또한 윈도우될 필요가 있다. 본 발명에 사용되는 것을 포함하는 몇몇 변환들은 윈도우될 것을 요구한다. 더욱이, 양자화에러들은 역변환으로 하여금 유한시간격의 가장자리에서 영으로 되지 않는 시영역신호를 생성하도록 한다. 더욱이, 이들 에러들은 복구된 시영역신호를 윈도우 중첩 간격안에서 가장 강하게 왜곡할 수 있다. 합성윈도우는 각 합성된 신호블록을 가장자리에 형성시키는데 사용될 수 있다. 이 경우에, 이 신호는 분석될 것이고, 합성윈도우, 즉 신호는 2개의 윈도우들의 곱(product)으로 가중될 것이다. 그러므로, 2개의 윈도우 모두는 2개의 곱이 중첩을 가로질러 하나로 합해지도록 설계될 것이다.(이전 패러그래프의 설명을 참조할 것.)
짧은 변환 샘플 블록은 분석 및 합성윈도우상에 더 큰 보상을 요구한다. 이 변환 샘플 블록이 더 짧아질수록, 필터의 전이대역 및 정지대역을 통하여 더 큰 사이드로우브 누설이 발생한다. 잘 만들어진 형상의 분석윈도우는 이 누설을 감소시킨다. 사이드로우브 누설은 변환으로 하여금 필터의 통과대역 외부로 신호성분의 주파수를 잘못 나타내는 분광계수를 생성하도록 하기 때문에 바람직하지 않다. 이 오전(misrepresentation)은 앨리어징(aliasing)이라 불리우는 왜곡이다.
[앨리어징 제거(aliasing cancellation)]
샘플들 사이의 간격이 신호의 가장 높은 주파수성분의 주기보다 1/2이하일 때, 한 신호가 이산형 샘플들로부터 정확히 복구될 수 있다는 나이퀴스트 이론은 유효하다. 샘플링 속도가 이 나이퀴스트 속도이하일 때, 더 높은 주파수성분들은 더 낮은 주파수성분으로 잘못 표현된다. 더 낮은 주파수 성분은 참성분에 대한 "앨리어스(alias)"이다.
부대역필터들 및 유한 디지털 변환은 완벽한 통과대역필터들은 아니다. 통과대역과 정지대역 사이의 전이는 무한정 가파른 것이 아니고, 정지대역에서의 신호의 감쇠는 무한정 큰 것은 아니다. 결과적으로, 통과대역에서 필터링된 입력신호는 통과대역 컷오프 주파수에 의해 제시된 나이퀴스트 속도에서 샘플링될 지라도, 컷오프주파수위의 전이대역내 주파수들은 충실하게 표시되지 않을 것이다.
앨리어징(aliasing)왜곡이 자동적으로 역변환에 의해 취소되도록 분석 및 합성필터들을 설계할 수 있다. 시영역에서의 구적거울필터(Quadrature Mirror Filters)들은 이 특성을 가지고 있다. 본 발명에서 사용되는 기법을 포함하는 몇몇 변환코더 기술들은 또한 앨리어징(aliasing) 왜곡을 제거한다.
변환코더에서 앨리어징(aliasing) 왜곡의 가청결과를 억제하는 것은 샘플 블록길이가 더 짧아질수록 더 어려워진다. 상기 설명한 것처럼, 더 짧은 샘플 블록들은 필터 성능을 열화시킨다 : 통과대역 대역폭은 증가하고, 통과대역-정지대역 전이는 덜 가파르고, 정지대역 리젝션 열화된다. 결과적으로 앨리어징(aliasing)은 더 두드러지게 된다. 만일 앨리어징(aliasing) 성분이 불충분한 정확도로써 암호화되고 해독되면, 이들 코딩에러들은 역변환이 완전히 앨리어징(aliasing)왜곡을 제거시키는 것을 방해하게 된다. 잔여 앨리어징(aliasing) 왜곡은 그 왜곡이 심리음향적으로 차단되지 않는 한 들을 수 있을 것이다. 짧은 샘플 블록으로써 몇몇 변환 주파수대들은 청각의 임계대역보다 더 넓은 통과대역을 가질 수 있으며, 특히 귀의 임계대역들이 가장 큰 해상도를 갖는 저주파수에서 그러하다. 결과적으로, 앨리어징(aliasing) 왜곡은 차단될 수 없다. 왜곡을 최소화하는 한 방법은 문제의 부대역에서 양자화 정확도를 증가시키는 것이나, 그것은 비트속도를 증가시킬 것을 요구한다.
[비트속도 감소 기술]
상기 기술한 2가지 인자, 즉 나이퀴스트 샘플속도 및 양자화에러들은 신호전송 또는 저장을 특정하게 질적으로 향상시키기 위하여 비트속도를 요구하고 있다. 주어진 신호질에 요구되는 비트속도를 줄이기 위하여 그러한 기술들을 이용하고 있다. 이들 기술들은 신호의 여유도(redundancy) 또는 비관련도(irrelevancy)를 개발하고 있다. 한 신호성분은 그 성분이 예측되거나 또는 이와는 달리 수신기에 의해 제공되는 경우 여유도가 있는 것이다. 한 신호성분은 그 성분이 특정한 질의 표시를 하기 위해 요구되지 않는 경우에 비관련도가 있는 것이다. 본 기술분야에서 몇가지 기술들은 다음을 포함하고 있다.
(1) 예측 : 신호의 주기적인 예측가능한 특징은 수신기가 전류 또는 이전의 신호 특징에 기초한 어떤 성분은 예측하도록 한다.
(2) 엔트로피 코딩 : 높은 발생 가능성을 갖는 성분은 생략 코드로서 표현될 수 있다. 송신기 및 수신기 모두 동일한 코드책을 가져야만 하다. 앤트로피 코딩 및 예측은 계산이 복잡하고 처리가 지연되는 단점을 가지고 있다. 또한, 그들은 고유의 가변 속도출력을 제공하며, 따라서 일정한 비트속도 시스템에서 사용된다면 완충상태(buffering)를 요구할 것이다.
(3) 비균일 코딩 : 대수 또는 비균일 양자화단계로 표현하는 것은 더 큰 양자화 에러를 희생하고 거의 비트를 갖고 있지않는 큰 신호값의 코딩을 허락하고 있다.
(4) 부동점 : 부동점 표현은 잃어버린 정밀도를 희생하여 비트 요구치를 감소시킬 수 있다. 블록 부동점표현은 부동점 가수의 한 블록을 위해 하나의 스케일 인자 또는 지수를 사용하고, 공통으로 시영역 신호들을 코딩할 때 사용된다. 부동점은 특별한 경우의 비균일 코딩이다.
(5) 비트할당 : 정확도에 대한 수신기의 수요는 시간, 신호성분, 강도 또는 주파수에 따라 변할 수 있다. 예를 들면, 대화시의 저주파성분은 이해력 및 스피커인식을 위해서는 매우 중요하고, 그러므로 고주파성분보다는 더 큰 정확도로 전송되어야 한다. 음악신호에 대해서는 상이한 범주가 적용되어야 한다. 몇몇 일반적인 비트 할당 범주는 다음과 같다 :
(a) 성분변화 : 가장 큰 레벨의 AC 전력을 갖는 변환계수에 더 많은 비트가 할당된다.
(b) 성분값 : 가장 큰 진폭 또는 에너지를 갖는 주파수대역을 표시하는 변환계수에 더 많은 비트가 할당된다.
(c) 심리음향적인 파단 : 양자화에러가 다른 신호성분들에 의하여 차단되는(청취할 수 없게 되는) 신호성분들에 더 적은 비트가 할당된다. 이 방법은 가청신호들이 인간이 감지할 수 있게되는 이들 적용예에서는 유일한 것이다. 음악신호와 같은 다중톤(multiple-tone) 신호와 복잡한 파형들보다는 오히려 단일톤(single-tone) 신호들에 대해서 차단은 가장 좋게 이해되고 있다.
[발명의 개시]
본 발명의 목적은 사람에게 실시간 청각적인 피이드백을 위해 사용하기에 충분히 짧은 신호전송지연을 갖는 인코드/디코드 장치 및 방법을 사용하여 광대역정보 특히 음악의 디지털 처리를 제공하는 것이다.
본 발명의 다른 목적은 고질의 전송 또는 저장 및 음악의 재생에 적합한 인코드/디코드 장치 및 방법을 제공하는 것이며, 재생의 질은 예를 들면, 방송오디오 링크에 대해서는 적합하다.
본 발명의 다른 목적은 콤팩트 디스크로부터 얻을 수 있는 것과 같은 양호한 질의 재생을 주관적으로 제공하는 것이다.
본 발명의 또 다른 목적은 로우비트속도를 갖는 디지털 처리장치에 구현된 인코드/디코드 장치 및 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 전송통로에 의한 신호전와(signal corraption)에 대하여 고도의 면역성을 갖는 디지털 처리장치에 구현된 인코드/디코드 장치 및 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 인코드된 신호를 저장하는데 소량의 공간을 요하는 디지털 처리장치에 구현된 인코드/디코드 장치 및 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 짧은 신호전송지연을 달성하기 위하여 짧은 변환블록들을 갖는 변환코딩을 사용하는 디지털 처리 시스템에서 구현된 인코드/디코드 장치 및 방법을 제공하는 것이나 저 비트속도를 사용하는 동안 음악을 높은 질로 재생한다.
본 발명의 다른 목적은 짧은 변환블록들의 사용으로부터 초래하는 변환코더 성능상의 네가티브 효과를 보상하는 것이다.
본 발명의 다른 목적은 음악신호들을 처리하는 변환코더에서 개선된 심리음향적인 차단 기술을 제공하는 것이다.
본 발명의 다른 목적은 변환코더에서 이와 다른 가청왜곡 사실들을 심리음향적으로 보상하는 기술을 제공하는 것이다.
본 발명의 상기 목적들 및 다른 목적들의 더 상세한 설명은 이 명세서, 특히 아래의 별명을 실행하는 모드를 설명하는 절에서 설명될 것이다.
본 발명의 교훈에 따라서, 한 인코더는 광대역 오디오 정보의 디지털 인코딩을 위해 제공되며, 이 인코더는 짧은 신호 전송지연을 갖는다. 이 광대역 오디오신호들은 시영역 샘플 블록들로 샘플되고 양자화되며, 이 샘플 블록들은 이 인코더를 사용하는 인코드/디코드 시스템이 사람에게 실시간 청각 피이드백을 위해 사용될 수 있기에 충분히 짧은 신호 전송지연으로 귀결되는 시간주기를 갖는다. 다음, 각 샘플 블록은 분석윈도우에 의해 변조된다. 다음, 주파수영역 분광성분은 분석윈도우 가중된 시영역 샘플 블록에 응답하여 생성된다. 적응비트할당(adaptive bit allocation)을 갖는 변환코더는 각 변환계수를 분균일하게 양자화하고, 그 계수들은 저장 또는 전송에 적합한 포오맷을 갖는 디지털 출력 속으로 조립된다. 에러정정 코드들은 전송된 신호가 잡음 또는 통신경로상의 혼돈현상을 받기 쉬운 곳에 사용될 수 있다.
본 발명의 다른 교훈에 따라서, 한 디코더는 본 발명의 인코더에 의해 디지털적으로 인코드된 광대역 오디오 신호들을 높은 질로 재생하기 위해 제공하고 있다. 이 디코더는 기억 소자 또는 전송통로를 경유하여 인코더의 디지털출력을 수신한다. 디코더는 포오맷이된 디지털 신호로부터 불균일하게 코드화된 분광성분을 유도하고, 그로부터 주파수영역 분광성분을 재구성한다. 시영역신호 샘플 블록들은 주파수영역의 분광성분을 생성한 인코더에서 그 수단들에 역인 특성을 갖는 수단에 의하여 주파수영역 분광성분에 응답하여 생성된다. 이 샘플 블록들은 합성윈도우에 의하여 변조된다. 이 합성윈도우는 인코더에서 합성윈도우 응답 및 분석윈도우의 응답의 적(product)이 2개의 인접하여 중첩된 샘플 블록들을 위하여 하나로 합해지는 복합응답을 생성하는 특성을 가지고 있다. 인접한 샘플 블록들은 중첩되고 분석 및 합성윈도우들의 가중효과들을 제거하고, 다음 고품질 아날로그 출력으로 전환되는 시영역 디지타이즈된 표현을 회복하도록 중첩되고 가산된다.
본 발명의 다른 교훈에 따라서, 인코더/디코더 시스템은 디지털 인코딩 및 고품질의 광대역 오디오정보를 재생하도록 하며, 이 시스템은 짧은 신호전송 지연을 갖는다. 이 시스템의 인코더부에서, 아날로그 광대역 오디오신호들은 시영역 샘플 블록들로 샘플되고 양자화되며, 이 샘플 블록들은 인코더를 사용하는 인코드/디코드 시스템이 조작자에게 실시간 청각 피이드백을 위하여 사용될 수 있기에 충분히 짧은 신호전송지연으로 귀결하는 시간주기를 갖는다. 다음 각 샘플 블록은 분석윈도우에 의하여 변조된다. 다음 주파수 영역 분광성분은 분석윈도우 가중된 시영역 샘플 블록에 응답하여 생성된다. 적응 비트할당을 포함하는 비균일 분광 코딩은 각 분광 성분을 양자화하고, 그 성분들은 신호전와잡음(signal corrupting noise)을 감지할 수 있는 통신 경로상에 저장 또는 전송에 적합한 디지털 포오맷으로 조립된다. 이 시스템의 디코더부는 기억소자 또는 전송경로를 거쳐서 인코더의 디지털 출력을 수신한다. 이 디코더는 포오맷된 디지털 신호로부터 비균일하게 고드화된 분광성분을 유도하고, 그로부터 주파수 영역 분광성분을 재구성한다. 시영역신호 샘플 블록들은 주파수영역 변환계수를 생성한 인코더에서 그들 수단들의 역(inverse)인 특성을 갖는 수단에 의해 주파수영역 변환계수들에 응답하여 생성된다. 이 샘플 블록은 합성윈도우에 의하여 변조된다. 이 합성윈도우는 인코더에서 합성윈도우 응답 및 분석윈도우의 응답의 적이 2개의 인접하여 중첩된 샘플 블록들은 위하여 하나로 합해지는 복합응답을 생성하는 특징으로 가지고 있다. 인접한 샘플 블록들은 분석 및 합성윈도우들의 가중 효과를 제공하고, 그 다음 고품질 아날로그 출력으로 변환된 시영역신호의 수치화된 표현을 복구하도록 중첩되고 가산된다.
본 발명에 의한 인코더의 실시예에서, 이산형 변환은 분석윈도우 가중된 시영역 샘플 블록들에 응답하여 주파수영역 분광성분을 생성한다. 바람직하게는, 이산형 변환은 수정된 이산형 코사인변환(Discrete Cosine Transform : DCT)와 수정된 이산형 사인변환(Discrete Sine Transform : DST)의 교대 인가와 동등한 기능을 갖는다. 대안적인 실시예에서, 이산형 변환은 이산형 프뤼에 변환(Discrete Frourier Transform : DFT)에 의해 수행될 수 있으나, 실제로 주파수영역에 대한 시영역의 변환은 어느 것이나 사용될 수 있다.
2채널 인코더에 대한 본 발명의 바람직한 실시예에서, 단일 FFT는 각 채널로부터 한 신호샘플 블록을 위하여 동시에 정변환(forward transform)을 계산하는데 이용된다. 2채널 디코더에 대한 본 발명의 바람직한 실시예에서, 단일 FFT는 2개 채널중의 각각으로부터 한 채널, 2개의 변환블록들을 위하여 동시에 역변환을 계산하는데 이용된다.
인코더 및 디코더의 바람직한 실시예에서, 샘플링속도는 44.1㎑이다. 이 샘플링속도가 임계적이지 않으면, 44.1㎑가 적절한 샘플링속도이고, 콤팩트 디스크들에 사용되는 샘플링속도가 바로 그것이기 때문에 편리하다. 대안적인 실시예는 48㎑샘플링속도를 사용하고 있다. 44.1㎑샘플링속도를 사용하는 바람직한 실시예에서, 공칭 주파수응답은 15㎑까지 신장되고, 시영역 샘플 블록들은 128샘플들의 길이를 가지므로, 수용가능하게 낮은 신호전송지연을 제공하며, 이 시스템은 조작자에게 실시간 청각 피이드백을 제공하기 위하여 사용될 수 있다(방송오디오와 같음). 사람의 목소리가 지연된 후 다시 그사람의 귀로 돌아올 때, 그 지연이 매우 짧지 않는한 언어혼란이 발생한다. 예를 들면, 버어나드 에스.리에 의한 "지연된 스피치 피이드백 효과"("Effects of Delayed Speech Feedback" by Bernard S. Lee, Journal of the Acoustical Soc. of America, vol.22, no. 6, November 1950, pp. 824-826). 전반적인 인코드/디코드 시스템은 언어장해문제를 극복하기에 충분히 짧은 약 3배의 샘플 블록주기 또는 약 10밀리초(msec)미만의 지연을 갖도록 되어 있다. 바람직한 실시예에서, 인코더출력의 직렬비트속도는 매초당 192kBits의 차수이다(에러정정 코드들과 같은 경상정보를 포함하여), 신호의 질의 변화레벨을 나타내는 다른 비트속도들이 본 발명의 기본 정신으로부터 벗어남이 없이 사용될 수 있다.
인코더의 바람직한 실시예에서, 비균일 변환코더는 각 변환 계수용 가변 비트길이 코드워드(a variable bit-length code word)를 계산하며, 그 코드워드 비트길이는 현재 신호 내용 때문에 부대역의 잡음이 다른 부대역의 잡음보다 심리음향적인 차단을 덜 받기 쉬운가에 기초하여, 적응비트할당에 의해 결정된 고정수비트와 가변수비트의 합이다. 이 고정수비트들은 부대역내의 단일론 신호의 심리음향적인 차단 효과를 고려한 경험적인 관찰에 기초하여 각 부대역에 할당되고 있다. 이 고정된 비트들의 할당은 저주파에서 귀의 선택도가 더 큰 것에 기인하여, 저주파에서 시스템의 주관적인 성능을 더 빈약하게 하는 것을 고려하고 있다. 복합신호들의 출현으로 차단성능은 단일톤 신호들의 출현에서 보다 보통 양호하지만, 복합신호들의 실재에 의한 차단 효과는 잘 이해될 수도 없고 예측할 수도 없다. 이 시스템은 대부분의 비트들이 고정비트이고, 비교적 적은 비트들이 적응적으로 할당된다는 의미에서 공격적이지는 않다. 이 접근으로써 수개의 장점을 얻을 수 있다. 첫째, 고정비트할당은 요구된 고정비트할당을 확립한 경험적인 과정은 역변환공정을 포함하였기 때문에 역변환에 의해 생성된 원치않는 왜곡생성물을 내부적으로 보상하고 있다. 둘째, 적응비트할당 알고리즘은 상대적으로 간단한 것으로 유지될 수 있다. 더욱이, 적응적으로 할당된 비트들은 인코더와 디코더 사이에서 발생하는 신호전송에러에 더 민감하여, 이것은 그런 에러들이 디코더에서 이들 비트들에 대해 부정확한 값들뿐만 아니라, 부정확한 할당으로 귀결될 수 있기 때문이다.
본 발명에 따라서 비트들을 할당하는 경험적인 기술은 제13도를 참조하여 보다 잘 이해될 수 있으며, 이 제13도에는 청각의 차단에 비교하여 3개의 상이한 비트할당들에 대해 500㎐톤(사인파)을 초래하는 출력 잡음 및 왜곡의 임계대역 스펙트럼(예를 들면, 도시된 잡음 및 왜곡은 청각 임계대역들에 대한 것이다)을 도시하고 있다. 이 도면은 임의의 특정한 데이터보다는 오히려 경험적인 접근 방법을 열거해주고 있다.
할당 A(실선)는 임의의 비트수가 각 변환계수에 할당될 때 500㎐ 사인파에 의해 생성된 잡음 및 왜곡을 도시하는 기준이 된다. 할당 B(짧은 파선)는 할당 A와 동일한 상대비트할당이나, 변환계수당 2비트가 적은 잡음 및 왜곡 생성물을 도시하고 있다. 할당 C(긴파선)는 약 1500㎐까지의 오디오대역의 하부에 있는 주파수들에 대해서 할당 A와 동일하다. 다음, 할당 C는 약 1500㎐ 이상의 오디오대역의 상부에 있는 주파수들에 대해서 할당 B와 동일하다. 점선은 500㎐톤에 대해서 청각 차단곡선을 도시하고 있다.
차단곡선의 신속한 하강에 기인한 3개의 비트할당의 경우에 500㎐이하의 주파수에서 가청 잡음이 존재한다는 것이 관찰될 것이다 : 잡음 및 왜곡 생성곡선은 약 100㎐로부터 300 또는 400㎐까지의 차단 드레숄드이상이다. 2개의 비트들(할당 A 내지 할당 B)을 제거하면, 가청 잡음 및 왜곡을 악화시킨다; 할당 C에 도시된 것처럼 그 톤 이하의 지역을 포함하는 일부분의 스펙트럼 상방에 그 2비트를 다시 가산함으로써 원래 가청잡음 및 왜곡 레벨들을 복구한다. 또한, 가청잡음은 고주파에서 존재하나, 그 오디오 스펙트럼의 그 극한 부분에서 500㎐톤에 의하여 생성된 잡음 및 왜곡 생성물들이 비교적 낮기 때문에 비트들이 제거되고 가산될 때 거의 변화하지 않는다.
여러가지 비트할당에 대한 여러 주파수에서의 톤들에 응답하여 생성된 잡음 및 왜곡을 관찰함으로써, 여러가지 변환계수들의 비트길이들은 오디오스펙트럼을 통한 청각차단에 대한 수용가능한 레벨의 잡음 및 왜곡으로 귀결되도록 할당될 수 있다. 약 100㎐로부터 300 또는 400㎐까지의 지역내에서 차단 드레숄드 이하의 잡음 및 왜곡생성물의 레벨을 하강시키기 위하여 제13도의 실시예에 대해서, 그 잡음 및 왜곡이 차단 드레숄드이하로 떨어질 때까지 500㎐톤을 포함하는 변환계수 및 그 근처의 계수를 위하여 추가비트들을 그 기준할당에 가산시킬 수 있다. 전반적인 변환계수 비트길이 할당이 오디오스펙트럼을 통하여 한변에 하나씩 취한 톤들의 존재에서 수용가능하게 낮은 가청 잡음으로 발생될 때까지, 오디오스펙트럼을 통하여 다른 분들에 대해서 유사한 단계들이 택해질 수 있다. 이것은 컴퓨터시뮬레이션에 의하여 매우 용이하게 수행된다. 고정비트할당부가는 스펙트럼을 거쳐서 각 변환계수로부터 하나 이상의 비트들을 제거함으로써 다소 덜한 것으로 취해진다(할당 B와 같은). 적응적으로 할당된 비트들은 요구되는 문제의 영역 9할당(C와 같은)에서의 수용가능한 레벨로 가청 잡음을 축소하도록 가산된다. 따라서, 제13도의 실시예에서와 같은 비트할당에 대해서 가청 잡음의 증가 및 감소에 대한 경험적 관찰은 본 발명의 고정되고 적응적인 비트할당계획의 기본을 형성한다.
인코더의 바람직한 실시예에서, 비균일하게 양자화된 변환계수들은 블록지수 및 가변길이 코드워드로 구성된 블록 부동점 표시로써 표현된다. 상기 설명한 것처럼, 가변 길이 코드워드는 고정비트길이부와 적응적으로 할당된 비트들의 가변길이부로 구성된다. 각 신호 샘플 블록에 대해서 인코드된 신호는 모두 적응적으로 할당된 비트들의 스트림이 후속되는 코드워드들의 지수 및 고정길이부로 구성된 프레임들로 조립된다. 코드워드의 지수 및 고정길이부는 잡음 버스트 에러들(nosie burst errors)에 손상됨을 줄이기 위하여, 적응적으로 할당된 비트들로부터 분리되어 조립된다.
선행기술에서 많은 코더들과 같이, 본 발명에 상응하는 인코더는 각 프레임에서 적응적으로 할당된 비트들의 부가를 고려하여 측정보를 전송할 필요가 없다. 디코더는 인코더에 의해 사용되는 것과 동일한 할당 알고리즘을 지수들에 작용함으로써 올바른 할당을 추론할 수 있다.
프레임 동기화가 요구되는 곳에서는, 본 발명의 인코더부는 포오맷된 데이터를 프레임 동기화 비트에 부가한다. 이 포오맷된 데이터비트를 우선 모든 1 또는 0의 값을 갖는 건 시퀀스의 비트들의 가능성을 줄이도록 랜더마이즈(randomized)된다. 이것은 특정길이를 초과하는 그러한 시퀀스들을 인내하지 못하는 T-1캐리어와 같은 많은 환경에 필요하다. 비동기식 응용예에 있어서, 프레임내의 유효 데이터가 블록 동기화 시퀀스에 대해 실수를 저지를 확률은 랜덤화를 통해 감소된다. 본 발명의 디코더부에서, 포오맷된 데이터비트들은 프레임 동기화 비트를 제거하고 역 랜덤화 공정을 적용함으로서 회복된다.
인코드된 신호가 전와되기 쉬운 응용예에 있어서, 가장 임계적인 정보, 즉 최저 주파수 계수 코드위드들의 지수 및 고정부를 보호하기 위하여 에러정정 코드들이 이용된다. 에러코드 및 보호된 데이터는 잡음버스트 에러들에 대한 감도를 줄이기 위해, 즉 임계데이터가 정정될 수 없기전에 요구되는 잡음버스트의 길이를 증가시키기 위하여 포오맷된 프레임을 통하여 분산된다.
본 발명의 여러 특징들 및 그 바람직한 실시예는 발명을 수행하기 위한 모드들을 설명하는 다음 절 및 첨부된 도면에 따라서 보다 상세하게 설명된다.
[도면의 간단한 설명]
제1(a)도 및 제1(b)도는 본 발명의 기본적인 구성, 특히 본 발명의 TDAC 변환을 설명하는 기능적인 블록도.
제2(a)도 내지 제2(e)도는 본 발명의 일실시예의 하드웨어 구성, 특히 본 발명의 TDAC 변환을 도시하는 블록도.
제3(a)도 및 제3(b)도는 본 발명의 2채널 실시예를 위한 프로세서의 직렬통신 인터페이스를 보다 상세히 도시한 블록도.
제4도는 시영역 신호샘플 블록을 도시한 가설적인 그래프도.
제5도는 블록내 신호가 주기적이라고 가정하여 이산형 변환에 의해 야기되는 샘플 블록의 가장자리에서의 불연속성을 도시한 시영역 신호샘플 블록에 대한 다른 가설적인 그래프도.
제6(a)도는 결과 함수 Y(t)를 제공하기 위하여 함수 X(t)에 대한 함수 W(t)의 변조를 도시한 기능적인 블록도.
제6(b)도 내지 제6(d)도는 시영역 신호샘플 블록에 대한 분석윈도우의 변조를 도시한 다른 가설적인 그래프도들.
제7도는 본 발명에 이용되는 비균일양자화기(quantizer)에 대한 고레벨로직을 도시한 플로우챠트도.
제8도는 본 발명에 이용되는 적응 비트 할당 공정을 위한 보다 상세한 로직을 도시한 플로우챠트도.
제9도는 대표적인 TDAC 코더 필터 특성 응답곡선 및 2개의 심리음향적인 차단곡선을 도시한 그래프도.
제10도는 4㎑ 심리음향적인 차단곡선에 대한 TDAC 코더 필터 특성을 도시한 그래프도.
제11도는 1㎑ 심리음향적인 차단곡선에 대한 TDAC 코더 필터 특성을 도시한 그래프도.
제12도는 수개 톤들의 심리음향적인 차단곡선들로부터 유도된 복합차단 곡선을 도시한 그래프도.
제13도는 500㎐ 톤의 심리음향적인 차단곡선에 대한 3개의 상이한 비트할당 구성을 위한 인코드된 500㎐톤의 코딩 잡음 및 왜곡의 분광 레벨을 도시한 그래프도.
제14(a)도 내지 14(e)도는 일련의 중첩되고 윈도우드된 시영역 신호샘플 블록들로 그루우프된 시영역신호를 도시한 가설적인 그래프도들.
제15(a)도 내지 제15(d)도는 TDAC 변환에 의해 생성된 시영역 앨리어징(aliasing) 왜곡을 도시한 가설적인 그래프도들.
제16(a)도 내지 제16(g)도는 TDAC 변환 신호 합성중에 중첩가산(overlap-add)에 의하여 시영역 앨리어징(aliasing)을 제거하는 것을 도시한 가설적인 그패프도.
제17도는 본 발명에 의한 바람직한 TDAC 변환의 일실시예를 위해 설계된 분석-합성윈도우쌍의 분석윈도우를 사용하는 필터뱅크의 필터 전이대역 롤오프 및 정지대역 리젝션과, 분석윈도우만을 사용하는 필터뱅크의 필터 전이대역 롤오프 및 정지대역 리젝션을 비교하는 그래프도.
제18도는 인접한 윈도우드된 블록들의 중첩가산 성질을 도시한 가설적인 그래프도.
제19도는 알파값 4 내지 7의 범위의 수개의 감겨져 있는(convolved) 카이져-베셀(Kaiser-Bassel)분석윈도우들의 형상을 사인 경사를 갖는 윈도우와 비교하는 가설적인 그패프도.
제20도는 에러정정없이 2개의 인코드된 변환블록들의 프레임의 포오맷; 특히 본 발명의 TDAC 변환을 도시하는 개략도.
제21도는 에러정정코드를 갖는 2개의 인코드된 변환블록의 프레임의 포오맷; 특히 본 발명의 TDAC 변환을 도시한 개략도.
제22(a)도 및 22(b)도는 본 발명의 기본 구성, 특히 본 발명에 의한 DFT를 설명하는 기능적인 블록도.
제23도는 TDAC 변환 및 DFT 코더들을 위하여 2개의 코더분석 윈도우들의 형상을 비교하는 그래프도.
제24도는 100중첩된 윈도우를 사용하는 TDAC 변환코더의 특성필터응답을 25중첩된 윈도우를 사용하는 DFT 코더의 응답과 비교하는 그래프도.
제25도는 에러정정없이 2개의 인코드된 변환블록들의 프레임의 포오맷, 특히 본 발명의 DFT를 도시한 개략도.
제26도는 에러정정코드를 갖는 2개의 인코드된 변환블록들의 프레임의 포오맷, 특히 본 발명의 DFT를 도시한 개략도이다.
표 1은 TDAC 변환코더를 위한 매스터 지수들, 부대역 그루핑, 및 계수비트길이를 나타내고 있다.
표 2는 DFT 코더를 위하여 부대역 그루핑 및 계수비트길이를 나타내고 있다.
[발명을 수행하기 위한 모드]
I. 발명의 바람직한 실시예
제1(a)도 및 제1(b)도는 본 발명의 기본 구성을 도시한다. 제1(a)도에 도시한 본 발명의 코더부는 시영역 신호입력(100), 신호 샘플기 및 양자화기(101), 심호샘플버퍼(102), 각 수자화된 시영역 신호블록을 변조하는 분석윈도우 곱셈기(103), 양자화된 신호를 주파수계수들로 변환하는 디지털 필터뱅크(104), rkr 정수치 변환계수를 부동점 표현으로 변환하는 블록 부동점 인코더(105), 총 신호 분광합성에 의하여 각 변환계수의 표현에 비트들을 부가하는 적응비트할당기(106), 각 변환계수를 할당된 비트길이로 라운드(round)하는 균일양자화기(107), 코드된 주파수계수들을 전송 또는 저장용 비트스트림으로 조립하는 포맷터(formatter)(109)로구성된다. 제1(a)도는 전송 통로(110)를 묘사하나, 인코드된 신호가 후에 사용하기 위하여 즉시 저장될 수 있음을 이해하여야 한다.
제1(b)도에 도시된 본 발명의 디코더부는 인코드된 비트스트림 신호입력(111), 조립된 비트스트림으로부터 각 인코드된 주파수계수를 추출하는 디포맷터(112), 각 인코드된 계수를 정수치 변환계수로 변환하는 선형기(linearizer)(113), 변환계수들을 시영역 신호블록으로 변환하는 역디지털 필터뱅크(114), 시영역 신호 블록을 변조하는 합성윈도우 곱셈기(115), 시영역 신호의 수자화된 표현을 회복하는 신호블록 중첩가산기(116), 아날로그 신호 발생기(117) 및 아날로그 신호 출력(118)으로 구성된다.
수개의 이산형 디지털 변환들중의 하나는 정, 역 필터뱅크들을 실행하는데 사용될 수 있다. 본 발명의 바람직한 실시예에 사용되는 변환은 프린센 및 브래들리에 의한 "시영역 앨리어징(aliasing)제거에 기초한 분석/합성 필터뱅크 설계"(Princen and Bradley, "Analysis/Synthesis Filter Bank Design Based on Time Domain aliasing Cancellation", IEEE Trans. on Acoust., Speech, Signal Proc., vol. ASSP-34, 1986, PP.1153-1161)에 기재되어 있다. 이 기술은 임계적으로 샘플된 단일측대역 분석합성시스템에 등가인 시영역이다. 이 변환은 시영역 앨리어징 제거(Time-Domain Aliasing Cancellation; TDAC)로서 언급된다. 이산형 프뤼에 변환(Discrete Fourier Transform; DFT)은 본 발명의 타 실시예에 사용될 수 있다. DFT의 바람직한 실시예는 TDAC가 충분히 설명된 후에 논의된다.
A. 처리 하드웨어
본 발명의 TDAC 변환의 기본적인 하드웨어 구성은 제2(a)도 및 제2(b)도에 도시된다. 경험적인 연구에 따라 변환계산은 특별한 방법이 없는한 적어도 20개 유효 비트의 정확도로 설명한 성능 목적들을 달성하기 위해 수행되어야 한다. 16비트 산술법을 이용한 코더를 수행하는 특별한 방법은 DFT 실시예의 부분으로서 후에 설명된다.
44.1㎑ 또는 48㎑ 샘플속도를 사용하여, 본 발명의 단일 채널 방식의 바람직한 실시예를 실제로 구현할 때, 입력된 시영역신호를 양자화하기 위하여 20마이크로초 이하의 주기를 갖는 16비트 아날로그 대 디지털 컨버터(ADC)를 사용한다. 각 16비트 수자화된 샘플은 연속 계산시 사용되는 24비트 워드중 16최상위 유효비트들을 형성하는데 사용된다. 모토롤라사 DSP56001의 24비트 디지털 신호 프로세서(DSP)는 대기상태를 갖지않고 20.5㎒에서 동작하며, 요구되는 계산을 수행하고 인코드 및 디코드 공정을 제어하는데 사용된다. 스태틱램(RAM)은 DSP를 위한 프로그램 및 데이터 메모리를 제공한다. 16비트 디지털 아날로그 컨버터(DAC)는 20마이크로초 이하의 주기를 가지며, 디코드된 디지털 신호로부터 아날로그신호를 생성하는데 사용된다.
제2(a)도에 도시된 인코더 하드웨어 구성은 아날로그 신호입력(200), 저역필터(LPF)(200A), ADC(201), DSP(202), 스태틱램(203), 삭제가능 프로그래머블럭드온리 메모리(EPROM)(204), 프로그래머블 어레이로직(PAL)(205) 및 인코드된 직렬신호출력(206)으로 구성된다. LPF(200A)(제1(a)도에 도시되지 않은 저역필터)는 입력된 신호가 제한된 대역폭을 갖도록 한다. ADC(201)는 인입신호를 16비트워드의 직렬스트림으로 수자화한다(샘플 및 양자화한다). DSP(202)는 수자화된 샘플들의 직렬스트림을 수신하고 버퍼하며, 그 샘플들을 블록들로 그루프하며, 블록들을 주파수영역으로 변환하는데 필요한 계산들을 수행하며, 변환계수들을 인코드하며, 코드워드들을 데이터 스트림으로 포오맷하며, 이 인코드된 신호를 직렬데이터 통로(206)를 통해 전송한다. 이 DSP용 프로그래밍 및 데이터 작업영역들은 8,192개의 24비트워드들로 구성된 하나의 24킬로바이트(KB)뱅크의 스태틱램(203)내에 저장된다. 이 DSP는 프로그래머블 롬에 있을 수 있는 것보다 더 값싸게 램에서 수행될 수 있는 고속 악세스타임의 프로그램 메모리를 요한다. 결과적으로, EPROM(204)는 인코더가 우선 스위치온될 때, 램(203) 속에서 사용가능한 형태로 DSP가 동작하는 압축된 포오맷으로 프로그래밍 및 스태틱 데이터를 저장한다. PAL(205)은 램뱅크(203)의 특정 어드레스 세그멘트로 DSP(202)에 의해 발생된 프로그램 및 데이터 어드레스들을 번역함으로써, 인코더로 하여금 램의 단일 24KB뱅크로 프로그램 및 데이터를 저장하도록 한다.
제2(b)도 및 제2(c)도는 2개의 DSP인터페이스에 대해 보다 상세히 제시하고 있다. 제2(b)도는 DSP(202), ADC(201) 및 직렬데이터 경로(206)의 직렬통신인터페이스를 도시하고 있다. 타이밍 인코더를 위하여 발생기(202A)는 수신클럭, 프레임 동기화 및 전송클럭 신호들을 발생하고 있다. 라인 SC0는 ADC(201)로부터 DSP(202)속으로 라인 SRD를 따라 수자화된 입력신호샘플들의 직렬비트스트림을 클럭제어한다. 라인 SC1은 각 16비트워드의 시작을 표시하는 프레임동기화신호를 ADC 및 DSP에 공급한다. 라인 SCK는 DSP로부터 직렬데이터 경로(206)까지 라인 STD를 따라서 인코드된 신호의 직렬비트스트림을 클럭제어한다.
제2(c)도는 메모리 어드레싱 인터페이스를 도시하고 있다. PAL(205)은 DSP(202)에 의하여 어드레스버스(205A)상에 놓여 있는 어드레스들을 번역하고, 램(203) 및 EPROM(204)에 접속된 버스(205B)에로 번역된 어드레스들을 통과시킨다. 모토롤라사 DSP556001의 메모리는 3개의 세그멘트로 나누어져 있다 : 프로그램, X 데이터 및 Y 데이터. PAL(205)에 의해 제공되는 메모리 번역은 이들 3개의 세그멘트를 한 개의 24KB 뱅크의 램으로 매핑되도록 한다. 이들 세그멘트들의 각각을 위한 실제 어드레스들은 인코더/디코더 소프트웨어의 크기 및 디자인에 의해 결정된다. 한 실시예에서, 프로그램메모리의 4K 워드들(4096 또는 100016의 24비트워드들)은 어드레스들 0000-OFFF16로 매핑되고, X 데이터 메모리의 2K워드들(80016의 24비트워드들)은 어드레스들 100016-17FF16으로 매핑되고, Y 데이터 메모리의 2K 워드들은 어드레스들 180016-1FFF16으로 매핑된다.
램(203) 및 EPROM(204)은 분리된 어드레스 공간으로 매핑된다. 인버터(205C)는 DSP(202)가 어드레스라인(A15)의 상태에 따라서 램 또는 EPROM을 선택하도록 한다. DSP(202)가 A15를 하이로 셋트할 때, 인버터(205C)는 램(203) 및 EPROM(204)의 칩선택(CS)라인들을 로우로 셋트한다. CS가 로우이면 EPROM(204)만이 선택된다. DSP(202)가 A15를 로우로 셋트하면, 인버터(205C)는 램(203) 및 EPROM(204)의 CS라인들을 하이로 셋트한다. CS가 하이일 때, 스태틱 램(203)만이 선택된다.
제2(d)도에 도시된 디코더 하드웨어 구성은 인코드된 직렬신호 입력통로(207), DSP(208), 스태틱 램(209), EPROM(210), PAL(211), DAC(212), LPF(213A) 및 아날로그 신호출력(213)으로 구성된다. DSP(208)는 인코드된 신호를 수신하고 버퍼링하며, 이 신호를 인코드된 변환계수로 디포맷트하며, 계수들을 시영역으로 변환하는데 필요한 계산을 수행하며, 계수들을 시영역블록들로 그루프하며, 그 블록들을 디지털샘플들의 시영역 시퀀스로 중첩가산하며, 직렬비트 스트림내의 디지털샘플들을 DAC(212)에 전송한다. DSP용 프로그래밍 및 데이터 작업영역들은 8,192개의 24비트워드로 구성된 스태틱 램(209)의 하나의 24KB 뱅크에 저장된다. EPROM(210)은 디코더를 스위치온할 때 램(209)속으로 사용가능한 형태로 DSP를 동작시키는 프로그래밍 및 스태틱 데이터를 압축된 포오맷으로 저장한다. PAL(211)은 램 뱅크(209)의 특정 어드레스 세그멘트로 DSP(208)에 의해 발생된 프로그램 및 데이터 어드레스들을 번역함으로써, 디코더로 하여금 프로그램 및 데이터를 단일의 24KB 뱅크의 램으로 저장하도록 한다. DAC(212)는 DSP로부터 수신된 직렬 데이터 스트림에 대응하는 아날로그 신호를 발생한다. 만이 선택된다. DSP(202)가 A15를 로우로 셋트하면, 인버터(205C)는 램(203) 및 EPROM(204)의 CS라인들을 하이로 셋트한다. CS가 하이일 때, 스태틱 램(203)만이 선택된다.
제2(d)도에 도시된 디코더 하드웨어 구성은 인코드된 직렬신호 입력통로(207), DSP(208), 스태틱 램(209), EPROM (210), PAL(211), DAC(212), LPF(213A) 및 아날로그 신호출력(213)으로 구성한다. DSP(208)는 인코드된 신호를 수신하고 버퍼링하며, 이 신호를 인코드된 변환계수로 디포맷트하며, 계수들을 시영역으로 변환하는데 필요한 계산을 수행하며, 계수들을 시영역 블록들로 그루프하며, 그 블록들을 디지털 샘플들의 시영역 시퀀스로 중첩가산하며, 직렬비트 스트림내의 디지털 샘플들을 DAC(212)에 전송한다. DSP용 프로그래밍 및 데이터 작업영역들은 8,192개의 24비트워드로 구성된 스태틱 램(209)의 하나의 24KB 뱅크에 저장된다. EPROM(210)은 디코더를 스위치온할 때 램(209)속으로 사용가능한 형태로 DSP를 동작시키는 프로그래밍 및 스태틱 데이터를 압축된 포오맷으로 저장한다. PAL(211)은 램 뱅크(209)의 특정 어드레스 세그멘트로 DSP(208)에 의해 발생된 프로그램 및 데이터 어드레스들을 번역함으로써, 디코더로 하여금 프로그램 및 데이터를 단일의 24KB 뱅크의 램으로 저장하도록 한다. DAC(212)는 DSP로부터 수신된 직렬 데이터 스트림에 대응하는 아날로그 신호를 발생한다. LPF(213A)(제1(b)도에 도시되지 않은 저역필터)는 신호출력(213)이 인코드/디코드 공정에 의해 생성된 돌발적인 고주파 성분들을 갖지 않도록 한다.
제2(e)도는 DSP(208), 직렬신호입력통로(207) 및 DAC(212)의 직렬 통신 인터페이스를 도시하고 있다. 타이밍 발생기(208A)는 인코드된 직렬비트입력신호로부터 타이밍 기준신호를 추출하기 위해 위상고정루우프회로(PLL 회로)를 사용하며, 디코더를 위해 수신클럭, 프레임동기화 및 전송클럭신호를 발생한다. 라인 SC0는 DSP(208)속으로 라인 SRD를 따라서 인코드된 직렬비트신호를 클럭제어한다. 라인 SCK는 DSP(208)로부터 DAC(212)까지 라인 STD를 따라서 디코더되고 수자화된 신호샘플들의 직렬비트스트림을 클럭제어한다. 라인 SC2는 각 16비트워드의 시작을 표시하는 프레임 동기화 신호를 DAC 및 DSP에 공급한다. DSP(208) 및 메모리어드레스 버스 사이의 인터페이스는 인코더에 대해서 상기 설명한 것과 동일한 방법으로 실현된다. 제2(e)도를 참조할 것.
2채널 인코더는 제3(a)도에 도시된 것과 같이 접속된 LPF(200A, 200B) 및 ADC(201A, 201B)를 필요로 한다. DSP 및 ADC 부품 사이의 인터페이스는 1채널인 디코더에 대해서 상기 설명한 것과 유사한 방법으로 동작한다. 타이밍 발생기(202A)는 멀티플렉서(202B)를 제어하고, 현재 2개의 ADC중의 어느 것이 수자화된 데이터를 전송하여 DSP에 나타내기 위하여, 프레임 동기화신호의 1/2의 속도로 DSP의 라인 SC2에 추가신호를 공급한다.
2채널 인코더는 제3(b)도에 도시된 것과 같이 접속된 DAC(212A, 212B) 및 LPF(213A, 213B)를 요구하고 있다. DSP 및 DAC 부품사이의 인터페이스 1채널 디코더에 대해서 상기 설명한 것과 유사한 방법으로 동작한다. 타이밍 발생기 디멀티 플랙서(208B)를 제어하고, 현재 2개의 DAC중 어느 것이 디지털 데이터를 수신하여 DSP에 나타내기 위하여, 프레임동기화 신호의 1/2의 속도로 DSP의 라인 SC1에 추가신호를 공급한다.
기본적인 하드웨어 구성은 수정될 수 있다. 예를 들면, 대기상태를 갖지 않으며 27㎒에서 동작하는 모토롤라사 DSP56001은 2채널 인코더 또는 디코더를 실현할 수 있다. 추가적으로 램이 요구된다. 하나의 24KB 뱅크가 프로그램 메모리를 위하여 사용된다. 다른 하나의 24KB 뱅크가 X 데이터 및 Y 데이터 메모리를 위해 사용된다. 2개 뱅크의 램이 사용될 때 어떠한 PAL도 어드레스 번역을 위해 사용되지 않을 것이다.
더욱이, 특정화 하드웨어가 윈도우 변조 또는 고속 프뤼에 변환(FFT)과 같은 어떤 기능들을 수행하는데 사용될 수 있다. 전체 인코더/디코더는 상용화된 집적회로로 구현될 수 있다. 많은 다른 가능한 구현방법들이 당업자에게 명백할 것이다.
B. 입력신호 샘플링 및 윈도우잉
본 발명의 TDAC 실시예에서, 신호 샘플기 및 양자화기(101)는 24비트 정수 표현을 하기 위하여, 우측상에 8개 영으로 순차적으로 부가한 16비트들로 입력신호를 양자화하는 아날로그 대 디지털 컨버터이다. 모든 순차적인 변환계산은 24비트 정수 산술연산에서 수행된다. 이 아날로그 입력신호는 최대 15㎑(20㎑ 대역폭 코더를 위해서는 20㎑)로 대역폭을 제한하여야 한다. 이것은 제1(a)도에 도시되지 않은 저역필터에 의해 완성될 수 있다.
상기 논의된 것처럼, 신호 샘플링 및 양자화수단(101)에 의해 생성된 신호샘플 블록의 길이는 임계적인 중요성을 가지고 있다. 이 길이는 디지털 필터 성능을 갖는 신호 전송 지연을 밸런스하도록 선택되어야 한다. 정변환(디지털 필터뱅크(104))은 모든변환 계수들이 계산될 수 있기 전에 블록 샘플들의 모든 것을 위해 기다려야만 한다. 유사한 지연은 시영역신호가 복구될 수 있기전에 모든 계수들을 기다리는 역변환(디지털 필터뱅크(114))에 의하여 경험된다. 결과적으로, 정, 역 변환들이 블록 간격의 크기와 동일한 시간주기에서 수행될 수 있다고 가정하면, 본 발명에서 통과하는 신호지연은 블록길이의 3배이다. 소망의 전반적인 지연이 약 10밀리초 보다 크지 않기 때문에, 블록길이는 3.3밀리초를 초과하지 않아야 한다.
그러나, 더 짧은 블록길이들은 필터 대역폭을 감소시키고 전이대역 롤오프 및 정지대역 리젝션의 깊이에 악영향을 미치기 때문에 가능한한 긴 블록을 사용하는 것이 바람직하다. 그러므로, 선택된 블록길이는 앞의 패러그래프에서 논의된 3.3밀리초의 제한을 받도록 가능한한 길어야 한다.
최소한 콤팩트디스크(CD)질을 갖는 음악신호는 다른 특질에 덧붙여 15㎑를 초과하는 대역폭을 갖는다. 나이퀴스트 이론으로부터 15㎑대역폭 신호는 30㎑이상에서 샘플되어야 하는 것이 알려져 있다. 44.1㎑의 샘플속도는 이 속도가 CD 응용에 사용되고 그러한 선택이 본 발명을 그런 응용예에 사용할 필요가 있는 수단을 단순화하기 때문에 본 발명의 본 실시예에 대해서 선택된다(이 샘플속도는 또한 본 발명의 다른 20㎑ 대역폭의 실시예를 지지한다.). 이 샘플속도가 주어지면, 3.3밀리초의 블록은 147샘플들을 포함한다. 디지털 필터 변환 계산은 샘플들의 수가 2의 멱으로 되면 단순화된다. 결과적으로, 2.9밀리초에서 블록 길이를 확정하는 블록당 샘플들의 수는 128로 축소된다.
많은 전문적인 오디오 응용시 공통인 48㎑와 같은 다른 샘플링속도가 사용될 수 있다. 만일, 다른 속도가 선택되면, 인접한 변환 계수들 사이의 주파수분리는 변경되고, 소망하는 신호대역폭을 나타내는데 요구되는 계수들의 수는 변할 것이다. 샘플링속도에서의 한 변화가 본 발명의 구현시 작용하는 전체 효과는 당업자에게 명백해질 것이다.
입력신호가 복소수 신호가 아니라면, 즉 모두 허수성분이 영이라면, 128 샘플 블록의 주파수 영역 변환은 최대 64 유일한 영이 아닌 변환계수들을 생성한다. 여기서, 제1(a)도 및 제1(b)도에 도시된 본 발명은 64주파수대를 포함한다. 이 구현에 있어서, 각 주파수대의 대역폭은 344.5㎐(또는 44.1㎑/128)와 동일하다 (TDAC와 같은 몇몇 이산형 변환에서는 주파수대는 0이고, DC 또는 영주파수성분은 이양의 1/2과 동일한 대역폭을 갖는다.). 0 내지 45의 계수들만이 15.7㎑신호를 통과시키는데 이용된다(0 내지 62의 계수들은 21.5㎑ 신호를 통과시키기 위해 20㎑방식에 사용된다.). 상기 입력신호대역폭 이상의 추가의 고주파 계수들은 설계된 대역폭내에서 앨리어징(aliasing)제거에 대한 양자화에러들의 악영향을 최소화하는데 사용되고 있다. 입력신호가 15㎑(또는 20㎑)로 대역이 제한되고 있으며, 최종 출력신호는 최고계수들에서 통과된 어느 앨리어징(aliasing)을 리젝트하도록 대역이 제한되고 있음을 주목할 것.
샘플 블록이 수정되지 않는한, 이산형 변환은 블록내 신호가 주기적임을 가정하고 있기 때문에, 이 변환이 존재하지 않는 분광성분을 잘못 생성할 것이다. 제4도를 참조할 것. 이들 변환에러들은 제45도에 도시된 것과 같은 블록의 가장자리에서 불연속성에 의해 야기된다. 이들 불연속성은 이 영향을 최소화하기 위하여 평활화될 수 있다. 제6(a)도 내지 제6(d)도는 블록 가장자리 근처에 있는 샘플들이 영에 근사하도록 한 블록이 어떻게 수정되고 가중되는가를 도시하고 있다. 제6(a)도에 도시된 곱셈기회로는 제6(c)도에 도시된 가중함수에 의해 제6(b)도에 도시된 샘플된 입력신호 X(t)를 변조한다. 합신호는 제6(d)도에 도시되어 있다. 이 공정은 제1(a)도에 있는 박스(103)로 표시된다. 분석윈도우라 불리우는 이 가중 함수는 신호 샘플 블록의 샘플별 곱셈이고, 그 형상이 디지털 필터 성능에 심각한 영향을 주기 때문에, 상당한 연구과제가 되고 있다. 예를 들면, 해리스에 의한 이산형 프뤼에 변환으로써 조화분석을 위한 윈도우의 사용(Harris, "On the Use of Windows for Harmonic Analysis with the Discrete Fourier Transform", Proc. IEEE, vol. 66, 1978, pp. 51∼83)을 참조할 것, 간략하게, 양호한 윈도우는 정지대역 리젝션의 주어진 레벨의 깊이에 대해서 전이대역 롤오프의 가파름을 증가시키고, 인접한 블록들을 중첩하고 가산함으로써 변조영향을 정정하도록 한다. 윈도우 설계를 이하 보다 상세하게 설명할 것이다.
C. 분석필터뱅크-정변환
이산형 변환은 제1(a)도에 도시된 디지털 필터뱅크(104)를 수행한다. 필터링은 시영역 신호샘플 블록들을 한 셋트의 시변분광계수로 변환함으로써 수행된다. 본 발명의 일실시예에 사용된 변환 기술은 시영역 앨리어징(aliasing) 취소(TDAC)이다.
TDAC는 수정된 이산형 사인 변환(DST)를 가지고 수정된 이산형 코사인, 변환(DCT)의 다른 적용예에 등가인 변환함수를 이용하고 있다. 수학식 1에 도시된 DCT와, 수학식 2로 도시된 DST는 다음과 같다.
여기서, k는 주파수계수 번호,
n은 입력신호 샘플번호,
N은 샘플 블록길이,
m은 TDAC에 대한 위상 기간,
X(n)은 샘플 n에서 입력신호 X(t)의 양자화 값,
C(k)는 DCT 계수 k, 및
S(k)는 DST 계수 k이다.
TDAC 변환은 2셋트의 분광계수들 또는 각 신호 샘플 블록용 변환블록들중의 하나를 생성한다. 이들 변환블록들은 다음의 형태를 갖는다.
여기서, i는 신호 샘플 블록 번호,
C(K)는 DCT 계수 (수학식 1 참조),
S(K)는 DST 계수 (수학식 2 참조)이다.
사용된 계산 알고리즘은 고속 프뤼에 변환(FFT)이다. 쿨리 및 터어키에 의한 복소 프뤼에 급수의 기계적 계산용 알고리즘(Cooley and Turkey, "An Algorithm for the Machine Caculation of Complex Fourier Series", Math. Comput., vol. 19, 1965, pp. 297-301)을 참조할 것. 단일 FFT는 단일 복소 변환의 실수 및 허수 성분으로서 그들을 각기 정의함으로써 DCT 및 DST를 동시에 수행하는데 이용될 수 있다. 이 기술은 FFT가 복소변환인 사실은 개발하고 있으나, 양 입력신호 샘플 블록들은 단지 실수값을 갖는 샘플들로 구성된다. 이들 변환들을 한 FFT와 복소 상수들의 어레이의 적으로 인수분해함으로써, DCT 계수들은 실수치의 집합으로서 변환을 나타내고, DST계수들은 허수치의 집합으로서 변환을 나타내고, DST 계수들은 허수치의 집합으로서 표현된다. 그러므로, 한 신호 샘플 블록의 DCT는 어레이 곱셈 및 가산에 의해 후속되는 단지 하나의 FFT에 의하여 다른 신호 샘플 블록의 DST를 가지고 동시에 계산될 수 있다.
2개의 변환을 동시에 계산하기 위하여 하나의 FFT를 사용하는 기본적인 기술은 종래에 잘 알려져 있고, 브릭햄의 고속 프뤼에 변환(Brigham, The Fast Fourier Transform, Englewood Cliffs, NJ : Prentice-Hall, Inc., 1974)에 개시되어 있다. TDAC 변환을 위한 수정된 DCT 및 DST의 동시 계산에 관한 추가정보는 루카보우의 "가변속도 및 적응 주파수 영역 벡터 양자화"(Lookabaugh, "Variable Rate and Adaptive Frequency Domain Vector Quantization of Speech", Stanford, CA : Stanford University, phD Thesis, June, 1988)에서 찾아볼 수 있다.
이 동시 공정은 변환 블록이 각 채널에 대해서 동시에 발생되는 2채널 적용예에서 특히 유용하다. 예를 들면, 일 채널에 대해서는 DCT 블록이고 타 채널에 대해서는 DST 블록이 발생한다. 주어진 채널을 위한 코드된 블록들은 DCT와 DST 사이에서 교번하고(수학식 5를 참조), 항상 타 채널의 블록들로부터 반대형으로 갖는다. 한쌍의 블록들, 각 채널당 하나씩 변환되고 같이 포오맷된다.
프린센씨는 적절한 위상 성분 m(수학식 6 참조)과 주의깊게 설계된 한쌍의 분석 합성윈도우들을 가지고, TDAC 기술은
의 형태를 갖는 코사인 및 사인 변환 블록들의 교번하는 시퀀스로부터 입력신호를 정확하게 복구할 수 있음을 보여주었다. 여기서, 각 변환블록은 시영역 신호 샘플 블록을 나타내고 있다. 이 공정은 제14(a)도-제14(e)도, 제15(a)-제15(d)도 및 제16(a)-제16(g)도에 도시되어 있다.
제14(a)도를 참조할 때, 양자화된 입력신호 X(t)가 블록들로 그루프됨을 알 수 있다. 제14(b)도에 도시된 윈도우 함수 Wc에 의해 변조된 블록들의 일집합은 제14(d)도에 도시된 신호 Xc(t)를 생성한다. 신호 Xc(t)는 DST에 입력된다. 1/2 블록길이로 제1셋트를 중첩하는 샘플된 입력신호 X(t)의 블록들의 타 집합은 제14(e)도에 도시한 신호 Xs(t)를 생성하며, 제14(c)도에 도시된 윈도우함수 Ws에 의해 윈도우되고(윈도우 함수는 Wc와 동일하나, 1/2 블록길이만큼 시간차가 있다), DST에 순차적으로 보내진다.
교번의 DCT 및 DST 변환 블록들을 사용하는 것은 변환블록들의 무용한 절반에 포함된 정보의 손실을 끼쳤다. 이 손실은 시영역 앨리어징(aliasing) 성분을 생성하나, 왜곡은 수학식 1 및 2에 대해 적절한 위상향 m을 선택하고, 중첩된 시영역신호 샘플 블록들에 정변환을 적용시키고, 역변환에 의해 복구된 인접한 시영역신호 샘플 블록들을 중첩시키고 가산함으로써 제거될 수 있다.
수학식 10 및 2에서의 위상향 m은 시영역 앨리어징(aliasing) 왜곡의 위상시프트를 제어한다. 제15(a)도-제15(d)도 및 제16(a)-제16(g)도는 이 왜곡을 도시한다. 역 DCT로부터 복구된 신호 Yc(t)는 제15(a)도에 도시되어 있다. 제15(b)도는 복구된 신호가 2개의 성분으로 구성되어 있음을 보여준다; 최초 윈도우된 신호(실선) 및 시영역 앨리어징(aliasing) 왜곡(점선). 제15(c)도 및 제15(d)도는 역 DST로부터 복구된 신호 Ys(t)에 대한 유사한 정보를 도시하고 있다. 이 앨리어징(aliasing) 왜곡을 제거하고 최초 시영역 신호를 정확하게 복구하기 위하여, TDAC는 앨리어징(aliasing)이 다음과 같이 되도록 요구하고 있다. DCT에 대하여, 시영역 앨리어징(aliasing) 성분은 샘플 블록의 약 1/4포인트에서 시간상 역전된 샘플신호의 제1반부와, 샘플 블록의 약 3/4포인트에서 시간상 역전된 샘플신호의 제2반부로 구성되어 있다. DST에 대해서, 앨리어징(aliasing)성분은 그 진폭이 부호에서 반전된 것을 제외하고는 DCT의 앨리어징(aliasing)성분과 유사하다. 제15(b)도 및 제15(d)도를 참조할 것, 앨리어징(aliasing) 제거에 필요한 위상항은
여기서, N은 샘플 블록의 길이이다.
또한, TDAC는 한쌍의 주의깊게 설계된 분석 합성윈도우들을 중첩된 신호샘플 블록에 적용할 것을 요구한다. 이 신호샘플 블록들은 100중첩을 가져야만 한다. 즉 주어진 블록의 50는 앞의 블록에 의해 중첩되고, 동일 블록의 50는 다음 블록에 의해 중첩된다. 제16(a)도-제16(g)도는 신호샘플 블록의 중첩 및 이에 결과하는 앨리어징(aliasing) 왜곡의 제거를 도시하고 있다. 제16(a)도 및 제16(d)도에 도시되고 역 DCT 및 DST로부터 복구된 신호들 Yc(t) 및 Ys(t)는 각각 제16(b)도에 도시된 윈도우 함수들 Wc(t) 및 Ws(t)에 의해 변조되어, 제16(c)도 및 제16(f)도에 도시된 신호들 Yc(t) 및 Ys(t)를 생성한다. 이들 윈도우된 신호들의 중첩된 블록들이 가산될 때 앨리어징(aliasing) 성분들은 제거되고, 제16(g)도에 도시된 합신호 Y(t)는 최초입력신호 X(t)의 정확한 재구성이다.
합성 과정 중에 사용된 윈도우 디자인 및 중첩가산에 대해서 이하 상세히 설명한다. 이 시점에서, 변환블록들의 1/2를 생략하는 것은 요구되는 비트속도를 1/2로함을 주목할 필요가 있으나, 신호 합성중의 TDAC에 요구되는 100윈도우중첩은 요구되는 비트속도를 2배로 하고 있다. 결과적으로 TDAC는 요구되는 비트속도의 중립적 영향을 가진다.
D. 비균일 양자화
필터뱅크(104)로부터 유도된 각 변환계수는 비균일 양자화기(108)에 의하여 부대역으로 인코드되고 그루우프된다. (표 1은 부대역에 대한 변환 계수들의 할당을 보여주고 있다.) 이 비균일 양자화기는 제1(a)도에 도시된 블록 부동점 인코더(105), 적응 비트할당기(106) 및 균일 양자화기(107)로 구성된다. 제7도에 도시된 것처럼, 비균일 양자화는 5개 주요부로 구성된다 : (1) 부대역 지수 계산부, (2) 매스터 지수 결정부, (3) 각 계수코드워드의 비트길이를 계수 주파수의 함수로서 초기에 설정하는 부분, (4) 추가 비트들을 특정 코드워드들에 적응적으로 할당하는 부분, 및(5) 적응 비트 할당과 계수 주파수에 기초한 최소 비트길이의 합으로부터 계산된 비트길이에 따르는 코드워드의 라운딩 및 트렁케이팅 부분.
수치적 양을 부동점 방식으로 표현하는 것은 디지털 데이터처리 기술에서는 주지되어 있고, 정수 표현으로 가능한 것 이상으로 더 적은 비트를 가지고 더 넓은 범위값들을 표시하는데 사용된다. 부동점수는 가수 및 지수로 구성된다. 본 발명의 바람직한 일실시예에 있어서, 가수는 2의 보수형식으로 표시된 부호를 갖는 정수값 표현이다. 이 대응 지수는 표현된 수치량의 참값으로 가수부 정상화되거나 또는 비정상화이건 변환하는 데 요구되는 곱셈기의 2의 멱에 동일한 부호를 갖지 않는 값이다. 이 표현은 다음 식으로 표현된다.
여기에서, F는 부동점 수의 값,
M의 부호를 갖는 정수치 가수 및
E는 부호를 갖지 않는 정수치 지수이다.
예를 들면, 부동점 수의 참값을 나타내는 3의 지수는 정수치 가수를 2-3에 의해 곱함으로써 얻어진다. 이것은 가수의 2진 표현을 우측으로 3자리 이동시키는 것과 동일하다.
최상위 유효데이터비트가 넌제로(nonzero)일 때, 양의 넌제로 가수는 정상화된다고 말한다. 음의 값을 갖는 가수는 그 최상위 유효 데이터비트가 영일 때 정상화된다. 정상화된 가수는 수량에 있어서 최대수의 유효비트들을 보장하고, 가수의 제한된 비트 길이안에 포함되어 있다.
블록 부동점 표현은 또한 당해 기술분야에서 주지되어 있으며 종래의 부동점 표현에 있어서 가능한 것보다 적은 비트들을 갖는 일련의 부동점 수를 표현하는데 이용된다. 이 기술은 일군의 가수에 대해 하나의 지수를 사용한다. 그 그룹내의 몇몇 가수들은 정상화될 수 없다. 그룹내의 가장 큰 크기를 갖는 가수는 지나치게 작지 않다면, 즉 지수가 정상화를 위해 필요한 곱셈기를 표현할 수 없다면 정상화될 것이다. 가수들이 정상화되건 아니건, 지수는 항상 그룹내의 각 정수치 가수의 배수를 표시하고, 부동점 양의 참값을 얻기위해 우측으로 이동되어야 한다.
1. 부대역 지수
블록 부동점 인코더는 비균일 양자화기의 제1섹션 및 제2섹션으로 구성된다. 제1섹션에 의해 수행되는 기능은 제7도의 단계 (701)에 도시된다. 이 섹션은 수개의 부대역 주파수 계수들의 각각을 위하여 부대역 지수를 계산한다. 이 부대역들은 표 1에 도시되어 있다. 그 절차는 3단계로 구성된다. 제1단계는 각 부대역에서 가장 큰 변환계수를 찾는다. 제2단계는 이들 가장 큰 24비트 계수들을 정상화하는데 필요한 좌측 시프트의 수를 결정한다. 제3단계는 그 대응하는 부대역에 대한 지수로서 이들 양들을 저장한다.
2. 매스터 지수
비균일 양자화기의 제2섹션은 2개의 부대역 군들의 각각에 대한 1비트 매스터 지수를 결정한다. 매스터 지수는 코더의 동적범위를 확장하는데 사용된다. 표 1에 의하면, 매스터 지수(MEXP0)는 저주파 부대역들(0-6)을 나타내는 것으로 알 수 있다. 매스터지수(MEXP1)는 고주파 부대역들(7-18)을 나타내고 있다.(20㎑의 코더의 경우, 2개의 부가적인 부대역들의 표 1 도시된 것과 같이 요구된다.) 하나의 그룹 내의 모든 부대역지수들이 3이상이라면, 그 그룹의 매스터 지수는 1로 설정되고, 그 그룹내의 모든 부대역지수들은 3만큼 감소된다. 매스터 지수가 1로 셋트되면, 그룹내의 모든 부대역들안의 모든 코드화된 계수들은 부대역 지수값들에 의해 표시되는 것보다 좌측으로 3배 이상 시프트된다. 매스터 지수가 0일 때, 그룹내의 각 부대역 지수는 각 변환계수에 대한 총 좌측 시프트를 나타낸다. 이들 매스터 지수는 더 짧은 부대역 지수를 사용하도록 허용하는 한편 충분한 동적 범위를 허용한다. 그 과정의 이 단계는 제7도의 단계들(702a, 702b)에 도시된다.
코드화된 신호를 나타내는데 필요한 총 비트를 줄일 수 있는 부가단계가 이루어질 수 있다. 하나의 지수가 단일 계수를 나타내는 모든 부대역에서, 정상화된 가수의 부호비트는 남아돌고 있다. 상기 논의한 것처럼, 정상화된 가수의 부호비트는 남아돌고 있다. 상기 논의한 것처럼, 정상화된 가수의 부호비트 및 최상위 유효데이터비트는 항상 반대값을 갖는다. 그러므로, 부호비트는 인코더에 의해 하강될 수 있고 디코더에 의해 복구된다. 이 하강된 부호비트는 "숨겨진 비트"로서 여기에서 언급된다.
가수가 정상화 되느냐의 여부는 지수를 검사함으로서 결정될 수 있다. 지수가 최대값보다 더 작다면(본 발명의 바람직한 실시예에 사용된 부동점 방식에서 매스터 지수를 조정한 후의 최대값은 15이다.), 그 가수는 정상화된다. 만일 지수가 최대값과 동일하다면, 어떠한 결론도 끌어낼 수 없으며, 그러므로 가수는 정상화되지 않으며, 숨겨진 비트(hidden bit)가 없다고 가정한다.
이 기술은 단지 하나의 계수를 포함한 부대역에서의 변환계수들을 나타내는 가수들을 위하여만 사용될 수 있다. 그러한 계수들이 통상 정상화될 것이라 가정하면, 비트수의 감소는 표 1에 도시된 것처럼 계수들의 최소 비트길이 또는 고정비트길이를 감소시킴으로써 구현될 수 있다. 변환계수가 비정상화된 것으로 있으면, 감소된 비트길이는 주파수성분은 매우 낮은 진폭을 가지고 있기 때문에 가청 양자화 잡음을 생성할 것 같지는 않다.
3. 고정비트길이
비균일 양자화기의 제3절은 각각 좌이동된 변환계수를 나타내기 위하여 초기의 최소비트길이를 셋트하고 있다. 이 길이는 계수들의 주파수에 의해 설정된다. 제7도의 박스(703)는 처리중의 이 부를 나타내고, 표 1은 각 계수의 코드워드를 위하여 고정된 최소한의 비트수를 보여주고 있다. 최소비트길이는 대표적인 필터뱅크 응답곡선을 심리음향적인 차단 임계곡선과 비교함으로써 유도되었다. 필터성능은 신호 및 계수들의 주파수 사이의 주파수차에만 관계하는 함수이고, 주파수계수는 필터뱅크응답을 나타내는데 사용될 수 있다. 제9도에 도시된 응답곡선은 필터응답의 rms(root mean square) 평균으로부터 필터 통과대역내의 주파수들의 범위까지 얻어진다. 상기 논의된 것처럼, 필터 선택도는 분석윈도우의 형상 및 각 시영역 신호 블록내 샘플들의 수에 의해 영향을 받는다. 여기서, 전반적인 코더 응답특성은 부가적인 선택도 손실이 신호합성 공정시 발생하기 때문에 제9도에 도시된 것과 같이 좋지 않다. 이 영향은 이하 논의하기로 하고 또한 제17도에 도시되어 있다.
2개의 심리음향차단곡선들은 제9도에 도시되어 있다. 이들 곡선들은 "디지털-오디오 컨버터에 의해 생성된 가청왜곡 및 잡음의 계산"(Fielder, J.Audio Eng. Soc, vol. 35, 1988, pp.517-534)으로부터 유도되었다. 인간의 귀는 청각적인 선택도가 주파수에 따라 크게 변화하나, 1㎑곡선은 500 내지 2㎑사이의 주파수에 대한 귀특성을 나타내고 4㎑곡선은 더 높은 주파수에 대한 귀응답특성을 나타내고 있다. 변환코더용 전이대역 롤오프의 속도 및 정지대역 리젝션의 깊이는 최저 비트속도를 달성하기 위하여 심리음향 차단곡선의 경우만큼 커야한다. 특히 1㎑의 차단 톤 이하의 주파수에 대한 귀 선택도는 매우 높다는 것을 주목해야 한다. 당해 기술에서의 다른 변환코더들은 적어도 512샘플들의 시영역 블록길이들을 사용함으로써 소망의 부대역 대역폭 및 선택도를 얻었다. 예를 들면, "OCF-고품질 음성신호의 새 코딩 알고리즘"(Brandenburg, IEEE Int. Conf. on Acoust., Speech, and Signal Proc., 1987, pp. 141-144).
상기 논의된 시지연 속박성 때문에, 본 발명은 128샘플 블록을 사용하고 다른 방법으로 바람직하지 않게 넓은 부대역 대역폭 및 열화된 필터 선택도를 극복하여야 한다.이것은 부분적으로는 4㎑이하의 코드된 모든 주파수계수들을 위하여 부가비트를 보류함으로서 완성된다. 제10도는 4㎑ 심리음향차단곡선에 대응한 필터응답을 비교하고 있다. 코디 대역폭 및 선택도는 주파수가 증가할 때 심리음향차단곡선에 관계하여 개선되기 때문에, 4㎑ 이상의 더 높은 주파수 계수들을 나타내는데 더 소수의 비트들이 요구된다. 이 관계는 표 1에 도시된 바와 같이 최소비트길이 값들에 반영되고 있다.
제11도는 심리음향차단곡선이 항상 더 높도록 오프셋트를 갖는 필터응답곡선에 대응한 1㎑차단 곡선을 비교한다. 필터응답을 위한 오프셋트를 더 낮은 주파수계수들을 위해 예비된 부가비트에 의해 주어지는 정확도의 증가에 기인한다. 각 부가비트는 신호 대 잡음 비를 약 6dB 개선한다. 제11도의 그래프는 42dB(또는 거의 7부가 비트의 정확도)의 오프셋트를 나타내고, 어떤 다른 톤들이 차단효과에 기여하도록 제시되면 저주파 변환계수를 인코드할 필요가 있다.
제9, 10 및 11도에 도시된 차단 곡선들에 의해 계시된 최소길이들은 보존적이다. 왜냐하면, 이 도면들에 도시된 곡선들이 단일톤 또는 매우 좁은 대역의 잡음에 의해 생성된 심리음향 차단효과를 나타내기 때문이다. 제12도는 3개의 톤들의 개별 차단 곡선들의 단순한 겹침(overlay)으로부터 유도된 복합 차단 곡선을 도시한다. 다중톤의 실제적인 차단효과를 줄여 말하기 때문에, 이 복합 차단 곡선조차 매우 보전적이라는 것을 경험상 알 수 있다. 더욱이, 음악은 일반적으로 수개의 이산형 주파수들보다 더 복잡한 신호이고, 차단레벨의 최종 증가는 변환계수 코드워드들의 소망하는 정확도를 감소시키게 한다. 결과적으로, 표 1에 도시된 최소 비트길이들은 제10도 및 제11도에 있는 차단곡선에 의해 제안된 각 계수코드워드의 비트길이로부터 2비트를 감산함으로써 얻어진다. 적응비트를 할당하면, 특정계수들의 정확도를 증가시키는데 필요한 부가비트를 제공하게 된다.
4. 적응 비트 할당
a. 서론
비균일 양자화기의 제4섹션은 적응비트할당을 수행한다. 제7도의 박스(704)는 이 할당 과정의 서론을 제공한다. 일반적으로 각 변환블록을 위하여 비트할당을 하면 4개의 단계로 고정수의 부가비트들을 특정계수에 부가한다. 다수의 비트들은 신호코딩질 및 전송비트속도의 균형을 맞추기 위해 선택될 수 있다. 본 발명의 바람직한 실시예는 34비트들에 할당을 셋팅하고 있다. 이 제한은 여기서 할당할 수 있는 비트들의 수로서 또는 할당 최대치로서 언급된다.
현재로서는 계수당 최대 4비트를 할당하고 있다.이 최대치는 코딩정확도 및 총 비트 속도사이의 디자인상의 협상점을 나타낸다. 이 적응적으로 할당될 수 있는 비트들의 최대 및 총수는 본 발명의 개념 및 기본 목적을 변경함이 없어 변경될 수 있음은 당업자에게 이해되어야 할 것이다.
제0과정(phase zero)은 잔여 과정들의 초기화 과정이다. 제1과정은 최대 분광에너지를 갖는 주파수성분들의 동일한 임계대역안의 계수에 변환 계수당 최대 4의 비트들을 할당한다. 제1과정중에 할당비트 모두가 부가되면 할당과정은 정지한다. 그렇지 않으면, 제2과정은 변환 계수들에 제1과정중에 할당된 비트들인 부가 비트를 할당하여, 각 계수를 위해 총 적응적으로 할당된 비트들은 4이다. 모든 할당 비트들이 제2과정중에 할당되면, 할당과정은 정지한다. 어떤 비트들이 남아있으면, 제3과정은 계수들에 인접한 그 계수들에 제1 및 제2과정 중 할당된 비트들인 비트를 할당한다. 더 상세하게 이 과정의 개념을 설명하면 다음절과 같다. 이 과정을 실제 논리수행하는 것은 추후 설명한다.
제8도는 특정 변환 계수에 적응적으로 비트를 할당하는데 사용되는 개념도이다. 제1과정의 초기화단계는 박스(800)에 도시된다. 제1단계는 어레이A()의 성분을 영으로 초기화한다. 다음 단계는 최소 부대역 지수를 확인하며, 이것은 가장 큰 분광성분을 갖는 부대역용 지수이고 XMIN의 값을 저장한다. 모든 부대역 지수들은 XMIN로부터 감산되고 그 차이는 어레이 M()에 저장된다. 가장 작은 가능 부대역지수는 0이고, 가장 큰 가능 부대역 지수는 18이며, 이것은 4비트 고주파 부대역 지수에 대한 최대값 15에 매스터 지수 MEXP1에 대한 3의 값을 더한 합임을 유의한다. 표 1을 참조할 것. 그러므로, 어레이 M()의 가능값의 범위는 -18에서 0까지이다. 다음 단계에서, 어레이 M()의 각 성분에 4를 더하고, 영 이하의 모든 성분을 영으로 셋팅한다. 제1과정의 끝에서, 어레이 M()은 성분들의 집합으로 구성되며, 각 부대역을 위한 하나의 집합의 그 값들은 영으로부터 4까지 범위에 있다. 4의 값을 갖는 성분들은 부대역내 계수들 중의 적어도 하나가 전체 신호에서 가장 큰 분광계수들중의 하나를 가지는 부대역들을 나타내고 있다.
제1과정은 다른 어레이 A()를 구성하며, 제8도의 박스(801)로 도시한 과정을 사용하여 각 부대역내 계수들에 할당될 수 있는 비트들을 나타낸다. A()내의 각 성분은 하나의 부대역에 상응하고 있다. 더 높은 부대역 지수들은 다중 변환계수들을 나타내는 표 1로부터 기억하며, A()의 각 성분은 대응하는 부대역내 모든 변환 계수들에 부가된 다수의 비트들을 나타내고 있다. 예를 들면, 표 1에 의하면, 부대역(7)은 계수들(7, 8)을 나타낸다. 성분 A(7)이 하나의 값을 갖는다면, 이것은 2비트가 할당되었음을 나타내며 1비트씩 변환계수(7, 8)에 할당된다. 계속적으로 예를 들면, 성분 A(18)이 2의 값을 가지면, 그때 14비트가 할당되고 2비트씩 계수들(39 내지 45)에 할당된다. 할당과정중에 A()의 각 성분이 증가될 때, 할당비트들의 수는 할당용으로 남아 있는 비트들의 수로부터 감산된다.
모든 할당가능 비트들이 이 또는 어느 단계에서 부가될 때, 그 과정은 즉시 종료하고 모든 순차적인 과정들은 그냥 지나간다. 할당제한이 요구되는 마지막 단계중에, 그 단계에서 부대역에 부가된 비트수는 할당용으로 남아있는 비트들의 수를 초과하지 않을 것이다. 할당가능비트의 마지막이 하나 이상의 계수를 갖는 부대역을 처리하는 동안 부가되면, 그 부대역의 모든 계수들이 반드시 동일한 수의 비트로 할당될 것같지는 않다.
최저 주파수계수를 나타내는 M() 어레이 성분을 가지고 시작하면 (DCT 블록에 대해서 M(0) 또는 DST 블록에 대해서는 성분 M(1), M()의 각 성분은 차례로 검사된다. 4개의 패스들이 어레이 M()을 거쳐 만들어 지거나, 또는 모든 할당가능 비트들이 할당될 때까지 이루어진다. 제1패스상에서, 어레이 A()의 각 성분은 어레이 M()의 대응성분이 4와 동일한 값을 가지면, 1씩 증가한다. 제3패스에서, 어레이 A()의 성분들은 대응하는 M()의 성분이 2 내지 4의 범위안에 있는 값을 가지면 증가된다. 최종 패스는 1 내지 4 사이의 범위에 있는 값을 갖는 어레이 M()의 성분에 대응하는 어레이 A()의 성분들을 증가시킨다. 어레이 M() 및 A()의 내용들은 이점에서 동일함을 주목할 수 있다. 할당비트의 수가 할당 제한수에 도달하면, 비트할당과정은 제1과정의 끝에서 완성된다.
어느 할당가능비트가 남아 있다면, 제8도의 박스(802)에 도시된 제2과정에서 할당은 계속된다. 이 과정은 최대 할당가능비트들이 부가되면 더 일찍이 정지하기 때문에, 어레이 A()를 통한 3개의 패스들을 만든다. 각 패스는 최저 주파수성분(DCT 블록에 대해서는 A(0), 또는 DST블록의 경우 A(1))으로 시작하고 주파수에 상방으로 작용한다. 어레이 A()를 통과하는 제1패스 상에서 1과 3의 사이의 값을 갖는 각 성분은 1씩 증가한다. 제2패스상에서, 2 또는 3의 값으로 갖는 성분들이 증가한다. 제3패스상에서, 3과 동일한 값을 갖는 성분들이 증가한다. 할당제한치를 초과함이 없이 이 단계가 완료되면, 어레이 A()의 각 성분은 4 또는 0의 값을 갖게 될 것이다.
어느 할당가능비트들이 남아 있다면, 제8도의 박스(803)에 도시된 제3과정에 따라서 할당을 계속 수행한다. 전과정에서와 같이, 제3과정의 할당은 할당제한치에 도달되자마자 종료할 것이다. 이 최종과정에서는 더 높은 에너지를 갖는 계수들의 부대역에 인접한 더 낮은 분광에너지를 가지는 변환계수들에 부가비트를 할당한다. 이 할당은 4단계로 완성된다. 제1단계는 {0, 0, 4}의 값을 갖는 3개의 인접한 성분들의 그룹을 찾아서 최고 주파수 성분 A(18)(성분 A(20)은 20㎑ 대역폭 코더들의 개시 성분이다.)을 가지고 시작하는 어레이 A()을 스캔한다. 만일 그 성분을 찾게 되면, 중앙성분은 그룹값이 {0, 1, 4}가 되도록 1로 셋트된다.
2개의 특별한 경우들은 제2단계를 포함하고 있다. 최저 주파수 변환계수의 비트할당은 이 2개의 최저 주파수성분들의 값(DCT 블록의 경우 A(0) 및 A(1), 또는 DST 블록의 경우 A(1) 및 A(2)이 {0, 4}이라면 1로 셋트된다. 그 다음, 성분들 A(17) 및 A(18)은 그들값이 {4, 0}인지를 결정하도록 시험한다. 만일, 그들값이 {4, 0}이라면, 최고주파수 부대역의 할당은 1로 셋트된다(성분들 A(19) 및 A(20)은 20㎑ 코더에서 시험한다.).
만일, 할당 제한치에 도달되지 않았다면, 제3의 과정의 제3단계는 {4, 0, 0}의 값들을 갖는 3개의 인접한 성분들의 그룹을 찾아서 최고주파수 부대역을 갖고 하방으로 출발하는 어레이 A()를 스캐닝함으로써 시작한다. 만일, 그 값을 찾게된다면, 중앙성분은 {4, 1, 0}의 값을 생성하도록 1로 셋트된다.
제3과정의 제4 및 최종단계는 그 과정의 제1단계 내지 제3단계에서 할당된 비트들을 부대역의 계수들에 부가비트를 할당한다. 어레이 A()의 최고주파수 성분에서 시작하면, 제1단계에서 수정된 각 성분은 증가된다. 제2단계에서 수정된 임의의 성분들은 다음에 증가된다. 끝으로, 제3단계에 수정된 성분들은 최고 주파수 부대역으로 시작할 때 증가된다. 이 제4단계는 모든 할당가능 비트들이 할당될 때까지 또는 제1단계 내지 제3단계에서 수정된 모든 성분들이 총 4비트로 각각 할당될 때까지 상기 설명한 것과 동일한 순서로 어레이 성분들을 반복하여 증가시킨다. 만일, 후자의 조건에 만족되고, 어느 할당가능비트들이 부가된 것으로 존재한다면, 제3과정은 제1단계로부터 다시 시작할 것이다.
b. 적응 비트 할당 로직
적응비트할당 알고리즘의 개념은 제8도에 도시되며, 위에서 설명되고 있다. 이 알고리즘의 개념을 이해하는 것은 적응비트할당 루틴의 실제로직을 이해하는데 도움이 될 것이다.
제0단계는 어레이 A()의 모든 성분들을 0으로 초기화함으로써 시작하고, 4개의 표 T1 내지 T4로써 구성하고 있다. 표들의 구성은 다음의 단계들로 완수된다 : (1) 최소 부대역 지수를 확인하고, 이값을 XMIN으로서 저장하는 단계; (2) 최저 주파수 부대역 (DCT 블록의 경우 부대역 0, 또한 DST 블록의 경우 부대역 1)으로써 시작하여, 부대역 지수(표 1 참조)를 XMIN으로부터 감산하는 단계; (3) 만일 그 차이가 영이라면, 부대역 번호를 표 T1, T2, T3 및 T4에 삽입하는 단계; (4) 만일 그 차이가 -1이라면 부대역 번호를 표 T1, T2 및 T3속에 삽입하는 단계; (5) 만일 그 차이가 -2라면, 부대역 번호를 표 T1 및 T2속에 삽입하는 단계; (6) 만일 그 차이가 -3이라면, 부대역 번호를 표 T1속에 삽입하는 단계; (7) 모든 부대역들이 처리될 때까지 각 부대역을 위하여 제3단계 내지 제6단계를 반복하는 단계. 이 단계의 끝에서, 표 T1은 범위 XMIN-3내지 XMIN의 지수들을 갖는 모든 부대역들의 번호들을 함유하며, 표 T2는 XMIN-2내지 XMIN까지의 지수들을 갖는 부대역들을 포함하고, 표 T3는 XMIN-1내지 XMIN까지의 지수들을 갖는 부대역들을 포함하고, 표 T4는 XMIN과 동일한 지수들을 갖는 부대역들을 포함한다. 각 표에 부대역을 기입하는 것은 주파수에의 한 오름차순으로 기입하는 것이 중요하다.
제1과정은 최대 부대역 지수들을 갖는 부대역의 변환계수들에 비트들을 할당한다. 표 T4에 제1(최저 주파수)기입을 하면, 표안에 표시된 각 부대역 내의 각 변환계수에 1비트를 할당한다. 이 할당은 표 T3, T2 및 끝으로 표 T1을 위해 차례로 반복된다. 이 과정은 모든 할당가능비트들이 할당될 때까지, 또는 표 T4 내지 T1에 모든 성분기입이 처리될 때까지 계속된다. 하나의 비트가 한 부대역 내 모든 계수들에 할당될 때, 그 부대역에 대응하는 어레이 A()의 한 성분 기입은 어레이 ()의 성분들이 각 부대역의 각 변환계수에 할당된 총 비트들을 반영하도록 1씩 증가한다.
앞에서 주목한 바와 같이, 모든 할당가능 비트들이 할당되자마자 할당은 종료한다. 각 표의 성분기입은 일반적으로 다중 변환계수들을 포함하는 하나의 부대역을 나타낸다. 그러므로, 만일 마지막 할당가능 비트가 하나 이상의 계수로 하나의 부대역을 표현하는 표성분기입에 할당되면, 아마도 그 부대역내 모든 계수들은 반드시 어레이 A()에 순차적으로 저장된 부대역의 할당량으로부터 감산된 하나의 비트를 가져야 하는 것은 아니다.
제2과정은 제0과정에 사용된 절차와 유사한 과정을 사용하여 새로운 표 T1 내지 T4로 구성한다 : (1) XMIN은 여전히 최소부대역 지수를 보지하고; (2) 최저 주파수 부대역(DCT 블록의 경우 부대역 0, 또는 DST 블록의 경우 부대역 1)의 경우, 부대역지수를 XMIN로부터 감산하고; (3) 만일 그 차이가 영이라면, 표 T4속에 부대역 번호를 삽입하며; (4) 만일 그 차이가 -1이라면, 표 T3속에 부대역 번호를 삽입하며; (5) 만일 그 차이가 -2라면, 표 T2속에 부대역 번호를 삽입하며; (6) 만일 그 차이가 -3이라면, 표 T1속에 부대역 번호를 삽입하고; (7) 모든 부대역들이 처리될 때까지 각 부대역을 위하여 제3단계 내지 제6단계를 반복한다. 이 단계의 끝에서 표 T1은 XMIN-3과 동일한 지수들을 갖는 모든 부대역들의 번호들을 포함하고, 표 T2는 XMIN-2와 동일한 지수들을 갖는 모든 부대역들의 번호들을 포함하고, 표 T3는 XMIN-1과 동일한 지수들을 갖는 모든 부대역들의 번호들을 포함하고, 표 T4는 XMIN과 동일한 지수들을 갖는 모든 부대역들의 번호들을 포함한다. 모든 표들의 성분 기입들은 변한계수들의 주파수에 의한 오름차순으로 기입한다.
제2과정은 각 계수가 총 4개의 추가비트를 받을 때까지, 또는 할당제한치에 도달할 때까지 표 T3 내지 표 T1의 부대역에 의해 표시된 모든 계수들에 비트들을 할당한다. 표 T3에 제1(최저주파수) 성분 기입을 시작할 때, 그 표에 표시된 각 부대역 내 포함된 각 계수에 1비트를 할당한다. 각 부대역이 처리될 때, 그 기입은 표 T3로부터 제거되고, 표 T4로부터 삽입된다. 다음, 표 T2의 성분기입과 연관된 계수들은 부기비트가 할당될 때 표 T2 내지 T3의 각 기입성분을 이동하면서 하나의 부가 비트를 할당한다. 그 다음, 표 T1의 성분 기입은 표 T1 내지 T2의 기입성분들을 이동하면서 처리된다. 임의의 할당 가능 비트들이 존재하면, 표 T3 및 T2의 처리를 반복함으로서 할당을 계속 진행한다. 만일, 비트들이 할당작업을 위해 존재하면, 최종 패스는 표 T3의 성분 기입을 통해 이루어진다. 제2과정에서 모든 잔여 할당비트들을 할당하지 않으면, 표 T4는 모든 계수들을 포함하고, 각각은 4비트를 받으며, 표 T3 내지 T1은 비어 있다. 모든 할당가능비트들이 할당되었다면, 어레이 A()는 각 변환계수에 할당된 총비트들을 반영하기 위하여 표 T1 내지 T4에 포함된 정보로부터 재구성된다. 표 T4의 한 성분에 대응하는 어레이 A()의 각 성분은 4의값으로 할당된다. 표 T3의 한 성분에 대응하는 A()의 각 성분은 3의 값으로 할당도고; 표 T2의 경우 2의 값을; 그리고 표 T1의 경우 1의 값을 갖는다. 어레이 A()의 모든 다른 성분들, 즉 표 T1 내지 T4에 성분기입으로 표시되지 않은 부대역들은 영이다.
임의의 할당 가능 비트들이 존재하면, 할당은 제3과정으로 계속된다. 표 T4는 부대역 번호들을 내림차순의 주파수로 배열하며 분류된다. 제1단계는 주파수가 더 낮은 표 T4에 있지 않고, 표 T4에 있는 부대역에 인접한 표 T1에 부대역을 가산한다. 표 T4에서 제1(최고 주파수)성분기입을 할 때, 표의 인접한 기입 성분들은 그들이 2이상의 부대역들로 분리되어 있는지를 결정하도록 시험한다. 그들이 그렇게 분리되어 있으면, 더높은 부대역 바로 밑의 부대역의 번호는 표 T1속에 삽입된다. 예를 들면, 표 T4에서 2개의 인접한 성분들이 부대역 16 및 12를 나타낸다고 가정하자. 이들 2개의 부대역들은 3개의 부대역들로 분리된다. 그러므로, 부대역 16 아래의 부대역을 나타내는 번호 15는 표 T1속에 삽입된다.
부대역 0 및 18의 2개의 특별한 경우(20㎑ 경우의 부대역 0 및 20)를 이하 다룬다. 부대역 1이 표 T4에서 마지막 기입성분이라면, 부대역 0의 번호는 표 T1속으로 삽입된다. 만일 표 T4의 제1기입성분이 부대역 17(20㎑의 경우 부대역 19)이라면, 부대역 18의 번호(부대역 20)는 표 T1 속으로 삽입된다.
제3단계는 주파수가 더 높은 표 T4에 있지 않고 표 T4에 있는 부대역에 인접한 표 T1에 부대역들을 가산한다. 표 T4의 제1(최고 주파수)기입성분으로 시작하면, 표의 인접한 성분들은 2이상의 부대역들로 분리되는지를 결정하도록 시험한다. 그들이 분리되어 있으면, 더 낮은 부대역 바로 위의 부대역번호는 표 T1속에 삽입된다. 예를 들면, 표 T4의 2개의 인접한 성분들이 부대역 16 및 12를 나타내고 있다고 가정한다. 상기 논의된 것처럼, 이들 2개의 부대역들은 3개의 부대역들로 분리된다.그러므로, 부대역 12이상의 부대역을 나타내고 있는 번호 13은 표 T1속에 삽입된다.
표 T1에 제1성분기입으로 시작하면, 표 T1의 기입으로 표시되는 각 부대역과 연관한 각 변환계수에 하나의 부가비트가 할당된다. 각 부대역 성분기입이 처리될 때, 표 T1으로부터 표 T2에 이동된다. 임의의 할당가능 비트가 표 T1의 처리 후에 남아 있다면, 표 T2로부터 표 T3로 각 성분을 이동하여 표 T2의 성분기입들에 대해서도 유사한 과정을 반복한다. 표 T3으로부터 표 T4속으로 성분 기입들을 이동하여 임의의 비트가 할당되도록 남아있다면 표 T3로서 처리를 계속한다. 임의의 비트가 이 단계후에도 남아 있다면, 제3과정은 표 T4의 성분들을 내림차순의 주파수 순서로 분류함으로써 처음부터 반복한다. 모든 할당 비트들이 할당되면, 어레이 A()는 제2과정을 위해 상기 설명한 것과 같이 4개의 표로부터 만들어진다.
모든 비트들이 할당된 후에 각 변환계수코드워드는 계수가 그룹으로 이루어진 부대역을 나타내는 어레이 A()의 성분값과 동일한 비트길이로 반올림된다. 그러나, 한 부대역의 몇몇 계수들은 최대 할당치와 동일한 할당된 비트들의 총수를 유지하는데 필요한 그들 길이로부터 1비트를 감산시킨다.
5. 코드워드 트렁케이션
제7도의 박스(705)에 도시된 비균일 양자화기의 제5섹션은 적응비트할당루틴을 따른다. 앞 절에서 결정된 부대역 및 매스터 지수들을 사용하여, 변환블록내의 각 변환 계수는 부대역을 위한 지수값과 동일한 배수의 값을 좌측으로 이동시키며, 여기에서 그 계수는 그룹으로 되고, 관련된 매스터 지수가 1로 셋트되면 그외 3개 이상의 시프트를 추가한다. 그 다음, 각 계수들의 총 비트길이는 그 최소 비트길이(표 1 참조)를 어레이 A()에서 발견되는 각 부대역의 계수들에 할당된 적응할당 비트들의 수에 가산함으로써 계산된다. 각 변환계수 코드워드는 이 비트길이로 반올림된다.
상기 설명한 바와 같이, 어레이 A()의 각 성분은 부대역내의 모든 계수들에 할당된 비트들의 수를 나타낸다. 한 부대역의 몇몇 계수들은 최대할당치에 동일한 변환블록에 할당된 비트들의 총수를 유지하는데 필요한 그들 길이로부터 1비트를 감산시킬 수 있다.
E. 포매팅(Formatting)
포매팅 과정은 전송 또는 저장용 인코드된 변환블록을 준비한다. 이 과정은 제1(a)도의 박스(109)에 의해 표시된다. 이하, 입체음향에 적용시키는데 사용될 수 있도록 2채널 신호의 포매팅을 설명한다. 그러나, 기본적인 원리를 기본발명으로부터 일탈함이 없이 단일채널 또는 다중채널 장치에 사용될 수 있다. 각 변환계수 코드워드의 고정 길이 표현은 표 1에 도시된 최소 비트길이와 동일한 길이로 반올림된 코드워드를 트렁케이팅 함으로서 형성된다. 이 코드워드에 할당된 임의의 추가 비트들은 적응비트블록에 분리적으로 포매트된다. 매스터 지수들, 부대역 지수들, 트렁케이트된 계수코드워드들, 및 적응비트블록들은 그 다음 제20도에 도시된 그루핑(grouping)에 의한 조합된다.
제20도의 변환블록들의 포매트된 프레임은 채널 A가 DCT 블록을 인코드하였고 채널 B는 DST 블록을 인코드한 구성을 나타낸다. 만일 이 프레임이 전송중에 잡음에 의해 야기된 비트에러와 같은 비트에러를 받는다면, 에러정정 코드들은 제21도에 도시된 것과 같은 데이터로 혼합된다. 디지털 신호가 전송용이라면 프레임 동기화 비트와 같거나, 또는 프레임들이 저장용이라면 데이터베이스 포인터들 또는 레코드 키들과 같은 부가적인 오버헤드 비트들이 요구될 수 있다. 프레임동기화비트가 필요하다면, 포매트된 프레임은 "디지털 전송 시스템"(Smith, New York, NY : Van Nostrand Reinhold Co., 1985, pp.228-236)에 설명한 기술을 사용하여 랜더마이즈된다(randomized). 랜더마이제이션은 프레임내 유효데이터가 동기화패턴에 맞지 않을 가능성을 축소할 수 있도록 수행된다. 랜더마이즈된 프레임은 프레임 동기화 비트들에 첨부된다.
각 변환 계수는 2개의 뚜렷한 부분 또는 세그멘트와 같이 나타낼 수 있다. 제1부분은 계수의 최소길이를 나타내고 고정된 수의 비트들로 구성된다(표 1를 참조). 만일 있다면, 표현식의 제2부분은 가변길이를 가지고 적응적으로 할당된 비트들로 구성된다. 이 2개 부분으로 나타내는 방식은 가변길이로서 각 계수를 나타내는 방식으로 선택되며, 이것은 잡음에 의하여 오염될 염려가 없기 때문이다. 만일 잡음버스트가 바람직한 방식을 사용하는 프레임에서 발생하면, 잡음의 영향은 지수들, 코드워드들, 또는 잡음에 의해 직접 영향받은 할당비트들의 값으로 한정될 것이다. 만일 잡음 버스트가 가변길이 코드워드들을 사용하는 프레임에서 발생하면, 그 잡음의 영향은 나머지 프레임속으로 전파될 수 있다. 잡음버스트는 잡음에 의해 직접 접촉된 지수들 및 코드워드들의 값 뿐만아니라, 각 가변길이 코드워드들의 길이를 결정하는데 필요한 정보를 변경할 것이기 때문에 이 전파는 일어날 수 있다. 만일 한 코드워드 길이가 에러이라면, 나머지 프레임은 오염될 것이다.
표 1은 하나의 인코드된 DCT 블록이 2개의 매스터 지수비트로 구성됨을 나타내며, 69비트용 19부대역지수들 및 163비트용 46계수 코드워드들을 도시한다. 부가적인 34적응할당비트들은 총 DCT 블록 길이를 268비트로 한다. (본 발명의 20㎑의 경우에는 인코드된 DCT 블록은 2개의 매스터 지수들로 구성되며, 77비트들의 21부대역 지수들, 197비트들의 63계수 코드워드들 및 총 310비트들의 34적응할당비트들을 구성한다.) 표 1에 나타내고 표현 4에 도시된 바와 같이 DST 계수 S(0)용 코드워드는 항상 0이다. 그러므로 이 코드워드 및 그 지수는 전송되거나 또는 저장될 필요가 없다. 이것은 260비트의 길이(20㎑의 경우 302비트)에 총 8비트(3개의 지수비트와 5개의 계수코드워드비트)만큼 인코드된 DST 블록을 감소시킨다. DCT-DST 블록쌍의 인코드된 프레임의 총길이는 528비트들이다.
어떠한 사이드 정보도 계수들을 나타내는데 필요하지 않으며, 부가비트들이 그 계수들에 할당되었다. 디포매팅 과정은 인코딩과정에 사용되는것과 동일한 할당알고리즘을 수행함으로써 전송된 부대역 지수들로부터 적절한 할당을 결정할 수 있다.
데이터 오염이 문제가 아니라면, 변환블록의 프레임을 포매팅하는 바람직한 구성은 지수를 처음에, 계수코드워드를 그 다음에, 그리고 적응할당비트를 마지막에 위치시키는 것이다. 이것은 처리지연을 감소시킨다. 왜냐하면 모든 부대역 지수들이 수신된 후에, 디포매팅 과정은 각 변환계수에 만들어진 비트할당을 결정하며 이때 적응비트 블록들은 수신된다. 본 발명의 바람직한 실시예에 사용되는 포매팅 구성은 제20도에 도시된다. 이 비트스트림은 오름차순의 주파수 신호로 조합된 일채널용 매스터 및 부대역 지수들로 포매트되며, 다른 채널의 매스터 및 부대역 지수들이 그다음 이어진다. 다음, 제1 채널용 변환계수 코드워드들의 고정된 길이부는 오름차순의 주파수 순서로 조합되며 타 채널의 계수 코드워드들이 그 다음 이어진다. 끝으로, 제1채널용 적응비트블록들은 비트스트림에 첨부되며, 다른 채널의 적응비트블록들이 그 다음 이어진다.
포텐셜 데이터 오염이 문제가 되는 응용예에서, 에러정정 방식에 필요하다. 부대역 지수들내의 에러들 및 덜한 정도가지는 하휘 주파수 계수 코드워드들 내의 에러들은 일반적으로 최대 가청왜곡을 생성한다. 이 정보는 보호할 가장 임계적인 데이터이다. 바람직한 방식은 이값들을 에러검출 및 정정코드들로써 보호하고, 이값들을 잡음버스터에러들에 대한 그들의 면역성을 개선할 수 있는 한 가장 많이 분리시킨다. 이러한 방식은 제21도에 도시된다.
다른 프레임 포매트 및 정정 코드들이 기본 발명으로부터 일탈함에 없이 이용될 수 있다는 사실은 당업자에게 분명할 것이다.
DCT/DST 블록 쌍의 한 프레임에 대한 총 길이는 528비트이다(20㎑의 경우 612비트). 이 길이중 139비트는 부대역 및 매스터 지수들이다(20㎑의 경우 155비트). 3개의 (15, 13) 리이드-솔로몬 에러정정 코드들이 비트스트림에 가산된다. 이들 코드들의 각각은 13개의 4비트 심볼(니블) 또는 52비트를 단일 심볼 에러검출/정정을 위해 제공하고 있다. 예를 들면, "에러정정 코드"(Peterson and Weldon, Cambridge, Mass : The M.I.T. Press, 1986, pp.269-309, 361-362)을 참조할 것. 이들 에러정정 코드들중 3개는 각 프레임에 삽입되어 데이터의 39니블(156비트)까지 보호하여, 총 프레임 길이는 552비트로 한다(20㎑의 경우 636비트).
이 3개의 코드들이 156비트까지 보호할 수 있기 때문에, 15㎑의 방식에서는 단지 139 부대역 지수 비트들이 있으며, 블록 쌍 프레임내 3개의 최저 주파수계수 코드워드들을 보호할 수 있다(DCT 블록의 계수를 C(0) 및 C(1), DST 블록의 계수 S(1)). 나머지 에러정정능력은 각 변환블록의 2개의 저주파수 매스터 지수들(표 1에 MEXP0로 도시됨)을 위한 리던던트 보호를 제공함으로써 이용된다. 특정 데이터 성분들에 이 3개의 에러코드들을 할당하면 다소 임의적이긴 하지만, DCT 매스터 지수들은 하나의 코드에 할당되어야 하고, DST 매스터 지수들은 다른 한 코드에 할당되어야 하고, 각 변환 블록으로부터의 2개의 저주파수 매스터 지수들은 제3코드에 할당되어야 한다.
리이드-솔로몬 코드들은 니블로 데이터를 처리한다. 그러므로 에러코드들, 보호된 데이터 및 미보호된 데이터는 처리를 용이하게 하기 위하여 4비트 니블속으로 그루우프된다. 각 블록-쌍 프레임에서 미보호된 데이터에 대한 보호데이터의 비율은 거의 2 대 1이다. 이것은 보호된 데이터를 포매트된 프레임속에서 확산시키도록 하며, 보호된 데이터의 각 4비트 니블은 미보호된 데이터의 2개의 니블로 분리된다. 게다가, 각 에러코드 그 자체는 단일 심볼 에러를 유지하기 때문에, 보호된 니블들은 3개의 코드 각각에 순차적으로 할당된다. 예를들면, 처음의 5개 보호된 니블들은 에러코드들 1, 2, 3, 1, 및 2로 각각 할당된다. 제21도를 참조할 것. 이 기술을 가지고, 33비트 정도의 단일 버스트에러는 각 에러코드로부터 단일 니블 이상으로 오염함이 없이 프레임내의 어느 곳에서도 발생할 수 있다. 그러므로, 보호된 데이터는 길이가 33비트보다 길지 않은 어느 단일 잡음 버스트로부터 복구될 수 있다.
상기 설명한 속박성에 근거하여, 지수들 및 변환계수 코드워드들은 오름차순의 주파수 순서로 조합되고, 그 다음 적응 비트블록들이 이어진다.
F. 전송 또는 저장
포매트된 프레임은 전송 또는 저장용으로 준비된다. 제1(a)도는 전송수단(110)을 도시하고 있다. 전송매체는 방송과 같은 공중 선전, 스튜디어 모니터링 또는 신호믹싱과 같은 내부사용, 지중 또는 위성연결에 의한 공유영역물 또는 전화사용등을 포함한다. 저장매체는 마그네틱 테이프 및 마그네틱 또는 광학 디스크를 포함한다.
G. 디포매팅
디포매팅 과정은 디지타이즈되고 코드화된 신호가 전송된 신호 또는 저장으로부터 재생된 신호를 수신함으로서 전송수단(111)로부터 수신될 때 발생한다. 이 과정은 제1(b)도의 박스(112)에 표시된다. 만일 코드워드들의 포매트된 프레임이 전송전에 랜더마이즈된다면, 포매트된 프레임은 역 랜더마이징 과정에 의해 회복된다. 그 다음, 이 프레임은 각 변환블록의 성분들로 쪼개진다 : 즉 매스터 지수들, 부대역 지수들, 변환계수 코드워드들의 고정길이부 및 적응적으로 할당된 비트들로 쪼개진다. 만일 존재한다면, 에러정정 코드들은 전송 또는 저장중에 도입된 에러들을 정류하는데 사용될 수 있다.
매스터 지수 비트들의 각각은 정확도를 확인하기 위하여 대응하는 리던던트비트로 체크된다. 이 체크가 실패하면, 즉 매스터 지수 및 그 리던던트 카운터파트가 동일하지 않으면, 매스터 지수의 값은 1로서 가정한다. 만일 매스터 지수의 정정값이 실제로 0이라면, 이 가정은 잘못된 매스터 지수아래에 그루우프된 부대역들 안의 모든 변환계수들의 진폭을 축소시킬 것이다. 이 가정은 매스터 지수를 0으로 잘못 셋팅하는 것보다 그 값이 1일 때 불쾌한 왜곡을 생성하며, 모든 영향받은 계수들의 진폭을 증가시킨다.
모든 단일 계수부대역을 위한 지수는 또한 어느 숨겨진 비트조정이 필요한지를 결정하도록 체크된다.
상기 설명한 적응 비트 할당 루틴은 수신된 신호로부터 추출된 지수를 처리하는데 사용되고, 이과정의 결과는 변환계수들에 적응비트블록들의 적절한 할당을 결정하는데 사용된다. 길이가 최소비트 길이에 임의 적응적으로 할당된 비트들을 더한 것과 동일한 각 변환계수의 부분은 24비트워드로 로딩되고, 그 다음 연관된 매스터 지수가 1로 셋트되면 3개의 추가 시프트외에 적절한 부대역 지수의 값과 동일한 배수값을 우측으로 시프트한다. 이 과정은 제1(b)도의 박스(113)로 표시된다.
H. 합성필터 뱅크-역 변환
제1(b)도의 박스(114)는 합성필터들의 뱅크를 나타내며, 디포매팅 및 선형화 절차를 통해 회복된 주파수영역 계수들의 각 집합을 시영역 신호샘플들의 블록으로 변환한다. 제1(a)도의 분석필터뱅크(104)에 사용된 것으로부터의 역변환은 합성필터뱅크(114)를 실현시킨다. 본 발명의 바람직한 실시예에 사용된 TDAC 기술의 역변환은 수정된 역 DCT 및 역 DST를 교대로 적용시키고 있다. 변환블록들의 절반은 전송 또는 저장(표시 5를 참조)으로부터 생략되기 때문에, 그 블록들은 역변환을 위해 재생성되어야 한다. 없어진 DCT 블록들은 수학식 8에 도시된 바와 같이 이용할 수 있는 DCT 블록으로부터 재생성될 수 있다. 없어진 DST 블록들은 수학식 9에 도시된 바와 같이 재생성될 수 있다. 역 DCT는 수학식 10으로 표시되고, 역 DST는 수학식 11로 표시된다.
여기서, k=변환계수 번호,
n=신호 샘플 번호,
K=변환계수들의 수,
N=샘플 블록 길이,
m=TDAC(등식 6 참조)의 위상항,
=양자화된 DCT 계수 k,
=양자화된 DST 계수 k, 및
=복구된 양자화 신호 X(n)이다.
계산은 FFT 알고리즘을 사용하여 수행된다. 포워드변환(forward transform)에 사용되는 것과 동일한 기술들은 역변환에 사용되어, 단일 FFT를 사용하는 DCT 및 DST의 동시 계산을 허용한다.
제14(a)도-제14(e)도 및 제16(a)도-제16(g)도는 분석-합성 필터뱅크들의 변환 과정을 도시한다. 분석필터뱅크는 시영역 신호를 DCT 및 DST 블록의 교번하는 순서로 변환한다. 역변환은 역 DCT를 각 다른 블록에 적용하고, 인버스 DST를 블록들의 나머지 절반에 적용한다. 제15(a)도-제15(d)도에 도시한 것과 같이, 복구된 신호는 앨리어징(aliasing) 왜곡을 포함한다. 이 왜곡은 제1(b)도의 박스(116)에 의해 표시된 순차적인 시영역 블록 중첩가산과정중에 제거된다. 중첩가산과정은 이하 설명한다.
I. 합성 윈도우
제16(a)도-제16(g)도는 인접한 시영역 신호 샘플 블록들의 중첩가산에 의해 시영역 앨리어징(aliasing)을 제거하는 것을 나타내고 있다. 프린센에 의해 유도된 바와 같이, 시영역 앨리어징(aliasing) 왜곡을 제거하기 위하여, TDAC 변환은 분석 윈도우에 동일한 합성윈도우 및 인접한 블록들의 중첩 가산을 적용할 것을 요구한다. 각 블록은 100중첩된다; 앞의 블록에 50이고 다음 블록에 50중첩되어 있다. 합성 윈도우 변조는 제1(b)도의 박스(115)에 의해 표시된다.
분석 합성윈도우 디자인은 필터뱅크 성능을 고려하여야 한다. 모든 윈도우들이 시영역 신호를 변조하는데 사용하기 때문에, 필터성능에 대한 전체 영향은 2개의 윈도우들의 곱으로부터 형성된 단일 윈도우에 의해 야기된 영향과 유사하다. 따라서, 분석합성 윈도우상의 설계는 분석 및 합성윈도우들을 점별 승산(point-by-point multiplication)을 나타내는 적절한 프러덕트-윈도우를 설계함으로서 완성된다. 이 설계는 매우 속박성을 가지므로 전이대역 롤오프의 경사도 및 정지대역 리젝션의 깊이 교환하는 유연성을 감소시킨다. 결과적으로, 필터성능은 이 제한없이 분석 윈도우만으로 설계된 것보다 매우 큰 규모로 열화된다. 예를 들면 제17도를 참조할 것.
분석 윈도우들이 많은 주목을 받는 동안, 선행기술은 분석-합성윈도우 쌍에 대해서는 거의 관심이 없었다. 이하 설명되는 기술들은 공지된 우량 분석 윈도우 설계로부터 양호한 분석-합성윈도우 쌍을 유도하고 있다. 이 기술에 의해 유도된 윈도우 쌍은 거의 컴퓨터를 응용한 최적화 기술로부터 유도된 윈도우 쌍과 동일하며,이 최적화 기술은 추후 더 상세히 설명된다. 임의의 분석윈도우가 개시점으로서 사용될 수 있으며, 수개의 윈도우들은 양호한 선택도를 갖는 필터뱅크의 설계를 허용하고, 그들은 정지대역 리젝션의 깊이에 대한 전이대역 롤오프의 경사도를 교환하는 수단을 제공한다. 카이저베셀윈도우, 돌프체브세프 윈도우 및 팍스 맥클레란 방법을 사용하는 유한 임펄스 필터 계수들로부터 유도된 윈도우들이 그 3가지 예들이다. "선형 위상을 갖는 비순환 디지털 필터들의 체브세프 근사화"(Parks and McClellan, IEEE Trans. Circuit Theory, vol. CT-19, March 1972, pp.189-94)를 참조할 것. 단지, 카이저베셀윈도우만이 여기서 논의된다. 이 윈도우는 단일 변수의 알파값을 선택함으로써 상기 설명한 교환(trade-off)을 허용한다. 일반적으로, 낮은 알파값은 전이대역 롤오프를 개선하고, 높은 알파값은 정지대역 리젝션의 깊이를 증가시킨다. 상기 언급한 해리스를 참조할 것.
범위 4 내지 7의 알파값은 본 발명의 바람직한 실시예에서 사용될 수 있다. 이 범위는 중주파수(1-2㎑)에서의 전이대역 롤오프의 경사도 및 저주파수(500㎑이하) 및 고주파수(7㎑이상)의 정지대역 리젝션의 깊이 사이에서 양호한 협의점을 제공한다. 수용가능한 알파값들의 범위는 심리음향차단 드레숄드치 이하의 양자화 잡음을 유지하기 위하여 충분한 정지대역 리젝션을 갖는 최저 알파값들을 확인함으로써 컴퓨터 시뮬레이션을 사용하여 결정되었다.
카이저-베셀 윈도우함수는
여기서, a=카이저-베셀 알파인자,
n=윈도우 샘플 번호,
N=샘플들의 윈도우 길이 수, 및이다.
중첩 가산 범위를 만족시키기 위하여, 길이 N의 분석-합성 프러덕트 윈도우 WP(n)는 길이 N-v의 사각윈도우를 갖는 길이 V+1의 회선 윈도우 W(n)에 의해 유도된다. 이값 V는 윈도우 중첩 가산 간격이다. 중첩가산 과정은 앨리어징(aliasing) 왜곡 및 분석과 합성윈도우들의 변조 영향을 제거한다. 프러덕트 윈도우를 유도하는 회선은 수학식 13에 도시되고, 표현식의 분모는 그 최대값이 1에 접근하나 1을 초과하지 않도록 윈도우를 스케일하고 있다. 이식은 수학식 14에 도시된 것처럼 간단하게 될 수 있다.
여기서, n=프로덕트 윈도우 샘플 번호,
v=윈도우 중첩 간격 내 샘플들의 수,
N=프로덕트 윈도우의 소망의 길이,
W(n)=길이 v+1의 시작 윈도우 함수,
WP(n)=길이 N의 유도 프러덕트 윈도우, 및
S(k)=일때이다.
수학식 15 및 16에 도시된 분석 및 합성윈도우들은 유도된 프러덕트 윈도우 WP(n)에 A 및 S 승을 각각 취함으로서 얻어진다.
여기서, WP(n)=유도된 프러덕트 윈도우(수학식 13 및 14 참조),
WA(n)=분석윈도우,
WS(n)=합성윈도우,
N=트러덕트 윈도우의 길이, 및
A+S=1이다.
본 발명의 본 실시예에서, 분석 및 합성윈도우들은 100윈도우 중첩을 갖는 128 샘플들의 길이, 또는 64 샘플들의 중첩간격을 갖는다. A 및 S의 값들은 1/2로 각각 셋트되며, TDAC 변환에 의해 요구된 것과 같이 한 쌍의 동일한 분석 및 합성윈도우들을 생성한다. 이값을 수학식 14에 대입하면, 결과의 분석윈도우는
여기서, W(n) = 길이 65의 카이저 베셀함수이고, 알파인자는 범위 4 내지 7 안에 있다.
J. 중첩-가산
윈도우 설계시 부가적인 요구사항이 존재한다 : 분석 및 합성윈도우들은 분석-합성 프러덕트 윈도우가 늘 2개의 인접한 프러덕트 윈도우들이 중첩될 때 1로 합해지도록 설계되어야 한다. 이 요구사항은 중첩 가산 과정이 분석이윈도우 및 합성윈도우 변조의 시영역 영향을 제거하는데 사용되기 때문에 부가되는 것이다. 이 과정은 제16도의 박스(116)에 의해 표시되며, 제16(a)도-제16(g)도에 도시되어 있다. 각각 역 DCT 및 DST로부터 복구된 신호들 Yc(t) 및 Ys(t)는 제16(a)도 및 제16(d)도에 도시되어 있다. 각 신호는 일련의 블록들로 그루우프되어 있다. 각 신호블록은 제16(b)도 및 제16(e)도에 도시된 합성윈도우 함수에 의해 변조된다. 신호 Y'c(t) 및 Y's(t)의 결과블록들은 제16(c)도 및 제16(f)도에 도시된다. 1/2 블록길이에 의해 중첩된 2개의 신호들은 제16(g)도에 도시된 신호 Y(t)를 생성하기 위해 가산된다. 신호 Y(t)는 최초 입력신호를 정확히 재구성한 것이다.
제18도에 도시된 바와 같이, 블록 K 및 블록 K+1 사이의 중첩간격내의 어떤 시간 Not에서의 신호샘플들은 2개의 블록들의 각각의 샘플에 의해 표시된다. 2개의 윈도우 블록들의 중첩가산을 따르면, 시간 Not에서의 복구된 신호샘플은 윈도우된 블록들 k 및 k+1로부터의 샘플들의 합이 되는 것을 알 수 있으며, 그것은 다음 수학식 18과 같이 표시된다.
여기서, WAK(Not)=시간 Not에서의 블록 K의 분석윈도우,
WSK(Not)=시간 Not에서의 블록 K의 합성윈도우, 및
WAK(Not)=TDAC 변환에 필요한 WSK(Not)이다.
프러덕트 윈도우 변조 영향은 윈도우 중첩간격을 가로질려서 2개의 인접한 프러덕트 윈도우들의 합이 1과 동일하면 제거된다. 그러므로, 신호 X(nt)는 다음 수학식 19를 블록 K 및 블록 K+1 사이의 중첩간격내의 모든 시간 샘플 nt에 대해 만족하면 정확하게 복구될 수 있다.
프러덕트 윈도우를 시간의 함수로서 다루는 것은 어렵다. 따라서, 수학식 19로 표현된 것을 윈도우 샘플 번호 n의 함수로 번역하는 것이 바람직하다. 수학식 20 내지 23은 100중첩된 한쌍의 128 샘플 분석 및 합성윈도우들의 프러덕트로부터 생성된 프러덕트 윈도우를 위해 이 요구사항을 표현한다. 수학식 20은 윈도우 WPK의 처음의 절반과 이전윈도우 WPK-1의 마지막 절반의 중첩을 나타내고 있다. 수학식 21은 윈도우 WPK의 마지막 절반과 다음 윈도우 WPK+1의 처음 절반의 중첩을 나타내고 있다. 수학식 22 및 23은 분석윈도우에 의한 등가 표현을 도시하고 있다. 분석 및 합성윈도우들이 TDAC 변환과 동일하여야 함을 주목한다.
여기서, WPK(n)=WAK(n)={WAK(n)}2,
WAK(n)=블록 k에서 샘플 n의 분석윈도우 값,
WSK(n)=블록 k에서 샘플 n의 합성윈도우, 및
WAK(n)=TDAC 변환에 필요한 WSK(n)이다.
K. 신호 출력
제1(b)도의 박스(117)는 통상적인 디지털 대 아날로그 컨버터를 나타내며, 이것은 디지털 입력에 응답하여 가변하는 전압 아날로그 신호를 생성한다. 다지털 입력은 중첩 가산 과정에 의해 생성되 24비트 정수의 16개 최상위 유효비트로부터 얻어진다. 아날로그 출력은 돌발적인 고주파 성분을 제거하기 위해 15㎑의 통과대역 대역폭을 갖는 로우패스 필터로 필터되어야 한다(20㎑의 경우 20㎑). 이 필터는 제1(b)도에 도시되어 있지 않다.
II. 발명의 다른 DFT 실시예
TDAC 변환은 대부분의 응용에 바람직하나, TDAC 코더에 필요한 신호처리원들은 이산형 프뤼에 변환에 기초한 코더들에 요구된 신호처리원들보다 더 크다. DFT를 사용할 때, 코더는 작은 메모리용량, 처리속도 및 단지 16유효비트에 대한 산술적인 정확도를 요구하는 코더들이 수행될 수 있다. DFT 코더용 설계 대상들은 TDAC 방식과 동일하다; CD 품질 신호, 최소 비트율, 및 코더의 낮은 시간 지연등에 있어서 동일하다. 다음의 설명은 TDAC에 대해서 설명한 44.1㎑ 샘플속도와 같은 다른 속도가 또한 사용될 수 있지만, 48㎑의 샘플속도를 가정하여 설명한다.
제22(a)도 및 제22(b)도는 본 발명의 DFT 실시예의 기본 구성을 도시하고 있다. 이 구성은 TDAC 방식의 경우와 유사하다. 4가지 차이점들은 16-비트 산술계산의 낮은 정확성을 보상하는데 필요하다 : (1) 프리엠퍼시스 게인은 박스(2219)로 표시된 네트워크에 의한 아날로그 입력신호에 적용되고, (2) 박스(2220)로 표시된 블록-부동점 인코더는 박스(2203)로 표시된 분석-윈도우 변조전에 동작하고, (3) 박스(2222)로 표시된 블록-부동점 디코더는 16-비트 정수 형태로 시영역 신호샘플을 복구하도로록 동작하고, (4) 박스(2224)로 표시된 보상의 포스트 엠퍼시스 부스트는 아날로그 출력신호에 적용된다.
신호 샘플들은 단지 16유효비트의 정확도로 수행되는 DFT 계산들이 필요한 동작 범위를 나타내기 위하여 누적된 라운드-오프 에러 및 무능력에 기인한 가청 잡음 레벨을 생성하기 때문에 유효비트의 수를 증가시키도록 블록-부동점 형태로 변환된다. FFT 알고리즘에서 라운드-오프 잡음 축적상의 추가 정보를 위하여, "라딕스-4 FFT의 고정점 에러 분석"(Prakash and Rao, Signal Processing 3, North-Holland Publishing Co., 1981, pp. 123-133)을 참조할 것. 4-비트 지수를 갖는 블록-부동점 형태로 각 신호 샘플을 표시함으로써, 각 변환계수의 유효 동적 범위는 증가된다.
제22(a)도의 박스(2220)로 표시된 블록-부동점 인코더는 우선 수자화된 신호블록에서 가장 큰 샘플의 크기를 찾는다. 이 값을 정상화하는데 필요한 좌측 시프트의 수가 결정된다. 범위 0-15에 있는 시프트의 수는 매스터지수 MEXP의 값을 갖는다. 표 2 참조할 것. 끝으로, 블록내 모든 샘플들은 매스터 지수의 값과 동일한 양만큼 좌측으로 시프트된다. 디코드중에 제22(b)도에 도시된 블록-부동점 선형화기(2222)는 각 샘플을 매스터 지수와 동일한 양만큼 우측으로 시프트하고 그 샘플 블록은 블록-부동점 표현식으로부터 유도된다.
블록-부동점 표현식을 사용하면 모든 샘플들이 산술적인 라운드-오프에러의 영향을 감소하면서 인코드중에 좌측으로 시프트되고, 디코드 중에 우측으로 시프트되기 때문에 로우 레벨 신호용 저잡음 플로어(floor)를 제공하고 있다. 불행하게도 산술적인 잡음 플로어의 변조는 광대역 오디오 신호 압신기에 의해 생성된 것과 유사한 하이신호레벨로 발생한다. 그러나, 경함상 이 변조의 주요 가청 효과들은 300㎐미만의 주파수에서 발생함으로 보여주고 있다. 16-비트 변환코더 왜곡 및 300㎐미만의 라운드-오프 잡음은 가청할 수 없기 때문에, 입력신호( 및 결과적인 잡음 플로어)는 ADC 양자화전에 특수 프리엠퍼시스 감쇠현상에 의해 감소될 수 있고, 디지털-대-아날로그 변환후에 엠퍼시스 부스트에 의해 보상된다. 제22(a)도의 박스(2219)로 표시된 프리엠퍼시스 감쇠와, 제22(b)도의 박스(2224)로 표시된 포스트 엠퍼시스 부스트는 저 주파수 신호들에 대한 가청 변조잡음을 크게 감소시키고 있다. 프리엠퍼시스 특징은 포스트엠퍼시스 특징에 대해 보상적이므로, 코더의 주파수 응답은 평평하게(flat) 존재한다. 프리엠퍼시스 게인 특성은 다음 수학식 24에 의하여 주어지는 저주파수 감쇠현상이다.
여기서, G(s)=프리엠퍼시스 게인,
s=J·f,
j=이고
f=입력주파수 [라디안/초]이다.
이 프레엠퍼시스 게인은 DC(0㎐)에서 19dB 감쇠를 갖는 제2차 셀프(shelf)이고, 고주파에서는 1의 이득을 갖는다. 상부 차단(cutoff) 주파수는 300㎐이고, 하부차단 주파수는 100㎐이다. 프리 및 포스트엠퍼시스의 사용에 대한 추가 상세한 내용에 대해서는, "오디어 레코딩시스템에 적용된 프리 및 포스트엠퍼시스 기술"(Fielder, J. Audio Eng. Soc., vol. 33, September 1985, pp. 649-657.)을 참조할 것.
다음 설명은 본 발명의 DFT 및 TDAC 변환 방식 사이의 차이점을 나타내고 있다.
A. 처리 하드웨어
본 발명의 DFT 방식의 기본 하드웨어 구성은 제2(a)도 및 제2(d)도에 도시된 발명의 TDAC 변환 방식의 경우와 동일하다. 본 발명의 44.1㎑ 또는 48㎑의 샘플속도를 사용하는 단일 채널 DFT 방식의 바람직한 실시예의 실제적인 제작은 입력된 시영역 신호를 양자화하기 위하여 최대 20마이크로초 정도의 주기를 갖는 16-비트 ADC를 사용하고 있다. AT & T의 DSP-16 또는 텍사스 인스트루멘트사의 TMS32020과 같은 수개의 16-비트 디지털 신호처리기들은 필요한 계산을 수행하고 인코드 및 디코드 처리를 제어하는데 사용될 수 있다. 스태틱 RAM은 DSP용 프로그램 및 데이터 메모리를 제공하고 있다. 최대 20마이크로초의 주기를 갖는 16-비트 DAC는 디코드된 디지털 신호로부터 아날로그 신호를 생성하는데 사용된다.
DSP 시리일포트의 코더 하드웨어와 구성 설계는 본 발명의 TDAC 변환 방식에 대해서 상기 설명한 것과 동일하고, 당업자에게 명백할 것이다.
B. 입력신호 샘플링 및 윈도우잉
상기 설명한 것처럼, 입력돈 신호는 샘플링 및 양자화전에 프리엠퍼시스 게인에 의해 감쇠된다. 여기서 논의중의 DFT 실시예의 샘플링은 48㎑에서 발생한다. ADC로부터 양자화된 값은 16비트의 길이이고, 128개의 샘플길이를 갖는 블록속으로 버퍼된다. 한 블록은 2.67밀리초마다 수신되어, 코너내에 짧은 전송지연을 제공한다.
그 다음, 이 완충된 샘플 블록은 하나의 4-비트 매스터 지수를 사용하여 블록-부동점 표현으로 변환된다. 매스터 지수값과 동일한 양만큼 좌측으로 시프트된 128샘플들의 블록은 분석 윈도우에 의해 변조된다.
이 분석 윈도우는 TDAC 변환 및 DFT 사이의 차이 때문에 TDAC 코더에 의해 사용된 것과 상이하다. TDAC 변환과는 달리, DFT는 순차적인 한 타입의 변환블록을 생성한다. 각 변환블록은 41개 변환계수들의 각각을 위한 1쌍의 값들로 구성된다 : 실수성분 및 허수성분(계수 0은 단일의 실수치 성분으로 표시되므로 예외이다.). 표 2를 참조할 것. 전송속도 또는 데이터 저장 요구사항이 중첩 간격내 신호샘플들의 경우 배가되기 때문에 입력된 신호 샘플 블록의 중첩량을 감소시키는 윈도우 설계를 선택하는 것이 중요하다. 100중첩을 갖는 분석 윈도우를 사용하는 DFT코더는 TDAC 코더에 의해 요구되는 것보다 약 2배의 비트속도를 요구하고 있다.
TDAC 윈도우와는 달리, DFT 윈도우는 큰 간격에 대해 1의 이득을 나타냄으로써, 64 내지 16 샘플들의 블록중첩길이를 감소시키고 있다. 제23도를 참조할 것. 이 감소된 것은 디지털 필터 정지대역 리젝션을 열화시키고 있으나, TDAC 코더의 경우보다 단지 14.3(128/(128-16))의 데이터 속도의 증가를 초래하고 있다.
DFT 윈도우는 커널(kernel) 카이저-베셀 함수가 17 샘플 길이이고 1.5 내지 3의 범위 안의 알파 인자를 갖는다는 것을 제외하고는 TDAC 실시예의 경우와 유사한 방법으로 생성된다. 수학식 12를 참조할 것. 수용가능한 알파값들의 범위는 TDAC 변환 윈도우들을 위해 상기 설명한 것과 동일한 방법으로 결정되었다. 이 값들을 수학식 13 내지 16에 대입하면, 분석 및 합성 윈도우들은 카이저-베셀 윈도우와 같이 112의 사각형 윈도우의 콘벌루션 적(convolution product)의 제곱근으로부터 얻어진다(128블록길이에서 16중첩 길이를 뺀다). 이 DFT 분석 윈도우는
여기서, W(n)=길이 17의 카이저-베셀 함수이고 알파인자는 1.5 내지 3의 범위에 있다.
DFT 및 TDAC 분석 윈도우는 제23도에 도시되어 있다. 제24도에 도시된 바와 같이 DFT 윈도우는 TDAC 윈도우 보다는 중첩량이 감소되었기 때문에 더 빈약한 주파수 선택도를 갖는다.
C. 분석 필터뱅크-포워드 변환
DFT는 필터뱅크를 수행하며 다음 수학식 26, 27로 표시된다.
여기서, k=주파수 계수 번호,
n=입력된 신호 샘플 신호,
N=샘플 블록 길이,
x(n)=샘플 n에서 입력 신호 x(t)의 양자화 값,
C(k)=코사인 계수 k의 실수치 및
S(k)=사인 계수 k의 허수치이다.
D. 비균일 양자화
비균일 양자화기의 처음 3절은 TDAC 코더의 비균일 양자화기의 대응하는 절과 유사하다. 그 주요 차이점은 매스터 지수가 분석 윈도우잉 또는 주파수 영역 변환 전에 블록-부동점 인코더(2220)에 의하여 결정되고, TDAC 코더에 행해지는 것과 같은 비균일 양자화기의 섹션 2에 의하여 결정되는 것은 아니다. 다른 소수 차이점은 블록-부동점 표현식의 구성 내 차이점들, 즉 부대역 지수길이, 계수번호 및 길이에 기인하고 있다. 표 1과 표 2를 비교하라. DFT 코더의 부대역 지수를 평가하는 것은 허수항이 항상 영이고 무시되는 계수 0(DC 또는 0㎐)을 제외하고는 변환계수값들의 쌍들에 기초하고 있다. 각 부대역 지수값은 가장 큰 성분, 즉 부대역내 계수에 대해서 실수 또는 허수로부터 결정된다. DFT 코더의 최소 비트길이는 DFT 필터 주파수 선택도가 본 실시예에서 더 빈약하기 때문에, TDAC 코더의 경우보다 더 크다. TDAC 코더에 대해서, DFT 코더의 최소비트 길이는 사인파 입력을 사용하고 청각 차단 특성과 필터 선택도를 비교함으로써 경험상 결정되었다.
E. 적응 비트 할당
DFT 코더의 적응 비트 할당은 TDAC 코더에 사용된 것과 상이하나, 그 대부분의 차이점은 변환 블록의 구성으로부터 나오는 것이다. 단 32비트(34보다는 오히려)가 할당에 이용될 수 있다. 할당은 각 계수의 실수-허수쌍의 두 성분들에 이루어진다. 이 할당 작업을 간단히 하도록, 어떠한 동적인 비트 할당도 계수 0으로 이루어진다. 그 길이는 표 2에 도시된 것과 같은 최소 비트 길이와 동일하게 고정된다. 그러므로, 32비트들이 40개 계수들 쌍에 부가된다.
TDAC 코더와 대조적으로, 대략 동일한 수의 비트들이 거의 2배의 많은 코드워드에 부가될 수 있다. 이에 따라, 임의의 코드워드에 할당될 수 있는 최대수의 비트들은 2비트로 제한된다. TDAC 할당작업이 4개의 표 또는 어레이들을 사용하여 계수에 4비트를 할당하고 있지만, DFT 할당 작업은 단 2개의 결합부(TIRES)를 이용하고 있다.
F. 포맷팅
포맷트된 데이터의 구성은 TDAC 코더의 경우 사용된 것과 유사하고, 제25도 및 26도에 도시되어 있다. DFT 포맷과 TDAC 변환 포맷 사이의 주요 차이점은 블록-부동점 구성 및 지수들과 변환계수들에 부가된 비트들의 수에 있어서의 차이로부터 발생한다.
표 2를 참조하면, 제22(a)도에 도시된 DFT 비균일 양자화기(2208)는 65부대역 지수 비트들, 331 변환계수 비트들 및 적응비트할당용 32비트를 생성하고 있다. 블록-부동점 인코더(2220)는 패스(2221)를 따라 포맷터(2209)에 직접 4-비트 매스터 지수를 통과시킨다. 단일 채널의 모든 인코드된 데이터들의 총 길이는 432비트들이다. 데이터 오염이 문제가 되지 않는 2채널 응용예에서는, 바람직한 포맷팅 구성이 제25도에 도시되어 있다.
데이터 오염이 문제가 되는 2채널 응용예에서는, 에러 보정 장치가 필요하다. 그 바람직한 구성은 제26도에 도시되어 있다. 보호해야 하는 가장 임계적인 데이터는 138비트(채널당 69비트)로 구성된 매스터 지수와 계수지수들이다. 추가 18비트를 보호하기 위한 능력을 제공하기 위해, 3개의 리이드 솔로몬 코드는 이들 비트들을 보호하는데 충분하다. 이 별도의 능력은 2개의 채널 사이에서 균일하게 분린되어 있어서 매스터 지수(4배트)에 대해서는 리던던트 보호, 변환계수 0의 3개의 최상위 비트를 보호, 및 실수 및 허수 성분의 계수 1의 최상위 비트를 보호하고 있다. 최저 주파수 계수를 보호하는 것은 포스트 엠퍼시스(수학식 24 참조)에 의해 제공된 저주파수 부스트가 300㎐ 미만의 코드워드들의 에러들을 더 가청할 수 있도록 하기 때문에 바람직하다.
III. 컴퓨터 최적화된 윈도우 설계
"최적"윈도우는 변환에 기초한 디지털 필터로 하여금, 최종리젝션의 소정레벨에 대해 가장 가파른 전이대역 롤오프를 갖도록 허용하고 있다. 윈도우와 결과적인 필터 주파수 응답 사이의 관계는 윈도우 주파수응답과 같은 간단한 방법으로 설명된다. 상기 설명한 것처럼, 이 필터 특성들은 인코드된 신호품질의 소정의 주요레벨에 대해서 변환코더가 낮은 비트 속도를 달성하도록 허용한다. 본 발명의 목적상, 윈도우 최적화는 단지 분석 윈도우만을 고려하는 것 보다는 분석-합성윈도우 쌍을 고려하여야 한다.
분석윈도우만의 설계는 상당한 감쇠를 수신하였으나, 종래 기술은 분석-합성 윈도우 쌍의 설계에 대해서는 거의 언급하고 있지 않다. 상기 설명한, 콘벌루우션 기술은 공지된 분석윈도우만으로부터 윈도우쌍을 유도하고 있다. 그러나, 이 기술은 최적의 분석윈도우만으로부터 최적의 윈도우 쌍을 유도할 수 있는 지를 도시하도록 한다. 이하, 설명되는 수치 최적화 방법은 특정레벨의 최종 리젝션을 가지는 TDAC 변환에 사용하는 윈도우쌍을 설계하도록 구속될 때, 한쌍의 윈도우들을 생성하며 각 윈도우는 콘벌루우션 기술에 의해 생성된 동일하게 구속된 윈도우 쌍과 거의 동일한 형상을 갖는다. 이 최적화 방법은 2개의 사실을 설정하고 있다 : (1) 특정 레벨의 최정 리젝션을 위하여 "최적의" 윈도우를 설계할 수 있으며, (2) 이 콘벌루우션 기술은 훨씬 더 계산상 효율적이고 또한 거의 최적의 상태인 윈도우 쌍을 유도하고 있다.
이 결과는 분석-합성 윈도우 쌍을 설계하는 문제를 보다 이해하기 쉬운 분석 윈도우만을 설계하는 문제로 전환하기 때문에 유용하다. 최적의 분석 윈도우만이 개시점으로서 사용된다면, 이 콘벌루우션 기술은 거의 최적화된 윈도우 쌍을 유도할 것이다.
일반적이다. 최적화공정은 N-포인트 분석 윈도우를 확인하며, 그 대응하는 주파수 응답곡선은 TDAC 변환에 의해 부가된 구속성을 받기 때문에 목표 선택도 곡선에 가장 잘 맞는다. 위에서 설명한 것처럼, 이들 구속성은 1/2 블록 길이만큼 시프트되고, 그 자신만큼 중첩된 분석 윈도우의 제곱(분석-합성 프러덕트-윈도우)이 중첩 간격내 1에 가산되어야 한다. 디지털 컴퓨터 프로그램으로서 수행될 때, 이 최적화 공정은 다음의 단계로 구성되고 : (1) 초기화하는 단계 (2) 분석 윈도우를 한정하는 점들의 집합을 생성하는 단계 (3) 생성된 점들의 집합으로부터 시험 분석윈도우를 구성하는 단계 (4) 시험 윈도우 주파수 응답을 결정하는 단계 (5) 시험 윈도우 응답을 위한 에러값을 계산하는 단계 및 (6) 공정을 계속할지를 결정하는 단계.
초기화단계는 파일들로부터 데이터를 읽어드리며, 이 파일들은 목표 또는 소망의 선택도 주파수를 한정하고 개시 윈도우 형상을 구체화한다. 목표 선택도 곡선은 경험상 청취 테스트로부터 유도되나, 일반적으로 그 전이대역 롤오프속도는 임계 대역내 사람의 귀에 대한 심리음향적인 차단곡선의 하부 경사를 따른다.
제2단계는 시험 분석 윈도우를 한정하는 점들의 집합을 생성한다. 최적화공정이 시작할 때, 제1의 시험윈도우는 초기화데이터에 의해 구체화된 값들로 구성된다.
이 최적화 루틴은 가장 양호한 N/4+1 시험 윈도우의 리스트를 유지하고 있다. 가장 양호한 윈도우는 주파수 응답곡선이 목표 응답곡선에 가장 가까이 근접한 시험 윈도우이다. 뉴우톤-랍손 기술은 대부분의 다차원의 최적화 방법이 사용될 수 있지만 사용되고 있다. 이 뉴우톤 방법의 기본 내용은 가장 양호한 N/4+1 윈도우를 사용하여, N/4 차원의 표면 경사를 계산하고 그 제로 교차점에 표면 경사를 보간해주는 것이다. 예를들면, "수치법 : 과학적 계산 기술"(Press, New York : Cambridge University Press, 1986, pp.254-59)을 참조할 것.
제3단계는 제2단계에서 생성된 집합점들로부터 N 포인트 길이의 시험 분석 윈도우를 구성하고 있다. 각 시험윈도우는 단지 N/4 포인트로 한정된다. 이 윈도우는 대칭이고 1/2 블록길이만큼 시프트된 인접 윈도우를 1에 가산하여야만 하기 때문에, 단지 제1의 N/4 포인트들은 독립적이다. 이 관계는 다음 수학식 28, 29로 표시된다.
여기서, W[i]=포인트 i의 분석윈도우 함수값,
N=윈도우 길이이다.
제4단계는 시험 윈도우의 주파수 응답곡선을 결정한다. 이 응답곡선은 몇가지 방법으로 결정될 수 있으나, 여기에 사용된 방법은 스웨프트-주파수(swept-frequency) FFT 스펙트럼 분석기와 유사하다. 이 응답곡선의 각 점은 수치화된 입력신호의 100개의 중첩샘플 블록들 중의 FFT로부터 얻어진 대응하는 변환계수들의 RMS 평균으로부터 계산된다. 이 입력신호는 1/2 나이퀴스트 주파수와 동일한 주파수에 중심을 갖는 하나의 변환계수의 폭을 주파수 대역을 통해 뻗어있는(sweep) 정현파이다. 샘플 블록들 사이의 중첩량은 50이다.
예를 들면, 코더의 일 실시예는 44.1㎑ 속도의 입력신호를 128포인트 샘플 블록으로 샘플링한다. 일 변환계수의 대역폭은 344.5㎐(44.1㎑/128)이고, 이 대역폭의 반은 172.27㎐이다. 나이퀴스트 주파수는 22.05㎑(44.1㎐/2)이고, 그러므로 나이퀴스트 주파수의 반은 11.025㎑이다. 시험윈도우의 주파수 응답은 10.85㎑(11,025-172.26㎐)의 주파수로부터 11.20㎑(11,025+172.26㎐)의 주파수까지 계속된 수치화된 정현파 신호에 대한 응답의 RMS 평균으로부터 구성된다. 수치화된 신호의 길이는 50중첩을 갖는 128포인트들중 100개 블록들, 또는 6464포인트들이다.
제5단계는 시험 윈도우 응답을 위한 에러값을 계산한다. 이 에러값은 시험윈도우 응답과 목표 응답곡선 사이의 포인트별 차이값의 수정된 RMS로서 계산된다. 이 수정된 RMS 에러계산은 다음 수학식 30으로 표시된다.
여기서, E=수정된 RMS 에러값,
N=윈도우 길이,
ei=
Ci=시험윈도우 [dB]에 대한 포인트 1에서 계산된 응답, 및
Ti=목표 응답곡선 [dB]에 대한 포인트 i에서의 응답이다.
이 수정된 RMS 에러값은 이 응답값들이 데시벨(dB)로 표시되기 때문에 대수적으로 스케일된 축척이다. 대수적인 축척은 변환계수를 나타내는데 필요한 비트의 수가 소망의 신호-대-잡음비를 대수에 비례하기 때문에 사용된다.
제6단계는 상기 최적화 경정을 계속할 것인지를 결정한다. 이 공정은 해를 얻을 때까지 또는 해에 수렴하는 속도가 충분히 낮을 때까지 계속된다.
표 3의 성분들은 4와 7사이의 범위내에서 α값을 갖는 카이저-베셀 윈도우들로부터 시작하는 콘벌루우션 기술에 의해 유도된 수개의 분석윈도우들의 특성을 도시하고 있다. 상기 수학식 12 내지 17을 참조할 것. 이 표는 전이대역 롤오프 속도와 정지대역 리젝션의 깊이사이의 교환관계를 도시하고 있다. 데시벨 당 헤르쯔(㎐/dB)로 표시된 전이대역 롤오프의 속도는 전이영역의 중간에 있는 주파수 응답곡선에 대한 선형 근사값이다. 하부의 도면은 더 가파른 롤오프를 나타낸다. 데시벨(dB)로 표시된 최종 리젝션의 레벨은 통과대역의 중앙의 주파수 응답에 대한 정지대역 내 필터의 응답을 나타내고 있다.

Claims (8)

  1. 신호 샘플 블록을 포함하는 오디오 정보를 고품질 디지털 인코딩하는 인코더에 있어서, 각 신호 샘플 블록을 가중 함수로 가중시켜 분석-윈도우 가중 샘플 블록을 발생시키는 수단으로서, 상기 가중 함수는 각각의 제1길이의 분석/합성-윈도우의 쌍내의 분석-윈도우이며, 상기 쌍내의 두 윈도우의 승적은 제2 길이의 중첩 간격을 갖는 상기 제1길이의 승적 윈도우이며, 중첩 간격을 가로질러 자체적으로 중첩 및 부가되는 경우 상기 승적 윈도우는 일정한 값에 합산되는 수단, 상기 분석-윈도우 가중 샘플 블록에 이산 변환 함수를 적용시켜 주파수 영역 변환계수를 발생시키는 수단, 상기 변환계수를 나타내는 코드 워드를 발생시키는 수단, 및 전송 또는 저장에 적합한 포맷을 갖는 디지털 출력으로 상기 코드워드를 어셈블링하는 수단을 포함하며, 상기 분석-합성 윈도우 쌍은 (1) 상기 제2길이를 더한 1과 동일한 길이를 갖는 초기 윈도우를 발생시키는 단계, (2) 상기 제2길이를 뺀 제1길이와 동일한 길이의 단위 펄스 함수로 상기 초기 윈도우를 컨벌브하여 중간 윈도우를 발생시키는 단계, (3) 1과 동일한 길이의 단위 펄스 함수로 상기 초기 윈도우를 컨벌브하여 스케일링 인자를 한정하는 단계, (4) 상기 중간 윈도우를 상기 스케일링 인자로 분할하여 상기 승적 윈도우를 얻는 단계, 및 (5) 상기 승적 윈도우의 1제곱을 취하여 상기 분석-윈도우를 얻고, 상기 승적 윈도우의 2 제곱을 취하여 상기 합성-윈도우를 얻는 단계로서, 상기 1제곱과 2제곱의 합계는 1과 동일한 단계를 포함하는 방법에 의해 결정될 수 있는 인코더.
  2. 제1항에 있어서, 상기 1제곱과 2제곱과 동일한 인코더.
  3. 디지털 인코딩된 오디오 정보를 고품질 재생하는 디코더에 있어서, 오디오 정보 샘플 블록을 분석 윈도우 함수로 가중시켜 분석-윈도우 가중 샘플 블록을 발생시키고, 상기 분석-윈도우 가중 샘플 블록에 순방향 변환을 적용시켜 주파수 영역 변환 계수를 발생시키며, 전송 또는 저장에 적합한 포맷을 갖는 디지털 출력으로 상기 변환 계수를 인코딩하는 인코더에 의해 정보가 디지털 인코딩되며, 상기 주파수 영역 계수를 재구성하는 상기 디지털 출력을 수신하는 수단, 상기 순방향 변환의 특성과 반대되는 특성을 갖는 역 변환을 적용시켜 상기 재구성된 주파수 영역의 변환 계수에 응답하여 시간 영역 신호 샘플 블록을 발생시키는 수단, 시간 영역 신호 샘플 블록을 합성 윈도우 함수로 가중시키는 수단으로서, 상기 합성 윈도우 함수는 각각의 제1의 길이의 분석/합성 윈도우의 쌍내의 합성 윈도우이며, 상기 쌍내의 두 윈도우의 승적은 제2길이의 중첩 간격을 갖는 상기 제1길이의 승적 윈도우이며, 중첩 간격을 가로질러 자체적으로 중첩 및 부가되는 경우 상기 승적 윈도우는 일정한 값에 합산되는 수단, 및 상기 오디오 정보의 디지털 표시를 회복시키기 위해 분석 윈도우 및 합성 윈도우 수단의 가중 효과를 소거하는 수단을 포함하며, 상기 분석-합성 윈도우 쌍은 (1) 상기 제2길이를 더한 1과 동일한 길이를 갖는 초기 윈도우를 발생시키는 단계, (2) 상기 제2길이를 뺀 제1길이와 동일한 길이의 단위 펄스 함수로 상기 초기 윈도우를 컨벌브하여 중간 윈도우를 발생시키는 단계, (3) 1과 동일한 길이의 단위 펄스 함수로 상기 초기 윈도우를 컨벌브하여 스케일링 인자를 한정하는 단계, (4) 상기 중간 윈도우를 상기 스케일링 인자로 분할하여 상기 승적 윈도우를 얻는 단계, 및 (5) 상기 승적 윈도우의 1제곱을 취하여 상기 분석-윈도우를 얻고, 상기 승적 윈도우의 2제곱을 취하여 상기 합성-윈도우를 얻는 단계로서, 상기 1제곱과 2제곱의 합계는 1과 동일한 단계를 포함하는 방법에 의해 결정될 수 있는 디코더.
  4. 제3항에 있어서, 상기 1제곱과 2제곱이 동일한 디코더.
  5. 신호 샘플 블록을 포함하는 오디오 정보를 고품질 디지털 인코딩하는 인코딩하는 인코딩 방법에 있어서, 각 신호 샘플 블록을 가중 함수로 가중시켜 분석-윈도우 가중 샘플 블록을 발생시키는 단계로서, 상기 가중 함수는 각각의 제1길이의 분석/합성-윈도우의 쌍내의 분석-윈도우이며, 상기 쌍내의 두 윈도우의 승적은 제2 길이의 중첩 간격을 갖는 상기 제1길이의 승적 윈도우이며, 중첩 간격을 가로질러 자체적으로 중첩 및 부가되는 경우 상기 승적 윈도우는 일정한 값에 합산되는 단계, 상기 분석-윈도우 가중 샘플 블록에 이산 변환 함수를 적용시켜 주파수 영역 변환계수를 발생시키는 단계, 상기 변환계수를 나타내는 코드 워드를 발생시키는 단계, 및 전송 또는 저장에 적합한 포맷을 갖는 디지털 출력으로 상기 코드 워드를 어셈블링하는 단계를 포함하며, 상기 분석-합성 윈도우 쌍은 (1) 상기 제2길이를 더한 1과 동일한 길이를 갖는 초기 윈도우를 발생시키는 단계, (2) 상기 제2길이를 뺀 제1길이와 동일한 길이의 단위 펄스 함수로 상기 초기 윈도우를 컨벌브하여 중간 윈도우를 발생시키는 단계, (3) 1과 동일한 길이의 단위 펄스 함수로 상기 초기 윈도우를 컨벌브하여 스케일링 인자를 한정하는 단계, (4) 상기 중간 윈도우를 상기 스케일링 인자로 분할하여 상기 승적 윈도우를 얻는 단계, 및 (5) 상기 승적 윈도우의 1제곱을 취하여 상기 분석-윈도우를 얻고, 상기 승적 윈도우의 2 제곱을 취하여 상기 합성-윈도우를 얻는 단계로서, 상기 1제곱과 2제곱의 합계는 1과 동일한 단계를 포함하는 방법에 의해 결정될 수 있는 인코딩 방법.
  6. 제5항에 있어서, 상기 1제곱과 2제곱이 동일한 인코딩 방법.
  7. 디지털 인코딩된 오디오 정보를 고품질 재생하는 디코딩 방법에 있어서, 오디오 정보 샘플 블록을 분석 윈도우 함수로 가중시켜 분석-윈도우 가중 샘플 블록을 발생시키고, 상기 분석-윈도우 가중 샘플 블록에 순방향 변환을 적용시켜 주파수 영역 변환계수를 발생시키며, 전송 또는 저장에 적합한 포맷을 갖는 디지털 출력으로 상기 변환계수를 인코딩하는 인코더에 의해 정보가 디지털 인코딩되며, 상기 주파수 영역 계수를 재구성하는 상기 디지털 출력을 수신하는 단계, 상기 순방향 변환의 특성과 반대되는 특성을 갖는 역 변환을 적용시켜 상기 재구성된 주파수 영역의 변환계수에 응답하여 시간 영역 신호 샘플 블록을 발생시키는 단계, 시간 영역 신호 샘플 블록을 합성 윈도우 함수로 가중시키는 단계로서, 상기 합성 윈도우 함수는 각각의 제1의 길이의 분석/합성 윈도우의 쌍내의 합성 윈도우이며, 상기 쌍내의 두 윈도우의 승적은 제2길이의 중첩 간격을 갖는 상기 제1길이의 승적 윈도이며, 중첩 간격을 가로질러 자체적으로 중첩 및 부가되는 경우 상기 승적 윈도우는 일정한 값에 합산되는 단계, 및 상기 오디오 정보의 디지털 표시를 회복시키기 위해 분석 윈도우 및 합성 윈도우 수단의 가중 효과를 소거하는 단계를 포함하며, 상기 분석-합성 윈도우 쌍은 (1) 상기 제2길이를 더한 1과 동일한 길이를 갖는 초기 윈도우를 발생시키는 단계, (2) 상기 제2길이를 뺀 제1길이와 동일한 길이의 단위 펄스 함수로 상기 초기 윈도우를 컨벌브하여 중간 윈도우를 발생시키는 단계, (3) 1과 동일한 길이의 단위 펄스 함수로 상기 초기 윈도우를 컨벌브하여 스케일링 인자를 한정하는 단계, (4) 상기 중간 윈도우를 상기 스케일링 인자로 분할하여 상기 승적 윈도우를 얻는 단계, 및 (5) 상기 승적 윈도우의 1제곱을 취하여 상기 분석-윈도우를 얻고, 상기 승적 윈도우의 2제곱을 취하여 상기 합성-윈도우를 얻는 단계로서, 상기 1제곱과 2제곱의 합계는 1과 동일한 단계를 포함하는 방법에 의해 결정될 수 있는 디코딩 방법.
  8. 제7항에 있어서, 상기 1제곱과 2제곱이 동일한 디코딩 방법.
KR1019900702168A 1989-01-27 1990-01-29 고품질 오디오용 낮은 시지연 변환인코더, 디코더 및 인코딩/디코딩방법 KR100220861B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990003414A KR100214252B1 (ko) 1989-01-27 1999-02-02 고품질오디오용낮은시지연변환인코더,디코더및인코딩/디코딩방법

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US30371489A 1989-01-27 1989-01-27
US89-303,714 1989-01-27
US303,714 1989-01-27
US43986889A 1989-11-20 1989-11-20
US89-439,868 1989-11-20
US439,868 1989-11-20
US458,894 1989-12-29
US07/458,894 US5109417A (en) 1989-01-27 1989-12-29 Low bit rate transform coder, decoder, and encoder/decoder for high-quality audio
US89-458,894 1989-12-29
PCT/US1990/000507 WO1990009064A1 (en) 1989-01-27 1990-01-29 Low time-delay transform coder, decoder, and encoder/decoder for high-quality audio

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1019990003414A Division KR100214252B1 (ko) 1989-01-27 1999-02-02 고품질오디오용낮은시지연변환인코더,디코더및인코딩/디코딩방법

Publications (2)

Publication Number Publication Date
KR920702100A KR920702100A (ko) 1992-08-12
KR100220861B1 true KR100220861B1 (ko) 1999-09-15

Family

ID=27404960

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1019900702194A KR100220862B1 (ko) 1989-01-27 1990-01-29 고품질 오디오용 저속 비트 변환 코더, 디코더 및 인코더/디코더
KR1019900702168A KR100220861B1 (ko) 1989-01-27 1990-01-29 고품질 오디오용 낮은 시지연 변환인코더, 디코더 및 인코딩/디코딩방법
KR1019990003414A KR100214252B1 (ko) 1989-01-27 1999-02-02 고품질오디오용낮은시지연변환인코더,디코더및인코딩/디코딩방법
KR1019990003418A KR100214253B1 (ko) 1989-01-27 1999-02-02 고품질오디오용낮은저속비트변환인코더,디코더및인코딩/디코딩방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1019900702194A KR100220862B1 (ko) 1989-01-27 1990-01-29 고품질 오디오용 저속 비트 변환 코더, 디코더 및 인코더/디코더

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1019990003414A KR100214252B1 (ko) 1989-01-27 1999-02-02 고품질오디오용낮은시지연변환인코더,디코더및인코딩/디코딩방법
KR1019990003418A KR100214253B1 (ko) 1989-01-27 1999-02-02 고품질오디오용낮은저속비트변환인코더,디코더및인코딩/디코딩방법

Country Status (12)

Country Link
EP (2) EP0610975B1 (ko)
JP (2) JP2811369B2 (ko)
KR (4) KR100220862B1 (ko)
AT (2) ATE170682T1 (ko)
AU (1) AU643677B2 (ko)
BR (1) BR9007062A (ko)
CA (5) CA2140678C (ko)
DE (2) DE69032624T2 (ko)
DK (2) DK0610975T3 (ko)
ES (2) ES2119932T3 (ko)
SG (1) SG82549A1 (ko)
WO (1) WO1990009064A1 (ko)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5115240A (en) * 1989-09-26 1992-05-19 Sony Corporation Method and apparatus for encoding voice signals divided into a plurality of frequency bands
CN1062963C (zh) * 1990-04-12 2001-03-07 多尔拜实验特许公司 用于产生高质量声音信号的解码器和编码器
ZA921988B (en) * 1991-03-29 1993-02-24 Sony Corp High efficiency digital data encoding and decoding apparatus
GB2257606B (en) * 1991-06-28 1995-01-18 Sony Corp Recording and/or reproducing apparatuses and signal processing methods for compressed data
DE4212339A1 (de) * 1991-08-12 1993-02-18 Standard Elektrik Lorenz Ag Codierverfahren fuer audiosignale mit 32 kbit/s
EP0535889B1 (en) * 1991-09-30 1998-11-11 Sony Corporation Method and apparatus for audio data compression
US5369724A (en) * 1992-01-17 1994-11-29 Massachusetts Institute Of Technology Method and apparatus for encoding, decoding and compression of audio-type data using reference coefficients located within a band of coefficients
US5274708A (en) * 1992-06-01 1993-12-28 Fusan Labs, Inc. Digital stereo sound enhancement unit and method
JP3153933B2 (ja) * 1992-06-16 2001-04-09 ソニー株式会社 データ符号化装置及び方法並びにデータ復号化装置及び方法
US5291557A (en) * 1992-10-13 1994-03-01 Dolby Laboratories Licensing Corporation Adaptive rematrixing of matrixed audio signals
DE4236989C2 (de) * 1992-11-02 1994-11-17 Fraunhofer Ges Forschung Verfahren zur Übertragung und/oder Speicherung digitaler Signale mehrerer Kanäle
US5517511A (en) * 1992-11-30 1996-05-14 Digital Voice Systems, Inc. Digital transmission of acoustic signals over a noisy communication channel
JP3186292B2 (ja) * 1993-02-02 2001-07-11 ソニー株式会社 高能率符号化方法及び装置
JP3186307B2 (ja) * 1993-03-09 2001-07-11 ソニー株式会社 圧縮データ記録装置及び方法
JP3123290B2 (ja) * 1993-03-09 2001-01-09 ソニー株式会社 圧縮データ記録装置及び方法、圧縮データ再生方法、記録媒体
DE4316297C1 (de) * 1993-05-14 1994-04-07 Fraunhofer Ges Forschung Frequenzanalyseverfahren
US5581654A (en) * 1993-05-25 1996-12-03 Sony Corporation Method and apparatus for information encoding and decoding
US5632003A (en) * 1993-07-16 1997-05-20 Dolby Laboratories Licensing Corporation Computationally efficient adaptive bit allocation for coding method and apparatus
DE69428435T2 (de) * 1993-11-04 2002-07-11 Sony Corp., Tokio/Tokyo Signalkodierer, signaldekodierer, aufzeichnungsträger und signalkodiererverfahren
JP3131542B2 (ja) * 1993-11-25 2001-02-05 シャープ株式会社 符号化復号化装置
US5608713A (en) * 1994-02-09 1997-03-04 Sony Corporation Bit allocation of digital audio signal blocks by non-linear processing
JP3186412B2 (ja) * 1994-04-01 2001-07-11 ソニー株式会社 情報符号化方法、情報復号化方法、及び情報伝送方法
JP3277699B2 (ja) * 1994-06-13 2002-04-22 ソニー株式会社 信号符号化方法及び装置並びに信号復号化方法及び装置
JP3277705B2 (ja) 1994-07-27 2002-04-22 ソニー株式会社 情報符号化装置及び方法、並びに情報復号化装置及び方法
JP3341474B2 (ja) * 1994-07-28 2002-11-05 ソニー株式会社 情報符号化方法及び復号化方法、情報符号化装置及び復号化装置、並びに情報記録媒体
JP3557674B2 (ja) * 1994-12-15 2004-08-25 ソニー株式会社 高能率符号化方法及び装置
JPH08190764A (ja) * 1995-01-05 1996-07-23 Sony Corp ディジタル信号処理方法、ディジタル信号処理装置及び記録媒体
WO1997025794A2 (en) * 1996-01-12 1997-07-17 Philips Electronics N.V. Transmitter for and method of transmitting a wideband digital information signal, and receiver
ATE220831T1 (de) * 1996-03-19 2002-08-15 Dolby Lab Licensing Corp Analyse/synthese-filtersystem mit effizienter mit ungerade gestapelter einseitenband-filterbank unter verwendung der tdac-technik
KR100223169B1 (ko) * 1996-06-14 1999-10-15 윤종용 펄스부호변조된 디지털 오디오신호의 기록 및 재생을 위한 시스템
US5892746A (en) * 1996-06-15 1999-04-06 Samsung Electronics Co., Ltd. System for recording and/or reproducing a pulse code modulation digital audio signal
EP0990368B1 (en) * 1997-05-08 2002-04-24 STMicroelectronics Asia Pacific Pte Ltd. Method and apparatus for frequency-domain downmixing with block-switch forcing for audio decoding functions
US5913191A (en) * 1997-10-17 1999-06-15 Dolby Laboratories Licensing Corporation Frame-based audio coding with additional filterbank to suppress aliasing artifacts at frame boundaries
US6185253B1 (en) * 1997-10-31 2001-02-06 Lucent Technology, Inc. Perceptual compression and robust bit-rate control system
US6226608B1 (en) * 1999-01-28 2001-05-01 Dolby Laboratories Licensing Corporation Data framing for adaptive-block-length coding system
US6604071B1 (en) * 1999-02-09 2003-08-05 At&T Corp. Speech enhancement with gain limitations based on speech activity
FR2799321B1 (fr) * 1999-10-01 2002-01-04 France Telecom Procede de controle en continu de la qualite des sons numeriques en distribution
JP2001356799A (ja) * 2000-06-12 2001-12-26 Toshiba Corp タイム/ピッチ変換装置及びタイム/ピッチ変換方法
US7123655B2 (en) 2001-08-09 2006-10-17 Sharp Laboratories Of America, Inc. Method for reduced bit-depth quantization
US7240001B2 (en) 2001-12-14 2007-07-03 Microsoft Corporation Quality improvement techniques in an audio encoder
US6934677B2 (en) 2001-12-14 2005-08-23 Microsoft Corporation Quantization matrices based on critical band pattern information for digital audio wherein quantization bands differ from critical bands
US7502743B2 (en) 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
JP4676140B2 (ja) 2002-09-04 2011-04-27 マイクロソフト コーポレーション オーディオの量子化および逆量子化
US7460990B2 (en) 2004-01-23 2008-12-02 Microsoft Corporation Efficient coding of digital media spectral data using wide-sense perceptual similarity
KR101037931B1 (ko) 2004-05-13 2011-05-30 삼성전자주식회사 2차원 데이터 처리를 이용한 음성 신호 압축 및 복원장치와 그 방법
WO2006126856A2 (en) 2005-05-26 2006-11-30 Lg Electronics Inc. Method of encoding and decoding an audio signal
US8494667B2 (en) 2005-06-30 2013-07-23 Lg Electronics Inc. Apparatus for encoding and decoding audio signal and method thereof
EP1946294A2 (en) 2005-06-30 2008-07-23 LG Electronics Inc. Apparatus for encoding and decoding audio signal and method thereof
MX2008000122A (es) 2005-06-30 2008-03-18 Lg Electronics Inc Metodo y aparato para codificar y descodificar una senal de audio.
KR100880642B1 (ko) 2005-08-30 2009-01-30 엘지전자 주식회사 오디오 신호의 디코딩 방법 및 장치
JP5108768B2 (ja) 2005-08-30 2012-12-26 エルジー エレクトロニクス インコーポレイティド オーディオ信号をエンコーディング及びデコーディングするための装置とその方法
US8577483B2 (en) 2005-08-30 2013-11-05 Lg Electronics, Inc. Method for decoding an audio signal
US7788107B2 (en) 2005-08-30 2010-08-31 Lg Electronics Inc. Method for decoding an audio signal
US7696907B2 (en) 2005-10-05 2010-04-13 Lg Electronics Inc. Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
US7646319B2 (en) 2005-10-05 2010-01-12 Lg Electronics Inc. Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
US8068569B2 (en) 2005-10-05 2011-11-29 Lg Electronics, Inc. Method and apparatus for signal processing and encoding and decoding
CN101283398B (zh) * 2005-10-05 2012-06-27 Lg电子株式会社 信号处理的方法和装置以及编码和解码方法及其装置
US7751485B2 (en) 2005-10-05 2010-07-06 Lg Electronics Inc. Signal processing using pilot based coding
WO2007040363A1 (en) 2005-10-05 2007-04-12 Lg Electronics Inc. Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor
US7672379B2 (en) 2005-10-05 2010-03-02 Lg Electronics Inc. Audio signal processing, encoding, and decoding
KR100857111B1 (ko) * 2005-10-05 2008-09-08 엘지전자 주식회사 신호 처리 방법 및 이의 장치, 그리고 인코딩 및 디코딩방법 및 이의 장치
US8194754B2 (en) 2005-10-13 2012-06-05 Lg Electronics Inc. Method for processing a signal and apparatus for processing a signal
KR20070041398A (ko) * 2005-10-13 2007-04-18 엘지전자 주식회사 신호 처리 방법 및 신호 처리 장치
WO2007043844A1 (en) 2005-10-13 2007-04-19 Lg Electronics Inc. Method and apparatus for processing a signal
AU2006300101B2 (en) * 2005-10-13 2010-09-16 Lg Electronics Inc. Method and apparatus for signal processing
US7840401B2 (en) 2005-10-24 2010-11-23 Lg Electronics Inc. Removing time delays in signal paths
US8620644B2 (en) * 2005-10-26 2013-12-31 Qualcomm Incorporated Encoder-assisted frame loss concealment techniques for audio coding
US8606023B2 (en) * 2006-06-26 2013-12-10 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US7885819B2 (en) 2007-06-29 2011-02-08 Microsoft Corporation Bitstream syntax for multi-process audio decoding
US8249883B2 (en) 2007-10-26 2012-08-21 Microsoft Corporation Channel extension coding for multi-channel source
CN110657864B (zh) * 2019-10-08 2020-12-18 三门核电有限公司 一种传感器响应时间测量方法
CN114416015A (zh) * 2022-01-07 2022-04-29 北京小米移动软件有限公司 音频调节方法、装置、电子设备及可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8326719D0 (en) * 1983-10-06 1983-11-09 British Telecomm Digital coding
GB8421498D0 (en) * 1984-08-24 1984-09-26 British Telecomm Frequency domain speech coding
JPS6253026A (ja) * 1985-09-02 1987-03-07 Nec Corp 適応直交変換符号化方式とその装置
DE3639753A1 (de) * 1986-11-21 1988-06-01 Inst Rundfunktechnik Gmbh Verfahren zum uebertragen digitalisierter tonsignale
JPS63193268A (ja) * 1987-02-05 1988-08-10 Mitsubishi Electric Corp 方程式の求解装置
NL8700985A (nl) * 1987-04-27 1988-11-16 Philips Nv Systeem voor sub-band codering van een digitaal audiosignaal.

Also Published As

Publication number Publication date
DK0447495T3 (da) 1995-04-24
EP0610975B1 (en) 1998-09-02
KR100214252B1 (ko) 2000-03-15
DE69015613D1 (de) 1995-02-09
ES2065524T3 (es) 1995-02-16
DE69032624D1 (de) 1998-10-08
EP0447495A1 (en) 1991-09-25
CA2140678C (en) 2001-05-01
CA2026213A1 (en) 1991-05-21
KR910700526A (ko) 1991-03-15
DK0610975T3 (da) 1999-05-31
DE69015613T2 (de) 1995-05-24
KR100214253B1 (ko) 2000-03-15
JP2811369B2 (ja) 1998-10-15
JPH04503136A (ja) 1992-06-04
JP3093179B2 (ja) 2000-10-03
ATE170682T1 (de) 1998-09-15
KR100220862B1 (ko) 1999-09-15
WO1990009064A1 (en) 1990-08-09
CA2026207C (en) 1995-04-11
AU643677B2 (en) 1993-11-25
JPH1188185A (ja) 1999-03-30
CA2332407A1 (en) 1990-07-28
EP0610975A3 (en) 1994-12-14
EP0447495B1 (en) 1994-12-28
CA2026207A1 (en) 1990-07-28
KR19990037843A (ko) 1999-05-25
CA2332407C (en) 2002-03-05
CA2140678A1 (en) 1990-07-28
SG82549A1 (en) 2001-08-21
CA2340610C (en) 2002-03-05
KR920702100A (ko) 1992-08-12
DE69032624T2 (de) 1999-03-25
AU5156390A (en) 1990-08-24
CA2026213C (en) 1995-04-04
EP0610975A2 (en) 1994-08-17
ATE116495T1 (de) 1995-01-15
BR9007062A (pt) 1991-10-08
ES2119932T3 (es) 1998-10-16

Similar Documents

Publication Publication Date Title
KR100220861B1 (ko) 고품질 오디오용 낮은 시지연 변환인코더, 디코더 및 인코딩/디코딩방법
US5222189A (en) Low time-delay transform coder, decoder, and encoder/decoder for high-quality audio
US5109417A (en) Low bit rate transform coder, decoder, and encoder/decoder for high-quality audio
US5142656A (en) Low bit rate transform coder, decoder, and encoder/decoder for high-quality audio
EP0560413B1 (en) Adaptive bit allocation for audio encoder and decoder
US5230038A (en) Low bit rate transform coder, decoder, and encoder/decoder for high-quality audio
US5479562A (en) Method and apparatus for encoding and decoding audio information
US5752225A (en) Method and apparatus for split-band encoding and split-band decoding of audio information using adaptive bit allocation to adjacent subbands
AU644170B2 (en) Adaptive-block-length, adaptive-transform, and adaptive-window transform coder, decoder, and encoder/decoder for high-quality audio
JP3093178B2 (ja) 高品質オーディオ用低ビットレート変換エンコーダ及びデコーダ

Legal Events

Date Code Title Description
AMND Amendment
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
AMND Amendment
A107 Divisional application of patent
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120607

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20130611

Year of fee payment: 15

EXPY Expiration of term