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

使用時(shí)間塊向量預(yù)測(cè)的塊內(nèi)復(fù)制譯碼的制作方法

文檔序號(hào):11637440閱讀:269來(lái)源:國(guó)知局
使用時(shí)間塊向量預(yù)測(cè)的塊內(nèi)復(fù)制譯碼的制造方法與工藝

相關(guān)申請(qǐng)的交叉引用

本申請(qǐng)是2014年9月26日申請(qǐng)的美國(guó)臨時(shí)專利申請(qǐng)序列號(hào)62/056,352;2014年10月16日申請(qǐng)的美國(guó)臨時(shí)專利申請(qǐng)序列號(hào)62/064,930;2015年1月22日申請(qǐng)的美國(guó)臨時(shí)專利申請(qǐng)序列號(hào)62/106,615以及2015年2月5日申請(qǐng)的62/112,619的正式申請(qǐng)并根據(jù)35u.s.c.§119(e)要求這些臨時(shí)專利申請(qǐng)的權(quán)益。所有這些申請(qǐng)其整體通過(guò)引用的方式結(jié)合于此。



背景技術(shù):

近些年隨著對(duì)遠(yuǎn)程桌面、視頻會(huì)議以及移動(dòng)媒體呈現(xiàn)應(yīng)用的需求,屏幕內(nèi)容共享應(yīng)用已經(jīng)變得越來(lái)越流行。

與自然視頻內(nèi)容相比,屏幕內(nèi)容可以包含具有一些主顏色和尖銳邊緣的多個(gè)塊,因?yàn)樵谄聊粌?nèi)容中具有大量尖銳的曲線和文本。雖然已有視頻壓縮方法可以用于編碼屏幕內(nèi)容并然后將其傳送到接收機(jī)側(cè),但是大多數(shù)已有方法不能完全表征屏幕內(nèi)容的特征并因此導(dǎo)致低的壓縮性能。重構(gòu)圖片因此可能具有嚴(yán)重的質(zhì)量問(wèn)題。例如,曲線和文本可能被模糊且難以辨認(rèn)。因此,設(shè)計(jì)良好的屏幕壓縮方法可以有用于有效重構(gòu)屏幕內(nèi)容。

屏幕內(nèi)容壓縮技術(shù)變得越來(lái)越重要,因?yàn)樵絹?lái)越多的人共享他們的設(shè)備內(nèi)容用于媒體呈現(xiàn)或遠(yuǎn)程桌面的目的。移動(dòng)設(shè)備的屏幕顯示已經(jīng)很大程度上提升到高清或超高清分辨率。現(xiàn)有的視頻譯碼工具,例如塊譯碼模式和變換,被優(yōu)化用于自然視頻編碼而沒有特別被優(yōu)化用于屏幕內(nèi)容編碼。傳統(tǒng)的視頻譯碼方法增加在具有一些質(zhì)量要求設(shè)置的這些共享應(yīng)用中傳送屏幕內(nèi)容的帶寬需求。



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

這里公開的實(shí)施方式操作用于通過(guò)在合并模式中在預(yù)測(cè)單元級(jí)顯式結(jié)合bc內(nèi)(intrabc)標(biāo)記來(lái)改善現(xiàn)有的視頻譯碼技術(shù)。該標(biāo)志允許塊向量(bv)候選和運(yùn)動(dòng)向量(mv)候選的分開選擇。具體地,bc內(nèi)標(biāo)志的顯式信令提供關(guān)于特定預(yù)測(cè)使用的預(yù)測(cè)向量是bv還是mv的信息。如果bc內(nèi)標(biāo)志被設(shè)置,使用僅鄰近bv構(gòu)建候選列表。如果bc內(nèi)標(biāo)志沒有被設(shè)置,則使用僅鄰近mv構(gòu)建候選列表。然后譯碼指向候選預(yù)測(cè)向量(bv或mv)的列表的索引。

bc內(nèi)合并候選的生成包括來(lái)自時(shí)間參考圖片的候選。結(jié)果是,有可能跨時(shí)間距離預(yù)測(cè)bv。因此,根據(jù)本公開的實(shí)施方式的解碼器操作用于存儲(chǔ)用于參考圖片的bv??梢砸詨嚎s形式存儲(chǔ)bv。在候選列表中僅插入有效且唯一的bv。

在統(tǒng)一的bc內(nèi)和間框架中,來(lái)自時(shí)間參考圖片中的共位(collocated)塊的bv被包括在間合并候選的列表中。如果列表沒有滿,則還附加默認(rèn)bv。在該列表中插入僅有效bv和唯一bv/mv。

在示意性視頻譯碼方法中,候選塊向量被標(biāo)識(shí)以用于第一視頻塊的預(yù)測(cè),其中該第一視頻塊在當(dāng)前圖片中,且其中候選塊向量是用于時(shí)間參考圖片中的第二視頻塊的預(yù)測(cè)的第二塊向量。使用候選塊向量作為第一視頻塊的預(yù)測(cè)符,用塊內(nèi)復(fù)制譯碼來(lái)譯碼第一視頻塊。在一些這樣的實(shí)施方式中,第一視頻塊的譯碼包括生成將當(dāng)前圖片編碼為多個(gè)像素塊的比特流,且其中該比特流包括標(biāo)識(shí)第二塊向量的索引。一些實(shí)施方式還包括生成合并候選列表,其中該合并候選列表包括第二塊向量,以及其中譯碼第一視頻塊包括提供標(biāo)識(shí)合并候選列表中的第二塊向量的索引。合并候選列表還可以包括至少一個(gè)默認(rèn)塊向量。在一些實(shí)施方式中,合并候選列表被生成,其中該合并候選列表包括運(yùn)動(dòng)向量合并候選集合和塊向量合并候選集合。在這樣的實(shí)施方式中,第一視頻塊的譯碼可以包括給第一視頻塊提供(i)標(biāo)識(shí)預(yù)測(cè)符在塊向量合并候選集合中的標(biāo)志以及(ii)標(biāo)識(shí)塊向量合并候選集合內(nèi)的第二塊向量的索引。

在另一示意性方法中,視頻片(slice)被譯碼為多個(gè)譯碼單元,其中每個(gè)譯碼單元包括一個(gè)或多個(gè)預(yù)測(cè)單元且每個(gè)譯碼單元對(duì)應(yīng)于視頻片的一部分。針對(duì)預(yù)測(cè)單元中的至少一些,該譯碼可以包括形成運(yùn)動(dòng)向量合并候選的列表和塊向量合并候選的列表。基于合并候選和預(yù)測(cè)單元,合并候選中的一個(gè)被選為預(yù)測(cè)符。預(yù)測(cè)單元被提供(i)標(biāo)識(shí)預(yù)測(cè)符是在運(yùn)動(dòng)向量合并候選列表中還是在塊向量合并候選列表中的標(biāo)志以及(ii)標(biāo)識(shí)來(lái)自被標(biāo)識(shí)的合并候選列表中的預(yù)測(cè)符的索引。塊向量合并候選的至少一個(gè)可以使用時(shí)間塊向量預(yù)測(cè)來(lái)生成。

在進(jìn)一步示意性方法中,視頻片被譯碼為多個(gè)譯碼單元,其中每個(gè)譯碼單元包括一個(gè)或多個(gè)預(yù)測(cè)單元且每個(gè)譯碼單元對(duì)應(yīng)于視頻片的一部分。針對(duì)預(yù)測(cè)單元的至少一些,譯碼可以包括形成合并候選列表,其中每個(gè)合并候選是預(yù)測(cè)向量,且其中預(yù)測(cè)向量的至少一個(gè)是來(lái)自時(shí)間參考圖片的第一塊向量。

基于合并候選和視頻片的對(duì)應(yīng)部分,合并候選中的一個(gè)被選為預(yù)測(cè)符。預(yù)測(cè)單元被提供有標(biāo)識(shí)來(lái)自被標(biāo)識(shí)的合并候選集合中的預(yù)測(cè)符的索引。在一些這樣的實(shí)施方式中,僅在確定預(yù)測(cè)向量是有效且唯一的之后將預(yù)測(cè)向量添加到合并候選列表。在一些實(shí)施方式中,合并候選列表還包括至少一個(gè)導(dǎo)出的塊向量。所選的預(yù)測(cè)符可以是第一塊向量,其在一些實(shí)施方式中可以是與共位預(yù)測(cè)單元相關(guān)聯(lián)的塊向量。共位預(yù)測(cè)單元可以在在片頭中指定的共位參考圖片中。

在進(jìn)一步示意性方法中,視頻片被譯碼為多個(gè)譯碼單元,其中每個(gè)譯碼單元包括一個(gè)或多個(gè)預(yù)測(cè)單元且每個(gè)譯碼單元對(duì)應(yīng)于視頻片的一部分。在示意性方法中的譯碼包括針對(duì)預(yù)測(cè)單元的至少一些標(biāo)識(shí)合并候選集合,其中合并候選集合的標(biāo)識(shí)包括添加具有默認(rèn)塊向量的至少一個(gè)候選?;诤喜⒑蜻x合和視頻片的對(duì)應(yīng)部分,候選中的一個(gè)被選為預(yù)測(cè)符。預(yù)測(cè)單元被提供有標(biāo)識(shí)來(lái)自被標(biāo)識(shí)的合并候選集合中的預(yù)測(cè)符的索引。在一些這樣的方法中,從默認(rèn)塊向量列表中選擇默認(rèn)塊向量。

在示意性視頻譯碼方法中,候選塊向量被標(biāo)識(shí)以用于第一視頻塊的預(yù)測(cè),其中該第一視頻塊在當(dāng)前圖片中,且其中候選塊向量是用于時(shí)間參考圖片中的第二視頻塊的預(yù)測(cè)的第二塊向量。使用候選塊向量作為第一視頻塊的預(yù)測(cè)符,用塊內(nèi)復(fù)制譯碼來(lái)譯碼第一視頻塊。在示意性方法中,第一視頻塊的譯碼包括接收與第一視頻塊相關(guān)聯(lián)的標(biāo)志,其中該標(biāo)志標(biāo)識(shí)該預(yù)測(cè)符是塊向量。基于接收到標(biāo)識(shí)預(yù)測(cè)符是塊向量的標(biāo)志,生成合并候選列表,其中合并候選列表包括塊向量合并候選集合。還接收標(biāo)識(shí)塊向量合并候選集合內(nèi)的第二塊向量的索引??商鎿Q地,針對(duì)候選運(yùn)動(dòng)向量用于預(yù)測(cè)的視頻塊,接收標(biāo)志,其中該標(biāo)志標(biāo)識(shí)預(yù)測(cè)符是運(yùn)動(dòng)向量。基于接收到標(biāo)識(shí)預(yù)測(cè)符是運(yùn)動(dòng)向量的標(biāo)志,生成合并候選列表,其中合并候選列表包括運(yùn)動(dòng)向量合并候選集合。還接收標(biāo)識(shí)運(yùn)動(dòng)向量合并候選集合內(nèi)的運(yùn)動(dòng)向量預(yù)測(cè)符的索引。

在一些實(shí)施方式中,編碼器和/或解碼器模塊被用于執(zhí)行這里描述的方法。這樣的模塊可以使用處理器和存儲(chǔ)可操作用于執(zhí)行這里描述的方法的指令的非暫態(tài)計(jì)算機(jī)存儲(chǔ)介質(zhì)來(lái)實(shí)施。

附圖說(shuō)明

從通過(guò)示例方式給出并結(jié)合附圖的以下描述中可以得到更詳細(xì)的理解,下面先簡(jiǎn)要描述附圖。

圖1是示出基于塊的視頻編碼器的示例的框圖;

圖2是示出基于塊的視頻解碼器的示例的框圖;

圖3是八個(gè)定向預(yù)測(cè)模式的示例的圖;

圖4是示出33個(gè)定向預(yù)測(cè)模式和兩個(gè)非定向預(yù)測(cè)模式的示例的圖;

圖5是水平預(yù)測(cè)的示例的圖;

圖6是平面模式的示例的圖;

圖7是示出運(yùn)動(dòng)預(yù)測(cè)的示例的圖;

圖8是示出圖片內(nèi)的塊級(jí)運(yùn)動(dòng)的示例的圖;

圖9是示出譯碼的比特流結(jié)構(gòu)的示例的圖;

圖10是示出示例通信系統(tǒng)的圖;

圖11是示出示例無(wú)線發(fā)射/接收單元(wtru)的圖;

圖12是示出屏幕內(nèi)容共享系統(tǒng)的示意性框圖;

圖13示出了全幀塊內(nèi)復(fù)制模式,其中塊x是當(dāng)前譯碼塊;

圖14示出了局部區(qū)域塊內(nèi)復(fù)制模式,其中僅允許左邊ctu和當(dāng)前ctu;

圖15示出了針對(duì)mv間預(yù)測(cè)的空間和時(shí)間mv預(yù)測(cè)符;

圖16是示出時(shí)間運(yùn)動(dòng)向量預(yù)測(cè)的流程圖;

圖17是示出共位塊的參考列表選擇的流程圖;

圖18示出了bc內(nèi)模式被用信號(hào)發(fā)送為間模式的實(shí)施;為了譯碼當(dāng)前圖片pic(t),在解塊和采樣自適應(yīng)偏移(sao)之前當(dāng)前圖片中已經(jīng)被譯碼的部分(被表示為pic'(t))被添加到參考list_0(列表_0)中作為長(zhǎng)期參考圖片;所有其他參考圖片pic(t-l),pic(t-3),pic(t+1),pic(t+5)是已經(jīng)使用解塊和sao處理的常規(guī)時(shí)間參考圖片;

圖19示出了用于bv預(yù)測(cè)的空間bv預(yù)測(cè)符;

圖20a和20b是時(shí)間bv預(yù)測(cè)符導(dǎo)出(tbvd)過(guò)程的流程圖,其中c塊是要被檢查的塊且rbv是返回的塊向量;(0,0)的bv是無(wú)效的。圖20a示出了使用一個(gè)參考圖片的tbvd,且圖20b示出了使用四個(gè)參考圖片的tbvd;

圖21是示出用于bv預(yù)測(cè)的時(shí)間bv預(yù)測(cè)符生成的方法的流程圖;

圖22示出用于bc內(nèi)合并的空間候選;

圖23a和23b示出了bc內(nèi)合并候選導(dǎo)出;塊c0和c2是bc內(nèi)塊,塊c1和c3是間塊,以及塊c4是內(nèi)/調(diào)色板塊;圖23a示出了用于時(shí)間塊向量預(yù)測(cè)(tbvp)的使用一個(gè)共位參考圖片的ibc合并候選導(dǎo)出;圖23b示出了用于tbvp的使用四個(gè)時(shí)間參考圖片的ibc合并候選導(dǎo)出;

圖24a和24b一起形成示出根據(jù)一些實(shí)施方式的bc內(nèi)合并bv候選生成過(guò)程的流程圖;

圖25是示出用于bc內(nèi)合并模式的時(shí)間bv候選導(dǎo)出的流程圖;

圖26是在hevc合并過(guò)程中在導(dǎo)出空間合并候選中使用的空間鄰居的示意性圖示;

圖27是示出塊向量導(dǎo)出的示例的圖;

圖28是示出運(yùn)動(dòng)向量導(dǎo)出的示例的圖;

圖29a和29b一起提供示出用于bv-mv雙預(yù)測(cè)模式的雙預(yù)測(cè)搜索的流程圖;

圖30是示出用于在雙預(yù)測(cè)搜索中bv/mv細(xì)化的目標(biāo)塊的更新的流程圖;

圖31a和31b示出用于bv_refinement(bv_細(xì)化)(31a)和mv_refinement(mv_細(xì)化)(31b)的搜索窗。

具體實(shí)施方式

i.視頻譯碼

現(xiàn)在參考各附圖提供示意性實(shí)施方式的詳細(xì)描述。雖然該描述提供了可能實(shí)施的詳細(xì)示例,但是應(yīng)當(dāng)注意提供的細(xì)節(jié)旨在舉例而絕不限制本申請(qǐng)的范圍。

圖1是示出基于塊的視頻編碼器的示例的框圖,例如混合視頻編碼系統(tǒng)。視頻編碼器100可以接收輸入視頻信號(hào)102。輸入視頻信號(hào)102可以逐塊處理。視頻塊可以是任意尺寸。例如,視頻塊單元可以包括16x16像素。16x16像素的視頻塊單元可以稱為宏塊(mb)。在高效視頻譯碼(hevc)中,擴(kuò)展塊尺寸(例如,其可以稱為譯碼樹單元(ctu)或譯碼單元(cu),為了該公開的目的這兩個(gè)術(shù)語(yǔ)是等效的)可以用于有效壓縮高分辨率(例如1080p及以上)視頻信號(hào)。在hevc中,cu可以高達(dá)64x64像素。cu可以被劃分為預(yù)測(cè)單元(pu),對(duì)此可以應(yīng)用分開的預(yù)測(cè)方法。

對(duì)于輸入視頻塊(例如mb或cu),可以執(zhí)行空間預(yù)測(cè)160和/或時(shí)間預(yù)測(cè)162??臻g預(yù)測(cè)(例如“內(nèi)預(yù)測(cè)”)可以使用來(lái)自相同視頻圖片/片中已經(jīng)被譯碼的鄰近塊的像素來(lái)預(yù)測(cè)當(dāng)前視頻塊??臻g預(yù)測(cè)可以減少視頻信號(hào)中固有的空間冗余。時(shí)間預(yù)測(cè)(例如“間預(yù)測(cè)”或“運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)”)可以使用來(lái)自已經(jīng)被譯碼的視頻圖片(例如其可以被稱為“參考圖片”)的像素來(lái)預(yù)測(cè)當(dāng)前視頻塊。時(shí)間預(yù)測(cè)可以減少視頻信號(hào)中固有的時(shí)間冗余。用于視頻塊的時(shí)間預(yù)測(cè)信號(hào)可以由一個(gè)或多個(gè)運(yùn)動(dòng)向量來(lái)用信號(hào)發(fā)送,其可以指示當(dāng)前塊和參考圖片中的其預(yù)測(cè)塊之間運(yùn)動(dòng)的量和/或方向。如果支持多個(gè)參考圖片(例如,針對(duì)h.264/avc和/或hevc可以是這種情況),則針對(duì)視頻塊,其參考圖片索引可以被發(fā)送。參考圖片索引可以用于標(biāo)識(shí)時(shí)間預(yù)測(cè)信號(hào)來(lái)自參考圖片庫(kù)164中的哪個(gè)參考圖片。

編碼器中的模式?jīng)Q定塊180可以例如在空間和/或時(shí)間預(yù)測(cè)之后選擇預(yù)測(cè)模式。在116,可以從當(dāng)前視頻塊減去該預(yù)測(cè)塊??梢宰儞Q104和/或量化106預(yù)測(cè)殘差。量化的殘差系數(shù)可以被逆量化110和/或逆變換112以形成重構(gòu)殘差,其可以被加回到預(yù)測(cè)塊126以形成重構(gòu)視頻塊。

內(nèi)環(huán)濾波(例如解塊濾波器、采樣自適應(yīng)偏移、自適應(yīng)環(huán)濾波器等)在重構(gòu)視頻塊被放入?yún)⒖紙D片庫(kù)164和/或用于譯碼將來(lái)的視頻塊之前可以被應(yīng)用166到該重構(gòu)視頻塊。視頻編碼器100可以輸出輸出視頻流120。為了形成輸出視頻比特流120,譯碼模式(例如間預(yù)測(cè)模式或內(nèi)預(yù)測(cè)模式)、預(yù)測(cè)模式信息、運(yùn)動(dòng)信息和/或量化殘差系數(shù)可以被發(fā)送到熵譯碼單元108以被壓縮和/或打包從而形成比特流。參考圖片庫(kù)164可以稱為解碼圖片緩沖器(dpb)。

圖2是示出基于塊的視頻解碼器的示例的框圖。視頻解碼器200可以接收視頻比特流202。視頻比特流202可以在熵解碼單元208被解包和/或熵解碼。用于編碼視頻比特流的譯碼模式和/或預(yù)測(cè)信息可以被發(fā)送到空間預(yù)測(cè)單元260(例如如果是內(nèi)譯碼)和/或時(shí)間預(yù)測(cè)單元262(例如如果是間譯碼)以形成預(yù)測(cè)塊。如果是間譯碼,則預(yù)測(cè)信息可以包括預(yù)測(cè)塊尺寸、一個(gè)或多個(gè)運(yùn)動(dòng)向量(例如其可以指示運(yùn)動(dòng)的方向和量)和/或一個(gè)或多個(gè)參考索引(例如其可以指示從哪個(gè)參考圖片得到預(yù)測(cè)信號(hào))。時(shí)間預(yù)測(cè)單元262可以應(yīng)用運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)來(lái)形成時(shí)間預(yù)測(cè)塊。

殘差變換系數(shù)可以被發(fā)送到逆量化單元210和逆變換單元212以重構(gòu)殘差塊。在226,預(yù)測(cè)塊和殘差塊可以被加到一起。重構(gòu)塊可以在其被存儲(chǔ)到參考圖片庫(kù)264之前經(jīng)過(guò)環(huán)內(nèi)濾波266。參考圖片庫(kù)264中的重構(gòu)視頻可以用于驅(qū)動(dòng)顯示設(shè)備和/或用于預(yù)測(cè)將來(lái)的視頻塊。視頻解碼器200可以輸出重構(gòu)視頻信號(hào)220。參考圖片庫(kù)264也可以稱為解碼圖片緩沖器(dpb)。

視頻編碼器和/或解碼器(例如視頻編碼器100或視頻解碼器200)可以執(zhí)行空間預(yù)測(cè)(例如其可以稱為內(nèi)預(yù)測(cè))。可以通過(guò)按照多個(gè)預(yù)測(cè)方向之一從已經(jīng)譯碼的鄰近像素預(yù)測(cè)(例如,其可以稱為定向內(nèi)預(yù)測(cè))來(lái)執(zhí)行空間預(yù)測(cè)。

圖3是八個(gè)定向預(yù)測(cè)模式的示例的圖。h.264/avc中可以支持圖3的八個(gè)定向預(yù)測(cè)模式。如圖3中的300一般示出的,九個(gè)模式(包括dc模式2)是:

·模式0:豎直預(yù)測(cè)

·模式1:水平預(yù)測(cè)

·模式2:dc預(yù)測(cè)

·模式3:對(duì)角線左下預(yù)測(cè)

·模式4:對(duì)角線右下預(yù)測(cè)

·模式5:右豎直預(yù)測(cè)

·模式6:下水平預(yù)測(cè)

·模式7:左豎直預(yù)測(cè)

·模式8:上水平預(yù)測(cè)

可以對(duì)各種尺寸和/或形狀的視頻塊執(zhí)行空間預(yù)測(cè)。例如可以針對(duì)4x4、8x8和16x16像素的塊尺寸執(zhí)行視頻信號(hào)的亮度分量的空間預(yù)測(cè)(例如在h.264/avc中)。例如可以針對(duì)8x8像素的塊尺寸執(zhí)行視頻信號(hào)的色度分量的空間預(yù)測(cè)(例如在h.264/avc中)。針對(duì)尺寸4x4或8x8的亮度塊,總共九個(gè)預(yù)測(cè)模式可以被支持,例如八個(gè)定向預(yù)測(cè)模式和dc模式(例如在h.264/avc中)。例如針對(duì)尺寸16x16的亮度塊,可以支持四個(gè)預(yù)測(cè)模式:水平、豎直、dc以及平面預(yù)測(cè)。

此外,可以支持定向內(nèi)預(yù)測(cè)模式和非定向預(yù)測(cè)模式。

圖4是示出33個(gè)定向預(yù)測(cè)模式和兩個(gè)非定向預(yù)測(cè)模式的示例的圖。這33個(gè)定向預(yù)測(cè)模式和兩個(gè)非定向預(yù)測(cè)模式(如圖4中400一般示出的)可以被hevc支持。可以支持使用更大塊尺寸的空間預(yù)測(cè)。例如,可以對(duì)任意尺寸的塊例如4x4、8x8、16x16、32x32或64x64的尺寸的方形塊執(zhí)行空間預(yù)測(cè)。定向內(nèi)預(yù)測(cè)(例如在hevc中)可以以1/32像素精度被執(zhí)行。

例如除了定向內(nèi)預(yù)測(cè)之外,還可以支持非定向內(nèi)預(yù)測(cè)模式(例如在h.264/avc、hevc等等中)。非定向內(nèi)預(yù)測(cè)模式可以包括dc模式和/或平面模式。針對(duì)dc模式,預(yù)測(cè)值可以通過(guò)對(duì)可用鄰近像素求平均被得到且該預(yù)測(cè)值可以被相同地應(yīng)用到整個(gè)塊。針對(duì)平面模式,線性插值可以用于預(yù)測(cè)低轉(zhuǎn)變的平滑區(qū)域。h.264/avc可以允許針對(duì)16x16亮度塊和色度塊使用平面模式。

編碼器(例如編碼器100)可以執(zhí)行模式?jīng)Q定(例如在圖1中的塊180)來(lái)確定用于視頻塊的最佳譯碼模式。當(dāng)編碼器確定應(yīng)用內(nèi)預(yù)測(cè)(例如而不是間預(yù)測(cè))時(shí),編碼器可以從可用模式集合中確定最優(yōu)內(nèi)預(yù)測(cè)模式。所選的定向內(nèi)預(yù)測(cè)模式可以提供關(guān)于輸入視頻塊中的任意紋理、邊緣和/或結(jié)構(gòu)的方向的強(qiáng)線索。

圖5是水平預(yù)測(cè)的示例的圖(例如針對(duì)4x4塊),如圖5中500一般所示。已經(jīng)重構(gòu)的像素p0、p1、p2和p3(即陰影框)可以用于預(yù)測(cè)當(dāng)前4x4視頻塊中的像素。在水平預(yù)測(cè)中,重構(gòu)像素,例如像素p0、p1、p2和/或p3可以沿對(duì)應(yīng)行的方向水平傳播以預(yù)測(cè)4x4塊。例如,可以根據(jù)以下等式(1)執(zhí)行預(yù)測(cè),其中l(wèi)(x,y)可以是在(x,y)被預(yù)測(cè)的像素,x,y=0…3。

圖6是平面模式的示例的圖,如圖6中600一般示出。因此可以執(zhí)行平面模式:頂行中的最右側(cè)像素(標(biāo)記為t)可以被復(fù)制以預(yù)測(cè)最右側(cè)列中的像素。左側(cè)列中的底部像素(標(biāo)記為l)可以被復(fù)制以預(yù)測(cè)底行中的像素。水平方向中的雙線性插值(如左邊塊中所示)可以被執(zhí)行以產(chǎn)生中心像素的第一預(yù)測(cè)h(x,y)。豎直方向中的雙線性插值(例如如右邊塊中所示)可以被支持以產(chǎn)生中心像素的第雙預(yù)測(cè)v(x,y)。水平預(yù)測(cè)和豎直預(yù)測(cè)之間的平均可以被執(zhí)行以得到最終的預(yù)測(cè)l(x,y),使用l(x,y)=((h(x,y)+v(x,y))>>1)。

圖7和圖8是示出(如700和800一般示出的)視頻塊的運(yùn)動(dòng)預(yù)測(cè)的示例(例如使用圖1的時(shí)間預(yù)測(cè)單元162)。示出圖片內(nèi)的塊級(jí)運(yùn)動(dòng)的示例的圖8是示出示例解碼圖片緩沖器的圖,包括例如參考圖片“refpic0”、“refpic1”以及“refpic2”。當(dāng)前圖片中的塊b0、b1和b2可以分別從參考圖片“refpic0”、“refpic1”以及“refpic2”的塊中被預(yù)測(cè)。運(yùn)動(dòng)預(yù)測(cè)可以使用來(lái)自鄰近視頻幀的視頻塊來(lái)預(yù)測(cè)當(dāng)前視頻塊。運(yùn)動(dòng)預(yù)測(cè)可以利用時(shí)間相關(guān)和/或移除視頻信號(hào)中固有的時(shí)間冗余。例如,在h.264/avc和hevc中,可以對(duì)各種尺寸的視頻塊(例如,針對(duì)亮度分量,時(shí)間預(yù)測(cè)塊尺寸在h.264/avc中可以從16x16到4x4變化,在hevc中從64x64到4x4變化)執(zhí)行時(shí)間預(yù)測(cè)。針對(duì)運(yùn)動(dòng)向量(mvx,mvy),可以如等式(2)提供的執(zhí)行時(shí)間預(yù)測(cè):

p(x,y)=ref(x-mvx,y-mvy)(2)

其中,ref(x,y)可以是參考圖片中在位置(x,y)的像素值,且p(x,y)可以是預(yù)測(cè)的塊。視頻譯碼系統(tǒng)可以支持分?jǐn)?shù)像素精度的間預(yù)測(cè)。當(dāng)運(yùn)動(dòng)向量(mvx,mvy)具有分?jǐn)?shù)像素值時(shí),一個(gè)或多個(gè)插值濾波器可以被應(yīng)用以得到在分?jǐn)?shù)像素位置的像素值?;趬K的視頻譯碼系統(tǒng)可以使用多假設(shè)預(yù)測(cè)來(lái)改進(jìn)時(shí)間預(yù)測(cè),例如其中可以通過(guò)從不同參考圖片組合多個(gè)預(yù)測(cè)信號(hào)來(lái)形成預(yù)測(cè)信號(hào)。例如,h.264/avc和/或hevc可以使用可以組合兩個(gè)預(yù)測(cè)信號(hào)的雙預(yù)測(cè)。雙預(yù)測(cè)可以組合兩個(gè)預(yù)測(cè)信號(hào),每一個(gè)來(lái)自參考圖片,以形成預(yù)測(cè),例如以下等式(3):

其中p0(x,y)和p1(x,y)可以分別是第一和第雙預(yù)測(cè)塊。如等式(3)中所示,可以通過(guò)分別使用兩個(gè)運(yùn)動(dòng)向量(mvx0,mvy0)和(mvx1,mvy1)執(zhí)行從兩個(gè)參考圖片ref0(x,y)和refx(x,y)的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)來(lái)得到兩個(gè)預(yù)測(cè)塊。可以從源視頻塊中減去預(yù)測(cè)塊p(x,y)(例如在116)來(lái)形成預(yù)測(cè)殘差塊。預(yù)測(cè)殘差塊可以被變換(例如在變換單元104)和/或被量化(例如在量化單元106)。量化的殘差變換系數(shù)塊可以被發(fā)送到熵譯碼單元(例如,熵譯碼單元108)以被熵譯碼從而減少比特率。熵譯碼的殘差系數(shù)可以被打包以形成輸出視頻比特流(例如比特流120)的部分。

單層視頻編碼器可以采用單視頻序列輸入并生成傳送到單層解碼器的單壓縮比特流。視頻編解碼器可以被設(shè)計(jì)用于數(shù)字視頻服務(wù)(例如但不限于通過(guò)衛(wèi)星、有線和陸地傳輸信道發(fā)送tv信號(hào))。針對(duì)在異構(gòu)環(huán)境中部署的視頻中心應(yīng)用,多層視頻譯碼技術(shù)可以被開發(fā)作為視頻編碼標(biāo)準(zhǔn)的擴(kuò)展以實(shí)現(xiàn)各種應(yīng)用。例如,多層視頻譯碼技術(shù),例如可縮放視頻譯碼和/或多視圖視頻譯碼,可以被設(shè)計(jì)用于處理不只一個(gè)視頻層,其中每一層可以被解碼以重構(gòu)特定空間分辨率、時(shí)間分辨率、保真度和/或視圖的視頻信號(hào)。雖然參考圖1和圖2描述了單層編碼器和解碼器,但是這里描述的概念可以使用多層編碼器和/或解碼器,例如用于多視圖和/或可縮放譯碼技術(shù)。

圖9是示出譯碼的比特流結(jié)構(gòu)的示例的圖。譯碼的比特流900包括多個(gè)nal(網(wǎng)絡(luò)抽象層)單元901。nal單元可以包含譯碼的采樣數(shù)據(jù),例如譯碼的片906,或高級(jí)語(yǔ)法元數(shù)據(jù),例如參數(shù)集數(shù)據(jù),片頭數(shù)據(jù)905或補(bǔ)充增強(qiáng)信息數(shù)據(jù)907(其可以稱為sei消息)。參數(shù)集是高級(jí)語(yǔ)法結(jié)構(gòu),包含基本語(yǔ)法元素,其可以應(yīng)用到多個(gè)比特流層(例如,視頻參數(shù)集902(vps)),或可以應(yīng)用到一個(gè)層內(nèi)的譯碼的視頻序列(例如序列參數(shù)集903(sps)),或可以應(yīng)用到一個(gè)譯碼的視頻序列內(nèi)的多個(gè)譯碼的圖片(例如圖片參數(shù)集904(pps))。參數(shù)集可以與視頻比特流的譯碼的圖片一起被發(fā)送,或通過(guò)其他方式(包括使用可靠信道的帶外傳輸、硬譯碼等)被發(fā)送。片頭905也是高級(jí)語(yǔ)法結(jié)構(gòu),其可以包含一些圖片相關(guān)的信息,其僅針對(duì)某些片或圖片類型相對(duì)小或相關(guān)。sei消息907攜帶解碼過(guò)程可以不需要但是可以用于各種其他目的的信息,這些目的可以例如是圖片輸出定時(shí)或顯示以及損失檢測(cè)和隱藏。

圖10是示出通信系統(tǒng)的示例的圖。通信系統(tǒng)1000可以包括編碼器1002、通信網(wǎng)絡(luò)1004和解碼器1006。編碼器1002可以經(jīng)由連接1008與網(wǎng)絡(luò)1004通信,該連接1008可以是有線連接或無(wú)線連接。編碼器1002可以類似于圖1的基于塊的視頻編碼器。編碼器1402可以包括單層編解碼器(例如圖1)或多層編解碼器。解碼器1006可以經(jīng)由連接1010與網(wǎng)絡(luò)1004通信,該連接1010可以是有線連接或無(wú)線連接。解碼器1006可以類似于圖2的基于塊的視頻解碼器。解碼器1006可以包括單層編解碼器(例如圖2)或多層編解碼器。

編碼器1002和/或解碼器1006可以被集成到多種有線通信設(shè)備和/或無(wú)線發(fā)射/接收單元(wtru),例如但不限于,數(shù)字電視、無(wú)線廣播系統(tǒng)、網(wǎng)絡(luò)元件/終端、服務(wù)器,例如內(nèi)容或網(wǎng)頁(yè)服務(wù)器(例如超文本傳輸協(xié)議(http)服務(wù)器)、個(gè)人數(shù)字助理(pda)、筆記本或臺(tái)式計(jì)算機(jī)、平板電腦、數(shù)字相機(jī)、數(shù)字記錄設(shè)備、視頻游戲設(shè)備、視頻游戲機(jī)、蜂窩或衛(wèi)星無(wú)線電電話、數(shù)字媒體播放器等。

通信網(wǎng)絡(luò)1004可以是合適類型的通信網(wǎng)絡(luò)。例如,通信網(wǎng)絡(luò)1004可以是為多個(gè)無(wú)線用戶提供如語(yǔ)音、數(shù)據(jù)、視頻、消息傳遞、廣播等內(nèi)容的多址接入系統(tǒng)。該通信網(wǎng)絡(luò)1004可以通過(guò)共享包括無(wú)線帶寬在內(nèi)的系統(tǒng)資源來(lái)使得多個(gè)無(wú)線用戶訪問(wèn)此類內(nèi)容。舉例來(lái)說(shuō),通信網(wǎng)絡(luò)1004可以采用一種或多種信道接入方法,例如碼分多址(cdma)、時(shí)分多址(tdma)、頻分多址(fdma)、正交fdma(ofdma)、單載波fdma(sc-fdma)等等。通信網(wǎng)絡(luò)1004可以包括多個(gè)連接的通信網(wǎng)絡(luò)。通信網(wǎng)絡(luò)1004可以包括因特網(wǎng)和/或一個(gè)或多個(gè)個(gè)人商業(yè)網(wǎng)絡(luò),例如蜂窩網(wǎng)絡(luò)、wifi熱點(diǎn)、因特網(wǎng)服務(wù)供應(yīng)商(isp)網(wǎng)絡(luò)等。

圖11示出了示例wtru的系統(tǒng)圖。如圖所示,示例wtru1100可以包括處理器1118、收發(fā)信機(jī)1120、發(fā)射/接收元件1122、揚(yáng)聲器/麥克風(fēng)1124、小鍵盤或鍵盤1126、顯示器/觸摸板1128、不可移除存儲(chǔ)器1130、可移除存儲(chǔ)器1132、電源1134、全球定位系統(tǒng)(gps)芯片組1136和/或其他外圍設(shè)備1138。應(yīng)該了解的是,在保持符合實(shí)施方式的同時(shí),wtru1100還可以包括前述元件的任意子組合。此外,可以集成編碼器(例如,編碼器100)和/或解碼器(例如解碼器200)的終端可以包括參考圖11的wtru1100描繪并描述的元件的一些或全部。

處理器1118可以是通用處理器、專用處理器、常規(guī)處理器、數(shù)字信號(hào)處理器(dsp)、圖形處理單元(gpu)、多個(gè)微處理器、與dsp核心關(guān)聯(lián)的一個(gè)或多個(gè)微處理器、控制器、微控制器、專用集成電路(asic)、現(xiàn)場(chǎng)可編程門陣列(fpga)電路、其他任意類型的集成電路(ic)、狀態(tài)機(jī)等等。處理器1118可以執(zhí)行信號(hào)譯碼、數(shù)據(jù)處理、功率控制、輸入/輸出處理和/或其他任意能使wtru1100在無(wú)線環(huán)境中工作的功能。處理器1118可以耦合至收發(fā)信機(jī)1120,收發(fā)信機(jī)1120可以耦合至發(fā)射/接收元件1122。雖然圖11將處理器1118和收發(fā)信機(jī)1120描述成獨(dú)立組件,但是應(yīng)該了解,處理器1118和收發(fā)信機(jī)1120可以集成在一個(gè)電子封裝或芯片中。

