圖像壓縮方法和裝置制造方法
【專利摘要】公開了一種圖像壓縮方法和裝置。該方法包括:計算對任意一個片斷行進行壓縮所需的總比特長度、以及對任意一個片斷進行壓縮所需的理論比特長度;對于處于任意一個片斷行中的每個片斷,獲取用于對所述片斷進行壓縮的量化參數和壓縮模式、以及利用所獲取的量化參數和壓縮模式對所述片斷進行壓縮所需的實際比特長度;將所述片斷行中的一個或多個簡單片斷的冗余比特長度分配給所述片斷行中的一個或多個復雜片斷,并且重新獲取用于對所述一個或多個復雜片斷中的每個復雜片斷進行壓縮的量化參數和壓縮模式;以及利用所獲取的量化參數和壓縮模式對所述片斷行中的每個片斷進行壓縮。
【專利說明】圖像壓縮方法和裝置
【技術領域】
[0001]本發(fā)明涉及圖像處理領域,更具體地涉及圖像壓縮方法和裝置。
【背景技術】
[0002]目前,隨著數字視頻和數字圖像的清晰度變得越來越高、以及數字視頻的幀率變得越來越大,需要在數字視頻/圖像處理系統(tǒng)中處理的數據的尺寸變得越來越大,并且用于存儲待處理的視頻/圖像以及處理后的視頻/圖像的存儲器的尺寸和帶寬變得越來越大。
[0003]在功能模塊(即,視頻/圖像處理系統(tǒng))和片上/外部存儲器模塊之間插入嵌入式壓縮器(即,嵌入式編解碼器)在減小存儲器的尺寸和降低存儲器的帶寬方面是有效的。待處理的圖像數據在被傳輸到存儲器之前先被嵌入式壓縮器壓縮,并且壓縮后的圖像數據在被功能模塊處理之前先被嵌入式壓縮器解壓縮。
[0004]大多數現有的嵌入式圖像壓縮算法都是以固定的壓縮率對圖像進行壓縮,而不能根據不同的圖片尺寸或者不同的應用來設置壓縮率。通常,對于高清晰度的圖像,需要以高壓縮率進行壓縮;而對于尺寸較小的圖像,則以較低的壓縮率進行壓縮就足夠了。另外,壓縮率會對重建圖像的質量產生影像。壓縮率越低,解壓縮得出的重建圖像的質量就越高。
[0005]在圖像處理系統(tǒng)中,為了節(jié)省帶寬和存儲器,每次請求都希望只請求有用數據,而將冗余數據減到最少,這就要求壓縮數據能夠隨機訪問,每個壓縮單元的壓縮率必須固定。而對于一副圖像,簡單平滑區(qū)域容易壓縮,能夠達到很高的壓縮率,在固定單元長度的情況下出現了很多冗余比特;復雜區(qū)域不容易壓縮,在固定壓縮率的情況下,圖像質量下降明顯。所以對同一幅圖像采用固定壓縮率不僅不能提高壓縮率還會損失圖像質量。
[0006]本發(fā)明將壓縮單元和訪問單元區(qū)分開來,在保證壓縮率和圖像質量的基礎上做到了隨機訪問,減少了帶寬和存儲器的開銷。
【發(fā)明內容】
[0007]鑒于以上所述的問題,本發(fā)明提供了一種新穎的圖像壓縮方法和裝置。
[0008]根據本發(fā)明實施例的圖像壓縮方法用于以片斷為單位對待壓縮的圖像進行壓縮,其中待壓縮的圖像中的處于一行或多行的所有片斷組成一個片斷行。該方法包括:計算對任意一個片斷行進行壓縮所需的總比特長度、以及對任意一個片斷進行壓縮所需的理論比特長度;對于處于任意一個片斷行中的每個片斷,獲取用于對所述片斷進行壓縮的量化參數和壓縮模式、以及利用所獲取的量化參數和壓縮模式對所述片斷進行壓縮所需的實際比特長度,其中,所述片斷行中的量化參數不大于特定閾值的片斷被稱為簡單片斷,并且所述片斷行中的量化參數大于所述特定閾值的片斷被稱為復雜片斷;將所述片斷行中的一個或多個簡單片斷的冗余比特長度分配給所述片斷行中的一個或多個復雜片斷,并且重新獲取用于對所述一個或多個復雜片斷中的每個復雜片斷進行壓縮的量化參數和壓縮模式,其中,所述一個或多個簡單片斷的冗余比特長度是所述一個或多個簡單片斷中的每個簡單片斷的理論比特長度減去實際比特長度得到的比特長度之和;以及利用所獲取的量化參數和壓縮模式對所述片斷行中的每個片斷進行壓縮。
[0009]根據本發(fā)明實施例的圖像壓縮裝置用于以片斷為單位對待壓縮的圖像進行壓縮,其中待壓縮的圖像中的處于一行或多行的所有片斷組成一個片斷行。該裝置包括比特長度計算單元、壓縮參數獲取單元、壓縮參數調整單元、以及壓縮處理執(zhí)行單元,其中:比特長度計算單元用于計算對任意一個片斷行進行壓縮所需的總比特長度、以及對任意一個片斷進行壓縮所需的理論比特長度。對于處于任意一個片斷行中的每個片斷,壓縮參數獲取單元用于獲取用于對所述片斷進行壓縮的量化參數和壓縮模式、以及利用所獲取的量化參數和壓縮模式對所述片斷進行壓縮所需的實際比特長度,其中,所述片斷行中的量化參數不大于特定閾值的片斷被稱為簡單片斷,并且所述片斷行中的量化參數大于所述特定閾值的片斷被稱為復雜片斷;壓縮參數調整單元用于將所述片斷行中的一個或多個簡單片斷的冗余比特長度分配給所述片斷行中的一個或多個復雜片斷,并且重新獲取用于對所述一個或多個復雜片斷中的每個復雜片斷進行壓縮的量化參數和壓縮模式,其中,所述一個或多個簡單片斷的冗余比特長度是所述一個或多個簡單片斷中的每個簡單片斷的理論比特長度減去實際比特長度得到的比特長度之和;以及壓縮處理執(zhí)行單元用于利用所獲取的量化參數和壓縮模式對所述片斷行中的每個片斷進行壓縮。
[0010]本發(fā)明將圖像壓縮單元和壓縮圖像的訪問單元區(qū)分開來,在平衡圖像平滑區(qū)域和復雜區(qū)域的壓縮率與圖像質量的基礎上,能夠達到以隨機訪問單元為單位的隨機訪問。
【專利附圖】
【附圖說明】
[0011]從下面結合附圖對本發(fā)明的【具體實施方式】的描述中可以更好地理解本發(fā)明,其中:
[0012]圖1示出了根據本發(fā)明實施例的圖像壓縮裝置的框圖;
[0013]圖2示出了根據本發(fā)明實施例的圖像壓縮方法的流程圖。
【具體實施方式】
[0014]下面將詳細描述本發(fā)明各個方面的特征和示例性實施例。下面的描述涵蓋了許多具體細節(jié),以便提供對本發(fā)明的全面理解。但是,對于本領域技術人員來說顯而易見的是,本發(fā)明可以在不需要這些具體細節(jié)中的一些細節(jié)的情況下實施。下面對實施例的描述僅僅是為了通過示出本發(fā)明的示例來提供對本發(fā)明更清楚的理解。本發(fā)明絕不限于下面所提出的任何具體配置和算法,而是在不脫離本發(fā)明的精神的前提下覆蓋了相關元素、部件和算法的任何修改、替換和改進。
[0015]在硬件設計中,為了實現真正的帶寬減小,需要使數據具有可隨機訪問性。這樣,所需要的任何部分可以被隨機訪問而無需對其他部分進行解壓縮,并且可以通過僅發(fā)送必需數據來最小化延遲和帶寬。根據本發(fā)明的圖像壓縮方法和裝置是以片斷為單位來實現對圖像的壓縮處理的(即,將待壓縮的圖像劃分成尺寸相同的多個片斷,并且分別對每個片斷進行壓縮處理)。這里,片斷的尺寸和壓縮率可以由用戶自由配置,并且對應于每個片斷行(每個片斷行由待壓縮的圖像中的處于一行的所有片斷組成)的壓縮后的圖像數據的比特長度是固定的。所以,根據本發(fā)明的圖像壓縮方法和裝置支持以片斷行為單位對壓縮后的圖像數據進行隨機訪問。
[0016]圖1示出了根據本發(fā)明實施例的圖像壓縮裝置的框圖。圖2示出了根據本發(fā)明實施例的圖像壓縮方法的流程圖。下面,結合圖1和圖2詳細描述根據本發(fā)明實施例的圖像壓縮裝置和方法。
[0017]如圖1所示,根據本發(fā)明實施例的圖像壓縮裝置包括比特長度計算單元102、壓縮參數獲取單元104、壓縮參數調整單元106、以及壓縮處理執(zhí)行單元108。
[0018]比特長度計算單元102計算對任意一個片斷行SL進行壓縮所需的總比特長度、以及對每個片斷進行壓縮所需的理論比特長度(即,執(zhí)行步驟S202)。對于片斷行SL中的每個片斷P,壓縮參數獲取單元104獲取用于對片斷P進行壓縮的量化參數和壓縮模式、以及利用所獲取的量化參數和壓縮模式對片斷P進行壓縮所需的實際比特長度(即,執(zhí)行步驟S204)。其中,片斷行SL中的量化參數不大于預定閾值的片斷被稱為簡單片斷,并且片斷行SL中的量化參數大于預定閾值的片斷被稱為復雜片斷。壓縮參數調整單元106將片斷行SL中的一個或多個簡單片斷的冗余比特長度分配給片斷行SL中的一個或多個復雜片斷,并且重新獲取用于對每個復雜片斷進行壓縮的量化參數和壓縮模式(即,執(zhí)行步驟S206)。其中,一個或多個簡單片斷的冗余比特長度是每個簡單片斷的理論比特長度減去實際比特長度得到的比特長度之和。壓縮處理執(zhí)行單元108利用所獲取的量化參數和壓縮模式對片斷行SL中的每個片斷進行壓縮(即,執(zhí)行步驟S208)。
[0019]下面,詳細說明每個單元和步驟的具體處理。
[0020]1.計算片斷行SL的總比特長度和每個片斷的理論比特長度。
[0021]在根據本發(fā)明實施例的圖像壓縮方法和裝置中,圖像被以片斷為單位進行壓縮。其中,對片斷行進行壓縮所需的總比特長度、和對每個片斷進行壓縮所需的理論比特長度是固定的。在對待壓縮的圖像中的`每個片斷進行壓縮之前,首先需要計算對片斷行SL進行壓縮所需的總比特長度和對每個片斷進行壓縮所需的理論比特長度。
[0022]具體地,對于片斷行SL中的任意一個片斷P,根據以下等式計算對片斷P進行壓縮所需的理論比特長度SBL:
[0023]
SBL - \_SWidth x SHeight x 8 x C7?」
[0024]其中,SWidth表示片斷P的寬度(即,片斷P在寬度方向包含的像素數目),SHeight表示片斷P的高度(即,片斷P在高度方向包含的像素數目),CR表示用戶預先設置的壓縮率,8是對每個像素進行編碼所需的比特數。注意,待壓縮的圖像被劃分為了尺寸相同的多個片斷,因此用于對每個片斷進行壓縮所需的理論比特長度是相同的。
[0025]接著,根據以下等式計算對片斷P所在的片斷行SL進行壓縮所需的總比特長度LBL。
[0026]
LBL =「(IWidth x SHeight x 8 x CR) /8]χ8
[0027]其中,Iwidth表示片斷行SL的寬度(即,片斷行SL在寬度方向包含的像素數目),SHeight表示片斷行SL的高度(由于片斷行L由多個片斷排列而成,所以片斷行SL的高度即是片斷的高度),CR表示用戶預先設置的壓縮率,8是對每個像素進行壓縮所需的比特數。[0028]2.獲取用于對片斷行SL中的每個片斷P進行壓縮的量化參數和壓縮模式。
[0029]針對量化參數(QP)和壓縮模式的每種組合計算對片斷P進行壓縮所需的實際比特長度,并且選擇滿足以下條件的最小量化參數和與該量化參數相對應的壓縮模式作為用于片斷P的量化參數和壓縮模式:利用該量化參數和該壓縮模式對片斷P進行壓縮所需的實際比特長度小于或者等于片斷P的理論比特長度。這里,將量化參數大于預定閾值的片斷稱為復雜片斷,并將量化參數不大于預定閾值的片斷稱為簡單片斷。
[0030]在圖像壓縮處理中,很容易使用較少的比特對平滑片斷進行壓縮,但是通常需要較多比特對復雜片斷進行壓縮。在大多數情況下,一個片斷的實際比特長度并不一定等于該片斷的理論比特長度,而可能少于其理論比特長度。在本發(fā)明的實施例中,可以通過將片斷行SL中的在量化參數不大于預定閾值的情況下實際比特長度小于理論比特長度的片斷(即,簡單片斷)的多余碼長分配給片斷行SL中的量化參數大于預定閾值的情況下實際比特長度才小于理論比特長度的片斷(即,復雜片斷)來實現對于復雜片斷的高質量壓縮。
[0031]3.針對復雜片斷的編碼參數調整
[0032]將片斷行SL中的一個或多個簡單片斷的冗余比特長度分配給片斷行SL中的一個或多個復雜片斷,并且重新獲取用于對每個復雜片斷進行壓縮的量化參數和壓縮模式。
[0033]這里,將一個或多個簡單片斷的冗余比特長度平均分配給一個或多個復雜片斷。對于一個或多個復雜片斷中的任意一個復雜片斷,選擇滿足以下條件的最小量化參數和與其對應的壓縮模式作為用于該復雜片斷的量化參數和壓縮模式:利用該量化參數和該壓縮模式對該復雜片斷進行壓縮所需的實際比特長度小于或者等于該復雜片斷的理論比特長度和分配給該復雜片斷的冗余比特長度之和。
[0034]需要說明的是,如果通過處理3)獲取的復雜片斷PC1、PC3的量化參數大于預定閾值,而復雜片斷PC2、PC4、PC5的量化參數不大于預定閾值,則可以將PC2、PC4、PC5的冗余比特長度(即,它們的理論比特長度和分配給它們的冗余比特長度之和減去它們的實際比特長度得到的比特長度之和)分配給PC1、PC3,并且按照以上處理重新確定用于PCl和PC3的量化參數和壓縮模式。
[0035]4.執(zhí)行壓縮處理
[0036]利用處理2)中獲取的用于簡單片斷的量化參數和壓縮模式對簡單片斷進行壓縮處理,并且利用處理3)中獲取的用于復雜片斷的量化參數和壓縮模式對復雜片斷進行壓縮處理。
[0037]下面描述利用以上所述的圖像壓縮方法和裝置對待壓縮的圖像示例進行壓縮的過程。
[0038]這里,假設待壓縮圖像為1920X1080像素的8比特YUV圖像,片斷行的尺寸為1920X1像素,片斷的尺寸為16X I像素,壓縮率為0.6。詳細的壓縮處理過程如下:
[0039]1.計算每個片斷的理論比特長度和每個片斷行的總比特長度。
[0040]SBL =向下取整(16*1*8*0.6) = 76 比特
[0041]LBL =向上取整((1920*1*8*0.6)/8) = 9216 比特
[0042]2.逐一對當前片斷行內所包含的片斷進行量化參數和壓縮模式選擇。
[0043]這里,預設四種量化等級。其中,等級O為不量化,保持原始精度;等級1/2/3降低精度以減少比特數。[0044]片斷O:采用量化等級O即可以將原始數據壓縮到68比特,相對理論比特長度節(jié)余8比特。
[0045]片斷1:采用量化等級O無法將原始數據壓縮到76比特;嘗試采用量化等級1,滿足條件,在量化等級I的情況下可以將原始數據壓縮到70比特,相對于理論比特長度結余6比特。
[0046]片斷2:采用量化等級0/1/2均無法將原始數據壓縮到76比特以內;采用量化等級3。
[0047]............[0048]分別統(tǒng)計除量化等級3之外,各個量化等級所節(jié)余的比特數。
[0049]如果量化等級3存在,將量化等級為0/1/2的片斷(B卩,簡單片斷)節(jié)余的比特數重新平均分配給所有量化等級為3的片斷(即,復雜片斷)。由此原量化等級為3的片斷能占用到的比特長度變?yōu)?SBL+節(jié)余比特數目總合/量化等級3的片斷數目)。根據新取得的比特長度,再對量化等級為3的片斷進行量化等級選??;重復此過程,直至沒有量化等級3的片斷,或者所有片斷的模式不再變化。
[0050]如果量化等級3不存在,則按照上述方法優(yōu)化量化等級為2的片斷。
[0051]如果量化等級2/3均不存在,則按照上述方法優(yōu)化量化等級為I的片斷。
[0052]如果量化等級1/2/3均不存在,則無需進行優(yōu)化。
[0053]按照通過以上處理選取的量化參數和壓縮模式逐一對片斷進行壓縮。當片斷行內所有片斷的壓縮完畢之后,例如所用9200比特,則在末尾填充16比特0,以保證隨機訪問。
[0054]本發(fā)明將圖像壓縮單元和壓縮圖像的訪問單元區(qū)分開來,在平衡圖像平滑區(qū)域和復雜區(qū)域的壓縮率與圖像質量的基礎上,能夠達到以隨機訪問單元為單位的隨機訪問。
[0055]以上已經參考本發(fā)明的具體實施例來描述了本發(fā)明,但是本領域技術人員均了解,可以對這些具體實施例進行各種修改、組合和變更,而不會脫離由所附權利要求或其等同物限定的本發(fā)明的精神和范圍。
[0056]根據需要可以用硬件或軟件來執(zhí)行步驟。注意,在不脫離本發(fā)明范圍的前提下,可向本說明書中給出的流程圖添加步驟、從中去除步驟或修改其中的步驟。一般來說,流程圖只是用來指示用于實現功能的基本操作的一種可能的序列。
[0057]本發(fā)明的實施例可利用編程的通用數字計算機、利用專用集成電路、可編程邏輯器件、現場可編程門陣列、光的、化學的、生物的、量子的或納米工程的系統(tǒng)、組件和機構來實現。一般來說,本發(fā)明的功能可由本領域已知的任何手段來實現。可以使用分布式或聯網系統(tǒng)、組件和電路。數據的通信或傳送可以是有線的、無線的或者通過任何其他手段。
[0058]還將意識到,根據特定應用的需要,附圖中示出的要素中的一個或多個可以按更分離或更集成的方式來實現,或者甚至在某些情況下被去除或被停用。實現可存儲在機器可讀介質中的程序或代碼以允許計算機執(zhí)行上述任何方法,也在本發(fā)明的精神和范圍之內。
[0059]此外,附圖中的任何信號箭頭應當被認為僅是示例性的,而不是限制性的,除非另有具體指示。當術語被預見為使分離或組合的能力不清楚時,組件或者步驟的組合也將被認為是已經記載了。
【權利要求】
1.一種圖像壓縮方法,用于以片斷為單位對待壓縮的圖像進行壓縮,并且根據設定將所述待壓縮的圖像中的處于一行或多行的所有片斷組成一個片斷行,該方法包括:計算對任意一個片斷行進行壓縮所需的總比特長度、以及對任意一個片斷進行壓縮所需的理論比特長度;對于處于任意一個片斷行中的每個片斷,獲取用于對所述片斷進行壓縮的量化參數和壓縮模式、以及利用所獲取的量化參數和壓縮模式對所述片斷進行壓縮所需的實際比特長度,其中,所述片斷行中的量化參數不大于特定閾值的片斷被稱為簡單片斷,并且所述片斷行中的量化參數大于所述特定閾值的片斷被稱為復雜片斷;將所述片斷行中的一個或多個簡單片斷的冗余比特長度分配給所述片斷行中的一個或多個復雜片斷,并且重新獲取用于對所述一個或多個復雜片斷中的每個復雜片斷進行壓縮的量化參數和壓縮模式,其中,所述一個或多個簡單片斷的冗余比特長度是所述一個或多個簡單片斷中的每個簡單片斷的理論比特長度減去實際比特長度得到的比特長度之和;以及利用所獲取的量化參數和壓縮模式對所述片斷行中的每個片斷進行壓縮。
2.根據權利要求1所述的圖像壓縮方法,其特征在于,獲取用于對所述片斷行中的任意一個片斷進行壓縮的量化參數和壓縮模式的處理包括:計算利用量化參數和壓縮模式的每種組合對所述片斷進行壓縮所需的實際比特長度;選擇滿足以下條件的最小量化參數和與其對應的壓縮模式作為用于對所述片斷進行壓縮的量化參數和壓縮模式:利用該量化參數和該壓縮模式對所述片斷進行壓縮所需的實際比特長度小于或者 等于所述片斷的理論比特長度。
3.根據權利要求1所述的圖像壓縮方法,其特征在于,將所述一個或多個簡單片斷的冗余比特長度平均分配給所述一個或多個復雜片斷。
4.根據權利要求3所述的圖像壓縮方法,其特征在于,對于所述一個或多個復雜片斷中的任意一個復雜片斷,選擇滿足以下條件的最小量化參數和與其對應的壓縮模式作為用于對所述復雜片斷進行壓縮的量化參數和壓縮模式:利用該量化參數和該壓縮模式對所述復雜片斷進行壓縮所需的實際比特長度小于或者等于所述復雜片斷的理論比特長度和分配給所述復雜片斷的冗余比特長度之和。
5.一種圖像壓縮裝置,用于以片斷為單位對待壓縮的圖像進行壓縮,并且根據設定將所述待壓縮的圖像中的處于一行或多行的所有片斷組成一個片斷行,該裝置包括比特長度計算單元、壓縮參數獲取單元、壓縮參數調整單元、以及壓縮處理執(zhí)行單元,其中:所述比特長度計算單元用于計算對任意一個片斷行進行壓縮所需的總比特長度、以及對任意一個片斷進行壓縮所需的理論比特長度;并且對于處于任意一個片斷行中的每個片斷,所述壓縮參數獲取單元用于獲取用于對所述片斷進行壓縮的量化參數和壓縮模式、以及利用所獲取的量化參數和壓縮模式對所述片斷進行壓縮所需的實際比特長度,其中,所述片斷行中的量化參數不大于預定閾值的片斷被稱為簡單片斷,并且所述片斷行中的量化參數大于所述預定閾值的片斷被稱為復雜片斷;所述壓縮參數調整單元用于將所述片斷行中的一個或多個簡單片斷的冗余比特長度分配給所述片斷行中的一個或多個復雜片斷,并且重新獲取用于對所述一個或多個復雜片斷中的每個復雜片斷進行壓縮的量化參數和壓縮模式,其中,所述一個或多個簡單片斷的冗余比特長度是所述一個或多個簡單片斷中的每個簡單片斷的理論比特長度減去實際比特長度得到的比特長度之和;以及所述壓縮處理執(zhí)行單元用于利用所獲取的量化參數和壓縮模式對所述片斷行中的每個片斷進行壓縮。
6.根據權利要求5所述的圖像壓縮裝置,其特征在于,所述壓縮參數獲取單元通過以下處理獲取用于對所述片斷行中的任意一個片斷進行壓縮的量化參數和壓縮模式:計算利用量化參數和壓縮模式的每種組合對所述片斷進行壓縮所需的實際比特長度;選擇滿足以下條件的量化參數和與其對應的壓縮模式作為用于對所述片斷進行壓縮的量化參數和壓縮模式:利用該量化參數和該壓縮模式對所述片斷進行壓縮所需的實際比特長度小于或者等于 所述片斷的理論比特長度。
7.根據權利要求5所述的圖像壓縮裝置,其特征在于,所述壓縮參數調整單元將所述一個或多個簡單片斷的冗余比特長度平均分配給所述一個或多個復雜片斷。
8.根據權利要求7所述的圖像壓縮裝置,其特征在于,對于所述一個或多個復雜片斷中的任意一個復雜片斷,所述壓縮參數調整單元選擇滿足以下條件的量化參數和與其對應的壓縮模式作為用于對所述復雜片斷進行壓縮的量化參數和壓縮模式:利用該量化參數和該壓縮模式對所述復雜片斷進行壓縮所需的實際比特長度小于或者等于所述復雜片斷的理論比特長度和分配給所述復雜片斷的冗余比特長度之和。
【文檔編號】H04N5/917GK103428486SQ201210171037
【公開日】2013年12月4日 申請日期:2012年5月24日 優(yōu)先權日:2012年5月24日
【發(fā)明者】王爭, 朱建清 申請人:富士通株式會社