專利名稱:圖像處理裝置和圖像處理方法
技術領域:
本發(fā)明涉及例如圖像編碼裝置,更具體而言,涉及在不執(zhí)行內部內反饋控制 (intra feed back control)的情況下使生成碼量(code size)與給予一幅圖片的目標碼 量匹配的技術領域。
背景技術:
在相關技術中,在用于發(fā)送運動圖像的比特流、或者在記錄介質上記錄比特流的
系統(tǒng)等中,執(zhí)行高效編碼來充分高效利用傳輸路徑或記錄容量。在實現此的圖像編碼裝置
中,使在編碼器中生成的比特流的編碼比特率恒定,以符合傳輸介質的傳送速率,并且在此
約束下控制所生成的數據量,即,在編碼器中用于量化的量化步長。換言之,例如,如果連
續(xù)存在具有復雜樣式圖樣(pattern)的連續(xù)圖像,則使量化步長較大來限制所生成的數據
量。相反,如果連續(xù)存在連續(xù)的簡單的圖像圖樣,則使量化步長校小來增加所生成的數據
量,從而在防止緩沖存儲器溢出或者下溢的情況下同時維持固定的速率。 結果,在上述根據相關技術的圖像編碼裝置中,在存在連續(xù)的復雜圖像時量化步
長變大并且圖像質量下降,而在存在連續(xù)的簡單圖像時量化步長變小,這使得不能獲得始
終一致的圖像質量??紤]到此問題,例如在專利文獻l中,公開了一種圖像編碼裝置,其中
根據每個G0P(圖像圖片組)的編碼復雜度與多個GOP的編碼復雜度的總和之比,以下述方
式計算要分配給各個GOP自身的分配碼量向對于包含具有復雜樣式圖樣的圖像的GOP給
于較大分配分配大分配量,而向對于包含具有簡單樣式圖樣的圖像的GOP給于較小分配較
小的分配量。 另一方面,例如,作為用于使生成碼量與給予一幅圖片的目標碼量匹配的方法,公 知的有TM5(測試模型5)的步驟2。這是這樣的一種技術,利用改該技術,分配給圖像圖片 的碼量在多個宏塊(MB)上均勻分布以便找出每個MB的目標碼量,并且在該圖像圖片內應 用反饋控制來實現與目標碼量的匹配。 另外,在諸如MPEG之類的冗余壓縮方法的編碼處理中,該圖像編碼裝置在經諸如 DCT(離散余弦變換)之類的正交變換后執(zhí)行量化處理,從而執(zhí)行用于減少信息量的處理。 結果,該圖像編碼裝置控制該量化的值來控制碼量。此時,在量化參數和生成碼量之間保持 了單調減小的關系。因此,該圖像編碼裝置利用適當間隔的量化值來計算碼量,并且使其中 間位置的碼量的預測值經線性內插等,從而可以預測出生成碼量(利用諸如DV之類的內 VTR執(zhí)行二元搜索等)。 該方法不僅可應用到諸如MPEG 2之類的利用固定表格的編碼方法,而且還可應 用到用于AVC等的上下文自適應編碼方法。
專利文獻1 :日本專利No. 3358620 然而,在上述TM5的步驟2的方法中,在存在如下有些情形中當在對一個序列中 的第一幅圖片或者緊跟在場景改變后的一幅圖片編碼時,量化步長的初始值與該圖像圖片 的樣式圖樣不匹配,從而導致圖像質量下降。
例如,在TM5的步驟2的方法中,在該圖像編碼裝置中,如果在直到在遵循了該樣
式圖樣前反饋控制的部分中量化步長太大,則與其他部分相比該部分的圖像質量下降。如
果量化步長太小,在該部分中則使用了太大的碼量,這甚至可能影響其他部分。 另外,在該圖像編碼裝置中,MB的目標碼量被恒定地設置為某一碼量,因此當在畫
面上存在圖像難度的偏離等時,導致不適當的碼量分布。 因此,本發(fā)明的一個目的是以可靠的方式將每幅圖像的生成碼量抑制到低于目標 碼量,而不使作為量化步長的基礎的使用量化因子偏離過大。
發(fā)明內容
在為了解決這種問題的根據本發(fā)明的圖像處理裝置中,提供了 基本量化因子確 定單元,其被配置為確定基本量化因子,該基本量化因子關于預測在對輸入圖像編碼時每
個圖像單位的生成碼量將接近所述每個圖像單位的目標碼量;編碼單元,其被配置為通過
利用至少基于所述基本量化因子確定的使用量化因子執(zhí)行量化,來針對每個反饋控制單位
對所述輸入圖像進行編碼;以及反饋控制單元,其被配置為確認由所述編碼單元針對所述
每個反饋控制單位對所述輸入圖像進行編碼的生成碼量,并且在預測所述每個圖像單位的
生成碼量將超過所述每個圖像單位的目標碼量的情況下,增大所述使用量化因子。 從而,該圖像處理裝置僅在受限的條件下增大使用量化因子,從而可以將使用量
化因子的波動抑制到最小。 另外,在根據本發(fā)明的圖像處理方法中,提供了 基本量化因子確定步驟,其被布
置為確定基本量化因子,該基本量化因子關于預測在對輸入圖像編碼時每個圖像單位的生
成碼量將接近所述每個圖像單位的目標碼量;編碼步驟,其被布置為通過利用至少基于所
述基本量化因子確定的使用量化因子執(zhí)行量化,來針對每個反饋控制單位對所述輸入圖像
進行編碼以生成編碼流;以及反饋控制步驟,其被配置為確認在所述編碼步驟中針對所述
每個反饋控制單位對所述輸入圖像進行編碼的生成碼量,并且在預測所述每個圖像單位的
生成碼量將超過所述每個圖像單位的目標碼量的情況下,增大所述使用量化因子。 從而,該圖像處理方法僅在受限的條件下增大使用量化因子,從而可以將使用量
化因子的波動抑制到最小。 根據本發(fā)明,僅在受限的條件下增大使用量化因子,從而可以將使用量化因子的 波動抑制到最小。因此,可以實現一種圖像處理裝置和圖像處理方法,由此可以以可靠的方 式將每個圖像單位的生成碼量抑制到小于目標碼量,并且不會使使用量化因子發(fā)生過大偏 離。
圖1是根據本發(fā)明第一實施例的圖像編碼裝置的配置圖。 圖2是用于描述根據本發(fā)明第一實施例的圖像編碼裝置的編碼處理過程的流程 圖。 圖3是進一步描述自適應Q矩陣交換處理的流程圖。 圖4是用于描述對具有離散值的QP執(zhí)行的糾正、以及通過關于其間QP的內插計 算出的碼量的概念圖。
圖5是根據本發(fā)明第二實施例的圖像編碼裝置的配置圖。 圖6是針對具有反饋控制的基本QP確定處理的、用于說明該處理過程的流程圖。
具體實施例方式
下面將參考附圖詳細描述用于實現本發(fā)明的最佳模式(下文簡稱為實施例)。注 意,描述將按如下順序進行。
1.第一實施例(利用離散選擇的量化參數來預測生成碼量)
2.第二實施例(反饋控制)
3.其他實施例
〈1.第一實施例> [l-l.本發(fā)明的特征] 根據本實施例的圖像編碼裝置100和圖像編碼方法具有下述特征。 該圖像編碼裝置IOO是基于利用由H. 264/AVC(高級視頻編碼;高級運動圖像壓縮
編碼標準)等代表的算術編碼的圖像壓縮方案。在執(zhí)行碼量控制時,為了實現在一幅圖片
內的有利的碼量分布,圖像編碼裝置IOO組合并行預編碼(Pre Encode)和串行預編碼。從
而,圖像編碼裝置100在限制了電路規(guī)模和等待時間(延遲時間)增大的同時執(zhí)行了高精
度預測。 更具體而言,在圖像編碼裝置100中,通過第一和第二預編碼部件1和2,僅并行執(zhí) 行量化和碼長計算部分,而其他處理元件是共享的,從而通過電路的共用縮小了電路規(guī)模。
換言之,盡管在執(zhí)行并行預編碼時通常必須提供所有并行處理元件,但是在根據 本實施例的圖像編碼裝置100中,準確識別出了在不影響精度的情況下可以共用的處理元 件,從而對于處理元件共用了電路。這限制了第一和第二預處理預編碼部件1和2自身的 電路規(guī)模以及等待時間(延遲時間)的增大。 然后,在第一預編碼部件1中,在量化參數(QP)的寬泛范圍上執(zhí)行為了限制電路 規(guī)模和處理負擔而導致精度稍稍下降的并行預編碼,從而粗略估計用于實現目標碼量的量 化參數QP。在第二預編碼部件2中,利用增強的精度在較窄的范圍上執(zhí)行并行預處理,從而 確定要在主編碼部件3中使用的基本量化參數QPffi。這樣,圖像編碼裝置100降低了處理 負擔,同時增強了圖像編碼的精度。此外,因為由于預處理的簡化而導致的誤差與比特率和 量化參數QP相關,因此預先準備了后面將詳細描述的統(tǒng)計模型,并且根據比特率和量化參 數QP來對誤差進行校正。 圖1示出并說明了根據本發(fā)明實施例的圖像編碼裝置100的配置。 圖像編碼裝置100具有第一預編碼部件1和第二預編碼部件2、主編碼部件3、碼
量控制部件4和延遲緩沖器5和6。 第 一 預編碼部件1是執(zhí)行第 一 預編碼的模塊,并且包括畫面內預測 (intra-screen prediction)模式確定部件11、畫面內預測處理部件12、 DCT(離散余弦變 換)部件13、量化部件14、熵碼長計算部件15和活動性計算部件16。 第二預編碼部件2是執(zhí)行第二預編碼的模塊,并且包括畫面內預測處理部件21、 DCT部件22、量化部件23、熵碼長計算部件24、緩沖器25、IDCT(逆DCT)部件26、和逆量化 部件27。此外,主編碼部件3是執(zhí)行主編碼的模塊,并且包括畫面內預測處理部件31、 DCT
6部件32、量化部件33、熵編碼部件34、緩沖器35、 IDCT部件36和逆量化部件37。
碼量控制部件4是執(zhí)行碼量控制的模塊。
[1-2.量化參數和量化矩陣的預測]
[1-2-1.計算低精度生成碼量] 圖像編碼裝置100根據編碼復雜度(后面將給出具體描述)來自適應地選擇并 使用例如三個量化矩陣Q Matrix。圖像編碼裝置100設置一個量化矩陣Q Matrix,并且 還通過第一預編碼部件1的簡單處理來針對正設置的量化矩陣Q Matrix可取的量化參數 QP的范圍粗略地估計生成碼量。此后,作為第一預編碼部件1的結果而估計出的生成碼 量將稱作低精度生成碼量。圖像編碼裝置100針對所有量化矩陣Q Matrix執(zhí)行相同的處 理,并且計算在改變量化矩陣Q Matrix和量化參數QP時的低精度生成碼量。然后,圖像 編碼裝置100將使得低精度生成碼量變?yōu)榈米罱咏繕舜a量的量化參數QP和量化矩陣Q Matrix設置為預測量化參數QPd(該量化參數QPd將用作下一步驟中的圖片的平均量化參 數Base QP)和將在下一步驟中使用的圖片的量化矩陣Q Matrix(下文將稱作預測量化矩 陣QMatrixD)。 此時,圖像編碼裝置100通過使用一些離散選擇的量化參數QP(下文將稱作所選 量化參數QP1)來計算輸入圖像91的低精度生成碼量。圖像編碼裝置IOO通過內插來計算 所選量化參數QP1之間的低精度生成碼量,從而針對量化矩陣Q Matrix可取的量化參數QP 的全部范圍計算低精度生成碼量。 實踐中,輸入圖像91首先被輸入到第一預編碼部件1的畫面內預測模式確定部件 11。畫面內預測模式確定部件11基于輸入圖像91生成所有畫面內預測模式的不同圖像 數據,并且還基于對不同圖像數據的生成碼量的預測來確定畫面內預測模式。該預測模式 (預測方向)是以4X4像素為最小單位從九個預測方向中確定的。 該確定出的畫面內預測模式被發(fā)送到畫面內預測處理部件12,并且還被發(fā)送到第 二預編碼部件2和主編碼部件3。該畫面內預測模式也用于第二預編碼部件2的第二編碼 和主編碼部件3的主編碼。 接下來,畫面內預測處理部件12計算預測圖像和輸入圖像91之間的差值圖像,并 且生成差值圖像數據。此時的預測圖像是從輸入圖像91創(chuàng)建的,以便減少處理。這樣,在 第一預編碼部件l中,通過利用輸入圖像執(zhí)行畫面內預測處理可以消除逆量化部件、IDCT 部件和緩沖器,從而可以縮小電路規(guī)模。 DCT部件13對差值圖像數據執(zhí)行整數精度DCT處理,從而生成DCT系數,并且然后 將它們發(fā)送到量化部件14。量化部件14對DCT系數執(zhí)行量化,生成量化的系數,并且然后 將它們發(fā)送到熵碼長計算部件15。熵碼長計算部件15通過對這些量化的系數執(zhí)行上下文 自適應可變長度編碼(CAVLC)來計算碼量。根據CAVLC,可以根據環(huán)境條件來自適應地選擇 高效編碼方案。 如上所述,第一預編碼的特征之一在于CAVLC被用于碼量計算,即使在主編碼中 CABAC(上下文自適應二進制算術編碼)被用作熵編碼方案也如此。應當注意,CABAC是上 下文自適應二進制算術編碼。 在這里,量化部件14包括并行提供的量化部件14-1、…、14-n(n = 1、2、3…),并 且熵碼長計算部件15包括并行提供的熵碼長計算部件15-1、…、15-n(n二 1、2、3…)。n
7的值被設置為例如15。量化部件14在量化部件14-l、…、14-n中的每個中設置0和51之 間的量化參數QP中的與正被設置的量化矩陣Q Matrix相對應的所選量化參數QP1。所選 量化參數QP1是從該量化矩陣Q Matrix可取的量化參數QP的范圍中、按照任意間隔離散 選擇的。注意,所選量化參數QPl可以是例如按照固定間隔選擇的,或者可以是按照隨著量 化參數QP的值而變化的間隔選擇的。在此配置下,第一預編碼部件1針對與上述并行布置 的數目相等的多個量化參數QP來并行執(zhí)行量化和碼長計算,并向碼量控制部件4輸出各個 生成碼量。 就是說,第一預編碼部件1采用量化部件14和熵碼長計算部件15來利用有限的 電路規(guī)模、通過并行預編碼來在量化參數QP的寬廣范圍上執(zhí)行第一預編碼,從而針對量化 參數QP的寬廣范圍計算生成碼量。 在這里,與畫面內預測模式確定部件11對畫面內預測模式的確定同時并行地,活
動性計算部件16計算活動性,并且按照活動性來分組每個宏塊(MB)。換言之,例如,假設分
組成NumOfActivityGroup,活動性計算部件16將活動性的值與ActivityTheshold[O]至A
ctivityTheshold[Num0fActivityGroup-2]相比較來確定活動性群組。 注意,在量化處理中實際使用的量化參數QP是通過將一偏移(Ad即tQpDelta,其
依賴于活動性群組)與圖片的平均量化參數QP(BaseQP)相加得到的。 MB—QP = BaseQp+Ad即tQpDelta [activity—group] 例如,如果NumOfActivityGroup等于13,則可以如下確定AdaptQpDelta的每個 值 Ad即tQpDelta[13] = {_6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6}。
針對每個MB確定的活動性群組號被輸入到量化部件14。量化部件14將根據該 活動性群組的偏移與每個所選量化參數QP1相加來計算自適應量化參數QPt。量化部件14 基于該自適應量化參數QPt對DCT系數執(zhí)行量化處理。 第一預編碼部件1設置下一個量化矩陣Q Matrix和與該量化矩陣QMatrix相對 應的所選量化參數QP1,從而類似地計算生成碼量。結果,第一預編碼部件1針對量化矩陣 Q Matrix和與該量化矩陣Q Matrix相對應的所選量化參數QP1獨立地計算出了生成碼量。 [OO57] [1-2-2.校正生成碼量中的誤差] 碼量控制部件4對在第一預編碼部件1中計算出的生成碼量執(zhí)行校正。
這里的校正是利用了誤差具有一定的趨勢這一事實來執(zhí)行的。
誤差的第一個原因是使用輸入圖像91用于畫面內預測處理,而不是本地解碼圖 像。在該情形中,由于用于畫面內預測的圖像不受編解碼導致的失真的影響,所以編碼效率 變得比實際編碼好,并且從而所獲得的碼量趨向于稍小。由于這種誤差的量級依賴于失真 的量級,所以生成碼量與誤差之間的關系使得隨著比特率變小誤差趨向變大。另外,量化參 數QP和誤差之間的關系使得隨著量化參數QP變大誤差趨向變大。因此,預先收集關于誤 差的量級的統(tǒng)計數據,并定義為比特率"r"和QP "q"的函數。 具體而言,碼量控制部件4針對在采用CAVLC編碼時的生成碼量,預先分別為比特 率準備每個平均誤差模型,并且為量化參數QP準備平均誤差模型。這些誤差模型預先被存 儲為例如與量化參數QP和比特率中的每個相對應的數學表達式和表。根據量化參數QP和 比特率,碼量控制部件4根據相應的誤差模型計算分別指示要校正的誤差的校正量C_rate和C_qp。在與量化參數QP和比特率相對應的校正量C_rate和C_qp中,碼量控制部件4根 據下式選擇值較小的一個作為校正量Cv。
校正量Cv = min (C_rate, C_qp) 這可以防止誤差校正的量變得太大以至于經校正的生成碼量比在第二預編碼部
件2中計算的高精度生成碼量大的情形。注意,校正量C_rate和C_qp每個指示校正量對
由第一預編碼部件1計算出的每個生成碼量(預編碼碼量)的比率(% )。 碼量控制部件4根據下式將由第一預編碼部件1計算出的每個生成碼量與校正量
Cv相乘,從而針對生成碼量計算出校正量(下文中稱作CAVLC校正碼量)。 CAVLC校正碼量=預編碼碼量X Cv 碼量控制部件4通過將CAVLC校正碼量與每個生成碼量相加來針對CAVLC計算低 精度生成碼量。 誤差的第二個原因僅在CABAC被選為熵編碼方案時發(fā)生。在第一預編碼部件1中, 不執(zhí)行利用CABAC的編碼,并且在采用CABAC編碼時的低精度生成碼量是從基于CAVLC的 碼量預測的。由于CABAC提供了比CAVLC更好的編碼效率,所以在采用CAVLC的預編碼時 的生成碼量趨向于比實際碼量稍大。例如,生成碼量與誤差之間的關系使得在統(tǒng)計上看,隨 著由于CABAC的效率提高而導致比特率變小,該誤差的量級趨向變大。類似地,這也是通過 預先收集關于誤差的量級的統(tǒng)計數據,并且準備平均誤差模型來校正的。
已發(fā)現與在基于CAVLC的碼量的編碼時發(fā)生的誤差相比,由于CABAC導致的誤差 與量化參數QP和比特率相反地改變,并且該改變量較小。 因此,針對CABAC的校正量(下文稱作CABAC校正量)被定義為比特率"r"和 QP "q"的函數。此時,校正量Cb由下式計算。
校正量Cb = min (r, q) 碼量控制部件4根據下式將由第一預編碼部件1計算出的每個生成碼量(預編碼 碼量)與校正量Cv相乘,從而針對生成碼量計算出校正量(下文稱作CABAC校正碼量)。
CABAC校正碼量=預編碼碼量X Cb 碼量控制部件4通過將CABAC校正碼量與每個低精度生成碼量相加來針對CABAC 計算低精度生成碼量。如圖2所示,碼量控制部件4可以針對由第一預編碼部件1計算出 的每個生成碼量(由方塊指示)計算經校正的CAVLC校正量和CABAC校正碼量(由黑圓指 示)。 接下來,碼量控制部件4執(zhí)行量化參數(QP)的估計處理。如上所述,第一預編碼部 件1通過對按照任意間隔選擇的量化參數QP1的離散值執(zhí)行預編碼,來獲取生成碼量。碼 量控制部件4針對量化矩陣Q Matrix可取的量化參數QP的范圍中的、除所選量化參數QP1 之外的量化參數QP,通過內插(由白圓指示)來計算生成碼量??梢允褂弥T如線性內插之 類的常見內插處理作為該內插處理。 換言之,如圖2所示,對在第一預編碼部件1中獲得的量化參數QP的離散值(由 方框指示)執(zhí)行校正來獲得經校正的量化參數QP (由黑圓指示),并且進一步通過對其間的 量化參數QP進行內插(由白圓指示)來計算碼量。 這樣,碼量控制部件4針對根據第一預編碼部件1中的簡化處理發(fā)生的生成碼量 誤差,校正了第一預編碼部件1計算出的生成碼量,從而針對CAVLC計算出低精度生成碼
9量。結果,碼量控制部件4可以通過簡化的編碼處理來增強生成碼量的預測精度。通過利用 CAVLC的低精度生成碼量,碼量控制部件4計算出了低精度生成碼量,該低精度生成碼量代 表CABAC的生成碼量的預測量。從而,碼量控制部件4可以在不執(zhí)行要求復雜處理的CABAC 的情況下估計出CABAC的低精度生成碼量。根據利用離散選擇的所選量化參數QP1預測的 低精度生成碼量,碼量控制部件4通過內插處理對除所選量化參數QP1之外的量化參數QP 預測了低精度生成碼量。結果,不需要碼量控制部件4利用所有量化參數QP來對輸入圖像 91編碼,從而可以簡化第一預編碼部件1的配置。
[1-2-3.確定預測量化矩陣] 如上所述,針對量化矩陣Q Matrix可取的所有量化參數QP計算了低精度生成碼 量。碼量控制部件4被配置為根據編碼復雜度來改變量化矩陣Q Matrix,并且基于與改變 后的量化矩陣Q Matrix相對應的低精度生成碼量來選擇最接近目標碼量的量化參數QP作 為基本量化參數QP b。 碼量控制部件4為每個量化矩陣Q Matrix選擇在產生最接近目標碼量的低精度 生成碼量時使用的量化參數QP來作為相鄰量化參數QPn。碼量控制部件4例如使用為每個 量化矩陣Q Matrix選擇的相鄰量化參數QPn作為編碼復雜度。當然,也可以使用諸如活動 性之類的其他指標。在這里,要切換使用的量化矩陣Q Matrix的數目為NumOfQMatrixId, 并且從具有最緩斜率的量化矩陣Q Matrix開始按照升序指派Id(標識符),每個量化矩陣 Q Matrix可取的范圍內的最小量化參數QP為QmatrixTheshold[Id]。
碼量控制部件4從具有最小Id值的量化矩陣Q Matrix起,將相鄰量化參數QPn與 QmatrixTheshold相比較。碼量控制部件4將相鄰量化參數QPn小于QmatrixTheshold[Id] 的量化矩陣Q Matrix中的具有最小Id的量化矩陣Q Matrix確定為預測量化矩陣Q MatrixD。碼量控制部件4將該預測量化矩陣Q MatrixD中的相鄰量化參數QPn確定為預 測量化參數QPd。 就是說,碼量控制部件4將可取低精度生成碼量最接近目標碼量的量化參數 QP的量化矩陣Q Matrix中的、具有最小斜率的量化矩陣Q Matrix作為預測量化矩陣Q MatrixD。該預測量化矩陣Q MatrixD也被用于主編碼部件3的主編碼。由于碼量控制部 件4可以使用滿足低精度生成碼量條件的量化矩陣Q Matrix中具有最小斜率的量化矩陣 Q Matrix,所以可以盡可能地防止圖像質量惡化。 注意,碼量控制部件4針對量化矩陣Q Matrix可取的所選量化參數QP1的范圍, 從具有較小Id值的量化矩陣Q Matrix起順序計算低精度生成碼量。然后,在檢測到相鄰 量化參數QPn小于QmatrixTheshold [Id]的量化矩陣Q Matrix時,碼量控制部件4確定量 化矩陣Q Matrix和相鄰量化參數QPn作為預測量化矩陣Q MatrixD和預測量化參數QPd。 此時,碼量控制部件4使第一預編碼部件1開始對下一幅圖片的處理。就是說,碼量控制部 件4不使第一預編碼部件1針對正處理的圖像計算具有下一個Id的量化矩陣Q Matrix的 低精度生成碼量。這使得碼量控制部件4可以縮短確定預測量化參數QPd和預測量化矩陣 Q MatrixD所需的處理時間。 這樣,從可取低精度生成碼量變得接近目標碼量的量化參數QP的量化矩陣Q Matrix中,碼量控制部件4選擇具有最小斜率的量化矩陣QMatrix作為預測量化矩陣Q MatrixD,以防止圖像質量惡化。碼量控制部件4選擇使得低精度生成碼量接近目標碼量的
10預測量化矩陣Q MatrixD中的量化參數QP作為預測量化參數QPd。結果,碼量控制部件4 可以選擇使低精度生成碼量最接近目標碼量的量化參數QP作為預測量化參數QPd,同時以 使圖像質量降低最小化的方式來自適應地改變量化矩陣QMatrix。
[1-3.確定基本量化參數] 第二預編碼部件2通過使用預測量化參數QPd和預測量化矩陣QMatrixD來實際 執(zhí)行與編碼器3類似的編碼,從而計算具有較高精度的高精度生成碼量。下文中,由第二預 編碼部件2計算出的生成碼量將稱作高精度生成碼量。此時,第二預編碼部件2通過使用 預測量化參數QPd以及該預測量化參數QPd前后的量化參數QP來計算高精度生成碼量,并 且通過使用它們的變化率來預測與該預測量化參數QPd相鄰的高精度生成碼量。
碼量控制部件4將每個MB的活動性群組、預測量化參數QPd和預測量化矩陣Q MatrixD提供給第二預編碼部件2。第二預編碼部件2基于這些值執(zhí)行第二預編碼。
在第二預編碼部件2中,輸入圖像91在經延遲緩沖器5延遲處理后被輸入到畫面 內預測處理部件21。畫面內預測處理部件21計算預測圖像和該輸入圖像91之間的差值, 并且生成差值圖像數據。然后,DCT部件22對該差值圖像數據執(zhí)行DCT處理來生成DCT系 數。量化部件23對這些DCT系數執(zhí)行量化處理來生成經量化的系數。熵碼長計算部件24 通過使用CAVLC或CABAC來對經量化的系數中的每個執(zhí)行熵編碼,從而計算高精度生成碼 注意,在第二預編碼部件2中的處理期間,量化部件23將經量化的系數發(fā)送到逆 量化部件27。逆量化部件27對經量化的系數應用逆量化來再現DCT系數。然后,IDCT部 件26將DCT系數變換成IDCT,從而生成本地解碼圖像,并且將該本地解碼圖像存儲到緩沖 器25中。 在這里,量化部件23在該示例中包括三級量化部件23-1、23-2和23_3。熵碼長計 算部件24在該示例中包括三級熵碼長計算部件24-1、24-2和24_3。級數僅為3的原因在 于通過寬廣范圍上的第一預編碼已粗略估計了量化參數QP。 在此配置下,量化部件23和熵碼長計算部件24利用預測量化參數QPd以及該預 測量化參數QPd前后的量化參數并行執(zhí)行處理,從而獲得高精度生成碼量。此時,熵碼長計 算部件24從CABAC/CAVLC中選擇與用于主編碼部件3中的主編碼的熵編碼方案相同的編 碼方案。 然后,碼量控制部件4從通過第二預編碼獲得的高精度生成碼量確定要在主編碼 中使用的、圉片的基本量化參數QPmb。然后,根據每個MB的活動性群組、該確定的圖片的基 本量化參數QPmb和預測量化矩陣QMatrixD,碼量控制部件4發(fā)送關于量化的信息(例如, 每個MB的QP和Q Matrix)到主編碼部件3。 更具體而言,如果目標碼量夾在第二預編碼獲得的高精度生成碼量之間,即, 如果Generated—bits(QP_precodel+l) < = Target—bits < = Generated—bits(QP_ precodel-1),則最接近目標碼量的量化參數QP被選為基本量化參數QPM。
否則,碼量控制部件4從第二預編碼的結果中尋找高精度生成碼量相對量化參數 QP的改變的變化率?;诘谝活A編碼部件1所獲得的低精度生成碼量計算預測量化參數 QPd。結果,最接近目標碼量的量化參數QP存在于該預測量化參數QPd附近。如果量化參 數QP的值接近,則生成碼量的變化率基本恒定。因此,碼量控制部件4根據該預測量化參數QPd以及在該預測量化參數QPd前后的量化參數QP的高精度生成碼量的變化率,預測各 個量化參數QP的高精度生成碼量,并且選擇最接近目標碼量的量化參數QP作為基本量化
參數QP B。 首先,從第二預編碼2的結果中如下找出DiffRatio_l, DiffRatio_l指示在量化 參數QP被減去"1"時高精度生成碼量改變的百分比。注意,Generated—bits指示第二預 編碼2中的生成碼量,QP_precodel指示預測量化參數QPd,并且QP_precodel-l指示比預 測量化參數QPd小"1"的量化參數QP。 DiffRatio_l = (Generated_bits(QP_precodel_l)_Generated_bits (QP_ precodel))/Generated—bits(QP_precodel) 從第二預編碼2的結果中如下找出DiffRatio—2,DiffRatio—2指示在量化參數QP 被加上"l"時高精度生成碼量改變的百分比。注意,并且QP_preCOdel+l指示比預測量化 參數QPd大"1"的量化參數QP。 DiffRatio_2 = (Generated_bits(QP_precode 1)_Generated_bits (QP_ precodel+1))/Generated—bits(QP_precodel+l) 如下找出在預測量化參數QPd附近的高精度生成碼量的變化率DiffRatio。
DiffRatio = (DiffRatio_l+DiffRatio_2)/2 就是說,DiffRatio被計算為在量化參數QP被從預測量化參數QPd在正方向和負 方向中的每個方向上改變"1"時生成碼量的變動的平均值。 令DeltaQP為使得高精度生成碼量最接近目標碼量的量化參數QP和預測量化參 數QPd(QP—precodel)之間的差值的絕對值,則當與最接近目標碼量的高精度生成碼量相 對應的量化參數QP小于比該預測量化參數QP小1的量化參數QP(QP—precodel-l)時,如下 計算出使高精度生成碼量最接近目標碼量的量化參數QP的高精度生成碼量(Generated— bits(QP))。 Generated—bits(QP) = Generated—bits(QP_precodel_l)X (1. 0+DiffRatio)'( DeltaQP-1) 當與最接近目標碼量的高精度生成碼量相對應的量化參數QP大于比該預測量化 參數QP大1的量化參數QP(QP—precodel+l)時,如下計算出使高精度生成碼量最接近目標 碼量的量化參數QP的高精度生成碼量(GeneratecLbits(QP))。 Ge證ated—bits(QP) = Ge證ated—bits (QP_precode 1+1) X (1. 0-DiffRatio)' (DeltaQP-1) 就是說,碼量控制部件4將在使用一個預測量化參數QPd前后的量化參數QP時的 每個高精度生成碼量增大或減小根據在量化參數QP的值圍繞該預測量化參數QPd改變"1" 時的變化率的碼量。碼量控制部件4高精度地計算出使用在該預測量化參數QPd附近的量 化參數QP時的高精度生成碼量。 以上述方式,碼量控制部件4選擇最接近目標碼量的量化參數QP作為要用作主編 碼中的平均量化參數(BaseQP)的基本量化參數QPM。 如上所述,在第二預編碼部件2中,利用由第一預編碼部件1估計出的預測量化參 數QPd(QP_precodel)、以及下一個較大的量化參數QP (QP_precodel+l)和下一個較小的量 化參數QP(QP—precodel-l),執(zhí)行了預編碼。在這里,為了縮小電路規(guī)模,如上所述,僅量化
12部件23和熵碼長計算部件24被并行化,其他處理是共享的。 此時,用于畫面內預測處理的本地解碼圖像是利用基于第一預編碼部件1的結果 估計出的預測量化參數QPd(QP—precodel)量化的數據。就是說,在逆量化和IDCT中要處 理的數據是預測量化參數QPd(QP—precodel)的量化輸出。這意味著在利用該預測量化參 數QPd前后的量化參數QP(QP_precodel+l和QP_precodel-l)的預編碼中畫面內預測處 理的輸入不是這些量化參數自身的本地解碼圖像,而是用預測量化參數QPd(QP—precodel) 的本地解碼圖像所替換了。 這樣,通過基于第一預編碼部件1的結果預測低精度生成碼量,碼量控制部件4利 用非??赡苁沟途壬纱a量最接近目標碼量的預測量化參數QPd、以及其前后的量化參 數QP,通過與主編碼相同的編碼計算出高精度生成碼量。結果,碼量控制部件4能非常準確 地計算在使用該預測量化參數QPd以及其前后的量化參數QP時的高精度生成碼量。此外, 本發(fā)明集中于這樣的事實在較窄范圍內,高精度生成碼量伴隨量化參數QP改變的變化率 基本恒定。碼量控制部件4基于預測量化參數QPd以及高精度生成碼量伴隨該QPd前后的 量化參數QP的變化率,計算出了使用與預測量化參數QPd相鄰的量化參數QP時的高精度 生成碼量。結果,碼量控制部件4也為與預測量化參數QPd相鄰的量化參數QP非常準確地 計算出了高精度生成碼量。
[1-4.主編碼] 主編碼部件3通過利用下述參數執(zhí)行主編碼基于第二預編碼部件2的結果而
獲得的基本量化參數QPM、以及基于第一預編碼部件1的結果而獲得的預測量化矩陣Q Matrix、活動性群組、畫面內預測模式等。換言之,在主編碼部件3中,當接收到經由延遲緩 沖器6經延遲的輸入圖像91后,在畫面內預測處理部件31中,按照在第一預編碼時確定的 畫面內預測模式計算預測圖像和輸入圖像91之間的差值圖像數據。DCT部件32執(zhí)行DCT 處理,并且量化部件33執(zhí)行對DCT系數的量化。量化部件33的輸出(經量化的系數)也 被發(fā)送到逆量化部件37。逆量化部件37對經量化的系數應用逆量化來再現DCT系數。然 后,IDCT部件36將DCT系數變換成IDCT來生成預測圖像,并將該預測圖像存儲到緩沖器 35中。這樣,在上述DCT部件32的DCT和量化部件33對DCT系數的量化之后,熵編碼部 件34執(zhí)行熵編碼,并且輸出被設置為目標碼量的輸出流92。
[1-5.結論] 這樣,在根據本實施例的圖像編碼裝置100中,在第一預編碼部件1的第一預編碼 中,粗略計算出在利用多個所選量化參數QP1執(zhí)行編碼時的低精度生成碼量,從而估計實 現目標碼量的預測量化參數QPd。 此時,第一預編碼部件1并行執(zhí)行編碼以便計算在利用按照任意間隔選擇的量化 參數QP1執(zhí)行編碼時的生成碼長度。 —般來說,為了并行執(zhí)行編碼,電路規(guī)模就非常大。然而,為了縮小電路規(guī)模,本實 施例通過使處理可能共用同時實現并行編碼來解決了該問題。 換言之,更具體而言,在第一預編碼部件1中,如前所述,僅量化部件14和熵碼長 計算部件15是并行提供的,而其他處理是共享的。另外,為了消除逆量化部件、IDCT部件 和緩沖器,輸入圖像被用作預測圖像來執(zhí)行畫面內預測處理。
另一方面,當在熵編碼中利用CABAC時,通常不能以高比特率地執(zhí)行處理。換言 之,在第一預編碼部件1中,如果在熵編碼中使用CABAC,當在給定的用于碼量預測的量化 參數QP情況下執(zhí)行碼量計算時,如果在該量化參數QP情況下碼量較大(即,如果每個量化 系數的值較大),則不能預測出生成碼量。 CABAC是一種通過針對每1比特執(zhí)行概率計算來壓縮數據的熵編碼方案。 一次處 理l比特意味著隨著碼量變得越大,處理時間變得越長,從而處理不能在特定時段(例如, l幀的時段)中完成。因此,如果在熵編碼中使用CABAC,當碼量較大時,第一預編碼部件1 不能計算出熵編碼后的生成碼量,使得不能高比特率地預測出生成碼量。
因此,在第一實施例中,第一預編碼部件1使用CAVLC用于碼量計算。這樣,在第 一預編碼部件1中,通過利用縮小的電路規(guī)模和減少的處理來執(zhí)行簡化預編碼,粗略地估 計出了低精度生成碼量。然后,碼量控制部件4選擇低精度生成碼量接近目標碼量的量化 參數QP作為預測量化參數QPd。 在第二預編碼部件2中,考慮到第一預編碼部件1對預測量化參數QPd的估計有 誤差這一事實,再次執(zhí)行預編碼,從而增強了量化參數QP估計的精度。換言之,通過利用第 一預編碼部件1粗略估計出的預測量化參數QPd附近的量化參數QP再次執(zhí)行預編碼,獲取 了高精度生成碼量,并且再次找出最接近目標高精度生成碼量的量化參數QP。熵碼長計算 使用與主編碼相同的方案(CABAC或CAVLC)。 注意,盡管存在由于用于畫面內預測處理的輸入(本地解碼圖像)的差值導致的 誤差,但是由于量化參數QP的值基本相同,并且由于編碼導致的失真的量也基本相同,因 此這可以忽略不計。
[1-6.過程] 在下文中,參考圖3的流程圖,將詳細描述根據本發(fā)明實施例的圖像編碼裝置100 的編碼過程RT1。該過程的一部分或全部也對應于根據一實施例的圖像編碼方法。
首先,活動性計算部件16計算各個MB的活動性,并且根據它們的值將MB劃分成 活動性群組(步驟Sl)。 然后,畫面內預測模式確定部件11基于輸入圖像91來確定畫面內預測模式(步 驟S2)。該畫面內預測模式也用于第二預編碼部件2的第二預編碼和主編碼部件3的主編 碼。 接下來,畫面內預測處理部件12計算預測圖像和輸入圖像之間的差值圖像數據。 輸入圖像91被用作這里的預測圖像來減少處理。然后,DCT部件13執(zhí)行整數精度DCT,并 將DCT系數發(fā)送給量化部件14 (步驟S3)。 量化部件14利用按照任意間隔選擇的多個所選量化參數QP1作為一幅圖片的平 均量化參數(BaseQP)來量化DCT系數值。熵碼長計算部件15將經量化的系數編碼成可變 長度碼,并且執(zhí)行碼長計算,從而針對各個所選量化參數QP1獲取生成碼量(步驟S4)。此 時,如上所述,每個MB的量化參數QP被賦予一個考慮了活動性的值,并且被編碼。換言之, 如上所述,通過將一個依賴于活動性群組的偏移與一幅圖片的平均量化參數(BaseQP)相 加而找出每個MB的量化參數QP。 注意,為了應對自適應量化矩陣Q Matrix交換處理,上述處理被針對每個量化矩 陣Q Matrix執(zhí)行。換言之,對于每個量化矩陣Q Matrix,利用所選量化參數QP1的離散(不
14連續(xù))值執(zhí)行預編碼來獲取一幅圖片的生成碼量。此時,選擇所選量化參數QP1以使得覆 蓋針對每個量化矩陣QMatrix可取的量化參數QP的范圍。 接下來,碼量控制部件4對第一預編碼部件1計算出的生成碼量執(zhí)行校正處理,從 而計算出低精度生成碼量。碼量控制部件4對由于預編碼的簡化導致的誤差執(zhí)行校正,并 且采用內插處理來計算與所選量化參數QPl之外的量化參數QP相對應的低精度生成碼量 (步驟S5)。 碼量控制部件4針對每個量化矩陣Q Matrix執(zhí)行步驟S5中的處理,從而計算每 個量化矩陣Q Matrix的低精度生成碼量(步驟S6)。由于通過上述處理找出了針對所有所 要求的量化參數QP的低精度生成碼量,所以在這些量化參數QP中的可產生最接近目標碼 量的量化參數QP中,具有最小斜率的量化矩陣Q Matrix被選作預測量化矩陣Q MatrixD。 此外,碼量控制部件4選擇與該預測量化矩陣Q MatrixD相對應的、可產生最接近目標碼量 的低精度生成碼量的量化參數QP作為預測量化參數QPd(步驟S7)。另外,通過如上選擇量 化矩陣Q Matrix,限制了可取的量化參數QP的范圍,從而在第一預編碼部件1中計算生成 碼量時可以縮小所選量化參數QP1的范圍。這些作為在第一預編碼部件1中確定的預測量 化矩陣Q MatrixD和預測量化參數QPd。 然后,執(zhí)行第二預編碼部件2的生成碼量獲取處理(步驟S8至S 10)。第二預編 碼部件2的目的是通過再次執(zhí)行預編碼來增強基本量化參數QPffi估計的精度,這是考慮到 了第一預編碼部件1對預測量化參數QPd的估計有誤差這一事實進行的。
換言之,通過利用在作為第一預編碼部件1的結果而粗略估計出的預測量化參數 QPd附近的量化參數QP再次執(zhí)行預編碼,獲取了高精度生成碼量,并且再次找出最接近目 標碼量的量化參數QP。熵碼長計算使用與主編碼相同的方案(CABAC或CAVLC)。
具體而言,畫面內預測處理部件21的畫面內預測處理和DCT部件22的DCT是利 用作為第一預編碼部件l的結果而確定的畫面內預測模式執(zhí)行的(步驟S8)。作為要在畫 面內預測中使用的本地解碼圖像(預測圖像),在第二預編碼部件2中,共享了利用作為第 一預編碼部件1的結果而估計出的預測量化參數QPd(QP—precodel)量化的本地解碼圖像。
在量化時,使用了作為第一預編碼部件1的結果而確定的活動性群組、預測量化 參數QPd(QP—precodel)和量化矩陣Q Matrix。該預測量化參數QPd (QP_precodel)被設置 在量化部件23-1中,比該預測量化參數QPd小"1"的預測量化參數QPd(QP_precodel-l) 被設置到量化部件23-2中,并且比該預測量化參數QPd大"l"的預測量化參數QPd(QP_ precodel+1)被設置到量化部件23_3中。 此外,每個MB的量化參數(QP)被賦予一個考慮了活動性的值,并且被編碼。通過 上述第二預編碼,可以獲取一幅圖片的高精度生成碼量(步驟S9)。 然后,碼量控制部件4根據基于第二預編碼部件2而獲得的高精度生成碼量來確 定基本量化參數QP b (步驟S10)。 然后,主編碼部件3執(zhí)行主編碼(步驟Sll)。在主編碼中,通過利用作為第二預編 碼部件2的結果而確定的一幅圖片的基本量化參數QP^、以及作為第一預編碼部件1的結 果而確定的預測量化矩陣QMatrixD和活動性群組執(zhí)行了編碼。這樣一來,結束了與編碼相 關的一系列處理。 下文中,參考圖4的流程圖,進一步描述在圖像編碼裝置100的編碼過程RT1的步驟S7中執(zhí)行的Q Matrix確定過程RT2。 在該過程開始時,在首先將Id初始化為Id = 0(步驟S21)后,碼量控制部件4從 Id值較小的量化矩陣Q Matrix起將低精度生成碼量最接近目標碼量的量化參數(QP)與在 該量化矩陣Q Matrix中可取的最大參數QP(QmatrixTheshold[Id])相比較(步驟S22)。 然后,如果在第Id個量化矩陣Q Matrix中其低精度生成碼量最接近目標碼量的量化參數 (QP)小于QmatrixTheshold[Id],則碼量控制部件4將當前量化矩陣Q Matrix確定為預 測量化矩陣Q MatrixD。此外,在確定該預測量化矩陣Q MatrixD中低精度生成碼量最接 近目標碼量的量化參數(QP)作為預測量化參數QPd(步驟S23)后,碼量控制部件4結束Q Matrix確定過程RT2。 另一方面,如果在步驟S22中在第Id個量化矩陣Q Matrix中其低精度生成碼 量最接近目標碼量的量化參數(QP)大于等于QmatrixTheshold[Id],則碼量控制部件 4遞增Id(步驟S24)。碼量控制部件4判斷Id是否等于量化矩陣Q Matrix的總數減 "1" (Num0預atrixld-1)(步驟S25)。然后,如果Id = Num0預atrixld-1不為真,則處理返 回到步驟S22,并且檢查下一個量化矩陣Q Matrix。另一方面,如果Id = NumO預atrixId-l 為真,則選擇具有最陡斜率的量化矩陣Q Matrix(ID為Num0預atrixld-1的量化矩陣Q Matrix),然后Q Matrix確定過程RT2結束。 通過圖4中的該Q Matrix確定過程RT2,對于每個量化矩陣QMatrix,碼量控制部 件4設置了可取的最大參數QP,并且從具有最緩斜率的量化矩陣Q Matrix起按順序判斷與 低精度生成碼量被估計為最接近目標碼量的量化參數QP相對應的低精度生成碼量是否真 地指示了接近目標碼量的值。然后,如果該值接近,則相應的量化矩陣Q Matrix被確定為 將在主編碼中使用的預測量化矩陣Q MatrixD。 如上所述,根據本發(fā)明實施例,以圖片為基礎執(zhí)行了兩次預編碼。然后,為了作為 效率增強的結果來解決處理量增大和用于編碼的電路規(guī)模增大的問題,圖像編碼裝置100 采用了基于電路的部分共用的部分并行配置。結果,簡化了預編碼器的配置,同時通過統(tǒng)計 數據校正了由于簡化導致的誤差。 因此,圖像編碼裝置100可以使主編碼中生成的主編碼生成碼量與給予一幅圖片
的目標碼量匹配,而不執(zhí)行內反饋控制。因此,圖像編碼裝置ioo可以消除利用反饋控制的
問題,例如由反饋參數的不合適初始值和不適當的目標碼量失真導致的不利影響。結果,圖
像編碼裝置ioo可以使主編碼生成碼量與目標碼量匹配,并且確定考慮了視覺特性的碼量
失真,即,適當的量化參數。 注意,本發(fā)明不限于上述實施例,而是在不脫離其范圍的情況下可作出多種改進 或修改。 例如,上述圖像編碼裝置100和圖像編碼方法也可以實現為安裝在裝置中的計算 機程序或者記錄了該程序的記錄介質、以及實現該方法的計算機程序或記錄了該程序的記 錄介質。 [l-7.操作和效果] 根據上述配置,在作為圖像處理裝置的圖像編碼裝置100中,對于通過簡單處理 對輸入圖像91編碼而獲得的作為簡單編碼數據的DCT系數,至少通過基于從作為量化因子 的量化參數QP中離散選擇的所選量化參數QP1對作為輸入圖像的輸入圖像91進行量化來對輸入圖像91進行了編碼,從而計算出編碼時輸入圖像91的生成碼量。 圖像編碼裝置100對在根據該簡單處理發(fā)生的編碼時輸入圖像的生成碼量的誤
差進行校正,從而計算出低精度生成碼量。 圖像編碼裝置100通過對當基于所選量化參數QP1對輸入圖像91編碼時的低精 度生成碼量進行內插處理,來計算基于除所選量化參數QP1之外的量化參數QP對輸入圖像 91編碼時的低精度生成碼量。 結果,圖像編碼裝置100可以在無需對所有量化參數QP編碼的情況下計算基于所 有量化參數QP的低精度生成碼量,從而可以簡化對低精度生成碼量的計算并且減少計算 電路。 基于通過基于所選量化參數QP1和內插處理的編碼計算出的低精度生成碼量,圖 像編碼裝置100將使得在編碼輸入圖像91時的主編碼生成碼量被預測為最接近目標碼量 的量化參數QP確定為基本量化參數QPmb。圖像編碼裝置100基于該基本量化參數QPmb、利 用主編碼部件3來對輸入圖像91執(zhí)行編碼(主編碼)。 結果,圖像編碼裝置100可以基于通過簡單處理產生的低精度生成碼量來確定基 本量化參數QPmb,從而可以簡化用于確定基本量化參數QPmb的處理。
〈2.第二實施例> 圖5至6示出的第二實施例(例如圖1至4中所示第一實施例的由相同的標號標 出的部分示出的)與第一實施例不同在于根據圖像編碼裝置200的主編碼部件3根據實際 生成的主編碼生成碼量的執(zhí)行反饋控制。
[2-1.利用主編碼的反饋控制] 圖像編碼裝置200以與第一實施例相同的方式,通過利用使得主編碼生成碼量被 預測為最適合目標碼量的基本量化參數QPmb的前饋控制來執(zhí)行主編碼。因此,圖像編碼裝 置200可以將主編碼生成碼量抑制到目標碼量。然而,在非常偶然的情況下,圖像編碼裝置 200不能計算出高精度生成碼量,結果選擇了不合適的基本量化參數QP『因此,為了應對 這種情況,圖像編碼裝置200通過主編碼生成碼量的反饋控制來以可靠的方式將編碼生成 碼量抑制到目標碼量。注意,在第二實施例中,碼量控制部件4將例如使得高精度生成碼量 不超過目標碼量、并且還最接近目標碼量的量化參數QP確定為基本量化參數QPM。從而, 碼量控制部件4確定了基本量化參數QPmb,使得主編碼生成碼量變得稍小于目標碼量。
如圖5所示,圖像編碼裝置200執(zhí)行以下處理來在根據由H. 264/AVC(高級視頻編 碼;高級運動圖像壓縮編碼標準)等代表的圖像壓縮方法執(zhí)行碼量控制時實現圖片內良好 的碼量分布,并且還實現圖片固定長度編碼。
利用第3關編碼的主編碼,圖像編碼裝置200根據畫面內反饋(intra-screen feedback)(反饋)執(zhí)行速率控制來將碼量抑制到某一值或更小。
為了抑制由于反饋控制導致的量化參數QP的不必要波動,如果預測每幅圖片的 生成碼量不超過目標碼量,則圖像編碼裝置200從單獨使用視覺特征(活動性)的基本量 化參數QPM開始改變要使用的量化參數QP (使用量化因子)。換言之,圖像編碼裝置200將 以基本量化參數QP b作為平均圖片BaseQP的自適應量化參數QPt作為要使用的量化參數 QP。
如果預測主編碼生成碼量由于反饋控制超過目標碼量,則圖像編碼裝置200從
17基本量化參數QPM開始改變平均量化參數BaseQP。此時,為了抑制平均量化參數BaseQP 的不必要波動,圖像編碼裝置200僅在量化參數QP變大的方向上改變平均量化參數 BaseQP(即,僅在生成碼量變小的方向上)。結果,圖像編碼裝置200將基于改變后的平均 量化參數BaseQP的自適應量化參數QPt作為要使用的量化參數QP。注意,在變大方向上改 變了一次的自適應量化參數QPt將不再返回到變小方向上。 具體而言,圖像編碼裝置200的主編碼部件3利用量化矩陣Q Matrix和活動性群 組執(zhí)行編碼,其中活動性群組是由第一預編碼部件1利用基于第二預編碼2的結果而被確 定為平均量化參數BaseQP的基本量化參數QPffi而確定的。此時,圖像編碼裝置200使平均 量化參數BaseQP經過反饋控制,以免超過目標碼量。 圖像編碼裝置200的碼量控制部件4針對由多個MB構成的每個反饋控制單位 FeedBackUnit來執(zhí)行反饋控制。輸出流92的生成碼量被從熵編碼部件34提供給碼量控制 部件4。碼量控制部件4使用利用第二預編碼的預測量化參數QPd (QP_preC0del)得到的每 個MB的生成碼量(即,量化部件23-1和熵碼長計算部件24-1的輸出)來根據每幅圖片的 目標碼量(下文稱作"圖片目標碼量")計算每個反饋控制單位FeedBackUnit的目標碼量 (下文稱作"反饋目標碼量")。 現在,如果將基于第二預編碼部件2的結果的、反饋控制單位(FeedBackUnit)的 高精度生成碼量記為PrecodeGeneratedBits—FeedBackUnit[no],并且將基于第二預編碼 部件2的結果的、每幅圖片的高精度生成碼量記為PrecodeGeneratedBits,則利用下式獲 得反饋控制單位FeedBackUnit的反饋目標碼量(TargetBit_FeedBackUnit [no])。注意,no 是FeedBackUnit的號碼(0至FeedBackUnit計數-1),并且TargetBit是圖片目標碼量。
TargetBit—FeedBackUnit [no] = TargetBitXPrecodeGeneratedBits_FeedBackUnit[no]/ PrecodeGeneratedBits 換言之,碼量控制部件4將反饋控制單位的高精度生成碼量 (PrecodeGeneratedBits_FeedBackUnit[no])對圖片高精度生成碼量的百分比乘以圖片目 標碼量TargetBit,從而計算出反饋目標碼量(TargetBit_FeedBackUnit [no])。
具體而言,圖像編碼裝置200的碼量控制部件4執(zhí)行例如下式處理。
(1)碼量控制部件4將編碼分成前半部分處理和后半部分處理,并且在前半部分 處理中不執(zhí)行反饋控制。碼量控制部件4根據預編碼的反饋控制單位(FeedBackUnit)中 的碼量比來確定反饋控制單位(FeedBackUnit)的目標碼量。該碼量比根據量化參數QP的 參數波動而改變。因此,當在前半部分編碼時生成碼量較小時執(zhí)行反饋控制后,圖像編碼裝 置200可能改變到不必要的平均量化參數BaseQP。換言之,圖像編碼裝置200選擇基本量 化參數QPMB,使得主編碼生成碼量接近圖片目標碼量。因此,當在圖片的前級平均量化參數 BaseQP偏離時,在主編碼生成碼量和圖片目標碼量之間存在差異。 (2)碼量控制部件4根據量化參數QP的穩(wěn)定性的兩個方面確定前半部分處理和后 半部分處理之間的切換定時,從而將主編碼生成碼量抑制到目標碼量或者更小。換言之,如 果滿足以下(a)和(b)所示的條件之一,碼量控制部件4就前進到后半部分處理。
(a)當對一幅圖片的一定百分比或者更多編碼時,即,當對一定數量或更多MB編 碼時,碼量控制部件4前進到后半部分處理。這是為了穩(wěn)定量化參數QP。
(b)碼量控制部件4將尚未被編碼的部分(MB)的可用剩余碼量(通過從圖片目標
碼量減去該時刻之前的主編碼生成碼量而獲得的值)與尚未被編碼的部分(MB)的目標碼
量(通過從圖片目標碼量減去該時刻之前的反饋目標碼量而獲得的值)相比較。在剩余碼
量達到一定百分比或者較小時,碼量控制部件4前進到后半部分處理。這是為了將主編碼
生成碼量抑制到目標碼量或者更小。 條件(2) (b)由下式表示。 (TargetBit-GeneratedBits—Accum) < (TargetBit-TargetBit—Accum)XThresholdRatio 在這里,TargetBit_Accum禾P GeneratedBits_Accum分別是直到該時刻反饋目標 碼量的的積分值(TargetBit—FeedBackUnit[no])和直到該時刻反饋控制單位的主編碼生 成碼量的積分值。另外,ThresholdRatio是可容忍的偏離百分比(tolerable deviation percentage)。在主編碼生成碼量是目標碼量的情形中,剩余碼量等于尚未被編碼部分的目 標碼量。另一方面,在主編碼生成碼量超過目標碼量的情形中,剩余碼量小于尚未編碼部分 的目標碼量。例如,當剩余碼量小于尚未被編碼部分的目標碼量的ThresholdRatio倍時, 碼量控制部件4前進到后半部分處理。在執(zhí)行控制使得生成碼量必須小于目標碼量的情形 中,碼量控制部件4將ThresholdRatio設置為小于1。因此,當已編碼部分的生成碼量小 于目標碼量、并且趨近該目標碼量時,碼量控制部件4前進到后半部分處理。另外,在執(zhí)行 控制使得生成碼量接近目標碼量的情形中,碼量控制部件4將ThresholdRatio設置為大于 1。從而,當已編碼部分的生成碼量超過目標碼量一定比率或更多時,碼量控制部件4可以 前進到后半部分處理。無許多言,也可以將ThresholdRatio設置為"l"。
因此,碼量控制部件4在目標碼量和實際主編碼生成碼量之間存在差異之前可以 進入反饋控制,因此可以以可靠的方式防止剩余碼量太小以至于碼量控制部件4不能控制 主編碼生成碼量的情形。 換言之,在主編碼生成碼量較小時,剩余碼量的絕對值較大,因此除非目標碼量和 主編碼生成碼量之間的差異非常大,否則條件得不到滿足,所以碼量控制部件4不能前進 到后半部分處理以進入反饋控制。在主編碼生成碼量增大后,剩余碼量的絕對值較小,因 此即使在目標碼量和主編碼生成碼量之間存在一些差異,條件也得到滿足,碼量控制部件4 前進到后半部分處理以進入反饋控制。 (3)通過主編碼部件,碼量控制部件4僅在預測每幅圖片的主編碼生成碼量將 超過圖片目標碼量的情形中,在增大平均量化參數BaseQP的方向上改變平均量化參數 BaseQP,以使得大于基本量化參數QPffi。在增大平均量化參數BaseQP的情形中,碼量控制部 件4在一次反饋處理中(即,對于每個反饋控制單位)將平均量化參數BaseQP改變l。從 而,碼量控制部件4抑制了平均量化參數BaseQP的過度改變。 如果滿足了下述(a)和(b)的條件之一,則碼量控制部件4預測出每幅圖片的主 編碼生成碼量將超過圖片目標碼量,并且增大平均量化參數BaseQP。 (a)碼量控制部件4在以反饋控制單位的編碼結束前立即(在處理結束后立即) 確認反饋生成碼量,并且根據下式對反饋生成碼量(GeneratedBits_FeedBackUnit[cur]) 與反饋目標碼量(TargetBit_FeedBackUnit[cur])進行比較。
GeneratedBits—FeedBackUnit[cur] > TargetBit—FeedBackUnit[cur]
當反饋生成碼量(GeneratedBits_FeedBackUnit[cur])大于反饋目標碼量 (TargetBit_FeedBackUnit[cur])時,生成碼量趨向于增大,因此這表明以下述編碼方式生 成的主編碼生成碼量可能超過目標碼量。此時,碼量控制部件4判斷是否增大平均量化參 數BaseQP。此時的狀況將在下面示出。 碼量控制部件4針對此時已被編碼的部分從目標碼量減去生成碼量,從而如下計 算出生成碼量的剩余部分。 SurplusBits = TargetBit—Accum-GeneratedBits—Accum 碼量控制部件4僅在預測出下一反饋控制單位中的主編碼生成碼量將超過目標 碼量的情形中才增大平均量化參數BaseQP。 碼量控制部件4如下根據下一反饋控制單位中的目標碼量獲得預測將超過 下一反饋單位中的目標碼量的最大碼量(下文將稱作"過度最大碼量")。在這里, MaxErrorRatio是可作為誤差的、反饋生成碼量對反饋目標碼量的最大比率。
TargetBit—FeedBackUnit[next] XMaxErrorRatio
碼量控制部件4基于此執(zhí)行以下判斷。 SurplusBits < TargetBit—FeedBackUnit [next] XMaxErrorRatio
碼量控制部件4對生成碼量的剩余部分SurplusBits與下一反饋控制單位中的過 度最大碼量進行比較。如果該過度最大碼量大于生成碼量的剩余部分SurplusBits,則碼量 控制部件4判斷已被編碼的部分的主編碼生成碼量可能超過下一反饋控制單位中的目標 碼量,并且將平均量化參數BaseQP增大1。 換言之,在"最近反饋控制單位中的生成碼量比最近反饋控制單位的目標碼量大" 并且"此部分的碼量的剩余部分SurplusBits比關于在下一反饋控制單位中可能超出的過 度最大碼量小"時,碼量控制部件4將平均量化參數BaseQP增大1。這是因為生成碼量趨 向于增大,并且碼量的剩余部分的余量不足,因此預測出最終圖片生成碼量將超過圖片目 標碼量。 換言之,當確定即使維持當前狀態(tài)已編碼部分的主編碼生成碼量也不會超過下一 反饋控制單位中的目標碼量時,碼量控制部件4不將平均量化參數BaseQP增大1 。因此,即 使存在跡象表明已編碼部分的主編碼生成碼量可能超過目標碼量,碼量控制部件4也可以 避免過度反應,防止不必要地過度增大平均量化參數BaseQP,使得平均量化參數BaseQP穩(wěn) 定。 (b)在不滿足(a)的情形中,S卩,在"最近反饋控制單位中的生成碼量比最近反 饋控制單位的目標碼量大"或"此部分的碼量的剩余部分SurplusBits比關于在下一反 饋控制單位中可能超出的過度最大碼量小"時,碼量控制部件4確定生成碼量的剩余部分 SurplusBits是否為負。如果SurplusBits為負,則這意味著編碼結束時的主編碼生成碼量 超過目標碼量。此時,碼量控制部件4例如如下基于最近反饋控制單位中的生成碼量和目 標碼量之比來預測剩余編碼部分的生成碼量從目標的偏離。 碼量控制部件4如下計算最近反饋控制單位中的生成碼量和目標碼量之比Diff_ Ratio。Diff—Ratio = (Ge證atedBits—FeedBackUnit [cur] —TargetBit—FeedBackUnit[cur])/TargetBit—FeedBackUnit[cur]
20
碼量控制部件4如下計算出剩余編碼部分的目標碼量TargetBit_Rem。
TargetBit_Rem = TargetBit-TargetBit—Accum 碼量控制部件4假設剩余編碼部分的目標碼量偏離與最近反饋控制單位中的生 成碼量和目標碼量之比Diff_Ratio相同的比率,并且如下計算從目標的偏離。
TargetBit_RenpWiff_Ratio 如果通過將已編碼部分和尚未編碼部分相加而獲得的值為正并且滿足以下條件,
則碼量控制部件4將平均量化參數BaseQP增大1。 (TargetBit_Rem*Diff_Ratio)_SurplusBits > 04 在"已編碼部分的生成碼量超過了目標碼量"并且"最近反饋控制單位中的目標碼 量和生成碼量之比而獲得的圖片預測生成碼量超過圖片目標碼量"時,碼量控制部件4將平 均量化參數BaseQP增大1。 換言之,即使某一時刻的生成碼量超過了目標碼量,但是在確定生成碼量相對于 目標碼量具有減小趨勢并且結果圖片生成碼量不會超過圖片目標碼量的情況下,碼量控制 部件4也不將平均量化參數BaseQP增大1。 因此,在使輸入圖像19經主編碼時,圖像編碼裝置200在開始對圖片的主編碼時
不執(zhí)行反饋控制,而是僅在滿足一定條件時執(zhí)行反饋控制作為后半部分處理。 換言之,圖像編碼裝置200實質上僅對圖片的后半部分執(zhí)行反饋控制。甚至在
圖片的前半部分中,如果已編碼部分的生成碼量與目標碼量之比超過一定比率或者更高,
在隨后的生成碼量和目標碼量之間可能存在差異,則因此圖像編碼裝置200也執(zhí)行反饋控制。 圖像編碼裝置200由于反饋控制而將平均量化參數BaseQP的波動抑制到最小,并 且因此僅在預測每幅圖片的主編碼生成碼量將不容易被抑制到圖片目標碼量或者更小時, 才將平均量化參數BaseQP增大1。 換言之,在反饋生成碼量大于反饋目標碼量的情形中,生成碼量與目標碼量相比 趨向增大,并且在下一反饋控制單位中編碼部分的生成碼量也可能超過目標碼量,預測最 終圖片生成碼量將超過圖片目標碼量,因此圖像編碼裝置200將平均量化參數BaseQP增大 1。 因此,即使在生成碼量與目標碼量相比趨向增大,如果剩余碼量存在一定余地,圖 像編碼裝置200也可以防止平均量化參數BaseQP被增大1,并且因此防止不必要地增大了 平均量化參數BaseQP 。 此外,在平均量化參數BaseQP尚未被增大1的情形中,如果已編碼部分的生成碼 量超過了目標碼量,則預測最終圖片的生成碼量將超過圖片目標碼量,因此圖像編碼裝置 200將平均量化參數BaseQP增大1。 因此,即使在已編碼部分的生成碼量超過了目標碼量,如果生成碼量有減小趨勢, 預測圖片生成碼量將不會超過圖片目標碼量,則圖像編碼裝置200可以防止平均量化參數 BaseQP被增大1,因此防止不必要地增大了平均量化參數BaseQP。
[2-2.處理過程] 將參考圖6的流程圖描述反饋控制處理過程RT4。在開始該處理時,碼量控制部 件4將利用預編碼確定的基本量化參數QPffi設置給平均量化參數BaseQP (步驟S31)。隨后,碼量控制部件4針對每個反饋控制單位FeedBackUnit對輸入圖像91進行編碼(步驟 S32)。 隨后,碼量控制部件4判斷是否一幅圖片的所有MB都已被編碼(步驟S33)。在這 里,如果所有MB都已被編碼,則碼量控制部件4前進到結束步驟來結束該處理。另一方面, 如果并非所有MB都已被編碼,則碼量控制部件4前進到下一步驟S34。碼量控制部件4判 斷是否一定數目或更多的MB已被編碼(步驟S34)。換言之,如上所述,由于在編碼的前半 部分當碼量較小時執(zhí)行反饋控制時,平均量化參數BaseQP可能被不必要地改變。
在這里,如果判斷一定數目或更多的MB已被編碼,則碼量控制部件4前進到步驟 S36。另一方面,如果判斷不是一定數目或更多的MB已被編碼,碼量控制部件4則前進到步 驟S35,對尚未編碼部分(MB)的可用剩余碼量(通過從目標碼量減去直到此時的生成碼量 而獲得的碼量)和尚未編碼部分的目標碼量進行比較,并且判斷該尚未編碼部分的剩余碼 量和目標碼量之比是否為一特定百分比或更小(步驟S35)。在這里,如果判斷該尚未編碼 部分的剩余碼量和目標碼量之比不是一特定百分比或更小,則現在正被編碼處理的MB不 是后半部分,并且已編碼部分的生成碼量和目標碼量之間不存在差異,因此碼量控制部件4 返回到步驟S32,重復上述處理。另一方面,如果確定可用碼量為一特定百分比或更小,則碼 量控制部件4前進到步驟S36以執(zhí)行反饋控制。 隨后,碼量控制部件4判斷最近反饋控制單位中的生成碼量是否大于該最近反饋 控制單位中的目標碼量(步驟S36)。在這里,如果判斷最近反饋控制單位中的生成碼量大 于該最近反饋控制單位中的目標碼量,則碼量控制部件4判斷此時碼量的剩余部分在下一 反饋控制單位中是否可能超過(步驟S37)。如果最近反饋控制單位中的生成碼量小于該最 近反饋控制單位中的目標碼量,則碼量控制部件4前進到步驟S39。 如果判斷此時碼量的剩余部分在下一反饋控制單位中可能超過,則碼量控制部件 4將平均量化參數BaseQP增大1(步驟S38),然后返回到步驟S32。另一方面,如果判斷此 時碼量的剩余部分在下一反饋控制單位中可能不超過,則碼量控制部件4前進到步驟S39。
隨后,在步驟S39中,碼量控制部件4判斷已編碼部分的生成碼量是否超過了目標 碼量(步驟S39)。在這里,如果判斷已編碼部分的生成碼量未超過目標碼量,則碼量控制部 件4返回到步驟S32以重復上述處理。 另一方面,如果判斷已編碼部分的生成碼量超過了目標碼量,則碼量控制部件4 判斷根據最近反饋控制單位中的目標碼量和生成碼量之比而獲得的圖片預測生成碼量是 否超過圖片目標碼量(步驟S40)。隨后,如果判斷該圖片預測生成碼量未超過圖片目標碼 量,則碼量控制部件4返回到步驟S32以重復上述處理。 如果判斷該圖片預測生成碼量超過了圖片目標碼量,則碼量控制部件4將平均量 化參數BaseQP增大1 (步驟S38),隨后返回到步驟S32以重復上述處理。從而,碼量控制部 件4繼續(xù)該處理,直到判斷出所有MB都已被編碼為止。 如上所述,根據本實施例,圖像編碼裝置200可以在不利用二元搜索(binary search)的情況下利用固定長度對圖片進行編碼,因此可以降低電路規(guī)模和功耗,并且可以 縮短編碼延遲。此時,圖像編碼裝置200抑制了由于反饋控制導致的平均量化參數BaseQP 的不必要的波動,并且因此即使已實現了反饋控制,也可以執(zhí)行最優(yōu)碼量分布,即,使圖片 生成碼量與圖片目標碼量一致的碼量分布,并且考慮到視覺特征。
22
注意,本發(fā)明不限于上述實施例,而是可以在不脫離本發(fā)明的實質的情況下作出 多種修改和改變。 例如,上述圖像編碼裝置和圖像編碼方法可實現為安裝到該裝置中的計算機程 序、記錄了該程序的記錄介質、用于實現該方法的計算機程序、或者記錄了該程序的記錄介 質。 編碼處理的上述序列可由硬件執(zhí)行,并且也可以由軟件執(zhí)行。在由軟件執(zhí)行編碼 處理序列的情形中,100實質上被形成在CPU和RAM中。隨后,存儲在ROM中的編碼程序被 加載到RAM中,從而執(zhí)行了編碼處理。
[2-3.操作和優(yōu)點] 利用上述布置,圖像編碼裝置200確定作為基本量化因子的基本量化參數QPffi,對 于該基本量化因子,預測在對輸入圖像91編碼時每幅圖片的主編碼生成碼量將接近圖片 目標碼量。 圖像編碼裝置200通過利用作為至少基于基本量化參數QP^確定的使用量化因子 的、基于平均量化參數BaseQP的自適應量化參數QPt執(zhí)行量化,來針對每個反饋控制單位 對輸入圖像91進行編碼。 圖像編碼裝置200針對每個反饋控制單位確認經編碼輸入圖像91的生成碼量,并 且如果預測每個圖像單位的生成碼量將超過每個圖像單位的目標碼量,則增大平均量化參 數BaseQP,從而增大自適應量化參數QPt的值。 從而,圖像編碼裝置200在預先調整每幅圖片的主編碼生成碼量使得接近圖片目 標碼量的狀態(tài)中以受限的方式來增大平均量化參數BaseQP,從而可以防止要使用的量化參 數QP(自適應量化參數QPt)的值不必要地偏離。 在伴隨例如AVC等的編碼方法中,確認了由于多次執(zhí)行編碼導致的圖像質量的惡 化。為了防止圖像質量的這種惡化,提出了稱作向后搜索的技術,在該技術中檢測出最近編 碼時使用的量化參數QP,并且再次使用(例如,參見專利文獻2)。
專利文獻2 :國際申請No. PCT/JP 2008/066917 利用這種向后搜索,基于預測量化參數QPd設置向后搜索的范圍,從而通過限制 向后搜索的搜索范圍可以簡化處理。 圖像編碼裝置200可以盡可能地抑制要使用的量化參數QP的波動,因此可以防止
要使用的量化參數QP偏離向后搜索的搜索范圍,并且可以防止向后搜索的檢測率惡化。 如果每個反饋控制單位的反饋生成碼量趨向增大,并且通過從作為圖像單位的圖
片中的已編碼部分的目標碼量減去該已編碼部分的生成碼量而獲得的碼量的剩余部分余
量不足,則圖像編碼裝置200預測出圖片生成碼量將超過圖片目標碼量。 當最近反饋控制單位中的生成碼量大于最近反饋控制單位中的目標碼量時,圖像
編碼裝置200判斷每個反饋控制單位的生成碼量趨向增大。 當最近反饋控制單位中的生成碼量小于可能超過目標碼量的過度最大碼量時,圖 像編碼裝置200判斷碼量的剩余部分余量不足。 因此,圖像編碼裝置200僅在有限的情形中增大平均量化參數BaseQP,所述情 形包括反饋生成碼量趨向增大和碼量的剩余部分余量不足,從而可以防止平均量化參數 BaseQP的不必要波動。
23
在假設圖片的已編碼部分的生成碼量超過該已編碼部分的目標碼量,并且目標碼 量和生成碼量之比不變時,如果圖片生成碼量超過了圖片目標碼量,則圖像編碼裝置200 預測圖片生成碼量將超過圖片目標碼量。 在根據最近反饋控制單位中的反饋目標碼量和反饋生成碼量之比而獲得的圖片
生成碼量的預測值(圖片預測生成碼量)超過了目標碼量的情形中,當假設目標碼量和生
成碼量之比不變時,圖像編碼裝置200確定圖片生成碼量將超過圖片目標碼量。 從而,圖像編碼裝置200僅在有限的情形中增大平均量化參數BaseQP,所述情形
包括在維持反饋生成碼量和反饋目標碼量的當前狀態(tài)之比的情況下圖片生成碼量超過圖
片目標碼量,從而可以防止平均量化參數BaseQP的不必要的波動。
圖像編碼裝置200預測在圖片的后半部分中圖片生成碼量是否將超過圖片目標碼量。 從而,圖像編碼裝置200在從現在起還有許多剩余部分要被編碼的前半部分中不 執(zhí)行反饋控制,并且平均量化參數BaseQP的波動盡可能大地影響圖片生成碼量。結果,圖 像編碼裝置200可以防止由于在前半部分中平均量化參數BaseQP不必要地偏離導致圖片 生成碼量不均衡。 在圖片的已編碼部分的生成碼量和該已編碼部分的目標碼量之間存在差異的情 形中,圖像編碼裝置200預測圖片生成碼量是否將超過圖片目標碼量,而不考慮圖片的位置。 在圖片的已編碼部分的生成碼量比通過將該已編碼部分的目標碼量與可容忍的 偏離量ThresholdRatio相乘而獲得的值小的情形中,圖像編碼裝置200判斷出在該圖片的 已編碼部分的生成碼量和該已編碼部分的目標碼量之間存在差異。 從而,例如,在對基本量化參數QPM的估計失敗的情形中,圖像編碼裝置200可以 甚至在圖片的較早級處執(zhí)行反饋控制,從而可以應對意外狀況。 在預測出圖片生成碼量將超過圖片目標碼量的情形中,圖像編碼裝置200將平均 量化參數BaseQP增大1。 從而,圖像編碼裝置200可以將平均量化參數BaseQP的波動抑制到最小,并且穩(wěn) 定圖片內圖片的質量。 圖像編碼裝置200確定基本量化參數QPmb,使得在對輸入圖像91進行編碼時的生 成碼量小于目標碼量。 從而,圖像編碼裝置200可以抑制圖片生成碼量,從而實現明顯的控制使得圖片 生成碼量不超過圖片目標碼量。 圖像編碼裝置200將小于1的值設置為可容忍的偏離量ThresholdRatio。從而,在 已編碼部分的生成碼量小于該已編碼部分的目標碼量但是不接近其時,圖像編碼裝置200 可以執(zhí)行反饋控制,從而可以以可靠的方式執(zhí)行控制,使得圖片生成碼量不超過圖片目標碼量。 圖像編碼裝置200基于通過利用覆蓋了較寬范圍的量化參數QP(所選量化參數 QP1)對輸入圖像91進行編碼而計算出的生成碼量來確定被預測接近基本量化參數QP^的 預測量化參數QPd,并且基于通過利用該預測量化參數QPd和在該預測量化參數QPd附近的 量化參數QP對輸入圖像91進行編碼而計算出的高精度生成碼量來確定基本量化參數QP^。
從而,圖像編碼裝置200以高精度確定出基本量化參數QPffi,從而利用該基本量化 參數QPM可以使主編碼生成碼量接近圖片目標碼量。因此,圖像編碼裝置200極少必須利 用反饋控制來使平均量化參數BaseQP波動,從而可以盡可能地抑制平均量化參數BaseQP 的波動。 根據上述布置,圖像編碼裝置200僅在根據已編碼部分的生成碼量和該已編碼部 分的目標碼量預測出圖片生成碼量將超過圖片目標碼量的情形中才執(zhí)行反饋控制來增大 平均量化參數BaseQP 。 從而,圖像編碼裝置200可以以可靠的方式將圖片生成碼量抑制到圖片目標碼量 或者更小,同時將平均量化參數BaseQP的波動抑制到最小。因此,本發(fā)明可以實現一種圖 像處理裝置和圖像處理方法,利用其可將可以以可靠的方式將圖片生成碼量抑制到圖片目 標碼量或者更小,同時維持一致的圖像質量。
[3.其他實施例] 注意,在上述第二實施例中,描述了包括三關(three pass)配置的情形,其中圖像 編碼裝置200基于預編碼部件1的結果確定預測量化參數QPd,并且基于第二預編碼部件2 的結果確定基本量化參數qpmb。本發(fā)明不限于此,例如,本發(fā)明可應用于包括預編碼部件1 確定基本量化參數QPmb的兩關配置、或者四關或更多關配置的圖像編碼裝置。
另外,在上述第一和第二實施例中,描述了利用畫面內預測、根據DCT的正交變 換、量化和根據CAVLC或CABAC的編碼對輸入圖像91進行編碼的情形。本發(fā)明不限于此, 并且可以省略任一種,只要輸入圖像91至少經量化。另外,還可以利用除這些之外的方法 對輸入圖像91進行編碼。 此外,在上述第二實施例中,描述了針對由多個MB構成的每個反饋控制單位來確 認反饋生成碼量的情形。本發(fā)明不限于此,反饋控制單位的大小不受限,例如可以將反饋控 制單位設置為一個MB或片斷。 此外,在上述第二實施例中,描述了將作為圖像單位的每幅圖片的生成碼量抑制 到目標碼量或更小。本發(fā)明不限于此,例如,可以將作為圖像單位的每幅圖片或每多幅圖片 的生成碼量抑制到目標碼量或更小。 此外,在上述第二實施例中,描述了對于單個反饋控制單位的反饋控制將平均量 化參數BaseQP增大1的情形。本發(fā)明不限于此,而是根據條件可將平均量化參數BaseQP 增大2或更多。 此外,在上述第一和第二實施例中,描述了下述情形如果最近反饋生成碼量超過 了反饋目標碼量,則確定每個反饋控制單位的生成碼量趨向增大。本發(fā)明不限于此,例如, 可以根據對于每最近多個反饋控制單位生成碼量是否超過目標碼量來判斷每個反饋控制 單位的生成碼量是否趨向增大。 此外,在上述第二實施例中,描述了下述情形在落入(3) (a)和(3) (b)之一時,預 測出每個圖像單位的生成碼量將超過上述每個圖像單位的目標碼量。本發(fā)明不限于此,而 是可以在落入任一個的情形中或者采用另一種技術來預測每個圖像單位的生成碼量將超 過上述每個圖像單位的目標碼量。 此外,在上述第二實施例中,描述了根據最近反饋生成碼量和反饋目標碼量之比 來預測圖片生成碼量是否將超過圖片目標碼量的情形。本發(fā)明不限于此,例如,可以根據每多個反饋控制單位或每個MB的目標碼量和生成碼量之比來預測圖片生成碼量是否將超過 圖片目標碼量。 此外,在上述第二實施例中,描述了在進入圖片的第二部分時自動執(zhí)行反饋控制。 本發(fā)明不限于此,例如,可以僅在已編碼部分的生成碼量超過了目標碼量的情形中才執(zhí)行 反饋控制。 此外,在上述第二實施例中,描述了在已編碼部分的生成碼量超過了目標碼量的 情形中執(zhí)行反饋控制。本發(fā)明不限于此,而是可以根據其他多種類型的條件來執(zhí)行反饋控 制。 此外,在上述第二實施例中,描述了基本量化參數qpmb被確定為使得主編碼生成 碼量稍小于圖片目標碼量的情形。本發(fā)明不限于此,而是基本量化參數QP b可被確定為使 得主編碼生成碼量最接近圖片目標碼量。 此外,在上述第二實施例中,描述了將本發(fā)明應用于AVC的情形。本發(fā)明不限于 此,而是可以將本發(fā)明應用于自適應地選擇VLC表的多種類型的編碼方法。例如,如果本發(fā) 明被應用到MPEG-2,則可以將量化尺度作為量化因子。 此外,在上述第二實施例中,描述了下述情形作為圖像處理裝置的圖像編碼裝置 200配置為包括預編碼部件1、第二預編碼部件2、作為基本量化因子確定部件的碼量控制 部件4、作為編碼部件的主編碼部件3、以及作為反饋控制部件的碼量控制部件4。本發(fā)明不 限于此,而是本發(fā)明的圖像處理裝置可配置為包括根據其他類型配置的基本量化因子確定 部件、編碼部件和反饋控制部件。
權利要求
一種圖像處理裝置,包括基本量化因子確定單元,其被配置為確定預測在對輸入圖像編碼時每個圖像單位的生成碼量將接近所述每個圖像單位的目標碼量的基本量化因子;編碼單元,其被配置為通過利用至少基于所述基本量化因子確定的使用量化因子執(zhí)行量化,來針對每個反饋控制單位對所述輸入圖像進行編碼;以及反饋控制單元,其被配置為確認由所述編碼單元針對所述每個反饋控制單位對所述輸入圖像進行編碼的生成碼量,并且在預測所述每個圖像單位的生成碼量將超過所述每個圖像單位的目標碼量的情況下,增大所述使用量化因子。
2. 如權利要求1所述的圖像處理裝置,其中,在所述每個反饋控制單位的生成碼量趨 向增大、并且通過從利用所述每個圖像單位所編碼的部分的目標碼量中減去該已編碼部分 的生成碼量而獲得的剩余碼量余量不足的情況下,所述反饋控制單元預測所述每個圖像單 位的生成碼量將超過所述每個圖像單位的目標碼量。
3. 如權利要求2所述的圖像處理裝置,其中,當最近反饋控制單位的生成碼量大于該 最近反饋控制單位的目標碼量時,所述反饋控制單元確定所述每個反饋控制單位的生成碼 量趨向增大。
4. 如權利要求3所述的圖像處理裝置,其中,當所述剩余碼量小于使得下一反饋控制 單位的生成碼量有可能超過目標碼量的過度最大碼量時,所述反饋控制單元確定所述剩余 碼量余量不足。
5. 如權利要求2所述的圖像處理裝置,其中,在所述圖像單位編碼的部分的生成碼量 超過該已編碼部分的所述目標碼量、并且在假定每個圖像單位的目標碼量和所述每個圖像 單位的生成碼量之比不變時所述生成碼量超過所述目標碼量的情況下,所述反饋控制單元 預測每個圖像單位的生成碼量將超過所述每個圖像單位的目標碼量。
6. 如權利要求5所述的圖像處理裝置,其中,在根據最近反饋控制單位的目標碼量和 生成碼量之比獲得的每個圖像單位的生成碼量的預測值超過目標碼量的情況下,所述反饋 控制單元在假定所述目標碼量和生成碼量之比不變時,確定每個圖像單位的生成碼量超過 所述每個圖像單位的目標碼量。
7. 如權利要求6所述的圖像處理裝置,其中,所述反饋控制單元預測在所述圖像單位 的后半部分所述每個圖像單位的生成碼量是否將超過所述每個圖像單位的目標碼量。
8. 如權利要求7所述的圖像處理裝置,其中,在所述圖像單位編碼的部分的生成碼量 與該已編碼部分的目標碼量之間存在差異的情況下,所述反饋控制單元預測所述每個圖像 單位的生成碼量是否將超過所述每個圖像單位的目標碼量,而不考慮所述圖像單位的位 置。
9. 如權利要求1所述的圖像處理裝置,其中,在所述圖像單位編碼的部分的生成碼量 小于通過將該已編碼部分的目標碼量與一可容忍的偏離量相乘而獲得的值的情況下,所述 反饋控制單元確定在所述圖像單位編碼的部分的生成碼量與該已編碼部分的目標碼量之 間存在差異。
10. 如權利要求1所述的圖像處理裝置,其中,在預測所述每個圖像單位的生成碼量將 超過所述每個圖像單位的目標碼量的情況下,所述反饋控制單元將所述使用量化因子增大
11. 如權利要求9所述的圖像處理裝置,其中,所述基本量化因子確定單元確定所述基 本量化因子,以便將對所述輸入圖像編碼時的生成碼量減小到小于所述目標碼量。
12. 如權利要求11所述的圖像處理裝置,其中,所述可容忍的偏離值由小于1的值構成。
13. 如權利要求1所述的圖像處理裝置,其中,所述編碼單元將針對所述每個圖像單位 確定的所述基本量化因子作為平均量化因子,并且使用通過將該平均量化因子與根據活動 性的偏移量相加而獲得的值作為所述使用量化因子;并且其中,所述反饋控制單元通過增大所述平均量化因子來增大所述使用量化因子。
14. 如權利要求7所述的圖像處理裝置,其中,所述基本量化因子確定單元基于通過利 用覆蓋較寬范圍的量化因子對所述輸入圖像進行編碼而計算出的生成碼量來確定被預測 接近基本量化因子的預測量化因子,并且基于通過利用所述預測量化因子和在該預測量化 因子附近的量化因子對所述輸入圖像進行編碼而計算出的生成碼量來確定所述基本量化 因子。
15. —種圖像處理方法,包括基本量化因子確定步驟,其被布置為確定預測在對輸入圖像編碼時每個圖像單位的生成碼量將接近所述每個圖像單位的目標碼量的基本量化因子;編碼步驟,其被布置為通過利用至少基于所述基本量化因子確定的使用量化因子執(zhí)行量化,來針對每個反饋控制單位對所述輸入圖像進行編碼以生成編碼流;以及反饋控制步驟,其被配置為確認在所述編碼步驟中針對所述每個反饋控制單位對所述 輸入圖像進行編碼的生成碼量,并且在預測所述每個圖像單位的生成碼量將超過所述每個 圖像單位的目標碼量的情況下,增大所述使用量化因子。
全文摘要
在不極大地改變使用量化因子的情況下,可以可靠地將每個圖像單位的生成碼量減小到低于目標碼量。一種圖像編碼裝置(200)確定用作基本量化因子的基本量化參數(QPMB),對于該基本量化因子,在對輸入圖像(91)進行編碼時生成的碼量被預測為接近等于目標碼量。裝置(200)至少利用作為基于根據基本量化參數(QPMB)確定的使用量化因子的、基于平均量化參數BaseQP的自適應量化參數(QPt)來對圖像數據進行量化,從而針對每個反饋控制單位對輸入圖像(91)進行編碼。裝置(200)檢查針對每個反饋控制單位的、經編碼的輸入圖像(91)的碼量。當裝置(200)預測針對每個圖像單位生成的碼量超過每個圖像單位的目標碼量時,裝置(200)增大平均量化參數BaseQP,從而增大自適應量化參數(QPt)的值。
文檔編號H04N7/26GK101779468SQ200980100147
公開日2010年7月14日 申請日期2009年6月23日 優(yōu)先權日2008年6月27日
發(fā)明者渕江孝明 申請人:索尼公司