TWI538000B - 多階段過濾器,音頻編碼器,音頻解碼器,施行多階段過濾的方法,用以編碼音頻資料的方法,用以將編碼音頻資料解碼的方法,及用以處理編碼位元流的方法和裝置 - Google Patents
多階段過濾器,音頻編碼器,音頻解碼器,施行多階段過濾的方法,用以編碼音頻資料的方法,用以將編碼音頻資料解碼的方法,及用以處理編碼位元流的方法和裝置 Download PDFInfo
- Publication number
- TWI538000B TWI538000B TW102113501A TW102113501A TWI538000B TW I538000 B TWI538000 B TW I538000B TW 102113501 A TW102113501 A TW 102113501A TW 102113501 A TW102113501 A TW 102113501A TW I538000 B TWI538000 B TW I538000B
- Authority
- TW
- Taiwan
- Prior art keywords
- stage
- filter
- stages
- memory
- values
- Prior art date
Links
- 238000001914 filtration Methods 0.000 title claims description 90
- 238000000034 method Methods 0.000 title claims description 71
- 238000012545 processing Methods 0.000 title claims description 51
- 239000000463 material Substances 0.000 claims description 94
- 230000004044 response Effects 0.000 claims description 72
- 238000010586 diagram Methods 0.000 description 13
- 238000012805 post-processing Methods 0.000 description 8
- 230000008878 coupling Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 229910052754 neon Inorganic materials 0.000 description 6
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 6
- 230000001052 transient effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000001373 regressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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
- G10L19/26—Pre-filtering or post-filtering
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/04—Recursive filters
-
- 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
-
- 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/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- 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
- G10L19/16—Vocoder architecture
- G10L19/167—Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H2017/0072—Theoretical filter design
- H03H2017/009—Theoretical filter design of IIR filters
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
- Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
Description
本申請案主張2012年5月10日申請之美國專利臨時申請案61/645,291之優先權,其整體內容係併入本文作為參考。
本申請案主張2012年5月10日申請之美國專利臨時申請案61/645,291之優先權,其整體內容係併入本文作為參考。
本發明係關於包含雙二次過濾器階段的多階段過濾器、以及使用此過濾器之資料(如音頻資料)的平行化過濾。本發明的某些具體實施例為用以在資料的編碼或解碼過程中過濾音頻資料(使用包含雙二次過濾器階段的多階段過濾器)的方法、系統、及處理器,其係根據習知的Dolby Digital(AC-3)、Dolby Digital Plus(E-AC-3)、及Dolby E格式的其中一者,或根據另外的編碼格式。Dolby、Dolby Digital、Dolby Digital Plus、及Dolby E為杜比實驗室特許公司的商標。
在這整個揭露內容中,包含在申請專利範圍中,在信號或資料「上」施行一操作(例如過濾或縮放信號或資料)的描述係廣義地使用,以表示直接地在信號或資料上、或在信號或資料之處理後的版本上(例如在已經歷初步過濾或在操作施行前的其他處理之信號的版本上)施行操作。
在信號處理中,數位雙二次過濾器為二階遞迴線性過濾器,包含兩個極點及兩個零點。「二階(biquad或bi-quad)」過濾器的縮寫在本文中係用以表示數位雙二次過濾器。在Z領域中,二階過濾器的轉移函數為兩個二次函數的比值:
高階遞迴過濾器(階數高於二階的無限脈衝響應或"IIR"過濾器)可能對其係數的量化非常敏感,且可能容易變得不穩定。第一及第二階遞迴過濾器也可能有此類型的不穩定問題,但不穩定問題減小許多。因此,高階遞迴過濾器一般實施為連續串列過濾器,其包含二階區段的連續串列(以及,選擇性地,第一階過濾器)。此類連續串列過濾器有時在本文中稱作多階段二階過濾器,且包含一序列的二階過濾器(在本文中有時稱作二階階段或二階區段)。
舉例來說,組態以根據習知AC-3(Dolby Digital)格式、或習知Dolby Digital Plus及Dolby E格式之其中一者而編碼音頻資料的傳統編碼器係施行了許多多階段二階過
濾器。舉例來說,Dolby Digital Plus編碼器一般使用二階段二階過濾器(即包含二個串列二階過濾器的過濾器)以在暫態偵測器子系統中施行高通過濾、使用四階段二階過濾器(即包含四個串列二階過濾器的過濾器)以在低頻效應(LFE)子系統中施行低通過濾、以及使用三階段二階過濾器以施行頻寬限制低通過濾。Dolby E編碼器一般使用二階段二階過濾器(即包含二個串列二階過濾器的過濾器)以在暫態偵測器子系統中施行高通過濾、以及使用四階段二階過濾器(即包含四個串列二階過濾器的過濾器)以在低頻效應(LFE)子系統中施行低通過濾。Dolby E解碼器一般使用三階段二階過濾器(即包含三個串列二階過濾器的過濾器)以在低頻效應(LFE)子系統中施行低通過濾。
舉例來說,圖1為二階過濾器(其類型有時係稱作Direct Form II-Transposed結構)的示意圖,包含元件1、2、3、4、5、b0、b1、b2、-a1、及-a2,如圖所示連接。元件1、2、及3為加法元件,元件4及5為延遲元件,且增益元件b0、b1、b2、-a1、及-a2之每一者係將對應之增益b0、b1、b2、-a1、及-a2的其中一者施加至宣告至其輸入的信號。雖然本文並未顯示或描述,但熟此技藝者可知存在有其他的等效二階過濾器結構,例如Direct Form I、Direct Form I-Transposed、Dircet Form II。任何此類的等效二階過濾器結構均在本發明的範疇內。
如圖1A所示,若圖1的二階過濾器(在圖1A中標示為二階1)與具有相同結構的二階過濾器(在圖1A中標示為
二階2)串接,但其增益元件可施加不同於圖1過濾器之增益元件所施加的增益,所產生的多階段二階過濾器為可使用之二階段二階過濾器的範例(例如用以施行如前述之在音頻編碼器之暫態偵測器子系統中的高通過濾)。在圖1A的多階段二階過濾器中,第一階段的輸出信號x1(n)為第二階段的輸入信號。
針對多階段二階過濾器(以及某些其他多階段IIR過濾器),回應於在瞬時"n"及先前瞬時之時域信號x(n)的數值(輸入信號或在多階段過濾器之另一階段中所產生的信號)之在每個階段之瞬時"n"的輸出樣本計算係取決於先前的輸出(即在瞬時n-1及n-2的輸出y(n-1)及y(n-2))。再者,針對在多階段二階過濾器的每兩個連續階段(二階過濾器),每一較早階段的輸出係輸入至後續階段,使得後續階段的輸出無法被判定,直到較早階段的輸出已被判定之後。這些都是為什麼完整的平行化處理還沒有被使用來實施多階段二階過濾器(在本發明之前)的主要原因。
在許多現代的核心處理器架構(例如數位信號處理器架構)中,有SIMD(單一指令、多重資料)單元及/或多重ALU(算術邏輯單元)或AMU(算數操作單元)可用於平行化許多演算法並改善效能。然而,用以程式化處理器以實施多階段二階過濾器的傳統演算法並不使用SIMD指令且沒有平行化。
舉例來說,Dolby Digital Plus編碼器(其根據Dolby Digital Plus格式而編碼音頻資料)已實施為程式化ARM
neon處理器(其每一者為具有允許平行處理之Neon SIMD引擎的ARM Cortex處理器)、以及程式化Texas Instruments C64數位信號處理器。許多音頻資料編碼器(例如根據AC-3、Dolby Digital Plus、Dolby E及/或其他編碼格式而編碼音頻資料的編碼器)已經或可被實施為具有任何各種不同架構的程式化處理器,其具有SIMD(單一指令、多重資料)單元及/或多重ALU(算數邏輯單元)或AMU(算數操作單元)。這類處理器可程式化以實施使用平行處理的各種演算法(包含於音頻資料編碼)。然而,已用於在這類處理器中實施多階段二階過濾器的傳統程式化並未施行平行處理。
本發明的典型具體實施例使用平行處理以實施一多階段二階過濾器。某些具體實施例使用平行處理以實施用於根據AC-3(Dolby Digital)格式、Dolby Digital Plus格式、或Dolby E格式而編碼音頻資料之類型的多階段二階過濾器。
雖然本發明並不限於在根據AC-3、Dolby Digital Plus、或Dolby E格式的編碼音頻資料中使用,但某些具體實施例為使用實施本發明一具體實施例(或根據其而設計)之至少一多階段二階過濾器的音頻編碼方法、系統、及處理器(例如用以根據AC-3、Dolby Digital Plus、或Dolby E格式而編碼音頻資料)。
AC-3編碼位元流包含一到六個通道的音頻內容,以及指示音頻內容之至少一特性的元資料。音頻內容為已使
用感知音頻編碼進行壓縮的音頻資料。
AC-3(亦稱作Dobly Digital)編碼的細節為習知且在許多公開參考文獻中提出,包括以下各項:ATSC Standard A52/A:Digital Audio Compression Standard(AC-3)(數位音頻壓縮標準),Revision A,Advanced Television Systems Committee,20 Aug.2001;由Craig C.Todd等人在96 th Convention of the Audio Engineering Society,February 26,1994,Preprint 3796中所發表之"Flexible Perceptual Coding for Audio Transmission and Storage(音頻傳輸及儲存的彈性感知編碼)";由SteveVernon在IEEE Trans.Consumer Electronics,Vol.41,No.3,August 1995所發表之"Design and Implementation of AC-3 Coders(AC-3編碼器的設計及施行)";由Robert L.Andersen及Grant A.Davidson在主編為Vijay K.Madisetti的The Digital Signal Processing Handbook,Second Edition,CRC Press,2009中所發表之章節"Dolby Digital Audio Coding Standards(杜比數位音頻編碼標準)";由Bosi等人在Audio Engineering Society Preprint 3365,93rd AES Convention,October,1992中所發表的"High Quality,Low-Rate Audio Transform Coding for Transmission and Multimedia Applications(用於傳輸及多媒體應用的高品質、低速率音頻轉換編碼)";以及
美國專利5,583,962;5,632,005;5,633,981;5,727,119;以及6,021,386。
Dolby Digital(AC-3)及Dolby Digital Plus(有時稱作增強的AC-3或「E-AC-3」)編碼的細節係提出於"Introduction to Dolby Digital Plus,and Enhancement to the Dolby Digital Coding System(杜比數位Plus之介紹,以及杜比數位編碼系統的強化)",AES Convention Paper 6196,117th AES Convention,October 28,2004以及Dolby Digital/Dolby Digital Plus Specification(ATSC A/52:2010),可由以下網址獲得:http://www.atsc.org/cms/index.php/standards/published-standards
在一類的具體實施例中,本發明為包含至少兩階段(其每一為二階過濾器)的多階段過濾器,其中階段係與該些階段之間的潛時結合,使得所有階段可回應一單一、共同的指令流而獨立地操作,以在該些階段中完整地施行資料的平行化處理。一般來說,多階段過濾器也包含耦合以宣告共同指令流至所有階段的控制器、以及耦合至所有階段的資料記憶體,且所有階段係平行地操作以回應共同指令流而過濾輸入資料值之一區塊,但每一階段係操作於不同的資料值上,且至少其中一階段係操作於包括緩衝值的資料值上,該些緩衝值在被擷取以在該其中一階段中處理之前係由另一階段所產生以回應輸入資料值的一子集並以
不同的潛時儲存於記憶體中。因此,在這些具體實施例中的多階段過濾器具有SIMD(單一指令、多重資料)架構,其中個別二階過濾器階段係獨立且平行地操作以回應單一指令流。舉例來說,多階段過濾器可包含N個階段(其中N為大於一的數目),且其中一階段(序列中的第"M+1"個階段)可在由前一階段(序列中的第"M"個階段)於不同時間(例如回應於區塊之不同輸入資料值的序列)所產生、儲存於緩衝器記憶體中(在不同的時間)、以及在駐存於緩衝器記憶體不同的潛伏時間後從緩衝器記憶體讀取(由第"M+1"階段)之資料值上操作。
在某些具體實施例中,本發明為一多階段過濾器,包含:一緩衝器記憶體;至少兩個二階過濾器階段,包含一第一二階過濾器階段以及一後續二階過濾器階段;以及一控制器,耦合至二階過濾器階段並組態以宣告(assert)一單一指令流至第一二階過濾器階段以及後續二階過濾器階段兩者,其中第一二階過濾器階段以及後續二階過濾器階段係獨立且平行地操作以回應指令流,其中第一二階過濾器階段係耦合至記憶體且組態以回應於指令流而在N個輸入樣本的一區塊上施行雙二次過濾以產生中間值,並宣告中間值至記憶體(供儲存在該記憶體中),其中中間值包含輸入樣本之至少一子集之每一者的過濾版本,以及
其中後續二階過濾器階段係耦合至記憶體且組態以回應於指令流而在從記憶體所擷取之緩衝值上施行雙二次過濾以產生輸出值的一區塊,其中輸出值包含對應在N個輸入樣本之區塊中之輸入樣本的每一者的一輸出值,且緩衝值包含至少某些回應N個輸入樣本之區塊而產生於第一二階過濾器階段中的中間值。
在一般的具體實施例中,多階段過濾器係組態以在一單一處理迴圈中施行N個輸入樣本之區塊的多階段過濾,其對一樣本指數迭代但不對一雙二次過濾器階段指數迭代。
在多階段過濾器具有M個階段之本發明多階段過濾器的某些具體實施例中,後續二階過濾器階段係組態以回應從記憶體所擷取之緩衝值的一子集而產生對應輸入樣本之第「j」個的一輸出值,其中j為範圍從M-1到N-1的一指數,該子集包含輸入樣本之第「j」個的過濾版本、輸入樣本之第「j-1」個的過濾版本、以及輸入樣本之第「j-2」個的過濾版本。
在本發明多階段過濾器的某些具體實施例中,後續二階過濾器階段係組態以回應從記憶體所擷取之緩衝值的一子集而產生對應輸入樣本之每一者的一輸出值,每一子集包括在第一二階過濾器階段中產生並在駐存於記憶體不同的潛伏時間後從記憶體所擷取之中間值的其中至少三個。
舉例來說,在多階段過濾器具有M個二階過濾器階段的典型具體實施例中,用以產生對應輸入樣本之第「j」個
的輸出值而擷取之緩衝值的子集(其中j為範圍從M-1到N-1的一指數)包含由回應輸入樣本之第「j」個而產生於第一二階過濾器階段中的至少一數值、回應輸入樣本之第「j-1」個而產生於第一二階過濾器階段中的至少一數值、以及回應輸入樣本之第「j」-2個而產生於第一二階過濾器階段中的至少一數值。
在另一類的具體實施例中,本發明為用以於N個輸入樣本之一區塊上施行多階段過濾的方法,該方法包含以下步驟:(a)在N個輸入樣本的一區塊上施行一第一雙二次過濾操作以產生中間值,且宣告中間值至一緩衝器記憶體(供在該記憶體中的儲存),其中中間值包括輸入樣本之至少一子集之每一者的過濾版本;以及(b)在從記憶體所擷取之緩衝值上施行一第二雙二次過濾操作以產生輸出值的一區塊,其中輸出值包含對應在N個輸入樣本之區塊中之輸入樣本的每一者的一輸出值,緩衝值之一不同的子集係擷取並過濾以產生對應在區塊中之輸入樣本之每一者的輸出值,且緩衝值之每一子集包含在步驟(a)的施行過程中所產生之中間值的其中至少兩個,其在駐存於記憶體不同的潛伏時間後從記憶體擷取,其中步驟(a)及(b)係施行以回應一單一指令流,使得步驟(a)及(b)係獨立且平行地施行以回應該單一指令流。在一般的具體實施例中,輸入樣本之區塊的多階段過濾係於一單一處理迴圈中施行,其對一樣本指數迭代但不對
一雙二次過濾器階段指數迭代。
在於具有M個階段的一多階段過濾器中施行過濾之本發明方法的某些具體實施例中,用以產生對應輸入樣本之第「j」個的輸出值而在步驟(b)所擷取之緩衝值(其中j為範圍從M-1到N-1的一指數)包含在步驟(a)所產生之輸入樣本之第「j」個的過濾版本、在步驟(a)所產生之輸入樣本之第「j-1」個的過濾版本、以及在步驟(a)所產生之輸入樣本之第「j-2」個的過濾版本。
在另一類的具體實施例中,本發明為組態以回應輸入音頻資料而產生編碼音頻資料的音頻編碼器,該編碼器包含耦合並組態以過濾音頻資料(如過濾音頻資料的初步處理版本)的至少一多階段過濾器(其為本發明多階段過濾器的任一具體實施例)。在另一類的具體實施例中,本發明為用以編碼音頻資料以產生編碼音頻資料的方法,包含藉由在音頻資料上(如在音頻資料的初步處理版本上)施行本發明之多階段二階過濾方法。舉例來說,本發明的一具體實施例為包含預處理階段(用於對要由編碼器編碼之輸入音頻資料進行初步處理)的音頻編碼器,其中預處理階段包含耦合並組態以過濾音頻資料(如輸入資料或輸入資料的初步處理版本)的至少一多階段過濾器(其為本發明多階段過濾器的任一具體實施例)。本發明的另一具體實施例為一預處理器(用於對要由編碼器編碼之音頻資料進行初步處理),其中預處理器包含耦合並組態以過濾音頻資料(如輸入至預處理器的資料或這類輸入資料的初步處理版本
)的至少一多階段過濾器(其為本發明多階段過濾器的任一具體實施例)。
在另一類的具體實施例中,本發明為組態以回應編碼音頻資料而產生解碼音頻資料的音頻解碼器。在此類的某些具體實施例中,解碼器包含耦合並組態以過濾編碼音頻資料(如過濾編碼音頻資料的初步處理版本)的至少一多階段過濾器(其為本發明多階段過濾器的任一具體實施例)。在另一類的具體實施例中,本發明為用以解碼編碼音頻資料以產生解碼音頻資料的方法。在此類的某些具體實施例中,解碼包含在編碼音頻資料上(如在編碼音頻資料的初步處理版本上)之本發明多階段二階過濾方法之具體實施例的施行。舉例來說,本發明的一具體實施例為包含後處理階段(用於已由解碼器解碼之解碼音頻資料的後處理)的音頻解碼器,其中後處理階段包含耦合並組態以過濾音頻資料(如解碼資料或解碼資料的處理版本)的至少一多階段過濾器(其為本發明多階段過濾器的任一具體實施例)。本發明的另一具體實施例為一後處理器(用於施行已由解碼器解碼之解碼音頻資料的後處理),其中後處理器包含耦合並組態以過濾音頻資料(如輸入至後處理器的解碼資料或這類輸入資料的處理版本)的至少一多階段過濾器(其為本發明多階段過濾器的任一具體實施例)。
根據本發明的一般具體實施例,SIMD指令(或用以藉由ALU或AMU之平行處理的指令)係用以程式化一處理器(例如數位信號處理器或通用處理器)以施行一多階段過
濾器。多階段過濾器可實施頻寬過濾、低通過濾(如在音頻編碼器的LFE子系統中)、高通過濾(如在音頻編碼器的暫態偵測器子系統中)、或其他過濾。
本發明的另一態樣包含組態(程式化)以施行本發明方法之任何具體實施例的系統或裝置(如編碼器、解碼器、或處理器),以及儲存用以施行本發明方法或其步驟之任何具體實施例之程式碼的電腦可讀媒體(如碟片)。舉例來說,本發明系統可為或可包含可程式化通用處理器、數位信號處理器、或微處理器,其係以軟體或韌體程式化及/或另外的組態以施行資料上之任何各式的操作,包含本發明方法及其步驟的具體實施例。此一通用處理器可為或可包括具有輸入裝置、記憶體、及處理電路的電腦系統,其係程式化(及/或另外的組態)以回應對其宣告的資料而施行本發明方法(或其步驟)的具體實施例。
本發明的某些具體實施例為編碼器(例如根據Dolby Digital Plus、AC-3、或Dolby E格式來編碼音頻資料的編碼器)或解碼器,其實施為程式化處理器(如ARM neon處理器,其每一者為具有允許平行處理之Neon SIMD引擎的ARM Cortex處理器、或具有SIMD(單一指令、多重資料)單元及/或多重ALU(算數邏輯單元)或AMU(算數操作單元)的其他處理器)或程式化(及/或另外的組態)數位信號處理器(如具有SIMD單元及/或多重ALU或AMU的DSP)。
1‧‧‧加法元件
2‧‧‧加法元件
3‧‧‧加法元件
4‧‧‧延遲元件
5‧‧‧延遲元件
10‧‧‧記憶體
11‧‧‧控制器
150‧‧‧編碼器
151‧‧‧傳遞子系統
152‧‧‧解碼器
153‧‧‧多階段過濾器
154‧‧‧多階段過濾器
155‧‧‧預處理器
156‧‧‧後處理器
157‧‧‧多階段過濾器
158‧‧‧多階段過濾器
252‧‧‧解碼器
-a1‧‧‧增益元件
-a2‧‧‧增益元件
b0‧‧‧增益元件
b1‧‧‧增益元件
b2‧‧‧增益元件
B0-BM‧‧‧過濾器
圖1為習知二階過濾器的方塊圖。
圖1A為習知多階段二階過濾器的方塊圖。
圖2為用以在實施為連續串列二階過濾器(「串列二階區段」)的過濾器中施行過濾的傳統方法的流程圖。
圖3為本發明方法之一具體實施例的流程圖,用以在包含回應單一指令流而平行操作之串列二階過濾器(「串列二階區段」)的多階段二階過濾器中施行過濾。
圖4為一多階段過濾器(例如藉由根據本發明具體實施例程式化DSP或其他處理器而實施)的方塊圖,其包含串列二階過濾器且其可施行參照圖3所述之類型的方法。在圖4中,記憶體10包含儲存輸入資料x(n)之每一區塊的記憶體位置、以及儲存由二階過濾器所產生之中間值x 1(n),...,x N-1(n)之其中所需者的緩衝器記憶體位置。
圖5為包含一編碼器(包含本發明多階段過濾器的一具體實施例)及一解碼器(亦包含本發明多階段過濾器的一具體實施例)之系統的方塊圖。
圖6為本發明方法之另一具體實施例的流程圖,用以在包含回應單一指令流而平行操作之串列二階過濾器(「串列二階區段」)的多階段二階過濾器中施行過濾。
圖7為圖6之本發明方法具體實施例之步驟40、41及42之一具體實施例的流程圖。
圖8為圖6之本發明方法具體實施例之步驟47、48及49具體實施例的流程圖。
圖9為產生於圖4系統之實施中之數值的圖式,其中計算係適當地施行。
圖10為包含一編碼器(包含本發明多階段過濾器的一具體實施例)及一解碼器(其為本發明解碼器之一具體實施例)之系統的方塊圖。
本發明方法及組態以施行本發明方法之系統(例如編碼器及解碼器)的具體實施例將參照圖3、4、5、6、7及8進行描述。
首先,參考圖2,其描述用以使用包含M個二階過濾器之串列(其中M為下文及圖2中稱作「nsections」的數量)的多階段過濾器來過濾資料樣本(如音頻資料樣本)的傳統方法。此一傳統多階段二階過濾器的範例為上述圖1A中的過濾器。
在圖2的方法中,要被過濾之N個樣本的每一新區塊係初始地過濾(在步驟20)。在一區塊中的每一樣本係以指數j標示,其中0 j N-1。多階段過濾器中的每一階段(區段)係由指數i標示,其中0 i M-1。
在步驟21中,指數i係初始化為零,且在步驟22中,指數j係初始化為零。
在步驟23中,第"j"個輸入樣本係於第"i"個二階過濾器中過濾,接著在步驟24中,增量指數j。步驟25判定增量的指數j(等於j+1)是否小於N。若在步驟25中判定
增量的指數j小於N,再次施行步驟23以在第"i"個二階過濾器中過濾下一個第"j+1"個樣本。
若在步驟25中判定增量的指數j等於N(使得在當前區塊中的所有樣本已經在當前二階過濾器中過濾),則在步驟26中增量指數i。
步驟27判定最近增量的指數i(等於i+1)是否小於數量「nsections」(其等於M)。若在步驟27判定最近增量的指數i小於M,則接著施行步驟22-26的另一迭代以在下一個(第"i+1"個)二階過濾器中過濾中間值的最新的區塊(先前(第"i"個)二階過濾器的輸出,在步驟22-25的先前迭代中產生於先前的二階過濾器中)。
若步驟27判定最近增量的指數i等於M,使得在當前區塊中所有樣本在所有二階過濾器中的處理為完成,則施行步驟28。在步驟28中,將藉由在多階段過濾器中過濾輸入樣本的當前區塊而產生的N個過濾樣本輸出。此時,緩衝要被過濾之N個樣本的任何額外區塊(在步驟20的新施行中),且圖2方法係重複以在多階段過濾器中過濾樣本的新區塊。
針對圖2的程序,在M=2的情況中(即在多階段過濾器僅包含兩個串列二階過濾器的情況中),在多階段過濾器的每一階段中所施行的處理也將由以下的偽碼進行描述,其中N等於藉由在多階段過濾器中過濾N樣本之一區塊所產生之輸出樣本的數量:
for(i=0;i<2;i++) { for(j=0;j<N;j++) { Output[j]=function(output[j-1],output[j-2],input[j],input[j-1],input[j-2]); } }
在傳統圖2方法的施行過程中,由於針對每一樣本之多階段過濾器之每一階段的輸出(「輸出[j]」)一般係取決於針對兩個先前樣本之階段的輸出(輸出[j-1]及輸出[j-2]),且取決於對階段的當前輸入(「輸入[j])及對階段的兩個先前輸入(輸入[j-1]及輸入[j-2]),針對在階段內所施行之迴圈(圖2的步驟23、24及25)的操作並未平行化。再者,由於第一階段(i=0)的輸出係輸入至第二階段(i=1),跨階段的操作在傳統圖2方法的施行中並未平行化。這導致多階段過濾器的高指令計數(有時稱作MIPS或每秒百萬指令)需求,即使其由架構含有多重ALU(或AMU)或SIMD單元的處理器所施行。
接著,參考圖3,其描述用以使用包含兩個二階過濾器之串列的多階段過濾器來過濾資料樣本之區塊(如音頻資料樣本的區塊)之本發明方法的具體實施例。一開始,在步驟30中,將要被過濾之N個樣本的每一新區塊緩衝(例如在圖4的記憶體10中),使其可於後續步驟(包含步驟31、33及34)中使用。
在一區塊中的每一樣本係以指數j標示,其中0 j
N-1。多階段過濾器中的每一階段(區段)係由指數i標示,其中0 i 1。
在步驟31中,第一輸入樣本(j=0)在第一(i=0)二階過濾器中過濾。此步驟所產生的數值被緩衝(例如在圖4的記憶體10中),使其可供後續使用(例如在步驟33及/或34的後續施行中)。
在步驟32中,指數j係設定為1。
接著,步驟33及34係平行地施行。在步驟33中,第"j"個輸入樣本係於第一(i=0)二階過濾器中過濾,且由此步驟所產生的至少一個(例如每一個)數值(「中間」值)係被緩衝(例如在圖4的記憶體10中)使其可供後續步驟使用。在步驟34中,將到第二(i=1)二階過濾器的第"j-1"個輸入樣本過濾,且由此步驟所產生的至少一個(例如每一個)數值(「中間」值)係被緩衝(例如在圖4的記憶體10中)使其可供後續步驟使用。
接著,在步驟35中,增量指數j。步驟36判定增量的指數j(等於j+1)是否小於N。若在步驟36中判定增量的指數j小於N,則再次施行步驟33及34以過濾到第一二階過濾器的下一輸入樣本(在步驟33中)及到第二二階過濾器的下一輸入樣本(在步驟34中)。由步驟33及34每一者的每一迭代所產生的至少一個(例如每一個)數值(「中間」值)係被緩衝(例如在圖4的記憶體10中)使其可供後續步驟使用。舉例來說,可從緩衝器擷取在步驟33的一或多個先前迭代中所產生的一或多個中間值,以在步驟
34的施行中使用。
若在步驟36中判定增量的指數j等於N(使得在當前區塊中的所有輸入樣本已經在第一二階過濾器中過濾),則施行步驟37。
在步驟37中,過濾到第二(i=1)二階過濾器的最後輸入樣本(j=N-1)。此步驟所產生的數值係被緩衝(例如在圖4的記憶體10中)使其可供後續使用(例如供步驟38的輸出)。
接著,在步驟38中,將由第二二階段過濾器所產生的N個過濾樣本輸出(作為回應於N個輸入樣本之當前區塊之多階段過濾器的輸出)。此時,緩衝要被過濾之N個樣本的任何額外區塊(在步驟30的新施行中),且圖3方法係重複以在多階段過濾器中過濾樣本的新區塊。
在多階段過濾器的每一階段中所施行的處理(在圖3方法的施行過程中)也將由以下的偽碼進行描述,其中N等於藉由在多階段過濾器中過濾N樣本之一區塊所產生之輸出樣本的數量,outputstage1[k]為回應於第k個輸入樣本之多階段過濾器之第一階段的輸出,outputstage2[k]為對應第k個輸入樣本之多階段過濾器之第二階段的輸出,且input[k]為多階段過濾器之第一階段的輸入樣本:
{1st sample processing of the 1st stage} for(j=1;j<N;j++) { Outputstage1[j]=function(outputstage1[j-1],outputstage1[j-2],input[j],input[j-1],input[j-2]); Outputstage2[j-1]=function(outputstage2[j-2],outputstage2[j-3],outputstage1[j-1],outputstage1[j-2],outputstage1[j-3]); } {Last(“N-1”th)sample processing of the second stage.}
由圖3及對應的偽碼可清楚看出,在多階段過濾器之兩階段中處理的係結合於單一樣本迴圈中(圖3的步驟33、34、35、及36)。藉由引入一樣本潛時於兩階段(在此情況為兩階段二階過濾器)之間,或更一般地如以下有關圖6、圖7、及圖8所描述,在具有二或更多二階過濾器階段的一多階段過濾器之每一階段之間的一樣本潛時,在多階段過濾器的所有階段中的處理可根據本發明而完整地平行化。根據所描述之本發明具體實施例,在多階段過濾器之所有二階過濾器階段中之樣本的區塊的處理可因此而在單一樣本迴圈(針對所有階段結合)中平行化。
圖3之本發明方法具體實施例的變化係涵蓋了以包含M個二階過濾器(其中M大於2)之串列的多階段過濾器過濾資料樣本之一區塊(例如音頻資料樣本的區塊)。這類變化一般係以參照圖6、7、及8所描述之方式施行。
一開始,在圖6流程圖的步驟40中,要被過濾之N樣本的每一新區塊係被緩衝(例如在圖4的記憶體10中),使其可供後續步驟(包含步驟41、43-45、及48)使用。
在一區塊中的每一樣本係以指數j標示,其中0 j N-1。多階段過濾器中的每一階段(區段)係由指數i標示,其中0 i M-1。
在步驟41中,在二階過濾器階段i=0到i=M-2中對開始的M-1個輸入樣本(j=0到j=M-2)施行預迴圈過濾(例如以參照圖7所述的方式)。應注意,如圖7所示,針對某些二階過濾器階段,預迴圈過濾僅對應開始的M-1個輸入樣本的一子集而發生。由此步驟所產生的數值係被緩衝(例如在圖4的記憶體10中),使其可供後續使用(例如在步驟43-45的後續施行中)。
在步驟42中,指數j係設定為M-1。
接著,步驟43-45(一步驟係針對M個階段的每一者)係平行地施行。在步驟43中,過濾到第一(i=0)二階過濾器的第"j"個輸入樣本,且由此步驟所產生的至少一個(例如每一個)數值(「中間」值)係被緩衝(例如在圖4的記憶體10中)使其可供後續步驟使用。在步驟44中,將到第二(i=1)二階過濾器的第"j-1"個輸入樣本過濾,且由此步驟所產生的至少一個(例如每一個)數值(「中間」值)係被緩衝(例如在圖4的記憶體10中)使其可供後續步驟使用。類似地(在與步驟43及44平行施行的至少一步驟中,假設M大於2),針對i=4到i=M-2之每一額外的二階過濾器,過濾到第三(i=2)二階過濾器的第"j-2"個輸入樣本、過濾到第四(i=3)二階過濾器的第"j-3"個輸入樣本(假設M大於或等於4)等等,且由每一此步驟所產生的至少一個(例
如每一個)數值(「中間」值)係被緩衝使其可供後續步驟使用。在步驟45中(與步驟43及44平行地施行,假設M大於2),過濾到最後(i=M-1)二階過濾器的第"j-M+1"個輸入樣本,且由此步驟所產生的至少一個(例如每一個)數值(「中間」值)係被緩衝(例如在圖4的記憶體10中)使其可供後續步驟使用。
接著,在步驟46中,增量指數j,且步驟47判定增量的指數j(等於j+1)是否小於N。若在步驟47中判定增量的指數j小於N,則針對每一額外的二階過濾器階段再次施行步驟43-45(以及與步驟43-45平行施行的任何其他步驟)以過濾到第一二階過濾器的下一樣本(在步驟43中)、到第二二階過濾器的下一樣本(在步驟44中)等等。由步驟43-45每一者的每一迭代所產生的至少一個(例如每一個)數值(「中間」值)係被緩衝(例如在圖4的記憶體10中)使其可供後續步驟使用。舉例來說,可從緩衝器擷取在步驟43的一或多個先前迭代中所產生的一或多個中間值,以在步驟44的施行中使用。
若在步驟47中判定增量的指數j等於N(使得在當前區塊中的所有輸入樣本已經在其中一個二階過濾器(i=0的過濾器)中過濾),則施行後迴圈過濾步驟48。
在步驟48中,在到二階過濾器階段i=1到i=M-1之任何剩餘未過濾的輸入樣本上施行後迴圈過濾(例如以參照圖8所描述的方式)。此步驟所產生的數值係被緩衝(例如在圖4的記憶體10中)使其可供後續使用(例如供步驟
49的輸出)。
在步驟48之後,在步驟49中,將由最後(i=M-1)二階過濾器所產生的N個過濾樣本輸出(作為回應於N個輸入樣本之當前區塊之多階段過濾器的輸出)。此時,緩衝要被過濾之N個樣本的任何額外區塊(在步驟40的新施行中),且圖6方法係重複以在多階段過濾器中過濾樣本的新區塊。
圖7為圖6之本發明方法具體實施例之步驟40及42、及步驟41之一具體實施例細節的流程圖。圖7的步驟50-58為圖6之預迴圈過濾步驟41的施行。在步驟50中,當前區塊的第一樣本(j=0)係於第一二階過濾器階段(i=0)中過濾,且由此步驟所產生的過濾樣本數值係被緩衝(例如在圖4的記憶體10中)使其可供後續使用(例如在步驟51及52)。在步驟51中,區塊的第二樣本(j=1)係於第一二階過濾器階段(i=0)中過濾,且由此步驟所產生的過濾樣本數值係被緩衝(例如在圖4的記憶體10中)使其可供後續使用(例如在步驟53)。在步驟52中,過濾到第二二階過濾器階段(i=1)之區塊的第一樣本(j=0),且由此步驟所產生的過濾樣本數值較佳係被緩衝(例如在圖4的記憶體10中)使其可供後續使用(例如在步驟54)。步驟51及52較佳係平行地施行(回應於宣告至第一及第二階段的相同指令或指令序列)。
在圖7中步驟51垂直下方所示的步驟(包含步驟53及56)中,當前區塊之第三樣本(j=2)到第"M-1"個樣本
(j=M-2)的每一者在第一二階過濾器階段(i=0)中過濾,且由每一此步驟所產生的過濾樣本數值較佳係被緩衝使其可供後續使用。在步驟53中,區塊之第三樣本(j=2)在第一二階過濾器階段(i=0)中過濾,且由此步驟所產生的過濾樣本數值較佳係被緩衝使其可供後續使用。在步驟56中,當前區塊之第"M-1"個樣本(j=M-2)在第一二階過濾器階段(i=0)中過濾,且由此步驟所產生的過濾樣本數值較佳係被緩衝使其可供後續使用。
在圖7中步驟52垂直下方所示的步驟(包含步驟54及57)中,到第二二階過濾器階段(i=1)的第二輸入樣本(j=1)到第"M-2"個輸入樣本(j=M-3)的每一者係被過濾,且由每一此步驟所產生的過濾樣本數值較佳係被緩衝使其可供後續使用。在步驟54中,到第二二階過濾器階段的第二輸入樣本(j=1)係被過濾,且由此步驟所產生的過濾樣本數值係被緩衝(例如在圖4的記憶體10中)使其可供後續使用。在步驟57中,到第二二階過濾器階段的第"M-2"個輸入樣本(j=M-3)係被過濾,且由此步驟所產生的過濾樣本數值係被緩衝(例如在圖4的記憶體10中)使其可供後續使用。
一般來說,針對第"k"個二階過濾器階段,其中k為範圍從0到M-2的指數,施行一序列步驟(圖7中的一行步驟)以過濾到第"k"個二階過濾器階段的第一輸入樣本(j=0)至到第"k"個二階過濾器階段的第"M-1-k"個輸入樣本(j=M-2-k)之每一者,且由每一此步驟所產生的過濾樣本數
值係被緩衝(例如在圖4的記憶體10中)使其可供後續使用。
因此,若M=3,則施行(較佳係平行地)圖7的步驟53、54及55。在步驟53中,過濾到第一二階過濾器階段(i=0)的第三輸入樣本(j=2),並緩衝由此步驟所產生之過濾的樣本數值。在步驟54中,過濾到第二二階過濾器階段(i=1)的第二輸入樣本(j=1),並緩衝由此步驟所產生之過濾的樣本數值。在步驟55中,過濾到第三二階過濾器階段(i=2)的第一輸入樣本(j=0),並緩衝由此步驟所產生之過濾的樣本數值。
類似地,若M>5,則施行(較佳係平行地)在包含步驟53-55之列底下的步驟列之步驟(如圖7所示),且接著施行(較佳係平行地)包含圖7之步驟56、57及58之步驟列的步驟。在步驟56中,過濾到第一二階過濾器階段(i=0)的第"M-1"個輸入樣本(j=M-2),並緩衝由此步驟所產生之過濾的樣本數值。在步驟57中,過濾到第二二階過濾器階段(i=1)的第"M-2"個輸入樣本(j=M-3),並緩衝由此步驟所產生之過濾的樣本數值。在步驟58中,過濾到第"M-1"個二階過濾器階段(i=M-2)的第一輸入樣本(j=0),並緩衝由此步驟所產生之過濾的樣本數值。
圖7中每一步驟列的步驟(例如步驟51及52、或步驟53、54及55)較佳係平行地施行(回應於宣告至相關階段的相同指令或指令序列)。
圖8為圖6之本發明方法具體實施例之步驟47及49
、及步驟48之一具體實施例細節的流程圖。圖8的步驟60-66為圖6之後迴圈過濾步驟48的施行。
一般來說,如圖8所示,針對第"k"個二階過濾器階段,其中k為範圍從1到M-1的指數,施行一序列步驟(圖8中的一行步驟)以過濾到第"k"個二階過濾器階段的第"N-k+1"個輸入樣本(j=N-k)至到第"k"個二階過濾器階段的最後輸入樣本(j=N-1)之每一者,且由每一此步驟所產生的過濾樣本數值係被緩衝(例如在圖4的記憶體10中)使其可供後續使用。
舉例來說,在步驟60中,當前區塊的最後樣本(j=N-1)係於第二二階過濾器階段(i=1)中過濾,且由此步驟所產生的過濾樣本數值係被緩衝(例如在圖4的記憶體10中)使其可供後續使用。在步驟61中,區塊的倒數第二樣本(j=N-2)係於第三二階過濾器階段(i=2)中過濾,且由此步驟所產生的過濾樣本數值係被緩衝(例如在圖4的記憶體10中)使其可供後續使用(例如在步驟63)。在步驟63中,區塊的最後樣本(j=N-1)係於第三二階過濾器階段(i=2)中過濾,且由此步驟所產生的過濾樣本數值較佳係被緩衝(例如在圖4的記憶體10中)使其可供後續使用。
在步驟64中,區塊的最後樣本(j=N-1)係於倒數第二二階過濾器階段(i=M-2)中過濾,且由此步驟所產生的過濾樣本數值較佳係被緩衝(例如在圖4的記憶體10中)使其可供後續使用。
在步驟62中,區塊的第"N-M+1"個樣本係於最後二
階過濾器階段(i=M-1)中過濾,且由此步驟所產生的過濾樣本數值較佳係被緩衝(例如在圖4的記憶體10中)使其可供後續使用(例如在圖8之步驟62之垂直下方的步驟)。在步驟65中,區塊的倒數第二個樣本(j=N-2)係於最後二階過濾器階段(i=M-1)中過濾,且由此步驟所產生的過濾樣本數值較佳係被緩衝(例如在圖4的記憶體10中)使其可供後續使用(例如圖8中的步驟66)。在步驟66中,區塊的最後樣本(j=N-1)係於最後二階過濾器階段(i=M-1)中過濾,且由此步驟所產生的過濾樣本數值較佳係被緩衝(例如在圖4的記憶體10中)使其可供後續使用。
圖8中每一步驟列的步驟(例如步驟64及65、或在包含步驟60、61、及62之列中的步驟)較佳係平行地施行(回應於宣告至相關階段的相同指令或指令序列)。
圖3方法(及其變化供以包含多於兩個二階過濾器之串列的一多階過濾器過濾資料樣本的區塊)施行在單一迴圈之N個輸入樣本之一區塊的多階段過濾,其對一樣本指數(圖3的指數j)迭代但不對雙二次過濾器階段指數迭代。相反地,圖2的傳統方法以兩個巢套迴圈處理資料樣本的一區塊,其對一樣本指數(圖2的指數j)迭代且對雙二次過濾器階段指數(圖2的指數i)迭代。
在一般具體實施例(例如將描述於下的圖4具體實施例)中,本發明多階段過濾器的階段(其每一階段為二階過濾器)係與階段間的潛時結合,使得所有階段可獨立地操作,允許不同階段之處理的平行化。所有階段可平行地操
作(以過濾輸入資料值的一區塊),其係回應於來自控制器之單一、共同的指令流,但每一階段係操作於不同的資料值上,且其中至少一階段係操作於包含緩衝值(其由另一階段所產生以回應輸入資料值的一子集、且在被擷取供在該其中一階段中處理前係以不同的潛時儲存於該記憶體中)之資料值上。因此,多階段過濾器具有SIMD(單一指令、多重資料)架構,其中個別二階過濾器階段係獨立且平行地操作,以回應單一指令流。舉例來說,多階段過濾器可包含N個階段,且其中一階段(序列中的第"M+1"個階段)可在由前一階段(序列中的第"M"個階段)於不同時間(例如回應於區塊之不同輸入資料值的序列)所產生、儲存於緩衝器記憶體中(在不同的時間)、以及在駐存於緩衝器記憶體不同的潛伏時間後從緩衝器記憶體讀取(由第"M+1"階段)之資料值上操作。
接著,參考圖4,其將描述本發明多階段過濾器的一類具體實施例。圖4的多階段過濾器包含多個二階過濾器(M個二階過濾器,其中M為大於一的整數),且組態以施行參照圖3所描述之類型的方法(或此方法的變化,如圖6所示)。圖4過濾器包含記憶體10、控制器11、及二階過濾器B1、B2、...、BM,如圖所示連接,且組態以回應由控制器11宣告至二階過濾器的單一指令流而過濾N個輸入資料值x(n)的一區塊,其中"n"為範圍從1到N的指數。每一輸入資料值x(n)可為一音頻資料樣本。
應理解到,「單一指令流」宣告至多階段過濾器的個
別階段(例如其每一為二階過濾器)的表達方式在本文中係廣義地使用,包含以下兩者:單一指令流宣告至所有階段(例如在所有階段皆耦合的單一匯流排或導線上)的情況;以及相同(或實質相同)的指令流係同時地(或實質同時地)宣告至階段(例如宣告至耦合於不同的其中一階段之不同匯流排或導線的每一資料流)的情況。
回應於輸入資料值x(n)的區塊,過濾器B1產生N個中間(二階過濾的)值x 1(n),並將其宣告至記憶體10中的緩衝器記憶體位置。在操作中,過濾器B2從記憶體10擷取所需的中間值x 1(n)、回應其而產生中間(二階過濾的)值x 2(n)、以及宣告中間值為其產生至記憶體10中的緩衝器記憶體位置。類似地,在操作中,二階過濾器的其他每一者(過濾器Bi,其中i為從3到M的指數)從記憶體10擷取中間值x i-1(n)、回應其而產生二階過濾值x i(n)、以及宣告數值為其產生至記憶體10中的緩衝器記憶體位置。在最終二階過濾器(BM)中產生的二階過濾數值,x M(n)=y(n),包含回應輸入資料值x(n)之區塊而產生的N個完整過濾輸出資料值的區塊。
記憶體10包含儲存輸入資料x(n)之每一區塊的記憶體位置、以及儲存由二階過濾器B1、B2、...、BM-1所產生之中間值x 1(n),...,x M-1(n)的緩衝器記憶體位置(例如儲存針對輸入資料之每一區塊而產生之中間值x 1(n),...,x M-1(n)的緩衝器位置)。在某些實施中,其中計算係適當地施行,一旦多階段過濾器不再需要特定的輸入資料樣本,用以儲
存輸入資料x(n)的相同記憶體位置可用以儲存中間值x 1(n),...,x M-1(n)。在此類實施中,記憶體10一般不需包含比傳統記憶體(用以施行多階段過濾器的傳統、非平行化版本)更多(或顯著更多)的記憶體位置,因為此一傳統記憶體一般包括用以儲存要被過濾之輸入資料x(n)之每一區塊、以及階段本身的操作所需及/或過濾器之每一後續階段的操作所需之由多階段過濾器之每一階段所產生之每一輸出值的的記憶體位置。
舉例來說,圖9為產生於圖4系統的實施中之數值的圖式,其中計算係適當地施行,其在N=4及M=2的情況(即在一時間操作於4樣本之區塊上的兩個階段二階)。
在圖9的範例中,從在輸入緩衝器中的四個樣本x(0)...x(3)開始。
在第一步驟中,樣本x(0)係由過濾器B0(第一階段二階)過濾以產生樣本x1(0)。樣本x1(0)係儲存於記憶體中先前由樣本x(0)所佔據的位置。所有其他記憶體位置均未改變。
在第二步驟中,樣本x1(0)係由過濾器B1(第二階段二階)過濾以產生樣本y(0)。樣本y(0)係儲存於記憶體中先前由樣本x1(0)所佔據的位置。
並行地,樣本x(1)係由過濾器B0過濾以產生樣本x1(1)。樣本x1(1)係儲存於記憶體中先前由樣本x(1)所佔據的位置。
在後續的步驟中,處理係繼續直到所有輸入樣本
x(0)...x(3)已由輸出樣本y(0)...y(3)取代。
在圖9的範例中,當過濾器B1應用至樣本x1(2),樣本x1(1)及x1(0)不再駐存於緩衝器中(已由y(0)及y(1)所取代)。相反地,由過濾器B1從x1(1)及x1(0)所取得的樣本(即對應圖1之s 1 (n)及s 2 (n)的樣本)係包含於關聯於過濾器B1的2狀態變數。
在圖9的範例中,每一過濾器(例如過濾器B0及B1的每一者)需要存取儲存兩個樣本(對應圖1之s 1 (n)及s 2 (n)的樣本)的記憶體位置,其產生(回應N個輸入樣本之當前區塊的第"j-1"及第"j-2"個輸入樣本)供用於過濾當前區塊的第"j"個輸入樣本。這些記憶體位置可在圖4系統的記憶體10之內(或可為其他緩衝器記憶體位置)。
針對每一過濾器,已由過濾器所產生之每一對儲存的樣本(對應圖1之s 1 (n)及s 2 (n))在每次新輸入樣本(具有增量指數j)宣告至過濾器時更新。根據本發明,儲存樣本(對應圖1之s 1 (n)及s 2 (n))為「中間值」(此用語係用於本文中的其他地方)的範例,其由過濾器(其為多階段過濾器的一階段)所產生並緩衝供後續使用,但其後續係由將其產生的過濾器階段(並非由多階段過濾器的不同過濾器階段)所使用。
雖然圖9顯示使用適當過濾之本發明方法的特定範例,其中區塊尺寸(N)等於4且本發明過濾器中的二階過濾器階段(M)的數量等於2,使用適當過濾之本發明方法的具體實施例係涵蓋任何數值的M及N,其受到M>1及
N>M的限制。在圖9的實施中(及其他使用適當過濾的具體實施例,其中區塊尺寸不同於4及/或二階階段的數量不同於2),一旦多階段過濾器不再需要特定的輸入資料樣本,用以儲存輸入資料x(n)的相同記憶體位置(例如在圖4的記憶體10中)可用以儲存中間值x 1 (n)、...、x M-1 (n)。
圖4過濾器可藉由程式化數位信號處理器(DSP)或包含記憶體(作用為記憶體10)、控制器(作用為控制器11)、及ALU(算術邏輯單元)或AMU(算術操作單元)的其他處理器而施行,其中每一二階過濾器B1、B2、...、BM係實施為適當組態的其中一ALU或AMU。
因此,圖4過濾器包含:一緩衝器記憶體(記憶體10中的緩衝器位置);至少兩個二階過濾器階段(二階過濾器B1、B2、...、BM),包含第一二階過濾器階段(例如二階過濾器B1)以及後續二階過濾器階段(例如二階過濾器B2);以及一控制器(控制器11),耦合至二階過濾器階段並組態以宣告一單一指令流至第一二階過濾器階段以及後續二階過濾器階段兩者。第一二階過濾器階段以及後續二階過濾器階段(以及圖4過濾器的每一其他二階過濾器階段)係獨立且平行地操作以回應指令流。
第一二階過濾器階段係耦合至記憶體且組態以回應於指令流而在N個輸入樣本的一區塊上施行雙二次過濾以產生中間值(例如數值x 1 (n)),並宣告中間值至記憶體(供在該記憶體中的儲存)。這些中間值包含輸入樣本之每一者
的一過濾版本。在本發明的某些具體實施例中,在任何時間不需有多於一個中間值x 1 (n)出現在記憶體10中。後續二階過濾器階段係耦合至記憶體且組態以回應於指令流而在從記憶體所擷取之緩衝值上施行雙二次過濾以產生輸出值的一區塊(例如數值x 2 (n)),其中輸出值包含對應在N個輸入樣本之區塊中之輸入樣本的每一者的一輸出值,且緩衝值包含至少某些回應N個輸入樣本之區塊而產生於第一二階過濾器階段中的中間值。
在多階段過濾器具有M個階段的具體實施例中,後續二階過濾器階段(例如圖4的過濾器B2)係組態以回應從記憶體所擷取之緩衝值的一子集而產生對應輸入樣本之第「j」個的一輸出值,其中j為範圍從M-1到N-1的一指數,該子集包含輸入樣本之第「j」個的過濾版本、輸入樣本之第「j-1」個的過濾版本、以及輸入樣本之第「j-2」個的過濾版本。
後續二階過濾器階段(例如圖4的過濾器B2)係組態以回應從記憶體所擷取之緩衝值的一不同子集而產生對應輸入樣本x(n)之每一者的一輸出值(x 2 (n)),每一該子集包含至少兩個(例如三個)中間值,中間值係產生於第一二階過濾器階段(例如數值x 1 (n)、x 1 (n-1)、及x 1 (n-2),如圖4所示)且在駐存於該記憶體不同的潛伏時間後從記憶體擷取。特別地,在多階段過濾器具有M個階段的具體實施例中,由過濾器B2所擷取以產生對應第「j」個(其中j為範圍從M-1到N-1的一指數)輸入樣本之輸出值的緩衝值的
子集係包含回應第"j"個輸入樣本而於第一二階過濾器階段中產生之至少一數值、回應第"j-1"個輸入樣本而於第一二階過濾器階段中產生之至少一數值、以及回應第"j-2"個輸入樣本而於第一二階過濾器階段中產生之至少一數值。
圖4過濾器係組態以在N個輸入樣本(資料值x(n))的一區塊上施行多階段過濾,包含施行以下步驟:(a)在N個輸入樣本的區塊上施行第一雙二次過濾操作以產生中間值(例如數值x 1 (n)、x 1 (n-1)、及x 1 (n-2),如圖4所示),且宣告中間值至一緩衝器記憶體(用於在該記憶體中的儲存),其中中間值包括輸入樣本之至少一子集之每一者的一過濾版本;以及(b)在從記憶體所擷取之緩衝值上施行第二雙二次過濾操作以產生輸出值的一區塊(如圖4所示的數值x 2 (n)),其中輸出值包含對應在N個輸入樣本之區塊中之輸入樣本的每一者的一輸出值,緩衝值之一不同的子集係擷取並過濾以產生對應在區塊中之輸入樣本之每一者的輸出值,且緩衝值之每一子集包含在步驟(a)的施行過程中所產生之中間值(例如數值x 1 (n)、x 1 (n-1)、及x 1 (n-2),如圖4所示)的其中至少兩個(例如三個),其在駐存於記憶體不同的潛伏時間後從記憶體擷取,其中步驟(a)及(b)係施行以回應一單一指令流,使得步驟(a)及(b)係獨立且平行地施行以回應單一指令流。
在過濾係於具有M個階段的多階段過濾器中施行的具體實施例中,在步驟(b)所擷取以產生對應第「j」個(其
中j為範圍從M-1到N-1的一指數)輸入樣本之輸出值的緩衝值係包含在步驟(a)所產生之輸入樣本之第「j」個的過濾版本、在步驟(a)所產生之輸入樣本之第「j-1」個的過濾版本、以及在步驟(a)所產生之輸入樣本之第「j-2」個的過濾版本。
圖5為一系統的方塊圖,其包含具有本發明多階段過濾器("M B過濾器" 153)之編碼器(編碼器150)。舉例來說,過濾器153可為顯示於圖4且參照圖4所描述的類型。編碼器150選擇性地包含二或更多個多階段過濾器,其每一者為本發明多階段過濾器的具體實施例。回應於輸入音頻資料樣本,編碼器150產生編碼音頻資料並宣告編碼的音頻資料至傳遞子系統151。
傳遞子系統151係組態以儲存編碼音頻資料及/或傳輸指示編碼音頻資料的一信號。解碼器152係耦合並組態(例如程式化)以從子系統151接收編碼音頻資料(例如藉由從在子系統151中的儲存讀取或擷取編碼音頻資料、或接收已由子系統151傳輸之指示編碼音頻資料的一信號)。
解碼器152包含本發明多階段過濾器("M B過濾器"154)的具體實施例。舉例來說,過濾器154可為顯示於圖4且參照圖4所描述的類型。解碼器152選擇性地包含二或更多個多階段過濾器,其每一者為本發明多階段過濾器的具體實施例。解碼器152係操作以解碼編碼音頻資料,藉此而產生解碼音頻資料。
圖5系統也包含音頻預處理子系統(「預處理器」
)155,其組態以施行要由編碼器150所編碼之音頻資料的初步處理。預處理器155包含本發明多階段過濾器("M B過濾器"157)的具體實施例。舉例來說,過濾器157可為顯示於圖4且參照圖4所描述的類型。
圖5系統也包含音頻後處理子系統(「後處理器」)156,其組態以施行已由解碼器154所解碼之解碼音頻資料的後處理。後處理器156包含本發明多階段過濾器("M B過濾器"158)的具體實施例。舉例來說,過濾器158可為顯示於圖4且參照圖4所描述的類型。
在某些實施中,編碼器150為AC-3(或增強型AC-3、或Dolby E)編碼器,其係組態以回應時域輸入音頻資料而產生AC-3(或增強型AC-3、或Dolby E)編碼音頻位元流,且解碼器152為AC-3(或增強型AC-3、或Dolby E)解碼器。
在一類的具體實施例中,本發明為組態以回應輸入音頻資料而產生編碼音頻資料的音頻編碼器(如圖5的編碼器150),該編碼器包含耦合並組態以過濾音頻資料(如過濾音頻資料的初步處理版本)的至少一多階段過濾器(其為本發明多階段過濾器的任一具體實施例)。編碼器150係組態以編碼音頻資料以產生編碼音頻資料,其包含藉由在音頻資料上(例如在音頻資料的初步處理版本上)施行本發明多階段過濾方法之具體實施例。
在一類的具體實施例中,本發明為組態以回應編碼音頻資料而產生解碼音頻資料的音頻解碼器(例如圖5的解
碼器152),該解碼器包含耦合並組態以過濾編碼音頻資料(如過濾編碼音頻資料的初步處理版本)的至少一多階段過濾器(其為本發明多階段過濾器的任一具體實施例)。解碼器152係組態以解碼編碼音頻資料以產生解碼音頻資料,其包含藉由在編碼音頻資料上施行本發明多階段過濾方法之具體實施例(例如在編碼音頻資料的初步處理版本上)。
本發明的另一具體實施例為一預處理器(例如圖5的預處理器155),用於施行音頻資料(例如要由編碼器所編碼的音頻資料)的初步處理,其中預處理器包含耦合並組態以過濾音頻資料(如輸入至預處理器的資料或這類輸入資料的初步處理版本)的至少一多階段過濾器(其為本發明多階段過濾器的任一具體實施例)。
本發明的另一具體實施例為一後處理器(例如圖5的後處理器156),用於施行已由解碼器解碼之解碼音頻資料的後處理,其中後處理器包含耦合並組態以過濾音頻資料(如輸入至後處理器的解碼資料或這類輸入資料的處理版本)的至少一多階段過濾器(其為本發明多階段過濾器的任一具體實施例)。
圖10為一系統的方塊圖,其包含具有本發明多階段過濾器("M B過濾器" 153)具體實施例的編碼器(編碼器150)。圖10的編碼器150與圖5的編碼器150相同,且可由可施行圖5之編碼器150的任何方式來施行。多階段過濾器153可施行本發明多階段過濾器的任何具體實施例。回應於輸入音頻資料樣本,編碼器150產生編碼音頻資
料(表示一或多個輸入音頻通道)並宣告編碼音頻資料至傳遞子系統151。
傳遞子系統151係組態以儲存編碼音頻資料及/或傳輸指示編碼音頻資料的一信號。圖10的子系統151與圖5的子系統151相同,且可由可施行圖5之子系統151的任何方式來施行。
圖10的解碼器252具有耦合以從子系統151接收編碼音頻資料的輸入(例如藉由從子系統151中的儲存讀取或擷取編碼音頻資料、或接收指示已由子系統151傳輸之編碼音頻資料的一信號)。
解碼器252係組態(例如程式化)以(從所接收的編碼位元流)提取表示由多階段過濾器153所處理之音頻資訊之一或多個通道的編碼資料,且將編碼資料解碼以提供音頻資訊之一或多個通道的解碼表示。
根據本發明的一般具體實施例,SIMD指令(或用以藉由ALU或AMU之平行處理的指令)係用以程式化一處理器(例如數位信號處理器或通用處理器)以施行一多階段過濾器。多階段過濾器可實施頻寬限制低通過濾、低通過濾(如在音頻編碼器的LFE子系統中)、高通過濾(如在音頻編碼器的暫態偵測器子系統中)、或其他過濾。
本發明的另一態樣包含組態(程式化)以施行本發明方法之任何具體實施例的系統或裝置(如編碼器、解碼器、或處理器),以及儲存用以施行本發明方法或其步驟之任何具體實施例之程式碼的電腦可讀媒體(如碟片)。舉例來
說,本發明系統可為或可包含可程式化通用處理器、數位信號處理器、或微處理器,其係以軟體或韌體程式化及/或另外的組態以施行在資料上之任何各式的操作,包含本發明方法及其步驟的具體實施例。此一通用處理器可為或可包括具有輸入裝置、記憶體、及程式化(及/或另外的組態)以回應對其宣告的資料而施行本發明方法(或其步驟)具體實施例之處理電路的電腦系統。
本發明的某些具體實施例為編碼器(例如根據Dolby Digital Plus、AC-3、或Dolby E格式來編碼音頻資料的編碼器)或解碼器,其實施為程式化處理器(如ARM neon處理器,其每一者為具有允許平行處理之Neon SIMD引擎的ARM Cortex處理器、或具有SIMD(單一指令、多重資料)單元及/或多重ALU(算數邏輯單元)或AMU(算數操作單元)的其他處理器)或程式化(及/或另外的組態)數位信號處理器(如具有SIMD單元及/或多重ALU或AMU的DSP)。
將根據本發明典型具體實施例之多階段二階過濾器(在單一樣本迴圈中)的所有二階過濾器階段的操作結合係藉由致能平行化而改善了效能。具有SIMD單元及多重ALU(或AMU)的處理器可藉由施行本發明方法的具體實施例而有效使用其資源。
用以施行多階段二階過濾器之本發明方法的典型具體實施例並不會影響輸出的準確性或過濾器的穩定度(相對於過濾器之傳統實作所可達成的準確性及穩定度)。
發明人所完成的測試係顯示組態以根據Dolby Digital
Plus格式編碼音頻資料、並實施為程式化以包含本發明二階段二階過濾器(在編碼器的暫態偵測器子系統中施行高通過濾)之具體實施例的Texas Instruments C64數位信號處理器的一編碼器僅需平均1846循環來過濾音頻資料的典型區塊,相較於當編碼器傳統地程式化為包含二階段過濾器的傳統(非平行化)施行時過濾區塊所需的平均循環數(4141)。
發明人所完成的測試也顯示組態以根據Dolby Digital Plus格式編碼音頻資料、並實施為程式化以包含本發明四階段二階過濾器(在編碼器的低頻效應(LFE)子系統中施行低通過濾)之具體實施例的Texas Instruments C64數位信號處理器的一編碼器僅需平均5802循環來過濾音頻資料的典型區塊,相較於當編碼器傳統地程式化為包含四階段過濾器的傳統(非平行化)施行時過濾區塊所需的平均循環數(10375)。
可預期當本發明的過濾器藉由適當地程式化其它處理器(具有其他核心處理器架構)而施行時,本發明也可提供類似的效能益處。亦可預期效能改善的程度將取決於處理器架構、過濾器階段的數量、及過濾器中的極點數量。
本發明可由硬體、韌體、或軟體、或兩者的結合(如一可程式化邏輯陣列)而實施。除非有另外指明,包含作為本發明部份的演算法或程序並非固有地關聯於任何特定的電腦或其他裝置。特別地,各種通用機器可與根據本文教示而寫下的程式一起使用,或可更便利地建構更特定的
裝置(如積體電路)以施行所需的方法步驟。因此,本發明可施行於在一或多個可程式化電腦系統(例如施行圖5之編碼器的電腦系統)中執行的一或多個電腦程式,其每一包含至少一處理器、至少一資料儲存系統(包含揮發性或非揮發性記憶體及/或儲存元件)、至少一輸入裝置或埠、及至少一輸出裝置或埠。程式碼係應用至輸入資料,以施行本文所述的功能並產生輸出資訊。輸出資訊係以習知方式應用至一或多個輸出裝置。
每一此類程式可以任何所需的電腦語言(包含機器、組合、高階程序、邏輯、或物件導向程式化語言)來施行而與一電腦系統通訊。在任何情況下,語言可為編譯或解譯語言。
舉例來說,當由電腦軟體程式序列所施行,本發明具體實施例的各種功能及步驟可由在適當數位信號處理硬體中運行的多線程軟體指令序列所施行,在此情況中之具體實施例的各種裝置、步驟、及功能可對應軟體指令的部份。
每一此類電腦程式較佳係儲存或下載至可由通用或專用可程式化電腦讀取的儲存媒體或裝置(例如固態記憶體或媒體、或磁性或光學媒體),用以在當儲存媒體或裝置由電腦系統讀取而施行本文所述的程序時組態並操作電腦。本發明系統也可實施為電腦可讀儲存媒體,其以一電腦程式所組態(即儲存),其中如此組態的儲存媒體係造成電腦系統以特定及預定義的方式來施行本文所述的功能。
可預期到,可根據本發明而施行個別階段為IIR過濾器而非二階過濾器(如其在本文所述的特定具體實施例中)的多階段過濾器,使得其個別階段的處理為平行化(例如使得所有其階段可回應於單一、共同指令流而獨立地操作,以完整地施行在該階段之資料的平行化處理)。舉例來說,在2012年1月26日公開之美國專利公開號2012/0019723 A1所述之類型的多階段過濾器可根據本發明具體實施例而修改,使得其個別階段的處理係平行化(例如使得所有其階段可回應於單一、共同指令流而獨立地操作,以完整地施行在該階段之資料的平行化處理)。
在本發明方法的某些具體實施例中,本文所述的某些或所有步驟可同時地施行或以不同於本文所述範例中所指定的順序施行。雖然在本發明方法的某些具體實施例中係以特定的順序來施行步驟,但在其它具體實施例中可同時或以不同順序來施行某些步驟。
已描述了本發明的一些具體實施例。然而,將理解到可在不偏離本發明精神及範疇的情況下做出各種修改。根據上述的教示,本發明的許多修改及變化是可能的。將理解到,在後附申請專利範圍的範疇內,本發明可由不同於本文所具體描述的方式來實行。
150‧‧‧編碼器
151‧‧‧傳遞子系統
152‧‧‧解碼器
153‧‧‧多階段過濾器
154‧‧‧多階段過濾器
155‧‧‧預處理器
156‧‧‧後處理器
157‧‧‧多階段過濾器
158‧‧‧多階段過濾器
Claims (56)
- 一種多階段過濾器,包含:一緩衝器記憶體;至少兩個二階過濾器階段,包含一第一二階過濾器階段以及一後續二階過濾器階段;以及一控制器,耦合至該些二階過濾器階段並組態以宣告(assert)一單一指令流至該第一二階過濾器階段以及該後續二階過濾器階段兩者,其中該第一二階過濾器階段以及該後續二階過濾器階段係獨立且平行地操作以回應該指令流,其中該第一二階過濾器階段係耦合至該記憶體且組態以回應於該指令流而在N個輸入樣本的一區塊上施行雙二次過濾以產生中間值,並宣告該些中間值至該記憶體,其中該些中間值包含該些輸入樣本之至少一子集之每一者的一過濾版本,以及其中該後續二階過濾器階段係耦合至該記憶體且組態以回應於該指令流而在從該記憶體所擷取之緩衝值上施行雙二次過濾以產生輸出值的一區塊,其中該些輸出值包含對應在N個輸入樣本之該區塊中之該些輸入樣本的每一者的一輸出值,且該些緩衝值包含至少某些回應N個輸入樣本之該區塊而產生於該第一二階過濾器階段中的該些中間值。
- 如申請專利範圍第1項所述之多階段過濾器,其中該多階段過濾器係組態以在一單一處理迴圈中施行N個輸 入樣本之該區塊的多階段過濾,其對一樣本指數迭代但不對一雙二次過濾器階段指數迭代。
- 如申請專利範圍第1項所述之多階段過濾器,其中該多階段過濾器具有M個二階過濾器階段,該後續二階過濾器階段係組態以回應從該記憶體所擷取之該些緩衝值的一子集而產生對應該些輸入樣本之第「j」個的一輸出值,其中j為範圍從M-1到N-1的一指數,該子集包含該些輸入樣本之第「j」個的過濾版本、該些輸入樣本之第「j-1」個的過濾版本、以及該些輸入樣本之第「j-2」個的過濾版本。
- 如申請專利範圍第1項所述之多階段過濾器,其中該多階段過濾器具有M個二階過濾器階段,該後續二階過濾器階段係組態以回應從該記憶體所擷取之該些緩衝值的一子集而產生對應該些輸入樣本之第「j」個的一輸出值,其中j為範圍從M-1到N-1的一指數,該子集包含由該第一二階過濾器階段所產生之該些輸入樣本之第「j」個的過濾版本、以及由該後續二階過濾器階段回應該些輸入樣本之第「j-1」個而產生的一數值、以及由該後續二階過濾器階段回應該些輸入樣本之第「j-2」個而產生的一數值。
- 如申請專利範圍第1項所述之多階段過濾器,其中該後續二階過濾器階段係組態以回應從該記憶體所擷取之該些緩衝值的一不同子集而產生對應該些輸入樣本之每一者的一輸出值,每一該子集包括在該第一二階過濾器階段 中產生並在駐存於該記憶體不同的潛伏時間後從該記憶體所擷取之該些中間值的其中至少三個。
- 一種多階段過濾器,包含至少兩個二階過濾器階段,其中該些階段係與該些階段之間的潛時結合,使得所有該些階段可回應一單一、共同的指令流而獨立地操作,以在該些階段中完整地施行資料的平行化處理。
- 如申請專利範圍第6項所述之多階段過濾器,更包含耦合以宣告該共同指令流至所有該些階段的一控制器,以及耦合至所有該些階段的一資料記憶體,其中所有該些階段係平行地操作以回應該共同指令流而過濾輸入資料值之一區塊,但每一該些階段係操作於不同的資料值上,且該些階段之其中至少一者係操作於包括緩衝值的資料值上,該些緩衝值在被擷取以在該些階段之該其中一者中處理之前,係由該些階段之其中另一者所產生以回應該些輸入資料值的一子集並以不同的潛時儲存於該記憶體中。
- 如申請專利範圍第6項所述之多階段過濾器,其中該多階段過濾器具有一單一指令、多重資料架構。
- 如申請專利範圍第8項所述之多階段過濾器,其中該多階段過濾器包含M個二階過濾器階段,其中M為大於一的數目,且該些階段之其中一者可操作於資料值上,該些資料值係由該些階段中的前一者於不同時間所產生、於不同時間儲存於一緩衝器記憶體中、以及在駐存於該緩衝器記憶體不同的潛伏時間後由該些階段之該其中一者從該緩衝器記憶體讀取。
- 一種用以於N個輸入樣本之一區塊上施行多階段過濾的方法,該方法包含以下步驟:(a)在N個輸入樣本的一區塊上施行一第一雙二次過濾操作以產生中間值,且宣告該些中間值至一緩衝器記憶體,其中該些中間值包括該些輸入樣本之至少一子集之每一者的一過濾版本;以及(b)在從該記憶體所擷取之緩衝值上施行一第二雙二次過濾操作以產生輸出值的一區塊,其中該些輸出值包含對應在N個輸入樣本之該區塊中之該些輸入樣本的每一者的一輸出值,該些緩衝值之一不同的子集係擷取並過濾以產生對應在該區塊中之該些輸入樣本之每一者的該輸出值,且該些緩衝值之每一該子集包含在步驟(a)的施行過程中所產生之該些中間值的其中至少兩個,其在駐存於該記憶體不同的潛伏時間後從該記憶體擷取,其中步驟(a)及(b)係施行以回應一單一指令流,使得步驟(a)及(b)係獨立且平行地施行以回應該單一指令流。
- 如申請專利範圍第10項所述之方法,其中輸入樣本之該區塊的多階段過濾係於一單一處理迴圈中施行,其對一樣本指數迭代但不對一雙二次過濾器階段指數迭代。
- 如申請專利範圍第10項所述之方法,其中該多階段過濾係於具有M個階段的一多階段過濾器中對在步驟(b)所擷取之該些緩衝值施行,以產生對應該些輸入樣本之第「j」個的該輸出值,其中j為範圍從M-1到N-1的一指數,其包含在步驟(a)所產生之該些輸入樣本之第「j 」個的過濾版本、在步驟(a)所產生之該些輸入樣本之第「j-1」個的過濾版本、以及在步驟(a)所產生之該些輸入樣本之第「j-2」個的過濾版本。
- 一種組態以回應輸入音頻資料而產生編碼音頻資料之音頻編碼器,該編碼器包含耦合並組態以過濾該音頻資料的至少一多階段過濾器,其中該多階段過濾器包含:一緩衝器記憶體;至少兩個二階過濾器階段,包含一第一二階過濾器階段以及一後續二階過濾器階段;以及一控制器,耦合至該些二階過濾器階段並組態以宣告一單一指令流至該第一二階過濾器階段以及該後續二階過濾器階段兩者,其中該第一二階過濾器階段以及該後續二階過濾器階段係獨立且平行地操作以回應該指令流,其中該第一二階過濾器階段係耦合至該記憶體且組態以回應於該指令流而在N個輸入樣本的一區塊上施行雙二次過濾以產生中間值,並宣告該些中間值至該記憶體,其中該些中間值包含該些輸入樣本之至少一子集之每一者的一過濾版本,以及其中該後續二階過濾器階段係耦合至該記憶體且組態以回應於該指令流而在從該記憶體所擷取之緩衝值上施行雙二次過濾以產生輸出值的一區塊,其中該些輸出值包含對應在N個輸入樣本之該區塊中之該些輸入樣本的每一者的一輸出值,且該些緩衝值包含至少某些回應N個輸入樣本之該區塊而產生於該第一二階過濾器階段中的該些中間 值。
- 如申請專利範圍第13項所述之編碼器,其中該多階段過濾器係組態以在一單一處理迴圈中施行N個輸入樣本之該區塊的多階段過濾,其對一樣本指數迭代但不對一雙二次過濾器階段指數迭代。
- 如申請專利範圍第13項所述之編碼器,其中該多階段過濾器具有M個二階過濾器階段,該後續二階過濾器階段係組態以回應從該記憶體所擷取之該些緩衝值的一子集而產生對應該些輸入樣本之第「j」個的一輸出值,其中j為範圍從M-1到N-1的一指數,該子集包含該些輸入樣本之第「j」個的過濾版本、該些輸入樣本之第「j-1」個的過濾版本、以及該些輸入樣本之第「j-2」個的過濾版本。
- 如申請專利範圍第13項所述之編碼器,其中該多階段過濾器具有M個二階過濾器階段,該後續二階過濾器階段係組態以回應從該記憶體所擷取之該些緩衝值的一子集而產生對應該些輸入樣本之第「j」個的一輸出值,其中j為範圍從M-1到N-1的一指數,該子集包含由該第一二階過濾器階段所產生之該些輸入樣本之第「j」個的過濾版本、以及由該後續二階過濾器階段回應該些輸入樣本之第「j-1」個而產生的一數值、以及由該後續二階過濾器階段回應該些輸入樣本之第「j-2」個而產生的一數值。
- 如申請專利範圍第13項所述之編碼器,其中該後 續二階過濾器階段係組態以回應從該記憶體所擷取之該些緩衝值的一不同子集而產生對應該些輸入樣本之每一者的一輸出值,每一該子集包括在該第一二階過濾器階段中產生並在駐存於該記憶體不同的潛伏時間後從該記憶體所擷取之該些中間值的其中至少三個。
- 如申請專利範圍第13項所述之編碼器,其中該編碼器為包含程式化以實施該多階段過濾器之至少一單一指令、多重資料單元的一處理器。
- 如申請專利範圍第13項所述之編碼器,其中該編碼器為包含程式化以實施該二階過濾器階段之多重算術邏輯單元的一處理器。
- 如申請專利範圍第13項所述之編碼器,其中該編碼器為包含程式化以實施該二階過濾器階段之多重算術操作單元的一處理器。
- 一種組態以回應輸入音頻資料而產生編碼音頻資料之音頻編碼器,該編碼器包含耦合並組態以過濾該音頻資料之至少一多階段過濾器,其中該多階段過濾器包含至少兩個二階過濾器階段,其中該些階段係與該些階段之間的潛時結合,使得所有該些階段可回應一單一、共同的指令流而獨立地操作,以在該些階段中完整地施行資料的平行化處理。
- 如申請專利範圍第21項所述之編碼器,其中該多階段過濾器亦包含耦合以宣告該共同指令流至所有該些階段的一控制器,以及耦合至所有該些階段的一資料記憶體 ,其中所有該些階段係平行地操作以回應該共同指令流而過濾輸入資料值之一區塊,但每一該些階段係操作於不同的資料值上,且該些階段之其中至少一者係操作於包括緩衝值的資料值上,該些緩衝值在被擷取以在該些階段之該其中一者中處理之前,係由該些階段之其中另一者所產生以回應該些輸入資料值的一子集並以不同的潛時儲存於該記憶體中。
- 如申請專利範圍第21項所述之編碼器,其中該多階段過濾器具有一單一指令、多重資料架構。
- 如申請專利範圍第23項所述之編碼器,其中該多階段過濾器包含M個二階過濾器階段,其中M為大於一的數目,且該些階段之其中一者可操作於資料值上,該些資料值係由該些階段中的前一者於不同時間所產生、於不同時間儲存於一緩衝器記憶體中、以及在駐存於該緩衝器記憶體不同的潛伏時間後由該些階段之該其中一者從該緩衝器記憶體讀取。
- 如申請專利範圍第21項所述之編碼器,其中該編碼器為包含程式化以實施該多階段過濾器之至少一單一指令、多重資料單元的一處理器。
- 如申請專利範圍第21所述之編碼器,其中該編碼器為包含程式化以實施該二階過濾器階段之多重算術邏輯單元的一處理器。
- 如申請專利範圍第21項所述之編碼器,其中該編碼器為包含程式化以實施該二階過濾器階段之多重算術操 作單元的一處理器。
- 一種用以編碼音頻資料以產生編碼音頻資料的方法,包含藉由在N個音頻資料樣本的一區塊上施行多階段過濾,其中該多階段過濾包含以下步驟:(a)在N個樣本的一區塊上施行一第一雙二次過濾操作以產生中間值,且宣告該些中間值至一緩衝器記憶體,其中該些中間值包括該N個樣本之至少一子集之每一者的一過濾版本;以及(b)在從該記憶體所擷取之緩衝值上施行一第二雙二次過濾操作以產生輸出值的一區塊,其中該些輸出值包含對應在N個樣本之該區塊中之該些樣本的每一者的一輸出值,該些緩衝值之一不同的子集係擷取並過濾以產生對應在該區塊中之該些樣本之每一者的該輸出值,且該些緩衝值之每一該子集包含在步驟(a)的施行過程中所產生之該些中間值的其中至少兩個,其在駐存於該記憶體不同的潛伏時間後從該記憶體所擷取,其中步驟(a)及(b)係施行以回應一單一指令流,使得步驟(a)及(b)係獨立且平行地施行以回應該單一指令流。
- 如申請專利範圍第28項所述之方法,其中樣本之該區塊的多階段過濾係於一單一處理迴圈中施行,其對一樣本指數迭代但不對一雙二次過濾器階段指數迭代。
- 如申請專利範圍第28項所述之方法,其中該多階段過濾係於具有M個階段的一多階段過濾器中對在步驟(b)所擷取之該些緩衝值施行,以產生對應該些樣本之第 「j」個的該輸出值,其中j為範圍從M-1到N-1的一指數,其包含在步驟(a)所產生之該些樣本之第「j」個的過濾版本、在步驟(a)所產生之該些樣本之第「j-1」個的過濾版本、以及在步驟(a)所產生之該些樣本之第「j-2」個的過濾版本。
- 一種組態以回應編碼音頻資料而產生解碼音頻資料之音頻解碼器,該解碼器包含耦合並組態以過濾該解碼音頻資料的至少一多階段過濾器,其中該多階段過濾器包含:一緩衝器記憶體;至少兩個二階過濾器階段,包含一第一二階過濾器階段以及一後續二階過濾器階段;以及一控制器,耦合至該些二階過濾器階段並組態以宣告一單一指令流至該第一二階過濾器階段以及該後續二階過濾器階段兩者,其中該第一二階過濾器階段以及該後續二階過濾器階段係獨立且平行地操作以回應該指令流,其中該第一二階過濾器階段係耦合至該記憶體且組態以回應於該指令流而在N個輸入樣本的一區塊上施行雙二次過濾以產生中間值,並宣告該些中間值至該記憶體,其中該些中間值包含該些輸入樣本之至少一子集之每一者的一過濾版本,以及其中該後續二階過濾器階段係耦合至該記憶體且組態以回應於該指令流而在從該記憶體所擷取之緩衝值上施行雙二次過濾以產生輸出值的一區塊,其中該些輸出值包含 對應在N個輸入樣本之該區塊中之該些輸入樣本的每一者的一輸出值,且該些緩衝值包含至少某些回應N個輸入樣本之該區塊而產生於該第一二階過濾器階段中的該些中間值。
- 如申請專利範圍第31項所述之解碼器,其中該多階段過濾器係組態以在一單一處理迴圈中施行N個輸入樣本之該區塊的多階段過濾,其對一樣本指數迭代但不對一雙二次過濾器階段指數迭代。
- 如申請專利範圍第31項所述之解碼器,其中該多階段過濾器具有M個二階過濾器階段,該後續二階過濾器階段係組態以回應從該記憶體所擷取之該些緩衝值的一子集而產生對應該些輸入樣本之第「j」個的一輸出值,其中j為範圍從M-1到N-1的一指數,該子集包含該些輸入樣本之第「j」個的過濾版本、該些輸入樣本之第「j-1」個的過濾版本、以及該些輸入樣本之第「j-2」個的過濾版本。
- 如申請專利範圍第31項所述之解碼器,其中該多階段過濾器具有M個二階過濾器階段,該後續二階過濾器階段係組態以回應從該記憶體所擷取之該些緩衝值的一子集而產生對應該些輸入樣本之第「j」個的一輸出值,其中j為範圍從M-1到N-1的一指數,該子集包含由該第一二階過濾器階段所產生之該些輸入樣本之第「j」個的過濾版本、以及由該後續二階過濾器階段回應該些輸入樣本之第「j-1」個而產生的一數值、以及由該後續二階過 濾器階段回應該些輸入樣本之第「j-2」個而產生的一數值。
- 如申請專利範圍第31項所述之解碼器,其中該後續二階過濾器階段係組態以回應從該記憶體所擷取之該些緩衝值的一不同子集而產生對應該些輸入樣本之每一者的一輸出值,每一該子集包括在該第一二階過濾器階段中產生並在駐存於該記憶體不同的潛伏時間後從該記憶體所擷取之該些中間值的其中至少三個。
- 如申請專利範圍第31項所述之解碼器,其中該解碼器為包含程式化以實施該多階段過濾器之至少一單一指令、多重資料單元的一處理器。
- 如申請專利範圍第31項所述之解碼器,其中該解碼器為包含程式化以實施該些二階過濾器階段之多重算術邏輯單元的一處理器。
- 如申請專利範圍第31項所述之解碼器,其中該解碼器為包含程式化以實施該些二階過濾器階段之多重算術操作單元的一處理器。
- 一種組態以回應編碼音頻資料而產生解碼音頻資料之音頻解碼器,該解碼器包含耦合並組態以過濾該編碼音頻資料之至少一多階段過濾器,其中該多階段過濾器包含至少兩個二階過濾器階段,其中該些階段係與該些階段之間的潛時結合,使得所有該些階段可回應一單一、共同的指令流而獨立地操作,以在該些階段中完整地施行資料的平行化處理。
- 如申請專利範圍第39項所述之解碼器,其中該多階段過濾器亦包含耦合以宣告該共同指令流至所有該些階段的一控制器,以及耦合至所有該些階段的一資料記憶體,其中所有該些階段係平行地操作以回應該共同指令流而過濾輸入資料值之一區塊,但每一該些階段係操作於不同的資料值上,且該些階段之其中至少一者係操作於包括緩衝值的資料值上,該些緩衝值在被擷取以在該些階段之該其中一者中處理之前,係由該些階段之其中另一者所產生以回應該些輸入資料值的一子集並以不同的潛時儲存於該記憶體中。
- 如申請專利範圍第39項所述之解碼器,其中該多階段過濾器具有一單一指令、多重資料架構。
- 如申請專利範圍第41項所述之解碼器,其中該多階段過濾器包含M個二階過濾器階段,其中M為大於一的數目,且該些階段之其中一者可操作於資料值上,該些資料值係由該些階段中的前一者於不同時間所產生、於不同時間儲存於一緩衝器記憶體中、以及在駐存於該緩衝器記憶體不同的潛伏時間後由該些階段之該其中一者從該緩衝器記憶體讀取。
- 如申請專利範圍第39項所述之解碼器,其中該解碼器為包含程式化以實施該多階段過濾器之至少一單一指令、多重資料單元的一處理器。
- 如申請專利範圍第39項所述之解碼器,其中該解碼器為包含程式化以實施該些二階過濾器階段之多重算術 邏輯單元的一處理器。
- 如申請專利範圍第39項所述之解碼器,其中該解碼器為包含程式化以實施該些二階過濾器階段之多重算術操作單元的一處理器。
- 一種用以將編碼音頻資料解碼以產生解碼音頻資料的方法,包含藉由在N個音頻資料樣本的一區塊上施行多階段過濾,其中該多階段過濾包含以下步驟:(a)在N個樣本之該區塊上施行一第一雙二次過濾操作以產生中間值,且宣告該些中間值至一緩衝器記憶體,其中該些中間值包括該N個樣本之至少一子集之每一者的一過濾版本;以及(b)在從該記憶體所擷取之緩衝值上施行一第二雙二次過濾操作以產生輸出值的一區塊,其中該些輸出值包含對應在N個樣本之該區塊中之該些樣本之每一者的一輸出值,該些緩衝值之一不同的子集係擷取並過濾以產生對應在該區塊中之該些樣本之每一者的該輸出值,且該些緩衝值之每一該子集包含在步驟(a)的施行過程中所產生之該些中間值的其中至少兩個,其在駐存於該記憶體不同的潛伏時間後從該記憶體擷取,其中步驟(a)及(b)係施行以回應一單一指令流,使得步驟(a)及(b)係獨立且平行地施行以回應該單一指令流。
- 如申請專利範圍第46項所述之方法,其中樣本之該區塊的多階段過濾係於一單一處理迴圈中施行,其對一樣本指數迭代但不對一雙二次過濾器階段指數迭代。
- 如申請專利範圍第46項所述之方法,其中該多階段過濾係於具有M個階段的一多階段過濾器中對在步驟(b)所擷取之該些緩衝值施行,以產生對應該些樣本之第「j」個的該輸出值,其中j為範圍從M-1到N-1的一指數,其包含在步驟(a)所產生之該些樣本之第「j」個的過濾版本、在步驟(a)所產生之該些樣本之第「j-1」個的過濾版本、以及在步驟(a)所產生之該些樣本之第「j-2」個的過濾版本。
- 一種用以處理一編碼位元流的方法,包含:接收該編碼位元流並由此擷取出表示由一多階段過濾器所處理之音頻資訊之一或多個通道的編碼資料,該多階段過濾器包含至少兩個二階過濾器階段,該些階段係與該些階段之間的潛時結合,使得所有該些階段可回應一單一、共同的指令流而獨立地操作,以在該些階段中完整地施行資料的平行化處理;以及解碼該編碼資料以提供由該多階段過濾器所處理之音頻資訊之該一或多個通道的解碼表示。
- 一種用以處理一編碼位元流的方法,包含:接收該編碼位元流並由此擷取出表示由一多階段過濾器所處理之音頻資訊之一或多個通道的編碼資料;以及解碼該編碼資料以提供由該多階段過濾器所處理之音頻資訊之該一或多個通道的解碼表示,其中該多階段過濾器係回應一單一指令流而獨立地且平行地操作以施行:(a)在N個樣本之一區塊上的一第一雙二次過濾操作 ,以產生宣告至一緩衝器記憶體的中間值,其中該些中間值包括該N個樣本之至少一子集之每一者的一過濾版本;以及(b)在從該記憶體所擷取之緩衝值上的一第二雙二次過濾操作,以產生輸出值的一區塊,其中該些輸出值包含對應在N個樣本之該區塊中之該些樣本之每一者的一輸出值,該些緩衝值之一不同的子集係擷取並過濾以產生對應在該區塊中之該樣本之每一者的該輸出值,且該些緩衝值之每一該子集包含在步驟(a)的施行過程中所產生之該些中間值的其中至少兩個,其在駐存於該記憶體不同的潛伏時間後從該記憶體擷取。
- 如申請專利範圍第49項或第50項所述之方法,其中該多階段過濾器為一三階段二階過濾器,用以施行頻寬限制低通過濾。
- 如申請專利範圍第49項或第50項所述之方法,其中該一或多個通道之其中一者為一LFE通道,且該多階段過濾器為一四階段二階過濾器,用以在該LFE通道上施行低通過濾。
- 一種用以處理一編碼位元流的裝置,包含:一輸入,耦合以接收該編碼位元流;以及一解碼器,耦合至該輸入且組態以從該編碼位元流擷取出表示由一多階段過濾器所處理之音頻資訊之一或多個通道的編碼資料,該多階段過濾器包含至少兩個二階過濾器階段,該些階段係與該些階段之間的潛時結合,使得所 有該些階段可回應一單一、共同的指令流而獨立地操作,以在該些階段中完整地施行資料的平行化處理,並解碼該編碼資料以提供由該多階段過濾器所處理之音頻資訊之該一或多個通道的解碼表示。
- 一種用以處理一編碼位元流的裝置,包含:一輸入,耦合以接收該編碼位元流;以及一解碼器,耦合至該輸入並組態以從該編碼位元流擷取出表示由一多階段過濾器所處理之音頻資訊之一或多個通道的編碼資料,並解碼該編碼資料以提供由該多階段過濾器所處理之音頻資訊之該一或多個通道的解碼表示,其中該多階段過濾器係回應一單一指令流而獨立地且平行地操作以施行:(a)在N個樣本之一區塊上的一第一雙二次過濾操作,以產生宣告至一緩衝器記憶體的中間值,其中該些中間值包括該N個樣本之至少一子集之每一者的一過濾版本;以及(b)在從該記憶體所擷取之緩衝值上的一第二雙二次過濾操作,以產生輸出值的一區塊,其中該些輸出值包含對應在N個樣本之該區塊中之該些樣本之每一者的一輸出值,該些緩衝值之一不同的子集係擷取並過濾以產生對應在該區塊中之該些樣本之每一者的該輸出值,且該些緩衝值之每一該子集包含在步驟(a)的施行過程中所產生之該些中間值的其中至少兩個,其在駐存於該記憶體不同的潛伏時間後從該記憶體擷取。
- 如申請專利範圍第53項或第54項所述之裝置,其中該多階段過濾器為一三階段二階過濾器,用以施行頻寬限制低通過濾。
- 如申請專利範圍第53項或第54項所述之裝置,其中該一或多個通道之其中一者為一LFE通道,且該多階段過濾器為一四階段二階過濾器,用以在該LFE通道上施行低通過濾。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261645291P | 2012-05-10 | 2012-05-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201411673A TW201411673A (zh) | 2014-03-16 |
TWI538000B true TWI538000B (zh) | 2016-06-11 |
Family
ID=48430922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102113501A TWI538000B (zh) | 2012-05-10 | 2013-04-16 | 多階段過濾器,音頻編碼器,音頻解碼器,施行多階段過濾的方法,用以編碼音頻資料的方法,用以將編碼音頻資料解碼的方法,及用以處理編碼位元流的方法和裝置 |
Country Status (22)
Country | Link |
---|---|
US (3) | US20160254006A1 (zh) |
EP (1) | EP2847860B1 (zh) |
JP (1) | JP5866062B2 (zh) |
KR (1) | KR101707127B1 (zh) |
CN (1) | CN104272593B (zh) |
AU (1) | AU2013260023B2 (zh) |
BR (1) | BR112014027685B1 (zh) |
CA (1) | CA2872262C (zh) |
DK (1) | DK2847860T3 (zh) |
ES (1) | ES2862999T3 (zh) |
HK (1) | HK1208568A1 (zh) |
HU (1) | HUE053514T2 (zh) |
IL (1) | IL235271B (zh) |
IN (1) | IN2014DN09176A (zh) |
MX (1) | MX338857B (zh) |
MY (1) | MY167846A (zh) |
PL (1) | PL2847860T3 (zh) |
RU (1) | RU2599970C2 (zh) |
SG (1) | SG11201407338SA (zh) |
TW (1) | TWI538000B (zh) |
UA (1) | UA112001C2 (zh) |
WO (1) | WO2013169450A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8515052B2 (en) | 2007-12-17 | 2013-08-20 | Wai Wu | Parallel signal processing system and method |
TWI759652B (zh) * | 2017-03-09 | 2022-04-01 | 美商艾孚諾亞公司 | 用於處理聲學信號的電子網路、用於即時聲學處理的方法及主動雜訊消除音訊裝置 |
RU2716902C1 (ru) * | 2019-07-22 | 2020-03-17 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Омский государственный технический университет" (ОмГТУ) | Многокаскадный биквадратный фильтр |
US11388670B2 (en) * | 2019-09-16 | 2022-07-12 | TriSpace Technologies (OPC) Pvt. Ltd. | System and method for optimizing power consumption in voice communications in mobile devices |
US11165414B2 (en) | 2019-12-20 | 2021-11-02 | Infineon Technologies Ag | Reconfigurable filter network with shortened settling time |
CN113258902B (zh) * | 2021-04-29 | 2022-02-22 | 睿思芯科(深圳)技术有限公司 | 一种处理器、滤波方法及相关设备 |
CN113741972B (zh) * | 2021-08-20 | 2023-08-25 | 深圳市风云实业有限公司 | 一种sm3算法的并行处理方法及电子设备 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63222510A (ja) * | 1987-03-12 | 1988-09-16 | Oki Electric Ind Co Ltd | 多重信号処理装置 |
US5632005A (en) | 1991-01-08 | 1997-05-20 | Ray Milton Dolby | Encoder/decoder for multidimensional sound fields |
KR100228688B1 (ko) | 1991-01-08 | 1999-11-01 | 쥬더 에드 에이. | 다차원 음장용 인코우더/디코우더 |
US5727119A (en) | 1995-03-27 | 1998-03-10 | Dolby Laboratories Licensing Corporation | Method and apparatus for efficient implementation of single-sideband filter banks providing accurate measures of spectral magnitude and phase |
US6175849B1 (en) * | 1998-02-10 | 2001-01-16 | Lucent Technologies, Inc. | System for digital filtering in a fixed number of clock cycles |
US7933341B2 (en) | 2000-02-28 | 2011-04-26 | Broadcom Corporation | System and method for high speed communications using digital signal processing |
US20020049799A1 (en) | 2000-10-24 | 2002-04-25 | Minsheng Wang | Parallel implementation for digital infinite impulse response filter |
US6836839B2 (en) * | 2001-03-22 | 2004-12-28 | Quicksilver Technology, Inc. | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements |
US7290021B2 (en) | 2001-04-24 | 2007-10-30 | California Institute Of Technology | Method and apparatus for parallel signal processing |
AU2003230132A1 (en) * | 2002-05-30 | 2003-12-19 | Koninklijke Philips Electronics N.V. | Audio coding |
CA2389969A1 (en) | 2002-06-25 | 2003-12-25 | John W. Bogdan | Digital signal processing of multi-sampled phase |
US7152084B2 (en) | 2002-11-08 | 2006-12-19 | Socovar, S.E.C. | Parallelized infinite impulse response (IIR) and integrator filters |
US6873280B2 (en) | 2003-06-12 | 2005-03-29 | Northrop Grumman Corporation | Conversion employing delta-sigma modulation |
US7159002B2 (en) * | 2003-08-29 | 2007-01-02 | Texas Instruments Incorporated | Biquad digital filter operating at maximum efficiency |
US7411444B2 (en) | 2003-11-13 | 2008-08-12 | Texas Instruments Incorporated | Technique for improving antialiasing and adjacent channel interference filtering using cascaded passive IIR filter stages combined with direct sampling and mixing |
US7747666B2 (en) | 2004-08-09 | 2010-06-29 | L-3 Communications Corporation | Parallel filter realization for wideband programmable digital radios |
US7421050B2 (en) | 2004-10-14 | 2008-09-02 | Agere Systems Inc. | Parallel sampled multi-stage decimated digital loop filter for clock/data recovery |
US7319580B2 (en) | 2005-03-29 | 2008-01-15 | Intel Corporation | Collapsing zipper varactor with inter-digit actuation electrodes for tunable filters |
WO2008097595A2 (en) * | 2007-02-07 | 2008-08-14 | The Governors Of The University Of Alberta | Signal filtering and filter design techniques |
JP5059508B2 (ja) * | 2007-07-26 | 2012-10-24 | ルネサスエレクトロニクス株式会社 | マイクロプロセッサ |
TW200919521A (en) | 2007-10-16 | 2009-05-01 | Inpaq Technology Co Ltd | Chip-type feedthrough filter with over-voltage protection function |
TWI538394B (zh) | 2009-04-10 | 2016-06-11 | 杜比實驗室特許公司 | 利用順逆向濾波方式獲取所欲非零相移之技術 |
JP5540211B2 (ja) * | 2010-04-06 | 2014-07-02 | 株式会社コルグ | 1ビットオーディオ信号用イコライズ装置 |
RU2436228C1 (ru) * | 2010-04-21 | 2011-12-10 | Андрей Александрович Костоглотов | Цифровой интеллектуальный многокаскадный фильтр |
-
2013
- 2013-04-16 TW TW102113501A patent/TWI538000B/zh active
- 2013-04-17 JP JP2015510305A patent/JP5866062B2/ja active Active
- 2013-04-17 MY MYPI2014003117A patent/MY167846A/en unknown
- 2013-04-17 UA UAA201412039A patent/UA112001C2/uk unknown
- 2013-04-17 HU HUE13722617A patent/HUE053514T2/hu unknown
- 2013-04-17 BR BR112014027685-4A patent/BR112014027685B1/pt active IP Right Grant
- 2013-04-17 DK DK13722617.1T patent/DK2847860T3/da active
- 2013-04-17 AU AU2013260023A patent/AU2013260023B2/en active Active
- 2013-04-17 RU RU2014144746/08A patent/RU2599970C2/ru active
- 2013-04-17 SG SG11201407338SA patent/SG11201407338SA/en unknown
- 2013-04-17 PL PL13722617T patent/PL2847860T3/pl unknown
- 2013-04-17 US US13/909,723 patent/US20160254006A1/en not_active Abandoned
- 2013-04-17 EP EP13722617.1A patent/EP2847860B1/en active Active
- 2013-04-17 KR KR1020147030205A patent/KR101707127B1/ko active IP Right Grant
- 2013-04-17 WO PCT/US2013/036932 patent/WO2013169450A1/en active Application Filing
- 2013-04-17 CN CN201380024378.9A patent/CN104272593B/zh active Active
- 2013-04-17 ES ES13722617T patent/ES2862999T3/es active Active
- 2013-04-17 MX MX2014013481A patent/MX338857B/es active IP Right Grant
- 2013-04-17 CA CA2872262A patent/CA2872262C/en active Active
- 2013-10-21 US US14/058,498 patent/US9076449B2/en active Active
-
2014
- 2014-10-22 IL IL235271A patent/IL235271B/en active IP Right Grant
- 2014-11-01 IN IN9176DEN2014 patent/IN2014DN09176A/en unknown
-
2015
- 2015-07-06 US US14/791,620 patent/US9324335B2/en active Active
- 2015-09-18 HK HK15109194.8A patent/HK1208568A1/zh unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI538000B (zh) | 多階段過濾器,音頻編碼器,音頻解碼器,施行多階段過濾的方法,用以編碼音頻資料的方法,用以將編碼音頻資料解碼的方法,及用以處理編碼位元流的方法和裝置 | |
KR101206000B1 (ko) | Mpeg-4 als vlsi 구현을 위한 저복잡도 가변 차수 단기 예측기 | |
JP7202545B2 (ja) | オーディオ信号を処理するための方法および装置、オーディオデコーダならびにオーディオエンコーダ | |
JP6772233B2 (ja) | 情報符号化のコンセプト | |
RU2323469C2 (ru) | Устройство и способ для обработки, по меньшей мере, двух входных значений | |
US8200730B2 (en) | Computing circuits and method for running an MPEG-2 AAC or MPEG-4 AAC audio decoding algorithm on programmable processors | |
US9425820B2 (en) | Vector quantization with non-uniform distributions | |
US11581000B2 (en) | Apparatus and method for encoding/decoding audio signal using information of previous frame | |
CN101025919B (zh) | 音频解码中的合成子带滤波方法和合成子带滤波器 | |
KR20070015790A (ko) | 프로그래머블 프로세서에서 mpeg-2 또는 mpeg-4aac 오디오 복호 알고리즘을 처리하기 위한 연산 회로및 연산 방법 | |
WO2023198862A1 (en) | Time-domain gain modeling in the qmf domain | |
AU2022418124A1 (en) | Ivas spar filter bank in qmf domain | |
JP2014511064A (ja) | 待ち時間が減少したカスケードデジタルフィルタ | |
CN115497488A (zh) | 一种语音滤波方法、装置、存储介质及设备 | |
Derpich et al. | Optimal AD-Conversion via Sampled-Data Receding Horizon Control Theory |