午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

運動矢量的計算方法

文檔序號:7848020閱讀:605來源:國知局
專利名稱:運動矢量的計算方法
技術領域
本發(fā)明涉及動態(tài)圖像的編碼方法及解碼方法,特別涉及到對已經(jīng)編碼完成的按照顯示時間順序處于前方的多個圖像或按照顯示時間順序處于后方的多個圖像或者按照顯示時間順序處于前方及后方雙方的多個圖像進行參照來實行預測編碼的方法。
背景技術
一般情況下在動態(tài)圖像的編碼過程中,是通過減少時間方向及空間方向的冗余度來壓縮信息量的。因此,在以減少時間上的冗余度為目的的圖像間預測編碼過程中,參照前方或后方的圖像以像塊為單位來實行運動檢測及運動補償,并對所得到預測圖像和當前圖像之間的差分值進行編碼。
對于當前標準化中作為動態(tài)圖像編碼方法的H.26L,人們提出下述的三種圖像,一是只實行圖像內(nèi)預測編碼的圖像(I圖像),二是參照1幅圖像來實行圖像間預測編碼的圖像(下面,為P圖像),三是對按照顯示時間順序處于前方的2幅圖像或按照顯示時間順序處于后方的2幅圖像或者按照顯示時間順序處于前方及后方的分別各1幅圖像進行參照來實行圖像間預測編碼的圖像(下面,為B圖像)。
圖1表示的是在上述動態(tài)圖像編碼方法中各圖像和用此所參照的圖像之間的參考關系的示例。
圖像I1沒有參考圖像而實行圖像內(nèi)預測編碼,圖像P10對按照顯示時間順序處于前方的P7進行參照來實行圖像間預測編碼。另外,圖像B6、圖像B12及圖像B18分別對按照顯示時間順序處于前方的2幅圖像、按照顯示時間順序處于后方的2幅圖像及按照顯示時間順序處于前方及后方的各1幅圖像進行參照,來實行圖像間預測編碼。
作為雙向預測一種的預測方式,有直接方式,該雙向預測對按照顯示時間順序處于前方及后方的各1幅圖像進行參照來實行圖像間預測編碼。在直接方式中,不使編碼對象像塊直接具有運動矢量,而是通過對下述像塊的運動矢量進行參照來計算出實際實行移動補償所用的2個運動矢量,并制作預測圖像,上述像塊在按照顯示時間順序處于近旁的已編碼圖像內(nèi)的相同位置上。
圖2表示的是在直接方式中為決定運動矢量所參照的已編碼圖像具有只參照按照顯示時間順序處于前方的1幅圖像的運動矢量時的示例。圖2中,用垂直方向線段所示的「P」與圖像類型無關,而僅僅表示圖像。同圖中,例如圖像P83是作為當前編碼對象的圖像,并以圖像P82及圖像P84作為參考圖像實行雙向預測。如果將該圖像P83中進行編碼的像塊(block)作為像塊MB81,則像塊MB81的運動矢量采用像塊MB82所具有的運動矢量來決定,該像塊MB82處于作為已編碼后方參考圖像的圖像P84的相同位置上。由于該像塊MB82作為運動矢量只具有1個運動矢量MV81,所以需要的2個運動矢量MV82及運動矢量MV83是根據(jù)公式1(a)及(b)直接通過對運動矢量MV81及時間間隔TR81使用按比例縮放(scaling)而計算出的。
MV82=MV81/TR81×TR82 …公式1(a)MV83=-MV81/TR81×TR83 …公式1(b)還有,此時時間間隔TR81表示出從圖像P84到圖像P82,也就是從圖像P84到運動矢量MV81所指示的參考圖像之間的時間間隔。再者,時間間隔TR82表示出從圖像P83到運動矢量MV82所指示的參考圖像之間的時間間隔。還有,時間間隔TR83表示出從圖像P83到運動矢量MV83所指示的參考圖像之間的時間間隔。
另外,在直接方式中有已說明的時間性預測和空間性預測的2種方法,在下面將有關空間性預測予以說明。對于直接方式的空間性預測,例如以用16象素×16象素所構成的宏塊為單位來進行編碼,在編碼對象宏塊(macro block)的外圍3個宏塊的運動矢量之中選擇1個對從編碼對象圖像開始按照顯示時間順序處于最近距離的圖像進行參照所計算的運動矢量,并將所選擇的運動矢量作為編碼對象宏塊的運動矢量。在3個運動矢量全都參照相同的圖像的場合下,選擇它們的中央值。在3個之中的2個對從編碼對象圖像開始按照顯示時間順序處于最近距離的圖像進行參照的場合下,將剩余的1個看作「0」矢量而選擇它們的中央值。另外,在只有1個對從編碼對象圖像開始按照顯示時間順序處于最近距離的圖像進行參照的場合下,選擇該運動矢量。這樣,通過直接方式不用對編碼對象宏塊編碼運動矢量,而采用其他宏塊所具有的運動矢量來實行運動預測。
圖3(a)表示出采用以往的直接方式空間性預測方法在B圖像上按照顯示時間順序參照前方圖像時的運動矢量預測方法的一個示例。同圖中,P表示P圖像,B表示B圖像,為右側4幅圖像的圖像類型所附加的數(shù)字表示各圖像被編碼的次序。在此,圖像B4中添加斜線的宏塊為編碼對象。在采用直接方式的空間性預測方法來計算編碼對象宏塊的運動矢量的場合下,首先從編碼對象宏塊的外圍選擇3個已編碼的宏塊(虛線部分)。此處,外圍3個宏塊的選擇方法其說明省略。已編碼3個宏塊的運動矢量已計算出并被保持。即使是相同圖像中的宏塊,該運動矢量有時也需要參照每個宏塊中不同的圖像。該外圍3個宏塊各自參照哪個圖像是可以通過對各宏塊進行編碼時所使用的參考圖像的參考索引而得知的。對于參考索引的詳述將在下面做出。
例如對圖3(a)所示的編碼對象宏塊選擇外圍3個宏塊,并假設各個已編碼宏塊的運動矢量分別是運動矢量a、運動矢量b及運動矢量c。在此之中,運動矢量a和運動矢量b需要參照圖像編號11為「11」的P圖像,運動矢量c需要參照圖像編號11為「8」的P圖像。這種場合下,下述的2個運動矢量a、b成為編碼對象宏塊的運動矢量的候補,上述運動矢量a、b是這些運動矢量a、b及c之中對從編碼對象圖像開始按照顯示時間順序處于最近距離的圖像進行參照后的運動矢量。這種場合下,將運動矢量c看作「0」,并選擇3個運動矢量a、運動矢量b及運動矢量c之中的中央值,將其作為編碼對象宏塊的運動矢量。
但是,在MPEG-4等的編碼方式中,既可以采用實行隔行掃描的場結構對圖像內(nèi)的各個宏塊進行編碼,又可以采用不實行隔行掃描的幀結構來進行編碼。因此,采用MPEG-4等的方式,會出現(xiàn)在參考幀的1幀中由場結構所編碼的宏塊和由幀結構所編碼的宏塊同時存在的情形。即使在這種場合下,只要是編碼對象宏塊的外圍3個宏塊全都采用與編碼對象宏塊相同的結構進行編碼,也可以采用上述直接方式的空間性預測方法,在不出問題的狀況下導出1個編碼對象宏塊的運動矢量。也就是說,對于采用幀結構所編碼的編碼對象宏塊來說,外圍3個宏塊仍是采用幀結構所編碼的,或才對于采用場結構所編碼的編碼對象宏塊來說,外圍3個宏塊仍是采用場(field)結構所編碼的。前者的場合下,如同已說明的那樣。另外后者的場合下,由于對應于編碼對象宏塊的頂部場采用與外圍3個宏塊的頂部場相應的3個運動矢量,或者對應于編碼對象宏塊的底部場采用與外圍3個宏塊的底部場相應的3個運動矢量,因而對于頂部場和底部場的各自,可以通過上述方法導出編碼對象宏塊的運動矢量。
不過,在直接方式的時間性預測的場合下會產(chǎn)生這樣的問題,即當實行圖像間預測編碼的像塊由直接方式來實行移動補償時,由于參照運動矢量的像塊屬于圖1的B6那種B圖像時,上述像塊具有多個運動矢量,因而不能直接使用根據(jù)公式1的縮放所做出的運動矢量計算。另外,因為在計算運動矢量之后實行除法運算,所以會產(chǎn)生運動矢量值的精度(例如,1/2象素和1/4象素的精度)與所預定的精度不一致的情形。
另外,在空間性預測的場合下,在編碼對象宏塊和外圍宏塊的其中一個采用不同的結構進行編碼時,未規(guī)定采用場結構及幀結構的哪個結構對編碼對象宏塊進行編碼,并且也未對下述方法做出規(guī)定,即從采用場結構所編碼的宏塊和采用幀結構所編碼的宏塊同時存在的那種外圍宏塊的運動矢量之中,選擇編碼對象宏塊的運動矢量的方法。

發(fā)明內(nèi)容
本發(fā)明的目的是,即使在采用場結構所編碼的像塊和采用幀結構所編碼的像塊同時存在的場合下,也提供直接方式中的精度高的空間方向運動矢量預測方法。
為了達到上述目的,本發(fā)明的運動矢量計算方法用來從已計算出的外圍像塊的運動矢量導出構成動態(tài)圖像圖像的像塊的運動矢量,在作為導出對象的像塊由幀結構進行編碼或解碼的場合下,對于由場結構進行編碼或解碼的外圍像塊,采用頂部場像塊的運動矢量和底部場像塊的運動矢量之中滿足一定條件的運動矢量,來導出作為上述導出對象的像塊的運動矢量,在作為導出對象的像塊由場結構進行編碼或解碼的場合下,對于由幀結構所編碼或解碼的外圍像塊,采用相互鄰近的2個像塊的運動矢量之中滿足一定條件的運動矢量,來導出作為上述導出對象的像塊的運動矢量。因此,即使在作為導出對象的像塊和外圍像塊的編碼或解碼結構有所不同的場合下,也可以采用在各外圍像塊的2個像塊的運動矢量之中滿足一定條件的運動矢量,來導出作為上述導出對象的像塊的運動矢量。
另外,在本發(fā)明的上述運動矢量計算方法中,上述的一定條件是這樣的條件,即在作為導出對象的像塊由幀結構進行編碼或解碼的場合下,上述頂部場像塊的運動矢量和上述底部場像塊的運動矢量各自所參照的圖像是可參照的圖像之中具有相同參考索引的圖像;也可以是這樣的條件,即在作為導出對象的像塊由場結構進行編碼或解碼的場合下,上述相互鄰近的2個像塊的運動矢量各自所參照的圖像是可參照的圖像之中具有相同參考索引的圖像。
還有,在本發(fā)明的上述運動矢量計算方法中,在上述2個像塊的運動矢量雙方都滿足上述一定條件的場合下,也可以采用上述2個像塊的運動矢量的平均值,來導出作為上述導出對象的像塊的運動矢量。
再者,本說明書將收入下述的內(nèi)容,即此前的日本國專利申請「特愿2002-118598」、「特愿2002-121053」、「特愿2002-156266」、「特愿2002-177889」、「特愿2002-193027」、「特愿2002-204713」、「特愿2002-262151」、「特愿2002-290542」、「特愿2002-323096」、美國臨時申請「60/378643」及「60/378954」的內(nèi)容。


圖1是說明以往示例的圖像參考關系所用的模式圖。
圖2是說明以往示例的直接方式的動作所用的模式圖。
圖3(a)表示的是采用以往的直接方式空間性預測方法,在B圖像上參照在時間上處于前方的圖像時的運動矢量預測方法的一個示例。
圖3(b)表示的是為各個編碼對象圖像所制作的參考表格的一個示例。
圖4是圖像編號和參考索引的說明圖。
圖5表示的是以往的圖像編碼裝置所做出的圖像編碼信號格式的概念圖。
圖6是說明本發(fā)明的實施方式1及實施方式2的編碼動作所用的框圖。
圖7是說明在直接方式中參照運動矢量的像塊具有按照顯示時間順序參照前方的2個運動矢量時的動作所用的模式圖。
圖8是對在顯示次序及編碼次序中的圖像參考關系做比較所用的模式圖。
圖9是說明在直接方式中參照運動矢量的像塊具有按照顯示時間順序參照后方的2個運動矢量時的動作所用的模式圖。
圖10是對在顯示次序及編碼次序中的圖像參考關系做比較所用的模式圖。
圖11是說明本發(fā)明的實施方式5及實施方式6的解碼動作所用的框圖。
圖12是說明在直接方式中參照運動矢量的像塊具有按照顯示時間順序參照前方的2個運動矢量時的動作所用的模式圖。
圖13是說明在直接方式中參照運動矢量的像塊具有按照顯示時間順序參照后方的2個運動矢量時的動作所用的模式圖。
圖14是說明在直接方式中參照運動矢量的像塊具有按照顯示時間順序參照后方的2個運動矢量時的動作所用的模式圖。
圖15是說明在直接方式中參照運動矢量的像塊具有按照顯示時間順序參照前方的2個運動矢量時的動作所用的模式圖。
圖16是說明在直接方式中參照運動矢量的像塊具有按照顯示時間順序參照前方的2個運動矢量時的動作所用的模式圖。
圖17是說明在直接方式中參照運動矢量的像塊具有按照顯示時間順序參照前方的2個運動矢量時的動作所用的模式圖。
圖18是說明在直接方式中參照運動矢量的像塊具有按照顯示時間順序參照前方的2個運動矢量時的動作所用的模式圖。
圖19是說明在直接方式中參照運動矢量的像塊具有按照顯示時間順序參照后方的2個運動矢量時的動作所用的模式圖。
圖20是說明在直接方式中參照運動矢量的像塊具有按照顯示時間順序參照后方的2個運動矢量時的動作所用的模式圖。
圖21是說明在直接方式中參照運動矢量的像塊具有按照顯示時間順序參照后方的2個運動矢量時的動作所用的模式圖。
圖22是說明在直接方式中參照運動矢量的像塊具有按照顯示時間順序參照后方的1個運動矢量時的動作所用的模式圖。
圖23是說明在直接方式中參照外圍像塊的運動矢量時的動作所用的模式圖。
圖24表示的是編碼序列。
圖25表示的是編碼對象像塊和編碼對象像塊的外圍像塊之間的關系。
圖26表示的是編碼對象像塊的外圍像塊所具有的運動矢量。
圖27表示的是編碼對象像塊的外圍像塊所具有的運動矢量。
圖28表示的是編碼對象像塊的外圍像塊所具有的運動矢量。
圖29表示的是編碼對象像塊的外圍像塊所具有的運動矢量。
圖30表示的是編碼對象像塊的外圍像塊所具有的運動矢量。
圖31表示的是編碼對象像塊的外圍像塊所具有的運動矢量。
圖32表示的是編碼對象像塊的外圍像塊所具有的運動矢量。
圖33表示的是編碼對象像塊的外圍像塊所具有的運動矢量。
圖34表示的是決定在直接方式中所使用的運動矢量的步驟。
圖35表示的是編碼對象像塊和編碼對象像塊的外圍像塊之間的關系。
圖36表示的是采用參考索引的值來決定編碼對象像塊的運動矢量的步驟。
圖37表示的是只有1個對長時間存儲器中所保存的圖像進行參照的運動矢量時在直接方式中的雙向預測。
圖38表示的是有2個對長時間存儲器中所保存的圖像進行參照運動矢量時在直接方式中的雙向預測。
圖39表示的是運動矢量計算方法的處理流程。
圖40表示的是本發(fā)明實施方式11所涉及的動態(tài)圖像編碼裝置100結構的框圖。
圖41(a)表示的是向動態(tài)圖像編碼裝置100依時間順序以圖像為單位所輸入的幀的次序。
圖41(b)表示的是將圖41(a)所示的幀表格重新排列成編碼順序時的次序。
圖42表示的是說明第1實施方式所需的參考圖像表的結構。
圖43(a)是表示由場結構所編碼的宏塊對和由幀結構所編碼的宏塊對同時存在時采用直接方式空間性預測方法的運動矢量計算步驟一個示例的流程圖。
圖43(b)表示的是在編碼對象宏塊對由幀結構進行編碼的場合下,本發(fā)明所使用的外圍宏塊對配置的一個示例。
圖43(c)表示的是在編碼對象宏塊對由場結構進行編碼的場合下,本發(fā)明所使用的外圍宏塊對配置的一個示例。
圖44表示的是由幀結構進行編碼時的宏塊對的數(shù)據(jù)結構和由場結構進行編碼時的宏塊對的數(shù)據(jù)結構。
圖45表示的是圖43所示的步驟S302中的更為詳細的處理步驟的流程圖。
圖46是表示參考場索引和參考幀索引之間的關系的關系表示圖。
圖47表示的是圖43所示的步驟S303中的更為詳細的處理步驟的流程圖。
圖48表示的是說明第1實施方式所需的編碼對象宏塊對和外圍宏塊對的位置關系。
圖49表示的是說明第1實施方式所需的編碼對象宏塊對和外圍宏塊對的位置關系。
圖50表示的是通過編碼序列生成部104所生成的編碼序列700的數(shù)據(jù)結構和一個示例。
圖51表示的是對圖50所示的編碼序列700進行解碼的動態(tài)圖像解碼裝置800結構的框圖。
圖52(a)表示的是作為記錄媒體主體的軟盤的物理格式示例。
圖52(b)表示的是從軟盤正面所看到的外觀、剖面構造及軟盤。
圖52(c)表示的是在軟盤FD中實行上述程序的記錄再生所需的結構。
圖53表示的是實現(xiàn)內(nèi)容傳輸服務的內(nèi)容提供系統(tǒng)整體結構的框圖。
圖54表示的是攜帶電話外觀的一個示例。
圖55表示的是攜帶電話結構的框圖。
圖56說明的是對在上述實施方式中所示的編碼處理或解碼處理加以實行的設備,及采用該設備的系統(tǒng)。
具體實施例方式
本發(fā)明用于解決以往技術的問題所在,其目的是提出一種在直接方式中的動態(tài)圖像編碼方法及解碼方法,即使參照運動矢量的像塊屬于B圖像的場合下也可以在不出現(xiàn)相互矛盾的狀況下決定用于移動補償?shù)倪\動矢量。在此,首先對有關參考索引予以說明。
圖3(b)表示的是為各個編碼對象圖像所制作的參考圖像表10的一個示例。在圖3(b)所示的參考圖像表10中,以1個B圖像為中心表示出,在時間上顯示于其前后并且該B圖像為可參考的外圍圖像、和它們的圖像類型、圖像編號11、第1參考索引12及第2參考索引13。圖像編號11例如是表示各圖像被編碼的順序的編號。第1參考索引(index)12是表示與編碼對象圖像對應的外圍圖像的相對位置關系的第1索引,例如主要是作為編碼對象圖像按照顯示時間順序參照前方圖像時的索引而加以使用的。該第1參考索引12的表格被稱為「參考索引表0(list0)」或「第1參考索引表」。另外,參考索引也被稱為相對索引。在圖3(b)的參考圖像表10中,在第1參考索引12的數(shù)值中首先對具有比編碼對象圖像靠前的顯示時間的參考圖像,分配在編碼對象圖像上由按照顯示時間順序近的次序從「0」分別進位「1」的整數(shù)值。若對具有比編碼對象圖像靠前的顯示時間的所有參考圖像,分配從「0」分別進位「1」的整數(shù)值,則接著對具有比編碼對象圖像靠后的顯示時間的參考圖像,分配在編碼對象圖像上從按照顯示時間順序近的次序開始后續(xù)的數(shù)值。
第2參考索引13是表示與編碼對象圖像對應的外圍圖像的相對位置關系的第2索引,例如主要是作為編碼對象圖像按照顯示時間順序參照后方圖像時的索引而加以使用的。該第2參考索引13的表格被稱為「參考索引表1(list1)」或「第2參考索引表」。在第2參考索引13的數(shù)值中,首先對具有比編碼對象圖像靠后的顯示時間的參考圖像,分配在編碼對象圖像上由按照顯示時間順序近的次序從「0」分別進位「1」的整數(shù)值。若對具有比編碼對象靠后的顯示時間的所有參考圖像,分配從「0」分別進位「1」的整數(shù)值,則接著對具有比編碼對象圖像靠前的顯示時間的參考圖像,分配在編碼對象圖像上從按照顯示時間順序近的次序開始后續(xù)的數(shù)值。因此,看到該參考圖像表10,就會明白第1參考索引12、第2參考索引13越是參考索引的數(shù)值小的參考圖像,越按照顯示時間順序接近編碼對象圖像。以上,有關參考索引初始狀態(tài)下的編號分配方法已做出說明,而參考索引的編號分配方法也能夠根據(jù)圖像單位和切片單位進行變更。參考索引的編號分配方法,例如也可以對按照顯示時間順序遠離的圖像分配小的編號,但是此種參考索引例如對按照顯示時間順序遠離的圖像進行參照使用于提高編碼效率的那種場合。也就是說,由于像塊中的參考索引采用可變長代碼字來表現(xiàn),并分配有值越小越短的代碼長度的代碼,所以會對通過參照來提高編碼效率的圖像分配更小的參考索引,以此減少參考索引的代碼量,使編碼效率得到進一步提高。
圖4是圖像編號和參考索引的說明圖。圖4示出參考圖像表的示例,并示出對中央的B圖像(虛線部分)進行編碼時所使用的參考圖像及其圖像編號和參考索引。圖4(A)示出在通過采用圖3所說明的、在初始狀態(tài)下的參考索引分配方法來分配參考索引的情形。
圖5是以往的圖像編碼裝置所做出的圖像編碼信號格式的概念圖。Picture表示1圖像量的編碼信號,Header表示在圖像前部所含有的標題編碼信號,Block1表示采用直接方式的像塊編碼信號,Block2表示采用直接方式之外的內(nèi)插預測的像塊編碼信號,Ridx0、Ridx1分別表示第1參考索引和第2參考索引,MV0、MV1分別表示第1運動矢量和第2運動矢量。在編碼像塊Block2中,為了示出使用于內(nèi)插的2幅參考圖像,在編碼信號中按該順序具有2個參考索引Ridx0、Ridx1。另外,編碼像塊Block2的第1運動矢量MV0和第2運動矢量MV1在編碼像塊Block2的編碼信號內(nèi)按照該順序被編碼。使用參考索引Ridx0、Ridx1中的哪一個可以通過PredType來判斷。另外,用第1參考索引Ridx0表示第1運動矢量MV0所參照的圖像(第1參考圖像),用第2參考索引Ridx1表示第2運動矢量MV1所參照的圖像(第2參考圖像)。例如,在表示出按運動矢量MV0和MV1的雙向來參照圖像的場合下,Ridx0和Ridx1被使用,在表示按運動矢量MV0或MV1的任一個方向來參照圖像的場合下,作為與其運動矢量相應的參考索引的Ridx0或Ridx1被使用,在表示出直接方式的場合下,Ridx0、Ridx1都不被使用。第1參考圖像是通過第1參考索引來指定的,并且一般情況下是具有比編碼對象圖像靠前的顯示時刻的圖像,第2參考圖像是通過第2參考索引來指定的,并且一般情況下是具有比編碼對象圖像靠后的顯示時刻的圖像。但是,如同通過圖4參考索引的給與方法示例所明確的那樣,有時第1參考圖像也是具有比編碼對象圖像靠后的顯示時刻的圖像,第2參考圖像是具有比編碼對象圖像靠前的顯示時刻的圖像。第1參考索引Ridx0是表示像塊Block2的第1運動矢量MV0所參照的第1參考圖像的參考索引,第2參考索引Ridx1是表示像塊Block2的第2運動矢量MV1所參照的第2參考圖像的參考索引。
另一方面,由于采用編碼信號中的緩沖控制信號(圖5,Header內(nèi)的RPSL)加以明確指示,因而可以任意變更對參考索引的參考圖像分配。通過該分配的變更,也可以將第2參考索引為「0」的參考圖像變?yōu)槿我獾膮⒖紙D像,例如如圖4(B)所示可以變更對圖像編號的參考索引分配。
這樣,由于可以任意變更對參考索引的參考圖像分配,并且由于對該參考索引的參考圖像分配的變更一般是通過作為參考圖像進行選擇而對編碼效率增高的圖像分配更小的參考索引,所以假設將下述的運動矢量作為在直接方式中所使用的運動矢量,則可以提高編碼效率,上述運動矢量是使運動矢量所參照的參考圖像其參考索引的值為最小的運動矢量。
(實施方式1)采用圖6所示的框圖,對本發(fā)明實施方式1的動態(tài)圖像編碼方法予以說明。
將作為編碼對象的動態(tài)圖像依時間順序以圖像為單位輸入到幀存儲器101中,并且依照進行編碼的順序重新排列。各個圖像分割成被稱為像塊的、如水平16×垂直16象素的組,并以像塊為單位實行下面的處理。
從幀存儲器101所讀出的像塊被輸入到運動矢量檢測部106。在此,將對幀存儲器105中所儲存的已編碼圖像進行解碼后的圖像作為參考圖像來使用,檢測作為編碼對象的像塊的運動矢量。此時,通過方式選擇部107不斷參照由運動矢量部106所得到的運動矢量和在下述的已編碼圖像中所采用的運動矢量,以決定最佳預測方式,上述已編碼圖像存儲于運動矢量存儲部108中。由方式選擇部107所得出的預測方式和根據(jù)在其預測方式中采用的運動矢量所決定出的預測圖像,被輸入到差分運算部109中,通過取得和編碼對象像塊之間的差分來生成預測剩余誤差圖像,在預測剩余誤差編碼部102中進行編碼。另外,在通過方式選擇部107所得到的預測方式中使用的運動矢量,為了在后面的像塊和圖像的編碼過程中加以利用,而存儲在運動矢量存儲部108中。以上的處理流程是在選擇圖像間預測編碼時的動作,而通過開關111實行和圖像內(nèi)預測編碼之間的轉換。最后,通過編碼序列生成部103對運動矢量等的控制信息及從預測剩余誤差編碼部102所輸出的圖像信息等,進行可變長編碼,生成最后輸出的編碼序列。
以上,表示出編碼流程的概要,而在下面將有關運動矢量檢測部106及方式選擇部107中的處理的詳細狀況,予以說明。
運動矢量的檢測在每個像塊或分割像塊后的每個區(qū)域內(nèi)實行。對于作為編碼對象的圖像來說,將按照顯示時間順序處于前方及后方的已編碼圖像作為參考圖像,在該圖像內(nèi)的搜索區(qū)域內(nèi)通過決定下述的運動矢量及預測方式來制作預測圖像,上述運動矢量表示預測為最佳的位置。
作為雙向預測的1種有直接方式,該雙向預測對按照顯示時間順序處于前方及后方的2幅圖像進行參照來實行圖像間預測編碼。采用直接方式不用使編碼對象像塊直接具有運動矢量,而是通過對下述像塊的運動矢量進行參照,計算出實際實行移動補償所需的2個運動矢量來制作預圖像,上述像塊在按照顯示時間順序處于近旁的已編碼圖像內(nèi)的相同位置上。
圖7表示的是在直接方式中為決定運動矢量所參照的已編碼像塊具有對按照顯示時間順序處于前方的2幅圖像進行參照的2個運動矢量時的動作。圖像P23是作為當前編碼對象的圖像,并以圖像P22及圖像P24作為參考圖像來實行雙向預測。如果將進行編碼的像塊作為像塊MB21,則此時作為必要的2個運動矢量采用像塊MB22所具有的運動矢量來決定,該像塊MB22處于作為已編碼后方參考圖像(由第2參考索引所指定的第2參考圖像)的圖像P24的相同位置上。由于該像塊MB22作為運動矢量具有2個運動矢量MV21及運動矢量MV22,所以不能與公式1同樣地通過直接使用按比例縮放計算出需要的2個運動矢量MV23及運動矢量MV24。因此,如同公式2那樣,作為使用按比例縮放的運動矢量而從像塊MB22所具有的2個運動矢量的平均值計算出運動矢量MV_REF,并同樣地從平均值計算出此時的時間間隔TR_REF。然后,根據(jù)公式3對運動矢量MV_REF及時間間隔TR_REF使用按比例縮放,以此計算出運動矢量MV23及運動矢量MV24。此時,時間間隔TR21表示從圖像P24到圖像P21也就是到運動矢量MV21所參照的圖像為止的時間間隔,時間間隔TR22表示到運動矢量MV22所參照的圖像為止的時間間隔。另外,時間間隔TR23表示到運動矢量MV23所參照的圖像為止的時間間隔,時間間隔TR24表示到運動矢量MV24所參照的圖像為止的時間間隔。這些圖像間的時間間隔例如可以根據(jù)各圖像上所附加的表示顯示時間和顯示順序的信息或者其信息之差來決定。再者,在圖7的示例中作為編碼對象的圖像對鄰近的圖像進行參照,但即使參照非鄰近的圖像時也同樣可以進行處理。
MV_REF=(MV21+MV22)/2 …公式2(a)TR_REF=(TR21+TR22)/2 …公式2(b)
MV23=MV_REF/TR_REF×TR23 …公式3(a)MV24=-MV_REF/TR_REF×TR24…公式3(b)如上所述,在上述的實施方式中表示出下述的編碼方法,這就是在直接方式中參照運動矢量的像塊具有對按照顯示時間順序處于前方的圖像進行參照的多個運動矢量的場合下,采用上述多個運動矢量生成1個運動矢量,使用按比例縮放來決定實際用于移動補償所需的2個運動矢量,以此在直接方式中即使參照運動矢量的像塊屬于B圖像的場合下,也可以在不相互矛盾的狀況下實行采用直接方式的圖像間預測編碼。
再者,在圖7中計算2個運動矢量MV23及運動矢量MV24時,為了計算出作為實施縮放對象的運動矢量MV_REF及時間間隔TR_REF,作為取得運動矢量MV21和運動矢量MV22的平均值及時間間隔TR21及時間間隔TR22的平均值的方法,可以取代公式2來使用公式4。首先,象公式4(a)那樣,對運動矢量MV21實施縮放使時間間隔與運動矢量MV22等同,計算出運動矢量MV21’。然后,通過取得運動矢量MV21’和運動矢量MV22的平均數(shù),來決定運動矢量MV_REF。此時,時間間隔TR_REF還按原樣使用時間間隔TR22。還有,在取代對運動矢量MV21實施縮放(スケ一リング)將其作為運動矢量MV21’而對運動矢量MV22實施縮放將其作為運動矢量MV22’的場合下,也同樣可以進行處理。
MV21’=MV21/TR21×TR22 …公式4(a)MV_REF=(MV21’+MV22)/2 …公式4(b)TR_REF=TR22…公式4
(c)再者,在圖7中計算2個運動矢量MV23及運動矢量MV24時,作為實施縮放對象的運動矢量MV_REF及時間間隔TR_REF,取代象公式2那樣使用2運動矢量的平均值,也可以象公式5那樣直接使用參照圖像P22的運動矢量MV22及時間間隔TR22,該圖像P22是對參照運動矢量的圖像P24來說時間間隔短的圖像。同樣地,也可以象公式6那樣將對時間間隔長的圖像P21進行參照的運動矢量MV21及時間間隔TR21作為運動矢量MV_REF及時間間隔TR_REF,加以直接使用。采用這種方法,由于參照運動矢量的屬于圖像P24的各個像塊可以通過預先只存儲2個運動矢量之中的一方來實現(xiàn)運動補償,因而在編碼裝置中能夠少量地抑制運動矢量存儲部的容量。
MV_REF=MV22 …公式5(a)TR_REF=TR22 …公式5(b)MV_REF=MV21 …公式6(a)TR_REF=TR21 …公式6(b)還有,在圖7中計算2個運動矢量MV23及運動矢量MV24時,作為實施縮放對象的運動矢量MV_REF及時間間隔TR_REF,取代象公式2那樣使用2個運動矢量的平均值,也可以直接使用對編碼次序靠前的圖像進行參照的運動矢量。圖8(a)與圖7相同,示出按照作為動態(tài)圖像所顯示的次序在圖像排列方法中的參考關系,在圖8(b)中表示出依照在圖6的幀存儲器101中被編碼的次序所重新排列的一個示例。還有,圖像P23表示出通過直接方式進行編碼的圖像,圖像P24表示出此時參照運動矢量的圖像。如圖8(b)所示,由于在重新排列時直接使用對編碼次序靠前的圖像進行參照的運動矢量,所以象公式5那樣作為運動矢量MV_REF及時間間隔TR_REF而直接使用運動矢量MV22及時間間隔TR22。同樣,也可以直接使用對編碼次序靠后的圖像進行參照的運動矢量。這種場合下,象公式6那樣作為運動矢量MV_REF及時間間隔TR_REF而直接使用運動矢量MV21及時間間隔TR21。采用這種方法,由于屬于參照運動矢量的圖像P24的各個像塊可以通過預先只存儲2個運動矢量之中的一方來實現(xiàn)運動補償,因而在編碼裝置中能夠少量地抑制運動矢量存儲器的容量。
再者,雖然在本實施方式中對于通過對所參照的運動矢量采用圖像間的時間性距離進行縮放而計算出在直接方式中所使用的運動矢量的情形,已做出說明,但是這也可以對所參照的運動矢量進行常數(shù)加倍計算。在此,使用于常數(shù)加倍處理中的常數(shù)在以多個像塊為單位或者以多個圖像為單位進行編碼或解碼時,也可以是可變更的。
還有,在公式2(a)或公式4(b)中計算運動矢量MV_REF時,計算出公式2(a)或公式4(b)的右邊之后,也可以轉成指定的運動矢量精度(例如,如果是1/2象素精度的運動矢量,則是0.5象素單位的值)。作為運動矢量的精度,并不限于1/2象素精度。另外,該運動矢量的精度例如可以根據(jù)像塊單位、圖像單位及順序單位來決定。另外,在公式3(a)、公式3(b)及公式4(a)中計算運動矢量MV23、運動矢量MV24及運動矢量MV21’時,計算出公式3(a)、公式3(b)及公式4(a)的右邊之后,也可以轉成指定的運動矢量精度。
(實施方式2)根據(jù)圖6的編碼處理概要與實施方式1是完全同等的。在此,將有關直接方式中的雙向預測動作,采用圖9來說明其詳細狀況。
圖9表示出在直接方式中為決定運動矢量所參照的像塊,具有對按照顯示時間順序處于后方的2幅圖像進行參照的2個運動矢量時的動作。圖像P43是作為當前編碼對象的圖像,并以圖像P42及圖像P44作為參考圖像來實行雙向預測。如果將進行編碼的像塊作為像塊MB41,則作為此時必要的2個運動矢量采用像塊MB42所具有的運動矢量來決定,該像塊MB42處于作為已編碼后方參考圖像(由第2參考索引所指定的第2參考圖像)的圖像P44的相同位置上。由于該像塊MB42作為運動矢量具有2個運動矢量MV45及運動矢量MV46,所以不能與公式1相同通過直接使用按比例縮放計算出需要的2個運動矢量MV43及運動矢量MV44。因此象公式7那樣,作為使用按比例縮放的運動矢量而從像塊MB42所具有的2個運動矢量的平均值來決定運動矢量MV_REF,并同樣地從平均值來決定此時的時間間隔TRREF。然后,根據(jù)公式8對運動矢量MV_REF及時間間隔TR_REF使用按比例縮放,以此計算出運動矢量MV43及運動矢量MV44。此時,時間間隔TR45表示從圖像P44到圖像P45也就是到運動矢量MV45所參照的圖像之間的時間間隔,時間間隔TR46表示到運動矢量MV46所參照的圖像之間的時間間隔。另外,時間間隔TR43表示到運動矢量MV43所參照的圖像之間的時間間隔,時間間隔TR44表示到運動矢量MV44所參照的圖像之間的時間間隔。這些圖像間的時間間隔與實施方式1中所說明的一樣,例如可以根據(jù)各圖像上所附加的表示顯示時間和顯示順序的信息或者其信息之差,來決定。再者,在圖9的示例中作為編碼對象的圖像對鄰近的圖像進行參照,但即使參照非鄰近的圖像時也同樣可以進行處理。
MV_REF=(MV45+MV46)/2 …公式7(a)TR_REF=(TR45+TR46)/2 …公式7(b)MV43=-MV_REF/TR_REF×TR43…公式8(a)
MV44=MV_REF/TR_REF×TR44 …公式8(b)如上所述,在上述的實施方式中表示出下述的編碼方法,這就是在直接方式中參照運動矢量的像塊具有對按照顯示時間順序處于后方的圖像進行參照的多個運動矢量的場合下,采用上述多個運動矢量生成1個運動矢量,使用按比例縮放來決定實際用于移動補償所需的2個運動矢量,以此即使在直接方式中參照運動矢量的像塊屬于B圖像的場合下,也可以在不相互矛盾的狀況下實行采用直接方式的圖像間預測編碼。
再者,在圖9中計算2個運動矢量MV43及運動矢量MV44時,為了計算出作為實施縮放對象的運動矢量MV_REF及時間間隔TR_REF,而作為取得運動矢量MV45和運動矢量MV46的平均值及時間間隔TR45及時間間隔TR46的平均值的方法,也可以取代公式7來使用公式9。首先,象公式9(a)那樣,對運動矢量MV46實施縮放使時間間隔與運動矢量MV45等同,計算出運動矢量MV46’。然后,通過取得運動矢量MV46’和運動矢量MV45的平均值來決定運動矢量MVREF。此時,時間間隔TR_REF還按原樣使用時間間隔TR41。還有,在取代對運動矢量MV46實施縮放將其作為運動矢量MV46’而對運動矢量MV45實施縮放將其作為運動矢量MV45’的場合下,也同樣可以進行處理。
MV46’=MV46/TR46×TR45 …公式9(a)MV_REF=(MV46’+MV45)/2 …公式9(b)TR_REF=TR45 …公式9(c)再者,在圖9中計算2個運動矢量MV43及運動矢量MV44時,作為實施縮放對象的運動矢量MV_REF及時間間隔TR_REF,取代象公式7那樣使用2運動矢量的平均值,也可以象公式10那樣直接使用對圖像P45進行參照的運動矢量MV45及時間間隔TR45,該圖像P45對參照運動矢量的圖像P44來說時間間隔短。同樣,也可以象公式11那樣將對時間間隔長的圖像P46進行參照的運動矢量MV46及時間間隔TR46作為運動矢量MV_REF及時間間隔TR_REF,加以直接使用。采用這種方法,由于參照運動矢量的屬于圖像P44的各個像塊可以通過預先只存儲2個運動矢量之中的一方來實現(xiàn)運動補償,因而在編碼裝置中能夠少量地抑制運動矢量存儲器的容量。
MV_REF=MV45 …公式10(a)TR_REF=TR45 …公式10(b)MV_REF=MV46 …公式11(a)TR_REF=TR46 …公式11(b)還有,在圖9中計算2個運動矢量MV43及運動矢量MV44時,作為實施縮放對象的運動矢量MV_REF及時間間隔TR_REF,取代象公式7那樣使用2個運動矢量的平均值,也可以直接使用對編碼次序靠前的圖像進行參照的運動矢量。圖10(a)與圖9相同,示出按照作為動態(tài)圖像所顯示的次序在圖像排列方法中的參考關系,在圖10(b)中表示出依照在圖6的幀存儲器101中被編碼的次序所重新排列的一個示例。還有,圖像P43表示出通過直接方式進行編碼的圖像,圖像P44表示出此時參照運動矢量的圖像。如圖10(b)所示,由于在重新排列時直接使用對編碼次序靠前的圖像進行參照的運動矢量,所以象公式11那樣作為運動矢量MV_REP及時間間隔TR_REF而直接使用運動矢量MV46及時間間隔TR46。同樣,也可以直接使用對編碼次序靠后的圖像進行參照的運動矢量。這種場合下,象公式10那樣作為運動矢量MV_REF及時間間隔TR_REF而直接使用運動矢量MV45及時間間隔TR45。采用這種方法,由于參照運動矢量的屬于圖像P44的各個像塊可以通過預先只存儲2個運動矢量之中的一方來實現(xiàn)運動補償,因而在編碼裝置中能夠少量地抑制運動矢量存儲器的容量。
還有,在直接方式中為決定運動矢量所參照的圖像具有對按照顯示時間順序處于后方的2幅圖像進行參照的2個運動矢量的場合下,也可以將需要的2個運動矢量MV43及運動矢量MV44作為「0」實行運動補償。采用這種方法,由于參照運動矢量的屬于圖像P44的各個像塊沒有必要預先存儲運動矢量,所以在編碼裝置中可以少量地抑制運動矢量存儲器的容量,并能夠進一步省略為計算運動矢量所需的處理。
還有,在直接方式中為決定運動矢量所參照的圖像具有對按照顯示時間順序處于后方的2幅圖像進行參照的2個運動矢量的場合下,也可以禁止參照運動矢量,使之只使用直接方式之外的預測編碼。在象圖9的圖像P44那樣對按照顯示時間順序處于后方的2幅圖像進行參照的場合下,由于考慮到與按照顯示時間順序處于前方的圖像之間的相關低的可能性,所以通過禁止直接方式并選擇其他的預測方法,而可以生成更為正確的預測圖像。
再者,在本實施方式中雖然有關通過對所參照的運動矢量采用圖像間的時間性距離進行縮放而計算出在直接方式中所使用的運動矢量的情形,已做出說明,但是這也可以對所參照的運動矢量進行常數(shù)加倍計算。在此,使用于常數(shù)加倍處理中的常數(shù)在以多個像塊為單位或者以多個圖像為單位進行編碼或解碼時,也可以是可變更的。
還有,在公式7(a)、公式9(b)中計算運動矢量MV_REF時,計算出公式7(a)、公式9(b)的右邊之后,也可以轉成指定的運動矢量精度。作為運動矢量的精度,有1/2象素、1/3象素及1/4象素精度等。另外,該運動矢量的精度例如可以由像塊單位、圖像單位及順序單位來決定。另外,在公式8(a)、公式8(b)及公式9(a)中計算運動矢量MV43、運動矢量MV44及運動矢量MV46’時,計算出公式8(a)、公式8(b)及公式9(a)的右邊之后,也可以轉成指定的運動矢量精度。
(實施方式3)采用圖11所示的框圖,來說明本發(fā)明實施方式3的動態(tài)圖像解碼方法。其中,輸入通過實施方式1的動態(tài)圖像編碼方法所生成的編碼序列。
首先,從所輸入的編碼序列通過編碼序列解析器601提取預測方式、運動矢量信息及預測剩余誤差編碼數(shù)據(jù)等的各種信息。
預測方式和運動矢量信息對預測方式/運動矢量解碼部608予以輸出,預測剩余誤差編碼數(shù)據(jù)輸出到預測剩余誤差解碼部602。在預測方式/運動矢量解碼部608中,實行預測方式的解碼和在該預測方式中所使用的運動矢量解碼。在對運動矢量進行解碼時,利用運動矢量存儲部605中所存儲的已解碼運動矢量。解碼后的預測方式及運動矢量對運動補償譯碼部604予以輸出。另外,解碼后的運動矢量為了在后面像塊的運動矢量解碼過程中加以利用,而存儲在運動矢量存儲部605中。通過運動補償譯碼部604,將幀存儲器603中所儲存的已解碼圖像的解碼圖像作為參考圖像,根據(jù)所輸入的預測方式和運動矢量信息來生成預測圖像。這樣所生成的預測圖像被輸入加法運算部606,通過與在預測剩余誤差解碼部602中所生成的預測剩余誤差圖像進行加法運算,而生成解碼圖像。以上的實施方式是對于實行圖像間預測編碼的編碼序列來說的動作,而通過開關607實行與下述解碼處理之間的轉換,該解碼處理是對于實行圖像內(nèi)預測編碼的編碼序列來說的處理。
以上示出解碼流程的概要,而在下面將有關運動補償譯碼部604中其處理的詳細狀況,予以說明。
運動矢量信息附加于每個像塊或分割像塊后的每一區(qū)域中。對于作為解碼對象的圖像,將按照顯示時間順序位于前方及后方的已解碼圖像作為參考圖像,通過解碼后的運動矢量從該圖像內(nèi)開始制作為實行運動補償所需的預測圖像。
作為雙向預測的一種有直接方式,該雙向預測對按照時間順序處于前方及后方的分別1幅圖像進行參照來實行圖像間預測編碼。在直接方式中,由于輸入解碼對象的像塊不直接具有運動矢量的編碼序列,所以通過參照下述像塊的運動矢量而計算出實際實行運動補償所需的2個運動矢量并制作預測圖像,上述像塊在按照顯示時間順序處于近旁的已解碼圖像內(nèi)的相同位置上。
圖7表示的是在直接方式中為決定運動矢量所參照的已解碼圖像,具有對按照顯示時間順序處于前方的2幅圖像進行參照的2個運動矢量時的動作。圖像P23是作為當前解碼對象的圖像,并以圖像P22及圖像P24作為參考圖像來實行雙向預測。如果將實行解碼的像塊作為像塊MB21,則此時作為必要的2個運動矢量采用像塊MB22所具有的運動矢量來決定,該像塊MB22處于作為已解碼后方參考圖像(由第2參考索引所指定的第2參考圖像)的圖像P24的相同位置上。由于該像塊MB22作為運動矢量具有2個運動矢量MV21及運動矢量MV22,所以不能與公式1同樣地通過直接使用按比例縮放計算出需要的2個運動矢量MV23及運動矢量MV24。因此象公式2那樣,作為使用按比例縮放的運動矢量而從像塊MB22所具有的2個運動矢量的平均值計算出運動矢量MV_REF,并同樣地從平均值計算出此時的時間間隔TR_REF。然后,根據(jù)公式3對運動矢量MV_REF及時間間隔TR_REF使用按比例縮放,以此計算出運動矢量MV23及運動矢量MV24。此時,時間間隔TR21表示出從圖像P24到圖像P21也就是到運動矢量MV21所參照的圖像之間的時間間隔,時間間隔TR22表示出到運動矢量MV22所參照的圖像之間的時間間隔。另外,時間間隔TR23表示出到運動矢量MV23所參照的圖像之間的時間間隔,時間間隔TR24表示出到運動矢量MV24所參照的圖像之間的時間間隔。這些圖像間的時間間隔,例如可以根據(jù)各圖像上所附加的表示顯示時間和顯示順序的信息或者其信息之差,來決定。再者,在圖7的示例中作為解碼對象的圖像對鄰近的圖像進行參照,但即使參照非鄰近的圖像時也同樣可以進行處理。
如上所述,在上述的實施方式中表示出下述的解碼方法,這就是在直接方式中參照運動矢量的像塊具有對按照顯示時間順序處于前方的圖像進行參照的多個運動矢量的場合下,采用上述多個運動矢量生成1個運動矢量,使用按比例縮放來決定實際使用于移動補償所需的2個運動矢量,以此即使在直接方式中參照運動矢量的像塊屬于B圖像的場合下,也可以在不相互矛盾的狀況下實行采用直接方式的圖像間預測解碼。
再者,在圖7中計算2個運動矢量MV23及運動矢量MV24時,為了計算出作為實施縮放對象的運動矢量MV_REF及時間間隔TR_REF,而作為取得運動矢量MV21和運動矢量MV22的平均值及時間間隔TR21及時間間隔TR22的平均值的方法,也可以取代公式2來使用公式4。首先,象公式4(a)那樣,對運動矢量MV21實施縮放使時間間隔與運動矢量MV22等同,計算出運動矢量MV21’。然后,通過取得運動矢量MV21’和運動矢量MV22的平均數(shù)來決定運動矢量MVREF。此時,時間間隔TR_REF還按原樣使用時間間隔TR22。還有,即使在取代對運動矢量MV21實施縮放將其作為運動矢量MV21’而對運動矢量MV22實施縮放將其作為運動矢量MV22’的場合下,也同樣可以進行處理。
再者,在圖7中計算2個運動矢量MV23及運動矢量MV24時,作為實施縮放對象的運動矢量MV_REF及時間間隔TR_REF,取代象公式2那樣使用2個運動矢量的平均值,也可以象公式5那樣直接使用對圖像P22進行參照的運動矢量MV22及TR22,該圖像P22對參照運動矢量的圖像P24來說時間間隔短。同樣,也可以象公式6那樣將對時間間隔長的圖像P21進行參照的運動矢量MV21及時間間隔TR21作為運動矢量MV_REF及時間間隔TR_REF,加以直接使用。采用這種方法,由于參照運動矢量的屬于圖像P24的各個像塊可以通過預先只存儲2個運動矢量之中的一方來實現(xiàn)運動補償,因而在編碼裝置中能夠少量地抑制運動矢量存儲部的容量。
還有,在圖7中計算2個運動矢量MV23及運動矢量MV24時,作為實施縮放對象的運動矢量MV_REF及時間間隔TR_REF,取代象公式2那樣使用2個運動矢量的平均值,也可以直接使用對解碼次序靠前的圖像進行參照的運動矢量。圖8(a)與圖7相同,示出按照作為動態(tài)圖像所顯示的次序在圖像排列方法中的參考關系,在圖8(b)中表示出所輸入的編碼序列的次序也就是解碼次序的一個示例。還有,圖像P23表示出采用直接方式實行解碼的圖像,圖像P24表示出此時參照運動矢量的圖像。在考慮圖8(b)那種的排列順序時,由于直接使用對解碼次序靠前的圖像進行參照的運動矢量,所以象公式5那樣作為運動矢量MV_REF及時間間隔TR_REF而直接使用運動矢量MV22及時間間隔TR22。同樣,也可以直接使用對解碼次序靠后的圖像進行參照的運動矢量。這種場合下,象公式6那樣作為運動矢量MV_REF及時間間隔TR_REF而直接使用運動矢量MV21及時間間隔TR21。采用這種方法,由于參照運動矢量的屬于圖像P24的各個像塊可以通過預先只存儲2個運動矢量之中的一方來實現(xiàn)運動補償,因而在編碼裝置中能夠少量地抑制運動矢量存儲部的容量。
再者,在本實施方式中雖然對于通過對所參照的運動矢量采用圖像間的時間性距離進行縮放而計算出在直接方式中所使用的運動矢量的情形,已做出說明,但是這也可以對所參照的運動矢量進行常數(shù)加倍計算。在此,使用于常數(shù)加倍處理中的常數(shù)在以多個像塊為單位或者以多個圖像為單位進行編碼或解碼時,也可以是可變更的。
(實施方式4)根據(jù)圖11的解碼處理概要與實施方式3是完全同等的。在此,將有關直接方式中的雙向預測動作,采用圖9來說明其詳細狀況。其中,輸入通過實施方式2的動態(tài)圖像編碼方法所生成的編碼序列。
圖9表示出在直接方式中為決定運動矢量所參照的像塊,具有對按照顯示時間順序處于后方的2幅圖像進行參照的2個運動矢量時的動作。圖像P43是作為當前解碼對象的圖像,并以圖像P42及圖像P44作為參考圖像來實行雙向預測。如果將實行解碼的像塊作為像塊MB41,則此時作為必要的2個運動矢量采用像塊MB42所具有的運動矢量來決定,該像塊MB42處于作為已解碼后方參考圖像(由第2參考索引所指定的第2參考圖像)的圖像P44的相同位置上。由于該像塊MB42作為運動矢量具有2個運動矢量MV45及運動矢量MV46,所以不能與公式1同樣地通過直接使用按比例縮放計算出需要的2個運動矢量MV43及運動矢量MV44。因此象公式7那樣,作為使用按比例縮放的運動矢量而從像塊MB42所具有的2個運動矢量的平均值來決定運動矢量MV_REF,并同樣地從平均值來決定此時的時間間隔TR_REF。然后,根據(jù)公式8對運動矢量MV_REF及時間間隔TR_REF使用按比例縮放,以此計算出運動矢量MV43及運動矢量MV44。此時,時間間隔TR45表示從圖像P44到圖像P45也就是到運動矢量MV45所參照的圖像之間的時間間隔,時間間隔TR46表示到運動矢量MV46所參照的圖像之間的時間間隔,時間間隔TR43表示到運動矢量MV43所參照的圖像之間的時間間隔,時間間隔TR44表示到運動矢量MV44所參照的圖像之間的時間間隔。再者,在圖9的示例中作為解碼對象的圖像對鄰近的圖像進行參照,但即使參照非鄰近的圖像時也同樣可以進行處理。
如上所述,在上述的實施方式中表示出下述的解碼方法,這就是在直接方式中參照運動矢量的像塊具有對按照顯示時間順序處于后方的圖像進行參照的多個運動矢量的場合下,采用上述多個運動矢量生成1個運動矢量,使用按比例縮放來決定實際用于移動補償所需的2個運動矢量,以此即使在直接方式中參照運動矢量的像塊屬于B圖像的場合下,也可以在不相互矛盾的狀況下實行采用直接方式的圖像間預測解碼。
再者,在圖9中計算2個運動矢量MV43及運動矢量MV44時,為了計算出作為實施縮放對象的運動矢量MV_REF及時間間隔TR_REF,而作為取得運動矢量MV45和運動矢量MV46的平均值及時間間隔TR45和時間間隔TR46的平均值的方法,也可以取代公式7來使用公式9。首先,象公式9(a)那樣,對運動矢量MV46實施縮放使時間間隔與運動矢量MV45等同,計算出運動矢量MV46’。然后,通過取得運動矢量MV46’和運動矢量MV45的平均數(shù)來決定運動矢量MV_REF。此時,時間間隔TR_REF還按原樣使用時間間隔TR45。還有,在取代對運動矢量MV46實施縮放將其作為運動矢量MV46’而對運動矢量MV45實施縮放將其作為運動矢量MV45’的場合下,也同樣可以進行處理。
再者,在圖9中計算2個運動矢量MV43及運動矢量MV44時,作為實施縮放對象的運動矢量MV_REF及時間間隔TR_REF,取代象公式7那樣使用2個運動矢量的平均值,也可以象公式10那樣直接使用對圖像P45進行參照的運動矢量MV45及時間間隔TR45,該圖像P45對參照運動矢量的圖像P44來說時間間隔短。同樣,也可以象公式11那樣將對時間間隔長的圖像P46進行參照的運動矢量MV46及時間間隔TR46作為運動矢量MV_REF及時間間隔TR_REF,加以直接使用。采用這種方法,由于參照運動矢量的屬于圖像P44的各個像塊可以通過預先只存儲2個運動矢量之中的一方來實現(xiàn)運動補償,因而在解碼裝置中能夠少量地抑制運動矢量存儲器的容量。
還有,在圖9中計算2個運動矢量MV43及運動矢量MV44時,作為實施縮放對象的運動矢量MV_REF及時間間隔TR_REF,取代象公式7那樣使用2個運動矢量的平均值,也可以直接使用對解碼次序靠前的圖像進行參照的運動矢量。圖10(a)與圖9相同,示出按照作為動態(tài)圖像所顯示的次序在圖像排列方法中的參考關系,在圖10(b)中表示出所輸入的編碼序列的次序也就是解碼次序的一個示例。還有,圖像P43表示出采用直接方式進行編碼的圖像,圖像P44表示出此時參照運動矢量的圖像。在考慮圖10(b)的那種排列順序時,由于直接使用對解碼次序靠前的圖像進行參照的運動矢量,所以象公式11那樣作為運動矢量MV_REF及時間間隔TR_REF而直接使用運動矢量MV46及時間間隔TR46。同樣,也可以直接使用對解碼次序靠后的圖像進行參照的運動矢量。這種場合下,象公式10那樣作為運動矢量MV_REF及時間間隔TR_REF而直接使用運動矢量MV45及時間間隔TR45。采用這種方法,由于參照運動矢量的屬于圖像P44的各個像塊可以通過預先只存儲2個運動矢量之中的一方來實現(xiàn)運動補償,因而在解碼裝置中能夠少量地抑制運動矢量存儲部的容量。
還有,在直接方式中為決定運動矢量所參照的圖像具有對按照顯示時間順序處于后方的2幅圖像進行參照的2個運動矢量的場合下,也可以將需要的2個運動矢量MV43及運動矢量MV44作為「0」來實行運動補償。采用這種方法,由于參照運動矢量的屬于圖像P44的各個像塊沒有必要預先存儲運動矢量,所以在解碼裝置中可以少量地抑制運動矢量存儲部的容量,并能夠進一步省略為計算運動矢量所需的處理。
再者,在本實施方式中雖然對于通過對所參照的運動矢量采用圖像間的時間性距離進行縮放而計算出在直接方式中所使用的運動矢量的情形,已做出說明,但是這也可以對所參照的運動矢量進行常數(shù)加倍計算。在此,使用于常數(shù)加倍處理中的常數(shù)在以多個像塊為單位或者以多個圖像為單位進行編碼或解碼時,也可以是可變更的。
(實施方式5)不局限于從上述實施方式1到實施方式4所示的編碼方法或解碼方法,而可以采用下面所示的運動矢量計算方法來實現(xiàn)編碼方法或解碼方法。
圖12表示出在直接方式中為計算運動矢量而參照的已編碼像塊或已解碼像塊,具有對按照顯示時間順序處于前方的2幅圖像進行參照的2個運動矢量時的動作。圖像P23是作為當前編碼或解碼對象的圖像。如果將進行編碼或解碼的像塊作為像塊MB1,則此時作為必要的2個運動矢量采用像塊MB2所具有的運動矢量來決定,該像塊MB2處于已編碼或已解碼的后方參考圖像(由第2參考索引所指定的第2參考圖像)P24的相同位置上。還有,在圖12中像塊MB1是處理對象像塊,像塊MB1和像塊MB2是在圖像上相互處于同一位置的像塊,運動矢量MV21和運動矢量MV22是對像塊MB2進行編碼或解碼時所使用的運動矢量,并且分別參照圖像P21、圖像P22。另外,圖像P21、圖像P22及圖像P24是已編碼圖像或已解碼圖像。另外,時間間隔TR21表示圖像P21和圖像P24之間的時間間隔,時間間隔TR22表示圖像P22和圖像P24之間的時間間隔,時間間隔TR21’表示圖像P21和圖像P23之間的時間間隔,時間間隔TR24’表示圖像P23和圖像P24之間的時間間隔。
作為運動矢量計算方法,如圖12所示只采用參考圖像P24上像塊MB2的運動矢量之中先編碼或解碼的前向運動矢量(第1運動矢量)MV21,通過下面的公式來計算像塊MB1的運動矢量MV21’和運動矢量MV24’。
MV21’=MV21×TR21’/TR21
MV24’=-MV21×TR24’/TR21然后,采用運動矢量MV21’、運動矢量MV24’從圖像P21、圖像P24開始實行雙向預測。還有,取代只采用運動矢量MV21計算像塊MB1的運動矢量MV21’和運動矢量MV24’,也可以只采用參考圖像P24上像塊MB2的運動矢量之中后編碼或解碼的運動矢量(第2運動矢量)MV22,來計算像塊MB1的運動矢量。另外,如同實施方式1到實施方式4所示,也可以采用運動矢量MV21和運動矢量MV22的雙方,來決定像塊MB1的運動矢量。無論選擇運動矢量MV21和運動矢量MV22的哪一方,在這種場合下如何選擇其中的哪個,既可以選擇在時間上先編碼或解碼的像塊的運動矢量,又可以在編碼裝置、解碼裝置中預先任意設定好選擇哪個。另外,不管圖像P21在短時間存儲器(ShortTerm Buffer)中還是在長時間存儲器(Long Term Buffer)中,都可以實行運動補償。有關短時間存儲器、長時間存儲器,將在下面予以說明。
圖13表示出在直接方式中為計算運動矢量而參照的已編碼像塊或已解碼像塊,具有對按照顯示時間順序處于后方的2幅圖像進行參照的2個運動矢量時的動作。圖像P22是作為當前編碼或解碼對象的圖像。如果將進行編碼或解碼的像塊作為像塊MB1,則此時作為必要的2個運動矢量采用像塊MB2所具有的運動矢量來決定,該像塊MB2處于已編碼或已解碼的后方參考圖像(第2參考圖像)P23的相同位置上。還有,在圖13中像塊MB1是處理對象像塊,像塊MB1和像塊MB2是在圖像上相互處于同一位置的像塊,運動矢量MV24和運動矢量MV25是對像塊MB2進行編碼或解碼時所使用的運動矢量,并且分別參照圖像P24、圖像P25。另外,圖像P21、圖像P23、圖像P24及圖像P25是已編碼圖像或者已解碼圖像。另外,時間間隔TR24表示圖像P23和圖像P24之間的時間間隔,時間間隔TR25表示圖像P23和圖像P25之間的時間間隔,時間間隔TR24’表示圖像P22和圖像P24之間的時間間隔,時間間隔TR21’表示圖像P21和圖像P22之間的時間間隔。
作為運動矢量計算方法,如圖13所示只采用參考圖像P24中像塊MB2到圖像P24的運動矢量MV24,通過下面的公式來計算像塊MB1的運動矢量MV21’和運動矢量MV24’。
MV21’=-MV24×TR21’/TR24MV24’=MV24×TR24’/TR24然后,采用運動矢量MV21’和運動矢量MV24’從圖像P21和圖像P24開始實行雙向預測。
還有,如圖14所示只采用參考圖像P23上像塊MB2到圖像P25的運動矢量MV25的場合下,通過下面的公式來計算像塊MB1的運動矢量MV21’和運動矢量MV25’。再者,時間間隔TR24表示圖像P23和圖像P24之間的時間間隔,時間間隔TR25表示圖像P23和圖像P25之間的時間間隔,時間間隔TR25’表示圖像P22和圖像P25之間的時間間隔,時間間隔TR21’表示圖像P21和圖像P22之間的時間間隔。
MV21’=-MV25×TR21’/TR25MV25’=MV25×TR25’/TR25然后,采用運動矢量MV21’和運動矢量MV25’從圖像P21和圖像P24開始實行雙向預測。
圖15表示出在直接方式中為計算運動矢量而參照的已編碼像塊或已解碼像塊,具有對按照顯示時間順序處于前方的1幅圖像進行參照的2個運動矢量時的動作。圖像P23是作為當前編碼或解碼對象的圖像。如果將進行編碼或解碼的像塊作為像塊MB1,則此時作為必要的2個運動矢量采用像塊MB2所具有的運動矢量來決定,該像塊MB2處于已編碼或已解碼的后方參考圖像(由第2參考索引所指定的第2參考圖像)P24的相同位置上。還有,在圖15中像塊MB1是處理對象像塊,像塊MB1和像塊MB2是在圖像上相互處于同一位置的像塊。運動矢量MV21A和運動矢量MV21B是對像塊MB2進行編碼或解碼時所使用的前向運動矢量,并同時參照圖像P21。另外,圖像P21、圖像P22及圖像P24是已編碼圖像或者已解碼圖像。另外,時間間隔TR21A、時間間隔TR21B表示圖像P21和圖像P24之間的時間間隔,時間間隔TR21’表示圖像P21和圖像P23之間的時間間隔,時間間隔TR24’表示圖像P23和圖像P24之間的時間間隔。
作為運動矢量計算方法,如圖15所示只采用參考圖像P24上像塊MB2到圖像P21的前向運動矢量MV21A,通過下面的公式來計算像塊MB1的運動矢量MV21A’和運動矢量MV24’。
MV21A’=MV21A×TR21’/TR21AMV24’=-MV21A×TR24’/TR21A然后,采用運動矢量MV21A’和運動矢量MV24’從圖像P21和圖像P24開始實行雙向預測。
還有,也可以只采用參考圖像P24上像塊MB2到圖像P21的前向運動矢量MV21B,來計算像塊MB1的運動矢量。另外,如同實施方式1到實施方式4所示,也可以采用前向運動矢量MV21A和前向運動矢量MV21B的雙方,來決定對像塊MB1的運動矢量。無論選擇前向運動矢量MV21A和前向運動矢量MV21B的哪一方,在這種場合下如何選擇其中的哪個,既可以選擇在時間上先編碼或解碼(預先描述在編碼序列中)的運動矢量,又可以在編碼裝置、解碼裝置中加以任意設定。在此,在時間上先編碼或解碼的運動矢量意味著第1運動矢量。另外,不管圖像P21在短時間存儲器(Short Term Buffer)中還是在長時間存儲器(Long Term Buffer)中,都可以實行運動補償。有關短時間存儲器、長時間存儲器,將在下面予以說明。
再者,在本實施方式中雖然有關通過對所參照的運動矢量采用圖像間的時間性距離進行縮放而計算出在直接方式中所使用的運動矢量的情形,已做出說明,但是這也可以對所參照的運動矢量進行常數(shù)加倍計算。在此,使用于常數(shù)加倍處理中的常數(shù)在以多個像塊為單位或者以多個圖像為單位進行編碼或解碼時,也可以是可變更的。
還有,在上述的運動矢量MV21’、運動矢量MV24’、運動矢量MV25’及運動矢量MV21A’的計算公式中,計算出各公式的右邊之后,也可以轉成指定的運動矢量精度。作為運動矢量的精度,有1/2象素、1/3象素及1/4象素精度等。另外,該運動矢量的精度例如可以由像塊單位、圖像單位及順序單位來決定。
(實施方式6)在本發(fā)明的實施方式6中,將有關下述方法采用圖16到圖18予以說明,這就是在直接方式中為決定對象運動矢量所使用的參考圖像具有對按照顯示時間順序處于前方的2幅圖像進行參照的2個前向運動矢量的場合下,可以只對2個前向運動矢量之中的一方進行縮放來計算對象運動矢量。還有,像塊MB1是處理對象像塊,像塊MB1和像塊MB2是在圖像上相互處于同一位置的像塊,運動矢量MV21和運動矢量MV22是對像塊MB2進行編碼或解碼時所使用的前向運動矢量,并且分別參照圖像P21、圖像P22。另外,圖像P21、圖像P22及圖像P24是已編碼圖像或者已解碼圖像。另外,時間間隔TR21表示圖像P21和圖像P24之間的時間間隔,時間間隔TR22表示圖像P22和圖像P24之間的時間間隔,時間間隔TR21’表示圖像P21和圖像P23之間的時間間隔,時間間隔TR22’表示圖像P22和圖像P23之間的時間間隔。
作為第1方法,如圖16所示在參考圖像P24上的像塊MB2具有到圖像P21的前向運動矢量MV21和到圖像P22的前向運動矢量MV22的2個前向運動矢量時,只采用對象圖像P23上按照顯示時間順序近的到圖像P22的運動矢量MV22,通過下面的公式來計算像塊MB1的運動矢量MV22’。
MV22’=MV22×TR22’/TR22
然后,采用運動矢量MV22’,從圖像P22開始實行運動補償。
作為第2方法,如圖17所示在參考圖像P24上的像塊MB2具有到圖像P21的前向運動矢量MV21和到圖像P22的前向運動矢量MV22的2個前向運動矢量時,只采用對象圖像P23上按照顯示時間順序遠的到圖像P21的運動矢量MV21,通過下面的公式來計算像塊MB1的運動矢量MV21’。
MV21’=MV21×TR21’/TR21然后,采用運動矢量MV21’,從圖像P21開始實行運動補償。
采用這些第1、第2方法,由于參照運動矢量的屬于參考圖像P24的像塊MB2可以通過預先只存儲2個運動矢量之中的一方來實現(xiàn)運動補償,所以能夠少量地抑制運動矢量存儲部的容量。
還有,在采用前向運動矢量MV21的同時,與實施方式1相同也可以按照顯示時間順序從作為近旁圖像的圖像P22開始實行運動補償。此時所使用的運動矢量MVN(未圖示)通過下面的公式來計算。
MVN=MV21×TR22’/TR21還有,作為第3方法,如圖18所示采用在上面所求出的運動矢量MV21’和運動矢量MV22’分別從圖像P21和圖像P22取得運動補償像塊,將其平均圖像作為運動補償中的內(nèi)插圖像。
采用該第3方法會增加計算量,但使運動補償?shù)木鹊玫教岣摺?br> 還有,也可以采用上述運動矢量MVN和運動矢量MV22’從圖像P22取得運動補償像塊,并將其平均圖像作為運動補償中的內(nèi)插圖像。
再者,在本實施方式中雖然有關通過對所參照的運動矢量采用圖像間的時間性距離進行縮放而計算出在直接方式中所使用的運動矢量的情形,已做出說明,但是這也可以對所參照的運動矢量進行常數(shù)加倍計算。在此,使用于常數(shù)加倍處理中的常數(shù)在以多個像塊為單位或者以多個圖像為單位進行編碼或解碼時,也可以是可變更的。
還有,在上述的運動矢量MV21’、運動矢量MV24’及運動矢量MVN的計算公式中,計算出各公式的右邊之后,也可以轉成指定的運動矢量精度。作為運動矢量的精度,有1/2象素、1/3象素及1/4象素精度等。另外,該運動矢量的精度例如可以由像塊單位、圖像單位及順序單位來決定。
(實施方式7)在上述實施方式6中,有關在直接方式中為決定編碼或解碼對象像塊的運動矢量所使用的參考圖像具有對按照顯示時間順序處于前方的2幅圖像進行參照的2個前向運動矢量的情形,已做出說明,但是在具有對按照顯示時間順序處于后方的2幅圖像進行參照的2個后向運動矢量(由第2參考索引來指定參考圖像的第2運動矢量)的場合下,也同樣可以只對2個后向運動矢量之中的一方進行縮放來計算出對象運動矢量。下面,將采用圖19到圖22予以說明。還有,像塊MB1是處理對象像塊,像塊MB1和像塊MB2是在圖像上相互處于同一位置的像塊,運動矢量MV24和運動矢量MV25是對像塊MB2進行編碼或解碼時所使用的后向運動矢量(由第2參考索引來指定參考圖像的第2運動矢量)。另外,圖像P21、圖像P23、圖像P24及圖像P25是已編碼圖像或者已解碼圖像。另外,時間間隔TR24表示圖像P23和圖像P24之間的時間間隔,時間間隔TR25表示圖像P23和圖像P25之間的時間間隔,時間間隔TR24’表示圖像P22和圖像P24之間的時間間隔,時間間隔TR25’表示圖像P22和圖像P25之間的時間間隔。
作為第1方法,如圖19所示在參考圖像P23上的像塊MB2具有到圖像P24的后向運動矢量MV24和到圖像P25的后向運動矢量MV25的2個后向運動矢量時,只采用對象圖像P22上按照顯示時間順序近的到圖像P24的運動矢量MV24,通過下面的公式來計算像塊MB1的運動矢量MV24’。
MV24’=MV24×TR24’/TR24然后,采用運動矢量MV24’,從圖像P24開始實行運動補償。
還有,在采用后向運動矢量MV24的同時,與實施方式1相同也可以按照顯示時間順序從作為近旁圖像的圖像P23開始實行運動補償。此時所使用的運動矢量MVN1(未圖示)通過下面的公式來計算。
MVN1=MV24×TRN1/TR24作為第2方法,如圖20所示在參考圖像P23上的像塊MB2具有到圖像P24的后向運動矢量MV24和到圖像P25的后向運動矢量MV25的2個后向運動矢量時,只采用對象圖像P23上按照顯示時間順序遠的到圖像P25的后向運動矢量MV25,通過下面的公式來計算像塊MB1的運動矢量MV25’。
MV25’=MV25×TR25’/TR25然后,采用運動矢量MV25’,從圖像P25開始實行運動補償。
采用這些第1、第2方法,由于參照運動矢量的屬于參考圖像P23的像塊MB2可以通過預先只存儲2個運動矢量之中的一方來實現(xiàn)運動補償,所以能夠少量地抑制運動矢量存儲部的容量。
還有,在采用后向運動矢量MV25的同時,與實施方式1相同也可以按照顯示時間順序從作為近旁圖像的圖像P23開始實行運動補償。此時所使用的運動矢量MVN2(未圖示)通過下面的公式來計算。
MVN2=MV25×TRN1/TR25還有作為第3方法,如圖21所示采用上面所求出的運動矢量MV24’和運動矢量MV25’分別從圖像P24和圖像P25取得運動補償像塊,將其平均圖像作為運動補償中的內(nèi)插圖像。
采用該第3方法會增加計算量,但使對象圖像P22的精度得到提高。
再者,也可以采用上述運動矢量MVN1和運動矢量MVN2從圖像P24取得運動補償像塊,并將其平均圖像作為運動補償中的內(nèi)插圖像。
另外,如圖22所示在直接方式中為決定對象運動矢量所使用的參考圖像具有對按照顯示時間順序處于后方的1幅圖像進行參照的1個后向運動矢量的場合下,例如通過下面的公式來計算運動矢量MV24’。
MV24’=MV24×TR24’/TR24然后,采用運動矢量MV24’,從圖像P24開始實行運動補償。
還有,在采用后向運動矢量MV25的同時,與實施方式1相同也可以按照顯示時間順序從作為近旁圖像的圖像P23開始實行運動補償。此時所使用的運動矢量MVN3(未圖示)通過下面的公式來計算。
MVN3=MV24×TRN1/TR24再者,在本實施方式中已采用圖19到圖22對于下述情形做出說明,但是這種場合下也可以不使用后向運動矢量而對同一圖像內(nèi)外圍像塊的運動矢量進行參照來計算對象運動矢量,并且在實行圖像內(nèi)編碼的場合下也可以對同一圖像內(nèi)外圍像塊的運動矢量進行參照來計算對象運動矢量,上述情形是在具有對按照顯示時間順序處于后方的2幅圖像進行參照的2個后向運動矢量時,以及在具有對按照顯示時間順序處于后方的1幅圖像進行參照的1個后向運動矢量時,對該后向運動矢量進行縮放來計算對象運動矢量。首先,對于第1計算方法予以說明。圖23表示的是此時所參照的運動矢量和對象像塊之間的位置關系。像塊MB1是對象像塊,并對處于含有A、B、C位置關系上的3個象素的像塊的運動矢量進行參照。但是,在象素C的位置為圖像外或者是未完成編碼/解碼的狀態(tài)等的不能參照的場合下,取代含有象素C的像塊而使用含有象素D的像塊的運動矢量。通過取得作為參考對象的含有A、B、C象素的3個像塊所具有的運動矢量的中央值,而將其作為實際在直接方式中所使用的運動矢量。由于取得3個像塊所具有的運動矢量的中央值,而沒有必要在編碼序列中描述出選擇3個運動矢量之中的哪個運動矢量這樣的附加信息,并且可以得到表現(xiàn)出與像塊MB1的實際運動接近的運動的運動矢量。這種場合下,既可以采用所決定的運動矢量只通過前方參照(向第1參考圖像的參照)來實行運動補償,又可以采用該所決定的運動矢量和平行的運動矢量通過雙向參照(向第1參考圖像及第2參考圖像的參照)來實行運動補償。
接著,對于第2計算方法予以說明。
在第2計算方法中,不象第1計算方法那樣取得中央值,而是通過從作為參考對象的含有A、B、C象素的3個像塊所具有的運動矢量之中取得編碼效率為最高的運動矢量,將其作為實際在直接方式中所使用的運動矢量。這種場合下,既可以采用所決定的運動矢量只通過前方參照(向第1參考圖像的參照)來實行運動補償,又可以采用該所決定的運動矢量和平行的運動矢量通過雙向參照(使用第1參考圖像及第2參考圖像的參照)來實行運動補償。表示編碼效率最高的運動矢量的信息例如如圖24(a)所示,與表示從方式選擇部107所輸出的直接方式的信息一起,附加于通過編碼序列生成部103所生成的編碼序列中像塊的標題區(qū)域內(nèi)。還有,如圖24(b)所示,表示編碼效率最高的運動矢量的信息也可以附加于宏塊的標題區(qū)域內(nèi)。另外,表示編碼效率最高的運動矢量的信息指的是,例如對作為參考對象的含有象素的像塊加以識別的編號,并是給與每個像塊的識別編號。另外,在通過識別編號來識別像塊時只采用1個給與每個像塊的識別編號,在對與該1個識別編號相應的像塊進行編碼時也只采用所使用運動矢量之中的一方來表示編碼效率為最高的運動矢量,在有多個運動矢量時也可以采用多個運動矢量來表示編碼效率為最高的運動矢量?;蛘哒f,也可以在雙向參照(向第1參考圖像及第2參考圖像的參照)的各自每個運動矢量中采用給與每個像塊的識別編號,來表示編碼效率為最高的運動矢量。通過使用這種運動矢量的選擇方法,必然可以取得編碼效率為最高的運動矢量。但是,由于必須在編碼序列中描述表示出選擇哪個運動矢量的附加信息,所以額外需要為此所需的代碼量。再者,對于第3計算方法予以說明。
在第3計算方法中,將運動矢量所參照的參考圖像其參考索引的值為最小的運動矢量作為在直接方式中所使用的運動矢量。參考索引為最小一般是指對按照顯示時間順序近的圖像進行參照的、或者編碼效率為最高的運動矢量。因而,通過使用這種運動矢量的選擇方法,可以采用對按照顯示時間順序最近的或者編碼效率為最高的圖像進行參照的運動矢量,生成在直接方式中所使用的運動矢量,謀求編碼效率的提高。
還有,在3條運動矢量之中3條都參照同一參考圖像的場合下,可以采用3個運動矢量的中央值。另外,在3個運動矢量之中有2條對參考索引的值為最小的參考圖像進行參照的運動矢量的場合下,例如可以固定選擇2條運動矢量之中的任何一方。若采用圖23來表示示例,就是在含有象素A、象素B及象素C的3個像塊所具有的運動矢量之中含有象素A及象素B的2個像塊對參考索引的值最小且同一參考圖像進行參照的場合下,可以取得含有象素A的像塊所具有的運動矢量。但是,在各自含有象素A、象素B及象素C的3個像塊所具有的運動矢量之中含有象素A及象素C的2個像塊對參考索引的值最小且同一參考圖像進行參照的場合下,可以取得在像塊BL1上按照位置關系近的含有象素A的像塊所具有的運動矢量。
再者,上述中央值既可以是對于各運動矢量的水平方向部分和垂直方向部分各自取得中央值,又可以是對于各運動矢量的大小(絕對值)取得中央值。
另外,運動矢量的中央值在圖25所示的那種場合下,也可以取出合計5個像塊所具有的運動矢量的中央值,該5個像塊包括在后方參考圖像上與像塊BL1處于相同位置的像塊、分別含有象素A、象素B及象素C的像塊以及圖25所示的含有象素D的像塊。這樣,在采用與編碼對象象素的周圍接近的、在后方參考圖像上與像塊BL1處于相同位置的像塊時,如果為了使像塊數(shù)目為奇數(shù)而使用含有象素D的像塊,就可以使計算運動矢量中央值的處理變得簡單。再者,在后方參考圖像上與像塊BL1處于相同位置的區(qū)域橫跨多個像塊的場合下,也可以采用該多個像塊之中與像塊BL1重合的區(qū)域為最大的像塊的運動矢量,來實行像塊BL1的運動補償,或者也可以與后方參考圖像上的多個像塊區(qū)域相對應來分割像塊BL1,并在所分割的每個像塊中對像塊BL1進行運動補償。
再有,將舉出具體示例加以說明。
如圖26及圖27所示,在是含有象素A、象素B及象素C的像塊全都對與編碼對象圖像相比靠前方的圖像進行參照的運動矢量的場合下,也可以采用上述第1計算方法到第3計算方法的其中一種。
同樣,如圖28及圖29所示在是含有象素A、象素B及象素C的像塊全都對與編碼對象圖像相比靠后方的圖像進行參照的運動矢量的場合下,也可以采用上述第1計算方法到第3計算方法的其中一種。
下面,將對于圖30所示的情形予以說明。圖30表示出具有各1條下述運動矢量的情形,該運動矢量是分別含有象素A、象素B及象素C的像塊全都對與編碼圖像相比靠前方和靠后方的圖像進行參照的運動矢量。
根據(jù)上述第1計算方法,用于像塊BL1運動補償?shù)那胺竭\動矢量是通過運動矢量MVAf、運動矢量MVBf及運動矢量MVCf的中央值來選擇的,用于像塊BL1運動補償?shù)暮蠓竭\動矢量是通過運動矢量MVAb、運動矢量MVBb及運動矢量MVCb的中央值來選擇的。還有,運動矢量MVAf是含有象素A的像塊的前向運動矢量,運動矢量MVAb是含有象素A的像塊的后向運動矢量,運動矢量MVBf是含有象素B的像塊的前向運動矢量,運動矢量MVBb是含有象素B的像塊的后向運動矢量,運動矢量MVCf是含有象素C的像塊的前向運動矢量,運動矢量MVCb是含有象素C的像塊的前向運動矢量。另外,運動矢量MVAf等不限定于對所圖示的那種圖像進行參照的場合。這在下面的說明中也是相同的。
根據(jù)上述第2計算方法,通過分別從運動矢量MVAf、運動矢量MVBf和運動矢量MVCf的前方參考運動矢量之中取得編碼效率為最高的運動矢量,以及從運動矢量MVAb、運動矢量MVBb和運動矢量MVCb的后方參考運動矢量之中取得編碼效率為最高的運動矢量,而將其作為實際在直接方式中所使用的運動矢量。這種場合下,既可以由運動矢量MVAf、運動矢量MVBf及運動矢量MVCf的前方參考運動矢量之中采用編碼效率為最高的運動矢量,而只通過前方參考實行運動補償,又可以采用該所決定的運動矢量和平行的運動矢量而通過雙向參考實行運動補償。再者,做到編碼效率為最高,就不用對于前方參考和后方參考運動矢量的各自進行選擇,而也可以選擇1個像塊,并采用該像塊所具有的前方參考和后方參考的運動矢量來實行運動補償。此時,與對表示出具有下述兩種象素的像塊之信息進行選擇的場合相比,由于可使表示選擇的信息變少,所以能夠提高編碼效率,上述象素一是具有使編碼效率為最高所選擇的前方參考運動矢量,二是具有使編碼為最高所選擇的后方參考運動矢量。另外,該1個像塊的選擇可以采用下述四種方法之中的任一種,即①將其作為含有下述象素的像塊,該象素具有前方參考運動矢量所參照的圖像其參考索引的值為最小的運動矢量,②對具有各象素的像塊的前方參考運動矢量所參照的圖像的參考索引值和后方參考運動矢量所參照的圖像的參考索引值進行加法運算,將其作為加法運算后的值為最小的像塊,③取得前方參考運動矢量所參照的圖像其參考索引的中央值,將其作為具有中央值并包含具有前方參考運動矢量的象素的像塊,并且后方參考運動矢量作為該像塊所具有的后方參考運動矢量,④取得后方參考運動矢量所參照的圖像其參考索引的中央值,將其作為具有中央值并包含具有后方參考運動矢量的象素的像塊,并且前方參考的運動矢量作為該像塊所具有的前方參考運動矢量。還有,在后方參考的運動矢量全部參照同一幅圖像的場合下,上述①和③的像塊選擇方法是較為適合的。
在上述第3計算方法中,將運動矢量MVAf、運動矢量MVBf及運動矢量MVCf的前方參考運動矢量所參照的參考圖像其參考索引的值為最小的運動矢量,作為在直接方式中所使用的前方參考(第1參考)的運動矢量?;蛘?,將運動矢量MVAb、運動矢量MVBb及運動矢量MVCb的后方參考運動矢量所參照的參考圖像其參考索引的值為最小的運動矢量,作為在直接方式中所使用的后方參考(第2參考)的運動矢量。還有,在第3計算方法中雖然將參考圖像的參考索引值為最小的前方參考運動矢量作為像塊BL1的前方參考運動矢量,將參考圖像的參考索引值為最小的后方參考運動矢量作為像塊BL1的后方參考運動矢量,但是也可以采用參考圖像的參考索引值為最小的前方或后方的任一方來導出像塊BL1的2個運動矢量,并采用所導出的運動矢量對像塊BL1實行運動補償。
下面,將有關圖31所示的情形予以說明。圖31表示出下述情形,即象素A具有各1條對前方和后方的圖像進行參照的運動矢量,象素B只具有對前方的圖像進行參照的運動矢量,象素C只具有對后方的圖像進行參照的運動矢量。
這樣,存在包含只具有對一方圖像進行參照的運動矢量的象素的像塊時,假設對該像塊的另一方圖像進行參照的運動矢量為0,則為了實行運動補償而可以采用上述圖30中的計算方法。具體地說,可以采用圖30中的第1計算方法或第3計算方法,作為MVCf=MVBb=0進行計算。也就是說,采用第1計算方法,在計算像塊BL1的前向運動矢量時將象素C參照前方圖像的運動矢量MVCf當作MVCf=0,來計算運動矢量MVAf、運動矢量MVBf及運動矢量MVCf的中央值。另外,在計算像塊BL1的后向運動矢量時,將象素B參照后方圖像的運動矢量MVBb當作MVBb=0,來計算運動矢量MVAb、運動矢量MVBb及運動矢量MVCb的中央值。
在第3計算方法中,將象素C參照前方圖像的運動矢量MVCf和象素B參照后方圖像的運動矢量MVBb當作MVCf=MVBb=0,來計算像塊BL1的運動矢量所參照的參考圖像其參考索引的值為最小的運動矢量。例如,在含有象素A的像塊對第1參考索引為「0」的圖像進行參照并且含有象素B的像塊對第1參考索引為「1」的圖像進行參照的場合下,最小第1參考索引的值是「0」。因此,由于只是運動矢量MVBf對具有最小第1參考索引的圖像進行參照,所以將運動矢量MVBf作為像塊BL1的前向運動矢量,該運動矢量MVBf對含有象素B的像塊其前方圖像進行參照。另外,例如在象素A、象素C全都對第2參考索引為最小的如第2參考索引為「0」的后方圖像進行參照的場合下,將象素B參照后方圖像的運動矢量MVBb作為MVBb=0,來計算運動矢量MVAb、運動矢量MVBb及運動矢量MVCb的中央值。將計算結果所得到的運動矢量作為像塊BL1的后向運動矢量。
下面,將有關圖32所示的情形予以說明。圖32表示出下述情形,即象素A分別具有1條對前方和后方的圖像進行參照的運動矢量,象素B只具有對前方的圖像進行參照的運動矢量,象素C不具有運動矢量而實行圖像內(nèi)編碼。
這樣,在作為參考對象的含有象素C的像塊實行圖像內(nèi)編碼時,假設該像塊對前方和后方的圖像進行參照的運動矢量同時為0,則為了實行運動補償而可以采用在上述圖30中的計算方法。具體地說,可以作為MVCf=MVCb=0進行計算。還有,在圖30的場合下,是MVB=0。
最后,將有關圖33所示的情形予以說明。圖33表示出對于象素C通過直接方式進行編碼的情形。
這樣,在作為參考對象的象素中存在通過直接方式進行編碼的像塊時,在采用下述運動矢量之后,可以使用上述圖30中的計算方法來實行像塊BL1的運動補償,上述運動矢量是通過直接方式已編碼的像塊被編碼時所使用的。
還有,運動矢量是前方參考和后方參考的哪一個,是由所參照的圖像、所編碼的圖像以及各個圖像所具有的時間信息來決定的。因而,在區(qū)別出前方參考和后方參考之后導出運動矢量的場合下,通過各個圖像所具有的時間信息來判斷各個像塊所具有的運動矢量是前方參考和后方參考的哪一個。
再者,將有關對上面所說明的計算方法予以組合的示例,進行說明。圖34表示的是決定在直接方式中所使用的運動矢量的步驟。圖34是采用參考索引來決定運動矢量的方法的一個示例。還有,圖34所示的Ridx0、Ridx1是上面所說明的參考索引。圖34(a)表示出通過第1參考索引Ridx0來決定運動矢量的步驟,圖34(b)表示出通過第2參考索引Ridx1來決定運動矢量的步驟。首先,有關圖34(a)予以說明。
在步驟S3701中,計算出含有象素A的像塊、含有象素B的像塊及含有象素C的像塊之中采用第1參考索引Ridx0來參照圖像的像塊數(shù)目。
如果在步驟S3701中所計算出的像塊數(shù)目為「0」,則進一步在步驟S3702中計算采用第2參考索引Ridx1來參照圖像的像塊數(shù)目。如果在步驟S3702中所計算出的像塊數(shù)目為「0」,則在S3703中將編碼對象像塊的運動矢量作為「0」而對編碼對象像塊以雙向實行運動補償。另一方面,如果在步驟S3702中所計算出的像塊數(shù)目為「1」以上,則在S3704中根據(jù)存在第2參考索引Ridx1的像塊數(shù)目來決定編碼對象像塊的運動矢量。例如,采用這樣的運動矢量來進行編碼對象像塊的運動補償,該運動矢量是根據(jù)存在第2參考索引Ridx1的像塊數(shù)目所決定的。
如果在步驟S3701中所計算出的像塊數(shù)目為「1」,則在S3705中使用存在第1參考索引Ridx0的像塊的運動矢量。
如果在步驟S3701中所計算出的像塊的數(shù)目為「2」,則在S3706中對于不存在第1參考索引Ridx0的像塊,而假設在第1參考索引Ridx0中存在MV=0的運動矢量,使用與3條運動矢量的中央值相當?shù)倪\動矢量。
如果在步驟S3701中所計算出的像塊的數(shù)目為「3」,則在S3707中使用與3條運動矢量的中央值相當?shù)倪\動矢量。還有,步驟S3704中的運動補償也可以采用1條運動矢量來實行雙向的運動補償。此處的雙向運動補償,例如可以通過對該1條運動矢量進行縮放來計算1條運動矢量、相同方向的運動矢量和相反方向的運動矢量之后加以實行,或者也可以采用1條運動矢量、相同方向的運動矢量和運動矢量為「0」的運動矢量加以實行。接著,將對于圖34(b)予以說明。
在步驟S3711中計算存在第2參考索引Ridx1的像塊數(shù)目。
如果在步驟S3711中所計算出的像塊數(shù)目為「0」,則進一步在步驟S3712中計算存在第1參考索引Ridx0的像塊數(shù)目。如果在步驟S3712中所計算出的像塊數(shù)目為「0」,則在S3713中將編碼對象像塊的運動矢量作為「0」以雙向對編碼對象像塊實行運動補償。另一方面,如果在步驟S3712中所計算出的像塊數(shù)目為「1」以上,則在S3714中根據(jù)存在第1參考索引Ridx0的像塊數(shù)目來決定編碼對象像塊的運動矢量。例如,采用下述的運動矢量來進行編碼對象像塊的運動補償,上述運動矢量是根據(jù)存在第1參考索引Ridx0的像塊數(shù)目所決定的。
如果在步驟S3711中所計算出的像塊數(shù)目為「1」,則在S3715中使用存在第2參考索引Ridx1的像塊的運動矢量。
如果在步驟S3711中所計算出的像塊數(shù)目為「2」,則在S3716中對于不存在第2參考索引Ridx1的像塊,而假設在第2參考索引Ridx1中存在MV=0的運動矢量,使用與3條運動矢量的中央值相當?shù)倪\動矢量。
如果在步驟S3711中所計算出的像塊數(shù)目為「3」,則在S3717中使用與3條運動矢量的中央值相當?shù)倪\動矢量。還有,步驟S3714中的運動補償也可以采用1條運動矢量來實行雙向的運動補償。此處的雙向運動補償,例如可以通過對該1條運動矢量進行縮放來求出1條運動矢量、相同方向的運動矢量和相反方向的運動矢量之后加以實行,或者也可以采用1條運動矢量、相同方向的運動矢量和運動矢量為「0」的運動矢量,加以實行。
再者,對于圖34(a)和圖34(b)的各自己做出說明,而既可以采用雙方的處理,也可以采用一方的處理。但是,在采用一方的處理的場合下,例如實行從圖34(a)所示的步驟S3701開始的處理的場合,還有至步驟S3704之前的場合下,可以實行圖34(b)所示的S3711以下的處理。另外,這樣至S3704的處理之前的場合下,由于沒有在步驟S3711以下的處理之中實行步驟S3712以下的處理,所以可以唯一決定運動矢量。另外,在采用圖34(a)和圖34(b)的雙方處理的場合下,既可以先實行任一方的處理,并且也可以同時實行。另外,在編碼對象像塊周圍的像塊是通過直接方式所編碼的像塊時,也可以將下述運動矢量所參照的圖像的參考索引作為通過直接方式所編碼的并且處于編碼對象像塊周圍的像塊所具有的參考索引,上述運動矢量是通過直接方式所編碼的像塊被編碼時所使用的。
下面,采用具體的像塊示例,對于運動矢量的決定方法予以詳細說明。圖35表示的是編碼對象像塊BL1所參照的像塊各自具有的運動矢量種類。在圖35(a)中,具有象素A的像塊是實行圖像內(nèi)編碼的像塊,具有象素B的像塊有1條運動矢量并且是采用該1條運動矢量實行運動補償?shù)南駢K,具有象素C的像塊是有2條運動矢量并且以雙向來實行運動補償?shù)南駢K。另外,具有象素B的像塊有第2參考索引Ridx1中所示的運動矢量。由于具有象素A的像塊是實行圖像內(nèi)編碼的像塊,所以沒有運動矢量,也就是說沒有參考索引。
在步驟S3701中計算存在第1參考索引Ridx0的像塊數(shù)目。如圖35所示,由于存在第1參考索引Ridx0的像塊數(shù)目是2條,所以在步驟S3706中對于不存在第1參考索引Ridx0的像塊,而假設在第1參考索引Ridx0中有MV=0的運動矢量,使用與3條運動矢量的中央值相當?shù)倪\動矢量。既可以只采用該運動矢量對編碼對象像塊實行雙向的運動補償,或者也可以如下所示采用第2參考索引Ridx1并采用其他的運動矢量,來實行雙向的運動補償。
在步驟S3711中計算存在第2參考索引Ridx1的像塊數(shù)目。如圖35所示,由于存在第2參考索引Ridx1的像塊數(shù)目是1條,所以在步驟S3715中使用存在第2參考索引Ridx1的像塊的運動矢量。
再者,將有關對上面所說明的計算方法予以組合的其他示例,進行說明。圖36表示的是采用下述的參考索引的值來決定編碼對象像塊的運動矢量的步驟,上述參考索引表示分別具有象素A、B、C的像塊所有的運動矢量將要參照的圖像。圖36(a)(b)表示的是依據(jù)第1參考索引Ridx0來決定運動矢量的步驟,圖36(c)(d)表示的是依據(jù)第2參考索引Ridx1來決定運動矢量的步驟。另外,由于圖36(a)表示出以第1參考索引Ridx0為依據(jù)的步驟,正好是圖36(c)表示出以第2參考索引Ridx1為依據(jù)的步驟,并且圖36(b)表示出以第1參考索引Ridx0為依據(jù)的步驟,正好是圖36(d)表示出以第2參考索引Ridx1為依據(jù)的步驟,所以在下面的說明中只是有關圖36(a)和圖36(b),予以說明。首先,對于圖36(a)予以說明。
在步驟S3801中,判斷能否在有效的第1參考索引Ridx0之中選擇1個最小的第1參考索引Ridx0。
在步驟S3801中可以在有效的第1參考索引Ridx0之中選擇1個最小的第1參考索引Ridx0的場合下,在步驟S3802中使用所選擇的運動矢量。
在步驟S3801中有效的第1參考索引Ridx0之中有多個最小的第1參考索引Ridx0的場合下,在步驟S3803中使用根據(jù)優(yōu)先順序所選擇的像塊具有的運動矢量。在此,優(yōu)先順序指的是例如按照具有象素A的像塊、具有象素B的像塊和具有象素C的像塊的順序,來決定使用于編碼對象像塊中的運動矢量。
在步驟S3801中沒有有效的第1參考索引Ridx0的場合下,在步驟S3804中實行與S3802和S3803不同的處理。例如,可以實行在圖34(b)中所說明的步驟S3711以下的處理。接著,對于圖36(b)予以說明。圖36(b)與圖36(a)的不同之處在于,將圖36(a)中的步驟S3803和步驟S3804的處理作為圖36(b)所示的步驟S3813。
在步驟S3811中,判斷能否在有效的第1參考索引Ridx0之中選擇1個最小的第1參考索引Ridx0。
在步驟S3811中可以在有效的第1參考索引Ridx0之中選擇1個最小的第1參考索引Ridx0的場合下,在步驟S3812中使用所選擇的運動矢量。
在步驟S3811中沒有有效的第1參考索引Ridx0的場合下,在步驟S3813中實行與S3812不同的處理。例如,可以實行在圖34(b)中所說明的步驟S3711以下的處理。
還有,在上面所說明的有效的第1參考索引Ridx0指的是,在圖35(b)中寫有「○」的第1參考索引Ridx0,并且是表示出具有運動矢量的參考索引。另外,圖35(b)中寫有「×」之處意味著沒有分配參考索引。另外,在圖36(c)的步驟S3824、圖36(d)的步驟S3833中,可以實行圖34(a)中所說明的步驟S3701以下的處理。
下面,采用具體的像塊示例,對于運動矢量的決定方法用圖35予以詳細說明。
在步驟S3801中,判斷能否在有效的第1參考索引Ridx0之中選擇1個最小的第1參考索引Ridx0。
在圖35所示的場合下,有2個有效的第1參考索引Ridx0,而在步驟S3801中可以在有效的第1參考索引Ridx0之中選擇1個最小的第1參考索引Ridx0的場合下,在步驟S3802中使用所選擇的運動矢量。
在步驟S3801中有效的第1參考索引Ridx0之中有多個最小的第1參考索引Ridx0的場合下,在步驟S3803中使用根據(jù)優(yōu)先次序所選擇的像塊具有的運動矢量。在此優(yōu)先次序指的是,例如按照具有象素A的像塊、具有象素B的像塊和具有象素C的像塊的順序,來決定使用于編碼對象像塊運動補償中的運動矢量。在具有象素B的像塊和具有象素C的像塊中有相同的第1參考索引Ridx0的場合下,根據(jù)優(yōu)先次序采用具有象素B的像塊中的第1參考索引Ridx0,并使用與具有該象素B的像塊中的第1參考索引Ridx0相應的運動矢量來進行編碼對象像塊BL1的運動補償。此時,既可以只采用所決定的運動矢量以雙向對編碼對象像塊BL1實行運動補償,又可以如下所示采用第2參考索引Ridx1并采用其他的運動矢量,實行雙向的運動補償。
在步驟S3821中,判斷能否在有效的第2參考索引Ridx1之中選擇1個最小的第2參考索引Ridx1。
在圖35所示的場合下,因為有效的第2參考索引Ridx1是1個,所以在步驟S3822中使用與具有象素C的像塊中的第2參考索引Ridx1相應的運動矢量。
再者,對于上述沒有參考索引的像塊,假設具有運動矢量大小為「0」的運動矢量則取得合計3個運動矢量的中央值,有關這方面假設具有運動矢量大小為「0」的運動矢量,既可以取得合計3個運動矢量的平均值,又可以取得具有參考索引的像塊所有的運動矢量的平均值。
還有,例如也可以將上面所說明的優(yōu)先次序作為具有象素B的像塊、具有象素A的像塊及具有象素C的像塊的順序,來決定使用于編碼對象像塊運動補償中的運動矢量。
這樣,由于采用參考索引來決定對編碼對象像塊實行運動補償時所使用的運動矢量,因而可以唯一決定運動矢量。另外,根據(jù)上述示例,也可以謀求編碼效率的提高。另外,由于沒有必要采用時刻信息來判斷運動矢量是前方參照還是后方參照,所以可以使決定運動矢量所需的處理簡單化。另外有用的是,若考慮到每個像塊的預測方式、運動補償中所使用的運動矢量等則存在很多模式,但如上可以通過一系列的流程予以處理。
再者,在本實施方式中雖然對于通過對所參照的運動矢量采用圖像間的時間性距離進行縮放而計算出在直接方式中所使用的運動矢量的情形,已做出說明,但是這也可以對所參照的運動矢量進行常數(shù)加倍計算。在此,使用于常數(shù)加倍處理中的常數(shù)在以多個像塊為單位或者以多個圖像為單位進行編碼或解碼時,也可以是可變更的。
還有,采用參考索引Ridx0、Ridx1的運動矢量計算方法,不只是采用中央值的計算方法,而也可以與其他的計算方法配合使用。例如,在上述的第3計算方法中,各自含有象素A、象素B及象素C的像塊之中有多個對參考索引為最小的圖像進行參照的運動矢量,這種場合下不一定需要計算這些運動矢量的中央值,而也可以計算它們的平均值,將所得到的運動矢量作為像塊BL1在直接方式中所使用的運動矢量?;蛘?,例如也可以從參考索引為最小的多個運動矢量之中,選擇1個編碼效率為最高的運動矢量。
另外,既可以使像塊BL1的前向運動矢量和后向運動矢量各自獨立進行計算,又可以使之相關聯(lián)進行計算。例如,也可以從相同的運動矢量來計算前向運動矢量和后向運動矢量。
另外,也可以將計算結果所得到的前向運動矢量和后向運動矢量的任一方作為像塊BL1的運動矢量。
(實施方式8)在本實施方式中參考圖像的參考像塊MB具有前向(第1)運動矢量和后向(第2)運動矢量,該前向(第1)運動矢量將長時間存儲器中所保存的參考圖像作為第1參考圖像進行參照,該后向(第2)運動矢量將短時間存儲器中所保存的參考圖像作為第2參考圖像進行參照。
圖37表示的是在長時間存儲器中只保存1個參考圖像時直接方式中的雙向預測。
實施方式8與此前的多個實施方式的不同之處在于,參考圖像像塊MB2的前向(第1)運動矢量MV21對長時間存儲器中所保存的參考圖像進行參照。
短時間存儲器是暫時保存參考圖像所用的存儲器,例如按照圖像保存于存儲器中的次序(也就是,編碼或解碼的順序)來保存圖像。然后,在將圖像新保存到短時間存儲器中時存儲器容量不足的場合下,從最早保存于存儲器中的圖像開始依次刪除。
對于長時間存儲器,不一定象短時間存儲器那樣限定為按照時刻的次序來保存圖像。例如,作為保存圖像的次序既可以使之對應圖像的時刻次序,也可以使之對應保存圖像的存儲器地址的次序。因此,不能根據(jù)時間間隔來縮放對長時間存儲器中所保存的圖像進行參照的運動矢量M21。
長時間存儲器不是象短時間存儲器那樣用來暫時保存參考圖像,而用來連續(xù)保存參考圖像。因此,與長時間存儲器中所保存的運動矢量相對應的時間間隔,比起與短時間存儲器中所保存的運動矢量相對應的時間間隔大很多。
在圖37中,長時間存儲器和短時間存儲器的界線如圖所示用縱向的點線來表示,從此往左與圖像有關的信息保存在長時間存儲器中,從此往右對應圖像的信息保存在短時間存儲器中。在此,圖像P23的像塊MB1是對象像塊。另外,像塊MB2是與像塊MB1在參考圖像P24內(nèi)處于相同位置的參考像塊。在參考圖像P24的像塊MB2的運動矢量之中,前向(第1)運動矢量MV21是將長時間存儲器中所保存的圖像P21作為第1參考圖像進行參照的第1運動矢量,后向(第2)運動矢量MV25是將短時間存儲器中所保存的圖像P25作為第2參考圖像進行參照的第2運動矢量。
如上所述,圖像P21和圖像P24之間的時間間隔TR21與對保存于長時間存儲器中的圖像進行參照的運動矢量MV21相對應,圖像P24和圖像P25之間的時間間隔TR25與對保存于短時間存儲器中的圖像進行參照的運動矢量MV25相對應,并且圖像P21和圖像P24之間的時間間隔TR21比起圖像P24和圖像P25之間的時間間隔TR25特別大,或者不定。
因此,如同此前的實施方式那樣,并不是對參考圖像P24的像塊MB2的運動矢量進行縮放來計算對象圖像P23的像塊MB1的運動矢量,而通過下面的那種方法來計算對象圖像P23的像塊MB1的運動矢量。
MV21=MV21’MV24’=0上面公式表示出,將在參考圖像P24的像塊MB2的運動矢量之中保存于長時間存儲器內(nèi)的第1運動矢量MN21,按原樣作為對象圖像的第1運動矢量MV21’。
下面公式表示出,由于保存于短時間存儲器中到圖像P24的、對象圖像P23的像塊MB21的第2運動矢量MV24’與第1運動矢量MV21’相比也非常小,所以可以忽視。第2運動矢量MV24’是作為″0″來處理的。
如上所述,在參考像塊MB具有將保存于長時間存儲器中的參考圖像作為第1參考圖像進行參照的1個運動矢量和將保存于短時間存儲器中的參考圖像作為第2參考圖像進行參照的1個運動矢量的場合下,按原樣使用參考圖像的像塊的運動矢量之內(nèi)保存于長時間存儲器中的運動矢量,將其作為對象圖像的像塊的運動矢量來實行雙向預測。
再者,保存于長時間存儲器中的參考圖像也可以是第1參考圖像或第2圖像的任一個圖像,并且對保存于長時間存儲器中的參考圖像進行參照的運動矢量MV21也可以是后向運動矢量。另外,在第2參考圖像保存于長時間存儲器中并且第1參考圖像保存于短時間存儲器中的場合下,對參照第1參考圖像的運動矢量使用按比例縮放,來計算對象圖像的運動矢量。
據(jù)此,可以不使用長時間存儲器特別大或者不定的時間,來實行雙向預測的處理。
再者,不按原樣使用所參照的運動矢量,而也可以對該運動矢量進行常數(shù)加倍來實行雙向預測。
另外,使用于常數(shù)加倍處理中的常數(shù)在以多個像塊為單位或者以多個圖像為單位進行編碼或解碼時,也可以是可變更的。
(實施方式9)在本實施方式中表示出,參考圖像的參考像塊MB具有對保存于長時間存儲器中的參考圖像進行參照的2個前向運動矢量時直接方式中的雙向預測。
圖38表示的是參考像塊MB具有對保存于長時間存儲器中的參考圖像進行參照的2個運動矢量時直接方式中的雙向預測。
實施方式9與實施方式8的不同之處在于,參考圖像像塊MB2的運動矢量MV21和運動矢量MV22雙方都參照長時間存儲器中所保存的參考圖像。
在圖38中,長時間存儲器和短時間存儲器的界線如圖所示用縱向的點線來表示,從此往左與圖像有關的信息保存于長時間存儲器中,從此往右對圖像的信息保存于短時間存儲器中。參考圖像P24的像塊MB2的運動矢量MV21及運動矢量MV22兩個都參照長時間存儲器中所保存的圖像。運動矢量MV21與參考圖像P21對應,運動矢量MV22與參考圖像P22對應。
與對長時間存儲器中所保存的圖像P22進行參照的運動矢量MV22相應,圖像P22和圖像P24之間的時間間隔TR22比起短時間存儲器中所保存的圖像P24和圖像P25之間的時間間隔TR25特別大,或者不定。
在圖38中,按照與運動矢量MV22對應的圖像P22、與運動矢量MV21對應的圖像P21的順序來分配次序,并且圖像P21、圖像P22保存在長時間存儲器中。在圖38中,如下計算對象圖像像塊MB1的運動矢量。
MV22’=MV22MV24’=0上面公式表示出,將參考圖像P24的像塊MB2的運動矢量之中對所分配的次序最小的圖像P21進行參照的運動矢量MN22,按原樣作為對象圖像P23的像塊MB1的運動矢量MV22’。
下面公式表示出,由于保存于短時間存儲器中的對象圖像P23其像塊MB21的后向運動矢量MV24’與運動矢量MV21’相比也非常小,所以可以忽視。后向運動矢量MV24’是作為″0″來處理的。
如上所述,通過按原樣使用長時間存儲器內(nèi)所保存的參考圖像像塊的運動矢量之中對所分配的次序最小的圖像進行參照的運動矢量,將其作為對象圖像像塊的運動矢量,而可以不使用長時間存儲器特別大或者不定的時間,來實行雙向預測的處理。
再者,不是按原樣使用所參照的運動矢量,而也可以對該運動矢量進行常數(shù)加倍實行雙向預測。
還有,在參考圖像像塊MB2的運動矢量MV21和運動矢量MV22的雙方都參照長時間存儲器中所保存的圖像的場合下,也可以選擇對第1參考圖像進行參照的運動矢量。例如,在MV21是參照第1參考圖像的運動矢量并且MV22是參照第2參考圖像的運動矢量的場合下,像塊MB1的運動矢量采用對圖像P21的運動矢量MV21和對圖像P24的運動矢量″0″。
(實施方式10)在本實施方式中,將有關實施方式5到實施方式9中所記載的直接方式的運動矢量計算方法,予以說明。該運動矢量計算方法在進行圖像編碼或解碼時,全都可以使用。在此,將編碼或解碼的對象像塊稱為對象像塊MB。另外,將在對象像塊MB的參考圖像中與對象像塊處于相同位置的像塊稱為參考像塊。
圖39表示的是本實施方式所涉及的運動矢量計算方法的處理流程。
首先,判定對象像塊MB后方參考圖像中的參考像塊MB是否具有運動矢量(步驟S1)。如果參考像塊MB沒有運動矢量(步驟S1No),則使運動矢量作為″0″實行雙向預測(步驟S2),計算運動矢量的處理結束。
如果參考像塊MB有運動矢量(步驟S1Yes),則判定參考像塊MB是否具有前向運動矢量(步驟S3)。
在參考像塊MB沒有前向運動矢量的場合(步驟S3No)下,由于參考像塊MB只具有后向運動矢量,所以判定該后向運動矢量的數(shù)目(步驟S14)。在參考像塊MB的后向運動矢量數(shù)目為″2″的場合下,采用下述的2個后向運動矢量來實行雙向預測(步驟S15),上述后向運動矢量是按照在圖19、圖20及圖21中所記載的任一個計算方法所縮放出的。
另一方面,在參考像塊MB的后向運動矢量數(shù)目為″1″的場合下,對參考像塊MB所具有的唯一后向運動矢量進行縮放,采用所縮放出的后向運動矢量來實行運動補償(步驟S16)。步驟S15或步驟S16的雙向預測結束后,運動矢量計算方法的處理也就結束。
另外,在參考像塊MB具有前向運動矢量的場合(步驟S3Yes)下,判定參考像塊MB的前向運動矢量數(shù)目(步驟S4)。
在參考像塊MB的前向運動矢量數(shù)目為″1″的場合下,判定與參考像塊MB的前向運動矢量相應的參考圖像保存于長時間存儲器或者短時間存儲器中的哪一個(步驟S5)。
在與參考像塊MB的前向運動矢量相應的參考圖像保存于短時間存儲器中的場合下,對參考像塊MB的前向運動矢量進行縮放,采用所縮放出的前向運動矢量來實行雙向預測(步驟S6)。
在與參考像塊MB的前向運動矢量相應的參考圖像保存于長時間存儲器中的場合下,按照圖37所示的運動矢量計算方法,不用對參考像塊MB的前向運動矢量進行縮放,而按原樣加以使用將其作為零后向運動矢量來實行雙向預測(步驟S7)。步驟S6或步驟S7的雙向預測結束后,運動矢量計算方法的處理也就結束。
在參考像塊MB的前向運動矢量數(shù)目為″2″的場合下,判定參考像塊MB的前向運動矢量之中與長時間存儲器內(nèi)所保存的參考圖像相應的前向運動矢量數(shù)目(步驟S8)。
與長時間存儲器中所保存的參考圖像相應的前向運動矢量數(shù)目在步驟S8中為″0″的場合下,按照圖16所示的運動矢量計算方法,在對象像塊MB所屬的對象圖像上對按照顯示時間順序近的運動矢量進行縮放,采用所縮放出的運動矢量來實行雙向預測(步驟S9)。
與長時間存儲器中所保存的參考圖像相應的前向運動矢量數(shù)目在步驟S8中為″1″的場合下,對短時間存儲器中所保存的圖像的運動矢量進行縮放,采用所縮放出的運動矢量來實行雙向預測(步驟S10)。
與長時間存儲器中所保存的參考圖像相應的前向運動矢量數(shù)目在步驟S8中為″2″的場合下,判定是否通過2個前向運動矢量的雙方來參照長時間存儲器內(nèi)的相同圖像(步驟S11)。在采用2個前向運動矢量的雙方來參照長時間存儲器內(nèi)的相同圖像的場合(步驟S11Yes)下,按照圖15所記載的運動矢量計算方法,采用在下述的圖像內(nèi)先編碼或解碼的運動矢量來實行雙向預測(步驟S12),上述圖像向長時間存儲器內(nèi)的2個前向運動矢量進行參照。
在未通過2個前向運動矢量的雙方來參照長時間存儲器內(nèi)的相同圖像的場合(步驟S11No)下,按照圖38所記載的運動矢量計算方法,采用下述的前向運動矢量來實行雙向預測(步驟S13),上述前向運動矢量與向保存于長時間存儲器中的圖像所分配的次序小的圖像相應。由于在長時間存儲器中與實際的圖像時刻無關保存有參考圖像,所以會按照分配給各參考圖像的次序來選擇應當用于雙向預測中的前向運動矢量。另外,長時間存儲器中所保存的參考圖像次序有時也與圖像時刻相一致,但也可以使之僅僅與存儲器地址的次序相一致。也就是說,長時間存儲器中所保存的圖像次序不一定與圖像時刻相一致也是可以的。步驟S12、13的雙向預測結束后,運動矢量計算方法的處理也就結束。
(實施方式11)下面,將有關本發(fā)明的實施方式11,采用附圖加以詳細說明。
圖40是表示本發(fā)明實施方式11所涉及的動態(tài)圖像編碼裝置100結構的框圖。動態(tài)圖像編碼裝置100在由場結構所編碼的像塊和由幀結構所編碼的像塊同時存在的場合下,也可以使用直接方式的空間性預測方法來實行動態(tài)圖像的編碼,該裝置具備幀存儲器101、差分運算部102、預測誤差編碼部103、編碼序列生成部104、預測誤差解碼部105、加法運算部106、幀存儲器107、運動矢量檢測部108、方式選擇部109、編碼控制部110、開關111、開關112、開關113、開關114、開關115及運動矢量存儲部116。
幀存儲器101是以圖像為單位來保持輸入圖像的圖像存儲器。差分運算部102用來計算預測誤差加以輸出,該預測誤差是來自幀存儲器101的輸入圖像和根據(jù)運動矢量從解碼圖像所求出的參考圖像之間的差分。預測誤差編碼部103用來對通過差分運算部102所求出的預測誤差實行頻率變換,并進行量子化加以輸出。編碼序列生成部104在對來自預測誤差編碼部103的編碼結果進行可變長編碼之后,變換成輸出用的編碼比特流格式,并附加對所編碼的預測誤差關聯(lián)信息進行描述的標題信息等附加信息以生成編碼序列。預測誤差解碼部105對來自預測誤差編碼部103的編碼結果進行可變長解碼,并在實行反向量子化之后實施IDCT變換等的反向頻率變換,給預測誤差進行解碼。加法運算部106在作為解碼結果的預測誤差中加入上述參考圖像,以經(jīng)過編碼或解碼的圖像數(shù)據(jù)來輸出參考圖像,該參考圖像意味著與輸入圖像相同的1幅圖像的圖像。幀存儲器107是以圖像為單位來保持參考圖像的圖像存儲器。
運動矢量檢測部108在編碼對象幀的每個編碼單位上檢測運動矢量。方式選擇部109用來選擇是通過直接方式還是通過其他方式來計算運動矢量。編碼控制部110按照輸入到幀存儲器101中的時間順序,將所存儲的輸入圖像的圖像置換成被編碼的順序。還有,編碼控制部110用來判定在編碼對象幀的每個指定大小的單位上是通過場結構進行編碼還是通過幀結構進行編碼。在此,指定大小的單位是將2個宏塊(例如,水平16象素、垂直16象素)按縱向連結后的單位(下面,稱為宏塊對)。如果是通過場結構所編碼的像塊,則從幀存儲器101相應于隔行掃描而每隔1水平掃描線讀出象素值,如果是通過幀結構所編碼的像塊,則從幀存儲器101依次讀出輸入圖像的各個象素值,并且所讀出的各個象素值配置到存儲器上以構成與場結構或幀結構相應的編碼對象宏塊對。運動矢量存儲部116用來保持已編碼宏塊的運動矢量和該運動矢量所參照的幀的參考索引。有關參考索引,是隨著已編碼宏塊對中的各個宏塊的各自進行保持的。
下面,將對于如上所構成的動態(tài)圖像編碼裝置100的動作,予以說明。輸入圖像按時間順序以圖像為單位輸入到幀存儲器101。圖41(a)表示的是按時間順序以圖像為單位輸入到圖像編碼裝置100中的幀次序。圖41(b)表示的是按編碼順序對圖41(a)所示的圖像表格進行重新排序時的次序。在圖41(a)中,縱線表示圖像,在各圖像右下方所示的符號其中第一字符的字母表示出圖像類型(I、P或B),第2字符之后的數(shù)字表示出時間順序的圖像編號。另外,圖42表示的是說明實施方式11所用的參考幀表格300的結構。輸入到幀存儲器101中的各個圖像通過編碼控制部110按編碼順序加以重新排列。給編碼順序的重新排列是根據(jù)圖像間預測編碼中的參考關系來實行的,并且進行重新排列可做到作為參考圖像被使用的圖像與作為參考圖像所使用的圖像相比更先進行編碼。
例如,P圖像是將按照顯示時間順序處于前方的近旁I或P圖像3幅之內(nèi)的1幅作為參考圖像來使用的。另外,B圖像是將按照顯示時間順序處于前方的近旁I或P圖像3幅之內(nèi)的1幅和按照顯示時間順序處于后方的近旁I或P圖像的1幅作為參考圖像來使用的。具體地說,在圖41(a)中輸入在圖像B5及圖像B6后方的圖像P7由于通過圖像B5及圖像B6進行參照,所以重新排列在圖像B5及圖像B6之前。同樣,輸入在圖像B8及圖像B9后方的圖像P10重新排列在圖像B8及圖像B9的前方,輸入在圖像B11及圖像B12后方的圖像P13重新排列在圖像B11及圖像B12的前方。據(jù)此,重新排列圖41(a)的圖像后的結果會成為圖41(b)那樣。
在幀存儲器101中實行過重新排列的各個圖像是以按垂直方向連結2個宏塊的宏塊對為單位來讀出的,并且各個宏塊是水平16象素×垂直16象素的大小。因而,宏塊對成為水平16象素×垂直32象素的大小。下面,將對于圖像B11的編碼處理予以說明。再者,本實施方式中的參考索引管理也就是參考幀表格的管理是在編碼控制部110中實行的。
因為圖像B11是B圖像,所以實行采用雙向參考的圖像間預測編碼。圖像B11是將按照顯示時間順序處于前方的圖像P10、P7、P4和按照顯示時間順序處于后方的圖像P13之中的2幅圖像作為參考圖像來使用的。如何在這些4幅圖像之中選擇任意2幅圖像,能以宏塊為單位進行指定。另外,在此參考索引是根據(jù)初始狀態(tài)下的方法進行分配的。也就是說,在圖像B11進行編碼時參考幀表格300如同圖42所示的那樣。此時的參考圖像為,第1參考圖像由圖42的第1參考索引來指定,第2參考圖像由圖42的第2參考索引來指定。
在圖像B11的處理過程中,編碼控制部110對各個開關進行控制使開關113開啟并使開關114和開關115關閉。因而,從幀存儲器101所讀出的圖像B11的宏塊對輸入運動矢量檢測部108、方式選擇部109及差分運算部102。在運動矢量檢測部108中,將儲存于幀存儲器107中的圖像P10、圖像P7、圖像P4及圖像P13的解碼圖像數(shù)據(jù)作為參考圖像來使用,以此對宏塊對中所包含的各個宏塊的第1運動矢量和第2運動矢量實行檢測。在方式選擇部109中,采用由運動矢量檢測部108所檢測到的運動矢量,來決定宏塊對的編碼方式。在此,B圖像的編碼方式例如可以從圖像內(nèi)編碼、采用單向運動矢量的圖像間預測編碼、采用雙向運動矢量的圖像間預測編碼及直接方式來選擇。另外,在選擇直接方式之外的編碼方式的場合下,也會同時決定是通過幀結構對宏塊對進行編碼,還是通過場結構進行編碼。
在此,將對于采用直接方式的空間性預測方法來計算運動矢量的方法,予以說明。圖43(a)是表示在通過場結構所編碼的宏塊對和通過幀結構所編碼的宏塊對同時存在時采用直接方式空間性預測方法的運動矢量計算步驟一個示例的流程圖。圖43(b)表示的是在編碼對象宏塊對通過幀結構進行編碼的場合下,本發(fā)明所使用的外圍宏塊對配置一個示例。圖43(c)表示的是在編碼對象宏塊對通過場結構進行編碼的場合下,本發(fā)明所使用的外圍宏塊對配置一個示例。在圖43(b)及圖43(c)中用斜線所示的宏塊對是編碼對象宏塊對。
在編碼對象宏塊對采用直接方式的空間性預測進行編碼的場合下,選擇該編碼對象宏塊對的外圍3個已編碼宏塊對。這種場合下,編碼對象宏塊對也可以通過場結構或幀結構的任一個來編碼。因此,編碼控制部110首先決定是通過場結構對編碼對象宏塊對進行編碼,還是通過幀結構進行編碼。例如,在外圍宏塊對之中通過場結構所編碼的宏塊對多的場合下,通過場結構對編碼對象宏塊對進行編碼,在通過幀結構所編碼的宏塊對多的場合下,通過幀結構進行編碼。這樣,由于采用外圍像塊的信息來決定是通過幀結構對編碼對象宏塊對進行編碼還是通過場結構進行編碼,所以沒有必要在編碼序列中描述出表示通過哪個結構對編碼對象宏塊對進行編碼的信息,并且因為從外圍宏塊對來預測結構,所以能夠選擇合適的結構。
接著,運動矢量檢測部108按照編碼控制部1100的決定,來計算編碼對象宏塊對的運動矢量。首先,運動矢量檢測部108查驗編碼控制部110是決定出通過場結構進行編碼還是決定出通過幀結構進行編碼(S301),在決定出通過幀結構進行編碼的場合下,通過幀結構來檢測編碼對象宏塊對的運動矢量(S302),在決定出通過場結構進行編碼的場合下,通過場結構來檢測編碼對象宏塊對的運動矢量(S303)。
圖44表示出通過幀結構進行編碼時宏塊對的數(shù)據(jù)結構和通過場結構進行編碼時宏塊對的數(shù)據(jù)結構。在同圖中,白圈表示出奇數(shù)水平掃描線上的象素,用斜線畫出影線的黑圈表示出偶數(shù)水平掃描線上的象素。在從代表輸入圖像的各幀取出各宏塊對的場合下,如圖44的中央部分所示,奇數(shù)水平掃描線上的象素和偶數(shù)水平掃描線上的象素按垂直方向交替配置。在通過幀結構對這種宏塊對進行編碼的場合下,該宏塊對在2個宏塊MB1及宏塊MB2中進行處理,并依照構成宏塊對的2個宏塊MB1和宏塊MB2的各自計算運動矢量。另外,在通過場結構進行編碼的場合下,該宏塊對被分成按水平掃描方向進行隔行掃描時的代表頂部場的宏塊TF和代表底部場的宏塊BF,其運動矢量在構成宏塊對的2個場中分別計算1個。
以這種宏塊對為前提,如圖43(b)所示將對于通過幀結構對編碼對象宏塊對進行編碼的情形,予以說明。圖45是表示圖43所示的步驟S302中更為詳細的處理步驟的流程圖。還有在同圖中,將宏塊對記述為MBP,將宏塊記述為MB。
方式選擇部109首先對于構成編碼對象宏塊對的1個宏塊MB1(上部的宏塊),采用直接方式的空間性預測來計算1個運動矢量。最初,方式選擇部109按照第1運動矢量和第2運動矢量的各自,計算外圍宏塊對所參照的圖像索引之中的最小值(S501)。但是這種場合下,外圍宏塊對通過幀結構被編碼時只采用與編碼對象宏塊相鄰的宏塊予以決定。接著,查驗外圍宏塊對是否通過場結構被編碼(S502),在通過場結構被編碼的場合下,進一步從圖42的參考幀表格,查驗通過構成該外圍宏塊對的2個宏塊所參照的場之中有多少個場是附加最小索引的場(S503)。
在步驟S503中所查驗的結果為,通過2個宏塊所參照的場都是附加最小索引(也就是相同的索引)的場的場合下,求出2個宏塊的運動矢量的平均值,將其作為該外圍宏塊對的運動矢量(S504)。原因是,按照隔行掃描的結構進行設計的場合下,在幀結構的編碼對象宏塊中場結構外圍宏塊對的2個宏塊相鄰。
在步驟S503中所查驗的結果為,只有通過1個宏塊所參照的場是附加最小索引的場的場合下,將該1個宏塊的運動矢量作為該外圍宏塊對的運動矢量(S504A)。在全部所參照的場都是沒有附加最小索引的場的場合下,將該外圍宏塊對的運動矢量作為「0」(S505)。
在上面的說明中,由于只采用外圍宏塊的運動矢量之中所參照的場為附加有最小索引的場的運動矢量,所以能夠選擇編碼效率更高的運動矢量。S505的處理表示出判斷為沒有適合于預測的運動矢量。
在步驟S502中所查驗的結果為,該外圍宏塊對通過幀結構被編碼的場合下,將該外圍宏塊之中與編碼對象宏塊鄰近的宏塊的運動矢量作為該外圍宏塊對的運動矢量(S506)。
方式選擇部109對于所選擇的3個外圍宏塊對,反復實行從上述步驟S501到步驟S506的處理。結果是,對于編碼對象宏塊對內(nèi)的1個宏塊如宏塊MB1,分別一個一個地求出3個外圍宏塊對的運動矢量。
接著,方式選擇部109查驗3個外圍宏塊對之中對索引最小的幀或該幀內(nèi)的場進行參照的宏塊是否是1個(S507)。
這種場合下,方式選擇部109將3個外圍宏塊對的參考索引統(tǒng)一成參考幀索引或者參考場索引的任一個,并加以比較。在圖42所示的參考幀表格中,只是在每幀中附加參考索引,但由于該參考幀索引和在每場中附加索引的參考場索引存在一定的關系,所以可以通過計算的方法從參考幀表格或者參考場表格的一方變換成另一方的參考索引。
圖46是表示參考場索引和參考幀索引之間的關系的關系表示圖。
如該圖46所示,在參考場表格中沿著時間序列存在數(shù)個采用第1場f1及第2場f2所表示的幀,并在各幀中以含有編碼對象像塊的幀(圖46中所示的幀)為基準分配有0、1、2、…之類的參考幀索引。另外,在各幀的第1場f1及第2場f2中以含有編碼對象像塊的幀的第1場f1為基準(第1場是編碼對象場時),分配有0、1、2、…之類的參考場索引。再者,該參考場索引從與編碼對象場近的幀的第1場f1及第2場f2開始,如果編碼對象像塊是第1場f1則使之優(yōu)先分配第1場f1,如果編碼對象像塊是第2場f2則使之優(yōu)先分配第2場f2。
例如,在通過幀結構所編碼的外圍宏塊對參考幀索引「1」的幀進行參照并且通過場結構所編碼的外圍像塊對參考場索引「2」的第1場f1進行參照時,上述外圍宏塊全都參照同一圖像進行處理。也就是說,在通過1個外圍宏塊所參照的幀的參考幀索引滿足下述前提條件時,該外圍宏塊參照同一圖像進行處理,上述前提條件是與分配給其他1個外圍宏塊參考場的參考場索引二分之一的值相等(小數(shù)點之下舍去)。
例如,在用圖46的△所示的第1場f1中所包含的編碼對象像塊對參考場索引「2」的第1場f1進行參照并且作為幀結構的外圍宏塊對參考幀索引「1」的幀進行參照時,由于滿足上述前提條件,所以上述外圍像塊參照同一圖像進行處理。另一方面,在某個外圍宏塊對參考場索引「2」的第1場進行參照并且其他外圍宏塊對參考幀索引「3」的幀進行參照時,由于不滿足上述前提條件,所以其外圍像塊沒有參照同一圖像進行處理。
如上所述,如果在步驟S507中所查驗的結果為1個,則將對索引最小的幀或者該幀內(nèi)的場進行參照的外圍宏塊對的運動矢量,作為編碼對象宏塊的運動矢量(S508)。如果在步驟S507中所查驗的結果不是1個,則進一步查驗3個外圍宏塊對之中對索引最小的幀或者該幀內(nèi)的場進行參照的外圍宏塊對是否有2個以上(S509),如果有2個以上,并且如果其中進一步有未對索引最小的幀或者該幀內(nèi)的場進行參照的外圍宏塊對,則將該運動矢量作為「0」(S510),此后將外圍宏塊對3個運動矢量的中央值作為編碼對象宏塊的運動矢量(S511)。另外,如果在步驟S509中所查驗的結果為不足2個,則對索引最小的幀或者該幀內(nèi)的場進行參照的外圍宏塊對的數(shù)目為「0」,而將編碼對象宏塊的運動矢量作為「0」(S512)。
以上的處理結果是,對于構成編碼對象宏塊對的1個宏塊如MB1,作為計算結果而得出1個運動矢量MV1。方式選擇部109對于具有第2參考索引的運動矢量也會實行上述處理,并采用所得到的2個運動矢量通過雙向預測來實行運動補償。但是,在外圍宏塊對之中不存在具有第1或第2運動矢量的外圍宏塊的場合下,不會采用該方向的運動矢量而通過只是單方向的運動矢量來實行運動補償。另外,對于編碼對象宏塊對內(nèi)的另1個宏塊如宏塊MB2,也會反復實行相同的處理。結果是,將有關1個編碼對象宏塊對中的2個各宏塊,實行采用直接方式的運動補償。
接著,象圖43(c)那樣,將有關通過場結構對編碼對象宏塊對進行編碼的情形,予以說明。圖47是表示在圖43所示的步驟S303中更為詳細的處理步驟的流程圖。方式選擇部109對于構成編碼對象宏塊對的1個宏塊如與該宏塊對的頂部場相應的宏塊TF,采用直接方式的空間性預測來計算1個運動矢量MVt。首先,方式選擇部109在外圍宏塊對所參照的圖像索引之中求出最小值(S601)。但是,在外圍宏塊通過場結構進行處理的場合下,只是對于編碼對象宏塊和同一場(頂部場或者底部場)的宏塊,予以考慮。接著,查驗外圍宏塊對是否通過幀結構被編碼(S602),在通過幀結構被編碼的場合下,進一步以通過參考幀表格300給與各幀的索引值為根據(jù),來判斷該外圍宏塊對內(nèi)的通過2個宏塊所參照的幀是否全都是附加最小索引的幀(S603)。
在步驟S603中所查驗的結果為,通過2個宏塊所參照的幀全都是最小索引的場合下,計算2個宏塊的運動矢量的平均值,將其作為該外圍宏塊對的運動矢量(S604)。在步驟S603中所查驗的結果為,一方或者雙方所參照的幀都是不具有最小索引的幀的場合下,進一步查驗通過哪個宏塊所參照的幀具有最小索引(S605),在所查驗的結果為在任一方宏塊所參照的幀中都附加有最小索引的場合下,將該宏塊的運動矢量作為該外圍宏塊對的運動矢量(S606),在步驟S605中所查驗的結果為哪個宏塊都沒有在所參照的幀中附加最小索引的場合下,將該外圍宏塊對的運動矢量作為「0」(S607)。在上面的說明中,由于在外圍宏塊的運動矢量之中只采用所參照的幀附加有最小索引的幀的運動矢量,所以可以選擇編碼效率更高的運動矢量。S607的處理表示出判斷為沒有適合于預測的運動矢量。
另外,在步驟S602中所查驗的結果為,該外圍宏塊對是通過場結構被編碼的場合下,將該外圍宏塊對全部的運動矢量,作為在該外圍宏塊對中與編碼對象宏塊對內(nèi)的對象宏塊相應的宏塊的運動矢量(S608)。方式選擇部109對于所選擇的3個外圍宏塊對,反復實行從上述步驟S601到步驟S608的處理。結果是,將有關編碼對象宏塊對內(nèi)的1個宏塊如宏塊TF,分別一個一個地求出3個外圍宏塊對的運動矢量。
接著,運動矢量檢測部108查驗3個外圍宏塊對之中對索引最小的幀進行參照的宏塊是否是1個(S609),如果是1個則將對索引最小的幀進行參照的外圍宏塊對運動矢量作為編碼對象宏塊的運動矢量(S610)。如果在步驟S609中所查驗的結果不是1個,則進一步查驗3個外圍宏塊對之中對索引最小的幀進行參照的外圍宏塊對是否有2個以上(S611),如果有2個以上,則將其中未對索引最小的幀進行參照的外圍宏塊對的運動矢量作為「0」(S612),此后將外圍宏塊對3個運動矢量的中央值作為編碼對象宏塊的運動矢量(S613)。另外,如果在步驟S611中所查驗的結果不足2個,則對索引最小的幀進行參照的外圍宏塊對的數(shù)目為「0」,而將編碼對象宏塊的運動矢量作為「0」(S614)。
以上的處理結果是,對于構成編碼對象宏塊對的1個宏塊如與頂部場相應的宏塊TF,作為計算結果而得出1個運動矢量MVt。方式選擇部109對于第2運動矢量(對應于第2參考索引)也會反復實行上述處理。據(jù)此,對于宏塊TF得到2個運動矢量,并采用這些運動矢量來實行采用雙向預測的運動補償。但是,在外圍宏塊對之中不存在具有第1或第2運動矢量的外圍宏塊的場合下,不會采用該方向的運動矢量而通過只有單方向的運動矢量來實行運動補償。原因是,外圍宏塊對只僅僅按單方向進行參照是考慮到對于編碼對象宏塊也只按單方向進行參照會使編碼效率提高。
另外,對于編碼對象宏塊對內(nèi)的另1個宏塊如與下部場相應的宏塊BF,也會反復實行相同的處理。結果是,將有關1個編碼對象宏塊對中的2個各宏塊如宏塊TF和宏塊BF,實行采用直接方式的處理。
還有,在此編碼對象宏塊對的編碼結構和外圍宏塊對的編碼結構不同的場合下,實行計算外圍宏塊對內(nèi)2個宏塊的運動矢量的平均值等的處理并加以計算,但是本發(fā)明并不限定于此,例如也可以只在編碼對象宏塊對和外圍宏塊對中編碼結構相同的場合下,采用該外圍宏塊對的運動矢量,并在編碼對象宏塊對和外圍宏塊對中編碼結構不同的場合下,不采用編碼結構不同的外圍宏塊對的運動矢量。更為具體地說,首先①在編碼對象宏塊對通過幀結構被編碼的場合下,只采用通過幀結構所編碼的外圍宏塊對的運動矢量。此時,在通過幀結構所編碼的外圍宏塊對的運動矢量之中沒有對索引最小的幀進行參照的運動矢量的場合下,將編碼對象宏塊的運動矢量對作為「0」。另外,在外圍宏塊對通過場結構被編碼的場合下,將該外圍宏塊對的運動矢量作為「0」。接著,②在編碼對象宏塊對通過場結構被編碼的場合下,只采用通過場結構所編碼的外圍宏塊對的運動矢量。此時,在通過場結構所編碼的外圍宏塊對的運動矢量之中沒有對索引最小的幀進行參照的運動矢量的場合下,將編碼對象宏塊的運動矢量對作為「0」。另外,在外圍宏塊對通過幀結構被編碼的場合下,將該外圍宏塊對的運動矢量作為「0」。這樣一來,在計算各外圍宏塊對的運動矢量之后,③在這些運動矢量之中只有1個是對具有最小索引的幀或其場進行參照而得到的運動矢量的場合下,將該運動矢量作為直接方式中的編碼對象宏塊對的運動矢量,在不是1個的場合下,將3個運動矢量的中央值作為直接方式中的編碼對象宏塊對的運動矢量。
另外,在上面的說明中通過已編碼外圍宏塊對的編碼結構的大多數(shù),來決定是通過場結構對編碼對象宏塊對進行編碼還是通過幀結構進行編碼,但是本發(fā)明并不限定于此,例如在直接方式中也能以固定方式確定出一定是通過幀結構進行編碼或者一定是通過場結構進行編碼。這種場合下,例如在作為編碼對象的每幀中對通過場結構來編碼或者通過幀結構來編碼進行轉換的場合下,也可以描述在編碼序列全部的標題或者每幀的幀標題等中。轉換的單位例如也可以是順序、GOP、圖像及切片等,而這種場合下可以分別描述在編碼序列中相應的標題等內(nèi)。即使這樣的場合下,當然也只在編碼對象宏塊對和外圍宏塊對中編碼結構相同時,可以通過采用該外圍宏塊對的運動矢量的方法,來計算直接方式中編碼對象宏塊對的運動矢量。還有,在通過數(shù)據(jù)包等進行傳送的場合下,也可以使標題部分和數(shù)據(jù)部分分離,加以另行傳送。那種場合下,不會使標題部分的數(shù)據(jù)部分成為1個比特流。但是,數(shù)據(jù)包的場合下即使傳送的順序有多少前后之分,也只是通過其他的數(shù)據(jù)包來傳送與相應的數(shù)據(jù)部分對應的標題部分,并且不會成為1個比特流,這也是相同的。這樣,由于以固定方式確定出是采用幀結構還是采用場結構,因而無需采用外圍像塊的信息來決定結構的處理,并可以謀求處理的簡單化。
另外還有,在直接方式中也可以采用這樣的方法,這就是通過幀結構和場結構的雙方來處理編碼對象像塊對,并選擇編碼效率高的結構。這種場合下,已選擇出幀結構和場結構的哪個可以描述在編碼序列中的宏塊對的標題部分內(nèi)。即使這樣的場合下,當然也只在編碼對象宏塊對和外圍宏塊對中編碼結構相同時,可以通過采用該外圍宏塊對的運動矢量的方法,來計算直接方式中編碼對象宏塊對的運動矢量。由于采用這種方法,所以在編碼序列中需要表示出選擇幀結構和場結構哪個的信息,但仍可以進一步減少運動補償?shù)氖S嗾`差信號,并能夠謀求編碼效率的提高。
另外在上面的說明中,有關外圍宏塊對以宏塊大小為單位來實行運動補償?shù)那樾我炎龀稣f明,但該外圍宏塊對也能以不同大小為單位來實行運動補償。這種場合下,如圖48(a)、(b)所示對于編碼對象宏塊對的各個宏塊,將含有位于a、b、c的象素的像塊的運動矢量作為外圍宏塊對的運動矢量。在此,圖48(a)表示出對上部的宏塊進行處理的情形,圖48(b)表示出對下部的宏塊進行處理的情形。在此編碼對象宏塊對和外圍宏塊對的幀/場結構不同的場合下,采用圖49(a)、(b)所示的含有a、b、c位置的像塊和含有位置a’、b’、c’的像塊,來實行處理。在此,位置a’、b’、c’是與象素a、b、c位置對應的同一宏塊對內(nèi)的另一方宏塊中所包含的像塊。例如圖49(a)的場合下,在編碼對象宏塊對和外圍宏塊對的幀/場結構不同時,上部編碼對象宏塊左側的像塊的運動矢量是采用BL1和BL2的運動矢量來決定的。另外圖49(b)的場合下,在編碼對象宏塊對和外圍宏塊對的幀/場結構不同時,上部編碼對象宏塊左側的像塊的運動矢量是采用BL3和BL4的運動矢量來決定的。由于采用這種處理方法,所以即使在外圍宏塊以和宏塊大小不同的單位來實行運動補償?shù)膱龊舷?,也可以實行考慮到幀·場之差的直接方式的處理。
另外,在外圍宏塊對以和宏塊大小不同的大小為單位實行運動補償?shù)膱龊舷拢ㄟ^計算宏塊中所包含的像塊的運動矢量的平均值,也可以將其作為該宏塊的運動矢量。即使在外圍宏塊以和宏塊大小不同的單位來實行運動補償?shù)膱龊舷拢部梢詫嵭锌紤]到幀·場之差的直接方式的處理。
如上所述,檢測運動矢量并根據(jù)所檢測到的運動矢量來實行圖像間預測編碼的結果是,通過運動矢量檢測部108所檢測到的運動矢量和所編碼的預測誤差圖像按每個宏塊存儲在編碼序列中。但是,對于通過直接方式所編碼的宏塊的運動矢量,只是描述出僅通過直接方式被編碼,而在編碼序列中沒有描述運動矢量及參考索引。圖50表示的是通過編碼序列生成部104所生成的編碼序列700的數(shù)據(jù)結構的一個示例。如同圖所示,在通過編碼序列生成部104所生成的編碼序列700中對每幅圖像Picture設有標題Header。在該標題Header中例如設有表示參考幀表格10變更的項目RPSL及表示該圖像的圖像類型的未圖示的項目等,并且在項目RPSL中,按照參考幀表格10的第1參考索引12及第2參考索引13的值的分配方法從初始設定開始有變更時,描述變更后的分配方法。
另一方面,所編碼的預測誤差記錄于每個宏塊中。例如,在某個宏塊采用直接方式的空間性預測進行編碼的場合下,不會在描述與該宏塊相應的預測誤差的項目Block1中描述該宏塊的運動矢量,而是在表示該宏塊的編碼方式的項目PredType中描述表示編碼方式為直接方式的信息。另外,在從上述編碼效率的觀點出發(fā)來選擇該宏塊對通過幀結構或場結構的哪個進行編碼的那種場合下,描述這樣的信息,該信息表示已選擇幀結構或場結構的哪個。接下來,在項目CodedRes中描述所編碼的預測誤差。另外,在其他的宏塊是采用圖像間預測編碼方式所編碼的宏塊的場合下,在描述與該宏塊對應的預測誤差的項目Block2之中表示編碼方式的項目PredTyde內(nèi)描述出該宏塊的編碼方式是圖像間預測編碼方式。這種場合下,除編碼方式之外,還有該宏塊的第1參考索引12寫入項目Ridx0中,第2參考索引13寫入項目Ridx1中。像塊中的參考索引采用可變長代碼字來表現(xiàn),并分配有值越小越短的代碼長度的代碼。另外接著,該宏塊對前方幀進行參照時的運動矢量描述在項目MV0中,對后方幀進行參照時的運動矢量描述在項目MV1中。接下來,在項目CodedRes中描述所編碼的預測誤差。
圖51是表示對圖50所示的編碼序列700進行解碼的動態(tài)圖像解碼裝置800的結構的框圖。動態(tài)圖像解碼裝置800用來對編碼序列700進行解碼,該編碼序列描述出含有通過直接方式所編碼的宏塊的預測誤差,該裝置具備編碼序列解析部701、預測誤差解碼部702、方式譯碼部703、運動補償譯碼部705、運動矢量存儲部706、幀存儲器707、加法運算部708、開關709、開關710及運動矢量解碼部711。編碼序列解析部701用來從所輸入的編碼序列700提取各種數(shù)據(jù)。此處所述的各種數(shù)據(jù)指的是,編碼方式的信息及與運動矢量有關的信息等。所提取的編碼方式信息輸出到方式譯碼部703。另外,所提取的運動矢量信息輸出到運動矢量解碼部711。還有,所提取的預測誤差編碼數(shù)據(jù)對預測誤差解碼部702進行輸出。預測誤差解碼部702對所輸入的預測誤差編碼數(shù)據(jù)進行解碼,生成預測誤差圖像。所生成的預測誤差圖像對開關709進行輸出。例如,在開關709與端子b連接時,預測誤差圖像對加法器708進行輸出。
方式譯碼部703用來對從編碼序列所提取的編碼方式信息進行參照,并實行開關709和開關710的控制。在編碼方式是圖像內(nèi)編碼的場合下,進行控制使開關709與端子a連接,并使開關710與端子c連接。
在編碼方式是圖像間編碼的場合下,進行控制使開關709與端子b連接,并使開關710與端子d連接。再者,通過方式譯碼部703也對運動補償譯碼部705和運動矢量解碼部711輸出編碼方式的信息。運動矢量解碼部711對從編碼序列解析部701所輸入的編碼后的運動矢量,實行解碼處理。解碼后的參考圖像編號和運動矢量在保持到運動矢量存儲部706中,與此同時對運動補償譯碼部705進行輸出。
在編碼方式是直接方式的場合下,方式譯碼部703進行控制使開關709與端子b連接,并使開關710與端子d連接。再者,通過方式譯碼部703也對運動補償譯碼部705和運動矢量解碼部711輸出編碼方式的信息。運動矢量解碼部711在編碼方式是直接方式時,采用運動矢量存儲部706中所存儲的外圍宏塊對的運動矢量和參考圖像編號,來決定在直接方式中所使用的運動矢量。因為該運動矢量的決定方法與通過圖40方式選擇部109的動作所說明的內(nèi)容相同,所以在此省略其說明。
根據(jù)所解碼的參考圖像編號和運動矢量,運動補償譯碼部705從幀存儲器707對每個宏塊取得運動補償圖像。所取得的運動補償圖像輸出到加法運算部708。幀存儲器707是將解碼圖像保持在每幀中的存儲器。加法運算部708對所輸入的預測誤差圖像和運動補償圖像進行加法運算,生成解碼圖像。所生成的解碼圖像對幀存儲器707進行輸出。
如上所述根據(jù)本實施方式,在直接方式的空間性預測方法中,即使在與編碼對象宏塊對相應的已編碼外圍宏塊對中同時存在通過幀結構所編碼的像塊和通過場結構所編碼的像塊的場合下,也可以容易地計算運動矢量。
再者,在上述的實施方式中有關各圖像以沿著垂直方向連結2個宏塊的宏塊對為單位采用幀結構或者場結構的任一個進行處理的情形,已做出說明,但是這也能夠以不同的單位如宏塊的單位來轉換幀結構或場結構進行處理。
另外,在上述的實施方式中對于通過直接方式對B圖像中的宏塊進行處理的情形已做出說明,但是即便是P圖像也可以實行同樣的處理。在實行P圖像的編碼·解碼時,各像塊只從1個圖像開始實行運動補償,并且參考幀表格只有1個。因此,為了在P圖像中也實行與本實施方式相同的處理,在本實施方式中可以實行下述的兩種處理,一是計算編碼·解碼對象像塊的2個運動矢量(第1參考幀表格和第2參考幀表格)的處理,二是計算1個運動矢量的處理。
另外,在上述的實施方式中對于采用3個外圍宏塊對的運動矢量來預測并生成在直接方式中所使用的運動矢量的情形,已做出說明,但所使用的外圍宏塊對的數(shù)目也可以是不同的值。例如,設想只采用左鄰的外圍宏塊對的運動矢量那樣的情形。
(實施方式12)再者,將實現(xiàn)上述各實施方式所示的圖像編碼方法及圖像解碼方法構成所需的程序記錄在軟盤等存儲媒體中,以此可以在獨立的計算機系統(tǒng)中簡單地實施上述各實施方式所示的處理。
圖52是有關存儲程序所需的存儲媒體的說明圖,該程序用來通過計算機系統(tǒng)實現(xiàn)上述實施方式1到實施方式11的圖像編碼方法及圖像解碼方法。
圖52(b)表示出從軟盤的正面所看到的外觀、剖面結構及軟盤,圖52(a)表示出作為存儲媒體主體的軟盤物理格式的示例。軟盤FD內(nèi)置于卡盒F內(nèi),在該磁盤的表面上按同心圓狀從外圓向內(nèi)圓形成有多個磁道Tr,并且各磁道沿著角度的方向被分割成16個扇區(qū)Se。因而,采用存儲有上述程序的軟盤,在上述軟盤FD上所分配的區(qū)域內(nèi)記錄有作為上述程序的圖像編碼方法及圖像解碼方法。
另外,圖52(c)表示在軟盤FD中實行上述程序的記錄再生所需的結構。在將上述程序記錄到軟盤FD中時,是從計算機系統(tǒng)Cs通過軟盤驅動器來寫入作為上述程序的圖像編碼方法及圖像解碼方法的。另外,在采用軟盤內(nèi)的程序將上述圖像編碼方法及圖像解碼方法建立在計算機系統(tǒng)中的場合下,通過軟盤驅動器從軟盤讀出程序,轉送給計算機系統(tǒng)。
還有,在上述的說明中作為記錄媒體已采用軟盤做出說明,但采用光盤也可以同樣地實行。另外,記錄媒體并不限于此,CD-ROM、存儲卡、ROM盒等只要是可以記錄程序的裝置,就能夠同樣地實施。
還有,在此將說明上述實施方式所示的圖像編碼方法和圖像解碼方法的應用示例和采用該方法的系統(tǒng)。
圖53是表示實現(xiàn)內(nèi)容傳送服務的內(nèi)容提供系統(tǒng)ex100的整體結構的框圖。將通信服務的提供區(qū)域分割成指定的大小,并在各自單元內(nèi)分別設置有作為固定無線電臺的基站ex107~ex110。
該內(nèi)容提供系統(tǒng)ex100例如在因特網(wǎng)ex101上通過因特網(wǎng)提供者ex102、電話網(wǎng)ex104及基站ex107~ex110來連接計算機ex111、PDA(personal digital assistant)ex112、攝像機ex113、攜帶電話ex114及帶攝像機的攜帶電話ex115等的各種設備。
但是,內(nèi)容提供系統(tǒng)ex100并不限定于圖53的那種組合,而也可以組合連接任一個。另外,不用通過作為固定無線電臺的基站ex107~ex110,各個設備也可以直接與電話網(wǎng)ex104相連接。
攝像機ex113是數(shù)字錄像攝像機等的可實行動態(tài)圖像攝影的設備。另外,攜帶電話是下述方式的攜帶電話機或是PHS(PersonalHandyphone System)等全都可以,上述方式包括PDC(PersonalDigital Communications)方式、CDMA(Code Division MultipleAccess)方式、W-CDMA(Wideband-Code Division Multiple Access)方式或者GMS(Global System for Mobile Communications)方式。
另外,流式服務器ex103通過基站ex109及電話網(wǎng)ex104被攝像機ex113所連接,采用攝像機ex113可以實行根據(jù)用戶所發(fā)送的編碼處理后的數(shù)據(jù)的實況傳輸?shù)?。所拍攝到的數(shù)據(jù)編碼處理既可以在攝像機ex113中實行,也可以在實行數(shù)據(jù)發(fā)送處理的服務器等中實行。另外,采用攝像機ex116所拍攝到的動態(tài)圖像數(shù)據(jù)也可以通過計算機ex111發(fā)送給流式服務器ex103。攝像機ex116是數(shù)字攝像機等的可拍攝靜止圖像、動態(tài)圖像的設備。這種場合下,動態(tài)數(shù)據(jù)的編碼在攝像機ex116中或在計算機ex111中都可以實行。另外,編碼處理在計算機ex111和攝像機ex116所具有的LSIex117中進行處理。還有,也可以將圖像編碼·解碼用的軟件裝入作為通過計算機ex111等可讀取的記錄媒體的任何儲存媒體(CD-ROM、軟盤、硬盤等)中。再者,也可以通過帶攝像機的攜帶電話ex115來發(fā)送動態(tài)圖像數(shù)據(jù)。此時的動態(tài)圖像數(shù)據(jù)是通過攜帶電話ex115所具有的LSI進行編碼處理后的數(shù)據(jù)。
在該內(nèi)容提供系統(tǒng)ex100中,一方面與上述實施方式相同對用戶使用攝像機ex113、攝像機ex116等所拍攝到的內(nèi)容(例如,拍攝音樂實況的影像等)進行編碼處理并發(fā)送給流式服務器ex103,另一方面流式服務器ex103對發(fā)出請求的客戶機來流傳輸上述內(nèi)容數(shù)據(jù)。作為客戶機,有可以對上述編碼處理后的數(shù)據(jù)進行解碼的計算機ex111、PDAex112、攝像機ex113及攜帶電話ex114等。據(jù)此,內(nèi)容提供系統(tǒng)ex100可以在客戶機中接收并再生編碼后的數(shù)據(jù),并進一步通過在客戶機中實時地接收解碼及再生,也可以實現(xiàn)個人廣播。
在構成該系統(tǒng)的各設備的編碼、解碼過程中,可以采用上述各實施方式所示的圖像編碼裝置或圖像解碼裝置。
作為一個示例,將有關攜帶電話予以說明。
圖54表示的是采用上述實施方式中所說明的圖像編碼方法和圖像解碼方法的攜帶電話ex115。攜帶電話ex115具有天線ex201,用來在和基站ex110之間發(fā)送接收電波;攝像部ex203,是CCD攝像機等可拍攝影像、靜止圖像的攝像機;顯示部ex202,是顯示通過攝像部ex203所拍攝到的影像以及通過天線ex201所接收到的影像等被解碼后的數(shù)據(jù)的液晶顯示器等;主體部,由操作鍵ex204群構成;聲音輸出部ex208,是進行聲音輸出所用的揚聲器等;聲音輸入部ex205,是進行聲音輸入所用的傳聲器等;記錄媒體ex207,用來保存所拍攝到的動態(tài)圖像或靜止圖像的數(shù)據(jù)、所接收到的郵件數(shù)據(jù)及動態(tài)圖像數(shù)據(jù)或靜止圖像數(shù)據(jù)等被編碼后的數(shù)據(jù)或者解碼后的數(shù)據(jù);開口部ex206,是可以將記錄媒體ex207安裝到攜帶電話ex115中所需的。記錄媒體ex207是將閃存儲元件裝入SD卡等的塑料盒內(nèi)的部件,該閃存儲元件是電可擦和刪除的非易失性存儲器并且是EEPROM(Electrically Erasable and Programmable Read Only Memory)的一種。
再者,將有關攜帶電話ex115采用圖55予以說明。攜帶電話ex115對下述的主控制部ex311通過同步總線ex313相互連接有電源電路部ex310、操作輸入控制部ex304、圖像編碼部ex312、攝像機接口部ex303、LCD(Liquid Crystal Display)控制部ex302、圖像解碼部ex309、復用分離部ex308、記錄再生部ex307、調(diào)制解調(diào)電路部ex306及聲音處理部ex305,上述主控制部ex311對具備有顯示部ex202及操作鍵ex204的主體部各部進行總括控制。
電源電路部ex310用于,若因用戶的操作而使話終及電源鍵變成開啟狀態(tài),則通過從電池組對各部提供電源,而使帶攝像機的數(shù)字攜帶電話ex115起動,成為可工作的狀態(tài)。
攜帶電話ex115根據(jù)作為CPU、ROM及RAM等的主控制部ex311的控制,通過聲音處理部ex305將在聲音通話方式時由聲音輸入部ex205所集音的聲音信號轉換成數(shù)字聲音數(shù)據(jù),通過調(diào)制解調(diào)電路部ex306對其進行擴頻處理,并在通過發(fā)送接收電路部ex301施以數(shù)字模擬變換處理及頻率變換處理之后,通過天線ex201進行發(fā)送。另外,攜帶電話機ex115對在聲音通話方式時通過天線ex201所接收到的接收數(shù)據(jù)進行放大并實施頻率變換處理及模擬數(shù)字變換處理,通過調(diào)制解調(diào)電路部ex306進行逆擴頻處理,在通過聲音處理部ex305轉換成模擬聲音數(shù)據(jù)之后通過聲音輸出部ex208將其輸出。
還有,在數(shù)據(jù)通信方式時發(fā)送電子郵件的場合下,由主體部操作鍵ex204的操作所輸入的電子郵件正文數(shù)據(jù),通過操作輸入控制部ex304發(fā)到主控制部ex311。主控制部ex311通過調(diào)制解調(diào)電路部ex306對正文數(shù)據(jù)進行擴頻處理,并在通過發(fā)送接收電路部ex301施以數(shù)字模擬變換處理及頻率變換處理之后,通過天線ex201發(fā)送到基站ex110。
在數(shù)據(jù)通信方式時發(fā)送圖像數(shù)據(jù)的場合下,通過攝像機接口部ex303將由攝像部ex203所拍攝到的圖像數(shù)據(jù)提供到圖像編碼部ex312。另外,在不發(fā)送圖像數(shù)據(jù)的場合下,也可以通過攝像機接口部ex303及LCD控制部ex302將由攝像部ex203所拍攝到的圖像數(shù)據(jù)直接顯示在顯示部ex202。
圖像編碼部ex312的結構具備本申請發(fā)明中所說明的圖像編碼裝置,通過采用下述的編碼方法進行壓縮編碼,將從攝像部ex203所提供的圖像數(shù)據(jù)轉換成編碼圖像數(shù)據(jù)并將其發(fā)到復用分離部ex308,上述編碼方法使用于上述實施方式所示的圖像編碼裝置中。另外,與此同時攜帶電話機ex115通過聲音處理部ex305,將在通過攝像部ex203實行拍攝過程中由聲音輸入部ex205所集音的聲音作為數(shù)字的聲音數(shù)據(jù),發(fā)到復用分離部ex308。
復用分離部ex308以指定方式對從圖像編碼部ex312所提供的編碼圖像數(shù)據(jù)和從聲音處理部ex305所提供的聲音數(shù)據(jù)進行復用,通過調(diào)制解調(diào)電路部ex306對其結果所得到的復用數(shù)據(jù)進行擴頻處理,在通過發(fā)送接收電路部ex301施以數(shù)字模擬變換處理及頻率變換處理之后,通過天線ex201進行發(fā)送。
在數(shù)據(jù)通信方式時對與主頁等所連接的動態(tài)圖像文件數(shù)據(jù)進行接收的場合下,由調(diào)制解調(diào)電路部ex306對通過天線ex201從基站ex110所接收到的接收數(shù)據(jù)進行逆擴頻處理,并將其結果所得到的復用數(shù)據(jù)發(fā)到復用分離部ex308。
另外,為了對通過天線ex201所接收到的復用數(shù)據(jù)進行解碼,復用分離部ex308通過對復用數(shù)據(jù)進行分離,而分成圖像數(shù)據(jù)的比特流和聲音數(shù)據(jù)的比特流,并通過同步總線ex313將該編碼圖像數(shù)據(jù)提供給圖像解碼部ex309,與此同時將該聲音數(shù)據(jù)提供給聲音處理部ex305。
接著,圖像解碼部ex309的結構具備本申請發(fā)明中所說明的圖像解碼裝置,通過采用與上述實施方式所示的編碼方法對應的解碼方法對圖像數(shù)據(jù)的比特流進行解碼,生成再生動態(tài)圖像,并通過LCD控制部ex302將其提供到顯示部ex202,據(jù)此例如顯示與主頁所連接的動態(tài)圖像文件中包含的動態(tài)圖像數(shù)據(jù)。與此同時,聲音處理部ex305在將聲音數(shù)據(jù)轉換成模擬聲音數(shù)據(jù)之后,將其提供給聲音輸出部ex208,據(jù)此例如再生與主頁所連接的動態(tài)圖像文件中包含的聲音數(shù)據(jù)。
再者,并不限于上述系統(tǒng)的示例,最近人們正在探討通過衛(wèi)星、地面波的數(shù)字廣播,并且如圖56所示在數(shù)字廣播用的系統(tǒng)中也可以至少安裝上述實施方式的圖像編碼裝置或圖像解碼裝置的任一個。具體地說,在發(fā)射臺ex409中影像信息的比特流通過電波傳送給通信或廣播衛(wèi)星ex410。收到該電波的廣播衛(wèi)星ex410發(fā)出廣播用的電波,并通過具有衛(wèi)星廣播接收設備的家庭天線ex406來接收該電波,采用電視(接收機)ex401或者機頂盒(STB)ex407等的裝置對比特流進行解碼并再生。另外,也可以在讀取下述比特流并進行解碼的再生裝置ex403中安裝上述實施方式所示的圖像解碼裝置,上述比特流記錄于作為記錄媒體的CD和DVD等儲存媒體ex402中。這種場合下,所再生的影像信號顯示在監(jiān)視器ex404上。另外,人們也考慮到這樣的結構,即將圖像解碼裝置安裝在與有線電視用的電纜ex405或者衛(wèi)星/地面波廣播的天線ex406相連接的機頂盒ex407內(nèi),通過電視的監(jiān)視器ex408對其進行再生。此時,也可以不是機頂盒,而在電視內(nèi)裝入圖像解碼裝置。另外,在具有天線ex411的汽車ex412中也可以從衛(wèi)星ex410或者從基站ex107等接收信號,并在汽車ex412所具有的汽車導航ex413等的顯示裝置上對動態(tài)圖像進行再生。
還有,也可以通過上述實施方式所示的圖像編碼裝置對圖像信號進行編碼,記錄在記錄媒體中。作為具體示例,有將圖像信號記錄到DVD光盤ex421中的DVD記錄器和記錄到硬盤中的光盤記錄器等的記錄器ex420。還有,也可以記錄到SD卡ex422中。如果記錄器ex420具備上述實施方式所示的圖像解碼裝置,則可以對記錄于DVD光盤ex421和SD卡ex422中的圖像信號進行再生,并通過監(jiān)視器ex408加以顯不。
再者,人們考慮到汽車導航ex413的結構例如是在圖55所示的結構中除去攝像部ex203、攝像機接口部ex303及圖像編碼部ex312的結構,同樣對于也可以考慮計算機ex111和電視(接收機)ex401等。
另外,人們考慮到上述攜帶電話ex114等的終端除具有編碼器·解碼器雙方的發(fā)送接收型終端之外,還有只有編碼器的發(fā)送終端、只有解碼器的接收終端的3種組裝形式。
這樣,可以將上述實施方式所示的動態(tài)圖像編碼方法或動態(tài)圖像解碼方法使用于上面所述的任何設備·系統(tǒng)中,據(jù)此可以得到上述實施方式所說明的效果。
另外,本發(fā)明并不限定于上述這種實施方式,而在不脫離本發(fā)明的范圍內(nèi),可以進行各種的變形或者修改。
產(chǎn)業(yè)上的可利用性本發(fā)明所涉及的圖像編碼裝置作為設置于下述設備中的圖像編碼裝置是有用處的,上述設備包括具備通信功能的個人計算機、PDA、數(shù)字廣播的廣播電臺及攜帶電話機等。
本發(fā)明所涉及的圖像解碼裝置作為設置于下述設備中的圖像解碼裝置是有用處的,上述設備包括具備通信功能的個人計算機、PDA、接收數(shù)字廣播的STB及攜帶電話機等。
權利要求
1.一種運動矢量的計算方法,用于從已經(jīng)計算出的外圍像塊的運動矢量來導出構成動態(tài)圖像的像塊的運動矢量,其特征為在作為導出對象的像塊通過幀結構進行編碼或解碼的場合下,對于通過場結構進行了編碼或解碼的外圍像塊,采用頂部場的像塊的運動矢量和底部場的像塊的運動矢量之中滿足一定條件的運動矢量,來導出作為上述導出對象的像塊的運動矢量,在作為導出對象的像塊通過場結構進行編碼或解碼的場合下,對于通過幀結構進行了編碼或解碼的外圍像塊,采用相互鄰近的2個像塊的運動矢量之中滿足一定條件的運動矢量,來導出作為上述導出對象的像塊的運動矢量。
2.根據(jù)權利要求1記載的運動矢量的計算方法,其特征為上述一定條件是以下的條件在作為導出對象的像塊通過幀結構進行編碼或解碼的場合下,上述頂部場的像塊的運動矢量和上述底部場的像塊的運動矢量分別參照的圖像是可參照的圖像之中具有最小參考索引的圖像,并且在作為導出對象的像塊通過場結構進行編碼或解碼的場合下,上述相互鄰近的2個像塊的運動矢量分別參照的圖像是可參照的圖像之中具有最小參考索引的圖像。
3.根據(jù)權利要求2記載的運動矢量的計算方法,其特征為在上述2個像塊的運動矢量的雙方滿足上述一定條件的場合下,采用上述2個像塊的運動矢量的平均值來導出作為上述導出對象的像塊的運動矢量。
4.根據(jù)權利要求3記載的運動矢量的計算方法,其特征為在不滿足上述一定條件的場合下,將上述外圍像塊的運動矢量作為「0」,來導出作為上述導出對象的像塊的運動矢量。
5.根據(jù)權利要求1記載的運動矢量的計算方法,其特征為上述一定條件是以下的條件在作為導出對象的像塊通過幀結構進行編碼或解碼的場合下,上述頂部場的像塊的運動矢量和上述底部場的像塊的運動矢量分別參照的圖像是可參照的圖像之中具有相同參考索引的圖像,并且在作為導出對象的像塊通過場結構進行編碼或解碼的場合下,上述相互鄰近的2個像塊的運動矢量分別參照的圖像是可參照的圖像之中具有相同參考索引的圖像。
6.根據(jù)權利要求5記載的運動矢量的計算方法,其特征為在上述2個像塊的運動矢量的雙方滿足上述一定條件的場合下,采用上述2個像塊的運動矢量的平均值來導出作為上述導出對象的像塊的運動矢量。
7.根據(jù)權利要求6記載的運動矢量的計算方法,其特征為在不滿足上述一定條件的場合下,將上述外圍像塊的運動矢量作為「0」,來導出作為上述導出對象的像塊的運動矢量。
8.根據(jù)權利要求1記載的運動矢量的計算方法,其特征為預先固定作為導出對象的像塊是通過幀結構進行編碼或解碼,還是通過場結構進行編碼或解碼。
9.根據(jù)權利要求8記載的運動矢量的計算方法,其特征為通過上述動態(tài)圖像的關聯(lián)信息,來判斷作為對象的像塊是通過幀結構進行編碼或解碼,還是通過場結構進行編碼或解碼。
10.一種動態(tài)圖像編碼方法,該編碼方法采用運動矢量的計算方法,從已經(jīng)計算出的外圍像塊的運動矢量來導出構成動態(tài)圖像的像塊的運動矢量,其特征為在作為導出對象的像塊通過幀結構進行編碼的場合下,對于通過場結構進行了編碼的外圍像塊,采用頂部場的像塊的運動矢量和底部場的像塊的運動矢量之中滿足一定條件的運動矢量,來導出作為上述導出對象的像塊的運動矢量,在作為導出對象的像塊通過場結構進行編碼的場合下,對于通過幀結構進行了編碼的外圍像塊,采用相互鄰近的2個像塊的運動矢量之中滿足一定條件的運動矢量,來導出作為上述導出對象的像塊的運動矢量。
11.根據(jù)權利要求10記載的動態(tài)圖像編碼方法,其特征為上述動態(tài)圖象編碼方法包含在編碼信息中附加下述信息并加以輸出的步驟,該信息表示作為導出對象的像塊是通過幀結構被編碼還是通過場結構被編碼。
12.一種動態(tài)圖像解碼方法,該解碼方法采用運動矢量的計算方法,從已經(jīng)計算出的外圍像塊的運動矢量來導出構成動態(tài)圖像的像塊的運動矢量,其特征為在作為導出對象的像塊通過幀結構進行解碼的場合下,對于通過場結構進行了解碼的外圍像塊,采用頂部場的像塊的運動矢量和底部場的像塊的運動矢量之中滿足一定條件的運動矢量,來導出作為上述導出對象的像塊的運動矢量,在作為導出對象的像塊通過場結構進行解碼的場合下,對于通過幀結構進行了解碼的外圍像塊,采用相互鄰近的2個像塊的運動矢量之中滿足一定條件的運動矢量,來導出作為上述導出對象的像塊的運動矢量。
13.根據(jù)權利要求12記載的動態(tài)圖像解碼方法,其特征為上述動態(tài)圖象解碼方法包含下述步驟,該步驟通過參照附加在編碼信息中的關聯(lián)信息,來決定作為導出對象的像塊是通過幀結構被編碼還是通過場結構被編碼。
14.一種動態(tài)圖像編碼裝置,該編碼裝置采用運動矢量的計算方法,從已經(jīng)計算出的外圍像塊的運動矢量來導出構成動態(tài)圖像的像塊的運動矢量,其特征為在作為導出對象的像塊通過幀結構進行編碼的場合下,對于通過場結構進行了編碼的外圍像塊,采用頂部場的像塊的運動矢量和底部場的像塊的運動矢量之中滿足一定條件的運動矢量,來導出作為上述導出對象的像塊的運動矢量,在作為導出對象的像塊通過場結構進行編碼的場合下,對于通過幀結構進行了編碼的外圍像塊,采用相互鄰近的2個像塊的運動矢量之中滿足一定條件的運動矢量,來導出作為上述導出對象的像塊的運動矢量。
15.一種動態(tài)圖像解碼裝置,該解碼裝置采用從已經(jīng)計算出的外圍像塊的運動矢量來導出構成動態(tài)圖像的像塊的運動矢量的運動矢量的計算方法,其特征為在作為導出對象的像塊通過幀結構進行解碼的場合下,對于通過場結構所解碼的外圍像塊,采用頂部場的像塊的運動矢量和底部場的像塊的運動矢量之中滿足一定條件的運動矢量,來導出作為上述導出對象的像塊的運動矢量,在作為導出對象的像塊通過場結構進行解碼的場合下,對于通過幀結構所解碼的外圍像塊,采用相互鄰近的2個像塊的運動矢量之中滿足一定條件的運動矢量,來導出作為上述導出對象的像塊的運動矢量。
全文摘要
方式選擇部(1109)在編碼對象宏塊對按照顯示時間順序參照前方的幀并通過幀結構進行編碼的場合下,對于通過場結構所編碼的外圍MBP,如果2個宏塊(下面,為MB)的雙方對第1參考索引為最小值的幀進行參照,則使之對應作為MBP頂部場的MB的運動矢量和作為底部場的MB的運動矢量的平均值。如果有對第1參考索引不是最小值的幀進行參照的MB,則對該運動矢量應用「0」,來計算編碼對象MB的運動矢量。
文檔編號H04N7/50GK1518834SQ0380047
公開日2004年8月4日 申請日期2003年4月16日 優(yōu)先權日2002年4月19日
發(fā)明者近藤敏志, 也, 角野真也, 史, 羽飼誠, 安倍清史 申請人:松下電器產(chǎn)業(yè)株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1