本申請(qǐng)案主張2015年2月11日提交的第62/115,013號(hào)美國(guó)臨時(shí)申請(qǐng)案的權(quán)益,所述申請(qǐng)案的整個(gè)內(nèi)容以引用的方式并入本文中。
本發(fā)明涉及視頻譯碼及壓縮,以及用信號(hào)表示與位流中的經(jīng)壓縮視頻相關(guān)聯(lián)的數(shù)據(jù)。
背景技術(shù):
數(shù)字視頻功能可并入到廣泛范圍的裝置中,包含數(shù)字電視、數(shù)字直播系統(tǒng)、無(wú)線廣播系統(tǒng)、個(gè)人數(shù)字助理(pda)、膝上型或桌上型計(jì)算機(jī)、平板計(jì)算機(jī)、電子圖書(shū)閱讀器、數(shù)碼相機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺(tái)、蜂窩式或衛(wèi)星無(wú)線電電話、所謂的“智能電話”、視頻電話會(huì)議裝置、視頻串流裝置等等。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù),例如描述于以下各者中的那些技術(shù):由mpeg-2、mpeg-4、itu-th.263、itu-th.264/mpeg-4第10部分、高級(jí)視頻譯碼(avc)、itu-th.265定義的標(biāo)準(zhǔn)、高效視頻譯碼(hevc)和此類標(biāo)準(zhǔn)的擴(kuò)展。視頻裝置通過(guò)實(shí)施此類視頻壓縮技術(shù)可以更有效地發(fā)射、接收、編碼、解碼和/或存儲(chǔ)數(shù)字視頻信息。
視頻壓縮技術(shù)執(zhí)行空間(圖片內(nèi))預(yù)測(cè)和/或時(shí)間(圖片間)預(yù)測(cè)來(lái)減少或去除視頻序列中固有的冗余。對(duì)于基于塊的視頻譯碼來(lái)說(shuō),視頻切片(即,視頻幀或視頻幀的一部分)可分割成視頻塊,視頻塊也可被稱作樹(shù)塊、譯碼單元(cu)和/或譯碼節(jié)點(diǎn)。圖片的經(jīng)幀內(nèi)譯碼(i)切片中的視頻塊是使用相對(duì)于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測(cè)來(lái)編碼。圖片的經(jīng)幀間編碼(p或b)切片中的視頻塊可使用相對(duì)于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測(cè)或相對(duì)于其它參考圖片中的參考樣本的時(shí)間預(yù)測(cè)。圖片可被稱作幀,且參考圖片可被稱作參考幀。
空間或時(shí)間預(yù)測(cè)產(chǎn)生待譯碼的塊的預(yù)測(cè)塊。殘余數(shù)據(jù)表示待譯碼的原始?jí)K與預(yù)測(cè)塊之間的像素差。經(jīng)幀間譯碼塊根據(jù)指向形成預(yù)測(cè)塊的參考樣本塊塊的運(yùn)動(dòng)向量及指示經(jīng)譯碼塊與預(yù)測(cè)塊之間的差的殘余數(shù)據(jù)來(lái)編碼。經(jīng)幀內(nèi)譯碼塊是根據(jù)幀內(nèi)譯碼模式和殘余數(shù)據(jù)來(lái)編碼的。為了進(jìn)一步壓縮,可將殘余數(shù)據(jù)從像素域變換到變換域,從而產(chǎn)生殘余變換系數(shù),可接著量化所述殘余變換系數(shù)??蓲呙枳畛醪贾贸啥S陣列的經(jīng)量化變換系數(shù),以便產(chǎn)生變換系數(shù)的一維向量,且可應(yīng)用熵譯碼以實(shí)現(xiàn)甚至更多壓縮。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)涉及文件格式的定義以及視頻數(shù)據(jù)的解析和/或譯碼。舉例來(lái)說(shuō),在視頻譯碼中,參數(shù)集可以包含確實(shí)無(wú)需針對(duì)每個(gè)序列或圖片重復(fù)的序列層級(jí)標(biāo)頭信息或不頻繁地改變的圖片層級(jí)信息,由此提高譯碼效率。本發(fā)明的各方面可以通過(guò)強(qiáng)制對(duì)視頻位流中的參數(shù)集的安置進(jìn)行限制并且限定視頻文件中的同步樣本和非同步樣本來(lái)實(shí)現(xiàn)經(jīng)譯碼的視頻數(shù)據(jù)的高效隨機(jī)可存取性。舉例來(lái)說(shuō),針對(duì)同步樣本,用于視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)可以僅在樣本的樣本條目或樣本本身中得到譯碼。針對(duì)非同步樣本,用于視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)可以僅在樣本的樣本條目、樣本本身、作為同步樣本的按解碼次序的先前樣本中,或在按解碼次序出現(xiàn)在非同步樣本與作為同步樣本的按解碼次序的先前樣本之間的一或多個(gè)樣本中得到譯碼。
在一個(gè)實(shí)例中,解碼視頻數(shù)據(jù)的方法包含確定視頻數(shù)據(jù)的樣本是否是同步樣本,并且基于確定樣本不是同步樣本,僅從樣本的樣本條目、樣本、作為同步樣本的按解碼次序的先前樣本中,或從按解碼次序出現(xiàn)在樣本與作為同步樣本的按解碼次序的先前樣本之間的樣本中確定用于視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)。
在另一個(gè)實(shí)例中,用于編碼視頻數(shù)據(jù)的方法包括確定視頻數(shù)據(jù)的樣本是否是同步樣本,并且基于確定樣本不是同步樣本,僅在樣本的樣本條目、樣本、作為同步樣本的按解碼次序的先前樣本中,或在按解碼次序出現(xiàn)在樣本與作為同步樣本的按解碼次序的先前樣本之間的樣本中編碼用于視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)。
在另一個(gè)實(shí)例中,用于解碼視頻數(shù)據(jù)的裝置包括經(jīng)配置以存儲(chǔ)視頻數(shù)據(jù)的存儲(chǔ)器以及一或多個(gè)處理器,所述一或多個(gè)處理器經(jīng)配置以確定視頻數(shù)據(jù)的樣本是否是同步樣本,并且基于確定樣本不是同步樣本,僅從樣本的樣本條目、樣本、作為同步樣本的按解碼次序的先前樣本中,或從按解碼次序出現(xiàn)在樣本與作為同步樣本的按解碼次序的先前樣本之間的樣本中確定用于視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)。
在另一個(gè)實(shí)例中,用于編碼視頻數(shù)據(jù)的裝置包括經(jīng)配置以存儲(chǔ)視頻數(shù)據(jù)的存儲(chǔ)器以及一或多個(gè)處理器,所述一或多個(gè)處理器經(jīng)配置以確定視頻數(shù)據(jù)的樣本是否是同步樣本,并且基于確定樣本不是同步樣本,僅在樣本的樣本條目、樣本、作為同步樣本的按解碼次序的先前樣本中,或在按解碼次序出現(xiàn)在樣本與作為同步樣本的按解碼次序的先前樣本之間的樣本中包含用于視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)。
在另一個(gè)實(shí)例中,用于解碼視頻數(shù)據(jù)的裝置包括用于確定視頻數(shù)據(jù)的樣本是否是同步樣本的裝置,以及用于基于確定樣本不是同步樣本僅從樣本的樣本條目、樣本、作為同步樣本的按解碼次序的先前樣本中,或從在按解碼次序出現(xiàn)在樣本與作為同步樣本的按解碼次序的先前樣本之間的樣本中確定用于視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)的裝置。
在另一個(gè)實(shí)例中,用于編碼視頻數(shù)據(jù)的裝置包括用于確定視頻數(shù)據(jù)的樣本是否是同步樣本的裝置,以及基于確定樣本不是同步樣本僅在樣本的樣本條目、樣本、作為同步樣本的按解碼次序的先前樣本中,或在按解碼次序出現(xiàn)在樣本與作為同步樣本的按解碼次序的先前樣本之間的樣本中包含用于視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)的裝置。
在另一個(gè)實(shí)例中,非暫時(shí)性計(jì)算機(jī)可讀媒體包括存儲(chǔ)在其上的指令,當(dāng)執(zhí)行所述指令時(shí),使得一或多個(gè)處理器確定視頻數(shù)據(jù)的樣本是否是同步樣本,并且基于確定樣本不是同步樣本,僅從樣本的樣本條目、樣本、作為同步樣本的按解碼次序的先前樣本中,或從按解碼次序出現(xiàn)在樣本與作為同步樣本的按解碼次序的先前樣本之間的樣本中確定用于視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)。
在另一個(gè)實(shí)例中,非暫時(shí)性計(jì)算機(jī)可讀媒體包括存儲(chǔ)在其上的指令,當(dāng)執(zhí)行所述指令時(shí),使得一或多個(gè)處理器確定視頻數(shù)據(jù)的樣本是否是同步樣本,并且基于確定樣本不是同步樣本,僅在樣本的樣本條目、樣本、作為同步樣本的按解碼次序的先前樣本中,或在按解碼次序出現(xiàn)在樣本與作為同步樣本的按解碼次序的先前樣本之間的樣本中包含用于視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)。
在附圖和以下描述中闡明本發(fā)明的一或多個(gè)實(shí)例的細(xì)節(jié)。其它特征、目標(biāo)和優(yōu)點(diǎn)將從所述描述、圖式和權(quán)利要求書(shū)中變得顯而易見(jiàn)。
附圖說(shuō)明
圖1是說(shuō)明可以利用本發(fā)明中描述的技術(shù)的實(shí)例視頻編碼和解碼系統(tǒng)的框圖。
圖2是說(shuō)明可以實(shí)施本發(fā)明中描述的技術(shù)的實(shí)例視頻編碼器的框圖。
圖3是說(shuō)明可以實(shí)施本發(fā)明中描述的技術(shù)的實(shí)例視頻解碼器的框圖。
圖4是說(shuō)明實(shí)例視頻文件的元素的框圖。
圖5是說(shuō)明用于從視頻位流中解碼參數(shù)集數(shù)據(jù)的過(guò)程的流程圖。
圖6是說(shuō)明用于在視頻位流中編碼參數(shù)集數(shù)據(jù)的過(guò)程的流程圖。
具體實(shí)施方式
本發(fā)明的技術(shù)涉及以文件格式存儲(chǔ)視頻內(nèi)容。更確切地說(shuō),所述技術(shù)可以通過(guò)強(qiáng)制對(duì)視頻文件中的參數(shù)集的安置以及同步樣本和非同步樣本的定義進(jìn)行限制來(lái)實(shí)現(xiàn)經(jīng)譯碼視頻數(shù)據(jù)的高效隨機(jī)可存取性。
視頻譯碼標(biāo)準(zhǔn)包含itu-th.261、iso/iecmpeg-1視覺(jué)、itu-th.262或iso/iecmpeg-2視覺(jué)、itu-th.263、iso/iecmpeg-4視覺(jué)、itu-th.264或iso/iecmpeg-4avc,包含其可縮放視頻譯碼(svc)和多視圖視頻譯碼(mvc)擴(kuò)展,以及高效視頻譯碼(hevc),也被稱作itu-th.265和iso/iec23008-2,包含其可縮放譯碼擴(kuò)展(即,可縮放高效視頻譯碼,shvc)和多視圖擴(kuò)展(即,多視圖高效視頻譯碼,mv-hevc)。
隨機(jī)存取可以指對(duì)從不是位流中的第一經(jīng)譯碼的圖片的經(jīng)譯碼的圖片開(kāi)始的視頻位流的解碼。對(duì)位流的隨機(jī)存取提供于許多視頻應(yīng)用程序中,例如,廣播和串流,例如,使用戶能夠在任何時(shí)候調(diào)入到程序,在不同信道之間切換,并且跳轉(zhuǎn)到視頻的特定部分,或者切換到用于流適配的不同位流(例如,位速率、幀率、空間分辨率的適配等等)。這種特征通過(guò)以規(guī)則的間隔將隨機(jī)存取圖片或隨機(jī)存取點(diǎn)多次插入到視頻位流中實(shí)現(xiàn)。
如在avc或hevc中所規(guī)定的瞬時(shí)解碼刷新(idr)可以用于隨機(jī)存取。一般來(lái)說(shuō),idr圖片可以包含經(jīng)幀內(nèi)譯碼數(shù)據(jù)并且可以使得經(jīng)解碼圖片緩沖器的圖片被清除和/或標(biāo)記為不用于參考。然而,由于按解碼次序在idr圖片之后的圖片無(wú)法使用在idr圖片之前解碼的圖片作為參考,所以依賴于用于隨機(jī)存取的idr圖片的位流可顯著地降低譯碼效率。
為了提高譯碼效率,在hevc中引入清潔隨機(jī)存取(cra)圖片的概念,以允許按解碼次序在cra圖片之后但按輸出次序在cra圖片之前的圖片使用在cra圖片前解碼的圖片作為參考。按解碼次序在cra圖片之后但按輸出次序在cra圖片之前的圖片被稱作與cra圖片相關(guān)聯(lián)的前導(dǎo)圖片(或cra圖片的前導(dǎo)圖片)。如果解碼從當(dāng)前cra圖片之前的idr或cra圖片開(kāi)始,那么cra圖片的前導(dǎo)圖片可被正確地解碼。然而,當(dāng)從此cra圖片的隨機(jī)存取發(fā)生時(shí),cra圖片的前導(dǎo)圖片可能是不可解碼的;因此,在隨機(jī)存取解碼期間,通常丟棄這些前導(dǎo)圖片。為防止錯(cuò)誤從取決于解碼開(kāi)始處而可能不可用的參考圖片中傳播,在解碼次序及輸出次序兩者上在cra圖片之后的所有圖片不應(yīng)將在解碼次序或輸出次序中在cra圖片之前的任何圖片(其包含前導(dǎo)圖片)用作參考。
斷鏈存取(bla)圖片的概念在hevc中是在cra圖片的引入之后進(jìn)一步引入且是基于cra圖片的概念。bla圖片通常來(lái)源于cra圖片的位置處的位流拼接(如下文更詳細(xì)描述),并且在經(jīng)拼接位流中拼接點(diǎn)cra圖片變?yōu)閎la圖片。
idr圖片、cra圖片和bla圖片統(tǒng)稱為隨機(jī)存取點(diǎn)(rap)圖片。idr圖片對(duì)應(yīng)于所謂的基于閉合圖片群組(gop)的rap,而cra和bla圖片對(duì)應(yīng)于常規(guī)地所謂的基于開(kāi)啟圖片群組的rap。
bla圖片與cra圖片之間的一個(gè)差異在于,對(duì)于cra圖片,如果按解碼次序從在cra圖片之前的rap圖片開(kāi)始解碼,那么相關(guān)聯(lián)的前導(dǎo)圖片是可正確解碼的,并且當(dāng)發(fā)生從cra圖片中的隨機(jī)存取時(shí)(即,當(dāng)從cra圖片中開(kāi)始解碼時(shí),或換句話說(shuō),當(dāng)cra圖片是位流中的第一圖片時(shí))相關(guān)聯(lián)的前導(dǎo)圖片可能是不可正確地解碼的。對(duì)于bla圖片,相關(guān)聯(lián)的前導(dǎo)圖片在所有情況下可能都是不可解碼的,即使當(dāng)從按解碼次序在bla圖片之前的rap圖片中開(kāi)始解碼時(shí)也是如此。
視頻位流的隨機(jī)地存取也可以從漸進(jìn)解碼刷新(gdr)圖片中開(kāi)始,所述圖片不是經(jīng)幀內(nèi)譯碼的,而是在一定數(shù)量的圖片被解碼之后,所有按解碼次序在后面的圖片可以得到正確地解碼。對(duì)于實(shí)現(xiàn)gdr的視頻技術(shù)的綜述,參見(jiàn)此論文:miskam.hannuksela、ye-kuiwang以及moncefgabbouj的“視頻譯碼中的隔離區(qū)域(isolatedregionsinvideocoding)”,ieee多媒體匯刊(ieeetransactionsonmultimedia),第6卷,第2期,第259-267頁(yè),2004年4月。
在一些實(shí)例中,隨機(jī)地存取視頻位流可以在位流拼接期間執(zhí)行。位流拼接可指代兩個(gè)或大于兩個(gè)位流或其部分的串接。舉例來(lái)說(shuō),第一位流可由第二位流附加,可能對(duì)所述位流中的一者或兩者具有一些修改以產(chǎn)生經(jīng)拼接位流。第二位流中的第一經(jīng)譯碼的圖片也被稱作拼接點(diǎn)。因此,在經(jīng)拼接位流中的拼接點(diǎn)之后出現(xiàn)的圖片來(lái)源于第二位流,而在經(jīng)拼接位流中的拼接點(diǎn)之前的圖片來(lái)源于第一位流。
位流的拼接可以通過(guò)位流拼接器來(lái)執(zhí)行。位流拼接器通常是輕質(zhì)的并且與編碼器相比可能不太智慧。舉例來(lái)說(shuō),拼接器可能并不配備有熵解碼和編碼功能。在一些實(shí)例中,位流拼接器可能包含在服務(wù)器或其它內(nèi)容準(zhǔn)備裝置中。位流切換可用于自適應(yīng)串流環(huán)境中。在切換到的位流中的某一圖片處的位流切換操作有效地為位流拼接操作,其中拼接點(diǎn)是位流切換點(diǎn),即,來(lái)自切換到的位流的第一圖片。
在一些情況下,經(jīng)譯碼的視頻數(shù)據(jù)可以特定文件格式存儲(chǔ)。實(shí)例文件格式標(biāo)準(zhǔn)包含iso基礎(chǔ)媒體文件格式(isobmff,iso/iec14496-12)。isobmff可用作許多編解碼封裝格式(例如,avc文件格式)以及許多多媒體容器格式(例如,mpeg-4文件格式、3gpp文件格式(3gp)和dvb文件格式)的基礎(chǔ)。舉例來(lái)說(shuō),衍生自isobmff的其它文件格式可以包含mpeg-4文件格式(iso/iec14496-14)、3gpp文件格式(3gppts26.244)和avc文件格式(iso/iec14496-15)。
除連續(xù)媒體(例如,音頻和視頻)、靜態(tài)媒體(例如,圖像)之外,元數(shù)據(jù)同樣可以存儲(chǔ)在符合isobmff的文件中。根據(jù)isobmff結(jié)構(gòu)化的文件可用于許多目的,其包含本地媒體文件播放、遠(yuǎn)程文件的即看式下載、通過(guò)http的動(dòng)態(tài)自適應(yīng)串流(dash)的片段、待串流的內(nèi)容的容器及它的分包指令,以及記錄接收到的實(shí)時(shí)媒體流。
框可指代在isobmff中的基礎(chǔ)語(yǔ)法結(jié)構(gòu),其包含四特征經(jīng)譯碼的框類型、框的字節(jié)數(shù)和有效負(fù)載。isobmff文件由一系列框構(gòu)成,并且框可以包含其它框。電影框(“moov”)包含用于存在于文件中的連續(xù)媒體流的元數(shù)據(jù),每一個(gè)元數(shù)據(jù)作為路徑呈現(xiàn)在文件中。
路徑的元數(shù)據(jù)包封在路徑框(“trak”)中,而路徑的媒體內(nèi)容或者包封在媒體數(shù)據(jù)框(“mdat”)中或者直接地包封在單獨(dú)的文件中。路徑的媒體內(nèi)容由一系列樣本(例如,音頻或視頻存取單元)構(gòu)成。一般而言,存取單元是包含用于通用時(shí)間實(shí)例的經(jīng)譯碼的圖片數(shù)據(jù)的數(shù)據(jù)的單元。樣本是如由特定規(guī)范(例如,本文中所描述的視頻譯碼規(guī)范)限定的存取單元。樣本條目可以提供對(duì)應(yīng)的樣本的描述。
isobmff規(guī)定以下類型的路徑:媒體路徑(包含基礎(chǔ)媒體流)、提示路徑(或者包含媒體傳輸指令或或者表示接收到的包流)和定時(shí)元數(shù)據(jù)路徑(包括時(shí)間同步的元數(shù)據(jù))。
盡管isobmff最初設(shè)計(jì)用于存儲(chǔ),但是已經(jīng)證實(shí)isobmff對(duì)于串流(例如,即看式下載或dash)而言是有價(jià)值的。出于串流的目的,可以使用在isobmff中定義的電影片段。每個(gè)路徑的元數(shù)據(jù)包含樣本描述條目(也被稱作樣本條目)的列表,每個(gè)樣本描述條目提供用于路徑中的譯碼或封裝格式以及處理該格式所需的初始化數(shù)據(jù)。每個(gè)樣本可以與路徑的樣本描述條目中的一個(gè)相關(guān)聯(lián)。如本文中所述,樣本可以對(duì)應(yīng)于在視頻譯碼中的存取單元。舉例來(lái)說(shuō),樣本可以對(duì)應(yīng)于視頻數(shù)據(jù)的單元,所述視頻數(shù)據(jù)包含用于通用時(shí)間實(shí)例的所有視圖分量(例如,所有網(wǎng)絡(luò)抽象層(nal)單元)。參數(shù)集樣本可以是在包含參數(shù)集nal單元的參數(shù)集流中的樣本,所述參數(shù)集nal單元被視為在相同時(shí)間實(shí)例中存在于視頻基本流中。
isobmff實(shí)現(xiàn)通過(guò)多種機(jī)制規(guī)定的樣本特定的元數(shù)據(jù)。已經(jīng)標(biāo)準(zhǔn)化在樣本表框(“stbl”)內(nèi)的特定框以響應(yīng)于通用需要。舉例來(lái)說(shuō),同步樣本框(“stss”)用于列出路徑的隨機(jī)存取樣本(如下文所述)。樣本分組機(jī)制實(shí)現(xiàn)根據(jù)四特征分組類型將樣本映射到共享相同特性的樣本的群組中,所述特性被規(guī)定為文件中的樣本群組描述條目。在isobmff中已經(jīng)規(guī)定了若干分組類型。
isobmff規(guī)范規(guī)定與dash一起使用的流存取點(diǎn)(sap)的六種類型。前兩種sap類型(類型1和2)對(duì)應(yīng)于在h.264/avc和hevc中的idr圖片。第三sap類型(類型3)對(duì)應(yīng)于開(kāi)啟gop隨機(jī)存取點(diǎn);從而對(duì)應(yīng)于在hevc中的bla或cra圖片。第四sap類型(類型4)對(duì)應(yīng)于gdr隨機(jī)存取點(diǎn)。
然而,短語(yǔ)“隨機(jī)存取點(diǎn)”可以具有貫穿isobmff的多個(gè)潛在的不一致的定義。舉例來(lái)說(shuō),符合isobmff的一部分的視頻譯碼器(例如,視頻編碼器或視頻解碼器)可以確定樣本是否是與符合isobmff的另一部分的視頻譯碼器不同的隨機(jī)存取點(diǎn)。當(dāng)隨機(jī)存取點(diǎn)由不同裝置(例如,負(fù)責(zé)編碼/封裝視頻數(shù)據(jù)的裝置和負(fù)責(zé)解析/解碼視頻數(shù)據(jù)的裝置)解釋時(shí),文件可能無(wú)法恰當(dāng)?shù)剌斔秃?或播放。
舉例來(lái)說(shuō),由于在isobmff中存在術(shù)語(yǔ)“隨機(jī)存取點(diǎn)”的不同解釋,所以關(guān)于在avc文件格式、svc文件格式、mvc文件格式和hevc文件格式中安置參數(shù)集的限制可以有不同的解釋。因此,文件可以被一些實(shí)施方案視為符合isobmff,但是被其它實(shí)施方案視為不符合isobmff。由于這些不一致,所以視頻譯碼器可能并不能夠準(zhǔn)確地和/或一致地確定針對(duì)特定的位流是否已經(jīng)滿足與隨機(jī)存取點(diǎn)相關(guān)聯(lián)的條件,例如,與參數(shù)集相關(guān)聯(lián)的條件。在一些情況下,文件可能被拒絕請(qǐng)求或播放。
本發(fā)明的技術(shù)可解決上述問(wèn)題中的一或多個(gè)。舉例來(lái)說(shuō),根據(jù)本發(fā)明的方面,關(guān)于在avc文件格式、svc文件格式、mvc文件格式和hevc文件格式中安置參數(shù)集的限制可以根據(jù)isobmff更新,使得解決上文所提到的互操作性問(wèn)題。
舉例來(lái)說(shuō),根據(jù)本發(fā)明的方面,視頻譯碼器(例如,視頻編碼器或視頻解碼器)可以確定視頻數(shù)據(jù)的樣本(例如,包含用于特定時(shí)間實(shí)例的至少一個(gè)經(jīng)譯碼的圖片的存取單元)是否是同步樣本。一般來(lái)說(shuō),同步樣本是可用于同步(例如,在位流切換或拼接期間)的樣本。如果滿足用于隨機(jī)存取的條件(如下文更詳細(xì)地描述),那么樣本可以被視為同步樣本,使得視頻解碼器可以開(kāi)始恰當(dāng)?shù)亟獯a同步樣本和按解碼次序在同步樣本之后的所有樣本。
根據(jù)本發(fā)明的方面,基于確定樣本不是同步樣本,視頻解碼器可以解碼視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù),所述視頻數(shù)據(jù)僅在樣本的樣本條目中或在按解碼次序出現(xiàn)在樣本與作為同步樣本的按解碼次序的先前樣本(包含)之間的樣本中。也就是說(shuō),視頻解碼器可以確定用于僅從非同步樣本的樣本條目、非同步樣本本身、按解碼次序的先前同步樣本或在先前同步樣本與非同步樣本之間的一或多個(gè)樣本中解碼非同步樣本的視頻數(shù)據(jù)所需的參數(shù)集數(shù)據(jù)。舉例來(lái)說(shuō),在樣本不是同步樣本并且參數(shù)集數(shù)據(jù)包含于除了那些規(guī)定的之外的位流的任何其它位置中的情況下,視頻解碼器30可以由于不符合而拒絕文件并且可以不解碼樣本。如下文更詳細(xì)地描述,參數(shù)集可以包含對(duì)于每個(gè)序列或圖片來(lái)說(shuō)確實(shí)無(wú)需重復(fù)的序列層級(jí)標(biāo)頭信息或不頻繁改變的圖片層級(jí)信息(由此提高譯碼效率)。
圖1是說(shuō)明根據(jù)本發(fā)明的方面可以使用用于確定一或多個(gè)目標(biāo)輸出層的技術(shù)的實(shí)例視頻編碼和解碼系統(tǒng)10的框圖。如圖1中所示,系統(tǒng)10包含源裝置12,所述源裝置12提供在稍后時(shí)間由目的地裝置14解碼的經(jīng)編碼視頻數(shù)據(jù)。確切地說(shuō),源裝置12經(jīng)由計(jì)算機(jī)可讀媒體16將視頻數(shù)據(jù)提供到目的地裝置14。
源裝置12和目的地裝置14可包括廣泛范圍的裝置中的任一者,包含桌上型計(jì)算機(jī)、筆記型(即,膝上型)計(jì)算機(jī)、平板計(jì)算機(jī)、機(jī)頂盒、電話手持機(jī)(例如所謂的“智能”電話)、所謂的“智能”平板電腦、電視機(jī)、相機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺(tái)、視頻串流裝置或類似者。在一些情況下,可裝備源裝置12和目的地裝置14以用于無(wú)線通信。
目的地裝置14可經(jīng)由計(jì)算機(jī)可讀媒體16接收待解碼的經(jīng)編碼視頻數(shù)據(jù)。計(jì)算機(jī)可讀媒體16可包括能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置12移動(dòng)到目的地裝置14的任何類型的媒體或裝置。在一個(gè)實(shí)例中,計(jì)算機(jī)可讀媒體16可包括使得源裝置12能夠?qū)崟r(shí)將經(jīng)編碼的視頻數(shù)據(jù)直接傳輸?shù)侥康牡匮b置14的通信媒體。
經(jīng)編碼的視頻數(shù)據(jù)可根據(jù)通信標(biāo)準(zhǔn)(例如,無(wú)線通信協(xié)議)而調(diào)制,且被傳輸?shù)侥康牡匮b置14。通信媒體可包括任何無(wú)線或有線通信媒體,例如射頻(rf)頻譜或一或多個(gè)物理傳輸線路。通信媒體可形成基于包的網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或全球網(wǎng)絡(luò),例如因特網(wǎng))的部分。通信媒體可包含路由器、交換器、基站或任何其它可以用于促進(jìn)從源裝置12到目的地裝置14的通信的設(shè)備。
在一些實(shí)例中,經(jīng)編碼的數(shù)據(jù)可以從輸出接口22輸出到存儲(chǔ)裝置。類似地,可通過(guò)輸入接口28從存儲(chǔ)裝置存取經(jīng)編碼的數(shù)據(jù)。存儲(chǔ)裝置可包含多種分布式或本地存取式數(shù)據(jù)存儲(chǔ)媒體中的任一者,例如,硬盤驅(qū)動(dòng)器、藍(lán)光光盤、dvd、cd-rom、快閃存儲(chǔ)器、易失性或非易失性存儲(chǔ)器或用于存儲(chǔ)經(jīng)編碼的視頻數(shù)據(jù)的任何其它合適的數(shù)字存儲(chǔ)媒體。在另一實(shí)例中,存儲(chǔ)裝置可對(duì)應(yīng)于文件服務(wù)器或可存儲(chǔ)源裝置12產(chǎn)生的經(jīng)編碼的視頻的另一中間存儲(chǔ)裝置。
目的地裝置14可經(jīng)由串流或下載從存儲(chǔ)裝置中存取所存儲(chǔ)的視頻數(shù)據(jù)。文件服務(wù)器可以為能夠存儲(chǔ)經(jīng)編碼的視頻數(shù)據(jù)并將經(jīng)編碼的視頻數(shù)據(jù)傳輸?shù)侥康牡匮b置14的任何類型的服務(wù)器。實(shí)例文件服務(wù)器包含網(wǎng)絡(luò)服務(wù)器(例如,用于網(wǎng)站)、ftp服務(wù)器、網(wǎng)絡(luò)附接式存儲(chǔ)(nas)裝置或本地磁盤驅(qū)動(dòng)器。
目的地裝置14可經(jīng)由任何標(biāo)準(zhǔn)數(shù)據(jù)連接(包含因特網(wǎng)連接)來(lái)存取經(jīng)編碼的視頻數(shù)據(jù)。這可包含適用于存取存儲(chǔ)于文件服務(wù)器上的經(jīng)編碼的視頻數(shù)據(jù)的無(wú)線信道(例如,wi-fi連接)、有線連接(例如,dsl、電纜調(diào)制解調(diào)器等)或兩者的組合。經(jīng)編碼的視頻數(shù)據(jù)從存儲(chǔ)裝置的傳輸可為串流傳輸、下載傳輸或其組合。
本發(fā)明的技術(shù)未必限于無(wú)線應(yīng)用或設(shè)置。所述技術(shù)可應(yīng)用于支持多種多媒體應(yīng)用中的任一者的視頻譯碼,例如,空中電視廣播、有線電視傳輸、衛(wèi)星電視傳輸、因特網(wǎng)串流視頻傳輸(例如,http動(dòng)態(tài)自適應(yīng)串流(dash))、被編碼到數(shù)據(jù)存儲(chǔ)媒體上的數(shù)字視頻,存儲(chǔ)在數(shù)據(jù)存儲(chǔ)媒體上的數(shù)字視頻的解碼,或其它應(yīng)用。在一些實(shí)例中,系統(tǒng)10可經(jīng)配置以支持單向或雙向視頻傳輸,以支持例如視頻串流、視頻播放、視頻廣播和/或視頻電話的應(yīng)用。
在圖1的實(shí)例中,源裝置12包含視頻源18、視頻編碼器20、封裝單元21和輸出接口22。目的地裝置14包含輸入接口28、解封裝單元29、視頻解碼器30和顯示裝置32。在其它實(shí)例中,源裝置和目的地裝置可包含其它組件或布置。舉例來(lái)說(shuō),源裝置12可從外部視頻源18(例如外部相機(jī))接收視頻數(shù)據(jù)。類似地,目的地裝置14可與外部顯示裝置介接,而非包含集成顯示裝置。
圖1的所說(shuō)明的系統(tǒng)10僅為一個(gè)實(shí)例??赏ㄟ^(guò)任何數(shù)字視頻編碼和/或解碼裝置來(lái)執(zhí)行本文中所描述的技術(shù)。盡管本發(fā)明的技術(shù)通常由視頻編碼裝置執(zhí)行,但是所述技術(shù)也可通過(guò)視頻編碼器/解碼器(通常被稱作“編解碼器”)執(zhí)行。此外,本發(fā)明的技術(shù)還可由視頻預(yù)處理器執(zhí)行。
源裝置12和目的地裝置14僅為源裝置12在其中產(chǎn)生經(jīng)譯碼視頻數(shù)據(jù)以供傳輸?shù)侥康牡匮b置14的此類譯碼裝置的實(shí)例。在一些實(shí)例中,裝置12、14可以以基本上對(duì)稱的方式操作,使得裝置12、14中的每一者包含視頻編碼和解碼組件。因此,系統(tǒng)10可支持視頻裝置12、14之間的單向或雙向視頻傳輸以例如用于視頻串流、視頻播放、視頻廣播或視頻電話。
源裝置12的視頻源18可包含視頻俘獲裝置,例如攝像機(jī)、含有先前所俘獲視頻的視頻存檔和/或用于從視頻內(nèi)容提供者接收視頻的視頻饋送接口。作為另一替代方案,視頻源18可產(chǎn)生基于計(jì)算機(jī)圖形的數(shù)據(jù)作為源視頻,或?qū)崨r視頻、所存檔視頻與計(jì)算機(jī)產(chǎn)生的視頻的組合。在一些情況下,如果視頻源18為攝像機(jī),那么源裝置12和目的地裝置14可形成所謂的相機(jī)電話或視頻電話。然而,如上文所提及,本發(fā)明中所描述的技術(shù)一般可適用于視頻譯碼,且可應(yīng)用于無(wú)線和/或有線應(yīng)用。在每一情況下,可由視頻編碼器20編碼所俘獲、預(yù)先俘獲或計(jì)算機(jī)產(chǎn)生的視頻。
視頻編碼器20通常產(chǎn)生經(jīng)編碼視頻數(shù)據(jù)的流。每一單獨(dú)的數(shù)據(jù)流(不論是音頻還是視頻)可被稱為基本流。基本流是一個(gè)表示的單個(gè)經(jīng)數(shù)字譯碼的(可能經(jīng)壓縮)分量。舉例來(lái)說(shuō),所述表示的經(jīng)譯碼的視頻或音頻部分可以是基本流?;玖骺梢栽诒环庋b在視頻文件內(nèi)之前被轉(zhuǎn)換成打包基本流(pes)。在一些實(shí)例中,視頻編碼器20可以包含用于從經(jīng)編碼的數(shù)據(jù)中形成pes包的打包器。在其它實(shí)例中,視頻編碼器20可以與相應(yīng)的打包器介接以用于從經(jīng)編碼的數(shù)據(jù)中形成pes包。在另外其它實(shí)例中,視頻編碼器20可以包含打包器以用于從經(jīng)編碼的音頻和視頻數(shù)據(jù)中形成pes包。
封裝單元21從視頻編碼器20中接收pes包以用于表示的基本流并且從pes包中形成對(duì)應(yīng)的nal單元。在h.264/avc和hevc的實(shí)例中,經(jīng)譯碼的視頻片段被組織成nal單元,所述單元提供“網(wǎng)絡(luò)友好”的視頻表示,其處理例如視頻電話、存儲(chǔ)、廣播或串流的應(yīng)用。nal單元可分類為視頻譯碼層(vcl)nal單元和非vcl的nal單元。vcl單元可含有核心壓縮引擎,且可包含塊、宏塊和/或切片層級(jí)數(shù)據(jù)。其它nal單元可以為非vcl的nal單元。在一些實(shí)例中,一個(gè)時(shí)間實(shí)例中的經(jīng)譯碼的圖片(通常呈現(xiàn)為初級(jí)經(jīng)譯碼的圖片)可以包含在存取單元中,所述存取單元可包含一或多個(gè)nal單元。
如上文所指出,存取單元通常是包含用于通用時(shí)間實(shí)例的所有視圖分量(例如,所有nal單元)的數(shù)據(jù)的單元。存取單元的視圖分量通常意圖是一起輸出的(即,基本上同時(shí)輸出的),其中輸出圖片通常涉及從經(jīng)解碼圖片緩沖器(dpb)傳送圖片(例如,將圖片從dpb存儲(chǔ)到外部存儲(chǔ)器、將圖片從dpb發(fā)送到顯示器、從dpb移除圖片或類似者)。
非vcl的nal單元可包含參數(shù)集nal單元和seinal單元等等。參數(shù)集可以含有序列層級(jí)標(biāo)頭信息(在序列參數(shù)集(sps)中)和不頻繁改變的圖片層級(jí)標(biāo)頭信息(在圖片參數(shù)集(pps)中)。對(duì)于參數(shù)集(例如,pps和sps),不頻繁改變的信息不需要對(duì)于每一序列或圖片重復(fù),因此可改進(jìn)譯碼效率。另外,使用參數(shù)集可以實(shí)現(xiàn)重要標(biāo)頭信息的帶外傳輸,避免了對(duì)于用于錯(cuò)誤恢復(fù)的冗余傳輸?shù)男枰?。在帶外傳輸?shí)例中,參數(shù)集nal單元可以在與其它nal單元(例如seinal單元)不同的信道上傳輸。
輔助增強(qiáng)信息(sei)可以含有對(duì)于對(duì)來(lái)自vclnal單元的經(jīng)譯碼的圖片樣本進(jìn)行解碼不是必需的信息,但是可以輔助與解碼、顯示、錯(cuò)誤恢復(fù)和其它目的相關(guān)的過(guò)程。sei消息可以包含在非vcl的nal單元中。sei消息是一些標(biāo)準(zhǔn)規(guī)范的規(guī)范性部分,并且因此對(duì)于標(biāo)準(zhǔn)的順應(yīng)性解碼器實(shí)施方案并非始終是必選的。sei消息可以是序列層級(jí)sei消息或圖片層級(jí)sei消息。sei消息中可以含有一些序列層級(jí)信息,所述消息例如是svc的實(shí)例中的可縮放性信息sei消息,和mvc中的視圖可縮放性信息sei消息。這些實(shí)例sei消息可傳送關(guān)于例如操作點(diǎn)的提取及操作點(diǎn)的特征的信息。此外,封裝單元21可形成清單文件,例如描述表示的特征的媒體呈現(xiàn)描述符(mpd)。封裝單元21可根據(jù)可擴(kuò)展標(biāo)記語(yǔ)言(xml)將mpd格式化。
輸出接口22可將經(jīng)編碼的視頻輸出到計(jì)算機(jī)可讀媒體16上。計(jì)算機(jī)可讀媒體16可包含瞬時(shí)媒體,例如無(wú)線廣播或有線網(wǎng)絡(luò)傳輸,或存儲(chǔ)媒體(也就是說(shuō),非暫時(shí)性存儲(chǔ)媒體),例如,硬盤、快閃驅(qū)動(dòng)器、壓縮光盤、數(shù)字視頻光盤、藍(lán)光光盤或其它計(jì)算機(jī)可讀媒體。在一些實(shí)例中,網(wǎng)絡(luò)服務(wù)器(未示出)可以從源裝置12接收經(jīng)編碼的視頻數(shù)據(jù),并且例如經(jīng)由網(wǎng)絡(luò)傳輸將經(jīng)編碼的視頻數(shù)據(jù)提供到目的地裝置14。類似地,媒體生產(chǎn)設(shè)施(例如,光盤沖壓設(shè)施)的計(jì)算裝置可從源裝置12接收經(jīng)編碼的視頻數(shù)據(jù)且生產(chǎn)含有經(jīng)編碼的視頻數(shù)據(jù)的光盤。因此,在各種實(shí)例中,計(jì)算機(jī)可讀媒體16可被理解為包含各種形式的一或多個(gè)計(jì)算機(jī)可讀媒體。
目的地裝置14的輸入接口28可以接收特定表示的片段的數(shù)據(jù)。解封裝單元29可以將視頻文件的元素解封裝成組成性pes流、對(duì)pes流進(jìn)行解封裝以檢索經(jīng)編碼的數(shù)據(jù),并且將經(jīng)編碼的數(shù)據(jù)發(fā)送到視頻解碼器30。視頻解碼器30對(duì)經(jīng)編碼的視頻數(shù)據(jù)進(jìn)行解碼并且將經(jīng)解碼的視頻數(shù)據(jù)(其可以包含流的多個(gè)視圖)發(fā)送到顯示裝置32。顯示裝置32將經(jīng)解碼的視頻數(shù)據(jù)顯示給用戶,且可包括多種顯示裝置中的任一者,例如,陰極射線管(crt)、液晶顯示器(lcd)、等離子顯示器、有機(jī)發(fā)光二極管(oled)顯示器或另一類型的顯示裝置。
視頻編碼器20、封裝單元21、解封裝單元29和視頻解碼器30、下文所描述的后處理實(shí)體27和網(wǎng)絡(luò)實(shí)體79,以及本發(fā)明中所描述的其它組件在適當(dāng)時(shí)可以各自實(shí)施為多種合適的集成電路處理電路系統(tǒng)中的任一者,例如,一或多個(gè)處理器,包含一或多個(gè)微處理器、數(shù)字信號(hào)處理器(dsp)、專用集成電路(asic)、現(xiàn)場(chǎng)可編程門陣列(fpga)、離散邏輯電路系統(tǒng)、軟件、硬件、固件或其任何組合。因此,如本發(fā)明中所描述,視頻編碼器20、封裝單元21、解封裝單元29和視頻解碼器30以及后處理實(shí)體27和網(wǎng)絡(luò)實(shí)體79的組件可以通過(guò)多種集成處理電路系統(tǒng)中的任一者形成,包括實(shí)施為固定硬件處理電路系統(tǒng)、可編程處理電路系統(tǒng)和/或兩者的組合的一或多個(gè)處理器。視頻編碼器20和視頻解碼器30中的每一者可包含在一或多個(gè)編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為組合視頻編碼器/解碼器(codec)的部分。包含視頻編碼器20、視頻解碼器30、封裝單元21和/或解封裝單元29的設(shè)備可以包括集成電路、微處理器和/或無(wú)線通信裝置,例如,蜂窩式電話。
本發(fā)明通??梢灾敢曨l編碼器20(和/或服務(wù)器/內(nèi)容傳遞網(wǎng)絡(luò)34)“用信號(hào)發(fā)送”某些信息到另一裝置,例如,視頻解碼器30。然而,應(yīng)理解,視頻編碼器20和/或服務(wù)器/內(nèi)容傳遞網(wǎng)絡(luò)34可通過(guò)使某些語(yǔ)法元素與視頻數(shù)據(jù)的各種經(jīng)編碼的部分相關(guān)聯(lián)來(lái)用信號(hào)發(fā)送信息。也就是說(shuō),視頻編碼器20和/或服務(wù)器/內(nèi)容傳遞網(wǎng)絡(luò)34可以通過(guò)將某些語(yǔ)法元素存儲(chǔ)到視頻數(shù)據(jù)的各種經(jīng)編碼的部分的標(biāo)頭來(lái)“用信號(hào)發(fā)送”數(shù)據(jù)。在一些情況下,此類語(yǔ)法元素可在被視頻解碼器30接收和解碼之前被編碼和存儲(chǔ)(例如,存儲(chǔ)到存儲(chǔ)裝置24)。因此,術(shù)語(yǔ)“發(fā)信號(hào)通知”通??梢灾刚Z(yǔ)法或其它數(shù)據(jù)的傳送以用于解碼經(jīng)壓縮的視頻數(shù)據(jù),而無(wú)論此類傳送是否是實(shí)時(shí)或接近實(shí)時(shí)發(fā)生的或是在一定時(shí)間跨度內(nèi)發(fā)生的,例如,可能在編碼時(shí)間處將語(yǔ)法元素存儲(chǔ)到存儲(chǔ)媒體時(shí)發(fā)生,所述語(yǔ)法元素隨后可以在被存儲(chǔ)到此媒體之后的任何時(shí)間處通過(guò)解碼裝置檢索到。
視頻編碼器20和視頻解碼器30可以根據(jù)視頻壓縮標(biāo)準(zhǔn)操作,例如,itu-th.264標(biāo)準(zhǔn)(替代地被稱作mpeg-4第10部分高級(jí)視頻譯碼(avc)),或此類標(biāo)準(zhǔn)的擴(kuò)展(例如,多視圖視頻譯碼(mvc)或可縮放視頻譯碼(svc))。itu-th.264/mpeg-4(avc)標(biāo)準(zhǔn)是作為被稱為聯(lián)合視頻小組(jvt)的集體合作伙伴的產(chǎn)品而由itu-t視頻譯碼專家組(vceg)連同iso/iec移動(dòng)圖片專家組(mpeg)制定。h.264標(biāo)準(zhǔn)描述于itu-t研究組的日期為2005年3月的“itu-t推薦h.264,用于通用視聽(tīng)服務(wù)的高級(jí)視頻譯碼(itu-trecommendationh.264,advancedvideocodingforgenericaudiovisualservices)”中,其在本文中可被稱作h.264標(biāo)準(zhǔn)或h.264規(guī)范或h.264/avc標(biāo)準(zhǔn)或規(guī)范。
在其它實(shí)例中,視頻編碼器20和視頻解碼器30可以根據(jù)hevc視頻譯碼標(biāo)準(zhǔn)(也被稱作itu-th.265和iso/iec23008-2)或hevc的擴(kuò)展(可縮放高效視頻譯碼(shvc)或多視圖高效視頻譯碼(mv-hevc))操作。最終hevc標(biāo)準(zhǔn)文獻(xiàn)作為“itu-th.265,系列h:視聽(tīng)服務(wù)的視聽(tīng)及多媒體系統(tǒng)基礎(chǔ)架構(gòu)-移動(dòng)視頻的譯碼-高效視頻譯碼(itu-th.265,seriesh:audiovisualandmultimediasystemsinfrastructureofaudiovisualservices-codingofmovingvideo-highefficiencyvideocoding)”公布,國(guó)際電信聯(lián)盟(itu)的電信標(biāo)準(zhǔn)化部門,2013年4月。
hevc允許視頻圖片被劃分成包含亮度和色度樣本兩者的樹(shù)塊或最大譯碼單元(lcu)的序列。位流內(nèi)的語(yǔ)法數(shù)據(jù)可界定lcu(就像素?cái)?shù)目來(lái)說(shuō),其為最大譯碼單位)的大小。切片包含多個(gè)連續(xù)譯碼樹(shù)單元(ctu)。ctu中的每一者可包括亮度樣本的譯碼樹(shù)塊、色度樣本的兩個(gè)對(duì)應(yīng)譯碼樹(shù)塊和用于對(duì)譯碼樹(shù)塊的樣本進(jìn)行譯碼的語(yǔ)法結(jié)構(gòu)。在黑白圖片或具有三個(gè)單獨(dú)顏色平面的圖片中,ctu可包括單個(gè)譯碼樹(shù)塊及用于對(duì)所述譯碼樹(shù)塊的樣本進(jìn)行譯碼的語(yǔ)法結(jié)構(gòu)。
視頻圖片可被分割成一或多個(gè)切片。每一樹(shù)塊可根據(jù)四叉樹(shù)而分裂成若干譯碼單元(cu)。一般來(lái)說(shuō),四叉樹(shù)數(shù)據(jù)結(jié)構(gòu)包含每個(gè)cu一個(gè)節(jié)點(diǎn),其中一個(gè)根節(jié)點(diǎn)對(duì)應(yīng)于所述樹(shù)塊。如果cu分裂成四個(gè)子cu,那么對(duì)應(yīng)于cu的節(jié)點(diǎn)包含四個(gè)葉節(jié)點(diǎn),其中葉節(jié)點(diǎn)中的每一者對(duì)應(yīng)于所述子cu中的一者。cu可以包括具有亮度樣本陣列、cb樣本陣列和cr樣本陣列的圖片的亮度樣本的譯碼塊和色度樣本的兩個(gè)對(duì)應(yīng)的譯碼塊,以及用于對(duì)譯碼塊的樣本進(jìn)行譯碼的語(yǔ)法結(jié)構(gòu)。在黑白圖片或具有三個(gè)單獨(dú)顏色平面的圖片中,cu可包括單個(gè)譯碼塊及用于對(duì)所述譯碼塊的樣本進(jìn)行譯碼的語(yǔ)法結(jié)構(gòu)。譯碼塊是樣本的n×n塊。
四叉樹(shù)數(shù)據(jù)結(jié)構(gòu)的每一節(jié)點(diǎn)可提供對(duì)應(yīng)的cu的語(yǔ)法數(shù)據(jù)。舉例來(lái)說(shuō),四叉樹(shù)中的節(jié)點(diǎn)可包括分裂旗標(biāo),指示對(duì)應(yīng)于所述節(jié)點(diǎn)的cu是否分裂成子cu。用于cu的語(yǔ)法元素可遞歸地定義,且可取決于cu是否分裂成子cu。如果cu未進(jìn)一步分裂,那么將其稱作葉cu。在本發(fā)明中,葉cu的4個(gè)子cu也將被稱作葉cu,即使不存在原始葉cu的明確分裂時(shí)也如此。舉例來(lái)說(shuō),如果16×16大小的cu不進(jìn)一步分裂,那么盡管16×16cu從未經(jīng)分裂,四個(gè)8×8子cu也將被稱作葉cu。
除了cu不具有大小區(qū)別以外,cu具有與h.264標(biāo)準(zhǔn)的宏塊類似的目的。舉例來(lái)說(shuō),樹(shù)塊可分裂成四個(gè)子節(jié)點(diǎn)(還稱為子cu),并且每一子節(jié)點(diǎn)又可為父節(jié)點(diǎn)并且可分裂成另外四個(gè)子節(jié)點(diǎn)。最后未分裂的子節(jié)點(diǎn)(被稱作四叉樹(shù)的葉節(jié)點(diǎn))包括譯碼節(jié)點(diǎn),也被稱作葉cu。與經(jīng)譯碼位流相關(guān)聯(lián)的語(yǔ)法數(shù)據(jù)可定義樹(shù)塊可分裂的最大次數(shù),被稱作最大cu深度,且還可定義譯碼節(jié)點(diǎn)的最小大小。因此,位流還可定義最小譯碼單元(scu)。本發(fā)明使用術(shù)語(yǔ)“塊”來(lái)指hevc的情形中的cu、pu或tu中的任一者,或者其它標(biāo)準(zhǔn)的情形中的類似數(shù)據(jù)結(jié)構(gòu)(例如,其在h.264/avc中的宏塊及子塊)。
cu包含譯碼節(jié)點(diǎn)以及與所述譯碼節(jié)點(diǎn)相關(guān)聯(lián)的預(yù)測(cè)單元(pu)及變換單元(tu)。cu的大小對(duì)應(yīng)于譯碼節(jié)點(diǎn)的大小并且形狀必須是正方形。cu的大小可從8×8像素到具有最大64×64像素或更大的樹(shù)塊的大小變動(dòng)。每一cu可含有一或多個(gè)pu和一或多個(gè)tu。
一般來(lái)說(shuō),pu表示對(duì)應(yīng)于相對(duì)應(yīng)的cu的全部或一部分的空間區(qū)域,并且可包含用于檢索pu的參考樣本的數(shù)據(jù)。此外,pu包含與預(yù)測(cè)相關(guān)的數(shù)據(jù)。舉例來(lái)說(shuō),當(dāng)pu經(jīng)幀內(nèi)模式編碼時(shí),用于pu的數(shù)據(jù)可包含在殘余四叉樹(shù)(rqt)中,殘余四叉樹(shù)可包含描述用于對(duì)應(yīng)于pu的tu的幀內(nèi)預(yù)測(cè)模式的數(shù)據(jù)。作為另一實(shí)例,當(dāng)pu經(jīng)幀間模式編碼時(shí),pu可包含定義pu的一或多個(gè)運(yùn)動(dòng)向量的數(shù)據(jù)。預(yù)測(cè)塊可為其上應(yīng)用相同預(yù)測(cè)的樣本的矩形(即,正方形或非正方形)塊。cu的pu可以包括圖片的亮度樣本的預(yù)測(cè)塊、圖片的色度樣本的兩個(gè)對(duì)應(yīng)的預(yù)測(cè)塊,以及用于對(duì)預(yù)測(cè)塊樣本進(jìn)行預(yù)測(cè)的語(yǔ)法結(jié)構(gòu)。在黑白圖片或具有三個(gè)單獨(dú)彩色平面的圖片中,pu可以包括單個(gè)預(yù)測(cè)塊和用于對(duì)預(yù)測(cè)塊樣本進(jìn)行預(yù)測(cè)的語(yǔ)法結(jié)構(gòu)。
在將變換(例如,離散余弦變換(dct)、整數(shù)變換、小波變換或概念上類似的變換)應(yīng)用于殘余視頻數(shù)據(jù)之后,tu可以包含變換域中的系數(shù)。所述殘余數(shù)據(jù)可對(duì)應(yīng)于未經(jīng)編碼圖片的像素與對(duì)應(yīng)于pu的預(yù)測(cè)值之間的像素差。視頻編碼器20可形成包含用于cu的殘余數(shù)據(jù)的tu,并且隨后變換tu以產(chǎn)生用于cu的變換系數(shù)。變換塊可為其上應(yīng)用相同變換的樣本的矩形塊。cu的變換單元(tu)可包括亮度樣本的變換塊、色度樣本的兩個(gè)對(duì)應(yīng)的變換塊和用于對(duì)變換塊樣本進(jìn)行變換的語(yǔ)法結(jié)構(gòu)。在黑白圖片或具有三個(gè)單獨(dú)彩色平面的圖片中,tu可以包括單個(gè)變換塊和用于對(duì)變換塊樣本進(jìn)行變換的語(yǔ)法結(jié)構(gòu)。
在使用cu的pu進(jìn)行幀內(nèi)預(yù)測(cè)性或幀間預(yù)測(cè)性譯碼之后,視頻編碼器20可計(jì)算cu的tu的殘余數(shù)據(jù)。pu可包括描述在空間域(也稱為像素域)中產(chǎn)生預(yù)測(cè)性像素?cái)?shù)據(jù)的方法或模式的語(yǔ)法數(shù)據(jù),并且tu可包括在對(duì)殘余視頻數(shù)據(jù)應(yīng)用變換(例如,離散余弦變換(dct)、整數(shù)變換、小波變換或概念上類似變換)之后變換域中的系數(shù)。所述殘余數(shù)據(jù)可對(duì)應(yīng)于未經(jīng)編碼圖片的像素與對(duì)應(yīng)于pu的預(yù)測(cè)值之間的像素差。視頻編碼器20可形成包含用于cu的殘余數(shù)據(jù)的tu,并且隨后變換tu以產(chǎn)生用于cu的變換系數(shù)。
在任何用于產(chǎn)生變換系數(shù)的變換之后,視頻編碼器20可執(zhí)行變換系數(shù)的量化。量化一般是指變換系數(shù)經(jīng)量化以可能地減少用于表示系數(shù)的數(shù)據(jù)量從而提供進(jìn)一步壓縮的過(guò)程。在量化之后,視頻編碼器可以掃描變換系數(shù),從包含經(jīng)量化變換系數(shù)的二維矩陣中產(chǎn)生一維向量。
在掃描經(jīng)量化變換系數(shù)以形成一維向量之后,視頻編碼器20可例如根據(jù)上下文自適應(yīng)可變長(zhǎng)度譯碼(cavlc)、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(cabac)、基于語(yǔ)法的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(sbac)、概率區(qū)間分割熵(pipe)譯碼或另一熵編碼方法對(duì)一維向量進(jìn)行熵編碼。視頻編碼器還20還可以對(duì)與經(jīng)編碼視頻數(shù)據(jù)相關(guān)聯(lián)的語(yǔ)法元素進(jìn)行熵編碼以供視頻解碼器30在對(duì)視頻數(shù)據(jù)進(jìn)行解碼時(shí)使用。
在圖1中所示的實(shí)例中,系統(tǒng)10還包含具有路由器36的服務(wù)器/內(nèi)容傳遞網(wǎng)絡(luò)34。在一些實(shí)例中,如上文所述,源裝置12可以經(jīng)由多種無(wú)線和/或有線傳輸或儲(chǔ)存媒體與服務(wù)器/內(nèi)容傳遞網(wǎng)絡(luò)34通信。此外,雖然在圖1的實(shí)例中單獨(dú)地示出,但是在一些實(shí)例中,源裝置12和服務(wù)器/內(nèi)容傳遞網(wǎng)絡(luò)34包括相同的裝置。服務(wù)器/內(nèi)容傳遞網(wǎng)絡(luò)34可以存儲(chǔ)(來(lái)自源裝置12的視頻編碼器20的)經(jīng)譯碼的視頻數(shù)據(jù)的一或多個(gè)版本,并且可以使得此類經(jīng)譯碼的視頻數(shù)據(jù)可通過(guò)目的地裝置14和視頻解碼器30存取。
在一些實(shí)例中,路由器36可以負(fù)責(zé)以所請(qǐng)求的格式將經(jīng)譯碼的視頻數(shù)據(jù)提供到目的地裝置14。在其它實(shí)例中,封裝單元21可以負(fù)責(zé)以特定格式封裝經(jīng)編碼的視頻數(shù)據(jù)。文件格式標(biāo)準(zhǔn)包含iso基礎(chǔ)媒體文件格式(isobmff、iso/iec14496-12)和衍生自isobmff的其它格式,包含mpeg-4文件格式(iso/iec14496-14)、3gpp文件格式(3gppts26.244)和avc文件格式(iso/iec14496-15)。此外,服務(wù)器/內(nèi)容傳遞網(wǎng)絡(luò)34可以負(fù)責(zé)拼接和/或切換位流。
如下文根據(jù)圖4的更詳細(xì)描述,框可指代在isobmff中的語(yǔ)法結(jié)構(gòu),所述語(yǔ)法結(jié)構(gòu)包含四特征經(jīng)譯碼的框類型、框的字節(jié)數(shù)和有效負(fù)載。isobmff文件由一系列框構(gòu)成,并且框可以包含其它框。電影框(“moov”)包含用于存在于文件中的連續(xù)媒體流的元數(shù)據(jù),每一個(gè)元數(shù)據(jù)作為路徑呈現(xiàn)在文件中。
路徑的元數(shù)據(jù)包封在路徑框(“trak”)中,而路徑的媒體內(nèi)容或者包封在媒體數(shù)據(jù)框(“mdat”)中或者直接地包封在單獨(dú)的文件中。路徑的媒體內(nèi)容由一系列樣本(例如,音頻或視頻存取單元)構(gòu)成。一般而言,存取單元是包含用于通用時(shí)間實(shí)例的經(jīng)譯碼的圖片數(shù)據(jù)的數(shù)據(jù)的單元。樣本是如由特定規(guī)范(例如,本文中所描述的視頻譯碼規(guī)范)限定的存取單元。
樣本條目可以提供對(duì)應(yīng)的樣本的描述。舉例來(lái)說(shuō),樣本條目可以包含描述對(duì)應(yīng)的樣本的特征的四特征代碼,例如,對(duì)應(yīng)的樣本的格式。avc和svc路徑的實(shí)例樣本條目包含于下表中:
上表僅出于說(shuō)明的目的。多種其它樣本條目可用于描述其它類型的樣本。
視頻編碼器20(或封裝單元21)可以產(chǎn)生某些參數(shù)集并且視頻解碼器30(或解包封單元29)可以接收某些參數(shù)集,所述參數(shù)集可以在解碼視頻數(shù)據(jù)時(shí)使用。舉例來(lái)說(shuō),如上文所指出,參數(shù)集可以包含sps、pps或vps,這通過(guò)發(fā)信號(hào)通知不頻繁地改變的信息而提高了效率。根據(jù)isobmff文件格式,參數(shù)集樣本可以是在包含參數(shù)集nal單元的參數(shù)集流中的樣本,所述參數(shù)集nal單元在相同的時(shí)間實(shí)例中被視為存在于視頻基本流中。在參數(shù)集更新的每個(gè)點(diǎn)處也存在參數(shù)集樣本。每個(gè)參數(shù)集可以包含解碼視頻基本流的相關(guān)區(qū)段所需的序列和圖片參數(shù)集。參數(shù)集路徑中的同步樣本可以指示在視頻基本流中前向解碼時(shí)間所需的所有參數(shù)集在其中或后續(xù)參數(shù)流樣本中。
然而,在一些情況下,解封裝單元29和/或視頻解碼器30可能沒(méi)有恰當(dāng)?shù)刈R(shí)別和解碼參數(shù)集。舉例來(lái)說(shuō),如上文所指出,因?yàn)樵趇sobmff中存在對(duì)術(shù)語(yǔ)隨機(jī)存取點(diǎn)(rap)的不同解釋,所以關(guān)于在avc文件格式、svc文件格式、mvc文件格式和hevc文件格式中安置參數(shù)集的限制可以具有不同的解釋,并且文件可以被一些實(shí)施方案視為符合但是被其它實(shí)施方案視為不符合。當(dāng)隨機(jī)存取點(diǎn)通過(guò)不同裝置(例如,其中不同裝置可以包含負(fù)責(zé)編碼/封裝視頻數(shù)據(jù)的裝置和負(fù)責(zé)解析/解碼視頻數(shù)據(jù)的裝置)解釋時(shí),文件可能沒(méi)有恰當(dāng)?shù)剌斔秃?或播放。
舉例來(lái)說(shuō),在isobmff中,視頻譯碼器可以用至少三種不同方法解釋rap,這取決于視頻譯碼器所符合的isobmff的特定部分。在第一實(shí)例中,rap可以對(duì)應(yīng)于sap類型1、2或3中的任一者,但不不對(duì)應(yīng)于其它sap類型。舉例來(lái)說(shuō),isobmff的章節(jié)3.1.11的一部分再現(xiàn)于下文:
3.1.11
隨機(jī)存取點(diǎn)(rap)
在路徑中的樣本,其在sap的類型1或2或3的isau處開(kāi)始(如在附件i中所定義);非正式的樣本,從其中在解碼開(kāi)始時(shí)可以正確地解碼樣本本身和所有以組成次序在后面的樣本
在以上實(shí)例(被稱作解釋1)中,rap僅對(duì)應(yīng)于sap1型到3;因此漸進(jìn)解碼刷新(gdr)開(kāi)始點(diǎn)無(wú)法被視為rap。
在另一個(gè)實(shí)例中,rap可以對(duì)應(yīng)于sap類型1、2、3或4中的任一者,但不對(duì)應(yīng)于其它sap類型。舉例來(lái)說(shuō),isobmff的章節(jié)10.1.1.3的一部分再現(xiàn)于下文:
10.1.1.3
roll_distance是帶正負(fù)號(hào)的整數(shù),其給出必須被解碼以便正確地解碼樣本的樣本數(shù)量。正值指示在其為必須被解碼使得最終完成這些恢復(fù)(即,最終樣本是正確的)的群組成員的樣本之后的樣本的數(shù)量。負(fù)值指示在其為必須被解碼以便在標(biāo)記的樣本處完成恢復(fù)的群組成員的樣本之前的樣本的數(shù)量。不得使用零值;同步樣本表記錄了不需要恢復(fù)卷動(dòng)的隨機(jī)存取點(diǎn)。
在以上實(shí)例(被稱作解釋2)中,gdr開(kāi)始點(diǎn)可以被視為rap,這與條款3.1.11中的rap的定義不一致(上文提到)。
在第三實(shí)例中,隨機(jī)存取點(diǎn)可以對(duì)應(yīng)于同步樣本,其為編解碼特定的。舉例來(lái)說(shuō),isobmff的章節(jié)a.7的一部分再現(xiàn)于下文:
a.7隨機(jī)存取
…
3)原本位于步驟1的樣本可能不是同步樣本。同步樣本表指示哪個(gè)樣本是實(shí)際的隨機(jī)存取點(diǎn)。使用這種表,可以在規(guī)定的時(shí)間之前定位哪個(gè)樣本是第一同步樣本。不存在同步樣本表指示所有樣本是同步點(diǎn),并且使得這一問(wèn)題變得簡(jiǎn)單。在查詢同步樣本表之后,很可能希望查找哪個(gè)所產(chǎn)生的樣本最接近于(但是在之前)在步驟1中所發(fā)現(xiàn)的樣本。
在以上實(shí)例(被稱作解釋3)中,rap是同步樣本,且反之亦然。
上文所提到的解釋可以引起通過(guò)解封裝單元29或視頻解碼器30的解析和/或解碼困難。舉例來(lái)說(shuō),解封裝單元29或視頻解碼器30可以確定特定位流是否符合特定標(biāo)準(zhǔn),并且因此基于樣本是否被識(shí)別為rap而包含在預(yù)期的位置處的信息。在出于說(shuō)明的目的的一個(gè)實(shí)例中,解封裝單元29或視頻解碼器30可以解析來(lái)自位流的不同位置的參數(shù)集,這取決于解封裝單元29或視頻解碼器30是否確定樣本是rap樣本。
下文包含iso/iec14496-15(在本文中被稱作isobmff,其包含avc文件格式、svc文件格式、mvc文件格式和hevc文件格式)的實(shí)例章節(jié)。在這些實(shí)例中,解封裝單元29或視頻解碼器30可以在不同章節(jié)之間不同地解釋rap(例如,如上文相對(duì)于解釋1、解釋2和解釋3所提到的),這可能影響位流的參數(shù)集的恰當(dāng)解析和/或解碼。
舉例來(lái)說(shuō),isobmff的章節(jié)4.8的一部分再現(xiàn)于下文:
4.8同步樣本(idr)
…
●當(dāng)樣本條目名稱是‘a(chǎn)vc3’或‘a(chǎn)vc4’時(shí),以下內(nèi)容適用:
1.如果樣本是idr存取單元,那么解碼該樣本所需的所有參數(shù)集將包含于樣本條目或樣本本身中。
2.否則(樣本不是idr存取單元),解碼樣本所需的所有參數(shù)集將包含于樣本條目或從先前隨機(jī)存取點(diǎn)到樣本本身(包含)的樣本中的任一者中。
在以上實(shí)例中,解封裝單元29或視頻解碼器30可以基于隨機(jī)存取點(diǎn)的定義確定位流的參數(shù)集的位置。然而,如上文所指出,解封裝單元29或視頻解碼器30可以不一致地確定隨機(jī)存取點(diǎn)的定義,例如,如上文相對(duì)于解釋1、解釋2和解釋3所提到的。因此,當(dāng)實(shí)際上基于隨機(jī)存取點(diǎn)的另一定義位流確實(shí)符合視頻譯碼標(biāo)準(zhǔn)時(shí),解封裝單元29或視頻解碼器30可以基于隨機(jī)存取點(diǎn)的一個(gè)定義確定位流并不符合特定的視頻譯碼標(biāo)準(zhǔn)。相同問(wèn)題相應(yīng)地適用于svc文件格式和mvc文件格式的isobmff的章節(jié)6.5.5和7.5.3(兩者具有與章節(jié)4.8相同的標(biāo)題)。
作為另一實(shí)例,isobmff的章節(jié)8.4.3的一部分再現(xiàn)于下文:
8.4.3同步樣本
…
如果樣本中的vclnal單元指示包含于樣本中的經(jīng)譯碼的圖片是瞬時(shí)解碼刷新(idr)圖片、清潔隨機(jī)存取(cra)圖片或斷鏈存取(bla)圖片,那么hevc樣本被視為同步樣本。
當(dāng)樣本條目名稱是‘hev1’時(shí),以下內(nèi)容適用:
●如果樣本是隨機(jī)存取點(diǎn),那么解碼該樣本所需的所有參數(shù)集將包含于樣本條目或樣本本身中。
●否則(樣本不是隨機(jī)存取點(diǎn)),解碼樣本所需的所有參數(shù)集將包含于樣本條目或從先前隨機(jī)存取點(diǎn)到樣本本身(包含)的樣本中的任一者中。
同樣,不同可能的隨機(jī)存取點(diǎn)解釋可能影響關(guān)于參數(shù)集的安置的限制,并且當(dāng)排版器(例如,視頻編碼器20或封裝單元21)和解析器(例如,解封裝單元29或視頻解碼器30)使用兩個(gè)不同的解釋時(shí),可能出現(xiàn)互操作性問(wèn)題。
根據(jù)本發(fā)明的方面,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30可以施加關(guān)于參數(shù)集的安置的限制以用于視頻文件的恰當(dāng)?shù)亟獯a和播放。根據(jù)本發(fā)明的各種技術(shù),用于譯碼參數(shù)集的實(shí)例語(yǔ)法和語(yǔ)義在下文中給出。如所提到,所描述的語(yǔ)法和語(yǔ)義是相對(duì)于(例如)avc、hevc、svc、mvc或類似物的語(yǔ)法和語(yǔ)義的。
在實(shí)例描述中,下文中的語(yǔ)法表和語(yǔ)義、相關(guān)標(biāo)準(zhǔn)的添加是使用粗體和下劃線呈現(xiàn)的并且刪除是使用[[雙重括號(hào)]]呈現(xiàn)的。一般來(lái)說(shuō),關(guān)于“要求”的陳述應(yīng)理解為形成標(biāo)準(zhǔn)或標(biāo)準(zhǔn)擴(kuò)展的文本的一部分,而不是出于本發(fā)明的技術(shù)的目的的要求。在一些情況下,此類“要求”可包含可確定為可適用的位流限制且隨后由例如視頻譯碼器基于所述確定而加以遵守。
在一個(gè)實(shí)例中,根據(jù)本發(fā)明的方面,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30可以符合avc文件格式的章節(jié)4.8的更新后的版本,其中“隨機(jī)存取點(diǎn)”被替換為如下“其為idr存取單元的樣本”:
4.8同步樣本(idr)
如果[[滿足所有以下條件]]樣本中的視頻數(shù)據(jù)nal單元指示包含于樣本中的初級(jí)圖片是瞬時(shí)解碼刷新(idr)圖片,那么樣本被視為同步樣本。
●當(dāng)樣本條目名稱是‘a(chǎn)vc3’或‘a(chǎn)vc4’時(shí),以下內(nèi)容適用:
1.如果樣本是idr存取單元,那么解碼該樣本所需的所有參數(shù)集將包含于樣本條目或樣本本身中。
2.否則(樣本不是idr存取單元),解碼樣本所需的所有參數(shù)集將包含于樣本條目或從為idr存取單元的先前[[隨機(jī)存取點(diǎn)]]樣本到樣本本身(包含)的樣本中的任一者中。
相同改變相應(yīng)地適用于svc文件格式和mvc文件格式的isobmff的章節(jié)6.5.5和7.5.3(兩者具有與章節(jié)4.8相同的標(biāo)題)。在此實(shí)例中,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可經(jīng)配置以確定:如果樣本中的視頻數(shù)據(jù)nal單元指示包含于樣本中的初級(jí)圖片是idr圖片,那么樣本是同步樣本。視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可以進(jìn)一步經(jīng)配置使得:如果樣本是idr存取單元,那么解碼樣本所需的所有參數(shù)集包含(例如,編碼、存儲(chǔ)或安置)于樣本的樣本條目中或樣本本身中。因此,當(dāng)樣本是idr存取單元時(shí),通過(guò)以此方式包含解碼樣本所需的所有參數(shù)集,視頻解碼器30可以確定同步樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)僅來(lái)自樣本的樣本條目或樣本本身。確定參數(shù)集數(shù)據(jù)可以是指(例如)解析、解碼、檢索或獲取參數(shù)集數(shù)據(jù)。
在此實(shí)例中,解碼樣本所需的所有參數(shù)集包含于樣本的樣本條目或樣本本身中。因此,解碼樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)僅包含于樣本的樣本條目或樣本本身中。類似地,為了解碼樣本的視頻數(shù)據(jù),解碼樣本的視頻數(shù)據(jù)所需的所有參數(shù)集數(shù)據(jù)是從樣本的樣本條目或樣本本身中確定的。因此,為了解碼,視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)是僅從樣本的樣本條目或樣本本身中確定的。
此外,在此實(shí)例中,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可以配置使得:如果樣本不是idr存取單元,那么解碼樣本所需的所有參數(shù)集包含(例如,編碼、存儲(chǔ)或安置)于樣本的樣本條目或從為idr存取單元的先前樣本到不是idr存取單元本身的樣本的樣本中的任一者中。也就是說(shuō),如果樣本不是idr存取單元,那么解碼樣本所需的所有參數(shù)集包含于不是idr存取單元的樣本的樣本條目、不是idr存取單元本身的樣本、是idr存取單元的先前樣本中,或者包含于在其為idr存取單元的先前樣本之后且在樣本本身之前(即,在不是idr存取單元的樣本之前)的樣本中。通過(guò)解碼不是以此方式所包含的idr存取單元的樣本所需的所有參數(shù)集,視頻解碼器30可以僅從樣本的樣本條目、樣本本身、其為idr存取單元的先前樣本中,或從出現(xiàn)在不是idr存取單元的樣本與其為idr存取單元的先前樣本之間的樣本中確定樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)。
在此實(shí)例中,解碼不是idr存取單元的樣本所需的所有參數(shù)集包含于樣本的樣本條目、樣本本身、其為idr存取單元的先前樣本中,或包含于出現(xiàn)在不是idr存取單元的樣本與其為idr存取單元的先前樣本之間的樣本中。因此,解碼樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)僅包含于樣本的樣本條目、樣本本身、其為idr存取單元的先前樣本中,或包含于出現(xiàn)在不是idr存取單元的樣本與其為idr存取單元的先前樣本之間的樣本中。類似地,為了解碼樣本的視頻數(shù)據(jù),解碼樣本的視頻數(shù)據(jù)所需的所有參數(shù)集數(shù)據(jù)是從樣本的樣本條目、樣本本身、其為idr存取單元的先前樣本中確定的,或從出現(xiàn)在不是idr存取單元的樣本與其為idr存取單元的先前樣本之間的樣本中確定的。因此,為了解碼樣本的視頻數(shù)據(jù),視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)是僅從樣本的樣本條目、樣本本身、其為idr存取單元的先前樣本中確定的,或從出現(xiàn)在不是idr存取單元的樣本與作為idr存取單元的先前樣本之間的樣本中確定的。
在一些實(shí)例中,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可以進(jìn)一步經(jīng)配置使得:如果樣本是idr存取單元并且樣本條目名稱是特定名稱(例如,‘a(chǎn)vc3’或‘a(chǎn)vc4’),那么解碼該同步樣本所需的所有參數(shù)集包含(例如,編碼、存儲(chǔ)或安置)于樣本的樣本條目中或樣本本身中。因此,通過(guò)解碼以此方式所包含的樣本所需的所有參數(shù)集,如果樣本是idr存取單元并且樣本條目名稱是特定名稱(例如,‘a(chǎn)vc3’或‘a(chǎn)vc4’),那么視頻解碼器30可以確定樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)僅在樣本的樣本條目或樣本本身中。因此,可以以此方式確定參數(shù)集數(shù)據(jù),這是基于確定樣本是idr存取單元并且進(jìn)一步基于樣本的條目名稱,例如,樣本條目名稱為特定名稱或特定名稱(例如,‘a(chǎn)vc3’或‘a(chǎn)vc4’)的集合中的一個(gè)。如果樣本條目名稱不是特定名稱,那么可以不同地操縱參數(shù)集數(shù)據(jù)的安置或確定。
在一些實(shí)例中,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可以進(jìn)一步經(jīng)配置使得:如果樣本不是idr存取單元并且樣本條目名稱是特定名稱(例如,‘a(chǎn)vc3’或‘a(chǎn)vc4’),那么解碼該同步樣本所需的所有參數(shù)集包含(例如,編碼、存儲(chǔ)或安置)于不是idr存取單元的樣本的樣本條目、不是idr存取單元本身的樣本、其為idr存取單元的先前樣本,或在其為idr存取單元的先前樣本之后且在樣本本身之前(即,在不是idr存取單元的樣本之前)的樣本中。因此,通過(guò)解碼以此方式所包含的樣本所需的所有參數(shù)集,如果樣本不是idr存取單元并且樣本條目名稱是特定名稱(例如,‘a(chǎn)vc3’或‘a(chǎn)vc4’),那么視頻解碼器30可以確定樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)僅在不是idr存取單元的樣本的樣本條目、不是idr存取單元本身的樣本、其為idr存取單元的先前樣本,或在其為idr存取單元的先前樣本之后且在樣本本身之前(即,在不是idr存取單元的樣本之前)的樣本中。因此,可以以此方式解碼參數(shù)集數(shù)據(jù),這是基于確定樣本不是idr存取單元并且進(jìn)一步基于樣本的條目名稱,例如,樣本條目名稱為特定名稱或特定名稱(例如,‘a(chǎn)vc3’或‘a(chǎn)vc4’)的集合中的一個(gè)。如果樣本條目名稱不是特定名稱,那么可以不同地操縱參數(shù)集數(shù)據(jù)的安置或確定。
在另一個(gè)實(shí)例中,根據(jù)本發(fā)明的方面,舉例來(lái)說(shuō),視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30可以符合如下avc文件格式的章節(jié)4.8的更新后的版本,內(nèi)容如下:
4.8同步樣本(idr)
如果[[滿足所有以下條件]]樣本中的視頻數(shù)據(jù)nal單元指示包含于樣本中的初級(jí)圖片是瞬時(shí)解碼刷新(idr)圖片,那么樣本被視為同步樣本。
●當(dāng)樣本條目名稱是‘a(chǎn)vc3’或‘a(chǎn)vc4’時(shí),以下內(nèi)容適用:
1.如果樣本是[[idr存取單元]]同步樣本,那么解碼該樣本所需的所有參數(shù)集將包含于樣本條目或樣本本身中。
2.否則(樣本不是[[idr存取單元]]同步樣本),解碼樣本所需的所有參數(shù)集將包含于樣本條目中或從先前[[隨機(jī)存取點(diǎn)]]同步樣本到樣本本身(包含)的樣本中的任一者中。
同樣,相同改變相應(yīng)地適用于svc文件格式和mvc文件格式的isobmff的章節(jié)6.5.5和7.5.3(兩者具有與章節(jié)4.8相同的標(biāo)題)。在此實(shí)例中,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可經(jīng)配置以確定:如果樣本中的視頻數(shù)據(jù)nal單元指示包含于樣本中的初級(jí)圖片是idr圖片,那么樣本是同步樣本。視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可以進(jìn)一步經(jīng)配置使得:如果樣本是同步樣本,那么解碼該同步樣本所需的所有參數(shù)集包含(例如,通過(guò)視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或另一裝置)于同步樣本的樣本條目或同步樣本本身中。因此,通過(guò)解碼以此方式所包含的同步樣本所需的所有參數(shù)集,視頻解碼器30可以確定同步樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)僅在樣本的樣本條目或樣本本身中。確定參數(shù)集數(shù)據(jù)可以是指(例如)解析、解碼、檢索或獲取參數(shù)集數(shù)據(jù)。
在此實(shí)例中,解碼同步樣本所需的所有參數(shù)集包含于同步樣本的樣本條目或同步樣本本身中。因此,解碼同步樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)僅包含于同步樣本的樣本條目或同步樣本本身中。類似地,為了解碼同步樣本的視頻數(shù)據(jù),解碼同步樣本的視頻數(shù)據(jù)所需的所有參數(shù)集數(shù)據(jù)是從同步樣本的樣本條目或同步樣本本身中確定的。因此,為了解碼,視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)是通過(guò)解碼器30僅從同步樣本的樣本條目或同步樣本本身中確定的。
此外,在此實(shí)例中,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可經(jīng)配置使得:如果樣本不是同步樣本,那么解碼樣本所需的所有參數(shù)集包含于樣本的樣本條目或從先前同步樣本到樣本本身(包含)的樣本中的任一者中。也就是說(shuō),如果樣本不是同步樣本,那么解碼不是同步樣本的樣本所需的所有參數(shù)集包含(例如,編碼、存儲(chǔ)或安置)于不是同步樣本的樣本的樣本條目、不是同步樣本本身的樣本、先前同步樣本中,或在先前樣本之后且在樣本本身之前(即,在不是同步樣本的樣本之前)的一或多個(gè)樣本中。不是同步樣本的樣本還可被稱為非同步樣本。通過(guò)解碼以此方式所包含的非同步樣本所需的所有參數(shù)集,視頻解碼器30可以僅從樣本的樣本條目、樣本本身、先前同步樣本中,或從出現(xiàn)在非同步樣本與先前同步樣本之間的樣本中確定非同步樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)。
在此實(shí)例中,解碼非同步樣本所需的所有參數(shù)集包含于非同步樣本的樣本條目、非同步樣本本身、其為同步樣本的先前樣本中,或包含于出現(xiàn)在非同步樣本與先前同步樣本之間的樣本中。因此,用于解碼非同步樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)僅包含于非同步樣本的樣本條目、非同步樣本本身、其為同步樣本的先前樣本中,或包含于出現(xiàn)在非同步樣本與先前同步樣本之間的樣本中。類似地,為了解碼非同步樣本的視頻數(shù)據(jù),解碼非同步樣本的視頻數(shù)據(jù)所需的所有參數(shù)集數(shù)據(jù)是從非同步樣本的樣本條目、非同步樣本本身、先前同步樣本中確定的,或在出現(xiàn)在非同步樣本與先前同步樣本之間的樣本中確定的。因此,為了解碼非同步樣本的視頻數(shù)據(jù),視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)是僅從非同步樣本的樣本條目、非同步樣本本身、先前同步樣本中確定的,或在出現(xiàn)在非同步樣本與先前同步樣本之間的樣本中確定的。
在一些實(shí)例中,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可以進(jìn)一步經(jīng)配置使得:如果樣本是同步樣本并且樣本條目名稱是特定名稱(例如,‘a(chǎn)vc3’或‘a(chǎn)vc4’),那么解碼該同步樣本所需的所有參數(shù)集包含(例如,編碼、存儲(chǔ)或安置)于同步樣本的樣本條目或同步樣本本身中。因此,通過(guò)解碼以此方式所包含的樣本所需的所有參數(shù)集,如果樣本是同步樣本并且樣本條目名稱是特定名稱(例如,‘a(chǎn)vc3’或‘a(chǎn)vc4’),那么視頻解碼器30可以確定同步樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)僅在同步樣本的樣本條目或同步樣本本身中。因此,可以以此方式解碼參數(shù)集數(shù)據(jù),這是基于確定樣本不是同步樣本并且進(jìn)一步基于樣本的條目名稱,例如,樣本條目名稱為特定名稱或特定名稱(例如,‘a(chǎn)vc3’或‘a(chǎn)vc4’)的集合中的一個(gè)。如果樣本條目名稱不是特定名稱,那么可以不同地操縱參數(shù)集數(shù)據(jù)的安置或確定。
在一些實(shí)例中,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可以進(jìn)一步經(jīng)配置使得:如果樣本不是同步樣本并且樣本條目名稱是‘a(chǎn)vc3’或‘a(chǎn)vc4’,那么解碼樣本所需的所有參數(shù)集包含(例如,編碼、存儲(chǔ)或安置)于不是同步樣本的樣本條目、不是同步樣本本身的樣本、先前同步樣本,或在先前同步樣本之后且在樣本本身之前(即,在不是同步樣本的樣本之前)的樣本中。因此,通過(guò)解碼以此方式所包含的樣本所需的所有參數(shù)集,如果樣本不是同步樣本并且樣本條目名稱是特定名稱(例如,‘a(chǎn)vc3’或‘a(chǎn)vc4’),那么視頻解碼器30可以確定樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)僅在不是同步樣本的樣本的樣本條目、不是同步樣本本身的樣本、先前同步樣本,或在先前同步樣本之后且在樣本本身之前(即,在不是同步樣本的樣本之前)的一或多個(gè)樣本中。因此,可以以此方式確定參數(shù)集數(shù)據(jù),這是基于確定樣本不是同步樣本并且進(jìn)一步基于樣本的條目名稱,例如,樣本條目名稱為特定名稱或特定名稱(例如,‘a(chǎn)vc3’或‘a(chǎn)vc4’)的集合中的一個(gè)。如果樣本條目名稱不是特定名稱,那么可以不同地操縱參數(shù)集數(shù)據(jù)的安置或確定。
相對(duì)于hevc,在根據(jù)本發(fā)明的技術(shù)的另一個(gè)實(shí)例中,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30可以符合hevc文件格式的章節(jié)8.4.3的更新后的版本,其中“隨機(jī)存取點(diǎn)”被替換為“同步樣本”,內(nèi)容如下:
8.4.3同步樣本
…
如果樣本中的vclnal單元指示包含于樣本中的經(jīng)譯碼的圖片是瞬時(shí)解碼刷新(idr)圖片、清潔隨機(jī)存取(cra)圖片或斷鏈存取(bla)圖片,那么hevc樣本被視為同步樣本。
當(dāng)樣本條目名稱是‘hev1’時(shí),以下內(nèi)容適用:
●如果樣本是[[隨機(jī)存取點(diǎn)]]同步樣本,那么解碼該樣本所需的所有參數(shù)集將包含于樣本條目或樣本本身中。
●否則(樣本不是[[隨機(jī)存取點(diǎn)]]同步樣本),解碼樣本所需的所有參數(shù)集將包含于樣本條目中或從先前[[隨機(jī)存取點(diǎn)]]同步樣本到樣本本身(包含)的樣本中的任一者中。
在此實(shí)例中,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可經(jīng)配置以確定:如果樣本中的vclnal單元指示包含于樣本中的經(jīng)譯碼的圖片是瞬時(shí)解碼刷新(idr)圖片、清潔隨機(jī)存取(cra)圖片或斷鏈存取(bla)圖片,那么樣本是同步樣本。視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可經(jīng)進(jìn)一步經(jīng)配置使得:如果樣本是同步樣本,那么解碼同步樣本的視頻數(shù)據(jù)所需的所有參數(shù)集包含于同步樣本的樣本條目中或同步樣本本身中。因此,通過(guò)解碼以此方式所包含的同步樣本所需的所有參數(shù)集,對(duì)于同步樣本,視頻解碼器30可以僅從樣本的樣本條目中或從樣本本身中確定樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)。確定參數(shù)集數(shù)據(jù)可以是指(例如)解析、解碼、檢索或獲取參數(shù)集數(shù)據(jù)。
在此實(shí)例中,解碼同步樣本所需的所有參數(shù)集包含于同步樣本的樣本條目或同步樣本本身中。因此,解碼同步樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)僅包含于同步樣本的樣本條目或同步樣本本身中。類似地,為了解碼同步樣本的視頻數(shù)據(jù),解碼同步樣本的視頻數(shù)據(jù)所需的所有參數(shù)集數(shù)據(jù)是從同步樣本的樣本條目或同步樣本本身中確定的。因此,為了解碼,視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)是例如通過(guò)解碼器30僅從同步樣本的樣本條目或同步樣本本身中確定的。
在此實(shí)例中,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可以配置使得:如果樣本不是同步樣本,那么解碼樣本所需的所有參數(shù)集包含于樣本的樣本條目中或從先前同步樣本到樣本本身(包含)的樣本中的任一者中。也就是說(shuō),如果樣本不是同步樣本,那么解碼樣本所需的所有參數(shù)集包含于不是同步樣本的樣本的樣本條目、不是同步樣本本身的樣本、先前同步樣本,或在先前同步樣本之后且在樣本本身之前(即,在不是同步樣本的樣本之前)的樣本中。不是同步樣本的樣本還可被稱為非同步樣本。因此,通過(guò)解碼以此方式所包含的非同步樣本所需的所有參數(shù)集,視頻解碼器30可以僅從非同步樣本的樣本條目、非同步樣本本身、先前同步樣本中,或從出現(xiàn)在非同步樣本與先前同步樣本之間的一或多個(gè)樣本中確定用于解碼非同步樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)。
在此實(shí)例中,解碼非同步樣本所需的所有參數(shù)集包含于非同步樣本的樣本條目、非同步樣本本身、其為同步樣本的先前樣本中,或包含于出現(xiàn)在非同步樣本與先前同步樣本之間的樣本中。因此,用于解碼非同步樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)僅包含于非同步樣本的樣本條目、非同步樣本本身、其為同步樣本的先前樣本中,或包含于出現(xiàn)在非同步樣本與先前同步樣本之間的樣本中。類似地,為了解碼非同步樣本的視頻數(shù)據(jù),解碼非同步樣本的視頻數(shù)據(jù)所需的所有參數(shù)集數(shù)據(jù)是從非同步樣本的樣本條目、非同步樣本本身、先前同步樣本中確定的,或從出現(xiàn)在非同步樣本與先前同步樣本之間的樣本中確定的。因此,為了解碼非同步樣本的視頻數(shù)據(jù),視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)是例如通過(guò)視頻解碼器30僅從非同步樣本的樣本條目、非同步樣本本身、先前同步樣本中,或從出現(xiàn)在非同步樣本與先前同步樣本之間的一或多個(gè)樣本中確定的。
在一些實(shí)例中,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可以進(jìn)一步經(jīng)配置使得:如果樣本是同步樣本并且樣本條目名稱是特定名稱(例如,‘hev1’),那么解碼該同步樣本所需的所有參數(shù)集包含(例如,編碼、存儲(chǔ)或安置)于樣本的樣本條目中或樣本本身中。因此,通過(guò)解碼以此方式所包含的樣本所需的所有參數(shù)集,如果樣本是同步樣本并且樣本條目名稱是特定名稱(例如,‘hev1’),那么視頻解碼器30可以確定用于解碼樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)僅在同步樣本的樣本條目或同步樣本本身中。因此,可以以此方式確定參數(shù)集數(shù)據(jù),這是基于確定樣本是同步樣本并且進(jìn)一步基于樣本的條目名稱,例如,樣本條目名稱為特定名稱或特定名稱的集合中的一個(gè),例如,‘hev1’。如果樣本條目名稱不是特定名稱,那么可以不同地操縱參數(shù)集的安置。
在一些實(shí)例中,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可以進(jìn)一步經(jīng)配置使得:如果樣本不是同步樣本并且樣本條目名稱是‘hev1’,那么解碼該同步樣本所需的所有參數(shù)集包含(例如,編碼、存儲(chǔ)或安置)于不是同步樣本的樣本的樣本條目、不是同步樣本本身的樣本、先前同步樣本,或在先前同步樣本之后且在樣本本身之前(即,在不是同步樣本的樣本之前)的一或多個(gè)樣本中。因此,通過(guò)解碼以此方式所包含的樣本所需的所有參數(shù)集,如果樣本不是同步樣本(即,它是非同步樣本)并且樣本條目名稱是特定名稱(例如,‘hev1’),那么視頻解碼器30可以確定用于解碼非同步樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)僅在非同步樣本的樣本條目、非同步樣本本身、先前同步樣本,或在先前同步樣本之后且在非同步樣本本身之前(即,在不是同步樣本的樣本之前)的一或多個(gè)樣本中。因此,可以以此方式解碼參數(shù)集數(shù)據(jù),這是基于確定樣本不是同步樣本并且進(jìn)一步基于樣本的條目名稱,例如,樣本條目名稱為特定名稱或特定名稱的集合中的一個(gè),例如,‘hev1’。如果樣本條目名稱不是特定名稱,那么可以不同地操縱參數(shù)集數(shù)據(jù)的確定。
本發(fā)明的其它方面涉及確定樣本是否是同步樣本。舉例來(lái)說(shuō),根據(jù)本發(fā)明的方面,可以更新在分層hevc位流的分層hevc文件格式中的同步樣本的定義以與在hevc文件格式中的同步樣本的定義一致且后向兼容。一般來(lái)說(shuō),通用名稱分層hevc(l-hevc)可用于使用相同分層設(shè)計(jì)的所有hevc擴(kuò)展。l-hevc位流可以是層的集合,其中每一層有助于調(diào)整在質(zhì)量、分辨率、幀率、視圖、深度等中的視覺(jué)呈現(xiàn)。相關(guān)層的集合被分組在一起作為層集合。任何層集合中的層是通過(guò)它們的層標(biāo)識(shí)符(l-id)唯一地識(shí)別的。層可以是一或多個(gè)層集合的成員。屬于層的nal單元可以進(jìn)一步基于它們的時(shí)間標(biāo)識(shí)符(t-id)分割。每個(gè)此類分割被稱為子層。
在hevc文件格式中,如果樣本中的vclnal單元指示包含于樣本中的經(jīng)譯碼的圖片是idr圖片、cra圖片或bla圖片,那么hevc樣本可以被視為同步樣本。然而,在草案l-hevc文件格式中,如果存取單元中的每個(gè)經(jīng)譯碼的圖片是幀內(nèi)隨機(jī)存取點(diǎn)(irap)圖片而沒(méi)有隨機(jī)存取跳過(guò)前沿(rasl)圖片,那么l-hevc樣本可以被視為同步樣本。舉例來(lái)說(shuō),shvc和mv-hevc都使用相同的分層設(shè)計(jì)。
在以上實(shí)例中,草案分層hevc文件格式中的同步樣本的定義可能不與在hevc文件格式中的一致,其中失配為irap圖片的rasl圖片的存在是否將不允許樣本為同步樣本。這種失配可以產(chǎn)生的問(wèn)題在于當(dāng)使用hevc兼容樣本條目(即,‘hvc1’、‘hev1’、‘hvc2’和‘hev2’中的一個(gè))時(shí)l-hevc文件格式的同步樣本的定義不與hevc文件格式后向兼容。
根據(jù)本發(fā)明的方面,視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30可經(jīng)配置以符合l-hevc文件格式的同步樣本的更新后的定義以與hevc文件格式的定義一致且后向兼容。舉例來(lái)說(shuō),取決于樣本條目名稱,l-hevc文件格式的同步樣本定義如下:
-當(dāng)樣本條目名稱是‘hvc1’、‘hev1’、‘hvc2’或‘hev2’時(shí),如果存取單元中的基礎(chǔ)層圖片是如在iso/iec23008-2中所定義的irap圖片,那么l-hevc樣本被視為同步樣本。
-當(dāng)樣本條目名稱是‘lhv1’或‘lhe1’時(shí),如果存取單元中的每個(gè)經(jīng)譯碼的圖片是如在iso/iec23008-2中所定義的irap圖片,那么l-hevc樣本被視為同步樣本。
替代地,在不考慮相同條目名稱的情況下,如果存取單元中的基礎(chǔ)層圖片是如在iso/iec23008-2中所定義的irap圖片,那么視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30可經(jīng)配置以確定l-hevc樣本是同步樣本。
替代地,在不考慮相同條目名稱的情況下,如果存取單元中的每個(gè)經(jīng)譯碼的圖片是如在iso/iec23008-2中所定義的irap圖片,那么視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30可經(jīng)配置以確定l-hevc樣本是同步樣本。同步樣本是通過(guò)同步樣本表記錄的,并且可以另外通過(guò)流存取點(diǎn)‘sap.’樣本群組記錄。
圖2是說(shuō)明可以實(shí)施本發(fā)明中描述的技術(shù)的實(shí)例視頻編碼器20的框圖。視頻編碼器20可以包含用于存儲(chǔ)視頻數(shù)據(jù)的存儲(chǔ)器和一或多個(gè)處理器,所述一或多個(gè)處理器經(jīng)配置以執(zhí)行視頻譯碼操作,例如,操作以編碼視頻數(shù)據(jù),并且操作以包含用于解碼在特定位置中的樣本的參數(shù)集數(shù)據(jù),如本發(fā)明中所描述。視頻編碼器20可經(jīng)配置以將視頻輸出到后處理實(shí)體27,所述后處理實(shí)體是可以實(shí)施用于編碼視頻數(shù)據(jù)的技術(shù)的另一實(shí)例裝置,如本發(fā)明中所描述。舉例來(lái)說(shuō),后處理實(shí)體27可以執(zhí)行技術(shù)以用于包含在特定位置中用于解碼樣本的參數(shù)集數(shù)據(jù),和/或確定用于從特定位置中解碼樣本的參數(shù)集數(shù)據(jù),如本發(fā)明中所描述。后處理實(shí)體27意圖表示視頻實(shí)體的實(shí)例,例如,具有媒體知識(shí)的網(wǎng)絡(luò)元件(mane)、拼接/編輯裝置或可處理來(lái)自視頻編碼器20的經(jīng)編碼的視頻數(shù)據(jù)的另一中間裝置。在一些情況下,后處理實(shí)體27可為網(wǎng)絡(luò)實(shí)體的實(shí)例。在一些視頻編碼系統(tǒng)中,后處理實(shí)體27及視頻編碼器20可為單獨(dú)裝置的若干部分,而在其它情況下,關(guān)于后處理實(shí)體27所描述的功能性可由包括視頻編碼器20的相同裝置執(zhí)行。
視頻編碼器20可對(duì)視頻切片內(nèi)的視頻塊執(zhí)行幀內(nèi)和幀間譯碼。幀內(nèi)譯碼依賴于空間預(yù)測(cè)來(lái)減少或去除給定視頻幀或圖片內(nèi)的視頻中的空間冗余。幀間譯碼依賴于時(shí)間預(yù)測(cè)來(lái)減少或去除視頻序列的鄰近幀或圖片內(nèi)的視頻中的時(shí)間冗余。幀內(nèi)模式(i模式)可指若干基于空間的壓縮模式中的任一者。例如單向預(yù)測(cè)(p模式)或雙向預(yù)測(cè)(b模式)的幀間模式可指若干基于時(shí)間的壓縮模式中的任一者。
在圖2的實(shí)例中,視頻編碼器20包含分割單元35、視頻存儲(chǔ)器37、預(yù)測(cè)單元41、濾波器單元63、參考圖片存儲(chǔ)器64、求和器50、變換處理單元52、量化單元54,及熵編碼單元56。預(yù)測(cè)單元41包含運(yùn)動(dòng)估計(jì)單元42、運(yùn)動(dòng)補(bǔ)償單元44及幀內(nèi)預(yù)測(cè)處理單元46。視頻存儲(chǔ)器37和參考圖片存儲(chǔ)器64可以是同一存儲(chǔ)器裝置的部分或單獨(dú)的存儲(chǔ)器裝置。所述存儲(chǔ)器裝置可以是本發(fā)明中所描述的任何形式的計(jì)算機(jī)可讀媒體或數(shù)據(jù)存儲(chǔ)媒體,例如,ram、rom、快閃存儲(chǔ)器或類似物,或其組合。為了視頻塊重構(gòu),視頻編碼器20還包含逆量化單元58、逆變換處理單元60,及求和器62。濾波器單元63意圖表示一或多個(gè)環(huán)路濾波器,例如,解塊濾波器、自適應(yīng)環(huán)路濾波器(alf)及樣本自適應(yīng)偏移(sao)濾波器。盡管在圖2中將濾波器單元63示為環(huán)路內(nèi)濾波器,但在其它配置中,可將濾波器單元63實(shí)施為環(huán)路后濾波器。
如圖2中所示,視頻編碼器20接收待編碼的視頻數(shù)據(jù)(例如,在視頻存儲(chǔ)器37中),并且分割單元35將視頻存儲(chǔ)器37中的視頻數(shù)據(jù)分割成視頻塊。此分割還可包含分割成切片、單元片或其它較大單元,以及例如根據(jù)lcu及cu的四叉樹(shù)結(jié)構(gòu)的視頻塊分割。視頻編碼器20大體上說(shuō)明對(duì)待編碼的視頻切片內(nèi)的視頻塊進(jìn)行編碼的組件??蓪⑶衅瑒澐殖啥鄠€(gè)視頻塊(且可能劃分成被稱作單元片的視頻塊的集合)。預(yù)測(cè)處理單元41可基于錯(cuò)誤結(jié)果(例如,譯碼速率及失真等級(jí))針對(duì)當(dāng)前視頻塊選擇多種可能譯碼模式中的一者,例如,多種幀內(nèi)譯碼模式中的一者或多種幀間譯碼模式中的一者。預(yù)測(cè)處理單元41可將所得經(jīng)幀內(nèi)或幀間譯碼塊提供到求和器50以產(chǎn)生殘余塊數(shù)據(jù),并提供到求和器62以重構(gòu)經(jīng)編碼的塊以用作參考圖片。
預(yù)測(cè)處理單元41內(nèi)的幀內(nèi)預(yù)測(cè)處理單元46可相對(duì)于與待譯碼的當(dāng)前塊在相同的幀或切片中的一或多個(gè)相鄰塊執(zhí)行當(dāng)前視頻塊的幀內(nèi)預(yù)測(cè)性譯碼以提供空間壓縮。預(yù)測(cè)處理單元41內(nèi)的運(yùn)動(dòng)估計(jì)單元42及運(yùn)動(dòng)補(bǔ)償單元44相對(duì)于一或多個(gè)參考圖片中的一或多個(gè)預(yù)測(cè)塊執(zhí)行當(dāng)前視頻塊的幀間預(yù)測(cè)性譯碼以提供時(shí)間壓縮。
運(yùn)動(dòng)估計(jì)單元42可經(jīng)配置以根據(jù)用于視頻序列的預(yù)定模式來(lái)確定用于視頻切片的幀間預(yù)測(cè)模式。預(yù)定模式可將序列中的視頻切片表示為p切片或b切片。運(yùn)動(dòng)估計(jì)單元42及運(yùn)動(dòng)補(bǔ)償單元44可高度集成,但出于概念性目的分別加以說(shuō)明。由運(yùn)動(dòng)估計(jì)單元42執(zhí)行的運(yùn)動(dòng)估計(jì)是產(chǎn)生運(yùn)動(dòng)向量的過(guò)程,所述過(guò)程估計(jì)視頻塊的運(yùn)動(dòng)。舉例來(lái)說(shuō),運(yùn)動(dòng)向量可指示將當(dāng)前視頻幀或圖片內(nèi)的視頻塊的pu相對(duì)于參考圖片內(nèi)的預(yù)測(cè)塊的移位。
預(yù)測(cè)塊是被發(fā)現(xiàn)在像素差方面與待譯碼的視頻塊的pu密切匹配的塊,像素差可通過(guò)絕對(duì)差總和(sad)、平方差總和(ssd)或其它差度量來(lái)確定。在一些實(shí)例中,視頻編碼器20可以計(jì)算存儲(chǔ)在參考圖片存儲(chǔ)器64中的參考圖片的子整數(shù)像素位置的值。舉例來(lái)說(shuō),視頻編碼器20可以內(nèi)插參考圖片的四分之一像素位置、八分之一像素位置或其它分?jǐn)?shù)像素位置的值。因此,運(yùn)動(dòng)估計(jì)單元42可相對(duì)于整數(shù)像素位置及分?jǐn)?shù)像素位置執(zhí)行運(yùn)動(dòng)搜索并且輸出具有分?jǐn)?shù)像素精確度的運(yùn)動(dòng)向量。
運(yùn)動(dòng)估計(jì)單元42通過(guò)比較pu的位置與參考圖片的預(yù)測(cè)塊的位置來(lái)計(jì)算用于經(jīng)幀間譯碼切片中的視頻塊的pu的運(yùn)動(dòng)向量。參考圖片可以選自第一參考圖片列表(列表0)或第二參考圖片列表(列表1),其中的每一者識(shí)別存儲(chǔ)在參考圖片存儲(chǔ)器64中的一或多個(gè)參考圖片。運(yùn)動(dòng)估計(jì)單元42將計(jì)算出的運(yùn)動(dòng)向量發(fā)送到熵編碼單元56及運(yùn)動(dòng)補(bǔ)償單元44。
通過(guò)運(yùn)動(dòng)補(bǔ)償單元44執(zhí)行的運(yùn)動(dòng)補(bǔ)償可以涉及基于通過(guò)運(yùn)動(dòng)估計(jì)(可能執(zhí)行對(duì)子像素精確度的內(nèi)插)確定的運(yùn)動(dòng)向量提取或產(chǎn)生預(yù)測(cè)塊。在接收到當(dāng)前視頻塊的pu的運(yùn)動(dòng)向量后,運(yùn)動(dòng)補(bǔ)償單元44可在參考圖片列表中的一者中定位所述運(yùn)動(dòng)向量指向的預(yù)測(cè)塊。視頻編碼器20通過(guò)從正被譯碼的當(dāng)前視頻塊的像素值中減去預(yù)測(cè)塊的像素值來(lái)形成殘余視頻塊,從而形成像素差值。像素差值形成用于所述塊的殘余數(shù)據(jù),且可包含亮度及色度差分量?jī)烧?。求和?0表示執(zhí)行此減法運(yùn)算的一或多個(gè)組件。運(yùn)動(dòng)補(bǔ)償單元44還可產(chǎn)生與視頻塊和視頻切片相關(guān)聯(lián)的語(yǔ)法元素以供視頻解碼器30在對(duì)視頻切片的視頻塊解碼時(shí)使用。
作為如上文所描述由運(yùn)動(dòng)估計(jì)單元42和運(yùn)動(dòng)補(bǔ)償單元44執(zhí)行的幀間預(yù)測(cè)的替代方案,幀內(nèi)預(yù)測(cè)單元46可對(duì)當(dāng)前塊進(jìn)行幀內(nèi)預(yù)測(cè)。確切地說(shuō),幀內(nèi)預(yù)測(cè)單元46可以確定用來(lái)編碼當(dāng)前塊的幀內(nèi)預(yù)測(cè)模式。在一些實(shí)例中,例如,在單獨(dú)的編碼傳遞期間,幀內(nèi)預(yù)測(cè)單元46可以使用各種幀內(nèi)預(yù)測(cè)模式對(duì)當(dāng)前塊進(jìn)行編碼,并且?guī)瑑?nèi)預(yù)測(cè)單元46(或在一些實(shí)例中,模式選擇單元40)可以從測(cè)試模式中選擇合適的幀內(nèi)預(yù)測(cè)模式來(lái)使用,例如,通過(guò)使用用于各種測(cè)試幀內(nèi)預(yù)測(cè)模式的速率失真分析來(lái)計(jì)算速率失真值并且從測(cè)試模式中選擇具有最好的速率失真特征的幀內(nèi)預(yù)測(cè)模式。
在任何情況下,在選擇了用于一個(gè)塊的幀內(nèi)預(yù)測(cè)模式之后,幀內(nèi)預(yù)測(cè)單元46可以將指示用于所述塊的所選擇的幀內(nèi)預(yù)測(cè)模式的信息提供到熵編碼單元56。熵編碼單元56可以根據(jù)本發(fā)明的技術(shù)對(duì)指示所選擇的幀內(nèi)預(yù)測(cè)模式的信息進(jìn)行編碼。視頻編碼器20可在所傳輸?shù)奈涣髦邪渲脭?shù)據(jù),所述配置數(shù)據(jù)可包含多個(gè)幀內(nèi)預(yù)測(cè)模式索引表及多個(gè)修改后的幀內(nèi)預(yù)測(cè)模式索引表(也被稱作碼字映射表)、用于各種塊的編碼上下文的定義,及用于所述上下文中的每一者的最可能的幀內(nèi)預(yù)測(cè)模式、幀內(nèi)預(yù)測(cè)模式索引表及修改后的幀內(nèi)預(yù)測(cè)模式索引表的指示。
在預(yù)測(cè)處理單元41經(jīng)由幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)產(chǎn)生當(dāng)前視頻塊的預(yù)測(cè)塊之后,視頻編碼器20通過(guò)從當(dāng)前視頻塊減去預(yù)測(cè)塊而形成殘余視頻塊。殘余塊中的殘余視頻數(shù)據(jù)可包含在一或多個(gè)tu中并應(yīng)用于變換處理單元52。變換處理單元52使用例如離散余弦變換(dct)或概念上類似的變換的變換來(lái)將殘余視頻數(shù)據(jù)變換成殘余變換系數(shù)。變換處理單元52可將殘余視頻數(shù)據(jù)從像素域轉(zhuǎn)換到變換域,例如,頻域。
變換處理單元52可將所得變換系數(shù)發(fā)送到量化單元54。量化單元54對(duì)變換系數(shù)進(jìn)行量化以進(jìn)一步減小位速率。量化過(guò)程可減小與系數(shù)中的一些或全部相關(guān)聯(lián)的位深度??梢酝ㄟ^(guò)調(diào)節(jié)量化參數(shù)來(lái)修改量化程度。在一些實(shí)例中,量化單元54可隨后執(zhí)行對(duì)包含經(jīng)量化變換系數(shù)的矩陣的掃描。替代地,熵編碼單元56可執(zhí)行掃描。
在量化之后,熵編碼單元56對(duì)經(jīng)量化的變換系數(shù)進(jìn)行熵編碼。舉例來(lái)說(shuō),熵編碼單元56可執(zhí)行上下文自適應(yīng)可變長(zhǎng)度譯碼(cavlc)、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(cabac)、基于語(yǔ)法的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(sbac)、概率區(qū)間分割熵(pipe)譯碼或另一熵譯碼方法或技術(shù)。在由熵編碼單元56進(jìn)行熵編碼后,可將經(jīng)編碼的位流傳輸?shù)揭曨l解碼器30,或?qū)⒔?jīng)編碼的位流存檔以供稍后由視頻解碼器30傳輸或檢索。熵編碼單元56還可對(duì)正經(jīng)譯碼的當(dāng)前視頻切片的運(yùn)動(dòng)向量和其它語(yǔ)法元素進(jìn)行熵編碼。
逆量化單元58和逆變換處理單元60分別應(yīng)用逆量化和逆變換以在像素域中重構(gòu)殘余塊,以供稍后用作參考圖片的參考?jí)K。運(yùn)動(dòng)補(bǔ)償單元44可通過(guò)將殘余塊添加到參考圖片列表中的一者內(nèi)的參考圖片中的一者的預(yù)測(cè)塊中來(lái)計(jì)算參考?jí)K。運(yùn)動(dòng)補(bǔ)償單元44還可將一或多個(gè)內(nèi)插濾波器應(yīng)用于經(jīng)重構(gòu)的殘余塊以計(jì)算子整數(shù)像素值用于運(yùn)動(dòng)估計(jì)。求和器62將經(jīng)重構(gòu)的殘余塊添加到由運(yùn)動(dòng)補(bǔ)償單元44產(chǎn)生的經(jīng)運(yùn)動(dòng)補(bǔ)償?shù)念A(yù)測(cè)塊以產(chǎn)生參考?jí)K以用于存儲(chǔ)在參考圖片存儲(chǔ)器64中。參考?jí)K可由運(yùn)動(dòng)估計(jì)單元42和運(yùn)動(dòng)補(bǔ)償單元44用作參考?jí)K以對(duì)后續(xù)視頻幀或圖片中的塊進(jìn)行幀間預(yù)測(cè)。
以此方式,圖2的視頻編碼器20表示經(jīng)配置以實(shí)施本文中闡述的技術(shù)中的一或多者的視頻編碼器的實(shí)例。在一個(gè)實(shí)例中,熵編碼單元56可以執(zhí)行本文中相對(duì)于參數(shù)集和同步樣本所描述的技術(shù)。此外,圖2的后處理實(shí)體27是可以實(shí)施本發(fā)明中相對(duì)于參數(shù)集和同步樣本所描述的技術(shù)的另一實(shí)例裝置。
圖3是說(shuō)明可以實(shí)施本發(fā)明中描述的技術(shù)的實(shí)例視頻解碼器30的框圖。視頻解碼器30可以包含用于存儲(chǔ)視頻數(shù)據(jù)的存儲(chǔ)器和一或多個(gè)處理器,所述一或多個(gè)處理器經(jīng)配置以執(zhí)行視頻譯碼操作,例如,操作以解碼視頻數(shù)據(jù),并且操作以確定用于解碼來(lái)自特定位置中的樣本的參數(shù)集數(shù)據(jù),如本發(fā)明中所描述。在圖3的實(shí)例中,視頻解碼器30包含熵解碼單元80、視頻存儲(chǔ)器83、預(yù)測(cè)處理單元81、逆量化單元86、逆變換單元88、求和器90、濾波器單元91和參考圖片存儲(chǔ)器92。預(yù)測(cè)處理單元81包含運(yùn)動(dòng)補(bǔ)償單元82和幀內(nèi)預(yù)測(cè)處理單元84。在一些實(shí)例中,視頻解碼器30可執(zhí)行大體上與相對(duì)于來(lái)自圖2的視頻編碼器20描述的編碼遍次互逆的解碼遍次。
在解碼過(guò)程期間,視頻解碼器30從視頻編碼器20中接收表示經(jīng)編碼的視頻切片的視頻塊及相關(guān)聯(lián)的語(yǔ)法元素的經(jīng)編碼的視頻位流。舉例來(lái)說(shuō),視頻存儲(chǔ)器83可以接收經(jīng)編碼的視頻位流。在一些實(shí)例中,視頻存儲(chǔ)器83可以是經(jīng)譯碼的圖片緩沖器。視頻解碼器30可以從網(wǎng)絡(luò)實(shí)體79(這在一些實(shí)例中,可以對(duì)應(yīng)于圖1的路由器36)中接收經(jīng)編碼的視頻位流,例如,經(jīng)由視頻存儲(chǔ)器83。舉例來(lái)說(shuō),網(wǎng)絡(luò)實(shí)體79可以是服務(wù)器、mane、視頻編輯器/拼接器或經(jīng)配置以實(shí)施上文所述的用于解碼視頻數(shù)據(jù)的技術(shù)中的一或多個(gè)的其它此類裝置。網(wǎng)絡(luò)實(shí)體79可包含或可不包含視頻編碼器,例如,視頻編碼器20。在網(wǎng)絡(luò)實(shí)體79將經(jīng)編碼的視頻位流傳輸?shù)揭曨l解碼器30之前,網(wǎng)絡(luò)實(shí)體79可實(shí)施本發(fā)明中描述的技術(shù)中的一些。在一些實(shí)例中,網(wǎng)絡(luò)實(shí)體79可以執(zhí)行技術(shù)以用于包含在特定位置中用于解碼樣本的參數(shù)集數(shù)據(jù),和/或確定用于從特定位置中解碼樣本的參數(shù)集數(shù)據(jù),如本發(fā)明中所描述。在一些視頻解碼系統(tǒng)中,網(wǎng)絡(luò)實(shí)體79和視頻解碼器30可為單獨(dú)的裝置的部分,而在其它情況下,關(guān)于網(wǎng)絡(luò)實(shí)體79描述的功能性可由包括視頻解碼器30的相同裝置執(zhí)行。
視頻解碼器30的熵解碼單元80對(duì)位流進(jìn)行熵解碼以產(chǎn)生經(jīng)量化的系數(shù)、運(yùn)動(dòng)向量及其它語(yǔ)法元素。熵解碼單元80將運(yùn)動(dòng)向量和其它語(yǔ)法元素轉(zhuǎn)發(fā)到預(yù)測(cè)處理單元81。視頻解碼器30可以接收在視頻切片層級(jí)和/或視頻塊層級(jí)處的語(yǔ)法元素。
當(dāng)視頻切片經(jīng)譯碼為經(jīng)幀內(nèi)譯碼(i)切片時(shí),預(yù)測(cè)處理單元81的幀內(nèi)預(yù)測(cè)處理單元84可基于用信號(hào)發(fā)送的幀內(nèi)預(yù)測(cè)模式及來(lái)自當(dāng)前幀或圖片的先前經(jīng)解碼塊的數(shù)據(jù)產(chǎn)生用于當(dāng)前視頻切片的視頻塊的預(yù)測(cè)數(shù)據(jù)。當(dāng)視頻幀經(jīng)譯碼為經(jīng)幀間譯碼(即,b或p)切片時(shí),預(yù)測(cè)處理單元81的運(yùn)動(dòng)補(bǔ)償單元82基于從熵解碼單元80接收的運(yùn)動(dòng)向量及其它語(yǔ)法元素產(chǎn)生用于當(dāng)前視頻切片的視頻塊的預(yù)測(cè)塊。可從參考圖片列表中的一者內(nèi)的參考圖片中的一者產(chǎn)生預(yù)測(cè)塊。視頻解碼器30可基于存儲(chǔ)在參考圖片存儲(chǔ)器92中的參考圖片使用默認(rèn)構(gòu)造技術(shù)構(gòu)造參考幀列表:列表0及列表1。
運(yùn)動(dòng)補(bǔ)償單元82通過(guò)解析運(yùn)動(dòng)向量及其它語(yǔ)法元素確定用于當(dāng)前視頻切片的視頻塊的預(yù)測(cè)信息,并且使用所述預(yù)測(cè)信息產(chǎn)生用于經(jīng)解碼的當(dāng)前視頻塊的預(yù)測(cè)塊。舉例來(lái)說(shuō),運(yùn)動(dòng)補(bǔ)償單元82使用接收到的語(yǔ)法元素中的一些以確定用于譯碼視頻切片的視頻塊的預(yù)測(cè)模式(例如,幀內(nèi)或幀間預(yù)測(cè))、幀間預(yù)測(cè)切片類型(例如,b切片或p切片)、用于切片的參考圖片列表中的一或多個(gè)的構(gòu)造信息、用于切片的每個(gè)經(jīng)幀間編碼的視頻塊的運(yùn)動(dòng)向量、用于切片的每個(gè)經(jīng)幀間譯碼的視頻塊的幀間預(yù)測(cè)狀況,以及用于解碼當(dāng)前視頻切片中的視頻塊的其它信息。
運(yùn)動(dòng)補(bǔ)償單元82還可基于內(nèi)插濾波器而執(zhí)行內(nèi)插。運(yùn)動(dòng)補(bǔ)償單元82可使用如由視頻編碼器20在編碼視頻塊期間使用的內(nèi)插濾波器來(lái)計(jì)算參考?jí)K的子整數(shù)像素的內(nèi)插值。在此情況下,運(yùn)動(dòng)補(bǔ)償單元82可從所接收的語(yǔ)法元素中確定由視頻編碼器20使用的內(nèi)插濾波器并使用所述內(nèi)插濾波器來(lái)產(chǎn)生預(yù)測(cè)塊。
逆量化單元86將提供于位流中且由熵解碼單元80解碼的經(jīng)量化的變換系數(shù)逆量化(即,去量化)。逆量化過(guò)程可包含使用由視頻編碼器20針對(duì)視頻切片中的每一視頻塊所計(jì)算的量化參數(shù)以確定量化的程度,并且類似地確定應(yīng)當(dāng)應(yīng)用的逆量化的程度。逆變換處理單元88將逆變換(例如,逆dct、逆整數(shù)變換或概念地類似的逆變換過(guò)程)應(yīng)用于變換系數(shù),以便產(chǎn)生像素域中的殘余塊。
在運(yùn)動(dòng)補(bǔ)償單元82基于運(yùn)動(dòng)向量和其它語(yǔ)法元素產(chǎn)生了當(dāng)前視頻塊的預(yù)測(cè)塊之后,視頻解碼器30通過(guò)將來(lái)自逆變換處理單元88的殘余塊與運(yùn)動(dòng)補(bǔ)償單元82產(chǎn)生的對(duì)應(yīng)預(yù)測(cè)塊求和來(lái)形成經(jīng)解碼的視頻塊。求和器90表示可執(zhí)行此求和運(yùn)算的一或多個(gè)組件。
在需要時(shí),還可使用環(huán)路濾波器(在譯碼環(huán)路中或在譯碼環(huán)路之后)來(lái)使像素轉(zhuǎn)變變平穩(wěn),或者以其它方式改善視頻質(zhì)量。濾波器單元91意圖表示一或多個(gè)環(huán)路濾波器,例如,解塊濾波器、自適應(yīng)環(huán)路濾波器(alf)及樣本自適應(yīng)偏移(sao)濾波器。盡管在圖3中將濾波器單元91示為環(huán)路內(nèi)濾波器,但在其它配置中,可將濾波器單元91實(shí)施為環(huán)路后濾波器。隨后將給定幀或圖片中的經(jīng)解碼的視頻塊存儲(chǔ)在參考圖片存儲(chǔ)器92中,所述參考圖片存儲(chǔ)器存儲(chǔ)用于后續(xù)運(yùn)動(dòng)補(bǔ)償?shù)膮⒖紙D片。參考圖片存儲(chǔ)器92還存儲(chǔ)經(jīng)解碼的視頻以用于稍后呈現(xiàn)在顯示裝置(例如,圖1的顯示裝置31)上。參考圖片存儲(chǔ)器92可被稱作經(jīng)解碼圖片緩沖器。視頻存儲(chǔ)器83和參考圖片存儲(chǔ)器92可以是同一存儲(chǔ)器裝置的部分或單獨(dú)的存儲(chǔ)器裝置。所述存儲(chǔ)器裝置可以是本發(fā)明中所描述的任何形式的計(jì)算機(jī)可讀媒體或數(shù)據(jù)存儲(chǔ)媒體,例如,ram、rom、快閃存儲(chǔ)器或類似物,或其組合。
以此方式,圖3的視頻解碼器30表示經(jīng)配置以實(shí)施本文中所闡述技術(shù)中的一或多個(gè)的視頻編碼器的實(shí)例。在一個(gè)實(shí)例中,熵解碼單元80可以執(zhí)行本文中相對(duì)于參數(shù)集和同步樣本所描述的技術(shù)。此外,圖3的網(wǎng)絡(luò)實(shí)體79(其可以是具有媒體知識(shí)的網(wǎng)絡(luò)元件)是可以實(shí)施本發(fā)明中相對(duì)于參數(shù)集和同步樣本所描述的技術(shù)的另一實(shí)例裝置。
圖4是說(shuō)明實(shí)例視頻文件150的元素的框圖。視頻文件150可以被稱為封裝一個(gè)片段。如本文中所述,根據(jù)iso基礎(chǔ)媒體文件格式(isobmff)及其擴(kuò)展的視頻文件將數(shù)據(jù)存儲(chǔ)在被稱作“框”的一系列對(duì)象中。在圖4的實(shí)例中,視頻文件150包含文件類型(ftyp)框152、電影(moov)框154、片段索引(sidx)框162、電影片段(moof)框164和電影片段隨機(jī)存取(mfra)框166。盡管圖4表示視頻文件的實(shí)例,但是應(yīng)理解根據(jù)iso基礎(chǔ)媒體文件格式及其擴(kuò)展,其它媒體文件可以包含類似于視頻文件150的數(shù)據(jù)結(jié)構(gòu)化的其它類型的媒體數(shù)據(jù)(例如,音頻數(shù)據(jù)、定時(shí)文本數(shù)據(jù)或類似物)。
文件類型(ftyp)框152通常描述視頻文件150的文件類型。文件類型框152可以包含識(shí)別描述視頻文件150的最佳用途的規(guī)范的數(shù)據(jù)。文件類型框152可以替代地放置在moov框154、電影片段框164和/或mfra框166之前。
在圖4的實(shí)例中,moov框154包含電影標(biāo)頭(mvhd)框156、路徑(trak)框158和一或多個(gè)電影擴(kuò)展(mvex)框160。一般來(lái)說(shuō),mvhd框156可以描述視頻文件150的通用特征。舉例來(lái)說(shuō),mvhd框156可以包含描述何時(shí)最初產(chǎn)生視頻文件150、何時(shí)最后修改視頻文件150、視頻文件150的時(shí)間標(biāo)度、視頻文件150的播放的持續(xù)時(shí)間的數(shù)據(jù),或通常描述視頻文件150的其它數(shù)據(jù)。
trak框158可以包含用于視頻文件150路徑的數(shù)據(jù)。trak框158可以包含描述對(duì)應(yīng)于trak框158的路徑的特征的路徑標(biāo)頭(tkhd)框。在一些實(shí)例中,trak框158可以包含經(jīng)譯碼的視頻圖片,然而在其它實(shí)例中,路徑的經(jīng)譯碼的視頻圖片可以包含于電影片段164中,所述電影片段可以通過(guò)trak框158和/或sidx框162的數(shù)據(jù)參考。
在一些實(shí)例中,視頻文件150可以包含一個(gè)以上路徑。因此,moov框154可以包含與視頻文件150中的路徑的數(shù)量相等的數(shù)量的trak框。trak框158可以描述視頻文件150的對(duì)應(yīng)的路徑的特征。舉例來(lái)說(shuō),trak框158可以描述對(duì)應(yīng)的路徑的時(shí)間和/或空間信息。當(dāng)封裝單元21(圖1)包含在視頻文件(例如,視頻文件150)中的參數(shù)集路徑時(shí),類似于moov框154的trak框158的trak框可以描述參數(shù)集路徑的特征。
舉例來(lái)說(shuō),參數(shù)集路徑中的同步樣本可以指示在視頻基本流中前向解碼時(shí)間所需的所有參數(shù)集在其中或后續(xù)參數(shù)流樣本中。在參數(shù)集更新的每個(gè)點(diǎn)處也存在參數(shù)集樣本。每個(gè)參數(shù)集可以包含解碼視頻基本流的相關(guān)區(qū)段所需的序列和圖片參數(shù)集。封裝單元21可以在描述參數(shù)集路徑的trak框內(nèi)的參數(shù)集路徑中用信號(hào)發(fā)送序列層級(jí)sei消息的存在。
mvex框160可以描述對(duì)應(yīng)的電影片段164的特征,例如,以用信號(hào)通知除包含在moov框154內(nèi)的視頻數(shù)據(jù)(如果存在的話)之外,視頻文件150還包含電影片段164。在串流視頻數(shù)據(jù)的情形下,經(jīng)譯碼的視頻圖片可以包含于電影片段164中而非包含于moov框154中。因此,所有經(jīng)譯碼的視頻樣本可以包含于電影片段164中,而非包含于moov框154中。
moov框154可以包含與視頻文件150中的電影片段164的數(shù)量相等的數(shù)量的mvex框160。mvex框160中的每一個(gè)可以描述電影片段164中的對(duì)應(yīng)的一個(gè)的特征。舉例來(lái)說(shuō),每個(gè)mvex框可以包含描述電影片段164中的對(duì)應(yīng)的一個(gè)的持續(xù)時(shí)間的電影擴(kuò)展標(biāo)頭框(mehd)框。
如上文所指出,封裝單元21可以在并不包含實(shí)際經(jīng)譯碼的視頻數(shù)據(jù)的視頻樣本中存儲(chǔ)序列數(shù)據(jù)集。視頻樣本可以通常對(duì)應(yīng)于存取單元,所述存取單元是在特定時(shí)間實(shí)例處的一或多個(gè)經(jīng)譯碼的圖片的表示。在avc的情形下,經(jīng)譯碼的圖片包含一或多個(gè)vclnal單元,所述vclnal單元包含信息以構(gòu)造存取單元和其它相關(guān)聯(lián)的非vclnal單元(例如,sei消息)的所有像素。因此,封裝單元21可以包含序列數(shù)據(jù)集,所述序列數(shù)據(jù)集可以包含在電影片段164中的一個(gè)中的序列層級(jí)sei消息。封裝單元21可以進(jìn)一步發(fā)信號(hào)通知序列數(shù)據(jù)集和/或序列層級(jí)sei消息的存在作為存在于在對(duì)應(yīng)于電影片段164中的一個(gè)的mvex框160中的一個(gè)內(nèi)的電影片段164中的一個(gè)中。
sidx框162是視頻文件150的任選的元素。也就是說(shuō),符合3gpp文件格式或其它此類文件格式的視頻文件不一定包含sidx框162。根據(jù)3gpp文件格式的實(shí)例,sidx框可用于識(shí)別片段(例如,包含在視頻文件150內(nèi)的片段)的子片段。3gpp文件格式將子片段定義為“具有對(duì)應(yīng)的媒體數(shù)據(jù)框的一或多個(gè)連續(xù)的電影片段框的獨(dú)立的集合并且包含電影片段框所參考的數(shù)據(jù)的媒體數(shù)據(jù)框必須在電影片段框之后并且在包含關(guān)于相同路徑的信息的下一個(gè)電影片段框之前”。3gpp文件格式還指示sidx框“包含通過(guò)框記錄的(子)片段的子片段的參考的序列”。所參考的字片段在呈現(xiàn)時(shí)間中是連續(xù)的。類似地,由片段索引框所指代的字節(jié)在片段內(nèi)始終是連續(xù)的。所參考的大小給出在所參考的材料中的字節(jié)的數(shù)量的計(jì)數(shù)。
sidx框162通常提供表示包含于視頻文件150中的片段的一或多個(gè)子片段的信息。舉例來(lái)說(shuō),此類信息可以包含子片段開(kāi)始和/或結(jié)束處的播放時(shí)間、子片段的字節(jié)偏移、子片段是否包含sap(例如,以sap開(kāi)始)、sap的類型(例如,sap是否是idr圖片、cra圖片、bla圖片或類似物)、子片段中的sap的位置(就播放時(shí)間和/或字節(jié)偏移而言)等等。
電影片段164可以包含一或多個(gè)經(jīng)譯碼的視頻圖片。在一些實(shí)例中,電影片段164可以包含一或多個(gè)gop,其中的每一個(gè)可以包含多個(gè)經(jīng)譯碼的視頻圖片。此外,如上文所述,在一些實(shí)例中,電影片段164可以包含序列數(shù)據(jù)集。電影片段164中的每一個(gè)可以包含電影片段標(biāo)頭框(mfhd,在圖4中未示出)。mfhd框可以描述對(duì)應(yīng)的電影片段的特征,例如,電影片段的序號(hào)??梢园匆曨l文件150中的序號(hào)的次序包含電影片段164。
mfra框166可以描述視頻文件150的電影片段164內(nèi)的隨機(jī)存取點(diǎn)。這可以輔助于執(zhí)行特技模式,例如,執(zhí)行對(duì)通過(guò)視頻文件150封裝的片段內(nèi)的特定時(shí)間位置(即,播放時(shí)間)的尋找。在一些實(shí)例中,mfra框166通常是任選的并且無(wú)需包含于視頻文件中。類似地,客戶端裝置(例如,目的地裝置14)不一定需要參考mfra框166以正確地解碼和顯示視頻文件150的視頻數(shù)據(jù)。mfra框166可以包含與視頻文件150的路徑的數(shù)量相等的數(shù)量的路徑片段隨機(jī)存取(tfra)框(未示出),或在一些實(shí)例中,包含與視頻文件150的媒體路徑(例如,非提示路徑)的數(shù)量相等的數(shù)量的路徑片段隨機(jī)存取(tfra)框(未示出)。
在一些實(shí)例中,電影片段164可以包含一或多個(gè)sap,例如,idr圖片。類似地,mfra框166可以提供sap的視頻文件150內(nèi)的位置的指示。因此,視頻文件150的時(shí)間子序列可以由視頻文件150的sap形成。時(shí)間子序列還可包含其它圖片,例如,取決于sap的p幀和/或b幀。時(shí)間子序列的幀和/或切片可以布置在片段內(nèi),使得取決于子序列的其它幀/切片的時(shí)間子序列的幀/切片可以恰當(dāng)?shù)氐玫浇獯a。舉例來(lái)說(shuō),在數(shù)據(jù)的分級(jí)布置中,用于預(yù)測(cè)其它數(shù)據(jù)的數(shù)據(jù)也可以包含于時(shí)間子序列中。
根據(jù)本發(fā)明的技術(shù),視頻解碼器(例如,解封裝單元29和/或視頻解碼器30(圖1))可經(jīng)配置以基于視頻數(shù)據(jù)的樣本或樣本條目確定參數(shù)集數(shù)據(jù)。舉例來(lái)說(shuō),解封裝單元29和/或視頻解碼器30可經(jīng)配置以確定包含于電影片段164中的視頻數(shù)據(jù)的樣本是否是同步樣本。在一些實(shí)例中,解封裝單元29和/或視頻解碼器30可以根據(jù)isobmff確定此類樣本是否是同步樣本,例如,基于在isobmff的章節(jié)4.8(avc)、章節(jié)6.5.5(svc)、章節(jié)7.5.3(mvc)和章節(jié)8.4.3(hevc)中闡述的條件。解封裝單元29和/或視頻解碼器30可以基于樣本自身或基于與mrfa框166相關(guān)聯(lián)的描述評(píng)估此類條件。
對(duì)于樣本的視頻數(shù)據(jù)的解碼,解封裝單元29和/或視頻解碼器30可以確定參數(shù)集數(shù)據(jù)對(duì)于是同步樣本的樣本與不是同步樣本的樣本是不同的。舉例來(lái)說(shuō),解封裝單元29和/或視頻解碼器30可經(jīng)配置以僅從與樣本相關(guān)聯(lián)的樣本條目中或從樣本本身中確定同步樣本的參數(shù)集數(shù)據(jù)。另一方面,解封裝單元29和/或視頻解碼器30可經(jīng)配置以僅從與非同步樣本相關(guān)聯(lián)的樣本條目中、從非同步樣本本身中、從按解碼次序在非同步樣本之前的同步樣本中,或從按解碼次序在非同步樣本之前但是按解碼次序在先前同步樣本之后出現(xiàn)的樣本中解碼非同步樣本的參數(shù)集數(shù)據(jù)。
圖5是說(shuō)明用于從視頻位流中解碼參數(shù)集數(shù)據(jù)的過(guò)程的流程圖。雖然出于說(shuō)明的目的相對(duì)于視頻解碼器30(圖1和3)進(jìn)行描述,但是應(yīng)理解圖5的過(guò)程或其部分也可以通過(guò)解封裝單元29(圖1)、網(wǎng)絡(luò)實(shí)體79(圖3)或經(jīng)配置以解析和/或解碼視頻數(shù)據(jù)的其它處理單元執(zhí)行。舉例來(lái)說(shuō),解封裝單元29或網(wǎng)絡(luò)實(shí)體79可以執(zhí)行用于將解碼樣本的參數(shù)集數(shù)據(jù)包含在特定位置中或確定用于從特定位置中解碼樣本的參數(shù)集數(shù)據(jù)的技術(shù),如本發(fā)明中所描述且在圖5中說(shuō)明。
在圖5的實(shí)例中,視頻解碼器30可以接收包含視頻數(shù)據(jù)的一或多個(gè)樣本的視頻數(shù)據(jù)的文件(180)。舉例來(lái)說(shuō),如本文中所述,文件可以符合isobmff。此外,一或多個(gè)樣本可以各自對(duì)應(yīng)于視頻數(shù)據(jù)的存取單元。
視頻解碼器30可以確定一或多個(gè)樣本的任何樣本是否是同步樣本(182)。舉例來(lái)說(shuō),在解碼樣本的視頻數(shù)據(jù)之前,視頻解碼器30可以分析包含樣本的位流以確保與特定視頻譯碼標(biāo)準(zhǔn)的一致性。視頻解碼器30可以確定樣本中的任一者是否可以作為同步樣本處理,如由特定譯碼標(biāo)準(zhǔn)所限定的。在出于說(shuō)明目的的實(shí)例中,視頻解碼器30可以基于在isobmff的章節(jié)4.8(avc)、章節(jié)6.5.5(svc)、章節(jié)7.5.3(mvc)和章節(jié)8.4.3(hevc)中闡述的限制確定樣本中的任一者是否是同步樣本。
基于確定樣本不是同步樣本,即,樣本是非同步樣本,視頻解碼器30或另一裝置可以僅從對(duì)應(yīng)于非同步樣本的樣本條目、非同步樣本本身、按解碼次序出現(xiàn)在非同步樣本之前并且是同步樣本的先前樣本中,或從按解碼次序出現(xiàn)在非同步樣本與先前同步樣本之間的一或多個(gè)樣本中確定(例如,通過(guò)解析、解碼、檢索或以其它方式獲取)非同步樣本的參數(shù)集數(shù)據(jù)(184)。舉例來(lái)說(shuō),視頻解碼器30可以被限制到位流的某些位置,從所述位置中樣本的參數(shù)集數(shù)據(jù)可以得到解碼。對(duì)于具有按解碼次序布置的樣本的給定位流,視頻解碼器30可以并不從除了對(duì)應(yīng)于非同步樣本的樣本條目、非同步樣本本身、按解碼次序在非同步樣本之前作為同步樣本經(jīng)解碼的先前樣本,或按解碼次序出現(xiàn)在非同步樣本之前但是按解碼次序在作為同步樣本經(jīng)解碼的先前樣本之后的樣本之外的任何位置中解碼用于非同步樣本的視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)。解碼非同步樣本的視頻數(shù)據(jù)所需的所有參數(shù)集數(shù)據(jù)包含在對(duì)應(yīng)于非同步樣本的樣本條目、非同步樣本本身、按解碼次序在非同步樣本之前作為同步樣本經(jīng)解碼的先前樣本中,或在按解碼次序出現(xiàn)在非同步樣本之前但是按解碼次序在作為同步樣本經(jīng)解碼的先前樣本之后的樣本中。
換句話說(shuō),對(duì)于不是同步樣本的當(dāng)前樣本,視頻解碼器30可以確定僅包含在非同步樣本的樣本條目中或僅包含在從先前同步樣本到當(dāng)前非同步樣本(包含)的樣本中的任一者中的參數(shù)集數(shù)據(jù),即,包含先前同步樣本、在先前同步樣本之后但是在當(dāng)前非同步樣本之前的樣本,并且包含當(dāng)前非同步樣本。視頻解碼器30可經(jīng)配置以僅從這些受限制的位置中確定非同步樣本的參數(shù)集數(shù)據(jù),這是因?yàn)槿绻麡颖静皇峭綐颖?,那么解碼樣本所需的所有參數(shù)集可以包含在樣本的樣本條目中或包含在從先前同步樣本到樣本本身(包含)的樣本中的任一者中。舉例來(lái)說(shuō),視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可經(jīng)配置使得:如果樣本不是同步樣本,那么解碼樣本所需的所有參數(shù)集包含于樣本的樣本條目中或包含于從先前同步樣本到樣本本身(包含)的樣本中的任一者中。
基于確定樣本是同步樣本,視頻解碼器30可以僅從同步樣本的樣本條目或同步樣本本身中確定樣本的參數(shù)集數(shù)據(jù)(185)。解碼同步樣本的視頻數(shù)據(jù)所需的所有參數(shù)集數(shù)據(jù)包含于對(duì)應(yīng)于同步樣本的樣本條目或同步樣本本身中。因此,對(duì)于同步樣本,視頻解碼器30可以確定同步樣本的參數(shù)集數(shù)據(jù)僅在樣本條目或樣本本身中,并且不在其它樣本或位置中。視頻解碼器30可經(jīng)配置以僅從這些受限制的位置中確定(例如,通過(guò)解析、解碼、檢索或以其它方式獲取)非同步樣本的參數(shù)集數(shù)據(jù),這是因?yàn)槿绻麡颖臼峭綐颖?,那么解碼同步樣本所需的所有參數(shù)集包含在樣本的樣本條目中或包含在樣本本身中。舉例來(lái)說(shuō),視頻編碼器20、封裝單元21、解封裝單元29和/或視頻解碼器30或其它裝置可經(jīng)配置使得:如果樣本是同步樣本,那么解碼樣本所需的所有參數(shù)集包含于樣本的樣本條目中或包含于樣本本身中。視頻解碼器30可隨后基于所確定的參數(shù)集數(shù)據(jù)解碼樣本的視頻數(shù)據(jù)(186)。先前同步樣本可以是按解碼次序最近的同步樣本。在一些實(shí)例中,視頻解碼器30可以在接收新同步樣本之后丟棄先前存儲(chǔ)的參數(shù)集。
圖6是說(shuō)明用于在視頻位流中編碼參數(shù)集數(shù)據(jù)的過(guò)程的流程圖。雖然出于說(shuō)明的目的相對(duì)于視頻編碼器20(圖1和2)進(jìn)行描述,但是應(yīng)理解圖6的過(guò)程或其部分也可以通過(guò)封裝單元21(圖1)、后處理實(shí)體27(圖2)或經(jīng)配置以產(chǎn)生、編碼和/或處理視頻數(shù)據(jù)的其它處理單元或裝置執(zhí)行。舉例來(lái)說(shuō),封裝單元21或后處理實(shí)體27可以執(zhí)行用于包含用于解碼特定位置中的樣本的參數(shù)集數(shù)據(jù)的技術(shù),如本發(fā)明中所描述并且在圖6中說(shuō)明。
在圖6的實(shí)例中,視頻編碼器20可以基于樣本的參數(shù)集數(shù)據(jù)編碼視頻數(shù)據(jù)的樣本(190)。經(jīng)編碼的樣本可以對(duì)應(yīng)于視頻數(shù)據(jù)的存取單元。視頻編碼器20可以編碼作為同步樣本或非同步樣本的一或多個(gè)樣本中的樣本,如由特定視頻譯碼標(biāo)準(zhǔn)所限定。視頻編碼器20可以產(chǎn)生包含樣本的位流以確保與特定視頻譯碼標(biāo)準(zhǔn)的一致性。對(duì)于基于在isobmff的章節(jié)4.8(avc)、章節(jié)6.5.5(svc)、章節(jié)7.5.3(mvc)和章節(jié)8.4.3(hevc)中所闡述的限制所限定的同步樣本,視頻編碼器20或另一裝置可以在對(duì)應(yīng)于同步樣本的樣本條目中或在同步樣本本身中包含解碼同步樣本所需的所有參數(shù)集數(shù)據(jù)(192)。以此方式,視頻編碼器20或另一裝置可以僅在對(duì)應(yīng)于同步樣本的樣本條目中或在同步樣本本身中包含用于解碼同步樣本的參數(shù)集數(shù)據(jù)。
對(duì)于非同步樣本,如基于在isobmff的章節(jié)4.8(avc)、章節(jié)6.5.5(svc)、章節(jié)7.5.3(mvc)和章節(jié)8.4.3(hevc)中所闡述的限制所限定的,視頻編碼器20或另一裝置可以在對(duì)應(yīng)于非同步樣本的樣本條目中、在非同步樣本本身中、在按解碼次序在非同步樣本之前的先前同步樣本中,或在按解碼次序出現(xiàn)在非同步樣本之前并且在先前同步樣本之后的樣本中包含用于非同步樣本的所有參數(shù)集數(shù)據(jù)(194)。以此方式,視頻編碼器20或另一裝置可以僅在對(duì)應(yīng)于非同步樣本的樣本條目、非同步樣本本身、按解碼次序的先前同步樣本中,或在按解碼次序出現(xiàn)在非同步樣本之前并且在先前同步樣本之后的樣本中包含用于解碼同步樣本的參數(shù)集數(shù)據(jù)。因此,視頻編碼器20可以將樣本的參數(shù)集數(shù)據(jù)限制到某些位置,使得視頻解碼器30可以并不從除了對(duì)應(yīng)于非同步樣本的樣本條目、非同步樣本本身、作為同步樣本經(jīng)譯碼的先前樣本,或按解碼次序出現(xiàn)在非同步樣本之前但是按解碼次序在作為同步樣本經(jīng)解碼的先前樣本之后的一或多個(gè)樣本之外的任何位置中解碼非同步樣本的參數(shù)集數(shù)據(jù)。換句話說(shuō),對(duì)于不是同步樣本的當(dāng)前樣本,視頻編碼器20可以僅在樣本條目中或在從先前同步樣本到當(dāng)前樣本(包含)的樣本中的任一者中編碼參數(shù)集數(shù)據(jù),即,包含在先前同步樣本之后但是在當(dāng)前非同步樣本之前的樣本,并且包含當(dāng)前非同步樣本和先前同步樣本。
視頻編碼器20可隨后產(chǎn)生包含視頻數(shù)據(jù)的樣本的文件(196)。如上文所述,文件中的樣本可以包含同步樣本和/或非同步樣本。文件可以包含多個(gè)樣本,包含一或多個(gè)同步樣本和一或多個(gè)非同步樣本。以此方式,圖6描述了視頻編碼器20或另一裝置的操作的實(shí)例以確定視頻數(shù)據(jù)的樣本是否是同步樣本,并且基于確定樣本不是同步樣本(即,是非同步樣本),僅在非同步樣本的樣本條目中、在非同步樣本本身中、在按解碼次序在非同步樣本之前并且是同步樣本的樣本中,或在按解碼次序出現(xiàn)在非同步樣本與作為同步樣本的按解碼次序的先前樣本之間的一或多個(gè)樣本中包含用于視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)。類似地,圖6說(shuō)明視頻編碼器20或另一裝置的操作的實(shí)例以確定視頻數(shù)據(jù)的第二樣本是否是同步樣本,并且基于確定第二樣本是同步樣本,僅在同步樣本的樣本條目中或在同步樣本中包含用于視頻數(shù)據(jù)的參數(shù)集數(shù)據(jù)。在一些實(shí)例中,視頻編碼器20可以進(jìn)一步避免參考在按譯碼次序的同步樣本之前經(jīng)編碼的參數(shù)集(例如,pps和sps)編碼同步樣本和后續(xù)樣本(按譯碼次序)。
應(yīng)認(rèn)識(shí)到,取決于實(shí)例,本文中所描述的技術(shù)中的任一者的某些動(dòng)作或事件可用不同順序來(lái)執(zhí)行,可添加、合并或全部省略所述動(dòng)作或事件(例如,實(shí)踐所述技術(shù)未必需要所有所描述的動(dòng)作或事件)。此外,在某些實(shí)例中,可(例如)通過(guò)多線程處理、中斷處理或多個(gè)處理器同時(shí)而非依序地執(zhí)行動(dòng)作或事件。
如本發(fā)明中所描述,視頻譯碼器可以指視頻編碼器或視頻解碼器。類似地,視頻譯碼單元可指視頻編碼器或視頻解碼器。類似地,在適用時(shí),視頻譯碼可指視頻編碼或視頻解碼。
在一或多個(gè)實(shí)例中,所描述的功能可用硬件、軟件、固件或其任何組合來(lái)實(shí)施。如果用軟件來(lái)實(shí)施,那么所述功能可作為一或多個(gè)指令或代碼在計(jì)算機(jī)可讀媒體上存儲(chǔ)或傳輸,并且由基于硬件的處理單元執(zhí)行。計(jì)算機(jī)可讀媒體可包含計(jì)算機(jī)可讀存儲(chǔ)媒體,所述計(jì)算機(jī)可讀存儲(chǔ)媒體對(duì)應(yīng)于有形媒體(例如,數(shù)據(jù)存儲(chǔ)媒體),或包含(例如)根據(jù)通信協(xié)議促進(jìn)計(jì)算機(jī)程序從一個(gè)位置傳送至另一位置的任何媒體的通信媒體。以此方式,計(jì)算機(jī)可讀媒體通??蓪?duì)應(yīng)于(1)有形計(jì)算機(jī)可讀存儲(chǔ)媒體,其為非暫時(shí)性的,或(2)通信媒體,例如,信號(hào)或載波。數(shù)據(jù)存儲(chǔ)媒體可為可由一或多個(gè)計(jì)算機(jī)或一或多個(gè)處理器存取以檢索用于實(shí)施本發(fā)明中所描述的技術(shù)的指令、代碼和/或數(shù)據(jù)結(jié)構(gòu)的任何可用媒體。計(jì)算機(jī)程序產(chǎn)品可以包含計(jì)算機(jī)可讀媒體。
借助于實(shí)例而非限制,此類計(jì)算機(jī)可讀存儲(chǔ)媒體可包括ram、rom、eeprom、cd-rom或其它光盤存儲(chǔ)裝置、磁盤存儲(chǔ)裝置或其它磁性存儲(chǔ)裝置、快閃存儲(chǔ)器或可用來(lái)存儲(chǔ)呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的所需程序代碼并且可由計(jì)算機(jī)存取的任何其它媒體。并且,恰當(dāng)?shù)貙⑷魏芜B接稱作計(jì)算機(jī)可讀媒體。舉例來(lái)說(shuō),如果使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(dsl)或例如紅外線、無(wú)線電和微波等無(wú)線技術(shù)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源傳輸指令,那么同軸電纜、光纖電纜、雙絞線、dsl或例如紅外線、無(wú)線電和微波等無(wú)線技術(shù)包含在媒體的定義中。然而,應(yīng)理解,所述計(jì)算機(jī)可讀存儲(chǔ)媒體和數(shù)據(jù)存儲(chǔ)媒體并不包含連接、載波、信號(hào)或其它暫時(shí)性媒體,而是實(shí)際上針對(duì)于非暫時(shí)性有形存儲(chǔ)媒體。如本文中所使用,磁盤和光盤包含壓縮光盤(cd)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(dvd)、軟盤及藍(lán)光光盤,其中磁盤通常以磁性方式再現(xiàn)數(shù)據(jù),而光盤用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。上述的組合應(yīng)包含于計(jì)算機(jī)可讀媒體的范圍內(nèi)。
指令可以由一或多個(gè)處理器執(zhí)行,所述一或多個(gè)處理器例如是一或多個(gè)數(shù)字信號(hào)處理器(dsp)、通用微處理器、專用集成電路(asic)、現(xiàn)場(chǎng)可編程邏輯陣列(fpga)或其它等效的集成或離散邏輯電路。因此,如本文中所使用的術(shù)語(yǔ)“處理器”可指代上述結(jié)構(gòu)或適用于實(shí)施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)中的任一者。另外,在一些方面中,本文中所描述的功能性可在經(jīng)配置以用于編碼和解碼的專用硬件和/或軟件模塊內(nèi)提供,或并入在組合編解碼器中。并且,所述技術(shù)可完全實(shí)施在一或多個(gè)電路或邏輯元件中。
本發(fā)明的技術(shù)可在多種多樣的裝置或設(shè)備中實(shí)施,包含無(wú)線手持機(jī)、集成電路(ic)或一組ic(例如,芯片組)。本發(fā)明中所描述的各種組件、模塊或單元是為了強(qiáng)調(diào)其經(jīng)配置以執(zhí)行所揭示的技術(shù)的裝置的功能方面,但未必需要通過(guò)不同硬件單元實(shí)現(xiàn)。實(shí)際上,如上文所描述,各種單元可結(jié)合合適的軟件和/或固件而組合在編解碼器硬件單元中,或者通過(guò)互操作硬件單元的集合來(lái)提供,所述硬件單元包含如上文所描述的一或多個(gè)處理器。
已經(jīng)描述了各種實(shí)例。這些和其它實(shí)例在所附權(quán)利要求書(shū)的范圍內(nèi)。