TW200806039A - Method and apparatus for processing algorithm steps of multimedia data in parallel processing systems - Google Patents
Method and apparatus for processing algorithm steps of multimedia data in parallel processing systems Download PDFInfo
- Publication number
- TW200806039A TW200806039A TW096101019A TW96101019A TW200806039A TW 200806039 A TW200806039 A TW 200806039A TW 096101019 A TW096101019 A TW 096101019A TW 96101019 A TW96101019 A TW 96101019A TW 200806039 A TW200806039 A TW 200806039A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- block
- processing
- computing elements
- parallel
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000008569 process Effects 0.000 claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 11
- 238000009795 derivation Methods 0.000 claims description 6
- 238000006073 displacement reaction Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 description 13
- 239000000463 material Substances 0.000 description 9
- 238000005192 partition Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 229930091051 Arenine Natural products 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Multi Processors (AREA)
- Image Input (AREA)
Description
200806039 九、發明說明: 【發明戶斤屬之技術領域3 本申請案請求美國專利申請案第60/758,065號之利 益’其係於2006年一月1〇日所提出,其之揭示内容在此合 5 併為參考文獻。 發明領域 本發明大致係關於平行處理。更具體地說,本發明係 關於用來將平行處理系統中之多媒體資料之處理排程之方 B 法與裝置。 10 【ittf才支冬好】 發明背景 多媒體資料之越來越多的使用已導致越來越多對於更 快速的和更有效率的處理這些資料及即時傳送其之方式之 需求。具體地說,已有越來越多對於更快速和更有效率平 ‘ 15械處理多媒體資料之方式之需求,諸如影像和相關的音 φ 訊。平行處理之需求通常例如在諸如多媒體資料之壓縮和/ 或解壓縮之計算密集之程序期間所產生的,其需要相對大 量的計算,其仍需要足夠快地完成,如此使得即時地傳送 音訊和視訊。 20 目此,持續改進多媒體資料之平行處理上的努力是令 人滿意的。特別令人滿意的是發展更快速和更有效率的; 法來平行處理這些資料。這些方法需處理區塊平行處理, 子區塊平行處理’和雙線性過濾平行處理。 【發明内容】 200806039 發明概要 本發明可以許多不同方式來實現,包括做為一方法及 一電腦可讀取之媒體。本發明之許多不同的實施例在下面 討論。 5 在具有組態來平行地處理資料變數之計算元件之一平 行處理陣列中,——方法包括載入對一平行處理器之多個計 算元件之一演繹法,其中該演繹法包括多個處理步驟,且 其中多個計算元件之每一個被組態來處理與該計算元件相 關之一資料變數,載入平行處理器之多個計算元件之選擇 10 碼,其中該等選擇碼識別哪些演繹法步驟要由計算元件應 用至資料變數,以及由計算元件應用演繹法處理步驟至資 料變數,其中對每個計算元件來說,僅那些由選擇碼所識 別之處理步驟被應用至資料變數。 在其他觀點中,一電腦可讀取媒體具有電腦可執行之 15 指令於其上,其係供在一平行處理陣列中之一處理方法 用,該陣列具有組態來平行地處理資料變數之計算元件, 該方法包括載入一平行處理器之多個計算元件之一演繹 法,其中該演繹法包括多個處理步驟,且其中多個計算元 件之每一個被組態來處理與該計算元件相關之一資料變 20 數,載入平行處理器之多個計算元件之選擇碼,其中該等 選擇碼識別哪些演繹法步驟要被計算元件應用至資料變 數,並由計算元件應用演繹法處理步驟至資料變數,其中 對每個計算元件來說,僅有由選擇碼識別的那些處理步驟 被應用至資料變數。 6 200806039 本發明之其他目標與特徵將藉由觀看說明,申請專利 範圍及所附圖式而變得明顯。 圖式簡單說明 第1圖觀念地說明一 1080i高晝質(HD)框架之巨集區 5 塊。 第2A-2B圖說明在一影像框架内之諸如巨集區塊之區 塊之配置。 第3A-3C圖說明將巨集區塊從其在一影像内之配置映 射至個別平行處理器。 10 第4 A - 4 E圖說明對許多不同的影像格式,將影像映射至 個別之平行處理器。 第5A-5B圖說明用以將影像之子劃分映射至個別平行 處理器之16x8映射。 第6A-6B圖說明用以將影像之子劃分映射至個別平行 15 處理器之16x4映射。 第7A-7C圖說明根據本發明之一實施例將影像區塊映 射至平行處理器之其他方法。 第8A-8C圖說明一影像格式之資料結構之進一步之細 節,包括亮度和色度資訊。 20 第9A-9C圖說明根據本發明之一實施例,用來映射多個 影像區塊至平行處理器之許多不同的其他方法。 第10A-10C圖說明根據本發明之一實施例之資料區塊 資料位置,子區塊位置,子區塊旗標資料位置,和區塊型 式資料。 7 200806039 第11A-11B圖說明演繹法處理步驟及用以識別哪些處 理步驟應用至哪些資料變數之選擇碼。 笫12圖5兒明一平行處理器。 類似的翏考數字指稱圖式中之對應部份。 5 【方包】 較佳實施例之詳細說明 在此所描述之發明處理平行處理增強之三個主要領
域:處理區境平行處理,子區塊平行處理,以及類似㈣ 繹法平行處理。 〃 10 區後平行處理 π‘个%,不贫明係 …州々、川从丁 ^丁爽理多媒 15 20 資料之更有效率之方法。已知在許多不同的影像格式中 影像被劃分為區塊’當—般以矩陣型式來觀看影像時, 具有“較晚的’’區塊或_般落在影像巾其他區塊之下^及 邊之那些區塊,視來自“較早,,區塊之資訊而定,即,那 在較晚區塊上面和左邊之影像。較早的區塊必須在較晚 之前加以處理,因為較晚者需要來自較早區塊 ^關性資料之資訊。因此,輯(或其之部份)以其相關性 ^之順序被傳运至許多不同的平行處理器。較早區塊先 ♦运給平行處理器,較晚區塊較晚傳送。區塊儲存於平 ㈣ϋ中之特定位置中’且視需要加以 :時,每倾塊具有以特定位置位於_特定組之較= =其之相關性貧料。以此方式,其相關性資料可以相 ^令來。即’較早的輯被位移如此使得可」 8 200806039 單一一組命令來區塊較晚區塊,該等命令指示每個處理器 從特定位置取回其相關性資料。藉由允許每個平行處理器 以相同的命令集合來處理其區塊,本發明之方法消除傳送 分離命令給每個處理器之需要,代之允許一單一全域命令 5組被傳送。此得到較快速且較有效率之處理。 第1圖觀念性地說明一般被觀看時和/或儲存於記憶體 中時,一影像之示範性框架,為其之矩陣型式。在此範例 中,一 1080i HD影像矩陣10被劃分成68行之12〇個巨集區 塊,每一個標號12。一般來說,諸如此1〇8〇丨框架之影像係 1〇以個別的巨集區塊12來加以處理的。即,一或多個巨集區 塊12由一平行處理陣列之每個計算元件(或處理器)來處 理。然而,在本發明通常於巨集區塊12之處理之環境中討 論之同時,應體會到本發明包括影像及其他資料至任何部 份之劃分,其通常稱為區塊,其可被平行地加以處理者。 15 如上述,諸如1第1圖之1080i HD框架之影像之巨集區 塊包括相關性資料’如第2A-2B圖中進一步說明的。根據諸 如但不受限於h.264先進視訊編碼標準及vc-i MPEG-4標 準之標準,一影像之區塊R之處理需要來自區塊a,d,b*ct 相關性資料(例如内插等所需之資料)。即,根據這些標準, 20 一影像之每個區塊之處理需要來自恰在左邊之區塊之相關 性資料,以及來自對角線地恰左上之區塊,恰在上方之區 塊以及對角線地恰在右上之區塊之相關性資料。因此區塊a 亦依賴來自區塊d和b之資訊而定,區塊b依賴來自區塊4之 資訊等,同時區塊d不依賴來自任何其他區塊之資訊。因此 200806039 可看到這些區塊之平行處理需要對角線上之處理,區塊d先 處理’之後為區塊a和b,因為它們依賴來自區塊仅資訊, 然後區塊R*c,因為它們依賴來自區塊a,d和b之資訊等。 然後參考第3A-3C圖,因此可看出對最佳化平行處理來 5說’區塊可映射至處理器,且依序加以處理,較早的區塊 比較晚的區塊先處理。第3A圖說明當影像顯示給一觀看者 時,-示範性影像之巨集區塊結構。如上述,第3A圖之區 塊以保持其相關性資料給較晚區塊之順序來加以處理。第 侧說明必須處理之對角線,以它們必須被處理以保留其 10相關性資料以供較晚區塊用之順序。每列說明一分離之對 角線’每個對角線僅需來自其上方之列之相關性資料。例 如,區塊()〇先被處理’因其位於影像之最左上角,且如此 沒有相關性資料。區塊0〇接下來被處理,且如此 一列中’因其僅需要來自區塊0。之相關性資料。接下來處 15理區塊1命1〇,且因此出現在隨後之列中,因為區塊n需要 來自區塊〇0和〇〇之相關性資料,且區塊1〇需要來自區塊〇〇 之相關性資料。因此可看出第3A圖中之區塊之每個對角 線,其由虛線強調者,可映射至—平行處理陣列之列中, 如第3B圖中所示的。. 20 炒第则中所示的,映射區塊至計算元件之列中保 留在每,列上之所有需要的相關性資料,困難仍然存在。 更具體地説,對每-個區塊之相關性資料仍通常位於相關 於該區塊之不同位置中。例如,從第3A圖中,可看到區塊 41具有位於隨後之區塊中之相·資料,明時鐘之方 10 200806039 向:3^1(),2()和30。當如第3B圖中所示般映射至處理器中時, 這些處理器如箭號所示般定位,處理器hjojo和3〇配置於 區塊4!上之一“L”形狀中。對照來說,對區塊9S之相關性資 料位於區塊83,82,72和62中,其如箭號所示般配置。這說明,
5為使每個區塊在一處理陣列内所示之位置上處理,每個計 算元件將需要其自己的命令,指示其取回相關性資料。換 句話說,因為對每個區塊之相關性資料不同地對每個區塊 配置(如區塊七和%所示的)’所以必須將分離的資料取回命 令推入每個處理器中,減缓可處理影像之速度。 在本發明之實施例中,藉由在處理該區塊之前位移對 每個區塊之相關性資料來克服此問題。熟悉技藝之人士將 體會到可以任何方式來位移相關性資料。然而,在第3(:圖 中說明位移相關性資料之-方便方法’其中包含相關性資 料之區塊被位移至上述之“L”形狀中。即,當處理區塊χ時, 15其需要來自區塊入①之相關性資料。在影像内,這些區塊分 別直接位於X上,至恰左上方,恰在左邊,及恰右上。在平 行處轉肋,則可分雜移這些區魅χ上之二個處理器 位置,三個上方之處理器位置,—上方之處理器位置,以 及恰在右上方之處理器位置。例如,在第犯圖中,為處理 2〇區塊93,每一個可位移包含區塊之列至右邊-個位 置,將區塊H72和62至特性之“L,,形狀中。 “ τ,,错由在處理區塊χ之前位移所有這些相·資料至此 立二狀^,可使關_命令集合錢縣悔塊X。此 思“令集合僅於-單-載人操作中被載至平行處理器, 11 200806039 每個處理器載入分離命令集合。當處理影像 、孰=間節省,特別對大的處理陣列。 一^ 4之人士將體會到上述方法僅為本發明之一實 二更具體地說’將體會到在資料可位移 狀
10 ==本發明並非受限於資料區塊至此組態之位移 ==發明包含相關性資料至任何組態,或特性位置之 ㈣2可—般用來供每個要被處理之區《用者。具體地 同的影像格式可具有位於非第2A圖中所示的那 些之區塊中之相關性資料,形成除了“L”形狀之外之其他特 性位置或形狀,其更方便使用者。 、
也悉技藝之人士亦將體會到在本發明至目前為止已於 具有多個巨集區塊之叫_框架之環境中說明之同時,本 發明包含可分成任何劃分之影像格式。即,本發明之方法 可雜何框架之任何劃分來使用。第4請朗此點,其顯 15不許少型式之框架之對角線可如何被映射至不同數目之處 理器列。在第4A圖中,如所示可將,框架之對角線映射 至連續列之處理器,建立—梯形(或者為—長菱形,或可能 甚至為二者之組合)佈局,其中使用257列之處理器,在一 單歹J中使用表大61個處理器。較小的框架使用較少的 20列,和較少的處理器。例如,在第4B圖中,一CIF框架使用 59列處理器,在任何列中使用最多19列。類似地,在第 圖中,當映射至一平行處理陣列中時,625 SD框架會佔117 列,每列最大36個處理器。類似地,在第4D圖中,當映射 至相同的陣列中時,—SIF框架會佔.51列,且每列最大16個 12 200806039 處理斋。在第4E圖中,一525 SD框架會佔107列,且每列最 個處理器。如可從這些範例中看出的,本發明可用來 映射任何影像至一平行處理陣列中,其中可如上述在列内 位移資料,允許以一單一命令或命令集合來處理區塊。
亦應體會到本發明並不受限於嚴格的區塊和一平行處 理陣列之計算元件間之1對1對應。即,本發明包含其中區 塊之部份映射至計算元件之一部份之實施例,藉此增加處 理廷些區塊之效率和速度。第5人_56圖說明一個這樣的實施 J /、中〜像之區塊被劃分為二。然後如上來處理這些 0劃分之每一個,除了每個劃分被映射至一處理器之一半及 田共爽理之外。參考第5A圖 部,如所示。即 15 20 ,左上方之區塊被劃分成二個子區塊,〇和 2/類似地’其之旁邊之區塊被劃分成子區塊1和3等。注意 每個子區塊對相關性目的來說動作與一完整區塊相同: P子區鬼1僅而要來自區塊〇之相關性資料,最左邊的子 區塊2需要來自區塊_之相關性資料等。參考第沾圖,块 處理器之—半中,如所示,子區塊〇和 、,弟列中,子區塊2和子區塊3映射至第二列等。然 上述之相同方式來使用本發明之程序,子區塊沿 者處理盗之列如需要般位移。 以此方式,可看出比在先前實施例中在 佔用更多處理H ’其允許使較多平行處理陣列,且^ 得到較快速之影像處理。具體地說,參考第音所 使用之處理器之數目對每隔-列增加―:前二列每_ = 13 200806039 用一處理器,接下來二列每列使用二個處理器等。對照來 說,第5B圖說明其實施例對每列增加所使用之處理器數目 為1 :第一列使用一個處理器,第二列二個,以此類推。第 5A-5B圖之實施例如此一次使用較多的處理器,結果得到較 5 快的處理。 第6A-6B圖說明其他這樣的實施例,其中一影像之區塊 被劃分成四個子劃分。例如,一影像之左上區塊被劃分成 子區塊0,2,4和6。這些子區塊然後被映射至一處理器之部份 中,以其相關性資料所要求之順予。即,每個處理器可被 10 劃分成四個“子列”,每一個能夠處理一列子區塊。然後可 將許多不同的子區塊映射至處理器之子列中,如所示。例 如,0,1,2和3個子區塊可全部被映射至第一列中之二個 處理器中(第一處理器處理子區塊0,1,一2子區塊和一3子 區塊,而第二處理器處理另外的2和3子區塊),且據此加以 15 處理。注意本實施例在第一列中使用二個處理器而非一 個,且處理之數目每列增加二,如此允許每列使用更多的 處理器。 本發明亦包含區塊和處理器劃分成16個子劃分。另 外,本發明包括“肩並肩”處理多個區塊,即,每列處理多 20 個區塊。第7A-7C圖說明二個這些觀念。第7A圖說明一區 塊劃分成16個子區塊()0-8(),如所示的。熟悉技藝之人士將 體會到可分離地處理分離區塊,只要它們配置為使得他們 的相關性資料可被正確地判斷。第7B圖說明不相關的區 塊,即不需要來自彼此之相關性資料之區塊可平行地加以 14 200806039 處理之事實。每一個區塊如第7A圖中般劃分,為簡化起見, 所示的子區塊沒有下標。在此,例如,第一區塊劃分為16 個子區塊,標記為0至9,如上述同時地處理類似的數字。 只要在每一列中之區塊不需要來自彼此之相關性資料,它 5 們可被一起處理,在一相同的列中。因此,一群處理器可 同時處理多個不相關之區塊。例如,第7B圖中之四個區塊 之上方列(子區塊分別標記為0-9,10-19,20-29和30-39)可在 一單一集合之處理器中加以處理。 第7C圖,處理器之圖(沿著左手邊標號)及對應之載入 10 至其中之子區塊說明此點。在此,子區塊0-9可被載入至處 理器之劃分0-9中(其中處理器沿著左手邊標記)以形成鑽石 似的樣式,如所示。然後可將進一步之區塊載入至重疊之 處理器集合中,子區塊10-19載入至處理器4-13等。以此方 式,進一步之區塊之劃分,以及多個區塊至重疊之處理器 15 集合中之“鏈接”,允許更快速地伋畢更多處理器,得到更 快速之處理。 第7A-7C圖說明四乘四之處理。應了解到此相同之技術 亦可於一八乘八之處理中實現。 除了在不同的處理器中處理不同的區塊之外,亦應注 20 意到在相同區塊中之不同型式之資料可於不同的處理器中 處理。具體地說,本發明包含分離處理來自相同區塊之強 度資訊,亮度資訊和色訊資訊。即,來自一區塊之強度資 訊可與來自該區塊之亮度資訊分離地處理,其可與該自該 區塊之色訊資訊分離地處理。熟悉技藝之人士將觀察到亮 15 200806039 度和色訊貝訊可映射至處理器中並如上處理(即如所需般 位移等)且亦可加以劃分,劃分映射至不同的處理器,以增 =處理之效率。第8A_8CS1說明此。在第8A圖中,亮度資 料之一區塊可映射至一處理器,對應之“半區塊,,之色訊資 5 相同之處理器或不同者中。具體地說,注 意強度, w度和色訊肓料可被映射至相鄰之處㈣集合中,或許在 至)部份重疊之列之集合中,類似於第7]8圖。亦可將亮度 和色訊貢訊劃分成子區塊,以供在個別計算元件之劃分中 處理之用,如連結第5Α_5Β,和6Α_6Β圖連結描述的。具體 10地說,第8B-8C圖分別說明一框架之亮度和色訊資料至二和 四個子區塊之劃分。然後第8Β圖之二個子區塊可於不同半 部之處理器中處理,如連結第5A_5B圖描述的。類似地,可 在不同四分之一部份之處理器中處理第8C圖之四個子區 塊,類似在第6A-6B圖中所描述的。 15 在上述貫施例之一些包括以相同列或多個相同列之處 理器來肩並肩處理不同之區塊之同時,亦應注意到本發明 包括沿著相同行之處理器來處理不同的區塊,亦增加處理 之效率和速度。第9A-9C圖,其觀念性地說明由許多不同區 塊所佔據之處理器者,描述後者觀念之實施例。在此,處 2〇理器之列沿著垂直軸延伸,同時行沿著水平軸延伸。如此 可看到當映射至一處理陣列之列中時,一典型區塊會佔據 由區域100_ 104所4田述大致為梯形之形狀中之處理器。具體 地說,注意區域104不佔據許多處理器,如此少處理陣列之 總使用。此可至少部伤藉由處理恰在佔據區域100—104下之 16 200806039 資料之區塊來補救。此區塊可佔據區域1〇6_ιΐ2,其允許使 用更多處理器,特別在隨後之區塊間之“轉換,,區域1〇4屬 中以此方式’可更快速地完成處理,且陣列使用比使用 者欲僅在完成區域刚·刚中之區塊之處理後處理區域 5 1〇6-112之區塊來得多。 第9B-9C圖說明此觀念之進一步延伸。具體地說,注意 ^射,塊之此#直‘‘鏈接”可在二或更多區塊上持續,結果 传到局得多的陣列使用。具體地說,區塊可一個接一個映 射至相鄰之行中,區域116-120由一區塊佔據,區域122-126 10 由其他區塊佔據等。 應注意到長菱形之形狀可取代或連結梯形形狀來加以 使用。再者,任何不同行之映射之組合可由不同大小或組 合之長曼形和/或梯形實現以協助同時地處理多個串流。 、熟悉技藝之人士亦將觀察到上述之本發明之程序和方 法可由許夕不同的平行處理器來加以執行。本發明考慮使 何平行處理為,其具有多個能夠每一個處理影像資料 之一區塊並將這些資料位移以保留相關性之計算元件。在 許多這樣的平行處理器被考慮之同時,一個適當的範例描 述於美國專利申請案第11/584,480號中,其標題為“積體處 2〇理斋陣歹丨],指令定序器和I/O控制器”,其係於2006年十月 9曰所&出’其之揭示内容在此合併為參考文獻。 ill塊平扞虛 第l〇A-l〇C圖說明相關於子區塊平行處理之發明。根據 上述之視訊標準,每個巨集區塊12為16列乘以16行(i6x16) 17 200806039 資料位元(即像素)之矩陣,其分成4或更多子區塊2〇。具體 地說’母個矩陣分成至少四個相等之四分之一部份子區塊 20,其大小為8x8。每個四分之一部份子區塊2〇可進一步分 成具有8x4 ’ 4x8和4x4之大小之子區塊20。如此,任何已予 5區塊12可分成子區塊20,其具有8x8,4x8,8x4和4x4之大小。 第10A圖說明一區塊12,其具有一8x8子區塊2〇a,二個 4x8子區塊2〇b,二個8x4子區塊20c,以及四個4x4子區塊 20d。每個大小的子區塊2〇之數目若有的話可改變,以及其 在區塊12内之位置。再者,許多不同的大小之子區塊2〇之 10 數目和位置可每個區塊12每個區塊12不同。 如此,為以平行方式處理具有子區塊之區塊12,必須 先判斷子區塊之位置和大小。這是對每個區塊12做之耗時 判斷,其增加明顯處理成本至區塊12之平行處理。其需要 處理器分析區塊12兩次,一次判斷子區塊2〇之數目和位 15置,且然後再次以正確之順序來處理子區塊(記住一些子區 塊20可能需要來自其他子區塊之相關性資料以供處理用, 如上述,其就是為何必須先判斷許多不同的子區塊之位置 和大小)。 為減經此問題,本發明需要包括一特殊之型式資料之 20區塊,其識別在區塊12中之所有子區塊20之型式(即位置和 大小),如此避免需要處理器做此判斷。第1〇B圖圖說明區 塊12,並顯示十六個資料位置22,其可能形成對任何已予 子區塊20之第一資料位置(第一意指子區塊2〇之最左上之 項目)。對每個區塊12來說,這十六個位置22將包含旗標出 18 200806039 此資料位置是否構成一新的子區塊2〇之第一項目所需之資 料。若旗標出該位置,則此位置被認為是一資料區塊20之 起始點,且在其恰左邊之位置(若有的話)被認為是恰在左邊 之子區塊20之最後一行,且恰在上方之位置(若有的話)被認 5為疋恰在上方之子區塊之最後一列。若其未被旗標的 話,則此項目意義為一相同子區塊2〇之持續。如此,可看 出這十六個旗標資料位置22包含判斷子區塊2〇之位置,和大 小所必要之資料。 第10C圖說明根據本發明之型式資料區塊,其中一型式 10資料之區塊24,其具有一 KM之大小者,係與每個區塊12 相關的。區塊24之四個列對應於在區塊12中之四個列,其 包含旗標資料位置22。如此,藉由僅分析在每個型式資料 區塊24之每一列中之第〗,第5,第9和第13個資料位置,子 區塊20之位置和大小可加以判定。為此目的不再需要進一 b步之區塊12之分析。再者,在區塊2〇中之剩餘之資料位置 可用來健存其他資料,諸如子區塊型式(1本地預測,p_以 動作向量預測,以及B_雙向預測),區塊向量等。如此,如 在第10C圖中所看到的,僅那些構成—新子區塊之開始之資 料位置22被旗標出來,且在每個區_之列中之第ι,第$、, 20第9和第13個資料位置匹配該旗標。 相似性演繹法土行處理 其他平行處理最佳化之來源牽涉到同時處理 相撼之演澤法(例如類似的計算)。電腦處理牵涉I個= 計异:數值計算和資_動。這些計算係藉由處理不是計算 19 200806039 數,計算就是移動(或複製)所要的資料至-新位置之演绎 法來只現的。這樣的演繹法傳統上係使用一系列”任,,教$ 來處理’其巾若符合—特定鮮的話,則做-計算,同時 若不是的話,則不是不做計算就是做_不_計=。藉由 在夕個IF敘述中導銳,在每個資料中執行所要的總計算。 然而’有對此度量方法之缺點。首先,其是耗時的且對平 地里不可行。第二,其是浪費的,因為對每個圧敘述, 會做-計算’不是轉到下一個計算就是做其他的計算。因 10 15 20 、匕對母個肩繹法透過ip敘述所做的路徑來說,多達一 半的處理器功能(及可貴的晶圓空間)變成未使用的。第三, 其需要發展-唯-的碼以對每個唯一之資料集合實現演绎 法之每個排列。 … 解決方案為一演繹法之實現,其包含對許多分離計瞀 或資料移動之所有計算,其中所有資料可能㈣演繹法; 之^個步驟_,料行地處闕有不同㈣料。然後使 用選擇碼來判斷演繹法的哪些部份要應用至哪些資料。如 此’相同的碼(演繹法)一般應用至所有資料,且只有只有選 擇碼需對每筆資料加以修改關斷如何做每個計^在t 的優點為若多筆資料正在處理,其中許多處理步驟是相同 =則以共同的二計算及非共同之那些來應用—演绎法碼 來簡化為。為應用此技術至_的轉法,可藉由看指 令本身來發現相似性,或藉由以—較細單位之表示來表示 指令且然後尋找相似性。 第1A和11B圖說明上述觀念之一範例。此範例牵涉 20 200806039 ' 5 到用來在像素間產生中間值之雙線性濾波器,其中做特定 數字計算(雖然此技術可對任何資料演繹法來使用)。演繹法 需計算許多不同的值,使用相同基本集合之數字加法和資 料位移步驟,但這些步驟之順序和標號視所做的計算為而 定而不同。如此,在第11A圖中,1/2和3/4雙立方等式之 第一計算為數字53,其需要做7個計算步驟。第二計算為 數字18,其需要6個計算步驟,其之四個當它們在先前計 算中發生時之相同四個步驟共同且小序相同。第一等式之 • 最後二個計算再次具有與頭兩個計算重疊之計算步驟。對 10 1/2雙立方等式,以及三個第11B圖之雙線性等式之額外計 算全牽涉到相同計算步驟之許多不同的組合,且全具有四 個計算要做。 對每個等式來說,全部四個計算可使用一平行處理器 30加以執行,其具有四個處理元件32,每一個具有其自己 - 15 的記憶體34,如第12圖中所示的,連結一與每個演繹法之 步驟相關之選擇碼。有一與每個步驟相關之選擇碼,其命 令四個變數中的哪些受該步驟作用。例如,有九個說明於 第11A和11B圖之計算中之演繹法步驟。對第11A圖之第 一等式來說,第一步驟僅應用至第三和第四變數,其由與 20 該步驟相關之“0011”之選擇碼命令(其中若對該步驟和變數 之碼為“1”的話,步驟應用至一特定變數,且若其為”0”的 話不應用)。如此,一“0011”之選擇碼命令該步驟將僅應用 至第三和第四變數,而非第一和第二變數。第二步驟僅應 用至第二變數,如由選擇碼“0100”所命令的。相同的度量 21 200806039 方法對所有的步驟和所有等式之變數應用,其係使用所示 之選擇碼。 八 使用選擇碼優點為取代產生二十個演绛碼來做說明於 第11A和11B圖中之二十個不同的計算(或至少八個不同的 5演繹碼來做八個不同的數值計算),以及將那些演繹法之每 -:載入至四個處理元件之每一個中,僅需產生和載入一 =單㊉繹碼(載人至多個處理元件以供散佈之記憶體組 悲用,或載入至-單一記憶體位置,其在所有處理元件間 是共用的)。僅選擇碼需被產生並載入至不同的處理元件中 二實現所要的計算,其是簡單得多的。因為演繹碼僅應用 一次’選祕地且平行於财魏地,_增加了平行處 理速度和效率。 第11A和11B圖說明對一資料計算應用之選擇碼之使 用’用以選擇性地命令哪些演繹法步驟應用至資料之選擇 15碼相同地可供用來移動資料之演繹法之用。 前述描述,為說明之目的起見,使用特定的用語來提 供本發明之徹底了解。然而,對於熟悉技藝之人士來說, 為實施本發明不需要特定細節是明顯的。如此,本發明之 特定實施例之前述描述係呈現來供說明和描述之目的。它 2〇們並非預定為辦盡的或限制本發明至所揭示之精確型式。 許多修改和變化在觀看上述指導下是可能的。例如,本發 明可用來處理任何影像格式之任何劃分。即,本發明可平 行也處理任何格式之影像,無論它們是否為⑽⑴肋影 像’ CIFf;像’ SIF影像或任何其他。這些影像亦可劃分成 22 200806039 任何劃分,無論它們為一影像之巨集區塊或任何其他。又, 任何影像資料可如此處理,無論其為強度資訊,亮度資訊, 色訊資訊或任何其他。實施例被選擇和描述為最佳地說明 本發明及其實際應用之原理,以藉此使得熟悉技藝之人士 5袁仏地利用本發明,且連同許多不同之修改之許多不角因 實施例適於所考慮之特定用途。 本發明可實施於方法和用以實施那些方法之裝置之型 式中。本發明亦可實施為程式碥之型式,其實施於有形媒 體中者,諸如軟碟,CD-ROM,硬碟機,韌體或任何其他 1〇機器可讀取之儲存媒體中,其中當程式碼被载入至諸如一 電知之機為中且由之執行時,機器變成一用以實施本發 明之裝置。本發明亦可實施為程式碼之型式,例如無論儲 存於一儲存媒體中,載入至和/或由一機器執行,或於某傳 輸媒體上傳送,諸如在電線或電纜上,透過光纖或透過電 15磁輻射,其中當程式碼被載入至一諸如一電腦之機器中且 由之執行時,機器變成一用以實施本發明之機器。當於一 一般用途之電腦上實現時,程式碼區段結合處理器以提供 類似地於特定邏輯電路操作之一唯一裝置。 L圖式簡單說明j 2〇 第1圖觀念地說明一 1〇8〇i高畫質(HD)框架之巨集區 塊。 第2A-2B圖說明在一影像框架内之諸如巨集區塊之區 塊之配置。 第3A-3C圖說明將巨集區塊從其在一影像内之配置映 23 200806039 射至個別平行處理器。 第4A-4E圖說明對許多不同的影像格式,將影像映射至 個別之平行處理器。 第5A-5B圖說明用以將影像之子劃分映射至個別平行 5 處理器之16x8映射。 第6 A - 6 B圖說明用以將影像之子劃分映射至個別平行 處理器之16x4映射。 第7A-7C圖說明根據本發明之一實施例將影像區塊映 射至平行處理器之其他方法。 10 第8A-8C圖說明一影像格式之資料結構之進一步之細 節,包括亮度和色度資訊。 第9 A - 9 C圖說明根據本發明之一實施例,用來映射多個 影像區塊至平行處理器之許多不同的其他方法。 第10A-10C圖說明根據本發明之一實施例之資料區塊 15 資料位置,子區塊位置,子區塊旗標資料位置,和區塊型 式資料。 第11A-11B圖說明演繹法處理步驟及用以識別哪些處 理步驟應用至哪些資料變數之選擇碼。 第12圖說明一平行處理器。 20 類似的參考數字指稱圖式中之對應部份。 【主要元件符號說明】 10…影像矩陣 12…巨集區塊 100-112···區域 24
Claims (1)
- 200806039 十、申請專利範圍: 1· 一種在具有組態來平行地處理資料變數之計算元件之 - 一平行處理陣列中,該方法包含: 載入一平行處理器之多個計算元件之一演繹法,其 中該演繹法包括多個處理步驟,且其中該等多個計算元 件之每一個被組態來處理與該計算元件相關之一資料 變數; • 載入該平行處理器之該等多個計算元件之選擇 碼,其中該等選擇碼識別該等演繹法步驟之哪些要由該 等計算元件應用至該等資料變數;以及 由該等計算元件應用該等演繹法處理步驟至該等 資料變數,其中對每個計算元件來說,僅由該等選擇碼 識別之那些處理步驟要被應用至該資料變數。 2. 如申請專利範圍第1項之方法,其中對該等計算元件之 每一個來說: 該等處理步驟之每一個具有一與之相關之選擇 碼,其決定是否要應用該處理步驟至該資料變數。 3·如申請專利範圍第1項之方法,其中該等處理步驟之每 一個具有一與之相關之選擇碼,其決定是否該等計算元 件之任一應用該處理步驟至該等資料變數之任一。 4·如申請專利範圍第1項之方法,其中該等處理步驟包括 算數加法和資料位移。 5·如申請專利範圍第1項之方法,其中該演繹法之載入包 括載入該演繹法至一記憶體中,其係在該等多個計算元 25 200806039 件間共用的。 6. 如申請專利範圍第1項之方法,其中該演繹法之載入包 括載入該演繹法至多個記憶體中,其中該等多個記憶體 之每一個係與該等計算元件之一相關的。 7. —懂電腦可讀取之媒體,其具有電腦可執行之指令於其 上,其係供在一平行處理陣列中之處理方法用的,該陣 列具有組態來平行地處理資料變數之計算元件,該方法 包含: 載入一平行處理器之多個計算元件之一演繹法,其 中該演繹法包括多個處理步驟,且其中該等多個計算元 件之每一個被組態來處理與該計算元件相關之一資料 變數; 載入該平行處理器之該等多個計算元件之選擇 碼,其中該等選擇碼識別該等演繹法步驟之哪一些要被 該等計算元件應用至該等資料變數;以及 由該等計算元件應用該等演譯法處理步驟至該等 資料變數,其中對每個計算元件來說,僅有由該等選擇 碼識別之那些處理步驟被應用至該資料變數。 8. 如申請專利範圍第1項之電腦可讀取之媒體,其中對該 等計算元件之每一個來說: 該等處理步驟之每一個具有一與之相關之選擇 碼,其決定是否要應用該處理步驟至該資料變數。 9. 如申請專利範圍第1項之電腦可讀取之媒體,其中該等 處理步驟之每一個具有一與之相關之選擇碼,其決定是 26 200806039 否該等計算元件之任一應用該處理步驟至該等資料變 數之任一。 10. 如申請專利範圍第1項之電腦可讀取之媒體,其中該等 處理步驟包括算術加法和資料位移。 11. 如申請專利範圍第1應之電腦可讀取之媒體,其中該演 繹法之載入包括載入該演繹法至一記憶體中,其係在該 等多個計算元件間共用。 12. 如申請專利範圍第1項之電腦可讀取之媒體,其中該演 繹法之載入包括載入該演繹法至多個記憶體中,其中該 等多個記憶體之每一個係與該等計算元件之一相關。 27
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US75806506P | 2006-01-10 | 2006-01-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW200806039A true TW200806039A (en) | 2008-01-16 |
Family
ID=38257031
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096101018A TW200737983A (en) | 2006-01-10 | 2007-01-10 | Method and apparatus for processing sub-blocks of multimedia data in parallel processing systems |
TW096101019A TW200806039A (en) | 2006-01-10 | 2007-01-10 | Method and apparatus for processing algorithm steps of multimedia data in parallel processing systems |
TW096101017A TW200803464A (en) | 2006-01-10 | 2007-01-10 | Method and apparatus for scheduling the processing of multimedia data in parallel processing systems |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096101018A TW200737983A (en) | 2006-01-10 | 2007-01-10 | Method and apparatus for processing sub-blocks of multimedia data in parallel processing systems |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096101017A TW200803464A (en) | 2006-01-10 | 2007-01-10 | Method and apparatus for scheduling the processing of multimedia data in parallel processing systems |
Country Status (7)
Country | Link |
---|---|
US (4) | US20070189618A1 (zh) |
EP (3) | EP1971958A2 (zh) |
JP (3) | JP2009523291A (zh) |
KR (3) | KR20080085189A (zh) |
CN (3) | CN101371262A (zh) |
TW (3) | TW200737983A (zh) |
WO (3) | WO2007082042A2 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383421B2 (en) | 2002-12-05 | 2008-06-03 | Brightscale, Inc. | Cellular engine for a data processing system |
US7451293B2 (en) * | 2005-10-21 | 2008-11-11 | Brightscale Inc. | Array of Boolean logic controlled processing elements with concurrent I/O processing and instruction sequencing |
TW200737983A (en) * | 2006-01-10 | 2007-10-01 | Brightscale Inc | Method and apparatus for processing sub-blocks of multimedia data in parallel processing systems |
US8976870B1 (en) * | 2006-08-30 | 2015-03-10 | Geo Semiconductor Inc. | Block and mode reordering to facilitate parallel intra prediction and motion vector prediction |
US20080244238A1 (en) * | 2006-09-01 | 2008-10-02 | Bogdan Mitu | Stream processing accelerator |
US20080059763A1 (en) * | 2006-09-01 | 2008-03-06 | Lazar Bivolarski | System and method for fine-grain instruction parallelism for increased efficiency of processing compressed multimedia data |
US20080059764A1 (en) * | 2006-09-01 | 2008-03-06 | Gheorghe Stefan | Integral parallel machine |
US20080059467A1 (en) * | 2006-09-05 | 2008-03-06 | Lazar Bivolarski | Near full motion search algorithm |
US8165224B2 (en) | 2007-03-22 | 2012-04-24 | Research In Motion Limited | Device and method for improved lost frame concealment |
US8996846B2 (en) | 2007-09-27 | 2015-03-31 | Nvidia Corporation | System, method and computer program product for performing a scan operation |
US8284188B1 (en) | 2007-10-29 | 2012-10-09 | Nvidia Corporation | Ray tracing system, method, and computer program product for simultaneously traversing a hierarchy of rays and a hierarchy of objects |
US8264484B1 (en) | 2007-10-29 | 2012-09-11 | Nvidia Corporation | System, method, and computer program product for organizing a plurality of rays utilizing a bounding volume |
US8065288B1 (en) | 2007-11-09 | 2011-11-22 | Nvidia Corporation | System, method, and computer program product for testing a query against multiple sets of objects utilizing a single instruction multiple data (SIMD) processing architecture |
US8661226B2 (en) | 2007-11-15 | 2014-02-25 | Nvidia Corporation | System, method, and computer program product for performing a scan operation on a sequence of single-bit values using a parallel processor architecture |
US8243083B1 (en) | 2007-12-04 | 2012-08-14 | Nvidia Corporation | System, method, and computer program product for converting a scan algorithm to a segmented scan algorithm in an operator-independent manner |
US8773422B1 (en) | 2007-12-04 | 2014-07-08 | Nvidia Corporation | System, method, and computer program product for grouping linearly ordered primitives |
WO2009142021A1 (ja) | 2008-05-23 | 2009-11-26 | パナソニック株式会社 | 画像復号化装置、画像復号化方法、画像符号化装置、及び画像符号化方法 |
US8340194B2 (en) * | 2008-06-06 | 2012-12-25 | Apple Inc. | High-yield multi-threading method and apparatus for video encoders/transcoders/decoders with dynamic video reordering and multi-level video coding dependency management |
JP5340289B2 (ja) * | 2008-11-10 | 2013-11-13 | パナソニック株式会社 | 画像復号装置、画像復号方法、集積回路及びプログラム |
KR101010954B1 (ko) * | 2008-11-12 | 2011-01-26 | 울산대학교 산학협력단 | 오디오 데이터 처리방법 및 이를 적용한 오디오 데이터 처리장치 |
US8321492B1 (en) | 2008-12-11 | 2012-11-27 | Nvidia Corporation | System, method, and computer program product for converting a reduction algorithm to a segmented reduction algorithm |
KR101673186B1 (ko) * | 2010-06-09 | 2016-11-07 | 삼성전자주식회사 | 매크로블록의 연관관계를 고려하여 영상 데이터의 부호화 및 복호화를 병렬 처리하는 장치 및 방법 |
KR101698797B1 (ko) * | 2010-07-27 | 2017-01-23 | 삼성전자주식회사 | 영상 데이터를 분할하여 부호화 및 복호화를 병렬 처리하는 장치 및 상기 장치의 동작 방법 |
EP2606424A4 (en) * | 2010-08-17 | 2014-10-29 | Massively Parallel Tech Inc | SYSTEM AND METHOD FOR CARRYING OUT HIGH PERFORMANCE CALCULATION APPLICATIONS |
CN103959238B (zh) * | 2011-11-30 | 2017-06-09 | 英特尔公司 | 使用gpu/cpu体系结构的rsa的高效实现 |
US9172923B1 (en) * | 2012-12-20 | 2015-10-27 | Elemental Technologies, Inc. | Sweep dependency based graphics processing unit block scheduling |
US9747563B2 (en) | 2013-11-27 | 2017-08-29 | University-Industry Cooperation Group Of Kyung Hee University | Apparatus and method for matching large-scale biomedical ontologies |
KR101585980B1 (ko) * | 2014-04-11 | 2016-01-19 | 전자부품연구원 | 멀티-프로세서의 공유 메모리를 적극 활용한 cr 알고리즘 처리 방법 및 이를 적용한 프로세서 |
US20160119649A1 (en) * | 2014-10-22 | 2016-04-28 | PathPartner Technology Consulting Pvt. Ltd. | Device and Method for Processing Ultra High Definition (UHD) Video Data Using High Efficiency Video Coding (HEVC) Universal Decoder |
CN112040546A (zh) | 2015-02-10 | 2020-12-04 | 华为技术有限公司 | 一种基站、用户终端及载波调度指示方法 |
CN108182579B (zh) * | 2017-12-18 | 2020-12-18 | 东软集团股份有限公司 | 用于规则判断的数据处理方法、装置、存储介质和设备 |
CN115756841B (zh) * | 2022-11-15 | 2023-07-11 | 重庆数字城市科技有限公司 | 一种基于并行处理高效数据生成系统及方法 |
Family Cites Families (108)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3308436A (en) * | 1963-08-05 | 1967-03-07 | Westinghouse Electric Corp | Parallel computer system control |
US4212076A (en) * | 1976-09-24 | 1980-07-08 | Giddings & Lewis, Inc. | Digital computer structure providing arithmetic and boolean logic operations, the latter controlling the former |
US4575818A (en) * | 1983-06-07 | 1986-03-11 | Tektronix, Inc. | Apparatus for in effect extending the width of an associative memory by serial matching of portions of the search pattern |
JPS6224366A (ja) * | 1985-07-03 | 1987-02-02 | Hitachi Ltd | ベクトル処理装置 |
US4907148A (en) * | 1985-11-13 | 1990-03-06 | Alcatel U.S.A. Corp. | Cellular array processor with individual cell-level data-dependent cell control and multiport input memory |
US4783738A (en) * | 1986-03-13 | 1988-11-08 | International Business Machines Corporation | Adaptive instruction processing by array processor having processor identification and data dependent status registers in each processing element |
GB2211638A (en) * | 1987-10-27 | 1989-07-05 | Ibm | Simd array processor |
US4873626A (en) * | 1986-12-17 | 1989-10-10 | Massachusetts Institute Of Technology | Parallel processing system with processor array having memory system included in system memory |
US5122984A (en) * | 1987-01-07 | 1992-06-16 | Bernard Strehler | Parallel associative memory system |
US4943909A (en) * | 1987-07-08 | 1990-07-24 | At&T Bell Laboratories | Computational origami |
DE3877105D1 (zh) * | 1987-09-30 | 1993-02-11 | Siemens Ag, 8000 Muenchen, De | |
US4876644A (en) * | 1987-10-30 | 1989-10-24 | International Business Machines Corp. | Parallel pipelined processor |
US4983958A (en) * | 1988-01-29 | 1991-01-08 | Intel Corporation | Vector selectable coordinate-addressable DRAM array |
US5241635A (en) * | 1988-11-18 | 1993-08-31 | Massachusetts Institute Of Technology | Tagged token data processing system with operand matching in activation frames |
AU624205B2 (en) * | 1989-01-23 | 1992-06-04 | General Electric Capital Corporation | Variable length string matcher |
US5497488A (en) * | 1990-06-12 | 1996-03-05 | Hitachi, Ltd. | System for parallel string search with a function-directed parallel collation of a first partition of each string followed by matching of second partitions |
US5319762A (en) * | 1990-09-07 | 1994-06-07 | The Mitre Corporation | Associative memory capable of matching a variable indicator in one string of characters with a portion of another string |
US5963746A (en) * | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | Fully distributed processing memory element |
US5765011A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
DE69131272T2 (de) * | 1990-11-13 | 1999-12-09 | International Business Machines Corp., Armonk | Paralleles Assoziativprozessor-System |
US5150430A (en) * | 1991-03-15 | 1992-09-22 | The Board Of Trustees Of The Leland Stanford Junior University | Lossless data compression circuit and method |
US5228098A (en) * | 1991-06-14 | 1993-07-13 | Tektronix, Inc. | Adaptive spatio-temporal compression/decompression of video image signals |
US5706290A (en) * | 1994-12-15 | 1998-01-06 | Shaw; Venson | Method and apparatus including system architecture for multimedia communication |
US5373290A (en) * | 1991-09-25 | 1994-12-13 | Hewlett-Packard Corporation | Apparatus and method for managing multiple dictionaries in content addressable memory based data compression |
US5640582A (en) * | 1992-05-21 | 1997-06-17 | Intel Corporation | Register stacking in a computer system |
US5450599A (en) * | 1992-06-04 | 1995-09-12 | International Business Machines Corporation | Sequential pipelined processing for the compression and decompression of image data |
US5288593A (en) * | 1992-06-24 | 1994-02-22 | Eastman Kodak Company | Photographic material and process comprising a coupler capable of forming a wash-out dye (Q/Q) |
US5818873A (en) * | 1992-08-03 | 1998-10-06 | Advanced Hardware Architectures, Inc. | Single clock cycle data compressor/decompressor with a string reversal mechanism |
US5440753A (en) * | 1992-11-13 | 1995-08-08 | Motorola, Inc. | Variable length string matcher |
US5446915A (en) * | 1993-05-25 | 1995-08-29 | Intel Corporation | Parallel processing system virtual connection method and apparatus with protection and flow control |
JPH07114577A (ja) * | 1993-07-16 | 1995-05-02 | Internatl Business Mach Corp <Ibm> | データ検索装置、データ圧縮装置及び方法 |
US6073185A (en) * | 1993-08-27 | 2000-06-06 | Teranex, Inc. | Parallel data processor |
US5490264A (en) * | 1993-09-30 | 1996-02-06 | Intel Corporation | Generally-diagonal mapping of address space for row/column organizer memories |
US6085283A (en) * | 1993-11-19 | 2000-07-04 | Kabushiki Kaisha Toshiba | Data selecting memory device and selected data transfer device |
US5602764A (en) * | 1993-12-22 | 1997-02-11 | Storage Technology Corporation | Comparing prioritizing memory for string searching in a data compression system |
US5758176A (en) * | 1994-09-28 | 1998-05-26 | International Business Machines Corporation | Method and system for providing a single-instruction, multiple-data execution unit for performing single-instruction, multiple-data operations within a superscalar data processing system |
US5631849A (en) * | 1994-11-14 | 1997-05-20 | The 3Do Company | Decompressor and compressor for simultaneously decompressing and compressng a plurality of pixels in a pixel array in a digital image differential pulse code modulation (DPCM) system |
US6128720A (en) * | 1994-12-29 | 2000-10-03 | International Business Machines Corporation | Distributed processing array with component processors performing customized interpretation of instructions |
US5682491A (en) * | 1994-12-29 | 1997-10-28 | International Business Machines Corporation | Selective processing and routing of results among processors controlled by decoding instructions using mask value derived from instruction tag and processor identifier |
US5867726A (en) * | 1995-05-02 | 1999-02-02 | Hitachi, Ltd. | Microcomputer |
US5926642A (en) * | 1995-10-06 | 1999-07-20 | Advanced Micro Devices, Inc. | RISC86 instruction set |
US6317819B1 (en) * | 1996-01-11 | 2001-11-13 | Steven G. Morton | Digital signal processor containing scalar processor and a plurality of vector processors operating from a single instruction |
US5963210A (en) * | 1996-03-29 | 1999-10-05 | Stellar Semiconductor, Inc. | Graphics processor, system and method for generating screen pixels in raster order utilizing a single interpolator |
US5828593A (en) * | 1996-07-11 | 1998-10-27 | Northern Telecom Limited | Large-capacity content addressable memory |
US5867598A (en) * | 1996-09-26 | 1999-02-02 | Xerox Corporation | Method and apparatus for processing of a JPEG compressed image |
US6212237B1 (en) * | 1997-06-17 | 2001-04-03 | Nippon Telegraph And Telephone Corporation | Motion vector search methods, motion vector search apparatus, and storage media storing a motion vector search program |
US5909686A (en) * | 1997-06-30 | 1999-06-01 | Sun Microsystems, Inc. | Hardware-assisted central processing unit access to a forwarding database |
US5951672A (en) * | 1997-07-02 | 1999-09-14 | International Business Machines Corporation | Synchronization method for work distribution in a multiprocessor system |
EP0905651A3 (en) * | 1997-09-29 | 2000-02-23 | Canon Kabushiki Kaisha | Image processing apparatus and method |
US6167502A (en) * | 1997-10-10 | 2000-12-26 | Billions Of Operations Per Second, Inc. | Method and apparatus for manifold array processing |
US6089453A (en) * | 1997-10-10 | 2000-07-18 | Display Edge Technology, Ltd. | Article-information display system using electronically controlled tags |
US6226710B1 (en) * | 1997-11-14 | 2001-05-01 | Utmc Microelectronic Systems Inc. | Content addressable memory (CAM) engine |
US6101592A (en) * | 1998-12-18 | 2000-08-08 | Billions Of Operations Per Second, Inc. | Methods and apparatus for scalable instruction set architecture with dynamic compact instructions |
US6145075A (en) * | 1998-02-06 | 2000-11-07 | Ip-First, L.L.C. | Apparatus and method for executing a single-cycle exchange instruction to exchange contents of two locations in a register file |
US6295534B1 (en) * | 1998-05-28 | 2001-09-25 | 3Com Corporation | Apparatus for maintaining an ordered list |
US6088044A (en) * | 1998-05-29 | 2000-07-11 | International Business Machines Corporation | Method for parallelizing software graphics geometry pipeline rendering |
US6119215A (en) * | 1998-06-29 | 2000-09-12 | Cisco Technology, Inc. | Synchronization and control system for an arrayed processing engine |
EP0992916A1 (en) * | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | Digital signal processor |
US6269354B1 (en) * | 1998-11-30 | 2001-07-31 | David W. Arathorn | General purpose recognition e-circuits capable of translation-tolerant recognition, scene segmentation and attention shift, and their application to machine vision |
US6173386B1 (en) * | 1998-12-14 | 2001-01-09 | Cisco Technology, Inc. | Parallel processor with debug capability |
FR2788873B1 (fr) * | 1999-01-22 | 2001-03-09 | Intermec Scanner Technology Ct | Procede et dispositif de detection de segments de droites dans un flot de donnees numeriques representatives d'une image, dans lequel sont identifies les points contours de ladite image |
WO2000062182A2 (en) * | 1999-04-09 | 2000-10-19 | Clearspeed Technology Limited | Parallel data processing apparatus |
US6542989B2 (en) * | 1999-06-15 | 2003-04-01 | Koninklijke Philips Electronics N.V. | Single instruction having op code and stack control field |
US6611524B2 (en) * | 1999-06-30 | 2003-08-26 | Cisco Technology, Inc. | Programmable data packet parser |
EP1201088B1 (en) * | 1999-07-30 | 2005-11-16 | Indinell Sociedad Anonima | Method and apparatus for processing digital images and audio data |
US6745317B1 (en) * | 1999-07-30 | 2004-06-01 | Broadcom Corporation | Three level direct communication connections between neighboring multiple context processing elements |
US7072398B2 (en) * | 2000-12-06 | 2006-07-04 | Kai-Kuang Ma | System and method for motion vector generation and analysis of digital video clips |
US20020107990A1 (en) * | 2000-03-03 | 2002-08-08 | Surgient Networks, Inc. | Network connected computing system including network switch |
GB0019341D0 (en) * | 2000-08-08 | 2000-09-27 | Easics Nv | System-on-chip solutions |
US6898304B2 (en) * | 2000-12-01 | 2005-05-24 | Applied Materials, Inc. | Hardware configuration for parallel data processing without cross communication |
US6772268B1 (en) * | 2000-12-22 | 2004-08-03 | Nortel Networks Ltd | Centralized look up engine architecture and interface |
US7013302B2 (en) * | 2000-12-22 | 2006-03-14 | Nortel Networks Limited | Bit field manipulation |
US20020133688A1 (en) * | 2001-01-29 | 2002-09-19 | Ming-Hau Lee | SIMD/MIMD processing on a reconfigurable array |
GB2389689B (en) * | 2001-02-14 | 2005-06-08 | Clearspeed Technology Ltd | Clock distribution system |
US6985633B2 (en) * | 2001-03-26 | 2006-01-10 | Ramot At Tel Aviv University Ltd. | Device and method for decoding class-based codewords |
US6782054B2 (en) * | 2001-04-20 | 2004-08-24 | Koninklijke Philips Electronics, N.V. | Method and apparatus for motion vector estimation |
JP2003069535A (ja) * | 2001-06-15 | 2003-03-07 | Mitsubishi Electric Corp | 誤り訂正多重化装置、誤り訂正多重分離装置、これらを用いた光伝送システムおよび誤り訂正多重化伝送方法 |
US7383421B2 (en) * | 2002-12-05 | 2008-06-03 | Brightscale, Inc. | Cellular engine for a data processing system |
US6760821B2 (en) * | 2001-08-10 | 2004-07-06 | Gemicer, Inc. | Memory engine for the inspection and manipulation of data |
US6938183B2 (en) * | 2001-09-21 | 2005-08-30 | The Boeing Company | Fault tolerant processing architecture |
JP2003100086A (ja) * | 2001-09-25 | 2003-04-04 | Fujitsu Ltd | 連想メモリ回路 |
US7116712B2 (en) * | 2001-11-02 | 2006-10-03 | Koninklijke Philips Electronics, N.V. | Apparatus and method for parallel multimedia processing |
US6968445B2 (en) * | 2001-12-20 | 2005-11-22 | Sandbridge Technologies, Inc. | Multithreaded processor with efficient processing for convergence device applications |
US6901476B2 (en) * | 2002-05-06 | 2005-05-31 | Hywire Ltd. | Variable key type search engine and method therefor |
US7000091B2 (en) * | 2002-08-08 | 2006-02-14 | Hewlett-Packard Development Company, L.P. | System and method for independent branching in systems with plural processing elements |
US20040081238A1 (en) * | 2002-10-25 | 2004-04-29 | Manindra Parhy | Asymmetric block shape modes for motion estimation |
US7120195B2 (en) * | 2002-10-28 | 2006-10-10 | Hewlett-Packard Development Company, L.P. | System and method for estimating motion between images |
WO2004079916A2 (en) * | 2003-03-03 | 2004-09-16 | Mobilygen Corporation | Array arrangement for memory words and combination of video prediction data for an effective memory access |
US7581080B2 (en) * | 2003-04-23 | 2009-08-25 | Micron Technology, Inc. | Method for manipulating data in a group of processing elements according to locally maintained counts |
US9292904B2 (en) * | 2004-01-16 | 2016-03-22 | Nvidia Corporation | Video image processing with parallel processing |
JP4511842B2 (ja) * | 2004-01-26 | 2010-07-28 | パナソニック株式会社 | 動きベクトル検出装置及び動画撮影装置 |
GB2411745B (en) * | 2004-03-02 | 2006-08-02 | Imagination Tech Ltd | Method and apparatus for management of control flow in a simd device |
US20060002474A1 (en) * | 2004-06-26 | 2006-01-05 | Oscar Chi-Lim Au | Efficient multi-block motion estimation for video compression |
US7983342B2 (en) * | 2004-07-29 | 2011-07-19 | Stmicroelectronics Pvt. Ltd. | Macro-block level parallel video decoder |
JP2006140601A (ja) * | 2004-11-10 | 2006-06-01 | Canon Inc | 画像処理装置及び画像処理装置の制御方法 |
US7644255B2 (en) * | 2005-01-13 | 2010-01-05 | Sony Computer Entertainment Inc. | Method and apparatus for enable/disable control of SIMD processor slices |
US7725691B2 (en) * | 2005-01-28 | 2010-05-25 | Analog Devices, Inc. | Method and apparatus for accelerating processing of a non-sequential instruction stream on a processor with multiple compute units |
AR052601A1 (es) * | 2005-03-10 | 2007-03-21 | Qualcomm Inc | Clasificacion de contenido para procesamiento de multimedia |
US8149926B2 (en) * | 2005-04-11 | 2012-04-03 | Intel Corporation | Generating edge masks for a deblocking filter |
US8619860B2 (en) * | 2005-05-03 | 2013-12-31 | Qualcomm Incorporated | System and method for scalable encoding and decoding of multimedia data using multiple layers |
US20070071404A1 (en) * | 2005-09-29 | 2007-03-29 | Honeywell International Inc. | Controlled video event presentation |
US7451293B2 (en) * | 2005-10-21 | 2008-11-11 | Brightscale Inc. | Array of Boolean logic controlled processing elements with concurrent I/O processing and instruction sequencing |
TW200737983A (en) * | 2006-01-10 | 2007-10-01 | Brightscale Inc | Method and apparatus for processing sub-blocks of multimedia data in parallel processing systems |
US20080059764A1 (en) * | 2006-09-01 | 2008-03-06 | Gheorghe Stefan | Integral parallel machine |
US20080059763A1 (en) * | 2006-09-01 | 2008-03-06 | Lazar Bivolarski | System and method for fine-grain instruction parallelism for increased efficiency of processing compressed multimedia data |
US20080059762A1 (en) * | 2006-09-01 | 2008-03-06 | Bogdan Mitu | Multi-sequence control for a data parallel system |
US20080059467A1 (en) * | 2006-09-05 | 2008-03-06 | Lazar Bivolarski | Near full motion search algorithm |
US20080126278A1 (en) * | 2006-11-29 | 2008-05-29 | Alexander Bronstein | Parallel processing motion estimation for H.264 video codec |
-
2007
- 2007-01-10 TW TW096101018A patent/TW200737983A/zh unknown
- 2007-01-10 TW TW096101019A patent/TW200806039A/zh unknown
- 2007-01-10 KR KR1020087018365A patent/KR20080085189A/ko not_active Application Discontinuation
- 2007-01-10 WO PCT/US2007/000771 patent/WO2007082042A2/en active Application Filing
- 2007-01-10 EP EP07716563A patent/EP1971958A2/en not_active Withdrawn
- 2007-01-10 CN CNA200780002223XA patent/CN101371262A/zh active Pending
- 2007-01-10 CN CNA2007800022530A patent/CN101371264A/zh active Pending
- 2007-01-10 TW TW096101017A patent/TW200803464A/zh unknown
- 2007-01-10 JP JP2008550413A patent/JP2009523291A/ja not_active Abandoned
- 2007-01-10 CN CNA2007800022437A patent/CN101371263A/zh active Pending
- 2007-01-10 WO PCT/US2007/000773 patent/WO2007082044A2/en active Application Filing
- 2007-01-10 KR KR1020087018364A patent/KR20080094005A/ko not_active Application Discontinuation
- 2007-01-10 KR KR1020087018366A patent/KR20080094006A/ko not_active Application Discontinuation
- 2007-01-10 JP JP2008550414A patent/JP2009523292A/ja not_active Abandoned
- 2007-01-10 WO PCT/US2007/000772 patent/WO2007082043A2/en active Application Filing
- 2007-01-10 US US11/652,587 patent/US20070189618A1/en not_active Abandoned
- 2007-01-10 JP JP2008550415A patent/JP2009523293A/ja not_active Abandoned
- 2007-01-10 US US11/652,588 patent/US20070162722A1/en not_active Abandoned
- 2007-01-10 EP EP07716562A patent/EP1971956A2/en not_active Withdrawn
- 2007-01-10 EP EP07716561A patent/EP1971959A2/en not_active Withdrawn
- 2007-01-10 US US11/652,584 patent/US20070188505A1/en not_active Abandoned
-
2009
- 2009-07-10 US US12/501,317 patent/US20100066748A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20070188505A1 (en) | 2007-08-16 |
JP2009523293A (ja) | 2009-06-18 |
EP1971959A2 (en) | 2008-09-24 |
WO2007082043A3 (en) | 2008-04-17 |
KR20080094006A (ko) | 2008-10-22 |
WO2007082043A2 (en) | 2007-07-19 |
WO2007082042A2 (en) | 2007-07-19 |
EP1971956A2 (en) | 2008-09-24 |
WO2007082044A2 (en) | 2007-07-19 |
TW200737983A (en) | 2007-10-01 |
US20100066748A1 (en) | 2010-03-18 |
WO2007082044A3 (en) | 2008-04-17 |
EP1971958A2 (en) | 2008-09-24 |
WO2007082042A3 (en) | 2008-04-17 |
CN101371262A (zh) | 2009-02-18 |
JP2009523291A (ja) | 2009-06-18 |
US20070162722A1 (en) | 2007-07-12 |
CN101371264A (zh) | 2009-02-18 |
JP2009523292A (ja) | 2009-06-18 |
US20070189618A1 (en) | 2007-08-16 |
TW200803464A (en) | 2008-01-01 |
KR20080085189A (ko) | 2008-09-23 |
CN101371263A (zh) | 2009-02-18 |
KR20080094005A (ko) | 2008-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW200806039A (en) | Method and apparatus for processing algorithm steps of multimedia data in parallel processing systems | |
JP6078923B2 (ja) | 転置演算装置とその集積回路、および転置処理方法 | |
US8305495B2 (en) | Video processing device, video display device, and video processing method | |
CN107680028B (zh) | 用于缩放图像的处理器和方法 | |
US20170064333A1 (en) | Apparatus and method of performing fourier transform | |
KR101121941B1 (ko) | 데이터 채널 정보의 프로그램가능 패턴-기반 패킹해제 및 패킹 | |
JP2008124742A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2015115837A (ja) | 制御装置、画像処理装置、制御方法、およびプログラム | |
WO2005106784A1 (en) | Image processing apparatus and method | |
JP6365102B2 (ja) | データ処理装置およびプログラム | |
CN101051263A (zh) | 处理器、图像处理系统和处理方法 | |
JP5325744B2 (ja) | 画像処理装置および画像処理プログラム | |
CN101217673B (zh) | 由带交叉格式到带分离格式的格式转换设备 | |
JP4288253B2 (ja) | 画像分散処理システム、画像分散処理方法、画像分散処理プログラム | |
US8395630B2 (en) | Format conversion apparatus from band interleave format to band separate format | |
JP2005174227A5 (zh) | ||
JP4817776B2 (ja) | データ処理装置、及びその制御方法 | |
CN106095392A (zh) | 混洗模式生成方法和装置 | |
JP6320652B2 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
CN112446497A (zh) | 数据块拼接方法、相关设备及计算机可读介质 | |
JP2008226190A (ja) | 画像処理装置およびその方法 | |
JP2009252127A (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
JPH09114967A (ja) | 画像処理方法及びその装置 |