两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

經(jīng)量化數(shù)據(jù)的失真估計的制作方法

文檔序號:7515305閱讀:278來源:國知局
專利名稱:經(jīng)量化數(shù)據(jù)的失真估計的制作方法
技術(shù)領(lǐng)域
本發(fā)明大體上涉及數(shù)據(jù)處理,且更特定來說,涉及用于估計歸因于數(shù)據(jù)量化的失真的技術(shù)。

背景技術(shù)
編碼系統(tǒng)廣泛用于在傳輸或存儲之前處理數(shù)據(jù)。編碼系統(tǒng)可量化輸入數(shù)據(jù)以獲得經(jīng)量化數(shù)據(jù)且可進一步處理經(jīng)量化數(shù)據(jù)以產(chǎn)生用于傳輸或存儲的輸出數(shù)據(jù)。經(jīng)量化數(shù)據(jù)可以一組離散值來表示,且在連續(xù)離散值之間的步長可為可選擇參數(shù)。較大的量化步長可導(dǎo)致更粗略表示的經(jīng)量化數(shù)據(jù),所述情況可導(dǎo)致輸入數(shù)據(jù)與經(jīng)量化數(shù)據(jù)之間的較大誤差或較多失真。然而,較大的量化步長可允許以較少位表示經(jīng)量化數(shù)據(jù)和/或可導(dǎo)致含有更多零的經(jīng)量化數(shù)據(jù),兩種情況均可允許以較低速率發(fā)送和/或以較少存儲器存儲輸出數(shù)據(jù)。相反,較小的量化步長可導(dǎo)致更精細表示的經(jīng)量化數(shù)據(jù),所述情況可導(dǎo)致輸入數(shù)據(jù)與經(jīng)量化數(shù)據(jù)之間的較小誤差或較少失真。然而,較小的量化步長也可導(dǎo)致以更多位表示和/或含有較少零的經(jīng)量化數(shù)據(jù),兩種情況均可導(dǎo)致以較高速率發(fā)送和/或以較多存儲器存儲輸出數(shù)據(jù)。
通常在經(jīng)量化數(shù)據(jù)的速率與失真之間存在折衷??赡苄枰行У毓烙嬍д嬉允沟每梢运俾适д嬲壑赃x擇適當(dāng)?shù)牧炕介L。


發(fā)明內(nèi)容
本文中描述用于有效地估計歸因于數(shù)據(jù)量化的失真的技術(shù)。在一方面中,可針對待量化的一組系數(shù)而獲得具有多個頻段的直方圖,所述組系數(shù)可對應(yīng)于宏塊、幀等。直方圖的頻段的數(shù)目可基于可用于量化一組系數(shù)的量化步長的數(shù)目來確定。直方圖頻段的開始值和結(jié)束值可基于量化步長來確定,其可對應(yīng)于H.264等中的不同量化參數(shù)(QP)值。
可基于直方圖和多個頻段的平均失真來估計歸因于一組系數(shù)的量化的失真。在一種設(shè)計中,每一頻段中的系數(shù)的數(shù)目可乘以那個頻段的平均失真以獲得每頻段失真。每一頻段的平均失真可指示從量化頻段中的系數(shù)所獲得的量化系數(shù)誤差的平均能量。所有頻段的每頻段失真可經(jīng)累加以獲得經(jīng)累加失真??芍苯訉⒔?jīng)累加失真提供為所述組系數(shù)的所估計失真。經(jīng)累加失真也可用校正因子縮放以獲得所估計失真,其中校正因子可基于量化步長來確定。
在另一方面中,基于速率失真分析而為一組譯碼元素選擇一組量化步長。譯碼元素可對應(yīng)于宏塊、幀等。可(例如)在可用于量化的量化步長中的每一者下針對每一譯碼元素估計歸因于所述組譯碼元素的量化的失真。也可(例如)在可用量化步長中的每一者下針對每一譯碼元素估計用于所述組譯碼元素的速率??苫谒鼋M譯碼元素在可用量化步長下的所估計失真和所估計速率而為一組譯碼元素選擇一組量化步長,例如以使得在給定總速率下使所述組譯碼元素的總失真最小化。
以下更詳細地描述本發(fā)明的各種方面和特征。



圖1展示編碼系統(tǒng)的框圖。
圖2展示用于編碼系統(tǒng)的一組量化步長。
圖3A展示用于待量化的一組系數(shù)的直方圖表。
圖3B展示平均失真對直方圖頻段的失真表。
圖4A和圖4B展示三種類別的宏塊的所估計失真。
圖5展示校正因子對QP值的曲線。
圖6展示在應(yīng)用校正因子之后所估計失真的百分比誤差對QP值的曲線。
圖7展示用于估計歸因于量化的失真的過程。
圖8展示用于選擇量化步長的過程。
圖9展示無線通信裝置的框圖。

具體實施例方式 本文所述的失真估計技術(shù)可用于能夠量化數(shù)據(jù)的各種編碼系統(tǒng)。所述技術(shù)也可用于各種類型的數(shù)據(jù),例如視頻數(shù)據(jù)、音頻數(shù)據(jù)等。所述技術(shù)可進一步用于各種編碼標(biāo)準(zhǔn),例如JPEG、MPEG-1、MPEG-2、MPEG-4(部分2)、H.261、H.263、H.264等。為清晰起見,以下針對題為“用于普通視聽服務(wù)的高級譯碼(Advanced video coding for genericaudiovisual services)”的H.264描述技術(shù)的某些方面,H.264通常還被稱為MPEG-4第10部分。
圖1展示可用于H.264和可能其它標(biāo)準(zhǔn)的編碼系統(tǒng)100的框圖。編碼系統(tǒng)100接收待編碼的當(dāng)前幀F(xiàn)n且產(chǎn)生所述幀的編碼數(shù)據(jù)。一般來說,幀可具有任何高度和寬度尺寸且可被劃分為多個宏塊。對于H.264,每一宏塊可含有16×16個圖元(像素)且可進一步被劃分為十六個4×4塊。宏塊可包括用于亮度(Y)的16×16個像素、用于紅色色度(Cr)的2×8個像素和用于藍色色度(Cb)的2×8個像素。
編碼系統(tǒng)100可在逐宏塊的基礎(chǔ)上處理當(dāng)前幀。系統(tǒng)100也可以幀間模式或幀內(nèi)模式來編碼每一宏塊。可以兩種模式評估當(dāng)前幀中的宏塊或當(dāng)前宏塊,且可選擇具有較佳結(jié)果的模式。對于幀間模式,運動估計單元110接收當(dāng)前宏塊、識別一個或一個以上參考幀F(xiàn)n-1′中的緊密匹配當(dāng)前宏塊的宏塊,且將所識別的宏塊提供為當(dāng)前宏塊的預(yù)測宏塊。所述參考幀可包含已被編碼并重建的一個或兩個過去或未來的幀。對于幀內(nèi)模式,幀內(nèi)預(yù)測單元112基于當(dāng)前幀中的已被編碼并重建的樣本形成當(dāng)前宏塊的預(yù)測宏塊。模式選擇器114依據(jù)選定模式而將單元110或112的輸出提供為當(dāng)前宏塊的預(yù)測宏塊Pn。
加法器116從當(dāng)前宏塊減去預(yù)測宏塊且提供殘余或差異宏塊Dn。變換單元118在逐塊的基礎(chǔ)上以整數(shù)變換來變換殘余宏塊且提供經(jīng)變換的系數(shù)宏塊。量化器120量化經(jīng)變換宏塊中的系數(shù)且提供經(jīng)量化系數(shù)的宏塊Xn。經(jīng)量化系數(shù)由編碼器122重新排序且進行熵編碼以獲得經(jīng)編碼數(shù)據(jù)。
在重建路徑中,反量化器130以與由量化器120進行的量化互補的方式重新縮放宏塊Xn中的經(jīng)量化系數(shù)。反變換單元132在逐塊的基礎(chǔ)上對經(jīng)重新縮放的系數(shù)執(zhí)行反變換且提供經(jīng)重建的差異宏塊D′n。由量化器120進行的量化引入誤差或失真。因此,宏塊D′n通常不等同于差異宏塊Dn,但替代地為宏塊Dn的失真版本。加法器134對預(yù)測宏塊Pn與經(jīng)重建差異宏塊D′n求和且提供未經(jīng)濾波的經(jīng)重建宏塊uFn′。濾波器136對當(dāng)前幀的未經(jīng)濾波的經(jīng)重建宏塊進行濾波以減小塊化效應(yīng)和失真,且提供經(jīng)重建幀F(xiàn)n′,其可用于編碼其它幀。
編碼系統(tǒng)100可用于H.264和可能其它編碼標(biāo)準(zhǔn)和方案。整個編碼過程對于許多編碼標(biāo)準(zhǔn)和方案可為類似的,但編碼系統(tǒng)內(nèi)的各個單元的細節(jié)對于不同編碼標(biāo)準(zhǔn)和方案可為不同。
在H.264中,量化器120可基于為那個宏塊選擇的量化參數(shù)(QP)值而量化每一系數(shù)宏塊。存在從0變化到51的52個可能的QP值。每一QP值與不同除數(shù)相關(guān)聯(lián),其對應(yīng)于那個QP值的量化步長。在QP值與量化步長之間存在一對一的映射,且兩個項可互換使用。
可根據(jù)特定QP值通過用相關(guān)聯(lián)除數(shù)除宏塊中的每一系數(shù)來量化系數(shù)宏塊。對于每一系數(shù),可將結(jié)果的商或整數(shù)部分提供為經(jīng)量化系數(shù),且可丟棄結(jié)果的余數(shù)或分?jǐn)?shù)部分。
余數(shù)表示歸因于量化的誤差或失真。
可將宏塊的給定集合的總失真表示為 等式(1) 其中Di為宏塊i的失真,M為一組宏塊中的宏塊的數(shù)目,且D為一組宏塊的總失真???例如)通過對宏塊i中的所有經(jīng)量化系數(shù)的余數(shù)的平方求和來計算Di。
圖2展示在H.264中的0到11的QP值下量化步長的曲線。在H.264中,量化步長經(jīng)界定以使得對于QP值每遞增一,量化步長增加約12%,且對于QP值每遞增六,量化步長變?yōu)殡p倍。對于每一QP值,系數(shù)在其值小于那個QP值的量化步長的情況下可被量化為零。因此,在每一QP值下的平均或預(yù)期失真與相關(guān)聯(lián)的量化步長有關(guān),且失真對于逐漸變大的QP值逐漸變大。
可通過使用與較小量化步長相關(guān)聯(lián)的較小QP值來減小宏塊的總失真。然而,較小QP值可導(dǎo)致更多的經(jīng)編碼數(shù)據(jù),其可需要用于傳輸?shù)母咚俾屎?或用于存儲的更多存儲器。
可將宏塊的給定集合的速率表示為 等式(2) 其中Ri為宏塊i的速率,R為一組宏塊的速率且Rb為速率預(yù)算。速率預(yù)算可為經(jīng)分配以用于通信系統(tǒng)的速率、用于編碼的目標(biāo)速率等。一組宏塊的速率應(yīng)等于或小于速率預(yù)算。
需要在等式(2)中的速率約束下使等式(1)中的總失真最小化。此可等效于使以下等式最小化 等式(3) 其中QPi為宏塊i的QP值且λ為加權(quán)因子。
在等式(3)中,可為一組宏塊中的每一宏塊選擇不同QP值,使得QPi∈{0,…,51}。等式(3)中的速率失真函數(shù)為一組宏塊中的每一宏塊選擇適當(dāng)QP值,使得一組宏塊的總失真加上一組宏塊的縮放速率盡可能小。對于速率失真分析,需要盡可能準(zhǔn)確且有效地估計在不同可能QP值下的速率以及失真。
可如下基于ρ域模型有效地估計速率 Ri(QPq)=A·ρ(QPq)+B,等式(4) 其中ρ(QPq)為在用QP值QPq進行量化后非零系數(shù)的數(shù)目, A和B為ρ域模型的兩個常數(shù),且 Ri(QPq)為在QP值為QPq情況下宏塊i的速率。
等式(4)指示當(dāng)以QPq的QP值量化時可通過在量化后對非零系數(shù)的數(shù)目進行計數(shù)來估計宏塊i的速率。常數(shù)A和B可慮及例如在量化器后的熵編碼器等各種因素且可針對給定編碼系統(tǒng)經(jīng)預(yù)先確定??梢杂行Х绞疆a(chǎn)生ρ(QPq)值對QP值的表,而實際上并不以各個QP值來量化數(shù)據(jù)且對零的數(shù)目計數(shù)。ρ(QPq)表接著可用于基于等式(4)估計在不同QP值下的速率。
等式(4)展示一組宏塊的速率失真分析。一般來說,可對具有任何大小的一組譯碼元素(例如,一組宏塊、一組幀等)執(zhí)行速率失真分析。因此,索引i可為宏塊、幀等的索引。
在一方面中,可通過獲得待量化一組系數(shù)的直方圖且將平均失真應(yīng)用于直方圖的每一頻段來有效地估計歸因于量化的失真。所述組系數(shù)可用于宏塊、多個宏塊、幀等。不同直方圖頻段的平均失真可經(jīng)預(yù)先計算且存儲于數(shù)據(jù)結(jié)構(gòu)(例如,查找表)中。為清晰起見,以下描述失真估計的特定設(shè)計。
待量化的一組系數(shù)的直方圖可經(jīng)界為具有L個頻段,其中可基于量化步長或QP值的數(shù)目來選擇L。此外,可基于量化步長來選擇L個頻段中每一者的開始和結(jié)束。在一種設(shè)計中,53個頻段用于直方圖以覆蓋H.264中的52個QP值。表1列出52個QP值和用于每一QP值的量化步長。表1還列出直方圖的53個頻段和每一頻段的開始和結(jié)束。在表1中所示的設(shè)計中,頻段b的開始等于用于QP值b-1的量化步長的一半,且頻段b的結(jié)束等于用于QP值b的量化步長的一半。其它低值和高值也可用于每一頻段。
表1 可在如下執(zhí)行量化時使用表1中的頻段參數(shù)
等式(5) 其中Cin為待量化的系數(shù),CQ為經(jīng)量化的系數(shù),Qstep為用于量化的量化步長,且

