專利名稱:圖像壓縮/解壓縮的方法、裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于視頻編解碼技術(shù)領(lǐng)域,尤其涉及一種3見(jiàn)頻編解碼系統(tǒng)及其圖像 中宏塊內(nèi)部的像素點(diǎn)的亮度值進(jìn)行壓縮/解壓縮的方法、裝置。
背景技術(shù):
現(xiàn)有的視頻編解碼標(biāo)準(zhǔn),如H.264, H.263, XVID, RMVB,移動(dòng)影像專 家組(MovingPicture Experts Group, MPEG)等,其編解碼流程都符合圖l所 示在解碼過(guò)程中,必須把之前解碼好的幀數(shù)據(jù)作為新的解碼幀的參考幀。解 碼過(guò)程中產(chǎn)生的數(shù)據(jù)流——?dú)埐钪狄约坝?jì)算好的宏塊(Macro Block, MB)值 都在線上,即存儲(chǔ)于視頻編解碼硬件設(shè)備的寄存器或者同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器 (Synchronous Dynamic Random Access Memory, SDRAM)等片上內(nèi)存中。對(duì) 于容量大的參考幀(l幀,P幀,B幀)則必須存儲(chǔ)于片外內(nèi)存中。隨著集成電 路技術(shù)的不斷發(fā)展,運(yùn)算電路的性能獲得輕而易舉的提高,但是內(nèi)存訪問(wèn)技術(shù), 一直都是業(yè)界的一個(gè)瓶頸。因此一個(gè)視頻解碼系統(tǒng)中,本地解碼器與片外內(nèi)存 的數(shù)據(jù)交互速度不足,已經(jīng)成為了最大的系統(tǒng)性能瓶頸。同樣地,編碼過(guò)程也 面臨同樣問(wèn)題。因此需要一種對(duì)圖像幀進(jìn)行在線壓縮的方法,來(lái)有效地減少參 考幀的容量,4C高本地解碼器與片外內(nèi)存的數(shù)據(jù)交互速度。其中該參考幀壓縮 方法必須是低損或者無(wú)損的,因?yàn)橐曨l解碼中,在下一個(gè)I幀到來(lái)前,參考幀 的損失是會(huì)累積的,另外,經(jīng)過(guò)壓縮后的圖像上的每個(gè)像素點(diǎn)的值必須容易進(jìn) 行索引,因?yàn)榻獯a過(guò)程中要求必須能對(duì)參考幀進(jìn)行方便的,隨意的逐點(diǎn)索引。
現(xiàn)有技術(shù)提供了幾種幀壓縮的方法第一種,有損圖像壓縮,如靜態(tài)影像 壓縮標(biāo)準(zhǔn)(Joint Photographic Experts Group, JPEG) , JPEG 2000,該方法壓縮
率很高,但是有損失,在解壓前,無(wú)法隨意對(duì)圖像中的像素點(diǎn)進(jìn)行索引;第二
8種,無(wú)損或微損視頻壓縮,如基于內(nèi)容自適應(yīng)的無(wú)損圖像編碼(Context-Based, Adaptive, Lossless Image Coding, CALIC) , 4關(guān)合圖^象專家組_無(wú)損格式(Joint Photographic Experts Group Lossless, jpeg-ls), 壓纟宿率也t匕舉交高且無(wú)才員, <旦是 在解壓前,無(wú)法隨意對(duì)圖像中的點(diǎn)進(jìn)行索引;第三種,索引類(lèi)壓縮方法,如S3 紋理壓縮(S3 Texture Compression, S3TC)等紋理壓縮方法,該方法采用索引壓 縮方法,壓縮率在1:4以上,同時(shí)對(duì)圖像內(nèi)的點(diǎn)也比較容易索引,但是該方法 是針對(duì)圖形學(xué)中的紋理進(jìn)行壓縮,圖像損失較大,同時(shí),該方法的量化索引值 是建立在RGB域,要兼顧透明度通道(Alpha channel, alpha)的壓縮(dxtl格 式以上)的,不適合在視頻編解碼領(lǐng)域中采用的YUV格式。同時(shí),S3僅對(duì)該算 法的解碼做了定義,其編碼方法一直都沒(méi)有公開(kāi);第四種,塊截?cái)嗑幋a(Block Truncation Coding, BTC ),每個(gè)像素點(diǎn)需要較少的比特位, 一般的BTC編碼 每個(gè)像素點(diǎn)只用l比特位或者2比特位,多次參考幀產(chǎn)生的累計(jì)誤差大,同時(shí), BTC編碼中關(guān)于各個(gè)量化閾值的計(jì)算需要開(kāi)方運(yùn)算,比較復(fù)雜,另外,BTC碼 一般僅對(duì)4*4的塊進(jìn)行壓縮,因?yàn)锽TC編碼涉及到對(duì)整個(gè)塊的統(tǒng)計(jì)運(yùn)算,所以 假如塊太大,如8*8等塊,釆用BTC編碼進(jìn)行壓縮非常困難??傊?,現(xiàn)有技術(shù) 不能滿足視頻編解碼過(guò)程中對(duì)內(nèi)存帶寬以及容量的需求。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種碎見(jiàn)頻編解碼系統(tǒng)中宏塊壓縮/解壓縮的 方法、裝置,旨在對(duì)視頻幀中的宏塊進(jìn)行低損、可以逐點(diǎn)索引的壓縮,解決視 頻編解碼過(guò)程中對(duì)內(nèi)存帶寬以及容量的需求的問(wèn)題。
本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的, 一種用于視頻編解碼系統(tǒng)中,通過(guò)建立量化 索? 1值表和圖像索引值表,來(lái)對(duì)圖像中宏塊內(nèi)部的像素點(diǎn)的亮度值進(jìn)行壓縮的 方法,所述量化索引值表包括宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和 量化階距中的任意兩個(gè)值,根據(jù)宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值 獲得量化階值,根據(jù)所述量化階值量化所述宏塊內(nèi)部的像素點(diǎn)的亮度值得到所
9述圖像索引值表,其特征在于,所述方法包括下述步驟 獲取宏塊內(nèi)部的像素點(diǎn)的亮度值的最大值和最小值;
根據(jù)所述宏塊內(nèi)部的像素點(diǎn)的亮度值的最大值和最小值,計(jì)算宏塊內(nèi)部的 像素點(diǎn)的亮度值的量化階距以及宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值,并建 立所述量化索引值表;
查找與宏塊中各像素點(diǎn)的亮度值最靠近的所述量化階值,用查找到的最靠 近的所述量化階值作為量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值,并對(duì)所述量化后 的宏塊內(nèi)部的像素點(diǎn)的亮度值建立所述圖像索引值表。
進(jìn)一步地,根據(jù)所述宏塊內(nèi)部的像素點(diǎn)的亮度值的最大值和最小值,計(jì)算 宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階距以及宏塊內(nèi)部的像素點(diǎn)的亮度值的量化 階值的步驟采用均勻量化方式進(jìn)行量化,具體滿足下述公式 Step = (Ymax-Ymin)/15
其中Step是量化階距,Ymax是像素點(diǎn)的最大亮度值,Ymin是像素點(diǎn)的
最小亮度值,15是量化階次。
進(jìn)一步地,根據(jù)所述宏塊內(nèi)部像素點(diǎn)的亮度值的最大值和最小值,計(jì)算宏 塊內(nèi)部的像素點(diǎn)的亮度值的量化階距以及宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階 值的步驟采用分段量化方式進(jìn)行量化,具體滿足下述公式 Step = (Ymax-Ymin)/16
其中Step是宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階距,Ymax是宏塊內(nèi)部的 像素點(diǎn)的最大亮度值,Ymin是宏塊內(nèi)部的像素點(diǎn)的最小亮度值,16是量化階 次。
進(jìn)一步地,在所述宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值中查找與宏塊中 各像素點(diǎn)的亮度值最靠近的宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值,用查找到 的所述最靠近的宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值作為壓縮后的宏塊內(nèi)部 的像素點(diǎn)的亮度值,并對(duì)所述量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值建立圖像索 引值表的步驟具體為量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述公式 Y—compressed = round ((Y一original - Ymin)/step)
其中Y—original為壓縮前的宏塊內(nèi)部的像素點(diǎn)的亮度值,Ymin是宏塊內(nèi)部 的像素點(diǎn)的最小亮度值,Y一compress為壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值, round是四舍五入函凄史。
進(jìn)一步地,在所述宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值中查找與宏塊中 各像素點(diǎn)的亮度值最靠近的宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值,用查找到 的所述最靠近的宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值作為壓縮后的宏塊內(nèi)部 的像素點(diǎn)的亮度值,并對(duì)所述壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值建立圖像索 引值表的步驟具體為
量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述公式
在QL < 8時(shí),壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述的公
式
Y一compressed = min(QL, 7)
在QL> 8時(shí),壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述的公式 Y—compressed = max(QL -1,9)
其中QL是自定義變量,滿足乂>式QL = round((Y—original - Ymin)/step), Y一original為壓縮前的宏塊內(nèi)部的像素點(diǎn)的亮度值,Ymin是壓縮前的宏塊內(nèi)部 的像素點(diǎn)的最小亮度值,Y一compress為壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值。
進(jìn)一步地,所述量化索51值表保存宏塊內(nèi)部的每個(gè)像素點(diǎn)的亮度值的最小 值、最大值和量化階距中的任意兩個(gè)值,所述量化索引值表按照宏塊的逐行掃 描的方式在內(nèi)存中連續(xù)排列。
進(jìn)一步地,所述圖像索引值表保存壓縮后的宏塊內(nèi)部的每個(gè)像素點(diǎn)的亮度 值的量化索引值,所述圖像索引值表按照?qǐng)D像逐行掃描的方式在內(nèi)存中連續(xù)排 列。
本發(fā)明實(shí)施例的目的在于提供一種視頻編解碼系統(tǒng)中宏塊壓縮裝置,旨在
對(duì)視頻幀中的宏塊進(jìn)行低損、可以逐點(diǎn)索引的壓縮,解決視頻編解碼過(guò)程中對(duì)內(nèi)存帶寬以及容量的需求的問(wèn)題。
本發(fā)明實(shí)施例在此提供一種視頻編解碼系統(tǒng)中的宏塊壓縮裝置,所述裝置 包括
亮度值獲取單元,用于獲取宏塊內(nèi)部的像素點(diǎn)的亮度值,以及亮度值的最
大值和最小值;
亮度值的量化階值生成單元,用于根據(jù)所述宏塊內(nèi)部的像素點(diǎn)的亮度值的 最大值和最小值,計(jì)算宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階距以及宏塊內(nèi)部的 像素點(diǎn)的亮度值的量化階值;
量化索引值表生成單元,用于根據(jù)所述宏塊內(nèi)部的像素點(diǎn)的亮度值的最小 值、最大值和量化階距中的任意兩個(gè)值,建立量化索引值表;
圖像索引值表生成單元,用于查找與宏塊中各像素點(diǎn)的亮度值最靠近的所 述量化階值,用查找到的所述量化階值作為量化后的宏塊內(nèi)部的像素點(diǎn)的亮度 值,并對(duì)所述量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值建立圖像索引值表。
進(jìn)一步地,所述亮度值的量化階值生成單元采用均勻量化方式計(jì)算宏塊內(nèi) 部的像素點(diǎn)的亮度值的量化階距,滿足下述公式
其中Step是宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階距,Ymax是宏塊內(nèi)部的 像素點(diǎn)的最大亮度值,Ymin是宏塊內(nèi)部的像素點(diǎn)的最小亮度值,15是量化階 次。 .
進(jìn)一步地,所述亮度值的量化階值生成單元采用分段量化方式計(jì)算宏塊內(nèi) 部的像素點(diǎn)的亮度值的量化階距,滿足下述公式
其中Step是宏塊內(nèi)部的像素點(diǎn)的亮度值量化階距,Ymax是宏塊內(nèi)部的像 素點(diǎn)的最大亮度值,Ymin是宏塊內(nèi)部的像素點(diǎn)的最小亮度值,16是量化階次。
進(jìn)一步地,所述圖像索引值表生成單元在所述宏塊的亮度值的量化階值中 查找與宏塊中各像素點(diǎn)的亮度值最靠近的宏塊的亮度值的量化階值,用查找到
12的所述最靠近的宏塊的亮度值的量化階值作為壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮 度值的過(guò)程具體滿足下述公式
量化后宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述公式 Y_compressed = round((Y—original - Ymin)/step)
其中Y一original為壓縮前的宏塊內(nèi)部的像素點(diǎn)的亮度值,Ymin是壓縮前的 宏塊內(nèi)部的像素點(diǎn)的最小亮度值,Y_compress為壓縮后的宏塊內(nèi)部的像素點(diǎn)的 亮度值。 '
進(jìn)一步地,所述圖像索引值表生成單元在所述宏塊的亮度值的量化階值中 查找與宏塊中各像素點(diǎn)的亮度值最靠近的宏塊的亮度值的量化階值,用查找到 的所述最靠近的宏塊的亮度值的量化階值作為壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮 度值的過(guò)程具體滿足下述公式
量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述公式
在QL < 8時(shí),壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述的公
式
Y—compressed = min(QL, 7) 在QL> 8時(shí),壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述的公式
Y—compressed = max(QL -1,9) 其中QL是自定義的變量,其值滿足公式QL= round((Y—original -Ymin)/step), Y一original是壓縮前的宏塊內(nèi)部的像素點(diǎn)的亮度值,Ymin是壓縮 前的宏塊內(nèi)部的像素點(diǎn)的最小亮度值,Y—compress是壓縮后的宏塊內(nèi)部的像素 點(diǎn)的亮度值。
進(jìn)一步地,所述量化索51值表生成單元所建立的量化索? 1值表保存宏塊內(nèi) 部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任意兩個(gè)值,所述量化 索《1值表按照?qǐng)D像逐行掃描的方式在內(nèi)存中連續(xù)排列。
進(jìn)一步地,所述圖像索引值表生成單元建立的圖像索引值保存壓縮后的宏 塊內(nèi)部的像素點(diǎn)的亮度值的量化索引值,所述圖像索引值表按照?qǐng)D像逐行掃描 的方式在內(nèi)存中連續(xù)排列。本發(fā)明實(shí)施例的目的在于提供一種視頻編解碼系統(tǒng)中宏塊解壓縮的方法, 旨在解決視頻編解碼過(guò)程中對(duì)內(nèi)存帶寬以及容量的需求的問(wèn)題。
本發(fā)明實(shí)施例根據(jù)此目的提供一種視頻編解碼中的宏塊解壓縮方法,所述 方法包括下述步驟
獲取量化索引值表,從而獲得宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大
值和量化階距中的任意兩個(gè)值;
獲取圖像索引值表,從而獲取宏塊內(nèi)部的像素點(diǎn)的亮度值;
根據(jù)所述宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任
意兩個(gè)值以及所述宏塊內(nèi)部的像素點(diǎn)的亮度值,獲取解壓縮后的宏塊內(nèi)部的像
素點(diǎn)的亮度值。
進(jìn)一步地,所述根據(jù)所述當(dāng)前宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大 值和量化階距中的任意兩個(gè)值以及所述當(dāng)前宏塊內(nèi)部的像素點(diǎn)的亮度值,獲取 解壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值的步驟具體為
若宏塊壓縮時(shí)采用16階次的分段量化的方法,在獲取解壓縮后的宏塊內(nèi)部 的像素點(diǎn)的亮度值時(shí),先判斷壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值是否大于7, 若是則對(duì)壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值進(jìn)行加1處理。
本發(fā)明實(shí)施例的目的在于提供一種視頻編解碼系統(tǒng)中宏塊解壓縮的裝置, 旨在解決視頻編解碼過(guò)程中對(duì)內(nèi)存帶寬以及容量的需求的問(wèn)題。
本發(fā)明實(shí)施例在此提供了 一種視頻編解碼系統(tǒng)中的宏塊解壓縮裝置,所述 裝置包括
量化索引值表獲取單元,用于獲取宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、
最大值和量化階距中的任意兩個(gè)值;
圖像索引值表獲取單元,用于獲取宏塊內(nèi)部的像素點(diǎn)的亮度值; 像素點(diǎn)的亮度值的解壓值獲取單元,用于根據(jù)所述宏塊內(nèi)部的像素點(diǎn)的亮
度值的最小值、最大值和量化階距中的任意兩個(gè)值以及所述宏塊內(nèi)部的像素點(diǎn)
14的亮度值,獲取解壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值。
進(jìn)一步地,所述像素點(diǎn)的亮度值的解壓值獲取單元在宏塊壓縮采用16階次 的分段量化的方法時(shí),在獲取解壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值時(shí),先判 斷壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值是否大于7,若是則對(duì)壓縮后的宏塊內(nèi) 部的像素點(diǎn)的亮度值進(jìn)行加1處理。
在本發(fā)明實(shí)施例中,.通過(guò)在原有視頻編解碼器中增加宏塊壓縮和解壓縮裝 置,對(duì)參考幀中的宏塊進(jìn)行在線壓縮及解壓縮,有效地減少參考幀的容量,降 低了視頻編解碼系統(tǒng)對(duì)內(nèi)存帶寬以及容量的需求,提高了視頻編解碼的效率, 同時(shí),該壓縮方法是^氐損或者無(wú)損的,并且經(jīng)過(guò)壓縮后的圖像上的每個(gè)像素點(diǎn) 的亮度值容易進(jìn)行索引。
圖1是現(xiàn)有技術(shù)提供的視頻編解碼系統(tǒng)的工作原理示意圖2是本發(fā)明實(shí)施例提供的視頻編解碼系統(tǒng)的工作原理示意圖; 圖3是本發(fā)明實(shí)施例提供的視頻編解碼中的宏塊壓縮方法的工作流程圖; 圖4是本發(fā)明實(shí)施例提供的視頻編解碼中的圖像索引值表的內(nèi)存存放方式 的示意圖5是本發(fā)明實(shí)施例提供的視頻編解碼中的量化索《1值表的內(nèi)存存放方式 的示意圖6是本發(fā)明實(shí)施例提供的視頻編解碼中的宏塊壓縮裝置的結(jié)構(gòu)示意圖; 圖7是本發(fā)明實(shí)施例提供的視頻編解碼中的宏塊解壓縮方法的工作流程
圖8是本發(fā)明實(shí)施例提供的視頻編解碼中的宏塊解壓縮裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)
15施例,對(duì)本發(fā)明進(jìn)^亍進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅 僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
在本發(fā)明實(shí)施例中,通過(guò)在線對(duì)視頻幀中的宏塊進(jìn)行量化,生成壓縮宏塊, 可以減低^L頻編解碼過(guò)程中對(duì)內(nèi)存帶寬以及容量的需求。
圖2示出了本發(fā)明實(shí)施例提供的視頻編解碼系統(tǒng)的結(jié)構(gòu),為了便于說(shuō)明,
僅示出了本發(fā)明實(shí)施例相關(guān)的部分。該一見(jiàn)頻編解碼系統(tǒng)包括^L頻解碼器21、 視頻編碼器22、片外內(nèi)存23。其中視頻解碼器21包括宏塊壓縮裝置211、宏 塊解壓縮裝置212;視頻編碼器22包括宏塊壓縮裝置221 、宏塊解壓縮裝置222。
在視頻解碼階段,當(dāng)視頻解碼器21解碼完成一個(gè)宏塊,需要把這個(gè)宏塊寫(xiě) 回至內(nèi)存時(shí),通過(guò)宏塊壓縮裝置211把該宏塊中的Y/U/V分量進(jìn)行壓縮,寫(xiě)至 片外內(nèi)存23中,當(dāng)需要從參考幀讀回?cái)?shù)據(jù)的時(shí)候,則從片外內(nèi)存23中讀取壓 縮后的參考幀數(shù)據(jù),通過(guò)宏塊解壓縮裝置212解壓縮參考幀中的宏塊數(shù)據(jù),讀 入視頻解碼器的內(nèi)存中進(jìn)行解碼。
在視頻編碼階,殳,在視頻編碼器22中內(nèi)置宏塊壓縮裝置221和宏塊解壓 縮裝置222,其中宏塊壓縮裝置221和視頻解碼器21中的宏塊壓縮裝置211功 能相同,宏塊解壓縮裝置222和視頻解碼器21中的宏塊解壓縮裝置212功能相 同,在此不再贅述。
片外內(nèi)存23,位于視頻解碼器21和視頻編碼器22外部的內(nèi)存,用于存儲(chǔ) 壓縮后的參考幀中的宏塊的圖像索引值表以及量化索引值表。
圖3示出了本發(fā)明實(shí)施例提供的視頻編解碼中的宏塊壓縮方法的工作流 程,詳述如下
在步驟S301中,獲取宏塊內(nèi)部的像素點(diǎn)的亮度值的最大值和最小值。 圖像宏塊可以是任意的11*111個(gè)像素點(diǎn)的宏塊,作為本發(fā)明的一個(gè)實(shí)施例, 圖像宏塊的大小為4*4或者8*8,在宏塊為8*8時(shí),可以獲得較好的壓縮率, 壓縮效果也不^"。現(xiàn)以亮度值Y分量為例進(jìn)行說(shuō)明,Ymax表示最大亮度值, Ymin表示最小亮度值。對(duì)色度U、 V分量,其壓縮方法是一樣的。在步驟S302中,根據(jù)所述宏塊內(nèi)部的像素點(diǎn)的亮度值的最大值和最小值,
計(jì)算宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階距以及宏塊內(nèi)部的像素點(diǎn)的亮度值的 量化階值。
作為本發(fā)明的一個(gè)實(shí)施例,采用15階次均勻量化的方法計(jì)算Step以及量
化階值。
量化階距(也可稱量化梯度單位值)Step可以通過(guò)下面的公式進(jìn)行計(jì)算
Step = (Ymax-Ymin)/15 通過(guò)上述么、式可以生成16個(gè)量化階值,每個(gè)階次的量化階值分別為Ymin,
Ymin+step, Ymin+2*step,............, Ymin+14*step, Ymax。
該15階次的均勻量化過(guò)程,在實(shí)現(xiàn)時(shí)需要用到減法器和1/15乘法器,考 慮1/15乘法器在硬件實(shí)現(xiàn)中有一定困難,因此作為本發(fā)明的一個(gè)優(yōu)選實(shí)施例' 采用16階次分段量化的方法計(jì)算Step以及量化階值。 量化梯度單位4直Step可以通過(guò)下面的公式進(jìn)行計(jì)算
Step = (Ymax-Ymin)/16 通過(guò)上述公式可以生成16個(gè)量化階值,每個(gè)階次的量化階值分別對(duì)應(yīng)于 0000: Ymin 0001: Ymin+ step" 0010: Ymin + step" 0011: Ymin + step*3 0100:Ymin + step*4 0101: Ymin + step" 0110:Ymin+step*6 0111:Ymin+ step*7 0000: Ymin + step" 1001: Ymin + step* 10 1010:Ymin十step*ll 1011:Ymin + step*12 1100:Ymin + step"3
171101: Ymin + step* 14 1110:Ymin + step*15 llll:Ymin十step"6
采用該16階次的分段量化方法,對(duì)于OOOO、 1111,依然可以表示Ymin、 Ymax,但是丟棄了其中8*step的量化區(qū)間,step的值直接通過(guò)Ymax-Ymin右 移4位即可得到,計(jì)算各階梯度的時(shí)候硬件實(shí)現(xiàn)非常方便。
同時(shí),根據(jù)所述宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距 中的任意兩個(gè)值,建立量化索引值表。
壓縮后的宏塊有量化索引值表,負(fù)責(zé)保存視頻幀中每個(gè)宏塊的Ymin, step。 對(duì)于量化索引值表的存放方式,可以采用存放8bit的Ymin以及8bit的step, 還可以用其4也方式,例如存方文8bit的Ymin和8bit的Ymax,以及存放8bit的 step和8bit的Ymax,其中step可以在解壓縮電i 各中計(jì)算獲得。
量化索引值表的內(nèi)存存放方式見(jiàn)圖5所示,作為本發(fā)明的一個(gè)實(shí)施例,每 個(gè)單位表示一個(gè)宏塊(4*4 or 8*8 )的亮度值最小值Ymin以及step值,每個(gè)單 元占16bit,其中8bit為Ymin, 8bit表示step, step的高4位為step的整數(shù)部分, 低四位為step小數(shù)部分,排列順序按照宏塊的行掃描方式在內(nèi)存中連續(xù)排列。
在本發(fā)明實(shí)施例中,對(duì)于4*4圖像塊,需儲(chǔ)存step, Ymin共16bit,以及 16個(gè)點(diǎn)每點(diǎn)4bit的量化索引值,共16+16*4=80bit,相對(duì)原圖需要每點(diǎn)8bit的 存儲(chǔ)容量,其壓縮比例為80/(16*8) = 62.5%。
對(duì)于8*8的圖l象塊,需儲(chǔ)存step, Ymin共16bit,以及64個(gè)點(diǎn)每點(diǎn)4bit 的量化索引值,共16+64*4=272bit, 壓縮比例為272/(64*8) = 53%,此時(shí)壓縮 率可以達(dá)到4妻近1:2。
在步驟S303中,在所述宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值中查找與宏 塊中各像素點(diǎn)的亮度值最靠近的宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值,用查 找到的所述最靠近的宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值作為壓縮后的宏塊 內(nèi)部的像素點(diǎn)的亮度值,并對(duì)所述壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值建立圖 像索引值表。
18對(duì)幀的宏塊中每個(gè)像素點(diǎn)的亮度值與量化所得的16個(gè)亮度值量化階值進(jìn) 行比較,查找最靠近宏塊內(nèi)部的像素點(diǎn)的亮度值的亮度值量化階值,確定該亮
度值量化階值為壓縮后的宏塊中的像素點(diǎn)的亮度值,具體過(guò)程如下
對(duì)于均勻量化的方法,在step=0時(shí),壓縮后的像素點(diǎn)的亮度值Y_compressed
為0,否則滿足下面的^^式
Y—compressed = round((Y—original - Ymin)/step)
其中round是四舍五入函數(shù),它的作用是返回某個(gè)數(shù)字按指定位數(shù)耳又整后 的數(shù)字。
對(duì)于分段量化的方法,在step=0時(shí),壓縮后的像素點(diǎn)的亮度值Y compressed為0。
在QL < 8時(shí),滿足下面的公式
Y一compressed = min(QL, 7)
在QL> 8時(shí),滿足下面的公式
Y—compressed = max(QL -1,9)
其中QL是自定義的變量,QL = round((Y_original - Ymin)/step), round 是四舍五入函數(shù),它的作用是返回某個(gè)數(shù)字按指定位數(shù)取整后的數(shù)字。 Y_original為壓縮前的像素點(diǎn)的亮度值,為8bit數(shù)據(jù),包括0至255之間的所 有整數(shù),Y—compress為壓縮后的像素點(diǎn)的亮度值,為4bit數(shù)據(jù),包括0至15 之間的所有整數(shù),round為四舍五入函數(shù)符號(hào),min, max分別為最小值,最 大值函數(shù)符號(hào)。
在本發(fā)明的實(shí)施例中,并不存儲(chǔ)壓縮后的宏塊內(nèi)部的每個(gè)像素點(diǎn)的亮度值, 而是對(duì)壓縮后的宏塊內(nèi)部的每個(gè)像素點(diǎn)的亮度值建立索引,存儲(chǔ)其量化索引值, 因?yàn)閴嚎s后的宏塊的亮度值只有16個(gè)值,因此宏塊中的每個(gè)像素點(diǎn)只需要仆it 的量化索引值,即用一個(gè)4bit的量化索引值代表壓縮后的宏塊內(nèi)部的像素點(diǎn)的 亮度值,即建立圖像索引值表,比如,壓縮后的亮度值為Ymin + step*l的像素 點(diǎn)的亮度值,可用4bit的量化索引值"0001"表示'這樣對(duì)于8*8的圖像宏 塊,原來(lái)存儲(chǔ)壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值需要8*8*8的存儲(chǔ)空間,建立圖像索引值表后,其只需要8*8*4的存儲(chǔ)空間,所述圖像索引值表按照?qǐng)D像 逐行掃描的方式在內(nèi)存中連續(xù)排列見(jiàn)圖4所示。
圖6示出了本發(fā)明實(shí)施例提供的視頻編解碼中的宏塊壓縮裝置的結(jié)構(gòu),為 了便于說(shuō)明,僅示出了本發(fā)明實(shí)施例相關(guān)的部分。其中,該宏塊壓縮裝置61 可以是內(nèi)置于視頻編解碼系統(tǒng)中的軟件單元,硬件單元或者軟硬結(jié)合的單元。
亮度值獲取單元611獲取宏塊內(nèi)部的像素點(diǎn)的亮度值的最大值和最小值。
亮度值的量化階值生成單元612根據(jù)所述亮度值的最大值和最小值獲取單 元611獲取的宏塊內(nèi)部的像素點(diǎn)的亮度值的最大值和最小值,計(jì)算宏塊內(nèi)部的 像素點(diǎn)的亮度值的量化階距以及宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值。作為 本發(fā)明實(shí)施例的一個(gè)實(shí)施例,采用15階次的均勻量化方法計(jì)算量化階距Step, 生成量化階值。作為本發(fā)明的一個(gè)優(yōu)選實(shí)施例,采用16階次分段量化的方法計(jì) 算量化階距Step,生成量化階值。具體實(shí)現(xiàn)過(guò)程如上所述,不再贅述。
量化索引值表生成單元613,用于根據(jù)所述宏塊內(nèi)部的像素點(diǎn)的亮度值的 最小值、最大值和量化階距中的任意兩個(gè)值,建立量化索引值表.,所述量化索 引值表按照宏塊的行掃描方式在內(nèi)存中連續(xù)排列。
圖像索引值表生成單元614在所述亮度值的量化階值生成單元612計(jì)算所 得的宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值中查找與宏塊中各像素點(diǎn)的亮度值 最靠近的宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值,用查找到的所述最靠近的宏 塊內(nèi)部的像素點(diǎn)的亮度值的量化階值作為壓縮后的宏塊內(nèi)部像素點(diǎn)的亮度值, 并對(duì)所述壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值建立圖像索引值表,所述圖像索 引值表保存圖像中每個(gè)像素點(diǎn)經(jīng)過(guò)壓縮后的亮度值的量化索引值,每個(gè)占4bit 空間,按照?qǐng)D像逐行掃描的方式在內(nèi)存中連續(xù)排列具體實(shí)現(xiàn)過(guò)程如上所述,不 再贅述。
具體實(shí)現(xiàn)過(guò)程如上所述,不再贅述。
圖7示出了本發(fā)明實(shí)施例提供的視頻編解碼中的宏塊解壓縮方法的工作流 程,詳述如下在步驟S701中,獲取當(dāng)前宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和 量化階距中的任意兩個(gè)值。
作為本發(fā)明的一個(gè)實(shí)施例,圖像宏塊的大小為4*4或者8*8?,F(xiàn)以亮度值 Y分量為例進(jìn)行說(shuō)明,從量化索引值表中獲取當(dāng)前宏塊的像素點(diǎn)的最小亮度值 和量化階距,對(duì)色度U、 V分量,其解壓縮方法是一樣的。其中量化索引值表 中存儲(chǔ)有宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任意兩 個(gè)值,作為本發(fā)明的一個(gè)優(yōu)選實(shí)施例通過(guò)讀取該量化索引值表獲取當(dāng)前宏塊的 像素點(diǎn)的最小亮度值和量化階距來(lái)進(jìn)行解壓縮。此外,也可以從量化索引值表 中讀取當(dāng)前宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值或者當(dāng)前宏塊內(nèi)部的 像素點(diǎn)的亮度值的最大值、量化階距,具體根據(jù)進(jìn)行宏塊壓縮時(shí),量化索引值 表的存儲(chǔ)方式確定,具體實(shí)現(xiàn)過(guò)程不再贅述。
在步驟S702中,獲取宏塊內(nèi)部的像素點(diǎn)的亮度值。
根據(jù)圖像索引值表中保存的宏塊中的每個(gè)像素點(diǎn)壓縮后的亮度值的量化索 引值,讀取當(dāng)前壓縮宏塊內(nèi)部的像素點(diǎn)的亮度值。
在步驟S703中,根據(jù)所述當(dāng)前宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大 值和量化階距中的任意兩個(gè)值以及所述當(dāng)前宏塊內(nèi)部的像素點(diǎn)的亮度值,獲取 解壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值。
以亮度值Y分量為例進(jìn)行說(shuō)明,作為本發(fā)明的一個(gè)實(shí)施例,4艮據(jù)當(dāng)前宏塊 內(nèi)部的像素點(diǎn)的亮度值的最小值和量化階距以及所述當(dāng)前宏塊內(nèi)部的像素點(diǎn)的 亮度值來(lái)獲取解壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值。具體過(guò)程如下首先用 獲取到的所述當(dāng)前宏塊內(nèi)部的像素點(diǎn)的亮度值乘以亮度值的量化階距step,再 將所得乘積與亮度值的最小值Ymin相加,即可得到解壓縮后的像素點(diǎn)的亮度 值,具體可以通過(guò)乘法器和加法器實(shí)現(xiàn)。對(duì)宏塊中每個(gè)像素點(diǎn)都進(jìn)行同樣的解 壓過(guò)程,即可獲得整個(gè)宏塊內(nèi)部的像素點(diǎn)的解壓縮后的亮度值。若宏塊壓縮時(shí) 采用分段量化的方法,那么在對(duì)壓縮后的像素點(diǎn)的亮度值Y_compressed做乘法 運(yùn)算之前,先判斷Y—compressed的值是否大于7,若是則對(duì)Y_compressed進(jìn)
21《亍力口 1處理,即Y—compressed = Y—compressed + 1 。 Jt夕卜,也可以才艮^居當(dāng)前宏 塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值以及當(dāng)前宏塊內(nèi)部的像素點(diǎn)的亮度 值或者根據(jù)當(dāng)前宏塊內(nèi)部的像素點(diǎn)的亮度值的最大值、量化階距以及當(dāng)前宏塊 內(nèi)部的像素點(diǎn)的亮度值獲取解壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值,具體實(shí)現(xiàn) 過(guò)程不再贅述。
圖8示出了本發(fā)明實(shí)施例提供的視頻編解碼中的幀解壓縮裝置的結(jié)構(gòu),為 了便于說(shuō)明,僅示出了本發(fā)明實(shí)施例相關(guān)的部分。其中,視頻編解碼中的幀解 壓縮裝置81可以是內(nèi)置于視頻編解碼系統(tǒng)中的軟件單元,硬件單元或者軟硬結(jié) 合的單元。
量化索引值表獲取單元811獲取當(dāng)前宏塊內(nèi)部的像素點(diǎn)的亮度值的最小 值、最大值和量化階距中的任意兩個(gè)值。具體實(shí)現(xiàn)過(guò)程如上所述,不再贅述。
圖像索引值表獲取單元812從圖像索引值表中讀取當(dāng)前宏塊內(nèi)部的像素點(diǎn) 的亮度值。具體實(shí)現(xiàn)過(guò)程如上所述,不再贅述。
像素點(diǎn)的亮度值的解壓值獲取單元813根據(jù)量化索引值表獲取單元811獲 取到的當(dāng)前宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任意 兩個(gè)值,以及圖像索引值表獲取單元812獲取到的當(dāng)前壓縮宏塊內(nèi)部的像素點(diǎn) 的亮度值,獲取解壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值。具體實(shí)現(xiàn)過(guò)程如上所 述,不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟 是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以在存儲(chǔ)于一計(jì)算機(jī) 可讀取存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì),如ROM/RAM、磁盤(pán)、光盤(pán)等。
在本發(fā)明實(shí)施例中,通過(guò)在原有視頻編解碼器中增加宏塊壓縮/解壓縮裝 置,對(duì)參考幀中的宏塊進(jìn)行在線壓縮及解壓縮,有效地減少參考幀的容量,降 低了對(duì)內(nèi)存帶寬以及容量的需求的問(wèn)題,在顯示輸出的時(shí)候,系統(tǒng)的顯示帶寬 可以減半,提高了視頻編解碼的效率,同時(shí),該壓縮方法是低損或者無(wú)損的一 般人眼觀察不會(huì)感覺(jué)到明顯差異。此外宏塊壓縮采用建立量化索引值的方法進(jìn)行壓縮,經(jīng)過(guò)壓縮后圖像上每個(gè)像素點(diǎn)的值容易進(jìn)行索引,同時(shí),該宏塊壓縮 方法的運(yùn)算量低,尤其是量化時(shí)采用分段量化的方法,硬件設(shè)計(jì)方便。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā) 明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明 的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種用于視頻編解碼系統(tǒng)中的圖像壓縮方法,所述圖像由多個(gè)宏塊組成,所述宏塊內(nèi)部包含多個(gè)像素點(diǎn),所述像素點(diǎn)包含亮度值,其特征在于,所述方法包括獲取宏塊內(nèi)部的像素點(diǎn)的亮度值的最大值和最小值;根據(jù)所述宏塊內(nèi)部的像素點(diǎn)的亮度值的最大值和最小值,計(jì)算宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階距以及宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值,并建立量化索引值表,所述量化索引值表包括宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任意兩個(gè)值;查找與宏塊中各像素點(diǎn)的亮度值最靠近的所述量化階值,用查找到的最靠近的所述量化階值作為量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值,并對(duì)所述量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值建立圖像索引值表。
2、 如權(quán)利要求l所述的方法,其特征在于,所述才艮據(jù)所述宏塊內(nèi)部的像素點(diǎn)的亮度值的最大值和最小值,計(jì)算宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階距以及宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值的步驟采用均勻量化方式進(jìn)行量化,具體滿足下述公式Step = (Ymax-Ymin)/15其中Step是量化階距,Ymax是像素點(diǎn)的最大亮度值,Ymin是像素點(diǎn)的最小亮度值,15是量化階次。
3、 如權(quán)利要求l所述的方法,其特征在于,所述4艮據(jù)所述宏塊內(nèi)部像素點(diǎn)的亮度值的最大值和最小值,計(jì)算宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階距以及宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值的步驟采用分段量化方式進(jìn)行量化,具體滿足下述公式Step = (Ymax-Ymin)/16其中Step是宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階距,Ymax是宏塊內(nèi)部的像素點(diǎn)的最大亮度值,Ymin是宏塊內(nèi)部的像素點(diǎn)的最小亮度值,16是量化階次。
4、 如權(quán)利要求l所述的方法,其特征在于,所述查找與宏塊中各像素點(diǎn)的亮度值最靠近的所述量化階值,用查找到的最靠近的所述量化階值作為量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值,并對(duì)所述量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值建立所述圖像索引值表的步驟具體為量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述公式Y(jié)一compressed = round ((Y—original - Ymin)/step)其中Y—original為量化前的宏塊內(nèi)部的像素點(diǎn)的亮度值,Ymin是宏塊內(nèi)部的像素點(diǎn)的最小亮度值,Y一compress為量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值,round是四舍五入取整函數(shù)。
5、 如權(quán)利要求l所述的方法,其特征在于,所述查找與宏塊中各像素點(diǎn)的亮度值最靠近的所述量化階值,用查找到的最靠近的所述量化階值作為量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值,并對(duì)所述量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值建立所述圖像索? I值表的步驟具體為量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述公式在QL< 8時(shí),量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述的公式Y(jié)_compressed = min(QL, 7)在QL> 8時(shí),量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述的公式Y(jié)—compressed = max(QL -1,9)其中QL是自定義變量,滿足公式QL = round((Y—original - Ymin)/step),Y—original為量化前的宏塊內(nèi)部的像素點(diǎn)的亮度值,Ymin是量化前的宏塊內(nèi)部的像素點(diǎn)的最小亮度值,Y一compress為量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值。
6、 如權(quán)利要求l所述的方法,其特征在于,所述量化索引值表保存每個(gè)宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任意兩個(gè)值,所述量化索《I值表按照宏塊的逐行掃描的方式在內(nèi)存中連續(xù)排列。
7、 如權(quán)利要求l所述的方法,其特征在于,所述圖像索引值表保存量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值的量化索引值,所述圖像索引值表按照?qǐng)D像逐行掃描的方式在內(nèi)存中連續(xù)排列。
8、 一種用于視頻編解碼系統(tǒng)中的圖像壓縮裝置,所述圖像由多個(gè)宏塊組成,所述宏塊內(nèi)部包含多個(gè)像素點(diǎn),所述像素點(diǎn)包含亮度值,其特征在于,所述裝置包括亮度值獲取單元,用于獲取宏塊內(nèi)部的像素點(diǎn)的亮度值,以及亮度值的最大值和最小值;亮度值的量化階值生成單元,用于根據(jù)所述宏塊內(nèi)部的像素點(diǎn)的亮度值的最大值和最小值,計(jì)算宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階距以及宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值;量化索引值表生成單元,用于根據(jù)所述宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任意兩個(gè)值,建立量化索引值表;圖像索引值表生成單元,用于查找與宏塊中各像素點(diǎn)的亮度值最靠近的所述量化階值,用查找到的所述量化階值作為量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值,并對(duì)所述量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值建立圖像索引值表。
9、 如權(quán)利要求8所述的裝置,其特征在于,所述亮度值的量化階值生成單元采用均勻量化方式計(jì)算宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階距,滿足下述公式Step = (Ymax-Ymin)/15其中Step是宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階距,Ymax是宏塊內(nèi)部的像素點(diǎn)的最大亮度值,Ymin是宏塊內(nèi)部的像素點(diǎn)的最小亮度值,15是量化階次。
10、 如權(quán)利要求8所述的裝置,其特征在于,所述亮度值的量化階值生成單元采用分段量化方式計(jì)算宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階距,滿足下述公式Step = (Ymax-Ymin)/16其中Step是宏塊內(nèi)部的像素點(diǎn)的亮度值量化階距,Ymax是宏塊內(nèi)部的像素點(diǎn)的最大亮度值,Ymin是宏塊內(nèi)部的像素點(diǎn)的最小亮度值,16是量化階次。
11、 如權(quán)利要求8所述的裝置,其特征在于,所述查找與宏塊中各像素點(diǎn)的亮度值最靠近的所述量化階值,用查找到的所述量化階值作為量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值,并對(duì)所述量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值建立圖像索引值表的過(guò)程具體滿足下述公式量化后宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述公式Y(jié)—compressed = round((Y_original - Ymin)/step)其中Y_original為量化前的宏塊內(nèi)部的像素點(diǎn)的亮度值,Ymin是量化前的宏塊內(nèi)部的像素點(diǎn)的最小亮度值,Y_compress為量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值,step為宏塊內(nèi)部的像素點(diǎn)的亮度值量化階距,round為四舍五入取整函數(shù)。
12、 如權(quán)利要求8所述的裝置,其特征在于,所述查找與宏塊中各像素點(diǎn)的亮度值最靠近的所述量化階值,用查找到的所述量化階值作為量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值,并對(duì)所述量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值建立圖像索引值表的過(guò)程具體滿足下述公式量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述公式在QL< 8時(shí),量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述的公式Y(jié)_compressed = min(QL, 7)在QL> 8時(shí),量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值的計(jì)算滿足下述的公式Y(jié)一compressed = max(QL -1,9)其中QL是自定義的變量,其值滿足公式QL= round((Y—original -Ymin)/step) , Y_original是量化前的宏塊內(nèi)部的像素點(diǎn)的亮度值,Ymin是量化前的宏塊內(nèi)部的像素點(diǎn)的最小亮度值,Y—compress是量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值。
13、 如權(quán)利要求8至12任一項(xiàng)所述的裝置,其特征在于,所述量化索引值表生成單元所建立的量化索引值表保存宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任意兩個(gè)值,所述量化索引值表按照?qǐng)D像逐行掃描的方式在內(nèi)存中連續(xù)排列。
14、 如權(quán)利要求8至12任一項(xiàng)所述的裝置,其特征在于,所述圖像索引值表生成單元建立的圖像索引值保存壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值的量化索引值,所述圖像索引值表按照?qǐng)D像逐行掃描的方式在內(nèi)存中連續(xù)排列。
15、 一種用于視頻編解碼系統(tǒng)中,通過(guò)獲取量化索引值表和圖像索引值表,來(lái)對(duì)圖像中宏塊內(nèi)部的像素點(diǎn)的亮度值進(jìn)行解壓縮的方法,所述量化索引值表包括宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任意兩個(gè)值,所述圖像索引值表包括量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值,其特征在于,所述方法包括獲取量化索引值表,從而獲得宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任意兩個(gè)值;獲取圖像索引值表,從而獲取宏塊內(nèi)部的像素點(diǎn)的亮度值;根據(jù)所述宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任意兩個(gè)值以及所述宏塊內(nèi)部的像素點(diǎn)的亮度值,獲取解壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值。
16、 如權(quán)利要求15所述的方法,其特征在于,所述根據(jù)所述當(dāng)前宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任意兩個(gè)值以及所述宏塊內(nèi)部的像素點(diǎn)的亮度值,獲取解壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值的步驟具體為若宏塊壓縮時(shí)采用16階次的分段量化的方法,在獲取解壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值時(shí),先判斷壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值是否大于7,若是則對(duì)壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值進(jìn)行加1處理。
17、 一種用于視頻編解碼系統(tǒng)中,通過(guò)獲取量化索引值表和圖像索引值表,來(lái)對(duì)圖像中宏塊內(nèi)部的像素點(diǎn)的亮度值進(jìn)行解壓縮的裝置,所述量化索? 1值表包括宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任意兩個(gè)值,所述圖像索引值表包括量化后的宏塊內(nèi)部的像素點(diǎn)的亮度值,其特征在于,所述裝置包括量化索引值表獲取單元,用于獲取宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任意兩個(gè)值;圖像索引值表獲取單元,用于獲取宏塊內(nèi)部的像素點(diǎn)的亮度值;像素點(diǎn)的亮度值的解壓值獲取單元,用于根據(jù)所述宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任意兩個(gè)值以及所述宏塊內(nèi)部的像素點(diǎn)的亮度值,獲耳又解壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值。
18、如權(quán)利要求17所述的裝置,其特征在于,所述像素點(diǎn)的亮度值的解壓值獲取單元在宏塊壓縮采用16階次的分段量化的方法時(shí),在獲取解壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值時(shí),先判斷壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值是否大于7,若是則對(duì)壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值進(jìn)行加1處理。
全文摘要
本發(fā)明適用于視頻編解碼技術(shù)領(lǐng)域,提供了一種視頻編解碼系統(tǒng)及其宏塊壓縮/解壓縮的方法、裝置,所述方法包括下述步驟獲取宏塊內(nèi)部的像素點(diǎn)的亮度值的最大值和最小值;根據(jù)宏塊內(nèi)部的像素點(diǎn)的亮度值的最大值和最小值計(jì)算像素點(diǎn)的亮度值的量化階距以及宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值;在宏塊的亮度值的量化階值中查找與宏塊中各像素點(diǎn)的亮度值最靠近的宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值,用查找到的最靠近的宏塊內(nèi)部的像素點(diǎn)的亮度值的量化階值作為壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值,并對(duì)壓縮后的宏塊內(nèi)部的像素點(diǎn)的亮度值建立圖像索引值;根據(jù)宏塊內(nèi)部的像素點(diǎn)的亮度值的最小值、最大值和量化階距中的任意兩個(gè)值,建立量化索引值表。
文檔編號(hào)H04N7/26GK101511025SQ20091010525
公開(kāi)日2009年8月19日 申請(qǐng)日期2009年1月22日 優(yōu)先權(quán)日2009年1月22日
發(fā)明者壘 葉, 明 黎 申請(qǐng)人:炬力集成電路設(shè)計(jì)有限公司