TW200915883A - Computing unit and image filtering device - Google Patents
Computing unit and image filtering device Download PDFInfo
- Publication number
- TW200915883A TW200915883A TW097120971A TW97120971A TW200915883A TW 200915883 A TW200915883 A TW 200915883A TW 097120971 A TW097120971 A TW 097120971A TW 97120971 A TW97120971 A TW 97120971A TW 200915883 A TW200915883 A TW 200915883A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- register
- calculation
- cycle
- instruction
- Prior art date
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 86
- 238000004364 calculation method Methods 0.000 claims description 64
- 238000000034 method Methods 0.000 claims description 46
- 230000008569 process Effects 0.000 claims description 37
- 230000009471 action Effects 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 230000008676 import Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 241000579895 Chlorostilbon Species 0.000 claims 1
- 229910052876 emerald Inorganic materials 0.000 claims 1
- 239000010976 emerald Substances 0.000 claims 1
- 239000004575 stone Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 16
- 238000009434 installation Methods 0.000 description 10
- 238000013500 data storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000001343 mnemonic effect Effects 0.000 description 3
- 206010011469 Crying Diseases 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 235000012766 Cannabis sativa ssp. sativa var. sativa Nutrition 0.000 description 1
- 235000012765 Cannabis sativa ssp. sativa var. spontanea Nutrition 0.000 description 1
- 206010036790 Productive cough Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 235000009120 camo Nutrition 0.000 description 1
- 235000005607 chanvre indien Nutrition 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 210000003298 dental enamel Anatomy 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011487 hemp Substances 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 239000012948 isocyanate Substances 0.000 description 1
- 150000002513 isocyanates Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 210000003802 sputum Anatomy 0.000 description 1
- 208000024794 sputum Diseases 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Description
200915883 九、發明說明: 【發明所屬之技術領域】 本發明係關於一種包括進行圖像濾波處理之指令、電路 之處理器。 【先前技術】 • 動態圖像因訊框中物體移動,或照相機進行搖攝(pan), 而於訊框間出現移動,上一訊框與當前訊框並非完全相 同。然而’前後圖像之關聯較大。 (; 所謂移動補償係指如下技術,使用訊框間預測時,與前 後訊框圖像相比朝向哪個方向移動何種程度之向量資料, 進灯圖像分析。藉由移動補償,而成功提高圖像資料之壓 縮度。 較多之圖像訊框編碼方式中將圖像訊框分割至特定區塊 中進行處理。若使該區塊尺寸變小則可進行詳細的預測。 另一方面因區塊數增加,而導致存在移動向量資訊本身之 數里增加使得編碼量增加之傾向。結果對硬體要求較大之 〇 處理能力。 又於以低位元率對圖像進行編碼之情形時,若不進行 何濾波處理,則將於解碼圖像中產生有區塊變形之狀態 • 下儲存於訊框記憶體中。若參照產生有該變形之圖像對下 汛框進行解碼,則進而存在畫質劣化傳播之問題。為了 :止該晝質劣化之傳播’而必須進行濾波處理以防止產生 區塊變形。然而,解決遽波處理,則亦對硬體要求較大之 處理能力。 131931.doc 200915883 先前,於進行圖像之濾波處理之情形時,需要實施減、皮 之抽頭數之時脈週期(cycle),故必須於每個時脈週期中自 έ己憶體供給資料。進而,必須根據移動向量之探測位置而 變更水平濾波與垂直濾波,判定每次濾波處理之方向,並 使之分支至處於濾波處理之程式中。此時,於每個週期中 自s己憶體讀出像素資料會導致過度消耗讀出週期數,使得 處理性能下降。
曰本專利特開2002-8025號公報(以下專利文獻丨)中,提 示一種削減來自記憶體之資料讀取,利用輸入 資料並供給至演算器中之方法。 衝等儲存 [專利文獻1]曰本專利特開2002-8025號公報 【發明内容】 [發明所欲解決之問題] 料 然而,於圖像之濾波處理時自記憶體中讀出像素 將導致過度消耗讀出週期數,使得處理性能下降。 亦必 又,必須根據移動向量變更水平濾波與垂直濾波 須變更圖像影像之讀出方法。因此,需要分支處理 但圖 近年來處理器藉由分支預測而防止處理性能下降 像處理之情形時分支預測困難,因此性能下降明顯 、進而’目電路安裝方面之問題,亦考慮到無法對該等濾 波處理,準備充分的内部暫存器。 〜 本發明係為解決上述問題而開發者,其目的在於提供— 種可高速地進㈣波處理之演算單元及圖㈣波裝置。 本發明之上述以及其它目的與 町興新穎之特徵,且可根據本 131931.doc 200915883 說明書之描述及隨附圖示而明瞭。 [解決問題之技術手段] 簡單說明本中請案揭示之發明中具有代表性者之概要, 其如下所述。 本發明之演算單元之特徵在於:包括讀哪_ instruction multiple data,單指令多重資料)演算器及指令 解碼器,上述SIMD演算器包括複數個能夠執行第一演算 處理及第二演算處理之演算器,上述第一演算處理於第一 週期進行一個特定處理,上述第二演算處理於週期不同之 I:週期進行其它特定處理,且根據經導入之指令碼,指 7解碼4夠界定複數個演算器中進行動作之個數。 該演算單元亦可特徵在 在於.上述SIMD演算器進而包括 移位暫存器,根據經導入 匕符 存器導入資料。導入之…,指令解碼器對移位暫 又’該演算單元亦可逸 器,且藉由來自指令二:之包:内部暫㈣ 址,並參照該位址將内部二:入而輸出内部暫存器之位 中。 内術子器之資料導入至移位暫存器 又,該演算單元之笙 、 於每個第一週期輪週肩包3特疋數之時脈週期’並 時脈週期結束後 且於第一週期中之各 笪置_ 更上述移位暫存器中之資料敕# 异皁疋亦可將第—演 貝科移位。該演 冰工 果儲存於内部暫在哭士 進而,該演算單元之笛 皙存器中。 且於每個第二週期^ 週期包含特定數之時脈週期, 第二演算結果’並於第二週期中之 ni931.doc 200915883 ί時脈週期結束後,使移位暫存器中之資料移位。該演算 早几亦可將第二演算結果儲存於内部暫存器中。 該演算單元亦可於第二演算 為上述資料。 丫等_ ^結果作 „。本發明之圖像據波裝置包括:移位暫存器、s細演算 窃、指令解碼器、内部智 、 量 存 索引產生器、以及移動向 算° SIMD演算11包括複數個能夠執行第-演 第二演算處理之演算器,上述第-演算處心 —週期中進行一個特定虛神 、乐 週期不同之第二週期中進行其/第二演算處理於與第一 之指令碼,指令解碼器界定處理,且根據經導入 數,根據經導入之指令碼::個演算器中進行動作之個 存至移動向量暫存琴中解碼器將移動向量資料儲 量資料,f引產生=:指令解碼器之輸出及移動向 將内部暫存器之暫存器之位址,並參照位址 肝π邛暫存器之資料導 器進行演算。 Μ至移位暫存器中,由SIMD演算 本發明之圖像滹古 51 MM 置匕括:移位暫存器、SIMD、、宮ΐ 裔、儲存著複數個㈣向 H SIMD决异 解碼器 '内部暫存器、以及索引冑向$暫存器、指令 算器,上述第-演算處理…、m處理之演 理,上述第二演算處 、週期中進行一個特定處 中進行其它特定處理, 迥』不同之第二週期 器界定複數個演算5!中 A導入之指令碼’指令解碼 异器中進行動作之個數,且根據來自指令 131931.doc 200915883 碼器之輸出,移動向量暫存器將適當的移動向量資料輸 厂至索弓丨產生器中,參照指令解碼器之輸出及移動向量資 ,,索引產生器輸出内部暫存器之位址,並參照位址將内 部暫存器之資料導人至移位暫存器中,由8細演算器進 行演算。 [發明之效果] :早說明藉由本中請案所揭示之發明中具有代表性者而 獲得之效果,其如下所述。 本發明之演算單元及圖像較裝置,與硬體之構成無 一其專可藉由將圖像資料儲存於内部暫存器中,並將該 貝枓導入至演算器中,而有效地執行處理,並實現對記憶 體削減資料存取。 、又’本發明可提供—種演算單元及圖像較裝置,藉由 進行注重移動向量之遽波處理而無須進行分支處理以削 減對指令高速緩衝記憶體之存取。 从進而’本發明可提供—種演算單元及圖像遽波裝置,可 藉由削減對記憶體之資料存取 θ 子取次對扣令向逮緩衝記憶體之 日令提取存取’而抑制耗電,從而有利於。 【實施方式】 參照圖式對本發明之實施例進行說明。 (關於設想之處理) 百先s本發明所設想之移動補償預測處理進行說明。 於進行移動補償預測時,一船 如 殿而g,根據參考圖像之像 素值藉由插補而產;φ敕叙/金本、, 座生正數像素以下之像素精度之信號。設 131931.doc 200915883 計 MPEG-2(Moving Picture Experts Group,動態影像專家 群)或MPEG-4能夠進行1/2像素精度為止之移動補償, H.264/AVC能夠進行1/4像素精度為止之移動補償。 H.264/AVC中導出1/2單位像素(半個像素)時與導出j/4單 位像素(四分之一像素)時,導出順序分為2個階段。首先, 表初根據參考圖像之資料利用計算式求出1 /2單位像素之 資料(6抽頭FIR滤波處理)。然後,根據參考圖像及6抽頭 所導出之1/2單位像素導出1/4單位像素及3/4單位像素(2抽 頭濾波處理)。 圖1係根據整數像素表現6抽頭FIR濾波處理及2抽頭濾波 處理之處理内谷之概念圖。該圖中〇所表示之A1係作為導 出對象之1/2像素,□所表示之B1、B2、B3、B4、B5、B6 為參考像素(整數像素)。 此處,導出1/2單位像素A1時根據前後之整數像素B1、 B2、B3、B4、B5、B6之像素並使用以下數學式進行計 算。 Α1=(Β1-5χΒ2+20χΒ3+20χΒ4-5χΒ5+Β6+16)/32 -(^1) 又,2抽頭處理中,以如下方式導出△所表示之ι/4單位 像素C1。
Cl=(Al+B3 + l)/2 , ,. …(式2) 根據以上,以四分之一像素單位處理橫8像素χΜ8像素 之資料時,作為參考圖像必須對橫14像素乂縱^像素之資 料進行處理。本發明中此情況亦相同。 此處,將14像素之對應資料—併記憶於記憶體中,若可 131931.doc 200915883 進行處理則並無問題,準備14像素(本發明中設心像素】 位元組)之演算器現實中因電路安裝規模上之問題而困難 之情形較多。 圖2表示藉由橫向之6抽頭fir濾波處理,而求出(·1/2, -υ至(7+1/2, 8)為止之橫9像素、縱1〇像素之圖像遽波處 理。 如上所述,於晝面整體之移動補償時,必須準備橫14像 素X縱14像素之資料作為參考圖像_。然而,實際上,告 ㈣臨時㈣讀出對該等區域整體進行處理時,則有時: 均衡資料匯流排寬度等而使安裝方面產生問題。對此,於 该橫向之6抽頭FIR濾波處理時,參照由(-3,-1)、(1〇, 1) (10 8)、(-3 ’ 8)包圍之橫14像素父縱10像素。因此, 將該等圖像臨時讀入至内部之暫存器等。 方'使用8個演算器進行該橫9像素、縱10像素之橫向1/2 单位像素(半個像素)圖像之計算時,以(0,0)作為基點, 求出由 圍之圖像5QG(虛線所包圍之範圍)。為了導出圖像⑽而 使用由輸入圖像㈣之…”至卜”、"、…) 所匕圍之圖像範圍之整數像素之資料。即,將自(_3,_” 至(3,-1)為止之6像素代入式礴出座標(Μ,_υ。又, 亦為了 求出由(1/2,_”至(7+1,2,-〇、(7+1,/2,6)、(I。, )所i圍之圖像範圍501(由一點鏈線所包圍之範圍),橫像 素以合計8像素作為1條線算出。 同樣地,以1/2,0)作為基點之橫8像素X縱8像素之圖 131931.doc -12- 200915883 像5〇2(由實線所包圍之範圍),以⑽,〇)作為基點之橫8 像素X縱8像素之圖像5〇3(由2點鏈線包圍之範圍),以 (_1/2,1)作為基點之橫8像素ΧΜ8像素之圖像5〇4(由細虛 線包圍之範圍)’以(1/2, 1}作為基點之橫8像素_像素 之圖像5〇5(由細實線包圍之範圍)亦進行相同之處理。 w根據其等之結果,可求出橫9像素、縱1G像素之橫向1/2 單位像素(半個像素)之資料。 圖3係用以說明縱向6抽頭FIR濾波處理之圖式。該圖3表 示自(-1,-1/2)求出橫10像素、縱9像素之 理。當以與圖2同樣地以(。,。)作為基點之情形 (-1,:-1/2)求出橫8像|、縱8像素之圖像51〇(由虛線所包圍 之範圍),而使用由輸入圖像600之(-1,_3)至(6 ’ _3)、 (6, 9)、(-1,9)所包圍之圖像範圍之整數像素之資料。亦 即於縱向上導出㈠,_1/2)時,亦將㈠,_3)、,·2)、 )(1 0)、(-1 ’ 1)、(_丨,2)之6像素相應之資料 代入式1中。為了導出以該㈠,1/2)作為基點之橫㈣ 素、縱9像素之圖像511(由實線所包圍之部位),縱像素以 合計9像素作為1條“以,並將該m料儲存於處 理器内部之暫存器中。 以(〇 ’ · 1 / 2 )作為基點之圖像5 ! 2 (由—點鏈線所包圍之部 位)以(0,1/2)作為基點之圖像513(由二點鏈線所包圍之 位)’以(1 ’ -1/2)作為基點之圖像514(由細線所包圍之範 圍)’以(1 ’ 1/2)作為基點之圖像515(由細虛線所包圍之範 圍)亦一併利用相同之處理求出’其結果’將動像素、縱 131931.doc -13- 200915883 部之暫存 器 1 〇像素之縱向之i g J H/2早位像素之資料保持於内 中。 再者,於本例中, 像素)導出下述傾斜方 導出(-3,-1/2)至(10, 圖像601。 由於使用該縱向之1/2單位像素(半個 向之1/2單位像素(半個像素),故而 -1/2)、(10,7+1/2)、(_3,7+"勻之 ^根據該等導出結果,算出相對於傾斜方向之像素。圖4 係用以說明該傾斜方向之6抽頭piR遽波處理之圖。求出該 傾斜方向之像素之情形時亦進行6抽頭F職波處理,但使 用圖2之橫向遽波處理結果或者圖3之縱㈣波處理結果算 出。 利用傾斜方向之遽波處理所求出之圖像係以(·ι/2, 作為基點之圖像52G(由虛線所包圍之部位)、以(Μ,· 作為基點之圖像521(由細虛線所包圍之部位)、以(_iq, 1/2)作為基點之圖像522(由一點鏈線所包圍之範圍)、以 ⑽’ W2)作為基點之圖像523(由實線所包圍之範圍)。將 此合成而作成傾斜方向之橫9像素、縱9像素之圖像。此 時,根據縱向濾波處理結果求出之所需參考像素資料 (-3,_1/2)至(1〇,7 + 1/2)之圖像⑹。藉由對該圖像貝601進 行橫向6抽頭FIR濾波處理,可求出傾斜方向之橫9像 縱9像素之濾波圖,像’並將其結果保管於處理器: 存器中。 嘴 單 使用經算出之縱、橫、傾 位像素(四分之一像素)之 斜方向之圖像資料,求出1/4 圖像。使以2算出單位像 131931.doc • 14 - 200915883 素。然後,根據移動向量來界定所使用之圖像資料。 圖5係表示獲得橫4像素、縱4像素之結果之第二次據波 處理。第-次濾、波處理為6抽頭Fnu|波處理,相對於^第 二次遽波處理為2抽頭濾波處理。因此,為了求出4X4像素 之圖像而使用9X9像素之資料。内部暫存器將9位元租寬产 之資料儲存於i個項目中’於合計9個項目之内部暫存心 儲存參考圖像610。根據圖5所示之作為基準之座標獲得 (1/2’ H2)位置之圖像的方法,使用參考圖像61〇中^目于2 至5為止之圖像資料700 ’進行橫向6抽頭濾波產生半個 像素圊像611。又,使用所有項目進行縱向之6抽頭濾波, 而半個像素圖像612僅使用左起之位元組位置中第:位元 組至第六位元組。使用半個像素圖像611、612,進行作為 第二次濾波處理之2抽頭濾波,產生四分之一圖像6丨3。如 此於内部暫存器中保存丨條線資料,因此可容易地執行讀 出與演算。 本發明考慮使用有限之硬體資源有效地進行該一系列處 理。 (第一實施形態) 圖ό係表現本發明之演算單元15〇之基本資料流程之概略 圖,圖7係表現發送至該演算單元15〇中之指令(c〇mmand) 之資料形式之構成圖。又’圖8係搭載有該演算單元15〇之 處理器之概略圖。 該演算單元150包含内部暫存器1〇〇、指令解碼器1〇ι、 SIMD(Single instruction multiple data ,單指令多重資料) 131931.doc 15 200915883 演算器1 02、資料校畢器1 〇3、敕命tθ 。 貝Τ叶杈早器移動向量暫存器104、索引 產生器105之各模組…使用著該演算單元15〇之處理 器’除了包含演算單元150以外,尚包含指令高速緩衝記 憶體151、資料高速緩衝記憶體&、 (一,介面輸入 内部匯流排155。 内部暫存器1〇〇係用以將藉由資料校準器1〇3而排列•區 分之參考資料臨時保持於每個資料中之暫存器群。此處設 ,為上述(關於設想之處理)所說明之處理器内部之暫存 m ’於本發明中’主暫存器之主要用途為保管進行 板向、縱向、傾斜方向6抽_職波處理時所使用之來考 圖像資料或用以進行2抽頭遽波處理之6抽頭f職波處理 後之像素資料等。 指令解碼器i 0 i係用以解讀由指令高速緩衝記憶體發送 之指令,並對SIMD演算器1〇2、移動向量暫存器1〇4、索 引產生器1〇5指示進行處理之模組。χ,此處亦進行指令 分析,並將資料寫入至移動向量暫存器⑽中之處理。 D决算器102係用以操作SIMD處理之演算器。此處 :謂SIMD處理’係指利用一個指令(指令組)操作複數個資
t 式’且心大量資料進行同種處理時。讀D =异器102包含移位暫存器·、演算器如、演算結果暫 存器2〇2。於本發明中’半個像素或四分之一像素之導出 係實現為了自複數個參考像素一次導出複數個結果,而以 一個指令指示處理者。 131931.doc •16· 200915883 於本發明中,SIMD演算器102可處理上述式1及式2。其 中’亦可使之具有除此以外之功能,從而使之具有更多用 途。 資料校準器103係用以將資料高速緩衝記憶體152或匯流 排I/F所發送之資料分割成有效資料,並使之記憶於内部暫 存器100中之模組。 移動向量暫存器104係指令解碼器1〇1自指令中讀出移動
向量之資訊後,將其作為移動向量資料加以臨時儲存之 存器。 $ 索引產生器105係產生索引之模組,上述索引作為指標 指定健存於内部暫存器_中之哪—個參考資料為演算^ 象,且sIMD演算器ι〇2之移位暫存器2〇〇之移位量達到何 ,程度HI自指♦解碼器1〇1之輸出及儲存於移動^ S暫存器104中之移動向量資料’界定輸出内部暫存器_ 之位址或暫存器編號。 ° 指令高速緩衝記憶體151連接於内部匯流排155,指人 經由内部匯流排155被供給。而i,輸入至指令心:: 忑憶體1 5 1中之指令碼被發送至演算單元丨5〇中。 資料高速緩衝記憶體152係供給演算單元15〇所必須^ 料之模組。當無資料高速緩衝記憶體152所對應之資、貝 情形時1算單元150經由記憶體刪3自外二 圖示)讀出所需資料。 〜體(未 δ己憶體I/F 1 53係用以自外部 料等之供給之介面部。 記憶體160接收指令碼或資 131931.doc 200915883 I/O 154係進行與未圖示之外部處理器等之連接時之介面 部。 内部匯流排155係指進行與處理器中之各模組進行連接 所共用之資料通信路徑。 以下,對該構成下之動作進行說明。 為了使指令解碼器101提取儲存於指令高速緩衝記憶體 151中之指令,並根據其解碼結果,將該指令輸入至内部 暫存器1〇〇中,而自資料高速緩衝記憶體152或外部記憶體 ι 對資料校準器103傳送參考圖像資料(整數像素資料)。 通常,來自資料高速緩衝記憶體或匯流排I/F之資料為2 之乘冪之資料寬度。然而,内部暫存器1〇〇之資料寬度或 8議演算器H)2之演算器之數量並非㈣為2之乘幕,而 可根據安裝條件等進行界定。藉由指令解碼器⑻之控 制,資料校準器103以如下方式處理參考圖像資料(整數 素資料)。 口當未達内部暫存器1〇〇之資料寬度之情形時,資料校準 器103臨時保持所接收之資料直至達到經指示之資料寬度 =止’等待來自資料高速緩衝記憶體或匯流排ι/ρ之資料: 當達到指令解碼器⑻所指示之資料寬度之情形時,' 杈準器103對内部暫存器1〇〇寫入參考圖像資料。 索弓I產生器105藉由用以利用指令解碼器⑻ 移動向量資料305,而產生内部暫 索引編號。 丨督存器100之 131931.doc • 18 · 200915883 SIMD演算器102之移位暫存器2〇〇接收藉由所產生之索 引編號而選擇之資料。進而,藉由指令解碼器1〇1將演算 控制信號301輸出後’對SIMD演算器102之演算器201進行 發送。 此時之資料係經資料校準器1〇3調整後之資料,其結合 演算器201執行演算指令所需之資料寬度載入。亦即,如 本實施形態般演算器201若為8個,則發送至SIMD演算器 1〇2中之資料亦必須為與8個演算器相應之資料。
再者,若根據需要安裝該演算器則電路規模可能會增 大。因此,必須考慮兼顧必要性能來削減安裝數量。勿庸 置疑需要如此削減後亦能達到所需性能。 由演算器201演算之寫回資料3〇2即便為並非2之乘冪之 位元組數,只㈣内部暫存_ 1〇〇之資料寬度以下,寫回 資料302亦可以1個週期進行寫入。 藉此,即使演算處理需要並非2之乘冪之資料寬度之情 形時,亦可藉由使演算器2G1及内部暫存器⑽與該資料寬 度一致而提高處理性能。 圖7表示以助憶寫入用以估圖 叩4便圖6之肩鼻皁兀15〇動作之指 令碼之情形。指令碼包括 I栝表不凟异斋2〇1之處理方法之操 作碼400,演算寬度4〇1, 衣不仔在於儲存導入至演算 2 〇 1中之演算資料之内部暫 异器 σ W存益100之何處的第一來源暫存 器編號4〇2、第二來源暫存哭 子<«、·扁唬4〇3,表示將經演算 果保管於内部暫存ν 士 戌异1、、、〇 ° 何處的目的地暫存器編號404。 該指令碼之特徵處為具 有表不/歲异寬度的演算寬度401 131931.doc 19 200915883
算,輸出結果。 本發明之助憶必須描述資料寬度,藉此產生指令碼 要性。於藉由操作碼 5述。例如,於使8位 亦即16演算進行並列 中,並無必須描述演算寬度4〇丨之必要性 400界定唯一性之情形時則無須進行描述 元之加法指令以演算寬度16位元組,亦即 之If形時,設想藉由描述成add8.wi6來表現。 圖8係搭載有圖6之演算單元15〇之處理器之概略圖。基 本而言由於設想藉由演算單元15〇内部之資料校準器丨〇3來 變更資料之排列順序,因此演算單元15〇以外之構造與普 通處理器之構造並無區別。 經演算之結果藉由儲存指令等輸出時,將臨時發送至資 料冋速緩衝記憶體1 52,或經由内部匯流排丨55、記憶體 I/F153而由外部記憶體來保持。 又,亦可經由内部匯流排155,進行視訊或音訊等於低 速元件等與作為介面之I/O 154等間之交換處理。 圖9係實現資料校準器1〇3之方法之一。表示外部記憶體 160為64位元寬度,内部暫存器1〇〇為8〇位元寬度之情形。 藉由來自指令解碼器之指令,位元組致能控制部203 產生位址信號。藉由該位址信號,界定外部記憶體16〇之 位址。將自外部記憶體16〇中讀出之資料寫入至内部暫存 131931.doc •20- 200915883 器1 00時,產生作為寫入時序之致能信號。藉由位址之低 位位元’ α第—次之外部記憶㈣G之讀4,可判別能夠 對内部暫存器100寫入之位置。 亦即,取得校準之外部記憶體上之資料線1000,可藉由 位兀組致能控制部203,而對内部暫存器資料1100寫入所 有資料。 於下一週期中,自外部記憶體160之資料線1001讀出内
部暫存器資料1100之其餘資料,並藉由位元組致能控制部 2〇3產生位兀組致能信號31〇,對内部暫存器資料I〗⑻進行 寫入0 此時,自外部記憶體所讀出之資料之中,未對内部暫存 器100寫入之資料則可藉由臨時保持等,而於下一存取中 使用,藉此削減讀出週期(如何進行一次保持,圖9中尚不 明確)。 圖10表示進行兩线波處理作為圖像處理之情形時之資 料流程。於本圖中,使用14位元組之資料進行6抽頭遽波 處理,縱、橫、傾斜方向均產生9位元組之半個像素資 料。其後,進而亦使用該9位元組資料進行2抽頭遽波處 理,結果產生8位元組之四分之一像素資料。
否資料導入至 ’因此使SIMD 首先,將14位元組寬度資料5〇〇之中適當 SIMD演算器102。此時需要9位元組之結果 演算器之8個演算器2〇1進行動作。
入, 進行6抽頭FIR濾波處理,而以6個週期進行資料之導 每個週期錯開1位元組對81]^〇演算器1〇2導入資料。 131931.doc 200915883 因此,需要9位元組+6抽頭—1之位元組數,必須導入之位 元組數為14位元組。 可藉由移位暫存器200而以丨位元組為單位,將經錯開之 資料導入至SIMD演算器102,6個週期後獲得9位元組之演 算、。果該,寅算結果臨時寫回至内部暫存器1〇〇,於下一 a 頁濾波中再次使用。此時,當内部暫存器⑽之資料寬 度並非9位元組之情形時,9位元組以外之部分可為任何
為了進行下一 2抽頭遽波處理而將保存於内部暫存象 二〇中之9位元組資料導入至演算器201。此時,使8個演| :2〇1進行動作。& 了進行2抽頭濾波處理,而於第-週其 :最前面之8位元組’並於下一週期導入已移位“… =料。於2個週期之處理結束之時刻,可獲"位元心 ’將該演算結果202寫回至内部暫存器ι〇〇,藉此, 由頭遽波之處理後,可實現2抽頭濾波處理。 圖麻元組寬度定義㈣暫存㈣。之情形時 資料=寬度之資料之儲存方法。通常結合14位元組之 度相^内部暫存料寬度,但當最大寬 又相對於所有處理而言使 内部鲂卢。使用_人數極少之情形時,為了削減 暫存”…〇〇之電路規模而可藉由儲存於全部之複數個 量為n於該情形時讀取谭數 資料1300與1301,構成像 使用暫存器2與暫存器3之 於暫存器0與暫存器丨中保存有 素資料1之14位元組。同樣地, 13I931.doc -22· 200915883 資料1302與資料1303構成像素資料2之14位元組。於使用 時’例如’指定暫存器4作為來源,描述資料寬度14與助 憶碼(mnemonic code) ’藉此可將暫存器4與暫存器5之資料 導入至移位暫存器200中。 圖12表示於10位元組寬度之内部暫存器100中儲存14位 元組寬度之資料之情形時使用演算器之濾波處理。 利用圖像壓縮技術,進行6抽頭濾波處理之後,進行2抽 頭濾波處理之情形時,自14像素產生9像素圖像,進而藉
由2抽頭濾波處理產生8像素圖像。於如此處理之情形時, 必須於内部暫存器100中保持14像素之相應資料,第一條 線之14像素圖像資料,高位1〇位元組保存於暫存器〇中 作為資料1300,低位4位元組保存於暫存器丨中作為資料 削。該等資料導人至SIMD演算器⑽中,並由移位暫存 器擔進行成形。橫向之6抽頭遽波處理,根據⑷象素資料 之最初之6像素求出。因此,可利用移位暫存H2G0於各週 期中以1位元組為單位將該等資料導人至演算H2G1中而长 出。6個週期後所輪出之演算結果2〇2,寫回至内部暫存器 100中,並導入至下—濾波處理。 ° 根據以上之構成 資料寬度之情形時 100與該資料寬度— (第二實施形態) ,即使於演算處理需要並非2之乘幂之 ,亦可藉由使演算器201及内部暫存器 致來提高處理性能。 131931.doc -23- 200915883 與第一實施形態之演算單元不同之處在於,將移動向量 暫存器104更換為移動向量暫存器17〇,進行設想之移動向 置之處理,以自匯流排I/F進行寫入,以及將索引產生器 105變更為索引產生器171。 實際上H.264中,移動向量對丨個區塊之處理圖案僅限於 40至50左右之處理。
因此,預先將該處理圖案(移動向量)作為資料全部寫入 至移動向量暫存器Π0中。而且,移動向量判定器1〇6可自 該移動向量暫存器170中提取移動向f,由移動向量判定 器106設定能夠進行適當處理之内部暫存器1〇〇之位址,並 將其設定於SIMD演算器102之移位暫存器2〇〇中。 以下’對寫入移動向量暫存器17〇後之動作進行詳細敍 述。 為了藉由指令解碼器1〇1對内部暫存器1〇〇進行存取,而 藉由移動向量選擇信號304自移動向量暫存器17〇中選擇適 當資料(移動向量305),移動向量判定器1〇6參考適當移動 又,藉由自指令解碼器101所輸出之移動向量判定器控 制信號’變更使用所參考之移動向量3G5之内部演算^ 式。例如若為2階段濾波處理時,則用於變更第 凡盥 第二階段之移動向量305之處理方式。 又” 將藉由移動向量判定器_界定之偏移值、與基本索引 編號300相加’選擇對刪演算器ι〇2輸 二 303。移位暫w接㈣選擇之資料。錢,進 131931.doc -24- 200915883 指令解碼器101輸出演算控制信號3〇1,並對s刪演算器 102之演算器201通知演算之種類。 又’藉由利用移動向量判定器⑽而輸出至移位暫存器 罵中之控制信I線309,進行來自移位暫存器2〇〇之輸出 資料之加權,而演算器2〇1使用其進行演算處理。 對演算器201發送移位暫存器細之資料,此時演算器 2〇1之安裝數結合演算指令所需之資料寬度進行安裝。= 即’若演算結果需要9個,則演算器2〇1之安褒數亦為9 個。該演算器之安裝數,若安裝最大數則可能導致電路規 模增大,因此亦可考慮必要性能,削減安裝數。
如此,即使藉由演算器201演算之寫回資料3〇2為並非2 之乘冪之位元組數,只要係内部暫存器1〇〇之資料寬度以 下’則寫回資料302亦可於1個週期中寫入。 X 以上,根據實施形態對由本發明者開發之發明進行了具 體說明,但勿庸置疑本發明並非限定於上述實施形態,可 於不脫離其精神範圍内進行各種變更。 [產業上之可利用性] 本發明可有效用於進行需要複數次濾波處理之資料處理 時。本說明書中列舉H.264AVC等圖像解碼、編碼為例, 但並非限定於此,亦可適用於聲音等處理。 【圖式簡單說明】 圖!係用以說明6抽頭FIR渡波處理及2抽頭據波處理之概 念圖。 圖2係用以說明本發明之橫向6抽頭FIR濾波處理之概念 131931.doc -25- 200915883 圖 圖 圖3係用以說明本發明之縱向6抽頭FIR濾波處理之概念 之 圖4係用以說明本發明之傾斜方向6抽頭FIR濾波處理 概念圖。 圖5係用以說明本發明之2抽頭濾波處理之概念圖。 圖6係表示本發明第一實施形態之演算單元之資料流程 之概念圖。 w 施形態之演算單元之指令 圖7係表示對於本發明第一實 碼之構成的構成圖。 的 圖8係表示使用著本發明之演算單元之處理器之構成 構成圖® 圖9係表示本發明 資料排列的圖。 之次鼻單元中所包含之資料校準器之
FIR ϋ 圖10係表示本發明第一實施形態之演算單元之6抽頭 濾波處理及2抽頭濾波處理之流程之圖。 圖11係表示設想内部暫存器為1G位核寬度時本發明第 -實施形態之演算單元儲存14位元組資料之情形的資料儲 存方法之概念圖。 圖12係表示將圖1丨之資料導入至本 十《 λ乐實施形態之 演算單元中之方法的圖。 圖13係表示本發明第二實施形態之演茸 、异早凡之資料流程 之概念圖。 【主要元件符號說明】 131931.doc -26- 200915883 100 内部暫存器 101 指令解碼器 102 SIMD演算器 103 資料校準器 104 移動向量暫存器 105 索引產生器 150 演算單元 151 指令高速緩衝記憶體 Γ; 152 資料高速緩衝記憶體 153 記憶體I/F 154 I/O 155 内部匯流排 200 移位暫存器 201 演算器 202 演算結果暫存器 400 操作碼 U 401 演算寬度 402 第一來源暫存器編號 403 第二來源暫存器編號 404 目的地暫存器編號 131931.doc -27-
Claims (1)
- 200915883 十、申請專利範圍: 1· -種演算單元,其包括8細演算器及指令解碼器,上述 =MD演算器包括複數個能夠執行第一演算處理及第二演 算處理之决算器’上述第一演算處理係於第一週期中進 行-個特定處理’上述第二演算處理係於與上述第一週 期Μ之第二週期中進行其它特定處理;其特徵在於: 根據經導入之指今棋,μ、+、人Α • 、 7碼上述指令解碼器能夠界定上述 複數個演算器中進行動作之個數。 I 2.如清求項】之演算單元,其中上述§_演算器進而包括 移位暫存器; =經導入之指令瑪,上述指令解碼器對 存Is導入資料。 B 引產生器員2之次算單^ ’其中進而包括内部暫存器與索 =自:述指令解碼器之輸入而輸出上述内部暫存 參照上述位址將上述内部暫存器之資料導人 .,至上述移位暫存器中。 4. 如請求項3之演算單元,其中 上述第一週期包含特 述第-週期中輸出第—演it:脈週期,並於每-個上 各時脈週期結束後,將上於上述第一週期中之 5. 如請求項4之演算翠元;7位暫存器中之資料移位。 6如^述第—演算結果儲存於上述内部暫存器十。 6. 如請求項5之演算單元,其巾 I臀存W 131931.doc 200915883 述第二週期= = 時脈週期’並於每-個上 各時脈週期結束後,:::果’於上述第二週期中之 7.如請求f上述移位暫存器中之資料移位。 月衣項6之演算單元,其中 將上述第二演算於 8·如請求項7之演算單:,其7上述内部暫存器中。 資^述第二演算處理中導人上述第—演算結果作為上述 9. 器、置,其包括:移位暫存器、SIMD演算 ,θ ^暫存器、索引產生器、以及移動 向篁暫存器,且上述SIM 勁 一 —μ /秀算盗包括複數個能夠執行第 决异處理及第二演算處理之演算 理係於第一週期中推一, 、异處 理… 進仃一個特定處理,上述第二演算處 理係於與上述第一週一 不冋之第二週期中進行其它特定 處理,其特徵在於: 4據丄導入之柏令碼,上述指令解碼器界定上述複數 個演算器之中進行動作之個數; 根據經導入之指合旗_,L & ^ 上述才曰令解碼器將移動向量資 料儲存且輸出至上述移動向量暫存器中; 、 “、、上述^ 7解碼器之輸出及上述移動向量資料,上 述索引產生器輸出上述内部暫存器之位址,並參照上述 位址將上述内部暫存器之資料導入至上述移位暫存器 中,由上述SIMD演算器進行演算。 Π).-種圖像濾、波裝置’其包括:移位暫存器、simd演算 131931.doc 200915883 :馬ΓΓ㈣'動向量資料之移動向量暫存器、指令 写勺括暫“、以及索51產生11 ’上述SIMD演算 二包=個能夠執行第一演算處理及第二演算處理之 I L —演算處理係於第—週期中進行-個特 定處理,上述第二演算虚# 仃個特 η— 處係於週期不同之第二週期令 進仃其匕特定處理;其特徵在於: 根據經導入之指合石民,ρ ,+、Α 個令笪哭“令解碼器界定上述複數 個决异器中進行動作之個數; |数 根據來自上述指令解碼器之輸出, 器將適#的移動向量資料輸出至上述索引產^中暫存 述mr令解碼器之輸出及上述移動向量資料,上 :索引產生讀出上述内部暫存器之位址,並參照上述 位址將上述内部暫存器之資 中,由上述S軸寅算器進行演算導入至上述移位暫存器 U.如請求項1之演算單元’其中包含保持有移動向量之移 動向量暫存器,且包括進行第—$之移 理時,可解讀指令之解碼器:t ^第一演算處 θ 。 述指令可選擇由指令碼 知疋之移動向1暫存器。 12.如請求項U之演算單元’其中包括解讀指令之解碼器, 上述指令根據經選擇之移動向量暫存器所輸出之移 量,變更進行第一演算處理或第二演算處理之垂㈣ 波,抑或是進行水平濾波之處理方法。 直濾 131931.doc
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007177299A JP2009015637A (ja) | 2007-07-05 | 2007-07-05 | 演算ユニット及び画像フィルタリング装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW200915883A true TW200915883A (en) | 2009-04-01 |
Family
ID=40213710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097120971A TW200915883A (en) | 2007-07-05 | 2008-06-05 | Computing unit and image filtering device |
Country Status (5)
Country | Link |
---|---|
US (1) | US20090013152A1 (zh) |
JP (1) | JP2009015637A (zh) |
KR (1) | KR20090004574A (zh) |
CN (1) | CN101339649A (zh) |
TW (1) | TW200915883A (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010192983A (ja) * | 2009-02-16 | 2010-09-02 | Renesas Electronics Corp | フィルタ処理装置及び半導体装置 |
US8171258B2 (en) * | 2009-07-21 | 2012-05-01 | Apple Inc. | Address generation unit with pseudo sum to accelerate load/store operations |
CN104126169B (zh) * | 2011-12-22 | 2018-11-09 | 英特尔公司 | 用于在两个向量寄存器的相应打包数据元素之间执行绝对差计算的系统、装置和方法 |
US20190205738A1 (en) * | 2018-01-04 | 2019-07-04 | Tesla, Inc. | Systems and methods for hardware-based pooling |
CN110522441B (zh) * | 2019-08-01 | 2022-03-08 | 北京今科医疗科技有限公司 | 一种心电数据处理方法及装置 |
-
2007
- 2007-07-05 JP JP2007177299A patent/JP2009015637A/ja not_active Withdrawn
-
2008
- 2008-06-05 TW TW097120971A patent/TW200915883A/zh unknown
- 2008-06-26 KR KR1020080061002A patent/KR20090004574A/ko not_active Application Discontinuation
- 2008-07-03 CN CNA2008101281134A patent/CN101339649A/zh active Pending
- 2008-07-07 US US12/168,416 patent/US20090013152A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2009015637A (ja) | 2009-01-22 |
US20090013152A1 (en) | 2009-01-08 |
KR20090004574A (ko) | 2009-01-12 |
CN101339649A (zh) | 2009-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9392292B2 (en) | Parallel encoding of bypass binary symbols in CABAC encoder | |
US9292899B2 (en) | Reference frame data prefetching in block processing pipelines | |
US7236177B2 (en) | Processing digital video data | |
US20090110077A1 (en) | Image coding device, image coding method, and image coding integrated circuit | |
US20060072674A1 (en) | Macro-block level parallel video decoder | |
CN109155856B (zh) | 用于视频编解码的利用近邻块模式的运动估计的方法和系统 | |
TW200915883A (en) | Computing unit and image filtering device | |
TW201404158A (zh) | 減少移動補償及顯示刷新之功耗的dram壓縮方案 | |
CN101729893B (zh) | 基于软硬件协同处理的mpeg多格式兼容解码方法及其装置 | |
JPH11225334A (ja) | Mpeg−2画像復号器の分散値算定アクセラレータ | |
CN102932643B (zh) | 一种适用于hevc标准的扩展可变块运动估计电路 | |
TWI527439B (zh) | 用於運動估計的徹底子巨集區塊形狀候選儲存及復原協定 | |
JPH10108199A (ja) | 画像符号化装置 | |
TW535107B (en) | Data processing device | |
KR20070063580A (ko) | 비디오 처리 | |
JP2008060836A (ja) | 動きベクトル探索方法及び装置 | |
US9615104B2 (en) | Spatial variant dependency pattern method for GPU based intra prediction in HEVC | |
JP2682402B2 (ja) | データ処理装置 | |
TWI326433B (en) | Method for saving interpolation data | |
Katayama et al. | A block processing unit in a single-chip MPEG-2 video encoder LSI | |
JP2005253015A (ja) | 動きベクトル検出装置、動きベクトル検出方法、及びプログラム | |
JP2004356673A (ja) | 動きベクトル検出方法及び同方法を用いた画像処理装置 | |
US10440377B2 (en) | Motion estimation for video processing | |
TWI402771B (zh) | 應用於多核心處理器之快速整數離散餘弦轉換方法 | |
Lai et al. | VLSI implementation of the motion estimator with two-dimensional data-reuse |