專利名稱:數(shù)據(jù)編碼裝置、解碼裝置、以及數(shù)據(jù)編碼方法、解碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及把數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分來進(jìn)行編碼或解碼的數(shù)據(jù)編碼裝置、數(shù)據(jù)解碼裝置、數(shù)據(jù)編碼方法以及數(shù)據(jù)解碼方法。
背景技術(shù):
在數(shù)字照相機(jī)等的攝像裝置中,例如在單鏡頭反光式機(jī)型等中進(jìn)行把被稱為RAW數(shù)據(jù)的攝像數(shù)據(jù)記錄在記錄介質(zhì)內(nèi)。該RAW數(shù)據(jù)僅是在對(duì)從攝像元件所得到的圖像信號(hào)實(shí)施了簡(jiǎn)單的模擬處理之后轉(zhuǎn)換成數(shù)字?jǐn)?shù)據(jù)的數(shù)據(jù)。然而,近年來,由于數(shù)字照相機(jī)的攝像元件正在進(jìn)行高像素化,因而這種RAW數(shù)據(jù)的數(shù)據(jù)量增大起來。因此,也存在對(duì)RAW數(shù)據(jù)進(jìn)行壓縮處理來實(shí)現(xiàn)數(shù)據(jù)量縮小的數(shù)字照相機(jī)。不過,RAW數(shù)據(jù)是假定由用戶修改的數(shù)據(jù),在進(jìn)行壓縮處理的情況下,期望的是無損(Lossless)壓縮。
壓縮方式一般期望的是壓縮率高,然而在應(yīng)用于數(shù)字照相機(jī)等攝像裝置的壓縮方式的情況下,與應(yīng)用于單體個(gè)人計(jì)算機(jī)等的壓縮方式的情況不同,由于規(guī)格上的限制等,因而還有若干期望條件,例如以下所述。
(1)處理時(shí)間短;(2)處理所需緩沖量小。
其中的條件(1)例如是與連拍性能、電池消耗等相關(guān)聯(lián)的條件。并且,條件(2)是與數(shù)字照相機(jī)的成本、尺寸、重量等相關(guān)聯(lián)的條件。
然而,要全都滿足條件(1)和條件(2),會(huì)使壓縮性能下降的可能性增高。
作為以往提出的壓縮技術(shù),列舉有例如美國(guó)專利5764374號(hào)記載的方法,即根據(jù)編碼對(duì)象像素的周邊像素的梯度,對(duì)狀態(tài)進(jìn)行分類,在各個(gè)狀態(tài)下的Golomb-Rice編碼中設(shè)定k參數(shù)。
專利文獻(xiàn)1美國(guó)專利5764374號(hào)然而,在上述美國(guó)專利5764374號(hào)記載的技術(shù)中,由于必須針對(duì)各狀態(tài)生成出現(xiàn)頻度和累積誤差的表格,然后進(jìn)行計(jì)算處理,因而緩沖使用量增加,即,沒有充分滿足上述條件(2)。而且,由于針對(duì)編碼對(duì)象像素進(jìn)行周邊像素的狀態(tài)分類,因而伴隨處理的增加,對(duì)于條件(1)也不能說充分滿足。
發(fā)明內(nèi)容
本發(fā)明就是鑒于上述情況而提出的,本發(fā)明的目的是提供處理時(shí)間短、必要存儲(chǔ)量小、能發(fā)揮高壓縮性能的數(shù)據(jù)編碼裝置和數(shù)據(jù)編碼方法。
并且,本發(fā)明的目的是提供能將上述所壓縮的數(shù)據(jù)以較短的處理時(shí)間和較小的必要存儲(chǔ)量進(jìn)行解碼的數(shù)據(jù)解碼裝置和數(shù)據(jù)解碼方法。
為了達(dá)到上述目的,第1發(fā)明的數(shù)據(jù)編碼裝置預(yù)測(cè)數(shù)據(jù)以轉(zhuǎn)換成預(yù)測(cè)誤差數(shù)據(jù),并把該預(yù)測(cè)誤差數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分來進(jìn)行編碼,其特征在于,具有數(shù)據(jù)轉(zhuǎn)換部,其自適應(yīng)預(yù)測(cè)數(shù)據(jù)以轉(zhuǎn)換成預(yù)測(cè)誤差數(shù)據(jù);游程(run)計(jì)數(shù)器,其用于檢測(cè)上述預(yù)測(cè)誤差數(shù)據(jù)連續(xù)小于等于規(guī)定閾值的數(shù);碼長(zhǎng)設(shè)定部,其根據(jù)由上述游程計(jì)數(shù)器所檢測(cè)的數(shù),設(shè)定上述預(yù)測(cè)誤差數(shù)據(jù)的固定長(zhǎng)度碼部分的碼長(zhǎng);以及編碼部,其把上述預(yù)測(cè)誤差數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分來進(jìn)行編碼。
并且,第2發(fā)明的數(shù)據(jù)編碼裝置的特征在于,在上述第1發(fā)明的數(shù)據(jù)編碼裝置中,上述碼長(zhǎng)設(shè)定部在由上述游程計(jì)數(shù)器所檢測(cè)的數(shù)大于等于規(guī)定的游程長(zhǎng)度的情況下,與小于規(guī)定的游程長(zhǎng)度的情況相比,把上述碼長(zhǎng)設(shè)定得更短。
而且,第3發(fā)明的數(shù)據(jù)編碼裝置的特征在于,在上述第1發(fā)明的數(shù)據(jù)編碼裝置中,上述閾值可設(shè)定多種;上述游程計(jì)數(shù)器針對(duì)所設(shè)定的多種閾值的各方,檢測(cè)預(yù)測(cè)誤差數(shù)據(jù)連續(xù)小于等于該閾值的數(shù)。
第4發(fā)明的數(shù)據(jù)編碼裝置的特征在于,在上述第3發(fā)明的數(shù)據(jù)編碼裝置中,上述碼長(zhǎng)設(shè)定部把在針對(duì)第1閾值而由上述游程計(jì)數(shù)器所檢測(cè)的數(shù)大于等于規(guī)定的游程長(zhǎng)度的情況下的第1碼長(zhǎng)設(shè)定得比在針對(duì)大于該第1閾值的第2閾值而由上述游程計(jì)數(shù)器所檢測(cè)的數(shù)大于等于規(guī)定的游程長(zhǎng)度的情況下的第2碼長(zhǎng)短。
第5發(fā)明的數(shù)據(jù)編碼裝置的特征在于,在上述第4發(fā)明的數(shù)據(jù)編碼裝置中,還具有動(dòng)態(tài)范圍算出部,其用于把上述預(yù)測(cè)誤差數(shù)據(jù)的有效位數(shù)作為動(dòng)態(tài)范圍來檢測(cè);上述碼長(zhǎng)設(shè)定部把如下得到的值設(shè)定為上述預(yù)測(cè)誤差數(shù)據(jù)的固定長(zhǎng)度碼部分的碼長(zhǎng)在上述第1碼長(zhǎng)和上述第2碼長(zhǎng)中取不大的一方,在上述不大的一方和上述動(dòng)態(tài)范圍中取不小的一方。
第6發(fā)明的數(shù)據(jù)編碼方法用于預(yù)測(cè)數(shù)據(jù)以轉(zhuǎn)換成預(yù)測(cè)誤差數(shù)據(jù),并把該預(yù)測(cè)誤差數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分來進(jìn)行編碼,其特征在于,具有如下的步驟自適應(yīng)預(yù)測(cè)數(shù)據(jù)以轉(zhuǎn)換成預(yù)測(cè)誤差數(shù)據(jù)的步驟;檢測(cè)上述預(yù)測(cè)誤差數(shù)據(jù)連續(xù)小于等于規(guī)定閾值的數(shù)的步驟;根據(jù)上述所檢測(cè)的數(shù),設(shè)定上述預(yù)測(cè)誤差數(shù)據(jù)的固定長(zhǎng)度碼部分的碼長(zhǎng)的步驟;以及把上述預(yù)測(cè)誤差數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分來進(jìn)行編碼的步驟。
第7發(fā)明的數(shù)據(jù)解碼裝置把編碼數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分來進(jìn)行解碼,其特征在于,具有預(yù)測(cè)誤差數(shù)據(jù)解碼部,其通過把編碼數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分進(jìn)行解碼來求出預(yù)測(cè)誤差數(shù)據(jù);注目數(shù)據(jù)解碼部,其根據(jù)由上述預(yù)測(cè)誤差數(shù)據(jù)解碼部所解碼的預(yù)測(cè)誤差數(shù)據(jù)自適應(yīng)地求出注目數(shù)據(jù);游程計(jì)數(shù)器,其用于針對(duì)由上述預(yù)測(cè)誤差數(shù)據(jù)解碼部所解碼的與注目數(shù)據(jù)的前一個(gè)數(shù)據(jù)相關(guān)的預(yù)測(cè)誤差數(shù)據(jù),檢測(cè)該預(yù)測(cè)誤差數(shù)據(jù)連續(xù)小于等于規(guī)定閾值的數(shù);以及碼長(zhǎng)設(shè)定部,其根據(jù)由上述游程計(jì)數(shù)器所檢測(cè)的數(shù),設(shè)定上述編碼數(shù)據(jù)的固定長(zhǎng)度碼部分的碼長(zhǎng);上述預(yù)測(cè)誤差數(shù)據(jù)解碼部根據(jù)由上述碼長(zhǎng)設(shè)定部所設(shè)定的碼長(zhǎng),把上述編碼數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分進(jìn)行解碼來求出上述預(yù)測(cè)誤差數(shù)據(jù)。
第8發(fā)明的數(shù)據(jù)解碼裝置的特征在于,在上述第7發(fā)明的數(shù)據(jù)解碼裝置中,上述碼長(zhǎng)設(shè)定部在由上述游程計(jì)數(shù)器所檢測(cè)的數(shù)大于等于規(guī)定的游程長(zhǎng)度的情況下,與小于規(guī)定的游程長(zhǎng)度的情況相比,把上述碼長(zhǎng)設(shè)定得更短。
第9發(fā)明的數(shù)據(jù)解碼裝置的特征在于,在上述第7發(fā)明的數(shù)據(jù)解碼裝置中,上述閾值可設(shè)定多種;上述游程計(jì)數(shù)器針對(duì)所設(shè)定的多種閾值的各方,檢測(cè)預(yù)測(cè)誤差數(shù)據(jù)連續(xù)小于等于該閾值的數(shù)。
第10發(fā)明的數(shù)據(jù)解碼裝置的特征在于,在上述第9發(fā)明的數(shù)據(jù)解碼裝置中,上述碼長(zhǎng)設(shè)定部把在針對(duì)第1閾值而由上述游程計(jì)數(shù)器所檢測(cè)的數(shù)大于等于規(guī)定的游程長(zhǎng)度的情況下的第1碼長(zhǎng)設(shè)定得,比在針對(duì)大于該第1閾值的第2閾值而由上述游程計(jì)數(shù)器所檢測(cè)的數(shù)大于等于規(guī)定的游程長(zhǎng)度的情況下的第2碼長(zhǎng)短。
第11發(fā)明的數(shù)據(jù)解碼裝置的特征在于,在上述第10發(fā)明的數(shù)據(jù)解碼裝置中,還具有動(dòng)態(tài)范圍算出部,其用于把上述預(yù)測(cè)誤差數(shù)據(jù)的有效位數(shù)作為動(dòng)態(tài)范圍來檢測(cè);上述碼長(zhǎng)設(shè)定部把如下得到的值設(shè)定為上述預(yù)測(cè)誤差數(shù)據(jù)的固定長(zhǎng)度碼部分的碼長(zhǎng)在上述第1碼長(zhǎng)和上述第2碼長(zhǎng)中取不大的一方,在上述不大的一方和上述動(dòng)態(tài)范圍中取不小的一方。
第12發(fā)明的數(shù)據(jù)解碼方法把編碼數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分進(jìn)行解碼,其特征在于,具有如下的步驟通過把編碼數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分進(jìn)行解碼來求出預(yù)測(cè)誤差數(shù)據(jù)的步驟;根據(jù)上述所解碼的預(yù)測(cè)誤差數(shù)據(jù)自適應(yīng)地求出注目數(shù)據(jù)的步驟;針對(duì)上述所解碼的與注目數(shù)據(jù)的前一個(gè)數(shù)據(jù)相關(guān)的預(yù)測(cè)誤差數(shù)據(jù),檢測(cè)該預(yù)測(cè)誤差數(shù)據(jù)連續(xù)小于等于規(guī)定閾值的數(shù)的步驟;以及根據(jù)上述所檢測(cè)的數(shù),設(shè)定上述編碼數(shù)據(jù)的固定長(zhǎng)度碼部分的碼長(zhǎng)的步驟;求出上述預(yù)測(cè)誤差數(shù)據(jù)的步驟是根據(jù)由設(shè)定上述固定長(zhǎng)度碼部分的碼長(zhǎng)的步驟所設(shè)定的碼長(zhǎng),把上述編碼數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分進(jìn)行解碼來求出上述預(yù)測(cè)誤差數(shù)據(jù)的步驟。
根據(jù)本發(fā)明的數(shù)據(jù)編碼裝置和數(shù)據(jù)編碼方法,能以較短的處理時(shí)間和較小的必要存儲(chǔ)量發(fā)揮高的壓縮性能。
并且,根據(jù)本發(fā)明的數(shù)據(jù)解碼裝置和數(shù)據(jù)解碼方法,可將上述所壓縮的數(shù)據(jù)以較短的處理時(shí)間和較小的必要存儲(chǔ)量進(jìn)行解碼。
圖1是示出本發(fā)明的實(shí)施方式1中的數(shù)據(jù)編碼裝置的結(jié)構(gòu)的方框圖。
圖2是示出上述實(shí)施方式1中的數(shù)據(jù)解碼裝置的結(jié)構(gòu)的方框圖。
圖3是示出上述實(shí)施方式1中的平坦度檢測(cè)部的結(jié)構(gòu)的方框圖。
圖4是示出上述實(shí)施方式1的數(shù)據(jù)編碼裝置的壓縮處理流程概要的流程圖。
圖5是示出上述實(shí)施方式1的數(shù)據(jù)解碼裝置的解壓縮處理流程概要的流程圖。
圖6是示出上述實(shí)施方式1的數(shù)據(jù)編碼裝置的壓縮處理詳情的流程圖。
圖7是示出在上述實(shí)施方式1中,以像素單位進(jìn)行的平坦度檢測(cè)1的處理的流程圖。
圖8是示出在上述實(shí)施方式1中,以像素單位進(jìn)行的平坦度檢測(cè)2的處理的流程圖。
圖9是示出在上述實(shí)施方式1中,以行單位進(jìn)行的平坦度檢測(cè)1的處理的流程圖。
圖10是示出在上述實(shí)施方式1中,以行單位進(jìn)行的平坦度檢測(cè)2的處理的流程圖。
圖11是示出在上述實(shí)施方式1中,注目像素和在注目像素以前所讀出的附近像素的配置的圖。
圖12是示出上述實(shí)施方式1中的絕對(duì)值化的另一例的圖表。
圖13是示出在上述實(shí)施方式1的像素單位的平坦度檢測(cè)中使用的各閾值和設(shè)定值的圖表。
圖14是示出上述實(shí)施方式1中的與閾值對(duì)應(yīng)的k參數(shù)的設(shè)定例的圖表。
圖15是示出上述實(shí)施方式1中的Golomb-Rice編碼例的圖。
圖16是示出在上述實(shí)施方式1中,成為數(shù)據(jù)編碼裝置的處理對(duì)象的1行圖像數(shù)據(jù)的示例、而且是隨機(jī)性較高的示例的圖。
圖17是示出由上述實(shí)施方式1的數(shù)據(jù)編碼裝置根據(jù)圖16的圖像數(shù)據(jù)所算出的預(yù)測(cè)誤差值的圖。
圖18是示出由上述實(shí)施方式1的數(shù)據(jù)編碼裝置根據(jù)圖17的預(yù)測(cè)誤差值所取得的絕對(duì)值化后的預(yù)測(cè)誤差值的圖。
圖19是示出圖16的圖像數(shù)據(jù)的像素值和圖17的預(yù)測(cè)誤差值的狀態(tài)的線圖。
圖20是示出在上述實(shí)施方式1中,根據(jù)圖18所示的絕對(duì)值化后的預(yù)測(cè)誤差數(shù)據(jù)設(shè)定游程計(jì)數(shù)器和k參數(shù)的狀態(tài)的圖表。
圖21是將采用實(shí)施方式1的技術(shù)對(duì)圖16所示的圖像數(shù)據(jù)進(jìn)行的壓縮率與使k參數(shù)固定時(shí)的壓縮率進(jìn)行對(duì)比示出的圖表。
圖22是示出在上述實(shí)施方式1中,成為數(shù)據(jù)編碼裝置的處理對(duì)象的1行圖像數(shù)據(jù)的示例、而且是隨機(jī)性較低的示例的圖。
圖23是示出由上述實(shí)施方式1的數(shù)據(jù)編碼裝置根據(jù)圖22的圖像數(shù)據(jù)所算出的預(yù)測(cè)誤差值的圖。
圖24是示出由上述實(shí)施方式1的數(shù)據(jù)編碼裝置根據(jù)圖23的預(yù)測(cè)誤差值所取得的絕對(duì)值化后的預(yù)測(cè)誤差值的圖。
圖25是示出圖22的圖像數(shù)據(jù)的像素值和圖23的預(yù)測(cè)誤差值的狀態(tài)的線圖。
圖26是示出在上述實(shí)施方式1中,根據(jù)圖24所示的絕對(duì)值化后的預(yù)測(cè)誤差數(shù)據(jù)設(shè)定游程計(jì)數(shù)器和k參數(shù)的狀態(tài)的圖表。
圖27是將針對(duì)圖22所示的圖像數(shù)據(jù)使用實(shí)施方式1的技術(shù)所進(jìn)行的壓縮率與使k參數(shù)固定時(shí)的壓縮率進(jìn)行對(duì)比示出的圖表。
圖28是示出本發(fā)明的實(shí)施方式2中的數(shù)據(jù)編碼裝置的結(jié)構(gòu)的方框圖。
圖29是示出上述實(shí)施方式2中的數(shù)據(jù)解碼裝置的結(jié)構(gòu)的方框圖。
圖30是示出上述實(shí)施方式2的數(shù)據(jù)編碼裝置的壓縮處理詳情的流程圖。
圖31是示出在上述實(shí)施方式2中,根據(jù)圖18所示的絕對(duì)值化后的預(yù)測(cè)誤差數(shù)據(jù)設(shè)定游程計(jì)數(shù)器和k參數(shù)的狀態(tài)的圖表。
圖32是將針對(duì)圖16所示的圖像數(shù)據(jù)使用實(shí)施方式2的技術(shù)所進(jìn)行的壓縮率與使k參數(shù)固定時(shí)的壓縮率進(jìn)行對(duì)比示出的圖表。
圖33是示出在上述實(shí)施方式2中,根據(jù)圖24所示的絕對(duì)值化后的預(yù)測(cè)誤差數(shù)據(jù)設(shè)定游程計(jì)數(shù)器和k參數(shù)的狀態(tài)的圖表。
圖34是將針對(duì)圖22所示的圖像數(shù)據(jù)使用實(shí)施方式2的技術(shù)所進(jìn)行的壓縮率與使k參數(shù)固定時(shí)的壓縮率進(jìn)行對(duì)比示出的圖表。
具體實(shí)施例方式
以下,參照附圖對(duì)本發(fā)明的實(shí)施方式進(jìn)行說明。
圖1至圖27示出本發(fā)明的實(shí)施方式1,圖1是示出數(shù)據(jù)編碼裝置的結(jié)構(gòu)的方框圖,圖2是示出數(shù)據(jù)解碼裝置的結(jié)構(gòu)的方框圖。
如圖1所示,數(shù)據(jù)編碼裝置1構(gòu)成為包含預(yù)測(cè)部11、減法器12、絕對(duì)值化部13、平坦度檢測(cè)部14、k參數(shù)決定部15、以及Golomb-Rice編碼部16。在其中的預(yù)測(cè)部11和減法器12內(nèi)輸入有圖像數(shù)據(jù),從絕對(duì)值化部13輸出正負(fù)數(shù)據(jù),從Golomb-Rice編碼部16輸出編碼數(shù)據(jù)。關(guān)于該數(shù)據(jù)編碼裝置1的詳情,在后面參照?qǐng)D4、圖6~圖10等按照作用進(jìn)行說明。
并且,由該數(shù)據(jù)編碼裝置1所壓縮的數(shù)據(jù)由圖2所示的數(shù)據(jù)解碼裝置2解碼。即,數(shù)據(jù)解碼裝置2構(gòu)成為包含Golomb-Rice解碼部21、平坦度檢測(cè)部22、k參數(shù)決定部23、正負(fù)轉(zhuǎn)換部24、加法器25、以及預(yù)測(cè)部26。在其中的Golomb-Rice解碼部21內(nèi)輸入有編碼數(shù)據(jù),在正負(fù)轉(zhuǎn)換部24內(nèi)輸入有正負(fù)數(shù)據(jù),從加法器25輸出圖像數(shù)據(jù)。關(guān)于該數(shù)據(jù)解碼裝置2的詳情,在后面參照?qǐng)D5等按照作用進(jìn)行說明。
另外,在圖1和圖2中,各方框間的相互動(dòng)作定時(shí)的調(diào)整由未作圖示的定時(shí)調(diào)整電路來進(jìn)行。
然后,數(shù)據(jù)編碼裝置1的平坦度檢測(cè)部14或數(shù)據(jù)解碼裝置2的平坦度檢測(cè)部22按圖3所示構(gòu)成。圖3是示出平坦度檢測(cè)部的結(jié)構(gòu)的方框圖。
平坦度檢測(cè)部14、22構(gòu)成為包含比較部31、游程計(jì)數(shù)器32、比較部33、以及k參數(shù)下限值決定部34。在其中的比較部31內(nèi)輸入有絕對(duì)值化后的預(yù)測(cè)誤差數(shù)據(jù)和閾值th,在游程計(jì)數(shù)器32內(nèi)輸入有外部計(jì)數(shù)復(fù)位信號(hào),在比較部33內(nèi)輸入有閾值th_run,在k參數(shù)下限值決定部34內(nèi)輸入有k_low和k_high。關(guān)于該平坦度檢測(cè)部14、22的詳情,在后面按照作用進(jìn)行說明。
然后,圖4是示出數(shù)據(jù)編碼裝置1的壓縮處理流程概要的流程圖。
數(shù)據(jù)編碼裝置1的壓縮處理基本上通過進(jìn)行該圖4所示的一系列處理來進(jìn)行。
即,首先,根據(jù)已讀出的像素?cái)?shù)據(jù),預(yù)測(cè)處理對(duì)象的像素?cái)?shù)據(jù)(步驟S1)。
然后,通過取得處理對(duì)象的像素?cái)?shù)據(jù)的實(shí)際值與在步驟S1中所預(yù)測(cè)的預(yù)測(cè)值的差,生成預(yù)測(cè)誤差值(步驟S2)。
接下來,對(duì)預(yù)測(cè)誤差值進(jìn)行絕對(duì)值化(步驟S3),使絕對(duì)值化后的預(yù)測(cè)誤差值延遲1個(gè)像素之后,進(jìn)行后述的平坦度檢測(cè)處理(步驟S4)。
然后,根據(jù)平坦度檢測(cè)結(jié)果,決定表示在進(jìn)行Golomb-Rice編碼時(shí)的固定長(zhǎng)度碼部分的碼長(zhǎng)的k參數(shù)(步驟S5),根據(jù)所決定的k參數(shù),對(duì)絕對(duì)值化后的預(yù)測(cè)誤差值進(jìn)行Golomb-Rice編碼(步驟S6),結(jié)束。
參照?qǐng)D6~圖15對(duì)按照這種流程的壓縮處理的詳情進(jìn)行說明。圖6是示出數(shù)據(jù)編碼裝置1的壓縮處理詳情的流程圖,圖7是示出以像素單位進(jìn)行的平坦度檢測(cè)1的處理的流程圖,圖8是示出以像素單位進(jìn)行的平坦度檢測(cè)2的處理的流程圖,圖9是示出以行單位進(jìn)行的平坦度檢測(cè)1的處理的流程圖,圖10是示出以行單位進(jìn)行的平坦度檢測(cè)2的處理的流程圖,圖11是示出注目像素和在注目像素以前所讀出的附近像素的配置的圖,圖12是示出絕對(duì)值化的另一例的圖表,圖13是示出在像素單位的平坦度檢測(cè)中使用的各閾值和設(shè)定值的圖表,圖14是示出與閾值對(duì)應(yīng)的k參數(shù)的設(shè)定例的圖表,圖15是示出Golomb-Rice編碼例的圖。
開始圖6所示的處理,首先,算出預(yù)測(cè)值(步驟S21)(與圖4的步驟S1對(duì)應(yīng)的處理)。該預(yù)測(cè)值的算出是根據(jù)已掃描的像素?cái)?shù)據(jù)來預(yù)測(cè)注目像素的像素值,這里,使用圖11所示的注目像素附近的像素值。這里,在圖11中,注目像素由x表示,注目像素的左鄰像素由a表示,注目像素的上鄰像素由b表示,注目像素的左上鄰像素由c表示。然后,把各像素a、b、c的像素值設(shè)為Ra、Rb、Rc,把注目像素x的預(yù)測(cè)值設(shè)為Px,則預(yù)測(cè)值Px根據(jù)這種像素?cái)?shù)據(jù)的空間相關(guān)性,由作為數(shù)據(jù)轉(zhuǎn)換單元一部分的預(yù)測(cè)部11使用例如以下數(shù)式1所示的預(yù)測(cè)式來算出。
Px=max(Ra,Rb) (Rc<min(Ra,Rb)時(shí))Px=min(Ra,Rb) (Rc>max(Ra,Rb)時(shí))Px=Ra+Rb-Rc(其他時(shí))這里,右邊符號(hào)max(x,y)意味著取x和y的不小的一方的值,符號(hào)min(x,y)意味著取x和y的不大的一方的值,以下也一樣使用。
另外,這里,使用數(shù)式1所示的適于邊緣檢測(cè)的預(yù)測(cè)式,然而可應(yīng)用的預(yù)測(cè)式不限于此,也能使用其他各種預(yù)測(cè)式。例如,列舉以下數(shù)式2~數(shù)式8作為預(yù)測(cè)式的若干示例。首先,數(shù)式2把注目像素的左鄰像素a的像素值Ra作為注目像素x的預(yù)測(cè)值Px。這是考慮到,在水平方向的像素之間的相關(guān)性高的情況下,可取得精度良好的預(yù)測(cè)值。
Px=Ra然后,數(shù)式3把注目像素的上鄰像素b的像素值Rb作為注目像素x的預(yù)測(cè)值Px。這是考慮到,在垂直方向的像素之間的相關(guān)性高的情況下,可取得精度良好的預(yù)測(cè)值。
Px=Rb而且,數(shù)式4把注目像素的左上鄰像素c的像素值Rc作為注目像素x的預(yù)測(cè)值Px。這是考慮到,在從左上到右下的傾斜方向的像素之間的相關(guān)性高的情況下,可取得精度良好的預(yù)測(cè)值。
Px=Rc
然后,數(shù)式5把注目像素x的左鄰像素a的像素值Ra和注目像素x的上鄰像素b的像素值Rb相加,并從其中減去注目像素x的左上鄰像素c的像素值Rc,得到注目像素x的預(yù)測(cè)值Px。這是考慮到,在從左上到右下的傾斜方向的像素的像素值的變化率有規(guī)則性的情況下,可取得精度良好的預(yù)測(cè)值。
Px=Ra+Rb-Rc而且,數(shù)式6把從注目像素x的上鄰像素b的像素值Rb中減去注目像素x的左上鄰像素c的像素值Rc并除以2后的結(jié)果與注目像素x的左鄰像素a的像素值Ra相加,得到注目像素x的預(yù)測(cè)值Px。這是考慮到,在水平方向的像素的像素值的變化率有規(guī)則性的情況下,可取得精度良好的預(yù)測(cè)值。
Px=Ra+{(Rb-Rc)/2}并且,數(shù)式7把從注目像素x的左鄰像素a的像素值Ra中減去注目像素x的左上鄰像素c的像素值Rc并除以2后的結(jié)果與注目像素x的上鄰像素b的像素值Rb相加,得到注目像素x的預(yù)測(cè)值Px。這是考慮到,在垂直方向的像素的像素值的變化率有規(guī)則性的情況下,可取得精度良好的預(yù)測(cè)值。
Px=Rb+{(Ra-Rc)/2}而且,數(shù)式8把注目像素x的左鄰像素a的像素值Ra和注目像素x的上鄰像素b的像素值Rb的平均值作為注目像素x的預(yù)測(cè)值Px。這是考慮到,在與周邊像素的相關(guān)性高的情況(例如,比較平坦的情況)下,可取得精度良好的預(yù)測(cè)值。
Px=(Ra+Rb)/2另外,上述各預(yù)測(cè)式不限于針對(duì)1個(gè)圖像數(shù)據(jù)僅使用1個(gè),也能進(jìn)行組合來使用。即,例如,假定基本上使用數(shù)式2所示的預(yù)測(cè)式,當(dāng)行上的左端像素是注目像素時(shí),由于在其更左側(cè)不存在像素,因而可考慮使用數(shù)式3所示的預(yù)測(cè)式等的組合。并且,不限于上述各預(yù)測(cè)式,只要是在注目像素前讀出的像素,而且是空間距離接近注目像素的像素,就能使用任意1個(gè)或1個(gè)以上的像素的像素?cái)?shù)據(jù)來算出預(yù)測(cè)值。
然后,作為數(shù)據(jù)轉(zhuǎn)換單元的一部分的減法器12,如數(shù)式9所示,通過從注目像素的實(shí)際像素值Rx中減去預(yù)測(cè)值Px,算出預(yù)測(cè)誤差值pred_diff(步驟S22)(與圖4的步驟S2對(duì)應(yīng)的處理)。
Pred_diff=Rx-Px接下來,絕對(duì)值化部13對(duì)預(yù)測(cè)誤差值pred_diff進(jìn)行絕對(duì)值化,算出絕對(duì)值化后的預(yù)測(cè)誤差值abs_pred_diff(步驟S23)(與圖4的步驟S3對(duì)應(yīng)的處理)。該絕對(duì)值化有各種方法,例如,列舉按以下數(shù)式10所示進(jìn)行算出的方法。
abs_pred_diff=pred_diff(pred_diff≥0時(shí))abs_pred_diff=abs(pred_diff)-1 (pred_diff<0時(shí))這里,第2式右邊的abs()表示取絕對(duì)值。
然后,絕對(duì)值化部13在通過該數(shù)式10所示的運(yùn)算進(jìn)行絕對(duì)值化的情況下,如圖1等所示,另行輸出表示碼的數(shù)據(jù)(正負(fù)數(shù)據(jù))。
并且,作為絕對(duì)值化的另一方法,如圖12所示,列舉有依次進(jìn)行以下等動(dòng)作的方法,即把絕對(duì)值化數(shù)據(jù)“0”賦予給預(yù)測(cè)誤差值“0”,把絕對(duì)值化數(shù)據(jù)“1”賦予給預(yù)測(cè)誤差值“1”,把絕對(duì)值化數(shù)據(jù)“2”賦予給預(yù)測(cè)誤差值“-1”,把絕對(duì)值化數(shù)據(jù)“3”賦予給預(yù)測(cè)誤差值“2”,把絕對(duì)值化數(shù)據(jù)“4”賦予給預(yù)測(cè)誤差值“-2”。
另外,不限于此,可以使用其他方法進(jìn)行絕對(duì)值化。
這樣進(jìn)行了絕對(duì)值化的預(yù)測(cè)誤差值abs_pred_diff是成為Golomb-Rice編碼對(duì)象的數(shù)據(jù),在后面說明的步驟S28的處理中使用,并且為了決定上述k參數(shù),按以下說明來使用。
這樣算出的絕對(duì)值化后的預(yù)測(cè)誤差值abs_pred_diff為了進(jìn)行決定k參數(shù)的處理,首先延遲1個(gè)像素(步驟S24)。
然后,根據(jù)按照掃描順序的1個(gè)像素前的絕對(duì)值化后的預(yù)測(cè)誤差值abs_pred_diff,進(jìn)行基于與第1閾值的比較的像素單位的平坦度檢測(cè)1的處理(步驟S25)、以及基于與第2閾值的比較的像素單位的平坦度檢測(cè)2的處理(步驟S26)。
這里,步驟S25中的像素單位的平坦度檢測(cè)1的處理按圖7所示進(jìn)行。
即,開始該處理,首先,比較部31判定絕對(duì)值化后的預(yù)測(cè)誤差值abs_pred_diff是否小于等于規(guī)定閾值th1(步驟S41a)。
這里,在小于等于閾值th1的情況下,對(duì)配備在游程計(jì)數(shù)器32內(nèi)的游程計(jì)數(shù)器run_count1進(jìn)行遞增計(jì)數(shù)(在圖7中,遞增計(jì)數(shù)由符號(hào)“run_count1+1”表示)(步驟S42a)。該游程計(jì)數(shù)器run_count1是用于對(duì)小于等于閾值th1的絕對(duì)值化后的預(yù)測(cè)誤差值abs_pred_diff連續(xù)幾個(gè)像素進(jìn)行計(jì)數(shù)的計(jì)數(shù)器。
然后,比較部33判定游程計(jì)數(shù)器run_count1是否大于等于表示規(guī)定的游程長(zhǎng)度的閾值th_run1(步驟S43a)。
這里,在大于等于閾值th_run1的情況下,k參數(shù)下限值決定部34把規(guī)定的k參數(shù)設(shè)定值k_low1存儲(chǔ)在k參數(shù)候選k_param1內(nèi)(步驟S44a)。
并且,當(dāng)在步驟S41a中判定為絕對(duì)值化后的預(yù)測(cè)誤差值abs_pred_diff大于規(guī)定閾值th1的情況下,游程計(jì)數(shù)器32將游程計(jì)數(shù)器run_count1初始化(即,存儲(chǔ)“0”)(步驟S45a)。
在該步驟S45a結(jié)束或者在步驟S43a中判定為游程計(jì)數(shù)器run_count1小于閾值th_run1的情況下,k參數(shù)下限值決定部34把規(guī)定的k參數(shù)設(shè)定值k_high1(這里,k_high1>k_low1)存儲(chǔ)在k參數(shù)候選k_param1內(nèi)(步驟S46a)。
這樣,在步驟S44a或步驟S46a結(jié)束之后,從該處理返回到圖6所示的處理。
而且,步驟S26中的像素單位的平坦度檢測(cè)2的處理如圖8所示。該圖8所示的處理與圖7所示的處理相比,除了以下點(diǎn),即閾值th1為閾值th2(fth2>th1),游程計(jì)數(shù)器run_count1為游程計(jì)數(shù)器run_count2,表示規(guī)定的游程長(zhǎng)度的閾值th_run1為閾值th_run2,規(guī)定的k參數(shù)設(shè)定值k_low1為規(guī)定的k參數(shù)設(shè)定值k_low2(k_low2>k_low1),規(guī)定的k參數(shù)設(shè)定值k_high1為規(guī)定的k參數(shù)設(shè)定值k_high2(k_high2>k_low2),以及k參數(shù)候選k_param1為k參數(shù)候選k_param2以外,步驟S41a~S46a的各處理與步驟S41b~S46b的各處理各自對(duì)應(yīng)。
另外,在圖7所示的像素單位的平坦度檢測(cè)1的處理和圖8所示的像素單位的平坦度檢測(cè)1的處理中使用的各閾值和設(shè)定值,具體地說,例如按圖13所示設(shè)定。
即,閾值th1是“15”,閾值th2是“31”,閾值th_run1是“2”,閾值th_run2是“2”,k參數(shù)設(shè)定值k_low1是“2”,k參數(shù)設(shè)定值k_low2是“4”,k參數(shù)設(shè)定值k_high1是“5”,以及k參數(shù)設(shè)定值k_gigh2是“5”。
并且,上述步驟S24~S26的處理與圖4的步驟S4的處理的一部分對(duì)應(yīng)。
之后,根據(jù)上述步驟S25、S26的各處理的結(jié)果,即,由步驟S25所算出的k參數(shù)候選k_param1、以及由步驟S26所算出的k參數(shù)候選k_param2,作為碼長(zhǎng)設(shè)定單元的k參數(shù)決定部15如以下數(shù)式11所示決定k參數(shù)k_param(步驟S27)(與圖4的步驟S5對(duì)應(yīng)的處理)。
k_param=min(k_param1,k_param2)通過進(jìn)行該處理,具體地說,如圖14所示決定k參數(shù)k_param。即,在如圖13所示,表示規(guī)定的游程長(zhǎng)度的閾值th_run1和th_run2全都是“2”,并如該圖13所示提供了k參數(shù)設(shè)定值k_low1、k_low2、k_high1以及k_high2的情況下,k參數(shù)k_param在前像素以前(包含前像素)的2個(gè)像素小于等于閾值th1時(shí)是“2”,在前像素以前(包含前像素)的2個(gè)像素大于閾值th1且小于等于閾值2時(shí)是“4”,除此以外是“5”。
然后,根據(jù)所算出的k參數(shù)k_param,作為編碼單元的Golomb-Rice編碼部16對(duì)在上述步驟S23中進(jìn)行了絕對(duì)值化的預(yù)測(cè)誤差值abs_pred_diff進(jìn)行Golomb-Rice編碼(步驟S28)(與圖4的步驟S6對(duì)應(yīng)的處理)。作為具體例,如圖15所示,絕對(duì)值化后的預(yù)測(cè)誤差值abs_pred_diff用2進(jìn)制數(shù)表示,為“000001110110”,在k參數(shù)k_param是“5”的情況下,低5位“10110”是固定長(zhǎng)度碼部分,剩余的高位“0000011”用十進(jìn)制數(shù)表示,為“3”,因而可變長(zhǎng)度碼部分是“000”,在該可變長(zhǎng)度碼部分的后面附加分隔碼“1”而為“0001”。然后,通過將其合成,由Golomb-Rice編碼所取得的碼是“000110110”。這樣,可知,12位的信息被壓縮為9位。
這樣,在1個(gè)像素的Golomb-Rice編碼結(jié)束之后,判定該像素是否是1行中的最后像素,即1行的編碼是否結(jié)束(步驟S29),這里,在判定為1行的編碼還未結(jié)束的情況下,回到步驟S21,對(duì)同一行內(nèi)的下一個(gè)像素重復(fù)進(jìn)行上述處理。
另一方面,當(dāng)在步驟S29中判定為1行的編碼結(jié)束的情況下,進(jìn)行行單位的平坦度檢測(cè)1的處理(步驟S30)(與圖4的步驟S4的一部分對(duì)應(yīng)的處理)、以及行單位的平坦度檢測(cè)2的處理(步驟S31)(與圖4的步驟S4的一部分對(duì)應(yīng)的處理)。
即,步驟S30中的行單位的平坦度檢測(cè)1的處理,如圖9所示,是通過由游程計(jì)數(shù)器32根據(jù)外部計(jì)數(shù)復(fù)位信號(hào)使游程計(jì)數(shù)器run_count1初始化(即,存儲(chǔ)“0”)來進(jìn)行的(步驟S51a)。
同樣,步驟S31中的行單位的平坦度檢測(cè)2的處理,如圖10所示,是通過由游程計(jì)數(shù)器32根據(jù)外部計(jì)數(shù)復(fù)位信號(hào)使游程計(jì)數(shù)器run_count2初始化(即,存儲(chǔ)“0”)來進(jìn)行的(步驟S51b)。
在這些步驟S30和步驟S31的處理結(jié)束之后,判定是否進(jìn)行了針對(duì)圖像數(shù)據(jù)的所有行的處理,即圖像數(shù)據(jù)整體的處理是否已結(jié)束(步驟S32),在未結(jié)束的情況下,回到上述步驟S21,對(duì)下一行的像素重復(fù)進(jìn)行上述處理。
并且,當(dāng)在步驟S32中判定為圖像數(shù)據(jù)整體的處理結(jié)束的情況下,結(jié)束該處理。
接下來,參照?qǐng)D16至圖21,說明對(duì)隨機(jī)性較高的1行的圖像數(shù)據(jù)進(jìn)行編碼的具體的一例。
這里,圖16是示出成為數(shù)據(jù)編碼裝置1的處理對(duì)象的1行圖像數(shù)據(jù)的示例、而且是隨機(jī)性較高的示例的圖,圖17是示出由數(shù)據(jù)編碼裝置1根據(jù)圖16的圖像數(shù)據(jù)所算出的預(yù)測(cè)誤差值的圖,圖18是示出由數(shù)據(jù)編碼裝置1根據(jù)圖17的預(yù)測(cè)誤差值所取得的絕對(duì)值化后的預(yù)測(cè)誤差值的圖,圖19是示出圖16的圖像數(shù)據(jù)的像素值和圖17的預(yù)測(cè)誤差值的狀態(tài)的線圖,圖20是示出根據(jù)圖18所示的絕對(duì)值化后的預(yù)測(cè)誤差數(shù)據(jù)來設(shè)定游程計(jì)數(shù)器和k參數(shù)的狀態(tài)的圖表,圖21是將使用本實(shí)施方式的技術(shù)對(duì)圖16所示的圖像數(shù)據(jù)進(jìn)行的壓縮率與使k參數(shù)固定時(shí)的壓縮率進(jìn)行對(duì)比示出的圖表。
首先,假定圖16所示的由32個(gè)像素構(gòu)成的1行的圖像數(shù)據(jù)被輸入到數(shù)據(jù)編碼裝置1中。
這樣,預(yù)測(cè)部11使用過去讀出的像素值,例如如數(shù)式2所示預(yù)測(cè)注目像素的像素值。然而,由于只有行開頭的像素不能進(jìn)行使用數(shù)式2的預(yù)測(cè),因而把預(yù)測(cè)值設(shè)定為“0”。
然后,減法器12根據(jù)數(shù)式9,算出圖17所示的預(yù)測(cè)誤差值。
這里,圖16所示的像素?cái)?shù)據(jù)的像素值和圖17所示的預(yù)測(cè)誤差值呈圖19所示的分布,這里列舉隨機(jī)性較高的數(shù)據(jù)為例。
而且,絕對(duì)值化部13根據(jù)數(shù)式10,算出圖18所示的絕對(duì)值化后的預(yù)測(cè)誤差值。
在使該絕對(duì)值化后的預(yù)測(cè)誤差值延遲1個(gè)像素之后,如圖20所示,利用平坦度檢測(cè)部14進(jìn)行把閾值th1設(shè)定為“15”的平坦度檢測(cè)1的處理、以及把閾值th2設(shè)定為“31”的平坦度檢測(cè)2的處理。
例如,由于絕對(duì)值化后的預(yù)測(cè)誤差值從第2像素到第6像素連續(xù)小于等于15,在第7像素超過15,因而在與該第7像素相關(guān)的平坦度檢測(cè)1(由于延遲了1個(gè)像素,因而使用第6像素的絕對(duì)值化后的預(yù)測(cè)誤差值)中,游程計(jì)數(shù)器run_count1是“5”,在與第8像素相關(guān)的平坦度檢測(cè)1中,游程計(jì)數(shù)器run_count1被復(fù)位為“0”。
因此,由于從第1像素到第3像素,游程計(jì)數(shù)器run_count1小于2,因而k參數(shù)候選k_param1是5(=k_high1),然而由于從第4像素到第7像素,游程計(jì)數(shù)器run_count1大于等于2,因而k參數(shù)候選k_param1是2(=k_low1)。
同樣,由于絕對(duì)值化后的預(yù)測(cè)誤差值從第2像素到第8像素連續(xù)小于等于31,在第9像素超過31,因而在與該第9像素相關(guān)的平坦度檢測(cè)2(由于延遲了1個(gè)像素,因而使用第8像素的絕對(duì)值化后的預(yù)測(cè)誤差值)中,游程計(jì)數(shù)器run_count2是“7”,在與第10像素相關(guān)的平坦度檢測(cè)2中,游程計(jì)數(shù)器run_count2被復(fù)位為“0”。
因此,由于從第1像素到第3像素,游程計(jì)數(shù)器run_count2小于2,因而k參數(shù)候選k_param2是5(=k_high2),然而由于從第4像素到第9像素,游程計(jì)數(shù)器run_count2大于等于2,因而k參數(shù)候選k_param2是4(=k_low2)。
然后,由于k參數(shù)決定部15如數(shù)式11所示,把k參數(shù)候選k_param1和k參數(shù)候選k_param2的任意不大的一方的值設(shè)定為k參數(shù)k_param,因而k參數(shù)k_param從第1像素到第3像素是5,從第4像素到第7像素是2,從第8像素到第9像素是4等。
通過從第1像素到第32像素進(jìn)行這種處理,可取得圖20所示的各個(gè)值。
這樣,當(dāng)把通過Golomb-Rice編碼部16,使用自適應(yīng)算出的k參數(shù)k_param進(jìn)行編碼的結(jié)果與使k參數(shù)k_param固定而由Golomb-Rice編碼部16進(jìn)行編碼的情況相比較時(shí),如圖21所示。
這里,采用像素值的動(dòng)態(tài)范圍是0~255的情況,即是以8位表現(xiàn)的像素值的情況為例。此時(shí),32個(gè)像素的數(shù)據(jù)量是256位。
然后,將k參數(shù)固定為例如2時(shí)的碼量是277位,與進(jìn)行編碼前相比碼量增加,壓縮率是108。并且,將k參數(shù)固定為例如5時(shí)的碼量是203位,壓縮率是79。這考慮到是因?yàn)?,由于圖像數(shù)據(jù)的隨機(jī)性高,因而作為預(yù)測(cè)值和像素值的偏差的預(yù)測(cè)誤差值的大小大,把k參數(shù)設(shè)定得較大可取得高的壓縮率。
相比之下,當(dāng)使用本實(shí)施方式的上述自適應(yīng)k參數(shù)時(shí)可知,碼量是204,壓縮率是80,可取得與將k參數(shù)固定為5時(shí)大致相同的較高的壓縮率。
下面,參照?qǐng)D22至圖27對(duì)把隨機(jī)性較低的1行的圖像數(shù)據(jù)進(jìn)行編碼的具體的另一例進(jìn)行說明。
這里,圖22是示出成為數(shù)據(jù)編碼裝置1的處理對(duì)象的1行圖像數(shù)據(jù)的示例、而且是隨機(jī)性較低的示例的圖,圖23是示出由數(shù)據(jù)編碼裝置1根據(jù)圖22的圖像數(shù)據(jù)所算出的預(yù)測(cè)誤差值的圖,圖24是示出由數(shù)據(jù)編碼裝置1根據(jù)圖23的預(yù)測(cè)誤差值所取得的絕對(duì)值化后的預(yù)測(cè)誤差值的圖,圖25是示出圖22的圖像數(shù)據(jù)的像素值和圖23的預(yù)測(cè)誤差值的狀態(tài)的線圖,圖26是示出根據(jù)圖24所示的絕對(duì)值化后的預(yù)測(cè)誤差數(shù)據(jù)設(shè)定游程計(jì)數(shù)器和k參數(shù)的狀態(tài)的圖表,圖27是把使用本實(shí)施方式的技術(shù)對(duì)圖22所示的圖像數(shù)據(jù)進(jìn)行的壓縮率與使k參數(shù)固定時(shí)的壓縮率進(jìn)行對(duì)比示出的圖表。
另外,在該圖22至圖27所示的示例中,假定與上述圖16至圖21所示的示例一樣,使用圖13所示的各閾值和設(shè)定值。
這里,假定圖22所示的由32個(gè)像素構(gòu)成的1行的圖像數(shù)據(jù)被輸入到數(shù)據(jù)編碼裝置1中。
這樣,預(yù)測(cè)部11使用過去讀出的像素值,如數(shù)式2所示預(yù)測(cè)注目像素的像素值,減法器12根據(jù)數(shù)式9,算出圖23所示的預(yù)測(cè)誤差值。
這里,圖22所示的像素?cái)?shù)據(jù)的像素值和圖23所示的預(yù)測(cè)誤差值呈圖25所示的分布,與圖19所示的分布進(jìn)行比較,成為隨機(jī)性低的數(shù)據(jù)例。
而且,絕對(duì)值化部13根據(jù)數(shù)式10,算出圖24所示的絕對(duì)值化后的預(yù)測(cè)誤差值。
在使該絕對(duì)值化后的預(yù)測(cè)誤差值延遲了1個(gè)像素之后,利用平坦度檢測(cè)部14進(jìn)行把閾值th1設(shè)定為“15”的平坦度檢測(cè)1的處理、以及把閾值th2設(shè)定為“31”的平坦度檢測(cè)2的處理。
在該情況下,由于絕對(duì)值化后的預(yù)測(cè)誤差值僅第1像素超過15,從第2像素到第32像素連續(xù)小于等于15,因而在平坦度檢測(cè)1中,如圖26所示,k參數(shù)候選k_param1從第1像素到第3像素是5(=k_high1),從第4像素到第32像素連續(xù)是2(=k_low1)。
同樣,由于絕對(duì)值化后的預(yù)測(cè)誤差值僅第1像素超過31,從第2像素到第32像素連續(xù)小于等于31,因而在平坦度檢測(cè)2中,如圖26所示,k參數(shù)候選k_param2從第1像素到第3像素是5(=k_high2),從第4像素到第32像素連續(xù)是4(=k_low2)。
因此,k參數(shù)決定部15根據(jù)數(shù)式11,把k參數(shù)k_param從第1像素到第3像素設(shè)定為5,從第4像素到第32像素設(shè)定為2。
這樣,當(dāng)把通過Golomb-Rice編碼部16,使用自適應(yīng)算出的k參數(shù)k_param進(jìn)行編碼的結(jié)果與使k參數(shù)k_param固定而由Golomb-Rice編碼部16進(jìn)行編碼的情況相比較時(shí),如圖27所示。
首先,32個(gè)像素的數(shù)據(jù)量是256位,這與上述一樣。
然后,將k參數(shù)固定為2時(shí)的碼量是117位,壓縮率是46。并且,將k參數(shù)固定為5時(shí)的碼量是193位,壓縮率是75。這考慮到是因?yàn)?,由于圖像數(shù)據(jù)的隨機(jī)性較低,作為預(yù)測(cè)值和像素值的偏差的預(yù)測(cè)誤差值的大小小,因而把k參數(shù)設(shè)定得較小可取得高的壓縮率。
相比之下,當(dāng)使用本實(shí)施方式的上述自適應(yīng)k參數(shù)時(shí)可知,碼量是112,壓縮率是44,可取得比將k參數(shù)固定為2時(shí)還稍高的壓縮率。
然后,把圖21所示的結(jié)果和圖27所示的結(jié)果進(jìn)行比較,在將k參數(shù)固定的情況下,對(duì)于隨機(jī)性高的數(shù)據(jù),k=5可取得高壓縮率,對(duì)于隨機(jī)性低的數(shù)據(jù),k=2可取得高壓縮率,反過來說,對(duì)于隨機(jī)性高的數(shù)據(jù),k=2的壓縮率超過100,對(duì)于隨機(jī)性低的數(shù)據(jù),k=5還不太能說是高壓縮率。相比之下,根據(jù)本實(shí)施方式,無論是隨機(jī)性高的數(shù)據(jù)還是隨機(jī)性低的數(shù)據(jù),都能穩(wěn)定地達(dá)到高壓縮率。
然后,圖5是示出數(shù)據(jù)解碼裝置2的解壓縮處理流程概要的流程圖。
開始該處理,作為預(yù)測(cè)誤差數(shù)據(jù)解碼單元的Golomb-Rice解碼部21根據(jù)與在圖6的步驟S28中所說明的相反的過程,進(jìn)行Golomb-Rice解碼,算出絕對(duì)值化后的預(yù)測(cè)誤差值abs_pred_diff(步驟S11)。另外,該絕對(duì)值化后的預(yù)測(cè)誤差值abs_pred_diff,如后所述,也在下一個(gè)像素的k參數(shù)的決定中使用。
然后,正負(fù)轉(zhuǎn)換部24使用正負(fù)數(shù)據(jù),根據(jù)絕對(duì)值化后的預(yù)測(cè)誤差值abs_pred_diff算出預(yù)測(cè)誤差值pred_diff(步驟S12)。
接下來,作為注目數(shù)據(jù)解碼單元的一部分的預(yù)測(cè)部26使用已算出的像素值,根據(jù)上述數(shù)式1~數(shù)式8的任意一方生成預(yù)測(cè)值Px(步驟S13)。
然后,作為注目數(shù)據(jù)解碼單元的一部分的加法器25使用以下數(shù)式12,根據(jù)預(yù)測(cè)值Px和預(yù)測(cè)誤差值pred_diff算出像素值Rx(步驟S14)。
Rx=Px+pred_diff這樣算出的像素值Rx成為來自數(shù)據(jù)解碼裝置2的輸出數(shù)據(jù)。
并且,從Golomb-Rice解碼部21輸出的絕對(duì)值化后的預(yù)測(cè)誤差值abs_pred_diff在延遲了1個(gè)像素之后,由平坦度檢測(cè)部22根據(jù)2種閾值th1和th2,如上所述地算出k參數(shù)候選k_param1、k_param2(步驟S15)。
然后,根據(jù)這些算出結(jié)果,作為碼長(zhǎng)設(shè)定單元的k參數(shù)決定部23如數(shù)式11所示決定k參數(shù)(步驟S16)。
根據(jù)該實(shí)施方式1,由于調(diào)查注目像素附近的平坦性,根據(jù)平坦度自適應(yīng)地設(shè)定k參數(shù),因而可發(fā)揮高的壓縮性能。
而且,把鄰接像素的像素值與規(guī)定閾值進(jìn)行比較,當(dāng)連續(xù)小于等于該閾值時(shí),進(jìn)行游程計(jì)數(shù)器的計(jì)數(shù),當(dāng)計(jì)數(shù)數(shù)大于等于規(guī)定的游程長(zhǎng)度時(shí),判斷為是平坦的,因而可減小必要的存儲(chǔ)量。
然后,由于作為判斷平坦性時(shí)的規(guī)定閾值設(shè)定了多種(在上述例中,是th1和th2的2種,然而不限于2種),因而可高精度地判斷平坦性。
除此之外,可將所壓縮的數(shù)據(jù)以短的處理時(shí)間和小的必要存儲(chǔ)量進(jìn)行解碼。
圖28至圖34示出本發(fā)明的實(shí)施方式2,圖28是示出數(shù)據(jù)編碼裝置的結(jié)構(gòu)的方框圖,圖29是示出數(shù)據(jù)解碼裝置的結(jié)構(gòu)的方框圖。在該實(shí)施方式2中,對(duì)與上述實(shí)施方式1相同的部分附上同一符號(hào)并省略說明,主要僅對(duì)不同點(diǎn)進(jìn)行說明。
圖28所示的本實(shí)施方式的數(shù)據(jù)編碼裝置1A與圖1所示的數(shù)據(jù)編碼裝置1的結(jié)構(gòu)大致相同,然而不同點(diǎn)是,與平坦度檢測(cè)部14并列設(shè)置有動(dòng)態(tài)范圍算出部17,k參數(shù)決定部15A使用平坦度檢測(cè)部14的檢測(cè)結(jié)果和動(dòng)態(tài)范圍算出部17的算出結(jié)果的雙方來決定k參數(shù)。然后,動(dòng)態(tài)范圍算出部17算出從絕對(duì)值化部13輸出的絕對(duì)值化后的預(yù)測(cè)誤差值abs_pred_diff的動(dòng)態(tài)范圍,并把算出結(jié)果輸出給k參數(shù)決定部15A。關(guān)于該數(shù)據(jù)編碼裝置1A的詳情,在后面參照?qǐng)D30等按照作用進(jìn)行說明。
然后,由該數(shù)據(jù)編碼裝置1A所壓縮的數(shù)據(jù)由圖29所示的數(shù)據(jù)解碼裝置2A解碼。即,本實(shí)施方式的數(shù)據(jù)解碼裝置2A與圖2所示的數(shù)據(jù)解碼裝置2的結(jié)構(gòu)大致相同,然而不同點(diǎn)是,與平坦度檢測(cè)部22并列設(shè)置有動(dòng)態(tài)范圍算出部27,k參數(shù)決定部23A使用平坦度檢測(cè)部22的檢測(cè)結(jié)果和動(dòng)態(tài)范圍算出部27的算出結(jié)果的雙方來決定k參數(shù)。然后,動(dòng)態(tài)范圍算出部27算出從Golomb-Rice解碼部21輸出的絕對(duì)值化后的預(yù)測(cè)誤差值abs_pred_diff的動(dòng)態(tài)范圍,并把算出結(jié)果輸出給k參數(shù)決定部23A。
另外,在圖28和圖29中,各方框間的相互的動(dòng)作定時(shí)的調(diào)整由未作圖示的定時(shí)調(diào)整電路來進(jìn)行。
接下來,圖30是示出數(shù)據(jù)編碼裝置1A的壓縮處理詳情的流程圖。在該圖30所示的處理中,對(duì)與上述實(shí)施方式1的圖6所示的處理相同的部分附上同一符號(hào)并省略說明,主要僅對(duì)不同點(diǎn)進(jìn)行說明。
在該處理中,在通過步驟S24的處理使絕對(duì)值化后的預(yù)測(cè)誤差值abs_pred_diff延遲了1個(gè)像素之后,進(jìn)行步驟S25中的像素單位的平坦度檢測(cè)1的處理、以及步驟S26中的像素單位的平坦度檢測(cè)2的處理,并與這些處理同時(shí)進(jìn)行前像素動(dòng)態(tài)范圍算出的處理(步驟S33)。
在該步驟S33的處理中,算出前像素的有效像素值部分的位數(shù)。即,作為動(dòng)態(tài)范圍算出單元的動(dòng)態(tài)范圍算出部17進(jìn)行以下處理,即當(dāng)對(duì)前像素的像素值從高位向低位側(cè)一位一位地進(jìn)行檢測(cè)時(shí),求出得到最初不是“0”的比特值(即,比特值“1”)的位的位數(shù)。把此時(shí)求出的動(dòng)態(tài)范圍設(shè)定為pre_range。
接下來,根據(jù)步驟S25、S26以及S33的各處理的結(jié)果,即,通過步驟S25所算出的k參數(shù)候選k_param1、通過步驟S26所算出的k參數(shù)候選k_param2、以及通過步驟S33所算出的動(dòng)態(tài)范圍pre_range,作為碼長(zhǎng)設(shè)定單元的k參數(shù)決定部15A如以下數(shù)式13所示決定k參數(shù)k_param(步驟S27A)。
k_param=max(pre_range,min(k_param1,k_param2))即,這里,把k參數(shù)候選k_param1和k參數(shù)候選k_param2中的任意不大的一方與動(dòng)態(tài)范圍pre_range中的任意不小的一方設(shè)定為k參數(shù)k_param。
其他處理與上述實(shí)施方式1的圖6所示的處理相同。
接下來,參照?qǐng)D31和圖32,說明對(duì)隨機(jī)性較高的1行的圖像數(shù)據(jù)進(jìn)行編碼的具體一例。
這里,圖31是示出根據(jù)圖18所示的絕對(duì)值化后的預(yù)測(cè)誤差數(shù)據(jù)設(shè)定游程計(jì)數(shù)器和k參數(shù)的狀態(tài)的圖表,圖32是把使用本實(shí)施方式的技術(shù)對(duì)圖16所示的圖像數(shù)據(jù)進(jìn)行的壓縮率與使k參數(shù)固定時(shí)的壓縮率進(jìn)行對(duì)比示出的圖表。
這里,對(duì)以下示例進(jìn)行說明,即根據(jù)圖16所示的圖像數(shù)據(jù),算出圖17所示的預(yù)測(cè)誤差值,算出圖18所示的絕對(duì)值化后的預(yù)測(cè)誤差值,根據(jù)由本實(shí)施方式的方法所算出的k參數(shù)對(duì)該絕對(duì)值化后的預(yù)測(cè)誤差值進(jìn)行壓縮。并且,在由平坦度檢測(cè)部14檢測(cè)平坦度時(shí)使用的各閾值和設(shè)定值與圖13所示相同。
在該圖31所示的各值中,絕對(duì)值化后的預(yù)測(cè)誤差數(shù)據(jù)、游程計(jì)數(shù)器run_count1、游程計(jì)數(shù)器run_count2、k參數(shù)候選k_param1以及k參數(shù)候選k_param2與圖20所示相同。
然后,在本實(shí)施方式中,除了上述值之外,還算出動(dòng)態(tài)范圍pre_range。首先,在注目像素是行開頭的像素(第1像素)的情況下,由于不存在前像素,因而把動(dòng)態(tài)范圍pre_range例如設(shè)定為預(yù)定的規(guī)定值“5”。
然后,在第2像素中,由于作為延遲了1個(gè)像素的前像素的第1像素的絕對(duì)值化后的預(yù)測(cè)誤差數(shù)據(jù)是“49”,即利用8位可表示為“00110001”,因而有效位部分是“110001”的6位,作為動(dòng)態(tài)范圍pre_range設(shè)定為6。之后也同樣依次設(shè)定動(dòng)態(tài)范圍pre_range,然而當(dāng)絕對(duì)值化后的預(yù)測(cè)誤差數(shù)據(jù)是“0”時(shí),作為動(dòng)態(tài)范圍pre_range設(shè)定為“1”。
這樣,當(dāng)k參數(shù)候選k_param1、k參數(shù)候選k_param2以及動(dòng)態(tài)范圍pre_range齊全時(shí),根據(jù)數(shù)式13,決定k參數(shù)k_param。例如,在第6像素中,由于k參數(shù)候選k_param1是“2”,k參數(shù)候選k_param2是“4”,因而在上述實(shí)施方式1中,作為k參數(shù)k_param被設(shè)定為“2”,然而在本實(shí)施方式中,由于動(dòng)態(tài)范圍pre_range是“3”,因而作為k參數(shù)k_param被設(shè)定為“3”。
這樣,當(dāng)把通過Golomb-Rice編碼部16,使用自適應(yīng)算出的k參數(shù)k_param進(jìn)行編碼的結(jié)果與使k參數(shù)k_param固定而由Golomb-Rice編碼部16進(jìn)行編碼的情況相比較時(shí),如圖32所示。
首先,32個(gè)像素的數(shù)據(jù)量是256位,這與上述一樣,將k參數(shù)固定為2時(shí)的碼量和壓縮率、以及將k參數(shù)固定為5時(shí)的碼量和壓縮率也與圖21所示相同。
相比之下,當(dāng)使用本實(shí)施方式的上述自適應(yīng)k參數(shù)時(shí)可知,碼量是207,壓縮率是81,可取得與將k參數(shù)固定為5時(shí)、以及使用實(shí)施方式1的自適應(yīng)求出的k參數(shù)時(shí)大致相同的較高的壓縮率。
然后,參照?qǐng)D33和圖34,說明對(duì)隨機(jī)性較低的1行的圖像數(shù)據(jù)進(jìn)行編碼的具體另一例。
這里,圖33是示出根據(jù)圖24所示的絕對(duì)值化后的預(yù)測(cè)誤差數(shù)據(jù)設(shè)定游程計(jì)數(shù)器和k參數(shù)的狀態(tài)的圖表,圖34是把使用本實(shí)施方式的技術(shù)對(duì)圖22所示的圖像數(shù)據(jù)進(jìn)行的壓縮率與使k參數(shù)固定時(shí)的壓縮率進(jìn)行對(duì)比示出的圖表。
這里,對(duì)以下示例進(jìn)行說明,即根據(jù)圖22所示的圖像數(shù)據(jù),算出圖23所示的預(yù)測(cè)誤差值,算出圖24所示的絕對(duì)值化后的預(yù)測(cè)誤差值,根據(jù)由本實(shí)施方式的方法所算出的k參數(shù)對(duì)該絕對(duì)值化后的預(yù)測(cè)誤差值進(jìn)行壓縮。并且,在由平坦度檢測(cè)部14檢測(cè)平坦度時(shí)使用的各閾值和設(shè)定值與圖13所示相同。
在該圖33所示的各值中,絕對(duì)值化后的預(yù)測(cè)誤差數(shù)據(jù)、游程計(jì)數(shù)器run_count1、游程計(jì)數(shù)器run_count2、k參數(shù)候選k_param1以及k參數(shù)候選k_param2與圖26所示相同。
然后,與上述一樣,算出動(dòng)態(tài)范圍pre_range。
這樣,當(dāng)k參數(shù)候選k_param1、k參數(shù)候選k_param2以及動(dòng)態(tài)范圍pre_range齊全時(shí),根據(jù)數(shù)式13,決定k參數(shù)k_param。
這樣,當(dāng)把通過Golomb-Rice編碼部16,使用自適應(yīng)算出的k參數(shù)k_param進(jìn)行編碼的結(jié)果與使k參數(shù)k_param固定而由Golomb-Rice編碼部16進(jìn)行編碼的情況相比較時(shí),如圖34所示。
首先,32個(gè)像素的數(shù)據(jù)量是256位,這與上述一樣,將k參數(shù)固定為2時(shí)的碼量和壓縮率、以及將k參數(shù)固定為5時(shí)的碼量和壓縮率也與圖27所示相同。
相比之下,當(dāng)使用本實(shí)施方式的上述自適應(yīng)k參數(shù)時(shí)可知,碼量是118,壓縮率是46,可取得與將k參數(shù)固定為2時(shí)、以及使用實(shí)施方式1的自適應(yīng)求出的k參數(shù)時(shí)大致相同的較高壓縮率。
然后,把圖32所示的結(jié)果和圖34所示的結(jié)果進(jìn)行比較可知,與將k參數(shù)固定的情況相比,根據(jù)本實(shí)施方式,無論是隨機(jī)性高的數(shù)據(jù)還是隨機(jī)性低的數(shù)據(jù),都能穩(wěn)定地達(dá)到高壓縮率。
并且,當(dāng)由數(shù)據(jù)解碼裝置2A進(jìn)行解碼時(shí),作為動(dòng)態(tài)范圍算出單元的動(dòng)態(tài)范圍算出部27在使由Golomb-Rice解碼部21所解碼的絕對(duì)值化后的預(yù)測(cè)誤差值延遲了1個(gè)像素之后,與上述動(dòng)態(tài)范圍算出部17一樣進(jìn)行動(dòng)態(tài)范圍的算出。
然后,作為碼長(zhǎng)設(shè)定單元的k參數(shù)決定部23A與上述的k參數(shù)決定部15A一樣,根據(jù)數(shù)式13決定k參數(shù)。
數(shù)據(jù)解碼裝置2A的其他作用與上述實(shí)施方式1的數(shù)據(jù)解碼裝置2相同。
根據(jù)該實(shí)施方式2,取得與上述實(shí)施方式1大致相同的效果,并且除了平坦度檢測(cè)以外,還算出前像素的動(dòng)態(tài)范圍,并根據(jù)所檢測(cè)的平坦度和所算出的動(dòng)態(tài)范圍來決定k參數(shù),因而可應(yīng)對(duì)能取得圖像的更多方式,發(fā)揮高的壓縮性能。
此時(shí),由于動(dòng)態(tài)范圍的算出僅檢測(cè)前像素的有效位數(shù),因而可減小必要的存儲(chǔ)量,并可進(jìn)行高速處理。
然后,可將所壓縮的數(shù)據(jù)以短的處理時(shí)間和小的必要存儲(chǔ)量進(jìn)行解碼。
另外,如上所述,作為成為處理對(duì)象的數(shù)據(jù)列舉了圖像數(shù)據(jù)為例,然而可由數(shù)據(jù)編碼裝置和數(shù)據(jù)解碼裝置處理的數(shù)據(jù)當(dāng)然不限于此。
并且,如上所述,使用數(shù)據(jù)編碼裝置和數(shù)據(jù)解碼裝置進(jìn)行了處理,然而可以通過把數(shù)據(jù)編碼方法和數(shù)據(jù)解碼方法應(yīng)用于現(xiàn)有的運(yùn)算器等來進(jìn)行處理?;蛘?,可以使用用于進(jìn)行與數(shù)據(jù)編碼裝置和數(shù)據(jù)解碼裝置同等的處理的程序,在計(jì)算機(jī)上進(jìn)行處理。
而且,如上所述,作為編碼例列舉了Golomb-Rice編碼為例,作為解碼例列舉了Golomb-Rice解碼為例,然而不限于此,更一般地說,只要是將數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分來進(jìn)行編碼的方法就行。因此,成為編碼對(duì)象的不限于進(jìn)行了絕對(duì)值化后的預(yù)測(cè)誤差值。
另外,本發(fā)明不限于上述實(shí)施方式,當(dāng)然可在不背離發(fā)明主旨的范圍內(nèi)進(jìn)行各種變形和應(yīng)用。
本發(fā)明可適合利用于將數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分來進(jìn)行編碼或解碼的數(shù)據(jù)編碼裝置、數(shù)據(jù)解碼裝置、數(shù)據(jù)編碼方法以及數(shù)據(jù)解碼方法。
權(quán)利要求
1.一種數(shù)據(jù)編碼裝置,預(yù)測(cè)數(shù)據(jù)以轉(zhuǎn)換成預(yù)測(cè)誤差數(shù)據(jù),并把該預(yù)測(cè)誤差數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分來進(jìn)行編碼,其特征在于,具有數(shù)據(jù)轉(zhuǎn)換部,其自適應(yīng)預(yù)測(cè)數(shù)據(jù)以轉(zhuǎn)換成預(yù)測(cè)誤差數(shù)據(jù);游程計(jì)數(shù)器,其用于檢測(cè)上述預(yù)測(cè)誤差數(shù)據(jù)連續(xù)小于等于規(guī)定閾值的數(shù);碼長(zhǎng)設(shè)定部,其根據(jù)由上述游程計(jì)數(shù)器所檢測(cè)的數(shù),設(shè)定上述預(yù)測(cè)誤差數(shù)據(jù)的固定長(zhǎng)度碼部分的碼長(zhǎng);以及編碼部,其把上述預(yù)測(cè)誤差數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分來進(jìn)行編碼。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)編碼裝置,其特征在于,上述碼長(zhǎng)設(shè)定部在由上述游程計(jì)數(shù)器所檢測(cè)的數(shù)大于等于規(guī)定的游程長(zhǎng)度的情況下,與小于規(guī)定的游程長(zhǎng)度的情況相比,把上述碼長(zhǎng)設(shè)定得更短。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)編碼裝置,其特征在于,上述閾值可設(shè)定多種;上述游程計(jì)數(shù)器針對(duì)所設(shè)定的多種閾值的各方,檢測(cè)預(yù)測(cè)誤差數(shù)據(jù)連續(xù)小于等于該閾值的數(shù)。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)編碼裝置,其特征在于,上述碼長(zhǎng)設(shè)定部把在針對(duì)第1閾值而由上述游程計(jì)數(shù)器所檢測(cè)的數(shù)大于等于規(guī)定的游程長(zhǎng)度的情況下的第1碼長(zhǎng)、設(shè)定得比在針對(duì)大于該第1閾值的第2閾值而由上述游程計(jì)數(shù)器所檢測(cè)的數(shù)大于等于規(guī)定的游程長(zhǎng)度的情況下的第2碼長(zhǎng)短。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)編碼裝置,其特征在于,還具有動(dòng)態(tài)范圍算出部,其用于把上述預(yù)測(cè)誤差數(shù)據(jù)的有效位數(shù)作為動(dòng)態(tài)范圍來檢測(cè);上述碼長(zhǎng)設(shè)定部把如下得到的值設(shè)定為上述預(yù)測(cè)誤差數(shù)據(jù)的固定長(zhǎng)度碼部分的碼長(zhǎng)在上述第1碼長(zhǎng)和上述第2碼長(zhǎng)中取不大的一方,在上述不大的一方和上述動(dòng)態(tài)范圍中取不小的一方。
6.一種數(shù)據(jù)編碼方法,預(yù)測(cè)數(shù)據(jù)以轉(zhuǎn)換成預(yù)測(cè)誤差數(shù)據(jù),并把該預(yù)測(cè)誤差數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分來進(jìn)行編碼,其特征在于,具有如下的步驟自適應(yīng)預(yù)測(cè)數(shù)據(jù)以轉(zhuǎn)換成預(yù)測(cè)誤差數(shù)據(jù)的步驟;檢測(cè)上述預(yù)測(cè)誤差數(shù)據(jù)連續(xù)小于等于規(guī)定閾值的數(shù)的步驟;根據(jù)上述所檢測(cè)的數(shù),設(shè)定上述預(yù)測(cè)誤差數(shù)據(jù)的固定長(zhǎng)度碼部分的碼長(zhǎng)的步驟;以及把上述預(yù)測(cè)誤差數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分來進(jìn)行編碼的步驟。
7.一種數(shù)據(jù)解碼裝置,把編碼數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分來進(jìn)行解碼,其特征在于,具有預(yù)測(cè)誤差數(shù)據(jù)解碼部,其通過把編碼數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分進(jìn)行解碼來求出預(yù)測(cè)誤差數(shù)據(jù);注目數(shù)據(jù)解碼部,其根據(jù)由上述預(yù)測(cè)誤差數(shù)據(jù)解碼部所解碼的預(yù)測(cè)誤差數(shù)據(jù)自適應(yīng)地求出注目數(shù)據(jù);游程計(jì)數(shù)器,其用于針對(duì)由上述預(yù)測(cè)誤差數(shù)據(jù)解碼部所解碼的與注目數(shù)據(jù)的前一個(gè)數(shù)據(jù)相關(guān)的預(yù)測(cè)誤差數(shù)據(jù),檢測(cè)該預(yù)測(cè)誤差數(shù)據(jù)連續(xù)小于等于規(guī)定閾值的數(shù);以及碼長(zhǎng)設(shè)定部,其根據(jù)由上述游程計(jì)數(shù)器所檢測(cè)的數(shù),設(shè)定上述編碼數(shù)據(jù)的固定長(zhǎng)度碼部分的碼長(zhǎng);上述預(yù)測(cè)誤差數(shù)據(jù)解碼部根據(jù)由上述碼長(zhǎng)設(shè)定部所設(shè)定的碼長(zhǎng),把上述編碼數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分進(jìn)行解碼來求出上述預(yù)測(cè)誤差數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)解碼裝置,其特征在于,上述碼長(zhǎng)設(shè)定部在由上述游程計(jì)數(shù)器所檢測(cè)的數(shù)大于等于規(guī)定的游程長(zhǎng)度的情況下,與小于規(guī)定的游程長(zhǎng)度的情況相比,把上述碼長(zhǎng)設(shè)定得更短。
9.根據(jù)權(quán)利要求7所述的數(shù)據(jù)解碼裝置,其特征在于,上述閾值可設(shè)定多種;上述游程計(jì)數(shù)器針對(duì)所設(shè)定的多種閾值的各方,檢測(cè)預(yù)測(cè)誤差數(shù)據(jù)連續(xù)小于等于該閾值的數(shù)。
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)解碼裝置,其特征在于,上述碼長(zhǎng)設(shè)定部把在針對(duì)第1閾值而由上述游程計(jì)數(shù)器所檢測(cè)的數(shù)大于等于規(guī)定的游程長(zhǎng)度的情況下的第1碼長(zhǎng)、設(shè)定得比在針對(duì)大于該第1閾值的第2閾值而由上述游程計(jì)數(shù)器所檢測(cè)的數(shù)大于等于規(guī)定的游程長(zhǎng)度的情況下的第2碼長(zhǎng)短。
11.根據(jù)權(quán)利要求10所述的數(shù)據(jù)解碼裝置,其特征在于,還具有動(dòng)態(tài)范圍算出部,其用于把上述預(yù)測(cè)誤差數(shù)據(jù)的有效位數(shù)作為動(dòng)態(tài)范圍來檢測(cè);上述碼長(zhǎng)設(shè)定部把如下得到的值設(shè)定為上述預(yù)測(cè)誤差數(shù)據(jù)的固定長(zhǎng)度碼部分的碼長(zhǎng)在上述第1碼長(zhǎng)和上述第2碼長(zhǎng)中取不大的一方,在上述不大的一方和上述動(dòng)態(tài)范圍中取不小的一方。
12.一種數(shù)據(jù)解碼方法,把編碼數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分來進(jìn)行解碼,其特征在于,具有如下的步驟通過把編碼數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分進(jìn)行解碼來求出預(yù)測(cè)誤差數(shù)據(jù)的步驟;根據(jù)上述所解碼的預(yù)測(cè)誤差數(shù)據(jù)自適應(yīng)地求出注目數(shù)據(jù)的步驟;針對(duì)上述所解碼的與注目數(shù)據(jù)的前一個(gè)數(shù)據(jù)相關(guān)的預(yù)測(cè)誤差數(shù)據(jù),檢測(cè)該預(yù)測(cè)誤差數(shù)據(jù)連續(xù)小于等于規(guī)定閾值的數(shù)的步驟;以及根據(jù)上述所檢測(cè)的數(shù),設(shè)定上述編碼數(shù)據(jù)的固定長(zhǎng)度碼部分的碼長(zhǎng)的步驟;求出上述預(yù)測(cè)誤差數(shù)據(jù)的步驟是根據(jù)由設(shè)定上述固定長(zhǎng)度碼部分的碼長(zhǎng)的步驟所設(shè)定的碼長(zhǎng),把上述編碼數(shù)據(jù)劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分進(jìn)行解碼來求出上述預(yù)測(cè)誤差數(shù)據(jù)的步驟。
全文摘要
本發(fā)明提供處理時(shí)間短、必要存儲(chǔ)量小、能發(fā)揮高壓縮性能的數(shù)據(jù)編碼裝置等。數(shù)據(jù)編碼裝置(1)具有預(yù)測(cè)部(11),其根據(jù)已讀出的數(shù)據(jù)算出注目數(shù)據(jù)的預(yù)測(cè)值;減法器(12),其運(yùn)算作為注目數(shù)據(jù)和預(yù)測(cè)值的誤差的預(yù)測(cè)誤差值;絕對(duì)值化部(13),其對(duì)預(yù)測(cè)誤差值進(jìn)行絕對(duì)值化;平坦度檢測(cè)部(14),其針對(duì)多個(gè)閾值的各方檢測(cè)絕對(duì)值化后的預(yù)測(cè)誤差值連續(xù)小于等于規(guī)定閾值的數(shù),并根據(jù)所檢測(cè)的數(shù)是否大于等于規(guī)定的游程長(zhǎng)度來設(shè)定各閾值的碼長(zhǎng)候選;k參數(shù)決定部(15),其根據(jù)各閾值的碼長(zhǎng)候選決定固定長(zhǎng)度碼部分的碼長(zhǎng);以及Golomb-Rice編碼部(16),其根據(jù)所決定的碼長(zhǎng)把絕對(duì)值化后的預(yù)測(cè)誤差值劃分成可變長(zhǎng)度碼部分和固定長(zhǎng)度碼部分進(jìn)行編碼。
文檔編號(hào)H03M7/30GK1870440SQ20061008096
公開日2006年11月29日 申請(qǐng)日期2006年5月23日 優(yōu)先權(quán)日2005年5月23日
發(fā)明者石川隆志 申請(qǐng)人:奧林巴斯映像株式會(huì)社