TWI382768B - 具有執行重疊濾波以及核心轉換的運算方法及其裝置 - Google Patents
具有執行重疊濾波以及核心轉換的運算方法及其裝置 Download PDFInfo
- Publication number
- TWI382768B TWI382768B TW97110416A TW97110416A TWI382768B TW I382768 B TWI382768 B TW I382768B TW 97110416 A TW97110416 A TW 97110416A TW 97110416 A TW97110416 A TW 97110416A TW I382768 B TWI382768 B TW I382768B
- Authority
- TW
- Taiwan
- Prior art keywords
- conversion
- core
- overlap
- filtering
- array
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Discrete Mathematics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
本發明是有關於一種資料處理裝置與其運算方法,且特別是有關於一種同時實現重疊濾波以及核心轉換的裝置及其運算方法。
靜態影像壓縮通常包括了三大步驟:轉換(transform),量化(quantization),和熵編碼(entropy coding)。在傳統的JPEG標準中,請參照圖1,使用了以8乘8區塊為獨立轉換單位的離散餘弦轉換(Discrete Cosine Transform,DCT)。雖然DCT之轉換具有良好的能量壓縮特性,其可得到近似最佳資料的壓縮。但是仍然無法避免切割成區塊的邊緣轉換後產生的區塊效應(Block Effect)。
美國微軟(Microsoft)公司針對此點推出了一個新的靜態影像壓縮格式,稱為HD Photo格式,目前已進入JPEG國際標準製訂過程中,目前名稱為JPEG-XR。此HD Photo格式為了減少獨立區塊轉換帶來的區塊效應,使用了以4乘4區塊為單位的重疊轉換(Lapped Transform,LT),其中先對4乘4區塊交接處的4乘4區塊進行重疊濾波(Overlap Filter),再對4乘4區塊進行核心轉換(Core Transform),重疊濾波與核心轉換皆使用了提昇式結構(Lift)來確保無失真壓縮的可能性。
請參照圖2,為美國專利申請案第2006/013682號公開案「Reversible Overlap Operator For Efficient Lossless Data Compression」,此為美國微軟(Microsoft)公司所推出的HD Photo格式,先將例如圖示的2維(2-D)輸入資料進行分割(Tiling),而後為了減少獨立區塊轉換帶來的區塊效應,因此先進行重疊轉換,如圖所示的向前重疊(Forward Overlap)濾波轉換。而後再對原切割的區塊進行區塊轉換,也就是HD Photo格式的核心轉換(HD Photo Core Transform,PCT),可以取得一個DC參數(DC coefficient)與十五個AC參數(AC coefficients)。而此HD Photo格式採用兩階式的轉換,因此再將DC值集合成區塊,並再次進行重疊濾波轉換與區塊轉換。
上述重疊濾波轉換與核心轉換皆使用了提昇式(Lifting)結構來確保無失真(Lossless)壓縮的可能性。由於提昇式結構每一步驟都是完全可逆(Reversible),若編碼過程採取無失真的壓縮轉換領域的信號,則在解碼時先進行逆核心轉換,再進行逆重疊濾波轉換,就可得到一模一樣的原圖。在HD Photo格式可自行選擇是否進行第一階的重疊濾波轉換與第二階的重疊濾波轉換。得到的DC參數與AC參數經過量化(Quantization)與熵編碼(Entropy Coding)處理後,經過封包化(Packetization)後即可得到壓縮位元流(Compressed Bitstream)。
請參照圖3A,為說明根據HD Photo格式的重疊濾波轉換示意圖。將獨立區塊使用了4x4區塊為單位的重疊轉換,先將圖像分割為4乘4的區塊,如標號310所標示的實心線部分。接著再對各4x4區塊的交接處進行重疊濾波(Overlap Filter)轉換,例如在圖像邊緣處進行4乘1的濾波轉換(如圖中標號330所示的4x1 filter),而圖像的內部則進行4乘4的濾波轉換,如圖中標號320所示的4x4 filter。
接著如圖3B所示,經過重疊濾波轉換後,再對原切割出的4乘4區塊進行核心轉換(如圖所示的4x4 PCT),每4乘4區塊可得出一個DC值和十五個AC值。HD Photo採用兩階式的轉換,因此將DC值再集合成4乘4區塊,並再進行一次重疊濾波。在HD Photo格式可自行選擇是否進行第一階的重疊濾波與第二階的重疊濾波。
此提昇式重疊轉換比傳統離散餘弦轉換需要更複雜並多次的資料讀取與寫入,為解決此問題,中華民國專利申請案號95128032(對應美國專利公開案第2007/0036225A1號)提出將信號順序重排以方便單一指令多重資料處理器(SIMD)運算的方法,如圖3A和圖3B所示,不同區塊的4乘4重疊濾波和4乘4核心轉換之間會有2乘2的重疊處,但此方法較適合用於以單一指令多重資料(SIMD)運算的處理器為主的實現方法。
上述傳統的架構中,都是必須先完成重疊濾波後,再接著進行核心轉換。如圖3A與3B所示,先經4乘4與4乘1的重疊濾波轉換後,再對原切割出的4乘4區塊進行核心轉換。對於處理所需時間與效率上,存在可以改善的空間。
本發明提供一種具有重疊濾波以及核心轉換的裝置,包括第一選擇多工器、轉換運算模組陣列、第二選擇多工器、暫存器陣列與控制信號產生器。此第一選擇多工器用以接收多埠輸入資料。此轉換運算模組陣列連接到第一選擇多工器,用以接收第一選擇多工器的多埠輸出。第二選擇多工器連接到轉換運算模組陣列,用以接收轉換運算模組陣列的多埠運算結果的輸出與多埠輸入資料。而暫存器陣列具有多個暫存器,此暫存器陣列連接到第二選擇多工器,用以接收第二選擇多工器的多埠輸出,並將接收的資料暫存在部分暫存器中,而此第一選擇多工器與第二選擇多工器皆用以讀取暫存器陣列的暫存器的儲存值。而上述控制信號產生器,根據重疊濾波與核心轉換的排程產生多個控制信號,用以控制第一選擇多工器、轉換運算模組陣列、第二選擇多工器與暫存器陣列。此控制信號產生器控制第一選擇多工器選擇多埠輸入資料與暫存器陣列的部分暫存器的儲存值,其中之部分資料輸入轉換運算模組陣列。另外,控制信號產生器控制第二選擇多工器選擇多埠輸入資料、轉換運算模組陣列輸出的多埠運算結果、以及暫存器陣列的部分暫存器的儲存值,並據以輸出到暫存器陣列儲存。
本發明提供一種執行重疊濾波以及核心轉換的運算方法,適用於多埠資料處理裝置。此多埠資料處理裝置包括轉換運算模組陣列,用以接收多埠輸入資料,並經由轉換運算模組陣列計算後暫存到暫存器陣列。此方法包括根據重疊濾波與核心轉換的排程產生多個控制信號。根據些控制信號控制選擇部分多埠輸入資料與暫存器陣列的部分儲存值,輸入轉換運算模組計算。根據控制信號控制,選擇部分多埠輸入資料、轉換運算模組陣列輸出的多埠運算結果、以及暫存器陣列的部分儲存值,輸出到暫存器陣列儲存。根據重疊濾波與核心轉換的排程,將轉換運算模組陣列輸出的部分多埠運算結果,以多埠方式輸出。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。
本發明提供了一個可同時實現重疊濾波以及核心轉換的硬體實現方法,並且可以依不同的規格、製程、和操作頻率等等做出相對應的變化。本發明利用轉換層級的硬體共享(Transform-level Hardware Sharing),以及多埠進出的暫存器陣列,有效率地實現重疊濾波與核心轉換。
本發明提供了一個有效實現提昇式重疊轉換與核心轉換的硬體架構,在其中一個實施例中,可依照圖4所示的硬體架構加以實現。此硬體架構400為可同時實現重疊濾波以及核心轉換的硬體裝置,包括多埠輸入的資料輸入端402、多工選擇器(MUX)410與430、多埠資料輸出入的轉換運算模組陣列420、多埠資料輸出入的暫存器陣列440、多埠輸出的資料輸出端404、與一個控制訊號產生器450。上述的轉換運算模組陣列420包括了重疊轉換中所需要的運算,可充分重覆使用重疊濾波和核心轉換間相同或類似的運算,其中的暫存器陣列440則提供極具彈性的暫存資料讀取與存入的功能,以利於完成整個複雜的重疊轉換。
上述可充分重覆使用重疊濾波和核心轉換間相同或類似的運算的轉換運算模組陣列420,可用以完成符合HD Photo格式中的重疊轉換的所有運算,包括了重疊濾波運算、邊緣的重疊濾波運算、核心轉換、用於DC值的核心轉換、以及所有相對應的逆轉換運算。上述的運算均符合HD Photo格式,也就是JPEG-XR格式所需要的重疊濾波運算以及核心轉換運算,是以硬體的方式實現,並可以同時實現,而依不同的規格、製程、和操作頻率等等做出相對應的變化。
在實施例中,例如圖5所示,為轉換運算模組陣列的一種較佳實施例的電路結構示意圖。而此電路結構500除了包括多埠輸入的資料輸入端502、多工選擇器(MUX)510與530、8埠4x4暫存器陣列540、多埠輸出的資料輸出端504與控制訊號產生器550之外,還包括了多埠資料輸出入的轉換運算模組陣列520。而此轉換運算模組陣列520內含多個運算單元,例如子函式如T_h1、T_odd2_pipe、Ovp_scale、T_h2、T_odd與Ovp_4x1_pipe等等子函式運算單元。這些子函式運算單元代表對於四個或兩個輸入信號的一連串運算。以此4x4重疊濾波運算與4x4核心轉換運算為例,由於其中有許多很類似但非完全相同的運算,因此可利用資料的處理順序而重覆使用重疊濾波和核心轉換間相同或類似的運算,達到節省運算單元的成本。
請參照圖6,為4乘4重疊濾波運算與4乘4核心轉換運算資料示意圖,其中包括資料D、E、F、G虛線區域620的重疊濾波運算,以及資料A、B、C、D實線區域610的核心轉換運算。利用圖5的電路結構500對圖6之重疊濾波運算與核心轉換運算,可以控制在17個運算週期(Cycle)即可完成。
上述4乘4重疊濾波和4乘4核心轉換的輸入皆如圖7所示之4乘4信號,包括“a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p”等資料。而詳細函式運算內容分別如圖8和圖9所示,其中每一個子函式如T_h、T_h_pre、Ovp_rotate和Ovp_scale等等,皆代表對上述輸入資料其中四個或是兩個的一連串運算,如T_h_pre(a,d,m,p,0)就是對“a,d,m,p”四個輸入資料進行運算,而Ovp_scale(a,p)就是對“a,p”兩個輸入資料進行運算。而上述運算子函式的詳細運算內容,可參照如美國專利申請案第2006/0133683號公開案「Reversible Transform for lossy and lossless 2-D Data Compression」內所提到不同的運算子函式內容。或是參照美國專利申請案第2006/0133684號公開案「Reversible 2-Dimensional Pre-/Post-Filtering For Lapped Biorthogonal Transform」內所提到不同的運算子函式內容。
而上述的運算均符合HD Photo格式,也就是JPEG-XR格式所需要的重疊濾波運算以及核心轉換運算,例如T_h的運算如圖10所示,4乘4重疊濾波和4乘4核心轉換中有一些很類似但非完全相同的運算,如T_h和T_h_pre以及T_odd2和T_odd2_pre。
底下將根據本發明實施例圖5的電路結構500,說明針對圖6所示之輸入信號所進行的運算。
圖5中的T_h1運算單元和T_h2運算單元可用一個週期完成T_h或T_h_pre所需之運算,T_odd2_pipe運算單元可用兩個週期完成T_odd2或T_odd2_pre所需之運算,Ovp_scale運算單元可用一個週期完成Ovp_scale所需之運算,T_odd運算單元可用一個週期完成T_odd所需之運算,Ovp_4x1_pipe運算單元可用四個週期完成邊緣的4乘1重疊濾波或用一個週期完成Ovp_rotate所需之運算,如上所述,使用17個週期就可以完成如圖6之一個4乘4重疊濾波和4乘4核心轉換的排程,其中,由於輸出入埠的數量為8埠,因此,傳輸資料在一個週期內可以輸入達到8個信號,可以同時有兩個運算單元進行運算,在一個週期內暫存8個信號,在一個週期內輸出8個信號,而其它重疊轉換和逆重疊轉換的運算皆可用同樣的排程概念完成。
底下將具體說明第0個週期到第16個週期,總共17個週期完成4乘4重疊濾波和4乘4核心轉換的詳細排程,並請對應參考圖11A~圖11D。
首先,請參照圖11A,在第0個週期(Cycle)時,在輸入端輸入如圖8中4x4重疊濾波運算所需的資料a、d、m、p、b、c、n與o,而由圖5的電路結構500中具有多埠資料輸出入的轉換運算模組陣列520,以T_h1運算單元或T_h2運算單元在此週期內,完成T_h或T_h_pre所需之運算,例如T_h1運算單元計算T_h_pre(a,d,m,p,0),而T_h2運算單元進行T_h_pre(b,c,n,o,0)的計算。此時,Th1運算單元的計算結果將儲存在暫存器陣列中的暫存器位置0,3,12,15之處,而T_h2運算單元的計算結果將儲存在暫存器陣列中的暫存器位置1,2,13,14之處。目前輸出端的多埠輸出並沒有任何結果。
在第1個週期(Cycle)時,輸入端輸入資料e、h、i、l、f、g、j與k,而由轉換運算模組陣列520,以T_h1運算單元進行T_h_pre(e,h,i,l,0)的運算,而由T_h2運算單元進行T_h_pre(f,g,j,k,0)的運算。此時,T_h1運算單元的計算結果將儲存在暫存器陣列中的暫存器位置5,6,9,10之處,而T_h2運算單元的計算結果將儲存在暫存器陣列中的暫存器位置4,7,8,11之處。目前輸出端的多埠輸出並沒有任何結果。
在第2個週期(Cycle)時,並不需要輸入任何資料,而轉換運算模組陣列520的Ovp_scale運算單元進行Ovp_Scale(R[0],R[15])的運算,而Ovp_4x1_pipe運算單元進行Ovp_Rotate(R[13],R[12])的運算,其中R[0],R[15],R[13],R[12]分別為暫存器陣列中暫存器的值。此時,Ovp_scale運算單元的運算結果將儲存在暫存器陣列中的暫存器位置0,15之處,而Ovp_4x1_pipe運算單元的運算結果將儲存在暫存器位置13,12之處。目前輸出端的多埠輸出並沒有任何結果。
在第3個週期(Cycle)時,並不需要輸入任何資料,而轉換運算模組陣列520的Ovp_scale運算單元進行Ovp_Scale(R[5],R[10])的運算,而Ovp_4x1_pipe運算單元則進行Ovp_Rotate(R[9],R[8])的運算。此時,Ovp_scale運算單元的運算結果將儲存在暫存器陣列中的暫存器位置5,10之處,而Ovp_4x1_pipe運算單元的運算結果將儲存在暫存器位置9,8之處。目前輸出端的多埠輸出並沒有任何結果。
在第4個週期(Cycle)時,並不需要輸入任何資料,而轉換運算模組陣列520的Ovp_scale運算單元進行Ovp_Scale(R[1],R[14])的運算,而Ovp_4x1_pipe運算單元則進行Ovp_Rotate(R[7],R[3])的運算。此時,Ovp_scale運算單元的運算結果將儲存在暫存器陣列中的暫存器位置1,14之處,而Ovp_4x1_pipe運算單元的運算結果將儲存在暫存器位置7,3之處。目前輸出端的多埠輸出並沒有任何結果。
請參照圖11B,在第5個週期(Cycle)時,並不需要輸入任何資料,而轉換運算模組陣列520的Ovp_scale運算單元進行Ovp_Scale(R[4],R[11])的運算,而Ovp_4x1_pipe運算單元則進行Ovp_Rotate(R[6],R[2])的運算。此時,Ovp_scale運算單元的運算結果將儲存在暫存器陣列中的暫存器位置4,11之處,而Ovp_4x1_pipe運算單元的運算結果將儲存在暫存器位置6,2之處。目前輸出端的多埠輸出並沒有任何結果。
在第6個與第7個週期(Cycle)時,並不需要輸入任何資料,而T_odd2_pipe運算單元可用此兩個週期完成T_odd2所需之運算,例如在第6週期,進行T_odd2(R[10],R[11],R[14],R[15])第一週期的運算,並將結果存在暫存器位置10,11,14,15之處,而在第7週期,則接著進行T_odd2(R[10],R[11],R[14],R[15])第二週期的運算,並將結果存在暫存器位置10,11,14,15之處。目前輸出端的多埠輸出並沒有任何結果。
接著,在第8個週期(Cycle)時,並不需要輸入任何資料,而以T_h1運算單元進行T_h(R[0],R[3],R[12],R[15],0)的運算,而由T_h2運算單元進行T_h(R[1],R[2],R[13],R[14],0)的運算。此時,T_h1運算單元的計算結果將儲存在暫存器陣列中的暫存器位置0,3,12,15之處,而T_h2運算單元的計算結果將儲存在暫存器陣列中的暫存器位置1,2,13,14之處。目前輸出端的多埠輸出並沒有任何結果。
請參照圖11C,在第9個週期(Cycle)時,並不需要輸入任何資料,而以T_h1運算單元進行T_h(R[5],R[6],R[9],R[10],0)的運算,而由T_h2運算單元進行T_h(R[4],R[7],R[8],R[11],0)的運算。此時,T_h1運算單元的計算結果將儲存在暫存器陣列中的暫存器位置5,6,9,10之處,而T_h2運算單元的計算結果將儲存在暫存器陣列中的暫存器位置4,7,8,11之處。目前輸出端的多埠輸出並沒有任何結果。
在第10個週期(Cycle)時,輸入端輸入如圖6的4x4 PCT核心轉換所需B與C部分的8個信號。此時不需要進行運算單元的運算,而在暫存器陣列中,暫存B部份4個信號於位置2,3,6,7,暫存C部份4個信號於位置8,9,12,13。此時,輸出端同時輸出R[2],R[3],R[6],R[7]到外部暫存對應於圖6中E部份的地方,輸出R[8],R[9],R[12],R[13]於外部暫存對應於圖6中F部份的地方。
接著在第11個週期(Cycle)時,輸入端輸入如圖6的4x4 PCT核心轉換所需A部分的4個信號。此時不需要進行運算單元的運算,而在暫存器陣列中,暫存A部份4個信號於位置0,1,4,5,暫存原來的R[0],R[1],R[4],R[5]於位置10,11,14,15之處。此時輸出端則輸出R[10],R[11],R[14],R[15]於外部對應於暫存圖6中G部份的地方。
接著在第12個週期(Cycle)時,並不需要輸入任何資料,而以T_h1運算單元進行T_h(R[0],R[3],R[12],R[15],0)的運算,而由T_h2運算單元進行T_h(R[1],R[2],R[13],R[14],0)的運算。此時,T_h1運算單元的計算結果將儲存在暫存器陣列中的暫存器位置0,3,12,15之處,而T_h2運算單元的計算結果將儲存在暫存器陣列中的暫存器位置1,2,13,14之處。目前輸出端的多埠輸出並沒有任何結果。
請接著參照圖11D,在第13個週期(Cycle)時,並不需要輸入任何資料,而以T_h1運算單元進行T_h(R[5],R[6],R[9],R[10],0)的運算,而由T_h2運算單元進行T_h(R[4],R[7],R[8],R[11],0)的運算。此時,T_h1運算單元的計算結果將儲存在暫存器陣列中的暫存器位置5,6,9,10之處,而T_h2運算單元的計算結果將儲存在暫存器陣列中的暫存器位置4,7,8,11之處。目前輸出端的多埠輸出並沒有任何結果。
在第14個週期(Cycle)時,並不需要輸入任何資料,而以T_h1運算單元進行T_h(R[0],R[1],R[4],R[5],1)的運算,而由T_odd運算單元進行T_odd(R[2],R[3],R[6],R[7])的運算。此時,暫存器陣列並無任何操作,而輸出端則輸出T_h1和T_odd的結果(PCT運算結果)至後續處理單元。
接著在第15個與第16個週期(Cycle)時,並不需要輸入任何資料,而T_odd2_pipe運算單元可用此兩個週期完成T_odd2所需之運算,例如在第15週期,進行T_odd2(R[10],R[11],R[14],R[15])第一週期的運算,並將結果存在暫存器位置10,11,14,15之處,而在第16週期,則接著由T_odd2_pipe運算單元進行T_odd2(R[10],R[11],R[14],R[15])第二週期的運算,並且同時由T_odd運算單元進行T_odd(R[8],R[12],R[9],R[13])的運算,接著由輸出端將T_odd2_pipe運算單元和T_odd運算單元的運算結果(PCT運算結果)輸出並傳送到後續處理單元。
以上具體說明利用圖5的電路結構500中,具有多埠資料輸出入的轉換運算模組陣列520,其所具有的T_h1、T_odd2_pipe、Ovp_scale、T_h2、T_odd與Ovp_4x1_pipe函式運算單元,即可利用17個週期,完成4乘4重疊濾波和4乘4核心轉換的詳細排程。此實施例充分說明,可同時實現重疊濾波以及核心轉換的硬體實現方法,並且可以依不同的規格、製程、和操作頻率等等做出相對應的變化。本發明利用轉換層級的硬體共享(Transform-level Hardware Sharing),以及多埠進出的暫存器陣列,有效率地實現重疊濾波與核心轉換。
如圖6的資料D、E、F、G虛線區域620的重疊濾波運算,以及資料A、B、C、D實線區域610的核心轉換運算,若是採用傳統的架構,都是必須先完成重疊濾波後,再接著進行核心轉換。但是,如上述以圖5之電路結構500,對圖6之重疊濾波運算與核心轉換運算,可先完成資料D的重疊濾波運算,以及資料A、B、C的核心轉換運算,再接著進行資料D的核心轉換運算,如此,可以控制在17個運算週期即可完成,也就是只需調整轉換運算模組陣列520內多個函式運算單元的資料處理排程,並且搭配多埠進出的暫存器陣列,以及多埠輸入端與輸出端的資料傳送,即可達成上述同時實現重疊濾波以及核心轉換的硬體實現方法。
上述實施例中的電路結構,包括多個運算單元,是用以完成HD Photo格式中,編碼時所需要的重疊濾波轉換運算或解碼所需要的逆重疊轉換運算。而提到的第一選擇多工器、轉換運算模組陣列、第二選擇多工器與暫存器陣列的資料輸出或是輸入埠的數量至少為四。
而若是用於HD Photo格式的編碼時,多埠輸入資料為欲壓縮的原始圖像資料、或是第一階核心轉換之DC參數值,或已進行重疊濾波轉換,但未經核心轉換的信號。
而若是用於HD Photo格式的解碼時,多埠輸入資料為欲進行第一階或第二階逆轉換之重疊轉換信號或已進行逆核心轉換但未經逆重疊濾波轉換的信號。
本發明的另一種實施例,為合併圖5中的運算單元至一個週期最多只有一個運算單元運算、最多在一個週期內輸入4個信號、最多在一個週期內暫存4個信號、最多在一個週期內輸出4個信號,如此可以減少硬體成本,但會增加運算的週期數。此具體實施例可參照圖12所示所示,並參照圖5一併說明。如上所述,將圖5具有多埠資料輸出入的轉換運算模組陣列520中的運算單元T_h1和T_odd2_pipe運算單元合併,而將T_h2和T_odd運算單元合併,將Ovp_scale和Ovp_4x1_pipe運算單元合併。因此,此電路結構1200除了包括多埠輸入的資料輸入端1202、多工選擇器(MUX)1210與1230、多埠輸出的資料輸出端1204與控制訊號產生器1250之外,還包括了只需要4埠的4x4暫存器陣列1240,以及多埠資料輸出入的轉換運算模組陣列1220。而此轉換運算模組陣列1220內含的運算單只需要三個,包括具有處理T_h1和T_odd2_pipe運算功能的運算單元、具有處理Ovp_scale和Ovp_4x1_pipe運算功能的運算單元、以及具有處理T_h2和T_odd運算功能的運算單元。
而圖11完成4乘4重疊濾波和4乘4核心轉換的詳細排程則可以直接改成一個週期內最多只輸出和輸入四個信號,一個週期內最多只有一個運算單元在運算,例如第0週期可輸入a,d,m,p,而T_h1進行T_h_pre(a,d,m,p,0),暫存T_h1結果於暫存器陣列位置0,3,12,15;而第1週期輸入b,c,n,o,T_h2進行T_h_pre(b,c,n,o,0),暫存T_h2結果於暫存器陣列位置1,2,13,14,如此類推可得出全部的排程。
本發明的另一種實施例,為合併圖5中的某些運算單元以共用之間的硬體,如加法器或減法器等,如此可以減少硬體成本,但共用所帶來的多工選擇器也會增加硬體成本,而且會增加硬體的臨界路徑(Critical Path)。例如圖11的排程中圖5裡的T_odd2_pipe和T_h1都沒有在同一個週期一起動作過,所以可如圖13所示,此電路結構1300除了包括多埠輸入的資料輸入端1302、多工選擇器(MUX)1310與1330、8埠4x4暫存器陣列1340、多埠輸出的資料輸出端1304與控制訊號產生器1350之外,還包括了多埠資料輸出入的轉換運算模組陣列1320。而此轉換運算模組陣列1320內含多個運算單元,例如具有處理T_h1或T_odd2_pipe運算功能的運算單元、具有處理Ovp_scale運算功能的運算單元、具有處理T_h2運算功能的運算單元、具有處理T_odd運算功能的運算單元、與具有處理Ovp_4x1_pipe運算功能的運算單元等。
上述的電路結構1300,主要是將運算單元Th1和T_odd2_pipe合併成一個運算單元,一樣可用圖11的排程完成所有運算,然而合併的動作必需在T_h1和T_odd2_pipe原有的加減法器間安插多個多工選擇器,如此會讓該運算單元的臨界路徑變長,也就可能造成時脈一個週期的時間也必需變長。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
400...硬體架構
402...多埠輸入的資料輸入端
404...多埠輸出的資料輸出端
410、430...多工選擇器(MUX)
420...多埠資料輸出入的轉換運算模組陣列
440...多埠資料輸出入的暫存器陣列
450...控制訊號產生器
500...電路結構
502...多埠輸入的資料輸入端
504...多埠輸出的資料輸出端
510、530...多工選擇器(MUX)
540...8埠4x4暫存器陣列
550...控制訊號產生器
1200...電路結構
1202...多埠輸入的資料輸入端
1204...多埠輸出的資料輸出端
1210、1230...多工選擇器(MUX)
1240...4埠4x4暫存器陣列
1250...控制訊號產生器
1300...電路結構
1302...多埠輸入的資料輸入端
1304...多埠輸出的資料輸出端
1310、1330...多工選擇器(MUX)
1340...8埠4x4暫存器陣列
1350...控制訊號產生器
圖1,使用了以8乘8區塊為獨立轉換單位的離散餘弦轉換(Discrete Cosine Transform,DCT)。
圖2為說明對2維(2-D)輸入資料,以提昇式結構進行重疊濾波轉換與核心轉換示意圖。
圖3A為說明根據HD Photo格式的重疊濾波轉換示意圖。
圖3B為說明經過重疊濾波轉換後,再對原切割出的4乘4區塊進行核心轉換(如圖所示的4x4 PCT)。
圖4為本發明實施例之有效實現同時進行重疊濾波轉換與核心轉換的硬體架構示意圖。
圖5為說明本發明實施例之轉換運算模組陣列的電路結構示意圖。
圖6為說明4乘4重疊濾波運算與4乘4核心轉換運算資料示意圖。
圖7為說明進行4乘4重疊濾波和4乘4核心轉換的輸入資料。
圖8和圖9為說明重疊濾波與核心轉換函式運算內容實施例。
圖10為說明重疊濾波中T_h的運算內容示意圖。
圖11A~圖11D為實現4乘4重疊濾波和4乘4核心轉換的詳細排程示意圖。
圖12為說明本發明另一實施例之轉換運算模組陣列的電路結構示意圖。
圖13為說明本發明又一實施例之轉換運算模組陣列的電路結構示意圖。
400...硬體架構
402...多埠輸入的資料輸入端
404...多埠輸出的資料輸出端
410、430...多工選擇器(MUX)
420...多埠資料輸出入的轉換運算模組陣列
440...多埠資料輸出入的暫存器陣列
450...控制訊號產生器
Claims (19)
- 一種具有重疊濾波以及核心轉換的裝置,包括:第一選擇多工器,用以接收多埠輸入資料;轉換運算模組陣列,該轉換運算模組陣列連接到該第一選擇多工器,用以接收該第一選擇多工器的多埠輸出;第二選擇多工器,連接到該轉換運算模組陣列,用以接收該轉換運算模組陣列的多埠運算結果的輸出與該多埠輸入資料;暫存器陣列,具有多個暫存器,該暫存器陣列連接到該第二選擇多工器,用以接收該第二選擇多工器的多埠輸出,並將接收的資料暫存在部分該些暫存器中,而該第一選擇多工器與該第二選擇多工器皆用以讀取該暫存器陣列的該些暫存器的儲存值;以及控制信號產生器,根據重疊濾波與核心轉換的排程產生多個控制信號,用以控制該第一選擇多工器、該轉換運算模組陣列、該第二選擇多工器與該暫存器陣列,其中該控制信號產生器控制該第一選擇多工器選擇該些多埠輸入資料與該暫存器陣列的部分該些暫存器的儲存值,其中之部分資料輸入該轉換運算模組陣列,其中該控制信號產生器控制該第二選擇多工器選擇該些多埠輸入資料、該轉換運算模組陣列輸出的該些多埠運算結果、以及該暫存器陣列的部分該些暫存器的儲存值,並據以輸出到該暫存器陣列的該些暫存器儲存。
- 如申請專利範圍第1項所述之具有重疊濾波以及核心轉換的裝置,其中該轉換運算模組陣列具有多個運算單元,該些運算單元用以完成HD Photo格式中,編碼時所需要的重疊濾波轉換運算或解碼所需要的逆重疊濾波轉換運算。
- 如申請專利範圍第2項所述之具有重疊濾波以及核心轉換的裝置,其中該第一選擇多工器、該轉換運算模組陣列、該第二選擇多工器與該暫存器陣列的資料輸出或是輸入埠的數量至少為四。
- 如申請專利範圍第2項所述之具有重疊濾波以及核心轉換的裝置,用於該HD Photo格式的編碼時,該多埠輸入資料為欲壓縮的原始圖像資料。
- 如申請專利範圍第2項所述之具有重疊濾波以及核心轉換的裝置,用於該HD Photo格式的編碼時,該多埠輸入資料為第一階核心轉換之DC參數值,或已進行重疊濾波轉換,但未經核心轉換的信號。
- 如申請專利範圍第2項所述之具有重疊濾波以及核心轉換的裝置,用於該HD Photo格式的解碼時,該多埠輸入資料為欲進行第一階或第二階逆轉換之重疊轉換信號或已進行逆核心轉換但未經逆重疊濾波轉換的信號。
- 如申請專利範圍第1項所述之具有重疊濾波以及核心轉換的裝置,其中該轉換運算模組陣列具有多個運算單元,其中當該重疊濾波與核心轉換的排程為進行HD Photo格式的編碼時,該些運算單元部分用以重疊濾波的運算,部分用以核心轉換的運算。
- 如申請專利範圍第7項所述之具有重疊濾波以及核心轉換的裝置,其中該些運算單元包括重疊濾波運算單元、邊緣的重疊濾波運算單元、核心轉換單元以及用於DC值的核心轉換單元。
- 如申請專利範圍第1項所述之具有重疊濾波以及核心轉換的裝置,其中該轉換運算模組陣列具有多個運算單元,其中當該重疊濾波與核心轉換的排程為進行HD Photo格式的解碼時,該些運算單元部分用以逆重疊濾波的運算,部分用以逆核心轉換的運算。
- 如申請專利範圍第9項所述之具有重疊濾波以及核心轉換的裝置,其中該些運算單元包括逆重疊濾波運算單元、邊緣的逆重疊濾波運算單元、逆核心轉換單元以及用於DC值的逆核心轉換單元。
- 一種執行重疊濾波以及核心轉換的運算方法,適用於多埠資料處理裝置,其中該多埠資料處理裝置包括轉換運算模組陣列,用以接收多埠輸入資料,並經由該轉換運算模組陣列計算後暫存到暫存器陣列,該方法包括:根據重疊濾波與核心轉換的排程產生多個控制信號;根據該些控制信號控制選擇該些部分多埠輸入資料與該暫存器陣列的部分儲存值,輸入該轉換運算模組計算;根據該些控制信號控制,選擇該些部分多埠輸入資料、該轉換運算模組陣列輸出的該些多埠運算結果、以及該暫存器陣列的部分該些儲存值,輸出到該暫存器陣列儲存;以及根據該重疊濾波與核心轉換的排程,將該轉換運算模組陣列輸出的部分該些多埠運算結果,以多埠方式輸出。
- 如申請專利範圍第11項所述之方法,其中該轉換運算模組陣列具有多個運算單元,該些運算單元用以完成HD Photo格式中,編碼時所需要的重疊濾波轉換運算或解碼所需要的逆重疊濾波轉換運算。
- 如申請專利範圍第12項所述之方法,用於該HD Photo格式的編碼時,該多埠輸入資料為欲壓縮的原始圖像資料。
- 如申請專利範圍第13項所述之方法,用於該HD Photo格式的編碼時,該多埠輸入資料為第一階核心轉換之DC參數值,或已進行重疊濾波轉換,但未經核心轉換的信號。
- 如申請專利範圍第12項所述之方法,用於該HD Photo格式的解碼時,該多埠輸入資料為欲進行第一階或第二階逆轉換之重疊轉換信號或已進行逆核心轉換但未經逆重疊濾波轉換的信號。
- 如申請專利範圍第11項所述之方法,其中該轉換運算模組陣列具有多個運算單元,其中當該重疊濾波與核心轉換的排程為進行HD Photo格式的編碼時,該些運算單元部分用以重疊濾波的運算,部分用以核心轉換的運算。
- 如申請專利範圍第16項所述之方法,其中該些運算單元包括重疊濾波運算單元、邊緣的重疊濾波運算單元、核心轉換單元以及用於DC值的核心轉換單元。
- 如申請專利範圍第11項所述之方法,其中該轉換運算模組陣列具有多個運算單元,其中當該重疊濾波與核心轉換的排程為進行HD Photo格式的解碼時,該些運算單元部分用以逆重疊濾波的運算,部分用以逆核心轉換的運算。
- 如申請專利範圍第18項所述之方法,其中該些運算單元包括逆重疊濾波運算單元、邊緣的逆重疊濾波運算單元、逆核心轉換單元以及用於DC值的逆核心轉換單元。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW97110416A TWI382768B (zh) | 2008-03-24 | 2008-03-24 | 具有執行重疊濾波以及核心轉換的運算方法及其裝置 |
US12/177,168 US8285774B2 (en) | 2008-03-24 | 2008-07-22 | Operation method and apparatus for performing overlap filter and core transform |
JP2008278403A JP4740992B2 (ja) | 2008-03-24 | 2008-10-29 | オーバーラップフィルタリングとコア変換を行うための方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW97110416A TWI382768B (zh) | 2008-03-24 | 2008-03-24 | 具有執行重疊濾波以及核心轉換的運算方法及其裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200942042A TW200942042A (en) | 2009-10-01 |
TWI382768B true TWI382768B (zh) | 2013-01-11 |
Family
ID=41089933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW97110416A TWI382768B (zh) | 2008-03-24 | 2008-03-24 | 具有執行重疊濾波以及核心轉換的運算方法及其裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8285774B2 (zh) |
JP (1) | JP4740992B2 (zh) |
TW (1) | TWI382768B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5240916B2 (ja) * | 2008-11-04 | 2013-07-17 | 株式会社メガチップス | 画像処理装置 |
US8677150B2 (en) * | 2012-02-01 | 2014-03-18 | Intel Mobile Communications GmbH | Low-power multi-standard cryptography processing units with common flip-flop/register banks |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040102963A1 (en) * | 2002-11-21 | 2004-05-27 | Jin Li | Progressive to lossless embedded audio coder (PLEAC) with multiple factorization reversible transform |
US20060133684A1 (en) * | 2004-12-17 | 2006-06-22 | Microsoft Corporation | Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform |
US20060133683A1 (en) * | 2004-12-17 | 2006-06-22 | Microsoft Corporation | Reversible transform for lossy and lossless 2-D data compression |
TWI290438B (en) * | 2004-12-01 | 2007-11-21 | Samsung Electronics Co Ltd | A pipelined deblocking filter |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9501146D0 (en) | 1995-01-20 | 1995-03-08 | Rothmans Benson & Hedges | A device for controlling free-burn rate of a cigarette |
GB2305798B (en) * | 1995-09-28 | 1999-10-20 | Sony Uk Ltd | Spatial frequency-domain video signal processing |
US5859788A (en) * | 1997-08-15 | 1999-01-12 | The Aerospace Corporation | Modulated lapped transform method |
US6073153A (en) * | 1998-06-03 | 2000-06-06 | Microsoft Corporation | Fast system and method for computing modulated lapped transforms |
US6487574B1 (en) * | 1999-02-26 | 2002-11-26 | Microsoft Corp. | System and method for producing modulated complex lapped transforms |
US7292730B1 (en) * | 1999-12-09 | 2007-11-06 | Intel Corporation | Two-dimensional inverse discrete cosine transforming |
US7110527B2 (en) * | 2001-12-04 | 2006-09-19 | Adc Telecommunications, Inc. | Housing for telecommunications equipment |
US20040162866A1 (en) * | 2003-02-19 | 2004-08-19 | Malvar Henrique S. | System and method for producing fast modulated complex lapped transforms |
US7730116B2 (en) * | 2004-12-14 | 2010-06-01 | Stmicroelectronics, Inc. | Method and system for fast implementation of an approximation of a discrete cosine transform |
US7428342B2 (en) * | 2004-12-17 | 2008-09-23 | Microsoft Corporation | Reversible overlap operator for efficient lossless data compression |
US8036274B2 (en) * | 2005-08-12 | 2011-10-11 | Microsoft Corporation | SIMD lapped transform-based digital media encoding/decoding |
US8849884B2 (en) * | 2006-03-29 | 2014-09-30 | Qualcom Incorporate | Transform design with scaled and non-scaled interfaces |
-
2008
- 2008-03-24 TW TW97110416A patent/TWI382768B/zh not_active IP Right Cessation
- 2008-07-22 US US12/177,168 patent/US8285774B2/en not_active Expired - Fee Related
- 2008-10-29 JP JP2008278403A patent/JP4740992B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040102963A1 (en) * | 2002-11-21 | 2004-05-27 | Jin Li | Progressive to lossless embedded audio coder (PLEAC) with multiple factorization reversible transform |
TWI290438B (en) * | 2004-12-01 | 2007-11-21 | Samsung Electronics Co Ltd | A pipelined deblocking filter |
US20060133684A1 (en) * | 2004-12-17 | 2006-06-22 | Microsoft Corporation | Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform |
US20060133683A1 (en) * | 2004-12-17 | 2006-06-22 | Microsoft Corporation | Reversible transform for lossy and lossless 2-D data compression |
Also Published As
Publication number | Publication date |
---|---|
JP4740992B2 (ja) | 2011-08-03 |
JP2009232441A (ja) | 2009-10-08 |
US8285774B2 (en) | 2012-10-09 |
TW200942042A (en) | 2009-10-01 |
US20090240754A1 (en) | 2009-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2395756A2 (en) | Signal-processing apparatus and electronic apparatus using same | |
JP2003204556A5 (zh) | ||
CN102804165A (zh) | 具有可扩展数据路径的前端处理器 | |
CN110913218A (zh) | 一种视频帧预测方法、装置及终端设备 | |
TWI540845B (zh) | 用於減少直流增益不匹配及直流漏電的方法及數位媒體解碼器 | |
JP4704333B2 (ja) | 画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路 | |
JP4824703B2 (ja) | 2次元フィルタ演算装置及び方法 | |
JP3796432B2 (ja) | フィルタ処理装置およびフィルタ処理方法 | |
TWI382768B (zh) | 具有執行重疊濾波以及核心轉換的運算方法及其裝置 | |
JP4366250B2 (ja) | データ変換処理装置及びプログラム | |
JP4644290B2 (ja) | 高域係数用符号化ブロックパターン生成方法及び装置 | |
TW201038081A (en) | Circuit and method for multi-format video codec | |
JP4266512B2 (ja) | データ処理装置 | |
US20090154817A1 (en) | Image data compressor and image data decompressor | |
Hattori et al. | A high-throughput pipelined architecture for JPEG XR encoding | |
CN110830806A (zh) | 一种视频帧预测方法、装置及终端设备 | |
JP2002101310A (ja) | フィルタ処理装置及び方法 | |
JP4444480B2 (ja) | フィルタ処理装置 | |
CN101516030B (zh) | 具有多格式影像编解码功能的数据处理电路及处理方法 | |
JP2007049485A (ja) | 離散ウェーブレット変換装置及び方法、並びにプログラム及び記録媒体 | |
JP2001085999A (ja) | 画像圧縮および伸張装置 | |
CN101552919B (zh) | 具有执行重叠滤波以及核心转换的运算方法及其装置 | |
JP2002152045A (ja) | 画像データ用フィルタ処理装置及びその制御方法 | |
CN100562115C (zh) | 一种mpeg4文件解码过程中的滤波方法及装置 | |
JP4378407B2 (ja) | データ変換処理装置及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |