專利名稱:編碼裝置、編碼方法與編碼程序以及攝像裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及可以應(yīng)用于圖像信號的壓縮等用的編碼裝置、編碼 方法及編碼程序以及攝像裝置。
背景技術(shù):
在數(shù)碼相機等攝像裝置中,經(jīng)常進行圖像畸變的修正處理、色 差的修正處理、圖像尺寸的放大或縮小的處理等圖像處理。另外,在圖像處理中發(fā)生的圖像數(shù)據(jù)通常通過JPEG(圖像聯(lián)合專家組)、 MPEG(動畫專家組)等壓縮編碼進行壓縮。在這樣的壓縮編碼中,以 稱為宏塊的圖像為單位進行編碼。為了進行圖像處理,從存儲器讀出圖像數(shù)據(jù),進行內(nèi)插等處理。 進行編碼時,圖像尺寸變更后的區(qū)域尺寸,設(shè)定為宏塊的大小。這 樣,由于在圖像尺寸的變換處理中將圖像尺寸設(shè)定為宏塊這樣的小 單位,因此產(chǎn)生了需要高速讀出圖像數(shù)據(jù)的問題。另外,在圖像處理中,不僅作為處理對象的區(qū)域的圖像數(shù)據(jù), 而且為了進行濾波等,往往還需要與該區(qū)域相鄰的區(qū)域的圖像數(shù)據(jù)。 在這種情況下,以盡可能大的塊尺寸作為單位進行圖像處理,與以 小的塊尺寸為單位(進行圖像處理)相比,可以提高效率。現(xiàn)參照 圖1A、圖1B及圖1C說明這一點。圖1A是以斜線所表示的(8像素x8像素)為單位進行圖像處理 的示例。若假定縱橫分別需要處理2個像素區(qū)域,則處理像素數(shù)為64 像素,有效處理象素數(shù)變?yōu)?4像素x4像素-16像素),效率為(有 效處理像素數(shù)/處理像素數(shù)=25% )。圖1B表示塊尺寸設(shè)置為(128 像素xl28像素=16384像素)的情況。在這種情況下,處理像素數(shù)為 16384,而有效處理像素數(shù)為(124像素xl24像素=15376像素), 效率變?yōu)?3%。此外,圖1C表示例如橫(向)長的塊,例如(2048 像素x8像素=16384像素)的示例。在這種情況下,有效處理像素 數(shù)變?yōu)?2044像素x4像素=8176像素),效率變?yōu)?9%。另外, 圖1A, 1B和1C表示用(3x3 = 9)個處理單位構(gòu)造一個圖像的示例。圖2表示例如按JPEG對圖像處理后的數(shù)據(jù)進行編碼的一個示 例。在模式上,在圖2中,由(4x2)個宏塊構(gòu)成一個圖像。若圖像 處理以水平方向并排的4個宏塊作為單位進行,則由于其順序與JPEG 規(guī)定的編碼方向一致,所以在圖像處理中得到的數(shù)據(jù)原樣不變地傳 送到JPEG編碼器進行編碼。在圖2中,圖像處理單位變?yōu)闄M長的區(qū)域,所以如圖3所示, 考慮以(2x2)的4個宏塊1-4組成的區(qū)域為單位進行圖像處理的 情況。在這種情況下,處理后的宏塊1和2原樣不變地傳送到編碼 器,進行JPEG編碼。宏塊3和4暫時保存在存儲器中。在下一個處 理單位(由宏塊5-8組成)中,處理后的宏塊5和6原樣不變地傳 送到編碼器,進行JPEG編碼。宏塊7和8暫時保存在存儲器中。在 編碼器中,處理后的宏塊1, 2, 5和6編碼后,讀出保存在存儲器 的處理后的數(shù)據(jù)宏塊3, 4, 7和8,并將讀出的數(shù)據(jù)傳送到編碼器。這樣,圖像處理單位是整數(shù)個宏塊,亦即,由編碼塊組成,編 碼塊的排列順序與編碼規(guī)定的順序不一致時,后來編碼的數(shù)據(jù)需保 存在存儲器中。結(jié)果產(chǎn)生了需要臨時保存用的存儲器的問題。作為可應(yīng)用本發(fā)明的圖像處理的一個示例,是圖4所示的色差 修正。從有色差的攝影圖像P分離出紅色圖像Pr、綠色圖像Pg和藍 色圖像Pb。色差的起因是透鏡的折射率因波長而異,在原色圖像之 間,即使同一個被拍攝物體,放大倍數(shù)變化,圖像的大小便發(fā)生變 化。對各原色圖像進行圖形分辨率變換,形成大小相同的原色圖像Pr', Pb,和Pg,,將這些原色圖像合成,便得到色差修正后的圖像P,。本 發(fā)明適用于圖像分辨率變換處理。
圖5表示可應(yīng)用本發(fā)明的另一種圖像處理。對圖像在縱橫兩個 方向上都發(fā)生了桶形畸變的圖像Pl進行第一階段放大,得到圖像 P2。第一階段放大是橫向放大,故使放大倍數(shù)離中心越遠越大。對 圖像P2進行第二階段放大,得到圖像P3。第二階段放大是對圖像P2 進行縱向放大。使放大倍數(shù)離中心越遠越大。本發(fā)明對宏塊這樣的編碼塊進行重排處理,但是在以前,在日 本專利特開平11-298878號公告中記栽了進行以宏塊為單位的重排 處理。在該文獻中,生成MPEG流后,以宏塊為單位進行重排,在 接收側(cè)即使原樣不變地對MPEG流進行解碼,結(jié)果也無法看到圖像。如上所述,進行圖像尺寸變更這樣的圖像處理時,以壓縮編碼 的編碼單元分割圖像數(shù)據(jù)進行編碼時,產(chǎn)生了高速從存儲器讀出的 必要性,產(chǎn)生需要大容量存儲器的問題。在上述文獻中記載的,一 旦生成正常的MPEG流之后,便進行重排。對此,在本發(fā)明中,按 照與正規(guī)順序不同的圖像處理部的輸出順序進行編碼之后,重排為 正規(guī)順序,在這一點上不同于上述文獻的記載。發(fā)明內(nèi)容因此,本發(fā)明的目的是,提供能夠解決需要高速讀出處理和大 容量存儲器的問題的編碼裝置、編碼方法、編碼程序和攝像裝置。為了解決上述問題,本發(fā)明是一種圖像處理裝置,在編碼部以 預(yù)定的編碼單位對圖像處理部處理后的圖像數(shù)據(jù)進行編碼的圖像處 理裝置中,設(shè)有重排部,編碼部按從圖像處理部輸出的順序進行編 碼,該重排部乂人圖像處理部的處理方向重排成以編碼部的編碼方法 ,見定的正規(guī)處理方向。本發(fā)明是一種圖像處理裝置,設(shè)有圖像處理部,在由多個編 碼單元組成的圖像處理塊內(nèi),進行圖像旋轉(zhuǎn)或倒轉(zhuǎn)的第一階段的處 理,輸出第一階段的處理后的數(shù)據(jù);編碼部,按照圖像處理部輸出 的數(shù)據(jù)順序,并以預(yù)定的編碼單位進行編碼;第一重排部,進行將
圖像處理部的處理方向重排成編碼部的編碼方法^見定的正^L處理方 向的第二階段的處理;以及第二重排部,進行將圖像處理單位視為 一個要素,對第二階段的處理后的數(shù)據(jù),進行預(yù)定的旋轉(zhuǎn)或倒轉(zhuǎn)的 第三階段的處理。本發(fā)明是一種圖像處理裝置,設(shè)有圖像處理部,在預(yù)定的編 碼單位內(nèi),進行圖像旋轉(zhuǎn)或倒轉(zhuǎn)的第一階段的處理,輸出笫一階段 的處理后的數(shù)據(jù);編碼部,按從圖像處理部輸出的數(shù)據(jù)順序,并以 編碼單位進行編碼;第一重排部,進行將圖像處理部的處理方向重 排為編碼部的編碼方法規(guī)定的正規(guī)處理方向的第二階段的處理;以 及第二重排部,進行將編碼單位視為一個要素,對第二階段的處理 后的數(shù)據(jù)進行預(yù)定的旋轉(zhuǎn)或倒轉(zhuǎn)的第三階段的處理。本發(fā)明是一種圖像處理方法,在以預(yù)定的編碼單位,在編碼部 中對圖像處理部處理后的數(shù)據(jù)進行編碼的圖像處理方法中,具有以 下步驟編碼步驟,按從圖像處理部輸出的數(shù)椐順序進行編碼;以 及重排步驟,將圖像處理部的處理方向重排為編碼規(guī)定的正規(guī)處理 方向。本發(fā)明是一種圖像處理方法的程序,在令計算機執(zhí)行編碼部以 預(yù)定的編碼單位對圖像處理部所處理的圖像數(shù)據(jù)進行編碼的處理方 法的程序中,具有以下步驟編碼步驟,按從圖像處理部輸出的數(shù) 據(jù)順序進行編碼;以及重排步驟,將圖像處理部的處理方向重排為 編碼規(guī)定的正規(guī)處理方向。本發(fā)明是一種攝像裝置,該攝像裝置具有圖像處理部,對用 攝像元件拍攝的圖像數(shù)據(jù)進行圖像處理;以及編碼部,以預(yù)定的編 碼單位對圖像處理部處理的圖像數(shù)據(jù)進行編碼,在這樣的攝像裝置 中具有重排部,編碼部按照圖像處理部輸出的數(shù)據(jù)順序進行編碼, 該重排部將圖像處理部的處理方向重排為編碼部的編碼方法規(guī)定的 正頭見處理方向。在本發(fā)明中,從例如進行圖像尺寸變更的圖像處理部向壓縮編
碼的編碼部傳輸?shù)膱D像數(shù)據(jù),是圖像處理部的小單位。因此,無需 外部存儲器即可進行傳輸。另外,由于無需外部存儲器即可傳輸,便有可能以寬于外部存儲器的帶寬進行內(nèi)部傳輸,進行高速處理。
圖1A, 1B和1C是說明圖像處理塊的大小與處理效率之關(guān)系的 示意圖;圖2是說明圖像處理方向與編碼方向一致時的處理的示意圖; 圖3是說明圖像處理方向與編碼方向不一致時的傳統(tǒng)處理的示 意圖;圖4是說明一例可應(yīng)用本發(fā)明的圖像處理的示意圖; 圖5是說明另一例可應(yīng)用本發(fā)明的圖像處理的示意圖; 圖6是概略說明一例本發(fā)明的處理的示意圖; 圖7是說明另一例本發(fā)明的處理的示意圖; 圖8是本發(fā)明的攝像裝置的一實施例的框圖; 圖9是^L明傳統(tǒng)處理的示意圖; 圖IO是說明圖像處理的參考例的示意圖; 圖11是說明本發(fā)明的圖像處理裝置一實施例的示意圖; 圖12是表示本發(fā)明的圖像處理裝置與另一結(jié)構(gòu)例之間的存儲器 訪問量比較的示意圖;圖13是說明本發(fā)明的圖像處理裝置一實施例的圖像處理的示意圖;圖14是說明本發(fā)明一實施例的圖像處理流程的流程圖; 圖15A和15B是說明本發(fā)明一實施例中定界符的插入處理的示 意圖;圖16A和16B是說明本發(fā)明一實施例中片起始碼(slice start code)插入處理的示意圖;圖17是說明本發(fā)明一實施例中定界符改寫處理的示意圖; 圖18A和18B是說明本發(fā)明一實施例中定界符刪除處理的示意圖;圖19是說明本發(fā)明一實施例中定界符刪除處理的第一方法的示 意圖;圖20是說明本發(fā)明一實施例中填充位(stuffing bit)刪除處理方法 的示意圖;圖21是說明本發(fā)明一實施例中定界符刪除處理的第二方法的示 意圖;圖22是說明本發(fā)明一實施例中定界符刪除處理的第三方法的示 意圖;圖23A和圖23B是說明本發(fā)明一實施例中定界符刪除處理中必要的一例填充位數(shù)的記錄方法的示意圖;圖24A、圖24B和圖24C是說明本發(fā)明一實施例中重排時處理效率的示意圖;圖25是表示本發(fā)明的圖像處理裝置另一結(jié)構(gòu)的框圖;圖26是說明將本發(fā)明用于兩個圖像處理的情況的示意圖;圖27是說明將本發(fā)明用于兩個圖像處理的情況的變型例的示意圖;圖28是說明將本發(fā)明用于分割一個圖像后進行處理時的情況的 示例的示意圖;圖29是說明將本發(fā)明用于分割一個圖像后進行處理時的情況的 示例的示意圖;圖30是說明本發(fā)明用于圖像上下左右倒轉(zhuǎn)處理之一例的示意圖;圖31是說明本發(fā)明用于圖像上下左右倒轉(zhuǎn)處理之另一例的示意圖;圖32是說明解碼側(cè)處理的參考例的示意圖;而 圖33是說明本發(fā)明的解碼側(cè)處理的示意圖。
具體實施方式
首先,參照圖6說明本發(fā)明的處理概要。在圖6中,附圖標記16 表示作為圖像處理對象的原圖像。該圖像16由6個編碼單位(在JPEG 的場合為宏塊)組成。對于6個宏塊分別標示為序號1-6。例如, 如宏塊1和2所示,對2個宏塊逐個進行圖像處理。圖像處理后的 數(shù)據(jù)在JPEG編碼器中進行編碼處理,得到編碼后的數(shù)據(jù)17。圖像 處理如上所述,是縮放處理、色差修正處理、圖像畸變修正處理、 相機信號處理、黑白反轉(zhuǎn)處理、色空間變換處理、濾波處理等。若按該順序的JPEG數(shù)據(jù)17原樣不變地進行解碼,則得到對應(yīng) 的圖像18。但是,解碼圖像18與原圖像區(qū)域16的塊順序不同,變 為與原圖像不同的圖像。為了避免這個問題就要重排。代碼重排部將JPEG數(shù)據(jù)17的順序以塊為單位重排,生成JPEG 數(shù)據(jù)19。若按照這個順序?qū)PEG數(shù)椐19進行解碼,則可得到與原 圖像區(qū)域16塊順序一致的對應(yīng)圖像20。在圖6的例中,原圖像的橫寬與3個宏塊合計的寬度相等。但 是,在圖像處理的單位橫寬由多個宏塊組成的例中,如圖7所示, 有時作為圖像處理單位的橫寬存在多個種類。例如由于圖像處理單 位與圖像橫寬不成整數(shù)比,最后處理的大小會不同。多個種類的橫 寬合計等于圖像橫寬。在這種情況下,通過在編碼時改變分割間隔, 即可以進行與圖6相同的重排。亦即,對圖像116進行JPEG編碼, 得到JPEG數(shù)據(jù)117。由于與該JPEG數(shù)據(jù)117對應(yīng)的圖像118與原 圖像不同,生成重排后的JPEG數(shù)據(jù)119。與該JPEG 119對應(yīng)的圖 像120成為與原圖像一致?,F(xiàn)就本發(fā)明一實施例進行說明,圖8表示本發(fā)明的攝像裝置, 例如,數(shù)碼相機的一實施例的結(jié)構(gòu)。圖8中,附圖標記1表示透鏡 裝置,附圖標記2表示CCD(電荷耦合器件)、CMOS(互補金屬氧化 物半導(dǎo)體)等攝像元件。對于攝像元件2,例如,設(shè)置Bayer配置的 三原色濾光片,得到三原色信號作為攝像元件2的輸出。該三原色
信號用A/D轉(zhuǎn)換器3變換到數(shù)字信號。來自A/D轉(zhuǎn)換器3的數(shù)字攝像信號輸入由LSI(大規(guī)模集成電路) 構(gòu)成的數(shù)字處理相機信號處理部4。在相機信號處理部4中,進行白 平衡修正處理、內(nèi)插處理,濾波處理、矩陣運算處理、y修正處理、 亮度信號(Y)生成處理、色差信號(Cr,Cb)生成處理等。相機信號處 理部4生成的圖像信號提供給顯示器5,顯示出所拍攝的圖像。另夕卜, 來自相機信號處理部4的圖像數(shù)據(jù)經(jīng)過尺寸變更、壓縮處理后,存 儲在內(nèi)部或外部的存儲器中。白平衡修正處理可對因被拍攝物的色溫環(huán)境不同、彩色濾光片 感度不同造成各色之間的不平衡作出修正。內(nèi)插處理對不存在的色 信號進行內(nèi)插處理。濾波處理是高頻修正處理,它是為強調(diào)輪廓而 進行的處理。矩陣運算處理是將攝像信號變換到sRGB的處理。通過 Y修正處理對顯示裝置所具有的非線性特性預(yù)先進行逆向fl"正,以實 現(xiàn)最終的線性特性。信號,生成亮度信號。色差信號生成處理塊,以預(yù)定的合成比合成y 修正后的RGB信號,生成色差信號。對所生成的色差信號進行帶寬 限制處理,生成色差信號Cb和Cr。相機信號處理部4的輸出(Y, Cr, Cb )被輸入到尺寸變更部6, 進行圖像尺寸的等倍、放大和縮小處理。尺寸變更部6的輸出數(shù)據(jù), 例如^L輸入JPEG編碼部7。編碼部7由DCT(離散余弦變換)、量化 器、可變長編碼器構(gòu)成。在DCT中,以(8x8 )像素塊單位進行DCT運算,得到由DC(直 流)系數(shù)及AC(交流)系數(shù)構(gòu)成的DCT系數(shù)。分別對DC系數(shù)和AC系 數(shù)進行量化。對量化后的DC系數(shù)與前一個塊的DC系數(shù)的差值進行 編碼。其中,在表示定界的具有預(yù)定值的代碼即定界符插入后,緊 接著,對DC系數(shù)值本身進行編碼。若為經(jīng)量化的AC系數(shù),則在塊 內(nèi)通過曲折掃描在重排后被可變長編碼。用編碼器7壓縮后的壓縮
圖像數(shù)據(jù)提供給重排部8。重排部8將壓縮圖像數(shù)據(jù)重排到JPEG規(guī) 定的正規(guī)處理方向。亦即,所謂正規(guī)處理方向,是指按JPEG解碼時 得到原圖像的編碼順序。編碼后的圖像數(shù)據(jù)存入存儲器9。為了控制上述數(shù)碼相機的信號處理等,設(shè)有CPU(中央處理單 元)ll。相機信號處理部4、尺寸變更部6、編碼部7、重排電路8及 存儲器9,通過CPU總線12連接CPU 11,配置成可用CPU控制。 用戶操作的開關(guān)、GUI (圖形用戶界面)等鍵13的輸出被輸入到CPU 11中。而且,在CPU總線12上連接保存程序等的ROM 14及作為 CPU 11運行用的存儲器的RAM 15。在RAM15中,通過CPU11的 控制可以儲存圖像數(shù)據(jù)。另外,在圖8的結(jié)構(gòu)中,為簡明起見,省 略了從存儲器讀出的壓縮圖像數(shù)據(jù)進行解碼,在顯示器5上顯示的 結(jié)構(gòu)。按照本發(fā)明的上述數(shù)碼相機的結(jié)構(gòu),在尺寸變更部6、編碼器7、 重排部8的處理中,不需要高速處理及大容量存儲器。此外,按照 本實施例的JPEG中,作為編碼單位的宏塊尺寸是(16x8)像素,由 兩個(8x8 )像素的亮度(Y)塊和分別為(8x8 )像素的色差(Cr, Cb ) 塊組成。色差數(shù)據(jù)的水平方向的像素間隔是亮度數(shù)據(jù)的2倍。因此, 每個像素的位數(shù)變?yōu)?丫=8位,Cr=4位,Cb=4位)16位。亮度數(shù)據(jù)及兩 個色差數(shù)據(jù),分離后分別作為處理對象。由于色差數(shù)據(jù)的處理與亮 度數(shù)據(jù)相同,所以在以下說明中,就亮度數(shù)據(jù)處理進行說明。為便于理解本發(fā)明,先參照圖9說明傳統(tǒng)結(jié)構(gòu)。作為圖像處理 例,說明圖像放大的處理。在圖9中,附圖標記21表示外部存儲器, 附圖標記24表示尺寸變更部。作為一例,尺寸變更部24是具有尺 寸放大兩倍的內(nèi)插數(shù)字濾波器的結(jié)構(gòu)。在傳統(tǒng)結(jié)構(gòu)中,從外部存儲 器21讀出圖像數(shù)據(jù),使之放大兩倍之后成為宏塊尺寸即編碼單位。為了使放大兩倍后的圖像等于宏塊的大小,尺寸變更部24要》文 大外部存儲器21的帶有陰影線的(4x8)像素區(qū)域22。由于尺寸變 更部24使用FIR濾波器一類的內(nèi)插濾波器,例如,要從外部存儲器21讀出包含區(qū)域22的(16xl2)像素區(qū)域23。亦即,內(nèi)插濾波器必須 對本來的區(qū)域分別在橫向和縱向需要多出(4 + 4)個像素,所以增 大了讀出的像素數(shù)。再有,本發(fā)明不僅適用于放大,也適用于縮小 處理。傳送到尺寸變更部24內(nèi)部的放大后的(8x16)宏塊的數(shù)據(jù)25, 不經(jīng)存儲器直接傳送到編碼部26,進行JPEG編碼。作為編碼數(shù)據(jù) 的JPEG數(shù)據(jù)被寫到外部存儲器27。按照JPEG標準,規(guī)定從圖像左 端向右端的方向為正規(guī)處理方向,區(qū)域22的讀出順序與正規(guī)的處理 方向相同。外部存儲器27和外部存儲器21可以構(gòu)成為同一RAM上 不同的存儲區(qū)。在圖9所示的傳統(tǒng)結(jié)構(gòu)中,按宏塊單位依次對JPEG數(shù)據(jù)進行解 碼,從而能恢復(fù)放大后的圖像。但是,由于圖像處理單位的塊變?yōu)?放大后的宏塊這樣小的尺寸,必須從外部存儲器21讀出作為放大對 象的區(qū)域22的橫向像素數(shù)2倍的像素數(shù),縱向像素數(shù)的3倍的像素 數(shù),合計6倍的像素數(shù),因而必須高速讀出,從而存在要求大的存 儲區(qū)的問題。另外,如后所迷,總體上存在存儲訪問量大的問題。在圖9所示的傳統(tǒng)結(jié)構(gòu)中,尺寸變更部24以(16x8)尺寸的編 碼單位進行放大處理。與此形成對比,圖10表示的結(jié)構(gòu)例通過將^i: 大處理單位設(shè)置成更大尺寸,來減輕上述需要存儲區(qū)大以及訪問量 大的問題。帶有陰影線的(64x64)像素區(qū)域28是作為放大處理對象的區(qū) 域。尺寸變更部24,從外部存儲器21讀出(72x72)像素區(qū)域29。 尺寸變更部24生成使區(qū)域28變?yōu)閮杀兜?128x128)像素區(qū)域30 的圖像數(shù)據(jù)。由于該區(qū)域30的圖像數(shù)據(jù)與JPEG的宏塊的尺寸不同, 不能直接送往編碼部26。亦即,放大圖像數(shù)據(jù)被寫入到具有一個圖 像例如1幀的容量的外部存儲器31,以宏塊為單位從外部存儲器31 讀出圖像數(shù)據(jù)。這樣,為了處理(64x64 )的區(qū)域28,必須讀出(72x72) 像素區(qū)域29,因此,需要傳送的數(shù)據(jù)變?yōu)?.27倍。這個比率并不要 求那么高的傳送速度。但是,如后所述,與按照本發(fā)明的處理相比, 存在整體上訪問量大的問題。>^人外部存儲器31讀出JPEG的宏塊(16x8)像素區(qū)域。讀出的 順序是JPEG規(guī)定的正規(guī)處理方向。讀出的宏塊的數(shù)據(jù)由編碼部26 按JPEG進行編碼。作為編碼數(shù)據(jù)的JPEG數(shù)據(jù),以宏塊為單位從編 碼部26寫出到外部存儲器27。在圖9的結(jié)構(gòu)中,為了以宏塊為單位進行尺寸變更,可以使用 可設(shè)在尺寸變更部24內(nèi)的容量較小的內(nèi)部存儲器25。但是,在圖10 的結(jié)構(gòu)中,由于必須將以宏塊為單位切出的圖像數(shù)據(jù)提供給編碼部 26,因此,需要能保存整個放大圖像的大容量的外部存儲器31。圖11表示本發(fā)明一實施例的結(jié)構(gòu)。與圖IO所示的結(jié)構(gòu)例相同, 以帶有陰影線的(64x64)像素區(qū)域28作為放大處理對象,所以尺 寸變更部24使用在來自外部存儲器21的塊上附加了周邊像素的 (72x72)像素的區(qū)域29,進行放大處理。在這種情況下,區(qū)域28 分割為(64x64)像素區(qū)域(宜稱為塊),逐塊讀出并進行;改大處理。 因此,尺寸變更部24,輸出將塊放大為兩倍的(128x128)像素的數(shù) 據(jù)。尺寸變更部24輸出的順序,與JPEG的正規(guī)處理方向不同。在本發(fā)明中,不改變尺寸變更處理順序地進行JPEG編碼,故可 直接傳送圖像數(shù)據(jù)。此外,可用小容量的存儲器將塊分割為多個宏 塊。在一實施例中,尺寸變更部24的輸出數(shù)據(jù),被內(nèi)部傳送到容量 較小的內(nèi)部存儲器32A及32B,并被交替寫入存儲器32A和32B。 若將宏塊尺寸設(shè)置為(16x8)像素來作為編碼單位,則以2倍處理 后成為縱向8像素、橫向16像素的整倍數(shù)的塊作為單位,處理放大 處理后的數(shù)據(jù)。塊為(64x4)像素的尺寸。放大處理后尺寸的(128x8) 像素區(qū)域亦稱為塊。存儲器32A和32B構(gòu)造成兩個存儲體,在對一個存儲器寫入 (128x8)像素的塊的圖像數(shù)據(jù)期間,從另一個存儲器以JPEG的宏 塊為單位讀出圖像數(shù)據(jù)。(128 x8)像素的塊對應(yīng)于原圖像28的 (64x4)像素的塊。與圖9的結(jié)構(gòu)例相同,為處理(64x64)的區(qū)域 28,需要(72x72)像素區(qū)域29,因此應(yīng)傳送的數(shù)據(jù)變?yōu)?.27倍。 這個比率并不要求太高的傳送速度。以JPEG的宏塊(16x8)像素為單位依次從存儲器32A和32B 讀出數(shù)據(jù)。在存儲器32A和32B中,分別儲存8個宏塊數(shù)量的圖像 數(shù)據(jù)(128x8 )像素。讀出的宏塊的數(shù)據(jù)由編碼部26進行JPEG編碼。 以宏塊位為單位將JPEG數(shù)據(jù)從編碼部26寫出到外部存儲器33。保存在外部存儲器33中的JPEG數(shù)據(jù),編碼順序與JPEG標準 規(guī)定的不同,即便用按標準構(gòu)造的解碼器進行解碼,也不能恢復(fù)正 確的圖像。JPEG標準規(guī)定的編碼順序是從圖像左端到其右端的順序。這樣,保存在外部存儲器33中的JPEG數(shù)據(jù)在代碼重排部34中 處理,對JPEG數(shù)據(jù)進行重排。代碼重排部34,例如,可以通過控 制外部存儲器33的讀出地址來進行重排。為進行重排,外部存儲器 33必須具有放大后的圖像整體的容量的存儲器。但是,為了將JPEG 數(shù)據(jù)量壓縮為幾分之一,數(shù)據(jù)容量最好比儲存原圖像數(shù)據(jù)的容量少。代碼重排部34將處理方向已變?yōu)檎?guī)的JPEG數(shù)據(jù)輸出并存儲 到外部存儲器35。在外部存儲器35中儲存正規(guī)處理方向的順序的 JPEG數(shù)據(jù)。因此,用根據(jù)JPEG標準構(gòu)造的解碼器對該JPEG數(shù)據(jù) 進行解碼,可以正確地恢復(fù)圖像。圖12是表示比較圖9、圖10及圖11結(jié)構(gòu)的存儲器訪問量(寫 入或讀出)的表。例如,假定按JPEG將原圖像X字節(jié)的數(shù)據(jù)壓縮 編碼為1/3的情況。在圖9的結(jié)構(gòu)中,為了放大(4x8)像素區(qū)域22, 從外部存儲器21讀出其6倍像素數(shù)(16x12)像素區(qū)域23,讀出的 數(shù)據(jù)直接傳送到編碼部26,所以圖像訪問量為6X字節(jié)。另外,JPEG 數(shù)據(jù)到存儲器的訪問量,由于只寫入外部存儲器27 —次,故為X/3 字節(jié)。因此,合計的存儲器訪問量(=圖像訪問量+代碼訪問量)為19X/3 字節(jié)。在圖10所示的結(jié)構(gòu)例中,對外部存儲器21的圖像訪問量,從
外部存儲器21讀出,必須讀出1.27倍的像素數(shù)的區(qū)域,對外部存儲 器31必須寫入》文大兩倍后的區(qū)域30,并讀出宏塊的圖像數(shù)據(jù),所以 圖像訪問量為(1.27+24.27)X字節(jié)。對JPEG數(shù)據(jù)存儲器的訪問量是 只寫入外部存儲器27 —次,故為X/3字節(jié)。因此,合計存儲器訪問 量(=圖像訪問量+代碼訪問量)為10.81X/3字節(jié)。
在本發(fā)明一實施例(圖11)的結(jié)構(gòu)中,對外部存儲器的圖像訪 問量,從外部存儲器21讀出必須讀出1.27倍像素數(shù)的區(qū)域。若假定 直接向編碼部26傳送圖像數(shù)據(jù),則圖像訪問量為1.27X字節(jié)。
為了進行代碼重排,必須對外部存儲器33進行寫入和讀出,并 寫入到外部存儲器35,因此需要3次訪問。寫入或讀出的數(shù)據(jù),由 于是JPEG數(shù)椐,代碼訪問量為(3X/3字節(jié))。因此,合計存儲器 訪問量(=圖像訪問量+代碼訪問量)為6.81X/3字節(jié),是最少的。 再有,在一實施例中,由于對存儲器32A, 32B進行訪問,圖像訪問 量增大。但若不設(shè)置存儲器32A、 32B,則可以直接將尺寸變更部24 的輸出傳送到編碼部26。另外,由于可以用內(nèi)部存儲器作為存儲器 32A、 32B,有可能提高數(shù)據(jù)傳送速度,故可減少訪問量增大造成的 影響。
現(xiàn)參照圖13說明本發(fā)明一實施例的處理。在圖13中,附圖標 記41表示作為放大處理的對象的原圖像的整個圖像,例如,(128x12) 像素區(qū)域。該區(qū)域41分割為6個(64x4)像素的塊。6個塊分別用 序號1-6表示。逐塊進行放大處理。再有,在圖13中,各塊內(nèi)所 畫的箭頭表示對該區(qū)域進行處理的順序,面向圖面,以從各區(qū)域的 左上角到右下角的順序進行處理。塊內(nèi)編碼順序與JPEG的正規(guī)處理 方向一致。^f旦由于以塊為單位的處理方向與正M^的處理方向不同, 故必須重排。亦即,若依序以塊為單位讀出像素,則為1, 2, 3,... 按所附的序號讀出各塊的數(shù)據(jù)。
尺寸變更部24對第一 (64x4)像素塊進行處理,生成縱4黃分 別為2倍的(128x8 )像素的塊42的圖像數(shù)據(jù)。將該圖像數(shù)據(jù)42寫
入內(nèi)部存儲器32A、 32B之一。改變從存儲器32A、 32B讀出數(shù)椐的 順序,以(16x8)像素的JPEG的宏塊43為單位讀出圖像數(shù)據(jù)。讀 出的宏塊的數(shù)據(jù)43在編碼部26中編碼。得到與塊42的圖像數(shù)椐對 應(yīng)的JPEG數(shù)據(jù)44。 JPEG數(shù)據(jù)的數(shù)據(jù)塊45對應(yīng)于宏塊43。按如上所述的方式處理原圖像區(qū)域41,生成分別與6個塊對應(yīng) 的JPEG數(shù)據(jù)46。若對該順序的JPEG數(shù)據(jù)46原樣不變地解碼,則 得到解碼圖像47。但是,解碼圖像47,與原圖像區(qū)域41在塊的順 序上不同,成為與原圖像不同的圖像。因此,代碼重排部34以塊為單位將JPEG數(shù)據(jù)46的順序重排為 正規(guī)的順序,生成JPEG數(shù)據(jù)48。若對該順序的JPEG數(shù)據(jù)進行解碼, 則可得到在塊順序上與原圖像區(qū)域41 一致的解碼后的圖像49 。圖14是表示本發(fā)明的圖像處理流程的流程圖。該流程圖所示的 處理是通過控制諸如CPU ll(參見圖8)等信號處理部的計算機的控制 實現(xiàn)的。在開始步驟S1,以塊為單位從存儲器讀出圖像。在圖13的 例中,塊為(64x4)像素。在步驟S2進行圖像處理,例如縱橫分別放大2倍的圖像處理。 在步驟S3將放大處理后的(128x8)像素的數(shù)據(jù),以(16x8)像素 的宏塊為單位輸入編碼部26。在步驟S4,編碼部26按輸入的順序 對圖像數(shù)椐進行編碼。在步驟S5,編碼數(shù)據(jù)(例如JPEG數(shù)據(jù))被寫入存儲器。在步 驟S6,判斷塊數(shù)據(jù)(例如(128x8)像素的數(shù)據(jù))是否已經(jīng)處理。若 未處理完畢,則返回到步驟S3,重復(fù)編碼處理(步驟S3-S5)。在步驟S6,若判定塊數(shù)據(jù)的處理已經(jīng)完畢,則在步驟S7判斷是 否整個放大圖像的處理均已結(jié)束。若未結(jié)束,則在步驟S8插入具有 預(yù)定值的預(yù)定的定界符。亦即,在每個JPEG數(shù)據(jù)塊的劃界處插入定 界符。附加填充位,使被可變長編碼的1個塊數(shù)量的JPEG數(shù)據(jù)長度為 字節(jié)的整倍數(shù),并在其后附加定界符(16位)。圖15A表示一例JPEG
數(shù)據(jù)。作為最小編碼單位的JPEG MCU(最小編碼單位),是對應(yīng)于宏 塊發(fā)生的數(shù)據(jù)。由于進行霍夫曼(Huffman)編碼,JPEG MCU具有 可變的位長。最小編碼單位可以不與重排單位一致。例如,用(2x2)宏塊作 為圖像處理單位時,與JPEG編碼方向一致的方向,亦即,橫向宏塊 的個數(shù)變?yōu)?個,用2個宏塊作為重排單位。在圖15A和15B中, 假定1個塊由2個宏塊組成。如圖15B所示,給分別對JPEG數(shù)據(jù)JPEG MCU1及JPEGMCU2的2個宏塊附加6位的填充位。這樣,可以使 (17 + 25 + 6 = 48位=6字節(jié))的塊的JPEG數(shù)據(jù)成為字節(jié)的整數(shù)倍。 在填充位之后,插入16位的定界符。這樣,定界符表示重排單位的劃界。這個劃界稱為ECS(熵編碼 段)。因此,重排以ECS為單位進行。JPEG數(shù)據(jù)的DC (直流)系數(shù) 以與前一數(shù)據(jù)塊的DC系數(shù)的差值數(shù)據(jù)傳送,定界符的下一個DC系 數(shù)的數(shù)據(jù)并非差值,而是DC系數(shù)值本身。在步驟S7,若判定整個放大圖像均已處理完畢,則在步驟S9從 存儲器讀出JPEG數(shù)據(jù),在步驟SIO,以塊為單位對JPEG數(shù)據(jù)進行 重排。在步驟Sll,重排后的JPEG數(shù)據(jù)被寫入到存儲器。上述的本發(fā)明的一實施例,是將本發(fā)明應(yīng)用于JPEG的情況,但 是,本發(fā)明也適用于使用MPEG作為編碼方法的場合。在該場合, 對于每個與1塊圖像對應(yīng)的MPEG數(shù)據(jù)進行劃界,插入具有預(yù)定值 的片起始碼。現(xiàn)參照圖16A和16B說明片起始碼的插入。圖16A表示MPEG 數(shù)據(jù)流。為簡明起見,假定與2個宏塊對應(yīng)的2個數(shù)據(jù)塊,對應(yīng)于1 個塊的圖像數(shù)據(jù)。如圖16B所示,給2個宏塊各自的MPEG數(shù)據(jù)插 入6位的填充位。因而,(17+25+6=48位=6字節(jié))使得塊的MPEG數(shù) 據(jù)成為字節(jié)的整數(shù)倍。附加填充位之后,插入32位的片起始碼。(MPEG),必須隨著重排而改寫其數(shù)值。定界符確定為H,F(xiàn)FDx(H,
是表示十六進制的標記)。x是定界符次數(shù)除8后的余數(shù)值。另外, 片起始碼確定為H,000001xx (H,是表示十六進制的標記)。xx是片圖 像(slice picture)上的宏塊單位的垂直位置的值。x及xx的部分, 必須隨著重排按照標準而改變。圖17表示定界符的改寫處理。正如參照圖13說明的,生成分 別與6個塊對應(yīng)的JPEG數(shù)據(jù)46。為了對JPEG數(shù)據(jù)46的塊的數(shù)據(jù) 進行劃界,如圖17所示,分別插入定界符H,F(xiàn)FD0 H,F(xiàn)FD5。然后,如圖17中的箭頭所示,代碼重排部34以塊為單位重排JPEG 數(shù)據(jù)48的順序,生成JPEG數(shù)據(jù)48。根據(jù)重排的結(jié)果,改寫定界符。 例如在JPEG數(shù)據(jù)46中,第四塊4的代碼重排為JPEG數(shù)據(jù)48中的 第二塊的代碼,所以定界符H,F(xiàn)FD3被改寫為H,F(xiàn)FD1。圖17表示改寫定界符的處理,但是插入MPEG流的片起始碼的 xx值也要隨著重排后的配置而改寫。圖18A和18B是說明在重排部34中刪除定界符的處理例。與圖 18A和18B所示的JPEG數(shù)據(jù)流一樣,以字節(jié)為單位,給每個塊的JPEG MCU插入定界符。為了減少插入定界符而增大冗余長度的影響,如 圖18B所示的流那樣,刪除定界符。有時為了避免違反JPEG標準, 也必須刪除定界符。但是,由于定界符后的與最初的宏塊對應(yīng)的JPEG MCU3的DC 系數(shù)DC1是與0的差,亦即是數(shù)值本身,因此在刪除了定界符的圖 18B所示的流中,JPEG MCU3最初的宏塊的DC系數(shù)必須:沒成是與 前一 JPEGMCU2的最后的宏塊的DC系數(shù)的差值?,F(xiàn)就定界符的刪除處理的3種方法進行說明。圖19表示第一方 法。在該方法中,編碼時須將傳送和記錄JPEG MCU2 (以下僅表示 為MCU2)的起始位置及其結(jié)束位置或填充位的位數(shù),與緊接在定 界符前面的作為最小編碼單位的JPEG MCU2的DC分量的數(shù)據(jù)相關(guān) 聯(lián)地加以記錄或保存。以能夠不對多個代碼進行解碼而改寫DC分量 的編碼數(shù)據(jù)。作為記錄或保存方法,可以采用將這些數(shù)據(jù)插入流中, 也可采用在存儲器中保存這些信息的方法。
在步驟S21,根椐所記錄的MCU2的開始位置或結(jié)束位置,或 填充位的位數(shù),計算刪除定界符后的MCU3的新開始位置a。位置a 與MCU2的結(jié)束位置一致。有了 MCU2的開始位置,就可通過解碼 檢測出一個宏塊的數(shù)據(jù)尾端的代碼(EOB),便可確定MCU2的結(jié) 束位置。而且,若檢測出定界符,則可由填充位的位數(shù)確定MCU2 的結(jié)束位置。
在步驟S22,對MCU3的DC分量進行解碼。MCU3的DC分量 是以其絕對值編碼后的數(shù)據(jù)傳輸?shù)?,所以解碼之后即可得到DC分 量。然后,算出預(yù)先記錄的MCU2的DC分量和MCU3解碼后的DC 分量之間的差值,對該差值進行霍夫曼(Huffman)編碼,得到新的 MCU3的DC分量的編碼數(shù)據(jù)。
在步驟S24,從新的開始位置a起放置MCU3。于是,刪除填充 位和定界符。配置在MCU3的DC分量的編碼數(shù)據(jù),是將差值編碼 后的數(shù)據(jù),因而,與原先插入的DC分量的編碼數(shù)據(jù)(絕對值)在位 長上不同。
再有,如圖20所示,第一方法也可適用于如下的情況不插入 定界符而插入填充位,而且設(shè)DC分量差值的預(yù)測值為0,亦即MCU3 的DC分量編碼數(shù)據(jù)是DC分量本身的值的編碼數(shù)據(jù),這時,配置在 MCU3的DC分量的編碼數(shù)據(jù)設(shè)為差值編碼的數(shù)據(jù)。另外,對于不插 入定界符的例,同樣可采用以下描述的第二方法和第三方法。
圖21表示定界符刪除處理的第二方法。第二方法中,在編碼時 MCUX開始位置b被與傳送或記錄的數(shù)據(jù)相關(guān)聯(lián)地記錄或保存。但 是,與第一方法不同,不記錄MCU2的DC分量。MCUX是配置在 填充位前面的虛擬的最小編碼單位。MCUX最好是對只由預(yù)定像素 值的DC組成的宏塊進行JPEG編碼后得到的最小編碼單位。例如, 用整面黑色的圖像使DC分量的值設(shè)為0。作為另一例,也可以使用 亮度數(shù)據(jù)Y、兩個色差數(shù)據(jù)Cr, Cb的數(shù)值全部為0的數(shù)據(jù)。
在步驟S31,得到與MCUX的開始位置一致的MCU3的新開始 位置b。接著,在步驟S32,對MCUX的DC分量與MCU3的DC 分量進行解碼。由于與MCUX的DC分量對應(yīng)的編碼數(shù)據(jù)是下列差 值的編碼數(shù)據(jù),與MCUX的DC分量對應(yīng)的編碼數(shù)據(jù)^^解碼后的數(shù) 值是MCU2的DC分量。因此,沒有必要進行差值運算。對應(yīng)于MCUX的DC分量的編碼數(shù)據(jù)=(MCUX的DC分量(例 如為0 ) - MCU2的DC分量)的編碼數(shù)據(jù)在步驟S33,解碼后得到的MCUX的DC分量,亦即如上所述, 求出-(MCU2的DC分量)與MCU3的DC分量的差值,對差值 進行編碼,得到新的MCU3的DC分量的編碼數(shù)據(jù)。在步驟S34, 從新的開始位置b起力文置MCU3及其以后的數(shù)據(jù)。接著,刪除填充 位和定界符。圖22表示刪除定界符的處理的笫三方法。第三方法中,可以無 需對DC分量的編碼數(shù)據(jù)進行解碼。另外,由于進行將MCU4放置 在MCU3之后的處理,所以數(shù)據(jù)處理可簡化。按第三方法,編碼時,將MCU3的開始位置或結(jié)束位置,或?qū)?填充位位數(shù)與被傳送或記錄數(shù)據(jù)相關(guān)聯(lián)地進行記錄或保存。此外, 在所傳送或記錄的數(shù)據(jù)中,將MCU3插入在MCU2之后,與此同時 將MCU3,緊接定界符之后插入。MCU3的DC分量的編碼數(shù)據(jù),是 前面的MCU2的DC分量與MCU3的DC分量的差值被編碼后的數(shù) 據(jù)。與此不同,MCU3'的DC分量的編碼數(shù)據(jù),緊接定界符后面配 置,所以DC分量為其本身的值。在步驟S41,使用MCU3的開始位置或結(jié)束位置,或者填充位 位數(shù)等信息,計算MCU4新的開始位置c。MCU3的結(jié)束位置和MCU4 的開始位置c是一致的。也可以從MCU3的開始位置起開始解碼, 將檢測出EOB的位置,作為MCU3的結(jié)束位置撿出。并且,由于判 定了定界符的位置,也可以利用填充位的位數(shù)來求出位置c。在步驟 S42,在MCU3之后,從新的開始位置赴故置MCU4及其后的MCU。
圖19所示的第一方法或圖22所示的第三方法,都需要記錄填 充位數(shù)。圖23A及圖23B表示在流中記錄填充位位數(shù)的方法。圖23A 所示,如上所述,定界符被確定為H,F(xiàn)FDx(H,是表示十六進制的標 記)。x是定界符的次數(shù)除8的余數(shù)值。該x值取0至7。因此,在圖23B中,如填充位的位數(shù)為5的 例所示,可以作為x值將填充位的位數(shù)記錄在流中。該處理制作違 反標準的流,但是,如上所述,由于刪除了定界符,在向外部輸出 的流中不包含定界符,所以不成問題。圖24A、圖24B和圖24C表示在JPEG數(shù)據(jù)流的生成中,在重 排處理中,便于確定各重排單位的開始位置的處理。圖24A表示JPEG 數(shù)據(jù)一例及其數(shù)據(jù)重排后的數(shù)據(jù)。對應(yīng)于各塊圖像數(shù)據(jù)的JPEG數(shù) 據(jù),由于是長度可變,存在重排時難以確定開始位置的問題。圖24B 表示對應(yīng)的原圖像的塊的配置。在對重排后的JPEG數(shù)據(jù)作了解碼 時,可得到圖24B所示的圖像。如圖24C所示,通過形成空存儲區(qū),在存儲器儲存的JPEG數(shù) 據(jù)的第一、第三、第五的各自數(shù)據(jù)塊的開始位置,都按預(yù)定的間隔L 確定位置。進行重新排處理時,若確定了第三及第五各數(shù)據(jù)塊的開 始位置,則重排處理便可以簡單而高速地進行。第四及第六數(shù)據(jù)塊 的開始位置,可以一邊重排一邊判定。再有,由于空區(qū)域是可以不 寫入的區(qū)域,在空區(qū)域中可存在任何數(shù)據(jù)。圖25表示考慮生成縮小圖像(所謂thumbnail)的結(jié)構(gòu)例。在圖 像存儲器51中,存入處理對象的圖像。例如存在具有重疊部分的兩 個區(qū)域。在圖像存儲器51后面設(shè)有圖像處理部52。在圖像處理部52 中,如上所述,進行圖像尺寸變更、色差修正、畸變修正等處理。圖像處理部52處理后輸出圖像數(shù)據(jù)的順序,與JPEG正規(guī)的處 理方向不同。不改變順序,將處理后的數(shù)據(jù)提供給編碼部53,例如 在編碼部53進行JPEG編碼。得到從編碼部53輸出的順序與正規(guī)方 向不同的編碼圖Y象54。
編碼圖像54在重排部55中進行處理,進行JPEG數(shù)據(jù)的重排。 從代碼重排部55向外部存儲器56輸出其處理方向成為正規(guī)的JPEG 數(shù)據(jù),并加以儲存。在外部存儲器56中,存入正規(guī)處理方向的順序 的JPEG數(shù)據(jù)。因此,用根椐標準構(gòu)成的解碼器對該JPEG數(shù)據(jù)進行 解碼,可正確地恢復(fù)圖像。在圖示的例中,圖像被分割為兩個有重疊的圖像部分,輸入圖 像處理部52,使之能夠進行圖像的縮小處理。處理的結(jié)果中存在重 疊部分。對編碼部53傳送刪除了重疊部分的圖像。為了生成縮小圖 像,從圖像處理部52的輸出側(cè)取出編碼前的數(shù)據(jù),提供給縮小部57。 在這種情況下,不刪除重疊部分,對縮小處理,必須使用例如內(nèi)插 濾波器的濾波。縮小部57分別縮小兩個區(qū)域,生成縮小圖像58。用 圖24A、圖24B和圖24C的結(jié)構(gòu),從圖像存儲器51讀出一次圖像, 既可以編碼,又可以生成縮小圖像。圖26表示用一個編碼部同時對多個,例如兩個圖^象61a和61b 進行編碼處理。以6分割各圖像而形成的塊為單位,進行JPEG編碼。 在JPEG編碼時,各圖像的塊被交替地編碼,得到編碼數(shù)據(jù)62。編 碼數(shù)據(jù)62的對應(yīng)圖像,表示為圖像63。對編碼數(shù)據(jù)62進行重排。如對應(yīng)圖像65a和65b所示,以塊為 單位進行重排和圖像分離,使其順序與原圖像塊的順序一致。形成 重排和分離后的編碼數(shù)據(jù)64a和64b。圖26的結(jié)構(gòu),在編碼部的處 理比前級的圖像處理部的處理速度快的場合,或者同時制作多個尺 寸小的圖像的場合等是有用的。用一個編碼部66同時對兩個圖像61a和61b進^亍編^ 馬的場合, 如圖27所示,編碼特性,例如,可使量化特性成為不同。對于圖像 61a,用斜線示出的量化表67a,對于圖像61b,使用量化表67b。從 編碼部66得到JPEG數(shù)據(jù)68。也可使之與霍夫曼(Huffman)表。圖28表示用兩個處理部件(圖像處理部及編碼部)處理1個圖 像的示例。在這里說明的例中,由于圖像處理部74a和74b需要重疊 部分,所以在圖像分割部72中,將一個圖像71分割為圖像73a和73b, 使之具有預(yù)定寬度的重疊部分。無需重疊部分時,就不必使之重疊。圖像分割部72輸出的分割圖像73a和73b分別提供給圖像處理 部74a和74b。圖像處理部74a和74b輸出分別與分割圖<象73a和73b 對應(yīng)的處理結(jié)果圖像75a和75b。處理結(jié)果圖像75a和75b沒有重疊 部分。處理結(jié)果圖像75a和75b,如圖29所示,以塊為單位,按A1,A2, A3, A4, Bl, B2, B3, B4的順序,分別輸出到編碼部。各編碼部保持從 圖像處理部輸入的順序進行編碼。從各編碼部分別得到JPEG數(shù)據(jù)76a 和76b。如對應(yīng)的圖像77a和77b所示,其順序不是正規(guī)順序。重排部將JPEG數(shù)據(jù)76a和76b合成為一個JPEG數(shù)據(jù),同時進 行重排。如對應(yīng)的圖像79和80所示,變?yōu)榕c原圖像的塊順序一致 的順序,而且以塊為單位進行重排,使兩個圖像按照與原圖像相同 的配置關(guān)系進行合成。對應(yīng)圖像79是按照編碼前格式的圖像,對應(yīng) 圖像80是按照圖像處理后格式的圖像。再有,在重排中,可以按照 上述方法刪除定界符,也可以留下定界符。圖28和圖29的結(jié)構(gòu)或處理,在圖像處理部單個處理性能不足 的場合,也可以通過使用多個圖像處理部來提高處理性能。在此例 中,圖像是左右分割的,但也可為上下分割或上下左右分割。接著,說明將本發(fā)明應(yīng)用于圖像旋轉(zhuǎn)處理和重排處理分階段進 行的情況的實施例。首先說明圖像旋轉(zhuǎn)、倒轉(zhuǎn)處理中重排的定義。所謂90度旋轉(zhuǎn),定義為將下述的n行m列的矩陣A重排為滿 足b『a(n+l - j)i的m行n列的矩陣B。矩陣A和B的各元素對應(yīng)于 圖像的一個像素,或者由多個像素組成的塊。<formula>formula see original document page 25</formula>
<formula>formula see original document page 26</formula>所謂180度旋轉(zhuǎn),定義為將上述的n行m列的矩陣A重排為滿 足b『a(n+l - i)(m+l - j)的m行n列的矩陣B。<formula>formula see original document page 26</formula>所謂270度旋轉(zhuǎn),定義為從上述的n行m列的矩陣A重排為滿 足b『aj(m+l - i)的m4亍n列的矩陣B。<formula>formula see original document page 26</formula>所謂左右倒轉(zhuǎn),定義為從上述的n行m列的矩陣A重排為滿足b『ai(m+l - j)的m行n列的矩陣B'<formula>formula see original document page 26</formula>所謂上下倒轉(zhuǎn),定義為從上述的n行m列的矩陣A重排為滿足 b『a(n+l - i)j的m行n列的矩陣B。<formula>formula see original document page 26</formula>現(xiàn)參照圖30就圖像旋轉(zhuǎn)處理,圖像旋轉(zhuǎn)180度,亦即上下左右
倒轉(zhuǎn)處理的一例進行說明。原圖像81由4個圖像處理塊組成,各圖 像處理塊由4個編碼塊組成。例如,Al, A2, A3, A4,...分別表示編 碼塊,Al ~ A4構(gòu)成一個圖像處理塊。同樣,Bl ~B4, Cl C4,D1 ~ D4分別構(gòu)成圖像處理塊。作為第一階段的處理,在原圖像81的各個處理塊內(nèi),進行180 度旋轉(zhuǎn),形成圖像82。例如,在由編碼塊A1~A4組成的圖像處理 塊中,位于對角位置上的兩個編碼塊Al和A4以及A2和A3對調(diào)位 置,圖像位置上下左右地對調(diào)。這樣的重排處理,可以通過將原圖 像81存入存儲器,控制從存儲器讀出圖像81時的地址來實現(xiàn)。另 外,可以在圖像處理的同時進行重排處理。在圖像處理塊內(nèi),接受了旋轉(zhuǎn)處理的圖像82,逐個圖像處理塊 地(A4, A3, A2, Al, C4, C3,....)輸入到編碼部,進4亍JPEG編碼處 理,發(fā)生JPEG數(shù)據(jù)83。圖像84,表示與JPEG數(shù)據(jù)83的數(shù)據(jù)的順 序?qū)?yīng)的圖像。由于對應(yīng)圖像84與圖像82不同,故作為第二階段的處理,將JPEG 數(shù)據(jù)83重排為正規(guī)編碼順序,得到JPEG數(shù)據(jù)85。對應(yīng)圖像86,具 有與圖像82相同的數(shù)據(jù)配置,但不是上下左右倒轉(zhuǎn)的圖像。因此,作為第三階段的處理,以圖像處理塊為單位進行代碼重 排,使之變?yōu)樯舷伦笥业罐D(zhuǎn)的圖像,得到JPEG數(shù)據(jù)87。亦即,將 圖像處理塊看作是上述旋轉(zhuǎn)定義中的矩陣的一個元素。JPEG數(shù)據(jù) 87,在按照正規(guī)編碼順序而排列的場合,如對應(yīng)圖像88所示,得到 將原圖像81上下左右倒轉(zhuǎn)后的圖像。圖31表示將圖像上下左右倒轉(zhuǎn)處理的另一例。原圖像91與圖30 中的原圖像81相同。作為第一階段的處理,在編碼塊內(nèi),進行上下 左右倒轉(zhuǎn),形成處理結(jié)果的圖像92。第一階段的處理與圖像處理同 時進行。處理結(jié)果的圖像92在編碼部中編碼,得到JPEG數(shù)據(jù)93。圖像 94表示對應(yīng)于JPEG數(shù)據(jù)93的數(shù)據(jù)順序的圖像。由于圖像94與圖
像92不同,作為第二階段的處理,將JPEG數(shù)據(jù)93重排到正規(guī)編碼 順序,得到JPEG數(shù)椐95。對應(yīng)圖像96,具有與圖像92相同的數(shù)據(jù) 配置,但不是上下左右倒轉(zhuǎn)的圖像。因此,作為第三階段的處理,以編碼塊為單位進行代碼重排, 變?yōu)樯舷伦笥业罐D(zhuǎn)后的圖像,得到JPEG數(shù)據(jù)97。亦即,將編碼塊 看作是上述旋轉(zhuǎn)定義中的矩陣的一個元素。在JPEG數(shù)據(jù)97按照正 規(guī)編碼順序而配置的場合,如對應(yīng)圖像97所示,得到了將原圖像91 上下左右倒轉(zhuǎn)的圖像。再有,已經(jīng)就180度旋轉(zhuǎn)的例作了具體的說明,但是同樣也可 以進行90度旋轉(zhuǎn)、上下倒轉(zhuǎn)等其他處理。如上所述,就重排后的編碼數(shù)據(jù)進行解碼的情況作了說明。圖32 表示解碼時不進行重排時的處理。按(1—4—2—5—3—6)的順序 對原圖像101進行圖像處理,按照正規(guī)的JPEG編碼順序 (1—2—3—4—5—6)對處理結(jié)果圖像進行編碼,得到JPEG數(shù)據(jù) 102。對JPEG數(shù)據(jù)102不進行重排而傳送到解碼側(cè)。在解碼側(cè),按輸出順序?qū)獯a圖像103進行圖像處理。結(jié)果是, 得到解碼圖像104。產(chǎn)生解碼圖像104與原圖像101不一致的問題。圖33說明在解碼側(cè)采用本發(fā)明的處理。從編碼側(cè)接收JPEG數(shù) 據(jù)106。圖像105是JPEG數(shù)據(jù)106的對應(yīng)圖像。對JPEG數(shù)據(jù)106 進行重排。進行與在編碼側(cè)進行的重排處理反方向的處理,得到JPEG 數(shù)據(jù)107。亦即,在解碼側(cè)的重排,是將編碼方法規(guī)定的正規(guī)處理方 向到圖像處理塊的處理方向的代碼重排。圖像108是JPEG數(shù)據(jù)107 的對應(yīng)圖像。JPEG數(shù)據(jù)107被輸出到解碼部,得到解碼圖像109。解碼圖像 109的塊以(1—2—3—4—5—6)的順序輸出。按輸出順序進行圖像 處理,得到處理結(jié)果圖像IIO。處理結(jié)果圖像110與原圖像(與圖像 105相同的排列) 一致。在解碼時的重排處理中,對預(yù)先插入了定界符的代碼進行重排說明書第25/25頁而解碼。在沒有定界符的場合,必須在重排之前進行插入定界符的 處理。與編碼時一樣,在解碼時還可以進行上下左右倒轉(zhuǎn)、旋轉(zhuǎn)等 處理。以上就本發(fā)明的實施例作了具體說明,但是本發(fā)明不限于上述 實施例,可基于本發(fā)明的技術(shù)思想有各種各樣的改變。例如,不限于數(shù)碼相機,本發(fā)明可應(yīng)用于設(shè)有JPEG或MPEG編碼裝置的圖像 記錄裝置、個人計算機、PDA(個人數(shù)字助理)、圖像傳送裝置、便攜 終端、便攜式電話等。
權(quán)利要求
1.一種圖像處理裝置,在編碼部以預(yù)定的編碼單位對圖像處理部處理后的圖像數(shù)據(jù)進行編碼,其中設(shè)有重排部,所述編碼部按從圖像處理部輸出的數(shù)據(jù)順序進行編碼,所述重排部進行從所述圖像處理部的處理方向到所述編碼部的編碼方法規(guī)定的正規(guī)處理方向的重排。
2. 權(quán)利要求1的圖像處理裝置,其中所述重排部,在所述圖像處理部輸出的數(shù)據(jù)內(nèi),以將與所述正規(guī) 處理方向 一致的數(shù)據(jù)單位編碼后的編碼數(shù)據(jù)為單位進行重排。
3. 權(quán)利要求1的圖像處理裝置,其中與所述正規(guī)處理方向一致的數(shù)據(jù)單位的長度有多個種類,所述多 個種類長度的合計與圖像寬度一致。
4. 權(quán)利要求1的圖像處理裝置,其中所述圖像處理部輸出的數(shù)據(jù)單位,其長度和寬度均為所述編碼部 的編碼單位的整倍數(shù)。
5. 權(quán)利要求1的圖像處理裝置,其中所迷編碼部是進行數(shù)據(jù)壓縮和可變長編碼的編碼器,在將與所述 正規(guī)處理方向 一致的數(shù)據(jù)單位編碼后的編碼數(shù)據(jù)的每一個中插入具有 預(yù)先規(guī)定的值的定界符。
6. 權(quán)利要求5的圖像處理裝置,其中所述編碼部,在所述定界符之后,以與所述正規(guī)處理方向一致的 單位,輸出獨立于其他所述單位的代碼。
7. 權(quán)利要求5的圖像處理裝置,其中 所述重排部改寫所述定界符的值。
8. 權(quán)利要求5的圖像處理裝置,其中所述編碼部是JPEG編碼器,所述重排部刪除定界符并改變跟隨 其后的宏塊的DC系數(shù)符號。
9. 權(quán)利要求l的圖像處理裝置,其中將所述圖像處理部的處理單位視為一個圖像進行編碼,從而生成 多個編碼數(shù)據(jù),將與所述正規(guī)處理方向 一致的單位的所述編碼數(shù)據(jù)讀 出,并重排所讀出的所述編碼數(shù)據(jù)。
10. 權(quán)利要求9的圖像處理裝置,其中 所述多個編碼數(shù)據(jù)的開始位置設(shè)定為等間隔的存儲器地址。
11. 一種圖像處理裝置,設(shè)有圖像處理部,在由多個編碼單位組成的圖像處理塊內(nèi),進行圖像 旋轉(zhuǎn)或倒轉(zhuǎn)的第一階段的處理,輸出第一階段的處理后數(shù)據(jù);編碼部,按照從所述圖像處理部輸出的數(shù)據(jù)順序,且以預(yù)定的編 碼單位進4于編碼;第一重排部,進行從所述圖像處理部的處理方向到所述編碼部的 編碼方法規(guī)定的正規(guī)處理方向的重排的第二階段的處理;以及第二重排部,將圖像處理單位視為一個要素,對第二階段的處理 后的數(shù)據(jù)進行預(yù)定的旋轉(zhuǎn)或倒轉(zhuǎn)的第三階段的處理。
12. —種圖像處理裝置,設(shè)有圖像處理部,在預(yù)定的編碼單位內(nèi),進行圖像旋轉(zhuǎn)或倒轉(zhuǎn)的第一 階段的處理,并輸出所述第一階段的處理后的數(shù)據(jù);編碼部,按照從圖像處理部輸出的數(shù)據(jù)順序,且以所述編碼單位 進行編碼;第 一重排部,進行從所述圖像處理部的處理方向到所述編碼部的 編碼方法規(guī)定的正規(guī)處理方向的重排的第二階段的處理;以及第二重排部,將編碼單位視為一個要素,進行對第二階段的處理 后數(shù)據(jù)進行預(yù)定的旋轉(zhuǎn)或倒轉(zhuǎn)的第三階段的處理。
13. —種圖像處理方法,在編碼部以預(yù)定的編碼單位對圖像處理 部處理后的圖像數(shù)據(jù)進行編碼,包括以下步驟編碼步驟,按從圖像處理部輸出的數(shù)據(jù)順序進行編碼;以及 重排步驟,進行從所述圖像處理部的處理方向到所述編碼規(guī)定的 正規(guī)處理方向的重排。
14. 一種令計算機執(zhí)行圖像處理方法的程序,所述方法中,由編 碼部以預(yù)定的編碼單位對圖像處理部處理的圖像數(shù)據(jù)進行編碼,具有 以下步驟編碼步驟,按從圖像處理部輸出的數(shù)據(jù)順序進行編碼;以及 重排步驟,進行從圖像處理部的處理方向到所述編碼,見定的正關(guān)見 處理方向的重排。
15. —種攝像裝置,其中包括對用攝像元件拍攝的圖像數(shù)據(jù)進行圖像處理的圖像處理部;以及以預(yù)定的編碼單位對圖像處理部所處理的圖像數(shù)據(jù)進行編碼的編碼部,其中設(shè)有重排部, 編碼部按照圖像處理部輸出的數(shù)據(jù)順序進行編碼,所述重排部進行從圖像處理部的處理方向到所述編碼部的編碼方 法規(guī)定的正規(guī)處理方向的重排。
全文摘要
無需使用外部存儲器即可將數(shù)據(jù)從圖像處理部傳輸?shù)骄幋a部。另外,有可能通過帶寬比外部存儲器寬的內(nèi)部傳輸,進行高速處理。原圖像的整個圖像41分割為6個(64×4)像素塊。各塊逐個進行放大處理。按照所附序號1,2,3,…的順序,讀出各塊數(shù)據(jù)。用尺寸變更部對第一塊進行處理,生成(128×8)像素的塊42的圖像數(shù)據(jù)。從該圖像數(shù)據(jù)42讀出(16×8)像素的宏塊43的單位,并進行編碼,得到JPEG數(shù)據(jù)44。代碼重排部以塊為單位重排JPEG數(shù)據(jù)46的順序,生成JPEG數(shù)據(jù)48。對該順序的JPEG數(shù)據(jù)48進行解碼,可得到與原圖像區(qū)域41塊順序一致的解碼圖像49。
文檔編號H04N1/41GK101107838SQ20068000311
公開日2008年1月16日 申請日期2006年1月12日 優(yōu)先權(quán)日2005年1月26日
發(fā)明者加藤文昭, 坂井謙一, 尾崎浩治 申請人:索尼株式會社