專利名稱:一種jpeg圖像解碼器的vlsi系統(tǒng)結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型屬于數(shù)字圖像處理領(lǐng)域,涉及到一種JPEG圖像解碼器的VLSI系統(tǒng)結(jié) 構(gòu)及其實(shí)現(xiàn)方法。具體地說(shuō)涉及采用Verilog HDL語(yǔ)言實(shí)現(xiàn)JPEG解碼器的硬件實(shí)現(xiàn)。
背景技術(shù):
JPEG 全名為 Joint Photographic Experts Group (聯(lián)合圖像專家組),它是一個(gè) 在國(guó)際化標(biāo)準(zhǔn)組織(ISO)下從事靜態(tài)圖像壓縮制定的委員會(huì)。它制定出了第一套國(guó)標(biāo)靜態(tài) 圖像壓縮標(biāo)準(zhǔn)ISO 10918-1,簡(jiǎn)稱JPEG。JPEG標(biāo)準(zhǔn)包括多種不同的壓縮方式,其中基準(zhǔn)壓縮過(guò)程得到了最廣泛的應(yīng)用。大 多數(shù)現(xiàn)在的視頻壓縮技術(shù)(如MJPEG,MPEG-1/2)都采用了 JPEG的基準(zhǔn)壓縮過(guò)程。在當(dāng)今 的多媒體技術(shù)中JPEG圖像有著廣泛的應(yīng)用。利用它,可以在顯著提高壓縮效率(25 1) 的同時(shí),獲得較好的圖像效果,從而可以大大減少在存儲(chǔ)和傳輸圖像數(shù)據(jù)所需的存儲(chǔ)空間 和帶寬。隨著近幾年技術(shù)的發(fā)展,便攜式電子產(chǎn)品越來(lái)越受到重視,這就客觀上對(duì)JPEG圖 像文件的解碼速率和效果提出了更高的要求。JPEG解碼方式主要有三種,一是傳統(tǒng)的純軟 件解碼,二是通過(guò)MCU控制DSP來(lái)實(shí)現(xiàn),三是通過(guò)專用解碼芯片實(shí)現(xiàn)。由于第三種方式相對(duì) 于其他兩種有著很大的價(jià)格優(yōu)勢(shì),使得在現(xiàn)今的便攜式電子產(chǎn)品中,專用解碼芯片正在成 為主流?,F(xiàn)有市場(chǎng)上的的專用解碼芯片大多數(shù)都是由國(guó)外廠商設(shè)計(jì)并制造的,少數(shù)國(guó)產(chǎn)芯 片其優(yōu)化算法和設(shè)計(jì)方案也都是不公開的。制約JPEG圖像解碼速率的瓶頸主要集中于標(biāo) 準(zhǔn)中的huffman解碼以及IDCT(反離散余弦變換)這兩部分。其中huff man解碼為變長(zhǎng)游 程解碼,IDCT則一次需要64個(gè)系數(shù)才能完成一次計(jì)算。為了解決上述難題,現(xiàn)今方案,一 般采用并行模塊的方式進(jìn)行處理,但這樣不可避免地造成了芯片面積的擴(kuò)大,從而使得芯 片的成本大大增加。
實(shí)用新型內(nèi)容本實(shí)用新型的目的在于解決現(xiàn)有解碼芯片設(shè)計(jì)方案上的不足之處,提供一種結(jié)構(gòu) 清晰,運(yùn)行速度塊,既能高速,有效的對(duì)JPEG圖像文件進(jìn)行壓縮,同時(shí)還能節(jié)省芯片面積的 JPEG圖像解碼器的VLSI系統(tǒng)結(jié)構(gòu)及其實(shí)現(xiàn)方法。為實(shí)現(xiàn)上述目的,本實(shí)用新型采用如下技術(shù)方案一種JPEG圖像解碼器的VLSI系統(tǒng)結(jié)構(gòu),該實(shí)現(xiàn)方法包括以下步驟Stepl 從外部輸入的比特?cái)?shù)據(jù)流,首先進(jìn)入到輸入FIFO中,然后頭碼流解析模塊 對(duì)輸入緩沖器的輸出數(shù)據(jù)按照J(rèn)FIF文件格式進(jìn)行解析;St印2 在頭碼流解析完后,進(jìn)入到熵解碼模塊;Step3 在完成熵解碼后,將得到的非零系數(shù)進(jìn)行解量化操作;St印4 在完成解量化后,進(jìn)入到反zigzag變換單元;St印5:在完成反zigzag變換后,將得到的非零系數(shù)和當(dāng)前系數(shù)在模塊里64個(gè)參
3數(shù)的位置(COefT_Cnt) —起輸入到IDCT反離散余弦變換模塊,進(jìn)行反離散余弦變換;St印6 經(jīng)過(guò)IDCT變換后,得到了原始的經(jīng)過(guò)降低分辨率的YCbCr色域的圖像信 息;St印7 經(jīng)過(guò)解采樣,得到了每個(gè)像素的Y,Cb,Cr分量;在得到了每個(gè)像素的Y,Cb, Cr分量后,將每個(gè)像素點(diǎn)的Y,Cb, Cr分量的值轉(zhuǎn)換為R,G,B分量的值。在所述stepl中,頭碼流解析模塊采用了雙重存儲(chǔ)器,用來(lái)存儲(chǔ)頭碼流中包含的 各種信息;并且采用一個(gè)碼流標(biāo)志位0或者1跟隨處理中的碼流,通過(guò)判斷當(dāng)前處理碼流的 標(biāo)志位,用來(lái)決定采用雙重存儲(chǔ)器中的其中一組數(shù)據(jù)進(jìn)行解碼。雙重存儲(chǔ)器應(yīng)用于huffman解碼系數(shù)存儲(chǔ)器和量化系數(shù)存儲(chǔ)器;在解析頭碼流過(guò) 程中采用最高地址位的0-1變換實(shí)現(xiàn)分離存儲(chǔ)兩組來(lái)自兩幅圖像的huffman解碼系數(shù)和來(lái) 自兩幅圖像的量化系數(shù),并在解碼使用過(guò)程中采用碼流標(biāo)志位的方式,實(shí)現(xiàn)正確系數(shù)的讀 取。在所述stepl中,在熵解碼中的對(duì)于huffman解碼采用96bits緩沖移位寄存器, 并根據(jù)解碼數(shù)據(jù)長(zhǎng)度分別將碼字長(zhǎng)度16bits的rd_word,碼字長(zhǎng)度Sbits的rd_byte,碼字 長(zhǎng)度小于Sbits的rd_bits置高電平,反饋到96bits緩沖移位寄存器,使其讀入新的等長(zhǎng) 有效數(shù)據(jù)。在所述Step5中,在IDCT反離散余弦變換模塊的輸入端,伴隨待解碼的非零數(shù)據(jù) 輸出Sbit計(jì)數(shù)器,用來(lái)表示當(dāng)前非零系數(shù)在整個(gè)待解碼模塊64輸入系數(shù)中的位置。在所述的St印7中,轉(zhuǎn)換公式為R = Y+1. 402 · (Cr-128)G = Y-0. 34414 · (Cb_128)-0. 71414 · (Cr-128)B = Y+1. 772 · (Cb-128)其中R,G,B分別代表了像素點(diǎn)的紅色,綠色和藍(lán)色分量; Y,Cb,Cr分別代表了像素點(diǎn)的亮色分量和兩個(gè)色度分量;為了使RGB得到的數(shù)據(jù)為正數(shù),在 等式右邊的色度分量都減去了 128。一種JPEG圖像解碼器的VLSI系統(tǒng)結(jié)構(gòu),采用了流水線的設(shè)計(jì)方式,包括頭碼流 解析模塊,解量化模塊,熵解碼模塊,反zigzag變換模塊,IDCT反離散余弦變換模塊,解采 樣模塊,色域轉(zhuǎn)換模塊。從外部輸入的比特?cái)?shù)據(jù)流,首先經(jīng)由輸入FIFO緩沖后進(jìn)入頭碼流 解析模塊;在頭碼流解析完成后,隨后輸入FIFO的輸出數(shù)據(jù)流進(jìn)入熵解碼模塊(在該模塊 執(zhí)行過(guò)程中調(diào)用了頭碼流解析模塊產(chǎn)生的HT系數(shù));熵解碼后的數(shù)據(jù)進(jìn)入到解量化模塊 (在該模塊執(zhí)行過(guò)程中調(diào)用了頭碼流解析模塊產(chǎn)生的QT系數(shù));解量化后的數(shù)據(jù)流進(jìn)入反 zigzag變換模塊,進(jìn)行反zigzag變換;在完成反zigzag變換后進(jìn)入IDCT反離散余弦變換 模塊;經(jīng)過(guò)IDCT反離散余弦變換后,得到Y(jié)CbCr色域的圖像信息;圖像信息進(jìn)入解采樣模 塊后進(jìn)行解采樣(在該模塊執(zhí)行過(guò)程中調(diào)用了頭碼流解析模塊產(chǎn)生的采樣方式);解采樣 后的信息進(jìn)入色域轉(zhuǎn)換模塊,進(jìn)行色域轉(zhuǎn)后;進(jìn)入顯示模塊(在該模塊執(zhí)行過(guò)程中調(diào)用了 頭碼流解析模塊產(chǎn)生的圖像的寬度和高度信息)。在任意的兩個(gè)相連的模塊之間引入了前端數(shù)據(jù)有效標(biāo)志和后端模塊空閑標(biāo)志,在 同步時(shí)鐘控制下,只有兩者都為有效時(shí),才會(huì)在兩個(gè)模塊間進(jìn)行數(shù)據(jù)傳輸。本實(shí)用新型的有益效果是在設(shè)計(jì)中,采用流水線設(shè)計(jì),配合頭碼流的雙重存儲(chǔ)器 設(shè)計(jì),無(wú)論是一副圖像里面的數(shù)據(jù),還是兩幅圖像的數(shù)據(jù),都可以近似實(shí)現(xiàn)數(shù)據(jù)不停滯的處理。另外,由于IDCT模塊的輸入系統(tǒng)中,相當(dāng)多的一部分系數(shù)為零,因此在除去多余的零系 數(shù)后,大大加快了數(shù)據(jù)的處理速度。通過(guò)上面的設(shè)計(jì),在不通過(guò)增加并行模塊的同時(shí),提升 了解碼速率,使其效果近似等同于采用并行模塊時(shí),從而減少了芯片面積,大大降低了芯片 成本。
圖1為系統(tǒng)整體設(shè)計(jì)圖;圖2為頭碼流解析單元狀態(tài)轉(zhuǎn)移圖;圖3為JFIF格式中各種段的標(biāo)識(shí)符;圖4為反zigzag變換排序圖;圖5為反zigzag變換系數(shù)順序計(jì)數(shù)變換圖;圖6為二維IDCT模塊系統(tǒng)結(jié)構(gòu)圖;圖7為一維IDCT模塊中的乘加運(yùn)算結(jié)構(gòu)電路圖;圖8為JPEG采樣方式示意圖;其中,圖1中,1輸入FIFO模塊,2頭碼流解析模塊,3熵解碼模塊,4解量化模塊,5 反zigzag變換模塊,6IDCT反離散余弦變換模塊,7解采樣模塊,8色域轉(zhuǎn)換模塊,9顯示模 塊。
具體實(shí)施方式
以下結(jié)合附圖與實(shí)施例對(duì)本實(shí)用新型做進(jìn)一步說(shuō)明。首先結(jié)合圖1對(duì)本實(shí)施例的整體過(guò)程進(jìn)行簡(jiǎn)單描述。圖1中,HT代表了 huffman 表,QT代表了量化表。最開始從外部輸入的為8比特的數(shù)據(jù)流,首先進(jìn)入到輸入FIFO模塊 1中,然后頭碼流解析模塊2對(duì)輸入FIFO模塊1的輸出數(shù)據(jù)按照J(rèn)FIF文件格式進(jìn)行解析。 在此過(guò)程中,采用的狀態(tài)機(jī)轉(zhuǎn)移圖如圖2所示。采用JFIF格式的JPEG文件的頭碼流是分為 一個(gè)一個(gè)的段來(lái)存儲(chǔ)的(但并不是全部都是段),每個(gè)段的開頭有兩個(gè)字節(jié)長(zhǎng)的標(biāo)識(shí)符。每 個(gè)標(biāo)識(shí)符的第一個(gè)字節(jié)都是十六進(jìn)制OxFF。第二個(gè)字節(jié)根據(jù)當(dāng)前段內(nèi)數(shù)據(jù)的不同,各自對(duì) 應(yīng)著各自的值。首先,狀態(tài)機(jī)處于開始狀態(tài),檢測(cè)輸入的字節(jié)是否為OxFF。如果不是的話, 保持開始狀態(tài)等待下一字節(jié)的到來(lái),如果是OxFF的話,狀態(tài)轉(zhuǎn)移到讀取標(biāo)識(shí)符的后一個(gè)字 節(jié)。根據(jù)此字節(jié)值的不同,跳轉(zhuǎn)到不同的狀態(tài)。并在每個(gè)段讀取完畢后,回到開始狀態(tài),等 待下一個(gè)段的到來(lái)。一直在讀取到SOS段時(shí),此時(shí)解析出SOS段的信息后才真正進(jìn)入到代 表圖像數(shù)據(jù)的碼流。并將狀態(tài)機(jī)置于空閑狀態(tài)。在eob信號(hào)(一副圖像解碼結(jié)束標(biāo)志位) 置高后,回到開始狀態(tài),等待下一幅新的圖像的到來(lái)。圖3給出了不同標(biāo)識(shí)碼代表的不同段 的含義。另外為了實(shí)現(xiàn)對(duì)兩幅前后不同圖像的同時(shí)處理,頭碼流解析出的信息都采用了雙 重存儲(chǔ)器進(jìn)行存儲(chǔ)。即在存儲(chǔ)器地址的最高位再添加1比特。利用這1比特置為0或者1 來(lái)分別存儲(chǔ)從兩幅圖像解析出的不同的圖像信息。在碼流解碼的過(guò)程中,隨之在流水線中 一起運(yùn)動(dòng)的還包括一比特的圖片標(biāo)志位。利用該標(biāo)志位,可以在解碼過(guò)程中正確選擇使用 來(lái)自兩幅不同圖像的量化表(QT)或者哈夫曼表(HT)等其他信息。JPEG圖像數(shù)據(jù)經(jīng)由輸入FIFO模塊1緩沖后輸入到熵解碼模塊3。JPEG標(biāo)準(zhǔn)中熵解
5碼包括了 huffman解碼與游程解碼和變長(zhǎng)解碼。首先,根據(jù)頭碼流解析DHT段得到的1_16 長(zhǎng)度的碼字的個(gè)數(shù),構(gòu)造出1-16長(zhǎng)度的最小碼流,其構(gòu)造原理主要依據(jù)范式huffman編碼 的幾個(gè)特性(1)長(zhǎng)度為N的第一個(gè)碼字f (N)能從長(zhǎng)度為N-I的最后一個(gè)碼字,即f (N)= 2 (f (N-I) +1),其中,f (N-I)為N-I長(zhǎng)度的最后一個(gè)碼字。(2)相同長(zhǎng)度的碼字必須是連續(xù)整數(shù)的二進(jìn)制描述。即如果f (N)為長(zhǎng)度為N的 第一個(gè)碼字,則其他長(zhǎng)度為N的碼字則為f (N)+l,f(N)+2, f(N)+3等等。(3)碼字長(zhǎng)度最小的第一個(gè)編碼從零開始。依據(jù)上面所述的三個(gè)特性,以碼字長(zhǎng)度最小的第一個(gè)編碼為零(假設(shè)此時(shí)長(zhǎng)度為 i),然后,按照第(2)條特性,設(shè)定16比特計(jì)數(shù)器cntl,在零的基礎(chǔ)上依次加1。待長(zhǎng)度為 i的編碼全部產(chǎn)生后,將計(jì)數(shù)器加1,并左移一位,即得到了(i+1)長(zhǎng)度的最小碼流。依次類 推,從而建立起各種長(zhǎng)度的碼流與碼字一一對(duì)應(yīng)的huffman碼字表。等待96bits的緩沖移 位寄存器內(nèi)部數(shù)據(jù)有效后,按照從高字節(jié)到低字節(jié)的順序通過(guò)比較器按照碼字長(zhǎng)度從小到 大的順序依次與最小碼流進(jìn)行比較,當(dāng)M比特長(zhǎng)的碼流大于M比特長(zhǎng)的最小碼流,但M+1比 特長(zhǎng)的碼流小于M+1長(zhǎng)度的最小碼流時(shí),確定當(dāng)前碼流長(zhǎng)度為M(此時(shí)通過(guò)比較器的異或結(jié) 果實(shí)現(xiàn))。根據(jù)M的大小,控制rd_word, rd_byte,rd_bits的值,并反饋到96bits長(zhǎng)的緩 沖移位寄存器的控制部分,使其讀入新的M長(zhǎng)度比特?cái)?shù)據(jù)。在確定當(dāng)前碼流長(zhǎng)度為M后,將 M比特的當(dāng)前碼流與M比特的最小碼字相減,得到的數(shù)據(jù)為地址偏移量addr_0Ver。將地址 偏移量addr_0Ver加上M比特最小碼流addr_M的地址后,得到新的地址。按照新地址讀 取存儲(chǔ)huffman碼字表的存儲(chǔ)器單元(SRAM),就會(huì)得到解碼后的Sbit碼字。根據(jù)得到的 碼字,高4比特可以確定當(dāng)前系數(shù)前端零的個(gè)數(shù),低4比特表示后端代表當(dāng)前系數(shù)的碼流長(zhǎng) 度。將得到高4比特?cái)?shù)據(jù)+1,并通過(guò)計(jì)數(shù)器COeff_Cnt2累計(jì)疊加,這樣,該計(jì)數(shù)器數(shù)值的 大小(0-63),代表了解碼后得到的系數(shù)在當(dāng)前8*8解碼模塊中的位置。將計(jì)數(shù)器的數(shù)值伴 隨通過(guò)低4比特解碼后得到的參數(shù)一起輸出后,可以將一個(gè)模塊64個(gè)系數(shù)中的非零系數(shù)去 除。由于此時(shí)的系數(shù)為頻域系數(shù),其中包含有大量的零系數(shù),通過(guò)此項(xiàng)措施,減少了相當(dāng)一 部分的數(shù)據(jù)傳輸,從而大大提高了解碼速率。在完成熵解碼后,得到的非零系數(shù)進(jìn)入解量化模塊4進(jìn)行解量化操作,此時(shí),每個(gè) 非零系數(shù)都伴隨著表示其在模塊中順序的數(shù)值COeff_Cnt2。因此將COeff_Cnt2作為存儲(chǔ) 量化表的存儲(chǔ)器的地址信號(hào),就可輕松的將與非零系數(shù)對(duì)應(yīng)的量化系數(shù)讀取出來(lái)。輸出到 乘法器的輸出端,將量化系數(shù)與頻域參數(shù)相乘,從而完成解量化的操作。在完成解量化后,進(jìn)入到反zigzag變換模塊5。通過(guò)此次變換,將按串行順序排列 的64個(gè)頻域系數(shù),按照如圖4中箭頭所示的方式組合成一個(gè)8*8的模塊。由于在本設(shè)計(jì)中 并沒有按照順序依次輸出64個(gè)頻域系數(shù),而是采用伴隨表示頻域系數(shù)在64在模塊的位置 信息的方式,因此在解量化后得到的數(shù)據(jù)只有非零數(shù)據(jù),所以,在此處,只需按照?qǐng)D5中的 對(duì)應(yīng)方式,將每個(gè)非零系數(shù)伴隨的COeff_Cnt2的值按照對(duì)應(yīng)關(guān)系變換成COeff_Cnt即可。 對(duì)應(yīng)關(guān)系如圖5所示,其中外圍為COeff_Cnt的值,內(nèi)部8*8模塊粗體字為COeff_Cnt2的 值。在完成反zigzag變換后,將得到的非零系數(shù)和COefT_Cnt輸入到IDCT反離散余 弦變換模塊6中,進(jìn)行反離散余弦變換。其模塊系統(tǒng)架構(gòu)如圖6所示。在系統(tǒng)架構(gòu)中,將二維IDCT變換通過(guò)進(jìn)行兩次一維IDCT變換來(lái)完成。同時(shí)在設(shè)計(jì)一維IDCT變換時(shí)采用了全 流水線的方式進(jìn)行設(shè)計(jì)。在ID-IDCT模塊中,如果每個(gè)時(shí)鐘周期輸入一個(gè)解碼模塊的頻域 系數(shù),這些系數(shù)被送入到一個(gè)8比特寬度,8字節(jié)深度的移位寄存器,這樣每過(guò)8個(gè)周期后, 移位寄存器都將會(huì)輸出頻域系數(shù)矩陣中的一行數(shù)據(jù)。即圖7中的Zin。將移位輸出的一行 數(shù)據(jù),即(Zcik Z7K)輸入到圖7所示的乘加運(yùn)算單元電路數(shù)據(jù)。這樣每個(gè)周期后Zout都將 輸出一個(gè)運(yùn)算后的數(shù)據(jù),此數(shù)據(jù)即為ID-IDCT后的數(shù)據(jù)。圖7中的1,2,3,4,5,6,7,8代表 了經(jīng)過(guò)量化后的8個(gè)余弦系數(shù)序列。其數(shù)據(jù)如下, 圖7中的1代表了第一行,2代表了第2行,依次類推,8代表了第8行。將ID-IDCT的數(shù)據(jù)存儲(chǔ)到系數(shù)緩沖轉(zhuǎn)置存儲(chǔ)器。在此存儲(chǔ)器中,通過(guò)讀地址的倍 數(shù)跳變,實(shí)現(xiàn)數(shù)據(jù)依次讀出時(shí)的轉(zhuǎn)置。將系數(shù)緩沖轉(zhuǎn)置存儲(chǔ)器的輸出數(shù)據(jù)按照第一次的方 式同樣經(jīng)過(guò)一個(gè)8比特寬度,8字節(jié)深度的移位寄存器后輸入到圖7所示的乘加電路中, 再次進(jìn)行一維IDCT變換,再次得到的Z。ut即為完成2D-IDCT后的輸出數(shù)據(jù),不過(guò)在第2次 ID-IDCT過(guò)程中圖7中1,2,3,4,5,6,7,8這8個(gè)余弦系數(shù)序列有了。如下所示 經(jīng)過(guò)IDCT變換后,已經(jīng)得到了原始的經(jīng)過(guò)降低分辨率的YCbCr色域的圖像信息。 在JPEG標(biāo)準(zhǔn)中,常用的采樣方式有三種,如圖8所示,其中X號(hào)代表了在Y分量的采樣點(diǎn), 而〇代表了 Cb和Cr的采樣點(diǎn)。其中的“4:2:0”方式在采樣過(guò)程中是取一個(gè)2*2的像素塊 中四個(gè)像素的Cb的平均值作為1個(gè)Cb的采樣點(diǎn),取一個(gè)2*2的像素塊中四個(gè)像素的Cr的 平均值作為1個(gè)Cr的采樣點(diǎn);“4:2:2”方式在采樣過(guò)程中是取一個(gè)2*1的像素塊中兩個(gè)像 素的Cb的平均值作為1個(gè)Cb的采樣點(diǎn),取一個(gè)2*1的像素塊中兩個(gè)像素的Cr的平均值作 為1個(gè)Cr ;“4:4:4”方式則是取每個(gè)像素點(diǎn)的Cb和Cr作為當(dāng)前像素點(diǎn)的Cb與Cr。解采 樣的過(guò)程對(duì)于“4:2:0”方式就是將從IDCT模塊得到的2*2的像素塊中四個(gè)像素的Cr和Cb 的平均值作為此像素塊中4個(gè)像素本身的Cb和Cr的值,使得每一個(gè)像素點(diǎn)都有其完備的 的YCbCr分量;對(duì)于“4:2:2”方式就是將從IDCT模塊得到的2*1的像素塊中兩個(gè)像素的Cb 和Cr的平均值作為像素塊中2個(gè)像素本身的Cb和Cr的值,使得每一個(gè)像素點(diǎn)都有其完備 的的YCbCr分量;對(duì)于“4:4:4”方式則無(wú)需解采樣。經(jīng)過(guò)解采樣模塊7后,就得到了每個(gè)像素的Y,Cb,Cr分量。在得到了每個(gè)像素的Y,Cb, Cr分量后,YCbCr色域的圖像信息進(jìn)入色域轉(zhuǎn)換模塊 8,按照下述公式的轉(zhuǎn)換關(guān)系,就可以將每個(gè)像素點(diǎn)的Y,Cb, Cr分量的值轉(zhuǎn)換為R,G,B分量 的值,進(jìn)而進(jìn)入顯示模塊9進(jìn)行顯示。至此,一種JPEG圖像解碼器的VLSI系統(tǒng)的功能已經(jīng) 全部完成。R = Y+1. 402 · (Cr-128)G = Y-0. 34414 · (Cb_128)-0. 71414 · (Cr-128)B = Y+1. 772 · (Cb-128)其中R,G,B分別代表了像素點(diǎn)的紅色,綠色和藍(lán)色分量。Y,Cb, Cr分別代表了像 素點(diǎn)的亮色分量和兩個(gè)色度分量(為了使RGB得到的數(shù)據(jù)為正數(shù),在等式右邊的色度分量 都減去了 128)。
權(quán)利要求一種JPEG圖像解碼器的VLSI系統(tǒng)結(jié)構(gòu),包括依次連接的輸入FIFO模塊、熵解碼模塊、解量化模塊、反zigzag變換模塊、IDCT反離散余弦變換模塊、解采樣模塊、色域轉(zhuǎn)換模塊、顯示模塊;輸入FIFO模塊,熵解碼模塊,解量化模塊,解采樣模塊和顯示模塊還分別連接到頭碼流解析模塊。
專利摘要本實(shí)用新型公開了一種JPEG圖像解碼器的VLSI系統(tǒng)結(jié)構(gòu)。它主要包括輸入FIFO模塊、頭碼流解析模塊、熵解碼模塊、解量化模塊、反zigzag變換模塊、反離散余弦變換模塊、解采樣模塊、色域轉(zhuǎn)換模塊和顯示模塊。本實(shí)用新型在整體設(shè)計(jì)上采用了流水線設(shè)計(jì),可同時(shí)連續(xù)處理多幅圖像;在熵解碼模塊中的huffman解碼中采用多字節(jié)緩沖,解碼字長(zhǎng)反饋的方式,提高了huffman解碼模塊的運(yùn)行速率;在反離散余弦變換模塊加入了待解碼系數(shù)計(jì)數(shù)表示,結(jié)合模塊數(shù)據(jù)結(jié)束標(biāo)志的方法,實(shí)現(xiàn)了只有非零系數(shù)數(shù)據(jù)輸入,使得單個(gè)解碼模塊的數(shù)據(jù)輸入的周期大大縮短,有效提高了解碼速率,很好的改善了整體的解碼速度。通過(guò)仿真驗(yàn)證,在100MHz時(shí)鐘頻率下,本實(shí)用新型可實(shí)現(xiàn)800*600分辨率下,每秒60fps的解碼效果。
文檔編號(hào)H04N7/26GK201657223SQ20102013494
公開日2010年11月24日 申請(qǐng)日期2010年3月19日 優(yōu)先權(quán)日2010年3月19日
發(fā)明者楊立政, 王洪君, 趙立歧 申請(qǐng)人:山東大學(xué)