JP3308774B2 - 画像圧縮方法 - Google Patents

画像圧縮方法

Info

Publication number
JP3308774B2
JP3308774B2 JP21765295A JP21765295A JP3308774B2 JP 3308774 B2 JP3308774 B2 JP 3308774B2 JP 21765295 A JP21765295 A JP 21765295A JP 21765295 A JP21765295 A JP 21765295A JP 3308774 B2 JP3308774 B2 JP 3308774B2
Authority
JP
Japan
Prior art keywords
window
run
data
length
image
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.)
Expired - Fee Related
Application number
JP21765295A
Other languages
English (en)
Other versions
JPH0965146A (ja
Inventor
勝也 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Screen Holdings Co Ltd
Dainippon Screen Manufacturing Co Ltd
Original Assignee
Screen Holdings Co Ltd
Dainippon Screen Manufacturing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Screen Holdings Co Ltd, Dainippon Screen Manufacturing Co Ltd filed Critical Screen Holdings Co Ltd
Priority to JP21765295A priority Critical patent/JP3308774B2/ja
Publication of JPH0965146A publication Critical patent/JPH0965146A/ja
Application granted granted Critical
Publication of JP3308774B2 publication Critical patent/JP3308774B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ランレングスの
形で入力された画像データを圧縮する方法に関するもの
で、特に高速に画像圧縮処理を行う方法に関する。
【0002】
【従来の技術】グラビア印刷のための製版システム等で
用いられる画像データには線画や罫線、イラスト、ロゴ
文字、絵柄等といった様々な種類の画像データがある。
これらのうち、線画や罫線、イラスト、ロゴ、文字等の
画像データはランレングスデータで表現されることが多
いが、これらの画像データの解像度は絵柄におけるビッ
トマップデータに対して高解像度であるので、製版前処
理において絵柄と線画等を1つの画像に合成するために
ビットマップデータとランレングスデータの解像度をビ
ットマップデータの解像度に落とす画像圧縮(解像度変
換)処理を行う必要がある。
【0003】図21は従来の画像圧縮処理の代表的な方
法の例を表わしている。図21(a)は画像圧縮の元に
なる元画像OGを模式的に表わしており、図21(b)
は画像圧縮結果の圧縮画像PGを模式的に表わしてい
る。この例はランレングスデータがビットマップデータ
に対して5倍の解像度があって1/5の画像圧縮処理を
行う場合を示しており、図示されていない光磁気ディス
ク等に記憶されていた元画像OGのY(イエロー),M
(マゼンタ),C(シアン),K(ブラック)の4色に
色分解されたランレングスデータをメモリ等に読み込
み、そのランレングスデータをビットマップ展開した後
に、それに対して加重平均をとることにより圧縮画像を
再び光磁気ディスク等に出力するといった画像圧縮処理
である。以下、図21を用いて従来行われていたこの画
像圧縮処理の手順を示していく。
【0004】図21(a)において、5×5画素の小領
域oa,ob,og,oh,oiはそれぞれ図21
(b)のビットマップデータpa,pb,pg,ph,
piに対応する領域を表わしている。また、ウインドウ
Wは元画像OGの、その領域に対してビットマップ展開
し加重平均を行う9×9画素のウインドウを表わしてい
る。
【0005】まず、元画像OGの左辺LLに接した小領
域oa,ob,・・・のそれぞれの内部のランレングス
データをビットマップ展開する。そのビットマップデー
タはYMCKの4色に色分解されているので各色成分ご
とに単純平均を行い、得られた1画素分のビットマップ
データを図21(b)の圧縮画像PGのビットマップデ
ータpa,pb,・・・として出力する。
【0006】そして、小領域の順次設定が元画像OGの
下辺DLにまで達すると、副走査方向に5画素分ずれ
て、元画像OGの上辺ULに接する位置にある画素ブロ
ックog内のランレングスデータをビットマップ展開
し、YMCK各色成分ごとに単純平均を行い、得られた
1画素分のビットマップデータを図21(b)の圧縮画
像PGのビットマップデータpgとして出力する。
【0007】つぎに、9×9画素のウインドウWを、そ
の中心に画素ブロックohが位置するような領域に設け
る。この状態でのウインドウWは図21(a)において
ウインドウWhとして示されている。そして、そのウイ
ンドウWh内のランレングスデータをビットマップ展開
し、YMCK各色成分ごとに加重平均を行い、得られた
1画素分のビットマップデータを図21(b)の圧縮画
像PGのビットマップデータphとして出力する。
【0008】さらに、図21(a)において9×9画素
のウインドウWを主走査方向に5画素分移動し、ウイン
ドウWiとする。そしてウインドウWhと同様にビット
マップ展開し、加重平均をとることにより1画素分のビ
ットマップデータを生成し、図21(b)の圧縮画像P
Gのビットマップデータpiとして出力する。
【0009】以下、同様にして元画像OGの上辺ULに
接する小領域についてはその小領域内の画素について単
純平均の結果をビットマップデータとして圧縮画像PG
に出力し、それ以外の小領域についてはその画素ブロッ
クを中心とするウインドウ内の画素について加重平均の
結果をビットマップデータとして圧縮画像PGに出力す
る。
【0010】なお、主走査方向の画素数であるyまたは
副走査方向の画素数であるxが5の倍数でない場合は、
下辺DLおよび右辺RLに接する余った画素に対しては
単純平均を行ってビットマップデータを得る。このよう
にして従来は線画等の画像のランレングスデータから圧
縮されたビットマップデータを生成し、絵柄等のビット
マップデータと合成することによって最終的なグラビア
印刷用の色版を作成していた。
【0011】
【発明が解決しようとする課題】ところで、上記の従来
例ではランレングスデータから圧縮画像のビットマップ
データを生成するにあたって、ランレングスデータをま
ず画素ごとのビットマップデータに展開し、そのビット
マップデータに対して加重平均などの処理を行うように
なっていたため、大量のメモリ容量を必要とし、処理に
も時間を要した。
【0012】この発明は、従来例における上述の問題の
克服を意図しており、必要とするメモリ容量が少なくて
すみ、高速で処理が行える画像圧縮方法を提供すること
を目的とする。
【0013】
【課題を解決するための手段】上記の目的を達成するた
め、本発明の請求項1の画像圧縮方法はランレングスと
濃度情報とを組合せたランレングスデータの集合によっ
て表現された入力画像を圧縮して圧縮画像を得る画像圧
縮方法において、(a) 所定の大きさのウインドウを前記
入力画像上に設定する工程と、(b) 各ランレングスのう
ち、前記ウインドウ内に存在する部分をウインドウ内ラ
ンレングスとして抽出する工程と、(c)各ウインドウ内
ランレングスの値を画素数とみなしつつ各ウインドウ内
ランレングスに付随している濃度情報の空間平均を求め
るとともに、求められた平均値を1画素相当の出力画像
データとする工程と、(d) 前記入力画像を前記ウインド
ウで走査し、それぞれの走査位置で得られた前記出力画
像データに基づいて圧縮画像を得る工程と、を備える。
【0014】また、本発明の請求項2の画像圧縮方法は
請求項1の画像圧縮方法において、前記工程(c)が、(c-
1) 抽出された各ウインドウ内ランレングスにそれぞれ
付随する各濃度情報がすべて同一であるか否かを判定す
る工程と、(c-2) 前記各濃度情報がすべて同一でない場
合のみ前記空間平均の計算を実行し、得られた平均値を
出力画像データとする工程と、(c-3) 前記各濃度情報が
すべて同一である場合には、前記同一の濃度情報を前記
出力画像データとする工程と、を有する。
【0015】さらに、本発明の請求項3の画像圧縮方法
は請求項2の方法において、前記入力画像における前記
ランレングスデータの集合は、走査線に沿ったランレン
グスデータの連鎖として与えられているとともに、前記
ウインドウ内の各画素にあらかじめ重み係数が割り当て
られており、前記工程(c-2)は、前記ランレングスデー
タの連鎖のうち前記ウインドウ内に存在する範囲を切り
出して部分連鎖とする工程と、前記部分連鎖を、同一の
重み係数と同一の濃度情報の値とが前記走査線に沿って
連続している区間の集合へと分割する工程と、前記区間
のそれぞれについて、前記同一の重み係数と同一の濃度
情報の値とを当該区間の長さに乗算する工程と、各区間
のそれぞれについて前記乗算で得られた結果の値を累算
して前記ウインドウ内における各濃度情報の加重平均値
を求め、当該加重平均値を前記ウインドウに対応する前
記出力画像データとする工程と、を有する。
【0016】なお、これらの発明における「濃度情報」
とは、カラー画像の場合にはカラー成分の濃度やカラー
コードなどに相当する。
【0017】
【発明の実施の形態】
【0018】
【1.実施の形態における処理の原理】図1(a)はグ
ラビア印刷の製版において使用される画像として、食料
品の包装袋に表示される画像をランレングスデータで表
現した例を示しており、図中の矢符AA,AB,ACは
それぞれランレングスデータを示している。矢符AAが
示すランレングスデータ、すなわち画像の始端から50
画素分は赤色であり、同様に矢符ABが示す60画素は
黄色であり、矢符ACが示す70画素は再び赤色であ
る。
【0019】これらのランレングスデータは、実際には
光磁気ディスク等に図1(b)のように、そのラインの
色を指定するカラーコードと、その色の画素の続く長さ
を示すランレングスLENがシーケンスに格納されてい
る。ランレングスデータRD1は図1(a)の矢符AA
に対するものであり、C3は赤のカラーコードであり、
ランレングスLENは前述のように50画素である。ラ
ンレングスデータRD2,RD3も同様であり、C5は
黄のカラーコードである。このような主走査方向に連な
った順にランレングスデータが光磁気ディスクに格納さ
れていて、さらにその各ラインごとのランレングスデー
タの集まりがさらに副走査方向に隣り合ったライン順に
連なって光磁気ディスクに格納されている。
【0020】そして、このような線画や文字、イラスト
等のランレングスデータを、絵柄を表わすビットマップ
データと併せて用いることにより図1(a)のようなパ
ッケージ等の印刷に用いる色版を生成するのであるが、
その際に、問題となるのがランレングスデータとビット
マップデータの解像度の違いである。この実施の形態で
用いる装置ではランレングスデータが2000dpiで
あるのに対してビットマップデータは400dpiであ
るため両者を合成して色版を生成するためにはランレン
グスデータの解像度を1/5に落とす必要がある。その
ため以下のような画像圧縮を行なう。
【0021】図2は元画像OG内のウインドウWと1/
5圧縮画像PGとの関係を示す説明図である。図2
(a)は画像圧縮の元になる元画像OGを模式的に表わ
しており、図2(b)は画像圧縮結果の圧縮画像PGを
模式的に表わしている。光磁気ディスク等に記憶されて
いた元画像OGのYMCK4色に色分解されたランレン
グスデータをメモリ等に読み込み、その内から9×9画
素のウインドウW内に相当するランレングスデータに対
して、いったんそれをビットマップ展開することなく、
直接にランレングスから圧縮後のビットマップデータを
求め、このようにして圧縮された1画素分の出力画像デ
ータをメモリ等に出力する。そして、この出力画像デー
タをそのまま圧縮画像PGのビットマップデータとして
光磁気ディスク等に出力する。
【0022】ウインドウWはまず図2(a)に示したよ
うに位置させる。このウインドウWから生成された1画
素の圧縮画像は図2(b)の出力画像データpaとして
出力メモリに格納される。この実施の形態ではウインド
ウWに含まれる9×9画素のうち中央側の5×5画素の
領域を「圧縮単位となる画素ブロックの主要部を構成す
る領域」という意味で「単位主領域」と定義する。すな
わち図2(a)の左上のハッチング部分のようにウイン
ドウWが位置する場合はこれに対応する単位主領域が領
域oaであり、元画像OGの上辺ULおよび左辺LLか
ら2画素ずつずらして、順次に単位主領域を定義してい
る。
【0023】この5×5画素の単位主領域1つに対して
出力画像データが1画素分生成されることによりこの画
像圧縮方法の圧縮率は1/5になるのであるが、さらに
この実施の形態の画像圧縮方法では5×5画素の各単位
主領域に対してそれらの周辺の画素の画像データも加味
することによって、9×9画素のウインドウW内のラン
レングスデータから出力画像データを1画素得る構成を
とっている。これにより圧縮画像PGへの元画像OGの
再現性がよくなっている。
【0024】また、図3はウインドウWの移動の様子を
示している。図2(a)のウインドウWは図3のウイン
ドウWaである。このウインドウWaの単位主領域は単
位主領域oaである。ウインドウWaから出力画像デー
タpaを出力した後、ウインドウWを主走査方向に5画
素移動させ、図3中に点線で示したウインドウWbに位
置させる。このウインドウWbの単位主領域は単位主領
域obであり、単位主領域oaおよび単位主領域obは
辺Labを共有して隣接している。すなわちウインドウ
Wはその単位主領域が互いに重ならず、かつ隙間がない
ように密に移動する。そして、図2(b)に示したよう
にウインドウWbから出力画像データpbを出力し、以
下同様に主走査方向に5画素ずつウインドウWを移動さ
せながら出力画像データを出力していく。
【0025】さらに、ウインドウWが元画像OGの下辺
DL(図2)に達するか、あるいは下辺DL付近に到達
して完全な9×9画素がとれなくなった場合には、ウイ
ンドウWを副走査方向に5画素ずらせるとともに主走査
を更新して元画像OGの上辺ULに接する位置、すなわ
ち図3のウインドウWgの位置に移動させる。このとき
の単位主領域は単位主領域ogであり単位主領域oaと
辺Lagを共有している。以下同様に上辺ULおよび左
辺LL側2画素ならびに、下辺DL側p画素および右辺
側q画素以外の領域を単位主領域が重なりや隙間なく覆
い尽くすようにウインドウWをずらしながら出力画像デ
ータを出力していく。
【0026】なお、以上において下辺DL側p画素およ
び右辺側q画素は1つ前のウインドウWが完全に元画像
OG内にありかつ、現時点のウインドウWが完全に元画
像OG内にない場合の残りの画素であるから、それぞれ
2画素以上6画素以下である。また、単位主領域で覆わ
れなかった上辺ULおよび左辺LL側2画素並びに、下
辺DL側p画素および右辺側q画素については元画像O
Gにおいてはふつう余白領域として扱われており、画像
としての意味を持たないことからこの実施の形態では出
力画像データを出力しない。
【0027】また、実施の形態の画像圧縮方法では9×
9画素のウインドウWとその内部の5×5画素の単位主
領域との位置関係は従来技術と同様で、ウインドウWの
中心に5×5画素の単位主領域が位置する構成である
が、元画像OGの左辺LLおよび上辺ULの近傍での処
理が異なる。すなわち、従来技術では元画像OGの左辺
LLおよび上辺ULに接する単位主領域から圧縮画像の
ビットマップデータを得る際には、単位主領域のランレ
ングスデータをビットマップ展開し、それに基づいて単
純平均をとって圧縮画像のビットマップデータを生成し
ていたが、この実施の形態の画像圧縮方法では、元画像
OGの左辺LLおよび上辺ULに接してウインドウWを
設け、単位主領域は左辺LLおよび上辺ULから2画素
分内側から取り始めることとしている。このため左辺L
Lおよび上辺ULの近傍でも元画像OGの内部と同様
に、ウインドウW内のランレングスデータに基づいて加
重平均を取って出力画像データを得る構成となってい
る。このようにすることで、元画像OGの左辺LLおよ
び上辺ULに接する位置の画像圧縮に対して特別の措置
を講ずる必要がなく、処理が単純化できる。
【0028】以上のようにウインドウWを移動させなが
ら各ウインドウWごとに出力画像データを出力していく
が、その際の出力画像データを求める方法の概略は以下
の通りである。
【0029】図4(a)および(b)はそれぞれ1つの
ウインドウW内の元画像OGにおける色の分布とランレ
ングスデータとの関係の例を示している。この図4
(a)および(b)において上から下に走る矢符はそれ
ぞれが1つのランレングスデータを表わしている。この
うち図4(a)は、C1〜C4で表わされる4色のカラ
ーコードのランレングスデータを含む元画像OGを表わ
している。この実施の形態では元画像OGのランレング
スデータをビットマップデータに展開した後に加重平均
計算を行ってその結果に基づいて出力画像データを出力
するのではなく、それぞれのランレングスデータの現ウ
インドウW内におけるランレングスそれぞれの長さを用
いて加重平均計算を行い、出力画像データを出力するこ
とを第1の特徴とするものである。この加重平均の重み
付けの詳細は図9を用いて後述するが、概略を述べると
ウインドウWの中心の画素ほど重み付けを重くし、周囲
ほど軽くするものである。そして各ランレングスデータ
のカラーコードに応じたY,M,C,Kのそれぞれの階
調ごとに、そのランレングスの現ウインドウW内におけ
る長さと、それらのランレングスに対応する画素の位置
の加重平均の重みを掛け合わせたものを画素単位で互い
に加算していくことで1画素分の出力画像データを得る
というものである。
【0030】さらに図4(b)は、C1で表わされるカ
ラーコードのランレングスデータのみからなる元画像O
Gの例を表わしている。この実施の形態ではこのよう
に、元画像OG内に設けられた現ウインドウW内のラン
レングスデータがすべて同一色の場合には、そのカラー
コード(図4(b)の例ではC1)をそのまま出力画像
データを1画素分出力することを第2の特徴としてい
る。
【0031】この実施の形態の画像圧縮方法は上記のよ
うな特徴を備えているため、必要とするメモリ容量が少
なくてすみ、高速で処理が行えるという効果を示すもの
である。
【0032】
【2.実施の形態における処理手順】この実施の形態の
画像圧縮方法は前項において説明した原理に基づいて行
われる。以下において具体的にこの実施の形態の画像圧
縮方法に基づいて画像圧縮処理を行う装置について説明
していく。
【0033】図5は実施の形態の装置におけるランレン
グスデータバッファへのランレングスデータの設定状況
を示す説明図である。この装置は光磁気ディスク装置、
入力メモリ、出力メモリ、CPUを含んで構成されてい
る。そして元画像OGの画像データであるシーケンシャ
ルのランレングスデータは、各ランレングスデータの画
素を単位とした長さ情報である相対ランレングスの形式
で光磁気ディスク装置に保存されている。オペレーター
がこの実施の形態の装置に画像圧縮処理の開始を指示す
ると、この元画像OGのランレングスデータを図5に示
したように光磁気ディスクから入力メモリに読込み、C
PUが画像圧縮処理を自動的にソフトウエア的に行って
いく。
【0034】まず、元画像OGの各走査線ごとに先頭画
素(図2の元画像OGの上辺ULに接した画素)を主走
査原点0として、各ランレングスの終端がこの主走査原
点0からどれだけ離れた距離にあるかを表わす絶対ラン
レングスの形式に変換する。
【0035】具体的には、各走査線ごとに相対ランレン
グス値を順次に加算(累算)することによって絶対ラン
レングスの値が得られる。ただし、最初の画素の座標を
「0」としているため、累算値から「1」を差し引く。
たとえば、着目する走査線上における相対ランレングス
値が図5の例のように「10」,「5」,「30」…で
あるときには、「10−1=9」,「10+5−1=1
4」,「10+5+30−1=44」…のように絶対ラ
ンレングス値が得られる。
【0036】このようにして得られた絶対ランレングス
形式のランレングスデータを入力メモリ内のランレング
スデータバッファに保存する。このときに保存される各
ランレングスデータは図5に示すようにカラーコード
(COL1,COL2,…)と絶対ランレングス(LE
N1,LEN2,…)の2つの情報を備え、ウインドウ
Wの主走査1回分に相当するウインドウラインごとに走
査順に保存される。さらに、各ウインドウラインの先頭
のランレングスデータがランレングスデータバッファ内
のどのアドレスに保存されているかを示すインデックス
情報(ID1,ID2,…)が入力メモリ内のインデッ
クスバッファに保存される。
【0037】なお、この装置ではランレングスデータバ
ッファおよびインデックスバッファはアドレスの順方向
に2分割した状態で部分的に保存されるダブルバッファ
構成をとっている。この2分割された領域にデータを連
続するデータ群として保存し、一方のデータを読み出し
て使用している間に他方を次のデータに書き換えるとい
った入出力を行い、仮想メモリを実現している。
【0038】以上のように入力メモリに元画像OGのラ
ンレングスデータは保存される。このデータを基に画像
圧縮処理を行っていくのであるが、この実施の形態の画
像圧縮方法を実施するにはシーケンスに保存されたラン
レングスデータからウインドウW内に存在する部分を取
り出す必要がある。そのため、この装置では9×9画素
のウインドウWの各ウインドウラインの先頭のランレン
グスデータを特定するアドレス情報を集めた先頭ポイン
タバッファを入力メモリ内に備えている。
【0039】図6は先頭ポインタバッファへのデータの
設定状況を示す説明図である。この先頭ポインタバッフ
ァは処理途中の各時点で出力画像データを生成する対象
としているウインドウW(以下「現ウインドウ」とい
う)の主走査線である各ウインドウラインL1〜L9の
先頭のランレングスデータに対して、 それを指示するインデックス情報IDがインデックス
バッファ内のどのアドレスに保存されているかを表わす
アドレス情報であるIDアドレスと、 そのランレングスデータがランレングスデータバッフ
ァ内のどのアドレスに保存されているかを示す入力デー
タのアドレス情報である入力データアドレスとを、ウイ
ンドウW内のウインドウライン数(この実施の形態では
9)だけ保存している。そしてこの先頭ポインタバッフ
ァの内容はウインドウWが移動する度に更新される。
【0040】さらに、この実施の形態の装置ではウイン
ドウW内に単位主領域をウインドウWの周囲から2画素
ずつ内側に入った中央部の5×5画素の領域として定義
しているが、この領域が各処理の段階ごとに元画像OG
内のどこに位置しているかを示すポインタを設けてい
る。すなわち、画素を単位として主走査方向の位置を表
わすのが主走査ウインドウポインタMWPであり、副走
査方向の位置を表わすのが副走査ウインドウポインタS
WPである。これらのポインタは図6に示したように、
ウインドウWのウインドウラインL2の2画素目の元画
像OGにおける位置を指示している。そしてこの主走査
ウインドウポインタMWPと副走査ウインドウポインタ
SWPはウインドウWが移動する度に更新される。
【0041】以上のような入力メモリ内の各種のバッフ
ァに保存されたデータを利用して、この実施の形態の装
置では前項で説明した画像圧縮処理の原理に基づいて入
力画像の1/5画像圧縮処理を行う。この画像圧縮処理
は、各ランレングスのうち現ウインドウ内に存在する部
分をウインドウ内ランレングスとして抽出し、 各ウインドウ内ランレングスにそれぞれ付随するカラ
ーコードが同一色の場合はその同一色の1画素分のカラ
ーコードを出力画像データとし、 そうでない場合には、各ウインドウ内ランレングスの
長さを画素数と見なしつつそれらのウインドウ内ランレ
ングスに付随しているカラーコードの空間平均を加重平
均計算によって行い、出力画像データを得る。これは
Y,M,C,Kの各色成分のそれぞれに対して個別に行
われる。
【0042】そしてこの実施の形態の装置ではその加重
平均計算の途中経過を設定するための加重平均経過バッ
ファを出力メモリ内に備え、さらにそれらにより求めら
れたウインドウWに対する出力画像データを保存する出
力画像データバッファが出力メモリ内に設けられてい
る。以下この画像圧縮処理の手順について説明してい
く。図7および図8は実施の形態における画像圧縮処理
のフローチャートである。
【0043】まず、図7のステップS1において主走査
ウインドウポインタMWPと副走査ウインドウポインタ
SWPの両方に初期値として1をセットする。これは元
画像OGの各画素に対して主走査方向および副走査方向
のそれぞれに0,1,2・・・と座標値を設定している
ので、初期値を(MWP,SWP)=(1,1)として
いるのである。
【0044】つぎに、ステップS2において前述の先頭
ポインタバッファに対して各ウインドウラインごとにそ
れぞれIDアドレスおよび入力データアドレスを設定す
る。
【0045】つぎに、ステップS3においてウインドウ
Wの先頭のランレングスデータ、すなわち入力データア
ドレスが指定するアドレスに保存されているランレング
スデータのカラーコードをウインドウラインL1〜L9
のすべてについて互いに比較し、同一ならばステップS
4に進み、そうでなければステップS9に進む。
【0046】各ウインドウラインのランレングスデータ
のカラーコードが等しければ、ステップS4において全
ウインドウラインのウインドウW内の全ランレングスデ
ータのランレングスLENを参照してそれらを相互に比
較することによって、現ウインドウW内の最小のランレ
ングスLENであるミニマムランレングスを求める。
【0047】そして、ステップS5においてミニマムラ
ンレングスと現ウインドウWの主走査方向の最後端(以
下「エンド点」という)の絶対ランレングスの表現によ
る位置とを比較し、ウインドウW内がすべて同一のカラ
ーコードを持つランレングスデータによって占められて
いるかどうかの判定を行う。実際には、 絶対ランレングスで表現されたミニマムランレングス
と、 主走査ウインドウポインタMWPに、主走査ウインド
ウポインタMWPとウインドウWのエンド点との画素を
単位とした距離である7を加えた値とを比較し、ミニマ
ムランレングスの方が小さければウインドウW内のラン
レングスデータがすべて同一のカラーコードを持ってい
ないことになるため、ステップS9へ進み、逆にミニマ
ムランレングスの方が大きければウインドウW内がすべ
て同一のカラーコードを持つランレングスデータによっ
て占められていることになるため、ステップS6へ進
む。
【0048】現ウインドウW内全体が同一のカラーコー
ドのランレングスデータで占められていた場合にステッ
プS6においてそのカラーコードの1画素分の出力画像
データを出力する。そして、現ウインドウWを5画素分
主走査方向に移動させるため主走査ウインドウポインタ
MWPに5を加算し、さらにステップS8において移動
した現ウインドウWが元画像OG内に収まっているかど
うかを判定し、元画像OG内に収まっていなければ、す
なわち主走査方向に元画像OGのランレングスデータが
さらに9画素分完全になければ図8のステップS12に
進み次のウインドウラインに処理を移す。
【0049】逆にまだ9画素分完全に残っていれば図7
のステップS5に戻り、再度ミニマムランレングスと主
走査ウインドウポインタMWPに7を加えた値を比較す
る。そしてミニマムランレングスが現ウインドウWを主
走査方向に縦断しなくなるか、主走査方向のランレング
スデータが終了するまでステップS5〜S8の処理を繰
返す。
【0050】また、現ウインドウW内全体が同一のカラ
ーコードのランレングスデータで占められていない場
合、すなわちステップS3およびS5の判定結果がNO
の場合には、ステップS9において現ウインドウW内の
全ランレングスデータを読み出してその値を基にY,
M,C,Kの各成分ごとに各画素の加重平均をとって1
画素分の出力画像データを生成し出力メモリに出力す
る。
【0051】すなわち、この場合には図4(a)に例示
したように複数のカラーコードのランレングスが現ウイ
ンドウW中に混在しているためにこれらの平均を算出す
るが、そこでは各カラーの画素数をビットマップ展開で
求めるのではなく、ランレングスから直接に算出する。
たとえば図4(a)のカラーコードC2,C4のランレ
ングスのようにその全体が現ウインドウW内にある場合
を考える。この場合はカラーコードC2(あるいはC
4)のランレングス値から、一つ前のランレングスデー
タであるカラーコードC1の当該走査線上のランレング
ス値を減算することで、カラーコードC2(あるいはC
4)の画素数を計算する。
【0052】一方、図4(a)における残りのカラーコ
ードC1,C3については以下のようになる。まず、図
4(a)のカラーコードC1のようにランレングスの始
点が現ウインドウWよりも前にあり、かつ終点が現ウイ
ンドウW内にあるものについては、現ウインドウWの上
辺からそのランレングスの終点(絶対ランレングス値)
までがウインドウ内ランレングスとなり、その距離がこ
のウインドウ内ランレングスに相当する画素数とみなさ
れる。
【0053】また、図4(a)のカラーコードC3のよ
うにランレングスの始点が現ウインドウW中にあり、か
つ終点が現ウインドウWより後にあるものについては、
そのランレングスの始点から現ウインドウWの下辺まで
がウインドウ内ランレングスとなり、その距離がこのウ
インドウ内ランレングスに相当する画素数とみなされ
る。ただし、カラーコードC3のランレングスの始点は
その直前に位置するところの、カラーコードC1(ある
いはC2,C4)のランレングスの「絶対ランレング
ス」値からわかるため、それを利用して計算を行う。
【0054】このようにして元画像を構成するランレン
グスの集合のうち、現ウインドウW内に存在する部分が
ウインドウ内ランレングスとして走査線ごとに抽出さ
れ、それらの長さが画素数と見なされて空間平均を求め
るわけであるが、この実施の形態ではウインドウW内の
画素位置によって重み係数を異ならせたような加重平均
を行う。その詳細は後述するが、上記のようなウインド
ウ内ランレングスの抽出ないしは切り出しの具体的ルー
チンはこれらの加重平均のための処理の中に組み込まれ
ている。
【0055】つぎに、ステップS9において次のウイン
ドウWの先頭ポインタバッファのデータを更新する。そ
して図8に移りステップS10において主走査ウインド
ウポインタMWPに5を加算し現ウインドウWを5画素
分主走査方向に移動する。そしてステップS11におい
て移動した現ウインドウW内の主走査方向に元画像OG
のランレングスデータがさらに9画素分完全にあれば図
7のステップS3に戻り、そのウインドウWに対して前
ウインドウWと同様の処理を行っていく。逆に9画素分
完全になければ、元画像OGの主走査方向の残りのラン
レングスデータからは出力画像データの生成を行わず、
図8のステップS12において副走査ウインドウポイン
タSWPに5を加算し、主走査ウインドウポインタMW
Pを初期値1に戻し、前ウインドウWとは副走査方向に
5画素分進んだ元画像OGの先頭位置に現ウインドウW
を移動する。そして、ステップS13において移動した
現ウインドウWが副走査方向について元画像OG内に収
まっているかどうかを判定し、元画像OG内に収まって
いれば、すなわち副走査方向に元画像OGのランレング
スデータがさらに9画素分完全にあれば図7のステップ
S2に戻り、その副走査方向の位置について上記処理と
同様の処理を行っていく。逆に副走査方向に元画像OG
のランレングスデータがさらに9画素分完全になけれ
ば、元画像OGの副走査方向の残りのランレングスデー
タからは出力画像データの生成を行わず、これで全体に
対する出力画像データの生成が終了したことになるの
で、画像圧縮処理は終了する。
【0056】
【3.実施の形態における加重平均】つぎに前項で省略
した加重平均処理について説明する。図9(a)〜
(c)は加重平均処理におけるウインドウW内の各画素
の重み係数を模式的に示した説明図である。このうち図
9(c)はウインドウWの各画素P11〜P99(Y,
M,C,Kの各成分を代表して表わす)の空間的分布を
表わしている。そして、この分布のうちウインドウWの
中心画素P55を通る主走査方向または副走査方向の1
次元画素配列HR,VTが図9(b)に例示されるとと
もに、これらの各画素に対応する重みづけの分布曲線W
Lが図9(a)に示されている。
【0057】図9(a)に示されているようにこの実施
の形態におけるウインドウW内の重み係数の分布は中央
が高く周囲が低い左右対称の山状である。図9(c)に
おいてウインドウW内の実線の矩形のそれぞれは等高線
に相当するものであって、異なる矩形で挟まれた画素群
が同じ重み係数をもつ画素を表わしている。それぞれの
重み係数は中心から順にG1,G2,G3,G4,G5
である。そして図9(a)の分布値W1〜W5と図9
(c)の重み係数G1〜G5との関係は、
【0058】
【数1】
【0059】で表わされる。ここでFは
【0060】
【数2】
【0061】であって規格化定数である。このように、
重み係数G1〜G5は分布値W1〜W5をウインドウW
内の全画素について規格化したものである。そして、こ
れらの重み係数G1〜G5と各画素P11〜P99の各
色成分を基に出力画像データの各色成分PPを求める計
算式は
【0062】
【数3】
【0063】である。なお、数3では各画素のY,M,
C,Kの任意の色成分値をP11〜P99として表わし
ているものとする。そして数3の計算をY,M,C,K
の各成分について計算する。ただし、数3の計算式は元
画像OGをビットマップデータに変換した場合の計算式
である。この実施の形態の画像圧縮方法では元画像OG
のウインドウW内のランレングスデータをビットマップ
展開することなくそのままランレングスLENの形で用
いる構成としているため、数3をそのままの形で利用す
るわけではない。以下、その方法を具体的に説明してい
くが、その前に加重平均計算の加算を行うための計算経
過の処理方法について説明していく。
【0064】図10はこの実施の形態の装置の加重平均
の加算のための計算途中のデータの累積方法を表わす説
明図である。この実施の形態の装置では前述のように出
力メモリ内に出力画像データバッファと加重平均経過バ
ッファを備えている。そしてウインドウW内のランレン
グスデータがすべて同一色でなかった場合には加重平均
計算によって出力画像データを生成していくのである
が、その加重平均計算の概要は以下のようである。
【0065】まず、ウインドウW内の先頭ポインタバッ
ファに示された各ウインドウラインのランレングスデー
タの絶対ランレングスがMWP+7以上となるまでラン
レングスデータを読み出しながら、各ランレングスデー
タを用いて各ウインドウラインごとに数3の計算式に基
づいて加重平均計算を行い、加重平均経過バッファに各
ランレングスデータごとの計算結果を加算していく。
【0066】具体的には、ウインドウラインL1のラン
レングスデータ11を読込み、そのランレングスデータ
と、その該当しているウインドウW内の重み係数を用い
て、数3に基づいて加重平均計算の加算の1部を計算
し、加重平均経過バッファに保存する。さらにランレン
グスデータ12,13…をランレングスデータのランレ
ングスLENがMWP+7以上となるまで順に読み込み
それぞれに対して、ランレングスデータ11と同様の計
算を行い、その結果を加重平均経過バッファに累積加算
していく。
【0067】そして、このような加重平均経過バッファ
による累積加算を現ウインドウW内の全ウインドウライ
ンL1〜L9に対して行った段階で数3の計算が完了し
ている。そこで、加重平均経過バッファのデータは出力
画像データの1画素分となっているので出力画像データ
バッファに出力し、加重平均経過バッファの内容を初期
化した後、次のウインドウWに対して同様の処理を行っ
ていく。
【0068】また、上記の加重平均計算の過程で各ウイ
ンドウラインのランレングスデータを読み込んでいく
が、その際にランレングスデータのランレングスLEN
がMWP+4(次のウインドウWの先頭画素の位置)以
上となった段階で次のウインドウWの先頭のランレング
スデータを指定するために先頭ポインタバッファ内に保
存されているIDアドレス(インデックス情報)や入力
データアドレスをそのランレングスデータに対するもの
に更新する。この処理はウインドウW内の全ウインドウ
ラインL1〜L9に対して同様に行われる。
【0069】つぎに、ウインドウW内の各ウインドウラ
インごとの具体的な加重平均計算の手順を示す。
【0070】図11はこの実施の形態の装置における加
重平均計算のフローチャートである。このフローチャー
トは図7のフローチャートのステップS9に相当する。
まず、ステップS21において加重平均経過バッファの
Y,M,C,Kの各色成分に相当する各成分値Yt,M
t,Ct,Ktのそれぞれに0を代入して初期化する。
【0071】つぎに、ステップS22〜S30において
ウインドウラインL1,L9,L2,L8,L3,L
7,L4,L6,L5の順にそれぞれについて重み係数
をランレングスLENに乗じた値を加重平均経過バッフ
ァの各色成分値Yt,Mt,Ct,Ktに加算する。
【0072】そして最後にステップS31において最終
的に加重平均経過バッファの各色成分値Yt,Mt,C
t,Ktとして保存された値を出力画像データバッファ
に出力する。
【0073】これが加重平均計算の概要である。そし
て、以下にステップS22〜S30の各ステップの処理
を説明していく。なお、この実施の形態の装置では図9
(c)に示したようにウインドウラインL1とL9,L
2とL8,L3とL7,L4とL6はそれぞれ互いに重
み係数の分布が同じであるから実質的には同じ処理であ
る。そこで図11のステップS22〜S30においてス
テップS22とS23、ステップS24とS25、ステ
ップS26とS27、ステップS28とS29のそれぞ
れを以下においてまとめて示す。なお、それらの説明に
おいてランレングスデータはそれぞれのウインドウライ
ンを指すものである。
【0074】<ウインドウラインL1およびL9>図1
2および図13は図11のフローチャートのステップS
22およびS23の処理のフローチャートである。上述
のようにウインドウラインL1とL9の重み付けは同じ
G5である。
【0075】まず図12のステップS221において先
頭ポインタバッファの更新の処理状況を示す(更新して
いない場合は0、更新済みの場合は1)フラグFを0に
初期化し、現在処理対象としているランレングスデータ
の始点D1および終点D2の初期値として、始点D1に
は主走査ウインドウポインタMWPから2だけ減算した
値を、終点D2には先頭ポインタバッファに示されたラ
ンレングスデータのランレングスLENを設定する。な
お、このステップS221の処理は後に初期化1のサブ
ルーチンとして参照される。
【0076】つぎに、ステップS222において終点D
2すなわちウインドウW内のウインドウラインの先頭の
ランレングスデータのランレングスLENと主走査ウイ
ンドウポインタMWPに7を加えた値を比較する。すな
わち前者が大きければランレングスLENが現ウインド
ウWを主走査方向に縦断しており、後者が大きければ縦
断していない場合を意味している。そして縦断していれ
ばステップS223に進み終点D2に現ウインドウWの
エンド点の位置MWP+7を設定し、逆に縦断していな
ければそのままの終点D2を用いる。
【0077】その後、ステップS224において対象と
なるランレングスデータのYMCK各色成分の値に、現
ウインドウW内における画素を単位とした長さD2−D
1に重み係数G5を乗じたものを掛け合わせた値を、加
重平均経過バッファの各色成分値Yt,Mt,Ct,K
tに加算する。
【0078】つぎに、ステップS225においてフラグ
Fを判定し、0でなければ図13のステップS229に
進む。逆に0であれば図12のステップS226に進
み、終点D2と主走査ウインドウポインタMWP+4を
比較する。そして、前者が大きければ現在処理対象とな
っているランレングスデータが、5画素主走査方向に移
動した位置でのウインドウWの先頭のランレングスデー
タであるのでステップS227に進み、対象となってい
るランレングスデータのアドレスおよびそのIDアドレ
スを先頭ポインタバッファに設定し、さらにステップS
228においてフラグFを1に更新し、図13のステッ
プS229に進む。逆に図12のステップS226にお
いて終点D2の方が小さい場合はそのまま図13のステ
ップS229に進む。なお、図12中に点線で囲んだス
テップS225〜S228の処理は後に先頭ポインタ更
新処理1のサブルーチンとして参照される。
【0079】図13のステップS229においては終点
D2と主走査ウインドウポインタMWP+7を比較す
る。そして後者が大きければステップS230に進み次
の処理対象となるランレングスデータの始点D1を現在
処理対象となっているランレングスデータの終点D2に
更新する。そしてステップS231において次の処理対
象となるランレングスデータのランレングスLENおよ
びカラーコードに対応するYMCKの各色成分値をCP
U内のRAMから読み込み、ステップS232において
さらに終点D2の値をランレングスLENによって更新
する。そして再びステップS222以降の処理を繰返
す。なお、図中に点線で囲んだステップS230〜S2
32の処理は後にデータ更新処理1のサブルーチンとし
て参照される。
【0080】逆にステップS229において終点D2の
方が大きければ、このウインドウラインL1およびL9
の処理を終了する。
【0081】以上の処理をウインドウラインL1とL9
について行うことによって図11のステップS22およ
びS23の処理は終了する。
【0082】これらの処理において、その時点で着目し
ている各ランレングスが現ウインドウWの先まで伸びて
いるかどうかを判定する工程がステップS222,S2
29の判断であって、S229の判断結果がNOである
限り次のランレングスを取り込み、S222の判断結果
がYESとなったときには現ウインドウWの下辺でラン
レングスの切断を行うことになる。これらによって一連
のランレングスデータのうち現ウインドウW内に存在す
る部分を抽出していることになる。以下の他のウインド
ウラインについての説明においても同様であって、主走
査ウインドウポインタMWPにウインドウサイズに応じ
た値(7など)を加えた値と、ランレングスの始点D1
や終点D2との比較結果によってプロセスが分岐され、
一連のランレングスのうち現ウインドウW内に存在する
部分のみが抽出されて加重平均の基礎とされる。
【0083】<ウインドウラインL2およびL8>つぎ
に図11のステップS24およびS25の処理に進む。
これらのステップの処理の詳細を示したのが図14のフ
ローチャートである。ここでもウインドウラインL2と
L8は同じ重み係数G4およびG5であるから実質的に
は同じ処理である。
【0084】まず、ステップS241は前述の初期化1
のサブルーチンとしてフラグFや現在処理対象としてい
るランレングスデータの基準点(始点−1)D1および
終点D2の初期設定を行う。つぎに、ステップS242
においてウインドウW内のウインドウラインの先頭のラ
ンレングスデータのランレングスLENと主走査ウイン
ドウポインタMWPに6を加えた値を比較する。すなわ
ち、処理対象としているランレングスデータが図9
(c)のウインドウラインL2の画素P82またはウイ
ンドウラインL8の画素P88にまで達しているか、い
ないかの判定を行い、YESなら達しているためステッ
プS243において主走査ウインドウポインタMWP+
6を終点D2に設定する。逆にNOなら縦断していない
ため終点D2にそのままの値を用いる。なお、図中に点
線で囲んだステップS242〜S243の処理は後にリ
ミット処理1のサブルーチンとして参照される。
【0085】つぎに、ステップS244において、図9
(c)の画素P12またはP18の1画素の各色成分値
に重み係数G5を乗じて加重平均経過バッファの各色成
分に加算する。なお、このステップS244の処理は後
に計算処理1のサブルーチンとして参照される。
【0086】つぎにステップS245において終点D2
が主走査ウインドウポインタMWP以上であるかどうか
の判定を行い、YESであればこの時点では基準点D1
=MWP−2なのでD1に1を加算して基準点D1=M
WP−1にして重み付けがG5の領域の画素P12また
はP18の1画素分を処理対象としているランレングス
データから除外しステップS249に進む。逆にNOで
あればこの時点での処理対象としているランレングスデ
ータは基準点D1=MWP−2、終点D2=MWP−1
ということであるから重み係数がG5の領域の画素P1
2またはP18の1画素のみランレングスデータという
ことである。そこでステップS247でデータ更新処理
1のサブルーチンを実行し、次のランレングスデータを
読込み、ステップS248でリミット処理1のサブルー
チンを実行することにより処理対象としているランレン
グスデータのランレングスLENをMWP+6以下にす
る。
【0087】つぎにステップS249において処理対象
としているランレングスデータの各色成分にそのランレ
ングスであるD2−D1と重み係数G4を乗じて加重平
均経過バッファの各色成分に加算する。
【0088】つぎにステップS250において終点D2
がMWP+4以上なら処理対象としているランレングス
データが次のウインドウWの先頭のランレングスデータ
になるため先頭ポインタバッファ更新処理1のサブルー
チンを実行する。
【0089】つぎにステップS251において終点D2
が重み係数G4の領域の終点、すなわち画素P82また
はP88に達しているかどうかを判定する。そしてYE
SであればそのままステップS252へ進み、NOであ
ればステップS247に戻り以降の処理を繰返す。
【0090】つぎに、ステップS252において終点D
2がMWP+7以上であるかどうかを判定する。YES
であればそのままステップS254へ進み、NOであれ
ばステップS253においてデータ更新処理1のサブル
ーチンを実行し、次のデータを読み込む。
【0091】そしてステップS254において計算処理
1のサブルーチンを実行することにより重み係数G5の
領域の画素P92またはP98の各色成分の加算処理を
行い図11のステップS24およびS25の処理を終了
する。
【0092】なお、以上の処理においてステップS24
7およびステップS247のデータ更新処理1でウイン
ドウラインL2またはL8内の次のランレングスデータ
を読み込んでいるが、これは現ウインドウW内において
それぞれの走査線に沿って連鎖しているランレングスデ
ータを次々と読み込む処理を示している。
【0093】さらに、ステップS244の計算処理1ま
たはステップS246で処理対象としているランレング
スデータの基準点D1を1つ繰り上げる処理、またはス
テップS242〜S243やステップS248のリミッ
ト処理1で図9(c)の重みづけG4の領域の画素P8
2でランレングスデータを区切っている処理は、同一の
重み係数(重みづけG5,G4)と同一の濃度情報の値
(同一のランレングスデータのカラーコード)とがウイ
ンドウW内の走査線に沿って連続している区間の集合へ
と分割を行っている。
【0094】そしてこのような連鎖するランレングスデ
ータの読込みや、各ランレングスデータの区切りの処理
は以下のウインドウラインL3,L7およびL4,L6
およびL5の処理においても同様のステップで行われ
る。
【0095】<ウインドウラインL3およびL7>つぎ
に図11のステップS26およびS27の処理に進む。
これらのステップの処理の詳細を示したのが図15およ
び図16のフローチャートである。ここでもウインドウ
ラインL3とL7はおなじ重み係数の分布をしているた
め実質的に同じ処理を行う。
【0096】まず図15のステップS261において初
期化1のサブルーチンを実行し、フラグF,現ウインド
ウW内のウインドウラインL3あるいはL7のランレン
グスデータの基準点D1,終点D2を設定する。
【0097】つぎにステップS262において終点D2
がMWP+5以上であるかどうかの判定を行う。YES
であれば終点D2にMWP+5をセットしステップS2
64に進む。NOであればそのままステップS264に
進む。なお、図中に点線で囲んだステップS262およ
びS263を併せてリミット処理2のサブルーチンとす
る。
【0098】つぎにステップS264において前述の計
算処理1のサブルーチンを実行し、現ウインドウWの先
頭1画素(図9(c)の画素P13またはP17)の各
色成分に重み係数G5を乗じて加重平均経過バッファの
各色成分に加算する。
【0099】つぎにステップS265において終点D2
とMWPを比較する。YESであればステップS266
において処理対象としているランレングスデータから先
頭の画素を除くために基準点D1に1を加算する。NO
であればステップS267においてデータ更新処理1の
サブルーチンを実行しステップS268でリミット処理
2のサブルーチンを実行し、終点D2をMWP+5以下
にする。
【0100】つぎにステップS269において現ウイン
ドウWの先頭から2画素目(図9(c)の画素P23ま
たはP27)の各色成分に対して重み係数G4を乗じて
加重平均経過バッファの各色成分に加算する。なお、以
下においてこのステップの処理を計算処理2のサブルー
チンとする。
【0101】つぎに図16のステップS270において
終点D2がMWP+1以上であるかどうかの判定を行
う。YESであればこの時点で基準点D1=MWP−1
であるからD1に1を加算して基準点D1=MWPと
し、処理対象としているランレングスデータから重み係
数G4の領域の1画素(図9(c)の画素P23または
P27)を除去する。NOであれば処理対象としている
ランレングスデータは基準点D1=MWP−1、終点D
2=MWPであるから重み係数G4の領域にある1画素
のみである。そこでステップS272においてデータ更
新処理1のサブルーチンを実行し、次のランレングスデ
ータを読込み、ステップS273でリミット処理2のサ
ブルーチンを実行し、終点D2をMWP+5以下とす
る。
【0102】つぎにステップS274において処理対象
としているランレングスデータの各色成分に重み係数G
3とランレングスD2−D1を乗じて加重平均経過バッ
ファの各色成分に加算する。
【0103】つぎにステップS275において移動した
後の次のウインドウWのために先頭ポインタ更新処理1
のサブルーチンを実行し、先頭ポインタバッファのデー
タを更新する。
【0104】つぎにステップS276において終点D2
がMWP+5(重み係数G3の領域)を越えるかどうか
の判定を行う。YESであればステップS277に進
み、NOであればステップS272に戻り以降の処理を
繰返す。
【0105】つぎにステップS277において終点D2
がMWP+6(重み係数G4の領域)を越えるかどうか
の判定を行う。YESであればステップS279に進
み、NOであればステップS278においてデータ更新
処理1のサブルーチンを実行し、次のランレングスデー
タを読み込み、重み係数G4の領域に達するデータを得
る。
【0106】つぎにステップS279において計算処理
2のサブルーチンを実行し重み係数G4の領域の1画素
(図9(c)の画素P83またはP87)の各色成分に
重み係数G4を乗じて加重平均経過バッファの各色成分
に加算する。
【0107】つぎにステップS280において終点D2
がMWP+7(重み係数G5の領域)を越えるかどうか
の判定を行う。YESであればステップS282に進
み、NOであればステップS281においてデータ更新
処理1のサブルーチンを実行し、次のランレングスデー
タを読み込み、重み係数G5の領域に達するデータを得
る。
【0108】つぎにステップS282において計算処理
1のサブルーチンを実行し、重み係数G5領域の1画素
(図9(c)の画素P93またはP97)の各色成分に
重み係数G5を乗じて加重平均経過バッファの各色成分
に加算し、このウインドウラインL3およびL7の処理
を終了する。
【0109】以上の処理をウインドウラインL3とL7
について行うことによって図11のステップS26およ
びS27の処理は終了する。
【0110】<ウインドウラインL4およびL6>つぎ
に図11のステップS28およびS29の処理に進む。
これらのステップの処理の詳細を示したのが図17およ
び図18のフローチャートである。ここでもウインドウ
ラインL4とL6はおなじ重み係数の分布をしているた
め実質的に同じ処理を行う。
【0111】まず図17のステップS291において初
期化1のサブルーチンを実行し、フラグF,現在処理対
象としているランレングスデータの基準点D1,終点D
2の初期値を設定する。
【0112】つぎにステップS292において終点D2
がMWP+4以上であるかどうかの判定を行う。YES
であれば終点D2にMWP+4をセットしステップS2
94に進む。NOであればそのままステップS294に
進む。なお、図中に点線で囲んだステップS292およ
びS293を併せてリミット処理3のサブルーチンとす
る。
【0113】つぎにステップS294において前述の計
算処理1のサブルーチンを実行し、現ウインドウWの先
頭1画素(図9(c)の画素P14またはP16)の各
色成分に重み係数G5を乗じて加重平均経過バッファの
各色成分に加算する。
【0114】つぎにステップS295において終点D2
とMWPを比較する。YESであればステップS296
において処理対象としているランレングスデータから先
頭の画素を除くために基準点D1に1を加算する。NO
であればステップS297においてデータ更新処理1の
サブルーチンを実行しステップS298でリミット処理
3のサブルーチンを実行し、終点D2をMWP+4以下
にする。
【0115】つぎにステップS299において前述の計
算処理2のサブルーチンを実行し現ウインドウWの先頭
から2画素目(図9(c)の画素P24またはP26)
の各色成分に対して重み係数G4を乗じて加重平均経過
バッファの各色成分に加算する。
【0116】つぎにステップS300において終点D2
がMWP+1以上であるかどうかの判定を行う。YES
であればこの時点で基準点D1=MWP−1であるから
D1に1を加算して基準点D1=MWPとし、処理対象
としているランレングスデータから重み係数G4の領域
の1画素(図9(c)の画素P24またはP26)を除
去する。NOであれば処理対象としているランレングス
データは基準点D1=MWP−1、終点D2=MWPで
あるから重み係数G4の領域にある1画素のみである。
そこでステップS302においてデータ更新処理1のサ
ブルーチンを実行し、次のランレングスデータを読込
み、ステップS303でリミット処理3のサブルーチン
を実行し、終点D2をMWP+4以下とする。
【0117】つぎにステップS304において現ウイン
ドウWの先頭から3画素目(図9(c)の画素P34ま
たはP36)の各色成分に対して重み係数G3を乗じて
加重平均経過バッファの各色成分に加算する。なお、以
下においてこのステップの処理を計算処理3のサブルー
チンとする。
【0118】つぎに図18のステップS305において
終点D2がMWP+2以上であるかどうかの判定を行
う。YESであればこの時点で基準点D1=MWPであ
るからD1に1を加算して基準点D1=MWP+1と
し、処理対象としているランレングスデータから重み係
数G3の領域の1画素(図9(c)の画素P34または
P36)を除去する。NOであれば処理対象としている
ランレングスデータは基準点D1=MWP、終点D2=
MWP+1であるから重み係数G3の領域にある1画素
のみである。そこでステップS307においてデータ更
新処理1のサブルーチンを実行し、次のランレングスデ
ータを読込み、ステップS308でリミット処理3のサ
ブルーチンを実行し、終点D2をMWP+4以下とす
る。
【0119】つぎにステップS309において処理対象
としているランレングスデータの各色成分に重み係数G
2とランレングスD2−D1を乗じて加重平均経過バッ
ファの各色成分に加算する。
【0120】つぎにステップS310において移動した
後の次のウインドウWのために先頭ポインタ更新処理1
のサブルーチンを実行し、先頭ポインタバッファのデー
タを更新する。
【0121】つぎにステップS311において終点D2
がMWP+4(重み係数G2の領域)を越えるかどうか
の判定を行う。YESであればステップS312に進
み、NOであればステップS307に戻り以降の処理を
繰返す。
【0122】つぎにステップS312において終点D2
がMWP+5(重み係数G3の領域)を越えるかどうか
の判定を行う。YESであればステップS314に進
み、NOであればステップS313においてデータ更新
処理1のサブルーチンを実行し、次のランレングスデー
タを読み込み、重み係数G3の領域に達するデータを得
る。
【0123】つぎにステップS314において計算処理
3のサブルーチンを実行し重み係数G3の領域の1画素
(図9(c)の画素P74またはP76)の各色成分に
重み係数G3を乗じて加重平均経過バッファの各色成分
に加算する。
【0124】つぎにステップS315において終点D2
がMWP+6(重み係数G4の領域)を越えるかどうか
の判定を行う。YESであればステップS317に進
み、NOであればステップS316においてデータ更新
処理1のサブルーチンを実行し、次のランレングスデー
タを読み込み、重み係数G4の領域に達するデータを得
る。
【0125】つぎにステップS317において計算処理
2のサブルーチンを実行し重み係数G4の領域の1画素
(図9(c)の画素P84またはP86)の各色成分に
重み係数G4を乗じて加重平均経過バッファの各色成分
に加算する。
【0126】つぎにステップS318において終点D2
がMWP+7(重み係数G5の領域)を越えるかどうか
の判定を行う。YESであればステップS320に進
み、NOであればステップS319においてデータ更新
処理1のサブルーチンを実行し、次のランレングスデー
タを読み込み、重み係数G5の領域に達するデータを得
る。
【0127】つぎにステップS320において計算処理
1のサブルーチンを実行し、重み係数G5領域の1画素
(図9(c)の画素P94またはP96)の各色成分に
重み係数G5を乗じて加重平均経過バッファの各色成分
に加算し、このウインドウラインL4およびL6の処理
を終了する。なお、図中に点線で囲んだS312〜S3
20の処理をまとめて複合処理1のサブルーチンとす
る。
【0128】以上の処理をウインドウラインL4とL6
について行うことによって図11のステップS28およ
びS29の処理は終了する。
【0129】<ウインドウラインL5>つぎに図11の
ステップS30の処理に進む。このステップの処理の詳
細を示したのが図19および図20のフローチャートで
ある。ここではウインドウラインL5の処理を行う。
【0130】まず図19のステップS401において初
期化1のサブルーチンを実行し、フラグF,現在処理対
象としているのランレングスデータの基準点D1,終点
D2の初期値を設定する。
【0131】つぎにステップS402において前述の計
算処理1のサブルーチンを実行し、現ウインドウWの先
頭1画素(図9(c)の画素P15)の各色成分に重み
係数G5を乗じて加重平均経過バッファの各色成分に加
算する。
【0132】つぎにステップS403において終点D2
とMWPを比較する。YESであればステップS405
に進む。NOであればステップS404においてデータ
更新処理1のサブルーチンを実行し、ステップS405
に進む。
【0133】つぎにステップS405において前述の計
算処理2のサブルーチンを実行し現ウインドウWの先頭
から2画素目(図9(c)の画素P25)の各色成分に
対して重み係数G4を乗じて加重平均経過バッファの各
色成分に加算する。
【0134】つぎにステップS406において終点D2
がMWP+1以上であるかどうかの判定を行う。YES
であればステップS408へ進む。NOであればステッ
プS407においてデータ更新処理1のサブルーチンを
実行し、次のランレングスデータを読込み、ステップS
408へ進む。
【0135】つぎにステップS408において計算処理
3のサブルーチンを実行し現ウインドウWの先頭から3
画素目(図9(c)の画素P35)の各色成分に対して
重み係数G3を乗じて加重平均経過バッファの各色成分
に加算する。
【0136】つぎにステップS409において終点D2
がMWP+2以上であるかどうかの判定を行う。YES
であれば図20のステップS411に進む。NOであれ
ば図19のステップS410においてデータ更新処理1
のサブルーチンを実行し、次のランレングスデータを読
込み、図20のステップS411に進む。
【0137】つぎに図20のステップS411において
現ウインドウWの先頭から4画素目(図9(c)の画素
P45)の各色成分に対して重み係数G2を乗じて加重
平均経過バッファの各色成分に加算する。なお、以下に
おいてこのステップの処理を計算処理4のサブルーチン
とする。
【0138】つぎにステップS412において終点D2
がMWP+3以上であるかどうかの判定を行う。YES
であればステップS414に進む。NOであればステッ
プS413においてデータ更新処理1のサブルーチンを
実行し、次のランレングスデータを読込み、ステップS
414に進む。
【0139】つぎにステップS414において現ウイン
ドウWの先頭から重み係数G1の画素(図9(c)の画
素P55)の各色成分に対して重み係数G1を乗じて加
重平均経過バッファの各色成分に加算する。
【0140】つぎにステップS415において終点D2
がMWP+4以上であるかどうかの判定を行う。YES
であればステップS417に進む。NOであればステッ
プS416においてデータ更新処理1のサブルーチンを
実行し、次のランレングスデータを読込み、ステップS
417に進む。
【0141】つぎにステップS417において計算処理
4のサブルーチンを実行し重み係数G2の領域の1画素
(図9(c)の画素P65)の各色成分に重み係数G2
を乗じて加重平均経過バッファの各色成分に加算する。
【0142】つぎにステップS418において、移動し
た後の次のウインドウWのために先頭ポインタ更新処理
1のサブルーチンを実行し、先頭ポインタバッファのデ
ータを更新する。
【0143】つぎにステップS419において複合処理
1のサブルーチンを実行し、重み係数G3,G4,G5
の領域の1画素ずつ(それぞれ図9(c)の画素P7
5,P85,P95)の各色成分に対してそれぞれの重
み係数を乗じて加重平均経過バッファの各色成分に加算
し、このウインドウラインL5の処理である図11のス
テップS30の処理は終了する。
【0144】以上のような処理を図11のステップS2
2〜S30において行い、ステップS31において加重
平均経過バッファの内容を出力画像データバッファに出
力することで1つのウインドウWに対する出力画像デー
タを出力したことになり、さらに図7および図8のフロ
ーチャートに従って、このウインドウWを元画像OG全
体に対して移動しながら出力画像データを出力する。こ
の出力画像データはこのままで1/5圧縮画像PGのビ
ットマップデータとして光磁気ディスクに出力される。
そして、さらにこの圧縮画像PGの解像度は絵柄等にお
けるビットマップデータとほぼ等しくなっているので、
グラビア製版装置により両者を併せた1つのビットマッ
プ画像を生成し、最終的なグラビア製版の色版とする。
【0145】このように、この実施の形態の画像圧縮方
法ではランレングスデータによる入力画像に対して所定
の大きさのウインドウを設け、そのウインドウを移動さ
せながらその内部にあるランレングスデータが同一色で
ない場合にはその長さに従って加重平均をとり、同一色
である場合にはその同一色の出力データを得る構成とな
っているため、必要とするメモリ容量が少なくてすみ、
高速で処理が行えるという特有の効果を有している。
【0146】
【4.変形例】この実施の形態の画像圧縮方法におい
て、ウインドウ内のランレングスデータが同一色でない
場合に重み係数の分布が中心を重点とした山形の正方形
である加重平均をとる構成としたが、単純平均を行った
りその他の重み付けの分布を用いたりといったその他の
平均計算を行う構成にしてもよい。
【0147】また、元画像はカラー画像であってもよ
く、グレイスケール画像であってもよい。この発明はデ
ータ量の多さから多階調画像に適用することによる効果
が特に大きいが、2値画像に適用してもかまわない。
【0148】また、実施の形態の装置では出力画像デー
タを圧縮画像のビットマップデータとして出力する構成
としたが、同一色の出力画像データをカウントし、その
カウント数をランレングスとするランレングスデータを
圧縮画像として出力する構成としてもよい。
【0149】また、この実施の形態の画像圧縮方法では
ウインドウの大きさを9×9画素としたが、その他の大
きさでもよく、さらに、画像圧縮の比率を1/5とした
がその他の比率の圧縮画像を得る構成としてもよい。
【0150】また、この実施の形態の装置では色の成分
をYMCKに分けたが、RBG等のその他の色成分を用
いてもよい。
【0151】さらに、この実施の形態の装置では元画像
の下辺および右辺の半端な画像に対して出力しないこと
としたが、周囲の領域も単純平均をとる構成にしてもよ
い。
【0152】
【発明の効果】以上説明したように、請求項1の発明で
はランレングスデータの集合で表現された入力画像に対
して所定の大きさのウインドウを設け、その内部にある
ランレングスの長さに従って平均をとって出力画像デー
タを得るという処理を、ウインドウによる入力画像の走
査を行いつつ実行するという構成となっている。
【0153】このため、ランレングスデータの集合で表
現された入力画像をいったんビットマップに展開するプ
ロセスは不要であって、必要とするメモリ容量が少なく
てすみ、高速で処理が行える。
【0154】また、請求項2の発明では請求項1の発明
において、抽出された各ウインドウ内ランレングスにそ
れぞれ付随する各濃度情報がすべて同一である場合に
は、その同一の濃度情報を出力画像データとするため、
これらのウインドウ位置については空間平均のための工
程を省略することが可能であり、処理の高速化の効果が
さらに高まる。
【図面の簡単な説明】
【図1】実施の形態の画像圧縮方法で用いるランレング
スデータの例を示す説明図である。
【図2】実施の形態における元画像OG内のウインドウ
と圧縮画像の関係を示す説明図である。
【図3】実施の形態におけるウインドウの移動の様子と
ウインドウポインタの設定位置を示す説明図である。
【図4】実施の形態における元画像内に設けられたウイ
ンドウ内のランレングスデータの例を示す説明図であ
る。
【図5】実施の形態におけるランレングスデータバッフ
ァへのランレングスデータの設定状況を示す説明図であ
る。
【図6】実施の形態における先頭ポインタバッファへの
データの設定状況を示す説明図である。
【図7】実施の形態における画像圧縮処理のフローチャ
ートである。
【図8】実施の形態における画像圧縮処理のフローチャ
ートである。
【図9】実施の形態におけるウインドウ内の各画素の重
み係数を示す説明図である。
【図10】実施の形態における加重平均の加算のための
計算途中のデータの累積方法を表わす説明図である。
【図11】実施の形態における加重平均計算のフローチ
ャートである。
【図12】実施の形態における第1および第9ウインド
ウラインに対する処理のフローチャートである。
【図13】実施の形態における第1および第9ウインド
ウラインに対する処理のフローチャートである。
【図14】実施の形態における第2および第8ウインド
ウラインに対する処理のフローチャートである。
【図15】実施の形態における第3および第7ウインド
ウラインに対する処理のフローチャートである。
【図16】実施の形態における第3および第7ウインド
ウラインに対する処理のフローチャートである。
【図17】実施の形態における第4および第6ウインド
ウラインに対する処理のフローチャートである。
【図18】実施の形態における第4および第6ウインド
ウラインに対する処理のフローチャートである。
【図19】実施の形態における第5ウインドウラインに
対する処理のフローチャートである。
【図20】実施の形態における第5ウインドウラインに
対する処理のフローチャートである。
【図21】従来例における画像圧縮処理の代表的な方法
の例を示す説明図である。
【符号の説明】
G1〜G5 重み係数 C1〜C4 カラーコード D1 現在処理対象としているランレングスデータの基
準点(始点−1を意味する) D2 現在処理対象としているランレングスデータの終
点 OG 元画像 PG 圧縮画像 RL 元画像の右辺 LL 元画像の左辺 DL 元画像の下辺 UL 元画像の上辺 L1〜L9 ウインドウライン WL 重み係数の分布曲線 LEN ランレングス MWP 主走査ウインドウポインタ SWP 副走査ウインドウポインタ F フラグ P11〜P99 ウインドウ内の各画素 Wa,Wb,Wg ウインドウ Yt,Mt,Ct,Kt 加重平均経過バッファの各色
成分 oa,ob,og 単位主領域 pa,pb,pf,pg 出力画像データ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−226285(JP,A) 特開 昭63−131274(JP,A) 特開 昭62−188467(JP,A) 特開 平4−284246(JP,A) 特開 平7−114635(JP,A) 特開 平8−274971(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04N 1/387 101 G06T 3/40

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 ランレングスと濃度情報とを組合せたラ
    ンレングスデータの集合によって表現された入力画像を
    圧縮して圧縮画像を得る画像圧縮方法において、 (a) 所定の大きさのウインドウを前記入力画像上に設定
    する工程と、 (b) 各ランレングスのうち、前記ウインドウ内に存在す
    る部分をウインドウ内ランレングスとして抽出する工程
    と、 (c) 各ウインドウ内ランレングスの値を画素数とみなし
    つつ各ウインドウ内ランレングスに付随している濃度情
    報の空間平均を求めるとともに、求められた平均値を1
    画素相当の出力画像データとする工程と、 (d) 前記入力画像を前記ウインドウで走査し、それぞれ
    の走査位置で得られた前記出力画像データに基づいて圧
    縮画像を得る工程と、を備えることを特徴とする画像圧
    縮方法。
  2. 【請求項2】 請求項1の画像圧縮方法において、 前記工程(c)が、(c-1) 抽出された各ウインドウ内ラン
    レングスにそれぞれ付随する各濃度情報がすべて同一で
    あるか否かを判定する工程と、(c-2) 前記各濃度情報が
    すべて同一でない場合のみ前記空間平均の計算を実行
    し、得られた平均値を出力画像データとする工程と、(c
    -3) 前記各濃度情報がすべて同一である場合には、前記
    同一の濃度情報を前記出力画像データとする工程と、を
    有することを特徴とする画像圧縮方法。
  3. 【請求項3】 請求項2の画像圧縮方法において、 前記入力画像における前記ランレングスデータの集合
    は、走査線に沿ったランレングスデータの連鎖として与
    えられているとともに、 前記ウインドウ内の各画素にあらかじめ重み係数が割り
    当てられており、前記工程(c-2)は、 前記ランレングスデータの連鎖のうち前記ウインドウ内
    に存在する範囲を切り出して部分連鎖とする工程と、 前記部分連鎖を、同一の重み係数と同一の濃度情報の値
    とが前記走査線に沿って連続している区間の集合へと分
    割する工程と、 前記区間のそれぞれについて、前記同一の重み係数と同
    一の濃度情報の値とを当該区間の長さに乗算する工程
    と、 各区間のそれぞれについて前記乗算で得られた結果の値
    を累算して前記ウインドウ内における各濃度情報の加重
    平均値を求め、当該加重平均値を前記ウインドウに対応
    する前記出力画像データとする工程と、を有することを
    特徴とする画像圧縮方法。
JP21765295A 1995-08-25 1995-08-25 画像圧縮方法 Expired - Fee Related JP3308774B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21765295A JP3308774B2 (ja) 1995-08-25 1995-08-25 画像圧縮方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21765295A JP3308774B2 (ja) 1995-08-25 1995-08-25 画像圧縮方法

Publications (2)

Publication Number Publication Date
JPH0965146A JPH0965146A (ja) 1997-03-07
JP3308774B2 true JP3308774B2 (ja) 2002-07-29

Family

ID=16707615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21765295A Expired - Fee Related JP3308774B2 (ja) 1995-08-25 1995-08-25 画像圧縮方法

Country Status (1)

Country Link
JP (1) JP3308774B2 (ja)

Also Published As

Publication number Publication date
JPH0965146A (ja) 1997-03-07

Similar Documents

Publication Publication Date Title
US6724507B1 (en) Image processing method and image processing apparatus
JP2856386B2 (ja) 色彩調整装置及びその方法
CN101184147B (zh) 颜色处理装置和方法
US5610732A (en) Image processing apparatus having unevenly gamut dividing color-converting function
JP2000115558A (ja) 色特性記述装置および色管理装置および画像変換装置ならびに色補正方法
US5742520A (en) Color picture processing method and color picture processing apparatus
WO2006006666A1 (ja) ディジタル画像の輪郭追跡による画像処理方法並びに画像処理装置
DE69030463T2 (de) Bildverarbeitungsvorrichtung
JP2000083177A (ja) 画像処理方法および画像処理装置
US7944584B2 (en) Color-converting device
US6693644B1 (en) Graphic accelerator reducing and processing graphics data
JP3308774B2 (ja) 画像圧縮方法
JP4618683B2 (ja) 画像処理装置、ガマット補正方法、画像処理方法、プログラム及び記録媒体
US5454070A (en) Pixel to spline based region conversion method
US7127118B2 (en) System and method for compressing image files while preserving visually significant aspects
JPH07302342A (ja) 輪郭抽出方法及び装置
JPH07334648A (ja) 画像処理方法及びその装置
JP2791523B2 (ja) 線画データ合成装置
JP3048155B2 (ja) 画像処理装置
JPH02132967A (ja) 画像処理装置
JP3403912B2 (ja) 色変換装置
JP3835059B2 (ja) カラー画像処理方法およびその装置
JP3773583B2 (ja) 色変換処理装置
JP3054299B2 (ja) 画像処理装置及びその方法
CN115936969A (zh) 图像处理方法、装置、终端设备及存储介质

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090517

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees