用于視頻編碼和解碼的方法和設(shè)備的制作方法
【專利摘要】本發(fā)明涉及一種方法,其包括:接收第一訪問(wèn)單元序列和第二訪問(wèn)單元序列;對(duì)第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)訪問(wèn)單元進(jìn)行解碼;對(duì)第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行解碼;確定在第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的輸出時(shí)間之前,第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元是否可被解碼;以及基于確定在下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和輸出時(shí)間的至少其中之一之前無(wú)法解碼下一個(gè)可解碼訪問(wèn)單元,跳過(guò)對(duì)于下一個(gè)可解碼訪問(wèn)單元的解碼。
【專利說(shuō)明】用于視頻編碼和解碼的方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明總體上涉及視頻編碼的領(lǐng)域,更具體來(lái)說(shuō)涉及對(duì)于已編碼數(shù)據(jù)的編碼和/或解碼中的高效流切換。
【背景技術(shù)】
[0002]本節(jié)意圖提供關(guān)于在權(quán)利要求書(shū)中引述的本發(fā)明的背景或情境。這里的描述可能包括可以對(duì)其進(jìn)行研究的想法,但是不一定包括先前已被設(shè)想到或研究過(guò)的想法。因此,除非在這里另行表明,否則在本節(jié)中描述的內(nèi)容并不是本申請(qǐng)中的說(shuō)明書(shū)和權(quán)利要求書(shū)的現(xiàn)有技術(shù),并且并不因?yàn)榘ㄔ诒竟?jié)中而承認(rèn)其為現(xiàn)有技術(shù)。
[0003]為了促進(jìn)通過(guò)一個(gè)或更多網(wǎng)絡(luò)傳送視頻內(nèi)容,已經(jīng)開(kāi)發(fā)出幾個(gè)編碼標(biāo)準(zhǔn)。視頻編碼標(biāo)準(zhǔn)包括 ITU-T H.261、IS0/IEC MPEG-1 視頻、ITU-T H.262 或 IS0/IEC MPEG-2 視頻、ITU-T H.263、IS0/IEC MPEG-4視覺(jué)、ITU-T H.264(其也被稱作 IS0/IEC MPEG_4AVC)、R 264/AVC的可伸縮視頻編碼(SVC)擴(kuò)展以及H.264/AVC的多視圖視頻編碼(MVC)擴(kuò)展。此外,當(dāng)前正致力于開(kāi)發(fā)新的視頻編碼標(biāo)準(zhǔn)。一種開(kāi)發(fā)中的此類標(biāo)準(zhǔn)是高效率視頻編碼(ffivc)標(biāo)準(zhǔn)。
[0004]高級(jí)視頻編碼(H.264/AVC)標(biāo)準(zhǔn)被稱作ITU-T推薦H.264和IS0/IEC國(guó)際標(biāo)準(zhǔn)14496-10,其也被稱作MPEG-4第10部分高級(jí)視頻編碼(AVC)。H.264/AVC標(biāo)準(zhǔn)已有幾種版本,其中每一種都在規(guī)范中集成了新的特征。第8版指的是包括可伸縮視頻編碼(SVC)修正案在內(nèi)的標(biāo)準(zhǔn)。第10版包括多視圖視頻編碼(MVC)修正案。
[0005]由于其顯著的壓縮效率改進(jìn),提出使用通過(guò)H.264/AVC、SVC, MVC和HVC而實(shí)現(xiàn)的多級(jí)時(shí)間可伸縮性分級(jí)結(jié)構(gòu)。但是所述多層分級(jí)結(jié)構(gòu)也可能在發(fā)生比特流之間的切換時(shí)產(chǎn)生問(wèn)題。不同比特率的已編碼流之間的切換是例如在用于因特網(wǎng)的單播流送中所使用的一種方法,以便將所傳送的比特率與預(yù)期網(wǎng)絡(luò)吞吐量相匹配并且避免網(wǎng)絡(luò)中的擁塞。為了實(shí)現(xiàn)各個(gè)流之間的切換,各個(gè)流共享共同的時(shí)間線。舉例來(lái)說(shuō),3GPP和MPEG DASH規(guī)定所有表示共享相同的時(shí)間線。這意味著在所有流都共享相同幀率的常見(jiàn)情況下,一個(gè)流中的第n幀與任何其他流中的第n幀具有相同的呈現(xiàn)時(shí)間標(biāo)記并且表示相同的原始圖片。
【發(fā)明內(nèi)容】
[0006]在本發(fā)明的一方面中,一種方法包括:接收第一訪問(wèn)單元序列和第二訪問(wèn)單元序列;對(duì)第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)訪問(wèn)單元進(jìn)行解碼;對(duì)第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行解碼;確定在第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的輸出時(shí)間的至少其中之一之前,第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元是否可被解碼;以及基于確定在下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和輸出時(shí)間的至少其中之一之前無(wú)法解碼下一個(gè)可解碼訪問(wèn)單元,跳過(guò)對(duì)于下一個(gè)可解碼訪問(wèn)單元的解碼。
[0007]在一個(gè)實(shí)施例中,所述方法還包括:跳過(guò)對(duì)于取決于所述下一個(gè)可解碼訪問(wèn)單元的任何訪問(wèn)單元的解碼。在一個(gè)實(shí)施例中,所述方法還包括:基于確定在第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和下一個(gè)可解碼訪問(wèn)單元的輸出時(shí)間的至少其中之一之前可以解碼下一個(gè)可解碼訪問(wèn)單元,對(duì)下一個(gè)可解碼訪問(wèn)單元進(jìn)行解碼??梢灾貜?fù)所述確定以及跳過(guò)解碼或解碼,直到不再有訪問(wèn)單元為止。在一個(gè)實(shí)施例中,對(duì)于第一可解碼訪問(wèn)單元的解碼可以包括:在相對(duì)于前一個(gè)解碼位置的一個(gè)不連續(xù)位置處開(kāi)始解碼。在一個(gè)實(shí)施例中,每一個(gè)訪問(wèn)單元可以是包含錨畫(huà)面的IDR訪問(wèn)單元、SVC訪問(wèn)單元或者M(jìn)VC訪問(wèn)單元的其中之一。
[0008]在本發(fā)明的另一方面中,一種方法包括:從接收器接收針對(duì)從第一訪問(wèn)單元序列切換到第二訪問(wèn)單元序列的請(qǐng)求;對(duì)第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)可解碼訪問(wèn)單元進(jìn)行封裝以供傳送;對(duì)第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行封裝以供傳送;確定在第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的傳送時(shí)間的至少其中之一之前,第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元是否可被封裝;基于確定在下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和傳送時(shí)間的至少其中之一之前無(wú)法封裝下一個(gè)可解碼訪問(wèn)單元,跳過(guò)對(duì)于下一個(gè)可解碼訪問(wèn)單元的封裝;以及向接收器傳送已封裝的可解碼訪問(wèn)單元。
[0009]在本發(fā)明的另一方面中,一種方法包括生成針對(duì)解碼第一訪問(wèn)單元序列和第二訪問(wèn)單元序列的指令,所述指令包括:對(duì)第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)訪問(wèn)單元進(jìn)行解碼;對(duì)第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行解碼;確定在第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的輸出時(shí)間的至少其中之一之前,第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元是否可被解碼;以及基于確定在下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和輸出時(shí)間的至少其中之一之前無(wú)法解碼下一個(gè)可解碼訪問(wèn)單元,跳過(guò)對(duì)于下一個(gè)可解碼訪問(wèn)單元的解碼。
[0010]在本發(fā)明的另一方面中,一種方法包括生成針對(duì)封裝第一訪問(wèn)單元序列和第二訪問(wèn)單元序列的指令,所述指令包括:對(duì)第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)可解碼訪問(wèn)單元進(jìn)行封裝;對(duì)第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行封裝以供傳送;確定在第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的傳送時(shí)間的至少其中之一之前,第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元是否可被封裝;以及基于確定在下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和傳送時(shí)間的至少其中之一之前無(wú)法封裝下一個(gè)可解碼訪問(wèn)單元,跳過(guò)對(duì)于下一個(gè)可解碼訪問(wèn)單元的封裝。
[0011]在本發(fā)明的另一方面中,一種設(shè)備包括解碼器,其被配置成:對(duì)第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)訪問(wèn)單元進(jìn)行解碼;對(duì)第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行解碼;確定在第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的輸出時(shí)間的至少其中之一之前,第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元是否可被解碼;以及基于確定在下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和輸出時(shí)間的至少其中之一之前無(wú)法解碼下一個(gè)可解碼訪問(wèn)單元,跳過(guò)對(duì)于下一個(gè)可解碼訪問(wèn)單元的解碼。
[0012]在本發(fā)明的另一方面中,一種設(shè)備包括編碼器,其被配置成:對(duì)第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)可解碼訪問(wèn)單元進(jìn)行封裝以供傳送;對(duì)第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行封裝以供傳送;確定在第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的傳送時(shí)間的至少其中之一之前,第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元是否可被封裝;以及基于確定在下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和傳送時(shí)間的至少其中之一之前無(wú)法封裝下一個(gè)可解碼訪問(wèn)單元,跳過(guò)對(duì)于下一個(gè)可解碼訪問(wèn)單元的封裝。
[0013]在本發(fā)明的另一方面中,一種設(shè)備包括文件生成器,其被配置成生成用以實(shí)施以下步驟的指令:對(duì)第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)訪問(wèn)單元進(jìn)行解碼;對(duì)第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行解碼;確定在第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的輸出時(shí)間的至少其中之一之前,第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元是否可被解碼;以及基于確定在下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和輸出時(shí)間的至少其中之一之前無(wú)法解碼下一個(gè)可解碼訪問(wèn)單元,跳過(guò)對(duì)于下一個(gè)可解碼訪問(wèn)單元的解碼。
[0014]在本發(fā)明的另一方面中,一種設(shè)備包括文件生成器,其被配置成生成用以實(shí)施以下步驟的指令:對(duì)第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)可解碼訪問(wèn)單元進(jìn)行封裝以供傳送;對(duì)第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行封裝以供傳送;確定在第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的傳送時(shí)間的至少其中之一之前,第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元是否可被封裝;以及基于確定在下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和傳送時(shí)間的至少其中之一之前無(wú)法封裝下一個(gè)可解碼訪問(wèn)單元,跳過(guò)對(duì)于下一個(gè)可解碼訪問(wèn)單元的封裝。
[0015]在本發(fā)明的另一方面中,一種設(shè)備包括至少一個(gè)處理器和至少一個(gè)存儲(chǔ)器。所述存儲(chǔ)器單元包括計(jì)算機(jī)程序代碼。所述至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)程序代碼被配置成利用所述至少一個(gè)處理器使得所述設(shè)備至少實(shí)施以下步驟:對(duì)第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)訪問(wèn)單元進(jìn)行解碼;對(duì)第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行解碼;確定在第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的輸出時(shí)間的至少其中之一之前,第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元是否可被解碼;以及基于確定在下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和輸出時(shí)間的至少其中之一之前無(wú)法解碼下一個(gè)可解碼訪問(wèn)單元,跳過(guò)對(duì)于下一個(gè)可解碼訪問(wèn)單元的解碼。
[0016]在本發(fā)明的另一方面中,一種設(shè)備包括至少一個(gè)處理器和至少一個(gè)存儲(chǔ)器。所述存儲(chǔ)器單元包括計(jì)算機(jī)程序代碼。所述至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)程序代碼被配置成利用所述至少一個(gè)處理器使得所述設(shè)備至少實(shí)施以下步驟:對(duì)第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)訪問(wèn)單元進(jìn)行封裝以供傳送;對(duì)第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行封裝以供傳送;確定在第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的傳送時(shí)間的至少其中之一之前,第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元是否可被封裝;以及基于確定在下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和傳送時(shí)間的至少其中之一之前無(wú)法封裝下一個(gè)可解碼訪問(wèn)單元,跳過(guò)對(duì)于下一個(gè)可解碼訪問(wèn)單元的封裝。
[0017]在本發(fā)明的另一方面中,一種計(jì)算機(jī)程序產(chǎn)品被具體實(shí)現(xiàn)在計(jì)算機(jī)可讀介質(zhì)上并且包括:用于對(duì)第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)訪問(wèn)單元進(jìn)行解碼的計(jì)算機(jī)代碼;用于對(duì)第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行解碼的計(jì)算機(jī)代碼;用于確定在第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的輸出時(shí)間的至少其中之一之前是否可解碼第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的計(jì)算機(jī)代碼;以及用于根據(jù)確定在下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和輸出時(shí)間的至少其中之一之前無(wú)法解碼下一個(gè)可解碼訪問(wèn)單元而跳過(guò)對(duì)于下一個(gè)可解碼訪問(wèn)單元的解碼的計(jì)算機(jī)代碼。
[0018]在本發(fā)明的另一方面中,一種計(jì)算機(jī)程序產(chǎn)品被具體實(shí)現(xiàn)在計(jì)算機(jī)可讀介質(zhì)上并且包括:用于對(duì)第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)訪問(wèn)單元進(jìn)行封裝以供傳送的計(jì)算機(jī)代碼;用于對(duì)第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行封裝以供傳送的計(jì)算機(jī)代碼;用于確定在第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的傳送時(shí)間的至少其中之一之前是否可封裝第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元的計(jì)算機(jī)代碼;以及用于根據(jù)確定在下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和傳送時(shí)間的至少其中之一之前無(wú)法封裝下一個(gè)可解碼訪問(wèn)單元而跳過(guò)對(duì)于下一個(gè)可解碼訪問(wèn)單元的封裝的計(jì)算機(jī)代碼。
[0019]通過(guò)后面結(jié)合附圖做出的詳細(xì)描述,本發(fā)明的各個(gè)實(shí)施例的前述和其他優(yōu)點(diǎn)和特征連同其組織和操作方式將變得顯而易見(jiàn)。
【專利附圖】
【附圖說(shuō)明】
[0020]下面將通過(guò)參照附圖來(lái)描述本發(fā)明的實(shí)施例,其中:
[0021]圖1示出了具有時(shí)間可伸縮性的示例性分級(jí)編碼結(jié)構(gòu);
[0022]圖2a示出了根據(jù)ISO基礎(chǔ)媒體文件格式的示例性箱盒(box);
[0023]圖2b示出了根據(jù)ISO基礎(chǔ)媒體文件格式的簡(jiǎn)化文件結(jié)構(gòu)的一個(gè)實(shí)例;
[0024]圖3是示出了樣本分組的示例性箱盒;
[0025]圖4示出了包含影片片段的示例性箱盒,其中包括SampletoToGroup (樣本到組)箱盒;
[0026]圖5描繪出AVC樣本的結(jié)構(gòu)的一個(gè)實(shí)例;
[0027]圖6描繪出媒體呈現(xiàn)描述XML圖解的一個(gè)實(shí)例;
[0028]圖7a_7c示出了具有五個(gè)時(shí)間層級(jí)的示例性分級(jí)可伸縮比特流;
[0029]圖8是示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種示例性實(shí)現(xiàn)方式的流程圖;
[0030]圖9a_9c按照捕獲順序、解碼順序和輸出順序示出了示例性序列;
[0031]圖1Oa-1Ob結(jié)合根據(jù)本發(fā)明的實(shí)施例的圖9a的從一個(gè)流到另一個(gè)流的切換分別按照解碼順序和輸出順序示出了圖9a的示例性序列;
[0032]圖1Oc-1Od結(jié)合利用延遲切換的圖9a的從一個(gè)流到另一個(gè)流的切換分別按照解碼順序和輸出順序示出了圖9a的示例性序列;
[0033]圖1la-1lb示出了從針對(duì)圖7a的序列實(shí)施的切換點(diǎn)開(kāi)始的替換序列的一個(gè)實(shí)例;
[0034]圖1lc-1ld示出了從針對(duì)圖7a的序列實(shí)施的切換點(diǎn)開(kāi)始的替換序列的另一個(gè)實(shí)例;
[0035]圖12是可以在其中實(shí)施本發(fā)明的各個(gè)實(shí)施例的系統(tǒng)的總覽圖;[0036]圖13示出了可以根據(jù)本發(fā)明的各個(gè)實(shí)施例利用的示例性電子裝置的透視圖;
[0037]圖14是可以包括在圖13的電子裝置中的電路的示意性表示;以及
[0038]圖15是可以在其中實(shí)施各個(gè)實(shí)施例的通用多媒體通信系統(tǒng)的圖形表示;
[0039]圖16描繪出包括在HTTP流送系統(tǒng)中的一些功能方塊、格式和接口的示例性圖示;
[0040]圖17描繪出對(duì)于服務(wù)器文件格式的文件結(jié)構(gòu)的一個(gè)實(shí)例,其中一個(gè)文件包含構(gòu)成一項(xiàng)呈現(xiàn)的整個(gè)持續(xù)時(shí)間的各個(gè)元數(shù)據(jù)片段;
[0041]圖18示出了作為HTTP流送服務(wù)器操作的常規(guī)web服務(wù)器的一個(gè)實(shí)例;以及
[0042]圖19示出了與動(dòng)態(tài)流送服務(wù)器連接的常規(guī)web服務(wù)器的一個(gè)實(shí)例。
【具體實(shí)施方式】
[0043]在后面的描述中,出于解釋而非限制的目的闡述了許多細(xì)節(jié)和描述以便提供對(duì)于本發(fā)明的透徹理解。但是本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,可以在背離這些細(xì)節(jié)和描述的其他實(shí)施例中實(shí)踐本發(fā)明。
[0044]如前所述,高級(jí)視頻編碼(H.264/AVC)標(biāo)準(zhǔn)被稱作ITU-T推薦H.264和IS0/IEC國(guó)際標(biāo)準(zhǔn)14496-10,其也被稱作MPEG-4第10部分高級(jí)視頻編碼(AVC)。H.264/AVC標(biāo)準(zhǔn)已有幾種版本,其中每一種都在規(guī)范中集成了新的特征。第8版指的是包括可伸縮視頻編碼(SVC)修正案在內(nèi)的標(biāo)準(zhǔn)。第10版包括多視圖視頻編碼(MVC)修正案。
[0045]類似于早前的視頻編碼標(biāo)準(zhǔn),在H.264/AVC中規(guī)定了比特流語(yǔ)法和語(yǔ)義以及針對(duì)無(wú)錯(cuò)比特流的解碼處理。編碼處理沒(méi)有被規(guī)定??梢岳迷贖.264/AVC的附錄C中規(guī)定的假設(shè)參考解碼器(HRD )來(lái)驗(yàn)證比特流和解碼器一致性。所述標(biāo)準(zhǔn)包含幫助應(yīng)對(duì)傳送錯(cuò)誤和丟失的編碼工具,但是在編碼過(guò)程中對(duì)于所述工具的使用是可選的,并且還沒(méi)有針對(duì)有錯(cuò)比特流規(guī)定解碼處理。
[0046]對(duì)于到H.264/AVC編碼器的輸入和H.264/AVC解碼器的輸出的基本單元是圖片。圖片可以是幀或場(chǎng)。幀包括亮度樣本和相應(yīng)的色度樣本的矩陣。當(dāng)源信號(hào)被交織時(shí),場(chǎng)是幀的交替樣本行的集合,并且可以被用作編碼器輸入。宏塊是亮度樣本的16x16塊和相應(yīng)的色度樣本塊。一個(gè)圖片被劃分成一個(gè)或更多切片組,一個(gè)切片組包含一個(gè)或更多切片。一個(gè)切片包含在特定切片組內(nèi)的光柵掃描中接連排序的整數(shù)個(gè)宏塊。
[0047]對(duì)于H.264/AVC編碼器的輸出和H.264/AVC解碼器的輸出的基本單元是網(wǎng)絡(luò)抽象層(NAL)單元。對(duì)于部分的或者受到破壞的NAL單元的解碼通常非常困難。為了通過(guò)面向分組的網(wǎng)絡(luò)進(jìn)行傳輸或者為了存儲(chǔ)到結(jié)構(gòu)化文件中,通常把NAL單元封裝到分組或類似的結(jié)構(gòu)中。針對(duì)不提供成幀結(jié)構(gòu)的傳送或存儲(chǔ)環(huán)境,在H.264/AVC中規(guī)定了字節(jié)流格式。字節(jié)流格式通過(guò)在每一個(gè)NAL單元前方附著一個(gè)起始代碼而把各個(gè)NAL單元彼此分開(kāi)。為了避免對(duì)于NAL單元邊界的錯(cuò)誤檢測(cè),編碼器運(yùn)行面向字節(jié)的起始代碼仿效阻止算法,其在本將出現(xiàn)起始代碼的情況下向NAL單元有效載荷添加仿效阻止字節(jié)。為了實(shí)現(xiàn)面向分組和面向流的系統(tǒng)之間的直接明了的網(wǎng)關(guān)操作,總是施行起始代碼仿效阻止而不管是否在使用字節(jié)流格式。
[0048]H.264/AVC的比特流語(yǔ)法表明特定圖片是否用于任何其他圖片的圖片間預(yù)測(cè)的參考圖片。因此,未被用于預(yù)測(cè)的圖片(即非參考圖片)可以被安全地處置。在H.264/AVC中,任何編碼類型(I,P,B)的圖片都可以是參考圖片或非參考圖片。NAL單元報(bào)頭表明該NAL單元的類型,并且表明包含在該NAL單元中的已編碼切片是參考圖片還是非參考圖片的一部分。
[0049]H.264/AVC規(guī)定針對(duì)已解碼參考圖片標(biāo)記的處理以便控制解碼器中的存儲(chǔ)器消耗。在序列參數(shù)集合中確定被用于圖片間預(yù)測(cè)的參考圖片的最大數(shù)目,其被稱作M。在對(duì)參考圖片進(jìn)行解碼時(shí),將其標(biāo)記為“被用于參考”。如果對(duì)于參考圖片的解碼導(dǎo)致多于M個(gè)圖片被標(biāo)記為“被用于參考”,則把至少一個(gè)圖片標(biāo)記為“未被用于參考”。對(duì)于已解碼參考圖片標(biāo)記存在兩種類型的操作:自適應(yīng)存儲(chǔ)器控制和滑動(dòng)窗口?;趫D片來(lái)選擇對(duì)于已解碼參考圖片標(biāo)記的操作模式。自適應(yīng)存儲(chǔ)器控制允許通過(guò)明確的信號(hào)來(lái)表明哪些圖片被標(biāo)記為“被用于參考”,并且還可以為短期參考圖片指派長(zhǎng)期索引。自適應(yīng)存儲(chǔ)器控制要求在比特流中存在存儲(chǔ)器管理控制操作(MMCO)參數(shù)。如果使用滑動(dòng)窗口操作模式并且有M個(gè)圖片被標(biāo)記為“被用于參考”,則把作為被標(biāo)記為“被用于參考”的那些短期參考圖片當(dāng)中的第一已解碼圖片的該短期參考圖片標(biāo)記為“未被用于參考”。換句話說(shuō),滑動(dòng)窗口操作模式導(dǎo)致短期參考圖片之間的先進(jìn)先出緩沖操作。
[0050]H.264/AVC中的其中一項(xiàng)存儲(chǔ)器管理控制操作使得除了當(dāng)前圖片之外的所有參考圖片都被標(biāo)記為“未被用于參考”。瞬時(shí)解碼刷新(IDR)圖片僅僅包含內(nèi)部編碼切片,并且導(dǎo)致參考圖片的類似“重置”。
[0051]利用針對(duì)參考圖片列表的索引來(lái)表明用于圖片間預(yù)測(cè)的參考圖片。利用可變長(zhǎng)度編碼對(duì)所述索引進(jìn)行編碼,也就是說(shuō)該索引越小,相應(yīng)的語(yǔ)法元素就變得越短。對(duì)于H.264/AVC的每一個(gè)雙向預(yù)測(cè)切片生成兩個(gè)參考圖片列表,并且對(duì)于H.264/AVC的每一個(gè)內(nèi)部編碼切片形成一個(gè)參考圖片列表。通過(guò)兩個(gè)步驟來(lái)構(gòu)造參考圖片列表:首先生成初始參考圖片列表,隨后可以通過(guò)包含在切片報(bào)頭中的參考圖片列表重新排序(RPLR)命令對(duì)初始參考圖片列表進(jìn)行重新排序。RPLR命令表明被排序到對(duì)應(yīng)的參考圖片列表的開(kāi)頭的圖片。
[0052]frame_num(幀號(hào))語(yǔ)法元素被用于涉及多個(gè)參考圖片的各種解碼處理。在H.264/AVC中,對(duì)于IDR圖片的frame_num的數(shù)值是O。對(duì)于非IDR圖片的frame_num的數(shù)值等于按照解碼順序的前一個(gè)參考圖片的frame_num遞增I (也就是說(shuō)在模運(yùn)算中,frame_num的數(shù)值在frame_num的最大數(shù)值之后繞回到O)。
[0053]對(duì)于每一個(gè)圖片導(dǎo)出圖片順序計(jì)數(shù)(POC)的數(shù)值,并且數(shù)值隨著相對(duì)于前一個(gè)IDR圖片或者包含將所有圖片標(biāo)記為“未被用于參考”的存儲(chǔ)器管理控制操作的圖片在輸出順序中的圖片位置的增加是非減的。因此,POC表明圖片的輸出順序。其還在解碼處理中被用于雙向預(yù)測(cè)切片的時(shí)間直接模式下的運(yùn)動(dòng)矢量的隱含縮放,用于加權(quán)預(yù)測(cè)中隱含導(dǎo)出的權(quán)重,以及用于B切片的參考圖片列表初始化。此外,POC還被用于驗(yàn)證輸出順序一致性。
[0054]在H.264/AVC的附錄C中規(guī)定的假設(shè)參考解碼器(HRD)被用來(lái)檢查比特流和解碼器一致性。HRD包含已編碼圖片緩沖器(CPB)、瞬時(shí)解碼處理、已解碼圖片緩沖器(DPB)以及輸出圖片裁剪塊。CPB和瞬時(shí)解碼處理類似于任何其他視頻編碼標(biāo)準(zhǔn)被規(guī)定,輸出圖片裁剪塊簡(jiǎn)單地對(duì)來(lái)自處于用信號(hào)表示的輸出圖片范圍之外的已解碼圖片的那些樣本進(jìn)行裁剪。
[0055]HRD中的已編碼圖片緩沖的操作可以被如下簡(jiǎn)化。假設(shè)各個(gè)比特以恒定的到達(dá)比特率到達(dá)CPB。因此,已編碼圖片或訪問(wèn)單元與初始到達(dá)時(shí)間相關(guān)聯(lián),其表明已編碼圖片或訪問(wèn)單元的第一個(gè)比特何時(shí)進(jìn)入CPB。此外,假設(shè)當(dāng)已編碼圖片或訪問(wèn)單元的最后一個(gè)比特被插入到CPB中時(shí),所述已編碼圖片或訪問(wèn)單元被即刻移除,并且對(duì)應(yīng)的已編碼圖片隨后被插入到DPB中,從而仿真了瞬時(shí)解碼。這一時(shí)間被稱作已編碼圖片或訪問(wèn)單元的移除時(shí)間。已編碼視頻序列當(dāng)中的第一已編碼圖片的移除時(shí)間通常例如由緩沖周期補(bǔ)充增強(qiáng)信息(SEI)消息來(lái)控制。這一所謂的初始已編碼圖片移除延遲確保已編碼比特率關(guān)于被用來(lái)填充CPB的恒定比特率的任何變化都不會(huì)導(dǎo)致CPB的匱乏或溢出。應(yīng)當(dāng)理解的是,HRD的操作比這里所描述的略為更加復(fù)雜,其例如具有低延遲操作模式和在許多不同的恒定比特率下進(jìn)行操作的能力。
[0056]DPB被用來(lái)控制用于解碼一致的比特流的所需存儲(chǔ)器資源。對(duì)于圖片間預(yù)測(cè)中的參考,以及對(duì)于把各個(gè)已解碼圖片重新排序成輸出順序,存在兩個(gè)原因來(lái)緩沖已解碼圖片。由于H.264/AVC對(duì)于參考圖片標(biāo)記和輸出重新排序都提供了大量靈活性,因此用于參考圖片緩沖和輸出圖片緩沖的單獨(dú)的緩沖器可能造成存儲(chǔ)器資源的浪費(fèi)。因此,DPB包括用于參考圖片和輸出重新排序的統(tǒng)一的已解碼圖片緩沖處理。當(dāng)已解碼圖片不再被用作參考并且不再被需要輸出時(shí),將其從DPB移除。在H.264/AVC的層級(jí)定義(附錄A)中規(guī)定了比特流被允許使用的DPB的最大尺寸。
[0057]對(duì)于解碼器存在兩種類型的一致性:輸出定時(shí)一致性和輸出順序一致性。對(duì)于輸出定時(shí)一致性,解碼器在與HRD相比完全相同的時(shí)間輸出圖片。對(duì)于輸出順序一致性,只考慮輸出圖片的正確輸出順序。假設(shè)輸出順序DPB包含最大可允許數(shù)目的幀緩沖器。當(dāng)某一幀不再被用作參考并且不再被需要輸出時(shí),將其從DPB移除。當(dāng)DPB變滿時(shí),將輸出順序下的最早的幀輸出,直到至少一個(gè)幀緩沖器變?yōu)槲幢徽加脼橹埂?br>
[0058]可以通過(guò)兩條補(bǔ)充增強(qiáng)信息(SEI)消息來(lái)控制圖片定時(shí)和HRD的操作:緩沖周期和圖片定時(shí)SEI消息。緩沖周期SEI消息規(guī)定初始CPB移除延遲。圖片定時(shí)SEI消息規(guī)定與HRD的操作有關(guān)的其他延遲(cpb_removal_delay和dpb_removal_delay,即cpb移除延遲和dpb移除延遲)以及已解碼圖片的輸出時(shí)間。緩沖周期和圖片定時(shí)SEI消息的信息還可以通過(guò)其他措施來(lái)傳送,并且不需要被包括到H.264/AVC比特流中。
[0059]NAL單元可以被分類成視頻編碼層(VCL)NAL單元和非VCL NAL單元。VCL NAL單元是已編碼切片NAL單元、已編碼切片數(shù)據(jù)劃分NAL單元或者VCL前綴NAL單元。已編碼切片NAL單元包含表示一個(gè)或更多已編碼宏塊的語(yǔ)法元素,其中每一個(gè)對(duì)于未壓縮圖片中的一個(gè)樣本塊。存在四種類型的已編碼切片NAL單元:瞬時(shí)解碼刷新(IDR)圖片中的已編碼切片,非IDR圖片中的已編碼切片,輔助已編碼圖片(比如a平面)中的已編碼切片,以及已編碼切片擴(kuò)展(對(duì)于可伸縮或多視圖擴(kuò)展中的已編碼切片)。由三個(gè)已編碼切片數(shù)據(jù)劃分NAL單元構(gòu)成的一個(gè)集合包含與一個(gè)已編碼切片相同的語(yǔ)法元素。已編碼切片數(shù)據(jù)劃分A包括切片的宏塊報(bào)頭和運(yùn)動(dòng)矢量,而已編碼切片數(shù)據(jù)劃分B和C則分別包括對(duì)于內(nèi)部宏塊和圖片間宏塊的已編碼殘留數(shù)據(jù)。VCL前綴NAL單元處在SVC比特流中的基礎(chǔ)層的已編碼切片之前,并且包含關(guān)于相關(guān)聯(lián)的已編碼切片的可伸縮性分級(jí)結(jié)構(gòu)的指示。
[0060]非VCL NAL單元可以是以下類型的其中之一:序列參數(shù)集合,圖片參數(shù)集合,補(bǔ)充增強(qiáng)信息(SEI) NAL單元,訪問(wèn)單元定界符,序列末尾NAL單元,流末尾NAL單元,或者填充數(shù)據(jù)NAL單元。各個(gè)參數(shù)集合對(duì)于已解碼圖片的重建是至關(guān)重要的,其他非VCL NAL單元對(duì)于已解碼樣本數(shù)值的重建則不必要,并且是用于其他目的。
[0061]為了魯棒地傳送不頻繁改變的編碼參數(shù),所述參數(shù)集合機(jī)制被采用到H.264/AVC。經(jīng)過(guò)一個(gè)已編碼視頻序列而保持未改變的參數(shù)被包括在一個(gè)序列參數(shù)集合中。除了對(duì)于解碼處理至關(guān)重要的參數(shù)之外,所述序列參數(shù)集合還可以可選地包含視頻可用性信息(VUI),其中包括對(duì)于緩沖、圖片輸出定時(shí)、渲染和資源保留來(lái)說(shuō)重要的參數(shù)。圖片參數(shù)集合包含可能在幾個(gè)已編碼圖片中未發(fā)生改變的參數(shù)。在H.264/AVC比特流中不存在圖片報(bào)頭,但是在每一個(gè)切片報(bào)頭中重復(fù)頻繁改變的圖片層級(jí)數(shù)據(jù),并且圖片參數(shù)集合載送其余的圖片層級(jí)參數(shù)。H.264/AVC語(yǔ)法允許序列和圖片參數(shù)集合的許多實(shí)例,并且每一個(gè)實(shí)例由一個(gè)唯一標(biāo)識(shí)符標(biāo)識(shí)。每一個(gè)切片報(bào)頭包括對(duì)于解碼包含該切片的圖片有效的圖片參數(shù)集合的標(biāo)識(shí)符,并且每一個(gè)圖片參數(shù)集合包含有效序列參數(shù)集合的標(biāo)識(shí)符。因此,圖片和序列參數(shù)集合的傳送不需要與切片的傳統(tǒng)精確地同步。相反,在對(duì)有效序列和圖片參數(shù)集合進(jìn)行參考之前的任何時(shí)刻接收到所述有效序列和圖片參數(shù)集合就足夠了,從而允許利用與被用于切片數(shù)據(jù)的協(xié)議相比更加可靠的傳送機(jī)制來(lái)傳送參數(shù)集合。舉例來(lái)說(shuō),各個(gè)參數(shù)集合可以作為參數(shù)被包括在用于a 264/AVC RTP會(huì)話的會(huì)話描述中。推薦每當(dāng)在所使用的應(yīng)用中有可能時(shí)使用帶外可靠傳送機(jī)制。如果在帶內(nèi)傳送參數(shù)集合,則可以對(duì)其進(jìn)行重復(fù)以便改進(jìn)錯(cuò)誤魯棒性。
[0062]SEI NAL單元包含一條或更多條SEI消息,對(duì)于輸出圖片的解碼并不需要這些消息,但是其對(duì)于相關(guān)的處理會(huì)有幫助,比如圖片輸出定時(shí)、渲染、錯(cuò)誤檢測(cè)、錯(cuò)誤隱藏以及資源保留。在H.264/AVC中規(guī)定了幾條SEI消息,并且用戶數(shù)據(jù)SEI消息允許各個(gè)組織和公司規(guī)定供其自身使用的SEI消息。H.264/AVC包含對(duì)于所規(guī)定的SEI消息的語(yǔ)法和語(yǔ)義,但是沒(méi)有定義用于在接收方處應(yīng)對(duì)所述消息的處理。因此,編碼器在創(chuàng)建SEI消息時(shí)遵循H.264/AVC標(biāo)準(zhǔn),并且對(duì)于輸出順序一致性不需要符合H.264/AVC標(biāo)準(zhǔn)的解碼器來(lái)處理SEI消息。在H.264/AVC中包括SEI消息的語(yǔ)法和語(yǔ)義的其中一個(gè)原因是允許不同的系統(tǒng)規(guī)范以完全相同的方式解釋補(bǔ)充信息并且從而允許互操作。系統(tǒng)規(guī)范旨在可以要求在編碼端和解碼端都使用特定的SEI消息,并且可以附加地規(guī)定用于在接收方處對(duì)于特定的SEI消息的處理。
[0063]已編碼圖片包括對(duì)于解碼該圖片所需的VCL NAL單兀。已編碼圖片可以是主要已編碼圖片或冗余已編碼圖片。主要已編碼圖片被用于有效比特流的解碼處理,而冗余已編碼圖片則是只有在主要已編碼圖片無(wú)法被成功解碼時(shí)才應(yīng)當(dāng)被解碼的冗余表示。
[0064]訪問(wèn)單元包括主要已編碼圖片以及與之相關(guān)聯(lián)的那些NAL單元。各個(gè)NAL單元在訪問(wèn)單元內(nèi)的出現(xiàn)順序受到如下約束??蛇x的訪問(wèn)單元定界符NAL單元可以表明訪問(wèn)單元的起始。其后是零個(gè)或更多個(gè)SEI NAL單元。隨后出現(xiàn)的是主要已編碼圖片的已編碼切片或切片數(shù)據(jù)劃分,其后是對(duì)于零個(gè)或更多個(gè)冗余已編碼圖片的已編碼切片。
[0065]已編碼視頻序列被定義成按照解碼順序從一個(gè)IDR訪問(wèn)單元(包含)到下一個(gè)IDR訪問(wèn)單元(排除)或者到比特流的末尾二者當(dāng)中更早出現(xiàn)的任一項(xiàng)的接連訪問(wèn)單元的序列。
[0066]H.264/AVC允許分級(jí)時(shí)間可伸縮性。其擴(kuò)展SVC和MVC提供了一些附加的指示,特別是NAL單元報(bào)頭中的temporaljd (時(shí)間id)語(yǔ)法元素,其更加直接明了地利用了時(shí)間可伸縮性。時(shí)間可伸縮性提供了時(shí)域內(nèi)的視頻質(zhì)量的細(xì)化,這是通過(guò)給出調(diào)節(jié)幀率的靈活性而實(shí)現(xiàn)的。在后續(xù)段落中提供了由SVC給出的關(guān)于不同類型的可伸縮性的評(píng)論,并且在更后面提供了關(guān)于時(shí)間可伸縮性的更加詳細(xì)的評(píng)論。
[0067]在可伸縮視頻編碼中,視頻信號(hào)可以被編碼到所構(gòu)造的基礎(chǔ)層以及一個(gè)或更多增強(qiáng)層中。增強(qiáng)層增強(qiáng)由另一層表示的視頻內(nèi)容或其一部分的時(shí)間分辨率(即幀率)、空間分辨率或者簡(jiǎn)單地增強(qiáng)質(zhì)量。每一層連同所有其從屬層是在特定空間分辨率、時(shí)間分辨率和質(zhì)量水平下對(duì)于視頻信號(hào)的一項(xiàng)表示。在本文獻(xiàn)中,我們把一個(gè)可伸縮層連同其所有的從屬層稱為“可伸縮層表示”??缮炜s比特流的對(duì)于可伸縮層表示的部分可以被提取出來(lái)并且被解碼,以便在特定保真度下產(chǎn)生原始信號(hào)的表示。
[0068]在某些情況下,增強(qiáng)層中的數(shù)據(jù)可以在特定位置之后被截?cái)嗷蛘呱踔猎谌我馕恢锰幈唤財(cái)?,其中每一個(gè)截?cái)辔恢每梢园ū硎局饾u增強(qiáng)的視覺(jué)質(zhì)量的附加數(shù)據(jù)。這樣的可伸縮性被稱為細(xì)顆粒(粒度)可伸縮性(FGS)。應(yīng)當(dāng)提到的是,對(duì)于FGS的支持沒(méi)有被包括在SVC標(biāo)準(zhǔn)中,但是在早前的SVC草稿中可以獲得這方面的支持,例如JVT-U201,“JointDraft8of SVC Amendment”(21st JVT meeting,杭州,中國(guó),2006 年 10 月),可以從 http://ftp3.1tu.ch/av-arch/jvt-site/2006_10_Hangzhou/JVT-U201.zip 獲得。與 FGS 不同,由無(wú)法被截?cái)嗟哪切┰鰪?qiáng)層提供的可伸縮性被稱為粗顆粒(粒度)可伸縮性(CGS)。其總體上包括傳統(tǒng)質(zhì)量(SNR)可伸縮性和空間可伸縮性。SVC草稿標(biāo)準(zhǔn)還支持所謂的中等顆??缮炜s性(MGS),其中質(zhì)量增強(qiáng)圖片類似于SNR可伸縮層圖片被編碼但是類似于FGS層圖片由高層級(jí)語(yǔ)法元素表示,這是通過(guò)具有大于0的quality_id (質(zhì)量id)語(yǔ)法元素而實(shí)現(xiàn)的。
[0069]SVC使用層間預(yù)測(cè)機(jī)制,其中可以從不同于當(dāng)前重建層或下一個(gè)較低層的其他層來(lái)預(yù)測(cè)特定信息??梢詫娱g預(yù)測(cè)的信息包括內(nèi)部紋理、運(yùn)動(dòng)和殘留數(shù)據(jù)。層間運(yùn)動(dòng)預(yù)測(cè)包括對(duì)于塊編碼模式、報(bào)頭信息等等的預(yù)測(cè),其中來(lái)自較低層的運(yùn)動(dòng)可以被用于較高層的預(yù)測(cè)。在內(nèi)部編碼的情況下,來(lái)自周圍宏塊或者來(lái)自較低層的位于同一處的宏塊的預(yù)測(cè)是可能的。這些預(yù)測(cè)技術(shù)不采用來(lái)自較早前的已編碼訪問(wèn)單元的信息,因此被稱作內(nèi)部預(yù)測(cè)技術(shù)。此外,對(duì)于當(dāng)前層的預(yù)測(cè)也可以采用來(lái)自較低層的殘留數(shù)據(jù)。
[0070]SVC草稿中的可伸縮性結(jié)構(gòu)由三個(gè)語(yǔ)法元素表征:“temp0ral_id (時(shí)間id)”、“dependency_id (從屬性 id)”和“quality_id (質(zhì)量 id)”。語(yǔ)法元素“temporal_id”被用來(lái)表示時(shí)間可伸縮性分級(jí)結(jié)構(gòu)或者間接地表示幀率。包括較小的最大“temporaljd”數(shù)值的圖片的可伸縮層表示與包括更大的最大“temporaljd”的圖片的可伸縮層表示相比具有較小的幀率。給定的時(shí)間層通常從屬于較低時(shí)間層(即具有較小“temporaljd”數(shù)值的時(shí)間層),但是不從屬于任何較高時(shí)間層。語(yǔ)法元素“dependencyjd”被用來(lái)表示CGS層間編碼從屬性分級(jí)結(jié)構(gòu)(如前所述,其包括SNR和空間可伸縮性全部二者)。在任何時(shí)間層級(jí)位置處,具有較小“dependency_id”數(shù)值的圖片可以被用于具有較大“dependency_id”數(shù)值的圖片的編碼的層間預(yù)測(cè)。語(yǔ)法元素“quality_id”被用來(lái)表示FGS或MGS層的質(zhì)量層級(jí)分級(jí)結(jié)構(gòu)。在任何時(shí)間位置處并且對(duì)于完全相同的“dependencyjd”數(shù)值,具有等于QL的“quality_id”的圖片使用具有等于QL-1的“quality_id”的圖片來(lái)進(jìn)行層間預(yù)測(cè)。具有大于0的“quality_id”的已編碼切片可以被編碼為可截?cái)郌GS切片或者不可截?cái)郙GS切片。
[0071]為了簡(jiǎn)單起見(jiàn),一個(gè)訪問(wèn)單元中的具有完全相同的“dependency_id”數(shù)值的所有數(shù)據(jù)單元(例如SVC情境中的網(wǎng)絡(luò)抽象層單元或NAL單元)被稱作一個(gè)從屬性單元或一項(xiàng)從屬性表示。在一個(gè)從屬性單元內(nèi),具有完全相同的“quality_id”數(shù)值的所有數(shù)據(jù)單元被稱作一個(gè)質(zhì)量單元或?qū)颖硎尽?br>
[0072]基礎(chǔ)表示也被稱作已解碼基礎(chǔ)圖片或參考基礎(chǔ)圖片,其是通過(guò)解碼具有等于0的“quality_id”并且為之將“store_ref_base_pic_flag”設(shè)定到I的從屬性單元的各個(gè)視頻編碼層(VCL)NAL單元而獲得的。增強(qiáng)表示也被稱作已解碼圖片,其是通過(guò)常規(guī)解碼處理得到的,其中對(duì)于最高從屬性表示所存在的所有層表示都被解碼。
[0073]在SVC比特流中,每一個(gè)H.264/AVC VCL NAL單元(其NAL單元類型處在I到5的范圍內(nèi))之前有一個(gè)前綴NAL單元。兼容的H.264/AVC解碼器實(shí)現(xiàn)方式忽略前綴NAL單元。前綴NAL單元包括“temporaljd”數(shù)值,因此解碼基礎(chǔ)層的SVC解碼器可以從前綴NAL單元獲知時(shí)間可伸縮性分級(jí)結(jié)構(gòu)。此外,前綴NAL單元包括對(duì)于基礎(chǔ)表示的參考圖片標(biāo)記命令。
[0074]SVC使用與H.264/AVC相同的機(jī)制來(lái)提供時(shí)間可伸縮性。時(shí)間可伸縮性提供了時(shí)域內(nèi)的視頻質(zhì)量的細(xì)化,這是通過(guò)給出調(diào)節(jié)幀率的靈活性而實(shí)現(xiàn)的。在后續(xù)段落中提供了關(guān)于時(shí)間可伸縮性的評(píng)論。
[0075]最早引入到視頻編碼標(biāo)準(zhǔn)中的可伸縮性是MPEG-1視覺(jué)中的利用B圖片的時(shí)間可伸縮性。在這一 B圖片概念中,B圖片是從兩個(gè)圖片雙向預(yù)測(cè)的,其中一個(gè)在顯示順序中處于B圖片之前,另一個(gè)同樣在顯示順序中處于B圖片之后。在雙向預(yù)測(cè)中,逐個(gè)樣本地對(duì)來(lái)自兩個(gè)參考圖片的兩個(gè)預(yù)測(cè)塊進(jìn)行平均,以便得到最終預(yù)測(cè)塊。在傳統(tǒng)上,B圖片是非參考圖片(也就是說(shuō)其不被其他圖片用于圖片間預(yù)測(cè)參考)。因此,B圖片可以被丟棄以便獲得較低幀率下的時(shí)間可伸縮性點(diǎn)。在MPEG-2視頻、H.263和MPEG-4視覺(jué)中保留了相同的機(jī)制。
[0076]在H.264/AVC中,B圖片或B切片的概念發(fā)生了改變。B切片的定義如下:可以利用來(lái)自相同切片內(nèi)的已解碼樣本的內(nèi)部預(yù)測(cè)或者來(lái)自先前已解碼的參考圖片的圖片間預(yù)測(cè)進(jìn)行解碼的切片,其中使用至多兩個(gè)運(yùn)動(dòng)矢量和參考索引來(lái)預(yù)測(cè)每一個(gè)塊的樣本數(shù)值。傳統(tǒng)的B圖片概念的雙向預(yù)測(cè)屬性和非參考圖片屬性都不再有效。B切片中的一個(gè)塊可以從在顯示順序中處于相同方向上的兩個(gè)參考圖片來(lái)預(yù)測(cè),并且包括B切片的圖片可以由其他圖片參考以用于圖片間預(yù)測(cè)。
[0077]在H.264/AVC、SVC和MVC中,可以通過(guò)使用非參考圖片和/或分級(jí)圖片間預(yù)測(cè)結(jié)構(gòu)來(lái)實(shí)現(xiàn)時(shí)間可伸縮性。通過(guò)丟棄非參考圖片,僅使用非參考圖片能夠?qū)崿F(xiàn)與在MPEG-1/2/4中使用傳統(tǒng)B圖片類似的時(shí)間可伸縮性。分級(jí)編碼結(jié)構(gòu)可以實(shí)現(xiàn)更靈活的時(shí)間可伸縮性。
[0078]通??赡茉陔S機(jī)的訪問(wèn)點(diǎn)處切換到另一個(gè)已編碼流。但是在切換點(diǎn)處對(duì)于切換目標(biāo)流的初始緩沖要求可能長(zhǎng)于切換來(lái)源流的緩沖延遲,因此在重放中可能會(huì)有閃爍。視頻重放無(wú)法無(wú)縫地繼續(xù),相反切換來(lái)源流的最后一個(gè)(或多個(gè))圖片被顯示的周期長(zhǎng)于常規(guī)圖片間隔。雖然可能難以察覺(jué)視頻幀率的較小變化,但是與音頻流的嘴唇同步可能會(huì)被保持,因此在音頻重放中可能會(huì)有較小的中斷或閃爍。這樣的音頻中斷可以很容易被觀察到,并且可能令人煩惱。另一種可能性將是使得音頻和視頻不同步,但是這樣的不同步也可能會(huì)被察覺(jué)并且可能令人煩惱。
[0079]在切換點(diǎn)處對(duì)于切換目標(biāo)流的初始緩沖要求長(zhǎng)于切換來(lái)源流的初始延遲可能是出于至少兩個(gè)原因:
[0080]首先,當(dāng)切換來(lái)源流和切換目標(biāo)流的輸出時(shí)間線相同時(shí),可能要求切換目標(biāo)流的解碼處理的起始時(shí)間早于切換來(lái)源流的解碼處理的結(jié)束時(shí)間。換句話說(shuō),切換來(lái)源流的最后一個(gè)已編碼圖片的解碼結(jié)束時(shí)間可能遲于切換目標(biāo)流的第一個(gè)已編碼圖片的起始時(shí)間。在H.264/AVC的假設(shè)參考解碼器(HRD)方面,切換來(lái)源流中的最后一個(gè)訪問(wèn)單元的移除時(shí)間可能遲于切換目標(biāo)流中的第一個(gè)訪問(wèn)單元的初始到達(dá)時(shí)間。這一挑戰(zhàn)的另一種表述方式是,切換來(lái)源流的最后一個(gè)圖片在解碼時(shí)間線上的解碼持續(xù)時(shí)間可能會(huì)與切換目標(biāo)流的第一個(gè)樣本的解碼持續(xù)時(shí)間重疊。
[0081]其次,各個(gè)流的時(shí)間預(yù)測(cè)/可伸縮性分級(jí)結(jié)構(gòu)可能是不同的,因此切換來(lái)源流和切換目標(biāo)流中的初始已解碼圖片緩沖延遲可能不同。
[0082]現(xiàn)在參照?qǐng)D1,利用四個(gè)層級(jí)的時(shí)間可伸縮性示出了示例性的分級(jí)編碼結(jié)構(gòu)。顯示順序由被標(biāo)示為圖片順序計(jì)數(shù)(POC) 210的數(shù)值表示。時(shí)間層級(jí)(TL) 0下的I或P圖片(比如I/P圖片212)也被稱作關(guān)鍵圖片,其被編碼成依照解碼順序的一個(gè)圖片組(GOP) 214當(dāng)中的第一個(gè)圖片。當(dāng)一個(gè)關(guān)鍵圖片(例如關(guān)鍵圖片216、218)被圖片間編碼時(shí),前一個(gè)關(guān)鍵圖片212、216被用作圖片間預(yù)測(cè)的參考。這些圖片對(duì)于所述時(shí)間可伸縮結(jié)構(gòu)中的最低時(shí)間層級(jí)220 (其在圖中被標(biāo)示為T(mén)L),并且與最低幀率相關(guān)聯(lián)。更高時(shí)間層級(jí)的圖片只可使用相同或較低時(shí)間層級(jí)的圖片來(lái)進(jìn)行圖片間預(yù)測(cè)。對(duì)于這樣的分級(jí)編碼結(jié)構(gòu),通過(guò)丟棄特定時(shí)間層級(jí)數(shù)值及以上的圖片,可以獲得對(duì)于不同幀率的不同時(shí)間可伸縮性。在圖1中,圖片0、8和16屬于最低時(shí)間層級(jí),圖片1、3、5、7、9、11、13和15屬于最高時(shí)間層級(jí)。其他圖片則被分級(jí)地指派其他時(shí)間層級(jí)。這些不同時(shí)間層級(jí)的圖片構(gòu)成不同幀率的比特流。在解碼所有時(shí)間層級(jí)時(shí),獲得30Hz的幀率(假設(shè)被編碼的原始序列具有30Hz幀率)。通過(guò)丟棄某些時(shí)間層級(jí)的圖片可以獲得其他幀率。最低時(shí)間層級(jí)的圖片與3.75Hz的幀率相關(guān)聯(lián)。具有較低時(shí)間層級(jí)或較低幀率的時(shí)間可伸縮層也被稱作較低時(shí)間層。
[0083]前面描述的分級(jí)B圖片編碼結(jié)構(gòu)是針對(duì)時(shí)間可伸縮性的最典型的編碼結(jié)構(gòu)。但是應(yīng)當(dāng)提到的是,可能有靈活得多的編碼結(jié)構(gòu)。舉例來(lái)說(shuō),GOP尺寸可以不是隨時(shí)間恒定的。在另一個(gè)實(shí)例中,時(shí)間增強(qiáng)層圖片不必被編碼成B切片;其也可以被編碼成P切片。
[0084]在H.264/AVC中,可以通過(guò)子序列信息補(bǔ)充增強(qiáng)信息(SEI)消息中的子序列層編號(hào)來(lái)用信號(hào)表示時(shí)間層級(jí)。在SVC和MVC中,可以在網(wǎng)絡(luò)抽象層(NAL)單元報(bào)頭中通過(guò)語(yǔ)法元素“temporaljd”來(lái)用信號(hào)表示時(shí)間層級(jí)??梢栽诳缮炜s性信息SEI消息中用信號(hào)表示對(duì)于每一個(gè)時(shí)間層級(jí)的比特率和幀率信息。
[0085]隨機(jī)訪問(wèn)指的是解碼器在不同于流的開(kāi)頭的某一點(diǎn)開(kāi)始解碼并且恢復(fù)對(duì)于已解碼圖片的精確或近似表示的能力。隨機(jī)訪問(wèn)點(diǎn)和恢復(fù)點(diǎn)表征隨機(jī)訪問(wèn)操作。隨機(jī)訪問(wèn)點(diǎn)是可以在該處發(fā)起解碼的任何已編碼圖片。在輸出順序中處于恢復(fù)點(diǎn)或者后于恢復(fù)點(diǎn)的所有已解碼圖片在內(nèi)容方面都是正確的或近似正確的。如果隨機(jī)訪問(wèn)點(diǎn)與恢復(fù)點(diǎn)相同,則隨機(jī)訪問(wèn)操作是瞬時(shí)性的;否則是逐漸性的。
[0086]隨機(jī)訪問(wèn)點(diǎn)允許在本地存儲(chǔ)的視頻流中的查找、快進(jìn)和快退操作。在視頻點(diǎn)播流送中,服務(wù)器可以對(duì)查找請(qǐng)求做出響應(yīng),這是通過(guò)從最靠近查找操作的所請(qǐng)求目的地的隨機(jī)訪問(wèn)點(diǎn)開(kāi)始傳送數(shù)據(jù)而實(shí)現(xiàn)的。不同比特率的已編碼流之間的切換是在單播流送中常用的一種方法,以便令傳送比特率匹配預(yù)期網(wǎng)絡(luò)吞吐量并且避免網(wǎng)絡(luò)中的擁塞。有可能在隨機(jī)訪問(wèn)點(diǎn)處切換到另一個(gè)流。此外,隨機(jī)訪問(wèn)點(diǎn)允許調(diào)諧到廣播或多播。此外,作為針對(duì)源序列中的場(chǎng)景剪切的響應(yīng)或者作為針對(duì)內(nèi)部圖片更新請(qǐng)求的響應(yīng),可以對(duì)隨機(jī)訪問(wèn)點(diǎn)進(jìn)行編碼。
[0087]在傳統(tǒng)上,每一個(gè)內(nèi)部圖片都是已編碼序列中的一個(gè)隨機(jī)訪問(wèn)點(diǎn)。對(duì)于圖片間預(yù)測(cè)引入多個(gè)參考圖片導(dǎo)致一個(gè)內(nèi)部圖片對(duì)于隨機(jī)訪問(wèn)可能是不足夠的。舉例來(lái)說(shuō),在解碼順序中處于一個(gè)內(nèi)部圖片之前的已解碼圖片可以被用作在解碼順序中處于該內(nèi)部圖片之后的圖片間預(yù)測(cè)的參考圖片。因此,在H.264/AVC標(biāo)準(zhǔn)中規(guī)定的IDR圖片或者具有與IDR圖片類似的屬性的內(nèi)部圖片必須被用作隨機(jī)訪問(wèn)點(diǎn)。封閉圖片組(GOP)是其中所有圖片都可以被正確解碼的一個(gè)圖片組。在H.264/AVC中,封閉GOP可以開(kāi)始于一個(gè)IDR訪問(wèn)單元(或者開(kāi)始于一個(gè)內(nèi)部已編碼圖片,其中存儲(chǔ)器管理控制操作把所有先前的參考圖片標(biāo)記為未被使用)。
[0088]開(kāi)放圖片組(GOP)是這樣一個(gè)圖片組,其中在輸出順序中處于初始內(nèi)部圖片之前的圖片可能無(wú)法被正確解碼,但是處于初始內(nèi)部圖片之后的圖片可以被正確解碼。札264/AVC解碼器可以從H.264/AVC比特流中的恢復(fù)點(diǎn)SEI消息識(shí)別出開(kāi)始一個(gè)開(kāi)放GOP的內(nèi)部圖片。處于開(kāi)始一個(gè)開(kāi)放GOP的初始內(nèi)部圖片之前的圖片被稱作前導(dǎo)圖片。存在兩種類型的前導(dǎo)圖片:可解碼和不可解碼。當(dāng)解碼從開(kāi)始所述開(kāi)放GOP的初始內(nèi)部圖片開(kāi)始時(shí),可解碼前導(dǎo)圖片可以被正確解碼。換句話說(shuō),可解碼前導(dǎo)圖片僅使用初始內(nèi)部圖片或者解碼順序中的后續(xù)圖片作為圖片間預(yù)測(cè)中的參考。當(dāng)解碼從開(kāi)始所述開(kāi)放GOP的初始內(nèi)部圖片開(kāi)始時(shí),不可解碼前導(dǎo)圖片無(wú)法被正確解碼。換句話說(shuō),不可解碼前導(dǎo)圖片使用在解碼順序中處于開(kāi)始所述開(kāi)放GOP的初始內(nèi)部圖片之前的圖片作為圖片間預(yù)測(cè)中的參考。ISO基礎(chǔ)媒體文件格式(第3版)的第I修正案包括對(duì)于通過(guò)樣本從屬性類型箱盒中的前導(dǎo)語(yǔ)法元素和包括在可被用于軌道片段中的樣本標(biāo)志中的前導(dǎo)語(yǔ)法元素來(lái)表明可解碼和不可解碼前導(dǎo)圖片的支持。
[0089]應(yīng)當(dāng)提到的是,術(shù)語(yǔ)GOP在隨機(jī)訪問(wèn)的情境中與在SVC的情境中的使用不同。在SVC中,GOP指的是從具有等于0的temporal_id的一個(gè)圖片(包含)到具有等于0的temporal_id的下一個(gè)圖片(排除)的圖片組,正如圖1中所示出的那樣。在隨機(jī)訪問(wèn)情境中,GOP是不管解碼順序中的任何早前圖片是否已被解碼都可以被解碼的圖片組。
[0090]逐漸解碼刷新(⑶R)指的是在非IDR圖片處開(kāi)始解碼并且在解碼一定數(shù)量的圖片之后恢復(fù)內(nèi)容上正確的已解碼圖片的能力。也就是說(shuō),GDR可以被用來(lái)從非內(nèi)部圖片實(shí)現(xiàn)隨機(jī)訪問(wèn)。一些用于圖片間預(yù)測(cè)的參考圖片可能無(wú)法在隨機(jī)訪問(wèn)點(diǎn)與恢復(fù)點(diǎn)之間獲得,因此逐漸解碼刷新周期中的已解碼圖片的一些部分無(wú)法被正確重建。但是這些部分未被用于恢復(fù)點(diǎn)處或其后的預(yù)測(cè),從而導(dǎo)致從恢復(fù)點(diǎn)開(kāi)始的無(wú)錯(cuò)已解碼圖片。
[0091]可以明顯看到,與瞬時(shí)解碼刷新相比,逐漸解碼刷新對(duì)于編碼器和解碼器都更加麻煩。但是逐漸解碼刷新在易于出錯(cuò)的環(huán)境中可能是合乎期望的,這得益于兩個(gè)因素:首先,已編碼內(nèi)部圖片通常比已編碼非內(nèi)部圖片大不少。這就使得內(nèi)部圖片比非內(nèi)部圖片更容易出錯(cuò),并且所述錯(cuò)誤可能會(huì)隨著時(shí)間傳播,直到受到破壞的宏塊位置被內(nèi)部編碼為止。其次,內(nèi)部編碼宏塊在易于出錯(cuò)的環(huán)境中被用來(lái)停止錯(cuò)誤傳播。因此,例如在易于出錯(cuò)的傳輸信道上操作的視頻會(huì)議和廣播視頻應(yīng)用中,合理的做法是對(duì)于隨機(jī)訪問(wèn)以及對(duì)于錯(cuò)誤傳播阻止組合內(nèi)部宏塊編碼。在逐漸解碼刷新中利用了這一結(jié)論。
[0092]可以利用隔離區(qū)段編碼方法來(lái)實(shí)現(xiàn)逐漸解碼刷新。圖片中的隔離區(qū)段可以包含任何宏塊位置,并且一個(gè)圖片可以包含零個(gè)或更多個(gè)不重疊的隔離區(qū)段。剩余區(qū)段是未被圖片的任何隔離區(qū)段覆蓋的圖片區(qū)域。在對(duì)隔離區(qū)段進(jìn)行編碼時(shí),禁用跨越其邊界的圖片內(nèi)預(yù)測(cè)。可以從同一圖片的隔離區(qū)段預(yù)測(cè)剩余區(qū)段。
[0093]可以在沒(méi)有同一已編碼圖片的任何其他隔離或剩余區(qū)段存在的情況下對(duì)已編碼隔離區(qū)段進(jìn)行解碼??赡鼙仨氃谑S鄥^(qū)段之前解碼圖片的所有隔離區(qū)段。一個(gè)隔離區(qū)段或剩余區(qū)段包含至少一個(gè)切片。
[0094]其隔離區(qū)段是從彼此預(yù)測(cè)的各個(gè)圖片被分組到一個(gè)隔離區(qū)段圖片組中。隔離區(qū)段可以從同一隔離區(qū)段圖片組內(nèi)的其他圖片中的相應(yīng)隔離區(qū)段來(lái)圖片間預(yù)測(cè),而來(lái)自其他隔離區(qū)段或者所述隔離區(qū)段圖片組外部的圖片間預(yù)測(cè)則不被允許。剩余區(qū)段可以從任何隔離區(qū)段來(lái)圖片間預(yù)測(cè)。耦合的隔離區(qū)段的形狀、位置和尺寸可以在一個(gè)隔離區(qū)段圖片組中逐個(gè)圖片地演變。
[0095]演變隔離區(qū)段可以被用來(lái)提供逐漸解碼刷新。在圖片中的隨機(jī)訪問(wèn)點(diǎn)處建立新的演變隔離區(qū)段,并且對(duì)隔離區(qū)段中的宏塊進(jìn)行內(nèi)部編碼。隔離區(qū)段的形狀、尺寸和位置逐個(gè)圖片地演變。隔離區(qū)段可以從逐漸解碼刷新周期內(nèi)的早前圖片中的相應(yīng)隔離區(qū)段來(lái)圖片間預(yù)測(cè)。當(dāng)隔離區(qū)段覆蓋整個(gè)圖片區(qū)域時(shí),在從所述隨機(jī)訪問(wèn)點(diǎn)開(kāi)始解碼時(shí)獲得內(nèi)容完全正確的圖片。這一處理還可以被推廣成包括最終覆蓋整個(gè)圖片區(qū)域的多于一個(gè)演變隔離區(qū)段。
[0096]可以有定制的帶內(nèi)信令(比如恢復(fù)點(diǎn)SEI信息)以表明用于解碼器的逐漸隨機(jī)訪問(wèn)點(diǎn)和恢復(fù)點(diǎn)。此外,恢復(fù)點(diǎn)SEI消息包括關(guān)于演變隔離區(qū)段是否被使用在隨機(jī)訪問(wèn)點(diǎn)與恢復(fù)點(diǎn)之間以便提供逐漸解碼刷新的指示。
[0097]雖然本發(fā)明的許多實(shí)施例是參照H.264/AVC、SVC和/或MVC來(lái)描述的,但是應(yīng)當(dāng)理解的是,許多實(shí)施例也可以被應(yīng)用于例如HEVC和MPEG-2視覺(jué)之類的其他視頻編碼方案,以及繼承了與已編碼圖片緩沖和/或已解碼圖片緩沖類似的緩沖的其他編碼方案。
[0098]RTP被用于傳送連續(xù)媒體數(shù)據(jù),比如基于互聯(lián)網(wǎng)協(xié)議(IP)的網(wǎng)絡(luò)中的已編碼音頻和視頻流。實(shí)時(shí)傳輸控制協(xié)議(RTCP)與RTP相伴,也就是說(shuō)當(dāng)網(wǎng)絡(luò)和應(yīng)用基礎(chǔ)設(shè)施允許其使用時(shí),RTCP應(yīng)當(dāng)被用來(lái)補(bǔ)充RTP。RTP和RTCP通常通過(guò)用戶數(shù)據(jù)報(bào)協(xié)議(UDP)來(lái)傳送,后者又通過(guò)互聯(lián)網(wǎng)協(xié)議(IP)來(lái)傳送。RTCP被用來(lái)監(jiān)測(cè)由網(wǎng)絡(luò)提供的服務(wù)的質(zhì)量,以及傳送關(guān)于進(jìn)行中的會(huì)話的各個(gè)參與者的信息。RTP和RTCP被設(shè)計(jì)用于其范圍從一對(duì)一通信到數(shù)以千計(jì)的端點(diǎn)的較大多播組的會(huì)話。為了在多方會(huì)話中控制由RTCP分組導(dǎo)致的總比特率,由單一端點(diǎn)傳送的各個(gè)RTCP分組的傳送間隔與會(huì)話中的參與者的數(shù)目成比例。每一種媒體編碼格式具有特定的RTP有效載荷格式,其規(guī)定媒體數(shù)據(jù)如何在RTP分組的有效載荷中被結(jié)構(gòu)化。
[0099]可用的媒體文件格式標(biāo)準(zhǔn)包括ISO基礎(chǔ)媒體文件格式(IS0/IEC14496-12)、MPEG-4文件格式(IS0/IEC14496-14,其也被稱作MP4格式)、AVC文件格式(ISO/IEC14496-15)、3GPP文件格式(3GPP TS26/244,其也被稱作3GP格式)以及DVB文件格式。作為針對(duì)AVC文件格式的修正案規(guī)定了 SVC和MVC文件格式。ISO文件格式是用于導(dǎo)出所有前述文件格式(ISO文件格式本身除外)的基礎(chǔ)。這些文件格式(包括ISO文件格式本身)被稱作ISO文件格式族。
[0100]圖2a示出了根據(jù)ISO基礎(chǔ)媒體文件格式的簡(jiǎn)化文件結(jié)構(gòu)230。ISO基礎(chǔ)媒體文件格式中的基本構(gòu)造塊被稱作箱盒。每一個(gè)箱盒具有報(bào)頭和有效載荷。箱盒報(bào)頭表明該箱盒的類型以及以字節(jié)計(jì)的該箱盒的尺寸。一個(gè)箱盒可以封裝其他箱盒,并且ISO文件格式規(guī)定在特定類型的箱盒中允許哪些箱盒類型。此外,一些箱盒被強(qiáng)制存在于每一個(gè)文件中,其他箱盒則是可選的。此外,對(duì)于一些箱盒類型,其被允許有多于一個(gè)箱盒存在于一個(gè)文件中。可以得出結(jié)論,ISO基礎(chǔ)媒體文件格式規(guī)定了箱盒的分級(jí)結(jié)構(gòu)。
[0101]根據(jù)ISO文件格式族,文件包括分別被封裝在單獨(dú)的箱盒中的媒體數(shù)據(jù)和元數(shù)據(jù),即媒體數(shù)據(jù)(mdat)箱盒和影片(moov)箱盒。為了使得文件可操作,這兩個(gè)箱盒都應(yīng)當(dāng)存在,除非媒體數(shù)據(jù)位于一個(gè)或更多外部文件中并且利用數(shù)據(jù)參考箱盒對(duì)其進(jìn)行參考,正如后面所描述的那樣。影片箱盒可以包括一條或更多條軌道,每一條軌道駐留在一個(gè)軌道箱盒中。軌道可以是以下類型的其中之一:媒體、提示、定時(shí)元數(shù)據(jù)。媒體軌道指的是根據(jù)某種媒體壓縮格式被格式化的樣本(及其到ISO基礎(chǔ)媒體文件格式的封裝)。提示軌道指的是提示樣本,其中包含用于構(gòu)造分組以供通過(guò)所表明的通信協(xié)議傳送的指南手冊(cè)(cookbook)指令。所述指南手冊(cè)指令可以包含針對(duì)分組報(bào)頭構(gòu)造的指南并且包括分組有效載荷構(gòu)造。在分組有效載荷構(gòu)造中,可能會(huì)參考駐留在其他軌道或項(xiàng)目中的數(shù)據(jù),也就是說(shuō)通過(guò)參考表明指示將在分組構(gòu)造處理中把特定軌道或項(xiàng)目中的哪一項(xiàng)數(shù)據(jù)拷貝到分組中。定時(shí)元數(shù)據(jù)軌道指的是描述所涉及的媒體和/或提示樣本的樣本。對(duì)于呈現(xiàn)通常選擇一個(gè)媒體類型,即一個(gè)媒體軌道。
[0102]一條軌道的各個(gè)樣本隱含地與樣本編號(hào)相關(guān)聯(lián),所述樣本編號(hào)在所表明的樣本解碼順序中遞增I。軌道中的第一樣本與樣本編號(hào)I相關(guān)聯(lián)。應(yīng)當(dāng)提到的是,這一假設(shè)影響后面的一些公式,并且本領(lǐng)域技術(shù)人員將會(huì)明顯認(rèn)識(shí)到對(duì)于樣本編號(hào)的其他起始偏移量(t匕如0)相應(yīng)地修改所述公式。
[0103]圖2b示出了根據(jù)ISO基礎(chǔ)媒體文件格式的簡(jiǎn)化文件結(jié)構(gòu)的一個(gè)實(shí)例。
[0104]雖然在圖2b中未示出,但是根據(jù)ISO基礎(chǔ)媒體文件格式被格式化的許多文件開(kāi)始于文件類型箱盒,其也被稱作ftyp箱盒。ftyp箱盒包含標(biāo)記該文件的各個(gè)標(biāo)牌(brand)的信息。ftyp箱盒包括一個(gè)主要標(biāo)牌指示和一個(gè)兼容標(biāo)牌列表。主要標(biāo)牌標(biāo)識(shí)出將被用于解析該文件的最適當(dāng)?shù)奈募袷揭?guī)范。兼容標(biāo)牌表明該文件符合哪些文件格式規(guī)范和/或一致性點(diǎn)。一個(gè)文件可能符合多種規(guī)范。應(yīng)當(dāng)列出表明與這些規(guī)范的兼容性的所有標(biāo)牌,從而使得僅理解所述兼容標(biāo)牌的一個(gè)子集的讀取器可以獲得關(guān)于該文件可以被解析的指示。兼容標(biāo)牌還為特定文件格式規(guī)范的文件解析器給出許可以便處理在ftyp箱盒中包含相同的特定文件格式標(biāo)牌的文件。
[0105]應(yīng)當(dāng)提到的是,ISO基礎(chǔ)媒體文件格式不限制把呈現(xiàn)包含在一個(gè)文件中,相反可以將其包含在幾個(gè)文件中。一個(gè)文件包含對(duì)于整個(gè)呈現(xiàn)的元數(shù)據(jù)。該文件還可以包含所有媒體數(shù)據(jù),于是所述呈現(xiàn)是自我包含的。如果使用其他文件的話,不要求將其格式化成ISO基礎(chǔ)媒體文件格式,其被用來(lái)包含媒體數(shù)據(jù),并且還可以包含未被使用的媒體數(shù)據(jù)或者其他信息。ISO基礎(chǔ)媒體文件格式僅僅涉及呈現(xiàn)文件的結(jié)構(gòu)。媒體數(shù)據(jù)文件的格式受到ISO基礎(chǔ)媒體文件格式或其導(dǎo)出格式的約束僅僅是在于,媒體文件中的媒體數(shù)據(jù)是按照ISO基礎(chǔ)媒體文件格式或其導(dǎo)出格式中所規(guī)定的那樣而被格式化的。
[0106]通過(guò)數(shù)據(jù)參考實(shí)現(xiàn)參考外部文件的能力如下。包含在每一條軌道中的樣本描述箱盒包括一個(gè)樣本條目列表,每一個(gè)樣本條目提供關(guān)于所使用的編碼類型的詳細(xì)信息以及對(duì)于該編碼所需要的任何初始化信息。一個(gè)組塊的所有樣本以及一個(gè)軌道片段的所有樣本使用相同的樣本條目。一個(gè)組塊是對(duì)于一條軌道的連續(xù)樣本集合。同樣被包括在每一條軌道中的數(shù)據(jù)參考箱盒包含URL、URN以及針對(duì)包含元數(shù)據(jù)的文件的自我參考的索引列表。樣本條目指向數(shù)據(jù)參考箱盒的一個(gè)索引,從而表明包含對(duì)應(yīng)的組塊或軌道片段的樣本的文件。[0107]在向ISO文件記錄內(nèi)容時(shí)可以使用影片片段,以避免在記錄引用崩潰、盤(pán)用盡或者某種其他情況發(fā)生時(shí)丟失數(shù)據(jù)。在沒(méi)有影片片段的情況下,可能會(huì)由于文件格式堅(jiān)持所有元數(shù)據(jù)(影片箱盒)都被寫(xiě)入在一個(gè)連續(xù)文件區(qū)域內(nèi)而發(fā)生數(shù)據(jù)丟失。此外,在記錄文件時(shí),可能沒(méi)有足夠數(shù)量的隨機(jī)存取存儲(chǔ)器(RAM)或者其他讀取/寫(xiě)入存儲(chǔ)器來(lái)對(duì)于可用存儲(chǔ)裝置的尺寸緩沖影片箱盒,并且在影片關(guān)閉時(shí)重新計(jì)算影片箱盒的內(nèi)容太過(guò)緩慢。此外,影片片段可以允許利用常規(guī)ISO文件解析器同時(shí)記錄和重放文件。最后,在使用影片片段并且初始影片箱盒與具有相同媒體內(nèi)容但是在沒(méi)有影片片段的情況下被結(jié)構(gòu)化的文件相比較小時(shí),對(duì)于漸進(jìn)式下載所需的初始緩沖的持續(xù)時(shí)間較少。
[0108]影片片段特征允許把傳統(tǒng)上本將駐留在moov箱盒中的元數(shù)據(jù)分解成多項(xiàng),每一項(xiàng)對(duì)于軌道的一個(gè)特定時(shí)間周期。換句話說(shuō),影片片段特征允許把文件元數(shù)據(jù)與媒體元數(shù)據(jù)交織。因此,moov箱盒的尺寸可以受到限制,并且可以實(shí)現(xiàn)前面提到的使用情況。
[0109]與通常情況一樣,如果對(duì)于影片片段的媒體樣本處在與moov箱盒相同的文件中,則其駐留在mdat箱盒中。但是對(duì)于影片片段的元數(shù)據(jù)提供moof箱盒。其包括對(duì)于之前將處在moov箱盒中的特定重放持續(xù)時(shí)間的信息。moov箱盒本身仍然表示有效的影片,但是此外其還包括表明在相同文件中的后面將有影片片段的mvex箱盒。所述影片片段延長(zhǎng)與moov箱盒相關(guān)聯(lián)的呈現(xiàn)的時(shí)間。
[0110]在影片片段內(nèi),對(duì)于每一條軌道有一個(gè)軌道片段集合,其中有零個(gè)或更多個(gè)軌道片段。軌道片段又包含零個(gè)或更多個(gè)軌道游程,每一個(gè)軌道游程記錄對(duì)于該軌道的一個(gè)連續(xù)樣本游程。在這些結(jié)構(gòu)內(nèi),許多字段是可選的并且可以被缺省。
[0111]可以被包括在moof箱盒中的元數(shù)據(jù)被限制到可以被包括在moov箱盒中的元數(shù)據(jù)的一個(gè)子集,并且在某些情況下被不同地編碼??梢詮腎SO基礎(chǔ)媒體文件格式規(guī)范中找到可被包括在moof箱盒中的各個(gè)箱盒的細(xì)節(jié)。
[0112]現(xiàn)在參照?qǐng)D3和4,其中示出了對(duì)于箱盒中的樣本分組的使用。ISO基礎(chǔ)媒體文件格式及其導(dǎo)出格式(比如AVC文件格式和SVC文件格式)中的樣本分組是基于一定分組標(biāo)準(zhǔn)把軌道中的每一個(gè)樣本指派為一個(gè)樣本組中的成員。樣本分組中的一個(gè)樣本組不限于連續(xù)樣本,而是可以包含非鄰近樣本。由于對(duì)于軌道中的各個(gè)樣本可以有多于一個(gè)樣本分組,因此每一個(gè)樣本分組具有類型字段以表明分組的類型。樣本分組由兩個(gè)關(guān)聯(lián)數(shù)據(jù)結(jié)構(gòu)表示:(I)表示樣本到樣本組的指派的SampleToGroup (樣本到組)箱盒(sbgp箱盒);以及
(2)包含描述該組的屬性的對(duì)于每一個(gè)樣本組的樣本組條目的SampleGroupDescription(樣本組描述)箱盒(sgpd箱盒)。基于不同的分組標(biāo)準(zhǔn),可以有SampleToGroup和SampleGroupDescription箱盒的多個(gè)實(shí)例。這些實(shí)例由被用來(lái)表明分組類型的類型字段區(qū)分。
[0113]圖3提供了表明對(duì)于樣本組箱盒的嵌套結(jié)構(gòu)的簡(jiǎn)化箱盒分級(jí)結(jié)構(gòu)。樣本組箱盒(SampleGroupDescription箱盒和SampleToGroup箱盒)駐留在樣本表(stbl)箱盒內(nèi),其被封裝在影片(moov)箱盒內(nèi)的媒體信息(minf)、媒體(mdia)和軌道(trak)箱盒中(按照所提到的該順序)。
[0114]SampleToGroup箱盒被允許駐留在影片片段中。因此,可以逐個(gè)片段地進(jìn)行樣本分組。圖4示出了包含影片片段的文件的一個(gè)實(shí)例,其中所述影片片段包括SampleToGroup箱盒。在ISO基礎(chǔ)媒體文件格式(第3版)的第3修正案草稿中,除了樣本表箱盒之外,允許包括SampleGroupDescription箱盒以駐留在影片片段中。
[0115]由于其顯著的壓縮效率改進(jìn),提出使用通過(guò)H.264/AVC、SVC和MVC實(shí)現(xiàn)的多層級(jí)時(shí)間可伸縮性分級(jí)結(jié)構(gòu)。但是所述多層級(jí)分級(jí)結(jié)構(gòu)也導(dǎo)致解碼起始與渲染起始之間的顯著延遲。所述延遲是由于必須把已解碼圖片從其解碼順序重新排序到輸出/顯示順序而造成的。因此,在從隨機(jī)位置訪問(wèn)一個(gè)流時(shí),啟動(dòng)延遲增加,類似地,與非分級(jí)時(shí)間可伸縮性相t匕,調(diào)諧到多播或廣播的延遲也會(huì)增加。
[0116]圖7a_7c示出了具有五個(gè)時(shí)間層級(jí)(即GOP尺寸16)的分級(jí)可伸縮比特流的一個(gè)實(shí)例。處于時(shí)間層級(jí)0的圖片是從處于時(shí)間層級(jí)0的(多個(gè))先前圖片預(yù)測(cè)的。處于時(shí)間層級(jí)N (N>0)的圖片是從處于時(shí)間層級(jí)〈N的輸出順序中的先前和后續(xù)圖片預(yù)測(cè)的。在該例中假設(shè)對(duì)于一個(gè)圖片的解碼持續(xù)一個(gè)圖片間隔。盡管這是天真的假設(shè),其仍然起到在不損失一般性的情況下說(shuō)明問(wèn)題的目的。
[0117]圖7a示出了按照輸出順序的示例性序列。封裝在箱盒中的數(shù)值表明圖片的frame_num數(shù)值。斜體字?jǐn)?shù)值表明非參考圖片,其他圖片則是參考圖片。
[0118]圖7b示出了按照解碼順序的示例性序列。圖7c示出了在假設(shè)輸出時(shí)間線與解碼時(shí)間線重合時(shí)的按照輸出順序的示例性序列。從圖7a可以看到,幀號(hào)為5的圖片應(yīng)當(dāng)在所述序列可以被正確解碼和輸出之前被解碼。因此,所述序列的輸出在圖7c中被延遲五個(gè)幀間隔,從而使得序列的其余部分的輸出將不會(huì)在解碼器輸出處導(dǎo)致任何間隙。換句話說(shuō),在圖7c中,一個(gè)圖片的最早輸出時(shí)間處在該圖片的解碼之后的下一個(gè)圖片間隔中。可以看至IJ,流重放的開(kāi)始比已開(kāi)始的流的解碼晚五個(gè)圖片間隔。如果圖片是在25Hz下被采樣,則圖片間隔是40msec,并且重放被延遲0.2sec。
[0119]AVC文件格式(IS0/IEC14496-15)是基于ISO基礎(chǔ)媒體文件格式。其描述了如何在基于ISO基礎(chǔ)媒體文件格式的任何文件格式中存儲(chǔ)H.264/AVC流。
[0120]AVC流是一個(gè)訪問(wèn)單元序列,每一個(gè)訪問(wèn)單元被劃分成一定數(shù)目的網(wǎng)絡(luò)抽象層(NAL)單元。在AVC文件中,一個(gè)訪問(wèn)單元的所有NAL單元形成一個(gè)文件格式樣本,并且在該文件中,在每一個(gè)NAL單元之前緊接著是其以字節(jié)計(jì)的尺寸。
[0121]在圖5中描繪出AVC樣本的結(jié)構(gòu)的一個(gè)實(shí)例。
[0122]AVC訪問(wèn)單元由一個(gè)NAL單元集合構(gòu)成。每一個(gè)NAL單元由長(zhǎng)度字段(長(zhǎng)度)和有效載荷(NAL單元)表示。長(zhǎng)度表示后面的NAL單元的以字節(jié)計(jì)的長(zhǎng)度。長(zhǎng)度字段可以被配置成1、2或4個(gè)字節(jié)。NAL單元包含如在IS0/IEC14496-10中規(guī)定的NAL單元數(shù)據(jù)。
[0123]SVC和MVC文件格式是AVC文件格式的進(jìn)一步專門(mén)化,并且與之兼容。與AVC文件格式一樣,其定義如何把SVC和MVC流存儲(chǔ)在基于ISO基礎(chǔ)媒體文件格式的任何文件格式內(nèi)。
[0124]由于SVC和MVC編解碼器可以按照與AVC兼容的方式操作,因此SVC和MVC文件格式也可以按照兼容AVC的方式被使用。但是存在一些特定于SVC和MVC的結(jié)構(gòu)以實(shí)現(xiàn)可伸縮和多視圖操作。
[0125]ISO基礎(chǔ)媒體文件格式兼容文件中的樣本(比如對(duì)于視頻軌道的圖片)通常與解碼時(shí)間和組構(gòu)時(shí)間相關(guān)聯(lián),其中解碼時(shí)間表明其處理或解碼何時(shí)開(kāi)始,組構(gòu)時(shí)間表明該樣本何時(shí)被渲染或輸出。組構(gòu)時(shí)間特定于其軌道,例如其出現(xiàn)在所述軌道的媒體時(shí)間線上。組構(gòu)時(shí)間是通過(guò)解碼時(shí)間與對(duì)應(yīng)的組構(gòu)時(shí)間之間的偏移量來(lái)表不的。組構(gòu)偏移量對(duì)于在樣本表箱盒中描述的樣本被包括在組構(gòu)時(shí)間對(duì)樣本(Composition Time to Sample)箱盒中,并且對(duì)于在軌道片段箱盒中描述的樣本澤被包括在影片片段結(jié)構(gòu)(比如軌道游程箱盒)中。自從ISO基礎(chǔ)媒體文件格式(第3版)的第I修正案之后,已經(jīng)允許組構(gòu)偏移量是有符號(hào)的,而在所述文件格式規(guī)范的早前版本中則要求組構(gòu)偏移量是非負(fù)的。各條軌道相對(duì)于彼此的同步可以通過(guò)編輯箱盒來(lái)表明,其中每一個(gè)編輯箱盒包含該軌道(其包含該編輯箱盒)的媒體時(shí)間線到影片時(shí)間線的映射。編輯箱盒包括邊界列表箱盒,后者包含一個(gè)操作或指令序列,所述操作和指令分別把媒體時(shí)間線的一段映射到影片時(shí)間線。被稱作空白編輯的指令可以被用來(lái)移動(dòng)媒體時(shí)間線的起始時(shí)間,從而使其在影片時(shí)間線上的某一非零位置處開(kāi)始。
[0126]組構(gòu)對(duì)解碼(composition to decode)箱盒可以被如下定義:
[0127]箱盒類型:“cslg”
[0128]容器:樣本表箱盒(“stbl”)或軌道擴(kuò)展屬性箱盒(“tr印”)
[0129]強(qiáng)制:否
[0130]數(shù)量:零或一
[0131]在使用有符號(hào)組構(gòu)偏移量時(shí),該箱盒可以被用來(lái)把組構(gòu)時(shí)間線和解碼時(shí)間線相關(guān),并且應(yīng)對(duì)有符號(hào)組構(gòu)偏移量所引入的一些歧義。
[0132]所有這些字段可以適 用于整個(gè)媒體(而不僅僅是由任何編輯所選擇的媒體)。建議任何編輯(明確的或隱含的)不選擇 未映射到樣本的組構(gòu)時(shí)間線的任何部分。舉例來(lái)說(shuō),如果最小組構(gòu)時(shí)間是1000,則從0到媒體持續(xù)時(shí)間的默認(rèn)編輯留下未與媒體樣本相關(guān)聯(lián)的從0到1000的周期。在這些情況下,播放器行為和在該間隔中組構(gòu)的內(nèi)容是未定義的。建議最小計(jì)算組構(gòu)時(shí)間標(biāo)記(CTS)為零,或者與第一編輯的開(kāi)頭匹配。
[0133]當(dāng)組構(gòu)對(duì)解碼箱盒被包括在樣本表箱盒中時(shí),其記錄影片箱盒中的各個(gè)樣本的組構(gòu)和解碼時(shí)間關(guān)系。當(dāng)組構(gòu)對(duì)解碼箱盒被包括在軌道擴(kuò)展屬性箱盒中時(shí),其記錄影片箱盒之后的所有影片片段中的各個(gè)樣本的組構(gòu)和解碼時(shí)間關(guān)系。
[0134]軌道中的最后一個(gè)樣本的組構(gòu)持續(xù)時(shí)間可能存在歧義或者不明確;可以使用對(duì)于組構(gòu)結(jié)束時(shí)間的字段來(lái)澄清這一歧義,并且利用組構(gòu)起始時(shí)間來(lái)建立對(duì)于該軌道的明確的組構(gòu)持續(xù)時(shí)間。但是由于當(dāng)所述箱盒記錄影片片段時(shí)組構(gòu)結(jié)束時(shí)間可能是未知的,因此組構(gòu)結(jié)束時(shí)間的存在是可選的。
[0135]組構(gòu)對(duì)解碼箱盒的語(yǔ)法可以被如下定義:
[0136]
class ComposillonToDgcodiBoxPollBo1:(*esIg、¥ifsioe, flags) {
signed in 1(32) compoiMonToDTSSMft;
signed inti32) IwtDecedeTsDisplayDeiti;
signed int(32) gnmtetD隱dgToDiiplmyDdta;
signed inK32) compoiiftaStartTime;
if ((flags & 1) == 0)
signed inf(32) com positionEndTime;
}
[0137]如果數(shù)值compositionToDTSShift被添加到組構(gòu)時(shí)間(通過(guò)與解碼時(shí)間標(biāo)記DTS的CTS偏移量計(jì)算),則對(duì)于所有樣本確保其CTS大于或等于其DTS,并且由所表明的簡(jiǎn)檔/層級(jí)暗示的緩沖模型將被遵守;如果IeastDecodeToDisplayDelta為正或零,則該字段可以是O。否則,該字段應(yīng)當(dāng)至少是(-1eastDecodeToDisplayDelta)。
[0138]IeastDecodeToDisplayDelta:該軌道中的 CompositionTimeToSample (組構(gòu)時(shí)間對(duì)樣本)箱盒中的最小組構(gòu)偏移量
[0139]greatestDecodeToDispIayDeIta:該軌道中的 CompositionTimeToSample 箱盒中的最大組構(gòu)偏移量
[0140]compositionStartTime:對(duì)于該軌道的媒體中的任何樣本的最小計(jì)算組構(gòu)時(shí)間(CTS)
[0141]compositionEndTime:該軌道的媒體中的具有最大計(jì)算組構(gòu)時(shí)間(CTS)的樣本的組構(gòu)時(shí)間加上組構(gòu)持續(xù)時(shí)間
[0142]軌道擴(kuò)展屬性箱盒可以被如下定義:
[0143]箱盒類型:“tr印”
[0144]容器:影片擴(kuò)展箱盒(“mvex”)
[0145]強(qiáng)制:否
[0146]數(shù)量:零或更多。(每條軌道零個(gè)或一個(gè))
[0147]該箱盒可以被用來(lái)記錄或概括后續(xù)影片片段中的所述軌道的特性。其可以包含任意數(shù)目的子箱盒。
[0148]軌道擴(kuò)展屬性箱盒的語(yǔ)法可以被如下定義:
[0149]
【權(quán)利要求】
1.一種方法包括: 接收第一訪問(wèn)單元序列和第二訪問(wèn)單元序列; 對(duì)所述第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)訪問(wèn)單元進(jìn)行解碼; 對(duì)所述第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行解碼; 確定在所述第二訪問(wèn)單元序列當(dāng)中的所述下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和所述第二訪問(wèn)單元序列當(dāng)中的所述下一個(gè)可解碼訪問(wèn)單元的輸出時(shí)間的至少其中之一之前,所述第二訪問(wèn)單元序列當(dāng)中的所述下一個(gè)可解碼訪問(wèn)單元是否可被解碼;以及 基于確定在所述下一個(gè)可解碼訪問(wèn)單元的所述解碼時(shí)間和所述輸出時(shí)間的至少其中之一之前無(wú)法解碼所述下一個(gè)可解碼訪問(wèn)單元,跳過(guò)對(duì)于所述下一個(gè)可解碼訪問(wèn)單元的解碼。
2.根據(jù)權(quán)利要求1所述的方法,其還包括: 跳過(guò)對(duì)于所述第二訪問(wèn)單元序列當(dāng)中的取決于所述下一個(gè)可解碼訪問(wèn)單元的任何此類訪問(wèn)單元的解碼。
3.根據(jù)權(quán)利要求1所述的方法,其還包括: 基于確定在所述下一個(gè)可解碼訪問(wèn)單元的所述解碼時(shí)間和所述輸出時(shí)間的至少其中之一之前可以解碼所述下一個(gè)可解碼訪問(wèn)單元,對(duì)所述下一個(gè)可解碼訪問(wèn)單元進(jìn)行解碼。
4.根據(jù)權(quán)利要求1所述的方法,其還包括: 接收對(duì)于所述第二訪問(wèn)單元序列的替換啟動(dòng)序列的指令; 在所述確定中利用所述替換啟動(dòng)序列。
5.根據(jù)權(quán)利要求1所述的方法,其中, 所述第一訪問(wèn)單元序列是第一表示的一個(gè)子集,所述第二訪問(wèn)單元序列是第二表示的一個(gè)子集; 所述第一表示和所述第二表示源自實(shí)質(zhì)上相同的媒體內(nèi)容;以及所述第一訪問(wèn)單元序列的輸出時(shí)間具有至少部分地不同于所述第二訪問(wèn)單元序列的輸出時(shí)間的范圍; 所述方法還包括: 在接收所述第一訪問(wèn)單元序列之前請(qǐng)求所述第一訪問(wèn)單元序列的傳送; 確定請(qǐng)求傳送所述第二訪問(wèn)單元序列而不是所述第一表示的后續(xù)訪問(wèn)單元;以及 在接收所述第二訪問(wèn)單元序列之前請(qǐng)求所述第二訪問(wèn)單元序列的傳送。
6.一種包括至少一個(gè)處理器以及包括計(jì)算機(jī)程序代碼的至少一個(gè)存儲(chǔ)器的設(shè)備,所述至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)程序代碼被配置成利用所述至少一個(gè)處理器使得所述設(shè)備至少實(shí)施以下步驟: 對(duì)所述第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)訪問(wèn)單元進(jìn)行解碼; 對(duì)所述第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行解碼; 確定在所述第二訪問(wèn)單元序列當(dāng)中的所述下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和所述第二訪問(wèn)單元序列當(dāng)中的所述下一個(gè)可解碼訪問(wèn)單元的輸出時(shí)間的至少其中之一之前,所述第二訪問(wèn)單元序列當(dāng)中的所述下一個(gè)可解碼訪問(wèn)單元是否可被解碼;以及 基于確定在所述下一個(gè)可解碼訪問(wèn)單元的所述解碼時(shí)間和所述輸出時(shí)間的至少其中之一之前無(wú)法解碼所述下一個(gè)可 解碼訪問(wèn)單元,跳過(guò)對(duì)于所述下一個(gè)可解碼訪問(wèn)單元的解碼。
7.根據(jù)權(quán)利要求6所述的設(shè)備,所述至少一個(gè)存儲(chǔ)器上存儲(chǔ)有代碼,當(dāng)由所述至少一個(gè)處理器執(zhí)行時(shí),所述代碼還使得所述設(shè)備: 跳過(guò)對(duì)于所述第二訪問(wèn)單元序列當(dāng)中的取決于所述下一個(gè)可解碼訪問(wèn)單元的任何此類訪問(wèn)單元的解碼。
8.根據(jù)權(quán)利要求6所述的設(shè)備,所述至少一個(gè)存儲(chǔ)器上存儲(chǔ)有代碼,當(dāng)由所述至少一個(gè)處理器執(zhí)行時(shí),所述代碼還使得所述設(shè)備: 基于確定在所述下一個(gè)可解碼訪問(wèn)單元的所述解碼時(shí)間和所述輸出時(shí)間的至少其中之一之前可以解碼所述下一個(gè)可解碼訪問(wèn)單元,對(duì)所述下一個(gè)可解碼訪問(wèn)單元進(jìn)行解碼。
9.根據(jù)權(quán)利要求6所述的設(shè)備,所述至少一個(gè)存儲(chǔ)器上存儲(chǔ)有代碼,當(dāng)由所述至少一個(gè)處理器執(zhí)行時(shí),所述代碼還使得所述設(shè)備: 接收對(duì)于所述第二訪問(wèn)單元序列的替換啟動(dòng)序列的指令; 在所述確定中利用所述替換啟動(dòng)序列。
10.一種包括至少一個(gè)處理器以及包括計(jì)算機(jī)程序代碼的至少一個(gè)存儲(chǔ)器的設(shè)備,所述至少一個(gè)存儲(chǔ)器和計(jì)算機(jī)程序代碼被配置成利用所述至少一個(gè)處理器使得所述設(shè)備: 對(duì)第一訪問(wèn)單元序列當(dāng)中的至少一個(gè)可解碼訪問(wèn)單元進(jìn)行封裝以供傳送; 對(duì)第二訪問(wèn)單元序列當(dāng)中的第一可解碼訪問(wèn)單元進(jìn)行封裝以供傳送;` 確定在所述第二訪問(wèn)單元序列當(dāng)中的所述下一個(gè)可解碼訪問(wèn)單元的解碼時(shí)間和所述下一個(gè)可解碼訪問(wèn)單元的所述傳送時(shí)間的至少其中之一之前,所述第二訪問(wèn)單元序列當(dāng)中的下一個(gè)可解碼訪問(wèn)單元是否可被封裝;以及 基于確定在所述下一個(gè)可解碼訪問(wèn)單元的所述解碼時(shí)間和所述傳送時(shí)間的至少其中之一之前無(wú)法封裝所述下一個(gè)可解碼訪問(wèn)單元,跳過(guò)對(duì)于所述下一個(gè)可解碼訪問(wèn)單元的封裝。
【文檔編號(hào)】H04N21/44GK103782601SQ201280043038
【公開(kāi)日】2014年5月7日 申請(qǐng)日期:2012年7月4日 優(yōu)先權(quán)日:2011年7月5日
【發(fā)明者】M·漢努卡塞拉 申請(qǐng)人:諾基亞公司