專利名稱:視頻編碼方法、視頻譯碼方法、視頻編碼設備、視頻譯碼設備、視頻編碼程序和視頻譯碼程序的制作方法
技術領域:
本發(fā)明涉及視頻編碼方法、視頻譯碼方法、視頻編碼設備、視頻譯碼設備、視頻編碼程序和視頻譯碼程序。
背景技術:
視頻信號編碼技術用于視頻信號的傳輸和存儲-再現(xiàn)。熟知的技術例如包括國際標準視頻編碼方法例如ITU-T推薦H.263(下文稱為H.263),ISO/IEC國際標準14496-2(MPEG-4視頻,下文稱為MPEG-4)等。另一種已知的較新的編碼方法是預定用于由ITU-T和IAO/IEC、ITU-T推薦H.264以及ISO/IEC國際標準14496-10(Joint FinalCommittee Draft of Joint VideoSpecification,下文稱為H.26L)進行的聯(lián)合國際標準化的視頻編碼方法。
因為活動視頻信號由一系列隨時間一點一點地變化的圖像(幀)構成,在這些視頻編碼方法中,通常的做法是,在作為編碼對象檢索的幀(當前幀)和另一幀(參考幀)之間進行幀間預測,借以減少視頻信號中的時間上的冗余度。在這種情況下,當在當前幀和與當前幀具有較少的不同的參考幀之間進行幀間預測時,所述容冗余度可以被進一步減小,因而可以提高編碼效率。
因為這個原因,如圖6所示,對于當前幀A1的參考幀可以是相對于當前幀A1的時間上的先前幀A0,或者是時間上的隨后幀A2。利用先前幀進行的預測被稱為前向預測,而利用隨后幀進行的一側(cè)被稱為后向預測。雙向預測被定義為這樣一種預測,其中任意地選擇兩種預測方法中的一種,或者被定義為這樣一種預測,其中兩種方法被同時使用。
一般地說,利用這種雙向預測,例如在圖6所示的例子中,作為前向預測的參考幀的在時間上的先前幀和作為后向預測的參考幀的在時間上的隨后幀都在當前幀之前被預先存儲。
圖7A和圖7B是表示在圖6所示的雙向預測的情況下(A)譯碼和(B)幀的輸出的圖。例如,在MPEG-4的譯碼中,當利用雙向幀間預測對當前幀A1譯碼時,相對于幀A1是一個時間上的先前幀的幀A0和在時間上的隨后幀的幀A2,在對當前幀A1譯碼之前,首先作為被幀內(nèi)預測而不是幀間預測解碼的幀或者作為由前向幀間預測譯碼的幀被譯碼,并且把它們作為參考幀保留。此后,使用這樣保存的兩個幀A0、A2,利用雙向預測對當前幀A1譯碼(圖7A)。
因此,在這種情況下,時間上的隨后參考幀A2和當前幀A1的譯碼時間的順序和其各自的譯碼圖像的輸出時間的順序相反。這些幀A0,A1和A2的每一個附有輸出時間信息0,1或2,因而按照這個信息可以得知幀的時間序列。由于這個原因,按照正確的順序輸出譯碼的圖像(圖7B)。在MPEG-4中,輸出時間信息用絕對值描述。
最近的一些視頻編碼方法允許使用多個參考幀實施上述的幀間預測,而不是前向中的一個參考幀和后向中的一個參考幀,使得能夠由相對于當前幀具有更小變化的幀進行預測,如圖8所示。圖8表示一個例子,其中使用相對于當前幀B2的兩個時間上的先前幀B0、B1和兩個時間上的隨后幀B3、B4作為當前幀B2的參考幀。
圖9A和9B是表示在圖8所示的雙向預測的情況下(A)幀的譯碼和(B)幀的輸出的圖。例如,在按照H.26L譯碼時,可以在多達參考幀的數(shù)量的一個預定的上限范圍內(nèi)保留多個參考幀,并且當進行幀間預測時,則從它們當中任意地指定一個最佳的參考幀。在這種情況下,當當前幀B2作為雙向預測的幀被譯碼時,在對當前幀B2譯碼之前,所述參考幀被首先譯碼。所述參考幀包括相對于當前幀B2的多個時間上的先前幀(例如兩個幀B0,B1)和多個時間上的隨后幀(例如兩個幀B3,B4),它們被譯碼并作為參考幀被保持。當前幀B2可以由這些幀B0,B1,B3,B4當中的被任意指定用于預測的一個幀被預測(圖9A)。
因此,在這種情況下,時間上的隨后參考幀B3,B4和當前幀B2的譯碼時間的順序和它們各自的輸出時間的順序相反。B0-B4的這些幀中的每一個附有輸出時間信息或者輸出順序信息0-4,因而按照這個信息可以得知幀的時間序列。由于這個原因,譯碼圖像按照正確的順序被輸出(圖9B)。輸出時間信息通常用絕對值描述。當幀的間隔是常數(shù)時使用所述輸出順序。
為了使用時間上的隨后幀作為預測幀利用后向預測進行譯碼,需要滿足這樣的條件,即,在當前幀的譯碼之前要完成時間上的隨后幀的譯碼,以便使得其可被用作預測幀。在這種情況下,和不應用后向預測的幀相比,在當前幀的譯碼圖像成為可得到的之前發(fā)生延遲。
下面參照圖10A-10C對此進行具體說明。圖10A-10C相應于圖6,7A,7B所示的例子。首先,每個幀A0-A2的編碼數(shù)據(jù)按照用于執(zhí)行幀間預測所需的順序被譯碼,假定按照幀速率幀的間隔是恒定的時間間隔,并且用于每個幀A0-A2的譯碼操作所需的時間是可以忽略的,不論是否應用幀間預測,也不管幀間預測的方向(圖10A)。在實際上,幀A0-A2的譯碼時間間隔不必是恒定的,并且可以根據(jù)許多因素例如在幀A0-A2的編碼位中的變化而改變。不過,就平均而言,可以假定它們是恒定的。在任何情況下,用于譯碼操作所需的時間不是0,但是如果在幀A0-A2當中它們的差不是如此之大,則在后面的說明中,將不會引起嚴重問題。
這里假定,沒有由于后向預測而引起的延遲的、也沒有相對于任何其它幀譯碼時間和輸出時間的順序顛倒的幀A0(沒有延遲也沒有顛倒的幀下文稱之為后向預測非相關幀)的譯碼圖像被獲取時的時間被定義為和譯碼圖像相互關聯(lián)的輸出時間,并且譯碼圖像在所述輸出時間被輸出。假定隨后幀是后向預測幀A1,其譯碼圖像將在時間上的隨后幀A2之后被譯碼,因而在獲得譯碼圖像之前形成延遲。
由于這個原因,如果把獲得后向預測非相關幀A0的譯碼圖像時的時間被定義為輸出時間的參考,則在其相互關聯(lián)的輸出時間內(nèi)不能獲得后向預測幀A1的譯碼圖像(圖10B)。即,在后向預測非相關幀A0的譯碼圖像和后向預測幀A1的譯碼圖像之間的輸出時間間隔,和原來的時間間隔相比大出一個用于執(zhí)行后向預測所需的延遲時間,從而使視頻輸出不自然。
因此,在視頻編碼中應用后向幀間預測的情況下,如圖10C所示,同樣需要預先延遲后向預測非相關幀A0的譯碼圖像的輸出時間一個用于執(zhí)行所述后向預測所需的延遲時間,使得能夠正確處理后向預測幀A1的輸出時間間隔。
通常,對于在以下條件下的視頻編碼應用后向幀間預測,即,編碼是在高的比特速率下進行的,并且總是使用等于電視廣播信號的比特速率的每秒30幀的恒定幀速率,如電視廣播及其存儲那樣,因為后向幀間預測產(chǎn)生更多的預測選擇,因而增加了計算的復雜性,使得其在簡單的設備上不能實現(xiàn),并因為在涉及雙向?qū)υ挼膶崟r通信例如電視會議時增加延遲是不希望的。
在這種情況下,例如,如在MPEG-4中那樣,當使用一個時間上的隨后幀作為后向預測的參考幀時,在執(zhí)行后向預測時所需的延遲時間是常數(shù)。例如,當幀速率是上述的30幀/秒時,延遲時間是每個幀的時間間隔即1/30秒。因而,后向預測非相關幀的譯碼圖像的輸出時間應當被延遲的時間可以被相等地設置為1/30秒。
發(fā)明內(nèi)容
不過,近些年來,伴隨著計算機性能的改進和視頻服務的種類的增加,在通過因特網(wǎng)和移動通信進行的視頻傳輸中,延遲是可以允許的,因而要求以低的比特率進行視頻編碼的使用被增加。為了實現(xiàn)在低的比特率下編碼,使用小于30幀/秒的幀速率,或者使用可變的幀速率,以便動態(tài)地改變幀速率,以便控制編碼比特速率。
在這種視頻編碼中,當應用上述的后向預測以便更多地提高編碼效率時,由于后向預測而引起的延遲時間不總是等于以前使用的1/30秒。在可變幀速率的應用中,幀速率不是恒定的。例如,當暫時使用小的幀速率的情況下,每個幀的時間間隔成為大的,因而后向預測非相關幀的譯碼圖像的輸出時間應當延遲的時間不能被唯一地確定。由于這個原因,不能正確地處理在后向預測非相關幀的譯碼圖像和后向預測的幀的譯碼圖像之間的輸出時間間隔。
在這種情況下,具有一種這樣的可能的方法,其中對于后向預測預先考慮一個大的可允許延遲時間,并且使后向預測非相關幀的譯碼圖像的輸出時間總是延遲一個所述的延遲時間,借以正確地處理相對于后向預測的幀的譯碼圖像的輸出時間間隔。不過,在這種情況下,總是對譯碼圖像的輸出時間附加一個大的延遲,而不管在實際的后向預測中的延遲時間。
當在后向預測例如H.26L中使用多個參考幀時,作為時間上的隨后幀的所有參考幀的譯碼必須在當前幀譯碼之前完成。這進一步增加了為執(zhí)行后向預測所需的延遲時間。
在這種情況下,因為在后向預測中使用的參考幀的數(shù)量被唯一地確定為對于當前幀的要在當前幀之前被譯碼的時間上的隨后幀的數(shù)量,參考幀的數(shù)量可被選擇地在直到參考幀的預定的最大數(shù)量的上限的范圍內(nèi)改變。
例如,假定參考幀的數(shù)量的上限是4,則在后向預測中使用的參考幀的數(shù)量可以是2,如圖8所示,或者是1,如圖11A所示,或者是3,如圖11B所示。因為參考幀的數(shù)量可以用這種方式改變,用于執(zhí)行后向預測所需的延遲時間可以非常大地改變。這導致不能正確地處理在后向預測非相關幀的譯碼圖像和后向預測幀的譯碼圖像之間的輸出時間間隔。
此時,因為可以在后向預測中使用的參考幀的最大數(shù)量沒有超過參考幀的數(shù)量的上限,按照參考幀的數(shù)量的上限確定的延遲時間是在執(zhí)行后向預測時可能發(fā)生的最大延遲時間。因此,如果后向預測非相關幀的譯碼圖像的輸出時間總是被延遲這個延遲時間,則相對于后向預測的幀的譯碼圖像的輸出時間間隔可被正確地處理。
不過,在這種情況下,總是對譯碼圖像的輸出時間附加大的延遲,而不管后向預測的幀實際使用的參考幀的數(shù)量。在上述的可變幀速率的應用中,雖然參考幀的最大數(shù)量可被唯一地確定,但是不能唯一地確定最大延遲時間。
在迄今為止的應用后向預測進行視頻編碼的應用中,除去完全地使用固定的幀速率的情況之外,不能唯一地確定為執(zhí)行后向預測所需的延遲時間。這使得不能正確地處理在后向預測非相關幀的譯碼圖像和后向預測幀的譯碼圖像之間的輸出時間間隔,因而造成了視頻輸出不自然的問題。
在后向預測中使用多個參考幀的情況下,也可以改變參考幀的數(shù)量,因而可以改變延遲時間。因此,具有不能正確地處理在后向預測非相關幀的譯碼圖像和后向預測幀的譯碼圖像之間的時間間隔問題。在為了應對這個問題而總是采用最大延遲時間的情況下,產(chǎn)生了總是對譯碼圖像的輸出時間附加大的延遲問題。
本發(fā)明便是為了解決上述問題而作出的,因而本發(fā)明的目的在于,提供一種視頻編碼方法、視頻譯碼方法、視頻編碼設備、視頻譯碼設備、視頻編碼程序和視頻譯碼程序,它們能夠在執(zhí)行后向幀間預測時實現(xiàn)譯碼圖像以合適的時間間隔輸出。
為了實現(xiàn)上述目的,按照本發(fā)明的視頻編碼方法是一種實現(xiàn)在一幀和另一幀之間的幀間預測的視頻編碼方法,所述視頻編碼方法包括輸出一個由后向預測引起的最大延遲時間。
同樣,按照本發(fā)明的視頻編碼設備是一種用于實現(xiàn)在一幀和另一幀之間的幀間預測的視頻編碼設備,所述視頻編碼設備被構成用于輸出一個由后向預測引起的最大延遲時間。
在上述的按照本發(fā)明的視頻編碼方法和視頻編碼設備中,在編碼由一系列的幀構成的活動圖像并輸出編碼的數(shù)據(jù)時,除去所述編碼的數(shù)據(jù)之外,還輸出由于后向預測而產(chǎn)生的最大延遲時間。這使得在使用后向幀間預測時能夠以合適的時間間隔輸出譯碼圖像。
按照本發(fā)明的視頻編碼程序是一種用于使計算機執(zhí)行用于實現(xiàn)在一幀和另一幀之間的幀間預測的視頻編碼的視頻編碼程序,所述視頻編碼程序使計算機執(zhí)行用于輸出由后向預測引起的最大延遲時間的處理。
在上述的按照本發(fā)明的視頻編碼程序中,在編碼活動圖像并輸出其編碼數(shù)據(jù)時,使所述計算機除去輸出編碼數(shù)據(jù)之外,還執(zhí)行輸出最大延遲時間的處理。這使得在執(zhí)行后向幀間預測時能夠以合適的時間間隔輸出譯碼圖像。
按照本發(fā)明的視頻譯碼方法是一種實現(xiàn)在一幀和另一幀之間的幀間預測的視頻譯碼方法,所述視頻譯碼方法包括實現(xiàn)輸入由后向預測引起的最大延遲時間。
同樣,按照本發(fā)明的視頻譯碼設備是一種用于實現(xiàn)在一幀和另一幀之間的幀間預測的視頻譯碼設備,所述視頻譯碼設備被構成用于實現(xiàn)輸入由后向預測引起的最大延遲時間。
在上述的按照本發(fā)明的視頻譯碼方法和視頻譯碼設備中,在譯碼輸入的編碼數(shù)據(jù)從而產(chǎn)生活動圖像時,除去編碼數(shù)據(jù)之外,還輸入由于后向預測而產(chǎn)生的最大延遲時間。這使得在執(zhí)行后向幀間預測時能夠以合適的時間間隔輸出譯碼圖像。
按照本發(fā)明的視頻譯碼程序是一種用于使計算機執(zhí)行用于實現(xiàn)在一幀和另一幀之間的幀間預測的視頻譯碼的視頻譯碼程序,所述視頻譯碼程序使計算機執(zhí)行實現(xiàn)輸入由后向預測引起的最大延遲時間的處理。
在上述的按照本發(fā)明的視頻譯碼程序中,在譯碼編碼數(shù)據(jù)從而產(chǎn)生活動圖像時,使所述計算機除去輸入編碼數(shù)據(jù)之外,還執(zhí)行用于實現(xiàn)輸入最大延遲時間的處理。這使得在使用后向幀間預測時能夠以合適的時間間隔輸出譯碼圖像。
另一種視頻編碼方法是一種包括以下步驟的視頻編碼方法輸入步驟,用于實現(xiàn)作為編碼的對象的幀的輸入;編碼步驟,用于利用預定的方法對所述的幀編碼;以及最大延遲時間計算步驟,用于由所述幀的顯示時間、編碼時間、和后向預測引起的延遲時間計算所述幀的最大延遲時間。
類似地,另一種視頻編碼設備是一種包括以下裝置的視頻編碼設備輸入裝置,用于實現(xiàn)作為編碼的對象的幀的輸入;編碼裝置,用于利用預定的方法對所述的幀編碼;以及最大延遲時間計算裝置,用于由所述幀的顯示時間、編碼時間、和由后向預測引起的延遲時間計算所述幀的最大延遲時間。
類似地,另一種視頻編碼程序是一種用于使計算機執(zhí)行以下處理的視頻編碼程序輸入處理,用于實現(xiàn)作為編碼的對象的幀的輸入;編碼處理,用于利用預定的方法對所述的幀編碼;以及最大延遲時間計算處理,用于由所述幀的顯示時間、編碼時間、和由后向預測引起的延遲時間計算所述幀的最大延遲時間。
在上述的按照本發(fā)明的視頻編碼方法、設備和程序中,幀的最大延遲時間在編碼活動圖像時被計算。這使得在使用后向幀間預測時能夠?qū)崿F(xiàn)以合適的時間間隔輸出譯碼圖像。
另一種視頻譯碼方法是一種包括以下步驟的視頻譯碼方法輸入步驟,用于實現(xiàn)包含由預定方法編碼的幀的編碼數(shù)據(jù)的圖像數(shù)據(jù)、所述幀的譯碼時間和最大延遲時間的輸入;譯碼步驟,用于利用預定的方法譯碼所述編碼數(shù)據(jù),從而產(chǎn)生再現(xiàn)的幀;以及圖像輸出時間計算步驟,用于根據(jù)所述譯碼時間和所述最大延遲時間計算用于顯示所述幀的輸出時間。
類似地,另一種視頻譯碼設備是一種包括以下裝置的視頻譯碼設備輸入裝置,用于實現(xiàn)包含由預定方法編碼的幀的編碼數(shù)據(jù)的圖像數(shù)據(jù)、所述幀的譯碼時間和最大延遲時間的輸入;譯碼裝置,用于譯碼所述編碼數(shù)據(jù),從而產(chǎn)生再現(xiàn)的幀;以及圖像輸出時間計算裝置,用于根據(jù)所述譯碼時間和所述最大延遲時間計算用于顯示所述幀的輸出時間。
類似地,另一種視頻譯碼程序是一種用于使計算機執(zhí)行以下處理的視頻譯碼程序輸入處理,用于實現(xiàn)包含由預定方法編碼的幀的編碼數(shù)據(jù)的圖像數(shù)據(jù)、所述幀的譯碼時間和最大延遲時間的輸入;譯碼處理,用于利用預定的方法譯碼所述編碼數(shù)據(jù),從而產(chǎn)生再現(xiàn)的幀;以及圖像輸出時間計算處理,用于根據(jù)所述譯碼時間和所述最大延遲時間計算用于顯示所述幀的輸出時間。
在上述的按照本發(fā)明的視頻譯碼方法、設備和程序中,在譯碼編碼的數(shù)據(jù)以便產(chǎn)生活動的圖像時,根據(jù)最大延遲時間計算用于顯示所述幀的輸出時間。這使得在使用后向幀間預測時能夠?qū)崿F(xiàn)以合適的時間間隔輸出譯碼圖像。
關于在所述的視頻編碼方法、編碼設備和編碼程序中輸出的最大延遲時間,優(yōu)選地將所述最大延遲時間定義為在要被進行后向幀間預測的幀的發(fā)生時間和在后向預測中可被用作參考幀的時間上的最后的隨后幀的發(fā)生時間之間的時間差。
關于所述最大延遲時間的應用,所述最大延遲時間可以作為要被施加于整個編碼數(shù)據(jù)的信息被輸出。在另一個實施例中,所述最大延遲時間可以作為施加于每幀的信息被輸出。在另一個實施例中,所述最大延遲時間可以作為要被施加于所述最大延遲時間被指示應用的幀、以及在上述幀之后的每個時間上的隨后幀的信息被選擇地輸出。
關于在所述視頻譯碼方法、譯碼設備和譯碼程序中輸入的最大延遲時間,優(yōu)選地,所述最大延遲時間被定義為在相對于任何其它幀,譯碼時間和輸出時間的順序不顛倒的幀的譯碼時間和與上述的幀相互關聯(lián)的譯碼圖像輸出時間之間的時間差。在另一個實施例中,此后,優(yōu)選地,根據(jù)最大延遲時間設置譯碼圖像輸出時間的一個參考時間。
關于所述最大延遲時間的應用,所述最大延遲時間可以作為要被施加于整個編碼數(shù)據(jù)的信息被輸出。在另一個實施例中,所述最大延遲時間可以作為施加于每幀的信息被輸入。在另一個實施例中,所述最大延遲時間可以作為要被施加于所述最大延遲時間被指示應用的幀、以及在上述幀之后的每個時間上的隨后幀的信息被選擇地輸入。
按照本發(fā)明的視頻處理系統(tǒng)是這樣一種視頻處理系統(tǒng),所述系統(tǒng)包括視頻編碼設備和視頻譯碼設備,其中所述編碼設備是上述的視頻編碼設備,所述譯碼設備是上述的視頻譯碼設備。
如上所述,所述視頻處理系統(tǒng)利用所述視頻編碼設備和所述視頻譯碼設備被構成,用于實現(xiàn)由于后向預測而引起的最大延遲時間的輸出和輸入。這充分實現(xiàn)了一種在使用后向幀間預測時能夠以合適的時間間隔輸出譯碼圖像的視頻處理系統(tǒng)。
圖1是表示視頻編碼設備、視頻譯碼設備和視頻處理系統(tǒng)的原理結(jié)構的方塊圖;圖2表示在進行雙向預測的情況下的幀的編碼的例子;圖3是表示視頻編碼設備的結(jié)構的例子的方塊圖;圖4是表示視頻譯碼設備的結(jié)構的例子的方塊圖;圖5A和圖5B表示在進行圖2所示的雙向預測的情況下(A)幀的譯碼和(B)幀的輸出;圖6表示在進行雙向預測的情況下的幀的編碼;圖7A和圖7B表示在進行圖6所示的雙向預測的情況下(A)幀的譯碼和(B)幀的輸出;圖8表示在進行雙向預測的情況下幀的編碼;圖9A和圖9B表示在進行圖8所示的雙向預測的情況下(A)幀的譯碼和(B)幀的輸出;圖10A-10C表示在進行雙向預測的情況下的(A)幀的譯碼,(B)幀的輸出和(C)幀的延遲輸出;以及圖11A和圖11B表示在進行雙向預測的情況下幀的編碼。
具體實施例方式
下面參照
按照本發(fā)明的視頻編碼方法、視頻譯碼方法、視頻編碼設備、視頻譯碼設備、視頻編碼程序和視頻譯碼程序的優(yōu)選實施例。在所有的附圖中,相同的元件用相同的標號表示,并且沒有其多余的說明。
首先在原理上說明本發(fā)明中的活動圖像的編碼和譯碼。圖1是用于表示按照本發(fā)明的視頻編碼設備、視頻譯碼設備和視頻處理系統(tǒng)的示意的結(jié)構的方塊圖。所述視頻處理系統(tǒng)由視頻編碼設備1和視頻譯碼設備2構成。下面和在其中執(zhí)行的視頻編碼方法和視頻譯碼方法一道說明視頻編碼設備1、視頻譯碼設備2以及視頻處理系統(tǒng)。
視頻編碼設備1是一種被構成用于編碼由一系列圖像(幀)構成的視頻數(shù)據(jù)D0,并輸出編碼數(shù)據(jù)D1,以便進行活動的圖像的傳輸、存儲和再現(xiàn)的裝置。視頻譯碼設備2是一種被構成用于譯碼輸入的編碼數(shù)據(jù)D1,從而產(chǎn)生由一系列的幀構成的譯碼的活動圖像數(shù)據(jù)D2的裝置。視頻編碼設備1和視頻譯碼設備2通過預定的有線或無線數(shù)據(jù)傳輸線路相連,以便傳輸所需的數(shù)據(jù)例如編碼數(shù)據(jù)D1和其它數(shù)據(jù)。
在視頻編碼設備1中進行的活動圖像的編碼中,如前所述,進行在作為編碼對象輸入的視頻數(shù)據(jù)D0的一幀和作為參考幀的另一幀之間的幀間預測,以便減少視頻數(shù)據(jù)的冗余度。在圖1所示的視頻處理系統(tǒng)中,視頻編碼設備1由用于幀間預測的時間上的隨后幀進行后向幀間預測。此外,所述視頻編碼設備1除去輸出編碼數(shù)據(jù)D1之外,還輸出由所述后向預測引起的最大延遲時間。
和這種視頻編碼設備1相應,視頻譯碼設備2被構成用于除去實現(xiàn)輸入來自視頻編碼設備1的編碼數(shù)據(jù)D1之外,還實現(xiàn)輸入由后向預測引起的最大延遲時間。然后,視頻譯碼設備2參考輸入的最大延遲時間譯碼編碼數(shù)據(jù)D1,從而產(chǎn)生視頻數(shù)據(jù)D2。
利用被構成用于輸出最大延遲時間的視頻編碼設備1和視頻編碼方法、被構成用于實現(xiàn)輸入最大延遲時間的視頻譯碼設備2和視頻譯碼方法、以及配備有所述設備1和設備2的適用于上述的后向幀間預測的視頻處理系統(tǒng),在利用后向幀間預測進行幀間預測時,能夠使譯碼的圖像以合適的時間間隔輸出。
關于例如在視頻編碼中輸出的最大延遲時間,其可以被定義為在要被進行后向幀間預測的幀的發(fā)生時間和可以用作后向預測的參考幀的在時間上的最后的隨后幀的發(fā)生時間之間之間的時間差。
關于例如在視頻譯碼中輸入的最大延遲時間,所述最大延遲時間(下文被稱為dpb_output_delay)被定義為在沒有因后向幀間預測而引起的延遲,并相對任何其它幀,譯碼時間和輸出時間的順序不顛倒的幀的譯碼時間(所述譯碼時間下文被稱為Tr)和與有關的幀相互關聯(lián)的譯碼圖像的輸出時間(所述輸出時間下文被稱為To)之間的時間差。在這種情況下,此后,優(yōu)選地根據(jù)所述最大延遲時間設置譯碼圖像輸出時間的參考時間。
最大延遲時間的應用可以是這樣一種方法,其中把所述最大延遲時間施加于整個的編碼數(shù)據(jù),或者是這樣一種方法,其中把最大延遲時間施加于每個幀。另一種應用方法是這樣一種方法,其中把最大延遲時間施加于在預告最大延遲時間的信息之后的每個幀,即施加于對其指示最大延遲時間的幀和在時間上在所述幀的后面的每個幀。下面具體地詳細說明在這些方法中最大延遲時間的輸出、輸入、應用等。
相應于在上述的視頻編碼設備1中執(zhí)行的視頻編碼方法的處理可以由用于使計算機執(zhí)行所述視頻編碼的視頻編碼程序?qū)嶓w化。在所述視頻譯碼設備2中執(zhí)行的視頻譯碼方法的處理可以由用于使計算機執(zhí)行所述視頻譯碼的視頻譯碼程序?qū)嶓w化。
例如,視頻編碼設備1可以由和ROM以及RAM相連的CPU構成,所述ROM用于存儲視頻編碼的各個操作所需的軟件程序,所述RAM用于在程序執(zhí)行期間暫時保留數(shù)據(jù)。在這種結(jié)構中,視頻編碼設備1可以通過使所述CPU執(zhí)行預定的視頻編碼程序?qū)嶓w化。
類似地,視頻譯碼設備2可以由和ROM以及RAM相連的CPU構成,所述ROM用于存儲視頻譯碼的各個操作所需的軟件程序,所述RAM用于在程序執(zhí)行期間暫時保留數(shù)據(jù)。在這種結(jié)構中,視頻譯碼設備2可以通過使所述CPU執(zhí)行預定的視頻譯碼程序?qū)嶓w化。
上述的用于使CPU執(zhí)行視頻編碼或視頻譯碼處理的程序可以以被記錄在計算機可讀的記錄介質(zhì)上的形式被分配。這種記錄介質(zhì)例如包括磁介質(zhì),例如硬盤和軟盤;光學介質(zhì),例CD-ROM和DVD-ROM;磁光介質(zhì),例如軟光盤;或硬件裝置,例如RAM,ROM,以及半導體非易失存儲器,它們被安裝用于執(zhí)行或者存儲程序指令。
下面參照特定的實施例說明圖1所示的視頻處理系統(tǒng)具有的視頻編碼設備和視頻譯碼設備,以及和其相應的視頻編碼方法和視頻譯碼方法。下面的說明將根據(jù)這樣的假設進行,即,根據(jù)H.26L進行活動視頻圖象的編碼和譯碼操作,并且在關于視頻編碼操作中沒有專門說明的部分將符合H.26L的操作。不過,應當注意,本發(fā)明不限于H.26L。
第一實施例首先說明本發(fā)明的第一實施例。本實施例將說明以固定的幀速率進行編碼的實施形式。在按照本實施例的編碼中,首先確定用于后向預測的參考幀的最大數(shù)量,此后,由所述參考幀的最大數(shù)量和在編碼時使用的幀速率計算最大延遲時間,然后輸出所述最大延遲時間。在按照本實施例的譯碼過程中,在譯碼后向預測非相關幀時,其譯碼圖像的輸出時間通過輸入的最大延遲時間被顯示。此后,輸出時間的延遲時間被均勻地施加于每個幀,從而防止在后向預測非相關幀的譯碼圖像和后向預測幀的譯碼圖像之間的輸出時間間隔偏離原來的時間間隔。
在編碼中,因為使用的參考幀的數(shù)量的上限是預先確定的,首先在不超過所述上限的范圍內(nèi)確定用于后向預測的參考幀的最大數(shù)量。然后,根據(jù)用于編碼的幀速率,其也是被預先確定的,按照用于后向預測的參考幀的最大數(shù)量,計算作為一幀或兩幀或多幀的最大延遲時間。
圖2是表示在執(zhí)行雙向預測時幀的編碼的例子的示意圖。圖2表示這樣一個例子,其中用于當前幀F(xiàn)2的參考幀是在當前幀F(xiàn)2之前的兩個在時間上的先前幀F(xiàn)0,F(xiàn)1,和在當前幀F(xiàn)2之后的兩個在時間上的隨后幀F(xiàn)3,F(xiàn)4。
在用于后向預測的參考幀的最大數(shù)量是2并且其中幀速率是15幀/秒的情況下,如圖2所示,一個幀的時間間隔是1/15秒。在這種情況下,因此,最大延遲時間是2×(1/15)=2/15秒。
在編碼操作中,此后的每個幀的編碼被這樣控制,使得不進行要求延遲時間大于所述最大延遲時間的后向預測。具體地說,幀的編碼的次序被這樣控制,使得在當前幀之前、用于后向預測的最大數(shù)量的參考幀以外不編碼和輸出用于后向預測的任何參考幀,即在當前幀之后的任何在時間上的隨后幀。
圖3是表示在本實施例中使用的視頻譯碼設備的結(jié)構的例子的方塊圖。圖3所示的視頻譯碼設備1由以下部分構成編碼器10,用于按照預定的方法對幀(圖像)編碼;控制器(CPU)15,用于控制編碼設備1的各個部分;被設置在輸入端1a和編碼器10之間的幀存儲器11;以及被設置在輸出端1b和編碼器10之間的多路傳輸器12。控制器15具有最大延遲時間計算器16,和其功能一樣,用于計算最大延遲時間。編碼器10配備有輸出緩沖器13。
在本編碼設備1中進行視頻編碼時,通過輸入端1c輸入用于編碼視頻的條件。在進行所述條件的所述輸入時,一般通過輸入裝置例如鍵盤選擇或者輸入編碼條件。在本實施例中,具體地說,輸入的編碼條件包括作為編碼的對象的幀的尺寸,幀速率,以及比特率,除此之外,編碼條件還包括所述視頻的預定的參考結(jié)構(是否應用后向預測),暫時存儲的被用作參考幀的幀數(shù)(相應于輸出緩沖器13的容量),以及用于后向預測的參考幀數(shù)。這些條件可以被這樣設置,使得它們隨時間而改變。通過輸入端1c輸入的編碼條件被存儲在控制器15內(nèi)。
在編碼操作開始時,控制器15向編碼器10發(fā)送編碼條件,此時,編碼條件被設置。在另一方面,通過輸入端1a輸入作為編碼對象的幀,并通過幀存儲器11將所述的幀送到編碼器10在其中進行編碼。輸入的幀被暫時保留在幀緩沖器11中,因為要改變幀的順序,以便執(zhí)行后向預測。例如,在圖2所示的例子中,幀F(xiàn)2在幀F(xiàn)3,F(xiàn)4之前通過輸入端1a被輸入,但是其在幀F(xiàn)3,F(xiàn)4之后被編碼。因此,幀F(xiàn)2被暫時存儲在幀緩沖器11中。
編碼器10根據(jù)H.26L的算法對幀進行編碼。然后,編碼數(shù)據(jù)被送到多路傳輸器12,以便和其它有關的信息被多路傳輸,然后通過輸出端1b輸出多路傳輸?shù)臄?shù)據(jù)。用于預測的幀在編碼器10中被再現(xiàn),并作為用于編碼下一幀的參考幀被存儲在緩沖器13中。
在本實施例中,控制器15的最大延遲時間計算器16根據(jù)通過輸入端1c輸入的用于后向預測的參考幀數(shù)和幀速率計算最大延遲時間dpb_output_delay。然后,多路傳輸器12把所述最大延遲時間附加到編碼的圖像數(shù)據(jù)上。此外,用于識別每一幀的顯示順序的識別符(N)也一道被附加于每幀的編碼數(shù)據(jù)上。
當然,當不應用后向預測時,使用的參考幀數(shù)是0,因而dpb_output_delay的值是0。
假定在本實施例中用于傳輸最大延遲時間的語法被附加于H.26L中的編碼數(shù)據(jù)語法上,以便在編碼時實現(xiàn)最大延遲時間的輸出和在譯碼時最大延遲時間的輸入。在這個例子中,新的語法被附加于序列參數(shù)組(Sequence Parameter Set)內(nèi),作為用于傳輸要被加于整個編碼數(shù)據(jù)的信息的語法。
參數(shù)dpb_output_delay被定義為用于傳輸最大延遲時間的語法。這里假定參數(shù)dpb_output_delay使用和在H.26L中表示時間的其它語法使用的相同的時間單位,并且其以90kHz的時間單位表示最大延遲時間。用所述時間單位表示的數(shù)值被編碼,并以32位的無符號的固定長度的代碼被傳輸。例如,當最大延遲時間是上述的2/15秒時,dpb_output_delay是(2/15)×90000=12000。
在譯碼操作中,由dpb_output_delay傳輸?shù)淖畲笱舆t時間被譯碼,并使用所述最大延遲時間延遲譯碼圖像的輸出時間。
圖4是表示在本實施例中使用的視頻譯碼設備的結(jié)構的例子的方塊圖。圖4所示的視頻譯碼設備2由以下部分構成譯碼器20,用于譯碼編碼的數(shù)據(jù),從而產(chǎn)生再現(xiàn)的圖像;控制器(CPU)25,用于控制譯碼設備2中的各個部分的操作;被設置在輸入端2a和譯碼器20之間的輸入緩沖器21;以及被設置在輸出端2b和譯碼器20之間的輸出緩沖器22??刂破?5具有圖像輸出時間計算器26,和其功能一樣,用于計算輸出時間,以便進行幀的顯示。
在這種譯碼設備2中進行視頻譯碼時,作為譯碼對象的數(shù)據(jù)通過輸入端2a被輸入。這個數(shù)據(jù)是由圖3所示的編碼設備1編碼的每幀的編碼數(shù)據(jù)、最大延遲時間dpb_output_delay、以及表示每幀的顯示順序的識別符(N)的多路傳輸數(shù)據(jù)。
輸入數(shù)據(jù)被存儲在輸入緩沖器21中。當來自控制器25的指令表示譯碼時間到時,從輸入緩沖器21向譯碼器20輸入一幀的數(shù)據(jù),然后按照H.26L的算法被譯碼。用這種方式再現(xiàn)的幀被存儲在輸出緩沖器22中。在輸出緩沖器22中的幀通過線路23被向回送到譯碼器20中,被用作用于下一幀的譯碼的參考幀。
在另一方面,最大延遲時間dpb_output_delay,幀速率,以及在譯碼器20中被譯碼的每幀的識別符(N)被送入控制器25。然后控制器25的圖像輸出時間計算器按照以下的公式由這些數(shù)據(jù)計算每幀的輸出時間To(n)=dpb_output_delay+N×幀間隔在這個公式中,所述幀間隔由幀速率確定。
假定dpb_output_delay是2/15秒,幀間隔是1/15秒,如圖2所示的例子那樣,按照上述公式,各個幀的輸出時間被計算如下N=0,To(0)=2/15N=1,To(1)=3/15N=2,To(2)=4/15N=3,To(3)=5/15按照用這種方式由控制器25獲得的輸出時間To(n),以恒定的間隔向輸出端2b輸出在輸出緩沖器22中的幀,如圖5B所示的幀F(xiàn)0,F(xiàn)1,F(xiàn)2,和F3所示。雖然未示出,輸出端2b和作為監(jiān)視器的顯示裝置相連。
圖5A和圖5B是表示在圖2中所示的雙向預測的情況下幀的(A)譯碼和(B)輸出的圖。在譯碼操作中,假定幀的編碼數(shù)據(jù)按照用于執(zhí)行幀間預測所需的順序被譯碼,按照所述幀速率,其時間間隔是恒定的時間間隔,并且用于對每幀進行譯碼所需的時間是可以忽略的,而不管是否應用幀間預測,也不管幀間預測的方向。在這種情況下,按照用于后向預測的最大參考幀數(shù),在后向預測的幀中用于執(zhí)行后向預測所需的最大延遲時間等于一幀或幾幀的時間間隔。這個時間作為最大延遲時間由dpb_output_delay傳輸。因而,為了輸出譯碼圖像,其輸出時間被延遲一個最大延遲時間。
實際上,各個幀的譯碼時間間隔不是恒定的,而根據(jù)許多因素改變,例如幀的譯碼比特的改變。用于每幀的譯碼操作所需的時間也可以按照所述的幀是否是后向預測幀或者按照每個幀的編碼比特而改變。
因此,為了延遲所述輸出時間,在獲得后向預測非相關幀F(xiàn)0的譯碼圖像的時刻設置所述參考時間,所述幀F(xiàn)0沒有由于后向預測而產(chǎn)生的延遲,也沒有相對于其它的幀而發(fā)生的譯碼時間和輸出時間的順序的顛倒,如圖5A和5B所示。即,通過把獲得譯碼圖像時的時間延遲一個由dpb_output_delay表示的最大延遲時間而獲得的時間被確定為等于和這個譯碼圖像相關聯(lián)的輸出時間的時間,并被用作輸出譯碼圖像的參考時間。此后,當這個參考時間和等于和每個譯碼圖像相關聯(lián)的輸出時間的時間一致時,則輸出譯碼圖像F1-F4。
當最大延遲時間是2/15秒時,如上所述,從獲得后向預測非相關幀的譯碼圖像時的時間延遲2/15秒的時間被確定為等于和這個譯碼圖像相關聯(lián)的輸出時間的時間,并被用作此后輸出譯碼圖像的參考時間。
按照所述的情況,可以想見,故意不預告最大延遲時間,以簡化編碼或譯碼操作。對于這種情況,假定在用于傳輸最大延遲時間的語法之前傳輸一個表示語法的有無的標記,則用于預告最大延遲時間的語法可以被設置為可以省略的。
在可以省略最大延遲時間的預告的情況下,所述編碼操作可以被預先規(guī)定,例如使得不使用后向預測,或者在后向預測中使用的參考幀數(shù)可以在不超過參考幀數(shù)的上限范圍內(nèi)被選擇地改變。
譯碼操作可以被配置使得和編碼操作中的所述規(guī)定一致地進行,例如,當不應用后向預測時,則不發(fā)生用于執(zhí)行后向預測所需的延遲;或者,譯碼操作可以被這樣配置,使得在后向預測中使用的參考幀數(shù)可以在不超過參考幀數(shù)的上限的范圍內(nèi)被選擇地改變,即,延遲時間可以變大。在這種情況下,譯碼操作可以被配置使得總是進行假定一個預期的最大延遲時間的處理,或者譯碼操作可以被配置使得允許譯碼圖像的輸出時間間隔的改變并進行不考慮每幀的延遲時間的簡化處理。
本實施例根據(jù)這樣的假定進行了說明,即,根據(jù)H.26L執(zhí)行操作,但是應當注意,可以應用本發(fā)明的視頻編碼方法不限于H.26L,并且本發(fā)明可以應用于利用后向幀間預測的各種視頻編碼方法。
在本實施例中,利用固定長度代碼的語法作為用于傳輸最大延遲時間的語法被附加在序列參數(shù)組內(nèi),不過應當注意,用于傳輸最大延遲時間的代碼和語法或者用于表示最大延遲時間的時間單位當然不限于這些。固定長度代碼可以由可變長度代碼代替,并且最大延遲時間可以借助于能夠向整個的編碼數(shù)據(jù)傳送要被提供的信息的多種語法的任何一種語法來傳輸。
例如,在H.26L中,語法可以被附加在補充的增強信息報文(Supplemental Enhancement Information Message)中。在使用另外的視頻編碼方法的情況下,最大延遲時間可以利用在有關的編碼方法中用于向整個編碼數(shù)據(jù)傳輸要被提供的信息的語法來傳輸。在另外的情況下,最大延遲時間也可以在視頻編碼方法的編碼數(shù)據(jù)的外部被傳輸,如在用于使用H.263通信時用于傳輸控制信息的ITU-TRecommendation H.245中那樣。
(第二實施例)
下面說明本發(fā)明的第二實施例。本實施例將說明以可變幀速率進行編碼的實施形式。按照本實施例的編碼和譯碼操作大部分基本上和第一實施例的相同。因為本實施例使用可變的幀速率,其涉及在低的幀速率下進行操作,以便除去在第一實施例中的在編碼時進行的操作之外,避免執(zhí)行需要的延遲時間大于預先計算的最大延遲時間范圍的后向預測,使得即使在可變的幀速率下,也能避免在后向預測非相關幀的譯碼圖像和后向預測幀的譯碼圖像之間的輸出時間間隔偏離原始的時間間隔。
因為在譯碼操作中參考幀數(shù)的上限被預先確定,首先確定在不超過所述上限范圍內(nèi)的用于后向預測的參考幀的最大數(shù)量。然后然后根據(jù)在編碼比特率的控制中預先確定的目標幀速率確定最大的幀時間間隔,并按照在后向預測中使用的最大的參考幀數(shù)和最大幀時間間隔計算作為一幀或兩幀或多幀的時間間隔的最大延遲時間。
在編碼操作中,此后每個幀的編碼被這樣控制,使得避免需要超過最大延遲時間的后向預測。具體地說,幀的編碼的順序被這樣控制,使得防止超過在后向預測中使用的最大參考幀數(shù)的在后向預測中使用的任何參考幀,即任何在時間上在當前幀之后的隨后幀,在當前幀之前被編碼和輸出。
此外,當因為編碼比特率的控制使得編碼幀速率暫時成為較小,使得在這種情況下的幀時間間隔大于最大幀時間間隔時,每個幀的譯碼被這樣控制,使得不應用后向預測來編碼所述的幀。
本實施例和第一實施例基本相同之處在于,在編碼過程中輸出最大延遲時間,對編碼數(shù)據(jù)語法附加用于傳輸最大延遲時間的語法dpb_output_delay,以便在編碼過程中實現(xiàn)最大延遲時間的輸入,并且語法的定義也是相同的。
在本實施例中,譯碼操作被設置用于譯碼由dpb_output_delay預告的最大延遲時間,并利用所述最大延遲時間延遲譯碼圖像的輸出時間。這個處理也和第一實施例中的相同。
(第三實施例)
下面說明本發(fā)明的第三實施例。本實施例將說明一種這樣的實施形式,其中每幀的最大延遲時間被選擇地預告,因而可以靈活地被改變。按照本實施例的編碼和譯碼操作基本上和第一實施例或第二實施例的相同。
在本實施例中,在第一實施例中規(guī)定的用于傳輸最大延遲時間的語法dpb_output_delay被設置添加于作為用于傳輸提供給每個幀的信息的語法的圖像參數(shù)組(Picture Parameter Set),代替用于傳輸提供給整個編碼數(shù)據(jù)的信息的語法。其中的語法dpb_output_delay被構成用于以90kHz的時間單位表示最大延遲時間,如第一實施例的情況那樣,并且用所述時間單位表示的數(shù)值被編碼并以32位的無符號固定長度代碼進行傳輸。
本實施例大部分和第一實施例相同,關于在編碼過程中最大延遲時間的計算和在譯碼過程中利用所述最大延遲時間使譯碼圖像的輸出時間延遲,都和第一實施例相同。在本實施例中使用的視頻編碼設備和視頻譯碼設備的配置也基本上和關于第一實施例的圖3和圖4所示的配置相同。
讓我們解釋在本實施例中如何確定每個幀的最大延遲時間dpb_output_delay。在圖3所示的編碼設備1中,控制器15利用第一實施例中所述的方法計算由于后向預測而引起的延遲時間(D),并確定每個幀的編碼時間Tr(n)。當每個幀的顯示時間Tin(n)被從幀存儲器11輸入時,則按照下述計算該幀的dpb_output_delay(n)dpb_output_delay(n)=Tin(n)+D-Tr(n)使dpb_output_delay的這個值和有關的幀相關聯(lián),并在多路傳輸器12中進行多路傳輸。
在本實施例中,用于每幀的譯碼的時間Tr(n)也一道被編碼。以圖2為例,D=2/15秒,并且Tin(n)=0,1/15,2/15,3/15,或4/15(n=0,1,2,3,4)。因為編碼順序的改變,Tr(n)成為Tin(n)=0,1/15,4/15,2/15,或3/15(n=0,1,2,3,4)。其中每幀的dpb_output_delay被獲得如下
n=0,dpb_output_delay(0)=0+2/15-0=2/15n=1,dpb_output_delay(1)=1/15+2/15-1/15=2/15n=2,dpb_output_delay(2)=2/15+2/15-4/15=0n=3,dpb_output_delay(3)=3/15+2/15-2/15=3/15n=4,dpb_output_delay(4)=4/15+2/15-3/15=3/15在另一方面,在圖4所示的譯碼設備2中,譯碼器20向控制器25發(fā)送每幀的dpb_output_delay(n)和Tr(n),控制器25根據(jù)以下公式計算每幀的輸出時間To(n)To(n)=Tr(n)+dpb_output_delay以圖2為例,每幀的To(n)根據(jù)Tin(n)=0,1/15,4/15,2/15,或3/15(n=0,1,2,3,4)和dpb_output_delay(n)=2/15,2/15,0,或3/15(n=0,1,2,3,4),按照上述規(guī)定計算每幀的To(n)如下n=0,To(0)=0+2/15=2/15n=1,To(1)=1/15+2/15=3/15n=2,To(2)=4/15+0=4/15n=3,To(3)=2/15+3/15=5/15n=4,To(4)=3/15+3/15=6/15即,所有的圖像以恒定的時間間隔以2/15秒的延遲在監(jiān)視器上被顯示。當然,當不應用后向預測時,所使用的參考幀數(shù)是0,因而dpb_output_delay的值是0。
因為最大延遲時間由從獲得后向預測非相關幀的譯碼圖像的時刻確定參考時間,對于后向預測非相關幀,只傳輸最大延遲時間便足夠了。因此例如可以使用這樣一種結(jié)構,其中假定在用于傳輸最大延遲時間的語法之前傳輸一個表示有無語法的標記,則用于傳輸最大延遲時間的語法便被設置為可以忽略的。對于后向預測非相關幀,語法也可以被設置為可選擇地省略,只要在不傳送最大延遲時間的情況下應用以前傳輸?shù)淖畲笱舆t時間即可。
在本實施例中用于每幀的語法可以和在第一實施例中確定的用于整個編碼數(shù)據(jù)的語法同時使用。在這種情況下,用于每幀的語法可以被省略,只要在其之前傳送一個表示有無語法的標記即可。在用于整個編碼數(shù)據(jù)的語法中傳輸?shù)淖畲笱舆t時間在用于每幀的語法中的最大延遲時間被傳輸之前被連續(xù)地提供。在其被用于每幀的語法更新之后,根據(jù)其而延遲的時間被用作此后輸出每個譯碼圖像時的參考時間。
本實施例按照假定其根據(jù)H.26L被實體化進行了說明,不過應當注意,本發(fā)明的應用不限于H.26L,本發(fā)明可以應用于使用后向幀間預測的各種視頻編碼方法。
在本實施例中,用于傳送最大延遲時間的語法是借助于對圖像參數(shù)組附加固定長度代碼而形成的語法,當然,所述代碼和用于傳輸所述代碼的語法,或者用于表示最大延遲時間的時間單位不限于這些。固定長度代碼可以由可變長度代碼代替,并且最大延遲時間可以用能夠預告要被施加于每幀的信息的任何語法預告。
例如,語法可被附加在H.26L中的補充的增強信息報文中。當使用另一種視頻編碼方法時,可以使用可以使用在相關的編碼方法中用于預告要對每幀提供的信息的語法。此外,在所述視頻編碼方法中,所述信息也可以在編碼數(shù)據(jù)的外部被預告,如同在利用H.263通信中用于預告控制信息的ITU-T Recommendation H.245那樣。
如上面詳細說明的,按照本發(fā)明的視頻編碼方法、視頻譯碼方法、視頻編碼設備、視頻譯碼設備、視頻處理系統(tǒng)和視頻譯碼程序提供了以下的效果。即,當由一系列幀構成的活動圖像被后向幀間預測編碼以便被輸出時,通過被構成用于輸出由于后向預測而引起的最大延遲時間的視頻編碼方法、編碼設備和編碼程序,和被構成用于實現(xiàn)輸入所述最大延遲時間的視頻譯碼方法、視頻譯碼設備和譯碼程序,以及使用它們的視頻處理系統(tǒng),可以使得當使用后向幀間預測時,以合適的時間間隔輸出譯碼圖像。
特別地,本發(fā)明和現(xiàn)有技術的區(qū)別在于,輸出時間不是絕對值,而是由譯碼時間Tr得到的相對值;因此,本發(fā)明提供了這樣的效果,即,能夠利用少量的位數(shù),精確地描述和傳輸最大延遲時間dpb_output_delay的值,即使在幀速率是可改變的情況下。即使譯碼時間Tr具有漂移或者未被收到,也能輸出具有從譯碼完成時延遲dpb_output_delay的相應的圖像,從而提供使圖像以正確的時間間隔輸出的優(yōu)點。
權利要求
1.一種實現(xiàn)在一幀和另一幀之間的幀間預測的視頻編碼方法,所述視頻編碼方法包括輸出一個由后向預測引起的最大延遲時間。
2.一種視頻編碼方法,包括輸入步驟,用于實現(xiàn)作為編碼的對象的幀的輸入;編碼步驟,用于利用預定的方法對所述的幀編碼;以及最大延遲時間計算步驟,用于由所述幀的顯示時間、編碼時間、和后向預測引起的延遲時間計算所述幀的最大延遲時間。
3.一種用于實現(xiàn)在一幀和另一幀之間的幀間預測的視頻譯碼方法,所述視頻譯碼方法包括實現(xiàn)輸入由后向預測引起的最大延遲時間。
4.一種視頻譯碼方法,包括輸入步驟,用于實現(xiàn)包含由預定方法編碼的幀的編碼數(shù)據(jù)的圖像數(shù)據(jù)、所述幀的譯碼時間和最大延遲時間的輸入;譯碼步驟,用于譯碼所述編碼數(shù)據(jù),從而產(chǎn)生再現(xiàn)的幀;以及圖像輸出時間計算步驟,用于根據(jù)所述譯碼時間和所述最大延遲時間計算用于顯示所述幀的輸出時間。
5.一種用于實現(xiàn)在一幀和另一幀之間的幀間預測的視頻編碼設備,所述視頻編碼設備被配置為輸出一個由后向預測引起的最大延遲時間。
6.一種視頻編碼設備,包括輸入裝置,用于實現(xiàn)作為編碼的對象的幀的輸入;編碼裝置,用于利用預定的方法對所述的幀編碼;以及最大延遲時間計算裝置,用于由所述幀的顯示時間、編碼時間、和由后向預測引起的延遲時間計算所述幀的最大延遲時間。
7.按照權利要求5或6所述的視頻編碼設備,其中所述最大延遲時間定義為,將要被進行后向幀間預測的幀的發(fā)生時間和后向預測中可被用作參考幀的時間上的最后的隨后幀的發(fā)生時間之間的時間差。
8.按照權利要求5至7之一所述的視頻編碼設備,其中所述最大延遲時間作為要被施加于整個編碼數(shù)據(jù)的信息被輸出。
9.按照權利要求5至7之一所述的視頻編碼設備,其中所述最大延遲時間作為施加于每個幀的信息被輸出。
10.按照權利要求5至7之一所述的視頻編碼設備,其中所述最大延遲時間可選地作為,被施加于所述最大延遲時間為其而被傳輸?shù)囊粋€幀、以及在該幀之后的每個時間上的隨后幀的信息被輸出。
11.一種用于實現(xiàn)在一幀和另一幀之間的幀間預測的視頻譯碼設備,所述視頻譯碼設備被構成用于實現(xiàn)輸入由后向預測引起的最大延遲時間。
12.一種視頻譯碼設備,包括輸入裝置,用于實現(xiàn)包含由預定方法編碼的幀的編碼數(shù)據(jù)的圖像數(shù)據(jù)、所述幀的譯碼時間和最大延遲時間的輸入;譯碼裝置,用于譯碼所述編碼數(shù)據(jù),從而產(chǎn)生再現(xiàn)的幀;以及圖像輸出時間計算裝置,用于根據(jù)所述譯碼時間和所述最大延遲時間計算用于顯示所述幀的輸出時間。
13.按照權利要求11或12所述的視頻譯碼設備,其中所述最大延遲時間被定義為,相對于任何其它幀其譯碼時間和輸出時間的順序不顛倒的一個幀的譯碼時間和與所述的幀相互關聯(lián)的譯碼圖像輸出時間之間的時間差。
14.按照權利要求11至13之一所述的視頻譯碼設備,其中所述最大延遲時間作為要被施加于整個編碼數(shù)據(jù)的信息被輸入。
15.按照權利要求11至13之一所述的視頻譯碼設備,其中所述最大延遲時間作為施加于每個幀的信息被輸入。
16.按照權利要求11至13之一所述的視頻譯碼設備,其中所述最大延遲時間可選地作為,被施加于所述最大延遲時間為其而被傳輸?shù)囊粋€幀、以及在該幀之后的每個在時間上的隨后幀的信息被輸入。
17.一種用于使計算機執(zhí)行用于實現(xiàn)在一幀和另一幀之間的幀間預測的視頻編碼的視頻編碼程序,所述視頻編碼程序使計算機執(zhí)行用于輸出由后向預測引起的最大延遲時間的過程。
18.一種用于使計算機執(zhí)行以下處理的視頻編碼程序輸入過程,用于實現(xiàn)作為編碼的對象的幀的輸入;編碼過程,用于利用預定的方法對所述的幀編碼;以及最大延遲時間計算過程,用于由所述幀的顯示時間、編碼時間、和由后向預測引起的延遲時間計算所述幀的最大延遲時間。
19.一種用于使計算機執(zhí)行用于實現(xiàn)在一幀和另一幀之間的幀間預測的視頻譯碼的視頻譯碼程序,所述視頻譯碼程序使計算機執(zhí)行用于實現(xiàn)輸入由后向預測引起的最大延遲時間的過程。
20.一種用于使計算機執(zhí)行以下處理的視頻譯碼程序輸入過程,用于實現(xiàn)包含由預定方法編碼的幀的編碼數(shù)據(jù)的圖像數(shù)據(jù)、所述幀的譯碼時間和最大延遲時間的輸入;譯碼過程,用于譯碼所述編碼數(shù)據(jù),從而產(chǎn)生再現(xiàn)的幀;以及圖像輸出時間計算過程,用于根據(jù)所述譯碼時間和所述最大延遲時間計算用于顯示所述幀的輸出時間。
全文摘要
一種具有視頻編碼設備1和視頻譯碼設備2的視頻處理系統(tǒng)。除去由編碼視頻數(shù)據(jù)D0得到的編碼數(shù)據(jù)D1之外,所述編碼設備1輸出由后向預測引起的最大延遲時間。譯碼設備2除去輸入來自編碼設備1的編碼數(shù)據(jù)D之外,還輸入由后向預測引起的最大延遲時間。然后,譯碼設備2參考輸入的最大延遲時間譯碼編碼的數(shù)據(jù)D1。
文檔編號H04N7/32GK1497941SQ200310100758
公開日2004年5月19日 申請日期2003年10月8日 優(yōu)先權日2002年10月3日
發(fā)明者安達悟, 文仲丞, 加藤禎篤, 榮藤稔, 陳朝慶, 篤 申請人:株式會社Ntt都科摩