JP2744230B2 - Image processing device - Google Patents

Image processing device

Info

Publication number
JP2744230B2
JP2744230B2 JP61088612A JP8861286A JP2744230B2 JP 2744230 B2 JP2744230 B2 JP 2744230B2 JP 61088612 A JP61088612 A JP 61088612A JP 8861286 A JP8861286 A JP 8861286A JP 2744230 B2 JP2744230 B2 JP 2744230B2
Authority
JP
Japan
Prior art keywords
data
image
compressed
compressed data
memory
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
JP61088612A
Other languages
Japanese (ja)
Other versions
JPS62245380A (en
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP61088612A priority Critical patent/JP2744230B2/en
Priority to US07/038,288 priority patent/US4918541A/en
Publication of JPS62245380A publication Critical patent/JPS62245380A/en
Application granted granted Critical
Publication of JP2744230B2 publication Critical patent/JP2744230B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】 <技術分野> 本発明は画像データを処理する画像処理装置に関す
る。 <従来技術> 従来、高密度カラー画像データを変換処理、或は編集
処理する装置としては、サイテツクス社のレスポンス30
0シリーズ、クロスフイールド社のSTUDIO−800シリーズ
等の印刷システムが知られている。 しかしながら、これらの装置は大型であり、しかも処
理時間が長いという欠点があった。 <目的> 本発明は以上の点に鑑みてなされたもので、画像に対
する2次元空間フイルタリング処理を簡易な構成で、且
つ、高速に実効可能とすることを目的とし、詳しくは、
画像を夫々m×m画素からなる複数のブロックに分割し
た各ブロックの画像を表わす圧縮データを格納した圧縮
データメモリと、前記圧縮データメモリから圧縮データ
を読出す読出手段と、前記読出手段により読出された圧
縮データを復号し、mライン毎に画像データを出力する
復号手段と、前記復号手段により復号されたmライン分
の画像データの夫々に一次元フイルタリング処理する処
理手段と、前記処理手段により一次元フイルタリング処
理されたmライン分の画像データをm×m画素からなる
ブロック毎に圧縮する圧縮手段と、前記圧縮手段により
圧縮された圧縮データを前記圧縮データメモリに格納す
る格納手段とを有し、前記読出手段により前記圧縮デー
タメモリから第1の方向に関して圧縮データを読出し、
前記復号手段により復号し、復号された画像データを前
記処理手段により前記第1の方向に関して一次元フイル
タリング処理し、一次元フイルタリング処理された画像
データを前記圧縮手段により圧縮し、前記格納手段によ
り前記圧縮データメモリに格納する第1の画像データ処
理、及び、前記読出手段により前記圧縮データメモリか
ら前記第1の方向に直交する第2の方向に関して圧縮デ
ータを読出し、前記復号手段により復号し、復号された
画像データを前記処理手段により前記第2の方向に関し
て一次元フイルタリング処理し、一次元フイルタリング
処理された画像データを前記圧縮手段により圧縮し、前
記格納手段により前記圧縮データメモリに格納する第2
の画像データ処理とにより、前記圧縮データメモリに格
納されている圧縮データにより表わされる画像に対して
2次元空間フイルタリング処理を行なう画像処理装置を
提供するものである。 <実施例> (概要) 一般に画像処理装置の機能としては、 以上の2つの編集機能を必要とする。前者は一般にハ
ードウエアによるパイプライン・プロセサーと言われる
もので本装置に於ては画像編集機能のある特定の高速性
を必要とする項目について実行する。後者のCPUによる
処理は人間とインターラクテイブに行う項目について
(ある程度時間はかかってもよい)実行する。 即ち、前者のパイプライン・プロセサーは、例えば画
像のレイアウトを決めるアフイン変換(拡大・縮小・移
動・回転)と空間フイルター処理(画像の強調・平滑化
等)及びlook up table(LUT)による色変換処理等の画
像の逐次処理を主として行う。 後者のCPUによる処理は一般に複雑な処理・ハードウ
エア化出来にくい処理を行う。ここでは画像を任意の形
状に切り出したり、切り出した画像を別の所へコピーす
る処理、画像の一部を修正する等の処理をさす。これら
の処理は一般に操作者の創造によるクリエイテイブな処
理で、ある程度、時間がかかっても許容出来る。しかし
この機能は高機能である必要がある。 以上2つの編集処理機能を最大のパフオーマンスで実
施するためには編集装置のシステム・アーキテクチヤー
から考える必要がある。即ち両者の処理が十分高機能に
高速に実行出来るようにするためには、構成するシステ
ムの体系、取り扱う画像データの持ち方(フオーマツ
ト)、信号の流れ、機能の解析等が検討される必要があ
る。 種々の検討の結果カラー画像編集装置としてのシステ
ム・アーキテクチヤーとして次の事が結論として得られ
た。 (1)画像編集を行う為には、画像データは圧縮データ
として持つ。 (2)圧縮の方式としてはm×mのブロツクを一符号と
して持つブロツク符号化又はベクトル量子化がよい。 (3)高精細な画像編集を行う為には、m×mの内部の
画像データを書き直す必要がある。 (1)に於て、高解像・高階調の画像編集処理を行う
ためには、画像データ容量としては極めて莫大となる。
例えばA41pageを16pel/mm各8bit/PIXELでカラー読取り
した場合、R,G,B3色で約48Mバイトのデータ容量とな
る。先に述べた画像編集をインターラクテイブに、且つ
高機能に行うためにはかかるカラー画像データを圧縮
し、編集しやすい形にする事が重要技術となる。このた
めには(2)のブロツク符号化又はベクトル量子化手法
が最適であると結論づけられた。 これは即ち画像のm×m画素を1つの固定長のコード
に直す方式で、大きな圧縮率が得られる事と、画像デー
タの位置情報が保存されているため容易に編集出来るた
めである。 かかる圧縮法を用いて画像データを持った場合、我々
は高精細な画像編集を行うためには(3)に示される様
に圧縮の単位のm×m内の画素データまで編集結果とし
て書き直す必要がある事に気がついた。即ちベクトル量
子化手法によるm×m単位で持ったコードデータの集合
を編集した結果、編集の項目によっては、コードの値を
変化させる必要がある。 以下、本発明の実施例に基づき詳細に説明する。 (実施例の詳細な説明) 第1図はこの発明の一実施例を示す画像編集装置の構
成図である。リーダ1によって読みとられた画像データ
(例えばR,G,B各8bitデジタルデータ)は変換器11によ
り信号変換され、NTSC信号で用いられる輝度(Y)信号
と色差信号(I,Q)に変換される。かかる変換は例えば
R,G,Bのデータを なるマトリツクス計算により得られる。ここで変換マト
リツクスの係数はリーダの色分解特性、γ特性等に合わ
せて適宜修正される。かかるY,I,Q信号は後述の圧縮器
2により圧縮され画像データフアイル用のデイスクメモ
リ3へ記憶される。デイスク内の画像データはImageメ
モリ5と呼ばれるICメモリ上へ読み出され加工・編集さ
れる。ここで高速処理を行うべく基本処理はハードウエ
ア化されたパイプライン・プロセサ4によって行われ
る。 一方イメージメモリ5上の画像データはCPU8により各
種処理が施され加工・修正が行われる。編集の過程はCR
Tコントローラ9によりカラーCRT10上へ表示され、編集
の状況がモニターできる。編集された結果はイメージメ
モリー5から復号器6を通して元の画像データに戻さ
れ、変換器12によりこの画像データがプリンターに対応
した色信号(イエロー,マゼンタ,シアン、ブラツク)
に変換されカラープリンタ7へ出力される。 (圧縮符号化) 次に画像データの圧縮法について述べる。 Y,I,Qのような輝度と色差の3色信号に分けることに
より、輝度データであるY信号の空間周波数をよく保存
しておけば、色差信号であるI,Q信号の空間周波数はあ
る程度制限し(高周波成分のカツト)視覚上の画質劣化
が少ないということが知られている。 そこで例えばI,Q信号はm×mのブロツク(mは整
数)の平均値等で色情報を代表させ、カラー画像のデー
タ量を削減するデータ圧縮法が考えられる。I,Q信号の
ブロツクサイズは要求される画質、許容されるメモリ容
量により2×2,4×4,6×6などのブロツクサイズが選ば
れる。例えばブロツクサイズを4×4とすると、前述し
たようにA4 1pageのメモリ容量48MByteは、Y信号16MB
yte(非圧縮)+I,Q信号2MByte=計18MByteとなり約2.7
の圧縮率となる。 一方Y信号に関してはI,Q信号の圧縮とは異なり解像
度データを十分残すような圧縮法が必要となる。 第1の方法としてブロツク符号化手法がある。 この手法はm×mブロツク内の画素データxの平均値
、標準偏差σを算出する。次に各画素ごとの濃淡情報
を数bit程度で表わす。例えば(x−)/σの計算値
を再量子化することにより実現できる。この圧縮データ
フオーマツトは第2図(a)のようになり、平均値、標
準偏差の次に各画素の濃淡情報を続け、この濃淡情報の
順序をブロツク内の画素位置に1対1に対応させる。 第2の方法は、m×m画素のベクトル量子化手法であ
る。 この手法はm×mブロツク内の画素データを平均値
、標準偏差σと画像のパターンを表わすコードにより
表現させて、データの圧縮を計るものである。この圧縮
データフオーマツトは、第2図(b)のようになる。 以上はY信号のみ解像度データをとり、IQ信号に関し
てはm×m内の平均データをとる様にした例であるが、
IQ信号にもY信号と同様のフオーマツトで符号しても構
わない。 かかる圧縮形態はN×N画素から成る一枚の画像をm
×mの小区画で切り、このm×mを1つのkビツトの固
定長のコードに変換するため圧縮された画像データとし
ては のアドレス空間で深さ方向にkビツトから成るメモリ構
成をとる。従って画像のアドレス情報が保持されてお
り、通常のMH、MMH,MR,MMR等の可変符号長の圧縮方式に
較べて任意位置の画像検索、書込み、等のランダム・ア
クセス性能がよく、編集作業等に最適であると言える。 (画像の回転処理) 以上の圧縮データをベースに画像データを変倍,回転
しようとした場合、圧縮データ自体の書き換えが必要と
なる。 第3図はこの説明図で同図イはm×m画素の画像デー
タを圧縮した時の圧縮データの区切りを示す。m×mの
単位でその内に含まれる画像データを1つのコードに直
す。(今後このm×mの圧縮された画素のことを「ブロ
ツク画素」と呼ぶことにする。)。 同図ロはこのブロツク画素毎に画像を回転した結果
で、Tという文字はこの様にズタズタに切れてしまう。
これを避けるためには、同図ハの様にブロツク画素を復
号して元の画像データに戻し、各画素毎に回転を与え同
図ニの様にして、しかる後再び圧縮してやる必要があ
る。 この時同図ハに示す圧縮するm×mの画素単位Aは回
転操作後同図ニのA′の様に変型し、新たに圧縮する画
素単位間にまたがる。 即ち高精細に行うためには と変換する必要がある。 今画像の回転操作を施す場合を考えると、復号して元
の画像データに戻し回転する場合、画素データの移動が
起り、元の画像データの状態で記憶するためのメモリ容
量が極めて大きくなる。最悪元の画像データ並みの48Mb
yteのデータ容量の中間バツフアが必要となる。 また、画像の2次元的な変換及び空間フイルタリング
処理を従来のように直接2次元で処理する場合には、一
次元の処理回路に比べ複雑化するといって不具合があっ
た。 かかる復号→回転→圧縮復号化、又は復号→空間フイ
ルタリング→圧縮復号化の演算を極めて簡素に実現する
実施例を以下に説明する。 まず、回転の方法について述べる。一般に任意の角度
θの回転は次のようなアフイン変換により実現できる。 ここで は回転前の画像の座標、 は回転後の画像の座標、θは回転角である。この2次元
変換をおこなうと、回転前の画像の座標 は画像データのアドレス点(整数で表現できる)にある
が、回転後の画像の座標 は一般には無理数になってしまう。したがって回転を高
精度におこなうには、いくつかの整数でない座標 のデータから回転後のデータのアドレス点 (整数)のデータを2次元補間して求めなければならな
い。また、第3図のように回転した結果のデータはm×
m単位できれいにつまっていかないので、かなりの容量
の中間バツフアがないと再圧縮が困難になる。そこで2
次元アフイン変換の式(1)を次のようにx方向、y方
向の2つの1次元変換の積に分解する。 第1のx方向の1次元変換T1では次のようになる。 すなわち、1次元変換T1ではyの値が変わらず、x方
向の巾がcosθ倍の縮小される。図解すると第4図
(a)の矩形がx方向の1次元変換T1で(b)のように
変形される。次に第2のy方向の1次元変換T2では次の
ようになる。 すなわちy方向の1次元変換T2では、第4図の(b)
から(c)のように、xの値が変わらずy方向の幅は1/
cosθ倍に拡大され、角度θの回転をした画像(c)が
得られる。 以上のようにx方向の1次元変換T1では、x方向の1
ラインのデータを読出せば、変換後のデータの座標はそ
のライン上にあり、変換後の画像のアドレス点のデータ
は1次元補間で求めることができる。すなわちx方向の
1ライン単位の処理が可能である。したがって1次元変
換T1の処理結果をmライン集めれば、m×m単位の再圧
縮が容易に可能となる。同様にy方向の1次元変換T2
ついても、y方向の1ラインのデータを読出して、1ラ
イン単位の処理が可能である。ただし圧縮データを格納
するメモリ(第1図の5)はx方向とy方向の2方向に
アクセスが可能な構成にする必要がある。 次に、圧縮データ→復号→回転→圧縮符号化又は圧縮
データ→復号→空間フイルタリング→圧縮符号化の変換
の詳細を第5図〜第9図に示される実施例に基づいて説
明する。 第5図(A)は、圧縮データ→復号→回転→圧縮符号
化を行なう回路構成全体のブロツク図である。圧縮デー
タは、入力データとなるデータの領域と、処理後のデー
タが格納される領域として2つの領域511,512に区別さ
れている。CPU8は、処理を実行する前に入力データとな
るデータ領域を選択器521に指示することにより選択す
る。選択器521は、CPU8よりの信号502により、圧縮デー
タメモリ1及び2(511及び512)の一方を、アドレスラ
インは入力データ側メモリアドレス591に、そしてデー
タラインは入力側圧縮データライン503につなぎ、もう
一方のアドレスラインを出力データ側メモリアドレス59
2に、そしてデータラインを出力側圧縮データライン501
につなぐ場合と、511及び512の両方のアドレスバス及び
データバスを全て切り離す(ハイインピーダンス状態に
する)場合の3つ異なる状態をとる。 以降、521は、圧縮データメモリ1を入力データメモ
リとし、圧縮データメモリ2を出力データメモリとして
つないでいる場合として説明を進める。アドレス演算回
路57は、主走査同期クロツク及び副走査同期クロツクを
受けて、入力圧縮データメモリの入力データアドレス59
1と、処理後のデータが出力されるべき出力圧縮データ
メモリへの出力データアドレス592及び、処理の途中で
必要となる中間バツフア内アドレス593,594を出力す
る。圧縮メモリ511は、入力データアドレス591に応ずる
データを入力側圧縮データライン503に出力し、復号器5
3はこれを復号して選択器522を通して中間メモリ1又は
2(541又は542)に出力する。選択器522は、593の値が
mの倍数となるたびに中間メモリ1及び2をトグルでつ
なぎかえる。選択器523は、522同様に動作するが、522
が中間メモリ1をつないだ時には中間メモリ2をつな
ぎ、522が中間メモリ2をつないだ時には中間メモリ1
をつなぐというように、522と523はデータバスを541と5
42に交互につなぎかえるものである。また、ここではm
=4の場合を例にとって以下話を進める。591は、アド
レスバスであったが、主走査アドレス及び副走査アドレ
スのいずれのアドレスも下位ビツトから数えて3ビツト
目(すなわち22の位のビツト)以上のビツトのみでなる
ものである。また、入力側中間バツフアアドレス593
は、副走査アドレスは、下位ビツトから数えて3ビツト
目1ビツトのみが選択器522及び523に入力されており、
中間メモリ1及び2(541及び542)には主走査アドレス
のみが入力されている。中間メモリ1及び2は、それぞ
れ4ラスタ分のラインバツフアよりなり、復号器53から
のラスタ出力を選択器522を通して中間メモリの一方に
出力される。中間メモリの相方に、同一の入力側中間バ
ツフアアドレスが入力されており、一方の中間メモリの
該アドレスに復号されたデータが書き込まれる。他方、
もう一方の中間メモリの同一主走査アドレスから4本の
ラインバツフアの各々から1ブロツク行前の復号済デー
タが選択器523を通して、選択器526に入力される。選択
器526はCPU8によって、あらかじめセツトされており、
データを補間処理回路57もしくは空間フイルタ58のいず
れかを選択し、523の出力を流す。選択器527は、選択器
526同様CPU8によってあらかじめ57もしくは58の出力の
一方を選択し、524へ流す。この際526及び527は57及び5
8の同一のものを選択するようにセツトされているもの
である。補間処理回路55は、594の出力側中間バツフア
主走査アドレス(整数部および小数部より成る)の小数
部を入力し、4本のラインバツフアの出力の各々に対し
て、相続く2つのデータから補間したデータを作成し
て、594の整数部で与えられるアドレスに対応する中間
メモリ3もしくは4に選択器527,524を通して出力して
ゆく。一次元空間フイルタリング回路58は、第9図で示
される一次元空間フイルタ4つより構成されており、各
ラスタに1つづつ対応している。各々のラスタに対して
一次元空間フイルタリング処理を施し、中間メモリ3も
しくは4に選択器527,524を通して出力してゆく。選択
器524,525は、前述の選択器522,523と同様に、中間メモ
リ3及び4をトグルで選択する選択器対である。このと
き、524及び525は、出力側中間バツフアアドレス594の
副走査アドレスの下位ビツトより数えて3ビツト目のビ
ツト1ビツトを選択信号として入力している。中間メモ
リ3及び4には、同一の出力側中間バツフアアドレスの
主走査アドレスが入力されており、一方のメモリには、
補間処理回路からのデータもしくは一次元空間フイルタ
リング処理回路からのデータが入力されており、もう一
方のメモリからは、1ブロツク行前の補間処理済データ
もしくは一次元空間フイルタリング処理回路からのデー
タが選択器525を通して4ラスタ分パラレルに圧縮器56
に出力されている。圧縮器56は、該データを入力し、4
ラスタの各々から4画素分のデータを入力した時点で圧
縮データを出力圧縮データバス501を介して選択器521へ
出力する。選択器521は、データバス501上のデータを圧
縮データメモリ2(512)の出力側圧縮データアドレス5
92で指定されるアドレスに出力する。 次に、アドレス演算回路57に関して説明する。第6図
に示すように、57はクロツク切換部61、アドレス計算部
62、出力切換部63,66及びカウンタ64,65よりなる。前述
のように回転は、入力側のアドレスを(x,y)、出力側
のアドレスを(X,Y)とすると、(1)式の関係が成立
する。この時、(2)式のように回転の演算を2項に分
けて考え、途中でのアドレスを(X′,Y′)とし、
(3)式及び(5)式のように分解すると、それぞれ
(4)式及び(6)式のように書ける。また、副走査ク
ロツクがy個目のラスターの主走査クロツクがx番目の
画素を(x,y)の画素として扱うとき、 Y′=Y′(y)=y ……(4)− X′=X′(x,y)=xcos θ−ysin θ X′(0,0)=0 ……(4)− X′(0,j+1)=(j+1)・(−sin θ) =j・(−sin θ)+1・(−sin θ) =X′(0,j)+1・(−sin θ) ……(4)− X′(i+1,j+1)=X′(0,j+1)+(i+1)co
s θ =X′(0,j+1)+i・cos θ+cosθ =X′(i,j+1)+cos θ ……(4)− である。 よって、(3)式の演算、Y′は副走査同期クロツク
をカウントするのみで算出でき、副走査同期クロツク間
に何個主走査同期クロツクが入っても不変である。よっ
て、アドレス計算部62は、第7図(A)に示すように、
副走査同期クロツクをカウンタ76でカウントアツプして
Y′としている。また、711にはあらかじめCPUにより−
sinθの値がセツトされてあり、731には初期値として0
がセツトされている。加算器721は、副走査クロツクが
入るたびに731の保持する値と711の保持する値を加算
し、その和を出力する。731はその出力値をラツチし、
新たな値として保持し、(4)−式の計算を実行す
る。次に732は、初期値として0がCPUによりセツトされ
ており、加算器722は、732の保持する値と712の保持す
る値を主走査クロツクが入るたびに加算し(4)−の
計算を実行する。選択器74は副走査クロツクが入ったと
きのみ731の出力を選択出力し、他は722の出力を選択出
力する。また、732は、主走査クロツクもしくは副走査
クロツクの少なくとも一方が入力されると選択器74の出
力をラツチし、(4)−又は(4)−の計算結果を
適宜とり込みX′とする。 次に(6)式においても、全く同様に、 X=X(X′)=X′ ……(6)− Y=Y(X′,Y′)=X′tanθ+Y′/cosθ Y(0,0)=0 ……(6)− Y(i+1,0)=(i+1)tanθ =i・tanθ+tanθ =Y(i,0)+tanθ ……(6)−となる。 この場合、(5)式の演算は、(3)式の場合の主走
査同期クロツクと副走査同期クロツクを互いに入れ換え
て考えた議論が全く同様に成立する。そこで、この場合
は、CPU8があらかじめ61,63,66を切り換えておき、ま
た、711,712にセツトしておく値もそれぞれ、tanθ及び
1/cos θとする。第7図(B)にこれを示しておいた。 また、入力側及び入力側の相方に、圧縮データアドレ
スと中間バツフアアドレスが用意されているのは、中間
バツフアは(3)式の場合には圧縮データメモリの主走
査側アドレス及び副走査側アドレスをそれぞれ主走査側
及び副走査側のそのままのアドレスとして対応づけ、
(5)式の実行の場合には、圧縮データメモリの主走査
アドレス方向を中間バツフアの副走査方向アドレスに、
圧縮データメモリの副走査側アドレス方向を中間バツフ
アの主走査方向アドレスに対応させて用いるためであ
る。これにより中間バツフアはラスターバツフアであっ
ても、(3)式及び(5)式の場合にいずれに対しても
対応可となる。また、一次元空間フイルタリング処理を
実行中は、CPU8は、711には0を、712には1をセツトす
るものである。 次に、補間処理回路55に関して説明する。補間処理回
路55には、復号済データと、出力側中間バツフアアドレ
ス594の小数部(2-1の位、2-2の位、及び2-3の位の各ビ
ツト)と整数部のうちの20の位のビツトの全部で4ビツ
トが入力されている。補間処理回路55は、第8図のよう
に構成された回路の801の部分4組及びその他の部分1
組より成り、その801の部分の各々が4つのラスタの各
ラスタに1つづつ対応し、パラレルに動作する。第8図
の回路は、復号済データの相続く2つのデータを保持す
るためのラツチ811,812と、出力側中間バツフアアドレ
スの整数部が変化したかどうかを検知する802の部分
と、出力側中間バツフアアドレスの小数部から補間係数
を出力する803より成る。802は、出力側中間バツフアア
ドレスの整数部が変化したかどうかを整数部の最下位ビ
ツト(20の位のビツトが、直前のタイミングと比して変
化したかどうかを検知することで出力している。803
は、相続く2クロツクの出力側中間バツフアアドレスの
小数部から、 (1−α′)V(n)+α′V(n−1) ……(7) ここで、V(i)は第iクロツク目の復号済データで表
わされる内挿補間を行なうための補間係数α′及び1−
α′を出力している。821は、相続く2クロツクの出力
側中間バツフアアドレスの小数部を入力して、α′及び
1−α′を出力するルツクアツプテーブルである。 (7)式の(1−α′)V(n)を822のルツクアツ
プテーブルで、α′V(n−1)を823のルツクアツプ
テーブルでそれぞれ出力し、83の加算器により(7)式
の結果を得るものであう。得られた結果、802の出力84
に同期して、選択器527,524を通して中間メモリ3もし
くは4に出力されるものである。 次に、第9図の一次元空間フイルタリング回路につい
て説明する。一次元空間フイルタの第i画素目に対応す
る出力をV′(i)と、第i画素目の入力をV(i)と
すると、 V′(i)=β2V(i−2)+β1V(i−1)+β0
V(i)+β1V(i+1)+β2V(i+2) なる関係を実現するものである。ここで、β0,β1,β
2はフイルタ係数である。CPU8は、処理の実行される前
に、β0,β1,β2をセツトしておく。また、直列に並
ンダ4つのラツチを有しており、各々主走査同期クロツ
クでラツチ動作をし、ラツチ941は、画像データ入力を
ラツチし、942は941のラツチしている値をラツチし、94
3は942のラツチしている値を、944は943のラツチしてい
る値を各々ラツチする。これにより、V(i−2),V
(i−1),……,V(i+2)を得る。また、LUT921〜
925は各々対応するフイルタ係数(β2,β1,β0)と対
応する画像データVとを入力し、その積を出力するルツ
クアツプテーブルである。加算器931〜934は、各LUTの
出力を順次加算しV′を得るものである。 以上一連の動作を説明したが、中間メモリ1,2及び中
間メモリ3,4は、全て4ラスタのラスタバツフアよりな
るラインメモリであったが、選択器522,523及び524,525
を各々主走査クロツクの4クロツク毎に切り換えるよう
に構成すれば、4画素分のメモリを4本のバツフアとし
て扱えることはもちろんである。 また、第5図(A)における選択器526をなくして、
第5図(B)のように選択器523の出力を55及び58の両
方に入力し、55及び58の一方の出力を選択するように構
成してもよいのはもちろんである。 また、圧縮データメモリ1及び2は、物理的には同一
のものであり、時分割で、読込み時には、入力圧縮デー
タメモリとして用い、書き込み時には、出力圧縮データ
メモリとして用いることが可能である。入力圧縮データ
は読込み時に中間メモリに読み込んでおく。書き込み時
には、先に読み込んだデータ領域以外の入力データ領域
に出力されないことが、(3)式及び(5)式より明ら
かである。 以上の様に圧縮画素データを極めて簡単に回転処理す
ることが可能となる。 尚、本実施例においては回転処理について説明した
が、変倍処理等他の処理にも本発明は勿論適用可能であ
る。 <効果> 以上説明した様に、本発明によると、画像をm×m画
素単位で圧縮した圧縮データにより表わされる画像に対
する2次元空間フイルタリング処理を、第1の方向に関
する一次元フイルタリング処理と、第1の方向に直交す
る第2の方向に関する一次元フイルタリング処理とに分
けて実行するので、夫々の一次元フイルタリング処理の
ためには、圧縮データメモリに格納されている圧縮デー
タを夫々の一次元フイルタリング処理の方向に合わせて
mラインずつ順次復号すればよく、2次元空間フイルタ
リング処理の対象となる全圧縮データを全て一度に復号
する必要がなく、従って、復号した全画像データを保持
する様な大容量のメモリを設ける必要もなく、よって、
画像に対する2次元空間フイルタリング処理を簡易な構
成で、且つ、高速に実行可能とすることができる。
DETAILED DESCRIPTION OF THE INVENTION <Technical field>   The present invention relates to an image processing apparatus for processing image data.
You. <Conventional technology>   Conventionally, high-density color image data is converted or edited
The processing equipment is Cytec's Response 30
0 Series, Crossfield STUDIO-800 Series
And other printing systems are known.   However, these devices are large and require
There was a disadvantage that the processing time was long. <Purpose>   The present invention has been made in view of the above points, and has been developed for image processing.
2D spatial filtering processing with a simple configuration, and
The purpose is to be able to be effective at high speed.
Divide the image into a number of blocks each consisting of m × m pixels
That stores compressed data representing the image of each block
A data memory, and compressed data from the compressed data memory.
Reading means for reading the pressure, and the pressure read by the reading means.
Decodes compressed data and outputs image data every m lines
Decoding means, and m lines decoded by the decoding means
To perform one-dimensional filtering on each of the image data
Processing means and a one-dimensional filtering process by the processing means.
Processed m lines of image data consisting of m × m pixels
Compression means for compressing each block, and the compression means
Storing the compressed data in the compressed data memory
Storage means for storing the compressed data by the reading means.
Reading compressed data from the data memory in the first direction,
Decoding by the decoding means, and
A one-dimensional file in the first direction by the processing means.
Image processed by filtering and one-dimensional filtering
The data is compressed by the compression means, and the data is compressed by the storage means.
The first image data processing stored in the compressed data memory
And whether the compressed data memory is
Compression data in a second direction orthogonal to the first direction.
Data, and decrypted by the decryption means.
The image data is processed by the processing means in the second direction.
One-dimensional filtering and one-dimensional filtering
The processed image data is compressed by the compression means,
A second data stored in the compressed data memory by the storage means.
Of the compressed data memory by the image data processing of
For the image represented by the stored compressed data
An image processing device that performs two-dimensional spatial filtering
To provide. <Example> (Overview)   Generally, the functions of an image processing apparatus include:   The above two editing functions are required. The former is generally
Called a pipeline processor with hardware
This device has a certain high speed with image editing function
Execute for items that require. Depends on the latter CPU
Processing is performed interactively with humans
Execute (may take some time).   In other words, the former pipeline processor
Affine transformation (enlarge / reduce / transfer)
Motion / rotation) and spatial filtering (image enhancement / smoothing)
Etc.) and images such as color conversion processing by look-up table (LUT)
The sequential processing of images is mainly performed.   The latter CPU processing is generally complicated processing and hardware.
Performs processing that cannot be easily converted to air. Here, the image can be any shape
Or copy the cropped image to another location.
Processing, such as correcting part of an image. these
Is generally a creative process created by the operator.
It takes some time and it is acceptable. However
This function needs to be sophisticated.   Performing the above two editing functions with maximum performance
In order to apply it, the system architecture of the editing device
It is necessary to think from. In other words, both processes are fully functional
To enable high-speed execution, configure the system
System and how image data is handled (formmatsu
G), signal flow, function analysis, etc. need to be considered.
You.   As a result of various studies, the system as a color image editing device
The following conclusions can be drawn as
Was. (1) To perform image editing, the image data must be compressed data
Have as. (2) As a compression method, m × m blocks are represented by one code.
Block coding or vector quantization. (3) In order to perform high-definition image editing,
Image data needs to be rewritten.   In (1), high-resolution and high-gradation image editing processing is performed.
Therefore, the image data capacity becomes extremely enormous.
For example, color reading of A41page with 16pel / mm each 8bit / PIXEL
Data capacity of about 48 Mbytes for R, G, and B colors.
You. The above-mentioned image editing is interactive and
Compression of such color image data for high performance
The key technology is to make it easy to edit. others
The block coding or vector quantization method of (2)
Was determined to be optimal.   This means that m × m pixels of the image are one fixed-length code
High compression ratio and image data
Data can be easily edited because its location information is stored.
It is.   If you have image data using such a compression method,
Is required to perform high-resolution image editing as shown in (3).
To the pixel data within m × m of the compression unit
I noticed that I needed to rewrite it. That is, the vector quantity
A set of code data held in m × m units by the childization method
As a result of editing, depending on the editing item,
We need to change it.   Hereinafter, the present invention will be described in detail based on embodiments. (Detailed description of the embodiment)   FIG. 1 shows the structure of an image editing apparatus according to an embodiment of the present invention.
FIG. Image data read by reader 1
(For example, 8bit digital data for each of R, G, B)
Luminance (Y) signal used for NTSC signal after signal conversion
And color difference signals (I, Q). Such a conversion is for example
R, G, B data It can be obtained by the following matrix calculation. Here the transformation mat
The Rixx coefficient matches the reader's color separation characteristics, γ characteristics, etc.
And amended accordingly. Such Y, I, Q signals are compressed by a compressor
Disk memo for image data file compressed by 2
It is stored in the file 3. The image data on the disk is
Read and process / edit on IC memory called Mori5
It is. Here, basic processing is performed by hardware to perform high-speed processing.
Performed by the integrated pipeline processor 4.
You.   On the other hand, the image data on the image memory 5 is
Seed processing is performed and processing and correction are performed. Editing process is CR
Displayed on color CRT 10 by T controller 9 and edited
You can monitor the situation. The edited result is
Molly 5 returns to original image data through decoder 6
The image data is compatible with the printer by the converter 12.
Color signals (yellow, magenta, cyan, black)
And output to the color printer 7. (Compression encoding)   Next, a method for compressing image data will be described.   Dividing into three color signals of luminance and color difference like Y, I, Q
Better preserves spatial frequency of Y signal as luminance data
If this is done, the spatial frequencies of the I and Q signals
To some extent (cut of high frequency components)
Is known to be small.   Therefore, for example, the I and Q signals are m × m blocks (m is an integer).
The color information is represented by the average value of
A data compression method that reduces the amount of data is conceivable. I, Q signal
The block size depends on the required image quality and the allowable memory capacity.
Select a block size such as 2 x 2, 4 x 4, 6 x 6 depending on the amount
It is. For example, if the block size is 4 × 4,
As mentioned above, the memory capacity of A4 1page 48MByte is 16MB for Y signal.
yte (uncompressed) + I, Q signal 2MByte = 18MByte in total, about 2.7
Compression rate.   On the other hand, resolution of Y signal is different from compression of I and Q signals.
A compression method that leaves sufficient data is required.   The first method is a block coding method.   This method calculates the average value of pixel data x in m × m blocks.
, The standard deviation σ is calculated. Next, the shade information for each pixel
Is represented by about several bits. For example, the calculated value of (x −) / σ
Can be realized by requantizing. This compressed data
The format is as shown in Fig. 2 (a).
Following the quasi-deviation, the density information of each pixel is continued.
The order is made to correspond one-to-one with the pixel position in the block.   The second method is a vector quantization method of m × m pixels.
You.   This method averages the pixel data in m × m blocks
, The standard deviation σ and the code representing the image pattern
It expresses and measures the compression of data. This compression
The data format is as shown in FIG.   In the above, resolution data is taken only for the Y signal, and the
This is an example of taking the average data within m × m.
The IQ signal may be encoded in the same format as the Y signal.
I don't know.   Such a compression mode converts one image consisting of N × N pixels into m
Xm small section, and this mxm is fixed to one k-bit
Compressed image data to convert to fixed length code
Is Memory structure consisting of k bits in the depth direction in the address space of
Take the lead. Therefore, the image address information is retained.
Compression method with variable code length such as normal MH, MMH, MR, MMR
Random access such as image search, writing, etc.
It has good access performance and can be said to be optimal for editing work. (Image rotation processing)   Scale and rotate image data based on the above compressed data
If you try, you need to rewrite the compressed data itself
Become.   FIG. 3 is a view for explaining this, and FIG. 3A shows an image data of m × m pixels.
Indicates the delimiter of the compressed data when the data is compressed. m × m
The image data contained in each unit is directly converted into one code.
You. (In the future, this m × m compressed pixel will be referred to as
It will be referred to as a “stick pixel”. ).   Figure 2 shows the result of rotating the image for each block pixel.
Thus, the letter T is cut in this way.
To avoid this, restore the block pixels as shown in Fig.
To restore the original image data, rotate each pixel
It is necessary to compress again as shown in Fig.
You.   At this time, the m × m pixel unit A to be compressed shown in FIG.
After the transfer operation, the image is transformed as shown in A '
Straddle between elementary units.   That is, in order to perform high definition Needs to be converted.   Now consider the case of rotating the image,
When rotating back to image data of
Memory capacity for storing the original image data
The amount becomes extremely large. 48Mb on par with the worst image data
An intermediate buffer of yte data capacity is required.   Also, two-dimensional image conversion and spatial filtering
When processing is performed directly in two dimensions as in the conventional case,
There is a problem that it becomes more complicated than a dimensional processing circuit
Was.   Such decoding → rotation → compression decoding or decoding → space file
Very simple operation of filtering → compression decoding
Examples will be described below.   First, the method of rotation will be described. Generally any angle
The rotation of θ can be realized by the following affine transformation.   here Is the coordinates of the image before rotation, Is the coordinates of the rotated image, and θ is the rotation angle. This two-dimensional
After conversion, the coordinates of the image before rotation Is at the address point of the image data (which can be expressed as an integer)
Is the coordinates of the rotated image Is generally irrational. Therefore high rotation
To do with precision, some non-integer coordinates Address point of data after rotation from data of (Integer) data must be obtained by two-dimensional interpolation
No. Also, the data obtained as a result of rotation as shown in FIG.
A considerable amount of capacity, as it is not trivial to clean in m units
Without the intermediate buffer, recompression becomes difficult. So 2
Equation (1) of the dimensional affine transformation is expressed as follows in the x direction and the y direction.
Into two products.   First one-dimensional x-direction transformation T1Then:   That is, one-dimensional conversion T1The value of y does not change,
The width in the direction is reduced by a factor of cosθ. Diagram 4
The rectangle in (a) is a one-dimensional conversion T in the x direction.1And as in (b)
Be transformed. Next, the one-dimensional conversion T in the second y directionTwoSo next
Become like   That is, one-dimensional conversion T in the y directionTwoThen, FIG. 4 (b)
From (c), the value of x does not change and the width in the y direction is 1 /
The image (c) enlarged by cos θ times and rotated by the angle θ is
can get.   As described above, the one-dimensional conversion T in the x direction1Then, 1 in the x direction
If the line data is read, the coordinates of the converted data will be
Data of the address point of the converted image
Can be obtained by one-dimensional interpolation. That is, in the x direction
Processing on a line-by-line basis is possible. Therefore, one-dimensional change
Exchange T1Collecting m lines of processing results of
Shrinkage is easily possible. Similarly, one-dimensional conversion T in the y directionTwoTo
Also, one line of data in the y direction is read out and one line is read.
In-unit processing is possible. However, compressed data is stored
Memory (5 in FIG. 1) in two directions, x-direction and y-direction.
The configuration must be accessible.   Next, compressed data → decoding → rotation → compression encoding or compression
Conversion of data → decoding → spatial filtering → compression coding
Will be described based on the embodiment shown in FIGS.
I will tell.   FIG. 5A shows compressed data → decoding → rotation → compression code.
FIG. 2 is a block diagram of the entire circuit configuration for performing the conversion. Compressed data
The data area is the data area that will be the input data,
Data are stored in two areas 511 and 512.
Have been. The CPU 8 becomes the input data before executing the processing.
Select the data area to be specified by instructing the selector 521.
You. The selector 521 responds to the signal 502 from the CPU 8 to
Address memory 1 and 2 (511 and 512)
Input to the input data side memory address 591 and the data
Connect the input line to the compressed data line 503 on the input side.
One of the address lines is the output data side memory address 59
2 and data line to output compressed data line 501
And both the 511 and 512 address buses and
Disconnect all data buses (high impedance state
Yes) three different states.   Thereafter, 521 stores the compressed data memory 1 in the input data
And the compressed data memory 2 as the output data memory.
The description will proceed assuming that they are connected. Address calculation times
The path 57 connects the main-scanning synchronous clock and the sub-scanning synchronous clock.
The input data address 59 of the input compressed data memory
1 and output compressed data to which the processed data should be output
Output data address 592 to memory and during processing
Outputs the necessary addresses 593, 594 in the intermediate buffer.
You. The compression memory 511 corresponds to the input data address 591
The data is output to the input side compressed data line 503, and the
3 decodes this and passes through selector 522 to intermediate memory 1 or
2 (541 or 542). Selector 522 sets the value of 593
toggle intermediate memories 1 and 2 each time it becomes a multiple of m.
Change over. Selector 523 operates similarly to 522, except that 522
Is connected to the intermediate memory 2 when the
When 522 connects intermediate memory 2, intermediate memory 1
522 and 523 connect the data bus to 541 and 5
It alternates to 42. Also, here m
Let's take the case of = 4 as an example. 591 is an ad
The main scan address and the sub scan address.
Each address of the address is 3 bits counting from the lower bit
Eyes (ie 2TwoBit) or more bits only
Things. Also, the input side intermediate buffer address 593
Indicates that the sub-scanning address is 3 bits counted from the lower bit.
Only the first bit is input to selectors 522 and 523,
Main scanning addresses are stored in the intermediate memories 1 and 2 (541 and 542).
Only have been entered. Intermediate memories 1 and 2 are
It consists of a line buffer for 4 rasters,
Raster output to one of the intermediate memories through selector 522
Is output. The same intermediate buffer on the input side
The toe address is input, and one of the intermediate memories
The decrypted data is written to the address. On the other hand,
From the same main scanning address of the other intermediate memory, four
Decrypted data one block line before each line buffer
The data is input to the selector 526 through the selector 523. Choice
Unit 526 is preset by CPU8,
Either interpolation processing circuit 57 or spatial filter 58
Select one of them, and output 523. The selector 527 is a selector
As with 526, 57 or 58
Select one and flow to 524. In this case, 526 and 527 are 57 and 5
8 set to choose the same one
It is. The interpolation processing circuit 55 is provided with an intermediate buffer on the output side of the 594.
Decimal number of main scan address (consisting of integer part and decimal part)
Inputs and outputs for each of the four line buffer outputs
To create interpolated data from two consecutive data
And the intermediate corresponding to the address given by the integer part of 594
Output to memory 3 or 4 through selectors 527 and 524
go. The one-dimensional spatial filtering circuit 58 is shown in FIG.
It consists of four one-dimensional spatial filters
One raster corresponds to one raster. For each raster
One-dimensional spatial filtering is performed, and the intermediate memory 3 is also
Or 4 through selectors 527 and 524. Choice
Units 524 and 525 are similar to the selectors 522 and 523 described above.
This is a selector pair for selecting the keys 3 and 4 by toggle. This and
524 and 525 are the output intermediate buffer address 594.
The third bit counted from the lower bit of the sub-scanning address
One bit is input as a selection signal. Intermediate note
The addresses 3 and 4 have the same intermediate buffer address on the output side.
The main scanning address is input, and one of the memories has
Data from interpolation processing circuit or one-dimensional spatial filter
The data from the ring processing circuit is
From the other memory, the interpolated data one block before
Alternatively, the data from the one-dimensional spatial filtering
The compressor 56 in parallel with the 4 rasters through the selector 525
Is output to The compressor 56 receives the data and
When data for 4 pixels is input from each of the rasters,
Output compressed data to selector 521 via output compressed data bus 501
Output. The selector 521 compresses the data on the data bus 501.
Output compressed data address 5 of compressed data memory 2 (512)
Output to the address specified by 92.   Next, the address operation circuit 57 will be described. Fig. 6
As shown in the figure, 57 is a clock switching unit 61, an address calculation unit.
62, comprising output switching units 63 and 66 and counters 64 and 65. Above
Rotate the input side address (x, y) and output side
(X, Y), the relationship of equation (1) holds.
I do. At this time, the rotation operation is divided into two terms as shown in equation (2).
And the address on the way is (X ', Y'),
When decomposed as in equations (3) and (5),
Equations (4) and (6) can be written. Also, the sub scanning
The main scanning clock of the y-th raster is x-th.
When treating pixels as (x, y) pixels, Y ′ = Y ′ (y) = y (4) − X ′ = X ′ (x, y) = xcos θ−ysin θ X '(0,0) = 0 ... (4)- X ′ (0, j + 1) = (j + 1) · (−sin θ) = J · (-sin θ) + 1 · (−sin θ) = X ′ (0, j) + 1 · (−sin θ) (4) − X '(i + 1, j + 1) = X' (0, j + 1) + (i + 1) co
s θ = X '(0, j + 1) + i · cos θ + cos θ = X ′ (i, j + 1) + cos θ (4) − It is.   Therefore, the operation of equation (3), Y ', is the sub-scanning synchronous clock.
Can be calculated simply by counting
No matter how many main scan synchronization clocks are included in the data. Yo
Therefore, the address calculation unit 62, as shown in FIG.
The sub-scan synchronous clock is counted up by the counter 76.
Y ′. In addition, 711 is previously determined by the CPU.
The value of sinθ is set and 731 is set to 0 as the initial value.
Is set. The adder 721 controls the sub-scanning clock.
Each time it is entered, the value stored in 731 and the value stored in 711 are added
And outputs the sum. 731 latches the output value,
Hold as a new value and execute calculation of (4) -expression
You. Next, 732 is set to 0 by the CPU as an initial value.
Adder 722 determines the value held in 732 and the value held in 712.
Is added each time the main scanning clock is input.
Perform calculations. The selector 74 indicates that the sub-scanning clock has entered.
731 output is selected and output only, and 722 output is selected
Power. 732 is the main scanning clock or sub-scanning
When at least one of the clocks is input, the output of the selector 74 is output.
Latch the force and calculate the result of (4)-or (4)-
It is taken as X 'as appropriate.   Next, in equation (6), similarly, X = X (X ′) = X ′ (6) − Y = Y (X ′, Y ′) = X′tanθ + Y ′ / cosθ Y (0,0) = 0 ... (6)- Y (i + 1,0) = (i + 1) tan θ = I · tanθ + tanθ = Y (i, 0) + tanθ (6)-Becomes   In this case, the operation of equation (5) is the main run of equation (3).
The scan sync clock and sub-scan sync clock are interchanged
The same discussion holds true in the same way. So in this case
CPU8 switches between 61, 63 and 66 in advance,
Also, the values set in 711 and 712 are also tanθ and
1 / cos θ. This is shown in FIG. 7 (B).   Also, the compressed data address is input to the input side and the input side.
And intermediate buffer addresses are provided
The buffer is the main run of the compressed data memory in the case of formula (3).
The scanning address and sub-scanning address are assigned to the main scanning
And as the same address on the sub-scanning side,
In the case of execution of the expression (5), the main scan of the compressed data memory
Set the address direction to the address of the intermediate buffer in the sub-scanning direction.
Intermediate buffer in the sub-scanning address direction of the compressed data memory
To be used in correspondence with the address in the main scanning direction.
You. This allows the intermediate buffer to be a raster buffer.
However, in the case of the equations (3) and (5),
Available. In addition, one-dimensional spatial filtering
During execution, the CPU 8 sets 0 to 711 and 1 to 712.
Things.   Next, the interpolation processing circuit 55 will be described. Interpolation times
The path 55 has the decrypted data and the output intermediate buffer address.
Fraction of 594 (2-1Second place, 2-2Place and 2-3Each rank
Tut) and 2 of the integer part04 bits in total
Is entered. The interpolation processing circuit 55 is configured as shown in FIG.
4 sets of 801 parts and other parts 1 of the circuit configured in
Each of the 801 parts, each of the four rasters
Each raster corresponds to one raster and operates in parallel. Fig. 8
Circuit holds two successive data of the decrypted data
811,812 for output and intermediate buffer address on output side
802 part that detects whether the integer part of the source has changed
And the interpolation coefficient from the decimal part of the output side intermediate buffer address
803 that outputs the 802 is the output side intermediate buffer
The least significant bit of the integer part indicates whether the integer part of the dress has changed.
Toe (20Bit in the second digit changes from the previous timing.
It is output by detecting whether it has been converted. 803
Is the output intermediate buffer address of the two consecutive clocks.
From the decimal part, (1−α ′) V (n) + α′V (n−1) (7) Here, V (i) is represented by the decoded data of the i-th clock.
Interpolation coefficients α 'and 1-
α ′ is output. 821 is the output of two consecutive clocks
Enter the decimal part of the side intermediate buffer address, α 'and
This is a lookup table for outputting 1-α '.   (1-α ') V (n) in the equation (7) is converted to 822
In the table, α'V (n-1) is increased to 823
Output each in the table, and use the adder of 83
Will be obtained. Obtained result, output 802 of 84
In synchronization with the intermediate memory 3 through selectors 527 and 524
Or 4 is output.   Next, the one-dimensional spatial filtering circuit shown in FIG.
Will be explained. Corresponding to the i-th pixel of the one-dimensional spatial filter
V ′ (i), and the input of the i-th pixel is V (i).
Then V ′ (i) = βTwoV (i-2) + β1V (i-1) + β0
V (i) + β1V (i + 1) + βTwoV (i + 2) It is to realize the relationship. Where β0, Β1, Β
TwoIs a filter coefficient. Before the CPU 8 executes the processing
And β0, Β1, ΒTwoIs set. In addition,
It has four latches, each of which has a main scan synchronous clock.
Latch 941 and latch 941
Latching, 942 Latching 941, Latching Value, 94
3 is the value of 942, 944 is the value of 943.
Values are latched. As a result, V (i-2), V
(I−1),..., V (i + 2) are obtained. Also, LUT921 ~
925 is the corresponding filter coefficient (βTwo, Β1, Β0) And pair
Ruth that inputs the corresponding image data V and outputs the product
It is a cup table. Adders 931 to 934 are provided for each LUT.
The outputs are sequentially added to obtain V '.   The series of operations has been described above.
Inter-memory 3 and 4 are all smaller than 4 raster raster buffers.
522, 523 and 524, 525
Are switched every four main scanning clocks
In this configuration, the memory for four pixels is made up of four buffers.
Of course, it can be handled.   Also, the selector 526 in FIG.
As shown in FIG. 5B, the output of the selector 523 is set to both 55 and 58.
And select one of 55 and 58 outputs.
Of course, it may be possible.   The compressed data memories 1 and 2 are physically the same.
The input compressed data is read in time-division
Used as data memory, and when writing, output compressed data
It can be used as a memory. Input compressed data
Is read into the intermediate memory at the time of reading. When writing
Contains the input data area other than the data area
Is not output from Equations (3) and (5).
Is.   As described above, rotation processing of compressed pixel data is extremely easy.
It becomes possible.   In this embodiment, the rotation processing has been described.
However, the present invention is of course applicable to other processing such as scaling processing.
You. <Effect>   As described above, according to the present invention, an image is
For images represented by compressed data compressed in elementary units
The two-dimensional spatial filtering process to be performed in the first direction.
A one-dimensional filtering process,
One-dimensional filtering in the second direction.
For each one-dimensional filtering process.
To store the compressed data stored in the compressed data memory.
The direction of each one-dimensional filtering process
What is necessary is just to decode sequentially m lines at a time.
Decode all compressed data to be subjected to ring processing all at once
No need to save, so keep all decoded image data
There is no need to provide a large amount of memory
Simple two-dimensional spatial filtering of images
And can be executed at high speed.

