技術(shù)領(lǐng)域
本發(fā)明涉及圖像壓縮編碼技術(shù)、壓縮圖像數(shù)據(jù)傳送技術(shù)等中使用的運動圖像編碼裝置、運動圖像解碼裝置、運動圖像編碼方法以及運動圖像解碼方法。
背景技術(shù):
例如,在MPEG(Moving Picture Experts Group)、“ITU-T H.26x”等國際標(biāo)準(zhǔn)影像編碼方式中,采用了將匯總了亮度信號16×16像素、和與該亮度信號16×16像素對應(yīng)的色差信號8×8像素的塊數(shù)據(jù)(以下,稱為“宏塊”)作為一個單位,根據(jù)運動補償技術(shù)、正交變換/變換系數(shù)量化技術(shù)進行壓縮的方法。
在運動圖像編碼裝置以及運動圖像解碼裝置中的運動補償處理中,參照前方或者后方的圖片,以宏塊單位進行運動矢量的檢測、預(yù)測圖像的生成。
此時,將僅參照1張圖片,進行畫面間預(yù)測編碼而得到的圖片稱為P圖片,將同時參照2張圖片,進行畫面間預(yù)測編碼而得到的圖片稱為B圖片。
在作為國際標(biāo)準(zhǔn)方式的AVC/H.264(ISO/IEC 14496-10|ITU-T H.264)中,在對B圖片進行編碼時,能夠選擇被稱為直接模式(direct mode)的編碼模式(例如,參照非專利文獻(xiàn)1)。
即,能夠選擇:在編碼對象的宏塊中,不具有運動矢量的編碼數(shù)據(jù),通過使用已編碼的其他圖片的宏塊的運動矢量、周圍的宏塊的運動矢量的規(guī)定的運算處理,生成編碼對象的宏塊的運動矢量的編碼模式。
在該直接模式中,存在時間直接模式和空間直接模式這2種。
在時間直接模式中,通過參照已編碼的其他圖片的運動矢量,根據(jù)已編碼圖片與編碼對象的圖片的時間差進行運動矢量的縮放(scaling)處理,來生成編碼對象的宏塊的運動矢量。
在空間直接模式中,參照位于編碼對象的宏塊的周圍的至少1個以上的已編碼宏塊的運動矢量,根據(jù)這些運動矢量生成編碼對象的宏塊的運動矢量。
在該直接模式中,通過使用作為切片頭(slice header)中設(shè)置的標(biāo)志的“direct_spatial_mv_pred_flag”,能夠以切片單位,選擇時間直接模式或者空間直接模式中的某一方。
其中,在直接模式中,將不對變換系數(shù)進行編碼的模式稱為跳躍模式。以下,在記載為直接模式時,還包括跳躍模式。
此處,圖11是示出通過時間直接模式生成運動矢量的方法的示意圖。
在圖11中,“P”表示P圖片,“B”表示B圖片。
另外,數(shù)字0-3表示圖片的顯示順序,表示是時間T0、T1、T2、T3的顯示圖像。
設(shè)為按照P0、P3、B1、B2的順序進行了圖片的編碼處理。
例如,假設(shè)通過時間直接模式對圖片B2中的宏塊MB1進行編碼的情況。
在該情況下,使用作為處于圖片B2的時間軸上后方的已編碼圖片中的最接近圖片B2的圖片P3的運動矢量的、與宏塊MB1在空間上處于相同的位置的宏塊MB2的運動矢量MV。
該運動矢量MV參照圖片P0,在對宏塊MB1進行編碼時使用的運動矢量MVL0、MVL1通過以下的式(1)求出。
圖12是示出通過空間直接模式生成運動矢量的方法的示意圖。
在圖12中,當(dāng)前MB(currentMB)表示編碼對象的宏塊。
此時,如果將編碼對象的宏塊的左邊的已編碼宏塊A的運動矢量設(shè)為MVa、將編碼對象的宏塊的上面的已編碼宏塊B的運動矢量設(shè)為MVb、將編碼對象的宏塊的右上的已編碼宏塊C的運動矢量設(shè)為MVc,則通過如下述式(2)所示,求出這些運動矢量MVa、MVb、MVc的中值(中央值),能夠計算編碼對象的宏塊的運動矢量MV。
MV=median(MVa、MVb、MVc) (2)
在空間直接模式中,針對前方以及后方分別求出運動矢量,但都能夠使用上述方法來求出。
另外,將預(yù)測圖像的生成中使用的參照圖像針對參照中使用的每個矢量作為參照圖像列表進行管理,在使用2個矢量的情況下,各參照圖像列表被稱為列表0、列表1。
針對參照圖像列表從時間上接近的參照圖像起順序地保存,通常是列表0表示前方向的參照圖像,列表1表示后方向的參照圖像。但是,也可以是列表1表示前方向的參照圖像,列表0表示后方向的參照圖像,也可以是列表0和列表1這雙方表示前方向和后方向的參照圖像。另外,排列順序也無需從時間上接近的參照圖像起排列。
例如,在以下的非專利文獻(xiàn)1中,記載了能夠針對每個切片重新排列參照圖像列表。
【非專利文獻(xiàn)1】MPEG-4AVC(ISO/IEC 14496-10)/ITU-T H.264標(biāo)準(zhǔn)
技術(shù)實現(xiàn)要素:
以往的圖像編碼裝置如以上那樣構(gòu)成,所以如果參照作為切片頭中設(shè)置的標(biāo)志的“direct_spatial_mv_pred_flag”,則能夠以切片單位,切換時間直接模式和空間直接模式。但是,在宏塊單位中,無法切換時間直接模式和空間直接模式,所以即使針對屬于某切片的某宏塊的最佳的直接模式例如是空間直接模式,只要與該切片對應(yīng)的直接模式被決定為時間直接模式,則必需對該宏塊使用時間直接模式,而無法選擇最佳的直接模式。在這樣的情況下,由于無法選擇最佳的直接模式,所以存在必需對不必要的運動矢量進行編碼,而代碼量增加等課題。
本發(fā)明是為了解決上述那樣的課題而完成的,其目的在于得到一種按照規(guī)定的塊單位選擇最佳的直接模式,能夠削減代碼量的運動圖像編碼裝置、運動圖像解碼裝置、運動圖像編碼方法以及運動圖像解碼方法。
本發(fā)明的運動圖像編碼裝置具備:編碼控制單元,決定作為實施預(yù)測處理時的處理單位的編碼塊的最大尺寸,并且決定最大尺寸的編碼塊被層次性地分割時的上限的層次數(shù),從可利用的1個以上的編碼模式中,選擇決定各個編碼塊的編碼方法的編碼模式;以及塊分割單元,將輸入圖像分割為規(guī)定的編碼塊,并且直到達(dá)到由編碼控制單元決定的上限的層次數(shù)為止,層次性地分割所述編碼塊,在作為與由塊分割單元分割的編碼塊對應(yīng)的編碼模式,由編碼控制單元選擇了直接模式的幀間編碼模式的情況下,運動補償預(yù)測單元從可選擇的1個以上的運動矢量中,選擇適合于預(yù)測圖像的生成的運動矢量,使用該運動矢量,實施針對所述編碼塊的運動補償預(yù)測處理來生成預(yù)測圖像,并且將表示該運動矢量的索引信息輸出到可變長編碼單元,可變長編碼單元對索引信息進行可變長編碼。
根據(jù)本發(fā)明,構(gòu)成為具備:編碼控制單元,決定作為實施預(yù)測處理時的處理單位的編碼塊的最大尺寸,并且決定最大尺寸的編碼塊被層次性地分割時的上限的層次數(shù),從可利用的1個以上的編碼模式中,選擇決定各個編碼塊的編碼方法的編碼模式;以及塊分割單元,將輸入圖像分割為規(guī)定的編碼塊,并且直到達(dá)到由編碼控制單元決定的上限的層次數(shù)為止,層次性地分割所述編碼塊,在作為與由塊分割單元分割的編碼塊對應(yīng)的編碼模式,由編碼控制單元選擇了直接模式的幀間編碼模式的情況下,運動補償預(yù)測單元從可選擇的1個以上的運動矢量中,選擇適合于預(yù)測圖像的生成的運動矢量,使用該運動矢量,實施針對所述編碼塊的運動補償預(yù)測處理來生成預(yù)測圖像,并且將表示該運動矢量的索引信息輸出到可變長編碼單元,可變長編碼單元對索引信息進行可變長編碼,所以具有能夠以規(guī)定的塊為單位選擇最佳的直接模式,削減代碼量的效果。
附圖說明
圖1是示出本發(fā)明的實施方式1的運動圖像編碼裝置的結(jié)構(gòu)圖。
圖2是示出本發(fā)明的實施方式1的運動圖像編碼裝置的運動補償預(yù)測部5的結(jié)構(gòu)圖。
圖3是示出構(gòu)成了運動補償預(yù)測部5的直接矢量生成部23的結(jié)構(gòu)圖。
圖4是示出構(gòu)成了直接矢量生成部23的直接矢量判定部33的結(jié)構(gòu)圖。
圖5是示出本發(fā)明的實施方式1的運動圖像解碼裝置的結(jié)構(gòu)圖。
圖6是示出本發(fā)明的實施方式1的運動圖像解碼裝置的運動補償預(yù)測部54的結(jié)構(gòu)圖。
圖7是示出本發(fā)明的實施方式1的運動圖像編碼裝置的處理內(nèi)容的流程圖。
圖8是示出本發(fā)明的實施方式1的運動圖像解碼裝置的處理內(nèi)容的流程圖。
圖9是示出最大尺寸的編碼塊被層次性地分割為多個編碼塊的情況的說明圖。
圖10(a)是示出分割后的分區(qū)(partition)的分布的圖,(b)是通過4叉樹圖形示出對層次分割后的分區(qū)分配了編碼模式m(Bn)的狀況的說明圖。
圖11是示出通過時間直接模式生成運動矢量的方法的示意圖。
圖12是示出通過空間直接模式生成運動矢量的方法的示意圖。
圖13是示出根據(jù)中值預(yù)測的候補A1-An、B1-Bn、C、D、E生成空間直接矢量的方法的示意圖。
圖14是示出通過根據(jù)時間方向的距離進行縮放來生成空間直接矢量的方法的示意圖。
圖15是示出利用前方預(yù)測圖像和后方預(yù)測圖像的類似度的評價值的計算例的說明圖。
圖16是示出使用了運動矢量的方差值(variance)的評價式的說明圖。
圖17是示出空間矢量MV_A、MV_B、MV_C、時間矢量MV_1~MV_8的說明圖。
圖18是示出根據(jù)多個已編碼矢量生成1個候補矢量的說明圖。
圖19是示出僅組合時間上處于前面的圖像來計算評價值SAD的例子的說明圖。
圖20是示出與L字模板類似的圖像的搜索的說明圖。
圖21是示出編碼塊Bn的尺寸是Ln=kMn的例子的說明圖。
圖22是示出如(Ln+1,Mn+1)=(Ln/2,Mn/2)那樣分割的例子的說明圖。
圖23是示出能夠選擇圖21或者圖22中的某一個分割的例子的說明圖。
圖24是示出變換塊尺寸單位成為層次構(gòu)造的例子的說明圖。
圖25是示出本發(fā)明的實施方式3的運動圖像編碼裝置的運動補償預(yù)測部5的結(jié)構(gòu)圖。
圖26是示出構(gòu)成了運動補償預(yù)測部5的直接矢量生成部25的結(jié)構(gòu)圖。
圖27是示出構(gòu)成了直接矢量生成部25的初始矢量生成部34的結(jié)構(gòu)圖。
圖28是示出構(gòu)成了初始矢量生成部34的初始矢量判定部73的結(jié)構(gòu)圖。
圖29是示出本發(fā)明的實施方式3的運動圖像解碼裝置的運動補償預(yù)測部54的結(jié)構(gòu)圖。
圖30是示出運動矢量的搜索處理的說明圖。
圖31是示出本發(fā)明的實施方式4的運動圖像編碼裝置的運動補償預(yù)測部5的結(jié)構(gòu)圖。
圖32是示出本發(fā)明的實施方式4的運動圖像解碼裝置的運動補償預(yù)測部54的結(jié)構(gòu)圖。
圖33是示出記述了可選擇的運動矢量、和表示該運動矢量的索引信息的直接矢量候補索引的說明圖。
圖34是示出僅對1個矢量的索引信息進行編碼的例子的說明圖。
圖35是示出構(gòu)成了運動補償預(yù)測部5的直接矢量生成部26的結(jié)構(gòu)圖。
圖36是示出本發(fā)明的實施方式5的運動圖像編碼裝置的運動補償預(yù)測部5的結(jié)構(gòu)圖。
圖37是示出構(gòu)成了運動補償預(yù)測部5的直接矢量生成部27的結(jié)構(gòu)圖。
圖38是示出本發(fā)明的實施方式5的運動圖像解碼裝置的運動補償預(yù)測部54的結(jié)構(gòu)圖。
圖39是示出構(gòu)成了運動補償預(yù)測部5的直接矢量生成部26的結(jié)構(gòu)圖。
圖40是示出與周圍的塊的相關(guān)關(guān)系的說明圖。
圖41是針對編碼塊的每個塊尺寸示出可選擇的1個以上的運動矢量的列表的說明圖。
圖42是示出最大的塊尺寸是“128”的列表的一個例子的說明圖。
圖43是針對編碼塊的每個分割圖案示出可選擇的1個以上的運動矢量的列表的說明圖。
圖44是示出運動圖像編碼裝置中的列表信息的發(fā)送處理的流程圖。
圖45是示出運動圖像解碼裝置中的列表信息的接收處理的流程圖。
圖46是示出為了將列表內(nèi)的“temporal”從可選擇變更為不可選擇,對“ON”的變更標(biāo)志和表示變更后的列表的列表信息進行了編碼的例子的說明圖。
圖47是示出由于變更標(biāo)志是“ON”,所以變更了當(dāng)前保持的列表的例子的說明圖。
圖48是示出針對每個塊尺寸準(zhǔn)備變更標(biāo)志,僅對與可選擇的運動矢量被變更的塊尺寸有關(guān)的列表信息進行了編碼的例子的說明圖。
圖49是示出從成為對象的塊搜索被幀間編碼了的塊,將該塊內(nèi)包含的所有矢量作為空間矢量候補的例子的說明圖。
(附圖標(biāo)記說明)
1:編碼控制部(編碼控制單元);2:塊分割部(塊分割單元);3:切換開關(guān)(幀內(nèi)預(yù)測單元、運動補償預(yù)測單元);4:幀內(nèi)預(yù)測部(幀內(nèi)預(yù)測單元);5:運動補償預(yù)測部(運動補償預(yù)測單元);6:減法部(差分圖像生成單元);7:變換·量化部(圖像壓縮單元);8:逆量化·逆變換部;9:加法部;10:幀內(nèi)預(yù)測用存儲器;11:環(huán)路濾波器部;12:運動補償預(yù)測幀存儲器;13:可變長編碼部(可變長編碼單元);21:切換開關(guān);22:運動矢量搜索部;23:直接矢量生成部;24:運動補償處理部;25、26、27:直接矢量生成部;31:空間直接矢量生成部;32:時間直接矢量生成部;33:直接矢量判定部;34、36、37:初始矢量生成部;35:運動矢量搜索部;41:運動補償部;42:類似度計算部;43:直接矢量選擇部;51:可變長解碼部(可變長解碼單元);52:切換開關(guān)(幀內(nèi)預(yù)測單元、運動補償預(yù)測單元);53:幀內(nèi)預(yù)測部(幀內(nèi)預(yù)測單元);54:運動補償預(yù)測部(運動補償預(yù)測單元);55:逆量化·逆變換部(差分圖像生成單元);56:加法部(解碼圖像生成單元);57:幀內(nèi)預(yù)測用存儲器;58:環(huán)路濾波器部;59:運動補償預(yù)測幀存儲器;61:切換開關(guān);62:直接矢量生成部;63:運動補償處理部;64、65、66:直接矢量生成部;71:空間矢量生成部;72:時間矢量生成部;73:初始矢量判定部;81:運動補償部;82:類似度計算部;83:初始矢量決定部;91:切換開關(guān)。
具體實施方式
以下,參照附圖,詳細(xì)說明本發(fā)明的實施方式。
實施方式1.
在該實施方式1中,說明輸入影像的各幀圖像并在接近幀之間實施運動補償預(yù)測而得到預(yù)測差分信號并對該預(yù)測差分信號通過正交變換、量化實施了壓縮處理之后進行可變長編碼來生成比特流的運動圖像編碼裝置、和對從該運動圖像編碼裝置輸出的比特流進行解碼的運動圖像解碼裝置。
該實施方式1的運動圖像編碼裝置的特征在于,適應(yīng)于影像信號的空間·時間方向的局部性的變化,將影像信號分割為多種尺寸的區(qū)域來進行幀之內(nèi)·幀之間適應(yīng)編碼。
一般,影像信號具有在空間·時間上信號的復(fù)雜度局部地變化的特性。在空間上觀察時,在某特定的影像幀上,存在天空、壁等那樣的在比較寬的圖像區(qū)域中具有均勻的信號特性的圖形,并且,也混合存在人物、具有細(xì)致的紋理的繪畫等在小的圖像區(qū)域內(nèi)具有復(fù)雜的紋理圖案的圖形。
在時間上觀察時,天空、壁的局部的時間方向的圖形的變化小,但運動的人物、物體由于其輪廓在時間上進行剛體·非剛體的運動,所以時間上的變化大。
在編碼處理中,通過時間·空間上的預(yù)測生成信號電力、熵小的預(yù)測差分信號,從而削減整體的代碼量,而如果能夠?qū)ΡM可能大的圖像信號區(qū)域均勻地應(yīng)用用于預(yù)測的參數(shù),則能夠減小該參數(shù)的代碼量。
另一方面,如果針對時間上·空間上變化大的圖像信號圖案,應(yīng)用同一預(yù)測參數(shù),則預(yù)測的錯誤增加,所以無法削減預(yù)測差分信號的代碼量。
因此,優(yōu)選針對時間上·空間上變化大的圖像信號圖案,減小預(yù)測對象的區(qū)域,而即使增加用于預(yù)測的參數(shù)的數(shù)據(jù)量,也降低預(yù)測差分信號的電力·熵。
為了進行這樣的適應(yīng)于影像信號的一般的性質(zhì)的編碼,在該實施方式1的運動圖像編碼裝置中,從規(guī)定的最大塊尺寸層次性地分割影像信號的區(qū)域,針對每個分割區(qū)域?qū)嵤╊A(yù)測處理、預(yù)測差分的編碼處理。
該實施方式1的運動圖像編碼裝置作為處理對象的影像信號除了由亮度信號和2個色差信號構(gòu)成的YUV信號、從數(shù)字?jǐn)z像元件輸出的RGB信號等任意的顏色空間的彩色影像信號以外,還有單色圖像信號、紅外線圖像信號等影像幀由水平·垂直二維的數(shù)字采樣(像素)列構(gòu)成的任意的影像信號。
各像素的灰度既可以是8比特,也可以是10比特、12比特等灰度。
但是,在以下的說明中,只要沒有特別說明,設(shè)為所輸入的影像信號是YUV信號。另外,設(shè)為2個色差分量U、V相對亮度分量Y被二次采樣(subsample)的4:2:0格式的信號。
另外,將與影像的各幀對應(yīng)的處理數(shù)據(jù)單位稱為“圖片”,在該實施方式1中,將“圖片”設(shè)為依次掃描(逐行掃描)了的影像幀的信號而進行說明。但是,在影像信號是交錯信號的情況下,“圖片”也可以是作為構(gòu)成影像幀的單位的場(field)圖像信號。
圖1是示出本發(fā)明的實施方式1的運動圖像編碼裝置的結(jié)構(gòu)圖。
在圖1中,編碼控制部1實施如下處理:決定作為實施運動補償預(yù)測處理(幀之間預(yù)測處理)或者幀內(nèi)(intra)預(yù)測處理(幀之內(nèi)預(yù)測處理)時的處理單位的編碼塊的最大尺寸,并且決定最大尺寸的編碼塊被層次性地分割時的上限的層次數(shù)。
另外,編碼控制部1實施如下處理:從可利用的1個以上的編碼模式(1個以上的幀內(nèi)編碼模式、1個以上的幀間(inter)編碼模式(包括直接模式的幀間編碼模式))中,選擇適合于層次性地分割的各個編碼塊的編碼模式。另外,編碼控制部1構(gòu)成了編碼控制單元。
塊分割部2實施如下處理:如果輸入了表示輸入圖像的影像信號,則將該影像信號表示的輸入圖像分割為由編碼控制部1決定的最大尺寸的編碼塊,并且直到達(dá)到由編碼控制部1決定的上限的層次數(shù)為止,將該編碼塊層次性地分割。另外,塊分割部2構(gòu)成了塊分割單元。
切換開關(guān)3實施如下處理:如果由編碼控制部1選擇的編碼模式是幀內(nèi)編碼模式,則將由塊分割部2分割的編碼塊輸出到幀內(nèi)預(yù)測部4,如果由編碼控制部1選擇的編碼模式是幀間編碼模式,則將由塊分割部2分割的編碼塊輸出到運動補償預(yù)測部5。
幀內(nèi)預(yù)測部4實施如下處理:如果從切換開關(guān)3接收到由塊分割部2分割的編碼塊,則使用從編碼控制部1輸出的幀內(nèi)預(yù)測參數(shù),實施針對該編碼塊的幀內(nèi)預(yù)測處理來生成預(yù)測圖像。
另外,由切換開關(guān)3以及幀內(nèi)預(yù)測部4構(gòu)成了幀內(nèi)預(yù)測單元。
運動補償預(yù)測部5實施如下處理:在作為適合于由塊分割部2分割的編碼塊的編碼模式,由編碼控制部1選擇了直接模式的幀間編碼模式的情況下,根據(jù)位于該編碼塊的周圍的已編碼塊的運動矢量生成空間直接模式的空間直接矢量,并且根據(jù)該編碼塊可參照的已編碼圖片的運動矢量生成時間直接模式的時間直接矢量,從該空間直接矢量或者時間直接矢量中,選擇參照圖像間的相關(guān)高的一方的直接矢量,使用該直接矢量,實施針對該編碼塊的運動補償預(yù)測處理來生成預(yù)測圖像。
另外,運動補償預(yù)測部5實施如下處理:在作為適合于由塊分割部2分割的編碼塊的編碼模式,由編碼控制部1選擇了直接模式以外的幀間編碼模式的情況下,從該編碼塊和運動補償預(yù)測幀存儲器12中保存的參照圖像搜索運動矢量,使用該運動矢量,實施針對該編碼塊的運動補償預(yù)測處理來生成預(yù)測圖像。
另外,由切換開關(guān)3以及運動補償預(yù)測部5構(gòu)成了運動補償預(yù)測單元。
減法部6實施如下處理:通過從由塊分割部2分割的編碼塊,減去由幀內(nèi)預(yù)測部4或者運動補償預(yù)測部5生成的預(yù)測圖像,生成差分圖像(=編碼塊-預(yù)測圖像)。另外,減法部6構(gòu)成了差分圖像生成單元。
變換·量化部7實施如下處理:以從編碼控制部1輸出的預(yù)測差分編碼參數(shù)中包含的變換塊尺寸為單位,實施由減法部6生成的差分圖像的變換處理(例如,DCT(離散余弦變換)、預(yù)先對特定的學(xué)習(xí)系列進行了基底設(shè)計的KL變換等正交變換處理),并且使用該預(yù)測差分編碼參數(shù)中包含的量化參數(shù),對該差分圖像的變換系數(shù)進行量化,從而將量化后的變換系數(shù)作為差分圖像的壓縮數(shù)據(jù)輸出。另外,變換·量化部7構(gòu)成了圖像壓縮單元。
逆量化·逆變換部8實施如下處理:使用從編碼控制部1輸出的預(yù)測差分編碼參數(shù)中包含的量化參數(shù),對從變換·量化部7輸出的壓縮數(shù)據(jù)進行逆量化,以該預(yù)測差分編碼參數(shù)中包含的變換塊尺寸為單位,實施逆量化的壓縮數(shù)據(jù)的逆變換處理(例如,逆DCT(逆離散余弦變換)、逆KL變換等逆變換處理),從而將逆變換處理后的壓縮數(shù)據(jù)作為局部解碼預(yù)測差分信號輸出。
加法部9實施如下處理:將從逆量化·逆變換部8輸出的局部解碼預(yù)測差分信號和表示由幀內(nèi)預(yù)測部4或者運動補償預(yù)測部5生成的預(yù)測圖像的預(yù)測信號相加,從而生成表示局部解碼圖像的局部解碼圖像信號。
幀內(nèi)預(yù)測用存儲器10是作為由幀內(nèi)預(yù)測部4在下次的幀內(nèi)預(yù)測處理中使用的圖像,保存由加法部9生成的局部解碼圖像信號表示的局部解碼圖像的RAM等記錄介質(zhì)。
環(huán)路濾波器部11實施如下處理:補償由加法器9生成的局部解碼圖像信號中包含的編碼失真(encoding distortion),將編碼失真補償后的局部解碼圖像信號表示的局部解碼圖像作為參照圖像輸出到運動補償預(yù)測幀存儲器12。
運動補償預(yù)測幀存儲器12是作為由運動補償預(yù)測部5在下次的運動補償預(yù)測處理中使用的參照圖像,保存利用環(huán)路濾波器部11的濾波處理后的局部解碼圖像的RAM等記錄介質(zhì)。
可變長編碼部13實施如下處理:對從變換·量化部7輸出的壓縮數(shù)據(jù)、從編碼控制部1輸出的編碼模式以及預(yù)測差分編碼參數(shù)、從幀內(nèi)預(yù)測部4輸出的幀內(nèi)預(yù)測參數(shù)或者從運動補償預(yù)測部5輸出的幀間預(yù)測參數(shù)進行可變長編碼,生成該壓縮數(shù)據(jù)、編碼模式、預(yù)測差分編碼參數(shù)、幀內(nèi)預(yù)測參數(shù)/幀間預(yù)測參數(shù)的編碼數(shù)據(jù)被多路復(fù)用的比特流。另外,可變長編碼部13構(gòu)成了可變長編碼單元。
圖2是示出本發(fā)明的實施方式1的運動圖像編碼裝置的運動補償預(yù)測部5的結(jié)構(gòu)圖。
在圖2中,切換開關(guān)21實施如下處理:在由編碼控制部1選擇的編碼模式是直接模式以外的幀間模式的情況下,將由塊分割部2分割的編碼塊輸出到運動矢量搜索部22,另一方面,在該編碼模式是直接模式的幀間模式的情況下,將由塊分割部2分割的編碼塊輸出到直接矢量生成部23。
另外,在直接矢量生成部23中,在生成直接矢量時,不使用由塊分割部2分割的編碼塊,所以也可以不將該編碼塊輸出到直接矢量生成部23。
運動矢量搜索部22實施如下處理:一邊參照從切換開關(guān)21輸出的編碼塊和運動補償預(yù)測幀存儲器12中保存的參照圖像,一邊以幀間模式搜索最佳的運動矢量,將該運動矢量輸出到運動補償處理部24。
直接矢量生成部23實施如下處理:根據(jù)位于該編碼塊的周圍的已編碼塊的運動矢量生成空間直接模式的空間直接矢量,并且根據(jù)該編碼塊可參照的已編碼圖片的運動矢量生成時間直接模式的時間直接矢量,從該空間直接矢量或者時間直接矢量中,選擇參照圖像間的相關(guān)高的一方的直接矢量。
運動補償處理部24實施如下處理:使用由運動矢量搜索部22搜索的運動矢量或者由直接矢量生成部23選擇的直接矢量和運動補償預(yù)測幀存儲器12中保存的1幀以上的參照圖像,根據(jù)從編碼控制部1輸出的幀間預(yù)測參數(shù),實施運動補償預(yù)測處理,從而生成預(yù)測圖像。
另外,運動補償處理部24將在實施運動補償預(yù)測處理時使用的幀間預(yù)測參數(shù)輸出到可變長編碼部13。在由編碼控制部1選擇的編碼模式是直接模式以外的幀間模式的情況下,將由運動矢量搜索部22搜索的運動矢量包含于該幀間預(yù)測參數(shù)而輸出到可變長編碼部13。
圖3是示出構(gòu)成了運動補償預(yù)測部5的直接矢量生成部23的結(jié)構(gòu)圖。
在圖3中,空間直接矢量生成部31實施如下處理:從已編碼的塊的運動矢量(已編碼的塊的運動矢量保存于未圖示的運動矢量存儲器、或者運動補償預(yù)測部5的內(nèi)部存儲器)中,讀出位于編碼塊的周圍的已編碼的塊的運動矢量,根據(jù)該運動矢量生成空間直接模式的空間直接矢量。
時間直接矢量生成部32實施如下處理:從已編碼的塊的運動矢量中,讀出作為編碼塊可參照的已編碼圖片的運動矢量的、與編碼塊在空間上處于相同的位置的塊的運動矢量,根據(jù)該運動矢量生成時間直接模式的時間直接矢量。
直接矢量判定部33實施如下處理:使用由空間直接矢量生成部31生成的空間直接矢量,計算空間直接模式的評價值,并且使用由時間直接矢量生成部32生成的時間直接矢量,計算時間直接模式的評價值,比較該空間直接模式的評價值和時間直接模式的評價值,選擇該空間直接矢量或者時間直接矢量中的某一方。
圖4是示出構(gòu)成了直接矢量生成部23的直接矢量判定部33的結(jié)構(gòu)圖。
在圖4中,運動補償部41實施如下處理:使用由空間直接矢量生成部31生成的空間直接矢量,生成空間直接模式的列表0預(yù)測圖像(例如,空間直接模式的前方預(yù)測圖像)和空間直接模式的列表1預(yù)測圖像(例如,空間直接模式的后方預(yù)測圖像),并且使用由時間直接矢量生成部32生成的時間直接矢量,生成時間直接模式的列表0預(yù)測圖像(例如,時間直接模式的前方預(yù)測圖像)和時間直接模式的列表1預(yù)測圖像(例如,時間直接模式的后方預(yù)測圖像)。
類似度計算部42實施如下處理:作為空間直接模式的評價值,計算空間直接模式的列表0預(yù)測圖像(前方預(yù)測圖像)和列表1預(yù)測圖像(后方預(yù)測圖像)的類似度,并且作為時間直接模式的評價值,計算時間直接模式的列表0預(yù)測圖像(前方預(yù)測圖像)和列表1預(yù)測圖像(后方預(yù)測圖像)的類似度。
直接矢量選擇部43實施如下處理:比較由類似度計算部42計算的空間直接模式中的列表0預(yù)測圖像(前方預(yù)測圖像)和列表1預(yù)測圖像(后方預(yù)測圖像)的類似度、與時間直接模式中的列表0預(yù)測圖像(前方預(yù)測圖像)和列表1預(yù)測圖像(后方預(yù)測圖像)的類似度,選擇空間直接矢量或者時間直接矢量中的、列表0預(yù)測圖像(前方預(yù)測圖像)和列表1預(yù)測圖像(后方預(yù)測圖像)的類似度高的一方的直接模式的直接矢量。
圖5是示出本發(fā)明的實施方式1的運動圖像解碼裝置的結(jié)構(gòu)圖。
在圖5中,可變長解碼部51實施如下處理:從多路復(fù)用到比特流的編碼數(shù)據(jù)可變長解碼出與層次性地分割的各個編碼塊有關(guān)的壓縮數(shù)據(jù)、編碼模式、預(yù)測差分編碼參數(shù)、幀內(nèi)預(yù)測參數(shù)/幀間預(yù)測參數(shù),將該壓縮數(shù)據(jù)以及預(yù)測差分編碼參數(shù)輸出到逆量化·逆變換部55,并且將該編碼模式以及幀內(nèi)預(yù)測參數(shù)/幀間預(yù)測參數(shù)輸出到切換開關(guān)52。另外,可變長解碼部51構(gòu)成了可變長解碼單元。
切換開關(guān)52實施如下處理:在從可變長解碼部51輸出的與編碼塊有關(guān)的編碼模式是幀內(nèi)編碼模式的情況下,將從可變長解碼部51輸出的幀內(nèi)預(yù)測參數(shù)輸出到幀內(nèi)預(yù)測部53,在該編碼模式是幀間編碼模式的情況下,將從可變長解碼部51輸出的幀間預(yù)測參數(shù)輸出到運動補償預(yù)測部54。
幀內(nèi)預(yù)測部53實施如下處理:使用從切換開關(guān)52輸出的幀內(nèi)預(yù)測參數(shù),實施針對該編碼塊的幀內(nèi)預(yù)測處理來生成預(yù)測圖像。
另外,由切換開關(guān)52以及幀內(nèi)預(yù)測部53構(gòu)成了幀內(nèi)預(yù)測單元。
運動補償預(yù)測部54實施如下處理:在從可變長解碼部51輸出的與編碼塊有關(guān)的編碼模式是直接模式的幀間編碼模式的情況下,根據(jù)位于該編碼塊的周圍的已解碼塊的運動矢量生成空間直接模式的空間直接矢量,并且根據(jù)該編碼塊可參照的已解碼圖片的運動矢量生成時間直接模式的時間直接矢量,從該空間直接矢量或者時間直接矢量中,選擇參照圖像間的相關(guān)高的一方的直接矢量,使用該直接矢量,實施針對該編碼塊的運動補償預(yù)測處理來生成預(yù)測圖像。
另外,運動補償預(yù)測部54實施如下處理:在從可變長解碼部51輸出的與編碼塊有關(guān)的編碼模式是直接模式以外的幀間編碼模式的情況下,使用從可變長解碼部51輸出的幀間預(yù)測參數(shù)中包含的運動矢量,實施針對該編碼塊的運動補償預(yù)測處理來生成預(yù)測圖像。
另外,由切換開關(guān)52以及運動補償預(yù)測部54構(gòu)成了運動補償預(yù)測單元。
逆量化·逆變換部55實施如下處理:使用從可變長解碼部51輸出的預(yù)測差分編碼參數(shù)中包含的量化參數(shù),對從可變長解碼部51輸出的與編碼塊有關(guān)的壓縮數(shù)據(jù)進行逆量化,以該預(yù)測差分編碼參數(shù)中包含的變換塊尺寸為單位,實施逆量化的壓縮數(shù)據(jù)的逆變換處理(例如,逆DCT(逆離散余弦變換)、逆KL變換等逆變換處理),從而將逆變換處理后的壓縮數(shù)據(jù)作為解碼預(yù)測差分信號(表示壓縮前的差分圖像的信號)輸出。另外,逆量化·逆變換部55構(gòu)成了差分圖像生成單元。
加法部56實施如下處理:通過將從逆量化·逆變換部55輸出的解碼預(yù)測差分信號和表示由幀內(nèi)預(yù)測部53或者運動補償預(yù)測部54生成的預(yù)測圖像的預(yù)測信號相加,生成表示解碼圖像的解碼圖像信號。另外,加法部56構(gòu)成了解碼圖像生成單元。
幀內(nèi)預(yù)測用存儲器57是作為由幀內(nèi)預(yù)測部53在下次的幀內(nèi)預(yù)測處理中使用的圖像,保存由加法部56生成的解碼圖像信號表示的解碼圖像的RAM等記錄介質(zhì)。
環(huán)路濾波器部58實施如下處理:補償由加法器56生成的解碼圖像信號中包含的編碼失真,將編碼失真補償后的解碼圖像信號表示的解碼圖像作為參照圖像輸出到運動補償預(yù)測幀存儲器59。
運動補償預(yù)測幀存儲器59是作為由運動補償預(yù)測部54在下次的運動補償預(yù)測處理中使用的參照圖像,保存利用環(huán)路濾波器部58的濾波處理后的解碼圖像的RAM等記錄介質(zhì)。
圖6是示出本發(fā)明的實施方式1的運動圖像解碼裝置的運動補償預(yù)測部54的結(jié)構(gòu)圖。
在圖6中,切換開關(guān)61實施如下處理:在從可變長解碼部51輸出的與編碼塊有關(guān)的編碼模式是直接模式以外的幀間模式的情況下,將從可變長解碼部51輸出的幀間預(yù)測參數(shù)(包括運動矢量)輸出到運動補償處理部63,在該編碼模式是直接模式的幀間模式的情況下,將從可變長解碼部51輸出的幀間預(yù)測參數(shù)輸出到直接矢量生成部62。
直接矢量生成部62實施如下處理:根據(jù)位于該編碼塊的周圍的已解碼塊的運動矢量生成空間直接模式的空間直接矢量,并且根據(jù)該編碼塊可參照的已解碼圖片的運動矢量生成時間直接模式的時間直接矢量,從該空間直接矢量或者時間直接矢量中,選擇參照圖像間的相關(guān)高的一方的直接矢量。
另外,直接矢量生成部62實施將從切換開關(guān)61輸出的幀間預(yù)測參數(shù)輸出到運動補償處理部63的處理。
另外,直接矢量生成部62的內(nèi)部結(jié)構(gòu)與圖2的直接矢量生成部23相同。
運動補償處理部63實施如下處理:使用從切換開關(guān)61輸出的幀間預(yù)測參數(shù)中包含的運動矢量或者由直接矢量生成部62選擇的直接矢量和運動補償預(yù)測幀存儲器59中保存的1幀的參照圖像,根據(jù)從直接矢量生成部62輸出的幀間預(yù)測參數(shù),實施運動補償預(yù)測處理,從而生成預(yù)測圖像。
在圖1中,假設(shè)作為運動圖像編碼裝置的構(gòu)成要素的編碼控制部1、塊分割部2、切換開關(guān)3、幀內(nèi)預(yù)測部4、運動補償預(yù)測部5、減法部6、變換·量化部7、逆量化·逆變換部8、加法部9、環(huán)路濾波器部11以及可變長編碼部13分別由專用的硬件(例如,安裝了CPU的半導(dǎo)體集成電路、或者單片微型計算機(one chip microcomputer)等)構(gòu)成的例子,但在運動圖像編碼裝置由計算機構(gòu)成的情況下,也可以將記述了編碼控制部1、塊分割部2、切換開關(guān)3、幀內(nèi)預(yù)測部4、運動補償預(yù)測部5、減法部6、變換·量化部7、逆量化·逆變換部8、加法部9、環(huán)路濾波器部11以及可變長編碼部13的處理內(nèi)容的程序保存到該計算機的存儲器,由該計算機的CPU執(zhí)行該存儲器中保存的程序。
圖7是示出本發(fā)明的實施方式1的運動圖像編碼裝置的處理內(nèi)容的流程圖。
在圖5中,假設(shè)作為運動圖像解碼裝置的構(gòu)成要素的可變長解碼部51、切換開關(guān)52、幀內(nèi)預(yù)測部53、運動補償預(yù)測部54、逆量化·逆變換部55、加法部56以及環(huán)路濾波器部58分別由專用的硬件(例如,安裝了CPU的半導(dǎo)體集成電路、或者單片微型計算機等)構(gòu)成的例子,但在運動圖像解碼裝置由計算機構(gòu)成的情況下,也可以將記述了可變長解碼部51、切換開關(guān)52、幀內(nèi)預(yù)測部53、運動補償預(yù)測部54、逆量化·逆變換部55、加法部56以及環(huán)路濾波器部58的處理內(nèi)容的程序保存到該計算機的存儲器,由該計算機的CPU執(zhí)行該存儲器中保存的程序。
圖8是示出本發(fā)明的實施方式1的運動圖像解碼裝置的處理內(nèi)容的流程圖。
接下來,說明動作。
最初,說明圖1的運動圖像編碼裝置的處理內(nèi)容。
首先,編碼控制部1決定作為實施運動補償預(yù)測處理(幀之間預(yù)測處理)或者幀內(nèi)預(yù)測處理(幀之內(nèi)預(yù)測處理)時的處理單位的編碼塊的最大尺寸,并且決定最大尺寸的編碼塊被層次性地分割時的上限的層次數(shù)(圖7的步驟ST1)。
作為編碼塊的最大尺寸的決定方法,例如,考慮針對所有圖片,決定為與輸入圖像的分辨率對應(yīng)的尺寸的方法。
另外,考慮將輸入圖像的局部性的運動的復(fù)雜度的差異定量化為參數(shù),在運動劇烈的圖片中將最大尺寸決定為小的值,在運動少的圖片中將最大尺寸決定為大的值的方法等。
關(guān)于上限的層次數(shù),例如,考慮設(shè)定為輸入圖像的運動越劇烈,越增大層次數(shù),而能夠檢測更細(xì)致的運動,如果輸入圖像的運動少,則設(shè)定為抑制層次數(shù)的方法。
另外,編碼控制部1從可利用的1個以上的編碼模式(M種幀內(nèi)編碼模式、N種幀間編碼模式(包括直接模式的幀間編碼模式))中,選擇適合于層次性地分割的各個編碼塊的編碼模式(步驟ST2)。
由編碼控制部1進行的編碼模式的選擇方法是公知的技術(shù),所以省略詳細(xì)的說明,例如,有使用可利用的任意的編碼模式,實施針對編碼塊的編碼處理來驗證編碼效率,在可利用的多個編碼模式中,選擇編碼效率最佳的編碼模式的方法等。
塊分割部2如果輸入了表示輸入圖像的影像信號,則將該影像信號表示的輸入圖像分割為由編碼控制部1決定的最大尺寸的編碼塊,并且直到達(dá)到由編碼控制部1決定的上限的層次數(shù)為止,將該編碼塊層次性地分割。
此處,圖9是示出最大尺寸的編碼塊被層次性地分割為多個編碼塊的情況的說明圖。
在圖9的例子中,最大尺寸的編碼塊是第0層次的編碼塊B0,在亮度分量中具有(L0,M0)的尺寸。
另外,在圖9的例子中,以最大尺寸的編碼塊B0作為出發(fā)點,通過4叉樹構(gòu)造,直到另外確定的規(guī)定的深度為止,層次性地進行分割,從而得到編碼塊Bn。
在深度n下,編碼塊Bn是尺寸(Ln,Mn)的圖像區(qū)域。
其中,Ln和Mn既可以相同也可以不同,但在圖9的例子中示出了Ln=Mn的情形。
以后,將編碼塊Bn的尺寸定義為編碼塊Bn的亮度分量中的尺寸(Ln,Mn)。
塊分割部2進行4叉樹分割,所以(Ln+1,Mn+1)=(Ln/2,Mn/2)始終成立。
其中,在如RGB信號等那樣,所有顏色分量具有同一采樣數(shù)的彩色影像信號(4:4:4格式)中,所有顏色分量的尺寸成為(Ln,Mn),但在處理4:2:0格式的情況下,對應(yīng)的色差分量的編碼塊的尺寸是(Ln/2,Mn/2)。
以后,將在第n層次的編碼塊Bn中可選擇的編碼模式記載為m(Bn)。
在由多個顏色分量構(gòu)成的彩色影像信號的情況下,編碼模式m(Bn)可構(gòu)成為針對每個顏色分量,分別使用獨立的模式,但以后,只要沒有特別說明,則設(shè)為是指針對YUV信號、4:2:0格式的編碼塊的亮度分量的編碼模式而進行說明。
在編碼模式m(Bn)中,有1個或者多個幀內(nèi)編碼模式(總稱為“INTRA”)、1個或者多個幀間編碼模式(總稱為“INTER”),編碼控制部1如上所述,從在該圖片中可利用的所有編碼模式或者其子集合中,選擇針對編碼塊Bn編碼效率最佳的編碼模式。
編碼塊Bn如圖9所示,被進一步分割為1個或者多個預(yù)測處理單位(分區(qū))。
以后,將屬于編碼塊Bn的分區(qū)記載為Pin(i:第n層次中的分區(qū)編號)。
關(guān)于如何進行屬于編碼塊Bn的分區(qū)Pin的分割,作為信息而包含于編碼模式m(Bn)中。
分區(qū)Pin是全部依照編碼模式m(Bn)進行預(yù)測處理,但能夠針對每個分區(qū)Pin,選擇獨立的預(yù)測參數(shù)。
編碼控制部1針對最大尺寸的編碼塊,例如,生成圖10所示那樣的塊分割狀態(tài),確定編碼塊Bn。
圖10(a)的陰影部分表示分割后的分區(qū)的分布,并且,圖10(b)通過4叉樹圖形表示對層次分割后的分區(qū)分配了編碼模式m(Bn)的狀況。
在圖10(b)中,□所包圍的節(jié)點表示分配了編碼模式m(Bn)的節(jié)點(編碼塊Bn)。
當(dāng)編碼控制部1針對各個編碼塊Bn的分區(qū)Pin選擇了最佳的編碼模式m(Bn)時,如果該編碼模式m(Bn)是幀內(nèi)編碼模式(步驟ST3),則切換開關(guān)3將由塊分割部2分割的編碼塊Bn的分區(qū)Pin輸出到幀內(nèi)預(yù)測部4。
另一方面,如果該編碼模式m(Bn)是幀間編碼模式(步驟ST3),則將由塊分割部2分割的編碼塊Bn的分區(qū)Pin輸出到運動補償預(yù)測部5。
幀內(nèi)預(yù)測部4如果從切換開關(guān)3接收到編碼塊Bn的分區(qū)Pin,則使用與由編碼控制部1選擇的編碼模式m(Bn)對應(yīng)的幀內(nèi)預(yù)測參數(shù),實施針對該編碼塊Bn的分區(qū)Pin的幀內(nèi)預(yù)測處理,生成幀內(nèi)預(yù)測圖像Pin(步驟ST4)。
幀內(nèi)預(yù)測部4如果生成了幀內(nèi)預(yù)測圖像Pin,則將該幀內(nèi)預(yù)測圖像Pin輸出到減法部6以及加法部9,而為了在圖5的運動圖像解碼裝置中也能夠生成相同的幀內(nèi)預(yù)測圖像Pin,將該幀內(nèi)預(yù)測參數(shù)輸出到可變長編碼部13。該實施方式1中的幀內(nèi)預(yù)測處理不限于在AVC/H.264標(biāo)準(zhǔn)(ISO/IEC 14496-10)中決定的算法,但作為幀內(nèi)預(yù)測參數(shù),需要包括為了在運動圖像編碼裝置側(cè)和運動圖像解碼裝置側(cè)生成完全相同的幀內(nèi)預(yù)測圖像而所需的信息。
運動補償預(yù)測部5在從切換開關(guān)3接收到編碼塊Bn的分區(qū)Pin時,如果由編碼控制部1選擇的編碼模式m(Bn)是直接模式的幀間編碼模式,則根據(jù)位于編碼塊Bn的分區(qū)Pin的周圍的已編碼塊的運動矢量生成空間直接模式的空間直接矢量,并且根據(jù)編碼塊Bn可參照的已編碼圖片的運動矢量生成時間直接模式的時間直接矢量。
然后,運動補償預(yù)測部5從該空間直接矢量或者時間直接矢量中,選擇參照圖像間的相關(guān)高的一方的直接矢量,使用與該直接矢量以及編碼模式m(Bn)對應(yīng)的幀間預(yù)測參數(shù),實施針對編碼塊Bn的分區(qū)Pin的運動補償預(yù)測處理,生成幀間預(yù)測圖像Pin(步驟ST5)。
另一方面,如果由編碼控制部1選擇的編碼模式m(Bn)是直接模式以外的幀間編碼模式,則運動補償預(yù)測部5從編碼塊Bn的分區(qū)Pin和運動補償預(yù)測幀存儲器12中保存的參照圖像搜索運動矢量,使用與該運動矢量以及編碼模式m(Bn)對應(yīng)的幀間預(yù)測參數(shù),實施針對編碼塊Bn的分區(qū)Pin的運動補償預(yù)測處理,生成幀間預(yù)測圖像Pin(步驟ST5)。
運動補償預(yù)測部5如果生成了幀間預(yù)測圖像Pin,則將該幀間預(yù)測圖像Pin輸出到減法部6以及加法部9,而為了在圖5的運動圖像解碼裝置中也能夠生成相同的幀間預(yù)測圖像Pin,將該幀間預(yù)測參數(shù)輸出到可變長編碼部13。在幀間預(yù)測圖像的生成中使用的幀間預(yù)測參數(shù)中,包括
·記述編碼塊Bn內(nèi)的分區(qū)分割的模式信息
·各分區(qū)的運動矢量
·在運動補償預(yù)測幀存儲器12內(nèi)包括多個參照圖像的結(jié)構(gòu)的情況下,表示使用哪一個參照圖像來進行預(yù)測的參照圖像指示索引信息
·在有多個運動矢量預(yù)測值候補的情況下,表示選擇哪一個運動矢量預(yù)測值來使用的索引信息
·在有多個運動補償內(nèi)插濾波器的情況下表示選擇哪一個濾波器來使用的索引信息
·在該分區(qū)的運動矢量能夠表示多個像素精度(半像素、1/4像素、1/8像素等)的情況下,表示使用哪一個像素精度的選擇信息
等信息,為了在運動圖像解碼裝置側(cè)生成完全相同的幀間預(yù)測圖像,通過可變長編碼部13多路復(fù)用到比特流。
運動補償預(yù)測部5的處理內(nèi)容的概況如上所述,而詳細(xì)的處理內(nèi)容后述。
減法部6在幀內(nèi)預(yù)測部4或者運動補償預(yù)測部5生成了預(yù)測圖像(幀內(nèi)預(yù)測圖像Pin、幀間預(yù)測圖像Pin)時,從由塊分割部2分割的編碼塊Bn的分區(qū)Pin,減去由幀內(nèi)預(yù)測部4或者運動補償預(yù)測部5生成的預(yù)測圖像(幀內(nèi)預(yù)測圖像Pin、幀間預(yù)測圖像Pin),從而生成差分圖像,將表示該差分圖像的預(yù)測差分信號ein輸出到變換·量化部7(步驟ST6)。
變換·量化部7如果從減法部6接收到表示差分圖像的預(yù)測差分信號ein,則以從編碼控制部1輸出的預(yù)測差分編碼參數(shù)中包含的變換塊尺寸為單位,實施該差分圖像的變換處理(例如,DCT(離散余弦變換)、預(yù)先對特定的學(xué)習(xí)系列進行了基底設(shè)計的KL變換等正交變換處理),并且使用該預(yù)測差分編碼參數(shù)中包含的量化參數(shù),對該差分圖像的變換系數(shù)進行量化,從而將量化后的變換系數(shù)作為差分圖像的壓縮數(shù)據(jù)輸出到逆量化·逆變換部8以及可變長編碼部13(步驟ST7)。
逆量化·逆變換部8如果從變換·量化部7接收到差分圖像的壓縮數(shù)據(jù),則使用從編碼控制部1輸出的預(yù)測差分編碼參數(shù)中包含的量化參數(shù),對該差分圖像的壓縮數(shù)據(jù)進行逆量化,以該預(yù)測差分編碼參數(shù)中包含的變換塊尺寸為單位,實施逆量化的壓縮數(shù)據(jù)的逆變換處理(例如,逆DCT(逆離散余弦變換)、逆KL變換等逆變換處理),從而將逆變換處理后的壓縮數(shù)據(jù)作為局部解碼預(yù)測差分信號ein尖帽(由于電子申請的關(guān)系,將對字母文字附加的“^”記載為尖帽(hat))輸出到加法部9(步驟ST8)。
加法部9如果從逆量化·逆變換部8接收到局部解碼預(yù)測差分信號ein尖帽,則將該局部解碼預(yù)測差分信號ein尖帽、和表示由幀內(nèi)預(yù)測部4或者運動補償預(yù)測部5生成的預(yù)測圖像(幀內(nèi)預(yù)測圖像Pin、幀間預(yù)測圖像Pin)的預(yù)測信號相加,從而生成局部解碼分區(qū)圖像Pin尖帽或者作為其集合的局部解碼編碼塊圖像即局部解碼圖像(步驟ST9)。
加法部9如果生成了局部解碼圖像,則將表示該局部解碼圖像的局部解碼圖像信號保存到幀內(nèi)預(yù)測用存儲器10,并且將該局部解碼圖像信號輸出到環(huán)路濾波器部11。
直到針對層次性地分割了的所有編碼塊Bn的處理完成為止,反復(fù)實施步驟ST3~ST9的處理,如果針對所有編碼塊Bn的處理完成,則轉(zhuǎn)移到步驟ST12的處理(步驟ST10、ST11)。
可變長編碼部13對從變換·量化部7輸出的壓縮數(shù)據(jù)、從編碼控制部1輸出的編碼模式(包括表示編碼塊的分割狀態(tài)的信息)以及預(yù)測差分編碼參數(shù)、和從幀內(nèi)預(yù)測部4輸出的幀內(nèi)預(yù)測參數(shù)或者從運動補償預(yù)測部5輸出的幀間預(yù)測參數(shù)進行熵編碼。
可變長編碼部13對作為熵編碼的編碼結(jié)果的壓縮數(shù)據(jù)、編碼模式、預(yù)測差分編碼參數(shù)、幀內(nèi)預(yù)測參數(shù)/幀間預(yù)測參數(shù)的編碼數(shù)據(jù)進行多路復(fù)用而生成比特流(步驟ST12)。
環(huán)路濾波器部11如果從加法器9接收到局部解碼圖像信號,則補償該局部解碼圖像信號中包含的編碼失真,將編碼失真補償后的局部解碼圖像信號表示的局部解碼圖像作為參照圖像保存到運動補償預(yù)測幀存儲器12(步驟ST13)。
利用環(huán)路濾波器部11的濾波處理既可以以從加法器9輸出的局部解碼圖像信號的最大編碼塊或者各個編碼塊為單位進行,也可以在輸出了與1畫面量的宏塊相當(dāng)?shù)木植拷獯a圖像信號之后匯總1畫面量來進行。
接下來,詳細(xì)說明運動補償預(yù)測部5的處理內(nèi)容。
運動補償預(yù)測部5的切換開關(guān)21在由編碼控制部1選擇的編碼模式m(Bn)是直接模式以外的幀間模式的情況下,將由塊分割部2分割的編碼塊Bn的分區(qū)Pin輸出到運動矢量搜索部22。
另一方面,在編碼模式m(Bn)是直接模式的幀間模式的情況下,將由塊分割部2分割的編碼塊Bn的分區(qū)Pin輸出到直接矢量生成部23。
但是,在直接矢量生成部23中,在直接矢量的生成中不使用編碼塊Bn的分區(qū)Pin,所以即使該編碼模式m(Bn)是直接模式的幀間模式,也可以不將編碼塊Bn的分區(qū)Pin輸出到直接矢量生成部23。
運動補償預(yù)測部5的運動矢量搜索部22如果從切換開關(guān)21接收到編碼塊Bn的分區(qū)Pin,則一邊參照該分區(qū)Pin和運動補償預(yù)測幀存儲器12中保存的參照圖像,一邊以幀間模式搜索最佳的運動矢量,將該運動矢量輸出到運動補償處理部24。
以幀間模式搜索最佳的運動矢量的處理本身是公知的技術(shù),所以省略詳細(xì)的說明。
運動補償預(yù)測部5的直接矢量生成部23在編碼模式m(Bn)是直接模式的情況下,針對編碼塊Bn的每個分區(qū)Pin,生成空間直接模式的空間直接矢量和時間直接模式的時間直接矢量,將該空間直接矢量或者時間直接矢量中的某一方作為運動矢量輸出到運動補償處理部24。
另外,表示屬于編碼塊Bn的分區(qū)Pin的分割狀態(tài)的信息如上所述,包含于編碼模式m(Bn)中,所以直接矢量生成部23能夠通過參照編碼模式m(Bn),確定編碼塊Bn的分區(qū)Pin。
即,直接矢量生成部23的空間直接矢量生成部31從由未圖示的運動矢量存儲器或者內(nèi)部存儲器保存的已編碼塊的運動矢量中,讀出位于編碼塊Bn的分區(qū)Pin的周圍的已編碼塊的運動矢量,根據(jù)該運動矢量生成空間直接模式的空間直接矢量。
另外,直接矢量生成部23的時間直接矢量生成部32從已編碼塊的運動矢量中,讀出作為編碼塊Bn可參照的已編碼圖片的運動矢量的、與編碼塊Bn的分區(qū)Pin在空間上處于相同的位置的塊的運動矢量,根據(jù)該運動矢量生成時間直接模式的時間直接矢量。
此處,圖11是示出以時間直接模式生成運動矢量(時間直接矢量)的方法的示意圖。
例如,假設(shè)圖片B2中的塊MB1是編碼對象的分區(qū)Pin,以時間直接模式對塊MB1進行編碼的情況。
在該情況下,使用作為圖片P3的運動矢量的、與塊MB1在空間上處于相同的位置的塊MB2的運動矢量MV,其中,該圖片P3是圖片B2的在時間軸上處于后方的已編碼圖片中的、最接近圖片B2的圖片。
該運動矢量MV參照了圖片P0,在對塊MB1進行編碼時使用的運動矢量MVL0、MVL1通過以下的式(3)來求出。
時間直接矢量生成部32如果計算出運動矢量MVL0、MVL1,則將該運動矢量MVL0、MVL1作為時間直接模式的時間直接矢量輸出到直接矢量判定部33。
其中,時間直接矢量生成部32中的時間直接矢量的生成方法可以使用圖11所示那樣的H.264方式,但不限于此,也可以使用其他方法。
圖12是示出以空間直接模式生成運動矢量(空間直接矢量)的方法的示意圖。
在圖12中,當(dāng)前MB(currentMB)表示作為編碼對象的塊的分區(qū)Pin。
此時,如果將編碼對象的塊的左邊的已編碼塊A的運動矢量設(shè)為MVa、將編碼對象的塊的上面的已編碼塊B的運動矢量設(shè)為MVb、將編碼對象的塊的右上的已編碼塊C的運動矢量設(shè)為MVc,則通過如下述式(4)所示求出這些運動矢量MVa、MVb、MVc的中值(中央值),能夠計算編碼對象的塊的運動矢量MV。
MV=median(MVa、MVb、MVc) (4)
在空間直接模式中,針對列表0以及列表1分別求出運動矢量,但都能夠使用上述方法來求出。
空間直接矢量生成部31如果如上所述計算出列表0以及列表1的運動矢量MV,則將列表0以及列表1的運動矢量MV作為空間直接模式的空間直接矢量輸出到直接矢量判定部33。
其中,空間直接矢量生成部31中的空間直接矢量的生成方法可以使用圖12所示那樣的H.264方式,但不限于此,也可以使用其他方法。
例如,也可以如圖13所示,作為中值預(yù)測的候補,利用從A1-An、B1-Bn分別各選1個、從C、D、E選1個的這3個,生成空間直接矢量。
另外,在空間直接矢量的生成中使用的MV候補不同的ref_Idx的情況下,也可以如圖14所示,根據(jù)時間方向的距離進行縮放。
其中,scaled_MV表示縮放后的矢量、MV表示縮放前的運動矢量、d(x)表示直到x為止的時間上的距離。
另外,Xr表示編碼對象的塊表示的參照圖像、Yr表示作為縮放的對象的塊位置A-D表示的參照圖像。
如果空間直接矢量生成部31生成了空間直接矢量,則直接矢量生成部23的直接矢量判定部33使用該空間直接矢量,計算空間直接模式的評價值。
另外,如果時間直接矢量生成部32生成了時間直接矢量,則直接矢量判定部33使用該時間直接矢量,計算時間直接模式的評價值。
直接矢量判定部33比較該空間直接模式的評價值和時間直接模式的評價值,在該空間直接矢量或者時間直接矢量中,通過如以下記載那樣的判定單元,選擇直接模式的直接矢量并輸出到運動補償處理部24。
以下,具體說明直接矢量判定部33的處理內(nèi)容。
如果空間直接矢量生成部31生成了空間直接矢量MVL0、MVL1,則直接矢量判定部33的運動補償部41使用該空間直接矢量MVL0,生成空間直接模式的列表0預(yù)測圖像,使用該空間直接矢量MVL1,生成空間直接模式的列表1預(yù)測圖像。
此處,圖15是示出基于前方預(yù)測圖像和后方預(yù)測圖像的類似度的評價值的計算例的說明圖,在圖15的例子中,作為空間直接模式的列表0預(yù)測圖像,生成了前方預(yù)測圖像fspatial,作為空間直接模式的列表1預(yù)測圖像,生成了后方預(yù)測圖像gspatial。
另外,如果時間直接矢量生成部32生成了作為列表0以及列表1的運動矢量MV的時間直接矢量,則運動補償部41使用作為前方的運動矢量MV的時間直接矢量,生成時間直接模式的列表0預(yù)測圖像,使用作為后方的運動矢量MV的時間直接矢量,生成時間直接模式的時間直接模式的列表1預(yù)測圖像。
在圖15的例子中,作為時間直接模式的列表0預(yù)測圖像,生成了時間直接模式的前方預(yù)測圖像ftemporal,作為時間直接模式的列表1預(yù)測圖像,生成了后方預(yù)測圖像gtemporal。
此處,示出了使用表示前方向的參照圖像的參照圖像列表0、和表示后方向的參照圖像的參照圖像列表1,作為列表0預(yù)測圖像生成前方預(yù)測圖像,作為列表1預(yù)測圖像生成后方預(yù)測圖像的例子,但也可以使用表示后方向的參照圖像的參照圖像列表0、和表示前方向的參照圖像的參照圖像列表1,作為列表0預(yù)測圖像生成后方預(yù)測圖像,作為列表1預(yù)測圖像生成前方預(yù)測圖像。
另外,也可以使用表示前方向的參照圖像的參照圖像列表0、和表示更前方向的參照圖像的參照圖像列表1,作為列表0預(yù)測圖像以及列表1預(yù)測圖像,生成前方預(yù)測圖像(詳細(xì)后述)。
如果生成了空間直接模式的列表0預(yù)測圖像和列表1預(yù)測圖像,則直接矢量判定部33的類似度計算部42如下述式(6)那樣,計算空間直接模式的評價值SADspatial。
在式(6)中,為便于說明,將空間直接模式的列表0預(yù)測圖像設(shè)為前方預(yù)測圖像fspatial、將空間直接模式的列表1預(yù)測圖像設(shè)為后方預(yù)測圖像gspatial。
SADspatial=|fspatial-gspatial| (6)
另外,如果生成了時間直接模式的列表0預(yù)測圖像和列表1預(yù)測圖像,則類似度計算部42如下述式(7)那樣,計算時間直接模式的評價值SADtemporal。
在式(7)中,為便于說明,將時間直接模式的列表0預(yù)測圖像設(shè)為前方預(yù)測圖像ftemporal、將時間直接模式的列表1預(yù)測圖像設(shè)為后方預(yù)測圖像gtemporal。
SADtemporal=|ftemporal-gtemporal| (7)
另外,前方預(yù)測圖像和后方預(yù)測圖像間的差分越大,2個圖像間的類似度越低(表示2個圖像的差分絕對值和的評價值SAD變大),時間上的相關(guān)越低。相反地,前方預(yù)測圖像和后方預(yù)測圖像間的差分越小,2個圖像間的類似度越高(表示2個圖像的差分絕對值和的評價值SAD變小),時間上的相關(guān)越高。
另外,關(guān)于以直接矢量預(yù)測的圖像,應(yīng)該對與編碼對象的塊類似的圖像進行預(yù)測。在使用2個矢量來生成預(yù)測圖像的情況下,各個矢量預(yù)測的圖像應(yīng)該與編碼對象的塊類似,這表示2個參照圖像的相關(guān)高。
因此,通過選擇評價值SAD小的一方的直接矢量,能夠選擇參照圖像間的相關(guān)高的模式,能夠提高直接模式的精度。
如果類似度計算部42計算出空間直接模式的評價值SADspatial、和時間直接模式的評價值SADtemporal,則直接矢量判定部33的直接矢量選擇部43通過比較該評價值SADspatial和評價值SADtemporal,比較空間直接模式中的前方預(yù)測圖像fspatial和后方預(yù)測圖像gspatial的類似度、以及時間直接模式中的前方預(yù)測圖像ftemporal和后方預(yù)測圖像gtemporal的類似度。
直接矢量選擇部43在空間直接模式中的前方預(yù)測圖像fspatial和后方預(yù)測圖像gspatial的類似度高于時間直接模式中的前方預(yù)測圖像ftemporal和后方預(yù)測圖像gtemporal的類似度的情況(SADspatial≤SADtemporal)下,選擇由空間直接矢量生成部31生成的空間直接矢量,將該空間直接矢量作為運動矢量輸出到運動補償處理部24。
另一方面,在時間直接模式中的前方預(yù)測圖像ftemporal和后方預(yù)測圖像gtemporal的類似度高于空間直接模式中的前方預(yù)測圖像fspatial和后方預(yù)測圖像gspatial的類似度的情況(SADspatial>SADtemporal)下,選擇由時間直接矢量生成部32生成的時間直接矢量,將該時間直接矢量作為運動矢量輸出到運動補償處理部24。
運動補償處理部24在編碼模式m(Bn)并非直接模式時,如果從運動矢量搜索部22接收到運動矢量,則使用該運動矢量和運動補償預(yù)測幀存儲器12中保存的1幀的參照圖像,根據(jù)從編碼控制部1輸出的幀間預(yù)測參數(shù),實施運動補償預(yù)測處理,從而生成預(yù)測圖像。
另一方面,在編碼模式m(Bn)是直接模式時,如果從直接矢量生成部23接收到運動矢量(由直接矢量選擇部43選擇的直接矢量),則使用該運動矢量和運動補償預(yù)測幀存儲器12中保存的1幀的參照圖像,根據(jù)從編碼控制部1輸出的幀間預(yù)測參數(shù),實施運動補償預(yù)測處理,從而生成預(yù)測圖像。
另外,運動補償處理部24的運動補償預(yù)測處理是公知的技術(shù),所以省略詳細(xì)的說明。
此處,示出了類似度計算部42計算作為差分絕對值和的評價值SAD,直接矢量選擇部43比較評價值SAD的例子,但也可以是類似度計算部42計算前方預(yù)測圖像和后方預(yù)測圖像間的差分平方和SSE而作為評價值,直接矢量選擇部43比較差分平方和SSE。通過使用SSE,處理量增加,但能夠更準(zhǔn)確地計算類似度。
接下來,說明圖5的圖像解碼裝置的處理內(nèi)容。
可變長解碼部51如果輸入了從圖1的圖像編碼裝置輸出的比特流,則實施針對該比特流的可變長解碼處理,以由1幀以上的圖片構(gòu)成的序列為單位或者以圖片為單位對幀尺寸進行解碼(圖8的步驟ST21)。
可變長解碼部51通過與圖1的編碼控制部1同樣的步驟,決定作為實施運動補償預(yù)測處理(幀之間預(yù)測處理)或者幀內(nèi)預(yù)測處理(幀之內(nèi)預(yù)測處理)時的處理單位的編碼塊的最大尺寸,并且決定最大尺寸的編碼塊被層次性地分割時的上限的層次數(shù)(步驟ST22)。
例如,在圖像編碼裝置中,根據(jù)輸入圖像的分辨率決定了編碼塊的最大尺寸的情況下,根據(jù)之前解碼的幀尺寸來決定編碼塊的最大尺寸。
另外,在表示編碼塊的最大尺寸以及上限的層次數(shù)的信息被多路復(fù)用于比特流的情況下,參照從該比特流解碼出的信息。
在多路復(fù)用到比特流的最大尺寸的編碼塊B0的編碼模式m(B0)中,包括表示最大尺寸的編碼塊B0的分割狀態(tài)的信息,所以可變長解碼部51對多路復(fù)用到比特流的最大尺寸的編碼塊B0的編碼模式m(B0)進行解碼,而確定層次性地分割的各個編碼塊Bn(步驟ST23)。
可變長解碼部51如果確定了各個編碼塊Bn,則對該編碼塊Bn的編碼模式m(Bn)進行解碼,根據(jù)屬于該編碼模式m(Bn)的分區(qū)Pin的信息,確定屬于編碼塊Bn的分區(qū)Pin。
可變長解碼部51如果確定了屬于編碼塊Bn的分區(qū)Pin,則針對每個分區(qū)Pin,解碼出壓縮數(shù)據(jù)、編碼模式、預(yù)測差分編碼參數(shù)、幀內(nèi)預(yù)測參數(shù)/幀間預(yù)測參數(shù)(步驟ST24)。
切換開關(guān)52在屬于由可變長解碼部51確定的編碼塊Bn的分區(qū)Pin的編碼模式m(Bn)是幀內(nèi)編碼模式的情況下(步驟ST25),將從可變長解碼部51輸出的幀內(nèi)預(yù)測參數(shù)輸出到幀內(nèi)預(yù)測部53。
另一方面,在分區(qū)Pin的編碼模式m(Bn)是幀間編碼模式的情況下(步驟ST25),將從可變長解碼部51輸出的幀間預(yù)測參數(shù)輸出到運動補償預(yù)測部54。
幀內(nèi)預(yù)測部53如果從切換開關(guān)52接收到幀內(nèi)預(yù)測參數(shù),則使用該幀內(nèi)預(yù)測參數(shù),實施針對該編碼塊Bn的分區(qū)Pin的幀內(nèi)預(yù)測處理,生成幀內(nèi)預(yù)測圖像Pin(步驟ST26)。
運動補償預(yù)測部54在從切換開關(guān)52接收到幀間預(yù)測參數(shù)時,如果從可變長解碼部51輸出的編碼模式m(Bn)是直接模式的幀間編碼模式,則與圖1的運動補償預(yù)測部5同樣地,生成空間直接模式的空間直接矢量和時間直接模式的時間直接矢量。
運動補償預(yù)測部54如果生成了空間直接模式的空間直接矢量和時間直接模式的時間直接矢量,則與圖1的運動補償預(yù)測部5同樣地,從該空間直接矢量或者時間直接矢量中,選擇參照圖像間的相關(guān)高的一方的直接矢量,使用該直接矢量以及幀間預(yù)測參數(shù),實施針對編碼塊Bn的分區(qū)Pin的運動補償預(yù)測處理,生成幀間預(yù)測圖像Pin(步驟ST27)。
另一方面,如果從可變長解碼部51輸出的編碼模式m(Bn)是直接模式以外的幀間編碼模式,則運動補償預(yù)測部54的運動補償處理部63使用從切換開關(guān)52輸出的幀間預(yù)測參數(shù)中包含的運動矢量,實施針對編碼塊Bn的分區(qū)Pin的運動補償預(yù)測處理,生成幀間預(yù)測圖像Pin(步驟ST27)。
逆量化·逆變換部55使用從可變長解碼部51輸出的預(yù)測差分編碼參數(shù)中包含的量化參數(shù),對從可變長解碼部51輸出的與編碼塊有關(guān)的壓縮數(shù)據(jù)進行逆量化,以該預(yù)測差分編碼參數(shù)中包含的變換塊尺寸為單位,實施逆量化的壓縮數(shù)據(jù)的逆變換處理(例如,逆DCT(逆離散余弦變換)、逆KL變換等逆變換處理),從而將逆變換處理后的壓縮數(shù)據(jù)作為解碼預(yù)測差分信號(表示壓縮前的差分圖像的信號)輸出到加法部56(步驟ST28)。
加法部56如果從逆量化·逆變換部55接收到解碼預(yù)測差分信號,則將該解碼預(yù)測差分信號和表示由幀內(nèi)預(yù)測部53或者運動補償預(yù)測部54生成的預(yù)測圖像的預(yù)測信號相加,從而生成解碼圖像,將表示該解碼圖像的解碼圖像信號保存到幀內(nèi)預(yù)測用存儲器57,并且將該解碼圖像信號輸出到環(huán)路濾波器部58(步驟ST29)。
直到針對層次性地分割了的所有編碼塊Bn的處理完成為止,反復(fù)實施步驟ST23~ST29的處理(步驟ST30)。
環(huán)路濾波器部58如果從加法器56接收到解碼圖像信號,則補償該解碼圖像信號中包含的編碼失真,將編碼失真補償后的解碼圖像信號表示的解碼圖像作為參照圖像保存到運動補償預(yù)測幀存儲器59(步驟ST31)。
利用環(huán)路濾波器部58的濾波處理既可以以從加法器56輸出的解碼圖像信號的最大編碼塊或者各個編碼塊為單位進行,也可以在輸出了與1畫面量的宏塊相當(dāng)?shù)慕獯a圖像信號之后匯總1畫面量來進行。
如以上說明,根據(jù)該實施方式1,構(gòu)成為設(shè)置:編碼控制部1,決定作為實施預(yù)測處理時的處理單位的編碼塊的最大尺寸,并且決定最大尺寸的編碼塊被層次性地分割時的上限的層次數(shù),從可利用的1個以上的編碼模式中,選擇適合于層次性地分割的各個編碼塊的編碼模式;以及塊分割部2,將輸入圖像分割為由編碼控制部1決定的最大尺寸的編碼塊,并且直到達(dá)到由編碼控制部1決定的上限的層次數(shù)為止,將該編碼塊層次性地分割,在作為適合于由塊分割部2分割的編碼塊的編碼模式,由編碼控制部1選擇了直接模式的幀間編碼模式的情況下,運動補償預(yù)測部5根據(jù)位于該編碼塊的周圍的已編碼塊的運動矢量生成空間直接模式的空間直接矢量,并且根據(jù)該編碼塊可參照的已編碼圖片的運動矢量生成時間直接模式的時間直接矢量,從該空間直接矢量或者時間直接矢量中,選擇參照圖像間的相關(guān)高的一方的直接矢量,使用該直接矢量,實施針對該編碼塊的運動補償預(yù)測處理來生成預(yù)測圖像,所以起到能夠以規(guī)定的塊為單位選擇最佳的直接模式,削減代碼量的效果。
另外,根據(jù)該實施方式1,構(gòu)成為設(shè)置從多路復(fù)用到比特流的編碼數(shù)據(jù)可變長解碼出與層次性地分割的各個編碼塊有關(guān)的壓縮數(shù)據(jù)以及編碼模式的可變長解碼部51,在由可變長解碼部51可變長解碼了的與編碼塊有關(guān)的編碼模式是直接模式的幀間編碼模式的情況下,運動補償預(yù)測部54根據(jù)位于該編碼塊的周圍的已解碼塊的運動矢量生成空間直接模式的空間直接矢量,并且根據(jù)該編碼塊可參照的已解碼圖片的運動矢量生成時間直接模式的時間直接矢量,從該空間直接矢量或者時間直接矢量中,選擇參照圖像間的相關(guān)高的一方的直接矢量,使用該直接矢量,實施針對該編碼塊的運動補償預(yù)測處理來生成預(yù)測圖像,所以起到得到能夠以規(guī)定的塊為單位選擇最佳的直接模式那樣的能夠?qū)幋a數(shù)據(jù)進行解碼的運動圖像解碼裝置的效果。
實施方式2.
在上述實施方式1中,示出了運動補償預(yù)測部5、54(具體而言,類似度計算部42)計算空間直接模式的前方預(yù)測圖像fspatial和后方預(yù)測圖像gspatial的類似度而作為空間直接模式的評價值SADspatial,另一方面,計算時間直接模式的前方預(yù)測圖像ftemporal和后方預(yù)測圖像gtemporal的類似度而作為時間直接模式的評價值SADtemporal的例子,但也可以是作為空間直接模式的評價值,計算位于編碼塊Bn的周圍的已編碼塊(已解碼塊)的運動矢量的方差值σ(spatial),另一方面,作為時間直接模式的評價值,計算在編碼塊Bn可參照的已編碼圖片(已解碼圖片)中位于與編碼塊Bn在空間上處于相同的位置的塊的周圍的已編碼塊(已解碼塊)的運動矢量的方差值σ(temporal),能夠起到與上述實施方式1同樣的效果。
即,在類似度計算部42中,作為空間直接模式的評價值SADspatial,代替計算空間直接模式的前方預(yù)測圖像fspatial和后方預(yù)測圖像gspatial的類似度,而如圖16(a)所示,計算位于編碼塊Bn的周圍的已編碼塊(已解碼塊)的運動矢量的方差值σ(spatial)(參照下述式(8))。
另外,在類似度計算部42中,作為時間直接模式的評價值SADtemporal,代替計算時間直接模式的前方預(yù)測圖像ftemporal和后方預(yù)測圖像gtemporal的類似度,而如圖16(b)所示,在編碼塊Bn可參照的已編碼圖片(已解碼圖片)中,計算位于與編碼塊Bn在空間上處于相同的位置的塊的周圍的已編碼塊(已解碼塊)的運動矢量的方差值σ(temporal)(參照下述式(8))。
其中,MVm,i表示周圍的運動矢量,表示周圍的運動矢量的平均。
另外,m是表示spatial或者temporal的記號。
直接矢量選擇部43比較運動矢量的方差值σ(spatial)和運動矢量的方差值σ(temporal),在運動矢量的方差值σ(spatial)大于運動矢量的方差值σ(temporal)的情況下,判斷為空間直接模式的運動矢量(空間直接矢量)的可靠性低,選擇時間直接模式的運動矢量(時間直接矢量)。
另一方面,在運動矢量的方差值σ(temporal)大于運動矢量的方差值σ(spatial)的情況下,判斷為時間直接模式的運動矢量(時間直接矢量)的可靠性低,選擇空間直接模式的運動矢量(空間直接矢量)。
在上述實施方式1中,示出了生成時間直接矢量和空間直接矢量,選擇某一方的直接矢量的例子,但也可以除了該時間直接矢量、空間直接矢量以外,將其他矢量也作為候補矢量加上,從這些候補矢量中選擇直接矢量。
例如,也可以將圖17那樣的空間矢量MV_A、MV_B、MV_C、時間矢量MV_1~MV_8加到候補矢量,從這些空間矢量、時間矢量選擇直接矢量。
另外,也可以如圖18所示,根據(jù)多個已編碼矢量生成1個矢量,將該矢量加到候補矢量。
這樣,通過增加候補矢量而處理量增加,但直接矢量的準(zhǔn)確度提高,而能夠提高編碼效率。
在上述實施方式1中,雖然沒有特別提到,但也可以將直接矢量的候補以切片單位決定。
表示將哪個矢量作為候補的信息多路復(fù)用到切片頭。
例如考慮,關(guān)于時間矢量,在攝全景(pan)那樣的影像中,時間矢量的效果低,所以從選擇候補去掉,另一方面,在照相機被固定的影像中,空間矢量的效果大,所以加到候補等方法。
成為候補的矢量多時,能夠生成更接近原圖像的預(yù)測圖像,但編碼器的處理量增大,所以將沒有效果的矢量預(yù)先從候補去掉等,考慮影像的局部性來決定,從而能夠?qū)崿F(xiàn)處理量和編碼效率的平衡。
關(guān)于成為候補的矢量的切換,例如,考慮針對每個矢量設(shè)置ON/OFF(“通”/“斷”)的標(biāo)志,僅將該標(biāo)志是ON的矢量作為候補的方法。
關(guān)于成為選擇候補的運動矢量,既可以通過切片頭切換,也可以通過序列頭、圖片頭等上位層切換。另外,也可以準(zhǔn)備一個以上的成為選擇候補的群組,而對該候補群組的索引進行編碼。
另外,也可以針對每個宏塊、編碼塊切換。通過針對每個宏塊、編碼塊切換,能夠使得具有局部性,具有編碼效率改善的效果。
另外,也可以針對每個分區(qū)塊尺寸唯一地決定選擇候補。一般認(rèn)為,如果塊尺寸變小,則空間上的相關(guān)變?nèi)?,所以通過中值預(yù)測決定的矢量的預(yù)測精度惡化。因此,例如,通過將利用中值預(yù)測決定的運動矢量從候補去掉,不會降低編碼效率而能夠減少處理量。
在上述實施方式1中,假設(shè)存在時間直接矢量和空間直接矢量這雙方的情況而進行了說明,但在對編碼塊Bn實施了幀內(nèi)編碼處理的情況等下,還有時不存在運動矢量。在該情況下,考慮設(shè)為零矢量的方法、從候補去掉等方法。
在設(shè)為零矢量的情況下,候補增加,所以能夠提高編碼效率,但處理量增加。在從直接矢量的候補去掉的情況下,能夠減少處理量。
在上述實施方式1中,示出了生成直接矢量的例子,但也可以將該直接矢量用作通常的運動矢量的編碼中使用的預(yù)測矢量。
通過將直接矢量用作預(yù)測矢量,處理量增加,但預(yù)測的精度提高,所以能夠提高編碼效率。
在上述實施方式1中,示出了組合與編碼塊Bn相比在時間上處于前面的圖像、和處于后面的圖像來計算評價值SAD的例子(參照圖15),但也可以如圖19所示,僅組合在時間上處于前面的圖像,來計算評價值SAD。另外,也可以僅組合在時間上處于后面的圖像,來計算評價值SAD。
在該情況下,時間矢量如下述式(9)(10)所示。
其中,是列表0的矢量,是列表1的矢量。
另外,d表示時間上的距離,d0表示列表0的參照圖像的時間上的距離,d1表示列表0的參照圖像的時間上的距離。
而且,vcol和dcol表示在參照圖像中在空間上處于相同的位置的塊的矢量、和該矢量表示的參照圖像的在時間上的距離。
即使在2個參照圖像列表表示相同的參照圖像的情況下,只要在列表中有2張以上的參照圖像,就能夠通過與圖19同樣的方法應(yīng)用。
在上述實施方式1中,假設(shè)了在2個參照圖像列表中有2張以上的參照圖像的情況,但還考慮實際上參照圖像僅有1張的情況。
在該情況下,考慮如果在2個參照圖像列表中設(shè)置了相同的參照圖像,則不使用時間矢量,而僅通過空間矢量來判斷。在設(shè)置了不同的參照圖像的情況下,能夠通過上述方式來對應(yīng)。
在上述實施方式1中,假設(shè)了從2個方向的預(yù)測處理,但也可以是僅1個方向的預(yù)測處理。在根據(jù)1個方向的矢量預(yù)測的情況下,對表示使用哪一個矢量的信息進行編碼而傳送。由此,能夠應(yīng)對遮擋(occlusion)等問題,有助于預(yù)測精度的提高。
在上述實施方式1的直接模式中,假設(shè)了使用了2個矢量的預(yù)測,但矢量的個數(shù)也可以是3個以上。
在該情況下,例如,考慮使用多個矢量候補中的、成為閾值Th以下的評價值SAD的所有候補來生成預(yù)測圖像的方法。另外,將參照圖像列表也保持與該矢量相應(yīng)的量。
另外,也可以并非使用閾值Th以下的所有候補,而在切片頭等中,預(yù)先決定所使用的最大矢量數(shù),從評價值小的候補起使用與最大矢量數(shù)相應(yīng)的量來生成預(yù)測圖像。
一般,已知預(yù)測圖像中使用的參照圖像越多,性能越提高。因此,雖然處理量增加,但有助于編碼效率的提高。
在上述實施方式1中,通過參照圖像間的評價決定了矢量,但其也可以通過在空間上鄰接的已編碼的圖像和參照圖像的比較來評價。
在該情況下,考慮使用圖20所示那樣的L字型的圖像來進行。
另外,在使用空間上鄰接的圖像的情況下,在流水線處理的情形下已編碼的圖像還有可能來不及。在該情況下,考慮代替地使用預(yù)測圖像。
在上述實施方式1中,示出了如圖9所示,編碼塊Bn的尺寸是Ln=Mn的例子,但編碼塊Bn的尺寸也可以是Ln≠Mn。
例如,考慮如圖21所示,編碼塊Bn的尺寸成為Ln=kMn的情況。
在接下來的分割中,成為(Ln+1,Mn+1)=(Ln,Mn),以后的分割既可以進行與圖9同樣的分割,也可以如(Ln+1,Mn+1)=(Ln/2,Mn/2)那樣進行分割(參照圖22)。
另外,也可以如圖23所示,能夠選擇圖21和圖22的分割中的某一個。在能夠選擇的情況下,對表示選擇了哪一個分割的標(biāo)志進行編碼。在該情形下,僅通過例如非專利文獻(xiàn)1的H.264那樣的將以16×16作為1個塊的部分橫向連結(jié)就能夠?qū)崿F(xiàn),所以能夠維持與既存方式的互換性。
在上述中,示出了編碼塊Bn的尺寸成為Ln=kMn的情況,但即使如kLn=Mn那樣縱向連結(jié),當(dāng)然也能夠通過同樣的考慮來分割。
在上述實施方式1中,示出了變換·量化部7、逆量化·逆變換部8、55以預(yù)測差分編碼參數(shù)中包含的變換塊尺寸為單位實施變換處理(逆變換處理)的例子,但變換塊尺寸單位也可以通過變換處理單位唯一地決定,也可以如圖24所示設(shè)為層次構(gòu)造。在該情況下,對表示在各層次中是否進行分割的標(biāo)志進行編碼。
上述分割既可以以分區(qū)為單位進行,也可以以編碼塊為單位進行。
上述變換假定了正方形下的變換,但也可以是長方形等其他矩形下的變換。
實施方式3.
在上述實施方式1中,示出了運動補償預(yù)測部5、54的直接矢量生成部23、62生成空間直接矢量和時間直接矢量的例子,但也可以在生成該空間直接矢量和時間直接矢量時,通過決定初始搜索點,并搜索該初始搜索點的周圍,來決定直接矢量。
圖25是示出本發(fā)明的實施方式3的運動圖像編碼裝置的運動補償預(yù)測部5的結(jié)構(gòu)圖,在圖中,與圖2相同的符號表示同一或者相當(dāng)部分,所以省略說明。
直接矢量生成部25實施生成空間直接矢量和時間直接矢量的處理。
圖26是示出構(gòu)成了運動補償預(yù)測部5的直接矢量生成部25的結(jié)構(gòu)圖。
在圖26中,初始矢量生成部34實施根據(jù)已編碼的塊的運動矢量生成初始矢量的處理。
運動矢量搜索部35實施:通過搜索由初始矢量生成部34生成的初始矢量表示的初始搜索點的周圍,決定直接矢量的處理。
圖27是示出構(gòu)成了直接矢量生成部25的初始矢量生成部34的結(jié)構(gòu)圖。
在圖27中,空間矢量生成部71實施:通過與例如圖3的空間直接矢量生成部31同樣的方法,根據(jù)已編碼的塊的運動矢量生成空間矢量的處理。
時間矢量生成部72實施:通過與例如圖3的時間直接矢量生成部32同樣的方法,根據(jù)已編碼的塊的運動矢量生成時間矢量的處理。
初始矢量判定部73實施:將由空間矢量生成部71生成的空間矢量或者由時間矢量生成部72生成的時間矢量中的某一方選擇為初始矢量的處理。
圖28是示出構(gòu)成了初始矢量生成部34的初始矢量判定部73的結(jié)構(gòu)圖。
在圖28中,運動補償部81實施:通過與圖4的運動補償部41同樣的方法,生成空間直接模式的列表0預(yù)測圖像、空間直接模式的列表1預(yù)測圖像、時間直接模式的列表0預(yù)測圖像以及時間直接模式的列表1預(yù)測圖像的處理。
類似度計算部82實施如下處理:通過與圖4的類似度計算部42同樣的方法,作為空間評價值,計算空間直接模式的列表0預(yù)測圖像和列表1預(yù)測圖像的類似度,并且作為時間評價值,計算時間直接模式的列表0預(yù)測圖像和列表1預(yù)測圖像的類似度。
初始矢量決定部83實施如下處理:比較由類似度計算部82計算的空間評價值和時間評價值,依照其比較結(jié)果,選擇空間矢量或者時間矢量。
圖29是示出本發(fā)明的實施方式3的運動圖像解碼裝置的運動補償預(yù)測部54的結(jié)構(gòu)圖,在圖中,與圖6相同的符號表示同一或者相當(dāng)部分,所以省略說明。
直接矢量生成部64實施生成空間直接矢量和時間直接矢量的處理。
另外,直接矢量生成部64的內(nèi)部結(jié)構(gòu)與圖25的直接矢量生成部25相同。
接下來,說明動作。
相比于上述實施方式1,除了運動補償預(yù)測部5、54的直接矢量生成部23、62被代替為直接矢量生成部25、64這一點以外相同,所以僅說明直接矢量生成部25、64的處理內(nèi)容。
其中,直接矢量生成部25、64的處理內(nèi)容相同,所以說明直接矢量生成部25的處理內(nèi)容。
直接矢量生成部25的初始矢量生成部34根據(jù)已編碼的塊的運動矢量生成初始矢量MV_first。
即,初始矢量生成部34的空間矢量生成部71通過與例如圖3的空間直接矢量生成部31同樣的方法,根據(jù)已編碼的塊的運動矢量生成空間矢量。但是,也可以通過其他方法生成空間矢量。
初始矢量生成部34的時間矢量生成部72通過與例如圖3的時間直接矢量生成部32同樣的方法,根據(jù)已編碼的塊的運動矢量生成時間矢量。但是,也可以通過其他方法生成時間矢量。
初始矢量生成部34的初始矢量判定部73在空間矢量生成部71生成了空間矢量,時間矢量生成部72生成了時間矢量時,從該空間矢量或者時間矢量中,將某一方的矢量選擇為初始矢量MV_first。
即,初始矢量判定部73的運動補償部81通過與圖4的運動補償部41同樣的方法,生成空間直接模式的列表0預(yù)測圖像、空間直接模式的列表1預(yù)測圖像、時間直接模式的列表0預(yù)測圖像以及時間直接模式的列表1預(yù)測圖像。
初始矢量判定部73的類似度計算部82通過與圖4的類似度計算部42同樣的方法,作為空間評價值,計算空間直接模式的列表0預(yù)測圖像和列表1預(yù)測圖像的類似度,并且作為時間評價值,計算時間直接模式的列表0預(yù)測圖像和列表1預(yù)測圖像的類似度。
初始矢量判定部73的初始矢量決定部83通過參照由類似度計算部82計算的空間評價值和時間評價值的比較結(jié)果,選擇空間矢量或者時間矢量中的、預(yù)測圖像間的類似度高的一方的矢量。
直接矢量生成部25的運動矢量搜索部35在初始矢量生成部34生成了初始矢量MV_first時,如圖30所示,以該初始矢量MV_first表示的初始搜索點(塊)為中心,搜索其周圍±n的范圍,從而決定直接矢量。
搜索時的評價也可以進行與例如圖28的類似度計算部82等同的處理。在該情況下,如果將初始矢量表示的位置設(shè)為v,則如下述式(11)那樣,計算搜索的評價值SAD。
SAD=|f(v1-x)-g(v2+x)| (11)
其中,搜索范圍n既可以固定,也可以通過切片頭等上位頭決定。另外,將搜索點的分布范圍(搜索范圍)假定為正方形,但也可以是矩形,也可以是菱形等。
運動矢量搜索部35在計算了搜索的評價值SAD時,在搜索范圍內(nèi),將評價值SAD最小的運動矢量作為直接矢量輸出到運動補償處理部24。
在該實施方式3中,示出了生成時間矢量和空間矢量,將某一方的矢量選擇為初始矢量的例子,但也可以除了該時間矢量、空間矢量以外,將其他矢量也作為候補矢量加上,從這些候補矢量中選擇初始矢量。
例如,也可以將圖17那樣的空間矢量MV_A、MV_B、MV_C、時間矢量MV_1~MV_8加到候補矢量,從這些空間矢量、時間矢量選擇初始矢量。
另外,也可以如圖18所示,根據(jù)多個已編碼矢量生成1個矢量,將該矢量加到候補矢量。
這樣,通過增加候補矢量而處理量增加,但初始矢量的準(zhǔn)確度提高,而能夠提高編碼效率。
在該實施方式3中,也可以以切片為單位決定直接矢量的候補。
表示將哪個矢量作為候補的信息多路復(fù)用到切片頭。
例如考慮,關(guān)于時間矢量,在攝全景那樣的影像中,時間矢量的效果低,所以從選擇候補去掉,另一方面,在照相機是固定的影像中,時間矢量的效果大,所以加到候補等方法。
成為候補的矢量多時,能夠生成更接近原圖像的預(yù)測圖像,但編碼器的處理量增大,所以將沒有效果的矢量預(yù)先從候補去掉等,考慮影像的局部性來決定,從而能夠?qū)崿F(xiàn)處理量和編碼效率的平衡。
關(guān)于成為候補的矢量的切換,例如,考慮針對每個矢量設(shè)置ON/OFF的標(biāo)志,僅將該標(biāo)志是ON的矢量作為候補的方法。
關(guān)于成為選擇候補的運動矢量,既可以通過切片頭切換,也可以通過序列頭、圖片頭等上位層切換。另外,也可以準(zhǔn)備一個以上的成為選擇候補的群組,而對該候補群組的索引進行編碼。
另外,也可以針對每個宏塊、編碼塊進行切換。通過針對每個宏塊、編碼塊進行切換,能夠使得具有局部性,具有編碼效率改善的效果。
另外,也可以針對每個分區(qū)塊尺寸唯一地決定選擇候補。一般認(rèn)為,如果塊尺寸變小,則空間上的相關(guān)變?nèi)?,所以通過中值預(yù)測決定的矢量的預(yù)測精度惡化。因此,例如,通過將利用中值預(yù)測決定的運動矢量從候補去掉,不會降低編碼效率而能夠減少處理量。
在該實施方式3中,假設(shè)存在時間矢量和空間矢量這雙方的情況而進行了說明,但在對編碼塊Bn實施幀內(nèi)編碼處理的情況等下,還有時不存在運動矢量。在該情況下,考慮設(shè)為零矢量的方法、從候補去掉等方法。
在設(shè)為零矢量的情況下,候補增加,所以能夠提高編碼效率,但處理量增加。在從直接矢量的候補去掉的情況下,能夠減少處理量。
在該實施方式3中,示出了生成直接矢量的例子,但也可以將該直接矢量用作通常的運動矢量的編碼中使用的預(yù)測矢量。
通過將直接矢量用作預(yù)測矢量,處理量增加,但預(yù)測的精度提高,所以能夠提高編碼效率。
在該實施方式3中,示出了組合與編碼塊Bn相比在時間上處于前面的圖像、和處于后面的圖像,來計算評價值SAD的例子(參照圖15),但也可以如圖19所示,僅組合在時間上處于前面的圖像,來計算評價值SAD。另外,也可以僅組合在時間上處于后面的圖像,來計算評價值SAD。
在該情況下,時間矢量如下述式(12)(13)所示。
其中,是列表0的矢量,是列表1的矢量。
另外,d表示時間上的距離,d0表示列表0的參照圖像的時間上距離,d1表示列表0的參照圖像的時間上的距離。
而且,vcol和dcol表示在參照圖像中在空間上處于相同的位置的塊的矢量、和該矢量表示的參照圖像的在時間上的距離。
即使在2個參照圖像列表表示相同的參照圖像的情況下,也能夠通過與圖19同樣的方法應(yīng)用。
在該實施方式3中,假設(shè)了在2個參照圖像列表中有2張以上的參照圖像的情況,但還考慮實際上參照圖像僅有1張的情況。
在該情況下,考慮如果在2個參照圖像列表中設(shè)置了相同的參照圖像,則不使用時間矢量,而僅通過空間矢量來判斷。在設(shè)置了不同的參照圖像的情況下,能夠通過上述方式來對應(yīng)。
在該實施方式3中,假設(shè)了從2個方向的預(yù)測處理,但也可以是僅1個方向的預(yù)測處理。在根據(jù)1個方向的矢量預(yù)測的情況下,對表示使用哪個矢量的信息進行編碼而傳送。由此,能夠應(yīng)對遮擋等問題,有助于預(yù)測精度的提高。
在該實施方式3中,假設(shè)了使用了2個矢量的預(yù)測,但矢量的個數(shù)也可以是3個以上。
在該情況下,例如,考慮使用多個矢量候補中的、成為閾值Th以下的評價值SAD的所有候補來生成預(yù)測圖像的方法。
另外,也可以并非使用閾值Th以下的所有候補,而在切片頭等中,預(yù)先決定所使用的最大矢量數(shù),從評價值小的候補起使用與最大矢量數(shù)相應(yīng)的量來生成預(yù)測圖像。
在該實施方式3中,通過參照圖像間的評價決定了矢量,但其也可以通過在空間上鄰接的已編碼的圖像和參照圖像的比較來評價。
在該情況下,考慮使用圖20所示那樣的L字型的圖像來進行。
另外,在使用空間上鄰接的圖像的情況下,在流水線處理的情形下已編碼的圖像還有可能來不及。在該情況下,考慮代替地使用預(yù)測圖像。
在該實施方式3中,在決定了初始矢量之后,進行了運動矢量的搜索,但也可以以切片為單位使用標(biāo)志來決定是否進行運動矢量的搜索。
在該情況下,雖然編碼效率降低,但具有能夠大幅削減處理量的效果。
其中,標(biāo)志既可以是切片單位,也可以通過序列、圖片等上位層決定。在標(biāo)志是OFF,不進行運動搜索的情況下,進行與上述實施方式1等同的動作。
在該實施方式3中,假設(shè)了直接矢量生成部25、64不依賴于塊尺寸而進行,但該處理也可以僅限于規(guī)定的尺寸以下的情況。
表示是否限制于規(guī)定的尺寸以下的標(biāo)志、表示設(shè)為哪個塊尺寸以下的信息也可以多路復(fù)用于切片等上位頭,也可以根據(jù)最大CU尺寸變化。
如果塊尺寸變小,則參照圖像間的相關(guān)變低,具有誤差變大的傾向。因此,不論選擇哪個矢量,都不太對性能造成影響的情形也多,通過使大的塊尺寸下的處理成為OFF,具有不會降低編碼性能而削減處理量的效果。
實施方式4.
在上述實施方式1中,示出了運動補償預(yù)測部5、54根據(jù)位于編碼塊的周圍的已編碼塊(已解碼塊)的運動矢量生成空間直接模式的空間直接矢量,并且根據(jù)該編碼塊可參照的已編碼圖片(已解碼圖片)的運動矢量生成時間直接模式的時間直接矢量,從該空間直接矢量或者時間直接矢量中,選擇參照圖像間的相關(guān)高的一方的直接矢量的例子,但也可以在運動圖像編碼裝置的運動補償預(yù)測部5中,從可選擇的1個以上的運動矢量中,選擇適合于預(yù)測圖像的生成的運動矢量,使用該運動矢量,實施針對編碼塊的運動補償預(yù)測處理來生成預(yù)測圖像,并且將表示該運動矢量的索引信息輸出到可變長編碼部13。
另一方面,也可以在運動圖像解碼裝置的運動補償預(yù)測部54中,使用多路復(fù)用到比特流的索引信息表示的運動矢量,實施針對編碼塊的運動補償預(yù)測處理來生成預(yù)測圖像。
圖31是示出本發(fā)明的實施方式4的運動圖像編碼裝置的運動補償預(yù)測部5的結(jié)構(gòu)圖,在圖中,與圖2相同的符號表示同一或者相當(dāng)部分,所以省略說明。
直接矢量生成部26實施如下處理:參照記述了可選擇的運動矢量、和表示該運動矢量的索引信息的直接矢量候補索引,從可選擇的1個以上的運動矢量中,選擇適合于預(yù)測圖像的生成的運動矢量,將該運動矢量作為直接矢量輸出到運動補償處理部24,并且將表示該運動矢量的索引信息輸出到可變長編碼部13。
另外,可變長編碼部13在對壓縮數(shù)據(jù)、編碼模式等進行可變長編碼時,將其索引信息包含于幀間預(yù)測參數(shù)而進行可變長編碼。
圖32是示出本發(fā)明的實施方式4的運動圖像解碼裝置的運動補償預(yù)測部54的結(jié)構(gòu)圖,在圖中,與圖6相同的符號表示同一或者相當(dāng)部分,所以省略說明。
直接矢量生成部65實施如下處理:輸入記述了可選擇的運動矢量、和表示該運動矢量的索引信息的直接矢量候補索引,從該直接矢量候補索引,讀出幀間預(yù)測參數(shù)中包含的索引信息表示的運動矢量,將該運動矢量作為直接矢量輸出到運動補償處理部63。
接下來,說明動作。
相比于上述實施方式1,除了運動補償預(yù)測部5、54的直接矢量生成部23、62被代替為直接矢量生成部26、65這一點以外是相同的,所以僅說明直接矢量生成部26、65的處理內(nèi)容。
運動補償預(yù)測部5的直接矢量生成部26在編碼模式m(Bn)是直接模式的情況下,針對編碼塊Bn的每個分區(qū)Pin,生成直接矢量。
即,直接矢量生成部26參照圖33所示那樣的直接矢量候補索引,從可選擇的1個以上的運動矢量中,選擇適合于預(yù)測圖像的生成的運動矢量。
在圖33的例子中,作為可選擇的運動矢量,列舉了5個運動矢量,但在空間預(yù)測中,“median”被最多地選出,所以對“median”分配了索引0。
直接矢量生成部26在選擇適合于預(yù)測圖像的生成的運動矢量時,如下述式(14)所示,根據(jù)從可選擇的運動矢量得到的預(yù)測圖像和原圖像的失真、以及可選擇的運動矢量的索引代碼量計算成本R,在多個運動矢量中,選擇成本R最小的運動矢量。
其中,D表示預(yù)測圖像與原圖像的殘差信號,i表示索引,λ表示拉格朗日乘子,()表示()內(nèi)所示的部分的代碼量。
直接矢量生成部26如果選擇了成本R最小的運動矢量,則將該運動矢量作為直接矢量輸出到運動補償處理部24,并且將表示該運動矢量的索引信息輸出到可變長編碼部13。
例如,如果作為成本R最小的運動矢量選擇“median”,則將索引0輸出到可變長編碼部13,如果選擇“MV_A”,則將索引1輸出到可變長編碼部13。
可變長編碼部13如果從直接矢量生成部26接收到索引信息,則在對壓縮數(shù)據(jù)、編碼模式等進行可變長編碼時,將其索引信息包含于幀間預(yù)測參數(shù)而進行可變長編碼。
運動補償預(yù)測部54的直接矢量生成部65在編碼模式m(Bn)是直接模式的情況下,針對編碼塊Bn的每個分區(qū)Pin,生成直接矢量。
即,直接矢量生成部65如果輸入了與圖31的直接矢量生成部26相同的直接矢量候補索引(例如,圖33的直接矢量候補索引),并從切換開關(guān)61接收到包括索引信息的幀間預(yù)測參數(shù),則從該直接矢量候補索引,讀出該索引信息表示的運動矢量,將該運動矢量作為直接矢量輸出到運動補償處理部63。
例如,如果索引信息是索引0,則作為直接矢量,輸出“median”,如果索引信息是索引1,則作為直接矢量,輸出“MV_A”。
如以上說明,根據(jù)該實施方式4,構(gòu)成為從可選擇的1個以上的運動矢量中,選擇適合于預(yù)測圖像的生成的運動矢量,使用該運動矢量,實施針對編碼塊的運動補償預(yù)測處理來生成預(yù)測圖像,并且將表示該運動矢量的索引信息輸出到可變長編碼部13,所以與上述實施方式1同樣地,起到能夠以規(guī)定的塊為單位選擇最佳的直接模式,削減代碼量的效果。
在該實施方式4中,假設(shè)存在處于可選擇的位置的運動矢量的情況而進行了說明,但在對編碼塊Bn實施幀內(nèi)編碼處理的情況等下,還有時不存在運動矢量。在該情況下,考慮設(shè)為零矢量的方法、從候補去掉等方法。
在設(shè)為零矢量的情況下,候補增加,所以能夠提高編碼效率,但處理量增加。在從直接矢量的候補去掉的情況下,能夠減少處理量。
在該實施方式4中,示出了生成直接矢量的例子,但也可以將該矢量用作通常的運動矢量的編碼中使用的預(yù)測矢量。
通過用作預(yù)測矢量,處理量增加,但預(yù)測的精度提高,所以能夠提高編碼效率。
在該實施方式4中,可選擇的運動矢量的候補被固定,但也可以按照切片單位決定可選擇的運動矢量的候補。
表示將哪個矢量作為候補的信息多路復(fù)用到切片頭。
例如考慮,關(guān)于時間矢量,在攝全景那樣的影像中,時間矢量的效果低,所以從選擇候補去掉,另一方面,在照相機被固定的影像中,時間矢量的效果大,所以加到候補等方法。
成為候補的矢量多時,能夠生成更接近原圖像的預(yù)測圖像,但編碼器的處理量增大,所以將沒有效果的矢量預(yù)先從候補去掉等,考慮影像的局部性來決定,從而能夠?qū)崿F(xiàn)處理量和編碼效率的平衡。
關(guān)于成為候補的矢量的切換,例如,考慮針對每個矢量設(shè)置ON/OFF的標(biāo)志,僅將該標(biāo)志是ON的矢量作為候補的方法。
關(guān)于成為選擇候補的運動矢量,既可以通過切片頭切換,也可以通過序列頭、圖片頭等上位層切換。另外,也可以準(zhǔn)備一個以上的成為選擇候補的群組,而對該候補群組的索引進行編碼。
另外,也可以針對每個宏塊、編碼塊切換。通過針對每個宏塊、編碼塊切換,能夠使得具有局部性,實現(xiàn)編碼效率的改善。
在該實施方式4中,固定了索引的順序,但也可以以切片為單位變更索引的順序。在通過切片選擇的矢量中有偏差的情況下,通過以對選擇次數(shù)多的矢量分配短的代碼的方式切換索引表,實現(xiàn)編碼效率的提高。
關(guān)于切換信息的編碼,既可以針對各個矢量,分別對順序進行編碼,也可以準(zhǔn)備多個索引群組,對表示使用哪個索引群組的信息進行編碼。
另外,還考慮僅決定默認(rèn)設(shè)定,準(zhǔn)備表示是否使用與默認(rèn)設(shè)定不同的設(shè)定的標(biāo)志,僅限于該標(biāo)志是ON的情況,更新索引群組來切換設(shè)定的方法。
此處,示出了以切片為單位切換索引的順序的例子,但當(dāng)然也可以通過序列、圖片等上位層決定索引的順序。
另外,也可以針對每個分區(qū)塊、編碼塊切換。通過針對每個宏塊、編碼塊切換,能夠使得具有局部性,實現(xiàn)編碼效率的改善。
另外,也可以針對每個分區(qū)塊尺寸唯一地決定選擇候補。一般認(rèn)為,如果塊尺寸變小,則空間上的相關(guān)變?nèi)酰酝ㄟ^中值預(yù)測決定的矢量的預(yù)測精度惡化。因此,通過變更利用中值預(yù)測決定的索引的順序,能夠提高編碼效率。
在該實施方式4中,示出了準(zhǔn)備了5個可選擇的運動矢量的直接矢量候補索引,但也可以將6個以上的運動矢量準(zhǔn)備為候補矢量,也可以將比5個少的運動矢量準(zhǔn)備為候補矢量。
例如,也可以將如圖17所示的時間矢量的附近的矢量、如圖18所示的進行周圍的矢量的加權(quán)相加而得到的矢量作為候補矢量加上。
在該實施方式4中,假設(shè)了從2個方向的預(yù)測處理,但也可以是僅1個方向的預(yù)測處理。在根據(jù)1個方向的矢量預(yù)測的情況下,對表示使用哪一個矢量的信息進行編碼而傳送。由此,能夠應(yīng)對遮擋等問題,有助于預(yù)測精度的提高。
在該實施方式4中,假設(shè)了使用2個矢量的兩個方向預(yù)測,但矢量的個數(shù)也可以是3個以上。在該情況下,例如,既可以對表示所選擇的所有矢量的索引信息進行編碼,也可以相反地對表示不選擇的矢量的索引信息進行編碼。
或者,考慮如圖34所示,僅對1個矢量的索引信息進行編碼,使用接近該矢量表示的參照圖像的圖像的方法。
在該實施方式4中,示出了在多個運動矢量中,選擇成本R最小的運動矢量的例子,但也可以如下述式(15)所示,計算評價值SADk,選擇該評價值SADk是閾值Th以下的運動矢量。
其中,findex表示對索引信息進行編碼的矢量表示的參照圖像、gk表示矢量MV_k表示的參照圖像。
此處,示出了使用評價值SADk的例子,但例如,當(dāng)然也可以通過SSE等其他方法來評價。
表示所使用的矢量的個數(shù)的信息也可以多路復(fù)用到切片單位等上位頭。如果矢量的個數(shù)增加,則編碼效率提高,但處理量增加,所以處于折衷的關(guān)系。
另外,也可以以編碼塊、分區(qū)等更細(xì)致的單位設(shè)定而不是切片單位。在該情況下,根據(jù)圖像的局部性,能夠?qū)崿F(xiàn)處理量和編碼效率的平衡。
在該實施方式4中,示出了從多個可選擇的運動矢量中,選擇適合于預(yù)測圖像的生成的運動矢量的例子,但也可以如上述實施方式3那樣,從多個可選擇的運動矢量中,選擇用作初始矢量的運動矢量之后,搜索該初始矢量的周圍,從而決定最終的運動矢量。該情況的直接矢量生成部26的結(jié)構(gòu)如圖35所示。
圖35的初始矢量生成部36相當(dāng)于圖26的初始矢量生成部34。
實施方式5.
該實施方式5的運動補償預(yù)測部5、54具有上述實施方式1(或者、實施方式2、3)的功能、和上述實施方式4的功能,能夠以切片為單位切換上述實施方式1(或者、實施方式2、3)的功能和上述實施方式4的功能,能夠使用某一個功能,來生成預(yù)測圖像。
圖36是示出本發(fā)明的實施方式5的運動圖像編碼裝置的運動補償預(yù)測部5的結(jié)構(gòu)圖,在圖中,與圖31相同的符號表示同一或者相當(dāng)部分,所以省略說明。
直接矢量生成部27實施如下處理:在直接模式切換標(biāo)志表示不發(fā)送索引信息的意思的情況下,通過與圖2的直接矢量生成部23(或者、圖25的直接矢量生成部25)同樣的方法,生成直接矢量,另一方面,在直接模式切換標(biāo)志表示發(fā)送索引信息的意思的情況下,通過與圖31的直接矢量生成部26同樣的方法,生成直接矢量,并且將表示該直接矢量的索引信息輸出到可變長編碼部13。
另外,直接矢量生成部27實施將直接模式切換標(biāo)志輸出到可變長編碼部13的處理。
圖37是示出構(gòu)成了運動補償預(yù)測部5的直接矢量生成部27的結(jié)構(gòu)圖。
在圖37中,切換開關(guān)91實施如下處理:在直接模式切換標(biāo)志表示不發(fā)送索引信息的意思的情況下,將編碼塊Bn的分區(qū)Pin輸出到與圖2的直接矢量生成部23(或者、圖25的直接矢量生成部25)相當(dāng)?shù)牟糠?,在表示發(fā)送索引信息的意思的情況下,將編碼塊Bn的分區(qū)Pin輸出到與圖31的直接矢量生成部26相當(dāng)?shù)牟糠帧?/p>
圖38是示出本發(fā)明的實施方式5的運動圖像解碼裝置的運動補償預(yù)測部54的結(jié)構(gòu)圖,在圖中,與圖32相同的符號表示同一或者相當(dāng)部分,所以省略說明。
直接矢量生成部66實施如下處理:在幀間預(yù)測參數(shù)中包含的直接模式切換標(biāo)志表示不發(fā)送索引信息的意思的情況下,通過與圖6的直接矢量生成部62(或者、圖29的直接矢量生成部64)同樣的方法,生成直接矢量,另一方面,在直接模式切換標(biāo)志表示發(fā)送索引信息的意思的情況下,通過與圖32的直接矢量生成部65同樣的方法,生成直接矢量。
接下來,說明動作。
運動補償預(yù)測部5的直接矢量生成部27具有圖2的直接矢量生成部23(或者、圖25的直接矢量生成部25)的功能、和圖31的直接矢量生成部26的功能,在從外部輸入的直接模式切換標(biāo)志表示不發(fā)送索引信息的意思的情況下,通過與圖2的直接矢量生成部23(或者、圖25的直接矢量生成部25)同樣的方法,生成直接矢量,將該直接矢量輸出到運動補償處理部24。
另外,直接矢量生成部27將該直接模式切換標(biāo)志輸出到可變長編碼部13。
直接矢量生成部27在該直接模式切換標(biāo)志表示發(fā)送索引信息的意思的情況下,通過與圖32的直接矢量生成部65同樣的方法,生成直接矢量,將該直接矢量輸出到運動補償處理部24。
另外,直接矢量生成部27將該直接模式切換標(biāo)志和索引信息輸出到可變長編碼部13。
可變長編碼部13如果從直接矢量生成部27接收到直接模式切換標(biāo)志,則在對壓縮數(shù)據(jù)、編碼模式等進行可變長編碼時,將該直接模式切換標(biāo)志包含于幀間預(yù)測參數(shù)而進行可變長編碼。
另外,可變長編碼部13如果從直接矢量生成部27接收到直接模式切換標(biāo)志和索引信息,則在對壓縮數(shù)據(jù)、編碼模式等進行可變長編碼時,將該直接模式切換標(biāo)志和索引信息包含于幀間預(yù)測參數(shù)而進行可變長編碼。
運動補償預(yù)測部54的直接矢量生成部66如果接收到由可變長解碼部51解碼的幀間預(yù)測參數(shù),則在該幀間預(yù)測參數(shù)中包含的直接模式切換標(biāo)志表示不發(fā)送索引信息的意思的情況下,通過與圖6的直接矢量生成部62(或者、圖29的直接矢量生成部64)同樣的方法,生成直接矢量。
另一方面,在直接模式切換標(biāo)志表示發(fā)送索引信息的意思的情況下,通過與圖32的直接矢量生成部65同樣的方法,生成直接矢量。
一般,發(fā)送索引信息的模式相比于不發(fā)送索引信息的模式,附加信息增加。因此,在低速率(rate)等全代碼量中附加信息的比例大的情況下,不發(fā)送索引信息的模式的性能更佳。
另一方面,在高速率的情況等全代碼量中附加信息的比例小的情況下,附加索引信息來使用最佳的直接矢量時可預(yù)見編碼效率的提高。
在該實施方式5中,示出了直接模式切換標(biāo)志包含于幀間預(yù)測參數(shù)的例子,但直接模式切換標(biāo)志既可以多路復(fù)用于切片頭,也可以多路復(fù)用于圖片、序列頭。
另外,還考慮通過分區(qū)尺寸決定切換。
一般,如果分區(qū)尺寸變大,則運動矢量等附加信息的比例相對變小。因此,考慮在某一定值以上的大小的情況下,選擇發(fā)送索引信息的模式,在比其小的情況下,選擇不發(fā)送索引信息的模式等結(jié)構(gòu)。
如上述那樣,在通過分區(qū)決定的情況下,也可以針對每個編碼塊尺寸,將表示使用哪個的標(biāo)志多路復(fù)用于切片頭等上位頭。
在該實施方式4中,示出了通過直接模式切換標(biāo)志,切換上述實施方式1的功能和上述實施方式4的功能的例子,但也可以切換上述實施方式2的功能和上述實施方式4的功能,也可以切換上述實施方式3的功能和上述實施方式4的功能。
另外,也可以切換上述實施方式1的功能和上述實施方式2的功能,也可以切換上述實施方式1的功能和上述實施方式3的功能,也可以切換上述實施方式2的功能和上述實施方式3的功能。
另外,也可以從上述實施方式1~4的功能中,選擇任意的功能。
在該實施方式5中,示出了通過直接模式切換標(biāo)志,切換上述實施方式1的功能和上述實施方式4的功能的例子,但其也可以不切換而作為on/off(“通”/“斷”)的標(biāo)志來使用。例如,考慮設(shè)為是否使用實施方式1的on/off標(biāo)志,在on的情況下,實施方式1和實施方式4都進行,選擇編碼效率更佳的一方的模式,對該信息進行編碼。由此,能夠根據(jù)圖像的局部性切換直接模式,起到有助于編碼效率的提高的效果。
在上述中,使實施方式1成為on/off,但其也可以使實施方式4成為on/off。另外,組合也可以是實施方式2和4、實施方式3和4的組合。
在該實施方式5中,示出了從多個可選擇的運動矢量中,選擇適合于預(yù)測圖像的生成的運動矢量的例子,但也可以如上述實施方式3那樣,從多個可選擇的運動矢量中,選擇用作初始矢量的運動矢量之后,搜索該初始矢量的周圍,從而決定最終的運動矢量。該情況的直接矢量生成部27的結(jié)構(gòu)如圖39所示。
圖39的初始矢量生成部37相當(dāng)于圖26的初始矢量生成部34。
另外,本申請發(fā)明能夠在該發(fā)明的范圍內(nèi),進行各實施方式的自由的組合、或者各實施方式的任意的構(gòu)成要素的變形、或者各實施方式中的任意的構(gòu)成要素的省略。
例如記載為,決定最大尺寸,并且決定最大尺寸的編碼塊被層次性地分割時的上限的層次數(shù),從可利用的1個以上的編碼模式中,選擇適合于層次性地分割的各個編碼塊的編碼模式,但也可以事先預(yù)先決定最大尺寸或者層次數(shù)、編碼模式中的某一個或者全部。
實施方式6.
在上述實施方式4中,示出了運動圖像編碼裝置中的運動補償預(yù)測部5的直接矢量生成部26參照圖33所示那樣的直接矢量候補索引,掌握可選擇的1個以上的運動矢量的例子,但也可以編碼控制部1根據(jù)編碼塊的塊尺寸,生成可選擇的1個以上的運動矢量列表,參照表示可選擇的1個以上的運動矢量的直接矢量候補列表和直接矢量候補索引,從而決定直接模式矢量。
具體而言,如下所述。
如上所述,關(guān)于可選擇的1個以上的運動矢量,例如,能夠針對分區(qū)的每個塊尺寸唯一地決定,但在如圖40所示,作為編碼塊的分區(qū)的塊尺寸大的情況下,與周圍的塊的相關(guān)高,相反地在分區(qū)的塊尺寸小的情況下,與周圍的塊的相關(guān)低。
因此,分區(qū)的塊尺寸越小,越能夠減少可選擇的運動矢量的候補數(shù)。
因此,如圖41所示,編碼控制部1預(yù)先針對作為編碼塊的分區(qū)的每個塊尺寸,對可選擇的1個以上的運動矢量進行列表化。
如從圖41可知,分區(qū)的塊尺寸越小,可選擇的運動矢量的候補數(shù)越減少,例如,在塊尺寸為“64”的分區(qū)中,可選擇的運動矢量的個數(shù)是“4”,但在塊尺寸為“8”的分區(qū)中,可選擇的運動矢量的個數(shù)是“2”。
圖42中的“median”、“MV_A”、“MV_B”、“MV_C”、“temporal”與圖33中的“median”、“MV_A”、“MV_B”、“MV_C”、“temporal”對應(yīng)。
編碼控制部1在決定可選擇的1個以上的運動矢量時,例如,參照圖41的列表,確定與作為編碼對象的分區(qū)的塊尺寸對應(yīng)的1個以上的運動矢量,將表示該1個以上的運動矢量的直接矢量候補列表輸出到運動補償預(yù)測部5。
例如,在分區(qū)的塊尺寸是“64”的情況下,作為可選擇的1個以上的運動矢量,決定“MV_A”、“MV_B”、“MV_C”、“temporal”。
另外,在分區(qū)的塊尺寸是“8”的情況下,作為可選擇的1個以上的運動矢量,決定“median”、“temporal”。
運動補償預(yù)測部5的直接矢量生成部26如果從編碼控制部1接收到直接矢量候補列表,則與上述實施方式4同樣地,從該直接矢量候補列表表示的1個以上的運動矢量中,選擇適合于預(yù)測圖像的生成的運動矢量,但在分區(qū)的塊尺寸小的情況下,可選擇的運動矢量的候補數(shù)少,所以例如,上述式(15)所示那樣的評價值SADk的計算數(shù)等減少,運動補償預(yù)測部5的處理負(fù)荷被減輕。
這樣,在運動圖像編碼裝置的編碼控制部1決定可選擇的1個以上的運動矢量的情況下,在運動圖像解碼裝置中,也需要具有與運動圖像編碼裝置完全相同的可選擇的1個以上的直接矢量候補列表。
運動圖像解碼裝置的可變長解碼部51在編碼模式m(Bn)是直接模式的情況下,針對編碼塊Bn的每個分區(qū)Pin,將該分區(qū)的塊尺寸輸出到運動補償預(yù)測部54,并且將從比特流可變長解碼了的索引信息(表示在運動圖像編碼裝置的運動補償預(yù)測部5中使用的運動矢量的信息)輸出到運動補償預(yù)測部54。
運動補償預(yù)測部54的直接矢量生成部65如果從可變長解碼部51接收到分區(qū)的塊尺寸,則如上述實施方式4那樣,輸入直接矢量索引,根據(jù)塊尺寸從預(yù)先決定的1個以上的運動矢量候補列表輸出直接模式中使用的運動矢量。
即,直接矢量生成部65預(yù)先針對分區(qū)的每個塊尺寸對可選擇的1個以上的運動矢量進行列表化(參照圖41),在決定可選擇的1個以上的運動矢量時,參照圖41的列表和直接矢量索引,輸出與進行本次解碼的分區(qū)的塊尺寸對應(yīng)的1個以上的運動矢量。
例如,在分區(qū)的塊尺寸是“8”時,如果索引信息是索引0,則作為直接矢量,輸出“median”,如果索引信息是索引1,則作為直接矢量,輸出“temporal”。
如以上說明,根據(jù)該實施方式6,構(gòu)成為根據(jù)作為編碼塊的分區(qū)的塊尺寸,決定可選擇的1個以上的運動矢量,所以在與周圍的塊的相關(guān)低的分區(qū)中,能夠?qū)⑦m合于預(yù)測圖像的生成的運動矢量以外的運動矢量從候補去除,所以起到能夠減輕處理量的效果。
另外,根據(jù)該實施方式6,構(gòu)成為在決定可選擇的1個以上的運動矢量時,分區(qū)的塊尺寸越小,可選擇的運動矢量的候補數(shù)越減少,所以能夠?qū)⑦m合于預(yù)測圖像的生成的運動矢量以外的運動矢量從候補去除,所以起到能夠減輕處理量的效果。
另外,在該實施方式6中,示出了作為編碼塊的分區(qū)的塊尺寸最大是“64”的例子,但最大的塊尺寸既可以是64以上,也可以小于64。
圖42示出最大的塊尺寸是“128”的列表的一個例子。
在圖42的例子中,由編碼控制部1以及運動補償預(yù)測部54保持的列表的最大的塊尺寸是“128”,但在實際的分區(qū)的塊尺寸的最大值例如是“32”的情況下,參照上述列表中的“32”以下的部分即可。
另外,在該實施方式6中,示出了根據(jù)作為編碼塊的分區(qū)的塊尺寸,決定可選擇的1個以上的運動矢量的例子,但也可以根據(jù)編碼塊的分割圖案,決定可選擇的1個以上的運動矢量,能夠得到同樣的效果。
圖43是針對編碼塊的每個分割圖案,示出可選擇的1個以上的運動矢量的列表的說明圖。
例如,在作為編碼塊的分區(qū)是2partH1的情況下,作為可選擇的1個以上的運動矢量,決定了“MV_A”、“MV_B”、“MV_C”、“temporal”,但在作為編碼塊的分區(qū)是2partH2的情況下,其運動與作為左邊的塊的2partH1不同的可能性高。
因此,從2partH2可選擇的1個以上的運動矢量中,刪除作為左邊的塊的運動矢量的“MV_A”,決定“MV_B”、“MV_C”、“temporal”。
另外,在該實施方式6中,使用了時間方向的矢量,但其為了削減使用的存儲器量,也可以壓縮存儲器中保存的數(shù)據(jù)尺寸。例如,在最小塊尺寸是4×4的情況下,通常以4×4單位保持時間方向的矢量,但考慮將其以更大的塊尺寸保持。
在如上所述將時間方向的矢量壓縮保持時,在以比所保持的單位小的塊尺寸進行處理的情況下,存在所參照的位置不表示正確的位置這樣的問題。因此,也可以進行不使用比所保持的單位小的塊的情況的時間方向矢量這樣的處理。通過將精度低的矢量從候補去掉,具有處理量的削減和索引代碼量的削減這樣的效果。
另外,在該實施方式6中,敘述了直接模式矢量,但其也可以針對通常的運動矢量編碼中使用的預(yù)測矢量的決定,使用同樣的方式。通過使用該方式,在處理量減輕和編碼效率改善這兩面中有效果。
另外,在該實施方式6中,針對直接矢量的生成或者預(yù)測矢量的決定中使用的多個矢量候補,直接矢量或者希望預(yù)測的矢量的ref_Idx和候補矢量的ref_Idx不同(參照目的地的圖片不同)的情況下,也可以構(gòu)成為如圖14所示,針對候補矢量根據(jù)時間方向的距離進行縮放處理。在ref_Idx相同的情況下,不進行與時間方向的距離對應(yīng)的縮放處理。
其中,scaled_MV表示縮放后的矢量、MV表示縮放前的運動矢量、d(x)表示直到x為止的時間上的距離。
另外,Xr表示編碼對象的塊表示的參照圖像、Yr表示成為縮放的對象的塊位置A-D表示的參照圖像。
另外,空間矢量候補也可以構(gòu)成為如圖49所示,從成為對象的塊搜索被幀間編碼了的塊,將該塊內(nèi)包含的所有矢量用作候補。如上所述,雖然可存在直接矢量或者希望預(yù)測的矢量應(yīng)指向的目的地的參照圖片、和這些候補矢量指向的參照圖片相同的情況和不同的情況,但也可以構(gòu)成為僅將指向同一參照圖片的候補矢量用作候補,也可以構(gòu)成為通過縮放處理以指向同一參照圖片的方式進行校正。在前者的情況下,具有不會增加處理量而將精度低的矢量從候補去掉的效果。在后者的情況下,與搜索的量相應(yīng)地處理量增加,但能夠增加選擇候補,所以具有代碼量削減效果。
另外,在進行式(16)那樣的縮放的情況下,也可以在發(fā)現(xiàn)了被幀間編碼了的塊的時刻,對作為與直接矢量或者希望預(yù)測的矢量的ref_Idx不同的ref_Idx的候補矢量進行縮放(在相同的ref_Idx的情況下不進行縮放),也可以在全部搜索之后,僅在沒有作為相同的ref_Idx的候補矢量的情況下,進行縮放。雖然處理量增加,但能夠?qū)⑻岣吡司鹊氖噶考拥胶蜓a,所以具有代碼量削減效果。
實施方式7.
在上述實施方式6中,示出了運動圖像編碼裝置的編碼控制部1以及運動圖像解碼裝置的運動補償預(yù)測部54預(yù)先保持表示可選擇的運動矢量的列表的例子,但也可以是運動圖像編碼裝置的可變長編碼部13對表示該列表的列表信息進行可變長編碼,將該列表信息的編碼數(shù)據(jù)例如多路復(fù)用于切片頭,而傳送到運動圖像解碼裝置側(cè)。
在該情況下,運動圖像解碼裝置的可變長解碼部51從多路復(fù)用于切片頭的編碼數(shù)據(jù),可變長解碼出列表信息,將該列表信息表示的列表輸出到運動補償預(yù)測部54的直接矢量生成部65。
這樣,雖然也可以將表示列表的列表信息以切片為單位(或者、也可以是序列、圖片等為單位)傳送到運動圖像解碼裝置側(cè),但也可以僅在由編碼控制部1保持的列表被變更的情況下,將表示變更后的列表的列表信息傳送到運動圖像解碼裝置側(cè)。
以下,具體說明處理內(nèi)容。
圖44是示出運動圖像編碼裝置中的列表信息的發(fā)送處理的流程圖,圖45是示出運動圖像解碼裝置中的列表信息的接收處理的流程圖。
運動圖像編碼裝置的編碼控制部1與上述實施方式6同樣地,根據(jù)作為編碼塊的分區(qū)的塊尺寸,決定可選擇的1個以上的運動矢量,而確認(rèn)在決定運動矢量時所參照的列表是否被變更,如果列表與上次相同(圖44的步驟ST41),則為了將列表與上次相同的意思通知到運動圖像解碼裝置側(cè),將變更標(biāo)志設(shè)定為“OFF”(步驟ST42)。
如果編碼控制部1將變更標(biāo)志設(shè)定為“OFF”,則可變長編碼部13對“OFF”的變更標(biāo)志進行編碼,將該編碼數(shù)據(jù)傳送到運動圖像解碼裝置側(cè)(步驟ST43)。
編碼控制部1在列表與上次不同的情況下(步驟ST41),為了將列表與上次不同的意思通知到運動圖像解碼裝置側(cè),將變更標(biāo)志設(shè)定為“ON”(步驟ST44)。
如果編碼控制部1將變更標(biāo)志設(shè)定為“ON”,則可變長編碼部13對“ON”的變更標(biāo)志和表示變更后的列表的列表信息進行編碼,將該編碼數(shù)據(jù)傳送到運動圖像解碼裝置側(cè)(步驟ST45)。
圖46示出由于將列表內(nèi)的“temporal”從可選擇變更為不可選擇,對“ON”的變更標(biāo)志和表示變更后的列表的列表信息進行編碼的例子。
運動圖像解碼裝置的可變長解碼部51從編碼數(shù)據(jù)解碼出變更標(biāo)志(圖45的步驟ST51),如果該變更標(biāo)志是“OFF”(步驟ST52),則將“OFF”的變更標(biāo)志輸出到運動補償預(yù)測部54。
運動補償預(yù)測部54如果從可變長解碼部51接收到“OFF”的變更標(biāo)志,則識別為列表與上次相同,將當(dāng)前保持的列表設(shè)定為參照對象(步驟ST53)。
因此,運動補償預(yù)測部54參照當(dāng)前保持的列表,決定與進行本次解碼的分區(qū)的塊尺寸對應(yīng)的1個以上的運動矢量。
如果變更標(biāo)志是“ON”(步驟ST52),則運動圖像解碼裝置的可變長解碼部51從編碼數(shù)據(jù)解碼出列表信息,將“ON”的變更標(biāo)志和列表信息輸出到運動補償預(yù)測部54(步驟ST54)。
運動補償預(yù)測部54如果從可變長解碼部51接收到“ON”的變更標(biāo)志和列表信息,則識別為列表與上次不同,依照該列表信息變更當(dāng)前保持的列表,將變更后的列表設(shè)定為參照對象(步驟ST55)。
因此,運動補償預(yù)測部54參照變更后的列表,決定與進行本次解碼的分區(qū)的塊尺寸對應(yīng)的1個以上的運動矢量。
圖47示出由于變更標(biāo)志是“ON”,所以變更了當(dāng)前保持的列表的例子。
如以上說明,根據(jù)該實施方式7,構(gòu)成為僅限于表示可選擇的1個以上的運動矢量的列表被變更了的情況下,對表示變更后的列表的列表信息進行編碼來生成編碼數(shù)據(jù),所以起到不會導(dǎo)致代碼量的大幅增加而能夠安裝接受列表的變更的功能的效果。
在該實施方式7中,示出了即使在列表表示的可選擇的運動矢量的一部分被變更了的情況下,也對表示變更后的列表的整體的列表信息進行編碼的例子,但也可以如圖48所示,針對每個塊尺寸準(zhǔn)備變更標(biāo)志,將可選擇的運動矢量被變更的塊尺寸的變更標(biāo)志設(shè)為“ON”,僅對與該塊尺寸有關(guān)的列表信息進行編碼。
在圖48的例子中,塊尺寸為“64”和“8”中的運動矢量未被變更,所以變更標(biāo)志是“OFF”,與該塊尺寸有關(guān)的列表信息不被編碼。
另一方面,塊尺寸是“32”和“16”中的運動矢量被變更,所以變更標(biāo)志是“ON”,與該塊尺寸有關(guān)的列表信息被編碼。
另外,也可以僅限于某一個塊尺寸的變更標(biāo)志是“ON”的情況,對塊尺寸單位的變更標(biāo)志進行編碼,而在所有塊尺寸的變更標(biāo)志都是“OFF”的情況下,僅對列表單位的變更標(biāo)志(“OFF”的變更標(biāo)志)進行編碼。
另外,也可以不使用列表單位的變更標(biāo)志,而僅對塊尺寸單位的變更標(biāo)志進行編碼。
此處,示出了針對每個塊尺寸,能夠變更可選擇的運動矢量的例子,但也可以針對編碼塊的每個分割圖案,能夠變更可選擇的運動矢量。
【產(chǎn)業(yè)上的可利用性】
本發(fā)明的運動圖像編碼裝置、運動圖像解碼裝置、運動圖像編碼方法以及運動圖像解碼方法能夠按照規(guī)定的塊單位選擇最佳的直接模式,來削減代碼量,所以適用于圖像壓縮編碼技術(shù)、壓縮圖像數(shù)據(jù)傳送技術(shù)等中使用的運動圖像編碼裝置、運動圖像解碼裝置、運動圖像編碼方法以及運動圖像解碼方法。