一種運動信息存儲壓縮方法
【技術領域】
[0001]本發明涉及視頻編解碼技術,尤其涉及一種視頻編解碼中運動信息存儲壓縮的方法。
【背景技術】
[0002]在視頻編碼技術中,通過利用時間域和空間域的預測來消除視頻信息在時間和空間上的冗余。幀間預測技術是一種普遍應用在視頻編解碼領域的技術。幀間預測利用已編碼幀與當前幀所包含信息存在極大的冗余這一特點,采用運動估計,能夠極大地對視頻進行壓縮。
[0003]幀間預測時,為了進一步降低運動矢量的碼率,采用了運動矢量預測技術。當前幀的運動信息可以用已編碼幀的相同位置塊(collocated塊)的運動信息來預測。為了使后續幀能夠用當前幀的運動信息進行運動矢量預測,我們需要將當前幀的運動信息存儲下來。
[0004]但是,隨著運動劃分的精細化,運動信息最小的單元可以是4x4的塊。這樣使得運動信息需要的存儲資源大大增加。例如,當以4x4為單元存儲運動信息時,如果需要存儲前向和后向運動信息,需要68bits每個存儲單元,即4.25bits/pixel。為了縮減運動信息存儲器的大小,HEVC采用了將運動信息存儲單元大小定為64x64個像素大小。并將左上角的4x4塊的運動信息作為整個運動信息存儲單元的運動信息。這樣存儲器的大小降低了 16倍。
[0005]HEVC的方案能答復縮減運動矢量存儲大小,然而,其對編碼性能也帶來了不小的損失。根據 Yeping Su 和 Andrew Segall 的提案 JCTVC-D072 “CE9:Reducedresolut1nstorage of mot1n vector data”,該技術會帶來 0.4% 到 0.6% 的性能損失。
【發明內容】
[0006]本發明的目的在于針對現有運動信息存儲壓縮技術所存在的不足之處,即降低運動信息存儲器大小的同時帶來了較大的編碼性能損失,提出了一種新的運動信息存儲壓縮方法。該運動信息存儲方法包括確定運動信息存儲單元的大小;根據運動信息存儲單元覆蓋區域所包含的多組運動信息,導出一組運動信息作為該運動信息存儲單元的運動信息。
[0007]為此,本發明的第一目的在于提供一種運動信息存儲壓縮的方法,該方法包括:
確定運動信息存儲單元的大小;
根據運動信息存儲單元大小確定運動信息存儲單元所覆蓋的區域,根據運動信息存儲單元覆蓋區域所包含的多組運動信息,導出一組運動信息作為該運動信息存儲單元的運動信息。
[0008]進一步的,所述確定運動信息存儲單元的大小包括所述運動信息存儲單元的大小是事先確定的一個值或是在碼流傳的一個值。
[0009]進一步的,所述根據運動信息存儲單元覆蓋區域所包含的多組運動信息,導出一組運動信息作為該運動信息存儲單元的運動信息,包括: 用運動信息存儲單元覆蓋區域中某個像素點的運動信息作為整個運動信息存儲單元的運動信息;或
對運動信息存儲單元所包含的多組運動信息做相應處理,導出一組運動信息作為整個運動信息存儲單元的運動信息。
[0010]進一步的,所述用用運動信息存儲單元覆蓋區域中某個像素點的運動信息作為整個運動信息存儲單元的運動信息,包括:
用運動信息存儲單元所覆蓋區域的左上角的像素的運動信息,或用運動信息存儲單元所覆蓋區域的中間像素的運動信息,或用運動信息存儲單元所覆蓋區域的右下角像素的運動信息作為整個運動信息存儲單元的運動信息;或
選擇運動信息存儲單元覆蓋區域內,所覆蓋像素點最多的運動信息作為整個運動信息存儲單元的運動信息。
[0011]進一步的,對運動信息存儲單元所包含的多組運動信息做相應處理,導出一組運動信息作為整個運動信息存儲單元的運動信息,包括:
對所述多組運動信息中的運動矢量做求平均處理,將平均后的運動矢量作為所述運動信息存儲單元的運動矢量。
[0012]進一步的,根據運動信息存儲單元覆蓋區域所包含的多組運動信息,導出一組運動信息作為該運動信息存儲單元的運動信息,還包括:
只存儲當前運動信息存儲單元所包含的前向運動矢量和前向參考幀;或既存儲當前運動信息存儲單元所包含的前向運動矢量和前向參考幀也存儲當前運動信息存儲單元所包含的后向運動矢量和后向參考中貞。
[0013]本發明的第二目的在于提供一種運動信息存儲壓縮裝置,其包括:
確定單元,用于確定運動信息存儲單元的大小;
導出單元,用于根據運動信息存儲單元大小確定運動信息存儲單元所覆蓋的區域,根據運動信息存儲單元覆蓋區域所包含的多組運動信息,導出一組運動信息作為該運動信息存儲單元的運動信息。
[0014]進一步的,所述運動信息存儲單元的大小是事先確定的一個值或是在碼流傳的一個值。
[0015]進一步的,所述運動信息存儲單元需要存儲的運動信息為運動信息存儲單元覆蓋區域中某個像素點的運動信息或對運動信息存儲單元所包含的多組運動信息做相應處理后導出的一組運動信息。
[0016]進一步的,所述運動信息存儲單元覆蓋區域中某個像素點的運動信息為運動信息存儲單元所覆蓋區域的左上角的像素的運動信息,或運動信息存儲單元所覆蓋區域的中間像素的運動信息,或運動信息存儲單元所覆蓋區域的右下角像素的運動信息,或選擇運動信息存儲單元覆蓋區域內所覆蓋像素點最多的運動信息。
[0017]進一步的,所述對運動信息存儲單元所包含的多組運動信息做相應處理然后導出一組運動信息作為整個運動信息存儲單元的運動信息為對所述多組運動信息中的運動矢量做求平均處理,將平均后的運動矢量作為所述運動信息存儲單元的運動矢量。
[0018]進一步的,所述導出單元還包括只存儲當前運動信息存儲單元所包含的前向運動矢量和前向參考幀或既存儲當前運動信息存儲單元所包含的前向運動矢量和前向參考幀也存儲當前運動信息存儲單元所包含的后向運動矢量和后向參考中貞。
[0019]本發明的有益效果是,本發明能夠在明顯降低運動信息存儲器大小的情況下,減少運動信息存儲壓縮所帶來的性能損失。
【附圖說明】
[0020]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0021]圖1為本發明實施例的運動信息存儲壓縮示意圖;
圖2為本發明一種運動信息存儲壓縮方法實施例的流程圖;
圖3為本發明另一種運動信息存儲壓縮方法實施例的流程圖;
圖4為本發明又一種運動信息存儲壓縮方法實施例的流程圖;
圖5為本發明一種運動信息存儲壓縮裝置實施例示意圖。
【具體實施方式】
[0022]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0023]實施例1
圖2為本發明實施例提供的一種運動信息存儲壓縮的方法流程圖。本實施例提供的運動信息存儲壓縮方法包括:
步驟1,確定運動信息存儲單元的大小;
具體地,一種可能的情況為,運動信息存儲單元是一個實現約定的固定大小,如16x16個像素大小或者8x8個像素大小。
[0024]步驟2,根據運動信息存儲單元覆蓋區域所包含的多組運動信息,導出一組運動信息作為該運動信息存儲單元的運動信息。
[0025]具體地,一種可能的情況為,根據步驟I確定的運動信息存儲單元內的大小,可以得到運動信息存儲單元內所有的運動信息。在AVS和HEVC中,原始運動信息存儲的最小單位為4x4像素塊。一種可能的情況為,當前運動信息存儲單元的大小為16x16,則當前運動信息存儲單元包含了 16個4x4塊,每個塊中有該塊對應的運動信息,16個塊的運動信息可能有相同的也可能有不同的。
[0026]取16x16像素塊的中間位置像素點的運動信息作為當前運動信息存儲單元的運動信息。對于包含了 16個4x4像素塊的16x16像素大小的運動信息存儲單元,取圖1中(2,2)位置的運動信息作為當前運動信息存儲單元的運動信息。對應取的像素點的坐標為相對于左上角像素點向下偏移8個像素點,向右偏移8個像素點。
[0027]對于圖像邊緣的情況,劃分出的運動信息存儲單元可能不是16x16個像素點,此時仍然取對應像素塊中間位置像素點的運動信息作為當前運動信息存儲單元的運動信息。具體的,中間位置像素點為相對于運動信息存儲單元像素塊左上角點向下偏移1/2運動信息存儲單元像素塊高,向右偏移1/2運動信息存儲單元長的像素點。<