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