TWI405468B - Image Compression Method with Variable Quantization Parameters and Variable Coding Parameters - Google Patents
Image Compression Method with Variable Quantization Parameters and Variable Coding Parameters Download PDFInfo
- Publication number
- TWI405468B TWI405468B TW99120900A TW99120900A TWI405468B TW I405468 B TWI405468 B TW I405468B TW 99120900 A TW99120900 A TW 99120900A TW 99120900 A TW99120900 A TW 99120900A TW I405468 B TWI405468 B TW I405468B
- Authority
- TW
- Taiwan
- Prior art keywords
- pixels
- parameter
- variable
- quantization
- parameters
- Prior art date
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
本發明係關於一種具有可變量化參數與可變編碼參數的影像壓縮方法,特別是一種需要較少記憶體空間的具有可變量化參數的影像壓縮方法。
傳統的編碼器(encoder)採用內文模式(context)等預測方法,而需要至少暫存影像的一整排的像素才能夠進行各種模式下的預測。因此傳統的編碼器需要大量的儲存空間,而使得編碼器所需的成本上升。且傳統的編碼器在由多種模式進行選擇時,需對每一個模式進行壓縮測試,直到編碼結果合乎預期。因此計算的複雜度高,且造成編碼器每一次處理時所需的處理時間不同。
再加上使用者對於影像的解析度的要求越來越高,亦增加了影像壓縮時的負擔。若使用習知的壓縮方式,一旦影像的解析度提高,編碼器更得要耗費更大量的儲存空間才能存放影像中一整排的像素以壓縮影像。
為了解決上述問題,本發明提供一種具有可變量化參數(variable quantization parameter)與可變編碼參數(variable coding parameter)的影像壓縮方法,其係用以處理一影像的多個像素。具有可變量化參數與可變編碼參數的影像壓縮方法包括:接收N個像素;分析此N個像素並產生對應於此N個像素的一內容類別;依據內容類別以及一目前可用暫存空間值,得到對應於此N個像素的一量化參數以及一編碼參數;依據此N個像素的值以及量化參數,以一預測與量化手段得到與此N個像素對應的N個量化差值;以及依據此N個量化差值以及編碼參數,編碼此N個量化差值。
為了壓縮影像,具有可變量化參數與可變編碼參數的影像壓縮方法,另可包括:以N為單位,持續接收並編碼影像之其餘的像素,直到壓縮完影像的所有像素。
其中「分析此N個像素並產生對應於此N個像素的一內容類別」的步驟可包括:利用預測手段,計算此N個像素的一差值總量;以及依差值總量的範圍分類,產生內容類別。
而「依據內容類別以及一目前可用暫存空間值,得到對應於此N個像素的一量化參數以及一編碼參數」的步驟可包括:依據內容類別,由多個參數對照表中選擇一個參數對照表;以及依據目前可用暫存空間值查閱參數對照表,得到與目前可用暫存空間值對應的量化參數以及編碼參數。
根據本發明之一實施範例,預測與量化手段可包括:依據此N個像素的值,得到個別對應於此N個像素的N個像素差值;以及依據量化參數,將此N個像素差值量化為個別對應於此N個像素差值的N個量化差值。
其中「依據此N個像素的值,得到個別對應於此N個像素的N個像素差值」的步驟可包括:分別計算此N個像素中的第i個像素的值Pi
與其前一個像素的值Pi-1
的差作為此N個像素差值d1
~dN-1
,其中i為正整數,且0≦i<N。
根據本發明之一實施範例,「依據此N個量化差值以及編碼參數,編碼此N個量化差值」的步驟可包括:個別對此N個量化差值執行一變換手段,以得到個別對應於此N個量化差值的N個映射差值;以及依據編碼參數,以哥倫布-萊斯編碼(Golomb-Rice code)將此N個映射差值進行編碼。
其中變換手段則可包括:當此N個量化差值中的第i個量化差值xi
大於或等於零時,對應的第i個映射差值ni
為量化差值xi
乘以2,其中0<=i<N;以及當此N個量化差值中的第i個量化差值xi
小於零時,對應的第i個映射差值ni
為量化差值xi
乘以2再減1。
上述N係為大於或等於2的正整數,且N小於影像的一影像寬度。此外,具有可變量化參數與可變編碼參數的影像壓縮方法可以藉由一微處理器執行。
綜上所述,具有可變量化參數與可變編碼參數的影像壓縮方法接收影像中N個像素,並分析此N個像素的內容。量化參數以及編碼參數係依據此N個像素所對應的類別以及目前可用暫存空間值決定,故影像中每N個像素均可得到合適的量化參數與編碼參數。且在編碼器之暫存器僅需保存此N個像素的值,故能夠節省大量的暫存空間。
以下在實施方式中詳細敘述本發明之詳細特徵以及優點,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。
本發明提供一種具有可變量化參數與可變編碼參數的影像壓縮方法,其係用以處理一影像的多個像素,以將影像壓縮。具有可變量化參數與可變編碼參數的影像壓縮方法能針對影像中的部分像素的特性,給予其合適的一量化參數以及一編碼參數,以適當地保存影像的特徵。具有可變量化參數與可變編碼參數的影像壓縮方法係可實作於一編碼器(encoder),且可藉由一微處理器執行。
請參照「第1圖」,其係為根據本發明一實施範例之影像之示意圖。影像20具有W×L個像素,其中W為影像20的一影像寬度,L為一影像長度。例如影像20可以具有640×480個像素,或是128×128個像素的;則影像寬度W則會是640(像素)或是128(像素)。
具有可變量化參數與可變編碼參數的影像壓縮方法可一次選擇N個像素並將其暫存以處理之。而選取N個像素的步驟可以以一處理窗22實作之。處理窗22的長度為N,被處理窗22所框選的N個像素便是依具有可變量化參數與可變編碼參數的影像壓縮方法被處理的N個像素。
同時參照「第2圖」以及「第3圖」,其分別為根據本發明一實施範例之編碼器之示意圖,以及具有可變量化參數與可變編碼參數的影像壓縮方法之流程圖。如「第2圖」所示,編碼器可包括一內容分析模組31、一參數產生模組32、一預測模組33、一量化模組34以及一可變長度編碼(Variable-Length Coding,VLC)模組35。
具有可變量化參數與可變編碼參數的影像壓縮方法首先接收N個像素(步驟S40)。其可自影像20中選擇N個像素並接收此N個像素。更詳細地說,影像20可以是被存放於一記憶體(未繪示)的檔案,亦可以是由一影像擷取裝置的一感光單元傳送之影像資料。因此在由記憶體或是感光單元等收到的影像20中選取此N個像素後,可以直接接收此N個像素的值P0
~PN-1
。其中像素的值例如可以是灰階值、三原色值(RGB value)或是HSL色彩空間的色相(hue)、飽和度(saturation)、與亮度(lightness)。具有可變量化參數的影像壓縮方法並不對像素的值之內容有所限制。
因此具有可變量化參數的影像壓縮方法壓縮影像20時,僅需要用到處理窗22的N個像素,而不需用到影像20中的其他像素。因此編碼器的一暫存器(未繪示)中亦僅需要存有此N個像素即可,而不需存放影像20中整排的W個像素。其中N係為大於或等於2的正整數,且N小於影像寬度W。
N個像素被送至內容分析模組31以及預測模組33。為了得到適合此N個像素的量化參數以及編碼參數,內容分析模組31分析此N個像素並產生對應於此N個像素的一內容類別(步驟S50)。
請參照「第4圖」,其係為根據本發明一實施範例之步驟S50之流程圖。內容分析模組31先利用預測手段依據此N個像素的值P0
~PN-1
產生N個預測差值,並計算此N個預測差值的總和為一差值總量(步驟S52)。接著再依差值總量分類,產生內容類別(步驟S54)。
內容分析模組31內可儲存有一內容類別對照表。內容分析模組31能夠依據差值總量所屬於的範圍查表,並得到與此N個像素對應之內容類別。
參數產生模組32從內容分析模組31得到內容類別後,依據內容類別以及一目前可用暫存空間值,得到對應於此N個像素的量化參數以及編碼參數(步驟S60)。其中目前可用暫存空間值係表示外部系統的剩餘空間大小,且外部系統的剩餘空間會隨著壓縮的過程而改變。。
請參照「第5圖」,其係為根據本發明一實施範例之步驟S60之流程圖。依據內容類別,由多個參數對照表中選擇一個參數對照表(步驟S62)。參數產生模組32再依據目前可用暫存空間值查閱於步驟S62所選擇之參數對照表,得到與內容類別以及目前可用暫存空間值對應的量化參數以及編碼參數(步驟S64)。
更詳細地說,參數產生模組32中儲存有多個參數對照表,且這些參數對照表係個別對應於每一個內容類別。所以此N個像素所涵蓋的預測差值範圍決定於步驟S64時查閱的參數對照表。對應於各個索引之參數對照表則紀錄在不同的目前可用暫存空間值之下,適合此N個像素的量化參數以及編碼參數。查表得到的量化參數與編碼參數分別被傳送給量化模組34以及VLC模組35,以進行後續之量化及編碼的處理。
以下為參數對照表的一實施範例
假設參數產生模組32於步驟S62中依據內容類別選擇此參數對照表,則依據目前可用暫存空間值便可查詢得到與其對應之量化參數以及編碼參數。而得到的量化參數以及編碼參數便是兼顧此N個像素之影像特性以及目前可用暫存空間值之最適值。量化模組34接收到與此N個像素對應的量化參數後,依據此N個像素的值P0
~PN-1
以及量化參數,以一預測與量化手段得到與此N個像素對應的N個量化差值x0
~xN-1
(步驟S70)。
請參照「第6圖」,其係為根據本發明一實施範例之步驟S70之流程圖。
首先預測模組33可依據此N個像素的值P0
~PN-1
,得到個別對應於此N個像素的N個像素差值d0
~dN-1
(步驟S72)。量化模組34再依據量化參數,將此N個像素差值d0
~dN-1
量化為個別對應於此N個像素差值d0
~dN-1
的N個量化差值x0
~xN-1
(步驟S74)。
於步驟S72,預測模組33可以分別計算此N個像素中的第i個像素的值Pi
與其前一個像素的值Pi-1
的差作為像素差值,其中i為正整數,且0≦i<N。換言之,預測模組33係可依據下述「式1」計算得到像素差值d0
~dN-1
。
di
=Pi
-Pi-1
,0≦i<N,且i為正整數..................式1其中Pi
為處理窗22中的N個像素中的第i個像素的值,di
為對應Pi
的像素差值。
得到此N個像素差值d0
~dN-1
之後,量化模組34依據從參數產生模組32所得到的量化參數將此N個像素差值d0
~dN-1
量化為N個量化差值x0
~xN-1
。
接著,VLC模組35依據此N個量化差值x0
~xN-1
以及編碼參數,編碼此N個量化差值x0
~xN-1
(步驟S80)。VLC模組35從量化模組34接收此N個量化差值x0
~xN-1
,並從參數產生模組32接收編碼參數。
請參照「第7圖」,其係為根據本發明一實施範例之步驟S80之流程圖。VLC模組35個別對接收的此N個量化差值x0
~xN-1
執行一變換手段,以得到個別對應於此N個量化差值x0
~xN-1
的N個映射差值n0
~nN-1
(步驟S81)。
請同時參照「第8圖」,其係為根據本發明一實施範例之變換手段之流程圖。變換手段可先逐一判斷這些量化差值xi
是否大於或等於0(步驟S82),再依下述「式2」以及「式3」計算得到映射差值n0
~nN-1
。
ni
=2×xi
,if xi
≧0.................................................式2
ni
=2×xi
-1,if xi
<0..............................................式3
其中ni
為N個映射差值n0
~nN-1
中的第i個像素的值,且0≦i<N。
對於大於或等於0的量化差值xi
,「式2」係將量化差值xi
乘以2作為映射差值ni
。也就是說映射差值ni
為量化差值xi
乘以2(步驟S83)。而對於小於0的量化差值xi
,「式3」係將量化差值xi
乘以2再減1的值作為映射差值ni
。也就是說映射差值ni
為量化差值xi
乘以2再減1(步驟S84)。
如此一來,便可在步驟S81中依據N個量化差值xi
,得到對應此N個像素的N個映射差值n0
~nN-1
。
請回到「第7圖」。VLC模組35接著依據編碼參數,以哥倫布-萊斯編碼(Golomb-Rice code,GR code)將此N個映射差值n0
~nN-1
進行編碼(步驟S86)。
依據哥倫布-萊斯編碼,VLC模組35係先依據編碼參數k設定一除數m。再將此N個映射差值n0
~nN-1
除以除數m,得到對應的N個商數Q以及餘數R。其中除數m為2的k次方(2k
)。VLC模組35接著將得到的商數Q編碼成一元碼(unary code),並將於數R編碼成k位元長度的二進位碼(binary code)。
舉例而言,假設映射差值n0
為163,編碼參數k為5。因此可以算出映射差值n0
的商數Q為5,餘數R為3。則映射差值n0
的商數Q可以以一元碼被編碼成「111110」,餘數R則以二進位碼被編碼成「00011」。
如此一來,處理窗22內的N個像素的值P0
~PN-1
即可依據量化參數以及編碼參數被轉換成可變長度編碼。而整個影像20能夠被具有可變量化參數與可變編碼參數的影像壓縮方法壓縮。請參照「第9圖」,其係為根據本發明另一實施範例之具有可變量化參數與可變編碼參數的影像壓縮方法之流程圖。
執行步驟S40到步驟S80將處理窗22的N個像素壓縮後,另可判斷是否壓縮完影像20的所有像素(步驟S90)。若影像20尚未完全被壓縮完成,則接續選取影像20的下N個像素(步驟S100),並以步驟S50、S60、S70以及S80處理於步驟S100中被選取的N個像素。若影像20已被壓縮完成為一壓縮影像檔案,則可結束。也就是說,具有可變量化參數與可變編碼參數的影像壓縮方法在於步驟S40中被選取的N個像素之後接續選取另外N個像素,且可將另外選取的N個像素作為新的處理窗22在處理之。
綜上所述,根據本發明之具有可變量化參數與可變編碼參數的影像壓縮方法接收影像中N個像素,並分析此N個像素的內容。根據此N個像素的值得到內容類別,再配合目前可用暫存空間值便能獲得適合此N個像素的量化參數以及編碼參數,並用以進行影像壓縮。由於內容類別係依據此N個像素預測差值的總量決定,因此對於影像中每N個像素均可得到合適的量化參數與編碼參數。且在編碼器之暫存器僅需保存此N個像素的值,故能夠節省大量的暫存空間。
20...影像
22...處理窗
31...內容分析模組
32...參數產生模組
33...預測模組
34...量化模組
35...可變長度編碼模組
第1圖係為根據本發明一實施範例之影像之示意圖;
第2圖係為根據本發明一實施範例之編碼器之示意圖;
第3圖係為根據本發明一實施範例之具有可變量化參數與可變編碼參數的影像壓縮方法之流程圖;
第4圖係為根據本發明一實施範例之步驟S50之流程圖;
第5圖係為根據本發明一實施範例之步驟S60之流程圖;
第6圖係為根據本發明一實施範例之步驟S70之流程圖;
第7圖係為根據本發明一實施範例之步驟S80之流程圖;
第8圖係為根據本發明一實施範例之變換手段之流程圖;以及
第9圖係為根據本發明另一實施範例之具有可變量化參數與可變編碼參數的影像壓縮方法之流程圖。
Claims (9)
- 一種具有可變量化參數與可變編碼參數的影像壓縮方法,用以處理一影像的多個像素,該影像壓縮方法包括:接收N個該些像素;分析該N個像素並產生對應於該N個像素的一內容類別;依據該內容類別以及一目前可用暫存空間值,得到對應於該N個像素的一量化參數以及一編碼參數;依據該N個像素的值以及該量化參數,以一預測與量化手段得到與該N個像素對應的N個量化差值;以及依據該N個量化差值以及該編碼參數,編碼該N個量化差值。
- 如申請專利範圍第1項所述之具有可變量化參數與可變編碼參數的影像壓縮方法,另包括:以N為單位,持續接收並編碼該影像之其餘的該些像素,直到壓縮完該影像的所有該些像素。
- 如申請專利範圍第1項所述之具有可變量化參數與可變編碼參數的影像壓縮方法,其中該分析該N個像素並產生對應於該N個像素的一內容類別的步驟包括:利用預測手段,計算該N個像素的一差值總量;以及依該差值總量的範圍分類,產生該內容類別。
- 如申請專利範圍第1項所述之具有可變量化參數與可變編碼參數的影像壓縮方法,其中該依據該內容類別以及一目前可用暫存空間值,得到對應於該N個像素的一量化參數以及一編碼參數的步驟包括:依據該內容類別,由多個參數對照表中選擇一個該參數對照表;以及依據該目前可用暫存空間值查閱該參數對照表,得到與該內容類別以及該目前可用暫存空間值對應的該量化參數以及該編碼參數。
- 如申請專利範圍第1項所述之具有可變量化參數與可變編碼參數的影像壓縮方法,其中該預測與量化手段包括:依據該N個像素的值,得到個別對應於該N個像素的N個像素差值;以及依據該量化參數,將該N個像素差值量化為個別對應於該N個像素差值的該N個量化差值。
- 如申請專利範圍第5項所述之具有可變量化參數與可變編碼參數的影像壓縮方法,其中該依據該N個像素的值,得到個別對應於該N個像素的N個像素差值的步驟包括:分別計算該N個像素中的第i個該像素的值Pi 與其前一個該像素的值Pi-1 的差作為該N個像素差值,其中i為正整數,且0≦i<N。
- 如申請專利範圍第1項所述之具有可變量化參數與可變編碼參數的影像壓縮方法,其中該依據該N個量化差值以及該編碼參數,編碼該N個量化差值的步驟包括:個別對該N個量化差值執行一變換手段,以得到個別對應於該N個量化差值的N個映射差值;以及依據該編碼參數,以哥倫布-萊斯編碼將該N個映射差值進行編碼。
- 如申請專利範圍第7項所述之具有可變量化參數與可變編碼參數的影像壓縮方法,其中變換手段包括:當該N個量化差值中的第i個該量化差值xi 大於或等於零時,對應的第i個該映射差值ni 為該量化差值xi 乘以2,其中0<=i<N;以及當該N個量化差值中的第i個該量化差值xi 小於零時,對應的第i個該映射差值ni 為該量化差值xi 乘以2再減1。
- 如申請專利範圍第1項所述之具有可變量化參數與可變編碼參數的影像壓縮方法係以一微處理器執行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW99120900A TWI405468B (zh) | 2010-06-25 | 2010-06-25 | Image Compression Method with Variable Quantization Parameters and Variable Coding Parameters |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW99120900A TWI405468B (zh) | 2010-06-25 | 2010-06-25 | Image Compression Method with Variable Quantization Parameters and Variable Coding Parameters |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201201588A TW201201588A (en) | 2012-01-01 |
TWI405468B true TWI405468B (zh) | 2013-08-11 |
Family
ID=46755864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW99120900A TWI405468B (zh) | 2010-06-25 | 2010-06-25 | Image Compression Method with Variable Quantization Parameters and Variable Coding Parameters |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI405468B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1240091A (zh) * | 1996-12-10 | 1999-12-29 | 汤姆森消费电子有限公司 | 在一种存储有效图象处理***中的附加数据处理器 |
US6233355B1 (en) * | 1997-04-02 | 2001-05-15 | Canon Kabushiki Kaisha | Encoding apparatus and method and storage medium |
US6266449B1 (en) * | 1995-11-22 | 2001-07-24 | Canon Kabushiki Kaisha | Information processing apparatus and method which selectively controls data encoding by monitoring amount of encoded data |
US20020118884A1 (en) * | 2000-12-13 | 2002-08-29 | Cho Hyun Duk | Device and method for encoding DPCM image |
US7079693B2 (en) * | 2001-09-13 | 2006-07-18 | Sharp Laboratories Of America, Inc. | Fast image decompression via look up table |
CN101444103A (zh) * | 2006-05-17 | 2009-05-27 | 富士通株式会社 | 图像压缩装置、压缩方法和程序、以及图像恢复装置、恢复方法和程序 |
-
2010
- 2010-06-25 TW TW99120900A patent/TWI405468B/zh not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266449B1 (en) * | 1995-11-22 | 2001-07-24 | Canon Kabushiki Kaisha | Information processing apparatus and method which selectively controls data encoding by monitoring amount of encoded data |
CN1240091A (zh) * | 1996-12-10 | 1999-12-29 | 汤姆森消费电子有限公司 | 在一种存储有效图象处理***中的附加数据处理器 |
US6233355B1 (en) * | 1997-04-02 | 2001-05-15 | Canon Kabushiki Kaisha | Encoding apparatus and method and storage medium |
US20020118884A1 (en) * | 2000-12-13 | 2002-08-29 | Cho Hyun Duk | Device and method for encoding DPCM image |
US7079693B2 (en) * | 2001-09-13 | 2006-07-18 | Sharp Laboratories Of America, Inc. | Fast image decompression via look up table |
CN101444103A (zh) * | 2006-05-17 | 2009-05-27 | 富士通株式会社 | 图像压缩装置、压缩方法和程序、以及图像恢复装置、恢复方法和程序 |
Also Published As
Publication number | Publication date |
---|---|
TW201201588A (en) | 2012-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6301392B1 (en) | Efficient methodology to select the quantization threshold parameters in a DWT-based image compression scheme in order to score a predefined minimum number of images into a fixed size secondary storage | |
WO2016045565A1 (zh) | 一种视频数据编码、解码的方法及装置 | |
JPH05276501A (ja) | 可変長の適応映像圧縮方法及び装置 | |
US20110033126A1 (en) | Method for improving the performance of embedded graphics coding | |
JP2007037049A (ja) | 画像符号化装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
CN109618157A (zh) | 一种视频显示流压缩编码的硬件实现***及方法 | |
CN103167289B (zh) | 图像的编码、解码方法及编码、解码装置 | |
CN101653004A (zh) | 从编码比特流选择性地解码预定数据单元的解码器 | |
EP2723071A1 (en) | Encoder, decoder and method | |
US20030103676A1 (en) | Data compression method and recording medium with data compression program recorded therein | |
CN105592313A (zh) | 一种分组自适应熵编码压缩方法 | |
JPH02285896A (ja) | 符号化装置 | |
WO2011064073A1 (en) | Method, device and system for image compression and decompression using support vector regression | |
US8428381B2 (en) | Image compression method with variable quantization parameter | |
US20050232362A1 (en) | High-speed image compression apparatus using last non-zero detection circuit | |
TWI405468B (zh) | Image Compression Method with Variable Quantization Parameters and Variable Coding Parameters | |
KR20170098163A (ko) | 이미지 부호화 및 복호화 방법, 이를 이용하는 이미지 부호화기 및 이미지 복호화기 | |
JP2765268B2 (ja) | 高能率符号化方法と高能率符号の復号方法 | |
CN102300085B (zh) | 具有可变量化参数与可变编码参数的图像压缩方法 | |
JP4241517B2 (ja) | 画像符号化装置及び画像復号装置 | |
JP2007049312A (ja) | 画像復号装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP2006304198A (ja) | 画像圧縮装置 | |
JP2002527013A (ja) | データ圧縮エンコーダを構築するシステム | |
US8238680B2 (en) | Image compression method with variable quantization parameters and variable coding parameters | |
JP2002527011A (ja) | データ圧縮符号化システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |