欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

視頻編碼裝置和方法以及視頻解碼裝置和方法

文檔序號:8001345閱讀:191來源:國知局
視頻編碼裝置和方法以及視頻解碼裝置和方法
【專利摘要】公開了視頻編碼裝置和方法以及視頻解碼裝置和方法。該視頻編碼裝置將解碼延遲校正信息和顯示延遲校正信息附加到經(jīng)編碼的視頻數(shù)據(jù),以便確保即使當(dāng)在視頻數(shù)據(jù)中在編碼順序上遲于有可能能夠被拼接到其它經(jīng)編碼的視頻數(shù)據(jù)的尾端的第一畫面的一個或多個畫面已被丟棄時,經(jīng)編碼的視頻數(shù)據(jù)中的第一畫面和后續(xù)畫面也能由視頻解碼裝置連續(xù)地解碼并顯示。該視頻解碼裝置通過使用解碼延遲校正信息和顯示延遲校正信息來校正第一畫面及其后續(xù)畫面的解碼延遲和顯示延遲。
【專利說明】視頻編碼裝置和方法以及視頻解碼裝置和方法
【技術(shù)領(lǐng)域】
[0001]本文所論述的實施方式涉及在不對經(jīng)編碼的視頻數(shù)據(jù)進行解碼的情況下能夠?qū)λ鲆曨l數(shù)據(jù)進行編輯的視頻解碼編碼裝置和視頻編碼方法,并且還涉及用于對由這種視頻編碼裝置編碼的視頻數(shù)據(jù)進行解碼的視頻解碼裝置和視頻解碼方法。
【背景技術(shù)】
[0002]通常,用于表示視頻數(shù)據(jù)的數(shù)據(jù)的量是非常大的。因此,處理這種視頻數(shù)據(jù)的裝置在將視頻數(shù)據(jù)傳輸至另一裝置之前或者在將視頻數(shù)據(jù)存儲在存儲裝置中之前通過編碼來壓縮視頻數(shù)據(jù)。由國際標準化組織/國際電工委員會(IS0/IEC)提出的諸如MPEG-2 (活動圖像專家組2)、MPEG-4以及H.264MPEG-4高級視頻編碼(MPEG-4AVC/H.264)的編碼標準是如今被廣泛使用的典型編碼標準。
[0003]這種編碼標準采用巾貞間編碼方法(inter-coding method)(通過使用不僅是來自畫面自身的信息而且是來自該畫面之前和之后的畫面的信息來對該畫面進行編碼)和幀內(nèi)編碼方法(intra-coding method)(僅使用要被編碼的畫面中所包含的信息來對畫面進行編碼)。幀間編碼方法使用三種畫面,被稱為經(jīng)幀內(nèi)編碼的畫面(I畫面)、通常根據(jù)過去的畫面來預(yù)測的前向預(yù)測出的畫面(P畫面)以及通常根據(jù)過去和未來的畫面來預(yù)測的雙向預(yù)測出的畫面(B畫面)。
[0004]通常,通過幀間編碼來編碼的畫面或塊的代碼量小于通過幀內(nèi)編碼來編碼的畫面或塊的代碼量。這樣,根據(jù)所選擇的編碼模式,在同樣的視頻序列內(nèi)代碼量因畫面不同而不同。類似地,根據(jù)所選擇的編碼模式,在同樣的畫面內(nèi)代碼量因塊不同而不同。因此,為了即使在代碼量按時間變化的情況下也能在恒定的傳輸速率下使包含經(jīng)編碼的視頻的數(shù)據(jù)流能被傳輸,在傳輸端提供用于緩沖數(shù)據(jù)流的傳輸緩沖器并且在接收端提供用于緩沖數(shù)據(jù)流的接收緩沖器。
[0005]MPEG-2和MPEG-4AVC/H.264均分別定義了在被稱為視頻緩沖驗證器(VBV)或編碼圖像緩沖區(qū)(CPB)的理想化視頻解碼裝置中的接收緩沖器的性能。為了方便,理想化視頻解碼裝置在下文中將簡稱為理想化解碼器。規(guī)定理想化解碼器執(zhí)行不花時間地解碼的即時解碼。例如,日本特開專利申請第2003-179938號公開了一種關(guān)于VBV的視頻編碼器控制方法。
[0006]為了理想化解碼器中的接收緩沖器不會上溢出或下溢出,當(dāng)理想化解碼器對給定畫面進行解碼時,視頻編碼器控制代碼的量以保證在接收緩沖器中能獲得用以解碼給定畫面所需的所有數(shù)據(jù)。
[0007]當(dāng)視頻編碼器以恒定的傳輸速率傳輸經(jīng)編碼的視頻數(shù)據(jù)流時,如果一直到畫面要被視頻解碼器解碼并顯示時解碼該畫面所需的數(shù)據(jù)的傳輸還沒有完成,則接收緩沖器會下溢出。換言之,接收緩沖器下溢出指這樣的情況,其中,在視頻解碼器的接收緩沖器中不能獲得解碼該畫面所需的數(shù)據(jù)。如果這種情況發(fā)生,則視頻解碼器不能執(zhí)行解碼并且出現(xiàn)跳幀。[0008]鑒于此,視頻解碼器將該數(shù)據(jù)流從其接收時間起延遲了預(yù)定的時間之后再顯示該畫面,使得可在不造成接收緩沖器下溢出的情況下進行解碼。如之前所描述的,規(guī)定了理想化解碼器完成不花時間的解碼。結(jié)果,如果輸入至視頻編碼器的第i個畫面的輸入時間是t(i)并且第i個畫面在理想化解碼器的解碼時間是tr(i),則畫面為顯示做好準備的最早時間與tr(i) 一樣,由于對于任何畫面而言畫面顯示周期{t(i+l)-t(i)}等于{tr(i+l)-tr(i)},所以解碼時間被給出為tr (i) =t (i)+dly,即,該時間從輸入時間t(i)開始被延遲了固定的時間dly。這意味著,視頻編碼器在時間tr(i)之前必須完成解碼所需所有數(shù)據(jù)至接收緩沖器的傳輸。
[0009]參考圖1,將給出接收緩沖器如何操作的描述。在圖1中,橫坐標表示時間,縱坐標表示接收緩沖器的緩沖器占用率。實折線100描繪了作為時間的函數(shù)的緩沖器占用率。
[0010]接收緩沖器的緩沖器占用率以同步于規(guī)定的傳輸速率的速率進行恢復(fù),并且在畫面的解碼時間從緩沖器取回用于解碼每個畫面的數(shù)據(jù)。第i個畫面的數(shù)據(jù)在時間at (i)開始被輸入至接收緩沖器,而第i個畫面的最后的數(shù)據(jù)在時間ft (i)被輸入。理想化解碼器在時間tr(i)完成第i個畫面的解碼,因此第i個畫面在tr(i)為顯示做好準備。然而,如果數(shù)據(jù)流包含B畫面,第i個畫面的實際顯示時間可能由于出現(xiàn)畫面重新排序(改變編碼順序)而變得遲于tr(i)。
[0011]下面將詳細描述描述了 MPEG-4AVC/H.264中的每個畫面的解碼時間和顯示時間的方法。
[0012]在MPEG-4AVC/H.264中,在補充增強信息(SEI)消息中描述了與像素的解碼并不直接相關(guān)的的補充信息。定義了幾十種SEI消息類型,每種類型由payloadType(有效載荷類型)參數(shù)來標識。SEI被附加到每個畫面。
[0013]BPSEI(緩沖期間SEI)作為一種類型的SEI被附加到獨立畫面,S卩,無需任何之前的畫面就能被解碼的畫面(通常,I畫面)。在BPSEI中描述了參數(shù)InitialCpbRemovalDelay。InitialCpbRemovalDelay參數(shù)指示被附加了 BPSEI的畫面的第一位的到達接收緩沖器的時間與被附加了 BPSEI的畫面的解碼時間之間的差。該差的分辨率是90kHz。第一畫面的解碼時間tr(0)是經(jīng)編碼的視頻數(shù)據(jù)的第一位的到達視頻解碼器的時間(該時間被指定為O);即,解碼時間從時間O開始被延遲了等于InitialCpbRemovalDelay + 90, 000[秒]的時間量。
[0014]通常,PTSEI(畫面定時SEI)作為一種類型的SEI被附加到每個畫面。在PTSEI中描述了參數(shù) CpbRemovalDelay 和 DpbOutputDelay。CpbRemovalDelay 參數(shù)指不前一被附加了BPSEI的畫面的解碼時間與被附加了 PTSEI的畫面的解碼時間之間的差。DpbOutputDelay參數(shù)指示被附加了 PTSEI的畫面的解碼時間與該畫面的顯示時間之間的差。這些差的分辨率是一域畫面間隔。因此,當(dāng)畫面是一個巾貞時,參數(shù)CpbRemovalDelay和DpbOutputDelay中的每一個的值是2的倍數(shù)。
[0015]第二個以及后續(xù)畫面的解碼時間tr⑴從第一畫面的解碼時間tr (O)開始被延遲了等于 tc * CpbRemovalDelay (i)[秒]的時間量。CpbRemovalDelay (i)是被附加到第 i個畫面的CpbRemovalDelay。另一方面,tc是畫面間時間間隔[秒];例如,在29.97Hz漸進視頻的情況中,tc是1001/60000。
[0016]包括被附加了 BPSEI的畫面的多個畫面中的每一個的顯示時間從tr(i)被延遲了等于tc * CpbRemovalDelay (i)的時間量。CpbRemovalDelay (i)是被附加到第i個畫面的CpbRemovalDelay。換言之,在時間tr(0)之后,在等于tc的整數(shù)倍的時間解碼并顯示每個畫面。
[0017]基于視頻數(shù)據(jù)的目的,可對經(jīng)編碼的視頻進行編輯。編輯經(jīng)編碼的視頻涉及將編碼的視頻數(shù)據(jù)劃分成更小的部分并將它們進行拼接(splicing)以產(chǎn)生新的經(jīng)編碼的視頻數(shù)據(jù)流。例如,另一視頻數(shù)據(jù)流(例如,廣告)插入進當(dāng)前廣播視頻流(即,拼接)是編輯的一個實例。
[0018]當(dāng)編輯經(jīng)幀間預(yù)測性編碼的視頻時,尤其是在經(jīng)幀間編碼的畫面的情況下,經(jīng)編碼的畫面不能通過其自身被正確地解碼。因此,當(dāng)將兩個經(jīng)編碼的視頻數(shù)據(jù)流拼接在期望的畫面位置時,經(jīng)編碼的視頻數(shù)據(jù)編輯器首先將要被拼接的兩個經(jīng)編碼的視頻數(shù)據(jù)流解碼,然后基于經(jīng)解碼的一個接一個畫面將它們進行拼接,之后對拼接視頻數(shù)據(jù)進行重新編碼。
[0019]然而,由于重新編碼會是非常麻煩,尤其,在諸如拼接的實時處理的情況中,一般要限制拼接點并且通過消除重新編碼的需要來直接編輯編碼的視頻。當(dāng)在無需重新編碼的情況下通過編輯來拼接兩個經(jīng)編碼的視頻數(shù)據(jù)流時,要被拼接在時間下游側(cè)的經(jīng)編碼的視頻數(shù)據(jù)流的第一畫面必須是I畫面。此外,要被拼接在時間下游側(cè)的經(jīng)編碼的視頻數(shù)據(jù)流的GOP結(jié)構(gòu)受限于所謂的緊湊GOP結(jié)構(gòu),其中跟隨起始I畫面的所有畫面在不參考在時間上在起始I畫面之前的任何畫面的情況下是可被解碼的,這就有可能通過在期望的拼接點進行編輯來對被拼接在下游側(cè)的經(jīng)編碼的視頻數(shù)據(jù)流的起始I畫面之后的所有畫面進行正確地解碼。
[0020]然而,由于緊湊GOP結(jié)構(gòu)的編碼效率低于非緊湊GOP結(jié)構(gòu)的編碼效率,所以可采用非緊湊GOP結(jié)構(gòu)。在此情形中,拼接點之后的緊跟起始I畫面的一些畫面不能被正確解碼,但是由于這些畫面在顯示順序上在起始I畫面之前,如果它們不被顯示就不會有問題。因此,作為通常的做法,在顯示了時間上在前的經(jīng)編碼的視頻數(shù)據(jù)流的最后畫面之后,視頻解碼器執(zhí)行諸如凍結(jié)顯示的處理,由此掩蓋未能被正確解碼的畫面的顯示。
[0021]在現(xiàn)有技術(shù)中,即使在不重新編碼的情況下編輯經(jīng)幀間預(yù)測性編碼的視頻數(shù)據(jù)時,還編輯頭(header)信息,使得在拼接在一起的兩個經(jīng)編碼的視頻數(shù)據(jù)流之間不出現(xiàn)矛盾。例如,在MPEG-4AVC/H.264中,POC (圖像序列號)和幀編號(FrameNum)被附加到片頭,以保持畫面間的時間關(guān)系并且標識參考畫面。POC指示畫面的相關(guān)顯示順序。幀編號是每次參考畫面出現(xiàn)在經(jīng)編碼的視頻中時就被加I的值。由于POC值和幀編號值在拼接的兩個經(jīng)編碼的視頻數(shù)據(jù)流之間必須是連續(xù)的,所以需要對要被拼接在時間在前的經(jīng)編碼的視頻數(shù)據(jù)流的下游側(cè)的經(jīng)編碼的視頻數(shù)據(jù)流中的所有POC值和幀編號進行編輯。
[0022]另一方面,在非專利文獻JCTVC-11003 ("High-Efficiency Video Coding (HEVC)text specification Working Draft7, 〃Joint Collaborative Team on Video Coding ofITU-T SG16WP3and IS0/IEC JTC1/SC29/WG11, May2012)中所公開的方法中,由于已引入了用于標識參考畫面的新方法,所以廢除了幀編號。此外,由于被拼接在下游側(cè)的經(jīng)編碼的視頻數(shù)據(jù)流的第一畫面的POC值關(guān)于被拼接在上游側(cè)的經(jīng)編碼的視頻數(shù)據(jù)流無需具有連續(xù)性,所以無需編輯片頭。在上面的非專利文獻中所公開的方法中,除了在MPEG-4AVC/H.264中定義的IDR(即時解碼刷新(Instantaneous Decoding Refresh))畫面之外,還引入了 CRA(凈隨機存取(Clean Random Access))畫面、BLA (斷開鏈路存取(Broken Link Access))畫面以及TFD (被標記用于丟棄(Tagged For Discard))畫面作為新畫面類型。
[0023]在這些畫面中,CRA畫面和BLA畫面都是獨立畫面,S卩,不用參考任何其它畫面的畫面,因此,可正確地解碼CRA畫面或BLA畫面之后的畫面。例如,當(dāng)視頻解碼器開始從CRA畫面開始的解碼時,可正確地解碼除了緊跟CRA畫面的TFD畫面以外的任何后續(xù)畫面。
[0024]TFD畫面是這樣的畫面,即,緊跟CRA畫面或BLA畫面出現(xiàn)并且參考在時間順序上和解碼順序上早于CRA畫面或BLA畫面出現(xiàn)的畫面。在符合MPEG-2的非緊湊GOP結(jié)構(gòu)的情況下,在GOP頭部的緊跟I畫面的多個B畫面均對應(yīng)于TFD畫面。
[0025]作為編輯經(jīng)編碼的視頻數(shù)據(jù)的結(jié)果產(chǎn)生BLA畫面。在拼接的兩個經(jīng)編碼的視頻數(shù)據(jù)流中,拼接在下游側(cè)的經(jīng)編碼的視頻數(shù)據(jù)流通常以CRA畫面開始,但是如果此CRA畫面出現(xiàn)在拼接的經(jīng)編碼的視頻數(shù)據(jù)的中間,則其畫面類型從CRA畫面改變?yōu)锽LA畫面。在上面的非專利文中所公開的方法中,當(dāng)BLA畫面出現(xiàn)時,允許POC值變得不連續(xù)。此外,從被拼接的經(jīng)編碼的視頻數(shù)據(jù)中的任何點不能正確地解碼緊跟此BLA畫面的TFD畫面,是因為從被拼接的經(jīng)編碼的視頻流丟失了要被其參考的畫面。因此,視頻編碼器可從經(jīng)編碼的視頻數(shù)據(jù)刪除要被拼接在下游側(cè)的經(jīng)編碼的視頻數(shù)據(jù)流頭部的BLA畫面之后的任何TFD畫面。

【發(fā)明內(nèi)容】

[0026]在上述的非專利文獻中所公開的方法中,如在MPEG-4AVC/H.264中,每個經(jīng)編碼的畫面的解碼時間和顯不時間通過利用參數(shù)InitialCpbRemovalDelay、CpbRemovalDelay以及DpbOutputDelay來確定。當(dāng)拼接兩個經(jīng)編碼的視頻數(shù)據(jù)流時,拼接點之后的畫面的參數(shù)CpbRemovalDelay和DpbOutputDelay需要被校正為適當(dāng)?shù)闹?,以便確??缙唇狱c的連續(xù)的視頻解碼和顯示。
[0027]更具體地,視頻編碼器或視頻解碼器需要基于時間上在前的經(jīng)編碼的視頻數(shù)據(jù)流中的最后的被附加了 BPSEI的畫面之后的畫面的數(shù)目來校正被拼接在下游側(cè)的經(jīng)編碼的視頻數(shù)據(jù)流的前面的CRA畫面的CpbRemovalDelay的值。此外,視頻編碼器或視頻解碼器中的值增長以便確保CPB的緩沖器的連續(xù)性。此外,當(dāng)丟棄要被拼接在下游側(cè)的經(jīng)編碼的視頻數(shù)據(jù)流中的TFD畫面時,視頻編碼器或視頻解碼器需要校正在丟棄TFD畫面之后要被校正的畫面的CpbRemovalDelay的值以及拼接點之后的第一 CRA畫面的DpbOutputDelay的值。
[0028]因此,在上面的非專利文獻中所公開的方法中,當(dāng)為了拼接兩個經(jīng)編碼的視頻數(shù)據(jù)流而執(zhí)行編輯操作時仍需要校正PTSEI的內(nèi)容。
[0029]因此,本發(fā)明的一個目的是提供在拼接兩個經(jīng)幀間預(yù)測性編碼的視頻數(shù)據(jù)流時在不編輯原始的經(jīng)編碼的視頻數(shù)據(jù)的頭中的參數(shù)的情況下能確保連續(xù)的視頻解碼處理和顯示處理的一種運動視頻編碼裝置和運動視頻解碼裝置。
[0030]根據(jù)一種實施方式,提供了一種用于通過幀間預(yù)測性編碼來對視頻數(shù)據(jù)進行編碼的視頻編碼裝置。該視頻編碼裝置包括:編碼控制單元,其獲得解碼延遲校正信息和顯示延遲校正信息,以便確保即使當(dāng)在視頻數(shù)據(jù)中在編碼順序上遲于有可能能夠被拼接到其它經(jīng)編碼的視頻數(shù)據(jù)的尾端的第一畫面的一個或多個畫面已被丟棄時,經(jīng)編碼的視頻數(shù)據(jù)中的第一畫面和后續(xù)畫面也能由視頻解碼裝置連續(xù)地解碼并顯示;以及畫面編碼單元,其對視頻數(shù)據(jù)中所包含的每個畫面進行編碼并將解碼延遲校正信息和顯示延遲校正信息附加到經(jīng)編碼的視頻數(shù)據(jù)。
[0031]根據(jù)另一實施方式,提供了一種用于通過幀間預(yù)測性編碼來對經(jīng)編碼的視頻數(shù)據(jù)進行解碼的視頻解碼裝置。該視頻解碼裝置包括:畫面解碼/顯示時間確定單元,其當(dāng)經(jīng)編碼的視頻數(shù)據(jù)包含指示經(jīng)編碼的視頻數(shù)據(jù)已通過將第二經(jīng)編碼的視頻數(shù)據(jù)拼接到第一經(jīng)編碼的視頻數(shù)據(jù)的尾端而被產(chǎn)生的信息、指示在第一經(jīng)編碼的視頻數(shù)據(jù)和第二經(jīng)編碼的視頻數(shù)據(jù)被拼接于的拼接點之后的、第二經(jīng)編碼的視頻數(shù)據(jù)中的在編碼順序上遲于起始的經(jīng)編碼的畫面的一個或多個經(jīng)編碼的畫面已被丟棄的信息、用于對跟隨起始的經(jīng)編碼的畫面的畫面的解碼延遲進行校正的解碼延遲校正信息、以及用于對起始的經(jīng)編碼的畫面的顯示延遲進行校正的顯示延遲校正信息時,則基于顯示延遲校正信息來對起始的經(jīng)編碼的畫面的顯示延遲進行校正,同時基于解碼延遲校正信息來對跟隨起始的經(jīng)編碼的畫面的畫面的解碼延遲進行校正。
【專利附圖】

【附圖說明】
[0032]圖1是示出接收緩沖器的緩沖器占用率與顯示時間之間的關(guān)系的示圖。
[0033]圖2是示出視頻數(shù)據(jù)中所包含的各種畫面的顯示順序和解碼順序與解碼延遲之間的關(guān)系以及各個畫面的顯示延遲值的示圖。
[0034]圖3是用于解釋當(dāng)兩個經(jīng)編碼的視頻數(shù)據(jù)流被拼接時拼接點之后的畫面的解碼延遲和顯示延遲值的示圖。
[0035]圖4是用于解釋在根據(jù)第一實施方式的經(jīng)編碼的視頻中的一個畫面的數(shù)據(jù)結(jié)構(gòu)的示圖。
[0036]圖5是根據(jù)第一實施方式的視頻編碼裝置的簡化框圖。
[0037]圖6是根據(jù)第一實施方式的視頻編碼處理的操作流程圖。
[0038]圖7是根據(jù)第一實施方式的視頻編輯處理的操作流程圖。
[0039]圖8是根據(jù)第一實施方式的視頻解碼裝置的簡化框圖。
[0040]圖9是根據(jù)第一實施方式的視頻解碼處理的操作流程圖。
[0041]圖10是用于解釋在根據(jù)第二實施方式的經(jīng)編碼的視頻中的一個畫面的數(shù)據(jù)結(jié)構(gòu)的示圖。
[0042]圖11是用于解釋當(dāng)兩個經(jīng)編碼的視頻數(shù)據(jù)流被拼接時并且當(dāng)被拼接在拼接點的上游的經(jīng)編碼的視頻數(shù)據(jù)流中已丟棄了在顯示順序上在該拼接點之前的畫面時在該拼接點之后畫面的解碼延遲和顯示延遲值的示圖。
[0043]圖12是用于解釋當(dāng)被拼接在拼接點的下游的經(jīng)編碼的視頻數(shù)據(jù)流中要重新排序的畫面的數(shù)目小于被拼接在拼接點的上游的經(jīng)編碼的視頻數(shù)據(jù)流中要重新排序的畫面的畫面時在拼接點之后的畫面的延遲和顯示延遲值的示圖。
[0044]圖13是用于解釋當(dāng)被拼接在拼接點的上游的經(jīng)編碼的視頻數(shù)據(jù)流中要重新排序的畫面的數(shù)目小于被拼接在拼接點的下游的經(jīng)編碼的視頻數(shù)據(jù)流中要重新排序的畫面的數(shù)目時拼接點之后的畫面的解碼延遲和顯示延遲值的示圖。
[0045]圖14是用于解釋在根據(jù)第五實施方式的經(jīng)編碼的視頻中的一個畫面的數(shù)據(jù)結(jié)構(gòu)的示圖。[0046]圖15是用于解釋在根據(jù)第六實施方式的經(jīng)編碼的視頻中的一個畫面的數(shù)據(jù)結(jié)構(gòu)的示圖。
[0047]圖16是用于解釋在根據(jù)第七實施方式的經(jīng)編碼的視頻中的一個畫面的數(shù)據(jù)結(jié)構(gòu)的示圖。
[0048]圖17是示出通過執(zhí)行用于實現(xiàn)根據(jù)實施方式或其變形例中的任何一個的視頻編碼裝置或視頻解碼裝置中的各個單元的功能的計算機程序來作為視頻編碼裝置或視頻解碼裝置操作的計算機的構(gòu)造的示圖。
【具體實施方式】
[0049]下面將參考附圖描述根據(jù)各種實施方式的視頻編碼裝置和視頻解碼裝置。當(dāng)兩個經(jīng)編碼的視頻數(shù)據(jù)流在不對其進行解碼的情況下被拼接時,視頻編碼裝置計算待用于校正指示拼接點之后出現(xiàn)的每個畫面的解碼時間和顯示時間的參數(shù)的值,并在拼接點之后出現(xiàn)的每個畫面的頭信息中添加該值。以這種方式,視頻編碼裝置消除了當(dāng)拼接兩個經(jīng)編碼的視頻數(shù)據(jù)流時對原始的經(jīng)編碼的視頻數(shù)據(jù)的頭中的參數(shù)進行編輯的需要。
[0050]在本實施方式中,畫面是幀。然而,該畫面可不限于幀,而可以是域(field)。幀指視頻數(shù)據(jù)中一個完整的靜態(tài)圖像,而域指通過從一個幀提取僅在奇數(shù)行或偶數(shù)行中的數(shù)據(jù)而獲得的靜態(tài)圖像。該經(jīng)編碼的視頻數(shù)據(jù)可以是彩色視頻數(shù)據(jù)或黑白視頻數(shù)據(jù)。
[0051]首先,參考圖2,將通過將一個畫面編碼結(jié)構(gòu)(picture coding structure)作為實例來描述根據(jù)第一實施方式的畫面解碼延遲CpbRemovalDelay和顯示延遲DpbOutputDelay 的值。
[0052]在圖2中,作為畫面編碼結(jié)構(gòu)的一個實例的畫面編碼結(jié)構(gòu)201包含多個畫面。畫面編碼結(jié)構(gòu)201中的每個塊表示一個畫面。對應(yīng)于每個畫面的塊中所攜帶的兩個字符中,在左邊的字母字符指示應(yīng)用于該畫面的編碼模式。字符1、P、B分別意味著I畫面、P畫面和B畫面。在每個塊中所攜帶的兩個字符中,右邊的數(shù)字指示輸入至視頻編碼裝置的順序。該輸入順序與其中畫面從視頻解碼裝置被輸出的順序一致。在畫面編碼結(jié)構(gòu)201上面描繪的每個箭頭指示要通過前向幀預(yù)測來編碼的畫面所參考的參考畫面。例如,畫面P4參考比畫面P4出現(xiàn)早的畫面10。另一方面,在畫面編碼結(jié)構(gòu)201下面描繪的每個箭頭指示要通過后向幀預(yù)測來編碼的畫面所參考的參考畫面。例如,畫面B2參考遲于畫面B2出現(xiàn)的畫面P4。
[0053]表示在畫面編碼結(jié)構(gòu)201的下面的畫面序列是畫面編碼結(jié)構(gòu)201中所包含的畫面的解碼順序202。解碼順序202中的每個塊表示一個畫面,并且與在畫面編碼結(jié)構(gòu)201的情況一樣,塊中攜帶的字符指示編碼模式和輸入至視頻編碼裝置的順序。解碼順序202與通過視頻編碼裝置執(zhí)行的編碼的順序一致。
[0054]在解碼順序202中,BPSEI被附加到下面攜帶了標記“BPSEI ”的每個畫面。在示出的實例中,BPSEI被附加到每個I畫面。換言之,對于每個I畫面,定義了InitialCpbRemovalDelay參數(shù),其指示I畫面的第一個位到達接收緩沖器的時間與I畫面的解碼時間之間的差。
[0055]在解碼順序202的下面表示的塊陣列203指示附加到每個畫面的PTSEI中所攜帶的CpbRemovalDelay和DpbOutputDelay的值。塊陣列203的上部行中的每個塊攜帶了位于該塊正上方的解碼順序202中的對應(yīng)畫面的CpbRemovalDelay值。同樣,塊陣列203的下部行中的每個塊攜帶了位于該塊正上方的解碼順序202中的對應(yīng)畫面的DpbOutputDelay值。CpbRemovalDelay對應(yīng)于從BPSEI被附加到的畫面當(dāng)中的在編碼順序上最新近的畫面算起時的編碼順序。例如,當(dāng)從畫面IO算起時,畫面P8在編碼順序上是第五個畫面。在本實施方式中,由于每個畫面是一個幀,并且畫面間時間間隔tc是以域為單位表示的值,所以畫面P8的CpbRemovalDelay值被給出為10 (=5 * 2)。
[0056]另一方面,DpbOutputDelay規(guī)定了視頻解碼裝置中所需的以按照正確的順序連續(xù)地輸出畫面的顯示延遲。例如,畫面P4的DpbOutputDelay值是10。這是正確顯示畫面BI(它的在視頻編碼裝置中的輸入順序與編碼順序之間的差是最大)所需的時間。換言之,由于畫面BI以P4之后的兩個畫面被解碼的延遲來解碼,所以畫面P4的顯示時間必須從畫面BI為顯示做好準備的最早時間(即,畫面BI被解碼的時間)被進一步延遲三個畫面時間。由于畫面P4的解碼時間與顯示時間之間的差等于5個畫面時間,并且由于tc以域為單位來表示,所以DpbOutputDelay的值被給出為10。
[0057]接下來,參考圖3,將給出當(dāng)兩個經(jīng)編碼的視頻數(shù)據(jù)被拼接時為了消除在兩個經(jīng)編碼的視頻數(shù)據(jù)流的拼接點之前和之后在解碼延遲和顯示延遲上的任何差別被拼接在拼接點的下游的經(jīng)編碼的視頻數(shù)據(jù)流的每個畫面的解碼延遲CpbRemovalDe I ay和顯示延遲DpbOutputDelay可采用的值的解釋。
[0058]拼接在拼接點的上游的第一經(jīng)編碼的視頻數(shù)據(jù)流301中的每個塊表示一個畫面,并且塊中所攜帶的字符指示編碼模式和輸入至視頻編碼裝置的順序,與圖2中的情況一樣。在所示出的實例中,第一經(jīng)編碼的視頻數(shù)據(jù)流301的編碼結(jié)構(gòu)與圖2中描繪的編碼結(jié)構(gòu)相同。
[0059]在所示出的實例中,緊跟第一經(jīng)編碼的視頻數(shù)據(jù)流的最后畫面B15拼接了第二視頻數(shù)據(jù)流302。在第二視頻數(shù)據(jù)流302中,同樣,每個塊表示一個畫面,并且塊中所攜帶的字符指示編碼模式和輸入至視頻編碼裝置的順序。第二經(jīng)編碼的視頻數(shù)據(jù)流302的編碼結(jié)構(gòu)也與在圖2中描繪的編碼結(jié)構(gòu)201相同。在所示出的實例中,第二經(jīng)編碼的視頻數(shù)據(jù)流302中的畫面172和后續(xù)的畫面被拼接,從而在第一經(jīng)編碼的視頻數(shù)據(jù)流中的畫面B15之后。
[0060]在第二經(jīng)編碼的視頻數(shù)據(jù)流302的下面表示的塊陣列303指示被附加到第二經(jīng)編碼的視頻數(shù)據(jù)流302的每個畫面的PTSEI中所攜帶的解碼延遲CpbRemovalDelay和顯示延遲DpbOutputDelay的值。在塊陣列303的上部行中的每個塊攜帶位于該塊正上方的第二經(jīng)編碼的視頻數(shù)據(jù)流302中的對應(yīng)畫面的解碼延遲CpbRemovalDelay的值。同樣,塊陣列303的下部行中的每個塊攜帶了位于該塊正上方的第二解碼視頻數(shù)據(jù)流302中的對應(yīng)畫面的顯示延遲DpbOutputDelay的值。
[0061]在塊陣列303下面描繪了通過拼接第一經(jīng)編碼的視頻數(shù)據(jù)流301和第二經(jīng)編碼的視頻數(shù)據(jù)流302產(chǎn)生的被拼接的經(jīng)編碼的視頻數(shù)據(jù)304。在示出的實例中,在被拼接的經(jīng)編碼的視頻數(shù)據(jù)304中不包含第二經(jīng)編碼的視頻數(shù)據(jù)流302中的畫面B67以及編碼順序在畫面B67之前的畫面。此外,畫面B70、B69以及B71均參考編碼順序上在畫面171之前的畫面168。結(jié)果,當(dāng)數(shù)據(jù)被拼接在畫面172處時,畫面B70、B76以及B71將變得不能被正確再現(xiàn)。因此,當(dāng)拼接數(shù)據(jù)時將畫面B70、B76以及B71丟棄。然而,畫面B70、B76以及B71可以不被丟棄并可保留在被拼接的經(jīng)編碼的視頻數(shù)據(jù)中。[0062]塊陣列305指示應(yīng)具有的被拼接的經(jīng)編碼的視頻數(shù)據(jù)304中的畫面I72、P76、B74、B73以及B75的解碼延遲CpbRemovalDelay和顯示延遲DpbOutputDelay的值。在塊陣列305的上部行中的每個塊攜帶位于該塊正上方的被拼接的經(jīng)編碼的視頻數(shù)據(jù)304中的對應(yīng)畫面的解碼延遲CpbRemovalDelay的值。同樣,塊陣列305的下部行中的每個塊攜帶了位于該塊正上方的被拼接的經(jīng)編碼的視頻數(shù)據(jù)304中的對應(yīng)畫面的顯示延遲DpbOutputDelay的值。拼接之后畫面172的解碼延遲CpbRemovalDelay需要與關(guān)于畫面112 (其是具有前面最新近的BPSEI的畫面)的經(jīng)編碼的畫面間隔相匹配。在所示的實例中,從畫面112算起時,畫面172在編碼順序上是第八個畫面,因此解碼延遲CpbRemovalDelay被給出為16。畫面172的解碼延遲DpbOutputDelay還需被校正,使得遲于畫面172解碼的畫面B73能被正確地顯示。畫面172的顯示延遲DpbOutputDelay的值在丟棄畫面B70、B69以及B71之前和之后是不同的。在丟棄畫面B70、B69以及B71之后的顯示延遲DpbOutputDelay的值對應(yīng)于比畫面B69遲輸入至視頻編碼裝置但是編碼比畫面B69早的畫面的數(shù)目。在所示的實例中,存在兩個這樣的畫面,畫面172和B70,因此畫面172的顯示延遲被給出為4。
[0063]畫面P76、B74、B73以及B75中每個的解碼延遲CpbRemovalDelay的值在丟棄畫面B70、B69、以及B71之前和之后也是不同的。畫面P76、B74、B73以及B75中每個的解碼延遲CpbRemovalDelay的值在丟棄畫面B70、B69、以及B71之后等于從丟棄畫面之前的解碼延遲CpbRemovalDelay的值減去對應(yīng)于被丟棄的畫面的數(shù)目的值而獲得的值。在所示的實例中,通過從各個信號的解碼延遲CpbRemovalDelay的原始值減去6,畫面P76、B74、B73以及B75的解碼延遲CpbRemovalDelay的值被分別給出為2、4、6、8。畫面P76、B74、B73以及B75中每一個的顯示延遲DpbOutputDelay的值保持不變。此外,在被拼接的經(jīng)編碼的視頻數(shù)據(jù)中,對于遲于改變?yōu)榈谝?CRA畫面的畫面輸入的任何畫面,既無需校正編碼延遲DpbOutputDelay,也無需校正顯示延遲 DpbOutputDelay。
[0064]如上所述,當(dāng)兩個經(jīng)編碼的視頻數(shù)據(jù)流被拼接在一起時,需要在解碼時校正被拼接在拼接點的下游的經(jīng)編碼的視頻數(shù)據(jù)流中所包含的某些畫面的解碼延遲CpbRemovalDelay和顯示延遲DpbOutputDelay的值。在本實施方式中,視頻編碼裝置在經(jīng)編碼的視頻數(shù)據(jù)的頭中添加當(dāng)視頻解碼裝置對被拼接的經(jīng)編碼的視頻數(shù)據(jù)進行解碼時可被用于將解碼延遲CpbRemovalDelay和顯示延遲DpbOutputDelay的值改變?yōu)檫m當(dāng)值的參數(shù),而不是校正拼接之前原始的經(jīng)編碼的視頻數(shù)據(jù)中所包含的受影響畫面的解碼延遲CpbRemovalDelay 和顯不延遲 DpbOutputDelay 的值。
[0065]接下來,參考圖4,將描述根據(jù)第一實施方式的包含可被用于將解碼延遲CpbRemovalDelay和顯示延遲DpbOutputDelay的值改變?yōu)檫m當(dāng)值的參數(shù)的經(jīng)編碼的視頻數(shù)據(jù)的結(jié)構(gòu)。
[0066]如圖4中所描繪的,一個畫面的數(shù)據(jù)結(jié)構(gòu)400包含六種網(wǎng)絡(luò)提取層(NAL)單元410至415。這些NAL單元410至415均符合在MPEG-4AVC/H.264中定義的NAL單元以及在非專利文獻 JCTVC-11003 ("High-Efficiency Video Coding (HEVC) text specificationWorking Draft7, 〃Joint Collaborative Team on Video Coding of ITU-T SG16WP3andIS0/IEC JTCl/SC29/WGll,May2012)中公開的方法。頭NUH420被附加到每個NAL單元。頭NUH420包含指示NAL單元的類型的NalUnitType字段。當(dāng)NalUnitType是4時,此頭被附加到的畫面是自含式CRA畫面,緊接在其之后出現(xiàn)參考在時間順序上以及解碼順序上在CRA畫面之前的畫面的TFD畫面。當(dāng)NalUnitType是5時,此頭被附加到的畫面是CRA畫面,緊接在其之后不出現(xiàn)TFD畫面。當(dāng)NalUnitType是6時,此頭被附加到的畫面是緊跟拼接點并且被TFD畫面緊跟的自含式BLA畫面。當(dāng)NalUnitType是7時,此頭被附加到的畫面是BLA畫面,緊接在其之后不出現(xiàn)TFD畫面。每個畫面的NalUnitType不必受限于上面的規(guī)定值,而可以被設(shè)定成某些其它適合值。
[0067]下面將解釋NAL單元。
[0068]NAL單元410是定界符(DEUM) NAL單元并且指示畫面的邊界。
[0069]NAL單元411是序列參數(shù)設(shè)定(SPS)NAL單元,其攜帶經(jīng)編碼的視頻的整個序列所公用的一組參數(shù)。NAL單元411被附加到自含式畫面。
[0070]NAL單元412是畫面參數(shù)設(shè)定(PPS)NAL單元,其攜帶多個經(jīng)編碼的畫面所公用的一組參數(shù)。PPS NAL412被附加到自含式畫面,并且有時可被附加到其它類型的畫面。
[0071]NAL單元413是BPSEI NAL單元,其僅被附加到自含式畫面。在本實施方式中,要被視頻解碼裝置用于校正在拼接點之后出現(xiàn)的每個畫面的解碼延遲和顯示延遲的參數(shù)被添加在此NAL單元413中。
[0072]NAL單元414是PTSEI NAL單元,其被附加到每個畫面。
[0073]NAL單元415是拼接(SLICE) NAL單元,其是經(jīng)編碼的畫面的內(nèi)容。
[0074]根據(jù)本實施方式的BPSEINAL單兀413包含多個(N+l)InitialCpbRemovalDelay/InitialCpbRemovalDelayOffset字段對(其中N是不小于O的整數(shù))和在這些對后面的RapCpbParamsPresentFlag 字段。當(dāng) RapCpbParamsPresentFlag 是 I 時,BPSEI NAL 單兀413中還包含用于校正解碼延遲的解碼延遲校正信息AltCpbRemovalDelayOffset字段431和用于校正顯示延遲的顯示延遲校正信息AltDpbOutputDelay字段413。另一方面,當(dāng)RapCpbParamsPresentFlag是I時,BPSEI NAL單元413中既不包含解碼延遲校正信息AltCpbRemovalDelayOffset字段431也不包含顯不延遲校正信息AltDpbOutputDelay字段413。將在后面給出如何確定和使用解碼延遲校正信息AltCpbRemovalDelayOffset字段431和顯示延遲校正信息AltDpbOutputDelay字段413的描述。
[0075]存在不止一個InitialCpbRemovalDelay/InitialCpbRemovalDelayOffset 字段對的原因是描述適合于其中編碼的位流(bit stream)在(N+1)個不同的位速率(bit rate)下被傳輸?shù)那樾蔚?InitialCpbRemovalDelay 和 InitialCpbRemovalDelayOffset 參數(shù)。InitialCpbRemovalDelayOffset參數(shù)定義視頻編碼裝置中的第一畫面的編碼完成時間與傳輸經(jīng)編碼的畫面數(shù)據(jù)至視頻解碼裝置的傳輸?shù)拈_始時間之間差。
[0076]PTSEI NAL 單兀 414 包含解碼延遲 CpbRemovalDelay 字段和 DpbOutputDelay 字段。這些字段的定義可以與在之前引用的非專利文獻中或在MPEG-4AVC/H.264中所公開的方法中所給出定義相同。
[0077]圖5是根據(jù)第一實施方式的視頻編碼裝置的簡化框圖。視頻編碼裝置I包括控制單元11、編碼控制單元12、畫面編碼單元13、拼接點標識信息處理單元14以及數(shù)據(jù)拼接單元15。構(gòu)成視頻編碼裝置I的這些單元均作為單獨的電路被實現(xiàn)在視頻編碼裝置I中??商孢x地,構(gòu)成視頻編碼裝置I的這些單元可以以單個集成電路(其上的實現(xiàn)各個單元的功能的電路被集成)的形式被實現(xiàn)在視頻編碼裝置I中。此外,構(gòu)成視頻編碼裝置I的這些單元可以是通過在視頻編碼裝置I中所合并的處理器上執(zhí)行計算機程序?qū)崿F(xiàn)的功能模塊。[0078]當(dāng)對視頻數(shù)據(jù)進行編碼時或者當(dāng)編輯該經(jīng)編碼的視頻數(shù)據(jù)時,控制單元11控制視頻編碼裝置I的每個指定單元的操作。例如,控制器單元11基于經(jīng)編碼的視頻數(shù)據(jù)所需的再現(xiàn)圖像質(zhì)量、壓縮比等來確定被應(yīng)用于要被編碼的視頻數(shù)據(jù)的GOP結(jié)構(gòu)等。然后,控制單元11將GOP結(jié)構(gòu)等通過信號發(fā)給編碼控制單元12。
[0079]首先,將描述用于對視頻數(shù)據(jù)進行編碼的視頻編碼處理。利用編碼控制單元12和畫面編碼單元13來執(zhí)行視頻編碼處理。
[0080]編碼控制單元12根據(jù)從控制單元11發(fā)過來的GOP結(jié)構(gòu)來確定每個畫面的編碼順序、編碼模式(例如,幀內(nèi)編碼、前向預(yù)測,或后向預(yù)測)等。然后,編碼控制單元12基于每個畫面的編碼模式、在GOP結(jié)構(gòu)內(nèi)的位置等來確定CRA畫面插入間隔、在編碼時要被重新排序的畫面數(shù)目以及最大顯示延遲。在圖2中所示出的實例中,CRA畫面插入間隔是2,要被重新排序的畫面數(shù)目是2,并且最大顯示延遲是5。編碼控制單元12基于這些值產(chǎn)生每個畫面的頭信息。
[0081]例如,如果畫面類型是在不參考任何其它畫面的情況下被編碼的I畫面(CRA畫面),并且如果該畫面不是經(jīng)編碼的視頻數(shù)據(jù)的起始畫面,則當(dāng)要被重新排序的畫面數(shù)目不小于I時,編碼控制單元12將畫面的每個片的NUH420中的NalUnitType設(shè)定為4,其指示該畫面被TFD畫面緊跟。另一方面,當(dāng)要被重新排序的畫面的數(shù)目被設(shè)定為O時,編碼控制單元將畫面的每個片的NUH420中的NalUnitType設(shè)定為5,其指示該畫面未被TFD畫面緊跟。經(jīng)編碼的視頻數(shù)據(jù)的起始畫面的每個片的NUH420中的NalUnitType被設(shè)定為8( IDR畫面)。此外,當(dāng)要被重新排序的畫面的數(shù)目不小于I時,對于緊跟CRA畫面并且參考在解碼順序和顯示順序二者上都早于CRA畫面的畫面的非參考畫面,編碼控制單元12將NalUnitType設(shè)定為2 (TFD畫面)。對于其它畫面,編碼控制單元將NalUnitType設(shè)定為I。
[0082]編碼控制單元12通知畫面編碼單元13關(guān)于要被編碼的畫面的每個片的頭NUH420中已設(shè)定的NalUnitType的值。此外,編碼控制單元12根據(jù)畫面預(yù)測結(jié)構(gòu)獲得每個畫面的PTSET中的解碼延遲CpbRemovalDelay和顯示延遲DpbOutputDelay (如圖2中所示)并且相應(yīng)地通知畫面編碼單元13。
[0083]當(dāng)畫面的每個片的NUH420中的NalUnitType是8、4、5時,編碼控制單元12將BPSEI附加到畫面。然后,當(dāng)NalUnitType是8或5時,編碼控制單元12將RapCpbParamsPresentFlag設(shè)定為O。另一方面,當(dāng)NalUnitType是4時,編碼控制單元12將 RapCpbParamsPresentFlag 設(shè)定為 I。
[0084]此外,編碼控制單元12將用于校正顯示延遲的顯示延遲校正信息AltDpbOutputDelay參數(shù)的值設(shè)定成等于要重新排序的畫面數(shù)目的兩倍,即,在編碼順序上在CRA畫面之后、并且在在解碼順序上最早的畫面的顯示時間與CRA畫面的顯示時間之間出現(xiàn)的畫面的數(shù)目的兩倍。然后,編碼控制單元將用于校正解碼延遲的解碼延遲校正信息AltCpbRemovalDelayOffset參數(shù)的值設(shè)定成等于緊跟CRA畫面的TFD畫面的數(shù)目的兩倍。
[0085]對于每個畫面,編碼控制單元12將編碼模式和畫面的頭信息用信號發(fā)送至畫面編碼單元13,并且發(fā)出對該畫面進行編碼的指令。
[0086]畫面編碼單元13響應(yīng)于來自編碼控制單元12的指令通過采用能夠幀間預(yù)測性編碼的視頻編碼方法中的一種用規(guī)定的編碼模式來編碼該畫面。畫面編碼單元13采用的視頻編碼方法可以是(例如)MPEG-4AVC/H.264或MPEG-2。畫面編碼單元13將包含每個經(jīng)編碼的畫面的經(jīng)編碼的視頻數(shù)據(jù)存儲在存儲單元(未描繪出)中。
[0087]接下來,將描述當(dāng)拼接兩個經(jīng)編碼的視頻數(shù)據(jù)流時執(zhí)行的編輯處理。利用拼接點標識信息處理單元14和數(shù)據(jù)拼接單元15來執(zhí)行編輯處理。
[0088]拼接點標識信息處理單元14經(jīng)由未描繪出的用戶接口單元從存儲單元(未描繪出)讀出所選的這兩個經(jīng)編碼的視頻數(shù)據(jù)流。然而,拼接點標識信息處理單元14根據(jù)未描繪的外部施加的控制信號來標識時間上要被拼接在另一經(jīng)編碼的視頻數(shù)據(jù)流的下游的第二經(jīng)編碼的視頻數(shù)據(jù)流中的拼接點起始畫面。例如,外部控制信號規(guī)定從第二經(jīng)編碼的視頻數(shù)據(jù)流的起點開始的經(jīng)編碼的畫面的數(shù)目,拼接點標識信息處理單元14將這個數(shù)目的經(jīng)編碼的畫面內(nèi)的最遲的CRA畫面作為拼接點畫面。
[0089]對于被標識出的拼接點CRA,如果那個畫面的片的NalUnitType是4,則拼接點標識信息處理單元14將NalUnitType的值改變?yōu)?,其指示該畫面是未被TFD畫面緊跟的BLA畫面。此外,拼接點標識信息處理單元14將第二經(jīng)編碼的視頻數(shù)據(jù)流中的拼接點CRA畫面及其后續(xù)畫面提供給數(shù)據(jù)拼接單元15,并且同時發(fā)出丟棄緊跟拼接點CRA畫面的TFD畫面的指令。
[0090]另一方面,對于被標識出的拼接點CRA畫面,如果該畫面的片的NalUnitType是5,則拼接點標識信息處理單元14將NalUnitType的值改變?yōu)?,其指示該畫面是未被TFD畫面緊跟的BLA畫面。此外,拼接點標識信息處理單元14將第二經(jīng)編碼的視頻數(shù)據(jù)流中的拼接點CRA畫面及其后續(xù)畫面提供給數(shù)據(jù)拼接單元15。然而,在此情形中,拼接點標識信息處理單元14并不發(fā)出以丟棄拼接點CRA畫面之后緊隨的TFD畫面的指令。
[0091]數(shù)據(jù)拼接單元15從拼接點標識信息處理單元14接收第二經(jīng)編碼的視頻數(shù)據(jù)流,并且把它拼接到在時間上要被拼接在拼接點上游的第一經(jīng)編碼的視頻數(shù)據(jù)流的尾端。此時,數(shù)據(jù)拼接單元15從第二經(jīng)編碼的視頻數(shù)據(jù)流中丟棄緊跟其起始畫面并且不能被正確再現(xiàn)的任何TFD畫面。然后,數(shù)據(jù)拼接單元15將通過將第一和第二經(jīng)編碼的視頻數(shù)據(jù)流拼接在一起而創(chuàng)建的被拼接的經(jīng)編碼的視頻數(shù)據(jù)存儲在存儲單元(未描繪出)中。
[0092]圖6是示出通過根據(jù)第一實施方式的視頻編碼裝置執(zhí)行的視頻編碼處理的操作流程圖。視頻編碼裝置I根據(jù)圖6的操作流程圖對要被編碼的整個視頻序列進行編碼。
[0093]在開始這個序列的編碼處理之前,例如,通過控制單元11來確定諸如GOP的畫面預(yù)測結(jié)構(gòu)(步驟S101)。將所確定的畫面預(yù)測結(jié)構(gòu)用信號發(fā)送至編碼控制單元12。
[0094]然后,編碼控制單元12基于畫面預(yù)測結(jié)構(gòu)、根據(jù)視頻數(shù)據(jù)的起點開始的的目標畫面的位置等來確定要被用于對目標畫面進行編碼的編碼模式并且產(chǎn)生要被編碼的目標畫面的頭信息(步驟S102)。
[0095]接下來,編碼控制單元12確定是否目標畫面的片NUH中的NalUnitType是否是4或5或8中的任何一個,或者不是其中之一(步驟S103)。當(dāng)NalUnitType是4時,目標畫面是被TFD畫面跟隨的CRA畫面。當(dāng)包含作為起始畫面的此目標畫面的經(jīng)編碼的視頻數(shù)據(jù)流被拼接在另一經(jīng)編碼的視頻數(shù)據(jù)流的下游側(cè)時,需要在視頻解碼處理過程中校正此目標畫面及其后續(xù)畫面的解碼延遲和顯示延遲值。因此,編碼控制單元12將被附加到此目標畫面的BPSEI中的RapCpbParamsPresentFlag設(shè)定為1(步驟S104)。然后,編碼控制單元12將要被用于校正顯示延遲的顯示延遲校正信息AltDpbOutputDelay的值設(shè)定成等于要被重新排序的畫面的數(shù)目的二倍。此外,編碼控制單元12將要被用于校正解碼延遲的解碼延遲校正信息AltCpbRemovalDelayOffset的值設(shè)定成等于緊跟CRA畫面的TFD畫面的數(shù)目的二倍(步驟S105)。
[0096]另一方面,當(dāng)NalUnitType是4或5時,目標畫面是被附加了 BPSEI的畫面,但是此目標畫面未被TFD畫面跟隨。因此,編碼控制單元12將被附加到此目標畫面的BPSEI中的 RapCpbParamsPresentFlag 設(shè)定為 O (步驟 S106)。當(dāng) NalUnitType 既不是 4 也不是5或8時,此目標畫面不是被附加了 BPSEI的畫面。因此,編碼控制單元12并不設(shè)定RapCpbParamsPresentFlag。
[0097]在步驟S105或S106之后,或者如果在步驟S103中NalUnitType不是4或5,則編碼控制單元12將目標畫面的數(shù)據(jù)與那個畫面的頭信息和編碼模式的類型一起提供至畫面編碼單元13。然后,畫面編碼單元13根據(jù)編碼模式和頭信息來對目標畫面進行編碼并將頭信息附加到經(jīng)編碼的畫面的數(shù)據(jù)(S107)。
[0098]之后,控制單元11確定在視頻序列中是否存在余下要被編碼的任何畫面(步驟S108)。如果存在余下要被編碼的任何畫面(步驟S108中的是),則控制單元11執(zhí)行從步驟S102開始的處理以對下一目標畫面進行編碼。另一方面,如果不存在余下要被編碼的任何畫面(步驟S108中的否),則控制單元11終止編碼處理。
[0099]圖7是示出通過根據(jù)第一實施方式的視頻編碼裝置執(zhí)行的視頻編輯處理的操作流程圖。
[0100]拼接點標識信息處理單元14從存儲單元(未描繪出)依次讀出要被拼接在拼接點的上游的第一經(jīng)編碼的視頻數(shù)據(jù)流中的直到拼接點的編碼數(shù)據(jù)(步驟S201)。此外,拼接點標識信息處理單元14從存儲單元(未描繪出)讀出要被拼接在拼接點下游的第二經(jīng)編碼的視頻數(shù)據(jù)流中的在拼接點之后的經(jīng)編碼的畫面(步驟S202)。接下來,針對讀取自第二經(jīng)編碼的視頻數(shù)據(jù)流的起始CRA畫面,拼接點標識信息處理單元14將每個片NUH中的NalUnitType的值改變?yōu)橹甘綛LA畫面的值,并將起始CRA畫面提供至數(shù)據(jù)拼接單元15(步驟S203)。此外,拼接點標識信息處理單元14確定是否NalUnitType的原始值是4,S卩,是否存在任何TFD畫面(步驟204)。如果NalUnitType的原始值是4 (步驟S204中的是),則存在在起始CRA (拼接之后其是BLA畫面)畫面之后的TFD畫面。因此,拼接點標識信息處理單元將TFD丟棄標志設(shè)定為I (步驟S205)。另一方面,如果NalUnitType的原始值不是4 (步驟S204中的否),則不存在起始CRA畫面之后的TFD畫面。因此,拼接點標識信息處理單元將TFD丟棄標志設(shè)定為O (步驟S206)。
[0101]在步驟S205或S206,拼接點標識信息處理單元14將第二經(jīng)編碼的視頻數(shù)據(jù)流的起始CRA畫面及其后續(xù)畫面提供至數(shù)據(jù)拼接單元15。然后,數(shù)據(jù)拼接單元15將起始CRA畫面(B卩,BLA畫面)拼接在第一經(jīng)編碼的視頻數(shù)據(jù)流的拼接點的下游側(cè)(步驟S207)。
[0102]之后,數(shù)據(jù)拼接單元15進行至在被拼接到第一經(jīng)編碼的視頻數(shù)據(jù)流的畫面之后或者在被丟棄的畫面之后的在第二經(jīng)編碼的視頻數(shù)據(jù)流中的下一目標畫面。然后,數(shù)據(jù)拼接單元15確定是否此目標畫面的每個片NUH中的NalUnitType是2(即,是否該畫面是TFD畫面),并且是否TFD丟棄標志是I (步驟S208)。
[0103]如果NalUnitType是2并且如果TFD丟棄標志是I (步驟S208中的是),則數(shù)據(jù)拼接單元15丟棄此目標畫面(步驟S209)。另一方面,如果NalUnitType不是2或者如果TFD丟棄標志是O (步驟S208中的否),則數(shù)據(jù)拼接單元15將此目標畫面添加于被拼接的經(jīng)編碼的視頻數(shù)據(jù)的尾端,并將TFD丟棄標志設(shè)定為O (步驟S201)。
[0104]在步驟S209或S210之后,數(shù)據(jù)拼接單元15確定目標畫面之后是否存在任何其它畫面(步驟S211)。如果存在任何后續(xù)畫面(步驟S211中的是),則數(shù)據(jù)拼接單元15返回步驟S208以重復(fù)上面的步驟。另一方面,如果不存在任何后續(xù)畫面(步驟S211中的否),則數(shù)據(jù)拼接單元15終止視頻編輯處理。
[0105]接下來將描述用于對通過根據(jù)第一實施方式的視頻編碼裝置I編碼或編輯了的經(jīng)編碼的視頻數(shù)據(jù)進行解碼的視頻解碼裝置。
[0106]圖8是根據(jù)第一實施方式的視頻解碼裝置的簡化框圖。視頻解碼裝置2包括控制單元21、頭信息分析單元22、畫面解碼/顯示時間確定單元23、畫面解碼單元24以及幀存儲器25。構(gòu)成視頻解碼裝置2的這些單元均作為單獨的電路被實現(xiàn)在視頻解碼裝置2中??商孢x地,構(gòu)成視頻解碼裝置2的這些單元可以以單個集成電路(其上的實現(xiàn)各個單元的功能的電路被集成)的形式被實現(xiàn)在視頻解碼裝置2中。此外,構(gòu)成視頻解碼裝置2的這些單元可以是通過在視頻解碼裝置2中所合并的處理器上執(zhí)行計算機程序?qū)崿F(xiàn)的功能模塊。
[0107]在對經(jīng)編碼的視頻數(shù)據(jù)進行解碼時,控制單元21控制視頻解碼裝置2的每個指定單元的操作。
[0108]頭信息分析單元22分析經(jīng)編碼的視頻數(shù)據(jù)的頭信息并將確定畫面解碼和顯示時間所需的參數(shù)(例如,每個畫面的NalUnitType, BPSEI中所攜帶的AltDpbOutputDelay和AltCpbRemovalDelayOffset,以及 PTSEI 中所攜帶 CpbRemovalDelay 和 DpbOutputDelay)傳遞至畫面解碼/顯示時間確定單元23。
[0109]從頭信息分析單元22接收參數(shù)的畫面解碼/顯示時間確定單元23檢查要被解碼的目標畫面的片NUH。當(dāng)NUH中所攜帶的NalUnitType的值是6或7時,畫面解碼/顯示時間確定單元23確定要被解碼的畫面是BLA畫面。
[0110]當(dāng)要被解碼的畫面是BLA畫面時,畫面解碼/顯示時間確定單元23使用以下列方式計算出的值而不是被附加到BLA畫面的PTSEI中所攜帶的CpbRemovalDelay的值來作為BLA畫面的解碼延遲CpbRemovalDelay。
[0111]畫面解碼/顯示時間確定單元23從BLA畫面之前的緊跟最新近的被附加了 BPSEI的畫面的畫面開始一直到緊接在BLA畫面之前的畫面,對畫面的數(shù)目A進行計數(shù)。接下來,畫面解碼/顯示時間確定單元23檢查被附加到緊接在BLA畫面之前的畫面的PTSEI中所攜帶的CpbRemovalDelay的值B。然后畫面解碼/顯示時間確定單元23將BLA畫面的解碼延遲 CpbRemovalDelay 的值計算為 A * (B/ (A-1))。
[0112]當(dāng)要被解碼的畫面是NalUnitType是7 (其指示BLA畫面被TFD畫面緊跟)的BLA畫面時,畫面解碼/顯示時間確定單元23進一步檢查被附加到BLA畫面的BPSEI中的標志RapCpbParamsPresentFlag。當(dāng) RapCpbParamsPresentFlag 的值是 I 時,畫面解碼 / 顯不時間確定單元23確定緊跟BLA畫面的TFD畫面已被丟棄,并且以下面的方式校正該BLA畫面的顯示延遲DpbOutputDelay和從緊跟BLA畫面的畫面到下一個被附加了 BPSEI的畫面的每個后續(xù)畫面的解碼延遲CpbRemovalDelay。
[0113]畫面解碼/顯示時間確定單元23使用被附加到BLA畫面的BPSEI中所攜帶的AltDpbOutputDelay,而不是被附加到BLA畫面的PTSET中所攜帶的DpbOutputDelay來作為BLA畫面的顯示延遲DpbOutputDelay。此外,畫面解碼/顯示時間確定單元23對從緊跟BLA畫面的畫面到下一個被附加了 BPSEI的畫面中的每個后續(xù)畫面、通過從被附加到后續(xù)畫面的PTSET中所攜帶的CpbRemovalDelay的值減去被附加到BLA畫面的BPSEI中所攜帶的AltCpbRemovalDelayOffset的值來進行校正。
[0114]對于除上面的畫面之外的畫面,畫面解碼/顯示時間確定單元23通過直接取得被附加到該畫面的PTSEI中所攜帶的CpbRemovalDelay和DpbOutputDelay的值來確定該畫面的解碼延遲CpbRemovalDelay和顯不延遲DpbOutputDelay。
[0115]畫面解碼/顯示時間確定單元23基于上面的解碼延遲CpbRemovalDelay來確定每個畫面的解碼時間,并且在確定的解碼時間將解碼指令發(fā)送至畫面解碼單元24。此外,畫面解碼/顯示時間確定單元23基于上面的顯示延遲DpbOutputDelay來確定每個畫面的顯示時間,并且在確定的顯示時間將顯示指令發(fā)送至幀存儲器25。
[0116]一旦接收到目標畫面的解碼指令,畫面解碼單元24通過利用幀存儲器25中所存儲的參考畫面來解碼目標畫面。然后,畫面解碼單元24將經(jīng)解碼的畫面存儲到幀存儲器25中。畫面解碼單元24通過使用與視頻編碼裝置I中的畫面編碼單元所采用的方法相同的編碼方法來執(zhí)行該解碼。
[0117]幀存儲器25存儲經(jīng)解碼的畫面。此外,幀存儲器25將經(jīng)解碼的畫面輸出至畫面解碼單元24以向隨后要被解碼的畫面提供參考畫面。幀存儲器25還根據(jù)從畫面解碼/顯示時間確定單元23接收的顯示指令向顯示單元(未描繪出)輸出經(jīng)解碼的畫面。
[0118]圖9是示出通過根據(jù)第一實施方式的視頻解碼裝置執(zhí)行的視頻解碼處理的操作流程圖。視頻解碼裝置2根據(jù)圖9的操作流程圖來對要被解碼的整個視頻序列進行解碼。
[0119]在對整個序列開始解碼處理之前,控制單元21將變量“cnt”和“flag”初始化為O (步驟S301)。變量“cnt”表示從被附加了 BPSEI的畫面至下一個被附加了 BPSEI的畫面范圍中的畫面的數(shù)目。變量“flag”是指示畫面是否是其CpbRemovalDelay需要校正的非BLA畫面的變量。
[0120]接下來,頭信息分析單元22分析要被解碼的目標畫面的頭信息,并將確定顯示時間所需的參數(shù)傳送至畫面解碼/顯示時間確定單元23(步驟S302)。畫面解碼/顯示時間確定單元23確定是否變量“flag”是O或者是否要被解碼的畫面的片頭NUH中的NalUnitType的值是6或7,即,是否要被解碼的畫面是BLA畫面(步驟S303)。如果變量標志是1,并且如果要被解碼的畫面的片頭NUH中的NalUnitType的值不是6或7 (步驟S303中的否),則畫面解碼/顯示時間確定單元23通過使用解碼延遲校正信息來校正要被解碼的畫面(在此情形中,其是非BLA畫面)的解碼延遲CpbRemovalDelay。
[0121]在步驟S304之后,或者如果在步驟S303中確定出變量“flag”是O或者NalUnitType是6或7 (步驟S303中的是),則畫面解碼/顯示時間確定單元23確定是否要被解碼的畫面是被附加了 BPSEI的畫面(步驟S305)。
[0122]如果要被解碼的畫面是被附加了 BPSEI的畫面(步驟S305中的是),則畫面解碼/顯示時間確定單元23將變量“cnt”的值復(fù)制為變量“d”,并將變量“cnt”和“flag”重置為0(步驟S306)。如果要被解碼的畫面不是被附加了 BPSEI的畫面(步驟S305中的否),則畫面解碼/顯示時間確定單元23使變量“cnt”的值增加I (步驟S307)。
[0123]在步驟S306或S307之后,畫面解碼/顯示時間確定單元23確定要被解碼的畫面的片頭NUH中的NalUnitType的值是否是6或7 (步驟S308)。如果要被解碼的畫面的片頭NUH中的NalUnitType的值是6或7 (步驟S308中的是),則要被解碼的畫面是BLA畫面。然后,畫面解碼/顯示時間確定單元23根據(jù)變量“d”的值來校正畫面的解碼延遲CpbRemovalDelay (步驟 S309)。
[0124]接下來,畫面解碼/顯示時間確定單元23確定是否要被解碼的畫面的片頭NUH中的NalUnitType的值是7并且是否被附加到要被解碼的畫面的BPSEI中的RapCpbParamsPresentFlag的值是I (步驟S310)。如果要被解碼的畫面的片頭NUH中的NalUnitType的值是7,并且如果被附加到要被解碼的畫面的BPSEI中的RapCpbParamsPresentFlag的值是I (步驟S310中是),則畫面解碼/顯示時間確定單元23將變量“flag”設(shè)定為I,同時將BLA畫面的顯示延遲DpbOutputDelay校正為顯示延遲校正信息 AltDpbOutputDelay (步驟 S311)。
[0125]在步驟S311之后,或者如果在步驟S308中確定出要被解碼的畫面的片頭NUH中的NalUnitType的值不是6或7(步驟S308中的否),或者如果在步驟S310中確定出要被解碼的畫面的片頭NUH中的NalUnitType的值不是7并且被附加到要被解碼的畫面的BPSEI中的RapCpbParamsPresentFlag的值是O (步驟S310中的否),則畫面解碼/顯示時間確定單元23在確定的解碼時間向畫面解碼單元24發(fā)出解碼指令。此外,畫面解碼/顯示時間確定單元23在確定的顯示定時向幀存儲器25發(fā)出顯示指令。然后,畫面解碼單元24在解碼時間對目標畫面進行解碼。另一方面,幀存儲器25在顯示單元(未描繪出)上顯示經(jīng)解碼的畫面(步驟S312)。
[0126]控制單元21確定經(jīng)編碼的視頻數(shù)據(jù)中是否存在余下要被解碼的任何畫面(步驟S313)。如果存在余下要被解碼的任何畫面(步驟S313中的是)則控制單元21返回至步驟S302。然后,解碼順序中下一個要被解碼的畫面被當(dāng)做目標畫面,并且重復(fù)從步驟S302開始的處理。另一方面,如果不存在余下要被解碼的任何畫面(步驟S313中的否),則控制單元21終止視頻解碼處理。
[0127]如上所述,即使當(dāng)兩個或多個經(jīng)編碼的視頻數(shù)據(jù)流在不對其解碼的情況下被拼接在一起時,根據(jù)本實施方式的視頻編碼裝置不需要校正在編碼時確定的解碼延遲和顯示延遲參數(shù)。然后,由于可利用在拼接經(jīng)編碼的視頻數(shù)據(jù)流時添加的解碼延遲校正和顯示延遲校正參數(shù)來校正每個畫面的解碼延遲和顯示延遲,所以根據(jù)本實施方式的視頻解碼裝置可在校正時間對每個畫面進行解碼并顯示。
[0128]接下來,將描述第二實施方式。第二實施方式與第二實施方式的不同在于經(jīng)編碼的視頻數(shù)據(jù)的結(jié)構(gòu)。
[0129]參考圖10,將描述根據(jù)第二實施方式的經(jīng)編碼的視頻數(shù)據(jù)的結(jié)構(gòu)。與根據(jù)圖4中描繪的第一實施方式的經(jīng)編碼的畫面結(jié)構(gòu)一樣,一個畫面的數(shù)據(jù)結(jié)構(gòu)包含六種NAL單元1010至1015。其中,BPSEI1013和1014不同于圖4中描繪的BPSEI413和BPSEI414。另一方面,DEUM1010、SPS1011、PPS1012、SLICE1015 以及 NUH1020 分別與圖 4 中描繪的 DEUM410、SPS411、PPS412、SLICE415 以及 NUH420 相同。
[0130]BPSEI1013 像 BPSEI413 — 樣包含多個(N+1)個字 InitialCpbRemovalDelay 和InitialCpbRemovalDelayOffset 段以及這些字段之后的 RapCpbParamsPresentFlag 字段。然而,AltCpbRemovalDelay字段和AltDpbOutputDelay字段并不被包含在BPSEI中。另一方面,PTSEI1014 像 PTSEI414 — 樣包含 CpbRemovalDelay 字段和 DpbOutputDelay字段。當(dāng) BPSEI 中的 RapCpbParamsPresentFlag 的值是 I 時,PTSEI1014 進一步包含AltCpbRemovalDelay 字段和 AltDpbOutputDelay 字段。
[0131]如果即使當(dāng)TFD畫面被丟棄時特定畫面的PTSET中的CpbRemovalDelay或DpbOutputDelay 也不改變,則 CpbRemovalDelay 或 DpbOutputDelay 的值被設(shè)定為與CpbRemovalDelay 或 DpbOutputDelay 的值相同。
[0132]如上所述,與第一實施方式的差異在于攜帶AltCpbRemovalDelay和AltDpbOutputDelay字段的SEI的類型。因此,第二實施方式的視頻編碼裝置與第一實施方式的視頻編碼裝置的不同在于編碼控制單元12的操作。因此下面描述編碼控制單元12的操作。
[0133]編碼控制單兀12將AltCpbRemovalDelay和AltDpbOutputDelay字段被存儲到被附加到每個畫面的PTSEI中,而不是在BPSEI中。在此情形中,編碼控制單元12執(zhí)行控制,使得每個畫面的解碼延遲和顯示延遲的值在兩個經(jīng)編碼的視頻數(shù)據(jù)流被拼接時分別被存儲到 AltCpbRemovalDelay 和 AltDpbOutputDelay 字段中。
[0134]接下來,將描述根據(jù)第二實施方式的視頻解碼裝置的操作。根據(jù)第二實施方式的視頻解碼裝置的構(gòu)造與根據(jù)第一實施方式的視頻解碼裝置的構(gòu)造基本上相同。然而,第二實施方式的視頻解碼裝置與第一實施方式的視頻解碼裝置不同在于畫面解碼解碼/顯示時間確定單元23的操作。因此下面描述畫面解碼/顯示時間確定單元23的操作。
[0135]當(dāng)要被解碼的畫面是其NalUnitType是7的BLA畫面時,畫面解碼/顯示時間確定單兀 23 進一步檢查 BPSEI 中的 RapCpbParamsPresentFlag。當(dāng) RapCpbParamsPresentFlag是I時,畫面解碼/顯示時間確定單元23確定緊跟BLA畫面的TFD畫面已被丟棄。然后,畫面解碼/顯示時間確定單元23以下面的方式校正BLA畫面的DpbOutputDelay和從緊跟BLA畫面的畫面(非TFD畫面)至下一個被附加了 BPSEI的畫面范圍中的每個畫面的CpbRemovalDelay。
[0136]畫面解碼/顯示時間確定單元23使用被附加到BLA畫面的PTSEI中所攜帶的AltDpbOutputDelay,而不是被附加到BLA畫面的PTSET中所攜帶的DpbOutputDelay來作為 BLA 畫面的 DpbOutputDelay。
[0137]此外,畫面解碼/顯示時間確定單元23使用被附加到該畫面的PTSEI中所攜帶的AltCpbRemovalDelayOffset,而不是被附加到該畫面的PTSET中所攜帶的CpbRemovalDelay來作為從緊跟BLA畫面的畫面到下一個被附加了 BPSEI的畫面的范圍中的每個畫面的CpbRemovalDelay。
[0138]接下來,將描述第三實施方式,第三實施方式不同于第一實施方式在于視頻解碼裝置中的畫面解碼/顯示時間確定單元23計算BLA畫面的解碼延遲。因此下面將描述畫面解碼/顯示時間確定單元23。
[0139]畫面解碼/顯示時間確定單元23在分析從頭信息分析單元22傳遞的目標畫面的頭信息時對片NUH進行檢查。當(dāng)HUH中所攜帶的NalUnitType的值是6或7時,畫面解碼/顯示時間確定單元23確定出要被解碼的目標畫面是BLA畫面。
[0140]當(dāng)要被解碼的目標畫面是BLA畫面時,畫面解碼/顯示時間確定單元23使用以下面的方式計算出的值,而不是被附加到BLA畫面的PTSEI中所攜帶的CpbRemovalDelay的值來作為BLA畫面的CpbRemovalDelay。[0141]用A來表示從BLA畫面(下文中被稱為Pic2)之前的、緊跟最新近的被附加了BPSEI的畫面(在下文中被稱為Picl)的畫面開始一直到緊接在Pic2之前的畫面進行計數(shù)所得到的畫面數(shù)目。畫面解碼/顯示時間確定單元23根據(jù)Pic2的CpbRemovalDelay的值B導(dǎo)出第一校正值Modl為A * (B/(A-1) )。B/(A-1)對應(yīng)于連續(xù)的畫面之間的時間差(單位是tc)。B/(A-1)將在下文中被指定為“S”。
[0142]接下來,畫面解碼/顯示時間確定單元23計算用于校正在拼接點處的CPB中保持的數(shù)據(jù)量上的差別。用Pos2表示正好在對Pic2進行解碼之前在CPB中保持的數(shù)據(jù)量,更具體地,當(dāng)通過將被附加到Pic2的BPSEI中所攜帶的InitialCpbRemovalDelay的值(表示為Init2)除以90000 (BP,90kHz)而計算出的時間[秒]從時間O (帶有作為起始畫面的Pic2的經(jīng)編碼的視頻數(shù)據(jù)流的第一位到達視頻解碼裝置的接收緩沖器的時間)開始消逝時在CPB中保持的數(shù)據(jù)量。然后,Pos被計算為(R * Init2/90000)。R表示位速率。
[0143]另一方面,用Initl表示被附加到Picl的BPSEI中所攜帶的InitialCpbRemovalDelay的值,TotalB表不位于Picl與Pic2之間(包括Picl)的所有畫面的代碼的總量;然后,正好在對Pic2解碼之前在視頻解碼裝置對經(jīng)編碼的視頻數(shù)據(jù)從其開始進行解碼時被保持在CPB中的數(shù)據(jù)量Pos2被計算為(R* (Initl+(A+1) * s)-TotalB)。
[0144]當(dāng)Posl小于Pos2時,直到解碼裝置剛開始對解碼視頻數(shù)據(jù)流中的Pic2進行解碼時,所有的Pic2數(shù)據(jù)還沒有到達視頻解碼裝置,因此不能對Picl進行解碼。這可以通過以(s ± tc)為時間單位延遲Pic2的解碼時間來避免。
[0145]當(dāng)(Pos2-Posl)〈Th時,畫面解碼/顯示時間確定單元23將第二校正值Mod2設(shè)定成O。閾值Th是正值。另外,畫面解碼/顯示時間確定單元23將第二校正值Mod2設(shè)定成(Ceil ((Pos2-Posl)/R/(s * tc)))。CeilO是取頂函數(shù)。當(dāng)要被解碼的畫面是BLA畫面時,畫面解碼/顯示時間確定單元23將BLA畫面的CpbRemovalDelay替換為(Modl+Mod2)。
[0146]以這種方式,根據(jù)第三實施方式的視頻解碼裝置確定正好在對BLA畫面進行解碼之前在CPB中保持的數(shù)據(jù)量。結(jié)果,根據(jù)此實施方式的視頻解碼裝置能防止在VPB中出現(xiàn)下溢出。
[0147]接下來,將描述第四實施方式。在第四實施方式中,即使當(dāng)被拼接在拼接點上游的第一經(jīng)編碼的視頻數(shù)據(jù)流中要被重新排序的畫面的數(shù)目不同于被拼接在拼接點的下游的第二經(jīng)編碼的視頻數(shù)據(jù)流中要被重新排序畫面的數(shù)目時,也可適當(dāng)?shù)卮_定解碼延遲和顯示延遲。此外,在第四實施方式中,即使當(dāng)在第一經(jīng)編碼的視頻數(shù)據(jù)流中在拼接點之前要被顯示的任何畫面已被丟棄了,也可適當(dāng)?shù)卮_定解碼延遲和顯示延遲。
[0148]參考圖11至圖13,針對不同畫面編碼結(jié)構(gòu)和不同編輯點,給出畫面解碼延遲CpbRemovalDelay和顯不延遲DpbOutputDelay的值的解釋。
[0149]在圖11中,第一經(jīng)編碼的視頻數(shù)據(jù)流中要被重新排序的畫面的數(shù)目以及第二經(jīng)編碼的視頻數(shù)據(jù)流中要被重新排序的畫面的數(shù)目都是2,與在圖3的情況中一樣。此外,第一經(jīng)編碼的視頻數(shù)據(jù)流1101和第二經(jīng)編碼的視頻數(shù)據(jù)流1102與圖3描繪中的第一經(jīng)編碼的視頻數(shù)據(jù)流301和第二經(jīng)編碼的視頻數(shù)據(jù)流301 —樣。指示第二經(jīng)編碼的視頻數(shù)據(jù)流1102的解碼延遲和顯示延遲值的塊陣列1103與圖3中描繪的塊陣列也一樣。然而,與圖3不同的是,第一經(jīng)編碼的視頻數(shù)據(jù)流1101中的畫面B13是拼接點畫面。
[0150]結(jié)果,與被拼接的經(jīng)編碼的視頻數(shù)據(jù)流304不同的是,被拼接的經(jīng)編碼的視頻數(shù)據(jù)1104中不包含畫面B15。
[0151]塊陣列1105指示被拼接的經(jīng)編碼的視頻數(shù)據(jù)1104中的畫面172、I76、B74、B73以及B75應(yīng)具有的解碼延遲CpbRemovalDelay和顯示延遲DpbOutputDelay。塊陣列1105的上部行中的每個塊攜帶了位于該塊正上方的被拼接的經(jīng)編碼的視頻數(shù)據(jù)1104中的對應(yīng)畫面的解碼延遲CpbRemovalDelay的值。同樣,塊陣列1105的下部行中的每個塊攜帶了位于該塊正上方的被拼接的經(jīng)編碼的視頻數(shù)據(jù)1104中的對應(yīng)畫面的顯示延遲DpbOutputDelay的值。如可從塊陣列1105看到的,即使當(dāng)畫面172被拼接使得在B13之后時,畫面172、176、B74、B73以及B75的解碼延遲值和顯示延遲值與當(dāng)畫面172被拼接使得緊跟畫面B15時的一樣。
[0152]與圖3相比較,位于在畫面172與前面的最新近的被附加了 BPSEI的畫面112之間的畫面的數(shù)目是6,其比圖3中位于畫面172與112之間的畫面的數(shù)目小I。然而,與圖3中的情況一樣,為了以與畫面被輸入時相同的間隔及相同順序完全顯示經(jīng)解碼的畫面,CpbRemovalDelay的值需被設(shè)定為16。
[0153]將參考塊陣列1106來描述原因。塊陣列1106指示按照解碼時間順序和顯示時間順序的在被拼接的經(jīng)編碼的視頻數(shù)據(jù)中的畫面。如塊陣列1106中所描繪的,被拼接的經(jīng)編碼的視頻數(shù)據(jù)并不包含畫面B15,但畫面P16需要在B14之后被顯示兩個畫面時間。如果畫面172和后續(xù)的畫面要在顯示P16之后被連續(xù)地顯示,則畫面172的解碼時間必須被延遲一個畫面時間。在此情形中,由于畫面B14被顯示了兩個畫面時間,所以出現(xiàn)了顯示凍結(jié)。
[0154]在圖12中所示的實例中,第二經(jīng)編碼的視頻數(shù)據(jù)流1202中要被重新排序的畫面的數(shù)目小于第一經(jīng)編碼的視頻數(shù)據(jù)流1201中要被重新排序的畫面的數(shù)目,在所示出的實例中,第一經(jīng)編碼的視頻數(shù)據(jù)流1201中要被重新排序的畫面的數(shù)目是2,而第二經(jīng)編碼的視頻數(shù)據(jù)流1202中要被重新排序的畫面的數(shù)目是I。塊陣列1203指示拼接之前第二經(jīng)編碼的視頻數(shù)據(jù)流中的每個畫面的解碼延遲CpbRemovalDelay和顯示延遲DpbOutputDelay。
[0155]假如,第二經(jīng)編碼的視頻數(shù)據(jù)流1202中的畫面172被拼接使得在第一經(jīng)編碼的視頻數(shù)據(jù)流1201中的畫面B15之后,如在被拼接的經(jīng)編碼的視頻數(shù)據(jù)流1204中所描繪的。在此情形中,拼接之后的畫面172及其后續(xù)畫面的解碼延遲和顯示延遲值如在塊陣列1205中所描繪的一樣。塊陣列1206指示按照解碼時間順序和按照顯示時間順序的在被拼接的經(jīng)編碼的視頻數(shù)據(jù)中的畫面。
[0156]為了以與畫面被輸入相同的間隔及相同的順序接連地完全顯示經(jīng)解碼的畫面,如在塊陣列1206中所描繪的,需要與在第一經(jīng)編碼的視頻數(shù)據(jù)流1201中要被重新排序的畫面的數(shù)目與在第二經(jīng)編碼的視頻數(shù)據(jù)流1202中要被重新排序的畫面的數(shù)目之間的差成比例地增加第二經(jīng)編碼的視頻數(shù)據(jù)流1202中的起始畫面的解碼延遲。在所示的實例中,解碼延遲被增加了 2至16
[0157]如果第一經(jīng)編碼的視頻數(shù)據(jù)流中被選為拼接點畫面的畫面不是B15,而是畫面B13、B14或B16,則第二經(jīng)編碼的視頻數(shù)據(jù)流中的起始畫面的解碼延遲與當(dāng)?shù)诙?jīng)編碼的視頻數(shù)據(jù)流被拼接從而在畫面B15之后時一樣。然而,在此情形中,在等于畫面B16之前的畫面當(dāng)中被丟棄的畫面的數(shù)目的時段內(nèi)出現(xiàn)畫面顯示凍結(jié)。
[0158]在圖13中所示的實例中,第一經(jīng)編碼的視頻數(shù)據(jù)流1301中要被重新排序的畫面的數(shù)目小于第二經(jīng)編碼的視頻數(shù)據(jù)流1302中要被重新排序的畫面的數(shù)目。在所示的實例中,第一經(jīng)編碼的視頻數(shù)據(jù)流1301中要被重新排序的畫面的數(shù)目是1,而第二經(jīng)編碼的視頻數(shù)據(jù)流1302中要被重新排序的畫面的數(shù)目是2。塊陣列指示拼接之前第二經(jīng)編碼的視頻數(shù)據(jù)流中每個畫面的解碼延遲CpbRemovalDelay和顯示延遲DpbOutputDelay。
[0159]假定第二經(jīng)編碼的視頻數(shù)據(jù)流1302中的畫面172被拼接成跟隨在第一經(jīng)編碼的視頻數(shù)據(jù)流1301中的畫面B15,如在被拼接的經(jīng)編碼的視頻數(shù)據(jù)流1304中所描繪的。在此情形中,拼接之后畫面172及其后續(xù)畫面的解碼延遲和顯示延遲如在塊陣列1305中所描述的。塊陣列1306指示按照解碼時間順序和顯示時間順序的在被拼接的經(jīng)編碼的視頻數(shù)據(jù)中的畫面。
[0160]為了以與畫面被輸入相同的間隔及相同的順序完全顯示經(jīng)解碼的畫面,第一經(jīng)編碼的視頻數(shù)據(jù)流中的最后顯示畫面需被重復(fù)。
[0161]如圖12和圖13中所示,基于第一經(jīng)編碼的視頻數(shù)據(jù)流中要重新排序的畫面的數(shù)目與第二經(jīng)編碼的視頻數(shù)據(jù)流中要重新排序的畫面的數(shù)目之間的關(guān)系,需要延遲第二經(jīng)編碼的視頻數(shù)據(jù)流中的起始畫面的解碼時間,否則可能跨拼接點而發(fā)生顯示畫面凍結(jié)。此外,如在圖11中所示出的,根據(jù)第一經(jīng)編碼的視頻數(shù)據(jù)流中拼接點的位置,顯示畫面凍結(jié)可能變得不可避免。
[0162]接下來將描述解決上述問題的根據(jù)第四實施方式的視頻解碼裝置。第四實施方式的視頻解碼裝置與第一實施方式的視頻解碼裝置不同在于畫面解碼/顯示實現(xiàn)確定單元23的操作。因此下面描述畫面解碼/顯示實現(xiàn)確定單元23。
[0163]畫面解碼/顯示實現(xiàn)確定單元23在分析從頭信息分析單元22傳遞的目標畫面的頭信息時對片NUH進行檢查。當(dāng)HUH中所攜帶的NalUnitType的值是6或7時,畫面解碼/顯示時間確定單元23確定出要被解碼的目標畫面是BLA畫面。
`[0164]當(dāng)要被解碼的目標畫面是BLA畫面時,畫面解碼/顯示時間確定單元23使用以下面的方式計算出的值,而不是被附加到BLA畫面的PTSEI中所攜帶的CpbRemovalDelay的值來作為BLA畫面的CpbRemovalDelay。
[0165]畫面解碼/顯示時間確定單元23從BLA畫面(在下文中被稱為Pic2)之前的緊跟最新近的被附加了 BPSEI的畫面的畫面(在下文中被稱為Picl)開始一直到緊接在Pic2之前的畫面對畫面的數(shù)目A進行計數(shù)。畫面解碼/顯示時間確定單元23檢查被附加到緊接在Pic2之前的畫面的PTSET中所攜帶的CpbRemovalDelay的值B,并將PTSET的第一校正值 Modl 計算為 A * (B/(A-1))。
[0166]接下來,畫面解碼/顯示時間確定單元23將要重新排序的畫面的數(shù)目Rl (其在緊接在Pic2之前的畫面所參考的SPS中被定義)與要重新排序的畫面的數(shù)目R2 (其被緊跟Pic2的非TFD畫面所參考)相比較。指示SPS中要被重新排序的畫面的數(shù)目的字段是根據(jù)在非專利文獻 JCTVC-1lOC^CHigh-Efficiency Video Coding(HEVC) text specificationWorking Draft7, 〃Joint Collaborative Team on Video Coding of ITU-T SG16WP3andIS0/IEC JTC1/SC29/WG11, May2012)中所公開的方法的 SpsNumReorderPics。
[0167]當(dāng)Rl等于R2時,畫面解碼/顯示時間確定單元23使用Modl直接作為Pic2的CpbRemovalDelay。當(dāng)R2大于Rl時,畫面解碼/顯示時間確定單元23將PTSEI的第二校正值Mod2計算為(R2-R1) * B/ (A-1)。當(dāng)R2小于Rl時,畫面解碼/顯示時間確定單元23使用 Modl 直接作為 Picl 的 CpbRemovalDelay。[0168]此外,畫面解碼/顯示時間確定單元23基于Rl與R2之間的關(guān)系來確定第一經(jīng)編碼的視頻數(shù)據(jù)流中的最后畫面是否要被凍結(jié)顯示,向幀存儲器25發(fā)信號通知確定的凍結(jié)時間段。
[0169]畫面解碼/顯示時間確定單元23以下列方式確定凍結(jié)時間段(以tc為單位)。當(dāng)Rl等于R2時或當(dāng)Rl大于R2時,畫面解碼/顯示時間確定單元23將凍結(jié)時間段設(shè)定成O。另一方面,當(dāng)Rl小于R2時,畫面解碼/顯示時間確定單元23將凍結(jié)時間段設(shè)定成(R2-R1)
*B/ (A-1)。
[0170]如上所述,根據(jù)第四實施方式,即使當(dāng)拼接在拼接點的上游的第一經(jīng)編碼的視頻數(shù)據(jù)流包含在編碼(解碼)順序上遲于拼接點畫面并且要早于拼接點畫面被再現(xiàn)的任何畫面時,視頻解碼裝置也能適當(dāng)?shù)卮_定位于拼接點之后的每個畫面的解碼延遲和顯示延遲。此外,即使當(dāng)要被重新排序的畫面的數(shù)目在拼接點之前和之后是不同的時,視頻解碼裝置也能適當(dāng)?shù)卮_定位于拼接點之后的每個畫面的解碼延遲和顯示延遲。
[0171]接下來將描述第五實施方式。在第五實施方式中,視頻編碼裝置添加了一個當(dāng)兩個經(jīng)編碼的視頻數(shù)據(jù)流被拼接在一起時用于標識不會造成顯示畫面凍結(jié)的畫面的參數(shù)。
[0172]為了防止跨拼接點而發(fā)生顯示畫面凍結(jié),第一經(jīng)編碼的視頻數(shù)據(jù)流中要被重新排序的畫面的數(shù)目必須等于或大于第二經(jīng)編碼的視頻數(shù)據(jù)流中要被重新排序畫面的數(shù)目,并且第一經(jīng)編碼的視頻數(shù)據(jù)流的拼接點必須被定位在僅參考時間在前的畫面的畫面的前一位置。在圖11的實例中,滿足此條件的拼接點式畫面Bll或B15。
[0173]圖14示出了在根據(jù)第五實施方式的經(jīng)編碼的視頻中所包含的一個畫面的數(shù)據(jù)結(jié)構(gòu)。圖14中所示出的經(jīng)編碼的視頻中所包含一個畫面的數(shù)據(jù)結(jié)構(gòu)與圖4中所示的時間結(jié)構(gòu)400不同在于包括了編輯點SEI (EPSEI) NAL單元1416。其它六個NAL單元1410至1415與圖4中所示的數(shù)據(jù)結(jié)構(gòu)400的對應(yīng)NAL單元410至415相同。
[0174]EPSEI NAL單元1416是指示不會跨拼接點而造成顯示畫面凍結(jié)的拼接點畫面的SEI數(shù)據(jù)。在本實施方式中,EPSEI不包括任何特定字段。
[0175]下面將描述根據(jù)第五實施方式的視頻編碼裝置的操作。第五實施方式的視頻編碼裝置與第一實施方式的視頻編碼裝置不同之處在于在編碼時將EPSEI附加到特定畫面的編碼控制單元12和畫面編碼單元13,以及在于通過在編輯時參考EPSEI來確定拼接點的數(shù)據(jù)拼接單元15。因此下面將描述用于附加EPSEI的編碼控制單元12和畫面編碼單元13以及在編輯過程中數(shù)據(jù)拼接單元15的操作。
[0176]在編碼時,編碼控制單元命令畫面編碼單元13將EPSEI附加到要被編碼的畫面,如果該畫面是僅參考在顯示時間順序上較早的畫面的緊接在B畫面或P畫面之前的畫面或者緊接在I畫面之前的畫面的話??商孢x地,如果該畫面不是僅參考顯示時間順序上較早的I畫面或B畫面或P畫面,編碼控制單元12可以命令畫面編碼單元13將EPSEI附加到要被編碼的畫面。
[0177]當(dāng)從編碼控制單元12接收到用于附加EPSEI的命令時,畫面編碼單元13對該畫面進行編碼并將EPSEI附加到它。
[0178]在編輯時,時間拼接單元15根據(jù)來自控制單元11的控制信號來標識第一經(jīng)編碼的視頻數(shù)據(jù)流中的拼接點畫面??刂菩盘柪绨◤牡谝唤?jīng)編碼的視頻數(shù)據(jù)流的開始計數(shù)的經(jīng)編碼的畫面的數(shù)目。數(shù)據(jù)拼接單元15通過在可應(yīng)用畫面以及跟隨該可應(yīng)用畫面的畫面當(dāng)中選擇在編碼順序上最早的被附加了 EPSEI的畫面來確定拼接點畫面。可替選地,數(shù)據(jù)拼接單元15通過在可應(yīng)用畫面及跟隨可應(yīng)用畫面的畫面當(dāng)中選擇緊接在在編碼順序上最早的被附加了 EPSEI的畫面的畫面來確定第一經(jīng)編碼的視頻數(shù)據(jù)流中的拼接點畫面。然后,然后,數(shù)據(jù)拼接單元15從存儲單元(未描繪出)讀出第一經(jīng)編碼的視頻數(shù)據(jù)流中的拼接點畫面和所有其之前的畫面。接下來,數(shù)據(jù)拼接單元15從存儲單元(未描繪出)讀出提供自拼接點標識信息處理單元14的第二經(jīng)編碼的視頻數(shù)據(jù)流的一部分(具有作為起始畫面的拼接點CRA畫面)。此時,如果從拼接點標識信息處理單元14發(fā)出丟棄緊跟拼接點CRA畫面的任何TFD畫面的指令,則數(shù)據(jù)拼接單元15丟棄所有這種TFD畫面。數(shù)據(jù)拼接單元15然后輸出讀取的第一經(jīng)編碼的視頻數(shù)據(jù)流,并在之后輸出第二經(jīng)編碼的視頻數(shù)據(jù)流。
[0179]如上所述,根據(jù)第五實施方式的視頻編碼裝置,指示當(dāng)兩個經(jīng)編碼的視頻數(shù)據(jù)流被拼接時不會造成顯示凍結(jié)的畫面的信息被附加到該經(jīng)編碼的視頻數(shù)據(jù),結(jié)果,視頻編碼裝置可將兩個經(jīng)編碼的視頻拼接在一起而不會造成顯示凍結(jié)。
[0180]接下來,將描述第六實施方式。
[0181 ] 在第六實施方式的視頻編碼裝置中,被用于獲得第二校正值Mod2 (用于校正在拼接點處在CPB中保持的數(shù)據(jù)量上的差別)的值如在第三實施方式中所描述的那樣預(yù)先被附加到第一經(jīng)編碼的視頻數(shù)據(jù)流。
[0182]圖15示出了根據(jù)第六實施方式的經(jīng)編碼的視頻中所包含的一個畫面的數(shù)據(jù)結(jié)構(gòu)。圖15中所示出的數(shù)據(jù)結(jié)構(gòu)150與圖14中所示出的數(shù)據(jù)結(jié)構(gòu)1400不同在于EPSEI NAL單元1516包括BufferOccupancy字段。其它六個NAL單元1510至1515與圖14中示出的數(shù)據(jù)結(jié)構(gòu)400的對應(yīng)NAL單元1410至1415相同。BufferOccupancy字段指示剛好在拼接點前在CPB中保持的數(shù)據(jù)量。
[0183]將描述根據(jù)第六實施方式的視頻編碼裝置的操作。第六實施方式的視頻編碼裝置不同于第五實施方式的視頻編碼裝置之處在于編碼控制單元12的操作部分。因此下面描述所不同的編碼控制單元12的操作部分。
[0184]編碼控制單元12命令畫面編碼單元13將EPSEI附加到要被編碼的畫面,如果該畫面是僅參考在顯示時間順序上較早的畫面的緊接在B畫面或P畫面之前的畫面或者緊接在I畫面之前的畫面的話。在第三實施方式中所描述的值(R* (Initl+(A+1) *s)-TotalB)被存儲在 EPSEI 中的 BufferOccupancy 字段??蛇x擇地,(R * (Initl+ (A+1)
*s)-TotalB)被位速率R除后可被存儲在BufferOccupancy字段。
[0185]將描述根據(jù)第六實施方式的視頻解碼裝置的操作。第六實施方式的視頻解碼裝置與第三實施方式的視頻解碼裝置不同之處在于畫面解碼/顯示時間確定單元23的操作部分。因此下面描述所不同的畫面解碼/顯示時間確定單元23的操作部分。
[0186]當(dāng)分析從頭信息分析單元22傳送的目標畫面的頭信息時,畫面解碼/顯示時間確定單元23檢查片NUH。當(dāng)NUH中所攜帶的NalUnitType的值是6或7時,畫面解碼/顯示時間確定單元23確定要被解碼的畫面是BLA畫面。
[0187]當(dāng)要被解碼的畫面是BLA畫面時,畫面解碼/顯示時間確定單元23使用以下面的方式計算出的值,而不是在被附加到BLA畫面的PTSEI中所攜帶的CpbRemovalDelay的值來作為BLA畫面的解碼延遲CpbRemovalDelay。
[0188]用A來表示從BLA畫面(下文中被稱為Pic2)之前的、緊跟最新近的被附加了BPSEI的畫面(下文中被稱為Picl)的畫面開始一直到緊接在Pic2之前的畫面進行計數(shù)所得到的畫面數(shù)目。畫面解碼/顯示時間確定單元23根據(jù)Pic2的CpbRemovalDelay的值B導(dǎo)出第一校正值Modl為A * (B/(A-1))。B/(A-1)對應(yīng)于連續(xù)的畫面之間的時間差(單位是tc)。B/(A-1)將在下文中被指定為“S”。
[0189]畫面解碼/顯示時間確定單元23通過使用被附加到緊接在BLA畫面之前的畫面的EPSEI中的字段BufferOccupancy中所存儲的值(或者該值乘以R后所得的結(jié)果,如果存儲了該值除以比特率R后所得的結(jié)果的話)作為在第三實施方式中所描述的值(R *(Initl+(A+1) s)-TotalB),根據(jù)第三實施方式的方法來計算第二校正值Mod2。
[0190]接下來,畫面解碼/顯示時間確定單元23將要被重新排序的畫面數(shù)目Rl (其在緊接在Pic2之前的畫面所參考的SPS中被定義)與要被重新排序的畫面數(shù)目R2 (其被緊跟Pic2的非TFD畫面所參考)相比較。根據(jù)在之前引用的非專利文獻中所公開的的方法,SPS中指示要被重新排序的畫面的數(shù)目的字段是SpsNumReorderPics。
[0191]當(dāng)R2大于Rl時,畫面解碼/顯示時間確定單元23將PTSEI的第三校正值Mod3計算為(R2-R1) B/ (A-1)。否則,畫面解碼/顯示時間確定單元23將PTSEI的第三校正值Mod3設(shè)定為O。然后,畫面解碼/顯示時間確定單元23將Pic2的CpbRemovalDelay校正為(Modl+Mod2+Mod3)。
[0192]接下來,將描述第七實施方式,在第七實施方式中,當(dāng)拼接兩個經(jīng)編碼的視頻數(shù)據(jù)流時,視頻編碼裝置校正BLA畫面的CpbRemovalDelay。此時,視頻編碼裝置添加指示是否被拼接的經(jīng)編碼的視頻數(shù)據(jù)可跨BLA畫面而被連續(xù)地解碼并顯示的參數(shù)。
[0193]校正BLA畫面的CpbRemovalDelay的方法與第六實施方式中畫面解碼/顯示時間確定單元23用于校正CpbRemovalDelay的方法基本上相同。
[0194]圖16示出了根據(jù)第七實施方式的經(jīng)編碼的視頻中所編碼的一個畫面的數(shù)據(jù)結(jié)構(gòu)。圖16中所示出的經(jīng)編碼的視頻中所編碼的一個畫面的數(shù)據(jù)結(jié)構(gòu)1600不同于圖14中所示出的數(shù)據(jù)結(jié)構(gòu)1400之處在于BPSEI NAL單元1613包括ContinuousHrdFlag字段。其它六個NAL單元1610至1612和1614至1617與圖14中所示出的數(shù)據(jù)結(jié)構(gòu)1400的對應(yīng)NAL單元1410至1412和1414至1417相同。
[0195]ContinuousHrdFlag字段指示視頻解碼裝置是否可跨BPSEI已被附加到的BLA畫面而連續(xù)地解碼并顯示經(jīng)編碼的視頻數(shù)據(jù)。
[0196]ContinuousHrdFlag字段可被包含在SPS1611或某些其它NAL單元中,而不是被包含在BPSEI中。
[0197]將描述根據(jù)第七實施方式的視頻編碼裝置的操作。第七實施方式的視頻編碼裝置的操作不同于第五實施方式的視頻編碼裝置的操作在于數(shù)據(jù)拼接單元15的操作部分。因此下面描述所不同的數(shù)據(jù)拼接單元15的操作部分。
[0198]數(shù)據(jù)拼接單元15從拼接點標識信息處理單元14接收第二經(jīng)編碼的視頻數(shù)據(jù)流,并將其拼接到時間上被拼接在拼接點上游的第一經(jīng)編碼的視頻數(shù)據(jù)流的尾端。此時,數(shù)據(jù)拼接單元15將畫面參數(shù)(指示第一和第二經(jīng)編碼的視頻數(shù)據(jù)流中所包含的畫面的特征)中的至少一個進行比較。例如,如果,第一和第二經(jīng)編碼的視頻數(shù)據(jù)流中,在兩個經(jīng)編碼的視頻數(shù)據(jù)流之間畫面尺寸或畫面速率不同,則數(shù)據(jù)拼接單元15將參數(shù)ContFlag(其指示被拼接的經(jīng)編碼的視頻數(shù)據(jù)是否能跨拼接點而被連續(xù)地解碼并顯示)的值設(shè)定成O (其指示視頻數(shù)據(jù)不能被連續(xù)地解碼并顯示)。另一方面,如果第一和第二經(jīng)編碼的視頻數(shù)據(jù)流之間畫面尺寸和畫面速率相同,則數(shù)據(jù)拼接單元15以與第六實施方式中的畫面解碼/顯示時間確定單元23校正CpbRemovalDelay的方式相同的方式來計算BLA畫面的CpbRemovalDelay。數(shù)據(jù)拼接單元15根據(jù)第六實施方式中的編碼控制單元12用于計算BufferOccupancy字段的值的方法來計算對應(yīng)于在EPSEI中的BufferOccupancy字段的值,即,用于計算第二校正參數(shù)Mod2的值。此外,數(shù)據(jù)拼接單元15將ContFlag參數(shù)設(shè)定成1,其指示拼接編碼數(shù)據(jù)可被連續(xù)地解碼并顯示。
[0199]除了畫面尺寸和畫面速率之外,畫面的色差成分格式或畫面的像素分辨率可作為用于確定被拼接的經(jīng)編碼的視頻數(shù)據(jù)是否能跨拼接點而被連續(xù)地解碼并顯示的畫面參數(shù)而被添加。在此情形中,如果在第一和第二經(jīng)編碼的視頻數(shù)據(jù)之間,所有的參數(shù)是相同的,則確定出被拼接的經(jīng)編碼的視頻數(shù)據(jù)可跨拼接點而被連續(xù)地解碼并顯示。
[0200]當(dāng)ContFlag參數(shù)的值是O時,數(shù)據(jù)拼接單元15將被附加到BLA畫面的BPSEI中的ContinuousHrdFlag字段的值設(shè)定為O,其指示被拼接的經(jīng)編碼的視頻數(shù)據(jù)不能被連續(xù)地解碼并顯示。另一方面,當(dāng)ContFlag參數(shù)的值是I時,數(shù)據(jù)拼接單元15將被附加到BLA畫面的BPSEI中的ContinuousHrdFlag字段的值設(shè)定為I,其指示被拼接的經(jīng)編碼的視頻數(shù)據(jù)能被連續(xù)地解碼并顯示。此外,數(shù)據(jù)拼接單元15將第二經(jīng)編碼的視頻數(shù)據(jù)流的起始畫面(即,BLA畫面)的解碼延遲CpbRemovalDelay的值校正為如上面所計算出的值。
[0201]將描述根據(jù)第七實施方式的視頻解碼這種的操作。第七實施方式的視頻解碼這種不同于第一實施方式的視頻解碼這種之處在于畫面解碼/顯示時間確定單元23的操作部分。因此下面描述所不同的畫面解碼/顯示時間確定單元23的操作部分。
[0202]當(dāng)要被解碼的畫面是BLA畫面時,畫面解碼/顯示時間確定單元23參考被附加到BLA畫面的BPSEI中的ContinuousHrdFlag字段的值。
[0203]當(dāng)ContinuousHrdFlag字段的值是I時,即,當(dāng)被拼接的經(jīng)編碼的視頻數(shù)據(jù)能跨拼接點而被連續(xù)地解碼并顯示時,畫面解碼/顯示時間確定單元23使用被附加到BLA畫面的BPSEI中的CpbRemovalDelay直接作為BLA畫面的解碼延遲。另一方面,當(dāng)ContinuousHrdFlag字段的值是O時,即,當(dāng)被拼接的經(jīng)編碼的視頻數(shù)據(jù)不能跨拼接點而被連續(xù)地解碼并顯示時,畫面解碼/顯示時間確定單元23并不根據(jù)CpbRemovalDelay,而是通過使用BPSEI中所包括的初始解碼延遲信息InitialCpbRemovalDelay的值來確定BLA畫面的解碼時間。在此情形中,畫面解碼/顯示時間確定單元23通過參考時間O (其被設(shè)定為遲于緊接在BLA畫面之前的畫面的解碼時間)根據(jù)InitialCpbRemovalDelay來計算BLA畫面的解碼時間??商孢x地,畫面解碼/顯示時間確定單元23可在BLA畫面之前的所有經(jīng)編碼的畫面的顯示被完成時的時間之后設(shè)定時間O。
[0204]圖7是示出通過執(zhí)行用于實現(xiàn)根據(jù)上面的實施方式或其變形例中的任何一個的視頻編碼裝置或視頻解碼裝置中的各個單元的功能的計算機程序來作為視頻編碼裝置或視頻解碼裝置操作的計算機的構(gòu)造的示圖。
[0205]計算機100包括用戶界面單元101、通信接口單元102、存儲單元103、存儲介質(zhì)存取裝置104和處理器105。處理器105 (例如,經(jīng)由總線)被連接至用戶界面單元101、通信接口單元102、存儲單元103以及存儲介質(zhì)存取裝置104。
[0206]用戶界面單元包括(例如)諸如鍵盤和鼠標的輸入裝置和諸如液晶顯示器的顯示裝置??商孢x地,用戶接口單元101可包括諸如觸摸板顯示器(輸入裝置和顯示裝置被集成在其中)的裝置。用戶接口單元101 (例如,響應(yīng)于用戶操作)產(chǎn)生用于選擇要被編碼的視頻數(shù)據(jù)、要被編輯的經(jīng)編碼的視頻數(shù)據(jù)或要被解碼的經(jīng)編碼的視頻數(shù)據(jù)的操作信號,并將該操作信號提供至處理器105。該接口單元101還可顯示從處理器105接收的解碼視頻數(shù)據(jù)。
[0207]通信接口單元102可包括將于將計算機100連接至視頻數(shù)據(jù)產(chǎn)生裝置(例如,攝像機)的通信接口,以及用于通信接口的控制電路。這種通信接口可以是(例如)通用串行總線(USB)接口。
[0208]此外,通信接口單元102可包括用于連接至諸如以太網(wǎng)(注冊商標)的符合通信標準的通信網(wǎng)絡(luò),以及用于該通信接口的控制電路。
[0209]在后面的情形中,通信接口 102從被連接至通信網(wǎng)絡(luò)的另一裝置接收要被編碼的視頻數(shù)據(jù)、要被編輯的經(jīng)編碼的視頻數(shù)據(jù)或要被解碼的經(jīng)編碼的視頻數(shù)據(jù)并將接收的數(shù)據(jù)傳遞至處理器105。此外,通信接口 102可從處理器105接收經(jīng)編碼的視頻數(shù)據(jù)、被拼接的經(jīng)編碼的視頻數(shù)據(jù)或解碼視頻數(shù)據(jù)并且可將該數(shù)據(jù)通過通信網(wǎng)絡(luò)傳輸至另一裝置。
[0210]存儲單元103包括(例如)可讀取/可寫入半導(dǎo)體存儲器和只讀半導(dǎo)體存儲器。存儲單元103存儲要在處理器105上執(zhí)行的用于視頻編碼、視頻編輯或視頻解碼的計算機程序,并且還存儲作為程序執(zhí)行的結(jié)果或在程序執(zhí)行過程中產(chǎn)生的數(shù)據(jù)。
[0211]存儲介質(zhì)存取裝置104是存取以磁盤、半導(dǎo)體存儲卡或光存儲介質(zhì)為例的存儲介質(zhì)106的裝置。存儲介質(zhì)存取裝置104存取存儲介質(zhì)以讀出(例如)要在處理器105上被執(zhí)行的用于視頻編碼、視頻編輯或視頻解碼的計算機程序,并將讀出的程序傳遞至處理器105。
[0212]處理器105通過執(zhí)行根據(jù)上面的實施方式或其任何變形例中的任何一個的視頻編碼計算機程序來產(chǎn)生經(jīng)編碼的視頻數(shù)據(jù)。處理器105之后將所產(chǎn)生的經(jīng)編碼的視頻數(shù)據(jù)存儲到存儲單元103中,或者將所產(chǎn)生的數(shù)據(jù)經(jīng)由通信接口單元102傳輸至另一裝置。此夕卜,處理器105通過執(zhí)行根據(jù)上面的實施方式或其任何變形例中的任何一個的視頻編碼計算機程序來將兩個經(jīng)編碼的視頻數(shù)據(jù)流拼接在一起,來產(chǎn)生被拼接的經(jīng)編碼的視頻數(shù)據(jù)。處理器105然后將所產(chǎn)生的被拼接的經(jīng)編碼的視頻數(shù)據(jù)存儲在存儲單元103中,或者將所產(chǎn)生的數(shù)據(jù)經(jīng)由通信接口單元102傳輸至另一裝置。此外,處理器105通過執(zhí)行根據(jù)上面的實施方式或其任何變形例中的任何一個的視頻解碼計算機程序來對經(jīng)編碼的視頻數(shù)據(jù)進行解碼。處理器15然后將解碼視頻數(shù)據(jù)存儲到存儲單元103中,將該數(shù)據(jù)呈現(xiàn)給用戶接口單元101用于顯示,或者將該數(shù)據(jù)經(jīng)由通信接口單元102傳輸至另一裝置。
[0213]可以以被存儲在半導(dǎo)體存儲器中的形式或者以被存儲在諸如光記錄介質(zhì)的記錄介質(zhì)上的形式來分布在計算機上執(zhí)行的、實現(xiàn)構(gòu)成根據(jù)上面的實施方式或其任何變形例中的每一個的視頻編碼裝置或視頻解碼裝置的各個單元功能的計算機程序。這里所使用的術(shù)語“記錄介質(zhì)”并不是載波。
[0214]構(gòu)成根據(jù)上面的實施方式或其任何變形例中的每一個的視頻編碼裝置的各個單元中,合并了與視頻編輯相關(guān)的拼接點標識信息處理單元14和數(shù)據(jù)拼接單元15的裝置可以與合并了與視頻編碼相關(guān)的編碼控制單元12和畫面編碼單元13的裝置分開提供。
[0215]根據(jù)上面的實施方式或其任何變形例的視頻編碼裝置和視頻解碼裝置被用在各種應(yīng)用中。例如,該視頻編碼裝置和視頻解碼裝置被合并入攝像機、視頻傳輸裝置、視頻接收裝置、視頻電話系統(tǒng)、計算機或移動電話。
【權(quán)利要求】
1.一種用于通過幀間預(yù)測性編碼來對視頻數(shù)據(jù)進行編碼的視頻編碼裝置,包括: 編碼控制單元,其獲得解碼延遲校正信息和顯示延遲校正信息,以便確保即使當(dāng)在所述視頻數(shù)據(jù)中在編碼順序上遲于有可能能夠被拼接到其它經(jīng)編碼的視頻數(shù)據(jù)的尾端的第一畫面的一個或多個畫面已被丟棄時,所述經(jīng)編碼的視頻數(shù)據(jù)中的所述第一畫面和后續(xù)畫面也能由視頻解碼裝置連續(xù)地解碼并顯示;以及 畫面編碼單元,其對所述視頻數(shù)據(jù)中所包含的每個畫面進行編碼并將所述解碼延遲校正信息和所述顯示延遲校正信息附加到經(jīng)編碼的所述視頻數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的視頻編碼裝置,其中,所述解碼延遲校正信息攜帶了與能被丟棄的畫面的數(shù)目對應(yīng)的值。
3.根據(jù)權(quán)利要求1所述的視頻編碼裝置,其中,所述顯示延遲校正信息攜帶了與在在編碼順序上遲于所述第一畫面的畫面當(dāng)中的、在顯示順序上最早的畫面的顯示時間與所述第一畫面的顯示時間之間出現(xiàn)的畫面的數(shù)目對應(yīng)的值。
4.根據(jù)權(quán)利要求1所述的視頻編碼裝置,進一步包括: 拼接點標識信息處理單元,其在將所述經(jīng)編碼的視頻數(shù)據(jù)拼接到所述其它經(jīng)編碼的視頻數(shù)據(jù)時將標識起始的經(jīng)編碼的畫面的信息附加到所述經(jīng)編碼的視頻數(shù)據(jù)中的所述起始的經(jīng)編碼的畫面;以及 數(shù)據(jù)拼接單元,其從所述經(jīng)編碼的視頻數(shù)據(jù)中丟棄在編碼順序上遲于所述起始的經(jīng)編碼的畫面并且參考在編碼順序上早于所述起始的經(jīng)編碼的畫面的畫面的一個或多個畫面。
5.根據(jù)權(quán)利要求1所述的視頻編碼裝置,進一步包括: 數(shù)據(jù)拼接單元,其在通過將所述經(jīng)編碼的視頻數(shù)據(jù)拼接到所述其它經(jīng)編碼的視頻數(shù)據(jù)來產(chǎn)生被拼接的經(jīng)編碼的視頻數(shù)據(jù)時,參考指示所述經(jīng)編碼的視頻數(shù)據(jù)和所述其它經(jīng)編碼的視頻數(shù)據(jù)的畫面特征的畫面參數(shù),并由此確定所述被拼接的經(jīng)編碼的視頻數(shù)據(jù)是否能跨所述經(jīng)編碼的視頻數(shù)據(jù)和所述其它經(jīng)編碼的視頻數(shù)據(jù)被拼接于的拼接點而被連續(xù)地解碼并顯示,并在所述被拼接的經(jīng)編碼的視頻數(shù)據(jù)中嵌入指示所述被拼接的經(jīng)編碼的視頻數(shù)據(jù)是否能被連續(xù)地解碼并顯示的信息,其中,當(dāng)所述被拼接的經(jīng)編碼的視頻數(shù)據(jù)能被連續(xù)地解碼并顯示時,所述數(shù)據(jù)拼接單元將用于所述經(jīng)編碼的視頻數(shù)據(jù)中的起始的經(jīng)編碼的畫面的解碼延遲值替換為使得能夠連續(xù)解碼和顯示的值。
6.根據(jù)權(quán)利要求1所述的視頻編碼裝置,其中,所述第一畫面是在不參考任何其它畫面的情況下被編碼的畫面。
7.根據(jù)權(quán)利要求1所述的視頻編碼裝置,其中,所述畫面編碼單元向所述經(jīng)編碼的視頻數(shù)據(jù)附加額外信息,所述額外信息指示緊接在一直到拼接點畫面的所述經(jīng)編碼的視頻數(shù)據(jù)被解碼之前或之后的、所述視頻解碼裝置中的理想化接收緩沖器的狀態(tài),并且其中,所述拼接點畫面是這樣的畫面:其使得即使當(dāng)另一經(jīng)編碼的視頻數(shù)據(jù)緊接在所述拼接點畫面之后被附加時,所述拼接點畫面和在編碼順序上早于所述拼接點畫面的任何畫面也能被解碼。
8.一種用于通過幀間預(yù)測性編碼來對經(jīng)編碼的視頻數(shù)據(jù)進行解碼的視頻解碼裝置,包括: 畫面解碼/顯示時間確定單元,其當(dāng)所述經(jīng)編碼的視頻數(shù)據(jù)包含指示所述經(jīng)編碼的視頻數(shù)據(jù)已通過將第二經(jīng)編碼的視頻數(shù)據(jù)拼接到第一經(jīng)編碼的視頻數(shù)據(jù)的尾端而被產(chǎn)生的信息、指示在所述第一經(jīng)編碼的視頻數(shù)據(jù)和所述第二經(jīng)編碼的視頻數(shù)據(jù)被拼接于的拼接點之后的、所述第二經(jīng)編碼的視頻數(shù)據(jù)中的在編碼順序上遲于起始的經(jīng)編碼的畫面的一個或多個經(jīng)編碼的畫面已被丟棄的信息、用于對跟隨所述起始的經(jīng)編碼的畫面的畫面的解碼延遲進行校正的解碼延遲校正信息、以及用于對所述起始的經(jīng)編碼的畫面的顯示延遲進行校正的顯示延遲校正信息時,則基于所述顯示延遲校正信息來對所述起始的經(jīng)編碼的畫面的所述顯示延遲進行校正,同時基于所述解碼延遲校正信息來對跟隨所述起始的經(jīng)編碼的畫面的畫面的所述解碼延遲進行校正。
9.根據(jù)權(quán)利要求8所述的視頻解碼裝置,其中,所述解碼延遲校正信息攜帶了與在編碼順序上遲于所述起始的經(jīng)編碼的畫面的被丟棄的經(jīng)編碼的畫面的數(shù)目對應(yīng)的值。
10.根據(jù)權(quán)利要求8所述的視頻解碼裝置,其中,所述顯示延遲校正信息攜帶了與在在編碼順序上遲于所述起始的經(jīng)編碼的畫面的畫面當(dāng)中的、在顯示順序上最早的畫面的顯示時間與所述起始的經(jīng)編碼的畫面的顯示時間之間出現(xiàn)的畫面的數(shù)目對應(yīng)的值。
11.根據(jù)權(quán)利要求8所述視頻解碼裝置,其中,所述畫面解碼/顯示時間確定單元以這樣的方式確定所述起始的經(jīng)編碼的畫面的所述解碼延遲:即,以至于彌補如根據(jù)在所述拼接點之前的經(jīng)編碼的畫面計算出的、在所述起始的經(jīng)編碼的畫面的解碼時在接收緩沖器中保持的數(shù)據(jù)量與在所述接收緩沖器中實際保持的數(shù)據(jù)量之間的任何差別。
12.根據(jù)權(quán)利要求8所述的視頻解碼裝置,其中,當(dāng)所述經(jīng)編碼的視頻數(shù)據(jù)包含指示所述經(jīng)編碼的視頻數(shù)據(jù)是否能跨所述拼接點而被連續(xù)地解碼并顯示的信息時,如果所述信息指示所述經(jīng)編碼的視頻數(shù)據(jù)能被連續(xù)地解碼并顯示,則所述畫面解碼/顯示時間確定單元將所述經(jīng)編碼的視頻數(shù)據(jù)中所包含的解碼延遲信息的值作為用于所述起始的經(jīng)編碼的畫面的解碼延遲值,而如果所述信息指示所述經(jīng)編碼的視頻數(shù)據(jù)不能被連續(xù)地解碼并顯示,則所述畫面解碼/顯示時間 確定單元將所述經(jīng)編碼的視頻數(shù)據(jù)中所包含的初始解碼延遲信息的值作為用于所述起始的經(jīng)編碼的畫面的所述解碼延遲值。
13.一種用于通過幀間預(yù)測性編碼來對視頻數(shù)據(jù)進行編碼的視頻編碼方法,包括: 由至少一個處理器獲得解碼延遲校正信息和顯示延遲校正信息,以便確保即使當(dāng)在所述視頻數(shù)據(jù)中在編碼順序上遲于有可能能夠被拼接到其它經(jīng)編碼的視頻數(shù)據(jù)的尾端的第一畫面的一個或多個畫面已被丟棄時,所述經(jīng)編碼的視頻數(shù)據(jù)中的所述第一畫面和后續(xù)畫面也能由視頻解碼裝置連續(xù)地解碼并顯示;以及 由所述至少一個處理器對所述視頻數(shù)據(jù)中所包含的每個畫面進行編碼并將所述解碼延遲校正信息和所述顯示延遲校正信息附加到經(jīng)編碼的所述視頻數(shù)據(jù)。
14.一種用于通過幀間預(yù)測性編碼來對經(jīng)編碼的視頻數(shù)據(jù)進行解碼的視頻解碼方法,包括: 當(dāng)所述經(jīng)編碼的視頻數(shù)據(jù)包含指示所述經(jīng)編碼的視頻數(shù)據(jù)已通過將第二經(jīng)編碼的視頻數(shù)據(jù)拼接到第一經(jīng)編碼的視頻數(shù)據(jù)的尾端而被產(chǎn)生的信息、指示在所述第一經(jīng)編碼的視頻數(shù)據(jù)和所述第二經(jīng)編碼的視頻數(shù)據(jù)被拼接于的拼接點之后的、所述第二經(jīng)編碼的視頻數(shù)據(jù)中的在編碼順序上遲于起始的經(jīng)編碼的畫面的一個或多個經(jīng)編碼的畫面已被丟棄的信息、用于對跟隨所述起始的經(jīng)編碼的畫面的畫面的解碼延遲進行校正的解碼延遲校正信息、以及用于對所述起始的經(jīng)編碼的畫面的顯示延遲進行校正的顯示延遲校正信息時,則由至少一個處理器基于所述顯示延遲校正信息來對所述起始的經(jīng)編碼的畫面的所述顯示延遲進行校正,同時由所述至少一個處理器基于所述解碼延遲校正信息來對跟隨所述起始的經(jīng)編碼的 畫面的畫面的所述解碼延遲進行校正。
【文檔編號】H04N19/89GK103533363SQ201310258424
【公開日】2014年1月22日 申請日期:2013年6月26日 優(yōu)先權(quán)日:2012年7月2日
【發(fā)明者】數(shù)井君彥, 島田智史, 小山純平 申請人:富士通株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
凌海市| 务川| 元江| 肇庆市| 迁安市| 岐山县| 大石桥市| 湖州市| 清丰县| 句容市| 托克托县| 武宣县| 江华| 寿宁县| 仁化县| 莱阳市| 高唐县| 宝山区| 富阳市| 花莲县| 定边县| 普定县| 嘉善县| 岳西县| 扎鲁特旗| 洛隆县| 麻城市| 邯郸县| 泌阳县| 淳化县| 邳州市| 浮梁县| 玉林市| 玛曲县| 怀安县| 杭锦旗| 文水县| 安西县| 汝南县| 丹巴县| 繁昌县|