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

用于多視點(diǎn)視頻編碼的參考圖像列表管理語法的制作方法

文檔序號:12038239閱讀:453來源:國知局
用于多視點(diǎn)視頻編碼的參考圖像列表管理語法的制作方法與工藝

本申請是申請日為2007年10月12日、申請?zhí)枮?00780038178.3、發(fā)明名稱為“用于多視點(diǎn)視頻編碼的參考圖像列表管理語法”的專利申請的分案申請。

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

本申請要求2006年10月13日提交的美國臨時(shí)申請60/851,863和2006年10月13日提交的美國臨時(shí)申請60/851,521的優(yōu)先權(quán),上述兩個(gè)臨時(shí)申請?jiān)诖巳牟⑷胱鳛閰⒖肌?/p>

本發(fā)明涉及運(yùn)動圖像(movingpictures)領(lǐng)域,更具體地,涉及參考圖像在用于編碼視頻圖像時(shí)的排序(ordering)課題。



背景技術(shù):

許多幀間編碼系統(tǒng)使用參考圖像(referencepicture),使用這種參考圖像有助于降低編碼比特流的大小。這樣的結(jié)果就是編碼效率比僅僅使用幀內(nèi)編碼技術(shù)要高。因此,許多編碼標(biāo)準(zhǔn)既包含幀內(nèi)也包含幀間編碼技術(shù),以編碼一系列移動圖像的比特流。在現(xiàn)有技術(shù)中,不同類型的參考圖像用于編碼標(biāo)準(zhǔn),例如“i”圖像,其只使用圖像自身內(nèi)(幀內(nèi))的元素進(jìn)行編碼,又例如“b”圖像,其通過使用來自圖像自身內(nèi)部的元素和/或來自兩個(gè)先前參考圖像(幀間)的元素進(jìn)行編碼,再例如“p”圖像,其通過使用來自圖像自身內(nèi)部的元素和/或來自一個(gè)先前參考圖像(幀間)的元素進(jìn)行編碼。

當(dāng)“b”圖像或“p”圖像被編碼和/或解碼時(shí),這種圖像因而取決于其他參考幀,從而這種圖像在解碼過程中可以被正確編碼或構(gòu)建。編碼/解碼系統(tǒng)應(yīng)當(dāng)提供某種類型的存儲單元(memorylocation),從而在其他圖像在由參考圖像被編碼或解碼時(shí)可以存儲這種參考圖像。這些圖像類型之間具有時(shí)間關(guān)系。

當(dāng)考慮其中不同視頻圖像的多視點(diǎn)(multipleviews)需要考慮的視頻標(biāo)準(zhǔn)時(shí),這種情況變得更為復(fù)雜。例如,圖1是多視點(diǎn)編碼系統(tǒng)中使用的參考圖像結(jié)構(gòu)的示例性實(shí)施方式。具體而言,所示結(jié)構(gòu)涉及根據(jù)多視點(diǎn)編碼(mvc)方案在時(shí)間(t0-t100)使用8個(gè)不同視點(diǎn)(s0-s7),所述mvc方案在2006年7月奧地利klagenfurt的jvt-t208.doc的a.vetro、y.su、h.kimata、a.smolic的“jointmultiviewvideomodel(jmvm)1.0”中提出。此多視點(diǎn)編碼標(biāo)準(zhǔn)基于高級視頻編碼(avc)標(biāo)準(zhǔn)(g.sullivan、t.wiegand、a.luthra,“h.264/avc(itu推薦標(biāo)準(zhǔn)和iso/iec14496-10(mpeg-4第10部分)高級視頻編碼)”,palmademallorca,es18-22,2004年10月)。這兩個(gè)標(biāo)準(zhǔn)的最大的區(qū)別在于avc不解決對多視點(diǎn)圖像的編碼而mvc能夠解決。

請?jiān)賲⒖磮D1,例如可以看出,當(dāng)編碼在時(shí)間t1與視點(diǎn)s1相關(guān)聯(lián)的圖像時(shí),需要編碼的圖像與來自相同視點(diǎn)(時(shí)間t0的s1和時(shí)間t2的s1)的圖像(參考圖像)關(guān)聯(lián),并且需要編碼的圖像與來自不同視點(diǎn)(時(shí)間t1的s0和時(shí)間t1的s2)的圖像關(guān)聯(lián)。因此,當(dāng)編碼與s1關(guān)聯(lián)的圖像時(shí),重要的是要在存儲裝置(例如可以由硬件、軟件或其組合實(shí)施的緩存器、寄存器、ram等)中保存參考圖像(時(shí)間t0的s1、時(shí)間t2的s1、時(shí)間t1的s0和時(shí)間t1的s2)。

用于存儲avc視頻標(biāo)準(zhǔn)中使用的參考圖像的編碼器和存儲裝置運(yùn)算的通用實(shí)施方式示于圖2中。具體而言,在框圖200中公開了編碼器205、編碼緩存器210和解碼圖像緩存器(dpb)215。在編碼操作(編碼或者解碼)過程中,由編碼器205正在進(jìn)行編碼的圖像存在于編碼緩存器210中,而先前編碼的參考圖像存儲在解碼圖像緩存器215中。

但是當(dāng)需要編碼一個(gè)需要使用超過兩個(gè)的參考圖像的圖像時(shí),當(dāng)該圖像存儲在緩存器dpb215中時(shí),就會產(chǎn)生問題。即dpb215必須為這種參考圖像提供某種類型的組織,以使它們在編碼運(yùn)算過程中可以被編碼器205使用。還可以理解,當(dāng)編碼第二圖像時(shí),不同的參考圖像可能必須由編碼器205通過dpb215獲得。在時(shí)間的情況下(例如avc),這種問題非常復(fù)雜,但是當(dāng)編碼視頻標(biāo)準(zhǔn)(例如mvc)中的圖像時(shí)當(dāng)必須考慮不同視點(diǎn)中的參考圖像時(shí)(如圖1所示),這就變成了需要獲得參考圖像的問題。



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

本發(fā)明能夠解決現(xiàn)有技術(shù)的上述缺點(diǎn)和不足。本發(fā)明涉及一種用于再利用可用的運(yùn)動信息作為運(yùn)動估計(jì)預(yù)測器以進(jìn)行視頻編碼的方法和裝置。

根據(jù)本發(fā)明原理的一個(gè)方面,提出了一種編碼器,其根據(jù)來自被解碼器解碼的圖像的信息對存儲在存儲器中的參考圖像進(jìn)行存儲管理操作,其中這種信息與關(guān)聯(lián)于該參考圖像的視點(diǎn)信息相關(guān)。

根據(jù)本發(fā)明原理的另一方面,提供了一種用于基于多視點(diǎn)的視頻解碼操作的修改參考圖像列表的方法,在所述基于多視點(diǎn)的視頻解碼操作中,與多個(gè)視點(diǎn)相關(guān)聯(lián)的參考圖像被用來編碼視頻圖像,所述方法包括以下步驟:使用視頻編碼器確定第一參考圖像是否是需要編碼的所述視頻圖像的時(shí)間參考圖像,并且通過向所述第一參考圖像指定用于時(shí)間參考圖像列表的圖像號碼來修改參考圖像在所述時(shí)間參考圖像列表中的編碼順序,其中,所述圖像號碼取決于所述第一參考圖像是i圖像、b圖像還是p圖像,需要編碼的所述圖像是i圖像、b圖像還是p圖像,需要編碼的所述視頻圖像在所述多個(gè)編碼圖像中的解碼順序,以及需要編碼的所述視頻圖像在所述多個(gè)編碼圖像中的顯示順序;確定需要編碼的所述視頻圖像是否與所述多個(gè)視點(diǎn)中的不同視點(diǎn)中的視點(diǎn)相關(guān)聯(lián);以及當(dāng)表示交叉視點(diǎn)參考圖像列表中的第二參考圖像的視點(diǎn)的對應(yīng)視點(diǎn)與需要編碼的所述視頻圖像所關(guān)聯(lián)的視點(diǎn)不同的視點(diǎn)相關(guān)聯(lián)時(shí),修改所述第二參考圖像的編碼,從而向第二參考圖像指定所述交叉視點(diǎn)參考圖像列表的第二圖像號碼,其中,所述第二圖像號碼取決于所述第二參考圖像是i圖像、b圖像還是p圖像,需要編碼的所述圖像是i圖像、b圖像還是p圖像,需要編碼的所述視頻圖像在所述多個(gè)編碼圖像中的所述解碼順序,以及需要編碼的所述視頻圖像在所述多個(gè)編碼圖像中的所述顯示順序

通過下面結(jié)合附圖對本發(fā)明的實(shí)施方式進(jìn)行的詳細(xì)說明,本發(fā)明的上述和其他方面以及特征和優(yōu)點(diǎn)將變得顯而易見。

附圖說明

根據(jù)參照下面附圖的詳細(xì)說明,本發(fā)明的原理將得到更好的理解。

圖1是根據(jù)本發(fā)明實(shí)施方式的不同時(shí)間的視頻圖像視點(diǎn)的多視點(diǎn)編碼,其中這種視頻圖像使用參考圖像按照圖中所示的方式進(jìn)行編碼;

圖2是根據(jù)本發(fā)明原理的視頻編碼器的示例性實(shí)施方式;

圖3是在根據(jù)本發(fā)明實(shí)施方式所用的語法元素ref_pic_list_recording()的偽代碼的實(shí)施方式;

圖4是在根據(jù)本發(fā)明實(shí)施方式所用的語法元素slice_shead_mvc_extension()的偽代碼的實(shí)施方式;

圖5是在根據(jù)本發(fā)明實(shí)施方式所用的語法元素ref_pic_list_reordering_mvc_extension()的偽代碼的實(shí)施方式;

圖6是在根據(jù)本發(fā)明實(shí)施方式所用的語法元素ref_pic_list_reordering_mvc_extension()的偽代碼的實(shí)施方式;

圖7是在根據(jù)本發(fā)明實(shí)施方式的圖像參考序列重排序方法的框圖。

具體實(shí)施方式

本發(fā)明的原理可以適用于任何基于幀內(nèi)和幀間的編碼標(biāo)準(zhǔn)。本說明書中使用的術(shù)語“圖像”是一個(gè)用于描述各種形式的視頻圖像信息的通用術(shù)語,所述視頻圖像信息在本領(lǐng)域中可以理解為“幀(frame)”、“場(field)”、“條(slice)”以及“圖像(picture)”本身。可以理解,雖然術(shù)語圖像用于表示各種元素視頻信息,avc指的是使用條,其中這種參考圖像可以使用來自相同圖像的條作為“參考圖像”而且不管圖像如何被子劃分,本發(fā)明的原理都適用。

并且,在對本發(fā)明的說明中,在附圖中詳細(xì)描述了使用c語言類型格式編寫的各種指令(語法元素/syntaxelement),對這種指令中的描述符(descriptor)使用下列命名法。

u(n):使用n比特的無符號整數(shù)。當(dāng)n為語法表中的“v”時(shí),比特?cái)?shù)按照取決于其他語法元素的值的方式變化。對于此描述符的解析通過函數(shù)read_bits(n)的返回值(returnvalue)來確定,其被解釋為無符號整數(shù)的以最高有效位在先書寫(mostsignificantbitwrittenfirst)的二進(jìn)制表示。

ue(v):左位在先(leftbitfirst)的無符號整數(shù)exp-golomb編碼的語法元素。

se(v):左位在先的帶符號整數(shù)exp-golomb編碼的語法元素。

c:表示語法元素所適用的類,即一個(gè)特定的場應(yīng)當(dāng)適用于那一級。

本說明書解釋了本發(fā)明的原理。雖然在本說明書中并未描述,但本領(lǐng)域普通技術(shù)人員在本發(fā)明的原理和范圍之內(nèi)能夠設(shè)想出各種實(shí)施方式。

本說明書中所采用的示例性和條件性的語言的目的在于幫助閱讀者理解由發(fā)明人對現(xiàn)有技術(shù)進(jìn)行改進(jìn)的本發(fā)明的原理和概念,本發(fā)明并不局限于這種特定的實(shí)例和條件。

并且,對于本發(fā)明原理、方面和實(shí)施方式以及特定實(shí)例的所有陳述都意在包括等同的結(jié)構(gòu)和功能。另外,這種等同結(jié)構(gòu)和功能包括當(dāng)前已知和以后開發(fā)出來的結(jié)構(gòu)和功能、即不論結(jié)構(gòu)如何而用來執(zhí)行相同功能的任何元件。

請?jiān)俅螀⒖磮D2,當(dāng)(avc和mvc的)編碼器205執(zhí)行對移動圖像進(jìn)行編碼的編碼運(yùn)算時(shí),編碼的圖像與數(shù)個(gè)不同值相關(guān)聯(lián),其中這種值被編碼器205放置在圖像頭部(例如條頭部)中。稱為pic_num(圖像號)的第一值指示被編碼圖像在編碼的視頻圖像序列中的順序。例如,該序列中的第一圖像具有值“1”,而被編碼的第四圖像具有值“4”。

圖像還具有被稱為圖像序列號(poc)的值,該值確定編碼圖像在最終解碼時(shí)被顯示的順序。這表示,編碼圖像具有的幀號可能不同于與該圖像相關(guān)聯(lián)的poc號。

多視點(diǎn)視頻編碼引入了第三值,該第三值可以與其他值結(jié)合用于圖像。view_id(視點(diǎn)id)值表示圖像所對應(yīng)的視點(diǎn)。例如,與視點(diǎn)s3相關(guān)聯(lián)的圖像的view_id等于“3”,而對應(yīng)于視點(diǎn)s5的圖像的view_id等于“5”。view_id號的用處的另一方面是因?yàn)槭褂眠@種值可以讓編碼器去耦不同視點(diǎn)之間的pic_num和poc,這使得dpb215能夠存儲具有相同pic_num和/或poc的參考圖像。因此這種(具有相同poc或pic_num)的圖像通過使用view_id值彼此區(qū)分。

可以理解,上述值可以通過不同方式執(zhí)行(利用其他數(shù)字、變量名、哈希表等)。

當(dāng)(如位于http://www.rgu.ac.uk/files/avc_picmanagement_draft1.pdf的作者為iaingrichardson的“frameandpicturemanagement”中所解釋的那樣)在dpb215中存儲參考圖像時(shí),這種圖像被賦值有存儲狀態(tài),該存儲狀態(tài)將參考圖像標(biāo)記為短期參考圖像(通過picnum或picordercount引用)和長期參考圖像(通過longtermpicnum引用,longtermpicnum表示longtermpic索引中的號碼)??梢岳斫?,參考圖像的狀態(tài)可以(例如通過使用avc中已知的存儲管理指令算子)在長期、短期以及甚至被稱為“非參考”的狀態(tài)之間改變,所述“非參考”表示參考圖像最終將被從dpb215中移除。

參考圖像的組織可以被排序?yàn)橐粋€(gè)或兩個(gè)列表,他們在編碼圖像(條)之前使用。用于p圖像的參考將使用單一圖像列表(list0),而用于b圖像的參考將使用兩個(gè)列表(list0和list1)。圖像列表中的圖像的缺省組織當(dāng)被編碼的當(dāng)前圖像是p圖像時(shí)取決于解碼順序(picnum),在被編碼的當(dāng)前圖像是b圖像時(shí)取決于顯示順序。被指定為長期參考圖像的參考圖像通常分配了longtermpicnum并且放置在參考列表的某一位置,從而該圖像將比短期圖形被保留更長時(shí)間。

avc允許編碼器205在編碼圖像條時(shí)改變list0(以及對于b圖像(條)的list1)中的參考圖像的缺省順序。即,編碼器可以識別(上述列表中的)參考圖像可以是比參考列表中的參考圖像更好的參考圖像。通過將與當(dāng)前編碼圖像更相關(guān)的參考圖像標(biāo)記為比與被編碼圖像不太相關(guān)的參考圖像占據(jù)參考列表上索引中更低(更接近)的位置,可以提高編碼效率。因此,被稱為參考圖像列表重排序指令(rplr)的指令用于改變這種參考圖像的順序,這些指令示于圖3中。

圖3顯示了avc語法元素ref_pic_list_reordering(雖然結(jié)合條進(jìn)行說明,但可以理解該原理可以針對圖像執(zhí)行)提供用于重排序圖像列表的avc指令,其中將參照avc對這些指令的意義進(jìn)行說明。

當(dāng)考慮在mvc的范疇內(nèi)使用參考圖像列表時(shí),實(shí)際上有兩組圖像需要考慮,即時(shí)間參考(temporalreferences)和交叉視點(diǎn)參考(cross-viewreferences),其與avc不同之處在于avc只考慮時(shí)間參考。

因此,在“k.muller、p.merkle、a.smolic、t.wiegand所著“multiviewcodingusingavc”、m12945、泰國曼谷、2006年一月”中,提議構(gòu)造單一交織序列(其將所有視頻序列交織在一個(gè)序列中),該交織序列然后可以通過有avc功能的編碼器進(jìn)行編碼并生成兼容比特流。但是,該avc實(shí)施方式的缺點(diǎn)在于,無法識別某個(gè)圖像屬于哪個(gè)視點(diǎn),因?yàn)橛糜趐ic_num和poc的惟一值必須分配給編碼的每個(gè)圖像以執(zhí)行現(xiàn)有avc的rplr指令。

當(dāng)前的mvc實(shí)施方式提出引入另外的語法,該語法被加入至序列參數(shù)集(sps)以標(biāo)識交叉視點(diǎn)參考。下面示出的該語法元素用于指示用于錨圖像(anchorpicture)和非錨圖像的交叉視點(diǎn)參考。

應(yīng)當(dāng)進(jìn)行下面的步驟以將來自不同于當(dāng)前視點(diǎn)的視點(diǎn)的參考圖像放置在圖像預(yù)測列表中。

-對于從0到num_multiview_ref_for_listx-1的每個(gè)i值:

-獲得從時(shí)間上被賦值為當(dāng)前圖像的視點(diǎn)reference_view_for_list_x[i]創(chuàng)建的圖像并將其插入值解碼預(yù)測緩沖器(dpb)中。

-將該圖像的索引插入至refpiclistx的下一空時(shí)隙中。

但是,這種實(shí)施方式具有一個(gè)問題,參考圖像列表的初始化(和重建)是通過固定的方式,無法改變。即,時(shí)間和交差視點(diǎn)的圖像的順序是不靈活的。另外,為每個(gè)錨圖像(即i圖像)和非錨圖像(b和p圖像)的指定的參考圖像的數(shù)量是相同的。

因此,本發(fā)明提出了一種用于在考慮多視點(diǎn)圖像的情況下重排序參考圖像列表的架構(gòu)??梢岳斫猓m然在avc和mvc環(huán)境的范疇之內(nèi)對本發(fā)明的實(shí)施方式進(jìn)行說明,但本發(fā)明的原理也可以應(yīng)用在其他視頻編碼表中中。

本發(fā)明提出了一種新的語法元素ref_pic_list_reordering_mvc_extension(),在圖4中示于圖像頭部(條頭部)中。

首先,本發(fā)明提出對適用于avc的語法元素

num_ref_idx_l0_active_minus1和num_ref_idx_l1_active_minus1進(jìn)行重新定義以反映它們只指示時(shí)間意義上的有效參考圖像數(shù)量的事實(shí)。

num_ref_idx_l0_active_minus1規(guī)定用于解碼條的時(shí)間參考圖像列表0的最大參考索引。num_ref_idx_l0_active_minus1的范圍規(guī)定如下:

-如果field_pic_flag等于0,num_ref_idx_l0_active_minus1的范圍是0至15,包括端點(diǎn)。當(dāng)mbaffframeflag等于1,num_ref_idx_l0_active_minus1是用于幀宏塊解碼的最大索引值并且2*num_ref_idx_l0_active_minus1+1是用于場宏塊解碼的最大索引值。

-否則(field_pic_flag等于1),num_ref_idx_l0_active_minus1的范圍是0至31,包括端點(diǎn)。

num_ref_idx_l1_active_minus1與num_ref_idx_l0_active_minus1具有相同的語義,其中l(wèi)0和列表0分別被l1和列表1替換。

第二,提出了兩個(gè)新的語法元素來指示將用于交叉視點(diǎn)的有效參考圖像的數(shù)量:

num_ref_idx_l0_active_view_minus1規(guī)定用于解碼條的交叉視點(diǎn)參考圖像列表0的最大參考索引。num_ref_idx_l0_active_view_minus1的范圍規(guī)定如下:

-如果field_pic_flag等于0,num_ref_idx_l0_active_view_minus1的范圍是0至15,包括端點(diǎn)。當(dāng)mbaffframeflag等于1,num_ref_idx_l0_active_view_minus1是用于幀宏塊解碼的最大索引值并且2*num_ref_idx_l0_active_view_minus1+1是用于場宏塊解碼的最大索引值。

-否則(field_pic_flag等于1),num_ref_idx_l0_active_view_minus1的范圍是0至31,包括端點(diǎn)。

num_ref_idx_l1_active_view_minus1(提出的另一語法元素)與num_ref_idx_l0_active_view_minus1具有相同的語義,其中l(wèi)0和列表0分別被l1和列表1替換。

這兩個(gè)語法的值滿足下列方程:

num_ref_idx_l0_active_minus1+num_ref_idx_l0_active_view_minus1<=num_ref_frames

num_ref_idx_l1_active_minus1+num_ref_idx_l1_active_view_minus1<=num_ref_frames。

如前面所述,需要限定用于mvc系統(tǒng)的缺省初始化過程。因此,對于該過程提出了數(shù)個(gè)不同實(shí)施方式:

本發(fā)明原理的第一實(shí)施方式使當(dāng)前視點(diǎn)的全部時(shí)間圖像按照mpeg-4avc規(guī)格書中的定義進(jìn)行初始化。此初始化的列表然后分別由用于list_0和list_1的num_ref_idx_l0_active_minus1和num_ref_idx_l1_active_minus1中規(guī)定的值進(jìn)行截?cái)?truncated)。

在這些圖像之后,在mvc規(guī)格書的sps中定義的交叉視點(diǎn)參考圖像被插入并由用于list_0和list_1的num_ref_idx_l0_active_view_minus1和num_ref_idx_l1_active_view_minus1中規(guī)定的值進(jìn)行截?cái)唷?/p>

為了能夠讓在當(dāng)前mvc規(guī)格書中規(guī)定的參考圖像列表重排序指令正確運(yùn)轉(zhuǎn),本發(fā)明施加了限制,使得這些指令只能對于時(shí)間參考圖像起作用。rplr處理可以在緊隨時(shí)間圖像的初始化之后和交叉視點(diǎn)參考之前進(jìn)行,也可以在時(shí)間和交叉視點(diǎn)參考唄初始化到其缺省位置之后進(jìn)行,后一種情況下只有時(shí)間參考圖像被重排序。

第一實(shí)施方式的一個(gè)缺點(diǎn)是交叉視點(diǎn)參考圖像不能被重排序。

在第二實(shí)施方式中,在mvc規(guī)格書的sps中定義的交叉視點(diǎn)參考圖像被插入并由分別用于list_0和list_1的num_ref_idx_l0_active_view_minus1和num_ref_idx_l1_active_view_minus1中規(guī)定的值進(jìn)行截?cái)唷?/p>

在這些圖像之后,按照mpeg-4avc規(guī)格書中的定義對當(dāng)前視點(diǎn)的全部時(shí)間圖像進(jìn)行初始化。然后該列表由分別用于list_0和list_1的num_ref_idx_l0_active_view_minus1和num_ref_idx_l1_active_view_minus1中規(guī)定的值進(jìn)行截?cái)唷?/p>

第三實(shí)施方式用于解決第一實(shí)施方式的上述問題。具體而言,請參看2007年10月12日提交的pct申請(申請?zhí)柎?,該申請要求2006年10月13日提交的美國臨時(shí)申請60/851,522和2006年10月13日提交的美國臨時(shí)申請60/851,589的優(yōu)先權(quán),語法元素long_term_frame_idx用于將長期索引(值)賦值給view_id不同于與當(dāng)前編碼圖像相關(guān)聯(lián)的視點(diǎn)的圖像。通過將長期索引賦值給交叉視點(diǎn)圖像,然后這種圖像可以像被用作avc圖像那樣進(jìn)行處理,這將使得rplr指令的使用能夠作用于長期圖像。因此,可以使用avc有效地重排序交叉視點(diǎn)圖像。

在第四實(shí)施方式中提出了新的rplr指令。這些指令與用于控制dpb215的存儲管理指令運(yùn)算類似,但是這些新指令用于在與當(dāng)前編碼圖像相關(guān)聯(lián)的視點(diǎn)之外的其他視點(diǎn)中的圖像上運(yùn)行。這些新語法元素示于圖5中,圖5示出了本發(fā)明提出的mvc參考圖像列表重排序語法。

此實(shí)施方式的缺省初始化是首先設(shè)置根據(jù)h.264/mpeg-4avc規(guī)范的限定在參考列表中規(guī)定的全部時(shí)間參考,在這些圖像之后跟著在h.264/mpeg-4avc的mvc擴(kuò)展的sps中規(guī)定的交叉視點(diǎn)圖像。

此實(shí)施方式的部分運(yùn)算是語法元素在ref_pic_list_reordering_mvc_extension之間分開,可以調(diào)用ref_pic_list_reordering。此調(diào)用的組織可以使得基于多視點(diǎn)的圖像在mvc環(huán)境中被處理并且該處理的結(jié)果可以使得基于多視點(diǎn)參考的圖像在avc環(huán)境中被處理。

與索引mvc_reordering_of_pic_nums_idc相關(guān)的各種狀態(tài)示于下面的表1中。

表1

另外,語法元素mvc_reordering_of_pic_nums_idc、abs_diff_pic_num_minus1和long_term_pic_num用于規(guī)定從初始參考圖像列表到將用于條解碼的參考圖像列表的改變。

mvc_ref_pic_list_reordering_flag_l0等于1規(guī)定語法元素mvc_reordering_of_pic_nums_idc出現(xiàn)以規(guī)定參考圖像列表0。mvc_ref_pic_list_reordering_flag_l0等于0表示此語法元素未出現(xiàn)。

當(dāng)mvc_ref_pic_list_reordering_flag_l0等于1時(shí),在mvc_ref_pic_list_reordering_flag_l0之后mvc_reordering_of_pic_nums_idc不等于3的次數(shù)應(yīng)當(dāng)不超過num_ref_idx_l0_active_minus1+1。

當(dāng)根據(jù)h.264/mpeg-4avc規(guī)范規(guī)定生成的初始參考圖像列表中的refpiclist0[num_ref_idx_l0_active_minus1]等于“無參考圖像”,mvc_ref_pic_list_reordering_flag_l0應(yīng)當(dāng)?shù)扔?并且mvc_reordering_of_pic_nums_idc應(yīng)當(dāng)不等于3,直至根據(jù)h.264/mpeg-4avc規(guī)范規(guī)定生成的重排序參考圖像列表中的refpiclist0[num_ref_idx_l0_active_minus1]不等于“無參考圖像”。

mvc_ref_pic_list_reordering_flag_l1等于1表示語法元素mvc_reordering_of_pic_nums_idc出現(xiàn)以規(guī)定參考圖像列表1。mvc_ref_pic_list_reordering_flag_l1等于0表示此語法元素未出現(xiàn)。

當(dāng)mvc_ref_pic_list_reordering_flag_l1等于1時(shí),在mvc_ref_pic_list_reordering_flag_l1之后mvc_reordering_of_pic_nums_idc不等于3的次數(shù)應(yīng)當(dāng)不超過num_ref_idx_l1_active_minus1+1。

當(dāng)解碼b條并且根據(jù)h.264/mpeg-4avc規(guī)范規(guī)定生成的初始參考圖像列表中的refpiclist1[num_ref_idx_l1_active_minus1]等于“無參考圖像”,mvc_ref_pic_list_reordering_flag_l1應(yīng)當(dāng)?shù)扔?并且mvc_reordering_of_pic_nums_idc應(yīng)當(dāng)不等于3,直至根據(jù)h.264/mpeg-4avc規(guī)范規(guī)定生成的重排序參考圖像列表中的refpiclist1[num_ref_idx_l1_active_minus1]不等于“無參考圖像”。

mvc_reordering_of_pic_nums_idc和difference_of_view_id以及abs_diff_pic_num_minus1或long_term_pic_num一起規(guī)定哪些參考圖像被重映射。mvc_reordering_of_pic_nums_idc的值規(guī)定在h.264/mpeg-4avc規(guī)格書中。緊隨mvc_ref_pic_list_reordering_flag_l0或mvc_ref_pic_list_reordering_flag_l1之后的第一mvc_reordering_of_pic_nums_idc的值不應(yīng)等于3。

abs_diff_pic_num_minus1加1規(guī)定了被移動至列表中當(dāng)前索引的圖像號與圖像號預(yù)測值之間的絕對差值。abs_diff_pic_num_minus1的范圍應(yīng)當(dāng)是0至maxpicnum–1。被移動的圖像必須具有與當(dāng)前圖像的view_id不同的view_id。

long_term_pic_num規(guī)定了被移動至列表中當(dāng)前索引的圖像的長期圖像號。當(dāng)解碼編碼幀時(shí),long_term_pic_num應(yīng)當(dāng)?shù)扔诜峙浣o標(biāo)記為“用于長期參考”的參考幀或互補(bǔ)參考場對其中之一的longtermpicnum。當(dāng)解碼編碼場時(shí),long_term_pic_num應(yīng)當(dāng)?shù)扔诜峙浣o標(biāo)記為“用于長期參考”的參考場其中之一的longtermpicnum。被移動的圖像必須具有與當(dāng)前圖像的view_id不同的view_id。

difference_of_view_id規(guī)定了被移動至列表中當(dāng)前索引的view_id與view_id預(yù)測值之間的絕對差值。

進(jìn)行參考圖像重排序的過程基于缺省列表,下面對其進(jìn)行說明如下:

當(dāng)mvc_ref_pic_list_reordering_flag_l0等于1,適用如下步驟。

-將refidxl0設(shè)為參考圖像列表refpiclist0中的索引。其初始被設(shè)為0。

-按照相應(yīng)的語法元素mvc_reordering_of_pic_nums_idc在比特流中出現(xiàn)的順序?qū)ζ溥M(jìn)行處理。對于每個(gè)這些語法元素,使用如下步驟。

1)如果mvc_reordering_of_pic_nums_idc等于0或1,在下面i中規(guī)定的過程被調(diào)用,以refidxl0作為輸入,并且將輸出賦值給refidxl0。

2)否則,如果mvc_reordering_of_pic_nums_idc等于2,在下面ii中規(guī)定的過程被調(diào)用,以refidxl0作為輸入,并且將輸出賦值給refidxl0。

3)否則(mvc_reordering_of_pic_nums_idc等于3),用于參考圖像列表refpiclist0的重排序操作結(jié)束。

當(dāng)mvc_ref_pic_list_reordering_flag_l1等于1,適用如下步驟。

-將refidxl1設(shè)為參考圖像列表refpiclist1中的索引。其初始被設(shè)為0。

-按照相應(yīng)的語法元素mvc_reordering_of_pic_nums_idc在比特流中出現(xiàn)的順序?qū)ζ溥M(jìn)行處理。對于每個(gè)這些語法元素,使用如下步驟。

4)如果mvc_reordering_of_pic_nums_idc等于0或1,在下面i中規(guī)定的過程被調(diào)用,以refidxl1作為輸入,并且將輸出賦值給refidxl1。

5)否則,如果mvc_reordering_of_pic_nums_idc等于2,在下面ii中規(guī)定的過程被調(diào)用,以refidxl1作為輸入,并且將輸出賦值給refidxl1。

6)否則(mvc_reordering_of_pic_nums_idc等于3),用于參考圖像列表refpiclist1的重排序操作結(jié)束。

下面提出的方案用于對于具有不同于當(dāng)前編碼的圖像的view_id的view_id的短期圖像列表進(jìn)行重排序。

此過程的輸入是索引refidxlx(x為0或1)。

此過程的輸出是增量索引refidxlx。

viewidlx=viewidlxpred+difference_of_view_id

如下獲得變量picnumlxnowrap:

-如果mvc_reordering_of_pic_nums_idc等于0

if(picnumlxpred–(abs_diff_pic_num_minus1+1)<0)

picnumlxnowrap=picnumlxpred–(abs_diff_pic_num_minus1+1)+maxpicnum

else

picnumlxnowrap=picnumlxpred–(abs_diff_pic_num_minus1+1)

-否則(mvc_reordering_of_pic_nums_idc等于1)

if(picnumlxpred+(abs_diff_pic_num_minus1+1)>=maxpicnum)

picnumlxnowrap=picnumlxpred+(abs_diff_pic_num_minus1+1)maxpicnum

else

picnumlxnowrap=picnumlxpred+(abs_diff_pic_num_minus1+1)

viewidlxpred是變量viewidlx的預(yù)測值。當(dāng)此子項(xiàng)規(guī)定的過程對于條被第一次調(diào)用(即在ref_pic_list_reordering()語法中等于0或1的mvc_reordering_of_pic_nums_idc第一次出現(xiàn)),viewidl0pred和viewidl1pred初始地被設(shè)為currviewid。在viewidlx的每次賦值之后,viewidlx的值被賦值給viewidlxpred。

picnumlxpred是變量picnumlxnowrap的預(yù)測值。當(dāng)此子項(xiàng)規(guī)定的過程對于條被第一次調(diào)用(即在ref_pic_list_reordering()語法中等于0或1的mvc_reordering_of_pic_nums_idc第一次出現(xiàn)),picnuml0pred和picnuml1pred初始地被設(shè)為currpicnum。在picnumlxnowrap每次賦值之后,picnumlxnowrap的值被賦值給picnumlxpred。

如下獲得變量picnumlx:

if(picnumlxnowrap>currpicnum)

picnumlx=picnumlxnowrap–maxpicnum

else

picnumlx=picnumlxnowrap

picnumlx和viewidlx應(yīng)當(dāng)?shù)扔诒粯?biāo)記為“用于短期參考”的參考圖像的picnum和viewid并且不等于被標(biāo)記為“不存在”的短期參考圖像的picnum。

執(zhí)行下面的程序以將view_id等于viewidlx的具有短期圖像號picnumlx的圖像放置在索引位置refidxlx,將剩余的其他圖像移動至列表的較后位置,并且增加refidxlx的值。

for(cidx=num_ref_idx_lx_active_minus1+1;cidx>refidxlx;cidx--)

refpiclistx[cidx]=refpiclistx[cidx–1]

refpiclistx[refidxlx++]=short-termreferencepicturewithpicnumequaltopicnumlxandview_idequaltoviewidlx

nidx=refidxlx

for(cidx=refidxlx;cidx<=num_ref_idx_lx_active_minus1+1;cidx++)

if((picnumf(refpiclistx[cidx])!=picnumlx)&&viewidf(refpiclistx[cidx])?。絭iewidlx)

refpiclistx[nidx++]=refpiclistx[cidx]

其中如下推導(dǎo)函數(shù)picnumf(refpiclistx[cidx]):

-如果圖像refpiclistx[cidx]被標(biāo)記為“用于短期參考”,picnumf(refpiclistx[cidx])為圖像refpiclistx[cidx]的picnum。

-否則(圖像refpiclistx[cidx]未被標(biāo)記為“用于短期參考”)picnumf(refpiclistx[cidx])等于maxpicnum。

請注意,maxpicnum的值永遠(yuǎn)不等于picnumlx。

其中如下推導(dǎo)函數(shù)viewidf(refpiclistx[cidx]):

-viewidf(refpiclistx[cidx])是圖像refpiclistx[cidx]的viewid。

還請注意,在此偽代碼程序中,列表refpiclistx被暫時(shí)設(shè)定為比最終列表所需長度長一個(gè)元素。在執(zhí)行此程序之后,只有列表的元素0至num_ref_idx_lx_active_minus1需要被保留。

下面提出的方案用于對包含長期參考圖像的參考圖像列表的重排序。

此過程的輸入是索引refidxlx(x為0或1)。

此過程的輸出是增量索引refidxlx。

執(zhí)行下面的程序以將出現(xiàn)在如上推導(dǎo)的viewidx指示的視點(diǎn)中具有長期圖像號long_term_pic_num的圖像放置在索引位置refidxlx,將剩余的其他圖像移動至列表的較后位置,并且增加refidxlx的值。

for(cidx=num_ref_idx_lx_active_minus1+1;cidx>refidxlx;cidx--)

refpiclistx[cidx]=refpiclistx[cidx–1]

refpiclistx[refidxlx++]=long-termreferencepicturewithlongtermpicnumequaltolong_term_pic_numandviewidequaltoviewidlx

nidx=refidxlx

for(cidx=refidxlx;cidx<=num_ref_idx_lx_active_minus1+1;cidx++)

if((longtermpicnumf(refpiclistx[cidx])!=long_term_pic_num)&&viewidf(refpiclistx[cidx]])?。絭iewidlx)

refpiclistx[nidx++]=refpiclistx[cidx]

其中如下推導(dǎo)函數(shù)longtermpicnumf(refpiclistx[cidx]):

-如果圖像refpiclistx[cidx]被標(biāo)記為“用于長期參考”longtermpicnumf(refpiclistx[cidx])是圖像refpiclistx[cidx]的longtermpicnum。

-否則(圖像refpiclistx[cidx]未被標(biāo)記為“用于長期參考”),longtermpicnumf(refpiclistx[cidx])等于2*(maxlongtermframeidx+1)。

請注意,2*(maxlongtermframeidx+1)的值永遠(yuǎn)不等于long_term_pic_num。

其中如下推導(dǎo)函數(shù)viewidf(refpiclistx[cidx])

-如果圖像refpiclistx[cidx]被標(biāo)記為“用于短期參考”,viewidf(refpiclistx[cidx])為圖像refpiclistx[cidx]的viewid。

-否則(圖像refpiclistx[cidx]未被標(biāo)記為“用于短期參考”)picnumf(refpiclistx[cidx])等于maxpicnum。

請注意,maxpicnum的值永遠(yuǎn)不等于picnumlx。在此偽代碼程序中,列表refpiclistx被暫時(shí)設(shè)定為比最終列表所需長度長一個(gè)元素。在執(zhí)行此程序之后,只有列表的元素0至num_ref_idx_lx_active_minus1被保留。

下面結(jié)合圖6所示的語法元素ref_pic_reordering_mvc_extension()對本發(fā)明原理的另外一個(gè)結(jié)構(gòu)進(jìn)行說明和描述。此語法元素的運(yùn)算與參照圖5所述的語法元素的區(qū)別在于,可以對于任何視點(diǎn)完成重排序列表,并且這種重排序列表只通過一個(gè)調(diào)用來完成,而不用調(diào)用單獨(dú)的rec_pic_list_reordering指令(如圖3所示)。

對于此另外結(jié)構(gòu)下的第一實(shí)施方式,對num_ref_idx_l0_active_minus1和num_ref_idx_l1_active_minus1再次進(jìn)行重新定義以指示時(shí)間意義上的有效參考圖像數(shù)量(請參看說明這些變量的前面部分)。

本實(shí)施方式定義了變量num_ref_idx_l0_active_view和num_ref_idx_l1_active_view,這兩個(gè)變量用于指示交叉視點(diǎn)中的有效圖像的數(shù)量。

num_ref_idx_l0_active_view規(guī)定用于解碼條的交叉視點(diǎn)參考圖像列表0的最大參考索引。num_ref_idx_l0_active_view范圍定義如下:

-如果field_pic_flag等于0,num_ref_idx_l0_active_view的范圍是0至16,包括端點(diǎn)。當(dāng)mbaffframeflag等于1,num_ref_idx_l0_active_view是用于幀宏塊解碼的最大索引值并且2*num_ref_idx_l0_active_view是用于場宏塊解碼的最大索引值。

-否則(field_pic_flag等于1),num_ref_idx_l0_active_view的范圍是0至32,包括端點(diǎn)。

num_ref_idx_l1_active_view與num_ref_idx_l0_active_view具有相同的語義,其中l(wèi)0和列表0分別被l1和列表1替換。

這些語義的值滿足下列函數(shù):

num_ref_idx_l0_active_minus1+num_ref_idx_l0_active_view<=num_ref_frames

num_ref_idx_l1_active_minus1+num_ref_idx_l1_active_view<=num_ref_frames

如之前所述,用于mvc系統(tǒng)的缺省初始化過程需要清楚地定義。

首先,當(dāng)前視點(diǎn)的全部時(shí)間圖像按照mpeg-4avc規(guī)格書中的定義進(jìn)行初始化。此初始化的列表然后由分別用于list_0和list_1的num_ref_idx_l0_active_minus1和num_ref_idx_l1_active_minus1中規(guī)定的值進(jìn)行截?cái)?truncated)。

在這些圖像之后,在mvc規(guī)格書的sps中定義的交叉視點(diǎn)參考圖像被插入并由分別用于list_0和list_1的num_ref_idx_l0_active_view和num_ref_idx_l1_active_view中規(guī)定的值進(jìn)行截?cái)唷?/p>

引入了與現(xiàn)有h.264/mpeg-4avcrplr指令類似的新rplr指令。這些指令取代h.264/mpeg-4avc中的現(xiàn)有rplr指令(請參看圖6)。

新rplr指令具有下列語義。用于指示重排序指令是否存在的指令示于上面的表1中。

語法元素mvc_reordering_of_pic_nums_idc、abs_diff_pic_num_minus1和long_term_pic_num用于規(guī)定從初始參考圖像列表到將用于解碼圖像信息(例如條)的參考圖像列表的改變。

mvc_ref_pic_list_reordering_flag_l0等于1規(guī)定語法元素mvc_reordering_of_pic_nums_idc出現(xiàn)以規(guī)定參考圖像列表0。mvc_ref_pic_list_reordering_flag_l0等于0表示此語法元素未出現(xiàn)。

當(dāng)mvc_ref_pic_list_reordering_flag_l0等于1時(shí),在mvc_ref_pic_list_reordering_flag_l0之后mvc_reordering_of_pic_nums_idc不等于3的次數(shù)應(yīng)當(dāng)不超過num_ref_idx_l0_active_minus1+1+num_ref_idx_l0_active_view。

當(dāng)根據(jù)h.264/mpeg-4avc規(guī)范規(guī)定生成的初始參考圖像列表中的refpiclist0[num_ref_idx_l0_active_minus1+num_ref_idx_l0_active_view]等于“無參考圖像”,mvc_ref_pic_list_reordering_flag_l0應(yīng)當(dāng)?shù)扔?并且mvc_reordering_of_pic_nums_idc應(yīng)當(dāng)不等于3,直至根據(jù)h.264/mpeg-4avc規(guī)范規(guī)定生成的重排序參考圖像列表中的refpiclist0[num_ref_idx_l0_active_minus1+num_ref_idx_l0_active_view]不等于“無參考圖像”。

mvc_ref_pic_list_reordering_flag_l1等于1表示語法元素mvc_reordering_of_pic_nums_idc出現(xiàn)以規(guī)定參考圖像列表1。

mvc_ref_pic_list_reordering_flag_l1等于0表示此語法元素未出現(xiàn)。

當(dāng)mvc_ref_pic_list_reordering_flag_l1等于1時(shí),在mvc_ref_pic_list_reordering_flag_l1之后mvc_reordering_of_pic_nums_idc不等于3的次數(shù)應(yīng)當(dāng)不超過num_ref_idx_l1_active_minus1+1+num_ref_idx_l1_active_view。

當(dāng)解碼b條并且根據(jù)h.264/mpeg-4avc規(guī)范規(guī)定生成的初始參考圖像列表中的refpiclist1[num_ref_idx_l1_active_minus1+num_ref_idx_l1_active_view]等于“無參考圖像”,mvc_ref_pic_list_reordering_flag_l1應(yīng)當(dāng)?shù)扔?并且mvc_reordering_of_pic_nums_idc應(yīng)當(dāng)不等于3,直至根據(jù)h.264/mpeg-4avc規(guī)范規(guī)定生成的重排序參考圖像列表中的refpiclist1[num_ref_idx_l1_active_minus1+num_ref_idx_l1_active_view]不等于“無參考圖像”。

mvc_reordering_of_pic_nums_idc和difference_of_view_id以及abs_diff_pic_num_minus1或long_term_pic_num一起規(guī)定哪些參考圖像被重映射。mvc_reordering_of_pic_nums_idc的值規(guī)定在h.264/mpeg-4avc規(guī)格書中。緊隨mvc_ref_pic_list_reordering_flag_l0或mvc_ref_pic_list_reordering_flag_l1之后的第一mvc_reordering_of_pic_nums_idc的值不應(yīng)等于3。

abs_diff_pic_num_minus1加1規(guī)定了被移動至列表中當(dāng)前索引的圖像號與圖像號預(yù)測值之間的絕對差值。abs_diff_pic_num_minus1的范圍應(yīng)當(dāng)是0至maxpicnum–1。

long_term_pic_num規(guī)定了被移動至列表中當(dāng)前索引的圖像的長期圖像號。當(dāng)解碼編碼幀時(shí),long_term_pic_num應(yīng)當(dāng)?shù)扔诜峙浣o標(biāo)記為“用于長期參考”的參考幀或互補(bǔ)參考場對其中之一的longtermpicnum。當(dāng)解碼編碼場時(shí),long_term_pic_num應(yīng)當(dāng)?shù)扔诜峙浣o標(biāo)記為“用于長期參考”的參考場其中之一的longtermpicnum。

difference_of_view_id規(guī)定了被移動至列表中當(dāng)前索引的view_id與view_id預(yù)測值之間的絕對差值。

進(jìn)行參考圖像重排序的過程基于缺省列表,下面對其進(jìn)行說明如下:

當(dāng)mvc_ref_pic_list_reordering_flag_l0等于1,適用如下步驟。

-將refidxl0設(shè)為參考圖像列表refpiclist0中的索引。其初始被設(shè)為0。

-按照相應(yīng)的語法元素mvc_reordering_of_pic_nums_idc在比特流中出現(xiàn)的順序?qū)ζ溥M(jìn)行處理。對于每個(gè)這些語法元素,使用如下步驟。

1)如果mvc_reordering_of_pic_nums_idc等于0或1,在下面i中規(guī)定的過程被調(diào)用,以refidxl0作為輸入,并且將輸出賦值給refidxl0。

2)否則,如果mvc_reordering_of_pic_nums_idc等于2,在下面ii中規(guī)定的過程被調(diào)用,以refidxl0作為輸入,并且將輸出賦值給refidxl0。

3)否則(mvc_reordering_of_pic_nums_idc等于3),用于參考圖像列表refpiclist0的重排序過程結(jié)束。

當(dāng)mvc_ref_pic_list_reordering_flag_l1等于1,適用如下步驟。

-將refidxl1設(shè)為參考圖像列表refpiclist1中的索引。其初始被設(shè)為0。

-按照相應(yīng)的語法元素mvc_reordering_of_pic_nums_idc在比特流中出現(xiàn)的順序?qū)ζ溥M(jìn)行處理。對于每個(gè)這些語法元素,使用如下步驟。

4)如果mvc_reordering_of_pic_nums_idc等于0或1,在下面i中規(guī)定的過程被調(diào)用,以refidxl1作為輸入,并且將輸出賦值給refidxl1。

5)否則,如果mvc_reordering_of_pic_nums_idc等于2,在下面ii中規(guī)定的過程被調(diào)用,以refidxl1作為輸入,并且將輸出賦值給refidxl1。

6)否則(mvc_reordering_of_pic_nums_idc等于3),用于參考圖像列表refpiclist1的重排序過程結(jié)束。

下面提出的方案用于對于短期參考圖像的參考圖像進(jìn)行重排序。

此過程的輸入是索引refidxlx(x為0或1)。

此過程的輸出是增量索引refidxlx。

viewidlx=viewidlxpred+difference_of_view_id

如下推導(dǎo)變量picnumlxnowrap:

如果mvc_reordering_of_pic_nums_idc等于0

if(picnumlxpred–(abs_diff_pic_num_minus1+1)<0)

picnumlxnowrap=picnumlxpred–(abs_diff_pic_num_minus1+1)+maxpicnum

else

picnumlxnowrap=picnumlxpred–(abs_diff_pic_num_minus1+1)

否則(mvc_reordering_of_pic_nums_idc等于1)

if(picnumlxpred+(abs_diff_pic_num_minus1+1)>=maxpicnum)

picnumlxnowrap=picnumlxpred+(abs_diff_pic_num_minus1+1)–maxpicnum

else

picnumlxnowrap=picnumlxpred+(abs_diff_pic_num_minus1+1)

viewidlxpred是變量viewidlx的預(yù)測值。當(dāng)此子項(xiàng)規(guī)定的過程對于條被第一次調(diào)用(即在ref_pic_list_reordering()語法中等于0或1的mvc_reordering_of_pic_nums_idc第一次出現(xiàn)),viewidl0pred和viewidl1pred初始地被設(shè)為currviewid。在viewidlx的每次賦值之后,viewidlx的值被賦值給viewidlxpred。

picnumlxpred是變量picnumlxnowrap的預(yù)測值。當(dāng)此子項(xiàng)規(guī)定的過程對于條被第一次調(diào)用(即在ref_pic_list_reordering()語法中等于0或1的mvc_reordering_of_pic_nums_idc第一次出現(xiàn)),picnuml0pred和picnuml1pred初始地被設(shè)為currpicnum。在picnumlxnowrap每次賦值之后,picnumlxnowrap的值被賦值給picnumlxpred。

如下獲得變量picnumlx:

if(picnumlxnowrap>currpicnum)

picnumlx=picnumlxnowrap–maxpicnum

else

picnumlx=picnumlxnowrap

picnumlx和viewidlx應(yīng)當(dāng)?shù)扔诒粯?biāo)記為“用于短期參考”的參考圖像的picnum和viewid并且不等于被標(biāo)記為“不存在”的短期參考圖像的picnum。

執(zhí)行下面的程序以將view_id等于viewidlx的具有短期圖像號picnumlx的圖像放置在索引位置refidxlx,將剩余的其他圖像移動至列表的較后位置,并且增加refidxlx的值。

for(cidx=num_ref_idx_lx_active_minus1+1;cidx>refidxlx;cidx--)

refpiclistx[cidx]=refpiclistx[cidx–1]

refpiclistx[refidxlx++]=short-termreferencepicturewithpicnumequaltopicnumlxandview_idequaltoviewidlx

nidx=refidxlx

for(cidx=refidxlx;cidx<=num_ref_idx_lx_active_minus1+1;cidx++)

if((picnumf(refpiclistx[cidx])?。絧icnumlx)&&viewidf(refpiclistx[cidx])?。絭iewidlx)

refpiclistx[nidx++]=refpiclistx[cidx]

其中如下推導(dǎo)函數(shù)picnumf(refpiclistx[cidx]):

-如果圖像refpiclistx[cidx]被標(biāo)記為“用于短期參考”,picnumf(refpiclistx[cidx])為圖像refpiclistx[cidx]的picnum。

-否則(圖像refpiclistx[cidx]未被標(biāo)記為“用于短期參考”)picnumf(refpiclistx[cidx])等于maxpicnum。

請注意,maxpicnum的值永遠(yuǎn)不等于picnumlx。

其中如下推導(dǎo)函數(shù)viewidf(refpiclistx[cidx]):

-viewidf(refpiclistx[cidx])是圖像refpiclistx[cidx]的viewid。

還請注意,在此偽代碼程序中,列表refpiclistx被暫時(shí)設(shè)定為比最終列表所需長度長一個(gè)元素。在執(zhí)行此程序之后,只有列表的元素0至num_ref_idx_lx_active_minus1需要被保留。

下面提出的方案用于對包含長期參考圖像的參考圖像列表的重排序。

此過程的輸入是索引refidxlx(x為0或1)。

此過程的輸出是增量索引refidxlx。

執(zhí)行下面的程序以將出現(xiàn)在如上推導(dǎo)的viewidx指示的視點(diǎn)中具有長期圖像號long_term_pic_num的圖像放置在索引位置refidxlx,將剩余的其他圖像移動至列表的較后位置,并且增加refidxlx的值。

for(cidx=num_ref_idx_lx_active_minus1+1;cidx>refidxlx;cidx--)

refpiclistx[cidx]=refpiclistx[cidx–1]

refpiclistx[refidxlx++]=long-termreferencepicturewithlongtermpicnumequaltolong_term_pic_numandviewidequaltoviewidlx

nidx=refidxlx

for(cidx=refidxlx;cidx<=num_ref_idx_lx_active_minus1+1;cidx++)

if((longtermpicnumf(refpiclistx[cidx])!=long_term_pic_num)&&viewidf(refpiclistx[cidx]])?。絭iewidlx)

refpiclistx[nidx++]=refpiclistx[cidx]

其中如下推導(dǎo)函數(shù)longtermpicnumf(refpiclistx[cidx]):

-如果圖像refpiclistx[cidx]被標(biāo)記為“用于長期參考”longtermpicnumf(refpiclistx[cidx])是圖像refpiclistx[cidx]的longtermpicnum。

-否則(圖像refpiclistx[cidx]未被標(biāo)記為“用于長期參考”),longtermpicnumf(refpiclistx[cidx])等于2*(maxlongtermframeidx+1)。

請注意,2*(maxlongtermframeidx+1)的值永遠(yuǎn)不等于long_term_pic_num。

其中如下推導(dǎo)函數(shù)viewidf(refpiclistx[cidx])

-如果圖像refpiclistx[cidx]被標(biāo)記為“用于短期參考”,viewidf(refpiclistx[cidx])為圖像refpiclistx[cidx]的viewid。

-否則(圖像refpiclistx[cidx]未被標(biāo)記為“用于短期參考”)picnumf(refpiclistx[cidx])等于maxpicnum。

maxpicnum的值永遠(yuǎn)不等于picnumlx。

請注意,在此偽代碼程序中,列表refpiclistx被暫時(shí)設(shè)定為比最終列表所需長度長一個(gè)元素。在執(zhí)行此程序之后,只有列表的元素0至num_ref_idx_lx_active_minus1需要被保留。

此另外結(jié)構(gòu)下的本發(fā)明的第二實(shí)施方式考慮到交叉視點(diǎn)圖像的重排序最常發(fā)生于時(shí)間暫時(shí)分配的圖像,這意味著圖像號差值將為0。因此,本實(shí)施方式的著眼點(diǎn)在于交叉視點(diǎn)圖像的重排序的之一方面,其比上述其他實(shí)施方式效率更高。

此實(shí)施方式將變量abs_diff_pic_num_minus1變?yōu)閍bs_diff_pic_num并對其定義如下:

abs_diff_pic_num規(guī)定了被移動至列表中當(dāng)前索引的圖像號與圖像號預(yù)測值之間的絕對差值。

abs_diff_pic_num的范圍規(guī)定如下:

-如果reordering_of_pic_nums_idc等于0,abs_diff_pic_num的范圍是0至maxpicnum/2。

-否則(reordering_of_pic_nums_idc等于1),abs_diff_pic_num的范圍是0至maxpicnum/2-1。

通過上述方法,可以使abs_diff_pic_num取0值,這是交叉視點(diǎn)重排序最常見的情況。

此另外結(jié)構(gòu)下的本發(fā)明的第三實(shí)施方式也考慮到交叉視點(diǎn)圖像的重排序最常發(fā)生于時(shí)間暫時(shí)分配的圖像,這意味著圖像號差值將為0。

在上述方法中,abs_diff_pic_num被編碼為無符號的exp-golomb碼,從而成為指示該插值是否代表正或負(fù)的插值的另外的語法,其在圖6中示為mvc_reordering_of_pic_nums_idc。

此實(shí)施例減少了語法元素能采用的值,如圖2所示,并傳輸用于圖像號差值的exp-golomb碼作為diff_pic_num,如圖7所示,其公開了一種rpplref_pic_list_reordering_mvc_extension的修正定義。

