專利名稱:一種圖像壓縮方法和裝置的制作方法
技術領域:
本發明涉及圖像處理技術領域,更具體地,本發明涉及一種圖像壓縮方法和裝置。
背景技術:
對圖像信息(數據)執行人為壓縮的過程稱為圖像壓縮。圖像壓縮是一種以盡可能少的比特數表示圖像或圖像中所包含信息的技術。壓縮方案可以保持原信息,即能夠從壓縮圖像中沒有誤差地重建原圖像。壓縮方案也可以非信息保持,即允許與原圖像有某種合理程度的失真。目前,常用的壓縮方法有圖像變換、預測壓縮技術、自適應壓縮技術、彩色影像壓縮、二值影像壓縮、游程編碼、“高頻分量”和“低頻分量”法等,這些方法的目的都是壓縮數據。
首先,圖像壓縮是為了減少存儲容量以利信息的保存。一般而言,單位數據的體積越小,同一數據庫存儲的圖像信息也就越多。其次,圖像壓縮有利于數據傳輸。由于數據壓縮是一種“去偽存真,去粗取精”的篩選,又由于可以用“代碼”表示一組數據,所以壓縮后的數據非常“精干”,這樣就可以極大地減少必須傳輸的數據量,以滿足人眼和機器分析的要求。第三,圖像壓縮便于特征提取,以利計算機模式識別。如用計算機對圖像中不同類型的農作物進行分類時,使用圖像壓縮方法,只要考慮區分植物與非植物的特征以及區分植物類型特征即可,從而減少了數據量又滿足了實際需要。
通常情況下,圖片文件或圖像數據可以分為計算機圖像和自然風景圖像兩大種類。只包含簡單點線面、簡單圖形的圖像稱為計算機圖像,計算機圖像具有顏色數少,且顏色值有某些方向性相同的特征。拍攝的自然風景或人物等稱為自然風景圖像,自然風景圖像具有顏色數多,且顏色值變化頻率快等特征。
圖1為典型的計算機圖像示意圖。由圖1可示意性地看出,計算機圖像的顏色數較少。圖2為典型的自然風景圖像示意圖。由圖2可示意性地看出,自然風景圖像的顏色數較多。
對于計算機圖像,選用無損壓縮算法能達到最佳壓縮比和還原效果。對于自然風景圖像,采用有損壓縮算法能達到最大壓縮比和可接受效果。Deflate是現有公開的典型無損壓縮算法之一,離散余弦變化(DCT)是現有公開的典型有損圖像壓縮算法之一。
在現有技術中,當壓縮圖像時,首先對圖像采用壓縮為JPEG圖像格式的壓縮算法(DCT),壓縮完成后再計算壓縮后圖像大小和壓縮前圖像大小的壓縮比,如果壓縮比在一定倍數以上(比如按經驗值一般在25倍以上)則認為該圖像是自然風景圖像,適合采用壓縮為JPEG的有損壓縮算法,否則認為該圖像為計算機圖像,適合使用Deflate等無損壓縮算法進行壓縮。
然而,這種方案的缺點是在這種技術中,在壓縮圖像的時候,對于計算機圖像需要壓縮兩次,第一次使用DCT算法進行壓縮以得到壓縮比倍數,當判定為計算機圖像,還需要采用Deflate等無損壓縮算法進行壓縮,因此圖像壓縮處理效率低,同時還會極大地浪費計算機運算能力。
發明內容
有鑒于此,本發明的主要目的是提出一種圖像壓縮方法,以提高圖像壓縮的處理效率。
本發明的另一目的是提出一種圖像壓縮裝置,以提高圖像壓縮的處理效率。
為達到上述目的,本發明的技術方案是這樣實現的一種圖像壓縮方法,該方法包括從圖像中選取至少兩個統計點,判斷所選取的統計點的顏色數之和是否大于預先設置的顏色數閥值,如果大于,采用有損壓縮算法對該圖像進行壓縮;如果不大于,采用無損壓縮算法對該圖像進行壓縮。
所述從圖像中選取統計點包括將圖像的對角線均分為N等分,其中N為大于等于2的正整數,然后分別從每一等分的對角線中選取統計點,使得選取的統計點至少為兩個。
所述從圖像中選取統計點包括將圖像按照面積均分為N等分,其中N為大于等于2的正整數,然后分別從每一等分的圖像中選取至少統計點,使得選取的統計點至少為兩個。
所述預先設定的顏色數閥值為16、32、64、128、或256。
所述無損壓縮算法為Deflate壓縮算法、ABO布落格壓縮算法、LZW壓縮算法、ZIP壓縮算法、RAR壓縮算法、或算術編碼壓縮算法。
所述有損壓縮算法為離散余弦變化DCT壓縮算法。
一種圖像壓縮裝置,該裝置包括統計點選擇模塊、圖像類型判別模塊和圖像壓縮模塊,其中統計點選擇模塊,用于從圖像中選取至少兩個統計點;圖像類型判別模塊,用于判斷所選取的統計點的顏色數之和是否大于預先設定的顏色數閥值;圖像壓縮模塊,用于當圖像類型判別模塊判定所選取的統計點的顏色數之和大于預先設定的顏色數閥值時,采用有損壓縮算法對該圖像進行壓縮;并用于當圖像類型判別模塊判定所選取的統計點的顏色數之和不大于預先設定的顏色數閥值時,采用無損壓縮算法對該圖像進行壓縮。
所述統計點選擇模塊,用于將圖像的對角線均分為N等分,其中N為大于等于2的正整數,然后分別從每一等分的對角線中選取至少統計點,使得選取的統計點至少為兩個。
所述統計點選擇模塊,用于將圖像按照面積均分為N等分,其中N為大于等于1的正整數,然后分別從每一等分的圖像中選取統計點,使得選取的統計點至少為兩個。
所述圖像壓縮模塊包括有損壓縮算法單元和無損壓縮算法單元,其中有損壓縮算法單元,用于當圖像類型判別模塊判定所選取的統計點的顏色數之和大于預先設定的顏色數閥值時,采用有損壓縮算法對該圖像進行壓縮;無損壓縮算法單元,用于當圖像類型判別模塊判定所選取的統計點的顏色數之和不大于預先設定的顏色數閥值時,采用無損壓縮算法對該圖像進行壓縮。
從上述技術方案中可以看出,在本發明中,首先從圖像中選取至少兩個統計點,然后判斷所選取的統計點的顏色數之和是否大于預先設置的顏色數閥值,如果大于,則采用有損壓縮算法對該圖像進行壓縮;如果不大于,則采用無損壓縮算法對該圖像進行壓縮。由此可見,應用本發明以后,首先判別圖像的類型,然后再選擇圖像類型選擇合適的壓縮算法進行壓縮,因此本發明不需要對計算機圖像壓縮兩次,所以圖像壓縮處理效率獲得了提高,同時還能夠顯著節省計算機運算能力,得到最佳壓縮比和圖像質量的壓縮后圖像。
另外,本發明中既可以從圖像的對角線中選取統計點,也可以從均分面積后的均分圖像中選取統計點,因此實現方式也非常靈活。同樣,利用統計點的顏色數之和同顏色數閥值進行比較來判斷圖像類型,實現起來也非常簡單,能夠快速地判定圖像類型。同時,壓縮算法還不局限于Defalte壓縮算法和DCT壓縮算法,具體實現的可供選擇性也非常好。
圖1為典型的計算機圖像示意圖;圖2為典型的自然風景圖像示意圖;圖3為根據本發明壓縮圖像的示范性方法流程圖;圖4為根據本發明圖像壓縮裝置的示范性結構示意圖;圖5為根據本發明實施例的圖像壓縮裝置的示范性結構示意圖。
具體實施例方式
為使本發明的目的、技術方案和優點表達得更加清楚明白,下面結合附圖及具體實施例對本發明再作進一步詳細的說明。
本發明的主要思想是在開始壓縮圖像之前,首先判定圖像的類型。對于顏色數少,且顏色值有某些方向性相同的特征的計算機圖像,采用無損壓縮算法進行壓縮;對于顏色數多,且顏色值變化頻率快的自然風景圖像,采用有損壓縮算法對該圖像進行壓縮。
圖3為根據本發明壓縮圖像的示范性方法流程圖。如圖3所示,該方法包括步驟301從圖像中選取至少兩個統計點。
在這里,可以通過多種的具體實施方式
來選取統計點,所選取的統計點應該能夠充分反映圖像的整體性質。
比如,可以將圖像的對角線均分為N等分,其中N為大于等于2的正整數,然后分別從每一等分的對角線中選取統計點,使得選取的統計點至少為兩個。例如對圖像的對角線均分為9等份,然后從每等份對角線中選取幾個隨機統計點,其中從每條對角線上獲取的統計點數目既可以相同,也可以互不相同。顯然,還可以將對角線分為8等份或16等份進行統計,等等,本發明對等分數目并無限定。
而且,既可以從一條對角線上獲取統計點,也可以從多條對角線上同時獲取統計點,并且從每條對角線上獲取的統計點數目既可以相同,也可以互不相同。
另外,不僅局限于從對角線上獲取統計點,本發明的具體實施中還可以從任意一條或者多條橫貫圖像的線條上獲取統計點,具體的獲取方式類似于從對角線上獲取。
可選地,還可以將圖像按照面積均分為N等分,其中N為大于等于2的正整數,然后分別從每一等分的圖像中選取統計點,使得選取的統計點至少為兩個。例如將圖像的圖像均分為9等份,然后從每份均分圖像中間選取幾個隨機統計點。顯然,還可以將圖像均分為8等份或16等份進行統計,等等,本發明對等分數目并無限定。
同樣,從各個均分圖像中選取的隨機統計點數目既可以是相同的,也可以是不同的。
步驟302判斷所選取的統計點的顏色數之和是否大于預先設置的顏色數閥值,如果大于,執行步驟303并結束本流程;如果不大于,執行步驟304并結束本流程。
顏色數閥值可以預先設定,設定的顏色數閥值優選為16、32、64、128、或256。一般情況下,選取的統計點數目應該大于顏色數閥值。比如當顏色數閥值為16時,所選取的統計點數目應該大于16;當顏色數閥值為256時,所選取的統計點數目應該大于256,等等。
顏色數閥值優選是可編輯的。這樣,對于不同的應用系統可以結合具體情況對顏色數閥值進行調整,從而能夠選擇出最合適的顏色數閥值。
在步驟302中,首先對所有的統計點的顏色進行統計,相同的顏色數累計統計一次,然后判斷所統計出的顏色數之和是否大于預先設置的顏色數閥值。比如,假設顏色數閥值為256,統計點一共是500個點,統計出的顏色數是260,那么必然有些點的顏色相同,此處只對這些顏色相同的點只統計一次。然后將統計出的顏色數260和顏色數閥值256進行比較。
步驟303采用有損壓縮算法對該圖像進行壓縮。
當統計出的顏色數大于顏色數閥值時,則認定該圖像為顏色數多,且顏色值變化頻率快的自然風景圖像,此時采用有損壓縮算法對其進行壓縮。
優選地,可以采用DCT有損壓縮算法進行壓縮。不過,本發明并不局限于DCT算法,任意類型的有損壓縮算法也同樣適用于本發明。
步驟304采用無損壓縮算法對該圖像進行壓縮。
當統計出的顏色數不大于顏色數閥值時,則認定圖像為顏色數少,且顏色值有某些方向性相同的特征的計算機圖像,此時采用有損壓縮算法對其進行壓縮。
優選地,可以采用Deflate無損壓縮算法進行壓縮。不過,本發明并不局限于Deflate算法,任意類型的無損壓縮算法也同樣適用于本發明。比如還可以采用ABO壓縮算法、LZW壓縮算法、ZIP壓縮算法、RAR壓縮算法、或算術編碼壓縮算法登常用的無損壓縮算法。
根據上述流程,本發明還公開了一種圖像壓縮裝置。
圖4為根據本發明實施例的圖像壓縮裝置的示范性結構示意圖。
如圖4所示,該裝置包括統計點選擇模塊401、圖像類型判別模塊402和圖像壓縮模塊403,其中統計點選擇模塊401,用于從圖像中選取至少兩個統計點;圖像類型判別模塊402,用于判斷所選取的統計點的顏色數之和是否大于預先設定的顏色數閥值;圖像壓縮模塊403,用于當圖像類型判別模塊判定所選取的統計點的顏色數之和大于預先設定的顏色數閥值時,采用有損壓縮算法對該圖像進行壓縮;并用于當圖像類型判別模塊判定所選取的統計點的顏色數之和不大于預先設定的顏色數閥值時,采用無損壓縮算法對該圖像進行壓縮。
其中,統計點選擇模塊401可以通過多種的具體實施方式
來選取統計點,所選取的統計點應該能夠充分反映圖像的整體性質。
比如,統計點選擇模塊401可以將圖像的對角線均分為N等分,其中N為大于等于2的正整數,然后分別從每一等分的對角線中選取統計點,使得選取的統計點至少為兩個。
統計點選擇模塊401既可以從一條對角線上獲取統計點,也可以從多條對角線上同時獲取統計點。比如,假設圖像有兩條對角線A和B,可以從對角線A上選取100個統計點,從對角線B上選取120個統計點,然后將這總共220個統計點當作整體所選擇的統計點。
優選地,所述統計點選擇模塊401,還可以用于將圖像按照面積均分為N等分,其中N為大于等于2的正整數,然后分別從每一等分的圖像中選取至統計點,使得選取的統計點至少為兩個。
其中,圖像壓縮模塊403所采用的無損壓縮算法優選是Deflate壓縮算法或ABO壓縮算法、LZW壓縮算法、ZIP壓縮算法、RAR壓縮算法、或算術編碼壓縮算法登無損壓縮算法。圖像壓縮模塊403所采用的有損壓縮算法優選是DCT壓縮算法。
在具體實現中,圖像壓縮模塊403既可以由一個功能模塊單獨實現,也可以通過若干個細化功能模塊而組合形成。無論是單獨實現圖像壓縮模塊403,還是通過兩個或者兩個以上的細化功能模塊組合而成圖像壓縮模塊403,均為本發明的各種具體實施方式
,應在本發明的保護范圍之內。
下面以將圖像壓縮模塊403細分為2個具體的功能單元為例說明本發明的一個具體實施例。
圖5為根據本發明實施例的圖像壓縮裝置的示范性結構示意圖。如圖5所示,該裝置包括統計點選擇模塊501、圖像類型判別模塊502和圖像壓縮模塊503,其中統計點選擇模塊501和圖像壓縮模塊503對應于圖4中的統計點選擇模塊401和圖像壓縮模塊403;圖5中的圖像壓縮模塊503,進一步包括有損壓縮算法單元5031和有損壓縮算法單元5032,其中有損壓縮算法單元5031,用于當圖像類型判別模塊502判定所選取的統計點的顏色數之和大于預先設定的顏色數閥值時,采用有損壓縮算法對該圖像進行壓縮;無損壓縮算法單元5032,用于當圖像類型判別模塊502判定所選取的統計點的顏色數之和不大于預先設定的顏色數閥值時,采用無損壓縮算法對該圖像進行壓縮;可見,有損壓縮算法單元5031和無損壓縮算法單元5032分別和圖像類型判斷模塊502相連接,并根據圖像類型判斷模塊502的判斷結果分別執行相應功能。
以上雖然以Deflate壓縮算法和DCT壓縮算法為例對本發明進行了具體闡述,但是本領域技術人員可以意識到,本發明并不應該局限于Deflate壓縮算法和DCT壓縮算法,而是可以適用于任意的有損壓縮算法和無損壓縮算法,比如,可以適用于包括ABO壓縮算法、LZW壓縮算法、ZIP壓縮算法、RAR壓縮算法、算術編碼壓縮算法在內的任一壓縮算法。
以上所述,僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種圖像壓縮方法,其特征在于,該方法包括從圖像中選取至少兩個統計點,判斷所選取的統計點的顏色數之和是否大于預先設置的顏色數閥值,如果大于,采用有損壓縮算法對該圖像進行壓縮;如果不大于,采用無損壓縮算法對該圖像進行壓縮。
2.根據權利要求1所述的圖像壓縮方法,其特征在于,所述從圖像中選取統計點包括將圖像的對角線均分為N等分,其中N為大于等于2的正整數,然后分別從每一等分的對角線中選取統計點,使得選取的統計點至少為兩個。
3.根據權利要求1所述的圖像壓縮方法,其特征在于,所述從圖像中選取統計點包括將圖像按照面積均分為N等分,其中N為大于等于2的正整數,然后分別從每一等分的圖像中選取統計點,使得選取的統計點至少為兩個。
4.根據權利要求1所述的圖像壓縮方法,其特征在于,所述預先設定的顏色數閥值為16、32、64、128、或256。
5.根據權利要求1-4中任一項所述的圖像壓縮方法,其特征在于,所述無損壓縮算法為Deflate壓縮算法、ABO布落格壓縮算法、LZW壓縮算法、ZIP壓縮算法、RAR壓縮算法、或算術編碼壓縮算法。
6.根據權利要求1-4中任一項所述的圖像壓縮方法,其特征在于,所述有損壓縮算法為離散余弦變化DCT壓縮算法。
7.一種圖像壓縮裝置,其特征在于,該裝置包括統計點選擇模塊、圖像類型判別模塊和圖像壓縮模塊,其中統計點選擇模塊,用于從圖像中選取至少兩個統計點;圖像類型判別模塊,用于判斷所選取的統計點的顏色數之和是否大于預先設定的顏色數閥值;圖像壓縮模塊,用于當圖像類型判別模塊判定所選取的統計點的顏色數之和大于預先設定的顏色數閥值時,采用有損壓縮算法對該圖像進行壓縮;并用于當圖像類型判別模塊判定所選取的統計點的顏色數之和不大于預先設定的顏色數閥值時,采用無損壓縮算法對該圖像進行壓縮。
8.根據權利要求7所述的圖像壓縮裝置,其特征在于,所述統計點選擇模塊,用于將圖像的對角線均分為N等分,其中N為大于等于2的正整數,然后分別從每一等分的對角線中選取統計點,使得選取的統計點至少為兩個。
9.根據權利要求7所述的圖像壓縮裝置,其特征在于,所述統計點選擇模塊,用于將圖像按照面積均分為N等分,其中N為大于等于1的正整數,然后分別從每一等分的圖像中選取至少統計點,使得選取的統計點至少為兩個。
10.根據權利要求7、8或9所述的圖像壓縮裝置,其特征在于,所述圖像壓縮模塊包括有損壓縮算法單元和無損壓縮算法單元,其中有損壓縮算法單元,用于當圖像類型判別模塊判定所選取的統計點的顏色數之和大于預先設定的顏色數閥值時,采用有損壓縮算法對該圖像進行壓縮;無損壓縮算法單元,用于當圖像類型判別模塊判定所選取的統計點的顏色數之和不大于預先設定的顏色數閥值時,采用無損壓縮算法對該圖像進行壓縮。
全文摘要
本發明公開了一種圖像壓縮方法,包括從圖像中選取至少兩個統計點,判斷所選取的統計點的顏色數之和是否大于預先設置的顏色數閥值,如果大于,采用有損壓縮算法對該圖像進行壓縮;如果不大于,采用無損壓縮算法對該圖像進行壓縮。本發明還公開了一種圖像壓縮裝置,其中統計點選擇模塊,用于從圖像中選取至少兩個統計點;圖像類型判別模塊,用于判斷所選取的統計點的顏色數之和是否大于預先設定的顏色數閥值;圖像壓縮模塊,用于當判定所選取的統計點的顏色數之和大于該顏色數閥值時,采用有損壓縮算法對該圖像進行壓縮,否則采用無損壓縮算法對圖像進行壓縮。應用本發明以后,圖像壓縮處理效率獲得了提高,同時還能夠節省運算能力。
文檔編號G06T9/00GK101075348SQ20061016085
公開日2007年11月21日 申請日期2006年11月30日 優先權日2006年11月30日
發明者伍海君 申請人:騰訊科技(深圳)有限公司