發(fā)射/接收元件1122可以被配置成通過(guò)空中接口1115來(lái)傳送或接收去往或來(lái)自另一終端的信號(hào)。例如,在一個(gè)或多個(gè)實(shí)施方式中,發(fā)射/接收元件1122可以是被配置成傳送和/或接收rf信號(hào)的天線。在一個(gè)或多個(gè)實(shí)施方式中,作為示例,發(fā)射/接收元件1122可以是被配置成發(fā)射和/或接收ir、uv或可見光信號(hào)的發(fā)射器/檢測(cè)器。在一個(gè)或多個(gè)實(shí)施方式中,發(fā)射/接收元件1122可以被配置成發(fā)射和/或接收rf和光信號(hào)。應(yīng)該了解的是,發(fā)射/接收元件1122可以被配置成發(fā)射和/或接收無(wú)線信號(hào)的任意組合。

此外,雖然在圖11中將發(fā)射/接收元件1122被描述成是單個(gè)元件,但是wtru1100可以包括任意數(shù)量的發(fā)射/接收元件1122。更具體地說(shuō),wtru1100可以使用mimo技術(shù)。因此,在一個(gè)實(shí)施方式中,wtru1100可以包括兩個(gè)或更多個(gè)通過(guò)空中接口1115來(lái)傳送和接收無(wú)線信號(hào)的發(fā)射/接收元件1122(例如多個(gè)天線)。

收發(fā)信機(jī)1120可以被配置成對(duì)發(fā)射/接收元件1122將要傳送的信號(hào)進(jìn)行調(diào)制,以及對(duì)發(fā)射/接收元件1122接收的信號(hào)進(jìn)行解調(diào)。如上所述,wtru1100可以具有多模能力。因此,收發(fā)信機(jī)1120可以包括使得wtru1100經(jīng)由諸如utra和ieee802.11之類的多種rat來(lái)進(jìn)行通信的多個(gè)收發(fā)信機(jī)。

wtru1100的處理器1118可以耦合至揚(yáng)聲器/麥克風(fēng)1124、鍵盤1126和/或顯示器/觸摸板1128(例如液晶顯示器(lcd)顯示單元或有機(jī)發(fā)光二極管(oled)顯示單元),并且可以接收來(lái)自這些元件的用戶輸入數(shù)據(jù)。處理器1118還可以向揚(yáng)聲器/麥克風(fēng)1124、鍵盤1126和/或顯示器/觸摸板1128輸出用戶數(shù)據(jù)。此外,處理器1118可以從任意類型的適當(dāng)?shù)拇鎯?chǔ)器(例如不可移除存儲(chǔ)器1130和/或可移除存儲(chǔ)器1132)中訪問(wèn)信息,以及將數(shù)據(jù)存入這些存儲(chǔ)器。所述不可移除存儲(chǔ)器1130可以包括隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、硬盤或是其他任意類型的記憶存儲(chǔ)設(shè)備??梢瞥鎯?chǔ)器1132可以包括訂戶身份模塊(sim)卡、記憶棒、安全數(shù)字(sd)記憶卡等等。在一個(gè)或多個(gè)實(shí)施方式中,處理器1118可以從那些并非實(shí)際位于wtru1100的存儲(chǔ)器訪問(wèn)信息,以及將數(shù)據(jù)存入這些存儲(chǔ)器,其中舉例來(lái)說(shuō),所述存儲(chǔ)器可以位于服務(wù)器或家庭計(jì)算機(jī)(未顯示)上。

處理器1118可以接收來(lái)自電源1134的電能,并且可以被配置分發(fā)和/或控制用于wtru1100中的其他組件的電能。電源1134可以是為wtru1100供電的任意適當(dāng)?shù)脑O(shè)備。舉例來(lái)說(shuō),電源1134可以包括一個(gè)或多個(gè)干電池組(如鎳鎘(ni-cd)、鎳鋅(ni-zn)、鎳氫(nimh)、鋰離子(li-ion)等等)、太陽(yáng)能電池、燃料電池等等。

處理器1118還可以與gps芯片組1136耦合,該芯片組1136可以被配置成提供與wtru1100的當(dāng)前位置相關(guān)的位置信息(例如經(jīng)度和緯度)。作為來(lái)自gps芯片組1136的信息的補(bǔ)充或替換,wtru1100可以通過(guò)空中接口1115接收來(lái)自終端(例如基站)的位置信息,和/或根據(jù)從兩個(gè)或多個(gè)附近基站接收的信號(hào)定時(shí)來(lái)確定其位置。應(yīng)該了解的是,在保持符合實(shí)施方式的同時(shí),wtru1100可以借助任意適當(dāng)?shù)亩ㄎ环椒▉?lái)獲取位置信息。

處理器1118還可以耦合到其他外圍設(shè)備1138,這其中可以包括提供附加特征、功能和/或有線或無(wú)線連接的一個(gè)或多個(gè)軟件和/或硬件模塊。例如,外圍設(shè)備1138可以包括加速度計(jì)、方向傳感器、運(yùn)動(dòng)傳感器、接近傳感器、電子指南針、衛(wèi)星收發(fā)信機(jī)、數(shù)碼相機(jī)和/或視頻記錄器(用于照片和/或視頻)、通用串行總線(usb)端口、振動(dòng)設(shè)備、電視收發(fā)信機(jī)、免提耳機(jī)、模塊、調(diào)頻(fm)無(wú)線電單元、以及軟件模塊,例如數(shù)字音樂播放器、媒體播放器、視頻游戲機(jī)模塊、因特網(wǎng)瀏覽器等等。

通過(guò)示例的方式,wtru1100可以被配置成傳送和/或接收無(wú)線信號(hào)并可以包括用戶設(shè)備(ue)、移動(dòng)站、固定或移動(dòng)訂戶單元、尋呼機(jī)、蜂窩電話、個(gè)人數(shù)字助理(pda)、智能電話、筆記本電腦、上網(wǎng)本、平板電腦、個(gè)人電腦、無(wú)線傳感器、消費(fèi)電子設(shè)備或能夠接收和處理壓縮視頻通信的任意其他終端。

wtru1100和/或通信網(wǎng)絡(luò)(例如通信網(wǎng)絡(luò)1004)可以實(shí)施無(wú)線電技術(shù),例如通用移動(dòng)電信系統(tǒng)(umts)陸地?zé)o線電接入(utra),其可以使用寬帶cdma(wcdma)建立空中接口1115。wcdma可以包括諸如高速分組接入(hspa)和/或演進(jìn)hspa(hspa+)的通信協(xié)議。hspa可以包括高速下行鏈路分組接入(hsdpa)和/或高速上行鏈路分組接入(hsupa)。wtru1100和/或通信網(wǎng)絡(luò)(例如通信網(wǎng)絡(luò)1004)可以實(shí)施諸如演進(jìn)umts陸地?zé)o線電接入(e-utra)的無(wú)線電技術(shù),其使用長(zhǎng)期演進(jìn)(lte)和/或lte高級(jí)(lte-a)來(lái)建立空中接口1115。

wtru1100和/或通信網(wǎng)絡(luò)(例如通信網(wǎng)絡(luò)1004)可以實(shí)施無(wú)線電技術(shù),該無(wú)線電技術(shù)諸如ieee802.16(全球微波接入互操作性(wimax))、cdma2000、cdma20001x、cdma2000ev-do、臨時(shí)標(biāo)準(zhǔn)2000(is-2000)、臨時(shí)標(biāo)準(zhǔn)95(is-95)、臨時(shí)標(biāo)準(zhǔn)856(is-856)、全球移動(dòng)通信系統(tǒng)(gsm)、gsm增強(qiáng)數(shù)據(jù)速率演進(jìn)(edge)、gsmedge(geran)等。wtru1100和/或通信網(wǎng)絡(luò)(例如通信網(wǎng)絡(luò)1004)可以實(shí)施諸如ieee802.11、ieee802.15等的無(wú)線電技術(shù)。

ii.時(shí)間塊向量預(yù)測(cè)

圖12是示出示例雙向屏幕內(nèi)容共享系統(tǒng)1200的功能框圖。該圖示出了主機(jī)子系統(tǒng),包括獲取器1202、編碼器1204以及發(fā)射機(jī)1206。圖12還示出了客戶端子系統(tǒng),包括接收機(jī)1208(其輸出接收的輸入比特流1210)、解碼器1212以及顯示器(呈現(xiàn)器)1218。解碼器1212向顯示圖片緩沖器1214輸出,而顯示圖片緩沖器1214傳送解碼的圖片1216給顯示器1218。例如如在t.vermeir的“usecasesandrequirementsforlosslessandscreencontentcoding”,jctvc-m0172,2013年4月,inchcon,kr以及j.sole,r.joshi,m.karczewicz,“ahg8:requirementsforwirelessdisplayapplication”,jctvc-m0315,2013年4月,inchcon,kr中描述的,針對(duì)屏幕內(nèi)容譯碼(scc)有工業(yè)應(yīng)用要求。

為了節(jié)省傳輸帶寬和存儲(chǔ),mpeg已經(jīng)致力于視頻編碼標(biāo)準(zhǔn)許多年。如在b.bross,w-j.han,g.j.sullivan,j-r.ohm,t.wiegand,“highefficiencyvideocoding(hevc)textspecificationdraft10”,jctvc-l1003,2013年1月中描述的高效視頻編碼(hevc)是合并視頻壓縮標(biāo)準(zhǔn)。hevc當(dāng)前正由itu-t視頻編碼專家組(vceg)和iso/iec移動(dòng)圖片專家組(mpeg)一起聯(lián)合開發(fā)。hevc與具有相同質(zhì)量的h.264相比能夠節(jié)省50%的帶寬。hevc仍然是基于塊的混合視頻編碼標(biāo)準(zhǔn),因?yàn)槠渚幋a器和解碼器一般根據(jù)圖1和2操作。

hevc允許使用更大視頻塊,并使用四叉樹劃分來(lái)用信號(hào)發(fā)送塊譯碼信息。圖片或片首先被劃分成相同尺寸(例如64x64)的譯碼數(shù)塊(ctb)。每個(gè)ctb用四叉樹被劃分成譯碼單元(cu),且每個(gè)cu也使用四叉樹進(jìn)一步被劃分成預(yù)測(cè)單元(pu)和變換單元(tu)。針對(duì)每個(gè)間譯碼的cu,其pu可以是8種劃分模式之一,如圖13中所示。也稱為運(yùn)動(dòng)補(bǔ)償?shù)臅r(shí)間預(yù)測(cè)被應(yīng)用以重構(gòu)所有間譯碼的pu。依據(jù)運(yùn)動(dòng)向量的精度(其在hevc中可以高達(dá)四分之一像素),可以應(yīng)用線性濾波器來(lái)得到在分?jǐn)?shù)位置的像素值。在hevc中,插值濾波器針對(duì)亮度具有7或8個(gè)抽頭(tap)且針對(duì)色度具有4個(gè)抽頭。hevc中的解塊濾波器是基于內(nèi)容的;在tu和pu邊界應(yīng)用不同的解塊濾波器操作,這取決于多種因素,例如譯碼模式差、運(yùn)動(dòng)差、參考圖片差、像素值差等等。針對(duì)熵譯碼,hevc針對(duì)多數(shù)塊級(jí)語(yǔ)法元素(除了高級(jí)參數(shù))采用基于上下文的自適應(yīng)算術(shù)二進(jìn)制譯碼(cabac)。在cabac編碼中有兩種二進(jìn)制(bin):一種是基于上下文譯碼的常規(guī)二進(jìn)制,另一種是沒有上下文的旁路譯碼的二進(jìn)制。

雖然當(dāng)前hevc設(shè)計(jì)包含各種塊譯碼模式,但是其沒有完全利用屏幕內(nèi)容譯碼的空間冗余。這是由于hevc專注于連續(xù)色調(diào)(tone)視頻內(nèi)容,且模式?jīng)Q定和變換譯碼工具沒有被優(yōu)化用于經(jīng)常以4:4:4視頻格式獲取的離散色調(diào)屏幕內(nèi)容。在2013最終確定hevc標(biāo)準(zhǔn)之后,標(biāo)準(zhǔn)化體vceg和mpeg開始致力于用于屏幕內(nèi)容譯碼(scc)的進(jìn)一步hevc擴(kuò)展。在2014年1月,itu-tvceg和iso/iecmpeg聯(lián)合發(fā)布了屏幕內(nèi)容譯碼提案征集。見itu-tq6/16和iso/iecjct1/sc29/wg11,“jointcallforproposalforcodingofscreencontent”,mpeg2014/n14175,2014年1月,sanjose,usa(“n141752014”)。cfp從提供各種有效scc方案的不同公司接收到7個(gè)回復(fù)。諸如文本和圖形的屏幕內(nèi)容在線段和塊方面具有高度重復(fù)模式且具有大量均質(zhì)小區(qū)域(例如單色區(qū))。通常僅一些顏色存在于小塊內(nèi)。相比之下,甚至在自然視頻的小塊中有許多顏色。在每個(gè)位置的顏色值通常重復(fù)其上或左邊的像素??紤]到與自然視頻內(nèi)容相比屏幕內(nèi)容的不同特性,提出了改善屏幕內(nèi)容譯碼的譯碼效率的一些新穎的譯碼工具。示例包括

·1d串復(fù)制:t.lin,s.wang,p.zhang和k.zhou,“ahg8:p2mbaseddual-coderextensionofhevc”,documentnojctvc-l0303,2013年1月。

·調(diào)色板譯碼:x.guo,b.li,j.-z.xu,y.lu,s.li和f.wu,“ahg8:major-color-basedscreencontentcoding”,documentnojctvc-o0182,2013年十月;l.guo,m.karczewicz,j.sole和r.joshi,“evaluationofpalettemodecodingonhm-12.0+rext-4.1”,jctvc-o0218,2013年10月。

·內(nèi)塊復(fù)制(bc內(nèi)):c.pang,j.sole,l.guo,m.karczewicz和r.joshi,“non-rce3:intramotioncompensationwith2-dmvs”,jctvc-n0256,2013年七月;d.flynn,m.naccari,k.sharman,c.rosewarne,j.sole,g.j.sullivan,t.suzuki,“hevcrangeextensiondraft6”,jctvc-p1005,2014年1月,sanjose。

所有這些屏幕內(nèi)容譯碼相關(guān)工具已經(jīng)通過(guò)實(shí)驗(yàn)被研究:

·j.sole,s.liu,“hevcscreencontentcodingcoreexperiment1(scce1):intrablockcopyingextensions”,jctvc-q1121,2014年3月,valencia。

·c.-c.chen,x.xu,l.zhang,“hevcscreencontentcodingcoreexperiment2(scce2):line-basedintracopy”,jctvc-q1122,2014年3月,valencia。

·y.-w.huang,p.onno,r.joshi,r.cohen,x.xiu,z.ma,“hevcscreencontentcodingcoreexperiment3(scce3):palettemode”,jctvc-q1123,2014年3月,valencia。

·y.chen,j.xu,“hevcscreencontentcodingcoreexperiment4(scce4):stringmatchingforsamplecoding”,jctvc-q1124,2014年3月,valencia。

·x.xiu,j.chen,“hevcscreencontentcodingcoreexperiment5(scce5):inter-componentpredictionandadaptivecolortransforms”,jctvc-q1125,2014年3月,valencia。

1d串復(fù)制從之前重構(gòu)的像素緩沖器中預(yù)測(cè)可變長(zhǎng)度的串。位置和串長(zhǎng)度將被用信號(hào)發(fā)送。在調(diào)色板譯碼中,不是直接譯碼像素值,而是調(diào)色板表被用作記錄這些明顯顏色的字典。且對(duì)應(yīng)的調(diào)色板索引映射用于代表譯碼塊內(nèi)每個(gè)像素的顏色值。此外,“運(yùn)行(run)”值用于指示具有相同明顯顏色的連續(xù)像素的長(zhǎng)度(即調(diào)色板索引)以減少空間冗余。通常針對(duì)包含稀疏顏色的大塊選擇調(diào)色板譯碼。內(nèi)塊復(fù)制使用當(dāng)前圖片中已經(jīng)重構(gòu)的像素以預(yù)測(cè)同一圖片內(nèi)的當(dāng)前譯碼塊,并譯碼位移信息(稱為塊向量(bv))。

圖19示出了內(nèi)塊復(fù)制的示例??紤]到復(fù)雜性和帶寬接入需求,hevcscc參考軟件(scm-1.0)具有用于內(nèi)塊復(fù)制模式的兩種配置。見r.joshi,j.xu,r.cohen,s.liu,z.ma,y.ye,“screencontentcodingtestmodel1(scm1)”,jctvc-q1014,2014年3月,valencia。

第一配置是全幀內(nèi)塊復(fù)制,其中所有重構(gòu)的像素可以用于預(yù)測(cè),如圖13中所示。為了降低塊向量搜索復(fù)雜性,基于哈希的內(nèi)塊復(fù)制搜索已經(jīng)被提出。見b.li,j.xu,“hash-basedintrabcsearch”,jctvc-q0252,2014年三月,valencia;c.pang,j.sole,t.hsieh,m.karczewicz,“intrablockcopywithlargersearchregion”,jctvc-q0139,2014年3月,valencia。

第二配置是本地區(qū)域內(nèi)塊復(fù)制,如圖14中所示,其中僅在左邊和當(dāng)前譯碼樹單元(ctu)中的這些重構(gòu)的像素被允許用作參考。

在scc和自然視頻譯碼之間有另一種差異。針對(duì)自然視頻譯碼,譯碼失真一般分布在整個(gè)圖片上。但是,針對(duì)屏幕內(nèi)容,譯碼失真或誤差通常集中在強(qiáng)邊緣周圍。該誤差集中可以使得偽影更可見,即使在psnr(峰值信號(hào)噪聲比)針對(duì)整個(gè)圖片非常高時(shí)。因此,從主觀質(zhì)量角度來(lái)看,屏幕內(nèi)容更難以編碼。

在當(dāng)前hevc標(biāo)準(zhǔn)中,使用合并模式的間pu可以重新使用來(lái)自空間和時(shí)間鄰近預(yù)測(cè)單元的運(yùn)動(dòng)信息來(lái)減少用于運(yùn)動(dòng)向量(mv)譯碼的比特。如果間譯碼的2nx2ncu使用合并模式且在所有其變換單元中的所有量化的系數(shù)是零,則其被譯碼為跳過(guò)模式以通過(guò)跳過(guò)在tu的根的分區(qū)尺寸、譯碼塊標(biāo)記的譯碼而進(jìn)一步節(jié)省比特。合并模式中的可能候選的集合由多個(gè)空間鄰近候選、一個(gè)時(shí)間鄰近候選以及一個(gè)或多個(gè)生成的候選組成。hevc允許高達(dá)5個(gè)合并候選。

圖15示出了五個(gè)空間候選的位置。為了構(gòu)建合并候選列表,五個(gè)空間候選首先被檢查并根據(jù)順序a1、b1、b0、a0和b2被添加到該列表。如果位于一個(gè)空間位置的塊是內(nèi)譯碼或在當(dāng)前片的邊界之外,則其運(yùn)動(dòng)被認(rèn)為不可用且其將不被添加到候選列表。此外,為了移除空間候選的冗余,候選具有完全相同運(yùn)動(dòng)信息的任意冗余項(xiàng)從該列表中排除。在將所有有效空間候選插入到合并候選列表之后,通過(guò)時(shí)間運(yùn)動(dòng)向量預(yù)測(cè)(tmvp)技術(shù)從共位參考圖片中的共位塊的運(yùn)動(dòng)信息生成時(shí)間候選。hevc通過(guò)發(fā)送其參考圖片列表和該列表中的其參考圖片索引而允許共位參考圖片的顯式信令在比特流(在片頭中)中用于tmvp。合并候選的實(shí)際數(shù)量n(默認(rèn)n=5)在片頭中被用信號(hào)發(fā)送。如果合并候選的數(shù)量(包括空間和時(shí)間候選)大于n,則在該列表中保留前n-1個(gè)空間候選和時(shí)間候選。否則,如果合并候選的數(shù)量小于n,則一些組合的候選和零運(yùn)動(dòng)候選可以被添加到該候選列表直到數(shù)量達(dá)到n。見b.bross,w-j.han,g.j.sullivan,j-r.ohm,t.wiegand,“highefficiencyvideocoding(hevc)textspecificationdraft10”,jctvc-l1003,2013年1月。

以圖15為例,構(gòu)建間合并候選列表的檢查順序概括如下,

(合并步驟1)檢查左鄰近pua1。如果a1是間pu,則將其mv添加到候選列表。

(合并步驟2)檢查上鄰近pub1。如果b1是間pu且其mv在該列表中是唯一的,則將其mv添加到候選列表。

(合并步驟3)檢查右上鄰近pub0。如果b0是間pu且其mv不同于b1是間pu情況下b1的mv,則將其mv添加到候選列表。

(合并步驟4)檢查左下鄰近pua0。如果a0是間pu且其mv不同于a1是間pu情況下a1的mv,則將其mv添加到候選列表。

(合并步驟5)如果候選的數(shù)量小于4,則檢查左上鄰近pub2。如果b2是間pu且其mv不同于b1是間pu情況下b1的mv,且不同于a1是間pu情況下a1的mv,則將其mv添加到候選列表。

(合并步驟6)使用下面描述的tmvp方法檢查共位圖片中的共位puc。

(合并步驟7)如果間合并候選列表未滿,且如果當(dāng)前片是b片,則在步驟(合并步驟1)至(合并步驟6)期間被添加到當(dāng)前合并列表的各種合并候選的組合被檢查并被添加到合并候選列表。

(合并步驟8)如果間合并候選列表未滿,則從參考圖片列表中的第一參考圖片開始的具有不同參考圖片組合的零運(yùn)動(dòng)向量被順序附加到該列表直到該列表滿。

如果譯碼的片是b片,則過(guò)程“合并步驟8”通過(guò)遍歷這兩個(gè)列表(例如list_0和list_1)共享的所有參考圖片索引來(lái)給這些雙預(yù)測(cè)候選添加零運(yùn)動(dòng)向量。在一實(shí)施方式中,mv可以被表達(dá)為四分量變量(list_idx,ref_idx,mv_x,mv_y)。值list_idx是列表索引且可以是0(例如list_0)或1(例如list_1);ref_idx是list_idx指定的列表中的參考圖片索引;以及mv_x和mv_y是運(yùn)動(dòng)向量在水平和豎直方向中的兩個(gè)分量?!昂喜⒉襟E8”過(guò)程然后使用以下等式導(dǎo)出這兩個(gè)列表中的共享索引的數(shù)量:

numrcfidx=min(num_rcf_idx_10,num_rcf_idx_ii)

其中,num_ref_idx_10和num_ref_idx_11分別是list_0和list_1中參考圖片的數(shù)量。然后合并候選與雙預(yù)測(cè)模式的mv對(duì)按順序被添加直到合并候選列表滿:

{(0,rcf_idx(i),0,0),(1,rcf_idx(i),0,0)},i≥0

其中ref_idx(i)被定義為:

對(duì)于非合并模式,hevc允許當(dāng)前pu從空間和時(shí)間候選選擇其mv預(yù)測(cè)符。這在本文中稱為amvp或高級(jí)運(yùn)動(dòng)向量預(yù)測(cè)。針對(duì)amvp,在圖15中的五個(gè)空間候選間根據(jù)其可用性,最多僅兩個(gè)空間運(yùn)動(dòng)預(yù)測(cè)符候選可以被選擇。從左邊位置a1和a0的集合選擇第一個(gè)空間候選,從上面位置b1、b0和b2的集合選擇第二個(gè)空間候選,同時(shí)以與這兩個(gè)集合指示的相同順序進(jìn)行搜索。僅可用且唯一的空間候選被添加到預(yù)測(cè)符候選列表。當(dāng)可用且唯一的空間候選的數(shù)量小于2時(shí),從tmvp過(guò)程生成時(shí)間mv預(yù)測(cè)符候選并將其添加到該列表。最終,如果列表仍然包含小于2的候選,則還可以重復(fù)添加零mv預(yù)測(cè)符直到mv預(yù)測(cè)符候選的數(shù)量等于2。

圖16是針對(duì)合并模式和非合并模式在hevc中用于生成時(shí)間候選(表示為mvlx)的tmvp過(guò)程的流程圖。在步驟1602中,輸入當(dāng)前pucurrpu的輸入?yún)⒖剂斜韑x和參考索引refidxlx(x是0或1)。在步驟1604中,通過(guò)檢查共位參考圖片中剛好在currpu區(qū)域之外的右下塊的可用性來(lái)標(biāo)識(shí)共位塊colpu。這在圖15中示出為“共位pu”1502。如果右下塊不可用,則使用共位參考圖片中currpu的中心位置的塊來(lái)代替,在圖15中示出為“可替換共位pu”1504。然后,在步驟1606中,基于用于定位共位參考圖片的當(dāng)前圖片的參考列表和當(dāng)前圖片的參考圖片的圖片計(jì)數(shù)順序(poc)來(lái)確定colpu的參考列表listcol,這將在下段解釋。然后在步驟1608中使用參考列表listcol來(lái)獲取colpu的對(duì)應(yīng)mvmvcol和參考索引refidxcol。在步驟1610-1612中,currpu的參考圖片的長(zhǎng)/短期特性(指示為refidxlx)與colpu的參考圖片的長(zhǎng)/短期特性(指示為refidxcol)進(jìn)行比較。如果這兩個(gè)參考圖片之一是長(zhǎng)期圖片而另一者是短期圖片,則時(shí)間候選mvlx被認(rèn)為不可用。否則,如果這兩個(gè)參考圖片都是長(zhǎng)期圖片,則mvlx直接被設(shè)置等于mvcol(在步驟1616中)。否則(這兩個(gè)參考圖片都是短期圖片),mvlx被設(shè)置為mvcol的縮放版本(在步驟1617-1618中)。

在圖16中,currpocdiff用于表示當(dāng)前圖片與currpu的參考圖片之間的poc差,以及colpocdiff表示共位參考圖片與colpu的參考圖片之間的poc差。這兩個(gè)poc差值也在圖15中示出。給定currpocdiff和colpocdiff,currpu的預(yù)測(cè)的mvmvlx根據(jù)mvcol被計(jì)算,如下給出

此外,在hevc標(biāo)準(zhǔn)的合并模式中,時(shí)間候選的參考索引總是被設(shè)置等于0,即refidxlx總是等于0,表示時(shí)間合并候選總是來(lái)自列表lx中的第一個(gè)參考圖片。

基于包含共位參考圖片的currpic的參考列表refpiclistcol以及當(dāng)前圖片currpic的參考圖片的poc來(lái)選擇colpu的參考列表listcol;使用語(yǔ)法元素collocated_from_10_flag在片頭中用信號(hào)發(fā)送refpiclistcol。圖17示出了hevc中的選擇listcol的過(guò)程。見b.bross,w-j.han,g.j.sullivan,j-r.ohm,t.wiegand,“highefficiencyvideocoding(hevc)textspecificationdraft10”,jctvc-l1003,2013年1月。在步驟1704中,如果curpic的參考圖片列表中的每一個(gè)圖片pic的poc小于或等于currpic的poc,則listcol被設(shè)置等于輸入的參考列表lx(x是0或1)(在步驟1712中)。否則(如果currpic的至少一個(gè)參考圖片列表中的至少一個(gè)參考圖片pic的poc大于currpic的poc),則listcol被設(shè)置等于refpiclistcol的相反數(shù)(在步驟1706,1708,1710中)。

給定當(dāng)前pu的運(yùn)動(dòng)向量cmv的列表clist(cmv)和參考圖片索引cidx(cmv),mv預(yù)測(cè)符列表構(gòu)建過(guò)程概括如下,

(1)檢查左下鄰近pua0。如果a0是間pu且列表clist(cmv)中的a0的mv參考與cmv相同的參考圖片,則將其添加到預(yù)測(cè)符列表;否則,在另一列表oppositelist(clist(cmv))檢查a0的mv。如果該mv參考與cmv相同的參考圖片,則將其添加到該列表中,否則a0失效。函數(shù)oppositelist(listx)定義列表x的相反列表,其中:

oppositclist(listx)=(listx==list0?list1:list0)

(2)如果a0失效,則以與(1)相同的方式檢查a1。

(3)如果步驟(1)和(2)都失敗,如果a0是間pu且列表clist(cmv)中的其運(yùn)動(dòng)向量mv_a0是短期mv,且cmv也是短期運(yùn)動(dòng)向量,則根據(jù)poc距離縮放mv_a0:

mv_scalcd=mv_a0*(poc(f0)-poc(p))/(poc(f1)-poc(p))

將縮放的運(yùn)動(dòng)向量mv_scaled添加到該列表。如果mv_a0和cmv都是長(zhǎng)期mv,則將mv_a0添加到該列表,不用縮放;否則以相同的方式檢查相反列表oppositelist(clist(cmv))中a0的運(yùn)動(dòng)向量。

(4)如果步驟(3)失敗,則如步驟(3)所述檢查a1;否則進(jìn)入步驟(5)。

(5)目前為止,至多有一個(gè)mv預(yù)測(cè)符來(lái)自a0或a1。如果a0和a1都不是間pu,則以在(1)(2)(3)(4)中描述的相同的方式按(b0,b1)的順序檢查b0和b1,以找到另一mv預(yù)測(cè)符;否則,以(1)(2)中描述的相同的方式檢查b0和b1。

(6)從該列表中移除重復(fù)的mv預(yù)測(cè)符,如果有的話。

(7)如果列表未滿,則使用上述的tmvp生成的mvlx來(lái)填充該列表。

(8)在該列表中填充零運(yùn)動(dòng)向量直到該列表滿。

在scm草案規(guī)范中,bc內(nèi)被用信號(hào)發(fā)送為附加cu譯碼模式(塊內(nèi)復(fù)制模式),且其被處理為用于解碼和解塊的內(nèi)模式。見r.joshi,j.xu,“hevcscreencontentcodingdrafttext1”,jctvc-r1005,2014年7月,sapporo,jp;r.joshi,j.xu,“hevcscreencontentcodingdrafttext2”,jctvc-s1005,2014年10月,strasbourg,fr(“joshi2014”)。沒有bc內(nèi)合并模式和bc內(nèi)跳過(guò)模式。為了改善譯碼效率,已經(jīng)提出了將塊內(nèi)復(fù)制模式與間模式組合。見b.li,j.xu,“non-scce1:unificationofintrabcandintermodes”,jctvc-r0100,2014年7月,sapporo,jp(下文為“l(fā)i2014”);x.xu,s.liu,s.lei,“scce1test2.1:intrabccodedasinterpu”,jctvc-r01900,2014年7月,sapporo,jp(下文為“xu2014”)。

圖18示出了使用層級(jí)譯碼結(jié)構(gòu)的方法。當(dāng)前圖片被表示為pic(t)。在應(yīng)用解塊和sao之前當(dāng)前圖片中已經(jīng)解碼的部分被表示為pic’(t)。在正常時(shí)間預(yù)測(cè)中,參考圖片list_0按順序包括時(shí)間參考圖片pic(t-1)和pic(t-3),且參考圖片list_1按順序包括pic(t+1)和pic(t+5)。pic’(t)另外放置在一個(gè)參考列表(list_0)的末尾并被標(biāo)記為長(zhǎng)期圖片并用作針對(duì)塊內(nèi)復(fù)制模式的“偽參考圖片”。該偽參考圖片pic’(t)僅用于bc內(nèi)復(fù)制預(yù)測(cè),且不用于運(yùn)動(dòng)補(bǔ)償。塊向量和運(yùn)動(dòng)向量被存儲(chǔ)在list_0運(yùn)動(dòng)字段中用于各自的參考圖片。使用在預(yù)測(cè)單元級(jí)的參考索引來(lái)區(qū)分塊內(nèi)復(fù)制模式和間模式:針對(duì)bc內(nèi)預(yù)測(cè)單元,參考圖片是最后一個(gè)參考圖片,也就是說(shuō),在list_0中參考圖片具有最大的ref_idx值;以及該最后一個(gè)參考圖片被標(biāo)記為長(zhǎng)期參考圖片。這個(gè)特殊的參考圖片具有與當(dāng)前圖片的計(jì)數(shù)順序(poc)相同的poc;相比之下,用于間預(yù)測(cè)的任意其他常規(guī)時(shí)間參考圖片的poc不同于當(dāng)前圖片的poc。

在(li2014)和(xu2014)的方法中,bc內(nèi)模式和間模式共享相同的合并過(guò)程,其與如上解釋的最初在用于間合并模式的hevc中規(guī)定的合并過(guò)程相同。使用這些方法,bc內(nèi)pu和間pu可以在一個(gè)cu內(nèi)被混合,由此改善針對(duì)scc的譯碼效率。相比之下,當(dāng)前scc測(cè)試模型使用cu級(jí)bc內(nèi)信令,且因此不允許cu同時(shí)包含bc內(nèi)pu和間pu。

用于bc內(nèi)的另一框架設(shè)計(jì)在以下文獻(xiàn)中被描述:(li2014),(n141752014)以及c.pang,k.rapaka,y._k.wang,v.scrcgin,m.karczewicz,“non-ce2:intrablockcopywithintersignaling”,jctvc-s0113,2014年10月(下文“pang2014年10月”)。在該框架中,bc內(nèi)模式與間模式信令統(tǒng)一。具體地,在應(yīng)用環(huán)濾波(解塊和sao)之前創(chuàng)建偽參考圖片來(lái)存儲(chǔ)當(dāng)前圖片的重構(gòu)部分(當(dāng)前被編碼的圖片)。該偽參考圖片然后被插入到當(dāng)前圖片的參考圖片列表。當(dāng)該偽參考圖片被pu引用時(shí)(也就是說(shuō),當(dāng)其參考索引等于偽參考圖片的索引時(shí)),通過(guò)從偽參考圖片復(fù)制塊以形成當(dāng)前預(yù)測(cè)單元的預(yù)測(cè)來(lái)啟用bc內(nèi)模式。隨著在當(dāng)前圖片中更多cu被譯碼,在環(huán)濾波之前的這些cu的重構(gòu)采樣值被更新到偽參考圖片的對(duì)應(yīng)區(qū)域。該偽參考圖片幾乎與任意常規(guī)時(shí)間參考圖片同等對(duì)待,但具有以下不同:

1.偽參考圖片被標(biāo)記為“長(zhǎng)期”參考圖片,而在多數(shù)典型情況中,時(shí)間參考圖片最有可能是“短期”參考圖片。

2.在默認(rèn)參考圖片列表構(gòu)成中,偽參考圖片被添加到l0(如果是p片)且被添加到l0和l1(如果是b片)。按照以下順序構(gòu)建默認(rèn)l0:按照poc差的增序在時(shí)間上在當(dāng)前圖片之前(顯示順序)的參考圖片,代表當(dāng)前圖片的重構(gòu)部分的偽參考圖片,按照poc差的增序在時(shí)間上在當(dāng)前圖片之后(顯示順序)的參考圖片。按照以下順序構(gòu)建默認(rèn)l1:按照poc差的增序在時(shí)間上在當(dāng)前圖片之后(顯示順序)的參考圖片,代表當(dāng)前圖片的重構(gòu)部分的偽參考,按照poc差的增序在時(shí)間上在當(dāng)前圖片之前(顯示順序)的參考圖片。

3.在(pang2014年10月)的設(shè)計(jì)中,防止偽參考圖片用作用于時(shí)間運(yùn)動(dòng)向量預(yù)測(cè)(tmvp)的共位圖片。

4.在任意隨機(jī)接入點(diǎn)(rap),將從解碼圖片緩沖器(dpb)清除所有時(shí)間參考圖片。但是偽參考圖片將仍然存在。

5.參考偽參考圖片的所有塊向量被迫使具有僅整數(shù)像素值,雖然它們?cè)?pang2014年10月)中根據(jù)比特流符合要求以四分之一像素精度被存儲(chǔ)。

在示意性統(tǒng)一bc內(nèi)和間框架中,考慮到默認(rèn)塊向量已經(jīng)提出了修改的默認(rèn)零mv導(dǎo)出。首先,有五個(gè)默認(rèn)的bv,被表示為dbvlist并被定義為:

{-cuw,0},{-2*cuw,0},{0,-cuh},{0,-2*cuh},{-cuw,-cuh},

其中,cuw和cuh是cu的寬度和高度。在“合并步驟8”中,合并候選與雙預(yù)測(cè)模式的mv對(duì)通過(guò)以下方式被導(dǎo)出:

{(0,ref_idx(i),mv0_x,mv0_y),(1,ref_idx(i),mvl_x,mvl_y)},i≥0

其中ref_idx(i)可以如上所述關(guān)于“合并步驟8”來(lái)實(shí)施。如果list_0中具有等于ref_idx(i)的索引的參考圖片是當(dāng)前圖片,則mv0_x和mv0_y被設(shè)置為默認(rèn)bv中的一個(gè):

mv0_x=dbvlist[dbvidx][0]

mv0_y=dbvlist[dbvidx][i]

且dbvidx被增1。否則,mv0_x和mv0_y都被設(shè)置為0。如果list_1中具有等于ref_idx(i)的索引的參考圖片是當(dāng)前圖片,則mv1_x和mv1_y被設(shè)置為默認(rèn)bv中的一個(gè):

mv1_x=dbvlist[dbvidx][0]

mv1_y=dbvlist[dbvidx][i]

且dbvidx被增1。否則,mv1_x和mv1_y都被設(shè)置為0。

在這樣的實(shí)施方式中,在比特流中不用信號(hào)發(fā)送特殊標(biāo)志(intra_bc_flag)來(lái)指示bc內(nèi)預(yù)測(cè);而是,以透明的方式采用與其他間譯碼pu相同的方式用信號(hào)發(fā)送bc內(nèi)。此外,在(pang2014年10月)的設(shè)計(jì)中,所有i片將變?yōu)閜或b片,具有一個(gè)或兩個(gè)參考列表,每一個(gè)包含僅偽參考圖片。

(li2014)和(pang2014年10月)中的bc內(nèi)設(shè)計(jì)由于下面的原因與scm-2.0相比改善了屏幕內(nèi)容譯碼效率:

1.它們?cè)试S間合并過(guò)程以透明的方式被應(yīng)用。由于所有的塊向量如同運(yùn)動(dòng)向量一樣被對(duì)待(其參考圖片是偽參考圖片),上述的間合并過(guò)程可以被直接應(yīng)用。

2.與以整數(shù)像素精度存儲(chǔ)塊向量的(li2014)不同,(pang2014年10月)中的設(shè)計(jì)與常規(guī)運(yùn)動(dòng)向量一樣以四分之一像素精度存儲(chǔ)塊向量。這允許當(dāng)解塊中兩個(gè)鄰近塊的至少一個(gè)使用bc內(nèi)預(yù)測(cè)模式時(shí)解塊濾波器參數(shù)被正確計(jì)算。

3.這個(gè)新的bc內(nèi)框架允許使用雙預(yù)測(cè)方法將bc內(nèi)預(yù)測(cè)與另一bc內(nèi)預(yù)測(cè)或常規(guī)運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)進(jìn)行組合。

空間位移是針對(duì)典型屏幕、內(nèi)容(例如文本和圖形)的全像素精度。在b.li,j.xu,g.sullivan,y.zhou,b.lin,“adaptivemotionvectorresolutionforscreencontent”,jctvc-s0085,2014年10月,strasbourg,fr中,提出了添加指示一個(gè)片中的運(yùn)動(dòng)向量的分辨率是整數(shù)還是分?jǐn)?shù)像素(例如四分之一像素)精度的信號(hào)。這可以改善運(yùn)動(dòng)向量譯碼效率,因?yàn)橛糜诖碚麛?shù)運(yùn)動(dòng)的值與用于代表分?jǐn)?shù)像素運(yùn)動(dòng)的值相比可以更小。在hevcscc擴(kuò)展(joshi2014)的設(shè)計(jì)中采用的是自適應(yīng)運(yùn)動(dòng)向量分辨率方法。多通編碼可以用于選擇針對(duì)當(dāng)前片/圖片是使用整數(shù)還是四分之一像素運(yùn)動(dòng)分辨率,但是會(huì)明顯增加復(fù)雜性。因此,在編碼器側(cè),scc參考編碼器(joshi2014)使用基于哈希的整數(shù)運(yùn)動(dòng)搜索來(lái)決定運(yùn)動(dòng)向量分辨率。針對(duì)圖片中的每一個(gè)不重疊8x8塊,編碼器檢查其使用基于哈希的搜索是否能夠在list_0中的第一個(gè)參考圖片中找到匹配塊。編碼器將不重疊塊(例如8x8)分為四類:完美匹配塊、哈希匹配塊、平滑塊、不匹配塊。如果當(dāng)前塊與參考圖片中其共位塊之間的所有像素(三個(gè)分量)完全相同,則該塊將被分類為完美匹配塊。否則,編碼器將通過(guò)基于哈希的搜索檢查是否有參考?jí)K具有與當(dāng)前塊的哈希值相同的哈希值。如果找到哈希值匹配塊,則該塊將被分類為哈希匹配塊。如果所有像素在水平方向或在豎直方向具有相同值,則該塊將被分類為平滑塊。如果完美匹配塊、哈希匹配塊以及平滑塊的總百分比大于第一閾值(例如0.8),且多個(gè)之前編碼的圖片(例如32個(gè)之前的圖片)的匹配塊和平滑塊的百分比的平均數(shù)大于第二閾值(例如0.95),且哈希匹配塊的百分比大于第三閾值,則選擇整數(shù)運(yùn)動(dòng)分辨率,否則選擇四分之一像素運(yùn)動(dòng)分辨率。具有整數(shù)運(yùn)動(dòng)分辨率是指在當(dāng)前圖片中有大量的完美匹配或哈希匹配塊。這表明運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)非常好。該信息將在提出的雙預(yù)測(cè)搜索中使用,這在下節(jié)標(biāo)題為“用于使用bv和mv的雙預(yù)測(cè)模式的雙預(yù)測(cè)搜索”中討論。

(li2014)和(xu2014)中提出的bc內(nèi)和間模式統(tǒng)一方法存在一些缺陷。使用在scc,r.joshi,j.xu,“hevcscreencontentcodingdrafttext1”,jctvc-r1005,2014年7月,sapporo,jp的草案規(guī)范中的現(xiàn)有的合并過(guò)程,如果共位參考圖片中的時(shí)間共位塊colpu是bc內(nèi)譯碼的,則其塊向量在合并模式中將很可能不被用作有效合并候選,主要因?yàn)閮蓚€(gè)原因。

首先,塊向量使用特殊參考圖片,其被標(biāo)記為長(zhǎng)期參考圖片。相比之下,多數(shù)時(shí)間運(yùn)動(dòng)向量一般指是短期參考圖片的常規(guī)時(shí)間參考圖片。由于塊向量(長(zhǎng)期)不同于常規(guī)運(yùn)動(dòng)向量(短期)而被分類,現(xiàn)有的合并過(guò)程阻止使用從長(zhǎng)期參考圖片的運(yùn)動(dòng)來(lái)預(yù)測(cè)從短期參考圖片的運(yùn)動(dòng)。

其次,現(xiàn)有的間合并過(guò)程僅允許與共位列表(list_0或list_1)中第一個(gè)參考圖片具有相同運(yùn)動(dòng)類型的這些mv/bv候選。由于通常list_0或list_1中的第一個(gè)參考圖片是短期時(shí)間參考圖片,當(dāng)塊向量被分類為長(zhǎng)期運(yùn)動(dòng)信息時(shí),一般不能使用bc內(nèi)塊向量。這種共享合并過(guò)程的另一個(gè)缺陷是其有時(shí)生成混合合并候選列表,其中一些合并候選可以是塊向量而另一些可以是運(yùn)動(dòng)向量。圖23a-b示出了一個(gè)示例,其中可以一起混合bc內(nèi)和間候選。空間鄰近塊c0和c2是使用塊向量的bc內(nèi)pu。塊c1和c3是使用運(yùn)動(dòng)向量的間pu。puc4是內(nèi)或調(diào)色板塊。不失一般性,假定時(shí)間共位塊c5是間pu。使用現(xiàn)有合并過(guò)程生成的合并候選列表是c0(bv)、c1(mv)、c2(bv)、c3(mv)以及c5(mv)。由于對(duì)合并候選總數(shù)的限制,該列表將僅包含至多5個(gè)候選。在這種情況中,如果當(dāng)前塊被譯碼為間塊,則僅3個(gè)間候選(c1、c3和c5)可能用于間合并,因?yàn)閏0和c2的兩個(gè)候選代表塊向量且不提供用于運(yùn)動(dòng)向量的有意義的預(yù)測(cè)。這意味著5個(gè)合并候選中的2個(gè)實(shí)際上是“浪費(fèi)的”。如果當(dāng)前pu是bc內(nèi)pu也存在同樣的問(wèn)題(浪費(fèi)合并候選列表上的一些項(xiàng)),因?yàn)闉榱祟A(yù)測(cè)當(dāng)前pu的塊向量,來(lái)自c1、c3和c5的運(yùn)動(dòng)向量可能沒有用。

對(duì)非合并模式的塊向量預(yù)測(cè)存在第三個(gè)問(wèn)題。對(duì)于(li2014)和(xu2014)中提出的方法,現(xiàn)有的amvp設(shè)計(jì)用于bv預(yù)測(cè)。由于bc內(nèi)應(yīng)用僅使用一個(gè)參考圖片的單預(yù)測(cè),當(dāng)當(dāng)前pu使用bc內(nèi)被譯碼時(shí),其塊向量總是僅來(lái)自列表0。因此最多僅一個(gè)列表(列表0)可用于使用當(dāng)前amvp設(shè)計(jì)導(dǎo)出塊向量預(yù)測(cè)符。相比之下,b片中的多數(shù)間pu是使用來(lái)自兩個(gè)列表(列表0和列表1)的運(yùn)動(dòng)向量被雙預(yù)測(cè)的。因此,這些常規(guī)運(yùn)動(dòng)向量可以使用兩個(gè)列表(列表0和列表1)來(lái)導(dǎo)出其運(yùn)動(dòng)向量預(yù)測(cè)符。通常在每個(gè)列表中有多個(gè)參考圖片(例如,在隨機(jī)接入和在scc公共測(cè)試條件的低延遲設(shè)置中)。通過(guò)在導(dǎo)出塊向量預(yù)測(cè)符時(shí)包括更多來(lái)自兩個(gè)列表的參考圖片,可以改善bv預(yù)測(cè)。

針對(duì)(li2014),(pang2014年10月)中提供的bc內(nèi)的框架,不進(jìn)行修改而應(yīng)用間合并過(guò)程。但是,直接應(yīng)用間合并有可能降低譯碼效率的下列問(wèn)題。

首先,當(dāng)形成空間合并候選時(shí),使用在圖26中標(biāo)記為a0、a1、b0、b1、b2的鄰近塊。但是,這些空間鄰近塊的塊向量中的一些針對(duì)當(dāng)前pu可能不是有效的塊向量候選。這是由于偽參考圖片僅包含已經(jīng)被譯碼且重構(gòu)的cu的有效采樣,且鄰近塊向量中的一些可能需要參考偽參考圖片中還沒有被重構(gòu)的部分。使用當(dāng)前的間合并設(shè)計(jì),這些無(wú)效的塊向量可能仍然被插入到合并候選列表,導(dǎo)致在合并候選列表上有浪費(fèi)(無(wú)效)的項(xiàng)。

其次,hevc編解碼器中的運(yùn)動(dòng)向量被分類為短期mv和長(zhǎng)期mv,這取決于它們是指向短期參考圖片還是長(zhǎng)期參考圖片。在hevc設(shè)計(jì)的普通tmvp過(guò)程中,短期mv不能用于預(yù)測(cè)長(zhǎng)期mv,長(zhǎng)期mv也不能用于預(yù)測(cè)短期mv。針對(duì)在bc內(nèi)預(yù)測(cè)中使用的塊向量,由于它們指向標(biāo)記為長(zhǎng)期的偽參考圖片,因此它們被認(rèn)為是長(zhǎng)期mv。但是,當(dāng)調(diào)用tmvp過(guò)程用于現(xiàn)有的合并過(guò)程時(shí),l0或l1的參考索引總是被設(shè)置為0(也就是說(shuō),l0或l1上的第一項(xiàng))。由于該第一項(xiàng)通常被給出為時(shí)間參考圖片,其典型地是短期參考圖片,因此當(dāng)前合并過(guò)程阻止來(lái)自共位pu的塊向量被認(rèn)為是有效的時(shí)間合并候選(由于長(zhǎng)期與短期不匹配)。因此,當(dāng)“照原來(lái)的樣子”在合并過(guò)程期間調(diào)用tmvp過(guò)程時(shí),如果共位圖片中的共位塊是bc內(nèi)預(yù)測(cè)的并包含bv,則合并過(guò)程將認(rèn)為這個(gè)時(shí)間預(yù)測(cè)符是無(wú)效的,且不會(huì)將其添加為有效合并候選。換句話說(shuō),針對(duì)許多典型配置設(shè)置,在(li2014),(pang2014年10月)的設(shè)計(jì)中將禁用tbvp。

在本公開中,描述了各種實(shí)施方式,其中一些解決上述確認(rèn)的一個(gè)或多個(gè)問(wèn)題并改善統(tǒng)一的bc內(nèi)和間框架的譯碼效率。

本公開的實(shí)施方式組合bc內(nèi)模式和間模式且還針對(duì)合并和非合并模式兩者在pu級(jí)用信號(hào)發(fā)送標(biāo)志(intra_bc_flag),由此可以在pu級(jí)區(qū)分bc內(nèi)合并和間合并。

本公開的實(shí)施方式可以用于分別優(yōu)化這兩個(gè)分開的過(guò)程:間合并過(guò)程和bc內(nèi)合并過(guò)程。通過(guò)將間合并過(guò)程和bc內(nèi)合并過(guò)程彼此分開,可能針對(duì)間合并和bc內(nèi)合并兩者保持更大數(shù)量的有意義候選。在一些實(shí)施方式中,時(shí)間bv預(yù)測(cè)用于改善bv譯碼。在一些實(shí)施方式中,時(shí)間bv用作bc內(nèi)合并候選中的一個(gè)以進(jìn)一步改善bc內(nèi)合并模式。本公開的各種實(shí)施方式包括(1)用于bc內(nèi)bv預(yù)測(cè)的時(shí)間塊向量預(yù)測(cè)(tbvp)和/或(2)使用時(shí)間塊向量導(dǎo)出的塊內(nèi)復(fù)制合并模式。

時(shí)間塊向量預(yù)測(cè)(tbvp)

在當(dāng)前scc設(shè)計(jì)中,至多有2個(gè)bv預(yù)測(cè)符。bv預(yù)測(cè)符的列表選自空間預(yù)測(cè)符、最后的預(yù)測(cè)符以及默認(rèn)預(yù)測(cè)符的列表,如下。如下形成包含6個(gè)bv候選預(yù)測(cè)符的有序列表。該列表包括2個(gè)空間預(yù)測(cè)符、2個(gè)最后預(yù)測(cè)符以及2個(gè)默認(rèn)預(yù)測(cè)符。注意到不是所有的這6個(gè)bv是可用或有效的。例如,如果空間鄰近pu不是bc內(nèi)譯碼的,則對(duì)應(yīng)的空間預(yù)測(cè)符被認(rèn)為是不可用或無(wú)效的。如果當(dāng)前ctu中少于2個(gè)pu已經(jīng)以bc內(nèi)模式被譯碼,則最后預(yù)測(cè)符中的一個(gè)或兩個(gè)可以是不可用或無(wú)效的。該有序列表如下:(1)空間預(yù)測(cè)符spa。這是來(lái)自左下鄰近pua1的第一個(gè)空間預(yù)測(cè)符,如圖19中所示。(2)空間預(yù)測(cè)符spb。這是來(lái)自右上鄰近pub1的第二個(gè)空間預(yù)測(cè)符,如圖19中所示。(3)最后預(yù)測(cè)符lpa。這是來(lái)自當(dāng)前ctu中的最后bc內(nèi)譯碼的pu的預(yù)測(cè)符。(4)最后預(yù)測(cè)符lpb。這是來(lái)自當(dāng)前ctu中較早bc內(nèi)譯碼的pu的第二個(gè)最后預(yù)測(cè)符。當(dāng)可用且有效時(shí),lpb不同于lpa(這通過(guò)檢查新譯碼的bv不同于已有的2個(gè)最后預(yù)測(cè)符來(lái)保證,且如果是這樣僅將其添加為最后預(yù)測(cè)符)。(5)默認(rèn)預(yù)測(cè)符dpa。該預(yù)測(cè)符被設(shè)置為(-2*widthpu,0),其中widthpu是當(dāng)前pu的寬度。(6)默認(rèn)預(yù)測(cè)符dpb。該預(yù)測(cè)符被設(shè)置為(-widthpu,0)其中widthpu是當(dāng)前pu的寬度。從第一個(gè)候選預(yù)測(cè)符到最后一個(gè)候選預(yù)測(cè)符掃描來(lái)自步驟1的有序候選列表。有效且唯一的bv預(yù)測(cè)符被添加到至多2個(gè)bv預(yù)測(cè)符的最終列表。

在這里公開的示意性實(shí)施方式中,在空間預(yù)測(cè)符spa和spb之后但是在最后預(yù)測(cè)符lpa和lpb之前,來(lái)自時(shí)間參考圖片的另外bv預(yù)測(cè)符被添加到以上列表。圖20a和20b是兩個(gè)流程圖,示出了針對(duì)給定塊cblock使用時(shí)間bv預(yù)測(cè)符導(dǎo)出,其中cblock是要被檢查的塊以及rbv是返回的塊向量。(0,0)的bv是無(wú)效的。圖20a的實(shí)施方式使用僅一個(gè)共位參考圖片,而圖20b使用至多四個(gè)參考圖片。圖20a的設(shè)計(jì)符合hevc中的tmvp導(dǎo)出的當(dāng)前要求,其也僅使用一個(gè)共位參考圖片。在片頭中使用兩個(gè)語(yǔ)法元素用信號(hào)發(fā)送tmvp的共位圖片,一個(gè)語(yǔ)法元素指示參考圖片列表以及第二個(gè)語(yǔ)法元素指示共位圖片的參考索引(步驟2002)。如果參考圖片中的cblock(collocated_pic_list,collocated_pic_idx)是bc內(nèi)的(步驟2004),則返回的塊向量rbv是被檢查的塊cblock的塊向量(步驟2006),否則不返回有效的塊向量(步驟2008)。對(duì)于tbvp,共位圖片可以與針對(duì)tmvp的相同。在這種情況中,不需要另外的信令來(lái)指示用于tbvp的共位圖片。用于tbvp的共位圖片也可以不同于用于tmvp的共位圖片。這允許更大的靈活性,因?yàn)榭梢酝ㄟ^(guò)考慮bv預(yù)測(cè)效率來(lái)選擇用于bv預(yù)測(cè)的共位圖片。在這種情況中,用于tbvp和tmvp的共位圖片將通過(guò)在片頭中添加特定用于tvbp的語(yǔ)法元素而被分別用信號(hào)發(fā)送。

圖20b的實(shí)施方式可以給出改進(jìn)的性能。在圖20b的設(shè)計(jì)中,每個(gè)列表中前兩個(gè)參考圖片(總共四個(gè))可以如下被檢查。在步驟2020中,在片頭中用信號(hào)發(fā)送的共位圖片被檢查(將其列表表示為colpiclist以及將其索引表示為colpicidx)。在步驟2022中,列表oppositelist(colpiclist)中的第一個(gè)參考圖片被檢查。在步驟2024中,如果共位圖片是列表colpiclist中的第一個(gè)參考圖片,則列表colpiclist中的第二個(gè)參考圖片被檢查;否則,列表colpiclist中的第一個(gè)參考圖片被檢查。在步驟2026中,列表oppositelist(colpiclist)中的第二個(gè)參考圖片被檢查。

圖21示出了針對(duì)bv預(yù)測(cè)生成時(shí)間bv預(yù)測(cè)符的示意性方法。將如下檢查參考圖片中的兩個(gè)塊位置。在步驟2102中檢查共位塊(參考圖片中對(duì)應(yīng)塊的右下)。通過(guò)對(duì)中心塊(參考圖片中對(duì)應(yīng)pu的中心塊)執(zhí)行步驟2104、2106且然后重復(fù)步驟2102來(lái)檢查可替換共位塊(參考圖片中對(duì)應(yīng)pu的中心塊)。僅唯一的bv將被添加到bv預(yù)測(cè)符列表中。在現(xiàn)有的amvp設(shè)計(jì)中,存儲(chǔ)在共位圖片的兩個(gè)列表(list_0和list_1)中的兩個(gè)運(yùn)動(dòng)向量集合將被檢查以導(dǎo)出mv預(yù)測(cè)符,且使用等式(1)可以縮放共位塊(或可替換的共位塊)的運(yùn)動(dòng)向量且然后被用作mv預(yù)測(cè)符。如果該現(xiàn)有amvp方法直接用于bv預(yù)測(cè),如在(li2014)(xu2014)中描述的,不能找到時(shí)間bv預(yù)測(cè)符的幾率很高,因?yàn)閎v總是單預(yù)測(cè)的且因此在共位圖片中僅一個(gè)列表(list_0)可以用于bv預(yù)測(cè)符導(dǎo)出。圖20b中更復(fù)雜的設(shè)計(jì)通過(guò)檢查用于tbvp導(dǎo)出的多個(gè)參考圖片而解決這一問(wèn)題;與使用用于tbvp的僅一個(gè)參考圖片相比,圖20b中的設(shè)計(jì)實(shí)現(xiàn)更好的譯碼效率。

在單層hevc和當(dāng)前scc擴(kuò)展設(shè)計(jì)中,譯碼運(yùn)動(dòng)字段可以具有非常細(xì)的粒度,因?yàn)獒槍?duì)每個(gè)4x4塊運(yùn)動(dòng)向量可以不同。為了節(jié)省存儲(chǔ),在tmvp中使用的所有參考圖片的運(yùn)動(dòng)字段被壓縮。在運(yùn)動(dòng)壓縮之后,保存粗粒度的運(yùn)動(dòng)信息:針對(duì)每個(gè)16x16塊,僅存儲(chǔ)運(yùn)動(dòng)信息的一個(gè)集合(包括預(yù)測(cè)模式,例如單預(yù)測(cè)或雙預(yù)測(cè),每個(gè)列表中的一個(gè)或兩個(gè)參考索引,針對(duì)每個(gè)參考的一個(gè)或兩個(gè)mv)。對(duì)于提出的tbvp,所有塊向量可以與運(yùn)動(dòng)向量一起被存儲(chǔ)作為運(yùn)動(dòng)字段的部分(除了bv一直是單預(yù)測(cè),僅使用一個(gè)列表,例如list_0)。這樣的安排允許用于tbvp的塊向量自然地與常規(guī)運(yùn)動(dòng)向量一起被壓縮。由于該安排應(yīng)用與針對(duì)運(yùn)動(dòng)向量壓縮相同的壓縮方法,可以以在mv壓縮期間以透明的方式執(zhí)行bv壓縮。有用于bv壓縮的其他方法。例如,在運(yùn)動(dòng)壓縮期間,可以區(qū)別16x16塊內(nèi)的bv或mv。且可以如下確定針對(duì)16x16塊存儲(chǔ)bv或是mv。首先,確定在當(dāng)前16x16塊中bv還是mv是主要的。如果bv的數(shù)量大于mv的數(shù)量,則bv是主要的。否則mv是主要的。如果bv是主要的,則其可以使用該16x16塊內(nèi)的所有bv的中間(medium)或平均作為用于該整個(gè)16x16塊的壓縮bv。否則,mv是主要的,應(yīng)用現(xiàn)有的運(yùn)動(dòng)壓縮方法。

如下從空間預(yù)測(cè)符、時(shí)間預(yù)測(cè)符、最后預(yù)測(cè)符以及默認(rèn)預(yù)測(cè)符的列表中選擇在tbvp系統(tǒng)的示意性實(shí)施方式中的bv預(yù)測(cè)符的列表。首先,如下形成包含7個(gè)bv候選預(yù)測(cè)符的有序列表。該列表包括2個(gè)空間預(yù)測(cè)符、1個(gè)時(shí)間預(yù)測(cè)符、2個(gè)最后預(yù)測(cè)符以及2個(gè)默認(rèn)預(yù)測(cè)符。(1)空間預(yù)測(cè)符spa。這是來(lái)自左下鄰近pua1的第一個(gè)空間預(yù)測(cè)符,如圖19中所示。(2)空間預(yù)測(cè)符spb。這是來(lái)自右上鄰近pub1的第二個(gè)空間預(yù)測(cè)符,如圖19中所示。(3)時(shí)間預(yù)測(cè)符tsa。這是從tbvp導(dǎo)出的時(shí)間預(yù)測(cè)符。(4)最后預(yù)測(cè)符lpa。這是來(lái)自當(dāng)前ctu中最后bc內(nèi)譯碼的pu的預(yù)測(cè)符。(5)最后預(yù)測(cè)符lpb。這是來(lái)自當(dāng)前ctu中較早bc內(nèi)譯碼的pu的第二個(gè)最后預(yù)測(cè)符。當(dāng)可用且有效時(shí),lpb不同于lpa(這通過(guò)檢查新譯碼的bv不同于現(xiàn)有的2個(gè)最后預(yù)測(cè)符來(lái)保證,且如果是這樣僅將其添加為最后預(yù)測(cè)符)。(6)默認(rèn)預(yù)測(cè)符dpa。這個(gè)預(yù)測(cè)符被設(shè)置為(-2*widthpu,0),其中widthpu是當(dāng)前pu的寬度。(7)默認(rèn)預(yù)測(cè)符dpb。這個(gè)預(yù)測(cè)符被設(shè)置為(-widthpu,0),其中widthpu是當(dāng)前pu的寬度。從第一個(gè)候選預(yù)測(cè)符到最后一個(gè)候選預(yù)測(cè)符掃描7個(gè)候選預(yù)測(cè)符的有序列表。有效且唯一的bv預(yù)測(cè)符被添加到至多2個(gè)bv預(yù)測(cè)符的最終列表。

使用tbvp的塊內(nèi)復(fù)制合并模式

在pu級(jí)通過(guò)intra_bc_flag來(lái)區(qū)別bc內(nèi)和間模式的實(shí)施方式中,可能分開優(yōu)化間合并和bc內(nèi)合并。針對(duì)間合并過(guò)程,使用bc內(nèi)、內(nèi)或調(diào)色板模式譯碼的所有空間鄰近塊和時(shí)間共位塊會(huì)被排除;僅使用利用時(shí)間運(yùn)動(dòng)向量的間模式譯碼的這些塊會(huì)被認(rèn)為是候選。這增加了用于間合并的有用候選的數(shù)量。在(li2014)(xu2014)提出的方法中,如果使用bc內(nèi)譯碼時(shí)間共位塊,則其塊向量通常被排除,因?yàn)樵搲K向量被分類為長(zhǎng)期運(yùn)動(dòng),而colpiclist中的第一個(gè)參考圖片通常是常規(guī)短期參考圖片。雖然該方法通常防止包括來(lái)自時(shí)間共位塊的塊向量,但是該方法在第一個(gè)參考圖片也恰好是長(zhǎng)期參考圖片時(shí)會(huì)失效。因此,在本公開中,提出至少三種替換方案來(lái)解決這個(gè)問(wèn)題。

第一種替換方案是檢查intra_bc_flag的值而不是檢查長(zhǎng)期屬性。但是,該第一種替換方案需要所有參考圖片的intra_bc_flag的值被存儲(chǔ)(除了已經(jīng)存儲(chǔ)的運(yùn)動(dòng)信息之外)。降低附加存儲(chǔ)要求的一種方式是以與在hevc中使用的運(yùn)動(dòng)壓縮相同的方式來(lái)壓縮intra_bc_flag的值。即,不是存儲(chǔ)所有pu的intra_bc_flag,而是可以針對(duì)較大塊單元(例如16x16塊)存儲(chǔ)intra_bc_flag。

在第二種替換方案中,檢查參考索引。bc內(nèi)pu的參考索引等于list_0的尺寸(因?yàn)槠涫俏挥趌ist_0末尾的偽參考圖片),而list_0中的間pu的參考索引小于list_0的尺寸。

在第三種替換方案中,bv參考的參考圖片的poc值被檢查。針對(duì)bv,參考圖片的poc等于共位圖片(即bv所屬的圖片)的poc。如果bv字段以與mv字段相同的方式被壓縮,即,如果針對(duì)16x16塊單元存儲(chǔ)所有參考圖片的bv,則第二和第三替換方案不會(huì)招致附加的存儲(chǔ)要求。使用這三種提出的替換方案的任意,可能確保從間合并候選列表中排除bv。

針對(duì)bc內(nèi)合并,僅這些bc內(nèi)塊會(huì)被認(rèn)為是用于bc內(nèi)合并模式的候選。針對(duì)時(shí)間共位塊,在一個(gè)列表(例如list_0)中僅運(yùn)動(dòng)向量將被檢查其是長(zhǎng)期還是短期,這是因?yàn)閎v使用單預(yù)測(cè)。圖24a-24b提供示出根據(jù)一些實(shí)施方式的提出的bc內(nèi)合并過(guò)程的流程圖。步驟2410和2412操作用于考慮時(shí)間共位塊。在該實(shí)施方式中,有三種bc內(nèi)合并候選且它們按順序被生成:(1)來(lái)自空間鄰近塊的bv(步驟2402-2408);(2)來(lái)自時(shí)間參考圖片的bv,如在標(biāo)題為“時(shí)間塊向量預(yù)測(cè)(tbvp)”的節(jié)中描述的(步驟2410-2412);(3)使用這些空間和時(shí)間bv候選,根據(jù)塊向量導(dǎo)出過(guò)程導(dǎo)出的bv(步驟2414-2420)。圖23a-b示出了在生成bc內(nèi)合并候選中使用的空間塊(c0-c4)以及如果tbvp僅使用一個(gè)參考圖片則一個(gè)時(shí)間塊(c5)(圖23a),或如果tbvp使用四個(gè)參考圖片則四個(gè)時(shí)間塊(c5-c8)(圖23b)。不同于在運(yùn)動(dòng)補(bǔ)償中使用的參考圖片,用于塊內(nèi)復(fù)制預(yù)測(cè)的參考圖片是空間重構(gòu)圖片,如圖18中所示。因此,在示意性實(shí)施方式中,當(dāng)決定bv合并候選是否有效時(shí)加入新條件;具體地,如果bv候選將使用當(dāng)前片之外的任意參考像素或還未被解碼的任意參考像素,則該bv候選被認(rèn)為針對(duì)當(dāng)前pu是無(wú)效的。總之,bc內(nèi)合并候選列表如下生成(如在圖24a-b中所示)

在步驟2402-2404中,檢查鄰近塊。具體地,檢查左鄰近塊c0。如果c0是bc內(nèi)模式且其bv針對(duì)當(dāng)前pu有效,則將其添加到列表。檢查上鄰近塊c1。如果c1是bc內(nèi)模式且其bv針對(duì)當(dāng)前pu有效且與列表中的已有候選相比是唯一的,則將其添加到列表。檢查右上鄰近塊c2。如果c2是bc內(nèi)模式且其bv有效且唯一,則將其添加到列表。檢查左下鄰近塊c3。如果c3是bc內(nèi)模式且其bv有效且唯一,則將其添加到列表。

在步驟2406如果確定在列表中有至少兩個(gè)空項(xiàng),則在步驟2408中檢查左上鄰近塊c4。如果c4是bc內(nèi)模式且其bv有效且唯一,則將其添加到列表。在步驟2410如果確定該列表未滿且當(dāng)前片是間片,則在步驟2412使用上述tbvp方法檢查bv預(yù)測(cè)符。該過(guò)程的示例在圖25中示出。在步驟2414如果確定該列表未滿,則在步驟2416-2420中使用來(lái)自之前步驟的空間和時(shí)間bv候選采用塊向量導(dǎo)出方法來(lái)填充該列表。

圖25中示出了步驟2416的流程圖。在步驟2502-2504中,檢查共位參考圖片中的共位塊(如果使用圖23a中的簡(jiǎn)單設(shè)計(jì)),或按順序檢查4個(gè)參考圖片(每個(gè)列表中2個(gè))中的共位塊(如果使用圖23b中的更復(fù)雜的設(shè)計(jì))。當(dāng)該過(guò)程得到一個(gè)有效bv候選且該候選不同于該列表中的所有已有的合并候選(步驟2504)時(shí),則該候選被添加到列表(步驟2510)且該過(guò)程停止。否則,該過(guò)程繼續(xù)以使用與步驟2506、2508和2504的相同方式檢查可替換共位塊(時(shí)間參考圖片中對(duì)應(yīng)pu的中心塊位置)。

bc內(nèi)跳過(guò)模式

可以在跳過(guò)模式中譯碼作為間模式的bc內(nèi)cu。針對(duì)使用bc內(nèi)跳過(guò)模式進(jìn)行譯碼的cu,cu的分區(qū)尺寸是2nx2n且所有量化系數(shù)是零。因此,在bc內(nèi)跳過(guò)的cu級(jí)指示之后,針對(duì)cu不需要譯碼其他信息(例如分區(qū)尺寸以及變換單元的根中的這些譯碼塊標(biāo)志)。這在信令方面可以是非常有效率的。仿真顯示提出的bc內(nèi)跳過(guò)模式改善片內(nèi)譯碼效率。但是針對(duì)間片(p_slice或b_slice),另外的intra_bc_skip_flag被添加以區(qū)分已有的間跳過(guò)模式。該另外的標(biāo)志帶來(lái)對(duì)已有間跳過(guò)模式的開銷。由于在間片中,已有的間跳過(guò)模式是用于許多cu的頻繁使用的模式,尤其是在量化參數(shù)大導(dǎo)致間跳過(guò)模式信令的開銷增加是不期望的時(shí),因?yàn)槠淇赡懿焕赜绊戦g跳過(guò)模式的效率。因此,在一些實(shí)施方式中,僅在內(nèi)片中啟用bc內(nèi)跳過(guò)模式,且在間片中禁止bc內(nèi)跳過(guò)模式。

譯碼語(yǔ)法和語(yǔ)義

本公開中提出的bc內(nèi)信令方案的示意性語(yǔ)法改變可以參照r.joshi,j.xu,“hevcscreencontentcodingdrafttext1”,jctvc-r1005,2014年7月,sapporo,jp的對(duì)scc草案規(guī)范提出的改變來(lái)示出。在本公開中提出的bc內(nèi)信令方案的語(yǔ)法改變?cè)诟戒沘中列出。在本公開的實(shí)施方式中使用的改變使用雙刪除線用于省略以及下劃線用于添加來(lái)示出。注意與(li2014)和(xu2014)中的方法相比,在pu級(jí)在語(yǔ)法元素merge_flag之前放置語(yǔ)法元素intra_bc_flag。這允許如之前所述的bc內(nèi)合并過(guò)程與間合并過(guò)程的分隔。

在示意性實(shí)施方式中,intra_bc_flag[x0][y0]等于1規(guī)定在塊內(nèi)編碼模式中譯碼當(dāng)前預(yù)測(cè)單元。intra_bc_flag[x0][y0]等于0規(guī)定以間模式譯碼當(dāng)前預(yù)測(cè)單元。當(dāng)不存在時(shí),如下推斷intra_bc_flag的值。如果當(dāng)前片是內(nèi)片,且當(dāng)前譯碼單元以跳過(guò)模式被編碼,則intra_bc_flag的值被推斷等于1。否則,intra_bc_flag[x0][y0]被推斷等于0。陣列索引x0和y0規(guī)定相對(duì)于該圖片的左上亮度采樣的被考慮的譯碼塊的左上的亮度采樣的位置(x0,y0)。

用于統(tǒng)一的bc內(nèi)和間框架的合并過(guò)程

為了解決如之前所述使用已有的hevc間合并過(guò)程的問(wèn)題,在一些實(shí)施方式中使用對(duì)已有合并過(guò)程的以下改變。

首先,如果空間鄰居包含塊向量,則塊向量驗(yàn)證有效步驟在其被添加到空間合并候選列表之前被應(yīng)用。塊向量驗(yàn)證有效步驟將檢查塊向量是否被應(yīng)用以預(yù)測(cè)當(dāng)前pu,其由于編碼順序是否需要偽參考圖片中的還沒有被重構(gòu)(因此還不可用)的任意參考采樣。此外,塊向量驗(yàn)證有效步驟還會(huì)檢查塊向量是否需要當(dāng)前片邊界之外的任意參考像素。如果針對(duì)這兩種情況中的任意一種答案是肯定的,則將確定塊向量是無(wú)效的且不會(huì)被添加到合并候選列表。

第二個(gè)問(wèn)題關(guān)于在當(dāng)前設(shè)計(jì)中tbvp過(guò)程“失靈”,其中如果共位圖片中的共位塊包含塊向量,則該塊向量典型地不會(huì)被認(rèn)為是有效的時(shí)間合并候選,這是由于之前討論的“長(zhǎng)期”與“短期”不匹配。為了解決這個(gè)問(wèn)題,在本公開的實(shí)施方式中,另外的步驟被添加到(合并步驟1)至(合并步驟8)中描述的間合并過(guò)程。具體地,該另外的步驟使用偽參考圖片的l0或l1中的參考索引而不是使用具有固定值0的固定參考索引(各自參考圖片列表上的第一項(xiàng))來(lái)調(diào)用tmvp過(guò)程。由于該另外的步驟向tmvp過(guò)程給予長(zhǎng)期參考圖片(也就是說(shuō),偽參考圖片),如果共位pu包含被認(rèn)為是長(zhǎng)期mv的塊向量,則該不匹配不會(huì)發(fā)生,且現(xiàn)在來(lái)自共位pu的塊向量被認(rèn)為是有效的時(shí)間合并候選。該另外的步驟可以在(合并步驟6)之前或之后立即放置,或其可以置于合并步驟的任意其他位置。該另外的步驟置于合并步驟中的位置可以取決于當(dāng)前被譯碼的圖片的片類型。在本公開的另一實(shí)施方式中,使用偽參考圖片的參考索引調(diào)用tmvp過(guò)程的該新步驟可以代替使用固定值0的參考索引的已有tmvp步驟,也就是說(shuō),其可以替代當(dāng)前的(合并步驟6)。

導(dǎo)出的塊向量

目前公開的系統(tǒng)和方法的實(shí)施方式使用塊向量導(dǎo)出來(lái)改善塊內(nèi)復(fù)制譯碼效率。塊向量導(dǎo)出在以下申請(qǐng)中被更詳細(xì)描述:2014年6月19日申請(qǐng)的美國(guó)臨時(shí)專利申請(qǐng)序列號(hào)62/014,664和2015年6月18日申請(qǐng)的美國(guó)專利申請(qǐng)序列號(hào)14/743,657。這些申請(qǐng)整體內(nèi)容通過(guò)引用的方式結(jié)合于此。

在本公開描述和討論的變化間是(i)在塊內(nèi)復(fù)制合并模式中的塊向量導(dǎo)出和(ii)在具有兩個(gè)塊向量的塊內(nèi)復(fù)制模式中的塊向量導(dǎo)出。

依據(jù)參考?jí)K的譯碼類型,可以以不同方式使用導(dǎo)出的塊向量或運(yùn)動(dòng)向量。一種方式是將導(dǎo)出的bv用作bc內(nèi)合并模式中的合并候選。另一種方式是針對(duì)普通bc內(nèi)預(yù)測(cè)使用導(dǎo)出的bv/mv。

圖27是示出塊向量導(dǎo)出的示例的圖。給定塊向量,如果由給定bv指向的參考?jí)K是bc內(nèi)譯碼的塊,可以導(dǎo)出第二塊向量。該導(dǎo)出的塊向量在等式(5)中被計(jì)算。圖27的2700一般地示出這種塊向量導(dǎo)出。

bvd=bv0+bv1(5)

圖28是示出示例運(yùn)動(dòng)向量導(dǎo)出的圖。如果由給定bv指向的塊是間譯碼的塊,則可以導(dǎo)出mv。圖28的2800一般地示出了mv導(dǎo)出情況。如果圖28中的塊b1是單預(yù)測(cè)模式,則塊b0以整數(shù)像素導(dǎo)出的運(yùn)動(dòng)mvd是,

mvd=bv0+((mvi+2)>>2)(6)

且參考圖片與b1的相同。在hevc中,普通運(yùn)動(dòng)向量是四分之一像素精度,且塊向量是整數(shù)精度。這里通過(guò)示例的方式使用針對(duì)導(dǎo)出的運(yùn)動(dòng)向量的整數(shù)像素運(yùn)動(dòng)。如果塊b1是雙預(yù)測(cè)模式,則有至少兩種方式來(lái)執(zhí)行運(yùn)動(dòng)向量導(dǎo)出。一種是以與上述針對(duì)單預(yù)測(cè)模式相同的方式導(dǎo)出兩個(gè)運(yùn)動(dòng)向量和參考索引。另一種是從具有較小量化參數(shù)(高質(zhì)量)的參考圖片中選擇運(yùn)動(dòng)向量。如果兩個(gè)參考圖片具有相同的量化參數(shù),則可以按照?qǐng)D片計(jì)數(shù)順序(poc)距離從更近的參考圖片選擇運(yùn)動(dòng)向量。

在合并候選列表中結(jié)合導(dǎo)出的塊向量

為了在間合并過(guò)程中將導(dǎo)出的塊向量包括到合并候選列表中,可以使用至少兩種方法。在第一種方法中,另外的步驟被加到間合并過(guò)程(合并步驟1)至(合并步驟8)。在導(dǎo)出空間候選和時(shí)間候選之后,也就是說(shuō),在(合并步驟6)之后,針對(duì)合并候選列表中的每一個(gè)候選,決定候選向量是塊向量還是運(yùn)動(dòng)向量。該決定可以通過(guò)檢查該候選向量參考的參考圖片是否是偽參考圖片來(lái)做出。如果候選向量是塊向量,則可以調(diào)用塊向量導(dǎo)出過(guò)程來(lái)得到導(dǎo)出的塊向量。然后,如果唯一且有效,導(dǎo)出的塊向量可以作為另一合并候選被添加到該合并候選列表。

在第二個(gè)實(shí)施方式中,可以通過(guò)使用已有的tmvp過(guò)程添加導(dǎo)出的塊向量。在已有的tmvp過(guò)程中,如圖15中示出的共位圖片中的共位pu在空間上位于正被譯碼的當(dāng)前圖片中的當(dāng)前pu的相同位置,且由片頭語(yǔ)法元素標(biāo)識(shí)該共位圖片。為了得到導(dǎo)出的塊向量,共位圖片可以被設(shè)置為偽參考圖片(目前這在(pang2014年10月)的設(shè)計(jì)中是禁止的),共位pu可以被設(shè)置為由已有候選向量指向的pu,且參考索引可以被設(shè)置為偽參考圖片的參考索引。將已有候選向量表示為(bvcx,bvcy)(這可以是空間候選或時(shí)間候選之一),并將當(dāng)前pu的塊位置表示為(pux,puy),則共位pu被設(shè)置在(pux+bvcx,puy+bvcy)。然后,通過(guò)使用這些設(shè)置調(diào)用tmvp過(guò)程,該tmvp過(guò)程將返回共位pu的塊向量(如果有)。將該返回的塊向量表示為(bvcolpux,bvcolpuy)。導(dǎo)出的塊向量被計(jì)算為(bvdx,bvdy)=(bvcx+bvcolpux,bvcy+bvcolpuy)。該導(dǎo)出的塊向量如果是唯一且有效的則可以作為新合并候選被添加到該列表。可以使用已有候選向量的每一個(gè)來(lái)計(jì)算導(dǎo)出的塊向量,且只要合并候選列表未滿,則可以將所有唯一且有效的導(dǎo)出的塊向量添加到合并候選列表。

另外的合并候選

為了進(jìn)一步改善譯碼效率,如果合并候選列表未滿,則可以添加更多的塊向量合并候選。在x.xu,t.-d.chuang,s.liu,s.lei,“non-ce2:intrabcmergemodewithdefaultcandidates”,jctvc-s0123,2014年10月,中基于cu塊尺寸計(jì)算的默認(rèn)塊向量被添加到合并候選列表。在本公開中,類似的默認(rèn)塊向量被添加。這些默認(rèn)的塊向量可以基于pu塊尺寸而不是cu塊尺寸來(lái)計(jì)算。此外,這些默認(rèn)的塊向量可以根據(jù)不僅pu塊尺寸還可以根據(jù)cu中的pu位置來(lái)計(jì)算。例如,將當(dāng)前pu相對(duì)于當(dāng)前譯碼單元的左上位置的塊位置表示為(pux,puy)。將當(dāng)前pu的寬度和高度表示為(puw,puh)。按順序的默認(rèn)的塊向量可以被計(jì)算如下:(-pux-puw,0),(-pux-2*puw,0),(-puy-puh,0),(-puy-2*puh,0),(-pux-puw,-puy-puh)。這些默認(rèn)的塊向量可以在(合并步驟8)中的零運(yùn)動(dòng)向量之前或之后立即被添加,或它們可以與零運(yùn)動(dòng)向量交錯(cuò)在一起。此外,這些默認(rèn)的塊向量可以置于合并候選列表中的不同位置,這取決于當(dāng)前圖片的片類型。

在一個(gè)實(shí)施方式中,標(biāo)記為(新合并步驟)的以下步驟可以用于導(dǎo)出更完整和有效率的合并候選列表。注意雖然下面僅提到了“間pu”,但是“間pu”包括在(li2014),(pang2014年10月)中的統(tǒng)一的框架下的“bc內(nèi)pu”。

(新合并步驟1)檢查左鄰近pua1。如果a1是間pu且如果其mv/bv有效,則將其mv/bv添加到候選列表。

(新合并步驟2)檢查上鄰近pub1。如果b1是間pu且其mv/bv是唯一且有效的,則將其mv/bv添加到候選列表。

(新合并步驟3)檢查右上鄰近pub0。如果b0是間pu且其mv/bv是唯一且有效的,則將其mv/bv添加到候選列表。

(新合并步驟4)檢查左下鄰近pua0。如果a0是間pu且其mv/bv是唯一且有效的,則將其mv/bv添加到候選列表。

(新合并步驟5)如果候選的數(shù)量小于4,則檢查左上鄰近pub2。如果b2是間pu且其mv/bv是唯一且有效的,則將其mv/bv添加到候選列表。

(新合并步驟6)調(diào)用tmvp過(guò)程,其中參考索引被設(shè)置為0,共位圖片如在片頭中指定的,以及共位pu如在圖15中示出的,以得到時(shí)間mv預(yù)測(cè)符。如果時(shí)間mv預(yù)測(cè)符是唯一的,則將其添加到候選列表。

(新合并步驟7)調(diào)用tmvp過(guò)程,其中參考索引被設(shè)置為偽參考圖片的參考索引,共位圖片如片頭中指定的,以及共位pu如圖15中所示,以得到時(shí)間bv預(yù)測(cè)符。如果時(shí)間bv預(yù)測(cè)符是唯一且有效的,如果候選列表未滿,則將其添加到候選列表。

(新合并步驟8)如果合并候選列表未滿,則針對(duì)從(新合并步驟1)至(新合并步驟7)得到的候選向量中是塊向量的每一個(gè)候選向量,使用上述兩種方法的任一種來(lái)應(yīng)用塊向量導(dǎo)出過(guò)程。如果導(dǎo)出的塊向量有效且唯一,則將其添加到候選列表。

(新合并步驟9)如果合并候選列表未滿,且如果當(dāng)前片是b片,則在步驟(新合并步驟1)至(合并步驟8)期間被添加到當(dāng)前合并列表的各種合并候選的組合被檢查并被添加到合并候選列表。

(新合并步驟10)如果合并候選列表未滿,則具有不同參考圖片組合的默認(rèn)的塊向量和零運(yùn)動(dòng)向量將以交錯(cuò)的方式被附加到候選列表,直到該列表滿。

在一些實(shí)施方式中,針對(duì)b片的步驟“新合并步驟10”可以以下面的方式被執(zhí)行。首先,檢查之前定義的5個(gè)默認(rèn)塊向量的驗(yàn)證有效。如果bv對(duì)這些未重構(gòu)的采樣或片邊界外的采樣或當(dāng)前cu中的采樣進(jìn)行任何參考,則其被視為無(wú)效bv。如果bv有效,其會(huì)被添加到列表validdbvlist中,validdbvlist的尺寸被表示為validdbvlistsize。其次,針對(duì)這些共享索引有序添加合并候選與雙預(yù)測(cè)模式的以下mv對(duì),直到合并候選列表滿。

{(0,i,mv0_x,mv0_y),(1,i,mv1_x,mv1_y)},

i∈[0,min(num_ref_idx_l0,num_ref_idx_l1))

如果list_0中第i個(gè)參考圖片是當(dāng)前圖片,則mv0_x和mv0_y被設(shè)置為默認(rèn)bv之一:

mv0_x=validdbvlist[dbvidx][0]

mv0_y=validdbvlist[dbvidx][1]

dbvidx=(dbvidx+1)%validdbvlistsizc

且在“新合并步驟10”的開始dbvidx被設(shè)置為0。否則,mv0_x和mv0_v都被設(shè)置為0。如果list_1中的第i個(gè)參考圖片是當(dāng)前圖片,則mv1_x和mv1_y被設(shè)置為默認(rèn)bv之一:

mv1_x=validdbvlist[dbvidx][0]

mv1_y=validdbvlist[dbvidx][1]

dbvidx=(dbvidx+i)%validdbvlistsizc

否則,mv1_x和mv1_y都被設(shè)置為0。

如果合并候選列表仍然未滿,則確定在該列表中的剩余參考圖片中是否有更大尺寸的當(dāng)前圖片。如果找到該當(dāng)前圖片,則按需以單預(yù)測(cè)模式將以下默認(rèn)bv添加為合并候選直到合并候選列表滿:

bv_x=validdbvlist[dbvidx][0]

bv_y=validdbvlist[dbvidx][1]

dbvidx=(dbvidx+l)%validdbvlistsize

如果未找到當(dāng)前圖片,則重復(fù)附加以下mv直到合并候選列表滿。

{(0,0,mv0_x,mv0_y),(1,0,mv1_x,mv1_y)}

其中mv0_x,mv0_y,mv1_x和mv1_y用上述方式被導(dǎo)出。

本文描述的一些實(shí)施方式可以使用對(duì)(joshi2014)的草案規(guī)范中的8.5.3.2.5節(jié)(“derivationprocessforzeromotionvetormergingcandidates”)的修正來(lái)實(shí)施。提出的對(duì)該草案規(guī)范的修正在本公開的附錄b中被提出,特定的修正用黑體字指出且刪除用雙刪除線指出。

在統(tǒng)一的ibc和間框架的當(dāng)前設(shè)計(jì)中,當(dāng)前圖片被視為普通長(zhǎng)期參考圖片。對(duì)當(dāng)前圖片可以置于list_0或list_1中的哪個(gè)位置或?qū)υ陔p預(yù)測(cè)中是否可以使用當(dāng)前圖片(包括bv和mv的雙預(yù)測(cè)和bv和bv的雙預(yù)測(cè))沒有另外的限制。這種靈活性不是期望的,因?yàn)樯鲜龅暮喜⑦^(guò)程必須搜索參考圖片列表和代表當(dāng)前圖片的參考索引,這使得合并過(guò)程復(fù)雜。此外,如在當(dāng)前設(shè)計(jì)中,如果當(dāng)前圖片被允許出現(xiàn)在list_0和list_1中,則會(huì)允許使用bv和bv組合的雙預(yù)測(cè)。這可以增加運(yùn)動(dòng)補(bǔ)償過(guò)程的復(fù)雜性,但是性能收益有限。因此,期望的是對(duì)當(dāng)前圖片在參考圖片列表中的放置施加某些約束。在各種實(shí)施方式中,可以施加以下約束的一個(gè)或多個(gè)及其組合。在第一個(gè)約束中,當(dāng)前圖片被允許僅被置于一個(gè)參考圖片列表(例如list_0)中,而不是兩個(gè)參考圖片列表中。該約束禁止了bv和bv的雙預(yù)測(cè)。在第二個(gè)約束中,當(dāng)前圖片僅被允許置于該參考圖片列表的末尾。這樣上述的合并過(guò)程可以被簡(jiǎn)化,因?yàn)楫?dāng)前圖片的位置是已知的。

用于參考圖片列表構(gòu)建的解碼過(guò)程

在當(dāng)前設(shè)計(jì)中,在針對(duì)p或b片的解碼過(guò)程的開始調(diào)用構(gòu)建參考圖片列表的過(guò)程。參考圖片通過(guò)如在分節(jié)8.5.3.3.2中規(guī)定的參考索引被尋址。參考索引是針對(duì)參考圖片列表的索引。當(dāng)解碼p片時(shí),有單個(gè)參考圖片列表refpiclist0。當(dāng)解碼b片時(shí),除了refpiclist0之外還有第二個(gè)獨(dú)立的參考圖片列表refpiclist1。

在解碼過(guò)程的開始,如下導(dǎo)出針對(duì)每種片的參考圖片列表refpiclist0,以及針對(duì)b片的refpiclist1。變量numrpscurrtemplist0被設(shè)置等于max(num_ref_idx_l0_active_minus1+1,numpictotalcurr)和列表refpiclisttemp0被構(gòu)建,如表1中所示。

表1

如表2中所示構(gòu)建了列表refpiclist0。

表2

當(dāng)該片是b片時(shí),變量numrpscurrtemplist1被設(shè)置等于max(num_ref_idx_l1_active_minus1+1,numpictotalcurr)且如表3中所示構(gòu)建列表refpiclisttemp1。

表3

當(dāng)片是b片時(shí),如表4中所示構(gòu)建列表refpiclist1。

表4

如在右手列用劍標(biāo)標(biāo)記的當(dāng)前設(shè)計(jì)的線指示的,當(dāng)前圖片被置于一個(gè)或多個(gè)臨時(shí)參考圖片列表中,其在構(gòu)建最終列表之前可以經(jīng)歷參考圖片列表修改過(guò)程(取決于ref_pic_list_modification_10/11的值)。為了使得當(dāng)前圖片總是置于參考圖片列表的末尾,修改當(dāng)前設(shè)計(jì)由此當(dāng)前圖片直接附加到最終(多個(gè))參考圖片列表的末尾且不被插入到(多個(gè))臨時(shí)參考圖片列表。

此外,在當(dāng)前設(shè)計(jì)中,在序列參數(shù)集級(jí)用信號(hào)發(fā)送標(biāo)志curr_pic_as_ref_enabled_flag。這意味著如果該標(biāo)志被設(shè)置為1,則當(dāng)前圖片將被插入到視頻序列中所有圖片的(多個(gè))臨時(shí)參考圖片列表中。這可能沒有針對(duì)個(gè)別圖片選擇是否將當(dāng)前圖片用作參考圖片提供足夠的靈活性。因此,在本公開的一個(gè)實(shí)施方式中,添加片級(jí)信令(例如片級(jí)標(biāo)志)來(lái)指示當(dāng)前圖片是否用于譯碼當(dāng)前片。然后,該片級(jí)標(biāo)志代替sps級(jí)標(biāo)志(curr_pic_as_ref_enabled_flag)用于調(diào)節(jié)用劍標(biāo)標(biāo)記的線。當(dāng)在多個(gè)片中譯碼圖片時(shí),使得提出的片級(jí)標(biāo)志的值針對(duì)對(duì)應(yīng)于相同圖片的所有片是相同的。

用于統(tǒng)一bc內(nèi)和間框架的復(fù)雜性限制

如之前所述,在統(tǒng)一的bc內(nèi)和間框架中,允許使用基于塊向量的至少一個(gè)預(yù)測(cè)來(lái)應(yīng)用雙預(yù)測(cè)模式。也就是說(shuō),除了僅基于運(yùn)動(dòng)向量的常規(guī)雙預(yù)測(cè)之外,該統(tǒng)一的框架還允許使用基于塊向量的一個(gè)預(yù)測(cè)和基于運(yùn)動(dòng)向量的另一個(gè)預(yù)測(cè)的雙預(yù)測(cè),以及使用兩個(gè)塊向量的雙預(yù)測(cè)。該擴(kuò)展的雙預(yù)測(cè)模式可能增加編碼器復(fù)雜性和解碼器復(fù)雜性。還可能限制譯碼效率改善。因此,有利的是將雙預(yù)測(cè)限制到使用兩個(gè)運(yùn)動(dòng)向量的常規(guī)雙預(yù)測(cè)但是禁止使用(一個(gè)或兩個(gè))塊向量的雙預(yù)測(cè)。在施加這種限制的第一種方法中,可以在pu級(jí)改變mv信令。例如,當(dāng)針對(duì)pu用信號(hào)發(fā)送的預(yù)測(cè)方向指示雙預(yù)測(cè)時(shí),從參考圖片列表中排除偽參考圖片并相應(yīng)地修改要被譯碼的參考索引。在施加這種雙預(yù)測(cè)限制的第二種方法中,施加比特流一致性要求以限制任何雙預(yù)測(cè)模式由此參考偽參考幀的塊向量在雙預(yù)測(cè)中不能被使用。針對(duì)上述的合并過(guò)程,使用提出的受限制的雙預(yù)測(cè),(新合并步驟9)不會(huì)考慮塊向量候選的任何組合。

可以實(shí)施以進(jìn)一步統(tǒng)一偽參考圖片和其他時(shí)間參考圖片的另外的特征是填充過(guò)程。針對(duì)常規(guī)時(shí)間參考圖片,當(dāng)運(yùn)動(dòng)向量使用圖片邊界外的采樣時(shí),圖片被填充。但是,在(li2014),(pang2014年10月)的設(shè)計(jì)中,塊向量被限制到偽參考圖片的邊界之內(nèi),且該圖片從未被填充。以與其他時(shí)間參考圖片相同的方式填充偽參考圖片可以提供進(jìn)一步的統(tǒng)一性。

用于使用bv和mv的雙預(yù)測(cè)模式的雙預(yù)測(cè)搜索

在一些實(shí)施方式中,允許塊向量和運(yùn)動(dòng)向量組合以形成雙預(yù)測(cè)模式以用于統(tǒng)一的bc內(nèi)和間框架中的預(yù)測(cè)單元。該特征允許在該統(tǒng)一的框架中進(jìn)一步改善譯碼效率。在以下論述中,該雙預(yù)測(cè)模式被稱為bv-mv雙預(yù)測(cè)。有不同的方式來(lái)在編碼過(guò)程期間利用這種特定的bv-mv雙預(yù)測(cè)模式。