為取下限(floor)運算子。
等式(5)中的Qstep/2的和實現(xiàn)舍入(而非舍位)。舉例來說,如果Qstep=100且下一更高量化步長為110,則在950≤Cin<1050的情況下CQ等于10,在1050≤Cin<1150的情況下CQ等于11,在1150≤Cin<1250的情況下CQ等于12等等。如果使用110的下一更高量化步長,則可由將剛好變?yōu)榱愕奈唇?jīng)量化的值來界定對應(yīng)于Qstep的頻段。頻段的開始和結(jié)束隨后可分別等于50和55。因此,當(dāng)如等式(5)中所示以舍入執(zhí)行量化時,頻段的開始應(yīng)等于那個頻段的量化步長的一半且頻段的結(jié)束應(yīng)等于下一更高量化步長的一半。對于以其它方式所執(zhí)行的量化,可以其它方式界定每一頻段的開始和結(jié)束。
可基于表1中給出的頻段參數(shù)來產(chǎn)生待量化的一組系數(shù)的直方圖。在一種設(shè)計中,通過將所述組中的每一系數(shù)頻段化為53個頻段中的一者來產(chǎn)生直方圖。具有值x的系數(shù)可在x處于0與0.3125之間的情況下置放于頻段0中,在x處于0.3125與0.3438之間的情況下置放于頻段1中;在x處于0.3438與0.4063之間的情況下置放于頻段2中等;在x處于104與112之間的情況下置放于頻段51中,且在x大于112的情況下置放于頻段52中。所述組中的每一系數(shù)可基于其值和直方圖的每一頻段的低值和高值而置放于53個頻段中的一者中。在已頻段化所述組中的所有系數(shù)后,每一頻段b(b=0,…,52)含有具有在那個頻段的低值與高值之間的值的系數(shù)的數(shù)目的計數(shù)。
在另一種設(shè)計中,通過確定用于集合中的系數(shù)的閾值QP值來產(chǎn)生直方圖。用于給定系數(shù)的閾值QP值QPt為導(dǎo)致非零經(jīng)量化系數(shù)的最大QP值。對于所述組中的每一系數(shù),可針對那個系數(shù)確定閾值QP值,且對應(yīng)于那個QP值的頻段可遞增一??赏ㄟ^對將QP值0作為其閾值QP值的系數(shù)數(shù)目、將QP值1作為其閾值QP值的系數(shù)數(shù)目等進行計數(shù)來獲得閾值QP表。閾值QP表可用作一組系數(shù)的直方圖??僧a(chǎn)生閾值QP表以用于速率估計且閾值QP表也可用作用于失真估計的直方圖而不引起任何額外處理以獲得直方圖。
圖3A展示一組系數(shù)的直方圖表。將頻段0中的系數(shù)的數(shù)目表示為T0,將頻段1中的系數(shù)的數(shù)目表示為T1等,且將頻段52中的系數(shù)的數(shù)目表示為T52。
對于直方圖的53個頻段中的每一者,可針對52個QP值的每一者計算平均失真且將其存儲于查找表中。平均失真也可被稱為預(yù)期失真、平均誤差等。對于給定頻段b和QP值QPq,可在用QP值QPq量化頻段b中的所有可能值的情況下計算平均失真。對于頻段b中的每一可能值,用QP值QPq對此值的量化導(dǎo)致可經(jīng)提供為經(jīng)量化系數(shù)的商和可用于計算平均失真的余數(shù)。平均失真可為頻段b中的所有可能值的余數(shù)的平均能量且可表達為 等式(6) 其中

為在用QP值QPq進行量化后頻段b中的第k個值的余數(shù); K為頻段b中的值的數(shù)目;且

為QP值為QPq情況下頻段b的平均失真。
如等式(6)中所示,可通過計算頻段b中的每一可能值的余數(shù)的平方、累加頻段b中的所有可能值的余數(shù)的平方且通過頻段b中的可能值的數(shù)目除經(jīng)累加結(jié)果來獲得平均失真。也可以其它方式來確定平均失真。
對于頻段0,可針對頻段0中的所有可能值(其在0與0.3125之間)在用QP值0(或量化步長0.625)量化這些值的情況下計算平均失真。也可在用QP值1量化這些值、接著用QP值2量化這些值等,且接著在用QP值51量化這些值的情況下計算平均失真。對于每一剩余頻段,可針對52個QP值中的每一者為那個頻段中的所有可能值計算平均失真。
圖3B展示在H.264中的52個QP值下的經(jīng)預(yù)先計算的平均失真對直方圖頻段的失真表的設(shè)計。失真表包括用于53個直方圖頻段的53行,每頻段一行;以及用于52個QP值的52列,每QP值一列。用于頻段b(對于b=0,…,52)的行含有用QP值0、1、2、…、51量化頻段b中的值的情況下的平均失真。
對于頻段0,此頻段中的值從0到0.3125不等且用QP值0的量化步長0.625被量化為零。對于較大QP值,頻段0中的所有值也被量化為零??苫陬l段0中的值來計算頻段0的平均失真且表示為D0,0。
對于頻段1,此頻段中的值從0.3125到0.3438不等,且用QP值0的量化步長0.625被量化為一,且用QP值1的量化步長0.6875被量化為零。當(dāng)頻段1的值用QP值0被量化為一時,可計算頻段1的平均失真且表示為D1,0。當(dāng)頻段1的值用QP值1被量化為零時,可計算頻段1的平均失真且表示為D1,1。由于頻段1中的值也用大于1的QP值被量化為零,因此,對于剩余QP值中的每一者,D1,1可用作平均失真。
對于頻段2,此頻段中的值從0.3438到0.4063不等,用QP值0的量化步長0.625被量化為二、用QP值1的量化步長0.6875被量化為一、且用QP值2的量化步長0.8125被量化為零。當(dāng)頻段2的值用QP值0被量化為二時,可計算頻段2的平均失真且表示為D2,0。當(dāng)頻段2的值用QP值1被量化為一時,可計算頻段2的平均失真且表示為D2,1。當(dāng)頻段2的值用QP值2被量化為零時,可計算頻段2的平均失真且表示為D2,2。由于頻段2中的值也用大于2的QP值被量化為零,因此,對于剩余QP值中的每一者,D2,2可用作平均失真。
通常,對于頻段b,此頻段中的值在QP值為0到b-1下被量化為非零值且在QP值為b到51下被量化為零??舍槍P值0到b中的每一者為頻段b中的值計算平均失真。QP值b的平均失真也可用于QP值b+1到51。當(dāng)用QP值QPq量化頻段b中的值時頻段b中的值的平均失真表示為

其中b=0,…,52且QPq=0,…,51。如果量化步長增加超過頻段b中的值,則失真受頻段b中的值的能量限制。因此,對于QPq>b, 對于表1中給出的頻段參數(shù),針對頻段0到52且針對每一頻段b的QP值0到b,可計算總共1430個平均失真。這1430個平均失真可存儲于圖3B所示的失真表中。失真表中的對于大于頻段索引的QP值(或QPq>b)的剩余1326個條目可為重復(fù)值。
可針對每一可能QP值基于直方圖和失真表估計一組系數(shù)的失真。在每一QP值下的所估計失真可表達為 等式(7) 其中Tb為頻段b中的系數(shù)的數(shù)目; E(QPq)為QP值QPq的校正因子;且 D(QPq)為當(dāng)用QP值QPq量化時一組系數(shù)的所估計失真(或失真估計)。
在等式(7)中,通過以下操作獲得所估計失真(a)使每一頻段中的系數(shù)數(shù)目Tb乘以那個頻段的平均失真

以獲得每頻段失真;(b)對所有53個頻段的每頻段失真求和;以及(c)應(yīng)用校正因子E(QPq)。校正因子可慮及在不同QP值下的所估計失真中的系統(tǒng)誤差或偏差,如下所述。
可基于等式(7)針對52個可能的QP值的每一者確定所估計失真。在所有52個QP值下的所估計失真D(QP0)到D(QP51)可用于例如速率失真分析等各種目的。
圖4A展示三種類別的宏塊的實際和所估計失真。每一類別包括基于SAD而選擇的宏塊的數(shù)目,SAD為當(dāng)前宏塊與所預(yù)測宏塊之間的絕對差的和??稍谶\動估計期間對每一宏塊計算SAD值。較大的SAD值指示宏塊與其所預(yù)測宏塊之間的較大誤差,其可導(dǎo)致更多非零系數(shù)。所述三種類別包括在三個不同SAD值范圍中的宏塊。每一宏塊以52個QP值中的每一者被量化。對于每一QP值,計算實際失真且還如等式(7)中所示計算所估計失真。每一類別中的所有宏塊的實際失真針對每一QP值被平均化且繪制在圖4A中。類似地,每一類別中的所有宏塊的所估計失真針對每一QP值被平均化且繪制在圖4A中。圖4A中的曲線表明對于所有三種類別且在所有QP值上,所估計失真與實際失真緊密匹配。
圖4B展示三種類別的宏塊在1到10的低QP值下的實際和所估計失真。圖4B為圖4A的左下角的接近或放大。圖4B指示在低QP值下所估計失真的曲線偏離實際失真的曲線。在低QP值下的所估計失真具有比在高QP值下的所估計失真大的誤差(按百分比)。
對于低QP值,系數(shù)值相對于量化步長來說是大的小量化步長假設(shè)通常有效。因此,失真較大程度上為量化步長的函數(shù)且在同樣程度上不是數(shù)據(jù)分布的函數(shù)。對于大QP值,小量化步長假設(shè)并不有效。因此,失真為數(shù)據(jù)分布以及量化步長的函數(shù)。
在等式(7)中,校正因子E(QPq)可用于慮及在低QP值下的實際失真與所估計失真之間的系統(tǒng)誤差或偏差。系統(tǒng)誤差可歸因于經(jīng)引入以減少反量化的定點實施誤差的量化除數(shù)中的改變。校正因子可基于數(shù)據(jù)來估計、按經(jīng)驗計算、經(jīng)由計算機仿真確定等。舉例來說,可基于實際數(shù)據(jù)或測試數(shù)據(jù)針對不同QP值來確定實際失真,也可基于相同數(shù)據(jù)針對不同QP值來確定所估計失真,且可基于在不同QP值下的實際失真和所估計失真針對這些QP值來確定校正因子。
圖5展示在不同QP值下的校正因子E(QPq)的實例曲線。通過基于數(shù)據(jù)針對不同QP值來計算實際失真和所估計失真且計算在每一QP值下的實際失真與所估計失真之間的百分比差異來獲得曲線。如圖4B和圖5中所示,對于小于5的QP值,高估失真,且對于5與20之間的QP值,低估失真。所估計失真中的誤差在大于15的QP值下小于10%且在大于20的QP值下小于5%。
所估計失真的誤差在低QP值下可相對較高(按百分比)。然而,誤差較小程度上取決于數(shù)據(jù)且更大程度上取決于QP值。因此,可通過應(yīng)用校正因子相對容易且準(zhǔn)確地校正誤差。
一般來說,可如下界定校正因子 E(QPq)=1.0暗示所估計失真中無系統(tǒng)誤差, E(QPq)>1.0暗示失真的系統(tǒng)性低估,且 E(QPq)<1.0暗示失真的系統(tǒng)性高估。
圖6展示在使用圖5中所示的校正因子的情況下在不同QP值下的所估計失真與實際失真之間的百分比誤差的實例曲線。如圖6中所示,在對獨立組的數(shù)據(jù)應(yīng)用校正因子后,可實質(zhì)上減少所估計失真中的誤差。在此實例中,最大誤差小于4%且平均誤差近似為0.5%。本文中所述的技術(shù)因此可能夠提供歸因于量化的失真的相對準(zhǔn)確的估計。
本文中所述的技術(shù)可用于能夠以多個量化步長來量化數(shù)據(jù)的編碼系統(tǒng),例如,H.264。所述技術(shù)也可用于以單一固定量化步長來量化數(shù)據(jù)的編碼系統(tǒng)。
所述技術(shù)也可用于各種目的。在一種設(shè)計中,技術(shù)可用于恒定速率位分配??舍槍Σ煌琎P值為一組譯碼元素估計失真。也可針對不同QP值為一組譯碼元素估計速率。舉例來說,可針對52個QP值中的每一者為每一譯碼元素估計失真和速率。一組譯碼元素在不同QP值下的所估計失真和所估計速率可用于速率失真分析以選擇用于一組譯碼元素的一組QP值,一個QP值用于每一譯碼元素,其導(dǎo)致在給定總速率下一組譯碼元素的最小總失真。
在另一種設(shè)計中,所述技術(shù)可用于恒定峰值信噪比(PSNR)位分配??苫谝唤M譯碼元素在不同QP值下的所估計失真而針對這些QP值預(yù)測一組譯碼元素的PSNR。舉例來說,可基于那個譯碼元素在52個QP值中的每一者下的所估計失真而針對那個QP值預(yù)測每一譯碼元素的PSNR。一組QP值接著可經(jīng)選擇以實現(xiàn)所述組中的所有譯碼元素上(例如,整個幀、片段等上)的恒定PSNR??勺兯俾士捎糜趯崿F(xiàn)特定恒定PSNR。或者,對于一組譯碼元素的給定總速率,可實現(xiàn)最高可能的恒定PSNR。
在又一設(shè)計中,所述技術(shù)可用于恒定感知質(zhì)量位分配??梢愿鞣N方式估計感知失真或質(zhì)量。在被稱為感知加權(quán)的一種設(shè)計中,可在組合譯碼元素中的不同系數(shù)的貢獻度之前向這些系數(shù)給予不同權(quán)數(shù)以獲得譯碼元素的所估計失真。舉例來說,可向表示較不重要的頻率分量的系數(shù)給予較小權(quán)數(shù)。在另一設(shè)計中,譯碼元素的總紋理和照明特征可用于估計所感覺失真。舉例來說,可將具有極低頻率分量(平坦)的譯碼元素中的小失真感覺為高度失真。方差可用作譯碼元素中的高頻率分量的量度??梢?Var_t/Var_i)對譯碼元素的失真進行加權(quán)以獲得感知失真,其中Var_t為一組譯碼元素的總方差且Var_i為譯碼元素的方差??苫谟绊懰杏X質(zhì)量(例如空間活動性和時間活動性)的權(quán)數(shù)或因子針對不同QP值為每一譯碼元素獲得感知質(zhì)量量度值。這些量度值可用于選擇可導(dǎo)致恒定感知質(zhì)量的用于一組譯碼元素的一組QP值??勺兯俾士捎糜趯崿F(xiàn)特定恒定感知質(zhì)量?;蛘撸瑢τ谝唤M譯碼元素的給定總速率,可實現(xiàn)最佳可能的感知質(zhì)量。也可以其它方式使用所估計失真和/或用于其它目的。
圖7展示用于估計歸因于量化的失真的過程700??舍槍Υ炕囊唤M系數(shù)獲得具有多個頻段的直方圖(方框710)。一組系數(shù)可對應(yīng)于宏塊、幀等??苫诳捎糜诹炕唤M系數(shù)的量化步長的數(shù)目來確定直方圖的頻段的數(shù)目??苫诹炕介L來確定直方圖頻段的開始值和結(jié)束值??苫谙禂?shù)值和每一頻段的開始值和結(jié)束值通過將所述組中的每一系數(shù)映射到頻段中的一者來獲得直方圖。也可通過為每一系數(shù)確定對應(yīng)于導(dǎo)致非零經(jīng)量化系數(shù)的最大量化步長的閾值QP值來獲得直方圖。接著可基于所述組中的所有系數(shù)的閾值QP值來獲得直方圖。
可基于直方圖和多個頻段的平均失真來估計歸因于一組系數(shù)的量化的失真(方框720)。對于方框720,每一頻段中的系數(shù)的數(shù)目可乘以頻段的平均失真以獲得每頻段失真。所有頻段的每頻段失真可經(jīng)累加以獲得經(jīng)累加失真??蓪⒔?jīng)累加失真直接提供為一組系數(shù)的所估計失真。也可用校正因子縮放經(jīng)累加失真以獲得所估計失真,其中可基于量化步長來確定校正因子。
可基于直方圖和多個頻段在每一量化步長下的平均失真來估計歸因于在多個量化步長中的每一者下的量化的失真??蛇M一步基于校正因子來估計在每一量化步長下的失真,校正因子可為量化步長的函數(shù)。多個量化步長可對應(yīng)于H.264中的52個QP值或用于一些其它編碼系統(tǒng)或標(biāo)準(zhǔn)的一些其它組量化步長。
圖8展示用于選擇量化步長的過程800???例如)基于一組譯碼元素的至少一個直方圖和在多個量化步長下的平均失真對直方圖頻段的表來估計歸因于一組譯碼元素在多個量化步長下的量化的失真(方框810)。可針對一個或多個譯碼元素而獲得直方圖。舉例來說,可針對每一譯碼元素而獲得直方圖,且可基于每一譯碼元素的直方圖針對每一量化步長為每一譯碼元素估計失真。也可(例如)基于以上所述的ρ(QPq)表針對多個量化步長來估計一組譯碼元素的速率(方框820)。舉例來說,可針對每一量化步長為每一譯碼元素估計速率??苫谝唤M譯碼元素在多個量化步長下的所估計失真和所估計速率來選擇一組量化步長以用于量化一組譯碼元素(方框830)。舉例來說,一個量化步長可經(jīng)選擇以用于每一譯碼元素,使得總失真(或所述組中的個別譯碼元素的所估計失真的和)在給定總速率下最小。也可基于例如恒定PSNR、恒定感知質(zhì)量等其它標(biāo)準(zhǔn)來選擇一組量化步長。
本文中所述的技術(shù)可用于通信、計算、聯(lián)網(wǎng)、個人電子裝置等。舉例來說,所述技術(shù)可用于無線通信裝置、手持式裝置、游戲裝置、計算裝置、消費者電子裝置、計算機等。以下描述用于無線通信裝置的技術(shù)的實例使用。
圖9展示無線通信系統(tǒng)中的無線通信裝置900的設(shè)計的框圖。無線裝置900可為蜂窩式電話、終端、手持機、個人數(shù)字助理(PDA)、無線調(diào)制解調(diào)器等。無線通信系統(tǒng)可為碼分多址(CDMA)系統(tǒng)、全球移動通信(GSM)系統(tǒng)等。
無線裝置900能夠經(jīng)由接收路徑和發(fā)射路徑提供雙向通信。在接收路徑上,由天線912接收由基站發(fā)射的信號且將其提供到接收器(RCVR)914。接收器914調(diào)節(jié)并數(shù)字化所接收的信號且將樣本提供到數(shù)字區(qū)920以供進一步處理。在發(fā)射路徑上,發(fā)射器(TMTR)916接收將要從數(shù)字區(qū)920發(fā)射的數(shù)據(jù)、處理并調(diào)節(jié)數(shù)據(jù)且產(chǎn)生經(jīng)調(diào)制信號,其經(jīng)由天線912發(fā)射到基站。
數(shù)字區(qū)920包括各種處理、接口和存儲器單元,例如,調(diào)制解調(diào)器處理器922、精簡指令集計算機/數(shù)字信號處理器(RISC/DSP)924、控制器/處理器926、內(nèi)部存儲器928、圖形處理單元(GPU)932、視頻/相機處理器934、顯示處理器936和外部總線接口(EBI)938。調(diào)制解調(diào)器處理器922可執(zhí)行用于數(shù)據(jù)發(fā)射和接收的處理(例如,編碼、調(diào)制、解調(diào)和解碼)。RISC/DSP 924可執(zhí)行用于無線裝置900的通用和專用處理??刂破?處理器926可引導(dǎo)數(shù)字區(qū)920內(nèi)的各種處理和接口單元的操作。內(nèi)部存儲器928可存儲用于數(shù)字區(qū)920內(nèi)的各種單元的數(shù)據(jù)和/或指令。
GPU 932可對2維和/或3維圖形執(zhí)行圖形處理。視頻/相機處理器934可從相機944接收圖像數(shù)據(jù)且可對用于靜止圖像、移動視頻、移動文本等數(shù)據(jù)執(zhí)行處理以用于例如攝像機、視頻重放、視頻會議等相機和視頻應(yīng)用。顯示處理器936可執(zhí)行處理以促進視頻、圖形、圖像和文本在顯示單元946上的顯示。EBI 938可促進數(shù)據(jù)在數(shù)字區(qū)920與主存儲器948之間的傳遞。可通過GPU 932對圖形圖像、視頻/相機處理器934對俘獲圖像、顯示處理器936對輸出圖像等實施本文中所述的技術(shù)。
可用一個或一個以上處理器、DSP、微處理器、RISC等實施數(shù)字區(qū)920。也可在一個或一個以上專用集成電路(ASIC)和/或一些其它類型的集成電路(IC)上制造數(shù)字區(qū)920。
可由各種手段實施本文中所述的失真估計技術(shù)。舉例來說,可以硬件、固件、軟件或其組合來實施這些技術(shù)。對于硬件實施方案,用于所述技術(shù)的處理單元可實施在一個或一個以上ASIC、DSP、數(shù)字信號處理裝置(DSPD)、可編程邏輯裝置(PLD)、現(xiàn)場可編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器、電子裝置、經(jīng)設(shè)計以執(zhí)行本文中所述功能的其它電子單元、計算機或其組合內(nèi)。
對于固件和/或軟件實施方案,可用執(zhí)行本文中所述功能的模塊(例如,程序、函數(shù)等)來實施失真估計技術(shù)。固件和/或軟件代碼可存儲于存儲器(例如,圖9中的存儲器928和/或948)中且由處理器(例如,處理器924、926、932、934和/或936)執(zhí)行。存儲器可實施在處理器內(nèi)或在處理器外部。
實施本文中所述技術(shù)的設(shè)備可為獨立單元或可為裝置的部分。所述裝置可為(i)獨立集成電路(IC);(ii)一個或一個以上IC的集合,其可包括用于存儲數(shù)據(jù)和/或指令的存儲器IC;(iii)例如移動臺調(diào)制解調(diào)器(MSM)等ASIC;(iv)可嵌入其它裝置內(nèi)的模塊;(v)蜂窩式電話、無線裝置、手持機或移動單元;(vi)等等。
提供本發(fā)明的先前描述以使得所屬領(lǐng)域的技術(shù)人員能夠制造或使用本發(fā)明。所屬領(lǐng)域的技術(shù)人員將容易明白對本發(fā)明的各種修改,且在不脫離本發(fā)明的精神或范圍的情況下本文中所界定的一般原理可應(yīng)用于其它變化形式。因此,不希望本發(fā)明限于本文中所述的實例,而是將賦予其與本文中所揭示的原理和新穎特征一致的最廣泛范圍。
權(quán)利要求
1.一種設(shè)備,其包含
處理器,其經(jīng)配置以針對待量化的一組系數(shù)而獲得具有多個頻段的直方圖,且基于所述直方圖和所述多個頻段的平均失真來估計歸因于所述組系數(shù)的量化的失真;以及
存儲器,其耦合到所述處理器。
2.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述處理器經(jīng)配置以使所述直方圖的每一頻段中的系數(shù)的數(shù)目乘以所述頻段的平均失真以獲得每頻段失真,累加所述多個頻段的每頻段失真以獲得經(jīng)累加失真,且基于所述經(jīng)累加失真來導(dǎo)出所述組系數(shù)的所估計失真。
3.根據(jù)權(quán)利要求2所述的設(shè)備,其中所述處理器經(jīng)配置以用校正因子縮放所述經(jīng)累加失真以獲得所述組系數(shù)的所述所估計失真。
4.根據(jù)權(quán)利要求3所述的設(shè)備,其中所述處理器經(jīng)配置以基于用于量化所述組系數(shù)的量化步長來確定所述校正因子。
5.根據(jù)權(quán)利要求1所述的設(shè)備,其中針對多個量化步長中的每一者,所述處理器經(jīng)配置以基于所述直方圖和所述多個頻段在所述量化步長下的平均失真用所述量化步長來估計歸因于所述組系數(shù)的量化的失真。
6.根據(jù)權(quán)利要求5所述的設(shè)備,其中所述處理器經(jīng)配置以基于作為量化步長的函數(shù)的校正因子來估計所述多個量化步長中的每一者下的失真。
7.根據(jù)權(quán)利要求5所述的設(shè)備,其中所述多個量化步長對應(yīng)于H.264中的多個量化參數(shù)(QP)值。
8.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述直方圖的頻段的數(shù)目是基于可用于量化所述組系數(shù)的量化步長的數(shù)目來確定。
9.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述多個頻段的開始值和結(jié)束值是基于可用于量化所述組系數(shù)的多個量化步長來確定。
10.根據(jù)權(quán)利要求1所述的設(shè)備,其中為獲得所述直方圖,所述處理器經(jīng)配置以基于所述組中的每一系數(shù)的值以及每一頻段的開始值和結(jié)束值將所述系數(shù)映射到所述多個頻段中的一者。
11.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述處理器經(jīng)配置以為所述組中的每一系數(shù)確定對應(yīng)于導(dǎo)致非零經(jīng)量化系數(shù)的最大量化步長的閾值量化參數(shù)(QP)值,且基于所述組中的所述系數(shù)的閾值QP值來獲得所述直方圖。
12.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述存儲器經(jīng)配置以存儲在可用于量化所述組系數(shù)的多個量化步長下的平均失真對頻段的表。
13.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述直方圖的每一頻段在特定量化步長下的平均失真指示從用所述特定量化步長量化所述頻段中的系數(shù)中獲得的經(jīng)量化系數(shù)的誤差的平均能量。
14.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述組系數(shù)對應(yīng)于系數(shù)的宏塊或幀。
15.一種方法,其包含
針對待量化的一組系數(shù)而獲得具有多個頻段的直方圖;以及
基于所述直方圖和所述多個頻段的平均失真來估計歸因于所述組系數(shù)的量化的失真。
16.根據(jù)權(quán)利要求15所述的方法,其中所述估計歸因于量化的失真包含
使所述直方圖的每一頻段中的系數(shù)的數(shù)目乘以所述頻段的平均失真以獲得每頻段失真,
累加所述多個頻段的每頻段失真以獲得經(jīng)累加失真,以及
基于所述經(jīng)累加失真導(dǎo)出所述組系數(shù)的所估計失真。
17.根據(jù)權(quán)利要求16所述的方法,其中所述導(dǎo)出所述所估計失真包含
用校正因子縮放所述經(jīng)累加失真以獲得所述組系數(shù)的所述所估計失真。
18.根據(jù)權(quán)利要求15所述的方法,其中所述估計歸因于量化的失真包含針對多個量化步長中的每一者,
基于所述直方圖和所述多個頻段在所述量化步長下的所述平均失真來估計歸因于所述組系數(shù)在所述量化步長下的量化的失真。
19.一種設(shè)備,其包含
用于針對待量化的一組系數(shù)而獲得具有多個頻段的直方圖的裝置;以及
用于基于所述直方圖和所述多個頻段的平均失真來估計歸因于所述組系數(shù)的量化的失真的裝置。
20.根據(jù)權(quán)利要求19所述的設(shè)備,其中所述用于估計歸因于量化的失真的裝置包含
用于使所述直方圖的每一頻段中的系數(shù)的數(shù)目乘以所述頻段的平均失真以獲得每頻段失真的裝置,
用于累加所述多個頻段的每頻段失真以獲得經(jīng)累加失真的裝置,以及
用于基于所述經(jīng)累加失真導(dǎo)出所述組系數(shù)的所估計失真的裝置。
21.根據(jù)權(quán)利要求20所述的設(shè)備,其中所述用于導(dǎo)出所述所估計失真的裝置包含
用于用校正因子縮放所述經(jīng)累加失真以獲得所述組系數(shù)的所述所估計失真的裝置。
22.根據(jù)權(quán)利要求19所述的設(shè)備,其中所述用于估計歸因于量化的失真的裝置包含
針對多個量化步長中的每一者,
用于基于所述直方圖和所述多個頻段在所述量化步長下的平均失真用所述量化步長來估計歸因于所述組系數(shù)的量化的失真的裝置。
23.一種用于存儲指令的處理器可讀媒體,所述指令可操作以
針對待量化的一組系數(shù)而獲得具有多個頻段的直方圖;以及
基于所述直方圖和所述多個頻段的平均失真來估計歸因于所述組系數(shù)的量化的失真。
24.根據(jù)權(quán)利要求23所述的處理器可讀媒體,且其進一步用于存儲可操作以執(zhí)行以下操作的指令
使所述直方圖的每一頻段中的系數(shù)的數(shù)目乘以所述頻段的平均失真以獲得每頻段失真,
累加所述多個頻段的每頻段失真以獲得經(jīng)累加失真,以及
基于所述經(jīng)累加失真來導(dǎo)出所述組系數(shù)的所估計失真。
25.根據(jù)權(quán)利要求24所述的處理器可讀媒體,且其進一步用于存儲可操作以執(zhí)行以下操作的指令
用校正因子縮放所述經(jīng)累加失真以獲得所述組系數(shù)的所述所估計失真。
26.一種設(shè)備,其包含
處理器,其經(jīng)配置以基于一組譯碼元素的至少一個直方圖以及平均失真對直方圖頻段的表來估計歸因于所述組譯碼元素在多個量化步長下的量化的失真,來估計所述組譯碼元素在所述多個量化步長下的速率,且基于所述組譯碼元素在所述多個量化步長下的所述所估計失真和所述所估計速率來選擇用于量化所述組譯碼元素的一組量化步長;以及
存儲器,其耦合到所述處理器。
27.根據(jù)權(quán)利要求26所述的設(shè)備,其中所述處理器經(jīng)配置以針對所述組譯碼元素中的每一譯碼元素而獲得直方圖,且基于所述譯碼元素的所述直方圖來估計每一譯碼元素在所述多個量化步長中的每一者下的失真和速率。
28.根據(jù)權(quán)利要求26所述的設(shè)備,其中所述處理器經(jīng)配置以基于具有所述多個量化步長中的每一者下的非零經(jīng)量化系數(shù)的數(shù)目的表來估計在所述多個量化步長下的所述速率。
29.根據(jù)權(quán)利要求26所述的設(shè)備,其中所述處理器經(jīng)配置以選擇用于所述組譯碼元素的所述組量化步長以在特定總速率下實現(xiàn)所述組譯碼元素的最低總失真,其中一個量化步長用于每一譯碼元素。
30.根據(jù)權(quán)利要求26所述的設(shè)備,其中所述處理器經(jīng)配置以基于所述所估計失真來估計所述組譯碼元素在所述多個量化步長下的信噪比(SNR),且選擇用于所述組譯碼元素的所述組量化步長以實現(xiàn)所述組譯碼元素的近似恒定的SNR,其中一個量化步長用于每一譯碼元素。
31.根據(jù)權(quán)利要求26所述的設(shè)備,其中所述處理器經(jīng)配置以基于所述所估計失真來估計所述組譯碼元素在所述多個量化步長下的感知質(zhì)量,且選擇用于所述組譯碼元素的所述組量化步長以實現(xiàn)所述組譯碼元素的近似恒定的感知質(zhì)量,其中一個量化步長用于每一譯碼元素。
32.一種方法,其包含
基于一組譯碼元素的至少一個直方圖以及平均失真對直方圖頻段的表來估計歸因于所述組譯碼元素在多個量化步長下的量化的失真;
估計所述組譯碼元素在所述多個量化步長下的速率;以及
基于所述組譯碼元素在所述多個量化步長下的所述所估計失真和所述所估計速率來選擇用于量化所述組譯碼元素的一組量化步長。
33.根據(jù)權(quán)利要求32所述的方法,其中所述選擇所述組量化步長包含
選擇用于所述組譯碼元素的所述組量化步長以在特定總速率下實現(xiàn)所述組譯碼元素的最低總失真,其中一個量化步長用于每一譯碼元素。
全文摘要
本發(fā)明描述用于估計歸因于數(shù)據(jù)量化的失真的技術(shù)??舍槍Υ炕囊唤M系數(shù)而獲得具有多個頻段的直方圖??苫谒鲋狈綀D和所述直方圖頻段的平均失真來估計歸因于所述組系數(shù)的量化的失真??墒姑恳活l段中的系數(shù)的數(shù)目乘以所述頻段的平均失真以獲得每頻段失真。所有所述頻段的所述每頻段失真可經(jīng)累加且用校正因子縮放以獲得所述所估計失真。所述技術(shù)可用于估計一組譯碼元素的失真??舍槍Χ鄠€量化步長中的每一者為每一譯碼元素估計失真和速率??苫谒鼋M譯碼元素在不同量化步長下的所述所估計失真和所述所估計速率而為所述組譯碼元素選擇一組量化步長。
文檔編號H03M7/30GK101606320SQ200880004325
公開日2009年12月16日 申請日期2008年2月7日 優(yōu)先權(quán)日2007年2月8日
發(fā)明者納倫德拉納特·馬拉亞特, 沙拉特·曼朱納特 申請人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
精河县| 法库县| 晋江市| 北票市| 五峰| 广安市| 潢川县| 伊宁市| 普兰店市| 崇州市| 汝南县| 温宿县| 墨玉县| 大姚县| 平谷区| 定陶县| 禄丰县| 汉沽区| 信阳市| 大渡口区| 台南县| 云林县| 英山县| 新巴尔虎左旗| 呼伦贝尔市| 榕江县| 双流县| 吉木萨尔县| 惠州市| 高雄县| 寿光市| 瑞昌市| 灵山县| 志丹县| 平罗县| 弋阳县| 宜黄县| 措勤县| 武安市| 平陆县| 晋州市|