国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      對(duì)dct系數(shù)的行程長(zhǎng)度和大小數(shù)據(jù)的分別霍夫曼編碼的制作方法

      文檔序號(hào):7515949閱讀:238來(lái)源:國(guó)知局
      專利名稱:對(duì)dct系數(shù)的行程長(zhǎng)度和大小數(shù)據(jù)的分別霍夫曼編碼的制作方法
      對(duì)DCT系數(shù)的行程長(zhǎng)度和大小數(shù)據(jù)的分別霍夫曼編碼領(lǐng)域本發(fā)明描述一種用于數(shù)據(jù)壓縮的低復(fù)雜度編碼的方法。背景數(shù)據(jù)壓縮可用于盡可能空間高效地表示信息集合。數(shù)據(jù)壓縮代碼可提供源消息集 合與碼字集合之間的映射。一些視頻壓縮系統(tǒng)可能在有限的時(shí)段期間執(zhí)行該編碼。例如, 對(duì)于由大小為8X1920的瓦塊(即矩形子圖像)編碼的高清電視(HDTV) 1080i (1080X1920 30幀每秒),每個(gè)瓦塊可在497微秒期間被編碼。一旦一瓦塊已被編碼,則一后繼瓦塊可被 呈現(xiàn)于壓縮系統(tǒng)的輸入處,并可準(zhǔn)備好進(jìn)行處理。一般而言,熵編碼指的是可與媒體的具體特性無(wú)關(guān)的無(wú)損數(shù)據(jù)壓縮方案。通常,熵 編碼是視頻壓縮系統(tǒng)的在計(jì)算上最復(fù)雜的要素之一。在一些情況下,熵編碼可能涉及向符 號(hào)指派代碼,以使代碼長(zhǎng)度與符號(hào)的概率匹配。數(shù)據(jù)壓縮系統(tǒng)的設(shè)計(jì)通常涉及對(duì)輸入數(shù)據(jù) 的有效壓縮與該設(shè)計(jì)中的最低復(fù)雜度成本之間的折衷。熵編碼可使用諸如配對(duì)的行程長(zhǎng)度(RLE)和可變長(zhǎng)度編碼(VLC)或算術(shù)編碼之類 的多種不同技術(shù)在現(xiàn)代視頻壓縮系統(tǒng)中實(shí)現(xiàn)。算術(shù)編碼可提供較好的壓縮率,但可能非常 復(fù)雜,而且對(duì)于低復(fù)雜度系統(tǒng)而言可能不是好的解決方案?;赩LC的技術(shù)可提供較小的 壓縮率,且復(fù)雜度往往低得多,因此這些技術(shù)更適于實(shí)時(shí)應(yīng)用。附圖簡(jiǎn)述根據(jù)以下對(duì)與所要求保護(hù)的發(fā)明主題一致的實(shí)施例的詳細(xì)描述,本發(fā)明主題的特 征和優(yōu)點(diǎn)將顯而易見(jiàn),該描述應(yīng)參照附圖來(lái)考慮,在附圖中

      圖1是示出基于離散余弦變換(DCT)的編碼器處理的示例的示圖;圖2是示出基于DCT的解碼器處理的示例的示圖;圖3是根據(jù)本發(fā)明的低復(fù)雜度熵編碼的示例實(shí)施例的示圖;圖4是示出與根據(jù)本發(fā)明所描述的熵編碼相比較,與標(biāo)準(zhǔn)JPEG熵編碼相關(guān)聯(lián)的速 率一失真曲線(即壓縮率與PSNR的關(guān)系)的示圖;圖5是示出標(biāo)準(zhǔn)JPEG算法中的行程長(zhǎng)度(RUNLENGTH)值的估計(jì)概率分布的示圖;圖6是示出標(biāo)準(zhǔn)JPEG算法中的大小(SIZE)值的估計(jì)概率分布的示圖;圖7是示出使用JPEG圖像壓縮算法的標(biāo)準(zhǔn)熵編碼的操作的流程圖;圖8是示出根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例的使用關(guān)于行程長(zhǎng)度的短表的熵編 碼的處理的流程圖;圖9是根據(jù)本發(fā)明的另一示例性實(shí)施例的處理的流程圖;以及圖10是根據(jù)本發(fā)明的一個(gè)實(shí)施例的處理的流程圖。雖然將參照說(shuō)明性實(shí)施例繼續(xù)進(jìn)行以下詳細(xì)描述,但其許多替代物、修改以及變 型對(duì)本領(lǐng)域技術(shù)人員而言將顯而易見(jiàn)。詳細(xì)描述一般而言,本發(fā)明描述一種用于數(shù)據(jù)壓縮的低復(fù)雜度編碼的方法。本文中描述的 實(shí)施例可根據(jù)諸如1992年公布的聯(lián)合圖像專家組(JPEG)標(biāo)準(zhǔn)、ITU-T T.81、IS0/IEC IS10918-1之類的數(shù)據(jù)壓縮標(biāo)準(zhǔn)來(lái)使用。更具體而言,本文中所描述的實(shí)施例提供多種熵編碼 算法,這些算法可用于減少在編解碼器程序期間所使用的霍夫曼表所需的存儲(chǔ)大小。諸如彩色傳真、桌面出版以及醫(yī)療成像之類的各種領(lǐng)域中靜態(tài)圖像的數(shù)據(jù)傳輸可 根據(jù)JPEG標(biāo)準(zhǔn)來(lái)執(zhí)行。JPEG標(biāo)準(zhǔn)可涉及在數(shù)據(jù)壓縮處理期間使用離散余弦變換(DCT)。基于離散余弦變換(DCT)的壓縮可涉及灰度采樣圖像的多個(gè)8X8塊流的壓縮。 每個(gè)8X8的源圖像采樣塊實(shí)際上是64點(diǎn)離散信號(hào),其可以是兩個(gè)空間維度χ和y的函數(shù)。 因此DCT系數(shù)值可被認(rèn)為是該64點(diǎn)輸入信號(hào)中包含的2維空間頻率的相對(duì)量。在這兩個(gè) 維度中均具有零頻率的系數(shù)稱為“DC系數(shù)”,而余下的63個(gè)系數(shù)稱為“AC系數(shù)”。涉及DCT 的更多信息在1991年的IEEE消費(fèi)電子產(chǎn)品匯刊中Gregory K. Wallace所著的“JPEG靜態(tài) 圖像壓縮標(biāo)準(zhǔn)(The JPEG Still Picture Compression Standard) ”中有進(jìn)一步詳細(xì)描述?,F(xiàn)參照?qǐng)D1,示出了基于DCT的編碼器100?;贒CT的編碼器100可被配置成接收 一些源圖像數(shù)據(jù)(例如在圖1中示為8 X 8塊),并以壓縮形式輸出該數(shù)據(jù)。編碼器100可包 括前向DCT (FDCT) 102、量化器104以及熵編碼器106。反之,圖2描述基于DCT的解碼器200, 其接收該壓縮圖像數(shù)據(jù),并以重構(gòu)形式輸出原始源圖像數(shù)據(jù)。解碼器200可被視為編碼器 100的鏡像,因此解碼器200可包括熵解碼器202、反量化器204以及反向DCT (IDCT) 206。再次參照?qǐng)D1,編碼器100可被配置成接收源圖像數(shù)據(jù)101以便后續(xù)壓縮。源圖 像數(shù)據(jù)101可被分組成8X8塊、從無(wú)符號(hào)整數(shù)移位并被輸入前向DCT 102。如上所述,前 向DCT 102的具體操作在1991年的IEEE消費(fèi)電子產(chǎn)品匯刊中Gregory K. Wallace所著的 “JPEG靜態(tài)圖像壓縮標(biāo)準(zhǔn)(The JPEG Still Picture Compression Standard) ”中有進(jìn)一步 詳細(xì)描述。FDCT 102可向量化器104提供輸出(例如64個(gè)DCT系數(shù))。在一些實(shí)施例中, 量化器104可被配置成將一定范圍的值(例如頻率分量的幅值)壓縮成單個(gè)量子值。以此 方式,量化器104可被配置成通過(guò)用不超過(guò)獲得希望的圖像質(zhì)量所必需的精度來(lái)表示DCT 系數(shù)來(lái)壓縮該數(shù)據(jù)。因此,量化器104可提供經(jīng)量化DCT系數(shù)(DC和AC)的序列作為對(duì)熵 編碼器106的輸入。熵編碼器106可被配置成執(zhí)行最終的基于DCT的處理操作。熵編碼器106可通過(guò) 基于經(jīng)量化DCT系數(shù)的統(tǒng)計(jì)特性將其更緊湊地編碼來(lái)無(wú)損地實(shí)現(xiàn)額外壓縮。熵編碼器106 可被配置成執(zhí)行如下文進(jìn)一步詳細(xì)討論的各種不同操作?!愣?,熵編碼可包括兩個(gè)不同操作。第一操作可將經(jīng)量化系數(shù)的Z字形序列 轉(zhuǎn)換成中間符號(hào)序列。該Z字形序列的目的和操作在上面引述的“JPEG靜態(tài)圖像壓縮標(biāo)準(zhǔn)” 中進(jìn)行了進(jìn)一步詳細(xì)描述。第二操作可將這些符號(hào)轉(zhuǎn)換成數(shù)據(jù)流,在該數(shù)據(jù)流中這些符號(hào) 不再具有外部可識(shí)別的邊界。因此,在一些實(shí)施例中,編碼器106可將經(jīng)量化系數(shù)的Z字形序列轉(zhuǎn)換成中間信號(hào) 序列。編碼器106還可將這些符號(hào)轉(zhuǎn)換成數(shù)據(jù)流,在該數(shù)據(jù)流中這些符號(hào)不再具有外部可 識(shí)別的邊界。中間符號(hào)的形式和定義可取決于基于DCT的操作模式和熵編碼方法(霍夫曼、
      算術(shù)等)二者。如上所討論,對(duì)熵編碼器106的輸入可以是經(jīng)量化的DCT系數(shù)(DC和AC)序列。在 該中間符號(hào)序列中,每個(gè)非零AC系數(shù)可結(jié)合其“行程長(zhǎng)度” 一起表示。此處所使用的術(shù)語(yǔ) “行程長(zhǎng)度”或“RUNLENGTH”可對(duì)應(yīng)于Z字形序列中在非零AC系數(shù)之前連續(xù)的零值A(chǔ)C系數(shù) 的數(shù)目。
      每個(gè)行程長(zhǎng)度/非零系數(shù)組合可由一對(duì)符號(hào)表示,例如符號(hào)-1 (行程長(zhǎng)度,大小) 和符號(hào)_2(幅值)。在本示例中,符號(hào)-1可表示這兩件信息,即行程長(zhǎng)度和大小。如上所 述,行程長(zhǎng)度可對(duì)應(yīng)于Z字形序列中在正被表示的非零AC系數(shù)之前連續(xù)的零值A(chǔ)C系數(shù)的 數(shù)目。如本文所使用的術(shù)語(yǔ)“大小”可對(duì)應(yīng)于用于編碼幅值(即符號(hào)_2)的位數(shù)。如本文 所使用的術(shù)語(yǔ)“幅值”可對(duì)應(yīng)于非零AC系數(shù)的幅值。符號(hào)_2可表示指定為幅值的單件信 肩、ο一般而言,行程長(zhǎng)度值可表示長(zhǎng)度為0到15的零行程。Z字形序列中的實(shí)際零行程 可能大于15,因此符號(hào)-1值(15,0)可被解讀為具有行程長(zhǎng)度=16的擴(kuò)展符號(hào)。特殊的符 號(hào)-1值(0,0)表示塊結(jié)束(EOB)情況,且可被視為終止該8X8采樣塊的“轉(zhuǎn)義(escape)” 符號(hào)。因此,對(duì)于每個(gè)8X8采樣塊,具有63個(gè)經(jīng)量化AC系數(shù)的Z字形序列可被表示為 符號(hào)-1和符號(hào)_2的符號(hào)對(duì)的序列。然而,每“對(duì)”在長(zhǎng)行程長(zhǎng)度的情況下可具有符號(hào)-1的 重復(fù),而在EOB的情況下僅具有一個(gè)符號(hào)-1。經(jīng)量化的AC系數(shù)的可能范圍可決定幅值和大小信息二者可對(duì)應(yīng)的值的范圍。對(duì) 于AC系數(shù),符號(hào)-1和符號(hào)-2中間表示的一種可能結(jié)構(gòu)分別在以下表1和2中示出。對(duì)于 DC系數(shù),該中間表示可類似地被構(gòu)造。在本示例中,與之前一樣,符號(hào)-1可僅表示大小信 息,符號(hào)_2可表示幅值信息符號(hào)-1——(大小),符號(hào)_2 (幅值)。因?yàn)镈C系數(shù)可被差分地編碼,所以它可由兩倍于AC系數(shù)的整數(shù)值[I11J11-I]來(lái) 覆蓋,因此可向關(guān)于DC系數(shù)的表2的底部添加一個(gè)附加級(jí)。用于DC系數(shù)的符號(hào)-1因此可 表示從1到11的值。 表1基線霍夫曼編碼符號(hào)-1結(jié)構(gòu)
      大小幅值1-1,12-3,-2,2,33-7. · 一1,4. . 74-15..--8,8. . 155-31..--16,16. .316-63. ·--32, 32. . 637-127. ·-64,64. . 1278-255. ·-128,128. . 2559-511. ·-256,256. · 51110-1023. -512,512. · 1023表2基線熵編碼符號(hào)_2結(jié)構(gòu)霍夫曼編碼是可取符號(hào)(例如字節(jié)、DCT系數(shù)等)并用可根據(jù)統(tǒng)計(jì)概率指派的可 變長(zhǎng)度碼來(lái)將它們編碼的方法。例如,用于JPEG壓縮的霍夫曼編碼方案可通過(guò)用可變長(zhǎng)度 碼(即1到16位)代替固定大小(例如12位)碼來(lái)進(jìn)一步減小文件大小。平均而言,替 換碼合計(jì)的位數(shù)小于原始碼。如果平均而言儲(chǔ)存經(jīng)量化DCT系數(shù)所需的位減少了 10%,則 這可直接轉(zhuǎn)化成10%的文件大小減小。困難的地方可能在于決定用哪些可變長(zhǎng)度位串來(lái)替 換哪些碼?;舴蚵矶x了這些映射,且被儲(chǔ)存在每個(gè)JPEG圖像文件內(nèi)。以下四個(gè)分量中 的每一個(gè)分量可能需要單獨(dú)的霍夫曼表輝度DC分量、輝度AC分量、色度DC分量以及色度 AC分量。例如,這些表可包括包括AC系數(shù)的輝度表(162個(gè)記錄,162 X 20 = 3240位)、包 括AC系數(shù)的色度表(162個(gè)記錄,162 X 20 = 3240位)、包括DC系數(shù)的輝度表(12個(gè)記錄, 12X15 = 180位)、以及包括DC系數(shù)的色度表(12個(gè)記錄,12X15 = 180位)。對(duì)于標(biāo)準(zhǔn) 熵編碼,這可能導(dǎo)致總共6840位或即855字節(jié),如表6所示。標(biāo)準(zhǔn)行程長(zhǎng)度編碼(RLE)數(shù)據(jù)壓縮可包括若干操作。例如,當(dāng)制造RLE序列時(shí)可 實(shí)現(xiàn)以下操作1.動(dòng)作-1 將63個(gè)AC系數(shù)中的每個(gè)元素與零進(jìn)行比較。因此,對(duì)于每個(gè)域,會(huì)有 63個(gè)動(dòng)作-1。2.動(dòng)作-2 如果該序列的當(dāng)前元素為0,則可增大行程長(zhǎng)度的計(jì)數(shù)器。3.動(dòng)作-3 如果行程長(zhǎng)度的數(shù)字大于15且它不是Ε0Β,則可修改行程長(zhǎng)度的計(jì)數(shù)
      器ο4.動(dòng)作-4 如果當(dāng)前元素不是零,則可創(chuàng)建去往適當(dāng)表的地址,可獲得并寫入碼字。5.動(dòng)作-5 —旦已經(jīng)獲得用于行程長(zhǎng)度/大小組合的碼字,則可以用二進(jìn)制形式 呈現(xiàn)并寫入幅值的值。6.動(dòng)作-6 霍夫曼表中的地址計(jì)算(使用行程長(zhǎng)度和大小的值)。表3示出了利用YUV模型時(shí)以上列出的操作的每塊平均復(fù)雜度值,其中Y對(duì)應(yīng)于 亮度(即輝度),而UV對(duì)應(yīng)于色彩(即色度)。例如,如果平均動(dòng)作-3Y復(fù)雜度等于0. 1,則 平均而言每10個(gè)塊僅會(huì)有一個(gè)動(dòng)作-3Y。標(biāo)準(zhǔn)RLE的復(fù)雜度動(dòng)作-1 Y63動(dòng)作-1 UV63動(dòng)作-2 Y48動(dòng)作-2 UV57動(dòng)作-3 Y0.1動(dòng)作-3 UV0.1動(dòng)作-4 Y16動(dòng)作-4 UV7動(dòng)作-5 Y15動(dòng)作-5 UV6動(dòng)作-6 Y16動(dòng)作-6 UV7表3標(biāo)準(zhǔn)RLE的復(fù)雜度利用短表的行稈長(zhǎng)度編碼圖3描述了根據(jù)本發(fā)明的示例性實(shí)施例的用于低復(fù)雜度編碼的系統(tǒng)300。系統(tǒng)300 可被配置成接收原始視頻數(shù)據(jù),并利用轉(zhuǎn)換器302將該數(shù)據(jù)從紅、綠、藍(lán)(RGB)色彩空間轉(zhuǎn) 換到輝度和色度(YUV)色彩空間??衫冒ǖ幌抻谑褂每毂眚?qū)動(dòng)算法的各種技術(shù)來(lái)執(zhí) 行從RGB向YUV的轉(zhuǎn)換。經(jīng)轉(zhuǎn)換的每個(gè)Y、U和V幀可被分組成8X8塊并輸入到FDCT 304 中。每個(gè)8X8的源圖像采樣塊實(shí)際上是64點(diǎn)離散信號(hào),其可以是χ和y的函數(shù)。FDCT 304 可接收該信號(hào)作為輸入,并將其分解成64個(gè)正交基信號(hào),每個(gè)正交基信號(hào)可包含構(gòu)成輸入 信號(hào)的“頻譜”的64個(gè)唯一性二維(2D) “空間頻率”之一。FDCT 304的輸出可以是64個(gè) 基礎(chǔ)信號(hào)幅值或“DCT系數(shù)”的集合,該幅值或系數(shù)的值可由該特定的64點(diǎn)輸入信號(hào)唯一地 確定。FDCT304可將該輸出提供給量化器306。應(yīng)當(dāng)注意,系統(tǒng)300的任何部分可被包括在 例如集成電路或類似的設(shè)備中。在從FDCT 304輸出之后,可結(jié)合量化表(例如64個(gè)元素)統(tǒng)一地量化64個(gè)DCT 系數(shù)中的每一個(gè),該量化表可由應(yīng)用程序(或用戶)指定作為對(duì)熵編碼器308的輸入。每 個(gè)元素可以是從1到255的任何整數(shù)值,該整數(shù)值為其相應(yīng)的DCT系數(shù)指定量化器的步長(zhǎng)。 量化可定義為將每個(gè)DCT系數(shù)除以其相應(yīng)的量化器步長(zhǎng),然后四舍五入為最接近的整數(shù)。 由此該輸出值可由量化器步長(zhǎng)來(lái)歸一化。在量化之后,可將每個(gè)元素輸入熵編碼器308。熵編碼器308可包括RLE編碼模塊310和霍夫曼編碼模塊312。以上參照表3描 述的標(biāo)準(zhǔn)行程長(zhǎng)度編碼需要4個(gè)霍夫曼表。與之對(duì)比,在本實(shí)施例中,可對(duì)AC系數(shù)的行程長(zhǎng) 度值以及大小值使用單獨(dú)的表。在本實(shí)施例中,對(duì)于DC系數(shù),可不作改變地使用同樣的表。 這可減少維護(hù)這些霍夫曼表所需的儲(chǔ)存大小。例如,根據(jù)本實(shí)施例,關(guān)于所有可能的行程長(zhǎng) 度值的碼字表可由16個(gè)記錄(UV分量為16*10 = 160位,Y分量為14*16 = 224位)組成, 且關(guān)于大小的表可包括12個(gè)記錄(12*16 = 192位)。這可導(dǎo)致總共576位或即72字節(jié)。 因此,相比于需要855字節(jié)的現(xiàn)有熵編碼技術(shù),該方法可導(dǎo)致存儲(chǔ)器資源的顯著節(jié)省。表4描述了示出當(dāng)對(duì)AC系數(shù)的行程長(zhǎng)度以及大小使用單獨(dú)的表時(shí)所需操作數(shù)目 的減少的概述。
      8
      表4利用短表的標(biāo)準(zhǔn)RLE的復(fù)雜度對(duì)此用于RLE編碼的方法的復(fù)雜度的衡量可涉及確定所需的操作數(shù)目。可將該操 作數(shù)目與以上表3中所示的標(biāo)準(zhǔn)RLE所需的操作數(shù)目進(jìn)行比較。主要差別出現(xiàn)在動(dòng)作_4 中,因?yàn)樵诒緦?shí)施例中,必須尋址兩個(gè)不同的表,因此這些操作的數(shù)目會(huì)翻倍。而且,不需要 動(dòng)作_6來(lái)對(duì)霍夫曼表中的地址進(jìn)行計(jì)數(shù)。標(biāo)準(zhǔn)RLE與本實(shí)施例之間的更詳細(xì)比較可通過(guò) 比較圖7和圖8來(lái)形成,這將在下文進(jìn)一步詳細(xì)描述。圖4描述了示出與根據(jù)本發(fā)明的實(shí)施例所描述的熵編碼相比較,與標(biāo)準(zhǔn)JPEG熵編 碼相關(guān)聯(lián)的速率一失真曲線(即壓縮率與使用PSNR度量來(lái)衡量的重構(gòu)圖像質(zhì)量的關(guān)系)。 以上圖3中描述的該方法可簡(jiǎn)化編碼處理,雖然壓縮比也會(huì)稍稍降低(參見(jiàn)圖4),這是因?yàn)?可在不使用行程長(zhǎng)度與大小之間的相關(guān)性的情況下對(duì)它們獨(dú)立地編碼。圖4示出了壓縮率 和相應(yīng)的質(zhì)量水平(利用速率一失真函數(shù)計(jì)算得出)非常輕微地降低。例如,對(duì)于速率= 1Mbps,使用PSNR度量來(lái)衡量的話,與標(biāo)準(zhǔn)JPEG相比,此處所述實(shí)施例的質(zhì)量水平的降低小 于 0. IdB0在無(wú)行稈長(zhǎng)It表階唐況下 Μ〒稈長(zhǎng)It編石馬在一些實(shí)施例中,可在不使用關(guān)于行程長(zhǎng)度的霍夫曼表的情況下執(zhí)行行程長(zhǎng)度編 碼。即,對(duì)于AC系數(shù),可僅使用關(guān)于大小的霍夫曼表。對(duì)于DC系數(shù),可使用與上述相同的 表??梢圆恍枰糜谛谐涕L(zhǎng)度的碼字,取而代之的是,可將這些零寫入輸出流。例如,如果 在序列中有六個(gè)零和非零AC系數(shù),則可將這些零寫入該流中,隨后是大小和幅值。在查閱圖5和6之后,僅利用關(guān)于大小的霍夫曼表的決定會(huì)變得顯而易見(jiàn),其中圖 5和6分別描述了行程長(zhǎng)度和大小值的概率分布。如圖5所示,大的零序列的概率對(duì)于不同 的測(cè)試圖像(例如claire80. avi對(duì)比soldiersjii. avi)會(huì)是非常小的。這里,分布函數(shù) 對(duì)于不同的測(cè)試圖像看起來(lái)并無(wú)顯著變化。例如,對(duì)于不同的測(cè)試圖像,在AC系數(shù)序列期 間出現(xiàn)的5個(gè)連續(xù)零的概率可能小于0. 008。相反,圖6描述了大小值的概率分布。這里,可注意到大小值的分布函數(shù)對(duì)于不同 影片可能改變,從而可能更加復(fù)雜。例如,大小值為2的概率從claire80. avi的約0. 45變 成 soldiers_hi. avi 的約 0. 55。表5描述當(dāng)在不使用關(guān)于行程長(zhǎng)度的霍夫曼表的情況下進(jìn)行行程長(zhǎng)度編碼時(shí)所 需的操作數(shù)目的意義上的復(fù)雜度。削減掉行程長(zhǎng)度表也會(huì)消除對(duì)行程長(zhǎng)度計(jì)數(shù)器的需要。 因此,動(dòng)作-2和動(dòng)作-3 (即行程長(zhǎng)度計(jì)數(shù)器修改)不是必需的。動(dòng)作_6的需要也可被消 除,也無(wú)需計(jì)算霍夫曼表中的地址。
      表5利用短表的標(biāo)準(zhǔn)RLE的復(fù)雜度因此,通過(guò)削減掉關(guān)于行程長(zhǎng)度的霍夫曼表,就可簡(jiǎn)化編碼處理。因此,如圖4所 示,壓縮比也會(huì)降低更多,因?yàn)樾谐涕L(zhǎng)度值不被壓縮。圖7-9描述了將標(biāo)準(zhǔn)JPEG熵編碼與本發(fā)明的實(shí)施例進(jìn)行比較的一系列流程圖。 例如,圖7描述了流程圖700,其包括用于根據(jù)JPEG圖像壓縮算法執(zhí)行標(biāo)準(zhǔn)熵編碼的操作 701-715。流程圖700包括關(guān)于行程長(zhǎng)度和大小的霍夫曼表中的地址計(jì)算的操作(即動(dòng) 作-6)。圖7中所示的標(biāo)準(zhǔn)熵編碼技術(shù)可能需要855字節(jié)的存儲(chǔ)器消耗。與之對(duì)比,圖8示出了流程圖800,其包括被配置成根據(jù)此處所描述的實(shí)施例利用 關(guān)于行程長(zhǎng)度和大小的單獨(dú)的表來(lái)執(zhí)行熵編碼的操作801-814。如上所述,在本實(shí)施例中, 去除了霍夫曼表中的地址計(jì)算操作(因此無(wú)需動(dòng)作_6)。圖8中所示的實(shí)施例需要的存儲(chǔ) 器會(huì)比標(biāo)準(zhǔn)熵編碼少得多(即72字節(jié))。圖9示出流程圖900,其包括被配置成根據(jù)此處所描述的實(shí)施例執(zhí)行熵編碼的操 作901-911。流程圖900描述了在不使用關(guān)于行程長(zhǎng)度的表的情況下執(zhí)行熵編碼的實(shí)施例。 在本實(shí)施例中,可去除涉及行程長(zhǎng)度計(jì)算的操作。例如,去除圖7的操作705(即對(duì)應(yīng)于將 行程計(jì)數(shù)器增加1的動(dòng)作-2) >707,709以及710。流程圖900還描述了將零系數(shù)寫入該流 中,如操作905中所示。圖9中所示的實(shí)施例需要的存儲(chǔ)器也會(huì)比標(biāo)準(zhǔn)熵編碼少(即24字 節(jié))。在以下表6中提供了示出標(biāo)準(zhǔn)熵編碼以及此處所描述的實(shí)施例的概述。表6示出 了⑴現(xiàn)有熵編碼技術(shù)、⑵利用短RL表的熵編碼、以及(3)不使用關(guān)于行程長(zhǎng)度的表的 熵編碼的存儲(chǔ)器消耗之間的變化。如下所示,相比于標(biāo)準(zhǔn)熵編碼,本文所描述的實(shí)施例提供 了大量的存儲(chǔ)器節(jié)省。
      表6三種技術(shù)的存儲(chǔ)器消耗根據(jù)本發(fā)明的一個(gè)示例性實(shí)施例,在圖10中提供了用于數(shù)據(jù)壓縮的操作的流程 圖1000。該方法可包括將來(lái)自第一色彩空間的數(shù)據(jù)轉(zhuǎn)換至第二色彩空間以產(chǎn)生經(jīng)轉(zhuǎn)換數(shù)據(jù) (1002)。該方法可進(jìn)一步包括在離散余弦變換(DCT)處接收所述經(jīng)轉(zhuǎn)換數(shù)據(jù),所述DCT被 配置成產(chǎn)生至少一個(gè)DCT系數(shù)(1004)。該方法還可包括在量化器處接收來(lái)自所述離散余弦 變換的所述至少一個(gè)DCT系數(shù),所述量化器被配置成量化所述至少一個(gè)DCT系數(shù),并將至少 一個(gè)經(jīng)量化的系數(shù)提供給熵編碼器,所述熵編碼器包括與用于編碼非零AC系數(shù)的幅值的 位數(shù)相對(duì)應(yīng)的第一霍夫曼表(1006)。當(dāng)然,附加操作也在本發(fā)明的范圍內(nèi)。本文中所描述的實(shí)施例可以例如在集成電路(IC)中實(shí)現(xiàn),該集成電路可包括例 如單片系統(tǒng)(SoC)、專用集成電路(ASIC)和/或現(xiàn)場(chǎng)可編程門陣列(FPGA)。本文中的任何 實(shí)施例中所使用的“集成電路”表示半導(dǎo)體器件和/或微電子器件,諸如例如但不限于半導(dǎo) 體集成電路芯片。如本文所描述的任何實(shí)施例中所使用,“電路”可包括例如存儲(chǔ)可由可編程電路執(zhí) 行的指令的硬連線電路、可編程電路、狀態(tài)機(jī)電路和/或固件的單體或任何組合。首先應(yīng)當(dāng) 理解的是,在本文中的任何實(shí)施例中描述的任何操作和/或操作性部件可以用軟件、固件、 硬連線電路和/或它們的任何組合來(lái)實(shí)現(xiàn)。上述方法的實(shí)施例可以用存儲(chǔ)在存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序來(lái)實(shí)現(xiàn),該存儲(chǔ)介質(zhì)具 有用于對(duì)系統(tǒng)(例如機(jī)器)進(jìn)行編程以執(zhí)行這些方法的指令。該存儲(chǔ)介質(zhì)可包括但不限于 包括軟盤、光盤、光盤只讀存儲(chǔ)器(⑶-ROM)、可重寫光盤(⑶-RW)以及磁光盤的任何類型的 盤;諸如只讀存儲(chǔ)器(ROM)、諸如動(dòng)態(tài)和靜態(tài)RAM之類的隨機(jī)存取存儲(chǔ)器(RAM)、可擦可編程 只讀存儲(chǔ)器(EPROM)、電可擦可編程只讀存儲(chǔ)器(EEPROM)、閃存之類的半導(dǎo)體器件;磁卡或 光卡;或適合于存儲(chǔ)電子指令的任何類型的介質(zhì)。其他實(shí)施例可被實(shí)現(xiàn)為由可編程控制設(shè) 備執(zhí)行的軟件模塊。本發(fā)明可提供優(yōu)于現(xiàn)有技術(shù)的眾多優(yōu)點(diǎn)。例如,本文中描述的實(shí)施例描述了數(shù)種 低復(fù)雜度熵編碼方案,相比于標(biāo)準(zhǔn)JPEG,這些方案可將基于VLC的熵編碼器的運(yùn)算復(fù)雜度 降低約50%,且將存儲(chǔ)器消耗降低約70%。本文中所描述的實(shí)施例允許選擇運(yùn)算復(fù)雜度與 壓縮比之間的高效折衷。例如,本文中所描述的實(shí)施例可以不需要對(duì)非零系數(shù)之間的零序列(行程長(zhǎng)度) 的編碼。在一些實(shí)施例中,也不需要關(guān)于行程長(zhǎng)度值的霍夫曼表,從而減少了存儲(chǔ)器消耗(參見(jiàn)表6)。示出了這類序列的概率對(duì)于不同的測(cè)試影片而言會(huì)是非常小的(參見(jiàn)圖5), 且對(duì)壓縮比的影響相當(dāng)小(參見(jiàn)圖4)。 在本文中已描述了各種特征、方面和實(shí)施例。如本領(lǐng)域技術(shù)人員將能理解,這些特 征、方面和實(shí)施例易與彼此組合,且容易進(jìn)行變型和修改。因此,本發(fā)明應(yīng)當(dāng)被認(rèn)為涵蓋這 類組合、變型以及修改。
      權(quán)利要求
      一種裝置,包括集成電路(IC),其被配置成壓縮和/或解壓縮數(shù)據(jù),所述集成電路包括被配置成接收至少一個(gè)離散余弦變換(DCT)系數(shù)的熵編碼器,所述熵編碼器包括與用于編碼非零AC系數(shù)的幅值的位數(shù)相對(duì)應(yīng)的第一霍夫曼表。
      2.如權(quán)利要求1所述的裝置,其特征在于,所述熵編碼器進(jìn)一步包括與給定序列中在 所述非零AC系數(shù)之前的連續(xù)的零值A(chǔ)C系數(shù)數(shù)目相對(duì)應(yīng)的第二霍夫曼表。
      3.如權(quán)利要求1所述的裝置,其特征在于,所述熵編碼器被配置成向輸出流中寫入至 少一個(gè)零,所述至少一個(gè)零與給定序列中在所述非零AC系數(shù)之前的連續(xù)的零值A(chǔ)C系數(shù)數(shù) 目相對(duì)應(yīng)。
      4.如權(quán)利要求1所述的裝置,其特征在于,還包括被配置成從前向離散余弦變換接收 所述至少一個(gè)系數(shù)的量化器,所述量化器還被配置成量化所述至少一個(gè)系數(shù),并向所述熵 編碼器提供至少一個(gè)經(jīng)量化的系數(shù)。
      5.如權(quán)利要求4所述的裝置,其特征在于,所述前向離散余弦變換被配置成從轉(zhuǎn)換器 接收經(jīng)轉(zhuǎn)換的數(shù)據(jù),所述離散余弦變換進(jìn)一步被配置成產(chǎn)生所述至少一個(gè)DCT系數(shù),并將 所述至少一個(gè)DCT系數(shù)提供給所述量化器。
      6.一種用于數(shù)據(jù)壓縮的方法,包括將數(shù)據(jù)從第一色彩空間轉(zhuǎn)換至第二色彩空間以產(chǎn)生經(jīng)轉(zhuǎn)換數(shù)據(jù);在離散余弦變換(DCT)處接收所述經(jīng)轉(zhuǎn)換數(shù)據(jù),所述DCT被配置成產(chǎn)生至少一個(gè)DCT 系數(shù);以及在量化器處接收來(lái)自所述離散余弦變換的所述至少一個(gè)DCT系數(shù),所述量化器被配置 成量化所述至少一個(gè)DCT系數(shù),并將至少一個(gè)經(jīng)量化的系數(shù)提供給熵編碼器,所述熵編碼 器包括與用于編碼非零AC系數(shù)的幅值的位數(shù)相對(duì)應(yīng)的第一霍夫曼表。
      7.如權(quán)利要求6所述的方法,其特征在于,所述熵編碼器進(jìn)一步包括與給定序列中在 所述非零AC系數(shù)之前的連續(xù)的零值A(chǔ)C系數(shù)數(shù)目相對(duì)應(yīng)的第二霍夫曼表。
      8.如權(quán)利要求6所述的方法,其特征在于,所述熵編碼器被配置成向輸出流中寫入至 少一個(gè)零,所述至少一個(gè)零與給定序列中在所述非零AC系數(shù)之前的連續(xù)的零值A(chǔ)C系數(shù)數(shù) 目相對(duì)應(yīng)。
      9.如權(quán)利要求7所述的方法,其特征在于,進(jìn)一步包括將所述至少一個(gè)DCT系數(shù)與零比較;將與給定序列中在所述非零AC系數(shù)之前的所述連續(xù)的零值A(chǔ)C系數(shù)的數(shù)目相對(duì)應(yīng)的計(jì) 數(shù)器增大;如果給定序列中在所述非零AC系數(shù)之前的所述連續(xù)的零值A(chǔ)C系數(shù)數(shù)目大于給定閾值 且不是塊結(jié)束(EOB),則修改所述計(jì)數(shù)器;檢測(cè)到非零系數(shù),并且獲得和寫入與給定序列中在所述非零AC系數(shù)之前的所述連續(xù) 的零值A(chǔ)C系數(shù)數(shù)目和所述用于編碼非零AC系數(shù)的幅值的位數(shù)中的至少一者相對(duì)應(yīng)的碼 字;以及以二進(jìn)制形式寫入所述非零AC系數(shù)的所述幅值。
      10.如權(quán)利要求8所述的方法,其特征在于,進(jìn)一步包括將所述至少一個(gè)DCT系數(shù)與零比較;檢測(cè)到非零系數(shù),并且獲得和寫入與給定序列中在所述非零AC系數(shù)之前的所述連續(xù) 的零值A(chǔ)C系數(shù)數(shù)目和所述用于編碼非零AC系數(shù)的幅值的位數(shù)中的至少一者相對(duì)應(yīng)的碼 字;以及以二進(jìn)制形式寫入所述非零AC系數(shù)的所述幅值。
      11.一種包括上面存儲(chǔ)有指令的存儲(chǔ)介質(zhì)的制品,所述指令在被機(jī)器執(zhí)行時(shí)導(dǎo)致以下 操作將數(shù)據(jù)從第一色彩空間轉(zhuǎn)換至第二色彩空間以產(chǎn)生經(jīng)轉(zhuǎn)換數(shù)據(jù);在離散余弦變換(DCT)處接收所述經(jīng)轉(zhuǎn)換數(shù)據(jù),所述DCT被配置成產(chǎn)生至少一個(gè)DCT 系數(shù);以及在量化器處接收來(lái)自所述離散余弦變換的所述至少一個(gè)DCT系數(shù),所述量化器被配置 成量化所述至少一個(gè)DCT系數(shù),并將至少一個(gè)經(jīng)量化的系數(shù)提供給熵編碼器,所述熵編碼 器包括與用于編碼非零AC系數(shù)的幅值的位數(shù)相對(duì)應(yīng)的第一霍夫曼表。
      12.如權(quán)利要求11所述的制品,其特征在于,所述熵編碼器進(jìn)一步包括與給定序列中 在所述非零AC系數(shù)之前的連續(xù)的零值A(chǔ)C系數(shù)數(shù)目相對(duì)應(yīng)的第二霍夫曼表。
      13.如權(quán)利要求11所述的制品,其特征在于,所述熵編碼器被配置成向輸出流中寫入 至少一個(gè)零,所述至少一個(gè)零與給定序列中在所述非零AC系數(shù)之前的連續(xù)的零值A(chǔ)C系數(shù) 數(shù)目相對(duì)應(yīng)。
      14.如權(quán)利要求12所述的制品,其特征在于,進(jìn)一步包括將所述至少一個(gè)DCT系數(shù)與零比較;將與給定序列中在所述非零AC系數(shù)之前的所述連續(xù)的零值A(chǔ)C系數(shù)數(shù)目相對(duì)應(yīng)的計(jì)數(shù) 器增大;如果給定序列中在所述非零AC系數(shù)之前的連續(xù)的零值A(chǔ)C系數(shù)數(shù)目大于給定閾值且不 是塊結(jié)束(EOB),則修改所述計(jì)數(shù)器;檢測(cè)到非零系數(shù),并且獲得和寫入與給定序列中在所述非零AC系數(shù)之前的所述連續(xù) 的零值A(chǔ)C系數(shù)數(shù)目和所述用于編碼非零AC系數(shù)的幅值的位數(shù)中的至少一者相對(duì)應(yīng)的碼 字;以及以二進(jìn)制形式寫入所述非零AC系數(shù)的所述幅值。
      15.如權(quán)利要求13所述的制品,其特征在于,進(jìn)一步包括將所述至少一個(gè)DCT系數(shù)與零比較;檢測(cè)到非零系數(shù),并且獲得和寫入與給定序列中在所述非零AC系數(shù)之前的所述連續(xù) 的零值A(chǔ)C系數(shù)數(shù)目和所述用于編碼非零AC系數(shù)的幅值的位數(shù)中的至少一者相對(duì)應(yīng)的碼 字;以及以二進(jìn)制形式寫入所述非零AC系數(shù)的所述幅值。全文摘要
      本發(fā)明提供一種用于數(shù)據(jù)壓縮的方法。在一個(gè)實(shí)施例中,該方法可包括將來(lái)自第一色彩空間的數(shù)據(jù)轉(zhuǎn)換至第二色彩空間以產(chǎn)生經(jīng)轉(zhuǎn)換數(shù)據(jù)。該方法可進(jìn)一步包括在離散余弦變換(DCT)處接收所述經(jīng)轉(zhuǎn)換數(shù)據(jù),所述DCT被配置成產(chǎn)生至少一個(gè)DCT系數(shù)。該方法還可包括在量化器處接收來(lái)自所述離散余弦變換的所述至少一個(gè)DCT系數(shù),所述量化器被配置成量化所述至少一個(gè)DCT系數(shù),并將至少一個(gè)經(jīng)量化的系數(shù)提供給熵編碼器,所述熵編碼器包括與用于編碼非零AC系數(shù)的幅值的位數(shù)相對(duì)應(yīng)的第一霍夫曼表。
      文檔編號(hào)H03M7/42GK101919252SQ200880125325
      公開(kāi)日2010年12月15日 申請(qǐng)日期2008年1月18日 優(yōu)先權(quán)日2008年1月18日
      發(fā)明者A·M·特里科夫, A·S·烏哈諾夫, A·V·謝爾蓋弗 申請(qǐng)人:英特爾公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1