JP3147246B2 - Image processing apparatus and method - Google Patents
Image processing apparatus and methodInfo
- Publication number
- JP3147246B2 JP3147246B2 JP01634492A JP1634492A JP3147246B2 JP 3147246 B2 JP3147246 B2 JP 3147246B2 JP 01634492 A JP01634492 A JP 01634492A JP 1634492 A JP1634492 A JP 1634492A JP 3147246 B2 JP3147246 B2 JP 3147246B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- contour
- vector
- closed loop
- smoothing
- 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
Links
Landscapes
- Character Input (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Analysis (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は画像処理装置及び方法、
詳しくは画像データを入力し、出力画像を生成する画像
処理装置及び方法に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus and method,
More specifically, the present invention relates to an image processing apparatus and method for inputting image data and generating an output image.
【0002】[0002]
【従来の技術】従来、ファクシミリ装置等の画像処理装
置では、画像をイメージスキャナで読み取り、ラスタ走
査された画像の各画素を白か黒かの2値データにより表
現している。また2値ラスタ画像データを通信する際に
は、2値ラスタ画像をMH,MR,MMR等の方式で符
号化圧縮を行い送受信を行っていた。従って、従来のフ
ァクシミリ装置では、画像の内部表現としては、画像デ
ータを2値ラスタ画素データの集合として扱い、G3フ
ァイン(主走査8pel/mm、副走査7.7line/mm)で読
み込んだ画像を、標準(主走査8pel/mm、副走査3.8
5line/mm )の記録解像度しか持たない受信機に送信す
る場合のように送信側での読み込み画像と受信側の解像
度が異なる場合や、B4サイズの受信画像をA4の記録
紙に出力するように受信画像と出力画像の紙サイズが異
なる場合にはMH,MR,MMR符号化された画像デー
タを一旦2値ラスタ画像データに変換し、単純な画素毎
の2度書き(同じ画素を2度以上続けること)や間引き
処理により拡大及び縮小等の変倍処理を行っていた。2. Description of the Related Art Conventionally, in an image processing apparatus such as a facsimile apparatus, an image is read by an image scanner, and each pixel of the raster-scanned image is represented by binary data of white or black. When communicating the binary raster image data, the binary raster image is encoded and compressed by a method such as MH, MR, MMR or the like, and is transmitted and received. Therefore, in a conventional facsimile apparatus, as an internal representation of an image, image data is treated as a set of binary raster pixel data, and an image read in G3 fine (main scanning 8 pel / mm, sub-scanning 7.7 line / mm) is used. , Standard (main scanning 8 pel / mm, sub scanning 3.8
When the resolution of the image read on the transmission side is different from the resolution of the reception side, such as when transmitting to a receiver having only a recording resolution of 5 lines / mm), or a B4 size received image is output on A4 recording paper. If the received image and the output image have different paper sizes, the MH, MR, and MMR encoded image data is temporarily converted to binary raster image data, and is simply written twice for each pixel (the same pixel is written twice or more). (Continue) and scaling processing such as enlargement and reduction by thinning processing.
【0003】[0003]
【発明が解決しようとする課題】しかしながら、上記従
来例では、200dpiの画像を400dpiの記録紙
に記録する等、解像度の低い画像データを解像度の高い
ものに記録する際には、単純な画素毎の重複処理を行う
ため斜め線の輪郭線のギザギザが目だったり、G3ファ
インの解像度の画像をG4規格の主走査,副走査共に2
00dpiの解像度の画像に変換する200%近傍の解
像度変換では、画素毎の重複間引き処理による解像度変
換を行うため画像に歪みが生じる問題があった。However, in the above-described conventional example, when low-resolution image data is recorded on a high-resolution one, such as when a 200 dpi image is recorded on a 400 dpi recording paper, a simple pixel-by-pixel method is used. In order to perform the overlap processing, the jagged edges of the oblique lines are noticeable.
In the resolution conversion near 200% for converting to an image with a resolution of 00 dpi, there is a problem that the image is distorted because the resolution conversion is performed by the overlap thinning process for each pixel.
【0004】[0004]
【課題を解決するための手段】本願出願人は文字線画画
像を読み取ったとき、その画像のエッジベクトルを抽出
し、その抽出したエッジデータに基づいて画像を加工し
て、この問題を解決する提案をしている。原稿画像中の
文字線画領域(2値画像領域)と中間調画像領域とを判
別する専用の回路を格別用意しなくとも、ある程度の判
別が可能となるのが分かった。本発明はかかる点に鑑み
なされたものであり、画像のエッジベクトルを抽出する
ことで一連の処理を行う場合において、その過程で得ら
れたベクトルに基づいて中間調か2値画像かを区別する
ことを可能にする画像処理装置及び方法を提供しようと
するものである。この課題を解決するため本発明の画像
処理装置は以下に示す構成を備える。すなわち、入力し
た画像のエッジに沿った輪郭ベクトルデータを抽出する
輪郭抽出手段と、該輪郭抽出手段で抽出された各輪郭閉
ループ毎のベクトルを表す点を計数する計数手段と、抽
出された輪郭ベクトルデータに基づいて個々の閉ループ
サイズを検出する検出手段と、該検出手段で検出された
それぞれの閉ループのサイズ及びそれら各閉ループに対
応するベクトル点数に基づいて、それぞれの閉ループで
表される画像領域が中間調画像か文字・線画画像かを判
別する判別手段とを備える。SUMMARY OF THE INVENTION The present applicant proposes to solve this problem by reading an edge vector of a character and line drawing image and processing the image based on the extracted edge data. You are. It has been found that a certain degree of discrimination is possible without specially preparing a dedicated circuit for discriminating between a character line drawing area (binary image area) and a halftone image area in a document image. The present invention has been made in view of such a point, and when performing a series of processes by extracting an edge vector of an image, it distinguishes between a halftone image and a binary image based on a vector obtained in the process. It is an object of the present invention to provide an image processing apparatus and an image processing method which make it possible. In order to solve this problem, the image processing apparatus of the present invention has the following configuration. That is, contour extraction means for extracting contour vector data along the edge of the input image, counting means for counting points representing vectors for each contour closed loop extracted by the contour extraction means, and an extracted contour vector. Detecting means for detecting the size of each closed loop based on the data, and an image area represented by each closed loop based on the size of each closed loop detected by the detecting means and the number of vectors corresponding to each closed loop. Determining means for determining whether the image is a halftone image or a character / line drawing image.
【0005】また、本発明の画像処理方法は以下に示す
行程を備える。[0005] The image processing method of the present invention includes the following steps.
【0006】入力した画像のエッジに沿った輪郭ベクト
ルデータを抽出する輪郭抽出行程と、抽出された各輪郭
閉ループ毎のベクトルを表す点を計数する計数行程と、
抽出された輪郭ベクトルデータに基づいて個々の閉ルー
プサイズを検出する検出行程と、該検出行程で検出され
たそれぞれの閉ループのサイズ及びそれら各閉ループに
対応するベクトル点数に基づいて、それぞれの閉ループ
で表される画像領域が中間調画像か文字・線画画像かを
判別する判別行程とを備える。A contour extraction step for extracting contour vector data along an edge of an input image, a counting step for counting points representing a vector for each extracted contour closed loop,
A detection process for detecting the size of each closed loop based on the extracted contour vector data, and a closed loop based on the size of each closed loop detected in the detection process and the number of vector points corresponding to each of the closed loops, is represented by each closed loop. And a discrimination step for discriminating whether the image area to be processed is a halftone image or a character / line image.
【0007】また、本発明の更なる目的は、簡単な構成
で2値画像と中間調画像を区別し、且つ、良好な画像を
再現させることを可能にする画像処理装置を提供しよう
とするものである。この課題を解決するため本発明の画
像処理装置は以下に示す構成を備える。すなわち、入力
した画像のエッジに沿った輪郭ベクトルデータを抽出す
る輪郭抽出手段と、抽出した輪郭ベクトルデータを平滑
化する平滑化手段と、該平滑化手段によって平滑化され
た輪郭ベクトルデータに従って出力画像を生成する生成
手段とを備える画像処理装置であって、更には、前記輪
郭抽出手段で抽出された各輪郭閉ループ毎のベクトルを
表す点を計数する計数手段と、抽出された輪郭ベクトル
データに基づいて個々の閉ループサイズを検出する検出
手段と、該検出手段で検出されたそれぞれの閉ループの
サイズ及びそれら各閉ループに対応するベクトル点数に
基づいて、前記各閉ループ毎の前記平滑化処理手段を付
勢するか否かを制御する制御手段とを備える。A further object of the present invention is to provide an image processing apparatus capable of distinguishing between a binary image and a halftone image with a simple configuration and reproducing a good image. It is. In order to solve this problem, the image processing apparatus of the present invention has the following configuration. That is, contour extraction means for extracting contour vector data along the edge of the input image, smoothing means for smoothing the extracted contour vector data, and output image according to the contour vector data smoothed by the smoothing means. Generating means for generating a contour vector, and further comprising: counting means for counting points representing a vector for each contour closed loop extracted by the contour extracting means; and Detecting means for detecting the size of each closed loop, and energizing the smoothing processing means for each closed loop based on the size of each closed loop detected by the detecting means and the number of vectors corresponding to each closed loop. Control means for controlling whether or not to do so.
【0008】また、本発明の画像処理方法は以下に示す
行程を備える。すなわち、入力した画像のエッジに沿っ
た輪郭ベクトルデータを抽出する輪郭抽出行程と、抽出
した輪郭ベクトルデータを平滑化する平滑化行程と、該
平滑化行程によって平滑化された輪郭ベクトルデータに
従って出力画像を生成する生成行程とを備える画像処理
方法であって、更には、前記輪郭抽出行程で抽出された
各輪郭閉ループ毎のベクトルを表す点を計数する計数行
程と、抽出された輪郭ベクトルデータに基づいて個々の
閉ループサイズを検出する検出行程と、該検出行程で検
出されたそれぞれの閉ループのサイズ及びそれら各閉ル
ープに対応するベクトル点数に基づいて、前記各閉ルー
プ毎の前記平滑化処理行程を付勢するか否かを制御する
制御行程とを備える。Further, the image processing method of the present invention has the following steps. That is, a contour extraction step for extracting contour vector data along the edge of the input image, a smoothing step for smoothing the extracted contour vector data, and an output image according to the contour vector data smoothed by the smoothing step. And a generation step of generating points for each of the contour closed loops extracted in the contour extraction step. Based on the size of each of the closed loops detected in the detection process and the number of vectors corresponding to each of the closed loops, and energizing the smoothing process for each of the closed loops. And a control step for controlling whether or not to perform.
【0009】[0009]
【作用】かかる本発明の構成或いは行程において、例え
ば、入力した画像のエッジに沿った輪郭ベクトルデータ
を抽出し、その抽出されて閉ループ内のベクトルを表す
総点数を得る。そして、該当する閉ループのサイズとの
関係に基づいて注目している閉ループの画像が2値画像
か中間調画像かを判別する。In the configuration or process of the present invention, for example, contour vector data along the edge of the input image is extracted, and the total score representing the extracted extracted vector in the closed loop is obtained. Then, based on the relationship with the size of the corresponding closed loop, it is determined whether the closed loop image of interest is a binary image or a halftone image.
【0010】[0010]
【実施例】以下、添付図面に従って本発明に係る実施例
を詳細に説明する。Embodiments of the present invention will be described below in detail with reference to the accompanying drawings.
【0011】<装置構成の説明>図1は実施例の画像処
理通信装置のブロック構成図を示している。図示におい
て、100はイメージ・スキャナであって、CCD等の
光電変換デバイスによりラスタ走査順に読み込まれた画
像データをA/D変換し、さらにA/D変換されたデジ
タル多値データを2値化回路により2値化し、2値ラス
タ画像データとしてバスA1500に出力する。バスA
に出力された2値ラスタ画像データは、一旦、メモリA
300に蓄積される。<Description of Apparatus Configuration> FIG. 1 is a block diagram of an image processing communication apparatus according to an embodiment. In the figure, reference numeral 100 denotes an image scanner, which performs A / D conversion on image data read in raster scanning order by a photoelectric conversion device such as a CCD, and further converts the A / D converted digital multi-valued data into a binarizing circuit. , And is output to the bus A1500 as binary raster image data. Bus A
Is output to the memory A once.
300.
【0012】200は像域分離回路で、イメージ・スキ
ャナ100より入力されたラスタ走査の多値データ(例
えば、1画素256階調の場合、8bit/pixe
l)を入力し、中間調領域と文字・線画領域を分離し画
像エリア毎の像域分離テーブル(詳細は後述する)をメ
モリA300に作成する。尚、読み取り画像にどの部分
が文字・線画等の2値画像であって、どの部分が中間調
画像であるのかは、入力した多値データの値を調べるこ
とで判明する。すなわち、一般に、2値画像は文字通
り、白(最低濃度)と黒(最高濃度)の2つの状態しか
ないわけであるから、それら2つの状態が隣合う領域
(エッジ)における濃度変化は急峻となる。これに対
し、中間調画像はその濃度が徐々に変化するので、その
濃度変化はなだらかになる。従って、この濃度変化を調
べれば、注目している画素位置が2値画像のエッジにあ
るのか、中間調画像のエッジにあるのかが判明する。
尚、こうした文字・線画等の2値画像と中間調画像とを
区別する技術は、既に公知であり、これ以外の処理でも
って実現しても良い。また、読み取り原稿の種類等をオ
ペレータが指示するようにしても良い。Reference numeral 200 denotes an image area separating circuit, which is raster scanning multi-valued data input from the image scanner 100 (for example, in the case of 256 gradations per pixel, 8 bits / pixel).
1), the halftone area and the character / line drawing area are separated, and an image area separation table (to be described in detail later) for each image area is created in the memory A300. Note that which part of the read image is a binary image such as a character or a line drawing and which part is a halftone image can be determined by checking the value of the input multi-valued data. That is, in general, a binary image literally has only two states of white (lowest density) and black (highest density). Therefore, the density change in an area (edge) where these two states are adjacent to each other is sharp. . On the other hand, since the density of the halftone image changes gradually, the density change becomes gentle. Therefore, by examining this density change, it becomes clear whether the pixel position of interest is at the edge of the binary image or at the edge of the halftone image.
A technique for distinguishing such a binary image such as a character or a line drawing from a halftone image is already known, and may be realized by other processing. Further, the operator may instruct the type of the document to be read and the like.
【0013】700は輪郭抽出回路でメモリA300に
蓄積された2値ラスタ画像データ及び必要ならば像域分
離のための像域分離テーブルを読み込み、メモリB11
00に輪郭座標データ列を作成する。Reference numeral 700 denotes a contour extraction circuit which reads the binary raster image data stored in the memory A 300 and an image area separation table for image area separation if necessary, and
At 00, a contour coordinate data sequence is created.
【0014】800は符号・復号化回路で、符号処理を
行う場合は、メモリA300に蓄積された2値ラスタ画
像データを読み込み、MH,MR,MMR等の2値画像
の符号化圧縮を行いメモリB1100に符号化画像デー
タを蓄積する。また復号化処理を行う場合は、メモリB
1100に蓄積された、符号化画像データを入力し、メ
モリA300に復号化された2値ラスタ画像データを出
力する。An encoding / decoding circuit 800 reads binary raster image data stored in the memory A 300 and performs encoding and compression of a binary image such as MH, MR, and MMR when performing encoding processing. The encoded image data is stored in B1100. When performing the decoding process, the memory B
The encoded image data stored in 1100 is input, and the decoded binary raster image data is output to the memory A300.
【0015】900は平滑化・座標変換回路で、メモリ
B1100に蓄積された輪郭座標データ列を入力し、種
々の座標変換(変倍率の乗算,x座標y座標交換)及び
拡大変倍時の輪郭のギザギザを平滑化する平滑化処理を
行い、メモリB1100に変換後の輪郭座標データ列を
作成する。Reference numeral 900 denotes a smoothing / coordinate conversion circuit, which inputs a contour coordinate data string stored in the memory B 1100, performs various coordinate conversions (multiplication of magnification, x-coordinate y-coordinate exchange), and contours during enlargement / reduction. Is performed, and a converted contour coordinate data sequence is created in the memory B1100.
【0016】1300は通信制御回路(CCU)で、メ
モリB1100に蓄積された画像データ(輪郭座標デー
タ列、または画像符号化データ、及び必要ならば領域分
離テーブル)を入力し、通信回線に画像データを出力す
る。また通信回線より受信された画像データをメモリB
1100に蓄積する。Reference numeral 1300 denotes a communication control circuit (CCU) which inputs image data (contour coordinate data string or image coded data and, if necessary, an area separation table) stored in the memory B 1100, and transmits the image data to a communication line. Is output. The image data received from the communication line is stored in the memory B.
1100.
【0017】1000は2値画像再生成回路で、メモリ
B1100に蓄積された輪郭座標データ列を入力し、そ
の輪郭座標データに基づいてメモリA300に輪郭線を
描画して2値ラスタ画像(ビットマップイメージ)を作
成する。Numeral 1000 denotes a binary image regenerating circuit which inputs a contour coordinate data string stored in a memory B 1100, draws a contour in a memory A 300 based on the contour coordinate data, and generates a binary raster image (bit map). Image).
【0018】400は中塗り回路で、メモリA300に
作成された輪郭線を描画した2値ラスタ画像(ビットマ
ップイメージ)を入力して、輪郭閉領域の中を中塗り
し、それをFIFOメモリ500等に出力する。Reference numeral 400 denotes an intermediate coating circuit, which inputs a binary raster image (bitmap image) in which a contour created in the memory A 300 is drawn, fills the inside of the contour closed area, and stores it in the FIFO memory 500. And so on.
【0019】FIFOメモリ500はプリンタとの水平
同期,垂直同期を取り直しプリンタ600に2値ラスタ
画像データを出力する。The FIFO memory 500 resynchronizes the horizontal and vertical synchronization with the printer and outputs binary raster image data to the printer 600.
【0020】600はLBP等のプリンタでFIFO5
00で同期を取り直した2値ラスタ画像データを入力し
記録紙に画像データを記録する。Reference numeral 600 denotes a printer such as an LBP, FIFO5
At 00, the binary raster image data resynchronized is input and the image data is recorded on a recording sheet.
【0021】<処理内容の説明>次に、本実施例におけ
る画像処理通信装置の画像データの流れ、すなわち、送
信動作を図2、受信動作を図3、コピー動作を図4のフ
ローチャートを用いてそれぞれ詳細に説明する。<Explanation of Processing Contents> Next, the flow of image data of the image processing communication apparatus according to the present embodiment will be described with reference to the flow chart of FIG. 2 for transmission operation, FIG. 3 for reception operation, and FIG. Each will be described in detail.
【0022】<送信処理の説明>先ず、送信動作の処理
手順を図2のフローチャートを用て説明する。<Explanation of Transmission Process> First, the procedure of the transmission operation will be described with reference to the flowchart of FIG.
【0023】ステップS1での画像読み取りでは、イメ
ージスキャナ100により、画像を2値ラスタ画像デー
タとして読みとり、メモリA300に転送し蓄積する。
またこのとき即時送信以外、つまり画像データの送信を
即座に実行しない場合は、メモリの有効活用の為、ステ
ップS9,S10,S11に示すようにメモリA300
に蓄積された画像データを符号化・復号化回路800に
より符号化圧縮を行いメモリB1100に画像ファイル
として蓄積しておき、送信時に復号化処理を行いメモリ
A300に2値ラスタ画像として展開する。また、2値
ラスタ画像の蓄積と同時にイメージスキャナ100より
の多値ラスタ画像データを像域分離回路200に出力す
る。像域分離回路200では画像の中で文字・線画領域
か中間調領域かをブロック(所定領域)毎に判定し、メ
モリA300に画像領域の性質を示す領域判定テーブル
を作成しておく。もちろん蓄積された符号化画像データ
ファイルと、領域判定テーブルファイルは同じファイル
属性とし、必要時に取り出す。In the image reading at step S1, the image is read by the image scanner 100 as binary raster image data, transferred to the memory A300 and stored.
At this time, when transmission other than immediate transmission, that is, when image data transmission is not performed immediately, the memory A300 is used as shown in steps S9, S10, and S11 for effective use of the memory.
Is encoded and compressed by an encoding / decoding circuit 800 and stored as an image file in a memory B1100, and is decoded at the time of transmission to be developed as a binary raster image in a memory A300. Further, the multi-value raster image data from the image scanner 100 is output to the image area separation circuit 200 simultaneously with the accumulation of the binary raster image. The image area separation circuit 200 determines whether the image is a character / line image area or a halftone area for each block (predetermined area), and creates an area determination table indicating the properties of the image area in the memory A300. Of course, the stored encoded image data file and the area determination table file have the same file attribute, and are extracted when necessary.
【0024】またこのとき2値化時に疑似中間調処理を
するかどうかの選択ボタン(不図示の操作部に設けられ
たハーフトーンボタン)押下の如何により、疑似中間調
を用いているかどうか明かな場合は、画像領域ごとの像
域分離テーブルは作成せず、疑似中間調か文字・線画か
の1ページの画像属性のみを記録しておけばよい。At this time, it is clear whether or not pseudo halftone is used by pressing a selection button (halftone button provided on an operation unit (not shown)) for performing pseudo halftone processing at the time of binarization. In this case, the image area separation table for each image area need not be created, and only the image attributes of one page such as pseudo halftone or character / line drawing need be recorded.
【0025】さて、ステップS3において、文字・線画
領域か疑似中間調領域かの領域判定テーブルをメモリA
300より読みだし、文字・線画領域ならばステップS
4に、中間調領域ならばステップS12に分岐させる。
中間調領域と判定され、ステップS12に進み、変倍が
必要であると判断されたら従来のG3,G4と同様に2
値ラスタ画像の変倍処理であるラスタ毎の変倍処理後、
通信回線に合わせた符号化を行い画像データを送信す
る。In step S3, an area determination table indicating whether the area is a character / line drawing area or a pseudo halftone area is stored in the memory A.
300, and if it is a character / line drawing area, step S
In step S4, the process branches to step S12.
If it is determined that the image is in the halftone area, and the process proceeds to step S12, and if it is determined that zooming is necessary, 2 is determined in the same manner as the conventional G3 and G4.
After the scaling process for each raster, which is the scaling process for the value raster image,
The encoding is performed according to the communication line, and the image data is transmitted.
【0026】また、このとき画像領域判定テーブルを送
信する場合は、メモリA300の領域判定テーブルをメ
モリB1100に転送し送信する。When transmitting the image area determination table at this time, the area determination table in the memory A 300 is transferred to the memory B 1100 and transmitted.
【0027】ステップS4で画像データとして、受信側
が輪郭座標データ列から2値ラスタ画像再生成を行う機
能を持っていて、輪郭座標データ列の送信が可能である
と判断すると、そのことが受信側から送信側に通知され
ステップS5に進む。また、受信側が従来のG3もしく
はG4の機能のみで構成されていて、輪郭座標データ列
を受けることができない場合はステップS16に進む。
ステップS16では、変倍が必要か否かを判断し、必要
ならステップS17に進み、以後輪郭座標データ列によ
る変倍処理を行う。また、変倍が必要ないならばそのま
まステップS23に進み、符号化処理後送信される。In step S4, if the receiving side has a function of regenerating a binary raster image from the outline coordinate data sequence as image data, and determines that the outline coordinate data sequence can be transmitted, it is determined that the receiving side has the function. Is notified to the transmitting side, and the process proceeds to step S5. If the receiving side has only the conventional G3 or G4 function and cannot receive the contour coordinate data sequence, the process proceeds to step S16.
In step S16, it is determined whether or not scaling is required. If necessary, the process proceeds to step S17, where scaling processing is performed using the outline coordinate data sequence. If no scaling is required, the process directly proceeds to step S23, where the data is transmitted after the encoding process.
【0028】さて、ステップS17では、輪郭抽出回路
700にメモリA300に蓄積された2値ラスタ画像デ
ータを入力し、2値ラスタ画像データから輪郭座標デー
タ列に変換した後、メモリB1100に輪郭座標データ
列を蓄積する。ステップS18でメモリB1100に蓄
積された輪郭座標データ列に対し拡大処理が必要か否か
を判断し、拡大処理が必要ならステップS19、不要な
らステップS20に進む。In step S17, the binary raster image data stored in the memory A300 is input to the contour extracting circuit 700, and the binary raster image data is converted into a contour coordinate data sequence. Accumulate columns. In step S18, it is determined whether or not enlargement processing is necessary for the outline coordinate data sequence stored in the memory B1100. If enlargement processing is necessary, the process proceeds to step S19.
【0029】ステップS19では、メモリB1100よ
り輪郭座標データ列を入力し、後述の輪郭平滑化処理を
行い、ステップS20に進む。また、ステップS20で
は各座標値に変倍率を乗算し、送信解像度にあわせた座
標値に変換を行う。ステップS21では、2値画像再生
成回路1000に変換された輪郭座標データ列をメモリ
B1100より転送し、メモリA300のビットマップ
イメージに輪郭線を描画する。ステップS22では、中
塗り回路400において輪郭線の描画されたイメージビ
ットマップを1ラスタ毎取り込み、中塗り描画を行った
2値ラスタ画像データとしてメモリA300に展開す
る。In step S19, a contour coordinate data string is input from the memory B1100, and a contour smoothing process described later is performed. Then, the flow advances to step S20. In step S20, each coordinate value is multiplied by a scaling factor to convert the coordinate value into a coordinate value according to the transmission resolution. In step S21, the converted outline coordinate data sequence is transferred from the memory B1100 to the binary image regeneration circuit 1000, and the outline is drawn on the bitmap image in the memory A300. In step S22, the image bitmap on which the outline is drawn in the middle-painting circuit 400 is fetched for each raster, and is developed in the memory A300 as binary raster image data on which the middle-painting is performed.
【0030】ステップS23では、通信モードに合わせ
た符号化を、符号化・復号化回路800により行いメモ
リB1100に転送する。メモリB1100に転送され
た符号化画像データは、G4の場合にはCCU1300
により送信される。G3の場合は図示しないMODEM
により送信される。In step S23, encoding in accordance with the communication mode is performed by the encoding / decoding circuit 800 and transferred to the memory B1100. The encoded image data transferred to the memory B 1100 is the CCU 1300 in the case of G4.
Sent by MODEM not shown for G3
Sent by
【0031】ステップS5以降の処理を説明する。送信
しようとしている画像領域が文字・線画であって、受信
側が輪郭座標データを受信できる場合、素おりはステッ
プS5に進む。文字・線画領域として輪郭抽出回路70
0にメモリA300より転送された画像データは、後述
の粗輪郭座標データテーブルを更新しながら全画像の走
査を行い、最終的に輪郭座標データ列に変換を行いメモ
リB1100に蓄積される。ステップS6では、輪郭座
標データ列に変換した画像データの変倍が必要か否かを
判断する。必要なら、ステップS7に進んで、メモリB
500に蓄積された画像データを平滑化・座標変換回路
800に転送し、座標値に変倍率を乗算する。またこの
とき、必要ならば座標列を追跡し輪郭座標データ列の中
で特徴点を残すように、また拡大処理には平滑化変換を
行う。またさらに画像に追跡により平滑化により復元可
能と判断したならば、座標データの座標値の有効桁数を
落としデータ量の圧縮を行う。処理手段後、平滑化・座
標変換回路900により座標変換された輪郭座標データ
列は、メモリB1100に戻される。ステップS8で、
送信解像度と受信解像度が一致した画像データがCCU
600により送信される。G3の場合は同様に図示しな
いMODEMにより送信される。The processing after step S5 will be described. If the image area to be transmitted is a character / line drawing and the receiving side can receive the contour coordinate data, the process proceeds to step S5. Contour extraction circuit 70 as character / line drawing area
The image data transferred from the memory A300 to "0" is scanned for all images while updating a coarse contour coordinate data table described later, and finally converted to a contour coordinate data sequence and stored in the memory B1100. In step S6, it is determined whether or not the image data converted into the outline coordinate data sequence needs to be scaled. If necessary, the process proceeds to step S7 where the memory B
The image data stored in 500 is transferred to the smoothing / coordinate conversion circuit 800, and the coordinate value is multiplied by a scaling factor. At this time, if necessary, the coordinate sequence is tracked to leave feature points in the outline coordinate data sequence, and smoothing conversion is performed in the enlargement process. Further, if it is determined that the image can be restored by smoothing by tracking the image, the number of significant digits of the coordinate value of the coordinate data is reduced to compress the data amount. After the processing means, the outline coordinate data sequence subjected to coordinate conversion by the smoothing / coordinate conversion circuit 900 is returned to the memory B1100. In step S8,
Image data whose transmission resolution and reception resolution match are CCU
600. In the case of G3, it is transmitted by a MODEM (not shown).
【0032】ところで、画像データの通信エラーを考慮
すると、通信装置をG4のCCUとした場合、画像を輪
郭座標データ列として通信にする場合、プロトコルエラ
ー補正,エラー画像の再送により輪郭座標データ列の送
受信は可能だか、MODEMを用いるG3の場合は、E
CMにHDLCを用いたデータ送受信が必要である。従
って輪郭座標データ列を、G3によりMODEMを通
し、従来の電話回線を用いて送受信する場合は、強制E
CMモードになるようにし、回線状態によりECM再送
の頻度が多い場合、もしくはECM送受信が行えない場
合、従来のMH,MR符号による画像データ送信に切り
替え、従来のG3モードで画像通信を行うようにする。By the way, in consideration of the communication error of the image data, if the communication device is a G4 CCU, if the image is to be communicated as the outline coordinate data sequence, if the protocol error correction and error image retransmission are performed, the outline coordinate data sequence Can transmission and reception be possible, or in the case of G3 using MODEM, E
Data transmission / reception using HDLC for CM is required. Therefore, when transmitting and receiving the outline coordinate data string through the MODEM by G3 and using the conventional telephone line, the forced E
When the CM mode is set and the ECM retransmission frequency is high or the ECM transmission / reception cannot be performed due to the line condition, the image data is switched to the conventional image data transmission using the MH and MR codes, and the image communication is performed in the conventional G3 mode. I do.
【0033】<受信処理の説明>次に、図3のフローチ
ャートを用いて、本装置の受信処理を説明する。<Description of Reception Processing> Next, the reception processing of this apparatus will be described with reference to the flowchart of FIG.
【0034】ステップS101の受信では、CCU13
00もしくは図示しないMODEMより画像データが受
信される。受信画像は、従来のG3によるMH,MRや
G4によるMMRのような符号化画像データ、もしくは
実施例で説明している画像処理通信装置により送信され
てきた輪郭座標データ列である。受信された画像データ
は、一旦メモリB1100に蓄積される。In the reception in step S101, the CCU 13
00 or image data is received from a MODEM (not shown). The received image is conventional coded image data such as MH and MR based on G3 and MMR based on G4, or a contour coordinate data string transmitted by the image processing communication device described in the embodiment. The received image data is temporarily stored in the memory B1100.
【0035】ステップS102では、受信された画像デ
ータが本画像処理通信装置より送信された輪郭座標デー
タ列であるか否かが判断される。In step S102, it is determined whether or not the received image data is a contour coordinate data string transmitted from the image processing communication device.
【0036】実施例で説明している装置から受信した画
像データであると判断したら、ステップS114に分岐
し、通常のファクシミリ装置から受信したMH,MR,
MMR符号データであると判断したらステップS103
に進む。If it is determined that the image data is received from the apparatus described in the embodiment, the flow branches to step S114 to receive the MH, MR, and MH received from the normal facsimile apparatus.
If it is determined that the data is MMR code data, step S103
Proceed to.
【0037】ステップS114では、受信した画像デー
タの変倍が必要か否かを判断する。変倍処理が必要であ
ると判断したらステップS107に進み、以後輪郭座標
データ列を用いた変倍処理を行う。また、変倍処理が不
要である場合には、ステップS109の走査方向の一致
判定に進み、以後画像データを輪郭座標データ列から2
値ラスタ画像データに戻しプリント出力される。In step S114, it is determined whether or not the received image data needs to be scaled. If it is determined that the scaling process is necessary, the process proceeds to step S107, and thereafter, the scaling process using the outline coordinate data sequence is performed. If the scaling process is not necessary, the process proceeds to step S109 for determining the coincidence in the scanning direction.
It is returned to the value raster image data and printed out.
【0038】また、受信画像データが、MH,MR,M
MRに符号化された画像データであると判断し、ステッ
プS103に進んだ場合には、その受信データは符号化
・復号化回路800に送られ、2値ラスタ画像データに
復号化され、メモリA300に蓄積される。次のステッ
プS104では、受信した画像データをプリント出力す
る際に変倍が必要か否かを判断し、必要であると判断し
たらステップS105に進み、不要な場合にはステップ
S113に進んで、メモリA300からFIFO500
に2値ラスタ画像データを転送しプリンタ600と同期
を取り直してプリンタ600よりプリント出力される。When the received image data is MH, MR, M
When it is determined that the received image data is MR-encoded image data, and the process proceeds to step S103, the received data is sent to the encoding / decoding circuit 800, where the received data is decoded into binary raster image data, and is stored in the memory A300. Is accumulated in In the next step S104, it is determined whether or not scaling is necessary when the received image data is printed out. If it is determined that the magnification is necessary, the process proceeds to step S105. If not, the process proceeds to step S113. A300 to FIFO500
The binary raster image data is transferred to the printer 600, and the printer 600 is re-synchronized with the binary raster image data and printed out from the printer 600.
【0039】ステップS105では、受信した画像デー
タが疑似中間調画像か、文字・線画画像かを、領域判定
(画像属性もしくは、領域判定テーブル)をもとに判断
する。そして、疑似中間調画像データブロックに関して
はステップS116に進み、ラスタ画像変倍回路160
0に転送され2値ラスタ画像として変倍される。また、
文字・線画領域と判定された画像ブロックは、輪郭抽出
回路700に転送され、以下に説明する輪郭座標データ
列としての変倍処理がなされる。In step S105, it is determined whether the received image data is a pseudo halftone image or a character / line image, based on area determination (image attribute or area determination table). Then, the process proceeds to step S116 for the pseudo halftone image data block, and the raster image scaling circuit 160
0 and is scaled as a binary raster image. Also,
The image block determined to be a character / line drawing area is transferred to the contour extraction circuit 700, and subjected to a scaling process as a contour coordinate data sequence described below.
【0040】ステップS106では、メモリA300に
蓄積された文字・線画の2値ラスタ画像データが輪郭抽
出回路700に転送され、2値ラスタ画像データから輪
郭座標データ列に変換され、メモリB1100に蓄積さ
れる。In step S106, the binary raster image data of the character / line image stored in the memory A300 is transferred to the contour extracting circuit 700, converted from the binary raster image data into a row of contour coordinate data, and stored in the memory B1100. You.
【0041】ステップS107では、副走査,主走査い
ずれかが拡大処理であるか否かを判断する。拡大処理で
ある場合にはステップS115に進み、メモリB110
0に蓄積された輪郭座標データ列を平滑化・座標変換回
路900に転送し、後述の輪郭座標データ列の追跡パタ
ーンマッチングによる第1平滑化と第2平滑化処理を行
い、角点以外の輪郭座標データの平滑化を行う。この処
理により拡大時の斜線のギザギザが抑制される。In step S107, it is determined whether any of the sub-scanning and the main scanning is an enlargement process. If it is an enlargement process, the process proceeds to step S115, and the memory B110
The contour coordinate data sequence stored in the sequence No. 0 is transferred to the smoothing / coordinate conversion circuit 900, and a first smoothing process and a second smoothing process by tracking pattern matching of the contour coordinate data sequence described later are performed, and the contours other than the corner points are processed. Performs coordinate data smoothing. With this processing, jagged oblique lines at the time of enlargement are suppressed.
【0042】ステップS108では、輪郭座標データ列
もしくは輪郭平滑化された輪郭座標データ列に対し、各
座標列に変倍率を乗算することで、プリント出力の解像
度にあわせた座標データに変換される。In step S108, the contour coordinate data string or the contour coordinate data string whose contour has been smoothed is converted into coordinate data corresponding to the resolution of the print output by multiplying each coordinate string by a scaling factor.
【0043】ステップS109では、例えば、B5縦で
読み込んだ画像をA4横で出力する場合のように、画像
データの走査方向が記録時の画像走査方向と異なるか否
かを判断する。この場合はステップS110に進み、輪
郭座標データ列のx座標と、y座標の入れ替えを行い、
メモリB1100に蓄積する。また座標交換の必要のな
い場合は、そのままメモリB1100に蓄積される。In step S109, it is determined whether or not the scanning direction of the image data is different from the image scanning direction at the time of recording, for example, when the image read in B5 portrait is output in A4 landscape. In this case, the process proceeds to step S110, where the x coordinate and the y coordinate of the outline coordinate data sequence are exchanged, and
The data is stored in the memory B1100. If there is no need to exchange coordinates, the coordinates are directly stored in the memory B1100.
【0044】ステップS111では、メモリB1100
に蓄積された画素密度変換後の輪郭座標データ列を2値
画像再生成回路に入力し、メモリA300の一部を出力
イメージのビットマップイメージ格納用として使用し、
ビットマップイメージの輪郭を描画する。In step S111, the memory B1100
Is input to the binary image regenerating circuit, and a part of the memory A300 is used for storing a bitmap image of an output image.
Draw the outline of the bitmap image.
【0045】ステップS112では、メモリA300よ
り、輪郭線の描画された画像データをラスタ毎に取り出
し、中塗り回路400で、輪郭の中の中塗りを行いFI
FO500に転送する。この時点で、輪郭座標データ
は、再び2値ラスタ画像データに変換される。また別に
ステップS104、もしくはステップS105により分
岐によりメモリA300に蓄積されていた2値ラスタ画
像もこの時点で同様にメモリA300より取り出されF
IFO500に転送される。In step S112, the image data on which the contour line is drawn is taken out from the memory A300 for each raster, and the inside of the contour is painted by the filling circuit 400 to obtain the FI.
Transfer to FO500. At this point, the outline coordinate data is converted again into binary raster image data. At this time, the binary raster image stored in the memory A300 by branching in step S104 or step S105 is also taken out from the memory A300 at this time and is also read out by F
The data is transferred to the IFO 500.
【0046】FIFO500に転送された2値ラスタ画
像データは、ステップS1013においてプリンタ60
0と同期を取り直しラスタ画像イメージとしてプリンタ
600より出力される。In step S1013, the binary raster image data transferred to the FIFO 500
Synchronized with 0, the image is output from the printer 600 as a raster image.
【0047】<コピー処理の説明>次に、図4のフロー
チャートを用いてコピー時の処理内容を説明する。<Description of Copy Processing> Next, the contents of processing at the time of copying will be described with reference to the flowchart of FIG.
【0048】ステップS201では原稿画像を読み取
る。この場合、即時コピーのようにファイル蓄積の必要
のない場合は、ステップS202からステップS213
に進み、イメージスキャナ100より出力される画像デ
ータはメモリA300を介してFIFO500に転送さ
れプリント出力される。ここでメモリA300に一旦蓄
積されるのは、イメージスキャナとプリンタの速度の違
いを吸収するためで、感熱プリンタのように記録スピー
ドを変化させることができる場合は、上記のように直接
FIFO500に転送し出力すればよい。尚、即時コピ
ーの場合、イメージスキャナ100の読み取り解像度を
プリンタの出力解像度と同じにすれば、何の処理も行う
必要がなく、上述した転送処理を行えば良い。In step S201, a document image is read. In this case, if there is no need to accumulate the files as in the case of the immediate copy, steps S202 to S213
The image data output from the image scanner 100 is transferred to the FIFO 500 via the memory A300 and printed out. Here, the data is temporarily stored in the memory A300 in order to absorb the difference in speed between the image scanner and the printer. If the printing speed can be changed like a thermal printer, the data is directly transferred to the FIFO 500 as described above. And output it. In the case of immediate copying, if the reading resolution of the image scanner 100 is the same as the output resolution of the printer, there is no need to perform any processing, and the transfer processing described above may be performed.
【0049】また、即時コピーではなく、一旦画像デー
タをファイルとして蓄積したのちコピーを行うよう指示
された場合には、ステップS203に進み、画像ファイ
ルのメモリ効率をあげるため符号化圧縮を行い蓄積す
る。ここでは、メモリA300に蓄積された2値ラスタ
画像を符号化・復号化回路800に転送し、MH符号等
に変換しメモリB1100に転送蓄積するものとする。
また符号化圧縮は、もちろんMH以外色々な圧縮方法を
用いることが可能であり、本装置独自の圧縮法を採用し
ても良い。一度蓄積された画像データは、プリント出力
動作時にステップS204に示されるように再びメモリ
B1100から読み出され、符号化・復号化回路800
により復号化されメモリA300に2値ラスタ画像デー
タとして展開される。If it is instructed not to copy immediately but to copy the image data once after storing it as a file, the process proceeds to step S203, where the image file is encoded and stored in order to increase the memory efficiency of the image file. . Here, it is assumed that the binary raster image stored in the memory A300 is transferred to the encoding / decoding circuit 800, converted into an MH code or the like, and transferred and stored in the memory B1100.
For the encoding compression, various compression methods other than the MH can be used, and a compression method unique to the present apparatus may be employed. The image data once accumulated is read out again from the memory B1100 at the time of the print output operation as shown in step S204, and the encoding / decoding circuit 800
And the data is expanded as binary raster image data in the memory A300.
【0050】ステップS206では蓄積された画像ファ
イルを変倍する必要があるか否かを判断する。ここでの
判断の基になるのは、原稿画像サイズと本装置のサイズ
が異なる場合や、オペレータにより指示された場合等で
ある。変倍不要の場合には、ステップS213に進み、
FIFO500に1ラスタ毎に画像データを転送し、プ
リンタ600と同期を取り直しプリント出力される。ま
た、変倍処理を行う場合には、ステップS207に進
み、送信の処理で示したように蓄積された画像ファイル
が疑似中間調画像か、文字・線画画像かを領域判定テー
ブルをもとに判断する。疑似中間調画像の場合には、復
号した画像をラスタ画像変倍回路1600に転送し、2
値ラスタ画像状態のまま変倍され、メモリA300のビ
ットマップイメージメモリに戻される。また、文字線画
画像であると判断したら、ステップS208に進み、文
字・線画領域と判定されたブロックを輪郭抽出回路70
0に順次転送し、2値ラスタ画像データから輪郭座標デ
ータ列への変換を行い、メモリB1100輪郭座標デー
タ列として蓄積させる。先の受信処理で説明したように
G3の標準解像度(主走査8pel/mm,副走査3.85pe
l/mm)で蓄積された画像データを400dpiのプリン
タに出力するような拡大処理を行う場合は、ステップS
214で平滑化処理を行うため、平滑化・座標変換回路
において後述するような第1平滑化,第2平滑化処理を
行う。In step S206, it is determined whether or not the stored image file needs to be scaled. The basis of the determination here is a case where the document image size is different from the size of the apparatus, a case where an operator instructs, and the like. If no scaling is required, the process proceeds to step S213,
The image data is transferred to the FIFO 500 on a raster-by-raster basis, synchronized with the printer 600, and printed out. If the scaling process is to be performed, the process proceeds to step S207, where it is determined whether the stored image file is a pseudo-halftone image or a character / line drawing image based on the area determination table as shown in the transmission process. I do. In the case of a pseudo halftone image, the decoded image is transferred to the raster image scaling circuit 1600,
The value is scaled in the state of the value raster image and returned to the bitmap image memory of the memory A300. If it is determined that the block is a character / line drawing image, the process proceeds to step S208, and the block determined to be a character / line drawing area is extracted by the contour extraction circuit 70.
0, sequentially converting the binary raster image data into a contour coordinate data string, and storing the converted data as a memory B1100 contour coordinate data string. As described in the previous reception processing, the standard resolution of G3 (main scanning 8 pel / mm, sub-scanning 3.85 pe)
1 / mm), the enlargement processing for outputting the image data accumulated at 400 dpi to a printer of 400 dpi is performed.
In order to perform the smoothing process at 214, the smoothing / coordinate conversion circuit performs first smoothing and second smoothing processes as described later.
【0051】ステップS210では、輪郭座標データ
列、もしくは平滑化された輪郭座標データ列の各座標値
に対し変倍率を乗算し、プリンタ出力イメージの解像度
及びサイズにあわせた輪郭座標データ列に変換する。ス
テップS211では、プリンタ出力イメージの輪郭座標
データ列に変換された画像データが2値画像再生成回路
1000に転送され、2値画像再再生回路1000より
メモリA300のビットマップイメージメモリに輪郭線
が描画される。ステップS212において、メモリA3
00に形成された輪郭線の描画された2値ラスタ画像デ
ータは、1ラスタ毎に読み出され、FIFO500に転
送され、ステップS213に示すようにプリンタと同期
をとりプリント出力される。In step S210, each coordinate value of the contour coordinate data string or the smoothed contour coordinate data string is multiplied by a scaling factor to convert the coordinate value into a contour coordinate data string matching the resolution and size of the printer output image. . In step S211, the image data converted to the outline coordinate data sequence of the printer output image is transferred to the binary image regenerating circuit 1000, and the binary image regenerating circuit 1000 draws an outline in the bitmap image memory of the memory A300. Is done. In step S212, the memory A3
The binary raster image data on which the contour line formed at 00 is drawn is read for each raster, transferred to the FIFO 500, and printed out in synchronization with the printer as shown in step S213.
【0052】以上の処理は各段ごとに順を追って説明し
ているが、もちろん各処理をブロック毎に行うことで復
号化処理,輪郭抽出処理,平滑化処理,座標変換処理,
2値画像再生成処理,中塗り処理を並列に行うことが可
能となり、システムのスループットをあげることができ
る。また、本実施例の中で負荷に大きい処理は、送受信
時ではなく待機中に行うものもよい。The above processing is described step by step in each stage. Of course, the decoding processing, contour extraction processing, smoothing processing, coordinate conversion processing,
The binary image regenerating process and the intermediate coating process can be performed in parallel, and the system throughput can be increased. Further, the processing having a large load in the present embodiment may be performed during standby instead of during transmission / reception.
【0053】<各処理回路の説明>次に、個々の処理ブ
ロックの中で輪郭座標列による解像度変換を詳細に説明
するため、輪郭抽出回路,平滑化・座標変換回路,2値
画再生成像回路,中塗り回路を図面を用いながら詳細に
説明する。<Explanation of Each Processing Circuit> Next, in order to explain in detail the resolution conversion by the outline coordinate sequence in each processing block, an outline extraction circuit, a smoothing / coordinate conversion circuit, a binary image regenerating image circuit , The intermediate coating circuit will be described in detail with reference to the drawings.
【0054】<輪郭抽出回路>輪郭抽出回路700は、
図6に示すように、2値画像における注目画素611
と、その近傍の8個の画素(A,B,C,D、0,1,
2,3)の状態を見て処理を進めるもので、注目画素を
ラスタ走査し、1画素毎にずらしながら画像全体の処理
を逐次行っていく。具体的には以下の通りである。<Contour Extraction Circuit> The contour extraction circuit 700
As shown in FIG. 6, the pixel of interest 611 in the binary image
And eight pixels (A, B, C, D, 0, 1,
The process proceeds in accordance with the state of (2) and (3). The target pixel is raster-scanned, and the entire image is sequentially processed while being shifted for each pixel. Specifically, it is as follows.
【0055】ここで抽出される粗輪郭ベクトルの始点・
終点の位置は、主走査方向及び副走査方向共に、画素と
画素の中間の位置にあるものとする。また主走査方向及
び副走査方向共に、画素のある中心位置は正整数で示さ
れ、画素位置を2次元の座標で表現する。例えば、主走
査方向1728画素,副走査方向2287画素の画像に
おいて、今、注目画素の位置を[3,7](第7ラスタ
の第3画素位置の意)としたとき、それを取り囲む粗輪
郭ベクトル座標列は時計回りに(2.5,6.5),
(3.5,6.5),(3.5,7.5),(2.5,
7.5)となる。つまり、注目画素を矩形としたときの
四隅の座標位置である。尚、この場合の粗輪郭ベクトル
とは、上記4点をa,b,c,dとし、ベクトルをx→
y形式で表せば、a→b、b→c、c→d、d→aであ
る。The starting point of the rough contour vector extracted here
The end point is located at an intermediate position between pixels in both the main scanning direction and the sub-scanning direction. In both the main scanning direction and the sub-scanning direction, the center position of a pixel is indicated by a positive integer, and the pixel position is represented by two-dimensional coordinates. For example, in an image of 1728 pixels in the main scanning direction and 2287 pixels in the sub-scanning direction, when the position of the pixel of interest is [3, 7] (meaning the third pixel position of the seventh raster), the rough contour surrounding the pixel The vector coordinate sequence is clockwise (2.5, 6.5),
(3.5, 6.5), (3.5, 7.5), (2.5,
7.5). That is, these are the coordinates of the four corners when the target pixel is rectangular. The rough contour vector in this case is such that the above four points are a, b, c, d, and the vector is x →
In the y format, a → b, b → c, c → d, d → a.
【0056】第5図は、輪郭抽出回路700の内部ブロ
ックを示す図である。510は入力制御回路で、メモリ
A300に蓄積された2値ラスタ画像データを取り込み
シリアルデータをして出力する。尚、このデータは、図
示しない水平,垂直同期信号に同期して、シリアルデー
タとして出力される。521,522は垂直方向3ライ
ンにわたる画素データを取り出すためFIFOメモリ
で、シリアル入力される画素データを1ラインずつライ
ン遅延させる。530は、3×3のシフトレジスタ群
で、入力制御回路510からの出力、FIFO521か
らの1ライン分遅延させた出力、及びFIFO522か
らの2ライン分遅延させた出力を受け、3ラインのデー
タを順次入力する。そして、入力した3ラインの2値画
像データを1画素ずつシフトさせ、図6に示すような3
×3画素のデータをデコーダ540に出力する。デコー
ダ540は注目画素(ここでは図6のx)を除く周辺の
8画素の状態を示す4bitの数値データ及び注目画素
の値を輪郭抽出演算回路570に出力する。ここで言う
周辺の8画素の状態とは、注目している画素が置かれた
状態を示す情報であり、例えば注目画素が2値画像のエ
ッジにあるのか否か、エッジにあるとしたら、上下左右
のどの方向が白(2値データが“0”)になっているの
かを表すものである。FIG. 5 is a diagram showing an internal block of the contour extraction circuit 700. Reference numeral 510 denotes an input control circuit which takes in the binary raster image data stored in the memory A300, outputs it as serial data. This data is output as serial data in synchronization with a horizontal and vertical synchronization signal (not shown). Reference numerals 521 and 522 denote FIFO memories for extracting pixel data over three lines in the vertical direction, and delay line data of serially input pixel data line by line. Reference numeral 530 denotes a 3 × 3 shift register group which receives an output from the input control circuit 510, an output delayed by one line from the FIFO 521, and an output delayed by two lines from the FIFO 522, and outputs data of three lines. Enter sequentially. Then, the input three lines of binary image data are shifted one pixel at a time,
The data of × 3 pixels is output to the decoder 540. The decoder 540 outputs 4-bit numerical data indicating the state of the surrounding eight pixels excluding the target pixel (here, x in FIG. 6) and the value of the target pixel to the contour extraction calculation circuit 570. The state of the surrounding eight pixels here is information indicating the state where the pixel of interest is placed. For example, whether the pixel of interest is at the edge of the binary image, This indicates which direction on the left and right is white (binary data is “0”).
【0057】550は主走査カウンタで主走査方向の注
目画素の画素位置を輪郭抽出演算回路570に出力す
る。560は副走査カウンタで主走査方向の注目画素位
置を輪郭抽出演算回路570に出力する。Reference numeral 550 denotes a main scanning counter which outputs the pixel position of the target pixel in the main scanning direction to the contour extraction operation circuit 570. A sub-scanning counter 560 outputs the pixel position of interest in the main scanning direction to the contour extraction calculation circuit 570.
【0058】輪郭抽出演算回路570は、デコーダ54
0からの出力値により粗輪郭ベクトルを抽出し、各粗輪
郭ベクトルの始点の座標及びこの粗輪郭ベクトルに流入
してくる(このベクトルの始点の座標が終点となってい
る)別の粗輪郭ベクトル、この粗輪郭ベクトルから流出
していく(このベクトルの終点の座標が始点となってい
る)別の粗輪郭ベクトルの項目番号情報を持ったテーブ
ルの作成及び更新を行う。The contour extraction operation circuit 570 is provided for the decoder 54.
A coarse contour vector is extracted based on the output value from 0, and the coordinates of the starting point of each coarse contour vector and another coarse contour vector flowing into the coarse contour vector (the starting point of this vector is the end point) A table having the item number information of another coarse contour vector flowing out of the coarse contour vector (the starting point is the coordinates of the end point of this vector) is created and updated.
【0059】ここで上述したベクトルに付いて説明する
と、以下の通りである。Here, the above-described vector will be described as follows.
【0060】実施例では2値画像のエッジに沿ったベク
トルを抽出するわけであるが、画素レベルまで考慮して
ベクトルを抽出すると、垂直方向のベクトルと水平方向
のベクトルに分けることができる。換言すれば、2値画
像のエッジは垂直方向及び水平方向のベクトルの集合体
である。加えて、ある垂直ベクトルを注目したとき、そ
のベクトルの始点及び終点には必ず水平ベクトルが接続
される、つまり、垂直ベクトルは水平ベクトルに挟まれ
ていることになる。逆に、ある水平ベクトルは垂直ベク
トルに挟まれていることになる。実施例では、あるベク
トルを注目したとき、そのベクトルの始点に接続され
る、すなわち、注目ベクトルの始点位置が終点位置とな
っているベクトルを流入ベクトルといい、注目ベクトル
の終点を始点とするベクトルを流出ベクトルと呼んでい
る。そして、こうして個々のベクトルの連結関係を得れ
ば、対象としている2値画像のエッジに沿った輪郭を特
定できることになる。尚、個々のベクトルにはそれぞれ
ベクトルを特定するためのユニークな番号を設け、その
番号で互いのベクトルの接続関係を明らかにしている。
個々のベクトルを特定する番号を項目番号と呼ぶことに
する。In the embodiment, the vector along the edge of the binary image is extracted. However, when the vector is extracted in consideration of the pixel level, the vector can be divided into a vertical vector and a horizontal vector. In other words, the edge of the binary image is a set of vectors in the vertical and horizontal directions. In addition, when paying attention to a certain vertical vector, a horizontal vector is always connected to the start point and the end point of the vector, that is, the vertical vector is sandwiched between the horizontal vectors. Conversely, a horizontal vector is sandwiched between vertical vectors. In the embodiment, when a certain vector is noticed, a vector connected to the start point of the vector, that is, a vector in which the start point position of the notice vector is the end point position is called an inflow vector, and a vector having the end point of the notice vector as the start point Are called outflow vectors. Then, by obtaining the connection relation of the individual vectors in this way, it is possible to specify the contour along the edge of the target binary image. Each vector is provided with a unique number for specifying the vector, and the number clarifies the connection relationship between the vectors.
The number specifying each vector is called an item number.
【0061】図7は水平方向の粗輪郭ベクトルを示す
図、図8は垂直方向の粗輪郭ベクトルを示す図であり、
これらは先に説明したようにテーブルとしてメモリB1
100に格納されるものである。FIG. 7 is a diagram showing a horizontal coarse contour vector, and FIG. 8 is a diagram showing a vertical coarse contour vector.
These are stored in the memory B1 as a table as described above.
100 is stored.
【0062】図示において、710は水平方向の粗輪郭
ベクトルの項目番号を示すカウンタで水平粗輪郭ベクト
ルが1個増す(新たに発見される)毎に1増加する。7
21は水平方向の粗輪郭ベクトルの始点のx座標を記録
するために使用されるエリア、722は水平方向の粗輪
郭ベクトルの始点のy座標を記録するために使用される
エリアである。また、723はこの水平ベクトルの始点
に接続される垂直ベクトル(流出ベクトル)の項目番号
を格納するエリア、724はこの水平ベクトルの終点が
接続される垂直ベクトル(流出ベクトル)の項目番号を
示す図である。繰り返すが、水平ベクトルに接続される
2つのベクトルは垂直ベクトルであるので、これらエリ
ア723、724には注目している水平ベクトルに接続
される垂直ベクトルの項目番号が格納される。In the figure, reference numeral 710 denotes a counter indicating the item number of the horizontal coarse contour vector, and is incremented by one each time the horizontal coarse contour vector is increased by one (newly found). 7
21 is an area used to record the x coordinate of the starting point of the horizontal coarse contour vector, and 722 is an area used to record the y coordinate of the starting point of the horizontal coarse contour vector. Reference numeral 723 denotes an area for storing an item number of a vertical vector (outflow vector) connected to the start point of the horizontal vector, and reference numeral 724 denotes an item number of a vertical vector (outflow vector) to which the end point of the horizontal vector is connected. It is. Again, since the two vectors connected to the horizontal vector are vertical vectors, these areas 723 and 724 store the item numbers of the vertical vectors connected to the horizontal vector of interest.
【0063】この考えは、図8の垂直ベクトルのテーブ
ルに対しても同様である。すなわち、810は垂直方向
の粗輪郭ベクトルの項目番号を示すカウンタで、垂直粗
輪郭ベクトルが1個増す毎に1増加する。821は垂直
方向の粗輪郭ベクトルの始点のx座標を記録するために
使用されるエリア、822は垂直方向の粗輪郭ベクトル
の始点のy座標を記録するために使用されるエリアであ
る。そして、823はこの垂直ベクトルの始点に接続さ
れる水平ベクトル(流入ベクトル)の項目番号、824
はこの垂直ベクトルの終点が接続される水平ベクトル
(流出ベクトル)の項目番号を記録するために使用する
エリアである。This concept is the same for the vertical vector table shown in FIG. That is, a counter 810 indicates the item number of the vertical coarse contour vector, and is incremented by one every time the vertical coarse contour vector is increased by one. An area 821 is used to record the x coordinate of the starting point of the vertical coarse contour vector, and an area 822 is used to record the y coordinate of the starting point of the vertical coarse contour vector. 823 is the item number of the horizontal vector (inflow vector) connected to the start point of this vertical vector, 824
Is an area used to record the item number of the horizontal vector (outflow vector) to which the end point of this vertical vector is connected.
【0064】これら水平及び垂直方向の粗輪郭ベクトル
テーブルは、1画素の処理毎に随時粗輪郭ベクトルの追
加及び各テーブル内容の更新が行われ、1画面の処理終
了後、1画面の画像に対する水平及び垂直方向の粗輪郭
ベクトルテーブルとして完成される。In these horizontal and vertical coarse contour vector tables, a coarse contour vector is added and the contents of each table are updated as needed every time one pixel is processed. And a rough outline vector table in the vertical direction.
【0065】こうして、図7及び図8に示す水平及び垂
直方向粗輪郭ベクトルテーブルの流入及び両出力ベクト
ルの項目番号をたどることにより、図9に示すような画
像中の総輪郭線数,各輪郭線毎(輪郭閉ループ)の輪郭
線の総点数,輪郭線中の各点のx座標,y座標を表現す
る粗輪郭ベクトル座標列のテーブルを作成し一連の処理
を終了する。In this manner, by tracing the item numbers of the inflow and both output vectors of the horizontal and vertical coarse contour vector tables shown in FIGS. 7 and 8, the total number of contour lines in the image as shown in FIG. A table of a coarse contour vector coordinate sequence representing the total number of contour lines for each line (contour closed loop) and the x-coordinate and y-coordinate of each point in the contour is created, and a series of processing ends.
【0066】尚、処理速度を向上させるため、注目画素
位置が画像のエッジにないと判断した場合には、実質的
にテーブルが更新されることはないので、かかる状況下
においてのベクトルテーブルの追加・更新処理を行わな
い様にしても良い。In order to improve the processing speed, if it is determined that the target pixel position is not at the edge of the image, the table is not substantially updated. -The update process may not be performed.
【0067】ここで、上述した水平・垂直方向の粗輪郭
ベクトルテーブルの作成・更新処理を具体例を説明する
と以下の通りである。尚、説明を簡単にするため、読み
取った画像が6×5画素サイズであり、図23に示すよ
うに単独の画素Aと、連続した画素B,Cが存在したと
する。ここで、画素Aの四隅の座標位置(粗輪郭ベクト
ル座標)は、右上から時計回りに、(2.5,2.
5)、(2.5,3.5)、(1.5,3.5)、
(1.5,2.5)となる。画素B,Cについては説明
するまでもないであろう。Here, a specific example of the process of creating / updating the above-described horizontal / vertical coarse contour vector table will be described. For the sake of simplicity, it is assumed that the read image has a size of 6 × 5 pixels, and a single pixel A and continuous pixels B and C exist as shown in FIG. Here, the coordinate positions (coarse contour vector coordinates) of the four corners of the pixel A are (2.5, 2..
5), (2.5, 3.5), (1.5, 3.5),
(1.5, 2.5). The pixels B and C need not be described.
【0068】さて、この画像を読み取って処理していく
と、第3ラスタ、第2画素目になって初めて黒画素が検
出される。このとき、注目画素(画素A)の回りは全て
白(“0”)の画素であり、4本のベクトルが存在する
ことになる。つまり、水平方向に2本、垂直方向に2本
である。実施例では、新たな粗輪郭ベクトルが発生する
度に、そのベクトルに対して項目番号を付するわけであ
るので、この場合には、水平及び垂直方向とも0、1の
項目番号がつけられる。従って、水平・垂直ベクトルテ
ーブルは図24(A)の状態になる。このテーブルの見
方を再度説明するのであれば以下の通りである。When this image is read and processed, black pixels are detected only at the third raster and the second pixel. At this time, all around the target pixel (pixel A) are white ("0") pixels, and there are four vectors. That is, there are two in the horizontal direction and two in the vertical direction. In the embodiment, each time a new rough contour vector is generated, an item number is assigned to the vector. In this case, the item numbers of 0 and 1 are assigned in both the horizontal and vertical directions. Therefore, the horizontal / vertical vector table is in the state shown in FIG. The way to read this table is as follows.
【0069】今、例えば、項目番号が“0”の水平ベク
トルを注目する。この注目ベクトルの始点(画素Aの左
上隅)には、項目番号“1”の垂直ベクトルが流入し、
注目の終点からは項目番号“0”の垂直ベクトルが流出
していることを示している。尚、各ベクトルの項目番号
はそのテーブルに格納されている位置を示すオフセット
アドレスと考えて良い。すなわち、項目番号“0”の水
平ベクトルに流入・流出する垂直ベクトルのデータは垂
直ベクトルテーブルのオフセット“0”と“1”に存在
することがわかる。Now, for example, attention is paid to a horizontal vector having an item number of “0”. The vertical vector of the item number “1” flows into the starting point of this attention vector (upper left corner of the pixel A),
This indicates that the vertical vector of the item number “0” has flowed out from the noticed end point. The item number of each vector may be considered as an offset address indicating a position stored in the table. That is, it can be seen that the data of the vertical vector flowing into and out of the horizontal vector of the item number “0” exists at offsets “0” and “1” of the vertical vector table.
【0070】さて、図23に戻って、画素Aの次はその
右隣に進むが、注目画素は白であるので、なにもせずそ
の次の画素Bに処理が進む。Returning to FIG. 23, the pixel next to pixel A goes to the right, but since the pixel of interest is white, the process proceeds to the next pixel B without doing anything.
【0071】この画素Bを注目した場合、その右側を除
く上下方向と左方向にベクトルが存在することがわか
る。しかも、注目画素の左上隅が水平ベクトルの始点、
左下隅の座標位置が垂直ベクトルの始点として扱うこと
が可能であることがわかる。従って、これらの点を水平
・垂直ベクトルテーブルに新たに登録することができ
る。但し、垂直・水平方向とも既に項目番号として
“1”まで使用しているから、注目画素の左上隅の座標
(3.5,2.5)を項目番号“2”の水平ベクトルの
始点として、左下隅の座標(3.5,3.5)を項目番
号“2”の垂直ベクトルの始点として格納する。そし
て、項目番号“2”の水平ベクトルに着目した場合、自
身に流入しているベクトルは項目番号“2”の垂直ベク
トルであり、流出する垂直ベクトルはこの時点では判明
しない(水平方向に続く画素が存在する)から区別がで
きるようにマークしておく。これは、項目ベクトル
“2”の垂直ベクトルについても同様である。こうし
て、各テーブルは図24(B)のように更新される。When attention is paid to this pixel B, it can be seen that vectors exist in the vertical and left directions except for the right side. Moreover, the upper left corner of the pixel of interest is the starting point of the horizontal vector,
It can be seen that the coordinate position of the lower left corner can be treated as the starting point of the vertical vector. Therefore, these points can be newly registered in the horizontal / vertical vector table. However, since “1” is already used as the item number in both the vertical and horizontal directions, the coordinates (3.5, 2.5) of the upper left corner of the target pixel are set as the starting point of the horizontal vector of the item number “2”. The coordinates (3.5, 3.5) of the lower left corner are stored as the starting point of the vertical vector of item number "2". If attention is paid to the horizontal vector of the item number “2”, the vector flowing into itself is the vertical vector of the item number “2”, and the flowing out vertical vector is not known at this time (the pixel following the horizontal direction). Are marked) so that they can be distinguished from each other. The same applies to the vertical vector of the item vector “2”. Thus, each table is updated as shown in FIG.
【0072】さて、画素Cに処理が進むと、新たにベク
トルの始点となる座標位置(5.5,3.5)と(5.
5,2.5)が発生する。従って、その座標位置でテー
ブルを更新する。このとき、これまで未定であって、項
目番号“2”の水平ベクトルから流出する垂直ベクトル
は、今回新たに登録された項目番号“3”の垂直ベクト
ルであるので、その項目番号を水平ベクトルに書き込
む。同じようにして垂直ベクトルも更新処理を行う。こ
うして、各テーブルは図24(C)に示すように更新さ
れることになる。そして、全ての粗輪郭ベクトルの水平
及び垂直ベクトルとそれらの連結関係が抽出されたら、
それらベクトルテーブルに基づいて図9に示すようなベ
クトルテーブルを作成する。When the process proceeds to the pixel C, the coordinate positions (5.5, 3.5) and (5.
5, 2.5) occur. Therefore, the table is updated with the coordinate position. At this time, the vertical vector which has not yet been determined and flows out of the horizontal vector of the item number “2” is the vertical vector of the item number “3” newly registered this time. Write. Similarly, the vertical vector is updated. Thus, each table is updated as shown in FIG. Then, when the horizontal and vertical vectors of all the coarse contour vectors and their connection relationship are extracted,
A vector table as shown in FIG. 9 is created based on the vector tables.
【0073】図21に入力画像の例を示し、図22にそ
の入力画像から得られたベクトルテーブルを示す。FIG. 21 shows an example of an input image, and FIG. 22 shows a vector table obtained from the input image.
【0074】<平滑化・座標変換回路>次に実施例にお
ける平滑化・座標変換回路900を説明する。実施例の
平滑化・座標変換回路900は、図10に示すように、
第1平滑化回路910,第1平滑化変換テーブル94
0,第2平滑化回路920及び座標変換回路930より
構成される。<Smoothing / Coordinate Conversion Circuit> Next, the smoothing / coordinate conversion circuit 900 in the embodiment will be described. As shown in FIG. 10, the smoothing / coordinate conversion circuit 900 according to the embodiment includes:
First smoothing circuit 910, first smoothing conversion table 94
0, a second smoothing circuit 920 and a coordinate conversion circuit 930.
【0075】第1平滑化回路910では、前述の輪郭抽
出回路700によってラスタ走査型2値画像から図9に
示す粗輪郭データ列変換されたデータを取り込み、ベク
トル閉領域毎に座標列を追跡しながら、ベクトル接続状
態に基づき第1平滑化変換テーブルを参照しながら輪郭
座標データ列の変換及び角点のラベル付けを行い、第1
平滑化後の頂点座標データ列及び各頂点が角点か否かの
情報を出力する。第2平滑化回路920では、第1平滑
化された頂点座標データ列及び角点情報を基に、自点を
挟む前後各複数点座標値の加重平均を求め、輪郭ベクト
ル座標データ列を出力する。座標変換回路930では、
必要ならx軸,y軸の座標値の入れ替えをしたり、各座
標値と変倍率の乗算を行う。ここで、縮小処理の場合
は、第一平滑化回路910,920の平滑化処理をパス
して直接座標変換回路930にデータが渡される。The first smoothing circuit 910 fetches the data obtained by converting the raster scanning type binary image shown in FIG. 9 into the rough outline data sequence by the outline extraction circuit 700, and traces the coordinate sequence for each vector closed area. While referring to the first smoothing conversion table based on the vector connection state, the conversion of the outline coordinate data sequence and the labeling of the corner points are performed.
The smoothed vertex coordinate data sequence and information on whether each vertex is a corner point are output. The second smoothing circuit 920 obtains a weighted average of coordinate values of a plurality of points before and after the own point based on the first smoothed vertex coordinate data string and corner point information, and outputs a contour vector coordinate data string. . In the coordinate conversion circuit 930,
If necessary, the coordinate values of the x-axis and the y-axis are exchanged, and each coordinate value is multiplied by a scaling factor. Here, in the case of the reduction processing, the data is passed directly to the coordinate conversion circuit 930 through the smoothing processing of the first smoothing circuits 910 and 920.
【0076】上述した処理の詳細を説明する。第1平滑
化回路910では、図11〜図18に示すように、自辺
を挟む前後3辺までのパターンを参照し、各辺の向き・
長さによるパターン参照により粗輪郭座標数値データ列
の除去及び変換を行う。ここで、図11等に示す“N_
pnt”は、粗輪郭座標数値データの閉ループの総数、
一重丸は水平ベクトルの始点及び垂直ベクトルの終点、
三角は水平ベクトルの終点及び垂直ベクトルの始点を示
し、2重丸は角点をそれぞれ表す。また、ここでの第1
平滑化では、2値画像特有のノイズ(ノッチ・孤立点)
を除去するパターンとして、図11のパターンを含んで
いる。すなわち、図11の如く、1画素大の孤立画素除
去では、その座標値を全て削除する。これによって、画
像拡大時にその画素が強調されることがなくなる。ま
た、図12の如く、黒領域内の白孔の保存の場合は各輪
郭座標列をすべて角点のラベルづけを行い、座標値はそ
のまま出力する。尚、ここで言う角点とは、後述する第
2平滑化処理において、その座標位置が不動とすること
意味する。また、説明が前後するが、実施例ではX,Y
方向を右及び下方向としているので、左方向及び上方向
はそれぞれマイナス方向となっている。また、例えば図
13等において、“≦−3”の“≦−”はマイナス方向
に、“3”は少なくとも3画素続いていることを示して
いる。The above processing will be described in detail. In the first smoothing circuit 910, as shown in FIGS. 11 to 18, the pattern of up to three sides before and after the own side is referred to,
Removal and conversion of the coarse contour coordinate numerical data sequence are performed by referring to the pattern based on the length. Here, "N_" shown in FIG.
pnt ”is the total number of closed loops of the coarse contour coordinate numerical data,
The single circle is the starting point of the horizontal vector and the ending point of the vertical vector,
A triangle indicates an end point of a horizontal vector and a start point of a vertical vector, and a double circle indicates a corner point. Also, the first here
In the smoothing, noise (notch / isolated point) peculiar to the binary image
11 are included as patterns for removing. That is, as shown in FIG. 11, in removing an isolated pixel of one pixel size, all the coordinate values are deleted. This prevents the pixel from being emphasized when the image is enlarged. As shown in FIG. 12, when white holes in a black area are stored, all outline coordinate sequences are labeled with corner points, and the coordinate values are output as they are. Here, the corner point means that the coordinate position is not moved in a second smoothing process described later. In addition, although the description is changed before and after, in the embodiment, X, Y
Since the directions are rightward and downward, the leftward and upward directions are minus directions, respectively. In addition, for example, in FIG. 13 and the like, “≦ −” of “≦ -3” indicates that the pixel continues in the minus direction, and “3” indicates that the pixel continues for at least three pixels.
【0077】図11、12の意味するところは上述した
通りであるが、図13以降について簡単に説明すると以
下の通りである。The meaning of FIGS. 11 and 12 is as described above, and the following briefly describes FIG. 13 and subsequent figures.
【0078】図13の意味するところは、1画素幅の線
分であって、少なくとも3画素分の長さを持った細線の
端部を表す座標位置は角点として定義し、後述する第2
平滑化処理によってその座標位置が変更されることを防
ぐ、換言すれば、丸め防止をすることを意味する。わか
りやくす説明すれば、その背景には、3画素以上の長さ
を持った1画素幅の線分は、読み取り画像の“ゴミ”な
どではなく、文字や線画等の一部である認識することを
意味している。但し、ここでは3画素以上の長さとして
いるが、これは読み取り解像度に依存するものであり、
読み取り解像度が低い場合には2画素の長さとしても良
いし、より高解像度で画像を読み取った場合には4以上
にしてもよい。これは以下に説明することにも言えるこ
とである。The meaning of FIG. 13 is that a coordinate position representing an end of a thin line having a length of at least three pixels, which is a line segment having a width of one pixel, is defined as a corner point.
This means that the coordinate position is not changed by the smoothing process, in other words, rounding is prevented. In other words, in the background, a line segment having a length of 3 pixels or more and having a width of 1 pixel is recognized as a part of a character or a line drawing, not "dust" of a read image. Means that. Here, the length is 3 pixels or more, but this depends on the reading resolution.
The length may be two pixels if the reading resolution is low, or four or more if the image is read at a higher resolution. This can be said for the following explanation.
【0079】図14の意味するところは、所定の長さ
(図示では3画素)だけ平坦な状態における1画素分の
凸凹を削除する、つまり、その凸凹の粗輪郭ベクトルデ
ータを削除することを意味する。図15は、凸凹が連続
して存在する場合には、その凸凹を平坦にすることを意
味している。The meaning of FIG. 14 means that the unevenness of one pixel in a flat state of a predetermined length (three pixels in the drawing) is deleted, that is, the rough contour vector data of the unevenness is deleted. I do. FIG. 15 means that when the unevenness exists continuously, the unevenness is flattened.
【0080】図16は、角点の定義と、ベクトルの平滑
化の概念を示している。但し、図示において“Di”は
注目している粗輪郭ベクトルを示している。例えば同図
(A)の場合、注目している粗輪郭ベクトルの終点位置
が図示の状態にあるとき、注目粗輪郭ベクトルの終点位
置を角点とすることを意味している。また、注目ベクト
ルDiの直前のベクトルDi-1を削除し、2つ前のベクト
ルDi-2の長さと同じ長さを注目しているベクトルの始
点からとり、その終点位置とベクトルDi-2の始点位置
とを結ぶベクトルをDi-2とし更新する。また、その更
新されたDi-2の終点と角点とで表されるベクトルを注
目しているベクトルとして更新する。FIG. 16 shows the definition of corner points and the concept of vector smoothing. However, in the drawing, “D i ” indicates a coarse contour vector of interest. For example, in the case of FIG. 9A, when the end point position of the coarse contour vector of interest is in the illustrated state, it means that the end point position of the coarse contour vector of interest is a corner point. Further, attention vector D i deletes the vector D i-1 of the immediately preceding, the same length as the previous two vectors D i-2 taken from the starting point of the vector of interest, its end position and the vector D The vector connecting the start point position of i-2 is updated as Di-2 . Further, the vector represented by the updated end point and the corner point of Di-2 is updated as the vector of interest.
【0081】図17は、緩やかな斜線部の平滑化処理の
内容を示している。例えば、同図(A)の如く、1画素
上がって横方向に3画素以上伸び、再び1画素上がるよ
うな、所定方向に傾いたエッジに対しては、注目ベクト
ルの中点位置を直前ベクトルDi-1の終点、直後のベク
トルDi+1の始点位置とする。傾きが上方向にあって途
中から下方向になった場合には、この処理は行わない。
この判定は、直前のベクトルと直後のベクトルの傾きを
乗算し、その符号を調べればわかる。また、同図(B)
は、5本のベクトルを最終的に3本にする例を示してい
る。すなわち、図示の様な条件下においては、直前・直
後のベクトルを削除し、平滑化する以前のベクトルD
i-2の始点位置と注目しているベクトルDi上のA点とを
結ばせたベクトルをベクトルDi-2、A点とB点とで表
されるベクトルを注目ベクトルDi、A点と平滑化する
以前のベクトルDi+2の終点で表されるベクトルをDi+2
とする。図18については図示の通りである。FIG. 17 shows the contents of the smoothing process of the gentle shaded portion. For example, as shown in FIG. 9A, for an edge inclined in a predetermined direction such that it is raised by one pixel, extends three or more pixels in the horizontal direction, and rises again by one pixel, the midpoint position of the target vector is set to the immediately preceding vector D. The end point of i-1 and the start point position of the vector D i + 1 immediately after are set. This processing is not performed when the inclination is in the upward direction and becomes lower in the middle.
This determination can be found by multiplying the slope of the immediately preceding vector by the slope of the immediately succeeding vector and examining the sign thereof. Also, FIG.
Shows an example in which five vectors are finally reduced to three. In other words, under the conditions as shown in the figure, the vector D before the smoothing is deleted by deleting the immediately preceding and succeeding vectors.
i-2 vector the vectors were tied and point A on the vector D i that the start position has focused D i-2, attention vector represented by points A and B vectors D i, the point A The vector represented by the end point of the vector Di + 2 before smoothing is Di + 2
And FIG. 18 is as illustrated.
【0082】さて、第2平滑化回路920では、図19
に示すように2重丸で示される角点はそのままとし、そ
れ以外の各座標点に対し、自点を挟む前後各複数点座標
値(実施例では前後の2点との座標値)の加重平均を求
め、その値を第2平滑化後の頂点座標データ列として出
力する。ここで、図19に示す点Qiは第2平滑化後の
頂点座標データ列、点Piは第一平滑化後の頂点座標デ
ータ列を示す。例では、Q1(9/4,2)をP0(1,
3)、P1(2,2)、P2(4,1)の加重平均により
求めている。ここで、第1平滑化,第2平滑化で用いら
れる有効桁数は、記録解像度に有効な範囲で任意にとら
れる。Now, in the second smoothing circuit 920, FIG.
As shown in (2), the corner points indicated by double circles are left as they are, and the weights of the coordinate values of a plurality of points before and after the own point (in the embodiment, coordinate values with the two points before and after) with respect to the other coordinate points An average is obtained, and the value is output as a vertex coordinate data string after the second smoothing. Here, a point Q i shown in FIG. 19 indicates a vertex coordinate data sequence after the second smoothing, and a point P i indicates a vertex coordinate data sequence after the first smoothing. In the example, Q 1 (9/4, 2) is changed to P 0 (1,
3), calculated by a weighted average of P 1 (2, 2) and P 2 (4, 1). Here, the number of significant digits used in the first smoothing and the second smoothing is arbitrarily set within a range effective for the recording resolution.
【0083】座標変換回路930では、処理画像と記録
画像の主走査の違いによるx軸,y軸の座標変換をした
り、変倍処理に合わせて各座標列に対する変倍率の乗算
を行う。The coordinate conversion circuit 930 performs x- and y-axis coordinate conversion depending on the difference between the main scanning of the processed image and the recorded image, and multiplies each coordinate sequence by a scaling factor in accordance with the scaling process.
【0084】例えば、入力画像を主走査,副走査共に2
倍する場合には、第2平滑化された頂点座標データ列の
x座標,y座標を共に2倍し、小数点以下を四捨五入し
て座標変換を行う。For example, the input image is scanned in both main scanning and sub-scanning by 2
In the case of doubling, both the x-coordinate and the y-coordinate of the second smoothed vertex coordinate data string are doubled, and the decimal point is rounded off to perform coordinate conversion.
【0085】こうして各回路910〜940で得られた
輪郭座標データ列は、メモリB1100に出力され処理
を終了する。The outline coordinate data sequence obtained in each of the circuits 910 to 940 is output to the memory B 1100 and the processing is completed.
【0086】<2値画像再生成回路,中塗り回路>本実
施例では、ビットマップの画像メモリを1画面分使用す
るページメモリ使用タイプの場合を説明する。もちろん
輪郭座標データ列から2値ラスタ画像イメージに変換す
る手法はすべて有効である。<Binary Image Regenerating Circuit and Intermediary Circuit> In this embodiment, a case of a page memory using type in which a bit map image memory is used for one screen will be described. Of course, all methods of converting the outline coordinate data sequence into a binary raster image are effective.
【0087】2値画像再生成回路1000では、図1の
メモリB1100に蓄積された輪郭座標データ列を読み
込みメモリA300上のビットマップイメージメモリ1
面上に輪郭線を描画する。The binary image regenerating circuit 1000 reads the outline coordinate data sequence stored in the memory B 1100 of FIG.
Draw an outline on the surface.
【0088】このとき、後段の中塗り回路での塗り潰し
が高速動作可能でさらに1ページのビットマップイメー
ジで輪郭線描画を行うため相連続する2から3本の線分
ベクトル(輪郭座標列の各座標を結ぶベクトル)に注目
し、注目する線分ベクトルと、そのベクトルの直前のベ
クトル、及び直後のベクトルの状態(向き)を参照し
て、注目線分ベクトル上の輪郭画素の描画方法を制御し
ていく。制御の内容は、注目する線分ベクトル上の端点
と、端点以外の輪郭ベクトル上の点を分けて扱い、かつ
それらを描画しないか、線分ベクトル上の画素位置に描
画するか、更には、線分ベクトル上の画素の主走査方向
に一画素隣の画素位置にずらして描画するかを切り分け
る。実際の輪郭画素の描画動作は、描画しようとしてい
る画素位置に、既に保存されている値と1とのEXOR
をとった結果を格納する形で実行される。いずれにせ
よ、主走査方向に画素を順次読み出していくだけで、画
素のオン/オフを切り換えることが可能なように輪郭を
描画していく。尚、かかる輪郭描画についての提案は、
既に本願出願人が提案しているものを採用するものと
し、ここでの詳述は省略する。At this time, two to three consecutive line segment vectors (each in the outline coordinate sequence) can be filled at the subsequent intermediate coating circuit at a high speed and the outline is drawn with a bitmap image of one page. Control the drawing method of the contour pixels on the line segment vector of interest by referring to the line segment vector of interest, the vector immediately before the vector, and the state (direction) of the vector immediately after the vector. I will do it. The content of the control is to treat the end point on the line segment vector of interest and the points on the contour vector other than the end point separately, and not to draw them, to draw them at the pixel positions on the line vector, It is determined whether the image is shifted to a pixel position adjacent to the pixel on the line vector in the main scanning direction by one pixel or not. The actual contour pixel drawing operation is performed by EXORing the already stored value with 1 at the pixel position to be drawn.
Is executed in the form of storing the result. In any case, the contour is drawn so that the pixels can be switched on / off only by sequentially reading the pixels in the main scanning direction. In addition, the proposal about such contour drawing is as follows.
The one already proposed by the applicant of the present application shall be adopted, and the detailed description is omitted here.
【0089】中塗り回路400では、輪郭描画回路で全
てのアウトラインエッジの描画処理を追えた後にビット
マップイメージメモリ(メモリA300)の輪郭描画画
像を任意の同期タイミングでラスタ走査して読み出しな
がら、パイプライン処理で中塗り処理を実行し、それを
再びビットマップイメージメモリに転送する。中塗り処
理自体は、図14に示すような回路で処理され、CLK
に同期して入力されるDATAが、輪郭線描画画素にお
いて順次白黒反転されながらOUTに出力されていく。
ここで、LSYNCは、ライン同期信号でラスタ画素入
力の開始時に同期reset信号として入力される。5
10はラッチで1画素前のOUT出力値を保持する。5
20はEXORで入力データと一画素前のOUT出力値
とのEXORを出力する。In the intermediate painting circuit 400, after the contour drawing circuit has followed the drawing processing of all outline edges, the contour drawing image in the bitmap image memory (memory A300) is raster-scanned and read at an arbitrary synchronous timing, while The middle coat processing is executed in the line processing, and the middle coat processing is transferred to the bitmap image memory again. The intermediate coating process itself is processed by a circuit as shown in FIG.
Is output to OUT while being sequentially inverted in black and white in the contour line drawing pixel.
Here, LSYNC is a line synchronization signal and is input as a synchronization reset signal at the start of raster pixel input. 5
Reference numeral 10 denotes a latch which holds the OUT output value one pixel before. 5
Reference numeral 20 denotes an EXOR, which outputs an EXOR of the input data and the OUT output value of one pixel before.
【0090】ここで、描画しないアウトラインエッジ以
外は、処理後の端点も含めて直線上の輪郭画素の描画自
体もこの中塗り回路によって実施する。Here, other than the outline edges that are not drawn, the drawing of the outline pixels on the straight line including the processed end points is also carried out by the intermediate coating circuit.
【0091】[他の実施例の説明]上記実施例では、像
域分離回路により文字・線画画像と中間調画像の分離を
おこなっているが、イメージスキャナのモードセレクト
ボタンまたは通信プロトコルにより予め画像属性がわか
り、変換画像が疑似中間調なのか文字・線画画像なのか
明白な場合には、像域分離による領域テーブルは必要と
せず、画像属性により輪郭抽出による画素密度変換を行
うかどうかの切り替えを行ってもよい。さらに、疑似中
間調画像は、文字線画画像に比べ、比較的輪郭座標デー
タ列の1閉ループの総点数が少なく、ベクトルの向きが
1閉ループ内で頻繁に変化するため、像域分離回路20
0及び領域判定テーブルの変わりに平滑化処理をする段
階で、輪郭座標データ列の1閉ループの総数により平滑
化処理を行うか行わないか切り替えることで簡易な像域
分離機能が実現可能である。具体的には以下の様にして
処理する。[Explanation of Other Embodiments] In the above embodiment, the character / line image and the halftone image are separated by the image area separating circuit. However, the image attribute is previously determined by the mode select button of the image scanner or the communication protocol. If it is clear that the converted image is a pseudo-halftone or a character / line image, it is not necessary to use an area table by image area separation, and it is necessary to switch whether to perform pixel density conversion by contour extraction based on image attributes. May go. Further, the pseudo halftone image has a relatively small total number of points in one closed loop of the outline coordinate data sequence and the direction of the vector changes frequently within one closed loop as compared with the character / line drawing image.
A simple image area separation function can be realized by switching whether to perform or not perform the smoothing processing based on the total number of one closed loop of the outline coordinate data sequence at the stage of performing the smoothing processing instead of 0 and the area determination table. Specifically, the processing is performed as follows.
【0092】すなわち、1つの閉ループを形成する全ベ
クトルのx,y座標点の最小・最大点が得られるわけで
あるから、その閉ループに外接する矩形サイズが決定で
きる。つまり、閉ループの大きさを間接的に矩形サイズ
として取り出すことが可能になる。従って、その矩形サ
イズとその閉ループを形成している総点数との関係か
ら、平滑化を行うか否か、換言すれば、その閉ループが
中間調画像か文字・線画画像かを判断することが可能に
なる。尚、この場合、矩形サイズと閉ループとの関係を
テーブルとして記憶するか、式として記憶しておけばよ
い。That is, since the minimum and maximum points of the x and y coordinate points of all the vectors forming one closed loop can be obtained, the size of the rectangle circumscribing the closed loop can be determined. That is, the size of the closed loop can be indirectly extracted as a rectangular size. Therefore, from the relationship between the rectangular size and the total number of points forming the closed loop, it is possible to determine whether or not to perform smoothing, in other words, whether the closed loop is a halftone image or a character / line image. become. In this case, the relationship between the rectangle size and the closed loop may be stored as a table or may be stored as an expression.
【0093】また、本実施例では、輪郭座標データ列に
よる拡大・縮小処理及び符号化処理と、従来の2値ラス
タ画像による拡大縮小処理を両方含んでいるため輪郭座
標データ列のデータサイズとMH,MR,MMR符号化
データのデータサイズを比較してデータ量の少ない方の
画像データを送信することで通信時間の効率的な短縮が
可能となる。Further, in this embodiment, since both the enlargement / reduction processing and encoding processing based on the outline coordinate data string and the conventional enlargement / reduction processing based on the binary raster image are included, the data size of the outline coordinate data string and MH , MR, and MMR encoded data are compared, and the image data having a smaller data amount is transmitted, so that the communication time can be efficiently reduced.
【0094】また輪郭座標データ列は画像によってはか
なり大きくなるためメモリB1100の容量が小さい場
合など、画像によって輪郭座標データ列の抽出時にメモ
リオーバーフローする虞がある。この場合には、輪郭抽
出処理を中止し、2値ラスタ画像による座標変換(変
倍)処理に切り替えてもよい。つまり、メモリB110
0の容量は予め知っているわけであるから、構築されつ
つある粗輪郭ベクトルテーブルの最終アドレス位置とそ
のメモリの最終有効アドレス位置とを比較すれば良い。Further, since the outline coordinate data sequence is considerably large depending on the image, when the capacity of the memory B1100 is small, the memory may overflow when extracting the outline coordinate data sequence depending on the image. In this case, the contour extraction processing may be stopped and the processing may be switched to the coordinate conversion (magnification) processing using the binary raster image. That is, the memory B110
Since the capacity of 0 is known in advance, it is sufficient to compare the final address position of the coarse contour vector table being constructed with the final effective address position of the memory.
【0095】また上記座標変換による変倍はもちろん主
走査,副走査別々の変倍率を乗算することが可能であ
り、x軸,y軸独立に行うことが可能である。かかる処
理は、入力した原稿画像サイズと、印刷出力する場合の
用紙サイズとを比較し、そのサイズの違いによってx軸
の変倍率とy軸の変倍率を算出すれば良い。勿論、ユー
ザ(オペレータ)が自身の好みに応じて任意に設定する
ようにしてもい。また、これらのx、y軸の変倍率はネ
ゴシエーションによって送信側が処理しても良いし、受
信側が受信したデータを印刷するときに処理するように
しても良い。In addition to the scaling by the above coordinate transformation, it is possible to multiply the scaling factors for the main scanning and the sub-scan separately, and it is possible to perform the scaling independently for the x-axis and the y-axis. In this process, the input document image size is compared with the paper size for printout, and the x-axis scaling factor and the y-axis scaling factor may be calculated based on the size difference. Of course, the user (operator) may arbitrarily set according to his / her preference. In addition, these scaling factors of the x and y axes may be processed by the transmission side by negotiation, or may be processed when the reception side prints the received data.
【0096】また、平滑化処理においては、上記実施例
は、ゴミ画素除去の為に黒の孤立点の除去やノッチの除
去を行っているが、G3規格の標準解像度で読み込まれ
た画像データは、ノッチや孤立点が文字判読の情報とし
て必要な場合が多いため、外部切り替えモード(例えば
不図示の操作パネルにその旨のスイッチを設ける)によ
り入力画像の解像度によりノッチ除去,孤立画素除去の
パターンを平滑化パターンからはずして処理を行うこと
も可能である。もちろん、外部モードキーにより好みに
より平滑化処理を行うか、行わないかの切り替えは容易
に実現可能である。In the smoothing process, the above embodiment removes black isolated points and notches to remove dust pixels. However, image data read at the standard resolution of the G3 standard is used. In many cases, notches and isolated points are necessary as information for character interpretation, and therefore, a pattern for notch removal and isolated pixel removal according to the resolution of an input image in an external switching mode (for example, a switch is provided on an operation panel (not shown)). Can be removed from the smoothing pattern to perform the processing. Of course, it is possible to easily switch between performing and not performing the smoothing process according to preference using the external mode key.
【0097】本実施例における座標変換回路900で
は、x座標,y座標の交換及び倍率の乗算のみを行って
いたが、この処理時に図示しない読みとり原稿の斜行角
度検出装置の出力値をもとに輪郭座標データ列のアフィ
ン変換による座標回転を行うことで読み取り原稿の斜行
の補正を行うとが可能である。この場合、例えば図25
に示すように、読み取り原稿を副走査方向に搬送して、
或いは、スキャナを副走査方向に移動して読み取る場
合、原稿の主走査方向のエッジ位置を順次検出するよう
にすればよい。すなわち、図示の如く、原稿1枚読み取
ったときのズレ量lx,そのときの副走査方向の搬送量
lyが検出されるわけであるから、原稿の斜行角度θ
は、tanー1(ly/lx)として求められる。In the coordinate conversion circuit 900 of this embodiment, only the exchange of the x coordinate and the y coordinate and the multiplication of the magnification are performed. By performing coordinate rotation by affine transformation of the outline coordinate data sequence, it is possible to correct skew of the read document. In this case, for example, FIG.
As shown in the figure, the read original is transported in the sub-scanning direction,
Alternatively, when scanning is performed by moving the scanner in the sub-scanning direction, edge positions of the document in the main scanning direction may be sequentially detected. That is, as shown in the figure, the displacement amount lx when one document is read and the transport amount ly in the sub-scanning direction at that time are detected.
Is obtained as tan -1 (ly / lx).
【0098】また、原稿のエッジ位置の変化を検出する
手段としては、いろいろ考えられる。例えば、原稿を搬
送してその記録面を読み取る場合には、その読み取る位
置における背景色(読み取り原稿がなかった場合におい
て検出される色)が白以外となる様にしておく。一般
に、原稿自身の背景色は白色であるので、その白色と区
別が付きさえすれば、エッジを検出することが可能にな
る。また、原稿の搬送方向の横方向から、その原稿が折
れ曲がらない程度の小さい力で押圧し、且つ、左右(主
走査)方向に移動自在な押圧板を設け、原稿の搬送量に
対するその押圧板の左右の移動量を検出することで、斜
行の程度を検出するようにしても良い。There are various methods for detecting a change in the edge position of the document. For example, when a document is transported and its recording surface is read, the background color at the reading position (the color detected when there is no read document) is set to a color other than white. In general, the background color of the original document itself is white, so that the edge can be detected as long as the original is distinguished from the white color. In addition, a pressing plate is provided that presses the document with a small force that does not cause the document to bend from the lateral direction of the document conveyance direction and that is movable in the left-right (main scanning) direction. The degree of skewing may be detected by detecting the left and right movement amounts of.
【0099】さて、上記斜行修正処理は、原稿画像を読
み取って、メモリA300に読み取り画像を格納した後
あるいは格納するとき、その画像を得られた斜行角度だ
け逆方向に回転(アフィン変換)させればよい。この
後、上述した処理を行えば良い。また、上述した第2平
滑化処理を行って得られた座標データに対して回転処理
を行ってもよい。また、斜行修正を行う場合に、自動的
にかかる処理を行っても良いが、オペレータにその旨を
報知(操作パネルに設けられた表示部にメッセージを表
示する等)し、オペレータが斜行修正するか否かを指示
するようにしてもよい。In the skew feeding correction processing, when an original image is read and the read image is stored in or stored in the memory A300, the image is rotated in the reverse direction by the obtained skew angle (affine transformation). It should be done. Thereafter, the above-described processing may be performed. Further, a rotation process may be performed on the coordinate data obtained by performing the above-described second smoothing process. When the skew correction is performed, such a process may be automatically performed. However, the operator is notified of the fact (a message is displayed on a display unit provided on the operation panel, etc.), and the skew is corrected. It may be instructed whether or not to correct.
【0100】また、原稿画像の斜行読み取りに関わら
ず、操作パネルから任意の角度に指示して、回転させて
もよい。つまり、読み取り対象の原稿の文字が既に斜め
になっている場合に備えている。Further, regardless of the skew reading of the original image, the original image may be rotated by instructing an arbitrary angle from the operation panel. That is, a case is prepared in which the characters of the document to be read are already skewed.
【0101】2値画像再生成回路では、ビットマップの
画像メモリを1画面分使用するページメモリ使用タイプ
の場合を説明したが、スキャンラインコンバージョン
(バケットソート法)のようにエッジテーブル,アクテ
ィブエッジテーブルを用い数ラインのラインバッファに
より、輪郭画像の稜線エッジの描画を行っても良い。In the binary image regenerating circuit, the case of the page memory use type in which the bit map image memory is used for one screen has been described. However, as in the case of scan line conversion (bucket sort method), the edge table and the active edge table are used. May be used to draw a ridge edge of a contour image using a line buffer of several lines.
【0102】本実施例では、画像出力装置としてプリン
タを用いたが、図1のFIFO500,プリンタ600
の変わりにVideoメモリ,ディスプレイを用いるこ
とで画像をディスプレイ出力が可能である。In this embodiment, a printer is used as an image output device.
By using a video memory and a display instead of, an image can be output to a display.
【0103】また輪郭座標データ列を用いた通信の応用
例として、別途、画像位置を示すデジタイザを持たせ、
このデジタイザで指示された領域内の輪郭座標データ閉
ループに対し、装飾コード(網掛けやなかの色塗りのパ
ターンの変更,色の変更)を付加して送るようにしても
よい。受信側では、装飾コードに応じて網掛けやなかの
色塗りのパターンの変更,色の変更を容易に実行するこ
とが可能になる。As an application example of communication using the outline coordinate data sequence, a digitizer indicating an image position is separately provided.
A decorative code (shading or change of color painting pattern, change of color) may be added to the contour coordinate data closed loop in the area designated by the digitizer and transmitted. On the receiving side, it is possible to easily change the pattern of the hatching or the inside color change and the color change according to the decoration code.
【0104】更に、レポートやヘッダのようにフォント
を一度2値ラスタ画像として展開して送信する変わり
に、アウトラインを用いたフォントデータとして直接送
受信することや従来のアウトラインの展開を2値画像再
生成及び中塗り回路と共通に用いることでアウトライン
フォントの出力が容易にすることも可能である。Further, instead of once developing and transmitting a font as a binary raster image such as a report or a header, the font can be directly transmitted / received as font data using an outline, or the conventional outline development can be regenerated as a binary image. It is also possible to facilitate the output of the outline font by using it in common with the intermediate coating circuit.
【0105】もちろん本実施例では、従来の解像度変換
に用いられる動作はすべて実現可能であり、倍率指定キ
ーによる任意変倍処理や、カセットサイズ検出により長
尺原稿を定型カット紙にいれるための処理は、本実施例
の構成で実現可能である。Of course, in the present embodiment, all the operations used in the conventional resolution conversion can be realized, and arbitrary magnification processing using a magnification specifying key and processing for putting a long original on a standard cut sheet by detecting a cassette size are possible. Can be realized by the configuration of the present embodiment.
【0106】以上説明したように本実施例によれば、ま
た、原稿を斜行して読み取ってしまった場合において
も、その斜行分を逆回転して補正するので、正立した良
好な画像を得ることが可能になる。As described above, according to the present embodiment, even when an original is read while being skewed, the skew is corrected by rotating in the reverse direction, so that an erect and good image is obtained. Can be obtained.
【0107】また、オリジナル画像のビットイメージと
して扱う他に、その輪郭ベクトルを抽出し、その抽出さ
れた輪郭ベクトルに基づいて処理するので、そのエッジ
がギザギザになることはなくなる。Further, in addition to treating as an original image bit image, the contour vector is extracted and processed based on the extracted contour vector, so that the edge does not become jagged.
【0108】また、抽出した輪郭ベクトルに基づくデー
タを相手先に送信し、相手先は受信したデータに基づい
て画像を再生出力するので、通信にかかる時間を短縮で
き、且つ、高精細な画像の伝送が可能になる。Also, since data based on the extracted contour vector is transmitted to the other party, and the other party reproduces and outputs an image based on the received data, the time required for communication can be reduced, and the high-definition image can be reproduced. Transmission becomes possible.
【0109】また、オリジナル画像より抽出した輪郭ベ
クトルを平滑化するので、拡大処理を行っても、そのベ
クトルに対して拡大を行い画像を再現するので、倍率に
関わりなく高品位な画像を得ることが可能になる。Further, since the contour vector extracted from the original image is smoothed, even if the enlargement processing is performed, the vector is enlarged and the image is reproduced, so that a high-quality image can be obtained regardless of the magnification. Becomes possible.
【0110】また、解像度変換が必要な場合のみ、抽出
した輪郭ベクトルの変倍処理を行うようにするので、シ
ステムにかかる負荷を極力小さくでき、変倍処理を行わ
ない普段の処理速度が低下することを防ぐことが可能に
なる。Further, only when the resolution conversion is necessary, the scaling processing of the extracted contour vector is performed, so that the load on the system can be reduced as much as possible, and the normal processing speed without performing the scaling processing decreases. Can be prevented.
【0111】また、読み取った2値画像から輪郭ベクト
ルを抽出するとき、その輪郭ベクトルの格納サイズがメ
モリ容量を越えるか否かを判断し、メモリオーバーにな
ると判断した場合には直ちに輪郭ベクトル抽出処理を中
止し、2値画像による処理に切り換える。これによっ
て、メモリオーバーした場合にも正しく印刷、或いは送
信することが可能になる。When extracting a contour vector from the read binary image, it is determined whether or not the storage size of the contour vector exceeds the memory capacity. If it is determined that the memory is over, the contour vector extraction processing is immediately performed. Is stopped, and the process is switched to the process using the binary image. This makes it possible to print or transmit correctly even when the memory is over.
【0112】また、輪郭ベクトルデータに基づく変倍処
理を行う場合、平滑化処理を行うか否かを外部のスイッ
チによって切り換えるようにする。これによって、オペ
レータの好みに応じて平滑化処理を施したり、処理速度
を重視するかを切り換えることが可能になる。更には、
読み取った或いは受信した画像を変倍して印刷すると
き、平滑化処理を行わせることにより、歪の少ない高品
位の画像を得ることができる。しかも、変倍率を不図示
のスイッチより指示するようにすれば、所望としたサイ
ズの画像を得ることが可能になる。また、拡大処理する
ときにのみ、輪郭ベクトルデータに基づく変倍処理を行
うので、装置にかかる負担を軽減させ、もって等倍や縮
小などの処理を行う場合の処理速度を下がることを防ぐ
ことが可能になる。When performing scaling processing based on contour vector data, whether or not to perform smoothing processing is switched by an external switch. This makes it possible to switch between performing smoothing processing and emphasizing processing speed according to the operator's preference. Furthermore,
When the read or received image is printed at a variable magnification, a high-quality image with little distortion can be obtained by performing the smoothing process. Moreover, if the magnification is designated by a switch (not shown), an image of a desired size can be obtained. Also, since the scaling process based on the contour vector data is performed only when performing the enlargement process, the load on the device is reduced, and it is possible to prevent the processing speed when performing processes such as the same size reduction and the like from being reduced. Will be possible.
【0113】また、抽出された閉ループに対する総点数
に基づいて、その画像が中間調画像か文字・線画画像か
がある程度判別できるので、領域判別に係る装置や回路
を省くことが可能になり、コストダウンを計ることが可
能になる。Further, it is possible to determine to some extent whether the image is a halftone image or a character / line drawing image based on the total score of the extracted closed loop, so that it is possible to omit devices and circuits related to area determination, and to reduce cost. It will be possible to measure down.
【0114】また、輪郭ベクトルに基づく変倍処理は、
文字・線画画像に対してのみ有効であって、中間調画像
に対して行うと良好な結果が得られない。この点、上述
した実施例によれば、文字・線画画像に対してのみ得ら
れた輪郭ベクトルデータに基づく変倍処理を行い、中間
調画像に対する変倍はその画像を形成している画素の補
間や間引き処理で行うことにしたので、良好な画像を得
ることが可能になる。The scaling process based on the contour vector is as follows.
This is effective only for a character / line image, and a good result cannot be obtained when it is applied to a halftone image. In this regard, according to the above-described embodiment, the scaling process is performed based on the outline vector data obtained only for the character / line image, and the scaling for the halftone image is performed by interpolating the pixels forming the image. And a thinning process, it is possible to obtain a good image.
【0115】また、実施例で説明した装置間の通信で
は、その通信されるデータは輪郭座標データで行うこと
ができ、しかも、送信側或いは受信側でそのデータの
x,y方向に対する変倍を独立に行うことができ、かか
る変倍を行っても自身の好みに応じて且つ良好な画像を
得ることが可能になる。In the communication between the devices described in the embodiments, the data to be communicated can be performed using contour coordinate data, and the transmission side or the reception side can change the magnification of the data in the x and y directions. It can be performed independently, and even if such zooming is performed, it is possible to obtain a good image according to the user's preference.
【0116】尚、本発明は、複数の機器から構成される
システムに適用しても、1つの機器から成る装置に適用
しても良い。また、本発明はシステム或は装置にプログ
ラムを供給することによって達成される場合にも適用で
きることは言うまでもない。Note that the present invention may be applied to a system composed of a plurality of devices or an apparatus composed of one device. Needless to say, the present invention can be applied to a case where the present invention is achieved by supplying a program to a system or an apparatus.
【0117】[0117]
【発明の効果】以上説明したように本発明の装置或いは
方法によれば、画像のエッジベクトルを抽出することで
一連の処理を行う場合において、その過程で得られたベ
クトルに基づいて中間調か2値画像かを区別することが
可能になる。As described above, according to the apparatus or method of the present invention, when a series of processing is performed by extracting an edge vector of an image, a halftone is determined based on a vector obtained in the process. It is possible to distinguish between a binary image and a binary image.
【0118】また、更なる本発明の装置及び方法によれ
ば、簡単な構成で2値画像と中間調画像を区別し、且
つ、良好な画像を再現させることが可能になる。Further, according to the apparatus and method of the present invention, it is possible to distinguish between a binary image and a halftone image with a simple configuration and reproduce a good image.
【図1】本実施例のファクシミリ装置のブロック構成図
である。FIG. 1 is a block diagram of a facsimile apparatus of the present embodiment.
【図2A】送信処理の内容を示すフローチャートであ
る。FIG. 2A is a flowchart showing the contents of a transmission process.
【図2B】送信処理の内容を示すフローチャートであ
る。FIG. 2B is a flowchart showing the contents of a transmission process.
【図2C】送信処理の内容を示すフローチャートであ
る。FIG. 2C is a flowchart showing the contents of a transmission process.
【図3A】受信処理の内容を示すフローチャートであ
る。FIG. 3A is a flowchart showing the contents of a reception process.
【図3B】受信処理の内容を示すフローチャートであ
る。FIG. 3B is a flowchart showing the contents of a reception process.
【図4】コピー処理の内容を示すフローチャートであ
る。FIG. 4 is a flowchart showing the contents of a copy process.
【図5】実施例における輪郭抽出回路のブロック構成図
である。FIG. 5 is a block diagram of a contour extraction circuit in the embodiment.
【図6】輪郭抽出回路におけるラスタ画像走査を説明す
るための図である。FIG. 6 is a diagram for explaining raster image scanning in the contour extraction circuit.
【図7】水平方向粗輪郭ベクトルテーブルを説明するた
めの図である。FIG. 7 is a diagram for explaining a horizontal coarse contour vector table.
【図8】垂直方向の粗輪郭ベクトルテーブルを説明する
ための図である。FIG. 8 is a view for explaining a vertical coarse contour vector table.
【図9】輪郭座標データ列のテーブルである。FIG. 9 is a table of a contour coordinate data string.
【図10】実施例における平滑化・座標変換回路のブロ
ック構成図である。FIG. 10 is a block diagram of a smoothing / coordinate conversion circuit according to the embodiment.
【図11】実施例における第1平滑化処理を説明するた
めの図である。FIG. 11 is a diagram for describing a first smoothing process in the embodiment.
【図12】実施例における第1平滑化処理を説明するた
めの図である。FIG. 12 is a diagram for describing a first smoothing process in the embodiment.
【図13】実施例における第1平滑化処理を説明するた
めの図である。FIG. 13 is a diagram for describing a first smoothing process in the embodiment.
【図14】実施例における第1平滑化処理を説明するた
めの図である。FIG. 14 is a diagram for describing a first smoothing process in the embodiment.
【図15】実施例における第1平滑化処理を説明するた
めの図である。FIG. 15 is a diagram for describing a first smoothing process in the embodiment.
【図16】実施例における第1平滑化処理を説明するた
めの図である。FIG. 16 is a diagram for describing a first smoothing process in the embodiment.
【図17】実施例における第1平滑化処理を説明するた
めの図である。FIG. 17 is a diagram for describing a first smoothing process in the embodiment.
【図18】実施例における第1平滑化処理を説明するた
めの図である。FIG. 18 is a diagram for describing a first smoothing process in the embodiment.
【図19】実施例における第2平滑化処理を説明するた
めの図である。FIG. 19 is a diagram for describing a second smoothing process in the embodiment.
【図20】中塗り回路のブロック構成図である。FIG. 20 is a block diagram of an intermediate coating circuit.
【図21】入力画像の例を示す図である。FIG. 21 is a diagram illustrating an example of an input image.
【図22】図21の画像に対する輪郭座標データ列の例
を示す図である。FIG. 22 is a diagram illustrating an example of a contour coordinate data sequence for the image of FIG. 21;
【図23】実施例における粗輪郭ベクトル抽出の処理内
容を説明するための具体的な画像例を示す図である。FIG. 23 is a diagram illustrating a specific image example for describing the processing content of coarse contour vector extraction in the embodiment.
【図24】粗輪郭ベクトルテーブルの構築の過程を説明
するための図である。FIG. 24 is a diagram for explaining a process of constructing a coarse contour vector table.
【図25】原稿斜行の度合いを検出する原理を説明する
ための図である。FIG. 25 is a diagram for explaining the principle of detecting the degree of skew of a document.
100 イメージスキャナ 200 像域分離回路 300 メモリA 400 中塗り回路 500 FIFO 600 プリンタ 700 輪郭抽出回路 800 符号復号化回路 900 平滑化・座標変換回路 1000 2値画像再生成回路 1100 メモリB 1200 CPU 1300 CCU 1400 バスB 1500 バスA 1600 ラスタ画像変倍回路 REFERENCE SIGNS LIST 100 Image scanner 200 Image area separation circuit 300 Memory A 400 Filling circuit 500 FIFO 600 Printer 700 Contour extraction circuit 800 Code decoding circuit 900 Smoothing / coordinate conversion circuit 1000 Binary image regeneration circuit 1100 Memory B 1200 CPU 1300 CCU 1400 Bus B 1500 Bus A 1600 Raster image scaling circuit
Claims (4)
トルデータを抽出する輪郭抽出手段と、 該輪郭抽出手段で抽出された各輪郭閉ループ毎のベクト
ルを表す点を計数する計数手段と、 抽出された輪郭ベクトルデータに基づいて個々の閉ルー
プサイズを検出する検出手段と、 該検出手段で検出されたそれぞれの閉ループのサイズ及
びそれら各閉ループに対応するベクトル点数に基づい
て、それぞれの閉ループで表される画像領域が中間調画
像か文字・線画画像かを判別する判別手段とを備えるこ
とを特徴とする画像処理装置。1. A contour extracting means for extracting contour vector data along an edge of an input image; a counting means for counting points representing vectors for each contour closed loop extracted by the contour extracting means; Detecting means for detecting an individual closed loop size based on the contour vector data obtained, and each closed loop is represented by each closed loop based on the size of each closed loop detected by the detecting means and the number of vector points corresponding to each closed loop. An image processing apparatus comprising: a determination unit configured to determine whether an image area is a halftone image or a character / line image.
トルデータを抽出する輪郭抽出行程と、 抽出された各輪郭閉ループ毎のベクトルを表す点を計数
する計数行程と、 抽出された輪郭ベクトルデータに基づいて個々の閉ルー
プサイズを検出する検出行程と、 該検出行程で検出されたそれぞれの閉ループのサイズ及
びそれら各閉ループに対応するベクトル点数に基づい
て、それぞれの閉ループで表される画像領域が中間調画
像か文字・線画画像かを判別する判別行程とを備えるこ
とを特徴とする画像処理方法。2. A contour extraction step for extracting contour vector data along an edge of an input image, a counting step for counting points representing a vector for each extracted closed contour loop, Based on the size of each closed loop detected in the detection process and the number of vector points corresponding to each of the closed loops, the image area represented by each closed loop is halftoned. A determining step of determining whether the image is a character or a line drawing image.
トルデータを抽出する輪郭抽出手段と、 抽出した輪郭ベクトルデータを平滑化する平滑化手段
と、 該平滑化手段によって平滑化された輪郭ベクトルデータ
に従って出力画像を生成する生成手段とを備える画像処
理装置であって、更には、 前記輪郭抽出手段で抽出された各輪郭閉ループ毎のベク
トルを表す点を計数する計数手段と、 抽出された輪郭ベクトルデータに基づいて個々の閉ルー
プサイズを検出する検出手段と、 該検出手段で検出されたそれぞれの閉ループのサイズ及
びそれら各閉ループに対応するベクトル点数に基づい
て、前記各閉ループ毎の前記平滑化処理手段を付勢する
か否かを制御する制御手段とを備えることを特徴とする
画像処理装置。3. An outline extracting means for extracting outline vector data along an edge of an input image, a smoothing means for smoothing the extracted outline vector data, and an outline vector data smoothed by the smoothing means. Generating means for generating an output image in accordance with the following, further comprising: a counting means for counting points representing a vector for each contour closed loop extracted by the contour extracting means; and an extracted contour vector. Detecting means for detecting the size of each closed loop based on data; and the smoothing processing means for each closed loop based on the size of each closed loop detected by the detecting means and the number of vectors corresponding to each closed loop. Control means for controlling whether or not to energize the image processing apparatus.
トルデータを抽出する輪郭抽出行程と、 抽出した輪郭ベクトルデータを平滑化する平滑化行程
と、 該平滑化行程によって平滑化された輪郭ベクトルデータ
に従って出力画像を生成する生成行程とを備える画像処
理方法であって、更には、 前記輪郭抽出行程で抽出された各輪郭閉ループ毎のベク
トルを表す点を計数する計数行程と、 抽出された輪郭ベクトルデータに基づいて個々の閉ルー
プサイズを検出する検出行程と、 該検出行程で検出されたそれぞれの閉ループのサイズ及
びそれら各閉ループに対応するベクトル点数に基づい
て、前記各閉ループ毎の前記平滑化処理行程を付勢する
か否かを制御する制御行程とを備えることを特徴とする
画像処理方法。4. A contour extraction step for extracting contour vector data along an edge of an input image, a smoothing step for smoothing the extracted contour vector data, and contour vector data smoothed by the smoothing step And a generating step of generating an output image according to the following: a counting step of counting points representing vectors for each contour closed loop extracted in the contour extracting step; and an extracted contour vector. A detection step of detecting an individual closed loop size based on the data; and a smoothing processing step for each of the closed loops based on a size of each closed loop detected in the detection step and a vector score corresponding to each of the closed loops. And a control step of controlling whether to energize the image.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP01634492A JP3147246B2 (en) | 1992-01-31 | 1992-01-31 | Image processing apparatus and method |
| US08/005,991 US5644366A (en) | 1992-01-29 | 1993-01-19 | Image reproduction involving enlargement or reduction of extracted contour vector data for binary regions in images having both binary and halftone regions |
| DE69326031T DE69326031T2 (en) | 1992-01-29 | 1993-01-20 | Method and arrangement for generating a contour vector and for enlarging / reducing the image |
| EP93300399A EP0554985B1 (en) | 1992-01-29 | 1993-01-20 | Method and apparatus for contour vector extraction and image enlargement/reduction |
| CN93100773A CN1093967C (en) | 1992-01-29 | 1993-01-21 | Image processing apparatus and method thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP01634492A JP3147246B2 (en) | 1992-01-31 | 1992-01-31 | Image processing apparatus and method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05211608A JPH05211608A (en) | 1993-08-20 |
| JP3147246B2 true JP3147246B2 (en) | 2001-03-19 |
Family
ID=11913775
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP01634492A Expired - Fee Related JP3147246B2 (en) | 1992-01-29 | 1992-01-31 | Image processing apparatus and method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3147246B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4766030B2 (en) | 2007-10-11 | 2011-09-07 | 富士ゼロックス株式会社 | Image processing apparatus and image processing program |
-
1992
- 1992-01-31 JP JP01634492A patent/JP3147246B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH05211608A (en) | 1993-08-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0554002B1 (en) | Method and apparatus for generating and transmitting vectorised image data | |
| US5644366A (en) | Image reproduction involving enlargement or reduction of extracted contour vector data for binary regions in images having both binary and halftone regions | |
| EP0681266B1 (en) | Image processing apparatus | |
| EP0650287A2 (en) | Image processing method and apparatus | |
| JP2967011B2 (en) | Image processing method and apparatus | |
| JP3147246B2 (en) | Image processing apparatus and method | |
| JP3190085B2 (en) | Image processing apparatus and method | |
| JP3478861B2 (en) | Smoothing enlargement processing method for binary image data | |
| JPH05211607A (en) | Image processing apparatus and method | |
| JPH05314251A (en) | Image communication device | |
| JPH05211603A (en) | Device and method for image communication | |
| JPH05211604A (en) | Device and method for image processing | |
| JPH05211614A (en) | Image processing apparatus and method | |
| JP4035696B2 (en) | Line segment detection apparatus and image processing apparatus | |
| JPH05328144A (en) | Picture communication equipment | |
| JPH05211613A (en) | Image communication device | |
| JPH05211615A (en) | Image processing apparatus and method | |
| JPH05211602A (en) | Image processing apparatus and method | |
| JPH07168938A (en) | Digital copier | |
| JPH05328145A (en) | Picture communication equipment | |
| JPH06208616A (en) | Image processing device | |
| JP3014257B2 (en) | Document reading device | |
| JPH06141169A (en) | Picture communication equipment | |
| JP3673558B2 (en) | Image processing method and apparatus | |
| JPH064658A (en) | Method and device for processing image |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20001201 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090112 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090112 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100112 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110112 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120112 Year of fee payment: 11 |
|
| LAPS | Cancellation because of no payment of annual fees |