本公開內(nèi)容涉及視頻編解碼技術(shù),更具體地,涉及用于解碼視頻流的方法和系統(tǒng)。
背景技術(shù):
1、先前已經(jīng)存在通過使用運(yùn)動補(bǔ)償?shù)膱D片間預(yù)測來進(jìn)行視頻編解碼。未經(jīng)壓縮的數(shù)字視頻可以包括一系列圖片,每個圖片具有例如1920×1080亮度樣本和相關(guān)色度樣本的空間維度。該系列圖片可以具有固定或可變的圖片速率(非正式地,也稱為幀速率),例如每秒60張圖片或60hz。未經(jīng)壓縮的視頻具有很高的比特率要求。例如,每個樣本8比特的1080p604:2:0視頻(60hz幀速率下的1920×1080亮度樣本分辨率)需要接近1.5gbit/s的帶寬。一小時的此類視頻需要超過600gb的存儲空間。
2、視頻編解碼的一個目的可以是通過壓縮來減少輸入視頻信號中的冗余。壓縮可以有助于減少上述帶寬或存儲空間要求,在某些情況下減少兩個數(shù)量級或更多??梢允褂脽o損壓縮和有損壓縮,以及它們的組合。無損壓縮是指可以根據(jù)經(jīng)壓縮的原始信號重建原始信號的精確副本的技術(shù)。當(dāng)使用有損壓縮時,重建信號可能與原始信號不同,但原始信號與重建信號之間的失真可以足夠小,以使重建信號用于預(yù)期應(yīng)用。在視頻的情況下,廣泛采用有損壓縮。容忍的失真量取決于應(yīng)用;例如,某些消費(fèi)者流式應(yīng)用的用戶會比電視貢獻(xiàn)應(yīng)用的用戶容忍更高的失真。可達(dá)到的壓縮比可以反映為:更高的可允許/可容忍失真可以帶來更高的壓縮比。
3、視頻編碼器和解碼器可以利用來自幾個大類的技術(shù),包括例如運(yùn)動補(bǔ)償、變換、量化和熵編碼,下面將介紹其中的一些。
4、以前,視頻編碼器和解碼器傾向于對給定的圖片大小進(jìn)行操作,在大多數(shù)情況下,針對編碼視頻序列(coded?video?sequence,cvs)、圖片組(group?ofpictures,gop)或類似的多圖片時間幀,圖片大小是被限定并保持不變的。例如,在mpeg-2中,系統(tǒng)設(shè)計用于根據(jù)諸如場景活動的因素改變水平分辨率(從而改變圖片大小),但僅限于i圖片,因此通常用于gop。例如,在itu-t?h.263建議書附錄p中已經(jīng)使用了參考圖片的在cvs內(nèi)使用不同分辨率的重采樣。然而,這里的圖片大小沒有改變,僅參考圖片被重采樣,導(dǎo)致可能僅部分圖片畫布(picture?canvas)被使用(在下采樣的情況下),或者僅部分場景被捕獲(在上采樣的情況下)。此外,h.263附錄q允許以因子2(在每個維度上)向上或向下對單個宏塊進(jìn)行重采樣。同樣,圖片大小保持不變。宏塊的大小在h.263中是固定的,因此不需要用信號通知。
5、預(yù)測圖片中圖片大小的變化在現(xiàn)代視頻編碼中變得更加主流。例如,vp9允許對整個圖片進(jìn)行參考圖片重采樣和分辨率更改。類似地,針對vvc提出的某些建議(包括例如hendry等人,“on?adaptive?resolution?change(arc)for?vvc(關(guān)于vvc的自適應(yīng)分辨率更改(arc))”,聯(lián)合視頻團(tuán)隊文件jvet-m0135-v1,2019年1月9日至19日,整體上并入本文)允許以不同的(更高或更低)分辨率重采樣整個參考圖片。在這樣的文件中,建議將不同的候選分辨率編碼在序列參數(shù)集中并且由圖片參數(shù)集中的每個圖片語法元素引用。
6、bross等人,“versatile?video?coding(draft?9)(下一代視頻編碼(草案9))”,聯(lián)合視頻專家組文件jvet-r2001-va,2020年4月,其全部內(nèi)容并入本文。
7、在經(jīng)編碼的視頻流中,廣泛使用的是在高級語法結(jié)構(gòu)中指示隨機(jī)訪問點信息,例如網(wǎng)絡(luò)抽象層(network?abstraction?layer,nal)單元頭、參數(shù)集、圖片頭或切片頭?;谠撾S機(jī)訪問信息,管理與隨機(jī)訪問圖片相關(guān)聯(lián)的解碼前導(dǎo)圖片。在本公開內(nèi)容中,為了使與隨機(jī)訪問過程相關(guān)聯(lián)的解碼圖片管理清晰,解釋了一些相關(guān)的語法元素和約束。
8、當(dāng)通過特技模式播放來隨機(jī)訪問視頻比特流時,幀內(nèi)隨機(jī)訪問點(intra?randomaccess?point,irap)圖片可以實現(xiàn)對比特流的中間點的隨機(jī)訪問以及成功解碼該隨機(jī)訪問點的視頻比特流。一種可能的方法是使用一定的恢復(fù)時間漸進(jìn)刷新場景。在vvc和其他視頻編解碼器中,定義了漸進(jìn)解碼刷新(gradual?decoding?refresh,gdr)圖片和訪問單元(access?unit,au)以指定具有漸進(jìn)解碼刷新的隨機(jī)訪問操作的語法和語義。在本公開內(nèi)容中,為了正確指定gdr的信令和解碼過程,描述了其語法、語義和約束。
9、當(dāng)一個或更多個參考圖片列表被構(gòu)造用于p或b切片中的幀間預(yù)測時,一個或更多個圖片可能由于隨機(jī)訪問或意外圖片丟失而無法使用。為了避免任何解碼器崩潰或意外行為,需要用像素和參數(shù)的默認(rèn)值生成不可用圖片。在生成不可用圖片后,可能需要檢查參考圖片列表中所有參考圖片的有效性。
10、因此,如何生成由于隨機(jī)訪問或意外圖片丟失而造成的不可用圖片,以避免解碼器崩潰或意外行為仍是本領(lǐng)域需要繼續(xù)研究解決的問題。
技術(shù)實現(xiàn)思路
1、本公開內(nèi)容的實施方式涉及具有多層的經(jīng)編碼的視頻流中的隨機(jī)訪問圖片及其輸出過程。本公開內(nèi)容的實施方式涉及具有多層的經(jīng)編碼的視頻流中的隨機(jī)訪問圖片及其前導(dǎo)圖片輸出指示。本公開內(nèi)容的實施方式涉及在具有多層的經(jīng)編碼的視頻流中用信號通知具有漸進(jìn)解碼刷新和恢復(fù)點的隨機(jī)訪問圖片。本公開內(nèi)容的實施方式涉及具有多層的經(jīng)編碼的視頻流中的參考圖片列表構(gòu)造和不可用圖片生成。本公開內(nèi)容的實施方式包括用于在視頻比特流中用信號通知自適應(yīng)圖片大小的技術(shù)。
2、本公開內(nèi)容的一個或更多個實施方式包括一種用于解碼視頻流的方法。該方法包括:接收包括訪問單元的經(jīng)編碼的視頻流,該訪問單元包括圖片;在經(jīng)編碼的視頻流的訪問單元定界符中用信號通知第一標(biāo)志,該第一標(biāo)志指示訪問單元是否包括幀內(nèi)隨機(jī)訪問點(irap)圖片和漸進(jìn)解碼刷新(gdr)圖片當(dāng)中的任一個;在經(jīng)編碼的視頻流的圖片頭中用信號通知第二標(biāo)志,該第二標(biāo)志指示圖片是否是irap圖片;以及基于第一標(biāo)志和第二標(biāo)志,將圖片解碼為當(dāng)前圖片,其中,第一標(biāo)志的值和第二標(biāo)志的值相等。
3、根據(jù)實施方式,該方法還包括:在經(jīng)編碼的視頻流的圖片頭中用信號通知第三標(biāo)志,該第三標(biāo)志指示該圖片是否為gdr圖片,其中,第一標(biāo)志的值和第三標(biāo)志的值相等。
4、根據(jù)實施方式,基于第二標(biāo)志指示圖片不是irap圖片,用信號通知第三標(biāo)志。
5、根據(jù)實施方式,第一標(biāo)志具有指示圖片是irap圖片和gdr圖片當(dāng)中的任一個的值,第二標(biāo)志具有指示圖片是irap圖片的值,并且方法還包括在經(jīng)編碼的視頻流的圖片的切片的切片頭中用信號通知第五標(biāo)志,該第五標(biāo)志指示在irap圖片之前的任何圖片是否被輸出。
6、根據(jù)實施方式,該方法還包括:確定切片的網(wǎng)絡(luò)抽象層(nal)單元類型,其中,基于確定的nal單元類型用信號通知第五標(biāo)志。
7、根據(jù)實施方式,基于被確定為等于idr_w_radl、idr_n_lp或cra_nut的nal單元類型來用信號通知第五標(biāo)志。
8、根據(jù)實施方式,該方法還包括:在經(jīng)編碼的視頻流的圖片頭中用信號通知第四標(biāo)志,該第四標(biāo)志指示該圖片是否為gdr圖片,其中,第一標(biāo)志的值和第四標(biāo)志的值相等。
9、根據(jù)實施方式,基于第二標(biāo)志指示圖片不是irap圖片,用信號通知第五標(biāo)志。
10、根據(jù)實施方式,解碼包括:構(gòu)造參考圖片列表;在參考圖片列表中生成不可用的參考圖片;以及檢查比特流一致性,對于參考圖片列表中的參考圖片,以下約束適用:被指示在參考圖片列表中的條目的數(shù)目不小于被指示在參考圖片列表中的激活(active)條目的數(shù)目,參考圖片列表中的激活條目所指的每個圖片存在于解碼圖片緩沖區(qū)(decodedpicture?buffer,dpb)中,并且具有小于或等于當(dāng)前圖片的時間標(biāo)識符值的時間標(biāo)識符值,并且參考圖片列表中的條目所指的每個圖片不是當(dāng)前圖片并且由圖片頭標(biāo)志指示為是潛在參考圖片。
11、根據(jù)實施方式,基于確定當(dāng)前圖片是獨立解碼器刷新(independent?decoderrefresh,idr)圖片、干凈隨機(jī)訪問(clean?random?access,cra)圖片或漸進(jìn)解碼刷新(gdr)圖片來執(zhí)行檢查比特流一致性。
12、根據(jù)一個或更多個實施方式,提供了一種用于解碼視頻流的系統(tǒng)。該系統(tǒng)包括:至少一個處理器,其被配置成接收包括訪問單元的經(jīng)編碼的視頻流,該訪問單元包括圖片;以及存儲計算機(jī)代碼的存儲器,所述計算機(jī)代碼包括:第一信令代碼,其被配置成使至少一個處理器在經(jīng)編碼的視頻流的訪問單元定界符中用信號通知第一標(biāo)志,該第一標(biāo)志指示訪問單元是否包括幀內(nèi)隨機(jī)訪問點(irap)圖片和漸進(jìn)解碼刷新(gdr)圖片當(dāng)中的任一個;第二信令代碼,其被配置成使至少一個處理器在經(jīng)編碼的視頻流的圖片頭中用信號通知第二標(biāo)志,該第二標(biāo)志指示圖片是否是irap圖片;以及解碼代碼,其被配置成使至少一個處理器基于第一標(biāo)志和第二標(biāo)志,將圖片解碼為當(dāng)前圖片,其中,第一標(biāo)志的值和第二標(biāo)志的值相等。
13、根據(jù)實施方式,該計算機(jī)代碼還包括:
14、第三信令代碼,其被配置成使至少一個處理器在經(jīng)編碼的視頻流的圖片頭中用信號通知第三標(biāo)志,該第三標(biāo)志指示圖片是否為gdr圖片,其中,第一標(biāo)志的值和第三標(biāo)志的值相等。
15、根據(jù)實施方式,基于第二標(biāo)志指示圖片不是irap圖片,用信號通知第三標(biāo)志。
16、根據(jù)實施方式,第一標(biāo)志具有指示圖片是irap圖片和gdr圖片當(dāng)中的任一個的值,第二標(biāo)志具有指示圖片是irap圖片的值,并且計算機(jī)代碼還包括第五信令代碼,該第五信令代碼被配置成使至少一個處理器在經(jīng)編碼的視頻流的圖片的切片的切片頭中用信號通知第五標(biāo)志,該第五標(biāo)志指示在irap圖片之前的任何圖片是否被輸出。
17、根據(jù)實施方式,該計算機(jī)代碼還包括:確定代碼,其被配置成使至少一個處理器確定切片的網(wǎng)絡(luò)抽象層(nal)單元類型,其中基于確定的nal單元類型用信號通知該第五標(biāo)志。
18、根據(jù)實施方式,基于被確定為等于idr_w_radl、idr_n_lp或cra_nut的nal單元類型來用信號通知第五標(biāo)志。
19、根據(jù)實施方式,計算機(jī)代碼還包括:第四信令代碼,其被配置成使至少一個處理器在經(jīng)編碼的視頻流的圖片頭中用信號通知第四標(biāo)志,該第四標(biāo)志指示圖片是否為gdr圖片,其中,第一標(biāo)志的值與第四標(biāo)志的值相等。
20、根據(jù)實施方式,基于第二標(biāo)志指示圖片不是irap圖片,用信號通知第五標(biāo)志。
21、根據(jù)實施方式,解碼代碼包括:構(gòu)造代碼,其被配置成使至少一個處理器構(gòu)造參考圖片列表;生成代碼,其被配置成使至少一個處理器在參考圖片列表中生成不可用的參考圖片;以及檢查代碼,其被配置成使至少一個處理器檢查比特流一致性,對于參考圖片列表中的參考圖片,以下約束適用:被指示在參考圖片列表中的條目的數(shù)目不小于被指示在參考圖片列表中的激活條目的數(shù)目,參考圖片列表中的激活條目所指的每個圖片存在于解碼圖片緩沖器(dpb)中并且具有小于或等于當(dāng)前圖片的時間標(biāo)識符值的時間標(biāo)識符值,并且參考圖片列表中的條目所指的每個圖片不是當(dāng)前圖片,并且由圖片頭標(biāo)志指示為是潛在參考圖片。
22、根據(jù)一個或更多個實施方式,提供了一種存儲計算機(jī)指令的非暫態(tài)計算機(jī)可讀介質(zhì)。所述計算機(jī)指令在由至少一個處理器執(zhí)行時——所述至少一個處理器接收包括訪問單元的經(jīng)編碼的視頻流,所述訪問單元包括圖片——使至少一個處理器:在經(jīng)編碼的視頻流的訪問單元定界符中用信號通知第一標(biāo)志,該第一標(biāo)志指示訪問單元是否包括幀內(nèi)隨機(jī)訪問點(irap)圖片和漸進(jìn)解碼刷新(gdr)圖片當(dāng)中的任一個;在經(jīng)編碼的視頻流的圖片頭中用信號通知第二標(biāo)志,該第二標(biāo)志指示圖片是否是irap圖片;以及基于第一標(biāo)志和第二標(biāo)志,將圖片解碼為當(dāng)前圖片,其中,第一標(biāo)志的值和第二標(biāo)志的值相等。
23、根據(jù)實施方式,提供了一種用于解碼視頻流的系統(tǒng),所述系統(tǒng)包括:第一信令單元,其被配置成在經(jīng)編碼的視頻流的訪問單元定界符中用信號通知第一標(biāo)志,該第一標(biāo)志指示訪問單元是否包括幀內(nèi)隨機(jī)訪問點(irap)圖片和漸進(jìn)解碼刷新(gdr)圖片當(dāng)中的任一個;第二信令單元,其被配置成在經(jīng)編碼的視頻流的圖片頭中用信號通知第二標(biāo)志,該第二標(biāo)志指示圖片是否是irap圖片;以及解碼單元,其被配置成基于第一標(biāo)志和第二標(biāo)志,將圖片解碼為當(dāng)前圖片,其中,第一標(biāo)志的值和第二標(biāo)志的值相等。
24、根據(jù)實施方式,提供了一種計算機(jī)設(shè)備,所述設(shè)備包括處理器以及存儲器。所述存儲器用于存儲程序代碼,并將所述程序代碼傳輸給所述處理器;所述處理器用于根據(jù)所述程序代碼中的指令執(zhí)行上述方法。
25、根據(jù)本公開內(nèi)容實施例提供的用于解碼視頻流的系統(tǒng)和方法,接收包括訪問單元的經(jīng)編碼的視頻流,該訪問單元包括圖片;在經(jīng)編碼的視頻流的訪問單元定界符中用信號通知第一標(biāo)志,該第一標(biāo)志指示訪問單元是否包括幀內(nèi)隨機(jī)訪問點(irap)圖片和漸進(jìn)解碼刷新(gdr)圖片當(dāng)中的任一個;在經(jīng)編碼的視頻流的圖片頭中用信號通知第二標(biāo)志,該第二標(biāo)志指示圖片是否是irap圖片;基于第一標(biāo)志和第二標(biāo)志,將圖片解碼為當(dāng)前圖片,其中,第一標(biāo)志的值和第二標(biāo)志的值相等。通過本公開內(nèi)容,如果參考圖片被確定為不可用,則可以將不可用參考圖片標(biāo)記為“無參考圖片”。為了避免任何解碼器崩潰或非預(yù)期行為,可以用像素和參數(shù)的默認(rèn)值立即生成不可用參考圖片。在生成不可用參考圖片(以及/或者參考圖片被確定為可用)之后,解碼器可以檢查參考圖片列表中的所有參考圖片(包括所生成的圖片)的有效性。