TWI538480B - 藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統 - Google Patents

藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統 Download PDF

Info

Publication number
TWI538480B
TWI538480B TW103118365A TW103118365A TWI538480B TW I538480 B TWI538480 B TW I538480B TW 103118365 A TW103118365 A TW 103118365A TW 103118365 A TW103118365 A TW 103118365A TW I538480 B TWI538480 B TW I538480B
Authority
TW
Taiwan
Prior art keywords
pixel
history
value
decoded
pixels
Prior art date
Application number
TW103118365A
Other languages
English (en)
Other versions
TW201545536A (zh
Inventor
黃正斌
黃雅臻
Original Assignee
敦泰電子股份有限公司
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 敦泰電子股份有限公司 filed Critical 敦泰電子股份有限公司
Priority to TW103118365A priority Critical patent/TWI538480B/zh
Priority to US14/722,394 priority patent/US9883188B2/en
Publication of TW201545536A publication Critical patent/TW201545536A/zh
Application granted granted Critical
Publication of TWI538480B publication Critical patent/TWI538480B/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • 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/124Quantisation
    • 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/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/134Methods 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統
本發明係關於影像壓縮之技術領域,尤指一種藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統。
隨著電子科技及傳輸技術之快速進步,使得人們對於所瀏覽之影像品質的要求也越來越高。由於影像資料的大小一般都非常龐大,因此在使用它們之前,通常需要先將其壓縮後,再將它們放到網路上傳送,或是儲存在硬碟裡。影像壓縮不但可以節省影像資料佔用記憶體的空間,並且可以加速其傳輸時間,故影像壓縮是目前非常熱門的研究課題。
2003年3月,ITU-T/ISO正式公佈了H.264視頻壓縮標準,由於其相比以往標準的出色的性能,被人們稱為新一代視頻編碼標準。具體而言,相較於H.263或MPEG-4,在同樣畫質下,其數碼率能降低一半左右,或者 說在同樣碼率下,其峰值信噪比(PSNR)明顯提高。
然而,在影像顯示的應用領域,面板的解析度已經漸漸的從最早的QCIF(Quarter Common Intermediate Format)提升到1/4全高清(Quarter High Definition,qHD),甚至全高清(Full HD)或4K2K。面對這樣的趨勢,如果沒有在前端搭配適當的壓縮或其他技術,資料傳輸所導致的功率需求、傳輸頻寬和傳輸時脈速度都會無可避免地增加。
為了增加壓縮效率,H.264視頻壓縮標準在圖框間編碼(inter coding)提出可變區塊大小(variable block size)。於美國專利第5,021,891號公告中,其係依據影像紋路變化的強弱來決定這次壓縮所使用的16x16區塊該如何切割。然而,在硬體實作上,此種技術需要先並行測試多種不同的區塊大小,並估計各個組合可能會花費的位元數之後才會決定區塊的分割方式。這樣耗費的硬體成本太高且不適合即時壓縮解壓縮的硬體實作。因此,習知影像壓縮系統實仍有改善的空間。
本發明之目的主要係在提供一藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其利用先前壓縮產生的歷史資訊來預測參數,無需要分析大區塊的資訊,可以節省運算並降低相關的資料流和時間延遲,而適合即時壓縮/解壓縮的應用。
依據本發明之一特色,本發明提出一種藉由偵 測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其對一圖框的複數個像素進行編碼,該系統包含一暫存裝置、一紋路及歷史分析裝置、一預測值差值裝置、一位元率控制裝置、一映射裝置、及一編碼裝置。該暫存裝置暫存該圖框的該複數個像素,該複數個像素包含一現行編碼像素(x)及複數個歷史的解碼後像素。該紋路及歷史分析裝置連接至該暫存裝置,以偵測該複數個歷史的解碼後像素的內容或分析一先前歷史資訊,計算並輸出一預測值(predict-value)及一現行歷史資訊(G_dif)。該預測值差值裝置連接至該紋路及歷史分析裝置,將該現行編碼像素(X)及該預測值(predict-value)相減,以產生並輸出一預測值差值(dif)。該位元率控制裝置依據一最終位元(final_bits),調整壓縮倍率,並輸出一建議位元(suggest_bits)。該映射裝置連接至該紋路及歷史分析裝置、該預測值差值裝置、及該位元率控制裝置,依據該預測值差值(dif)、該現行歷史資訊(G_dif)、及該建議位元(suggest_bits),以計算並輸出一索引(index)。該編碼裝置,連接至該映射裝置及該位元率控制裝置,將該索引(index)編碼,以輸出一位元流(bit stream)及該最終位元(final_bits)。
依據本發明之另一特色,本發明提出一種藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其對一圖框(或整張圖)的複數個像素進行編碼,該影像壓縮系統包含一暫存裝置、一紋路及歷史分析裝置、一預測值差值裝置、一位元率控制裝置、一映射裝置、一編碼 裝置、一平坦偵測裝置、及一多工裝置。該暫存裝置暫存該圖框的該複數個像素,該複數個像素包含一現行編碼像素(X)、複數個歷史的解碼後像素及複數個未編碼像素。該紋路及歷史分析裝置連接至該暫存裝.置,以偵測該複數個歷史的解碼後像素的內容或分析一先前歷史資訊,計算並輸出一預測值(predict-value)及一現行歷史資訊(G_dif)。該預測值差值裝置連接至該紋路及歷史分析裝置,將該現行編碼像素(X)及該預測值(predict-value)相減,以產生並輸出一預測值差值(dif)。該位元率控制裝置依據一最終位元(final_bits),調整壓縮倍率,並輸出一建議位元(suggest_bits)。該映射裝置連接至該紋路及歷史分析裝置、該預測值差值裝置、及該位元率控制裝置,依據該預測值差值(dif)、該現行歷史資訊(G_dif)、及該建議位元(suggest_bits),以計算並輸出一索引(index)。該編碼裝置,連接至該映射裝置及該位元率控制裝置,將該索引(index)編碼,以輸出一第一位元流(bit stream)。該平坦偵測裝置連接至該暫存裝置,依據該現行編碼像素(X)及該第一至第三未編碼像素,以計算該現行編碼像素(X)的一平坦度(flat)及一平坦度指示訊號(bflat)。該平坦區編碼裝置連接至該預測值差值裝置,依據一預設之量化參數(Quantization Parameter,QP)及該預測值差值(dif),以計算並輸出一第二位元流(bit stream)。該多工裝置,連接至該編碼裝置、該平坦偵測裝置、及該平坦區編碼裝置,依據該平坦度指示訊號(bFlat),以選擇第一位元流(bit stream)及該第二位元流(bit stream)其 中之一作為該多工裝置的輸出。
100‧‧‧影像壓縮系統
110‧‧‧暫存裝置
120‧‧‧紋路及歷史分析裝置
130‧‧‧預測值差值裝置
140‧‧‧位元率控制裝置
150‧‧‧映射裝置
160‧‧‧編碼裝置
121‧‧‧最小值模組
123‧‧‧最大值模組
125‧‧‧差值模組
127‧‧‧均值模組
151‧‧‧量化參數模組
153‧‧‧映射模組
210‧‧‧中位數模組
220‧‧‧外插值模組
230‧‧‧眾數模組
240‧‧‧預測值選擇模組
410‧‧‧第一邊緣偵測模組
420‧‧‧第二邊緣偵測模組
430‧‧‧第三邊緣偵測模組
440‧‧‧預測值選擇模組
800‧‧‧影像壓縮系統
810‧‧‧平坦裝置
820‧‧‧映射裝置
821‧‧‧取捨模組
1000‧‧‧影像壓縮系統
1010‧‧‧平坦偵測裝置
1020‧‧‧平坦區編碼裝置
1030‧‧‧多工裝置
1040‧‧‧位元數目計算裝置
190‧‧‧圖框
191‧‧‧區塊
192‧‧‧像素
圖1係本發明一種藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統之方塊圖。
圖2係本發明紋路及歷史分析裝置另一實施例之示意圖。
圖3係本發明預測值選擇模組之虛擬碼的示意圖。
圖4係本發明紋路及歷史分析裝置又一實施例之示意圖。
圖5係本發明預測值選擇模組之另一虛擬碼的示意圖。
圖6係本發明位元率控制裝置微量調整該建議位元之虛擬碼的示意圖。
圖7係本發明該映射模組的示意圖。
圖8係本發明一種藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統另一實施例之方塊圖。
圖9係本發明決定區塊大小之虛擬碼的示意圖。
圖10係本發明一種藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統又一實施例之方塊圖。
圖11係本發明平坦區編碼裝置的功能虛擬碼之示意圖。
圖12係本發明多工裝置的輸出位元流之示意圖。
圖13係本發明多工裝置的輸出位元流之另一示意圖。
圖1係本發明一種藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統100之方塊圖,其對一圖框(frame)190的複數個像素192進行編碼。該圖框(frame)具有複數個矩陣排列之區塊(block)191,每一個區塊可為,16x16,16x8,8x16,8x8,8x4,4x8,4x4個矩陣排列之像素192。該影像壓縮系統100包含一暫存裝置110、一紋路及歷史分析裝置120、一預測值差值裝置130、一位元率控制裝置140、一映射裝置150、及一編碼裝置160。
該暫存裝置110,用以暫存該圖框190的該複數個像素192,該複數個像素192包含一現行編碼像素(X)、複數個歷史的解碼後像素、及複數個未編碼像素。其中,該複數個歷史的解碼後像素包含第一至第七歷史的解碼後像素(y1-y7),該第一歷史的解碼後像素(y1)位於該現行編碼像素(X)的上方,該第二歷史的解碼後像素(y2)位於該現行編碼像素(X)的左上方,該第三歷史的解碼後像素(y3)位於該現行編碼像素(X)的左方,該第四歷史的解碼後像素(y4)位於該現行編碼像素(X)的左方兩個像素處,該第五歷史的解碼後像素(y5)位於該現行編碼像素(X)的左方三個像素處,該第六歷史的解碼後像素(y6)位於該現行編碼像素(X)的上一列左方兩個像素處,以及該第七歷史的解碼後像素(y7)位於該現行編碼像素(X)的上一列右方一個像素處。本發明所指歷史的解碼後像素係指圖框(frame)中已經被編碼後,再經解碼的 相關位置處的像素。此處使用歷史的解碼後像素,主要係讓影像壓縮系統100所使之資料與一接收端(圖未示)的解碼資料一致。
該複數個未編碼像素包含第一至第三未編碼像素(x1-x3)。該第一未編碼像素(x1)位於該現行編碼像素(x)的右方一個像素處,該第二未編碼像素(x2)位於該現行編碼像素(x)的右方二個像素處,該第三未編碼像素(x3)位於該現行編碼像素(x)的右方三個像素處。
該紋路及歷史分析裝置120連接至該暫存裝置110,以偵測該複數個歷史的解碼後像素的內容或分析一先前歷史資訊,計算並輸出一預測值(predict-value)及一現行歷史資訊(G_dif)。其中,該現行歷史資訊(G_dif)代表複數個歷史的解碼後像素之影像的複雜度。
該紋路及歷史分析裝置120包含一最小值模組121、一最大值模組123、一差值模組125及一均值模組127。該最小值模組121連接至該暫存裝置110,以接收該複數個歷史的解碼後像素,並輸出該複數個歷史的解碼後像素的一最小值。該最大值模組123連接至該暫存裝置110,以接收該複數個歷史的解碼後像素,並輸出該複數個歷史的解碼後像素的一最大值。該差值模組125連接至該最小值模組121及該最大值模組123,計算該最小值及該最大值的差值,進而產生該現行歷史資訊(G_dif)。該均值模組127連接至該最小值模組121及該最大值模組123,用以計算該最小 值及該最大值的均值,進而產生該預測值(predict-value)。
於本實施例中,其係使用該複數個歷史的解碼後像素中的該第一至第四歷史的解碼後像素(y1,y2,y3,y4)。亦即該最小值模組121連接至該暫存裝置110,以接收該第一至第四歷史的解碼後像素(y1,y2,y3,y4),並輸出該第一至第四歷史的解碼後像素(y1,y2,y3,y4)中的一最小值min。亦即,該最小值min可用下列公式表示:min=Min(y1,y2,y3,y4)。
該最大值模組123連接至該暫存裝置110,以接收該第一至第四歷史的解碼後像素(y1,y2,y3,y4),並輸出該第一至第四歷史的解碼後像素(y1,y2,y3,y4)中的一最大值max。亦即,該最大值max可用下列公式表示:max=Max(y1,y2,y3,y4)。
該差值模組125連接至該最小值模組121及該最大值模組123,以計算該最小值min及該最大值max的差值,進而產生該現行歷史資訊(G_dif)。亦即,該現行歷史資訊(G_dif)可用下列公式表示:G_dif=max-min。
該均值模組127連接至該最小值模組121及該最大值模組123,以計算該最小值min及該最大值max的均值,而產生該預測值(predict-value)。亦即,該預測值(predict-value)可用下列公式表示: predict-value=(max+min)/2。
圖2係本發明該紋路及歷史分析裝置120另一實施例之示意圖。該紋路及歷史分析裝置120包含一最小值模組121、一最大值模組123、一差值模組125、一中位數模組(median)210、一外插值模組220、一眾數模組(mode)230、及一預測值(predict-value)選擇模組240。
該最小值模組121、該最大值模組123、該差值模組125係與前一實施例所述者相同,其與圖1的差別在於對該第一至第五歷史的解碼後像素(y1,y2,y3,y4,y5)進行運算,亦即運算G_dif=Max(y1,y2,y3,y4,y5)-Min(y1,y2,y3,y4,y5),故不再贅述。該中位數模組(median)210連接至該暫存裝置110,以接收該複數個歷史的解碼後像素,並輸出該複數個歷史的解碼後像素的一中位數。該外插值模組220連接至該暫存裝置110,以接收該複數個歷史的解碼後像素,並輸出該複數個歷史的解碼後像素的一外插值。該眾數模組(mode)230連接至該暫存裝置110,以接收該複數個歷史的解碼後像素,並輸出該複數個歷史的解碼後像素的一眾數。該預測值(predict-value)選擇模組240連接至該中位數模組(median)210、該外插值模組220、及該眾數模組230,以由該中位數、該外插值、及該眾數之中選擇一個作為該預測值(predict-value)。
於本實施例中,其係使用該複數個歷史的解碼後像素中的該第一至第五歷史的解碼後像素(y1,y2,y3,y4, y5)。亦即該中位數模組(median)210連接至該暫存裝置110,以接收該第一至第三歷史的解碼後像素(y1,y2,y3,y4,y5),並輸出該第一至第五歷史的解碼後像素的一中位數median。
該外插值模組220連接至該暫存裝置110,以接收該第三至第五歷史的解碼後像素(y3,y4,y5),並輸出該第三至第五歷史的解碼後像素的一外插值extrapolation。由於該第三至第五歷史像素(y3,y4,y5)與該現行編碼像素(x)位於同一條線,故使用該第三至第五歷史的解碼後像素(y3,y4,y5)進行外插值運算。
該眾數模組(mode)230連接至該暫存裝置110,以接收該第一至第五歷史的解碼後像素(y1,y2,y3,y4,y5),並輸出該第一至第五歷史的解碼後像素的一眾數mode。
該預測值(predict-value)選擇模組240連接至該中位數模組(median)210、該外插值模組220、及該眾數模組230,以由該中位數median、該外插值interpolation、及該眾數mode之中選擇一個作為該預測值(predict-value)。
圖3係本發明該預測值(predict-value)選擇模組240之虛擬碼的示意圖。熟於該技術者可基於本發明之揭露,使用Verilog或VHDL程式語言,將之轉換為實際之硬體。如圖3所示,當兩倍該第四歷史的解碼後像素(y4)減去該第三歷史的解碼後像素(y3)及該第五歷史的解碼後像素(y5)之值的絕對值小於一第一門檻值Threshold1時,該預測值選擇 模組240選擇該外插值extrapolation作為該預測值(predict-value)。當兩個該第四歷史的解碼後像素(y4)減去該第三歷史的解碼後像素(y3)及該第五歷史的解碼後像素(y5)之值的絕對值小於一第一門檻值Threshold1時,係表示由該第三歷史的解碼後像素(y3)、該第四歷史的解碼後像素(y4)、至該第五歷史的解碼後像素(y5)的變化呈線性變化、且變化量不大,故此時該預測值選擇模組240選擇該外插值extrapolation作為該預測值(predict-value)。
當該第一歷史的解碼後像素(y1)減去該第二歷史的解碼後像素(y2)之絕對值、該第二歷史的解碼後像素(y2)減去該第三歷史的解碼後像素(y3)之絕對值、及該第三歷史的解碼後像素(y3)減去該第四歷史的解碼後像素(y4)之絕對值中之最大值係大於一第二門檻值Threshold2時,該預測值(predict-value)選擇模組240選擇該眾數mode為該預測值(predict-value)。否則,該預測值(predict-value)選擇模組240選擇該中位數為該預測值(predict-value)。
圖4係本發明該紋路及歷史分析裝置120又一實施例之示意圖。該紋路及歷史分析裝置120係使用邊緣(edge)來預測該預測值(predict-value)。該紋路及歷史分析裝置120包含包含複數個邊緣偵測模組,用以產生複數個邊緣值,俾預測該預測值(predict-value)。該紋路及歷史分析裝置120包含一最小值模組121、一最大值模組123、一差值模組125、一第一邊緣偵測模組410、一第二邊緣偵測模組 420、一第三邊緣偵測模組430、及一預測值(predict-value)選擇模組440。
該最小值模組121、該最大值模組123、該差值模組125係與第一實施例所述者相同,其與圖1的差別在於對該第一至第七歷史的解碼後像素(y1,y2,y3,y4,y5,y6,y7)進行運算,亦即運算G_dif=Max(y1,y2,y3,y4,y5,y6,y7)-Min(y1,y2,y3,y4,y5,y6,y7),故不再贅述。該第一邊緣偵測模組410連接至該暫存裝置110,以接收該第二至第三歷史的解碼後像素(y2,y3),計算該第二歷史的解碼後像素(y2)與該第三歷史的解碼後像素(y3)之差值的絕對值,並輸出為一第一邊緣值(e_v)。
該第二邊緣偵測模組420連接至該暫存裝置110,以接收該第三及第六歷史的解碼後像素(y3,y6),計算該第六歷史的解碼後像素(y6)與該第三歷史的解碼後像素(y3)之差值的絕對值,並輸出為一第二邊緣值(e1)。
該第三邊緣偵測模組430連接至該暫存裝置110,以接收該第三及第一歷史的解碼後像素(y3,y1),計算該第一歷史的解碼後像素(y1)與該第三歷史的解碼後像素(y3)之差值的絕對值,並輸出為一第三邊緣值(e2)。
該預測值(predict-value)選擇模組440連接至該第一邊緣偵測模組410、該第二邊緣偵測模組420、及該第三邊緣偵測模組430,依據該第一邊緣值(e_v)、該第二邊緣 值(e1)、及該第三邊緣值(e2),以由該第二歷史的解碼後像素(y2)、該第七歷史的解碼後像素(y7)、及該第一歷史的解碼後像素(y1)之中選擇一個作為該預測值(predict-value)。
圖5係本發明該預測值(predict-value)選擇模組440之虛擬碼的示意圖。如圖5所示,當該第二邊緣值(e1)小於該第一邊緣值(e_v)且該第二邊緣值(e1)小於該第三邊緣值(e2)時,該預測值(predict-value)選擇模組440選擇該第二歷史的解碼後像素(y2)作為該預測值(predict-value)。當該第三邊緣值(e2)小於該第一邊緣值(e_v)時,該預測值(predict-value)選擇模組選擇該第七歷史的解碼後像素(y7)為該預測值(predict-value),否則,該預測值(predict-value)選擇模組選擇該第一歷史的解碼後像素(y1)為該預測值(predict-value)。
該預測值差值裝置130連接至該紋路及歷史分析裝置120,將該現行編碼像素(X)及該預測值(predict-value)相減,以產生並輸出一預測值差值(dif)。
該位元率控制裝置140依據一最終位元(final_bits)來調整壓縮倍率,並輸出一建議位元(suggest_bits)。該位元率控制裝置140用來提供該建議位元(suggest_bits)給該映射裝置150,據以調整該圖框(frame)之各個區塊(block)的壓縮倍率,使總壓縮倍率符合目標。
當該圖框(frame)的每個像素為紅、綠、藍(R,G, B)三色且每一顏色由8位元表示,亦即每個像素為24位元,且當一區塊大小為4個像素且要使用兩倍壓縮時,則此時每個區塊的目標位元(bits_target)為48位元,亦即bits_target=24*4/2=48bit。該位元率控制裝置140再利用該最終位元(final_bits)來微量調整該建議位元(suggest_bits)。圖6係本發明該位元率控制裝置140微量調整該建議位元(suggest_bits)之虛擬碼的示意圖。當中,?為條件運算子(conditional operator),d=a?b:c,表示當a為真時,d為b,a不為真時,d為c。
再請參照圖1,該映射裝置150連接至該紋路及歷史分析裝置120、該預測值差值裝置130、及該位元率控制裝置140,依據該預測值差值(dif)、該現行歷史資訊(G_dif)、及該建議位元(suggest_bits),以計算並輸出一索引(index)。該映射裝置150包含一量化參數(Quantization Parameter,QP)模組151及一映射模組153。
該量化參數(QP)模組151連接至該紋路及歷史分析裝置120、及該位元率控制裝置140。該量化參數(QP)模組151依據該建議位元(suggest_bits)及該現行編碼像素(x)所在之一區塊的像素顏色數目以計算一位元分佈(bpc),再依據該現行歷史資訊(G_dif)及該位元分佈(bpc)以計算一量化參數(QP)。
該映射模組153連接至該量化參數(QP)模組151,依據一最後預測值差值(dif_final)及該量化參數(QP), 以計算該索引(index)。其中,於本實施例中,該最後預測值差值(dif_final)係為該預測值差值(dif)。該映射模組153係以下列公式表示:index=Map(dif_final)=dif_final/S,S=1<<QP,當中,index為該索引(index),dif_final為該最後預測值差值(dif_final),S為位元1左移QP個位元,QP為該量化參數(QP)。亦即,當該量化參數(QP)為2,則將1往左移2個位元,故S為4(=100b)。圖7係本發明該映射模組153的示意圖,其中橫座標為該最後預測值差值(dif_final),縱座標為該索引(index)。
該量化參數(QP)模組151係為該建議位元(suggest_bits)和該現行歷史資訊(G_dif)的函數,而該量化參數(QP)是其輸出值。當該圖框(frame)的每個像素為紅、綠、藍(R,G,B)三色、區塊大小為4個像素,該區塊的像素顏色數目(Num_value_in_Block)為12(=3*4=12),該位元分佈(bpc)係以下列公式表示:bpc=suggest_bits/Num_value_in_Block,當中,bpc為該位元分佈,suggest_bits為該建議位元,Num_value_in_Block為該區塊的像素顏色數目。
該量化參數(QP)係以下列公式表示:QP=BitSize(G_dif+A)-bpc, 當中,G_dif為該現行歷史資訊,bpc為該位元分佈,A係一第一預設值,BitSize(k)係一位元計算函數,以計算一非負整數k(unsigned integer)所需的位元數。例如:k為9(=1001b)時,需用4個位元表示,因此BitSize(k)為4。
於其他實施例中,該量化參數(QP)係以下列公式表示:QP=(bpc<4)?5:(G_dif>40)?4:G_dif/8,當中,bpc為該位元分佈,G_dif為該現行歷史資訊,?為條件運算子(conditional operator),d=a?b:c,表示當a為真時,d為b,a不為真時,d為c。亦即,當該位元分佈(bpc)小於4時,該量化參數(QP)為5,當該位元分佈(bpc)非小於4且該現行歷史資訊(G_dif)大於40時,該量化參數(QP)為4,否則,該量化參數(QP)為該現行歷史資訊(G_dif)除以8(G_dif/8)。
於其他實施例中,該量化參數(QP)係以下列公式表示:QP=(bpc>4)?QP_old-1:(G_dif>40)?QP_old+1:QP_old,QP=clip(QP,min_QP,max_QP),當中,bpc為該位元分佈,G_dif為該現行歷史資訊,QP_old為一先前量化參數,min_QP係一第二預設值,max_QP係一第三預設值,?為條件運算子,亦即,當該位元分佈(bpc)大於4時,該量化參數(QP)為QP_old減去1,當該位元分佈(bpc)非大於4且該現行歷史資訊(G_dif)大於40時,該量化參數(QP)為QP_old加1,否則,該量化參數(QP)為QP_old。clip為一裁截運算,QP=clip(QP,min_QP,max_QP)係表示,當QP之值在min_QP與max_QP之間時,QP之值維持不變,當QP之值大於 max_QP時,QP之值為max_QP,當QP之值小於min_QP時,QP之值為min_QP。
該編碼裝置160連接至該映射裝置150及該位元率控制裝置140,將該索引(index)進行無損編碼(loseless coding),以輸出一位元流(bit stream,bs)及該最終位元(final_bits)。
於另一實施例中,該編碼裝置160的無損編碼(loseless coding)也可以藉由歷史資訊的分析來做動態分配。例如,當該編碼裝置160使用Golomb Rice Encoding進行無損編碼(loseless coding)時,若Golomb Rice Encoding的映射公式x->(q,r)為x=q*M+r,其中的參數M可以利用該紋路及歷史分析裝置120所輸出的複雜度來預測,當複數個歷史的解碼後像素之影像的複雜度大時,參數M為4,否則,參數M為2。其中,x代表Golomb Rice Encoding的輸入,在此為該索引(index),q、r會組成Golomb Rice Encoding的輸出,即為該位元流(bs)。例如,q=3,r=2,M=2,則bs輸出為q個0,1,r的Mbit編碼(000 1 10)
於又一實施例中,該編碼裝置160使用固定長度編碼(Fixed-Length encoding)進行無損編碼(loseless coding)時,固定長度編碼(Fixed-Length encoding)所需的位元個數,可以使用該位元率控制裝置140輸出的該建議位元(suggest_bits)來預測。
圖8係本發明一種藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統800另一實施例之方塊圖,其對一圖框(frame)的複數個像素進行編碼。該影像壓縮系統800包含一暫存裝置110、一紋路及歷史分析裝置120、一預測值差值裝置130、一位元率控制裝置140、一編碼裝置160、一平坦裝置810、及一映射裝置820。其與圖1主要差別在於新增該平坦裝置810、及於該映射裝置820中新增一取捨模組(drop decision module)821。
該平坦偵測裝置810連接至該暫存裝置110,依據該現行編碼像素(X)及該第一至第三未編碼像素(X1,X2,X3),以計算該現行編碼像素(X)的一平坦度(flat)。該平坦度(flat)下列公式表示:flat=max(abs(X-X1),abs(X1-X2),abs(X2-X3)),當中,flat為該平坦度,X為該現行編碼像素,X1為該第一未編碼像素,X2為該第二未編碼像素,X3為該第三未編碼像素,max為一最大值函數,abs為一絕對值函數。
該映射裝置820包含該量化參數(QP)模組151、該映射模組153、及一取捨模組(drop decision module)821。該量化參數(QP)模組151及該映射模組153的功能已經於前面描述,不再贅述。該取捨模組(drop decision module)821係以下列公式表示:if(dif<C && flat>D)
dif_final=0
else
dif_final=dif,當中,dif為該預測值差值,flat為該平坦度,C為一第四預設值,D為一第五預設值,dif_final為該最後預測值差值。
該影像壓縮系統800藉由該平坦偵測裝置810,可參酌未編碼像素的資訊,以修改該最後預測值差值(dif_final),以在合理的影像失真下,提升整體壓縮率。亦即,取捨模組821會根據未來資訊(該平坦度)來微調該最後預測值差值(dif_final)的值。舉例來說,若未來區域屬於非常平坦區(flat<D),該最後預測值差值(dif_final)就不會被調整。若未來區域屬於非屬平坦區(flat>D),該最後預測值差值(dif_final)被設定為0。
由於新增該平坦偵測裝置810,該平坦偵測裝置810可依據該現行編碼像素(X)及該複數個未編碼像素,以計算一包含該現行編碼像素(X)之一區塊的一編碼指示訊號。亦即,利用該平坦偵測裝置810的偵測結果,再利用2位元來記錄平坦區塊的大小,並將此區塊大小當作檔頭編入壓縮的該位元流(bs)中。圖9係本發明決定區塊大小之虛擬碼的示意圖。如圖1及圖9所示,當中,該第一未編碼像素(X1)位於該現行編碼像素(X)的右方一個像素處,該第二未編碼像素(X2)位於該現行編碼像素(X)的右方二個像素處,該第三未編碼像素(X3)位於該現行編碼像素(X)的右方三個像素處,依此類推。當(max(abs(X-X1),abs(X1-X2),..., abs(X15-X16))<TH)成立時,表示未編碼像素之間差異不大,亦即越平坦,所以該編碼指示訊號為11b,以指示區塊大小可為16x1。此時在此區塊大小內的所有像素,在解碼時都會被解碼成同樣的像素值,以提高壓縮率。當(max(abs(X-X1),abs(X1-X2),...,abs(X7-X8))<TH)成立時,表示區塊大小為8x1的區塊之未編碼像素之間差異不大,所以該編碼指示訊號為10b,以指示區塊大小可為8x1,該編碼指示訊號為01b時,該區塊大小為4x1,以及該編碼指示訊號為00b時,該區塊大小為1x1。
圖10係本發明一種藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統1000又一實施例之方塊圖,其對一圖框(frame)的複數個像素進行編碼。該影像壓縮系統1000包含一暫存裝置110、一紋路及歷史分析裝置120、一預測值差值裝置130、一位元率控制裝置140、一映射裝置150、一編碼裝置160、一平坦偵測裝置1010、一平坦區編碼裝置1020、一多工裝置1030、一位元數目計算裝置1040。
該暫存裝置110、該紋路及歷史分析裝置120、該預測值差值裝置130、該位元率控制裝置140、該映射裝置150、和該編碼裝置160的功能與圖1相同,不再贅述。
該平坦偵測裝置1010連接至該暫存裝置110,依據該現行編碼像素(x)及該第一至第三未編碼像素(x1,x2,x3),以計算該現行編碼像素(x)的一平坦度(flat)及一平坦度 指示訊號(bflat)。
該平坦度(flat)及該平坦度指示訊號(bflat)可方別用下列公式表示:flat=max(abs(X-X1),abs(X1-X2),abs(X2-X3)),bflat=(flat<4),當中,flat為該平坦度,X為該現行編碼像素,X1為該第一未編碼像素,X2為該第二未編碼像素,X3為該第三未編碼像素,max為一最大值函數,abs為一絕對值函數。當該平坦度(flat)小於4時,亦即(flat<4)為真,表示該區域為平坦區的機率很大,因此,該平坦度指示訊號(bflat)為1,以指示該區域為平坦區。當該平坦度(flat)非小於4時,亦即(flat<4)為假,表示該區域為平坦區的機率很小,因此,該平坦度指示訊號(bflat)為0,以指示該區域非為平坦區。
該平坦區編碼裝置1020連接至該預測值差值裝置130,依據一預設之量化參數(Quantization Parameter,QP)及該預測值差值(dif),以計算並輸出一第二位元流(bs2)。圖10係將圖1的編碼功能再細分,並根據該平坦偵測裝置1010輸出的該平坦度指示訊號(bflat),來決定此時要使用該編碼裝置150的輸出之一第一位元流(bs1)或該平坦區編碼裝置1020的輸出之一第二位元流(bs2)。
該平坦區編碼裝置1020是特別設計針對具有平坦區的區塊進行壓縮,而該映射裝置150和該編碼裝置160則是執行通用型的壓縮函式。該平坦區編碼裝置1020 可為變動長度編碼(run-length encoding)或固定長度碼(fixed-length code)等。由於該平坦區編碼裝置1020是特別針對具有平坦區的區塊進行壓縮,故其壓縮效率較該映射裝置150和該編碼裝置160的壓縮效率為佳。此時有兩個的位元流,額外的檔頭資訊必須要被添加到壓縮串流前,以確保壓縮/解壓縮的正確性。
該平坦區編碼裝置1020只使用數值小的量化參數(QP)。例如當一區塊有四個像素時,量化參數(QP)則有四個元素(QP[0],QP[1],QP[2],QP[3]),其分別為[0,1,2,2]。圖11係本發明該平坦區編碼裝置1020的功能虛擬碼之示意圖。圖11所示,因一區塊有四個像素,該平坦區編碼裝置1020將該預測值差值(dif)的四個值(dif0,dif1,dif2,dif3)分別除以一第一至第四值,而產生一第一至第四指示索引(index0,index1,index2,index3),其中,該第一值為2^ QP[0]、該第二值為2^ QP[1]、該第三值為2^ QP[2]、該第四值為2^ QP[3],當中,^為冪次運算(power operation)。亦即,2^1=2、2^2=4、2^3=8,依此類推。
該平坦區編碼裝置1020再將該第一至第四指示索引(index0,index1,index2,index3)使用三位元的固定長度編碼(Fixed-Length encoding)。由於該區塊為平坦區,因此使用三位元的固定長度編碼(Fixed-Length encoding)足夠將全部的該第一至第四指示索引(index0,index1,index2,index3)無失真編入該第二位元流(bs2)。
該多工裝置1030連接至該編碼裝置160、該平坦偵測裝置1010、及該平坦區編碼裝置1020,依據該平坦度指示訊號(bflat),以選擇該第一位元流(bs1)及該第二位元流(bit stream)其中之一作為該多工裝置1030的輸出。該位元數目計算裝置1040連接至該多工裝置1030及該位元率控制裝置140,依據該多工裝置輸出的一位元流(bs),以計算該最終位元(final_bits)。
圖12係本發明該多工裝置1030的輸出位元流(bs)之示意圖。如圖12所示,當該平坦度指示訊號(bflat)為0時,表示該區域非為平坦區,因此該多工裝置1030選擇該第一位元流(bs1)。當該平坦度指示訊號(bflat)為1時,表示該區域為平坦區,因此該多工裝置1030選擇該第二位元流(bs2)。
於其他實施例中,係將該平坦度指示訊號(bflat)當作略過模式(Skip mode)的指示訊號。亦即,該影像壓縮系統1000只編碼該平坦度指示訊號(bflat)、且將代表方塊內的像素都直接重覆貼上前一像素y3(該第三歷史的解碼後像素(y3))。圖13係本發明該多工裝置1030的輸出位元流(bs)之另一示意圖。如圖13所示,當該平坦度指示訊號(bflat)為0時,表示該區域非為平坦區,因此該多工裝置1030選擇該第一位元流(bs1)。當該平坦度指示訊號(bflat)為1時,表示該區域為平坦區,後面位元不再是壓縮的編碼資料。當一接收端從位元流(bs)讀到該平坦度指示訊號(bflat)為1時,表 示後面的位元不是壓縮的編碼資料,其只需從先前解碼出的該第三歷史的解碼後像素(y3)重覆貼上即可。
由前述說明可知,本發明可根據未來資訊(該平坦度)來微調該最後預測值差值(dif_final)的值,由於在複雜區的預測誤差被調降,因此用來壓縮所需的位元數會變少。在平坦區的預測誤差被保留,因此在平坦區的壓縮品質會提高。例如,調降誤差係將該最後預測值差值(dif_final)設定成0,則對之後的無損壓縮,會因為index==0出現的機率大幅提升,而有更高的壓縮效率。同時,本發明可以藉由該紋路及歷史分析裝置120進行圖像紋路偵測,而自動地調整壓縮所需要的參數。或藉由紋路偵測的訊息,轉換到更有效率的編碼模組。
綜上所述,本發明無需要複雜的運算,可利用先前壓縮產生的歷史資訊來預測參數,且不用添加額外的位元並增加壓縮效率,亦無需要分析大區塊(16x16)的資訊,可以節省運算並降低相關的資料流和時間延遲。由於壓縮單元所需要的壓縮延遲較小,更適合即時壓縮/解壓縮的應用。
上述實施例僅係為了方便說明而舉例而已,本發明所主張之權利範圍自應以申請專利範圍所述為準,而非僅限於上述實施例。
100‧‧‧影像壓縮系統
110‧‧‧暫存裝置
120‧‧‧紋路及歷史分析裝置
130‧‧‧預測值差值裝置
140‧‧‧位元率控制裝置
150‧‧‧映射裝置
160‧‧‧編碼裝置
121‧‧‧最小值模組
123‧‧‧最大值模組
125‧‧‧差值模組
127‧‧‧均值模組
151‧‧‧量化參數模組
153‧‧‧映射模組
190‧‧‧圖框
191‧‧‧區塊
192‧‧‧像素

Claims (23)

  1. 一種藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,用以對一圖框的複數個像素進行編碼,該影像壓縮系統包含:一暫存裝置,用以暫存該圖框的該複數個像素,其中,該複數個像素包含一現行編碼像素及複數個歷史的解碼後像素,其中,複數個歷史的解碼後像素係複數個在該圖框中經編碼再經解碼之相關位置的像素;一紋路及歷史分析裝置,連接至該暫存裝置,用以分析該複數個歷史的解碼後像素的內容,計算並輸出一預測值及一現行歷史資訊,其中,該現行歷史資訊代表該複數個歷史的解碼後像素之影像的複雜度;一預測值差值裝置,連接至該紋路及歷史分析裝置,將該現行編碼像素及該預測值相減,以產生並輸出一預測值差值;一位元率控制裝置,依據一最終位元,調整壓縮倍率,並輸出一建議位元;一映射裝置,連接至該紋路及歷史分析裝置、該預測值差值裝置、及該位元率控制裝置,依據該預測值差值、該現行歷史資訊、及該建議位元,用以輸出一索引;以及一編碼裝置,連接至該映射裝置及該位元率控制裝置,將該索引編碼,進而輸出一位元流及該最終位元。
  2. 如申請專利範圍第1項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該紋路及歷史分析裝置包含: 一最小值模組,連接至該暫存裝置,用以接收該複數個歷史的解碼後像素,並輸出該複數個歷史的解碼後像素的一最小值;一最大值模組,連接至該暫存裝置,用以接收該複數個歷史的解碼後像素,進而輸出該複數個歷史的解碼後像素中的一最大值;一差值模組,連接至該最小值模組及該最大值模組,用以計算該最小值及該最大值的差值,進而產生該現行歷史資訊;以及一均值模組,連接至該最小值模組及該最大值模組,用以計算該最小值及該最大值的均值,進而產生該預測值。
  3. 如申請專利範圍第1項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該紋路及歷史分析裝置包含:一中位數模組,連接至該暫存裝置,用以接收該複數個歷史的解碼後像素,進而輸出該複數個歷史的解碼後像素中的一中位數;一外插值模組,連接至該暫存裝置,用以接收該複數個歷史的解碼後像素,進而輸出該複數個歷史的解碼後像素的一外插值;一眾數模組,連接至該暫存裝置,用以接收該複數個歷史的解碼後像素,並輸出該複數個歷史的解碼後像素的一眾數;一預測值選擇模組,連接至該中位數模組、該外插值模組、以及該眾數模組,用以由該中位數、該外插值、及該眾數之中選擇一個作為該預測值; 一最小值模組,連接至該暫存裝置,用以接收該複數個歷史的解碼後像素,並輸出該複數個歷史的解碼後像素的一最小值;一最大值模組,連接至該暫存裝置,用以接收該複數個歷史的解碼後像素,並輸出該複數個歷史的解碼後像素的一最大值;以及一差值模組,連接至該最小值模組及該最大值模組,計算該最小值及該最大值的差值,以產生該現行歷史資訊。
  4. 如申請專利範圍第3項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該複數個歷史的解碼後像素包含第一至第五歷史的解碼後像素,該第一歷史的解碼後像素位於該現行編碼像素的上方,該第二歷史的解碼後像素位於該現行編碼像素的左上方,該第三歷史的解碼後像素位於該現行編碼像素的左方,該第四歷史的解碼後像素位於該現行編碼像素的左方兩個像素處,該第五歷史的解碼後像素位於該現行編碼像素的左方三個像素處,該紋路及歷史分析裝置包含:一中位數模組,連接至該暫存裝置,用以接收該第一至第三歷史的解碼後像素,並輸出該第一至第三歷史的解碼後像素的一中位數;一外插值模組,連接至該暫存裝置,用以接收該第三至第五歷史的解碼後像素,並輸出該第三至第五歷史的解碼後像素的一外插值;一眾數模組,連接至該暫存裝置,用以接收該第一至第五歷史的解碼後像素,並輸出該第一至第五歷史的解碼後像素的一眾數; 一預測值選擇模組,連接至該中位數模組、該外插值模組、及該眾數模組,以由該中位數、該外插值、及該眾數之中選擇一個作為該預測值;一最小值模組,連接至該暫存裝置,用以接收該第一至第五歷史的解碼後像素,並輸出該第一至第五歷史的解碼後像素的一最小值;一最大值模組,連接至該暫存裝置,用以接收該第一至第五歷史的解碼後像素,並輸出該第一至第五歷史的解碼後像素的一最大值;以及一差值模組,連接至該最小值模組及該最大值模組,計算該最小值及該最大值的差值,用以產生該現行歷史資訊。
  5. 如申請專利範圍第4項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,當兩個該第四歷史的解碼後像素減去該第三歷史的解碼後像素及該第五歷史的解碼後像素之值的絕對值小於一第一門檻值時,該預測值選擇模組選擇該外插值作為該預測值,當該第一歷史的解碼後像素減去該第二歷史的解碼後像素之絕對值、該第二歷史的解碼後像素減去該第三歷史的解碼後像素之絕對值、及該第三歷史的解碼後像素減去該第四歷史的解碼後像素之絕對值之最大值大於一第二門檻值時,該預測值選擇模組選擇該眾數為該預測值,否則,該預測值選擇模組選擇該中位數為該預測值。
  6. 如申請專利範圍第1項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該紋路及歷史分析裝置包含包含複數個邊緣偵測模組,用以產生複數個邊緣值,俾預測該預測值。
  7. 如申請專利範圍第6項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該複數個歷史 的解碼後像素包含第一至第七歷史的解碼後像素,該第一歷史的解碼後像素位於該現行編碼像素的上方,該第二歷史的解碼後像素位於該現行編碼像素的左上方,該第三歷史的解碼後像素位於該現行編碼像素的左方,該第四歷史的解碼後像素位於該現行編碼像素的左方兩個像素處,該第五歷史的解碼後像素位於該現行編碼像素的左方三個像素處,該第六歷史的解碼後像素位於該現行編碼像素的上一列左方兩個像素處,該第七歷史的解碼後像素位於該現行編碼像素的上一列右方一個像素處,該紋路及歷史分析裝置包含:一第一邊緣偵測模組,連接至該暫存裝置,用以接收該第二至第三歷史的解碼後像素,計算該第二歷史的解碼後像素與該第三歷史的解碼後像素之差值的絕對值,並輸出為一第一邊緣值;一第二邊緣偵測模組,連接至該暫存裝置,用以接收該第三及第六歷史的解碼後像素,計算該第六歷史的解碼後像素與該第三歷史的解碼後像素之差值的絕對值,並輸出為一第二邊緣值;一第三邊緣偵測模組,連接至該暫存裝置,用以接收該第三及第一歷史的解碼後像素,計算該第一歷史的解碼後像素與該第三歷史的解碼後像素之差值的絕對值,並輸出為一第三邊緣值;一預測值選擇模組,連接至該第一邊緣偵測模組、該第二邊緣偵測模組、及該第三邊緣偵測模組,依據該第一邊緣值、該第二邊緣值、及該第三邊緣值,用以由該第二歷史的解碼後像素、該第七歷史的解碼後像素、及該第一歷史的解碼後像素之中選擇一個作為該預測值; 一最小值模組,連接至該暫存裝置,以接收該第一至第七歷史的解碼後像素,並輸出該第一至第七歷史的解碼後像素的一最小值;一最大值模組,連接至該暫存裝置,以接收該第一至第七歷史的解碼後像素,並輸出該第一至第七歷史的解碼後像素的一最大值;以及一差值模組,連接至該最小值模組及該最大值模組,計算該最小值及該最大值的差值,以產生該現行歷史資訊。
  8. 如申請專利範圍第7項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,當該第二邊緣值小於該第一邊緣值且該第二邊緣值小於該第三邊緣值時,該預測值選擇模組選擇該第二歷史的解碼後像素作為該預測值,當該第三邊緣值小於該第一邊緣值時,該預測值選擇模組選擇該第七歷史的解碼後像素為該預測值,否則,該預測值選擇模組選擇該第一歷史的解碼後像素為該預測值。
  9. 如申請專利範圍第1項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該映射裝置包含:一量化參數模組,連接至該紋路及歷史分析裝置、及該位元率控制裝置,該量化參數模組依據該建議位元及該現行編碼像素所在之一區塊的像素顏色數目,用以計算一位元分佈,以及再依據該現行歷史資訊及該位元分佈用以計算一量化參數;以及一映射模組,連接至該量化參數模組,依據一最後預測值差值及該量化參數,用以計算該索引。
  10. 如申請專利範圍第9項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該映射模組係以下列公式表示:index=Map(dif_final)=dif_final/S,S=1<<QP,當中,index為該索引(index),dif_final為該最後預測值差值,S為位元1左移QP個位元,QP為該量化參數。
  11. 如申請專利範圍第10項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該位元分佈係以下列公式表示:bpc=suggestion_bits/Num_value_in_Block,當中,bpc為該位元分佈,suggestion_bits為該建議位元,Num_value_in_Block為該區塊的像素顏色數目。
  12. 如申請專利範圍第11項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該量化參數、歷史資訊和位元資訊之相關如下:QP=BitSize(G_dif+A)-bpc,當中,G_dif為該現行歷史資訊,bpc為該位元分佈,A係一第一預設值,BitSize(k)係一位元計算函數,以計算一非負整數k所需的位元數。
  13. 如申請專利範圍第11項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該量化參數、歷史資訊和位元資訊之關係如下:QP=(bpc<4)?5:(G_dif>40)?4:G_dif/8,當中,bpc為該位元分佈,G_dif為該現行歷史資訊,?為條件運算子,d=a?b:c,表示當a為真時,d為b,a不為真時,d為c。
  14. 如申請專利範圍第11項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該量化參數與前一個QP和歷史資訊之關係如下:QP=(bpc>4)?QP_old-1:(G_dif>40)?QP_old+1:QP_old QP=clip(QP,min_QP,max_QP),當中,bpc為該位元分佈,G_dif為該現行歷史資訊,QP_old為一先前量化參數,min_QP係一第二預設值,max_QP係一第三預設值,?為條件運算子,d=a?b:c,表示當a為真時,d為b,a不為真時,d為c,clip為一裁截運算,當QP之值在min_QP與max_QP之間時,QP之值維持不變,當QP之值大於max_QP時,QP之值為max_QP,當QP之值小於min_QP時,QP之值為min_QP。
  15. 如申請專利範圍第1項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該暫存裝置更包含複數個未編碼像素,該複數個未編碼像素包含第一至第三未編碼像素,該第一未編碼像素位於該現行編碼像素的右方一個像素處,該第二未編碼像素位於該現行編碼像素的右方二個像素處,該第三未編碼像素位於該現行編碼像素的右方三個像素處。
  16. 如申請專利範圍第15項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其更包含:一平坦偵測裝置,連接至該暫存裝置,依據該現行編碼像素及該第一至第三未編碼像素,以計算該現行編碼像素的一平坦度,其中,該平坦度係為未編碼像素像素數值的變異程度,其關係係可為下列公式:flat=max(abs(X-X1),abs(X1-X2),abs(X2-X3)), 當中,flat為該平坦度,X為該現行編碼像素,X1為該第一未編碼像素,x2為該第二未編碼像素,X3為該第三未編碼像素,max為一最大值函數,abs為一絕對值函數。
  17. 如申請專利範圍第16項所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該平坦偵測裝置依據該現行編碼像素及該複數個未編碼像素,以計算一包含該現行編碼像素之一區塊的一編碼指示訊號,其中,該編碼指示訊號為11b時,該區塊大小為16x1,該編碼指示訊號為10b時,該區塊大小為8x1,該編碼指示訊號為01b時,該區塊大小為4x1,以及該編碼指示訊號為00b時,該區塊大小為1x1。
  18. 如申請專利範圍第16所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該映射裝置包含:一取捨模組,連接至該預測值差值裝置及該平坦偵測裝置,依據該平坦度及該預測值差值,以產生一最後預測值差值;一量化參數模組,連接至該紋路及歷史分析裝置、及該位元率控制裝置,以依據該建議位元及該現行編碼像素所在之一區塊的像素顏色數目來計算一位元分佈,再依據該現行歷史資訊及該位元分佈以計算一量化參數;以及一映射模組,連接至該量化參數模組,依據該最後預測值差值及該量化參數,以計算該索引l。
  19. 如申請專利範圍第18所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該取捨模組利用一未來平坦資訊和一預測誤差來判斷最後要進入編碼的數值,係以公式表示如下:if(dif<C && flat>D) dif_final=0 else dif_final=dif,當中,dif為該預測值差值,C為一第四預設值,D為一第五預設值,dif_final為該最後預測值差值。
  20. 一種藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其對一圖框的複數個像素進行編碼,該影像壓縮系統包含:一暫存裝置,其暫存該圖框的該複數個像素,該複數個像素包含一現行編碼像素、複數個歷史的解碼後像素及複數個未編碼像素,其中,複數個歷史的解碼後像素係複數個在該圖框中經編碼再經解碼之相關位置的像素;一紋路及歷史分析裝置,連接至該暫存裝置,用以偵測該複數個歷史的解碼後像素的內容,進而計算並輸出一預測值及一現行歷史資訊,其中,該現行歷史資訊代表複數個歷史的解碼後像素之影像的複雜度;一預測值差值裝置,連接至該紋路及歷史分析裝置,用以將該現行編碼像素及該預測值相減,進而產生並輸出一預測值差值;一位元率控制裝置,依據一最終位元,調整壓縮倍率,進而輸出一建議位元;一映射裝置,連接至該紋路及歷史分析裝置、該預測值差值裝置、及該位元率控制裝置,依據該預測值差值、該現行歷史資訊、及該建議位元,以計算並輸出一索引;一編碼裝置,連接至該映射裝置及該位元率控制裝置,將該索引編碼,以輸出一第一位元流; 一平坦偵測裝置,連接至該暫存裝置,依據該現行編碼像素及該第一至第三未編碼像素,用以計算該現行編碼像素的一平坦度及一平坦度指示訊號;一平坦區編碼裝置,連接至該預測值差值裝置,依據一預設之量化參數及該預測值差值,以計算並輸出一第二位元流;以及一多工裝置,連接至該編碼裝置、該平坦偵測裝置、及該平坦區編碼裝置,依據該平坦度指示訊號,以選擇第一位元流及該第二位元流其中之一作為該多工裝置的輸出。
  21. 如申請專利範圍第20所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其更包含:一位元數目計算裝置,連接至該多工裝置及該位元率控制裝置,依據該多工裝置輸出的一位元流,以計算該最終位元。
  22. 如申請專利範圍第21所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該多工裝置輸出的該位元流中,當該平坦度指示訊號為0b時,用以指示該位元流中之後續位元流為該第一位元流,以及當該平坦度指示訊號為1b時,用以指示該位元流中之後續位元流為該第二位元流。
  23. 如申請專利範圍第22所述之藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統,其中,該多工裝置輸出的該位元流中,當該平坦度指示訊號為0b時,用以指示該位元流中之後續位元流為該第一位元流,以及當該平坦度指示訊號為1b時,用以指示該位元流中之後續位元流不再是壓縮的編碼資料。
TW103118365A 2014-05-27 2014-05-27 藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統 TWI538480B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW103118365A TWI538480B (zh) 2014-05-27 2014-05-27 藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統
US14/722,394 US9883188B2 (en) 2014-05-27 2015-05-27 Image compression system for dynamically adjusting compression parameters by content sensitive detection in video signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103118365A TWI538480B (zh) 2014-05-27 2014-05-27 藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統

Publications (2)

Publication Number Publication Date
TW201545536A TW201545536A (zh) 2015-12-01
TWI538480B true TWI538480B (zh) 2016-06-11

Family

ID=54703321

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103118365A TWI538480B (zh) 2014-05-27 2014-05-27 藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統

Country Status (2)

Country Link
US (1) US9883188B2 (zh)
TW (1) TWI538480B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10244250B2 (en) * 2015-05-29 2019-03-26 Samsung Electronics Co., Ltd. Variable-rate texture compression using fixed-rate codes
US10368079B2 (en) 2017-03-31 2019-07-30 Ati Technologies Ulc Method and apparatus for image compression that employs multiple indexed color history buffers
EP3396961A1 (en) 2017-04-24 2018-10-31 Axis AB Method and rate controller for controlling output bitrate of a video encoder
US11323247B2 (en) 2017-10-27 2022-05-03 Quantropi Inc. Methods and systems for secure data communication
US10476664B2 (en) * 2017-10-27 2019-11-12 Quantropi Inc. Methods and systems for data protection
EP3732879A1 (en) * 2018-11-26 2020-11-04 Google LLC Safe and cross device consistent video compression
US11329797B2 (en) 2020-02-25 2022-05-10 Quantropi Inc. Method and system for secure phase-encoded digital communication over optical channels
US20220156982A1 (en) * 2020-11-19 2022-05-19 Nvidia Corporation Calculating data compression parameters

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9479794B2 (en) * 2005-11-10 2016-10-25 Freescale Semiconductor, Inc. Resource efficient video processing via prediction error computational adjustments
JP5661373B2 (ja) * 2010-08-20 2015-01-28 キヤノン株式会社 撮影システム、撮像装置及びその制御方法
EP2795899A4 (en) * 2011-12-23 2016-01-27 Intel Corp CONTENTSADAPTIVE HIGHLY PRECISE MACROBLOCK RATES CONTROL
US9071842B2 (en) * 2012-04-19 2015-06-30 Vixs Systems Inc. Detection of video feature based on variance metric
US9100636B2 (en) * 2012-09-07 2015-08-04 Intel Corporation Motion and quality adaptive rolling intra refresh
US20150063461A1 (en) * 2013-08-27 2015-03-05 Magnum Semiconductor, Inc. Methods and apparatuses for adjusting macroblock quantization parameters to improve visual quality for lossy video encoding
US9866853B2 (en) * 2014-04-15 2018-01-09 Qualcomm Incorporated System and method for lagrangian parameter calculation for display stream compression (DSC)
US9930346B2 (en) * 2014-04-15 2018-03-27 Qualcomm Incorporated System and method for flatness detection for display stream compression (DSC)
US10631005B2 (en) * 2014-04-21 2020-04-21 Qualcomm Incorporated System and method for coding in block prediction mode for display stream compression (DSC)
US9979970B2 (en) * 2014-08-08 2018-05-22 Qualcomm Incorporated System and method for determining buffer fullness for display stream compression
US10136133B2 (en) * 2014-11-11 2018-11-20 Dolby Laboratories Licensing Corporation Rate control adaptation for high-dynamic range images
US9936203B2 (en) * 2015-04-13 2018-04-03 Qualcomm Incorporated Complex region detection for display stream compression
US10244255B2 (en) * 2015-04-13 2019-03-26 Qualcomm Incorporated Rate-constrained fallback mode for display stream compression
US10284849B2 (en) * 2015-04-13 2019-05-07 Qualcomm Incorporated Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure

Also Published As

Publication number Publication date
US20150350655A1 (en) 2015-12-03
US9883188B2 (en) 2018-01-30
TW201545536A (zh) 2015-12-01

Similar Documents

Publication Publication Date Title
TWI538480B (zh) 藉由偵測鄰近像素複雜度來動態調整壓縮參數的影像壓縮系統
JP6498679B2 (ja) 動きベクトル精度の選択
JP6343038B2 (ja) 映像符号化単位に係わるイントラ予測モード決定方法及びその装置、並びに映像復号化単位に係わるイントラ予測モード決定方法及びその装置
JP7331095B2 (ja) 補間フィルタトレーニング方法及び装置、ビデオピクチャエンコーディング及びデコーディング方法、並びに、エンコーダ及びデコーダ
TWI580253B (zh) 視訊編碼中之色度量化
JP6903149B2 (ja) ビデオ・コーディングにおける動きベクトル(mv)制約及び変換制約のための装置及び方法
JP5289440B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
CN113632464B (zh) 分量间预测的方法和设备
CN103329534B (zh) 图像编码装置及图像解码装置
WO2009088038A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法
CA2680698A1 (en) Image coding method and image decoding method
CN105264888A (zh) 用于对色彩空间、色彩采样率和/或比特深度自适应切换的编码策略
KR101643205B1 (ko) 투명도 정보 채널을 가지는 비디오 스트림을 인코딩하기 위한 방법 및 장치
SG176160A1 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
KR20210068542A (ko) 보간 필터를 사용하는 인트라 예측을 위한 방법 및 장치
TW201937927A (zh) 使用雙重分類用於線性分量樣本預測的方法以及裝置
JP5227989B2 (ja) 符号化装置、復号装置及びプログラム
KR101519653B1 (ko) 이미지 무손실 및 손실 압축 장치
CN105323588B (zh) 一种动态适应压缩参数的影像压缩***
JP2019514290A (ja) ディスプレイストリーム圧縮用の知覚的量子化パラメータ(qp)重み付けのための装置および方法
TW201947933A (zh) 濾波器
WO2024093994A1 (zh) 编解码方法和装置
WO2020143292A1 (zh) 一种帧间预测方法及装置
TW201947932A (zh) 濾波器
CN114422734A (zh) 一种录像机、视频数据处理方法、装置及电子设备