一種方法是從間合并候選導(dǎo)出過(guò)程檢查這些bv-mv雙預(yù)測(cè)候選。如果空間或時(shí)間鄰近預(yù)測(cè)單元是bv-mv雙預(yù)測(cè)模式,則其被用作當(dāng)前預(yù)測(cè)單元的一個(gè)合并候選。如上參考“合并步驟7”所述,如果合并候選列表未滿,且當(dāng)前片是b片(允許雙預(yù)測(cè)),來(lái)自一個(gè)已有合并候選的參考圖片列表list_0的運(yùn)動(dòng)向量和來(lái)自另一已有合并候選的參考圖片列表list_1的運(yùn)動(dòng)向量被組合以形成新的雙預(yù)測(cè)合并候選。在該統(tǒng)一的框架中,該新生成的雙預(yù)測(cè)合并候選可以是bv-mv雙預(yù)測(cè)。如果針對(duì)一個(gè)預(yù)測(cè)單元該bv-mv雙預(yù)測(cè)候選被選為最佳合候選且該合并模式被選為最佳譯碼模式,則僅與該bv-mv雙預(yù)測(cè)候選相關(guān)聯(lián)的合并標(biāo)志和合并索引將用信號(hào)被發(fā)送。bv和mv不會(huì)顯式地用信號(hào)發(fā)送,且解碼器將通過(guò)合并候選導(dǎo)出過(guò)程推斷它們,該過(guò)程與在編碼器執(zhí)行的過(guò)程類似(parallel)。

在另一個(gè)實(shí)施方式中,在編碼器處針對(duì)一個(gè)預(yù)測(cè)單元為bv-mv雙預(yù)測(cè)模式應(yīng)用雙預(yù)測(cè)搜索,且如果該模式被選為針對(duì)該pu的最佳譯碼模式則分別用信號(hào)發(fā)送bv和mv。

在scc參考軟件中的運(yùn)動(dòng)估計(jì)過(guò)程中使用兩個(gè)mv的常規(guī)雙預(yù)測(cè)搜索是一個(gè)迭代過(guò)程。首先,在list_0和list_1中執(zhí)行單預(yù)測(cè)搜索。然后,基于在list_0和list_1中的這兩個(gè)單預(yù)測(cè)mv執(zhí)行雙預(yù)測(cè)。該方法固定一個(gè)mv(例如list_0mv),并圍繞要被細(xì)化(refine)的mv(例如list_1mv)在小搜索窗內(nèi)細(xì)化另一mv(例如list_1mv)。該方法然后以相同的方式細(xì)化相對(duì)列表的mv(例如list_0mv)。當(dāng)搜索的次數(shù)滿足預(yù)定義閾值或雙預(yù)測(cè)的失真小于預(yù)定義閾值時(shí)雙預(yù)測(cè)搜索停止。

針對(duì)本文公開的提出的bv-mv雙預(yù)測(cè)搜索,存儲(chǔ)普通間模式的最佳mv和bc內(nèi)模式的最佳bv。然后在bv-mv雙預(yù)測(cè)搜索中使用存儲(chǔ)的bv和mv。圖29a-b中示出了bv-mv雙預(yù)測(cè)搜索的流程圖。

與mv-mv雙預(yù)測(cè)搜索的一個(gè)不同是針對(duì)塊向量細(xì)化執(zhí)行bv搜索,該塊向量細(xì)化可以不同于mv細(xì)化,因?yàn)閎v搜索算法可以不同于mv搜索算法被設(shè)計(jì)。在圖29a-b的示例中,不失一般性,假定bv來(lái)自list_0且mv來(lái)自list_1。通過(guò)比較bv和mv的各自的速率失真代價(jià)并選擇更大代價(jià)的一者來(lái)選擇初始搜索列表。例如,如果bv的代價(jià)更大,則list_0被選為初始搜索列表,由此bv可以進(jìn)一步被細(xì)化以提供更好的預(yù)測(cè)。反復(fù)執(zhí)行bv細(xì)化和mv細(xì)化。

在圖29a-b的方法中,在步驟2902中初始化search_list(搜索列表)和search_times(搜索次數(shù))。然后執(zhí)行初始搜索列表選擇過(guò)程2904。如果l1_mvd_zero_flag為假(步驟2906),則在步驟2908確定bv的速率失真代價(jià)且在步驟2910確定mv的速率失真代價(jià)。比較這些代價(jià)(步驟2912),且如果mv具有更大代價(jià),則搜索列表切換到list_1。在步驟2916執(zhí)行目標(biāo)塊更新方法(下面更詳細(xì)描述),且在步驟2918-2922酌情執(zhí)行bv或mv的細(xì)化。在步驟2924中計(jì)數(shù)器search_times遞增,且該過(guò)程對(duì)更新的search_list進(jìn)行重復(fù)(步驟2926)直到達(dá)到max_time(最大次數(shù))(步驟2928)。

圖30的流程圖示出了在每一輪bv或mv細(xì)化之前執(zhí)行的目標(biāo)塊更新過(guò)程。從初始?jí)K中減去固定方向(bv或mv)的預(yù)測(cè)塊來(lái)計(jì)算用于細(xì)化目的的目標(biāo)塊。在步驟3002,基于search_list確定是bv還是mv要被細(xì)化。如果bv要被細(xì)化(步驟3004,3008),則目標(biāo)塊將被設(shè)置等于初始?jí)K減去使用mv從上一輪搜索得到的預(yù)測(cè)塊。相反,如果mv要被細(xì)化(步驟3006,3008),則目標(biāo)塊將被設(shè)置等于初始?jí)K減去使用bv從上一輪搜索得到的預(yù)測(cè)塊。然后,下一輪bv或mv搜索細(xì)化包括執(zhí)行bv/mv搜索以嘗試匹配目標(biāo)塊。圖31a示出了用于bv細(xì)化的搜索窗,以及圖31b示出了用于mv細(xì)化的搜索窗。用于bv細(xì)化的搜索窗可以不同于mv細(xì)化的搜索窗。

在提出的bv-mv雙預(yù)測(cè)搜索的一個(gè)實(shí)施方式中,當(dāng)運(yùn)動(dòng)向量分辨率針對(duì)該片是分?jǐn)?shù)的時(shí)僅執(zhí)行該顯式的雙預(yù)測(cè)搜索。如上所述,整數(shù)運(yùn)動(dòng)向量分辨率指示運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)非常好,因此bv-mv雙預(yù)測(cè)搜索可能難以進(jìn)一步改善預(yù)測(cè)。通過(guò)在運(yùn)動(dòng)向量分辨率是整數(shù)時(shí)禁用bv-mv雙預(yù)測(cè)搜索,另一個(gè)好處是相比于當(dāng)總是執(zhí)行bv-mv雙預(yù)測(cè)時(shí)可以降低編碼復(fù)雜性??梢赃x擇性地基于分區(qū)尺寸執(zhí)行bv-mv雙預(yù)測(cè)搜索,以進(jìn)一步控制編碼復(fù)雜性。例如,可以僅在運(yùn)動(dòng)向量分辨率不是整數(shù)且分區(qū)尺寸是2nx2n時(shí)執(zhí)行bv-mv雙預(yù)測(cè)搜索。

雖然上面以特定組合的方式描述了特征和元素,但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解每個(gè)特征或元素都可單獨(dú)使用,或與其他特征和元素進(jìn)行各種組合使用。此外,此處所述的方法可在結(jié)合至計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中的計(jì)算機(jī)程序、軟件或固件中實(shí)現(xiàn),以由計(jì)算機(jī)或處理器執(zhí)行。計(jì)算機(jī)可讀介質(zhì)的示例包括電子信號(hào)(通過(guò)有線或無(wú)線連接傳送)和計(jì)算機(jī)可讀存儲(chǔ)媒介。計(jì)算機(jī)可讀存儲(chǔ)媒介的例子包括但不限于只讀存儲(chǔ)器(rom)、隨機(jī)存取存儲(chǔ)器(ram)、寄存器、緩存存儲(chǔ)器、半導(dǎo)體存儲(chǔ)設(shè)備、例如內(nèi)置磁盤和可移動(dòng)磁盤的磁媒介、磁光媒介和光媒介(例如cd-rom盤和數(shù)字多用途盤(dvd))。與軟件相關(guān)聯(lián)的處理器可被用于實(shí)施在wtru、ue、終端、基站、rnc或任何主機(jī)中使用的射頻收發(fā)信機(jī)。

附錄a

用于間和bc內(nèi)的合并分離的語(yǔ)法改變

附錄b

8.5.3.2.5用于零運(yùn)動(dòng)向量合并候選的修訂的導(dǎo)出過(guò)程。

該過(guò)程的輸出是:

-相對(duì)于當(dāng)前圖片的左上亮度采樣的當(dāng)前亮度譯碼塊的左上采樣的亮度位置(xcb,ycb),

-指定相對(duì)于當(dāng)前圖片的左上亮度采樣的當(dāng)前亮度預(yù)測(cè)塊的左上采樣的亮度位置(xpb,ypb),

-指定亮度預(yù)測(cè)塊的寬度和高度的兩個(gè)變量npbw和npbh,

-合并候選列表mergecandlist,

-mergecandlist中的每個(gè)候選n的參考索引refidxl0n和refidxl1n,

-mergecandlist中每個(gè)候選n的預(yù)測(cè)列表使用標(biāo)志predflagl0n和predflagl1n,

-mergecandlist中每個(gè)候選n的運(yùn)動(dòng)向量mvl0n和mvl1n,

-mergecandlist內(nèi)的元素?cái)?shù)量numcurrmergecand。

該過(guò)程的輸出是:

-合并候選列表mergecandlist,

-mergecandlist內(nèi)的元素?cái)?shù)量numcurrmergecand,

-在調(diào)用該過(guò)程期間添加到mergecandlist的每一個(gè)新候選zerocandm的參考索引refidxl0zerocandm和refidxl10zerocandm,

-在調(diào)用該過(guò)程期間添加到mergecandlist的每一個(gè)新候選zerocandm的預(yù)測(cè)列表使用標(biāo)志predflagl0zerocandm和predflagl10zerocandm,

-在調(diào)用該過(guò)程期間添加到mergecandlist的每一個(gè)新候選zerocandm的運(yùn)動(dòng)向量mvl0zerocandm和mvl10zerocandm,

變量numrefidx如下導(dǎo)出:

-如果slice_type等于p,numrefidx被設(shè)置等于num_ref_idx_10_active_minus1+1。

-否則(slice_type等于b),numrefidx被設(shè)置等于min(num_ref_idx_10_active_minus1+1,num_ref_idx_11_active_minus1+1)。

變量bvintravirtual[i][j](其中i是0,1,2,3,4且j等于0或1)指定5個(gè)虛擬運(yùn)動(dòng)向量被設(shè)置如下:

bvintravirtual[0][0]=-4*(xpb-xcb+npbw),bvintravirtual[0][1]=0;

bvintravirtual[0][0]=-4*(xpb-xcb+2*npbw),bvintravirtual[0][1]=0;

bvintravirtual[0][0]=0,bvintravirtual[0][1]=-4*(ypb-ycb+npbh);

bvintravirtual[0][0]=0,bvintravirtual[0][1]=-4*(ypb-ycb+2*npbh);

bvintravirtual[0][0]=-4*(xpb-xcb+npbw),bvintravirtual[0][1]=-4*(ypb-ycb+npbh);

存儲(chǔ)所有有效默認(rèn)塊向量的變量validdbv如下生成。

變量validdbvsize被設(shè)置等于0。變量i被設(shè)置等于0,重復(fù)以下步驟直到i等于5:

如果所有以下條件為真,則validdbv[validdbvsize][0]被設(shè)置等于bvintravirtual[i][0],且validdbv[validdbvsize][1]被設(shè)置等于bvintravirtual[i][1],且validdbvsize增1。

-小節(jié)6.4.1中指定的用于z掃描順序塊可用性的導(dǎo)出過(guò)程被調(diào)用,其中(xcurr,ycurr)被設(shè)置等于(xcb,ycb)且鄰近亮度位置(xnby,ynby)被設(shè)置等于(xpb+bvintravirtual[i][0],ypb+bvintravirtual[i][1]),作為輸入,且輸出等于真。

-小節(jié)6.4.1中指定的用于z掃描順序塊可用性的導(dǎo)出過(guò)程被調(diào)用,其中(xcurr,ycurr)被設(shè)置等于(xcb,ycb)且鄰近亮度位置(xnby,ynby)被設(shè)置等于(xpb+bvintravirtual[i][0]+npbw-1,ypb+bvintravirtual[i][1]+npbh-1),作為輸入,且輸出等于真。

如果所有以下條件為真,則該過(guò)程直接返回。

-validdbvsize等于0。

-列表0中的第i個(gè)參考圖片是當(dāng)前圖片,其中i是從0到numrefidx減1(含)。

-列表1中的第i個(gè)參考圖片是當(dāng)前圖片,其中i是從0到numrefidx減1(含)。

變量refidxofcurrpic被設(shè)置為-1,且變量listidxofcurrpic被設(shè)置為0。如果slice_type等于b,且validdbvsize大于0,且num_ref_idx_10_active_minus1不等于num_ref_idx_11_active_minus1,則如下修改refidxofcurrpic和listidxofcurrpic:

當(dāng)numcurrmergecand小于maxnummergecand時(shí),變量numinputmergecand被設(shè)置等于numcurrmergecand,變量zeroidx被設(shè)置等于0,變量dbvidx被設(shè)置等于0,且重復(fù)以下步驟直到numcurrmergecand等于maxnummergecand:

1.針對(duì)導(dǎo)出參考索引、預(yù)測(cè)列表使用標(biāo)志和零運(yùn)動(dòng)向量合并候選的運(yùn)動(dòng)向量,應(yīng)用以下:

-如果slice_type等于p,在mergecandlist的末尾添加候選zerocandm,其中m等于(numcurrmergecand-numinputmergecand),即mergecandlist[numcurrmergecand]設(shè)置等于zerocandm,且參考索引、預(yù)測(cè)列表使用標(biāo)志如下導(dǎo)出,且

rcfidxl0zcrocandm=(zcroidx<numrcfidx)?zcroidx:0(8-122)

rcfidxlizcrocandm=-1(8-123)

設(shè)is_curr_picture_flag_l0是refidxl0zerocandm指示的參考列表0中的參考圖片是否是當(dāng)前圖片,

prcdflagl0zcrocandm=(!is_curr_picture_flag_l0||validdbvsize)?1:0(8-1

prcdflagllzcrocandm=0(8-125)

zerocandm的運(yùn)動(dòng)向量如下導(dǎo)出且numcurrmergecand增1:

mvl0zerocandm[0]=is_curr_picture_flag_l0?validdbv[dbvidx][0]:0(8-126)

mvl0zerocandm[1]=is_curr_picture_flag_l0?validdbv[dbvidx][1]:0(8-127)

mvllzerocandm[0]=0(8-128)

mvllzcrocandm[1]=0(8-129)

numcurrmcrgccand=(!is_curr_picture-flag_l0||validdbvsize)?

numcurrmcrgccand+1:numcurrmcrgccand(8-130)

如果validdbvsize大于0,則如下更新變量dbvidx。否則,變量dbvidx保持不變。

dbvidx=(dbvidx+(is_curr_picture_flag_l0?1:0))%validdbvsize-否則(slice_typ等于b),在mergecandlist的末尾添加候選zerocandm,其中m等于(numcurrmergecand-numinputmergecand),即,mergecandlist[numcurrmergecand]被設(shè)置等于zerocandm,且參考索引、預(yù)測(cè)列表使用標(biāo)志如下被導(dǎo)出且

rcfldxl0zcrocandm=(zcroldx<numrcfidx)?zcroldx:0(8-13i)rcfidxllzcrocandm=(zcroidx<numrcfidx)?zcroidx:0(8-132)

設(shè)is_curr_picture_flag_l0和is_curr_picture_flag_l1是refidxl0zerocandm和refidxl1zerocandm指示的參考列表0和參考列表1中的參考圖片是否是當(dāng)前圖片,

prcdflagl0zcrocandm=(!is_curr_picture_flag_l0||validdbvsize)?1:0

(8-133)

predflaglizcrocandm=(!is_curr_picture_flag_l1||validdbvsize)?1:0

(8-134)

zerocandm的運(yùn)動(dòng)向量如下導(dǎo)出且numcurrmergecand增1:

mvl0zerocandm[0]=is_curr_picture_fag_l0?validdbv[dbvidx[[0]:0(8-135)

mvl0zerocandm[1]=is_curr_picture_flag_l0?validdbv[dbvidx][1]:0(8-136)

如果validdbvsize大于0,變量dbvidx如下被更新。

否則,變量dbvidx保持不變。

dbvidx=(dbvidx+(is_curr_picture_flag_l0?1:0))%validdbvsize

mvl1zerocandm[0]=is_curr_picture_flag_l1?validdbv[dbvidx][0]:0(8-137)

mvl1zerocandm[1]=is_curr_picture_flag_l1?validdbv[dbvidx][1]:0(8-138)

如果validdbvsize大于0,變量dbvidx如下被更新。

否則,變量dbvidx保持不變。

dbvidx=(dbvidx+(is_curr_picture_fiag_l1?1:0))%validdbvsize

numcurrmergecand=(!is_curr_picture_flag_l0||!is_curr_picture_flag_l1||

validdbvsize)?numcurrmergecand+1:numcurrmergecand(8-139)

2.如果zeroidx等于numrefidx減1,且refidxofcurrpic不小于0,則重復(fù)添加以下默認(rèn)塊向量直到numcurrmergecand等于maxnummergecand:

refidxl0zerocandm=(listidxofcurrpic==0)?refidxofcurrpic:-1(8-xxx)

refldxl1zerocandm=(listidxofcurrpic==1)?refidxofcurrpic:-1(8-xxx)

predflagl0zerocandm=(listidxofcurrpic==0)?1:0(8-xxx)

predflagl1zerocandm=(listidxofcurrpic==1)?1:0(8-xxx)

mvl0zerocandm[0]=(listidxofcurrpic==0)?validdbv[dbvidx][0]:0(8-xxx)

mvl0zerocandm[1]=(listidxofcurrpic==0)?validdbv[dbvidx][1]:0(8-xxx)

mvl1zerocandm[0]=(listidxofcurrpic==1)?validdbv[dbvidx][0]:0(8-xxx)

mvl1zerocandm[1]=(listidxofcurrpic==1)?validdbv[dbvidx][1]:0(8-xxx)

numcurrmergecand=numcurrmergecand+1(8-xxx)

dbvidx=(dbvidx+1)%validdbvsize(8-xxx)

3.變量zeroidx增1。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
中宁县| 永吉县| 房产| 岑巩县| 龙里县| 长治市| 丹凤县| 台南市| 丰台区| 城口县| 尼勒克县| 乐亭县| 泊头市| 柘城县| 务川| 宿州市| 台北县| 吉林省| 九江县| 秦皇岛市| 无为县| 屯昌县| 华阴市| 五寨县| 塘沽区| 盱眙县| 南陵县| 文登市| 吐鲁番市| 宜城市| 乌什县| 汾阳市| 科尔| 望江县| 广昌县| 丽水市| 临猗县| 高唐县| 宣汉县| 湖口县| 新化县|