TWI398781B - 離散餘弦轉換電路及裝置 - Google Patents

離散餘弦轉換電路及裝置 Download PDF

Info

Publication number
TWI398781B
TWI398781B TW098126121A TW98126121A TWI398781B TW I398781 B TWI398781 B TW I398781B TW 098126121 A TW098126121 A TW 098126121A TW 98126121 A TW98126121 A TW 98126121A TW I398781 B TWI398781 B TW I398781B
Authority
TW
Taiwan
Prior art keywords
calculation
logic unit
data
memory
butterfly
Prior art date
Application number
TW098126121A
Other languages
English (en)
Other versions
TW201106174A (en
Inventor
Ming Chung Hsu
Yi Shin Li
Yi Shin Tung
Chia Ying Li
Original Assignee
Hon Hai Prec Ind Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hon Hai Prec Ind Co Ltd filed Critical Hon Hai Prec Ind Co Ltd
Priority to TW098126121A priority Critical patent/TWI398781B/zh
Publication of TW201106174A publication Critical patent/TW201106174A/zh
Application granted granted Critical
Publication of TWI398781B publication Critical patent/TWI398781B/zh

Links

Landscapes

  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

離散餘弦轉換電路及裝置
本發明涉及一種離散餘弦轉換(Discrete Cosine Transformation,簡稱DCT)技術,尤其涉及一種用來執行二維離散餘弦轉換的離散餘弦轉換電路。
離散餘弦轉換經常用於對影像進行數據壓縮。正向離散餘弦轉換是利用離散餘弦函數將影像資料正向轉換為頻率域資料,逆向離散餘弦轉換則是利用離散餘弦函數將頻域資料逆向轉換為原本的影像資料。離散餘弦轉換一詞可用來表示正向離散餘弦轉換或逆向離散餘弦轉換。
離散餘弦轉換裝置通常於一個巨集區塊上執行完整的二維轉換,例如,先對8x8像素區塊的每一列進行一維離散餘弦轉換,再對8x8像素區塊的每一行進行另一維離散餘弦轉換。視頻編碼標準如H.264、VC-1及MPEG2都使用區塊式轉換,其差別僅在於區塊大小及係數。不同的視頻編碼方法通常設計有專屬的離散餘弦轉換電路。若要將這些專屬電路整合在一個裝置中以支援不同的視頻編碼方法,可能使得電路設計複雜並且在電路微型化上增加困難度,當裝置欲支援新的視 頻編碼方法時,電路設計勢必需再更改。若使用通用處理器來執行不同的視頻編碼方法是較有彈性的,但相對而言較缺乏效率。
有鑒於此,需提供一種離散餘弦轉換電路及使用該電路的影像處理裝置。
一種離散餘弦轉換電路包括具有提取級、記憶級以及運算級的管線之蝶形演算電路。該提取級接收並解碼蝶形演算指令集。該記憶級包含一記憶儲存庫用來儲存影像資料係數以及該運算級所輸出的中間計算數據,並根據至少一已解碼蝶形演算指令,在第一時脈週期輸出儲存在該記憶級的第一組數據。該運算級包含複數暫存器、第一運算邏輯單元以及第二運算邏輯單元,該複數暫存器從該記憶儲存庫接收該第一組數據作為該運算級的輸入資料,該第一運算邏輯單元與該第二運算邏輯單元從該複數暫存器接收一組輸入資料並對該組輸入資料執行第一計算式,根據至少一已解碼蝶形演算指令在該第一時脈週期後的第二時脈週期輸出該第一計算式的計算結果。該蝶形演算電路包含一線路在該第一計算式運算完成的同一時脈週期中將該計算結果從該運算級導至該記憶級,使至少一暫存器在該第二時脈週期後的第三時脈週期中可選擇從該線路接收該計算結果或從該記憶儲存庫接收下一組數據。
一種影像處理裝置包括具有提取級、記憶級以及運算級的管 線之離散餘弦轉換電路。該提取級接收並解碼蝶形演算指令集。該記憶級包含一記憶儲存庫用來儲存影像資料係數以及該運算級所輸出的中間計算數據,並根據至少一已解碼蝶形演算指令,在第一時脈週期輸出第一組數據儲存在該記憶級。該運算級包含複數暫存器、第一運算邏輯單元以及第二運算邏輯單元,該複數暫存器從該記憶儲存庫接收該第一組數據作為該運算級的輸入資料,該第一運算邏輯單元與該第二運算邏輯單元從該複數暫存器接收一組輸入資料並對該組輸入資料執行第一計算式,根據至少一已解碼蝶形演算指令在該第一時脈週期後的第二時脈週期輸出該第一計算式的計算結果。該蝶形演算電路包含一線路在該第一計算式運算完成的同一時脈週期中將該計算結果從該運算級導至該記憶級,使至少一暫存器在該第二時脈週期後的第三時脈週期中可選擇從該線路接收該計算結果或從該記憶儲存庫接收下一組數據。
100、101‧‧‧影像處理裝置
151‧‧‧處理器
152‧‧‧主記憶體
153‧‧‧非揮發性記憶體
154‧‧‧大量儲存裝置
155‧‧‧內容保護單元
156‧‧‧解調器
157‧‧‧調諧器
158‧‧‧電源供應器
159‧‧‧石英振盪器
160‧‧‧I/O單元
161‧‧‧音訊輸出單元
162‧‧‧視訊輸出單元
163‧‧‧天線
164‧‧‧埠
165、200‧‧‧離散餘弦轉換電路
170‧‧‧網路介面
201、202、203、204‧‧‧移位器
221、222、223、224‧‧‧加/減法器
231、232、233、234、241、242‧‧‧多工器
251‧‧‧記憶體
252‧‧‧資料記憶體
253‧‧‧指令記憶體
261‧‧‧控制單元
270、271‧‧‧線路
301‧‧‧提取級
302‧‧‧記憶級
303‧‧‧運算級
Reg1、Reg2、Reg3、Reg4、Reg5‧‧‧暫存器
ALU1、ALU2、ALU3、ALU4‧‧‧運算邏輯單元
111、112、113、114、115、116、117‧‧‧蝶形演算單元
圖1A為包含離散餘弦轉換電路165的影像處理裝置100之一實施方式的結構方塊圖。
圖1B為影像處理裝置之第二種實施方式的結構方塊圖,示意如何從網路接收數位內容。
圖2為離散餘弦轉換電路之一實施方式的結構方塊圖。
圖3為蝶形演算法的示意圖。
圖4為蝶形演算法其中一個單元的示意圖。
圖5為離散餘弦轉換電路於第(j+1)個時脈週期運作的示意圖。
圖6為離散餘弦轉換電路於第(j+2)個時脈週期運作的示意圖。
圖7為離散餘弦轉換電路於第(j+3)個時脈週期運作的示意圖。
圖8為離散餘弦轉換電路於第(j+4)個時脈週期運作的示意圖。
圖9A~9E為蝶形演算單元之實施例的示意圖。
圖10~12為離散餘弦轉換電路中,蝶形演算單元於三個連續的時脈週期中對矩陣運作的示意圖。
離散餘弦轉換電路及其裝置的實施例說明如下:
1.系統概述
本發明所揭露的離散餘弦轉換電路可以實施在各種不同的影像處理裝置,諸如光碟播放機、數位攝影機、機頂盒或是任何具有影像處理能力的裝置,例如電視、行動電話或視訊會議裝置等則是內建有影像處理能力的裝置。圖1A為包含離散轉換電路165之影像處理裝置100的結構方塊圖。
1.1影像處理裝置之實施例
離散餘弦轉換電路165整合於影像處理裝置100的中央處理單元,即處理器151中。該處理器151可由一晶片或多晶片構裝而成。電源供應器158供給電力予影像處理裝置100中的各元件。石英振盪器159提供時脈訊號給處理器151與影像處理裝置100中的其它元件。圖1A顯示影像處理裝置100中各元件的連結關係,其連結可透過串列匯流排或平行匯流排。輸入輸出裝置包括控制按鈕、七段顯示以及和遠程控制器通信的紅外線接受器或收發器。埠164之其一與外部電腦相連結可用來對影像處理裝置100除錯。埠164可以是符合美國電子工業協會(Electronic Industries Association,簡稱EIA)所制定的第232號推薦標準(Recommended Standard-232,簡稱RS-232)及/或第11號推薦標準(Recommended Standard-11,簡稱RS-11)的實體連接埠、串列ATA(Serial ATA,簡稱SATA)及/或高清晰度多媒體介面(High Definition Multimedia Interface,簡稱HDMI)。非揮發性記憶體153儲存處理器151所執行的作業系統及應用程式。處理器151載入運行程序與數據資料到主記憶體152並將數位內容儲存於大量儲存裝置154中。該主記憶體152可以是動態隨機存取記憶體(Random Access Memory,簡稱RAM),例如靜態隨機存取記憶體(Static RAM,簡稱SRAM)或是動態隨機存取記憶體(Dynamic RAM,簡稱DRAM)。該非揮發性記憶體153可以是電子可抹除可規劃唯讀記憶體(Electrically Erasable Programmable Read-Only Memory,簡稱EEPROM),例如反或(NOR)快閃記憶體或是 反及(NAND)快閃記憶體。內容保護單元155針對影像處理裝置100所產生的數位內容提供存取控制。該內容保護單元155包含實現數位視訊廣播之通用介面(DVB-CI)及/或條件式存取(DVB-CA)所需的記憶體與必要裝置。影像處理裝置100可從天線165、調諧器157以及解調器156傳遞的數位訊號取得數位內容。圖1B顯示另一個實施例,影像處理裝置101透過網路存取介面從網際網路等網路中取得數位內容。視訊輸出單元162包含濾波器和放大器用來將處理器151所輸出的視訊訊號加以過濾及放大。音訊輸出單元161包含數位類比轉換器用來將處理器151所輸出的音訊訊號從類比格式轉換為數位格式。
1.2離散餘弦轉換電路之實施例
圖2顯示離散餘弦轉換電路200之一實施例的結構方塊圖。離散餘弦轉換電路200是圖1A與/或1B中離散餘弦轉換電路165的一實施例。離散餘弦轉換電路200包含蝶形演算電路用以執行蝶形演算法,其詳細之說明如下。蝶形演算電路設計為管線架構,包含三級:提取級301、記憶級302與運算級303。如圖2所示,離散餘弦轉換電路200中各元件透過匯流排相連結。指令記憶體253儲存執行離散餘弦轉換的指令。暫存器Reg1用來儲存從指令記憶體253讀取的指令。提取級301在一時脈週期(或稱第一時脈週期)接收與解碼從暫存器Reg1所取得的蝶形演算指令,並在之後的時脈週期中控制記憶級302與運算級303。從提取級301至記憶級302與運算級303中 各相關單元的控制線並未顯示在圖中。
記憶級302包含資料記憶體252作為記憶儲存庫用來儲存影像資料係數,記憶體251用來儲存運算級303所輸出的中間計算結果。根據已解碼的指令,在另一時脈週期(或稱第二時脈週期)從資料記憶體252與記憶體251讀取數據組並經由多工器241,242與231-234指引到多工器231~234的輸出。匯流排連結記憶級302中多工器231~234的輸出至運算級303中的相對應暫存器Reg2~Reg5。
在本例中,運算級303包含四個暫存器Reg2~Reg5與四個運算邏輯單元ALU1~ALU4。暫存器Reg2~Reg5中的每一個暫存器接收由相應的多工器231~234而來的一組數據,並輸出至相應的運算邏輯單元作為其輸入資料。相應的多工器、運算邏輯單元或任何其它暫存器的實體為多工器、運算邏輯單元或連結到暫存器的多工器實體。運算邏輯單元ALU1~ALU4根據接收到的輸入資料分別執行相同或不同的計算式,並根據至少一已解碼的指令將計算結果在一時脈週期(或稱第三時脈週期)中輸出。每一個運算邏輯單元(如ALU1)包含一個移位器(如移位器201)用來執行運算移位操作以及一個加法器/減法器(如加法器/減法器221)用來執行加法及減法運算。
記憶體251與252可由一個或多個的記憶體區塊或晶片組成。暫存器Reg1~Reg5包含邊緣觸發正反器,如D型正反器。
離散餘弦轉換電路200包含線路270與271用來在前述計算式完成的同一時脈週期中將計算結果從運算級303傳送至記憶級302。該計算結果提供給多工器231~234作為任選輸入。根據已解碼的指令,暫存器Reg2~Reg5可選擇在第三時脈週期的下一個時脈週期中經由多工器231-234從線路270與271中接收該計算結果。舉例來說,多工器233包含一個任選輸入31連結到線路270,任選輸入32與33分別經由多工器241與242連結到記憶體251與252與任選輸入34用來接收二進位數0,例如根據匯流排頻寬與ALU設計所形成之52位元長的二進位數0。根據已解碼的指令,多工器233可經由選擇輸入31將計算結果輸出至暫存器Reg4,選擇輸入32或33從記憶體251或252讀取下一組數據,選擇輸入34接收52位元長的二進位數0。如圖2所示,多工器234的輸入44亦可接收52位元長的二進位數0。
2.蝶形演算架構實施例 2.1蝶形演算法實施例
影像處理裝置200解碼並顯示數位化靜態影像或視訊短片。數位化影像通常以影像元素(或稱為像素)的矩陣表示。每一個像素可以用三個主要元素的數值表示。例如,在YCbCr色彩系統中,該三個主要元素包含一個亮度元素Y和兩個色度元素Cb與Cr。該亮度元素與色度元素之數值用來描述像素的亮度與色度。影像處理裝置200也能在其它色彩系統中處理影像,像是三原色(RGB)色彩系統。每一個數位化影像 可表示成三個矩形陣列,每一個矩形陣列則分別包含影像之三元素之數值。
一個影像的空間採樣格所形成的巨集區塊可為4像素乘4像素區塊、4像素乘8像素區塊、8像素乘8像素區塊、16像素乘16像素區塊或是其它任何尺寸及形式的區塊。影像中的巨集區塊中每一個像素的色彩資訊(例如在YCbCr色彩系統中的一個主要元素)皆形成一個影像資料係數矩陣。假設離散餘弦轉換根據線性轉換函數X=Hx將長度N的向量x轉換為一個新的向量係數X,其中H為矩陣,x可為影像資料係數矩陣的行或列。離散餘弦轉換將影像資料係數從空間域轉換到頻率域。本文後段,影像資料係數矩陣皆以二維索引的陣列表示。矩陣中的元素皆可表示成F[i][j],其中[i]、[j]為索引,i、j為整數變數,第一個(最左邊)的索引[i]為垂直方向的索引,而第二個(最右邊)的索引[j]為水平方向的索引。例如,F[3][5]表示位於矩陣F中垂直位置3與水平位置5的矩陣元素。
影像處理中離散餘弦轉換包含將影像資料係數矩陣作一維(1D)的行轉換與列轉換。1D的行轉換與列轉換皆為一連串多個矩陣的乘積運算,使得電路設計的複雜度增加。在數學上等同於矩陣相乘積的蝶形演算法(如後所稱之蝶形運算)則非常適合實現不具矩陣乘法電路的離散餘弦轉換電路。不同的影像或視訊壓縮規範其蝶形運算亦不同。舉例而言,國際電信聯盟(International Telecommunications Union, 簡稱為ITU)所制定的H.264標準,亦為MPEG-4第10部分,或稱為MPEG-4進階視訊編碼(Advanced Video Coding,簡稱為AVC),使用離散餘弦轉換式X=H x,其中:
圖3顯示對應離散餘弦轉換算式(0)的蝶形演算法。圖3包含以x[0]、x[1]、x[2]與x[3]表示的四個輸入節點,以X[0]、X[1]、X[2]、X[3]表示的四個輸出節點,與八個加號符號“+”的運算節點121-128。節點中的加號符號“+”表示該節點執行加法運算。圖3中的節點以具方向性的轉移線相連結以表示其運算流程。該演算法將每個節點的輸出值經由轉移線從該節點傳送至轉移線所連結的下一個節點。轉移線旁所標示的-1、2或-2等常數表示在轉移過程中相乘的乘數。輸入值x[0]、x[1]、x[2]與x[3]可代入影像資料係數矩陣中列向量或行向量中的矩陣元素。
蝶形演算法中的基本單元在本實施方式中以蝶形演算單元表示,如蝶形演算單元111。一個蝶形演算單元包含兩個輸入節點與兩個輸出節點。如蝶形單元111即包含x[1]與x[2]兩個輸出節點和作為輸出節點的122與123兩個運算節點。節點122與123分別表示具有兩個輸入值的加法運算。節點122以輸入值x[1]與x[2]值執行加法運算並產生輸出值x[1]+ x[2]。節點123以輸入值x[1]與(-1×x[2])執行加法運算並產生輸出值x[1]+(-1×x[2]),其中蝶形演算單元111顯示被乘數x[2]與常數乘數-1相乘之後為節點123的輸入值。該乘數在圖3中以轉移線旁所標示之數字表示。節點x[0]、x[3]、122與124形成另一個蝶形演算單元。節點121、122、125與126形成另一個蝶形單元。節點122與123的輸出值經由轉移線傳送至節點125-128。當圖3所有的蝶形演算單元皆執行完前述的運算之後,圖3所示的演算法才算執行完成。同理,圖3的其它部分也可以循此方式解讀。
圖2所示的離散餘弦轉換電路200被設計用來實現各種不同的蝶形演算法。離散餘弦轉換電路所實現之相應的蝶形演算單元如下所示。
2.2蝶形演算單元實施例
控制單元261接收並解碼從指令記憶體253取得的蝶形演算指令,根據已解碼的蝶形運算指令控制離散餘弦電路200,以實現蝶形演算法中的蝶形演算單元。離散餘弦轉換電路200之一運算例如下所示。
請參考圖4,其中蝶形演算單元112表示為:D[0]’=D[0]×9+D[1]×5 (1)
D[1]’=D[0]×5-D[1]×9 (2)
該離散餘弦轉換電路包含執行運算位元移位的筒移位器。在 本實施方式中,以實數變數x以及正整數變數y所標示的x((y表示x為二的補數並向右位移y位元。向右位移後填入最高有效位元(Most Significant Bit,簡稱MSB)的數值應與x位移前最高有效位元的數值相同。相同地,x((y表示x為二的補數並向左位移y位元。向左位移後填入最低有效位元的數值應為0。以位移運算實現乘法,算式(1)和(2)可推導為:D[0]’=D[0]×9+D[1]×5=D[0]×(8+1)+D[1]×(4+1)=(D[0]×8+D[0]×1)+(D[1]×4+D[1]×1)=(D[0]×23+D[0])+(D[1]×22+D[1])=(D[0]<<3+D[0])+(D[1]<<2+D[1]) (3)
D[1]’=D[0]×5-D[1]×9=D[0]×(4+1)-D[1]×(8+1)=(D[0]×4+D[0]×1)-(D[1]×8+D[1]×1)=(D[0]×22+D[0])-(D[1]×23+D[1])=(D[0]<<2+D[0])-(D[1]<<3+D[1]) (4)
假設作為1D列轉換的影像資料係數為2×2的矩陣C,其中:
a,b,c與d為實數。
蝶形演算單元112以2×2矩陣C執行1D列轉換時,矩陣C中列向量的每個矩陣元素將分別代入蝶形演算單元112中的D[0]與D[1]。C矩陣中第一個列向量的矩陣元素C[0][0]與C[0][1]將分別代入算式(1)與(2)中的D[0]與D[1],之後C矩陣中第二個列向量的矩陣元素C[1][0]與C[1][1]將分別代入算式(1)與(2)中的D[0]與D[1]。2×2矩陣C’為2×2矩陣C經由蝶形演算單元112作1D列轉換的輸出例,其中:,以及C’[0][0]=a’=C[0][0]×9+C[0][1]×5, (5)
C’[0][1]=c’=C[1][0]×9+C[1][1]×5, (6)
C’[1][0]=b’=C[0][0]×5-C[0][1]×9, (7)
C’[1][1]=d’=C[1][0]×5-C[1][1]×9. (8)
另一個影像資料係數2×2矩陣Y為1D行轉換的實施例:
其中,e,f,g與h為實數。
蝶形演算單元112執行2×2矩陣Y的1D行轉換時,矩陣Y的每一個行向量中的矩陣元素皆分別代入蝶形演算單元中的D[0]與 D[1]。也就是第一個行向量中的矩陣元素Y[0][0]與Y[1][0]分別代入算式(1)與(2)中的D[0]與D[1],Y[0][1]與Y[1][1]分別代入算式(1)與(2)中的D[0]與D[1]。2×2矩陣Y’為2×2矩陣Y經由蝶形演算單元112作1D行轉換的輸出例,其中:,以及Y’[0][0]=e’=Y[0][0]×9+Y[1][0]×5, (5a)
Y’[0][1]=g’=Y[0][0]×5-Y[1][0]×9, (6a)
Y’[1][0]=f’=Y[0][1]×9+Y[1][1]×5, (7a)
Y’[1][1]=h’=Y[0][1]×5-Y[1][1]×9. (8a)
矩陣Y的2D離散餘弦轉換可經由蝶形演算單元112以矩陣Y’代入算式5a、6a、7a與8a中的矩陣Y完成。
3.離散餘弦轉換電路運作實施例
如前所述,蝶形演算單元112可用算式(3)與(4)表示。離散餘弦轉換電路可經由執行算式(3)與(4)實現蝶形演算單元112。也就是說,影像處理裝置100至少包含三道指令用來實現蝶形演算單元112。第一蝶形演算指令控制離散餘弦轉換電路200執行算式(3)的(D[1]<<2+D[1])與算式(4)的(D[0]<<2+D[0])。亦即第一蝶形演算指令是用來實現:t1=(D[1]<<2+D[1]);以及 (9)
t2=(D[0]<<2+D[0])。 (10)
假設t1與t2為變數,可經由暫存器實施,但不限定於此。算式(9)相當於蝶形演算單元112中從D[1]到節點1121的轉移線。算式(10)相當於蝶形演算單元112中從D[0]到節點1122的轉移線。
第二蝶形演算指令控制離散餘弦轉換電路200執行算式(3)的(D[0]<<3+D[0])與算式(4)的(D[1]<<3+D[1])。亦即第二蝶形演算指令是用來實現:t3=(D[0]<<3+D[0]);以及 (11)
t4=(D[1]<<3+D[1]) (12)
算式(11)相當於蝶形演算單元112中從D[0]到節點1121的轉移線。算式(12)相當於蝶形演算單元112中從D[1]到節點1122的轉移線。
第三蝶形演算指令控制離散餘弦轉換電路200完成算式(3)與(4)的運算。亦即第三蝶形演算指令是用來實現:D[0]’=t3+t1;以及 (13)
D[1]’=t2-t4. (14)
算式(13)相當於蝶形演算單元112中的節點1121。算式(14)相當於蝶形演算單元112中的節點1122。
運算元(operand)取得的控制資訊亦包含於蝶形演算指令中 。請參考圖5至圖8中所描述離散餘弦轉換電路200的運作。離散餘弦轉換電路200中各元件的連結可透過匯流排,其裝載的資料顯示在匯流排旁。離散餘弦轉換電路中的匯流排擁有足夠的頻寬可以在一個時脈週期中傳送這些資料。圖5至圖8並未顯示控制訊號的連結。記憶級302的每一個多工器根據已解碼的指令從任選輸入中選擇其一並輸出。
3.1第j個時脈週期 3.1.1提取級
在第j個時脈週期中,其中j為整數,當離散餘弦電路200以矩陣C執行蝶形演算單元112,提取級301的控制單元261在第j個時脈週期中接收並解碼第一蝶形演算指令以便在後續的時脈週期中控制記憶級302與運算級303。
3.2第(j+1)個時脈週期 3.1.1記憶級
請參考圖5,在第(j+1)個時脈週期中,記憶級302根據第一蝶形演算指令中的兩個計算式準備數據資料給運算級303中的暫存器Reg2~Reg5,其中第一蝶形演算指令中的兩個計算式分別為矩陣C第一列與第二列的運算元。如圖5所示,從資料記憶體252讀取影像資料係數C[0][0]與C[1][0]並傳送給多工器231的任選輸入12與多工器233的任選輸入33,從資料記憶體252讀取資料影像係數C[0][1]與C[1][1]並傳送給多工器232的任選輸入22與多工器234的任選輸入43。
3.2.2提取級
提取級301中的控制單元261在同一時脈週期中接收並解碼第二蝶形演算指令。
3.3第(j+2)個時脈週期
請參考圖6,詳細說明第(j+2)個時脈週期中三個級的運作。
3.3.1運算級
運算級303中的每一個暫存器在前一個級中從相對應的多工器接收相對應的數據資料並經由連結提供給運算邏輯單元ALU1~ALU4。每一個運算邏輯單元從暫存器所提供的數據資料中取得兩個輸入數值。如圖6所示,輸入給每一個運算邏輯單元的數值顯示在相對應的運算邏輯單元旁。連結筒移位器或加法器/減法器旁所標示的數值為經由連結傳送到該筒移位器或加法器/減法器的輸入值。例如,移位器201與加法器/減法器221分別接收C[0][0]作為輸入運算元。
根據第一蝶形演算指令於矩陣C第一列的運算,運算邏輯單元ALU1以輸入值C[0][0]代入D[0]完成算式(10)的運算並輸出5C[0][0],運算邏輯單元ALU3以輸入值C[0][1]代入D[1]完成算式(9)的運算並輸出5C[0][1]。運算邏輯單元ALU1於時脈週期中完成蝶形演算單元112中從D[0]連結到節點1122的運算。明確來說,每一個運算邏輯單元中的移位器與加法器/減法器分別完成相對應算式中的移位運算與加法/減法運算。舉例來說,當運算邏輯單元ALU1以C[0][0]代入D[0] 進行算式(10)的計算時,運算邏輯單元中的移位器201藉由將C[0][0]左移2位元得到4×C[0][0]並將運算結果4×C[0][0]輸出到加法器/減法器221。加法器/減法器221接收並相加兩輸入值,4×C[0][0]與C[0][0],然後輸出5×C[0][0]。其它運算邏輯單元的內部運算方式亦相似。
根據第一蝶形演算指令於矩陣C第二列的運算,運算邏輯單元ALU2以輸入值C[1][0]代入D[0]完成算式(10)的運算並輸出5C[1][0],運算邏輯單元ALU4以輸入值C[1][1]代入D[1]完成算式(9)的運算並輸出5C[1][1]。輸出值5C[0][0]、5C[1][0]、5C[0][1]與5C[1][1]儲存在記憶體251作為中間計算結果。
運算邏輯單元ALU1~ALU4以影像資料係數中的不同數據資料平行執行相同的計算用來實現單一指令多重資料(Single instruction stream and multiple data streams,簡稱SIMD)架構。需注意的是,離散餘弦轉換電路並不限於SIMD。運算邏輯單元ALU1~ALU4的其中兩個可以執行同一計算以實現一個SIMD架構,另兩個運算邏輯單元可以執行另一計算以實現另一個SIMD架構,如此一來即實現多重指令多重資料流(Multiple instruction streams and multiple data streams,簡稱為MIMD)架構。
3.3.2記憶級
請參考圖6,在第(j+2)個時脈週期中,記憶級根據第二蝶形 演算指令用於矩陣C第一列與第二列的運算元提供其它數據資料給運算級中的暫存器。如圖6所示,從記憶體252讀取影像資料係數C[0][0]與C[1][0]並傳送給多工器231的任選輸入12與多工器233的任選輸入33,從記憶體252讀取影像資料係數C[0][1]與C[1][1]並傳送給多工器232的任選輸入22與多工器234的任選輸入43。
3.3.3提取級
提取級301中的控制單元261在同一個時脈週期中接收並解碼第三蝶形演算指令。
3.4第(j+3)個時脈週期
請參考圖7,詳細說明第(j+3)個時脈週期中三個級的運作。
3.4.1運算級
根據第二蝶形演算指令於矩陣C第一列的運算,運算邏輯單元ALU1以C[0][0]代入D[0]完成算式(11)的運算並輸出9C[0][0],運算邏輯單元ALU3以C[0][1]代入D[1]完成算式(12)的運算並輸出9C[0][1]。根據第二蝶形演算指令於矩陣C第二列的運算,運算邏輯單元ALU2以C[1][0]代入D[0]完成算式(11)的運算並輸出9C[1][0],運算邏輯單元ALU4以C[1][1]代入D[1]完成算式(12)的運算並輸出9C[1][1]。離散餘弦轉換電路200包含連結線路270與271用於將輸出值9C[0][0]、9C[1][0]、9C[0][1]與9C[1][1]於第(j+3)時脈週期導至前一個記憶級。輸出值9C[0][0]、9C[1][0]、 9C[0][1]、9C[1][1]、5C[0][0]、5C[1][0]、5C[0][1]與5C[1][1]皆為中間計算結果。
3.4.2記憶級
在第(j+3)個時脈週期中,記憶級302根據第三蝶形演算指令用於中間資料的兩個計算式提供其它數據資料給運算級303中的暫存器。中間資料包含運算邏輯單元對應於第一蝶形演算指令的兩個計算式之輸出以及運算邏輯單元對應於第二蝶形演算指令的兩個計算式之輸出。需注意的是,運算邏輯單元ALU1與運算邏輯單元ALU2的輸出,如9C[0][0]與9C[1][0],經由資料傳輸線路270導至多工器233的任選輸入31而不儲存9C[0][0]與9C[1][0]在記憶體。運算邏輯單元ALU3與運算邏輯單元ALU4的輸出,如9C[0][1]與9C[1][1],導至多工器234的任選輸入41而不儲存9C[0][1]與9C[1][1]在記憶體。因此,運算級330在下一個時脈週期中可以選擇性接收9C[0][0]、9C[1][0]、9C[0][1]與9C[1][1]。已儲存的5C[0][0]與5C[1][0]從記憶體251讀取後輸出到多工器232,5C[0][1]與5C[1][1]從記憶體251讀取後輸出到多工器231。
3.4.3提取級
提取級301中的控制單元261可在第(j+3)個時脈週期中接收與解碼其它蝶形運算指令。
3.5第(j+4)個時脈週期
請參考圖8,詳細說明第(j+4)個時脈週期中運算級的運作。
3.5.1運算級
根據第三蝶形演算指令用於相對於矩陣C第一列的中間計算資料的計算式,運算邏輯單元ALU1以5C[0][1]代入t3、9C[0][0]代入t1以完成算式(13)的運算,並輸出5C[0][1]+9C[0][0],相當於算式(5)。運算邏輯單元ALU3以5C[0][0]代入t2、9C[0][1]代入t4以完成算式(14)的運算,並輸出5C[0][0]-9C[0][1],相當於算式(7)。
根據第三蝶形演算指令用於相對於矩陣C第二列的中間計算資料的計算式,運算邏輯單元ALU2以5C[1][1]代入t3、9C[1][0]代入t1以完成算式(13)的運算,並輸出5C[1][1]+9C[1][0],相當於算式(6)。運算邏輯單元ALU4以5C[1][0]代入t2、9C[1][1]代入t4以完成算式(14)的運算,並輸出5C[1][0]-9C[1][1],相當於算式(8)。據此,離散餘弦轉換電路可以執行此三道蝶形演算指令以應用蝶形單元112於矩陣C。
需注意的是,5C[0][0]、5C[0][1]、5C[1][0]、5C[1][1]、9C[0][0]、9C[0][1]、9C[1][0]與9C[1][1]為在第(j+4)個時脈週期中,8個輸入到運算邏輯單元ALU1~ALU4的不同數值。此8個數值中,有4個是從記憶體251讀取,其餘數值則由運算邏輯單元ALU1~ALU4經由線路270與271轉送。記憶體251與252可分別擁有2埠,此2埠的頻寬足夠傳遞8個 數值的其中之一。因此,記憶級中的記憶體並不需要為了同時傳遞8個數值給4個運算邏輯單元而擁有4埠。
4.變化例
圖9A~9E顯示蝶形演算單元的不同實施例。請參考圖9A,因蝶形演算單元113中沒有常數乘數,節點1131或1132的運作可以在一個時脈週期中藉由運算邏輯單元ALU1~ALU4的其中之一實現與完成。
請參考圖9B,從節點D[0]到節點1141的水平轉移線以及從節點D[1]到節點1142的水平轉移線旁的分別有一常數n,若n的數值為整數2或分數1/2的k次方(也就是n=2 k 或n=(1/2) k ),其中k為一整數,則從節點D[0]到節點1141之轉移線所表示的運算以及從節點D[1]到節點1142之轉移線所表示的運算可經由移位器中的位元移位運算完成。節點1141與節點1142其中之一可表示為加法器所完成的加法。因此,節點1141與節點1142及相關節點中的轉移線所表示的運算可經由運算邏輯單元ALU1~ALU4其中之一在一個時脈週期中完成。
同樣地,在圖9C中,如果m的數值是整數2或分數1/2的f次方(也就是m=2 f 或m=(1/2) f ),其中f為一整數,則從節點D[0]到節點1152之轉移線所表示的運算以及從節點D[1]到節點1151之轉移線所表示的運算可經由移位器中的位元移位運算完成。在第一個例子中,n或m並不是整數2或分數1/2的整數次方,則每一個轉移線所表示的運算式也許需要離散餘弦 轉換電路200中更多的運算邏輯單元經由更多的時脈週期完成。在第一例中,指令記憶體253中的蝶形演算指令可控制離散餘弦轉換電路200優先執行轉移線旁有常數乘數n或m的運算再執行轉移線旁沒有常數乘數的運算。
請參考圖9D,如果n和m分別為整數2或分數1/2的整數次方,到節點1161的任何轉移線所表示的運算可經由筒移位器的位元移位運算完成。到節點1161的其他轉移線所表示的運算可藉由運算邏輯單元ALU1~ALU4其中之一在一個時脈週期中完成。因此,節點1161所表示的運算以及連結到節點1161之轉移線所表示的運算可藉由運算邏輯單元ALU1~ALU4其中之一在兩個時脈週期中完成。節點1162所對應到的運算可做相同理解。
另外,在第二例中n為整數2或分數1/2的整數次方,m則與整數2或分數1/2的整數次方相差1(也就是m=2 f ±1或m=(1/2) f ±1),節點1161所表示的運算以及連結到節點1161之轉移線所表示的運算仍可藉由運算邏輯單元ALU1~ALU4其中之一在兩個時脈週期中完成,在此情況下,運算邏輯單元會優先執行關聯m的轉移線之運算再執行關聯n的轉移線之運算。在第二個例子中,指令記憶體253中的蝶形演算指令可以控制離散餘弦轉換電路200先執行與m有關的運算再執行與n有關的運算。
同樣地,在第三個例子中,m為整數2或分數1/2的整數次方 ,n則與整數2或分數1/2的整數次方相差1(也就是n=2 k ±1或n=(1/2) k ±1),節點1161所表示的運算以及連結到節點1161之轉移線所表示的運算仍可藉由運算邏輯單元ALU1~ALU4其中之一在兩個時脈週期中完成,在此情況下,運算邏輯單元會優先執行關聯n的轉移線之運算再執行關聯m的轉移線之運算。在第三個例子中,指令記憶體253中的蝶形演算指令可以控制離散餘弦轉換電路200先執行與n有關的運算再執行與m有關的運算。第二個例子與第三個例子中的情況同樣適用於節點1162以及連結到節點1162的轉移線。圖9E為蝶形演算單元117相關的運算例。圖10~12顯示離散餘弦轉換電路200中蝶形演算單元117對矩陣C在連續的三個時脈週期的運作。
請參考圖9E,連結到節點1171的轉移線1173與1174分別關聯到常數乘數9與8,其中9=23+1且8=23。如圖10~12所示,當離散餘弦轉換電路200使用蝶形演算單元117對矩陣C進行列轉換,運算邏輯單元ALU1~ALU4會先執行關聯到乘數9之轉移線1173所對應的運算再執行關聯到乘數8之轉移線1174所對應的運算。同樣地,蝶形演算單元117中連結到節點1172的轉移線1175與1176分別關聯到常數乘數8與9,其中8=23而9=23+1。如圖10~12所示,運算邏輯單元ALU1~ALU4,運算邏輯單元ALU1~ALU4會先執行關聯到乘數9之轉移線1176所對應的運算再執行關聯到乘數8之轉移線 1175所對應的運算。運算邏輯單元於矩陣C的運算於蝶形演算單元117中只要兩個時脈週期即可完成。
5.結論
如前所述,影像處理裝置可儲存不同的蝶形演算指令以完成不同的蝶形演算法來實現不同影像與視訊壓縮標準的離散餘弦轉換電路,如適用於MPEG2與H.264的離散餘弦轉換電路。當越來越多的壓縮標準所適用的指令被整合進指令記憶體,影像處理裝置100的彈性與標準相容性也會提昇。四個運算邏輯單元同時根據不同的影像資料係數進行不同的運算以實現MIMD並增進離散餘弦轉換電路的整體效率。此外,藉由資料傳遞路線,離散餘弦轉換電路記憶體的使用並不需要四埠。總結來說,本發明所提出的離散餘弦轉換電路適用於各式影像處理裝置,包含但不限於機頂盒、媒體播放機、電視與視訊會議裝置。
綜上所述,本發明符合發明專利要件,爰依法提出專利申請。惟,以上所述者僅為本發明之較佳實施方式,舉凡熟悉本案技藝之人士,在爰依本案發明精神所作之等效修飾或變化,皆應包含於以下之申請專利範圍內。
11‧‧‧任選輸入
12‧‧‧任選輸入
21‧‧‧任選輸入
22‧‧‧任選輸入
31‧‧‧任選輸入
32‧‧‧任選輸入
33‧‧‧任選輸入
34‧‧‧任選輸入
41‧‧‧任選輸入
42‧‧‧任選輸入
43‧‧‧任選輸入
44‧‧‧任選輸入
200‧‧‧離散餘弦轉換電路
201‧‧‧移位器
202‧‧‧移位器
203‧‧‧移位器
204‧‧‧移位器
221‧‧‧加/減法器
222‧‧‧加/減法器
223‧‧‧加/減法器
224‧‧‧加/減法器
231‧‧‧多工器
232‧‧‧多工器
233‧‧‧多工器
234‧‧‧多工器
241‧‧‧多工器
242‧‧‧多工器
251‧‧‧記憶體
252‧‧‧資料記憶體
253‧‧‧指令記憶體
261‧‧‧控制單元
270‧‧‧線路
271‧‧‧線路
301‧‧‧提取級
302‧‧‧記憶級
303‧‧‧運算級
Reg1‧‧‧暫存器
Reg2‧‧‧暫存器
Reg3‧‧‧暫存器
Reg4‧‧‧暫存器
Reg5‧‧‧暫存器
ALU1‧‧‧運算邏輯單元
ALU2‧‧‧運算邏輯單元
ALU3‧‧‧運算邏輯單元
ALU4‧‧‧運算邏輯單元

Claims (17)

  1. 一種離散餘弦轉換電路,包括一蝶形演算電路,具有包含一提取級、一記憶級以及一運算級,其中:該提取級接收並解碼蝶形演算指令集;該記憶級包含一記憶儲存庫用來儲存影像資料係數以及該運算級所輸出的中間計算數據,並根據至少一已解碼蝶形演算指令,在蝶形演算電路的第一時脈週期輸出儲存在該記憶級的一第一組數據;以及該運算級包含複數暫存器、第一運算邏輯單元以及第二運算邏輯單元,該複數暫存器從該記憶儲存庫接收該第一組數據作為該運算級的輸入資料,該第一運算邏輯單元與該第二運算邏輯單元分別從該複數暫存器接收一組輸入資料並對該組輸入資料執行第一計算式,根據至少一已解碼蝶形演算指令在該第一時脈週期後的第二時脈週期輸出該第一計算式的計算結果;其中,該蝶形演算電路包含一線路,在該第一計算式運算完成的同一時脈週期中將該計算結果從該運算級導至該記憶級,使至少一暫存器在該第二時脈週期後的第三時脈週期中可選擇從該線路接收該計算結果或從該記憶儲存庫接收下一組數據。
  2. 如申請專利範圍第1項所述之離散餘弦轉換電路,其中該運算級在該第三時脈週期中以該計算結果及從該記憶儲存庫取 得的第二組數據執行第二計算式。
  3. 如申請專利範圍第1項所述之離散餘弦轉換電路,其中該記憶級包含至少一多工器,使至少一暫存器根據至少一已解碼蝶形演算指令可選擇從該線路接收該計算結果或從該記憶儲存庫取得下一組數據。
  4. 如申請專利範圍第1項所述之離散餘弦轉換電路,其中該第一運算邏輯單元與該第二運算邏輯單元分別以不同數據執行實質相等於乘法的計算,該數據中包含至少一組影像資料係數或該計算結果。
  5. 如申請專利範圍第4項所述之離散餘弦轉換電路,其中該第一運算邏輯單元與該第二運算邏輯單元分別包含筒移位器與加法器用以實現該實質相等於乘法的計算。
  6. 如申請專利範圍第4項所述之離散餘弦轉換電路,其中該運算級包含第三運算邏輯單元與第四運算邏輯單元,在該第一計算式執行同時,根據不同數據分別執行另一個第二計算式,該第三運算邏輯單元與該第四運算邏輯單元分別根據至少一組影像資料係數或該計算結果執行第三計算式。
  7. 如申請專利範圍第1項所述之離散餘弦轉換電路,其中該運算級包含第三運算邏輯單元與第四運算邏輯單元,在該第一計算式執行同時,分別根據不同數據執行第三計算式,該第三運算邏輯單元與該第四運算邏輯單元分別根據至少一組影像資料係數或該計算結果執行第三計算式。
  8. 如申請專利範圍第1項所述之離散餘弦轉換電路,其中該運算級所執行的蝶形演算單元運算包含將第一影像資料係數與 第一常數相乘,第二影像資料係數與第二常數相乘,再加總上述兩相乘結果,若該第一常數與2或1/2的整數次方相差1且第二常數為2或1/2的整數次方,則該第一影像資料係數的乘法運算會優先於該第二影像資料係數的乘法運算執行。
  9. 一種影像處理裝置包括:一離散餘弦轉換電路,包含一提取級、一記憶級以及一運算級,其中該提取級接收並解碼蝶形演算指令集;該記憶級包含一記憶儲存庫用來儲存影像資料係數以及該運算級所輸出的中間計算數據,並根據至少一已解碼蝶形演算指令,在蝶形演算電路的第一時脈週期輸出第一組數據儲存在該記憶級;以及該運算級包含複數暫存器、第一運算邏輯單元以及第二運算邏輯單元,該複數暫存器從該記憶儲存庫接收該第一組數據作為該運算級的輸入資料,該第一運算邏輯單元與該第二運算邏輯單元分別從該複數暫存器接收一組輸入資料並對該組輸入資料執行第一計算式,根據至少一已解碼蝶形演算指令在該第一時脈週期後的第二時脈週期輸出該第一計算式的計算結果;其中,該蝶形演算電路包含一線路,在該第一計算式運算完成的同一時脈週期中將該計算結果從該運算級導至該記憶級,使至少一暫存器在該第二時脈週期後的第三時脈週期中可選擇從該線路接收該計算結果或從該記憶儲存庫接收下一組數據。
  10. 如申請專利範圍第9項所述之影像處理裝置,其中該運算級在該第三時脈週期中以該計算結果及從該記憶儲存庫取得的第二組數據執行第二計算式。
  11. 如申請專利範圍第9項所述之影像處理裝置,其中該記憶級還包含至少一多工器,使至少一暫存器根據至少一已解碼蝶形演算指令可選擇從該線路接收該計算結果或從該記憶儲存庫取得下一組數據。
  12. 如申請專利範圍第9項所述之影像處理裝置,其中該第一運算邏輯單元與該第二運算邏輯單元分別以不同數據執行實質相等於乘法的計算,該數據中包含至少一組影像資料係數或該計算結果。
  13. 如申請專利範圍第12項所述之影像處理裝置,其中該第一運算邏輯單元與第二運算邏輯單元分別包含筒移位器與加法器用以實現該實質相等於乘法的計算。
  14. 如申請專利範圍第12項所述之影像處理裝置,其中該運算級包含第三運算邏輯單元與第四運算邏輯單元,在該第一計算式執行同時,分別根據不同數據執行另一第二計算式,該第三運算邏輯單元與該第四運算邏輯單元分別根據至少一組影像資料係數或該計算結果執行第三計算式。
  15. 如申請專利範圍第9項所述之影像處理裝置,其中該運算級包含第三運算邏輯單元與第四運算邏輯單元,在該第一計算式執行同時,分別根據不同數據執行第三計算式,該第三運算邏輯單元與該第四運算邏輯單元分別根據至少一組影像資料係數或該計算結果執行第三計算式。
  16. 如申請專利範圍第9項所述之影像處理裝置,其中該運算級所執行的蝶形演算單元運算包含將第一影像資料係數與第一常數相乘,第二影像資料係數與第二常數相乘,再加總上述兩相乘結果,若該第一常數與2或1/2的整數次方相差1且第二常數為2或1/2的整數次方,則該第一影像資料係數的乘法運算會優先於該第二影像資料係數的乘法運算執行。
  17. 如申請專利範圍第9項所述之影像處理裝置,其中該影像處理裝置包含機頂盒。
TW098126121A 2009-08-03 2009-08-03 離散餘弦轉換電路及裝置 TWI398781B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW098126121A TWI398781B (zh) 2009-08-03 2009-08-03 離散餘弦轉換電路及裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW098126121A TWI398781B (zh) 2009-08-03 2009-08-03 離散餘弦轉換電路及裝置

Publications (2)

Publication Number Publication Date
TW201106174A TW201106174A (en) 2011-02-16
TWI398781B true TWI398781B (zh) 2013-06-11

Family

ID=44814251

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098126121A TWI398781B (zh) 2009-08-03 2009-08-03 離散餘弦轉換電路及裝置

Country Status (1)

Country Link
TW (1) TWI398781B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830150B2 (en) * 2015-12-04 2017-11-28 Google Llc Multi-functional execution lane for image processor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW331611B (en) * 1993-11-22 1998-05-11 Winbond Electronics Corp The loop & parallel processing method and apparatus for executing DCT and IDCT
TW364269B (en) * 1998-01-02 1999-07-11 Winbond Electronic Corp Discreet cosine transform/inverse discreet cosine transform circuit
TW398146B (en) * 1998-09-15 2000-07-11 Winbond Electronics Corp Cosine transformation and quantification device, method for reducing multiplication operations of an image compressing device, inverse quantification and inverse cosine transformation device, and method for reducing multiplication operations of an image
US6137916A (en) * 1997-11-17 2000-10-24 Sony Electronics, Inc. Method and system for improved digital video data processing using 8-point discrete cosine transforms
US7451170B2 (en) * 2003-09-03 2008-11-11 Mediatek, Inc. Rapid and low cost of inverse discrete cosine transform system and method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW331611B (en) * 1993-11-22 1998-05-11 Winbond Electronics Corp The loop & parallel processing method and apparatus for executing DCT and IDCT
US6137916A (en) * 1997-11-17 2000-10-24 Sony Electronics, Inc. Method and system for improved digital video data processing using 8-point discrete cosine transforms
TW364269B (en) * 1998-01-02 1999-07-11 Winbond Electronic Corp Discreet cosine transform/inverse discreet cosine transform circuit
TW398146B (en) * 1998-09-15 2000-07-11 Winbond Electronics Corp Cosine transformation and quantification device, method for reducing multiplication operations of an image compressing device, inverse quantification and inverse cosine transformation device, and method for reducing multiplication operations of an image
US7451170B2 (en) * 2003-09-03 2008-11-11 Mediatek, Inc. Rapid and low cost of inverse discrete cosine transform system and method thereof

Also Published As

Publication number Publication date
TW201106174A (en) 2011-02-16

Similar Documents

Publication Publication Date Title
US8270743B2 (en) Discrete cosine processing circuit and image processing device utilizing the same
US6546480B1 (en) Instructions for arithmetic operations on vectored data
US9665540B2 (en) Video decoder with a programmable inverse transform unit
US20110072236A1 (en) Method for efficient and parallel color space conversion in a programmable processor
US6629115B1 (en) Method and apparatus for manipulating vectored data
TWI401958B (zh) 視訊壓縮與解壓縮用的可程式視訊訊號處理器
US6574651B1 (en) Method and apparatus for arithmetic operation on vectored data
US20060253516A1 (en) Parallel processing array
CN102804165A (zh) 具有可扩展数据路径的前端处理器
CN1981534B (zh) 图像编码装置、图像解码装置以及用于其中的集成电路
US8352528B2 (en) Apparatus for efficient DCT calculations in a SIMD programmable processor
KR101391569B1 (ko) 디지털 처리 수단에 데이터를 제공하는 방법
CN104144346B (zh) 用于执行空域和频域之间的变换的数据处理装置和方法
US7787021B2 (en) Programmable architecture for flexible camera image pipe processing
US20030172254A1 (en) Instructions for manipulating vectored data
TWI398781B (zh) 離散餘弦轉換電路及裝置
US7663631B1 (en) Pixel engine architecture
Shen et al. A unified forward/inverse transform architecture for multi-standard video codec design
Asbun et al. Real-time error concealment in digital video streams using digital signal processors
US20110107390A1 (en) Image deblocking filter and image processing device utilizing the same
JP2006227666A (ja) 行列演算装置
Liao et al. A reconfigurable high performance asip engine for image signal processing
EP0928113A1 (en) Method and apparatus for data manipulation
WO2009095959A1 (ja) 直交変換装置および集積回路
US7072400B2 (en) Inverse zigzag scanning of a matrix of video data values and manipulation

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees