欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

使用預(yù)測(cè)殘差的視頻編碼方法及裝置與流程

文檔序號(hào):11532857閱讀:328來(lái)源:國(guó)知局
使用預(yù)測(cè)殘差的視頻編碼方法及裝置與流程

【交叉引用】

本申請(qǐng)要求申請(qǐng)日為2014年11月5日,pct申請(qǐng)?zhí)枮閜ct/cn2014/090357,名稱(chēng)為“mergewithinterpredictionoffset”的pct專(zhuān)利申請(qǐng),以及申請(qǐng)日為2015年4月17日,pct申請(qǐng)?zhí)枮閜ct/cn2015/076865,名稱(chēng)為“interpredictionoffset”的pct專(zhuān)利申請(qǐng)的優(yōu)先權(quán)。上述pct專(zhuān)利申請(qǐng)的全部?jī)?nèi)容通過(guò)引用并入本文。

【技術(shù)領(lǐng)域】

本發(fā)明涉及圖像和視頻編碼。具體地,本發(fā)明涉及使用幀間預(yù)測(cè)偏移(interpredictionoffset)來(lái)提高具有運(yùn)動(dòng)補(bǔ)償?shù)囊曨l編碼效率的技術(shù)。



背景技術(shù):

運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)(motioncompensationprediction,簡(jiǎn)寫(xiě)為mcp)是視頻編碼中有效的幀間編碼技術(shù),其利用視頻序列的圖像中的時(shí)間冗余(temporalredundancy)。運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)技術(shù)通常應(yīng)用于基于塊的配置,其中為每個(gè)塊確定運(yùn)動(dòng)矢量(motionvector,簡(jiǎn)寫(xiě)為mv)和參考圖像索引等運(yùn)動(dòng)信息。除了運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)之外,幀內(nèi)預(yù)測(cè)(intraprediction)也是利用當(dāng)前圖像中的空間冗余(spatialredundancy)的另一種預(yù)測(cè)技術(shù)。根據(jù)模式選擇,從運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)產(chǎn)生幀間預(yù)測(cè)值,或者從幀內(nèi)預(yù)測(cè)生成幀內(nèi)預(yù)測(cè)值。原始信號(hào)與幀間預(yù)測(cè)值或幀內(nèi)預(yù)測(cè)值之間的差異稱(chēng)為預(yù)測(cè)誤差或預(yù)測(cè)殘差(residual)信號(hào)。通過(guò)變換、量化和熵編碼進(jìn)一步處理預(yù)測(cè)殘差信號(hào)以產(chǎn)生壓縮視頻比特流。在編碼處理的各個(gè)階段,特別是在量化過(guò)程中,引入了編碼偽像(codingartifacts)。為了減輕編碼偽像,諸如去塊濾波器(deblockingfilter,簡(jiǎn)寫(xiě)為df)和采樣自適應(yīng)偏移(sampleadaptiveoffset,簡(jiǎn)寫(xiě)為sao)之類(lèi)的環(huán)路處理(in-loopprocessing)已經(jīng)被應(yīng)用于重構(gòu)的視頻以增強(qiáng)圖像質(zhì)量。

圖1示出了基于具有自適應(yīng)間隔和運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)的高效率視頻編碼(highefficiencyvideocoding,簡(jiǎn)寫(xiě)為hevc)的視頻編碼器100的示例性系統(tǒng)框圖。幀內(nèi)預(yù)測(cè)110基于當(dāng)前圖像的重構(gòu)視頻數(shù)據(jù)提供幀內(nèi)預(yù)測(cè)值,而運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)(mcp)112執(zhí)行運(yùn)動(dòng)估計(jì)(motionestimation,簡(jiǎn)寫(xiě)為me)和運(yùn)動(dòng)補(bǔ)償(motioncompensation,簡(jiǎn)寫(xiě)為mc),以基于來(lái)自其他(一個(gè)或多個(gè))圖像的視頻數(shù)據(jù)提供幀間預(yù)測(cè)值。開(kāi)關(guān)114從幀內(nèi)預(yù)測(cè)110和運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)112中選擇一個(gè)輸出,并將所選擇的預(yù)測(cè)值提供給加法器116以形成預(yù)測(cè)誤差,也稱(chēng)為預(yù)測(cè)殘差信號(hào)。預(yù)測(cè)殘差信號(hào)進(jìn)一步通過(guò)變換(transformation,簡(jiǎn)寫(xiě)為t)118以及隨后的量化(quantization,簡(jiǎn)寫(xiě)為q)120進(jìn)行處理。然后由熵編碼器134對(duì)經(jīng)變換和量化的殘差信號(hào)進(jìn)行編碼以形成編碼視頻比特流。然后,經(jīng)編碼的視頻比特流包裝有諸如運(yùn)動(dòng)信息的邊信息(sideinformation)。與邊信息相關(guān)聯(lián)的數(shù)據(jù)也被提供給熵編碼器134。當(dāng)使用運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)模式時(shí),也必須在編碼器端重構(gòu)參考一個(gè)或多個(gè)圖像。通過(guò)逆量化(inversequantization,簡(jiǎn)寫(xiě)為iq)122和逆變換(inversetransformation,簡(jiǎn)寫(xiě)為it)124來(lái)處理經(jīng)變換和量化的殘差信號(hào),以恢復(fù)參考一個(gè)或多個(gè)圖像的預(yù)測(cè)殘差信號(hào)。如圖1所示,通過(guò)在重構(gòu)(reconstruction,簡(jiǎn)寫(xiě)為rec)126處加回預(yù)測(cè)值來(lái)恢復(fù)預(yù)測(cè)殘差信號(hào),以產(chǎn)生重構(gòu)的視頻數(shù)據(jù)。重構(gòu)的視頻數(shù)據(jù)可以存儲(chǔ)在參考圖像緩沖器(ref.pict.buffer)132中,并用于預(yù)測(cè)其它圖像。

由于編碼處理,來(lái)自rec126的重構(gòu)的視頻數(shù)據(jù)可能受到各種損害,因此,在重構(gòu)的視頻數(shù)據(jù)被存儲(chǔ)在參考圖像緩沖器132中之前,環(huán)路處理去塊濾波器(deblockingfilter,簡(jiǎn)寫(xiě)為df)128和采樣自適應(yīng)偏移(sao)130被應(yīng)用于重構(gòu)的視頻數(shù)據(jù),以進(jìn)一步提高圖像質(zhì)量。來(lái)自df128的df信息和來(lái)自sao130的sao信息被提供給熵編碼器134,用于并入編碼視頻比特流。

圖2示出了用于圖1的編碼器100的相應(yīng)的解碼器200。編碼視頻比特流由熵解碼器210解碼以恢復(fù)經(jīng)變換和量化的殘差信號(hào)、df和sao信息,以及其他系統(tǒng)信息。解碼器200的解碼處理類(lèi)似于編碼器100處的重構(gòu)循環(huán)(reconstructionloop),除了解碼器200僅需要用于運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)的運(yùn)動(dòng)補(bǔ)償(mc)214。開(kāi)關(guān)216根據(jù)解碼的模式信息從幀內(nèi)預(yù)測(cè)212選擇幀內(nèi)預(yù)測(cè)值或從mc214選擇幀間預(yù)測(cè)值。通過(guò)逆量化(iq)220和逆變換(it)222來(lái)恢復(fù)經(jīng)變換和量化的殘差信號(hào)。通過(guò)在rec218中加回預(yù)測(cè)值來(lái)重構(gòu)恢復(fù)的經(jīng)變換和量化的殘差信號(hào)以產(chǎn)生重構(gòu)的視頻。重構(gòu)的視頻由df224和sao226進(jìn)一步處理以產(chǎn)生最終解碼的視頻。如果當(dāng)前解碼的圖像是參考圖像,則當(dāng)前解碼圖像的重構(gòu)視頻也存儲(chǔ)在參考圖像緩沖器228中。

在hevc中,允許兩種模式用于運(yùn)動(dòng)補(bǔ)償預(yù)測(cè),一種是高級(jí)運(yùn)動(dòng)矢量預(yù)測(cè)(advancedmotionvectorprediction,簡(jiǎn)寫(xiě)為amvp)模式,另一種是合并模式(mergemode)。amvp模式包括基于來(lái)自相鄰預(yù)測(cè)塊和一個(gè)或多個(gè)參考圖片的數(shù)據(jù)導(dǎo)出幾個(gè)最可能的候選。合并模式允許從時(shí)間上或空間上相鄰的預(yù)測(cè)塊繼承運(yùn)動(dòng)矢量,因此運(yùn)動(dòng)信息僅由合并索引標(biāo)志(signaledbyamergeindex)。amvp和合并模式以有時(shí)稱(chēng)為運(yùn)動(dòng)矢量競(jìng)賽(motionvectorcompetition,簡(jiǎn)寫(xiě)為mvc)方案的方式發(fā)送索引信息以選擇幾個(gè)可用候選中的一個(gè)。在解碼器側(cè),amvp運(yùn)動(dòng)矢量預(yù)測(cè)值(motionvectorpredictor,簡(jiǎn)寫(xiě)為mvp)候選列表或合并候選列表的構(gòu)造過(guò)程包括導(dǎo)出空間候選和一個(gè)時(shí)間候選。由解碼索引引用的構(gòu)造候選列表中的候選者用于導(dǎo)出運(yùn)動(dòng)信息。在合并模式中,從候選者繼承的運(yùn)動(dòng)信息包括一個(gè)或多個(gè)參考圖像的一個(gè)或多個(gè)運(yùn)動(dòng)矢量和參考圖像索引。



技術(shù)實(shí)現(xiàn)要素:

公開(kāi)了一種在視頻編碼系統(tǒng)中使用預(yù)測(cè)偏移進(jìn)行視頻編碼和解碼的方法和裝置。根據(jù)本發(fā)明的視頻編碼器的實(shí)施例接收與當(dāng)前圖像中的當(dāng)前塊相關(guān)聯(lián)的輸入數(shù)據(jù);從一個(gè)或多個(gè)編碼塊的重構(gòu)殘差信號(hào)得出所述當(dāng)前塊的預(yù)測(cè)偏移;通過(guò)從所述當(dāng)前塊的原始信號(hào)中減去預(yù)測(cè)信號(hào)和所述預(yù)測(cè)偏移來(lái)計(jì)算所述當(dāng)前塊的殘差信號(hào);以及對(duì)所述當(dāng)前塊的所述殘差信號(hào)進(jìn)行編碼以產(chǎn)生編碼比特流。根據(jù)本發(fā)明的視頻解碼器的實(shí)施例接收與當(dāng)前圖像中的當(dāng)前塊相關(guān)聯(lián)的輸入數(shù)據(jù);從所述輸入數(shù)據(jù)獲取所述當(dāng)前塊的殘差信號(hào);從一個(gè)或多個(gè)編碼塊的重構(gòu)殘差信號(hào)得出所述當(dāng)前塊的預(yù)測(cè)偏移;通過(guò)將預(yù)測(cè)信號(hào)和所述預(yù)測(cè)偏移加到所述當(dāng)前塊的所述殘差信號(hào)上來(lái)計(jì)算所述當(dāng)前塊的重構(gòu)信號(hào);以及使用所述當(dāng)前塊的所述重構(gòu)信號(hào)來(lái)解碼所述當(dāng)前塊。

在部分實(shí)施例中,預(yù)測(cè)偏移被導(dǎo)出為所述一個(gè)或多個(gè)編碼塊的所述重構(gòu)殘差信號(hào)的平均值,并且在所述平均值被用于導(dǎo)出所述當(dāng)前塊的所述預(yù)測(cè)偏移之前,所述一個(gè)或多個(gè)編碼塊的所述重構(gòu)殘差信號(hào)的所述平均值被預(yù)先計(jì)算并存儲(chǔ)。如果所述一個(gè)或多個(gè)編碼塊用預(yù)測(cè)偏移編碼,則從編碼塊的重構(gòu)殘差信號(hào)和施加到編碼塊的預(yù)測(cè)偏移導(dǎo)出當(dāng)前塊的預(yù)測(cè)偏移。編碼塊是編碼塊(cb)、預(yù)測(cè)塊(pb)、4×4塊、或具有預(yù)定義塊大小的塊。

在另一個(gè)實(shí)施例中,所述方法包含通過(guò)多個(gè)將候選編碼塊的運(yùn)動(dòng)信息與所述當(dāng)前塊的運(yùn)動(dòng)信息進(jìn)行比較,從所述多個(gè)候選編碼塊中選擇所述一個(gè)或多個(gè)編碼塊。如果第一編碼塊的第一運(yùn)動(dòng)矢量和第一參考圖像索引等于所述當(dāng)前塊的當(dāng)前運(yùn)動(dòng)矢量和當(dāng)前運(yùn)動(dòng)矢量,則從所述多個(gè)候選編碼塊中選擇所述第一編碼塊以導(dǎo)出所述預(yù)測(cè)偏移。在部分實(shí)施例中,預(yù)測(cè)偏移是從編碼塊的重構(gòu)殘差信號(hào)的近似平均值或平均值(averagevalueormeanvalue)導(dǎo)出的。當(dāng)將預(yù)測(cè)偏移技術(shù)應(yīng)用于合并模式時(shí),使用合并候選的運(yùn)動(dòng)信息對(duì)當(dāng)前塊進(jìn)行編碼,通過(guò)合并候選的運(yùn)動(dòng)信息獲得預(yù)測(cè)信號(hào),并且從合并候選的重構(gòu)殘差信號(hào)導(dǎo)出當(dāng)前塊的預(yù)測(cè)偏移。

在視頻編碼器和解碼器的一些實(shí)施例中,該方法還包括確定當(dāng)前塊的類(lèi)別,并且僅當(dāng)當(dāng)前塊屬于預(yù)定類(lèi)別時(shí)才導(dǎo)出并應(yīng)用預(yù)測(cè)偏移。否則不應(yīng)用預(yù)測(cè)偏移技術(shù),即通過(guò)從編碼器端的當(dāng)前塊的原始信號(hào)中減去預(yù)測(cè)信號(hào)來(lái)計(jì)算當(dāng)前塊的殘差信號(hào),并且通過(guò)將預(yù)測(cè)信號(hào)與解碼器端的當(dāng)前塊的殘差信號(hào)相加來(lái)計(jì)算當(dāng)前塊的重構(gòu)信號(hào)。如果當(dāng)前塊是以合并模式編碼的、2nx2n分區(qū)、亮度分量或其組合,則當(dāng)前塊屬于預(yù)定類(lèi)別。在一個(gè)實(shí)施例中,使用語(yǔ)法元素來(lái)通知是否應(yīng)用預(yù)測(cè)偏移技術(shù)。在另一個(gè)實(shí)施例中,如果預(yù)測(cè)偏移量不足夠可靠,則預(yù)測(cè)偏移量被設(shè)置為零或預(yù)設(shè)值,例如,如果預(yù)測(cè)偏移大于第一閾值,如果所述一個(gè)或多個(gè)編碼塊小于當(dāng)前塊,或者如果所述一個(gè)或多個(gè)編碼塊的方差大于第二閾值。

本發(fā)明的其他方面和特征對(duì)于本領(lǐng)域普通技術(shù)人員在對(duì)具體實(shí)施方案的以下描述進(jìn)行審閱后將變得顯而易見(jiàn)。

【附圖說(shuō)明】

圖1示出了基于高效率視頻編碼(hevc)標(biāo)準(zhǔn)的視頻編碼器的示例性系統(tǒng)框圖。

圖2示出了基于hevc標(biāo)準(zhǔn)的視頻解碼器的示例性系統(tǒng)框圖。

圖3a示出了使用編碼單元(cu)級(jí)別的相鄰編碼塊的預(yù)測(cè)偏移導(dǎo)出的示例。

圖3b示出了使用4×4塊級(jí)相鄰編碼塊的預(yù)測(cè)偏移導(dǎo)出的示例。

圖4a和4b示出了兩個(gè)示例性的預(yù)測(cè)偏移導(dǎo)出方法。

圖5示出了由hevc標(biāo)準(zhǔn)定義的當(dāng)前塊的空間合并候選的位置。

圖6示出了根據(jù)本發(fā)明的實(shí)施例的具有預(yù)測(cè)偏移的視頻編碼器的示例性系統(tǒng)框圖。

圖7示出了根據(jù)本發(fā)明的實(shí)施例的具有預(yù)測(cè)偏移的視頻解碼器的示例性系統(tǒng)框圖。

【具體實(shí)施方式】

將容易理解,如本文中的圖中一般描述和示出的本發(fā)明的組件可以以各種各樣的不同配置進(jìn)行布置和設(shè)計(jì)。因此,如附圖所示的本發(fā)明的系統(tǒng)和方法的實(shí)施例的以下更詳細(xì)的描述并不旨在限制如所要求保護(hù)的本發(fā)明的范圍,而是僅代表本發(fā)明的選定實(shí)施例。

貫穿本說(shuō)明書(shū)對(duì)“實(shí)施例”、“一些實(shí)施例”或類(lèi)似語(yǔ)言的引用意味著結(jié)合實(shí)施例描述的特定特征、結(jié)構(gòu)、或特性可以包括在本發(fā)明的至少一個(gè)實(shí)施例中。因此,貫穿本說(shuō)明書(shū)的各個(gè)地方的短語(yǔ)“在一個(gè)實(shí)施例中”或“在一些實(shí)施例中”的出現(xiàn)不一定全部指代相同的實(shí)施例,這些實(shí)施例可以單獨(dú)地或結(jié)合一個(gè)或多個(gè)其他實(shí)施例來(lái)實(shí)現(xiàn)。

此外,所描述的特征、結(jié)構(gòu)、或特性可以以任何合適的方式組合在一個(gè)或多個(gè)實(shí)施例中。然而,相關(guān)領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,可以在沒(méi)有一個(gè)或多個(gè)具體細(xì)節(jié),或其他方法、組件等的情況下實(shí)現(xiàn)本發(fā)明。在其他情況下,公知的結(jié)構(gòu)或操作未被詳細(xì)地示出或描述以避免模糊本發(fā)明的方面。在下面的討論和權(quán)利要求中,術(shù)語(yǔ)“包括”和“包含”以開(kāi)放式方式使用,因此應(yīng)被解釋為“包括但不限于...”。

為了提高編碼效率,從一個(gè)或多個(gè)編碼塊導(dǎo)出當(dāng)前塊的預(yù)測(cè)偏移,并用于計(jì)算殘差信號(hào)。該預(yù)測(cè)偏移也可以被描述為從已經(jīng)編碼的塊導(dǎo)出以預(yù)測(cè)當(dāng)前塊的原始?xì)埐钚盘?hào)的殘差預(yù)測(cè)值。通過(guò)應(yīng)用預(yù)測(cè)偏移,在編碼器側(cè)計(jì)算出的當(dāng)前塊的新的殘差信號(hào)變?yōu)椋?/p>

resix=origx–predx–offsetx(1)

其中resix和origx分別是當(dāng)前塊x的殘差信號(hào)和原始信號(hào),predx和offsetx是當(dāng)前塊x的預(yù)測(cè)信號(hào)和從當(dāng)前塊x的已經(jīng)編碼的(一個(gè)或多個(gè))塊導(dǎo)出的預(yù)測(cè)偏移。

在解碼器側(cè)通過(guò)以下方式計(jì)算當(dāng)前塊的重構(gòu)信號(hào):

recox=resi’x+predx+offsetx(2)

其中recox和resi’x分別是當(dāng)前塊x的重構(gòu)信號(hào),和重構(gòu)的殘差信號(hào)。

預(yù)測(cè)偏移被設(shè)計(jì)為預(yù)測(cè)殘差信號(hào),這有助于編碼器進(jìn)一步減小最終殘差信號(hào)的絕對(duì)值,從而減少編碼殘差信號(hào)所需的比特?cái)?shù)。預(yù)測(cè)偏移技術(shù)可以用于諸如hevc標(biāo)準(zhǔn)中的amvp和合并模式等運(yùn)動(dòng)補(bǔ)償預(yù)測(cè),因此將預(yù)測(cè)偏移稱(chēng)為幀間預(yù)測(cè)偏移。然而,預(yù)測(cè)偏移技術(shù)也可以應(yīng)用于幀內(nèi)預(yù)測(cè),例如,針對(duì)幀間的幀內(nèi)編碼塊導(dǎo)出預(yù)測(cè)偏移,以進(jìn)一步減少編碼殘差信號(hào)所需的比特。

第一實(shí)施例。使用一個(gè)或多個(gè)編碼塊,優(yōu)選地一個(gè)或多個(gè)相鄰編碼塊來(lái)導(dǎo)出預(yù)測(cè)偏移offsetx。在本實(shí)施例中,將當(dāng)前塊x的預(yù)測(cè)偏移offsetx導(dǎo)出為編碼塊y的重構(gòu)殘差信號(hào)的平均值:

offsetx=平均值(resi’y)(3)

其中resi'y是編碼塊y的重構(gòu)殘差信號(hào),并且編碼塊y優(yōu)選地是位于當(dāng)前塊x旁邊的相鄰編碼塊。

第二實(shí)施例。用于預(yù)測(cè)偏移導(dǎo)出的一個(gè)或多個(gè)編碼塊包括編碼塊(cb)、預(yù)測(cè)塊(pb)、變換塊(tb)、4×4塊、或具有其他預(yù)定義塊大小的塊。換句話(huà)說(shuō),可以在編碼單元(cu)級(jí)、預(yù)測(cè)單元(pu)級(jí)、變換單元(tu)級(jí)、或4×4塊級(jí)中導(dǎo)出預(yù)測(cè)偏移。圖3a示出了使用cu級(jí)相鄰編碼塊的預(yù)測(cè)偏移導(dǎo)出的示例。在該示例中,當(dāng)前塊310的預(yù)測(cè)偏移來(lái)自左cu312的重構(gòu)殘差信號(hào)、上cu314的重構(gòu)殘差信號(hào),或左cu312及以上cu314的重構(gòu)殘差信號(hào)。在一個(gè)實(shí)施例中,當(dāng)前塊310以合并模式編碼,并且如果當(dāng)前塊310合并到左cu312,則左cu312的重構(gòu)殘差信號(hào)的平均值(或dc值)作為當(dāng)前塊310的預(yù)測(cè)偏移。如果當(dāng)前塊310被合并到上述cu314,則將上cu314的重構(gòu)殘差信號(hào)的平均值作為當(dāng)前塊310的預(yù)測(cè)偏移。圖3b示出了使用4×4塊級(jí)相鄰編碼塊的預(yù)測(cè)偏移導(dǎo)出的示例。如圖3b所示,在圖3b中,左4×4分區(qū)316和上方4×4分區(qū)318是當(dāng)前塊320的相鄰編碼塊。圖3b中的當(dāng)前塊320的預(yù)測(cè)偏移從至少一個(gè)左4×4相鄰塊的重構(gòu)殘差信號(hào)、至少一個(gè)上方4×4相鄰塊的重構(gòu)殘差信號(hào)或兩者導(dǎo)出。在合并模式的實(shí)施例中,當(dāng)當(dāng)前塊320合并到左塊時(shí),所有左側(cè)4×4分區(qū)316的重構(gòu)殘差信號(hào)用于導(dǎo)出當(dāng)前塊320的預(yù)測(cè)偏移,例如所有左4x4分區(qū)316的一個(gè)或多個(gè)重構(gòu)殘差信號(hào)的平均值的平均值被計(jì)算為當(dāng)前塊320的預(yù)測(cè)偏移?;蛘?,當(dāng)當(dāng)前塊320合并到上述塊時(shí),使用所有上述4×4分區(qū)318的重構(gòu)殘差信號(hào),例如,計(jì)算所有上述4×4分區(qū)318的多個(gè)重構(gòu)殘差信號(hào)的平均值的平均值作為當(dāng)前塊320的預(yù)測(cè)偏移。在合并模式的另一實(shí)施例中,當(dāng)當(dāng)前塊320合并到左塊時(shí),使用位于特定位置的左4x4分區(qū)316之間的一個(gè)或多個(gè)4×4分區(qū)的重構(gòu)殘差信號(hào)導(dǎo)出當(dāng)前塊320的預(yù)測(cè)偏移,并且當(dāng)當(dāng)前塊320合并到上述塊時(shí),使用位于特定位置的上述4×4分區(qū)318中的一個(gè)或多個(gè)4×4分區(qū)的重構(gòu)殘差信號(hào)。

第三實(shí)施例。在本實(shí)施例中,通過(guò)將編碼塊的運(yùn)動(dòng)信息與當(dāng)前塊的運(yùn)動(dòng)信息進(jìn)行比較來(lái)選擇用于導(dǎo)出預(yù)測(cè)偏移的編碼塊。例如,如果第一編碼塊具有等于當(dāng)前塊的當(dāng)前運(yùn)動(dòng)矢量和當(dāng)前參考圖像索引的第一運(yùn)動(dòng)矢量和第一參考圖像索引,則使用第一編碼塊來(lái)導(dǎo)出當(dāng)前塊的預(yù)測(cè)偏移。

可以通過(guò)圖4a和圖4b所示的兩個(gè)示例性預(yù)測(cè)偏移導(dǎo)出方法來(lái)進(jìn)一步說(shuō)明第三實(shí)施例。如圖4a所示,獲得相鄰塊a412的運(yùn)動(dòng)信息和相鄰塊b414的運(yùn)動(dòng)信息,以與當(dāng)前塊410的運(yùn)動(dòng)信息進(jìn)行比較。塊a412和塊b414可以是分別位于當(dāng)前塊410的左邊界和頂邊界附近的左4×4塊和上4×4塊。如果塊a412和塊b414的運(yùn)動(dòng)信息都與當(dāng)前塊410的運(yùn)動(dòng)信息匹配,則使用塊a412和塊b414的重構(gòu)殘差信號(hào)來(lái)計(jì)算當(dāng)前塊410的預(yù)測(cè)偏移。例如,計(jì)算來(lái)自塊a412的重構(gòu)殘差信號(hào)的平均值和來(lái)自塊b414的重構(gòu)殘差信號(hào)的平均值的平均值作為當(dāng)前塊410的預(yù)測(cè)偏移。如果僅僅塊a412的運(yùn)動(dòng)信息匹配當(dāng)前塊410的運(yùn)動(dòng)信息,從塊a412的重構(gòu)殘差信號(hào)導(dǎo)出當(dāng)前塊410的預(yù)測(cè)偏移。類(lèi)似地,如果塊b414的運(yùn)動(dòng)信息與當(dāng)前塊410的運(yùn)動(dòng)信息相匹配,則從塊b的重構(gòu)殘差信號(hào)導(dǎo)出當(dāng)前塊410的預(yù)測(cè)偏移。當(dāng)運(yùn)動(dòng)矢量、參考圖像索引、或者運(yùn)動(dòng)矢量和參考圖像索引相同或者差異在預(yù)定閾值內(nèi)時(shí),兩個(gè)運(yùn)動(dòng)信息匹配。以下偽代碼描述了上面討論的預(yù)測(cè)偏移導(dǎo)出的示例。

其中mv_curr表示當(dāng)前塊410的運(yùn)動(dòng)矢量,mv_a表示塊a412的運(yùn)動(dòng)矢量,mv_b表示塊b414的運(yùn)動(dòng)矢量,dc_a表示塊a412的重構(gòu)殘差信號(hào)的平均值,dc_b表示塊b414的重構(gòu)殘差信號(hào)的平均值,而offset是當(dāng)前塊410的預(yù)測(cè)偏移。

如圖4b所示,用于導(dǎo)出當(dāng)前塊420的預(yù)測(cè)偏移的編碼塊從塊a422至塊c426從塊b424中選擇。具有與當(dāng)前塊420匹配的運(yùn)動(dòng)信息的任何相鄰編碼塊用于計(jì)算當(dāng)前塊420的預(yù)測(cè)偏移。預(yù)測(cè)偏移計(jì)算描述如下:

其中mv_i表示相鄰編碼塊i的運(yùn)動(dòng)矢量,dc_i表示塊i的殘差信號(hào)的平均值。塊i是塊a422和塊b424之間的任何塊,包括塊c426。通常,當(dāng)從多個(gè)編碼塊的平均值而不是單個(gè)編碼塊得出時(shí)預(yù)測(cè)偏移,預(yù)測(cè)偏移更加魯棒(robust)。為了降低實(shí)現(xiàn)的復(fù)雜度,可以使用查找表來(lái)代替劃分操作(dividingoperation)。如圖4a和4b所示,相鄰的編碼塊a、b、和c是4×4塊或任何其它預(yù)定義的塊大小。

第四實(shí)施例。在本實(shí)施例中,如果預(yù)測(cè)偏移offsety已經(jīng)被應(yīng)用于用于導(dǎo)出當(dāng)前塊x的預(yù)測(cè)偏移offsetx的編碼塊y,則通過(guò)編碼塊y的重構(gòu)殘差信號(hào)和編碼塊y的預(yù)測(cè)偏移offsety來(lái)計(jì)算當(dāng)前塊x的預(yù)測(cè)偏移offsetx。

offsetx=平均值(resi’y)+offsety(4)

換句話(huà)說(shuō),通過(guò)將最近計(jì)算的預(yù)測(cè)偏移、平均值(resi'y),與先前的預(yù)測(cè)偏移offsety相加來(lái)更新預(yù)測(cè)偏移offsetx。可以以cu級(jí)、pu級(jí)、tu級(jí)、或4×4塊級(jí)別計(jì)算預(yù)測(cè)偏移。

第五實(shí)施例。在一個(gè)實(shí)施例中,在使用平均值來(lái)導(dǎo)出當(dāng)前塊的預(yù)測(cè)偏移之前,預(yù)先計(jì)算并存儲(chǔ)編碼塊的重構(gòu)殘差信號(hào)的平均值。例如,當(dāng)重構(gòu)相鄰塊y的殘差信號(hào)時(shí),立即獲得殘差信號(hào)的平均值并將其存儲(chǔ)在緩沖器中。例如,為了導(dǎo)出基于4×4塊的預(yù)測(cè)偏移,計(jì)算并存儲(chǔ)編碼塊的四個(gè)底行和四個(gè)右列的4×4分區(qū)的平均值(或dc值)。這些存儲(chǔ)的平均值可用于以編碼順序計(jì)算后續(xù)塊的預(yù)測(cè)偏移。

第六實(shí)施例。根據(jù)第六實(shí)施例,當(dāng)前塊被以合并模式編碼。用于導(dǎo)出預(yù)測(cè)偏移的編碼塊與在合并模式中選擇的合并候選者相同。圖5示出了在hevc標(biāo)準(zhǔn)中定義的當(dāng)前塊的空間合并候選a0、a1、b0、b1和b2的位置。如果當(dāng)前塊510合并到空間相鄰編碼塊b2520,則合并候選b2520中的殘差信號(hào)的平均值用于計(jì)算當(dāng)前塊510的預(yù)測(cè)偏移。在本實(shí)施例中,預(yù)測(cè)偏移和當(dāng)前塊510的運(yùn)動(dòng)信息都從合并候選b2520導(dǎo)出。合并候選的運(yùn)動(dòng)信息用于運(yùn)動(dòng)補(bǔ)償,合并候選的殘差信號(hào)用于預(yù)測(cè)偏移導(dǎo)出。在一個(gè)實(shí)施例中,如果合并候選b2520也以合并模式編碼,則根據(jù)等式(4),使用合并候選b2520的殘差信號(hào)和預(yù)測(cè)偏移兩者導(dǎo)出當(dāng)前塊510的預(yù)測(cè)偏移,其中offsetx是當(dāng)前塊510的預(yù)測(cè)偏移,平均值(resi’y)表示合并候選b2520的殘差信號(hào)的平均值,offsety表示合并候選b2520的預(yù)測(cè)偏移。

第七實(shí)施例。在第七實(shí)施例中,編碼器根據(jù)標(biāo)準(zhǔn)自適應(yīng)地應(yīng)用預(yù)測(cè)偏移技術(shù)。例如,編碼器確定類(lèi)別,并且僅當(dāng)當(dāng)前塊屬于預(yù)定類(lèi)別時(shí),預(yù)測(cè)偏移技術(shù)被應(yīng)用于當(dāng)前塊;否則,預(yù)測(cè)偏移技術(shù)不適用于當(dāng)前塊。當(dāng)應(yīng)用預(yù)測(cè)偏移技術(shù)時(shí),基于預(yù)測(cè)偏移、原始信號(hào)和預(yù)測(cè)信號(hào)計(jì)算殘差信號(hào),而當(dāng)不應(yīng)用預(yù)測(cè)偏移技術(shù)時(shí),僅基于原始信號(hào)與預(yù)測(cè)信號(hào)之間的差來(lái)計(jì)算殘差信號(hào)。解碼器還可以隱含地確定是否根據(jù)與編碼器相同的標(biāo)準(zhǔn)來(lái)應(yīng)用預(yù)測(cè)偏移技術(shù)。在一個(gè)實(shí)施例中,預(yù)定類(lèi)別是用于yuv或ycbcr視頻格式的亮度分量(y分量)而根據(jù)另一實(shí)施例,預(yù)測(cè)偏移技術(shù)被應(yīng)用于rgb、yuv、或ycbcr視頻格式的所有組件中。示例性預(yù)定義類(lèi)別是合并模式,其中預(yù)測(cè)偏移技術(shù)被限制為僅應(yīng)用于合并模式。另一示例性預(yù)定義類(lèi)別是預(yù)定分區(qū)大小,其中預(yù)測(cè)偏移技術(shù)被約束以應(yīng)用具有預(yù)定分區(qū)大小的塊。例如,預(yù)定的分區(qū)大小是2nx2n。在一個(gè)實(shí)施例中,預(yù)定類(lèi)別是合并2nx2n模式,其中預(yù)測(cè)偏移技術(shù)僅應(yīng)用于以合并2nx2n模式編碼的塊。在另一個(gè)實(shí)施例中,編碼器和解碼器根據(jù)模式選擇的統(tǒng)計(jì)確定是否應(yīng)用預(yù)測(cè)偏移技術(shù)。

第八實(shí)施例。在該實(shí)施例中,在編碼視頻比特流中明確地(explicitly)發(fā)送一個(gè)或多個(gè)語(yǔ)法元素,以指示是否使用預(yù)測(cè)偏移技術(shù)。語(yǔ)法元素可被編碼并且并入視頻比特流中。例如,語(yǔ)法元素通過(guò)并入序列參數(shù)集(sequenceparameterset,簡(jiǎn)寫(xiě)為sps)、視圖參數(shù)集(viewparameterset,簡(jiǎn)寫(xiě)為vps)、圖像參數(shù)集(pictureparameterset,簡(jiǎn)寫(xiě)為pps參數(shù)集)、自適應(yīng)參數(shù)集(adaptiveparameterset,簡(jiǎn)寫(xiě)為aps)、片頭(sliceheader)、最大編碼單元(largestcodingunit,簡(jiǎn)寫(xiě)為lcu)中,以序列級(jí)別、視圖級(jí)別、圖像級(jí)別、片級(jí)別、塊級(jí)別或其他級(jí)別發(fā)送。解碼器從視頻比特流接收語(yǔ)法元素,并根據(jù)語(yǔ)法元素自適應(yīng)地應(yīng)用預(yù)測(cè)偏移技術(shù)。

第九實(shí)施例。在第九實(shí)施例中,基于一個(gè)或多個(gè)預(yù)定準(zhǔn)則將預(yù)測(cè)偏移設(shè)置為零或預(yù)設(shè)值。例如,如果導(dǎo)出的預(yù)測(cè)偏移大于第一閾值,則將預(yù)測(cè)偏移設(shè)置為零或預(yù)設(shè)值。另一個(gè)例子是比較當(dāng)前塊和用于導(dǎo)出預(yù)測(cè)偏移的編碼塊的塊大小,如果編碼塊小于當(dāng)前塊,則將預(yù)測(cè)偏移設(shè)置為零或預(yù)設(shè)值。在又一示例中,計(jì)算編碼塊的方差以確定預(yù)測(cè)偏移是否被設(shè)置為零。例如,如果編碼塊的方差大于第二閾值,則將預(yù)測(cè)偏移設(shè)置為零。根據(jù)預(yù)定義的標(biāo)準(zhǔn)將預(yù)測(cè)偏移設(shè)置為零或預(yù)設(shè)值的原因是消除使用不是良好預(yù)測(cè)值的殘差信號(hào)來(lái)預(yù)測(cè)當(dāng)前塊的預(yù)測(cè)偏移。

圖6示出了體現(xiàn)預(yù)測(cè)偏移技術(shù)的視頻編碼器600的系統(tǒng)框圖。圖6所示的功能塊中的大部分功能塊與圖1所示的功能塊相同,因此省略與這些功能塊有關(guān)的說(shuō)明。如圖6所示,預(yù)測(cè)偏移導(dǎo)出610從重構(gòu)(rec)126接收一個(gè)或多個(gè)編碼塊的重構(gòu)殘差信號(hào),以導(dǎo)出當(dāng)前塊的預(yù)測(cè)偏移。預(yù)測(cè)偏移導(dǎo)出的一個(gè)例子是計(jì)算編碼塊的重構(gòu)殘差信號(hào)的平均值。從預(yù)測(cè)偏移導(dǎo)出610導(dǎo)出的預(yù)測(cè)偏移被提供給加法器116。加法器116通過(guò)從原始信號(hào)中減去預(yù)測(cè)值和預(yù)測(cè)偏移來(lái)產(chǎn)生殘差信號(hào)。預(yù)測(cè)值是開(kāi)關(guān)114的輸出,開(kāi)關(guān)114從內(nèi)部預(yù)測(cè)110和運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)(mcp)112接收預(yù)測(cè)值。在一個(gè)實(shí)施例中,預(yù)測(cè)偏移技術(shù)僅適用于幀間預(yù)測(cè),例如僅適用于合并模式,當(dāng)以合并模式中編碼當(dāng)前塊時(shí),加法器116基于預(yù)測(cè)值和預(yù)測(cè)偏移產(chǎn)生殘差信號(hào)。否則,當(dāng)當(dāng)前塊在諸如幀內(nèi)和amvp模式的其它模式中被編碼時(shí),加法器通過(guò)從原始信號(hào)中減去預(yù)測(cè)值來(lái)產(chǎn)生殘差。在編碼到熵編碼器134中的視頻比特流之前,通過(guò)變換(t)118和量化(q)120進(jìn)一步處理殘差信號(hào)。

圖7示出了體現(xiàn)預(yù)測(cè)偏移技術(shù)的視頻解碼器700的系統(tǒng)框圖。類(lèi)似地,圖7的大多數(shù)功能塊7與圖2中討論的相應(yīng)的功能塊相同。重構(gòu)(rec)218通過(guò)加上預(yù)測(cè)值、重構(gòu)殘差信號(hào)和預(yù)測(cè)偏移來(lái)產(chǎn)生當(dāng)前塊的重構(gòu)信號(hào)。預(yù)測(cè)值是開(kāi)關(guān)216從幀內(nèi)預(yù)測(cè)212和運(yùn)動(dòng)補(bǔ)償(mc)214的輸出中選擇的輸出。從逆變換(it)222接收重構(gòu)的殘差信號(hào)。當(dāng)應(yīng)用預(yù)測(cè)偏移技術(shù)時(shí),預(yù)測(cè)偏移由預(yù)測(cè)偏移導(dǎo)出710計(jì)算,并且提供給rec218以導(dǎo)出殘差信號(hào)。預(yù)測(cè)偏移導(dǎo)出710基于從it222接收的一個(gè)或多個(gè)編碼塊的重構(gòu)殘差信號(hào),計(jì)算當(dāng)前塊的預(yù)測(cè)偏移。

雖然描述了具有預(yù)測(cè)偏移的視頻編碼方法的第一實(shí)施例至第九實(shí)施例,但是本發(fā)明不限于這些實(shí)施例。在每個(gè)實(shí)施例中,具有預(yù)測(cè)偏移的視頻編碼方法的選擇是說(shuō)明各種實(shí)施例的示例,并且不應(yīng)被理解為對(duì)本發(fā)明的任何實(shí)施例的限制或要求。呈現(xiàn)上述描述以使得本領(lǐng)域普通技術(shù)人員能夠在特定應(yīng)用及其要求的上下文中實(shí)施本發(fā)明。對(duì)所描述的實(shí)施例的各種修改對(duì)于本領(lǐng)域技術(shù)人員將是顯而易見(jiàn)的,并且本文定義的一般原理可以應(yīng)用于其他實(shí)施例。因此,本發(fā)明不旨在限于所示出和描述的具體實(shí)施例,而是符合與本文所公開(kāi)的原理和新穎特征相一致的最廣范圍。在上述詳細(xì)描述中,示出了各種具體細(xì)節(jié)以便提供對(duì)本發(fā)明的透徹理解。然而,本領(lǐng)域技術(shù)人員將理解,可以實(shí)施本發(fā)明。

如上所述的本發(fā)明的實(shí)施例可以以各種硬件、軟件代碼或兩者的組合來(lái)實(shí)現(xiàn)。例如,本發(fā)明的實(shí)施例可以是集成到視頻壓縮芯片中的電路或集成到視頻壓縮軟件中的程序代碼,以執(zhí)行本文所述的處理。本發(fā)明的實(shí)施例也可以是要在數(shù)字信號(hào)處理器(dsp)上執(zhí)行以執(zhí)行本文所述的處理的程序代碼。本發(fā)明還可以涉及由計(jì)算機(jī)處理器、數(shù)字信號(hào)處理器、微處理器或現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)執(zhí)行的許多功能??梢酝ㄟ^(guò)執(zhí)行定義本發(fā)明所體現(xiàn)的特定方法的機(jī)器可讀軟件代碼或固件代碼來(lái)將這些處理器配置成執(zhí)行根據(jù)本發(fā)明的特定任務(wù)。軟件代碼或固件代碼可以以不同的編程語(yǔ)言和不同的格式或風(fēng)格開(kāi)發(fā)。也可以為不同的目標(biāo)平臺(tái)編譯軟件代碼。然而,根據(jù)本發(fā)明的不同的代碼格式,軟件代碼的樣式和語(yǔ)言以及配置代碼的其他方式將不會(huì)脫離本發(fā)明的精神和范圍。

在不脫離本發(fā)明的精神或基本特征的情況下,本發(fā)明可以以其他具體形式實(shí)施。所描述的例子僅在所有方面被認(rèn)為是說(shuō)明性的而不是限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求而不是前面的描述來(lái)指示。屬于權(quán)利要求的等同物的含義和范圍內(nèi)的所有變化將被包括在其范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
宁津县| 开平市| 开鲁县| 金川县| 长葛市| 陕西省| 阿瓦提县| 府谷县| 右玉县| 万盛区| 冕宁县| 永昌县| 定边县| 和平县| 孟州市| 宜阳县| 防城港市| 理塘县| 五原县| 彭水| 大连市| 特克斯县| 静宁县| 勐海县| 雷山县| 怀宁县| 元氏县| 弥勒县| 河北区| 屏东县| 根河市| 长岭县| 呼伦贝尔市| 安国市| 屏南县| 焉耆| 丹寨县| 白朗县| 兴安县| 伽师县| 武义县|