色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ATmegal28的LED顯示屏圖像數(shù)據(jù)解碼設(shè)計

          基于ATmegal28的LED顯示屏圖像數(shù)據(jù)解碼設(shè)計

          作者: 時間:2013-01-18 來源:網(wǎng)絡(luò) 收藏

          軟件事先構(gòu)造出不同碼長下的哈夫曼碼字的最小值表和最大值表

            在解碼的時候,讀取1串二進(jìn)制數(shù)據(jù),分別與各碼長下的最大值和最小值進(jìn)行比較,如果在哈夫曼表中沒有該碼長的碼字,說明該比特數(shù)據(jù)不是完整的Huff_man編碼,接著讀取下一個比特數(shù)據(jù)加在前面的比特數(shù)據(jù)組成的新的碼字,然后再在最小值表和最大值表中進(jìn)行查找,直至找到確切的碼字。最后把該碼字減去同一碼長下最小值,加上此最小值在哈夫曼表中的索引即可得到該碼字在編碼表中的位置。

            2.2 IDCT變換的實現(xiàn)

            將8×8塊中的顏色分量單元的64個值逐一乘以對應(yīng)的量化表內(nèi)位置相同的系數(shù),然后再將64個數(shù)據(jù)進(jìn)行Z字型的重新排列,進(jìn)行IDCT變換。IDCT的運(yùn)算量很大,其中要進(jìn)行大量的浮點乘法和加法運(yùn)算,因而在解碼過程中IDCT所占時間最多。采用行列分解法先將二維IDCT分解成一維8點的IDCT,對于一維8點IDCT采用Loeffler的快速算法。圖2為Loef—fler算法的流程圖,Loeffler算法運(yùn)算因子的解釋如圖3 所示。

          Loef

          Loeffler算法運(yùn)算因子的解釋

            直接對旋轉(zhuǎn)因子進(jìn)行計算需要4次乘法和2次加法,這樣1次8個點的一維IDCT變換總共需要14次乘法和26次加法??梢詫πD(zhuǎn)因子進(jìn)行變形如式(1)所示:

          公式

            從而1次旋轉(zhuǎn)因子計算只需要3次乘和3次加。進(jìn)而進(jìn)行1次一維IDCT只需11次乘和29次加。因為乘法運(yùn)算的代價高于加法運(yùn)算,所以這種變形是有益的。完成一次二維的IDCT運(yùn)算總共要進(jìn)行16次的8點一維IDCT運(yùn)算。由于在速度方面的限制,在IDCT運(yùn)算過程中把浮點操作改進(jìn)為整形運(yùn)算,并且把公式的值擴(kuò)大211倍存儲起來,為IDCT運(yùn)算做準(zhǔn)備。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