TWI479456B - 使用誤差平面編碼的數據壓縮方法及裝置 - Google Patents
使用誤差平面編碼的數據壓縮方法及裝置 Download PDFInfo
- Publication number
- TWI479456B TWI479456B TW102135729A TW102135729A TWI479456B TW I479456 B TWI479456 B TW I479456B TW 102135729 A TW102135729 A TW 102135729A TW 102135729 A TW102135729 A TW 102135729A TW I479456 B TWI479456 B TW I479456B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- bit
- bit stream
- access unit
- image data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 65
- 238000013144 data compression Methods 0.000 title claims description 54
- 238000007906 compression Methods 0.000 claims description 35
- 230000006835 compression Effects 0.000 claims description 35
- 230000006837 decompression Effects 0.000 claims description 13
- 238000007781 pre-processing Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 7
- 238000013139 quantization Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 2
- 238000001914 filtration Methods 0.000 claims 1
- 239000000523 sample Substances 0.000 description 22
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 235000015096 spirit Nutrition 0.000 description 1
Classifications
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- 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/102—Methods 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/115—Selection of the code volume for a coding unit prior to coding
-
- 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
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/34—Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本發明涉及視頻數據的壓縮及解壓縮。特別地,本發明涉及的方法與系統為有限位元預算下的有損數據壓縮,並使用誤差平面壓縮技術。
數據壓縮技術是在圖像及視頻編碼系統中越來越重要的一項技術以縮減數據冗餘。數據壓縮一個重要的益處是減少對外部記憶體的需求,這能減少整個系統的成本。數據壓縮的另一個益處在於減少數據的大小可能可以降低存取外部記憶體的頻寬需求,因此可使用較低頻率的動態隨機存取記憶體(dynamic random-access memory,DRAM)。為獲得更好的壓縮率(本案定義為壓縮後數據大小比原始數據大小的比率,越低越好),當壓縮影像的品質損耗是可以被接受時,一般常使用有損數據壓縮方法。舉例來說,如JPEG標準就是被廣泛採用的有損數據壓縮方法
傳統的數據壓縮技術,如JPEG,一般基於幀的編碼數據。基於幀的壓縮技術的最小編碼單元典型是8x8或是16x16,這限制了這些算法在較小的訪問單元的系統中的應用。對於算法在固件系統的實施,訪問單元(access units,AUs)具有較小的大小是特別重要的,如:8x1,16x1,32x1,4x4等等。
此外,較小的訪問單元大小能允許較簡單的壓縮方法及更靈活的配置,因而能夠幫助平行處理且特別適合固件的實施。
另一基於幀的壓縮技術的挑戰是壓縮數據的位元流大小變化與原始影像相關。例如,複雜的區域所壓出的位元流比較大,而單純的區域所壓出的位元流比較小。因此,如果想要找出特定區域影像的位元流資料並不容易,可能需要從頭開始解碼。在許多圖像和視頻相關的應用中,可能需要存取某塊特定位置的圖像資料。如JPEG壓縮圖像的一已選擇的小區域可能需被播放,或者前一圖像中的一塊區域可能需被訪問以進行運動補償(motion compensation)。任意基於幀或者基於大的圖像基礎的壓縮在訪問所需視頻數據之前,可能需要訪問和處理大量的已壓縮數據。這會引起更多的電力消耗和在固件實施中低效的DRAM頻寬的使用。使用較小的訪問單元(AUs),並且讓每個訪問單元的位元預算固定,可使得記憶體的訪問和電力的損耗問題可以被減輕。然而,針對每一訪問單元作壓縮後,有可能壓縮後的位元流大小是小於位元預算的,因為傳統的高效率有損壓縮並無法精確的控制所壓出位元大小。在視頻和圖像編碼系統中,需要開發一種數據壓縮方案,能夠基於小的訪問單元和同時有效地使用全輸出位元預算,實現高的壓縮效率(即低壓縮率,本案定義為壓縮後數據大小比原始數據大小的比率)。
有鑑於此,本發明提供一種圖像數據壓縮及解壓縮方法,且提供相應的圖像數據的壓縮及解壓縮裝置。
一種圖像數據的壓縮方法,該方法包括:接收圖像數據,其中該圖像數據被分割成多個訪問單元;應用第一數據壓縮至每一訪問單元以為該訪問單元產生第一位元流,其中
該第一位元流的大小小於或等於該訪問單元的目標位元預算;響應該第一數據壓縮的結果,如果第一位元流的大小小於該訪問單元的目標位元預算,應用第二數據壓縮至該訪問單元的誤差數據,以為該訪問單元產生第二位元流,其中,該誤差數據對應該訪問單元的原始數據與第一重建數據之間的差異,該第一重建數據對應第一位元流的解碼結果,也可由第一數據壓縮產生;此壓縮方法會提供該第一位元流;及若該第二位元流存在,提供該第二位元流。在一範例中,該第二數據壓縮包括應用位元平面編碼至位元平面順序數據,其中,該位元平面順序數據是以一位元平面順序掃描該誤差數據的最高有效位至最低有效位產生;取該位元平面順序數據的前N個位元作為該的第二位元流,該第二位元流作為該第二數據壓縮的結果,其中N為該訪問單元的目標位元預算與第一位元流大小的相減。
一種圖像數據的解壓縮方法,該方法包括:接收與圖像數據的訪問單元相關的位元流,其中該位元流包括第一位元流,且依據該第一位元流的情況,該位元流也可能進一步包括第二位元流;使用第一數據解壓縮解碼該第一位元流,以產生對應於該訪問單元的第一重建數據;如果該第二位元流存在(例如,第一位元流大小小於位元預算),使用第二數據解壓縮解碼該第二位元流,以產生第二重建數據,其中,該第二重建數據對應於該訪問單元的誤差數據;若該第二位元流存在,合幷該第一重建數據及該第二重建數據以產生該訪問單元的最終重建數據;否則使用該第一重建數據作為該訪問單元的最終重建數據。在一範例中,該解碼方碼包括使用位元平面編/解碼方法來解碼該第二位元流。
本發明實施例更提供一用於圖像數據壓縮的裝置,該裝置包括:一模塊,用於接收圖像數據,其中該圖像數
據被分割成多個訪問單元;一模塊,用於應用第一數據壓縮至每一訪問單元以為該訪問單元產生第一位元流,其中該第一位元流的大小小於或等於該訪問單元的目標位元預算;一模塊,用於響應該第一數據壓縮的結果,如果第一位元流的大小小於該訪問單元的目標位元預算,應用第二數據壓縮至該訪問單元的誤差數據,以為該訪問單元產生第二位元流,其中,該誤差數據對應該訪問單元的原始數據與第一重建數據之間的差異,該第一重建數據對應該第一位元流的解碼結果,也可由第一數據壓縮產生;一模塊,用於提供該第一位元流;及若該第二位元流存在,提供該第二位元流。
一用於圖像數據解壓縮的裝置,該裝置包括:一模塊,接收與圖像數據的訪問單元相關的位元流,其中該位元流包括第一位元流,且該依據該第一位元流的情況,該位元流進一步包括第二位元流;一模塊,使用第一數據解壓縮解碼該第一位元流,以產生對應於該訪問單元的第一重建數據;一模塊,用於如果該第二位元流存在(例如,第一位元流大小小於位元預算),使用第二數據解壓縮解碼該第二位元流,以產生第二重建數據,其中,該第二重建數據對應於該訪問單元的誤差數據;一模塊,用於若該第二位元流存在,合幷該第一重建數據及該第二重建數據以產生該訪問單元的最終重建數據;否則使用該第一重建數據作為該訪問單元的最終重建數據;及一模塊,用於為該訪問單元提供該最終重建數據。
本發明提供的壓縮及解壓縮方法及相應的裝置,藉由對誤差數據的處理,能夠提高圖像效率和/或壓縮質量。
110、210‧‧‧源圖像
120、220‧‧‧訪問單元
130、230‧‧‧有損數據壓縮單元
131‧‧‧位元流
140‧‧‧輸出緩存
231、611‧‧‧第一位元流
221‧‧‧原始數據
250‧‧‧有損數據解壓縮單元
251‧‧‧第一重建數據
260、630‧‧‧加法器
261‧‧‧誤差數據
270‧‧‧誤差平面編碼單元
271、612‧‧‧第二位元流
310‧‧‧誤差數據預處理
320‧‧‧位元平面編碼
610‧‧‧輸入緩存
620‧‧‧有損數據解壓縮單元
621‧‧‧第一重建數據
622‧‧‧該第一位元流的大小信息
640‧‧‧重建訪問單元
650‧‧‧誤差平面解碼
651‧‧‧重建誤差數據
第1圖揭露了基於小訪問單元的有損數據壓縮技術的流程圖的範例。
第2圖揭露了基於有限位元預算的有損數據壓縮技術的流程圖範例,其中,應用誤差平面編碼方法以提高重建圖像的質量。
第3圖揭露了包含誤差數據預處理和位元平面編碼的誤差平面編碼技術的示範性流程圖。
第4圖揭露了通過限制誤差平面的位元深度進行的誤差數據預處理的範例。
第5A圖揭露了依據本發明通過編碼最高有效位(most significant bit,MSB)至最低有效位(least significant bit,LSB)的誤差數據的誤差平面編碼方法的範例。
第5B圖揭露了依據本發明的一實施方式的位元平面編碼,其中該誤差平面包括3個範例“2,0,-1”,且該誤差大小位元深度為2。
第6圖揭露了基於有限位元預算的訪問單元的數據解壓縮技術的示範性流程圖,其中,誤差平面編碼被實施以提高重建數據的質量。
第7圖揭露了依據本發明的位元平面編碼和解碼的實例。
傳統的高效數據壓縮方法經常引起大小可變的輸出流,因為有限的位元預算而留下一些未使用的輸出位元。依據本發明的實施例,該自AU壓縮殘留的位元預算可被用於進一步提高該修復的圖像質量。通過在已壓縮的AU位元流中使用該殘留的位元預算傳輸該圖像/視頻數據更多的編碼信息,該圖像/視頻數據的質量可以被提高。以此方式的挑戰是針對
可變長度的AU壓縮位元流,有效地使用殘留的位元預算。本發明介紹誤差平面編碼(Error plane coding,EPC)以有效地編碼殘留的位元預算中的每一AU的誤差數據。
本申請的一範例中,該有損數據壓縮可用於具有固定壓縮率的圖框或圖像緩存壓縮,以符合規定大小的外部DRAM。在基於AU的數據壓縮系統中,通常的做法是獨立限制每一單獨的AU的輸出位元流的大小,以簡化系統實施及提供隨機訪問(random access)任意的AUs。舉例來說,一壓縮預算為原始大小的0.5X被設定為每一AU的目標,該每一AU的大小被設計為被壓縮至原始大小的一半或者少於一半。每一AU的壓縮數據大小依據該輸入數據的特性和已選的壓縮係數如量化指數變化。上述變化使得輸出位元流的大小很難精確的等於AU的位元預算。為了保證就算在最壞的情況下,該輸出位元流的大小也不會超出該預算,每一AU的壓縮被謹慎地設計,所以該輸出位元流的大小總是小於或等於該預算。故,該AU的輸出經常具有殘留的位元預算。
第1圖揭露一基於訪問單元的有損數據壓縮。源圖像110被分割成多個訪問單元120。然後,每一訪問單元120被有損數據壓縮單元130以一目標壓縮率壓縮。舉例來說,一訪問單元可包含16-byte且被設定為以一0.5的壓縮率壓縮至小於等於8-byte。該有損壓縮輸出的位元流131依次輸入一輸出緩存140,在該壓縮數據被以轉移至外部DRAM之前,臨時存儲該一個或多個壓縮訪問單元。
在本發明中,發展一種兩步壓縮方案以全部利用該輸出位元預算和提高數據壓縮質量。該第一步驟是為該多個獨立的訪問單元提供一壓縮方法。在這個步驟中,該每一AU的數據被壓縮至一小於或者等於該輸出位元預算的位元流大
小。為了保證該壓縮數據在目標預算內,與壓縮方法有關的編碼參數需被調整。第二步驟是提供另一方法以使用殘留的位元預算以提高壓縮質量。雖然第二步驟中通過使用誤差數據填充殘留的位元預算將會產生一固定大小的輸出位元流,通過在第一步驟中選擇合適的編碼參數,所需壓縮比可以被保証。
第2圖揭露本發明一實施例的示範性系統。其中提供第二編碼方法以使用每一AU的殘留的位元預算來編碼誤差數據。源圖像210被分割成多個訪問單元220,如8x1、16x1、32x1、4x4或者8x8等等。每一訪問單元220被一有損數據壓縮單元230壓縮,以產生一第一位元流231,其中該第一位元流231被依次存儲在一輸出緩存240內。舉例來說,設定一目標壓縮比r,如r=0.5,每一8x1 AU的目標輸出位元預算為32位(此例中,假設每一像素為8位,每一訪問單元為64位)。本領域通常知識者知曉多種有損數據壓縮技術,如變換編碼(transform coding)和小波編碼(wavelet coding)。這些編碼技術通常包括熵編碼,如可變長度編碼(variable length coding)或算法編碼(arithmetic coding)。因此,不再在此詳細描述有損編碼技術的細節。如果一有損數據壓縮為該AU產生y位元,這一結果可為第二編碼方法殘留(x-y)有效位。舉例來說,一AU的有損數據壓縮可以產生28位元,因此,剩餘一4位元的殘留預算。然而,如果該第一位元流等於目標位元預算,即(x-y)=0,這表示沒有為第二數據壓縮剩下殘留的位元預算。因此,這種情況下,第二數據壓縮不會被執行。
為了利用該第一步驟殘留的位元預算,有損壓縮的冗餘,也叫誤差數據,第一次獲得是從該AU的原始數據中減去該AU的重建數據。加法器260被用於自該原始數據221中減去第一重建數據251以形成該誤差數據261。有損數據解壓縮
單元250被用於恢復該第一重建數據251。然後使用一第二編碼方法編碼該誤差數據261產生一第二位元流271。如第2圖顯示,誤差平面編碼單元270是示範性的第二編碼方法。依據本發明的誤差平面編碼,可以產生精確合適該目標位元預算的已編碼位元。該第一位元流231和該第二位元流271在該壓縮數據被傳輸至外部記憶體之前,均被存儲在一輸出緩存240中。
如第2圖所示,該誤差平面編碼單元270被用於編碼該誤差數據。在一些情況下,該第一數據壓縮會導致無損壓縮,其中,該所有誤差數據均為0。在這些情況下,無須應用第二數據壓縮。該無損數壓縮的情況可在該第一位元流中使用一語法元素來表示。舉例來說,在這種情況下,量化指數(Quantization index)可以被設置為0以表示該第一數據壓縮是無損的。因此,該第二數據壓縮可以被跳過,以減少能量損耗。如果應用該第二數據壓縮,該EPC會對誤差數據做位元平面掃瞄(bit-plane scan),並根據剩餘位元預算,從位元平面的最低有效位至最高有效位開始丟棄。因此,該EPC能精準控制該位元流的大小以符合該位元預算。一EPC的範例顯示於第3圖,其中,該EPC的處理包括誤差數據預處理310及位元平面編碼320。該誤差數據預處理310是處理和準備該誤差數據,使其更適合隨後的編碼,以提高編碼效率及/或提高編碼質量。該誤差數據可能具有寬的動態範圍及/或表現在大的位元深度,這會引起隨後的位元平面編碼是非常低效的。依據本發明的一實施例,誤差數據預處理能夠減少該誤差數據的動態範圍,被用於如第4圖所示的數據剪輯。其中,|e(i)|指的是誤差數據e(i)在像素位置i的絕對值。一誤差數據限制Thr可被選擇以剪輯該誤差數據,因此,若e(i)之Thr,e(i)=Thr且若e(i)Thr,
e(i)=-Thr。該誤差數據可由一個符號位(sign bit)及n-位誤差大小(n-bit magnitude)表示。舉例來說,若該誤差限制Thr被設置成1,該誤差大小將被限制在0和1(即,1-位元表示)。因此,該誤差數據將被表示為0、+1或者-1。類似地,若該誤差限制Thr被設置成3,該誤差大小將被限制在0、1、2及3(即,2-位元表示)。不只數據剪輯(clipping)可被用於該誤差預處理的範例,其他預處理裝置也可以被使用。舉例來說,量化(quantization)或數據捨入(rounding)也可以取代剪輯,被用於減少表示該誤差數據的位元數。在另一範例中,數據濾波(filter)如中值濾波(median filter)也可以被應用至該誤差數據的預處理以準備隨後的編碼。進一步,一預處理的組合裝置也可以被使用。如一中值濾波器可以被應用至該誤差數據,隨後進行上述的數據剪輯。
在預處理該誤差數據後,位元平面編碼(bit-plane coding,BPC)被用於編碼該已預處理的誤差數據。該位元平面編碼自最高有效位至最低有效位排列該誤差數據以產生一位元平面順序數據(自高優先級至低優先級)。該位元平面編碼選擇該位元平面輸出自高優先級的位元至低優先級的位元。換句話來說,該位元平面編碼選擇該第一樣本的最高有效位(MSB),然後至該第二樣本的MSB…至最後樣本數據的MSB。接著,繼續該第一樣本的MSB-1,然後是該第二樣本的MSB-2,以此類推。該最後樣本數據的LSB將是該位元平面編碼的最後一個位元。該位元平面順序數據將被剪輯以填補該殘留的位元預算。在剪輯該位元平面順序數據(本案中簡稱為有序數據(ordered data))的過程中,取自該第一樣本數據的MSB至該最後樣本數據的LSB能夠填滿該殘留的位元預算的位元,被保留作為該第二位元流,而剩餘的有序數據則不被考慮。第5A圖揭
露了依據本發明實施例產生有序數據的範例。在第5A圖中,該已預處理的誤差數據相當預包含3個樣本的一個AU,其中,該誤差數據大小的位元深度為2。在像素i的已預處理的誤差數據大小被表示為Bi,j,其中,j=0,...,(M-1),且M相應於該已預處理的誤差數據大小的位元深度。因此,該已預處理的第一樣本的兩大小位元分別顯示為B1,1(為MSB)和B1,0(為LSB)。通過沿著如第5A圖揭露的該位元平面的箭頭指示的方向掃描該第一樣本數據的MSB至最後樣本數據的LSB,產生該有序數據。因此,第5A圖的範例中的有序數據為{B1,1;B2,1;B3,1;B1,0;B2,0;B3,0}。
本發明的一BPC的一實施例描述了使用符號和大小來表示誤差數據。當依據該誤差數據的大小部份,填補該有序數據至該殘留的位元預算時,該誤差數據的符號(sign)部分也必須被考慮。依據本發明一實施的誤差數據的符號部分的編碼裝置宣稱,對於該第二位元流,對於每一誤差數據,將對應的符號位元插入誤差數據大小的第一個遇到的“1”位元之後。舉例來說,正數的符號位元被編碼成位元“0”,而負數的符號位元被編碼成“1”。一樣本值為“-4”包括一符號位元“1”和大小“4”。該大小可以被編碼成常規的二進制表示。因此,該大小可以被表示為“100”(若3-位元位元深度被使用)。該符號位元(即“1”)被插入在二進制表示的大小的第一個非0位元(“1”)後面。因此,依據本發明,一值“-4”插入符號位元可表示為“1100”。在位元平面編碼中,每一個數據樣本的數據自位元平面的MSB至LSB被編碼。該第一“1”位元及其接下來的符號位元被認為位元平面掃描的一實例,其中,該接下來的符號位元應被包含在該BPC位元流中。需明白的是,該符號位元的定義也可以被逆定義,正數符號為“1”,負數符號為“0”,其餘的
處理無須改變。上述範例描述了合幷該符號位元至使用位元平面編碼的大小部分。本領域通常知識技藝者可以使用其他的裝置插入該符號位元以執行本發明。舉例來說,每一誤差數據的符號位元可與該誤差數據的大小一同被存儲在一預決定位置(pre-determined location),如大小的二進制數據的開始或者末端或者與該誤差數據的大小分離。當該誤差數據的第一“1”位元被包含在該BPC位元流中,相關的符號位元被立即插入到該第一“1”位元後。在該誤差數據的符號與大小均被編碼以填補該殘留的位元預算後,位元平面編碼位元流(即該第二位元流)被合幷至該有損壓縮的輸出位元流(即該第一位元流)。更進一步,基於二進制表示的其他符號-大小也可被用於執行本發明。舉例來說,依據傳統的二進制表示(如:位元深度為3,5->”101”和3->”011”)的該大小的位元可以逐位元被反向(如:5->”010”及3->”100”),且該符號位元可以被插入在該第一“0”位元後,這將導致使用上述傳統的二進制表示相同的效果。
第5B圖揭露了一包含大小位元和符號位元的位元平面編碼的範例,其中,該AU包含三個誤差樣本,相應的為“2”,“0”及“-1”,且該位元深度的大小為2。依據上述的一實施例,該三個誤差樣本將被第一編碼成“1,0(s),0”,“0,0”and“0,1,1(s)”,其中後面接“(s)”的位元表示符號位元。進一步,該第一“1”位元和其接下來的符號位元被下劃線標示以強調當該第一“1”位元被包含在該BPC位元流中,該符號位元也被包含在BPC位元流中。下一步驟是自MSB至LSB掃描該誤差樣本,且相應在誤差數據的大小位元的第一非0(“1”)位元後插入該符號位元。因此,導致該位元流為{1,0(s),0,0,0,0,1,1(s)}。如果該殘留的位元預算為5位元,然後該第二位元流是前5位元,即{1,0(s),0,0,0}。該最後的3位元,即{0,1,1(s)}被忽視。如果
該第一“1”位元被包含在該BPC位元流中,且無更多的殘留的位元預算在其後以包含該符號位元,則該第一“1”位元及其接下來的符號位元被忽視。在這種情況下,該第一“1”位元並不需要被包含在該BPC位元流內,或者若其被包含在該BPC位元流內,解碼器將忽視他。
第6圖揭露了依據本發明的一實施例解碼器解碼EPC壓縮位元流的範例。解碼單元的輸入緩存610包含第一位元流和第二位元流的數據。該第一位元流611藉由有損數據解壓縮單元620解碼以提供一第一重建數據621。因為該第一位元流為長度可變編碼,該第一位元流的大小並不固定。取決於長度可變編碼技術的使用,該第一位元流和該第二位元流之間的分隔點可能不被知曉,直至該第一位元流被解碼。舉例來說,當一訪問單元的所有數據被解碼,該第一位元流的結束點就可以被決定。依據本發明的一實施例,該有損數據解壓縮單元620可以在其解碼該第一位元流後,決定該第一位元流的大小。該第一位元流的大小信息(或者該第一位元流的末端信息)622被用於識別該第二位元流。作為替換的,一標識相應於(End of Block,EOB)可被用於指示該第一位元流的末端。在一些情況下,該系統可使用一個獨特的碼字作為該第一位元流和第二位元流之間的分隔符。因此,該第二位元流可以被識別而無須解碼該第一位元流,且同時解碼該第一位元流和第二位元流成為可能。此外,該第一位元流可能用完該有效的位元預算,該訪問單元可能不存在該第二位元流。如果該訪問單元存在該第二位元流,該第二位元流612被該誤差平面解碼單元650解碼以獲得重建誤差數據651。該重建誤差數據651隨後藉由該加法器630被加至該第一重建數據621以產生解碼數據,即第6圖顯示
的重建訪問單元640。如果該第二位元流不存在,該第一重建數據621被用於作為該重建訪問單元640。
第7圖揭露了對第5B圖所示的BPC位元流進行位元平面解碼的範例。位元平面解碼為位元平面編碼的逆處理。依據本發明的一實施例自大小位元的最高有效位至最低有效位解碼該已被位元平面編碼的誤差數據。每一樣本數據的第一非0大小位元後的一位元為該將被解碼的樣本數據的符號位元。該第二位元流是由第5B圖的範例產生的,即,{1,0,0,0,0}被用於重建該誤差數據ê
(0),ê
(1),
及ê
(2)。該第二位元流的位元被分配至該重建誤差數據自MSB至LSB的位元位置。對於每一樣本數據的第一“1”位元後面接著的被插入的位元為一符號位元。因此,在步驟A中,該第一“1”位元及其接下來的位元(即“0”)被分配至相應於該第一樣本數據的MSB及符號位元的位元位置。在步驟b中,下一位元(即,“0”)被分配至相應於該第二樣本數據的MSB的位元位置。在步驟c中,再下一位元(即,“0”)被分配至相應於該第三樣本數據的MSB的位元位置。在步驟d中,該最後位元(即,“0”)被分配至相應於該第一樣本數據的LSB的位元位置。在步驟d後,沒有更多的有效位元可分配該重建誤差數據。這些空的位元位置將被一默認值(即0)填滿,如第7圖所示的“(0)”。作為替換的,該重建誤差數據的位元位置可以初始化為默認值,如所有的為0,則無需填滿未被分配的位元位置。因此,該重建數據為{2,0,0}。
本領域的通常知識技藝人員依據本發明上下文所描述的實施方式可以執行本發明,且本領域的通常知識技藝人員可依據本發明對實施方式進行多種修改。且本發明的總體精神可以應用至其他實施方式。因此,本發明並不限制於上述實施方式,其包括依本發明揭露的精神和新穎的特徵產生更廣泛
的範圍。在上述細節描述中,多種特定的細節描述是為了提供本發明最深入的理解。本領域的通常知識技藝者能夠明白本發明可以被實施。
雖然本發明已就較佳實施例揭露如上,然其幷非用以限制本發明。本發明所屬技術領域中普通技術人員,在不脫離本發明的精神和範圍內,當可作各種的變更和潤飾。因此,本發明的保護範圍當視之前的權利要求書所界定為準。
上述依據本發明的合併位元平台編碼誤差數據的數據壓縮的實施方式可通過多種硬件、軟件碼或上述結合實現。舉例來說,本發明的一實施例可為電路集成到視頻壓縮芯片,或者程序碼集成到視頻壓縮系統,以進行相應處理。該DRAM記憶體可以為圖像或者視頻壓縮芯片的外部記憶體或者這些芯片的內部記憶體,或者其他形式的記憶體,如FPGA(field programmable gate array)內部記憶體。本發明的一實施例也可為集成在程序碼在圖像或者視頻壓縮/解壓縮軟件上執行在CPU、數字信號處理器(Digital Signal Processor,DSP)以進行相應處理。本發明還可包含一系列功能,幷由電腦處理器、數字信號處理器、微處理器、現場可編程門陣列(Field Programmable Gate Array,FPGA)執行。通過執行定義本發明實施例的機器可讀軟件碼或韌件碼,上述處理器可根據本發明執行特定任務。軟件碼或韌件碼可在不同程序語言和不同格式或方式中進行。軟件碼可編譯成不同的目標平臺。不過,不同的編碼格式、方式和軟件碼語言,以及與本發明有關的使碼執行任務的其它方法均符合本發明的精神,落入本發明的保護範圍。
雖然本發明數據壓縮及解壓縮已以較佳實施例揭露如上,可被實施在多種可讀軟件碼或韌件碼或者其結合。然
其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
210‧‧‧源圖像
220‧‧‧訪問單元
230‧‧‧有損數據壓縮單元
231‧‧‧第一位元流
221‧‧‧原始數據
250‧‧‧有損數據解壓縮單元
251‧‧‧第一重建數據
260‧‧‧加法器
261‧‧‧誤差數據
270‧‧‧誤差平面編碼單元
271、612‧‧‧第二位元流
Claims (23)
- 一種圖像數據的壓縮方法,該方法包括:接收圖像數據,其中該圖像數據被分割成多個訪問單元;應用第一數據壓縮至每一訪問單元以為該訪問單元產生第一位元流,其中該第一位元流的大小小於或等於該訪問單元的目標位元預算;響應該第一數據壓縮的結果,應用第二數據壓縮至該訪問單元的誤差數據,以為該訪問單元產生第二位元流,其中,該誤差數據對應該訪問單元的原始數據與第一重建數據之間的差異,該第一重建數據對應該訪問單元的第一數據壓縮;提供該第一位元流;及若該第二位元流存在,提供該第二位元流。
- 如申請專利範圍第1項所述之圖像數據的壓縮方法,其中,若該第一位元流的大小等於該目標位元預算,該應用該第二數據壓縮至該訪問單元的誤差數據的步驟被跳過。
- 如申請專利範圍第1項所述之圖像數據的壓縮方法,其中,若該第一數據壓縮導致一無損壓縮,該應用該第二數據壓縮至該訪問單元的誤差數據的步驟被跳過。
- 如申請專利範圍第1項所述之圖像數據的壓縮方法,其中,該第二數據壓縮包括位元平面編碼應用於位元平面順序數據,其中該位元平面順序數據是以位元平面順序掃描該誤差數據的最高有效位至最低有效位形成的。
- 如申請專利範圍第4項所述之圖像數據的壓縮方法,其中,該第二數據壓縮進一步包括在進行該位元平面編碼之前執行誤差數據預處理。
- 如申請專利範圍第5項所述之圖像數據的壓縮方法,其中,該 誤差數據預處理包括剪輯處理、數據量化處理、數據濾波處理、數據捨入處理或者這幾種處理的集合。
- 如申請專利範圍第4項所述之圖像數據的壓縮方法,其中,該誤差數據的每一樣本數據被表示為符號和大小,其中該符號被表示為一符號位元且該大小被表示為一個或多個大小位元。
- 如申請專利範圍第7項所述之圖像數據的壓縮方法,其中,如果該一個或多個大小位元包含一個“1”,相應於該樣本數據的符號位元被插入在該一個或多個大小位元的第一個“1”位元後,且使用該一個或多個大小位元及該插入的符號位元作為二進制來表示該樣本數據;否則使用相應於該樣本數據的該一個或多個大小位元作為二進制來表示該樣本數據。
- 如申請專利範圍第4項所述之圖像數據的壓縮方法,其中,該位元平面順序數據的前N位元被使用作為該第二位元流,且其中N為一整數,相應於訪問單元的第一位元流的大小與目標位元預算之間的差異。
- 如申請專利範圍第9項所述之圖像數據的壓縮方法,其中,該位元平面順序數據超出該前N位元的位元被忽視。
- 如申請專利範圍第1項所述之圖像數據的壓縮方法,其中,該訪問單元的該第二位元流被附加至該訪問單元的該第一位元流。
- 如申請專利範圍第1項所述之圖像數據的壓縮方法,其中,該訪問單元的第一重建數據是使用第一數據解壓解碼該訪問單元的第一位元流產生的。
- 一種圖像數據的解壓縮方法,該方法包括:接收與圖像數據的訪問單元相關的位元流,其中該位元流包 括第一位元流,且該依據該第一位元流的情況,該位元流進一步包括第二位元流;使用第一數據解壓縮解碼該第一位元流,以產生對應於該訪問單元的第一重建數據;如果該第二位元流存在,使用第二數據解壓縮解碼該第二位元流,以產生第二重建數據,其中,該第二重建數據對應於該誤差數據,該誤差數據相應於該訪問單元的原始圖像數據與該訪問單元的該第一重建數據之間的差異;若該第二位元流存在,合幷該第一重建數據及該第二重建數據以產生該訪問單元的最終重建數據;否則使用該第一重建數據作為該訪問單元的最終重建數據;及為該訪問單元提供該最終重建數據。
- 如申請專利範圍第13項所述之圖像數據的解壓縮方法,其中,該第一位元流的總大小小於或等於該訪問單元的目標位元預算。
- 如申請專利範圍第13項所述之圖像數據的解壓縮方法,其中,該第一位元流的情況對應於該第一位元流的大小小於該訪問單元已知的位元預算。
- 如申請專利範圍第13項所述之圖像數據的解壓縮方法,其中,該合幷該第一重建數據與該第二重建數據的步驟對應於求和該第一重建數據與該第二重建數據。
- 如申請專利範圍第13項所述之圖像數據的解壓縮方法,其中,該第二數據解壓縮對應位元平面解碼,且該位元平面解碼解壓縮該第二位元流是通過以位元平面順序自最高有效位置到最低有效位置分配該第二位元流至該第二重建數據。
- 如申請專利範圍第17項所述之圖像數據的解壓縮方法,其中,該第二重建數據的一個或多個位元位置沒有被分配到該 第二位元流的位元則被分配一默認值。
- 如申請專利範圍第17項所述之圖像數據的解壓縮方法,其中,如果一“1”位元第一次被分配至該第二重建數據的一樣本數據,該第二重建數據在該“1”位元後的位元被分配至該樣本數據的一符號位元。
- 如申請專利範圍第13項所述之圖像數據的解壓縮方法,其中,該第一數據解壓縮在解壓該第一位元流後決定該第一位元流的大小。
- 一用於圖像數據壓縮的裝置,該裝置包括:一模塊,用於接收圖像數據,其中該圖像數據被分割成多個訪問單元;一模塊,用於應用第一數據壓縮至每一訪問單元以為該訪問單元產生第一位元流,其中該第一位元流的大小小於或等於該訪問單元的目標位元預算;一模塊,用於響應該第一數據壓縮的結果,應用第二數據壓縮至該訪問單元的誤差數據,以為該訪問單元產生第二位元流,其中,該誤差數據對應該訪問單元的原始數據與第一重建數據之間的差異,該第一重建數據對應該訪問單元的第一數據壓縮;一模塊,用於提供該第一位元流;及若該第二位元流存在,提供該第二位元流。
- 一用於圖像數據解壓縮的裝置,該裝置包括:一模塊,接收與圖像數據的訪問單元相關的位元流,其中該位元流包括第一位元流,且該依據該第一位元流的情況,該位元流進一步包括第二位元流;一模塊,使用第一數據解壓縮解碼該第一位元流,以產生對應於該訪問單元的第一重建數據; 一模塊,用於如果該第二位元流存在,使用第二數據解壓縮解碼該第二位元流,以產生第二重建數據,其中,該第二重建數據對應於該誤差數據,該誤差數據相應於該訪問單元的原始圖像數據與該訪問單元的該第一重建數據之間的差異;一模塊,用於若該第二位元流存在,合幷該第一重建數據及該第二重建數據以產生該訪問單元的最終重建數據;否則使用該第一重建數據作為該訪問單元的最終重建數據;及一模塊,用於為該訪問單元提供該最終重建數據。
- 如申請專利範圍第22項所述之裝置,其中該第一位元流的總大小小於或等於該訪問單元的一目標位元預算。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/633,182 US8824812B2 (en) | 2012-10-02 | 2012-10-02 | Method and apparatus for data compression using error plane coding |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201415418A TW201415418A (zh) | 2014-04-16 |
TWI479456B true TWI479456B (zh) | 2015-04-01 |
Family
ID=50385181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102135729A TWI479456B (zh) | 2012-10-02 | 2013-10-02 | 使用誤差平面編碼的數據壓縮方法及裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8824812B2 (zh) |
CN (1) | CN103716634B (zh) |
TW (1) | TWI479456B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10091506B2 (en) * | 2015-06-11 | 2018-10-02 | Sony Corporation | Data-charge phase data compression architecture |
US10057577B2 (en) * | 2015-06-11 | 2018-08-21 | Sony Corporation | Pre-charge phase data compression |
US10027968B2 (en) * | 2015-06-12 | 2018-07-17 | Sony Corporation | Data-charge phase data compression tool |
US10349067B2 (en) * | 2016-02-17 | 2019-07-09 | Qualcomm Incorporated | Handling of end of bitstream NAL units in L-HEVC file format and improvements to HEVC and L-HEVC tile tracks |
EP3214511B1 (de) | 2016-03-04 | 2018-05-09 | Siemens Aktiengesellschaft | Kontrollierte bereitstellung von steuerungsdaten |
US20170311003A1 (en) * | 2016-04-20 | 2017-10-26 | Mediatek Inc. | Method and apparatus for performing entropy encoding with sign data removal and associated method and apparatus for performing entropy decoding with sign data recovery |
GB2579568B (en) * | 2018-12-03 | 2022-04-27 | Advanced Risc Mach Ltd | Encoding data arrays |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5757965A (en) * | 1990-11-19 | 1998-05-26 | Canon Kabushiki Kaisha | Image processing apparatus for performing compression of image data based on serially input effective size data |
US5892847A (en) * | 1994-07-14 | 1999-04-06 | Johnson-Grace | Method and apparatus for compressing images |
US6233279B1 (en) * | 1998-05-28 | 2001-05-15 | Matsushita Electric Industrial Co., Ltd. | Image processing method, image processing apparatus, and data storage media |
TW200726262A (en) * | 2005-12-23 | 2007-07-01 | Inventec Corp | Method for estimating motion of video coding |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7236637B2 (en) * | 1999-11-24 | 2007-06-26 | Ge Medical Systems Information Technologies, Inc. | Method and apparatus for transmission and display of a compressed digitized image |
GB2457646B (en) * | 2007-10-30 | 2010-03-03 | Imagination Tech Ltd | Method and apparatus for compressing and decompressing data |
WO2011072893A1 (en) * | 2009-12-16 | 2011-06-23 | International Business Machines Corporation | Video coding using pixel-streams |
-
2012
- 2012-10-02 US US13/633,182 patent/US8824812B2/en active Active
-
2013
- 2013-09-29 CN CN201310456221.5A patent/CN103716634B/zh not_active Expired - Fee Related
- 2013-10-02 TW TW102135729A patent/TWI479456B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5757965A (en) * | 1990-11-19 | 1998-05-26 | Canon Kabushiki Kaisha | Image processing apparatus for performing compression of image data based on serially input effective size data |
US5892847A (en) * | 1994-07-14 | 1999-04-06 | Johnson-Grace | Method and apparatus for compressing images |
US6233279B1 (en) * | 1998-05-28 | 2001-05-15 | Matsushita Electric Industrial Co., Ltd. | Image processing method, image processing apparatus, and data storage media |
TW200726262A (en) * | 2005-12-23 | 2007-07-01 | Inventec Corp | Method for estimating motion of video coding |
Also Published As
Publication number | Publication date |
---|---|
US8824812B2 (en) | 2014-09-02 |
CN103716634A (zh) | 2014-04-09 |
CN103716634B (zh) | 2017-04-12 |
US20140092986A1 (en) | 2014-04-03 |
TW201415418A (zh) | 2014-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI479456B (zh) | 使用誤差平面編碼的數據壓縮方法及裝置 | |
US8457425B2 (en) | Embedded graphics coding for images with sparse histograms | |
JP5399416B2 (ja) | 参照フレームの圧縮を伴うビデオ符号化システム | |
US11006149B2 (en) | Non-transform coding | |
JP5908914B2 (ja) | 運動行列を用いた映像の符号化および復号のための方法および装置 | |
RU2567988C2 (ru) | Кодер, способ кодирования данных, декодер, способ декодирования данных, система передачи данных, способ передачи данных и программный продукт | |
CN102378991A (zh) | 用于编码的数据中的压缩增益的压缩域系统和方法 | |
KR20210094054A (ko) | 데이터 어레이들의 비트 평면 인코딩 | |
BR112020000415B1 (pt) | Método para compactar, método para descompactar, conjunto de dados compactados correspondente a um conjunto de dados não compactados, dispositivo para compactar, e dispositivo para descompactar | |
JP2022069398A (ja) | ビデオコーディング装置及び方法、ビデオデコーディング装置及び方法、並びにコーデックシステム | |
KR102113904B1 (ko) | 보간을 이용한 연산 방법, 인코더, 및 디코더 | |
JP6868793B2 (ja) | 画像ブロックに対する画素領域前処理動作に基づく画像ブロック符号化法 | |
US20170201759A1 (en) | Method and device for image encoding and image decoding | |
JP2023157855A (ja) | 符号語のチャネル間符号化を伴う画像圧縮 | |
JP2014521273A (ja) | 画像を符号化する方法および装置 | |
US10003808B2 (en) | Apparatus and method for encoding | |
WO2014000443A1 (zh) | 一种图像数据压缩和解压缩方法、装置 | |
US8526746B1 (en) | Near lossless data compression method using nonuniform sampling | |
Patil et al. | JPEG image compression using huffman coding and discrete cosine transfer | |
KR102616344B1 (ko) | 영상 변환 장치 및 그 방법 | |
Wang et al. | A novel interactive progressive decoding method for fractal image compression | |
CN114882133B (zh) | 一种图像编解码方法、系统、设备及介质 | |
WO2014147679A1 (ja) | 画像符号化装置および画像符号化方法 | |
Kamatar et al. | Image Compression Using Patterns | |
Pabi et al. | Compression of magnetic resonance imaging and color images based on Decision tree encoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |