用于參考畫面管理的編碼器、解碼器及其方法
【專利摘要】本發(fā)明的實(shí)施例涉及與視頻編碼和解碼有關(guān)的參考畫面管理,并且特別涉及參考畫面的信號通知。提供了一種由編碼器執(zhí)行的方法,該編碼器對由多個畫面構(gòu)成的視頻流的表示進(jìn)行編碼。每個畫面屬于一個層。在該方法中,判斷是否有屬于與當(dāng)前畫面的層相同的層或更低的層的任何畫面正在使用當(dāng)前畫面作為解碼處理中的參考畫面,以及向解碼器發(fā)送指示當(dāng)前畫面是否被用作屬于相同層或更低層中的任何畫面的參考畫面的信息。
【專利說明】用于參考畫面管理的編碼器、解碼器及其方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明一般地涉及與視頻編碼和解碼有關(guān)的參考畫面管理,并且特別涉及參考畫面的信號通知。
【背景技術(shù)】
[0002]H.264,也稱為移動畫面專家組4 (MPEG-4)高級視頻編碼(AVC),是最新的視頻編碼標(biāo)準(zhǔn)。其包括利用了時間和空間預(yù)測的、基于塊的混合視頻編碼方案。
[0003]高效率視頻編碼(HEVC)是聯(lián)合協(xié)作團(tuán)隊-視頻編碼(JCT-VC)當(dāng)前正在開發(fā)的新的視頻編碼標(biāo)準(zhǔn)。JCT-VC是在MPEG與國際電聯(lián)電信標(biāo)準(zhǔn)部門(ITU-T)之間的聯(lián)合計劃。當(dāng)前,工作草案(WD)被定義為包括大的宏塊(最大編碼單元,縮寫為LCU)和眾多其他新工具,并且比H.264/AVC更加高效。
[0004]在視頻傳輸中,接收機(jī)的解碼器接收表示畫面的比特流,即壓縮數(shù)據(jù)的視頻數(shù)據(jù)分組。壓縮數(shù)據(jù)包括凈荷和控制信息??刂菩畔⒗绨P(guān)于在參考畫面緩沖器中應(yīng)該存儲哪些參考畫面的信息。該信息是關(guān)于先前接收的畫面的相對參考。此外,解碼器解碼接收的比特流,并且顯示解碼出的畫面。另外,根據(jù)控制信息,將解碼出的畫面存儲在參考畫面緩沖器中。解碼器在解碼后續(xù)畫面時使用這些存儲的參考畫面。
[0005]圖1中示出了在如按照H.264/AVC中設(shè)計的在接收機(jī)處執(zhí)行的方案的簡化流程圖。在對畫面進(jìn)行實(shí)際解碼之前,如果序列參數(shù)集(SPS)語法元素gaps_in_frame_num_value_al lowed_flag(允許的巾貞號值中的間隙的標(biāo)記)為1,則解析100圖像條報頭中的frame_num(巾貞號),以檢測110可能存在的frame_num中的間隙。如果檢測到frame_num中的間隙,則創(chuàng)建120,130 “不存在的”幀,并將其插入?yún)⒖籍嬅婢彌_器(也稱為解碼畫面緩沖器(DPB))。然后,應(yīng)用滑動窗處理140和顛簸處理150。
[0006]無論是否存在frame_num中的間隙,下一步驟是對當(dāng)前畫面的實(shí)際解碼160。如果畫面的圖像條報頭包含存儲器管理控制操作(MMCO)命令170,則在對畫面進(jìn)行解碼之后應(yīng)用180自適應(yīng)存儲器控制處理,以獲得關(guān)于要在參考畫面緩沖器中存儲的畫面的相對參考,否則應(yīng)用滑動窗處理190以獲得關(guān)于要在參考畫面緩沖器中存儲的畫面的相對參考。作為最后一步,應(yīng)用“顛簸”處理200,以按正確順序遞送畫面。
[0007]在H.264/AVC、SVC和HEVC中,所有編碼數(shù)據(jù)被放在網(wǎng)絡(luò)提取層(NAL)單元中。NAL單元包括編碼數(shù)據(jù)和NAL單元報頭。在NAL單元報頭中,存在稱為nal_ref_idc的語法元素,該語法元素指定NAL單元中包含的畫面是否是參考畫面。該信息被用在對當(dāng)前畫面的解碼處理中。具有nal_ref_idc等于0的畫面不能在對后續(xù)畫面的畫面間預(yù)測期間用作參考,因此它們被稱為非參考畫面。Nal_ref_idC在其他方面也是有用的;網(wǎng)絡(luò)節(jié)點(diǎn)或解碼器可以丟棄具有nal_ref_idC=0的所有NAL而不轉(zhuǎn)發(fā)它們或?qū)λ鼈冞M(jìn)行解碼,并且所得的比特流仍將是可解碼的,原因是沒有畫面參考該非參考畫面。
[0008]在SVC和HEVC中,在NAL單元報頭中存在temporal_id語法元素,其具有與當(dāng)前畫面的時間層有關(guān)的信息。在HEVC和SVC中定義了:如果tIdA小于tldB,則具有temporal—id=tIdA的畫面不能參考具有temporal」d=tIdB的畫面。因此,處于較高時間層的畫面不能夠用于更低時間層中的預(yù)測,但是較低時間層中的畫面能夠用于更高時間層中的預(yù)測。有時,在一些或所有畫面中,取決于編碼結(jié)構(gòu),一個時間層中的畫面被用于相同時間層中的其他畫面的預(yù)測。除最高時間層之外的任何其他時間層中的畫面完全不用于預(yù)測的實(shí)際使用情形即使存在也很罕見。也即,可以假設(shè),低于最高時間層的時間層中的所有畫面將被用于相同時間層或更高時間層中的至少一個畫面的預(yù)測。
[0009]針對任何選定的T,通過移除屬于高于時間層T的層的所有畫面,能夠根據(jù)HEVC或SVC比特流創(chuàng)建子流。例如,如果比特流具有四個時間層{0,1,2,3},則HEVC或SVC解碼器完全能夠解碼已經(jīng)移除了時間層2和3的比特流。
【發(fā)明內(nèi)容】
[0010]現(xiàn)有解決方案的問題在于:沒有可能用一種指示符標(biāo)記畫面或NAL,在已經(jīng)移除最高時間層的情況下該指示符表明在子流中其是否是參考畫面。
[0011]畫面在其被用于任何畫面(包括更高層中的畫面)的預(yù)測的情況下必須被標(biāo)記為參考畫面。對于AVC、SVC和HEVC,這意味著:對于用作參考畫面的畫面,NAL單元報頭中的nal_ref_idc必須不等于O。對于非參考畫面,nal_ref_idc等于O。因此,當(dāng)更高層被移除,并且畫面不再用于預(yù)測時,可通過將nal_ref_idC的值改變?yōu)?來將畫面“重新標(biāo)記”為非參考畫面,其中假設(shè)nal_ref_idc的值不影響解碼處理。如果nal_ref_idc對解碼處理具有影響,例如在a 264和AVC的情形下,那么網(wǎng)絡(luò)節(jié)點(diǎn)不可能改變nal_ref_idc的值而不引入解碼錯誤。如上面已經(jīng)提到的,對于AVC, nal_ref_idc==0意味著畫面是非參考畫面。這意味著解碼畫面緩沖器沒有被更新,而是保持當(dāng)前狀態(tài)。如果解碼器通過將nal_rer_idc設(shè)置為I將非參考畫面轉(zhuǎn)換成參考畫面,則在編碼器和解碼器之間關(guān)于參考畫面將存在失配。因此,重新標(biāo)記是改變原始比特流的一部分的處理,即在許多場景下不可行甚或不可能的處理。
[0012]此外,對于解碼器或網(wǎng)絡(luò)節(jié)點(diǎn)而言下述操作并非微不足道:當(dāng)已經(jīng)移除更高層時,推斷是否可以通過將nal_ref_idc設(shè)置為0來將子流中的具有nal_ref_idc ^ 0的畫面標(biāo)記為非參考。編碼器知道這一點(diǎn),因為其決定如何處理參考畫面。因此,解碼器在對畫面進(jìn)行解碼之前不知道一個層是否能被安全地移除。解碼器必須檢查將來的畫面,以知道一個畫面是否能被安全地移除。相同的情況也適用于其他網(wǎng)絡(luò)節(jié)點(diǎn),對于最外層,網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)nal_ref_idc的值知道畫面是否是非參考畫面。但是,如果該層被網(wǎng)絡(luò)節(jié)點(diǎn)自身或者被該網(wǎng)絡(luò)節(jié)點(diǎn)之前的實(shí)體移除,則網(wǎng)絡(luò)節(jié)點(diǎn)將不再知道。盡管網(wǎng)絡(luò)執(zhí)行更深的分組檢查,并且保持跟蹤緩沖器狀態(tài),但是直到處理將來的幀時,網(wǎng)絡(luò)才能肯定一個畫面是否被用于參考。
[0013]作為示例,解碼器或網(wǎng)絡(luò)節(jié)點(diǎn)難以在流的中間處推斷是否能夠從比特流中安全地移除最高的兩層。如果對應(yīng)的NAL單元報頭的nal_ref_idC的值等于0,則可以安全地移除最高層。但是次高層通常被用于預(yù)測最高層,并且因此具有不等于0的nal_ref_idC。此外,解碼器不會知道次高層畫面是否將被相同層的將來的畫面參考。如果它是用于相同層的將來的畫面的參考畫面,則該畫面不能被移除而不引入將來的解碼錯誤。為了網(wǎng)絡(luò)節(jié)點(diǎn)判斷畫面A是否用于參考,網(wǎng)絡(luò)節(jié)點(diǎn)必須解碼來自按解碼順序在A之后的畫面的信息,以驗證該畫面A不用于參考。這包括保持跟蹤對將來畫面的畫面標(biāo)記,并且將引起節(jié)點(diǎn)中的等待時間。
[0014]因此,實(shí)施例的目的在于:解決上述問題中的至少一個。
[0015]根據(jù)本發(fā)明實(shí)施例的第一方面,提供了一種由編碼器執(zhí)行的方法,該編碼器對由多個畫面構(gòu)成的視頻流的表示進(jìn)行編碼。每個畫面屬于一個層。在該方法中,判斷是否有屬于與當(dāng)前畫面的層相同的層或更低的層的任何畫面正在使用當(dāng)前畫面作為解碼處理中的參考畫面,以及向解碼器發(fā)送指示當(dāng)前畫面是否沒被用作屬于相同層或更低層的任何畫面的參考畫面的信息。
[0016]根據(jù)本發(fā)明實(shí)施例的第二方面,提供了一種網(wǎng)絡(luò)節(jié)點(diǎn)執(zhí)行的方法,該網(wǎng)絡(luò)節(jié)點(diǎn)接收由多個畫面構(gòu)成的視頻流的編碼表示。每個畫面屬于一個層。在該方法中,從編碼器接收指示當(dāng)前畫面是否沒被用作屬于相同層或更低層的任何畫面的參考畫面的信息。
[0017]根據(jù)本發(fā)明實(shí)施例的第三方面,提供了一種用于對由多個畫面構(gòu)成的視頻流的表示進(jìn)行編碼的編碼器。每個畫面屬于一個層。該編碼器包括處理器,該處理器用于判斷是否有屬于與當(dāng)前畫面的層相同的層或更低的層的任何畫面沒有使用當(dāng)前畫面作為解碼處理中的參考畫面。該編碼器還包括發(fā)射機(jī),該發(fā)射機(jī)用于向解碼器發(fā)送指示當(dāng)前畫面是否沒被用作相同層或更低層中的任何畫面的參考畫面的信息。
[0018]根據(jù)本發(fā)明實(shí)施例的第四方面,提供了一種用于接收由多個畫面構(gòu)成的視頻流的編碼表示的網(wǎng)絡(luò)節(jié)點(diǎn)。每個畫面屬于一個層。該網(wǎng)絡(luò)節(jié)點(diǎn)包括接收機(jī),該接收機(jī)用于從編碼器接收指示當(dāng)前畫面是否沒被用作相同層或更低層中的任何畫面的參考畫面的信息。
[0019]實(shí)施例的優(yōu)點(diǎn)在于:于是,解碼器能夠選擇不解碼該畫面,以便例如降低計算負(fù)荷,并且仍然知道其能夠解碼相同層中的其他畫面。因此,解碼器從編碼器接收在已經(jīng)移除層時畫面是否是非參考畫面的信息。這意味著解碼器能夠容易地判斷不解碼將不會被還未移除的任何畫面參考的畫面。
【具體實(shí)施方式】
[0020]此處描述的實(shí)施例是在HEVC的上下文中說明的,在該上下文中,層是由標(biāo)注為temporal_id的時間層標(biāo)識符來標(biāo)識的。然而,本領(lǐng)域技術(shù)人員理解,實(shí)施例也適用于使用分層結(jié)構(gòu)的其他視頻編碼標(biāo)準(zhǔn)。在該描述中,層是通過時間層來例示的,但是實(shí)施例還可以適用于其他分層視頻編碼方案及其組合,諸如但不限于空間伸縮性、SNR伸縮性、比特深度伸縮性和色度格式伸縮性,其中畫面與層相關(guān)聯(lián)。層被排序并且具有下述特性:在每個包含N個最低層的子流總是可解碼的意義上而言,每個層不知道屬于更高層的畫面。
[0021]如圖3的流程圖中所示,根據(jù)一實(shí)施例,提供了在用于對由多個畫面構(gòu)成的視頻流的表示進(jìn)行編碼的編碼器中執(zhí)行的方法,其中每個畫面屬于一個層。
[0022]判斷301是否有屬于與當(dāng)前畫面的層相同的層或更低的層的任何畫面正在使用當(dāng)前畫面作為解碼處理中的參考畫面,以及向解碼器發(fā)送302指示當(dāng)前畫面是否沒被用作屬于相同層或更低層的任何畫面的參考畫面的信息。
[0023]那意味著,編碼器被配置為:針對每個畫面,發(fā)信號通知:在當(dāng)移除該畫面所屬的層之上的所有層時能夠創(chuàng)建的子流中,該畫面是否是非參考畫面。
[0024]也即,針對具有通過時間層標(biāo)識tldA例示的層標(biāo)識的任何畫面A,編碼器被配置為發(fā)信號通知:在移除具有高于tldA的時間層標(biāo)識的所有畫面的情況下,A是否將是參考畫面。換言之,針對具有時間層標(biāo)識tldA的任何畫面A,編碼器被配置為發(fā)信號通知:A是否沒被用作具有使得tIdB〈=tIdA的時間層標(biāo)識tldB的任何其他畫面B的參考。然而,可以存在這樣的規(guī)則:如果任何畫面C的時間層高于畫面D的時間層,則C不能是D的參考畫面。在該情況下,針對具有時間層標(biāo)識tldA的任何畫面A,編碼器被配置為發(fā)信號通知:A是否沒被用作具有使得tldB=tldA的時間層標(biāo)識tldB的任何其他畫面B的參考。
[0025]因此,如果應(yīng)用了該規(guī)則,則判斷301是否有屬于與當(dāng)前畫面的層相同的層的任何畫面正在使用當(dāng)前畫面作為解碼處理中的參考畫面,以及向解碼器發(fā)送302指示當(dāng)前畫面是否沒被用作屬于相同層的任何畫面的參考畫面的信息。
[0026]在本發(fā)明的一個實(shí)施例中,NAL單元報頭中的語法元素nal_ref_idc的用途被改變,使得其不再指示在該NAL中編碼的畫面是無條件地沒被用于預(yù)測。相反,其被用于指示該畫面沒被用于具有相同時間標(biāo)識(也稱為temporal_id)或者更小時問標(biāo)識的畫面的預(yù)測,這暗示了發(fā)送給解碼器的信息指示當(dāng)前畫面是否沒被用作相同層或更低層中的任何畫面的參考畫面。然而,如果存在規(guī)定禁止畫面使用來自更高層的參考畫面的規(guī)則,則它被用于指示該畫面沒被用于相同層中的(具有相同的temporal_id的)畫面的預(yù)測。
[0027]在備選實(shí)施例中,語法元素nal_ref_idC被定義為使得其值之一指示在該NAL中編碼的畫面沒被用于具有相同或更小時間標(biāo)識的畫面的預(yù)測,其暗示了發(fā)送給解碼器的信息指示當(dāng)前畫面是否沒被用作相同層或更低層中的任何畫面的參考畫面。
[0028]然而,如前所述,可以存在規(guī)定禁止畫面使用來自更高層的參考畫面的規(guī)則。在該情況下,nal_ref_idc被定義為使得其值之一指示在該NAL中編碼的畫面沒被用于相同層中的畫面(例如,具有相同temporal_id的畫面)的預(yù)測。
[0029]Nal_ref_idc的另一值可被用于發(fā)信號通知:編碼畫面是非參考畫面。Nal_ref_idc的其他值可以發(fā)信號通知:編碼畫面是參考畫面,并且不同的nal_ref_idC值可以用于指示NAL優(yōu)先級的順序。
[0030]與參考畫面的傳統(tǒng)定義一致,nal_ref_idc=0可以表明:該畫面沒被用于具有相同temporal_id的任何其他畫面的預(yù)測。nal_ref_idc=l可以表明該畫面可以用于具有相同temporal_id的畫面的預(yù)測。
[0031]在本發(fā)明的一個實(shí)施例中,解碼器操作在通過稱為temporal_id T的時間層T例示的特定的層,這意味著具有小于或等于T的temporal_id的畫面被解碼,而具有高于T的temporal_id的畫面根本不被解碼。具有更高temporal_id的畫面不進(jìn)入解碼器,并且從解碼器的角度看,這些畫面不存在。在這種處理中,根據(jù)實(shí)施例,關(guān)于一個畫面沒被用于相同時間層中的其他畫面的預(yù)測的信息的信號通知使得在畫面屬于最高時間層的情況下能夠單獨(dú)丟棄該畫面。而且,這產(chǎn)生了將這種畫面標(biāo)記為未用于參考的規(guī)范處理。
[0032]應(yīng)該注意,本發(fā)明的實(shí)施例不限于移除畫面A之上的所有層(例如時間層)以創(chuàng)建子流的情況。例如,在解碼資源管理和并行化方面,在包含來自原始流的具有高于A的temporal_id的temporal_id的一些或全部畫面在內(nèi)的子流中,關(guān)于A是否被用作具有相同temporal_id的畫面的參考的信息可能是有用的。
[0033]在本發(fā)明的備選實(shí)施例中,另一語法元素被添加到NAL單元報頭,使得不需要改變nal_ref_idC的定義。因此,該添加的語法元素攜帶發(fā)送給解碼器的信息,其中該信息指示當(dāng)前畫面是否被用作相同層或更低層中的任何畫面的參考畫面。該添加的語法元素可在改變nal_rer_idc的值的處理中使用,備選地,該添加的語法元素可被網(wǎng)絡(luò)節(jié)點(diǎn)或解碼器直接使用。
[0034]在本發(fā)明的備選實(shí)施例中,所述信息的信號通知指示當(dāng)前畫面是否被用作相同層或更低層中的任何畫面的參考畫面。這不是在NAL單元報頭中完成的,而是可以在任何合適的數(shù)據(jù)結(jié)構(gòu)中完成,所述合適的數(shù)據(jù)結(jié)構(gòu)包括但不限于圖像條報頭、圖像條參數(shù)集、畫面報頭或者畫面參數(shù)集。
[0035]應(yīng)該注意,nal_ref_idc具有與nal_ref_flag相同的目的,涉及對畫面是否用作參考畫面的指示。nal_ref_flag用在HEVC中,而nal_ref_idc用在H.264中。相應(yīng)地,nal_ref_flag等于I可以指定NAL單元的內(nèi)容包含序列參數(shù)集、畫面參數(shù)集、自適應(yīng)參數(shù)集、或者可被包括在相同時間層的畫面的參考畫面集中的畫面的圖像條。此外,對于包含圖像條的NAL單元,nal_ref_flag等于0可以指示:該圖像條是沒被包括在相同時間層的任何其他畫面的參考畫面集中的畫面的一部分。
[0036]編碼器執(zhí)行的編碼表示被發(fā)送給網(wǎng)絡(luò)節(jié)點(diǎn),該網(wǎng)絡(luò)節(jié)點(diǎn)可以是網(wǎng)絡(luò)中的中間節(jié)點(diǎn)或者用于解碼該編碼表示的解碼器。因此,還提供了如圖4所示的由網(wǎng)絡(luò)節(jié)點(diǎn)執(zhí)行的方法,該網(wǎng)絡(luò)節(jié)點(diǎn)接收由多個畫面構(gòu)成的視頻流的編碼表示,其中每個畫面屬于一個層。如上面提到的,網(wǎng)絡(luò)節(jié)點(diǎn)例如可以是如移動設(shè)備、電視機(jī)或網(wǎng)絡(luò)中的網(wǎng)絡(luò)節(jié)點(diǎn)之類的設(shè)備的解碼器。網(wǎng)絡(luò)節(jié)點(diǎn)不一定需要解碼整個畫面,僅要求網(wǎng)絡(luò)節(jié)點(diǎn)能夠解碼例如NAL單元報頭和更高層語法中的解碼控制信息。網(wǎng)絡(luò)節(jié)點(diǎn)不一定需要能夠解碼畫面的像素值。
[0037]在解碼器中,從編碼器接收401指示當(dāng)前畫面是否沒被用作屬于相同層或更低層的任何畫面的參考畫面的信息,以及如果當(dāng)前畫面沒被用作屬于相同層或更低層的任何畫面的參考畫面,那么如果當(dāng)前畫面屬于最高層,則可以單獨(dú)丟棄該畫面。此外,當(dāng)前畫面可被標(biāo)記402為未用于參考。
[0038]根據(jù)實(shí)施例,從編碼器接收的信息指示當(dāng)前畫面是否沒被用作屬于相同層的任何畫面的參考畫面,以及如果當(dāng)前畫面沒被用作屬于相同層的任何畫面的參考畫面,那么如果當(dāng)前畫面屬于最高層,則可以單獨(dú)丟棄該當(dāng)前畫面。此外,當(dāng)前畫面可被標(biāo)記為未用于參考。
[0039]本發(fā)明的實(shí)施例的優(yōu)點(diǎn)在于:有可能在不需要改變原始比特流中的值的情況下,在比特流中指示在通過從原始比特流中移除時間層而創(chuàng)建的子流中哪些畫面不會被用于參考。這意味著網(wǎng)絡(luò)節(jié)點(diǎn)能夠容易地確定層N中的畫面P是否可從比特流中移除,其中N是任何層,并且將在高于N的層中的按照解碼器順序在畫面P之后的所有畫面都移除。
[0040]在一個實(shí)施例中,在網(wǎng)絡(luò)節(jié)點(diǎn)中使用來自編碼器的信息來判斷是否能夠在不引入解碼錯誤的情況下從比特流中移除畫面。網(wǎng)絡(luò)節(jié)點(diǎn)被配置為:判斷其希望轉(zhuǎn)發(fā)哪些層,以及因此希望從流中移除哪些層。網(wǎng)絡(luò)節(jié)點(diǎn)解析接收到的信息和分組的temporaljd,以確定是否可能移除該畫面。
[0041]因此,如果接收到的信息指示當(dāng)前畫面沒被用作相同層或更低層中的任何畫面的參考畫面,并且當(dāng)前畫面屬于所接收的最高層,則可以丟棄403當(dāng)前畫面。如果網(wǎng)絡(luò)節(jié)點(diǎn)是中間網(wǎng)絡(luò)節(jié)點(diǎn),則這暗示了接收到的信息不會被轉(zhuǎn)發(fā)給解碼器。
[0042]編碼器還可以被配置為選擇使用時間分層編碼對畫面的序列進(jìn)行編碼。為了實(shí)現(xiàn)簡化的網(wǎng)絡(luò)自適應(yīng),選擇適合于在網(wǎng)絡(luò)節(jié)點(diǎn)中移除層的形式的自適應(yīng)的編碼結(jié)構(gòu)。因此編碼器可被配置為:針對每個畫面P,指示畫面P是被用于將來畫面的參考,還是沒被用于相同層的將來畫面。
[0043]在本發(fā)明的備選實(shí)施例中,視頻編解碼器是多視圖視頻編解碼器并且層標(biāo)識是view_id(視圖標(biāo)識)。這暗示了用view_id替代上面描述中的temporal_id。相應(yīng)地,在該備選中,層是視圖。
[0044]如上面提到的,關(guān)于當(dāng)前畫面是否被用作相同層或更低層中的任何畫面的參考畫面的信息660是在語法元素650中發(fā)信號通知的,如圖6和7中所示,并且該語法元素650由編碼器進(jìn)行編碼,并且由解碼器進(jìn)行解碼。如上面提到的,該語法元素650可在NAL報頭670中攜帶,并且該語法元素在一些實(shí)施例中通過nal_ref_idc=0進(jìn)行例示。圖5示意性地說明了畫面的編碼表示60的示例。該編碼表示60包括表示圖像條中的像素塊的編碼像素數(shù)據(jù)的視頻凈荷數(shù)據(jù)。該編碼表示60還包括攜帶控制信息的圖像條報頭65。該圖像條報頭65與視頻凈荷和網(wǎng)絡(luò)提取層(NAL)報頭64 —起形成作為從編碼器輸出的實(shí)體的NAL單元。為此,可以添加諸如實(shí)時傳輸協(xié)議(RTP)報頭63、用戶數(shù)據(jù)報協(xié)議(UDP)報頭62和互聯(lián)網(wǎng)協(xié)議(IP)報頭61之類的NAL單元附加報頭,以形成可從編碼器向解碼器傳輸?shù)臄?shù)據(jù)分組。
[0045]因此,提供了如圖6所示的用于對由多個畫面構(gòu)成的視頻流的表示進(jìn)行編碼的編碼器600,其中每個畫面與一個層關(guān)聯(lián)。編碼器600包括:處理器620,用于判斷是否有具有與當(dāng)前畫面的層相同的層或更低的層的任何畫面沒有在使用當(dāng)前畫面作為解碼處理中的參考畫面;以及發(fā)射機(jī)630,用于向解碼器發(fā)送指示當(dāng)前畫面是否沒被用作相同層或更低層的任何畫面的參考畫面的信息660。此外,編碼器600還可以包括:接收機(jī),用于接收610要被編碼的畫面;以及,存儲器640,用于存儲編碼處理中所需的信息(諸如與參考畫面處理相關(guān)聯(lián)的信息)。
[0046]根據(jù)一實(shí)施例,存在規(guī)定禁止畫面使用來自更高層的參考畫面的規(guī)則,并且處理器620被配置為:判斷是否不存在具有與當(dāng)前畫面的層相同的層的畫面正在使用當(dāng)前畫面作為解碼過程中的參考畫面。此外,發(fā)射機(jī)630被配置為:向解碼器700或者另一網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送指示當(dāng)前畫面是否沒被用作相同層中的任何畫面的參考畫面的信息660。
[0047]如此處所說明的,編碼器可以是HEVC編碼器或者使用分層結(jié)構(gòu)的任何其他視頻編碼器。
[0048]因此,提供了接收由多個畫面構(gòu)成的視頻流的編碼表示的網(wǎng)絡(luò)節(jié)點(diǎn)700,其中每個畫面與一個層關(guān)聯(lián)。網(wǎng)絡(luò)節(jié)點(diǎn)700包括:接收機(jī)710,用于從編碼器接收指示當(dāng)前畫面是否被用作在相同層或更低層中的任何畫面的參考畫面的信息660 ;以及處理器720,被配置為,如果當(dāng)前畫面沒被用作在相同層或更低層中的任何畫面的參考畫面,則將當(dāng)前畫面標(biāo)記為未用于參考。此外,網(wǎng)絡(luò)節(jié)點(diǎn)700還可以包括:發(fā)射機(jī),用于向顯示器發(fā)送解碼出的畫面;以及存儲器,用于存儲解碼處理中所需的信息(諸如與參考畫面處理相關(guān)聯(lián)的信息)。
[0049]在一個實(shí)施例中,處理器720還被配置為:如果接收到的信息指示當(dāng)前畫面沒被用作相同層或更低層中的任何畫面的參考畫面,則丟棄當(dāng)前畫面。
[0050]根據(jù)一實(shí)施例,從編碼器600接收到的信息涉及當(dāng)前畫面是否被用作相同層中的任何畫面的參考畫面,并且如果當(dāng)前畫面沒被用作相同層中的任何畫面的參考畫面,則處理器720可被配置為:將當(dāng)前畫面標(biāo)記為未用于參考。而且,在該情形下,處理器還可以被配置為:如果接收到的信息指示當(dāng)前畫面沒被用作相同層中的任何畫面的參考畫面,則丟棄當(dāng)前畫面。
[0051]應(yīng)該注意,如果網(wǎng)絡(luò)節(jié)點(diǎn)是中間網(wǎng)絡(luò)節(jié)點(diǎn),則在接收到的信息指示當(dāng)前畫面沒被用作相同層中的任何畫面的參考畫面的情況下,網(wǎng)絡(luò)節(jié)點(diǎn)優(yōu)選地丟棄當(dāng)前畫面。如果網(wǎng)絡(luò)節(jié)點(diǎn)是顯示視頻流的當(dāng)前畫面的設(shè)備(任何媒體設(shè)備)的解碼器,則網(wǎng)絡(luò)節(jié)點(diǎn)還可以標(biāo)記當(dāng)前畫面。網(wǎng)絡(luò)節(jié)點(diǎn)可以是解碼器和/或網(wǎng)絡(luò)節(jié)點(diǎn),該解碼器和/或網(wǎng)絡(luò)節(jié)點(diǎn)可以服從HEVC。
【權(quán)利要求】
1.一種由編碼器執(zhí)行的方法,所述編碼器對由多個畫面構(gòu)成的視頻流的表示進(jìn)行編碼,其中每個畫面屬于一個層,所述方法包括: -判斷(301)是否有屬于與當(dāng)前畫面的層相同的層或更低的層的任何畫面正在使用當(dāng)前畫面作為解碼處理中的參考畫面;以及 -向解碼器發(fā)送(302)指示當(dāng)前畫面是否沒被用作屬于相同層或更低層中的任何畫面的參考畫面的信息。
2.根據(jù)權(quán)利要求1所述的方法,包括: -判斷(301)是否有屬于與當(dāng)前畫面的層相同的層的任何畫面正在使用當(dāng)前畫面作為解碼處理中的參考畫面;以及 -向解碼器發(fā)送(302)指示當(dāng)前畫面是否沒被用作屬于相同層中的任何畫面的參考畫面的信息。
3.根據(jù)權(quán)利要求1或2中任一項所述的方法,其中所述信息是在NAL報頭中發(fā)送的。
4.根據(jù)權(quán)利要求3所述的方法,其中所述信息是在NAL報頭的語法元素中發(fā)送的。
5.根據(jù)權(quán)利要求4所述的方法,其中所述信息是在NAL報頭的nal_ref_idC中發(fā)送的。
6.根據(jù)權(quán)利要求1或2所述的方法,其中所述信息是在圖像條報頭、圖像條參數(shù)集、畫面報頭或畫面參數(shù)集中的任一個中發(fā)送的。
7.根據(jù)權(quán)利要求1到6中任一項所述的方法,其中所述層是時間層、空間層或視圖層中的任一個。
8.—種由網(wǎng)絡(luò)節(jié)點(diǎn)執(zhí)行的方法,所述網(wǎng)絡(luò)節(jié)點(diǎn)接收由多個畫面構(gòu)成的視頻流的編碼表示,其中每個畫面屬于一個層,所述方法包括: -從編碼器接收(401)指示當(dāng)前畫面是否沒被用作屬于相同層或更低層中的任何畫面的參考畫面的信息。
9.根據(jù)權(quán)利要求8所述的方法,其中如果當(dāng)前畫面沒被用作屬于相同層或更低層中的任何畫面的參考畫面,則 -將當(dāng)前畫面標(biāo)記(402)為未用于參考。
10.根據(jù)權(quán)利要求8或9中任一項所述的方法,包括另一步驟: -如果接收到的信息指示當(dāng)前畫面沒被用作相同層或更低層中的任何畫面的參考畫面,并且屬于最高層,則丟棄(403)當(dāng)前畫面。
11.根據(jù)權(quán)利要求9所述的方法,其中從編碼器接收到的信息指示當(dāng)前畫面是否沒被用作相同層中的任何畫面的參考畫面,以及如果當(dāng)前畫面沒被用作相同層中的任何畫面的參考畫面,則 -將當(dāng)前畫面標(biāo)記(402)為未用于參考。
12.根據(jù)權(quán)利要求11所述的方法,包括另一步驟: -如果接收到的信息指示當(dāng)前畫面沒被用作相同層中的任何畫面的參考畫面,并且屬于最高層,則丟棄(403)當(dāng)前畫面。
13.根據(jù)權(quán)利要求8到12中任一項所述的方法,其中所述信息是在NAL報頭中接收的。
14.根據(jù)權(quán)利要求13所述的方法,其中所述信息是在NAL報頭中的語法元素中接收的。
15.根據(jù)權(quán)利要求14所述的方法,其中所述信息是在NAL報頭中的nal_ref_flag中接收的。
16.根據(jù)權(quán)利要求8到13中任一項所述的方法,其中所述信息是在圖像條報頭、圖像條參數(shù)集、畫面報頭或畫面參數(shù)集中的任一個中接收的。
17.根據(jù)權(quán)利要求8到16中任一項所述的方法,其中所述層是時間層、空間層或視圖層中的任一個。
18.—種編碼器(600),用于對由多個畫面構(gòu)成的視頻流的表示進(jìn)行編碼,其中每個畫面屬于一個層,所述編碼器(600)包括: 處理器(620),用于判斷是否有具有與當(dāng)前畫面的層相同的層或更低的層的任何畫面沒有使用當(dāng)前畫面作為解碼處理中的參考畫面;以及 發(fā)射機(jī)(630),用于向解碼器發(fā)送指示當(dāng)前畫面是否沒被用作相同層或更低層中的任何畫面的參考畫面的信息(660)。
19.根據(jù)權(quán)利要求18所述的編碼器(600),其中所述處理器(620)被配置為:判斷是否有具有與當(dāng)前畫面的層相同的層的任何畫面沒有使用當(dāng)前畫面作為解碼處理中的參考畫面;以及 所述發(fā)射機(jī)(630)被配置為:向解碼器發(fā)送指示當(dāng)前畫面是否沒被用作相同層中的任何畫面的參考畫面的信息(660)。
20.根據(jù)權(quán)利要求18或19中任一項所述的編碼器(600),其中所述發(fā)射機(jī)(630)被配置為:在NAL報頭(670)中發(fā)送所述信息(660)。
21.根據(jù)權(quán)利要求20所述的編碼器(600),其中所述發(fā)射機(jī)(630)被配置為:在NAL報頭(670)的語法元素中發(fā)送所述信息(660)。
22.根據(jù)權(quán)利要求21所述的編碼器(600),其中所述發(fā)射機(jī)(630)被配置為:在NAL報頭(670)的nal_ref_idc中發(fā)送所述信息。
23.根據(jù)權(quán)利要求18或19所述的編碼器(600),其中所述發(fā)射機(jī)(630)被配置為:在圖像條報頭、圖像條參數(shù)集、畫面報頭或畫面參數(shù)集中的任一個中發(fā)送所述信息。
24.根據(jù)權(quán)利要求18到23中任一項所述的編碼器(600),其中所述編碼器是高效視頻編碼“HEVC”編碼器。
25.一種接收由多個畫面構(gòu)成的視頻流的編碼表示的網(wǎng)絡(luò)節(jié)點(diǎn)(700),其中每個畫面屬于一個層,所述網(wǎng)絡(luò)節(jié)點(diǎn)(700)包括: 接收機(jī)(710),用于從編碼器接收指示當(dāng)前畫面是否沒被用作相同層或更低層中的任何畫面的參考畫面的信息(660)。
26.根據(jù)權(quán)利要求25所述的網(wǎng)絡(luò)節(jié)點(diǎn)(700),還包括: 處理器(720),被配置為:如 果當(dāng)前畫面沒被用作相同層或更低層中的任何畫面的參考畫面,則將當(dāng)前畫面標(biāo)記為未用于參考。
27.根據(jù)權(quán)利要求25到26中任一項所述的網(wǎng)絡(luò)節(jié)點(diǎn)(700),其中所述處理器(720)還被配置為:如果接收到的信息指示當(dāng)前畫面沒被用作相同層或更低層中的任何畫面的參考畫面,則丟棄當(dāng)前畫面。
28.根據(jù)權(quán)利要求25所述的網(wǎng)絡(luò)節(jié)點(diǎn)(700),其中從編碼器接收到的信息(660)指示當(dāng)前畫面是否沒被用作相同層中的任何畫面的參考畫面,以及所述處理器(720)被配置為:如果當(dāng)前畫面沒被用作相同層中的任何畫面的參考畫面,則將當(dāng)前畫面標(biāo)記為未用于參考。
29.根據(jù)權(quán)利要求25或28所述的網(wǎng)絡(luò)節(jié)點(diǎn)(700),其中所述處理器還被配置為:如果接收到的信息指示當(dāng)前畫面沒被用作相同層中的任何畫面的參考畫面,則丟棄當(dāng)前畫面。
30.根據(jù)權(quán)利要求25到29中任一項所述的網(wǎng)絡(luò)節(jié)點(diǎn)(700),其中所述信息(660)是在NAL報頭(670)中接收的。
31.根據(jù)權(quán)利要求30所述的網(wǎng)絡(luò)節(jié)點(diǎn)(700),其中所述信息(660)是在NAL報頭(670)的語法元素中接收的。
32.根據(jù)權(quán)利要求31所述的網(wǎng)絡(luò)節(jié)點(diǎn)(700),其中所述信息(660)是在NAL報頭(670)的nal_ref_flag中接收的。
33.根據(jù)權(quán)利要求25到29中任一項所述的網(wǎng)絡(luò)節(jié)點(diǎn)(700),其中所述信息(660)是在圖像條報頭、圖像條參數(shù)集、畫面報頭或畫面參數(shù)集中的任一個中接收的。
34.根據(jù)權(quán)利要求25到33中任一項所述的網(wǎng)絡(luò)節(jié)點(diǎn)(700),其中所述網(wǎng)絡(luò)節(jié)點(diǎn)是設(shè)備中的解碼器。
35.根據(jù)權(quán)利要求24到28中任一項所述的網(wǎng)絡(luò)節(jié)點(diǎn)(700),其中所述網(wǎng)絡(luò)節(jié)點(diǎn)是中間網(wǎng)絡(luò)節(jié)點(diǎn)。
36.根據(jù)權(quán)利要求24到33中任一項所述的網(wǎng)絡(luò)節(jié)點(diǎn)(700),其中所述網(wǎng)絡(luò)節(jié)點(diǎn)服從高效視頻編碼“ HEVC ”。
【文檔編號】H04N19/70GK103650502SQ201280034586
【公開日】2014年3月19日 申請日期:2012年6月26日 優(yōu)先權(quán)日:2011年7月13日
【發(fā)明者】理卡爾德·肖伯格, 喬納坦·薩繆爾森 申請人:瑞典愛立信有限公司