表2

diff_pic_num的語義定義如下:

diff_pic_num規(guī)定了被移動至列表中當(dāng)前索引的圖像的圖像號與圖像號預(yù)測值之間的差值。

diff_pic_num的范圍規(guī)定如下:

-maxpicnum/2-1至maxpicnum/2

然后picnumlxnowrap推導(dǎo)如下

picnumlxnowrap=picnumlxpred+diff_pic_num

圖7是本發(fā)明的原理應(yīng)用于多視點(diǎn)編碼環(huán)境的參考圖像重排序的框圖700。為了此流程圖的運(yùn)行,假設(shè)dpb215中已經(jīng)具有參考圖像。但是參考圖像可以是不同視點(diǎn)的。

在步驟705,方法考慮需要編碼的當(dāng)前圖像是否處于使用多視點(diǎn)圖像(mvc和avc)的環(huán)境中以及編碼環(huán)境是否是簡單的時(shí)間環(huán)境(即avc)。

如果在與本圖像的編碼相關(guān)的所用參考圖像與多視點(diǎn)編碼無關(guān),運(yùn)行步驟710以采用與例如avc的編碼標(biāo)準(zhǔn)相關(guān)的已知原理來重排序參考圖像列表。但是如果需要被編碼的圖像涉及多視點(diǎn)圖像,其中圖像之間的交叉視點(diǎn)需要被考慮,則選擇步驟715。

如上所述,具有數(shù)個(gè)不同程序來實(shí)際執(zhí)行所述圖像的重排序。上述某些實(shí)施方式(應(yīng)用于步驟715)描述的環(huán)境中,進(jìn)行比較以考慮需要編碼的圖像與參考圖像是否具有任何交叉視點(diǎn)關(guān)系。在某些實(shí)施方式中,圖像列表的重排序?qū)⒅嘏判蚺c任何視點(diǎn)相關(guān)的參考圖像。在另外的實(shí)施方式中,首先對所有交叉視點(diǎn)進(jìn)行參考圖像重排序,然后對與被編碼的圖像具有相同視點(diǎn)的參考圖像進(jìn)行重排序。

步驟720考慮需要編碼的圖像是否與參考圖像具有時(shí)間關(guān)系。如上所述,“p”圖像利用一個(gè)參考列表而“b”圖像需要利用兩個(gè)參考列表。因此,對列表進(jìn)行重排序的方式(如上文所述的各個(gè)實(shí)施方式)取決于這種時(shí)間關(guān)系。

步驟725是參考圖像列表的實(shí)際重排序。同樣地,進(jìn)行這種操作的各種方式取決于步驟715和720的結(jié)果,并且根據(jù)上述實(shí)施方式的原理產(chǎn)生作用。

因此,例如,本領(lǐng)域普通技術(shù)人員可以理解,說明書中的框圖表示根據(jù)本發(fā)明原理的實(shí)施方式的示例性電路的概念性圖示。類似地,可以理解,任何流程圖、操作程序圖、狀態(tài)轉(zhuǎn)換圖、偽代碼等都表示能夠有計(jì)算機(jī)可讀介質(zhì)表示并因而由計(jì)算機(jī)或處理器執(zhí)行的各種過程步驟,這種計(jì)算機(jī)或處理器是否明確示出并無關(guān)系。

附圖中所示各種元件的功能可以與適當(dāng)?shù)能浖?lián)合通過使用專用硬件以及能夠執(zhí)行軟件的硬件來提供。當(dāng)通過處理器提供時(shí),該功能可以通過單個(gè)專用處理器、單個(gè)共享處理器或者多個(gè)處理器(某些可以共享)來提供。并且,術(shù)語“處理器”或者“控制器”的明確使用不應(yīng)當(dāng)被理解為專指能夠執(zhí)行軟件的硬件,還可以非限制性地包括數(shù)字信號處理器(dsp)、用于存儲軟件的只讀存儲器(rom)、隨機(jī)訪問存儲器(ram)以及非易失性存儲器。

其他普通和/或定制硬件也可以包括進(jìn)來。類似地,圖中所示的任何開關(guān)都是概念性的。其功能可以通過程序邏輯、專用邏輯、程序控制和專用邏輯的相互作用甚至手動操作來執(zhí)行,實(shí)施者可以根據(jù)應(yīng)用環(huán)境選擇特定的技術(shù)。

在權(quán)利要求中,任何被表達(dá)為用于執(zhí)行特定功能的元件都包括執(zhí)行該功能的任何方式,例如:a)執(zhí)行該功能的電路元件的組合;b)任何形式的軟件,包括固件、微代碼等,與適當(dāng)?shù)碾娐方Y(jié)合以執(zhí)行該軟件從而執(zhí)行該功能。這些權(quán)利要求限定的本發(fā)明的原理基于的事實(shí)是,各個(gè)引用的裝置所提供的功能型以權(quán)利要求要求的方式結(jié)合在一起。因此可以認(rèn)為任何能夠提供這些功能性的裝置都等同于所述裝置。

說明書中所提到的本發(fā)明原理的“一個(gè)實(shí)施方式”或“實(shí)施方式”表示特定結(jié)合該實(shí)施方式描述的特征、結(jié)構(gòu)、要素包括在本發(fā)明原理的至少一個(gè)實(shí)施方式中。因此,說明書各個(gè)地方出現(xiàn)的表述“在一個(gè)實(shí)施方式中”或“在實(shí)施方式中”不一定指同一實(shí)施方式。

最優(yōu)選地,本發(fā)明的原理可以作為硬件和軟件的組合來實(shí)現(xiàn)。并且,軟件可以作為嵌入在程序存儲單元上地應(yīng)用程序來實(shí)現(xiàn)。應(yīng)用程序可以被上載至包含任何適當(dāng)體系結(jié)構(gòu)的機(jī)器并由其執(zhí)行。優(yōu)選地,該機(jī)器在具有硬件的計(jì)算極平臺上執(zhí)行,所述硬件例如是一個(gè)或多個(gè)中央處理器(cpu)、隨機(jī)訪問存儲器(ram)、輸入輸出(i/o)接口。計(jì)算機(jī)平臺還可以包括操作系統(tǒng)和微指令代碼。本文所述各種處理和功能可以是能夠由cpu處理的微指令代碼的一部分或應(yīng)用程序的一部分,或者它們的組合。另外,各種外圍設(shè)備可以連接至計(jì)算機(jī)平臺,例如附加數(shù)據(jù)存儲單元和打印單元。

可以進(jìn)一步理解的是,因?yàn)楦綀D中描述的某些系統(tǒng)構(gòu)成部件和方法優(yōu)選由軟件實(shí)現(xiàn),系統(tǒng)元件或者處理功能框之間的實(shí)際連接根據(jù)本發(fā)明的原理被編程的方式可能存在不同之處?;诒景l(fā)明的原理,本領(lǐng)域普通技術(shù)人員可以設(shè)想到用來實(shí)現(xiàn)本發(fā)明原理的上述和其他方式或結(jié)構(gòu)。

雖然結(jié)合目前優(yōu)選實(shí)施例對本發(fā)明進(jìn)行了說明,但是可以理解本發(fā)明并不局限于公開的實(shí)施例。而且,在本發(fā)明的原理和范圍之內(nèi),可以對本發(fā)明進(jìn)行修改以引入本說明書未說明的任何變化、改變、替換或者等同設(shè)置。因此,本發(fā)明不應(yīng)被視為由上述說明來限制,而是由所附權(quán)利要求的范圍來限定。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
郎溪县| 陆良县| 四子王旗| 朔州市| 锡林浩特市| 洛浦县| 新巴尔虎左旗| 永春县| 安多县| 辽源市| 通江县| 陵水| 庆元县| 建阳市| 蒲城县| 明星| 定兴县| 清徐县| 彰化县| 始兴县| 即墨市| 南郑县| 策勒县| 农安县| 新邵县| 洛川县| 潮安县| 桂平市| 即墨市| 乌审旗| 秦皇岛市| 太原市| 义马市| 台东县| 灵山县| 潜江市| 增城市| 洞口县| 凌云县| 潞城市| 广河县|