(本申請(qǐng)是申請(qǐng)日為2012年10月23日、申請(qǐng)?zhí)枮?01280054789.8、發(fā)明名稱為“圖像編碼設(shè)備、圖像編碼方法、圖像解碼設(shè)備、圖像解碼方法及存儲(chǔ)介質(zhì)”的申請(qǐng)的分案申請(qǐng)。)
本發(fā)明涉及一種圖像編碼設(shè)備、圖像編碼方法、圖像解碼設(shè)備、圖像解碼方法和存儲(chǔ)介質(zhì)。更具體地,本發(fā)明涉及一種圖像中的量化矩陣的編碼/解碼方法。
背景技術(shù):
作為運(yùn)動(dòng)圖像的壓縮記錄標(biāo)準(zhǔn),已知h.264/mpeg-4avc(以下稱為h.264)。對(duì)于(itu-th.264(03/2010)用于通用視聽服務(wù)的高級(jí)視頻編碼)h.264,通過(guò)編碼縮放比例列表信息,可以將量化矩陣的各元素改變成任意值。根據(jù)h.264的章7.3.2.1.1.1,通過(guò)與作為元素與其前一元素之間的差值的德爾塔縮放比例(deltascale)相加,量化矩陣的各元素可以取任意值。
對(duì)于h.264,在從二維量化矩陣的左上角的與低頻成分相對(duì)應(yīng)的元素向著右下角的與高頻成分相對(duì)應(yīng)的元素的方向上,對(duì)量化矩陣的各元素進(jìn)行掃描。例如,在對(duì)圖6a所示的二維量化矩陣進(jìn)行編碼時(shí),使用圖13a所示的稱為折線掃描的掃描方法。根據(jù)該處理,將量化矩陣配置成圖6b所示的一維矩陣。然后,計(jì)算矩陣中要編碼的元素與其前一元素之間的差,并且獲得圖6d所示的差值的矩陣。此外,通過(guò)圖5a所示的稱為有符號(hào)的指數(shù)哥倫布編碼的方法,將差值編碼為德爾塔縮放比例。例如,如果矩陣中的元素與其前一元素之間的差為0,則編碼為二值碼1。如果差為-2,則編碼為二值碼00101。
然而,對(duì)于h.264中所使用的折線掃描,由于在對(duì)角方向上掃描量化矩陣的各元素,因而量化矩陣的代碼量根據(jù)量化矩陣的特性而增大。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在通過(guò)在量化矩陣的編碼中引入諸如水平/垂直掃描等的單向掃描方法來(lái)實(shí)現(xiàn)量化矩陣的高效編碼/解碼。
根據(jù)本發(fā)明的一個(gè)方面,一種圖像編碼設(shè)備包括:塊分割部件,用于將輸入圖像分割成多個(gè)塊;預(yù)測(cè)部件,用于基于已編碼的像素來(lái)進(jìn)行預(yù)測(cè),以生成預(yù)測(cè)誤差;變換部件,用于對(duì)所述預(yù)測(cè)誤差進(jìn)行正交變換,以生成變換系數(shù);量化矩陣生成部件,用于生成對(duì)所述變換系數(shù)進(jìn)行量化所使用的量化矩陣;量化矩陣編碼部件,用于通過(guò)掃描所述量化矩陣來(lái)計(jì)算差值,并且對(duì)所述差值進(jìn)行編碼;量化部件,用于通過(guò)使用所述量化矩陣對(duì)所生成的所述變換系數(shù)進(jìn)行量化,來(lái)生成量化系數(shù);以及系數(shù)編碼部件,用于對(duì)所述量化系數(shù)進(jìn)行編碼,其中,所述量化矩陣編碼部件以單方向的方式掃描所述量化矩陣的系數(shù),以計(jì)算所述差值。
根據(jù)本發(fā)明的典型實(shí)施例,可以降低編碼量化矩陣時(shí)所需的代碼量,并且可以進(jìn)行高效編碼/解碼。
通過(guò)以下參考附圖對(duì)典型實(shí)施例的詳細(xì)說(shuō)明,本發(fā)明的其它特征和方面將變得明顯。
附圖說(shuō)明
包含在說(shuō)明書中并構(gòu)成說(shuō)明書一部分的附圖示出了本發(fā)明的典型實(shí)施例、特征和方面,并且與說(shuō)明書一起用來(lái)解釋本發(fā)明的原理。
圖1是示出根據(jù)本發(fā)明第一、第五和第七典型實(shí)施例的圖像編碼設(shè)備的結(jié)構(gòu)的框圖。
圖2是示出根據(jù)本發(fā)明第二、第六和第八典型實(shí)施例的圖像解碼設(shè)備的結(jié)構(gòu)的框圖。
圖3是示出根據(jù)本發(fā)明第三典型實(shí)施例的圖像編碼設(shè)備的結(jié)構(gòu)的框圖。
圖4是示出根據(jù)本發(fā)明第四典型實(shí)施例的圖像解碼設(shè)備的結(jié)構(gòu)的框圖。
圖5a示出正負(fù)對(duì)稱的編碼表的例子。
圖5b示出正負(fù)不對(duì)稱的編碼表的例子。
圖6a示出量化矩陣的例子。
圖6b示出量化矩陣的例子。
圖6c示出量化矩陣的例子。
圖6d示出差分矩陣的例子。
圖6e示出差分矩陣的例子。
圖7示出量化矩陣的編碼例子。
圖8a示出比特流結(jié)構(gòu)的例子。
圖8b示出比特流結(jié)構(gòu)的例子。
圖9是示出根據(jù)第一、第五和第七典型實(shí)施例的圖像編碼設(shè)備的圖像編碼處理的流程圖。
圖10是示出根據(jù)第二、第六和第八典型實(shí)施例的圖像解碼設(shè)備的圖像解碼處理的流程圖。
圖11是示出根據(jù)第三典型實(shí)施例的圖像編碼設(shè)備的圖像編碼處理的流程圖。
圖12是示出根據(jù)第四典型實(shí)施例的圖像解碼設(shè)備的圖像解碼處理的流程圖。
圖13a示出量化矩陣的系數(shù)的掃描方法和差計(jì)算方法的例子。
圖13b示出量化矩陣的系數(shù)的掃描方法和差計(jì)算方法的例子。
圖13c示出量化矩陣的系數(shù)的掃描方法和差計(jì)算方法的例子。
圖13d示出量化矩陣的系數(shù)的掃描方法和差計(jì)算方法的例子。
圖13e示出量化矩陣的系數(shù)的掃描方法和差計(jì)算方法的例子。
圖14是示出可應(yīng)用于根據(jù)本發(fā)明典型實(shí)施例的圖像編碼設(shè)備和解碼設(shè)備的計(jì)算機(jī)的硬件的結(jié)構(gòu)示例的框圖。
圖15示出根據(jù)第五和第六典型實(shí)施例的量化矩陣的編碼例子。
圖16a示出根據(jù)第五和第六典型實(shí)施例的量化矩陣的系數(shù)的掃描方法和差計(jì)算方法的例子。
圖16b示出根據(jù)第五和第六典型實(shí)施例的量化矩陣的系數(shù)的掃描方法和差計(jì)算方法的例子。
圖16c示出根據(jù)第五和第六典型實(shí)施例的量化矩陣的系數(shù)的掃描方法和差計(jì)算方法的例子。
圖17a示出根據(jù)第五和第六典型實(shí)施例的量化矩陣的例子。
圖17b示出根據(jù)第五和第六典型實(shí)施例的差分矩陣的例子。
圖17c示出根據(jù)第五和第六典型實(shí)施例的差分矩陣的例子。
圖18a示出根據(jù)第七和第八典型實(shí)施例的量化矩陣的系數(shù)的掃描方法的例子。
圖18b示出根據(jù)第七和第八典型實(shí)施例的量化矩陣的系數(shù)的掃描方法的例子。
圖18c示出根據(jù)第七和第八典型實(shí)施例的量化矩陣的系數(shù)的掃描方法的例子。
圖19a示出根據(jù)第七和第八典型實(shí)施例的量化矩陣的例子。
圖19b示出根據(jù)第七和第八典型實(shí)施例的差分矩陣的例子。
圖20a示出根據(jù)第七和第八典型實(shí)施例的量化矩陣的系數(shù)的掃描方法的例子。
圖20b示出根據(jù)第七和第八典型實(shí)施例的量化矩陣的系數(shù)的掃描方法的例子。
圖20c示出根據(jù)第七和第八典型實(shí)施例的量化矩陣的系數(shù)的掃描方法的例子。
圖20d示出根據(jù)第七和第八典型實(shí)施例的量化矩陣的系數(shù)的掃描方法的例子。
具體實(shí)施方式
下面參考附圖詳細(xì)說(shuō)明本發(fā)明的各種典型實(shí)施例、特征和方面。
在本說(shuō)明書的上下文中,將圖13b所示的用于二維矩陣的掃描方法稱為水平掃描,并且將圖13d所示的用于二維矩陣的掃描方法稱為垂直掃描。
圖1是示出根據(jù)本發(fā)明第一典型實(shí)施例的圖像編碼設(shè)備的框圖。
在圖1中,塊分割單元101將輸入圖像分割成多個(gè)塊。
預(yù)測(cè)單元102以塊為單位對(duì)塊分割單元101分割得到的各塊進(jìn)行預(yù)測(cè),確定預(yù)測(cè)方法,根據(jù)所確定的預(yù)測(cè)方法計(jì)算差值,并且還計(jì)算預(yù)測(cè)誤差。如果要處理運(yùn)動(dòng)圖像或者靜止圖像的幀內(nèi)幀,則進(jìn)行幀內(nèi)預(yù)測(cè)。如果要處理運(yùn)動(dòng)圖像的幀間幀,則除幀內(nèi)預(yù)測(cè)以外,還進(jìn)行運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)。在根據(jù)周圍像素的數(shù)據(jù)計(jì)算預(yù)測(cè)值時(shí),通常通過(guò)從多個(gè)方法中選擇最佳預(yù)測(cè)方法來(lái)實(shí)現(xiàn)幀內(nèi)預(yù)測(cè)。
變換單元103對(duì)各塊的預(yù)測(cè)誤差進(jìn)行正交變換。變換單元103以塊為單位進(jìn)行正交變換以計(jì)算變換系數(shù)。塊的大小是輸入塊的大小或者通過(guò)進(jìn)一步分割輸入塊所獲得的大小。在下面的說(shuō)明中,將要通過(guò)正交變換進(jìn)行變換的塊稱為變換塊。盡管正交變換的方法沒(méi)有限制,但是可以使用離散余弦變換或哈達(dá)瑪變換(hadamardtransform)。此外,根據(jù)本實(shí)施例,對(duì)8×8像素的塊單位的預(yù)測(cè)誤差進(jìn)行縱橫2分割,并且在正交變換時(shí)使用由此得到的4×4像素的變換塊以簡(jiǎn)化說(shuō)明。然而,變換塊的大小和形狀不局限于這一例子。例如,可以通過(guò)使用相同塊大小的變換塊、或者通過(guò)使用將塊分割成比對(duì)塊進(jìn)行縱橫2分割時(shí)獲得的部分更小的部分而獲得的變換塊,來(lái)進(jìn)行正交變換。
量化矩陣存儲(chǔ)單元106生成和存儲(chǔ)量化矩陣。存儲(chǔ)在量化矩陣存儲(chǔ)單元106中的量化矩陣的生成方法沒(méi)有限制。因此,量化矩陣可以是用戶所輸入的量化矩陣、根據(jù)輸入圖像的特性所計(jì)算出的量化矩陣、或者作為初始值預(yù)先所指定的量化矩陣。根據(jù)本實(shí)施例,生成并存儲(chǔ)圖6a所示的與4×4像素的變換塊相對(duì)應(yīng)的二維量化矩陣。
量化單元104使用存儲(chǔ)在量化矩陣存儲(chǔ)單元106中的量化矩陣來(lái)對(duì)變換系數(shù)進(jìn)行量化。通過(guò)該量化處理獲得了量化系數(shù)。
系數(shù)編碼單元105對(duì)以該方式所獲得的量化系數(shù)進(jìn)行編碼,并且生成量化系數(shù)編碼數(shù)據(jù)。盡管該編碼方法沒(méi)有限制,但是可以使用諸如霍夫曼編碼和算術(shù)編碼等的編碼。
量化矩陣掃描單元109掃描存儲(chǔ)在量化矩陣存儲(chǔ)單元106中的二維量化矩陣,計(jì)算各元素的差,并且將其配置成一維矩陣。根據(jù)本典型實(shí)施例,將配置成該一維矩陣的差稱為差分矩陣。
量化矩陣編碼單元107對(duì)量化矩陣掃描單元109所配置的差分矩陣(一維矩陣)進(jìn)行編碼,并且生成量化矩陣編碼數(shù)據(jù)。整合編碼單元108生成頭信息、以及與預(yù)測(cè)或變換相關(guān)聯(lián)的代碼,并且還整合系數(shù)編碼單元105所生成的量化系數(shù)編碼數(shù)據(jù)和量化矩陣編碼單元107所生成的量化矩陣編碼數(shù)據(jù)。與預(yù)測(cè)或變換相關(guān)聯(lián)的代碼例如是與預(yù)測(cè)方法的選擇或變換塊的分割相關(guān)聯(lián)的代碼。
現(xiàn)說(shuō)明通過(guò)上述圖像編碼設(shè)備所進(jìn)行的圖像的編碼操作。根據(jù)本實(shí)施例,盡管以幀為單位輸入運(yùn)動(dòng)圖像數(shù)據(jù),但是還可以輸入一幀的靜止圖像數(shù)據(jù)。此外,根據(jù)本實(shí)施例,為了簡(jiǎn)化說(shuō)明,僅說(shuō)明幀內(nèi)預(yù)測(cè)編碼的處理。然而,本發(fā)明還可應(yīng)用于幀間預(yù)測(cè)編碼的處理。根據(jù)本實(shí)施例,盡管塊分割單元101將輸入圖像分割成8×8像素的塊,但是塊的大小不局限于這一例子。
接著,在圖像的編碼之前,進(jìn)行量化矩陣的元素的編碼。首先,量化矩陣存儲(chǔ)單元106生成量化矩陣。根據(jù)編碼的塊的大小來(lái)確定量化矩陣。量化矩陣的元素的確定方法沒(méi)有限制。例如,可以使用預(yù)定初始值,或者可以使用個(gè)別設(shè)置的值。此外,可以根據(jù)圖像的特性來(lái)生成和設(shè)置該值。
將以該方式所生成的量化矩陣存儲(chǔ)在量化矩陣存儲(chǔ)單元106中。圖6a示出與4×4像素的變換塊相對(duì)應(yīng)的量化矩陣的例子。粗框600表示量化矩陣。為了簡(jiǎn)化說(shuō)明,量化矩陣具有與4×4像素的變換塊相對(duì)應(yīng)的16個(gè)像素的大小,并且矩陣的各單元表示元素。根據(jù)本實(shí)施例,盡管以二維矩陣存儲(chǔ)圖6a所示的量化矩陣,但是量化矩陣中的元素不局限于這一例子。例如,如果除本實(shí)施例的塊大小以外、還要使用8×8像素的變換塊,則需要存儲(chǔ)與8×8像素的變換塊相對(duì)應(yīng)的不同的量化矩陣。
量化矩陣掃描單元109依次讀出存儲(chǔ)在量化矩陣存儲(chǔ)單元106中的二維量化矩陣,掃描各元素,計(jì)算差,并且將這些元素配置成一維矩陣。根據(jù)本實(shí)施例,使用圖13d所示的垂直掃描,并且針對(duì)每一元素計(jì)算該元素與按照掃描順序在其之前的元素之間的差。然而,掃描方法和差的計(jì)算方法不局限于這一例子??梢允褂脠D13b所示的水平掃描作為掃描方法,并且可以針對(duì)各元素計(jì)算該元素與按照掃描順序在其之前的元素之間的差。此外,在使用圖13b所示的掃描方法的同時(shí),可以通過(guò)如圖13c所示獲得上方元素之間的差,來(lái)計(jì)算相對(duì)于左端的元素的差。因此,除左端的元素以外,如圖13b中所進(jìn)行的一樣,計(jì)算元素與其前一元素之間的差。此外,在使用圖13d所示的掃描方法的同時(shí),可以通過(guò)如圖13e所示獲得左側(cè)元素之間的差,來(lái)計(jì)算相對(duì)于上方的元素的差。因此,除上方的元素以外,如圖13d中所進(jìn)行的一樣,計(jì)算元素與其前一元素之間的差。根據(jù)本實(shí)施例,使用圖13d所示的垂直掃描來(lái)掃描圖6a所示的二維量化矩陣,計(jì)算各元素與其前一元素之間的差,并且生成圖6e所示的差分矩陣。此外,通過(guò)計(jì)算第一個(gè)元素的值和預(yù)定初始值之間的差來(lái)獲得與矩陣的第一個(gè)元素相對(duì)應(yīng)的差值。根據(jù)本實(shí)施例,盡管將初始值設(shè)置成8,但是可以使用任意值作為初始值,或者可以編碼第一個(gè)元素自身的值。
量化矩陣編碼單元107從量化矩陣掃描單元109依次讀出差分矩陣,對(duì)差分矩陣進(jìn)行編碼,并且生成量化矩陣編碼數(shù)據(jù)。根據(jù)本實(shí)施例,通過(guò)使用圖5a所示的編碼表來(lái)編碼差分矩陣。然而,編碼表不局限于這一例子,例如,可以使用圖5b所示的編碼表。
圖7示出通過(guò)使用圖13a和13d中的掃描方法計(jì)算圖6a所示的量化矩陣的差分矩陣、并且使用圖5a所示的編碼表對(duì)該差分矩陣進(jìn)行編碼所獲得的結(jié)果的例子。圖7中的元素的列表示通過(guò)掃描圖6a所示的量化矩陣中的各元素所獲得的結(jié)果,并且差值的列表示元素與預(yù)定初始值8或者前一元素之間的差值。折線掃描的代碼的列表示在使用圖13a所示的傳統(tǒng)方法的折線掃描的情況下的代碼,并且總共需要68位。另一方面,垂直掃描的代碼的列表示在使用圖13d所示的垂直掃描的情況下的代碼,并且總共需要60位。因此,通過(guò)采用垂直掃描,可以利用較少的代碼量來(lái)編碼相同的量化矩陣。將以這一方式所生成的量化矩陣的編碼數(shù)據(jù)輸入給整合編碼單元108。整合編碼單元108對(duì)在編碼圖像數(shù)據(jù)時(shí)所需的頭信息進(jìn)行編碼,并且整合量化矩陣的編碼數(shù)據(jù)。
接著進(jìn)行圖像數(shù)據(jù)的編碼。當(dāng)將一幀的圖像數(shù)據(jù)輸入給塊分割單元101時(shí),將其分割成8×8像素的塊單位。將分割后的圖像數(shù)據(jù)輸入給預(yù)測(cè)單元102。
預(yù)測(cè)單元102進(jìn)行以塊為單位的預(yù)測(cè)以生成預(yù)測(cè)誤差。變換單元103將預(yù)測(cè)單元102所生成的預(yù)測(cè)誤差分割成變換塊大小的塊,并且進(jìn)行正交變換以獲得變換系數(shù)。然后,將所獲得的變換系數(shù)輸入給量化單元104。根據(jù)本實(shí)施例,將8×8像素的塊單位的預(yù)測(cè)誤差分割成4×4像素的變換塊單位以進(jìn)行正交變換。
再次返回參考圖1,量化單元104通過(guò)使用存儲(chǔ)在量化矩陣存儲(chǔ)單元106中的量化矩陣來(lái)對(duì)從變換單元103輸出的變換系數(shù)進(jìn)行量化,并且生成量化系數(shù)。將所生成的量化系數(shù)輸入給系數(shù)編碼單元105。
系數(shù)編碼單元105對(duì)量化單元104所生成的量化系數(shù)進(jìn)行編碼,生成量化系數(shù)編碼數(shù)據(jù),并且將所生成的量化系數(shù)編碼數(shù)據(jù)輸出給整合編碼單元108。整合編碼單元108生成與以塊單位的預(yù)測(cè)和變換相關(guān)聯(lián)的代碼,將以塊為單位的代碼和系數(shù)編碼單元105所生成的量化系數(shù)編碼數(shù)據(jù)與頭的編碼數(shù)據(jù)整合在一起,并且生成比特流。然后,整合編碼單元108輸出所生成的比特流。
圖8a示出根據(jù)第一典型實(shí)施例所輸出的比特流的例子。序列頭包括量化矩陣的編碼數(shù)據(jù),因而包括各元素的編碼結(jié)果。然而,編碼數(shù)據(jù)的位置不局限于這一例子。例如,可以將編碼數(shù)據(jù)包括在圖片頭部分或者其它頭部分中。此外,如果在一個(gè)序列中要進(jìn)行量化矩陣的改變,則可以通過(guò)重新對(duì)量化矩陣進(jìn)行編碼來(lái)更新量化矩陣。在這種情況下,可以重寫整個(gè)量化矩陣。此外,如果指定了要重寫的量化矩陣的掃描方法和變換塊大小,則可以根據(jù)該指定來(lái)改變量化矩陣的一部分。
圖9是示出根據(jù)第一典型實(shí)施例的圖像編碼設(shè)備所進(jìn)行的圖像編碼處理的流程圖。在步驟s901,量化矩陣存儲(chǔ)單元106生成量化矩陣。
在步驟s902,量化矩陣掃描單元109掃描步驟s901所生成的量化矩陣,計(jì)算元素之間的差,并且生成差分矩陣。根據(jù)本實(shí)施例,使用圖13d所示的掃描方法來(lái)掃描圖6a所示的量化矩陣,并且生成圖6e所示的差分矩陣。然而,量化矩陣和掃描方法不局限于這些例子。
在步驟s903,量化矩陣編碼單元107對(duì)步驟s902所生成的差分矩陣進(jìn)行編碼。根據(jù)本實(shí)施例,量化矩陣編碼單元107使用圖5a所示的編碼表來(lái)編碼圖6e所示的差分矩陣。然而,編碼表不局限于這一表。
在步驟s904,整合編碼單元108編碼并輸出比特流的頭部分。在步驟s905,塊分割單元101將以幀為單位的輸入圖像分割成以塊為單位。在步驟s906,預(yù)測(cè)單元102進(jìn)行以塊為單位的預(yù)測(cè),并且生成預(yù)測(cè)誤差。
在步驟s907,變換單元103將步驟s906所生成的預(yù)測(cè)誤差分割成變換塊大小的塊,進(jìn)行正交變換,并且生成變換系數(shù)。在步驟s908,量化單元104通過(guò)使用步驟s901所生成的存儲(chǔ)在量化矩陣存儲(chǔ)單元106中的量化矩陣來(lái)量化步驟s907所生成的變換系數(shù),來(lái)生成量化系數(shù)。
在步驟s909,系數(shù)編碼單元105對(duì)步驟s908所生成的量化系數(shù)進(jìn)行編碼,并且生成量化系數(shù)編碼數(shù)據(jù)。在步驟s910,圖像編碼設(shè)備判斷是否完成了塊中的所有變換塊的編碼。如果完成了所有變換塊的編碼(步驟s910為“是”),則處理進(jìn)入步驟s911。如果尚未完成所有變換塊的編碼(步驟s910為“否”),則處理返回到步驟s907,并且處理下一變換塊。
在步驟s911,圖像編碼設(shè)備判斷是否完成了所有塊的編碼。如果完成了所有塊的編碼(步驟s911為“是”),則圖像編碼設(shè)備停止所有操作,然后結(jié)束該處理。如果尚未完成所有塊的編碼(步驟s911為“否”),則處理返回到步驟s905,并且處理下一個(gè)塊。
根據(jù)上述結(jié)構(gòu)和操作,尤其通過(guò)在步驟s902利用量化矩陣的單向掃描計(jì)算差分矩陣的處理,可以生成量化矩陣的包括較少代碼量的比特流。
根據(jù)本實(shí)施例,盡管說(shuō)明了僅使用幀內(nèi)預(yù)測(cè)的幀,但是顯而易見,本發(fā)明可應(yīng)用于可以使用幀間預(yù)測(cè)的幀。
此外,根據(jù)本實(shí)施例,盡管使用8×8像素的塊和4×4像素的變換塊,但是本發(fā)明不局限于這些例子。例如,塊大小可以是16×16像素或者32×32像素。此外,塊的形狀不局限于正方形,例如也可以使用16×8像素的矩形。
此外,在本實(shí)施例中,盡管變換塊大小在縱向和橫向上是塊大小的一半,但是變換塊大小也可以與塊大小相同,或者可以在縱向和橫向上比塊的大小的一半更小。
此外,根據(jù)本實(shí)施例,生成差分矩陣、然后進(jìn)行編碼。然而,量化矩陣編碼單元107可以使用預(yù)定掃描方法、根據(jù)量化矩陣直接計(jì)算差值,并且對(duì)差值進(jìn)行編碼。在這種情況下,不需要量化矩陣掃描單元109。
此外,如果根據(jù)變換系數(shù)的掃描方法要使用不同的量化矩陣,則可以根據(jù)變換系數(shù)的掃描方法來(lái)確定量化矩陣的各元素的掃描方法。
此外,根據(jù)本實(shí)施例,盡管說(shuō)明了僅具有一個(gè)量化矩陣的情況,但是量化矩陣不一定是一個(gè)。例如,在針對(duì)亮度/色度設(shè)置不同的量化矩陣的情況下,可以使用共通的量化矩陣掃描方法,或者可以提供不同的掃描方法。
圖2是示出根據(jù)本發(fā)明第二典型實(shí)施例的圖像解碼設(shè)備的結(jié)構(gòu)的框圖。根據(jù)本實(shí)施例,將說(shuō)明針對(duì)第一典型實(shí)施例所生成的比特流的解碼。
在圖2中,解碼/分離單元201對(duì)輸入比特流的頭信息進(jìn)行解碼,從該比特流分離所需的代碼,并且將分離得到的代碼輸出至后段組件。解碼/分離單元201進(jìn)行通過(guò)圖1所示的整合編碼單元108所進(jìn)行的操作的逆操作。量化矩陣解碼單元206根據(jù)比特流的頭信息來(lái)對(duì)量化矩陣編碼數(shù)據(jù)進(jìn)行解碼,并且生成差分矩陣。
量化矩陣逆掃描單元208通過(guò)對(duì)量化矩陣解碼單元206所生成的差分矩陣進(jìn)行逆掃描,來(lái)再現(xiàn)量化矩陣。量化矩陣逆掃描單元208進(jìn)行圖1所示的量化矩陣掃描單元109所進(jìn)行的操作的逆操作。量化矩陣存儲(chǔ)單元207存儲(chǔ)量化矩陣逆掃描單元208再現(xiàn)得到的量化矩陣。
另一方面,系數(shù)解碼單元202根據(jù)解碼/分離單元201分離得到的代碼來(lái)對(duì)量化系數(shù)進(jìn)行解碼,并且再現(xiàn)量化系數(shù)。逆量化單元203通過(guò)使用存儲(chǔ)在量化矩陣存儲(chǔ)單元207中的量化矩陣,進(jìn)行量化系數(shù)的逆量化,并且再現(xiàn)變換系數(shù)。逆變換單元204進(jìn)行作為圖1所示的變換單元103所進(jìn)行操作的逆操作的逆正交變換,并且再現(xiàn)預(yù)測(cè)誤差。預(yù)測(cè)重構(gòu)單元205根據(jù)再現(xiàn)得到的預(yù)測(cè)誤差和已解碼的周圍圖像數(shù)據(jù)來(lái)再現(xiàn)塊圖像數(shù)據(jù)。
現(xiàn)在將說(shuō)明根據(jù)上述圖像解碼設(shè)備的圖像的解碼操作。根據(jù)本實(shí)施例,盡管以幀為單位輸入第一典型實(shí)施例所生成的運(yùn)動(dòng)圖像的比特流,但是還可以輸入一幀的靜止圖像的比特流。此外,根據(jù)本實(shí)施例,為了簡(jiǎn)化說(shuō)明,僅說(shuō)明幀內(nèi)預(yù)測(cè)解碼處理。然而,還可以將本發(fā)明應(yīng)用于幀間預(yù)測(cè)解碼處理。
對(duì)于圖2的例示,將一幀的比特流輸入至解碼/分離單元201,并且對(duì)再現(xiàn)圖像時(shí)所需的頭信息進(jìn)行解碼。此外,從頭信息分離并輸出后段組件所使用的代碼。將頭信息中所包括的量化矩陣編碼數(shù)據(jù)輸入給量化矩陣解碼單元206,并且再現(xiàn)一維差分矩陣。根據(jù)本實(shí)施例,通過(guò)使用圖5a所示的解碼表,對(duì)量化矩陣的各元素的差值進(jìn)行解碼,并且再現(xiàn)差分矩陣。然而,解碼表不局限于圖5a所示的表。將再現(xiàn)得到的差分矩陣輸入給量化矩陣逆掃描單元208。
量化矩陣逆掃描單元208根據(jù)輸入的差分矩陣中的各差值來(lái)計(jì)算量化矩陣的各元素,進(jìn)行逆掃描,并且再現(xiàn)二維量化矩陣。將再現(xiàn)得到的量化矩陣輸入并存儲(chǔ)在量化矩陣存儲(chǔ)單元207中。此外,在解碼/分離單元201所分離得到的代碼中,將量化系數(shù)編碼數(shù)據(jù)輸入給系數(shù)解碼單元202。此外,系數(shù)解碼單元202針對(duì)各變換塊對(duì)量化系數(shù)編碼數(shù)據(jù)進(jìn)行解碼,再現(xiàn)量化系數(shù),并且將再現(xiàn)得到的量化系數(shù)輸出給逆量化單元203。
逆量化單元203輸入系數(shù)解碼單元202再現(xiàn)得到的量化系數(shù)和存儲(chǔ)在量化矩陣存儲(chǔ)單元207中的量化矩陣。然后,逆量化單元203通過(guò)使用量化矩陣進(jìn)行逆量化,再現(xiàn)變換系數(shù),并且將再現(xiàn)得到的變換系數(shù)輸出給逆變換單元204。逆變換單元204通過(guò)使用輸入的變換系數(shù)進(jìn)行作為圖1所示的變換單元103所進(jìn)行的操作的逆操作的逆正交變換,再現(xiàn)預(yù)測(cè)誤差,并且將預(yù)測(cè)誤差輸出給預(yù)測(cè)重構(gòu)單元205。預(yù)測(cè)重構(gòu)單元205基于輸入的預(yù)測(cè)誤差并且使用已完成解碼的周圍像素的數(shù)據(jù)來(lái)進(jìn)行預(yù)測(cè),再現(xiàn)以塊為單位的圖像數(shù)據(jù),并且輸出圖像數(shù)據(jù)。
圖10是示出根據(jù)第二典型實(shí)施例的圖像解碼設(shè)備的圖像解碼處理的流程圖。
在步驟s1001,解碼/分離單元201解碼頭信息,并且分離要輸出至后段組件的代碼。在步驟s1002,量化矩陣解碼單元206使用圖5a所示的解碼表來(lái)對(duì)頭信息中所包括的量化矩陣編碼數(shù)據(jù)進(jìn)行解碼,并且生成量化矩陣再現(xiàn)時(shí)所需的差分矩陣。在步驟s1003,量化矩陣逆掃描單元208根據(jù)步驟s1002所生成的差分矩陣來(lái)計(jì)算量化矩陣的各元素,進(jìn)行逆掃描,并且再現(xiàn)二維量化矩陣。
在步驟s1004,系數(shù)解碼單元202以變換塊為單位對(duì)量化系數(shù)編碼數(shù)據(jù)進(jìn)行解碼,并且再現(xiàn)量化系數(shù)。在步驟s1005,逆量化單元203通過(guò)使用步驟s1003所再現(xiàn)得到的量化矩陣對(duì)步驟s1004所再現(xiàn)得到的量化系數(shù)進(jìn)行逆量化,并且再現(xiàn)變換系數(shù)。在步驟s1006,逆變換單元204對(duì)步驟s1005所再現(xiàn)得到的變換系數(shù)進(jìn)行逆正交變換,并且再現(xiàn)預(yù)測(cè)誤差。在步驟s1007,圖像解碼設(shè)備判斷是否完成了塊中的所有變換塊的解碼。如果完成了所有變換塊的解碼(步驟s1007為“是”),則處理進(jìn)入步驟s1008。如果尚未完成所有變換塊的解碼(步驟s1007為“否”),則處理返回至步驟s1004,并且處理下一變換塊。
在步驟s1008,預(yù)測(cè)重構(gòu)單元205使用已解碼的周圍像素進(jìn)行預(yù)測(cè),將該結(jié)果與步驟s1006所再現(xiàn)得到的預(yù)測(cè)誤差相加,并且再現(xiàn)塊的解碼圖像。在步驟s1009,圖像解碼設(shè)備判斷是否完成了所有塊的解碼。如果完成了所有塊的解碼(步驟s1009為“是”),則停止所有操作,并且結(jié)束該處理。如果尚未完成所有塊的解碼(步驟s1009為“否”),則處理返回至步驟s1003,并且處理下一個(gè)塊。
根據(jù)上述處理,進(jìn)行根據(jù)第一典型實(shí)施例所生成的量化矩陣的代碼量較少的比特流的解碼,并且可以獲得再現(xiàn)圖像。此外,如第一典型實(shí)施例所述,塊的大小、變換塊的大小和塊的形狀不局限于上述例子。
此外,根據(jù)本實(shí)施例,使用圖5a所示的解碼表來(lái)對(duì)量化矩陣的各元素的差值進(jìn)行解碼。然而,解碼表不局限于這一例子。
此外,在比特流的一個(gè)序列包含若干量化矩陣編碼數(shù)據(jù)的情況下,可以更新量化矩陣。在這種情況下,解碼/分離單元201檢測(cè)量化矩陣編碼數(shù)據(jù),通過(guò)量化矩陣解碼單元206來(lái)對(duì)量化矩陣編碼數(shù)據(jù)進(jìn)行解碼,并且生成差分矩陣。通過(guò)量化矩陣逆掃描單元208來(lái)逆掃描所生成的差分矩陣,并且再現(xiàn)量化矩陣。然后,通過(guò)量化矩陣的再現(xiàn)數(shù)據(jù)來(lái)重寫存儲(chǔ)在量化矩陣存儲(chǔ)單元207中的量化矩陣的相應(yīng)數(shù)據(jù)。在這種情況下,可以重寫整個(gè)量化矩陣??蛇x地,通過(guò)確定要重寫的部分,可以重寫量化矩陣的一部分。
根據(jù)本實(shí)施例,盡管在累積了一幀的編碼數(shù)據(jù)之后進(jìn)行該處理,但是本發(fā)明不局限于這一例子。例如,可以以塊為單位或者以片為單位來(lái)進(jìn)行數(shù)據(jù)輸入。片包括多個(gè)塊。此外,代替塊,可以輸入被分割成固定長(zhǎng)度的包的數(shù)據(jù)。
此外,根據(jù)本實(shí)施例,盡管在生成了差分矩陣之后再現(xiàn)量化矩陣,但是量化矩陣解碼單元206可以在對(duì)差值進(jìn)行解碼之后,通過(guò)使用預(yù)定掃描方法直接再現(xiàn)量化矩陣。在這種情況下,不需要量化矩陣逆掃描單元208。
此外,如果根據(jù)變換系數(shù)的掃描方法要使用不同的量化矩陣,則可以根據(jù)變換系數(shù)的掃描方法來(lái)確定量化矩陣的各元素的掃描方法。
圖3是示出根據(jù)本發(fā)明第三典型實(shí)施例的圖像編碼設(shè)備的框圖。在圖3中,以相同附圖標(biāo)記表示與第一典型實(shí)施例的圖1中的組件相同的組件,并且不再重復(fù)針對(duì)這些組件的說(shuō)明。
掃描控制信息生成單元321生成作為各量化矩陣的掃描方法的信息的量化矩陣掃描方法信息。量化矩陣掃描單元309基于掃描控制信息生成單元321所生成的量化矩陣掃描方法信息來(lái)確定掃描方法,掃描存儲(chǔ)在量化矩陣存儲(chǔ)單元106中的量化矩陣,計(jì)算差值,并且生成差分矩陣。
如圖1中的整合編碼單元108所進(jìn)行的一樣,整合編碼單元308生成頭信息和與預(yù)測(cè)和變換相關(guān)聯(lián)的代碼。整合編碼單元308與整合編碼單元108的不同在于:整合編碼單元308輸入掃描控制信息生成單元321所生成量化矩陣掃描方法信息,并且對(duì)該信息進(jìn)行編碼。
現(xiàn)在將說(shuō)明上述圖像編碼設(shè)備所進(jìn)行的圖像編碼操作。
掃描控制信息生成單元321生成表示各量化矩陣的掃描方法和差值的計(jì)算方法的量化矩陣掃描方法信息。根據(jù)本實(shí)施例,如果量化矩陣掃描方法信息是0,則使用圖13a所示的掃描方法來(lái)掃描量化矩陣。然后,針對(duì)所有元素計(jì)算各元素和按照掃描順序在其之前的元素之間的差值,并且生成差分矩陣。此外,如果量化矩陣掃描方法信息是1,則使用圖13b所示的掃描方法來(lái)掃描量化矩陣。然后,針對(duì)所有元素計(jì)算各元素和按照掃描順序在其之前的元素之間的差值,并且生成差分矩陣。此外,如果量化矩陣掃描方法信息是2,則使用圖13d所示的掃描方法來(lái)掃描量化矩陣。然后,針對(duì)所有元素計(jì)算各元素和按照掃描順序在其之前的元素之間的差值,并且生成差分矩陣。量化矩陣的各元素的掃描方法和差計(jì)算方法不局限于上述例子,并且可以使用除參考圖13a、13b和13d所述的方法以外的方法。例如,可以使用圖13c和13e所示的差計(jì)算方法。此外,量化矩陣掃描方法信息和量化矩陣的掃描方法的組合不局限于上述例子。量化矩陣掃描方法信息的生成方法沒(méi)有限制。因此,該信息可以是用戶所輸入的值、作為固定值所指定的值、或者根據(jù)存儲(chǔ)在量化矩陣存儲(chǔ)單元106中的量化矩陣的特性所計(jì)算出的值。將所生成的量化矩陣掃描方法信息輸入給量化矩陣掃描單元309和整合編碼單元308。
基于輸入的量化矩陣掃描方法信息,量化矩陣掃描單元309掃描存儲(chǔ)在量化矩陣存儲(chǔ)單元106中的各量化矩陣,計(jì)算差值,生成差分矩陣,并且將差分矩陣輸出給量化矩陣編碼單元107。
整合編碼單元308對(duì)掃描控制信息生成單元321所生成的量化矩陣掃描方法信息進(jìn)行編碼,生成量化矩陣掃描方法信息代碼,并且通過(guò)將所生成的量化矩陣掃描方法信息代碼實(shí)現(xiàn)在頭信息中來(lái)輸出該量化矩陣掃描方法信息代碼。盡管編碼方法沒(méi)有限制,但是可以使用霍夫曼編碼和算術(shù)編碼。圖8b示出包括量化矩陣掃描方法信息代碼的比特流的例子。量化矩陣掃描方法信息代碼可以包括在序列頭或者圖片頭中。然而,量化矩陣掃描方法信息代碼需要存在于各量化矩陣編碼數(shù)據(jù)之前。
圖11示出根據(jù)第三典型實(shí)施例的圖像編碼設(shè)備的圖像編碼處理的流程圖。在圖11中,以相同附圖標(biāo)記表示與第一典型實(shí)施例的圖9所示的步驟相同的步驟,并且不再重復(fù)針對(duì)這些步驟的說(shuō)明。
在步驟s1151,掃描控制信息生成單元321確定步驟s1152中要進(jìn)行的量化矩陣掃描方法,并且生成量化矩陣掃描方法信息。在步驟s1152,量化矩陣掃描單元309通過(guò)使用步驟s1151所確定的量化矩陣掃描方法對(duì)步驟s901所生成的量化矩陣進(jìn)行掃描,來(lái)計(jì)算差值,并且生成差分矩陣。在步驟s1153,量化矩陣編碼單元107對(duì)步驟s1152所生成的差分矩陣進(jìn)行編碼。在步驟s1154,量化矩陣編碼單元107對(duì)量化矩陣掃描方法信息進(jìn)行編碼,生成量化矩陣掃描方法信息代碼,如實(shí)現(xiàn)其它代碼一樣將所生成的量化矩陣掃描方法信息代碼實(shí)現(xiàn)在頭部分中,并且輸出該代碼。
根據(jù)上述結(jié)構(gòu)和操作,通過(guò)最佳掃描方法來(lái)掃描各量化矩陣,并且可以生成量化矩陣的代碼量較少的比特流。此外,在根據(jù)變換系數(shù)的掃描方法要使用不同的量化矩陣的情況下,可以根據(jù)變換系數(shù)的掃描方法來(lái)確定量化矩陣的各元素的掃描方法。在要使用不同的掃描方法的情況下,可以對(duì)表示這一方法的標(biāo)志和所要使用的量化矩陣掃描方法信息進(jìn)行編碼。
此外,根據(jù)本實(shí)施例,盡管說(shuō)明了使用一個(gè)量化矩陣的情況,但是量化矩陣不一定是一個(gè)。例如,如果對(duì)于亮度/色度設(shè)置不同的量化矩陣,則可以使用量化矩陣掃描方法的共通的編碼信息,或者可以設(shè)置、編碼和使用不同的掃描方法。
此外,掃描控制信息生成單元321可以通過(guò)參考量化矩陣存儲(chǔ)單元106所生成的量化矩陣來(lái)生成掃描方法。此外,如上所述,如果預(yù)先準(zhǔn)備了多個(gè)掃描方法,則可以從這些掃描方法中選擇想要的掃描方法,并且使用該方法作為量化矩陣掃描信息。此外,可以對(duì)所掃描的元素的順序進(jìn)行編碼。對(duì)于圖13a中的量化矩陣,可以編碼并發(fā)送諸如1、2、6、7、3、5、8、13、4、9、12、14、10、11、15、16等的順序。
圖4是示出根據(jù)本發(fā)明第四典型實(shí)施例的圖像解碼設(shè)備的框圖。在圖4中,以相同附圖標(biāo)記表示與第二典型實(shí)施例的圖2中的組件相同的組件,并且不再重復(fù)針對(duì)這些組件的說(shuō)明。根據(jù)本實(shí)施例,將說(shuō)明針對(duì)第三典型實(shí)施例中所生成的比特流的解碼。
解碼/分離單元401對(duì)所輸入的比特流的頭信息進(jìn)行解碼,從該比特流分離所需代碼,并且將代碼輸出給后段組件。解碼/分離單元401與圖2所示的解碼/分離單元201的不同在于:從比特流的頭信息分離量化矩陣掃描方法信息代碼,并且將其輸出至后段組件。
掃描控制信息解碼單元421對(duì)解碼/分離單元401所分離得到的量化矩陣掃描方法信息代碼進(jìn)行解碼,并且再現(xiàn)量化矩陣掃描方法信息。量化矩陣逆掃描單元408通過(guò)基于該量化矩陣掃描方法信息對(duì)量化矩陣解碼單元206所生成的差分矩陣進(jìn)行逆掃描,來(lái)再現(xiàn)量化矩陣。
現(xiàn)在將說(shuō)明上述圖像解碼設(shè)備的圖像解碼操作。
在圖4中,將所輸入的一幀的比特流輸入給解碼/分離單元401,并且對(duì)再現(xiàn)圖像時(shí)所需的頭信息進(jìn)行解碼。此外,分離并輸出后段組件所使用的代碼。將頭信息中所包括的量化矩陣掃描方法信息代碼輸入給掃描控制信息解碼單元421,并且再現(xiàn)量化矩陣掃描方法信息。然后,將再現(xiàn)得到的量化矩陣掃描方法信息輸入給量化矩陣逆掃描單元408。另一方面,將頭信息中所包括的量化矩陣編碼數(shù)據(jù)輸入給量化矩陣解碼單元206。
量化矩陣解碼單元206對(duì)量化矩陣編碼數(shù)據(jù)進(jìn)行解碼,并且再現(xiàn)差分矩陣。將再現(xiàn)得到的差分矩陣輸入給量化矩陣逆掃描單元408。量化矩陣逆掃描單元408基于量化矩陣掃描方法信息,對(duì)從量化矩陣解碼單元206所輸入的差分矩陣進(jìn)行逆掃描,以元素為單位相加差,并且再現(xiàn)量化矩陣。將再現(xiàn)得到的量化矩陣存儲(chǔ)在量化矩陣存儲(chǔ)單元207中。
圖12是示出根據(jù)第四典型實(shí)施例的圖像解碼設(shè)備的圖像解碼處理的流程圖。在圖12中,以相同的附圖標(biāo)記表示與第二典型實(shí)施例的圖10中的步驟相同的步驟,并且不再重復(fù)針對(duì)這些步驟的說(shuō)明。
在步驟s1001,解碼/分離單元401對(duì)頭信息進(jìn)行解碼。在步驟s1251,掃描控制信息解碼單元421對(duì)頭信息中所包括的量化矩陣掃描方法信息代碼進(jìn)行解碼,并且再現(xiàn)量化矩陣掃描方法信息。在步驟s1253,量化矩陣逆掃描單元408通過(guò)使用步驟s1251所再現(xiàn)得到的量化矩陣的掃描方法的信息,對(duì)步驟s1252所再現(xiàn)得到的差分矩陣進(jìn)行逆掃描,并且再現(xiàn)量化矩陣。
根據(jù)上述結(jié)構(gòu)和操作,通過(guò)最佳掃描方法掃描了根據(jù)第三典型實(shí)施例所生成的各量化矩陣,對(duì)量化矩陣的代碼量較少的比特流進(jìn)行了解碼,并且獲得了再現(xiàn)圖像。
此外,如果根據(jù)正交變換系數(shù)的掃描方法要使用不同的量化矩陣,則可以根據(jù)變換系數(shù)的掃描方法來(lái)確定量化矩陣的各元素的掃描方法。如果要使用不同的掃描方法,則可以對(duì)表示這一方法的標(biāo)志和所要使用的量化矩陣掃描方法信息進(jìn)行編碼。
根據(jù)本發(fā)明的第五典型實(shí)施例,圖像編碼設(shè)備的結(jié)構(gòu)與圖1所示的第一典型實(shí)施例的圖像編碼設(shè)備相同。然而,量化矩陣掃描單元109的操作有所不同。由于除量化矩陣掃描單元109的處理以外的處理與第一典型實(shí)施例的處理相同,因而不再重復(fù)對(duì)這些處理的說(shuō)明。
量化矩陣掃描單元109從量化矩陣存儲(chǔ)單元106依次讀出二維形狀的量化矩陣,計(jì)算各元素與其預(yù)測(cè)值之間的差,掃描所計(jì)算出的差,并且將所獲得的結(jié)果配置成一維矩陣。該差的計(jì)算方法不同于第一典型實(shí)施例的量化矩陣掃描單元109所使用的方法。
根據(jù)本實(shí)施例,如圖16c所示,通過(guò)參考左側(cè)和上方的元素來(lái)計(jì)算預(yù)測(cè)值,并且通過(guò)圖16a所示的水平掃描來(lái)掃描所計(jì)算出的預(yù)測(cè)值。然后,將所獲得的結(jié)果配置成一維矩陣。關(guān)于預(yù)測(cè)值的計(jì)算方法,盡管根據(jù)本實(shí)施例使用左側(cè)和上方元素中的具有較大值的元素作為預(yù)測(cè)值,但是本發(fā)明不局限于這一例子。例如,可以使用較小值作為預(yù)測(cè)值,或者可以使用這兩個(gè)元素的平均值作為預(yù)測(cè)值。關(guān)于針對(duì)矩陣的第一行中的各元素的編碼,考慮左側(cè)的元素作為預(yù)測(cè)值。此外,關(guān)于針對(duì)矩陣的最左列中的各元素的編碼,考慮上方的元素作為預(yù)測(cè)值。此外,通過(guò)計(jì)算第一個(gè)元素的值和預(yù)定初始值之間的差來(lái)獲得與矩陣的第一個(gè)元素相對(duì)應(yīng)的差值。根據(jù)本實(shí)施例,盡管將初始值設(shè)置為8,但是可以使用任意值,或者可以使用第一個(gè)元素自身的值。此外,掃描方法不局限于水平掃描。換句話說(shuō),可以使用諸如圖16b所示的垂直掃描等的不同的掃描方法,只要其是單向掃描方法即可。
除步驟s902的操作以外,根據(jù)本實(shí)施例的圖像編碼處理的流程圖與根據(jù)圖9所示的第一典型實(shí)施例的流程圖相同。由于除步驟s902所進(jìn)行的操作以外的操作與第一典型實(shí)施例中所述的操作相同,因而不再重復(fù)針對(duì)這些操作的說(shuō)明。
在步驟s902,量化矩陣掃描單元109計(jì)算步驟s901所生成的量化矩陣的各元素的差,掃描所計(jì)算出的差,并且生成差分矩陣。本實(shí)施例說(shuō)明了在步驟s901中生成圖17a所示的量化矩陣的情況。使用圖16c示出的所生成的量化矩陣的上方和左側(cè)的元素中的最大值作為預(yù)測(cè)值,計(jì)算出圖17b所示的二維差值矩陣。然后,通過(guò)圖16a所示的水平掃描來(lái)掃描所獲得的差值矩陣,并且生成圖17c所示的差分矩陣。在使用上方和左側(cè)的元素的情況下,用于差值計(jì)算方法的值不局限于最大值,并且還可以使用最小值或者平均值。此外,掃描方法不局限于水平掃描,并且可以使用不同的掃描方法,只要其是單向掃描方法即可。
圖15是通過(guò)如圖16c所示使用上方和左側(cè)的元素的最大值作為預(yù)測(cè)值來(lái)計(jì)算圖17a所示的量化矩陣的差值、通過(guò)使用圖16a所示的掃描方法來(lái)掃描該差值、并且使用圖5a所示的編碼表來(lái)對(duì)該差值進(jìn)行編碼所獲得的表。圖15中的差值的列示出了通過(guò)水平地掃描預(yù)測(cè)值和各元素之間的差值所獲得的結(jié)果,其中,預(yù)測(cè)值是預(yù)定初始值(8)、或者左側(cè)和上方的元素的最大值。該表中的值與圖17c所示的差分矩陣的值相同。圖15中的代碼的列示出了通過(guò)使用圖5a中的編碼表來(lái)對(duì)差值進(jìn)行編碼所獲得的代碼,并且總共需要50位。這表示以小于圖7所示的傳統(tǒng)方法所需的68位的方式來(lái)編碼量化矩陣。此外,這還小于第一典型實(shí)施例所需的60位。
根據(jù)上述結(jié)構(gòu)和操作,可以生成對(duì)于量化矩陣需要較少位的比特流。
根據(jù)本實(shí)施例,盡管通過(guò)使用左側(cè)和上方的元素來(lái)計(jì)算預(yù)測(cè)值,但是可選地,還可以例如通過(guò)使用左上元素來(lái)計(jì)算預(yù)測(cè)值。此外,還可以使用除這些元素以外的元素。在這種情況下,除最大值、最小值和平均值以外,可選地,還可以使用中值。
根據(jù)本發(fā)明的第六典型實(shí)施例,圖像解碼設(shè)備具有與圖2所示的第二典型實(shí)施例的圖像解碼設(shè)備相同的結(jié)構(gòu)。然而,量化矩陣逆掃描單元208的操作有所不同。由于除量化矩陣逆掃描單元208所進(jìn)行的操作以外,本實(shí)施例的處理與第二典型實(shí)施例的處理相同,因而不再重復(fù)針對(duì)相同處理的說(shuō)明。根據(jù)本實(shí)施例,將說(shuō)明針對(duì)根據(jù)第五典型實(shí)施例所生成的比特流的解碼。
量化矩陣逆掃描單元208進(jìn)行根據(jù)第五典型實(shí)施例的量化矩陣掃描單元109的逆操作。輸入給量化矩陣逆掃描單元208的差分矩陣具有逆掃描的差值中的每一個(gè),并且再現(xiàn)二維差值矩陣。此外,計(jì)算量化矩陣的各元素,并且再現(xiàn)二維量化矩陣。根據(jù)本實(shí)施例,使用圖16a所示的水平掃描來(lái)逆掃描差分矩陣,并且再現(xiàn)二維差值矩陣。此外,根據(jù)圖16c所示的左側(cè)和上方的元素以及差值來(lái)計(jì)算量化矩陣的各元素,并且再現(xiàn)二維量化矩陣。逆掃描用的方法不局限于水平掃描,并且還可以使用圖16b所示的垂直掃描。換句話說(shuō),可以使用任何掃描方法,只要其是單向掃描方法即可。對(duì)于量化矩陣的各元素的計(jì)算方法,根據(jù)本實(shí)施例,將左側(cè)和上方的元素中具有較大值的元素確定為預(yù)測(cè)值,并且考慮預(yù)測(cè)值和差值的總和作為量化矩陣的各元素的值。然而,各元素的預(yù)測(cè)值不局限于這一值。例如,可以采用左側(cè)和上方的元素中的較小值或者這兩個(gè)元素的平均值作為預(yù)測(cè)值。然后,將預(yù)測(cè)值和差值的總和確定為量化矩陣的各元素的值。此外,對(duì)于矩陣的上端行的元素的再現(xiàn),使用這些元素的左側(cè)的元素作為預(yù)測(cè)值。此外,對(duì)于矩陣的左端的元素的再現(xiàn),使用這些元素的上方的元素作為預(yù)測(cè)值。然后,將預(yù)測(cè)值和差值的總和確定為各元素的值。此外,對(duì)于矩陣的第一個(gè)元素的再現(xiàn),使用預(yù)定初始值作為預(yù)測(cè)值。然后,將預(yù)測(cè)值和差值的總和確定為矩陣的第一個(gè)元素的值。根據(jù)本實(shí)施例,盡管將初始值設(shè)置為8,但是可以使用任意值作為初始值,或者可以對(duì)第一個(gè)元素自身的值進(jìn)行編碼。此外,掃描方法不局限于水平掃描。換句話說(shuō),可以使用諸如圖16b所示的垂直掃描等的不同的掃描方法,只要其是單向掃描方法即可。
除步驟s1003的操作以外,根據(jù)本實(shí)施例的圖像解碼處理的流程圖與圖10所示的第二典型實(shí)施例的流程圖相同。因此,除步驟s1003以外的操作與第二典型實(shí)施例的操作相同,并且不再重復(fù)針對(duì)這些操作的說(shuō)明。
在步驟s1003,量化矩陣逆掃描單元208通過(guò)對(duì)根據(jù)步驟s1002所生成的差分矩陣所獲得的各差值進(jìn)行逆掃描,來(lái)再現(xiàn)二維差值矩陣。此外,通過(guò)計(jì)算量化矩陣的各元素來(lái)再現(xiàn)二維量化矩陣。根據(jù)本實(shí)施例,在說(shuō)明該處理時(shí),使用圖17c所示的差分矩陣。通過(guò)圖16a所示的水平掃描來(lái)逆掃描差分矩陣,并且計(jì)算出圖17b所示的二維差值矩陣。然后,將上方和左側(cè)的元素中的較大值確定為預(yù)測(cè)值。此外,將各預(yù)測(cè)值和各差值的總和設(shè)置為量化矩陣的各元素的值。逆掃描方法不局限于水平掃描,只要其是單向逆掃描方法即可。此外,可選地,在獲得量化矩陣的各元素的再現(xiàn)所使用的各元素的值時(shí),可以使用左側(cè)和上方的元素中具有較小值的元素、或者元素的平均值作為預(yù)測(cè)值。
根據(jù)上述結(jié)構(gòu)和操作,通過(guò)對(duì)根據(jù)第五典型實(shí)施例所生成的量化矩陣的代碼量較少的比特流進(jìn)行解碼,可以獲得再現(xiàn)圖像
根據(jù)本實(shí)施例,盡管通過(guò)使用左側(cè)和上方的元素來(lái)計(jì)算預(yù)測(cè)值,但是可選地,還可以例如通過(guò)使用左上的元素來(lái)計(jì)算預(yù)測(cè)值。此外,還可以使用除這些元素以外的元素。在這種情況下,除最大值、最小值和平均值外,可選地,還可以使用中值。
根據(jù)本發(fā)明的第七典型實(shí)施例,圖像編碼設(shè)備的結(jié)構(gòu)與圖1所示的第一典型實(shí)施例的圖像編碼設(shè)備相同。然而,量化矩陣掃描單元109的操作有所不同。由于除量化矩陣掃描單元109的處理以外的處理與第一典型實(shí)施例的處理相同,因而不再重復(fù)針對(duì)這些處理的說(shuō)明。
量化矩陣掃描單元109從量化矩陣存儲(chǔ)單元106依次讀出二維形狀的量化矩陣,計(jì)算各元素和預(yù)測(cè)值之間的差,掃描所計(jì)算出的差,并且將所獲得的結(jié)果配置成一維矩陣。該差值的計(jì)算方法不同于第一典型實(shí)施例的量化矩陣掃描單元109所使用的方法。
根據(jù)本實(shí)施例,使用圖18a所示的對(duì)角單向掃描,并且針對(duì)各元素計(jì)算該元素與按照掃描順序在其之前的元素之間的差。然而,掃描方法不局限于這一例子。例如,可選地,還可以使用圖18b所示的對(duì)角單向掃描。圖18b中的掃描方向和圖18a中的掃描方向?qū)τ趯?duì)角線對(duì)稱。換句話說(shuō),可以使用任何掃描方法,只要其是單向掃描方法即可。此外,在本實(shí)施例中附加地使用8×8像素的變換塊大小的情況下,使用與圖18c所示的8×8像素變換塊相對(duì)應(yīng)的對(duì)角方向的單向掃描。
除步驟s902的操作以外,根據(jù)本實(shí)施例的圖像編碼處理的流程圖與圖9所示的根據(jù)第一典型實(shí)施例的流程圖相同。由于除步驟s902所進(jìn)行的操作以外的操作與第一典型實(shí)施例中所述的操作相同,因而不再重復(fù)針對(duì)這些操作的說(shuō)明。
在步驟s902,量化矩陣掃描單元109對(duì)步驟s901所生成的量化矩陣進(jìn)行掃描。然后,計(jì)算各元素的差,并且生成差分矩陣。根據(jù)本實(shí)施例,通過(guò)圖18a所示的掃描方法來(lái)掃描圖19a所示的量化矩陣,并且生成圖19b所示的差分矩陣。然而,量化矩陣和掃描方法不局限于這些例子。
根據(jù)上述結(jié)構(gòu)和操作,對(duì)于代替圖13a所示的折線掃描方法而使用圖18a所示的對(duì)角掃描來(lái)對(duì)量化系數(shù)進(jìn)行編碼的視頻編碼方法,可以在通過(guò)共用掃描方法而節(jié)省所使用的存儲(chǔ)器的同時(shí),以相同效率或更高效率來(lái)生成比特流。
近年來(lái),來(lái)自iso/iec和itu-t的專家創(chuàng)立了jct-vc(視頻編碼聯(lián)合組),以開發(fā)繼h.264之后的新的國(guó)際視頻編碼標(biāo)準(zhǔn)。根據(jù)提交至jct-vc的投稿jctvc-j0150,報(bào)告了如下內(nèi)容:通過(guò)采用相當(dāng)于本實(shí)施例的方法的對(duì)角掃描方法進(jìn)行量化矩陣的編碼,確認(rèn)了同等或略提高的效率。此外,由于在jct-vc的標(biāo)準(zhǔn)化下的高效視頻編碼(hevc)中不使用折線掃描,因而在該投稿中還報(bào)告了通過(guò)共用掃描方法的存儲(chǔ)器節(jié)省效果。<http://phenix.int-evry.fr/jct/doc_end_user/documents/10_stockholm/wg11/>
此外,如圖20a~20d所示,如果將量化矩陣分割成多個(gè)小矩陣,則可以通過(guò)單向掃描來(lái)掃描這些小矩陣。這樣,可以將4×4量化矩陣的掃描方法應(yīng)用于大小更大的量化矩陣,并且可以減少存儲(chǔ)掃描順序信息時(shí)所需的存儲(chǔ)器。
根據(jù)本發(fā)明的第八典型實(shí)施例,圖像解碼設(shè)備具有與圖2所示的第二典型實(shí)施例的圖像解碼設(shè)備相同的結(jié)構(gòu)。然而,量化矩陣逆掃描單元208的操作有所不同。由于除量化矩陣逆掃描單元208所進(jìn)行的操作以外,本實(shí)施例的處理與第二典型實(shí)施例的處理相同,因而不再重復(fù)針對(duì)相同處理的說(shuō)明。根據(jù)本實(shí)施例,將說(shuō)明針對(duì)根據(jù)第七典型實(shí)施例所生成的比特流的解碼。
量化矩陣逆掃描單元208進(jìn)行根據(jù)第七典型實(shí)施例的量化矩陣掃描單元109的逆操作。輸入給量化矩陣逆掃描單元208的差分矩陣具有根據(jù)各差值所計(jì)算出的量化矩陣的各元素。然后,對(duì)所計(jì)算出的元素進(jìn)行逆掃描,并且再現(xiàn)二維量化矩陣。
根據(jù)本實(shí)施例,根據(jù)差分矩陣的各差值來(lái)計(jì)算量化矩陣的各元素,并且使用圖18a所示的掃描方法來(lái)逆掃描所獲得的元素,以再現(xiàn)二維量化矩陣。逆掃描方法不局限于圖18a所示的方法,并且可選地可以是圖18b所示的對(duì)角單向掃描。圖18b中的掃描方向和圖18a中的掃描方向相對(duì)于對(duì)角線對(duì)稱。換句話說(shuō),可以使用任何掃描方法,只要是單向掃描方法即可。
除步驟s1003的操作以外,根據(jù)本實(shí)施例的圖像解碼處理的流程圖與圖10所示的第二典型實(shí)施例的流程圖相同。因此,除步驟s1003以外的操作與第二典型實(shí)施例的操作相同,并且不再重復(fù)針對(duì)這些操作的說(shuō)明。
在步驟s1003,量化矩陣逆掃描單元208通過(guò)根據(jù)步驟s1002所生成的差分矩陣計(jì)算量化矩陣的各元素、并且對(duì)各元素進(jìn)行逆掃描,來(lái)再現(xiàn)二維量化矩陣。根據(jù)本實(shí)施例,根據(jù)圖19b所示的差分矩陣來(lái)計(jì)算量化矩陣的各元素,并且使用圖18a所示的逆掃描方法來(lái)逆掃描所計(jì)算出的各元素。結(jié)果,再現(xiàn)了圖19a所示的量化矩陣。差分矩陣和逆掃描方法不局限于這些例子。
根據(jù)上述結(jié)構(gòu)和操作,可以通過(guò)進(jìn)行在由于共用掃描方法而節(jié)省所使用存儲(chǔ)器的同時(shí)以第七典型實(shí)施例的相同或略好的編碼效率所生成的比特流的解碼,來(lái)獲得再現(xiàn)圖像。
根據(jù)上述典型實(shí)施例,通過(guò)硬件組件實(shí)現(xiàn)圖1~4所示的各處理單元。然而,可以通過(guò)計(jì)算機(jī)可執(zhí)行程序進(jìn)行圖1~4所示的各處理單元所進(jìn)行的處理。
圖14是示出可用于根據(jù)上述典型實(shí)施例的圖像處理設(shè)備的計(jì)算機(jī)的硬件結(jié)構(gòu)的例子的框圖。
中央處理單元(cpu)1401根據(jù)存儲(chǔ)在隨機(jī)存取存儲(chǔ)器(ram)1402或只讀存儲(chǔ)器(rom)1403中的計(jì)算機(jī)程序或數(shù)據(jù)來(lái)控制計(jì)算機(jī)整體。此外,cpu1401執(zhí)行根據(jù)上述典型實(shí)施例的圖像處理設(shè)備所進(jìn)行的上述處理。換句話說(shuō),cpu1401用作圖1~4所示的各處理單元。
ram1402包括用于臨時(shí)存儲(chǔ)從外部存儲(chǔ)裝置1406所裝載的計(jì)算機(jī)程序或數(shù)據(jù)、或者經(jīng)由接口(i/f)1407從外部所獲取的數(shù)據(jù)的區(qū)域。此外,ram1402包括cpu1401執(zhí)行各種類型的處理時(shí)所使用的工作區(qū)域。換句話說(shuō),ram1402可被分配作為幀存儲(chǔ)器,或者可以任意提供其它各種區(qū)域。
將計(jì)算機(jī)的設(shè)置數(shù)據(jù)和諸如引導(dǎo)程序等的程序存儲(chǔ)在rom1403中。操作單元1404包括鍵盤或鼠標(biāo)。計(jì)算機(jī)的用戶通過(guò)操作操作單元1404,向cpu1401輸入各種指示。輸出單元1405輸出cpu1401所執(zhí)行的處理的結(jié)果。輸出單元1405例如是諸如液晶顯示器等的顯示裝置,并且能夠顯示該處理結(jié)果。
外部存儲(chǔ)裝置1406是以硬盤驅(qū)動(dòng)器裝置為代表的大容量信息存儲(chǔ)單元。將cpu1401實(shí)現(xiàn)圖1~4所示的各單元的功能時(shí)所使用的操作系統(tǒng)(os)和計(jì)算機(jī)程序存儲(chǔ)在外部存儲(chǔ)裝置1406中。此外,可以將作為處理對(duì)象的各圖像數(shù)據(jù)存儲(chǔ)在外部存儲(chǔ)裝置1406中。
存儲(chǔ)在外部存儲(chǔ)裝置1406中的計(jì)算機(jī)程序或數(shù)據(jù)根據(jù)cpu1401的控制而適當(dāng)裝載進(jìn)ram1402中,并且由cpu1401進(jìn)行處理??梢詫⒅T如局域網(wǎng)(lan)或因特網(wǎng)等的網(wǎng)絡(luò)以及諸如投影設(shè)備或顯示裝置等的其它設(shè)備連接至i/f1407,從而使得計(jì)算機(jī)可以經(jīng)由i/f1407接收和發(fā)送各種信息??偩€1408連接上述各單元。
主要通過(guò)cpu1401進(jìn)行上述配置所實(shí)現(xiàn)的操作。通過(guò)cpu1401控制參考上述流程圖所述的處理。
當(dāng)將用于存儲(chǔ)實(shí)現(xiàn)上述功能的計(jì)算機(jī)程序的代碼的存儲(chǔ)介質(zhì)提供給系統(tǒng)、并且該系統(tǒng)讀出并執(zhí)行計(jì)算機(jī)程序的代碼時(shí),可以實(shí)現(xiàn)本發(fā)明。在這種情況下,從存儲(chǔ)介質(zhì)自身讀出的程序代碼實(shí)現(xiàn)了上述典型實(shí)施例的功能,并且用于存儲(chǔ)程序代碼的存儲(chǔ)介質(zhì)構(gòu)成了本發(fā)明。此外,下面的情況也包括在本發(fā)明中:運(yùn)行在計(jì)算機(jī)上的os等基于程序代碼的指示執(zhí)行部分或全部實(shí)際處理,從而實(shí)現(xiàn)上述典型實(shí)施例的功能。
此外,可以通過(guò)下面的配置實(shí)現(xiàn)本發(fā)明。具體地,將從存儲(chǔ)介質(zhì)讀出的計(jì)算機(jī)程序代碼寫入設(shè)置在插入計(jì)算機(jī)的功能擴(kuò)展卡或者與計(jì)算機(jī)連接的功能擴(kuò)展單元中的存儲(chǔ)器中,并且設(shè)置在功能擴(kuò)展卡或者功能擴(kuò)展單元中的cpu基于來(lái)自計(jì)算機(jī)程序代碼的指示來(lái)進(jìn)行整個(gè)或部分實(shí)際處理,以實(shí)現(xiàn)上述典型實(shí)施例的功能。上述配置也包括在本發(fā)明中。
當(dāng)將本發(fā)明應(yīng)用于上述存儲(chǔ)介質(zhì)時(shí),將與上述流程圖相對(duì)應(yīng)的計(jì)算機(jī)程序的代碼存儲(chǔ)在存儲(chǔ)介質(zhì)中。
盡管已經(jīng)參考典型實(shí)施例說(shuō)明了本發(fā)明,但是應(yīng)該理解,本發(fā)明不局限于所公開的典型實(shí)施例。所附權(quán)利要求書的范圍符合最寬的解釋,以包含所有修改、等同結(jié)構(gòu)和功能。
本申請(qǐng)要求于2011年11月7日提交的日本專利申請(qǐng)2011-243942、2012年1月18日提交的日本專利申請(qǐng)2012-008199、2012年3月14日提交的日本專利申請(qǐng)2012-057424和2012年4月16日提交的日本專利申請(qǐng)2012-093113的優(yōu)先權(quán),上述所有專利申請(qǐng)的全部?jī)?nèi)容通過(guò)引用包含于此。