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