KR20130112942A - 필터 계수들을 생성하고 필터들을 구성하는 방법들 및 시스템들 - Google Patents
필터 계수들을 생성하고 필터들을 구성하는 방법들 및 시스템들 Download PDFInfo
- Publication number
- KR20130112942A KR20130112942A KR1020137021471A KR20137021471A KR20130112942A KR 20130112942 A KR20130112942 A KR 20130112942A KR 1020137021471 A KR1020137021471 A KR 1020137021471A KR 20137021471 A KR20137021471 A KR 20137021471A KR 20130112942 A KR20130112942 A KR 20130112942A
- Authority
- KR
- South Korea
- Prior art keywords
- filter
- iir
- data
- coefficients
- coefficient
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 131
- 230000003044 adaptive effect Effects 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims description 43
- 238000005457 optimization Methods 0.000 claims description 35
- 238000012549 training Methods 0.000 claims description 31
- 230000008859 change Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000013138 pruning Methods 0.000 claims description 4
- 230000005236 sound signal Effects 0.000 abstract 1
- 238000001914 filtration Methods 0.000 description 15
- 238000007667 floating Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 238000013139 quantization Methods 0.000 description 9
- 238000012856 packing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
피드백 (IIR) 필터 계수 세트들의 팔레트를 생성하고 피드백 필터를 포함하는 예측 필터를 구성(예를 들어, 적응적으로 업데이트)하기 위해 상기 팔레트를 사용하기 위한 방법들 및 상기 임의의 방법들을 수행하기 위한 시스템이 개시된다. 상기 시스템의 예들은 예측 필터를 포함하고 파형 신호를 나타내는 데이터(예를 들어, 오디오 신호의 샘플들)를 인코딩하도록 구성된 인코더 및 디코더를 포함한다. 일부 실시예들에서, 상기 예측 필터는 상기 인코딩된 데이터의 생성 동안 상기 예측 필터가 구성된 상기 선택된 IIR 계수 세트를 나타내는 필터 계수 데이터를 포함하는 인코딩된 데이터를 생성(및 디코더에 어서트)하도록 동작가능한 인코더에 포함된다. 일부 실시예들에서, 예측 필터 구성의 적응적 업데이트가 발생하거나 발생하도록 허용된 타이밍이 제한된다(예를 들어, 예측 인코딩의 효율성을 최적화하기 위해).
Description
관련 출원들에 대한 교차 참조
본 출원은 전체가 참조로서 본원에 통합된, 2011년 2월 16일 출원된 미국 예비 특허 출원 번호 61/443,360의 우선권을 주장한다.
본 발명은 예측 필터(예를 들어, 오디오 데이터 인코더 또는 디코더의 예측 필터)를 구성(적응적으로 업데이트하는 것을 포함)하기 위한 방법들 및 시스템들에 관한 것이다. 본 발명의 전형적인 실시예들은 피드백 필터 계수들의 팔레트를 생성하고 예측 필터(예를 들어, 오디오 데이터 인코더 또는 디코더의 예측 필터)인(또는 그 소자인) 피드백 필터를 구성(예를 들어, 적응적으로 업데이트)하도록 상기 팔레트를 사용하기 위한 방법들 및 시스템들이다.
청구항들을 포함하여 본원에 걸쳐, 신호들 또는 데이터"에 대해" 동작(예를 들어, 필터링 또는 변환)을 수행한다는 표현은 상기 신호들 또는 데이터에 직접적으로 또는 상기 신호들 또는 데이터의 프로세싱된 버전들(예를 들어, 상기 동작 수행에 앞서 예비 필터링을 겪은 신호들의 버전)에 상기 동작을 수행하는 것을 나타내기 위한 넓은 의미로 사용된다.
청구항들을 포함하여 본원에 걸쳐, "시스템"이라는 표현은 디바이스, 시스템 또는 서브시스템을 나타내도록 넓은 의미로 사용된다. 예를 들어, 샘플 시퀀스에서 다음 샘플을 예측하는 서브시스템은 예측 시스템(또는 예측기)으로 참조될 수 있고, 이러한 서브시스템을 포함하는 시스템(예를 들어, 샘플 시퀀스의 다음 샘플을 예측하는 예측기를 포함하는 프로세서, 및 인코딩 또는 다른 필터링을 수행하기 위해 상기 예측된 샘플들을 사용하기 위한 수단)이 또한 예측 시스템 또는 예측기로 참조될 수 있다.
청구항들을 포함하여 본원에 걸쳐, 동사 "포함하다(includes)"는 "이다 또는 포함한다"를 나타내기 위해 넓은 의미로 사용되고, 다른 형태의 동사 "포함하다(include)"도 동일한 넓은 의미로 사용된다. 예를 들어, 상기 표현 "피드백 필터를 포함하는 예측 필터(a prediction filter which includes a feedback filter)"(또는 상기 표현 "피드백 필터를 포함하는 예측 필터(a prediction filter including a feedback filter)")는 본원에서 피드백 필터인 예측 필터(즉, 피드포워드(feedforward) 필터를 포함하지 않음) 또는 피드백 필터(및 적어도 하나의 다른 필터, 예를 들어, 피드포워드 필터)를 포함하는 예측 필터를 나타낸다.
예측기는 어떤 다른 신호(예를 들어, 현재 샘플이 아닌 입력 샘플들의 스트림의 샘플들)로부터 입력 신호(예를 들어, 입력 샘플들의 스트림의 현재 샘플)의 추정을 도출하고 선택적으로 또한 상기 추정을 사용하여 상기 입력 신호를 필터링하도록 사용된 신호 프로세싱 소자(예를 들어, 단(stage))이다. 예측기들은 신호 통계들의 변화에 응답하여 일반적으로 시간 변화 계수들을 갖는 필터들로서 종종 구현된다. 전형적으로, 예측기의 출력은 추정된 신호들과 원래 신호들 간의 차이의 어떤 측정치를 나타낸다.
디지털 신호 처리(DSP) 시스템들에서 발견된 공통된 예측기 구성은 시퀀스의 다음 샘플을 추정 또는 예측하기 위한 타깃 신호(상기 예측기에 입력된 신호)의 샘플들의 시퀀스를 사용한다. 상기 타깃 신호의 대응하는 샘플로부터 각각의 예측된 성분을 감산함으로써(따라서 나머지들(residuals)의 시퀀스를 생성) 상기 타깃 신호의 진폭을 통상적으로 감소시키고, 전형적으로 결과적인 상기 나머지들의 시퀀스를 또한 인코딩하는 것을 의도한다. 이는 필요한 데이터 레이트가 약화되는 신호 레벨로 통상적으로 감소되기 때문에, 데이터 레이트 압축 코덱 시스템에 바람직하다. 상기 디코더는 상기 나머지들에 대해 임의의 필수적인 예비 디코딩을 수행하고, 그 후 인코더에 의해 사용된 예측 필터링을 복제하고, 상기 나머지들 중 대응하는 하나로 각각의 예측된/추정된 값을 추가함으로써 상기 송신된 나머지(인코딩된 나머지일 수 있음)로부터 원래 신호를 복구한다.
청구항들을 포함하여 본원에 걸쳐, 상기 표현 "예측 필터"는 예측기의 필터 또는 필터로서 구현된 예측기를 나타낸다.
예측기들에 사용된 것들을 포함하는 임의의 DSP 필터는 적어도 수학적으로 피드포워드 필터(또한 유한 임펄스 응답 또는 "FIR" 필터로 공지됨) 또는 피드백 필터(또한 무한 임펄스 응답 또는 "IIR" 필터로 공지됨), 또는 IIR 및 FIR 필터들의 조합으로 분류될 수 있다. 각각의 유형의 필터(IIR 및 FIR)는 하나 또는 다른 애플리케이션 또는 신호 조건을 더 잘 받아들이도록 하는 특성들을 갖는다.
상기 예측 필터의 계수들은 정확한 추정들을 제공하기 위해 신호 다이나믹들에 응답하여 필요에 따라 업데이트되어야 한다. 실제로, 이는 상기 입력 신호로부터 수용가능한(또는 최적의) 필터 계수들을 신속하고 단순하게 계산할 필요를 강요한다. 레빈슨-더빈(Levinson-Durbin) 반복 방법과 같은 피드포워드 예측 필터들을 위한 적절한 알고리즘이 존재하지만, 피드백 예측기들을 위한 등가의 알고리즘들은 존재하지 않는다. 이러한 이유로, 대부분의 실제 예측기 실시예들은 신호 조건들이 피드백 장치의 사용을 찬성할 수 있을 때에도, 상기 피드포워드 아키텍처만을 채용한다.
2003년 12월 16일 발행되고 본 발명의 양수인에게 양도된 미국 특허 6,664,913은 인코더 및 인코더의 출력을 디코딩하기 위한 디코더를 기술한다. 각각의 인코더 및 디코더는 예측 필터를 포함한다. 실시예들의 클래스에서(예를 들어, 본원의 도 2에 도시된 실시예), 상기 예측 필터는 IIR 필터 및 FIR 필터를 모두 포함하고 파형 신호(예를 들어, 오디오 또는 비디오 신호)를 나타내는 데이터의 인코딩에 사용하기 위해 설계된다. 도 2에 도시된 실시예에서, 상기 예측 필터는 FIR 필터(57)(도 2에 도시된 피드백 구성에 접속된) 및 출력이 감산단(56)에 결합된 FIR 필터(59)를 포함한다. 단(56)으로부터 출력된 차이값들은 양자화단(60)에서 양자화된다. 단(60)의 출력은 합산단(61)에서 입력 샘플들("S")과 함께 합산된다. 동작 시, 도 2의 예측기는 각각 입력 샘플("S")과 이러한 샘플의 양자화되고, 예측된 버전(샘플의 이러한 예측된 버전은 필터들(57 및 59)의 출력들 간의 차이에 의해 결정됨)의 합을 나타내는, 나머지 값들(도 2에서 나머지들 "R"로 식별됨)을 (단(61)의 출력으로서)어서트(assert)할 수 있다.
돌비 레버러토리즈 라이쎈싱 코오포레이션(Dolby Laboratories Licensing Corporation)에 의해 개발된, "Dolby TrueHD" 기술을 구현하는 상업적으로 이용가능한 인코더들 및 디코더들은 미국 특허 6,664,913에 기술된 유형의 인코딩 및 디코딩 방법들을 채용한다. Dolby TrueHD 기술을 구현하는 인코더는 무손실(lossless) 디지털 오디오 코더이다, 이는 디코딩된 출력(호환가능한 디코더의 출력에서 생산된)이 상기 인코더에 대한 입력에 정확하게 비트-대-비트로 매칭해야 한다는 것을 의미한다. 본질적으로, 상기 인코더 및 디코더는 특정한 클래스의 신호들을 더 간편한 형태로 표현하기 위해 공통 프로토콜을 공유하여, 송신된 데이터 레이트가 감소되지만 상기 디코더는 원래의 신호를 복구할 수 있다.
미국 특허 6,664,913은 필터들(57 및 59)(및 유사한 예측 필터들)이 가능한 필터 계수 선택들의 각각의 작은 세트를 시도(입력 파형을 인코딩하기 위해 각각의 시도 세트를 사용)하고, 출력 데이터의 블록(입력 데이터의 블록에 응답하여 생성됨)의 최소의 피크 레벨 또는 최소의 평균 출력 신호 레벨을 제공하는 세트를 선택하고, 상기 선택된 계수들의 세트로 상기 필터들을 구성함으로써 인코딩된 데이터 레이트(상기 출력 "R"의 데이터 레이트)를 최소화하도록 구성될 수 있다는 것을 제안한다. 상기 특허는 또한 상기 선택된 계수들의 세트가 디코더로 송신되고, 상기 예측 필터를 구성하기 위해 상기 디코더의 예측 필터로 로딩될 수 있다는 것을 제안한다.
2010년 7월 13일 발행된 미국 특허 7,756,498은 신호를 수신하면서 변화가능한 속도로 이동하는 모바일 통신 단말을 개시한다. 상기 단말은 1차 IIR 필터를 포함하는 예측기를 포함하고, IIR 필터 계수들의 미리 결정된 쌍들의 리스트가 상기 예측기로 제공된다. 상기 단말의 동작 동안(특정한 속도로 움직이면서), 미리 결정된 IIR 필터 계수들의 쌍은 상기 필터를 구성하기 위해 후보 필터 리스트로부터 선택된다(상기 선택은 잡음이 발생하지 않은 결과들에 대한 예측 결과들의 비교에 기초한다). 상기 선택은 상기 단말의 속도가 변함에 따라 업데이트될 수 있지만, 필터 계수들을 변경에 직면하여 신호 연속성의 문제를 해결하기 위한 제안이 없다. 상기 참조는 상기 단말이 상이한 속도로 이동할 때 상기 필터를 구성하기에 적합하게 되는 실험(도시되지 않음)의 결과로서 상기 리스트의 각각의 쌍이 결정된다는 것을 명시하는 것을 제외하고, 상기 후보 필터 리스트가 생성되는 방법을 가르치지 않는다.
예측 필터의 IIR 필터(예를 들어, 도 2의 시스템의 필터(57))를 적응적으로 업데이트(예를 들어, 순간 순간 상기 출력 신호 에너지를 최소화하기 위해)하기 위해 제안되었지만, 효과적이고, 신속하고, 효율적으로 실행하는 방법(예를 들어, IIR 필터 및/또는 상기 IIR 필터를 포함하는 예측 필터를 최적화하기 위해, 시간에 따라 변할 수 있는 적절한 신호 조건들 하에서 신속하고 효과적으로 이용하기 위해)은 본 발명까지 공지되지 않았다. 변화하는 필터 계수들의 조건 하에서 신호 연속성의 문제를 해결하는 방식으로 실행하는 방법도 공지되지 않았다.
미국 특허 6,664,913은 또한 전형적으로 예상된 파형 스펙트럼에 매칭된 광범위하게 변하는 필터들을 결정하는 세트들을 포함하도록 가능한 예측 필터 계수 세트들의 제 1 그룹(바람직한 세트보다 적은 수의 세트들이 선택될 수 있는)을 결정하는 것을 제안한다. 그 다음 가능한 예측 필터 계수 세트들의 작은 제 2 그룹으로부터 최상의 필터 계수 세트의 정제된 선택을 위해 제 2 계수 선택 단계가 수행될 수 있고(상기 제 1 그룹의 세트들 중 최상의 세트가 선택된 후), 상기 제 2 그룹의 모든 세트들은 상기 제 1 단계 동안 선택된 필터와 유사한 필터들을 결정한다. 이 프로세스는 이전의 반복에서 사용된 것보다 더 유사한 가능한 예측 필터들의 그룹을 사용할 때마다 반복될 수 있다.
(바람직한 계수 세트가 예측 필터를 구성하도록 선택될 수 있는)가능한 예측 필터 계수 세트들의 하나 이상의 작은 그룹들을 생성하도록 제안되었지만, 이러한 작은 그룹을 효과적이고 효율적으로 결정하는 방법이 본 발명까지 공지되지 않아, 상기 그룹의 각 세트는 관련 신호 조건들 하에서 사용하기 위해 IIR 필터(또는 IIR 필터를 포함하는 예측 필터)를 최적화(또는 적응적으로 업데이트)하는데 유용하다.
실시예들의 클래스에서, 본 발명은 예측 필터인(또는 그 소자인) IIR 필터를 구성(예를 들어, 적응적으로 업데이트)하기 위해 IIR(피드백) 필터 계수 세트들의 미리 결정된 팔레트를 사용하기 위한 방법이다. 전형적으로, 상기 예측 필터는 오디오 데이터 인코딩 시스템(인코더) 또는 오디오 데이터 디코딩 시스템(디코더)에 포함된다. 전형적인 실시예들에서, 상기 방법은 IIR 필터 및 FIR(피드포워드) 필터를 모두 포함하는 예측 필터를 구성하기 위해 IIR 필터 계수들의 세트들("IIR 계수 세트들")의 미리 결정된 팔레트를 사용하는 방법에 있어서: 상기 팔레트의 각각의 IIR 계수 세트들에 대해, 상기 각각의 IIR 계수 세트들로 구성된 IIR 필터를 입력 데이터에 적용함으로써 생성된 출력을 나타내는 구성 데이터를 생성하고, 최저 레벨(예를 들어, 최저 RMS 레벨)을 갖는 구성 데이터를 생성하기 위해 상기 IIR 필터를 구성하거나 기준들(구성 데이터가 최저 레벨을 갖는 기준을 포함)의 최적의 조합을 만족하도록 상기 IIR 필터를 구성하는 IIR 계수 세트들 중 하나를 식별(선택된 IIR 계수 세트로서)하는 단계; 그 후 상기 선택된 IIR 계수 세트로 구성된 상기 IIR 필터와 함께 상기 예측 필터를 입력 데이터에 적용함으로써 생성된 출력을 나타내는 테스트 데이터에 대해 반복 동작(예를 들어, 레빈슨-더빈 반복)을 수행함으로써 최적의 FIR 필터 계수 세트를 결정하는 단계(전형적으로, 미리 결정된 FIR 필터 계수 세트는 상기 반복에 대해 최초 후보 FIR 계수 세트로서 채용되고, FIR 필터 계수들의 다른 후보 세트들은 상기 반복이 상기 최적의 FIR 필터 계수 세트를 결정하도록 수렴될 때까지 상기 반복 동작의 연속적인 반복에 채용된다); 및 상기 최적의 FIR 계수 세트로 상기 FIR 필터를 구성하고 상기 선택된 IIR 계수 세트로 상기 IIR 필터를 구성하여, 상기 예측 필터를 구성하는 단계를 포함하는, 방법이다.
상기 예측 필터가 인코더에 포함되고 구성될 때, 상기 인코더는 입력 데이터를 인코딩함으로써(상기 인코딩된 출력 데이터를 생성하기 위해 채용된 통상적으로 나머지 값들을 생성하는 상기 예측 필터로) 인코딩된 출력 데이터를 생성하도록 동작될 수 있고, 상기 인코딩된 출력 데이터는 선택된 IIR 계수 세트(상기 인코딩된 출력 데이터의 생성 동안 상기 IIR 필터를 구성하는)를 나타내는 필터 계수 데이터와 함께 (예를 들어, 디코더로 또는 디코더로의 후속하는 준비를 위한 저장 매체로) 어서트될 수 있다. 상기 필터 계수 데이터는 전형적으로 상기 선택된 IIR 계수 세트 자체이지만, 대안적으로 상기 선택된 IIR 계수 세트를 나타내는 데이터(예를 들어, 팔레트 또는 룩업 테이블의 인덱스)일 수 있다.
일부 실시예들에서, 상기 선택된 IIR 계수 세트(상기 IIR 필터를 구성하도록 선택된 상기 팔레트의 계수 세트)는 A + B의 최저 값을 갖는 출력 데이터를 생성하기 위해(입력 데이터에 응답하여) 상기 IIR 필터를 구성하는 상기 팔레트의 상기 IIR 계수 세트로서 식별된다, 여기서, "A"는 상기 출력 데이터의 레벨(예를 들어, RMS 레벨)이고 "B"는 상기 IIR 계수 세트를 식별하기 위해 필요한 측쇄 데이터(side chain data)의 양(예를 들어, 상기 디코더로 하여금 상기 IIR 계수 세트를 식별할 수 있도록 하기 위해 송신되어야 하는 측쇄 데이터의 양) 및 선택적으로 또한 상기 IIR 계수 세트로 구성된 상기 예측 필터를 사용하여 인코딩된 데이터를 디코딩하기 위해 필요한 임의의 다른 측쇄 데이터이다. 이 기준은 상기 팔레트의 상기 IIR 계수 세트들의 일부가 다른 것들보다 긴(더 정밀한) 계수들을 포함할 수 있기 때문에, 짧은 계수들에 의해 결정된 덜 효과적인 IIR 필터(단순히 출력 데이터의 RMS를 고려하는)가 더 긴 계수들에 의해 결정된 약간 더 효율적인 IIR 필터에 걸쳐 선택될 수 있어서 일부 실시예들에서 적절하다.
일부 실시예들에서, 예측 필터(IIR 필터, 또는 IIR 필터 및 FIR 필터를 포함하는)의 구성의 적응적 업데이트가 발생하거나 발생하도록 허용된 타이밍(예를 들어, 주파수)이 제한된다(예를 들어, 예측 인코딩의 효율성을 최적화하기 위해). 예를 들어, 전형적인 무손실 인코더의 예측 필터가 재구성될 때마다(본 발명의 실시예에 따라), 디코딩 동안 디코더로 하여금 각각의 상태 변화를 고려하도록 하는 새로운 상태를 나타내는 오버헤드 데이터(측쇄 데이터)가 송신될 필요가 있는 상기 인코더에 상태 변화가 있다. 그러나, 상기 인코더 상태 변화가 예측 필터 재구성이 아닌 어떤 이유로 발생하면(예를 들어, 샘플들의 새로운 블록, 예를 들어, 매크로블록의 프로세싱 개시 시 상태 변화가 발생하는), 새로운 상태를 나타내는 오버헤드 데이터가 또한 상기 디코더로 송신되어야 하여 예측 필터 재구성이 송신되어야 하는 오버헤드의 양으로 더하지 않고(또는 상당히 또는 참을 수 없을 만큼 더하지 않고) 이 때 수행될 수 있다. 발명의 인코딩 방법 및 시스템의 일부 실시예들에서, 인코더 상태 변화가 있는 때를 결정하기 위해 연속성 결정 동작이 수행되고, 예측 필터 재구성 동작들의 타이밍이 따라서 제어된다(예를 들어, 예측 필터 재구성은 상태 변화 이벤트의 발생까지 연기된다).
다른 클래스의 실시예들에서, 본 발명은 IIR("피드백") 예측 필터(즉, IIR 필터는 예측 필터이거나 예측 필터의 소자)를 구성(예를 들어, 적응적으로 업데이트)하도록 사용될 수 있는 IIR 필터 계수들의 미리 결정된 팔레트를 생성하기 위한 방법이다. 상기 팔레트는 IIR 필터 계수들의 적어도 두 세트들(전형적으로 작은 수의 세트들)을 포함하고, 각각의 세트들은 상기 IIR 필터를 구성하기에 충분한 계수들로 구성된다. 실시예들의 클래스에서, 상기 팔레트의 각각의 계수들의 세트는 적어도 하나의 제약들을 겪도록, 입력 신호들의 세트("트레이닝 세트")에 걸쳐 비선형 최적화를 수행함으로써 생성된다. 전형적으로, 상기 최적화는 최상의 예측, 최대 필터 Q, 링잉(ringing), 상기 필터 계수들의 허용되거나 필요한 수적 정밀도(예를 들어, 세트의 각 계수가 X 비트보다 많지 않도록 구성되어야 함, X는 예를 들어 14비트와 같을 수 있다는 요건), 송신 오버헤드, 및 필터 안정성 제약들 중 적어도 두 개를 포함하는 다수의 제약들을 겪도록 수행된다. 적어도 하나의 비선형 최적화 알고리즘(예를 들어, 뉴튼형(Newtonian) 최적화 및/또는 단순(Simplex) 최적화)이 상기 신호에 대한 필터 계수들의 최적의 후보 세트에 도달하도록 상기 트레이닝 세트의 각 신호의 각 블록에 대해 적용된다. 상기 최적의 후보 세트는 상기 IIR 필터가 결정되면 상기 팔레트에 추가되어 각각의 제약을 만족하지만, 상기 IIR 필터가 적어도 하나의 제약을 위반하면(예를 들어, IIR 필터가 불안정하다면) 거부된다(및 상기 팔레트에 추가되지 않음). 최적의 후보 세트가 거부되면, 상기 동일하게 양호한(또는 다음으로 최상인) 후보 세트가 각각의 제약을 만족하면 동일하게 양호한(또는 다음으로 최상인) 후보 세트(동일한 신호에 대한 동일한 최적화에 의해 결정됨)가 상기 팔레트에 추가되고, 계수 세트(상기 신호로부터 결정됨)가 상기 팔레트에 추가될 때까지 상기 프로세스가 반복된다. 상기 팔레트는 상이한 제약된 최적화 알고리즘들을 사용하여 결정된 필터 계수들 세트들을 포함할 수 있다(예를 들어, 제약된 뉴튼 최적화 및 제약된 단순 최적화가 개별적으로 수행될 수 있고, 각각으로부터 최상의 솔루션들이 상기 팔레트에 포함하기 위해 도태됨). 상기 제약된 최적화가 수용불가능하게 큰 최초 팔레트를 도출하면, 히스토그램 축적 및 상기 트레이닝 세트의 신호들에 걸쳐 상기 최초 팔레트의 각각의 계수 세트에 의해 제공된 순(net) 개선의 조합에 기초하여, 가지치기(pruning) 프로세스가 상기 팔레트의 크기를 감소시키기 위해 채용된다(상기 최초 팔레트로부터 적어도 하나의 세트를 삭제함으로써).
바람직하게, 상기 IIR 필터 계수 세트들의 팔레트가 결정되어 예상된 범위의 특성들을 갖는 임의의 입력 신호를 사용하기 위한 IIR 예측 필터를 최적으로 구성할 수 있는 계수 세트들을 포함한다.
본 발명의 양태들은 본 발명의 방법의 임의의 실시예를 수행하도록 구성(예를 들어, 프로그램)된 시스템(예를 들어, 인코더, 디코더, 또는 인코더 및 디코더모두를 포함하는 시스템), 및 본 발명의 방법의 임의의 실시예를 수행하기 위해 프로세서 또는 다른 시스템을 프로그래밍하기 위한 코드를 저장하는 컴퓨터 판독가능 매체(예를 들어, 디스크)를 포함한다.
도 1은 IIR 필터(7) 및 FIR 필터(9)를 포함하는 예측 필터를 포함하는 인코더의 블록도. 상기 예측 필터는 본 발명의 실시예에 따라 IIR 계수 세트들의 미리 결정된 팔레트(8)를 사용하여 구성(및 적응적으로 업데이트)된다.
도 2는 IIR 필터 및 FIR 필터를 포함하는 종래의 인코더에 채용된 유형의 예측 필터의 블록도.
도 3은 도 1의 인코더에 의해 인코딩된 데이터를 디코딩하도록 구성된 디코더의 블록도. 본 발명의 실시예에 따라 구성(및 적응적으로 업데이트)된 IIR 필터를 포함한다.
도 4는 본 발명의 방법의 실시예를 구현하기 위한 코드가 저장된 컴퓨터 판독가능 광 디스크의 정면도.
도 2는 IIR 필터 및 FIR 필터를 포함하는 종래의 인코더에 채용된 유형의 예측 필터의 블록도.
도 3은 도 1의 인코더에 의해 인코딩된 데이터를 디코딩하도록 구성된 디코더의 블록도. 본 발명의 실시예에 따라 구성(및 적응적으로 업데이트)된 IIR 필터를 포함한다.
도 4는 본 발명의 방법의 실시예를 구현하기 위한 코드가 저장된 컴퓨터 판독가능 광 디스크의 정면도.
본 발명의 많은 실시예들이 기술적으로 가능하다. 본 발명의 개시로부터 이들을 구현하는 방법은 당업자에게 명백할 것이다. 본 발명의 시스템, 방법, 매체의 실시예들이 도 1, 도 3, 및 도 4를 참조하여 설명될 것이다.
전형적인 실시예에서, 도 1의 시스템 및 도 3의 시스템 각각은 아키텍처가 예상된 입력 데이터(예를 들어, 오디오 샘플들)를 프로세싱하기에 적합하고 본 발명의 방법의 실시예를 구현하기 위한 적절한 펌웨어 및/또는 소프트웨어로 구성(예를 들어, 프로그램)된 디지털 신호 처리기(DSP)로서 구현된다. 상기 DSP는 집적 회로(또는 칩셋)로 구현될 수 있고 프로세서(들)에 의해 액세스 가능한 프로그램 및 데이터 메모리를 포함할 것이다. 상기 메모리는 상기 필터 계수 팔레트, 프로그램 데이터, 및 수행될 본 발명의 방법의 실시예 각각을 구현하는데 필요한 다른 데이터를 저장하기에 적합한 비휘발성 메모리를 포함할 것이다. 대안적으로, 도 1 및 도 3 중 하나 또는 모두의 시스템들(또는 본 발명의 다른 실시예)은 본 발명의 방법의 실시예를 구현하기에 적합한 소프트웨어로 프로그램된 범용 프로세서로서 구현되거나 적절히 구성된 하드웨어로 구현된다.
전형적으로, 입력 데이터 샘플들의 다수의 채널들이 인코더(1)(도 1의)의 입력에 어서트된다. 각각의 채널은 전형적으로 입력 오디오 샘플들의 스트림을 포함하고 다-채널 오디오 프로그램의 상이한 채널에 대응할 수 있다. 각각의 채널에서, 인코더(1)는 전형적으로 입력 오디오 샘플들의 비교적 작은 블록들("마이크로블록들")을 수신한다. 각각의 마이크로블록은 48개의 샘플들로 구성될 수 있다.
인코더(1)는 다음의 기능들: 재매트릭스(rematrixing) 동작(도 1의 재매트릭스단(3)으로 나타냄), 예측기(5)로 나타낸 예측 동작(예측된 샘플들의 생성을 포함하고 이들로부터 나머지들 생성), 블록 플로팅 포인트 표현(block floating point representation) 인코딩 동작(단(11)으로 나타냄), 호프만(Huffman) 인코딩 동작(호프만 코딩단(13)으로 나타냄), 및 패킹(packing) 동작(패킹단(15)으로 나타냄)을 수행하도록 구성된다. 일부 구현들에서, 인코더(1)는 프로그램된 디지털 신호 처리기(DSP)이고 그렇지 않으면 소프트웨어에서 이들 기능들(및 선택적으로 부가적인 기능들)을 수행하도록 구성된다.
재매트릭스단(3)은 입력 오디오 샘플들(되돌릴 수 있는 방식으로 이들의 사이즈/레벨을 감소시키기 위해)을 인코딩하여, 코딩된 샘플들을 생성한다. 입력 샘플들의 다수의 채널들이 상기 재매트릭스단(3)(예를 들어, 각각 다-채널 오디오 프로그램의 채널에 대응하는)에 입력되는 전형적인 실시예들에서, 단(3)은 상기 입력 채널들의 적어도 한 쌍의 각각의 샘플들의 합 또는 차이를 생성하는지 여부를 결정하고, 상기 합 및 차이 값들(예를 들어, 각각의 이러한 합 또는 차이의 가중된 버전) 또는 입력 샘플들 자체들을 상기 합 및 차이 값들 또는 상기 입력 샘플들 자체들이 출력되는지 여부를 나타내는 측쇄 데이터와 함께 출력한다. 전형적으로, 단(3)으로부터 출력된 상기 합 및 차이 값들은 가중된 합들 및 샘플들의 차이들이고, 상기 측쇄 데이터는 합/차이 계수들을 포함한다. 단(3)에서 수행된 재매트릭스 프로세스는 복제 신호 성분들을 소거하기 위해 입력 채널 신호들의 합들 및 차이들을 형성한다. 예를 들어, 두 개의 동일한 16비트 채널들이 샘플 당 15비트들의 잠재적 절약을 달성하기 위해, 상기 디코더의 재매트릭스를 되돌리기 위해 필요한 임의의 측쇄 정보를 빼고, 17비트의 합 신호 및 침묵의 차이 신호로서, 코딩될 수 있다(단(3)에서).
편의 상, 인코더(1)에서 수행된 후속 동작들의 다음 설명은 단(3)의 출력에 의해 나타난 채널들 중 단 하나의 샘플들(및 이들의 인코딩)을 참조한다. 설명된 코딩은 모든 채널들의 샘플들(도 1에서 샘플들 "Sx"로 식별됨)에 대해 수행되는 것이 이해될 것이다.
예측기(5)는 다음의 동작들: 감산(감산단(4) 및 감산단(6)으로 나타냄), IIR 필터링(IIR 필터(7)로 나타냄), FIR 필터링(FIR 필터(9)로 나타냄), 양자화(양자화단(10)으로 나타냄), IIR 필터(7)의 구성(IIR 계수 팔레트(8)로부터 선택된 IIR 계수들의 세트들을 구현하기 위해), FIR 필터(9) 구성, 및 상기 필터들(7 및 9)의 구성들의 적응적 업데이트를 수행한다. 단(3)에서 생성된 코딩된(재매트릭스된) 샘플들의 시퀀스에 응답하여, 예측기(5)는 상기 시퀀스에서 각각의 "다음" 코딩된 샘플을 예측한다. 필터들(7 및 9)이 구현되어 이들의 조합된 출력들(단(3)으로부터 코딩된 샘플들의 시퀀스에 응답하여)은 상기 시퀀스의 예측된 다음 코딩된 샘플을 나타낸다. 상기 예측된 다음 코딩된 샘플들(필터(9)의 출력으로부터 필터(7)의 출력을 감산함으로써 단(6)에서 생성됨)은 단(10)에서 양자화된다. 구체적으로, 양자화단(10)에서, 반올림 동작(예를 들어, 가장 가까운 정수로)이 단(6)에서 생성된 각각의 예측된 다음 코딩된 샘플에 대해 수행된다.
단(4)에서, 예측기(5)는 나머지 값들(나머지들)의 시퀀스를 생성하기 위해 단(3)으로부터 상기 코딩된 샘플 시퀀스의 각각의 현재 값으로부터 필터들(7 및 9)의 양자화된, 조합된 출력(Pn)의 각각의 현재 값을 감산한다. 상기 나머지 값들은 단(3)으로부터 각각의 코딩된 샘플과 이러한 코딩된 샘플의 예측된 버전 사이의 차이를 나타낸다. 단(4)에서 생성된 상기 나머지 값들은 블록 플로팅 포인트 표현단(11)에 어서트된다.
더 구체적으로, 단(4)에서 필터들(7 및 9)의 양자화된, 조합된 출력(Pn)(단(3)으로부터 코딩된 샘플들의 시퀀스 및 단(4)으로부터 나머지 값들의 시퀀스의 "(n-1)"번째 코딩된 샘플을 포함하는 이전 샘플들에 응답하여)은 "(n)"번째 나머지를 생성하기 위해 상기 시퀀스의 "(n)"번째 코딩된 샘플로부터 감산된다, 여기서, Pn은 차이(Yn - Xn)의 양자화된 버전이고, Xn은 이전 나머지 값들에 응답하여 필터(7)의 출력에서 어서트된 현재 값이고, Yn은 상기 시퀀스의 이전 코딩된 샘플들에 응답하여 필터(9)의 출력에서 어서트된 현재 값이고, Yn - Xn은 상기 시퀀스에서 예측된 "(n)"번째 코딩된 샘플이다.
단(3)에서 생성된 코딩된 샘플들을 필터링하기 위해 IIR 필터(7) 및 FIR 필터(9)의 동작 전에, 예측기(5)는 IIR 필터 계수들의 세트(IIR 계수 팔레트(8)에 미리 저장된 이들 미리 결정된 세트들로부터)를 선택하기 위해 본 발명의 실시예에 따른 IIR 계수 선택 동작(이하에 설명될)을 수행하고, 상기 선택된 IIR 계수들의 세트를 구현하도록 상기 IIR 필터(7)를 구성한다. 예측기(5)는 또한 이렇게 구성된 IIR 필터(7)로 동작하기 위해 FIR 필터(9)를 구성하기 위한 FIR 필터 계수들을 결정한다. 상기 필터들(7 및 9)의 구성은 설명될 방식으로 적응적으로 업데이트된다. 예측기(5)는 또한 IIR 필터 계수들의 현재 선택된 세트(팔레트(8)로부터) 및 선택적으로 또한 FIR 필터 계수들의 현재 세트를 나타내는 "필터 계수" 데이터를 패킹단(15)에 어서트한다. 일부 구현들에서, 상기 "필터 계수" 데이터는 IIR 필터 계수들의 현재 선택된 세트(및 선택적으로 또한 FIR 필터 계수들의 대응하는 현재 세트)이다. 대안적으로, 상기 필터 계수 데이터는 IIR(또는 FIR 및 IIR) 계수들의 현재 선택된 세트를 나타낸다. 팔레트(8)는 인코더(1)의 메모리 또는 IIR 필터 계수들의 다수의 상이한 미리 결정된 세트들이 미리 로딩된 인코더(1)의 메모리의 저장 위치들로서 구현될 수 있다(따라서 필터(7)를 구성하고 필터(7)의 구성을 업데이트하기 위해 예측기(5)에 의해 액세스 가능하게 됨).
필터들(7 및 9)의 구성들의 적응적 업데이트와 관련하여, 예측기(5)는 얼마나 많은 상기 코딩된 샘플들(단(3)에서 생성된)의 마이크로블록들이 필터들(7 및 9)의 각각의 결정된 구성을 사용하여 더 인코딩하는지 결정하도록 동작가능한 것이 바람직하다. 실제로, 예측기(5)는 필터들(7 및 9)의 각각의 결정된 구성을 사용하여 인코딩될 코딩된 샘플들의 "매크로블록"의 사이즈를 결정한다(상기 구성이 업데이트되기 전에). 예를 들어, 예측기(5)의 바람직한 실시예는 필터들(7 및 9)의 각각의 결정된 구성을 사용하여 인코딩할 상기 마이크로블록들의 수 N(N은 1 ≤ N ≤ 128의 범위)을 결정할 수 있다. 필터들(7 및 9)의 구성(및 적응적 업데이트)은 더 상세히 이하에 설명될 것이다.
블록 플로팅 포인트 표현단(11)은 예측 단(5)에서 생성된 양자화된 나머지들 및 또한 예측단(5)에서 생성된 측쇄 워드들("MSB 데이터")에 대해 동작한다. 상기 MSB 데이터는 예측단(5)에서 결정된 양자화된 나머지들에 대응하는 코딩된 샘플들의 최상위 비트들(MSBs)을 나타낸다. 각각의 양자화된 나머지들은 스스로 상기 코딩된 샘플들 중 상이한 하나의 최하위 비트들만을 나타낸다. 상기 MSB 데이터는 예측단(5)에서 결정된 각각의 매크로블록의 제 1 양자화된 나머지에 대응하는 상기 코딩된 샘플의 최상위 비트들(MSBs)을 나타낼 수 있다.
블록 플로팅 포인트 표현단(11)에서, 예측기(5)에서 생성된 상기 양자화된 나머지들의 블록들 및 MSB 데이터가 또한 인코딩된다. 구체적으로, 단(11)은 각 블록에 대해 주요 지수(exponent) 및 각 블록의 개별적으로 양자화된 나머지들에 대해 개별적인 가수들(mantissas)을 나타내는 데이터를 생성한다.
도 1의 인코더에서 4키 코딩 프로세스: 재매트릭스, 예측, 호프만 코딩, 및 블록 플로팅 포인트 표현이 사용된다. 상기 블록 플로팅 포인트 표현 프로세스(단(11)에 의해 구현된)는 조용한 신호들이 시끄러운 신호들보다 더 작게 전달될 수 있다는 사실을 이용하여 구현되는 것이 바람직하다. 예를 들어, 단(11)에 입력된 완전한 레벨의 16비트 신호를 나타내는 블록은 전달될(즉, 단(11)으로부터 출력) 각각의 샘플의 모든 16비트를 필요로 한다. 그러나, 48dB 낮은 레벨의 신호를 나타내는 값들의 블록(단(11)의 입력으로 어서트되는)은 단지 각 샘플의 상위 8비트가 운동하지 않고 억제되는(및 디코더에 의해 복구될 필요가 있는) 것을 나타내는 측쇄 워드와 함께, 샘플 당 8비트가 단(11)으로부터 출력될 것을 요구할 것이다.
도 1의 시스템에서, 재매트릭스(단(3)에서) 및 예측 인코딩(예측기(5)에서)의 목적은 단(11)의 블록 플로팅 포인트 코딩으로부터 최대의 이익을 얻기 위해, 되돌릴 수 있는 방식으로, 가능한 많은 신호 레벨을 감소시키는 것이다.
단(11)이 호프만 코더단(13)에서 호프만 코딩을 겪는 동안 생성된 코딩된 값들은 되돌릴 수 있는 방식으로 이들의 사이즈/레벨을 더 감소시킨다. 결과적인 호프만 코딩된 값들은 인코더(1)로부터 출력을 위한 패킹단(15)에서 패킹(측쇄 데이터와 함께)된다. 호프만 코더단(13)은 도 3의 디코더의 역 테이블 룩업에 의해 원래 샘플의 복구를 허용하는, 룩업 테이블(도 3의 시스템의 호프만 디코더(25)에서 역으로 구현되는)로부터 각각 더 짧은 코드 워드를 대체함으로써 개별적으로 공통으로-발생하는 샘플들의 레벨을 감소시키는 것이 바람직하다.
패킹단(15)에서, 출력 데이터 스트림은 호프만 코딩된 값들(코더(13)로부터), 측쇄 워드들(이들이 생성된 인코더(1)의 각 단으로부터 수신된), 및 IIR 필터(7)의 현재 구성(및 전형적으로 또한 FIR 필터(9)의 현재 구성)을 결정하는 상기 필터 계수 데이터(예측기(5)로부터)를 함께 패킹함으로써 생성된다. 상기 출력 데이터 스트림은 (인코더(1)에서 수행된 인코딩이 무손실 압축이기 때문에) 압축된 데이터인 인코딩된 데이터(입력 오디오 샘플들을 나타내는)이다. 디코더(예를 들어, 도 3의 디코더(21))에서, 상기 출력 데이터 스트림은 무손실 방식으로 원래의 입력 오디오 샘플들을 복구하도록 디코딩될 수 있다.
대안적인 실시예들에서, 예측단(5)의 예측 필터는 도 1에 도시된 바와 다른 구조를 갖도록 구현되지만(예를 들어, 상기 언급된 미국 특허 6,664,913에 설명된 임의의 실시예들의 구조), 본 발명에 따라 미리 결정된 IIR 계수 팔레트를 사용하여 구성될 수 있다(예를 들어, 적응적으로 업데이트 가능). 예측단(5)의 예측 필터는 종래 구현이 본 발명의 실시예에 따라 수정된 것을 제외하고 종래 방식(예를 들어, 상기 언급된 미국 특허 6,664,913에 설명된 바와 같이)으로 구현(도 1에 도시된 구조로)될 수 있어서 상기 예측 필터는 본 발명에 따라 미리 결정된 IIR 계수 팔레트(팔레트(8))를 사용하여 구성될 수 있다(및 적응적으로 업데이트 가능). 이러한 업데이트 동안, IIR 필터(7)를 구성하도록 IIR 필터 계수들의 세트(팔레트(8)에 포함된 것들로부터)가 선택 및 채용되고, 이렇게 구성된 필터(7)와 수용가능하게(또는 최적으로) 동작하도록 FIR 필터(9)가 구성된다. FIR 필터(9)는 필터(9)의 이러한 구현으로부터 출력된 각각의 값이 동일한 입력에 응답하여 필터(59)로부터 출력될 수 있는 값의 덧셈 역(additive inverse)인 것을 제외하고, 도 2의 FIR 필터(59)와 동일할 수 있고, 감산단(6)(도 1의 예측기(5)의)이 도 2의 감산단(56)을 대체할 수 있고, 감산단(4)(도 1의 예측기(5)의)이 도 2의 합산단(61)을 대체할 수 있고, 양자화단(10)(도 1의 예측기(5)의)이 도 2의 양자화단(60)과 동일할 수 있고, IIR 필터(7)(도 1의 예측기(5)의)는 필터(7)의 이러한 구현으로부터 출력된 각각의 값이 동일한 입력에 응답하여 필터(57)로부터 출력될 수 있는 값의 덧셈 역인 것을 제외하고, 도 2의 FIR 필터(57)(도 2에 도시된 피드백 구성에 접속된)와 동일할 수 있다.
다음에 도 3의 디코더(21)를 설명한다.
전형적으로, 코딩된 입력 데이터 샘플들의 다수의 채널들이 디코더(21)의 입력들에 어서트된다. 각각의 채널은 전형적으로 코딩된 입력 오디오 샘플들의 스트림을 포함하고 다-채널 오디오 프로그램의 상이한 채널(또는 인코더(1)의 재매트릭스에 의해 결정된 채널들의 혼합)에 대응할 수 있다.
디코더(21)는 다음의 기능들: 언패킹(unpacking) 동작(도 3의 언패킹단(23)으로 나타냄), 호프만 디코딩 동작(호프만 디코딩단(25)으로 나타냄), 블록 플로팅 포인트 표현 디코딩 동작(단(27)으로 나타냄), 예측기(29)로 나타낸 예측 동작(예측된 샘플들의 생성을 포함하고 이들로부터 디코딩된 샘플들을 생성), 및 재매트릭스 동작(재매트릭스단(41)으로 나타냄)을 수행하도록 구성된다. 일부 구현들에서, 디코더(21)는 프로그램된 디지털 신호 처리기(DSP)이고 그렇지 않으면 소프트웨어에서 이들 기능들(및 선택적으로 부가 기능들)을 수행하도록 구성된다.
디코더(21)는 다음과 같이 동작한다:
언패킹단(23)은 호프만 코딩된 값들(인코더(1)의 코더(13)로부터), 모든 측쇄 워드들(인코더(1)의 단들로부터), 및 필터 계수 데이터(인코더(1)의 예측기(5)로부터)를 언패킹하고, 호프만 디코더(25)의 프로세싱을 위한 언패킹된 코딩된 값들, 예측기(29)에서 프로세싱하기 위한 필터 계수 데이터, 및 디코더(21)의 단들에서 프로세싱하기 위한 측쇄 워드들의 서브세트들을 적절히 제공한다. 단(23)은 수신된 호프만 코딩된 값들의 각각의 매크로블록의 사이즈(예를 들어, 마이크로블록들의 수)를 결정하는 값들을 언패킹할 수 있다(각각의 매크로블록의 사이즈는 IIR 필터(31) 및 FIR 필터(33)(디코더(21)의 예측기(29)의)가 재구성되어야 하는 간격들을 결정한다).
호프만 디코딩단(25)에서, 상기 호프만 코딩된 값들은 디코딩되고(인코더(1)에서 수행된 호프만 코딩 동작의 역을 수행함으로써), 결과적인 호프만 디코딩된 값들은 블록 플로팅 포인트 표현 디코딩단(27)에 제공된다.
블록 플로팅 포인트 표현 디코딩단(27)에서, 인코더(1)의 단(11)에서 수행된 인코딩 동작의 역이 코딩된 값들(Vx)을 복구하기 위해 수행된다(호프만 디코딩된 값들의 블록들에 대해). 각각의 값들(Vx)은 인코더의 예측기에 의해 생성된 양자화된 나머지(인코더(1)의 재매트릭스단(3)에서 생성된, 코딩된 샘플(Sx)에 대응하는 각각의 양자화된 나머지)와 상기 코딩된 샘플(Sx)의 MSB들의 합과 같다. 상기 양자화된 나머지의 값은 Sx - Px이고, 여기서, Px는 인코더(1)의 예측기(5)에서 생성된 Sx의 예측된 값이다. 상기 코딩된 값들(Vx)은 예측단(29)으로 제공된다. 실제로, 인코더(1)의 블록 플로팅 포인트단(11)의 출력에 의해 결정된 각각의 지수는 상기 관련 블록의 가수(또한 단(11)의 출력에 의해 결정된)에 다시 더해진다. 예측기(29)는 이 동작의 결과에 대해 동작한다.
예측기(29)에서, FIR 필터(33)는 전형적으로 FIR 필터(33)가 예측기(29)의 피드포워드 구성에 접속된 것(필터(7)는 인코더(1)의 예측기(5)의 피드백 구성에 접속됨)을 제외하고 도 1의 인코더(1)의 IIR 필터(7)와 동일하고, IIR 필터(31)는 전형적으로 IIR 필터(31)가 예측기(29)의 피드백 구성에 접속된 것(필터(9)는 인코더(1)의 예측기(5)의 피드포워드 구성에 접속됨)을 제외하고 도 1의 인코더(1)의 FIR 필터(9)와 동일하다. 이러한 전형적인 실시예들에서, 각각의 필터들(7, 9, 31, 및 33)은 FIR 필터 구조로 구현되지만(및 각각 FIR 필터로 고려될 수 있음), 각각의 필터들(7 및 31)은 피드백 구성에 접속될 때 본원에서 "IIR" 필터로 참조된다.
예측기(29)는 다음의 동작들: 감산(감산단(30)으로 나타냄), 합산(합산단(34)으로 나타냄), IIR 필터링(IIR 필터(31)로 나타냄), FIR 필터링(FIR 필터(33)로 나타냄), 양자화(양자화단(32)으로 나타냄), 및 IIR 필터(31) 및 FIR 필터(33)의 구성, 및 필터들(31 및 33)의 구성의 업데이트를 수행한다. 상기 필터 계수 데이터(인코더의 예측기(5)로부터, 단(23)에서 언패킹된 바와 같이)에 응답하여, 예측기(29)는 IIR 계수 팔레트(8)의 IIR 계수들의 세트들 중 선택된 하나로 FIR 필터(33)를 구성하고(이 계수들의 세트는 IIR 필터(7)를 구성하기 위해 인코더(1)에 채용된 계수들의 세트와 전형적으로 동일함), 전형적으로 또한 필터 계수 데이터(이들 계수들은 FIR 필터(9)를 구성하도록 인코더(1)에 채용된 계수들과 전형적으로 동일함)에 포함된(그렇지 않으면 필터 계수 데이터에 의해 결정된) 계수들로 IIR 필터(31)를 구성한다. 상기 필터 계수 데이터가 필터(33)를 구성하기 위해 사용된 IIR 계수들의 현재 세트를 결정(포함하기보다)한다면, 상기 IIR 계수들의 현재 세트는 예측기(29)(도 3의)의 팔레트(8)로부터 필터(33)로 로딩된다(이 경우, 도 3의 팔레트(8)는 도 1의 예측기(5)의 동일하게 번호가 매겨진 팔레트와 동일하다).
상기 필터 계수 데이터가 필터(33)를 구성하기 위해 사용된 IIR 계수들의 현재 세트를 포함(결정하기보다)하면, 팔레트(8)는 디코더(21)로부터 생략되고(즉, IIR 계수들의 팔레트가 디코더(21)에 미리 저장되지 않음) 상기 필터 계수 데이터 자체는 필터(33)를 구성하도록 사용된다. 언급된 바와 같이, 상기 필터 계수 데이터가 필터(33)를 구성하는데 사용될 IIR 계수들의 세트들(팔레트(8)의) 중 하나를 결정하는 대안적인 실시예들에서, 이 IIR 계수들의 세트는 팔레트(8)(디코더(21)에 미리 저장된)로부터 선택될 수 있고 상기 필터(33)를 구성하도록 사용된다. 두 경우 모두, FIR 필터(33)(IIR 계수들의 특정한 세트를 사용하여 필터(7)로 예측기(5)에서 인코딩된 데이터를 디코딩하기 위해 사용될 때)는 동일한 IIR 계수들의 세트로 구성된다. 유사하게, 상기 필터 계수 데이터가 예측기(5)(도 1의)의 FIR 필터(9)를 구성하도록 사용된 FIR 계수들의 세트를 포함할 때, IIR 필터(31)는 이 FIR 계수들의 세트로 구성된다(동일한 FIR 계수들을 사용하여 필터(9)로 예측기(5)에서 인코딩된 데이터를 디코딩하기 위해 필터(31)에 의해 사용하기 위해). FIR 필터(33)(및 IIR 필터(31))의 구성은 필터 계수 데이터의 각각의 새로운 세트에 응답하여 전형적으로 업데이트된다.
대안적인 디코더 구현들에서(도 3의 팔레트(8)가 도 1의 팔레트(8)와 전형적으로 동일하지 않지만, 도 3의 팔레트(8)는 필터(31)를 구성하기 위해 IIR 계수들의 미리 결정된 세트들을 포함), 예측기(29)는 상기 미리 결정된 IIR 계수 팔레트(8)로부터 IIR 계수들의 세트들 중 하나를 선택하고(본 발명의 방법의 임의의 실시예에 따라), 상기 선택된 세트들 중 하나로 IIR 필터(31)를 구성하고, 전형적으로 또한 FIR 필터(33)를 그에 따라(예를 들어, 본 발명의 방법의 임의의 실시예에 따라) 구성하기 위해 구성 모드(예를 들어, 인코더(1)의 예측기(5)와 동일한 유형의 예측기가 수행하도록 동작가능한)에서 동작가능하다. 이러한 일부 구현들에서, 예측기(29)는 필터들(31 및 33)을 적응적으로 업데이트하도록 동작가능하다(예를 들어, 본 발명의 방법의 임의의 실시예에 따라). 이 단락에 설명된 대안적인 구현들은 필터들(31 및 33)을 구성할 수 없는 한, 무손실 인코더에서 인코딩된 무손실 재구성 데이터에 적합하지 않아, 예측기(29)의 구성은 이러한 구성의 인코더의 예측기로 코딩된 샘플들을 디코딩하기 위해, 상기 인코더의 대응하는 부분의 구성과 매칭한다.
IIR 필터(31) 및 FIR 필터(33)를 모두 포함하는 본 발명의 디코더의 임의의 실시예에서, IIR 필터(31) 및 FIR 필터(33) 중 하나의 구성이 결정(또는 업데이트)될 때마다, 상기 필터들(31 및 33) 중 다른 하나의 구성이 결정(또는 업데이트)된다. 전형적인 경우들에서, 필터 계수 데이터의 현재 세트에 포함된 계수들(인코더로부터 수신되고 단(23)에서 언패킹된)로 두 필터들(31 및 33)을 구성함으로써 이뤄진다. 이들 경우들에서, 상기 인코더는 모든 필요한 FIR 및 IIR 계수들을 상기 디코더로 송신하여 상기 디코더는 어떠한 계산들도 수행할 필요가 없고 상기 인코더에 의해 사용된 상기 IIR 팔레트(기존의 디코더들을 변경할 필요없이 언제든 변경될 수 있는)를 알 필요가 없다. 이들 경우들에서, 전형적으로 상기 디코더로 송신될 수 있는 최대 수의 IIR+FIR 계수들, (인코더의 예측기 및 상기 디코더의 예측기에) 사용될 수 있는 최대 총 수의 필터단들, 및 송신된 계수들에 사용될 수 있는 최대 총 수의 비트들이 있기 때문에, 계수 송신(인코더로부터 디코더로)에 대한 필요성은 전형적으로 상기 인코더에서 채용된 IIR 계수 팔레트를 생성하는 프로세스에 대한 제약들을 부과한다.
도 3의 디코더(21)를 다시 참조하여, 필터들(31 및 33)이 구현 및 구성되어 코딩된 값들(Vx)(단(27)에서 생성된)의 시퀀스에 응답하여, 이들의 결합된 출력들은 상기 시퀀스의 예측된 다음 코딩된 값(Vx)을 나타낸다. 단(30)에서, 예측기(29)는 예측된 값들의 시퀀스를 생성하기 위해 필터(31)의 출력의 현재 값으로부터 필터(33)의 출력의 각각의 현재 값을 감산한다. 양자화단(32)에서, 예측기(29)는 단(30)에서 생성된 각각의 예측된 값에 대해 반올림 동작(예를 들어, 가장 가까운 정수로)을 수행함으로써 양자화된 값들의 시퀀스를 생성한다.
단(34)에서, 예측기(29)는 코딩된 값들(Sx)의 시퀀스를 생성하기 위해 상기 코딩된 값들(Vx)의 시퀀스의 각각의 현재 값에 필터들(31 및 33)의 조합된 출력의 각각의 양자화된 현재 값(단(32)으로부터 출력된 예측된 다음 코딩된 값(Vx))을 부가한다.
단(34)에서 생성된 각각의 코딩된 값들(Sx)은 인코더(1)의 재매트릭스단(3)에서 생성(및 인코더(1)의 예측단(5)에서 예측 인코딩을 겪는)된 코딩된 오디오 샘플들(Sx) 중 하나에 대응하는 정확하게 복구된 버전이다. 예측단(29)에서 생성된 양자화된 값들(Sx)의 각각의 시퀀스는 인코더(1)의 재매트릭스단(3)에서 생성된 코딩된 값들(Sx)의 대응하는 시퀀스와 동일하다.
예측단(29)에서 생성된 양자화된 값들(Sx)은 재매트릭스단(41)에서 재매트릭스를 겪는다. 재매트릭스단(41)에서, 인코더(1)의 단(3)에서 수행된 재매트릭스 인코딩의 역은 인코더(1)에 원래 어서트된 원래 입력 오디오 샘플들을 복구하기 위해, 상기 값들(Sx)에 대해 수행된다. 도 3에서 "출력 오디오 샘플들"이라고 라벨링된, 이들 복구된 샘플들은 전형적으로 다수의 채널들의 오디오 샘플들을 포함한다.
도 1의 시스템의 각각의 인코딩단은 전형적으로 고유한 측쇄 데이터를 생성한다. 재매트릭스단(3)은 재매트릭스 계수들을 생성하고, 예측기(5)는 IIR 필터 계수들의 업데이트된 세트들을 생성하고, 호프만 코더(13)는 특정한 호프만 룩업 테이블에 대한 인덱스를 생성하고(동일한 룩업 테이블을 구현할 수 있는, 디코더(21)에 의해 사용하기 위해), 블록 플로팅 포인트 표현단(11)은 샘플들의 각각의 블록에 대한 주요 지수 + 개별 샘플 가수들을 생성한다. 패킹단(15)은 모든 인코딩단들로부터 모든 측쇄 데이터를 취하고 모두 함께 패킹하는 주요 패킹 루틴을 구현한다. 도 3의 디코더의 언패킹단(23)은 역(언패킹) 동작을 수행한다.
디코더(21)의 예측단(29)은 상기 시퀀스의 다음 값을 예측하기 위해 인코더(1)에 의해 구현된 동일한 예측기를 여기에 입력된 값들의 시퀀스로(단(27)으로부터) 적용한다. 예측단(29)의 전형적인 구현에서, 각각의 예측된 값이 인코더(1)의 재매트릭스단(3)으로부터 출력된 코딩된 샘플들을 재구성하기 위해, 단(27)으로부터 수신된 대응하는 값에 부가된다. 디코더(21)는 또한 인코더(1)에 어서트된 원래 입력 샘플들을 복구하기 위해 호프만 코딩 및 재매트릭스 동작들(인코더(1)에서 수행된)이 역을 수행한다.
도 1의 시스템은 무손실 디지털 오디오 코더로서 구현되는 것이 바람직하고, 디코딩된 출력(도 3의 디코더의 호환가능한 구현의 출력에서 생성된)은 도 1의 시스템에 대한 입력에 정확하게, 비트-대-비트로 매칭되어야 한다. 본 발명의 인코더 및 디코더의 바람직한 구현(예를 들어, 도 1의 인코더 및 도 3의 디코더)은 더 작은 형태로 특정한 신호들의 클래스들을 표현하기 위해 공통 프로토콜을 공유하여, 상기 인코더로부터 출력된 코딩된 데이터의 데이터 레이트가 감소되지만 상기 디코더는 상기 인코더에 대한 원래 신호 입력을 복구할 수 있다.
도 1의 시스템의 예측기(5)는 IIR 및 FIR 필터들(FIR 필터(9) 및 IIR 필터(7))의 조합을 사용한다. 함께 작동하여, 상기 필터들은 이전 샘플들에 기초하여 다음 오디오 샘플들의 추정치를 생성한다. 상기 추정은 양자화되고 추가 인코딩을 위해 단(11)에 어서트된 감소된 진폭의 나머지 샘플들을 도출하는, 실제 샘플로부터 감산된다(단(6)에서). 피드백 및 피드포워드 필터들(예를 들어, IIR 필터(7) 및 FIR 필터(9))을 모두 포함하는 예측 필터를 사용한 것의 장점은 가장 적합한 신호 조건들 하에서 상기 피드백 및 피드포워드 필터들 각각이 효율적일 수 있다는 것이다. 예를 들어, FIR 필터(9)는 역으로 신호 스펙트럼의 갑작스런 감소(drop-off)에 대한 진실을 유지하면서, IIR 필터(7)보다 적은 계수들의 신호 스펙트럼에서 피크를 보상할 수 있다. 대안적으로, 본 발명의 예측 필터(및 구현된 인코더 또는 디코더)의 일부 실시예들은 피드백(IIR) 필터만을 포함한다.
효과적으로 기능하기 위해, 본 발명의 예측기의 실시예들의 상기 FIR 및 IIR 필터들의 계수들은 입력 신호의 특성들이 상기 예측기에 매칭하도록 선택되어야 한다. FIR 필터를 설계하기 위해 존재하는 효율적인 표준 루틴들이 신호 블록(예를 들어, 레빈슨-더빈 반복 방법)을 제공하지만, FIR 필터와 별개로 또는 협력하여, IIR 필터를 구성하기 위한 이러한 알고리즘은 존재하지 않는다. 본 발명의 실시예들의 클래스에 따라 IIR 필터 계수들의 효율적인 선택이 가능하도록(예측기의 IIR 필터를 구성하기 위해), 제한된 비선형 최적화(예를 들어, 제한된 뉴튼형 방법 및 제한된 단순 방법 중 하나 또는 모두)를 사용하여 IIR 필터들의 세트를 규정하는 미리-계산된 IIR 필터 계수 세트들의 팔레트가 생성된다. 상기 팔레트를 사용하여 예측 필터의 실제 구성에 앞서 수행되기 때문에, 이 프로세스는 시간 소모적이다. 상기 IIR 필터 계수들의 세트들(각각의 세트는 IIR 필터를 규정)을 포함하는 팔레트는 구성될 예측 필터를 구현하는 시스템(예를 들어, 인코더)에 이용가능하게 된다. 전형적으로, 상기 팔레트는 상기 시스템(예를 들어, 인코더)에 저장되지만 대안적으로 외부에 저장될 수 있고 필요할 때 액세스될 수 있다. 상기 팔레트가 저장된 메모리는 때때로 편의상 본원에서 팔레트 자체(예를 들어, 예측기(5)의 팔레트(8)는 본 발명에 따라 생성된 팔레트를 저장하는 메모리)를 참조한다. 상기 팔레트는 인코더가 상기 팔레트의 계수들의 세트에 의해 결정된 각각의 IIR 필터에 신속하게 시도하고 최상으로 동작하는 하나를 선택할 수 있게 충분히 작은 것(충분히 짧은)이 바람직하다. 각각의 후보 IIR 필터를 시도한 후에, 인코더(IIR 필터뿐만 아니라 FIR 필터를 포함하는 예측 필터를 구현하는)는 FIR 필터 계수들의 최적의 세트를 결정하기 위해 IIR 나머지 출력(상기 선택된 계수 세트로 구성된, 상기 IIR 필터를 사용하여 결정된)에 대해 효율적인 레빈슨-더빈 반복을 수행할 수 있다. 상기 FIR 필터 및 IIR 필터는 IIR 및 FIR 구성들의 결정된 최상의 조합에 따라 구성되고, 예측 필터링된 데이터(예를 들어, 도 1의 예측단(5)으로부터 단(11)으로 전달된 나머지들의 시퀀스)를 생성하도록 적용된다. 대안적인 인코더 실시예들에서, 상기 구성된 예측 필터에 의해 생성된 예측 필터링된 데이터(예를 들어, 입력된 샘플들의 각각의 블록에 응답하여 구성된 단(5)에 의해 생성된 나머지들)는 더 인코딩되지 않고, 상기 데이터를 생성하기 위해 채용된 선택된 IIR 필터 계수들과 함께(또는 상기 선택된 IIR 계수들을 식별하는 필터 계수 데이터와 함께) 상기 디코더로 송신된다.
바람직한 실시예에서, 본 발명의 인코더(예를 들어, 도 1의 인코더(1))는 다음의 방식으로 변화하는 샘플 블록 사이즈로 동작하도록 구현된다. 예를 들어, 필터들(7 및 9)의 구성들을 적응적으로 업데이트하는 것과 관련하여, 상기 언급된 바와 같이, 인코더(1)는 필터들(7 및 9)의 각각의 결정된 구성을 사용하여 얼마나 많은 코딩된 샘플들(단(3)에서 생성된)의 마이크로블록들이 더 인코딩하는지 결정하도록 동작가능한 것이 바람직하다. 이러한 바람직한 실시예들에서, 인코더(1)는 필터들(7 및 9)의 각각의 결정된 구성을 사용하여(상기 구성을 업데이트하지 않고) 인코딩될 상기 코딩된 샘플들의 "매크로블록"(단(3)에서 생성된)의 사이즈를 효율적으로 결정한다. 예를 들어, 인코더(1)의 예측기(5)의 바람직한 실시예는 필터들(7 및 9)의 각각의 결정된 구성을 사용하여, 상기 마이크로블록들의 수 N(N은 1 ≤ N ≤ 128의 범위의 정수)이 되도록 인코딩될 상기 코딩된 샘플들(단(3)에서 생성된)의 각각의 매크로블록의 사이즈를 결정할 수 있다. 최적의 수 N을 결정하기 위해, 예측기(5)는 샘플들의 각각의 마이크로블록(예를 들어, 48개의 샘플들로 구성된) 당 1회 상기 필터들(7 및 9)을 업데이트하고 마이크로블록들의 각각의 시퀀스를 필터링하고, 그 후 X개의 마이크로블록들의 각각의 시퀀스 당 1회 상기 필터들(7 및 9)을 업데이트하고(예를 들어, 본원에 개시된 임의의 방식으로) 이러한 마이크로블록들의 그룹들의 각각의 시퀀스를 필터링하고, 그 후 각각의 더 큰 마이크로블록들의 그룹 당 1회 상기 필터들(7 및 9)을 업데이트하고 이러한 더 큰 마이크로블록들의 그룹들의 각각의 시퀀스, 및 계속 시퀀스(예를 들어, 상기 마이크로블록들의 128개의 그룹까지)를 필터링하고, 결과적인 데이터로부터 상기 최적의 매크로블록 사이즈(매크로블록 당 마이크로블록들의 최적의 수 N)를 결정하도록 동작할 수 있다. 예를 들어, 상기 최적의 매크로블록 사이즈는 예측기(5)에 의해 생성된 나머지들의 RMS 레벨(또는 전체 오버헤드 데이터를 포함하는, 인코더(1)에 의해 생성된 출력 데이터 스트림의 RMS 레벨)을 수용불가능하게 증가시키지 않고 각각의 매크로블록을 형성하도록 함께 그룹화될 수 있는 마이크로블록들의 최대 수일 수 있다.
일부 실시예들에서, IIR 필터(7) 및 FIR 필터(9)의 적응적 업데이트는 매크로블록 당 1회(또는 Z회, 여기서, Z는 어떤 결정된 수)(예를 들어, 인코더(1)에 의해 인코딩될 샘플들의 각각의 128개의 마이크로블록들 당 1회) 수행되지만, 인코더(1)에 의해 인코딩될 샘플들의 마이크로블록 당 1회 미만이다. 일부 실시예들에서, 인코더(1)의 인코딩 동작은 각각의 매크로블록의 처음 X(예를 들어, X = 8)개의 샘플들에 대해 디스에이블된다(disabled)(IIR 필터(7) 및 FIR 필터(9)는 인코딩 동작이 디스에이블되는 기간들 동안 업데이트될 수 있다). 매크로블록 당 상기 X개의 인코딩되지 않은 샘플들은 상기 디코더를 통과한다.
인코더(1)의 일부 실시예들은 예를 들어, 인코딩의 효율성을 최적화하기 위해, 상기 예측 필터 구성들의 적응적인 업데이트의 이벤트들 간의 간격들을 제한한다(예를 들어, 필터들(7 및 9)의 업데이트가 발생하도록 허용되는 최대 주파수). 인코더(1)의 IIR 필터(7)(무손실 인코더로서 구현된)가 본 발명에 따라 재구성될 때마다, 디코더(21)로 하여금 디코딩 동안 각각의 상태 변화를 고려하도록 하는 새로운 상태를 나타내는 오버헤드 데이터(측쇄 데이터)가 송신될 것을 필요로 하는 인코더에 상태 변화가 있다. 그러나, 상기 인코더 상태 변화가 IIR 필터 재구성이 아닌 어떤 이유로 발생하면(예를 들어, 새로운 샘플들의 매크로블록의 프로세싱의 시작 시 발생하는 상태 변화), 새로운 상태를 나타내는 오버헤드 데이터는 또한 디코더(21)로 송신되어야 해서 이때 송신되어야 하는 오버헤드의 양에 부가되지 않고(또는 상당히 또는 견딜 수 없게 부가되지 않고) 필터(7 및 9)의 재구성이 수행될 수 있다. 따라서, 인코더(1)의 일부 실시예들은 언제 인코더 상태 변화가 있는지를 결정하고, 그에 따라 필터들(7 및 9)을 재구성하도록 동작들의 타이밍을 제어하도록 연속성 결정 동작을 수행하도록 구성된다(예를 들어, 새로운 매크로블록의 시작 시 상태 변화 이벤트의 발생까지 필터들(7 및 9)의 재구성이 연기되도록).
다음에 본 발명의 방법 및 시스템의 바람직한 소프트웨어 실시예들의 4가지 양태들을 설명한다. 처음 두 개는 인코더의 예측 필터(상기 예측 필터는 IIR 필터 및 선택적으로 또한 FIR 필터를 포함)를 구성하는데 사용하기 위해, 인코더에 제공될 IIR 필터 계수들의 팔레트를 생성하기 위한 바람직한 방법들(및 이들을 수행하도록 프로그램된 시스템들)이다. 다음 두 개는 인코더의 예측 필터를 구성하기 위해 상기 팔레트를 사용하기 위한 바람직한 방법들(및 이들을 수행하도록 프로그램된 시스템들)이고, 상기 예측 필터는 IIR 필터 및 선택적으로 또한 FIR 필터를 포함한다.
전형적으로, 프로세서(본 발명의 실시예에 따라 펌웨어 또는 소프트웨어로 적절히 프로그램된)는 인코더에 제공될 IIR 필터 계수들의 주요 팔레트를 생성하도록 동작한다. 상기에 언급된 바와 같이, 상기 주요 각각의 팔레트의 계수들의 세트는 적어도 하나의 제약을 겪도록, 입력 신호들(예를 들어, 오디오 데이터 샘플들)의 세트("트레이닝 세트")에 대해 비선형 최적화를 수행함으로써 생성될 수 있다. 이 프로세스는 수용불가능하게 큰 주요 팔레트를 도출할 수 있기 때문에, 히스토그램 축적 및 상기 트레이닝 세트에 걸쳐 각각의 후보 IIR 필터에 의해 제공된 순 개선의 어떤 조합에 기초하여 가지치기 프로세스가 상기 주요 팔레트에 대해 수행될 수 있다(그로부터 IIR 계수 세트들을 도태시켜 IIR 계수 세트들의 더 작은 최종 팔레트를 생성하도록).
전형적인 실시예에서, 주요 IIR 계수 팔레트는 최종 팔레트를 도출하기 위해 다음과 같이 가지치기된다. 신호들의 (가능한 상이한) 트레이닝 세트의 각각의 신호의 신호 샘플들의 각 블록에 대해(상기 주요 팔레트를 생성하기 위해 사용된 트레이닝 세트와 가능한 상이한), 상기 주요 팔레트의 각각의 후보 IIR 필터에 대해, 대응하는 FIR 필터가 레빈슨-더빈 반복을 사용하여 계산된다. 상기 조합된 후보 IIR 필터 및 FIR 필터에 의해 생성된 나머지들이 평가되고, 최저 RMS 레벨을 갖는 나머지 신호를 생산하는 IIR 필터 및 FIR 필터의 조합의 IIR 필터를 결정하는 IIR 계수들을 상기 최종 팔레트에 포함하도록 선택된다(상기 선택은 최대 Q로 조정되고 IIR/FIR 필터 조합의 바람직한 정밀도일 수 있다). 히스토그램들이 각각의 필터 및 순 개선의 총 사용이 축적될 수 있다. 상기 트레이닝 세트의 프로세싱 후, 가장 덜 효율적인 필터들이 팔레트로부터 가지치기된다. 상기 트레이닝 절차는 바람직한 사이즈의 팔레트가 획득될 때까지 반복될 수 있다.
바람직한 실시예들에서, 본 발명의 방법은 IIR 필터 계수들의 팔레트를 생성하여 상기 각각의 팔레트의 계수들의 세트에 의해 결정된 각각의 IIR 필터가 다수의 상이한 가능한 차수들로부터 선택될 수 있는 차수를 갖는다. 예를 들어, 이러한 팔레트의 IIR 계수들의 세트들 중 하나("제 1" 세트)를 고려한다. 상기 제 1 세트는 다음: 제 1 서브세트(상기 제 1 세트의 계수들)는 상기 IIR 필터의 선택된 1차 구현을 결정하고, 적어도 하나의 다른 서브세트(상기 제 1 세트의 계수들)는 상기 IIR 필터의 선택된 N(N은 1보다 큰 정수, 예를 들어 4차 IIR 필터를 구현하기 위해 N = 4)차 구현을 결정하는 방식으로 선택가능한 차수를 갖는 IIR 필터를 구성하기에 유용할 것이다. 바람직한 실시예에서, 상기 팔레트를 사용하여 구성되는 예측 필터(예를 들어, 인코더(1)의 단(5)에 의해 구현된 예측 필터의 바람직한 구현)는 IIR 필터 및 FIR 필터를 포함하고, 상기 팔레트를 사용한 예측 필터의 구성 동안, 이들 필터들의 차수들은 상기 IIR 필터의 차수가 0부터 X까지(예를 들어, X = 4)의 범위이고, 상기 FIR 필터의 차수가 0부터 Y까지(예를 들어, Y = 12)의 범위이고, 상기 IIR 필터 및 상기 FIR 필터의 선택된 차수들은 최대 Z(예를 들어, Z = 12)로 합산될 수 있는 제약들을 겪도록 선택가능하다.
상기 언급된 바와 같이, 상기 각각의 팔레트의 계수들의 세트는 적어도 하나의 제약을 겪도록, 입력 신호들(예를 들어, 오디오 데이터 샘플들)의 세트("트레이닝 세트")에 걸쳐 비선형 최적화를 수행함으로써 생성될 수 있다. 일부 실시예들에서, 다음과 같이 이뤄진다(상기 팔레트를 사용하여 구성되는 상기 예측 필터는 나머지들을 생성하기 위해 FIR 필터 및 IIR 필터를 모두 적용할 수 있다고 가정). 각각의 샘플 블록에 대한 각각의 최적화기 반복의 IIR 계수들의 각각의 시도 세트에 대해, 레빈슨-더빈 FIR 설계 루틴은 상기 시도 세트에 의해 결정된 상기 IIR 예측 필터에 대응하는 최적의 FIR 예측 필터를 도출하도록 수행된다. IIR/FIR 필터 차수 및 IIR(및 대응하는 FIR) 계수 값들의 최상의 조합은 송신 오버헤드, 최대 필터 Q, 수적 계수 정밀도, 및 안정성에 대한 제한에 의해 조정된, 최소 예측 나머지에 기초하여 결정된다. 상기 시도 세트의 각각의 신호에 대해, 최적화에 의해 결정된 "최상"의 IIR/FIR 조합에 포함된 상기 시도 IIR 계수 세트는 주요 팔레트에 포함된다(그렇지 않으면 이미 존재). 상기 프로세스는 전체 트레이닝 세트의 각각의 신호에 대해 주요 팔레트의 IIR 계수 세트를 축적하도록 계속한다.
인코더의 예측 필터(상기 예측 필터는 IIR 필터 및 FIR 필터를 포함)를 구성하기 위해 본 발명에 따라 결정된 IIR 계수 팔레트를 사용하기 위한 바람직한 방법(및 이를 수행하도록 프로그램된 시스템)은 다음의 단계들을 포함한다: 입력 데이터의 세트의 각각의 블록에 대해, 상기 팔레트의 계수 세트들에 의해 결정된 각각의 IIR 필터는 제 1 나머지를 생성하도록 적용되고, 각각의 IIR 필터에 대한 최상의 FIR 필터 구성은 계수 송신 오버헤드를 고려하고(예를 들어, 예측 나머지들의 각각의 세트로 송신될 필요가 있는 오버헤드를 포함하고, 상기 오버헤드를 포함하는 예측 나머지들의 레벨을 최소화하는 FIR 구성을 선택), IIR 계수들 및 FIR 계수들의 최상의 결정된 조합으로 예측 필터를 구성하는 것을 포함하는 레빈슨-더빈 반복 방법(예를 들어, 제 1 나머지들에 적용될 때, FIR 구성을 결정하기 위해)을 최저 레벨(예를 들어, 최저 RMS 레벨)을 갖는 예측 나머지들의 세트에서 유도되는, 제 1 나머지들에 적용함으로써 결정된다.
인코더의 예측 필터(상기 예측 필터는 IIR 필터 및 FIR 필터를 포함)를 구성하기 위해 본 발명에 따라 결정된 IIR 계수 팔레트를 사용하기 위한 바람직한 방법(및 이를 수행하도록 프로그램된 시스템)은 다음의 단계들: (본 발명의 임의의 실시예에 따른) IIR 계수들 및 FIR 계수들의 최상의 조합을 결정하기 위해 팔레트를 사용하는 단계 및 출력 신호 연속성(예를 들어, 최소-제곱 최적화를 사용하여)을 고려(및 바람직하게 최대화)하는 방식으로 IIR 계수들 및 FIR 계수들의 결정된 최상의 조합을 사용하여 상기 예측 필터의 상태를 설정하는 단계를 포함한다. 예를 들어, 이렇게 하면 상기 예측 필터가 수용 불가능한 오버헤드 데이터의 송신을 요구(예를 들어, 상기 재구성으로부터 유도된 상태 변화를 상기 디코더에게 나타내기 위해)할 새롭게 결정된 IIR 및 FIR 계수들의 세트로 재구성되지 않을 수 있고, 또는 상기 예측 필터는 예측 인코딩되는 샘플들의 새로운 매크로블록의 시작에서 상태 변화와 동시에 새롭게 결정된 IIR 및 FIR 계수들의 세트로 재구성될 수 있다.
피드백 예측기(피드포워드 예측에 의한 증가와 함께 또는 증가 없이, 피드백 필터를 포함하는 예측 필터를 포함하는 예측기)의 실제 사용을 인에이블하기 위해, 상기 예측기를 포함하는 인코더에 본 발명의 일부 실시예들에 따른 미리-계산된 피드백 필터 계수들의 리스트("팔레트")가 제공된다. 새로운 필터가 선택될 때, 상기 인코더는 최상의 선택을 결정하기 위해 상기 팔레트(입력 데이터 값들의 세트, 예를 들어, 오디오 데이터 샘플들의 블록에 대해)에 의해 결정된 각각의 피드백(IIR) 필터만을 시도할 필요가 있고, 이는 일반적으로 상기 팔레트가 너무 크지 않으면 신속한 계산이다. 예를 들어, 상기 예측기에 대한 최상의 계수들의 세트는 상기 팔레트의 각각의 계수들의 세트를 시도하고, "최상"의 계수들의 세트로서 최저 RMS 레벨을 갖는 나머지 신호를 유도하는 계수들의 세트를 선택함으로써 결정될 수 있다(상기 세트로 구성된 상기 예측 필터를 입력 신호, 예를 들어, 인코딩될 입력 신호 또는 인코딩될 입력 신호와 유사한 특성들을 갖는 다른 신호에 적용함으로써 각각의 계수들의 세트에 대해 나머지 신호가 생성된다). 전형적으로, 블록 플로팅 포인트 프로세서(또는 다른 인코딩단)로 하여금 생성된 인코딩된 데이터의 비트들을 최소화하도록 하는 것과 같이, 상기 나머지의 RMS 레벨을 최소화하는 것이 최상이다.
일부 실시예들에서, 다단 인코더의 예측 인코더에 대해 FIR/IIR 필터 구성들의 최상의 조합(또는 최상의 IIR 필터 구성)을 선택하기 위한 방법은 모든 인코딩단들(예측기를 포함)을 입력 신호(팔레트에 의해 결정된 IIR 계수들의 각각의 후보 세트로 구성된 예측 인코더와 함께)에 적용한 결과를 고려하고, 상기 다단 인코더가 예측 인코더뿐만 아니라, 다른 인코딩단들(예를 들어, 블록 플로팅 포인트 및 호프만 코딩단들)을 포함한다. 상기 FIR/IIR 필터 계수들의 선택된 조합(또는 IIR 계수들의 최상의 세트)은 상기 다단 인코더로부터 완전히 인코딩된 출력의 최저 순 데이터 레이트를 유도할 수 있다. 그러나, 이러한 계산이 시간 소모적일 수 있기 때문에, 상기 예측 인코딩단의 출력의 RMS 레벨(또한 측쇄 오버헤드를 고려)만이 이러한 다단 인코더의 예측 인코더단에 대한 FIR/IIR 필터 계수들의 최상의 조합(또는 IIR 계수들의 최상의 세트)을 결정하기 위한 기준으로 사용될 수 있다.
또한, 인코더의 예측 필터의 재구성(IIR 필터 계수들의 새로운 세트, 또는 IIR 및 FIR 필터 계수들을 구현하기 위해)은 상기 인코더의 출력의 데이터 레이트를 증가시킬 짧은 순간을 도입할 수 있고, 이는 때때로 상기 예측 필터의 고려된 재구성의 타이밍을 결정하는 각각의 이러한 순간과 연관된 오버헤드를 고려하는 것이 바람직하다.
상기에 언급된 바와 같이, 예측 필터의 FIR 필터를 구성하기 위한 FIR 필터 계수들의 세트를 결정하기 위해 본 발명의 일부 실시예들에서 반복 방법(예를 들어, 레빈슨-더빈 반복)이 사용되고, 상기 예측 필터는 FIR 필터 및 IIR 필터를 모두 포함하고, IIR 필터 계수들의 세트(IIR 필터를 구성하기 위한)는 이미 결정되었다(예를 들어, 본 발명의 방법의 임의의 실시예를 사용하여). 이러한 문맥에서, 상기 FIR 필터는 N차 피드포워드 예측 필터일 수 있고, 상기 반복 방법은 입력으로서 샘플들의 블록(예를 들어, 결정된 IIR 필터 계수들의 세트로 구성된, IIR 필터를 데이터에 적용함으로써 생성된 샘플들)을 취할 수 있고, 반복 계산을 사용하여 FIR 필터에 대한 FIR 필터 계수들의 최적의 세트를 결정할 수 있다. 상기 계수들은 나머지 신호의 평균 제곱 오차를 최소화하는 방식에서 최적일 수 있다. 반복 동안 각각의 반복은(FIR 필터 계수들의 최적의 세트를 결정하기 위해 수렴하기 전) 전형적으로 상이한 FIR 필터 계수들의 세트(때때로 본원에서 FIR 필터 계수들의 "후보 세트"라고 함)를 가정한다. 일부 경우들에서, 상기 반복은 최적의 1차 예측기 계수들을 발견함으로써 시작할 수 있고, 이들을 최적의 2차 예측기 계수들을 발견하기 위해 사용하고, 이들을 최적의 3차 예측기 계수들을 발견하기 위해 사용하고, N차 피드포워드 예측기 필터에 대한 필터 계수들의 최적의 세트가 결정될 때까지 계속한다.
전형적인 실시예들에서, 본 발명의 시스템은 소프트웨어(또는 펌웨어)로 프로그램된 및/또는 본 발명의 방법의 실시예를 수행하도록 구성된 범용 또는 특수 목적 프로세서를 포함한다. 예상된 입력 데이터(예를 들어, 오디오 샘플들)를 프로세싱하기에 적합한 디지털 신호 처리기(DSP)는 많은 애플리케이션들에 대해 바람직한 구현일 수 있다. 일부 실시예들에서, 본 발명의 시스템은 파형 신호 샘플들(예를 들어, 오디오 샘플들)을 나타내는 입력 데이터를 수신하도록 결합되고, 본 발명의 방법의 실시예를 수행(예를 들어, IIR 필터 계수들의 팔레트를 생성하기 위해 및/또는 데이터 샘플들에 대한 예측 필터링 동작을 수행하고 필터링을 수행하기 위해 채용된 예측 필터의 IIR 필터 및 FIR 필터의 구성을 적응적으로 업데이트)함으로써 입력 데이터에 응답하여 출력 데이터를 생성하도록 프로그래밍(적절한 소프트웨어로)된 범용 프로세서이다. 일부 실시예들에서, 본 발명의 시스템은 프로그램되고 및/또는 파형 신호 샘플들(예를 들어, 오디오 샘플들)을 나타내는 데이터에 대해 본 발명의 방법의 실시예를 수행하도록 구성된 인코더(DSP로 구현된), 디코더(DSP로 구현된), 또는 다른 DSP이다.
도 4는 본 발명의 방법의 실시예를 구현하기 위한(예를 들어, IIR 필터 계수들의 팔레트를 생성하고, 및/또는 데이터 샘플들에 대해 예측 필터링 동작을 수행하고 상기 필터링을 수행하도록 채용된 예측 필터의 IIR 필터 및 FIR 필터의 구성을 적응적으로 업데이트하기 위한) 코드가 저장된 컴퓨터 판독가능한 광 디스크(50)의 정면도이다. 예를 들어, 상기 코드는 IIR 필터 계수들의 팔레트(예를 들어, 팔레트(8))를 생성하도록 프로세서에 의해 실행될 수 있다. 또는, 상기 코드는 데이터 샘플들에 대해 본 발명의 실시예에 따른 예측 필터링 동작(예측기(5)에서)을 수행하도록 인코더(1)를 프로그램하고 본 발명의 실시예에 따라 IIR 필터(7) 및 FIR 필터(9)의 구성을 적응적으로 업데이트하기 위해 인코더(1)의 실시예, 또는 데이터 샘플들에 대해 본 발명의 실시예에 따라 예측 필터링 동작(예측기(29))을 수행하도록 디코더(21)를 프로그램하고 본 발명의 실시예에 따라 IIR 필터(31) 및 FIR 필터(33)의 구성을 적응적으로 업데이트하기 위해 디코더(21)의 실시예로 로딩될 수 있다.
본 발명의 구체적인 실시예들 및 본 발명의 애플리케이션들이 본원에 설명되었지만, 본원에 설명되고 청구된 본 발명의 범위로부터 벗어나지 않고 본원에 설명된 실시예들 및 애플리케이션들에 대한 많은 변화들이 가능하다는 것이 당업자에게 명백할 것이다. 본 발명의 특정한 형태가 도시되고 설명되었지만, 본 발명은 설명되고 도시된 구체적인 실시예들 또는 설명된 구체적인 방법들로 제한되지 않는다는 것이 이해될 것이다.
Claims (69)
- IIR 필터 및 FIR 필터를 포함하는 예측 필터를 구성하기 위해 IIR 계수 세트들의 미리 결정된 팔레트를 사용하는 방법에 있어서,
(a) 상기 팔레트의 각각의 상기 IIR 계수 세트들에 대해, 상기 각각의 IIR 계수 세트들로 구성된 상기 IIR 필터를 입력 데이터에 적용함으로써 생성된 출력을 나타내는 구성 데이터를 생성하고, 미리 결정된 기준을 만족하는 구성 데이터를 생성하기 위해 상기 IIR 필터를 구성하는 상기 IIR 계수 세트들 중 하나를 선택된 IIR 계수 세트로서 식별하는 단계;
(b) 상기 선택된 IIR 계수 세트로 구성된 상기 IIR 필터와 함께 상기 예측 필터를 입력 데이터에 적용함으로써 생성된 출력을 나타내는 테스트 데이터에 대한 반복 동작을 수행함으로써 최적의 FIR 필터 계수 세트를 결정하는 단계; 및
(c) 상기 최적의 FIR 계수 세트로 상기 FIR 필터를 구성하고 상기 선택된 IIR 계수 세트로 상기 IIR 필터를 구성하여, 상기 예측 필터를 구성하는 단계를 포함하는, 방법. - 제 1 항에 있어서,
단계 (a)는 최저 레벨을 갖는 구성 데이터를 생성하기 위해 상기 IIR 필터를 구성하는 상기 IIR 계수 세트들 중 하나를 상기 선택된 IIR 계수 세트로서 식별하는 단계를 포함하는, 방법. - 제 1 항에 있어서,
단계 (a)는 기준의 최적의 조합을 만족하는 상기 IIR 필터를 구성하는 상기 IIR 계수 세트들 중 하나를 상기 선택된 IIR 계수 세트로서 식별하는 단계를 포함하고, 상기 기준 중 하나는 최저 레벨을 갖는 구성 데이터를 생성하는 것인, 방법. - 제 1 항에 있어서,
상기 예측 필터는 입력 데이터를 인코딩함으로써 인코딩된 출력 데이터를 생성하도록 동작가능한 인코더에 포함되고,
상기 방법은 또한,
상기 선택된 IIR 계수 세트를 나타내는 필터 계수 데이터와 함께 인코딩된 출력 데이터를 적어도 하나의 출력에서 어서트(assert)하도록 상기 인코더를 동작시키는 단계를 포함하는, 방법. - 제 4 항에 있어서,
상기 필터 계수 데이터는 상기 선택된 IIR 계수 세트인, 방법. - 제 1 항에 있어서,
단계 (a)는 A + B가 최저값을 갖는 구성 데이터를 생성하도록 상기 IIR 필터를 구성하는 상기 IIR 계수 세트들 중 하나를 상기 선택된 IIR 계수 세트로서 식별하는 단계를 포함하고, 여기서, A는 상기 구성 데이터의 레벨을 나타내고 B는 상기 IIR 계수 세트들 중 하나를 식별하는데 필요한 측쇄 데이터(side chain data)의 양인, 방법. - 제 1 항에 있어서,
단계 (a)는 A + B가 최저값을 갖는 구성 데이터를 생성하도록 상기 IIR 필터를 구성하는 상기 IIR 계수 세트들 중 하나를 상기 선택된 IIR 계수 세트로서 식별하는 단계를 포함하고, 여기서, A는 상기 구성 데이터의 레벨을 나타내고 B는 상기 IIR 계수 세트들 중 하나를 식별하는데 필요한 측쇄 데이터의 양 + 상기 IIR 계수 세트들 중 하나로 구성된 상기 예측 필터를 사용하여 인코딩된 데이터를 디코딩하기 위해 필요한 측쇄 데이터의 양인, 방법. - 제 1 항에 있어서,
상기 예측 필터는 입력 데이터를 인코딩함으로써 인코딩된 출력 데이터를 생성하도록 동작가능한 무손실 인코더, 및 상기 입력 데이터를 복구하기 위해 상기 인코딩된 출력 데이터를 디코딩하도록 동작가능한 디코더 예측 필터를 포함하는 무손실 디코더에 포함되고, 상기 디코더 예측 필터는 상기 IIR 필터 및 FIR 필터를 포함하고,
상기 방법은 또한,
상기 선택된 IIR 계수 세트를 나타내는 필터 계수 데이터와 함께 인코딩된 출력 데이터를 적어도 하나의 출력에서 어서트하도록 상기 인코더를 동작시키는 단계; 및
상기 선택된 IIR 계수 세트와 함께 상기 디코더 예측 필터의 상기 FIR 필터 및 상기 IIR 필터 중 하나를 구성하는 단계를 포함하여, 상기 필터 계수 데이터에 응답하여 상기 무손실 디코더의 상기 디코더 예측 필터를 구성하는 단계를 포함하는, 방법. - 제 1 항에 있어서,
상기 예측 필터는 입력 오디오 데이터를 인코딩함으로써 인코딩된 출력 오디오 데이터를 생성하도록 동작가능한 무손실 오디오 데이터 인코더에 포함되고,
상기 방법은 또한,
상기 선택된 IIR 계수 세트를 나타내는 필터 계수 데이터와 함께 인코딩된 출력 데이터를 적어도 하나의 출력에서 어서트하도록 상기 무손실 오디오 데이터 인코더를 동작시키는 단계를 포함하는, 방법. - IIR 필터를 포함하는 예측 필터를 구성하도록 IIR 필터 계수 세트들의 미리 결정된 팔레트를 사용하는 방법에 있어서,
(a) 상기 팔레트의 각각의 상기 IIR 계수 세트들에 대해, 상기 각각의 IIR 계수 세트들로 구성된 상기 IIR 필터를 입력 데이터에 적용함으로써 생성된 출력을 나타내는 구성 데이터를 생성하고, A + B가 최저 레벨을 갖는 구성 데이터를 생성하도록 상기 IIR 필터를 구성하는 상기 IIR 계수 세트들 중 하나를 선택된 IIR 계수 세트로서 식별하는 단계로서, 여기서, A는 상기 구성 데이터의 레벨을 나타내고 B는 상기 IIR 계수 세트들 중 하나로 상기 IIR 필터를 구성한 결과로서 생성되어야 하는 측쇄 데이터의 양인, 상기 생성 및 식별 단계; 및
(b) 상기 선택된 IIR 계수 세트로 상기 IIR 필터를 구성하는 단계를 포함하는, 방법. - 제 10 항에 있어서,
B는 상기 IIR 계수 세트들 중 하나를 식별하는데 필요한 측쇄 데이터의 양인, 방법. - 제 11 항에 있어서,
상기 예측 필터는 또한 FIR 필터를 포함하고,
상기 방법은 또한,
(c) 단계 (a) 이후에, 상기 선택된 IIR 계수 세트로 구성된 상기 IIR 필터와 함께 상기 예측 필터를 입력 데이터에 적용함으로써 생성된 출력을 나타내는 테스트 데이터에 대해 반복 동작을 수행함으로써 최적의 FIR 필터 계수 세트를 결정하는 단계를 포함하고,
단계 (b)는 상기 최적의 FIR 계수 세트로 상기 FIR 필터를 구성하고 상기 선택된 IIR 계수 세트로 상기 IIR 필터를 구성하여, 상기 예측 필터를 구성하는 단계를 포함하는, 방법. - 제 10 항에 있어서,
B는 상기 IIR 계수 세트들 중 하나를 식별하는데 필요한 측쇄 데이터의 양 + 상기 IIR 계수 세트들 중 하나로 구성된 상기 예측 필터를 사용하여 인코딩된 데이터를 디코딩하기 위해 필요한 측쇄 데이터의 양인, 방법. - 제 10 항에 있어서,
상기 예측 필터는 또한 FIR 필터를 포함하고,
상기 방법은 또한,
(c) 단계 (a) 이후에, 상기 선택된 IIR 계수 세트로 구성된 상기 IIR 필터와 함께 상기 예측 필터를 입력 데이터에 적용함으로써 생성된 출력을 나타내는 테스트 데이터에 대해 반복 동작을 수행함으로써 최적의 FIR 필터 계수 세트를 결정하는 단계를 포함하고,
단계 (b)는 상기 최적의 FIR 계수 세트로 상기 FIR 필터를 구성하고 상기 선택된 IIR 계수 세트로 상기 IIR 필터를 구성하여, 상기 예측 필터를 구성하는 단계를 포함하는, 방법. - 제 10 항에 있어서,
상기 예측 필터는 입력 데이터를 인코딩함으로써 인코딩된 출력 데이터를 생성하도록 동작가능한 인코더에 포함되고,
상기 방법은 또한,
상기 선택된 IIR 계수 세트를 나타내는 필터 계수 데이터와 함께 상기 인코딩된 출력 데이터를 적어도 하나의 출력에서 어서트하도록 상기 인코더를 동작시키는 단계를 포함하는, 방법. - 제 15 항에 있어서,
상기 필터 계수 데이터는 상기 선택된 IIR 계수 세트인, 방법. - 제 10 항에 있어서,
상기 예측 필터는 입력 오디오 데이터를 인코딩함으로써 인코딩된 출력 오디오 데이터를 생성하도록 동작가능한 무손실 오디오 데이터 인코더에 포함되고,
상기 방법은 또한,
상기 선택된 IIR 계수 세트를 나타내는 필터 계수 데이터와 함께 상기 인코딩된 출력 데이터를 적어도 하나의 출력에서 어서트하도록 상기 무손실 오디오 데이터 인코더를 동작시키는 단계를 포함하는, 방법. - IIR 필터를 포함하는 예측 필터를 구성하도록 IIR 필터 계수 세트들의 미리 결정된 팔레트를 사용하는 방법에 있어서,
(a) 상기 팔레트의 각각의 상기 IIR 계수 세트들에 대해, 상기 각각의 IIR 계수 세트들로 구성된 상기 IIR 필터를 입력 데이터에 적용함으로써 생성된 출력을 나타내는 구성 데이터를 생성하고, 미리 결정된 기준을 만족하는 구성 데이터를 생성하기 위해 상기 IIR 필터를 구성하는 상기 IIR 계수 세트들 중 하나를 선택된 IIR 계수 세트로서 식별하는 단계;
(b) 상기 선택된 IIR 계수 세트로 상기 IIR 필터를 구성하는 단계; 및
(c) 입력 데이터가 업데이트될 때마다 적어도 하나의 타이밍 제약을 겪도록 단계들 (a) 및 (b)를 반복하는 단계로서, 상기 적어도 하나의 타이밍 제약을 겪는 상기 예측 필터의 구성의 적응형 업데이트를 달성하는, 상기 반복 단계를 포함하는, 방법. - 제 18 항에 있어서,
상기 예측 필터는 입력 데이터를 인코딩함으로써 인코딩된 출력 데이터를 생성하도록 동작가능한 무손실 인코더에 포함되고, 단계 (c)는 상기 인코더가 상태 변화를 겪을 때를 결정하도록 연속성 결정 동작을 수행하고, 상기 연속성 결정 동작의 결과에 응답하여 상기 IIR 필터의 재구성 타이밍을 제어하는 단계를 포함하는, 방법. - 제 19 항에 있어서,
상기 예측 필터는 또한 FIR 필터를 포함하고,
상기 방법은 또한,
(d) 단계 (a) 이후에, 상기 선택된 IIR 계수 세트로 구성된 상기 IIR 필터와 함께 상기 예측 필터를 입력 데이터에 적용함으로써 생성된 출력을 나타내는 테스트 데이터에 대해 반복 동작을 수행함으로써 최적의 FIR 필터 계수 세트를 결정하는 단계를 포함하고,
단계 (b)는 상기 최적의 FIR 계수 세트로 상기 FIR 필터를 구성하고 상기 선택된 IIR 계수 세트로 상기 IIR 필터를 구성하여, 상기 예측 필터를 구성하는 단계를 포함하는, 방법. - 제 18 항에 있어서,
상기 예측 필터는 또한 FIR 필터를 포함하고,
상기 방법은 또한,
(d) 단계 (a) 이후에, 상기 선택된 IIR 계수 세트로 구성된 상기 IIR 필터와 함께 상기 예측 필터를 입력 데이터에 적용함으로써 생성된 출력을 나타내는 테스트 데이터에 대해 반복 동작을 수행함으로써 최적의 FIR 필터 계수 세트를 결정하는 단계를 포함하고,
단계 (b)는 상기 최적의 FIR 계수 세트로 상기 FIR 필터를 구성하고 상기 선택된 IIR 계수 세트로 상기 IIR 필터를 구성하여, 상기 예측 필터를 구성하는 단계를 포함하는, 방법. - 제 18 항에 있어서,
상기 예측 필터는 입력 데이터를 인코딩함으로써 인코딩된 출력 데이터를 생성하도록 동작가능한 인코더에 포함되고,
상기 방법은 또한,
상기 선택된 IIR 계수 세트를 나타내는 필터 계수 데이터와 함께 상기 인코딩된 출력 데이터를 적어도 하나의 출력에서 어서트하도록 상기 인코더를 동작시키는 단계를 포함하는, 방법. - 제 22 항에 있어서,
상기 필터 계수 데이터는 상기 선택된 IIR 계수 세트인, 방법. - 제 18 항에 있어서,
상기 예측 필터는 입력 오디오 데이터를 인코딩함으로써 인코딩된 출력 오디오 데이터를 생성하도록 동작가능한 무손실 오디오 데이터 인코더에 포함되고,
상기 방법은 또한,
상기 선택된 IIR 계수 세트를 나타내는 필터 계수 데이터와 함께 상기 인코딩된 출력 데이터를 적어도 하나의 출력에서 어서트하도록 상기 무손실 오디오 데이터 인코더를 동작시키는 단계를 포함하는, 방법. - IIR 예측 필터의 구성에 사용하기 위한 IIR 필터 계수들의 팔레트를 생성하도록 입력 신호들의 트레이닝 세트(training set)에 걸쳐 비선형 최적화를 수행하는 방법에 있어서, 상기 팔레트는 IIR 필터 계수들의 적어도 두 세트들을 포함하고, 각각의 상기 세트들은 상기 IIR 예측 필터를 결정하기에 충분한 계수들로 구성되는, 상기 방법은,
(a) 적어도 하나의 제약을 겪도록, 상기 트레이닝 세트의 입력 신호들 중 하나에 걸쳐 비선형 최적화를 수행함으로써 상기 팔레트의 IIR 필터 계수들의 세트들 중 적어도 하나를 결정하는 단계; 및
(b) 상기 적어도 하나의 제약을 겪도록, 상기 트레이닝 세트의 상기 입력 신호들 중 다른 하나에 걸쳐 비선형 최적화를 수행함으로써 상기 팔레트의 IIR 필터 계수들의 세트들의 적어도 다른 하나를 결정하는 단계를 포함하는, 방법. - 제 25 항에 있어서,
단계 (a)는 적어도 두 제약들을 겪도록 비선형 최적화를 수행함으로써 상기 팔레트의 상기 IIR 필터 계수들의 세트들 중 적어도 하나를 결정하는 단계를 포함하고, 단계 (b)는 상기 적어도 두 제약들을 겪도록 비선형 최적화를 수행함으로써 상기 팔레트의 IIR 필터 계수들의 세트들 중 적어도 다른 하나를 결정하는 단계를 포함하는, 방법. - 제 26 항에 있어서,
상기 제약들은 최상의 예측, 최대 필터 Q, 링잉(ringing), 수적 계수 정밀도, 송신 오버헤드, 및 필터 안정성 제약들 중 적어도 두 개를 포함하는, 방법. - 제 25 항에 있어서,
단계 (a)는 상기 적어도 하나의 제약을 겪도록, 상기 트레이닝 세트의 상기 입력 신호들 중 하나에 걸쳐 뉴턴형(Newtonian) 최적화를 수행함으로써 상기 팔레트의 IIR 필터 계수들의 세트들 중 적어도 하나를 결정하는 단계를 포함하는, 방법. - 제 25 항에 있어서,
단계 (a)는 상기 적어도 하나의 제약을 겪도록, 상기 트레이닝 세트의 상기 입력 신호들 중 하나에 걸쳐 단순(Simplex) 최적화를 수행함으로써 상기 팔레트의 IIR 필터 계수들의 세트들 중 적어도 하나를 결정하는 단계를 포함하는, 방법. - 제 25 항에 있어서,
단계 (a)는 상기 적어도 하나의 제약을 겪도록 상기 트레이닝 세트의 상기 입력 신호들 중 하나에 걸쳐 뉴튼형 최적화를 수행함으로써 상기 팔레트의 상기 IIR 필터 계수들의 세트들 중 하나를 결정하는 단계, 및 상기 적어도 하나의 제약을 겪도록, 상기 트레이닝 세트의 상기 입력 신호들 중 하나에 걸쳐 단순 최적화를 수행함으로써 상기 팔레트의 IIR 필터 계수들의 세트들 중 다른 하나를 결정하는 단계를 포함하는, 방법. - 제 25 항에 있어서,
상기 적어도 하나의 제약은 상기 팔레트의 각각의 IIR 필터 계수가 X 비트들보다 많지 않아야 한다는 요건인, 방법. - 제 25 항에 있어서,
(c) IIR 필터 계수들의 세트들을 포함하는 최초 팔레트를 결정하는 단계로서, 상기 최초 팔레트의 상기 IIR 필터 계수들의 세트들은 IIR 필터 계수들의 후보 세트들이고, 상기 각각의 후보 세트들은 후보 IIR 필터를 결정하기 충분한, 상기 최초 팔레트 결정 단계; 및
(d) 상기 최초 팔레트로부터 상기 IIR 필터 계수들의 세트들 중 적어도 하나를 도태시키도록 가지치기(pruning) 프로세스를 수행하여, 상기 팔레트를 결정하는 단계를 포함하고,
단계 (d)는,
각각의 상기 후보 세트들에 대해, 신호들의 세트의 각각의 신호의 샘플들의 다수의 블록들의 각각의 블록에 대해, 상기 각각의 후보 세트들에 의해 결정된 상기 후보 IIR 필터에 대응하는 FIR 필터를 결정하기 위해 반복을 사용하는 단계; 및
상기 후보 IIR 필터들 중 하나 및 거기에 대응하는 상기 FIR 필터를 포함하는 각각의 필터 조합에 의해 생성된 나머지들(residuals)을 평가하고, 미리 결정된 기준을 만족하는 나머지들을 생성하는 상기 필터 조합 중 하나의 후보 IIR 필터를 결정하는 상기 각각의 후보 세트들을 상기 팔레트에 포함시키기 위해 선택하는 단계를 포함하는, 방법. - 제 25 항에 있어서,
상기 팔레트의 IIR 필터 계수들의 대응하는 세트에 의해 결정된 적어도 하나의 상기 IIR 예측 필터는 선택가능한 차수를 가지고, 상기 IIR 필터 계수들의 세트의 상기 IIR 필터 계수들의 제 1 서브세트는 상기 IIR 예측 필터의 선택된 1차 구현을 결정하고, 상기 IIR 필터 계수들의 세트의 상기 IIR 필터 계수들의 적어도 하나의 다른 서브세트는 상기 IIR 예측 필터의 선택된 N차 구현을 결정하고, N은 1보다 큰 정수인, 방법. - 제 25 항에 있어서,
상기 IIR 예측 필터는 FIR 필터 및 IIR 필터를 모두 포함하고 입력 데이터에 응답하여 나머지들을 생성하도록 구성되고,
단계 (a)는
상기 트레이닝 세트의 각각의 신호의 샘플들의 다수의 블록들의 각각의 블록에 대해, 그리고 상기 블록의 최적화 반복의 IIR 계수들의 각각의 시도 세트에 대해, 상기 시도 세트에 의해 결정된 후보 IIR 필터에 대응하는 최적의 FIR 필터 계수들을 유도하도록 반복 동작을 수행하는 단계; 및
상기 후보 IIR 필터 중 하나 및 거기에 대응하는 상기 최적의 FIR 필터를 포함하는 각각의 필터 조합을 입력 데이터에 적용함으로써 결정된 나머지들을 평가하고, 미리 결정된 기준을 만족하는 나머지들을 생성하는 상기 필터 조합 중 하나의 상기 후보 IIR 필터를 결정하는 IIR 필터 계수들의 세트를 상기 팔레트에 포함시키도록 선택하는 단계를 포함하는, 방법. - IIR 필터 및 FIR 필터를 포함하고, 입력 데이터에 응답하여 예측 필터링된 데이터를 생성하도록 동작되도록 구성되는 예측 필터; 및
상기 예측 필터에 결합되고 상기 예측 필터링된 데이터에 응답하여 인코딩된 출력 데이터를 생성하도록 구성된 서브시스템을 포함하는 인코더에 있어서,
상기 예측 필터는,
팔레트의 상기 각각의 IIR 계수 세트들에 대해, 상기 각각의 IIR 계수 세트들로 구성된 상기 IIR 필터를 데이터에 적용함으로써 생성된 출력을 나타내는 구성 데이터를 생성하고, 미리 결정된 기준을 만족하는 구성 데이터를 생성하도록 상기 IIR 필터를 구성하는 상기 IIR 계수 세트들 중 하나를 선택된 IIR 계수 세트로서 식별하고;
상기 선택된 IIR 계수 세트로 구성된 상기 IIR 필터와 함께 상기 예측 필터를 데이터에 적용함으로써 생성된 출력을 나타내는 테스트 데이터에 대해 반복 동작을 수행함으로써 최적의 FIR 필터 계수 세트를 결정하고;
상기 최적의 FIR 계수 세트로 상기 FIR 필터를 구성하고 상기 선택된 IIR 계수 세트로 상기 IIR 필터를 구성하여, 상기 예측 필터를 구성하는 것을 포함하여, 상기 예측 필터가 상기 IIR 필터 및 상기 FIR 필터를 구성하도록 IIR 계수 세트들의 미리 결정된 팔레트를 사용하는 구성 모드에서 동작되도록 구성되는, 인코더. - 제 35 항에 있어서,
상기 서브시스템은 상기 선택된 IIR 계수 세트를 나타내는 필터 계수 데이터와 함께 상기 인코딩된 출력 데이터를 적어도 하나의 출력에서 어서트하도록 구성되는, 인코더. - 제 36 항에 있어서,
상기 필터 계수 데이터는 상기 선택된 IIR 계수 세트인, 인코더. - 제 36 항에 있어서,
상기 인코더는 무손실 인코더이고 상기 예측 필터는 오디오 데이터 샘플들에 응답하여 상기 예측 필터링된 데이터를 생성하도록 동작되도록 구성되는, 인코더. - 제 36 항에 있어서,
상기 예측 필터는 A + B가 최저 레벨을 갖는 구성 데이터를 생성하기 위해 상기 IIR 필터를 구성하는 상기 IIR 계수 세트들 중 하나를 상기 선택된 IIR 계수 세트로서 식별하도록 상기 구성 모드에서 동작되도록 구성되고, 여기서, A는 상기 구성 데이터의 레벨을 나타내고 B는 상기 IIR 계수 세트들 중 하나를 식별하는데 필요한 측쇄 데이터의 양인, 인코더. - 제 36 항에 있어서,
상기 예측 필터는 A + B가 최저 레벨을 갖는 구성 데이터를 생성하기 위해 상기 IIR 필터를 구성하는 상기 IIR 계수 세트들 중 하나를 상기 선택된 IIR 계수 세트로서 식별하도록 상기 구성 모드에서 동작되도록 구성되고, 여기서, A는 상기 구성 데이터의 레벨을 나타내고 B는 상기 IIR 계수 세트들 중 하나를 식별하는데 필요한 측쇄 데이터의 양 + 상기 IIR 계수 세트들 중 하나로 구성된 상기 예측 필터를 사용하여 인코딩된 데이터를 디코딩하기 위해 필요한 측쇄 데이터의 양인, 방법. - 제 35 항에 있어서,
상기 IIR 필터 계수 세트들의 팔레트는 IIR 필터 계수들의 적어도 두 세트들을 포함하고, 상기 각각의 세트들은 상기 IIR 필터를 결정하기에 충분한 계수들로 구성되고, 상기 팔레트는,
(a) 적어도 하나의 제약을 겪도록, 상기 트레이닝 세트의 상기 입력 신호들 중 하나에 걸쳐 비선형 최적화를 수행함으로써 상기 팔레트의 IIR 필터 계수들의 세트들 중 적어도 하나를 결정하고;
(b) 상기 적어도 하나의 제약을 겪도록, 상기 트레이닝 세트의 상기 입력 신호들 중 다른 하나에 걸쳐 비선형 최적화를 수행함으로써 상기 팔레트의 IIR 필터 계수들의 세트들의 적어도 다른 하나를 결정하는 것을 포함하여, 입력 신호들의 트레이닝 세트에 걸쳐 비선형 최적화를 수행함으로써 미리 결정되는, 인코더. - IIR 필터를 포함하고, 입력 데이터에 응답하여 예측 필터링된 데이터를 생성하도록 동작되도록 구성된, 예측 필터; 및
상기 예측 필터에 결합되고 상기 예측 필터링된 데이터에 응답하여 인코딩된 출력 데이터를 생성하도록 구성된 서브시스템을 포함하는 인코더에 있어서,
상기 예측 필터는,
팔레트의 상기 각각의 IIR 계수 세트들에 대해, 상기 각각의 IIR 계수 세트들로 구성된 상기 IIR 필터를 데이터에 적용함으로써 생성된 출력을 나타내는 구성 데이터를 생성하고, A + B가 최저 레벨을 갖는 구성 데이터를 생성하기 위해 상기 IIR 필터를 구성하는 상기 IIR 계수 세트들 중 하나를 선택된 IIR 계수 세트로서 식별하고, 여기서, A는 상기 구성 데이터의 레벨을 나타내고 B는 상기 IIR 계수 세트들 중 하나로 상기 IIR 필터를 구성한 결과로서 생성되어야 하는 측쇄 데이터의 양이고,
상기 선택된 IIR 계수 세트로 상기 IIR 필터를 구성하는 것을 포함하여, 상기 예측 필터가 상기 IIR 필터를 구성하기 위해 IIR 계수 세트들의 미리 결정된 팔레트를 사용하는 구성 모드에서 동작되도록 구성되는, 인코더. - 제 42 항에 있어서,
상기 예측 필터는 또한 FIR 필터를 포함하고, 상기 예측 필터는 상기 선택된 IIR 계수 세트로 구성된 상기 IIR 필터와 함께 상기 예측 필터를 입력 데이터에 적용함으로써 생성된 출력을 나타내는 테스트 데이터에 대해 반복 동작을 수행함으로써 최적의 FIR 필터 계수 세트를 결정하고, 상기 최적의 FIR 계수 세트로 상기 FIR 필터를 구성하고 상기 선택된 IIR 계수 세트로 상기 IIR 필터를 구성하여, 상기 예측 필터를 구성하도록 상기 구성 모드에서 동작되도록 구성되는, 인코더. - 제 42 항에 있어서,
B는 상기 IIR 계수 세트들 중 하나를 식별하는데 필요한 측쇄 데이터의 양인, 인코더. - 제 42 항에 있어서,
B는 상기 IIR 계수 세트들 중 하나를 식별하기 위해 필요한 측쇄 데이터의 양 + 상기 IIR 계수 세트들 중 하나로 구성된 상기 예측 필터를 사용하여 인코딩된 데이터를 디코딩하기 위해 필요한 측쇄 데이터의 양인, 인코더. - 제 42 항에 있어서,
상기 서브시스템은 상기 선택된 IIR 계수 세트를 나타내는 필터 계수 데이터와 함께 상기 인코딩된 출력 데이터를 적어도 하나의 출력에서 어서트하도록 구성되는, 인코더. - 제 46 항에 있어서,
상기 필터 계수 데이터는 선택된 IIR 계수 세트인, 인코더. - 제 42 항에 있어서,
상기 인코더는 무손실 인코더이고 상기 예측 필터는 오디오 데이터 샘플들에 응답하여 상기 예측 필터링된 데이터를 생성하도록 동작되도록 구성되는, 인코더. - 제 42 항에 있어서,
상기 IIR 필터 계수 세트들의 팔레트는 IIR 필터 계수들의 적어도 두 세트들을 포함하고, 각각의 세트들은 상기 IIR 필터를 결정하기에 충분한 계수들로 구성되고, 상기 팔레트는,
(a) 적어도 하나의 제약을 겪도록, 상기 트레이닝 세트의 상기 입력 신호들 중 하나에 걸쳐 비선형 최적화를 수행함으로써 상기 팔레트의 IIR 필터 계수들의 세트들 중 적어도 하나를 결정하고;
(b) 상기 적어도 하나의 제약을 겪도록, 상기 트레이닝 세트의 상기 입력 신호들 중 다른 하나에 걸쳐 비선형 최적화를 수행함으로써 상기 팔레트의 IIR 필터 계수들의 세트들의 적어도 다른 하나를 결정하는 것을 포함하여, 입력 신호들의 트레이닝 세트에 걸쳐 비선형 최적화를 수행함으로써 미리 결정되는, 인코더. - IIR 필터를 포함하고, 입력 데이터에 응답하여 예측 필터링된 데이터를 생성하도록 동작되도록 구성된 예측 필터; 및
상기 예측 필터에 결합되고 상기 예측 필터링된 데이터에 응답하여 인코딩된 출력 데이터를 생성하도록 구성된 서브시스템을 포함하는 인코더에 있어서,
상기 예측 필터는,
(a) 팔레트의 상기 각각의 IIR 계수 세트들에 대해, 상기 각각의 IIR 계수 세트들로 구성된 상기 IIR 필터를 데이터에 적용함으로써 생성된 출력을 나타내는 구성 데이터를 생성하고, 미리 결정된 기준을 만족하는 구성 데이터를 생성하기 위해 상기 IIR 필터를 구성하는 상기 IIR 계수 세트들 중 하나를 선택된 IIR 계수 세트로서 식별하고;
(b) 상기 선택된 IIR 계수 세트로 상기 IIR 필터를 구성하고;
(c) 데이터가 업데이트될 때마다 적어도 하나의 타이밍 제약을 겪도록 상기 예측 필터의 적응적인 업데이트를 달성하기 위해 상기 적어도 하나의 타이밍 제약을 겪도록 단계들 (a) 및 (b)를 반복하는 것을 포함하여, IIR 계수 세트들의 미리 결정된 팔레트를 적응적으로 사용하여 상기 IIR 필터를 업데이트하도록 구성되는, 인코더. - 제 50 항에 있어서,
상기 인코더는 무손실 인코더이고, 상기 예측 필터는 상기 인코더가 상태 변화를 겪을 때를 결정하기 위해 연속성 결정 동작을 수행하고, 상기 연속성 결정 동작의 결과에 응답하여 상기 IIR 필터의 재구성 타이밍을 제어하도록 구성되는, 인코더. - 제 50 항에 있어서,
상기 예측 필터는 또한 FIR 필터를 포함하고,
상기 예측 필터는,
단계 (a) 이후에, 상기 선택된 IIR 계수 세트로 구성된 상기 IIR 필터와 함께 상기 예측 필터를 데이터에 적용함으로써 생성된 출력을 나타내는 테스트 데이터에 대해 반복 동작을 수행함으로써 최적의 FIR 필터 계수 세트를 결정하고, 및 단계 (b)가 상기 최적의 FIR 계수 세트로 상기 FIR 필터를 구성하고 상기 선택된 IIR 계수 세트로 상기 IIR 필터를 구성하여, 상기 예측 필터를 구성하는 것을 적응적으로 포함함으로써 상기 IIR 필터를 업데이트하도록 구성되는, 인코더. - 제 50 항에 있어서,
상기 서브시스템은 상기 선택된 IIR 계수 세트를 나타내는 필터 계수 데이터와 함께 인코딩된 출력 데이터를 적어도 하나의 출력에서 어서트하도록 구성되는, 인코더. - 제 53 항에 있어서,
상기 필터 계수 데이터는 상기 선택된 IIR 계수 세트인, 인코더. - 제 50 항에 있어서,
상기 인코더는 무손실 인코더이고 상기 예측 필터는 오디오 데이터 샘플들에 응답하여 상기 예측 필터링된 데이터를 생성하도록 동작되도록 구성되는, 인코더. - 제 50 항에 있어서,
상기 IIR 계수 세트들의 팔레트는 IIR 필터 계수들의 적어도 두 세트들을 포함하고, 상기 각각의 세트들은 IIR 필터를 결정하기에 충분한 계수들로 구성되고, 상기 팔레트는,
(a) 적어도 하나의 제약을 겪도록, 상기 트레이닝 세트의 상기 입력 신호들 중 하나에 걸쳐 비선형 최적화를 수행함으로써 상기 팔레트의 IIR 필터 계수들의 세트들 중 적어도 하나를 결정하고;
(b) 상기 적어도 하나의 제약을 겪도록, 상기 트레이닝 세트의 상기 입력 신호들 중 다른 하나에 걸쳐 비선형 최적화를 수행함으로써 상기 팔레트의 IIR 필터 계수들의 세트들의 적어도 다른 하나를 결정하는 것을 포함하여, 입력 신호들의 트레이닝 세트에 걸쳐 비선형 최적화를 수행함으로써 미리 결정되는, 인코더. - IIR 예측 필터를 구성하는데 사용하기 위한 IIR 필터 계수들의 팔레트를 생성하도록 입력 신호들의 트레이닝 세트에 걸쳐 비선형 최적화를 수행하도록 프로세서를 프로그래밍하기 위한 코드를 저장하는 컴퓨터 판독가능 매체에 있어서, 상기 팔레트는 IIR 필터 계수들의 적어도 두 세트들을 포함하고, 상기 각각의 세트들은,
(a) 적어도 하나의 제약을 겪도록, 상기 트레이닝 세트의 입력 신호들 중 하나에 걸쳐 비선형 최적화를 수행함으로써 상기 팔레트의 IIR 필터 계수들의 세트들 중 적어도 하나를 결정하고;
(b) 상기 적어도 하나의 제약을 겪도록, 상기 트레이닝 세트의 상기 입력 신호들 중 다른 하나에 걸쳐 비선형 최적화를 수행함으로써 상기 팔레트의 IIR 필터 계수들의 세트들 중 적어도 다른 하나를 결정하는 것을 포함하여, 상기 IIR 예측 필터를 결정하기에 충분한 계수들로 구성되는, 컴퓨터 판독가능 매체. - 선택된 IIR 계수 세트를 나타내는 필터 계수 데이터를 수신하도록 결합된 디코더에 있어서, 상기 선택된 IIR 계수 세트는 IIR 계수 세트들의 팔레트로부터 인코더에 의해 선택되고, 상기 디코더는 또한 인코딩된 데이터를 수신하도록 결합되고, 상기 디코더는,
상기 인코딩된 데이터에 응답하여 부분적으로 디코딩된 데이터를 생성하도록 구성된 디코딩 서브시스템; 및
상기 서브시스템에 결합되고 IIR 및 FIR 필터를 포함하고, 상기 부분적으로 디코딩된 데이터에 응답하여 예측 필터링된 데이터를 생성하도록 동작되도록 구성되고, 상기 필터 계수 데이터에 응답하여 상기 선택된 IIR 계수 세트로 상기 IIR 필터 및 상기 FIR 필터 중 하나를 구성하도록 동작되도록 구성되는, 예측 필터를 포함하는, 디코더. - 제 58 항에 있어서,
상기 필터 계수 데이터는 상기 선택된 IIR 계수 세트인, 디코더. - 제 58 항에 있어서,
상기 예측 필터의 IIR 필터는 피드백 구성의 유한 임펄스 응답 필터이고, 상기 필터 계수 데이터는 또한 FIR 계수 세트를 나타내고, 상기 예측 필터는 상기 필터 계수 데이터에 응답하여 상기 FIR 계수 세트로 상기 IIR 필터를 구성하고 상기 선택된 IIR 계수 세트로 상기 FIR 필터를 구성하도록 동작되도록 구성되는, 디코더. - 제 58 항에 있어서,
상기 디코더는 무손실 디코딩 장치인, 디코더. - 제 61 항에 있어서,
상기 서브시스템은 오디오 데이터 샘플들에 응답하여 부분적으로 디코딩된 데이터를 생성하도록 동작되도록 구성된, 디코더. - 상기 인코딩된 데이터에 응답하여 부분적으로 디코딩된 데이터를 생성하도록 구성된 디코딩 서브시스템; 및
상기 서브시스템에 결합되고 IIR 필터 및 FIR 필터를 포함하는 예측 필터를 포함하는 디코더에 있어서,
상기 예측 필터는 상기 부분적으로 디코딩된 데이터에 응답하여 예측 필터링된 데이터를 생성하도록 동작되도록 구성되고, 상기 예측 필터는,
(a) 팔레트의 상기 각각의 IIR 계수 세트들에 대해, 상기 각각의 IIR 계수 세트들로 구성된 상기 IIR 필터를 입력 데이터에 적용함으로써 생성된 출력을 나타내는 구성 데이터를 생성하고, 미리 결정된 기준을 만족하는 구성 데이터를 생성하도록 상기 IIR 필터를 구성하는 상기 IIR 계수 세트들 중 하나를 선택된 IIR 계수 세트로서 식별하고;
(b) 상기 선택된 IIR 계수 세트로 구성된 상기 IIR 필터와 함께 상기 예측 필터를 입력 데이터에 적용함으로써 생성된 출력을 나타내는 테스트 데이터에 대해 반복 동작을 수행함으로써 최적의 FIR 필터 계수 세트를 결정하고;
(c) 상기 최적의 FIR 계수 세트로 상기 FIR 필터를 구성하고 상기 선택된 IIR 계수 세트로 상기 IIR 필터를 구성하는 것을 포함하여, 상기 예측 필터가 IIR 계수 세트들의 미리 결정된 팔레트를 사용하여 상기 IIR 필터 및 상기 FIR 필터를 구성하는 구성 모드에서 동작되도록 구성되는, 디코더. - 제 63 항에 있어서,
상기 디코더는 무손실 디코딩 장치인, 디코더. - 제 63 항에 있어서,
상기 서브시스템은 오디오 데이터 샘플들에 응답하여 상기 부분적으로 디코딩된 데이터를 생성하도록 동작되도록 구성된, 디코더. - 상기 인코딩된 데이터에 응답하여 부분적으로 디코딩된 데이터를 생성하도록 구성된 디코딩 서브시스템; 및
상기 서브시스템에 결합되고 IIR 필터를 포함하는 예측 필터를 포함하는 디코더에 있어서,
상기 예측 필터는 상기 부분적으로 디코딩된 데이터에 응답하여 예측 필터링된 데이터를 생성하도록 동작되도록 구성되고, 상기 예측 필터는,
(a) 팔레트의 상기 각각의 IIR 계수 세트들에 대해, 상기 각각의 IIR 계수 세트들로 구성된 상기 IIR 필터를 입력 데이터에 적용함으로써 생성된 출력을 나타내는 구성 데이터를 생성하고, 미리 결정된 기준을 만족하는 구성 데이터를 생성하도록 상기 IIR 필터를 구성하는 상기 IIR 계수 세트들 중 하나를 선택된 IIR 계수 세트로서 식별하고;
(b) 상기 선택된 IIR 계수 세트로 상기 IIR 필터를 구성하고;
(c) 입력 데이터가 업데이트될 때마다 적어도 하나의 타이밍 제약을 겪도록 상기 예측 필터의 구성의 적응적인 업데이트를 달성하기 위해 상기 적어도 하나의 타이밍 제약을 겪도록 단계들 (a) 및 (b)를 반복하는 것을 포함하여, IIR 계수 세트들의 미리 결정된 팔레트를 사용하여 상기 IIR 필터를 구성하도록 동작되도록 구성되는, 디코더. - 제 66 항에 있어서,
상기 예측 필터는 또한 FIR 필터를 포함하고, 상기 예측 필터는,
상기 선택된 IIR 계수 세트로 구성된 상기 IIR 필터와 함께 상기 예측 필터를 데이터에 적용함으로써 생성된 출력을 나타내는 테스트 데이터 상에 반복 동작을 수행함으로써 최적의 FIR 필터 계수 세트를 결정하고,
상기 최적의 FIR 계수 세트로 상기 FIR 필터를 구성하도록 동작되도록 구성되는, 디코더. - 제 66 항에 있어서,
상기 디코더는 무손실 디코딩 장치인, 디코더. - 제 68 항에 있어서,
상기 서브시스템은 오디오 데이터 샘플들에 응답하여 상기 부분적으로 디코딩된 데이터를 생성하도록 동작되도록 구성되는, 디코더.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161443360P | 2011-02-16 | 2011-02-16 | |
US61/443,360 | 2011-02-16 | ||
PCT/US2012/024270 WO2012112357A1 (en) | 2011-02-16 | 2012-02-08 | Methods and systems for generating filter coefficients and configuring filters |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130112942A true KR20130112942A (ko) | 2013-10-14 |
KR101585849B1 KR101585849B1 (ko) | 2016-01-22 |
Family
ID=45607417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137021471A KR101585849B1 (ko) | 2011-02-16 | 2012-02-08 | 필터 계수들을 생성하고 필터들을 구성하는 방법들 및 시스템들 |
Country Status (13)
Country | Link |
---|---|
US (1) | US9343076B2 (ko) |
EP (2) | EP2863389B1 (ko) |
JP (1) | JP5863830B2 (ko) |
KR (1) | KR101585849B1 (ko) |
CN (1) | CN103534752B (ko) |
AU (1) | AU2012218016B2 (ko) |
BR (1) | BR112013020769B1 (ko) |
CA (1) | CA2823262C (ko) |
ES (1) | ES2727131T3 (ko) |
HK (1) | HK1189990A1 (ko) |
MX (1) | MX2013009148A (ko) |
RU (1) | RU2562771C2 (ko) |
WO (1) | WO2012112357A1 (ko) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014096236A2 (en) | 2012-12-19 | 2014-06-26 | Dolby International Ab | Signal adaptive fir/iir predictors for minimizing entropy |
US9405734B2 (en) | 2012-12-27 | 2016-08-02 | Reflektion, Inc. | Image manipulation for web content |
US9280964B2 (en) * | 2013-03-14 | 2016-03-08 | Fishman Transducers, Inc. | Device and method for processing signals associated with sound |
JP6212645B2 (ja) * | 2013-09-12 | 2017-10-11 | ドルビー・インターナショナル・アーベー | オーディオ・デコード・システムおよびオーディオ・エンコード・システム |
JP6289041B2 (ja) * | 2013-11-12 | 2018-03-07 | 三菱電機株式会社 | イコライザ |
KR101897378B1 (ko) | 2013-12-10 | 2018-09-10 | 캐논 가부시끼가이샤 | 팔레트 코딩 모드에서 팔레트를 인코딩 또는 디코딩하기 위한 방법 및 장치 |
US10419774B2 (en) | 2013-12-10 | 2019-09-17 | Canon Kabushiki Kaisha | Palette mode in HEVC |
CN106464869B (zh) * | 2014-03-14 | 2019-07-19 | 寰发股份有限公司 | 调色板表初始化和管理的方法 |
WO2016074627A1 (en) * | 2014-11-12 | 2016-05-19 | Mediatek Inc. | Methods of escape pixel coding in index map coding |
EP3387764B1 (en) | 2015-12-13 | 2021-11-24 | Genxcomm, Inc. | Interference cancellation methods and apparatus |
CN109416913B (zh) * | 2016-05-10 | 2024-03-15 | 易默森服务有限责任公司 | 自适应音频编解码系统、方法、装置及介质 |
CN105957534B (zh) * | 2016-06-28 | 2019-05-03 | 百度在线网络技术(北京)有限公司 | 自适应滤波方法和自适应滤波器 |
US10257746B2 (en) | 2016-07-16 | 2019-04-09 | GenXComm, Inc. | Interference cancellation methods and apparatus |
US11150409B2 (en) | 2018-12-27 | 2021-10-19 | GenXComm, Inc. | Saw assisted facet etch dicing |
US10727945B1 (en) | 2019-07-15 | 2020-07-28 | GenXComm, Inc. | Efficiently combining multiple taps of an optical filter |
KR20220057544A (ko) | 2019-09-12 | 2022-05-09 | 바이트댄스 아이엔씨 | 비디오 코딩에서 팔레트 예측자 사용 |
US11215755B2 (en) | 2019-09-19 | 2022-01-04 | GenXComm, Inc. | Low loss, polarization-independent, large bandwidth mode converter for edge coupling |
US11539394B2 (en) | 2019-10-29 | 2022-12-27 | GenXComm, Inc. | Self-interference mitigation in in-band full-duplex communication systems |
US11796737B2 (en) | 2020-08-10 | 2023-10-24 | GenXComm, Inc. | Co-manufacturing of silicon-on-insulator waveguides and silicon nitride waveguides for hybrid photonic integrated circuits |
US12001065B1 (en) | 2020-11-12 | 2024-06-04 | ORCA Computing Limited | Photonics package with tunable liquid crystal lens |
US12057873B2 (en) | 2021-02-18 | 2024-08-06 | GenXComm, Inc. | Maximizing efficiency of communication systems with self-interference cancellation subsystems |
EP4409738A1 (en) | 2021-10-25 | 2024-08-07 | Orca Computing Limited | Hybrid photonic integrated circuits for ultra-low phase noise signal generators |
US20240236609A1 (en) * | 2023-01-05 | 2024-07-11 | Audio Impressions, Inc. | Method of using iir filters for the purpose of allowing one audio sound to adopt the same spectral characteristic of another audio sound |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05257497A (ja) * | 1992-03-11 | 1993-10-08 | Mitsubishi Electric Corp | 音声符号化復号化方式 |
JPH11511299A (ja) * | 1995-05-15 | 1999-09-28 | グラハム クレイブン、ピーター | 波形データ用無損失符号化法 |
JP2000242299A (ja) * | 1999-02-17 | 2000-09-08 | Nippon Telegr & Teleph Corp <Ntt> | 重み符号帳とその作成方法及び符号帳設計時における学習時のma予測係数の初期値の設定方法並びに音響信号の符号化方法及びその復号方法並びに符号化プログラムが記憶されたコンピュータに読み取り可能な記憶媒体及び復号プログラムが記憶されたコンピュータに読み取り可能な記憶媒体 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1186100A2 (en) * | 2000-01-07 | 2002-03-13 | Koninklijke Philips Electronics N.V. | Generating coefficients for a prediction filter in an encoder |
WO2001080423A2 (en) | 2000-04-14 | 2001-10-25 | Harman International Industries, Incorporated | Method and apparatus for dynamic sound optimization |
US7155177B2 (en) * | 2003-02-10 | 2006-12-26 | Qualcomm Incorporated | Weight prediction for closed-loop mode transmit diversity |
DE10316803B4 (de) | 2003-04-11 | 2009-04-09 | Infineon Technologies Ag | Verfahren und Vorrichtung zur Kanalschätzung in Funksystemen durch MMSE-basierte rekursive Filterung |
US7373367B2 (en) | 2004-04-19 | 2008-05-13 | Chang Gung University | Efficient digital filter design tool for approximating an FIR filter with a low-order linear-phase IIR filter |
DE602005011439D1 (de) * | 2004-06-21 | 2009-01-15 | Koninkl Philips Electronics Nv | Verfahren und vorrichtung zum kodieren und dekodieren von mehrkanaltonsignalen |
EP1833163B1 (en) | 2004-07-20 | 2019-12-18 | Harman Becker Automotive Systems GmbH | Audio enhancement system and method |
US7596220B2 (en) * | 2004-12-30 | 2009-09-29 | Alcatel Lucent | Echo cancellation using adaptive IIR and FIR filters |
BRPI0607646B1 (pt) | 2005-04-01 | 2021-05-25 | Qualcomm Incorporated | Método e equipamento para encodificação por divisão de banda de sinais de fala |
US7774396B2 (en) | 2005-11-18 | 2010-08-10 | Dynamic Hearing Pty Ltd | Method and device for low delay processing |
EP1991986B1 (en) | 2006-03-07 | 2019-07-31 | Telefonaktiebolaget LM Ericsson (publ) | Methods and arrangements for audio coding |
US9454974B2 (en) * | 2006-07-31 | 2016-09-27 | Qualcomm Incorporated | Systems, methods, and apparatus for gain factor limiting |
US8135047B2 (en) * | 2006-07-31 | 2012-03-13 | Qualcomm Incorporated | Systems and methods for including an identifier with a packet associated with a speech signal |
KR100790163B1 (ko) | 2006-08-08 | 2008-01-02 | 삼성전자주식회사 | 이동통신 단말기의 이동속도에 따라 iir 필터 계수를 변경하는 채널 추정장치 및 계수 변경 방법 |
US8077821B2 (en) | 2006-09-25 | 2011-12-13 | Zoran Corporation | Optimized timing recovery device and method using linear predictor |
JP2008122729A (ja) | 2006-11-14 | 2008-05-29 | Sony Corp | ノイズ低減装置、ノイズ低減方法、ノイズ低減プログラムおよびノイズ低減音声出力装置 |
DE102007017254B4 (de) | 2006-11-16 | 2009-06-25 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung zum Kodieren und Dekodieren |
FR2913521B1 (fr) | 2007-03-09 | 2009-06-12 | Sas Rns Engineering | Procede de reduction active d'une nuisance sonore. |
EP1976122A1 (en) | 2007-03-31 | 2008-10-01 | Sony Deutschland Gmbh | Adaptive filter device |
WO2008122930A1 (en) | 2007-04-04 | 2008-10-16 | Koninklijke Philips Electronics N.V. | Sound enhancement in closed spaces |
US8594173B2 (en) | 2008-08-25 | 2013-11-26 | Dolby Laboratories Licensing Corporation | Method for determining updated filter coefficients of an adaptive filter adapted by an LMS algorithm with pre-whitening |
US20100135172A1 (en) | 2008-09-08 | 2010-06-03 | Qualcomm Incorporated | Method and apparatus for predicting channel quality indicator in a high speed downlink packet access system |
DE112009002137B4 (de) | 2008-10-06 | 2014-09-04 | Mitsubishi Electric Corporation | Signalverarbeitungsschaltung |
JP2010141780A (ja) | 2008-12-15 | 2010-06-24 | Audio Technica Corp | Iirフィルタ設計方法 |
GB2466673B (en) | 2009-01-06 | 2012-11-07 | Skype | Quantization |
US8077764B2 (en) | 2009-01-27 | 2011-12-13 | International Business Machines Corporation | 16-state adaptive noise predictive maximum-likelihood detection system |
US8626809B2 (en) | 2009-02-24 | 2014-01-07 | Samsung Electronics Co., Ltd | Method and apparatus for digital up-down conversion using infinite impulse response filter |
EP2237573B1 (en) | 2009-04-02 | 2021-03-10 | Oticon A/S | Adaptive feedback cancellation method and apparatus therefor |
-
2012
- 2012-02-08 CA CA2823262A patent/CA2823262C/en active Active
- 2012-02-08 MX MX2013009148A patent/MX2013009148A/es active IP Right Grant
- 2012-02-08 EP EP14196260.5A patent/EP2863389B1/en active Active
- 2012-02-08 US US13/983,892 patent/US9343076B2/en active Active
- 2012-02-08 KR KR1020137021471A patent/KR101585849B1/ko active IP Right Grant
- 2012-02-08 RU RU2013137876/08A patent/RU2562771C2/ru active
- 2012-02-08 WO PCT/US2012/024270 patent/WO2012112357A1/en active Application Filing
- 2012-02-08 ES ES14196260T patent/ES2727131T3/es active Active
- 2012-02-08 EP EP12704215.8A patent/EP2676263B1/en active Active
- 2012-02-08 BR BR112013020769-8A patent/BR112013020769B1/pt active IP Right Grant
- 2012-02-08 CN CN201280007778.4A patent/CN103534752B/zh active Active
- 2012-02-08 AU AU2012218016A patent/AU2012218016B2/en active Active
- 2012-02-08 JP JP2013553512A patent/JP5863830B2/ja active Active
-
2014
- 2014-03-31 HK HK14103084.5A patent/HK1189990A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05257497A (ja) * | 1992-03-11 | 1993-10-08 | Mitsubishi Electric Corp | 音声符号化復号化方式 |
JPH11511299A (ja) * | 1995-05-15 | 1999-09-28 | グラハム クレイブン、ピーター | 波形データ用無損失符号化法 |
US6664913B1 (en) * | 1995-05-15 | 2003-12-16 | Dolby Laboratories Licensing Corporation | Lossless coding method for waveform data |
JP2000242299A (ja) * | 1999-02-17 | 2000-09-08 | Nippon Telegr & Teleph Corp <Ntt> | 重み符号帳とその作成方法及び符号帳設計時における学習時のma予測係数の初期値の設定方法並びに音響信号の符号化方法及びその復号方法並びに符号化プログラムが記憶されたコンピュータに読み取り可能な記憶媒体及び復号プログラムが記憶されたコンピュータに読み取り可能な記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
ES2727131T3 (es) | 2019-10-14 |
US9343076B2 (en) | 2016-05-17 |
JP5863830B2 (ja) | 2016-02-17 |
US20130317833A1 (en) | 2013-11-28 |
BR112013020769A2 (pt) | 2016-10-11 |
AU2012218016A1 (en) | 2013-07-11 |
CA2823262A1 (en) | 2012-08-23 |
HK1189990A1 (zh) | 2014-06-20 |
WO2012112357A1 (en) | 2012-08-23 |
EP2863389B1 (en) | 2019-04-17 |
RU2562771C2 (ru) | 2015-09-10 |
AU2012218016B2 (en) | 2015-11-19 |
CA2823262C (en) | 2018-03-06 |
EP2676263A1 (en) | 2013-12-25 |
JP2014508323A (ja) | 2014-04-03 |
EP2676263B1 (en) | 2016-06-01 |
BR112013020769B1 (pt) | 2021-03-09 |
CN103534752B (zh) | 2015-07-29 |
EP2863389A1 (en) | 2015-04-22 |
CN103534752A (zh) | 2014-01-22 |
MX2013009148A (es) | 2013-08-29 |
KR101585849B1 (ko) | 2016-01-22 |
RU2013137876A (ru) | 2015-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101585849B1 (ko) | 필터 계수들을 생성하고 필터들을 구성하는 방법들 및 시스템들 | |
AU2006270259B2 (en) | Selectively using multiple entropy models in adaptive coding and decoding | |
EP2006840B1 (en) | Entropy coding by adapting coding between level and run-length/level modes | |
US7684981B2 (en) | Prediction of spectral coefficients in waveform coding and decoding | |
US7693709B2 (en) | Reordering coefficients for waveform coding or decoding | |
US8558724B2 (en) | Coding method, coding appartaus, decoding method, decoding apparatus, program, and recording medium | |
US20110305272A1 (en) | Encoding method, decoding method, encoding device, decoding device, program, and recording medium | |
US8576910B2 (en) | Parameter selection method, parameter selection apparatus, program, and recording medium | |
JP4382090B2 (ja) | 符号化装置、符号化方法およびコードブック | |
US8502708B2 (en) | Encoding method and decoding method, and devices, program and recording medium for the same | |
JP6629256B2 (ja) | 符号化装置、方法及びプログラム | |
JPH0934493A (ja) | 音響信号符号化装置、音響信号復号装置および音響信号処理装置 | |
JPS63285599A (ja) | 符号化復号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20200103 Year of fee payment: 5 |