技術(shù)領(lǐng)域
本發(fā)明涉及高效地對(duì)圖像進(jìn)行編碼的圖像編碼裝置以及圖像編碼方法、對(duì)高效地編碼了的圖像進(jìn)行解碼的圖像解碼裝置以及圖像解碼方法、和圖像預(yù)測(cè)裝置。
背景技術(shù):
例如,在MPEG(Moving Picture Experts Group,運(yùn)動(dòng)圖像專家組)、“ITU-T H.26x”等國(guó)際標(biāo)準(zhǔn)影像編碼方式中,將輸入影像幀分割為矩形的塊(編碼塊),并對(duì)該編碼塊實(shí)施使用已編碼的圖像信號(hào)的預(yù)測(cè)處理從而生成預(yù)測(cè)圖像,將作為該編碼塊與預(yù)測(cè)圖像的差分的預(yù)測(cè)誤差信號(hào)按照塊單位進(jìn)行正交變換、量化處理,從而進(jìn)行信息壓縮。
例如,在作為國(guó)際標(biāo)準(zhǔn)方式的MPEG-4 AVC/H.264(ISO/IEC14496-10|ITU-T H.264)中,根據(jù)已編碼的附近像素進(jìn)行幀內(nèi)部(Intra)預(yù)測(cè)處理或者鄰近幀間的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)處理(例如,參照非專利文獻(xiàn)1)。
在MPEG-4AVC/H.264中,在亮度的幀內(nèi)部預(yù)測(cè)模式中,能夠按照塊單位,從多個(gè)預(yù)測(cè)模式中選擇1個(gè)預(yù)測(cè)模式。
圖14是示出亮度的塊尺寸是4×4像素的情況的幀內(nèi)部預(yù)測(cè)模式的說(shuō)明圖。
在圖14中,塊內(nèi)的白圈表示編碼對(duì)象的像素,黑圈表示作為預(yù)測(cè)中使用的像素的已編碼的像素。在亮度的塊尺寸是4×4像素的情況下,規(guī)定了模式0至模式8這9個(gè)幀內(nèi)部預(yù)測(cè)模式。
在圖14中,模式2是進(jìn)行平均值預(yù)測(cè)的模式,利用塊的上面和左面的鄰接像素的平均值,預(yù)測(cè)塊內(nèi)的像素。
模式2以外的模式是進(jìn)行方向性預(yù)測(cè)的模式。模式0是垂直方向預(yù)測(cè),通過(guò)在垂直方向上重復(fù)塊的上面的鄰接像素從而生成預(yù)測(cè)圖像。例如,在豎條紋花紋時(shí)選擇模式0。
模式1是水平方向預(yù)測(cè),通過(guò)在水平方向上重復(fù)塊的左面的鄰接像素從而生成預(yù)測(cè)圖像。例如,在橫條紋花紋時(shí)選擇模式1。
在模式3至模式8中,使用塊的上面或者左面的已編碼的像素,在規(guī)定的方向(箭頭表示的方向)上生成插值像素來(lái)生成預(yù)測(cè)圖像。
此處,應(yīng)用幀內(nèi)部預(yù)測(cè)的亮度的塊尺寸能夠從4×4像素、8×8像素、16×16像素中選擇,在8×8像素的情況下,與4×4像素同樣地規(guī)定了9個(gè)幀內(nèi)部預(yù)測(cè)模式。但是,關(guān)于預(yù)測(cè)中使用的像素,并非是已編碼的像素自身,而是使用針對(duì)這些像素實(shí)施濾波處理而得到的像素。
相對(duì)于此,在16×16像素的情況下,除了與平均值預(yù)測(cè)、垂直方向預(yù)測(cè)以及水平方向預(yù)測(cè)有關(guān)的幀內(nèi)部預(yù)測(cè)模式以外,還規(guī)定了被稱為Plane預(yù)測(cè)的4個(gè)幀內(nèi)部預(yù)測(cè)模式。
與Plane預(yù)測(cè)有關(guān)的幀內(nèi)部預(yù)測(cè)模式是將針對(duì)塊的上面和左面的已編碼的鄰接像素在傾斜方向上進(jìn)行內(nèi)插插值而生成的像素作為預(yù)測(cè)值的模式。
另外,在方向性預(yù)測(cè)模式中,通過(guò)在預(yù)定的方向(預(yù)測(cè)方向)上重復(fù)塊的鄰接像素或者根據(jù)鄰接像素生成的插值像素從而生成預(yù)測(cè)值,所以在圖15所示那樣的預(yù)測(cè)對(duì)象塊內(nèi)的目標(biāo)的邊界(邊緣)的方向與預(yù)測(cè)方向一致、并且塊內(nèi)的信號(hào)值沿著預(yù)測(cè)方向而恒定的情況下,預(yù)測(cè)效率變高而能夠削減符號(hào)量。
非專利文獻(xiàn)1:MPEG-4AVC(ISO/IEC 14496-10)/ITU-T H.264標(biāo)準(zhǔn)
技術(shù)實(shí)現(xiàn)要素:
以往的運(yùn)動(dòng)圖像編碼裝置如以上那樣構(gòu)成,所以如果預(yù)測(cè)對(duì)象塊內(nèi)的目標(biāo)的邊界(邊緣)的方向與預(yù)測(cè)方向一致、并且預(yù)測(cè)對(duì)象塊內(nèi)的信號(hào)值沿著該預(yù)測(cè)方向而恒定,則能夠通過(guò)使用方向性預(yù)測(cè)來(lái)高精度地進(jìn)行預(yù)測(cè)。但是,存在如下課題:即便預(yù)測(cè)對(duì)象塊內(nèi)的目標(biāo)的邊界(邊緣)的方向與預(yù)測(cè)方向一致,在如圖16所示,在信號(hào)值沿著該預(yù)測(cè)方向而變化的情況下,預(yù)測(cè)誤差也會(huì)變大。
本發(fā)明是為了解決上述那樣的課題而完成的,其目的在于得到一種圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法以及圖像預(yù)測(cè)裝置,即使在信號(hào)值沿著預(yù)測(cè)方向而變化的情況下,也能夠?qū)崿F(xiàn)高精度的預(yù)測(cè)來(lái)提高圖像質(zhì)量。
在本發(fā)明的圖像編碼裝置中,幀內(nèi)部預(yù)測(cè)單元在幀內(nèi)部預(yù)測(cè)參數(shù)表示水平方向預(yù)測(cè)處理的情況下,對(duì)成為編碼塊的預(yù)測(cè)處理的單位的各塊的左面所鄰接的像素的亮度值相加與塊的上面所鄰接的像素的水平方向的亮度值變化量成比例的值,將該相加后的值作為預(yù)測(cè)圖像的預(yù)測(cè)值,在幀內(nèi)部預(yù)測(cè)參數(shù)表示垂直方向預(yù)測(cè)處理的情況下,對(duì)塊的上面所鄰接的像素的亮度值相加與塊的左面所鄰接的像素的垂直方向的亮度值變化量成比例的值,將該相加后的值作為預(yù)測(cè)圖像的預(yù)測(cè)值。
根據(jù)本發(fā)明,幀內(nèi)部預(yù)測(cè)單元構(gòu)成為在幀內(nèi)部預(yù)測(cè)參數(shù)表示水平方向預(yù)測(cè)處理的情況下,對(duì)塊的左面所鄰接的像素的亮度值相加與塊的上面所鄰接的像素的水平方向的亮度值變化量成比例的值,將該相加后的值作為預(yù)測(cè)圖像的預(yù)測(cè)值,在幀內(nèi)部預(yù)測(cè)參數(shù)表示垂直方向預(yù)測(cè)處理的情況下,對(duì)塊的上面所鄰接的像素的亮度值相加與塊的左面所鄰接的像素的垂直方向的亮度值變化量成比例的值,將該相加后的值作為預(yù)測(cè)圖像的預(yù)測(cè)值,所以具有即使在信號(hào)值沿著預(yù)測(cè)方向而變化的情況下也能夠?qū)崿F(xiàn)高精度的預(yù)測(cè)來(lái)提高圖像質(zhì)量的效果。
附圖說(shuō)明
圖1是示出本發(fā)明的實(shí)施方式1的運(yùn)動(dòng)圖像編碼裝置的結(jié)構(gòu)圖。
圖2是示出本發(fā)明的實(shí)施方式1的運(yùn)動(dòng)圖像編碼裝置的處理內(nèi)容(運(yùn)動(dòng)圖像編碼方法)的流程圖。
圖3是示出本發(fā)明的實(shí)施方式1的運(yùn)動(dòng)圖像解碼裝置的結(jié)構(gòu)圖。
圖4是示出本發(fā)明的實(shí)施方式1的運(yùn)動(dòng)圖像解碼裝置的處理內(nèi)容(運(yùn)動(dòng)圖像解碼方法)的流程圖。
圖5是示出最大編碼塊被層次性地分割為多個(gè)編碼塊的例子的說(shuō)明圖。
圖6的(a)是示出分割后的編碼塊以及預(yù)測(cè)塊的分布的說(shuō)明圖,(b)是示出通過(guò)層次分割而分配了編碼模式m(Bn)的狀況的說(shuō)明圖。
圖7是示出編碼塊Bn內(nèi)的各預(yù)測(cè)塊Pin可選擇的幀內(nèi)部預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)模式)的一個(gè)例子的說(shuō)明圖。
圖8是示出在lin=min=4的情況下生成預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值時(shí)使用的像素的一個(gè)例子的說(shuō)明圖。
圖9是示出以預(yù)測(cè)塊Pin內(nèi)的左上像素為原點(diǎn)的相對(duì)坐標(biāo)的說(shuō)明圖。
圖10是示出垂直方向預(yù)測(cè)中的以往的為了計(jì)算對(duì)預(yù)測(cè)值相加的亮度值變化量而參照的左面的預(yù)測(cè)塊的鄰接像素的一個(gè)例子的說(shuō)明圖。
圖11是示出垂直方向預(yù)測(cè)中的以往的對(duì)預(yù)測(cè)值相加的亮度值變化量的縮放值的一個(gè)例子的說(shuō)明圖。
圖12是示出水平方向預(yù)測(cè)中的以往的為了計(jì)算對(duì)預(yù)測(cè)值相加的亮度值變化量而參照的上面的預(yù)測(cè)塊的鄰接像素的一個(gè)例子的說(shuō)明圖。
圖13是示出水平方向預(yù)測(cè)中的以往的對(duì)預(yù)測(cè)值相加的亮度值變化量的縮放值的一個(gè)例子的說(shuō)明圖。
圖14是示出亮度的塊尺寸是4×4像素的情況的幀內(nèi)部預(yù)測(cè)模式的說(shuō)明圖。
圖15是示出通過(guò)水平方向預(yù)測(cè)而高精度地預(yù)測(cè)的預(yù)測(cè)圖像的一個(gè)例子的說(shuō)明圖。
圖16是示出在通過(guò)水平方向預(yù)測(cè)進(jìn)行了預(yù)測(cè)時(shí)發(fā)生大的預(yù)測(cè)誤差的一個(gè)例子的說(shuō)明圖。
圖17是示出編碼塊Bn內(nèi)的各預(yù)測(cè)塊Pin可選擇的幀內(nèi)部預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)模式)的一個(gè)例子的說(shuō)明圖。
(符號(hào)說(shuō)明)
1:塊分割部(塊分割單元);2:編碼控制部(編碼控制單元);3:切換開(kāi)關(guān);4:幀內(nèi)部預(yù)測(cè)部(幀內(nèi)部預(yù)測(cè)單元);5:運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部(運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)單元);6:減法部(量化單元);7:變換/量化部(量化單元);8:逆量化/逆變換部;9:加法部;10:幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器(幀內(nèi)部預(yù)測(cè)單元);11:環(huán)路濾波器部;12:運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器(運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)單元);13:可變長(zhǎng)編碼部(可變長(zhǎng)編碼單元);31:可變長(zhǎng)解碼部(可變長(zhǎng)解碼單元);32:逆量化/逆變換部(逆量化單元);33:切換開(kāi)關(guān);34:幀內(nèi)部預(yù)測(cè)部(幀內(nèi)部預(yù)測(cè)單元);35:運(yùn)動(dòng)補(bǔ)償部(運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)單元);36:加法部;37:幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器(幀內(nèi)部預(yù)測(cè)單元);38:環(huán)路濾波器部;39:運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器(運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)單元)。
具體實(shí)施方式
以下,為了更詳細(xì)地說(shuō)明本發(fā)明,依照附圖來(lái)說(shuō)明用于實(shí)施本發(fā)明的方式。
實(shí)施方式1.
圖1是示出本發(fā)明的實(shí)施方式1的運(yùn)動(dòng)圖像編碼裝置的結(jié)構(gòu)圖。
在圖1中,塊分割部1實(shí)施如下處理:如果輸入了表示輸入圖像的影像信號(hào),則將該輸入圖像分割為由編碼控制部2決定的最大尺寸的編碼塊即最大編碼塊,并且直至達(dá)到由編碼控制部2決定的上限的層次數(shù)為止,將該最大編碼塊層次性地分割為各編碼塊。
即,塊分割部1實(shí)施如下處理:根據(jù)由編碼控制部2決定的分割而將輸入圖像分割為各編碼塊,并輸出該編碼塊。另外,各編碼塊被分割為成為預(yù)測(cè)處理單位的一個(gè)或多個(gè)預(yù)測(cè)塊。
另外,塊分割部1構(gòu)成了塊分割單元。
編碼控制部2實(shí)施如下處理:決定成為實(shí)施預(yù)測(cè)處理時(shí)的處理單位的編碼塊的最大尺寸,并且決定最大尺寸的編碼塊被層次性地分割時(shí)的上限的層次數(shù),從而決定各個(gè)編碼塊的尺寸。
另外,編碼控制部2實(shí)施如下處理:從可選擇的1個(gè)以上的編碼模式(1個(gè)以上的幀內(nèi)部編碼模式、1個(gè)以上的幀間編碼模式)中,選擇針對(duì)從塊分割部1輸出的編碼塊的編碼效率最高的編碼模式。
另外,編碼控制部2實(shí)施如下處理:在編碼效率最高的編碼模式是幀內(nèi)部編碼模式的情況下,針對(duì)作為預(yù)測(cè)處理單位的每個(gè)預(yù)測(cè)塊,決定在以該幀內(nèi)部編碼模式實(shí)施針對(duì)編碼塊的幀內(nèi)部預(yù)測(cè)處理時(shí)所使用的幀內(nèi)部預(yù)測(cè)參數(shù),在編碼效率最高的編碼模式是幀間編碼模式的情況下,針對(duì)作為預(yù)測(cè)處理單位的每個(gè)預(yù)測(cè)塊,決定在以該幀間編碼模式實(shí)施針對(duì)編碼塊的幀間預(yù)測(cè)處理時(shí)所使用的幀間預(yù)測(cè)參數(shù)。
而且,編碼控制部2實(shí)施如下處理:決定對(duì)變換/量化部7以及逆量化/逆變換部8提供的預(yù)測(cè)差分編碼參數(shù)。
另外,編碼控制部2構(gòu)成了編碼控制單元。
切換開(kāi)關(guān)3實(shí)施如下處理:如果由編碼控制部2決定的編碼模式是幀內(nèi)部編碼模式,則將從塊分割部1輸出的編碼塊輸出到幀內(nèi)部預(yù)測(cè)部4,如果由編碼控制部2決定的編碼模式是幀間編碼模式,則將從塊分割部1輸出的編碼塊輸出到運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5。
幀內(nèi)部預(yù)測(cè)部4實(shí)施如下處理:針對(duì)從切換開(kāi)關(guān)3輸出的編碼塊,按照作為預(yù)測(cè)處理單位的每個(gè)預(yù)測(cè)塊,一邊參照幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器10中儲(chǔ)存的局部解碼圖像,一邊實(shí)施使用了由編碼控制部2決定的幀內(nèi)部預(yù)測(cè)參數(shù)的幀內(nèi)部預(yù)測(cè)處理(幀內(nèi)預(yù)測(cè)處理)來(lái)生成幀內(nèi)部預(yù)測(cè)圖像。
另外,幀內(nèi)部預(yù)測(cè)部4在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是水平方向預(yù)測(cè)處理的情況下,對(duì)預(yù)測(cè)塊的左面所鄰接的像素的亮度值相加與預(yù)測(cè)塊的上面所鄰接的像素的水平方向的亮度值變化量成比例的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是垂直方向預(yù)測(cè)處理的情況下,對(duì)預(yù)測(cè)塊的上面所鄰接的像素的亮度值相加與預(yù)測(cè)塊的左面所鄰接的像素的垂直方向的亮度值變化量成比例的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值。
由幀內(nèi)部預(yù)測(cè)部4以及幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器10構(gòu)成了幀內(nèi)部預(yù)測(cè)單元。
運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5實(shí)施如下處理:按照作為預(yù)測(cè)處理單位的預(yù)測(cè)塊單位,比較從切換開(kāi)關(guān)3輸出的編碼塊和儲(chǔ)存在運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器12中的1幀以上的局部解碼圖像,來(lái)搜索運(yùn)動(dòng)矢量,并使用該運(yùn)動(dòng)矢量和由編碼控制部2決定的幀間預(yù)測(cè)參數(shù),按照預(yù)測(cè)塊單位實(shí)施針對(duì)該編碼塊的幀間預(yù)測(cè)處理(運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)處理)而生成幀間預(yù)測(cè)圖像。
減法部6實(shí)施如下處理:從由塊分割部1輸出的編碼塊減去由幀內(nèi)部預(yù)測(cè)部4生成的幀內(nèi)部預(yù)測(cè)圖像或者由運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5生成的幀間預(yù)測(cè)圖像,將作為其相減結(jié)果的預(yù)測(cè)差分信號(hào)(差分圖像)輸出到變換/量化部7。
變換/量化部7實(shí)施如下處理:參照由編碼控制部2決定的預(yù)測(cè)差分編碼參數(shù),實(shí)施針對(duì)從減法部6輸出的預(yù)測(cè)差分信號(hào)的正交變換處理(例如,DCT(離散余弦變換)、預(yù)先對(duì)特定的學(xué)習(xí)序列進(jìn)行基底設(shè)計(jì)的KL變換等正交變換處理)來(lái)計(jì)算變換系數(shù),并且參照該預(yù)測(cè)差分編碼參數(shù),對(duì)該變換系數(shù)進(jìn)行量化,將作為量化后的變換系數(shù)的壓縮數(shù)據(jù)輸出到逆量化/逆變換部8以及可變長(zhǎng)編碼部13。
另外,由減法部6以及變換/量化部7構(gòu)成了量化單元。
逆量化/逆變換部8實(shí)施如下處理:參照由編碼控制部2決定的預(yù)測(cè)差分編碼參數(shù),對(duì)從變換/量化部7輸出的壓縮數(shù)據(jù)進(jìn)行逆量化,并且參照該預(yù)測(cè)差分編碼參數(shù),實(shí)施針對(duì)作為逆量化后的壓縮數(shù)據(jù)的變換系數(shù)的逆正交變換處理,計(jì)算與從減法部6輸出的預(yù)測(cè)差分信號(hào)相當(dāng)?shù)木植拷獯a預(yù)測(cè)差分信號(hào)。
加法部9實(shí)施如下處理:將由逆量化/逆變換部8計(jì)算出的局部解碼預(yù)測(cè)差分信號(hào)、與由幀內(nèi)部預(yù)測(cè)部4生成的幀內(nèi)部預(yù)測(cè)圖像或者由運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5生成的幀間預(yù)測(cè)圖像進(jìn)行相加,來(lái)計(jì)算與從塊分割部1輸出的編碼塊相當(dāng)?shù)木植拷獯a圖像。
幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器10是儲(chǔ)存由加法部9計(jì)算出的局部解碼圖像的記錄介質(zhì)。
環(huán)路濾波器部11實(shí)施如下處理:對(duì)由加法部9計(jì)算出的局部解碼圖像實(shí)施規(guī)定的濾波處理,輸出濾波處理后的局部解碼圖像。
運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器12是儲(chǔ)存濾波處理后的局部解碼圖像的記錄介質(zhì)。
可變長(zhǎng)編碼部13實(shí)施如下處理:對(duì)從變換/量化部7輸出的壓縮數(shù)據(jù)、編碼控制部2的輸出信號(hào)(最大編碼塊內(nèi)的塊分割信息、編碼模式、預(yù)測(cè)差分編碼參數(shù)、幀內(nèi)部預(yù)測(cè)參數(shù)或者幀間預(yù)測(cè)參數(shù))、以及從運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5輸出的運(yùn)動(dòng)矢量(編碼模式是幀間編碼模式的情況)進(jìn)行可變長(zhǎng)編碼,而生成比特流。
另外,可變長(zhǎng)編碼部13構(gòu)成了可變長(zhǎng)編碼單元。
在圖1的例子中,設(shè)想作為運(yùn)動(dòng)圖像編碼裝置的構(gòu)成要素的塊分割部1、編碼控制部2、切換開(kāi)關(guān)3、幀內(nèi)部預(yù)測(cè)部4、運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5、減法部6、變換/量化部7、逆量化/逆變換部8、加法部9、幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器10、環(huán)路濾波器部11、運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器12以及可變長(zhǎng)編碼部13的各個(gè)由專用的硬件(例如,安裝了CPU的半導(dǎo)體集成電路、單片式微型計(jì)算機(jī)等)構(gòu)成的例子,但在運(yùn)動(dòng)圖像編碼裝置由計(jì)算機(jī)構(gòu)成的情況下,也可以將記述了塊分割部1、編碼控制部2、切換開(kāi)關(guān)3、幀內(nèi)部預(yù)測(cè)部4、運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5、減法部6、變換/量化部7、逆量化/逆變換部8、加法部9、環(huán)路濾波器部11以及可變長(zhǎng)編碼部13的處理內(nèi)容的程序儲(chǔ)存到計(jì)算機(jī)的存儲(chǔ)器中,并由該計(jì)算機(jī)的CPU執(zhí)行該存儲(chǔ)器中儲(chǔ)存的程序。
圖2是示出本發(fā)明的實(shí)施方式1的運(yùn)動(dòng)圖像編碼裝置的處理內(nèi)容(運(yùn)動(dòng)圖像編碼方法)的流程圖。
圖3是示出本發(fā)明的實(shí)施方式1的運(yùn)動(dòng)圖像解碼裝置的結(jié)構(gòu)圖。
在圖3中,可變長(zhǎng)解碼部31實(shí)施如下處理:如果輸入了由圖1的運(yùn)動(dòng)圖像編碼裝置生成的比特流,則從該比特流,對(duì)壓縮數(shù)據(jù)、塊分割信息、編碼模式、幀內(nèi)部預(yù)測(cè)參數(shù)(編碼模式是幀內(nèi)部編碼模式的情況)、幀間預(yù)測(cè)參數(shù)(編碼模式是幀間編碼模式的情況)、預(yù)測(cè)差分編碼參數(shù)以及運(yùn)動(dòng)矢量(編碼模式是幀間編碼模式的情況)進(jìn)行可變長(zhǎng)解碼。
另外,可變長(zhǎng)解碼部31構(gòu)成了可變長(zhǎng)解碼單元。
逆量化/逆變換部32實(shí)施如下處理:參照由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的預(yù)測(cè)差分編碼參數(shù),對(duì)由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的壓縮數(shù)據(jù)進(jìn)行逆量化,并且參照該預(yù)測(cè)差分編碼參數(shù)來(lái)實(shí)施針對(duì)作為逆量化后的壓縮數(shù)據(jù)的變換系數(shù)的逆正交變換處理,計(jì)算與從圖1的逆量化/逆變換部8輸出的局部解碼預(yù)測(cè)差分信號(hào)相同的解碼預(yù)測(cè)差分信號(hào)。
另外,逆量化/逆變換部32構(gòu)成了逆量化單元。
切換開(kāi)關(guān)33實(shí)施如下處理:如果由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的編碼模式是幀內(nèi)部編碼模式,則將由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的幀內(nèi)部預(yù)測(cè)參數(shù)輸出到幀內(nèi)部預(yù)測(cè)部34,如果由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的編碼模式是幀間編碼模式,則將由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的幀間預(yù)測(cè)參數(shù)以及運(yùn)動(dòng)矢量輸出到運(yùn)動(dòng)補(bǔ)償部35。
幀內(nèi)部預(yù)測(cè)部34實(shí)施如下處理:針對(duì)根據(jù)由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的塊分割信息以及編碼模式而確定的解碼塊(與圖1的運(yùn)動(dòng)圖像編碼裝置的“編碼塊”相當(dāng)?shù)膲K),按照作為預(yù)測(cè)處理單位的每個(gè)預(yù)測(cè)塊,一邊參照幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器37中儲(chǔ)存的解碼圖像,一邊實(shí)施使用了從切換開(kāi)關(guān)33輸出的幀內(nèi)部預(yù)測(cè)參數(shù)的幀內(nèi)部預(yù)測(cè)處理(幀內(nèi)預(yù)測(cè)處理)而生成幀內(nèi)部預(yù)測(cè)圖像。
另外,幀內(nèi)部預(yù)測(cè)部34在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是水平方向預(yù)測(cè)處理的情況下,對(duì)預(yù)測(cè)塊的左面所鄰接的像素的亮度值相加與預(yù)測(cè)塊的上面所鄰接的像素的水平方向的亮度值變化量成比例的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是垂直方向預(yù)測(cè)處理的情況下,對(duì)預(yù)測(cè)塊的上面所鄰接的像素的亮度值相加與預(yù)測(cè)塊的左面所鄰接的像素的垂直方向的亮度值變化量成比例的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值。
由幀內(nèi)部預(yù)測(cè)部34以及幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器37構(gòu)成了幀內(nèi)部預(yù)測(cè)單元。
運(yùn)動(dòng)補(bǔ)償部35實(shí)施如下處理:針對(duì)根據(jù)由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的塊分割信息以及編碼模式而確定的解碼塊,按照作為預(yù)測(cè)處理單位的每個(gè)預(yù)測(cè)塊,一邊參照運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器39中儲(chǔ)存的解碼圖像,一邊實(shí)施使用了從切換開(kāi)關(guān)33輸出的運(yùn)動(dòng)矢量和幀間預(yù)測(cè)參數(shù)的幀間預(yù)測(cè)處理(運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)處理)而生成幀間預(yù)測(cè)圖像。
加法部36實(shí)施如下處理:將由逆量化/逆變換部32計(jì)算出的解碼預(yù)測(cè)差分信號(hào)、與由幀內(nèi)部預(yù)測(cè)部34生成的幀內(nèi)部預(yù)測(cè)圖像或者由運(yùn)動(dòng)補(bǔ)償部35生成的幀間預(yù)測(cè)圖像進(jìn)行相加,計(jì)算與從圖1的加法部9輸出的局部解碼圖像相同的解碼圖像。
幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器37是儲(chǔ)存由加法部36計(jì)算出的解碼圖像的記錄介質(zhì)。
環(huán)路濾波器部38實(shí)施如下處理:對(duì)由加法部36計(jì)算出的解碼圖像實(shí)施規(guī)定的濾波處理,輸出濾波處理后的解碼圖像。
運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器39是儲(chǔ)存濾波處理后的解碼圖像的記錄介質(zhì)。
在圖3的例子中,設(shè)想作為運(yùn)動(dòng)圖像解碼裝置的構(gòu)成要素的可變長(zhǎng)解碼部31、逆量化/逆變換部32、切換開(kāi)關(guān)33、幀內(nèi)部預(yù)測(cè)部34、運(yùn)動(dòng)補(bǔ)償部35、加法部36、幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器37、環(huán)路濾波器部38以及運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器39的各個(gè)由專用的硬件(例如,安裝了CPU的半導(dǎo)體集成電路、單片式微型計(jì)算機(jī)等)構(gòu)成的例子,但在運(yùn)動(dòng)圖像解碼裝置由計(jì)算機(jī)構(gòu)成的情況下,也可以將記述了可變長(zhǎng)解碼部31、逆量化/逆變換部32、切換開(kāi)關(guān)33、幀內(nèi)部預(yù)測(cè)部34、運(yùn)動(dòng)補(bǔ)償部35、加法部36以及環(huán)路濾波器部38的處理內(nèi)容的程序儲(chǔ)存到計(jì)算機(jī)的存儲(chǔ)器中,并由該計(jì)算機(jī)的CPU執(zhí)行該存儲(chǔ)器中儲(chǔ)存的程序。
圖4是示出本發(fā)明的實(shí)施方式1的運(yùn)動(dòng)圖像解碼裝置的處理內(nèi)容(運(yùn)動(dòng)圖像解碼方法)的流程圖。
接下來(lái),說(shuō)明動(dòng)作。
在該實(shí)施方式1中,說(shuō)明運(yùn)動(dòng)圖像編碼裝置和運(yùn)動(dòng)圖像解碼裝置,其中,所述運(yùn)動(dòng)圖像編碼裝置將影像的各幀圖像作為輸入圖像,實(shí)施基于已編碼的附近像素的幀內(nèi)部預(yù)測(cè)或者鄰近幀間的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè),針對(duì)所得到的預(yù)測(cè)差分信號(hào)實(shí)施基于正交變換/量化的壓縮處理,之后進(jìn)行可變長(zhǎng)編碼來(lái)生成比特流,所述運(yùn)動(dòng)圖像解碼裝置對(duì)從該運(yùn)動(dòng)圖像編碼裝置輸出的比特流進(jìn)行解碼。
圖1的運(yùn)動(dòng)圖像編碼裝置的特征在于,適應(yīng)于影像信號(hào)的空間/時(shí)間方向的局部性的變化,將影像信號(hào)分割為各種尺寸的塊,來(lái)進(jìn)行幀內(nèi)/幀間自適應(yīng)編碼。
一般,影像信號(hào)具有信號(hào)的復(fù)雜度在空間/時(shí)間上局部地變化的特性。在空間上觀察時(shí),有時(shí)在某個(gè)影像幀上,例如既有在天空、壁等那樣的比較寬的圖像區(qū)域中具有均勻的信號(hào)特性的圖樣,也混合存在人物或包含細(xì)微的紋理的繪畫(huà)等在小的圖像區(qū)域內(nèi)具有復(fù)雜的紋理圖案的圖樣。
即使在時(shí)間上觀察,雖然關(guān)于天空、壁,局部性地時(shí)間方向的圖樣的變化小,但關(guān)于活動(dòng)的人物、物體,由于其輪廓在時(shí)間上進(jìn)行剛體/非剛體的運(yùn)動(dòng),所以時(shí)間上的變化大。
在編碼處理中,進(jìn)行通過(guò)時(shí)間/空間上的預(yù)測(cè)來(lái)生成信號(hào)功率或熵小的預(yù)測(cè)差分信號(hào)從而削減整體的符號(hào)量的處理,但只要能夠?qū)㈩A(yù)測(cè)中使用的參數(shù)均勻地應(yīng)用于盡可能大的圖像信號(hào)區(qū)域,就能夠減小該參數(shù)的符號(hào)量。
另一方面,如果針對(duì)時(shí)間上/空間上變化大的圖像信號(hào)圖案,將同一預(yù)測(cè)參數(shù)應(yīng)用于大的圖像區(qū)域,則預(yù)測(cè)的錯(cuò)誤增加,所以預(yù)測(cè)差分信號(hào)的符號(hào)量增加。
因此,在時(shí)間上/空間上變化大的區(qū)域中,優(yōu)選減小應(yīng)用同一預(yù)測(cè)參數(shù)來(lái)進(jìn)行預(yù)測(cè)處理的塊尺寸,增加預(yù)測(cè)中使用的參數(shù)的數(shù)據(jù)量,降低預(yù)測(cè)差分信號(hào)的功率/熵。
在該實(shí)施方式1中,為了進(jìn)行與這樣的影像信號(hào)的一般的性質(zhì)適應(yīng)的編碼,采用如下結(jié)構(gòu):最初從規(guī)定的最大塊尺寸開(kāi)始預(yù)測(cè)處理等,層次性地分割影像信號(hào)的區(qū)域,針對(duì)所分割的每個(gè)區(qū)域,使預(yù)測(cè)處理、其預(yù)測(cè)差分的編碼處理自適應(yīng)化。
關(guān)于圖1的運(yùn)動(dòng)圖像編碼裝置設(shè)為處理對(duì)象的影像信號(hào)格式,除了由亮度信號(hào)和2個(gè)色差信號(hào)構(gòu)成的YUV信號(hào)、從數(shù)字?jǐn)z像元件輸出的RGB信號(hào)等任意的顏色空間的彩色影像信號(hào)以外,還設(shè)為單色圖像信號(hào)、紅外線圖像信號(hào)等影像幀由水平和垂直二維的數(shù)字采樣(像素)列構(gòu)成的任意的影像信號(hào)。
其中,各像素的灰度既可以是8比特,也可以是10比特、12比特等灰度。
在以下的說(shuō)明中,為了方便,只要沒(méi)有特別說(shuō)明,就說(shuō)明設(shè)為輸入圖像的影像信號(hào)是YUV信號(hào)、并且處理2個(gè)色差分量U、V相對(duì)亮度分量Y被子采樣了的4:2:0格式的信號(hào)的情況。
另外,將與影像信號(hào)的各幀對(duì)應(yīng)的處理數(shù)據(jù)單位稱為“圖片”。
在該實(shí)施方式1中,將“圖片”設(shè)為依次掃描(逐行掃描)了的影像幀信號(hào)而進(jìn)行說(shuō)明,但在影像信號(hào)是隔行掃描信號(hào)的情況下,“圖片”也可以是作為構(gòu)成影像幀的單位的場(chǎng)圖像信號(hào)。
最初,說(shuō)明圖1的運(yùn)動(dòng)圖像編碼裝置的處理內(nèi)容。
首先,編碼控制部2決定成為編碼對(duì)象的圖片(當(dāng)前圖片)的編碼中使用的最大編碼塊的尺寸、和對(duì)最大編碼塊進(jìn)行層次分割的層次數(shù)的上限(圖2的步驟ST1)。
作為最大編碼塊的尺寸的決定方法,例如既可以根據(jù)輸入圖像的影像信號(hào)的分辨率而對(duì)所有圖片決定同一尺寸,也可以將輸入圖像的影像信號(hào)的局部性的運(yùn)動(dòng)的復(fù)雜度的差異作為參數(shù)而進(jìn)行定量化,對(duì)于運(yùn)動(dòng)劇烈的圖片決定小的尺寸,另一方面對(duì)于運(yùn)動(dòng)少的圖片決定大的尺寸。
作為分割層次數(shù)的上限的決定方法,例如有根據(jù)輸入圖像的影像信號(hào)的分辨率針對(duì)所有圖片決定同一層次數(shù)的方法、或在輸入圖像的影像信號(hào)的運(yùn)動(dòng)劇烈的情況下設(shè)定為增大層次數(shù)而能夠檢測(cè)更細(xì)微的運(yùn)動(dòng)且在運(yùn)動(dòng)少的情況下設(shè)定為抑制層次數(shù)的方法等。
另外,編碼控制部2從可利用的1個(gè)以上的編碼模式中選擇與層次性地分割的各個(gè)編碼塊對(duì)應(yīng)的編碼模式(步驟ST2)。
即,編碼控制部2針對(duì)最大編碼塊尺寸的每個(gè)圖像區(qū)域,直至達(dá)到預(yù)先決定的分割層次數(shù)的上限為止,層次性地分割為具有編碼塊尺寸的編碼塊,決定針對(duì)各個(gè)編碼塊的編碼模式。
在編碼模式中有一個(gè)或多個(gè)幀內(nèi)部編碼模式(總稱為“INTRA”)、和一個(gè)或多個(gè)幀間編碼模式(總稱為“INTER”),編碼控制部2從在該圖片中可利用的所有編碼模式或者其子集中,選擇與各個(gè)編碼塊對(duì)應(yīng)的編碼模式。
其中,由后述塊分割部1層次性地分割的各個(gè)編碼塊被進(jìn)一步分割為作為進(jìn)行預(yù)測(cè)處理的單位的一個(gè)或多個(gè)預(yù)測(cè)塊,預(yù)測(cè)塊的分割狀態(tài)也作為信息而被包含于編碼模式中。
編碼控制部2的編碼模式的選擇方法是公知的技術(shù),所以省略詳細(xì)的說(shuō)明,例如有如下方法等:使用可利用的任意的編碼模式來(lái)實(shí)施針對(duì)編碼塊的編碼處理而驗(yàn)證編碼效率,在可利用的多個(gè)編碼模式中選擇編碼效率最佳的編碼模式。
另外,編碼控制部2針對(duì)各個(gè)編碼塊的每一個(gè),決定在壓縮差分圖像時(shí)使用的量化參數(shù)以及變換塊尺寸,并且決定在實(shí)施預(yù)測(cè)處理時(shí)使用的預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)參數(shù)或者幀間預(yù)測(cè)參數(shù))。
其中,在編碼塊進(jìn)一步被分割為進(jìn)行預(yù)測(cè)處理的預(yù)測(cè)塊單位的情況下,能夠針對(duì)每個(gè)預(yù)測(cè)塊選擇預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)參數(shù)或者幀間預(yù)測(cè)參數(shù))。
進(jìn)而,在編碼模式是幀內(nèi)部編碼模式的編碼塊中,由于在如后所述那樣進(jìn)行幀內(nèi)部預(yù)測(cè)處理時(shí)使用與預(yù)測(cè)塊鄰接的已編碼的像素,所以需要按照預(yù)測(cè)塊單位進(jìn)行編碼,所以可選擇的變換塊尺寸被限制為預(yù)測(cè)塊的尺寸以下。
編碼控制部2將包括量化參數(shù)以及變換塊尺寸的預(yù)測(cè)差分編碼參數(shù)輸出到變換/量化部7、逆量化/逆變換部8以及可變長(zhǎng)編碼部13。
另外,編碼控制部2將幀內(nèi)部預(yù)測(cè)參數(shù)根據(jù)需要而輸出到幀內(nèi)部預(yù)測(cè)部4。
另外,編碼控制部2將幀間預(yù)測(cè)參數(shù)根據(jù)需要而輸出到運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5。
如果輸入了輸入圖像的影像信號(hào),則塊分割部1將該輸入圖像的影像信號(hào)分割為由編碼控制部2決定的最大編碼塊尺寸,進(jìn)而將分割了的最大編碼塊層次性地分割為由編碼控制部2決定的編碼塊,并輸出該編碼塊。
此處,圖5是示出最大編碼塊被層次性地分割為多個(gè)編碼塊的例子的說(shuō)明圖。
在圖5中,最大編碼塊是被記載為“第0層次”的亮度分量具有(L0,M0)的尺寸的編碼塊。
將最大編碼塊設(shè)為出發(fā)點(diǎn),直至利用四叉樹(shù)構(gòu)造另行決定的規(guī)定的深度為止,層次性地進(jìn)行分割,從而得到編碼塊。
在深度n中,編碼塊是尺寸(Ln,Mn)的圖像區(qū)域。
其中,Ln和Mn既可以相同,也可以不同,但在圖5中示出了Ln=Mn的情形。
以后,將由編碼控制部2決定的編碼塊尺寸定義為編碼塊的亮度分量中的尺寸(Ln,Mn)。
由于進(jìn)行四叉樹(shù)分割,所以(Ln+1,Mn+1)=(Ln/2,Mn/2)始終成立。
另外,在RGB信號(hào)等所有顏色分量具有同一采樣數(shù)的彩色影像信號(hào)(4:4:4格式)中,所有顏色分量的尺寸成為(Ln,Mn),但在處理4:2:0格式的情況下,所對(duì)應(yīng)的色差分量的編碼塊尺寸成為(Ln/2,Mn/2)。
以后,設(shè)為用Bn來(lái)表示第n層次的編碼塊,用m(Bn)來(lái)表示在編碼塊Bn中可選擇的編碼模式。
在由多個(gè)顏色分量構(gòu)成的彩色影像信號(hào)的情況下,編碼模式m(Bn)既可以構(gòu)成為針對(duì)每個(gè)顏色分量分別使用單獨(dú)的模式,也可以構(gòu)成為針對(duì)所有顏色分量使用共同的模式。以后,只要沒(méi)有特別說(shuō)明,就指與YUV信號(hào)、4:2:0格式的編碼塊的亮度分量對(duì)應(yīng)的編碼模式而進(jìn)行說(shuō)明。
編碼塊Bn如圖6所示,通過(guò)塊分割部1而被分割為表示預(yù)測(cè)處理單位的一個(gè)或多個(gè)預(yù)測(cè)塊。
以后,將屬于編碼塊Bn的預(yù)測(cè)塊記載為Pin(i是第n層次中的預(yù)測(cè)塊編號(hào))。圖5示出P00和P10的一個(gè)例子。
在編碼模式m(Bn)中作為信息而包含有如何進(jìn)行編碼塊Bn的預(yù)測(cè)塊分割。
關(guān)于預(yù)測(cè)塊Pin,全部依照編碼模式m(Bn)進(jìn)行預(yù)測(cè)處理,但能夠針對(duì)每個(gè)預(yù)測(cè)塊Pin,選擇單獨(dú)的預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)參數(shù)或者幀間預(yù)測(cè)參數(shù))。
編碼控制部2針對(duì)最大編碼塊,例如生成圖6所示那樣的塊分割狀態(tài)來(lái)確定編碼塊。
圖6(a)的虛線所包圍的矩形表示各編碼塊,各編碼塊內(nèi)存在的用斜線涂覆的塊表示各預(yù)測(cè)塊的分割狀態(tài)。
圖6(b)是關(guān)于圖6(a)的例子利用四叉樹(shù)圖形表示了通過(guò)層次分割來(lái)分配編碼模式m(Bn)的狀況的圖。圖6(b)的□所包圍的節(jié)點(diǎn)是分配了編碼模式m(Bn)的節(jié)點(diǎn)(編碼塊)。
該四叉樹(shù)圖形的信息與編碼模式m(Bn)一起從編碼控制部2輸出到可變長(zhǎng)編碼部13而被復(fù)用到比特流。
切換開(kāi)關(guān)3在由編碼控制部2決定的編碼模式m(Bn)是幀內(nèi)部編碼模式的情況(m(Bn)∈INTRA的情況)下,將從塊分割部1輸出的編碼塊Bn輸出到幀內(nèi)部預(yù)測(cè)部4。
另一方面,在由編碼控制部2決定的編碼模式m(Bn)是幀間編碼模式的情況(m(Bn)∈INTER的情況)下,將從塊分割部1輸出的編碼塊Bn輸出到運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5。
在幀內(nèi)部預(yù)測(cè)部4中,如果由編碼控制部2決定的編碼模式m(Bn)是幀內(nèi)部編碼模式(m(Bn)∈INTRA的情況),且從切換開(kāi)關(guān)3接收到編碼塊Bn(步驟ST3),則一邊參照幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器10中儲(chǔ)存的局部解碼圖像,一邊使用由編碼控制部2決定的幀內(nèi)部預(yù)測(cè)參數(shù),來(lái)實(shí)施針對(duì)該編碼塊Bn內(nèi)的各預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)處理而生成幀內(nèi)部預(yù)測(cè)圖像PINTRAin(步驟ST4)。
另外,運(yùn)動(dòng)圖像解碼裝置需要生成與幀內(nèi)部預(yù)測(cè)圖像PINTRAin完全相同的幀內(nèi)部預(yù)測(cè)圖像,所以幀內(nèi)部預(yù)測(cè)圖像PINTRAin的生成中使用的幀內(nèi)部預(yù)測(cè)參數(shù)從編碼控制部2輸出到可變長(zhǎng)編碼部13而被復(fù)用到比特流。
在后面詳細(xì)敘述幀內(nèi)部預(yù)測(cè)部4的處理內(nèi)容。
在運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5中,如果由編碼控制部2決定的編碼模式m(Bn)是幀間編碼模式(m(Bn)∈INTER的情況),且從切換開(kāi)關(guān)3接收到編碼塊Bn(步驟ST3),則比較該編碼塊Bn內(nèi)的各預(yù)測(cè)塊Pin和運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器12中儲(chǔ)存的濾波處理后的局部解碼圖像來(lái)搜索運(yùn)動(dòng)矢量,使用該運(yùn)動(dòng)矢量和由編碼控制部2決定的幀間預(yù)測(cè)參數(shù),實(shí)施針對(duì)該編碼塊Bn內(nèi)的各預(yù)測(cè)塊Pin的幀間預(yù)測(cè)處理,生成幀間預(yù)測(cè)圖像PINTERin(步驟ST5)。
另外,運(yùn)動(dòng)圖像解碼裝置需要生成與幀間預(yù)測(cè)圖像PINTERin完全相同的幀間預(yù)測(cè)圖像,所以幀間預(yù)測(cè)圖像PINTERin的生成中使用的幀間預(yù)測(cè)參數(shù)從編碼控制部2輸出到可變長(zhǎng)編碼部13而被復(fù)用到比特流。
另外,由運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5搜索到的運(yùn)動(dòng)矢量也輸出到可變長(zhǎng)編碼部13而被復(fù)用到比特流。
減法部6如果從塊分割部1接收到編碼塊Bn,則從該編碼塊Bn內(nèi)的預(yù)測(cè)塊Pin減去由幀內(nèi)部預(yù)測(cè)部4生成的幀內(nèi)部預(yù)測(cè)圖像PINTRAin或者由運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5生成的幀間預(yù)測(cè)圖像PINTERin中的某一方,將作為其相減結(jié)果的預(yù)測(cè)差分信號(hào)ein輸出到變換/量化部7(步驟ST6)。
變換/量化部7如果從減法部6接收到預(yù)測(cè)差分信號(hào)ein,則參照由編碼控制部2決定的預(yù)測(cè)差分編碼參數(shù),實(shí)施針對(duì)該預(yù)測(cè)差分信號(hào)ein的正交變換處理(例如,DCT(離散余弦變換)、對(duì)預(yù)先確定的學(xué)習(xí)序列進(jìn)行了基底設(shè)計(jì)的KL變換等正交變換處理),計(jì)算變換系數(shù)。
另外,變換/量化部7參照該預(yù)測(cè)差分編碼參數(shù),對(duì)該變換系數(shù)進(jìn)行量化,將作為量化后的變換系數(shù)的壓縮數(shù)據(jù)輸出到逆量化/逆變換部8以及可變長(zhǎng)編碼部13(步驟ST7)。
逆量化/逆變換部8如果從變換/量化部7接收到壓縮數(shù)據(jù),則參照由編碼控制部2決定的預(yù)測(cè)差分編碼參數(shù),對(duì)該壓縮數(shù)據(jù)進(jìn)行逆量化。
另外,逆量化/逆變換部8參照該預(yù)測(cè)差分編碼參數(shù),實(shí)施針對(duì)作為逆量化后的壓縮數(shù)據(jù)的變換系數(shù)的逆正交變換處理(例如,逆DCT、逆KL變換等),計(jì)算與從減法部6輸出的預(yù)測(cè)差分信號(hào)ein相當(dāng)?shù)木植拷獯a預(yù)測(cè)差分信號(hào)并輸出到加法部9(步驟ST8)。
加法部9如果從逆量化/逆變換部8接收到局部解碼預(yù)測(cè)差分信號(hào),則將該局部解碼預(yù)測(cè)差分信號(hào)、與由幀內(nèi)部預(yù)測(cè)部4生成的幀內(nèi)部預(yù)測(cè)圖像PINTRAin和由運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5生成的幀間預(yù)測(cè)圖像PINTERin中的某一方進(jìn)行相加,從而計(jì)算局部解碼圖像(步驟ST9)。
另外,加法部9將該局部解碼圖像輸出到環(huán)路濾波器部11,并且將該局部解碼圖像儲(chǔ)存到幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器10中。
該局部解碼圖像成為在以后的幀內(nèi)部預(yù)測(cè)處理時(shí)使用的已編碼的圖像信號(hào)。
環(huán)路濾波器部11如果從加法部9接收到局部解碼圖像,則對(duì)該局部解碼圖像實(shí)施規(guī)定的濾波處理,將濾波處理后的局部解碼圖像儲(chǔ)存到運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器12中(步驟ST10)。
另外,關(guān)于由環(huán)路濾波器部11執(zhí)行的濾波處理,既可以以所輸入的局部解碼圖像的最大編碼塊或者各個(gè)編碼塊為單位進(jìn)行,也可以在輸入了1個(gè)圖片量的局部解碼圖像之后集中1個(gè)圖片量來(lái)進(jìn)行。
另外,作為規(guī)定的濾波處理的例子,可以舉出以使編碼塊邊界的不連續(xù)性(塊噪聲)不會(huì)變得顯著的方式對(duì)塊邊界進(jìn)行濾波的處理、以使作為輸入圖像的圖1的影像信號(hào)與局部解碼圖像之間的誤差成為最小的方式對(duì)局部解碼圖像的失真進(jìn)行補(bǔ)償?shù)臑V波處理等。
但是,在進(jìn)行以使作為輸入圖像的圖1的影像信號(hào)與局部解碼圖像之間的誤差成為最小的方式對(duì)局部解碼圖像的失真進(jìn)行補(bǔ)償?shù)臑V波處理的情況下,需要在環(huán)路濾波器部11中參照影像信號(hào),所以需要變更圖1的運(yùn)動(dòng)圖像編碼裝置使得對(duì)環(huán)路濾波器部11輸入影像信號(hào)。
直至針對(duì)層次性地分割了的所有編碼塊Bn的處理完成為止重復(fù)實(shí)施步驟ST3~ST9的處理,如果針對(duì)所有編碼塊Bn的處理完成,則轉(zhuǎn)移到步驟ST13的處理(步驟ST11、ST12)。
可變長(zhǎng)編碼部13對(duì)從變換/量化部7輸出的壓縮數(shù)據(jù)、從編碼控制部2輸出的最大編碼塊內(nèi)的塊分割信息(以圖6(b)為例子的四叉樹(shù)信息)、編碼模式m(Bn)以及預(yù)測(cè)差分編碼參數(shù)、從編碼控制部2輸出的幀內(nèi)部預(yù)測(cè)參數(shù)(編碼模式是幀內(nèi)部編碼模式的情況)或者幀間預(yù)測(cè)參數(shù)(編碼模式是幀間編碼模式的情況)、以及從運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5輸出的運(yùn)動(dòng)矢量(編碼模式是幀間編碼模式的情況)進(jìn)行可變長(zhǎng)編碼,生成表示這些編碼結(jié)果的比特流(步驟ST13)。
接下來(lái),詳細(xì)說(shuō)明幀內(nèi)部預(yù)測(cè)部4的處理內(nèi)容。
圖7是示出編碼塊Bn內(nèi)的各預(yù)測(cè)塊Pin可選擇的幀內(nèi)部預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)模式)的一個(gè)例子的說(shuō)明圖。
在圖7中,示出幀內(nèi)部預(yù)測(cè)模式和該幀內(nèi)部預(yù)測(cè)模式所表示的預(yù)測(cè)方向矢量,在圖7的例子中,進(jìn)行設(shè)計(jì)使得隨著可選擇的幀內(nèi)部預(yù)測(cè)模式的個(gè)數(shù)增加而使預(yù)測(cè)方向矢量彼此的相對(duì)角度變小。
幀內(nèi)部預(yù)測(cè)部4如上述那樣參照預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)參數(shù),實(shí)施針對(duì)該預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)處理,生成幀內(nèi)部預(yù)測(cè)圖像PINTRAin,但此處說(shuō)明生成亮度信號(hào)中的預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)信號(hào)的幀內(nèi)部處理。
將預(yù)測(cè)塊Pin的尺寸設(shè)為lin×min像素。
圖8是示出生成lin=min=4的情況的預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值時(shí)使用的像素的一個(gè)例子的說(shuō)明圖。
在圖8中,將預(yù)測(cè)塊Pin的上面的已編碼的像素(2×lin+1)個(gè)、和左面的已編碼的像素(2×min)個(gè)設(shè)為預(yù)測(cè)中使用的像素,但預(yù)測(cè)中使用的像素既可以多于圖8所示的像素也可以少于圖8所示的像素。
另外,在圖8中,將預(yù)測(cè)塊Pin的附近的1行或者1列量的像素用于預(yù)測(cè),但也可以將2行或2列、或者其以上的像素用于預(yù)測(cè)。
在針對(duì)預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)模式的索引值是0(垂直方向預(yù)測(cè))的情況下,根據(jù)下述式(1)而計(jì)算預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值,生成預(yù)測(cè)圖像。
S′(x,y)=S(x,-1)+(S(-1,y)-S(-1,-1))/t (1)
其中,坐標(biāo)(x,y)是以預(yù)測(cè)塊Pin內(nèi)的左上像素為原點(diǎn)的相對(duì)坐標(biāo)(參照?qǐng)D9),S’(x,y)是坐標(biāo)(x,y)中的預(yù)測(cè)值,S(x,y)是坐標(biāo)(x,y)中的已編碼的像素的亮度值(解碼了的亮度值)。
這樣,對(duì)作為以往(MPEG-4AVC/H.264)的垂直方向預(yù)測(cè)的預(yù)測(cè)值的預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素的亮度值S(x,-1),相加與預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素(圖10的粗框所包圍的像素)的表示垂直方向的亮度值的變化量的S(-1,y)-S(-1,-1)成比例的值(將表示垂直方向的亮度值的變化量的S(-1,y)-S(-1,-1)縮放為1/t而得到的值),將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,從而能夠?qū)崿F(xiàn)追隨向預(yù)測(cè)方向的亮度值的變化的垂直方向預(yù)測(cè)。
但是,在上述預(yù)測(cè)值未收斂于亮度值可取的值的范圍內(nèi)的情況下,對(duì)值進(jìn)行舍入使得收斂于該范圍內(nèi)。
另外,上述1/t也可以設(shè)為固定值,但還可以設(shè)為根據(jù)坐標(biāo)(x,y)而變化的變量。
例如,如果設(shè)為t=2x+1,則如圖11所示,縮放值從左端的列起依次如1/2、1/4、1/8、1/16那樣變小,所以從預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素起的距離越遠(yuǎn),相加的垂直方向的亮度值的變化量越小。
由此,越是與預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素之間的距離遠(yuǎn)而相關(guān)變低的預(yù)測(cè)對(duì)象像素,越能夠使預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素的影響變小,所以能夠進(jìn)行和與預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素之間的相關(guān)對(duì)應(yīng)的高精度的預(yù)測(cè)。
進(jìn)而,也可以限定進(jìn)行式(1)的預(yù)測(cè)處理的預(yù)測(cè)塊Pin的塊尺寸。一般在大的塊尺寸中,在塊內(nèi)易于包含各種信號(hào)變化,能夠使用方向性預(yù)測(cè)而高精度地進(jìn)行預(yù)測(cè)的情形少,所以例如在16×16像素以上的塊尺寸的預(yù)測(cè)塊Pin中不應(yīng)用式(1)而設(shè)為以往的垂直方向預(yù)測(cè)的預(yù)測(cè)值(預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素的亮度值S(x,-1)),僅在比16×16像素小的塊中應(yīng)用式(1),從而相比于以往的垂直方向預(yù)測(cè),能夠提高預(yù)測(cè)性能,并且抑制運(yùn)算量的增加。
另外,在針對(duì)預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)模式的索引值是1(水平方向預(yù)測(cè))的情況下,根據(jù)下述式(2)而計(jì)算預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值,生成預(yù)測(cè)圖像。
S′(x,y)=S(-1,y)+(S(x,-1)-S(-1,-1))/u (2)
其中,坐標(biāo)(x,y)是以預(yù)測(cè)塊Pin內(nèi)的左上像素為原點(diǎn)的相對(duì)坐標(biāo)(參照?qǐng)D9),S’(x,y)是坐標(biāo)(x,y)中的預(yù)測(cè)值,S(x,y)是坐標(biāo)(x,y)中的已編碼的像素的亮度值(解碼了的亮度值)。
這樣,對(duì)作為以往(MPEG-4AVC/H.264)的水平方向預(yù)測(cè)的預(yù)測(cè)值的預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素的亮度值S(-1,y),相加與預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素(圖12的粗框所包圍的像素)的表示水平方向的亮度值的變化量的S(x,-1)-S(-1,-1)成比例的值(將表示水平方向的亮度值的變化量的S(x,-1)-S(-1,-1)縮放為1/u而得到的值),并將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,從而能夠?qū)崿F(xiàn)追隨向預(yù)測(cè)方向的亮度值的變化的水平方向預(yù)測(cè)。
但是,在上述預(yù)測(cè)值未收斂于亮度值可取的值的范圍內(nèi)的情況下,對(duì)值進(jìn)行舍入使得收斂于該范圍內(nèi)。
另外,上述1/u也可以設(shè)為固定值,但還可以設(shè)為隨著坐標(biāo)(x,y)而變化的變量。
例如,如果設(shè)為u=2y+1,則如圖13所示,縮放值從上端的行起依次如1/2、1/4、1/8、1/16那樣變小,所以從預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素起的距離越遠(yuǎn),相加的水平方向的亮度值的變化量越小。
由此,越是與預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素之間的距離遠(yuǎn)而相關(guān)變低的像素,越能夠使預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素的影響變小,所以能夠進(jìn)行和與預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素之間的相關(guān)對(duì)應(yīng)的高精度的預(yù)測(cè)。
進(jìn)而,也可以限定進(jìn)行式(2)的預(yù)測(cè)處理的預(yù)測(cè)塊Pin的塊尺寸。一般在大的塊尺寸中,在塊內(nèi)易于包含各種信號(hào)變化,能夠使用方向性預(yù)測(cè)而高精度地進(jìn)行預(yù)測(cè)的情形少,所以例如在16×16像素以上的塊尺寸的預(yù)測(cè)塊Pin中不應(yīng)用式(2)而設(shè)為以往的水平方向預(yù)測(cè)的預(yù)測(cè)值(預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素的亮度值S(-1,y)),僅在比16×16像素小的塊中應(yīng)用式(2),從而相比于以往的水平方向預(yù)測(cè),能夠提高預(yù)測(cè)性能,并且抑制運(yùn)算量的增加。
另外,在針對(duì)預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)模式的索引值是2(平均值預(yù)測(cè))的情況下,將預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素和預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素的平均值作為預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值而生成預(yù)測(cè)圖像。
在幀內(nèi)部預(yù)測(cè)模式的索引值是0(垂直方向預(yù)測(cè))、1(水平方向預(yù)測(cè))、2(平均值預(yù)測(cè))以外的情況下,根據(jù)索引值表示的預(yù)測(cè)方向矢量υp=(dx,dy),生成預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值。
如圖9所示,如果以預(yù)測(cè)塊Pin的左上像素為原點(diǎn)而將預(yù)測(cè)塊Pin內(nèi)的相對(duì)坐標(biāo)設(shè)定為(x,y),則預(yù)測(cè)中使用的參照像素的位置成為下述L和鄰接像素的交點(diǎn)。
其中,k是負(fù)的標(biāo)量值。
在參照像素處于整數(shù)像素位置的情況下,將該整數(shù)像素設(shè)為預(yù)測(cè)對(duì)象像素的預(yù)測(cè)值,在參照像素不處于整數(shù)像素位置的情況下,將根據(jù)與參照像素鄰接的整數(shù)像素而生成的插值像素設(shè)為預(yù)測(cè)值。
在圖8的例子中,參照像素不處于整數(shù)像素位置,所以將根據(jù)與參照像素鄰接的2個(gè)像素進(jìn)行內(nèi)插而得到的結(jié)果作為預(yù)測(cè)值。另外,并非僅根據(jù)鄰接的2個(gè)像素,而也可以根據(jù)鄰接的2個(gè)像素以上的像素來(lái)生成插值像素作為預(yù)測(cè)值。
通過(guò)增加插值處理中使用的像素,具有提高插值像素的插值精度的效果,另一方面,由于插值處理所需的運(yùn)算的復(fù)雜度增加,所以在即使運(yùn)算負(fù)荷大但仍要求高編碼性能的運(yùn)動(dòng)圖像編碼裝置的情況下,優(yōu)選根據(jù)更多的像素來(lái)生成插值像素。
通過(guò)同樣的步驟,生成與預(yù)測(cè)塊Pin內(nèi)的亮度信號(hào)的所有像素對(duì)應(yīng)的預(yù)測(cè)像素而輸出幀內(nèi)部預(yù)測(cè)圖像PINTRAin。
另外,關(guān)于幀內(nèi)部預(yù)測(cè)圖像PINTRAin的生成中使用的幀內(nèi)部預(yù)測(cè)參數(shù),為了復(fù)用到比特流而被輸出到可變長(zhǎng)編碼部13。
另外,與之前說(shuō)明的MPEG-4AVC/H.264中的8×8像素的塊的幀內(nèi)部預(yù)測(cè)同樣地,關(guān)于在進(jìn)行幀內(nèi)部預(yù)測(cè)時(shí)使用的像素,也可以并非使用已編碼的鄰接塊內(nèi)的像素自身,而是使用對(duì)這些像素實(shí)施濾波處理而得到的結(jié)果。
針對(duì)預(yù)測(cè)塊Pin的色差信號(hào),也通過(guò)與亮度信號(hào)同樣的步驟,實(shí)施基于幀內(nèi)部預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)模式)的幀內(nèi)部預(yù)測(cè)處理,將幀內(nèi)部預(yù)測(cè)圖像的生成中使用的幀內(nèi)部預(yù)測(cè)參數(shù)輸出到可變長(zhǎng)編碼部13。
其中,在色差信號(hào)中可選擇的幀內(nèi)部預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)模式)無(wú)需與亮度信號(hào)相同,另外,關(guān)于垂直方向預(yù)測(cè)以及水平方向預(yù)測(cè),也可以是以往(MPEG-4AVC/H.264)的預(yù)測(cè)方法。
例如,在YUV信號(hào)4:2:0格式的情況下,色差信號(hào)(U、V信號(hào))是相對(duì)亮度信號(hào)(Y信號(hào))將分辨率在水平方向、垂直方向上都縮小為1/2而得到的信號(hào),相比于亮度信號(hào),圖像信號(hào)的復(fù)雜性低且預(yù)測(cè)容易,所以可選擇的幀內(nèi)部預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)模式)的數(shù)量比亮度信號(hào)少,關(guān)于垂直方向預(yù)測(cè)以及水平方向預(yù)測(cè)也設(shè)為以往的簡(jiǎn)易的預(yù)測(cè)方法,從而幾乎不會(huì)降低預(yù)測(cè)效率而能夠?qū)崿F(xiàn)對(duì)幀內(nèi)部預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)模式)進(jìn)行編碼所需的符號(hào)量的削減、預(yù)測(cè)處理的低運(yùn)算化。
另外,關(guān)于作為垂直方向預(yù)測(cè)中使用的縮放值的1/t、和作為水平方向預(yù)測(cè)中使用的縮放值的1/u,也可以預(yù)先在運(yùn)動(dòng)圖像編碼裝置以及運(yùn)動(dòng)圖像解碼裝置之間約定,但也可以由運(yùn)動(dòng)圖像編碼裝置的幀內(nèi)部預(yù)測(cè)部4按照序列單位或者圖片單位,將t、u輸出到可變長(zhǎng)編碼部13,可變長(zhǎng)編碼部13對(duì)t、u進(jìn)行可變長(zhǎng)編碼而包含到比特流中,運(yùn)動(dòng)圖像解碼裝置從比特流對(duì)t、u進(jìn)行可變長(zhǎng)解碼來(lái)使用。
這樣能夠按照序列單位或者圖片單位對(duì)t、u進(jìn)行自適應(yīng)控制,從而能夠?qū)崿F(xiàn)進(jìn)一步與輸入圖像的影像信號(hào)的特性對(duì)應(yīng)的預(yù)測(cè)處理。
另外,關(guān)于使用式(1)的垂直方向預(yù)測(cè)、式(2)的水平方向預(yù)測(cè)的塊尺寸,也可以預(yù)先在運(yùn)動(dòng)圖像編碼裝置以及運(yùn)動(dòng)圖像解碼裝置之間約定,但也可以由運(yùn)動(dòng)圖像編碼裝置的幀內(nèi)部預(yù)測(cè)部4按照序列單位或者圖片單位,將表示使用式(1)的垂直方向預(yù)測(cè)、式(2)的水平方向預(yù)測(cè)的塊尺寸的每個(gè)塊尺寸的ON(開(kāi))/OFF(關(guān))標(biāo)志輸出到可變長(zhǎng)編碼部13,可變長(zhǎng)編碼部13對(duì)上述ON/OFF標(biāo)志進(jìn)行可變長(zhǎng)編碼而包含到比特流中,運(yùn)動(dòng)圖像解碼裝置從比特流對(duì)上述ON/OFF標(biāo)志進(jìn)行可變長(zhǎng)解碼而使用。
這樣能夠按照序列單位或者圖片單位對(duì)使用式(1)的垂直方向預(yù)測(cè)、式(2)的水平方向預(yù)測(cè)的塊尺寸進(jìn)行自適應(yīng)控制,從而能夠?qū)崿F(xiàn)進(jìn)一步與輸入圖像的影像信號(hào)的特性對(duì)應(yīng)的預(yù)測(cè)處理。
接下來(lái),具體說(shuō)明圖3的運(yùn)動(dòng)圖像解碼裝置的處理內(nèi)容。
可變長(zhǎng)解碼部31如果輸入了由圖1的運(yùn)動(dòng)圖像編碼裝置生成的比特流,則實(shí)施針對(duì)該比特流的可變長(zhǎng)解碼處理(圖4的步驟ST21),按照由1幀以上的圖片構(gòu)成的序列單位、或者圖片單位,對(duì)幀尺寸的信息進(jìn)行解碼。
此時(shí),在垂直方向預(yù)測(cè)中使用的縮放值的參數(shù)t、水平方向預(yù)測(cè)中使用的縮放值的參數(shù)u、表示使用式(1)的垂直方向預(yù)測(cè)、式(2)的水平方向預(yù)測(cè)的塊尺寸的每個(gè)塊尺寸的ON/OFF標(biāo)志中,只要任意一個(gè)被可變長(zhǎng)編碼并被復(fù)用到比特流的情況下,就按照由圖1的運(yùn)動(dòng)圖像編碼裝置編碼了的單位(序列單位或者圖片單位)進(jìn)行解碼。
可變長(zhǎng)解碼部31通過(guò)與運(yùn)動(dòng)圖像編碼裝置同樣的步驟,決定由圖1的運(yùn)動(dòng)圖像編碼裝置的編碼控制部2決定的最大編碼塊尺寸以及分割層次數(shù)的上限(步驟ST22)。
例如,在根據(jù)影像信號(hào)的分辨率決定了最大編碼塊尺寸、分割層次數(shù)上限的情況下,根據(jù)所解碼的幀尺寸信息,通過(guò)與運(yùn)動(dòng)圖像編碼裝置同樣的步驟來(lái)決定最大編碼塊尺寸。
最大編碼塊尺寸以及分割層次數(shù)上限在運(yùn)動(dòng)圖像編碼裝置側(cè)被復(fù)用到比特流中的情況下,使用從比特流解碼得到的值。
以后,在運(yùn)動(dòng)圖像解碼裝置中,將上述最大編碼塊尺寸稱為最大解碼塊尺寸,將最大編碼塊稱為最大解碼塊。
可變長(zhǎng)解碼部31按照所決定的最大解碼塊單位,對(duì)圖6所示那樣的最大解碼塊的分割狀態(tài)進(jìn)行解碼。根據(jù)所解碼的分割狀態(tài),層次性地確定解碼塊(與圖1的運(yùn)動(dòng)圖像編碼裝置的“編碼塊”相當(dāng)?shù)膲K)(步驟ST23)。
接下來(lái),可變長(zhǎng)解碼部31解碼對(duì)解碼塊分配的編碼模式。根據(jù)所解碼的編碼模式中包含的信息,將解碼塊進(jìn)一步分割為一個(gè)或多個(gè)預(yù)測(cè)處理單位即預(yù)測(cè)塊,解碼對(duì)預(yù)測(cè)塊單位分配的預(yù)測(cè)參數(shù)(步驟ST24)。
在對(duì)解碼塊分配的編碼模式是幀內(nèi)部編碼模式的情況下,可變長(zhǎng)解碼部31針對(duì)包含在解碼塊中且成為預(yù)測(cè)處理單位的一個(gè)以上的預(yù)測(cè)塊的每一個(gè),對(duì)幀內(nèi)部預(yù)測(cè)參數(shù)進(jìn)行解碼。
進(jìn)而,可變長(zhǎng)解碼部31根據(jù)預(yù)測(cè)差分編碼參數(shù)中包含的變換塊尺寸的信息,將解碼塊分割為成為變換處理單位的一個(gè)或多個(gè)變換塊,針對(duì)每個(gè)變換塊,對(duì)壓縮數(shù)據(jù)(變換/量化后的變換系數(shù))進(jìn)行解碼(步驟ST24)。
在切換開(kāi)關(guān)33中,如果由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的編碼模式m(Bn)是幀內(nèi)部編碼模式(m(Bn)∈INTRA的情況),則將由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的預(yù)測(cè)塊單位的幀內(nèi)部預(yù)測(cè)參數(shù)輸出到幀內(nèi)部預(yù)測(cè)部34。
另一方面,如果由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的編碼模式m(Bn)是幀間編碼模式(m(Bn)∈INTER的情況),則將由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的預(yù)測(cè)塊單位的幀間預(yù)測(cè)參數(shù)以及運(yùn)動(dòng)矢量輸出到運(yùn)動(dòng)補(bǔ)償部35。
幀內(nèi)部預(yù)測(cè)部34在由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的編碼模式m(Bn)是幀內(nèi)部編碼模式(m(Bn)∈INTRA)的情況下(步驟ST25),接收從切換開(kāi)關(guān)33輸出的預(yù)測(cè)塊單位的幀內(nèi)部預(yù)測(cè)參數(shù),通過(guò)與圖1的幀內(nèi)部預(yù)測(cè)部4同樣的步驟,一邊參照幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器37中儲(chǔ)存的解碼圖像,一邊實(shí)施使用了上述幀內(nèi)部預(yù)測(cè)參數(shù)的針對(duì)解碼塊Bn內(nèi)的各預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)處理,生成幀內(nèi)部預(yù)測(cè)圖像PINTRAin(步驟ST26)。
即,幀內(nèi)部預(yù)測(cè)部34在針對(duì)預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)模式的索引值是0(垂直方向預(yù)測(cè))的情況下,根據(jù)上述式(1)計(jì)算預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值,生成幀內(nèi)部預(yù)測(cè)圖像PINTRAin。
另外,在針對(duì)預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)模式的索引值是1(水平方向預(yù)測(cè))的情況下,根據(jù)上述式(2)計(jì)算預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值,生成幀內(nèi)部預(yù)測(cè)圖像PINTRAin。
但是,在使用式(1)的垂直方向預(yù)測(cè)、式(2)的水平方向預(yù)測(cè)的塊尺寸被限制了的情況下,在使用式(1)的垂直方向預(yù)測(cè)、式(2)的水平方向預(yù)測(cè)的塊尺寸以外的尺寸的預(yù)測(cè)塊Pin中通過(guò)以往(MPEG-4AVC/H.264)的垂直方向預(yù)測(cè)及水平方向預(yù)測(cè)進(jìn)行幀內(nèi)部預(yù)測(cè)處理。
運(yùn)動(dòng)補(bǔ)償部35在由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的編碼模式m(Bn)是幀間編碼模式(m(Bn)∈INTER)的情況下(步驟ST25),接收從切換開(kāi)關(guān)33輸出的預(yù)測(cè)塊單位的運(yùn)動(dòng)矢量和幀間預(yù)測(cè)參數(shù),一邊參照運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器39中儲(chǔ)存的濾波處理后的解碼圖像,一邊實(shí)施使用了上述運(yùn)動(dòng)矢量和幀間預(yù)測(cè)參數(shù)的針對(duì)解碼塊內(nèi)的各預(yù)測(cè)塊Pin的幀間預(yù)測(cè)處理來(lái)生成幀間預(yù)測(cè)圖像PINTERin(步驟ST27)。
逆量化/逆變換部32如果從可變長(zhǎng)解碼部31接收到壓縮數(shù)據(jù)以及預(yù)測(cè)差分編碼參數(shù),則通過(guò)與圖1的逆量化/逆變換部8同樣的步驟,參照該預(yù)測(cè)差分編碼參數(shù),對(duì)該壓縮數(shù)據(jù)進(jìn)行逆量化,并且參照該預(yù)測(cè)差分編碼參數(shù),實(shí)施針對(duì)作為逆量化后的壓縮數(shù)據(jù)的變換系數(shù)的逆正交變換處理,計(jì)算與從圖1的逆量化/逆變換部8輸出的局部解碼預(yù)測(cè)差分信號(hào)相同的解碼預(yù)測(cè)差分信號(hào)(步驟ST28)。
加法部36將由逆量化/逆變換部32計(jì)算出的解碼預(yù)測(cè)差分信號(hào)、與由幀內(nèi)部預(yù)測(cè)部34生成的幀內(nèi)部預(yù)測(cè)圖像PINTRAin和由運(yùn)動(dòng)補(bǔ)償部35生成的幀間預(yù)測(cè)圖像PINTERin中的某一方進(jìn)行相加而計(jì)算出解碼圖像,并輸出到環(huán)路濾波器部38,并且將該解碼圖像儲(chǔ)存到幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器37中(步驟ST29)。
該解碼圖像成為在以后的幀內(nèi)部預(yù)測(cè)處理時(shí)使用的已解碼的圖像信號(hào)。
在環(huán)路濾波器部38中,如果針對(duì)所有解碼塊Bn的步驟ST23~ST29的處理完成(步驟ST30),則對(duì)從加法部36輸出的解碼圖像實(shí)施規(guī)定的濾波處理,將濾波處理后的解碼圖像儲(chǔ)存到運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器39中(步驟ST31)。
另外,關(guān)于環(huán)路濾波器部38的濾波處理,即可以以所輸入的解碼圖像的最大解碼塊或者各個(gè)解碼塊為單位來(lái)進(jìn)行,也可以在輸入了1個(gè)圖片量的解碼圖像之后集中1個(gè)圖片量來(lái)進(jìn)行。
另外,作為規(guī)定的濾波處理的例子,可以舉出以使編碼塊邊界的不連續(xù)性(塊噪聲)不會(huì)變得顯著的方式對(duì)塊邊界進(jìn)行濾波的處理、對(duì)解碼圖像的失真進(jìn)行補(bǔ)償?shù)臑V波處理等。
該解碼圖像成為運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)用的參照?qǐng)D像,并且成為再生圖像。
根據(jù)以上可知,根據(jù)該實(shí)施方式1,運(yùn)動(dòng)圖像編碼裝置的幀內(nèi)部預(yù)測(cè)部4構(gòu)成為在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是水平方向預(yù)測(cè)處理的情況下,對(duì)預(yù)測(cè)塊的左面所鄰接的像素的亮度值相加與預(yù)測(cè)塊的上面所鄰接的像素的水平方向的亮度值變化量成比例的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是垂直方向預(yù)測(cè)處理的情況下,對(duì)預(yù)測(cè)塊的上面所鄰接的像素的亮度值相加與預(yù)測(cè)塊的左面所鄰接的像素的垂直方向的亮度值變化量成比例的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,所以起到即使在信號(hào)值沿著預(yù)測(cè)方向而變化的情況下也能夠?qū)崿F(xiàn)高精度的預(yù)測(cè)來(lái)提高圖像質(zhì)量的效果。
另外,根據(jù)該實(shí)施方式1,運(yùn)動(dòng)圖像解碼裝置的幀內(nèi)部預(yù)測(cè)部34構(gòu)成為在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是水平方向預(yù)測(cè)處理的情況下,對(duì)預(yù)測(cè)塊的左面所鄰接的像素的亮度值相加與預(yù)測(cè)塊的上面所鄰接的像素的水平方向的亮度值變化量成比例的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是垂直方向預(yù)測(cè)處理的情況下,對(duì)預(yù)測(cè)塊的上面所鄰接的像素的亮度值相加與預(yù)測(cè)塊的左面所鄰接的像素的垂直方向的亮度值變化量成比例的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,所以起到即使在信號(hào)值沿著預(yù)測(cè)方向而變化的情況下也能夠?qū)崿F(xiàn)高精度的預(yù)測(cè)來(lái)提高圖像質(zhì)量的效果。
根據(jù)該實(shí)施方式1,關(guān)于由幀內(nèi)部預(yù)測(cè)部4、34實(shí)施水平方向預(yù)測(cè)處理時(shí)所使用的縮放值即1/u,構(gòu)成為越是與從預(yù)測(cè)塊的上面所鄰接的像素起距離遠(yuǎn)的行有關(guān)的縮放值,設(shè)定為越小的值,所以越是與預(yù)測(cè)塊的上面所鄰接的像素之間的距離遠(yuǎn)而相關(guān)變低的像素,越能夠使預(yù)測(cè)塊的上面所鄰接的像素的影響變小,其結(jié)果,起到能夠高精度地進(jìn)行預(yù)測(cè)的效果。
另外,關(guān)于由幀內(nèi)部預(yù)測(cè)部4、34實(shí)施垂直方向預(yù)測(cè)處理時(shí)所使用的縮放值即1/t,構(gòu)成為越是與從預(yù)測(cè)塊的左面所鄰接的像素起距離遠(yuǎn)的列有關(guān)的縮放值,設(shè)定為越小的值,所以越是與預(yù)測(cè)塊的左面所鄰接的像素之間的距離遠(yuǎn)而相關(guān)變低的像素,越能夠使預(yù)測(cè)塊的左面所鄰接的像素的影響變小,其結(jié)果,起到能夠高精度地進(jìn)行預(yù)測(cè)的效果。
另外,在該實(shí)施方式1中,示出了由幀內(nèi)部預(yù)測(cè)部4、34實(shí)施水平方向預(yù)測(cè)處理時(shí)的預(yù)測(cè)塊內(nèi)的第N行(從預(yù)測(cè)塊的上端起第N行)的縮放值是1/2N+1(=1/2,1/4,1/8,1/16,···)、由幀內(nèi)部預(yù)測(cè)部4、34實(shí)施垂直方向預(yù)測(cè)處理時(shí)的預(yù)測(cè)塊內(nèi)的第M列(從預(yù)測(cè)塊的左端起第M列)的縮放值是1/2M+1(=1/2,1/4,1/8,1/16,···)的例子,但這只是一個(gè)例子,只要由幀內(nèi)部預(yù)測(cè)部4、34實(shí)施水平方向預(yù)測(cè)處理時(shí)越是從預(yù)測(cè)塊的上端遠(yuǎn)離的行的縮放值越小、并且由幀內(nèi)部預(yù)測(cè)部4、34實(shí)施垂直方向預(yù)測(cè)處理時(shí)越是從預(yù)測(cè)塊的左端遠(yuǎn)離的列的縮放值越小,就可以是任意值。
實(shí)施方式2.
在上述實(shí)施方式1中,幀內(nèi)部預(yù)測(cè)部4、34在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是垂直方向預(yù)測(cè)處理的情況下,對(duì)預(yù)測(cè)塊的上面所鄰接的像素的亮度值,相加對(duì)該預(yù)測(cè)塊的左面所鄰接的像素的垂直方向的亮度值變化量乘以針對(duì)預(yù)測(cè)塊內(nèi)的每列設(shè)定的縮放值而得到的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,但為了實(shí)現(xiàn)低運(yùn)算的處理,也可以關(guān)于從預(yù)測(cè)塊內(nèi)的左端起的規(guī)定的幾列,對(duì)該預(yù)測(cè)塊的上面所鄰接的像素的亮度值,相加與該預(yù)測(cè)塊的左面所鄰接的像素的垂直方向的亮度值變化量成比例的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,但關(guān)于該預(yù)測(cè)塊內(nèi)的剩余的列,將該預(yù)測(cè)塊的上面所鄰接的像素的亮度值決定為預(yù)測(cè)圖像的預(yù)測(cè)值。
另外,根據(jù)同樣的理由,在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是水平方向預(yù)測(cè)處理的情況下,也可以關(guān)于從預(yù)測(cè)塊內(nèi)的上端起的規(guī)定的幾行,對(duì)該預(yù)測(cè)塊的左面所鄰接的像素的亮度值,相加對(duì)該預(yù)測(cè)塊的上面所鄰接的像素的水平方向的亮度值變化量乘以針對(duì)預(yù)測(cè)塊內(nèi)的每行設(shè)定的縮放值而得到的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,但關(guān)于該預(yù)測(cè)塊內(nèi)的剩余的行,將該預(yù)測(cè)塊的左面所鄰接的像素的亮度值決定為預(yù)測(cè)圖像的預(yù)測(cè)值。
以下,具體說(shuō)明幀內(nèi)部預(yù)測(cè)部4、34的處理內(nèi)容。
幀內(nèi)部預(yù)測(cè)部4、34在針對(duì)預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)模式的索引值是0(垂直方向預(yù)測(cè))的情況下,根據(jù)下述式(4)計(jì)算預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值來(lái)生成預(yù)測(cè)圖像。
其中,B是0以上的整數(shù),在應(yīng)用式(4)的上式的x<B時(shí),在所計(jì)算出的預(yù)測(cè)值超過(guò)亮度值可取的值的范圍的情況下,以使預(yù)測(cè)值收斂于該范圍內(nèi)的方式對(duì)值進(jìn)行舍入。
使B的值越小,能夠?qū)崿F(xiàn)越低運(yùn)算的處理,在B=0的情況下,與僅使用預(yù)測(cè)塊Pin的上面所鄰接的已編碼(已解碼)像素的亮度值S(x,-1)的以往(MPEG-4AVC/H.264)的垂直方向預(yù)測(cè)一致。
B的值也可以根據(jù)預(yù)測(cè)塊Pin的塊尺寸而變更。一般,如果所預(yù)測(cè)的塊尺寸變大,則在塊內(nèi)易于包含各種信號(hào)變化,難以在單一的方向上進(jìn)行預(yù)測(cè),所以能夠利用方向性預(yù)測(cè)高精度地進(jìn)行預(yù)測(cè)的情形減少。
因此,僅在預(yù)測(cè)塊Pin的塊尺寸小于規(guī)定尺寸的情況下設(shè)定為B≥1,如果預(yù)測(cè)塊Pin的塊尺寸是規(guī)定尺寸以上,則設(shè)為B=0。
例如,如果規(guī)定尺寸是16×16像素,則在16×16像素以上的塊尺寸的預(yù)測(cè)塊Pin中成為B=0,所以與以往的垂直方向預(yù)測(cè)相同,能夠抑制運(yùn)算處理的增加。即,在B=0的塊尺寸中,屬于x<B或x≥B中的哪一個(gè)的條件判定處理變得不需要,所以始終不進(jìn)行上述條件判定處理而進(jìn)行以往的垂直方向預(yù)測(cè),從而不會(huì)發(fā)生任何由以往的垂直方向預(yù)測(cè)處理所致的運(yùn)算處理的增加。
另一方面,在4×4像素、8×8像素等比16×16像素小的塊尺寸的預(yù)測(cè)塊Pin中,成為B≥1,所以相比于以往的垂直方向預(yù)測(cè),能夠提高預(yù)測(cè)性能。
例如,在4×4像素的塊尺寸的預(yù)測(cè)塊Pin中,在是B=1的情況下,針對(duì)預(yù)測(cè)塊Pin內(nèi)的最左邊的列,應(yīng)用式(4)的上式,相加與預(yù)測(cè)塊的左面所鄰接的像素的垂直方向的亮度值變化量成比例的值。
另一方面,針對(duì)預(yù)測(cè)塊Pin內(nèi)的從左端起的第2~第4列,應(yīng)用式(4)的下式,不相加與預(yù)測(cè)塊的左面所鄰接的像素的垂直方向的亮度值變化量成比例的值。
通過(guò)這樣將B的值設(shè)定為小的值,能夠大幅抑制運(yùn)算量的增加。
另外,作為實(shí)際的裝置,也可以如上述式(4)所示,在x<B的位置的像素和x≥B的位置的像素中,區(qū)分地構(gòu)成預(yù)測(cè)值的計(jì)算式,還可以構(gòu)成為針對(duì)預(yù)測(cè)塊Pin內(nèi)的所有像素,在拷貝了作為以往的垂直方向預(yù)測(cè)的預(yù)測(cè)值的預(yù)測(cè)塊Pin的上面所鄰接的已編碼(已解碼)像素的亮度值S(x,-1)之后,僅對(duì)x<B的位置的像素相加將S(-1,y)-S(-1,-1)縮放為1/t而得到的值等,只要能夠計(jì)算與上述式等價(jià)的預(yù)測(cè)值,則可以任意地構(gòu)成。
另外,幀內(nèi)部預(yù)測(cè)部4、34在針對(duì)預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)模式的索引值是1(水平方向預(yù)測(cè))的情況下,根據(jù)下述式(5)計(jì)算預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值來(lái)生成預(yù)測(cè)圖像。
其中,C是0以上的整數(shù),在應(yīng)用式(5)的上式的x<C時(shí),在所計(jì)算出的預(yù)測(cè)值超過(guò)亮度值可取的值的范圍的情況下,以使預(yù)測(cè)值收斂于該范圍內(nèi)的方式對(duì)值進(jìn)行舍入。
使C的值越小,能夠?qū)崿F(xiàn)越低運(yùn)算的處理,在C=0的情況下,與僅使用預(yù)測(cè)塊Pin的左面所鄰接的已編碼(已解碼)像素的亮度值S(-1,y)的以往(MPEG-4AVC/H.264)的水平方向預(yù)測(cè)一致。
C的值也可以根據(jù)預(yù)測(cè)塊Pin的塊尺寸而變更。一般,如果所預(yù)測(cè)的塊尺寸變大,則在塊內(nèi)易于包含各種信號(hào)變化,難以在單一的方向上進(jìn)行預(yù)測(cè),所以能夠通過(guò)方向性預(yù)測(cè)來(lái)高精度地進(jìn)行預(yù)測(cè)的情形減少。
因此,僅在預(yù)測(cè)塊Pin的塊尺寸比規(guī)定尺寸小的情況下設(shè)定為C≥1,如果預(yù)測(cè)塊Pin的塊尺寸是規(guī)定尺寸以上,則設(shè)為C=0。
例如,如果規(guī)定尺寸是16×16像素,則在16×16像素以上的塊尺寸的預(yù)測(cè)塊Pin中,成為C=0,所以與以往的水平方向預(yù)測(cè)相同,能夠抑制運(yùn)算處理的增加。即,在C=0的塊尺寸中,屬于y<C或y≥C中的哪一個(gè)的條件判定處理變得不需要,所以始終不進(jìn)行上述條件判定處理而進(jìn)行以往的水平方向預(yù)測(cè),從而不會(huì)發(fā)生任何由以往的水平方向預(yù)測(cè)處理所致的運(yùn)算處理的增加。
另一方面,在4×4像素、8×8像素等比16×16像素小的塊尺寸的預(yù)測(cè)塊Pin中,成為C≥1,所以相比于以往的水平方向預(yù)測(cè),能夠提高預(yù)測(cè)性能,并且大幅抑制運(yùn)算量的增加。
例如,在4×4像素的塊尺寸的預(yù)測(cè)塊Pin中,在是C=1的情況下,針對(duì)預(yù)測(cè)塊Pin內(nèi)的最上面的行,應(yīng)用式(5)的上式,相加與預(yù)測(cè)塊的上面所鄰接的像素的水平方向的亮度值變化量成比例的值。
另一方面,針對(duì)預(yù)測(cè)塊Pin內(nèi)的從上端起的第2~第4行,應(yīng)用式(5)的下式,不相加與預(yù)測(cè)塊的上面所鄰接的像素的水平方向的亮度值變化量成比例的值。
通過(guò)這樣將C的值設(shè)定為小的值,能夠大幅抑制運(yùn)算量的增加。
另外,作為實(shí)際的裝置,也可以如上述式(5)所示,在y<C的位置的像素和y≥C的位置的像素中,區(qū)分地構(gòu)成預(yù)測(cè)值的計(jì)算式,還可以構(gòu)成為針對(duì)預(yù)測(cè)塊Pin內(nèi)的所有像素,在拷貝了作為以往的水平方向預(yù)測(cè)的預(yù)測(cè)值的預(yù)測(cè)塊Pin的左面所鄰接的已編碼(已解碼)像素的亮度值S(-1,y)之后,僅對(duì)y<C的位置的像素相加將S(x,-1)-S(-1,-1)縮放為1/u而得到的值等,只要能夠計(jì)算與上述式等價(jià)的預(yù)測(cè)值,就可以任意地構(gòu)成。
另外,關(guān)于作為在垂直方向預(yù)測(cè)中使用的縮放值的1/t、B(對(duì)預(yù)測(cè)塊的上面所鄰接的像素的亮度值相加與編碼塊的左面所鄰接的像素的垂直方向的亮度值變化量成比例的值的表示預(yù)測(cè)塊內(nèi)的列的塊內(nèi)信息)、和作為在水平方向預(yù)測(cè)中使用的縮放值的1/u、C(對(duì)預(yù)測(cè)塊的左面所鄰接的像素的亮度值相加與預(yù)測(cè)塊的上面所鄰接的像素的水平方向的亮度值變化量成比例的值的表示預(yù)測(cè)塊內(nèi)的行的塊內(nèi)信息),也可以預(yù)先在運(yùn)動(dòng)圖像編碼裝置以及運(yùn)動(dòng)圖像解碼裝置之間約定,但也可以由運(yùn)動(dòng)圖像編碼裝置的幀內(nèi)部預(yù)測(cè)部4按照序列單位或者圖片單位,將t、u、B、C輸出到可變長(zhǎng)編碼部13,由可變長(zhǎng)編碼部13對(duì)t、u、B、C進(jìn)行可變長(zhǎng)編碼而包含到比特流中,并由運(yùn)動(dòng)圖像解碼裝置從比特流對(duì)t、u、B、C進(jìn)行可變長(zhǎng)解碼來(lái)使用。
這樣按照序列單位或者圖片單位,能夠自適應(yīng)地控制t、u、B、C,從而能夠?qū)崿F(xiàn)進(jìn)一步與輸入圖像的影像信號(hào)的特性對(duì)應(yīng)的預(yù)測(cè)處理。
另外,關(guān)于使用式(4)的垂直方向預(yù)測(cè)、式(5)的水平方向預(yù)測(cè)的塊尺寸,也可以預(yù)先在運(yùn)動(dòng)圖像編碼裝置以及運(yùn)動(dòng)圖像解碼裝置之間約定,但也可以由運(yùn)動(dòng)圖像編碼裝置的幀內(nèi)部預(yù)測(cè)部4按照序列單位或者圖片單位,將表示使用式(4)的垂直方向預(yù)測(cè)、式(5)的水平方向預(yù)測(cè)的塊尺寸的每個(gè)塊尺寸的ON/OFF標(biāo)志輸出到可變長(zhǎng)編碼部13,由可變長(zhǎng)編碼部13對(duì)上述ON/OFF標(biāo)志進(jìn)行可變長(zhǎng)編碼而包含到比特流中,并由運(yùn)動(dòng)圖像解碼裝置從比特流對(duì)上述ON/OFF標(biāo)志進(jìn)行可變長(zhǎng)解碼來(lái)使用。
這樣按照序列單位或者圖片單位,能夠自適應(yīng)地控制使用式(4)的垂直方向預(yù)測(cè)、式(5)的水平方向預(yù)測(cè)的塊尺寸,從而能夠?qū)崿F(xiàn)進(jìn)一步與輸入圖像的影像信號(hào)的特性對(duì)應(yīng)的預(yù)測(cè)處理。
通過(guò)以上可知,根據(jù)該實(shí)施方式2,幀內(nèi)部預(yù)測(cè)部4、34構(gòu)成為在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是水平方向預(yù)測(cè)處理的情況下,關(guān)于從預(yù)測(cè)塊內(nèi)的上端起的規(guī)定的幾行,對(duì)該預(yù)測(cè)塊的左面所鄰接的像素的亮度值,相加與該預(yù)測(cè)塊的上面所鄰接的像素的水平方向的亮度值變化量成比例的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,但關(guān)于該預(yù)測(cè)塊內(nèi)的剩余的行,將該預(yù)測(cè)塊的左面所鄰接的像素的亮度值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,所以起到能夠抑制運(yùn)算量的增加并且改善水平方向預(yù)測(cè)的預(yù)測(cè)效率的效果。
另外,幀內(nèi)部預(yù)測(cè)部4、34構(gòu)成為在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是垂直方向預(yù)測(cè)處理的情況下,關(guān)于從預(yù)測(cè)塊內(nèi)的左端起的規(guī)定的幾列,對(duì)該預(yù)測(cè)塊的上面所鄰接的像素的亮度值,相加與該預(yù)測(cè)塊的左面所鄰接的像素的垂直方向的亮度值變化量成比例的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,但關(guān)于該預(yù)測(cè)塊內(nèi)的剩余的列,將該預(yù)測(cè)塊的上面所鄰接的像素的亮度值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,所以起到能夠抑制運(yùn)算量的增加并且改善垂直方向預(yù)測(cè)的預(yù)測(cè)效率的效果。
實(shí)施方式3.
該實(shí)施方式3中的運(yùn)動(dòng)圖像編碼裝置的結(jié)構(gòu)圖與上述實(shí)施方式1中示出的圖1相同,該實(shí)施方式3中的運(yùn)動(dòng)圖像解碼裝置的結(jié)構(gòu)圖與上述實(shí)施方式1中示出的圖3相同。
接下來(lái),說(shuō)明動(dòng)作。
在該實(shí)施方式3中,說(shuō)明如下的運(yùn)動(dòng)圖像編碼裝置和運(yùn)動(dòng)圖像解碼裝置,其中,該運(yùn)動(dòng)圖像編碼裝置將影像的各幀圖像作為輸入圖像,實(shí)施從已編碼的附近像素進(jìn)行的幀內(nèi)部預(yù)測(cè)或者鄰近幀間的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè),針對(duì)所得到的預(yù)測(cè)差分信號(hào)實(shí)施基于正交變換/量化的壓縮處理,之后進(jìn)行可變長(zhǎng)編碼來(lái)生成比特流,該運(yùn)動(dòng)圖像解碼裝置對(duì)從該運(yùn)動(dòng)圖像編碼裝置輸出的比特流進(jìn)行解碼。
圖1的運(yùn)動(dòng)圖像編碼裝置的特征在于,適應(yīng)于影像信號(hào)的空間/時(shí)間方向的局部性的變化,而將影像信號(hào)分割為各種尺寸的塊,來(lái)進(jìn)行幀內(nèi)/幀間自適應(yīng)編碼。
一般,影像信號(hào)具有在空間/時(shí)間上信號(hào)的復(fù)雜度局部地變化的特性。在空間上觀察時(shí),有時(shí)在某個(gè)影像幀上,例如既有在天空、壁等那樣的比較寬的圖像區(qū)域中具有均勻的信號(hào)特性的圖樣,也混合存在人物或包含細(xì)微的紋理的繪畫(huà)等在小的圖像區(qū)域內(nèi)具有復(fù)雜的紋理圖案的圖樣。
即使在時(shí)間上觀察,雖然關(guān)于天空、壁,局部性地時(shí)間方向的圖樣的變化小,但關(guān)于活動(dòng)的人物、物體,由于其輪廓在時(shí)間上進(jìn)行剛體/非剛體的運(yùn)動(dòng),所以時(shí)間上的變化大。
在編碼處理中,進(jìn)行通過(guò)時(shí)間/空間上的預(yù)測(cè)來(lái)生成信號(hào)功率或熵小的預(yù)測(cè)差分信號(hào)從而削減整體的符號(hào)量的處理,但只要能夠?qū)㈩A(yù)測(cè)中使用的參數(shù)均勻地應(yīng)用于盡可能大的圖像信號(hào)區(qū)域,就能夠減小該參數(shù)的符號(hào)量。
另一方面,如果針對(duì)時(shí)間上/空間上變化大的圖像信號(hào)圖案,將同一預(yù)測(cè)參數(shù)應(yīng)用于大的圖像區(qū)域,則預(yù)測(cè)的錯(cuò)誤增加,所以預(yù)測(cè)差分信號(hào)的符號(hào)量增加。
因此,在時(shí)間上/空間上變化大的區(qū)域中,優(yōu)選減小應(yīng)用同一預(yù)測(cè)參數(shù)來(lái)進(jìn)行預(yù)測(cè)處理的塊尺寸,增加預(yù)測(cè)中使用的參數(shù)的數(shù)據(jù)量,降低預(yù)測(cè)差分信號(hào)的功率/熵。
在該實(shí)施方式3中,為了進(jìn)行與這樣的影像信號(hào)的一般的性質(zhì)適應(yīng)的編碼,采用如下結(jié)構(gòu):最初從規(guī)定的最大塊尺寸開(kāi)始預(yù)測(cè)處理等,層次性地分割影像信號(hào)的區(qū)域,針對(duì)所分割的每個(gè)區(qū)域,使預(yù)測(cè)處理、其預(yù)測(cè)差分的編碼處理自適應(yīng)化。
關(guān)于圖1的運(yùn)動(dòng)圖像編碼裝置設(shè)為處理對(duì)象的影像信號(hào)格式,除了由亮度信號(hào)和2個(gè)色差信號(hào)構(gòu)成的YUV信號(hào)、從數(shù)字?jǐn)z像元件輸出的RGB信號(hào)等任意的顏色空間的彩色影像信號(hào)以外,還設(shè)為單色圖像信號(hào)、紅外線圖像信號(hào)等影像幀由水平和垂直二維的數(shù)字采樣(像素)列構(gòu)成的任意的影像信號(hào)。
其中,各像素的灰度既可以是8比特,也可以是10比特、12比特等灰度。
在以下的說(shuō)明中,為了方便,只要沒(méi)有特別說(shuō)明,就說(shuō)明設(shè)為輸入圖像的影像信號(hào)是YUV信號(hào)、并且處理2個(gè)色差分量U、V相對(duì)亮度分量Y被子采樣了的4:2:0格式的信號(hào)的情況。
另外,將與影像信號(hào)的各幀對(duì)應(yīng)的處理數(shù)據(jù)單位稱為“圖片”。
在該實(shí)施方式3中,將“圖片”設(shè)為依次掃描(逐行掃描)了的影像幀信號(hào)而進(jìn)行說(shuō)明,但在影像信號(hào)是隔行掃描信號(hào)的情況下,“圖片”也可以是作為構(gòu)成影像幀的單位的場(chǎng)圖像信號(hào)。
最初,說(shuō)明圖1的運(yùn)動(dòng)圖像編碼裝置的處理內(nèi)容。
首先,編碼控制部2決定成為編碼對(duì)象的圖片(當(dāng)前圖片)的編碼中使用的最大編碼塊的尺寸、和對(duì)最大編碼塊進(jìn)行層次分割的層次數(shù)的上限(圖2的步驟ST1)。
作為最大編碼塊的尺寸的決定方法,例如既可以根據(jù)輸入圖像的影像信號(hào)的分辨率而對(duì)所有圖片決定同一尺寸,也可以將輸入圖像的影像信號(hào)的局部性的運(yùn)動(dòng)的復(fù)雜度的差異作為參數(shù)而進(jìn)行定量化,對(duì)于運(yùn)動(dòng)劇烈的圖片決定小的尺寸,另一方面對(duì)于運(yùn)動(dòng)少的圖片決定大的尺寸。
作為分割層次數(shù)的上限的決定方法,例如有根據(jù)輸入圖像的影像信號(hào)的分辨率針對(duì)所有圖片決定同一層次數(shù)的方法、或在輸入圖像的影像信號(hào)的運(yùn)動(dòng)劇烈的情況下設(shè)定為增大層次數(shù)而能夠檢測(cè)更細(xì)微的運(yùn)動(dòng)且在運(yùn)動(dòng)少的情況下設(shè)定為抑制層次數(shù)的方法等。
另外,編碼控制部2從可利用的1個(gè)以上的編碼模式中選擇與層次性地分割的各個(gè)編碼塊對(duì)應(yīng)的編碼模式(步驟ST2)。
即,編碼控制部2針對(duì)最大編碼塊尺寸的每個(gè)圖像區(qū)域,直至達(dá)到預(yù)先決定的分割層次數(shù)的上限為止,層次性地分割為具有編碼塊尺寸的編碼塊,決定針對(duì)各個(gè)編碼塊的編碼模式。
在編碼模式中有一個(gè)或多個(gè)幀內(nèi)部編碼模式(總稱為“INTRA”)、和一個(gè)或多個(gè)幀間編碼模式(總稱為“INTER”),編碼控制部2從在該圖片中可利用的所有編碼模式或者其子集中,選擇與各個(gè)編碼塊對(duì)應(yīng)的編碼模式。
其中,由后述塊分割部1層次性地分割的各個(gè)編碼塊被進(jìn)一步分割為作為進(jìn)行預(yù)測(cè)處理的單位的一個(gè)或多個(gè)預(yù)測(cè)塊,預(yù)測(cè)塊的分割狀態(tài)也作為信息而被包含于編碼模式中。
編碼控制部2的編碼模式的選擇方法是公知的技術(shù),所以省略詳細(xì)的說(shuō)明,例如有如下方法等:使用可利用的任意的編碼模式來(lái)實(shí)施針對(duì)編碼塊的編碼處理而驗(yàn)證編碼效率,在可利用的多個(gè)編碼模式中選擇編碼效率最佳的編碼模式。
另外,編碼控制部2針對(duì)各個(gè)編碼塊的每一個(gè),決定在壓縮差分圖像時(shí)使用的量化參數(shù)以及變換塊尺寸,并且決定在實(shí)施預(yù)測(cè)處理時(shí)使用的預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)參數(shù)或者幀間預(yù)測(cè)參數(shù))。
其中,在編碼塊進(jìn)一步被分割為進(jìn)行預(yù)測(cè)處理的預(yù)測(cè)塊單位的情況下,能夠針對(duì)每個(gè)預(yù)測(cè)塊選擇預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)參數(shù)或者幀間預(yù)測(cè)參數(shù))。
進(jìn)而,在編碼模式是幀內(nèi)部編碼模式的編碼塊中,由于在如后所述那樣進(jìn)行幀內(nèi)部預(yù)測(cè)處理時(shí)使用與預(yù)測(cè)塊鄰接的已編碼的像素,所以需要按照預(yù)測(cè)塊單位進(jìn)行編碼,所以可選擇的變換塊尺寸被限制為預(yù)測(cè)塊的尺寸以下。
編碼控制部2將包括量化參數(shù)以及變換塊尺寸的預(yù)測(cè)差分編碼參數(shù)輸出到變換/量化部7、逆量化/逆變換部8以及可變長(zhǎng)編碼部13。
另外,編碼控制部2將幀內(nèi)部預(yù)測(cè)參數(shù)根據(jù)需要而輸出到幀內(nèi)部預(yù)測(cè)部4。
另外,編碼控制部2將幀間預(yù)測(cè)參數(shù)根據(jù)需要而輸出到運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5。
如果輸入了輸入圖像的影像信號(hào),則塊分割部1將該輸入圖像的影像信號(hào)分割為由編碼控制部2決定的最大編碼塊尺寸,進(jìn)而將分割了的最大編碼塊層次性地分割為由編碼控制部2決定的編碼塊,并輸出該編碼塊。
此處,圖5是示出最大編碼塊被層次性地分割為多個(gè)編碼塊的例子的說(shuō)明圖。
在圖5中,最大編碼塊是被記載為“第0層次”的亮度分量具有(L0,M0)的尺寸的編碼塊。
將最大編碼塊設(shè)為出發(fā)點(diǎn),直至利用四叉樹(shù)構(gòu)造另行決定的規(guī)定的深度為止,層次性地進(jìn)行分割,從而得到編碼塊。
在深度n中,編碼塊是尺寸(Ln,Mn)的圖像區(qū)域。
其中,Ln和Mn既可以相同,也可以不同,但在圖5中示出了Ln=Mn的情形。
以后,將由編碼控制部2決定的編碼塊尺寸定義為編碼塊的亮度分量中的尺寸(Ln,Mn)。
由于進(jìn)行四叉樹(shù)分割,所以(Ln+1,Mn+1)=(Ln/2,Mn/2)始終成立。
另外,在RGB信號(hào)等所有顏色分量具有同一采樣數(shù)的彩色影像信號(hào)(4:4:4格式)中,所有顏色分量的尺寸成為(Ln,Mn),但在處理4:2:0格式的情況下,所對(duì)應(yīng)的色差分量的編碼塊尺寸成為(Ln/2,Mn/2)。
以后,設(shè)為用Bn來(lái)表示第n層次的編碼塊,用m(Bn)來(lái)表示在編碼塊Bn中可選擇的編碼模式。
在由多個(gè)顏色分量構(gòu)成的彩色影像信號(hào)的情況下,編碼模式m(Bn)既可以構(gòu)成為針對(duì)每個(gè)顏色分量分別使用單獨(dú)的模式,也可以構(gòu)成為針對(duì)所有顏色分量使用共同的模式。以后,只要沒(méi)有特別說(shuō)明,就指與YUV信號(hào)、4:2:0格式的編碼塊的亮度分量對(duì)應(yīng)的編碼模式而進(jìn)行說(shuō)明。
編碼塊Bn如圖6所示,通過(guò)塊分割部1而被分割為表示預(yù)測(cè)處理單位的一個(gè)或多個(gè)預(yù)測(cè)塊。
以后,將屬于編碼塊Bn的預(yù)測(cè)塊記載為Pin(i是第n層次中的預(yù)測(cè)塊編號(hào))。圖5示出P00和P10的一個(gè)例子。
在編碼模式m(Bn)中作為信息而包含有如何進(jìn)行編碼塊Bn的預(yù)測(cè)塊分割。
關(guān)于預(yù)測(cè)塊Pin,全部依照編碼模式m(Bn)進(jìn)行預(yù)測(cè)處理,但能夠針對(duì)每個(gè)預(yù)測(cè)塊Pin,選擇單獨(dú)的預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)參數(shù)或者幀間預(yù)測(cè)參數(shù))。
編碼控制部2針對(duì)最大編碼塊,例如生成圖6所示那樣的塊分割狀態(tài)來(lái)確定編碼塊。
圖6(a)的虛線所包圍的矩形表示各編碼塊,各編碼塊內(nèi)存在的用斜線涂覆的塊表示各預(yù)測(cè)塊的分割狀態(tài)。
圖6(b)是關(guān)于圖6(a)的例子利用四叉樹(shù)圖形表示了通過(guò)層次分割來(lái)分配編碼模式m(Bn)的狀況的圖。圖6(b)的□所包圍的節(jié)點(diǎn)是分配了編碼模式m(Bn)的節(jié)點(diǎn)(編碼塊)。
該四叉樹(shù)圖形的信息與編碼模式m(Bn)一起從編碼控制部2輸出到可變長(zhǎng)編碼部13而被復(fù)用到比特流。
切換開(kāi)關(guān)3在由編碼控制部2決定的編碼模式m(Bn)是幀內(nèi)部編碼模式的情況(m(Bn)∈INTRA的情況)下,將從塊分割部1輸出的編碼塊Bn輸出到幀內(nèi)部預(yù)測(cè)部4。
另一方面,在由編碼控制部2決定的編碼模式m(Bn)是幀間編碼模式的情況(m(Bn)∈INTER的情況)下,將從塊分割部1輸出的編碼塊Bn輸出到運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5。
在幀內(nèi)部預(yù)測(cè)部4中,如果由編碼控制部2決定的編碼模式m(Bn)是幀內(nèi)部編碼模式(m(Bn)∈INTRA的情況),且從切換開(kāi)關(guān)3接收到編碼塊Bn(步驟ST3),則一邊參照幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器10中儲(chǔ)存的局部解碼圖像,一邊使用由編碼控制部2決定的幀內(nèi)部預(yù)測(cè)參數(shù),來(lái)實(shí)施針對(duì)該編碼塊Bn內(nèi)的各預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)處理而生成幀內(nèi)部預(yù)測(cè)圖像PINTRAin(步驟ST4)。
另外,運(yùn)動(dòng)圖像解碼裝置需要生成與幀內(nèi)部預(yù)測(cè)圖像PINTRAin完全相同的幀內(nèi)部預(yù)測(cè)圖像,所以幀內(nèi)部預(yù)測(cè)圖像PINTRAin的生成中使用的幀內(nèi)部預(yù)測(cè)參數(shù)從編碼控制部2輸出到可變長(zhǎng)編碼部13而被復(fù)用到比特流。
在后面詳細(xì)敘述幀內(nèi)部預(yù)測(cè)部4的處理內(nèi)容。
在運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5中,如果由編碼控制部2決定的編碼模式m(Bn)是幀間編碼模式(m(Bn)∈INTER的情況),且從切換開(kāi)關(guān)3接收到編碼塊Bn(步驟ST3),則比較該編碼塊Bn內(nèi)的各預(yù)測(cè)塊Pin和運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器12中儲(chǔ)存的濾波處理后的局部解碼圖像來(lái)搜索運(yùn)動(dòng)矢量,使用該運(yùn)動(dòng)矢量和由編碼控制部2決定的幀間預(yù)測(cè)參數(shù),實(shí)施針對(duì)該編碼塊Bn內(nèi)的各預(yù)測(cè)塊Pin的幀間預(yù)測(cè)處理,生成幀間預(yù)測(cè)圖像PINTERin(步驟ST5)。
另外,運(yùn)動(dòng)圖像解碼裝置需要生成與幀間預(yù)測(cè)圖像PINTERin完全相同的幀間預(yù)測(cè)圖像,所以幀間預(yù)測(cè)圖像PINTERin的生成中使用的幀間預(yù)測(cè)參數(shù)從編碼控制部2輸出到可變長(zhǎng)編碼部13而被復(fù)用到比特流。
另外,由運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5搜索到的運(yùn)動(dòng)矢量也輸出到可變長(zhǎng)編碼部13而被復(fù)用到比特流。
減法部6如果從塊分割部1接收到編碼塊Bn,則從該編碼塊Bn內(nèi)的預(yù)測(cè)塊Pin減去由幀內(nèi)部預(yù)測(cè)部4生成的幀內(nèi)部預(yù)測(cè)圖像PINTRAin或者由運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5生成的幀間預(yù)測(cè)圖像PINTERin中的某一方,將作為其相減結(jié)果的預(yù)測(cè)差分信號(hào)ein輸出到變換/量化部7(步驟ST6)。
變換/量化部7如果從減法部6接收到預(yù)測(cè)差分信號(hào)ein,則參照由編碼控制部2決定的預(yù)測(cè)差分編碼參數(shù),實(shí)施針對(duì)該預(yù)測(cè)差分信號(hào)ein的正交變換處理(例如,DCT(離散余弦變換)、對(duì)預(yù)先確定的學(xué)習(xí)序列進(jìn)行了基底設(shè)計(jì)的KL變換等正交變換處理),計(jì)算變換系數(shù)。
另外,變換/量化部7參照該預(yù)測(cè)差分編碼參數(shù),對(duì)該變換系數(shù)進(jìn)行量化,將作為量化后的變換系數(shù)的壓縮數(shù)據(jù)輸出到逆量化/逆變換部8以及可變長(zhǎng)編碼部13(步驟ST7)。
逆量化/逆變換部8如果從變換/量化部7接收到壓縮數(shù)據(jù),則參照由編碼控制部2決定的預(yù)測(cè)差分編碼參數(shù),對(duì)該壓縮數(shù)據(jù)進(jìn)行逆量化。
另外,逆量化/逆變換部8參照該預(yù)測(cè)差分編碼參數(shù),實(shí)施針對(duì)作為逆量化后的壓縮數(shù)據(jù)的變換系數(shù)的逆正交變換處理(例如,逆DCT、逆KL變換等),計(jì)算與從減法部6輸出的預(yù)測(cè)差分信號(hào)ein相當(dāng)?shù)木植拷獯a預(yù)測(cè)差分信號(hào)并輸出到加法部9(步驟ST8)。
加法部9如果從逆量化/逆變換部8接收到局部解碼預(yù)測(cè)差分信號(hào),則將該局部解碼預(yù)測(cè)差分信號(hào)、與由幀內(nèi)部預(yù)測(cè)部4生成的幀內(nèi)部預(yù)測(cè)圖像PINTRAin和由運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5生成的幀間預(yù)測(cè)圖像PINTERin中的某一方進(jìn)行相加,從而計(jì)算局部解碼圖像(步驟ST9)。
另外,加法部9將該局部解碼圖像輸出到環(huán)路濾波器部11,并且將該局部解碼圖像儲(chǔ)存到幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器10中。
該局部解碼圖像成為在以后的幀內(nèi)部預(yù)測(cè)處理時(shí)使用的已編碼的圖像信號(hào)。
環(huán)路濾波器部11如果從加法部9接收到局部解碼圖像,則對(duì)該局部解碼圖像實(shí)施規(guī)定的濾波處理,將濾波處理后的局部解碼圖像儲(chǔ)存到運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器12中(步驟ST10)。
另外,關(guān)于由環(huán)路濾波器部11執(zhí)行的濾波處理,既可以以所輸入的局部解碼圖像的最大編碼塊或者各個(gè)編碼塊為單位進(jìn)行,也可以在輸入了1個(gè)圖片量的局部解碼圖像之后集中1個(gè)圖片量來(lái)進(jìn)行。
另外,作為規(guī)定的濾波處理的例子,可以舉出以使編碼塊邊界的不連續(xù)性(塊噪聲)不會(huì)變得顯著的方式對(duì)塊邊界進(jìn)行濾波的處理、以使作為輸入圖像的圖1的影像信號(hào)與局部解碼圖像之間的誤差成為最小的方式對(duì)局部解碼圖像的失真進(jìn)行補(bǔ)償?shù)臑V波處理等。
但是,在進(jìn)行以使作為輸入圖像的圖1的影像信號(hào)與局部解碼圖像之間的誤差成為最小的方式對(duì)局部解碼圖像的失真進(jìn)行補(bǔ)償?shù)臑V波處理的情況下,需要在環(huán)路濾波器部11中參照影像信號(hào),所以需要變更圖1的運(yùn)動(dòng)圖像編碼裝置使得對(duì)環(huán)路濾波器部11輸入影像信號(hào)。
直至針對(duì)層次性地分割了的所有編碼塊Bn的處理完成為止重復(fù)實(shí)施步驟ST3~ST9的處理,如果針對(duì)所有編碼塊Bn的處理完成,則轉(zhuǎn)移到步驟ST13的處理(步驟ST11、ST12)。
可變長(zhǎng)編碼部13對(duì)從變換/量化部7輸出的壓縮數(shù)據(jù)、從編碼控制部2輸出的最大編碼塊內(nèi)的塊分割信息(以圖6(b)為例子的四叉樹(shù)信息)、編碼模式m(Bn)以及預(yù)測(cè)差分編碼參數(shù)、從編碼控制部2輸出的幀內(nèi)部預(yù)測(cè)參數(shù)(編碼模式是幀內(nèi)部編碼模式的情況)或者幀間預(yù)測(cè)參數(shù)(編碼模式是幀間編碼模式的情況)、以及從運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)部5輸出的運(yùn)動(dòng)矢量(編碼模式是幀間編碼模式的情況)進(jìn)行可變長(zhǎng)編碼,生成表示這些編碼結(jié)果的比特流(步驟ST13)。
接下來(lái),詳細(xì)說(shuō)明幀內(nèi)部預(yù)測(cè)部4的處理內(nèi)容。
圖17是示出編碼塊Bn內(nèi)的各預(yù)測(cè)塊Pin可選擇的幀內(nèi)部預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)模式)的一個(gè)例子的說(shuō)明圖。其中,NI表示幀內(nèi)部預(yù)測(cè)模式數(shù)。
在圖17中,示出幀內(nèi)部預(yù)測(cè)模式和該幀內(nèi)部預(yù)測(cè)模式所表示的預(yù)測(cè)方向矢量,在圖17的例子中,進(jìn)行設(shè)計(jì)使得隨著可選擇的幀內(nèi)部預(yù)測(cè)模式的個(gè)數(shù)增加而使預(yù)測(cè)方向矢量彼此的相對(duì)角度變小。
幀內(nèi)部預(yù)測(cè)部4如上述那樣參照預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)參數(shù),實(shí)施針對(duì)該預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)處理,生成幀內(nèi)部預(yù)測(cè)圖像PINTRAin,但此處說(shuō)明生成亮度信號(hào)中的預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)信號(hào)的幀內(nèi)部處理。
將預(yù)測(cè)塊Pin的尺寸設(shè)為lin×min像素。
圖8是示出生成lin=min=4的情況的預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值時(shí)使用的像素的一個(gè)例子的說(shuō)明圖。
在圖8中,將預(yù)測(cè)塊Pin的上面的已編碼的像素(2×lin+1)個(gè)、和左面的已編碼的像素(2×min)個(gè)設(shè)為預(yù)測(cè)中使用的像素,但預(yù)測(cè)中使用的像素既可以多于圖8所示的像素也可以少于圖8所示的像素。
另外,在圖8中,將預(yù)測(cè)塊Pin的附近的1行或者1列量的像素用于預(yù)測(cè),但也可以將2行或2列、或者其以上的像素用于預(yù)測(cè)。
在針對(duì)預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)模式的索引值是0(平面(Planar)預(yù)測(cè))的情況下,將使用預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素和預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素根據(jù)預(yù)測(cè)塊Pin內(nèi)的預(yù)測(cè)對(duì)象像素與上述鄰接像素之間的距離進(jìn)行內(nèi)插而得到的值作為預(yù)測(cè)值,生成預(yù)測(cè)圖像。
在針對(duì)預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)模式的索引值是1(垂直方向預(yù)測(cè))的情況下,根據(jù)下述式(1)計(jì)算預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值來(lái)生成預(yù)測(cè)圖像。
S′(x,y)=S(x,-1)+(S(-1,y)-S(-1,-1))/t (1)
其中,坐標(biāo)(x,y)是以預(yù)測(cè)塊Pin內(nèi)的左上像素為原點(diǎn)的相對(duì)坐標(biāo)(參照?qǐng)D9),S’(x,y)是坐標(biāo)(x,y)中的預(yù)測(cè)值,S(x,y)是坐標(biāo)(x,y)中的已編碼的像素的亮度值(解碼了的亮度值)。
這樣,對(duì)作為以往(MPEG-4AVC/H.264)的垂直方向預(yù)測(cè)的預(yù)測(cè)值的預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素的亮度值S(x,-1),相加與預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素(圖10的粗框所包圍的像素)的表示垂直方向的亮度值的變化量的S(-1,y)-S(-1,-1)成比例的值(將表示垂直方向的亮度值的變化量的S(-1,y)-S(-1,-1)縮放為1/t而得到的值),將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,從而能夠?qū)崿F(xiàn)追隨向預(yù)測(cè)方向的亮度值的變化的垂直方向預(yù)測(cè)。
但是,在上述預(yù)測(cè)值未收斂于亮度值可取的值的范圍內(nèi)的情況下,也可以對(duì)值進(jìn)行舍入使得收斂于該范圍內(nèi)。由此,雖然與進(jìn)行舍入處理相應(yīng)地運(yùn)算量稍微增加,但能夠抑制成為亮度值可取的值的范圍外的預(yù)測(cè)值的發(fā)生從而減少預(yù)測(cè)誤差。
另外,上述1/t也可以設(shè)為固定值,但還可以設(shè)為根據(jù)坐標(biāo)(x,y)而變化的變量。
例如,如果設(shè)為t=2x+1,則如圖11所示,縮放值從左端的列起依次如1/2、1/4、1/8、1/16那樣變小,所以從預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素起的距離越遠(yuǎn),相加的垂直方向的亮度值的變化量越小。
由此,越是與預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素之間的距離遠(yuǎn)而相關(guān)變低的預(yù)測(cè)對(duì)象像素,越能夠使預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素的影響變小,所以能夠進(jìn)行和與預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素之間的相關(guān)對(duì)應(yīng)的高精度的預(yù)測(cè)。
另外,在t=2x+1的情況下,能夠如下所述通過(guò)基于比特移位(bit shift)的式來(lái)表現(xiàn)式(1)。
S′(x,y)=S(x,-1)+(S(-1,y)-S(-1,-1))>>(x+1) (1a)
在式(1a)中,“>>a”表示向右算術(shù)移位a比特的運(yùn)算。
通過(guò)使用移位運(yùn)算來(lái)代替式(1)的除法,從而在計(jì)算機(jī)上安裝的情況下能夠?qū)崿F(xiàn)高速的運(yùn)算。
但是,S(-1,y)-S(-1,-1)還可以取負(fù)值,所以有時(shí)根據(jù)安裝環(huán)境(編譯器)等,“>>”并非被處理為算術(shù)移位而被處理為邏輯移位,計(jì)算結(jié)果與式(1)不同。
因此,作為不依賴于安裝環(huán)境的t=2x+1的情況的式(1)的近似式,可以舉出下述式(1b)。
S′(x,y)=S(x,-1)+S(-1,x)>>(x+1)-S(-1,-1)>>(x+1) (1b)
在式(1b)中,使亮度值S(-1,y)、S(-1,-1)分別先向右移位(x+1)比特之后進(jìn)行減法運(yùn)算,所以如果用正值來(lái)定義亮度值,則算術(shù)移位、邏輯移位都得到同一計(jì)算結(jié)果。
另外,進(jìn)行式(1)的預(yù)測(cè)處理的預(yù)測(cè)塊Pin的塊尺寸也可以限定為特定的尺寸。一般,在大的塊尺寸中,在塊內(nèi)易于包含各種信號(hào)變化,能夠使用方向性預(yù)測(cè)而高精度地預(yù)測(cè)的情形少,所以例如在16×16像素以上的塊尺寸的預(yù)測(cè)塊Pin中,不應(yīng)用式(1),而作為以往的垂直方向預(yù)測(cè)的預(yù)測(cè)值(預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素的亮度值S(x,-1)),僅在比16×16像素小的塊中應(yīng)用式(1),從而相比于以往的垂直方向預(yù)測(cè),能夠提高預(yù)測(cè)性能并且抑制運(yùn)算量的增加。
另外,在針對(duì)預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)模式的索引值是2(水平方向預(yù)測(cè))的情況下,根據(jù)下述式(2)計(jì)算預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值來(lái)生成預(yù)測(cè)圖像。
S′(x,y)=S(-1,y)+(S(x,-1)-S(-1,-1))/u (2)
其中,坐標(biāo)(x,y)是以預(yù)測(cè)塊Pin內(nèi)的左上像素為原點(diǎn)的相對(duì)坐標(biāo)(參照?qǐng)D9),S’(x,y)是坐標(biāo)(x,y)中的預(yù)測(cè)值,S(x,y)是坐標(biāo)(x,y)中的已編碼的像素的亮度值(解碼了的亮度值)。
這樣,對(duì)作為以往(MPEG-4AVC/H.264)的水平方向預(yù)測(cè)的預(yù)測(cè)值的預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素的亮度值S(-1,y),相加與預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素(圖12的粗框所包圍的像素)的表示水平方向的亮度值的變化量的S(x,-1)-S(-1,-1)成比例的值(將表示水平方向的亮度值的變化量的S(x,-1)-S(-1,-1)縮放為1/u而得到的值),將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,從而能夠?qū)崿F(xiàn)追隨向預(yù)測(cè)方向的亮度值的變化的水平方向預(yù)測(cè)。
但是,在上述預(yù)測(cè)值未收斂于亮度值可取的值的范圍內(nèi)的情況下,也可以對(duì)值進(jìn)行舍入使得收斂于該范圍內(nèi)。由此,雖然與進(jìn)行舍入處理相應(yīng)地運(yùn)算量稍微增加,但能夠抑制成為亮度值可取的值的范圍外的預(yù)測(cè)值的發(fā)生而減少預(yù)測(cè)誤差。
另外,上述1/u也可以設(shè)為固定值,但還可以設(shè)為根據(jù)坐標(biāo)(x,y)而變化的變量。
例如,如果設(shè)為u=2y+1,則如圖13所示,縮放值從上端的行起依次如1/2、1/4、1/8、1/16那樣變小,所以從預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素起的距離越遠(yuǎn),相加的水平方向的亮度值的變化量越小。
由此,越是與預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素之間的距離遠(yuǎn)而相關(guān)變低的像素,越能夠使預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素的影響變小,所以能夠進(jìn)行和與預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素之間的相關(guān)對(duì)應(yīng)的高精度的預(yù)測(cè)。
另外,在u=2y+1的情況下,能夠如下所述通過(guò)基于比特移位的式來(lái)表現(xiàn)式(2)。
S′(x,y)=S(-1,y)+(S(x,-1)-S(-1,-1))>>(y+1) (2a)
在式(2a)中,“>>a”表示向右算術(shù)移位a比特的運(yùn)算。
通過(guò)使用移位運(yùn)算來(lái)代替式(2)的除法,從而在計(jì)算機(jī)上安裝的情況下能夠?qū)崿F(xiàn)高速的運(yùn)算。
但是,S(x,-1)-S(-1,-1)也可以取負(fù)值,所以有時(shí)根據(jù)安裝環(huán)境(編譯器)等,“>>”并非被處理為算術(shù)移位而被處理為邏輯移位,計(jì)算結(jié)果與式(2)不同。
因此,作為不依賴于安裝環(huán)境的u=2y+1的情況的式(2)的近似式,可以舉出下述式(2b)。
S′(x,y)=S(-1,y)+S(x,-1)>>(y+1)-S(-1,-1)>>(y+1) (2b)
在式(2b)中,使亮度值S(x,-1)、S(-1,-1)分別先向右移位(y+1)比特之后進(jìn)行減法運(yùn)算,所以如果用正值來(lái)定義亮度值,則算術(shù)移位、邏輯移位都得到同一計(jì)算結(jié)果。
另外,進(jìn)行式(2)的預(yù)測(cè)處理的預(yù)測(cè)塊Pin的塊尺寸也可以限定為特定的尺寸。一般,在大的塊尺寸中,在塊內(nèi)易于包含各種信號(hào)變化,能夠使用方向性預(yù)測(cè)而高精度地預(yù)測(cè)的情形少,所以例如在16×16像素以上的塊尺寸的預(yù)測(cè)塊Pin中,不應(yīng)用式(2),而設(shè)為以往的水平方向預(yù)測(cè)的預(yù)測(cè)值(預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素的亮度值S(-1,y)),僅在比16×16像素小的塊中應(yīng)用式(2),從而相比于以往的水平方向預(yù)測(cè),能夠提高預(yù)測(cè)性能并且抑制運(yùn)算量的增加。
另外,在針對(duì)預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)模式的索引值是3(平均值(DC)預(yù)測(cè))的情況下,將預(yù)測(cè)塊Pin的上面所鄰接的已編碼的像素和預(yù)測(cè)塊Pin的左面所鄰接的已編碼的像素的平均值作為預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值而生成預(yù)測(cè)圖像。
在幀內(nèi)部預(yù)測(cè)模式的索引值是0(平面(Planar)預(yù)測(cè))、1(垂直方向預(yù)測(cè))、2(水平方向預(yù)測(cè))、3(平均值(DC)預(yù)測(cè))以外的情況下,根據(jù)索引值表示的預(yù)測(cè)方向矢量υp=(dx,dy),生成預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值。
如圖9所示,如果以預(yù)測(cè)塊Pin的左上像素為原點(diǎn)而將預(yù)測(cè)塊Pin內(nèi)的相對(duì)坐標(biāo)設(shè)定為(x,y),則預(yù)測(cè)中使用的參照像素的位置成為下述L和鄰接像素的交點(diǎn)。
其中,k是負(fù)的標(biāo)量值。
在參照像素處于整數(shù)像素位置的情況下,將該整數(shù)像素設(shè)為預(yù)測(cè)對(duì)象像素的預(yù)測(cè)值,在參照像素不處于整數(shù)像素位置的情況下,將根據(jù)與參照像素鄰接的整數(shù)像素而生成的插值像素設(shè)為預(yù)測(cè)值。
在圖8的例子中,參照像素不處于整數(shù)像素位置,所以將根據(jù)與參照像素鄰接的2個(gè)像素進(jìn)行內(nèi)插而得到的結(jié)果作為預(yù)測(cè)值。另外,不僅是鄰接的2個(gè)像素,也可以根據(jù)鄰接的2個(gè)像素以上的像素生成插值像素而作為預(yù)測(cè)值。
通過(guò)增加插值處理中使用的像素,從而具有提高插值像素的插值精度的效果,另一方面,由于插值處理所需的運(yùn)算的復(fù)雜度增加,所以在即使運(yùn)算負(fù)荷大也仍要求高的編碼性能的運(yùn)動(dòng)圖像編碼裝置的情況下,優(yōu)選根據(jù)更大量的像素生成插值像素。
通過(guò)同樣的步驟,生成與預(yù)測(cè)塊Pin內(nèi)的亮度信號(hào)的所有像素對(duì)應(yīng)的預(yù)測(cè)像素而輸出幀內(nèi)部預(yù)測(cè)圖像PINTRAin。
另外,幀內(nèi)部預(yù)測(cè)圖像PINTRAin的生成中使用的幀內(nèi)部預(yù)測(cè)參數(shù)為了復(fù)用到比特流而被輸出到可變長(zhǎng)編碼部13。
另外,與之前說(shuō)明的MPEG-4AVC/H.264中的8×8像素的塊的幀內(nèi)部預(yù)測(cè)同樣地,關(guān)于在進(jìn)行幀內(nèi)部預(yù)測(cè)時(shí)使用的像素,也可以并非使用已編碼的鄰接塊內(nèi)的像素自身,而是使用對(duì)這些像素實(shí)施濾波處理而得到的結(jié)果。
針對(duì)預(yù)測(cè)塊Pin的色差信號(hào),也通過(guò)與亮度信號(hào)同樣的步驟,實(shí)施基于幀內(nèi)部預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)模式)的幀內(nèi)部預(yù)測(cè)處理,將幀內(nèi)部預(yù)測(cè)圖像的生成中使用的幀內(nèi)部預(yù)測(cè)參數(shù)輸出到可變長(zhǎng)編碼部13。
但是,在色差信號(hào)中可選擇的幀內(nèi)部預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)模式)無(wú)需與亮度信號(hào)相同,另外,關(guān)于垂直方向預(yù)測(cè)以及水平方向預(yù)測(cè),也可以是以往(MPEG-4AVC/H.264)的預(yù)測(cè)方法。
例如,在YUV信號(hào)4:2:0格式的情況下,色差信號(hào)(U、V信號(hào))是相對(duì)亮度信號(hào)(Y信號(hào))將分辨率在水平方向、垂直方向上都縮小為1/2而得到的信號(hào),相比于亮度信號(hào),圖像信號(hào)的復(fù)雜性低且預(yù)測(cè)容易,所以可選擇的幀內(nèi)部預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)模式)的數(shù)量少于亮度信號(hào),對(duì)于垂直方向預(yù)測(cè)以及水平方向預(yù)測(cè)也設(shè)為以往的簡(jiǎn)易的預(yù)測(cè)方法,從而幾乎不會(huì)降低預(yù)測(cè)效率而能夠?qū)崿F(xiàn)對(duì)幀內(nèi)部預(yù)測(cè)參數(shù)(幀內(nèi)部預(yù)測(cè)模式)進(jìn)行編碼而所需的符號(hào)量的削減、預(yù)測(cè)處理的低運(yùn)算化。
另外,關(guān)于作為垂直方向預(yù)測(cè)中使用的縮放值的1/t、和作為水平方向預(yù)測(cè)中使用的縮放值的1/u,也可以預(yù)先在運(yùn)動(dòng)圖像編碼裝置以及運(yùn)動(dòng)圖像解碼裝置之間約定,但也可以由運(yùn)動(dòng)圖像編碼裝置的幀內(nèi)部預(yù)測(cè)部4按照序列單位或者圖片單位,將t、u輸出到可變長(zhǎng)編碼部13,由可變長(zhǎng)編碼部13對(duì)t、u進(jìn)行可變長(zhǎng)編碼而包含到比特流中,并由運(yùn)動(dòng)圖像解碼裝置從比特流對(duì)t、u進(jìn)行可變長(zhǎng)解碼來(lái)使用。
這樣按照序列單位或者圖片單位,自適應(yīng)地控制t、u,從而能夠?qū)崿F(xiàn)進(jìn)一步與輸入圖像的影像信號(hào)的特性對(duì)應(yīng)的預(yù)測(cè)處理。
另外,關(guān)于使用式(1)的垂直方向預(yù)測(cè)、式(2)的水平方向預(yù)測(cè)的塊尺寸,也可以預(yù)先在運(yùn)動(dòng)圖像編碼裝置以及運(yùn)動(dòng)圖像解碼裝置之間約定,但也可以由運(yùn)動(dòng)圖像編碼裝置的幀內(nèi)部預(yù)測(cè)部4按照序列單位或者圖片單位,將表示使用式(1)的垂直方向預(yù)測(cè)、式(2)的水平方向預(yù)測(cè)的塊尺寸的每個(gè)塊尺寸的ON/OFF標(biāo)志輸出到可變長(zhǎng)編碼部13,由可變長(zhǎng)編碼部13對(duì)上述ON/OFF標(biāo)志進(jìn)行可變長(zhǎng)編碼而包含到比特流中,并由運(yùn)動(dòng)圖像解碼裝置從比特流對(duì)上述ON/OFF標(biāo)志進(jìn)行可變長(zhǎng)解碼來(lái)使用。
這樣能夠按照序列單位或者圖片單位,自適應(yīng)地控制使用式(1)的垂直方向預(yù)測(cè)、式(2)的水平方向預(yù)測(cè)的塊尺寸,從而能夠?qū)崿F(xiàn)進(jìn)一步與輸入圖像的影像信號(hào)的特性對(duì)應(yīng)的預(yù)測(cè)處理。
接下來(lái),具體說(shuō)明圖3的運(yùn)動(dòng)圖像解碼裝置的處理內(nèi)容。
可變長(zhǎng)解碼部31如果輸入了由圖1的運(yùn)動(dòng)圖像編碼裝置生成的比特流,則實(shí)施針對(duì)該比特流的可變長(zhǎng)解碼處理(圖4的步驟ST21),按照由1幀以上的圖片構(gòu)成的序列單位、或者圖片單位,對(duì)幀尺寸的信息進(jìn)行解碼。
此時(shí),在垂直方向預(yù)測(cè)中使用的縮放值的參數(shù)t、水平方向預(yù)測(cè)中使用的縮放值的參數(shù)u、表示使用式(1)的垂直方向預(yù)測(cè)、式(2)的水平方向預(yù)測(cè)的塊尺寸的每個(gè)塊尺寸的ON/OFF標(biāo)志中,只要任意一個(gè)被可變長(zhǎng)編碼并被復(fù)用到比特流的情況下,就按照由圖1的運(yùn)動(dòng)圖像編碼裝置編碼了的單位(序列單位或者圖片單位)進(jìn)行解碼。
可變長(zhǎng)解碼部31通過(guò)與運(yùn)動(dòng)圖像編碼裝置同樣的步驟,決定由圖1的運(yùn)動(dòng)圖像編碼裝置的編碼控制部2決定的最大編碼塊尺寸以及分割層次數(shù)的上限(步驟ST22)。
例如,在根據(jù)影像信號(hào)的分辨率決定了最大編碼塊尺寸、分割層次數(shù)上限的情況下,根據(jù)所解碼的幀尺寸信息,通過(guò)與運(yùn)動(dòng)圖像編碼裝置同樣的步驟來(lái)決定最大編碼塊尺寸。
最大編碼塊尺寸以及分割層次數(shù)上限在運(yùn)動(dòng)圖像編碼裝置側(cè)被復(fù)用到比特流中的情況下,使用從比特流解碼得到的值。
以后,在運(yùn)動(dòng)圖像解碼裝置中,將上述最大編碼塊尺寸稱為最大解碼塊尺寸,將最大編碼塊稱為最大解碼塊。
可變長(zhǎng)解碼部31按照所決定的最大解碼塊單位,對(duì)圖6所示那樣的最大解碼塊的分割狀態(tài)進(jìn)行解碼。根據(jù)所解碼的分割狀態(tài),層次性地確定解碼塊(與圖1的運(yùn)動(dòng)圖像編碼裝置的“編碼塊”相當(dāng)?shù)膲K)(步驟ST23)。
接下來(lái),可變長(zhǎng)解碼部31解碼對(duì)解碼塊分配的編碼模式。根據(jù)所解碼的編碼模式中包含的信息,將解碼塊進(jìn)一步分割為一個(gè)或多個(gè)預(yù)測(cè)處理單位即預(yù)測(cè)塊,解碼對(duì)預(yù)測(cè)塊單位分配的預(yù)測(cè)參數(shù)(步驟ST24)。
即,在對(duì)解碼塊分配的編碼模式是幀內(nèi)部編碼模式的情況下,可變長(zhǎng)解碼部31針對(duì)包含在解碼塊中且成為預(yù)測(cè)處理單位的一個(gè)以上的預(yù)測(cè)塊的每一個(gè),對(duì)幀內(nèi)部預(yù)測(cè)參數(shù)進(jìn)行解碼。
另一方面,在對(duì)解碼塊分配的編碼模式是幀間編碼模式的情況下,針對(duì)包含在解碼塊中且成為預(yù)測(cè)處理單位的一個(gè)以上的預(yù)測(cè)塊的每一個(gè),對(duì)幀間預(yù)測(cè)參數(shù)以及運(yùn)動(dòng)矢量進(jìn)行解碼(步驟ST24)。
進(jìn)而,可變長(zhǎng)解碼部31根據(jù)預(yù)測(cè)差分編碼參數(shù)中包含的變換塊尺寸的信息,將解碼塊分割為成為變換處理單位的一個(gè)或多個(gè)變換塊,針對(duì)每個(gè)變換塊,對(duì)壓縮數(shù)據(jù)(變換/量化后的變換系數(shù))進(jìn)行解碼(步驟ST24)。
在切換開(kāi)關(guān)33中,如果由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的編碼模式m(Bn)是幀內(nèi)部編碼模式(m(Bn)∈INTRA的情況),則將由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的預(yù)測(cè)塊單位的幀內(nèi)部預(yù)測(cè)參數(shù)輸出到幀內(nèi)部預(yù)測(cè)部34。
另一方面,如果由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的編碼模式m(Bn)是幀間編碼模式(m(Bn)∈INTER的情況),則將由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的預(yù)測(cè)塊單位的幀間預(yù)測(cè)參數(shù)以及運(yùn)動(dòng)矢量輸出到運(yùn)動(dòng)補(bǔ)償部35。
幀內(nèi)部預(yù)測(cè)部34在由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的編碼模式m(Bn)是幀內(nèi)部編碼模式(m(Bn)∈INTRA)的情況下(步驟ST25),接收從切換開(kāi)關(guān)33輸出的預(yù)測(cè)塊單位的幀內(nèi)部預(yù)測(cè)參數(shù),通過(guò)與圖1的幀內(nèi)部預(yù)測(cè)部4同樣的步驟,一邊參照幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器37中儲(chǔ)存的解碼圖像,一邊實(shí)施使用了上述幀內(nèi)部預(yù)測(cè)參數(shù)的針對(duì)解碼塊Bn內(nèi)的各預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)處理,生成幀內(nèi)部預(yù)測(cè)圖像PINTRAin(步驟ST26)。
即,幀內(nèi)部預(yù)測(cè)部34在針對(duì)預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)模式的索引值是0(垂直方向預(yù)測(cè))的情況下,根據(jù)上述式(1)計(jì)算預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值,生成幀內(nèi)部預(yù)測(cè)圖像PINTRAin。
另外,在針對(duì)預(yù)測(cè)塊Pin的幀內(nèi)部預(yù)測(cè)模式的索引值是1(水平方向預(yù)測(cè))的情況下,根據(jù)上述式(2)計(jì)算預(yù)測(cè)塊Pin內(nèi)的像素的預(yù)測(cè)值,生成幀內(nèi)部預(yù)測(cè)圖像PINTRAin。
但是,在使用式(1)的垂直方向預(yù)測(cè)、式(2)的水平方向預(yù)測(cè)的塊尺寸被限制了的情況下,在使用式(1)的垂直方向預(yù)測(cè)、式(2)的水平方向預(yù)測(cè)的塊尺寸以外的尺寸的預(yù)測(cè)塊Pin中通過(guò)以往(MPEG-4AVC/H.264)的垂直方向預(yù)測(cè)及水平方向預(yù)測(cè)進(jìn)行幀內(nèi)部預(yù)測(cè)處理。
運(yùn)動(dòng)補(bǔ)償部35在由可變長(zhǎng)解碼部31可變長(zhǎng)解碼了的編碼模式m(Bn)是幀間編碼模式(m(Bn)∈INTER)的情況下(步驟ST25),接收從切換開(kāi)關(guān)33輸出的預(yù)測(cè)塊單位的運(yùn)動(dòng)矢量和幀間預(yù)測(cè)參數(shù),一邊參照運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器39中儲(chǔ)存的濾波處理后的解碼圖像,一邊實(shí)施使用了上述運(yùn)動(dòng)矢量和幀間預(yù)測(cè)參數(shù)的針對(duì)解碼塊內(nèi)的各預(yù)測(cè)塊Pin的幀間預(yù)測(cè)處理來(lái)生成幀間預(yù)測(cè)圖像PINTERin(步驟ST27)。
逆量化/逆變換部32如果從可變長(zhǎng)解碼部31接收到壓縮數(shù)據(jù)以及預(yù)測(cè)差分編碼參數(shù),則通過(guò)與圖1的逆量化/逆變換部8同樣的步驟,參照該預(yù)測(cè)差分編碼參數(shù),對(duì)該壓縮數(shù)據(jù)進(jìn)行逆量化,并且參照該預(yù)測(cè)差分編碼參數(shù),實(shí)施針對(duì)作為逆量化后的壓縮數(shù)據(jù)的變換系數(shù)的逆正交變換處理,計(jì)算與從圖1的逆量化/逆變換部8輸出的局部解碼預(yù)測(cè)差分信號(hào)相同的解碼預(yù)測(cè)差分信號(hào)(步驟ST28)。
加法部36將由逆量化/逆變換部32計(jì)算出的解碼預(yù)測(cè)差分信號(hào)、與由幀內(nèi)部預(yù)測(cè)部34生成的幀內(nèi)部預(yù)測(cè)圖像PINTRAin和由運(yùn)動(dòng)補(bǔ)償部35生成的幀間預(yù)測(cè)圖像PINTERin中的某一方進(jìn)行相加而計(jì)算出解碼圖像,并輸出到環(huán)路濾波器部38,并且將該解碼圖像儲(chǔ)存到幀內(nèi)部預(yù)測(cè)用存儲(chǔ)器37中(步驟ST29)。
該解碼圖像成為在以后的幀內(nèi)部預(yù)測(cè)處理時(shí)使用的已解碼的圖像信號(hào)。
在環(huán)路濾波器部38中,如果針對(duì)所有解碼塊Bn的步驟ST23~ST29的處理完成(步驟ST30),則對(duì)從加法部36輸出的解碼圖像實(shí)施規(guī)定的濾波處理,將濾波處理后的解碼圖像儲(chǔ)存到運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)幀存儲(chǔ)器39中(步驟ST31)。
另外,關(guān)于環(huán)路濾波器部38的濾波處理,即可以以所輸入的解碼圖像的最大解碼塊或者各個(gè)解碼塊為單位來(lái)進(jìn)行,也可以在輸入了1個(gè)圖片量的解碼圖像之后集中1個(gè)圖片量來(lái)進(jìn)行。
另外,作為規(guī)定的濾波處理的例子,可以舉出以使編碼塊邊界的不連續(xù)性(塊噪聲)不會(huì)變得顯著的方式對(duì)塊邊界進(jìn)行濾波的處理、對(duì)解碼圖像的失真進(jìn)行補(bǔ)償?shù)臑V波處理等。
該解碼圖像成為運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)用的參照?qǐng)D像,并且成為再生圖像。
根據(jù)以上可知,根據(jù)該實(shí)施方式3,運(yùn)動(dòng)圖像編碼裝置的幀內(nèi)部預(yù)測(cè)部4構(gòu)成為在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是水平方向預(yù)測(cè)處理的情況下,對(duì)預(yù)測(cè)塊的左面所鄰接的像素的亮度值相加與預(yù)測(cè)塊的上面所鄰接的像素的水平方向的亮度值變化量成比例的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是垂直方向預(yù)測(cè)處理的情況下,對(duì)預(yù)測(cè)塊的上面所鄰接的像素的亮度值相加與預(yù)測(cè)塊的左面所鄰接的像素的垂直方向的亮度值變化量成比例的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,所以起到即使在信號(hào)值沿著預(yù)測(cè)方向而變化的情況下也能夠?qū)崿F(xiàn)高精度的預(yù)測(cè)來(lái)提高圖像質(zhì)量的效果。
另外,根據(jù)該實(shí)施方式3,運(yùn)動(dòng)圖像解碼裝置的幀內(nèi)部預(yù)測(cè)部34構(gòu)成為在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是水平方向預(yù)測(cè)處理的情況下,對(duì)預(yù)測(cè)塊的左面所鄰接的像素的亮度值相加與預(yù)測(cè)塊的上面所鄰接的像素的水平方向的亮度值變化量成比例的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,在生成預(yù)測(cè)圖像時(shí)的幀內(nèi)預(yù)測(cè)處理是垂直方向預(yù)測(cè)處理的情況下,對(duì)預(yù)測(cè)塊的上面所鄰接的像素的亮度值相加與預(yù)測(cè)塊的左面所鄰接的像素的垂直方向的亮度值變化量成比例的值,將該相加后的值決定為預(yù)測(cè)圖像的預(yù)測(cè)值,所以起到即使在信號(hào)值沿著預(yù)測(cè)方向而變化的情況下也能夠?qū)崿F(xiàn)高精度的預(yù)測(cè)來(lái)提高圖像質(zhì)量的效果。
根據(jù)該實(shí)施方式3,關(guān)于由幀內(nèi)部預(yù)測(cè)部4、34實(shí)施水平方向預(yù)測(cè)處理時(shí)所使用的縮放值即1/u,構(gòu)成為越是與從預(yù)測(cè)塊的上面所鄰接的像素起距離遠(yuǎn)的行有關(guān)的縮放值,設(shè)定為越小的值,所以越是與預(yù)測(cè)塊的上面所鄰接的像素之間的距離遠(yuǎn)而相關(guān)變低的像素,越能夠使預(yù)測(cè)塊的上面所鄰接的像素的影響變小,其結(jié)果,起到能夠高精度地進(jìn)行預(yù)測(cè)的效果。
另外,關(guān)于由幀內(nèi)部預(yù)測(cè)部4、34實(shí)施垂直方向預(yù)測(cè)處理時(shí)所使用的縮放值即1/t,構(gòu)成為越是與從預(yù)測(cè)塊的左面所鄰接的像素起距離遠(yuǎn)的列有關(guān)的縮放值,設(shè)定為越小的值,所以越是與預(yù)測(cè)塊的左面所鄰接的像素之間的距離遠(yuǎn)而相關(guān)變低的像素,越能夠使預(yù)測(cè)塊的左面所鄰接的像素的影響變小,其結(jié)果,起到能夠高精度地進(jìn)行預(yù)測(cè)的效果。
另外,在該實(shí)施方式3中,示出了由幀內(nèi)部預(yù)測(cè)部4、34實(shí)施水平方向預(yù)測(cè)處理時(shí)的預(yù)測(cè)塊內(nèi)的第N行(從預(yù)測(cè)塊的上端起第N行)的縮放值是1/2N+1(=1/2,1/4,1/8,1/16,···)、由幀內(nèi)部預(yù)測(cè)部4、34實(shí)施垂直方向預(yù)測(cè)處理時(shí)的預(yù)測(cè)塊內(nèi)的第M列(從預(yù)測(cè)塊的左端起第M列)的縮放值是1/2M+1(=1/2,1/4,1/8,1/16,···)的例子,但這只是一個(gè)例子,只要由幀內(nèi)部預(yù)測(cè)部4、34實(shí)施水平方向預(yù)測(cè)處理時(shí)越是從預(yù)測(cè)塊的上端遠(yuǎn)離的行的縮放值越小、并且由幀內(nèi)部預(yù)測(cè)部4、34實(shí)施垂直方向預(yù)測(cè)處理時(shí)越是從預(yù)測(cè)塊的左端遠(yuǎn)離的列的縮放值越小,就可以是任意值。
另外,本申請(qǐng)發(fā)明能夠在本發(fā)明的范圍內(nèi)實(shí)現(xiàn)各實(shí)施方式的自由的組合、或者各實(shí)施方式的任意的構(gòu)成要素的變形、或者各實(shí)施方式中的任意的構(gòu)成要素的省略。
(產(chǎn)業(yè)上的可利用性)
本發(fā)明適用于需要高效地對(duì)運(yùn)動(dòng)圖像進(jìn)行編碼的運(yùn)動(dòng)圖像編碼裝置,另外適用于需要對(duì)高效地編碼了的運(yùn)動(dòng)圖像進(jìn)行解碼的運(yùn)動(dòng)圖像解碼裝置。