【図面の簡単な説明】 第1図は本実施例の画像処理装置の構成図、第2図はブ
ロツク符号化、及びベクトル量子化のデータフオーマツ
トを示す図、第3図は本実施例の画像の回転方法の説明
図、第4図は画像の回転を一次元変換により行う方法の
説明図、第5図(A),(B)は画像処理ブロツク図、
第6図はアドレス演算回路図、第7図(A),(B)は
アドレス計算部の回路図、第8図は補間処理回路図、第
9図は一次元空間フイルタリング回路図である。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of an image processing apparatus according to the present embodiment, FIG. 2 is a diagram showing a block coding and vector quantization data format, and FIG. FIG. 4 is an explanatory diagram of a method of rotating an image, FIG. 4 is an explanatory diagram of a method of rotating an image by one-dimensional conversion, FIGS. 5 (A) and (B) are image processing block diagrams,
FIG. 6 is an address calculation circuit diagram, FIGS. 7A and 7B are circuit diagrams of an address calculation section, FIG. 8 is an interpolation processing circuit diagram, and FIG. 9 is a one-dimensional spatial filtering circuit diagram.

フロントページの続き (72)発明者 河村 尚登 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (56)参考文献 特開 昭60−97474(JP,A) 特開 昭60−134991(JP,A) 特開 昭60−207976(JP,A) 特開 昭59−81962(JP,A)Continuation of front page    (72) Inventor Naoto Kawamura               3-30-2 Shimomaruko, Ota-ku, Tokyo               Inside Canon Inc.                (56) References JP-A-60-97474 (JP, A)                 Japanese Patent Laid-Open No. Sho 60-133491 (JP, A)                 JP-A-60-207976 (JP, A)                 JP-A-59-81962 (JP, A)

Claims (1)

(57)【特許請求の範囲】 1.画像を夫々m×m画素からなる複数のブロックに分
割した各ブロックの画像を表わす圧縮データを格納した
圧縮データメモリと、 前記圧縮データメモリから圧縮データを読出す読出手段
と、 前記読出手段により読出された圧縮データを復号し、m
ライン毎に画像データを出力する復号手段と、 前記復号手段により復号されたmライン分の画像データ
の夫々に一次元フイルタリング処理する処理手段と、 前記処理手段により一次元フイルタリング処理されたm
ライン分の画像データをm×m画素からなるブロック毎
に圧縮する圧縮手段と、 前記圧縮手段により圧縮された圧縮データを前記圧縮デ
ータメモリに格納する格納手段とを有し、 前記読出手段により前記圧縮データメモリから第1の方
向に関して圧縮データを読出し、前記復号手段により復
号し、復号された画像データを前記処理手段により前記
第1の方向に関して一次元フイルタリング処理し、一次
元フイルタリング処理された画像データを前記圧縮手段
により圧縮し、前記格納手段により前記圧縮データメモ
リに格納する第1の画像データ処理、及び、前記読出手
段により前記圧縮データメモリから前記第1の方向に直
交する第2の方向に関して圧縮データを読出し、前記復
号手段により復号し、復号された画像データを前記処理
手段により前記第2の方向に関して一次元フイルタリン
グ処理し、一次元フイルタリング処理された画像データ
を前記圧縮手段により圧縮し、前記格納手段により前記
圧縮データメモリに格納する第2の画像データ処理とに
より、前記圧縮データメモリに格納されている圧縮デー
タにより表わされる画像に対して2次元空間フイルタリ
ング処理を行なうことを特徴とする画像処理装置。
(57) [Claims] A compressed data memory storing compressed data representing an image of each block obtained by dividing an image into a plurality of blocks each including m × m pixels; reading means for reading compressed data from the compressed data memory; reading by the reading means Decrypts the compressed data
Decoding means for outputting image data for each line; processing means for performing one-dimensional filtering on each of the m lines of image data decoded by the decoding means; m which has been subjected to one-dimensional filtering by the processing means.
Compression means for compressing the image data of the line for each block of m × m pixels; and storage means for storing the compressed data compressed by the compression means in the compressed data memory. The compressed data is read from the compressed data memory in the first direction, decoded by the decoding means, and the decoded image data is subjected to one-dimensional filtering in the first direction by the processing means. A first image data process for compressing the compressed image data by the compression means and storing the compressed image data in the compressed data memory by the storage means; The compressed data is read out in the direction of, decoded by the decoding means, and the decoded image data is sent to the processing means. A one-dimensional filtering process with respect to the second direction, the image data subjected to the one-dimensional filtering process is compressed by the compression unit, and the second image data process is stored in the compressed data memory by the storage unit. An image processing apparatus for performing two-dimensional spatial filtering on an image represented by compressed data stored in the compressed data memory.
JP61088612A 1986-04-17 1986-04-17 Image processing device Expired - Fee Related JP2744230B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61088612A JP2744230B2 (en) 1986-04-17 1986-04-17 Image processing device
US07/038,288 US4918541A (en) 1986-04-17 1987-04-14 Image processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61088612A JP2744230B2 (en) 1986-04-17 1986-04-17 Image processing device

Publications (2)

Publication Number Publication Date
JPS62245380A JPS62245380A (en) 1987-10-26
JP2744230B2 true JP2744230B2 (en) 1998-04-28

Family

ID=13947632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61088612A Expired - Fee Related JP2744230B2 (en) 1986-04-17 1986-04-17 Image processing device

Country Status (1)

Country Link
JP (1) JP2744230B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2509720Y2 (en) * 1989-04-07 1996-09-04 株式会社クボタ Tiller mounting device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6097474A (en) * 1983-11-02 1985-05-31 Hitachi Ltd Method and apparatus for rotating picture
JPS60134991A (en) * 1983-12-23 1985-07-18 Toshiba Corp Picture processor

Also Published As

Publication number Publication date
JPS62245380A (en) 1987-10-26

Similar Documents

Publication Publication Date Title
EP0235456B1 (en) Image processing apparatus and method with blocks of compressed data
JP2656897B2 (en) Image data compression and decompression device
TW409210B (en) Continuous tone compression/decompression apparatus and method, data process apparatus and device, and memory media for storing the programs executing these methods
JP2006014341A (en) Method and apparatus for storing image data using mcu buffer
EP1697894B1 (en) Image processing apparatus and image processing method
JP2003125209A (en) Image processor, electronic camera, and image processing program
US5446560A (en) Method and apparatus for raster to block and block to raster pixel conversion
EP0875858B1 (en) Method and apparatus for compressing and decompressing image data
AU3246993A (en) Image digitizer including pixel engine
US6996595B2 (en) Apparatus and method for consolidating output data from a plurality of processors
JP2744230B2 (en) Image processing device
JP3773338B2 (en) Image data encoding method and apparatus
JP2744229B2 (en) Image processing device
JP2744231B2 (en) Image processing device
JP4662325B2 (en) Image processing apparatus and image processing method
Anderson et al. Binary-image-manipulation algorithms in the Image View Facility
EP0558292B1 (en) Compression/expansion circuit
JPS62245378A (en) Image processor
JP2974596B2 (en) Color image processing equipment
JP2862498B2 (en) Image processing method
JP2653781B2 (en) Image editing processing method
JPH0679322B2 (en) Image editing processor
JP2821452B2 (en) Color image processing method
US6560286B1 (en) Field frame motion design for digital video decoder
JP3875465B2 (en) Image reduction method, image processing apparatus and image processing apparatus control method

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees