TWI415446B - 用於視頻壓縮的並行處理裝置 - Google Patents

用於視頻壓縮的並行處理裝置 Download PDF

Info

Publication number
TWI415446B
TWI415446B TW096125859A TW96125859A TWI415446B TW I415446 B TWI415446 B TW I415446B TW 096125859 A TW096125859 A TW 096125859A TW 96125859 A TW96125859 A TW 96125859A TW I415446 B TWI415446 B TW I415446B
Authority
TW
Taiwan
Prior art keywords
macroblock
coding
encoding
thread
processing
Prior art date
Application number
TW096125859A
Other languages
English (en)
Other versions
TW200818864A (en
Inventor
Jonathan Jiannjang Huang
Tsaifa Yu
Kuei Chung Tu
Original Assignee
Sony Electronics Inc
Sony Corp
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 Sony Electronics Inc, Sony Corp filed Critical Sony Electronics Inc
Publication of TW200818864A publication Critical patent/TW200818864A/zh
Application granted granted Critical
Publication of TWI415446B publication Critical patent/TWI415446B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/436Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Description

用於視頻壓縮的並行處理裝置
本發明是關於視頻壓縮的領域。更明確來說,本發明是關於利用並行處理器的視頻壓縮。
視頻序列是由數個通常稱為圖框的圖片所組成。後續圖框非常相似,因而在圖框間含有許多冗餘。在於頻道上有效地傳送或儲存在記憶體之前,視頻資料會被壓縮,以保留頻寬和記憶體。其目標是欲去除冗餘,以得到較佳的壓縮比。第一個視頻壓縮方法是從給定圖框中減去參考圖框來產生相對差異。經壓縮之圖框含有比該參考圖框還少的資訊。可以較低的位元率將該相對差異編碼,而品質仍相同。解碼器會藉由將該相對差異加至該參考圖框來重建原始的圖框。
較複雜的方法是約略估算出整個景象和視頻序列之物件的移動。該移動是由位元流中經編碼的參數所描述。藉由適當轉移之參考圖框的畫素來約略估算出預測之圖框的畫素。相較於單純的減法,本方法係改善了預測能力。但該移動模型之參數所佔用的位元率必須不能變得太大。
一般係根據許多標準來執行視頻壓縮,包括來自諸如MPEG-1、MPEG-2、和MPEG-4之動畫專家群(MPEG)的一或多個用於聲頻和視頻壓縮的標準。額外的加強已做為部份MPEG-4 Part 10標準,亦稱為H.264,或是AVC(高階視頻編碼)。在MPEG標準下,視頻資料會先被編碼(例如:被壓縮),然後被儲存在視頻系統的編碼器側之編碼器的緩衝器中。之後,經編碼的資料被傳送至視頻系統的解碼器側,並在被解碼而可觀看到對應圖片之前,先儲存在解碼器的緩衝器中。
H.264/AVC專案的目的是為了開發可以實質低於先前標準所需(例如:MPEG-2、H.263、或MPEG-4 Part 2)之位元率來提供良好視頻品質的標準。此外,欲在不大量增加複雜度而使該設計無法實行的情況下達成這些改善。額外的目標是以變通的方式進行這些改變,其會允許將該標準應用於各種應用方式,使得其可用於高低位元率和高低解析度之視頻。另一個目的是其可在多種網路和系統上運行良好。
H.264/AVC/MPEG-4 Part 10含有許多新的特徵,其允許較老舊標準更有效率地壓縮視頻,並對多種網路環境提供更多的應用彈性。某些重要特徵包括使用先前編碼之圖片來作為參考的多圖片移動補償、區塊大小最大為16畫素×16畫素且最小為4畫素×4畫素的可變區塊大小移動補償(VBSMC)、用以導出半畫素亮度取樣預測(half-pel luma sample prediction)的六分接濾波(six-tap filtering)、巨集塊對結構、移動補償的1/4畫素精確度、加權預測、迴圈內解塊濾波、精準匹配之整體4畫素×4畫素空間區塊轉換、執行於主空間轉換之「DC」係數上的二次哈達瑪轉換(Hadamard transform)(其中該哈達瑪轉換與快速傅立葉轉換類似)、來自鄰近區塊邊緣之用於「圖框內(intra)」編碼的空間預測、文脈調適二位元算術編碼(CABAC)、文脈調適可變長度編碼(CAVLC)、用於許多非由CABAC或CAVLC編碼的語法元素且稱為Exponential-Golomb編碼的單純且高度結構化之可變長度編碼(VLC)技術、網路抽象層(NAL)定義、切換切片、彈性巨集塊排序、冗餘切片(RS)、補充加強資訊(SEI)和視頻可用性資訊(VUI)、附屬圖片、圖框編號及圖片順序計數。這些技術和若干其他技術係允許H.264在更多情況及更多環境下具有較習知標準更佳的效能。H.264通常可藉由以一半或更少的位元率來獲得相同的品質而具有優於MPEG-2視頻之效能。
MPEG係用於動畫和相關聲頻的同屬編碼,並產生由一連串三種經編碼之資料框所組成的經壓縮之視頻位元流。這三種資料圖框為內圖框(稱為I圖框或I圖片)、雙向預測圖框(稱為B圖框或B圖片)、及順向預測圖框(稱為P圖框或P圖片)。這三種圖框可以稱為GOP(Group Of Pictures)結構的特定順序加以排列。I圖框含有重建圖片所需的所有資訊。I圖框係被編碼為正常影像而不需移動補償。另一方面,P圖框使用來自先前圖框的資訊,而B圖框使用來自先前圖框、後續圖框、或其兩者的資訊來重建圖片。具體來說,P圖框是由前面的I圖框或緊接在前的P圖框加以預測。
亦可由緊接在後的圖框來預測圖框。為了以此方式利用後續圖框,必須在預測之圖框前將後續圖框編碼。因此,編碼順序不需符合實際的圖框順序。這些圖框通常是由兩個方向加以預測,例如由I圖框或緊接在前的P圖框,或是緊跟著預測之圖框的P圖框。這些雙向預測圖框稱為B圖框。
有很多可能的GOP結構。常見的GOP結構是15個圖框長,並具有I_BB_P_BB_P_BB_P_BB_P_BB_的序列。類似的12圖框序列亦很常見。I圖框針對空間冗餘而編碼,P圖框和B圖框則針對時間冗餘和空間冗餘兩者。因視頻流中的相鄰圖框通常極為相關,故P圖框和B圖框僅為I圖框大小的一小部份。然而,在圖框可被壓縮的大小對將此經壓縮之圖框編碼所需的處理時間和資源之間會有抵換。GOP結構中的I圖框、P圖框、和B圖框之比例是由視頻流的本質和輸出流的頻寬限制所決定,雖然編碼時間也可能是個問題。這在運算資源有限的實況傳送和即時環境中特別準確,因含有許多B圖框的視頻流可較僅含I圖框的檔案花費更長的時間來編碼。
B圖框和P圖框需要較少位元來儲存圖片資料,其一般含有用於當前圖框和先前圖框、後續圖框、或其兩者間之差異的差異位元。因此,B圖框和P圖框被用來減少圖框各處所含有的冗餘資訊。在作業時,解碼器係接收經編碼的B圖框或經編碼的P圖框,並使用先前或後續圖框來重建原始的圖框。當後續圖框實質上類似時,此程序會較為容易並產生較平滑的景象轉變,因圖框中的差異很小。
各視頻影像分為一個亮度頻道(Y)和兩個色度頻道(亦稱為色差信號Cb和Cr)。亮度和色度陣列的區塊係組織為「巨集塊」,其為圖框內的基本編碼單位。
在I圖框的情況中,實際的影像資料會經過編碼程序。然而,P圖框和B圖框會先經歷「移動補償」程序。移動補償為在前一個圖框的各巨集塊已移動時,用來描述連續圖框間之差異的方式。這種技術常被用來減少用於視頻壓縮之視頻序列的時間冗餘。P圖框或B圖框中的各巨集塊會與先前或下一個影像中極為相關的區域有關,如由使用「移動向量」的編碼器所選擇的。對將巨集塊映射至其相關區域的移動向量進行編碼,然後使兩區域之間的差異經過編碼程序。
習知的視頻編碼解碼器(video codec)係使用移動補償式預測來有效地將原始輸入視頻流編碼。當前圖框中的巨集塊係由先前圖框中的移位巨集塊所預測。將原始的巨集塊和其預測之間的差異壓縮,並隨著位移(移動)向量傳送。此技術被稱為圖框間編碼(inter-coding),其係MPEG標準中所使用的方法。
編碼程序中最耗時的部份之一是移動估算。移動估算是用來藉由實行移動補償式預測並結合預測誤差之轉換編碼來降低視頻信號的位元率。移動估算相關之混疊無法藉由使用畫素間移動估算而避免,且該混疊會惡化預測效率。為了解決惡化的問題,係採用1/2畫素內插法和1/4畫素內插法來減少混疊的影響。為了以1/4畫素的準確度來估算移動向量,一般係使用三步驟的搜尋。在第一步驟中,於特定搜尋範圍內對各整體畫素施以移動估算,以找出最佳匹配。接著,在第二步驟中,檢驗所選擇之整體畫素移動向量周圍的八個1/2畫素點,以找出最佳1/2畫素匹配點。最後,在第三步驟中,檢驗所選擇之1/2畫素移動向量周圍的八個1/4畫素點,並選擇最佳匹配點來作為最後的移動向量。考慮到移動估算的複雜度,若將完全搜尋用於整體畫素移動估算,則整體畫素移動估算係佔了移動估算的絕大部份。但若利用快速整體移動估算演算法,則檢驗少於十個搜尋點即可找出整體畫素移動向量。因此,搜尋1/2畫素移動向量和1/4畫素移動向量的運算複雜度變得具有支配性。
由於半導體技術的進步係持續縮小電晶體的大小而使得實行更多功能的矽空間增加,以及造成顯著熱散逸的物理性限制,處理器廠商已開始引進多核心或多處理器系統。視頻壓縮處理需要處理器能力並試圖利用當代處理器可提供的運算能力。然而,許多視頻壓縮方法論係依序定義或是在鄰近視頻物件之間存在相依性,因而難以在當代的並行運算系統上針對視頻壓縮程序而利用執行緒層級的並行性。在視頻壓縮應用中利用並行處理能力的方法之一是將視頻序列中的圖片水平劃分成多個部份,其稱為切片。由於在多切片的各切片之間沒有語義相依性,此係適合多處理系統中的視頻壓縮。
然而,某些視頻壓縮應用需要單一切片法(每圖片一個切片)。由於單一切片法,在區塊邊界會有許多單一切片語法和語義方面的相依性問題,尤其是在高階視頻編碼(AVC)規格方面。
藉由單一切片法在多處理系統上並行處理視頻壓縮的一種方法是將圖片水平分割成上半部和下半部。一執行緒處理圖片的上半部,而另一執行緒處理下半部。兩個執行緒皆處理相同的圖片。底部的執行緒係忽略邊界附近的相依性,且亦處理邊界附近的語法符合性。當底部的執行緒處理第一巨集塊(MB)線時,其會選擇與其上MB獨立的MB模式。然而,這種一般方法論會造成比標準單一切片逐線掃描法(raster scan approach)更差的壓縮效率。
另一種視頻壓縮的並行處理方法論是將圖片水平劃分為多個部份。這些水平分隔的部份被稱為切片(slice)。視頻壓縮系統接著以並行處理方式將這些切片編碼。此方法會產生多切片結果。
但該多切片法會遭遇許多問題。多切片的編碼結果和單一切片不同,因為多切片的編碼結果在語義上係互相獨立。因此,難以或無法藉由多切片來確認並行處理方法論的正確性。位於切片邊界的視頻品質會降低。若不同切片中視頻內容的複雜度不同,使用水平多切片編碼的視頻壓縮會遭遇工作量不平衡。必須將水平多切片編碼的個別切片之結果串聯以形成單一結果。這是單一切片編碼中所沒有的額外工作。
在此揭示用於並行處理視頻壓縮的方法與系統。將圖片垂直分割為N個區域,且垂直劃分並行處理(VSP)展開N+1個程序:用於N個區域中之一般巨集塊編碼的N個M編碼程序,以及用於熵編碼的一個E編碼程序。藉由將巨集塊編碼程序分割為M編碼程序和E編碼程序,可同時以執行緒之間的適當同步化來進行多個M編碼執行緒和一個E編碼執行緒。由於對各巨集塊編碼程序而言,M編碼程序的工作量比E編碼程序大,可對兩個M編碼程序指定兩個核心。可對該E編碼程序指定該等核心之任一者,因E編碼的工作量輕鬆。因此,VSP係有效地利用並行處理之運算能力。
在一形態中,用於壓縮視頻的裝置包含複數個處理核心和用於使該複數個處理核心處理N個M編碼程序和E編碼程序的程式。N等於該複數個處理核心內的處理核心數量。該E編碼程序是由選自該複數個處理核心的可用處理核心加以處理。該可用處理核心係自動加以選擇。該N個M編碼程序包括模式決定、轉換、及量化,而該E編碼程序包括熵編碼。該N個M編碼程序係並行地加以處理。該N個M編碼程序係同時加以處理。該N個M編碼程序分別對應於垂直區域。該N個M編碼程序分別對應於劃分偏移(split-shifted)垂直區域。該N個M編碼程序分別對應於對角區域。該複數個處理核心是用於:在將先前巨集塊M編碼結束之後將當前巨集塊M編碼,在將該當前巨集塊M編碼結束之後將該當前巨集塊E編碼,以及在將該先前巨集塊E編碼結束之後將該當前巨集塊E編碼。該複數個處理核心是用於:若巨集塊不在第一巨集塊列中,則在右上方巨集塊的E編碼結束之後,將該巨集塊M編碼。該複數個處理核心是用於:若巨集塊為巨集塊列中最後的巨集塊,則在上方巨集塊的E編碼結束之後,將該巨集塊M編碼。
在另一形態中,用於壓縮視頻的裝置包含:第一處理核心,用於處理第一M編碼執行緒;以及第二處理核心,耦接至該第一處理核心,用於處理第二M編碼執行緒,其中由選自該第一處理核心和該第二處理核心的可用處理核心來處理E編碼執行緒。該第一和第二M編碼執行緒包括模式決定、轉換、及量化,而該E編碼執行緒包括熵編碼。該可用處理核心係自動加以選擇。該第一M編碼執行緒和該第二M編碼執行緒係並行地加以處理。該第一M編碼執行緒和該第二M編碼執行緒係同時加以處理。該第一M編碼執行緒對應於第一垂直區域,而該第二M編碼執行緒對應於第二垂直區域。該第一M編碼執行緒對應於第一劃分偏移垂直區域,而該第二M編碼執行緒對應於第二劃分偏移垂直區域。該第一M編碼執行緒對應於第一對角區域,而該第二M編碼執行緒對應於第二對角區域。
在另一形態中,用於壓縮視頻的方法包含:將圖片垂直分割為N個區域,展開N+1個程序,其中N個程序為M編碼,而一個程序為E編碼,利用複數個處理核心並行地處理該N個M編碼程序,利用該複數個處理核心中的可用處理核心來處理該E編碼程序,以及將該N+1個程序同步化。該N個M編碼程序包括在將先前巨集塊M編碼結束之後,將當前巨集塊M編碼。該E編碼程序包括在將該當前巨集塊M編碼結束之後,將該當前巨集塊E編碼。處理該E編碼程序包括在將該先前巨集塊E編碼結束之後,將該當前巨集塊E編碼。該方法更包含在將先前巨集塊M編碼結束之後將當前巨集塊M編碼,在將該當前巨集塊M編碼結束之後將該當前巨集塊E編碼,以及在將該先前巨集塊E編碼結束之後將該當前巨集塊E編碼。該方法更包含:若巨集塊不在第一巨集塊列中,則在右上方巨集塊的E編碼結束之後,將該巨集塊M編碼。該方法更包含:若巨集塊為巨集塊列中最後的巨集塊,則在上方巨集塊的E編碼結束之後,將該巨集塊M編碼。
視頻序列包括一序列的圖片。各圖片進一步被分為多個巨集塊。習知的編碼程序係以逐線掃描順序逐一將巨集塊編碼。一般來說,各巨集塊的編碼程序包括巨集塊類型選擇、移動估算和補償前級、轉換和量化中級、以及熵編碼後級。
垂直劃分並行處理(VSP)係將習知的視頻壓縮程序分為兩部份:M編碼和E編碼。M編碼代表不具有熵編碼程序的一般巨集塊編碼程序。E編碼代表熵編碼程序。將圖片垂直分割,其中各個垂直分割的部份圖片代表一個區域。因此,圖片係包括多個區域。首先以M編碼處理各個區域。進一步以E編碼處理以巨集塊為單位之各個區域的M編碼之輸出。VSP的特徵是將各巨集塊之M編碼和E編碼的相依解耦,使得巨集塊的E編碼不會在其M編碼之後立即被處理。另外,各巨集塊不會依逐線掃描順序而取決於其先前巨集塊之E編碼的結束。
一般來說,若將圖片垂直分割為N個區域,則VSP會展開N+1個程序:用於N個區域的N個M編碼程序和用於熵編碼的一個E編碼程序。舉例來說,若將圖片垂直分割為兩個區域,則VSP會展開三個程序:用於該兩個區域的兩個M編碼程序和用於熵編碼的一個E編碼程序。
藉由將巨集塊編碼程序分為M編碼程序和E編碼程序,可同時以執行緒之間的適當同步化來進行多個M編碼執行緒和一個E編碼執行緒。M編碼包括模式決定、轉換、及量化。相較於E編碼的熵編碼任務,這些M編碼階段為工作量繁重之任務。由於對各巨集塊編碼程序而言,M編碼程序的工作量係大於E編碼,各可對各M編碼程序指定一核心。舉例來說,若裝置或系統中有兩個核心,則會利用兩個M編碼程序,並對各核心送出一個程序。即使兩個M編碼程序可並行地運行,仍會存在某些AVC語法相依性問題,例如增量QP(delta-QP)和巨集塊(MB)跳過運行。這些問題可藉由引進獨立的E執行緒來加以解決。這兩個核心的任一者皆可處理E編碼程序,因E編碼的工作量很輕。因此,VSP會有效地利用並行處理的運算能力。
VSP係克服以並行處理方式將多個切片編碼時所遇到的問題。視頻壓縮的VSP並行處理會產生依序處理單一切片的相同結果。因此,可輕易地藉由比較VSP並行處理和依序處理單一切片的結果是否相等來確認VSP並行處理的正確性。由於VSP並行處理和依序處理單一切片的結果相同,故可確保視頻品質相同。藉由垂直分割圖片,VSP的各個區域通常具有相等的視頻內容複雜度。因此,各核心的預定個別工作量會相當均等。另外,若存在工作量不平衡的情形,其可由VSP的熵編碼程序所消除。因此,VSP並行處理的工作量會自動平衡。VSP的熵編碼程序會產生與單一切片編碼相同的單一結果。所以,不會有將多切片並行處理之部份結果串聯的額外階段。
因藉由讀取和寫入共享記憶體來達成多個程序(執行緒)的同步化,較佳係在對稱多處理(SMP)機器上藉由實現VSP來執行視頻壓縮軟體,其中該對稱多處理(SMP)機器為兩個以上的相同處理器或核心係耦接至單一共享主記憶體的多處理器電腦架構。
可經由軟體、硬體、或軟體和硬體的結合來實行VSP。劃分圖片的較佳方法是以垂直方式;但在替代性的實施例中,係以對角方式劃分圖片。
藉由提高並行處理之視頻壓縮量,並將後續的處理減至最少,可改善視頻壓縮的效能。
VSP支援圖片率控制、巨集塊量化加權之巨集塊率控制(MQW MBRC)、圖片重新編碼、MB重新編碼、CAVLC和CABAC熵編碼、圖框和圖場輸入格式、以及解塊開啟/關閉。
VSP已解決了多個問題。SYNC邊界限制已被解決。量化器參數(QP)邊界限制是藉由預先計算實際MB編碼之前的所有QP,或是藉由改變演算法而去除最左邊的MB對最右邊的MB之相依性的來加以解決。QP增量相依性(QP delta dependency)的問題已由兩階段的演算法所解決。因為對依逐線掃描順序的先前QP和依逐線掃描順序的先前SKIP MB具有相依性,故會存在QP增量相依性的問題。藉由VSP,編碼係分為兩個階段,其中M編碼係並行地運行,而E編碼係相繼地以逐線掃描順序運行。因此,雙核心系統中的速度會顯著提升。
可將並行化的方法分類為任務或資料分解。在任務分解中,於功能層級上,可以管線方式將Jvt編碼器分解為多個程序。以獨立功能的方式來執行各程序,且其輸出可作為下一個程序的輸入。若在各程序中解決了負載平衡和資料相依的問題,則可達成並行化。目前各個程序的碼運算負載並不平衡。Jvt編碼程序為較其他繁重的功能。
在資料分解中,於圖框層級上,各圖片會被分解為兩半,以在不同的時間框中同時編碼。PaleMoonA演算法可實現此方法。在切片層級上,以多個不同的切片來將各圖片編碼而達成並行性。在一圖片中處理,於時域中不產生參考圖框。在MB層級上,各MB為並行化的處理單位。主要需處理的問題為資料同步化,因鄰近MB上的資料相依是AVC編碼器中的標準情況。VSP採取此方法。在區塊層級上,可在MB內完成並行化。避免發生在MB層級的資料同步化問題是非常低階的演算法。在混合分解中係包括任務和資料分解兩者。
第1A圖~第1C圖描繪用於視頻壓縮的並行處理裝置之實施例的方塊圖。在第1A圖~第1C圖之各圖中,運算裝置含有一個以上的處理器,且該處理器具有一個以上的核心。任何處理器和核心的組合皆可,只要總共至少有兩個核心即可。
第1A圖描繪具有兩個處理器,第一處理器2和第二處理器4,的運算裝置1,且該第一處理器2和第二處理器4分別具有單核心3、5。第1B圖描繪具有單一處理器2'的運算裝置1',且該處理器2'含有雙核心3'。第1C圖描繪具有兩個處理器,第一處理器2'和第二處理器4',的運算裝置1",且該第一處理器2'和第二處理器4'分別含有雙核心3'、5'。各運算裝置至少具有兩個核心(在同一個處理器或多個處理器中)。此外,如第1C圖所示,可利用多於兩個核心。可使用任何數量的處理器和核心,只要核心的總數量多於兩個即可。該運算裝置為任何數位裝置,包括但不限於:攝影機、數位相機、手機、個人數位助理(PDA)、或電腦。
利用複數個核心,該用於視頻壓縮的並行處理裝置可藉由並行處理來加速視頻壓縮程序。如此處所述,在將圖片垂直分割為N個區域之後,展開N+1個程序:N個M編碼程序和一個用於熵編碼的E編碼程序。由於M編碼程序的工作量較E編碼程序重,故可針對各M編碼程序指定一核心。舉例來說,參照第1A圖,第一M編碼程序會被送至第一處理器2內的核心3,而第二M編碼程序會被送至第二處理器4內的核心5,使得各M編碼程序係分開加以處理。接著,可將核心3或核心5之任一者用於E編碼程序,因處理該程序係相當輕鬆。因此,用於視頻壓縮的並行處理裝置可有效地利用並行處理的運算能力。
第2圖描繪垂直劃分並行處理(VSP)之實施例的流程圖。在步驟200,將圖片分割為N個區域,其中N大於或等於二。一般來說,將圖片分割為數量等於可用於處理之核心數量的區域。在步驟202,展開N+1個程序。其中有N個M編碼程序和一個E編碼程序。在步驟204,並行處理該N個M編碼程序。接著,在步驟206,利用任何可用的核心來處理該E編碼程序。接著,在步驟208,使該些程序同步化。
第3圖描繪將128×96畫素(8×6 MB)的圖片垂直劃分成兩個區域:區域a(左邊部份)和區域b(右邊部份)。各垂直區域,在此為區域a和區域b,是由單獨的核心加以處理為個別的執行緒。對MB層級之編碼而言,僅垂直區域之間的區域邊界需要主要的同步化。另一獨立的執行緒係用於熵編碼。各MB是由「M編碼」(巨集塊層編碼)和「E編碼」(熵編碼)加以編碼。各區域是由用於M編碼的一個執行緒所處理。舉例來說,區域a是由一執行緒加以M編碼,而區域b是由另一執行緒加以M編碼。由獨立的執行緒來執行「E編碼」。因此,若將圖片劃分為兩個垂直區域,則總共會有三個執行緒在運行。
有數個同步化規則或要件,以確保編碼係有效地執行。當將先前巨集塊M編碼結束時,開始將當前巨集塊M編碼。舉例來說,參照第3圖,只有當MB 0a結束時,MB 1a才可開始。接著,當MB 1b結束時,MB 2b才可開始,而MB 1b必須等到MB 0a結束時才可開始。MB的E編碼只有在其本身MB的M編碼結束時才可開始。亦只有當先前MB的E編碼結束時,其MB的E編碼才可開始。
除了上述一般的同步化之外,亦使用依據資料結構之設計的規則,因為在複製資料結構的設計和同步化演算法之間具有密切關係。以下敘述依據複製資料結構的設計之同步化演算法的實行方式。對巨集塊的各行而言,有兩組資料。舉例來說,對8畫素×6畫素MB之圖片而言,會有8×2組資料:16組相鄰巨集塊資訊(AdjacentMbInfo)、用於算術編碼的先前CABAC資訊(PrevCabacInfoSet)、巨集塊編碼(MbCoding)、巨集塊編碼、製作編碼模式(MbCodingAE)、和巨集塊編碼模式決定(ModeDecision)。對巨集塊的各行而言,有兩組熵函數呼叫記錄緩衝區。各MB緩衝區可記錄多達32個函數呼叫。舉例來說,對8畫素×6畫素的MB圖片而言,VspSims[8×2][32]為該熵函數呼叫記錄緩衝區。對不在第一個MB列中的MB而言,只有在其右上方MB的E編碼結束時,才可開始M編碼。若MB為MB列中的最後一個MB,則只有在其上方MB的E編碼完成時,才可開始M編碼。舉例來說,參照第3圖,只有在MB e03的E編碼結束時,才可開始MB e10的M編碼。接著,MB e10會重複使用同一組資料來作為MB e02,因MB e10和MB e02位於相同的MB行中。
利用用於視頻壓縮之並行處理裝置的另一項改善是使用垂直區域而非水平區域。除了上述之外,垂直區域具有優於水平區域的其他好處。一般來說,垂直方向上的畫素會比水平方向上的少,所以若行或列的數量不均等,則垂直方向上的不均等會比水平方向上的小。因此,一處理器不會具有比其他處理器大很多的工作量。垂直分區的另一個好處是當行的數量非偶數時,可垂直地進行偏移劃分,如第4A圖所示。偏移劃分法是在圖片中的一點上修改垂直劃分線,使得該些區域具有相等的大小。參照第4A圖,舉例來說,當產生兩個區域,第一區域400和第二區域402,且行的數量為奇數時,在中點406以下的圖片中將劃分線404移位一行,使得這兩個區域具有相等的大小。垂直分區的另一個好處是,對許多影像而言,影像中有靜態成分,例如橫越影像上方的藍天或位於影像下方的水。舉例來說,一影像係含有橫越其上方的藍天,以及位於該影像下方部份的房子、樹木和人,其與第4B圖所示之類似。若將該影像水平劃分,則處理藍天僅需些微處理能力來進行壓縮,因其相當靜態,而具有房子、樹木和人的部份會需要很多的處理,且因此造成不平衡。然而,若將該影像垂直劃分,則兩邊皆會具有一半的天空和一半的房子、樹木和人,因而提供更加平衡的處理方式。
相較於其他實行壓縮的方式,利用VSP可提供許多好處。在負載平衡方面,對各工作量繁重的執行緒而言,MB的數量幾乎相等。所有MB皆在相同的圖框中加以處理。垂直劃分可達成負載平衡。就延展性(scalability)而言,可易於調整執行緒的數量。關於同步化,需要被同步化的項目數量會減至最少。僅區域邊界旁的區域中之第一行MB需要主要的同步化。可將資料相依性映射(data-dependency map)用於同步化。同步化之「可進行(OkToGo)」結果的機率很高,且同步化之「不可進行(NotOkToGo)」至「可進行」的潛時很短。大部份的參考MB係位於相同的區域快取中。x86雙核心處理器具有兩個L2快取。CELL具有用於各SPE的區域儲存器。不需傳輸跨越邊界的Ref MB。x86使用預取來傳輸Ref MB。CELL使用DMA來傳輸。各工作量繁重的執行緒僅處理部份圖框。各垂直區域是由各工作量繁重的執行緒所完成。
若多核心機器上之工作量繁重的執行緒(M編碼)之間有任何工作量不平衡的情形,獨立之工作量輕鬆的執行緒(E編碼)可填補該些空缺。因此,多核心的工作量會自動平衡。藉由此處所述的實行方式,雙核心機器上的處理器使用率在多數時間係高於90%。VSP將記憶體使用率稍微提高約2.3%。
除了MQW MBRC演算法之外,速率控制演算法可解決一般速率控制演算法的QP相依性問題。第5圖係以兩種邊界顯示第一執行緒500和第二執行緒502。SYNC邊界504係肇因於圖框內預測(Intra Prediction)需求。MB[1]取決於MB[H](例如:在MB[H]結束之前,MB[1]無法開始)。MB[P]取決於MB[1](例如:在MB[1]結束之前,MB[P]無法開始)。QP邊界506係肇因於速率控制演算法。MB[I]取決於MB[8](例如:在決定MB[8]的QP之後才決定MB[I]的QP)。MB[Q]取決於MB[16](例如:在決定MB[16]的QP之後才決定MB[Q]的QP)。
去除QP邊界問題的演算法改變係決定最左邊的MB之QP不取決於最右邊的MB,且剩下的MB之間之QP相依性(例如:所有其他的MB依逐線掃描順序取決於先前的MB,除了最左邊的MB取決於最右邊的MB以外)不受影響(例如:在MB編碼期間針對各個MB而改變QP)。因此,VSP可克服MB之間的相依性之弱點。MB[9]的QP可取決於MB[8]的QP或取決於MB[P]的QP。新的速率控制演算法係將所劃分的圖片視為兩個圖片(依兩個逐線掃描順序而針對QP相依性分為左半邊圖片和右半邊圖片)。最左邊的MB和最右邊的MB之間沒有關聯,且可去除QP邊界相依性。
在作業時,該用於視頻壓縮的並行處理裝置係利用使用多核心的並行處理能力來加速視頻壓縮。由於許多裝置和系統因效率目的而包括多個核心(在一個處理器或多個處理器中),故視頻壓縮基本上會利用多個核心。已利用多核心進行其他嘗試,但其具有會降低其效率的固有缺點。VSP係將各圖片分為N個垂直區域,其中該些區域大致具有相同的大小。除了一個E編碼程序之外,係針對各區域產生M編碼程序。由於各M編碼程序具有相似的複雜度,各核心將花費大約相同的時間量來處理它們。另外,E編碼程序的工作量很少,所以其可由任何可用的核心來加以處理。然後,將該些程序同步化。
如上所述,裝置係利用藉由將圖片分為垂直區域的垂直劃分並行處理,然後將各對應程序送至單獨的核心以供處理。另外,熵編碼程序會被送至可用的核心。之後,將該些程序同步化,並達成迅速壓縮之視頻。可以硬體、軟體、或兩者之組合來實行該垂直劃分並行處理。
可將垂直劃分並行處理用於許多應用方式,包括但不限於視頻編輯、儲存、廣播、和通訊。
已藉由特定實施例來詳細說明本發明,以便幫助了解其構造和作業原理。在此所提出的特定實施例及其細節不應限制本案所附之申請專利範圍。熟習該項技藝者將可輕易地在不超出本發明及其申請專利範圍所定義之範疇內,對本發明進行各種的變更與修改。
本專利申請案係主張2006年7月17日所申請的美國臨時專利申請案60/831,614號「Parallel Processing Apparatus of Video Compression」之優先權。該案之整體內容係併入此處,以供參考。
1,1',1''...運算裝置
2、2'...第一處理器
3、5...單核心
3'、5'...雙核心
4、4'...第二處理器
400...第一區域
402...第二區域
404...劃分線
406...中點
500...第一執行緒
502...第二執行緒
504...SYNC邊界
506...QP邊界
第1A圖~第1C圖描繪用於視頻壓縮的並行處理裝置之實施例的方塊圖。
第2圖描繪垂直劃分並行處理之程序的流程圖。
第3圖描繪示範性的圖片之垂直劃分。
第4A圖描繪偏移劃分法(shift splitting)的圖示。
第4B圖描繪將被壓縮的圖片。
第5圖描繪具有兩種邊界的執行緒之圖示。

Claims (15)

  1. 一種用於壓縮視頻的裝置,包含:a. 第一處理核心,用於處理第一巨集塊層編碼(M編碼)執行緒;以及b. 第二處理核心,耦接至該第一處理核心,用於處理第二巨集塊層編碼執行緒,其中由選自該第一處理核心和該第二處理核心的可用處理核心來處理熵編碼(E編碼)執行緒,其中該熵編碼是根據該第一巨集塊層編碼執行緒和該第二巨集塊層編碼執行緒的輸出。
  2. 如申請專利範圍第1項之裝置,其中該第一和第二巨集塊層編碼執行緒包括模式決定、轉換、及量化,而該熵編碼執行緒包括熵編碼。
  3. 如申請專利範圍第1項之裝置,其中該可用處理核心係自動加以選擇。
  4. 如申請專利範圍第1項之裝置,其中該第一巨集塊層編碼執行緒和該第二巨集塊層編碼執行緒係並行地加以處理。
  5. 如申請專利範圍第4項之裝置,其中該第一巨集塊層編碼執行緒和該第二巨集塊層編碼執行緒係同時加以處理。
  6. 如申請專利範圍第1項之裝置,其中將圖片劃分為兩個垂直區域,該第一巨集塊層編碼執行緒對應於第一垂直區域,而該第二巨集塊層編碼執行緒對應於第二垂直 區域。
  7. 如申請專利範圍第1項之裝置,其中將圖片偏移劃分為兩個垂直區域,該第一巨集塊層編碼執行緒對應於第一劃分偏移垂直區域,而該第二巨集塊層編碼執行緒對應於第二劃分偏移垂直區域。
  8. 如申請專利範圍第1項之裝置,其中將圖片對角劃分為兩個區域,該第一巨集塊層編碼執行緒對應於第一對角區域,而該第二巨集塊層編碼執行緒對應於第二對角區域。
  9. 一種用於壓縮視頻的方法,包含:a. 將圖片垂直分割為N個區域,其中N大於或等於2;b. 展開N+1個程序,其中N個程序為巨集塊層編碼(M編碼),而一個程序為熵編碼(E編碼);c. 利用複數個處理核心,並行地處理該N個巨集塊層編碼程序;d. 利用該複數個處理核心中的可用處理核心,處理該熵編碼程序以處理該巨集塊層編碼程序的輸出;以及e. 使該N+1個程序同步化。
  10. 如申請專利範圍第9項之方法,其中處理該N個巨集塊層編碼程序包括在將先前巨集塊巨集塊層編碼結束之後,將當前巨集塊巨集塊層編碼。
  11. 如申請專利範圍第9項之方法,其中處理該熵編碼程序包括在將該當前巨集塊巨集塊層編碼結束之後,將 該當前巨集塊熵編碼。
  12. 如申請專利範圍第9項之方法,其中處理該熵編碼程序包括在將該先前巨集塊熵編碼結束之後,將該當前巨集塊熵編碼。
  13. 如申請專利範圍第9項之方法,更包含:a. 在將先前巨集塊巨集塊層編碼結束之後,將當前巨集塊巨集塊層編碼;b. 在將該當前巨集塊巨集塊層編碼結束之後,將該當前巨集塊熵編碼;以及c. 在將該先前巨集塊熵編碼結束之後,將該當前巨集塊熵編碼。
  14. 如申請專利範圍第9項之方法,更包含:若巨集塊不在第一巨集塊列中,則在右上方巨集塊的熵編碼結束之後,將該巨集塊巨集塊層編碼。
  15. 如申請專利範圍第9項之方法,更包含:若巨集塊為巨集塊列中最後的巨集塊,則在上方巨集塊的熵編碼結束之後,將該巨集塊巨集塊層編碼。
TW096125859A 2006-07-17 2007-07-16 用於視頻壓縮的並行處理裝置 TWI415446B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US83161406P 2006-07-17 2006-07-17
US11/716,197 US8000388B2 (en) 2006-07-17 2007-03-08 Parallel processing apparatus for video compression

Publications (2)

Publication Number Publication Date
TW200818864A TW200818864A (en) 2008-04-16
TWI415446B true TWI415446B (zh) 2013-11-11

Family

ID=38957300

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096125859A TWI415446B (zh) 2006-07-17 2007-07-16 用於視頻壓縮的並行處理裝置

Country Status (6)

Country Link
US (1) US8000388B2 (zh)
EP (1) EP2041882A4 (zh)
JP (1) JP2009544225A (zh)
CN (1) CN101490968B (zh)
TW (1) TWI415446B (zh)
WO (1) WO2008010979A2 (zh)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8189683B2 (en) * 2006-11-28 2012-05-29 General Instrument Corporation Method and system for providing single cycle context weight update leveraging context address look ahead
US8213499B2 (en) * 2007-04-04 2012-07-03 General Instrument Corporation Method and apparatus for context address generation for motion vectors and coefficients
US20080247459A1 (en) * 2007-04-04 2008-10-09 General Instrument Corporation Method and System for Providing Content Adaptive Binary Arithmetic Coder Output Bit Counting
CN101330608A (zh) * 2007-06-22 2008-12-24 科立尔数位科技股份有限公司 位率控制方法及装置
US8634470B2 (en) * 2007-07-24 2014-01-21 Samsung Electronics Co., Ltd. Multimedia decoding method and multimedia decoding apparatus based on multi-core processor
TW200943175A (en) * 2008-01-17 2009-10-16 Nec Corp Synchronization control method and information processing device
US8542730B2 (en) * 2008-02-22 2013-09-24 Qualcomm, Incorporated Fast macroblock delta QP decision
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
JP5088215B2 (ja) * 2008-04-11 2012-12-05 ソニー株式会社 情報処理システム及び情報処理方法、並びにプログラム
FR2931280B1 (fr) * 2008-05-19 2011-01-07 Envivio France Procede et dispositif de codage ou decodage d'image avec parallelisatioon du traitement sur plusieurs processeurs et coprocesseurs, programme d'ordinateur et moyen de stockage correspondants.
CN101686388B (zh) * 2008-09-24 2013-06-05 国际商业机器公司 视频流编码装置及其方法
US9762973B2 (en) * 2008-11-04 2017-09-12 The Directv Group, Inc. Method and system for operating a receiving circuit module to encode a channel signal into multiple encoding formats
US8335256B2 (en) * 2008-11-14 2012-12-18 General Instrument Corporation Motion compensation in video coding
US8705879B2 (en) * 2009-04-01 2014-04-22 Microsoft Corporation Image compression acceleration using multiple processors
US8069446B2 (en) * 2009-04-03 2011-11-29 Microsoft Corporation Parallel programming and execution systems and techniques
TWI455587B (zh) * 2009-04-10 2014-10-01 Asustek Comp Inc 具有多格式影像編解碼功能的資料處理電路及處理方法
JP5343703B2 (ja) * 2009-05-22 2013-11-13 ソニー株式会社 復号処理装置、復号処理方法、およびプログラム
JP5698156B2 (ja) * 2009-06-09 2015-04-08 トムソン ライセンシングThomson Licensing 復号装置、復号方法、および編集装置
US8379718B2 (en) * 2009-09-02 2013-02-19 Sony Computer Entertainment Inc. Parallel digital picture encoding
EP2486659B1 (fr) 2009-10-05 2020-11-25 Orange Procedes de codage et de décodage d'images, dispositifs de codage et de decodage et programmes d'ordinateur correspondants
US8660177B2 (en) * 2010-03-24 2014-02-25 Sony Computer Entertainment Inc. Parallel entropy coding
US8344917B2 (en) 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US9313514B2 (en) 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
US9060174B2 (en) 2010-12-28 2015-06-16 Fish Dive, Inc. Method and system for selectively breaking prediction in video coding
FR2972588A1 (fr) * 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
CN105007486B (zh) * 2011-03-07 2018-06-05 杜比国际公司 编码和解码图像的方法、编码和解码设备
US20120236940A1 (en) * 2011-03-16 2012-09-20 Texas Instruments Incorporated Method for Efficient Parallel Processing for Real-Time Video Coding
WO2012167418A1 (en) * 2011-06-07 2012-12-13 Technicolor (China) Technology Co., Ltd. Method for encoding and/or decoding images on macroblock level using intra-prediction
FR2977111A1 (fr) 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US8767824B2 (en) 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
WO2013010997A1 (en) 2011-07-15 2013-01-24 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Sample array coding for low-delay
JP6080375B2 (ja) 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9749661B2 (en) * 2012-01-18 2017-08-29 Qualcomm Incorporated Sub-streams for wavefront parallel processing in video coding
CN102740075B (zh) * 2012-06-05 2015-02-11 沙基昌 一种视频数据的压缩/解压缩方法及系统
TW201414311A (zh) 2012-09-18 2014-04-01 Novatek Microelectronics Corp 視訊編碼方法與視訊編碼裝置
CN104904202A (zh) * 2012-09-28 2015-09-09 三星电子株式会社 用于使用参考画面信息进行并行视频编码的方法和设备以及用于使用参考画面信息进行并行视频解码的方法和设备
EP2814254A1 (en) * 2013-02-21 2014-12-17 ST-Ericsson SA Combined parallel and pipelined video encoder
US9319576B2 (en) * 2014-01-29 2016-04-19 Google Technology Holdings LLC Multi-processor support for array imagers
CN104980764B (zh) * 2014-04-14 2019-06-21 深圳力维智联技术有限公司 基于复杂度均衡的并行编解码方法、装置及系统
CN107005694B (zh) * 2014-09-30 2020-05-19 瑞典爱立信有限公司 在独立处理单元中编码和解码视频帧的方法、装置和计算机可读介质
US9836248B2 (en) * 2014-10-30 2017-12-05 ScaleFlux In-memory data compression complementary to host data compression
US10602157B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Variable bitrate control for distributed video encoding
US10499070B2 (en) 2015-09-11 2019-12-03 Facebook, Inc. Key frame placement for distributed video encoding
US10506235B2 (en) 2015-09-11 2019-12-10 Facebook, Inc. Distributed control of video encoding speeds
US10341561B2 (en) 2015-09-11 2019-07-02 Facebook, Inc. Distributed image stabilization
US10375156B2 (en) 2015-09-11 2019-08-06 Facebook, Inc. Using worker nodes in a distributed video encoding system
US10063872B2 (en) * 2015-09-11 2018-08-28 Facebook, Inc. Segment based encoding of video
US10602153B2 (en) 2015-09-11 2020-03-24 Facebook, Inc. Ultra-high video compression
KR101925681B1 (ko) * 2016-09-28 2018-12-05 가천대학교 산학협력단 멀티코어 시스템을 이용한 병렬 비디오 처리
CN109584137B (zh) * 2018-10-24 2021-02-02 北京大学 一种脉冲序列格式转换方法及系统
US11194634B2 (en) * 2018-12-14 2021-12-07 Advanced Micro Devices, Inc. Apparatus and method for providing workload distribution of threads among multiple compute units
CN111105766B (zh) * 2019-12-04 2022-08-26 昆山龙腾光电股份有限公司 频率转换方法、组件、时序处理装置及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040258162A1 (en) * 2003-06-20 2004-12-23 Stephen Gordon Systems and methods for encoding and decoding video data in parallel
JP2006129284A (ja) * 2004-10-29 2006-05-18 Sony Corp 符号化及び復号装置並びに符号化及び復号方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04139986A (ja) * 1990-09-29 1992-05-13 Victor Co Of Japan Ltd 画像信号の動き補償予測符号化/復号化装置
US5138447A (en) * 1991-02-11 1992-08-11 General Instrument Corporation Method and apparatus for communicating compressed digital video signals using multiple processors
US5379070A (en) * 1992-10-02 1995-01-03 Zoran Corporation Parallel encoding/decoding of DCT compression/decompression algorithms
US5768537A (en) * 1996-02-22 1998-06-16 International Business Machines Corporation Scalable MPEG2 compliant video encoder
US6775417B2 (en) * 1997-10-02 2004-08-10 S3 Graphics Co., Ltd. Fixed-rate block-based image compression with inferred pixel values
US6330370B2 (en) * 1998-02-25 2001-12-11 Lucent Technologies Inc. Multiple description transform coding of images using optimal transforms of arbitrary dimension
US6148111A (en) * 1998-04-27 2000-11-14 The United States Of America As Represented By The Secretary Of The Navy Parallel digital image compression system for exploiting zerotree redundancies in wavelet coefficients
US7190840B2 (en) * 2002-01-07 2007-03-13 Hewlett-Packard Development Company, L.P. Transform coefficient compression using multiple scans
US6888891B2 (en) * 2002-01-09 2005-05-03 Octa Technology, Inc. Wavelet domain half-pixel motion compensation
US6931061B2 (en) 2002-11-13 2005-08-16 Sony Corporation Method of real time MPEG-4 texture decoding for a multiprocessor environment
FR2854754B1 (fr) 2003-05-06 2005-12-16 Procede et dispositif de codage ou decodage d'image avec parallelisation du traitement sur une pluralite de processeurs, programme d'ordinateur et signal de synchronisation correspondants

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040258162A1 (en) * 2003-06-20 2004-12-23 Stephen Gordon Systems and methods for encoding and decoding video data in parallel
JP2006129284A (ja) * 2004-10-29 2006-05-18 Sony Corp 符号化及び復号装置並びに符号化及び復号方法

Also Published As

Publication number Publication date
JP2009544225A (ja) 2009-12-10
CN101490968A (zh) 2009-07-22
EP2041882A2 (en) 2009-04-01
US20080219349A1 (en) 2008-09-11
WO2008010979A3 (en) 2008-10-16
US8000388B2 (en) 2011-08-16
TW200818864A (en) 2008-04-16
WO2008010979A2 (en) 2008-01-24
CN101490968B (zh) 2013-12-18
EP2041882A4 (en) 2011-08-31

Similar Documents

Publication Publication Date Title
TWI415446B (zh) 用於視頻壓縮的並行處理裝置
USRE49727E1 (en) System and method for decoding using parallel processing
US9872018B2 (en) Random access point (RAP) formation using intra refreshing technique in video coding
JP6960548B2 (ja) ニューラルネットワークを利用したコーデック
KR101775936B1 (ko) 비디오 코딩 방법 및 장치
US8218641B2 (en) Picture encoding using same-picture reference for pixel reconstruction
US8218640B2 (en) Picture decoding using same-picture reference for pixel reconstruction
US20080152014A1 (en) Method and apparatus for encoding and decoding of video streams
US8660177B2 (en) Parallel entropy coding
TWI776071B (zh) 用以編碼及解碼視訊取樣之轉換區塊的方法、設備和系統
US10158869B2 (en) Parallel video decoding processing apparatus and operating method thereof
Jacobs et al. Thread-parallel MPEG-2, MPEG-4 and H. 264 video encoders for SoC multi-processor architectures
TWI776072B (zh) 用以編碼及解碼視訊取樣之轉換區塊的方法、設備和系統
US20090067494A1 (en) Enhancing the coding of video by post multi-modal coding
CN102238385A (zh) 编码器和/或解码器中垂直和/或水平高速缓存设备和方法
Wei et al. A parallel computing algorithm for H. 264/AVC decoder
Gangavati Complexity reduction of H. 264 using parallel programming