視頻解碼數(shù)據(jù)存儲(chǔ)方法及運(yùn)動(dòng)向量數(shù)據(jù)的計(jì)算方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及圖像數(shù)據(jù)處理領(lǐng)域,具體地,是設(shè)及視頻解碼數(shù)據(jù)的存儲(chǔ)方法W及基 于該種數(shù)據(jù)存儲(chǔ)方法實(shí)現(xiàn)的運(yùn)動(dòng)向量數(shù)據(jù)的計(jì)算方法。
【背景技術(shù)】
[0002] 隨著人們對(duì)視頻圖像的質(zhì)量要求越來越高,傳統(tǒng)的視頻編碼、解碼技術(shù)已經(jīng)不 能滿足人們的對(duì)視頻圖像質(zhì)量的要求。隨著視頻圖像處理技術(shù)的進(jìn)步,現(xiàn)在的視頻編 碼、解碼技術(shù)朝著高分辨率、高帖率、高壓縮率的方向發(fā)展。為此,ITU-TVCEG(Video CodingExpertsGroup)和IS0/IECMPEG(MovingPierreExpertsGroup)聯(lián)合成立了 JCT-VC(JointColl油orativeTeamonVideoCoding)聯(lián)合組織,統(tǒng)一制定下一代編碼標(biāo) 準(zhǔn);肥VC(Hi曲EfficiencyVideoCoding)標(biāo)準(zhǔn)。
[0003] 肥VC(又名"H. 265")標(biāo)準(zhǔn)采用了大量新的技術(shù),比如更大的編碼單元、非對(duì)稱 預(yù)測(cè)運(yùn)動(dòng)向量(AMVP)、時(shí)域預(yù)測(cè)運(yùn)動(dòng)向量(TMVP)、采樣點(diǎn)自適應(yīng)偏移(SA0)、并行化設(shè)計(jì) (WPP'TIL巧等。
[0004] 肥VC標(biāo)準(zhǔn)采用3種帖類型,即一個(gè)圖像組內(nèi)的I帖、B帖和P帖,可W包含帖間和 帖內(nèi)壓縮的技術(shù)。其中I帖只包含帖內(nèi)預(yù)測(cè)單元,B帖和P帖既可W包含帖內(nèi)預(yù)測(cè)單元,也 可W包含帖間預(yù)測(cè)單元。
[0005] 肥VC標(biāo)準(zhǔn)中基本的編碼單元叫做編碼樹單元(CTU),它有S種像素尺寸,分別是 64X64、32X32、16X16。一個(gè)視頻序列中編碼樹單元的大小是固定的。64X64的編碼樹單 元可W向下分成32X32、16X16、8X8、4X4的編碼單元(CU),同理,32X32的編碼樹單元 也可W分別向下分成16X16、8X8、4X4的編碼單元,16X16的編碼樹單元可W向下分解 成8X8、4X4的編碼單元。肥VC標(biāo)準(zhǔn)中還設(shè)有預(yù)測(cè)單元(PU),它表示在參考帖中有相應(yīng)合 適的塊去匹配當(dāng)前帖的編碼單元塊的預(yù)測(cè),預(yù)測(cè)單元是由編碼單元的大小向下拆分成對(duì)稱 或者非對(duì)稱的單元,類似于2NXN、NX2N、2NX2N的單元等。
[0006] 肥VC標(biāo)準(zhǔn)中包括帖內(nèi)預(yù)測(cè)、帖間預(yù)測(cè)的技術(shù),其中帖內(nèi)預(yù)測(cè)是當(dāng)前編碼樹單元的 塊預(yù)測(cè)信息來自它周圍的像素點(diǎn),帖間預(yù)測(cè)表示它預(yù)測(cè)的塊預(yù)測(cè)信息來自相對(duì)于當(dāng)前帖時(shí) 間軸前面的帖隊(duì)列或者時(shí)間軸后面的帖隊(duì)列中的參考帖。每解碼完成一帖后,參考帖隊(duì)列 中的每一帖的標(biāo)識(shí)碼需要重排,因?yàn)闀r(shí)間在移動(dòng),帖間相關(guān)性也發(fā)生了變化。帖間預(yù)測(cè)需 要從時(shí)間軸前面的帖隊(duì)列中或者時(shí)間軸后面的帖隊(duì)列中獲取預(yù)測(cè)單元塊,該個(gè)過程叫做參 考。因此首先要知道參考的哪一帖,需要通過每一帖的標(biāo)識(shí)碼來識(shí)別所參考的是哪一帖。標(biāo) 識(shí)碼可W來自時(shí)間軸前面的帖隊(duì)列,也可W來自時(shí)間軸后面的帖隊(duì)列。獲取哪一帖后就要 知道預(yù)測(cè)單元在參考帖中的具體位置,該是一個(gè)相對(duì)位置,即相對(duì)當(dāng)前編碼單元塊的位置, 可W表示成坐標(biāo)形式狂,Y),肥VC標(biāo)準(zhǔn)中表示成運(yùn)動(dòng)向量數(shù)據(jù),X方向表示成MV_X,而Y方 向表示成MV_Y。
[0007] 肥VC標(biāo)準(zhǔn)中有前后兩個(gè)參考帖隊(duì)列,最多各有16帖,因此標(biāo)識(shí)碼除了要表示在那 個(gè)隊(duì)列中外還要表示的范圍[0~15],因此運(yùn)動(dòng)向量數(shù)據(jù)的信息更是很大的數(shù)據(jù)開銷。特 別是在4K分辨率的視頻中,MV_X或者M(jìn)V_Y的信息表示的范圍是[0~4096],該是個(gè)龐大 的數(shù)據(jù)開銷,并且該些都需要編碼。
[000引為了提高壓縮率,肥VC標(biāo)準(zhǔn)中提出了一種預(yù)測(cè)運(yùn)動(dòng)向量(MVP)的技術(shù)。由于圖像 大部分運(yùn)動(dòng)塊都是相似或者相同的,所W根據(jù)周圍編碼單元塊或者時(shí)間軸前面或者后面的 帖隊(duì)列中的參考帖的已經(jīng)編碼過的編碼單元塊的運(yùn)動(dòng)向量數(shù)據(jù)的信息去表示當(dāng)前編碼單 元需要編碼的運(yùn)動(dòng)向量數(shù)據(jù)的信息,該樣可W達(dá)到提高壓縮率的目的。
[0009] 其中有一種運(yùn)動(dòng)向量預(yù)測(cè)叫時(shí)域預(yù)測(cè)運(yùn)動(dòng)向量(TMVP),它是取時(shí)間軸對(duì)應(yīng)帖中的 相對(duì)應(yīng)塊的運(yùn)動(dòng)向量數(shù)據(jù)作為相對(duì)應(yīng)的運(yùn)動(dòng)向量數(shù)據(jù)。它提供兩種預(yù)測(cè)運(yùn)動(dòng)向量數(shù)據(jù)的候 選;一種是在對(duì)應(yīng)預(yù)測(cè)單元的右下角的一個(gè)16X16的塊的運(yùn)動(dòng)向量數(shù)據(jù),還有一種是對(duì)應(yīng) 的預(yù)測(cè)單元中間位置的16X16的塊的運(yùn)動(dòng)向量數(shù)據(jù)。第一種數(shù)據(jù)的優(yōu)先級(jí)較高,如果存在 第一種數(shù)據(jù)有效的情況下,那么第二種數(shù)據(jù)不納入候選列表。
[0010] 肥VC標(biāo)準(zhǔn)中的時(shí)域預(yù)測(cè)運(yùn)動(dòng)向量雖然可W使用很較少的開銷來解決與運(yùn)動(dòng)向量 數(shù)據(jù)有關(guān)的問題,但是需要提供很多額外的信息,如時(shí)間軸對(duì)應(yīng)帖的標(biāo)識(shí)碼、相對(duì)應(yīng)塊的運(yùn) 動(dòng)向量數(shù)據(jù)的信息等。由于每解碼完成一帖后需要保存其運(yùn)動(dòng)向量數(shù)據(jù)的信息W及一些參 考的信息,當(dāng)解碼當(dāng)前帖時(shí)需要從動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中獲取參考帖的運(yùn)動(dòng)信息數(shù)據(jù)。由 于相對(duì)應(yīng)塊的運(yùn)動(dòng)向量數(shù)據(jù)非常龐大,因此,如何讓硬件讀取該些數(shù)據(jù)速度更加高效,不浪 費(fèi)額外的帶寬浪費(fèi)成為迫切需要解決的問題。
[0011] 公告號(hào)為CN103444182的中國(guó)發(fā)明專利申請(qǐng)?zhí)峁┝艘环N存儲(chǔ)運(yùn)動(dòng)信息的方法,該 方法是將對(duì)應(yīng)運(yùn)動(dòng)向量W及相對(duì)應(yīng)塊的標(biāo)識(shí)碼放在一起存儲(chǔ),該樣的做法對(duì)于硬件而言標(biāo) 識(shí)碼只要較少的比特,如4比特的數(shù)據(jù)存儲(chǔ),而運(yùn)動(dòng)向量數(shù)據(jù)需要從16比特的位置開始存 儲(chǔ),該種數(shù)據(jù)結(jié)構(gòu)不對(duì)稱對(duì)于硬件而言需要讀取大量沒用的數(shù)據(jù),浪費(fèi)讀取數(shù)據(jù)的時(shí)間。而 且,對(duì)于標(biāo)識(shí)碼而言,由于每解碼完成一帖數(shù)據(jù)后需要做參考帖的重排,計(jì)算過程是大量的 排序計(jì)算,使用集成電路實(shí)現(xiàn)該些程序?qū)?dǎo)致電路板的面積非常大,也導(dǎo)致硬件消耗的功 率過大。
【發(fā)明內(nèi)容】
[0012] 本發(fā)明的主要目的是提供一種提高讀取運(yùn)動(dòng)向量數(shù)據(jù)速度的視頻解碼數(shù)據(jù)的存 儲(chǔ)方法。
[0013] 本發(fā)明的另一目的是提供一種讀取運(yùn)動(dòng)向量數(shù)據(jù)時(shí)占用更少帶寬的運(yùn)動(dòng)向量計(jì) 算方法。
[0014] 為了實(shí)現(xiàn)上述的主要目的,本發(fā)明提供的視頻解碼數(shù)據(jù)的存儲(chǔ)方法包括在靜態(tài)隨 機(jī)存儲(chǔ)器內(nèi)設(shè)置參考帖隊(duì)列表格,將多個(gè)參考帖的基本信息存儲(chǔ)在參考帖隊(duì)列表格內(nèi),參 考帖隊(duì)列表格的每一個(gè)單元存儲(chǔ)有一個(gè)參考帖對(duì)應(yīng)在解碼緩沖區(qū)內(nèi)的索引信息;在解碼緩 沖區(qū)內(nèi)存儲(chǔ)與索引信息對(duì)應(yīng)的多組帖緩沖信息,每一組帖緩沖信息包括帖顯示順序數(shù)據(jù)、 運(yùn)動(dòng)向量存儲(chǔ)地址信息;在動(dòng)態(tài)隨機(jī)存儲(chǔ)器內(nèi)存儲(chǔ)每一參考帖的運(yùn)動(dòng)向量數(shù)據(jù),運(yùn)動(dòng)向量 存儲(chǔ)地址信息為參考帖的對(duì)應(yīng)塊的編碼樹單元的運(yùn)動(dòng)向量數(shù)據(jù)存儲(chǔ)在動(dòng)態(tài)隨機(jī)存儲(chǔ)器的 地址信息。
[0015] 由上述方案可見,在靜態(tài)隨機(jī)存儲(chǔ)器內(nèi)只存儲(chǔ)參考帖隊(duì)列表格、多組帖緩沖信息, 通過滴解碼后獲得的參考帖的標(biāo)識(shí)碼從參考帖隊(duì)列表格獲取索引信息后可W獲得參考帖 的帖顯示順序數(shù)據(jù)、運(yùn)動(dòng)向量存儲(chǔ)地址信息,再根據(jù)運(yùn)動(dòng)向量存儲(chǔ)地址信息從動(dòng)態(tài)隨機(jī)存 儲(chǔ)器內(nèi)獲取相應(yīng)的運(yùn)動(dòng)向量數(shù)據(jù)。由于參考帖隊(duì)列表格、多組帖緩沖信息存儲(chǔ)在靜態(tài)隨機(jī) 存儲(chǔ)器內(nèi),數(shù)據(jù)的讀取速度快,而從動(dòng)態(tài)隨機(jī)存儲(chǔ)器獲取的運(yùn)動(dòng)向量數(shù)據(jù)量較少,因此視頻 數(shù)據(jù)解碼的速度較快,對(duì)硬件的開銷較小,占用的帶寬也較少。
[0016] 一個(gè)優(yōu)選的方案是,在動(dòng)態(tài)隨機(jī)存儲(chǔ)器內(nèi)連續(xù)存儲(chǔ)的運(yùn)動(dòng)向量數(shù)據(jù)為編碼樹單元 的多個(gè)編碼單元按列從左向右排列的運(yùn)動(dòng)向量數(shù)據(jù)。
[0017] 由于視頻解碼的時(shí)候可能需要使用右邊一列的運(yùn)動(dòng)向量數(shù)據(jù)作,因此多個(gè)編碼單 元的運(yùn)動(dòng)向量數(shù)據(jù)按列從左向右排列,可W方便地讀取編碼樹單元右邊一列的運(yùn)動(dòng)向量數(shù) 據(jù),減小視頻解碼時(shí)從動(dòng)態(tài)隨機(jī)存儲(chǔ)器讀取數(shù)據(jù)的量。
[0018] 進(jìn)一步的方案是,在編碼樹單元的像素小于最小存儲(chǔ)單元像素時(shí),在動(dòng)態(tài)隨機(jī)存 儲(chǔ)器內(nèi)連續(xù)存儲(chǔ)的運(yùn)動(dòng)向量數(shù)據(jù)為多個(gè)編碼樹單元按列從左向右排列的運(yùn)動(dòng)向量數(shù)據(jù)。
[0019] 由此可見,在編碼樹單元的像素較小時(shí),將多個(gè)編碼樹單元的運(yùn)動(dòng)向量數(shù)據(jù)按列 從左向右排列,有利于一次讀取多個(gè)編碼樹單元的運(yùn)動(dòng)向量數(shù)據(jù),提高視頻解碼的效率。
[0020] 進(jìn)一步的方案是,運(yùn)動(dòng)向量數(shù)據(jù)包括運(yùn)動(dòng)向量索引信息,將兩個(gè)編碼單元或者兩 個(gè)編碼樹單元的運(yùn)動(dòng)向量索引信息存儲(chǔ)在一個(gè)字內(nèi)。
[0021] 由此可見,由于運(yùn)動(dòng)向量索引信息只有0. 5個(gè)字的存儲(chǔ)容量,將兩