本申請是2014年5月22日提交的、國際申請日為2013年4月23日的、申請?zhí)枮?01380003980.4(pct/kr2013/003456)的,發(fā)明名稱為“視頻編碼方法、視頻解碼方法以及實現(xiàn)該方法的裝置”專利申請的分案申請。
本發(fā)明涉及一種視頻壓縮技術(shù),并且更具體地,涉及一種解析被壓縮的視頻信息以處理視頻的方法和使用該方法的裝置。
背景技術(shù):
最近,高分辨率和高品質(zhì)圖像的需要在各種領(lǐng)域的應(yīng)用中已經(jīng)增加。因為圖像具有更高分辨率和更高質(zhì)量,所以關(guān)于圖像的信息量也增加。
隨著信息量的增長,引進(jìn)了具有各種環(huán)境的多動能設(shè)備和網(wǎng)絡(luò)。因此,通過不同級別的質(zhì)量利用同一內(nèi)容。
具體地,因為終端能夠支持不同質(zhì)量的視頻并且各種網(wǎng)絡(luò)環(huán)境被建立,所以具有一般質(zhì)量的視頻能夠在一個環(huán)境中啟用,同時更高質(zhì)量視頻在另一環(huán)境中可用。
例如,用戶在家中可以享受通過具有更高分辨率的大屏幕顯示器上的便攜終端購買的視頻內(nèi)容。
近些年,隨著高清晰(hd)廣播服務(wù)可用,大量的用戶習(xí)慣于高分辨率和高質(zhì)量視頻,并且服務(wù)提供商和服務(wù)用戶也關(guān)注具有比hdtv高四倍分辨率的超高清(uhd)服務(wù)。
因此,需要提供視頻質(zhì)量,例如,基于關(guān)于高容量視頻的高效編碼和解碼方法的視頻的圖像質(zhì)量、分辨率、大小和幀率的可擴(kuò)展性,以便在用于用戶需求的不同環(huán)境中提供各種質(zhì)量的視頻服務(wù)。
技術(shù)實現(xiàn)要素:
技術(shù)問題
本發(fā)明的一個方面是提供一種處理不具有參考圖片的前導(dǎo)圖片的方法和使用該方法的裝置。
本發(fā)明的另一方面是提供一種防止在解碼裝置中的錯誤并且處理視頻的方法和使用該方法的裝置。
本發(fā)明的又一方面是提供一種支持隨機(jī)接入視頻并且在比特流中首先解碼凈隨機(jī)接入(cleanrandomaccess,cra)圖片和即時解碼刷新(idr)圖片的方法和使用該方法的裝置。
本發(fā)明的另一方面是提供一種處理在視頻處理中產(chǎn)生的錯誤的方法和使用該方法的裝置。
技術(shù)方案
本發(fā)明的實施例提供一種視頻處理方法,其包括接收含有多個圖片的比特流,并且當(dāng)用于按照輸出順序在隨機(jī)接入點圖片之前并且按照解碼順序在隨機(jī)接入點圖片之后的前導(dǎo)圖片的至少一個參考圖片不可以用時,不輸出前導(dǎo)圖片。
不輸出前導(dǎo)圖片可以包括移除和丟棄來自比特流的前導(dǎo)圖片,并且視頻處理方法可以進(jìn)一步包括解碼在移除前導(dǎo)圖片之后的圖片。
可以從解碼處理和輸出處理排除前導(dǎo)圖片。
在預(yù)定延遲時間之后可以解碼被移除的前導(dǎo)圖片之后的圖片。
前導(dǎo)圖片可以包括不可解碼的第一前導(dǎo)圖片和可解碼的第二前導(dǎo)圖片,并且移除和丟棄來自比特流的前導(dǎo)圖片可以排除來自解碼處理和輸出處理的第一前導(dǎo)圖片。
前導(dǎo)圖片可以包括不可解碼的第一前導(dǎo)圖片和可解碼的第二前導(dǎo)圖片,并且移除和丟棄來自比特流的前導(dǎo)圖片可以移除和丟棄來自該比特流的第一前導(dǎo)圖片和第二前導(dǎo)圖片。
前導(dǎo)圖片可以包括不可解碼的第一前導(dǎo)圖片,并且移除和丟棄來自比特流的前導(dǎo)圖片可以移除和丟棄來自比特流的第一前導(dǎo)圖片。
前導(dǎo)圖片可以包括不可解碼的第一前導(dǎo)圖片和可解碼的第二前導(dǎo)圖片,并且視頻處理方法可以進(jìn)一步包括生成第一前導(dǎo)圖片的不可用參考圖片和生成防止不可用的參考圖片的輸出的標(biāo)志信號。
視頻處理方法可以進(jìn)一步包括解碼第二前導(dǎo)圖片。
前導(dǎo)圖片可以包括作為參考圖片在比特流中不存在的圖片。
隨機(jī)接入點圖片可以是凈隨機(jī)接入(cra)圖片。
視頻處理方法可以進(jìn)一步包括接收指示用于前導(dǎo)圖片的至少一個參考圖片是不可用的標(biāo)志信息。
視頻處理方法可以進(jìn)一步包括,當(dāng)通過標(biāo)志信息確定用于前導(dǎo)圖片的至少一個參考圖片是不可用時,輸出比特流的錯誤信息和解碼在前導(dǎo)圖片之后的圖片。
當(dāng)用于前導(dǎo)圖片的至少一個參考圖片是不可用時,可以將比特流確定為不滿足預(yù)定一致性。
視頻處理方法可以進(jìn)一步包括輸出比特流的錯誤信息和解碼在前導(dǎo)圖片之后的圖片。
有益效果
本發(fā)明的實施例提供一種處理不具有參考圖片的前導(dǎo)圖片的方法和使用該方法的裝置。
本發(fā)明的另一實施例提供一種防止在解碼裝置中的錯誤和處理視頻的方法和使用該方法的裝置。
本發(fā)明的又一方面提供一種支持隨機(jī)接入視頻和在比特流中首先解碼凈隨機(jī)接入(cra)圖片和即時解碼刷新(idr)圖片的方法和使用該方法的裝置。
本發(fā)明的又一實施例提供一種處置在視頻處理中出現(xiàn)的錯誤的方法和使用該方法的裝置。
附圖說明
圖1是示意地示出根據(jù)本發(fā)明的示例性實施例的視頻編碼裝置的框圖。
圖2是示意地示出根據(jù)本發(fā)明的示例性實施例的視頻解碼裝置的框圖。
圖3示出通過解碼裝置處理的編譯視頻的分層結(jié)構(gòu)。
圖4示出隨機(jī)可接入的圖片。
圖5示出即時解碼刷新(idr)圖片。
圖6示出凈隨機(jī)接入(cra)圖片。
圖7示出其中前導(dǎo)圖片之前的圖片是不可用的情形。
圖8是示出根據(jù)本發(fā)明的示例性實施例的視頻處理裝置的框圖。
圖9是示出根據(jù)本發(fā)明的示例性實施例的視頻處理方法的流程圖。
圖10示出去除根據(jù)本發(fā)明的示例性實施例的前導(dǎo)圖片。
圖11示出去除根據(jù)本發(fā)明的另一示例性實施例的前導(dǎo)圖片。
圖12示出去除根據(jù)本發(fā)明的又一示例性實施例的前導(dǎo)圖片。
圖13是示出根據(jù)本發(fā)明的另一示例性實施例的視頻處理方法的流程圖。
具體實施方式
本發(fā)明可以進(jìn)行各種更改和修正并且參考不同的示例性實施例被示出,其中的一些將被更加詳細(xì)地描述并且在附圖中示出。然而,實施例并不旨在限制本發(fā)明。在本文中使用的術(shù)語僅為了描述特定實施例,并不旨在限制本發(fā)明的技術(shù)理念。如本文中所使用的,單數(shù)形式“a”、“an”和“the”旨在也包括復(fù)數(shù)形式,除非上下文以其它方式清楚地指示。將進(jìn)一步理解成,術(shù)語“包括”和/或“具有”在該說明書中使用時,指定所述特征、整數(shù)、步驟、操作、要素、組件、和/或其組合的存在,但是并不排除一個或多個其它特征、整數(shù)、步驟、操作、要素、組件和/或其組合的存在或添加。
雖然為了視頻編碼裝置/解碼裝置中的不同特色功能的描述簡便獨立地示出了附圖中示出的要素,但是這種配置不是指示每個要素通過單獨硬件組件或軟件組件來構(gòu)造。即,至少兩個要素可以被組合成單一要素,或者單一要素可以被劃分成多個要素以執(zhí)行這些功能。應(yīng)該注意的是,其中一些要素被集成到一個被組合的要素和/或一個要素被劃分成多個單獨要素的實施例被包括在本發(fā)明的范圍內(nèi),而不脫離本發(fā)明的本質(zhì)。
在下文,將參考附圖詳細(xì)描述本發(fā)明的示例性實施例。附圖中相同附圖標(biāo)記表示相同要素,但是相同要素的多余描述將在此省略。
圖1是示意地示出根據(jù)本發(fā)明的示例性實施例的視頻編碼裝置的框圖。參考圖1,視頻編碼裝置100包括圖片分割模塊105、預(yù)測模塊110、變換模塊115、量化模塊120、重新排列模塊125、熵編碼模塊130、去量化模塊135、逆變換模塊140、濾波器模塊145和存儲器150。
圖片分割模塊105可以將輸入圖片分割成至少一個塊作為處理單元。在此,作為處理單元的塊可以是預(yù)測單元(pu)、變換單元(tu)或編譯單元(cu)。
通過圖片分割模塊105所分割的處理單元塊可以具有四叉樹結(jié)構(gòu)。
預(yù)測模塊110可以包括執(zhí)行幀間預(yù)測的幀間預(yù)測模塊和執(zhí)行幀內(nèi)預(yù)測的幀內(nèi)預(yù)測模塊,其將被進(jìn)行描述。預(yù)測模塊110通過對來自分割模塊105的圖片的處理單元執(zhí)行預(yù)測,生成預(yù)測塊。預(yù)測模塊110中的圖片的處理單元可以是cu、tu或pu。此外,預(yù)測模塊110可以確定對處理單元執(zhí)行的預(yù)測是否是幀間預(yù)測或幀內(nèi)預(yù)測,并且確定每種預(yù)測方法的細(xì)節(jié)(例如,預(yù)測模式)。在此,在其上執(zhí)行預(yù)測的處理單元不同于預(yù)測方法和關(guān)于該預(yù)測方法的細(xì)節(jié)被確定用于的處理單元。例如,針對每個pu可以確定預(yù)測方法和預(yù)測模式,而針對每個tu可以執(zhí)行預(yù)測。
在幀間預(yù)測中,基于關(guān)于當(dāng)前圖片的先前和/或隨后圖片的至少一個的信息,通過執(zhí)行預(yù)測可以生成預(yù)測塊。在幀內(nèi)預(yù)測中,基于關(guān)于當(dāng)前圖片內(nèi)的像素的信息,通過執(zhí)行預(yù)測可以生成預(yù)測塊。
跳過模式、合并模式和運動矢量預(yù)測(mvp)可以被用作幀間預(yù)測方法。在幀間預(yù)測中,用于pu的參考圖片可以被選擇,并且與pu相對應(yīng)的參考塊可以被選擇??梢詫⒖級K選擇作為幀間像素的單元。隨后,具有關(guān)于當(dāng)前pu的最小殘留信號和具有最小大小運動矢量的預(yù)測塊被生成。
預(yù)測塊可以被生成作為整數(shù)采樣單元或作為小于整數(shù)像素,諸如1/2像素單元和1/4像素單元的像素單元。在此,以比整數(shù)像素更小的單元表示運動矢量。
包括在幀間預(yù)測中所選擇的參考像素的索引、運動矢量(例如,運動矢量預(yù)測)和殘留信號的信息,被熵編碼和傳輸?shù)浇獯a裝置。在跳過模式中,因為預(yù)測塊可以是重建塊而非殘留,所以該殘留可以不被生成、變換、量化和傳輸。
在幀內(nèi)預(yù)測中,預(yù)測模式由pu確定,并且預(yù)測可以由pu確定。可替選地,可以由pu確定預(yù)測模式,并且在tu中可以執(zhí)行幀內(nèi)預(yù)測。
幀內(nèi)預(yù)測可以包括33個方向預(yù)測模式和兩個或更多個非方向模式。非方向模式可以包括dc預(yù)測模式和平面模式。
在幀內(nèi)預(yù)測中,在將濾波器應(yīng)用到參考采樣之后,可以生成預(yù)測塊。在此,根據(jù)幀內(nèi)預(yù)測模式和/或當(dāng)前塊的大小,可以確定是否將該濾波器應(yīng)用到參考采樣。
pu可以具有不同大小和形式。例如,在幀間預(yù)測中,pu可以是2n×2n、2n×n、n×2n或n×n塊(n是整數(shù))。在幀內(nèi)預(yù)測中,pu可以是2n×2n或n×n塊(n是整數(shù))。在此,具有n×n大小的pu可以僅被應(yīng)用到特殊情形。例如,n×npu可以僅用于具有最小大小的cu或僅用于幀內(nèi)預(yù)測。除了具有前述大小的pu之外,pu可以包括n×mn、mn×n、2n×mn和mn×2n塊(m<1)。
在被生成的預(yù)測塊和原始塊之間的殘留值(殘留塊或殘留信號)被輸入到變換模塊115。同時,關(guān)于用于預(yù)測的預(yù)測模式和運動矢量的信息通過熵編碼模塊130與殘留值一起被編碼,并且被傳送到解碼裝置。
變換模塊115通過tu變換殘留塊,并且生成變換系數(shù)。
變換塊是相同變換被應(yīng)用到的采樣的矩形塊。變換塊可以是tu并且具有四叉樹結(jié)構(gòu)。
基于應(yīng)用到殘留塊的預(yù)測模式和塊的大小,變換模塊115可以執(zhí)行變換。
例如,當(dāng)將幀內(nèi)預(yù)測應(yīng)用到殘留塊并且該塊具有4x4殘留陣列時,變換模塊115可以使用離散余弦變換(dct)變換殘留塊。否則,變換模塊115可以使用離散正弦變換(dst)變換殘留塊。
變換模塊115通過變換可以生成變換系數(shù)的變換塊。
量化模塊120可以量化通過變換模塊115變換的殘留值,即,變換系數(shù),以生成被量化的變換系數(shù)。通過量化模塊120生成的系數(shù)被提供到去量化模塊135和重新排列模塊125。
重新排列模塊125重新排列由量化模塊120提供的被量化的變換系數(shù)。重新排列被量化的變換系數(shù)可以增強(qiáng)熵編碼模塊130中的編碼效率。
重新排列模塊125使用系數(shù)掃描可以將被量化的變換系數(shù)的二維(2d)塊重新排列成一維(1d)矢量。
熵編碼模塊130可以熵編碼由重新排列模塊125重新排列的被量化的變換系數(shù)。諸如指數(shù)golomb、上下文自適應(yīng)可變長度編碼(cavlc)和上下文自適應(yīng)二進(jìn)制算法編碼(cabac)的各種編碼方法可以用于熵編碼。熵編碼模塊130可以編碼從重新排列模塊125和預(yù)測模塊110接收到的各種類型的信息,諸如關(guān)于被量化的變換系數(shù)和cu的塊類型的信息、預(yù)測模式信息、分割單元信息、pu信息、傳送單元信息、運動矢量信息、參考圖片信息、塊插值信息和濾波信息。
此外,熵編碼模塊130在必要時可以將更改應(yīng)用到被接收的參數(shù)集或語法。
去量化模塊135去量化由量化模塊120量化的值,即,被量化的變換系數(shù),并且逆變換模塊140逆變換由去量化模塊135去量化的值。
通過去量化模塊135和逆變換模塊生成的殘留值與由預(yù)測模塊110預(yù)測的預(yù)測模塊合并,從而生成重建塊。
圖1示出通過加法器將殘留塊和預(yù)測塊合并生成的重建塊。在此,可以將加法器視為用于生成重建塊的單獨模塊(重建塊生成模塊)。
濾波器模塊145可以將解塊濾波器、自適應(yīng)環(huán)路濾波器(alf)和采樣自適應(yīng)偏移(sao)應(yīng)用到重建圖片。
解塊濾波器可以移除在重建圖片中的塊之間的邊界上生成的塊失真。基于通過將使用解塊濾波器由濾波塊所獲得的重建圖片和原始圖片進(jìn)行比較所獲得的值,alf可以執(zhí)行濾波。僅為高效率可以采用alf。sao通過像素單元,重建解塊濾波器已被應(yīng)用到的殘留快和原始圖片之間的偏移差,其中頻帶偏移或邊緣偏移被使用。
同時,濾波器模塊145可以不將濾波應(yīng)用到幀間預(yù)測中使用的重建塊。
存儲器150可以存儲經(jīng)由濾波器模塊145所獲得的圖片或重建塊??梢詫⒋鎯υ诖鎯ζ?50中的重建塊或圖片提供到執(zhí)行幀間預(yù)測的預(yù)測模塊110。
圖2是示意地示出根據(jù)本發(fā)明的示例性實施例的視頻解碼裝置的框圖。參考圖2,視頻解碼裝置200可以包括熵解碼模塊210、重新排列模塊215、去量化模塊220、逆變換模塊225、預(yù)測模塊230、濾波器模塊235和存儲器240。
當(dāng)從視頻編碼裝置輸入視頻比特流時,根據(jù)通過其視頻編碼裝置處理視頻信息的逆處理可以解碼輸入比特流。
例如,當(dāng)視頻編碼裝置使用諸如cavlc的可變長度編碼(vlc)以執(zhí)行熵編碼時,熵解碼模塊210使用與編碼裝置中所使用的相同的vlc表,可以執(zhí)行熵解碼。此外,如果視頻編碼裝置使用cabac以執(zhí)行熵編碼,則熵解碼模塊210使用cabac也可以執(zhí)行熵解碼。
在由熵解碼模塊210解碼的信息片中,用于生成預(yù)測塊的信息可以被提供到預(yù)測模塊230,并且殘留值,即,被量化的變換系數(shù),可以被輸入到重新排列模塊215。
基于在編碼裝置中所使用的重新排列方法,重新排列模塊215可以重新排列關(guān)于由熵解碼模塊210熵解碼的比特流的信息,即,被量化的變換系數(shù)。
重新排列模塊215可以將系數(shù)的1d矢量重建和重新排列成系數(shù)的2d塊。基于當(dāng)前塊(變換塊)的預(yù)測模式和該變換塊的大小,重新排列模塊215可以掃描系數(shù),以生成系數(shù)(被量化的變換系數(shù))的2d塊。
基于從編碼裝置提供的量化參數(shù)和該塊的被重新排列的系數(shù),去量化模塊220可以執(zhí)行去量化。
響應(yīng)于由編碼裝置的變換模塊執(zhí)行的dct和dst,逆變換模塊225可以對由視頻編碼裝置執(zhí)行的量化的結(jié)果,執(zhí)行逆dct和/或逆dst。
在由視頻編碼裝置確定的圖片的傳輸單元或分割單元的基礎(chǔ)上,可以執(zhí)行逆變換。根據(jù)多個信息元素,諸如預(yù)測方法、當(dāng)前塊的大小和預(yù)測方向,視頻編碼裝置的變換模塊可以選擇地執(zhí)行dct和/或dst,并且在關(guān)于由視頻編碼裝置的變化模塊所執(zhí)行的變換的信息的基礎(chǔ)上,視頻解碼裝置的逆變換模塊225可以執(zhí)行逆變換。
基于關(guān)于從熵解碼模塊210提供的預(yù)測塊的生成的信息和關(guān)于由存儲器240提供的先前解碼的塊和/或圖片的信息,預(yù)測模塊230可以生成預(yù)測塊。
如果用于當(dāng)前pu的預(yù)測模式是幀內(nèi)預(yù)測模式,則基于關(guān)于當(dāng)前圖片的像素的信息可以執(zhí)行幀內(nèi)預(yù)測,以生成預(yù)測塊。
如果用于當(dāng)前pu的預(yù)測模式是幀間預(yù)測模式,則基于關(guān)于當(dāng)前圖片的先前和隨后圖片中的至少一個的信息,可以執(zhí)行用于當(dāng)前pu的幀間預(yù)測。在此,由視頻編碼裝置提供的當(dāng)前pu的幀間預(yù)測所需要的運動信息,例如關(guān)于運動矢量和參考圖片索引的信息,可以通過檢查從編碼裝置接收的跳躍標(biāo)志和合并標(biāo)志推導(dǎo)出。
使用由預(yù)測模塊230生成的預(yù)測塊和由逆變換模塊225提供的殘留塊,可以生成重建塊。圖2示出由加法器將預(yù)測塊和殘留快合并而生成的重建塊。在此,可以將加法器視為用于生成重建塊的單獨模塊(重建塊生成模塊)。
當(dāng)跳過模式被使用時,在沒有傳輸殘留塊的情形下,預(yù)測塊可以是重建塊。
重建塊和/或圖片可以被提供到濾波器模塊235。濾波器模塊235可以將解塊濾波、sao和/或afl應(yīng)用到重建塊和/或圖片。
存儲器240可以存儲重建圖片或塊以被用作參考圖片或參考塊,并且將重建圖片供應(yīng)到輸出單元。
圖3示出通過解碼裝置處理的被編譯的視頻的分層結(jié)構(gòu)。
可以將編譯視頻信號劃分成與解碼視頻和與處理該視頻本身相關(guān)的視頻編碼層(vcl)和位于vcl和低層系統(tǒng)之間的網(wǎng)絡(luò)抽象層(nal),該低層系統(tǒng)可以傳輸和存儲編碼信息。
作為nal的基本單元的nal單元用作將編譯視頻映射到低層系統(tǒng)位串,諸如根據(jù)預(yù)定標(biāo)準(zhǔn)、實時傳送協(xié)議(rtp)和傳送流(ts)的文件格式。
同時,與視頻解碼額外所需要的序列的報頭和圖片和輔助增強(qiáng)信息(sei)消息相對應(yīng)的參數(shù)集(圖片參數(shù)集、序列參數(shù)集和視頻參數(shù)集),與關(guān)于視頻(片數(shù)據(jù))的信息分離。
如圖3中所示,nal單元包括nal報頭和在vcl中生成的原始字節(jié)序列負(fù)荷(rbsp,來自視頻壓縮的結(jié)果數(shù)據(jù))的兩個部分。nal報頭包括關(guān)于相對應(yīng)nal單元的類型的信息。
根據(jù)在vcl中生成的rbsp,可以將nal單元分類成vclnal單元和非vclnal單元。vclnal單元是包括關(guān)于視頻的信息的nal,并且非vclnal單元是包括解碼該視頻所需要的信息(參數(shù)集或sei消息)的nal單元。
根據(jù)包括在nal單元中的圖片的屬性和類型,vclnal單元可以被劃分成不同的類型。
圖4示出隨機(jī)可接入的圖片。
隨機(jī)可接入的圖片,即,作為隨機(jī)接入點的幀內(nèi)隨機(jī)接入點(irap)圖片是按照隨機(jī)接入的解碼順序的比特流的第一圖片,并且僅包括i片。
圖4示出了圖片的輸出順序或顯示順序和解碼順序。如圖4中所示,圖片的輸出順序可以與圖片的解碼順序不同。為了描述簡便,可以將圖片劃分成組。
第一組(i)中的圖片按照輸出順序和解碼順序都在irap圖片之前,而第二組(ii)中的圖片按照輸出順序在irap之前,但是按照解碼順序在irap圖片之后。第三組(iii)中的圖片按照輸出順序和解碼順序跟隨irap圖片。
可以將第一組(i)中的圖片解碼和輸出,無論irap圖片如何。
在irap圖片之前輸出的第二組(ii)中的圖片稱為前導(dǎo)圖片,其在將irap圖片用作隨機(jī)接入點時在解碼處理中可能導(dǎo)致問題,將對其進(jìn)行詳細(xì)描述。
依照輸出和解碼順序跟隨irap圖片的第三組(iii)中的圖片被稱為正常圖片。正常圖片未被用作前導(dǎo)圖片的參考圖片。
在發(fā)生隨機(jī)接入所在的比特流中的隨機(jī)接入點是irap圖片,并且當(dāng)?shù)诙M(ii)中的第一圖片被輸出時隨機(jī)接入開始。
同時,irap圖片可以是即時解碼刷新(idr)圖片和凈隨機(jī)接入(cra)圖片中的任何一個。
圖5示出idr圖片。
當(dāng)圖片組(gop)具有封閉結(jié)構(gòu)時,idr圖片是隨機(jī)接入點。idr圖片是irap圖片并且因此僅包括i片。ird圖片在解碼過程中可以是第一圖片,或者可以出現(xiàn)在比特流的中間。當(dāng)idr圖片被解碼時,存儲在解碼圖片緩沖器(dpb)中的所有參考圖片被指示為“未用于參考”。
在圖5中,條形表示圖片,并且箭頭指示關(guān)于一個圖片是否可以使用另一圖片作為參考圖片的參考關(guān)系。在箭頭上的x標(biāo)記指示圖片(多個圖片)不是指由箭頭所表示的圖片。
如圖5中所示,idr圖片的poc是32,并且具有范圍從25至31的poc和在idr圖片之間被輸出的圖片是前導(dǎo)圖片510。具有大于33的poc的圖片是正常圖片520。
在idr圖片之間的前導(dǎo)圖片510可以使用idr圖片,但是作為參考圖片的其它前導(dǎo)圖片不使用前導(dǎo)圖片510之前的先前圖片530。
跟隨idr圖片的正常圖片520可以通過參考idr圖片、前導(dǎo)圖片和其它正常圖片被解碼。
圖6示出cra圖片。
當(dāng)圖片組(gop)具有開放結(jié)構(gòu)時,cra圖片是隨機(jī)接入點。cra圖片也是irap圖片并且因此僅包括i片。在解碼過程中ird圖片是比特流中的第一圖片,或者出現(xiàn)在正常播放的比特流中間。
當(dāng)被編譯的圖片被拼接或者將比特流在中間切斷時,該cra圖片作為隨機(jī)接入點可以在比特流的中間存在。
在圖6中,條形表示圖片,并且箭頭指示關(guān)于一個圖片是否可以使用另一圖片作為參考圖片的參考關(guān)系。箭頭上的x標(biāo)記指示圖片(多個圖片)不是指由箭頭所指示的圖片。
在cra圖片之前的前導(dǎo)圖片610可以使用所有cra圖片、其它前導(dǎo)圖片以及在作為參考圖片的前導(dǎo)圖片710之前的先前圖片630。
然而,跟隨cra圖片的正常圖片620可以通過參考cra圖片和其它正常圖片來解碼,但是不能使用前導(dǎo)圖片610作為參考圖片。
圖7示出其中在前導(dǎo)圖片之前的圖片不可用的情形。
前導(dǎo)圖片710按照輸出順序在cra圖片之前,并且因此在cra圖片之前被輸出,但是在cra圖片之后被解碼。前導(dǎo)圖片710可以是指先前圖片730中的至少一個。
如圖7中所示,當(dāng)比特流在中間被切斷或者丟失時,或者伴隨圖片被拼接cra圖片意外地發(fā)生隨機(jī)接入時,按照解碼順序在cra圖片之前的先前圖片730是不可用的。因為作為前導(dǎo)圖片710的可能參考圖片的先前圖片730是不可用的,所以表示不可用圖片的前導(dǎo)圖片不能被適當(dāng)解碼。
其中前導(dǎo)圖片的參考圖片是不可用的情形可以包括以下情形,其中前導(dǎo)圖片包括作為參考圖片在比特流中不存在的圖片,或者前導(dǎo)圖片的參考圖片在解碼圖片緩沖器(dpb)中不存在。
為了解決上述問題,根據(jù)本發(fā)明的示例性實施例的視頻處理裝置不輸出稱為不可用的參考圖片的前導(dǎo)圖片。
圖8是示出根據(jù)本發(fā)明的示例性實施例的視頻處理裝置的框圖。如圖8中所示,視頻處理裝置800包括比特流接收器810和視頻處理器820。
視頻處理裝置800可以包括含有視頻處理器820的模塊或設(shè)備,以執(zhí)行解碼處理。視頻處理裝置800可以被提供作為電視、視頻播放器和能夠解碼和輸出視頻的各種終端。
比特流接收器810接收包括多個圖片的比特流。
由比特流接收器810接收的比特流通過視頻處理器820經(jīng)由解碼處理被輸出為視頻。
比特流接收器810可以包括解析模塊,以解析輸入比特流,以獲得解碼圖片所需要的信息。
視頻處理器820可以包括含有圖2中所描述的組件的解碼裝置或者執(zhí)行解碼的解碼模塊?;趨⒖紙D片的可用性本實施例的視頻處理器820確定是否輸出前導(dǎo)圖片。
圖9是示出根據(jù)本發(fā)明的示例性實施例的視頻處理裝置800的視頻處理方法的流程圖。
視頻處理裝置800接收包括多個圖片的比特流(s901)。
圖片可以包括作為隨機(jī)接入點的idr圖片或cra圖片。此外,圖片可以包括按照輸出順序在隨機(jī)接入點圖片之前但是按照解碼順序在隨機(jī)接入點圖片之后的前導(dǎo)圖片。
當(dāng)前導(dǎo)圖片的至少一個參考圖片是不可用時,視頻處理器820不輸出前導(dǎo)圖片(s902)。
不輸出前導(dǎo)圖片的操作可以包括移除和丟棄來自比特流的前導(dǎo)圖片。從解碼處理和輸出處理排除被丟棄的前導(dǎo)圖片。
當(dāng)表示不可用的參考圖片的前導(dǎo)圖片存在時,視頻處理器820確定比特流滿足預(yù)定比特流一致性并且執(zhí)行將前導(dǎo)圖片從輸出視頻排除的默認(rèn)行為。
通過不可解碼的前導(dǎo)圖片執(zhí)行默認(rèn)行為,從而防止在視頻處理裝置800中可能發(fā)生的故障和錯誤。此外,視頻處理裝置800可以適當(dāng)?shù)靥幚砥渲幸馔獾碾S機(jī)接入發(fā)生的比特流。
在從解碼處理和輸出處理排除前導(dǎo)圖片之后,視頻處理器820解碼被排除的前導(dǎo)圖片之后的圖片(s903)。
被排除的前導(dǎo)圖片之后的圖片是指可正常解碼的圖片,無論在該比特流中的丟失的參考圖片或不存在的參考圖片如何。
在此,視頻處理器820延遲解碼隨后圖片預(yù)定延遲時間,以便保持輸入比特流的圖片比特串,即,防止存儲圖片的緩沖器的溢出或下溢。視頻處理器820可以包括存儲編譯圖片的編譯圖片緩沖器(cpb)和存儲解碼圖片的解碼圖片緩沖器(dpb)。
圖10示出移除根據(jù)本發(fā)明的示例性實施例的前導(dǎo)圖片。
如圖10中所示,前導(dǎo)圖片可以包括第一前導(dǎo)圖片1010和第二前導(dǎo)圖片1020。
包括在第一組i中的圖片包括前導(dǎo)圖片不能涉及的圖片。第一組i可以包括目前被解碼的圖片,即,cra圖片和與前導(dǎo)圖片1010和1020無關(guān)的圖片。
第一前導(dǎo)圖片1010是指不能正常解碼的圖片,例如,指不可用的參考圖片的圖片,并且第二前導(dǎo)圖片1020是無論第一前導(dǎo)圖片1010如何將要正常解碼的圖片。
在前導(dǎo)圖片1010和1020中,b0、b1和b2是第一前導(dǎo)圖片1010,并且b3至b6是第二前導(dǎo)圖片1020。
根據(jù)本發(fā)明,不可解碼的第一前導(dǎo)圖片101從解碼處理和輸出處理排除??梢詫⒌谝磺皩?dǎo)圖片1010從比特流移除和丟棄。
視頻處理器820解碼和輸出第二前導(dǎo)圖片1020,從解碼處理和輸出處理排除第一前導(dǎo)圖片1010。當(dāng)?shù)诙皩?dǎo)圖片1020被輸出時,隨機(jī)接入開始。
在此,考慮關(guān)于被移除的前導(dǎo)圖片1010的比特流定時,視頻處理器820可以延遲解碼第二前導(dǎo)圖片1020。
圖11示出根據(jù)本發(fā)明的另一示例性實施例移除前導(dǎo)圖片。
如圖11中所示,前導(dǎo)圖片可以包括第一前導(dǎo)圖片1110和第二前導(dǎo)圖片1120。
如上文所述,第一前導(dǎo)圖片1110是指不被正常解碼的圖片,例如是指不可用的參考圖片的圖片,并且第二前導(dǎo)圖片1120是無論第一前導(dǎo)圖片1110如何也被正常解碼的圖片。
在前導(dǎo)圖片1110和1120中,b0、b1和b2是第一前導(dǎo)圖片1110,并且b3至b6是第二前導(dǎo)圖片1120。
根據(jù)本實施例,視頻處理器820從解碼處理和輸出處理,不僅排除不可解碼的第一前導(dǎo)圖片1110也可以排除可正常解碼的第二前導(dǎo)圖片1120。視頻處理器820可以移除和丟棄來自該比特流的第一前導(dǎo)圖片1110和第二前導(dǎo)圖片1120。
視頻處理器820解碼和輸出在從解碼處理和輸出處理排除的第一前導(dǎo)圖片1110和第二前導(dǎo)圖片1120之后的圖片,即,在第三組iii中的圖片。
在此,視頻處理器820可以延遲解碼隨后圖片預(yù)定延遲時間,以便防止被移除的前導(dǎo)圖片1110和1120的緩沖器的溢出或下溢。
在自從作為隨機(jī)接入點的cra圖片被解碼預(yù)定延遲時間之后,第三組iii中的圖片被解碼,并且隨后顯示被解碼的car圖片和在第三組iii中的圖片。
圖12示出根據(jù)本發(fā)明的又一示例性實施例移除前導(dǎo)圖片。
如圖12中所示,前導(dǎo)圖片可以包括僅指不可用參考圖片的第一前導(dǎo)圖片1210。即,在cra圖片之后的第二組ii中的圖片b0至b6是表示不可用參考圖片的第一前導(dǎo)圖片1210。
視頻處理器820可以從解碼處理和輸出處理排除不可解碼的所有第一前導(dǎo)圖片1210??梢砸瞥蛠G棄來自比特流的第一前導(dǎo)圖片1210。
視頻處理器820解碼和輸出在從解碼處理和輸出處理排除的第一前導(dǎo)圖片1210之后的第三組iii中的圖片。
在自從作為隨機(jī)接入點的cra圖片被解碼預(yù)定延遲時間之后,視頻處理器820解碼第三組iii中的圖片,并且隨后輸出被解碼的cra圖片和在第三組中的圖片。
圖13是示出根據(jù)本發(fā)明的另一示例性實施例的視頻處理方法的流程圖。
接收包括多個圖片的比特流(s1301)。
圖片可以包括隨機(jī)接入點圖片、按照輸出順序在隨機(jī)接入點圖片之前和按照解碼順序在隨機(jī)接入點圖片之后的前導(dǎo)圖片,和按照輸出順序和解碼順序兩者在隨機(jī)接入點圖片之后的正常圖片。前導(dǎo)圖片可以包括不可解碼的第一前導(dǎo)圖片和可解碼的第二前導(dǎo)圖片中的至少一個。第一前導(dǎo)圖片可以指在比特流中不存在的圖片或不可用圖片。
當(dāng)?shù)谝磺皩?dǎo)圖片在比特流中存在時,視頻處理器生成第一前導(dǎo)圖片的不可用參考圖片(s1302)。
雖然第一前導(dǎo)圖片不被輸出并且不能影響另一圖片的解碼處理,但是如果第一前導(dǎo)圖片被解碼,則通過生成用于第一前導(dǎo)圖片的不可用參考圖片,即,虛擬參考圖片,視頻處理器進(jìn)行操作。
不可用參考圖片的采樣值可以被生成為圖片具有的可能采樣值的中間值。
視頻處理器設(shè)置指示不可用參考圖片的輸出是否為0的標(biāo)志信號以便不輸出該圖片,并且處理將不被輸出的第一前導(dǎo)圖片(s1303)。
在處理不可解碼的第一前導(dǎo)圖片之后,視頻處理器解碼可正常解碼的第二前導(dǎo)圖片。
根據(jù)本發(fā)明,視頻處理裝置可以接收關(guān)于前導(dǎo)圖片的標(biāo)志信息,并且基于被接收的標(biāo)志信息處理前導(dǎo)圖片。表1示出包括關(guān)于前導(dǎo)圖片的標(biāo)志信息的語法。
表1
在表1中,當(dāng)broken_link_leading_pics_enable_flag是1時,用于前導(dǎo)圖片的至少一個參考圖片是不可用的。當(dāng)broken_link_leading_pics_enable_flag是0時,前導(dǎo)圖片不包括可用參考圖片。例如,當(dāng)參考圖片被丟失時,broken_link_leading_pics_enable_flag是1。
當(dāng)broken_link_leading_pics_enable_flag是1時,視頻處理器可以移除來自解碼處理和輸出處理的包括不可用參考圖片的前導(dǎo)圖片。
前導(dǎo)圖片可以包括不能正常解碼的第一前導(dǎo)圖片和可以正常解碼的第二前導(dǎo)圖片。
視頻處理器僅移除來自解碼和輸出處理的第一前導(dǎo)圖片,或者無論第一和第二前導(dǎo)圖片如何可以移除來自解碼和輸出處理的所有前導(dǎo)圖片。
可替選地,視頻處理器可以生成用于包括不可用參考圖片的第一前導(dǎo)圖片的不可用參考圖片。在該情形下,被生成的不可用參考圖片和第一前導(dǎo)圖片被輸出。
總之,視頻處理器可以接收指示用于前導(dǎo)圖片的至少一個參考圖片是不可用的標(biāo)志信息,并且基于該標(biāo)志信息執(zhí)行圖10至圖13中示出的操作之一。
同時,視頻處理裝置不僅可以接收標(biāo)志信息broken_link_leading_pics_enable_flag,而且也可以分析包括在比特流的圖片的屬性,以設(shè)置broken_link_leading_pics_enable_flag。
基于上層系統(tǒng)級設(shè)置的標(biāo)志信息,視頻處理器可以移除來自解碼和輸出處理的前導(dǎo)圖片。
根據(jù)本發(fā)明的另一示例性實施例,當(dāng)表1的標(biāo)志信息被接收時,視頻處理器可以確定該比特流不滿足預(yù)定的比特流一致性,并且執(zhí)行相對應(yīng)的隨后操作。
例如,視頻處理器可以停止解碼視頻并且輸出在解碼處理中導(dǎo)致的錯誤??梢詫㈠e誤信息報告給視頻處理器的上層系統(tǒng)級,例如應(yīng)用或視頻播放器級。視頻處理器可以從上層系統(tǒng)級接收關(guān)于針對該錯誤的隨后操作的指令,或者執(zhí)行默認(rèn)操作。
視頻處理器可以輸出該錯誤并且隨后解碼前導(dǎo)圖片之后的可解碼圖片。
可替選地,視頻處理器可以確定當(dāng)用于前導(dǎo)圖片的至少一個參考圖片不可用時該比特流不可滿足預(yù)定比特流一致性。
即,當(dāng)發(fā)現(xiàn)不能正常解碼的圖片時,視頻處理器可以確定該比特流不滿足預(yù)定比特流一致性,并且即使關(guān)于前導(dǎo)圖片的標(biāo)志信息未被接收也執(zhí)行相對應(yīng)的隨后操作。
視頻處理器可以停止解碼處理和輸出在該解碼處理中導(dǎo)致的錯誤??梢詫㈠e誤信息報告給視頻處理器的上層系統(tǒng)級,例如,應(yīng)用或視頻播放器級。視頻處理器可以從上層系統(tǒng)級接收關(guān)于針對該錯誤的隨后操作的指令,或者執(zhí)行默認(rèn)操作。
視頻處理器可以輸出該錯誤并且隨后解碼在前導(dǎo)圖片之后的可解碼圖片。
雖然利用基于流程圖的一系列階段或塊已經(jīng)描述的說明系統(tǒng)的方法,但是本發(fā)明不限于階段的上述順序。以與上述不同的順序或同時執(zhí)行一些階段。此外,應(yīng)該注意的是,因為上述實施例可以包括示例的各種方面,所以實施例的組合可以被理解為本發(fā)明的示例性實施例。因此,本領(lǐng)域的技術(shù)人員將明白,在不脫離本發(fā)明的原理和精神、在隨附權(quán)利要求和它們等同物中所定義的范圍的情形下,可以對這些示例性實施方式進(jìn)行更改、修正和替換。