JPH08161507A - 画像処理装置およびその方法 - Google Patents
画像処理装置およびその方法Info
- Publication number
- JPH08161507A JPH08161507A JP30606394A JP30606394A JPH08161507A JP H08161507 A JPH08161507 A JP H08161507A JP 30606394 A JP30606394 A JP 30606394A JP 30606394 A JP30606394 A JP 30606394A JP H08161507 A JPH08161507 A JP H08161507A
- Authority
- JP
- Japan
- Prior art keywords
- difference
- value
- comparison result
- code
- holding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Image Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】
【目的】 コンピュータ作成画像を劣化させることなく
高い圧縮率で圧縮する画像処理装置およびその方法を提
供する。 【構成】 減算器202は画素d[i]と画素d[i-1]との差
diffを出力する。F/F204はdiffに応じてその保持値g
radをdiffに更新する。比較器205はdiffとgradとを
比較した結果codegradを出力する。F/F207はdiffとc
odegradとに応じてその保持値col1をd[i-1]に更新す
る。比較器208はd[i]とcol1とを比較した結果code1
を出力する。F/F209はdiffとcodegradとcode1とに応
じてその保持値col2をcol1に更新する。比較器210は
d[i]とcol2とを比較した結果code2を出力する。符号割
当部211は、diffの下位24ビットを論理和したcode0
およびcodegrad,code1,code2に基づいて、符号を出力す
る。
高い圧縮率で圧縮する画像処理装置およびその方法を提
供する。 【構成】 減算器202は画素d[i]と画素d[i-1]との差
diffを出力する。F/F204はdiffに応じてその保持値g
radをdiffに更新する。比較器205はdiffとgradとを
比較した結果codegradを出力する。F/F207はdiffとc
odegradとに応じてその保持値col1をd[i-1]に更新す
る。比較器208はd[i]とcol1とを比較した結果code1
を出力する。F/F209はdiffとcodegradとcode1とに応
じてその保持値col2をcol1に更新する。比較器210は
d[i]とcol2とを比較した結果code2を出力する。符号割
当部211は、diffの下位24ビットを論理和したcode0
およびcodegrad,code1,code2に基づいて、符号を出力す
る。
Description
【0001】
【産業上の利用分野】本発明は画像処理装置およびその
方法に関し、例えば、画像データを圧縮する画像処理装
置およびその方法に関するものである。
方法に関し、例えば、画像データを圧縮する画像処理装
置およびその方法に関するものである。
【0002】
【従来の技術】コンピュータ上で画像を作成するDTPな
ど分野においては、高画質な画像が要求され、その結果
カラー化や多階調化が進んでいる。この種の画像の情報
量は、例えば、A4サイズ400dpi256階調三原色の場合で
約46Mバイトにもなる。画像データをページ記述言語
(以下「PDL(Page Discription Language)」という)な
どのコード情報として扱えば情報量は少なくなるが、コ
ード情報から画像データへの展開に時間がかかる上に、
展開された画像データから情報量の少ない元のコード情
報を生成できないという問題点があり、そのため画像デ
ータの圧縮技術が重要になる。
ど分野においては、高画質な画像が要求され、その結果
カラー化や多階調化が進んでいる。この種の画像の情報
量は、例えば、A4サイズ400dpi256階調三原色の場合で
約46Mバイトにもなる。画像データをページ記述言語
(以下「PDL(Page Discription Language)」という)な
どのコード情報として扱えば情報量は少なくなるが、コ
ード情報から画像データへの展開に時間がかかる上に、
展開された画像データから情報量の少ない元のコード情
報を生成できないという問題点があり、そのため画像デ
ータの圧縮技術が重要になる。
【0003】カラー多値画像の一般的な圧縮方法として
は、JPEG(Joint Photographic Expert Group)が推奨す
るADCT(Adaptive Discrete Cosine Transform)方式によ
る圧縮法がある。このADCT圧縮法を以下に説明する。
は、JPEG(Joint Photographic Expert Group)が推奨す
るADCT(Adaptive Discrete Cosine Transform)方式によ
る圧縮法がある。このADCT圧縮法を以下に説明する。
【0004】図1はADCT圧縮装置の機能構成を示すブロ
ック図である。
ック図である。
【0005】同図において、3101は色空間変換部
で、NTSC方式のRGB色空間を、輝度信号Yと二つの色差信
号Cr,Cbとで表されるYCrCb色空間に変換する。
で、NTSC方式のRGB色空間を、輝度信号Yと二つの色差信
号Cr,Cbとで表されるYCrCb色空間に変換する。
【0006】3102はサブサンプリング部で、人間の
眼が輝度に敏感で色差に鈍感であるという特性を利用し
て、色差データの減少を行う。具体的には、サブサンプ
リング部3102は、隣合う二つの色差データの平均値
をとって、色差データの量を1/2に減少させる。
眼が輝度に敏感で色差に鈍感であるという特性を利用し
て、色差データの減少を行う。具体的には、サブサンプ
リング部3102は、隣合う二つの色差データの平均値
をとって、色差データの量を1/2に減少させる。
【0007】3103はDCT部で、サブサンプリング部
3102から出力された画像データを、水平および垂直
方向に隣合う8×8のブロックに分割し、さらに、DCT
(離散コサイン変換)を施して周波数空間データに変換
する。
3102から出力された画像データを、水平および垂直
方向に隣合う8×8のブロックに分割し、さらに、DCT
(離散コサイン変換)を施して周波数空間データに変換
する。
【0008】3104は量子化部で、8×8=64個の各DCT
係数を、ステップ幅の異なった量子化値で除して量子化
データにする。
係数を、ステップ幅の異なった量子化値で除して量子化
データにする。
【0009】3105はハフマン符号化部で、量子化部
3104から出力された64個の量子化DCT係数を、一個
のDC係数と63個のAC係数とに分け、各係数をJPEG推奨の
ハフマンテーブルに従って符号化する。符号化されたデ
ータは、量子化テーブルデータ,ハフマンテーブルデー
タなどからなるヘッダを添付した上、メモリへ蓄積され
るか他の装置へ送信される。
3104から出力された64個の量子化DCT係数を、一個
のDC係数と63個のAC係数とに分け、各係数をJPEG推奨の
ハフマンテーブルに従って符号化する。符号化されたデ
ータは、量子化テーブルデータ,ハフマンテーブルデー
タなどからなるヘッダを添付した上、メモリへ蓄積され
るか他の装置へ送信される。
【0010】図2はADCT伸長装置の機能構成を示すブロ
ック図である。
ック図である。
【0011】同図において、3205はハフマン復号部
で、入力された符号データを復号して量子化データにす
る。
で、入力された符号データを復号して量子化データにす
る。
【0012】3204は逆量子化部で、復号された量子
化データをDCT係数データに変換する。これは、量子化
部3104で量子化する際に使用した量子化テーブルを
用いて、64個の各係数へ量子化値を乗ずることにより得
られる。
化データをDCT係数データに変換する。これは、量子化
部3104で量子化する際に使用した量子化テーブルを
用いて、64個の各係数へ量子化値を乗ずることにより得
られる。
【0013】3203は逆DCT変換部で、逆量子化され
たDCT係数データに逆DCTを施して実画像データにする。
たDCT係数データに逆DCTを施して実画像データにする。
【0014】3202は補間部で、逆DCTされた画像デ
ータに欠落している色差データを単純繰返法によって補
間する。なお、色差データの欠落は、データ圧縮時にサ
ブサンプリング部3102において生じたものである。
ータに欠落している色差データを単純繰返法によって補
間する。なお、色差データの欠落は、データ圧縮時にサ
ブサンプリング部3102において生じたものである。
【0015】3201は色空間変換部で、補間されたYC
rCb色空間データをNTSC-RGB色空間データまたはそのデ
バイスの色空間データに変換する。
rCb色空間データをNTSC-RGB色空間データまたはそのデ
バイスの色空間データに変換する。
【0016】次に、ADCT画像圧縮装置の処理の流れを実
際のデータを示して説明する。
際のデータを示して説明する。
【0017】図3はコンピュータにより作成されたカラ
ー多値画像の画像データの一部を示す図である。同図に
示されているのはNTSC-RGBのデータで、カラー多値画像
の文字部分を展開した画像データの一部分(16画素×16
画素)である。
ー多値画像の画像データの一部を示す図である。同図に
示されているのはNTSC-RGBのデータで、カラー多値画像
の文字部分を展開した画像データの一部分(16画素×16
画素)である。
【0018】同図において、3301は赤(R)データ、
3302は緑(G)データ、3303は青(B)データをそれ
ぞれ示し、各画素のデータレンジは8ビットであり、同
図は(R,G,B)=(225,225,225)のやや暗い白の下地に(R,G,
B)=(30,30,225)の青色の文字の一部が描かれている。
3302は緑(G)データ、3303は青(B)データをそれ
ぞれ示し、各画素のデータレンジは8ビットであり、同
図は(R,G,B)=(225,225,225)のやや暗い白の下地に(R,G,
B)=(30,30,225)の青色の文字の一部が描かれている。
【0019】色空間変換部3101は、次式によって、
NTSC-RGB色空間からYCrCb色空間への変換を実行する。 Y = 0.299×R + 0.587×G + 0.114×B Cr = 0.713(R - Y) Cb = 0.564(B - Y)
NTSC-RGB色空間からYCrCb色空間への変換を実行する。 Y = 0.299×R + 0.587×G + 0.114×B Cr = 0.713(R - Y) Cb = 0.564(B - Y)
【0020】さらにCCIRの勧告により、YCrCb色空間で
の演算時のオーバシュート,アンダーシュートを許容す
るため、次式によりデータを丸める。 Y = 219.0×Y + 16.5 Cr = 224.0×Cr + 128.5 Cb = 224.0×Cb + 128.5
の演算時のオーバシュート,アンダーシュートを許容す
るため、次式によりデータを丸める。 Y = 219.0×Y + 16.5 Cr = 224.0×Cr + 128.5 Cb = 224.0×Cb + 128.5
【0021】サブサンプリング部3102は、上述の各
式により得られたCr,Cbデータに対してサブサンプリン
グを行う。サブサンプリング法としては、単純間引き,
MAXデータ選択,MINデータ選択などがあるが、ここでは
平均値法、つまり連続した二画素のデータの平均値を一
つのデータとする例を説明する。
式により得られたCr,Cbデータに対してサブサンプリン
グを行う。サブサンプリング法としては、単純間引き,
MAXデータ選択,MINデータ選択などがあるが、ここでは
平均値法、つまり連続した二画素のデータの平均値を一
つのデータとする例を説明する。
【0022】図4は図3に示した画像データを色変換部
3101とサブサンプリング部3102で処理した結果
を示す図である。
3101とサブサンプリング部3102で処理した結果
を示す図である。
【0023】同図において、3401はYデータ、34
02はCrデータ、3403はCbデータであり、Cr,Cbの
各データサイズはサブサンプリングによって1/2に減少
している。
02はCrデータ、3403はCbデータであり、Cr,Cbの
各データサイズはサブサンプリングによって1/2に減少
している。
【0024】次に、図4に示したYCrCbデータはDCT部3
103へ入力される。DCT部3103は、まず、入力さ
れたデータを水平および垂直に隣合う8×8データのブロ
ックに分ける。このブロック化によって、図4に示すよ
うに、Yデータ3401は3401aから3401dの
四つのブロックに分割され、同様に、Crデータ3402
は3402aと3402bの二つのブロックに、Cbデー
タ3403は3403aと3403bの二つのブロック
に分割される。続いて、DCT部3103は、これら八個
の各ブロックに対してDCTを実行する。
103へ入力される。DCT部3103は、まず、入力さ
れたデータを水平および垂直に隣合う8×8データのブロ
ックに分ける。このブロック化によって、図4に示すよ
うに、Yデータ3401は3401aから3401dの
四つのブロックに分割され、同様に、Crデータ3402
は3402aと3402bの二つのブロックに、Cbデー
タ3403は3403aと3403bの二つのブロック
に分割される。続いて、DCT部3103は、これら八個
の各ブロックに対してDCTを実行する。
【0025】図5は図4の八個のブロックをDCTした様
子を示す図である。
子を示す図である。
【0026】同図において、3501はYデータ340
1をDCTしたデータを示し、四つのブロック3501a
から3501dは、それぞれブロック3401aから3
401dに対応する。同様に、3502はCrデータ34
02をDCTしたデータ、3503はCbデータ3403のD
CTしたデータを示している。なお、DCT後の各ブロック
は、左上隅の一個のDC成分と、その他63個のAC成分とで
構成される。
1をDCTしたデータを示し、四つのブロック3501a
から3501dは、それぞれブロック3401aから3
401dに対応する。同様に、3502はCrデータ34
02をDCTしたデータ、3503はCbデータ3403のD
CTしたデータを示している。なお、DCT後の各ブロック
は、左上隅の一個のDC成分と、その他63個のAC成分とで
構成される。
【0027】次に、DCT変換後のデータ3501から3
503は、量子化部3104において量子化される。こ
の量子化には、図6に示すJPEGが推奨する量子化テーブ
ルを使用する。同図の4001はY成分用、4002はC
rおよびCb成分用である。
503は、量子化部3104において量子化される。こ
の量子化には、図6に示すJPEGが推奨する量子化テーブ
ルを使用する。同図の4001はY成分用、4002はC
rおよびCb成分用である。
【0028】図7は図5に示したDCT係数データを量子
化したデータを示す図で、3601は量子化後のYデー
タ、3602は量子化後のCrデータ、3603は量子化
後のCbデータである。
化したデータを示す図で、3601は量子化後のYデー
タ、3602は量子化後のCrデータ、3603は量子化
後のCbデータである。
【0029】量子化後のデータ3601から3603
は、ハフマン符号化部3105でDC成分とAC成分に分け
られた後、DC成分は、前のブロックのDC成分との差分の
ヒストグラムから最適ハフマン符号化テーブルが作成さ
れて、そのテーブルにより符号化される。また、AC成分
は、図8に示すようなジグザグスキャンによってその並
び順の入替えが行われた後、係数0のランレングス(0以
外の係数xが現れるまでの係数0の連続数)と、その値x
との組合せのヒストグラムから最適ハフマン符号化テー
ブルが作成されて、そのテーブルにより符号化される。
は、ハフマン符号化部3105でDC成分とAC成分に分け
られた後、DC成分は、前のブロックのDC成分との差分の
ヒストグラムから最適ハフマン符号化テーブルが作成さ
れて、そのテーブルにより符号化される。また、AC成分
は、図8に示すようなジグザグスキャンによってその並
び順の入替えが行われた後、係数0のランレングス(0以
外の係数xが現れるまでの係数0の連続数)と、その値x
との組合せのヒストグラムから最適ハフマン符号化テー
ブルが作成されて、そのテーブルにより符号化される。
【0030】この時点で、NTSC-RGBにおける16×16画素
のデータ795ビットに圧縮される。つまり、一画素が8ビ
ットのレンジをもつので、次式に示すように、6,144ビ
ットであった原画像データは、約1/7.7に圧縮されたこ
とになる。 16×16×3(色)×8ビット = 6,144ビット 6,144 / 795≒7.7
のデータ795ビットに圧縮される。つまり、一画素が8ビ
ットのレンジをもつので、次式に示すように、6,144ビ
ットであった原画像データは、約1/7.7に圧縮されたこ
とになる。 16×16×3(色)×8ビット = 6,144ビット 6,144 / 795≒7.7
【0031】ただし、実際は、この符号データに画像サ
イズ,量子化テーブル,符号化テーブルなどが添付され
るので、圧縮率は若干低下する。
イズ,量子化テーブル,符号化テーブルなどが添付され
るので、圧縮率は若干低下する。
【0032】次に、ADCTデータ伸長装置の処理の流れを
説明する。
説明する。
【0033】ADCT圧縮法により処理された画像データ
は、ハフマン復号部3205に入力されて復号される。
逆量子化部3204は、復号されたデータに対して、図
6に示した量子化テーブルの係数を乗算することによ
り、逆量子化の処理を実行する。
は、ハフマン復号部3205に入力されて復号される。
逆量子化部3204は、復号されたデータに対して、図
6に示した量子化テーブルの係数を乗算することによ
り、逆量子化の処理を実行する。
【0034】以上の処理によって図9に示すようなデー
タが得られる。図9は前述したADCT圧縮法により得られ
たデータに対して、ハフマン復号処理および逆量子化処
理を実行して得られるデータで、3701はY成分を、
3702はCr成分を、3703はCb成分をそれぞれ示
す。この逆量子化して得られたデータと、図5に示した
圧縮前のデータ(DCT係数)とを比較すれば、両者が異
なっていることは明らかである。
タが得られる。図9は前述したADCT圧縮法により得られ
たデータに対して、ハフマン復号処理および逆量子化処
理を実行して得られるデータで、3701はY成分を、
3702はCr成分を、3703はCb成分をそれぞれ示
す。この逆量子化して得られたデータと、図5に示した
圧縮前のデータ(DCT係数)とを比較すれば、両者が異
なっていることは明らかである。
【0035】次に、図9のデータを逆DCT変換部320
3でYCrCbデータに変換する。図10はその変換結果のY
CrCbデータを示す図で、3801はY成分データを、3
802はCr成分データを、3803はCb成分データをそ
れぞれ示す。
3でYCrCbデータに変換する。図10はその変換結果のY
CrCbデータを示す図で、3801はY成分データを、3
802はCr成分データを、3803はCb成分データをそ
れぞれ示す。
【0036】そして、図33のYcrCbデータは、補間部
3202で色差データの欠落が補間され、色空間変換部
3201においてNTSC-RGB空間のデータに変換される。
図11はデータ伸長処理により最終的に得られたデータ
を示す図である。
3202で色差データの欠落が補間され、色空間変換部
3201においてNTSC-RGB空間のデータに変換される。
図11はデータ伸長処理により最終的に得られたデータ
を示す図である。
【0037】
【発明が解決しようとする課題】しかし、上記従来例に
おいては、次のような問題点があった。
おいては、次のような問題点があった。
【0038】ADCT画像圧縮法は、サブサンプリング時お
よび量子化時に、データの損失を伴う不可逆圧縮法であ
る。従って、図3に示した圧縮前のNTSC-RGB色空間デー
タと、図11に示した図3のデータを圧縮し伸長した結
果のNTSC-RGB色空間データとを比較すれば明らかなよう
に、ADCT画像圧縮法において伸長されたデータは、圧縮
前のデータとは異なるものになってしまう。これは、画
質劣化が発生することを意味する。
よび量子化時に、データの損失を伴う不可逆圧縮法であ
る。従って、図3に示した圧縮前のNTSC-RGB色空間デー
タと、図11に示した図3のデータを圧縮し伸長した結
果のNTSC-RGB色空間データとを比較すれば明らかなよう
に、ADCT画像圧縮法において伸長されたデータは、圧縮
前のデータとは異なるものになってしまう。これは、画
質劣化が発生することを意味する。
【0039】また、DTPなどコンピュータ上で作成した
画像(コンピュータ作成画像)は、アウトラインが奇麗
なことや、一図形(または一文字)単一色によるノイズ
のない色塗りが、その長所である。ところが、ADCT画像
圧縮法によって画像データを圧縮伸長すると、図形のア
ウトラインの乱れ、モスキートノイズと呼ばれる疑似エ
ッジの発生、量子化による着色などが発生して、コンピ
ュータ作成画像の長所が発揮されない。とくに、上述し
た圧縮法は8×8ブロック処理であるために、その境界域
では大幅な色変化が発生する。
画像(コンピュータ作成画像)は、アウトラインが奇麗
なことや、一図形(または一文字)単一色によるノイズ
のない色塗りが、その長所である。ところが、ADCT画像
圧縮法によって画像データを圧縮伸長すると、図形のア
ウトラインの乱れ、モスキートノイズと呼ばれる疑似エ
ッジの発生、量子化による着色などが発生して、コンピ
ュータ作成画像の長所が発揮されない。とくに、上述し
た圧縮法は8×8ブロック処理であるために、その境界域
では大幅な色変化が発生する。
【0040】また、ADCT画像圧縮法で、さらに圧縮率を
上げようとすると、最終的には、DCT係数のAC成分が失
われてブロック歪が発生し、例えば解像度が1/8になる
ような極端な解像度の劣化が発生する。
上げようとすると、最終的には、DCT係数のAC成分が失
われてブロック歪が発生し、例えば解像度が1/8になる
ような極端な解像度の劣化が発生する。
【0041】このため、画質の劣化が目立たない程度の
量子化に抑えて圧縮することも考えられるが、もともと
高周波域のデータが多いことを特徴とするコンピュータ
作成画像であるため、圧縮率において実用的でない。従
って、DTPなどのコンピュータで作成した画像は、可逆
で圧縮率の高い圧縮方法で圧縮する必要がある。
量子化に抑えて圧縮することも考えられるが、もともと
高周波域のデータが多いことを特徴とするコンピュータ
作成画像であるため、圧縮率において実用的でない。従
って、DTPなどのコンピュータで作成した画像は、可逆
で圧縮率の高い圧縮方法で圧縮する必要がある。
【0042】一方、可逆圧縮法としては、同じデータが
続いた長さを圧縮するランレングス圧縮的なものが考え
られる。多値画像データに対するランレングス圧縮法と
しては、同じ画素が何画素続いたかを示すハフマンコー
ドの次に、その画素データを添付するものがある。この
ような圧縮法は、図12(a)に示すような古典的コン
ピュータ作成画像を処理すると、13を示すハフマンコー
ドの後にデータAを、5を示すハフマンコードの後にデー
タBを、8を示すハフマンコードの後にデータCを添付す
ることによって、同図(b)に示すようにかなりの圧縮
率を達成できる。
続いた長さを圧縮するランレングス圧縮的なものが考え
られる。多値画像データに対するランレングス圧縮法と
しては、同じ画素が何画素続いたかを示すハフマンコー
ドの次に、その画素データを添付するものがある。この
ような圧縮法は、図12(a)に示すような古典的コン
ピュータ作成画像を処理すると、13を示すハフマンコー
ドの後にデータAを、5を示すハフマンコードの後にデー
タBを、8を示すハフマンコードの後にデータCを添付す
ることによって、同図(b)に示すようにかなりの圧縮
率を達成できる。
【0043】しかし、連続してデータが変化する図12
(c)のような画像の場合、1を示すハフマンコードの
後にデータAを添付し、1を示すハフマンコードの後にデ
ータBを添付し、1を示すハフマンコードの後にデータC
を添付し、…になるので、結果的に元の画像データであ
る‘ABC…’以上のデータサイズになり、圧縮どころか
データサイズが膨らんでしまうこともある。
(c)のような画像の場合、1を示すハフマンコードの
後にデータAを添付し、1を示すハフマンコードの後にデ
ータBを添付し、1を示すハフマンコードの後にデータC
を添付し、…になるので、結果的に元の画像データであ
る‘ABC…’以上のデータサイズになり、圧縮どころか
データサイズが膨らんでしまうこともある。
【0044】本発明は、上述の問題を解決するためのも
のであり、コンピュータなどにより作成された多値画像
を、劣化させることなく高い圧縮率で圧縮する画像処理
装置およびその方法を提供することを目的とする。
のであり、コンピュータなどにより作成された多値画像
を、劣化させることなく高い圧縮率で圧縮する画像処理
装置およびその方法を提供することを目的とする。
【0045】
【課題を解決するための手段】および
【作用】本発明は、前記の目的を達成する一手段とし
て、以下の構成を備える。
て、以下の構成を備える。
【0046】本発明にかかる画像処理装置は、入力され
た第一の画素データと続いて入力された第二の画素デー
タとの差分を出力する差分手段と、予め所定値を保持
し、前記差分に応じてその保持する値を該差分に更新す
る第一の保持手段と、前記差分と前記第一の保持手段の
保持値とを比較して第一の比較結果を出力する第一の比
較手段と、予め所定値を保持し、前記差分と前記第一の
比較結果とに応じてその保持する値を前記第一の画素デ
ータに更新する第二の保持手段と、前記第二の画素デー
タと前記第二の保持手段の保持値とを比較して第二の比
較結果を出力する第二の比較手段と、予め所定値を保持
し、前記差分と前記第一の比較結果と前記第二の比較結
果とに応じてその保持する値を前記第二の保持手段の保
持値に更新する第三の保持手段と、前記第二の画素デー
タと前記第三の保持手段の保持値とを比較して第三の比
較結果を出力する第三の比較手段と、前記差分と前記第
一の比較結果と前記第二の比較結果と前記第三の比較結
果とに基づいて符号を出力する符号手段とを有すること
を特徴とする。
た第一の画素データと続いて入力された第二の画素デー
タとの差分を出力する差分手段と、予め所定値を保持
し、前記差分に応じてその保持する値を該差分に更新す
る第一の保持手段と、前記差分と前記第一の保持手段の
保持値とを比較して第一の比較結果を出力する第一の比
較手段と、予め所定値を保持し、前記差分と前記第一の
比較結果とに応じてその保持する値を前記第一の画素デ
ータに更新する第二の保持手段と、前記第二の画素デー
タと前記第二の保持手段の保持値とを比較して第二の比
較結果を出力する第二の比較手段と、予め所定値を保持
し、前記差分と前記第一の比較結果と前記第二の比較結
果とに応じてその保持する値を前記第二の保持手段の保
持値に更新する第三の保持手段と、前記第二の画素デー
タと前記第三の保持手段の保持値とを比較して第三の比
較結果を出力する第三の比較手段と、前記差分と前記第
一の比較結果と前記第二の比較結果と前記第三の比較結
果とに基づいて符号を出力する符号手段とを有すること
を特徴とする。
【0047】本発明にかかる画像処理方法は、入力され
た第一の画素データと続いて入力された第二の画素デー
タとの差分を出力する差分ステップと、前記差分に応じ
てその差分に更新される第一の保持値と、前記差分とを
比較して第一の比較結果を出力する第一の比較ステップ
と、前記差分と前記第一の比較結果とに応じて前記第一
の画素データに更新される第二の保持値と、前記第二の
画素データとを比較して第二の比較結果を出力する第二
の比較ステップと、前記差分と前記第一の比較結果と前
記第二の比較結果とに応じて前記第二の保持値に更新さ
れる第三の保持値と、前記第二の画素データとを比較し
て第三の比較結果を出力する第三の比較ステップと、前
記差分と前記第一の比較結果と前記第二の比較結果と前
記第三の比較結果とに基づいて符号を出力する符号ステ
ップとを有することを特徴とする。
た第一の画素データと続いて入力された第二の画素デー
タとの差分を出力する差分ステップと、前記差分に応じ
てその差分に更新される第一の保持値と、前記差分とを
比較して第一の比較結果を出力する第一の比較ステップ
と、前記差分と前記第一の比較結果とに応じて前記第一
の画素データに更新される第二の保持値と、前記第二の
画素データとを比較して第二の比較結果を出力する第二
の比較ステップと、前記差分と前記第一の比較結果と前
記第二の比較結果とに応じて前記第二の保持値に更新さ
れる第三の保持値と、前記第二の画素データとを比較し
て第三の比較結果を出力する第三の比較ステップと、前
記差分と前記第一の比較結果と前記第二の比較結果と前
記第三の比較結果とに基づいて符号を出力する符号ステ
ップとを有することを特徴とする。
【0048】また、入力された第一の画素データと続い
て入力された第二の画素データとの差分を出力する差分
ステップと、前記差分が所定値の場合は第一の符号を出
力する第一の符号ステップと、前記差分が前記所定値以
外で前記差分と第一の保持値と一致する場合は、第二の
符号を出力する第二の符号ステップと、前記差分と前記
第一の保持値とが不一致で前記第二の画素データと第二
の保持値とが一致する場合は、第三の符号を出力し、該
第二の保持値を前記第一の画素データに更新する第三の
符号ステップと、前記第二の画素データと前記第二の保
持値とが不一致で該第二の画素データと第三の保持値と
が一致する場合は、第四の符号を出力し、該第三の保持
値を該第二の保持値に更新し、該第二の保持値を前記第
一の画素データに更新する第四の符号ステップと、前記
第二の画素データと前記第三の保持値とが不一致の場合
は、第五の符号と続けて第二の画素データとを出力し、
該第三の保持値を該第二の保持値に更新し、該第二の保
持値を前記第一の画素データに更新する第五の符号ステ
ップと、前記差分と前記第一の保持値とが不一致の場
合、該差分が所定範囲内であれば該第一の保持値を該差
分に更新する差分更新ステップとを有することを特徴と
する。
て入力された第二の画素データとの差分を出力する差分
ステップと、前記差分が所定値の場合は第一の符号を出
力する第一の符号ステップと、前記差分が前記所定値以
外で前記差分と第一の保持値と一致する場合は、第二の
符号を出力する第二の符号ステップと、前記差分と前記
第一の保持値とが不一致で前記第二の画素データと第二
の保持値とが一致する場合は、第三の符号を出力し、該
第二の保持値を前記第一の画素データに更新する第三の
符号ステップと、前記第二の画素データと前記第二の保
持値とが不一致で該第二の画素データと第三の保持値と
が一致する場合は、第四の符号を出力し、該第三の保持
値を該第二の保持値に更新し、該第二の保持値を前記第
一の画素データに更新する第四の符号ステップと、前記
第二の画素データと前記第三の保持値とが不一致の場合
は、第五の符号と続けて第二の画素データとを出力し、
該第三の保持値を該第二の保持値に更新し、該第二の保
持値を前記第一の画素データに更新する第五の符号ステ
ップと、前記差分と前記第一の保持値とが不一致の場
合、該差分が所定範囲内であれば該第一の保持値を該差
分に更新する差分更新ステップとを有することを特徴と
する。
【0049】
【実施例】以下、本発明にかかる一実施例の画像処理装
置を図面を参照して詳細に説明する。
置を図面を参照して詳細に説明する。
【0050】コンピュータ作成画像には次の傾向があ
る。 ・第一の特徴として同じデータが続く ・第二の特徴としてデータが変化しても元のデータに戻
る ・第三の特徴としてグラデーションのように連続的に変
化する データは変化幅が一定である
る。 ・第一の特徴として同じデータが続く ・第二の特徴としてデータが変化しても元のデータに戻
る ・第三の特徴としてグラデーションのように連続的に変
化する データは変化幅が一定である
【0051】そこで、出現確率が高いデータは次のよう
になる。 1)前の画素d[i-1]と同じデータ(差分が零) 2)前の画素d[i-1]と異なるそれ以前のデータ(画素値変
化時のベクトルと逆のベクトル) 3)画素値変化時のベクトルと同じベクトル
になる。 1)前の画素d[i-1]と同じデータ(差分が零) 2)前の画素d[i-1]と異なるそれ以前のデータ(画素値変
化時のベクトルと逆のベクトル) 3)画素値変化時のベクトルと同じベクトル
【0052】すなわち、差分がプラス2の変化が発生し
たら、マイナス2とプラス2の変化(以前の色に戻る)が
起こりやすい。そして、次に起こりやすい事象(ケー
ス)に短い符号を割当てれば、データ圧縮が行えること
はいうまでもない。
たら、マイナス2とプラス2の変化(以前の色に戻る)が
起こりやすい。そして、次に起こりやすい事象(ケー
ス)に短い符号を割当てれば、データ圧縮が行えること
はいうまでもない。
【0053】図13はコンピュータ作成画像の一例と、
本実施例の符号化の一例を示す図で、縦軸はデータ(8
ビット/0〜255)を示し、横軸は空間軸である。
本実施例の符号化の一例を示す図で、縦軸はデータ(8
ビット/0〜255)を示し、横軸は空間軸である。
【0054】この図を使用して具体的なデータ圧縮の一
例を説明する。ここで、空間的変化を変数iで表し、そ
の時の画素値をd[i](0〜255)とし、同じ色を一塊とし
てインクリメントされる変数をk、色はA=0,B=96,C=192,
D0=16,D1=32,…とする。なお、画素値は8ビットとに限
らず、例えば、RGB24ビットでもCMYK32ビットでも、Lab
各12ビットの合計36ビットでも構わない。
例を説明する。ここで、空間的変化を変数iで表し、そ
の時の画素値をd[i](0〜255)とし、同じ色を一塊とし
てインクリメントされる変数をk、色はA=0,B=96,C=192,
D0=16,D1=32,…とする。なお、画素値は8ビットとに限
らず、例えば、RGB24ビットでもCMYK32ビットでも、Lab
各12ビットの合計36ビットでも構わない。
【0055】起こりやすい事象として次の三つの値を設
定する。 ・col1[k]: d[i-1]と異なる最も最近出現した色 ・col2[k]: d[i-1],col1と異なる最も最近出現した色 ・grad[k]: d[i]-d[i-1]によって算出されるベクトル
定する。 ・col1[k]: d[i-1]と異なる最も最近出現した色 ・col2[k]: d[i-1],col1と異なる最も最近出現した色 ・grad[k]: d[i]-d[i-1]によって算出されるベクトル
【0056】そして符号を次のように設定する。なお、
どれとも一致しなかった場合は色データを添付する。 ・d[i]=d[i-1]のとき :‘0’ ・d[i]=col1[k]のとき :‘10’ ・d[i]=col2[k]のとき :‘1100’ ・d[i]=d[i-1]+grad[k]のとき :‘1101’ ・どれとも一致しなかったとき :‘111’
どれとも一致しなかった場合は色データを添付する。 ・d[i]=d[i-1]のとき :‘0’ ・d[i]=col1[k]のとき :‘10’ ・d[i]=col2[k]のとき :‘1100’ ・d[i]=d[i-1]+grad[k]のとき :‘1101’ ・どれとも一致しなかったとき :‘111’
【0057】ここで説明するケースの数,符号および添
付データなどは一例であり、これに限定されるものでは
ない。例えば、起こりやすいケースcol1,col2,col3,…
を幾つ設定しても構わないし、符号もこれ以外の値でも
固定でなくても構わない。添付するデータは、そのデー
タから元の色データを算出できるものであれば何でもよ
く、例えば差分データでもよい。
付データなどは一例であり、これに限定されるものでは
ない。例えば、起こりやすいケースcol1,col2,col3,…
を幾つ設定しても構わないし、符号もこれ以外の値でも
固定でなくても構わない。添付するデータは、そのデー
タから元の色データを算出できるものであれば何でもよ
く、例えば差分データでもよい。
【0058】[圧縮手順]次に、本実施例の圧縮処理を
詳細に説明する。図14と図15は圧縮処理の手順例を
示すフローチャートである。
詳細に説明する。図14と図15は圧縮処理の手順例を
示すフローチャートである。
【0059】最初にステップS1で、d[0]=0,col1[1]=2
55,col2[1]=100,grad[1]=1として初期値を与えるが、こ
の限りではない。
55,col2[1]=100,grad[1]=1として初期値を与えるが、こ
の限りではない。
【0060】ステップS2で変数iとkに1を設定し、ス
テップS3で、i>全画素数か否かを判定して、i>全画素
数であれば圧縮処理を終了し、そうでなければステップ
S4で差分diff(=d[i]-d[i-1])を求め、ステップS5で
差分diffが零か否かを判定する。
テップS3で、i>全画素数か否かを判定して、i>全画素
数であれば圧縮処理を終了し、そうでなければステップ
S4で差分diff(=d[i]-d[i-1])を求め、ステップS5で
差分diffが零か否かを判定する。
【0061】差分diffが零の場合はステップS6で符号
code=‘0’とし、ステップS7で変数iをインクリメン
トした後、ステップS3へ戻る。
code=‘0’とし、ステップS7で変数iをインクリメン
トした後、ステップS3へ戻る。
【0062】一方、差分diffが零でない場合はステップ
S11へ進み、差分diffとグラデーション幅grad[k]と
を比較して、一致すればステップS12で符号code=‘1
101’とし、ステップS13でcol1[k+1],col2[k+1],gra
d[k+1]にそれぞれcol1[k],col2[k],grad[k]を代入し、
ステップS24で変数kをインクリメントした後、ステ
ップS7へ進む。ここで、col1およびcol2を変更しない
のは、グラデーションにおいては、通常のエッジと比べ
てデータが元に戻る性質が弱いので、col1,col2の値を
変更せずに昔の色データを保っていた方が、むしろ圧縮
効率がよいからである。勿論、col1,col2を変更しても
構わない。
S11へ進み、差分diffとグラデーション幅grad[k]と
を比較して、一致すればステップS12で符号code=‘1
101’とし、ステップS13でcol1[k+1],col2[k+1],gra
d[k+1]にそれぞれcol1[k],col2[k],grad[k]を代入し、
ステップS24で変数kをインクリメントした後、ステ
ップS7へ進む。ここで、col1およびcol2を変更しない
のは、グラデーションにおいては、通常のエッジと比べ
てデータが元に戻る性質が弱いので、col1,col2の値を
変更せずに昔の色データを保っていた方が、むしろ圧縮
効率がよいからである。勿論、col1,col2を変更しても
構わない。
【0063】また、diff≠grad[k]であればステップS
14で、d[i]とcol1[k]とを比較して、一致すればステ
ップS15で符号code=‘10’,col2[k+1]=col2[k]とし
た後、ステップS20へ進む。一致しない場合はステッ
プS16で、d[i]とcol2[k]とを比較して、一致すれば
ステップS17で符号code=‘1100’とし、不一致であ
ればステップS18で符号codeを‘111’と例えば8ビッ
トのd[i]とし、続くステップS19でcol2[k+1]にcol1
[k]を代入した後、ステップS20へ進む。
14で、d[i]とcol1[k]とを比較して、一致すればステ
ップS15で符号code=‘10’,col2[k+1]=col2[k]とし
た後、ステップS20へ進む。一致しない場合はステッ
プS16で、d[i]とcol2[k]とを比較して、一致すれば
ステップS17で符号code=‘1100’とし、不一致であ
ればステップS18で符号codeを‘111’と例えば8ビッ
トのd[i]とし、続くステップS19でcol2[k+1]にcol1
[k]を代入した後、ステップS20へ進む。
【0064】ステップS20でcol1[k+1]にd[i-1]を代
入し、ステップS21で差分の絶対値|diff|が32未満か
否かを判定して、そうであればステップS22でgrad[k
+1]にdiffを代入し、そうでなければステップS23でg
rad[k+1]にgrad[k]を代入し、ステップS24で変数kを
インクリメントした後、ステップS7へ進む。
入し、ステップS21で差分の絶対値|diff|が32未満か
否かを判定して、そうであればステップS22でgrad[k
+1]にdiffを代入し、そうでなければステップS23でg
rad[k+1]にgrad[k]を代入し、ステップS24で変数kを
インクリメントした後、ステップS7へ進む。
【0065】本実施例では、グラデーションは滑らかに
変化するものであるから、32以上のデータ差がある場合
はグラデーションではないと判断する。つまり、ステッ
プS21からS23で、下記のようにすることにより、
グラデーション上に文字があった場合などの文字エッジ
による色データ差に影響されずに、グラデーション幅gr
adを保持することができるので、結果的に圧縮率を向上
することができる。勿論、この条件を加えないで無条件
にgrad[k]を設定しても構わない。 |d[i]-d[i-1]|<32 の場合は grad[k]=diff |d[i]-d[i-1]|≧32 の場合は grad[k]=grad[k-1]
変化するものであるから、32以上のデータ差がある場合
はグラデーションではないと判断する。つまり、ステッ
プS21からS23で、下記のようにすることにより、
グラデーション上に文字があった場合などの文字エッジ
による色データ差に影響されずに、グラデーション幅gr
adを保持することができるので、結果的に圧縮率を向上
することができる。勿論、この条件を加えないで無条件
にgrad[k]を設定しても構わない。 |d[i]-d[i-1]|<32 の場合は grad[k]=diff |d[i]-d[i-1]|≧32 の場合は grad[k]=grad[k-1]
【0066】次ぎに図13から図15を参照して具体的
に圧縮処理を説明する。
に圧縮処理を説明する。
【0067】i=1〜5の期間はd[i]=d[i-1]であるのでス
テップS6を経て、 符号は‘0’ col1,col2,gradに変化なし
テップS6を経て、 符号は‘0’ col1,col2,gradに変化なし
【0068】d[6]はd[5],col1[1],col2[1],d[5]+grad
[1]のどれとも異なりステップS18を経て、 符号は‘111’と‘01100000’(=96) col1[2]=d[i-1]=0(=A) col2[2]=col1[1]=255 gradに変化なし
[1]のどれとも異なりステップS18を経て、 符号は‘111’と‘01100000’(=96) col1[2]=d[i-1]=0(=A) col2[2]=col1[1]=255 gradに変化なし
【0069】ここで、grad[2]=d[6]-d[5]=+92となると
ころだが、前述したように、グラデーションは滑らかに
変化するものであるから、32以上のデータ差がある場合
はグラデーションではないと判断する。
ころだが、前述したように、グラデーションは滑らかに
変化するものであるから、32以上のデータ差がある場合
はグラデーションではないと判断する。
【0070】i=7〜8の期間はd[i]=d[i-1]であるのでス
テップS6を経て、 符号は‘0’ col1,col2,gradに変化なし
テップS6を経て、 符号は‘0’ col1,col2,gradに変化なし
【0071】d[9]はcol1[2]=0と一致するのでステップ
S15で 符号は‘10’ col1[3]=d[8]=0(=A) col2,gradに変化なし
S15で 符号は‘10’ col1[3]=d[8]=0(=A) col2,gradに変化なし
【0072】i=10〜11の期間はd[i]=d[i-1]であるので
ステップS6を経て、 符号は‘0’ col1,col2,gradに変化なし
ステップS6を経て、 符号は‘0’ col1,col2,gradに変化なし
【0073】d[12]はd[11],col1[3],col2[3],d[11]+gra
d[3]のどれとも異なるのでステップS18を経て、 符号は‘111’と‘11000000’(=192) col1[4]=d[11]=0(=A) col2[4]=col1[3]=96(=B) |d[12]-d[11]|≧32だからgradに変化なし
d[3]のどれとも異なるのでステップS18を経て、 符号は‘111’と‘11000000’(=192) col1[4]=d[11]=0(=A) col2[4]=col1[3]=96(=B) |d[12]-d[11]|≧32だからgradに変化なし
【0074】i=13〜15の期間はd[i]=d[i-1]であるので
ステップS6を経て、 符号は‘0’ col1,col2,gradに変化なし
ステップS6を経て、 符号は‘0’ col1,col2,gradに変化なし
【0075】d[16]はcol2[4]=96と一致するのでステッ
プS17を経て、 符号は‘1100’ col1[5]=d[15]=192(=C) col2[5]=col1[4]=0(=A) |d[16]-d[15]|≧32だからgradに変化なし
プS17を経て、 符号は‘1100’ col1[5]=d[15]=192(=C) col2[5]=col1[4]=0(=A) |d[16]-d[15]|≧32だからgradに変化なし
【0076】d[17]=d[16]であるのでステップS6を経
て、 符号は‘0’ col1,col2,gradに変化なし
て、 符号は‘0’ col1,col2,gradに変化なし
【0077】d[18]はcol2[5]=0と一致するのでステップ
S17を経て、 符号は‘1100’ col1[6]=d[17]=96(=B) col2[6]=col1[5]=192(=C) |d[18]-d[17]|≧32だからgradに変化なし
S17を経て、 符号は‘1100’ col1[6]=d[17]=96(=B) col2[6]=col1[5]=192(=C) |d[18]-d[17]|≧32だからgradに変化なし
【0078】i=19〜22の期間はd[i]=d[i-1]であるので
ステップS6を経て、 符号は‘0’ col1,col2,gradに変化なし
ステップS6を経て、 符号は‘0’ col1,col2,gradに変化なし
【0079】d[23]はd[22],col1[6],col2[6],d[22]+gra
d[6]のどれとも異なるのでステップS18を経て、 符号は‘111’と‘00010000’(=16=D0) col1[7]=d[22]=0(=A) col2[7]=col1[6]=96(=B) d[23]-d[22]<32 だから grad[7]=d[23]-d[22]=+16
d[6]のどれとも異なるのでステップS18を経て、 符号は‘111’と‘00010000’(=16=D0) col1[7]=d[22]=0(=A) col2[7]=col1[6]=96(=B) d[23]-d[22]<32 だから grad[7]=d[23]-d[22]=+16
【0080】i=24〜29の期間d[i]はd[i-1]+grad[k]と一
致するのでステップS12を経て、 符号は‘1101’ col1,col2,gradに変化なし
致するのでステップS12を経て、 符号は‘1101’ col1,col2,gradに変化なし
【0081】なお、i=28において、d[28]はcol2[11]と
も一致(d[28]=col2[11]=96)するが、本実施例はグラデ
ーションを優先するので、グラデーションに一致したと
きの処理と同様として、col1,col2は変化させない。
も一致(d[28]=col2[11]=96)するが、本実施例はグラデ
ーションを優先するので、グラデーションに一致したと
きの処理と同様として、col1,col2は変化させない。
【0082】d[30]はcol1[13]=0と一致するのでステッ
プS15を経て、 符号は‘10’ col1[14]=d[13]=112(=D6) col2,gradに変化なし
プS15を経て、 符号は‘10’ col1[14]=d[13]=112(=D6) col2,gradに変化なし
【0083】d[31]=d[30]であるのでステップS6を経
て、 符号は‘0’ col1,col2,gradに変化なし
て、 符号は‘0’ col1,col2,gradに変化なし
【0084】d[32]はcol2[14]=96と一致するのでステッ
プS17を経て、 符号は‘1100’ col1[15]=d[31]=0(=A) col2[15]=col1[14]=112(=D6) gradに変化なし
プS17を経て、 符号は‘1100’ col1[15]=d[31]=0(=A) col2[15]=col1[14]=112(=D6) gradに変化なし
【0085】d[33]=d[32]であるのでステップS6を経
て、 符号は‘0’ col1,col2,gradに変化なし
て、 符号は‘0’ col1,col2,gradに変化なし
【0086】d[34]はcol1[15]=0と一致するのでステッ
プS15を経て、 符号は‘10’ col1[16]=d[33]=96(=B) col2,gradに変化なし
プS15を経て、 符号は‘10’ col1[16]=d[33]=96(=B) col2,gradに変化なし
【0087】d[35]はd[34],col1[16],col2[16],d[34]+g
rad[16]のどれとも異なるのでステップS18を経て、 符号は‘111’と‘11010000’(=208) col1[17]=d[34]=0(=A) col2[17]=col1[16]=96(=B) d[35]-d[34]≧32だからgradに変化なし
rad[16]のどれとも異なるのでステップS18を経て、 符号は‘111’と‘11010000’(=208) col1[17]=d[34]=0(=A) col2[17]=col1[16]=96(=B) d[35]-d[34]≧32だからgradに変化なし
【0088】i=36〜37の期間d[i]はd[i-1]+grad[k]と一
致するので、 符号は‘1101’ col1,col2,gradに変化なし
致するので、 符号は‘1101’ col1,col2,gradに変化なし
【0089】このように符号化することにより、i=1〜3
7の37画素の符号(符号1)は、‘/0/0/0/0/0/11101100
000/0/0/10 /0/0/11111000000/0/0/0/1100/0/1100/0/0/
0/0/11100010000/1101/1101/1101/1101/1101/1101 /10/
0/1100/0/10/11111010000/1101/1101’になる。なお、
‘/’は画素(または符号)の区切りを示すもので実際
の符号には含まれない。従って、図13の例では、8ビ
ット画素37個で合計296ビットが113ビットに圧縮された
ことになる。
7の37画素の符号(符号1)は、‘/0/0/0/0/0/11101100
000/0/0/10 /0/0/11111000000/0/0/0/1100/0/1100/0/0/
0/0/11100010000/1101/1101/1101/1101/1101/1101 /10/
0/1100/0/10/11111010000/1101/1101’になる。なお、
‘/’は画素(または符号)の区切りを示すもので実際
の符号には含まれない。従って、図13の例では、8ビ
ット画素37個で合計296ビットが113ビットに圧縮された
ことになる。
【0090】[伸長手順]次に、本実施例の伸長処理を
詳細に説明する。図16と図17は伸長処理の手順例を
示すフローチャートである。
詳細に説明する。図16と図17は伸長処理の手順例を
示すフローチャートである。
【0091】最初にステップS31で圧縮時と同じd[0]
=0,col1[1]=255,col2[1]=100,grad[1]=1という初期値を
与え、ステップS32で変数iとkに1を設定し、ステッ
プS33で、i>全画素数か否かを判定して、i>全画素数
であれば伸長処理を終了し、そうでなければステップS
34で符号codeが‘0’か否かを判定する。
=0,col1[1]=255,col2[1]=100,grad[1]=1という初期値を
与え、ステップS32で変数iとkに1を設定し、ステッ
プS33で、i>全画素数か否かを判定して、i>全画素数
であれば伸長処理を終了し、そうでなければステップS
34で符号codeが‘0’か否かを判定する。
【0092】符号codeが‘0’の場合はステップS35
でd[i]にd[i-1]を代入し、ステップS36で変数iをイ
ンクリメントした後、ステップS33へ戻る。
でd[i]にd[i-1]を代入し、ステップS36で変数iをイ
ンクリメントした後、ステップS33へ戻る。
【0093】一方、符号codeが‘0’でない場合はステ
ップS41へ進み、符号codeが‘1101’であればステッ
プS42でd[i]にd[i-1]+grad[k]を代入し、ステップS
43でcol1[k+1],col2[k+1],grad[k+1]にそれぞれcol1
[k],col2[k],grad[k]を代入し、ステップS55で変数k
をインクリメントした後、ステップS36へ進む。
ップS41へ進み、符号codeが‘1101’であればステッ
プS42でd[i]にd[i-1]+grad[k]を代入し、ステップS
43でcol1[k+1],col2[k+1],grad[k+1]にそれぞれcol1
[k],col2[k],grad[k]を代入し、ステップS55で変数k
をインクリメントした後、ステップS36へ進む。
【0094】また、code≠‘1101’の場合は、ステップ
S44でcode=‘10’であればステップS45でd[i]=co
l1[k],col2[k+1]=col2[k]とした後、ステップS50へ
進む。code≠‘10’の場合は、ステップS46でcode=
‘1100’であばステップS47でd[i]にcol2[k]を代入
し、code≠‘1100’であればステップS48で続く例え
ば8ビットの色データをd[i]に代入し、続くステップS
49でcol2[k+1]にcol1[k]を代入した後、ステップS5
0へ進む。
S44でcode=‘10’であればステップS45でd[i]=co
l1[k],col2[k+1]=col2[k]とした後、ステップS50へ
進む。code≠‘10’の場合は、ステップS46でcode=
‘1100’であばステップS47でd[i]にcol2[k]を代入
し、code≠‘1100’であればステップS48で続く例え
ば8ビットの色データをd[i]に代入し、続くステップS
49でcol2[k+1]にcol1[k]を代入した後、ステップS5
0へ進む。
【0095】ステップS50でcol1[k+1]にd[i]を代入
し、ステップS51で差分diff(=d[i]-d[i-1])を求め、
ステップS52で絶対値|diff|が32未満か否かを判定し
て、そうであればステップS53でgrad[k+1]にdiffを
代入し、そうでなければステップS54でgrad[k+1]にg
rad[k]を代入し、ステップS55で変数kをインクリメ
ントした後、ステップS36へ進む。
し、ステップS51で差分diff(=d[i]-d[i-1])を求め、
ステップS52で絶対値|diff|が32未満か否かを判定し
て、そうであればステップS53でgrad[k+1]にdiffを
代入し、そうでなければステップS54でgrad[k+1]にg
rad[k]を代入し、ステップS55で変数kをインクリメ
ントした後、ステップS36へ進む。
【0096】次ぎに、前述した符号1を伸長する例を具
体的に説明する。
体的に説明する。
【0097】まず、五つ続けて符号<0>があるから、ス
テップS35でd[1]〜d[5]にd[0]=0(=A)を代入する。
テップS35でd[1]〜d[5]にd[0]=0(=A)を代入する。
【0098】次の符号は<111>であり、これはcol1[1],c
ol2[1],d[5]+gard[1]とも異なるデータが発生したこと
を示すので、ステップS48で続く8ビットから得た96
(=B)をd[6]に代入(d[6]=96)する。なお、この場合は続
く8ビットからデータを得るが、元のデータが24ビット
なら続く24ビットからデータを得ることはいうまでもな
い。そして、col1[2]にはd[5]=0を、col2[2]にはcol1
[1]=255をそれぞれ代入する。また、|d[6]-d[5]|=96で
あり、32より大きいのでgradは変更しない。
ol2[1],d[5]+gard[1]とも異なるデータが発生したこと
を示すので、ステップS48で続く8ビットから得た96
(=B)をd[6]に代入(d[6]=96)する。なお、この場合は続
く8ビットからデータを得るが、元のデータが24ビット
なら続く24ビットからデータを得ることはいうまでもな
い。そして、col1[2]にはd[5]=0を、col2[2]にはcol1
[1]=255をそれぞれ代入する。また、|d[6]-d[5]|=96で
あり、32より大きいのでgradは変更しない。
【0099】次に、続く二つの符号<0>からステップS
35でd[7],d[8]にd[6]=96(=B)を代入し、次の符号<10>
はcol1[2]と等しいことを示すので、ステップS45でd
[9]にcol1[2]=0(=A)を代入する。そして、col1[3]にはd
[8]=96を代入し、col2[3]は変更しない。また、|d[9]-d
[8]|=96であり、32より大きいのでgradは変更しない。
35でd[7],d[8]にd[6]=96(=B)を代入し、次の符号<10>
はcol1[2]と等しいことを示すので、ステップS45でd
[9]にcol1[2]=0(=A)を代入する。そして、col1[3]にはd
[8]=96を代入し、col2[3]は変更しない。また、|d[9]-d
[8]|=96であり、32より大きいのでgradは変更しない。
【0100】次に、続く二つの符号<0>からd[10],d[11]
に=0(=A)が導け、次の符号は<111>によって続く8ビット
から得た192(=C)をd[12]に代入(d[12]=192)する。そし
て、col1[4]にはd[11]=0を、col2[4]にはcol1[3]=96を
それぞれ代入する。また、|d[12]-d[11]|=192であり、3
2より大きいのでgradは変更しない(grad[4]=grad[3]=
1)。
に=0(=A)が導け、次の符号は<111>によって続く8ビット
から得た192(=C)をd[12]に代入(d[12]=192)する。そし
て、col1[4]にはd[11]=0を、col2[4]にはcol1[3]=96を
それぞれ代入する。また、|d[12]-d[11]|=192であり、3
2より大きいのでgradは変更しない(grad[4]=grad[3]=
1)。
【0101】次に、続く三つの符号<0>からステップS
35でd[13]〜d[15]にd[12]=192(=C)を代入し、次の符
号<1100>はcol2[4]と等しいことを示すので、ステップ
S47でd[16]にcol2[4]=96(=B)を代入する。そして、c
ol1[5]にはd[15]=192を、col2[5]にはcol1[4]=0をそれ
ぞれ代入する。また、|d[16]-d[15]|=96であり、32より
大きいのでgradは変更しない。
35でd[13]〜d[15]にd[12]=192(=C)を代入し、次の符
号<1100>はcol2[4]と等しいことを示すので、ステップ
S47でd[16]にcol2[4]=96(=B)を代入する。そして、c
ol1[5]にはd[15]=192を、col2[5]にはcol1[4]=0をそれ
ぞれ代入する。また、|d[16]-d[15]|=96であり、32より
大きいのでgradは変更しない。
【0102】次の符号<0>からステップS35でd[17]に
D[16]=96(=B)を代入し、次の符号<1100>からステップS
47でd[18]にcol2[5]=0(=A)を代入する。そして、col1
[6]にはd[17]=96を、col2[6]にはcol1[5]=192をそれぞ
れ代入する。また、|d[17]-d[16]|=96であり、32より大
きいのでgradは変更しない。
D[16]=96(=B)を代入し、次の符号<1100>からステップS
47でd[18]にcol2[5]=0(=A)を代入する。そして、col1
[6]にはd[17]=96を、col2[6]にはcol1[5]=192をそれぞ
れ代入する。また、|d[17]-d[16]|=96であり、32より大
きいのでgradは変更しない。
【0103】次に、続く四つの符号<0>からステップS
35でd[19]〜d[22]にd[18]=0(=A)を代入し、次の符号<
111>によってステップS48で続く8ビットから得た16
(=D0)をd[23]に代入する。そして、col1[7]にはd[22]=0
を、col2[7]にはcol1[6]=96をそれぞれ代入する。ま
た、|d[23]-d[22]|=16であり、32未満なのでgrad[7]に
はd[23]-d[22]=16を代入する。
35でd[19]〜d[22]にd[18]=0(=A)を代入し、次の符号<
111>によってステップS48で続く8ビットから得た16
(=D0)をd[23]に代入する。そして、col1[7]にはd[22]=0
を、col2[7]にはcol1[6]=96をそれぞれ代入する。ま
た、|d[23]-d[22]|=16であり、32未満なのでgrad[7]に
はd[23]-d[22]=16を代入する。
【0104】次に、符号<1101>が六つ続き、これはd[i]
=d[i-1]+grad[k]と等しいことを示すので、ステップS
42で、d[24]にd[23]+grad[7]=32(=D1)を、d[25]にd[2
4]+grad[7]=48(=D2)を、…、d[29]にd[28]+grad[7]=112
(=D6)をそれぞれ代入する。この際、col1,col2,gradは
変更しない。
=d[i-1]+grad[k]と等しいことを示すので、ステップS
42で、d[24]にd[23]+grad[7]=32(=D1)を、d[25]にd[2
4]+grad[7]=48(=D2)を、…、d[29]にd[28]+grad[7]=112
(=D6)をそれぞれ代入する。この際、col1,col2,gradは
変更しない。
【0105】次の符号<10>はcol1[13]と等しいことを示
すので、ステップS45でd[30]にcol1[13]=0(=A)を代
入する。そして、col1[14]にはd[29]=112を代入し、col
2[14]は変更しない。また、|d[30]-d[29]|=112であり、
32より大きいのでgradは変更しない。
すので、ステップS45でd[30]にcol1[13]=0(=A)を代
入する。そして、col1[14]にはd[29]=112を代入し、col
2[14]は変更しない。また、|d[30]-d[29]|=112であり、
32より大きいのでgradは変更しない。
【0106】次の符号は<0>であるからステップS35
でd[33]にd[32]=96(=B)を代入し、続く符号<10>はcol1
[15]と等しいことを示すので、ステップS45でd[34]
にcol1[15]=0(=A)を代入する。そして、col1[16]にはd
[33]=96を代入し、col2[16]は変更しない。また、|d[3
4]-d[33]|=96であり、32より大きいのでgradは変更しな
い。
でd[33]にd[32]=96(=B)を代入し、続く符号<10>はcol1
[15]と等しいことを示すので、ステップS45でd[34]
にcol1[15]=0(=A)を代入する。そして、col1[16]にはd
[33]=96を代入し、col2[16]は変更しない。また、|d[3
4]-d[33]|=96であり、32より大きいのでgradは変更しな
い。
【0107】次の符号<111>はcol1[16],col2[16],d[34]
+grad[16]とも異なるデータが発生したことを示すの
で、ステップS48で続く8ビットから得た208(=E0)をd
[35]に代入する。そして、col1[17]にはd[16]=0を、col
2[17]にはcol1[16]=96をそれぞれ代入する。また、|d[2
3]-d[22]|=208であり、32より大きいのでgradは変更し
ない。
+grad[16]とも異なるデータが発生したことを示すの
で、ステップS48で続く8ビットから得た208(=E0)をd
[35]に代入する。そして、col1[17]にはd[16]=0を、col
2[17]にはcol1[16]=96をそれぞれ代入する。また、|d[2
3]-d[22]|=208であり、32より大きいのでgradは変更し
ない。
【0108】続く二つの符号<1101>はd[i]+grad[k]に等
しいことを示すので、ステップS42で、d[36]にd[35]
+grad[17]=224(=E1)を、d[37]にd[36]+grad[17]=240(=E
2)をそれぞれ代入する。この際、col1,col2,gradは変更
しない。
しいことを示すので、ステップS42で、d[36]にd[35]
+grad[17]=224(=E1)を、d[37]にd[36]+grad[17]=240(=E
2)をそれぞれ代入する。この際、col1,col2,gradは変更
しない。
【0109】以上の処理によって、図13に示した画像
データを符号1から1ビットの損失もなく復元すること
ができる。
データを符号1から1ビットの損失もなく復元すること
ができる。
【0110】[ハードウェア構成]図18は上述した圧
縮方法を備えた本実施例のデータ圧縮装置の構成例を示
すブロック図である。
縮方法を備えた本実施例のデータ圧縮装置の構成例を示
すブロック図である。
【0111】同図において、101は画素並替部で、メ
モリで構成されていて、入力されたラスタ画像データを
所定順に並べ替えて、一画素ずつクロックに同期して出
力する。図19に画素の並べ替え順の一例を示すが、こ
れに限定されるものではなく、ラスタ順にそのままスル
ーで出力しても構わない。例えば図19(a)のように
並べ替えるには、垂直方向8ライン分の画像データを保
持して、アドレス制御によって並べ替えたデータを順次
出力する。
モリで構成されていて、入力されたラスタ画像データを
所定順に並べ替えて、一画素ずつクロックに同期して出
力する。図19に画素の並べ替え順の一例を示すが、こ
れに限定されるものではなく、ラスタ順にそのままスル
ーで出力しても構わない。例えば図19(a)のように
並べ替えるには、垂直方向8ライン分の画像データを保
持して、アドレス制御によって並べ替えたデータを順次
出力する。
【0112】102は圧縮部で、画素並替部101から
出力された画像データを圧縮し、その符号を出力する。
出力された画像データを圧縮し、その符号を出力する。
【0113】103はデータパック部で、画素並替部1
01から画像データを、または圧縮部102から符号を
入力して、符号出力先のメモリまたは通信インタフェイ
スが取り扱うデータ幅に合わせて、符号をパッキングし
たデータを出力する。
01から画像データを、または圧縮部102から符号を
入力して、符号出力先のメモリまたは通信インタフェイ
スが取り扱うデータ幅に合わせて、符号をパッキングし
たデータを出力する。
【0114】104はメモリまたは通信インタフェイス
部で、パッキングされたデータを格納または外部装置へ
送信する。
部で、パッキングされたデータを格納または外部装置へ
送信する。
【0115】図20は圧縮部102の詳細な構成例を示
すブロック図である。なお、以下の説明ではRGB24ビッ
トの画像データを圧縮する構成を説明するが、前述した
ようにRGB8ビット,CMYK32ビットまたはLab36ビットで
も構わない。
すブロック図である。なお、以下の説明ではRGB24ビッ
トの画像データを圧縮する構成を説明するが、前述した
ようにRGB8ビット,CMYK32ビットまたはLab36ビットで
も構わない。
【0116】201は24ビットのフリップフロップ(以
下「F/F」という)で、クロックに同期して入力された
画素を格納する。なお、初期値として例えば白(255,25
5,255)をF/F201に格納する。
下「F/F」という)で、クロックに同期して入力された
画素を格納する。なお、初期値として例えば白(255,25
5,255)をF/F201に格納する。
【0117】202は減算器で、入力された画素d[i]と
F/F201から出力された一画素前の画素d[i-1]を入力
し、d[i]-d[i-1]を演算して25ビットの差分データdiff
を出力する。
F/F201から出力された一画素前の画素d[i-1]を入力
し、d[i]-d[i-1]を演算して25ビットの差分データdiff
を出力する。
【0118】203はORゲートで、減算器202から出
力されたdiffの下位24ビットを論理和して、1ビットの
データcode0を出力する。code0はdiffが零のとき‘0’
に、零以外のとき‘1’になる。
力されたdiffの下位24ビットを論理和して、1ビットの
データcode0を出力する。code0はdiffが零のとき‘0’
に、零以外のとき‘1’になる。
【0119】204はイネーブル端子付き25ビットのF/
Fで、クロックに同期して、減算器202の出力であるd
iffを入力し制御信号ENA1が‘1’のときに格納する。な
お、初期値として例えば(1,1,1)をF/F204に格納す
る。
Fで、クロックに同期して、減算器202の出力であるd
iffを入力し制御信号ENA1が‘1’のときに格納する。な
お、初期値として例えば(1,1,1)をF/F204に格納す
る。
【0120】205は比較器で、減算器202の出力で
あるdiffと、F/F204の出力であるgradとを比較して1
ビットのデータcodegradを出力する。なお、codegradは
比較結果が一致のとき‘0’に、不一致のとき‘1’にな
る。
あるdiffと、F/F204の出力であるgradとを比較して1
ビットのデータcodegradを出力する。なお、codegradは
比較結果が一致のとき‘0’に、不一致のとき‘1’にな
る。
【0121】206は判定器で、減算器202の出力で
あるdiffを入力し、|diff|<32のとき‘0’を、それ以外
のとき‘1’を出力する。
あるdiffを入力し、|diff|<32のとき‘0’を、それ以外
のとき‘1’を出力する。
【0122】207はイネーブル端子付き24ビットのF/
Fで、クロックに同期して、F/F201の出力であるd[i-
1]を入力し制御信号ENA2が‘1’のときに格納する。な
お、初期値として例えば黒(0,0,0)をF/F207に格納す
る。
Fで、クロックに同期して、F/F201の出力であるd[i-
1]を入力し制御信号ENA2が‘1’のときに格納する。な
お、初期値として例えば黒(0,0,0)をF/F207に格納す
る。
【0123】208は比較器で、画素d[i]と、F/F20
1の出力であるcol1とを比較して1ビットのcode1を出力
する。なお、code1は比較結果が一致のとき‘0’に、不
一致のとき‘1’になる。
1の出力であるcol1とを比較して1ビットのcode1を出力
する。なお、code1は比較結果が一致のとき‘0’に、不
一致のとき‘1’になる。
【0124】209はイネーブル端子付き24ビットのF/
Fで、クロックに同期して、F/F207の出力であるcol1
を入力し制御信号ENA3が‘1’のときに格納する。な
お、初期値として例えば赤(255,0,0)をF/F209に格納
する。
Fで、クロックに同期して、F/F207の出力であるcol1
を入力し制御信号ENA3が‘1’のときに格納する。な
お、初期値として例えば赤(255,0,0)をF/F209に格納
する。
【0125】210は比較器で、画素d[i]と、F/F20
9の出力であるcol2とを比較して1ビットのcode2を出力
する。なお、code2は比較結果が一致のとき‘0’に、不
一致のとき‘1’になる。
9の出力であるcol2とを比較して1ビットのcode2を出力
する。なお、code2は比較結果が一致のとき‘0’に、不
一致のとき‘1’になる。
【0126】211は符号割当部で、入力されたcode0,
code1,code2およびcodegradに応じて割当てた符号を出
力する。本実施例のデータ圧縮装置では下記の五つのケ
ースが存在する。 (1)差分diffが0 (2)色データd[i]がcol1と一致 (3)色データd[i]がcol2と一致 (4)差分diffがgradと一致 (5)上記のどれでもない
code1,code2およびcodegradに応じて割当てた符号を出
力する。本実施例のデータ圧縮装置では下記の五つのケ
ースが存在する。 (1)差分diffが0 (2)色データd[i]がcol1と一致 (3)色データd[i]がcol2と一致 (4)差分diffがgradと一致 (5)上記のどれでもない
【0127】そして、例えば、符号割当部211はケー
ス(1)に対して符号‘0’を、ケース(2)に対して符号‘1
0’を、ケース(3)に対して符号‘1100’を、ケース(4)
に対して符号‘1101’を、ケース(5)に対して符号‘11
1’をそれぞれ出力する。図21はこの関係を示したも
のである。なお、その他に、符号を状況によって変化さ
せたい場合なども符号割当部211で行うことができ
る。また、圧縮部102は、符号‘1101’を出力すると
きは、前述したように続けて画素d[i]を出力する。
ス(1)に対して符号‘0’を、ケース(2)に対して符号‘1
0’を、ケース(3)に対して符号‘1100’を、ケース(4)
に対して符号‘1101’を、ケース(5)に対して符号‘11
1’をそれぞれ出力する。図21はこの関係を示したも
のである。なお、その他に、符号を状況によって変化さ
せたい場合なども符号割当部211で行うことができ
る。また、圧縮部102は、符号‘1101’を出力すると
きは、前述したように続けて画素d[i]を出力する。
【0128】また、制御信号ENA1は、ANDゲート212
と213によって、code0=‘1’かつcodegrad=‘1’か
つ判定器206の出力が‘1’のとき‘1’になる。制御
信号ENA2は、ANDゲート212によって、code0=‘1’か
つcodegrad=‘1’のとき‘1’になる。制御信号ENA3
は、ANDゲート212と214によって、code0=‘1’か
つcodegrad=‘1’かつcode1=‘1’のとき‘1’になる。
と213によって、code0=‘1’かつcodegrad=‘1’か
つ判定器206の出力が‘1’のとき‘1’になる。制御
信号ENA2は、ANDゲート212によって、code0=‘1’か
つcodegrad=‘1’のとき‘1’になる。制御信号ENA3
は、ANDゲート212と214によって、code0=‘1’か
つcodegrad=‘1’かつcode1=‘1’のとき‘1’になる。
【0129】なお、上述および図に示した制御信号の作
り方やケース数および符号は一例であり、これに限定さ
れるものではない。
り方やケース数および符号は一例であり、これに限定さ
れるものではない。
【0130】以上説明したように、本実施例によれば、
画像データを1ビットの損失もなく圧縮伸長することが
でき、例えば、コンピュータなどにより作成された多値
画像を、劣化させることなく高い圧縮率で圧縮すること
ができる。さらに、グラデーションを考慮した符号化を
行うので、グラデーションが施されたコンピュータ作成
画像などを効果的に圧縮することができる。
画像データを1ビットの損失もなく圧縮伸長することが
でき、例えば、コンピュータなどにより作成された多値
画像を、劣化させることなく高い圧縮率で圧縮すること
ができる。さらに、グラデーションを考慮した符号化を
行うので、グラデーションが施されたコンピュータ作成
画像などを効果的に圧縮することができる。
【0131】
【変形例】以下、上述した実施例などの変形例を説明す
る。
る。
【0132】
【第1変形例】上述した実施例においては、起こりやす
い事象を色データcol1,col2とグラデーション幅gradと
で表したが、これをすべて差分で表してもよい。例えば
X,Y,gradで表すと、図13と同等の動作を行わせるに
は、図22に一例を示すようなデータ変化が必要であ
る。
い事象を色データcol1,col2とグラデーション幅gradと
で表したが、これをすべて差分で表してもよい。例えば
X,Y,gradで表すと、図13と同等の動作を行わせるに
は、図22に一例を示すようなデータ変化が必要であ
る。
【0133】計算式で以下のように表すことができる。
<0>の次に起こり易いベクトルをX[k]、<0>,X[k]の次に
起こり易いベクトルをY[k]で表し、diff=d[i]-d[i-1]と
すると、 ・diffが零のときX[k],Y[k]は変化なし ・diffがgrad[k]と一致するときは X[k+1]=X[k]-diff, Y[k+1]=Y[k]-diff ・diffが零でもgrad[k]でもないときX[k],Y[k]は X[k+1]=-diff, Y[k+1]=-diff+A[k] なお、A[k]は発生ベクトルがX[k]と一致したときY[k]で
あり、それ以外のときはX[k]である
<0>の次に起こり易いベクトルをX[k]、<0>,X[k]の次に
起こり易いベクトルをY[k]で表し、diff=d[i]-d[i-1]と
すると、 ・diffが零のときX[k],Y[k]は変化なし ・diffがgrad[k]と一致するときは X[k+1]=X[k]-diff, Y[k+1]=Y[k]-diff ・diffが零でもgrad[k]でもないときX[k],Y[k]は X[k+1]=-diff, Y[k+1]=-diff+A[k] なお、A[k]は発生ベクトルがX[k]と一致したときY[k]で
あり、それ以外のときはX[k]である
【0134】図23は第1変形例の圧縮部102の構成
例を示すブロック図である。
例を示すブロック図である。
【0135】224はセレクタで、比較器205の出力
eqgraに応じて、データXまたは減算器222から出力さ
れたX-diffの何れかを選択し出力する。セレクタ224
の出力は、制御信号ENA2(=code0)が‘1’のときクロッ
クに同期してF/F207にラッチされて、データXにな
る。
eqgraに応じて、データXまたは減算器222から出力さ
れたX-diffの何れかを選択し出力する。セレクタ224
の出力は、制御信号ENA2(=code0)が‘1’のときクロッ
クに同期してF/F207にラッチされて、データXにな
る。
【0136】比較器208は、データXとdiffとを比較
して1ビットのcode1を出力する。なお、code1は比較結
果が一致のとき‘0’に、不一致のとき‘1’になる。
して1ビットのcode1を出力する。なお、code1は比較結
果が一致のとき‘0’に、不一致のとき‘1’になる。
【0137】223はセレクタで、ANDゲート221か
ら出力されたcode0とeqgraの論理積結果に応じて、デー
タXまたはYの何れかを選択し出力する。
ら出力されたcode0とeqgraの論理積結果に応じて、デー
タXまたはYの何れかを選択し出力する。
【0138】225は減算器で、セレクタ223の出力
からdiffを減ずる。減算器225の出力は、制御信号EN
A3(=code0)が‘1’のときクロックに同期してF/F209
にラッチされて、データYになる。
からdiffを減ずる。減算器225の出力は、制御信号EN
A3(=code0)が‘1’のときクロックに同期してF/F209
にラッチされて、データYになる。
【0139】比較器210は、データYとdiffとを比較
して1ビットのcode2を出力する。なお、code2は比較結
果が一致のとき‘0’に、不一致のとき‘1’になる。
して1ビットのcode2を出力する。なお、code2は比較結
果が一致のとき‘0’に、不一致のとき‘1’になる。
【0140】
【第2変形例】上述した第1変形例においては、出現確
率が高いとして符号を与えるベクトルをX,Yの二つにし
たが、これに限ったものではなく論理的には幾つでもよ
い。その際、ベクトルの計算式は以下のようになる。
率が高いとして符号を与えるベクトルをX,Yの二つにし
たが、これに限ったものではなく論理的には幾つでもよ
い。その際、ベクトルの計算式は以下のようになる。
【0141】第1変形例でX[k],Y[k]で表現したベクト
ルをvect[m][k]と表現する。mは0〜nで、m=0のときは第
1変形例のXに当り、m=1のときはYに当る。
ルをvect[m][k]と表現する。mは0〜nで、m=0のときは第
1変形例のXに当り、m=1のときはYに当る。
【0142】ベクトルvect[m][k]は、diff≠0のとき
(色の変化が起こったとき)に次のように更新される。
(色の変化が起こったとき)に次のように更新される。
【0143】 vect[0][K + 1] = -diff + Z; ここで、Zは if(diff == grad[k]) Z = vect[0][k]; else Z = 0; vect[1][k+1] = -diff + A; ここで、Aは if((diff == grad[k])||(diff == vect[0][k])) A = vect[1][k]; else A = vect[0][k]; vect[2][k+1] = -diff + B; ここで、Bは if((diff == grad[k])||(diff == vect[0][k]) ||(diff==vect[1][k])) B = vect[2][k]; elseA=vect[1][k]; : : : vect[n][k + 1] = -diff + P; ここで、Pは if((diff == grad[k])||(diff == vect[0][k]) ||(diff == vect[1][k])|| … ||(diff == vect[n - 1][k]) P = vect[n][k]; else P = vect[n - 1][k];
【0144】
【第3変形例】上述した実施例において、F/Fの制御信
号ENA1,ENA2,ENA3はそれぞれ、 ENA1=(code0 & codegrad & hantei) =((diff != 0)&(diff != grad)&(ABS(diff) < Td)) ただし、Tdは例えば32 hanteiは判定器206の出力 ENA2=(code0 & codegrad) =((diff != 0)&(diff != grad)) ENA3=(code0 & codegrad & code1) =((diff != 0)&(diff != grad)&(d[i] != col1))
号ENA1,ENA2,ENA3はそれぞれ、 ENA1=(code0 & codegrad & hantei) =((diff != 0)&(diff != grad)&(ABS(diff) < Td)) ただし、Tdは例えば32 hanteiは判定器206の出力 ENA2=(code0 & codegrad) =((diff != 0)&(diff != grad)) ENA3=(code0 & codegrad & code1) =((diff != 0)&(diff != grad)&(d[i] != col1))
【0145】としたが、これに限ったものではない。例
えば、ENA1=(code0 & codegrad)のようにして、diffの
大きさに関係なく差分が零以外のときに必ずgradを変更
してもよい。また、ENA2=code0,ENA3=(code & code1)の
ようにして、codegradに関係なくcol1,col2を変更する
ように設定してもよい。この場合、図13に示したデー
タを処理した場合のcol1,col2,gradの変化は図24のよ
うになる。
えば、ENA1=(code0 & codegrad)のようにして、diffの
大きさに関係なく差分が零以外のときに必ずgradを変更
してもよい。また、ENA2=code0,ENA3=(code & code1)の
ようにして、codegradに関係なくcol1,col2を変更する
ように設定してもよい。この場合、図13に示したデー
タを処理した場合のcol1,col2,gradの変化は図24のよ
うになる。
【0146】
【第4変形例】上述した実施例や変形例においては、ど
のベクトルとも一致しなかった場合、どのベクトルとも
一致しないことを表す符号の後に、画素値(色データ)
を添付したがその限りではなく、色を表す情報なら何で
も構わない。
のベクトルとも一致しなかった場合、どのベクトルとも
一致しないことを表す符号の後に、画素値(色データ)
を添付したがその限りではなく、色を表す情報なら何で
も構わない。
【0147】例えば、差分データを添付してもよいし、
パレットコードを添付してもよい。以下、パレットコー
ドについて少し説明する。
パレットコードを添付してもよい。以下、パレットコー
ドについて少し説明する。
【0148】固定ビットパレット情報を添付する場合
は、例えば8ビット固定パレットであれば256色に限定さ
れてしまうが、24ビットの色データを添付するのに比べ
て8ビットで済む利点がある。パレットは存在する色が
わかっていれば始めに設定しておいてもよいし、圧縮中
に出現した新色を登録する方法でもよい。その場合、ど
のベクトルとも一致しなかった場合は、パレットに登録
された色と添付すべき色データを比較して、一致すれば
そのパレット番号を、不一致であれば新たなパレット番
号を与えて、符号ととともにそのパレット番号を出力す
る。
は、例えば8ビット固定パレットであれば256色に限定さ
れてしまうが、24ビットの色データを添付するのに比べ
て8ビットで済む利点がある。パレットは存在する色が
わかっていれば始めに設定しておいてもよいし、圧縮中
に出現した新色を登録する方法でもよい。その場合、ど
のベクトルとも一致しなかった場合は、パレットに登録
された色と添付すべき色データを比較して、一致すれば
そのパレット番号を、不一致であれば新たなパレット番
号を与えて、符号ととともにそのパレット番号を出力す
る。
【0149】
【第5変形例】上述した実施例や変形例において、圧縮
部102から出力された符号を、図25に一例を示すよ
うに、符号化部105でさらに他の可逆圧縮法で圧縮し
てもよい。他の圧縮法として、ランレングス圧縮法のMH
やハフマン符号化などがある。通常のMHより、‘1’の
前に‘0’が連続するもの(例えば‘00001’,‘0000000
0001’)を一つの単位としてハフマン符号化すると効果
的である。
部102から出力された符号を、図25に一例を示すよ
うに、符号化部105でさらに他の可逆圧縮法で圧縮し
てもよい。他の圧縮法として、ランレングス圧縮法のMH
やハフマン符号化などがある。通常のMHより、‘1’の
前に‘0’が連続するもの(例えば‘00001’,‘0000000
0001’)を一つの単位としてハフマン符号化すると効果
的である。
【0150】
【第6変形例】上述した実施例や変形例においては、圧
縮データをシリアルに並べて一つにパッキングしたが、
別々にパッキングしても構わない。
縮データをシリアルに並べて一つにパッキングしたが、
別々にパッキングしても構わない。
【0151】例えば、実施例を例にして説明すると、co
de0に当る情報,code1に当る情報,code2に当る情報お
よび添付する色を表す情報は、図26に一例を示すよう
に、それぞれ別のメモリに格納してもよい。
de0に当る情報,code1に当る情報,code2に当る情報お
よび添付する色を表す情報は、図26に一例を示すよう
に、それぞれ別のメモリに格納してもよい。
【0152】例えば32ビット幅で一つにパッキングする
場合、code0,code1,code2に対応する各符号が可変長な
ので、符号データを格納するのは1ビット目からになる
かもしれないし、5ビット目からになるかもしれない。
従って、一つにパッキングする場合、符号を格納する場
所が常に不定なため、バレルシフタが必要になってパッ
ク部103の回路規模が大きくなってしまう。この点は
別々にパッキングすることにより解決される。とくに、
24ビット色データのパッキングが困難なので、図27に
一例を示すように、code0,code1,code2は一緒に格納し
て、24ビット色データだけを別のメモリに格納してもよ
い。
場合、code0,code1,code2に対応する各符号が可変長な
ので、符号データを格納するのは1ビット目からになる
かもしれないし、5ビット目からになるかもしれない。
従って、一つにパッキングする場合、符号を格納する場
所が常に不定なため、バレルシフタが必要になってパッ
ク部103の回路規模が大きくなってしまう。この点は
別々にパッキングすることにより解決される。とくに、
24ビット色データのパッキングが困難なので、図27に
一例を示すように、code0,code1,code2は一緒に格納し
て、24ビット色データだけを別のメモリに格納してもよ
い。
【0153】また、code0,code1,code2もそれぞれ別々
にパッキングすることにより、さらにこの符号データを
ランレングス圧縮をかける場合に零が続くことが多くな
り、ランレングス圧縮の効果が大きくなる。
にパッキングすることにより、さらにこの符号データを
ランレングス圧縮をかける場合に零が続くことが多くな
り、ランレングス圧縮の効果が大きくなる。
【0154】
【第7変形例】上述した第6変形例において、メモリを
code0,code1,code2,色データに分け、符号をランレング
ス圧縮する場合、‘0’でも‘1’でも同じデータが続い
た方が圧縮効果が高いので、code0,code1,code2を表す
符号は符号割当部211を使用してトグルにしてもよ
い。
code0,code1,code2,色データに分け、符号をランレング
ス圧縮する場合、‘0’でも‘1’でも同じデータが続い
た方が圧縮効果が高いので、code0,code1,code2を表す
符号は符号割当部211を使用してトグルにしてもよ
い。
【0155】図28(a)は実施例に則した符号であ
る。これを、トグル符号にすると同図(b)のようにな
る。つまり、同図(a)で‘1’が発生したのをきっか
けに次の符号を反転させる。これによって‘0’,‘1’
が続くことが多くなり、とくにcode0において、後にラ
ンレングス圧縮する際に効果的である。
る。これを、トグル符号にすると同図(b)のようにな
る。つまり、同図(a)で‘1’が発生したのをきっか
けに次の符号を反転させる。これによって‘0’,‘1’
が続くことが多くなり、とくにcode0において、後にラ
ンレングス圧縮する際に効果的である。
【0156】
【第8変形例】上述した第1および第2変形例におい
て、F/F206,210に格納するのは出現確率の高いベ
クトルそのものの値であったが、出現確率の高いベクト
ルそのものの値を用いて、後の演算部などによって出現
確率の高いベクトルを演算することができる情報を格納
してもよい。
て、F/F206,210に格納するのは出現確率の高いベ
クトルそのものの値であったが、出現確率の高いベクト
ルそのものの値を用いて、後の演算部などによって出現
確率の高いベクトルを演算することができる情報を格納
してもよい。
【0157】図29(a)は図23に示した圧縮部が格
納するX,Yの変移を示す図、図29(b)は本実施例の
圧縮部が格納するX',Y'の変移を示す図である。
納するX,Yの変移を示す図、図29(b)は本実施例の
圧縮部が格納するX',Y'の変移を示す図である。
【0158】本実施例は、出現確率の高いベクトル(X
に対比)を、後の演算によってX=-X'から算出する。ま
た、次に出現確率の高いベクトル(Yに対応)を、後の
演算によってY=-(X'+Y')から算出する。従って、F/Fに
格納するデータは、出現確率の高いベクトルそのもので
はなくても構わなく、出現確率の高いベクトルを演算し
て得ることが可能な情報でよい。
に対比)を、後の演算によってX=-X'から算出する。ま
た、次に出現確率の高いベクトル(Yに対応)を、後の
演算によってY=-(X'+Y')から算出する。従って、F/Fに
格納するデータは、出現確率の高いベクトルそのもので
はなくても構わなく、出現確率の高いベクトルを演算し
て得ることが可能な情報でよい。
【0159】
【第9変形例】上述した実施例においては、F/F207
に入力されるデータはF/F201の出力、F/F209に入
力されるデータはF/F207の出力というように、数珠
繋ぎの構成になっているがこれに限ったものではない。
に入力されるデータはF/F201の出力、F/F209に入
力されるデータはF/F207の出力というように、数珠
繋ぎの構成になっているがこれに限ったものではない。
【0160】例えば、図30に一例を示すように、F/F
207に入力されるデータも、F/F209に入力される
データもF/F201の出力にすることができる。この場
合、新たに制御部1311を備えて、符号の割当けの他
に、F/F207を制御する信号WE1と、F/F209を制御
する信号WE2を出力させる。
207に入力されるデータも、F/F209に入力される
データもF/F201の出力にすることができる。この場
合、新たに制御部1311を備えて、符号の割当けの他
に、F/F207を制御する信号WE1と、F/F209を制御
する信号WE2を出力させる。
【0161】
【第10変形例】上述した実施例や変形例において、次
に示すような新たな条件を設けることもできる。
に示すような新たな条件を設けることもできる。
【0162】閾値Tjを設定し、(diff-grad)の絶対値
が、零ではないがTj以下であった場合の符号を新たに設
けて、その際は、その符号と(diff-grad)とを下位(Tj+
1)ビット分添付する。
が、零ではないがTj以下であった場合の符号を新たに設
けて、その際は、その符号と(diff-grad)とを下位(Tj+
1)ビット分添付する。
【0163】さらに詳しく説明すると、
【0164】if(diff == 0) code = ‘0’ else if(diff == grad) code =‘11010’ else if(ABS(diff - grad) < Tj) code =‘11010’とL
(diff) else if(d[i] == col1) code = ‘10’ else if(d[i] == col2) code = ‘1100’ else code =‘111’+色データ; ただし、L(diff): (Tj + 1)ビット分の差分データ
(diff) else if(d[i] == col1) code = ‘10’ else if(d[i] == col2) code = ‘1100’ else code =‘111’+色データ; ただし、L(diff): (Tj + 1)ビット分の差分データ
【0165】などのように符号を設定し、Tjが3で、(di
ff-grad)が1であれば符号は‘11011001’、(diff-grad)
が-3であれば符号は‘11011101’のようにする。
ff-grad)が1であれば符号は‘11011001’、(diff-grad)
が-3であれば符号は‘11011101’のようにする。
【0166】なお、上述したすべての実施例や変形例に
おいて、それらを実現するはハードウェアでもソフトウ
ェアでもよい。
おいて、それらを実現するはハードウェアでもソフトウ
ェアでもよい。
【0167】なお、本発明は、複数の機器から構成され
るシステムに適用しても、一つの機器からなる装置に適
用してもよい。
るシステムに適用しても、一つの機器からなる装置に適
用してもよい。
【0168】また、本発明は、システムあるいは装置に
プログラムを供給することによって達成される場合にも
適用できることはいうまでもない。
プログラムを供給することによって達成される場合にも
適用できることはいうまでもない。
【0169】
【発明の効果】以上のように本発明によれば、コンピュ
ータなどにより作成された多値画像を、劣化させること
なく高い圧縮率で圧縮することができる。さらに、グラ
デーションを考慮した符号化を行うので、グラデーショ
ンが施されたコンピュータ作成画像などを効果的に圧縮
することができる。
ータなどにより作成された多値画像を、劣化させること
なく高い圧縮率で圧縮することができる。さらに、グラ
デーションを考慮した符号化を行うので、グラデーショ
ンが施されたコンピュータ作成画像などを効果的に圧縮
することができる。
【図1】ADCT圧縮装置の機能構成を示すブロック図であ
る。
る。
【図2】ADCT伸長装置の機能構成を示すブロック図であ
る。
る。
【図3】コンピュータにより作成されたカラー多値画像
の画像データの一部を示す図である。
の画像データの一部を示す図である。
【図4】図3に示した画像データを色変換部とサブサン
プリング部で処理した結果を示す図である。
プリング部で処理した結果を示す図である。
【図5】図4の八個のブロックをDCTした様子を示す図
である。
である。
【図6】JPEGが推奨する量子化テーブルを示す図であ
る。
る。
【図7】図5に示したDCT係数データを量子化したデー
タを示す図である。
タを示す図である。
【図8】ジグザグスキャンの様子を示す図である。
【図9】ADCT圧縮法により得られたデータに対して、ハ
フマン復号処理および逆量子化処理を実行して得られる
データを示す図である。
フマン復号処理および逆量子化処理を実行して得られる
データを示す図である。
【図10】図9のデータを逆DCT変換部でYCrCbデータに
変換した結果示す図である。
変換した結果示す図である。
【図11】データ伸長処理により最終的に得られたデー
タを示す図である。
タを示す図である。
【図12】多値画像データに対するランレングス圧縮法
の一例を示す図である。
の一例を示す図である。
【図13】コンピュータ作成画像の一例と、本発明にか
かる一実施例の符号化の一例を示す図である。
かる一実施例の符号化の一例を示す図である。
【図14】本実施例の圧縮処理の手順例を示すフローチ
ャートである。
ャートである。
【図15】本実施例の圧縮処理の手順例を示すフローチ
ャートである。
ャートである。
【図16】本実施例の伸長処理の手順例を示すフローチ
ャートである。
ャートである。
【図17】本実施例の伸長処理の手順例を示すフローチ
ャートである。
ャートである。
【図18】上述した圧縮方法を備えた本実施例のデータ
圧縮装置の構成例を示すブロック図である。
圧縮装置の構成例を示すブロック図である。
【図19】画素の並べ替え順の一例を示す図である。
【図20】図18の圧縮部の詳細な構成例を示すブロッ
ク図である。
ク図である。
【図21】本実施例の事象(ケース)と符号との関係例
を示す図である。
を示す図である。
【図22】コンピュータ作成画像の一例と、第1変形例
の符号化の一例を示す図である。
の符号化の一例を示す図である。
【図23】第1変形例の圧縮部の構成例を示すブロック
図である。
図である。
【図24】コンピュータ作成画像の一例と、第3変形例
の符号化の一例を示す図である。
の符号化の一例を示す図である。
【図25】第5変形例のデータ圧縮装置の構成例を示す
ブロック図である。
ブロック図である。
【図26】第6変形例のデータ圧縮装置の構成例を示す
ブロック図である。
ブロック図である。
【図27】第6変形例のデータ圧縮装置の別の構成例を
示すブロック図である。
示すブロック図である。
【図28】第7変形例の符号化の一例を示す図である。
【図29】第8変形例の符号化の一例を示す図である。
【図30】第9変形例の圧縮部の構成例を示すブロック
図である。
図である。
101 画素並替部 102 圧縮部 103 データパック部 104 メモリまたは通信インタフェイス部 105 符号化部
Claims (8)
- 【請求項1】 入力された第一の画素データと続いて入
力された第二の画素データとの差分を出力する差分手段
と、 予め所定値を保持し、前記差分に応じてその保持する値
を該差分に更新する第一の保持手段と、 前記差分と前記第一の保持手段の保持値とを比較して第
一の比較結果を出力する第一の比較手段と、 予め所定値を保持し、前記差分と前記第一の比較結果と
に応じてその保持する値を前記第一の画素データに更新
する第二の保持手段と、 前記第二の画素データと前記第二の保持手段の保持値と
を比較して第二の比較結果を出力する第二の比較手段
と、 予め所定値を保持し、前記差分と前記第一の比較結果と
前記第二の比較結果とに応じてその保持する値を前記第
二の保持手段の保持値に更新する第三の保持手段と、 前記第二の画素データと前記第三の保持手段の保持値と
を比較して第三の比較結果を出力する第三の比較手段
と、 前記差分と前記第一の比較結果と前記第二の比較結果と
前記第三の比較結果とに基づいて符号を出力する符号手
段とを有することを特徴とする画像処理装置。 - 【請求項2】 入力された画像データを並べ替えて一画
素ずつ画素データを出力する並替手段と、 前記並替手段から出力された画素データをラッチするラ
ッチ手段と、 前記ラッチ手段にラッチされた第一の画素データと続い
て前記並替手段から出力された第二の画素データとの差
分を出力する差分手段と、 予め所定値を保持し、前記差分が所定範囲内である場合
にその保持する値を該差分に更新する第一の保持手段
と、 前記差分と前記第一の保持手段の保持値とを比較して第
一の比較結果を出力する第一の比較手段と、 予め所定値を保持し、前記差分と前記第一の比較結果と
に応じてその保持する値を前記第一の画素データに更新
する第二の保持手段と、 前記第二の画素データと前記第二の保持手段の保持値と
を比較して第二の比較結果を出力する第二の比較手段
と、 予め所定値を保持し、前記差分と前記第一の比較結果と
前記第二の比較結果とに応じてその保持する値を前記第
二の保持手段の保持値に更新する第三の保持手段と、 前記第二の画素データと前記第三の保持手段の保持値と
を比較して第三の比較結果を出力する第三の比較手段
と、 前記差分と前記第一の比較結果と前記第二の比較結果と
前記第三の比較結果とに基づいて符号を出力する符号手
段とを有することを特徴とする画像処理装置。 - 【請求項3】 前記符号手段は、 前記差分が所定値である場合は第一の符号を出力し、 前記差分が前記所定値以外で、前記第一の比較結果が一
致を示す場合は第二の符号を出力し、 前記差分が前記所定値以外で、前記第一の比較結果が不
一致を示し、前記第二の比較結果が一致を示す場合は第
三の符号を出力し、 前記差分が前記所定値以外で、前記第一の比較結果と前
記第二の比較結果とが不一致を示し、前記第三の比較結
果が一致を示す場合は第四の符号を出力し、 前記差分が前記所定値以外で、前記第一の比較結果と前
記第二の比較結果と第三の比較結果とがすべて不一致を
示す場合は第五の符号に続いて前記第二の画素データを
出力することを特徴とする請求項1または請求項2に記
載の画像処理装置。 - 【請求項4】 前記所定値は零であることを特徴とする
請求項3に記載の画像処理装置 - 【請求項5】 前記所定範囲はグラデーションを考慮し
て設定することを特徴とする請求項1または請求項2に
記載の画像処理装置。 - 【請求項6】 さらに、前記符号手段から出力された符
号を圧縮する圧縮手段を有することを特徴とする請求項
1から請求項5の何れかに記載された画像処理装置。 - 【請求項7】 入力された第一の画素データと続いて入
力された第二の画素データとの差分を出力する差分ステ
ップと、 前記差分に応じてその差分に更新される第一の保持値
と、前記差分とを比較して第一の比較結果を出力する第
一の比較ステップと、 前記差分と前記第一の比較結果とに応じて前記第一の画
素データに更新される第二の保持値と、前記第二の画素
データとを比較して第二の比較結果を出力する第二の比
較ステップと、 前記差分と前記第一の比較結果と前記第二の比較結果と
に応じて前記第二の保持値に更新される第三の保持値
と、前記第二の画素データとを比較して第三の比較結果
を出力する第三の比較ステップと、 前記差分と前記第一の比較結果と前記第二の比較結果と
前記第三の比較結果とに基づいて符号を出力する符号ス
テップとを有することを特徴とする画像処理方法。 - 【請求項8】 入力された第一の画素データと続いて入
力された第二の画素データとの差分を出力する差分ステ
ップと、 前記差分が所定値の場合は第一の符号を出力する第一の
符号ステップと、 前記差分が前記所定値以外で前記差分と第一の保持値と
一致する場合は、第二の符号を出力する第二の符号ステ
ップと、 前記差分と前記第一の保持値とが不一致で前記第二の画
素データと第二の保持値とが一致する場合は、第三の符
号を出力し、該第二の保持値を前記第一の画素データに
更新する第三の符号ステップと、 前記第二の画素データと前記第二の保持値とが不一致で
該第二の画素データと第三の保持値とが一致する場合
は、第四の符号を出力し、該第三の保持値を該第二の保
持値に更新し、該第二の保持値を前記第一の画素データ
に更新する第四の符号ステップと、 前記第二の画素データと前記第三の保持値とが不一致の
場合は、第五の符号と続けて第二の画素データとを出力
し、該第三の保持値を該第二の保持値に更新し、該第二
の保持値を前記第一の画素データに更新する第五の符号
ステップと、 前記差分と前記第一の保持値とが不一致の場合、該差分
が所定範囲内であれば該第一の保持値を該差分に更新す
る差分更新ステップとを有することを特徴とする画像処
理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30606394A JPH08161507A (ja) | 1994-12-09 | 1994-12-09 | 画像処理装置およびその方法 |
US08/362,916 US5903671A (en) | 1993-12-27 | 1994-12-23 | Data compression method and apparatus therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30606394A JPH08161507A (ja) | 1994-12-09 | 1994-12-09 | 画像処理装置およびその方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08161507A true JPH08161507A (ja) | 1996-06-21 |
Family
ID=17952605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30606394A Withdrawn JPH08161507A (ja) | 1993-12-27 | 1994-12-09 | 画像処理装置およびその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH08161507A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010244410A (ja) * | 2009-04-08 | 2010-10-28 | Casio Computer Co Ltd | 画像処理装置及び画像処理方法 |
-
1994
- 1994-12-09 JP JP30606394A patent/JPH08161507A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010244410A (ja) * | 2009-04-08 | 2010-10-28 | Casio Computer Co Ltd | 画像処理装置及び画像処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6008847A (en) | Temporal compression and decompression for video | |
US4663660A (en) | Compressed quantized image-data transmission technique suitable for use in teleconferencing | |
US5838818A (en) | Artifact reduction compression method and apparatus for mosaiced images | |
US7013050B2 (en) | Image encoding apparatus and method, program code, and storage medium | |
US20100166059A1 (en) | Method and apparatus for video compression | |
US5172237A (en) | High quality color image compression system | |
JPH05211646A (ja) | 映像圧縮方法 | |
US20070053429A1 (en) | Color video codec method and system | |
CN113115047A (zh) | 视频编解码方法和设备 | |
JPH06177777A (ja) | 適応型ダイナミックレンジ符号化装置 | |
US7991235B2 (en) | Light compression for color images using error diffusion | |
US7149350B2 (en) | Image compression apparatus, image depression apparatus and method thereof | |
JP2000244935A (ja) | 画像データ圧縮方法 | |
US5903671A (en) | Data compression method and apparatus therefor | |
JPH0654208A (ja) | 画像処理方法および画像処理装置 | |
JPH08161507A (ja) | 画像処理装置およびその方法 | |
US20050129110A1 (en) | Coding and decoding method and device | |
JP3256298B2 (ja) | 画像データ符号化方法及び装置 | |
JP3323615B2 (ja) | 画像データ圧縮装置及び方法 | |
KR100406535B1 (ko) | 영상 압축 방법 및 그 장치 | |
KR20180054623A (ko) | Hdr 코딩/디코딩을 위한 컬러 성분 샘플의 코-로케이팅된 루미넌스 샘플의 결정 | |
JP2002209111A (ja) | 画像符号化装置、画像通信システムおよびプログラム記録媒体 | |
JP2698641B2 (ja) | カラー画像データ符号化方法及び複号方法 | |
JP3087790B2 (ja) | 画像データ圧縮伸長方法及び装置 | |
JP2000106680A (ja) | 画像圧縮及び伸長装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20020305 |