專(zhuān)利名稱(chēng):圖像壓縮裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像壓縮領(lǐng)域,特別涉及利用自適應(yīng)差分編碼調(diào)制(AdaptiveDifferential Pulse Code Modulation,簡(jiǎn)稱(chēng)ADPCM)技術(shù)進(jìn)行圖像壓縮的裝置和方法。
背景技術(shù):
在視頻圖像壓縮領(lǐng)域,自適應(yīng)差分編碼調(diào)制(Adaptive Differential PulseCode Modulation,ADPCM)技術(shù)由于其具有自適應(yīng)量化與自適應(yīng)預(yù)測(cè)的智能化等優(yōu)勢(shì),現(xiàn)已經(jīng)被廣泛的應(yīng)用。
在自適應(yīng)差分編碼調(diào)制技術(shù)進(jìn)行圖像壓縮時(shí),會(huì)根據(jù)圖像的局部特征動(dòng)態(tài)地選擇不同的量化單元,使得圖像重構(gòu)的誤差最小。這種方法存在一個(gè)問(wèn)題,就是可能造成緩沖區(qū)的溢出。這個(gè)問(wèn)題的根源在于,對(duì)于硬件實(shí)現(xiàn)的ADPCM壓縮芯片而言,其中設(shè)置的碼流緩沖區(qū)的存儲(chǔ)空間是有限的,另外USB接口模塊會(huì)以基本均勻的速度從緩沖區(qū)向外傳送碼流,但是圖像中不同區(qū)域包含的細(xì)節(jié)特征可能有所差異,這樣就會(huì)導(dǎo)致ADPCM壓縮輸出到緩沖區(qū)的碼流并不均勻,最壞情況下可能造成某一時(shí)間段內(nèi)碼流連續(xù)超出USB接口模塊的傳輸能力,因此這些不能及時(shí)傳送出去的碼流就會(huì)不斷累積在碼流緩沖區(qū)中直至溢出,丟掉一些碼流。一旦發(fā)生緩沖區(qū)碼流溢出這種問(wèn)題,就可能會(huì)導(dǎo)致解碼錯(cuò)誤。
因此亟待需要一種圖像壓縮方法和裝置,以克服上述缺陷。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種圖像壓縮裝置和方法,能夠防止緩沖區(qū)碼流溢出。
為了達(dá)到上述目的,根據(jù)本發(fā)明的一個(gè)方面,本發(fā)明提出一種圖像壓縮裝置,其包括預(yù)測(cè)單元、量化單元、編碼單元、碼流緩沖區(qū)和重構(gòu)單元,所述預(yù)測(cè)單元用來(lái)根據(jù)先前重構(gòu)像素點(diǎn)的值對(duì)當(dāng)前像素點(diǎn)的值進(jìn)行預(yù)測(cè)編碼并輸出一個(gè)預(yù)測(cè)值,所述預(yù)測(cè)值和當(dāng)前像素點(diǎn)的值相減得到殘差;所述量化單元用來(lái)對(duì)所述殘差進(jìn)行量化;所述編碼單元用來(lái)對(duì)所述量化殘差進(jìn)行編碼輸出碼流;所述碼流緩沖區(qū)緩沖所述編碼單元輸出的碼流以用以向外傳輸;所述重構(gòu)單元用來(lái)對(duì)量化單元的量化殘差進(jìn)行反量化生成重構(gòu)殘差,將重構(gòu)殘差和所述預(yù)測(cè)單元的預(yù)測(cè)值相加生成重構(gòu)像素點(diǎn)的值;其中,所述裝置中還包括監(jiān)測(cè)單元,所述監(jiān)測(cè)單元連接在碼流緩沖區(qū)上用于監(jiān)測(cè)碼流緩沖區(qū)的飽和程度,在碼流緩沖區(qū)的飽和程度大于或小于設(shè)定閾值時(shí),通知量化單元更改量化參數(shù)及通知重構(gòu)單元更改反量化參數(shù)。
進(jìn)一步的,對(duì)于所述碼流緩沖區(qū)的碼流飽和程度設(shè)定有第一閾值和第二閾值,所述第一閾值的碼流飽和度高于或者等于第二閾值,當(dāng)碼流飽和程度增加并達(dá)到第一閾值時(shí),所述監(jiān)測(cè)單元通知量化單元調(diào)整量化參數(shù),增加量化步長(zhǎng),減少量化區(qū)間數(shù),同時(shí)通知重構(gòu)單元相應(yīng)的調(diào)整反量化參數(shù);當(dāng)碼流飽和程度減少并達(dá)到第二閾值的時(shí)候所述監(jiān)測(cè)單元通知量化單元調(diào)整量化參數(shù),減小量化步長(zhǎng),增加量化區(qū)間數(shù),同時(shí)通知重構(gòu)單元相應(yīng)的調(diào)整反量化參數(shù)。
進(jìn)一步的,所述緩沖區(qū)的碼流飽和程度設(shè)定有第一閾值、第二閾值和第三閾值,所述第一閾值高于或者等于第二閾值,第二閾值高于或者等于第三閾值,針對(duì)不同的閾值對(duì)所述量化單元和重構(gòu)單元設(shè)定三個(gè)量化參數(shù)和相應(yīng)的反量化參數(shù),分別為優(yōu)質(zhì)圖像量化參數(shù)、一般圖像量化參數(shù)和較差圖像量化參數(shù),在所述圖像壓縮裝置啟動(dòng)時(shí)所述量化單元采用優(yōu)質(zhì)圖像量化參數(shù);當(dāng)緩沖區(qū)達(dá)到第二閾值的時(shí)候控制量化單元使用一般圖像參數(shù);如果碼流繼續(xù)堆積在碼流緩沖區(qū)中并達(dá)到第一閾值的時(shí)候控制量化單元采用較差圖像參數(shù);如果碼流逐步減少到第三閾值的時(shí)候則控制量化單元恢復(fù)優(yōu)質(zhì)圖像量化參數(shù);當(dāng)達(dá)到第一閾值之后如果碼流飽和度回落到第二閾值,則控制量化單元使用一般圖像量化參數(shù),同時(shí)當(dāng)量化參數(shù)改變時(shí),相應(yīng)的調(diào)整反量化參數(shù)。
進(jìn)一步的,所述編碼單元采用熵編碼方式。
進(jìn)一步的,在同一幀圖像內(nèi)所述量化單元采用相同的量化參數(shù)。
進(jìn)一步的,所述碼流緩沖區(qū)通過(guò)USB接口、有線(xiàn)網(wǎng)絡(luò)接口、無(wú)線(xiàn)網(wǎng)絡(luò)接口或者其它傳輸接口將編碼碼流向外傳輸。
根據(jù)本發(fā)明的另一方面,本發(fā)明提供了一種圖像壓縮方法,其包括根據(jù)先前重構(gòu)像素點(diǎn)的值對(duì)當(dāng)前像素點(diǎn)的值進(jìn)行預(yù)測(cè)編碼并輸出一個(gè)預(yù)測(cè)值;將所述預(yù)測(cè)值和當(dāng)前像素點(diǎn)的值相減得到殘差;對(duì)所述殘差進(jìn)行量化;將量化殘差進(jìn)行編碼并將產(chǎn)生的碼流傳輸給碼流緩沖區(qū);將量化殘差進(jìn)行反量化產(chǎn)生重構(gòu)殘差,并將重構(gòu)殘差和所述預(yù)測(cè)值相加生成預(yù)測(cè)編碼時(shí)需要的重構(gòu)像素點(diǎn)的值;監(jiān)測(cè)碼流緩沖區(qū)的飽和度,在碼流緩沖區(qū)的飽和度大于或小于設(shè)定閾值時(shí),調(diào)整對(duì)殘差量化時(shí)的量化參數(shù),同時(shí)調(diào)整重構(gòu)時(shí)的反量化參數(shù)。
進(jìn)一步的,對(duì)于所述碼流緩沖區(qū)的碼流飽和程度設(shè)定有第一閾值和第二閾值,所述第一閾值的碼流飽和度高于或者等于第二閾值,當(dāng)碼流飽和程度增加并達(dá)到第一閾值時(shí),所述監(jiān)測(cè)單元通知量化單元調(diào)整量化參數(shù),增加量化步長(zhǎng),減少量化區(qū)間數(shù),同時(shí)通知重構(gòu)單元相應(yīng)的調(diào)整反量化參數(shù);當(dāng)碼流飽和程度減少并達(dá)到第二閾值的時(shí)候所述監(jiān)測(cè)單元通知量化單元調(diào)整量化參數(shù),減小量化步長(zhǎng),增加量化區(qū)間數(shù),同時(shí)通知重構(gòu)單元相應(yīng)的調(diào)整反量化參數(shù)。
進(jìn)一步的,,所述緩沖區(qū)的碼流飽和程度設(shè)定有第一閾值、第二閾值和第三閾值,所述第一閾值高于或者等于第二閾值,第二閾值高于或者等于第三閾值,針對(duì)不同的閾值對(duì)所述量化單元和重構(gòu)單元設(shè)定三個(gè)量化參數(shù)和相應(yīng)的反量化參數(shù),分別為優(yōu)質(zhì)圖像量化參數(shù)、一般圖像量化參數(shù)和較差圖像量化參數(shù),在所述圖像壓縮裝置啟動(dòng)時(shí)所述量化單元采用優(yōu)質(zhì)圖像量化參數(shù);當(dāng)緩沖區(qū)達(dá)到第二閾值的時(shí)候控制量化單元使用一般圖像參數(shù);如果碼流繼續(xù)堆積在碼流緩沖區(qū)中并達(dá)到第一閾值的時(shí)候控制量化單元采用較差圖像參數(shù);如果碼流逐步減少到第三閾值的時(shí)候則控制量化單元恢復(fù)優(yōu)質(zhì)圖像量化參數(shù);當(dāng)達(dá)到第一閾值之后如果碼流飽和度回落到第二閾值,則控制量化單元使用一般圖像量化參數(shù),同時(shí)當(dāng)量化參數(shù)改變時(shí),相應(yīng)的調(diào)整反量化參數(shù)。
進(jìn)一步的,,所述編碼方式為熵編碼方式。
進(jìn)一步的,所述量化步驟在同一幀圖像內(nèi)采用相同的量化參數(shù)。
本發(fā)明提出的圖像壓縮裝置和方法與現(xiàn)有技術(shù)相比具有如下有益效果通過(guò)監(jiān)視碼流緩沖區(qū)的飽和程度,及時(shí)通知量化單元調(diào)整量化參數(shù),從而在保證圖像壓縮質(zhì)量的前提下使碼流緩沖區(qū)的飽和程度維持在可以接受的范圍內(nèi),防止碼流溢出。
圖1是本發(fā)明圖像壓縮裝置的功能方框圖;
圖2是本發(fā)明中根據(jù)已知像素點(diǎn)預(yù)測(cè)其他像素點(diǎn)的示意圖;圖3是本發(fā)明中殘差概率分布示意圖;圖4是本發(fā)明中熵編碼的示意圖;和圖5是本發(fā)明調(diào)整了量化參數(shù)之后的殘差概率分布圖。
具體實(shí)施例方式
請(qǐng)參看圖1所示,本發(fā)明提供了一種圖像壓縮裝置100,其包括預(yù)測(cè)單元110、量化單元120、編碼單元130、碼流緩沖區(qū)140、重構(gòu)單元150和監(jiān)測(cè)單元160。
所述預(yù)測(cè)單元110用來(lái)根據(jù)先前重構(gòu)像素點(diǎn)的值對(duì)當(dāng)前像素點(diǎn)的值進(jìn)行預(yù)測(cè)編碼并輸出一個(gè)預(yù)測(cè)值102,所述預(yù)測(cè)值102和當(dāng)前像素點(diǎn)的值103相減得到殘差104,后將殘差104輸入到量化單元120。所述量化單元120對(duì)輸入的殘差進(jìn)行量化并將量化結(jié)果發(fā)送到編碼單元130進(jìn)行編碼,同時(shí)也將量化結(jié)果發(fā)送到重構(gòu)單元。所述編碼單元130對(duì)量化過(guò)的殘差進(jìn)行編碼并將產(chǎn)生的碼流105傳輸給碼流緩沖區(qū)140。所述碼流緩沖區(qū)140接收到編碼碼流105之后通過(guò)USB接口將編碼碼流105發(fā)送到接收端(未在圖中示出)。所述重構(gòu)單元150接收量化單元的量化殘差并對(duì)此量化殘差進(jìn)行反量化產(chǎn)生重構(gòu)殘差106,產(chǎn)生的重構(gòu)殘差106和所述預(yù)測(cè)單元110的預(yù)測(cè)值相加即生成預(yù)測(cè)單元110需要的重構(gòu)像素點(diǎn)的值。所述監(jiān)測(cè)單元160連接在碼流緩沖區(qū)140上用于監(jiān)測(cè)碼流緩沖區(qū)的飽和程度,在碼流緩沖區(qū)的飽和程度大于或小于設(shè)定閾值時(shí),通知量化單元120更改量化參數(shù),以調(diào)整流向碼流緩沖區(qū)140的碼率,從而防止了出現(xiàn)碼流溢出的情形,同時(shí)需要通知所述重構(gòu)單元150調(diào)整反量化參數(shù)。
下面分別對(duì)本發(fā)明圖像壓縮裝置100中各個(gè)模塊的具體工作原理進(jìn)行介紹。
所述預(yù)測(cè)單元110的具體的預(yù)測(cè)過(guò)程,請(qǐng)參看圖2所示。每一幅圖像都是由一個(gè)個(gè)像素組成,用已知像素點(diǎn)的值可以大概判斷出未知像素點(diǎn)的值?,F(xiàn)在用已知三個(gè)點(diǎn)的值來(lái)預(yù)測(cè)第四個(gè)點(diǎn)的值為例加以說(shuō)明,假設(shè)已知A、B、C三個(gè)像素點(diǎn)的值,那么第四個(gè)像素點(diǎn)X的預(yù)測(cè)值可計(jì)為X′=a1·A+b1·B+c1·C,其中,a1、b1、c1是三個(gè)像素點(diǎn)的取值系數(shù),取值系數(shù)的取值為公知技術(shù),在此不作贅述。為了使預(yù)測(cè)單元110能夠工作,必須將一幀圖像的第一行和第一列的像素值作為已知像素,然后預(yù)測(cè)出第二行第二列的像素點(diǎn)的值,后用重構(gòu)單元重構(gòu)出第二行第二列的像素點(diǎn)的值作為已知象素點(diǎn)的值預(yù)測(cè)第二行第三列的像素點(diǎn)的值,再后,從左到右從上到下預(yù)測(cè)一整幀圖像像素點(diǎn)的值。當(dāng)前象素點(diǎn)的預(yù)測(cè)值X′與原始值X之間有一定的差,記為Δ=X-X′,這里將這個(gè)差值定義為殘差。
請(qǐng)參看圖3所示,其為一個(gè)殘差概率分布圖,其概率分布的獲得是在系統(tǒng)設(shè)計(jì)的時(shí)候?qū)Υ罅繄D像的殘差進(jìn)行概率統(tǒng)計(jì)得出的一個(gè)經(jīng)驗(yàn)概率分布圖,該圖一旦得到便不再做修改。此圖形的形狀類(lèi)似一種高斯概率分布,其特點(diǎn)為越接近零點(diǎn)的地方概率越高,越遠(yuǎn)離零點(diǎn)的地方概率越低。在量化單元120對(duì)輸入殘差進(jìn)行量化之前,需要設(shè)定量化單元120中的量化參數(shù),其中量化參數(shù)包括量化區(qū)間數(shù)及量化步長(zhǎng),從而實(shí)現(xiàn)對(duì)殘差概率分布圖進(jìn)行量化區(qū)間劃分,并對(duì)每一個(gè)量化區(qū)間編號(hào)。如圖3所示,在一個(gè)具體的實(shí)施例中,此時(shí)量化區(qū)間數(shù)為8,每個(gè)量化區(qū)間的量化步長(zhǎng)都可以根據(jù)需要設(shè)定,一般遵從靠近0點(diǎn)量化步長(zhǎng)小遠(yuǎn)離0點(diǎn)量化步長(zhǎng)大的原則,將量化區(qū)間依次編號(hào)為0-7。如圖5所示,在另外一個(gè)具體的實(shí)施例中,此時(shí)量化區(qū)間數(shù)為4,每個(gè)量化區(qū)間的量化步長(zhǎng)都可以根據(jù)需要設(shè)定,一般遵從靠近0點(diǎn)量化步長(zhǎng)小遠(yuǎn)離0點(diǎn)量化步長(zhǎng)大的原則,將量化區(qū)間依次編號(hào)為0-4。但然,在其他的實(shí)施例中,量化區(qū)間和量化步長(zhǎng)可以根據(jù)需要設(shè)定,另外,量化參數(shù)將直接影響著解壓縮端對(duì)圖像解壓后的圖像質(zhì)量,如果量化區(qū)間越多、量化步長(zhǎng)越短,解壓后的圖像質(zhì)量就越好,和原始圖像比誤差越小,相反,解壓后的圖像質(zhì)量就越差,和原始圖像比誤差越大。量化單元120的具體量化過(guò)程就是根據(jù)輸入的殘差在殘差概率分布圖中找尋其對(duì)應(yīng)的量化區(qū)間,并將該量化區(qū)間的編號(hào)發(fā)送給編碼單元130。
所述編碼單元130用于收到量化區(qū)間編號(hào)后對(duì)其進(jìn)行編碼,編碼方式采用熵編碼(哈夫曼編碼)方式,越靠近零點(diǎn)的編碼對(duì)應(yīng)的碼長(zhǎng)越短,越遠(yuǎn)離零點(diǎn)的編碼對(duì)應(yīng)的碼長(zhǎng)越長(zhǎng)。具體請(qǐng)參看圖4,其展示了每一個(gè)量化區(qū)間編號(hào)對(duì)應(yīng)的編碼后的碼值。由于熵編碼隨著量化區(qū)間編號(hào)的增加碼字長(zhǎng)度也會(huì)隨之增加,這樣做的一個(gè)好處是由于靠近零點(diǎn)的殘差概率相對(duì)較高,且高概率的碼字短,這樣可以盡可能的縮小碼流的大小。
所述編碼單元130輸出的碼流105被送到碼流緩沖區(qū)中等待傳輸。
所述監(jiān)測(cè)單元160用于監(jiān)測(cè)碼流緩沖區(qū)的飽和度,在一個(gè)具體的實(shí)施例中,對(duì)于碼流緩沖區(qū)140,根據(jù)不同的碼流飽和度設(shè)定兩個(gè)閾值,分別記為第一閾值和第二閾值,其中第一閾值的飽和度高于或者等于第二閾值的飽和度。在一個(gè)具體的實(shí)施例中,所述碼流緩沖區(qū)大小可為10KB,所述第一閾值可定為80%,也就是在碼流緩沖區(qū)的已用容量達(dá)到8KB以上時(shí)算是超過(guò)第一閾值,所述第二閾值可定為40%,也就是在碼流緩沖區(qū)的已用容量小于4KB時(shí)算是小于第二閾值。在圖像壓縮裝置100工作開(kāi)始之前所述碼流緩沖區(qū)為空,工作開(kāi)始之后,量化單元可以根據(jù)圖3示例設(shè)定的量化參數(shù)對(duì)殘差進(jìn)行量化,碼流緩沖區(qū)開(kāi)始緩沖待傳送的編碼,當(dāng)編碼單元輸入碼流緩沖區(qū)內(nèi)的碼流大于從USB接口流出的碼流的時(shí)候,所述碼流緩沖區(qū)將會(huì)逐漸填充,當(dāng)緩沖區(qū)中飽和度達(dá)到第一閾值,也就是容量超過(guò)8KB的時(shí)候,所述監(jiān)測(cè)單元會(huì)通知量化單元調(diào)整量化參數(shù),即減少量化區(qū)間、增加量化步長(zhǎng),從而降低編碼單元輸出的碼流,比如根據(jù)圖5示例設(shè)定量化參數(shù)。請(qǐng)對(duì)比參閱量化參數(shù)調(diào)整前的殘差概率分布圖、量化參數(shù)調(diào)整后的殘差概率分布圖,這樣由于減少了量化區(qū)域的個(gè)數(shù)、增加了量化步長(zhǎng)就有可能令原本落在大編號(hào)的量化區(qū)間的殘差落在小編號(hào)的量化區(qū)間里,其平均碼字會(huì)降低,這樣流向碼流緩沖區(qū)中的碼率會(huì)降低,不過(guò)這樣做的一個(gè)不利影響是降低了壓縮圖像的質(zhì)量。與此相對(duì)應(yīng),當(dāng)編碼單元輸入碼流緩沖區(qū)內(nèi)的碼流小于從USB接口流出的碼流的時(shí)候,所述碼流緩沖區(qū)內(nèi)的數(shù)據(jù)將會(huì)逐漸減少,當(dāng)緩沖區(qū)中飽和度小于第二閾值,也就是容量小于4KB的時(shí)候,所述監(jiān)測(cè)單元會(huì)通知量化單元恢復(fù)調(diào)整前的量化參數(shù),從而增加編碼單元輸出的碼流,恢復(fù)了高畫(huà)質(zhì)圖像壓縮。為了方便實(shí)際操作,在同一幀圖像內(nèi)所述量化單元采用相同的量化參數(shù)。
所述重構(gòu)單元150用于接受量化單元的量化殘差并對(duì)此量化殘差進(jìn)行反量化產(chǎn)生重構(gòu)殘差106,這個(gè)重構(gòu)過(guò)程就是所述量化過(guò)程的一個(gè)逆過(guò)程,它采用與量化單元對(duì)殘差概率分布圖相同的量化區(qū)間的劃分。但是在一個(gè)量化區(qū)間內(nèi)的取值固定為這個(gè)量化區(qū)間的一個(gè)固定值,在一個(gè)特定的實(shí)施例中,所述固定取值為量化區(qū)間的中值。具體來(lái)說(shuō),當(dāng)重構(gòu)單元150接收到量化區(qū)間編號(hào)后,根據(jù)劃分后的殘差概率分布圖找到該量化區(qū)間編號(hào)對(duì)應(yīng)的量化殘差的中值,并將該值作為重構(gòu)殘差106。所述重構(gòu)殘差106與預(yù)測(cè)值102相加得到重構(gòu)像素點(diǎn)值。由于重構(gòu)單元150中的重構(gòu)采用與量化單元對(duì)殘差概率分布圖相同的量化區(qū)間劃分方式,因此,監(jiān)測(cè)單元在通知量化單元調(diào)整量化參數(shù)的同時(shí)也會(huì)通知重構(gòu)單元調(diào)整反量化參數(shù)。
類(lèi)似的,在另一個(gè)優(yōu)選的實(shí)施例中,可以為碼流緩沖區(qū)設(shè)定3個(gè)或者多個(gè)閾值和量化參數(shù)。以三個(gè)閾值為例,第一閾值高于或者等于第二閾值,第二閾值高于或者等于第三閾值。并設(shè)定三個(gè)不同碼流值的量化參數(shù),分別為優(yōu)質(zhì)圖像量化參數(shù)、一般圖像量化參數(shù)和較差圖像量化參數(shù)。一開(kāi)始采用優(yōu)質(zhì)圖像量化參數(shù),當(dāng)緩沖區(qū)達(dá)到第二閾值的時(shí)候控制量化單元使用一般圖像參數(shù)。如果碼流繼續(xù)堆積在碼流緩沖區(qū)中并達(dá)到第一閾值的時(shí)候控制量化單元采用較差圖像參數(shù);如果碼流逐步減少到第三閾值的時(shí)候則控制量化單元恢復(fù)優(yōu)質(zhì)圖像量化參數(shù)。當(dāng)達(dá)到第一閾值之后如果碼流飽和度回落到第二閾值,則控制量化單元使用一般圖像量化參數(shù)。
這樣當(dāng)緩沖區(qū)內(nèi)數(shù)據(jù)量比較大的時(shí)候可以及時(shí)調(diào)整碼流大小,這樣就可以保證緩沖區(qū)內(nèi)的數(shù)據(jù)不會(huì)輕易的溢出造成丟幀的現(xiàn)象。而當(dāng)緩沖區(qū)飽和度不高的時(shí)候恢復(fù)了先前的量化參數(shù),保證了圖像質(zhì)量。
本發(fā)明還提供了一種防止緩沖區(qū)溢出的方法,該方法在一個(gè)優(yōu)選的實(shí)施例中用于前述ADPCM壓縮裝置100中,但這種方法并不絕對(duì)依附于前述ADPCM壓縮裝置100。下面就以用于ADPCM壓縮裝置100中為例來(lái)說(shuō)明本發(fā)明的防止緩沖區(qū)溢出的方法。ADPCM壓縮方法包括以下步驟根據(jù)先前重構(gòu)像素點(diǎn)的值對(duì)當(dāng)前像素點(diǎn)的值進(jìn)行預(yù)測(cè)編碼并輸出一個(gè)預(yù)測(cè)值;將所述預(yù)測(cè)值和當(dāng)前像素點(diǎn)的值相減得到殘差;對(duì)所述殘差進(jìn)行量化;將量化過(guò)的殘差進(jìn)行編碼并將產(chǎn)生的碼流傳輸給碼流緩沖區(qū);對(duì)此量化殘差進(jìn)行反量化產(chǎn)生重構(gòu)殘差,并將重構(gòu)殘差和所述預(yù)測(cè)值相加生成預(yù)測(cè)編碼時(shí)需要的重構(gòu)像素點(diǎn)的值;監(jiān)測(cè)碼流緩沖區(qū)的飽和度,在碼流緩沖區(qū)的飽和度大于或小于設(shè)定閾值時(shí),調(diào)整對(duì)殘差量化時(shí)的量化參數(shù),以調(diào)整流向碼流緩沖區(qū)的碼率,從而防止了出現(xiàn)碼流溢出的情形,同時(shí)需要調(diào)整重構(gòu)時(shí)的反量化參數(shù)。
對(duì)本發(fā)明圖像壓縮方法具體的步驟執(zhí)行可以參照前文中對(duì)圖像壓縮裝置的描述,比如可以設(shè)定第一閾值和第二閾值;比如可以更改為多個(gè)閾值和多組量化參數(shù)等等,在此不一一贅述。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種圖像壓縮裝置,其包括預(yù)測(cè)單元、量化單元、編碼單元、碼流緩沖區(qū)和重構(gòu)單元,所述預(yù)測(cè)單元用來(lái)根據(jù)先前重構(gòu)像素點(diǎn)的值對(duì)當(dāng)前像素點(diǎn)的值進(jìn)行預(yù)測(cè)編碼并輸出一個(gè)預(yù)測(cè)值,所述預(yù)測(cè)值和當(dāng)前像素點(diǎn)的值相減得到殘差;所述量化單元用來(lái)對(duì)所述殘差進(jìn)行量化;所述編碼單元用來(lái)對(duì)所述量化殘差進(jìn)行編碼輸出碼流;所述碼流緩沖區(qū)緩沖所述編碼單元輸出的碼流以用以向外傳輸;所述重構(gòu)單元用來(lái)對(duì)量化單元的量化殘差進(jìn)行反量化生成重構(gòu)殘差,將重構(gòu)殘差和所述預(yù)測(cè)單元的預(yù)測(cè)值相加生成重構(gòu)像素點(diǎn)的值;其特征在于,所述裝置中還包括監(jiān)測(cè)單元,所述監(jiān)測(cè)單元連接在碼流緩沖區(qū)上用于監(jiān)測(cè)碼流緩沖區(qū)的飽和程度,在碼流緩沖區(qū)的飽和程度大于或小于設(shè)定閾值時(shí),通知量化單元更改量化參數(shù)及通知重構(gòu)單元更改反量化參數(shù)。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,對(duì)于所述碼流緩沖區(qū)的碼流飽和程度設(shè)定有第一閾值和第二閾值,所述第一閾值的碼流飽和度高于或者等于第二閾值,當(dāng)碼流飽和程度增加并達(dá)到第一閾值時(shí),所述監(jiān)測(cè)單元通知量化單元調(diào)整量化參數(shù),增加量化步長(zhǎng),減少量化區(qū)間數(shù),同時(shí)通知重構(gòu)單元相應(yīng)的調(diào)整反量化參數(shù);當(dāng)碼流飽和程度減少并達(dá)到第二閾值的時(shí)候所述監(jiān)測(cè)單元通知量化單元調(diào)整量化參數(shù),減小量化步長(zhǎng),增加量化區(qū)間數(shù),同時(shí)通知重構(gòu)單元相應(yīng)的調(diào)整反量化參數(shù)。
3.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述緩沖區(qū)的碼流飽和程度設(shè)定有第一閾值、第二閾值和第三閾值,所述第一閾值高于或者等于第二閾值,第二閾值高于或者等于第三閾值,針對(duì)不同的閾值對(duì)所述量化單元和重構(gòu)單元設(shè)定三個(gè)量化參數(shù)和相應(yīng)的反量化參數(shù),分別為優(yōu)質(zhì)圖像量化參數(shù)、一般圖像量化參數(shù)和較差圖像量化參數(shù),在所述圖像壓縮裝置啟動(dòng)時(shí)所述量化單元采用優(yōu)質(zhì)圖像量化參數(shù);當(dāng)緩沖區(qū)達(dá)到第二閾值的時(shí)候控制量化單元使用一般圖像參數(shù);如果碼流繼續(xù)堆積在碼流緩沖區(qū)中并達(dá)到第一閾值的時(shí)候控制量化單元采用較差圖像參數(shù);如果碼流逐步減少到第三閾值的時(shí)候則控制量化單元恢復(fù)優(yōu)質(zhì)圖像量化參數(shù);當(dāng)達(dá)到第一閾值之后如果碼流飽和度回落到第二閾值,則控制量化單元使用一般圖像量化參數(shù),同時(shí)當(dāng)量化參數(shù)改變時(shí),相應(yīng)的調(diào)整反量化參數(shù)。
4.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述編碼單元采用熵編碼方式。
5.根據(jù)權(quán)利要求1所述的裝置,其特征在于,在同一幀圖像內(nèi)所述量化單元采用相同的量化參數(shù)。
6.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述碼流緩沖區(qū)通過(guò)USB接口、有線(xiàn)網(wǎng)絡(luò)接口、無(wú)線(xiàn)網(wǎng)絡(luò)接口或者其它傳輸接口將編碼碼流向外傳輸。
7.一種圖像壓縮方法,其包括根據(jù)先前重構(gòu)像素點(diǎn)的值對(duì)當(dāng)前像素點(diǎn)的值進(jìn)行預(yù)測(cè)編碼并輸出一個(gè)預(yù)測(cè)值;將所述預(yù)測(cè)值和當(dāng)前像素點(diǎn)的值相減得到殘差;對(duì)所述殘差進(jìn)行量化;將量化殘差進(jìn)行編碼并將產(chǎn)生的碼流傳輸給碼流緩沖區(qū);將量化殘差進(jìn)行反量化產(chǎn)生重構(gòu)殘差,并將重構(gòu)殘差和所述預(yù)測(cè)值相加生成預(yù)測(cè)編碼時(shí)需要的重構(gòu)像素點(diǎn)的值;監(jiān)測(cè)碼流緩沖區(qū)的飽和度,在碼流緩沖區(qū)的飽和度大于或小于設(shè)定閾值時(shí),調(diào)整對(duì)殘差量化時(shí)的量化參數(shù),同時(shí)調(diào)整重構(gòu)時(shí)的反量化參數(shù)。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,對(duì)于所述碼流緩沖區(qū)的碼流飽和程度設(shè)定有第一閾值和第二閾值,所述第一閾值的碼流飽和度高于或者等于第二閾值,當(dāng)碼流飽和程度增加并達(dá)到第一閾值時(shí),所述監(jiān)測(cè)單元通知量化單元調(diào)整量化參數(shù),增加量化步長(zhǎng),減少量化區(qū)間數(shù),同時(shí)通知重構(gòu)單元相應(yīng)的調(diào)整反量化參數(shù);當(dāng)碼流飽和程度減少并達(dá)到第二閾值的時(shí)候所述監(jiān)測(cè)單元通知量化單元調(diào)整量化參數(shù),減小量化步長(zhǎng),增加量化區(qū)間數(shù),同時(shí)通知重構(gòu)單元相應(yīng)的調(diào)整反量化參數(shù)。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述緩沖區(qū)的碼流飽和程度設(shè)定有第一閾值、第二閾值和第三閾值,所述第一閾值高于或者等于第二閾值,第二閾值高于或者等于第三閾值,針對(duì)不同的閾值對(duì)所述量化單元和重構(gòu)單元設(shè)定三個(gè)量化參數(shù)和相應(yīng)的反量化參數(shù),分別為優(yōu)質(zhì)圖像量化參數(shù)、一般圖像量化參數(shù)和較差圖像量化參數(shù),在所述圖像壓縮裝置啟動(dòng)時(shí)所述量化單元采用優(yōu)質(zhì)圖像量化參數(shù);當(dāng)緩沖區(qū)達(dá)到第二閾值的時(shí)候控制量化單元使用一般圖像參數(shù);如果碼流繼續(xù)堆積在碼流緩沖區(qū)中并達(dá)到第一閾值的時(shí)候控制量化單元采用較差圖像參數(shù);如果碼流逐步減少到第三閾值的時(shí)候則控制量化單元恢復(fù)優(yōu)質(zhì)圖像量化參數(shù);當(dāng)達(dá)到第一閾值之后如果碼流飽和度回落到第二閾值,則控制量化單元使用一般圖像量化參數(shù),同時(shí)當(dāng)量化參數(shù)改變時(shí),相應(yīng)的調(diào)整反量化參數(shù)。
10.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述編碼方式為熵編碼方式,所述量化步驟在同一幀圖像內(nèi)采用相同的量化參數(shù)。
全文摘要
本發(fā)明提供了一種防止緩沖區(qū)溢出的裝置,其包括預(yù)測(cè)單元、量化單元、編碼單元、碼流緩沖區(qū)、監(jiān)測(cè)單元和重構(gòu)單元。所述預(yù)測(cè)單元用來(lái)根據(jù)先前重構(gòu)像素點(diǎn)的值對(duì)當(dāng)前像素點(diǎn)的值進(jìn)行預(yù)測(cè)編碼并輸出一個(gè)預(yù)測(cè)值,所述預(yù)測(cè)值和當(dāng)前像素點(diǎn)的值相減得到殘差,所述量化單元用來(lái)對(duì)所述殘差進(jìn)行量化,所述編碼單元用來(lái)對(duì)所述量化殘差進(jìn)行編碼輸出碼流,所述碼流緩沖區(qū)緩沖所述編碼單元輸出的碼流以用以向外傳輸,所述重構(gòu)單元用來(lái)對(duì)量化單元的量化殘差進(jìn)行反量化生成重構(gòu)殘差,將重構(gòu)殘差和所述預(yù)測(cè)單元的預(yù)測(cè)值相加生成重構(gòu)像素點(diǎn)的值。所述裝置中還包括監(jiān)測(cè)單元,所述監(jiān)測(cè)單元連接在碼流緩沖區(qū)上用于監(jiān)測(cè)碼流緩沖區(qū)的飽和程度,在碼流緩沖區(qū)的飽和程度大于或小于設(shè)定閾值時(shí),通知量化單元更改量化參數(shù)及通知重構(gòu)單元更改反量化參數(shù)。這樣當(dāng)緩沖區(qū)內(nèi)數(shù)據(jù)量比較大的時(shí)候可以及時(shí)調(diào)整碼流大小,這樣就可以保證緩沖區(qū)內(nèi)的數(shù)據(jù)不會(huì)輕易的溢出造成丟幀的現(xiàn)象。而當(dāng)緩沖區(qū)飽和度不高的時(shí)候恢復(fù)了先前的量化參數(shù),保證了圖像質(zhì)量。
文檔編號(hào)H04N7/32GK1953551SQ20061014405
公開(kāi)日2007年4月25日 申請(qǐng)日期2006年11月24日 優(yōu)先權(quán)日2006年11月24日
發(fā)明者王浩 申請(qǐng)人:北京中星微電子有限公司