專利名稱:用于h.264視頻解碼系統中幀間預測過程的參考圖像管理方法
技術領域:
本發明涉及H.264視頻標準解碼系統領域,尤其是一種對于H.264解碼系統中, 在幀間預測部分的參考圖像管理方法。
背景技術:
目前,H.264視頻壓縮標準由于其優良性能,已經成為諸多視頻應用領域的主流 標準。然而,其高效的壓縮策略給解碼系統的實現也帶來了一定的難度,尤其在實時應 用領域,對解碼系統提出了更高的要求。由于H.264支持多達16個參考圖像,多個參考圖像的管理具有一定的復雜性, 這造成了基于參考圖像管理機制的運動矢量生成過程和運動補償過程成為了解碼系統中 最復雜和最耗時的兩個環節。運動矢量生成過程為當前解碼分割塊得到指向其參考像素 塊的運動矢量,其中這個參考像素塊位于16個參考圖像之一。在運動補償過程中,根據 產生的運動矢量和參考圖像索引,從參考圖像中讀取出正確的參考像素以產生當前塊的 像素值。圖1所示是傳統的定位參考像素塊的方法。當前解碼圖像首先被保存進當前圖 像緩存區。解碼完畢之后,它被轉移到解碼圖像緩存中以便后面的幀間運動補償過程使 用。一個包含16個條目的DPB_RP結構用來登記DPB的使用狀態。在新一幅圖像解 碼開始前,通過對當前DPB的圖像進行參考圖像初始化和重排序過程產生參考圖像列表
(reference picture list,簡稱RefPicList)以便當前圖像的幀間預測過程使用。參考圖像的 定位是通過refidx來得到的。在傳統的方法里,refidx首先被映射到指向登記在DPB_RP 結構里索引值(簡稱rpidx),然后rpidx再被映射到dpbidx。至此,參考圖像被定位。 具體的參考像素塊的位置通過當前解碼像素塊的運動矢量值進一步定位。很明顯,只是 一個兩步映射的策略。并且在解碼圖像的存儲過程中包含一步耗時耗能的整幅圖像搬移 過程。幀間預測過程基于大小從16x16到4x4分布的樹形宏塊分割塊結構,其運動矢量 生成過程包含空間相關預測和直接預測兩種模式,其中直接預測模式又包含空間直接預 測和時間直接預測兩種模式。時間直接預測模式的復雜度最高,在碼流中不包含任何運 動矢量相關的數據,其運動矢量(包括前向和后向)的得到是通過當前解碼分割塊和存 在于后向參考圖像里的共享參考塊的時間關系計算得出。其具體過程如下所述
步驟一得到共享塊的運動信息。共享參考圖像位于后向參考中。對于只支持幀或場的圖像組的簡單情形,當前 解碼塊在當前解碼圖像中的位置就是共享塊在共享參考圖像中的位置。對于支持宏塊級 幀場自適應和圖像級幀場自適應的視頻流,共享塊位置的得到變得復雜起來,根據當前 解碼圖像的編碼結構和共享參考圖像的編碼結構可以分成三種情形單對單,幀對場, 場對幀。然后共享參考塊的運動信息(包括共享運動矢量,簡稱mvCol,和共享圖像參考索引,簡稱refidxCol)就很容易得到了。步驟二 得到當前解碼塊的參考圖像索引
后向圖像參考索引(簡稱refidxLl)指向后向參考圖像列表中的第一個索引。前向 的參考圖像索引(簡稱refidxLO)通過映射共享參考塊的refidx來得到。由于共享參考塊 的解碼參考圖像在共享參考塊解碼時的參考圖像列表中的索引值不同與在當前參考圖像 列表中的索引值,因此兩個不同圖像參考列表需要建立一種映射關系。如前所述,這種映射關系分為三類單對單,幀對場,場對幀,如圖像2所 示。圖2 (a)表示了單對單的映射關系,這時共享參考塊和當前解碼塊屬于同一種解 碼結構。圖2 (b)表示了幀對場的映射關系,這時共享參考塊被解碼為幀塊,當前分 割塊被解碼為場塊。場對幀的映射關系與幀對場的映射關系相反,如圖2 (c)所示。傳統的映射機制是對于上述每一種映射關系都要進行從refidxCol到dpbidx的 映射,然后再映射到refidxLO的過程。如前所述,每一次的refidx到dpbidx的映射或者 從dpbidx到refidx的映射都要經過2個步驟。所以,從refidxCol到dpbidx的映射過程 包含4個步驟。效率無疑是很低的。另外,在這種傳統的映射機制下,4個映射表 refidx-rpidx, rpidx-refidx, rpidx-dpbidx, dpbidx-rpidx 對于每一幅解碼圖像者β要進行保存 了,這無疑增加不少硬件開銷。步驟三得到當前解碼塊的運動矢量
當前解碼塊的運動矢量(包括兩個方向)是通過對mvCol值進行比例劃分得到的。 比例劃分因子通過參考圖像和當前解碼圖像的圖像序號(picture order count,簡稱POC) 進行計算得到。
發明內容
為了克服已有H.264視頻解碼系統中幀間預測過程的效率較低、硬件開銷和功 耗較大、整體性能較低的不足,本發明提供一種大大提高效率、有效節省硬件開銷和功 耗、提升整體性能的用于H.264視頻解碼系統中幀間預測過程的參考圖像管理方法。本發明解決其技術問題所采用的技術方案是
一種用于H.264視頻解碼系統中幀間預測過程的參考圖像管理方法,對解碼圖像緩存 (decoded picture buffer,簡稱DPB)中的參考圖像進行初始化和重排序操作,并建立參考 圖像索引(reference index,簡稱refidx)和參考圖像在解碼圖像緩存的索引值(dpb index, 簡稱dpbidx)的直接映射關系,在解碼過程開始時,解碼圖像緩存中的第一個索引被分 配給第一幅解碼的圖像,然后索引1-16依次分配給后續的解碼圖像;當解碼第17幅圖像 時,這幅圖像被存儲進解碼圖像緩存的第17個索引,然后對解碼圖像緩存中的參考圖像 進行標記操作,從解碼圖像緩存中排出一幅圖像;空出來的解碼圖像緩存位置留作存儲 下一幅待解碼圖像;后續的解碼過程,每一幅新解碼的圖像都被存入由上次圖像標記過 程排出的圖像的位置。進一步,所述幀間預測過程采用直接預測模式,建立共享參考塊的解碼圖像緩 存索引值(簡稱為dpbidxCol)和當前分割塊的解碼圖像緩存索引值的直接關系,將解碼 圖像緩存索 引值和共享運動矢量進行統一存儲;采用共享參考塊的解碼圖像緩存索引, 在解碼共享參考塊時,存儲解碼圖像緩存的索引信息到存儲器中,解碼當前分割塊時,根據共享分割塊位置從存儲器中直接讀取相應的解碼圖像緩存索引信息進行調整,每個 分割塊的存取操作縮減為一次,得到當前解碼分割塊的參考圖像在解碼圖像緩存中的索 引。再進一步,在視頻源具有圖像級或宏塊級幀場自適應的情況下,共享參考塊所 依賴的參考塊位于頂場,底場還是幀中在解碼圖像緩存索引中進行標記;同時,共享參 考塊是采用幀內預測還是幀間預測也需要在解碼圖像緩存索引標記,解碼圖像緩存索引 采用7比特來標記所有的內容。更進一步,在對解碼圖像緩存的索引信息進行存儲時,將所需的7比特縮減為 6比特的標記調整方式,所需的標記包括對參考索引號的標記,對頂場、底場和幀的標 記,以及對幀內預測和幀間預測的標記。本發明的技術構思為通過在參考圖像管理過程中采用兩種有效的調度策略提 高以下兩個過程的效率和節省其帶來的硬件開銷和功耗
A.運動補償中參考像素定位過程
B、直接預測模式中共享參考塊解碼時的參考圖像列表和當前參考圖像列表的關系映 射過程
首先通過建立refidx和dpbidx的直接映射關系的策略提高了運動補償過程參考像素定 位的效率。該策略的特征在于
1、在對DPB中的參考圖像進行初始化和重排序操作之后建立起refidx與dpbidx的直 接映射關系,代替傳統的refidx-rpidx-dpbidx的兩層映射。2、將DPB的條目增加到17個,取消了傳統的從當前圖像緩存中整體搬移圖像 都DPB中的這個耗時耗能過程,改為解碼圖像直接被存儲進DPB,然后再進行圖像標記。其次,本發明通過在直接預測中用共享參考塊的解碼圖像緩存索引代替 refidxCol的策略簡化了不同參考列表的關系映射過程。傳統的從refidxCol到refidxLO的映射過程包含了 4個步驟。而當前解碼分割塊 通過refidx定位參考像素時,refidx需要重新映射回dpbidx。所以,在直接預測過程中為 了定位當前分割塊的參考像素,傳統方法需要6次映射過程。而根據直接預測的特征, dpbidxCol和當前分割塊的dpbidx肯定是指向DPB中的同一個索引,所以用dpbidxCol代
替refidxCol的策略將會建立從共享參考塊的參考像素位置到當前分割塊的參考像素位置 的直接映射。具體步驟包括
1、在解碼共享參考塊時存儲dpbidx信息到存儲器中,不同傳統的存儲refidx信息的 方法。2、解碼當前分割塊時,根據共享分割塊位置從存儲器中直接讀取相應的 dpbidxCol信息,根據共享參考塊的映射方式對dpbidxCol進行適當調整就可直接得到當 前解碼分割塊的參考圖像在DPB中的索引。 本發明的有益效果主要表現在
1、將傳統的兩步參考像素定位過程縮減為一步,提高了系統性能的同時,減少了映 射表的存儲和讀取操作。考慮到存儲器的存取操作占用了較大比例的系統功耗,本發明 在減小系統功耗和硬件 開銷方面都具有較大的作用。
2、將直接預測模式中參考圖像定位的六步映射過程縮減為一步,大大縮減了直 接預測模式的硬件設計復雜度,減小了硬件開銷,提高了系統性能。3、避免了解碼圖像從當前解碼圖像緩存區到DPB的整幀搬移過程,這大大提高 了系統的顯示效率,同時避免了大量的存儲器存取操作。4、本發明對于傳統的refidx-rpidx和rpidx-dpbidx的映射關系的簡化縮減了 RISC
的工作負載,大大提高了 RISC工作效率。5、對于片上存儲器的硬件開銷方面,傳統的方法需要存儲refidx-rpidx和 rpidx-dpbidx兩個映射表,需要1728比特的存儲單元。本發明提出的參考像素的直接定 位過程只需要864比特的存儲單元,減小了 50%的存儲單元的消耗。
圖1為傳統的定位參考像素塊的方法的示意圖; 圖2為不同圖像參考列表三種映射關系的示意圖; 圖3為refidx和dpbidx的直接映射示意圖4為直接映射的具體系統實現的結構圖5為將解碼圖像保存進DPB的存儲-標記過程的示意圖6為根據共享參考塊位置的映射方式對dpbidxCol進行調整策略的示意圖。
具體實施例方式下面結合附圖對本發明作進一步描述。參照圖3 圖6,一種用于H.264視頻解碼系統中幀間預測過程的參考圖像管 理方法,對解碼圖像緩存中的參考圖像進行初始化和重排序操作,并建立參考圖像索引 和參考圖像在解碼圖像緩存的索引值的直接映射關系,在解碼過程開始時,解碼圖像緩 存中的第一個索引被分配給第一幅解碼的圖像,然后索引1-16依次分配給后續的解碼圖 像;當解碼第17幅圖像時,這幅圖像被存儲進解碼圖像緩存的第17個索引,然后對解碼 圖像緩存中的參考圖像進行標記操作,從解碼圖像緩存中排出一幅圖像;空出來的解碼 圖像緩存位置留作存儲下一幅待解碼圖像;后續的解碼過程,每一幅新解碼的圖像都被 存入由上次圖像標記過程排出的圖像的位置。所述幀間預測過程采用直接預測模式,建立共享參考塊的解碼圖像緩存索引值 和當前分割塊的解碼圖像緩存索引值的直接關系,將解碼圖像緩存索引值和共享運動矢 量進行統一存儲;采用共享參考塊的解碼圖像緩存索引,在解碼共享參考塊時,存儲 解碼圖像緩存的索引信息到存儲器中,解碼當前分割塊時,根據共享分割塊位置從存儲 器中直接讀取相應的解碼圖像緩存索引信息進行調整,每個分割塊的存取操作縮減為一 次,得到當前解碼分割塊的參考圖像在解碼圖像緩存中的索引。在視頻源具有圖像級或宏塊級幀場自適應的情況下,共享參考塊所依賴的參考 塊位于頂場,底場還是幀中在解碼圖像緩存索引中進行標記;同時,共享參考塊是采用 幀內預測還是幀間預測也 需要在解碼圖像緩存索引標記,解碼圖像緩存索引采用7比特 來標記所有的內容。在對解碼圖像緩存的索引信息進行存儲時,將所需的7比特縮減為6比特的標記調整方式,所需的標記包括對參考索引號的標記,對頂場、底場和幀的標記,以及對幀 內預測和幀間預測的標記。圖3所示為refidx和dpbidx的直接映射示意圖。不同于圖1所示的傳統方法, DPB_RP結構在本發明中被省略。本發明中,這種直接映射關系通過CPU建立,DPB_RP 結構硬件不可見。具體實現如圖4所示,一個通常的網絡抽象層單元(network abstraction unit,簡稱為NALU)包含一個序列參數集(sequence parameter set,簡稱為SPS),一 個圖像參數集(picture parameter set,簡稱為PPS)和編碼的各條帶(slice)。PPS,SPS 和NALU的頭信息由CPU主系統進行解碼處理,同時CPU對DPB中的參考圖像進行初 始化和 重排序操作。然后CPU將存儲序列參數信息,圖像參數信息,條帶參數信息以及 生成的refidx-dpbidx, dpbidx-refidx兩個映射表寫進特定的寄存器或者存儲器,以便后續 的硬件加速器解碼工作時進行讀取使用。然后CPU配置并啟動硬件解碼器進行條帶數據 的解碼。當一個NALU的條帶數據解碼完畢,硬件解碼器產生一個中斷給CPU用來請求 解碼下一個NALU的條帶數據。同時,傳統的解碼-轉移-標記過程被存儲-標記過程所代替。具體步驟是如圖 5所示。在解碼過程開始時,第DPB中的第一個索引被分配給第一幅解碼的圖像。然后 索引1-16依次分配給后續的解碼圖像。當解碼第17幅圖像時,這幅圖像被存儲進DPB 的第17個索引,然后對DPB中的參考圖像進行標記操作,從DPB中排出一幅圖像。空 出來的DPB位置留作存儲下一幅待解碼圖像。后續的解碼過程,每一幅新解碼的圖像都 被存入由上次圖像標記過程排出的圖像的位置。其次,本發明在直接預測模式中建立共享參考塊的dpbidxCol和當前分割塊的 dpbidx的直接關系時,將dpbidxCol和mvCol進行統一存儲。在視頻源具有圖像級或 宏塊級幀場自適應的情況下,共享參考塊所依賴的參考塊位于頂場,底場還是幀中需要 在dpbidxCol中進行標記。同時,共享參考塊是采用幀內預測還是幀間預測也需要在 dpbidxCol標記。由于DPB中有17個條目,所以,dpbidxCol需要7比特來標記所有的 內容。而在支持4.1級別的視頻流里,mvCol的水平和垂直運動范圍分別需要14比特和 12比特來標記,所以每一個分割塊需要存儲33比特。這對于字長度存取的操作來說,每 一個分割塊需要2次存取操作。本發明對dpbidxCol的標記方式進行了調整,通過6比特 來標記上述所有信息,從而將每個分割塊的存取操作縮減為一次。如表1所示,本發明 針對三種不同情形對dpbidxCol的標記方式進行了比特縮減的調整。1. dpbidxCol比共享圖像在DPB中存儲的索引值(簡稱為dpbidxCurr)小的情 形下。2. dpbidxCol與共享圖像在DPB中存儲的索引值相同的情形下,這意味著共享 塊將其對立場的某個分割塊作為其參考塊。3. dpbidxCol比共享圖像在DPB中存儲的索引值大的情形下。表1為對dpbidxCol標記方式的調整方式
權利要求
1.一種用于H.264視頻解碼系統中幀間預測過程的參考圖像管理方法,其特征在于 對解碼圖像緩存中的參考圖像進行初始化和重排序操作,并建立參考圖像索引和參考圖 像在解碼圖像緩存的索引值的直接映射關系,在解碼過程開始時,解碼圖像緩存中的第 一個索引被分配給第一幅解碼的圖像,然后索引1-16依次分配給后續的解碼圖像;當解 碼第17幅圖像時,這幅圖像被存儲進解碼圖像緩存的第17個索引,然后對解碼圖像緩存 中的參考圖像進行標記操作,從解碼圖像緩存中排出一幅圖像;空出來的解碼圖像緩存 位置留作存儲下一幅待解碼圖像;后續的解碼過程,每一幅新解碼的圖像都被存入由上 次圖像標記過程排出的圖像的位置。
2.如權利要求1所述的用于H.264視頻解碼系統中幀間預測過程的參考圖像管理方 法,其特征在于所述幀間預測過程采用直接預測模式,建立共享參考塊的解碼圖像緩 存索引值和當前分割塊的解碼圖像緩存索引值的直接關系,將解碼圖像緩存索引值和共 享運動矢量進行統一存儲;采用共享參考塊的解碼圖像緩存索引,在解碼共享參考塊 時,存儲解碼圖像緩存的索引信息到存儲器中,解碼當前分割塊時,根據共享分割塊位 置從存儲器中直接讀取相應的解碼圖像緩存索引信息進行調整,每個分割塊的存取操作 縮減為一次,得到當前解碼分割塊的參考圖像在解碼圖像緩存中的索引。
3.如權利要求2所述的用于H.264視頻解碼系統中幀間預測過程的參考圖像管理方 法,其特征在于在視頻源具有圖像級或宏塊級幀場自適應的情況下,共享參考塊所依 賴的參考塊位于頂場,底場還是幀中在解碼圖像緩存索引中進行標記;同時,共享參考 塊是采用幀內預測還是幀間預測也需要在解碼圖像緩存索引標記,解碼圖像緩存索引采 用7比特來標記所有的內容。
4.如權利要求2所述的用于H.264視頻解碼系統中幀間預測過程的參考圖像管理方 法,其特征在于在對解碼圖像緩存的索引信息進行存儲時,將所需的7比特縮減為6比 特的標記調整方式,所需的標記包括對參考索引號的標記,對頂場、底場和幀的標記, 以及對幀內預測和幀間預測的標記。
全文摘要
一種用于H.264視頻解碼系統中幀間預測過程的參考圖像管理方法,對解碼圖像緩存中的參考圖像進行初始化和重排序操作,并建立參考圖像索引和參考圖像在解碼圖像緩存的索引值的直接映射關系,在解碼過程開始時,解碼圖像緩存中的第一個索引被分配給第一幅解碼的圖像,然后索引1-16依次分配給后續的解碼圖像;當解碼第17幅圖像時,這幅圖像被存儲進解碼圖像緩存的第17個索引,然后對解碼圖像緩存中的參考圖像進行標記操作,從解碼圖像緩存中排出一幅圖像;空出來的解碼圖像緩存位置留作存儲下一幅待解碼圖像。本發明能大大提高效率、有效節省硬件開銷和功耗、提升整體性能。
文檔編號H04N7/32GK102025992SQ20101055480
公開日2011年4月20日 申請日期2010年11月23日 優先權日2010年11月23日
發明者嚴曉浪, 李春澍, 葛海通, 馬德, 黃凱 申請人:浙江大學